/* Exact palette from the supplied Noir Brand Board. */
:root{--obsidian:#111111;--champagne-gold:#D4AF37;--ivory:#F5F1E8;--deep-green:#1F3B32;--muted:#c4c1b6;--line:#d4af3744;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ivory);background:var(--obsidian);font:15px/1.65 var(--sans)}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:2px solid var(--champagne-gold);outline-offset:5px}button,a{transition:background .2s,color .2s}a:hover{color:var(--champagne-gold)}.skip{position:absolute;top:-100px;left:20px;z-index:20;background:var(--ivory);color:var(--obsidian);padding:12px}.skip:focus{top:10px}header{min-height:92px;padding:20px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font:14px var(--serif);letter-spacing:1.4px}.brand small{display:block;font:8px var(--sans);letter-spacing:2.2px;margin-top:7px;color:var(--muted)}.monogram{border:1px solid var(--champagne-gold);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;color:var(--champagne-gold);font:22px var(--serif)}nav{display:flex;align-items:center;gap:27px;font-size:12px}nav a{text-decoration:none}.outline{border:1px solid var(--line);padding:10px 17px}#menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:665px;max-width:1600px;margin:auto}.hero-copy{padding:100px 6% 52px 9%}.eyebrow{font-size:10px;letter-spacing:2.6px;color:var(--champagne-gold);margin:0 0 28px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0}h1{font-size:clamp(50px,5.1vw,82px);letter-spacing:-2.8px}em{font-weight:400;color:var(--champagne-gold)}.intro{font-size:16px;max-width:420px;color:var(--muted);margin:30px 0}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--champagne-gold);color:var(--obsidian);border:1px solid var(--champagne-gold);padding:15px 22px;font-size:12px;text-decoration:none;min-height:48px}.button:hover{background:var(--ivory);color:var(--obsidian)}.text-link{font-size:12px;text-decoration:none;background:none;border:0;color:var(--ivory);padding:12px 0}.text-link span{padding-left:15px}.hero-foot{font-size:9px;letter-spacing:2px;color:var(--muted);margin:60px 0 0}.hero-image{margin:0;position:relative;min-width:0;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:43% center;display:block}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#11111118,transparent 50%,#11111111),linear-gradient(0deg,#111111bb,transparent 40%);pointer-events:none}.hero-image figcaption{position:absolute;z-index:1;bottom:30px;left:32px;right:32px;border-top:1px solid var(--line);padding-top:18px;font-size:10px;letter-spacing:2px;display:flex;justify-content:space-between}.hero-image figcaption span{font-size:8px}.marquee{padding:22px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-around;gap:22px;font-size:9px;letter-spacing:2px;flex-wrap:wrap;color:var(--muted)}.marquee span{color:var(--champagne-gold)}.section{padding:100px max(5%,calc((100vw - 1300px)/2));scroll-margin-top:20px}h2{font-size:clamp(36px,4.1vw,60px);letter-spacing:-1.4px}.services{display:grid;grid-template-columns:1fr 1fr;gap:9%}.services p{color:var(--muted)}.services .eyebrow{color:var(--champagne-gold)}.section-lede{font:26px/1.4 var(--serif);color:var(--ivory)!important;margin-top:5px}.service-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:30px;font-size:12px}.service-list span{padding:16px 0;border-bottom:1px solid var(--line)}.fine{font-size:12px;color:var(--muted);line-height:1.7}.packages{background:var(--deep-green)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.section-top>p{color:var(--muted);max-width:350px;font-size:14px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{background:var(--obsidian);border:1px solid var(--line);position:relative;display:flex;flex-direction:column}.card.featured{border-color:var(--champagne-gold)}.card img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}.card-body{padding:28px;display:flex;flex-direction:column;flex:1}.card h3{font-size:30px}.card .tagline{font:italic 15px/1.5 var(--serif);color:var(--muted)}.price{font:34px var(--serif);margin:18px 0}.price small{font:9px var(--sans);text-transform:uppercase;letter-spacing:2px;margin-right:8px}.card ul{padding:0;list-style:none;font-size:12px;margin:8px 0 25px}.card li{padding:6px 0 6px 15px;position:relative}.card li:before{content:'—';color:var(--champagne-gold);position:absolute;left:0}.card button{margin-top:auto;background:transparent;color:var(--champagne-gold);border:0;border-top:1px solid var(--line);text-align:left;padding:18px 0 0;font-size:12px}.badge{position:absolute;top:195px;right:15px;background:var(--champagne-gold);color:var(--obsidian);padding:6px 12px;letter-spacing:1px;font-size:9px}.process{background:var(--ivory);color:var(--obsidian)}.process em,.process .eyebrow{color:var(--deep-green)}.process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;list-style:none;padding:40px 0 0;margin:0}.process li{border-top:1px solid #1f3b3255;padding-top:20px}.process b{font-size:10px;font-weight:400;color:var(--deep-green)}.process h3{font-size:25px;margin:20px 0 12px}.process p{font-size:14px;color:#45483f}.calculator{background:var(--obsidian)}.tabs{display:flex;border-bottom:1px solid var(--line);gap:35px;margin-bottom:40px}.tabs button{padding:18px 0;background:none;color:var(--muted);border:0;border-bottom:2px solid transparent;font-size:16px}.tabs button[aria-selected=true]{color:var(--champagne-gold);border-color:var(--champagne-gold)}.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:22px}.fields label{font-size:12px;display:block;color:var(--ivory)}input,select,textarea{display:block;width:100%;min-width:0;background:transparent;border:1px solid #f5f1e84d;color:var(--ivory);border-radius:0;padding:12px;margin-top:8px;min-height:48px}select{background:var(--obsidian)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--champagne-gold)}input[aria-invalid=true]{border:2px solid var(--champagne-gold)}.wide{grid-column:1/-1}.result{padding:32px;background:var(--deep-green);align-self:start;border:1px solid var(--line)}.result h3{font-size:30px;margin-bottom:12px}.result dl{margin:22px 0}.result dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #f5f1e822;padding:10px 0;font-size:12px}.result dt{color:var(--muted)}.result dd{margin:0;text-align:right}.result .button{width:100%;margin-top:15px}.small-actions{display:flex;gap:22px;margin-top:20px}.small-actions button{padding:6px 0;background:none;border:0;border-bottom:1px solid var(--champagne-gold);color:var(--ivory);font-size:12px}.mix{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border:1px solid var(--line);padding:18px;margin:0;min-width:0}.mix legend{font-size:12px;padding:0 5px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.metrics b{display:block;font:40px var(--serif);color:var(--champagne-gold)}.metrics span{font-size:11px}.error{border-left:2px solid var(--champagne-gold);padding:10px;color:var(--ivory)}.faq{display:grid;grid-template-columns:1fr 1fr;gap:65px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:20px 0}details:first-child{border-top:1px solid var(--line)}summary{font:21px/1.4 var(--serif);cursor:pointer}details p{color:var(--muted);font-size:14px}.inquiry{background:var(--deep-green);display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.inquiry>div>p:not(.eyebrow){color:var(--muted);margin-top:30px}.notice{border-left:1px solid var(--champagne-gold);padding-left:20px;max-width:310px}footer{padding:50px 5% 30px;display:grid;grid-template-columns:1fr 1fr auto;gap:25px;align-items:center}footer p,footer>a:last-of-type{font-size:12px}footer>small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:25px;font-size:10px;color:var(--muted)}dialog{max-width:700px;width:90%;padding:30px;border:1px solid var(--champagne-gold);background:var(--obsidian);color:var(--ivory)}dialog::backdrop{background:#000b}dialog textarea{margin-bottom:20px}#print-output{display:none}[hidden]{display:none!important}
@media(min-width:1600px){.hero-copy{padding-left:70px}}@media(max-width:1050px){nav{gap:15px}.brand{font-size:11px}.section{padding:75px 5%}.hero-copy{padding-top:80px}.card-body{padding:22px}.card h3{font-size:25px}.calc-grid,.faq,.inquiry{gap:35px}.hero-image figcaption span{display:none}}
@media(max-width:760px){header{flex-wrap:wrap;padding:18px 5%;gap:15px}.brand{font-size:11px}.brand small{font-size:7px}#menu{display:block;background:none;border:1px solid var(--line);color:var(--ivory);padding:9px 13px}nav{display:none;width:100%;flex-wrap:wrap;gap:20px;padding:15px 0}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:65px 6% 40px}.hero h1{font-size:60px}.hero-foot{margin-top:35px}.hero-image{height:360px}.hero-image img{object-position:center 40%}.marquee{font-size:8px;gap:13px}.marquee span{display:none}.section{padding:65px 6%}.services,.calc-grid,.faq,.inquiry{grid-template-columns:1fr;gap:35px}.section-top{display:block}.section-top>p{margin-top:25px}.cards{grid-template-columns:1fr}.card img{height:auto}.badge{top:245px}.card h3{font-size:34px}.card-body{padding:28px}.process ol{grid-template-columns:1fr;gap:25px}.process h3{margin-top:10px}.tabs{gap:22px}.tabs button{font-size:14px}.result{padding:25px}.fields{gap:18px}.inquiry .fields{grid-template-columns:1fr}.inquiry .wide{grid-column:auto}footer{grid-template-columns:1fr}.hero-image figcaption{font-size:8px}.service-list{grid-template-columns:1fr}h2{font-size:43px}}
@media(max-width:380px){h1,.hero h1{font-size:51px}.fields{grid-template-columns:1fr}.wide{grid-column:auto}.mix{gap:8px;padding:12px}.tabs{gap:16px}.tabs button{font-size:12px}.result{padding:18px}.metrics b{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{body>*{display:none!important}body>#print-output{display:block!important;white-space:pre-wrap;font:12px/1.7 monospace;color:#000;background:white}body{background:white}}

/* Keep the caption in its own row, clear of lettering inside the photo. */
.hero-image{display:grid;grid-template-rows:minmax(0,1fr) auto}.hero-image img{min-height:0}.hero-image figcaption{position:relative;inset:auto;margin:0;padding:16px 24px;min-width:0;background:var(--obsidian);border-top:1px solid var(--line);gap:12px;flex-wrap:wrap;line-height:1.6}
.noscript{margin:0;padding:18px 5%;background:var(--champagne-gold);color:var(--obsidian);font-weight:700}

