/* Build Brand Now — Carbon Nest — enhanced */
@import url('https://fonts.googleapis.com/css2?family=Space+Mono&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap');
:root{
  --void:#000;--coal:#060708;--panel:#0C0E11;--rail:#101216;--hair:#1a1d22;
  --text:#F0F2F5;--text2:#E4E7EC;--muted:#A8AEB8;--copper:#C87941;--copper-dim:#7A4E2A;
  --copper-glow:rgba(200,121,65,.12);--shell:1180px;--ease:cubic-bezier(.16,1,.3,1);
  --font-display:'DM Sans',system-ui,sans-serif;--font-body:'DM Sans',system-ui,sans-serif;--font-mono:'Space Mono',monospace;
  --section-pad:clamp(72px,9vw,120px)
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:100%;overflow-x:hidden;width:100%}
body{font-family:var(--font-body);font-size:clamp(16px,1.05vw,18px);line-height:1.68;color:var(--text);background:var(--void);-webkit-font-smoothing:antialiased;overflow-x:hidden;min-width:0;width:100%;max-width:100vw}
body.cookie-open{padding-bottom:180px}
main{overflow-x:hidden;min-width:0;width:100%}
img{max-width:100%;height:auto;display:block}
a{color:var(--copper);text-decoration:none;transition:color .2s var(--ease)}
a:hover,a:focus-visible{color:#E8A06A}
.skip{position:absolute;left:-9999px;top:0;z-index:9999;padding:.75rem 1rem;background:var(--copper);color:var(--void)}
.skip:focus{left:1rem}
.shell{max-width:var(--shell);margin:0 auto;padding:0 clamp(20px,5vw,40px);width:100%}
.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--copper);margin-bottom:.75rem}
h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.12;letter-spacing:-.02em}
h1{font-size:clamp(2.2rem,4.8vw,3.5rem)}
h2{font-size:clamp(1.5rem,2.8vw,2rem);margin-bottom:1rem}
h3{font-size:clamp(1.05rem,2vw,1.3rem);margin-bottom:.5rem}
p,li{max-width:68ch}
.prose p+p{margin-top:1.25rem}
.surface-void{background:var(--void);color:var(--text)}
.surface-coal{background:linear-gradient(180deg,var(--coal) 0%,var(--void) 100%);color:var(--text2)}
.surface-panel{background:var(--panel);color:#DDE1E8}
.surface-rail{background:var(--rail);color:var(--muted)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(0,0,0,.94);border-bottom:1px solid var(--hair);backdrop-filter:blur(12px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem clamp(20px,5vw,40px);max-width:var(--shell);margin:0 auto;width:100%}
.logo{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--text)}
.logo span{color:var(--copper)}
.site-nav ul{display:flex;flex-wrap:wrap;gap:.2rem 1rem;list-style:none;align-items:center;justify-content:flex-end}
.site-nav a{color:var(--muted);font-size:.875rem;font-weight:500;padding:.4rem 0;border-bottom:2px solid transparent;transition:all .2s var(--ease)}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--text);border-color:var(--copper)}
.btn-nav{border:1px solid var(--copper)!important;color:var(--copper)!important;padding:.5rem 1.1rem!important;border-radius:2px;font-weight:600;background:var(--copper-glow)}
.btn-nav:hover{background:var(--copper);color:var(--void)!important}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:end;padding:var(--section-pad) 0 clamp(48px,6vw,80px);width:100%}
.hero-grid h1{grid-column:1;align-self:end}
.hero-photo{grid-column:2;grid-row:1/span 2}
.hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--hair);padding:8px;background:var(--coal);box-shadow:0 24px 48px rgba(0,0,0,.45)}
.hero-lede{grid-column:1;color:var(--muted);font-size:1.08rem;margin-top:1rem;line-height:1.7}
.mono-strip{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;padding:1.75rem 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin-top:2.5rem;margin-bottom:2.5rem;width:100%}
.mono-strip div{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mono-strip strong{display:block;color:var(--text);margin-top:.35rem;font-size:13px;font-weight:600}
.dot-index{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 clamp(1rem,3vw,2rem);margin-top:3rem;margin-bottom:3rem;width:100%;min-width:0}
.dot-index .item{display:contents}
.dot-index .num{font-family:var(--font-mono);color:var(--copper);padding:1.35rem 0;border-top:1px solid var(--hair);padding-left:1.25rem;position:relative}
.dot-index .num::before{content:'';position:absolute;left:0;top:50%;width:7px;height:7px;background:var(--copper);border-radius:50%;transform:translateY(-50%);box-shadow:0 0 12px var(--copper-glow)}
.dot-index .body{padding:1.35rem 0;border-top:1px solid var(--hair);min-width:0}
.copper-beam{position:relative;margin-top:3rem;margin-bottom:3rem;width:100%}
.copper-beam img{width:100%;aspect-ratio:21/9;object-fit:cover;border:1px solid var(--hair);padding:8px;background:var(--coal)}
.copper-beam::after{content:'';position:absolute;left:8%;right:8%;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--copper),transparent)}
.copper-beam figcaption{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.75rem}
.photo-mosaic{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto auto;gap:1rem;margin-top:3rem;margin-bottom:3rem;width:100%;min-width:0}
.photo-mosaic img{border:1px solid var(--hair);padding:8px;background:var(--coal);object-fit:cover;width:100%}
.photo-mosaic .a{grid-row:1/3;min-height:300px;object-fit:cover}
.photo-mosaic .b,.photo-mosaic .c{aspect-ratio:16/10;object-fit:cover}
.page-photo,.page-photo-inline{width:100%;margin-top:2rem;margin-bottom:2rem}
.page-photo img,.page-photo-inline img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--hair);padding:8px;background:var(--coal)}
.nest-rail{display:flex;gap:0;overflow-x:auto;border-top:1px solid var(--hair);margin-top:2rem;margin-bottom:2rem;padding-top:1.5rem;width:100%;scrollbar-width:thin}
.rail-item{flex:0 0 auto;min-width:150px;max-width:200px;padding:1rem 1.25rem;border-left:1px solid var(--hair)}
.rail-item:first-child{border-left:none}
.rail-item::before{content:'';display:block;width:10px;height:10px;border:1px solid var(--copper);margin-bottom:.75rem;background:var(--void)}
.rail-item .code{font-family:var(--font-mono);font-size:10px;color:var(--copper);margin-bottom:.4rem}
.quiet-close{text-align:center;padding:clamp(80px,12vw,140px) clamp(20px,5vw,60px);font-family:var(--font-display);font-size:clamp(1.3rem,3vw,1.85rem);font-weight:600;color:var(--text2);line-height:1.45;width:100%}
.inner-layout{display:grid;grid-template-columns:minmax(120px,160px) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);padding:var(--section-pad) 0;width:100%}
.inner-layout>.prose,.inner-layout>div{min-width:0}
.left-rail{position:sticky;top:88px;align-self:start;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;min-width:0}
.left-rail a{display:block;padding:.45rem 0;color:var(--muted);border-left:2px solid transparent;padding-left:.85rem}
.left-rail a.active,.left-rail a:hover{color:var(--copper);border-color:var(--copper)}
.beats{display:grid;grid-template-columns:minmax(72px,100px) minmax(0,1fr);gap:1.5rem;margin-top:2rem;margin-bottom:2rem;width:100%}
.beats>div{min-width:0}
.beat-num{font-family:var(--font-mono);font-size:clamp(2rem,4vw,2.75rem);color:var(--copper);line-height:1;opacity:.75}
details{border-top:1px solid var(--hair);padding:1.15rem 0}
details summary{font-family:var(--font-display);font-weight:600;font-size:1.1rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
details summary::after{content:'+';color:var(--copper);font-family:var(--font-mono);flex-shrink:0}
details[open] summary::after{content:'−'}
details .answer{padding-top:1rem;color:var(--muted)}
.contact-desk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3rem);padding:var(--section-pad) 0;width:100%}
.contact-block{min-width:0}
.contact-block address{font-style:normal;line-height:1.85}
.map-card{width:100%;max-width:100%;overflow:hidden;border:1px solid var(--hair);background:var(--panel);border-radius:2px}
.map-card iframe{display:block;width:100%;border:0;min-height:160px}
.map-card--a iframe{height:420px}
.map-card--b iframe{height:220px}
.map-card--c iframe{height:300px}
.map-card--d iframe{height:200px}
.map-caption{padding:.65rem 1rem;font-size:.8rem;color:var(--muted);border-top:1px solid var(--hair);font-family:var(--font-mono)}
.map-b,.map-c,.map-d-wrap,.map-a{width:100%}
.shell.map-a,.shell.map-b,.shell.map-c,.shell.map-d-wrap{max-width:var(--shell)}
.map-b{margin-top:2.5rem;margin-bottom:2.5rem;padding:1rem 0;border-top:1px solid var(--hair)}
.map-c{margin-top:2.5rem;margin-bottom:2.5rem;padding-left:1rem;border-left:3px solid var(--copper)}
.map-d-wrap{display:grid;grid-template-columns:1fr minmax(200px,280px);gap:1.5rem;align-items:start;margin-top:2rem;margin-bottom:2rem;width:100%;min-width:0}
.shell.copper-beam,.shell.page-photo,.shell.page-photo-inline,.shell.photo-mosaic,.shell.mono-strip,.shell.dot-index,.shell.nest-rail{margin-left:auto;margin-right:auto}
.contact-desk .page-photo{margin-top:0}
.site-footer{border-top:1px solid var(--hair);padding:2.5rem 0 2rem;margin-top:3rem;font-size:.875rem;color:var(--muted);width:100%}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:2rem;margin-bottom:1.5rem}
.footer-links{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}
.footer-links a{color:var(--muted)}
.footer-contact{font-style:normal;line-height:1.75;margin-top:.85rem;font-size:.875rem;color:var(--text2)}
.footer-contact a{color:var(--copper)}
.footer-note{font-size:.85rem;margin-top:.75rem;max-width:55ch;line-height:1.6}
.frame-photo{border:1px solid var(--hair);padding:8px;background:var(--coal);object-fit:cover;width:100%}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;width:100%;max-width:none;margin:0;background:var(--panel);border-top:1px solid var(--copper-dim);padding:1.25rem clamp(16px,4vw,40px);z-index:100000;box-shadow:0 -12px 40px rgba(0,0,0,.65);display:none;border-radius:0}
.cookie-banner.show{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 1.5rem;align-items:center;width:100%;max-width:none;margin:0;box-sizing:border-box}
.cookie-banner.show>p{grid-column:1;margin:0;max-width:none;color:var(--text2);font-size:.875rem;line-height:1.55}
.cookie-banner.show>.cookie-actions{grid-column:2;justify-self:end}
.cookie-banner.show>.cookie-panel{grid-column:1/-1}
.cookie-inner{max-width:var(--shell);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;width:100%}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.cookie-actions button{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;background:transparent;border:1px solid var(--copper);color:var(--copper);padding:.55rem .85rem;cursor:pointer;border-radius:2px}
.cookie-actions button:hover{background:var(--copper);color:var(--void)}
.cookie-panel{width:100%;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--hair);display:none}
.cookie-panel.open{display:block}
.cookie-panel label{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.875rem;color:var(--muted);gap:1rem}
@media(max-width:900px){
  .hero-grid,.contact-desk,.inner-layout,.map-d-wrap,.photo-mosaic{grid-template-columns:1fr}
  .hero-photo{grid-column:1;grid-row:auto}
  .left-rail{position:static;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}
  .left-rail a{border-left:none;border-bottom:2px solid transparent;padding-left:0}
  .left-rail a.active,.left-rail a:hover{border-bottom-color:var(--copper)}
  .cookie-banner.show{grid-template-columns:1fr;max-width:none;padding:1.25rem clamp(16px,4vw,24px)}
  .cookie-banner.show>.cookie-actions{grid-column:1;justify-self:stretch}
  .cookie-inner{flex-direction:column;align-items:stretch}
  .map-card--a iframe{height:280px}
}
@media(prefers-reduced-motion:reduce){*,.reveal{transition:none!important;opacity:1!important;transform:none!important}}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
