/*! Tailwind CSS v3.4.17, compiled by Claude Design. DO NOT EDIT BY HAND.
 *  Palette: dusty mint #B9D6C8 (60%), cream #F2EADB (30%), charcoal #26292B (10%).
 *  Contains only the utilities the approved design uses; see README "Styling". */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Manrope,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.btn-primary{display:inline-flex;min-height:56px;align-items:center;justify-content:center;gap:.75rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(38 41 43/var(--tw-bg-opacity,1));padding-left:1.75rem;padding-right:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(250 246 238/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:hover{--tw-bg-opacity:1;background-color:rgb(26 28 29/var(--tw-bg-opacity,1))}.btn-primary:focus{outline:2px solid transparent;outline-offset:2px}.btn-primary:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(46,85,70,.4)}.btn-primary:disabled{cursor:not-allowed;--tw-bg-opacity:1;background-color:rgb(226 216 198/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(77 83 86/var(--tw-text-opacity,1))}.btn-ghost{display:inline-flex;min-height:52px;align-items:center;justify-content:center;border-radius:9999px;border-width:1.5px;--tw-border-opacity:1;border-color:rgb(201 188 165/var(--tw-border-opacity,1));padding-left:1.5rem;padding-right:1.5rem;font-weight:700;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-ghost:hover{--tw-border-opacity:1;border-color:rgb(38 41 43/var(--tw-border-opacity,1))}.eyebrow{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;--tw-text-opacity:1;color:rgb(46 85 70/var(--tw-text-opacity,1))}.h2{font-size:2.25rem;line-height:2.5rem;font-weight:800;line-height:1.05;letter-spacing:-.035em;--tw-text-opacity:1;color:rgb(26 28 29/var(--tw-text-opacity,1))}@media (min-width:640px){.h2{font-size:3rem;line-height:1}}.opt{display:flex;min-height:60px;cursor:pointer;align-items:center;gap:1rem;border-radius:18px;border-width:2px;--tw-border-opacity:1;border-color:rgb(226 216 198/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(250 246 238/var(--tw-bg-opacity,1));padding:.75rem 1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.opt:hover{--tw-border-opacity:1;border-color:rgb(201 188 165/var(--tw-border-opacity,1))}.opt:has(:checked){--tw-border-opacity:1;border-color:rgb(38 41 43/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(185 214 200/var(--tw-bg-opacity,1))}.opt:has(:focus-visible){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(46,85,70,.3)}.opt-dot{display:flex;height:2.5rem;width:2.5rem;flex:none;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(242 234 219/var(--tw-bg-opacity,1));font-weight:800}.peer:checked~.opt-dot{--tw-bg-opacity:1;background-color:rgb(38 41 43/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(250 246 238/var(--tw-text-opacity,1))}.\!field{min-height:52px;width:100%;border-radius:1rem;border-width:1.5px;--tw-border-opacity:1;border-color:rgb(143 131 113/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(250 246 238/var(--tw-bg-opacity,1));padding-left:1rem;padding-right:1rem;font-size:1rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(38 41 43/var(--tw-text-opacity,1))}.\!field::-moz-placeholder{--tw-text-opacity:1;color:rgb(77 83 86/var(--tw-text-opacity,1))}.\!field::placeholder{--tw-text-opacity:1;color:rgb(77 83 86/var(--tw-text-opacity,1))}.\!field:focus{--tw-border-opacity:1;border-color:rgb(38 41 43/var(--tw-border-opacity,1));outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(46,85,70,.25)}.field{min-height:52px;width:100%;border-radius:1rem;border-width:1.5px;--tw-border-opacity:1;border-color:rgb(143 131 113/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(250 246 238/var(--tw-bg-opacity,1));padding-left:1rem;padding-right:1rem;font-size:1rem;line-height:1.5rem;--tw-text-opacity:1;color:rgb(38 41 43/var(--tw-text-opacity,1))}.field::-moz-placeholder{--tw-text-opacity:1;color:rgb(77 83 86/var(--tw-text-opacity,1))}.field::placeholder{--tw-text-opacity:1;color:rgb(77 83 86/var(--tw-text-opacity,1))}.field:focus{--tw-border-opacity:1;border-color:rgb(38 41 43/var(--tw-border-opacity,1));outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:rgba(46,85,70,.25)}.q-title{font-size:26px;font-weight:800;line-height:1.25;letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(26 28 29/var(--tw-text-opacity,1))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-6{bottom:1.5rem}.left-6{left:1.5rem}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-3{height:.75rem}.h-40{height:10rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[14px\]{height:14px}.h-\[16px\]{height:16px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[26px\]{height:26px}.h-\[32px\]{height:32px}.h-\[460px\]{height:460px}.h-\[72px\]{height:72px}.h-auto{height:auto}.h-full{height:100%}.max-h-\[calc\(100vh-32px\)\]{max-height:calc(100vh - 32px)}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[52px\]{min-height:52px}.min-h-\[60px\]{min-height:60px}.w-1\/5{width:20%}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-3{width:.75rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[14px\]{width:14px}.w-\[16px\]{width:16px}.w-\[18px\]{width:18px}.w-\[22px\]{width:22px}.w-\[26px\]{width:26px}.w-\[32px\]{width:32px}.w-\[72px\]{width:72px}.w-full{width:100%}.max-w-6xl{max-width:72rem}.max-w-\[560px\]{max-width:560px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[14px\]{border-radius:14px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-\[28px\]{border-radius:28px}.rounded-\[36px\]{border-radius:36px}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#C9BCA5\]{--tw-border-opacity:1;border-color:rgb(201 188 165/var(--tw-border-opacity,1))}.border-charcoal{--tw-border-opacity:1;border-color:rgb(38 41 43/var(--tw-border-opacity,1))}.border-charcoal\/20{border-color:rgba(38,41,43,.2)}.border-mint-deep{--tw-border-opacity:1;border-color:rgb(46 85 70/var(--tw-border-opacity,1))}.border-oat{--tw-border-opacity:1;border-color:rgb(226 216 198/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.bg-charcoal{--tw-bg-opacity:1;background-color:rgb(38 41 43/var(--tw-bg-opacity,1))}.bg-charcoal-deep\/50{background-color:rgba(26,28,29,.5)}.bg-cream{--tw-bg-opacity:1;background-color:rgb(242 234 219/var(--tw-bg-opacity,1))}.bg-mint{--tw-bg-opacity:1;background-color:rgb(185 214 200/var(--tw-bg-opacity,1))}.bg-oat{--tw-bg-opacity:1;background-color:rgb(226 216 198/var(--tw-bg-opacity,1))}.bg-paper{--tw-bg-opacity:1;background-color:rgb(250 246 238/var(--tw-bg-opacity,1))}.object-cover{-o-object-fit:cover;object-fit:cover}.object-\[55\%_40\%\]{-o-object-position:55% 40%;object-position:55% 40%}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-9{padding-top:2.25rem;padding-bottom:2.25rem}.py-\[18px\]{padding-top:18px;padding-bottom:18px}.pb-12{padding-bottom:3rem}.pb-24{padding-bottom:6rem}.pt-10{padding-top:2.5rem}.pt-24{padding-top:6rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.font-sans{font-family:Manrope,system-ui,sans-serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[22px\]{font-size:22px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-\[0\.98\]{line-height:.98}.leading-\[1\.05\]{line-height:1.05}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[-0\.035em\]{letter-spacing:-.035em}.tracking-\[-0\.045em\]{letter-spacing:-.045em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-tight{letter-spacing:-.025em}.text-\[\#9B2C1F\]{--tw-text-opacity:1;color:rgb(155 44 31/var(--tw-text-opacity,1))}.text-\[\#DCD3C3\]{--tw-text-opacity:1;color:rgb(220 211 195/var(--tw-text-opacity,1))}.text-\[\#F2B8A8\]{--tw-text-opacity:1;color:rgb(242 184 168/var(--tw-text-opacity,1))}.text-charcoal{--tw-text-opacity:1;color:rgb(38 41 43/var(--tw-text-opacity,1))}.text-charcoal-deep{--tw-text-opacity:1;color:rgb(26 28 29/var(--tw-text-opacity,1))}.text-charcoal-mute{--tw-text-opacity:1;color:rgb(77 83 86/var(--tw-text-opacity,1))}.text-charcoal-soft{--tw-text-opacity:1;color:rgb(63 68 71/var(--tw-text-opacity,1))}.text-mint{--tw-text-opacity:1;color:rgb(185 214 200/var(--tw-text-opacity,1))}.text-mint-deep{--tw-text-opacity:1;color:rgb(46 85 70/var(--tw-text-opacity,1))}.text-paper{--tw-text-opacity:1;color:rgb(250 246 238/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.decoration-mint{text-decoration-color:#b9d6c8}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-\[0_10px_30px_rgba\(38\2c 41\2c 43\2c 0\.22\)\]{--tw-shadow:0 10px 30px rgba(38,41,43,.22);--tw-shadow-colored:0 10px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_rgba\(38\2c 41\2c 43\2c 0\.10\)\]{--tw-shadow:0 12px 30px rgba(38,41,43,.1);--tw-shadow-colored:0 12px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_60px_rgba\(38\2c 41\2c 43\2c 0\.14\)\]{--tw-shadow:0 24px 60px rgba(38,41,43,.14);--tw-shadow-colored:0 24px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_30px_80px_rgba\(26\2c 28\2c 29\2c 0\.28\)\]{--tw-shadow:0 30px 80px rgba(26,28,29,.28);--tw-shadow-colored:0 30px 80px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[\#C9BCA5\]:hover{--tw-border-opacity:1;border-color:rgb(201 188 165/var(--tw-border-opacity,1))}.hover\:border-mint-deep:hover{--tw-border-opacity:1;border-color:rgb(46 85 70/var(--tw-border-opacity,1))}.hover\:bg-charcoal:hover{--tw-bg-opacity:1;background-color:rgb(38 41 43/var(--tw-bg-opacity,1))}.hover\:bg-oat:hover{--tw-bg-opacity:1;background-color:rgb(226 216 198/var(--tw-bg-opacity,1))}.hover\:bg-paper:hover{--tw-bg-opacity:1;background-color:rgb(250 246 238/var(--tw-bg-opacity,1))}.hover\:text-charcoal:hover{--tw-text-opacity:1;color:rgb(38 41 43/var(--tw-text-opacity,1))}.hover\:text-charcoal-deep:hover{--tw-text-opacity:1;color:rgb(26 28 29/var(--tw-text-opacity,1))}.hover\:text-mint:hover{--tw-text-opacity:1;color:rgb(185 214 200/var(--tw-text-opacity,1))}.hover\:text-paper:hover{--tw-text-opacity:1;color:rgb(250 246 238/var(--tw-text-opacity,1))}.hover\:shadow-\[0_20px_40px_rgba\(38\2c 41\2c 43\2c 0\.06\)\]:hover{--tw-shadow:0 20px 40px rgba(38,41,43,.06);--tw-shadow-colored:0 20px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.has-\[\:checked\]\:border-charcoal:has(:checked){--tw-border-opacity:1;border-color:rgb(38 41 43/var(--tw-border-opacity,1))}.has-\[\:checked\]\:bg-mint:has(:checked){--tw-bg-opacity:1;background-color:rgb(185 214 200/var(--tw-bg-opacity,1))}.has-\[\:focus-visible\]\:ring-4:has(:focus-visible){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.has-\[\:focus-visible\]\:ring-mint-deep\/30:has(:focus-visible){--tw-ring-color:rgba(46,85,70,.3)}@media (min-width:640px){.sm\:inline{display:inline}.sm\:h-\[560px\]{height:560px}.sm\:flex-row{flex-direction:row}.sm\:p-14{padding:3.5rem}.sm\:p-7{padding:1.75rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-\[17px\]{font-size:17px}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.25fr_1fr\]{grid-template-columns:1.25fr 1fr}.lg\:grid-cols-\[1fr_1\.25fr\]{grid-template-columns:1fr 1.25fr}.lg\:gap-14{gap:3.5rem}.lg\:p-20{padding:5rem}.lg\:text-\[64px\]{font-size:64px}}@media (min-width:1280px){.xl\:text-\[70px\]{font-size:70px}}

/* Pearli design system (Hims-inspired redesign; see docs/HIMS_DESIGN_DIRECTION.md).
   Hand-written on purpose: the compiled tailwind.css is still loaded only for
   its reset and for the quiz modal / 404 markup, which use its utilities.

   Patterns used (IDs from the direction doc):
   H1 rounded chapter panels on white · H2 one palette world per panel ·
   H3 two-tone headlines · H4 light display weights · H5 hero router tiles ·
   H6/H7 minimal sticky header + menu sheet · H8 product cards · H10 paired CTAs · H12 inline breath chips ·
   H13 process stack · H14 tangible membership benefits · H17 fine print ·
   H19 footer as a destination. */

:root {
  --mint: #B9D6C8;
  --mint-deep: #2E5546;
  --cream: #F2EADB;
  --paper: #FAF6EE;
  --oat: #E2D8C6;
  --taupe: #C9BCA5;
  --charcoal: #26292B;
  --charcoal-deep: #1A1C1D;
  --charcoal-soft: #3F4447;
  --charcoal-mute: #4D5356;
  --white: #FFFFFF;

  --gutter: 8px;
  --panel-gap: 14px;
  --panel-radius: 24px;
  --card-radius: 20px;
  --pad-x: 24px;
  --pad-y: 72px;
  --header-h: 60px;
}
@media (min-width: 768px) {
  :root { --gutter: 16px; --panel-gap: 36px; --panel-radius: 32px; --card-radius: 24px; --pad-x: 56px; --pad-y: 128px; --header-h: 68px; }
}
@media (min-width: 1200px) {
  :root { --pad-x: 80px; --pad-y: 152px; }
}

/* ------------------------------------------------------------------ base -- */
:root { color-scheme: light; }
html { scroll-behavior: smooth; }
body { font-size: 16px; }
.page { background: var(--white); }
[id] { scroll-margin-top: calc(var(--header-h) + 12px); }

.accent { color: var(--mint-deep); }
.panel--deep .accent, .panel--dark .accent, .tile .accent { color: var(--mint); }

.display {
  font-size: clamp(40px, 5.4vw, 76px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.04em;
  color: var(--charcoal-deep);
  text-wrap: balance;
}
.title {
  font-size: clamp(32px, 3.6vw, 52px);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -0.035em;
  color: var(--charcoal-deep);
  text-wrap: balance;
}
.title--xl { font-size: clamp(36px, 4.6vw, 64px); }
.title--center { text-align: center; }
.panel--deep .title, .panel--dark .title { color: var(--paper); }
.lede { font-size: 17px; line-height: 1.6; color: var(--charcoal-soft); max-width: 36em; }
.panel--deep .lede { color: rgba(250, 246, 238, .82); }
.eyebrow-sm { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mint-deep); }
.panel--deep .eyebrow-sm { color: var(--mint); }

.fineprint { margin: 56px auto 0; max-width: 760px; text-align: center; font-size: 12.5px; line-height: 1.6; color: rgba(250, 246, 238, .62); }
.fineprint--light { color: rgba(250, 246, 238, .55); }

/* Invisible tap area around small text links; no visual change. */
.hit-area { position: relative; }
.hit-area::after { content: ''; position: absolute; inset: -14px -6px; }

/* --------------------------------------------------------------- buttons -- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 52px;
  padding: 0 26px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  transition: background-color .15s, color .15s, border-color .15s;
}
.btn:focus-visible, .chip:focus-visible, .tile:focus-visible, .row-link:focus-visible, .menu-btn:focus-visible {
  outline: 3px solid var(--mint-deep);
  outline-offset: 3px;
}
.btn--sm { min-height: 44px; padding: 0 18px; font-size: 14px; }
.btn--block { width: 100%; }
.btn--dark { background: var(--charcoal); color: var(--paper); }
.btn--dark:hover { background: var(--charcoal-deep); }
.btn--mint { background: var(--mint); color: var(--charcoal-deep); }
.btn--mint:hover { background: var(--paper); }
.btn--ghost { border: 1.5px solid var(--taupe); color: var(--charcoal); }
.btn--ghost:hover { border-color: var(--charcoal); }
.btn--ghost-light { border: 1.5px solid rgba(250, 246, 238, .3); color: var(--paper); }
.btn--ghost-light:hover { border-color: var(--paper); }
.cta-pair { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 40px; }
@media (min-width: 768px) { .cta-pair { margin-top: 56px; } }
.cta-pair--center { justify-content: center; }
@media (max-width: 599.98px) { .cta-pair .btn { flex: 1 1 100%; } }

.icon-chev { width: 18px; height: 18px; flex: none; }
.icon-arrow { display: inline-block; width: 15px; height: 15px; vertical-align: -2px; margin-left: 2px; }

/* -------------------------------------------------------- announce/header -- */
.announce { background: var(--cream); padding: 10px 16px; text-align: center; font-size: 14px; color: var(--charcoal); text-wrap: balance; }
.announce a { font-weight: 700; white-space: nowrap; }
.announce a:hover { text-decoration: underline; text-underline-offset: 3px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255, 255, 255, .92);
  -webkit-backdrop-filter: saturate(1.4) blur(12px);
  backdrop-filter: saturate(1.4) blur(12px);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-h);
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 16px;
}
@media (min-width: 768px) { .site-header__inner { padding: 0 28px; } }
.logo { display: flex; align-items: center; }
/* Wordmark only: lowercase Manrope, no symbol. */
.logo__word { font-size: 26px; font-weight: 700; line-height: 1; letter-spacing: -0.05em; color: var(--charcoal-deep); }
@media (min-width: 768px) { .logo__word { font-size: 28px; } }
.logo__word--light { color: var(--paper); }
.site-header__actions { display: flex; align-items: center; gap: 8px; }
.menu-btn { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; color: var(--charcoal-deep); }
.menu-btn:hover { background: var(--paper); }
.menu-btn svg { width: 24px; height: 24px; }

/* ------------------------------------------------------------ menu sheet -- */
.menu { position: fixed; inset: 0; z-index: 45; }
.menu[hidden] { display: none; }
.menu__scrim { position: absolute; inset: 0; background: rgba(26, 28, 29, .35); }
.menu__sheet {
  position: absolute;
  top: 8px;
  right: 8px;
  bottom: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: min(420px, calc(100% - 48px));
  max-height: calc(100dvh - 16px);
  overflow-y: auto;
  padding: 16px 20px 24px;
  border-radius: 24px;
  background: var(--white);
  box-shadow: 0 24px 60px rgba(26, 28, 29, .2);
  animation: sheetIn .2s ease-out;
}
.menu__head { display: flex; align-items: center; justify-content: space-between; }
.menu__title { font-size: 20px; font-weight: 600; letter-spacing: -0.02em; }
.menu__close { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--paper); }
.menu__close svg { width: 20px; height: 20px; }
.menu__label { margin-top: 12px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--charcoal-mute); }
.menu__list { margin-bottom: 16px; }
.menu__list a { display: flex; align-items: center; justify-content: space-between; min-height: 52px; font-size: 19px; font-weight: 500; letter-spacing: -0.02em; color: var(--charcoal-deep); }
.menu__list a span { font-size: 24px; color: var(--charcoal-mute); }

/* ------------------------------------------------------------------ hero -- */
.hero { max-width: 1440px; margin: 0 auto; padding: 20px var(--gutter) 0; }
.hero .display { padding: 0 12px; margin-bottom: 28px; }
@media (min-width: 768px) { .hero { padding-top: 48px; } .hero .display { padding: 0 16px; margin-bottom: 48px; max-width: 15em; } }
.hero + .panel { margin-top: calc(var(--panel-gap) + 8px); }

.hero__tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
@media (min-width: 768px) { .hero__tiles { gap: 12px; } }
.tile {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 248px;
  padding: 16px;
  overflow: hidden;
  border-radius: var(--card-radius);
  background: var(--charcoal);
  color: var(--paper);
  text-align: left;
  isolation: isolate;
}
@media (min-width: 768px) { .tile { min-height: 420px; padding: 28px; } }
@media (min-width: 1200px) { .tile { min-height: 480px; } }
.tile__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.tile__img--hero { object-position: 58% 40%; }
.tile__img--kit { object-position: 40% 60%; }
.tile::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(26, 28, 29, .68) 0%, rgba(26, 28, 29, .18) 34%, rgba(26, 28, 29, 0) 52%, rgba(26, 28, 29, .62) 100%);
}
.tile:hover .tile__img { transform: scale(1.03); }
.tile__label { text-shadow: 0 1px 12px rgba(26, 28, 29, .35); font-size: 17px; font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; }
.tile__accent { color: var(--mint); font-weight: 500; }
.tile__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 14px; font-weight: 600; }
@media (min-width: 768px) {
  .tile__label { font-size: 30px; font-weight: 500; letter-spacing: -0.03em; }
  .tile__foot { font-size: 17px; }
}

.hero__rows { display: grid; gap: 8px; margin-top: 8px; }
@media (min-width: 768px) { .hero__rows { grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 12px; } }
@media (min-width: 1200px) { .hero__rows { grid-template-columns: repeat(4, 1fr); } }
.row-link {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 10px 14px 10px 20px;
  border-radius: var(--card-radius);
  background: var(--paper);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--charcoal-deep);
  transition: background-color .15s;
}
.row-link:hover { background: var(--cream); }
.row-link > span:first-child { flex: 1; }
.row-link__thumb { position: relative; flex: none; width: 56px; height: 56px; overflow: hidden; border-radius: 16px; background: var(--cream); }
.row-link__thumb--icon { display: flex; align-items: center; justify-content: center; background: var(--mint); color: var(--charcoal); }
.row-link__thumb--icon svg { width: 26px; height: 26px; }
@media (min-width: 768px) { .row-link { min-height: 96px; font-size: 20px; } .row-link__thumb { width: 64px; height: 64px; } }

/* ---------------------------------------------------------------- panels -- */
.panel {
  margin: var(--panel-gap) var(--gutter);
  padding: var(--pad-y) var(--pad-x);
  border-radius: var(--panel-radius);
  overflow: hidden;
}
.panel--mint { background: var(--mint); }
.panel--cream { background: var(--cream); }
.panel--paper { background: var(--paper); }
.panel--deep { background: var(--mint-deep); color: var(--paper); }
.panel--dark { background: var(--charcoal); color: var(--paper); }
.panel__inner { max-width: 1200px; margin: 0 auto; }
.panel__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 40px; margin-bottom: 40px; }
@media (min-width: 768px) { .panel__head { margin-bottom: 64px; } }
.panel__head .lede { max-width: 26em; }
.panel__head--center { justify-content: center; text-align: center; }

/* -------------------------------------------------------- breath check -- */
.check__inner { display: flex; flex-direction: column; align-items: center; gap: 32px; }
@media (min-width: 768px) { .check__inner { gap: 44px; } }
.chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 640px; }
.chip {
  min-height: 48px;
  padding: 0 20px;
  border-radius: 999px;
  border: 1.5px solid rgba(38, 41, 43, .14);
  background: var(--paper);
  font-size: 15px;
  font-weight: 600;
  color: var(--charcoal-deep);
  transition: border-color .15s, background-color .15s;
}
.chip:hover { border-color: var(--charcoal); background: var(--white); }
.check__meta { font-size: 14px; font-weight: 600; color: var(--charcoal-soft); }

/* ---------------------------------------------------------------- routine -- */
.products { display: grid; gap: 12px; }
@media (min-width: 900px) { .products { grid-template-columns: repeat(3, 1fr); gap: 16px; } }
.product { display: flex; flex-direction: column; padding: 28px 24px 30px; border-radius: var(--card-radius); background: var(--paper); }
@media (min-width: 768px) { .product { padding: 36px 34px 40px; } }
.product__icon { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-bottom: 32px; border-radius: 16px; background: var(--mint); color: var(--charcoal); }
@media (min-width: 900px) { .product__icon { margin-bottom: 64px; } }
.product__icon svg { width: 26px; height: 26px; }
@media (max-width: 899.98px) {
  .product { display: grid; grid-template-columns: 56px 1fr; column-gap: 18px; align-items: start; }
  .product__icon { grid-row: 1 / span 3; margin-bottom: 0; }
  .product .tags { margin-bottom: 10px; }
}
.tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.tag { padding: 4px 10px; border-radius: 999px; background: var(--mint); font-size: 12px; font-weight: 700; color: var(--charcoal-deep); }
.tag--soft { background: var(--oat); }
.product__name { margin-bottom: 8px; font-size: clamp(22px, 2vw, 26px); font-weight: 500; letter-spacing: -0.03em; color: var(--charcoal-deep); }
.product__text { font-size: 15px; line-height: 1.55; color: var(--charcoal-soft); }

/* ---------------------------------------------------------- feature split -- */
.feature { display: grid; padding: 0; }
.feature__copy { display: flex; flex-direction: column; gap: 28px; padding: var(--pad-y) var(--pad-x) 36px; }
.feature__media { aspect-ratio: 4 / 3; }
.feature__media img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 900px) {
  .feature { grid-template-columns: 1fr 1fr; align-items: stretch; }
  .feature__copy { justify-content: center; padding: var(--pad-y) var(--pad-x); }
  .feature__media { aspect-ratio: auto; min-height: 560px; }
}
.checks { display: grid; gap: 12px; }
.checks li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  font-weight: 600;
  color: var(--charcoal-deep);
}
.checks li::before {
  content: '';
  flex: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--charcoal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAF6EE' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* ---------------------------------------------------------- vet tech review -- */
.review__inner { display: grid; gap: 40px; align-items: center; }
@media (min-width: 900px) { .review__inner { grid-template-columns: 1.05fr 1fr; gap: 96px; } }
.review__copy { display: flex; flex-direction: column; gap: 24px; }
.badge { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; font-weight: 600; line-height: 1.4; color: var(--paper); }
.badge__dot { display: flex; align-items: center; justify-content: center; flex: none; width: 26px; height: 26px; margin-top: -2px; border-radius: 50%; background: var(--mint); color: var(--charcoal-deep); }
.badge__dot svg { width: 14px; height: 14px; }
.stack { display: grid; gap: 12px; justify-items: center; }
.stack__item {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 18px 20px;
  border-radius: 22px;
  border: 1px solid rgba(250, 246, 238, .16);
  background: rgba(250, 246, 238, .08);
}
.stack__item:nth-child(1) { width: 88%; }
.stack__item:nth-child(2) { width: 94%; }
.stack__item:nth-child(3) { background: var(--mint); border-color: var(--mint); color: var(--charcoal-deep); }
.stack__num { display: flex; align-items: center; justify-content: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background: rgba(250, 246, 238, .14); font-size: 14px; font-weight: 700; }
.stack__item:nth-child(3) .stack__num { background: var(--charcoal); color: var(--paper); }
.stack__word { font-size: clamp(26px, 3vw, 40px); font-weight: 500; letter-spacing: -0.035em; line-height: 1; }

/* ------------------------------------------------------------- membership -- */
.benefits { display: grid; gap: 12px; }
@media (min-width: 900px) { .benefits { grid-template-columns: repeat(3, 1fr); gap: 16px; } }
.benefit { display: flex; flex-direction: column; gap: 10px; padding: 28px 24px; border-radius: var(--card-radius); background: rgba(250, 246, 238, .07); }
@media (min-width: 768px) { .benefit { padding: 40px 36px; min-height: 240px; } }
.benefit__big { margin-bottom: auto; padding-bottom: 20px; font-size: clamp(38px, 4vw, 56px); font-weight: 500; letter-spacing: -0.045em; line-height: 1; color: var(--mint); }
.benefit__text { font-size: 16px; line-height: 1.5; color: rgba(250, 246, 238, .78); }
.benefit--accent { background: var(--mint); }
.benefit--accent .benefit__big { color: var(--charcoal-deep); }
.benefit--accent .benefit__text { color: var(--charcoal-soft); }


/* --------------------------------------------------------------- waitlist -- */
.waitlist__copy { display: flex; flex-direction: column; align-items: center; gap: 24px; max-width: 720px; margin: 0 auto; text-align: center; }
.waitlist__copy .lede { max-width: 34em; }
.waitlist__form { display: grid; gap: 10px; width: 100%; max-width: 480px; margin-top: 4px; }
@media (min-width: 600px) { .waitlist__form { grid-template-columns: 1fr auto; } .waitlist__form .btn--block { width: auto; } }
.input {
  min-height: 52px;
  width: 100%;
  padding: 0 22px;
  border-radius: 999px;
  border: 1.5px solid transparent;
  background: var(--paper);
  font-size: 16px;
  color: var(--charcoal);
}
.input::placeholder { color: var(--charcoal-mute); }
.input:focus { outline: none; border-color: var(--charcoal); box-shadow: 0 0 0 4px rgba(46, 85, 70, .2); }
.form-msg { max-width: 480px; font-size: 15px; font-weight: 600; line-height: 1.45; }
.form-msg--error { color: #9B2C1F; }
.form-msg--ok { color: var(--mint-deep); }
.text-link { font-size: 15px; font-weight: 700; color: var(--mint-deep); text-decoration: underline; text-underline-offset: 4px; }
.text-link:hover { color: var(--charcoal-deep); }

/* ----------------------------------------------------------------- footer -- */
.site-footer { margin: var(--panel-gap) var(--gutter) var(--gutter); padding: 28px 20px 24px; border-radius: var(--panel-radius); background: var(--charcoal-deep); color: var(--paper); }
@media (min-width: 768px) { .site-footer { padding: 56px; } }
.site-footer__inner { display: grid; gap: 40px; max-width: 1200px; margin: 0 auto; }
@media (min-width: 900px) { .site-footer__inner { grid-template-columns: 420px 1fr; gap: 72px; } }
.footer-card { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; padding: 32px 28px; border-radius: var(--card-radius); background: var(--charcoal); }
.footer-card__title { font-size: 32px; font-weight: 500; line-height: 1.08; letter-spacing: -0.035em; }
.footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; align-content: start; padding: 0 8px; }
.footer-links__label { margin-bottom: 14px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(250, 246, 238, .5); }

.footer-links a { display: inline-block; padding: 10px 0; font-size: 18px; font-weight: 500; letter-spacing: -0.02em; }
.footer-links a:hover { color: var(--mint); }
.site-footer__legal { max-width: 1200px; margin: 40px auto 0; padding: 20px 8px 0; border-top: 1px solid rgba(250, 246, 238, .12); font-size: 13px; color: rgba(250, 246, 238, .55); }

/* ------------------------------------------------------------- quiz modal -- */
.modal-enter { animation: modalIn .22s ease-out; }
@keyframes modalIn { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes sheetIn { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: none; } }
#quiz .q-title { font-weight: 600; letter-spacing: -0.025em; }
#quiz > [role="dialog"] { border-radius: 28px; }

/* Quiz step 3: the photo is local-only during pre-launch. */
.photo-note { font-size: 13px; line-height: 1.6; color: var(--charcoal-mute); }

@media (max-width: 639.98px) {
  /* Bottom sheet: header + progress stay put, the step scrolls, and
     Back/Continue stay pinned within thumb reach. */
  #quiz { align-items: flex-end; padding: 0; }
  #quiz > [role="dialog"] {
    max-width: none;
    max-height: calc(100vh - 12px);
    max-height: calc(100dvh - 12px);
    gap: 16px;
    overflow: hidden;
    border-radius: 28px 28px 0 0;
    padding: 16px 20px calc(16px + env(safe-area-inset-bottom));
    animation-name: sheetIn;
  }
  #quiz .quiz-step {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    margin: 0 -20px;
    padding: 4px 20px 0;
    gap: 16px;
  }
  #quiz .q-title { font-size: 22px; }
  #quiz legend.q-title { margin-bottom: 12px; }
  #quiz .opt { min-height: 56px; gap: 12px; padding: 10px 14px; border-radius: 16px; }
  #quiz .opt-dot { width: 36px; height: 36px; }
  #quiz #dropzone { padding: 22px 16px; gap: 10px; }
  .quiz-actions { position: sticky; bottom: 0; z-index: 1; background: var(--paper); padding-top: 12px; }
  .quiz-actions::before {
    content: '';
    position: absolute;
    inset: -16px 0 auto;
    height: 16px;
    background: linear-gradient(rgba(250, 246, 238, 0), var(--paper));
    pointer-events: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .modal-enter, .menu__sheet { animation: none; }
  .tile__img { transition: none; }
  .tile:hover .tile__img { transform: none; }
}

/* --------------------------------------------------- forms: turnstile/legal -- */
/* Turnstile renders here only when Cloudflare needs the visitor to interact. */
.ts-slot:empty { display: none; }
.ts-slot { display: flex; justify-content: center; }
.form-legal { font-size: 13px; color: var(--charcoal-soft); }
.form-legal a, .legal a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* ------------------------------------------------------------ legal pages -- */
.legal { max-width: 720px; margin: 0 auto; }
.legal .display { font-size: clamp(36px, 4.4vw, 56px); margin-bottom: 12px; }
.legal__updated { margin-bottom: 40px; font-size: 14px; color: var(--charcoal-mute); }
.legal h2 { margin: 40px 0 12px; font-size: 22px; font-weight: 600; letter-spacing: -0.02em; color: var(--charcoal-deep); }
.legal p, .legal li { font-size: 16px; line-height: 1.7; color: var(--charcoal-soft); }
.legal p + p { margin-top: 12px; }
.legal ul { margin: 8px 0 0; padding-left: 20px; list-style: disc; }
.legal li + li { margin-top: 6px; }
.legal__back { display: inline-block; margin-top: 48px; }
