/* Clear photographic controls; no text overlays on the photographs. */
.ec-owner-editorial .ec-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:40px}
.ec-hero-media{grid-area:1/2;min-width:0;width:100%}
.ec-owner-editorial .ec-hero-media .ec-hero-stage{position:relative!important;grid-area:auto;width:100%;height:auto!important;aspect-ratio:16/10!important;min-height:0!important;background:#eeeee6;touch-action:pan-y;outline-offset:5px}
.ec-owner-editorial .ec-hero-slide img{transform:none!important;animation:none!important;filter:brightness(1.14) saturate(.97);object-position:center 48%;height:100%!important;aspect-ratio:auto!important}
.ec-owner-editorial .ec-hero-slide{transition:opacity .8s ease}
.ec-owner-editorial .ec-hero-media .ec-hero-bottom{display:block;grid-area:auto;padding:14px 0 0;margin:0;border:0;width:100%;color:var(--ink)}
.ec-owner-editorial .ec-slide-controls{display:block;width:100%}
.ec-owner-editorial .ec-slide-controls[hidden]{display:none}
.ec-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.ec-owner-editorial .ec-gallery-head .ec-slide-caption{font-size:16px!important;line-height:1.65;color:var(--ink)!important;margin:0!important}
.ec-owner-editorial .ec-slide-count{font-size:14px;white-space:nowrap;margin:0;color:#5a685d}
.ec-gallery-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.ec-owner-editorial .ec-gallery-tools button{font:500 14px/1.5 'Zen Kaku Gothic New','Yu Gothic',sans-serif;color:var(--ink);background:#fffefa;border:1px solid #bdc7bc;border-radius:2px;min-height:44px;padding:9px 13px;cursor:pointer}
.ec-owner-editorial .ec-gallery-tools button:hover{background:#e8eee4;border-color:#667d6b}
.ec-owner-editorial .ec-gallery-tools .ec-motion-toggle{margin-left:auto;background:var(--site-pine);border-color:var(--site-pine);color:#fff;min-width:86px}
.ec-owner-editorial .ec-gallery-tools button[disabled]{opacity:.7;cursor:default}
.ec-gallery-thumbnails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ec-owner-editorial .ec-gallery-thumbnails .ec-slide-dot{display:flex;align-items:center;gap:12px;width:100%;height:auto;min-height:65px;padding:5px;border:1px solid #cbd1c6;background:transparent;color:var(--ink);text-align:left;font:500 14px/1.6 'Zen Kaku Gothic New','Yu Gothic',sans-serif;box-sizing:border-box;cursor:pointer}
.ec-owner-editorial .ec-gallery-thumbnails .ec-slide-dot:after{display:none}
.ec-owner-editorial .ec-gallery-thumbnails .ec-slide-dot.is-active{border:2px solid var(--site-pine);background:#e9eee5;padding:4px}
.ec-gallery-thumbnails .ec-slide-dot img{width:78px!important;height:50px!important;aspect-ratio:16/10;object-fit:cover;flex:none;filter:brightness(1.12)}
.ec-owner-editorial .ec-hero-bottom .ec-gallery-note{display:block!important;font-size:12px;color:#687265!important;margin:10px 0 0!important}
.ec-host-guide{padding:46px 0;border-top:1px solid var(--line);max-width:1000px;margin:0 auto}
.ec-host-guide h2{font-size:clamp(27px,2.5vw,35px);line-height:1.65}
.ec-host-guide h3{font-size:23px;margin-top:28px}
.ec-host-guide p,.ec-host-guide li{font-size:18px;line-height:1.9}
.ec-host-guide ul{padding-left:1.3em;margin:18px 0 24px}
.ec-host-guide li{margin:8px 0}
.ec-host-guide a{color:var(--site-pine);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1050px){.ec-owner-editorial .ec-hero{gap:24px}.ec-gallery-thumbnails .ec-slide-dot img{width:62px!important;height:44px!important}}
@media(max-width:780px){
 .ec-owner-editorial .ec-hero{grid-template-columns:minmax(0,1fr);gap:26px;margin-top:96px!important}
 .ec-hero-media{grid-area:1/1}
 .ec-owner-editorial .ec-hero-copy{grid-area:2/1}
 .ec-owner-editorial .ec-hero-media .ec-hero-stage{aspect-ratio:16/9!important}
 .ec-owner-editorial .ec-hero-media .ec-hero-bottom{padding-top:11px}
 .ec-gallery-head{margin-bottom:9px}
 .ec-owner-editorial .ec-gallery-head .ec-slide-caption{font-size:14px!important}
 .ec-gallery-tools{gap:7px;margin-bottom:11px}
 .ec-owner-editorial .ec-gallery-tools button{font-size:13px;padding:8px 10px;min-height:44px}
 .ec-owner-editorial .ec-gallery-tools .ec-motion-toggle{min-width:74px}
 .ec-gallery-thumbnails{gap:9px}
 .ec-owner-editorial .ec-gallery-thumbnails .ec-slide-dot{gap:8px;font-size:12px;min-height:54px}
 .ec-gallery-thumbnails .ec-slide-dot img{width:55px!important;height:40px!important}
 .ec-owner-editorial .ec-hero-bottom .ec-gallery-note{font-size:11px}
 .ec-owner-editorial .ec-hero h1{font-size:clamp(27px,7.6vw,33px);line-height:1.5}
 .ec-owner-editorial .ec-hero .ec-kicker{margin-bottom:12px!important}
 .ec-host-guide{padding:34px 0}
 .ec-host-guide h2{font-size:27px}
 .ec-host-guide h3{font-size:22px}
 .ec-host-guide p,.ec-host-guide li{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.ec-owner-editorial .ec-hero-slide{transition:none}}

/* Mobile density: every client stays visible, with fewer large stacked panels. */
@media(max-width:780px){
 .ec-page{font-size:17px;line-height:1.75}
 .ec-page p,.ec-page li{line-height:1.75;letter-spacing:0}
 .ec-page p{margin-bottom:15px}
 .ec-page .ec-section{padding:30px 0!important}
 .ec-page h2,.ec-page .ec-section-heading h2{font-size:24px!important;line-height:1.5!important;margin-bottom:17px}
 .ec-page h3{font-size:21px;line-height:1.5;margin-bottom:12px}
 .ec-page .ec-section-heading{margin-bottom:22px}
 .ec-page .ec-section-heading>p{font-size:16px}
 .ec-page .ec-kicker{font-size:13px;margin-bottom:11px!important}
 .ec-page .ec-button{min-height:48px;padding:12px 16px;font-size:16px}
 .ec-page .ec-text-link{font-size:15px;min-height:44px;padding:7px 0}
 .ec-owner-editorial .ec-hero{gap:18px}
 .ec-owner-editorial .ec-hero-media .ec-hero-stage{max-height:160px!important}
 .ec-owner-editorial .ec-hero h1{font-size:26px;line-height:1.4;margin-bottom:16px}
 .ec-owner-editorial .ec-hero-lead{font-size:16px;line-height:1.7;margin-bottom:17px!important}
 .ec-owner-editorial .ec-owner-hero-note{font-size:12px}
 .ec-owner-index a{font-size:13px;padding:10px 6px}
 .ec-page .ec-portfolio-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
 .ec-page .ec-portfolio-grid .ec-portfolio-card{grid-column:auto;padding:0 0 17px;border-bottom:1px solid var(--line)}
 .ec-page .ec-portfolio-grid .ec-portfolio-card .ec-portfolio-link{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:13px;align-items:start}
 .ec-page .ec-portfolio-preview{width:100%;height:135px!important;min-height:0!important;aspect-ratio:auto!important;align-self:start;padding:0!important}
 .ec-page .ec-portfolio-desktop{position:absolute;width:88%;left:5%;right:auto;top:13%;bottom:auto;transform:none;box-sizing:border-box}
 .ec-page .ec-browser-bar{height:13px;padding:0 4px;font-size:6px;line-height:1;gap:4px}
 .ec-page .ec-browser-dots{gap:2px}
 .ec-page .ec-browser-dots i{width:3px;height:3px}
 .ec-page .ec-portfolio-desktop img{height:auto!important;aspect-ratio:16/10}
 .ec-page .ec-portfolio-mobile{width:28%;min-width:0;max-width:50px;right:4%;bottom:8%;top:auto;transform:none;border-radius:5px;padding:2px;border-width:2px;box-sizing:border-box}
 .ec-page .ec-portfolio-mobile img{height:auto!important;aspect-ratio:auto!important}
 .ec-page .ec-portfolio-copy{padding:0!important;min-width:0}
 .ec-page .ec-portfolio-copy .ec-portfolio-category{font-size:12px;line-height:1.5;margin:0 0 6px}
 .ec-page .ec-portfolio-title{gap:5px;margin:0 0 8px}
 .ec-page .ec-portfolio-title h3{font-size:18px!important;line-height:1.5;margin:0}
 .ec-page .ec-portfolio-arrow{font-size:18px;width:20px;height:24px;flex:none}
 .ec-page .ec-portfolio-copy .ec-portfolio-description{font-size:15px!important;line-height:1.65!important;margin:8px 0}
 .ec-page .ec-portfolio-site{display:flex;justify-content:flex-start;font-size:13px;line-height:1.5;margin-top:9px;padding:7px 0;min-height:44px;box-sizing:border-box}
 .ec-page .ec-portfolio-site>span:first-child{display:none}
 .ec-page .ec-portfolio-cta{display:block;padding:15px 0;margin-top:15px}
 .ec-page .ec-portfolio-cta p,.ec-page .ec-portfolio-note{font-size:13px;line-height:1.65}
 .ec-page .ec-sns-case{padding-top:25px}
 .ec-page .ec-sns-layout{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:13px;align-items:start}
 .ec-page .ec-sns-layout+.ec-sns-layout{margin-top:22px;padding-top:22px}
 .ec-page .ec-sns-visual{height:150px!important;aspect-ratio:auto!important;min-width:0;padding:25px 8px 8px!important}
 .ec-page .ec-sns-visual-label{font-size:9px;left:8px;right:8px;top:8px}
 .ec-page .ec-sns-visual-label>span:last-child{display:none}
 .ec-page .ec-sns-photo{top:32px;height:105px;width:30%;bottom:auto}
 .ec-page .ec-sns-photo img{height:100%!important;object-fit:contain}
 .ec-page .ec-sns-photo--one{left:4%}.ec-page .ec-sns-photo--two{left:35%}.ec-page .ec-sns-photo--three{left:66%;right:auto}
 .ec-page .ec-sns-visual--samurai{display:block!important}
 .ec-page .ec-samurai-post{height:118px}
 .ec-page .ec-samurai-post-note{display:none}
 .ec-page .ec-sns-copy h3{font-size:19px!important;margin-bottom:7px}
 .ec-page .ec-sns-copy .ec-portfolio-category,.ec-page .ec-sns-handle{font-size:12px;line-height:1.5;margin-bottom:7px}
 .ec-page .ec-sns-copy .ec-sns-description{font-size:15px;line-height:1.65;margin-bottom:8px}
 .ec-page .ec-sns-copy .ec-text-link{font-size:13px;gap:8px;line-height:1.5}
 .ec-page .ec-sns-copy .ec-name-note{font-size:14px}
 .ec-page .ec-owner-service-list{margin-top:20px}
 .ec-page .ec-owner-service-list article{padding:18px 0;gap:8px 10px}
 .ec-page .ec-owner-service-list h3{font-size:20px}
 .ec-page .ec-owner-service-list p{font-size:16px;line-height:1.75}
 .ec-page .ec-owner-service-list figure{height:105px}
 .ec-page .ec-flow li{padding:14px 0!important;margin-bottom:10px!important}
 .ec-page .ec-flow li>span{font-size:19px;margin-bottom:9px}
 .ec-page .ec-flow h3{font-size:20px;margin-bottom:10px}
 .ec-page .ec-flow p,.ec-page .ec-owner-contact-inner>div>p,.ec-page .ec-owner-other-grid p{font-size:16px;line-height:1.75}
 .ec-page .ec-owner-other-grid figure{height:145px!important;aspect-ratio:auto!important;margin-bottom:16px}
 .ec-page .ec-owner-other-grid article+article{margin-top:23px;padding-top:23px}
 .ec-page .ec-owner-event-teaser{margin-top:15px}
 .ec-page .ec-owner-event-teaser a{padding:10px 0}
 .ec-page .ec-profile>div{padding:12px 0;font-size:16px}
 .ec-page .ec-profile dt{font-size:14px}
 .ec-page .ec-lp-hero{padding:25px 0}
 .ec-page .ec-lp-hero h1{font-size:26px;line-height:1.5}
 .ec-page .ec-lp-hero-sub,.ec-page .ec-lp-services article p,.ec-page .ec-detail-card p,.ec-page .ec-detail-section__body p{font-size:17px;line-height:1.75}
 .ec-page .ec-lp-hero-inner img{max-height:155px;aspect-ratio:16/9}
 .ec-page .ec-lp .ec-lp-section,.ec-page .ec-detail-section{padding:30px 0!important}
 .ec-page .ec-lp-services article{padding:20px 0!important}
 .ec-page .ec-lp-services article h3{font-size:22px}
 .ec-page .ec-lp-faq details{padding:17px 0}
 .ec-page .ec-lp-faq summary{font-size:17px;min-height:44px}
 .ec-page .ec-lp-faq p,.ec-host-guide p,.ec-host-guide li{font-size:17px;line-height:1.75}
 .ec-host-guide{padding:28px 0}
 .ec-page .ec-inquiry-form{padding:19px 15px}
 .ec-page .ec-inquiry-form h2{font-size:23px}
 .ec-page .ec-owner-form-intro{font-size:15px;line-height:1.7}
 .ec-page .ec-owner-inquiry-guide li{padding:10px 0;font-size:16px}
 .ec-page .ec-privacy-contact{font-size:14px;line-height:1.7}
}
