/* Browser feedback: film opening, unified dropdowns and guided project request. */
[hidden]{display:none!important}
.utility{position:relative;z-index:21;background:transparent;border-bottom:1px solid #28332216}
header{background:transparent;backdrop-filter:none;border-bottom:1px solid #28332216;gap:20px;transition:background .25s,box-shadow .25s}
header.is-scrolled,header.nav-open,header:has(.nav-toggle[aria-expanded=true]){background:rgba(247,245,239,.95);backdrop-filter:blur(18px);box-shadow:0 6px 24px #1c25120a}
header .brand{width:190px}nav{gap:22px}.nav-item{position:relative}.nav-toggle{display:flex;gap:7px;align-items:center;justify-content:space-between;background:none;padding:20px 0;font-size:11px;font-weight:600;white-space:nowrap}.nav-toggle>span{font-size:15px;transition:transform .2s}.nav-toggle[aria-expanded=true]>span{transform:rotate(180deg)}.nav-toggle.button-dark{background:var(--ink);padding:13px 18px;min-height:48px;font-size:11px;color:white;gap:25px}.header-actions{display:flex;align-items:center;gap:16px}.social-icons{display:flex;align-items:center;gap:2px}.social-icons a{display:grid;place-items:center;width:34px;height:40px;border-radius:50%}.social-icons svg{width:18px;height:18px}.social-icons a:hover{background:#fff9}.nav-dropdown{position:absolute;top:calc(100% + 14px);left:-24px;min-width:285px;padding:26px;background:#fcfbf7;box-shadow:0 18px 45px #1521181c;border:1px solid #d9d9cf;border-radius:3px;color:var(--ink);display:flex;flex-direction:column;gap:7px;animation:dropdown-in .2s ease-out}.nav-dropdown .eyebrow{font-size:8px;margin-bottom:12px;color:var(--orange)}.nav-dropdown>a,.dropdown-links>a{display:block;font-size:12px;line-height:1.5;padding:10px 8px;border-radius:3px}.nav-dropdown>a:hover,.dropdown-links>a:hover{background:#eeeee3;color:var(--orange)}.nav-dropdown small{display:block;font-size:10px;line-height:1.5;color:var(--muted);font-weight:400;margin-top:4px}.wide-dropdown{position:fixed;top:125px;left:var(--gutter);right:var(--gutter);display:grid;grid-template-columns:.8fr 1.2fr .85fr;gap:35px;padding:34px;min-width:0}.is-scrolled .wide-dropdown{top:93px}.dropdown-intro{border-right:1px solid var(--line);padding-right:30px}.dropdown-intro h3{font-size:37px;line-height:1.08}.dropdown-intro>a{font-size:11px;border-bottom:1px solid var(--line);padding-bottom:6px}.dropdown-links{display:grid;gap:4px}.nav-dropdown .dropdown-image{display:block;position:relative;padding:0;max-height:258px;overflow:hidden}.dropdown-image img{width:100%;height:100%;object-fit:cover;object-position:center 37%}.dropdown-image span{position:absolute;bottom:0;left:0;width:100%;padding:25px 14px 14px;color:white;background:linear-gradient(transparent,#19231de0);font-size:11px}.area-dropdown{left:auto;right:-70px}.contact-dropdown{left:auto;right:0}.contact-nav .nav-dropdown{top:calc(100% + 22px)}
@keyframes dropdown-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.hero{display:grid;grid-template-columns:1.2fr 1fr;margin-top:-126px;padding-top:215px;min-height:800px;min-height:max(800px,95svh);gap:35px;isolation:isolate}
.hero-film{position:absolute;inset:0;z-index:-2;background:#dbd8ca;overflow:hidden}.hero-film video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.hero-film:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,245,239,.97) 0%,rgba(247,245,239,.9) 25%,rgba(247,245,239,.55) 47%,rgba(247,245,239,.02) 72%),linear-gradient(180deg,rgba(247,245,239,.8),transparent 25%,transparent 80%,rgba(247,245,239,.75));pointer-events:none}.hero-copy{padding-top:20px}.hero h1{font-size:clamp(58px,6.5vw,100px)}.hero .lead{color:#424b40;max-width:395px}.hero-trust{font-size:8px}.hero-proof{align-self:end;justify-self:end;margin-bottom:15px;max-width:310px}.hero-proof>a{display:flex;align-items:center;gap:16px;background:#f7f5efd9;backdrop-filter:blur(12px);padding:10px;box-shadow:0 12px 25px #272f2020}.hero-proof img{width:90px;height:76px;object-fit:cover}.hero-proof span{font:7px/1.5 'DM Mono';letter-spacing:.07em;padding-right:7px}.hero-proof b{display:block;font:600 12px/1.4 Manrope;letter-spacing:0;margin-top:8px}.hero-foot{align-self:end;position:relative;z-index:1;border-top:1px solid #5c645c30;padding:22px 0;gap:25px}.film-controls{display:flex;align-items:center;gap:18px}.film-controls>span{font:7px 'DM Mono';letter-spacing:.08em}.film-controls button{padding:10px 14px;background:#f7f5efcc;border:1px solid #67715b50;border-radius:25px;font:9px Manrope;min-height:36px;white-space:nowrap}.hero-foot>span{font-size:8px}
.photo-grid{grid-template-columns:repeat(3,1fr);gap:35px 23px}.gallery-item .image-wrap{aspect-ratio:4/4.3}.gallery-item p{font-size:12px;margin-top:14px}.gallery-item .expand-icon{width:36px;height:36px;font-size:20px}.gallery-header{padding-top:25px}.gallery-status{margin-bottom:25px}
.request{grid-template-columns:.82fr 1.18fr;gap:6vw;padding-top:100px;padding-bottom:100px;align-items:start;background:radial-gradient(ellipse at 5% 60%,#faedda,transparent 60%),#eed8c0}.request-copy{position:sticky;top:135px}.request-copy h2{font-size:clamp(52px,5.7vw,83px)}.request-copy>p:not(.eyebrow){max-width:330px;color:#655344}.request-steps{margin:32px 0 40px;display:grid;gap:20px}.request-steps>div{display:flex;gap:15px;align-items:flex-start}.request-steps>div>span{width:30px;height:30px;border:1px solid #be9976;display:grid;place-items:center;border-radius:50%;font:10px 'DM Mono';flex-shrink:0}.request-steps p{font-size:11px;margin:0;line-height:1.6;color:#706454}.request-steps b{display:block;font-weight:600;font-size:13px;color:var(--ink);margin-bottom:3px}.request .phone{font-size:28px;margin-bottom:15px}.request #project-form{display:flex;flex-direction:column;gap:0;background:#fdfcf8;padding:36px;border:1px solid #e2cdb7;box-shadow:0 18px 65px #523c2110;border-radius:8px;margin:0;min-width:0}.form-card-heading{margin-bottom:25px}.form-card-heading .eyebrow{font-size:8px;color:var(--orange)}.form-card-heading h3{font-size:29px;margin:8px 0}.form-card-heading p{font-size:12px;color:var(--muted);margin:0}.request fieldset{padding:22px 0 25px;margin:0;border:0;border-top:1px solid #e7e7dd;min-width:0}.request legend{float:left;width:100%;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;padding:0;margin:0 0 22px}.request legend>span{font:9px 'DM Mono';background:#edeee3;border-radius:50%;width:25px;height:25px;display:grid;place-items:center}.request legend small{font-size:10px;color:var(--muted);margin-left:auto;font-weight:400}.field-grid{clear:both;display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.request label{font:600 11px Manrope;display:block;min-width:0}.request label small{font-size:9px;font-weight:400;color:var(--muted);margin-left:4px}.request input,.request select,.request textarea{background:#f5f5ef;border:1px solid #dddfd4;border-radius:4px;padding:12px;margin-top:9px;font:12px Manrope;min-height:45px;width:100%;color:var(--ink)}.request select{appearance:auto;padding-right:25px;white-space:normal}.request textarea{min-height:84px}.request input:focus,.request select:focus,.request textarea:focus{outline:2px solid #bc8c61;outline-offset:1px;background:#fff}.request .wide{grid-column:1/-1}.upload-help{clear:both;font-size:10px;line-height:1.65;color:var(--muted);margin:0 0 16px}.upload-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.upload-slot{position:relative;min-width:0}.request .upload-label{position:relative;min-height:134px;border:1px dashed #bfc5b2;background:#f6f6ed;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;text-align:center;overflow:hidden;gap:7px;transition:background .2s}.request .upload-label:hover{background:#eeefdf;border-color:var(--orange)}.upload-label:focus-within{outline:2px solid var(--orange);outline-offset:3px}.request .upload-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0}.upload-plus{font-size:29px;font-weight:400;color:#778068}.upload-label b{font-size:10px}.upload-subtitle{font-size:8px;font-weight:400;color:var(--muted);padding:0 4px}.upload-preview{border:1px solid #dce0d0;border-radius:5px;overflow:hidden;position:relative;min-height:134px;background:#eff0e7}.upload-preview img{width:100%;height:95px;object-fit:cover}.upload-preview .upload-filename{font-size:8px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px}.upload-preview button{display:block;width:100%;font-size:10px;min-height:33px;background:#e9ebdf}.upload-note{font-size:9px;color:var(--muted);margin:13px 0 0}#upload-error{font-size:11px;line-height:1.5;color:#a22f16;margin:10px 0 0}#upload-error:empty{display:none}.request label.consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:11px;line-height:1.5;margin:5px 0 22px}.request .consent input{appearance:auto;min-height:0;width:17px;height:17px;margin:0;flex-shrink:0;accent-color:var(--ink)}.request form>.button{justify-self:stretch;justify-content:space-between;width:100%;border-radius:4px;min-height:54px;font-size:12px}.request .form-note{font-size:9px;margin-top:14px;color:#656b62}.request .form-status{font-size:12px;line-height:1.5;margin-top:14px;color:#71451f}.request-review{width:min(580px,94vw);max-height:90dvh;overflow:auto;padding:35px;border:1px solid #deded0;background:#fcfbf7;border-radius:9px;box-shadow:0 20px 70px #0003}.request-review::backdrop{background:#222e24bb;backdrop-filter:blur(7px)}.request-review h2{font-size:33px}.request-review .eyebrow{font-size:9px;color:var(--orange);margin-bottom:12px}.review-close{position:absolute;top:10px;right:14px;font-size:28px;background:none;min-width:40px;min-height:40px}#review-details{margin:25px 0;display:grid;grid-template-columns:110px 1fr;font-size:12px;gap:12px}#review-details dt{color:var(--muted)}#review-details dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}#review-photos{display:flex;gap:10px}#review-photos img{width:85px;height:85px;object-fit:cover;border-radius:3px}#review-photos span{font-size:10px}#review-status{font-size:12px;line-height:1.6;background:#eeeee3;padding:14px;margin:20px 0}#review-status:empty{display:none}.review-actions{display:flex;gap:12px;justify-content:space-between}.review-actions .button{font-size:11px;border-radius:4px}.button-outline{border:1px solid #9bA08d;background:none}.review-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none}
@media(max-width:1100px){header .brand{width:170px}nav{gap:14px}.nav-toggle{font-size:10px}.header-actions{gap:8px}.social-icons a{width:30px}.nav-toggle.button-dark{padding:13px 14px;font-size:10px;gap:12px}.hero{grid-template-columns:1.25fr 1fr}.hero h1{font-size:clamp(56px,6.7vw,78px)}.request{gap:4vw}.request #project-form{padding:26px}.request .phone{font-size:25px}.upload-subtitle{font-size:7px}.contact-dropdown{right:0}}
@media(max-width:900px){nav{gap:10px}header .brand{width:155px}.header-actions{gap:5px}.social-icons a{width:26px}.hero{min-height:790px}.hero-proof{max-width:270px}.request{grid-template-columns:1fr}.request-copy{position:static}.request-copy h2 br{display:none}.request-copy>p:not(.eyebrow){max-width:500px}.request-steps{grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.request-steps>div{flex-direction:column}.request #project-form{max-width:760px;width:100%;padding:35px}.request .phone{font-size:27px}.upload-label b{font-size:11px}.upload-subtitle{font-size:9px}}
@media(max-width:800px){header{gap:8px}header .brand{width:175px}.header-actions{margin-left:auto;gap:3px}.header-actions .contact-nav{display:none}.menu-toggle{order:3;flex-shrink:0}.social-icons a{width:33px;height:40px}.social-icons svg{width:17px;height:17px}.nav-open nav{gap:0;padding:15px var(--gutter);background:#f7f5effa}.nav-item{width:100%}.nav-toggle{font-size:15px;min-height:55px;padding:12px 0;width:100%;border-bottom:1px solid var(--line)}.nav-dropdown,.wide-dropdown,.is-scrolled .wide-dropdown{position:static;display:flex;flex-direction:column;gap:4px;min-width:0;max-width:100%;margin:0;padding:15px 12px;background:#eeeFe5;border:0;box-shadow:none}.dropdown-intro,.nav-dropdown .dropdown-image{display:none}.nav-dropdown>a,.dropdown-links>a{padding:10px 5px;font-size:12px}.nav-dropdown .eyebrow{margin-bottom:3px;font-size:8px}.hero{margin-top:-105px;padding-top:159px;grid-template-columns:1fr;display:grid;gap:25px;min-height:920px;min-height:max(850px,100svh)}.hero-copy{padding-top:5px}.hero h1{font-size:64px}.hero .lead{max-width:370px}.hero-film video{object-position:62% center}.hero-film:after{background:linear-gradient(180deg,rgba(247,245,239,.95),rgba(247,245,239,.88) 40%,rgba(247,245,239,.2) 70%,rgba(247,245,239,.74)),linear-gradient(90deg,rgba(247,245,239,.25),transparent)}.hero-proof{justify-self:end;align-self:end;margin:25px 0 0;max-width:285px}.hero-foot{padding:17px 0;display:flex;flex-wrap:wrap;gap:12px}.film-controls{gap:10px;margin-left:auto}.hero-foot>span{font-size:7px}.film-controls>span{font-size:6px}.film-controls button{font-size:8px;padding:9px 11px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:26px 14px}.gallery-item p{font-size:11px}.request{padding-top:65px;padding-bottom:65px}.request .request-copy h2{font-size:50px}.request #project-form{padding:27px}.form-card-heading h3{font-size:27px}.field-grid{gap:20px 14px}.request-steps{grid-template-columns:1fr;gap:17px}.request-steps>div{flex-direction:row}}
@media(max-width:480px){header .brand{width:161px}.social-icons a{width:28px}.menu-toggle{width:36px;padding:6px}.hero h1{font-size:57px}.hero{padding-top:157px;min-height:850px}.hero-actions{gap:19px}.hero .lead{max-width:330px}.hero-proof img{width:70px;height:67px}.hero-proof span{font-size:6px}.hero-proof b{font-size:11px}.hero-proof{max-width:270px}.hero-foot{justify-content:space-between}.film-controls{margin-left:0}.hero-foot>span{font-size:6px;letter-spacing:.04em}.film-controls>span{display:none}.request #project-form{padding:24px 18px}.field-grid{grid-template-columns:1fr}.request legend{font-size:12px}.request .request-copy h2{font-size:48px}.upload-slots{gap:7px}.request .upload-label{min-height:115px}.upload-label b{font-size:9px}.upload-subtitle{font-size:7px}.upload-plus{font-size:25px}.request-review{padding:30px 20px}.request-review h2{font-size:29px}#review-details{grid-template-columns:86px 1fr;font-size:11px}.review-actions .button{padding:13px 15px;font-size:10px}.gallery-item .image-wrap{aspect-ratio:4/5}}
@media(prefers-reduced-motion:reduce){.nav-dropdown{animation:none}.hero-film video{opacity:0}.hero-film{background:url('assets/guardian-lighting-poster.webp') center/cover}.hero-film.playing video{opacity:1}}
