:root{--paper: #f4f0e6;--paper-alt: #ece7d8;--paper-glow-1: #fae6c5;--paper-glow-2: #f9d99a;--surface: #faf8f1;--ink: #0f2318;--ink-soft: rgba(15, 35, 24, .72);--ink-fade: rgba(15, 35, 24, .45);--hairline: rgba(15, 35, 24, .18);--sun: #e07b1a;--sun-d: #b85f0e;--sun-glow: rgba(224, 123, 26, .45);--font-display: "Instrument Serif", Georgia, serif;--font-body: "Hanken Grotesk", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius: 10px;--max-w: 1040px;--t-collapse: .32s cubic-bezier(.4, 0, .2, 1);--t-resize: .28s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{font-family:var(--font-body);font-weight:300;color:var(--ink);line-height:1.65;background:radial-gradient(ellipse 60% 45% at 50% -5%,var(--paper-glow-2),transparent 65%),radial-gradient(ellipse 90% 60% at 50% -10%,var(--paper-glow-1),transparent 70%),var(--paper);background-attachment:fixed}img{max-width:100%;display:block}a{color:inherit}.nav__wordmark:focus-visible,.nav__link:focus-visible,.nav__cta:focus-visible,.btn:focus-visible,.footer a:focus-visible,.form__notice a:focus-visible,.skip-link:focus-visible{outline:2px solid var(--sun);outline-offset:3px;border-radius:4px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:.6rem 1rem;font-family:var(--font-mono);font-size:.85rem;letter-spacing:.04em;text-decoration:none;border-radius:6px;z-index:1000}.skip-link:focus{left:1rem;top:1rem}.container{max-width:var(--max-w);margin-inline:auto;padding-inline:clamp(1.5rem,4vw,3.5rem)}.btn{display:inline-block;font-family:var(--font-body);font-weight:500;font-size:1rem;letter-spacing:.04em;background:var(--ink);color:var(--paper);padding:.85rem 1.9rem;border-radius:999px;text-decoration:none;border:1.25px solid var(--ink);cursor:pointer;transition:background .22s,color .22s,transform .08s ease}.btn:hover{background:var(--sun);border-color:var(--sun);color:#fff}.btn:active{transform:translateY(1px)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--paper);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:clamp(.7rem,1.8vw,1.1rem) clamp(1.5rem,4vw,3.5rem) 0;box-shadow:0 1px 0 transparent;transition:background var(--t-resize),box-shadow var(--t-resize),padding var(--t-resize);will-change:padding}.nav.is-compact{background:#f4f0e6e0;box-shadow:0 1px 0 var(--hairline),0 8px 22px #0f23180f;padding-top:.4rem}.collapse{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows var(--t-collapse),opacity .22s ease;will-change:grid-template-rows,opacity}.collapse__inner{min-height:0;overflow:hidden}.nav.is-compact .collapse{grid-template-rows:0fr;opacity:0}.coords{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:clamp(.62rem,.74vw,.7rem);letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase;flex-wrap:wrap;gap:.5rem;padding-bottom:.55rem}.coords .live{display:inline-flex;align-items:center;gap:.45rem}.coords .live:before{content:"";width:5px;height:5px;background:var(--sun);border-radius:50%;box-shadow:0 0 6px var(--sun-glow);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.coords .dim{color:var(--ink-fade)}.coords .session{display:inline-flex;gap:.55rem;align-items:baseline}.coords .session-val{font-family:var(--font-display);font-style:italic;text-transform:none;letter-spacing:.01em;color:var(--ink);font-size:1em}.nav__main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(1rem,2vw,2rem);padding:clamp(.85rem,1.8vw,1.25rem) 0;border-top:1px solid var(--hairline);transition:padding var(--t-resize),border-color var(--t-resize)}.nav.is-compact .nav__main{padding:.55rem 0;border-top-color:transparent}.nav__brand{display:flex;align-items:center;gap:clamp(.85rem,1.6vw,1.3rem);min-width:0}.monogram{width:clamp(46px,5vw,62px);height:clamp(46px,5vw,62px);border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;position:relative;flex-shrink:0;transition:width var(--t-resize),height var(--t-resize)}.nav.is-compact .monogram{width:clamp(38px,4vw,48px);height:clamp(38px,4vw,48px)}.monogram:before{content:"";position:absolute;top:8%;right:14%;width:16%;height:16%;background:var(--sun);border-radius:50%;box-shadow:0 0 6px var(--sun-glow)}.monogram span{font-family:var(--font-display);font-style:italic;font-size:clamp(1.5rem,2.3vw,2.1rem);font-weight:400;line-height:1;color:var(--ink);transform:translateY(-3%);transition:font-size var(--t-resize)}.nav.is-compact .monogram span{font-size:clamp(1.2rem,1.9vw,1.65rem)}.nav__wordmark-wrap{display:flex;flex-direction:column;gap:.2rem;min-width:0}.nav__wordmark{font-family:var(--font-body);font-weight:300;font-size:clamp(1.4rem,2.4vw,2rem);letter-spacing:-.005em;text-decoration:none;color:var(--ink);line-height:1;transition:font-size var(--t-resize)}.nav__wordmark .bold{font-weight:600}.nav.is-compact .nav__wordmark{font-size:clamp(1.15rem,2vw,1.55rem)}.nav__tagline{font-family:var(--font-display);font-style:italic;font-size:clamp(.78rem,1vw,.92rem);color:var(--ink-soft);line-height:1.1;padding-top:.05rem}.nav__links{display:flex;gap:clamp(.3rem,.7vw,.5rem);align-items:center;justify-self:center}.nav__link{display:inline-flex;align-items:baseline;gap:.4rem;text-decoration:none;font-family:var(--font-body);font-weight:500;font-size:clamp(.82rem,1.05vw,.95rem);letter-spacing:.02em;color:var(--ink);padding:.55rem 1.1rem;border-radius:999px;background:#0f231809;border:1px solid rgba(15,35,24,.2);transition:background .18s ease,border-color .18s ease,transform .08s ease,color .18s ease;-webkit-tap-highlight-color:transparent}.nav__link .num{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--ink-soft);font-size:.82em;transition:color .18s ease}.nav__link:hover{background:#0f231816;border-color:#0f231861}.nav__link:hover .num{color:var(--sun)}.nav__link:active{transform:translateY(1px);background:#0f231821;border-color:var(--ink)}.nav__cta-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;justify-self:end}.nav__cta{font-family:var(--font-body);font-weight:500;font-size:clamp(.82rem,1vw,.94rem);letter-spacing:.06em;padding:.65rem 1.4rem;border:1.25px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;border-radius:999px;transition:background .22s,color .22s,transform .08s ease;white-space:nowrap;-webkit-tap-highlight-color:transparent}.nav__cta:hover{background:var(--ink);color:var(--paper)}.nav__cta:active{transform:translateY(1px)}.nav__cta-sub{font-family:var(--font-display);font-style:italic;font-size:clamp(.74rem,.9vw,.85rem);color:var(--ink-soft);line-height:1.1;padding-top:.05rem}.sunarc{width:100%;height:clamp(54px,6vw,78px);display:block;padding-top:.25rem}.sunarc-track{fill:none;stroke:var(--hairline);stroke-width:1}.sunarc-arc{fill:none;stroke:var(--sun);stroke-width:1;opacity:.4;stroke-dasharray:3 5}.sunarc-marker{fill:var(--sun);filter:drop-shadow(0 0 6px var(--sun-glow))}.sunarc-tick{stroke:var(--hairline);stroke-width:1}.sunarc-label{font-family:var(--font-mono);font-size:9.5px;fill:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase}.sunarc-label-time{font-family:var(--font-display);font-style:italic;font-size:11px;fill:var(--ink)}.nav-spacer{width:100%}@media(max-width:880px){.nav__main{grid-template-columns:1fr auto;grid-template-rows:auto auto;row-gap:.85rem}.nav__links{grid-column:1 / -1;justify-self:center;order:3;gap:.4rem}.nav__link .num{display:none}.nav__link{padding:.55rem 1rem}}@media(max-width:520px){.nav__links{width:100%;justify-content:space-between;gap:.3rem}.nav__link{flex:1;justify-content:center;padding:.55rem .6rem;font-size:.8rem}.sunarc-label-time{display:none}}.hero{padding:clamp(2.25rem,5vw,4rem) 0 clamp(3rem,6vw,5.5rem)}.hero__inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}.hero__copy{min-width:0}.hero__kicker{display:inline-block;font-family:var(--font-mono);font-size:clamp(.66rem,.85vw,.74rem);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1.4rem}.hero__headline{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(2.4rem,4.8vw,4rem);line-height:1.06;letter-spacing:-.015em;margin-bottom:1.5rem}.hero__sub{font-size:clamp(1.05rem,1.6vw,1.2rem);font-weight:400;color:#0f2318d1;max-width:46ch;margin-bottom:2.25rem}.hero__panel{margin:0;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:1.25rem 1.4rem 1.2rem;box-shadow:0 14px 34px #0f231812}.hero__panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.9rem}.hero__panel-meta{color:var(--ink-fade)}.loadcurve{width:100%;height:auto;display:block;overflow:visible}.loadcurve-grid{stroke:var(--hairline);stroke-width:1}.loadcurve-area{fill:var(--sun);fill-opacity:.1}.loadcurve-line{fill:none;stroke:var(--sun);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.loadcurve-peak{fill:var(--sun)}.loadcurve-peak-ring{fill:none;stroke:var(--sun);stroke-width:1.5;opacity:.4}.loadcurve-peak-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;fill:var(--ink-soft)}.hero__panel-foot{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.08em;color:var(--ink-fade);margin-top:.55rem}.hero__panel-cap{font-family:var(--font-display);font-style:italic;font-size:.95rem;line-height:1.35;color:var(--ink-soft);margin-top:.95rem}@media(max-width:820px){.hero__inner{grid-template-columns:1fr;gap:clamp(2rem,6vw,2.75rem)}}.section{padding:clamp(3.5rem,7vw,6rem) 0}.section--alt{background:var(--paper-alt);border-block:1px solid var(--hairline)}.section__title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.01em;margin-bottom:.5rem}.section__lead{color:var(--ink-soft);font-weight:300;margin-bottom:2rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:.75rem}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:2rem 1.65rem;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0f231814}.card__icon{width:30px;height:30px;margin-bottom:1.1rem;color:var(--ink)}.card__icon svg{width:100%;height:100%;display:block}.card h3{font-family:var(--font-body);font-size:1.15rem;font-weight:600;margin-bottom:.5rem}.card__heading{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.card__heading h3{margin-bottom:0}.card__tag{display:inline-block;font-family:var(--font-mono);font-size:.6rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--hairline);border-radius:999px;padding:.15rem .55rem;vertical-align:.12em}.card p{color:var(--ink-soft);font-size:.95rem;font-weight:400}.steps{list-style:none;display:flex;flex-direction:column;gap:2rem;margin-top:2.5rem}.step{display:flex;gap:1.5rem;align-items:flex-start}.step__num{font-family:var(--font-display);font-style:italic;font-size:clamp(2rem,3.5vw,2.75rem);font-weight:400;color:var(--sun);min-width:2.75rem;line-height:1}.step h3{font-family:var(--font-body);font-size:1.1rem;font-weight:600;margin-bottom:.3rem}.step p{color:var(--ink-soft);font-size:.95rem;font-weight:400}.about{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}.about__text{max-width:60ch}.about__text h2{margin-bottom:1.25rem}.about__text p{color:var(--ink-soft);font-weight:400;margin-bottom:1rem}.about__quote{border-left:1px solid var(--hairline);padding:.4rem 0 .4rem clamp(1.5rem,3vw,2.5rem)}.about__quote-text{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(2rem,3.6vw,2.85rem);line-height:1.08;letter-spacing:-.01em;color:var(--ink)}.about__quote-text em{font-style:italic;color:var(--sun)}.about__quote-attr{margin-top:1.4rem;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-fade)}@media(max-width:820px){.about{grid-template-columns:1fr;gap:1.75rem;align-items:start}.about__quote{border-left:none;border-top:1px solid var(--hairline);padding:1.5rem 0 0}}.contact-wrap{max-width:560px;margin:0 auto;text-align:center}.contact-wrap .section__title,.contact-wrap .section__lead{text-align:center}.contact-wrap .contact-form{text-align:left}.contact-form{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem}.contact-method{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.contact-method__legend{font-size:.82rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);padding:0}.contact-method__options{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.contact-method__pill{position:relative;display:flex;align-items:center;justify-content:center;padding:.7rem .5rem;border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);color:var(--ink-soft);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.05em;cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.contact-method__pill input{position:absolute;opacity:0;pointer-events:none}.contact-method__pill:hover{border-color:var(--ink-fade);color:var(--ink)}.contact-method__pill:has(input:checked){border-color:var(--sun);background:var(--sun-glow);color:var(--ink)}.contact-method__pill:has(input:focus-visible){box-shadow:0 0 0 3px var(--sun-glow);outline:none}@media(max-width:480px){.contact-method__options{grid-template-columns:1fr}}.contact-form label{display:flex;flex-direction:column;gap:.4rem;font-size:.82rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft)}.contact-form input,.contact-form textarea{font-family:var(--font-body);font-size:1rem;font-weight:300;text-transform:none;letter-spacing:normal;padding:.7rem .95rem;border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);color:var(--ink);transition:border-color .15s,box-shadow .15s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--ink-fade)}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--sun);box-shadow:0 0 0 3px var(--sun-glow)}.contact-form textarea{resize:vertical}.contact-form .btn{align-self:flex-start}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.form__notice{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.03em;color:var(--ink-soft);margin-top:.25rem;line-height:1.55;text-transform:none}.form__notice a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.subnav{position:fixed;top:0;left:0;right:0;z-index:100;background:#f4f0e6e0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--hairline);padding:.65rem clamp(1.5rem,4vw,3.5rem)}.subnav__inner{max-width:var(--max-w);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.subnav__brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--ink)}.subnav__brand .monogram{width:40px;height:40px}.subnav__brand .monogram span{font-size:1.4rem}.subnav__wordmark{font-family:var(--font-body);font-weight:300;font-size:1.2rem;line-height:1}.subnav__wordmark .bold{font-weight:600}.subnav__home{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;padding:.5rem .85rem;border:1px solid var(--hairline);border-radius:999px;transition:color .18s,border-color .18s,background .18s}.subnav__home:hover{color:var(--ink);border-color:var(--ink);background:#0f23180a}.subnav__home:focus-visible{outline:2px solid var(--sun);outline-offset:3px}.subnav-spacer{height:68px}.subpage{padding:clamp(2.5rem,5vw,4rem) 0 clamp(3rem,6vw,5rem)}.subpage__inner{max-width:720px;margin-inline:auto}.subpage__kicker{display:inline-block;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1.1rem}.subpage__title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.01em;line-height:1.06;margin-bottom:1.5rem}.subpage__lead{font-size:1.1rem;color:var(--ink-soft);margin-bottom:2rem}.subpage h2{font-family:var(--font-body);font-size:1.05rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin-top:2.25rem;margin-bottom:.6rem}.subpage p{color:var(--ink-soft);margin-bottom:.85rem}.subpage a{color:var(--ink);text-underline-offset:3px}.subpage ul{margin:.4rem 0 .85rem 1.25rem;color:var(--ink-soft)}.subpage ul li{margin-bottom:.25rem}.subpage__meta{margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--hairline);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-fade)}.thanks{min-height:calc(100vh - 148px);display:grid;place-items:center;text-align:center;padding:clamp(2rem,5vw,4rem) 1.5rem}.thanks__inner{max-width:540px}.thanks__title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(2.6rem,5.5vw,4rem);letter-spacing:-.01em;line-height:1;margin-bottom:1.25rem}.thanks__lead{font-size:1.15rem;color:var(--ink-soft);margin-bottom:2rem}.thanks__home{display:inline-block;font-family:var(--font-mono);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:.7rem 1.4rem;border:1.25px solid var(--ink);border-radius:999px;transition:background .22s,color .22s}.thanks__home:hover{background:var(--ink);color:var(--paper)}.thanks__home:focus-visible{outline:2px solid var(--sun);outline-offset:3px}.footer{background:var(--ink);color:#f4f0e68c;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;padding:1.75rem 0}.footer__inner{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.6rem}.footer a{color:#f4f0e6d9;text-decoration:none;border-bottom:1px solid rgba(244,240,230,.25);padding-bottom:1px;transition:color .18s ease,border-color .18s ease}.footer a:hover{color:var(--sun);border-bottom-color:var(--sun)}.footer__sep{opacity:.5}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
