/* SuffolkWeb / Neon Velocity. Heritage uses its own frozen stylesheet. */
@font-face{font-family:"Plus Jakarta Sans";src:url('/fonts/PlusJakartaSans-ExtraBold.woff2') format('woff2');font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:"Geist Mono";src:url('/fonts/GeistMonoVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url('/fonts/InterVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--background:#050505;--surface:#10110F;--surface-raised:#171914;--text-primary:#FFFFFF;--text-secondary:#ABADA6;--accent:#BFFF00;--accent-hover:#D3FF50;--line:rgba(255,255,255,.12);--control-line:#73786B;--focus:#BFFF00;--error:#FFAAA3;--body:Inter,Arial,Helvetica,sans-serif;--display:"Plus Jakarta Sans",Inter,Arial,sans-serif;--mono:"Geist Mono",Consolas,monospace;--text:clamp(1rem,.96rem + .2vw,1.125rem);--display-xl:clamp(2.6rem,10vw,8.75rem);--display-lg:clamp(2.4rem,1.2rem + 4.7vw,6rem);--heading:clamp(1.8rem,1.1rem + 2vw,3.25rem);--gutter:clamp(24px,4.4vw,80px);--section-space:clamp(76px,9vw,144px);--wrap:1600px;--radius:2rem;--ease:cubic-bezier(.16,1,.3,1);--paper:var(--text-primary);--ink:var(--text-primary);--ink-soft:var(--text-secondary);--copper:var(--accent);--copper-ink:var(--accent);--muted-dark:var(--text-secondary);--dark:var(--background);--dark-soft:var(--surface);--dark-line:var(--line);--sand:var(--surface);--teal:var(--accent);--teal-deep:var(--accent);--leaf:var(--surface);--hand:var(--mono)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--background);color:var(--text-primary);font:400 var(--text)/1.7 var(--body);-webkit-font-smoothing:antialiased;isolation:isolate}body::before{content:"";position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}::selection{background:var(--accent);color:var(--background)}img,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}button:disabled{opacity:.65;cursor:wait}[hidden]{display:none!important}h1,h2,h3,h4{font-family:var(--display);font-weight:800;letter-spacing:-.05em;line-height:1.08;margin:0 0 .6em;text-transform:uppercase;text-wrap:balance}h1{font-size:var(--display-lg)}h2{font-size:var(--heading)}h3{font-size:clamp(1.35rem,1.04rem + 1.1vw,2.1rem)}h4{font-size:1.15rem}p{margin:0 0 1.2em}em{font-style:normal;color:var(--accent)}ul,ol{padding-left:1.4em}figure{margin:0}.wrap{width:min(calc(100% - var(--gutter)*2),var(--wrap));margin-inline:auto}.narrow{width:min(calc(100% - var(--gutter)*2),840px);margin-inline:auto}.section{padding-block:var(--section-space)}.section--tight{padding-block:clamp(40px,5vw,80px)}.section--sand,.section--dark{background:var(--surface)}.visually-hidden{position:absolute!important;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.hp,.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.skip{position:fixed;top:8px;left:16px;z-index:100;transform:translateY(-200%);padding:12px 20px;background:var(--accent);color:var(--background);font-weight:600;border-radius:30px}.skip:focus{transform:none}.icon{width:24px;height:24px;flex-shrink:0}.eyebrow,.kicker,.card__kicker,.card-index,.meta-label{display:block;font-family:var(--mono);font-size:.6875rem;font-weight:500;line-height:1.7;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:24px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px rgba(191,255,0,.7);margin-right:12px;vertical-align:1px}.soft-ink{color:var(--text-secondary)}

/* Shared controls. */
.btn,.laser-button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;padding:17px 26px;border:1px solid var(--control-line);border-radius:9999px;background:transparent;color:var(--text-primary);font-family:var(--mono);font-size:.6875rem;font-weight:500;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:color .45s var(--ease),background .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),transform .45s var(--ease)}.btn:hover{background:var(--text-primary);border-color:var(--text-primary);color:var(--background)}.btn span,.laser-button span{font-family:var(--body);font-size:1.3rem;line-height:1;letter-spacing:0}.laser-button,.btn--copper,.btn--primary,.btn--green{background:var(--accent);color:var(--background);border-color:var(--accent);box-shadow:0 0 20px rgba(191,255,0,.18)}.laser-button::before,.btn--copper::before,.btn--primary::before,.btn--green::before{content:"";position:absolute;inset:-100% auto -100% -100%;width:50%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-45deg);pointer-events:none;z-index:-1;transition:left .6s var(--ease)}.laser-button:hover,.btn--copper:hover,.btn--primary:hover,.btn--green:hover{background:var(--accent-hover);color:var(--background);border-color:var(--accent-hover);box-shadow:0 0 30px rgba(191,255,0,.3)}.laser-button:hover::before,.btn--copper:hover::before,.btn--primary:hover::before,.btn--green:hover::before{left:160%}.btn--dark{background:var(--background);border-color:var(--control-line);color:var(--text-primary)}.btn--small{min-height:48px;padding:13px 22px;font-size:.6875rem}.btn:active,.laser-button:active{transform:translateY(1px)}.text-link,.more-link{display:inline-flex;align-items:center;gap:24px;min-height:48px;padding-block:10px;border-bottom:1px solid var(--control-line);font:500 .6875rem/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;text-decoration:none}.text-link span{font:400 1.3rem/1 var(--body);transition:transform .45s var(--ease)}.text-link:hover span{transform:translate(3px,-3px)}

/* Header and mobile dock. */
.site-header{position:relative;z-index:30;background:var(--background)}.site-header__row{display:flex;align-items:center;min-height:106px;gap:36px;border-bottom:1px solid var(--line)}.brand{display:block;width:228px;flex-shrink:0;color:var(--text-primary);text-decoration:none}.brand img{width:100%;height:auto}.site-nav{margin-left:auto}.nav{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:30px}.nav a{position:relative;display:flex;align-items:center;min-height:48px;color:var(--text-secondary);font:500 .6875rem/1.5 var(--mono);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:color .4s var(--ease)}.nav a:hover,.nav a[aria-current]{color:var(--accent)}.nav a[aria-current]::after{position:absolute;content:"";height:2px;background:currentColor;left:0;right:0;bottom:4px}.nav-toggle{display:none;align-items:center;gap:12px;min-height:48px;padding:12px 16px;border:1px solid var(--control-line);border-radius:999px;background:transparent;color:var(--text-primary);font:500 .6875rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase}.nav-toggle span{font:400 1.2rem/1 var(--body)}.header-quote{flex-shrink:0}.mobile-dock{display:none}

/* Sharp statement frame over a refracted 3D glass plate. */
.neon-hero{position:relative;overflow:hidden;padding-top:clamp(55px,6vw,100px);background:radial-gradient(ellipse at 48% 32%,rgba(191,255,0,.075),transparent 58%),var(--background)}.neon-hero>.wrap{position:relative;z-index:1}.neon-hero>.wrap>.eyebrow{text-align:center;color:var(--text-secondary);margin-bottom:35px;letter-spacing:.28em}.neon-hero__stage{position:relative;isolation:isolate;margin-inline:auto}.neon-hero__glass{position:absolute;z-index:-1;inset:-20px 9% -28px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:28px;background:linear-gradient(125deg,rgba(255,255,255,.08),rgba(255,255,255,.015) 48%,rgba(191,255,0,.06));box-shadow:0 35px 90px rgba(191,255,0,.08),inset 0 1px 0 rgba(255,255,255,.13);backdrop-filter:blur(12px);transform:perspective(1000px) rotateX(15deg) rotate(-4deg);pointer-events:none}.neon-hero__glass::before{content:"";position:absolute;width:65%;height:150%;top:-45%;left:15%;border-radius:50%;background:radial-gradient(ellipse,rgba(191,255,0,.15),transparent 67%);filter:blur(32px)}.glass-rail{position:absolute;inset:22px 25px auto;display:flex;justify-content:space-between;color:var(--text-secondary);font:400 .625rem/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase;opacity:.7}.glass-rail:last-child{inset:auto 25px 22px}.glass-emblem{position:absolute;right:10%;bottom:-12%;height:115%;width:auto;opacity:.22}.neon-hero__frame{position:relative;border:12px solid var(--text-primary);border-radius:0;padding:clamp(28px,3.5vw,56px) clamp(15px,2.8vw,46px);text-align:center;background:rgba(5,5,5,.22)}.neon-hero__frame h1{font-size:var(--display-xl);line-height:1.01;letter-spacing:-.06em;margin:0;text-wrap:balance}.neon-hero__frame h1 span{color:var(--accent)}.neon-hero__lead{max-width:665px;margin:43px auto 0;text-align:center;color:var(--text-secondary);font-weight:300;font-size:clamp(1rem,.85rem + .5vw,1.25rem);line-height:1.8}.neon-hero__actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:30px;margin:27px auto 54px}.neon-hero__actions .text-link{border-color:transparent}.neon-hero__actions .btn{min-height:60px;padding-inline:30px}.neon-hero__meta{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:30px;border-top:1px solid var(--line);padding:26px 0 31px}.neon-hero__meta>div:last-child{text-align:right}.neon-hero__meta .meta-label{margin:0 0 8px;color:var(--text-secondary);letter-spacing:.18em}.neon-hero__meta p{margin:0;font:500 .75rem/1.6 var(--mono);letter-spacing:.025em;text-transform:uppercase}.neon-hero__meta strong{font-weight:500;color:var(--accent)}.neon-hero__meta time,.neon-hero__meta [data-countdown]{font-variant-numeric:tabular-nums}.section-nav{position:sticky;top:0;z-index:20;background:rgba(10,11,8,.92);backdrop-filter:blur(12px);border-block:1px solid var(--line)}.section-nav .wrap{display:flex;gap:42px;overflow-x:auto;scrollbar-width:none}.section-nav a{display:flex;align-items:center;white-space:nowrap;min-height:60px;font:500 .6875rem/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);text-decoration:none}.section-nav a:last-child{margin-left:auto;gap:28px;color:var(--accent)}.section-nav a:hover{color:var(--accent)}

/* Four service cards occupy a 2+1 / 1+2 bento grid. */
.section__head{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:48px}.section__head h2{font-size:clamp(2.15rem,1.3rem + 3.1vw,4.7rem);line-height:1.04;margin:0}.section__head .eyebrow{margin-bottom:22px}.section__head>p{color:var(--text-secondary);max-width:380px;font-size:.9375rem;line-height:1.8;margin:0 0 3px}.section__head>.text-link{flex-shrink:0}.neon-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.luminosity-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-width:0;min-height:450px;padding:clamp(30px,3vw,48px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);background:radial-gradient(circle at top left,rgba(255,255,255,.045),transparent 70%),var(--background);transition:border-color .5s var(--ease),box-shadow .5s var(--ease),transform .5s var(--ease)}.luminosity-card--wide{grid-column:span 2}.luminosity-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(450px circle at var(--pointer-x,0%) var(--pointer-y,0%),rgba(191,255,0,.075),transparent 70%);opacity:0;transition:opacity .5s var(--ease)}.luminosity-card:hover{border-color:rgba(191,255,0,.4);box-shadow:0 10px 50px rgba(191,255,0,.025)}.luminosity-card:hover::before,.luminosity-card:focus-within::before{opacity:1}.luminosity-card:focus-within{outline:3px solid var(--focus);outline-offset:4px}.card-index{color:var(--text-secondary);margin-bottom:55px}.card-title{font-size:clamp(1.55rem,1.15rem + 1.5vw,2.9rem);line-height:1.12;max-width:17ch;margin-bottom:24px}.card-title a{text-decoration:none}.card-title a::after{content:"";position:absolute;inset:0}.card-title a:focus-visible{outline:0}.card-title a:hover{color:var(--text-primary)}.luminosity-card--wide .card-title{font-size:clamp(2rem,1.2rem + 2.5vw,3.9rem);max-width:16ch}.card-description{max-width:48ch;font-size:.9375rem;line-height:1.8;color:var(--text-secondary);margin:auto 0 0;padding-right:40px}.card-link{pointer-events:none;position:absolute;right:32px;bottom:33px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--control-line);border-radius:50%;font:400 1.45rem/1 var(--body);color:var(--text-primary);transition:color .5s var(--ease),background .5s var(--ease),border-color .5s var(--ease),transform .5s var(--ease)}.luminosity-card:hover .card-link{background:var(--accent);border-color:var(--accent);color:var(--background);transform:translate(2px,-2px)}.capabilities__foot{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:30px}.capabilities__foot p{margin:0;color:var(--text-secondary);font:400 .6875rem/1.8 var(--mono);letter-spacing:.04em}

/* Process, locality and editorial content. */
.split-section{display:grid;grid-template-columns:4fr 6fr;gap:10%}.section-intro h2{font-size:clamp(2.25rem,1.3rem + 3vw,4.5rem);line-height:1.05;margin-bottom:30px}.section-intro>p:not(.eyebrow){max-width:440px;color:var(--text-secondary);font-size:.9375rem;line-height:1.85}.section-intro>.text-link{margin-top:14px}.approach-section{position:relative;border-block:1px solid var(--line);background:radial-gradient(ellipse at 5% 20%,rgba(191,255,0,.045),transparent 52%)}.process-list{list-style:none;padding:0;margin:0}.process-list li{display:grid;grid-template-columns:40px 1fr;gap:22px;padding:36px 0;border-top:1px solid var(--line)}.process-list li:first-child{padding-top:0;border-top:0}.process-list li:last-child{padding-bottom:0}.process-list li>span{font:500 .6875rem/1.7 var(--mono);color:var(--accent);padding-top:6px;letter-spacing:.1em}.process-list h3{font-size:clamp(1.4rem,1.05rem + 1vw,2rem);margin-bottom:17px}.process-list p{font-size:.9375rem;color:var(--text-secondary);line-height:1.8}.process-list p.process-output{font:400 .6875rem/1.7 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:24px 0 0}.local-section{border-bottom:1px solid var(--line)}.local-grid{display:grid;grid-template-columns:6fr 5fr;gap:8.333%}.local-grid h2{font-size:clamp(2.1rem,1.35rem + 2.2vw,4rem);line-height:1.12}.local-grid>div:last-child{padding-top:43px}.local-grid>div:last-child p{max-width:500px;font-size:.9375rem;color:var(--text-secondary);line-height:1.85}.local-grid .towns{font:400 .6875rem/2.2 var(--mono)!important;letter-spacing:.12em;text-transform:uppercase;padding-block:12px;color:var(--text-primary)!important}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.grid--4,.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.035),transparent);transition:border-color .5s var(--ease),background .5s var(--ease)}.card:hover{border-color:rgba(191,255,0,.4);background:linear-gradient(145deg,rgba(191,255,0,.04),transparent)}.card__body{display:flex;flex-direction:column;flex:1}.card__kicker{font-size:.6875rem;letter-spacing:.15em;margin-bottom:30px}.card h3{font-size:clamp(1.5rem,1.1rem + 1.2vw,2.5rem);line-height:1.18;margin-bottom:23px}.card h3 a{text-decoration:none}.card h3 a::after{content:"";position:absolute;inset:0}.card__body>p:not(.card__kicker){color:var(--text-secondary);font-size:.9375rem;line-height:1.8;max-width:52ch}.card__meta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:27px;color:var(--text-secondary);font:400 .6875rem/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase}.card__meta>span:last-child{font:400 1.5rem/1 var(--body);color:var(--accent);transition:transform .5s var(--ease)}.card:focus-within{outline:3px solid var(--focus);outline-offset:5px}.card a:focus-visible{outline:0}.card:hover .card__meta>span:last-child{transform:translate(3px,-3px)}.card__media{margin-bottom:25px;aspect-ratio:16/10;background:var(--surface);overflow:hidden;border-radius:14px}.card__media img{width:100%;height:100%;object-fit:cover}.latest-section{margin-top:64px}.latest{list-style:none;padding:0;margin:0}.latest li{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding:24px 0}.latest a{font-size:1rem;text-decoration:none;font-weight:500}.latest time,.latest__meta{flex-shrink:0;font:400 .6875rem/1.7 var(--mono);color:var(--text-secondary)}

/* Conversion and footer. */
.quote-band{position:relative;overflow:hidden;border-block:1px solid var(--line);padding-block:clamp(76px,9vw,140px);background:radial-gradient(ellipse at 15% 100%,rgba(191,255,0,.12),transparent 60%),var(--surface)}.quote-band>.wrap{display:grid;grid-template-columns:6fr 5fr;gap:8.333%;align-items:center}.quote-band h2{font-size:clamp(2.5rem,1.6rem + 4vw,6rem);line-height:1.04;letter-spacing:-.055em;margin:0}.quote-band__action>p{font-size:1rem;line-height:1.85;color:var(--text-secondary);margin-bottom:28px}.quote-band .btn{min-height:60px}.email-link{display:block;width:fit-content;font:400 .75rem/1.8 var(--mono);margin-top:25px}.site-footer{background:var(--background);padding-top:84px}.footer-grid{display:grid;grid-template-columns:1.75fr 1.25fr 1fr 1.25fr;gap:48px;padding-bottom:65px}.footer-brand img{width:240px;max-width:100%;margin-bottom:30px}.footer-brand p{color:var(--text-secondary);font-size:.9375rem;line-height:1.8}.footer-email{display:inline-flex;align-items:center;min-height:48px;font:400 .75rem/1.7 var(--mono);color:var(--text-primary)}.footer-grid h2,.footer-social h2{font:500 .6875rem/1.7 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);margin:3px 0 22px}.footer-grid ul,.footer-social ul{list-style:none;padding:0;margin:0}.footer-grid li a{display:flex;align-items:center;min-height:48px;padding-block:9px;color:var(--text-primary);font-size:.8125rem;line-height:1.6;text-decoration:none}.site-footer a:hover{color:var(--accent)}.footer-social{display:flex;align-items:center;gap:35px;border-top:1px solid var(--line);padding-block:20px}.footer-social h2{margin:0}.footer-social ul{display:flex;gap:25px;font-size:.8125rem}.footer-legal{border-top:1px solid var(--line);padding-top:28px;color:var(--text-secondary);font-size:.6875rem;line-height:1.85}.footer-legal>p{max-width:920px;margin-bottom:25px}.heritage-note{font-size:.6875rem;color:var(--text-secondary)}.footer-legal>div{display:flex;gap:24px;border-top:1px solid var(--line);padding:23px 0 30px;font:400 .6875rem/1.8 var(--mono)}.footer-legal>div p{margin:0}.footer-legal>div span{margin-left:auto}

/* Existing content routes share an accessible dark reading system. */
.page-head{position:relative;padding:clamp(40px,5vw,78px) 0 clamp(50px,6vw,92px);border-bottom:1px solid var(--line);margin-bottom:clamp(42px,5vw,76px);background:radial-gradient(ellipse at 85% 0%,rgba(191,255,0,.04),transparent 60%)}.page-head h1{max-width:1150px;line-height:1.08;overflow-wrap:anywhere}.page-head__lead{max-width:760px;color:var(--text-secondary);font-size:clamp(1.05rem,.94rem + .4vw,1.3rem);line-height:1.8;margin:28px 0 0;font-weight:300}.crumbs{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;list-style:none;padding:0;margin:0 0 34px;color:var(--text-secondary);font:400 .6875rem/1.8 var(--mono);letter-spacing:.09em;text-transform:uppercase}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0}.crumbs li{display:flex;align-items:center}.crumbs li+li::before{content:"/";margin-right:12px;color:var(--text-secondary)}.crumbs a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.crumbs .icon{width:14px;height:14px}.hub-head{display:grid;grid-template-columns:1fr auto;gap:40px}.hub-head__art{width:270px}.article{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(40px,6vw,100px);padding-bottom:var(--section-space)}.article>div{min-width:0}.article__hero{margin-bottom:40px}.article__hero img{width:100%;height:auto;border-radius:var(--radius)}.prose{font-size:1.0625rem;line-height:1.9;overflow-wrap:break-word;color:#D3D5CE}.prose>p,.prose>ul,.prose>ol{max-width:68ch}.prose h2{color:var(--text-primary);font-size:clamp(1.65rem,1.3rem + 1vw,2.5rem);margin-top:1.8em;line-height:1.2;letter-spacing:-.035em}.prose h3{color:var(--text-primary);font-size:1.45rem;line-height:1.3;margin-top:1.6em;letter-spacing:-.03em}.prose h2:first-child{margin-top:0}.prose li{padding-left:4px;margin-bottom:10px}.prose a{color:var(--accent)}.prose a:hover{color:var(--text-primary)}.prose blockquote{border-left:3px solid var(--accent);margin:35px 0;padding:12px 28px;font-size:1.2rem;color:var(--text-primary)}.prose table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:.9rem}.prose td,.prose th{padding:14px 16px;border:1px solid var(--control-line);text-align:left}.prose pre{overflow:auto;padding:24px;background:var(--surface);color:var(--text-primary);border:1px solid var(--line);border-radius:12px;font-size:.875rem}.prose code{font-family:var(--mono);font-size:.875em}.prose strong{color:var(--text-primary);font-weight:600}.meta-row{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:30px;color:var(--text-secondary);font:400 .6875rem/1.7 var(--mono);text-transform:uppercase;letter-spacing:.1em}.tag,.chips a{display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;border:1px solid var(--control-line);border-radius:999px;text-decoration:none;font:400 .6875rem/1.6 var(--mono);letter-spacing:.07em;text-transform:uppercase}.tag:hover,.chips a:hover,.chips a[aria-current]{background:var(--accent);color:var(--background);border-color:var(--accent)}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0 0 38px}.aside{min-width:0}.toc{border-top:1px solid var(--control-line);padding-top:22px;font-size:.8125rem;margin-bottom:38px;position:sticky;top:84px}.aside .toc{max-height:calc(100vh - 116px);overflow:auto}.toc h2,.panel h2{font-size:1.1rem;line-height:1.35;letter-spacing:-.025em;margin-bottom:20px}.toc ol{list-style:none;padding:0;margin:0}.toc li{border-bottom:1px solid var(--line)}.toc a{display:block;min-height:48px;padding:12px 0;color:var(--text-secondary);text-decoration:none}.toc .lvl-3 a{padding-left:13px;font-size:.75rem}.toc a:hover,.toc a.is-active{color:var(--accent);text-decoration:underline}.toc-inline{display:none}.panel{padding:28px 24px;background:var(--surface);border:1px solid var(--line);border-radius:24px;margin:36px 0}.panel--quote{background:radial-gradient(ellipse at 0 0,rgba(191,255,0,.08),transparent 80%),var(--surface)}.panel p{font-size:.875rem;line-height:1.8;color:var(--text-secondary)}.panel .btn{width:100%;gap:15px;font-size:.6875rem;padding-inline:12px}.panel .join-form__row{display:block;border:0;padding:0;background:transparent;border-radius:0}.panel input{width:100%}.panel .join-form button{width:100%;margin-top:10px}.panel .join-form label{font-size:.6875rem}.link-list{padding-left:1em;font-size:.875rem}.link-list li{margin-bottom:16px}.takeaways{border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--surface);padding:30px 32px;margin-bottom:42px}.takeaways h2{font-size:1.4rem}.takeaways li{font-size:.9375rem;margin-block:12px;color:var(--text-secondary)}.author{display:grid;grid-template-columns:45px 1fr;gap:20px;padding-top:32px;border-top:1px solid var(--line);margin-top:46px}.author h2{font-size:1.2rem;margin:0 0 10px}.author p{font-size:.875rem;color:var(--text-secondary)}.author__avatar{padding-top:5px}.facts{display:flex;list-style:none;padding:0;gap:32px;border-block:1px solid var(--line);margin:30px 0}.facts li{padding-block:22px}.facts b{display:block;font-family:var(--display);font-size:1.75rem;color:var(--accent)}.facts span{font:400 .6875rem/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase}.faq{border-top:1px solid var(--line);margin-top:26px}.faq details{border-bottom:1px solid var(--line)}summary{position:relative;cursor:pointer;min-height:56px;padding:22px 35px 22px 0;font-weight:500;list-style:none;font-size:1rem;line-height:1.6;color:var(--text-primary)}summary::-webkit-details-marker{display:none}summary::after{content:"+";position:absolute;right:5px;top:21px;font:400 1.4rem/1.4 var(--body);color:var(--accent)}details[open]>summary::after{content:"−"}.faq details>div{font-size:.9375rem;line-height:1.85;padding:0 35px 10px 0;color:var(--text-secondary)}.faq p{max-width:65ch}

/* Forms have visible boundaries, labels and error states. */
.join{background:var(--surface);border-top:1px solid var(--line)}.join__grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.join h2{font-size:clamp(2rem,1.4rem + 2.5vw,4rem)}.join__grid>div>p:not(.eyebrow){max-width:460px;font-size:.9375rem;color:var(--text-secondary)}.join-form label{display:block;font:500 .6875rem/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}.join-form__row{display:flex;gap:8px;padding:6px;border:1px solid var(--control-line);border-radius:999px;background:rgba(255,255,255,.05);backdrop-filter:blur(12px)}.join-form input[type=email]{min-width:0;flex:1;border-color:transparent;background:transparent;font-family:var(--mono);font-size:.75rem}.join-small{font-size:.75rem!important;margin-top:18px;line-height:1.8;color:var(--text-secondary)}.join-msg{font-size:.875rem;margin:12px 0 0}.join-msg:empty{display:none}input:not([type=checkbox]),select,textarea{border:1px solid var(--control-line);border-radius:12px;background:var(--surface);color:var(--text-primary);padding:15px 17px;min-height:56px;max-width:100%;box-shadow:none;transition:border-color .35s var(--ease),background .35s var(--ease)}input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:1}input:hover,select:hover,textarea:hover{border-color:#B0B7A2}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error)}textarea{resize:vertical;min-height:170px}select{padding-right:38px}select option{color:var(--text-primary);background:var(--surface)}input[type=checkbox]{accent-color:var(--accent);min-width:22px;min-height:22px;margin-top:2px}.search-form{display:flex;gap:12px;max-width:760px}.search-form input{flex:1;min-width:0;border-radius:999px;padding-inline:23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:9px;min-width:0;margin-bottom:24px}.field label{font:500 .6875rem/1.8 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary)}.field input,.field select,.field textarea{width:100%;font-family:var(--body);font-size:1rem}.field--full{grid-column:1/-1}.form-grid .field{margin:0}.quote-form{margin-top:30px}.quote-form>.field{margin-top:24px}.form-note{font-size:.75rem;color:var(--text-secondary);line-height:1.8;margin-top:20px}.field-error,.form-error{color:var(--error);font-size:.8125rem}.field-error:empty{display:none}.form-error,.form-status:not(:empty){padding:20px 24px;border:1px solid currentColor;border-radius:12px;margin:24px 0}.form-status{font-size:.875rem;color:var(--accent)}.checkbox-field{display:flex;align-items:flex-start;gap:14px;margin:28px 0;font-size:.875rem;line-height:1.8}.checkbox-field label{cursor:pointer}.quote-section{margin-bottom:55px}.quote-section h2{font-size:1.8rem}.message{padding:clamp(64px,10vw,140px) 0}.message .icon{width:40px;height:40px;margin-bottom:28px;color:var(--accent)}.message h1{max-width:800px}.message h2{font-size:2rem}.message p{max-width:680px;color:var(--text-secondary)}.message .hand{display:block;font:500 .6875rem/1.7 var(--mono);text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin-bottom:24px}.pagination{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:45px 0 0;padding:0}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border:1px solid var(--control-line);border-radius:50%;text-decoration:none;font:400 .75rem/1 var(--mono)}.pagination [aria-current=page],.pagination .active span{background:var(--accent);color:var(--background);border-color:var(--accent)}.pagination .is-disabled{color:var(--text-secondary);border-color:var(--line)}.archive-year{margin-bottom:46px}.archive{list-style:none;padding:0;margin:28px 0 0}.archive li{display:flex;justify-content:space-between;align-items:baseline;gap:25px;border-top:1px solid var(--line);padding:24px 0}.archive li>a{font-weight:500;text-decoration:none}.archive li>span{display:flex;align-items:center;gap:20px;flex-shrink:0;color:var(--text-secondary);font:400 .6875rem/1.7 var(--mono)}.archive__cat{display:inline-flex;align-items:center;min-height:48px}

/* All core content is visible without scripts. Reveal animation is progressive. */
@media(min-width:1800px){.neon-hero__frame{padding-block:62px}.neon-hero__glass{inset:-27px 12% -32px}}
@media(max-width:1200px){.site-header__row{gap:24px}.brand{width:200px}.nav{gap:22px}.nav a{letter-spacing:.12em}.header-quote{padding-inline:20px}.neon-hero__frame h1{font-size:9.2vw}.card-description{font-size:.875rem}.footer-grid{gap:28px;grid-template-columns:1.5fr 1.1fr 1fr 1.1fr}.article{grid-template-columns:minmax(0,1fr) 250px;gap:44px}}
@media(max-width:960px){.site-header__row{flex-wrap:wrap;min-height:88px;padding-block:18px;gap:20px}.js .nav-toggle{display:flex;margin-left:auto}.site-nav{width:100%;order:4;margin:0}.js .site-nav{display:none}.js .site-nav.is-open{display:block}.nav{padding-top:16px;justify-content:space-between;border-top:1px solid var(--line)}.header-quote{margin-left:auto}.js .header-quote{margin-left:0}.section-nav .wrap{gap:28px}.neon-hero__frame{padding-block:35px;padding-inline:18px}.neon-hero__glass{inset:-15px 8% -20px}.split-section{grid-template-columns:1fr 1.25fr;gap:6%}.section-intro h2{font-size:3rem}.neon-bento{gap:18px}.luminosity-card{padding:30px;min-height:450px}.card-title{font-size:1.7rem}.luminosity-card--wide .card-title{font-size:2.8rem}.card-index{margin-bottom:40px}.card-description{padding-right:0;margin-bottom:55px}.card-link{right:28px;bottom:28px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-brand{grid-column:1/-1;display:flex;align-items:center;gap:40px}.footer-brand img{width:220px;margin:0}.footer-brand p{margin:0}.footer-email{margin-left:auto}.article{display:block;max-width:840px}.aside{display:none}.toc-inline{display:block;position:static;background:var(--surface);padding:0 24px;margin-bottom:35px;border:1px solid var(--control-line);border-radius:18px}.toc-inline>ol{padding-bottom:20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.join__grid{gap:5%}.join-form__row{display:block;border-radius:28px}.join-form input[type=email]{width:100%}.join-form__row button{width:100%;margin-top:5px}}
@media(max-width:760px){:root{--gutter:24px;--section-space:80px}html{scroll-padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}body{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.site-header__row{min-height:82px;gap:16px;padding-block:16px}.brand{width:195px}.header-quote{display:none}.nav{gap:12px;flex-wrap:wrap}.nav li{flex:1 1 40%}.nav a{font-size:.6875rem;min-height:48px}.mobile-dock{position:fixed;z-index:60;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);display:flex;justify-content:center;gap:5px;width:min(calc(100% - 40px),390px);padding:7px;border:1px solid var(--control-line);border-radius:999px;background:rgba(10,10,10,.88);backdrop-filter:blur(20px);box-shadow:0 10px 35px rgba(5,5,5,.5)}.mobile-dock a{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:48px;min-height:54px;padding:8px 12px;border-radius:999px;color:var(--text-primary);font:500 .6875rem/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}.mobile-dock a:hover,.mobile-dock a[aria-current]{color:var(--accent);background:rgba(191,255,0,.06)}.mobile-dock a:last-child{background:var(--accent);color:var(--background)}.mobile-dock svg{width:19px;height:19px}.mobile-dock a:focus-visible{outline-offset:1px}.neon-hero{padding-top:54px}.neon-hero>.wrap>.eyebrow{letter-spacing:.15em;line-height:1.8;max-width:350px;margin:0 auto 30px}.neon-hero__frame{border-width:9px;padding:30px 14px}.neon-hero__frame h1{font-size:9.2vw;letter-spacing:-.055em;line-height:1.1}.neon-hero__glass{inset:-15px 5% -20px;border-radius:20px}.glass-rail{display:none}.neon-hero__lead{margin-top:36px;max-width:510px;font-size:1rem;line-height:1.8}.neon-hero__actions{gap:15px 22px;margin:24px 0 39px}.neon-hero__actions .btn{font-size:.6875rem;min-height:56px;padding-inline:24px;gap:20px}.neon-hero__actions .text-link{font-size:.6875rem;gap:18px}.neon-hero__meta{gap:25px;padding:25px 0 28px}.neon-hero__meta .meta-label{letter-spacing:.09em}.neon-hero__meta p{font-size:.6875rem;line-height:1.9}.section-nav .wrap{gap:28px}.section-nav a{font-size:.6875rem;min-height:54px;letter-spacing:.05em}.section-nav a:last-child{display:none}.section__head{display:block;margin-bottom:35px}.section__head h2{font-size:clamp(2.1rem,6vw,3.5rem)}.section__head>p{max-width:550px;margin-top:26px}.section__head>.text-link{margin-top:20px}.neon-bento{grid-template-columns:1fr;gap:18px}.luminosity-card,.luminosity-card--wide{grid-column:auto;min-height:365px;padding:32px}.card-index{margin-bottom:38px}.card-title,.luminosity-card--wide .card-title{font-size:clamp(1.9rem,5.4vw,3.3rem);max-width:19ch;margin-bottom:23px}.card-description{font-size:.9375rem;max-width:53ch;padding-right:48px;margin-bottom:0;line-height:1.8}.card-link{right:27px;bottom:30px}.capabilities__foot{display:block;margin-top:25px}.capabilities__foot p{margin-top:20px;max-width:45ch}.split-section{display:block}.section-intro{margin-bottom:46px}.section-intro h2{font-size:clamp(2.25rem,7vw,3.8rem)}.section-intro>p:not(.eyebrow){max-width:550px}.process-list li{gap:18px;grid-template-columns:30px 1fr}.process-list h3{font-size:1.6rem}.local-grid{display:block}.local-grid h2{font-size:clamp(2.1rem,5.6vw,3rem)}.local-grid>div:last-child{padding-top:19px}.notes-grid{gap:22px}.card{padding:26px}.card h3{font-size:1.65rem}.quote-band>.wrap{display:block}.quote-band h2{font-size:clamp(2.7rem,8vw,4.7rem);margin-bottom:33px}.quote-band__action>p{font-size:.9375rem;max-width:550px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px 28px}.footer-brand{display:block}.footer-brand img{width:230px;margin-bottom:23px}.footer-brand p{margin-bottom:14px}.footer-grid h2{margin-bottom:17px}.footer-legal>div{flex-wrap:wrap;gap:12px 24px}.footer-legal>div span{width:100%;margin-left:0}.site-footer{padding-top:60px}.join__grid{display:block}.join__grid>div:first-child{margin-bottom:32px}.join h2{font-size:2.65rem}.join-form__row{display:flex;border-radius:999px}.join-form__row button{width:auto;margin:0}.join-form input[type=email]{width:auto}.page-head{padding-top:29px}.page-head h1{font-size:clamp(2.2rem,6.4vw,3.4rem);letter-spacing:-.045em;line-height:1.12}.page-head__lead{font-size:1.0625rem}.prose{font-size:1rem;line-height:1.9}.prose h2{font-size:1.75rem}.crumbs{margin-bottom:24px;letter-spacing:.04em}.hub-head{display:block}.hub-head__art{margin-top:30px;width:200px}.meta-row{gap:10px 16px}.latest li{display:block}.latest time{display:block;margin-top:9px}.form-grid{grid-template-columns:1fr;gap:24px}.quote-form input,.quote-form select,.quote-form textarea{font-size:1rem}.section--tight{padding-block:40px}.archive li{display:block}.archive li>span{margin-top:9px}.article__hero img{border-radius:20px}.toc-inline summary{font-size:.875rem}.footer-social{align-items:flex-start;gap:22px}.footer-social ul{flex-wrap:wrap;gap:16px}}
@media(max-width:480px){:root{--gutter:20px;--section-space:72px}.brand{width:177px}.nav-toggle{padding:12px 14px}.neon-hero__frame{border-width:8px;padding:27px 10px}.neon-hero__frame h1{font-size:9.15vw;letter-spacing:-.06em}.neon-hero>.wrap>.eyebrow{max-width:300px}.neon-hero__lead{font-size:.9375rem}.neon-hero__actions{flex-direction:column;gap:12px}.neon-hero__actions>.btn{width:100%;max-width:340px;gap:24px}.neon-hero__meta{gap:16px}.neon-hero__meta .meta-label{letter-spacing:.02em}.neon-hero__meta p{letter-spacing:0}.neon-hero__meta>div:last-child{max-width:155px;justify-self:end}.section-nav .wrap{gap:25px}.luminosity-card,.luminosity-card--wide{min-height:380px;padding:29px 25px;border-radius:var(--radius)}.card-title,.luminosity-card--wide .card-title{font-size:clamp(1.7rem,7.4vw,2.35rem);line-height:1.15}.card-description{font-size:.875rem;padding-right:24px;margin-bottom:43px}.card-link{width:38px;height:38px;right:24px;bottom:23px}.card-index{letter-spacing:.12em}.grid,.notes-grid,.grid--4{grid-template-columns:1fr;gap:20px}.card h3{font-size:1.8rem}.card__body>p:not(.card__kicker){font-size:.875rem}.quote-band .btn{width:100%;font-size:.6875rem;gap:20px}.footer-grid{gap:34px 23px}.footer-grid li a{font-size:.75rem;line-height:1.7}.footer-legal{line-height:1.9}.join h2{font-size:2.25rem}.join-form__row{display:block;border-radius:28px;padding:7px}.join-form input[type=email]{width:100%;padding:15px 17px;font-size:.8125rem}.join-form button{margin-top:6px;width:100%}.search-form{display:block}.search-form input{width:100%}.search-form .btn{margin-top:12px;width:100%}.facts{flex-wrap:wrap;gap:10px 25px}.facts li{padding-block:16px}.takeaways{padding:25px}.message h1{font-size:2.25rem}.author{grid-template-columns:30px 1fr;gap:15px}.eyebrow{letter-spacing:.16em}.mobile-dock{width:calc(100% - 32px)}}
@media(max-width:359px){:root{--gutter:16px}.brand{width:157px}.nav-toggle{gap:8px;padding-inline:11px}.neon-hero__frame{padding-inline:9px}.neon-hero__frame h1{font-size:9.05vw}.section-nav .wrap{gap:21px}.card-description{padding-right:0}.page-head h1{font-size:2rem}.footer-grid{grid-template-columns:1fr}.footer-grid>div{grid-column:1/-1}.quote-band h2{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reveal]{opacity:1!important;transform:none!important}.btn:active,.laser-button:active,.text-link:hover span,.luminosity-card:hover .card-link,.card:hover .card__meta>span:last-child{transform:none}.btn::before,.laser-button::before{display:none}}
@media(forced-colors:active){body::before,.neon-hero__glass{display:none}.btn,.laser-button,.luminosity-card,.card,.mobile-dock{border-color:ButtonText}.mobile-dock a:last-child{border:1px solid ButtonText}}
@media print{body::before,.site-header,.site-footer,.section-nav,.mobile-dock,.aside,.quote-band,.join{display:none}.wrap,.narrow{width:100%}body{background:white;color:black;padding:0}.article{display:block}.page-head{padding:20px 0;background:white}.prose{font-size:11pt;color:black}.prose h2,.prose h3,.page-head h1{color:black}.neon-hero,.approach-section,.luminosity-card,.card{background:white;color:black}.neon-hero__glass{display:none}.neon-hero__frame{border-color:black}.neon-hero__frame h1{font-size:44pt}.neon-hero__frame h1 span,.neon-hero__lead,.neon-hero__meta,.page-head__lead{color:black}[data-reveal]{opacity:1!important;transform:none!important}}

/* ---------- Light theme ---------- */

/*
 * The same design, colours inverted. Layout, spacing, type and structure are
 * untouched — this is purely a token override, so anything added to the dark
 * theme picks the light one up for free.
 *
 * The one genuine decision: the accent had to change hue value, not just
 * position. #BFFF00 measures about 1.4:1 against white, which is illegible,
 * and it is used as a text colour in 25 rules. A straight inversion would
 * have produced a site that looks right in a screenshot and cannot be read.
 *
 * #5F7D00 is the same lime family, deep enough to pass WCAG AA as body text
 * on white (about 5.1:1) while still taking near-black text on top of it
 * where the accent is used as a fill (about 5.3:1). It works in both
 * directions, which is what the 25 text uses and 8 background uses demand.
 * The acid punch is softer. That is the cost of it being readable.
 */
:root[data-theme="light"] {
  color-scheme: light;

  --background: #FAFAF7;
  --surface: #FFFFFF;
  --surface-raised: #F1F2EC;
  --text-primary: #0C0D0A;
  --text-secondary: #575B50;
  --accent: #5F7D00;
  --accent-hover: #4A6300;
  --line: rgba(12, 13, 10, .14);
  --control-line: #8C9183;
  --focus: #5F7D00;
  --error: #A32014;

  /* The compatibility aliases Codex kept pointing at the dark tokens. They
     are re-pointed rather than removed, so any rule still using an old name
     resolves to something legible instead of white-on-white. */
  --paper: var(--background);
  --ink: var(--text-primary);
  --ink-soft: var(--text-secondary);
  --copper: var(--accent);
  --copper-ink: var(--accent);
  --muted-dark: var(--text-secondary);
  --dark: var(--text-primary);
  --dark-soft: var(--surface-raised);
  --dark-line: var(--line);
  --sand: var(--surface-raised);
  --teal: var(--accent);
  --teal-deep: var(--accent-hover);
  --leaf: var(--surface-raised);
}

/* A bright lime block on a white page needs dark text, where on black it
   needed none. Scoped to light so the dark theme is untouched. */
:root[data-theme="light"] .btn.grad,
:root[data-theme="light"] .grad { color: #0C0D0A; }

/* The toggle itself. Deliberately plain: it borrows the existing control
   tokens rather than introducing a new component to maintain. */
.theme-toggle {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid var(--control-line);
  background: transparent;
  color: var(--text-primary);
  cursor: pointer;
  transition: border-color .15s var(--ease), color .15s var(--ease);
}
.theme-toggle:hover { border-color: var(--accent); color: var(--accent); }
.theme-toggle svg { width: 17px; height: 17px; }
.theme-toggle .icon-sun { display: none; }
:root[data-theme="light"] .theme-toggle .icon-sun { display: block; }
:root[data-theme="light"] .theme-toggle .icon-moon { display: none; }

/*
 * Two colours in this stylesheet are hard-coded rather than tokenised, and
 * both are light greys chosen to sit on black. On a white page they are all
 * but invisible — .prose is the body copy of every article and long page, so
 * this was the whole of /about reading as faint grey on cream.
 *
 * Overridden here rather than changed at source: the dark theme is the
 * designer's and stays exactly as it is. If those two values are ever
 * tokenised upstream, these two rules simply stop mattering.
 */
:root[data-theme="light"] .prose { color: var(--text-secondary); }
:root[data-theme="light"] .prose strong,
:root[data-theme="light"] .prose b { color: var(--text-primary); }

/* The brand mark, one file per theme. See header.blade.php for why this is
   two images rather than one recoloured by CSS. */
.brand-mark--light { display: none; }
:root[data-theme="light"] .brand-mark--dark { display: none; }
:root[data-theme="light"] .brand-mark--light { display: block; }
