
/* PLAIN HORSE — typographic and interaction polish / private preview */
:root{--ph-gutter:clamp(22px,4.2vw,80px);--ph-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:96px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:clip;font-kerning:normal}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
a[href],button{touch-action:manipulation}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--rust);outline-offset:5px}
:where(button:disabled){cursor:wait;opacity:.68}
::selection{background:var(--rust);color:#fff}
.preview-stripe{min-height:26px;height:auto;padding-block:6px;gap:14px;line-height:1.3}
.site-header{gap:16px}
.nav-main a,.header-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;transition:opacity .18s ease,color .18s ease,border-color .18s ease}
.nav-main a:hover,.header-action:hover{opacity:.72}
.header-action{gap:0}
.hero-main h1,.page-hero h1,.detail-hero h1,.section-head h2,.contact-side h2{text-wrap:balance}
.hero-main h1{line-height:.82;letter-spacing:-.085em}
.hero-description{line-height:1.5}
.hero-main p,.page-hero p,.section-aside,.intro-copy p,.work-note p,.contact-side p{max-width:65ch;line-height:1.6}
.hero-scroll{align-items:center}
.circle-play{width:auto;min-width:105px;height:56px;border-radius:2px;padding:0 18px;display:inline-flex;justify-content:center;align-items:center;gap:0;transition:background .2s ease,color .2s ease,transform .2s var(--ph-ease)}
.circle-play:focus-visible,.circle-play:hover{background:var(--stone);color:var(--black);transform:translateY(-2px)}
.circle-play-label{font:800 11px/1.2 'Archivo',Arial,sans-serif;letter-spacing:.13em;white-space:nowrap}
.section-head{gap:clamp(24px,4vw,62px)}
.section-head h2{line-height:.84}
.card-media img,.work-card img{transition:transform .38s var(--ph-ease),filter .35s ease}
a:where(:hover,:focus-visible) .card-media img{transform:scale(1.018);filter:contrast(1.04) saturate(.95)}
.service-row{transition:background-color .2s ease}
.service-row:hover h3{color:var(--rust)}
.form-submit button,#copy-inquiry{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:background .2s ease,color .2s ease,transform .2s var(--ph-ease)}
.form-submit button:hover:not(:disabled),#copy-inquiry:hover:not(:disabled){transform:translateY(-2px)}
.form-submit button:active:not(:disabled),#copy-inquiry:active:not(:disabled){transform:translateY(0)}
.inquiry-form :is(input,select,textarea){min-height:46px;line-height:1.45}
.inquiry-form textarea{min-height:125px}
.inquiry-form label{line-height:1.45}
.inquiry-form :is(input,select,textarea):focus-visible{outline:2px solid var(--rust);outline-offset:3px}
.inquiry-form :is(input,select,textarea)[aria-invalid="true"]{border-color:#a52e19}
.form-result{scroll-margin-top:80px}
.form-result p{line-height:1.55}
.form-result[data-state="error"]{border-color:#a52e19}
.form-submit small{line-height:1.5}
.modal-close{min-width:85px;min-height:44px}
.video-modal[aria-hidden="true"]{pointer-events:none}
.video-status{margin:10px 0 0;color:var(--stone);font:700 11px/1.5 'DM Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase}
.video-status[data-state="error"]{color:#ffc3ac}
.video-status:empty{display:none}
.video-status[data-state="loading"]::before{content:"";display:inline-block;width:11px;height:11px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-right:12px;vertical-align:-1px;animation:ph-spin .7s linear infinite}
@keyframes ph-spin{to{transform:rotate(360deg)}}
/* All content stays readable without scroll-triggered reveal choreography. */
.reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
@media(max-width:900px){
 .section-head{align-items:flex-start;gap:30px}
 .page-hero h1,.detail-hero h1{line-height:.88;letter-spacing:-.072em}
 .hero-main h1{letter-spacing:-.075em}
}
@media(max-width:760px){
 html{scroll-padding-top:78px}
 .preview-stripe{font-size:9px;justify-content:flex-start}
 .preview-stripe span:last-child{display:none}
 .site-header{padding-inline:22px}
 .header-brand{min-width:0}
 .hero-main{left:22px;right:22px;bottom:clamp(135px,19vh,205px)}
 .hero-main h1{font-size:clamp(64px,14.9vw,112px);line-height:.89;letter-spacing:-.07em;margin-left:-4px;margin-bottom:28px}
 .hero-description{gap:22px}
 .hero-description p{font-size:clamp(14px,3.65vw,17px);max-width:36ch;line-height:1.5}
 .circle-play{min-width:100px;height:50px}
 .section-head h2,.page-hero h1{line-height:.9}
 .section-head{margin-bottom:clamp(30px,5vw,58px)}
 .contact-layout{grid-template-columns:1fr;gap:40px;padding:70px 22px 90px}
 .inquiry-form{padding-top:0}
 .inquiry-form label{margin-bottom:26px}
 .contact-side h2{margin:28px 0}
 .contact-label{margin-top:38px}
 .modal-close{min-height:48px}
}
@media(max-width:430px){
 .site-header{padding-inline:18px}
 .hero-main{left:19px;right:19px}
 .hero-main h1{font-size:clamp(61px,15.1vw,76px);letter-spacing:-.08em}
 .hero-description{align-items:flex-start;gap:20px}
 .hero-description p{font-size:14px}
 .circle-play{min-width:92px;padding-inline:13px}
 .section-head h2{font-size:clamp(48px,13vw,76px)}
 .page-hero h1,.detail-hero h1{font-size:clamp(55px,13.7vw,88px)}
 .footer{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media(max-width:760px){.studio-statement h2 em{font-size:.76em;letter-spacing:-.06em}}
