/* Image-led restoration. Original image pixels are never hidden by motion. */
/* Chunky character reading meter, in ETC colors. Click-through and motion-free. */
body{padding-top:22px}
#reading-progress{position:fixed;inset:0 0 auto;z-index:20;box-sizing:border-box;width:100%;max-width:none;margin:0;height:22px;padding:3px 8px;display:flex;align-items:center;gap:8px;overflow:hidden;pointer-events:none;user-select:none;background:#002f42;color:#f27636;font:12px/14px monospace;letter-spacing:0;white-space:pre;transition:none;contain:paint;border-bottom:1px solid #f2763666}
#reading-progress .meter-track{display:block;flex:1;min-width:0;overflow:hidden;color:#f2763659}
#reading-progress .meter-fill{color:#f27636}
#reading-progress .meter-percent{flex:0 0 4ch;text-align:right;color:#f5a172}
#reading-progress:not([data-fraction]){display:none}
.reading-line{justify-content:flex-end}
@media(max-width:760px){.reading-line{padding:4px 0;border-top:0}}
.image-led-home{padding-top:0;padding-bottom:0;border-top:0}
.image-hero{display:grid;grid-template-columns:1fr 1fr;width:100vw;margin-left:calc((1184px - 100vw)/2);min-height:570px}
.image-surface{position:relative;overflow:hidden;isolation:isolate;background:#e8e3d9}
.image-surface>img{display:block;width:100%;height:100%;object-fit:cover;opacity:1;filter:none}
.hero-photo>img{position:absolute;inset:0;object-position:45% center}
.hero-copy{background:linear-gradient(#002f42ed,#002f42ed),url('/assets/neighborhood-waking-up.webp') center/cover;color:var(--paper);padding:70px clamp(30px,3.35vw,64px);display:flex;flex-direction:column;justify-content:center}
.hero-copy h1{font-size:clamp(38px,3.7vw,56px);max-width:13ch;margin-bottom:25px}
.hero-copy .eyebrow,.hero-copy .ellipsis{color:#ff995d}
.hero-copy .lead{font-size:19px;line-height:1.6;max-width:40ch}
.hero-copy .button{background:#f47b32;border-color:#f47b32;color:#002f42;align-self:flex-start;font-size:14px}
.hero-copy .button:hover{background:#ff995d}
.hero-caption{font-size:12px;margin:14px 0 0}
.home-context{padding:50px 0 35px}
.service-links{row-gap:22px}
.service-links h3{margin-bottom:10px}
.learning-photo{aspect-ratio:2.5;max-width:850px;margin:28px 0 36px}
.founder-photo{float:right;width:200px;aspect-ratio:1;border-radius:50%;margin:0 0 30px 42px}.founder-photo>img{object-fit:cover;object-position:center top}#about h2{clear:both}
@media(max-width:760px){.founder-photo{float:none;width:150px;margin:25px 0}}
.route-photo{float:right;width:43%;aspect-ratio:1.65;margin:6px 0 30px 45px}.route-photo~.two-col,.route-photo~.term-grid,.route-photo~.resource,.route-photo~.service-row{clear:both}
main>section:has(.route-photo)::after{content:'';display:table;clear:both}
.ascii-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
main details.resource{position:relative}
.detail-ascii{position:absolute;right:8px;top:0;width:110px;height:12px;pointer-events:none;z-index:1}
@media(max-width:1264px){.image-hero{margin-left:-40px}}
@media(max-width:1050px){.image-hero{margin-left:-28px;min-height:530px}.hero-copy{padding:42px 30px}.hero-copy h1{font-size:42px}}
@media(max-width:760px){.image-hero{margin-left:-20px;grid-template-columns:1fr;min-height:0}.hero-photo{height:205px}.hero-photo>img{object-position:center 57%}.hero-copy{padding:31px 24px 35px}.hero-copy h1{font-size:39px;max-width:18ch;margin-bottom:18px}.hero-copy .lead{font-size:17px;margin-bottom:22px}.hero-copy .eyebrow{margin-bottom:17px}.hero-copy .button{font-size:13px}.hero-caption{margin-top:12px}.home-context{padding-top:35px}.route-photo{float:none;width:100%;aspect-ratio:2;margin:22px 0 28px}.learning-photo{aspect-ratio:2}.service-links .image-surface{margin-bottom:17px}}
@media(max-width:360px){.image-hero{margin-left:-16px}.hero-photo{height:170px}.hero-copy{padding:28px 20px}.hero-copy h1{font-size:35px}.hero-copy .button{font-size:12px;padding:12px}}
@media(prefers-reduced-motion:reduce){.ascii-layer,.detail-ascii{display:none}}

/* Owner's superseding direction: paper on the left, authentic storefront on the right. */
body{padding-top:0}
#reading-progress:not([data-visible="true"]){visibility:hidden}
.reading-line{height:0;padding:0;border:0}
.reading-line>span:last-child{display:none}
.masthead{min-height:86px;gap:28px;padding-block:15px}
.masthead .brand{flex-shrink:0;max-width:320px}
.masthead .brand>span{display:none}
.masthead .brand small{font:600 13px/1.45 Arial,Helvetica,sans-serif;letter-spacing:.075em}
.masthead .brand small br{display:block}
.masthead .brand small br::after{content:' '}
.compact-header .section-nav{margin:0 0 0 auto;width:auto;max-width:none;border:0;padding:0;gap:0 22px;flex-wrap:nowrap;align-items:center}
.compact-header .nav-primary,.compact-header .nav-secondary{width:auto;gap:0 19px;flex-wrap:nowrap;border:0;align-self:center}
.compact-header .nav-primary>a,.compact-header .nav-secondary>a,.compact-header .nav-group,.compact-header .nav-group summary{block-size:20px;line-height:20px}
.nav-cascade-reveal{clip-path:inset(0 100% 0 0);opacity:0;transition:clip-path var(--nav-reveal-duration) linear,opacity .45s ease;white-space:nowrap}
.nav-cascade-reveal.nav-cascade-visible{clip-path:inset(0 0 0 0);opacity:1}
@media(prefers-reduced-motion:reduce){.nav-cascade-reveal{clip-path:none;opacity:1;transition:none}}
.compact-header .nav-primary>a,.compact-header .nav-secondary>a,.compact-header .nav-group summary{display:inline-flex;align-items:center;font-size:13px;line-height:20px;min-height:0;padding:0;white-space:nowrap}
.compact-header .nav-group summary{list-style:none;gap:4px}
.compact-header .nav-group summary::-webkit-details-marker{display:none}
.compact-header .nav-group summary::after{content:'⌄';display:inline-block;color:var(--orange);font-size:12px;line-height:1;transform:translateY(-1px);transition:transform .25s ease}
.compact-header .nav-group[open] summary::after{transform:translateY(1px) rotate(180deg)}
.compact-header .nav-group>div{top:calc(100% - 6px)}
.compact-header .header-tools:empty{display:none}
.navigation-toggle{display:none}
.image-hero{position:relative;display:flex;align-items:stretch;min-height:590px;isolation:isolate}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;z-index:-2;background:var(--paper)}
.hero-photo>img{object-position:center center}
.image-hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#fcfbf8 0%,#fcfbf8 25%,#fcfbf8f5 35%,#fcfbf8cc 46%,#fcfbf870 57%,#fcfbf818 72%,#fcfbf800 85%)}
.hero-copy{background:none;color:var(--ink);width:58%;padding:70px 0 65px max(40px,calc((100vw - 1184px)/2));}
.hero-copy h1{font-size:clamp(42px,4.05vw,60px);max-width:15ch;margin-bottom:24px}
.hero-copy .eyebrow{color:var(--orange)}
.hero-copy .lead{color:var(--muted);max-width:37ch;font-size:19px}
.hero-copy .button{background:var(--ink);border-color:var(--ink);color:var(--paper);font-size:13px}
.hero-copy .button .ellipsis{color:#ff995d}
.hero-copy .button:hover{background:#164b5c}
.hero-caption{color:var(--muted);max-width:43ch}
.image-hero::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,transparent 20%,#fcfbf845 52%,#fcfbf8 100%);opacity:var(--hero-unveil,0)}
.hero-copy{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.image-hero::before{opacity:1}}
@media(max-width:1150px){.masthead .brand{max-width:230px}.compact-header .section-nav{gap:14px}.compact-header .nav-primary,.compact-header .nav-secondary{gap:12px}}
@media(max-width:1050px){.hero-copy{padding-left:28px;width:62%}.hero-copy h1{font-size:46px}.image-hero{min-height:550px}}
@media(max-width:950px){
 .masthead{min-height:76px;flex-wrap:wrap;gap:0 16px;padding-block:12px}
 .masthead .brand{max-width:260px}.masthead .brand small{font-size:12px}
 .navigation-toggle{display:block;margin-left:auto;font-size:13px}
 .compact-header .section-nav{display:none;width:100%;margin:12px 0 0;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--line)}
 .compact-header.navigation-open .section-nav{display:flex}
 .compact-header .nav-primary,.compact-header .nav-secondary{flex-wrap:wrap;gap:0 22px;margin-left:0}
 .compact-header .nav-group>div{z-index:6}
 .hero-copy{width:70%}.hero-copy h1{font-size:43px}
 .image-hero::after{background:linear-gradient(90deg,#fcfbf8 0%,#fcfbf8f5 30%,#fcfbf8d9 46%,#fcfbf866 66%,#fcfbf800 92%)}
}
@media(max-width:760px){
 .hero-copy{width:100%;padding:38px 24px 235px;justify-content:flex-start}
 .hero-copy h1{font-size:39px;max-width:15ch}
 .hero-copy .lead{font-size:17px;max-width:36ch}
 .image-hero{min-height:0}
 .hero-photo{inset:auto 0 0;height:360px}
 .hero-photo>img{object-position:68% center}
 .image-hero::after{background:linear-gradient(180deg,#fcfbf8 0%,#fcfbf8 48%,#fcfbf8eb 59%,#fcfbf870 74%,#fcfbf800 90%)}
 .hero-copy .button{font-size:12px}.hero-caption{font-size:11px;max-width:32ch}
}
@media(max-width:360px){.masthead .brand{max-width:195px}.masthead .brand small{font-size:10px}.masthead{gap:8px}.hero-copy{padding:30px 20px 220px}.hero-copy h1{font-size:35px}.hero-copy .button{font-size:11px;padding:12px}.hero-photo{height:330px}}


/* Surgical timed detail layer. No fonts, hero crop, grid or City belt redesign. */
html{scroll-padding-top:var(--header-clearance,28px)}
.masthead.anchored-header{position:fixed;top:var(--anchor-top,0px);left:50%;transform:translateX(-50%);z-index:19;background:var(--paper);box-shadow:0 8px 18px #002f4210}
.masthead.anchored-header::before{content:'';position:absolute;inset:0 calc((min(1184px,100vw - 80px) - 100vw)/2);background:var(--paper);z-index:-1;pointer-events:none}
.masthead-placeholder{pointer-events:none}
/* Paint-only outgoing presentation: no hit targets, source IDs or accessible landmarks. */
.header-paint{pointer-events:none!important;user-select:none}
.header-paint *{pointer-events:none!important}
.masthead.header-paint:not(.anchored-header){position:absolute;top:var(--paint-top,0px);left:50%;transform:translateX(-50%);margin-top:0;z-index:19}
@media(prefers-reduced-motion:reduce){.header-paint{display:none}}
.awakening-link,.etc-garden a.awakening-link{position:relative;text-decoration-line:none;color:inherit}
/* A link becomes underlined only after its timed reveal has actually begun. */
.awakening-link.awakened,.etc-garden a.awakening-link.awakened{text-decoration-line:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:.22em;transition:text-decoration-color .8s ease}
.awakening-link.ascii-scan,.etc-garden a.awakening-link.ascii-scan{text-decoration-color:var(--orange)}
.awakening-link:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.awakening-link.ascii-scan::before{content:'';position:absolute;left:-.14em;right:-.14em;top:50%;height:1.05em;overflow:hidden;pointer-events:none;background:linear-gradient(90deg,#bd4e221f,#bd4e2260,#bd4e221f);border-radius:2px;animation:etc-link-progress 1.95s ease-in-out both}
.awakening-link.ascii-scan::after{content:'';position:absolute;left:0;right:0;bottom:-.22em;height:1px;pointer-events:none;background:var(--orange);transform-origin:left;animation:etc-link-underline 1.95s cubic-bezier(.25,1,.5,1) both}
@keyframes etc-link-progress{0%{clip-path:inset(0 100% 0 0);opacity:0;transform:translateY(-50%) scaleX(.9)}35%{clip-path:inset(0 0 0 0);opacity:.9;transform:translateY(-50%) scaleX(1)}65%{opacity:.55;transform:translateY(-50%) scaleX(1.025)}78%{opacity:.72;transform:translateY(-50%) scaleX(1)}100%{clip-path:inset(0 0 0 100%);opacity:0;transform:translateY(-50%) scaleX(1)}}
@keyframes etc-link-underline{0%{transform:scaleX(0);opacity:0}20%{opacity:1}75%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
.statement-break{display:block;margin-top:.42rem;position:relative}
.statement-break::before{content:'—';position:absolute;left:-1.45rem;top:0;color:var(--orange);font-weight:700}
.statement-list-item{position:relative;max-inline-size:74ch;margin-block:.25rem!important;padding:.72rem .2rem .72rem 1.45rem;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);text-wrap:pretty}
.statement-list-item::before{content:'—';position:absolute;left:0;top:.72rem;color:var(--orange);font-weight:700}
.statement-list-item:last-child{border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}
@media(max-width:600px){.statement-list-item{padding-left:1.15rem}.statement-break::before{left:-1.15rem}}
@media(prefers-reduced-motion:reduce){.statement-list-item{scroll-margin-top:var(--header-clearance,28px)}}
.secondary-wait{opacity:0;transition:opacity .45s}.secondary-wait:focus-within{opacity:1}
.quick-bite{padding:28px 0;border-top:1px solid var(--line);scroll-margin-top:var(--header-clearance,28px)}
.quick-bite h3{font-size:clamp(25px,2.4vw,34px)}
#affiliated-project{min-height:230px}
@media(max-width:950px){.anchored-header.navigation-open{max-height:calc(100dvh - 22px);overflow:auto}}
@media(prefers-reduced-motion:reduce){.secondary-wait{opacity:1}.awakening-link{text-decoration-color:currentColor}.awakening-link::after{display:none}}
