/* Final refinements within the established cream, sage and terracotta design. */
:root{--section-gap:clamp(44px,5vw,76px)}
html{scroll-padding-top:28px}body{overflow-wrap:break-word}main,section,form,.form-row>label{min-width:0}
.header{padding-block:17px;max-width:1400px}.header nav a{position:relative;padding-block:8px}.header nav a:after{content:"";position:absolute;bottom:3px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.header nav a:hover:after,.header nav a:focus-visible:after{transform:scaleX(1)}
.button{border-radius:9px;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{box-shadow:0 6px 18px #96513622}.button:active{transform:translateY(0)}
.hero{min-height:0!important;height:auto!important;padding-top:20px;padding-bottom:35px;gap:28px;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);padding-right:4%;max-width:1440px}.hero-copy{padding:20px 0}.hero h1{font-size:clamp(48px,4.6vw,68px);line-height:1.04;letter-spacing:-2.5px}.hero h1 em{white-space:normal}.hero-copy p{font-size:17px;line-height:1.7}.scene-wrap{margin:0;height:auto!important;min-height:0!important;align-self:center}.scene-wrap #scene.cinema-scene{box-shadow:0 16px 48px #243e3510;border:1px solid #e6e0d4}.scene-wrap .scene-controls button{min-height:34px;padding:6px 12px}.scene-hint #rotate{min-width:30px;min-height:30px}.scene-wrap .scene-hint{min-height:38px;padding-inline:2px;font-size:11px}.scene-hint #rotate{margin-right:105px}.scene-wrap .scene-controls{padding-inline:0;margin-top:-50px;margin-bottom:2px}.scene-hint #scene-caption{white-space:normal;max-width:65%;line-height:1.4}
.film-story{padding-top:32px;padding-bottom:48px;gap:clamp(32px,5vw,72px)}.transformation{padding-bottom:48px}.service-grid article{transition:transform .2s}.service-grid article:hover{transform:translateY(-4px)}.service-art{box-shadow:0 7px 22px #243e350a}.service-grid article>a{border-radius:12px}.service-grid p{font-size:14px;line-height:1.65}.service-title h3{font-size:24px}.service-grid{gap:28px}
.practical-faq{padding-top:var(--section-gap);padding-bottom:36px;gap:clamp(32px,6vw,80px)}.practical-faq summary{padding:22px 35px 22px 0;font-size:16px;line-height:1.5}.practical-faq summary:after{top:17px}.practical-faq details p{font-size:14px;max-width:55ch}.practical-faq details[open]{border-bottom-color:#b5c1ad}
.direct-contact{max-width:1280px;padding-top:32px;padding-bottom:44px;grid-template-columns:.9fr 1.2fr;gap:clamp(32px,6vw,80px)}.direct-contact h2{font-size:34px;line-height:1.2;max-width:18ch}.direct-links{gap:0}.direct-links a{padding:15px 0;border-bottom:1px solid var(--line);transition:color .2s}.direct-links a:last-child{border-bottom:0}.direct-links small{font-size:12px;margin-bottom:5px}.direct-links strong{font-size:clamp(16px,1.55vw,20px);font-weight:500;line-height:1.5;display:block;overflow-wrap:anywhere}
.contact{max-width:1280px;width:calc(100% - 64px);margin:0 auto 40px;padding:44px;gap:48px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);background-color:#d7ddca;background-image:url('assets/contact.webp');background-size:auto 390px;background-position:left bottom;background-repeat:no-repeat;border-radius:20px;isolation:isolate;min-height:760px;align-items:start}.contact-copy{background:none;border-radius:0;padding:5px 0 340px;align-self:start}.contact h2{font:700 clamp(36px,3.9vw,52px)/1.06 var(--serif);letter-spacing:-1.8px;max-width:15ch}.contact-copy>p{font-size:16px;line-height:1.65;max-width:29ch;margin:24px 0 0}.contact form{width:100%;min-width:0;padding:28px;border:1px solid #ffffffb3;border-radius:15px;background:#fffdf8;box-shadow:0 12px 35px #26392b08;align-self:start}.contact form fieldset{margin-bottom:22px}.contact legend{font-size:14px;line-height:1.4;margin-bottom:12px}.contact .checks{gap:8px}.contact .checks label{min-height:44px;font-size:13px;padding:10px;transition:background .15s,border-color .15s;border-radius:6px;line-height:1.3}.contact .checks input{width:16px;height:16px;flex-shrink:0}.contact .form-row{gap:12px}.contact .form-row>label,.contact form>label{font-size:12px;font-weight:500;margin-bottom:16px;line-height:1.5}.contact input:not([type=checkbox]),.contact textarea,.contact select{font-size:15px;min-height:46px;border-radius:6px;padding:11px 12px;margin-top:5px;background:#fcfaf5;transition:border-color .15s,background .15s}.contact input:hover,.contact textarea:hover,.contact select:hover{border-color:#a9b4a4}.contact input:focus,.contact textarea:focus,.contact select:focus{background:#fffefb}.contact textarea{min-height:112px;max-height:300px}.contact .button{font-size:14px;min-height:49px;padding:12px 17px}.contact .date-note{font-size:11px;line-height:1.6;margin:-3px 0 16px}.contact .privacy-note{font-size:11px;line-height:1.65;text-align:left}.send-setup-note{display:none}.review-note{font-size:11px}.project-details{border-radius:8px;margin-bottom:18px}.project-details summary{font-size:13px;line-height:1.5}.project-details summary:after{top:11px}.request-tools button{font-size:13px}#send-status{line-height:1.65;font-size:13px}#result h3{font-size:28px}.request-summary>div:last-child{border-bottom:0}
footer{padding-top:26px;padding-bottom:32px;gap:20px 32px}.legal-document{font-size:16px}.legal-document h1{margin-bottom:28px}.legal-document h2{font-size:26px}.legal-header{padding-block:24px}
@media(min-width:761px) and (max-width:1000px){.header{gap:18px}.header nav{gap:18px}.header .company-logo{width:190px}.header .small{font-size:12px;padding-inline:14px}.hero{gap:22px}.hero h1{font-size:49px;letter-spacing:-2px}.contact{width:calc(100% - 40px);padding:30px;gap:28px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);background-size:auto 330px}.contact h2{font-size:38px}.contact form{padding:22px}.contact-copy>p{font-size:14px}.direct-links strong{font-size:17px}}
@media(max-width:760px){.header{padding:12px 6%}.header nav a:after{display:none}.hero{display:flex;gap:0;padding:0;margin:0}.hero-copy{padding:25px 7% 10px}.hero h1{font-size:clamp(43px,10.5vw,64px);letter-spacing:-1.7px;max-width:13ch}.hero-copy p{font-size:15px;max-width:34ch;line-height:1.65}.hero .button{font-size:14px}.scene-wrap{width:100%;padding:0 6%;margin:18px 0 20px}.scene-wrap .scene-hint{font-size:10px;padding-right:4px}.scene-wrap .scene-controls{margin-top:-50px}.scene-wrap .scene-controls button{font-size:10px;min-height:34px}.scene-hint #scene-caption{max-width:59%}.film-story{padding:15px 7% 30px}.film-story h2{font-size:32px}.service-grid p{font-size:12px}.service-title h3{font-size:21px}.service-grid{gap:30px 18px}.transformation{padding-top:18px;padding-bottom:36px}.practical-faq{padding:36px 7% 16px}.practical-faq summary{font-size:14px;padding-block:19px}.practical-faq summary:after{top:14px}.direct-contact{padding:24px 7% 34px;display:block}.direct-contact h2{font-size:30px}.direct-links{margin-top:20px}.direct-links a{padding:13px 0}.direct-links strong{font-size:17px}.contact{display:block;width:calc(100% - 28px);padding:28px 18px 225px;margin-bottom:24px;min-height:0;background-size:auto 245px;border-radius:16px}.contact-copy{padding:0 5px 25px}.contact h2{font-size:37px;max-width:13ch;line-height:1.06}.contact-copy>p{font-size:14px;max-width:33ch;margin-top:18px}.contact form{padding:21px 16px;border-radius:12px}.contact .form-row{grid-template-columns:1fr;gap:0}.contact .form-row>label,.contact form>label{font-size:13px;margin-bottom:15px}.contact input:not([type=checkbox]),.contact textarea,.contact select{font-size:16px}.contact .checks label{font-size:12px;min-height:45px;padding:9px 7px}.contact legend{font-size:14px}.contact .button{font-size:14px}.contact .privacy-note{font-size:10px}.contact .date-note{font-size:10px}.contact textarea{min-height:120px}#summary-heading{font-size:25px}.legal-document{padding-inline:7%}.legal-header{padding-inline:7%;gap:15px}.legal-header img{max-width:160px}.legal-header>a:last-child{font-size:12px}.mobile-contact-bar{font-size:12px}.mobile-contact-bar a{padding-inline:7px}}
@media(max-width:359px){.contact .checks{grid-template-columns:1fr}.hero h1{font-size:41px}.company-logo{max-width:145px}.service-title h3{font-size:19px}.mobile-contact-bar{grid-template-columns:.7fr 1.3fr;font-size:11px}}
@media(prefers-reduced-motion:reduce){.service-grid article,.button,.header nav a:after{transition:none;transform:none!important}}

/* Darker action surfaces keep small white button labels readable. */
.button,.mobile-contact-bar .mobile-inquiry{background:#ae5b3f}.button:hover,.mobile-contact-bar .mobile-inquiry:hover{background:#944a32}
