/* Photo-led extension: retains the existing calculator and brand palette. */
.menu-toggle{display:none}
.step-error{color:#a11d1d;font-size:14px;margin:14px 0 0}
.step:disabled{cursor:default}
button:focus-visible,summary:focus-visible{outline:3px solid #9c8500;outline-offset:4px}
.upload{position:relative;cursor:pointer;overflow-wrap:anywhere}
.upload input{position:static;opacity:1;pointer-events:auto;grid-column:1/-1;width:100%;min-width:0;font-size:14px}
.upload b{display:none}
.upload:focus-within{outline:3px solid #9c8500;outline-offset:3px}
.consent input{flex:0 0 22px;width:22px;height:22px}
.consent span{font-size:14px;line-height:1.55;color:#48525c}
.mobile-nav{padding:12px 20px 20px;background:#f5f4ef;border-bottom:1px solid #d8d9d4;flex-direction:column;gap:0}
.mobile-nav a{padding:14px 4px;border-bottom:1px solid #e2e1da}
@media(min-width:901px){#mobile-nav{display:none!important}}
@media(max-width:900px){
 .menu-toggle{display:block;margin-left:auto;min-height:44px;padding:8px 12px;border:1px solid #c7c8c3;border-radius:8px;background:transparent;color:#11151d;font-size:14px}
 .mobile-nav:not([hidden]){display:flex}
 .site-header{gap:12px}
}
@media(max-width:700px){
 html{scroll-padding-top:16px}
 input,select,textarea{font-size:16px;min-height:48px;max-width:100%;min-width:0}
 .field-grid>*{min-width:0}
 .check,.checks label{min-height:48px;font-size:14px}
 input[type=checkbox]{min-height:22px;width:22px;height:22px;flex-shrink:0}
 .button,.volume-toggle button,.text-button{min-height:48px}
 .volume-toggle button{font-size:13px;padding:10px 6px}
 .consent{align-items:flex-start}
 .form-actions{flex-direction:column}
 .form-actions .primary{order:-1}
 .price-result strong{font-size:clamp(22px,6.5vw,30px)}
 .success{padding:36px 22px}
 .stepper .step{min-height:68px}
 .hero h1{font-size:clamp(39px,12vw,53px)}
 .hero-visual figcaption strong{padding-right:45px;font-size:clamp(30px,9vw,38px)}
 .story-photo figcaption{left:16px;right:16px;bottom:16px;font-size:11px}
 .calculator-card{min-width:0}
 .calculator-intro .demo-badge{font-size:9px;letter-spacing:.07em}
 .service-image{height:auto;aspect-ratio:1/1}
 footer a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
 summary{min-height:44px;line-height:1.45}
 .brand strong{font-size:14px}
 .notice{letter-spacing:.05em;padding:7px 12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.ai-label{position:absolute;top:14px;right:14px;z-index:2;padding:5px 8px;border-radius:3px;background:#14191de0;color:#fff;font:10px/1.4 'DM Sans',sans-serif;letter-spacing:.03em}
.mini-gallery{padding:80px clamp(24px,7vw,110px);background:#f5f4ef}
.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}
.gallery-heading h2{margin-bottom:0;font-size:clamp(34px,4vw,54px)}
.gallery-heading>p{color:#646b70;font-size:14px;max-width:350px;margin-bottom:5px}
.gallery-heading small{display:block;margin-top:12px;font-size:11px}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:20px;align-items:start}
.gallery-grid figure{margin:0;min-width:0}
.gallery-grid figure:nth-child(2){padding-top:36px}
.gallery-grid img{display:block;width:100%;height:260px;object-fit:cover;border-radius:3px}
.gallery-grid figcaption{padding-top:16px}
.gallery-grid figcaption span{font-size:10px;letter-spacing:.13em;color:#7d6b13}
.gallery-grid figcaption strong{display:block;font-size:16px;margin-top:7px;font-weight:500}
.gallery-signature{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d9d7cd;margin-top:38px;padding-top:16px;font-size:10px;letter-spacing:.14em}
.gallery-signature>span:last-child{background:var(--yellow);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:20px}
@media(max-width:700px){.gallery-heading{display:block}.gallery-heading>p{margin-top:22px}.gallery-grid{grid-template-columns:1fr;gap:28px}.gallery-grid figure:nth-child(2){padding-top:0}.gallery-grid img{height:auto;aspect-ratio:3/2}.mini-gallery{padding-top:55px;padding-bottom:55px}}
[hidden]{display:none!important}
.hero{grid-template-columns:.9fr 1.1fr;min-height:720px;background:#161b20}
.hero-copy{padding:88px clamp(28px,5vw,80px) 55px}
.hero h1{font-size:clamp(52px,5.5vw,84px);line-height:1.03}
.hero .eyebrow{max-width:330px;line-height:1.8}
.hero-lead{font-size:16px;max-width:420px}
.hero .proof-row{flex-wrap:wrap;gap:12px 20px;margin-top:42px}
.hero-visual{margin:0;min-width:0;min-height:720px;background:#9e9c8c}
.hero-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:62% center}
.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08) 40%,rgba(10,17,20,.85))}
.photo-tag{position:absolute;top:32px;left:32px;padding:9px 14px;border:1px solid #ffffff70;color:white;font-size:10px;letter-spacing:.14em;z-index:1;background:#1114;backdrop-filter:blur(8px)}
.hero-visual figcaption{position:absolute;bottom:45px;left:38px;right:38px;z-index:1;color:white}
.hero-visual figcaption>span{font-size:12px;letter-spacing:.05em}
.hero-visual figcaption strong{display:block;font:500 clamp(36px,4vw,60px)/1.08 'Manrope',sans-serif;letter-spacing:-.04em;margin-top:14px}
.hero-visual figcaption a{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:32px}
.visual-ribbon{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 6vw;background:var(--yellow);font-size:11px;font-weight:700;letter-spacing:.1em}.visual-ribbon b{font-size:24px}
.service-strip{padding-top:95px;padding-bottom:95px;background:var(--paper)}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));border:0;gap:25px}
.service-grid article,.service-grid article+article{padding:0;border:0;min-width:0}
.service-image{display:block;height:385px;position:relative;overflow:hidden;background:#c9c8be;border-radius:3px}
.service-image img{width:100%;height:100%;object-fit:cover;object-position:42% center;display:block}
.office-image img{object-position:center bottom;object-fit:cover}
.kitchen-image img{object-position:center 65%}
.service-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0d141bc9)}
.service-image span{position:absolute;bottom:26px;left:22px;color:white;z-index:1;font-size:11px;letter-spacing:.14em}
.service-image i{position:absolute;bottom:18px;right:20px;color:var(--ink);background:var(--yellow);border-radius:50%;width:38px;height:38px;text-align:center;font-size:25px;z-index:1;font-style:normal}
.service-grid h3{margin:24px 0 10px;font-size:23px;letter-spacing:-.03em}.service-grid p{max-width:340px;font-size:15px}
.photo-story{display:grid;grid-template-columns:1.2fr 1fr;background:#e9e5db;min-height:550px}
.story-photo{margin:0;position:relative;min-height:550px;overflow:hidden}.story-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}.story-photo figcaption{position:absolute;bottom:25px;left:30px;background:#fffdf0e8;padding:12px 18px;font-size:12px}
.story-copy{position:relative;padding:70px 65px;overflow:hidden}.story-copy p:not(.eyebrow){color:#59616a;max-width:390px}.story-copy h2{font-size:clamp(40px,4.5vw,66px)}.story-copy .button{margin-top:15px}.story-index{display:block;font:500 82px/1 'Manrope',sans-serif;letter-spacing:-.08em;color:#bcb6a6;margin-top:45px}
.process{background:#fff;gap:8vw;align-items:center}.detail-photo{margin:0;position:relative;height:230px;overflow:hidden}.detail-photo img{width:100%;height:100%;object-fit:cover;object-position:left 62%}.detail-photo figcaption{position:absolute;bottom:15px;left:15px;padding:8px 12px;background:white;font-size:11px}.process ol{counter-reset:step}.process li{padding:32px 0}.process li>span{display:grid;place-items:center;flex:0 0 44px;height:44px;background:var(--yellow);border-radius:50%;color:#171b20}.process li strong{font-size:25px}
a:focus-visible{outline:3px solid #b69c00;outline-offset:5px}
@media(min-width:1500px){.hero-visual{min-height:800px}.hero-copy{padding-top:120px}}
@media(max-width:1000px){.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:60px 30px}.hero h1{font-size:55px}.hero-visual{min-height:700px}.hero-actions{flex-direction:column}.service-image{height:320px}.story-copy{padding:50px 35px}.visual-ribbon{flex-wrap:wrap;justify-content:center}.visual-ribbon span{font-size:10px}}
@media(max-width:700px){.hero{display:flex;flex-direction:column}.hero-copy{padding:48px 24px 32px}.hero h1{font-size:53px;max-width:480px}.hero-lead{font-size:16px}.hero-actions{margin:24px 0}.hero .proof-row{display:flex;margin-top:24px;font-size:11px}.hero-visual{min-height:460px}.hero-visual>img{object-position:center 46%}.hero-visual figcaption{left:24px;right:24px;bottom:25px}.hero-visual figcaption strong{font-size:38px}.photo-tag{top:20px;left:24px}.hero-visual figcaption a{width:48px;height:48px}.visual-ribbon{padding:20px;gap:12px}.visual-ribbon span{width:40%;text-align:center}.visual-ribbon b{display:none}.service-strip{padding-top:60px;padding-bottom:55px}.service-grid{grid-template-columns:1fr;gap:30px}.service-image{height:360px}.service-grid h3{margin-top:18px}.photo-story{grid-template-columns:1fr}.story-photo{min-height:340px}.story-copy{padding:45px 24px}.story-index{font-size:64px;margin-top:30px}.process{gap:20px}.detail-photo{height:240px}}
