:root{--onyx:#000;--carbon:#111110;--paper:#f7f6f3;--ink:#161514;--ink-soft:#55524c;--pearl:#e8e3d7;--pearl-soft:#a19c91;--gold:#b8975a;--gold-light:#d9bf86;--green:#173a2c;--line:#dcd8cf;--line-dark:#b8975a47;--display:"Marcellus", "Times New Roman", serif;--body:"Hanken Grotesk", system-ui, sans-serif;--measure:34rem;--wide:72rem;--gutter:clamp(1rem, 4vw, 3rem)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--body);margin:0;font-size:1.0625rem;line-height:1.6}img,video{max-width:100%;height:auto;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}h1,h2,h3{font-family:var(--display);margin:0;font-weight:400;line-height:1.15}figure{margin:0}.skip{position:absolute;left:-999px}.skip:focus{z-index:10;background:var(--gold-light);color:var(--ink);padding:.5rem 1rem;top:1rem;left:1rem}.site-header{padding:1rem var(--gutter);background:var(--onyx);color:var(--pearl);border-bottom:1px solid var(--line-dark);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand{align-items:center;gap:.75rem;text-decoration:none;display:flex}.brand-mark{width:2.1rem;height:auto;color:var(--gold)}.brand-word{color:var(--gold-light);font-family:var(--display);letter-spacing:.32em;text-transform:uppercase;font-size:1.05rem}.site-header nav{gap:clamp(1rem,3vw,2.25rem);font-size:.95rem;display:flex}.site-header nav a{border-bottom:1px solid #0000;padding-block:.25rem;text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current=page]{border-bottom-color:var(--gold)}.onyx{background:var(--onyx);color:var(--pearl)}.on-dark p,.onyx .hero-copy p,.onyx .steps p{color:var(--pearl-soft)}.btn-gold,.btn-line{border-radius:0;padding:.9rem 1.6rem;font-weight:500;text-decoration:none;display:inline-block}.btn-gold{color:var(--onyx);background:var(--gold)}.btn-gold:hover{background:var(--gold-light)}.btn-line{color:var(--pearl);border:1px solid #e8e3d78c}.btn-line:hover{border-color:var(--pearl)}.hero-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(88vh,54rem);display:grid}.hero-copy{padding:clamp(3rem, 7vw, 6rem) var(--gutter);padding-left:max(var(--gutter), calc((100vw - var(--wide)) / 2));align-content:center;gap:1.5rem;display:grid}.hero-copy h1{max-width:14ch;font-size:clamp(2.2rem,4.6vw,3.8rem)}.hero-copy p{max-width:30rem;color:var(--pearl-soft);margin:0}.hero-actions{flex-wrap:wrap;gap:.9rem;margin-top:.5rem;display:flex}.hero-media{background:var(--onyx);position:relative;overflow:hidden}.hero-media video{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.photo-hero{min-height:min(80vh,46rem);color:var(--pearl);background:var(--onyx);align-items:end;display:grid;position:relative;overflow:hidden}.photo-hero-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-hero:after{content:"";background:linear-gradient(#0000001a 0%,#000000e6 85%);position:absolute;inset:0}.photo-hero-copy{z-index:1;width:100%;max-width:var(--wide);padding:clamp(3rem, 8vw, 5rem) var(--gutter);justify-items:start;gap:1.25rem;margin:0 auto;display:grid;position:relative}.photo-hero-copy h1{max-width:20ch;font-size:clamp(2rem,4.6vw,3.4rem)}.photo-hero-copy p{max-width:var(--measure);color:var(--pearl-soft);margin:0}.section{padding:clamp(3.5rem, 8vw, 6rem) var(--gutter)}.section-inner{max-width:var(--wide);margin:0 auto}.section h2{max-width:22ch;font-size:clamp(1.7rem,3.5vw,2.5rem)}.section p{max-width:var(--measure)}.section-title{margin-bottom:2.25rem}.split{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);display:grid}.door-cards{grid-template-columns:1fr 1fr;gap:clamp(1rem,2.5vw,2rem);display:grid}.door-card{grid-template-rows:auto 1fr;text-decoration:none;display:grid}.door-card img{aspect-ratio:3/2;object-fit:cover;width:100%;transition:filter .3s}.door-card:hover img{filter:brightness(1.08)}.door-card>div{padding:1.25rem 0 0}.door-card h3{font-size:clamp(1.5rem,2.6vw,1.9rem)}.door-card p{color:var(--ink-soft);margin:.5rem 0 0}.door-go{text-underline-offset:.3em;text-decoration:underline;text-decoration-color:var(--gold);margin-top:1rem;font-weight:500;display:inline-block}.craft,.supply{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem);display:grid}.craft img,.supply img{aspect-ratio:4/5;object-fit:cover;width:100%}.craft figcaption{color:var(--ink-soft);margin-top:.75rem;font-size:.97rem}.supply h3{margin-top:1rem;font-size:1.35rem}.supply p{color:var(--ink-soft);margin:.4rem 0 0}.steps{counter-reset:step;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;margin:2.5rem 0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;border-top:1px solid var(--gold);padding-top:1rem}.steps li:before{content:counter(step);font-family:var(--display);color:var(--gold);margin-bottom:.5rem;font-size:1.6rem;display:block}.steps h3{margin-bottom:.4rem;font-size:1.2rem}.steps p{color:var(--ink-soft);margin:0;font-size:.97rem}.steps-photo li{border-top:0;padding-top:0}.steps-photo li:before{margin-top:.9rem}.steps-photo img{aspect-ratio:1;object-fit:cover;order:-1;width:100%}.steps-photo li{flex-direction:column;display:flex}.gallery{grid-template-columns:1.2fr 1fr 1fr;gap:.75rem;display:grid}.gallery img{object-fit:cover;aspect-ratio:4/5;width:100%;height:100%}.reveal-on [data-reveal]{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(18px)}.reveal-on [data-reveal]:nth-child(2){transition-delay:.12s}.reveal-on [data-reveal]:nth-child(3){transition-delay:.24s}.reveal-on [data-reveal]:nth-child(4){transition-delay:.36s}.reveal-on [data-reveal].is-in{opacity:1;transform:none}.site-footer{background:var(--green);color:var(--pearl);padding:clamp(3rem, 7vw, 4.5rem) var(--gutter) 1.5rem}.footer-inner{max-width:var(--wide);grid-template-columns:1fr 1.4fr;gap:2.5rem;margin:0 auto;display:grid}.footer-mark{width:3rem;height:auto;color:var(--gold)}.footer-word{font-family:var(--display);letter-spacing:.32em;text-transform:uppercase;color:var(--gold-light);margin:.75rem 0 0}.footer-tag{margin:.2rem 0 0;font-size:.9rem}.footer-contact h2{color:var(--pearl);font-size:1.6rem}.footer-contact p{max-width:var(--measure)}.footer-contact ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.footer-contact a{color:var(--gold-light);text-underline-offset:.3em}.footer-legal{max-width:var(--wide);color:#e8e3d799;margin:3rem auto 0;font-size:.85rem}@media (width<=860px){.hero-split{grid-template-columns:1fr;min-height:0}.hero-media{aspect-ratio:4/5;order:-1;max-height:70vh}.hero-copy{padding:2.5rem var(--gutter) 3rem}}@media (width<=760px){.door-cards,.split,.footer-inner,.craft,.supply{grid-template-columns:1fr}.craft img,.supply img{aspect-ratio:3/2}.steps,.gallery{grid-template-columns:1fr 1fr}.gallery img:first-child{aspect-ratio:1;grid-column:1/-1}.brand-word{letter-spacing:.24em;font-size:.9rem}}@media (width<=420px){.steps:not(.steps-photo){grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.work-lede{margin:1rem 0 2.5rem}.work-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,2vw,1.5rem);display:grid}.work-piece video{aspect-ratio:1;object-fit:cover;background:var(--onyx);width:100%}.work-piece figcaption{color:var(--ink-soft);margin-top:.6rem;font-size:1rem}.onyx .work-piece figcaption,.onyx .door-go{color:var(--pearl)}.onyx .door-go{margin-top:2rem}@media (width<=760px){.work-grid{grid-template-columns:1fr 1fr}}.trade-bar{padding:.45rem var(--gutter);background:var(--gold);color:var(--onyx);text-align:center;margin:0;font-size:.85rem;font-weight:500}.site-header nav a.nav-apply{color:var(--gold-light)}.spec-list{border-top:1px solid var(--line);margin:1.75rem 0 2rem}.spec-list>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(9rem,1fr) 2fr;gap:.4rem 1.5rem;padding:1rem 0;display:grid}.spec-list dt{font-family:var(--display);font-size:1.15rem}.spec-list dd{color:var(--ink-soft);margin:0}.steps-title{margin-top:3.5rem}.apply-hero h1{font-size:clamp(2rem,4.6vw,3.2rem)}.apply-hero p{margin-top:1rem}.apply-split{align-items:start}.apply-card{background:var(--onyx);color:var(--pearl);padding:clamp(1.5rem,3vw,2.5rem)}.apply-card p{color:var(--pearl-soft)}.apply-card .btn-gold{margin-top:.5rem}.apply-alt a{color:var(--gold-light)}@media (width<=760px){.spec-list>div{grid-template-columns:1fr}.site-header nav{flex-wrap:wrap;gap:.5rem 1.25rem}}
