:root{
  --paper:#f3ecdc; --paper-deep:#e6dac2; --ink:#2f261a; --ink-soft:#5d4c36;
  --contour:#8b5f33; --contour-light:#b28b61; --grid:#8fa1a0; --red:#b12a1c;
  --blue-ink:#334c54; --rule:#6e5c40; --tooth:rgba(47,38,26,.055);
  --display:"Palatino Linotype", Palatino, "Book Antiqua"; --body:"Trebuchet MS", Verdana;
  color-scheme:light;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.62;letter-spacing:.012em;min-height:100vh}
a{color:var(--blue-ink);text-underline-offset:.22em;text-decoration-thickness:1px} a:hover{color:var(--red)}
button,input,textarea{font:inherit;color:inherit} .skip-link{position:fixed;left:1rem;top:.75rem;z-index:20;background:var(--ink);color:var(--paper);padding:.5rem .75rem;transform:translateY(-140%)}.skip-link:focus{transform:none}
:focus-visible{outline:2px solid var(--red);outline-offset:4px}.paper-tooth{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.75;background-image:radial-gradient(circle at 20% 10%,var(--tooth) 0 1px,transparent 1px),radial-gradient(circle at 70% 80%,rgba(139,95,51,.04) 0 1px,transparent 1px);background-size:11px 13px,17px 19px}.paper-tooth::after{content:"";position:absolute;inset:0;filter:url(#none);background:linear-gradient(90deg,transparent,rgba(47,38,26,.035),transparent)}
.demo-badge{position:fixed;right:.85rem;bottom:.85rem;z-index:30;background:var(--paper);border:1px solid var(--rule);padding:.35rem .55rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.entry-seq{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
main,.site-head,.sheet-foot{position:relative;z-index:1}.site-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem clamp(1rem,3vw,2.5rem);border-bottom:1px solid var(--rule);background:rgba(243,236,220,.96)}.site-mark{font-family:var(--display);font-weight:700;color:var(--ink);text-decoration:none}.site-nav{display:flex;gap:.35rem;flex-wrap:wrap}.site-nav a,.legend-nav a{display:inline-flex;align-items:center;gap:.5rem;padding:.38rem .55rem;border:1px solid transparent;text-decoration:none;text-transform:uppercase;letter-spacing:.105em;font-size:.72rem;color:var(--ink)}.site-nav a[aria-current="page"],.site-nav a:hover,.legend-nav a:hover,.legend-nav a[aria-current="page"]{border-color:var(--red);color:var(--red);background:rgba(177,42,28,.045)}
.sheet-hero{padding:clamp(1rem,2.5vw,2rem)}.marginalia{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--rule);border-bottom:0;max-width:118rem;margin:auto}.marginalia div{padding:.45rem .6rem;border-right:1px solid var(--rule);min-height:3rem}.marginalia div:last-child{border-right:0}.marginalia span,.profile-data dt,.fact-row dt,.record-strip dt{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;color:var(--ink-soft)}.marginalia strong{font-size:.8rem;font-weight:700;color:var(--ink)}
.sheet-border{max-width:118rem;margin:auto;border:1px solid var(--rule);padding:clamp(.75rem,2vw,1.25rem);background:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:clamp(28px,4vw,50px) clamp(28px,4vw,50px);background-color:rgba(243,236,220,.72);background-position:calc(var(--scroll,0)*.03px) calc(var(--scroll,0)*.02px)}
.title-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,34rem);gap:clamp(1rem,4vw,4rem);align-items:end;border-bottom:1px solid var(--rule);padding-bottom:1rem;margin-bottom:1rem}.title-block p,.page-title p{max-width:70ch;color:var(--ink-soft);font-size:1.05rem}.split-headline{display:flex;flex-wrap:wrap;gap:.08em .24em}.word{display:inline-block}h1,h2,h3{font-family:var(--display);line-height:1.05;letter-spacing:-.018em;color:var(--ink);text-wrap:balance}h1{font-size:clamp(2.2rem,6vw,3.6rem);max-width:14ch;margin:.1rem 0 .5rem}h2{font-size:clamp(1.6rem,3.2vw,3.1rem);margin:2.6rem 0 .8rem}h3{font-size:1.18rem;margin:1.5rem 0 .45rem}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap}
.field-wrap{position:relative;min-height:38rem;overflow:hidden;background:rgba(243,236,220,.42)}.survey-field{display:block;width:100%;height:auto;min-height:34rem}.grid-rect+*{}#grid path{stroke:var(--grid);stroke-width:.55;opacity:.58}.contour{fill:none;stroke:var(--contour);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65;stroke-dasharray:1;stroke-dashoffset:1;animation:contour-draw 2200ms cubic-bezier(.16,1,.3,1) forwards}.c2,.c5,.c8,.c11,.c13{stroke:var(--contour-light);stroke-width:1.1}.c3,.c6,.c9{stroke-width:2.4}.seasonal-null{stroke:var(--contour);stroke-width:1;opacity:.72}.leader{stroke:var(--rule);stroke-width:.85;stroke-dasharray:5 6;fill:none}.map-label{font-size:13px;letter-spacing:.05em;fill:var(--ink);font-family:var(--body);paint-order:stroke;stroke:var(--paper);stroke-width:4;stroke-linejoin:round}.reading-point circle{fill:var(--paper);stroke:var(--contour);stroke-width:2.2}.reading-point text{font-family:var(--body);font-size:13px;letter-spacing:.09em;fill:var(--ink)}.reading-point:hover circle,.reading-point:focus-visible circle{fill:var(--red);stroke:var(--red)}.reading-point:hover text,.reading-point:focus-visible text{fill:var(--red)}.point-full-life circle{stroke-width:3.4}
.legend-nav{position:absolute;left:clamp(.75rem,2vw,1.5rem);bottom:clamp(.75rem,2vw,1.5rem);width:min(25rem,calc(100% - 1.5rem));border:1px solid var(--rule);background:rgba(243,236,220,.94);padding:.85rem}.legend-nav h2{font-size:1rem;margin:0 0 .45rem;text-transform:uppercase;letter-spacing:.12em;font-family:var(--body)}.legend-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}.legend-key{width:2.2rem;height:1rem;display:inline-block}.contour-symbol{border-top:2px solid var(--contour);border-radius:50%}.grid-symbol{background:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:8px 8px}.bench-symbol::before{content:"\25B3";color:var(--ink)}.hachure-symbol{background:repeating-linear-gradient(45deg,transparent 0 5px,var(--contour) 5px 6px)}.located-action{display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--red);color:var(--red);background:var(--paper);text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;padding:.72rem .9rem}.field-wrap>.located-action{position:absolute;right:clamp(.75rem,2vw,1.5rem);top:clamp(.75rem,2vw,1.5rem)}.pin{width:.7rem;height:.7rem;background:var(--red);display:inline-block;clip-path:polygon(50% 0,100% 44%,50% 100%,0 44%)}
.survey-notes,.page-title,.profile-stack,.bio-sheet,.testimony-lines,.booking-steps,.booking-form,.contact-ledger,.faq-section{width:min(112rem,calc(100% - clamp(2rem,6vw,5rem)));margin-inline:auto}.survey-notes,.page-title{padding:clamp(2rem,5vw,5rem) 0}.survey-notes p,.page-title p,.bio-copy{max-width:72ch}.fact-row,.profile-data{display:flex;flex-wrap:wrap;gap:1rem 2rem;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.8rem 0}.fact-row dd,.profile-data dd{margin:0;color:var(--ink)}
.profile-stack{counter-reset:reading;display:grid;gap:0;margin-bottom:4rem}.reading-profile{display:grid;grid-template-columns:10rem minmax(0,72ch);gap:clamp(1rem,4vw,3rem);border-top:1px solid var(--rule);padding:clamp(1.5rem,4vw,3rem) 0}.reading-profile:last-child{border-bottom:1px solid var(--rule)}.profile-mark{font-family:var(--body);color:var(--red);display:flex;flex-direction:column;gap:.4rem;text-transform:uppercase;letter-spacing:.12em}.profile-mark span:first-child{font-size:1.8rem;font-family:var(--display);letter-spacing:-.02em}.profile-body h2{margin-top:0}.profile-blurb{font-size:1.22rem;color:var(--ink);font-family:var(--display)}.line-list{padding:0;margin:.6rem 0 1rem;list-style:none}.line-list li{border-top:1px dotted var(--rule);padding:.45rem 0}.text-link{font-weight:700;color:var(--red)}
.bio-sheet{display:grid;grid-template-columns:8rem minmax(0,72ch) minmax(16rem,24rem);gap:clamp(1rem,4vw,3rem);padding-bottom:4rem}.bench-mark{font-size:5rem;color:var(--red);line-height:1}.record-strip{border:1px solid var(--rule);padding:1rem;align-self:start}.record-strip dd{margin:0 0 1rem}.testimony-lines{padding-bottom:4rem}.testimony-lines blockquote{margin:0;border-top:1px solid var(--rule);padding:1rem 0;max-width:75ch}.testimony-lines p{font-family:var(--display);font-size:1.35rem;margin:.2rem 0}.testimony-lines cite{color:var(--ink-soft);font-style:normal}
.booking-steps ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;list-style:none;padding:0;margin:0;border:1px solid var(--rule)}.booking-steps li{padding:1rem;border-right:1px solid var(--rule)}.booking-steps li:last-child{border-right:0}.booking-steps strong{display:block;font-family:var(--display);font-size:1.2rem}.booking-steps span{color:var(--ink-soft)}.booking-form{margin-block:3rem 5rem;border:1px solid var(--rule);padding:clamp(1rem,3vw,2rem)}fieldset{border:0;border-top:1px solid var(--rule);margin:1.2rem 0 0;padding:1rem 0}legend{font-family:var(--display);font-size:1.35rem;padding-right:.5rem}.service-picker{display:grid;gap:.5rem}.service-choice,.slot{border:1px solid var(--rule);background:rgba(243,236,220,.84);text-align:left;padding:.7rem;cursor:pointer}.service-choice span,.service-choice small{display:block}.service-choice small{color:var(--ink-soft)}.service-choice[aria-pressed="true"],.slot[aria-pressed="true"]{border-color:var(--red);color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.slot-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--rule)}.slot-col{border-right:1px solid var(--rule)}.slot-col:last-child{border-right:0}.slot-col h3{font-family:var(--body);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;margin:0;padding:.5rem;border-bottom:1px solid var(--rule)}.slot-col h3 span{display:block;color:var(--ink-soft)}.slot{display:flex;width:100%;justify-content:space-between;border:0;border-bottom:1px solid var(--rule);font-family:var(--body)}.slot:last-child{border-bottom:0}.slot span{font-family:"Courier New", Consolas, monospace}.hachured{background:repeating-linear-gradient(135deg,rgba(139,95,51,.12) 0 6px,rgba(139,95,51,.34) 6px 7px);color:var(--ink-soft);cursor:not-allowed}.form-rules{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-rules label{display:grid;gap:.35rem;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.form-rules label:nth-child(3){grid-column:1/-1}input,textarea{width:100%;border:1px solid var(--rule);background:rgba(255,252,244,.74);padding:.72rem;text-transform:none;letter-spacing:normal}input:focus,textarea:focus{border-color:var(--red);outline:2px solid rgba(177,42,28,.25)}.field-help{color:var(--ink-soft);max-width:70ch}
.contact-ledger{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(1rem,4vw,3rem);padding-bottom:2rem}.contact-ledger>div{border-top:1px solid var(--rule);padding-top:1rem}.faq-section{padding-bottom:5rem}.faq-section details{border-top:1px solid var(--rule);max-width:75ch}.faq-section details:last-child{border-bottom:1px solid var(--rule)}summary{cursor:pointer;padding:1rem 0;font-family:var(--display);font-size:1.18rem}summary:hover{color:var(--red)}details p{max-width:70ch;margin:0 0 1rem;color:var(--ink-soft)}.sheet-foot{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;border-top:1px solid var(--rule);padding:1rem clamp(1rem,3vw,2.5rem);color:var(--ink-soft);font-size:.86rem}.magnetic{transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease}.magnetic:hover{background:rgba(177,42,28,.055)}
@keyframes contour-draw{to{stroke-dashoffset:0}}
@media (hover:hover) and (pointer:fine){.legend-nav a:hover,.service-choice:hover,.slot:not(:disabled):hover{border-color:var(--red);color:var(--red)}}
@supports (animation-timeline: scroll()) {.sheet-border{animation:survey-parallax linear both;animation-timeline:scroll();}}@keyframes survey-parallax{from{background-position:0 0}to{background-position:18px 11px}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.contour{stroke-dashoffset:0}.sheet-border{animation:none!important}}
@media (max-width: 800px){.marginalia{grid-template-columns:repeat(2,1fr)}.marginalia div{border-bottom:1px solid var(--rule)}.title-block,.bio-sheet,.contact-ledger{grid-template-columns:1fr}.field-wrap{min-height:35rem}.survey-field{width:160%;margin-left:-32%}.legend-nav{position:relative;left:auto;bottom:auto;width:100%;margin-top:1rem}.booking-steps ol,.slot-grid{grid-template-columns:1fr 1fr}.booking-steps li:nth-child(2n),.slot-col:nth-child(2n){border-right:0}.form-rules,.sheet-foot{grid-template-columns:1fr}.reading-profile{grid-template-columns:1fr}.profile-mark{flex-direction:row}.site-head{align-items:flex-start;flex-direction:column}h1{max-width:12ch}}
@media (max-width: 460px){body{font-size:15px}.sheet-hero{padding:.55rem}.marginalia{grid-template-columns:1fr}.marginalia div{border-right:0}.sheet-border{padding:.55rem}.survey-field{width:220%;margin-left:-60%;min-height:30rem}.legend-nav a{font-size:.68rem}.slot-grid{grid-template-columns:1fr}.slot-col{border-right:0;border-bottom:1px solid var(--rule)}.booking-steps ol{grid-template-columns:1fr}.booking-steps li{border-right:0;border-bottom:1px solid var(--rule)}.form-rules label:nth-child(n){grid-column:auto}.demo-badge{font-size:.62rem}.site-nav a{font-size:.68rem;padding:.28rem .38rem}}
