:root{--eucalypt:#1F3A33;--ink:#122019;--canvas:#F5F1E8;--sand:#E4E0D2;--rule:#C9CDBF;--marigold:#E9A820;--ota:#7E9A8E;--available:#2D4C44;--line:#3F6156;--serif:"Source Serif 4",Georgia,serif;--sans:Archivo,Arial,sans-serif;--gutter:clamp(16px,5vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.5}
img{max-width:100%;display:block}h1,h2,h3,p{margin:0}a{color:inherit}
.btn{display:inline-block;padding:15px 26px;background:var(--marigold);color:var(--ink);text-decoration:none;font-weight:700;font-size:18px}.btn:hover{background:#F2B62F}.btn-dark{background:var(--eucalypt);color:var(--canvas)}.btn-dark:hover{background:var(--ink)}
.dark{background:var(--eucalypt);color:var(--canvas)}
.site-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 40px;padding:26px var(--gutter)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--serif);font-weight:900;font-size:27px;letter-spacing:-.02em;color:inherit}.logo i{display:block;width:24px;height:24px;background:var(--marigold)}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 32px;font-size:15px;font-weight:500}.nav a{text-decoration:none}.nav a[aria-current]{text-decoration:underline;text-underline-offset:5px}.nav .btn{padding:11px 18px;font-size:15px}.nav a:not(.btn):hover{text-decoration:underline;text-underline-offset:5px}
.hero{padding:72px var(--gutter) 56px}.hero h1{margin-bottom:32px;max-width:11em;font-family:var(--serif);font-weight:900;font-size:clamp(54px,9.4vw,124px);line-height:.98;letter-spacing:-.03em}.hero p{max-width:33em;font-size:21px}.hero .btn{margin-top:28px}
.cal-wrap{padding:0 var(--gutter) 72px}.cal-title{padding-bottom:12px;font-size:19px;font-weight:700}.cal{display:grid;grid-auto-rows:1fr;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:6px}.cal div{position:relative;background-image:linear-gradient(var(--marigold),var(--marigold));background-repeat:no-repeat;background-size:0 100%;transition:background-size .13s linear,color .13s linear;aspect-ratio:1;padding:7px;font-size:14px;font-weight:700;background-color:var(--available)}.cal .o{color:var(--ink)}.cal .d{background-size:100% 100%;color:var(--ink)}.cal .o{background-color:var(--ota)}
.legend{display:flex;flex-wrap:wrap;gap:8px 28px;padding-top:14px;font-size:15px;font-weight:500}.legend span{display:flex;align-items:center;gap:8px}.legend i{display:block;width:16px;height:16px}
.band{padding:104px var(--gutter) 112px}.slider h2{font-family:var(--serif);font-weight:600;font-size:clamp(34px,5vw,64px);line-height:1.08;letter-spacing:-.015em}
.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.pair div{min-height:132px;padding:24px 26px}.pair div:first-child{background:var(--canvas)}.pair div:last-child{background:var(--eucalypt);color:var(--canvas)}.pair b{display:block;margin-bottom:8px;font-size:14px}
.controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding-top:22px}.dots{display:flex}.dots button{width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.dots span{display:block;width:28px;height:6px;background:#B8BBAD}.dots [aria-current=true] span{background:var(--eucalypt)}
.arrows{display:flex;gap:8px}.arrows button{width:48px;height:48px;padding:0;border:2px solid var(--eucalypt);background:none;color:var(--eucalypt);cursor:pointer;display:flex;align-items:center;justify-content:center}.arrows button:last-child{background:var(--eucalypt);color:var(--canvas)}
.section-title{margin-bottom:28px;font-family:var(--serif);font-weight:900;font-size:clamp(34px,4.2vw,52px);line-height:1.05;letter-spacing:-.02em}
#services{padding:0 var(--gutter) 112px}.chart{border-top:2px solid var(--ink)}.row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:0 20px;border-bottom:1px solid var(--rule)}.row h3{display:flex;align-items:flex-start;gap:10px;padding:16px 0;font-size:20px;line-height:1.25}.row svg{flex:0 0 24px;fill:none;stroke:var(--eucalypt);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.track{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));padding:7px 0}.track p{padding:10px 14px;font-size:16px;line-height:1.35;background:var(--eucalypt);color:var(--canvas);grid-column:var(--bar)}.track p.direct{background:var(--marigold);color:var(--ink)}
.ledger{background:var(--ink);color:var(--canvas);padding:88px var(--gutter) 136px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px 64px}.ledger-copy{flex:1 1 300px;max-width:360px}.ledger-copy h2{margin-bottom:12px;font-size:28px;line-height:1.2}.ledger-copy p{margin-bottom:20px}.ledger-table{flex:2 1 480px;min-width:0;max-width:760px}.ledger-table div{display:flex;justify-content:space-between;gap:24px;padding:14px 0;border-bottom:1px solid var(--line)}.ledger-table b{font-weight:700}.ledger-table .total{flex-wrap:wrap;align-items:flex-end;padding-top:20px;border:0}.total strong{font-family:var(--serif);font-weight:900;font-size:clamp(64px,11vw,148px);line-height:.95;letter-spacing:-.03em;color:var(--marigold)}
#jake{display:flex;flex-wrap:wrap;align-items:flex-start;gap:32px clamp(36px,6vw,80px);padding:0 var(--gutter) 88px}.photo{flex:0 0 240px;width:240px;margin-top:-72px}.photo img{width:100%;height:auto;aspect-ratio:5/6;object-fit:cover}.bio{flex:1 1 320px;min-width:0;padding-top:40px}.bio h2{margin-bottom:14px;font-family:var(--serif);font-weight:900;font-size:clamp(38px,5.2vw,66px);line-height:1.02;letter-spacing:-.025em}.bio .lead{margin-bottom:14px;max-width:34em;font-size:21px}.bio .body{margin-bottom:28px;max-width:36em}
.proof{max-width:720px;margin-bottom:30px;border-top:2px solid var(--ink)}.proof div{display:grid;grid-template-columns:clamp(118px,15vw,170px) minmax(0,1fr);gap:4px 24px;align-items:center;padding:14px 0;border-bottom:1px solid var(--rule)}.proof span:first-child{font-family:var(--serif);font-weight:900;font-size:clamp(28px,3.2vw,40px);line-height:1;letter-spacing:-.025em;color:var(--eucalypt)}.proof strong{display:block}
.teaser{padding:72px var(--gutter) 88px;background:var(--sand)}.list-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 32px;padding-bottom:20px;border-bottom:2px solid var(--ink)}.list-head h2{font-family:var(--serif);font-weight:900;font-size:clamp(34px,4.2vw,52px);line-height:1.05;letter-spacing:-.02em}.list-head a{font-weight:700;text-underline-offset:5px}
.item{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 24px;padding:18px 0;border-bottom:1px solid #B8BBAD;font-size:21px;font-weight:700}.item small{font-size:15px;font-weight:500}
.site-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 40px;padding:26px var(--gutter);background:var(--ink);color:var(--canvas);font-size:14px}.site-foot b{font-family:var(--serif);font-weight:800;font-size:20px}.site-foot span{display:flex;flex-wrap:wrap;gap:6px 22px}
.page-hero{padding:48px var(--gutter) 64px}.page-hero h1{margin-bottom:16px;max-width:12em;font-family:var(--serif);font-weight:900;font-size:clamp(50px,7.4vw,96px);line-height:.98;letter-spacing:-.03em}.page-hero p{max-width:34em;font-size:21px}
.contact{display:flex;flex-wrap:wrap;align-items:flex-start;gap:40px clamp(32px,5vw,64px);padding:56px var(--gutter) 80px}.contact h2,.prose h2{font-family:var(--serif);font-weight:600;font-size:34px;line-height:1.15}.form-wrap{flex:3 1 480px;min-width:0}.book{flex:2 1 340px;min-width:0;padding:26px;background:var(--sand)}.book p{margin:8px 0 18px}
.prose{max-width:760px;padding:56px var(--gutter) 88px}.prose h2{margin:32px 0 8px;font-size:26px}.prose p{margin-bottom:12px}
.empty{padding:64px var(--gutter) 88px}.empty p{max-width:34em;margin:10px 0 24px}
@media(max-width:760px){.row{grid-template-columns:1fr}.row h3{padding-bottom:4px}.track{padding:4px 0 12px}.track p{grid-column:1/-1;margin-left:var(--m,0)}.photo{flex-basis:180px;width:180px;margin-top:0}.band{padding:72px var(--gutter)}.item{font-size:19px}}
.cform{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 20px;margin-top:14px}.cform .full{grid-column:1/-1}.cform label{display:flex;flex-direction:column;gap:5px;font-size:15px;font-weight:700}.cform input:not([type=radio]),.cform select,.cform textarea{width:100%;padding:12px;border:1px solid var(--eucalypt);border-radius:0;background:#fff;color:var(--ink);font:inherit;font-weight:400}
.cform fieldset{margin:0;padding:0;border:0}.cform legend{padding:0 0 8px;font-size:15px;font-weight:700}.types{display:flex;flex-wrap:wrap;gap:8px}.types label{display:block;cursor:pointer}.types input{position:absolute;opacity:0}.types span{display:flex;align-items:center;min-height:44px;padding:0 16px;border:2px solid var(--eucalypt);color:var(--eucalypt)}.types input:checked+span{background:var(--eucalypt);color:var(--canvas)}.types input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.cform button{border:0;cursor:pointer;font-family:inherit}.cform button[disabled]{opacity:.6;cursor:wait}.note{margin-top:12px;font-size:14px}.status{margin-top:10px;font-weight:700}.hp{position:absolute;left:-9999px}
@media(prefers-reduced-motion:reduce){.cal div{transition:none}}
.hero{will-change:transform}
#services{overflow-x:clip}.track p{will-change:transform,opacity}
html,body{overflow-x:clip}
.slider{background:var(--sand)}.slides{display:flex;gap:32px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.slides::-webkit-scrollbar{display:none}.slides:focus-visible{outline:2px solid var(--eucalypt);outline-offset:4px}.slide{flex:0 0 100%;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;gap:36px;scroll-snap-align:start;scroll-snap-stop:always}
@media(max-width:760px){.slider h2{font-size:30px;line-height:1.12}.slide{gap:22px}.pair div{min-height:0;padding:18px 20px}.band{padding:56px var(--gutter)}}
#services{padding-top:88px}.slider{padding-top:72px;padding-bottom:72px}
@media(max-width:760px){#services{padding-top:56px}.slider{padding-top:48px;padding-bottom:48px}}
.chat{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}.q,.bubble,.said{min-width:0;overflow-wrap:anywhere}.chat p{margin:0}.chat b{display:block;margin-bottom:4px;font-size:14px}.ask{justify-self:start;display:flex;align-items:flex-end;gap:14px;max-width:min(700px,94%)}.q{padding:16px 20px;background:var(--canvas)}.anon{flex:0 0 52px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ota);color:var(--canvas)}.reply{justify-self:end;display:flex;align-items:flex-end;gap:14px;max-width:min(760px,94%)}.reply img{flex:0 0 52px;width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:center 85%}.bubble{position:relative;padding:16px 20px;background:var(--eucalypt);color:var(--canvas)}
.typing{position:absolute;left:20px;top:22px;display:none;gap:6px}.typing i{display:block;width:8px;height:8px;background:var(--marigold);animation:dot 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
.chatty .typing{display:flex}.chatty .slide:not(.play) .ask,.chatty .slide:not(.play) .reply,.chatty .slide:not(.play) .said{opacity:0}
.chatty .play .ask{animation:rise .4s ease both}.chatty .play .reply{animation:rise .4s ease .8s both}.chatty .play .said{animation:said .3s ease 2.1s both}.chatty .play .typing{animation:gone .01s linear 2.1s both}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes said{from{opacity:0}to{opacity:1}}@keyframes gone{to{opacity:0}}@keyframes dot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
@media(max-width:760px){.reply img,.anon{flex-basis:40px;width:40px;height:40px}.anon svg{width:21px;height:21px}.reply,.ask{gap:10px;max-width:100%}}
.menu-btn{display:none}
@media(max-width:1024px),(hover:none){.site-head{flex-wrap:wrap;gap:0;padding-top:18px;padding-bottom:18px}.menu-btn{display:flex;flex-direction:column;justify-content:center;gap:6px;width:48px;height:48px;margin-right:-8px;padding:0 10px;border:0;background:none;color:inherit;cursor:pointer}.menu-btn span{display:block;height:2px;background:currentColor;transition:transform .25s ease,opacity .2s ease}.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.js .nav{display:none;flex:0 0 100%;flex-direction:column;align-items:stretch;gap:0;padding:14px 0 6px;font-size:18px}.js .nav.open{display:flex;animation:said .25s ease}.js .nav a:not(.btn){padding:12px 0;border-bottom:1px solid var(--line)}.js .nav .btn{margin-top:16px;padding:15px 20px;font-size:17px;text-align:center}}
@media(prefers-reduced-motion:reduce){.menu-btn span{transition:none}.js .nav.open{animation:none}}
.site-head{background:var(--eucalypt);color:var(--canvas)}
@media(min-width:1025px) and (hover:hover){.site-head{position:sticky;top:0;z-index:50;padding-top:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}#services,#jake{scroll-margin-top:92px}}
