/* Architectural rhythm; expressive scale belongs to the opening. */
:root{--paper:#eeede7;--white:#faf9f5;--oxide:#ae4227;--ink:#191a17;--muted:#605f59}
body{font-family:Arial,Helvetica,sans-serif}
section[id]{scroll-margin-top:90px}
.site-header{height:80px;padding:0 3vw;backdrop-filter:none;background:var(--paper);border-bottom:2px solid var(--ink)}
.brand{font-size:1.1rem;letter-spacing:-.035em}
.site-header nav{font-size:.875rem;letter-spacing:.015em;gap:2rem}
.hero{position:relative;grid-template-columns:58% 42%;min-height:850px;overflow:hidden;background:var(--paper)}
.hero-copy{padding:3rem 3vw 2.5rem;z-index:2;justify-content:flex-start}
.kicker,.section-index{font-family:'Courier New',monospace;font-size:.875rem;letter-spacing:.03em}
.hero h1{font-size:clamp(5rem,10.4vw,12rem);font-weight:900;line-height:.91;letter-spacing:-.085em;margin:4.5rem 0 4rem}
.hero h1 span:nth-child(2){margin-left:6vw}
.hero h1 .shift{margin-left:0;font-size:.77em;letter-spacing:-.07em;color:var(--ink)}
.hero-intro{grid-template-columns:1fr;gap:1.5rem;max-width:480px;margin-top:auto}
.hero-intro p{font-size:1.0625rem;max-width:38ch}
.actions{gap:0}
.button{font-size:.875rem;letter-spacing:0;min-height:52px;padding:1rem 1.25rem}
.button.dark{background:var(--oxide);border-color:var(--oxide)}
.button.line{border-left:0}
.hero-image{position:relative;align-self:center;margin:4rem 3vw 4rem -1vw;border:0;overflow:visible;display:block;background:transparent;z-index:1}
.hero-image img{aspect-ratio:1;object-fit:contain;border:1px solid var(--ink);box-shadow:22px 22px 0 var(--oxide)}
.hero-image figcaption{position:relative;margin:45px 0 0;border-top:1px solid var(--ink);padding:.8rem 0;font-family:'Courier New',monospace;font-size:.8rem;letter-spacing:0;grid-template-columns:1fr 3fr 1fr}
.hero-image figcaption span:first-child{position:absolute;font-family:Arial,sans-serif;font-size:clamp(4rem,8vw,8rem);font-weight:700;letter-spacing:-.09em;line-height:1;right:-.3vw;bottom:calc(100% + 20px);color:var(--oxide);background:var(--paper);padding:0 .15em}
.hero-image figcaption span:nth-child(2){grid-column:1/3}
.hero-symbols{height:86px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink)}
.hero-symbols>span{height:100%;padding:0 3vw;justify-content:space-between;border-right:1px solid var(--ink);font-size:.875rem;font-family:'Courier New',monospace;letter-spacing:0}
.hero-symbols>span:last-child{border:0}
.hero-symbols i{width:25px;height:25px}
.hero-symbols .circle{background:transparent;border:2px solid currentColor}
.finder{padding:6rem 3vw;grid-template-columns:12% 1fr;column-gap:3vw;background:#22241f}
.finder-heading h2{font-size:clamp(3rem,6.5vw,7rem);font-weight:500;line-height:1;letter-spacing:-.065em}
.finder>.section-index{color:#d0cfc5;writing-mode:vertical-rl;align-self:start}
legend{font-size:.875rem;text-transform:none;letter-spacing:0}
.option-grid{gap:0}
.option-grid label span{min-height:130px;padding:1.25rem;border-color:#777970;color:#cecec6}
.option-grid label+label span{border-left:0}
.option-grid label b{font-size:.875rem;letter-spacing:.025em}
.option-grid input:checked+span{background:#e6e7dd;border-color:#e6e7dd}
.result{background:var(--paper);color:var(--ink);padding:2rem;border-top:8px solid var(--oxide);grid-template-columns:1fr 1.4fr}
.result-id{flex-direction:column-reverse;gap:1.5rem}
.result-id strong{font-size:clamp(7rem,15vw,15rem);color:var(--oxide)}
.result-id span{font-size:2.5rem}
.result-copy{padding:1rem 0 0 2rem;border-left:1px solid #aaa99e}
.result-copy h3{font-size:clamp(2rem,3vw,3.5rem);font-weight:500}
.alternative{border-color:#b5b3aa}
.result .button{background:var(--ink);color:var(--white)}
.compositions{padding:6rem 3vw}
.section-head{grid-template-columns:2fr 1fr;margin:2rem 0 4rem}
.section-head h2{font-size:clamp(2.6rem,5.5vw,6rem);font-weight:500;line-height:1}
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));border:0;gap:4rem 2vw}
.product-card{border:0;border-top:2px solid var(--ink)}
.product-card figure{aspect-ratio:1;position:relative;margin-top:1rem}
.product-card:nth-child(3n + 2) figure{aspect-ratio:1.25;margin-top:4rem}
.product-card:nth-child(3n + 2){padding-top:0}
.product-data{padding:1.2rem 0;grid-template-columns:70px 1fr;min-height:230px}
.product-data .number{font-size:3.5rem;line-height:1;letter-spacing:-.08em;color:var(--oxide)}
.product-data h3{font-size:.875rem}
.product-data p{font-size:.875rem}
.product-card>a{font-size:.875rem;letter-spacing:0;border-bottom:1px solid var(--ink);padding:1rem 0;margin-top:auto}
.product-card>a:hover{padding-left:1rem;padding-right:1rem}
.three-offer{margin-top:4rem;border-top:2px solid var(--ink);font-size:.875rem;letter-spacing:0;font-family:'Courier New',monospace}
.three-offer strong{font-family:Arial,sans-serif;font-size:clamp(2rem,5vw,5rem);font-weight:500;letter-spacing:-.065em}
.materials{background:#dedfd5;grid-template-columns:45% 55%;border-top:1px solid var(--ink)}
.materials figure{align-self:center;margin:4vw 0 4vw 3vw;background:none;border:1px solid var(--ink)}
.materials-copy{padding:4vw}
.materials h2{font-weight:500;font-size:clamp(2.2rem,4vw,4.8rem);line-height:1.04}
.text-link{font-size:.875rem;letter-spacing:0}
.closing{background:var(--paper);color:var(--ink);min-height:520px;padding:5rem 3vw;border-bottom:2px solid var(--ink);gap:3rem}
.closing p{font-weight:500;max-width:22ch;font-size:clamp(2.5rem,5.8vw,6rem);line-height:1;letter-spacing:-.055em}
.closing a{font-size:.875rem;letter-spacing:0}
footer{padding:3rem 3vw;display:flex;flex-direction:column;gap:2rem;overflow:hidden}
.footer-brand{font-size:clamp(2rem,10.5vw,12rem);line-height:1;letter-spacing:-.07em;white-space:nowrap}
footer div{justify-content:space-between;font-size:.875rem;letter-spacing:0}
footer p{align-self:start;font-size:.875rem;letter-spacing:0}
@media(min-width:1500px){.hero{min-height:950px}}
@media(max-width:900px){.site-header{min-height:72px;height:auto;padding:1rem}.site-header nav{font-size:.875rem;gap:1rem}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:3rem 1rem;min-height:0}.hero h1{font-size:18vw;margin:3rem 0}.hero h1 span:nth-child(2){margin-left:12vw}.hero-image{width:70%;margin:1rem 1rem 3rem;justify-self:end}.hero-image img{box-shadow:12px 12px 0 var(--oxide)}.hero-image figcaption{margin-top:30px}.hero-image figcaption span:first-child{font-size:6rem}.hero-symbols>span{padding:0 1rem}.finder{grid-template-columns:1fr;padding:4rem 1rem}.finder>.section-index{writing-mode:horizontal-tb}.result{grid-template-columns:1fr 1.3fr}.result-copy{padding-left:1rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 1.5rem}.product-card:nth-child(3n + 2) figure{aspect-ratio:1;margin-top:1rem}.product-card:nth-child(even) figure{aspect-ratio:1.15}.compositions{padding:4rem 1rem}.materials{grid-template-columns:1fr}.materials figure{margin:2rem 1rem 0}.materials-copy{padding:3rem 1rem;min-height:0}.option-grid label+label span{border-left:1px solid #777970}.option-grid label span{min-height:95px}}
@media(max-width:580px){.hero-symbols{height:70px}.hero-symbols i{width:18px;height:18px}.hero-image{width:85%;margin-right:1.5rem}.hero-image figcaption{font-size:.75rem}.hero-intro .actions{display:flex}.actions .button{flex:1;padding:.8rem;font-size:.8rem}.result{grid-template-columns:1fr;gap:2rem}.result-id{flex-direction:row-reverse;justify-content:space-between;align-items:end}.result-id strong{font-size:8rem}.result-id span{font-size:2rem}.result-copy{border:0;border-top:1px solid #aaa99e;padding:1.5rem 0 0}.product-grid{grid-template-columns:1fr}.product-card:nth-child(even) figure{aspect-ratio:1.15}.product-data{min-height:0}.three-offer{align-items:flex-start}.closing{min-height:420px;padding:3rem 1rem}.section-head{grid-template-columns:1fr}.finder-heading h2{font-size:3rem}.hero-symbols>span{gap:.5rem;font-size:.8rem}}
/* Audit repairs retain the reduced visual hierarchy. */
.option-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.option-grid label:last-child{grid-column:1/-1}
.option-grid label:last-child span{min-height:60px;border-left:1px solid #777970;display:flex;flex-direction:row;align-items:center;gap:1rem}
.avoidance{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2rem}
.avoidance select{font:inherit;padding:.8rem;color:var(--ink);background:var(--paper);border:1px solid #aaa;min-height:48px}
.catalog-search{scroll-margin-top:100px;margin:0 0 2rem;max-width:560px}
.catalog-search label{display:block;font-size:.875rem;margin-bottom:.7rem}
.catalog-search input{font:inherit;width:100%;padding:1rem;background:transparent;color:var(--ink);border:1px solid var(--ink);border-radius:0;min-height:48px}
.catalog-search p{font-size:.875rem;min-height:1.5em}
.service-nav{display:flex;flex-wrap:wrap;gap:1rem 2rem;font-size:.875rem}
.service-nav a{padding:.5rem 0;text-decoration:underline;text-underline-offset:4px}
.product-data h3{margin-top:.7rem}
@media(max-width:900px){.option-grid{grid-template-columns:1fr}.site-header nav{gap:.8rem}.option-grid label:last-child span{flex-wrap:wrap}}
.element-art{display:inline-block;width:1.1em;height:1.1em;vertical-align:middle;flex-shrink:0}
.hero-symbols .element-art{width:25px;height:25px}
.symbols,#result-symbols{display:flex;align-items:center;gap:.2em}
.symbols svg,#result-symbols svg{display:block;width:1em;height:1em;overflow:visible;flex-shrink:0}
.symbols{font-size:1.7rem}
.option-grid.room-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.option-grid.room-options label span{min-height:66px;justify-content:center}
.option-grid.room-options label:last-child{grid-column:auto}
@media(max-width:580px){.option-grid.room-options{grid-template-columns:repeat(2,minmax(0,1fr))}.option-grid.room-options label span{padding:.8rem}.hero-symbols .element-art{width:18px;height:18px}}
