@font-face{font-family:OpenDyslexic;src:url('/fonts/OpenDyslexic-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:OpenDyslexic;src:url('/fonts/OpenDyslexic-Bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--night:#0c1514;--pine:#132d27;--green:#264c37;--moss:#6b7e4f;--brass:#edbf59;--paper:#e2dfc8;--cream:#f7f0d9;--ink:#18261d;--muted:#52614e;font-family:OpenDyslexic,Arial,sans-serif}
body{background:#0c1514;line-height:1.65}
body,button,h1,h2,h3,blockquote,.brand,.section-heading,.shop-tile h3,.story h3,.note-card h2,.catalog-card h3,.article h1,.article h2,.about-grid .quote,.belief blockquote,.footer h2,.page-hero h1{font-family:OpenDyslexic,Arial,sans-serif}
h1,h2,h3,blockquote{letter-spacing:0!important}
a:focus-visible,button:focus-visible{outline:3px solid #ffe594;outline-offset:4px}
.shell{width:min(1380px,calc(100% - 76px))}
.masthead{position:sticky;top:0;background:rgba(10,25,22,.93);border-bottom:1px solid rgba(234,195,108,.35);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 8px 20px rgba(0,0,0,.16)}
.masthead:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#d5a95a 48%,transparent);opacity:.35}
.masthead .shell{min-height:82px}
.brand{letter-spacing:.055em;font-size:1rem;line-height:1.25}
.brand small{letter-spacing:.18em;font-size:.64rem;margin-top:.12rem}
.brand-mark{font-family:OpenDyslexic,Arial,sans-serif;background:#233d2b;border:2px solid #d5b66f;color:#f1d791;box-shadow:0 0 0 5px rgba(229,189,103,.06)}
.main-nav a{font-size:.9rem;letter-spacing:0}
.main-nav .nav-shop{background:var(--brass);color:#17251b;border-color:var(--brass);box-shadow:0 4px 22px rgba(229,174,63,.18)}
.main-nav .nav-shop:hover,.main-nav .nav-shop[aria-current=page]{background:#ffda88;color:#17251b}
.eyebrow{font-size:.76rem;line-height:1.5;letter-spacing:.11em;color:#f2c773}
.eyebrow.dark{color:#4b624b}
.btn{border-radius:1px;font-size:.94rem;box-shadow:5px 5px 0 rgba(0,0,0,.24);min-height:58px}
.btn-outline{box-shadow:none;background:rgba(9,29,24,.28);border-color:rgba(255,239,196,.7)}
.btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 rgba(0,0,0,.24)}
.btn-outline:hover{box-shadow:5px 5px 0 rgba(0,0,0,.24)}
.home-hero{isolation:isolate;min-height:720px;background:#0b1b19}
.home-hero:before{content:'';position:absolute;inset:-3%;opacity:1;background:url('/media/solar-city-garden.jpeg') 53% 52%/cover no-repeat;filter:brightness(.65) contrast(1.12) saturate(.84) sepia(.13);transform:scale(1.06);animation:slow-scene 30s ease-in-out infinite alternate}
.home-hero:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(5,17,17,.96) 0%,rgba(5,17,17,.88) 31%,rgba(5,17,17,.35) 65%,rgba(5,17,17,.16) 100%),linear-gradient(0deg,rgba(7,22,18,.89) 0%,transparent 45%,rgba(8,20,18,.33) 100%);pointer-events:none}
.home-hero .shell{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;gap:4rem;min-height:calc(100svh - 82px);max-width:1380px;padding-top:clamp(80px,11vh,132px);padding-bottom:34px}
.hero-copy{max-width:775px;animation:arrive .85s ease-out both}
.hero-eyebrow{display:inline-block;border-left:3px solid var(--brass);padding:.25rem 0 .25rem 1rem;background:linear-gradient(90deg,rgba(241,194,89,.1),transparent)}
.home-hero h1{font-size:clamp(3.2rem,6.3vw,6.7rem);line-height:1.13;letter-spacing:0;margin:1.1rem 0 1.4rem;text-shadow:0 3px 20px rgba(0,0,0,.38)}
.home-hero h1 em{color:#f2c35b;font-style:normal;text-shadow:0 2px 25px rgba(247,186,65,.22)}
.home-hero .lede{max-width:640px;font-size:clamp(1.06rem,1.5vw,1.27rem);line-height:1.75;color:#f2eddb;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.hero-actions{margin-top:2rem}
.portal-nav{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(240,203,122,.58);background:rgba(9,27,24,.76);backdrop-filter:blur(12px);box-shadow:0 15px 38px rgba(0,0,0,.3);animation:arrive 1.1s .2s ease-out both}
.portal-nav a{min-height:112px;padding:1.25rem 1.4rem;position:relative;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(239,218,165,.28);transition:background .25s,transform .25s}
.portal-nav a:last-child{border-right:0}
.portal-nav a:hover{background:rgba(180,145,61,.2);transform:translateY(-3px)}
.portal-nav span{color:#d8b56d;font-size:.68rem;font-weight:700;letter-spacing:.13em}
.portal-nav strong{font-size:1.05rem;font-weight:700;margin-top:.45rem;max-width:220px;line-height:1.4}
.portal-nav b{position:absolute;right:1.25rem;bottom:1.25rem;color:var(--brass);font-size:1.4rem}
.topic-band{height:56px;background:#b9873e;color:#1b291c;border-top:2px solid #f4d07a;border-bottom:3px solid #142923;overflow:hidden;display:flex;align-items:center}
.topic-track{min-width:max-content;display:flex;align-items:center;gap:2rem;white-space:nowrap;font-size:.78rem;font-weight:700;letter-spacing:.13em;animation:drift-band 34s linear infinite}
.topic-track i{font-style:normal;font-size:1.3rem;color:#355636}
.intro-shop{background:radial-gradient(circle at 0 0,rgba(197,161,76,.21),transparent 33%),repeating-linear-gradient(0deg,transparent 0 4px,rgba(51,64,42,.018) 4px 5px),#d9dcc6;padding:100px 0 112px;box-shadow:inset 0 22px 34px rgba(29,34,21,.12)}
.section-heading{font-size:clamp(2.3rem,4vw,4.45rem);line-height:1.18;margin-top:.8rem}
.section-top{align-items:center}
.section-top p{font-size:1.03rem;line-height:1.75}
.shop-grid{gap:20px}
.shop-tile{min-height:430px;padding:2rem;border:2px solid rgba(66,91,65,.5);background:linear-gradient(145deg,rgba(215,226,202,.6),rgba(189,204,176,.9)),repeating-linear-gradient(130deg,rgba(53,73,46,.08) 0 1px,transparent 1px 9px);box-shadow:8px 8px 0 rgba(31,57,39,.15);transition:transform .25s,box-shadow .25s,filter .25s}
.shop-tile:hover{transform:translate(-3px,-6px);box-shadow:13px 15px 0 rgba(31,57,39,.14);filter:brightness(1.025)}
.shop-tile.featured{background:radial-gradient(circle at 90% 5%,rgba(229,180,69,.22),transparent 45%),linear-gradient(145deg,#214436,#102a26);border-color:#a79c6b}
.tile-kicker{font-size:.72rem;letter-spacing:.11em}
.shop-tile h3{font-size:clamp(1.5rem,2.1vw,2.1rem);line-height:1.3}
.tile-graphic{font-family:OpenDyslexic,Arial,sans-serif;font-size:6rem;height:118px;letter-spacing:0;opacity:.58}
.tile-graphic.gold{color:#a77936}
.shop-tile p{font-size:.95rem;line-height:1.68}
.tile-cta{align-items:center;font-size:.86rem}
.dispatch{position:relative;overflow:hidden;background:radial-gradient(circle at 75% 30%,rgba(138,105,41,.25),transparent 39%),linear-gradient(160deg,#0b1718,#1e342b 62%,#101b18);padding:100px 0 110px;border-top:1px solid rgba(237,191,89,.3);border-bottom:1px solid rgba(237,191,89,.3)}
.dispatch:before{content:'';position:absolute;inset:0;opacity:.1;background-image:repeating-linear-gradient(90deg,rgba(246,238,207,.3) 0 1px,transparent 1px 43px),repeating-linear-gradient(0deg,rgba(246,238,207,.25) 0 1px,transparent 1px 43px);mask-image:linear-gradient(90deg,black,transparent 70%);pointer-events:none}
.dispatch-grid{position:relative;display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,6vw,7rem);align-items:center}
.dispatch-copy{padding:2rem 0}
.dispatch-copy h2{font-size:clamp(2.25rem,4vw,4.6rem)}
.dispatch-copy p{font-size:1.06rem;line-height:1.85;color:#d5dfce;max-width:510px}
.dispatch-stamp{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0;color:#edbf59;font-size:.72rem;letter-spacing:.12em;font-weight:700}
.dispatch-stamp span{border:1px solid rgba(237,191,89,.45);padding:.5rem .75rem;background:rgba(0,0,0,.2)}
.dispatch-art{margin:0;transform:rotate(1deg);border:7px solid #223b31;box-shadow:20px 24px 0 rgba(0,0,0,.26),0 12px 65px rgba(0,0,0,.35);background:#132420}
.dispatch-art img{display:block;width:100%;height:auto}
.dispatch-art figcaption{padding:.75rem 1rem;background:#192f28;color:#cfc8aa;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.field{background:radial-gradient(circle at 85% 20%,rgba(125,132,72,.14),transparent 30%),repeating-linear-gradient(90deg,transparent 0 90px,rgba(238,226,181,.025) 90px 91px),#0d201d;padding:100px 0 112px}
.field-grid{gap:20px}
.story{border:1px solid rgba(216,187,119,.55);background:linear-gradient(145deg,rgba(26,57,47,.95),rgba(14,34,29,.97))!important;box-shadow:6px 7px 0 rgba(0,0,0,.28);min-height:430px;transition:transform .25s,box-shadow .25s}
.story:hover{transform:translate(-3px,-5px);box-shadow:11px 13px 0 rgba(0,0,0,.28)}
.story .story-num{font-family:OpenDyslexic,Arial,sans-serif;font-size:4rem;color:rgba(230,185,81,.25)}
.story h3{font-size:1.55rem;line-height:1.38}
.story p{font-size:.94rem;line-height:1.72}
.belief{background:repeating-linear-gradient(-38deg,rgba(37,51,33,.025) 0 2px,transparent 2px 12px),#cdd3b6}
.belief blockquote{font-size:clamp(2rem,3.9vw,4rem);line-height:1.4}
.belief p{font-size:1.08rem}
.page-hero{position:relative;isolation:isolate;overflow:hidden;background:#0b1d1a;padding:102px 0 100px}
.page-hero:before{content:'';position:absolute;inset:0;z-index:-2;background:url('/media/solar-city-garden.jpeg') center 42%/cover no-repeat;filter:brightness(.47) saturate(.65) sepia(.13)}
.page-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,18,16,.9),rgba(4,18,16,.38))}
.page-hero h1{font-size:clamp(2.8rem,5.5vw,5.8rem);line-height:1.2;text-shadow:0 4px 22px rgba(0,0,0,.5)}
.page-hero p{line-height:1.75;text-shadow:0 3px 14px rgba(0,0,0,.5)}
.light-section{background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(58,65,45,.022) 5px 6px),#daddc8}
.collection h2{font-size:2.1rem;line-height:1.3}
.catalog-card,.note-card{background:#e7e8d9;border-color:#9baa91;box-shadow:5px 5px 0 rgba(49,74,48,.1)}
.catalog-card h3{font-size:1.3rem;line-height:1.45}
.note-card h2{font-size:1.7rem;line-height:1.35}
.article{background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(58,65,45,.022) 5px 6px),#daddc8}
.article .reading{padding:clamp(1.4rem,4vw,3.6rem);background:rgba(248,247,229,.54);border:1px solid #b6c0aa;box-shadow:13px 13px 0 rgba(46,70,46,.1)}
.article h1{font-size:clamp(2.35rem,4vw,4.15rem);line-height:1.28}
.article h2{font-size:1.9rem}
.article p,.article li{font-size:1.04rem;line-height:1.85}
.about-grid .quote{font-size:clamp(2rem,3vw,3.1rem);line-height:1.4}
.principles h3{font-size:1.55rem;line-height:1.35}
.footer h2{font-size:1.8rem}
.footer .photo-credit{font-size:.7rem;color:#9cac96;text-align:left;margin-top:.6rem}
.footer p{font-size:.9rem}
.reveal{opacity:1;transform:none}
.motion-ready .reveal{opacity:0;transform:translateY(25px)}
.motion-ready .reveal.visible{opacity:1;transform:none}
@keyframes slow-scene{from{transform:scale(1.06) translateX(-.6%)}to{transform:scale(1.13) translateX(.8%)}}
@keyframes arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes drift-band{to{transform:translateX(-50%)}}
@media(max-width:1000px){.dispatch-grid{grid-template-columns:1fr 1fr}.home-hero .shell{min-height:690px}.home-hero h1{font-size:clamp(3rem,6vw,5.5rem)}}
@media(max-width:900px){.shell{width:min(100% - 36px,700px)}.masthead .shell{min-height:72px}.main-nav{top:72px;background:#0d211d;border-bottom:1px solid var(--brass);z-index:20}.main-nav a{font-size:1rem}.home-hero .shell{min-height:720px}.home-hero:after{background:linear-gradient(90deg,rgba(5,17,17,.94),rgba(5,17,17,.52)),linear-gradient(0deg,rgba(5,17,17,.85),transparent 60%)}.portal-nav{grid-template-columns:1fr 1fr 1fr}.portal-nav a{padding:1rem;min-height:100px}.portal-nav strong{font-size:.82rem}.portal-nav b{right:.7rem;bottom:.6rem;font-size:1rem}.shop-grid,.field-grid{grid-template-columns:1fr 1fr}.shop-tile.featured{grid-column:span 2}.dispatch-grid{grid-template-columns:1fr}.dispatch-copy{padding:0}.dispatch-art{max-width:620px;margin:0 auto}.field-grid .story:last-child{grid-column:span 2}.field-grid .story{min-height:360px}}
@media(max-width:600px){.shell{width:calc(100% - 32px)}.masthead .shell{min-height:68px}.brand{font-size:.76rem}.brand small{font-size:.56rem}.main-nav{top:68px}.home-hero .shell{padding-top:64px;padding-bottom:18px;min-height:720px;gap:2.2rem}.home-hero:before{background-position:54% center}.home-hero:after{background:linear-gradient(90deg,rgba(5,17,17,.9),rgba(5,17,17,.58)),linear-gradient(0deg,rgba(5,17,17,.94),transparent 75%)}.home-hero h1{font-size:clamp(2.85rem,10vw,4.2rem);line-height:1.18}.home-hero .lede{font-size:1rem}.hero-actions{gap:.7rem}.hero-actions .btn{flex:1 1 165px;font-size:.82rem;min-height:52px;padding:.7rem}.portal-nav{grid-template-columns:1fr;background:rgba(9,27,24,.83)}.portal-nav a{min-height:62px;padding:.52rem .85rem;border-right:0;border-bottom:1px solid rgba(239,218,165,.28)}.portal-nav a:last-child{border-bottom:0}.portal-nav span{font-size:.56rem}.portal-nav strong{font-size:.76rem;margin-top:.1rem}.portal-nav b{right:1rem;bottom:.9rem}.topic-band{height:44px}.topic-track{font-size:.65rem;gap:1rem}.intro-shop,.field,.dispatch,.belief,.light-section,.dark-section{padding:66px 0}.section-heading,.dispatch-copy h2{font-size:clamp(2rem,7.5vw,2.8rem)}.section-top p{font-size:.95rem}.shop-grid,.field-grid{grid-template-columns:1fr}.shop-tile.featured,.field-grid .story:last-child{grid-column:auto}.shop-tile{min-height:300px}.tile-graphic{height:55px;font-size:4.5rem}.dispatch-art{border-width:4px;transform:none;box-shadow:9px 12px 0 rgba(0,0,0,.26)}.dispatch-stamp{margin:1.3rem 0}.dispatch-copy p{font-size:.96rem}.field-grid .story{min-height:340px}.page-hero{padding:70px 0 72px}.page-hero h1{font-size:clamp(2.55rem,9vw,3.8rem)}.collection h2{font-size:1.8rem}.article .reading{padding:1.1rem}.article h1{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){.home-hero:before,.hero-copy,.portal-nav,.topic-track{animation:none!important}.motion-ready .reveal{opacity:1;transform:none}.portal-nav a,.shop-tile,.story,.btn{transition:none}}
