*,: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:Inter,system-ui,-apple-system,Segoe 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}:root{--surface-page:#f8fafc;--surface:#fff;--surface-sand:#f5e6d3;--surface-deep:#003b5c;--surface-reef:#e6f4f7;--surface-abyss:#04121c;--surface-nav:#00283e;--ink:#334155;--ink-strong:#003b5c;--ink-muted:#556579;--ink-inverse:#fff;--ink-inverse-muted:#b8d3e2;--lagoon:#0097a7;--lagoon-deep:#00707f;--lagoon-press:#005c69;--lagoon-soft:#dff3f6;--lagoon-ink:#0b5563;--on-lagoon:#fff;--sunburst:#d89213;--sunburst-deep:#b97d09;--sunburst-soft:#fbf0da;--line:#e2e8f0;--line-field:#6b7f94;--line-inverse:#2f6a89;--focus:#005c69;--focus-inverse:#9fe3ee;--scrim:#00283e;--success:#1c6b4a;--alert:#a4400f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--space-10:64px;--space-12:96px;--radius-sm:6px;--radius-md:8px;--radius-lg:14px;--radius-pill:999px;--radius-xl:22px;--scrim-hero:0.62;--scrim-card:0.45;--disabled:0.45;--shadow-card:0 1px 2px rgba(0,40,62,.06),0 4px 12px rgba(0,40,62,.08);--shadow-lift:0 6px 14px rgba(0,40,62,.1),0 18px 32px rgba(0,40,62,.14);--shadow-nav:0 1px 0 rgba(0,59,92,.12),0 6px 18px rgba(0,40,62,.1);--shadow-deep:0 24px 60px rgba(0,20,35,.45)}.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}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.bottom-\[-16\%\]{bottom:-16%}.bottom-\[-8\%\]{bottom:-8%}.left-0{left:0}.left-2{left:.5rem}.left-4{left:1rem}.left-6{left:1.5rem}.left-\[6\%\]{left:6%}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-\[-8\%\]{right:-8%}.right-\[8\%\]{right:8%}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.top-\[34\%\]{top:34%}.top-\[38\%\]{top:38%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.col-span-2{grid-column:span 2/span 2}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.-mr-2{margin-right:-.5rem}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-8{margin-top:2rem}.mt-\[3px\]{margin-top:3px}.mt-\[4px\]{margin-top:4px}.mt-auto{margin-top:auto}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[3\/2\]{aspect-ratio:3/2}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[9\/7\]{aspect-ratio:9/7}.aspect-square{aspect-ratio:1/1}.h-11{height:2.75rem}.h-16{height:4rem}.h-4{height:1rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[26px\]{height:26px}.h-\[300px\]{height:300px}.h-\[3px\]{height:3px}.h-\[400px\]{height:400px}.h-\[420px\]{height:420px}.h-\[64px\]{height:64px}.h-\[68px\]{height:68px}.h-\[70px\]{height:70px}.h-\[72px\]{height:72px}.h-auto{height:auto}.h-full{height:100%}.min-h-\[36px\]{min-height:36px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[56px\]{min-height:56px}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-4{width:1rem}.w-9{width:2.25rem}.w-\[36\%\]{width:36%}.w-\[38\%\]{width:38%}.w-\[44\%\]{width:44%}.w-\[46\%\]{width:46%}.w-\[52\%\]{width:52%}.w-\[68vw\]{width:68vw}.w-\[78\%\]{width:78%}.w-\[82vw\]{width:82vw}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.max-w-\[40ch\]{max-width:40ch}.max-w-\[40rem\]{max-width:40rem}.max-w-\[44rem\]{max-width:44rem}.max-w-\[46ch\]{max-width:46ch}.max-w-\[520px\]{max-width:520px}.max-w-\[52ch\]{max-width:52ch}.max-w-\[52rem\]{max-width:52rem}.max-w-\[56ch\]{max-width:56ch}.max-w-\[56rem\]{max-width:56rem}.max-w-\[60ch\]{max-width:60ch}.max-w-\[62ch\]{max-width:62ch}.max-w-none{max-width:none}.max-w-shell{max-width:1200px}.max-w-wide{max-width:1440px}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-y-px{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))}.translate-y-px{--tw-translate-y:1px}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.resize{resize:both}.scroll-mt-20{scroll-margin-top:5rem}.scroll-mt-24{scroll-margin-top:6rem}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.auto-rows-\[160px\]{grid-auto-rows:160px}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-px{gap:1px}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-2\.5{row-gap:.625rem}.gap-y-4{row-gap:1rem}.gap-y-6{row-gap:1.5rem}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-line>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(226 232 240/var(--tw-divide-opacity,1))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:14px}.rounded-md{border-radius:8px}.rounded-pill{border-radius:999px}.rounded-sm{border-radius:6px}.rounded-xl{border-radius:22px}.rounded-t-lg{border-top-left-radius:14px;border-top-right-radius:14px}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-alert{--tw-border-opacity:1;border-color:rgb(164 64 15/var(--tw-border-opacity,1))}.border-alert\/40{border-color:rgba(164,64,15,.4)}.border-lagoon{--tw-border-opacity:1;border-color:rgb(0 151 167/var(--tw-border-opacity,1))}.border-lagoon-deep{--tw-border-opacity:1;border-color:rgb(0 112 127/var(--tw-border-opacity,1))}.border-line{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-line-field{--tw-border-opacity:1;border-color:rgb(107 127 148/var(--tw-border-opacity,1))}.border-line-inverse{--tw-border-opacity:1;border-color:rgb(47 106 137/var(--tw-border-opacity,1))}.border-success\/40{border-color:rgba(28,107,74,.4)}.border-sunburst{--tw-border-opacity:1;border-color:rgb(216 146 19/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/15{border-color:hsla(0,0%,100%,.15)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-white\/40{border-color:hsla(0,0%,100%,.4)}.bg-abyss{--tw-bg-opacity:1;background-color:rgb(4 18 28/var(--tw-bg-opacity,1))}.bg-alert\/\[0\.06\]{background-color:rgba(164,64,15,.06)}.bg-lagoon{--tw-bg-opacity:1;background-color:rgb(0 151 167/var(--tw-bg-opacity,1))}.bg-lagoon-deep{--tw-bg-opacity:1;background-color:rgb(0 112 127/var(--tw-bg-opacity,1))}.bg-ocean{--tw-bg-opacity:1;background-color:rgb(0 59 92/var(--tw-bg-opacity,1))}.bg-ocean-deep{--tw-bg-opacity:1;background-color:rgb(0 40 62/var(--tw-bg-opacity,1))}.bg-ocean-deep\/90{background-color:rgba(0,40,62,.9)}.bg-ocean-deep\/95{background-color:rgba(0,40,62,.95)}.bg-page{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-reef{--tw-bg-opacity:1;background-color:rgb(230 244 247/var(--tw-bg-opacity,1))}.bg-sand{--tw-bg-opacity:1;background-color:rgb(245 230 211/var(--tw-bg-opacity,1))}.bg-scrim\/45{background-color:rgba(0,40,62,.45)}.bg-scrim\/60{background-color:rgba(0,40,62,.6)}.bg-scrim\/62{background-color:rgba(0,40,62,.62)}.bg-scrim\/80{background-color:rgba(0,40,62,.8)}.bg-success\/10{background-color:rgba(28,107,74,.1)}.bg-sunburst{--tw-bg-opacity:1;background-color:rgb(216 146 19/var(--tw-bg-opacity,1))}.bg-sunburst-soft{--tw-bg-opacity:1;background-color:rgb(251 240 218/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/15{background-color:hsla(0,0%,100%,.15)}.bg-white\/\[0\.06\]{background-color:hsla(0,0%,100%,.06)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-abyss{--tw-gradient-from:#04121c var(--tw-gradient-from-position);--tw-gradient-to:rgba(4,18,28,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-abyss\/80{--tw-gradient-from:rgba(4,18,28,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(4,18,28,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-abyss\/85{--tw-gradient-from:rgba(4,18,28,.85) var(--tw-gradient-from-position);--tw-gradient-to:rgba(4,18,28,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-scrim\/70{--tw-gradient-from:rgba(0,40,62,.7) var(--tw-gradient-from-position);--tw-gradient-to:rgba(0,40,62,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-scrim\/80{--tw-gradient-from:rgba(0,40,62,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(0,40,62,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-abyss\/30{--tw-gradient-to:rgba(4,18,28,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(4,18,28,.3) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-abyss\/85{--tw-gradient-to:rgba(4,18,28,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(4,18,28,.85) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-ocean-deep\/40{--tw-gradient-to:rgba(0,40,62,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(0,40,62,.4) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-scrim\/20{--tw-gradient-to:rgba(0,40,62,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(0,40,62,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-scrim\/30{--tw-gradient-to:rgba(0,40,62,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(0,40,62,.3) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-scrim\/40{--tw-gradient-to:rgba(0,40,62,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(0,40,62,.4) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),transparent var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-abyss{--tw-gradient-to:#04121c var(--tw-gradient-to-position)}.to-abyss\/30{--tw-gradient-to:rgba(4,18,28,.3) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.object-\[50\%_25\%\]{-o-object-position:50% 25%;object-position:50% 25%}.object-\[50\%_46\%\]{-o-object-position:50% 46%;object-position:50% 46%}.object-\[60\%_40\%\]{-o-object-position:60% 40%;object-position:60% 40%}.object-\[70\%_40\%\]{-o-object-position:70% 40%;object-position:70% 40%}.p-0{padding:0}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.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-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-16{padding-bottom:4rem}.pb-32{padding-bottom:8rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pl-5{padding-left:1.25rem}.pl-7{padding-left:1.75rem}.pt-1{padding-top:.25rem}.pt-12{padding-top:3rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.font-display{font-family:Poppins,Trebuchet MS,system-ui,sans-serif}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\],.text-body{font-size:16px}.text-body{line-height:1.65;font-weight:400}.text-body-sm{font-size:14px;line-height:1.55;font-weight:400}.text-button{font-size:15px;line-height:1;letter-spacing:.01em;font-weight:600}.text-caption{font-size:13px;line-height:1.45;font-weight:400}.text-chapter-sm{font-size:64px;line-height:.98;letter-spacing:-.03em;font-weight:800}.text-eyebrow{font-size:12px;line-height:1.2;letter-spacing:.14em;font-weight:600}.text-h1{font-size:40px;line-height:1.1;letter-spacing:-.015em;font-weight:700}.text-h2{font-size:30px;line-height:1.2;letter-spacing:-.01em;font-weight:600}.text-h3{font-size:20px;line-height:1.3;font-weight:600}.text-hero-sm{font-size:40px;line-height:1.02;letter-spacing:-.02em;font-weight:700}.text-lead{font-size:19px;line-height:1.6;font-weight:400}.text-price{font-size:22px;line-height:1.1;font-weight:700}.text-voice{font-size:30px;line-height:1.25}.font-medium,.text-voice{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.not-italic{font-style:normal}.leading-relaxed{line-height:1.625}.tracking-\[0\.04em\]{letter-spacing:.04em}.tracking-normal{letter-spacing:0}.text-abyss{--tw-text-opacity:1;color:rgb(4 18 28/var(--tw-text-opacity,1))}.text-alert{--tw-text-opacity:1;color:rgb(164 64 15/var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-ink-invmuted{--tw-text-opacity:1;color:rgb(184 211 226/var(--tw-text-opacity,1))}.text-ink-muted{--tw-text-opacity:1;color:rgb(85 101 121/var(--tw-text-opacity,1))}.text-ink-strong{--tw-text-opacity:1;color:rgb(0 59 92/var(--tw-text-opacity,1))}.text-lagoon-deep{--tw-text-opacity:1;color:rgb(0 112 127/var(--tw-text-opacity,1))}.text-lagoon-ink{--tw-text-opacity:1;color:rgb(11 85 99/var(--tw-text-opacity,1))}.text-ocean{--tw-text-opacity:1;color:rgb(0 59 92/var(--tw-text-opacity,1))}.text-success{--tw-text-opacity:1;color:rgb(28 107 74/var(--tw-text-opacity,1))}.text-sunburst{--tw-text-opacity:1;color:rgb(216 146 19/var(--tw-text-opacity,1))}.text-sunburst-deep{--tw-text-opacity:1;color:rgb(185 125 9/var(--tw-text-opacity,1))}.text-sunburst-soft{--tw-text-opacity:1;color:rgb(251 240 218/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.decoration-lagoon\/40{text-decoration-color:rgba(0,151,167,.4)}.decoration-white\/40{text-decoration-color:hsla(0,0%,100%,.4)}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-lagoon-deep{accent-color:#00707f}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.shadow-card{--tw-shadow:0 1px 2px rgba(0,40,62,.06),0 4px 12px rgba(0,40,62,.08);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color),0 4px 12px var(--tw-shadow-color)}.shadow-card,.shadow-deep{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-deep{--tw-shadow:0 24px 60px rgba(0,20,35,.45);--tw-shadow-colored:0 24px 60px var(--tw-shadow-color)}.shadow-nav{--tw-shadow:0 1px 0 rgba(0,59,92,.12),0 6px 18px rgba(0,40,62,.1);--tw-shadow-colored:0 1px 0 var(--tw-shadow-color),0 6px 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--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(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-\[6px\]{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-\[6px\]{--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(6px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-sand{--tw-ring-opacity:1;--tw-ring-color:rgb(245 230 211/var(--tw-ring-opacity,1))}.drop-shadow-\[0_6px_18px_rgba\(0\2c 0\2c 0\2c \.35\)\]{--tw-drop-shadow:drop-shadow(0 6px 18px rgba(0,0,0,.35))}.drop-shadow-\[0_6px_18px_rgba\(0\2c 0\2c 0\2c \.35\)\],.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{-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)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition-\[box-shadow\2c background-color\]{transition-property:box-shadow,background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.placeholder\:text-ink-muted::-moz-placeholder{--tw-text-opacity:1;color:rgb(85 101 121/var(--tw-text-opacity,1))}.placeholder\:text-ink-muted::placeholder{--tw-text-opacity:1;color:rgb(85 101 121/var(--tw-text-opacity,1))}.focus-within\:shadow-lift:focus-within{--tw-shadow:0 6px 14px rgba(0,40,62,.1),0 18px 32px rgba(0,40,62,.14);--tw-shadow-colored:0 6px 14px var(--tw-shadow-color),0 18px 32px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:border-lagoon:hover{--tw-border-opacity:1;border-color:rgb(0 151 167/var(--tw-border-opacity,1))}.hover\:border-lagoon-press:hover{--tw-border-opacity:1;border-color:rgb(0 92 105/var(--tw-border-opacity,1))}.hover\:border-sunburst-deep:hover{--tw-border-opacity:1;border-color:rgb(185 125 9/var(--tw-border-opacity,1))}.hover\:bg-lagoon-press:hover{--tw-bg-opacity:1;background-color:rgb(0 92 105/var(--tw-bg-opacity,1))}.hover\:bg-lagoon-soft:hover{--tw-bg-opacity:1;background-color:rgb(223 243 246/var(--tw-bg-opacity,1))}.hover\:bg-sunburst-deep:hover{--tw-bg-opacity:1;background-color:rgb(185 125 9/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:bg-white\/15:hover{background-color:hsla(0,0%,100%,.15)}.hover\:text-lagoon-deep:hover{--tw-text-opacity:1;color:rgb(0 112 127/var(--tw-text-opacity,1))}.hover\:text-sunburst:hover{--tw-text-opacity:1;color:rgb(216 146 19/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-lagoon-deep:hover{text-decoration-color:#00707f}.hover\:decoration-white:hover{text-decoration-color:#fff}.hover\:shadow-lift:hover{--tw-shadow:0 6px 14px rgba(0,40,62,.1),0 18px 32px rgba(0,40,62,.14);--tw-shadow-colored:0 6px 14px var(--tw-shadow-color),0 18px 32px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:absolute:focus{position:absolute}.focus\:left-4:focus{left:1rem}.focus\:top-3:focus{top:.75rem}.focus\:z-\[70\]:focus{z-index:70}.focus\:inline-flex:focus{display:inline-flex}.focus\:min-h-\[44px\]:focus{min-height:44px}.focus\:items-center:focus{align-items:center}.focus\:rounded-md:focus{border-radius:8px}.focus\:bg-sunburst:focus{--tw-bg-opacity:1;background-color:rgb(216 146 19/var(--tw-bg-opacity,1))}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:text-\[15px\]:focus{font-size:15px}.focus\:font-semibold:focus{font-weight:600}.focus\:text-abyss:focus{--tw-text-opacity:1;color:rgb(4 18 28/var(--tw-text-opacity,1))}.focus\:no-underline:focus{text-decoration-line:none}.focus-visible\:border-focus:focus-visible{--tw-border-opacity:1;border-color:rgb(0 92 105/var(--tw-border-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-45:disabled{opacity:.45}.has-\[\:checked\]\:border-lagoon-deep:has(:checked){--tw-border-opacity:1;border-color:rgb(0 112 127/var(--tw-border-opacity,1))}.has-\[\:checked\]\:bg-lagoon-soft:has(:checked){--tw-bg-opacity:1;background-color:rgb(223 243 246/var(--tw-bg-opacity,1))}@media (min-width:640px){.sm\:left-3{left:.75rem}.sm\:right-3{right:.75rem}.sm\:right-6{right:1.5rem}.sm\:top-6{top:1.5rem}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:row-span-2{grid-row:span 2/span 2}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:hidden{display:none}.sm\:aspect-\[4\/3\]{aspect-ratio:4/3}.sm\:h-\[380px\]{height:380px}.sm\:h-\[500px\]{height:500px}.sm\:h-\[520px\]{height:520px}.sm\:w-\[340px\]{width:340px}.sm\:w-\[440px\]{width:440px}.sm\:w-\[560px\]{width:560px}.sm\:auto-rows-\[220px\]{grid-auto-rows:220px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[1fr_1\.4fr\]{grid-template-columns:1fr 1.4fr}.sm\:grid-cols-\[minmax\(0\2c 15rem\)_1fr\]{grid-template-columns:minmax(0,15rem) 1fr}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:self-auto{align-self:auto}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:pb-40{padding-bottom:10rem}.sm\:pt-32{padding-top:8rem}.sm\:text-chapter{font-size:96px;line-height:.98;letter-spacing:-.03em;font-weight:800}.sm\:text-hero{font-size:60px;line-height:1.02;letter-spacing:-.02em;font-weight:700}.sm\:text-voice-lg{font-size:32px;line-height:1.2;font-weight:500}}@media (min-width:768px){.md\:mt-10{margin-top:2.5rem}.md\:mt-12{margin-top:3rem}.md\:block{display:block}.md\:inline-flex{display:inline-flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1fr_1\.1fr\]{grid-template-columns:1fr 1.1fr}.md\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.md\:gap-12{gap:3rem}.md\:gap-16{gap:4rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-24{padding-top:6rem}.md\:pb-24,.md\:py-24{padding-bottom:6rem}.md\:pt-16{padding-top:4rem}.md\:pt-24{padding-top:6rem}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-24{top:6rem}.lg\:order-last{order:9999}.lg\:ml-0{margin-left:0}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:inline-flex{display:inline-flex}.lg\:hidden{display:none}.lg\:h-\[560px\]{height:560px}.lg\:h-\[600px\]{height:600px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.05fr_1fr\]{grid-template-columns:1.05fr 1fr}.lg\:grid-cols-\[1\.1fr_1fr\]{grid-template-columns:1.1fr 1fr}.lg\:grid-cols-\[1\.2fr_1fr\]{grid-template-columns:1.2fr 1fr}.lg\:grid-cols-\[1\.3fr_1fr_1fr_1\.1fr\]{grid-template-columns:1.3fr 1fr 1fr 1.1fr}.lg\:grid-cols-\[1fr_1\.05fr\]{grid-template-columns:1fr 1.05fr}.lg\:grid-cols-\[1fr_1\.2fr\]{grid-template-columns:1fr 1.2fr}.lg\:grid-cols-\[1fr_1\.3fr\]{grid-template-columns:1fr 1.3fr}.lg\:grid-cols-\[1fr_1\.4fr\]{grid-template-columns:1fr 1.4fr}.lg\:grid-cols-\[1fr_1\.6fr\]{grid-template-columns:1fr 1.6fr}.lg\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.lg\:grid-cols-\[1fr_2fr\]{grid-template-columns:1fr 2fr}.lg\:gap-16{gap:4rem}.lg\:px-\[max\(1\.5rem\2c calc\(\(100vw-1200px\)\/2\+1\.5rem\)\)\]{padding-left:max(1.5rem,calc(50vw - 600px + 1.5rem));padding-right:max(1.5rem,calc(50vw - 600px + 1.5rem))}.lg\:pb-48{padding-bottom:12rem}.lg\:pt-40{padding-top:10rem}}@media (min-width:1280px){.xl\:mx-0{margin-left:0;margin-right:0}.xl\:block{display:block}.xl\:grid{display:grid}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.xl\:justify-end{justify-content:flex-end}.xl\:gap-5{gap:1.25rem}.xl\:text-\[15px\]{font-size:15px}}
/* ---- Shamar page styles (appended after Tailwind by build.sh) ----
   Colours, radii and shadows come from the design system as CSS custom properties (--ink, --line, …),
   declared from ../design-system/tokens.json by tailwind.config.js. No colour is written here twice. */
/* ---- Web fonts, self-hosted (assets/fonts/, SIL Open Font License) — no request leaves the site ---- */
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/poppins-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/poppins-latin-600-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/poppins-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 800; font-display: swap; src: url(../fonts/poppins-latin-800-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/inter-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/inter-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/inter-latin-600-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/inter-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 500; font-display: swap; src: url(../fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 600; font-display: swap; src: url(../fonts/cormorant-garamond-latin-600-italic.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root { color-scheme: light; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--surface-page);
  color: var(--ink);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
h1, h2, h3 { text-wrap: balance; overflow-wrap: break-word; }
/* Photos are <picture class="contents"> so that the <img> itself is the grid or flex item. Chromium lays out a
   <source> as an (empty) box, which would then take a grid cell or a flex gap of its own; it never needs one. */
picture > source { display: none; }
.grid > * { min-width: 0; } /* grid items may shrink below their content; wide tables then scroll inside their card */
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
/* a date field's day, month and year take the focus inside the field, so the field itself shows the ring */
input[type="date"]:focus-within { outline: 2px solid var(--focus); outline-offset: 2px; }
.on-deep :focus-visible, .on-deep:focus-visible { outline-color: var(--focus-inverse); }
.tnum { font-variant-numeric: tabular-nums; }
.sticky-head { top: env(safe-area-inset-top, 0px); }
/* from 640 px the header starts with the 124 px brand row and its hairline: it scrolls away, the navigation row stays */
@media (min-width: 640px) { .sticky-head { top: calc(env(safe-area-inset-top, 0px) - 125px); } }
main:focus { outline: none; } /* it takes the focus only from the skip link */

/* motion (design system): cards lift 4 px over 300 ms; the hero film drifts slowly; blocks rise 28 px as they
   enter the viewport; bubbles in the dark chapter. Nothing fades in from invisible, and all of it stops under
   prefers-reduced-motion. */
.lift { transition: transform 300ms ease, box-shadow 300ms ease; }
.lift:hover, .lift:focus-within { transform: translateY(-4px); }
.kb { animation: kenburns 26s ease-in-out infinite alternate; transform-origin: 55% 45%; }
@keyframes kenburns { from { transform: scale(1); } to { transform: scale(1.09); } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .reveal { animation: rise-in linear both; animation-timeline: view(); animation-range: entry 5% entry 45%; }
  }
}
@keyframes rise-in { from { transform: translateY(28px); } to { transform: none; } }
/* the pause button (F1) stops the zoom and the bubbles where they are; without JavaScript there is no button, so nothing moves */
html.still .kb, html.still .bubble { animation-play-state: paused; }
html.no-js .kb, html.no-js .bubble { animation: none; }
/* Going to another page cross-fades instead of cutting (browsers with cross-document view transitions);
   elsewhere the next page simply appears — it is already painted in full. */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 180ms; animation-timing-function: ease; }

/* decoration: the whale shark line drawing, at most 12 % behind text */
.shark-mark { position: absolute; pointer-events: none; user-select: none; opacity: .10; }
.bubble {
  position: absolute; bottom: -60px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.28);
  background: radial-gradient(circle at 32% 30%, rgba(255,255,255,.42), rgba(255,255,255,.03) 62%);
  animation: rise linear infinite;
}
@keyframes rise {
  0%   { transform: translate3d(0,0,0) scale(.8); opacity: 0; }
  12%  { opacity: .85; }
  100% { transform: translate3d(var(--sway, 20px), -115vh, 0) scale(1.05); opacity: 0; }
}
.voice { font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif; font-style: italic; font-weight: 500; }
/* The chapter word (home, "Descend." / "Abtauchen.") is set in the design system's chapter style,
   64 px below 640 px and 96 px above — and it must never break in half. So the global break-word
   rule is switched off here, and the word only gets smaller than that when its own column is too
   narrow for it (at lg the column is about half the shell). The factors come from the measured
   width of the word in Poppins ExtraBold at -0.03em: "Descend." is 4.60em wide, "Abtauchen." 5.86em,
   so each fills at most about 92 % of its column. Re-check them if the word changes. */
.hero-col { container-type: inline-size; }
.hero-word { overflow-wrap: normal; word-break: normal; hyphens: none; font-size: 64px; font-size: min(64px, 20cqw); }
html[lang="de"] .hero-word { font-size: min(64px, 16cqw); }
@media (min-width: 640px) {
  .hero-word { font-size: 96px; font-size: min(96px, 20cqw); }
  html[lang="de"] .hero-word { font-size: min(96px, 16cqw); }
}
.strip { scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.35) transparent; }
.strip > * { scroll-snap-align: start; }
/* the snap area starts where the padding ends, so the first photo lines up with the heading above it */
.strip { scroll-padding-inline: 1rem; }
@media (min-width: 640px) { .strip { scroll-padding-inline: 1.5rem; } }
@media (min-width: 1024px) { .strip { scroll-padding-inline: max(1.5rem, calc((100vw - 1200px) / 2 + 1.5rem)); } }
.strip:focus-visible { outline-offset: -3px; border-radius: 0; } /* the row runs edge to edge: its focus ring sits inside */
.timeline::before {
  content: ""; position: absolute; left: 0; right: 0; top: 34px; height: 2px;
  background: linear-gradient(90deg, transparent, var(--lagoon) 12%, var(--lagoon) 88%, transparent);
}

/* Without JavaScript every page still shows its full text (it is pre-rendered); only what needs a
   script steps aside: the menu button (phones get the whole menu instead) and the forms (an address instead).
   The script in <head> swaps html.no-js for html.js before the page paints. */
html.no-js .js-only { display: none !important; }
html.js .nojs-only { display: none !important; }
@media (max-width: 1023.98px) { html.no-js #mobile-menu { display: block; } }

/* forms: the honeypot field is off-screen for people, present for bots */
.hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* rates tables: body-sm rows, eyebrow-like heads in ink (ink-muted only from 14 px), hairlines in line */
.rate-table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.55; }
.rate-table th, .rate-table td { padding: 10px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.rate-table th { font-size: 12px; line-height: 1.3; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); background: var(--surface-page); }
.rate-table td.num, .rate-table th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rate-table tbody tr:last-child td { border-bottom: 0; }
.rate-table td.sub { color: var(--ink-muted); font-size: 14px; padding-left: 28px; white-space: nowrap; }

/* gallery lightbox: the photo keeps its proportions and fits the screen, with room below for the caption */
dialog.lightbox { border: 0; padding: 0; background: transparent; max-width: min(96vw, 1600px); max-height: 96vh; overflow: hidden; }
dialog.lightbox::backdrop { background: var(--surface-abyss); opacity: .94; }
dialog.lightbox:focus-visible { outline: none; } /* the open dialog itself takes the focus; it fills the view, so no ring around it */
dialog.lightbox img { display: block; width: auto; height: auto; max-width: 96vw; max-height: calc(96vh - 88px); border-radius: var(--radius-lg); }

/* FAQ (contact): the browser's own disclosure, without its marker; the chevron turns when an answer is open */
.faq summary { list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq .chev { transition: transform 200ms ease; }
.faq details[open] .chev { transform: rotate(180deg); }

/* room facts (floor · bed · guests): a list, each fact kept on one line, the dot only for the eye. Every fact
   starts with its dot; the list is pulled left by one dot, so the dot that begins a line falls outside the
   clipping box and each line starts with a fact. */
.facts { margin-left: -1.1em; }
.facts li::before { content: "·" / ""; display: inline-block; width: 1.1em; text-align: center; }

/* the GoPro rental agreement: a sheet over the page, the whole screen on phones, a panel from 640 px on.
   The page behind stays where it is while the sheet is open. */
dialog.sheet { border: 0; padding: 0; margin: 0; width: 100%; max-width: 100%; height: 100%; max-height: 100%; overflow-y: auto; overscroll-behavior: contain; background: var(--surface); color: var(--ink); }
dialog.sheet::backdrop { background: var(--scrim); opacity: .72; }
@media (min-width: 640px) {
  dialog.sheet { margin: auto; width: min(92vw, 760px); height: auto; max-height: calc(100dvh - var(--space-8)); border-radius: var(--radius-lg); box-shadow: var(--shadow-deep); }
}
html:has(dialog.sheet[open]) { overflow: hidden; }

/* the GoPro flyer viewer: the whole screen, dark like the gallery viewer; the flyer fits, or shows at full size to pan */
dialog.zoom { border: 0; padding: 0; margin: 0; width: 100%; max-width: 100%; height: 100%; max-height: 100%; overflow: hidden; background: var(--surface-abyss); color: var(--ink-inverse); }
dialog.zoom[open] { display: flex; flex-direction: column; }
dialog.zoom::backdrop { background: var(--surface-abyss); }
dialog.zoom:focus-visible { outline: none; }
html:has(dialog.zoom[open]) { overflow: hidden; }
.zoom-pane { flex: 1; min-height: 0; display: flex; overflow: auto; overscroll-behavior: contain; padding: var(--space-3); }
.zoom-pane img { margin: auto; display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; cursor: zoom-in; user-select: none; }
.zoom-pane.is-zoomed { cursor: grab; }
.zoom-pane.is-zoomed img { max-width: none; max-height: none; cursor: inherit; }
.zoom-pane.is-zoomed:active { cursor: grabbing; }
.zoom-pane:focus-visible { outline: 2px solid var(--focus-inverse); outline-offset: -4px; }

/* the guest's printed copy of the rental agreement: outside the page, only in print */
.print-sheet { display: none; }
@media print {
  html.print-copy body > :not(.print-sheet), html.print-copy dialog { display: none !important; }
  html.print-copy .print-sheet { display: block; font-family: var(--font-sans); font-size: 10.5pt; line-height: 1.45; color: var(--ink-strong); }
  .print-sheet h1 { font-family: var(--font-display); font-size: 18pt; margin: 0; }
  .print-sheet h2 { font-family: var(--font-display); font-size: 11pt; margin: 10pt 0 3pt; break-after: avoid; }
  .print-sheet p { margin: 0 0 3pt; }
  .print-sheet ul { margin: 0 0 3pt; padding-left: 14pt; list-style: disc; }
  .print-sheet section { break-inside: avoid; }
  .print-sheet .ps-sub { font-size: 11pt; margin-bottom: 10pt; }
  .print-sheet .ps-parties { display: flex; gap: 24pt; }
  .print-sheet .ps-parties > div { flex: 1; }
  .print-sheet .ps-opt { display: inline-block; margin-right: 14pt; }
  .print-sheet .ps-line { display: inline-block; width: 190pt; border-bottom: 1px solid currentColor; }
  .print-sheet .ps-sign { margin-top: 14pt; break-inside: avoid; }
  .print-sheet .ps-sign p { margin: 0 0 12pt; }
  .print-sheet .ps-foot { margin-top: 12pt; font-size: 8.5pt; }
}

/* running text (legal) */
.prose p { margin: 0 0 1em; }
.prose ul, .prose ol { margin: 0 0 1em; padding-left: 1.4em; }
.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }
.prose li { margin: .35em 0; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .lift { transition: none; }
  .lift:hover, .lift:focus-within { transform: none; }
  .kb, .bubble { animation: none; }
  .faq .chev { transition: none; }
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
  .bubble { display: none; }
}
