:root{--paper: #f3efe6;--paper-2: #eae4d6;--paper-card: #fbf9f4;--ink: #141311;--ink-2: #47433c;--ink-3: #6b665c;--rule: rgba(20, 19, 17, .2);--grid-line: rgba(20, 19, 17, .07);--spot: #c23a22;--spot-ink: #9a2a17;--spot-wash: #f2d9cf;--font-display: "Gloock", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-body: "Hanken Grotesk", "Helvetica Neue", Helvetica, "Liberation Sans", Arial, sans-serif;--fs-xs: clamp(.75rem, .72rem + .15vw, .8125rem);--fs-sm: clamp(.875rem, .85rem + .12vw, .9375rem);--fs-base: clamp(1rem, .96rem + .2vw, 1.0625rem);--fs-md: clamp(1.125rem, 1.05rem + .4vw, 1.3rem);--fs-lg: clamp(1.5rem, 1.3rem + 1vw, 2.1rem);--fs-xl: clamp(2.1rem, 1.6rem + 2.4vw, 3.6rem);--fs-2xl: clamp(2.6rem, 1.8rem + 3.8vw, 5.2rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4.5rem;--gutter: clamp(1rem, 4vw, 2.5rem);--max: 1200px;--tabbar-h: 4rem;--touch: 44px;--ease-out: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:4.5rem}html,body{margin:0;max-width:100%;overflow-x:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-base);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}@media (min-width: 900px){body{padding-bottom:0}}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:calc(100% / 12) 100%,100% 96px;background-position:center top;background-repeat:repeat;opacity:.6;max-width:100vw}#root{position:relative;z-index:1}img,svg{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.05;letter-spacing:-.01em;text-wrap:balance}p{text-wrap:pretty}a{color:inherit}:focus-visible{outline:3px solid var(--spot);outline-offset:3px;border-radius:2px}.skip-link{position:absolute;left:var(--space-3);top:-100px;z-index:100;background:var(--ink);color:var(--paper);padding:var(--space-2) var(--space-4);min-height:var(--touch);display:inline-flex;align-items:center}.skip-link:focus{top:var(--space-3)}.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}.label{font-size:var(--fs-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-variant-numeric:tabular-nums}.section{position:relative;padding-block:var(--space-8);border-top:1.5px solid var(--ink)}.section-head{display:grid;gap:var(--space-3);margin-bottom:var(--space-7)}.section-head h2{font-size:var(--fs-xl);max-width:18ch}.section-head p{max-width:58ch;color:var(--ink-2)}.section-no{color:var(--spot-ink)}.split{display:block}.split-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}.split-inner{display:inline-block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch);padding:.75rem 1.25rem;border:1.5px solid var(--ink);border-radius:0;background:var(--ink);color:var(--paper);font:inherit;font-weight:600;font-size:var(--fs-sm);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:background-color .2s var(--ease-out),color .2s var(--ease-out)}.btn:hover{background:var(--spot);border-color:var(--spot)}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-spot{background:var(--spot);border-color:var(--spot)}.btn-spot:hover{background:var(--spot-ink);border-color:var(--spot-ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.text-link{display:inline-flex;align-items:center;min-height:var(--touch);color:var(--spot-ink);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top);background:color-mix(in srgb,var(--paper) 92%,transparent);border-bottom:1.5px solid var(--ink);backdrop-filter:blur(6px)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:4rem}.brand{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--touch);text-decoration:none;font-family:var(--font-display);font-size:var(--fs-md)}.brand small{display:block;font-family:var(--font-body);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.brand svg{width:2rem;height:2rem}.desk-nav{display:none;gap:var(--space-5)}.desk-nav a{display:inline-flex;align-items:center;min-height:var(--touch);text-decoration:none;font-weight:500;font-size:var(--fs-sm);border-bottom:1.5px solid transparent}.desk-nav a:hover{border-bottom-color:var(--spot)}.progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--spot);transform-origin:0 50%;z-index:60;margin-top:env(safe-area-inset-top)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(5,1fr);background:var(--paper);border-top:1.5px solid var(--ink);padding-bottom:env(safe-area-inset-bottom)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:4rem;min-width:var(--touch);text-decoration:none;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);border-right:1px solid var(--rule)}.tabbar a:last-child{border-right:0}.tabbar a[aria-current=true]{color:var(--spot-ink);box-shadow:inset 0 3px 0 var(--spot)}.tabbar svg{width:1.25rem;height:1.25rem}@media (min-width: 900px){.tabbar{display:none}.desk-nav{display:flex}}.hero-pad{padding-top:calc(4rem + env(safe-area-inset-top) + var(--space-7))}.hero-grid{display:grid;gap:var(--space-7);align-items:start}.hero-copy{display:grid;gap:var(--space-5)}.hero-title{font-size:var(--fs-2xl);max-width:13ch}.hero-lede{font-size:var(--fs-md);line-height:1.5;color:var(--ink-2);max-width:44ch}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.hero-figure{margin:0;display:grid;gap:var(--space-3);border:1.5px solid var(--ink);background:var(--paper-card);padding:var(--space-3)}.hero-figure figcaption{font-size:var(--fs-sm);color:var(--ink-2);border-top:1px solid var(--rule);padding-top:var(--space-3)}.hero-figure figcaption .label{color:var(--spot-ink);margin-right:var(--space-2)}.figure-canvas{position:relative;width:100%;aspect-ratio:1 / 1;min-height:260px;touch-action:pan-y;cursor:grab}.figure-canvas:focus-visible{outline:3px solid var(--spot);outline-offset:2px}.figure-canvas canvas{width:100%!important;height:100%!important;display:block}.figure-static{display:grid;place-items:center;cursor:default}.figure-static svg{width:100%;height:auto;max-width:420px}.spec{margin:var(--space-8) 0 0;border-top:1.5px solid var(--ink)}.spec-row{display:grid;grid-template-columns:9rem 1fr;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--rule);align-items:baseline}.spec dd{margin:0;font-weight:500}.prog-grid{display:grid;gap:var(--space-6)}.prog-col{display:grid;gap:var(--space-3);align-content:start}.prog-col-head{font-size:var(--fs-lg);padding-bottom:var(--space-2);border-bottom:1px solid var(--rule)}.prog-card{position:relative;display:grid;gap:var(--space-2);justify-items:start;width:100%;min-height:7.5rem;padding:var(--space-4);border:1.5px solid var(--ink);background:var(--paper-card);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background-color .2s var(--ease-out)}.prog-card:hover{background:var(--paper-2)}.prog-title{font-family:var(--font-display);font-size:var(--fs-md);line-height:1.2}.prog-open{margin-top:auto;font-size:var(--fs-sm);font-weight:600;color:var(--spot-ink);text-decoration:underline;text-underline-offset:4px;min-height:var(--touch);display:inline-flex;align-items:center}.prog-note{margin-top:var(--space-6)}.sheet-backdrop{position:fixed;inset:0;z-index:80;background:#14131173}.sheet-layer{position:fixed;inset:0;z-index:90;display:grid;place-items:end center;padding:env(safe-area-inset-top) var(--space-3) env(safe-area-inset-bottom);pointer-events:none}@media (min-width: 720px){.sheet-layer{place-items:center;padding:var(--space-6)}}.sheet{pointer-events:auto;width:100%;max-width:760px;max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;background:var(--paper-card);border:1.5px solid var(--ink);box-shadow:8px 8px 0 var(--ink);margin:0}.sheet-body{display:grid;gap:var(--space-4);padding:var(--space-5)}.sheet-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.sheet-title{font-size:var(--fs-lg)}.sheet-summary{color:var(--ink-2);max-width:60ch}.sheet-cols{display:grid;gap:var(--space-5)}.sheet h4{margin-bottom:var(--space-2)}.sheet ul,.sheet ol{margin:0;padding-left:1.25rem;display:grid;gap:var(--space-2)}.sheet-receive{border-top:1px solid var(--rule);padding-top:var(--space-4)}@media (min-width: 720px){.sheet-cols{grid-template-columns:1fr 1fr}}.diag{display:grid;gap:var(--space-6);border:1.5px solid var(--ink);background:var(--paper-card);padding:var(--space-4)}.diag-inputs{display:grid;gap:var(--space-5)}.diag-field{border:0;margin:0;padding:0;min-width:0;display:grid;gap:var(--space-3)}.diag-field legend{padding:0;margin-bottom:var(--space-3)}.chip-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.chip,.seg-opt{position:relative;display:flex;align-items:center;justify-content:center;min-height:var(--touch);border:1.5px solid var(--ink);cursor:pointer;font-weight:600;background:var(--paper-card)}.chip input,.seg-opt input,.symptom input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.chip:has(input:checked),.seg-opt:has(input:checked){background:var(--ink);color:var(--paper)}.chip:has(input:focus-visible),.seg-opt:has(input:focus-visible),.symptom:has(input:focus-visible) .tick{outline:3px solid var(--spot);outline-offset:2px}.chip:hover,.seg-opt:hover{background:var(--paper-2)}.chip:has(input:checked):hover,.seg-opt:has(input:checked):hover{background:var(--ink)}.seg{display:grid;grid-template-columns:1fr 1fr;gap:0}.seg-opt+.seg-opt{border-left:0}.symptoms{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--rule)}.symptom{display:flex;align-items:flex-start;gap:var(--space-3);min-height:var(--touch);padding:var(--space-3) 0;border-bottom:1px solid var(--rule);cursor:pointer}.tick{flex:0 0 1.375rem;width:1.375rem;height:1.375rem;margin-top:.1rem;border:1.5px solid var(--ink);background:var(--paper);position:relative}.symptom input:checked+.tick{background:var(--spot);border-color:var(--spot)}.symptom input:checked+.tick:after{content:"";position:absolute;left:.36rem;top:.1rem;width:.36rem;height:.7rem;border:solid var(--paper);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.diag-result{display:grid;gap:var(--space-4);align-content:start;border-top:1.5px solid var(--ink);padding-top:var(--space-5)}.result-title{font-size:var(--fs-lg)}.result-empty{color:var(--ink-3)}.result-intro{color:var(--ink-2)}.weeks{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--rule)}.weeks li{display:grid;gap:var(--space-1);padding:var(--space-3) 0;border-bottom:1px solid var(--rule)}.result-others{font-size:var(--fs-sm);color:var(--ink-2)}.result-cta{justify-self:start}@media (min-width: 900px){.diag{grid-template-columns:1.1fr 1fr;padding:var(--space-6)}}.method-grid{display:grid;gap:var(--space-6)}.method-aside{display:grid;gap:var(--space-3);align-content:start}.method-aside h2{font-size:var(--fs-xl)}.method-note{color:var(--ink-2);max-width:44ch}.method-steps{list-style:none;margin:0;padding:0;display:grid}.method-step{display:grid;grid-template-columns:3.5rem 1.25rem 1fr;gap:var(--space-2) var(--space-3);padding-block:var(--space-5);border-bottom:1px solid var(--rule)}.method-step:first-child{border-top:1px solid var(--rule)}.method-num{padding-top:.4rem;font-size:var(--fs-sm)}.method-rule{position:relative;width:2px;background:var(--ink);transform-origin:top;justify-self:center;min-height:100%}.method-title{font-size:var(--fs-md);margin-bottom:var(--space-2)}.method-text p{color:var(--ink-2);max-width:56ch}@supports (animation-timeline: view()){.method-rule{animation:rule-draw linear both;animation-timeline:view();animation-range:entry 0% cover 45%}}@keyframes rule-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media (min-width: 900px){.method-grid{grid-template-columns:.9fr 1.3fr;gap:var(--space-8)}.method-aside{position:sticky;top:6rem;align-self:start}}.staff-table{display:grid;border:1.5px solid var(--ink);background:var(--paper-card)}.staff-row{display:grid;gap:var(--space-2);padding:var(--space-4);border-bottom:1px solid var(--rule)}.staff-row:last-child{border-bottom:0}.staff-head{display:none;background:var(--paper-2);padding-block:var(--space-3)}.staff-who{font-family:var(--font-display);font-size:var(--fs-md);line-height:1.2}@media (min-width: 900px){.staff-row{grid-template-columns:1.1fr .8fr 1.6fr;gap:var(--space-5);align-items:baseline}.staff-head{display:grid}}.enquire-grid{display:grid;gap:var(--space-6)}.enquire-copy{display:grid;gap:var(--space-3);align-content:start}.enquire-copy h2{font-size:var(--fs-xl)}.enquire-copy>p{color:var(--ink-2);max-width:46ch}.enquire-facts{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:var(--space-2)}.enquire-facts li{display:grid;grid-template-columns:4.5rem 1fr;gap:var(--space-2);align-items:baseline;padding-block:var(--space-2);border-bottom:1px solid var(--rule);overflow-wrap:anywhere}.paper-card{position:relative;padding:var(--space-5);background:var(--paper-card);border:1.5px solid var(--ink);box-shadow:8px 8px 0 var(--spot)}.notice{margin-bottom:var(--space-4);padding:var(--space-3);border-left:4px solid var(--ink);background:var(--paper-2);font-size:var(--fs-sm)}.notice-error{border-left-color:var(--spot);background:var(--spot-wash)}.notice-ok{border-left-color:var(--ink)}.form{display:grid;gap:var(--space-4)}.field{display:grid;gap:var(--space-2);min-width:0}.field-row{display:grid;gap:var(--space-4)}.field label{font-size:var(--fs-sm);font-weight:600}.field input,.field select,.field textarea{width:100%;min-height:var(--touch);padding:.6rem .75rem;font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1.5px solid var(--ink);border-radius:0;appearance:none}.field textarea{resize:vertical;min-height:6rem}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--spot);background:var(--spot-wash)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--spot);outline-offset:1px}.field-error{font-size:var(--fs-sm);color:var(--spot-ink);font-weight:600}.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.form-privacy{font-size:var(--fs-xs);color:var(--ink-3)}@media (min-width: 600px){.field-row{grid-template-columns:1fr 1fr}}@media (min-width: 900px){.enquire-grid{grid-template-columns:.9fr 1.1fr;gap:var(--space-8)}}.site-footer{border-top:1.5px solid var(--ink);padding-block:var(--space-7);background:var(--paper-2)}.footer-grid{display:grid;gap:var(--space-5)}.footer-name{font-family:var(--font-display);font-size:var(--fs-md)}.footer-intro,.footer-small{color:var(--ink-2);font-size:var(--fs-sm)}.footer-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-4)}.footer-links a{display:inline-flex;align-items:center;min-height:var(--touch);font-weight:500}@media (min-width: 900px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr;align-items:start}.footer-small{grid-column:1 / -1}}@media (min-width: 720px){.chip-row{grid-template-columns:repeat(8,1fr)}.prog-grid{grid-template-columns:1fr 1fr}}@media (min-width: 900px){.hero-pad{padding-top:calc(4rem + var(--space-8))}.hero-grid{grid-template-columns:1.15fr 1fr;gap:var(--space-7)}.hero-figure{position:sticky;top:6rem}.section-head{grid-template-columns:1fr}.spec{max-width:680px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.method-rule{animation:none!important}}
