:root{color-scheme:light;--ink:#102632;--muted:#52656b;--line:#d6dedb;--teal:#2c6c67;--paper:#f5f4ee}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #317d75;outline-offset:5px}button:focus-visible{outline-offset:3px}[hidden]{display:none!important}
.library-shell{width:min(1180px,calc(100% - 3rem));margin-inline:auto}.skip-link{position:absolute;top:-80px;left:1rem;z-index:100;background:#fff;padding:1rem}.skip-link:focus{top:1rem}
.library-header{border-bottom:1px solid var(--line);background:var(--paper)}.library-header .library-shell{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.library-brand{display:flex;align-items:center}.library-brand img{display:block;width:210px;height:70px;object-fit:contain}.back-link{font-size:.85rem;text-underline-offset:5px}
.library-intro{padding:5rem 0 3rem;max-width:850px}.eyebrow{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--teal);margin:0 0 1rem}
.library-intro h1{font:400 clamp(2.8rem,6vw,5.2rem)/1.05 Georgia,serif;letter-spacing:-.045em;margin:0 0 1.4rem}.library-intro>p:last-child{max-width:660px;color:var(--muted);font-size:1.05rem}
.study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem;padding-bottom:5rem}.study-card{display:block;text-decoration:none;border:1px solid var(--line);background:#fff;transition:transform .2s}.study-card:hover{transform:translateY(-3px)}
.study-sample{height:235px;padding:1.5rem;position:relative;overflow:hidden;border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.sample-label{font-size:.55rem;letter-spacing:.15em;text-transform:uppercase}.study-sample strong{font:400 2.1rem/1.05 Georgia,serif;letter-spacing:-.04em;max-width:290px}.study-sample small{font-size:.65rem}.sample-meridian{background:#e9f1ec;color:#173d42}.sample-meridian:after{content:"";position:absolute;right:2rem;top:4rem;width:90px;height:130px;border:1px solid #6e9586;background:#f7faf5;transform:rotate(6deg)}
.sample-gridline{background:repeating-linear-gradient(90deg,transparent,transparent calc(33.33% - 1px),#c1cad8 calc(33.33% - 1px),#c1cad8 33.33%),#eef0f6;color:#182b52;border-left:48px solid #182b52}
.sample-gridline strong{font:750 1.85rem/1.03 system-ui,sans-serif}.sample-kinetic{background:#fff2dc;color:#29271f}.sample-kinetic strong{font:900 2.9rem/.84 Impact,"Arial Black",sans-serif;position:relative;z-index:1;max-width:280px}
.sample-kinetic:after{content:"";position:absolute;right:-1rem;top:5rem;width:230px;height:55px;background:#f06936;transform:rotate(-16deg)}.sample-haven{background:#f3eff7;color:#645374;align-items:center;text-align:center}.sample-haven:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;border:1px solid #d2c7df;top:1.8rem}.sample-haven>*{position:relative}
.sample-orbit{background:#e9f5fc;color:#123c58}.sample-orbit:after{content:"";position:absolute;right:2rem;top:3rem;width:110px;height:170px;border-radius:55px 55px 10px 10px;background:#388bc1}.sample-orbit strong{position:relative;max-width:270px;z-index:1;font-family:system-ui,sans-serif;font-weight:700}
.sample-atelier{background:#251f1a;color:#f3e9dc}.sample-atelier .sample-label{color:#d5b58e}.sample-atelier strong{font-family:Didot,"Times New Roman",serif;font-size:2.7rem}.sample-atelier em{color:#d1aa77;font-weight:400}
.study-info{padding:1.4rem 1.5rem;display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem}.study-info h2{font:500 1.3rem/1.2 system-ui,sans-serif;margin:0}.study-info p{grid-column:1;margin:0;color:var(--muted);font-size:.83rem}.study-info .study-arrow{grid-column:2;grid-row:1/3;align-self:center;font-size:1.4rem}
.library-note{padding:2.5rem 0;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.library-note p{margin:0}.library-note a{color:var(--ink);text-underline-offset:4px}
.study-dialog{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:0;background:#fff;overflow:auto;color:var(--ink)}
.study-dialog::backdrop{background:#102632e6}.study-toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#102632;color:#edf5f2;padding:.8rem 1.25rem;font-size:.72rem;line-height:1.45}
.study-toolbar strong{display:block;color:#a9d2c7;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.study-toolbar button{flex:none;border:1px solid #6b8488;background:transparent;color:#fff;min-height:42px;padding:.5rem .8rem;border-radius:2px}.study-toolbar button:hover{background:#29454f}
.action-dialog{max-width:520px;width:calc(100% - 2rem);border:0;border-radius:0;padding:2.3rem;color:var(--ink);background:#f8f6f0}.action-dialog::backdrop{background:#102632b8}.action-dialog h2{font:400 2rem/1.15 Georgia,serif;margin:1rem 0}.action-dialog p{color:var(--muted);font-size:.95rem}.action-dialog .dialog-close{float:right;min-width:40px;min-height:40px;border:1px solid var(--line);background:transparent}.action-dialog .project-link{display:inline-block;background:var(--teal);color:#fff;padding:.8rem 1rem;text-decoration:none;margin-top:1rem;font-size:.85rem}
.demo-action-space{margin-top:1.5rem}.local-kicker.kicker-light{color:#7bd5c9}.text-center{text-align:center}
    /* Standalone demos share content, not layouts */
    .local-demo { min-height: 100vh; }
    .local-shell { width: min(100% - 2.4rem, 1180px); margin-inline: auto; }
    .local-demo button { cursor: pointer; }
    .local-cta { border: 0; border-radius: .75rem; background: var(--local-accent); padding: .9rem 1.15rem; color: white; font: inherit; font-size: .8rem; font-weight: 850; }
    .local-kicker { margin: 0; color: var(--local-accent); font-size: .7rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
    .local-demo-footer { padding: 1.4rem; background: #082c35; color: rgba(255,255,255,.68); font-size: .72rem; text-align: center; }

    .local-meridian { --local-accent:#1d6f79; --local-ink:#173d42; background:#fbfdfb; color:var(--local-ink); font-family:"Segoe UI", sans-serif; }
    .meridian-header { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; min-height:82px; }
    .meridian-logo { font-family:Georgia,serif; font-size:1.25rem; font-weight:700; }
    .meridian-header nav { display:flex; justify-content:center; gap:1.5rem; font-size:.78rem; }
    .meridian-header .local-cta { justify-self:end; }
    .meridian-hero { border-block:1px solid #d7e6df; background:linear-gradient(90deg,#f8fbf8 0 68%,#e7f1ec 68%); }
    .meridian-hero-grid { display:grid; grid-template-columns:1.05fr .72fr; align-items:center; gap:5rem; padding:clamp(4rem,8vw,7.5rem) 0; }
    .meridian-hero h1 { max-width:760px; margin:.8rem 0 0; font:500 clamp(3.8rem,7vw,6.8rem)/.95 Georgia,serif; letter-spacing:-.055em; }
    .meridian-hero-copy > p:last-of-type { max-width:640px; color:#5f7774; font-size:1.05rem; line-height:1.75; }
    .meridian-path { border:1px solid #bfd5cc; background:rgba(255,255,255,.8); padding:1.7rem; box-shadow:14px 14px 0 rgba(29,111,121,.1); }
    .meridian-path > strong { display:block; margin:.7rem 0 1rem; font:500 1.8rem/1.1 Georgia,serif; }
    .meridian-path ol { margin:0 0 1.4rem; padding:0; list-style:none; counter-reset:path; }
    .meridian-path li { display:flex; gap:.7rem; border-top:1px solid #d8e5df; padding:.75rem 0; color:#55706d; font-size:.82rem; }
    .meridian-path li::before { counter-increment:path; content:"0" counter(path); color:#1d6f79; font:700 .65rem monospace; }
    .meridian-proof { border-bottom:1px solid #d7e6df; background:white; }
    .meridian-proof-grid { display:grid; grid-template-columns:repeat(3,1fr); }
    .meridian-proof-grid div { padding:1.5rem; border-right:1px solid #d7e6df; }
    .meridian-proof-grid div:last-child { border:0; }
    .meridian-proof-grid strong { display:block; font:500 1.7rem Georgia,serif; }
    .meridian-proof-grid span { color:#708681; font-size:.72rem; }
    .meridian-services { padding:5.5rem 0; }
    .meridian-services h2 { max-width:650px; margin:.6rem 0 2rem; font:500 clamp(2.7rem,5vw,4.8rem)/1 Georgia,serif; letter-spacing:-.045em; }
    .meridian-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
    .meridian-service { min-height:250px; border:1px solid #d7e6df; background:white; padding:1.4rem; }
    .meridian-service span { color:#1d6f79; font:700 .68rem monospace; }
    .meridian-service h3 { margin:4.2rem 0 .6rem; font:500 1.5rem Georgia,serif; }
    .meridian-service p { color:#667d79; line-height:1.65; }
    .meridian-closing { padding:5rem 0; background:#173d42; color:white; }
    .meridian-closing-grid { display:grid; grid-template-columns:1fr auto; align-items:end; gap:2rem; }
    .meridian-closing h2 { max-width:700px; margin:.6rem 0 0; font:500 clamp(3rem,6vw,5.4rem)/.95 Georgia,serif; }

    .local-gridline { --local-accent:#3659a8; --local-ink:#17233f; display:grid; grid-template-columns:220px 1fr; min-height:100vh; background:#f5f6f8; color:var(--local-ink); font-family:Arial, sans-serif; }
    .gridline-rail { position:sticky; top:0; display:flex; height:calc(100vh - 35px); flex-direction:column; border-right:1px solid #bbc4d1; background:#fff; padding:1.4rem; }
    .gridline-logo { display:flex; align-items:center; gap:.65rem; font:800 1rem "Arial Narrow",Arial,sans-serif; text-transform:uppercase; }
    .gridline-logo b { display:grid; width:2rem; height:2rem; place-items:center; background:#3659a8; color:white; }
    .gridline-rail nav { display:grid; gap:0; margin-top:4rem; }
    .gridline-rail nav a { border-top:1px solid #ccd3dc; padding:.85rem 0; font-size:.72rem; text-transform:uppercase; }
    .gridline-rail .local-cta { margin-top:auto; border-radius:0; }
    .gridline-status { display:flex; justify-content:space-between; border-bottom:1px solid #bbc4d1; padding:.75rem 1.3rem; font:700 .64rem monospace; letter-spacing:.08em; text-transform:uppercase; }
    .gridline-hero { position:relative; overflow:hidden; min-height:520px; border-bottom:1px solid #bbc4d1; padding:clamp(3rem,7vw,6rem) clamp(1.3rem,6vw,5rem); }
    .gridline-index { position:absolute; right:1rem; top:-2rem; color:#3659a8; font:800 clamp(12rem,27vw,25rem)/1 "Arial Narrow",Arial,sans-serif; opacity:.07; }
    .gridline-hero h1 { position:relative; max-width:890px; margin:1rem 0 0; font:900 clamp(4.3rem,10vw,9rem)/.78 "Arial Narrow",Arial,sans-serif; letter-spacing:-.07em; text-transform:uppercase; }
    .gridline-hero-row { position:relative; display:grid; grid-template-columns:1fr auto; align-items:end; gap:2rem; margin-top:2.5rem; }
    .gridline-hero-row p { max-width:560px; margin:0; color:#59657b; line-height:1.65; }
    .gridline-metrics { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid #bbc4d1; background:#17233f; color:white; }
    .gridline-metrics div { border-right:1px solid rgba(255,255,255,.2); padding:1.4rem; }
    .gridline-metrics strong { display:block; font:800 1.6rem "Arial Narrow",Arial,sans-serif; }
    .gridline-metrics span { color:#aeb9ce; font-size:.68rem; text-transform:uppercase; }
    .gridline-directory { padding:4.5rem clamp(1.3rem,6vw,5rem); }
    .gridline-directory h2 { margin:.5rem 0 2rem; font:800 clamp(2.8rem,6vw,5rem)/.9 "Arial Narrow",Arial,sans-serif; text-transform:uppercase; }
    .gridline-row { display:grid; grid-template-columns:70px .75fr 1.25fr auto; gap:1.2rem; align-items:center; border-top:1px solid #bbc4d1; padding:1.3rem 0; }
    .gridline-row > span { color:#3659a8; font:700 .72rem monospace; }
    .gridline-row h3 { margin:0; font:800 1.25rem "Arial Narrow",Arial,sans-serif; text-transform:uppercase; }
    .gridline-row p { margin:0; color:#667084; line-height:1.55; }
    .gridline-row b { font-size:1.4rem; }
    .gridline-end { display:flex; align-items:center; justify-content:space-between; gap:2rem; border-top:1px solid #bbc4d1; background:white; padding:2.5rem clamp(1.3rem,6vw,5rem); }
    .gridline-end h2 { margin:0; font:800 clamp(2rem,4vw,3.8rem)/.9 "Arial Narrow",Arial,sans-serif; text-transform:uppercase; }

    .local-kinetic { --local-accent:#f0542d; --local-ink:#171713; background:#fff5e7; color:var(--local-ink); font-family:"Trebuchet MS",sans-serif; }
    .kinetic-ticker { overflow:hidden; border-bottom:2px solid #171713; background:#dfff49; padding:.55rem 0; font:900 .72rem monospace; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
    .kinetic-ticker span { display:inline-block; min-width:100%; word-spacing:1.5rem; }
    .kinetic-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:76px; border-bottom:2px solid #171713; }
    .kinetic-logo { font:900 1.2rem Impact,"Arial Black",sans-serif; letter-spacing:.03em; text-transform:uppercase; }
    .kinetic-header nav { display:flex; gap:1.4rem; font-size:.74rem; font-weight:850; text-transform:uppercase; }
    .local-kinetic .local-cta { border:2px solid #171713; border-radius:0; box-shadow:4px 4px 0 #171713; }
    .kinetic-hero { position:relative; overflow:hidden; min-height:650px; border-bottom:2px solid #171713; }
    .kinetic-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.25fr .55fr; align-items:end; gap:2rem; padding:5rem 0 4rem; }
    .kinetic-hero h1 { margin:1rem 0 0; font:400 clamp(5.4rem,13vw,12rem)/.72 Impact,"Arial Black",sans-serif; letter-spacing:-.035em; text-transform:uppercase; }
    .kinetic-hero-copy p:last-of-type { max-width:560px; font-size:1.05rem; line-height:1.6; }
    .kinetic-slash { position:absolute; width:74vw; height:210px; right:-14vw; top:190px; background:#f0542d; transform:rotate(-10deg); }
    .kinetic-note { position:relative; border:2px solid #171713; background:#dfff49; padding:1.3rem; box-shadow:9px 9px 0 #171713; transform:rotate(2deg); }
    .kinetic-note strong { display:block; margin:1rem 0 3.5rem; font:400 2.2rem/1 Impact,"Arial Black",sans-serif; text-transform:uppercase; }
    .kinetic-services { padding:5.5rem 0; }
    .kinetic-services-head { display:flex; align-items:end; justify-content:space-between; gap:2rem; }
    .kinetic-services h2 { max-width:750px; margin:.6rem 0 0; font:400 clamp(4rem,9vw,8rem)/.78 Impact,"Arial Black",sans-serif; text-transform:uppercase; }
    .kinetic-card-grid { display:grid; grid-template-columns:1.1fr .8fr 1fr; align-items:start; gap:1.2rem; margin-top:3rem; }
    .kinetic-card { min-height:270px; border:2px solid #171713; background:white; padding:1.35rem; box-shadow:7px 7px 0 #171713; }
    .kinetic-card:nth-child(2) { margin-top:4rem; background:#dfff49; transform:rotate(-1deg); }
    .kinetic-card:nth-child(3) { margin-top:1rem; background:#f0542d; color:white; transform:rotate(1deg); }
    .kinetic-card span { font:800 .72rem monospace; }
    .kinetic-card h3 { margin:4.5rem 0 .7rem; font:400 2rem/1 Impact,"Arial Black",sans-serif; text-transform:uppercase; }
    .kinetic-card p { line-height:1.6; }
    .kinetic-end { border-top:2px solid #171713; background:#171713; padding:5rem 0; color:white; }
    .kinetic-end-grid { display:grid; grid-template-columns:1fr auto; align-items:center; gap:2rem; }
    .kinetic-end h2 { max-width:760px; margin:0; font:400 clamp(4rem,9vw,8rem)/.78 Impact,"Arial Black",sans-serif; text-transform:uppercase; }

    .local-haven { --local-accent:#74608b; --local-ink:#403747; background:#fdfbfe; color:var(--local-ink); font-family:Optima,Candara,sans-serif; }
    .haven-header { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:88px; }
    .haven-header nav { display:flex; gap:1.2rem; color:#716779; font-size:.76rem; }
    .haven-logo { font:500 1.25rem "Palatino Linotype",Palatino,serif; text-align:center; }
    .haven-header .local-cta { justify-self:end; border-radius:999px; }
    .haven-hero { position:relative; overflow:hidden; padding:clamp(5rem,10vw,9rem) 0 4.5rem; text-align:center; }
    .haven-orbit { position:absolute; width:min(72vw,680px); aspect-ratio:1; left:50%; top:48%; border:1px solid #ded6e5; border-radius:50%; transform:translate(-50%,-50%); }
    .haven-orbit::before,.haven-orbit::after { position:absolute; border:1px solid #e9e2ed; border-radius:50%; content:""; }
    .haven-orbit::before { inset:14%; }
    .haven-orbit::after { inset:31%; background:rgba(255,255,255,.65); }
    .haven-hero-inner { position:relative; z-index:2; max-width:870px; }
    .haven-hero h1 { margin:1rem 0 0; font:400 clamp(4rem,8vw,7.5rem)/.94 "Palatino Linotype",Palatino,serif; letter-spacing:-.045em; }
    .haven-hero p:last-of-type { max-width:590px; margin:1.5rem auto; color:#756d7c; font-size:1.05rem; line-height:1.75; }
    .haven-hero .local-cta { border-radius:999px; }
    .haven-pathway { width:min(100% - 2.4rem,900px); margin:0 auto; padding:4rem 0 6rem; }
    .haven-pathway > h2 { max-width:650px; margin:.6rem auto 3rem; font:400 clamp(2.8rem,5vw,4.7rem)/1 "Palatino Linotype",Palatino,serif; text-align:center; }
    .haven-step { display:grid; grid-template-columns:90px 1fr auto; align-items:center; gap:1.4rem; border-top:1px solid #ded6e5; padding:1.5rem 0; }
    .haven-step > span { display:grid; width:3.5rem; height:3.5rem; place-items:center; border:1px solid #cfc3d8; border-radius:50%; color:#74608b; font:700 .7rem monospace; }
    .haven-step h3 { margin:0; font:400 1.65rem "Palatino Linotype",Palatino,serif; }
    .haven-step p { max-width:420px; margin:.35rem 0 0; color:#7a7180; line-height:1.55; }
    .haven-step b { color:#a69aaf; font-weight:400; }
    .haven-quote { padding:6rem 0; background:#eee8f2; text-align:center; }
    .haven-quote blockquote { max-width:850px; margin:0 auto 1.5rem; font:400 clamp(2.8rem,6vw,5.4rem)/1 "Palatino Linotype",Palatino,serif; }
    .haven-quote .local-cta { border-radius:999px; }

    .local-orbit { --local-accent:#1576b8; --local-ink:#123c58; background:#f5fbff; color:var(--local-ink); font-family:"Century Gothic","Trebuchet MS",sans-serif; }
    .orbit-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:88px; }
    .orbit-logo { font-size:1.1rem; font-weight:850; }
    .orbit-nav { display:flex; gap:.35rem; border:1px solid #c8dfed; border-radius:999px; background:white; padding:.3rem; }
    .orbit-nav a { border-radius:999px; padding:.55rem .8rem; font-size:.7rem; font-weight:800; }
    .orbit-nav a:first-child { background:#e9f6ff; }
    .orbit-header .local-cta { border-radius:999px; }
    .orbit-hero { overflow:hidden; padding:3rem 0 6rem; }
    .orbit-hero-grid { display:grid; grid-template-columns:1fr .85fr; align-items:center; gap:3rem; }
    .orbit-hero h1 { margin:1rem 0 0; font-size:clamp(4rem,8vw,7.6rem); line-height:.9; letter-spacing:-.065em; }
    .orbit-hero-copy > p:last-of-type { max-width:600px; color:#5e7b8d; font-size:1.04rem; line-height:1.7; }
    .orbit-stage { position:relative; min-height:510px; }
    .orbit-arch { position:absolute; inset:0 8% 0 8%; display:flex; flex-direction:column; justify-content:flex-end; border-radius:50% 50% 2rem 2rem; background:linear-gradient(160deg,#1576b8,#32a4d6); padding:2rem; color:white; }
    .orbit-arch strong { font-size:2rem; line-height:1.05; }
    .orbit-arch span { margin-top:.7rem; font-size:.78rem; opacity:.8; }
    .orbit-bubble { position:absolute; display:grid; width:6.6rem; height:6.6rem; place-items:center; border-radius:50%; background:white; color:#1576b8; box-shadow:0 18px 40px rgba(18,60,88,.15); font-size:.72rem; font-weight:850; text-align:center; }
    .orbit-bubble.one { left:0; top:14%; }
    .orbit-bubble.two { right:0; top:38%; background:#ffcf58; color:#5b4700; }
    .orbit-bubble.three { left:4%; bottom:4%; background:#d8f7ee; color:#146554; }
    .orbit-bento { padding:5.5rem 0; background:white; }
    .orbit-bento h2 { max-width:720px; margin:.6rem 0 2.5rem; font-size:clamp(3rem,6vw,5.5rem); line-height:.92; letter-spacing:-.055em; }
    .orbit-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:1rem; }
    .orbit-card { min-height:245px; border-radius:2rem; background:#e9f6ff; padding:1.6rem; }
    .orbit-card:first-child { grid-row:span 2; min-height:510px; background:#123c58; color:white; }
    .orbit-card:nth-child(3) { background:#ffedb1; }
    .orbit-card span { display:grid; width:3rem; height:3rem; place-items:center; border-radius:50%; background:white; color:#1576b8; font:800 .7rem monospace; }
    .orbit-card h3 { margin:5.5rem 0 .7rem; font-size:1.7rem; }
    .orbit-card:first-child h3 { margin-top:15rem; font-size:2.5rem; }
    .orbit-card p { max-width:480px; color:inherit; line-height:1.65; opacity:.75; }
    .orbit-end { padding:5rem 0; background:#d8f7ee; }
    .orbit-end-grid { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
    .orbit-end h2 { max-width:760px; margin:0; font-size:clamp(3rem,6vw,5.5rem); line-height:.92; letter-spacing:-.055em; }
    .orbit-end .local-cta { border-radius:999px; }

    .local-atelier { --local-accent:#b8874e; --local-ink:#251f1a; background:#eee4d6; color:#251f1a; font-family:"Helvetica Neue",Arial,sans-serif; }
    .atelier-header { background:#251f1a; color:#f1e9dd; }
    .atelier-header-inner { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:88px; }
    .atelier-header nav { display:flex; gap:1.2rem; color:#c2b5a4; font-size:.7rem; text-transform:uppercase; }
    .atelier-logo { font:400 1.4rem Didot,"Bodoni MT","Times New Roman",serif; letter-spacing:.08em; text-align:center; text-transform:uppercase; }
    .atelier-header .local-cta { justify-self:end; border:1px solid #8d7457; border-radius:0; background:transparent; color:#e9d7c0; }
    .atelier-hero { background:#251f1a; color:#f1e9dd; }
    .atelier-hero-grid { display:grid; grid-template-columns:1fr .34fr; gap:3rem; border-top:1px solid #564a3d; padding:3rem 0 6rem; }
    .atelier-issue { color:#b8874e; font-size:.66rem; letter-spacing:.15em; text-transform:uppercase; }
    .atelier-hero h1 { margin:2.2rem 0 0; font:400 clamp(5rem,12vw,11rem)/.78 Didot,"Bodoni MT","Times New Roman",serif; letter-spacing:-.055em; }
    .atelier-hero h1 em { color:#caa271; font-weight:400; }
    .atelier-summary { display:flex; flex-direction:column; justify-content:flex-end; border-left:1px solid #564a3d; padding-left:1.5rem; }
    .atelier-summary p { color:#bfb4a6; line-height:1.7; }
    .atelier-summary .local-cta { align-self:flex-start; border-radius:0; background:#b8874e; color:#251f1a; }
    .atelier-services { padding:6rem 0; }
    .atelier-services-header { display:grid; grid-template-columns:.3fr 1fr; gap:2rem; margin-bottom:3rem; }
    .atelier-services h2 { margin:0; font:400 clamp(3.8rem,8vw,7rem)/.9 Didot,"Bodoni MT","Times New Roman",serif; }
    .atelier-service { display:grid; grid-template-columns:90px .7fr 1.1fr; gap:2rem; border-top:1px solid #9e8e7c; padding:1.6rem 0; }
    .atelier-service span { color:#9a6d39; font:700 .68rem monospace; }
    .atelier-service h3 { margin:0; font:400 1.8rem Didot,"Bodoni MT","Times New Roman",serif; }
    .atelier-service p { margin:0; color:#6e6257; line-height:1.65; }
    .atelier-philosophy { background:#d9c9b5; padding:5rem 0; }
    .atelier-philosophy-grid { display:grid; grid-template-columns:.22fr 1fr .55fr; align-items:end; gap:2rem; }
    .atelier-philosophy h2 { margin:0; font:400 clamp(3.5rem,7vw,6.8rem)/.9 Didot,"Bodoni MT","Times New Roman",serif; }
    .atelier-philosophy p { color:#6d6053; line-height:1.7; }
    .atelier-final { padding:5rem 0; background:#251f1a; color:#f1e9dd; }
    .atelier-final-grid { display:flex; align-items:end; justify-content:space-between; gap:2rem; }
    .atelier-final h2 { max-width:800px; margin:0; font:400 clamp(4rem,9vw,8rem)/.82 Didot,"Bodoni MT","Times New Roman",serif; }
    .atelier-final .local-cta { border-radius:0; background:#b8874e; color:#251f1a; }

    @media (max-width: 900px) {
      .meridian-hero-grid,.kinetic-hero-grid,.orbit-hero-grid,.atelier-hero-grid { grid-template-columns:1fr; }
      .local-gridline { grid-template-columns:78px 1fr; }
      .gridline-logo span,.gridline-rail nav a span { display:none; }
      .gridline-rail { padding:.8rem; }
      .gridline-rail .local-cta { padding:.65rem .2rem; font-size:.6rem; }
      .kinetic-hero { min-height:0; }
      .kinetic-slash { top:210px; }
      .kinetic-note { max-width:420px; }
      .orbit-stage { min-height:470px; }
      .atelier-summary { min-height:280px; }
      .atelier-philosophy-grid { grid-template-columns:1fr; }
    }
    @media (max-width: 680px) {
      .local-shell { width:min(100% - 1.2rem,1180px); }
      .meridian-header,.haven-header,.atelier-header-inner { grid-template-columns:1fr auto; }
      .meridian-header nav,.haven-header nav,.atelier-header nav,.kinetic-header nav,.orbit-nav { display:none; }
      .meridian-hero { background:linear-gradient(180deg,#f8fbf8 0 70%,#e7f1ec 70%); }
      .meridian-service-grid,.meridian-proof-grid,.kinetic-card-grid { grid-template-columns:1fr; }
      .meridian-proof-grid div { border-right:0; border-bottom:1px solid #d7e6df; }
      .meridian-closing-grid,.kinetic-end-grid,.orbit-end-grid,.atelier-final-grid { align-items:flex-start; flex-direction:column; display:flex; }
      .gridline-hero-row,.gridline-row { grid-template-columns:1fr; }
      .gridline-metrics { grid-template-columns:1fr; }
      .gridline-metrics div { border-right:0; border-bottom:1px solid rgba(255,255,255,.2); }
      .kinetic-card:nth-child(2),.kinetic-card:nth-child(3) { margin-top:0; }
      .haven-step { grid-template-columns:64px 1fr; }
      .haven-step b { display:none; }
      .orbit-grid { grid-template-columns:1fr; }
      .orbit-card:first-child { grid-row:auto; min-height:350px; }
      .orbit-card:first-child h3 { margin-top:8rem; }
      .atelier-services-header,.atelier-service { grid-template-columns:1fr; }
    }


@media(max-width:680px){.library-shell{width:calc(100% - 2rem)}.library-header .library-shell{min-height:78px}.library-brand img{width:165px;height:55px}.back-link{font-size:.75rem}.library-intro{padding:3rem 0 2rem}.study-grid{grid-template-columns:1fr;gap:1rem;padding-bottom:3rem}.study-sample{height:220px}.study-toolbar{padding:.6rem .75rem;gap:.5rem;font-size:.63rem}.study-toolbar button{font-size:.7rem}.action-dialog{padding:1.5rem}}
/* At 320px, preserve Gridline's rail while leaving a 248px content column.
   The content column's 16px side padding leaves 216px for readable text. */
@media(max-width:420px){
  .study-toolbar,.study-toolbar strong,.study-toolbar button{font-size:.75rem}
  .local-demo h1,.local-demo h2,.local-demo h3{overflow-wrap:break-word}
  .local-demo-footer,.local-kicker{font-size:.75rem}
  .local-gridline{grid-template-columns:72px minmax(0,1fr)}
  .local-gridline>main{min-width:0}
  .gridline-rail{padding:.65rem}
  .gridline-rail nav a{font-size:.75rem;min-height:44px;padding:.85rem .1rem}
  .gridline-rail .local-cta{min-height:44px;font-size:.75rem;padding:.7rem .1rem;letter-spacing:-.02em}
  .gridline-status{flex-direction:column;gap:.3rem;padding:.75rem 1rem;font-size:.75rem;letter-spacing:.04em}
  .gridline-hero{min-height:0;padding:2.5rem 1rem}
  .gridline-hero h1{font-size:clamp(1.875rem,10vw,2.5rem);line-height:.9;letter-spacing:-.045em}
  .gridline-directory{padding:3rem 1rem}
  .gridline-directory h2{font-size:clamp(1.875rem,9vw,2.4rem);line-height:1}
  .gridline-metrics div{padding:1.1rem 1rem}
  .gridline-metrics strong{font-size:1.375rem;overflow-wrap:break-word}
  .gridline-metrics span,.gridline-row>span{font-size:.75rem}
  .gridline-end{padding:2rem 1rem;flex-direction:column;align-items:flex-start}
  .gridline-end h2{font-size:clamp(1.75rem,8vw,2.35rem);line-height:1}
  .kinetic-header,.orbit-header{flex-wrap:wrap;gap:.65rem;padding-block:1rem}
  .kinetic-hero h1{font-size:clamp(3rem,13vw,4rem);line-height:.86}
  .kinetic-services h2,.kinetic-end h2{font-size:clamp(2.7rem,12vw,4rem);line-height:.9}
  .kinetic-note,.kinetic-card:nth-child(2),.kinetic-card:nth-child(3){transform:none}
  .kinetic-note{box-shadow:5px 5px 0 #171713}
  .kinetic-card h3{font-size:1.7rem}
  .orbit-arch strong{font-size:1.7rem}
  .atelier-services h2,.atelier-final h2{font-size:clamp(2.7rem,12vw,3.8rem);line-height:.95}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
