/* Funnal site stylesheet - generated from the approved redesign prototype. Classes are prefixed fn- so nothing clashes with older Webflow styles. */
.fn-acc-blue{--acc:var(--ac-blue)}
.fn-acc-gold{--acc:var(--ac-gold)}
.fn-acc-red{--acc:var(--ac-red)}
:root{--bg: #FFFFFF;--card: #F7F7F7;--card2: #F0F0F0;--line: #E4E4E4;--ink: #3F5160;--ink-d: #283338;--tx: #525252;--mu: #757575;--brand: #3F5160;--brand-d: #283338;--pink: #FFEDED;--peach: #FFEEDB;--surf: #FFFFFF;--ac-blue: #486790;--ac-gold: #DDA94D;--ac-red: #C91E36;--acc: var(--ac-blue);color-scheme: light}
:root[data-theme="dark"]{--bg: #101518;--card: #192025;--card2: #212A30;--line: #2A343B;--ink: #E4EAEE;--ink-d: #F3F6F8;--tx: #AEB9C1;--mu: #8793A0;--brand: #566C80;--brand-d: #0B0F11;--pink: #32282A;--peach: #342D26;--surf: #222B31;--ac-blue: #7FA2D2;--ac-gold: #E6B55F;--ac-red: #E5465A;color-scheme: dark}
html{background: var(--bg)}
html{scroll-behavior: smooth;scrollbar-gutter: stable;text-size-adjust: 100%}
body{margin: 0px;background: var(--bg);overflow-wrap: break-word}
*{box-sizing: border-box}
section[id], [id].fn-anchor{scroll-margin-top: 124px}
button{-webkit-tap-highlight-color: transparent;touch-action: manipulation}
a{color: var(--ink)}
a:hover{color: var(--ink-d)}
img{max-width: 100%}
.fn-wrap{max-width: 1280px;margin: 0px auto;padding-inline: clamp(16px, 4vw, 48px)}
@media (min-width: 1900px){.fn-wrap{max-width: 1440px}}
.fn-sec{padding-bottom: clamp(72px, 10vw, 128px)}
.fn-sr{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0px, 0px, 0px, 0px);clip-path: inset(50%);white-space: nowrap}
.fn-h1{margin: 0px;font-size: clamp(38px, 6.4vw, 76px);font-weight: 600;line-height: 1.04;letter-spacing: -0.04em;color: var(--ink)}
.fn-h1 em{font-style: normal;color: rgb(199, 177, 177)}
.fn-sh{margin: 0px 0px 20px;font-size: 20px;font-weight: 600;letter-spacing: -0.04em;color: var(--ink);line-height: 1.3}
.fn-sh span{color: rgb(199, 177, 177)}
.fn-h2{margin: 0px;font-size: clamp(26px, 3.4vw, 44px);font-weight: 600;line-height: 1.12;letter-spacing: -0.04em;color: var(--ink)}
.fn-h3{margin: 0px;font-size: clamp(20px, 2vw, 24px);font-weight: 600;line-height: 1.25;letter-spacing: -0.035em;color: var(--ink)}
.fn-lede{margin: 0px;font-size: clamp(16px, 1.5vw, 19px);line-height: 1.6;color: var(--tx);max-width: 58ch}
.fn-eyebrow{margin: 0px 0px 14px;font-size: 13px;font-weight: 600;letter-spacing: 0.02em;text-transform: uppercase;color: rgb(180, 180, 180)}
.fn-muted{color: var(--mu)}
.fn-fx-in{animation: 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) 0s 1 normal backwards running fxIn}
@keyframes fxIn { 0% { opacity: 0; transform: translateY(22px); filter: blur(12px); } 100% { opacity: 1; transform: none; filter: blur(0px); } }
@supports (animation-timeline: view()){.fn-fx-reveal{animation-duration: auto;animation-timing-function: linear;animation-delay: 0s;animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: both;animation-play-state: running;animation-name: fxIn;animation-timeline: view();animation-range: entry entry 85%}}
.fn-hdr{position: sticky;top: 0px;z-index: 30;background: color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter: saturate(1.6) blur(16px);border-bottom: 1px solid color-mix(in srgb,var(--ink) 7%,transparent)}
.fn-topbar{display: flex;align-items: center;justify-content: center;gap: 8px;height: 34px;padding: 0px 16px;background: linear-gradient(90deg,var(--pink),var(--peach));color: var(--ink-d);text-decoration: none;font-size: 13px;line-height: 1.4;white-space: nowrap;overflow: hidden;transition: filter 0.3s}
.fn-topbar:hover{color: var(--ink-d);filter: saturate(1.25)}
.fn-topbar b{font-weight: 600}
.fn-topbar .fn-tb-s, .fn-topbar .fn-tb-xs{display: none}
.fn-topbar .fn-arr{flex: 0 0 auto;transition: transform 0.35s cubic-bezier(0.2, 1.3, 0.3, 1)}
.fn-topbar:hover .fn-arr{transform: translateX(3px)}
.fn-topbar span{min-width: 0px;overflow: hidden;text-overflow: ellipsis}
@media (max-width: 620px){.fn-topbar .fn-tb-l{display: none}}
@media (max-width: 620px){.fn-topbar .fn-tb-s{display: inline}}
@media (max-width: 359px){.fn-topbar .fn-tb-s{display: none}}
@media (max-width: 359px){.fn-topbar .fn-tb-xs{display: inline}}
.fn-nav-in{height: 68px;display: flex;align-items: center;justify-content: space-between;gap: 12px}
@media (max-width: 820px){.fn-nav-in{height: 64px}}
.fn-logo{display: flex;align-items: center;padding: 6px;margin-left: -6px;border-radius: 14px;color: var(--ink)}
.fn-logo svg{transition: transform 0.55s cubic-bezier(0.3, 1.5, 0.4, 1)}
.fn-logo:hover svg{transform: translate(3px, -3px) rotate(10deg)}
.fn-pillbox{position: relative;display: flex;align-items: center;gap: 2px}
.fn-pill{position: absolute;top: 0px;left: 0px;height: 44px;border-radius: 999px;background: color-mix(in srgb,var(--ink) 8.5%,transparent);pointer-events: none;transition: transform 0.5s cubic-bezier(0.3, 1.35, 0.4, 1), width 0.5s cubic-bezier(0.3, 1.35, 0.4, 1), opacity 0.25s}
.fn-nav-link{position: relative;height: 44px;padding: 0px 16px;border-radius: 999px;display: flex;align-items: center;gap: 6px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: inherit;font-family: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;font-language-override: inherit;font-size: 15px;font-weight: 500;color: var(--ink);text-decoration: none;background: transparent;border: 0px;cursor: pointer;white-space: nowrap;transition: color 0.25s, background-color 0.25s, transform 0.2s}
.fn-nav-link:hover{color: var(--ink-d)}
.fn-nav-link:active{transform: scale(0.96)}
.fn-nav-link[aria-current="page"]::after{content: "";position: absolute;left: 50%;bottom: 5px;width: 4px;height: 4px;margin-left: -2px;border-radius: 99px;background: rgb(199, 177, 177)}
.fn-nav-cta{background: var(--brand);color: rgb(255, 255, 255);margin-left: 6px}
.fn-nav-cta:hover{background: var(--brand-d);color: rgb(255, 255, 255)}
.fn-nav-cta[aria-current="page"]::after{background: var(--pink)}
.fn-nav-links{display: flex}
.fn-nav-burger{display: none}
@media (max-width: 820px){.fn-nav-links, .fn-nav-contact{display: none}}
@media (max-width: 820px){.fn-nav-burger{display: flex}}
.fn-drop{animation: 0.38s cubic-bezier(0.2, 1.1, 0.3, 1) 0s 1 normal both running fxDrop;transform-origin: center top}
@keyframes fxDrop { 0% { opacity: 0; transform: translateY(-8px) scale(0.97); filter: blur(6px); } 100% { opacity: 1; transform: none; filter: blur(0px); } }
.fn-drop-item{display: flex;align-items: center;justify-content: space-between;gap: 12px;min-height: 44px;padding: 12px 14px;border-radius: 12px;color: var(--ink-d);text-decoration: none;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: inherit;font-family: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;font-language-override: inherit;font-size: 15px;font-weight: 500;transition: background-color 0.2s, transform 0.2s;background: transparent;border: 0px;cursor: pointer;width: 100%;text-align: left}
.fn-drop-item:hover{background: var(--card);transform: translateX(3px);color: var(--ink-d)}
.fn-drop-item[aria-current="page"]{background: var(--card);color: var(--ink)}
.fn-m-item{font-size: 20px;font-weight: 600;letter-spacing: -0.02em;padding: 14px 12px;min-height: 52px}
.fn-sheet-item{animation: 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) 0s 1 normal backwards running fxIn}
.fn-msheet{padding-bottom: 20px;display: flex;flex-direction: column;gap: 2px;max-height: calc(100dvh - 110px);overflow-y: auto;overscroll-behavior: contain}
.fn-btn{cursor: pointer;font: inherit;border: 0px;transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1), background-color 0.2s, box-shadow 0.3s}
.fn-btn:active{transform: scale(0.94)}
.fn-cta{display: inline-flex;align-items: center;justify-content: center;gap: 8px;min-height: 48px;padding: 12px 22px;border-radius: 999px;background: var(--brand);color: rgb(255, 255, 255);font-style: inherit;font-variant: inherit;font-stretch: inherit;font-family: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;font-language-override: inherit;font-size: 15px;font-weight: 600;line-height: 1.25;text-align: center;text-decoration: none;border: 0px;cursor: pointer;max-width: 100%;transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1), background-color 0.25s, box-shadow 0.3s}
.fn-cta:hover{background: var(--brand-d);color: rgb(255, 255, 255);box-shadow: rgba(40, 51, 56, 0.7) 0px 14px 28px -16px}
.fn-cta:active{transform: scale(0.95)}
.fn-cta svg{flex: 0 0 auto;transition: transform 0.35s cubic-bezier(0.2, 1.3, 0.3, 1)}
.fn-cta:hover svg{transform: translate(2px, -2px)}
.fn-cta.fn-ghost{background: var(--bg);color: var(--ink)}
.fn-cta.fn-ghost:hover{background: var(--card2);color: var(--ink-d);box-shadow: none}
.fn-cta.fn-soft{background: var(--pink);color: var(--ink-d)}
.fn-cta.fn-soft:hover{background: rgb(255, 226, 226);color: var(--ink-d)}
.fn-btn:focus-visible, .fn-nav-link:focus-visible, .fn-drop-item:focus-visible, .fn-logo:focus-visible, .fn-mail:focus-visible, .fn-faq-btn:focus-visible, .fn-cta:focus-visible, .fn-card-a:focus-visible, .fn-soc-b:focus-visible, .fn-seg-b:focus-visible, .fn-ao:focus-visible, .fn-chipb:focus-visible, .fn-topbar:focus-visible, .fn-foot a:focus-visible, .fn-tab:focus-visible{outline: 2px solid var(--ink);outline-offset: 3px}
.fn-chip{min-height: 32px;padding: 6px 14px;border-radius: 999px;background: var(--bg);color: var(--tx);font-size: 13px;font-weight: 500;line-height: 1.3;display: inline-flex;align-items: center;max-width: 100%}
.fn-chipb{cursor: pointer;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: inherit;font-family: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;font-language-override: inherit;text-decoration: none;display: inline-flex;align-items: center;gap: 8px;min-height: 44px;padding: 0px 18px;border-radius: 999px;border: 0px;background: var(--card);color: var(--ink);font-size: 15px;font-weight: 600;letter-spacing: -0.01em;box-shadow: transparent 0px 0px 0px 1.5px inset;transition: transform 0.4s cubic-bezier(0.2, 1.3, 0.3, 1), background-color 0.3s, box-shadow 0.3s, color 0.3s}
.fn-chipb:hover{transform: translateY(-2px);background: var(--card2)}
.fn-chipb:active{transform: scale(0.95)}
.fn-chipb.fn-on{background: linear-gradient(135deg,var(--pink),var(--peach));box-shadow: rgb(199, 177, 177) 0px 0px 0px 1.5px inset;color: var(--ink-d)}
.fn-card{border-radius: 24px;background: var(--card);padding: clamp(20px, 2.6vw, 32px)}
.fn-card-a{display: flex;flex-direction: column;gap: 10px;text-decoration: none;color: inherit;transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s, background-color 0.3s}
.fn-card-a:hover{transform: translateY(-6px);box-shadow: rgba(199, 140, 140, 0.55) 0px 30px 60px -34px;background: var(--card2);color: inherit}
.fn-card-a:active{transform: translateY(-2px) scale(0.985)}
.fn-grad{background: linear-gradient(135deg,var(--pink),var(--peach))}
.fn-faq-btn{cursor: pointer;font: inherit;border: 0px;background: transparent;width: 100%;text-align: left;border-radius: 8px}
.fn-faq-btn:hover .fn-faq-q{color: var(--ink-d)}
.fn-chev{transition: transform 0.45s cubic-bezier(0.3, 1.4, 0.4, 1), background-color 0.3s, color 0.3s}
.fn-faq-body{display: grid;transition: grid-template-rows 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.4s, visibility 0.5s}
.fn-hello{transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s}
.fn-hello:hover{transform: translateY(-4px);box-shadow: 0 30px 60px -34px color-mix(in srgb,var(--ink) 55%,transparent)}
.fn-mail{cursor: pointer;font: inherit;border: 0px;background: transparent;color: var(--ink);display: inline-flex;align-items: center;gap: 10px;padding: 10px 18px;border-radius: 999px;transition: background-color 0.25s, transform 0.25s}
.fn-mail:hover{background: color-mix(in srgb,var(--bg) 70%,transparent);transform: translateY(-2px)}
.fn-mail:active{transform: scale(0.97)}
.fn-mail .fn-arr{transition: transform 0.35s cubic-bezier(0.2, 1.3, 0.3, 1)}
.fn-mail:hover .fn-arr{transform: translateX(5px)}
.fn-back{animation: 0.35s ease 0s 1 normal both running fxBack}
.fn-back.fn-out{animation: 0.3s ease 0s 1 normal both running fxBackOut}
@keyframes fxBack { 0% { opacity: 0; } 100% { opacity: 1; } }
@keyframes fxBackOut { 0% { opacity: 1; } 100% { opacity: 0; } }
.fn-panel{animation: 0.6s cubic-bezier(0.2, 1.1, 0.3, 1) 0s 1 normal both running fxPanel}
.fn-panel.fn-out{animation: 0.3s cubic-bezier(0.5, 0, 0.75, 0.4) 0s 1 normal both running fxPanelOut}
@keyframes fxPanel { 0% { opacity: 0; transform: scale(0.45); filter: blur(12px); } 100% { opacity: 1; transform: none; filter: blur(0px); } }
@keyframes fxPanelOut { 0% { opacity: 1; transform: none; filter: blur(0px); } 100% { opacity: 0; transform: scale(0.55); filter: blur(10px); } }
.fn-toast{animation: 0.5s cubic-bezier(0.2, 1.3, 0.3, 1) 0s 1 normal both running fxToast}
@keyframes fxToast { 0% { opacity: 0; transform: translate(-50%, 24px) scale(0.92); } 100% { opacity: 1; transform: translate(-50%, 0px); } }
.fn-foot{border-top: 1px solid var(--line);font-size: 14px}
.fn-foot a{color: var(--mu);text-decoration: none;transition: color 0.2s}
.fn-foot a:hover{color: var(--ink-d)}
.fn-foot-grid{display: grid;grid-template-columns: minmax(0px, 1.5fr) minmax(0px, 0.7fr) minmax(0px, 0.9fr);gap: 36px clamp(24px, 5vw, 72px);padding-top: clamp(40px, 6vw, 64px);padding-bottom: clamp(28px, 4vw, 40px)}
@media (max-width: 820px){.fn-foot-grid{grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr)}}
@media (max-width: 820px){.fn-foot-brand{grid-column: 1 / -1}}
@media (max-width: 420px){.fn-foot-grid{gap: 32px 16px}}
@media (max-width: 330px){.fn-foot-grid{grid-template-columns: minmax(0px, 1fr)}}
.fn-foot-brand{display: flex;flex-direction: column;align-items: flex-start;gap: 14px}
.fn-foot-brand .fn-mail{margin-left: -12px;padding: 10px 12px}
.fn-foot-brand p{margin: 0px;max-width: 34ch;font-size: 15px;line-height: 1.6;color: var(--mu)}
.fn-foot-h{margin: 0px 0px 10px;font-size: 13px;font-weight: 600;letter-spacing: 0.02em;text-transform: uppercase;color: rgb(180, 180, 180)}
.fn-foot-col{display: flex;flex-direction: column;align-items: flex-start}
.fn-foot-col a{display: inline-flex;align-items: center;min-height: 40px;font-size: 15px}
.fn-soc{display: flex;gap: 10px;flex-wrap: wrap}
.fn-soc-b{width: 44px;height: 44px;border-radius: 999px;background: var(--card);display: flex;align-items: center;justify-content: center;transition: transform 0.45s cubic-bezier(0.2, 1.4, 0.3, 1), background-color 0.3s, color 0.3s, box-shadow 0.3s;color: var(--ink) !important}
.fn-soc-b svg{transition: transform 0.5s cubic-bezier(0.2, 1.4, 0.3, 1)}
.fn-soc-b:hover{background: var(--brand);transform: translateY(-4px);box-shadow: rgba(40, 51, 56, 0.6) 0px 16px 28px -14px;color: rgb(255, 255, 255) !important}
.fn-soc-b:hover svg{transform: rotate(-8deg) scale(1.1)}
.fn-soc-b:active{transform: scale(0.93)}
.fn-foot-base{position: relative;display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 6px 20px;padding-top: 18px;padding-bottom: 28px;color: var(--mu)}
.fn-foot-base::before{content: "";position: absolute;top: 0px;left: clamp(16px, 4vw, 48px);right: clamp(16px, 4vw, 48px);height: 1px;background: var(--card2)}
.fn-foot-legal{display: flex;flex-wrap: wrap;gap: 0px 8px}
.fn-foot-legal a{display: inline-flex;align-items: center;min-height: 40px;padding: 0px 4px}
@media (prefers-reduced-motion: reduce){.fn-fx-reveal{animation: auto ease 0s 1 normal none running none}}
@media (prefers-reduced-motion: reduce){.fn-num.fn-s, .fn-opt-w{animation: auto ease 0s 1 normal none running none}}
@media (prefers-reduced-motion: reduce){*, ::before, ::after{animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;scroll-behavior: auto !important}}
:root{--hh: 103px;--spring: cubic-bezier(.34,1.56,.64,1);--spring2: cubic-bezier(.2,1.4,.3,1)}
@media (max-width: 820px){:root{--hh: 99px}}
.fn-cta, .fn-chipb, .fn-btn, .fn-card-a, .fn-work, .fn-svc-card, .fn-seg-b, .fn-soc-b, .fn-stp-ar, .fn-nav-link, .fn-pb-b, .fn-sw, .fn-mail, .fn-faq-btn{transition-timing-function: var(--spring)}
.fn-cta{transition: transform .5s var(--spring),translate .45s var(--spring2),background-color .25s,box-shadow .3s}
.fn-cta:active, .fn-chipb:active, .fn-btn:active, .fn-seg-b:active, .fn-soc-b:active, .fn-stp-ar:active, .fn-mail:active{transition-duration: 0.09s}
.fn-soc-b, .fn-mail{transition-property: transform, translate, background-color, color, box-shadow}
.fn-nav-cta{transition: transform .5s var(--spring),translate .45s var(--spring2),background-color .25s,color .25s}
.fn-seg-b:active{transform: scale(0.94)}
.fn-faq-btn:active .fn-faq-q{transform: translateX(3px)}
.fn-faq-q{transition: color .2s,transform .35s var(--spring)}
.fn-work, .fn-svc-card, .fn-pcard, .fn-tm, .fn-pk-card, .fn-svc-viz{position: relative}
.fn-fx-t{will-change: transform;transition: transform 0.16s ease-out, box-shadow 0.4s, background-color 0.3s !important}
.fn-work::after, .fn-svc-card::after, .fn-pcard::after, .fn-tm::after, .fn-svc-viz::after{content: "";position: absolute;inset: 0px;border-radius: inherit;pointer-events: none;z-index: 2;background: radial-gradient(circle at var(--gx,50%) var(--gy,0%),color-mix(in srgb,var(--bg) 62%,transparent),color-mix(in srgb,var(--bg) 0%,transparent) 60%);opacity: var(--go,0);transition: opacity 0.35s}
.fn-fx-cur{position: fixed;left: 0px;top: 0px;z-index: 90;width: 0px;height: 0px;pointer-events: none;opacity: 0;transition: opacity 0.3s}
.fn-fx-cur.fn-on{opacity: 1}
.fn-fx-cur i{position: absolute;left: -17px;top: -17px;width: 34px;height: 34px;border-radius: 50%;border: 1.5px solid color-mix(in srgb,var(--ink) 50%,transparent);transition: width .45s var(--spring),height .45s var(--spring),left .45s var(--spring),top .45s var(--spring),background-color .3s,border-color .3s,transform .25s var(--spring)}
.fn-fx-cur.fn-hot i{width: 60px;height: 60px;left: -30px;top: -30px;background: rgba(255, 237, 237, 0.5);border-color: rgba(199, 177, 177, 0.95)}
.fn-fx-cur.fn-lbl i{width: 74px;height: 74px;left: -37px;top: -37px;background: color-mix(in srgb,var(--bg) 88%,transparent)}
.fn-fx-cur.fn-dn i{transform: scale(0.8)}
.fn-fx-cur b{position: absolute;left: 0px;top: 0px;transform: translate(-50%, -50%);font-size: 12px;font-weight: 600;letter-spacing: -0.01em;color: var(--ink-d);opacity: 0;transition: opacity 0.2s;white-space: nowrap}
.fn-fx-cur.fn-lbl b{opacity: 1}
@media (hover: none), (pointer: coarse){.fn-fx-cur{display: none}}
.fn-cv{position: fixed;inset: 0px;z-index: 100;display: grid;place-items: center;pointer-events: none;background: var(--bg);color: var(--ink);animation: 0.55s cubic-bezier(0.7, 0, 0.2, 1) 0.42s 1 normal both running cvOut}
.fn-cv svg{width: clamp(56px, 9vw, 92px);height: auto;aspect-ratio: 1 / 1;overflow: visible}
.fn-cv .fn-lg-dm{stroke-dasharray: 1;stroke-dashoffset: 1;animation: 0.5s cubic-bezier(0.55, 0, 0.2, 1) 0.02s 1 normal forwards running cvDraw}
@keyframes cvDraw { 100% { stroke-dashoffset: 0; } }
@keyframes cvOut { 0% { transform: none; visibility: visible; } 99% { visibility: visible; } 100% { transform: translateY(-100%); visibility: hidden; } }
@media (prefers-reduced-motion: reduce){.fn-ring{animation: auto ease 0s 1 normal none running none}}
@media (prefers-reduced-motion: reduce){.fn-cv{display: none}}
@media (prefers-reduced-motion: reduce){.fn-fx-cur{display: none}}
.fn-th-btn{width: 44px;height: 44px;border-radius: 999px;background: transparent;color: var(--ink);display: flex;align-items: center;justify-content: center;transition: background-color .25s,transform .45s var(--spring)}
.fn-th-btn:hover{background: color-mix(in srgb,var(--ink) 8%,transparent)}
.fn-th-btn:active{transform: scale(0.9);transition-duration: 0.08s}
.fn-th-ic{overflow: visible}
.fn-th-core{transform-origin: 12px 12px;transition: transform .75s var(--spring)}
.fn-th-cut{transform: translate(15px, -15px);transition: transform 0.75s cubic-bezier(0.3, 1.35, 0.4, 1)}
.fn-th-rays{transform-origin: 12px 12px;transition: transform .75s var(--spring),opacity .3s}
.fn-th-btn:hover .fn-th-rays{transform: rotate(25deg)}
:root[data-theme="dark"] .fn-th-core{transform: scale(1.55)}
:root[data-theme="dark"] .fn-th-cut{transform: translate(0px, 0px)}
:root[data-theme="dark"] .fn-th-rays, :root[data-theme="dark"] .fn-th-btn:hover .fn-th-rays{transform: rotate(90deg) scale(0.3);opacity: 0}
::view-transition-old(root), ::view-transition-new(root){animation: auto ease 0s 1 normal none running none;mix-blend-mode: normal}
::view-transition-old(th-fl){display: none}
::view-transition-group(th-fl), ::view-transition-new(th-fl){animation: auto ease 0s 1 normal none running none}
.fn-th-fade, .fn-th-fade *, .fn-th-fade ::before, .fn-th-fade ::after{transition: background-color 0.45s, color 0.45s, border-color 0.45s, fill 0.45s, stroke 0.45s, box-shadow 0.45s !important}
@property --sgp { syntax: "<number>"; inherits: true; initial-value: 0; }
.fn-sg{display: block;width: 100%;height: auto;overflow: visible;color: var(--ink);--sgp: 0;transition: --sgp 0.45s}
.fn-is-sign .fn-sg{--sgp: 1;transition: --sgp var(--T,1.5s) cubic-bezier(.4,.04,.55,.96)}
.fn-sg-o{fill: currentcolor}
.fn-sg mask path{fill: none;stroke: rgb(255, 255, 255);stroke-linecap: round;stroke-linejoin: round;stroke-dasharray: 1;stroke-dashoffset: calc(1 - clamp(0, (var(--sgp) - var(--t)) / var(--d), 1));opacity: clamp(0, calc((var(--sgp) - var(--t)) * 400), 1)}
@media (prefers-reduced-motion: reduce){.fn-sg{--sgp: 1;transition: none}}
.fn-foot-logo{display: inline-flex;padding: 4px;margin-left: -4px;border-radius: 12px;color: var(--ac-blue)}
.fn-foot-logo svg{transition: transform .55s var(--spring)}
.fn-foot-logo:hover svg{transform: translate(3px, -3px) rotate(10deg)}
.fn-dd-b{display: flex;align-items: center;justify-content: space-between;gap: 10px;width: 100%;min-height: 44px;padding: 0px 4px;border-right: 0px;border-bottom: 0px;border-left: 0px;border-image: none;border-top: 1px solid color-mix(in srgb,var(--ink) 10%,transparent);background: transparent;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: inherit;font-family: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;font-language-override: inherit;font-size: 15px;font-weight: 600;color: var(--ink);cursor: pointer;text-align: left}
.fn-dd-b svg{flex: 0 0 auto;transition: transform 0.45s cubic-bezier(0.2, 1.3, 0.3, 1)}
.fn-dd-b[aria-expanded="true"] svg{transform: rotate(180deg)}
.fn-dd-b:focus-visible{outline: 2px solid var(--ink);outline-offset: 2px;border-radius: 10px}
.fn-dd{display: grid;grid-template-rows: 0fr;transition: grid-template-rows 0.5s cubic-bezier(0.3, 1, 0.3, 1)}
.fn-dd > div{min-height: 0px;overflow: hidden;visibility: hidden;transition: visibility 0.5s}
.fn-dd.fn-open{grid-template-rows: 1fr}
.fn-dd.fn-open > div{visibility: visible;transition-delay: 0s}
.fn-dd .fn-inc{padding: 11px 0px}
@media (prefers-reduced-motion: reduce){.fn-dd, .fn-dd-b svg{transition: none}}
.fn-foot-col a{position: relative;color: var(--tx);transition: color .3s,transform .5s var(--spring)}
.fn-foot-col a::before{content: "";flex: 0 0 auto;width: 0px;height: 0px;margin-right: 0px;border-radius: 50%;background: var(--ac-gold);transition: width .5s var(--spring),height .5s var(--spring),margin .5s var(--spring)}
.fn-foot-col a:focus-visible{color: var(--ink)}
.fn-foot-col a:focus-visible::before{width: 7px;height: 7px;margin-right: 9px}
@media (hover: hover){.fn-foot-col a:hover{color: var(--ink)}}
@media (hover: hover){.fn-foot-col a:hover::before{width: 7px;height: 7px;margin-right: 9px}}
@media (hover: hover){.fn-foot-col a:active{transform: translateX(2px) scale(0.98)}}
@media (hover: hover){.fn-foot-legal a{transition: color 0.3s}}
@media (hover: hover){.fn-foot-legal a:hover{color: var(--ink)}}
@media (prefers-reduced-motion: reduce){.fn-foot-col a, .fn-foot-col a::before{transition: none}}
.fn-hello{position: relative;isolation: isolate;overflow: hidden;border-radius: clamp(22px, 3vw, 34px);background: var(--brand);color: rgb(255, 255, 255);padding: clamp(56px, 9vw, 112px) clamp(16px, 4vw, 48px) clamp(104px, 12vw, 168px)}
.fn-hello-rings{position: absolute;left: 50%;bottom: clamp(40px, 5vw, 64px);width: 230%;aspect-ratio: 2 / 1;translate: calc(-50% + var(--hx,0) * -10px) calc(50% + var(--hy,0) * -6px);transition: translate 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);z-index: -1;background: repeating-radial-gradient(transparent 0px, transparent 30px, rgba(255, 255, 255, 0.086) 30px, rgba(255, 255, 255, 0.086) 31.5px);mask-image: radial-gradient(rgb(0, 0, 0) 0px, rgb(0, 0, 0) 12%, transparent 46%);animation: 9s ease-in-out 0s infinite normal none running helloBreath}
@keyframes helloBreath { 0%, 100% { scale: 1; } 50% { scale: 1.07; } }
.fn-hello-drop{position: absolute;left: 50%;bottom: clamp(40px, 5vw, 64px);width: 9px;height: 9px;margin: 0px 0px -4.5px -4.5px;border-radius: 50%;background: var(--ac-gold);box-shadow: 0 0 0 8px color-mix(in srgb,var(--ac-gold) 22%,transparent),0 0 40px 10px color-mix(in srgb,var(--ac-gold) 30%,transparent);z-index: -1;opacity: 0;translate: calc(var(--hx,0) * -22px) calc(var(--hy,0) * -12px);transition: translate 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);animation: fxIn 1.2s var(--spring) .6s forwards,helloBeat 2.5s ease-out 1.8s infinite}
.fn-hello-in{position: relative;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: clamp(12px, 2vw, 20px);text-align: center}
.fn-hello-h{margin: 0px;font-size: clamp(40px, 7vw, 92px);font-weight: 600;line-height: 1;letter-spacing: -0.05em;color: rgb(255, 255, 255)}
.fn-hello-h .fn-wave{display: inline-block;transform-origin: 70% 80%;animation: 2.8s ease-in-out 1.2s infinite normal none running wave}
@keyframes wave { 0%, 60%, 100% { rotate: 0deg; } 10% { rotate: 16deg; } 20% { rotate: -8deg; } 30% { rotate: 14deg; } 40% { rotate: -4deg; } 50% { rotate: 10deg; } }
.fn-hello-p{margin: 0px;max-width: 34ch;font-size: clamp(16px, 1.6vw, 19px);line-height: 1.55;color: rgba(255, 255, 255, 0.78)}
.fn-hello .fn-mail.fn-hello-mail{justify-content: center;gap: 14px;max-width: 100%;padding: clamp(12px, 1.6vw, 18px) clamp(20px, 3vw, 34px);border-radius: 999px;background: rgba(255, 255, 255, 0.1);color: rgb(255, 255, 255);font-size: clamp(17px, 2.6vw, 30px);font-weight: 600;letter-spacing: -0.03em;box-shadow: rgba(255, 255, 255, 0.24) 0px 0px 0px 1px inset;transition-property: transform, background-color, color, box-shadow}
.fn-hello .fn-mail.fn-hello-mail::before{content: "";flex: 0 0 auto;width: 22px}
.fn-hello .fn-mail.fn-hello-mail span{min-width: 0px;overflow-wrap: anywhere}
.fn-hello .fn-mail.fn-hello-mail svg{flex: 0 0 auto;opacity: 0.8}
.fn-hello .fn-mail.fn-hello-mail:hover{background: rgb(255, 255, 255);color: var(--brand-d);transform: translateY(-3px);box-shadow: rgba(0, 0, 0, 0.6) 0px 22px 40px -22px}
.fn-hello-n{font-size: 13px;color: rgba(255, 255, 255, 0.62)}
.fn-hello-drop::after{content: "";position: absolute;inset: -70px;border-radius: 50%;background: radial-gradient(circle,color-mix(in srgb,var(--ac-gold) 24%,transparent),transparent 62%);animation: 5s ease-in-out 0s infinite normal none running helloGlow;pointer-events: none}
@keyframes helloGlow { 0%, 100% { opacity: 0.55; scale: 0.9; } 50% { opacity: 1; scale: 1.12; } }
@keyframes helloBeat { 0% { scale: 1; } 7% { scale: 1.8; } 22% { scale: 1; } 100% { scale: 1; } }
.fn-hello-rip{position: absolute;left: 50%;bottom: clamp(40px, 5vw, 64px);width: 150%;aspect-ratio: 2 / 1;translate: calc(-50% + var(--hx,0) * -22px) calc(50% + var(--hy,0) * -12px);transition: translate 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);border-radius: 50%;border: 1.5px solid rgba(255, 255, 255, 0.3);box-shadow: 0 0 36px color-mix(in srgb,var(--ac-gold) 10%,transparent);z-index: -1;opacity: 0;pointer-events: none;will-change: scale, opacity;animation: helloRip 7.5s cubic-bezier(.15,.6,.3,1) calc(1.8s + var(--d,0) * 2.5s) infinite}
@keyframes helloRip { 0% { scale: 0.015; opacity: 0; } 2% { opacity: 0.85; } 33% { opacity: 0.4; } 38% { scale: 1; opacity: 0; } 100% { scale: 1; opacity: 0; } }
.fn-hello-tap{position: absolute;width: 0px;height: 0px;z-index: -1;pointer-events: none}
.fn-hello-tap i{position: absolute;left: -6px;top: -6px;width: 12px;height: 12px;border-radius: 50% 0px 50% 50%;rotate: -45deg;background: var(--ac-gold);box-shadow: 0 0 26px 5px color-mix(in srgb,var(--ac-gold) 45%,transparent);animation: helloDrip 1.5s var(--spring) both}
.fn-hello-tap b{position: absolute;left: 0px;top: 0px;width: min(420px, 70vw);aspect-ratio: 2 / 1;margin: calc(-0.25 * min(420px, 70vw)) 0px 0px calc(-0.5 * min(420px, 70vw));border-radius: 50%;border: 1.5px solid rgba(255, 255, 255, 0.4);animation: 1.6s cubic-bezier(0.2, 0.6, 0.3, 1) 0s 1 normal both running helloTapRing}
.fn-hello-tap b + b{border-color: rgba(255, 255, 255, 0.22);animation-delay: 0.2s}
@keyframes helloDrip { 0% { translate: 0px -34px; scale: 0.4; opacity: 0; } 20% { translate: 0px; scale: 1.3; opacity: 1; } 38% { scale: 1; } 78% { opacity: 1; } 100% { opacity: 0; scale: 0.6; } }
@keyframes helloTapRing { 0% { scale: 0.02; opacity: 0.9; } 100% { scale: 1; opacity: 0; } }
@media (prefers-reduced-motion: reduce){.fn-hello-rings, .fn-hello-h .fn-wave, .fn-hello-drop, .fn-hello-drop::after{animation: auto ease 0s 1 normal none running none}}
@media (prefers-reduced-motion: reduce){.fn-hello-drop{opacity: 1}}
@media (prefers-reduced-motion: reduce){.fn-hello-rip, .fn-hello-tap{display: none}}
@property --cn { syntax: "<integer>"; inherits: false; initial-value: 0; }
.fn-num{counter-reset: num var(--cn)}
.fn-num::after{content: counter(num)}
@keyframes cu { 0% { --cn: 0; } }
.fn-num.fn-t{animation: 1.4s cubic-bezier(0.2, 0.8, 0.2, 1) 0.25s 1 normal both running cu}
@supports (animation-timeline: view()){.fn-num.fn-s{animation-duration: auto;animation-timing-function: linear;animation-delay: 0s;animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: both;animation-play-state: running;animation-name: cu;animation-timeline: view();animation-range: entry 25% cover 30%}}
.fn-tile{container-type: inline-size;background: var(--bg);border-radius: 18px;padding: 16px 16px 14px;display: flex;flex-direction: column;gap: 4px;min-width: 0px}
.fn-tile-n{font-size: clamp(28px, 24cqw, 48px);font-weight: 600;letter-spacing: -0.045em;line-height: 1.05;color: var(--ink);font-variant-numeric: tabular-nums;white-space: nowrap}
.fn-tile-c{font-size: 13px;line-height: 1.4;color: var(--mu)}
.fn-tiles{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));gap: 10px}
.fn-tiles.fn-gr .fn-tile{background: linear-gradient(135deg,var(--pink),var(--peach))}
.fn-num.fn-x{counter-reset: none}
.fn-num.fn-x::after{content: none}
.fn-mpanel{position: relative;width: 100%;max-width: 880px;max-height: calc(100dvh - 32px);overflow: auto;background: var(--card);border-radius: 24px;padding: 12px;box-shadow: 0 50px 100px -40px color-mix(in srgb,var(--ink) 50%,transparent);touch-action: pan-y}
.fn-m-hero{position: relative;flex: 0 0 auto;width: 100%;border-radius: 16px;overflow: hidden;aspect-ratio: 617 / 436;max-height: 44vh;background: var(--card2)}
.fn-m-hero img{width: 100%;height: 100%;object-fit: cover;display: block}
.fn-m-x{position: absolute;top: 12px;right: 12px;width: 44px;height: 44px;border-radius: 999px;background: color-mix(in srgb,var(--bg) 94%,transparent);color: var(--ink-d);display: flex;align-items: center;justify-content: center}
.fn-m-body{padding: 22px 10px 10px;display: flex;flex-direction: column;gap: clamp(22px, 3vw, 34px)}
.fn-m-head{display: flex;flex-wrap: wrap;align-items: flex-end;justify-content: space-between;gap: 12px 20px}
.fn-m-title{display: flex;flex-direction: column;min-width: 0px;font-size: clamp(26px, 3.4vw, 36px);font-weight: 600;letter-spacing: -0.04em;line-height: 1.15}
.fn-m-lead{margin: 0px;max-width: 62ch;font-size: clamp(17px, 1.8vw, 20px);line-height: 1.55;letter-spacing: -0.01em;color: var(--ink-d)}
.fn-m-cols{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));gap: clamp(22px, 3vw, 40px)}
.fn-m-list{list-style: none;margin: 0px;padding: 0px;display: flex;flex-direction: column;gap: 12px}
.fn-m-list li{display: flex;gap: 12px;font-size: 15px;line-height: 1.5;color: var(--tx)}
.fn-m-dot{flex: 0 0 auto;width: 6px;height: 6px;border-radius: 99px;background: rgb(199, 177, 177);margin-top: 0.55em}
.fn-m-out{margin: 0px;max-width: 62ch;font-size: 15px;line-height: 1.6;color: var(--tx)}
.fn-swatches{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 132px), 1fr));gap: 8px}
.fn-sw{cursor: pointer;font: inherit;border: 0px;text-align: left;border-radius: 14px;padding: 14px 12px 12px;min-height: 88px;display: flex;flex-direction: column;justify-content: flex-end;gap: 2px;box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent);transition: transform 0.45s cubic-bezier(0.2, 1.3, 0.3, 1), box-shadow 0.3s}
.fn-sw:hover{transform: translateY(-4px) scale(1.03);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent),0 18px 30px -18px color-mix(in srgb,var(--ink) 45%,transparent)}
.fn-sw:active{transform: scale(0.96)}
.fn-sw:focus-visible{outline: 2px solid var(--ink);outline-offset: 3px}
.fn-sw b{font-size: 14px;font-weight: 600;letter-spacing: -0.02em}
.fn-sw i{font-style: normal;font-size: 12px;font-variant-numeric: tabular-nums}
.fn-gal{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));gap: 8px}
.fn-gal figure{margin: 0px;border-radius: 14px;overflow: hidden;aspect-ratio: 617 / 436;background: var(--card2)}
.fn-gal figure.fn-wide{grid-column: 1 / -1;aspect-ratio: 1100 / 384}
.fn-gal.fn-one{grid-template-columns: minmax(0px, 1fr)}
.fn-gal.fn-one figure{aspect-ratio: 16 / 9}
.fn-gal img{width: 100%;height: 100%;object-fit: cover;display: block;transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1)}
.fn-gal figure:hover img{transform: scale(1.05)}
.fn-q{margin: 0px;padding: clamp(20px, 3vw, 28px);border-radius: 20px;background: linear-gradient(135deg,var(--pink),var(--peach))}
.fn-q blockquote{margin: 0px;font-size: clamp(17px, 2vw, 21px);line-height: 1.5;letter-spacing: -0.015em;color: var(--ink);font-weight: 500}
.fn-q figcaption{margin-top: 14px;font-size: 14px;color: var(--mu)}
.fn-m-seg{position: absolute;top: 10px;left: 12px;right: 68px;display: flex;gap: 5px;z-index: 3}
.fn-m-sg{flex: 1 1 0%;min-width: 0px;height: 24px;padding: 10px 0px;border: 0px;background: transparent;cursor: pointer}
.fn-m-sg i{display: block;height: 4px;border-radius: 99px;background: color-mix(in srgb,var(--bg) 45%,transparent);position: relative;overflow: hidden;box-shadow: rgba(40, 51, 56, 0.12) 0px 0px 0px 1px}
.fn-m-sg i::after{content: "";position: absolute;inset: 0px;background: var(--bg);transform-origin: left center;transform: scaleX(0)}
.fn-m-sg.fn-done i::after{transform: scaleX(1)}
.fn-m-sg.fn-on i::after{transform: scaleX(1);animation: 0.7s cubic-bezier(0.2, 0.8, 0.2, 1) 0s 1 normal backwards running sgFill}
@keyframes sgFill { 0% { transform: scaleX(0); } }
.fn-m-sg:focus-visible{outline: 2px solid var(--bg);outline-offset: 1px;border-radius: 6px}
.fn-m-pn{position: absolute;top: 50%;translate: 0px -50%;width: 44px;height: 44px;border-radius: 999px;background: color-mix(in srgb,var(--bg) 90%,transparent);color: var(--ink-d);display: flex;align-items: center;justify-content: center;z-index: 3;box-shadow: rgba(40, 51, 56, 0.5) 0px 10px 20px -10px;transition: transform .5s var(--spring),opacity .3s,background-color .2s}
.fn-m-pn.fn-prev{left: 12px}
.fn-m-pn.fn-next{right: 12px}
.fn-m-pn:hover{background: var(--bg);transform: scale(1.08)}
.fn-m-pn:active{transform: scale(0.92)}
.fn-m-pn.fn-off{opacity: 0.35;pointer-events: none}
@media (max-width: 520px){.fn-m-pn{width: 44px;height: 44px;top: auto;bottom: 12px;translate: 0px}}
@media (max-width: 520px){.fn-m-pn.fn-prev{left: 12px}}
@media (max-width: 520px){.fn-m-pn.fn-next{right: 12px}}
@media (prefers-reduced-motion: reduce){.fn-m-sg.fn-on i::after{animation: auto ease 0s 1 normal none running none}}
@property --r { syntax: "<length>"; inherits: false; initial-value: 1px; }
.fn-opt-wrap{position: relative;isolation: isolate;touch-action: pan-y}
.fn-opt-wrap::before{content: "";position: absolute;inset: -300px;z-index: -1;pointer-events: none;background: radial-gradient(circle 270px at calc(var(--gx,50%) + 280px) calc(var(--gy,50%) + 270px),color-mix(in srgb,var(--pink) 92%,transparent),color-mix(in srgb,var(--peach) 0%,transparent) 72%);opacity: 0;transition: opacity 0.6s}
.fn-opt-wrap.fn-is-hot::before{opacity: 1}
.fn-opt-w{position: relative;display: inline-block;padding: 0.14em 0.05em 0.26em;margin: -0.14em -0.05em -0.26em;--mx: -999px;--my: -999px;--r: 1px;color: var(--wc,#C7B1B1);transition: --r 0.6s cubic-bezier(0.2, 0.9, 0.3, 1), transform 0.5s cubic-bezier(0.3, 1.5, 0.4, 1)}
.fn-is-hot .fn-opt-w{--r: clamp(110px,13vw,210px)}
.fn-opt-w:hover{transform: translateY(-0.04em)}
.fn-opt-w.fn-ink{--wc: var(--ink);--hv: var(--ac-blue)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){.fn-opt-w{background-image: radial-gradient(circle var(--r) at var(--mx) var(--my),var(--hv,var(--brand)) 0,var(--hv,var(--brand)) 36%,color-mix(in srgb,var(--ink) 0%,transparent) 100%),linear-gradient(105deg,color-mix(in srgb,var(--ink) 0%,transparent) 38%,color-mix(in srgb,var(--ink) 90%,transparent) 50%,color-mix(in srgb,var(--ink) 0%,transparent) 62%),linear-gradient(var(--wc,#C7B1B1),var(--wc,#C7B1B1));background-size: 100% 100%, 300% 100%, 100% 100%;background-repeat: no-repeat;background-position: 0px 0px, 160% 0px, 0px 0px;background-clip: text;color: transparent;-webkit-text-fill-color: transparent;animation-duration: 9s;animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);animation-iteration-count: infinite;animation-direction: normal;animation-fill-mode: none;animation-play-state: running;animation-name: optSheen;animation-timeline: auto;animation-range: normal;animation-delay: calc(2.2s + var(--i,0) * .22s)} .fn-is-hot .fn-opt-w{animation: auto ease 0s 1 normal none running none}}
@keyframes optSheen { 0%, 62% { background-position: 0px 0px, 160% 0px, 0px 0px; } 100% { background-position: 0px 0px, -60% 0px, 0px 0px; } }
.fn-opt-chip{position: absolute;left: 0px;top: 0px;z-index: 3;pointer-events: none;display: flex;align-items: center;gap: 10px;padding: 10px 16px 10px 10px;border-radius: 16px;background: color-mix(in srgb,var(--bg) 94%,transparent);border: 1px solid color-mix(in srgb,var(--ink) 8%,transparent);box-shadow: 0 22px 44px -22px color-mix(in srgb,var(--ink) 45%,transparent);opacity: 0;scale: 0.82;transform: translate(0px, 0px);transition: opacity 0.25s, scale 0.45s cubic-bezier(0.2, 1.4, 0.3, 1), transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1);white-space: nowrap;max-width: calc(-32px + 100vw);font-size: 15px;letter-spacing: -0.02em;line-height: 1.2}
.fn-opt-wrap.fn-has-tag .fn-opt-chip{opacity: 1;scale: 1}
.fn-opt-chip .fn-dot{width: 32px;height: 32px;border-radius: 999px;background: linear-gradient(135deg,var(--pink),var(--peach));display: flex;align-items: center;justify-content: center;flex: 0 0 auto}
.fn-opt-chip b{display: block;font-weight: 600;color: var(--ink)}
.fn-opt-chip i{display: block;font-style: normal;font-size: 12px;color: var(--mu);margin-top: 2px}
.fn-wk-grid{display: grid;grid-template-columns: minmax(0px, 1fr);gap: clamp(12px, 2vw, 24px)}
@media (min-width: 640px){.fn-wk-grid{grid-template-columns: repeat(2, minmax(0px, 1fr))}}
@media (min-width: 640px){.fn-wk-odd{grid-column: span 2}}
@media (min-width: 1000px){.fn-wk-grid{grid-template-columns: repeat(6, minmax(0px, 1fr))}}
@media (min-width: 1000px){.fn-wk-odd{grid-column: auto}}
@media (min-width: 1000px){.fn-wk-s2{grid-column: span 2}}
@media (min-width: 1000px){.fn-wk-s3{grid-column: span 3}}
@media (min-width: 1000px){.fn-wk-s6{grid-column: span 6}}
.fn-work{cursor: pointer;font: inherit;border: 0px;text-align: left;width: 100%;background: var(--card);border-radius: 20px;padding: 12px;display: flex;flex-direction: column;gap: 0px;transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s, background-color 0.3s}
.fn-work:hover{transform: translateY(-6px);box-shadow: 0 30px 60px -30px color-mix(in srgb,var(--ink) 35%,transparent);background: var(--card2)}
.fn-work:active{transform: translateY(-2px) scale(0.985)}
.fn-work:focus-visible{outline: 2px solid var(--ink);outline-offset: 3px}
.fn-work-media{display: block;width: 100%;aspect-ratio: 617 / 436;border-radius: 12px;overflow: hidden;background: var(--card2);position: relative;flex: 0 0 auto}
.fn-work-img{width: 100%;height: 100%;object-fit: cover;display: block;transition: transform 1s cubic-bezier(0.2, 0.8, 0.2, 1)}
.fn-work:hover .fn-work-img{transform: scale(1.05)}
.fn-work-pill{position: absolute;right: 14px;bottom: 14px;height: 36px;padding: 0px 14px;border-radius: 999px;background: color-mix(in srgb,var(--bg) 92%,transparent);color: var(--ink-d);font-size: 13px;font-weight: 600;display: flex;align-items: center;gap: 6px;opacity: 0;transform: translateY(8px) scale(0.9);transition: opacity 0.35s, transform 0.45s cubic-bezier(0.2, 1.3, 0.3, 1)}
.fn-work:hover .fn-work-pill, .fn-work:focus-visible .fn-work-pill{opacity: 1;transform: none}
@media (hover: none){.fn-work-pill{opacity: 1;transform: none}}
.fn-work-body{display: flex;flex-direction: column;gap: 10px;flex: 1 1 0%;padding: 16px 8px 8px;min-width: 0px}
.fn-work-top{display: flex;flex-direction: column;font-size: 20px;font-weight: 600;letter-spacing: -0.03em;line-height: 1.25}
.fn-work-name{color: var(--ink)}
.fn-work-tag{color: rgb(180, 180, 180)}
.fn-work-sum{font-size: 15px;line-height: 1.55;color: var(--tx);max-width: 46ch}
.fn-work-chips{display: flex;flex-wrap: wrap;gap: 6px;margin-top: auto;padding-top: 4px}
.fn-work-chips .fn-chip{--c: var(--ac-blue);--on: #fff;position: relative;overflow: hidden;isolation: isolate;background: color-mix(in srgb,var(--c) 15%,var(--surf));color: var(--ink);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--c) 28%,transparent);transition: color .4s ease var(--d,0s),transform .55s var(--spring) var(--d,0s)}
.fn-work-chips .fn-chip::before{content: "";position: absolute;inset: 0px;z-index: -1;border-radius: inherit;background: var(--c);transform: scaleX(0);transform-origin: 0px 50%;transition: transform .6s cubic-bezier(.2,.8,.2,1) var(--d,0s)}
.fn-work-chips .fn-chip:nth-child(4n+2){--c: var(--ac-gold);--on: #2A2B2D}
.fn-work-chips .fn-chip:nth-child(4n+3){--c: var(--ac-red)}
.fn-work-chips .fn-chip:nth-child(4n+4){--c: #C7B1B1;--on: #2A2B2D}
:root[data-theme="dark"] .fn-work-chips .fn-chip{--on: #101518}
.fn-work-chips .fn-chip:nth-child(2){--d: .05s}
.fn-work-chips .fn-chip:nth-child(3){--d: .1s}
.fn-work-chips .fn-chip:nth-child(4){--d: .15s}
.fn-work-chips .fn-chip:nth-child(5){--d: .2s}
.fn-work-chips .fn-chip:nth-child(6){--d: .25s}
@media (hover: hover){.fn-work:hover .fn-work-chips .fn-chip, .fn-work:focus-visible .fn-work-chips .fn-chip{color: var(--on);transform: translateY(-2px)}}
@media (hover: hover){.fn-work:hover .fn-work-chips .fn-chip::before, .fn-work:focus-visible .fn-work-chips .fn-chip::before{transform: none}}
@media (prefers-reduced-motion: reduce){.fn-work-chips .fn-chip, .fn-work-chips .fn-chip::before{transition: none}}
@media (prefers-reduced-motion: reduce){.fn-work:hover .fn-work-chips .fn-chip{transform: none}}
.fn-svc-grid{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));gap: clamp(10px, 1.6vw, 16px)}
.fn-svc-card{position: relative;overflow: hidden;isolation: isolate;display: flex;flex-direction: column;gap: 6px;width: 100%;min-height: 210px;padding: clamp(18px, 2vw, 24px);border-radius: 24px;background: var(--card);color: var(--ink);text-decoration: none;transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s, background-color 0.3s}
.fn-svc-card::before{content: "";position: absolute;inset: 0px;z-index: -1;background: linear-gradient(135deg,var(--pink),var(--peach));opacity: 0;transition: opacity 0.5s}
.fn-svc-card:hover{transform: translateY(-6px);box-shadow: rgba(199, 140, 140, 0.55) 0px 30px 60px -34px;color: var(--ink-d)}
.fn-svc-card:hover::before, .fn-svc-card.fn-hl::before{opacity: 1}
.fn-svc-card:active{transform: translateY(-2px) scale(0.985)}
.fn-svc-card:focus-visible{outline: 2px solid var(--ink);outline-offset: 3px}
.fn-svc-ic{position: relative;width: 48px;height: 48px;border-radius: 99px;background: var(--bg);display: flex;align-items: center;justify-content: center;transition: transform 0.55s cubic-bezier(0.2, 1.4, 0.3, 1)}
.fn-svc-card:hover .fn-svc-ic{transform: rotate(-8deg) scale(1.08)}
.fn-svc-n{align-self: flex-start;margin-top: 30px;font-size: clamp(21px, 2vw, 26px);font-weight: 600;letter-spacing: -0.04em;line-height: 1.2;color: var(--ink)}
.fn-svc-nm{padding: 0px 0.12em;margin-left: -0.12em;-webkit-box-decoration-break: clone;box-decoration-break: clone;background: linear-gradient(transparent 62%,color-mix(in srgb,var(--ac-gold) 48%,transparent) 62% 90%,transparent 90%) no-repeat 0 0/100% 100%;transition: background-color 0.4s}
@keyframes svcMark { 0% { background-size: 0% 100%; } 100% { background-size: 100% 100%; } }
@supports (animation-timeline:view()){.fn-svc-nm{animation-duration: auto;animation-timing-function: linear;animation-delay: 0s;animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: both;animation-play-state: running;animation-name: svcMark;animation-timeline: view();animation-range: entry 30%}}
@media (hover: hover){.fn-svc-card:hover .fn-svc-nm{background-image: linear-gradient(transparent 62%,color-mix(in srgb,var(--ac-red) 36%,transparent) 62% 90%,transparent 90%)}}
.fn-svc-l{font-size: 14px;line-height: 1.5;color: var(--mu);max-width: 30ch}
.fn-svc-go{position: absolute;right: clamp(18px, 2vw, 24px);top: clamp(18px, 2vw, 24px);width: 36px;height: 36px;border-radius: 99px;background: var(--brand);color: rgb(255, 255, 255);display: flex;align-items: center;justify-content: center;transition: transform 0.45s cubic-bezier(0.2, 1.4, 0.3, 1)}
.fn-svc-card:hover .fn-svc-go{transform: translateX(4px)}
.fn-svc-l{transition: color 0.3s}
.fn-svc-card:hover .fn-svc-l, .fn-svc-card.fn-hl .fn-svc-l{color: var(--ink)}
.fn-hero{position: relative;isolation: isolate;overflow: clip visible;display: flex;align-items: center;min-height: clamp(620px,calc(100svh - var(--hh)),880px);margin-bottom: clamp(8px, 3vw, 40px);color: var(--ink)}
@supports not (height:1svh){.fn-hero{min-height: clamp(620px,calc(100vh - var(--hh)),880px)}}
.fn-hero-topo{display: none;position: absolute;left: 0px;right: 0px;top: 0px;width: 100%;height: calc(100% + 190px);z-index: -1;pointer-events: none;mask-image: linear-gradient(transparent 0px, rgb(0, 0, 0) 60px, rgb(0, 0, 0) calc(100% - 260px), transparent 100%)}
.fn-hero-topo[data-ok]{display: block}
.fn-hero-fb{display: block;position: absolute;z-index: -1;width: min(70vw, 620px);left: 50%;top: 56%;transform: translate(-50%, -50%);color: var(--ink);pointer-events: none}
.fn-hero-topo[data-ok] ~ .fn-hero-fb{display: none}
.fn-hero-in-w{width: 100%;padding-block: clamp(40px, 7vw, 96px) clamp(64px, 8vw, 110px)}
.fn-hero-in{max-width: 1120px;margin-inline: auto;display: flex;flex-direction: column;align-items: center;text-align: center;gap: clamp(22px, 2.6vw, 34px)}
.fn-hero-h1{font-size: clamp(42px, 7.3vw, 112px);line-height: 0.96;letter-spacing: -0.05em;text-align: center;text-wrap: balance}
.fn-hero-ln{display: block}
.fn-hero-kick{display: block;margin: 0px 0px clamp(14px, 2vw, 24px);font-size: clamp(17px, 1.7vw, 22px);font-weight: 600;letter-spacing: -0.02em;line-height: 1;color: var(--mu)}
.fn-hero-sub{margin: 0px;font-size: clamp(17px, 1.6vw, 21px);line-height: 1.5;color: var(--tx);max-width: 38ch;text-wrap: balance}
.fn-hero-cta{display: flex;flex-wrap: wrap;justify-content: center;gap: 10px}
@media (max-width: 819px){.fn-hero{align-items: flex-start;min-height: clamp(660px,calc(100svh - var(--hh)),860px)}}
@media (max-width: 819px){.fn-hero-in-w{padding-top: clamp(28px, 7vw, 48px)}}
@media (max-width: 819px){.fn-hero-sub{max-width: 30ch}}
.fn-svc-card > .fn-svc-gl{position: absolute;inset: 0px;width: 100%;height: 100%;z-index: 0;pointer-events: none;opacity: 0;transition: opacity 0.45s;border-radius: inherit}
.fn-svc-card > .fn-svc-gl.fn-on{opacity: 1}
.fn-svc-ic, .fn-svc-n, .fn-svc-l{position: relative;z-index: 1}
.fn-svc-go{z-index: 1}
.fn-svc-card .fn-svc-ic svg{transform-origin: 50% 50%}
.fn-svc-ic::after{content: "";position: absolute;inset: 0px;border-radius: inherit;box-shadow: 0 0 0 0 color-mix(in srgb,var(--ac-blue) 38%,transparent);animation-duration: 4.4s;animation-timing-function: ease-out;animation-iteration-count: infinite;animation-direction: normal;animation-fill-mode: none;animation-play-state: running;animation-name: icRing;animation-timeline: auto;animation-range: normal;animation-delay: calc(var(--ki,0) * .55s)}
@keyframes icRing { 0% { box-shadow: 0 0 0 0 color-mix(in srgb,var(--ac-blue) 38%,transparent); } 55%, 100% { box-shadow: 0 0 0 14px color-mix(in srgb,var(--ac-blue) 0%,transparent); } }
@keyframes iiAi { 0%, 100% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(24deg) scale(1.14); } }
@keyframes iiBrand { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(7deg); } }
@keyframes iiMail { 0%, 60%, 100% { transform: translateY(0px); } 72% { transform: translateY(-3px); } 84% { transform: translateY(0px); } 92% { transform: translateY(-1.5px); } }
@keyframes iiAds { 0%, 70%, 100% { transform: rotate(0deg); } 78% { transform: rotate(-9deg) scale(1.08); } 88% { transform: rotate(6deg); } }
@keyframes iiPrint { 0%, 100% { transform: translateY(1px); } 50% { transform: translateY(-2px); } }
@keyframes iiSocial { 0%, 100% { transform: scale(1); } 14% { transform: scale(1.16); } 28% { transform: scale(1); } 42% { transform: scale(1.1); } 56% { transform: scale(1); } }
@keyframes iiWeb { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.07, 0.95); } }
@keyframes iiPack { 0%, 100% { transform: rotate(-4deg) scale(1); } 50% { transform: rotate(4deg) scale(1.08); } }
@media (prefers-reduced-motion: no-preference){.fn-svc-card[data-k="0"] .fn-svc-ic svg{animation: 3.6s ease-in-out 0s infinite normal none running iiAi}}
@media (prefers-reduced-motion: no-preference){.fn-svc-card[data-k="1"] .fn-svc-ic svg{animation: 4.2s ease-in-out 0s infinite normal none running iiBrand}}
@media (prefers-reduced-motion: no-preference){.fn-svc-card[data-k="2"] .fn-svc-ic svg{animation: 4s ease-in-out 0s infinite normal none running iiMail}}
@media (prefers-reduced-motion: no-preference){.fn-svc-card[data-k="3"] .fn-svc-ic svg{animation: 4.6s ease-in-out 0s infinite normal none running iiAds}}
@media (prefers-reduced-motion: no-preference){.fn-svc-card[data-k="4"] .fn-svc-ic svg{animation: 3.4s ease-in-out 0s infinite normal none running iiPrint}}
@media (prefers-reduced-motion: no-preference){.fn-svc-card[data-k="5"] .fn-svc-ic svg{animation: 3.8s ease-in-out 0s infinite normal none running iiSocial}}
@media (prefers-reduced-motion: no-preference){.fn-svc-card[data-k="6"] .fn-svc-ic svg{animation: 3.2s ease-in-out 0s infinite normal none running iiWeb}}
@media (prefers-reduced-motion: no-preference){.fn-svc-card[data-k="7"] .fn-svc-ic svg{animation: 4.4s ease-in-out 0s infinite normal none running iiPack}}
.fn-svc-card[data-k="1"]{--ki: 1}
.fn-svc-card[data-k="2"]{--ki: 2}
.fn-svc-card[data-k="3"]{--ki: 3}
.fn-svc-card[data-k="4"]{--ki: 4}
.fn-svc-card[data-k="5"]{--ki: 5}
.fn-svc-card[data-k="6"]{--ki: 6}
.fn-svc-card[data-k="7"]{--ki: 7}
@keyframes icAi { 0% { transform: rotate(0deg) scale(1); } 40% { transform: rotate(90deg) scale(1.25); } 100% { transform: rotate(180deg) scale(1); } }
@keyframes icBrand { 0%, 100% { transform: rotate(0deg); } 25% { transform: rotate(-16deg) scale(1.1); } 60% { transform: rotate(12deg) scale(1.1); } }
@keyframes icMail { 0% { transform: translate(0px, 0px); } 40% { transform: translate(6px, -6px) scale(1.1); } 41% { transform: translate(-6px, 6px); opacity: 0; } 100% { transform: translate(0px, 0px); opacity: 1; } }
@keyframes icAds { 0%, 100% { transform: rotate(0deg); } 15% { transform: rotate(-14deg) scale(1.15); } 35% { transform: rotate(10deg) scale(1.15); } 55% { transform: rotate(-6deg); } }
@keyframes icPrint { 0% { transform: translateY(0px); } 35% { transform: translateY(-4px); } 70% { transform: translateY(3px); } 100% { transform: translateY(0px); } }
@keyframes icSocial { 0%, 100% { transform: scale(1); } 20% { transform: scale(1.32); } 40% { transform: scale(1.05); } 60% { transform: scale(1.26); } }
@keyframes icWeb { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.18, 0.9); } 70% { transform: scale(0.92, 1.12); } }
@keyframes icPack { 0% { transform: rotateY(0deg) scale(1); } 50% { transform: rotateY(180deg) scale(1.2); } 100% { transform: rotateY(360deg) scale(1); } }
@media (hover: hover){.fn-svc-card[data-k="0"]:hover .fn-svc-ic svg{animation: 0.9s cubic-bezier(0.3, 1.3, 0.4, 1) 0s 1 normal none running icAi}}
@media (hover: hover){.fn-svc-card[data-k="1"]:hover .fn-svc-ic svg{animation: 0.9s ease-in-out 0s 1 normal none running icBrand}}
@media (hover: hover){.fn-svc-card[data-k="2"]:hover .fn-svc-ic svg{animation: 0.8s ease-in-out 0s 1 normal none running icMail}}
@media (hover: hover){.fn-svc-card[data-k="3"]:hover .fn-svc-ic svg{animation: 0.8s ease-in-out 0s 1 normal none running icAds}}
@media (hover: hover){.fn-svc-card[data-k="4"]:hover .fn-svc-ic svg{animation: 0.8s ease-in-out 0s 1 normal none running icPrint}}
@media (hover: hover){.fn-svc-card[data-k="5"]:hover .fn-svc-ic svg{animation: 0.9s ease-in-out 0s 1 normal none running icSocial}}
@media (hover: hover){.fn-svc-card[data-k="6"]:hover .fn-svc-ic svg{animation: 0.8s ease-in-out 0s 1 normal none running icWeb}}
@media (hover: hover){.fn-svc-card[data-k="7"]:hover .fn-svc-ic svg{animation: 0.9s ease-in-out 0s 1 normal none running icPack}}
@media (prefers-reduced-motion: reduce){.fn-svc-card .fn-svc-ic svg, .fn-svc-ic::after{animation: auto ease 0s 1 normal none running none !important}}
.fn-ab{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));gap: 24px clamp(32px, 5vw, 72px)}
.fn-ab-t{display: flex;flex-direction: column;gap: 16px;max-width: 62ch}
.fn-ab-lead{margin: 0px;font-size: clamp(22px, 2.5vw, 32px);font-weight: 600;line-height: 1.22;letter-spacing: -0.035em;color: var(--ink)}
.fn-ab-p{margin: 0px;font-size: clamp(16px, 1.4vw, 18px);line-height: 1.6;color: var(--tx)}
.fn-meet{display: flex;align-items: center;flex-wrap: wrap;gap: 6px 18px;margin-top: 10px}
.fn-faces{display: flex;align-items: center;padding-left: 14px}
.fn-face{position: relative;display: flex;align-items: center;justify-content: center;width: 56px;height: 56px;margin-left: -14px;border-radius: 50%;background: linear-gradient(135deg,var(--pink),var(--peach));color: var(--ink-d);font-size: 15px;font-weight: 600;letter-spacing: -0.02em;box-shadow: 0 0 0 3px var(--bg),0 10px 20px -10px rgba(40,51,56,.5);transition: transform .55s var(--spring)}
.fn-face.fn-f2{background: linear-gradient(135deg,var(--card2),var(--card))}
.fn-face .fn-ph{position: absolute;inset: 0px;border-radius: 50%;background-size: cover;background-position: 48% 38%;background-repeat: no-repeat}
.fn-face i{position: absolute;left: 50%;bottom: calc(100% + 8px);translate: -50% 6px;padding: 4px 10px;border-radius: 99px;background: var(--brand);color: rgb(255, 255, 255);font-style: normal;font-size: 12px;font-weight: 600;white-space: nowrap;opacity: 0;pointer-events: none;transition: opacity .3s,translate .5s var(--spring)}
@keyframes facePop { 0% { opacity: 0; transform: scale(0.2) rotate(-26deg) translateY(10px); } 70% { transform: scale(1.12) rotate(5deg); } 100% { opacity: 1; transform: none; } }
@supports (animation-timeline:view()){.fn-face.fn-f1{animation-duration: auto;animation-timing-function: linear;animation-delay: 0s;animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: both;animation-play-state: running;animation-name: facePop;animation-timeline: view();animation-range: entry 30% entry 90%} .fn-face.fn-f2{animation-duration: auto;animation-timing-function: linear;animation-delay: 0s;animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: both;animation-play-state: running;animation-name: facePop;animation-timeline: view();animation-range: entry 50% entry 110%}}
@media (hover: hover){.fn-meet:hover .fn-face i, .fn-meet:focus-within .fn-face i{opacity: 1;translate: -50%}}
@media (hover: hover){.fn-meet:hover .fn-face.fn-f1{transform: translateY(-6px) rotate(-6deg)}}
@media (hover: hover){.fn-meet:hover .fn-face.fn-f2{transform: translateY(-6px) rotate(6deg);transition-delay: 0.05s}}
@media (prefers-reduced-motion: reduce){.fn-face.fn-f1, .fn-face.fn-f2{animation: auto ease 0s 1 normal none running none}}
.fn-seg{position: relative;display: grid;grid-template-columns: repeat(var(--n,3),minmax(0,1fr));padding: 4px;border-radius: 999px;background: var(--card2);width: min(100%,var(--w,520px))}
.fn-seg-th{position: absolute;top: 4px;bottom: 4px;left: 4px;width: calc((100% - 8px) / var(--n,3));border-radius: 999px;background: var(--bg);box-shadow: 0 6px 16px -8px color-mix(in srgb,var(--ink) 40%,transparent);transform: translateX(calc(var(--k,0) * 100%));transition: transform 0.55s cubic-bezier(0.3, 1.35, 0.4, 1)}
.fn-seg-b{position: relative;z-index: 1;min-height: 48px;padding: 0px 8px;border-radius: 999px;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: inherit;font-family: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;font-language-override: inherit;font-size: 15px;font-weight: 600;letter-spacing: -0.02em;color: var(--mu);background: transparent;border: 0px;cursor: pointer;transition: color 0.3s, transform 0.2s}
.fn-seg-b.fn-on, .fn-seg-b:hover{color: var(--ink)}
@media (max-width: 420px){.fn-seg-b{font-size: 14px;padding: 0px 4px}}
.fn-price{display: flex;align-items: flex-end;flex-wrap: wrap;gap: 4px 10px}
.fn-odo{display: inline-flex;align-items: flex-start;font-size: var(--fs,clamp(52px,7vw,92px));font-weight: 600;letter-spacing: -0.05em;line-height: 1.05em;height: 1.05em;color: var(--ink);font-variant-numeric: tabular-nums}
.fn-odo .fn-cur{display: block;height: 1.05em;line-height: 1.05em}
.fn-dg{display: block;height: 1.05em;overflow: hidden;width: 0.6em;transition: width 0.6s cubic-bezier(0.3, 1.2, 0.4, 1), opacity 0.4s}
.fn-cm{display: block;height: 1.05em;line-height: 1.05em;overflow: hidden;width: 0.3em;text-align: center;transition: width 0.6s cubic-bezier(0.3, 1.2, 0.4, 1), opacity 0.4s}
.fn-dg.fn-hide, .fn-cm.fn-hide{width: 0px;opacity: 0}
.fn-st{display: flex;flex-direction: column;transform: translateY(calc(var(--d) * -1.05em));transition: transform 0.9s cubic-bezier(0.2, 0.95, 0.25, 1.08)}
.fn-st span{display: block;height: 1.05em;line-height: 1.05em;text-align: center}
.fn-per{padding-bottom: 0.55em;font-size: 16px;font-weight: 500;color: var(--mu)}
@keyframes ia { 0% { opacity: 0; transform: translateY(14px); filter: blur(8px); } 100% { opacity: 1; transform: none; filter: blur(0px); } }
@keyframes ib { 0% { opacity: 0; transform: translateY(14px); filter: blur(8px); } 100% { opacity: 1; transform: none; filter: blur(0px); } }
@keyframes ca { 0% { transform: scale(0) rotate(-40deg); } 60% { transform: scale(1.2) rotate(6deg); } 100% { transform: none; } }
@keyframes cb { 0% { transform: scale(0) rotate(-40deg); } 60% { transform: scale(1.2) rotate(6deg); } 100% { transform: none; } }
.fn-p0 .fn-rp, .fn-p1 .fn-rp{animation-duration: 0.7s;animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);animation-fill-mode: backwards;animation-delay: calc(var(--i,0) * 70ms)}
.fn-p0 .fn-rp{animation-name: ia}
.fn-p1 .fn-rp{animation-name: ib}
.fn-p0 .fn-ck, .fn-p1 .fn-ck{animation-duration: 0.6s;animation-timing-function: cubic-bezier(0.2, 1, 0.3, 1);animation-fill-mode: backwards;animation-delay: calc(var(--i,0) * 70ms + 160ms)}
.fn-p0 .fn-ck{animation-name: ca}
.fn-p1 .fn-ck{animation-name: cb}
.fn-inc{display: flex;gap: 14px;align-items: flex-start;padding: 15px 0px;border-bottom: 1px solid color-mix(in srgb,var(--ink) 8%,transparent);font-size: 15px;line-height: 1.5;color: var(--tx)}
.fn-inc:last-of-type{border-bottom: 0px}
.fn-inc b{display: block;margin-bottom: 2px;font-size: 16px;font-weight: 600;letter-spacing: -0.02em;color: var(--ink)}
.fn-ck{flex: 0 0 auto;width: 26px;height: 26px;margin-top: 1px;border-radius: 99px;background: var(--bg);color: var(--ink);display: flex;align-items: center;justify-content: center}
.fn-tier{display: grid;grid-template-columns: minmax(0px, 5fr) minmax(0px, 6fr);gap: 12px;margin-top: 16px}
@media (max-width: 900px){.fn-tier{grid-template-columns: minmax(0px, 1fr)}}
@media (min-width: 901px){.fn-t-card{position: sticky;top: 132px;align-self: start}}
.fn-t-card{border-radius: 28px;background: linear-gradient(135deg,var(--pink),var(--peach));padding: clamp(24px, 4vw, 44px);display: flex;flex-direction: column;align-items: flex-start;gap: clamp(14px, 2vw, 20px);min-width: 0px}
.fn-t-inc{border-radius: 28px;background: var(--card);padding: clamp(20px, 3.4vw, 40px);display: flex;flex-direction: column;min-width: 0px}
.fn-t-name{margin: 0px;font-size: clamp(26px, 3vw, 34px);font-weight: 600;letter-spacing: -0.04em;color: var(--ink);line-height: 1.1}
.fn-t-tag{margin: 6px 0px 0px;font-size: 17px;line-height: 1.45;color: var(--tx)}
.fn-t-lead{margin: 0px;font-size: clamp(17px, 1.7vw, 20px);line-height: 1.5;font-weight: 500;letter-spacing: -0.015em;color: var(--ink)}
.fn-t-body{margin: 0px;font-size: 16px;line-height: 1.65;color: var(--tx)}
.fn-t-close{margin: 14px 0px 0px;font-size: 15px;line-height: 1.55;font-weight: 500;color: var(--ink)}
.fn-t-cta{margin-top: 6px}
.fn-ao-grid{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));gap: 10px}
.fn-ao{cursor: pointer;font: inherit;text-align: left;border: 0px;border-radius: 18px;background: var(--bg);padding: 16px;display: flex;gap: 14px;align-items: flex-start;box-shadow: transparent 0px 0px 0px 1.5px inset;transition: transform 0.45s cubic-bezier(0.2, 1.3, 0.3, 1), box-shadow 0.35s, background-color 0.3s}
.fn-ao:hover{transform: translateY(-3px)}
.fn-ao:active{transform: scale(0.97)}
.fn-ao.fn-on{background: linear-gradient(135deg,var(--pink),var(--peach));box-shadow: rgb(199, 177, 177) 0px 0px 0px 1.5px inset}
.fn-ao-t{display: flex;flex-direction: column;gap: 3px;font-size: 14px;line-height: 1.45;color: var(--mu);min-width: 0px}
.fn-ao-t b{font-size: 16px;font-weight: 600;letter-spacing: -0.02em;color: var(--ink)}
.fn-pl{position: relative;flex: 0 0 auto;width: 28px;height: 28px;border-radius: 99px;background: var(--card2);color: var(--ink);transition: background-color 0.3s, color 0.3s, transform 0.5s cubic-bezier(0.2, 1.4, 0.3, 1)}
.fn-pl svg{position: absolute;inset: 0px;margin: auto;transition: opacity 0.25s, transform 0.45s cubic-bezier(0.2, 1.4, 0.3, 1)}
.fn-pl .fn-c{opacity: 0;transform: scale(0.3) rotate(-30deg)}
.fn-ao.fn-on .fn-pl{background: var(--brand);color: rgb(255, 255, 255)}
.fn-ao.fn-on .fn-pl .fn-p{opacity: 0;transform: scale(0.3) rotate(90deg)}
.fn-ao.fn-on .fn-pl .fn-c{opacity: 1;transform: none}
.fn-plan{display: flex;flex-direction: column;align-items: flex-start;gap: 16px;border-radius: 20px;background: linear-gradient(135deg,var(--pink),var(--peach));padding: clamp(18px, 2.6vw, 28px)}
.fn-plan-row{display: flex;flex-wrap: wrap;gap: 8px}
.fn-chip-b, .fn-chip-a{display: inline-flex;align-items: center;min-height: 36px;padding: 6px 14px;border-radius: 999px;font-size: 14px;font-weight: 600;line-height: 1.25}
.fn-chip-b{background: var(--brand);color: rgb(255, 255, 255)}
.fn-chip-a{background: var(--bg);color: var(--ink);animation: 0.5s cubic-bezier(0.2, 1.5, 0.3, 1) 0s 1 normal backwards running pop}
@keyframes pop { 0% { opacity: 0; transform: scale(0.6); } 100% { opacity: 1; transform: none; } }
.fn-plan-ct{margin: 0px;font-size: 15px;line-height: 1.5;color: var(--tx)}
.fn-plan-act{display: flex;flex-wrap: wrap;gap: 10px;align-items: center}
.fn-pbl{list-style: none;margin: 0px;padding: 0px;display: flex;flex-direction: column}
.fn-pbl li{position: relative;display: flex;gap: 16px;align-items: flex-start;padding: 20px 0px;border-bottom: 1px solid var(--line);font-size: clamp(17px, 1.8vw, 20px);line-height: 1.45;letter-spacing: -0.01em;color: var(--ink)}
.fn-pbl .fn-x{flex: 0 0 auto;width: 32px;height: 32px;margin-top: -3px;border-radius: 99px;background: var(--card);display: flex;align-items: center;justify-content: center;color: rgb(199, 177, 177);font-size: 14px;font-weight: 600;font-variant-numeric: tabular-nums}
.fn-pbl li::after{content: "";position: absolute;left: 0px;bottom: -1px;height: 1px;width: 100%;background: rgb(199, 177, 177);transform-origin: left center}
@supports (animation-timeline: view()){.fn-pbl li::after{transform: scaleX(0);animation-duration: auto;animation-timing-function: linear;animation-delay: 0s;animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: both;animation-play-state: running;animation-name: sweep;animation-timeline: view();animation-range: entry 20%}}
@keyframes sweep { 100% { transform: scaleX(1); } }
.fn-prob{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));gap: 24px clamp(32px, 6vw, 96px)}
.fn-rail{position: relative;height: 4px;margin-bottom: 16px;border-radius: 4px;background: var(--card2);overflow: hidden}
.fn-rail::after{content: "";position: absolute;inset: 0px;border-radius: 4px;background: linear-gradient(90deg,#C7B1B1,var(--brand))}
@supports (animation-timeline: view()){.fn-rail::after{transform-origin: left center;transform: scaleX(0);animation-duration: auto;animation-timing-function: linear;animation-delay: 0s;animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: both;animation-play-state: running;animation-name: railfill;animation-timeline: view();animation-range: entry 30% cover 55%}}
@keyframes railfill { 100% { transform: scaleX(1); } }
.fn-ap{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));gap: 12px}
.fn-ap-c{display: flex;flex-direction: column;gap: 12px;min-height: 200px;padding: clamp(20px, 2.4vw, 28px);border-radius: 24px;background: var(--card);transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s, background-color 0.3s}
.fn-ap-c:hover{transform: translateY(-5px);box-shadow: rgba(199, 140, 140, 0.55) 0px 30px 60px -34px;background: var(--card2)}
.fn-ap-n{width: 44px;height: 44px;margin-bottom: auto;border-radius: 99px;background: var(--bg);color: var(--ink);font-weight: 600;display: flex;align-items: center;justify-content: center;font-variant-numeric: tabular-nums}
.fn-ap-h{margin: 0px;font-size: clamp(20px, 2vw, 24px);font-weight: 600;letter-spacing: -0.035em;line-height: 1.25;color: var(--ink)}
.fn-ap-p{margin: 0px;font-size: 15px;line-height: 1.6;color: var(--tx)}
.fn-spin{animation: 9s linear 0s infinite normal none running spin}
@keyframes spin { 100% { transform: rotate(360deg); } }
.fn-svc-hero{display: flex;flex-direction: column;gap: clamp(22px, 3.2vw, 44px);padding-top: clamp(32px, 5vw, 72px);padding-bottom: clamp(40px, 6vw, 80px)}
.fn-svc-hero-b{display: grid;grid-template-columns: minmax(0px, 1.25fr) minmax(0px, 1fr);gap: clamp(32px, 5vw, 72px);align-items: start}
@media (max-width: 900px){.fn-svc-hero-b{grid-template-columns: minmax(0px, 1fr)}}
.fn-svc-hero-t{display: flex;flex-direction: column;align-items: flex-start;gap: clamp(16px, 2vw, 24px);min-width: 0px}
.fn-svc-name{margin: 0px;font-size: clamp(36px, 10vw, 128px);font-weight: 600;line-height: 0.94;letter-spacing: -0.055em;color: var(--ink);text-wrap: balance;overflow-wrap: anywhere}
.fn-svc-tag{margin: 0px;font-size: clamp(22px, 2.8vw, 38px);font-weight: 600;line-height: 1.14;letter-spacing: -0.035em;color: var(--ink);text-wrap: balance;max-width: 22ch}
.fn-svc-tag em{font-style: normal;color: rgb(199, 177, 177)}
.fn-svc-lede{display: flex;flex-direction: column;gap: 14px}
.fn-svc-lede p{margin: 0px;font-size: clamp(16px, 1.5vw, 19px);line-height: 1.6;color: var(--tx);max-width: 58ch}
.fn-svc-cta{display: flex;flex-wrap: wrap;gap: 12px;margin-top: 6px}
.fn-svc-cta .fn-ghost{background: var(--card)}
.fn-svc-cta .fn-ghost:hover{background: var(--card2)}
.fn-spec{border-radius: 28px;background: linear-gradient(135deg,var(--pink),var(--peach));padding: clamp(14px, 2vw, 20px);display: flex;flex-direction: column;gap: 10px;min-width: 0px}
.fn-spec .fn-tile{background: color-mix(in srgb,var(--bg) 78%,transparent);flex-flow: wrap;align-items: baseline;gap: 6px 14px;padding: 18px 20px;animation-duration: 0.9s;animation-timing-function: cubic-bezier(0.2, 0.9, 0.3, 1);animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: backwards;animation-play-state: running;animation-name: rise2;animation-timeline: auto;animation-range: normal;animation-delay: calc(.35s + var(--i,0) * 120ms)}
.fn-spec .fn-tile-n{font-size: clamp(30px, 4.4vw, 52px);cursor: default}
.fn-spec .fn-tile-c{font-size: 14px;max-width: 24ch;flex: 1 1 120px}
@keyframes rise2 { 0% { opacity: 0; transform: translateY(24px) scale(0.97); filter: blur(8px); } 100% { opacity: 1; transform: none; filter: blur(0px); } }
.fn-prob2{display: grid;grid-template-columns: minmax(0px, 5fr) minmax(0px, 6fr);gap: 24px clamp(32px, 6vw, 96px)}
@media (max-width: 900px){.fn-prob2{grid-template-columns: minmax(0px, 1fr)}}
.fn-prob-t{display: flex;flex-direction: column;gap: 16px;align-self: start}
@media (min-width: 901px){.fn-prob-t{position: sticky;top: 140px}}
.fn-prob-lead{margin: 0px;font-size: clamp(24px, 3vw, 38px);font-weight: 600;line-height: 1.15;letter-spacing: -0.04em;color: var(--ink);max-width: 20ch}
.fn-prob-hint{margin: 0px;display: inline-flex;align-items: center;gap: 8px;font-size: 14px;color: var(--mu)}
.fn-pb-b{display: flex;align-items: flex-start;gap: 16px;width: 100%;padding: 20px 0px;text-align: left;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;font-family: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;font-language-override: inherit;font-size: clamp(17px, 1.8vw, 20px);line-height: 1.45;letter-spacing: -0.01em;color: var(--ink);background: transparent;border: 0px;cursor: pointer;border-radius: 12px;transition: color 0.35s}
.fn-pb-b:focus-visible{outline: 2px solid var(--ink);outline-offset: 2px}
.fn-pbl .fn-pb-li{padding: 0px}
.fn-pb-x{position: relative;flex: 0 0 auto;width: 32px;height: 32px;margin-top: -3px;border-radius: 99px;background: var(--card);color: rgb(199, 177, 177);display: flex;align-items: center;justify-content: center;font-size: 14px;font-weight: 600;font-variant-numeric: tabular-nums;transition: background-color 0.4s, color 0.4s, transform 0.5s cubic-bezier(0.2, 1.5, 0.3, 1)}
.fn-pb-x svg{position: absolute;inset: 0px;margin: auto;opacity: 0;transform: scale(0.3) rotate(-40deg);transition: opacity 0.25s, transform 0.5s cubic-bezier(0.2, 1.5, 0.3, 1)}
.fn-pb-x span{transition: opacity 0.25s}
.fn-pb-b:hover .fn-pb-x{transform: scale(1.1)}
.fn-pb-b.fn-on{color: var(--mu)}
.fn-pb-b.fn-on .fn-pb-x{background: var(--brand);color: rgb(255, 255, 255)}
.fn-pb-b.fn-on .fn-pb-x svg{opacity: 1;transform: none}
.fn-pb-b.fn-on .fn-pb-x span{opacity: 0}
.fn-prob-close{margin-top: 28px;padding: clamp(18px, 2.4vw, 26px);border-radius: 20px;background: var(--card);display: flex;flex-direction: column;gap: 12px;transition: background 0.6s}
.fn-prob-close p{margin: 0px;font-size: clamp(17px, 1.8vw, 21px);line-height: 1.5;font-weight: 600;letter-spacing: -0.025em;color: var(--mu);transition: color 0.6s}
.fn-prob-close.fn-on{background: linear-gradient(135deg,var(--pink),var(--peach))}
.fn-prob-close.fn-on p{color: var(--ink)}
.fn-stp{display: grid;grid-template-columns: minmax(0px, 5fr) minmax(0px, 7fr);gap: 12px;margin-top: 20px}
@media (max-width: 900px){.fn-stp{grid-template-columns: minmax(0px, 1fr)}}
.fn-stp-list{display: flex;flex-direction: column;gap: 6px;padding: clamp(10px, 1.4vw, 16px);border-radius: 28px;background: var(--card);align-self: start}
@media (min-width: 901px){.fn-stp-list{position: sticky;top: 140px}}
.fn-stp-b{position: relative;display: flex;align-items: flex-start;gap: 14px;min-height: 60px;padding: 12px 14px 12px 8px;border: 0px;border-radius: 20px;background: transparent;font: inherit;text-align: left;color: var(--mu);cursor: pointer;transition: background-color 0.35s, color 0.3s, transform 0.3s cubic-bezier(0.2, 1.2, 0.3, 1)}
.fn-stp-b::before, .fn-stp-b::after{content: "";position: absolute;left: 28px;top: 46px;bottom: -18px;width: 2px;border-radius: 2px;background: var(--line);pointer-events: none}
.fn-stp-b::after{background: linear-gradient(var(--brand),var(--brand));transform: scaleY(0);transform-origin: center top;transition: transform 0.6s cubic-bezier(0.3, 1.1, 0.4, 1)}
.fn-stp-b.fn-dn::after{transform: scaleY(1)}
.fn-stp-b:last-child::before, .fn-stp-b:last-child::after{display: none}
.fn-stp-b:hover{color: var(--ink);transform: translateX(3px)}
.fn-stp-b:active{transform: scale(0.98)}
.fn-stp-b:focus-visible{outline: 2px solid var(--ink);outline-offset: 2px}
.fn-stp-b.fn-on{background: var(--bg);color: var(--ink);box-shadow: 0 14px 28px -20px color-mix(in srgb,var(--ink) 50%,transparent)}
.fn-stp-n{position: relative;z-index: 1;flex: 0 0 auto;width: 34px;height: 34px;margin-left: 4px;border-radius: 99px;background: var(--bg);color: var(--mu);display: flex;align-items: center;justify-content: center;font-weight: 600;font-size: 14px;font-variant-numeric: tabular-nums;box-shadow: inset 0 0 0 1.5px var(--line);transition: background-color 0.35s, color 0.35s, box-shadow 0.35s, transform 0.5s cubic-bezier(0.2, 1.5, 0.3, 1)}
.fn-stp-b.fn-on .fn-stp-n, .fn-stp-b.fn-dn .fn-stp-n{background: var(--brand);color: rgb(255, 255, 255);box-shadow: none}
.fn-stp-b.fn-on .fn-stp-n{transform: scale(1.12)}
.fn-stp-t{display: flex;flex-direction: column;gap: 1px;min-width: 0px;padding-top: 2px}
.fn-stp-t b{font-size: 16px;font-weight: 600;letter-spacing: -0.02em;line-height: 1.3}
.fn-stp-t i{font-style: normal;font-size: 13px;color: var(--mu)}
.fn-stp-panel{min-height: clamp(300px, 26vw, 340px);border-radius: 28px;background: linear-gradient(135deg,var(--pink),var(--peach));padding: clamp(22px, 3.6vw, 44px);display: flex;flex-direction: column;align-items: flex-start;gap: clamp(12px, 1.6vw, 18px);min-width: 0px;position: relative;overflow: hidden}
.fn-stp-big{position: absolute;right: clamp(14px, 3vw, 36px);top: 0px;font-size: clamp(84px, 11vw, 150px);font-weight: 600;letter-spacing: -0.06em;line-height: 1.22;color: rgba(255, 255, 255, 0.7);pointer-events: none;user-select: none}
.fn-stp-h{position: relative;margin: 0px;font-size: clamp(24px, 3vw, 36px);font-weight: 600;letter-spacing: -0.04em;line-height: 1.12;color: var(--ink);max-width: 20ch}
.fn-stp-p{position: relative;margin: 0px;font-size: clamp(16px, 1.5vw, 18px);line-height: 1.65;color: var(--tx);max-width: 52ch}
.fn-stp-nav{position: relative;display: flex;gap: 8px;margin-top: auto;padding-top: 6px}
.fn-stp-ar{width: 48px;height: 48px;border-radius: 99px;border: 0px;background: color-mix(in srgb,var(--bg) 85%,transparent);color: var(--ink);display: flex;align-items: center;justify-content: center;cursor: pointer;transition: transform 0.3s cubic-bezier(0.2, 1.3, 0.3, 1), background-color 0.25s, opacity 0.25s}
.fn-stp-ar:hover{background: var(--bg);transform: translateY(-2px)}
.fn-stp-ar:active{transform: scale(0.92)}
.fn-stp-ar.fn-off{opacity: 0.4;cursor: default;transform: none}
.fn-stp-ar:focus-visible{outline: 2px solid var(--ink);outline-offset: 3px}
.fn-plans{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));gap: 12px;margin-top: 16px}
.fn-pcard{display: flex;flex-direction: column;gap: clamp(12px, 1.6vw, 18px);border-radius: 28px;background: var(--card);padding: clamp(20px, 3vw, 36px);min-width: 0px}
.fn-pcard.fn-hl{background: linear-gradient(135deg,var(--pink),var(--peach))}
.fn-pc-n{margin: 0px;font-size: clamp(22px, 2.4vw, 28px);font-weight: 600;letter-spacing: -0.04em;line-height: 1.15;color: var(--ink)}
.fn-pc-d{margin: 0px;font-size: 15px;line-height: 1.5;color: var(--tx)}
.fn-pc-p{display: flex;flex-wrap: wrap;align-items: baseline;gap: 4px 10px;color: var(--ink)}
.fn-pc-p b{font-size: clamp(34px, 4.4vw, 52px);font-weight: 600;letter-spacing: -0.05em;line-height: 1.05;font-variant-numeric: tabular-nums}
.fn-pc-p > span{font-size: 15px;color: var(--mu)}
.fn-pc-r{display: flex;flex-wrap: wrap;gap: 6px 24px}
.fn-pc-r div{display: flex;flex-direction: column;gap: 2px}
.fn-pc-r b{font-size: clamp(22px, 2.4vw, 28px);font-weight: 600;letter-spacing: -0.04em;color: var(--ink);font-variant-numeric: tabular-nums}
.fn-pc-r span{font-size: 13px;color: var(--mu)}
.fn-pcard .fn-inc{padding: 12px 0px}
.fn-note{margin: 0px;padding: clamp(16px, 2vw, 22px);border-radius: 20px;background: var(--card);font-size: 15px;line-height: 1.6;color: var(--tx)}
.fn-note b{color: var(--ink);font-weight: 600}
.fn-note.fn-gr{background: linear-gradient(135deg,var(--pink),var(--peach))}
.fn-terms{border-radius: 24px;background: var(--card);overflow: hidden}
.fn-terms-b{display: flex;align-items: center;justify-content: space-between;gap: 16px;width: 100%;padding: clamp(18px, 2.4vw, 26px) clamp(18px, 2.6vw, 32px);font: inherit;text-align: left;color: var(--ink);background: transparent;border: 0px;cursor: pointer}
.fn-terms-b span:first-child{display: flex;flex-direction: column;gap: 2px;min-width: 0px}
.fn-terms-b b{font-size: clamp(17px, 1.8vw, 20px);font-weight: 600;letter-spacing: -0.03em}
.fn-terms-b i{font-style: normal;font-size: 14px;color: var(--mu)}
.fn-terms-b:focus-visible{outline: 2px solid var(--ink);outline-offset: -4px;border-radius: 24px}
.fn-terms-l{list-style: none;margin: 0px;padding: 0px clamp(18px, 2.6vw, 32px) clamp(18px, 2.6vw, 28px);display: flex;flex-direction: column;counter-reset: t 0}
.fn-terms-l li{counter-increment: t 1;display: flex;gap: 14px;padding: 12px 0px;border-top: 1px solid color-mix(in srgb,var(--ink) 8%,transparent);font-size: 15px;line-height: 1.6;color: var(--tx)}
.fn-terms-l li::before{content: counter(t);flex: 0 0 auto;width: 24px;height: 24px;margin-top: 1px;border-radius: 99px;background: var(--bg);color: var(--mu);font-size: 12px;font-weight: 600;display: flex;align-items: center;justify-content: center;font-variant-numeric: tabular-nums}
.fn-chips-row{display: flex;flex-wrap: wrap;gap: 8px}
.fn-chips-row .fn-chip{background: var(--card);min-height: 36px;font-size: 14px;animation-duration: 0.5s;animation-timing-function: cubic-bezier(0.2, 1.5, 0.3, 1);animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: backwards;animation-play-state: running;animation-name: pop;animation-timeline: auto;animation-range: normal;animation-delay: calc(var(--i,0) * 60ms)}
.fn-sig{padding: clamp(18px, 3vw, 36px);border-radius: 28px;background: var(--card);display: flex;flex-direction: column;gap: clamp(16px, 2.4vw, 28px);min-width: 0px}
.fn-sig-h{margin: 0px;font-size: clamp(22px, 2.6vw, 32px);font-weight: 600;letter-spacing: -0.04em;line-height: 1.15;color: var(--ink);max-width: 24ch}
.fn-sig-p{margin: 0px;font-size: clamp(15px, 1.4vw, 17px);line-height: 1.6;color: var(--tx);max-width: 56ch}
@media (prefers-reduced-motion: reduce){.fn-spec .fn-tile{animation: auto ease 0s 1 normal none running none}}
.fn-prob-lab{font-size: 12px;font-weight: 600;letter-spacing: 0.04em;text-transform: uppercase;color: var(--mu)}
.fn-prob-lab:empty{display: none}
.fn-svc-viz{position: relative;aspect-ratio: 1.14 / 1;width: 100%;max-width: min(520px, 100%);justify-self: end;border-radius: clamp(22px, 3vw, 34px);overflow: hidden;container-type: inline-size;color: var(--ink);background: var(--card);font-size: 14px;box-shadow: 0 0 0 1px var(--line),0 40px 80px -56px rgba(40,51,56,.35)}
@media (max-width: 900px){.fn-svc-viz{justify-self: center;max-width: min(440px, 100%)}}
.fn-svc-viz{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 6.8%;padding: 5%}
.fn-vz-disc{position: relative;flex: 0 0 auto;width: 28cqw;height: 28cqw;display: flex;align-items: center;justify-content: center;border-radius: 50%;color: var(--acc);background: var(--surf);box-shadow: 0 0 0 1.6cqw color-mix(in srgb,var(--acc) 11%,transparent),0 0 0 3.6cqw color-mix(in srgb,var(--acc) 5%,transparent),0 24px 40px -22px rgba(40,51,56,.4);animation: 5s ease-in-out 0s infinite normal none running vzBreath}
.fn-vz-list{display: flex;flex-direction: column;gap: 2.4cqw;width: min(100%, 78cqw)}
.fn-svc-viz .fn-vz-chip{position: relative;left: auto;top: auto;width: 100%;justify-content: flex-start;gap: 3cqw;padding: 1.6cqw 4.4cqw;height: auto;min-height: 11cqw;font-size: max(12px, 3.7cqw);line-height: 1.25;white-space: normal;text-align: left}
.fn-svc-viz .fn-vz-chip::before{content: "";flex: 0 0 auto;width: 2.4cqw;height: 2.4cqw;border-radius: 50%;background: var(--acc)}
.fn-vz-disc svg{width: 46%;height: 46%}
@keyframes vzPop { 0% { scale: 0.4; opacity: 0; rotate: -20deg; } }
@keyframes vzBreath { 0%, 100% { scale: 1; } 50% { scale: 1.045; } }
@keyframes vzIn { 0% { opacity: 0; translate: 0px 5cqw; scale: 0.7; filter: blur(5px); } }
.fn-spec.fn-row{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));gap: 10px}
.fn-spec.fn-row .fn-tile{flex-flow: column;align-items: flex-start;gap: 6px;animation: auto ease 0s 1 normal none running none}
.fn-spec.fn-row .fn-tile-c{max-width: none;flex: 0 0 auto}
.fn-spec.fn-row .fn-tile-n{font-size: clamp(26px, 2.9vw, 40px);overflow-wrap: anywhere}
@media (prefers-reduced-motion: reduce){.fn-vz-disc, .fn-vz-chip{animation: auto ease 0s 1 normal none running none !important}}
.fn-sc{position: relative;--p: 0;--rng: min(58svh,520px);height: calc(var(--rng) * 4 + min(100svh - var(--hh), 820px));margin-bottom: clamp(40px, 7vw, 96px)}
@supports not (height:1svh){.fn-sc{--rng: min(58vh,520px);height: calc(var(--rng) * 4 + min(100vh - var(--hh), 820px))}}
.fn-sc-st{position: sticky;top: var(--hh);height: min(calc(100svh - var(--hh)),820px);min-height: min(520px,calc(100svh - var(--hh)));display: flex;align-items: center}
@supports not (height:1svh){.fn-sc-st{height: min(calc(100vh - var(--hh)),820px);min-height: min(520px,calc(100vh - var(--hh)))}}
.fn-sc[data-mode="auto"], .fn-sc[data-mode="static"]{height: auto}
.fn-sc[data-mode="auto"] .fn-sc-st, .fn-sc[data-mode="static"] .fn-sc-st{position: static;height: auto;min-height: 0px;padding-block: clamp(24px, 4vw, 56px)}
.fn-sc-in{width: 100%;display: grid;grid-template: "head stage" "caps stage" "bars stage" / minmax(0px, 5fr) minmax(0px, 6fr);align-content: center;gap: clamp(14px, 2vw, 22px) clamp(24px, 5vw, 80px)}
@media (max-width: 820px){.fn-sc-in{grid-template-columns: minmax(0px, 1fr);grid-template-areas: "head" "stage" "caps" "bars";row-gap: 14px}}
.fn-sc-copy{display: contents}
.fn-sc-head{grid-area: head;align-self: end}
.fn-sc-kick{display: flex;align-items: center;gap: 10px;margin: 0px 0px 12px;font-size: 13px;font-weight: 600;letter-spacing: 0.02em;text-transform: uppercase;color: var(--mu)}
.fn-sc-ring{flex: 0 0 auto;width: 30px;height: 30px;display: inline-flex;align-items: center;justify-content: center;border-radius: 50%;background: color-mix(in srgb,var(--acc) 14%,transparent);color: var(--acc);font-style: normal}
.fn-sc-ring svg{width: 14px;height: 14px}
.fn-sc-h{margin: 0px;font-size: clamp(26px, 3.6vw, 50px);font-weight: 600;line-height: 1.06;letter-spacing: -0.042em;color: var(--ink);text-wrap: balance}
.fn-sc-h em{font-style: normal;color: rgb(199, 177, 177)}
@media (max-width: 820px){.fn-sc-h{font-size: clamp(22px, 6.2vw, 30px)}}
@media (max-width: 820px){.fn-sc-kick{margin-bottom: 8px}}
.fn-sc-caps{grid-area: caps;display: grid;align-self: start}
.fn-sc-cap{grid-area: 1 / 1;display: flex;flex-direction: column;gap: 6px;align-self: start;pointer-events: none;--a: calc(var(--k) / 4);--in: clamp(0,calc((var(--p) - var(--a) + .045) / .045),1);--out: max(clamp(0,calc((var(--a) + .25 - var(--p)) / .045),1),var(--last,0));--v: min(var(--in),var(--out));opacity: var(--v);transform: translateY(calc((1 - var(--v)) * 14px));filter: blur(calc((1 - var(--v)) * 6px))}
.fn-sc-n{font-size: 13px;font-weight: 600;color: var(--acc);font-variant-numeric: tabular-nums;letter-spacing: 0.02em}
.fn-sc-cap b{font-size: clamp(19px, 2.1vw, 26px);font-weight: 600;letter-spacing: -0.034em;line-height: 1.2;color: var(--ink)}
.fn-sc-cap .fn-sc-dd{font-size: clamp(15px, 1.4vw, 17px);line-height: 1.5;color: var(--tx);max-width: 38ch}
.fn-sc-bars{grid-area: bars;display: flex;gap: 6px;align-self: start;max-width: 420px}
.fn-sc-bars i{flex: 1 1 0%;height: 4px;border-radius: 99px;background: color-mix(in srgb,var(--ink) 14%,transparent);overflow: hidden;--f: clamp(0,calc(var(--p) * 4 - var(--k)),1)}
.fn-sc-bars b{display: block;height: 100%;border-radius: inherit;background: var(--acc);transform-origin: left center;transform: scaleX(var(--f))}
.fn-sc[data-mode="static"] .fn-sc-caps{display: flex;flex-direction: column;gap: 18px}
.fn-sc[data-mode="static"] .fn-sc-cap{opacity: 1;transform: none;filter: none}
.fn-sc[data-mode="static"] .fn-sc-bars{display: none}
@media (prefers-reduced-motion: reduce){.fn-sc{height: auto;--p: 1}}
@media (prefers-reduced-motion: reduce){.fn-sc-st{position: static;height: auto;min-height: 0px;padding-block: clamp(24px, 4vw, 56px)}}
@media (prefers-reduced-motion: reduce){.fn-sc-caps{display: flex;flex-direction: column;gap: 18px}}
@media (prefers-reduced-motion: reduce){.fn-sc-cap{opacity: 1;transform: none;filter: none}}
@media (prefers-reduced-motion: reduce){.fn-sc-bars{display: none}}
.fn-sc-stage{--t1: clamp(0,calc(var(--p) * 4),1);--t2: clamp(0,calc(var(--p) * 4 - 1),1);--t3: clamp(0,calc(var(--p) * 4 - 2),1);--t4: clamp(0,calc(var(--p) * 4 - 3),1);--e1: calc(var(--t1) * (2 - var(--t1)));--e2: calc(var(--t2) * (2 - var(--t2)));--e3: calc(var(--t3) * (2 - var(--t3)));--e4: calc(var(--t4) * (2 - var(--t4)));grid-area: stage;position: relative;justify-self: center;width: min(100%,calc(100svh - var(--hh) - 230px));min-width: 248px;aspect-ratio: 1 / 1;border-radius: clamp(22px, 3vw, 34px);overflow: hidden;container-type: inline-size;color: var(--ink);background: var(--card);font-size: max(11px, 3.1cqw);box-shadow: 0 0 0 1px var(--line),0 40px 80px -56px rgba(40,51,56,.35)}
@media (min-width: 821px){.fn-sc-stage{width: min(100%,calc(100svh - var(--hh) - 64px))}}
@supports not (height:1svh){.fn-sc-stage{width: min(100%,calc(100vh - var(--hh) - 230px))} @media (min-width: 821px){.fn-sc-stage{width: min(100%,calc(100vh - var(--hh) - 64px))}}}
.fn-sc[data-mode="auto"] .fn-sc-stage, .fn-sc[data-mode="static"] .fn-sc-stage{width: min(100%, 560px)}
.fn-sx{position: absolute;inset: 0px}
.fn-sx *{box-sizing: border-box}
.fn-sx svg{display: block}
.fn-sx-chip{position: absolute;display: flex;align-items: center;gap: 1.4cqw;padding: 0px 2.4cqw;height: 9cqw;border-radius: 99px;background: var(--surf);box-shadow: 0 0 0 1px var(--line),0 8px 16px -10px rgba(40,51,56,.25);white-space: nowrap;font-weight: 500;font-size: max(11px, 3cqw);letter-spacing: -0.01em}
.fn-sx-pink{background: var(--pink);color: var(--ink-d);box-shadow: 0 0 0 1px color-mix(in srgb,var(--ink) 6%,transparent)}
.fn-sx-ic{flex: 0 0 auto;width: 4.2cqw;height: 4.2cqw;fill: none;stroke: currentcolor;stroke-width: 1.9;stroke-linecap: round;stroke-linejoin: round}
.fn-sx-chip{left: calc(var(--x,0) * 1cqw);top: calc(var(--y,0) * 1cqw)}
.fn-sxq{--b: calc(1 + 2.70158 * (var(--q) - 1) * (var(--q) - 1) * (var(--q) - 1) + 1.70158 * (var(--q) - 1) * (var(--q) - 1));--e: calc(var(--q) * (2 - var(--q)))}
@keyframes sxFloat { 0%, 100% { translate: 0px; rotate: 0deg; } 50% { translate: 0.3cqw -0.7cqw; rotate: 0.6deg; } }
@keyframes sxPulse { 0% { transform: scale(0.9); opacity: 0.55; } 100% { transform: scale(1.7); opacity: 0; } }
@keyframes sxSpin { 100% { transform: rotate(360deg); } }
.fn-sp{position: absolute;left: calc(var(--x,0) * 1cqw);top: calc(var(--y,0) * 1cqw)}
.fn-sp[style*="--w"]{width: calc(var(--w) * 1cqw)}
.fn-sp[style*="--h"]{height: calc(var(--h) * 1cqw)}
.fn-i1{--q: clamp(0,calc(var(--t1) * 1.7 - var(--s,0)),1)}
.fn-i2{--q: clamp(0,calc(var(--t2) * 1.7 - var(--s,0)),1)}
.fn-i3{--q: clamp(0,calc(var(--t3) * 1.7 - var(--s,0)),1)}
.fn-i4{--q: clamp(0,calc(var(--t4) * 1.7 - var(--s,0)),1)}
.fn-o1{--o: clamp(0,calc(var(--t1) * 1.7 - var(--s,0)),1)}
.fn-o2{--o: clamp(0,calc(var(--t2) * 1.7 - var(--s,0)),1)}
.fn-o3{--o: clamp(0,calc(var(--t3) * 1.7 - var(--s,0)),1)}
.fn-o4{--o: clamp(0,calc(var(--t4) * 1.7 - var(--s,0)),1)}
.fn-sx-a{--b: calc(1 + 2.70158 * (var(--q,1) - 1) * (var(--q,1) - 1) * (var(--q,1) - 1) + 1.70158 * (var(--q,1) - 1) * (var(--q,1) - 1));opacity: calc(clamp(0,calc(var(--q,1) * 4),1) * (1 - var(--o,0)));translate: calc((var(--dx,0) * (1 - var(--b)) + var(--ox,0) * var(--o)) * 1cqw) calc((var(--dy,-7) * (1 - var(--b)) + var(--oy,0) * var(--o)) * 1cqw);scale: calc(1 - var(--ds,.16) * (1 - var(--b)) - var(--os,0) * var(--o));filter: blur(calc(((1 - var(--q,1)) + var(--o,0)) * 4px))}
.fn-sx-a.fn-nb{filter: none}
.fn-sx-card{border-radius: 2.6cqw;background: var(--surf);box-shadow: 0 0 0 1px var(--line),0 8px 16px -10px rgba(40,51,56,.22)}
.fn-sx-solid{background: var(--pink);color: var(--ink-d);box-shadow: none}
.fn-sx-t{font-size: max(11.5px, 3.1cqw);font-weight: 500;letter-spacing: -0.01em;white-space: nowrap}
.fn-sx-row{display: flex;align-items: center;gap: 2.4cqw;padding: 0px 3.2cqw;height: 9cqw;border-radius: 99px;background: var(--surf);box-shadow: 0 0 0 1px var(--line),0 8px 16px -10px rgba(40,51,56,.22);font-size: max(11.5px, 3.3cqw);font-weight: 500;white-space: nowrap;letter-spacing: -0.01em}
.fn-sx-row .fn-sx-ic{width: 5cqw;height: 5cqw;color: var(--acc)}
.fn-sp.fn-r{left: auto;right: calc(var(--x,0) * 1cqw)}
.fn-sx-bub{padding: 2.2cqw 3.4cqw;border-radius: 4cqw 4cqw 4cqw 1cqw;background: var(--surf);font-size: max(11.5px, 3.1cqw);font-weight: 500;white-space: nowrap;letter-spacing: -0.01em;box-shadow: 0 0 0 1px var(--line),0 6px 12px -8px rgba(40,51,56,.2)}
.fn-sx-bub.fn-me{border-radius: 4cqw 4cqw 1cqw;background: var(--pink);color: var(--ink-d);box-shadow: none}
.fn-lm{display: block;width: 100%;height: 100%;border-radius: 34%;background: var(--acc);position: relative}
.fn-lm::after{content: "";position: absolute;left: 31%;top: 31%;width: 38%;height: 38%;border-radius: 50%;background: var(--surf)}
.fn-ax{display: grid;grid-template-columns: minmax(0px, 4fr) minmax(0px, 8fr);gap: 12px}
@media (max-width: 900px){.fn-ax{grid-template-columns: minmax(0px, 1fr)}}
.fn-ax-list{display: flex;flex-direction: column;gap: 6px;padding: clamp(10px, 1.4vw, 16px);border-radius: 28px;background: var(--card);align-self: start}
@media (max-width: 900px){.fn-ax-list{flex-flow: wrap;border-radius: 24px}}
.fn-ax-b{display: flex;align-items: center;gap: 12px;min-height: 52px;padding: 8px 14px 8px 8px;border: 0px;border-radius: 18px;background: transparent;font: inherit;text-align: left;color: var(--mu);cursor: pointer;transition: background-color 0.3s, color 0.3s, transform 0.3s cubic-bezier(0.2, 1.2, 0.3, 1), box-shadow 0.3s}
@media (max-width: 900px){.fn-ax-b{width: auto;min-height: 44px;border-radius: 999px;padding: 6px 14px 6px 6px;background: var(--bg)}}
.fn-ax-b:hover{color: var(--ink);transform: translateX(3px)}
@media (max-width: 900px){.fn-ax-b:hover{transform: translateY(-2px)}}
.fn-ax-b:active{transform: scale(0.97)}
.fn-ax-b:focus-visible{outline: 2px solid var(--ink);outline-offset: 2px}
.fn-ax-b.fn-on{background: var(--bg);color: var(--ink);box-shadow: 0 14px 28px -20px color-mix(in srgb,var(--ink) 50%,transparent)}
@media (max-width: 900px){.fn-ax-b.fn-on{background: var(--brand);color: rgb(255, 255, 255);box-shadow: none}}
.fn-ax-ic{flex: 0 0 auto;width: 36px;height: 36px;border-radius: 99px;background: var(--bg);color: var(--mu);display: flex;align-items: center;justify-content: center;box-shadow: inset 0 0 0 1.5px var(--line);transition: background-color 0.3s, color 0.3s, box-shadow 0.3s, transform 0.5s cubic-bezier(0.2, 1.5, 0.3, 1)}
@media (max-width: 900px){.fn-ax-ic{width: 32px;height: 32px}}
.fn-ax-b.fn-on .fn-ax-ic{background: var(--brand);color: rgb(255, 255, 255);box-shadow: none;transform: scale(1.08)}
@media (max-width: 900px){.fn-ax-b.fn-on .fn-ax-ic{background: color-mix(in srgb,var(--bg) 18%,transparent)}}
.fn-ax-nm{font-size: 15px;font-weight: 600;letter-spacing: -0.02em;line-height: 1.3}
.fn-ax-stage{display: flex;flex-direction: column;gap: clamp(18px, 2.4vw, 28px);border-radius: 28px;background: linear-gradient(135deg,var(--pink),var(--peach));padding: clamp(18px, 3.4vw, 40px);min-width: 0px}
.fn-ax-desc{margin: 0px;font-size: clamp(17px, 1.8vw, 21px);line-height: 1.5;font-weight: 500;letter-spacing: -0.015em;color: var(--ink);max-width: 44ch}
.fn-ax-flow{margin-block: auto;display: grid;grid-template-columns: minmax(0px, 1fr) 44px minmax(0px, 1fr) 44px minmax(0px, 1fr);align-items: stretch}
@media (max-width: 760px){.fn-ax-flow{grid-template-columns: minmax(0px, 1fr);grid-template-rows: auto 36px auto 36px auto}}
.fn-ax-node{position: relative;display: flex;flex-direction: column;align-items: flex-start;gap: 10px;padding: clamp(14px, 1.8vw, 20px);border-radius: 20px;background: color-mix(in srgb,var(--bg) 88%,transparent);min-width: 0px}
.fn-ax-node.fn-res{background: var(--brand);color: rgb(255, 255, 255)}
.fn-ax-lab{font-size: 12px;font-weight: 600;letter-spacing: 0.04em;text-transform: uppercase;color: var(--mu)}
.fn-ax-node.fn-res .fn-ax-lab{color: rgba(255, 255, 255, 0.65)}
.fn-ax-dot{position: relative;width: 38px;height: 38px;border-radius: 99px;background: var(--card);color: var(--ink);display: flex;align-items: center;justify-content: center}
.fn-ax-node.fn-ai .fn-ax-dot{background: var(--brand);color: rgb(255, 255, 255)}
.fn-ax-node.fn-ai .fn-ax-dot::after{content: "";position: absolute;inset: -5px;border-radius: 99px;border: 1.5px solid rgb(199, 177, 177);animation: 2.4s ease-out 0s infinite normal none running axring}
@keyframes axring { 0% { opacity: 0.9; transform: scale(0.85); } 100% { opacity: 0; transform: scale(1.5); } }
.fn-ax-node.fn-res .fn-ax-dot{background: color-mix(in srgb,var(--bg) 16%,transparent);color: rgb(255, 255, 255)}
.fn-ax-tx{font-size: 15px;font-weight: 600;letter-spacing: -0.02em;line-height: 1.4}
.fn-ax-link{position: relative;align-self: center;height: 2px;margin: 0px 2px;border-radius: 2px;background: color-mix(in srgb,var(--ink) 18%,transparent);overflow: visible}
@media (max-width: 760px){.fn-ax-link{width: 2px;height: 100%;justify-self: center;margin: 0px}}
.fn-ax-link::after{content: "";position: absolute;left: 0px;top: 50%;width: 10px;height: 10px;margin: -5px 0px 0px -5px;border-radius: 99px;background: var(--brand);box-shadow: rgba(199, 177, 177, 0.5) 0px 0px 0px 4px;opacity: 0;animation-duration: 2.4s;animation-timing-function: ease-in-out;animation-iteration-count: infinite;animation-direction: normal;animation-fill-mode: none;animation-play-state: running;animation-name: axdot;animation-timeline: auto;animation-range: normal;animation-delay: calc(var(--k) * .8s + .6s)}
@media (max-width: 760px){.fn-ax-link::after{left: 50%;top: 0px;margin: -5px 0px 0px -5px;animation-name: axdotv}}
@keyframes axdot { 0% { opacity: 0; left: 0px; } 6% { opacity: 1; } 30% { opacity: 1; left: 100%; } 36%, 100% { opacity: 0; left: 100%; } }
@keyframes axdotv { 0% { opacity: 0; top: 0px; } 6% { opacity: 1; } 30% { opacity: 1; top: 100%; } 36%, 100% { opacity: 0; top: 100%; } }
.fn-ax-foot{display: flex;align-items: center;gap: 10px;margin: 0px;font-size: 14px;line-height: 1.5;color: var(--mu)}
.fn-ax-pulse{flex: 0 0 auto;width: 8px;height: 8px;border-radius: 99px;background: var(--brand);animation: 1.8s ease-in-out 0s infinite normal none running pulse}
@keyframes pulse { 50% { transform: scale(0.55); opacity: 0.4; } }
@media (prefers-reduced-motion: reduce){.fn-ax-link::after, .fn-ax-node.fn-ai .fn-ax-dot::after, .fn-ax-pulse{animation: auto ease 0s 1 normal none running none}}
.fn-ai-in{--q: clamp(0,calc(var(--t1) * 1.7 - var(--s,0)),1);--q2: clamp(0,calc(var(--t2) * 1.6 - var(--s,0) * .7),1);opacity: calc(clamp(0,calc(var(--q) * 4),1) * (1 - clamp(0,calc((var(--q2) - .6) * 2.5),1)));translate: calc((50 - var(--x) - var(--hw,15)) * var(--q2) * 1cqw) calc((38 - var(--y) - 4.5) * var(--q2) * 1cqw + (1 - var(--b)) * -9cqw);scale: calc((.78 + .22 * var(--b)) * (1 - .55 * var(--q2)));rotate: calc(var(--r) * 1deg * (1 - var(--q2)));filter: blur(calc((1 - var(--q)) * 5px))}
.fn-ai-core{position: absolute;left: 50cqw;top: 38cqw;width: 20cqw;height: 20cqw;translate: -50% -50%;--bump: calc(var(--t2) * (1 - var(--t2)) * 4);scale: calc(.9 + .1 * var(--e1) + .18 * var(--bump))}
.fn-ai-core .fn-c{position: absolute;inset: 0px;border-radius: 50%;background: var(--acc);color: rgb(255, 255, 255);display: flex;align-items: center;justify-content: center;box-shadow: 0 0 0 calc(1.2cqw + 2.4cqw * var(--bump)) color-mix(in srgb,var(--acc) calc((.12 + .22 * var(--bump)) * 100%),transparent)}
.fn-ai-core .fn-c svg{width: 46%;height: 46%}
.fn-ai-core i{position: absolute;inset: 0px;border-radius: 50%;border: 1.5px solid color-mix(in srgb,var(--acc) 57.8%,transparent);animation: 2.6s ease-out 0s infinite normal none running sxPulse}
.fn-ai-core i + i{animation-delay: 1.3s}
.fn-ai-row{position: absolute;left: 6cqw;width: 88cqw;top: calc(var(--y) * 1cqw);height: 9cqw;display: flex;align-items: center;gap: 2.4cqw;padding: 0px 3.2cqw;border-radius: 99px;background: color-mix(in srgb,var(--ink) 6.2%,transparent);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--ink) 13.6%,transparent);font-weight: 500;font-size: max(11.5px, 3.3cqw);letter-spacing: -0.01em;white-space: nowrap;--q: clamp(0,calc(var(--t3) * 1.9 - var(--s)),1);--o: clamp(0,calc(var(--t4) * 1.9 - var(--s) * .6),1);opacity: calc(clamp(0,calc(var(--q) * 4),1) * (1 - var(--o)));translate: calc((1 - var(--b)) * -12cqw) calc(var(--o) * 5cqw);scale: calc(.92 + .08 * var(--b));filter: blur(calc((1 - var(--q)) * 4px))}
.fn-ai-row .fn-sx-ic{width: 5cqw;height: 5cqw;color: var(--acc)}
.fn-ai-lg{position: absolute;left: 0px;right: 0px;top: 55cqw;display: flex;justify-content: center;gap: 5cqw;font-size: max(11.5px, 3cqw);font-weight: 500;opacity: clamp(0,calc(var(--t4) * 4),1)}
.fn-ai-lg span{display: inline-flex;align-items: center;gap: 1.4cqw}
.fn-ai-lg i{width: 2.6cqw;height: 2.6cqw;border-radius: 50%;background: color-mix(in srgb,var(--ink) 18.6%,transparent)}
.fn-ai-lg i.fn-f{background: var(--acc)}
.fn-ai-wk{position: absolute;left: 12cqw;right: 12cqw;top: 63cqw;height: 24cqw;display: flex;align-items: flex-end;justify-content: space-between}
.fn-ai-wk i{position: relative;width: 11.5%;height: 24cqw;display: flex;flex-direction: column;justify-content: flex-end;gap: 0.8cqw;font-style: normal;--q: clamp(0,calc(var(--t4) * 1.7 - var(--s)),1);opacity: clamp(0,calc(var(--t4) * 6),1)}
.fn-ai-wk i::after{content: attr(data-d);position: absolute;left: 50%;top: calc(100% + 1.4cqw);translate: -50%;font-size: max(11.5px, 3cqw);color: color-mix(in srgb,var(--ink) 43.4%,transparent);font-weight: 500}
.fn-ai-wk b{display: block;border-radius: 1.4cqw}
.fn-ai-wk .fn-adm{height: calc((17 - 13.6 * var(--b)) * 1cqw);background: color-mix(in srgb,var(--ink) 17.4%,transparent)}
.fn-ai-wk .fn-foc{height: calc((4.5 + 14 * var(--b)) * 1cqw);background: color-mix(in srgb,var(--acc) 70%,var(--surf))}
.fn-ab-faces{position: relative;container-type: inline-size;aspect-ratio: 1.1 / 1;width: 100%;max-width: min(560px, 100%);justify-self: end;border-radius: clamp(22px, 3vw, 34px);overflow: hidden;background: var(--card);box-shadow: 0 0 0 1px var(--line),0 40px 80px -56px rgba(40,51,56,.35)}
@media (max-width: 900px){.fn-ab-faces{justify-self: center}}
.fn-ab-rings{position: absolute;left: 50%;top: 56%;width: 190%;aspect-ratio: 1.5 / 1;translate: -50% -50%;background: repeating-radial-gradient(ellipse at 50% 50%,transparent 0 3.6cqw,color-mix(in srgb,var(--ink) 9%,transparent) 3.6cqw 3.9cqw);mask-image: radial-gradient(rgb(0, 0, 0) 0px, transparent 52%);animation: 9s ease-in-out 0s infinite normal none running abBreath}
@keyframes abBreath { 0%, 100% { scale: 1; } 50% { scale: 1.06; } }
.fn-dp{display: block;border-radius: 50% 0px 50% 50%;background: linear-gradient(135deg,var(--pink),var(--peach));box-shadow: 0 0 0 .9cqw var(--surf),0 0 0 1.5cqw color-mix(in srgb,var(--ac-gold) 65%,transparent),0 3cqw 5cqw -2cqw rgba(40,51,56,.5)}
.fn-dp-in{position: relative;display: flex;align-items: center;justify-content: center;width: 100%;height: 100%;border-radius: inherit;overflow: hidden;font-size: 6cqw;font-weight: 600;letter-spacing: -0.03em;color: var(--ink-d)}
.fn-dp-in .fn-ph{position: absolute;inset: 0px;background-size: cover;background-position: 50% 36%;background-repeat: no-repeat;transition: transform .9s var(--spring)}
.fn-ab-faces .fn-dp{position: absolute;width: 41cqw;aspect-ratio: 1 / 1;animation: 7s ease-in-out 0s infinite normal none running dpFloat}
.fn-ab-faces .fn-dp-a{left: 9cqw;top: 10cqw;rotate: -5deg}
.fn-ab-faces .fn-dp-b{right: 9cqw;bottom: 15cqw;rotate: 4deg;animation-delay: -3.2s}
@keyframes dpFloat { 0%, 100% { translate: 0px; } 50% { translate: 0px -1.6cqw; } }
.fn-ab-faces .fn-dp:hover .fn-dp-in .fn-ph{transform: scale(1.08)}
.fn-ab-drop{position: absolute;left: 50%;top: 56%;width: 2.2cqw;height: 2.2cqw;margin: -1.1cqw;border-radius: 50%;background: var(--ac-gold);box-shadow: 0 0 0 1.6cqw color-mix(in srgb,var(--ac-gold) 22%,transparent)}
.fn-ab-cap{position: absolute;left: 50%;bottom: 4.5cqw;translate: -50%;padding: 1.2cqw 3cqw;border-radius: 99px;background: var(--surf);box-shadow: 0 0 0 1px var(--line);font-size: max(11px, 2.8cqw);font-weight: 600;color: var(--ink);white-space: nowrap}
@media (prefers-reduced-motion: reduce){.fn-ab-rings, .fn-ab-faces .fn-dp{animation: auto ease 0s 1 normal none running none}}
.fn-team{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));gap: 12px}
.fn-tm{display: flex;flex-direction: column;gap: 18px;padding: clamp(18px, 2.4vw, 28px);border-radius: 28px;background: var(--card);min-width: 0px;transition: transform 0.5s cubic-bezier(0.2, 1.2, 0.3, 1), box-shadow 0.5s, background-color 0.5s}
.fn-tm:hover{transform: translateY(-6px);background: linear-gradient(135deg,var(--pink),var(--peach));box-shadow: 0 30px 50px -34px color-mix(in srgb,var(--ink) 55%,transparent)}
.fn-tm-h{display: flex;align-items: center;gap: clamp(14px, 2vw, 20px);min-width: 0px}
.fn-dp.fn-dp-s{flex: 0 0 auto;width: clamp(72px, 8vw, 92px);aspect-ratio: 1 / 1;font-size: clamp(16px, 2vw, 22px);box-shadow: 0 0 0 3px var(--surf),0 0 0 5px color-mix(in srgb,var(--ac-gold) 65%,transparent);transition: rotate .6s var(--spring)}
.fn-dp-s .fn-dp-in{font-size: clamp(18px, 2vw, 24px)}
.fn-tm:hover .fn-dp-s{rotate: -6deg}
.fn-tm:hover .fn-dp-s .fn-dp-in .fn-ph{transform: scale(1.1)}
.fn-tm-t{min-width: 0px}
.fn-tm-t h3{margin: 0px;font-size: clamp(22px, 2.2vw, 28px);font-weight: 600;letter-spacing: -0.04em;line-height: 1.15;color: var(--ink)}
.fn-tm-t p{margin: 4px 0px 0px;font-size: 16px;line-height: 1.5;color: var(--mu)}
.fn-tm-sg{position: relative;height: clamp(92px, 11vw, 128px);display: flex;align-items: flex-end;padding-left: 22px;border-bottom: 1.5px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.fn-tm-sg .fn-sg{width: auto;height: 100%;max-width: 100%;padding-bottom: 6px}
.fn-tm-x{position: absolute;left: 0px;bottom: 8px;font-size: 15px;font-weight: 500;line-height: 1;color: var(--mu);transition: transform .5s var(--spring,cubic-bezier(.34,1.56,.64,1)),color .3s}
.fn-tm.fn-is-sign .fn-tm-x{transform: translateY(3px);color: var(--ink)}
.fn-tm-l{display: flex;flex-wrap: wrap;gap: 8px;margin-top: auto}
.fn-tm-l .fn-chipb{background: var(--bg)}
.fn-tm-l .fn-chipb:hover{background: var(--bg);box-shadow: rgb(199, 177, 177) 0px 0px 0px 1.5px inset}
.fn-wh{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));gap: 12px}
.fn-wh-c{display: flex;flex-direction: column;gap: 10px;padding: clamp(20px, 2.6vw, 32px);border-radius: 28px;background: var(--card)}
.fn-wh-n{font-size: 13px;font-weight: 600;font-variant-numeric: tabular-nums;color: rgb(199, 177, 177)}
.fn-wh-h{margin: 0px;font-size: clamp(20px, 2vw, 26px);font-weight: 600;letter-spacing: -0.035em;line-height: 1.2;color: var(--ink)}
.fn-wh-p{margin: 0px;font-size: 16px;line-height: 1.6;color: var(--tx);max-width: 34ch}
.fn-bl-big{margin: 0px 0px clamp(12px, 2vw, 20px);max-width: 22ch;font-size: clamp(30px, 5vw, 64px);font-weight: 600;line-height: 1.08;letter-spacing: -0.045em;color: var(--ink);text-wrap: balance}
.fn-bl-sub{margin: 0px;max-width: 42ch;font-size: clamp(17px, 1.8vw, 22px);line-height: 1.5;color: var(--tx)}
.fn-pg-hero{display: flex;flex-direction: column;align-items: flex-start;gap: clamp(14px, 2vw, 22px);padding-top: clamp(48px, 8vw, 104px);padding-bottom: clamp(32px, 5vw, 64px)}
.fn-pg-eyebrow{display: inline-flex;align-items: center;gap: 10px;margin: 0px;font-size: 13px;font-weight: 600;letter-spacing: 0.02em;text-transform: uppercase;color: var(--mu)}
.fn-pg-h1{margin: 0px;font-size: clamp(34px, 5.6vw, 68px);font-weight: 600;line-height: 1.06;letter-spacing: -0.04em;color: var(--ink);text-wrap: balance}
.fn-pg-h1 em{font-style: normal;color: rgb(199, 177, 177)}
.fn-pg-lede{margin: 0px;font-size: clamp(16px, 1.5vw, 19px);line-height: 1.6;color: var(--tx);max-width: 58ch}
.fn-pg-meta{display: flex;flex-wrap: wrap;gap: 8px}
.fn-pg-meta .fn-chip{background: var(--card);gap: 6px}
.fn-pg-meta .fn-chip b{font-weight: 600;color: var(--ink)}
.fn-bl-list{display: grid;gap: 12px;min-width: 0px}
.fn-bl-card{display: grid;grid-template-columns: minmax(0px, 4fr) minmax(0px, 6fr);gap: clamp(14px, 3vw, 40px);align-items: center;padding: clamp(10px, 1.4vw, 16px);border-radius: 32px;background: var(--card);text-decoration: none;color: inherit;min-width: 0px;transition: background-color 0.4s, transform 0.5s cubic-bezier(0.2, 1.2, 0.3, 1), box-shadow 0.5s}
@media (max-width: 820px){.fn-bl-card{grid-template-columns: minmax(0px, 1fr)}}
.fn-bl-card:hover{background: linear-gradient(135deg,var(--pink),var(--peach));color: inherit;transform: translateY(-4px);box-shadow: 0 30px 50px -36px color-mix(in srgb,var(--ink) 55%,transparent)}
.fn-bl-card:focus-visible{outline: 2px solid var(--ink);outline-offset: 3px}
.fn-bl-img{display: block;overflow: hidden;border-radius: 22px;aspect-ratio: 1100 / 1247;background: var(--card2);min-width: 0px}
.fn-bl-img img{display: block;width: 100%;height: 100%;object-fit: cover;transition: transform 1.1s cubic-bezier(0.2, 0.8, 0.2, 1)}
.fn-bl-card:hover .fn-bl-img img{transform: scale(1.05)}
.fn-bl-t{display: flex;flex-direction: column;align-items: flex-start;gap: 14px;min-width: 0px;padding: clamp(4px, 1.4vw, 24px) clamp(6px, 1.6vw, 24px) clamp(8px, 1.4vw, 24px)}
.fn-bl-meta{display: flex;flex-wrap: wrap;align-items: center;gap: 8px;font-size: 13px;color: var(--mu)}
.fn-bl-meta .fn-chip{background: var(--bg);min-height: 28px;padding: 3px 12px}
.fn-bl-h{display: block;font-size: clamp(26px, 3.2vw, 40px);font-weight: 600;letter-spacing: -0.04em;line-height: 1.1;color: var(--ink);text-wrap: balance}
.fn-bl-x{display: block;font-size: 16px;line-height: 1.6;color: var(--tx);max-width: 46ch}
.fn-bl-go{margin-top: 6px;pointer-events: none}
.fn-bl-card:hover .fn-bl-go svg{transform: translateX(3px)}
.fn-bl-soon{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 16px 24px;padding: clamp(20px, 3vw, 36px);border-radius: 32px;border: 1.5px dashed rgb(199, 177, 177);min-width: 0px}
.fn-bl-soon h2{margin: 0px 0px 4px;font-size: clamp(20px, 2.2vw, 26px);font-weight: 600;letter-spacing: -0.035em;color: var(--ink)}
.fn-bl-soon p{margin: 0px;font-size: 16px;line-height: 1.55;color: var(--tx);max-width: 46ch}
.fn-bl-soon-a{display: flex;flex-wrap: wrap;gap: 8px}
.fn-k-blue{--k: var(--ac-blue)}
.fn-k-gold{--k: var(--ac-gold)}
.fn-k-red{--k: var(--ac-red)}
.fn-k-rose{--k: #C7B1B1}
.fn-k-ink{--k: var(--mu)}
.fn-k-all{--k: var(--ink)}
.fn-tg{--k: var(--mu);display: inline-flex;align-items: center;gap: 7px;min-height: 28px;padding: 3px 13px 3px 10px;border-radius: 999px;background: color-mix(in srgb,var(--k) 13%,var(--bg));color: var(--ink);font-size: 13px;font-weight: 600;letter-spacing: -0.005em;line-height: 1.3;white-space: nowrap;max-width: 100%;transition: background-color .3s,transform .4s var(--spring,cubic-bezier(.2,1.3,.3,1))}
.fn-tg-dot{flex: 0 0 auto;width: 9px;height: 9px;border-radius: 50% 0px 50% 50%;transform: rotate(-45deg);background: var(--k,var(--mu));transition: transform .5s var(--spring,cubic-bezier(.2,1.3,.3,1))}
.fn-bl-card:hover .fn-tg-dot, .fn-bl-f:hover .fn-tg-dot{transform: rotate(-45deg) scale(1.25)}
.fn-bl-card:hover .fn-tg{background: color-mix(in srgb,var(--k) 20%,var(--bg))}
.fn-bl-when{display: inline-flex;align-items: center;gap: 9px;font-size: 13px;color: var(--mu);white-space: nowrap}
.fn-bl-when .fn-bl-min::before, .fn-po-when .fn-po-min::before{content: "";display: inline-block;width: 4px;height: 4px;margin-right: 9px;border-radius: 50%;background: currentcolor;opacity: 0.5;vertical-align: middle}
.fn-bl-meta{gap: 8px}
.fn-bl-filter{display: flex;flex-wrap: wrap;gap: 8px;margin: 0px 0px clamp(16px, 2.4vw, 24px)}
.fn-bl-f{cursor: pointer;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: inherit;font-family: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;font-language-override: inherit;display: inline-flex;align-items: center;gap: 9px;min-height: 44px;padding: 0px 10px 0px 16px;border: 0px;border-radius: 999px;background: var(--card);color: var(--ink);font-size: 15px;font-weight: 600;letter-spacing: -0.01em;box-shadow: transparent 0px 0px 0px 1.5px inset;transition: background-color .3s,color .3s,box-shadow .3s,transform .45s var(--spring,cubic-bezier(.2,1.3,.3,1))}
.fn-bl-f:hover{transform: translateY(-2px);background: var(--card2)}
.fn-bl-f:active{transform: scale(0.96)}
.fn-bl-f:focus-visible{outline: 2px solid var(--ink);outline-offset: 2px}
.fn-bl-f b{min-width: 22px;height: 22px;padding: 0px 6px;display: inline-flex;align-items: center;justify-content: center;border-radius: 99px;background: var(--bg);color: var(--mu);font-size: 12px;font-weight: 600;font-variant-numeric: tabular-nums;transition: background-color 0.3s, color 0.3s}
.fn-bl-f.fn-on{background: var(--ink);color: var(--bg);box-shadow: none}
.fn-bl-f.fn-on:hover{background: var(--ink)}
.fn-bl-f.fn-on b{background: color-mix(in srgb,var(--bg) 22%,transparent);color: var(--bg)}
.fn-bl-f.fn-on .fn-tg-dot{background: var(--bg)}
.fn-bl-f .fn-tg-dot.fn-k-all{border-radius: 50%;transform: none}
.fn-bl-f:hover .fn-tg-dot.fn-k-all{transform: scale(1.25)}
.fn-po-meta{gap: 8px}
.fn-po-when{display: inline-flex;align-items: center;gap: 9px;white-space: nowrap}
.fn-po-more{padding-top: clamp(8px, 2vw, 24px)}
.fn-po-more-h{margin: 0px 0px 16px;font-size: clamp(22px, 2.4vw, 30px);font-weight: 600;letter-spacing: -0.04em;color: var(--ink)}
.fn-po-more-g{display: grid;grid-template-columns: repeat(3, minmax(0px, 1fr));gap: 12px}
@media (max-width: 900px){.fn-po-more-g{grid-template-columns: minmax(0px, 1fr)}}
.fn-po-mc{display: flex;flex-direction: column;gap: 12px;padding: clamp(10px, 1.2vw, 14px);border-radius: 28px;background: var(--card);text-decoration: none;color: inherit;min-width: 0px;transition: background .45s,transform .55s var(--spring,cubic-bezier(.2,1.3,.3,1)),box-shadow .45s}
.fn-po-mc:hover{background: linear-gradient(135deg,var(--pink),var(--peach));color: inherit;transform: translateY(-4px);box-shadow: 0 26px 44px -34px color-mix(in srgb,var(--ink) 55%,transparent)}
.fn-po-mc:focus-visible{outline: 2px solid var(--ink);outline-offset: 3px}
.fn-po-mc-i{display: block;overflow: hidden;border-radius: 20px;aspect-ratio: 16 / 10;background: var(--card2)}
.fn-po-mc-i img{display: block;width: 100%;height: 100%;object-fit: cover;object-position: 50% 38%;transition: transform 1.1s cubic-bezier(0.2, 0.8, 0.2, 1)}
.fn-po-mc:hover .fn-po-mc-i img{transform: scale(1.05)}
.fn-po-mc-t{display: flex;flex-direction: column;align-items: flex-start;gap: 10px;padding: 2px 8px 8px;min-width: 0px}
.fn-po-mc-h{display: block;font-size: clamp(18px, 1.6vw, 21px);font-weight: 600;letter-spacing: -0.03em;line-height: 1.25;color: var(--ink);text-wrap: balance}
.fn-po-mc-d{font-size: 13px;color: var(--mu)}
@media (prefers-reduced-motion: reduce){.fn-tg-dot, .fn-bl-f, .fn-tg{transition: none !important}}
.fn-po-bar{position: fixed;left: 0px;top: 0px;z-index: 80;width: 100%;height: 3px;background: linear-gradient(90deg,#C7B1B1,var(--brand));transform-origin: left center;transform: scaleX(0);pointer-events: none}
@supports (animation-timeline: scroll()){.fn-po-bar{animation-duration: auto;animation-timing-function: linear;animation-delay: 0s;animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: both;animation-play-state: running;animation-name: poBar;animation-range: normal;animation-timeline: scroll(root)}}
@keyframes poBar { 100% { transform: scaleX(1); } }
.fn-po-top{display: grid;grid-template-columns: minmax(0px, 6fr) minmax(0px, 4fr);gap: clamp(24px, 5vw, 72px);align-items: center;padding-top: clamp(40px, 6vw, 88px);padding-bottom: clamp(32px, 5vw, 64px)}
@media (max-width: 900px){.fn-po-top{grid-template-columns: minmax(0px, 1fr)}}
.fn-po-top-t{display: flex;flex-direction: column;align-items: flex-start;gap: clamp(14px, 2vw, 22px);min-width: 0px}
.fn-po-back{display: inline-flex;align-items: center;gap: 8px;min-height: 44px;padding: 0px 4px;margin-left: -4px;font-size: 15px;font-weight: 600;color: var(--ink);text-decoration: none;border-radius: 12px}
.fn-po-back svg{transition: transform 0.35s cubic-bezier(0.2, 1.3, 0.3, 1)}
.fn-po-back:hover svg{transform: translateX(-3px)}
.fn-po-back:focus-visible{outline: 2px solid var(--ink);outline-offset: 2px}
.fn-po-meta{display: flex;flex-wrap: wrap;align-items: center;gap: 8px;font-size: 14px;color: var(--mu)}
.fn-po-meta .fn-chip{background: var(--card);min-height: 28px;padding: 3px 12px}
.fn-po-h1{max-width: 16ch}
.fn-po-lede{max-width: 48ch}
.fn-po-cover{margin: 0px;min-width: 0px;max-width: 520px;width: 100%;justify-self: end}
@media (max-width: 900px){.fn-po-cover{justify-self: start}}
.fn-po-cover img{display: block;width: 100%;aspect-ratio: 1100 / 1247;object-fit: cover;border-radius: clamp(20px, 3vw, 32px);background: var(--card2);box-shadow: 0 40px 60px -40px color-mix(in srgb,var(--ink) 50%,transparent)}
.fn-po-cover figcaption{margin-top: 10px;font-size: 13px;color: var(--mu)}
.fn-po-grid{display: grid;grid-template-columns: minmax(0px, 3fr) minmax(0px, 8fr);gap: clamp(24px, 5vw, 72px);align-items: start}
@media (max-width: 900px){.fn-po-grid{grid-template-columns: minmax(0px, 1fr)}}
.fn-po-toc{border-radius: 24px;background: var(--card);padding: clamp(10px, 1.4vw, 16px);min-width: 0px}
@media (min-width: 901px){.fn-po-toc{position: sticky;top: 132px}}
.fn-po-toc p{margin: 0px;padding: 8px 12px 6px;font-size: 12px;font-weight: 600;letter-spacing: 0.04em;text-transform: uppercase;color: var(--mu)}
.fn-po-toc nav{display: flex;flex-direction: column;gap: 2px}
.fn-po-toc a{display: flex;align-items: baseline;gap: 10px;padding: 10px 12px;border-radius: 12px;font-size: 15px;line-height: 1.35;font-weight: 500;color: var(--tx);text-decoration: none;transition: background-color 0.25s, color 0.25s, transform 0.3s cubic-bezier(0.2, 1.2, 0.3, 1)}
.fn-po-toc a:hover{background: var(--bg);color: var(--ink-d);transform: translateX(2px)}
.fn-po-toc a:focus-visible{outline: 2px solid var(--ink);outline-offset: 1px}
.fn-po-toc a i{flex: 0 0 auto;font-style: normal;font-weight: 600;font-variant-numeric: tabular-nums;color: rgb(199, 177, 177)}
.fn-po-body{display: flex;flex-direction: column;gap: clamp(28px, 4vw, 44px);min-width: 0px}
.fn-po-s{scroll-margin-top: 124px;min-width: 0px}
.fn-po-s h2{display: flex;align-items: baseline;gap: 12px;margin: 0px 0px 16px;font-size: clamp(24px, 2.8vw, 34px);font-weight: 600;letter-spacing: -0.04em;line-height: 1.15;color: var(--ink);text-wrap: balance}
.fn-po-s h2 i{flex: 0 0 auto;font-style: normal;font-size: 0.5em;font-weight: 600;letter-spacing: 0px;padding: 3px 10px;border-radius: 99px;background: linear-gradient(135deg,var(--pink),var(--peach));transform: translateY(-0.25em)}
.fn-po-p{margin: 0px 0px 16px;font-size: clamp(16px, 1.4vw, 18px);line-height: 1.75;color: var(--tx);max-width: 66ch}
.fn-po-p b{font-weight: 600;color: var(--ink)}
.fn-po-a{color: var(--ink);font-weight: 500;text-decoration: underline 1.5px rgb(199, 177, 177);text-underline-offset: 3px;overflow-wrap: anywhere;transition: text-decoration-color 0.25s}
.fn-po-a:hover{text-decoration-color: var(--ink)}
.fn-po-a:focus-visible{outline: 2px solid var(--ink);outline-offset: 2px;border-radius: 4px}
.fn-po-thanks{padding: clamp(18px, 2.4vw, 28px);border-radius: 24px;background: linear-gradient(135deg,var(--pink),var(--peach))}
.fn-po-thanks .fn-po-p{margin: 0px;color: var(--ink);font-weight: 500}
.fn-po-credit{margin: 0px;font-size: 13px;line-height: 1.6;color: var(--mu);overflow-wrap: anywhere}
.fn-po-credit .fn-po-a{font-weight: 400}
.fn-po-share{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 12px 20px;padding: clamp(16px, 2.2vw, 24px);border-radius: 24px;background: var(--card)}
.fn-po-share p{margin: 0px;font-size: 16px;font-weight: 600;letter-spacing: -0.02em;color: var(--ink)}
.fn-po-share-a{display: flex;flex-wrap: wrap;gap: 8px}
.fn-po-share .fn-chipb{background: var(--bg)}
.fn-po-share .fn-chipb:hover{background: var(--bg);box-shadow: rgb(199, 177, 177) 0px 0px 0px 1.5px inset}
@media (prefers-reduced-motion: reduce){.fn-po-bar{animation: auto ease 0s 1 normal none running none !important}}
.fn-kit-seg{--w: 640px;margin-bottom: 12px}
.fn-kit{--ink: #22313F;--sand: #E9DCC9;--terra: #C8644B;--sage: #8FA98B;--cream: #FAF6EF;display: flex;flex-direction: column;gap: clamp(14px, 2vw, 22px);border-radius: 28px;background: var(--card);padding: clamp(16px, 3vw, 36px);min-width: 0px}
.fn-kit-tag{margin: 0px;display: flex;flex-wrap: wrap;align-items: center;gap: 8px 12px;font-size: clamp(15px, 1.5vw, 18px);font-weight: 600;letter-spacing: -0.02em;color: var(--ink)}
.fn-kit-ex{display: inline-flex;align-items: center;min-height: 26px;padding: 3px 10px;border-radius: 99px;background: var(--bg);color: var(--mu);font-size: 12px;font-weight: 600;letter-spacing: 0.04em;text-transform: uppercase}
.fn-kit-n{margin: 0px;font-size: 14px;line-height: 1.55;color: var(--mu);max-width: 62ch}
.fn-lk{display: inline-flex;align-items: center;gap: 0.55em;max-width: 100%}
.fn-lk-m{flex: 0 0 auto}
.fn-lk-t{font-size: clamp(16px, 1.6vw, 20px);font-weight: 600;letter-spacing: -0.035em;white-space: nowrap}
.fn-lk-t i{font-style: normal;font-weight: 500;opacity: 0.7}
.fn-kit-logos{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));gap: 10px}
.fn-kl{display: flex;flex-direction: column;justify-content: space-between;gap: 28px;min-height: 150px;padding: clamp(16px, 2vw, 22px);border-radius: 20px;overflow: hidden}
.fn-kl-n{font-size: 12px;font-weight: 600;letter-spacing: 0.04em;text-transform: uppercase;opacity: 0.6}
.fn-lg-c{background: var(--cream);color: var(--ink);--cut: var(--cream)}
.fn-lg-b{background: var(--bg);color: rgb(17, 17, 17);--cut: #FFFFFF}
.fn-lg-w{background: var(--ink);color: rgb(255, 255, 255);--cut: var(--ink)}
.fn-lg-r{background: var(--terra);color: var(--cream);--cut: var(--terra)}
.fn-kit-fmt{display: flex;flex-wrap: wrap;gap: 8px}
.fn-fmt{display: inline-flex;align-items: center;gap: 6px;min-height: 34px;padding: 5px 14px;border-radius: 99px;background: var(--bg);color: var(--mu);font-size: 13px}
.fn-fmt b{font-weight: 600;color: var(--ink)}
.fn-kit-pal{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));gap: 10px}
.fn-sw2{display: flex;flex-direction: column;align-items: flex-start;gap: 2px;min-height: 190px;padding: 16px;border: 0px;border-radius: 20px;font: inherit;text-align: left;cursor: pointer;transition: transform 0.45s cubic-bezier(0.2, 1.3, 0.3, 1), box-shadow 0.4s}
.fn-sw2:hover{transform: translateY(-6px) rotate(-1deg);box-shadow: rgba(34, 49, 63, 0.5) 0px 24px 40px -22px}
.fn-sw2:active{transform: scale(0.97)}
.fn-sw2:focus-visible{outline: 2px solid var(--ink);outline-offset: 3px}
.fn-sw2 b{font-size: clamp(17px, 1.6vw, 20px);font-weight: 600;letter-spacing: -0.03em}
.fn-sw2 i{font-style: normal;font-size: 14px;font-weight: 600;font-variant-numeric: tabular-nums}
.fn-sw2 span{font-size: 12px;opacity: 0.75;font-variant-numeric: tabular-nums}
.fn-sw2 em{margin-top: auto;font-style: normal;font-size: 12px;font-weight: 600;opacity: 0;transform: translateY(4px);transition: opacity 0.3s, transform 0.3s}
.fn-sw2:hover em, .fn-sw2:focus-visible em{opacity: 0.8;transform: none}
@media (hover: none){.fn-sw2 em{opacity: 0.7;transform: none}}
.fn-kit-gd{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));gap: 10px}
.fn-gd{display: flex;flex-direction: column;gap: 12px;padding: clamp(14px, 1.8vw, 20px);border-radius: 20px;background: var(--bg);min-width: 0px}
.fn-gd-h{font-size: 13px;font-weight: 600;letter-spacing: 0.02em;text-transform: uppercase;color: var(--mu)}
.fn-gd-n{font-size: 14px;line-height: 1.5;color: var(--tx)}
.fn-gd-clear{position: relative;display: flex;align-items: center;justify-content: center;min-height: 110px;border-radius: 14px;background: var(--cream);color: var(--ink);--cut: var(--cream);overflow: hidden}
.fn-gd-clear .fn-lk{position: relative;padding: 14px 16px;outline: 1.5px dashed var(--terra);outline-offset: -1px}
.fn-gd-clear u{position: absolute;display: block;background: var(--terra);opacity: 0.55}
.fn-gd-clear .fn-x1{left: 10px;right: 10px;top: 10px;height: 1.5px}
.fn-gd-clear .fn-x2{left: 10px;right: 10px;bottom: 10px;height: 1.5px}
.fn-gd-aa{font-size: clamp(48px, 6vw, 72px);line-height: 1;font-weight: 600;letter-spacing: -0.05em;color: rgb(34, 49, 63)}
.fn-gd-chips{display: flex;flex-wrap: wrap;gap: 6px}
.fn-gd-chips span{display: inline-flex;min-height: 28px;align-items: center;padding: 3px 12px;border-radius: 99px;background: var(--card);color: var(--ink);font-size: 12px;font-weight: 600}
.fn-gd-dots{display: flex;gap: 6px}
.fn-gd-dots i{width: 30px;height: 30px;border-radius: 99px}
.fn-gd-dd{display: grid;grid-template-columns: 1fr 1fr;gap: 8px}
.fn-gd-dd > div{position: relative;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 6px;min-height: 104px;border-radius: 14px;background: var(--cream);color: var(--ink);--cut: var(--cream);overflow: hidden}
.fn-gd-dd b{position: absolute;top: 8px;right: 8px;width: 22px;height: 22px;border-radius: 99px;display: flex;align-items: center;justify-content: center;color: rgb(255, 255, 255)}
.fn-gd-dd .fn-ok b{background: rgb(79, 138, 91)}
.fn-gd-dd .fn-no b{background: rgb(192, 69, 58)}
.fn-gd-dd em{font-style: normal;font-size: 12px;font-weight: 600}
.fn-kit-st{position: relative;container-type: inline-size;min-height: clamp(260px, 46vw, 420px)}
.fn-st-sheet{position: absolute;left: 4%;top: 0px;width: min(42%, 300px);aspect-ratio: 210 / 297;display: flex;flex-direction: column;gap: 3cqw;padding: 5cqw;border-radius: 6px;background: var(--bg);box-shadow: rgba(34, 49, 63, 0.45) 0px 30px 50px -26px;color: var(--ink);--cut: #FFFFFF;transform: rotate(-3deg);transition: transform 0.6s cubic-bezier(0.2, 1.2, 0.3, 1)}
.fn-st-sheet .fn-lk-t{font-size: 2.6cqw}
.fn-st-sheet u{display: block;height: 1.1cqw;border-radius: 2px;background: var(--line);width: 100%}
.fn-st-sheet u.fn-s{width: 62%}
.fn-st-sheet u.fn-f{margin-top: auto;height: 0.8cqw;background: var(--terra)}
.fn-st-card{position: absolute;width: min(46%, 330px);aspect-ratio: 1.75 / 1;border-radius: 8px;padding: 4cqw;display: flex;flex-direction: column;justify-content: center;box-shadow: rgba(34, 49, 63, 0.55) 0px 30px 50px -24px;transition: transform 0.6s cubic-bezier(0.2, 1.2, 0.3, 1)}
.fn-st-card.fn-c1{right: 3%;top: 4%;background: var(--cream);color: var(--ink);--cut: var(--cream);align-items: center;transform: rotate(5deg)}
.fn-st-card.fn-c1 .fn-lk-t{font-size: 2.8cqw}
.fn-st-card.fn-c2{right: 14%;bottom: 2%;background: var(--ink);color: rgb(255, 255, 255);gap: 0.6cqw;transform: rotate(-4deg)}
.fn-st-card.fn-c2 b{font-size: 2.6cqw;font-weight: 600;letter-spacing: -0.03em}
.fn-st-card.fn-c2 span{font-size: 1.7cqw;opacity: 0.7}
.fn-st-card.fn-c2 u{display: block;width: 30%;height: 0.5cqw;margin: 0.8cqw 0px;border-radius: 2px;background: var(--terra)}
.fn-kit-st:hover .fn-st-sheet{transform: rotate(-5deg) translate(-1%, -2%)}
.fn-kit-st:hover .fn-c1{transform: rotate(8deg) translate(2%, -3%)}
.fn-kit-st:hover .fn-c2{transform: rotate(-7deg) translate(-3%, 3%)}
@container (max-width: 520px){.fn-st-sheet{width: 48%} .fn-st-card{width: 52%} .fn-st-card.fn-c2{right: 6%}}
.fn-pay{display: flex;flex-direction: column;gap: 14px}
.fn-pay-h{margin: 0px;font-size: clamp(20px, 2.2vw, 26px);font-weight: 600;letter-spacing: -0.035em;color: var(--ink)}
.fn-pay-bar{display: flex;gap: 6px}
.fn-pay-s{display: flex;flex-direction: column;justify-content: space-between;gap: 20px;min-height: 104px;min-width: 0px;padding: 12px;border-radius: 16px;background: var(--bg);color: var(--ink)}
.fn-pay-s:nth-child(2n+1){background: var(--brand);color: rgb(255, 255, 255)}
.fn-pay-s b{font-size: clamp(15px, 1.8vw, 20px);font-weight: 600;letter-spacing: -0.03em;font-variant-numeric: tabular-nums}
.fn-pay-s i{font-style: normal;font-size: clamp(11px, 1.2vw, 13px);line-height: 1.3;opacity: 0.8;overflow-wrap: anywhere}
.fn-pay-n{margin: 0px;font-size: 14px;line-height: 1.55;color: var(--mu)}
.fn-pay.fn-p0 .fn-rp{animation-name: ia}
.fn-br-m{display: flex;align-items: center;justify-content: center;rotate: calc(var(--r) * 1deg * (1 - var(--o,0)));font-size: max(11.5px, 4.6cqw);color: rgb(255, 255, 255)}
.fn-br-m b{display: flex;align-items: center;gap: 0.42em;font-weight: 600;white-space: nowrap}
.fn-br-m .fn-lgm{width: 1.5em;height: 1.5em;flex: 0 0 auto;fill: currentcolor}
.fn-br-m.fn-a{background: var(--ac-gold);color: rgb(42, 43, 45);border-radius: 1cqw;font-family: Georgia, serif;letter-spacing: 0.06em}
.fn-br-m.fn-b{background: var(--ac-blue);border-radius: 99px;font-family: "Brush Script MT", "Segoe Script", cursive;font-style: italic;font-weight: 400}
.fn-br-m.fn-c{background: var(--ac-blue);border-radius: 0px;font-family: ui-monospace, Menlo, monospace;letter-spacing: 0.01em;text-transform: uppercase;font-size: max(11px, 3.3cqw)}
.fn-br-m.fn-d{background: rgb(232, 228, 220);color: rgb(122, 92, 62);border-radius: 4cqw 0px;font-family: Georgia, serif;font-style: italic}
.fn-br-disc .fn-br-in{position: absolute;inset: 0px;border-radius: 50%;background: var(--surf);border: .9cqw solid var(--acc);display: flex;align-items: center;justify-content: center;color: var(--ink);translate: 0 calc(-12cqw * var(--e4));box-shadow: 0 0 0 calc(2cqw + 3cqw * var(--e2) * (1 - var(--e3))) color-mix(in srgb,var(--acc) 12.6%,transparent)}
.fn-br-disc .fn-br-in svg{width: 56%;height: 56%}
.fn-br-pal{display: flex;gap: 4.5cqw}
.fn-br-pal i{width: 7cqw;height: 7cqw;border-radius: 50%;box-shadow: 0 0 0 .6cqw color-mix(in srgb,var(--ink) 24.8%,transparent)}
.fn-br-t{border-radius: 2.2cqw;display: flex;flex-direction: column;justify-content: center;gap: 1.6cqw;padding: 3cqw;background: color-mix(in srgb,var(--ink) 7.4%,transparent);box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--ink) 13.6%,transparent);color: rgb(255, 255, 255)}
.fn-br-t .fn-art-lg{display: block;width: 6cqw;height: 6cqw}
.fn-br-t .fn-art-lg svg{fill: currentcolor}
.fn-br-disc .fn-br-in svg{fill: currentcolor}
.fn-br-t .fn-art-lg svg{width: 100%;height: 100%}
.fn-br-t i{display: block;height: 1.2cqw;border-radius: 9px;background: currentcolor;opacity: 0.35}
.fn-br-t i + i{width: 60%}
.fn-br-t:first-of-type{color: var(--ink)}
.fn-br-t.fn-g{background: var(--ac-blue)}
.fn-br-t.fn-w{background: var(--surf);padding: 0px;gap: 0px}
.fn-br-t.fn-w b{display: block;height: 3.4cqw;background: var(--line);border-bottom: 1px solid var(--surf)}
.fn-br-t.fn-w b:first-child{background: var(--brand);opacity: 0.9}
.fn-br-t.fn-w u{display: block;flex: 1 1 0%;margin: 2cqw;border-radius: 1.4cqw;background: var(--pink)}
.fn-br-t.fn-f{background: var(--ac-gold);color: var(--ink-d)}
.fn-br-hl i{display: flex;align-items: center;justify-content: center;border-radius: 50%;color: rgb(255, 255, 255);box-shadow: 0 0 0 .5cqw color-mix(in srgb,var(--ink) 34.1%,transparent),0 0 0 1.4cqw color-mix(in srgb,var(--ink) 0%,transparent)}
.fn-br-hl .fn-sx-ic{width: 44%;height: 44%}
.fn-ct{display: grid;grid-template-columns: minmax(0px, 7fr) minmax(0px, 4fr);gap: clamp(14px, 2.4vw, 28px);align-items: start}
@media (max-width: 900px){.fn-ct{grid-template-columns: minmax(0px, 1fr)}}
.fn-ct-card{min-width: 0px;border-radius: 32px;background: var(--card);padding: clamp(18px, 3.4vw, 44px)}
.fn-ct-form{display: flex;flex-direction: column;gap: clamp(16px, 2vw, 22px)}
.fn-ct-row{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));gap: clamp(16px, 2vw, 22px)}
.fn-ct-f{display: flex;flex-direction: column;gap: 8px;min-width: 0px}
.fn-ct-f label, .fn-ct-lab{font-size: 14px;font-weight: 600;letter-spacing: -0.01em;color: var(--ink)}
.fn-ct-in{display: block;width: 100%;min-height: 52px;padding: 14px 18px;border: 1.5px solid transparent;border-radius: 18px;background: var(--bg);font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;font-family: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;font-language-override: inherit;font-size: 16px;line-height: 1.4;color: var(--ink-d);outline: 0px;box-shadow: 0 0 0 0 color-mix(in srgb,var(--ink) 0%,transparent);transition: border-color 0.25s, box-shadow 0.3s}
.fn-ct-in:hover{border-color: var(--line)}
.fn-ct-in:focus{border-color: var(--ink);box-shadow: 0 0 0 4px color-mix(in srgb,var(--ink) 12%,transparent)}
.fn-ct-in.fn-bad{border-color: rgb(192, 69, 58);box-shadow: rgba(192, 69, 58, 0.1) 0px 0px 0px 4px}
.fn-ct-ta{min-height: 150px;resize: vertical}
.fn-ct-err{margin: 0px;font-size: 13px;line-height: 1.4;color: rgb(176, 58, 48);min-height: 0px}
.fn-ct-err:empty{display: none}
.fn-ct-chips{display: flex;flex-wrap: wrap;gap: 8px}
.fn-ct-chips .fn-chipb{background: var(--bg);min-height: 44px;font-size: 14px;white-space: normal;text-align: left}
.fn-ct-chips .fn-chipb:hover{background: var(--bg);box-shadow: inset 0 0 0 1.5px var(--line)}
.fn-ct-chips .fn-chipb.fn-on{box-shadow: rgb(199, 177, 177) 0px 0px 0px 1.5px inset}
.fn-ct-agree{display: inline-flex;align-items: center;gap: 12px;min-height: 44px;padding: 4px 0px;border: 0px;background: transparent;font-style: inherit;font-variant: inherit;font-weight: inherit;font-stretch: inherit;line-height: inherit;font-family: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;font-language-override: inherit;font-size: 15px;color: var(--tx);text-align: left;cursor: pointer;align-self: flex-start}
.fn-ct-agree:focus-visible{outline: 2px solid var(--ink);outline-offset: 3px;border-radius: 12px}
.fn-ct-box{flex: 0 0 auto;width: 26px;height: 26px;border-radius: 9px;background: var(--bg);box-shadow: rgb(212, 212, 212) 0px 0px 0px 1.5px inset;color: rgb(255, 255, 255);display: flex;align-items: center;justify-content: center;transition: background-color 0.25s, box-shadow 0.25s, transform 0.4s cubic-bezier(0.2, 1.5, 0.3, 1)}
.fn-ct-box svg{opacity: 0;transform: scale(0.3) rotate(-40deg);transition: opacity 0.2s, transform 0.45s cubic-bezier(0.2, 1.5, 0.3, 1)}
.fn-ct-agree.fn-on .fn-ct-box{background: var(--brand);box-shadow: none;transform: scale(1.06)}
.fn-ct-agree.fn-on .fn-ct-box svg{opacity: 1;transform: none}
.fn-ct-agree.fn-bad .fn-ct-box{box-shadow: rgb(192, 69, 58) 0px 0px 0px 1.5px inset}
.fn-ct-agree-w{display: flex;flex-wrap: wrap;align-items: center;gap: 0px 6px}
.fn-lg-link{display: inline-flex;align-items: center;min-height: 44px;font-size: 15px;color: var(--ink);font-weight: 600;text-decoration: underline rgb(199, 177, 177);text-underline-offset: 3px}
.fn-lg-link:focus-visible{outline: 2px solid var(--ink);outline-offset: 2px;border-radius: 6px}
.fn-ct-send{display: flex;align-items: center;gap: 14px}
.fn-ct-send .fn-cta{min-width: min(100%, 200px)}
.fn-ct-send .fn-cta[aria-disabled="true"]{opacity: 0.75;cursor: progress}
.fn-ct-spin{width: 22px;height: 22px;border-radius: 99px;border-top-style: ;border-top-width: ;border-right-color: ;border-right-style: ;border-right-width: ;border-bottom-color: ;border-bottom-style: ;border-bottom-width: ;border-left-color: ;border-left-style: ;border-left-width: ;border-image-source: ;border-image-slice: ;border-image-width: ;border-image-outset: ;border-image-repeat: ;border-top-color: var(--ink);opacity: 0;transition: opacity 0.2s}
.fn-ct-spin.fn-on{opacity: 1;animation: 0.8s linear 0s infinite normal none running ctSpin}
@keyframes ctSpin { 100% { transform: rotate(360deg); } }
.fn-ct-ok{display: flex;flex-direction: column;align-items: flex-start;gap: 14px;min-height: 340px;justify-content: center;animation: 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 0s 1 normal backwards running fxIn}
.fn-ct-tick{width: 72px;height: 72px;border-radius: 99px;background: var(--brand);color: rgb(255, 255, 255);display: flex;align-items: center;justify-content: center;animation: 0.7s cubic-bezier(0.2, 1.6, 0.3, 1) 0s 1 normal backwards running ctPop}
.fn-ct-tp{stroke-dasharray: 24;stroke-dashoffset: 0;animation: 0.6s ease-out 0.25s 1 normal backwards running ctDraw}
@keyframes ctPop { 0% { transform: scale(0.3); opacity: 0; } }
@keyframes ctDraw { 0% { stroke-dashoffset: 24; } }
.fn-ct-ok h2{margin: 6px 0px 0px;font-size: clamp(28px, 3.6vw, 44px);font-weight: 600;letter-spacing: -0.04em;line-height: 1.1;color: var(--ink)}
.fn-ct-ok p{margin: 0px;font-size: 18px;line-height: 1.6;color: var(--tx);max-width: 40ch}
.fn-ct-ok-a{display: flex;flex-wrap: wrap;gap: 10px;margin-top: 6px}
.fn-ct-ok-a .fn-ghost{background: var(--bg)}
.fn-ct-side{display: flex;flex-direction: column;gap: 12px;min-width: 0px}
.fn-ct-s1{border-radius: 28px;background: linear-gradient(135deg,var(--pink),var(--peach));padding: clamp(20px, 2.6vw, 32px);display: flex;flex-direction: column;gap: 8px;min-width: 0px}
.fn-ct-s1 h2, .fn-ct-s2 h2{margin: 0px;font-size: clamp(20px, 2vw, 24px);font-weight: 600;letter-spacing: -0.035em;color: var(--ink)}
.fn-ct-s1 p{margin: 0px;font-size: 14px;color: var(--mu)}
.fn-ct-mail{font-size: clamp(17px, 1.8vw, 22px);font-weight: 600;letter-spacing: -0.02em;max-width: 100%;text-align: left;word-break: break-all;justify-content: flex-start}
.fn-ct-s2{border-radius: 28px;background: var(--card);padding: clamp(20px, 2.6vw, 32px);display: flex;flex-direction: column;gap: 14px}
.fn-ct-soc{display: flex;flex-wrap: wrap;gap: 8px}
.fn-ct-soc .fn-chipb{background: var(--bg)}
.fn-ct-soc .fn-chipb:hover{background: var(--bg);box-shadow: rgb(199, 177, 177) 0px 0px 0px 1.5px inset}
.fn-ct-s3{display: flex;align-items: center;justify-content: space-between;gap: 16px;padding: clamp(18px, 2.4vw, 26px) clamp(20px, 2.6vw, 32px);border-radius: 28px;border: 1.5px dashed rgb(199, 177, 177);text-decoration: none;color: var(--ink);transition: background-color 0.3s, transform 0.4s cubic-bezier(0.2, 1.2, 0.3, 1)}
.fn-ct-s3:hover{background: var(--bg);transform: translateY(-2px);color: var(--ink)}
.fn-ct-s3:focus-visible{outline: 2px solid var(--ink);outline-offset: 3px}
.fn-ct-s3 span{display: flex;flex-direction: column;gap: 2px;min-width: 0px}
.fn-ct-s3 b{font-size: 16px;font-weight: 600;letter-spacing: -0.02em}
.fn-ct-s3 i{font-style: normal;font-size: 14px;color: var(--mu)}
.fn-ct-s3 svg{flex: 0 0 auto;transition: transform 0.35s cubic-bezier(0.2, 1.3, 0.3, 1)}
.fn-ct-s3:hover svg{transform: translateX(4px)}
@media (prefers-reduced-motion: reduce){.fn-ct-spin.fn-on{animation: auto ease 0s 1 normal none running none}}
.fn-ct-card{scroll-margin-top: 124px}
.fn-qz-sec{padding-bottom: clamp(12px, 2vw, 24px)}
.fn-qz{position: relative;overflow: hidden;border-radius: 32px;background: var(--card);padding: clamp(18px, 3.4vw, 44px);min-width: 0px}
.fn-qz::before{content: "";position: absolute;right: -140px;top: -190px;width: 480px;height: 480px;border-radius: 50%;background: repeating-radial-gradient(circle,transparent 0 17px,color-mix(in srgb,var(--ink) 8%,transparent) 17px 18.5px);mask-image: radial-gradient(circle, rgb(0, 0, 0) 25%, transparent 68%);pointer-events: none}
.fn-qz-hd{position: relative;display: flex;flex-wrap: wrap;align-items: flex-end;justify-content: space-between;gap: 16px 32px;margin-bottom: clamp(20px, 3vw, 32px)}
.fn-qz-hd-t{min-width: 0px;display: flex;flex-direction: column;align-items: flex-start;gap: 8px}
.fn-qz-eyebrow{display: inline-flex;align-items: center;gap: 9px;margin: 0px;font-size: 13px;font-weight: 600;letter-spacing: 0.02em;text-transform: uppercase;color: var(--mu)}
.fn-qz-drop{width: 10px;height: 10px;border-radius: 50% 0px 50% 50%;transform: rotate(-45deg);background: var(--ac-gold);animation: qzDrip 3.2s var(--spring) infinite}
@keyframes qzDrip { 0%, 70%, 100% { transform: rotate(-45deg) scale(1); } 80% { transform: rotate(-45deg) scale(1.45); } 90% { transform: rotate(-45deg) scale(0.95); } }
.fn-qz-h{margin: 0px;font-size: clamp(26px, 3.4vw, 40px);font-weight: 600;letter-spacing: -0.04em;line-height: 1.1;color: var(--ink);text-wrap: balance}
.fn-qz-lede{margin: 0px;font-size: 16px;line-height: 1.55;color: var(--tx);max-width: 46ch}
.fn-qz-prog{display: flex;flex-direction: column;align-items: flex-start;gap: 8px}
.fn-qz-pds{display: flex;gap: 6px;margin: 0px;padding: 0px;list-style: none}
.fn-qz-pd{position: relative;overflow: hidden;width: clamp(40px, 6vw, 60px);height: 6px;border-radius: 99px;background: var(--card2)}
.fn-qz-pd::after{content: "";position: absolute;inset: 0px;background: var(--ink);transform: scaleX(0);transform-origin: left center;transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1), background-color 0.4s}
.fn-qz-pd.fn-done::after{transform: scaleX(1)}
.fn-qz-pd.fn-cur::after{transform: scaleX(0.4);background: var(--ac-gold)}
.fn-qz-pn{font-size: 13px;font-weight: 600;color: var(--mu);font-variant-numeric: tabular-nums}
.fn-qz-body{position: relative;min-width: 0px}
.fn-qz-s{min-width: 0px}
.fn-qz-s.fn-a0{animation: 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0s 1 normal backwards running qzA}
.fn-qz-s.fn-a1{animation: 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) 0s 1 normal backwards running qzB}
@keyframes qzA { 0% { opacity: 0; transform: translateX(28px); filter: blur(6px); } }
@keyframes qzB { 0% { opacity: 0; transform: translateX(28px); filter: blur(6px); } }
.fn-qz-qrow{display: flex;align-items: center;gap: 12px;margin-bottom: clamp(14px, 2vw, 20px)}
.fn-qz-back{flex: 0 0 auto;width: 40px;height: 40px;border-radius: 50%;border: 0px;background: var(--bg);color: var(--ink);display: flex;align-items: center;justify-content: center;cursor: pointer;transition: transform .45s var(--spring),background-color .3s}
.fn-qz-back:hover{transform: translateX(-3px)}
.fn-qz-back:active{transform: scale(0.92)}
.fn-qz-back:focus-visible{outline: 2px solid var(--ink);outline-offset: 2px}
.fn-qz-back.fn-off{display: none}
.fn-qz-q{margin: 0px;font-size: clamp(20px, 2.2vw, 26px);font-weight: 600;letter-spacing: -0.035em;line-height: 1.2;color: var(--ink);text-wrap: balance}
.fn-qz-opts{display: grid;grid-template-columns: repeat(3, minmax(0px, 1fr));gap: 10px}
@media (max-width: 900px){.fn-qz-opts{grid-template-columns: repeat(2, minmax(0px, 1fr))}}
@media (max-width: 520px){.fn-qz-opts{grid-template-columns: minmax(0px, 1fr)}}
.fn-qz-o{--k: var(--ac-blue);position: relative;display: flex;align-items: center;gap: 14px;min-width: 0px;min-height: 80px;padding: 14px 44px 14px 14px;border: 0px;border-radius: 24px;background: var(--bg);color: var(--ink);font: inherit;text-align: left;cursor: pointer;box-shadow: transparent 0px 0px 0px 1.5px inset;-webkit-tap-highlight-color: transparent;transition: transform .55s var(--spring),box-shadow .3s,background-color .3s}
.fn-qz-o.fn-a-b{--k: var(--ac-blue)}
.fn-qz-o.fn-a-g{--k: var(--ac-gold)}
.fn-qz-o.fn-a-r{--k: var(--ac-red)}
.fn-qz-o.fn-a-p{--k: #C7B1B1}
.fn-qz-o:hover{transform: translateY(-3px);box-shadow: inset 0 0 0 1.5px color-mix(in srgb,var(--k) 60%,transparent),0 18px 28px -22px color-mix(in srgb,var(--ink) 60%,transparent)}
.fn-qz-o:active{transform: scale(0.97)}
.fn-qz-o:focus-visible{outline: 2px solid var(--ink);outline-offset: 2px}
.fn-qz-o.fn-on{transform: scale(1.015);background: color-mix(in srgb,var(--k) 9%,var(--bg));box-shadow: inset 0 0 0 2px var(--k)}
.fn-qz-oi{flex: 0 0 auto;width: 50px;height: 50px;border-radius: 17px;display: flex;align-items: center;justify-content: center;background: color-mix(in srgb,var(--k) 17%,var(--card));color: var(--ink);font-size: 25px;line-height: 1;transition: transform .55s var(--spring),background-color .3s}
.fn-qz-o:hover .fn-qz-oi{transform: rotate(-7deg) scale(1.09)}
.fn-qz-o.fn-on .fn-qz-oi{transform: scale(1.06);background: color-mix(in srgb,var(--k) 28%,var(--card))}
.fn-qz-em{display: block;line-height: 1}
.fn-qz-ot{display: flex;flex-direction: column;gap: 2px;min-width: 0px;flex: 1 1 0%}
.fn-qz-ot b{font-size: 16px;font-weight: 600;letter-spacing: -0.02em;line-height: 1.25}
.fn-qz-ot i{font-style: normal;font-size: 13px;line-height: 1.35;color: var(--mu)}
.fn-qz-tk{position: absolute;top: 12px;right: 12px;width: 24px;height: 24px;border-radius: 99px;background: var(--k);color: rgb(255, 255, 255);display: flex;align-items: center;justify-content: center;opacity: 0;transform: scale(0) rotate(-50deg);transition: transform .55s var(--spring),opacity .2s}
.fn-qz-o.fn-a-g .fn-qz-tk, .fn-qz-o.fn-a-p .fn-qz-tk{color: rgb(40, 51, 56)}
.fn-qz-o.fn-on .fn-qz-tk{opacity: 1;transform: none}
.fn-qz-res{display: grid;grid-template-columns: minmax(0px, 3fr) minmax(0px, 2fr);gap: clamp(16px, 3vw, 40px);align-items: center}
@media (max-width: 820px){.fn-qz-res{grid-template-columns: minmax(0px, 1fr)}}
.fn-qz-res-m{display: flex;flex-direction: column;align-items: flex-start;gap: 14px;min-width: 0px}
.fn-qz-res-e{margin: 0px;font-size: 13px;font-weight: 600;letter-spacing: 0.02em;text-transform: uppercase;color: var(--mu)}
.fn-qz-res-h{margin: 0px;font-size: clamp(32px, 4.4vw, 54px);font-weight: 600;letter-spacing: -0.045em;line-height: 1.05;color: var(--ink);text-wrap: balance}
.fn-qz-res-p{margin: 0px;font-size: clamp(16px, 1.4vw, 18px);line-height: 1.6;color: var(--tx);max-width: 44ch}
.fn-qz-you{display: flex;flex-wrap: wrap;align-items: center;gap: 8px}
.fn-qz-you > span{font-size: 13px;color: var(--mu);margin-right: 2px}
.fn-qz-chip{display: inline-flex;align-items: center;min-height: 30px;padding: 3px 13px;border-radius: 99px;background: var(--bg);font-size: 13px;font-weight: 600;color: var(--ink)}
.fn-qz-note{margin: 0px;font-size: 15px;line-height: 1.55;color: var(--tx);max-width: 52ch}
.fn-qz-note2{margin-top: -8px;color: var(--mu)}
.fn-qz-pl{min-height: 0px;font-size: 15px;white-space: nowrap}
.fn-qz-res-a{display: flex;flex-wrap: wrap;align-items: center;gap: 10px;margin-top: 6px}
.fn-qz-res-a .fn-ghost{background: var(--bg)}
.fn-qz-mail svg{flex: 0 0 auto}
.fn-qz-more{display: flex;flex-wrap: wrap;align-items: center;gap: 2px 14px;margin: -4px 0px 0px -6px}
.fn-qz-hint{margin: 0px;font-size: 13px;line-height: 1.5;color: var(--mu);max-width: 52ch}
.fn-qz-redo{display: inline-flex;align-items: center;min-height: 44px;padding: 0px 6px;border: 0px;background: transparent;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: inherit;font-family: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;font-language-override: inherit;font-size: 15px;font-weight: 600;color: var(--mu);text-decoration: underline rgb(199, 177, 177);text-underline-offset: 3px;cursor: pointer;transition: color 0.25s}
.fn-qz-redo:hover{color: var(--ink)}
.fn-qz-redo:focus-visible{outline: 2px solid var(--ink);outline-offset: 2px;border-radius: 10px}
.fn-qz-res-v{position: relative;width: 100%;max-width: 320px;aspect-ratio: 1 / 1;justify-self: center;display: flex;align-items: center;justify-content: center}
@media (max-width: 820px){.fn-qz-res-v{max-width: 128px;justify-self: start;order: -1}}
.fn-qz-rg{position: absolute;inset: 0px;border-radius: 50%;border: 1.5px solid color-mix(in srgb,var(--ink) 22%,transparent);opacity: 0;transform: scale(0.25);animation: 3.6s cubic-bezier(0.2, 0.6, 0.3, 1) 0s infinite normal none running qzRg}
.fn-qz-rg.fn-r2{animation-delay: 1.2s}
.fn-qz-rg.fn-r3{animation-delay: 2.4s}
@keyframes qzRg { 0% { transform: scale(0.25); opacity: 0.9; } 100% { transform: scale(1); opacity: 0; } }
.fn-qz-tile{position: relative;width: 36%;aspect-ratio: 1 / 1;border-radius: 28%;background: var(--bg);color: var(--ink);display: flex;align-items: center;justify-content: center;box-shadow: 0 24px 38px -22px color-mix(in srgb,var(--ink) 65%,transparent);animation: qzTile .9s .2s var(--spring) backwards}
.fn-qz-tile svg{width: 44%;height: 44%}
@keyframes qzTile { 0% { transform: scale(0.3) rotate(-14deg); opacity: 0; } }
.fn-qz-fall{position: absolute;left: 62%;top: 23%;width: 18px;height: 18px;border-radius: 50% 0px 50% 50%;transform: rotate(-45deg);background: var(--ac-gold);animation: 0.9s cubic-bezier(0.5, 0, 0.8, 0.5) 0.55s 1 normal backwards running qzFall}
@keyframes qzFall { 0% { transform: translateY(-90px) rotate(-45deg); opacity: 0; } }
@media (prefers-reduced-motion: reduce){.fn-qz-s.fn-a0, .fn-qz-s.fn-a1, .fn-qz-tile, .fn-qz-fall, .fn-qz-drop{animation: auto ease 0s 1 normal none running none !important}}
@media (prefers-reduced-motion: reduce){.fn-qz-rg{opacity: 0.45;transform: scale(0.55);animation: auto ease 0s 1 normal none running none !important}}
@media (prefers-reduced-motion: reduce){.fn-qz-rg.fn-r2{transform: scale(0.78)}}
@media (prefers-reduced-motion: reduce){.fn-qz-rg.fn-r3{transform: scale(1);opacity: 0.25}}
@media (prefers-reduced-motion: reduce){.fn-qz-o, .fn-qz-oi, .fn-qz-tk, .fn-qz-pd::after{transition: none !important}}
.fn-lg{display: grid;grid-template-columns: minmax(0px, 3fr) minmax(0px, 8fr);gap: clamp(24px, 5vw, 72px);align-items: start}
@media (max-width: 900px){.fn-lg{grid-template-columns: minmax(0px, 1fr)}}
.fn-lg-toc{align-self: start;border-radius: 24px;background: var(--card);padding: clamp(8px, 1.2vw, 14px);min-width: 0px}
@media (min-width: 901px){.fn-lg-toc{position: sticky;top: 132px;max-height: calc(-156px + 100vh);overflow: auto}}
.fn-lg-toc-b{display: none;align-items: center;justify-content: space-between;gap: 12px;width: 100%;min-height: 48px;padding: 6px 8px 6px 14px;border: 0px;border-radius: 16px;background: transparent;font-style: inherit;font-variant: inherit;font-stretch: inherit;line-height: inherit;font-family: inherit;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;font-language-override: inherit;font-size: 15px;font-weight: 600;color: var(--ink);cursor: pointer;text-align: left}
.fn-lg-toc-b:focus-visible{outline: 2px solid var(--ink);outline-offset: 2px}
@media (max-width: 900px){.fn-lg-toc-b{display: flex}}
.fn-lg-toc-h{display: none}
.fn-lg-toc-l{display: grid;grid-template-rows: 1fr;transition: grid-template-rows 0.5s cubic-bezier(0.3, 1.1, 0.4, 1), opacity 0.35s, visibility 0.5s}
.fn-lg-toc-l > nav{overflow: hidden;display: flex;flex-direction: column;gap: 2px;min-width: 0px}
@media (max-width: 900px){.fn-lg-toc-l.fn-shut{grid-template-rows: 0fr;opacity: 0;visibility: hidden}}
.fn-lg-toc-t{margin: 0px;padding: 10px 12px 6px;font-size: 12px;font-weight: 600;letter-spacing: 0.04em;text-transform: uppercase;color: var(--mu)}
@media (max-width: 900px){.fn-lg-toc-t{display: none}}
.fn-lg-toc a{display: flex;align-items: baseline;gap: 10px;padding: 9px 12px;border-radius: 12px;font-size: 14px;line-height: 1.35;color: var(--tx);text-decoration: none;transition: background-color 0.25s, color 0.25s, transform 0.3s cubic-bezier(0.2, 1.2, 0.3, 1)}
.fn-lg-toc a:hover{background: var(--bg);color: var(--ink-d);transform: translateX(2px)}
.fn-lg-toc a:focus-visible{outline: 2px solid var(--ink);outline-offset: 1px}
.fn-lg-toc a i{flex: 0 0 auto;min-width: 22px;font-style: normal;font-weight: 600;font-variant-numeric: tabular-nums;color: rgb(199, 177, 177)}
.fn-lg-main{display: flex;flex-direction: column;gap: clamp(36px, 5vw, 64px);min-width: 0px}
.fn-lg-sec{scroll-margin-top: 124px;min-width: 0px}
.fn-lg-h{display: flex;align-items: baseline;gap: 14px;margin: 0px 0px 20px;font-size: clamp(22px, 2.6vw, 30px);font-weight: 600;letter-spacing: -0.04em;line-height: 1.2;color: var(--ink);text-wrap: balance}
.fn-lg-h i{flex: 0 0 auto;font-style: normal;font-size: 0.55em;font-weight: 600;letter-spacing: 0px;padding: 3px 10px;border-radius: 99px;background: linear-gradient(135deg,var(--pink),var(--peach));color: var(--ink);font-variant-numeric: tabular-nums;transform: translateY(-0.2em)}
.fn-lg-p{margin: 0px 0px 14px;font-size: 16px;line-height: 1.7;color: var(--tx);max-width: 74ch}
.fn-lg-p b{font-weight: 600;color: var(--ink)}
.fn-lg-a{color: var(--ink);text-decoration: underline 1.5px rgb(199, 177, 177);text-underline-offset: 3px;overflow-wrap: anywhere;transition: text-decoration-color 0.25s}
.fn-lg-a:hover{text-decoration-color: var(--ink)}
.fn-lg-a:focus-visible{outline: 2px solid var(--ink);outline-offset: 2px;border-radius: 4px}
.fn-lg-sub{margin: 26px 0px 12px;font-size: clamp(17px, 1.6vw, 20px);font-weight: 600;letter-spacing: -0.025em;line-height: 1.3;color: var(--ink)}
.fn-lg-short{display: flex;flex-direction: column;gap: 4px;margin: 0px 0px 16px;padding: 14px 18px;border-radius: 18px;background: linear-gradient(135deg,var(--pink),var(--peach));max-width: 74ch}
.fn-lg-short b{font-size: 12px;font-weight: 600;letter-spacing: 0.04em;text-transform: uppercase;color: rgb(138, 111, 111)}
.fn-lg-short p{margin: 0px;font-size: 16px;line-height: 1.55;font-weight: 500;color: var(--ink)}
.fn-lg-ul{list-style: none;margin: 0px 0px 16px;padding: 0px;display: flex;flex-direction: column;gap: 6px;max-width: 74ch}
.fn-lg-ul li{position: relative;padding-left: 22px;font-size: 16px;line-height: 1.6;color: var(--tx)}
.fn-lg-ul li::before{content: "";position: absolute;left: 4px;top: 0.62em;width: 7px;height: 7px;border-radius: 99px;background: rgb(199, 177, 177)}
.fn-lg-addr{display: flex;flex-direction: column;gap: 2px;margin: 0px 0px 16px;padding: 16px 20px;border-radius: 18px;background: var(--card);font-style: normal;font-size: 16px;line-height: 1.55;color: var(--ink);max-width: 420px}
.fn-lg-chips{display: flex;flex-wrap: wrap;gap: 8px;margin: 0px 0px 16px}
.fn-lg-chips .fn-chipb{min-height: 44px;font-size: 14px;white-space: normal;text-align: left}
.fn-lg-chips .fn-chipb svg{flex: 0 0 auto;opacity: 0.6}
.fn-lg-qc{display: flex;flex-direction: column;gap: 6px;padding: clamp(16px, 2.4vw, 24px);border-radius: 24px;background: var(--card);max-width: 74ch}
.fn-lg-qc h2{margin: 0px;font-size: clamp(18px, 1.8vw, 22px);font-weight: 600;letter-spacing: -0.03em;color: var(--ink)}
.fn-lg-qc .fn-lg-p{margin: 0px}
.fn-kp{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));gap: 10px}
.fn-kp-c{display: flex;flex-direction: column;gap: 8px;padding: clamp(16px, 2vw, 22px);border-radius: 22px;background: var(--card);min-width: 0px;transition: transform 0.45s cubic-bezier(0.2, 1.2, 0.3, 1), background-color 0.35s}
.fn-kp-c:hover{transform: translateY(-3px);background: linear-gradient(135deg,var(--pink),var(--peach))}
.fn-kp-c h3{margin: 0px;font-size: 15px;font-weight: 600;letter-spacing: -0.01em;line-height: 1.35;color: var(--ink)}
.fn-kp-c p{margin: 0px;font-size: 14px;line-height: 1.6;color: var(--tx)}
.fn-lg-end{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 16px;padding: clamp(18px, 2.6vw, 28px);border-radius: 24px;background: linear-gradient(135deg,var(--pink),var(--peach))}
.fn-lg-end div{min-width: 0px}
.fn-lg-end h2{margin: 0px 0px 2px;font-size: clamp(18px, 1.8vw, 22px);font-weight: 600;letter-spacing: -0.03em;color: var(--ink)}
.fn-lg-end p{margin: 0px;font-size: 15px;line-height: 1.5;color: var(--tx);max-width: 44ch}
.fn-lg-end-a{display: flex;flex-wrap: wrap;gap: 8px}
.fn-lg-end .fn-cta.fn-ghost{background: var(--bg)}
.fn-lf-wrap{position: relative;width: 100%;display: flex;flex-direction: column;gap: 12px;margin-top: 6px}
.fn-lf{position: relative;container-type: inline-size;width: 100%;aspect-ratio: 100 / 46;border-radius: 20px;background: color-mix(in srgb,var(--bg) 70%,transparent);overflow: hidden}
.fn-lf-d{position: absolute;display: block;width: clamp(8px, 3.4cqw, 18px);aspect-ratio: 1 / 1;margin: calc(-0.5 * clamp(8px, 3.4cqw, 18px)) 0px 0px calc(-0.5 * clamp(8px, 3.4cqw, 18px));border-radius: 99px;background: var(--brand);transition-behavior: normal, normal, normal, normal, normal;transition-duration: 0.9s, 0.9s, 0.6s, 0.5s, 0.6s;transition-timing-function: cubic-bezier(0.3, 1.15, 0.4, 1), cubic-bezier(0.3, 1.15, 0.4, 1), ease, ease, cubic-bezier(0.3, 1.5, 0.4, 1);transition-property: left, top, background-color, opacity, transform;transition-delay: calc(var(--i) * 12ms)}
.fn-lf-d.fn-g0{background: var(--brand)}
.fn-lf-d.fn-g1{background: rgb(201, 152, 152)}
.fn-lf-d.fn-g2{background: rgb(224, 184, 138)}
.fn-lf-d.fn-bad{background: rgb(231, 160, 160);box-shadow: rgba(231, 160, 160, 0.35) 0px 0px 0px 3px}
.fn-lf-d.fn-flag{animation: 1.3s cubic-bezier(0.5, 0, 0.75, 0.4) 1.1s 1 normal both running badA}
.fn-lf-d.fn-gone{opacity: 0;transform: scale(0.2)}
.fn-lf-d.fn-nw{background: var(--bg);box-shadow: inset 0 0 0 2px var(--ink)}
.fn-lf-d.fn-ping::after{content: "";position: absolute;inset: -2px;border-radius: 99px;border: 1.5px solid var(--ink);opacity: 0;animation-duration: 2.6s;animation-timing-function: ease-out;animation-iteration-count: infinite;animation-direction: normal;animation-fill-mode: none;animation-play-state: running;animation-name: ping;animation-timeline: auto;animation-range: normal;animation-delay: calc(var(--w) * 160ms)}
.fn-lf-d.fn-wave{animation-duration: 2.4s;animation-timing-function: ease-in-out;animation-iteration-count: infinite;animation-direction: normal;animation-fill-mode: none;animation-play-state: running;animation-name: wave;animation-timeline: auto;animation-range: normal;animation-delay: calc(var(--w) * 120ms)}
.fn-p0 .fn-lf-d.fn-flag{animation-name: badA}
.fn-p1 .fn-lf-d.fn-flag{animation-name: badB}
@keyframes badA { 0% { opacity: 1; transform: none; } 25% { transform: scale(1.5); } 100% { opacity: 0; transform: scale(0.2); } }
@keyframes badB { 0% { opacity: 1; transform: none; } 25% { transform: scale(1.5); } 100% { opacity: 0; transform: scale(0.2); } }
@keyframes ping { 0% { opacity: 0.9; transform: scale(1); } 80%, 100% { opacity: 0; transform: scale(2.6); } }
@keyframes emWave { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.45); } }
.fn-lf-leg{display: flex;flex-wrap: wrap;gap: 6px 16px}
.fn-lf-k{display: inline-flex;align-items: center;gap: 8px;font-size: 13px;font-weight: 500;color: var(--tx);animation: 0.5s cubic-bezier(0.2, 1.5, 0.3, 1) 0s 1 normal backwards running pop}
.fn-lf-k i{flex: 0 0 auto;width: 12px;height: 12px;border-radius: 99px;background: var(--brand)}
.fn-lf-k i.fn-g1{background: rgb(201, 152, 152)}
.fn-lf-k i.fn-g2{background: rgb(224, 184, 138)}
.fn-lf-k i.fn-bad{background: rgb(231, 160, 160);box-shadow: rgba(231, 160, 160, 0.35) 0px 0px 0px 3px}
.fn-lf-k i.fn-nw{background: var(--bg);box-shadow: inset 0 0 0 2px var(--ink)}
.fn-lf-n{margin: 0px;font-size: 13px;color: var(--mu)}
.fn-em-prices{display: flex;flex-wrap: wrap;gap: 12px 36px}
.fn-em-pr{display: flex;flex-direction: column;gap: 4px;min-width: 0px}
.fn-em-l{font-size: 13px;font-weight: 600;letter-spacing: 0.02em;text-transform: uppercase;color: var(--mu)}
.fn-em-plans .fn-odo{--fs: clamp(40px,5vw,60px)}
@media (prefers-reduced-motion: reduce){.fn-lf-d.fn-ping::after, .fn-lf-d.fn-wave, .fn-lf-d.fn-flag{animation: auto ease 0s 1 normal none running none}}
@media (prefers-reduced-motion: reduce){.fn-lf-d.fn-flag{opacity: 1}}
.fn-em-plans{align-items: start}
.fn-em-d{width: 7cqw;height: 7cqw;border-radius: 50%;background: color-mix(in srgb,var(--ink) 12.4%,transparent);opacity: calc(clamp(0,calc(var(--q,1) * 4),1) * (1 - .62 * var(--t4)));--lit: clamp(0,calc(var(--t2) * 2.4 - var(--k) * .2),1)}
.fn-em-d::after{content: "";position: absolute;inset: 0px;border-radius: 50%;background: color-mix(in srgb,var(--acc) 46%,var(--surf));opacity: var(--lit);scale: calc(.35 + .65 * var(--lit));box-shadow: 0 0 calc(var(--lit) * 3cqw) color-mix(in srgb,var(--acc) 47.2%,transparent)}
.fn-em-ch{display: block;overflow: visible}
.fn-em-ln{stroke-dasharray: 1;stroke-dashoffset: calc(1 - var(--e4))}
.fn-em-ar{opacity: calc(var(--e4) * var(--e4))}
.fn-em-ln{color: var(--acc)}
.fn-nf{padding-top: clamp(48px, 9vw, 112px);padding-bottom: clamp(72px, 10vw, 128px);display: flex;flex-direction: column;align-items: center;text-align: center;gap: clamp(18px, 2.6vw, 28px)}
.fn-nf > *{max-width: 100%}
.fn-nf-digits{display: flex;align-items: center;justify-content: center;gap: 0.03em;font-size: clamp(88px, 25vw, 300px);line-height: 0.9;font-weight: 600;letter-spacing: -0.06em;color: var(--ink)}
.fn-nf-d{display: block;animation-delay: calc(var(--i) * 120ms)}
.fn-nf-t{margin: 0px;font-size: clamp(26px, 4vw, 44px);font-weight: 600;letter-spacing: -0.04em;line-height: 1.12;color: var(--ink);animation-delay: calc(var(--i) * 120ms)}
.fn-nf .fn-fx-in{animation-delay: calc(var(--i) * 120ms)}
.fn-nf-links{display: flex;flex-wrap: wrap;justify-content: center;gap: 10px;margin-top: 6px}
.fn-nf-o{--sn-bg1: #324457;--sn-bg2: #17222d;--sn-line: rgba(226,234,242,.17);--sn-line2: rgba(226,234,242,.34);--sn-echo: #E8F0F7;--sn-gold: var(--ac-gold);position: relative;display: block;width: 0.74em;height: 0.74em;margin: 0px 0.02em;border-radius: 50%;animation-delay: calc(var(--i) * 120ms)}
:root[data-theme="dark"] .fn-nf-o{--sn-bg1: #18232d;--sn-bg2: #080c10;--sn-line: rgba(226,234,242,.15);--sn-line2: rgba(226,234,242,.3)}
.fn-nf-sonar{position: absolute;inset: 0px;width: 100%;height: 100%;padding: 0px;border: 0px;border-radius: 50%;overflow: hidden;cursor: pointer;font-size: inherit;color: inherit;-webkit-tap-highlight-color: transparent;background: radial-gradient(circle closest-side at 50% 50%,var(--sn-bg1) 0,var(--sn-bg2) 100%);box-shadow: inset 0 0 0 .012em var(--sn-line2),0 .05em .14em -.06em color-mix(in srgb,var(--ink) 55%,transparent);transition: scale .5s var(--spring)}
:root[data-theme="dark"] .fn-nf-sonar{box-shadow: inset 0 0 0 .012em var(--sn-line2),0 0 0 .012em var(--line)}
.fn-nf-sonar:active{scale: 0.965}
.fn-nf-sonar:focus-visible{outline: none;box-shadow: inset 0 0 0 .012em var(--sn-line2),0 0 0 .02em var(--bg),0 0 0 .04em var(--ink)}
.fn-nf-sonar > *{position: absolute;pointer-events: none}
.fn-sn-grid{inset: 0px;border-radius: 50%;background: repeating-radial-gradient(circle closest-side at 50% 50%,transparent 0 23.4%,var(--sn-line) 23.4% 25%),linear-gradient(var(--sn-line),var(--sn-line)) 50% 50%/1px 100% no-repeat,linear-gradient(var(--sn-line),var(--sn-line)) 50% 50%/100% 1px no-repeat}
.fn-sn-tick{inset: 0px;border-radius: 50%;background: repeating-conic-gradient(from -.4deg,var(--sn-line2) 0 .8deg,transparent .8deg 10deg);mask-image: radial-gradient(circle closest-side, transparent 90%, rgb(0, 0, 0) 91%)}
.fn-sn-sweep{inset: 0px;border-radius: 50%;background: conic-gradient(from 0deg at 50% 50%,transparent 0 258deg,color-mix(in srgb,var(--sn-gold) 6%,transparent) 258deg,color-mix(in srgb,var(--sn-gold) 52%,transparent) 360deg);mask-image: radial-gradient(circle closest-side, rgb(0, 0, 0) 0px, rgb(0, 0, 0) 78%, rgba(0, 0, 0, 0.55) 100%);animation: 4.2s linear 0s infinite normal none running snSpin}
.fn-sn-sweep::after{content: "";position: absolute;left: 50%;top: 0px;width: max(1px, 0.008em);height: 50%;margin-left: max(-0.5px, -0.004em);background: linear-gradient(to top,var(--sn-gold),color-mix(in srgb,var(--sn-gold) 30%,transparent))}
@keyframes snSpin { 100% { transform: rotate(360deg); } }
.fn-sn-b{width: max(0.04em, 4px);height: max(0.04em, 4px);margin: calc(-0.5 * max(0.04em, 4px)) 0px 0px calc(-0.5 * max(0.04em, 4px));border-radius: 50%;background: var(--sn-echo);box-shadow: 0 0 .05em .012em color-mix(in srgb,var(--sn-echo) 60%,transparent);opacity: 0;animation: snBlip 4.2s linear calc(var(--a) / 360 * 4.2s) infinite}
@keyframes snBlip { 0% { opacity: 1; scale: 1.7; } 8% { opacity: 0.9; scale: 1.2; } 48% { opacity: 0; scale: 1; } 100% { opacity: 0; scale: 1; } }
.fn-ping-a .fn-sn-b{animation: snBlip 4.2s linear calc(var(--a) / 360 * 4.2s) infinite,snEchoA 1.5s ease-out calc(var(--r) * .8s) backwards}
.fn-ping-b .fn-sn-b{animation: snBlip 4.2s linear calc(var(--a) / 360 * 4.2s) infinite,snEchoB 1.5s ease-out calc(var(--r) * .8s) backwards}
@keyframes snEchoA { 0%, 12% { opacity: 0; scale: 0.6; } 22% { opacity: 1; scale: 2; } 100% { opacity: 0; scale: 1; } }
@keyframes snEchoB { 0%, 12% { opacity: 0; scale: 0.6; } 22% { opacity: 1; scale: 2; } 100% { opacity: 0; scale: 1; } }
.fn-sn-ping{left: 50%;top: 50%;width: 100%;height: 100%;margin: -50% 0px 0px -50%;border-radius: 50%;box-shadow: 0 0 0 max(1.5px,.014em) var(--sn-gold),0 0 .08em color-mix(in srgb,var(--sn-gold) 50%,transparent);opacity: 0}
.fn-ping-a .fn-sn-ping{animation: 1.3s cubic-bezier(0.2, 0.7, 0.25, 1) 0s 1 normal none running snPingA}
.fn-ping-b .fn-sn-ping{animation: 1.3s cubic-bezier(0.2, 0.7, 0.25, 1) 0s 1 normal none running snPingB}
.fn-ping-a .fn-sn-ping.fn-b{animation: 1.3s cubic-bezier(0.2, 0.7, 0.25, 1) 0.22s 1 normal backwards running snPingA}
.fn-ping-b .fn-sn-ping.fn-b{animation: 1.3s cubic-bezier(0.2, 0.7, 0.25, 1) 0.22s 1 normal backwards running snPingB}
@keyframes snPingA { 0% { opacity: 0.95; transform: scale(0.04); } 100% { opacity: 0; transform: scale(1.02); } }
@keyframes snPingB { 0% { opacity: 0.95; transform: scale(0.04); } 100% { opacity: 0; transform: scale(1.02); } }
.fn-sn-out{position: absolute;inset: 0px;border-radius: 50%;box-shadow: 0 0 0 max(1px,.008em) color-mix(in srgb,var(--ink) 30%,transparent);opacity: 0;pointer-events: none}
.fn-ping-a .fn-sn-out{animation: 1.2s cubic-bezier(0.2, 0.7, 0.25, 1) 0s 1 normal none running snOutA}
.fn-ping-b .fn-sn-out{animation: 1.2s cubic-bezier(0.2, 0.7, 0.25, 1) 0s 1 normal none running snOutB}
@keyframes snOutA { 0% { opacity: 0.8; transform: scale(1); } 100% { opacity: 0; transform: scale(1.42); } }
@keyframes snOutB { 0% { opacity: 0.8; transform: scale(1); } 100% { opacity: 0; transform: scale(1.42); } }
.fn-sn-c{left: 50%;top: 50%;width: max(0.03em, 3px);height: max(0.03em, 3px);margin: calc(-0.5 * max(0.03em, 3px)) 0px 0px calc(-0.5 * max(0.03em, 3px));border-radius: 50%;background: var(--sn-echo);opacity: 0.9}
.fn-sn-lead{left: 72%;top: 44%;width: 0.2em;height: 0.2em;margin: -0.1em 0px 0px -0.1em;display: flex;align-items: center;justify-content: center;scale: 0;opacity: 0;transition: scale .6s var(--spring),opacity .3s}
.fn-found .fn-sn-lead{scale: 1;opacity: 1}
.fn-sn-lead::before{content: "";position: absolute;left: 50%;top: 50%;width: 0.13em;height: 0.13em;margin: -0.065em 0px 0px -0.065em;border-radius: 50%;box-shadow: 0 0 0 max(1px,.008em) color-mix(in srgb,var(--sn-gold) 80%,transparent);opacity: 0}
.fn-found .fn-sn-lead::before{animation: 2.4s ease-out 0.5s infinite normal none running snRip}
@keyframes snRip { 0% { opacity: 0.85; transform: scale(0.5); } 100% { opacity: 0; transform: scale(2.1); } }
.fn-sn-drop{display: block;width: 0.088em;height: 0.088em;flex: 0 0 auto;border-radius: 50% 0px 50% 50%;rotate: -45deg;background: var(--sn-gold);box-shadow: 0 0 .06em color-mix(in srgb,var(--sn-gold) 70%,transparent)}
.fn-nf-stat{display: flex;flex-wrap: wrap;justify-content: center;gap: 8px;animation-delay: calc(var(--i) * 120ms)}
.fn-nf-sc{display: inline-flex;align-items: center;gap: 7px;min-height: 32px;padding: 4px 14px;border-radius: 999px;background: var(--card);color: var(--tx);font-size: 13px;font-weight: 500;line-height: 1.3}
.fn-nf-sc b{font-weight: 600;color: var(--ink);font-variant-numeric: tabular-nums}
.fn-nf-lede{max-width: 46ch}
.fn-nf-joke{margin: 0px;max-width: 44ch;font-size: 15px;line-height: 1.55;color: var(--mu);min-height: 2.4em;text-wrap: balance}
.fn-nf-joke.fn-hint{animation: 2.6s ease-in-out 1.6s infinite normal none running nfNudge}
.fn-nf-joke.fn-say{color: var(--ink);font-weight: 500;animation: nfSay .55s var(--spring) backwards}
@keyframes nfNudge { 0%, 70%, 100% { transform: none; } 80% { transform: translateY(-3px); } 90% { transform: none; } }
@keyframes nfSay { 0% { opacity: 0; transform: translateY(8px) scale(0.97); } }
.fn-nf-jl{min-height: 0px;font-size: inherit}
@media (prefers-reduced-motion: reduce){.fn-sn-sweep, .fn-sn-b, .fn-ping-a .fn-sn-b, .fn-ping-b .fn-sn-b, .fn-nf-joke.fn-hint, .fn-nf-joke.fn-say, .fn-ping-a .fn-sn-ping, .fn-ping-b .fn-sn-ping, .fn-ping-a .fn-sn-ping.fn-b, .fn-ping-b .fn-sn-ping.fn-b, .fn-ping-a .fn-sn-out, .fn-ping-b .fn-sn-out, .fn-found .fn-sn-lead::before{animation: auto ease 0s 1 normal none running none !important}}
@media (prefers-reduced-motion: reduce){.fn-sn-sweep{transform: rotate(200deg)}}
@media (prefers-reduced-motion: reduce){.fn-sn-b{opacity: 0.6}}
@media (prefers-reduced-motion: reduce){.fn-nf-sonar, .fn-sn-lead{transition: none}}
.fn-pk-hero{display: grid;grid-template-columns: minmax(0px, 1.05fr) minmax(0px, 1fr);gap: clamp(36px, 5vw, 72px);align-items: end}
@media (max-width: 900px){.fn-pk-hero{grid-template-columns: minmax(0px, 1fr)}}
.fn-hero-t{display: flex;flex-direction: column;gap: clamp(16px, 2vw, 22px)}
.fn-stairs{position: relative;display: grid;grid-template-columns: repeat(3, minmax(0px, 1fr));align-items: end;gap: 10px;padding-top: 0px;--h1: clamp(116px,13vw,168px);--h2: clamp(168px,19vw,246px);--h3: clamp(220px,25vw,326px)}
.fn-step{position: relative;display: flex;flex-direction: column;justify-content: flex-end;gap: 2px;height: var(--h);padding: clamp(12px, 1.6vw, 20px);border-radius: 20px;background: var(--card);color: var(--ink);text-decoration: none;overflow: hidden;isolation: isolate;transition: transform 0.5s cubic-bezier(0.2, 1.2, 0.3, 1), box-shadow 0.5s;animation: 1s cubic-bezier(0.2, 1, 0.3, 1) 0s 1 normal backwards running rise}
.fn-step::before{content: "";position: absolute;inset: 0px;z-index: -1;background: linear-gradient(135deg,var(--pink),var(--peach));opacity: 0;transition: opacity 0.5s}
.fn-step.fn-on::before, .fn-step:hover::before{opacity: 1}
.fn-step:hover{transform: translateY(-6px);box-shadow: rgba(199, 140, 140, 0.55) 0px 30px 60px -30px;color: var(--ink-d)}
.fn-step:active{transform: translateY(-2px) scale(0.98)}
.fn-step:focus-visible, .fn-addb:focus-visible, .fn-seg-b:focus-visible, .fn-cmp-h:focus-visible, .fn-ao:focus-visible{outline: 2px solid var(--ink);outline-offset: 3px}
.fn-step-n{font-size: clamp(14px, 1.5vw, 17px);font-weight: 600;letter-spacing: -0.02em}
.fn-step-p{font-size: clamp(15px, 5vw, 19px);font-weight: 600;letter-spacing: -0.045em;line-height: 1.05;font-variant-numeric: tabular-nums;white-space: nowrap}
.fn-step-p small{display: block;margin-top: 3px;font-size: 12px;letter-spacing: 0px;font-weight: 500;color: var(--mu)}
@keyframes rise { 0% { opacity: 0; translate: 0px 28px; clip-path: inset(100% 0px 0px round 20px); } 100% { opacity: 1; translate: 0px; clip-path: inset(0px round 20px); } }
.fn-addb{grid-area: 2 / 1 / auto / -1;order: 9;margin-top: 10px;height: 58px;padding: 0px 20px;border-radius: 20px;border: 1.5px dashed color-mix(in srgb,var(--ink) 28%,transparent);background: transparent;color: var(--ink);font-size: 15px;font-weight: 600;display: flex;align-items: center;justify-content: center;gap: 10px;text-decoration: none;transition: background-color 0.3s, border-color 0.3s, transform 0.4s cubic-bezier(0.2, 1.3, 0.3, 1);animation: 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) 0.9s 1 normal backwards running fxIn}
.fn-addb em{font-style: normal;font-weight: 500;color: var(--mu)}
.fn-addb:hover{background: color-mix(in srgb,var(--ink) 6%,transparent);border-color: var(--ink);color: var(--ink);transform: translateY(-2px)}
@keyframes bob { 50% { translate: 0px -6px; } }
.fn-climb{position: absolute;z-index: 2;width: 14px;height: 14px;border-radius: 99px;background: var(--bg);box-shadow: 0 0 0 4px rgba(199,177,177,.55),0 6px 14px color-mix(in srgb,var(--ink) 25%,transparent);translate: -50% calc(-100% - 8px);pointer-events: none;left: calc(16.6667% - 3.33333px);bottom: var(--h1);opacity: 0;animation: 9s cubic-bezier(0.5, 0, 0.3, 1) 2s infinite normal none running climb}
@keyframes climb { 0% { left: calc(16.6667% - 3.33333px); bottom: var(--h1); opacity: 0; } 6% { opacity: 1; } 22% { left: calc(16.6667% - 3.33333px); bottom: var(--h1); } 32%, 52% { left: 50%; bottom: var(--h2); } 62% { left: calc(83.3333% + 3.33333px); bottom: var(--h3); } 86% { left: calc(83.3333% + 3.33333px); bottom: var(--h3); opacity: 1; } 92%, 100% { left: calc(83.3333% + 3.33333px); bottom: var(--h3); opacity: 0; } }
.fn-cmp{position: relative;--lab: 200px;border-radius: 28px;background: var(--card);padding: 8px}
.fn-cmp-hl{position: absolute;top: 8px;bottom: 8px;left: calc(8px + var(--lab) + (100% - 16px - var(--lab)) / 3 * var(--k));width: calc((100% - 16px - var(--lab)) / 3);border-radius: 20px;background: linear-gradient(135deg,var(--pink),var(--peach));transition: left 0.6s cubic-bezier(0.3, 1.25, 0.4, 1);pointer-events: none}
.fn-cmp-row{position: relative;display: grid;grid-template-columns: var(--lab) repeat(3,minmax(0,1fr));align-items: start}
.fn-cmp-row > *{padding: 18px 16px}
.fn-cmp-row + .fn-cmp-row{border-top: 1px solid color-mix(in srgb,var(--ink) 8%,transparent)}
.fn-cmp-head > *{padding-top: 14px;padding-bottom: 14px}
.fn-cmp-lab{font-size: 16px;font-weight: 600;letter-spacing: -0.02em;color: var(--ink)}
.fn-cmp-c{font-size: 14px;line-height: 1.55;color: var(--tx);transition: color 0.3s}
.fn-cmp-c.fn-on{color: var(--ink-d)}
.fn-cmp-c.fn-na{color: rgb(180, 180, 180)}
.fn-cmp-c::before{content: none}
.fn-cmp-h{width: 100%;border: 0px;background: transparent;font: inherit;cursor: pointer;text-align: left;border-radius: 14px;padding: 4px 0px;display: flex;flex-direction: column;gap: 2px;color: var(--ink);transition: transform 0.3s cubic-bezier(0.2, 1.2, 0.3, 1)}
.fn-cmp-h b{font-size: 18px;font-weight: 600;letter-spacing: -0.03em}
.fn-cmp-h i{font-style: normal;font-size: 14px;color: var(--mu);font-variant-numeric: tabular-nums}
.fn-cmp-h:hover{transform: translateY(-2px)}
@media (max-width: 860px){.fn-cmp{--lab: 0px;padding: 6px}}
@media (max-width: 860px){.fn-cmp-hl, .fn-cmp-head{display: none}}
@media (max-width: 860px){.fn-cmp-row{grid-template-columns: minmax(0px, 1fr)}}
@media (max-width: 860px){.fn-cmp-row > *{padding: 12px 14px}}
@media (max-width: 860px){.fn-cmp-lab{padding-top: 20px;font-size: 18px}}
@media (max-width: 860px){.fn-cmp-row + .fn-cmp-row{border-top: 0px;margin-top: 6px}}
@media (max-width: 860px){.fn-cmp-c::before{content: attr(data-t);display: block;margin-bottom: 3px;font-size: 12px;font-weight: 600;letter-spacing: 0.02em;text-transform: uppercase;color: rgb(180, 180, 180)}}
@media (max-width: 860px){.fn-cmp-c.fn-on{background: linear-gradient(135deg,var(--pink),var(--peach));border-radius: 14px}}
.fn-bd{display: flex;flex-direction: column;gap: 12px}
.fn-bd-s{border-radius: 28px;background: var(--card);padding: clamp(20px, 3.4vw, 36px);display: grid;grid-template-columns: auto minmax(0px, 1fr);gap: 18px clamp(14px, 2vw, 24px);align-items: start}
.fn-bn{width: 40px;height: 40px;border-radius: 99px;background: var(--bg);color: var(--ink);font-weight: 600;display: flex;align-items: center;justify-content: center;font-variant-numeric: tabular-nums}
.fn-bd-h{margin: 0px;padding-top: 6px;font-size: clamp(19px, 2vw, 24px);font-weight: 600;letter-spacing: -0.03em;line-height: 1.3;color: var(--ink)}
.fn-bd-b{grid-column: 1 / -1}
@media (min-width: 640px){.fn-bd-b{grid-column: 2}}
@media (prefers-reduced-motion: reduce){.fn-spin, .fn-climb, .fn-addb{animation: auto ease 0s 1 normal none running none}}
@media (prefers-reduced-motion: reduce){.fn-pbl li::after, .fn-rail::after{animation: auto ease 0s 1 normal none running none;transform: none}}
@media (min-width: 900px){.fn-step-p{font-size: clamp(19px, 2.6vw, 34px)}}
.fn-cmp-sh{margin: 0px}
.fn-cmp-tg{display: flex;align-items: center;justify-content: space-between;gap: 14px;width: 100%;padding: clamp(16px, 2.4vw, 24px) clamp(18px, 3vw, 32px);border: 0px;border-radius: 28px;background: var(--card);font: inherit;letter-spacing: inherit;color: var(--ink);text-align: left;cursor: pointer}
.fn-cmp-act{display: inline-flex;align-items: center;gap: 8px;flex: 0 0 auto;font-size: 14px;font-weight: 600;color: var(--tx)}
.fn-cmp-act svg{transition: transform 0.45s cubic-bezier(0.2, 1.3, 0.3, 1)}
.fn-cmp-tg[aria-expanded="true"] .fn-cmp-act svg{transform: rotate(180deg)}
@media (max-width: 560px){.fn-cmp-act > span{display: none}}
.fn-cmp-tg:focus-visible{outline: 2px solid var(--ink);outline-offset: 3px}
.fn-plan-note{margin: 0px;padding: 14px 16px;border-radius: 16px;background: color-mix(in srgb,var(--surf) 70%,transparent);font-size: 14px;line-height: 1.55;color: var(--tx)}
.fn-pln{display: grid;grid-template-columns: minmax(0px, 6fr) minmax(0px, 5fr);gap: 12px;align-items: stretch}
@media (max-width: 900px){.fn-pln{grid-template-columns: minmax(0px, 1fr)}}
.fn-pln-ctl{display: flex;flex-direction: column;border-radius: 28px;background: var(--card);min-width: 0px}
.fn-pln-ctl .fn-pln-step + .fn-pln-step{border-top: 1px solid color-mix(in srgb,var(--ink) 8%,transparent)}
.fn-pln-ctl .fn-pln-step{flex: 1 1 0%}
.fn-pln-step{display: grid;grid-template-columns: auto minmax(0px, 1fr);gap: 14px clamp(12px, 2vw, 20px);align-items: start;padding: clamp(18px, 3vw, 32px)}
.fn-pln-h{margin: 0px;padding-top: 6px;font-size: clamp(18px, 1.8vw, 22px);font-weight: 600;letter-spacing: -0.03em;line-height: 1.3;color: var(--ink)}
.fn-pln-b{grid-column: 1 / -1;display: flex;flex-direction: column;gap: 12px;min-width: 0px}
@media (min-width: 640px){.fn-pln-b{grid-column: 2}}
.fn-pln-step .fn-ads-bn{width: 40px;height: 40px;border-radius: 99px;background: var(--bg);color: var(--ink);font-weight: 600;display: flex;align-items: center;justify-content: center;font-variant-numeric: tabular-nums}
.fn-pln-n{margin: 0px;font-size: 14px;line-height: 1.55;color: var(--mu)}
.fn-pln-n.fn-warn{color: rgb(154, 106, 86)}
.fn-stops{position: relative;display: grid;grid-template-columns: repeat(5, minmax(0px, 1fr));padding-top: 4px}
.fn-stops-rail{position: absolute;left: 10%;right: 10%;top: 17px;height: 4px;border-radius: 4px;background: var(--line)}
.fn-stops-rail i{display: block;height: 100%;border-radius: 4px;background: var(--brand);transition: width 0.7s cubic-bezier(0.3, 1.1, 0.4, 1)}
.fn-stop{position: relative;display: flex;flex-direction: column;align-items: center;gap: 10px;padding: 0px 0px 4px;border: 0px;background: transparent;font: inherit;color: var(--mu);cursor: pointer;min-width: 0px;transition: color 0.3s, transform 0.3s cubic-bezier(0.2, 1.3, 0.3, 1)}
.fn-stop:hover{color: var(--ink);transform: translateY(-2px)}
.fn-stop:active{transform: scale(0.95)}
.fn-stop:focus-visible{outline: 2px solid var(--ink);outline-offset: 2px;border-radius: 10px}
.fn-stop i{display: block;width: 28px;height: 28px;border-radius: 99px;background: var(--bg);box-shadow: inset 0 0 0 2px var(--line);transition: background-color 0.35s, box-shadow 0.35s, transform 0.5s cubic-bezier(0.2, 1.6, 0.3, 1)}
.fn-stop.fn-dn i{background: var(--brand);box-shadow: none}
.fn-stop.fn-on i{background: var(--bg);box-shadow: 0 0 0 6px rgba(199,177,177,.55),inset 0 0 0 8px var(--ink);transform: scale(1.15)}
.fn-stop b{font-size: clamp(12px, 1.4vw, 15px);font-weight: 600;letter-spacing: -0.02em;font-variant-numeric: tabular-nums}
.fn-stop.fn-on{color: var(--ink)}
.fn-pln-res{display: flex;flex-direction: column;justify-content: center;gap: 14px;border-radius: 28px;background: linear-gradient(135deg,var(--pink),var(--peach));padding: clamp(20px, 3.4vw, 40px);min-width: 0px}
.fn-pln-lab{font-size: 13px;font-weight: 600;letter-spacing: 0.02em;text-transform: uppercase;color: var(--mu)}
.fn-pln-sum{margin: 0px;font-size: 15px;line-height: 1.5;color: var(--tx)}
.fn-pln-bar{display: flex;height: 48px;gap: 4px;margin-top: 6px}
.fn-pln-bar span{display: block;min-width: 14px;border-radius: 14px;transition: flex-basis 0.8s cubic-bezier(0.3, 1.1, 0.4, 1)}
.fn-pb-spend{background: var(--brand)}
.fn-pb-fee{background: var(--bg)}
.fn-pln-key{display: flex;flex-direction: column;gap: 10px}
.fn-pln-key span{position: relative;display: flex;flex-wrap: wrap;align-items: baseline;gap: 2px 8px;padding-left: 22px;font-size: 14px;color: var(--tx)}
.fn-pln-key i{position: absolute;left: 0px;top: 4px;width: 12px;height: 12px;border-radius: 99px;background: var(--brand)}
.fn-pln-key i.fn-k2{background: var(--bg);box-shadow: rgb(199, 177, 177) 0px 0px 0px 1.5px inset}
.fn-pln-key b{font-size: 16px;font-weight: 600;letter-spacing: -0.02em;color: var(--ink);font-variant-numeric: tabular-nums}
.fn-pln-key em{flex-basis: 100%;font-style: normal;font-size: 13px;color: var(--mu)}
.fn-pa-d{width: 5.5cqw;height: 5.5cqw;border-radius: 50%;background: color-mix(in srgb,var(--ink) 21.1%,transparent);--f: clamp(0,calc(var(--t2) * 1.7 - .05),1)}
.fn-pa-d.fn-out{opacity: calc(clamp(0,calc(var(--q,1) * 4),1) * (1 - .86 * var(--o,0)))}
.fn-pa-d.fn-in::after{content: "";position: absolute;inset: -0.4cqw;border-radius: 50%;background: var(--acc);opacity: var(--f);scale: calc(.4 + .6 * var(--f));box-shadow: 0 0 2.2cqw color-mix(in srgb,var(--acc) 52.5%,transparent)}
.fn-pa-ring{left: calc(30cqw);top: calc(14cqw);width: 40cqw;height: 40cqw;opacity: clamp(0,calc(var(--t2) * 4),1);scale: calc(1 + 1.7 * (1 - var(--e2)));transform-origin: center center;pointer-events: none}
.fn-pa-ring i{position: absolute;inset: 0px;border-radius: 50%;border: .7cqw solid var(--acc);box-shadow: 0 0 0 .8cqw color-mix(in srgb,var(--acc) 12.6%,transparent),inset 0 0 6cqw color-mix(in srgb,var(--acc) 10.5%,transparent)}
.fn-pa-ring::before{content: "";position: absolute;inset: -2cqw;border-radius: 50%;border: 1.5px dashed color-mix(in srgb,var(--ink) 24.8%,transparent);animation: 16s linear 0s infinite normal none running sxSpin}
.fn-pa-ring{opacity: calc(clamp(0,calc(var(--t2) * 4),1) * (1 - clamp(0,calc(var(--t3) * 3),1) * .6) * (1 - var(--t4)))}
.fn-pa-ad{display: flex;align-items: center;gap: 3cqw;padding: 3cqw}
.fn-pa-ad .fn-th{flex: 0 0 auto;width: 20cqw;height: 100%;border-radius: 1.8cqw;background: linear-gradient(135deg,var(--pink),color-mix(in srgb,var(--acc) 38%,var(--pink)))}
.fn-pa-ad .fn-tx{flex: 1 1 0%;display: flex;flex-direction: column;gap: 1.6cqw}
.fn-pa-ad .fn-tx i{display: block;height: 1.8cqw;border-radius: 9px;background: color-mix(in srgb,var(--ink) 31%,transparent)}
.fn-pa-ad .fn-tx i + i{width: 60%;background: color-mix(in srgb,var(--ink) 17.4%,transparent)}
.fn-pa-ad .fn-btn{flex: 0 0 auto;padding: 2cqw 3.4cqw;border-radius: 99px;background: var(--acc);color: rgb(255, 255, 255);font-size: max(11.5px, 3cqw);font-weight: 600;white-space: nowrap;scale: calc(1 - .09 * clamp(0,calc((var(--t3) - .8) * 8),1) * (1 - clamp(0,calc((var(--t3) - .93) * 14),1)))}
.fn-pa-cur{display: block;opacity: calc(clamp(0,calc(var(--t3) * 3),1) * (1 - var(--t4)));translate: calc((1 - var(--e3)) * 16cqw) calc((1 - var(--e3)) * 10cqw);filter: drop-shadow(rgba(0, 0, 0, 0.35) 0px 0.6cqw 0.8cqw)}
.fn-pa-rip{border-radius: 50%;border: .6cqw solid var(--acc);--c: clamp(0,calc((var(--t3) - .82) * 5.5),1);opacity: calc((1 - var(--c)) * clamp(0,calc(var(--c) * 40),1));scale: calc(.3 + 1.2 * var(--c));margin: -1cqw 0px 0px -1cqw;pointer-events: none}
.fn-inc-card{margin-top: 12px;border-radius: 28px;background: var(--card);padding: clamp(20px, 3vw, 36px);display: flex;flex-direction: column;gap: clamp(14px, 2vw, 22px)}
.fn-inc-hd{display: flex;flex-direction: column;gap: 6px}
.fn-inc-grid{display: grid;grid-template-columns: repeat(2, minmax(0px, 1fr));column-gap: clamp(20px, 4vw, 56px)}
@media (max-width: 760px){.fn-inc-grid{grid-template-columns: minmax(0px, 1fr)}}
.fn-inc-grid .fn-inc{padding: 13px 0px}
.fn-inc-note{margin: 0px;padding-top: clamp(12px, 1.6vw, 18px);border-top: 1px solid color-mix(in srgb,var(--ink) 8%,transparent);font-size: 14px;line-height: 1.6;color: var(--mu);max-width: 78ch}
.fn-fm-seg{--w: 780px;margin-bottom: 12px}
.fn-fm{display: flex;flex-direction: column;gap: clamp(12px, 2vw, 20px);border-radius: 28px;background: var(--card);padding: clamp(16px, 3vw, 36px);min-width: 0px}
.fn-fm-stage{--H: clamp(240px,38vw,420px);position: relative;display: flex;align-items: center;justify-content: center;height: var(--H);border-radius: 20px;background: var(--bg);overflow: hidden}
.fn-fm-stage::before{content: "";position: absolute;inset: 0px;background-image: radial-gradient(color-mix(in srgb,var(--ink) 12%,transparent) 1px,transparent 1.2px);background-size: 18px 18px;opacity: 0.7;mask-image: radial-gradient(rgb(0, 0, 0) 40%, transparent 80%)}
.fn-fm-sheet{position: relative;width: min(calc(var(--H) * var(--sw,.78)),calc(100% - 28px));height: calc(var(--H) * var(--sh,.45));max-height: calc(var(--H) - 24px);border-radius: 8px;background: var(--bg);box-shadow: 0 1px 0 color-mix(in srgb,var(--ink) 6%,transparent),0 28px 50px -22px color-mix(in srgb,var(--ink) 50%,transparent),0 0 0 1px color-mix(in srgb,var(--ink) 6%,transparent);overflow: hidden;transition: width 0.7s cubic-bezier(0.3, 1.15, 0.4, 1), height 0.7s cubic-bezier(0.3, 1.15, 0.4, 1), border-radius 0.5s;container-type: inline-size}
.fn-pp{position: absolute;inset: 0px;display: flex}
.fn-pp u{display: block;height: 3.2cqw;border-radius: 99px;background: var(--line);width: 100%}
.fn-pp u.fn-s{width: 60%}
.fn-pp u.fn-b{background: var(--brand)}
.fn-pp u.fn-h{height: 7cqw;background: var(--brand)}
.fn-pp-m{display: block;flex: 0 0 auto;width: 11cqw;aspect-ratio: 1 / 1;border-radius: 99px;background: linear-gradient(135deg, rgb(199, 177, 177), rgb(233, 201, 165))}
.fn-pp .fn-im{display: block;border-radius: 6px;background: linear-gradient(135deg,var(--pink),var(--peach))}
.fn-pp .fn-cbtn{display: block;width: 34%;height: 6cqw;border-radius: 99px;background: var(--brand)}
.fn-pp-card{align-items: center;justify-content: space-between;gap: 6cqw;padding: 7cqw;background: linear-gradient(135deg,var(--pink),var(--peach))}
.fn-pp-card .fn-pp-m{width: 26cqw;background: var(--brand)}
.fn-pp-card .fn-pp-t{display: flex;flex: 1 1 0%;flex-direction: column;gap: 3cqw}
.fn-pp-bro{gap: 0px}
.fn-pp-bro .fn-pn{position: relative;flex: 1 1 0px;display: flex;flex-direction: column;gap: 3cqw;padding: 5cqw 4cqw;min-width: 0px}
.fn-pp-bro .fn-pn + .fn-pn{border-left: 1.5px dashed color-mix(in srgb,var(--ink) 25%,transparent)}
.fn-pp-bro .fn-pn:first-child{background: linear-gradient(160deg,var(--pink),var(--peach));justify-content: flex-end}
.fn-pp-bro .fn-pn:first-child .fn-pp-m{width: 9cqw;position: absolute;top: 5cqw;left: 4cqw}
.fn-pp-bro .fn-im{flex: 1 1 0%}
.fn-pp-leaf{flex-direction: column;gap: 3.4cqw;padding: 0px 7cqw 7cqw}
.fn-pp-leaf .fn-band{display: block;margin: 0px -7cqw;height: 16cqw;background: var(--brand)}
.fn-pp-leaf .fn-im{flex: 1 1 0%;min-height: 0px}
.fn-pp-fly{flex-direction: column;gap: 3.4cqw;padding: 8cqw 7cqw;background: linear-gradient(180deg,var(--bg),var(--pink))}
.fn-pp-fly .fn-im{flex: 1 1 0%;min-height: 0px}
.fn-pp-fly .fn-cbtn{margin-top: auto;width: 42%}
.fn-pp-post{flex-direction: column;justify-content: flex-end;align-items: flex-start;gap: 4cqw;padding: 9cqw 8cqw;background: linear-gradient(160deg,var(--brand),var(--brand-d))}
.fn-pp-post .fn-pp-m{position: absolute;top: 9cqw;right: 8cqw;width: 18cqw}
.fn-pp-post u{background: color-mix(in srgb,var(--bg) 25%,transparent)}
.fn-pp-post u.fn-h{height: 9cqw;background: var(--bg)}
.fn-fm-l{margin: 0px;font-size: clamp(15px, 1.5vw, 18px);line-height: 1.5;color: var(--tx)}
.fn-fm-l b{font-weight: 600;letter-spacing: -0.02em;color: var(--ink)}
@media (prefers-reduced-motion: reduce){.fn-fm-sheet{transition: none}}
.fn-pr-art{border-radius: 1.8cqw;background: var(--pink);color: var(--ink);display: flex;flex-direction: column;justify-content: center;gap: 1.6cqw;padding: 3.4cqw;position: relative;box-shadow: rgba(0, 0, 0, 0.35) 0px 1.4cqw 3cqw -1.4cqw}
.fn-pr-art .fn-art-lg{display: block;width: 7cqw;height: 7cqw}
.fn-pr-art .fn-art-lg svg{width: 100%;height: 100%}
.fn-pr-art i{display: block;height: 1.4cqw;border-radius: 9px;background: currentcolor;opacity: 0.32}
.fn-pr-art i + i{width: 58%}
.fn-pr-art u{position: absolute;left: 3.4cqw;right: 3.4cqw;bottom: 2.4cqw;display: flex;gap: 1cqw;text-decoration: none}
.fn-pr-art u s{display: block;width: 2.6cqw;height: 2.6cqw;border-radius: 50%}
.fn-pr-art .fn-cm{position: absolute;width: 2.4cqw;height: 2.4cqw;border: 0 solid color-mix(in srgb,var(--ink) 43.4%,transparent)}
.fn-pr-art .fn-cm.fn-a{left: -3.2cqw;top: -3.2cqw;border-right-width: 1px;border-bottom-width: 1px}
.fn-pr-art .fn-cm.fn-b{right: -3.2cqw;top: -3.2cqw;border-left-width: 1px;border-bottom-width: 1px}
.fn-pr-art .fn-cm.fn-c{left: -3.2cqw;bottom: -3.2cqw;border-right-width: 1px;border-top-width: 1px}
.fn-pr-art .fn-cm.fn-d{right: -3.2cqw;bottom: -3.2cqw;border-left-width: 1px;border-top-width: 1px}
.fn-pr-body{display: flex;align-items: center;justify-content: center;gap: 3cqw;background: color-mix(in srgb,var(--ink) 8.7%,transparent);z-index: 2}
.fn-pr-body .fn-sl{width: 76%;height: 2.4cqw;border-radius: 9px;background: rgba(15, 25, 30, 0.62);box-shadow: rgba(0, 0, 0, 0.4) 0px 0.4cqw 0.8cqw inset}
.fn-pr-body .fn-ld{position: absolute;right: 3.4cqw;top: 3.4cqw;width: 2cqw;height: 2cqw;border-radius: 50%;background: var(--acc);opacity: calc(.3 + .7 * clamp(0,calc(var(--t2) * 2),1) * (1 - var(--t3)));box-shadow: 0 0 1.8cqw color-mix(in srgb,var(--acc) 84%,transparent)}
.fn-pr-clip{overflow: hidden;pointer-events: none}
.fn-pr-paper{position: absolute;left: 0px;top: 0px;width: 100%;height: 30cqw;translate: 0 calc((1 - var(--e2)) * -34cqw);opacity: clamp(0,calc(var(--t2) * 8),1)}
.fn-pr-f{display: flex;flex-direction: column;justify-content: center;gap: 1.4cqw;padding: 2.4cqw;border-radius: 1.6cqw;background: var(--pink);color: var(--ink);rotate: calc(var(--r) * 1deg * (1 - var(--q,1) * .0));box-shadow: rgba(0, 0, 0, 0.35) 0px 1.4cqw 3cqw -1.4cqw}
.fn-pr-f.fn-c{flex-direction: row;align-items: center;background: var(--surf)}
.fn-pr-f.fn-c.fn-g{background: var(--ac-gold);color: var(--ink-d)}
.fn-pr-f .fn-art-lg{display: block;width: 5cqw;height: 5cqw;flex: 0 0 auto}
.fn-pr-f .fn-art-lg svg{width: 100%;height: 100%}
.fn-pr-f i{display: block;height: 1.2cqw;border-radius: 9px;background: currentcolor;opacity: 0.32}
.fn-pr-f.fn-c i{flex: 1 1 0%}
.fn-pr-box{border-radius: 50%;background: var(--pink);color: var(--ink-d);display: flex;align-items: center;justify-content: center;box-shadow: 0 0 0 2cqw color-mix(in srgb,var(--acc) 14.7%,transparent)}
.fn-pr-box span{display: block;width: 50%;height: 50%}
.fn-pr-box .fn-sx-ic{width: 100%;height: 100%;stroke-width: 1.7}
.fn-pr-art .fn-art-lg, .fn-pr-f .fn-art-lg{display: flex;align-items: center;gap: 1.4cqw;width: auto;height: auto;font-size: max(11px, 2.3cqw);font-weight: 700;letter-spacing: 0.1em;white-space: nowrap}
.fn-art-lg .fn-lt{font-style: normal}
.fn-pr-f .fn-art-lg svg{width: max(14px, 5cqw);height: max(14px, 5cqw);flex: 0 0 auto}
@container (max-width: 430px){.fn-pr-f .fn-lt{display: none}}
.fn-pr-art .fn-art-lg svg{width: 6.4cqw;height: 6.4cqw;flex: 0 0 auto;fill: currentcolor}
.fn-pr-f .fn-art-lg svg{width: 4.6cqw;height: 4.6cqw;flex: 0 0 auto;fill: currentcolor}
.fn-pr-f.fn-c .fn-art-lg{flex: 1 1 0%;min-width: 0px}
.fn-pr-f.fn-c .fn-art-lg svg{width: 4.2cqw;height: 4.2cqw}
.fn-cal{display: grid;grid-template-columns: minmax(0px, 7fr) minmax(0px, 5fr);gap: clamp(18px, 3vw, 36px);margin-top: 12px;border-radius: 28px;background: var(--card);padding: clamp(16px, 3vw, 36px);min-width: 0px}
@media (max-width: 900px){.fn-cal{grid-template-columns: minmax(0px, 1fr)}}
.fn-cal-l, .fn-cal-r{display: flex;flex-direction: column;gap: clamp(12px, 1.6vw, 18px);min-width: 0px}
.fn-cal-h{display: flex;flex-direction: column;gap: 2px}
.fn-cal-h b{font-size: clamp(20px, 2.2vw, 26px);font-weight: 600;letter-spacing: -0.035em;color: var(--ink)}
.fn-cal-h span{font-size: 14px;line-height: 1.5;color: var(--mu);max-width: 50ch}
.fn-cal-grid{display: grid;grid-template-columns: repeat(7, minmax(0px, 1fr));gap: clamp(4px, 0.8vw, 8px);padding: clamp(8px, 1.4vw, 16px);border-radius: 20px;background: var(--bg)}
.fn-cal-d{text-align: center;font-size: 12px;font-weight: 600;letter-spacing: 0.04em;color: var(--mu);padding-bottom: 2px}
.fn-cal-c{position: relative;display: flex;align-items: center;justify-content: center;aspect-ratio: 1.3 / 1;border-radius: clamp(8px, 1.2vw, 12px);background: var(--card);color: transparent}
.fn-cal-c svg{width: 38%;height: 38%;display: block}
.fn-cal-c.fn-post{background: var(--brand);color: rgb(255, 255, 255)}
.fn-cal-c.fn-reel{background: linear-gradient(135deg,var(--pink),var(--peach));color: var(--ink);box-shadow: rgb(199, 177, 177) 0px 0px 0px 1.5px inset}
.fn-cal-c.fn-post svg{width: 28%;height: 28%}
.fn-p0 .fn-cal-c.fn-post, .fn-p0 .fn-cal-c.fn-reel, .fn-p0 .fn-cal-c.fn-both{animation-duration: 0.55s;animation-timing-function: cubic-bezier(0.2, 1.5, 0.3, 1);animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: backwards;animation-play-state: running;animation-name: popA;animation-timeline: auto;animation-range: normal;animation-delay: calc(var(--i) * 16ms)}
.fn-p1 .fn-cal-c.fn-post, .fn-p1 .fn-cal-c.fn-reel, .fn-p1 .fn-cal-c.fn-both{animation-duration: 0.55s;animation-timing-function: cubic-bezier(0.2, 1.5, 0.3, 1);animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: backwards;animation-play-state: running;animation-name: popB;animation-timeline: auto;animation-range: normal;animation-delay: calc(var(--i) * 16ms)}
@keyframes popA { 0% { opacity: 0; transform: scale(0.3); } 100% { opacity: 1; transform: none; } }
@keyframes popB { 0% { opacity: 0; transform: scale(0.3); } 100% { opacity: 1; transform: none; } }
.fn-cal-leg{display: flex;gap: 16px;font-size: 13px;color: var(--tx)}
.fn-cal-leg span{display: inline-flex;align-items: center;gap: 8px}
.fn-cal-leg i{display: block;width: 16px;height: 16px;border-radius: 6px}
.fn-cal-leg .fn-lp{background: var(--brand)}
.fn-cal-leg .fn-lr{background: linear-gradient(135deg,var(--pink),var(--peach));box-shadow: rgb(199, 177, 177) 0px 0px 0px 1.5px inset}
.fn-cal-flow{display: flex;flex-wrap: wrap;gap: 8px}
.fn-cal-st{display: inline-flex;align-items: center;gap: 8px;min-height: 36px;padding: 4px 14px 4px 5px;border-radius: 99px;background: var(--bg);font-size: 13px;font-weight: 500;color: var(--tx);line-height: 1.3}
.fn-cal-st b{flex: 0 0 auto;width: 26px;height: 26px;border-radius: 99px;background: var(--brand);color: rgb(255, 255, 255);font-size: 12px;font-weight: 600;display: flex;align-items: center;justify-content: center}
.fn-cal-tiles{display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 120px), 1fr));gap: 10px}
.fn-cal-tiles .fn-tile{background: var(--bg)}
.fn-cal-r .fn-chip{background: var(--bg)}
.fn-cal-tiles .fn-tile-n{font-size: clamp(30px, 5cqw, 44px)}
.fn-pk3 .fn-pcard .fn-cta{margin-block: 2px 6px}
.fn-cal-sub{margin: 4px 0px -4px;font-size: 13px;font-weight: 600;color: var(--ink)}
.fn-cal-r{justify-content: flex-start}
.fn-cal-c.fn-both{background: var(--brand);color: rgb(255, 237, 237);box-shadow: rgb(199, 177, 177) 0px 0px 0px 2px inset}
.fn-cal-c.fn-both svg{width: 34%;height: 34%}
.fn-cal-leg .fn-lb{background: var(--brand);box-shadow: rgb(199, 177, 177) 0px 0px 0px 2px inset}
.fn-cal-leg .fn-gone{display: none}
.fn-cal-tiles{grid-template-columns: repeat(auto-fit, minmax(min(100%, 92px), 1fr))}
.fn-so-c{width: 10.4cqw;height: 10.4cqw;border-radius: 2cqw;box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--ink) 16.1%,transparent);--lit: clamp(0,calc(var(--t2) * 2.4 - var(--k) * .11),1)}
.fn-so-c::after{content: "";position: absolute;inset: 0px;border-radius: inherit;opacity: var(--lit);scale: calc(.5 + .5 * var(--lit));background: var(--pink)}
.fn-so-c.fn-g::after{background: color-mix(in srgb,var(--ink) 26%,transparent)}
.fn-so-c.fn-s::after{background: color-mix(in srgb,var(--acc) 52%,var(--surf))}
.fn-so-ph{border-radius: 5cqw;background: color-mix(in srgb,var(--ink) 80%,var(--bg));box-shadow: 0 0 0 .8cqw color-mix(in srgb,var(--ink) 12.4%,transparent),0 3cqw 6cqw -2cqw rgba(0,0,0,.5);padding: 2.2cqw}
.fn-so-ph .fn-so-in{position: relative;width: 100%;height: 100%;border-radius: 3.4cqw;background: linear-gradient(var(--card2),var(--card2));overflow: hidden;color: var(--ink);display: flex;flex-direction: column;gap: 1.8cqw;padding: 2.4cqw}
.fn-so-ph .fn-no{display: block;width: 30%;height: 1.8cqw;border-radius: 9px;background: rgb(212, 212, 212);margin: 0px auto}
.fn-so-ph .fn-hd{display: flex;align-items: center;gap: 1.6cqw}
.fn-so-ph .fn-av{flex: 0 0 auto;width: 6cqw;height: 6cqw;display: flex;align-items: center;justify-content: center;color: var(--ink);border-width: 0.5cqw}
.fn-so-ph .fn-av svg{width: 62%;height: 62%}
.fn-so-ph .fn-hd i{display: block;height: 1.4cqw;width: 50%;border-radius: 9px;background: rgb(201, 201, 201)}
.fn-so-ph .fn-im{flex: 1 1 0%;border-radius: 1.8cqw;background: linear-gradient(160deg,color-mix(in srgb,var(--acc) 32%,var(--surf)),var(--pink));position: relative;overflow: hidden;min-height: 0px}
.fn-so-ph .fn-im b{position: absolute;left: 10%;display: block;height: 7%;border-radius: 9px;background: var(--surf)}
.fn-so-ph .fn-im .fn-h1{top: 16%;width: 72%}
.fn-so-ph .fn-im .fn-h2{top: 27%;width: 50%;background: var(--pink)}
.fn-so-ph .fn-im .fn-h3{top: 44%;width: 26%;height: 9%;border-radius: 99px;background: var(--acc)}
.fn-so-ph .fn-wm{position: absolute;right: -12%;bottom: -14%;width: 80%;color: color-mix(in srgb,var(--ink) 8.7%,transparent)}
.fn-so-ph .fn-ac{display: flex;gap: 2cqw;color: var(--ink)}
.fn-so-ph .fn-ac span{display: block;width: 4.4cqw;height: 4.4cqw}
.fn-so-ph .fn-ac .fn-hr{color: rgb(226, 80, 111)}
.fn-so-ph .fn-ac svg{width: 100%;height: 100%}
.fn-so-ph .fn-ac .fn-sx-ic{stroke-width: 2}
.fn-so-ph p{margin: 0px;display: flex;flex-direction: column;gap: 1.2cqw}
.fn-so-ph p i{display: block;height: 1.2cqw;border-radius: 9px;background: rgb(207, 207, 207)}
.fn-so-ph p i + i{width: 60%}
.fn-so-h{position: absolute;width: 5cqw;height: 5cqw;color: var(--acc);pointer-events: none;--q: clamp(0,calc(var(--t3) * 2.2 - var(--s,0)),1);opacity: calc(var(--q) * (1 - var(--q)) * 4 * (1 - var(--t4)));translate: 0 calc(var(--q) * -14cqw);scale: calc(.5 + .8 * var(--q))}
.fn-so-h svg{display: block;width: 100%;height: 100%}
.fn-so-h.fn-h1{right: -3cqw;top: 45%;--s: .45}
.fn-so-h.fn-h2{right: -1cqw;top: 60%;--s: .7}
.fn-so-h.fn-h3{left: -3cqw;top: 52%;--s: .58}
.fn-sx-so .fn-so-ph{left: calc((31 - 23 * var(--e4)) * 1cqw)}
.fn-plat{gap: 8px}
.fn-plat .fn-sx-ic, .fn-plat-b .fn-sx-ic{width: 16px;height: 16px}
.fn-pc-plats{display: flex;flex-wrap: wrap;align-items: center;gap: 6px 12px}
.fn-pc-plats em{font-style: normal;font-size: 14px;color: var(--mu)}
.fn-pl-row{display: inline-flex}
.fn-plat-b{display: flex;align-items: center;justify-content: center;width: 36px;height: 36px;margin-left: -8px;border-radius: 99px;background: var(--surf);color: var(--ink);box-shadow: 0 0 0 2.5px var(--tint-bg,var(--card));animation-duration: 0.5s;animation-timing-function: cubic-bezier(0.2, 1.5, 0.3, 1);animation-iteration-count: 1;animation-direction: normal;animation-fill-mode: backwards;animation-play-state: running;animation-name: pop;animation-timeline: auto;animation-range: normal;animation-delay: calc(var(--j,0) * 70ms + 200ms)}
.fn-plat-b:first-child{margin-left: 0px}
.fn-plat-b .fn-sx-ic{width: 17px;height: 17px}
.fn-pk3 .fn-pcard{position: relative;--t: var(--ac-blue);background: color-mix(in srgb,var(--t) 11%,var(--card));--tint-bg: color-mix(in srgb,var(--t) 11%,var(--card))}
.fn-pk3 .fn-pcard.fn-pk-b{--t: var(--ac-red);background: linear-gradient(160deg,color-mix(in srgb,var(--pink) 80%,var(--card)),color-mix(in srgb,var(--peach) 70%,var(--card)));--tint-bg: var(--pink);box-shadow: 0 0 0 2px color-mix(in srgb,var(--t) 70%,transparent),0 28px 50px -34px color-mix(in srgb,var(--t) 70%,transparent)}
.fn-pk3 .fn-pcard.fn-pk-c{--t: var(--ac-gold);background: color-mix(in srgb,var(--t) 16%,var(--card));--tint-bg: color-mix(in srgb,var(--t) 16%,var(--card))}
@media (min-width: 900px){.fn-pk3 .fn-pcard.fn-pk-b{margin-top: -14px}}
.fn-pk3 .fn-pcard .fn-pc-n::before{content: "";display: inline-block;width: 0.5em;height: 0.5em;margin-right: 0.45em;border-radius: 99px;background: var(--t);vertical-align: 0.08em}
.fn-pc-badge{position: absolute;top: clamp(16px, 2.4vw, 26px);right: clamp(16px, 2.4vw, 26px);padding: 5px 12px;border-radius: 99px;background: var(--t);color: rgb(255, 255, 255);font-size: 12px;font-weight: 600;letter-spacing: 0.02em}
.fn-pk3 .fn-pcard .fn-dd-b{border-top-color: color-mix(in srgb,var(--t) 28%,transparent)}
.fn-pk3 .fn-pcard .fn-ck{background: color-mix(in srgb,var(--t) 16%,var(--surf));color: var(--t)}
:root[data-theme="dark"] .fn-pk3 .fn-pcard.fn-pk-b{background: linear-gradient(160deg,color-mix(in srgb,var(--t) 20%,var(--card)),color-mix(in srgb,var(--t) 9%,var(--card)))}
:root[data-theme="dark"] .fn-pc-badge{color: rgb(27, 27, 27)}
.fn-run{display: grid;grid-template-columns: auto minmax(0px, 1fr);align-items: center;gap: clamp(16px, 3vw, 40px);margin-top: 12px;padding: clamp(18px, 3vw, 32px) clamp(18px, 3vw, 40px);border-radius: 28px;background: var(--card)}
@media (max-width: 600px){.fn-run{grid-template-columns: minmax(0px, 1fr)}}
.fn-run-n{display: flex;align-items: baseline;gap: 10px;font-size: clamp(44px, 6vw, 72px);font-weight: 600;letter-spacing: -0.05em;line-height: 1;color: var(--ink)}
.fn-run-n i{font-style: normal;font-size: 14px;font-weight: 500;letter-spacing: 0px;color: var(--mu)}
.fn-run-t h3{margin: 0px 0px 6px;font-size: clamp(18px, 1.8vw, 22px);font-weight: 600;letter-spacing: -0.03em;color: var(--ink)}
.fn-run-t p{margin: 0px;font-size: 16px;line-height: 1.6;color: var(--tx);max-width: 62ch}
.fn-bw-wrap{position: relative;align-self: stretch;display: flex;flex-direction: column;gap: 6px;margin-top: 6px;min-width: 0px}
.fn-bw{container-type: inline-size;position: relative;border-radius: 16px;background: var(--bg);box-shadow: 0 26px 50px -30px color-mix(in srgb,var(--ink) 55%,transparent);overflow: hidden;min-width: 0px}
.fn-bw-bar{display: flex;align-items: center;gap: 6px;padding: 9px 12px;background: var(--card2)}
.fn-bw-bar > i{flex: 0 0 auto;width: 9px;height: 9px;border-radius: 99px;background: rgb(212, 212, 212)}
.fn-bw-url{flex: 1 1 0px;min-width: 0px;display: flex;align-items: center;gap: 6px;margin-left: 6px;padding: 4px 10px;border-radius: 99px;background: var(--bg);font-size: 11px;color: var(--mu);overflow: hidden}
.fn-bw-url > span{min-width: 0px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}
.fn-bw-url svg{flex: 0 0 auto}
.fn-bw-live{display: inline-flex;align-items: center;gap: 5px;flex: 0 0 auto;font-size: 11px;font-weight: 600;color: rgb(47, 125, 79);opacity: 0;transform: scale(0.8);transition: opacity 0.4s, transform 0.5s cubic-bezier(0.2, 1.5, 0.3, 1)}
.fn-bw-live i{width: 7px;height: 7px;border-radius: 99px;background: rgb(59, 165, 102);box-shadow: rgba(59, 165, 102, 0.5) 0px 0px 0px 0px}
.fn-bw.fn-ge4 .fn-bw-live{opacity: 1;transform: none}
.fn-bw.fn-ge4 .fn-bw-live i{animation: 1.8s ease-out 0s infinite normal none running livePulse}
@keyframes livePulse { 0% { box-shadow: rgba(59, 165, 102, 0.5) 0px 0px 0px 0px; } 80%, 100% { box-shadow: rgba(59, 165, 102, 0) 0px 0px 0px 7px; } }
.fn-bw-body{position: relative;display: grid;min-height: clamp(200px, 19vw, 236px)}
.fn-bw-body > *{grid-area: 1 / 1;min-width: 0px}
.fn-bw-site{display: flex;flex-direction: column;gap: 10px;padding: 12px 14px;opacity: 0.32;filter: grayscale(1);transition: opacity 0.6s, filter 0.6s}
.fn-bw.fn-ge2 .fn-bw-site{opacity: 1;filter: none}
.fn-bw-site .fn-a2{transform: translateY(10px);transition-behavior: normal;transition-duration: 0.65s;transition-timing-function: cubic-bezier(0.2, 1.2, 0.3, 1);transition-property: transform;transition-delay: calc(var(--i) * 90ms)}
.fn-bw.fn-ge2 .fn-bw-site .fn-a2{transform: none}
.fn-s-hdr{display: flex;align-items: center;justify-content: space-between;gap: 10px}
.fn-s-hdr b{display: block;width: 22px;height: 22px;border-radius: 99px;background: var(--brand)}
.fn-s-hdr span{display: flex;gap: 6px}
.fn-s-hdr u{display: block;width: clamp(16px, 6cqw, 30px);height: 6px;border-radius: 3px;background: rgb(212, 212, 212)}
.fn-s-hero{display: grid;grid-template-columns: minmax(0px, 1.25fr) minmax(0px, 1fr);gap: 12px;align-items: center}
@container (max-width: 380px){.fn-s-hero{grid-template-columns: minmax(0px, 1fr)} .fn-s-img{min-height: 56px}}
.fn-s-t{display: flex;flex-direction: column;gap: 6px;align-items: flex-start;min-width: 0px}
.fn-s-t u{display: block;height: 9px;border-radius: 4px;background: var(--brand)}
.fn-s-t .fn-l1{width: 88%}
.fn-s-t .fn-l2{width: 64%}
.fn-s-t .fn-l3{width: 74%;height: 6px;background: rgb(212, 212, 212)}
.fn-s-btn{display: inline-flex;align-items: center;min-height: 24px;margin-top: 4px;padding: 2px 12px;border-radius: 99px;background: var(--brand);color: rgb(255, 255, 255);font-size: 11px;font-weight: 600;white-space: nowrap}
.fn-s-img{align-self: stretch;min-height: 78px;border-radius: 12px;background: linear-gradient(135deg,var(--pink),var(--peach));box-shadow: rgb(199, 177, 177) 0px 0px 0px 1.5px inset}
.fn-s-grid{display: grid;grid-template-columns: repeat(3, minmax(0px, 1fr));gap: 8px}
.fn-s-grid s{display: block;height: clamp(28px, 9cqw, 52px);border-radius: 10px;background: var(--card2);text-decoration: none}
.fn-s-grid s:nth-child(2){background: var(--line)}
.fn-s-grid s:nth-child(3){background: linear-gradient(135deg,var(--pink),var(--peach))}
.fn-s-form{display: flex;gap: 8px;align-items: center}
.fn-s-form u{display: block;flex: 1 1 0px;height: 14px;border-radius: 7px;background: var(--card2)}
.fn-s-form span{flex: 0 0 auto;width: clamp(34px, 10cqw, 56px);height: 14px;border-radius: 7px;background: rgb(199, 177, 177)}
.fn-bw-ov{place-self: center;z-index: 2;display: flex;flex-direction: column;gap: 6px;width: min(88%, 300px);padding: 12px;border-radius: 16px;background: color-mix(in srgb,var(--bg) 94%,transparent);box-shadow: 0 20px 40px -22px color-mix(in srgb,var(--ink) 60%,transparent),0 0 0 1px color-mix(in srgb,var(--ink) 6%,transparent);opacity: 0;transform: translateY(12px) scale(0.96);pointer-events: none;transition: opacity 0.35s, transform 0.5s cubic-bezier(0.2, 1.2, 0.3, 1)}
.fn-bw.fn-is0 .fn-ov0, .fn-bw.fn-is1 .fn-ov1, .fn-bw.fn-is4 .fn-ov4{opacity: 1;transform: none}
.fn-ov-row{display: flex;align-items: center;gap: 10px;min-height: 32px;padding: 4px 10px;border-radius: 10px;background: var(--card);font-size: 13px;font-weight: 500;color: var(--ink);line-height: 1.3;opacity: 0;transform: translateX(-8px);transition: opacity 0.4s, transform 0.5s cubic-bezier(0.2, 1.2, 0.3, 1)}
.fn-bw.fn-is0 .fn-ov0 .fn-ov-row, .fn-bw.fn-is1 .fn-ov1 .fn-ov-row, .fn-bw.fn-is4 .fn-ov4 .fn-ov-row{opacity: 1;transform: none;transition-delay: calc(160ms + var(--i) * 110ms)}
.fn-ov-row > b{flex: 0 0 auto;width: 16px;height: 16px;border-radius: 99px;box-shadow: rgb(199, 177, 177) 0px 0px 0px 2px inset}
.fn-ov-file svg:first-child{flex: 0 0 auto;color: var(--mu)}
.fn-ov-file em{margin-left: auto;flex: 0 0 auto;width: 18px;height: 18px;border-radius: 99px;background: var(--brand);color: rgb(255, 255, 255);display: flex;align-items: center;justify-content: center}
.fn-ov-score > b{display: flex;align-items: center;justify-content: center;background: rgb(59, 165, 102);color: rgb(255, 255, 255);box-shadow: none;width: 18px;height: 18px}
.fn-bw-pins{position: relative;z-index: 3;pointer-events: none}
.fn-pin{position: absolute;width: 24px;height: 24px;border-radius: 99px;background: var(--brand);color: rgb(255, 255, 255);font-size: 12px;font-weight: 600;display: flex;align-items: center;justify-content: center;box-shadow: rgba(199, 177, 177, 0.55) 0px 0px 0px 4px;transform: scale(0);transition: transform 0.5s cubic-bezier(0.2, 1.8, 0.3, 1)}
.fn-pin.fn-p1{left: 14%;top: 22%}
.fn-pin.fn-p2{left: 56%;top: 50%}
.fn-pin.fn-p3{left: 30%;top: 80%}
.fn-bw.fn-is3 .fn-pin{transform: scale(1)}
.fn-bw.fn-is3 .fn-pin.fn-p1{transition-delay: 0.2s}
.fn-bw.fn-is3 .fn-pin.fn-p2{transition-delay: 0.35s}
.fn-bw.fn-is3 .fn-pin.fn-p3{transition-delay: 0.5s}
.fn-bw-cap{margin: 6px 2px 0px;font-size: 14px;line-height: 1.5;color: var(--tx);min-height: 3em}
.fn-bw-n{margin: 0px 2px;font-size: 12px;color: var(--mu)}
@media (prefers-reduced-motion: reduce){.fn-bw-live i{animation: auto ease 0s 1 normal none running none !important}}
@container (max-width: 340px){.fn-bw-bar > i{display: none} .fn-bw-url{margin-left: 0px}}
@container (max-width: 250px){.fn-bw-live{display: none}}
.fn-wb-f{border-radius: 2.6cqw;background: var(--surf);color: var(--ink);overflow: hidden;box-shadow: rgba(0, 0, 0, 0.5) 0px 3cqw 6cqw -2.4cqw}
.fn-sx-wb .fn-wb-f.fn-sp{width: calc((84 - 38 * var(--e3) * (1 - var(--e4))) * 1cqw)}
.fn-wb-f .fn-bar{display: flex;align-items: center;gap: 1.4cqw;height: 8cqw;padding: 0px 3cqw;background: var(--line)}
.fn-wb-f .fn-bar i{width: 2cqw;height: 2cqw;border-radius: 50%;background: rgb(180, 180, 180)}
.fn-wb-f .fn-bar span{margin-left: 2cqw;flex: 1 1 0%;min-width: 0px;height: 5cqw;border-radius: 99px;background: var(--surf);color: var(--mu);font-size: max(11.5px, 2.7cqw);display: block;line-height: 5cqw;padding: 0px 2.4cqw;overflow: hidden;white-space: nowrap;text-overflow: ellipsis}
.fn-wb-f .fn-ws-bd{padding: 3cqw;display: flex;flex-direction: column;gap: 3cqw}
.fn-wb-f .fn-nv{display: flex;align-items: center;gap: 2.4cqw}
.fn-wb-f .fn-nv .fn-art-lg{display: block;width: 6cqw;height: 6cqw;margin-right: auto;color: var(--ink)}
.fn-wb-f .fn-nv .fn-art-lg svg{width: 100%;height: 100%}
.fn-wb-f .fn-nv em{display: block;width: 6cqw;height: 1.4cqw;border-radius: 9px;background: rgb(180, 180, 180)}
.fn-wb-f .fn-hr{display: flex;flex-direction: column;gap: 2cqw;padding: 2cqw 0px}
.fn-wb-f .fn-hl{display: flex;flex-direction: column;gap: 1.4cqw}
.fn-wb-f .fn-hl i{display: block;height: 3.4cqw;width: 80%;border-radius: 9px;background: var(--brand)}
.fn-wb-f .fn-hl i + i{width: 52%;background: rgb(199, 177, 177)}
.fn-wb-f p{margin: 0px;height: 1.5cqw;width: 60%;border-radius: 9px;background: rgb(207, 207, 207)}
.fn-wb-f .fn-bt, .fn-wb-p .fn-bt{align-self: flex-start;display: inline-flex;padding: 1.8cqw 3.4cqw;border-radius: 99px;background: var(--brand);color: rgb(255, 255, 255);font-size: max(11.5px, 2.8cqw);font-weight: 600;white-space: nowrap;scale: calc(1 - .1 * clamp(0,calc((var(--t4) - .62) * 8),1) * (1 - clamp(0,calc((var(--t4) - .78) * 14),1)))}
.fn-wb-f .fn-cd{display: flex;gap: 2cqw}
.fn-wb-f .fn-cd b{flex: 1 1 0%;height: 13cqw;border-radius: 1.8cqw;background: linear-gradient(160deg,var(--pink),#e9d6d6)}
.fn-wb-p{border-radius: 4.4cqw;background: color-mix(in srgb,var(--ink) 80%,var(--bg));padding: 2cqw;box-shadow: 0 0 0 .7cqw color-mix(in srgb,var(--ink) 12.4%,transparent),0 3cqw 6cqw -2cqw rgba(0,0,0,.5)}
.fn-wb-p .fn-in{width: 100%;height: 100%;border-radius: 3cqw;background: var(--surf);color: var(--ink);overflow: hidden;display: flex;flex-direction: column;gap: 2cqw;padding: 2.4cqw}
.fn-wb-p .fn-no{display: block;width: 30%;height: 1.6cqw;border-radius: 9px;background: rgb(212, 212, 212);margin: 0px auto}
.fn-wb-p .fn-art-lg{display: block;width: 5cqw;height: 5cqw}
.fn-wb-p .fn-art-lg svg{width: 100%;height: 100%}
.fn-wb-p .fn-hl{display: flex;flex-direction: column;gap: 1.2cqw}
.fn-wb-p .fn-hl i{display: block;height: 2.4cqw;width: 85%;border-radius: 9px;background: var(--brand)}
.fn-wb-p .fn-hl i + i{width: 55%;background: rgb(199, 177, 177)}
.fn-wb-p .fn-c{display: block;height: 8cqw;border-radius: 1.4cqw;background: linear-gradient(160deg,var(--pink),#e9d6d6)}
.fn-wb-cur{display: block;opacity: calc(clamp(0,calc((var(--t4) - .15) * 5),1));translate: calc((1 - clamp(0,calc(var(--t4) * 1.6),1)) * 30cqw) calc((1 - clamp(0,calc(var(--t4) * 1.6),1)) * 24cqw);filter: drop-shadow(rgba(0, 0, 0, 0.35) 0px 0.6cqw 0.8cqw)}
.fn-wb-rip{border-radius: 50%;border: .6cqw solid var(--ink);--c: clamp(0,calc((var(--t4) - .68) * 3.4),1);opacity: calc((1 - var(--c)) * clamp(0,calc(var(--c) * 40),1));scale: calc(.3 + 1.2 * var(--c));margin: -1cqw 0px 0px -1cqw;pointer-events: none}
@container (max-width: 420px){.fn-wb-p .fn-bt{font-size: 0px;padding: 1.5cqw 7cqw;gap: 0px}}
.fn-ex{display: grid;grid-template-columns: minmax(0px, 1.4fr) minmax(0px, 1fr);gap: clamp(20px, 3.6vw, 52px);align-items: center;border-radius: 28px;background: var(--card);padding: clamp(16px, 3vw, 36px);min-width: 0px}
@media (max-width: 900px){.fn-ex{grid-template-columns: minmax(0px, 1fr)}}
.fn-ex-t{display: flex;flex-direction: column;align-items: flex-start;gap: clamp(14px, 2vw, 22px);min-width: 0px}
.fn-ex-d{margin: 0px;font-size: clamp(16px, 1.5vw, 18px);line-height: 1.6;color: var(--tx);max-width: 48ch}
.fn-ex-dev{position: relative;container-type: inline-size;padding-bottom: 7%;min-width: 0px}
.fn-ex-win{width: 90%;border-radius: 2cqw;overflow: hidden;background: rgb(255, 255, 255);color: rgb(98, 108, 74);box-shadow: rgba(0, 0, 0, 0.06) 0px 0px 0px 1px, rgba(30, 40, 20, 0.4) 0px 3cqw 6cqw -3cqw}
.fn-ex-bar{display: flex;align-items: center;gap: 1cqw;height: 5cqw;padding: 0px 2cqw;background: rgb(242, 242, 240)}
.fn-ex-bar i{display: block;width: 1.2cqw;height: 1.2cqw;border-radius: 50%;background: rgb(212, 212, 208)}
.fn-ex-bar span{flex: 1 1 0%;margin: 0px 8cqw 0px 3cqw;padding: 0.5cqw 2cqw;border-radius: 99px;background: rgb(255, 255, 255);font-size: max(9px, 1.5cqw);color: rgb(124, 124, 118);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}
.fn-ex-pg{padding: 2.4cqw 4cqw 0px}
.fn-ex-nav{display: flex;align-items: center;gap: 2.6cqw}
.fn-ex-lg{display: flex;width: 3.6cqw;height: 3.6cqw;color: rgb(94, 143, 62);margin-right: auto}
.fn-ex-lg svg{width: 100%;height: 100%}
.fn-ex-lnk{font-size: max(9px, 1.4cqw);color: rgb(98, 108, 74)}
.fn-ex-btn{display: inline-flex;align-items: center;padding: 0.4cqw 2.6cqw;min-height: 4.4cqw;border-radius: 99px;background: rgb(98, 108, 74);color: rgb(255, 255, 255);font-size: max(9px, 1.5cqw);font-weight: 600;white-space: nowrap}
.fn-ex-btn.fn-sm{min-height: 3.4cqw;padding: 0.3cqw 2cqw}
@container (max-width: 460px){.fn-ex-ph .fn-ex-p{display: none}}
@container (max-width: 340px){.fn-ex-ph, .fn-ex-img{display: none} .fn-ex-hero{grid-template-columns: minmax(0px, 1fr)} .fn-ex-win{width: 100%}}
.fn-ex-hero{display: grid;grid-template-columns: minmax(0px, 1.1fr) minmax(0px, 1fr);gap: 3cqw;align-items: center;padding: 3cqw 0px 4cqw}
.fn-ex-ht{display: flex;flex-direction: column;align-items: flex-start;gap: 1.6cqw;min-width: 0px}
.fn-ex-pill{display: inline-block;padding: 0.6cqw 1.8cqw;border-radius: 99px;background: rgb(246, 234, 228);color: rgb(98, 108, 74);font-size: max(9px, 1.3cqw)}
.fn-ex-h{margin: 0px;font-size: max(14px, 4.3cqw);line-height: 1.06;font-weight: 300;letter-spacing: -0.02em;color: rgb(98, 108, 74)}
.fn-ex-h em{display: block;font-family: Georgia, "Times New Roman", serif;font-style: italic;font-weight: 400;color: rgb(69, 109, 75)}
.fn-ex-p{margin: 0px;font-size: max(9px, 1.5cqw);line-height: 1.5;color: rgb(123, 132, 104);max-width: 34cqw}
.fn-ex-img{position: relative;aspect-ratio: 1 / 1.08;border-radius: 2.4cqw;overflow: hidden;background: linear-gradient(150deg, rgb(230, 236, 221), rgb(201, 212, 188))}
.fn-ex-img span{position: absolute;left: 50%;top: 46%;translate: -50% -50%;width: 44%;color: rgb(255, 255, 255);filter: drop-shadow(rgba(60, 80, 40, 0.35) 0px 1cqw 1.4cqw)}
.fn-ex-img span svg{display: block;width: 100%;height: 100%}
.fn-ex-img i{position: absolute;display: block;border-radius: 50%;background: rgba(255, 255, 255, 0.35)}
.fn-ex-img i:nth-of-type(1){width: 30%;aspect-ratio: 1 / 1;right: -8%;top: -8%}
.fn-ex-img i:nth-of-type(2){width: 22%;aspect-ratio: 1 / 1;left: -6%;bottom: -6%}
.fn-ex-hrs{display: flex;align-items: center;gap: 3cqw;padding: 2cqw 4cqw;background: rgb(98, 108, 74);color: rgb(228, 230, 217);font-size: max(9px, 1.5cqw)}
.fn-ex-hrs b{margin-right: auto;font-size: max(10px, 1.9cqw);font-weight: 600;color: rgb(255, 255, 255)}
.fn-ex-hrs span em{font-style: normal;margin-left: 0.8cqw;color: rgb(255, 255, 255)}
.fn-ex-ph{position: absolute;right: 0px;bottom: 0px;width: 25cqw;aspect-ratio: 9 / 18;border-radius: 3.6cqw;padding: 0.9cqw;background: rgb(27, 27, 27);box-shadow: rgba(0, 0, 0, 0.55) 0px 3cqw 5cqw -2cqw}
.fn-ex-ph > div{display: flex;flex-direction: column;align-items: flex-start;gap: 1.6cqw;height: 100%;border-radius: 2.8cqw;background: rgb(255, 255, 255);padding: 3cqw 2.4cqw;overflow: hidden;color: rgb(98, 108, 74)}
.fn-ex-ph .fn-ex-lg{width: 4cqw;height: 4cqw;margin: 0px 0px 1cqw}
.fn-ex-ph .fn-ex-h{font-size: max(10px, 2.6cqw)}
.fn-ex-ph .fn-ex-p{font-size: max(8px, 1.4cqw)}
.fn-ex-ph .fn-ex-pill{font-size: max(8px, 1.2cqw)}
.fn-ex-ph .fn-ex-btn{height: 3.4cqw;font-size: max(8px, 1.4cqw);padding: 0px 2cqw}
.fn-ex-ln{display: block;width: 100%;height: 1cqw;border-radius: 9px;background: rgb(232, 235, 224)}
.fn-ex-ln.fn-s{width: 60%}
.fn-ex .fn-chips-row .fn-chip{background: var(--surf)}
@container (max-width: 520px){.fn-ex-lnk{display: none} .fn-ex-hrs span:nth-of-type(n+3){display: none} .fn-ex-hrs{gap: 2cqw}}


/* ===== Webflow build extras (appended after the prototype rules) ===== */
/* The prototype wrapped the page in a styled div; in Webflow that lives on the body. Also undo Webflow's default
   heading/paragraph/list/image spacing so unstyled elements look like the prototype (browser defaults). */
html{height:auto}
body{font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:normal;font-weight:400;color:var(--tx);background:var(--bg);min-height:100vh}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:normal}
h1{margin:.67em 0;font-size:2em}
h2{margin:.83em 0;font-size:1.5em}
h3{margin:1em 0;font-size:1.17em}
h4{margin:1.33em 0;font-size:1em}
h5{margin:1.67em 0;font-size:.83em}
h6{margin:2.33em 0;font-size:.67em}
p{margin:1em 0}
ul,ol{margin:1em 0;padding-left:40px}
blockquote{margin:1em 40px;padding:0;border:0;font-size:inherit;line-height:inherit}
figure{margin:1em 40px}
figcaption{margin:0;text-align:start}
img{display:inline;vertical-align:baseline}

/* spaces the Webflow builder drops between inline siblings */
.fn-opt-w + .fn-opt-w{margin-left:.102em}
.fn-tb-sep::after{content:" ";white-space:pre}
/* Div-based buttons: Webflow's builder can't emit <button>, so funnal.js adds role/tabindex/keyboard support */
[data-fn-btn]{cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:inherit}
[data-fn-btn]:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
[data-fn-btn][aria-hidden="true"]{cursor:default}
[data-fn-btn][aria-hidden="true"]:focus-visible{outline:0}

/* Header menus: funnal.js flips data-open */
.fn-backdrop{display:none}
.fn-backdrop[data-open]{display:block}
.fn-hdd{display:none}
.fn-hdd[data-open]{display:block}
.fn-msheet{display:none}
.fn-msheet[data-open]{display:flex}
.fn-msub{display:none}
.fn-msub[data-open]{display:flex}
@media (min-width:821px){.fn-msheet,.fn-msheet[data-open]{display:none}}
.fn-nav-link[data-svc-btn][aria-current="page"]::after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;margin-left:-2px;border-radius:99px;background:rgb(199,177,177)}

/* FAQ accordion + "show all" */
.fn-faq-body{grid-template-rows:0fr;opacity:0;visibility:hidden}
.fn-faq-btn[aria-expanded="true"] + .fn-faq-body{grid-template-rows:1fr;opacity:1;visibility:visible}
.fn-faq-btn[aria-expanded="true"] .fn-chev{transform:rotate(180deg);color:var(--bg);background:var(--ink)}
.fn-faq-x{display:none}
[data-faq-all] .fn-faq-x{display:block}

/* inline-style overrides from the prototype that need to beat the shared rules */
.fn-sh.fn-faq-h{margin-bottom:clamp(8px,2vw,24px)}
.fn-foot-mail{max-width:100%;font-size:16px;font-weight:600;text-align:left;letter-spacing:-0.01em;word-break:break-all}

.fn-lg-toc-b .fn-chev{flex:none;width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--ink);background:var(--surf)}
.fn-lg-toc-b[aria-expanded="true"] .fn-chev{transform:rotate(180deg);color:var(--bg);background:var(--ink)}

/* service pages: hidden step/example data, panel pickers, terms drop-down */
.fn-stp-d,.fn-dx{display:none}
.fn-tp-off{display:none !important}
.fn-terms-b .fn-chev{flex:none;width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--ink);background:var(--surf)}
.fn-terms-b[aria-expanded="true"] .fn-chev{transform:rotate(180deg);color:var(--bg);background:var(--ink)}
.fn-terms-b[aria-expanded="true"] + .fn-faq-body{grid-template-rows:1fr;opacity:1;visibility:visible}
.fn-chev{flex:none;width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--ink);background:var(--card)}
.fn-terms-b .fn-chev{background:var(--surf)}
.fn-terms-b[aria-expanded="true"] .fn-chev{background:var(--ink)}

/* tab buttons are divs in Webflow: centre their label the way a <button> does */
.fn-seg-b{display:flex;align-items:center;justify-content:center;text-align:center}

/* Contact page */
.fn-ct-spin{border:2.5px solid var(--line);border-top-color:var(--ink)}
.fn-pg-h1 > span[aria-hidden="true"]{margin-left:0.22em}
.fn-qz-note [data-bind="pkg"]{margin-right:0.3em}
.fn-ct-in{margin:0;height:auto}
.fn-ct-f label{margin:0}
.fn-ct-w{margin:0}
.fn-ct-done{padding:0;text-align:left;background:transparent;color:inherit}
.fn-ct-fail{margin:0;padding:14px 18px;border-radius:18px;background:color-mix(in srgb,#C0453A 10%,var(--bg));color:var(--ink);font-size:15px;line-height:1.5}
.fn-ct-fail a{color:inherit;font-weight:600;text-decoration:underline}
.fn-ct-submit{position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0;overflow:hidden;pointer-events:none}


/* ===== CMS lists (Blog): Webflow wraps list items in .w-dyn-* divs; make them invisible to the layouts ===== */
.fn-bl-filter .w-dyn-list,.fn-bl-filter .w-dyn-items,.fn-bl-filter .w-dyn-item,
.fn-bl-list .w-dyn-list,.fn-bl-list .w-dyn-items,.fn-bl-list .w-dyn-item,
.fn-bl-meta .w-dyn-list,.fn-bl-meta .w-dyn-items,.fn-bl-meta .w-dyn-item{display:contents}
.fn-bl-filter .w-dyn-empty,.fn-bl-meta .w-dyn-empty,.fn-bl-list .w-dyn-empty{display:none}
/* topic colour comes from the Topics "Colour" option */
.fn-tg[data-k="Blue"],.fn-tg-dot[data-k="Blue"]{--k:var(--ac-blue)}
.fn-tg[data-k="Gold"],.fn-tg-dot[data-k="Gold"]{--k:var(--ac-gold)}
.fn-tg[data-k="Red"],.fn-tg-dot[data-k="Red"]{--k:var(--ac-red)}
.fn-tg[data-k="Rose"],.fn-tg-dot[data-k="Rose"]{--k:#C7B1B1}
/* cards are divs now (a collection list cannot sit inside a link): the title link covers the whole card */
.fn-bl-card{position:relative}
.fn-bl-lk{text-decoration:none;color:var(--ink)}
.fn-bl-lk::after{content:"";position:absolute;inset:0;z-index:1;border-radius:32px}
.fn-bl-lk:focus-visible{outline:none}
.fn-bl-card:has(.fn-bl-lk:focus-visible){outline:2px solid var(--ink);outline-offset:3px}
.fn-bl-date,.fn-bl-min{display:block}

/* ===== Blog post template (CMS): rich-text body, intro, closing note, tags and Keep reading ===== */
.fn-po-meta .w-dyn-list,.fn-po-meta .w-dyn-items,.fn-po-meta .w-dyn-item,
.fn-po-more-g .w-dyn-list,.fn-po-more-g .w-dyn-items,.fn-po-more-g .w-dyn-item{display:contents}
.fn-po-meta .w-dyn-empty,.fn-po-more-g .w-dyn-empty{display:none}
.fn-po-date,.fn-po-mc-date,.fn-po-mc-min{display:block}
.fn-po-mc-d{display:flex;flex-wrap:wrap;gap:0 6px}
.fn-po-mc-min::before{content:"·";margin-right:6px}
.fn-po-credit:empty,.fn-po-cover figcaption:empty,.fn-po-min:empty{display:none}
.fn-po-grid.fn-po-notoc{grid-template-columns:minmax(0,1fr)}
.fn-po-notoc .fn-po-toc{display:none}
.fn-po-lede p{margin:0;font:inherit;color:inherit}
.fn-po-lede p+p{margin-top:12px}
.fn-po-lede a,.fn-po-thanks a{color:var(--ink);font-weight:500;text-decoration:underline 1.5px rgb(199,177,177);text-underline-offset:3px;overflow-wrap:anywhere;transition:text-decoration-color .25s}
.fn-po-lede a:hover,.fn-po-thanks a:hover{text-decoration-color:var(--ink)}
.fn-po-rt{counter-reset:fnpo;min-width:0}
.fn-po-rt h2{display:flex;align-items:baseline;gap:12px;margin:clamp(28px,4vw,44px) 0 16px;font-size:clamp(24px,2.8vw,34px);font-weight:600;letter-spacing:-.04em;line-height:1.15;color:var(--ink);text-wrap:balance;scroll-margin-top:124px}
.fn-po-rt h2:first-child{margin-top:0}
.fn-po-rt h2::before{counter-increment:fnpo;content:counter(fnpo,decimal-leading-zero);flex:0 0 auto;font-size:.5em;font-weight:600;letter-spacing:0;padding:3px 10px;border-radius:99px;background:linear-gradient(135deg,var(--pink),var(--peach));transform:translateY(-.25em)}
.fn-po-rt h3{margin:24px 0 10px;font-size:clamp(19px,2vw,24px);font-weight:600;letter-spacing:-.03em;line-height:1.25;color:var(--ink)}
.fn-po-rt p{margin:0 0 16px;font-size:clamp(16px,1.4vw,18px);line-height:1.75;color:var(--tx);max-width:66ch}
.fn-po-rt strong,.fn-po-rt b{font-weight:600;color:var(--ink)}
.fn-po-rt a{color:var(--ink);font-weight:500;text-decoration:underline 1.5px rgb(199,177,177);text-underline-offset:3px;overflow-wrap:anywhere;transition:text-decoration-color .25s}
.fn-po-rt a:hover{text-decoration-color:var(--ink)}
.fn-po-rt a:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}
.fn-po-rt ul,.fn-po-rt ol{margin:0 0 16px;padding-left:1.4em;max-width:66ch}
.fn-po-rt li{margin:0 0 8px;font-size:clamp(16px,1.4vw,18px);line-height:1.7;color:var(--tx)}
.fn-po-rt blockquote{margin:0 0 20px;padding:16px 20px;border:0;border-left:3px solid rgb(199,177,177);border-radius:0 16px 16px 0;background:var(--card);font-size:clamp(17px,1.5vw,19px);line-height:1.6;color:var(--ink);max-width:66ch}
.fn-po-rt img{display:block;max-width:100%;height:auto;border-radius:20px}
.fn-po-rt figure{margin:0 0 20px}
.fn-po-rt figcaption{margin-top:8px;font-size:13px;color:var(--mu)}
.fn-po-thanks{display:none;min-width:0}
.fn-po-thanks:has(p){display:block}
.fn-po-thanks p{margin:0;font-size:clamp(16px,1.4vw,18px);line-height:1.75;color:var(--ink);font-weight:500;max-width:66ch}
.fn-po-thanks p+p{margin-top:12px}

/* ===== Case study template (CMS): header, results tiles, palette, gallery, quote, full story, More work ===== */
.fn-cs .w-dyn-empty{display:none}
.fn-cs-hide{display:none !important}
.fn-cs-top{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(14px,2vw,22px);padding-top:clamp(28px,4vw,56px);padding-bottom:clamp(24px,3.4vw,44px)}
.fn-cs-head{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(8px,1vw,12px);min-width:0}
.fn-cs-h1{max-width:18ch}
.fn-cs-svc{margin:0;font-size:clamp(18px,2vw,24px);font-weight:500;letter-spacing:-.025em;line-height:1.3;color:var(--mu)}
.fn-cs-svc:empty{display:none}
.fn-cs-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.fn-cs-chips:not(:has(.fn-cs-chip:not(:empty))){display:none}
.fn-cs-chip{min-height:32px;padding:6px 14px;border-radius:999px;background:var(--card);color:var(--tx);font-size:13px;font-weight:500;line-height:1.3;display:inline-flex;align-items:center;max-width:100%}
.fn-cs-chip:empty{display:none}
.fn-cs-lead{margin:0;max-width:62ch;font-size:clamp(17px,1.8vw,21px);line-height:1.55;letter-spacing:-.01em;color:var(--ink-d)}
.fn-cs-sec{padding-bottom:clamp(40px,6vw,72px)}
.fn-cs-hero{margin:0;overflow:hidden;border-radius:clamp(20px,3vw,32px);background:var(--card2);aspect-ratio:16/9;max-height:72vh;box-shadow:0 40px 60px -44px color-mix(in srgb,var(--ink) 50%,transparent)}
.fn-cs-himg{display:block;width:100%;height:100%;object-fit:cover}
.fn-cs-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(28px,4vw,56px);align-items:start}
.fn-cs-col{min-width:0}
.fn-cs-col:has(.fn-cs-did:empty){display:none}
.fn-cs-ey{margin:0 0 14px;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--mu)}
.fn-cs-eys{text-transform:none;letter-spacing:0;font-weight:500}
.fn-cs .fn-cs-did ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.fn-cs .fn-cs-did li{position:relative;margin:0;padding:0 0 0 20px;font-size:clamp(15px,1.4vw,17px);line-height:1.5;color:var(--tx)}
.fn-cs .fn-cs-did li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:99px;background:rgb(199,177,177)}
.fn-cs .fn-cs-did p{margin:0 0 12px;font-size:clamp(15px,1.4vw,17px);line-height:1.6;color:var(--tx)}
.fn-cs-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px}
.fn-cs-tile{container-type:inline-size;background:var(--card);border-radius:18px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.fn-cs-tile:has(.fn-cs-tn:empty){display:none}
.fn-cs-tn{font-size:clamp(28px,24cqw,48px);font-weight:600;letter-spacing:-.045em;line-height:1.05;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.fn-cs-tc{font-size:13px;line-height:1.4;color:var(--mu)}
.fn-cs-outs:has(.fn-cs-out:empty){display:none}
.fn-cs-out{margin:0;max-width:34ch;font-size:clamp(22px,2.8vw,36px);font-weight:600;letter-spacing:-.035em;line-height:1.25;color:var(--ink);text-wrap:balance}
.fn-cs-pals:has(.fn-cs-pal-t:empty){display:none}
.fn-cs-pal-t:not(.fn-cs-done){opacity:0;max-height:1px;overflow:hidden}
.fn-cs-pal-t .fn-swatches{margin:0}
.fn-cs-gals:not(:has(.fn-cs-gi)){display:none}
.fn-cs-gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px}
.fn-cs-gw,.fn-cs-gl{display:contents}
.fn-cs-gl::before,.fn-cs-gl::after{content:none;display:none}
.fn-cs-gi.w-col{float:none;width:auto;padding:0;margin:0}
.fn-cs-gi{margin:0;padding:0;border-radius:16px;overflow:hidden;aspect-ratio:617/436;background:var(--card2);min-width:0}
.fn-cs-gimg{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.fn-cs-gi:hover .fn-cs-gimg{transform:scale(1.04)}
.fn-cs-gi.fn-cs-wide{grid-column:1/-1;aspect-ratio:1100/384}
.fn-cs-gal.fn-cs-one{grid-template-columns:minmax(0,1fr)}
.fn-cs-gal.fn-cs-one .fn-cs-gi{aspect-ratio:16/9}
.fn-cs-qs:has(.fn-cs-qt:empty){display:none}
.fn-cs-q{margin:0;padding:clamp(22px,3.4vw,40px);border-radius:24px;background:linear-gradient(135deg,var(--pink),var(--peach))}
.fn-cs .fn-cs-qt{margin:0;padding:0;border:0;max-width:44ch;font-size:clamp(19px,2.3vw,28px);line-height:1.45;letter-spacing:-.02em;font-weight:500;color:var(--ink)}
.fn-cs-qt::before{content:"\201C"}
.fn-cs-qt::after{content:"\201D"}
.fn-cs-qa{margin-top:16px;font-size:14px;color:var(--mu)}
.fn-cs-qa:empty{display:none}
.fn-cs-full{border-radius:20px;background:var(--card);padding:clamp(6px,.8vw,10px) clamp(16px,2.4vw,28px)}
.fn-cs-sum{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;cursor:pointer;list-style:none;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ink);border-radius:12px}
.fn-cs-sum::-webkit-details-marker{display:none}
.fn-cs-sum::after{content:"+";flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:99px;background:var(--bg);font-size:20px;line-height:1;transition:transform .4s var(--spring)}
.fn-cs-full[open] .fn-cs-sum::after{content:"\2212"}
.fn-cs-sum:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.fn-cs-fullb{padding:4px 0 clamp(14px,2vw,22px)}
.fn-cs-fh{margin:22px 0 8px;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--mu)}
.fn-cs-fh:first-child{margin-top:8px}
.fn-cs-more-g .w-dyn-list,.fn-cs-more-g .w-dyn-items,.fn-cs-more-g .w-dyn-item{display:contents}
.fn-cs-more-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:900px){.fn-cs-more-g{grid-template-columns:minmax(0,1fr)}}
.fn-cs-mc{position:relative;display:flex;flex-direction:column;gap:12px;padding:clamp(10px,1.2vw,14px);border-radius:28px;background:var(--card);min-width:0;transition:background .45s,transform .55s var(--spring),box-shadow .45s}
.fn-cs-mc:hover{background:linear-gradient(135deg,var(--pink),var(--peach));transform:translateY(-4px);box-shadow:0 26px 44px -34px color-mix(in srgb,var(--ink) 55%,transparent)}
.fn-cs-mc:has(.fn-cs-mc-lk:focus-visible){outline:2px solid var(--ink);outline-offset:3px}
.fn-cs-mc-img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:20px;background:var(--card2)}
.fn-cs-mc-b{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:2px 8px 8px;min-width:0}
.fn-cs-mc-lk{display:block;font-size:clamp(18px,1.6vw,21px);font-weight:600;letter-spacing:-.03em;line-height:1.25;color:var(--ink);text-decoration:none}
.fn-cs-mc-lk::after{content:"";position:absolute;inset:0;z-index:1;border-radius:28px}
.fn-cs-mc-lk:focus-visible{outline:none}
.fn-cs-mc-s{margin:0;font-size:13px;color:var(--mu)}
.fn-cs-mc-t{margin:0;font-size:14px;line-height:1.5;color:var(--tx)}
@media (prefers-reduced-motion:reduce){.fn-cs-mc,.fn-cs-mc:hover{transform:none}}

/* ===== Home work grid (CMS list): Webflow's list wrappers step aside so each card sits straight in the grid ===== */
.fn-wk-grid .w-dyn-list,.fn-wk-grid .w-dyn-items,.fn-wk-grid .w-dyn-item{display:contents}
.fn-wk-item{display:flex;flex-direction:column;min-width:0}
.fn-wk-item>.fn-work{flex:1 1 auto}
.fn-work-chips .fn-chip:empty{display:none}
.fn-work-chips:not(:has(.fn-chip:not(:empty))){display:none}
.fn-work-tag:empty,.fn-work-sum:empty{display:none}
@media (min-width:640px) and (max-width:999px){.fn-wk-grid .w-dyn-item:last-child:nth-child(odd)>.fn-wk-item{grid-column:span 2}}
@media (min-width:1000px){
.fn-wk-grid .w-dyn-item>.fn-wk-item{grid-column:span 3}
.fn-wk-grid .w-dyn-item:nth-child(-n+3)>.fn-wk-item{grid-column:span 2}
.fn-wk-grid .w-dyn-item:nth-child(n+4):last-child:nth-child(even)>.fn-wk-item{grid-column:span 6}
}
/* Webflow renamed .fn-art-lg to -1 on the Printing page */
.fn-br-t .fn-art-lg-1{display: block;width: 6cqw;height: 6cqw}
.fn-br-t .fn-art-lg-1 svg{fill: currentcolor}
.fn-br-t .fn-art-lg-1 svg{width: 100%;height: 100%}
.fn-pr-art .fn-art-lg-1{display: block;width: 7cqw;height: 7cqw}
.fn-pr-art .fn-art-lg-1 svg{width: 100%;height: 100%}
.fn-pr-f .fn-art-lg-1{display: block;width: 5cqw;height: 5cqw;flex: 0 0 auto}
.fn-pr-f .fn-art-lg-1 svg{width: 100%;height: 100%}
.fn-pr-art .fn-art-lg-1, .fn-pr-f .fn-art-lg-1{display: flex;align-items: center;gap: 1.4cqw;width: auto;height: auto;font-size: max(11px, 2.3cqw);font-weight: 700;letter-spacing: 0.1em;white-space: nowrap}
.fn-art-lg-1 .fn-lt{font-style: normal}
.fn-pr-f .fn-art-lg-1 svg{width: max(14px, 5cqw);height: max(14px, 5cqw);flex: 0 0 auto}
.fn-pr-art .fn-art-lg-1 svg{width: 6.4cqw;height: 6.4cqw;flex: 0 0 auto;fill: currentcolor}
.fn-pr-f .fn-art-lg-1 svg{width: 4.6cqw;height: 4.6cqw;flex: 0 0 auto;fill: currentcolor}
.fn-pr-f.fn-c .fn-art-lg-1{flex: 1 1 0%;min-width: 0px}
.fn-pr-f.fn-c .fn-art-lg-1 svg{width: 4.2cqw;height: 4.2cqw}
.fn-wb-f .fn-nv .fn-art-lg-1{display: block;width: 6cqw;height: 6cqw;margin-right: auto;color: var(--ink)}
.fn-wb-f .fn-nv .fn-art-lg-1 svg{width: 100%;height: 100%}
.fn-wb-p .fn-art-lg-1{display: block;width: 5cqw;height: 5cqw}
.fn-wb-p .fn-art-lg-1 svg{width: 100%;height: 100%}
.fn-dd-panel{background:var(--bg)}

/* feedback round 1 */
.fn-face>b,.fn-dp-in>b{display:none}
.fn-bl-card{cursor:pointer}
.fn-rec-chip{display:flex;width:fit-content;min-height:26px;padding:3px 12px;margin-bottom:10px;font-size:12px;font-weight:600;letter-spacing:.02em;background:linear-gradient(135deg,var(--pink),var(--peach));color:var(--ink-d)}
#addons .inline-p-0,#problem .inline-p-0-1-2-3-4{font-size:clamp(26px,3.2vw,42px);font-weight:600;line-height:1.12;letter-spacing:-.04em}
#addons p.inline-p-2,#addons p.inline-p-2 span,#problem .inline-p-1,#problem .inline-p-1 span{font-size:clamp(18px,1.8vw,22px);line-height:1.3;letter-spacing:-.03em}
#addons .fn-lede,#approach .fn-lede,#explorer .fn-lede{font-size:16px;letter-spacing:-.02em}
/* Home work chips: vary the palette card by card */
.fn-wk-grid .w-dyn-item:nth-child(5n+2) .fn-work-chips .fn-chip:nth-child(1){--c:var(--ac-red)}
.fn-wk-grid .w-dyn-item:nth-child(5n+2) .fn-work-chips .fn-chip:nth-child(2){--c:#C7B1B1;--on:#2A2B2D}
.fn-wk-grid .w-dyn-item:nth-child(5n+3) .fn-work-chips .fn-chip:nth-child(1){--c:var(--ac-gold);--on:#2A2B2D}
.fn-wk-grid .w-dyn-item:nth-child(5n+3) .fn-work-chips .fn-chip:nth-child(2){--c:var(--ac-blue);--on:#fff}
.fn-wk-grid .w-dyn-item:nth-child(5n+4) .fn-work-chips .fn-chip:nth-child(1){--c:#C7B1B1;--on:#2A2B2D}
.fn-wk-grid .w-dyn-item:nth-child(5n+4) .fn-work-chips .fn-chip:nth-child(2){--c:var(--ac-red);--on:#fff}
.fn-wk-grid .w-dyn-item:nth-child(5n+5) .fn-work-chips .fn-chip:nth-child(1){--c:var(--ac-blue);--on:#fff}
.fn-wk-grid .w-dyn-item:nth-child(5n+5) .fn-work-chips .fn-chip:nth-child(2){--c:var(--ac-red);--on:#fff}
/* Social: room under the pricing cards so the hover lift never crowds "Price depends on" */
.fn-wrap.fn-sec > .fn-fx-reveal.inline-div-0:has(> p.inline-p-0){margin-top:clamp(32px,5vw,64px);position:relative;z-index:0}
.fn-pcard{position:relative}
/* Websites scene: the browser-bar must not inherit the burger-menu bar rule (fixed 18px wide) */
.fn-wb-f .fn-bar{width:auto;border-radius:0;transition:none}

/* ===== Round 2 ===== */
/* Home: hero text sits a little lower on phones */
@media (max-width:720px){.fn-hero{padding-top:clamp(28px,9vw,52px)}}
/* Meet the team (home): Sam first, in front, never faded or blurred */
.fn-faces .fn-face.fn-f1,.fn-faces .fn-face.fn-f2{animation:none!important;opacity:1!important;filter:none!important}
.fn-faces .fn-face.fn-f1{z-index:2}
.fn-faces .fn-face.fn-f2{z-index:1}
/* iPhone turns phone numbers into blue links: keep our colours */
a[x-apple-data-detectors],.fn-wb-f a[href^="tel"],.fn-ws-bd a[href^="tel"]{color:inherit!important;text-decoration:none!important;font:inherit!important}
/* Contact quiz: space between "See" and the service name */
[data-qz-see]>span{margin-left:.3em}
/* Packages: stack the two-column intro rows on phones so sizes match */
@media (max-width:720px){
  #addons>.inline-div-0,#problem>.inline-div-0{flex-direction:column!important;align-items:flex-start!important;gap:10px!important}
  #addons>.inline-div-0>*,#problem>.inline-div-0>*{width:100%!important;max-width:none!important;flex:none!important}
  #problem .inline-h2-0{font-size:20px;font-weight:600}
}
/* Email & SMS scroll scene: dots and the "Message sent" chip centred */
.fn-sx-em .fn-em-d{margin-left:-4.4cqw}
.fn-sx-em .fn-sx-chip.fn-sx-pink.fn-o3{left:0!important;right:0;margin-inline:auto;width:fit-content}
/* Social phone mock: calmer hearts that drift up with a gentle sway */
.fn-so-h{translate:calc(sin(var(--q) * 9.4) * 1.6cqw) calc(var(--q) * -16cqw);scale:calc(.6 + .55 * var(--q))}
.fn-so-ph .fn-ac .fn-hr{transform-origin:center}
/* AI Automation examples: one swipeable row of tabs on phones, result right underneath */
@media (max-width:900px){
  .fn-ax-list{flex-flow:row nowrap!important;overflow-x:auto;overflow-y:hidden;gap:8px;padding:10px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12px,#000 calc(100% - 26px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12px,#000 calc(100% - 26px),transparent 100%)}
  .fn-ax-list::-webkit-scrollbar{display:none}
  .fn-ax-b{flex:0 0 auto;white-space:nowrap;scroll-snap-align:center}
  .fn-ax-nm{white-space:nowrap}
}
/* Printing: the four colour plates sliding into register */
.fn-pr-reg-card{position:relative;border-radius:28px;background:linear-gradient(135deg,var(--pink),var(--peach));padding:clamp(22px,4vw,48px);display:flex;flex-direction:column;align-items:center;gap:clamp(14px,2vw,24px);text-align:center;overflow:hidden}
.fn-pr-reg-h{margin:0;font-size:clamp(26px,4.4vw,46px);font-weight:700;letter-spacing:-.035em;line-height:1.12;max-width:12em;min-height:2.3em;color:var(--ink)}
.fn-pr-caret{display:inline-block;width:3px;height:.85em;margin-left:4px;vertical-align:-.1em;background:#d6a24a;animation:fnPrBlink 1s steps(2,start) infinite}
@keyframes fnPrBlink{to{opacity:0}}
.fn-pr-reg-svg{width:min(100%,440px);height:auto;aspect-ratio:1;overflow:visible;isolation:isolate}
.fn-pr-plates{isolation:isolate}
.fn-pr-plate{mix-blend-mode:multiply;transform-box:view-box;transform-origin:50% 50%;transform:var(--from);transition:transform 2.3s cubic-bezier(.2,.85,.2,1)}
[data-theme="dark"] .fn-pr-plate{mix-blend-mode:screen}
.fn-pr-reg.fn-is-in .fn-pr-c{transform:translate(-1.6px,-1px)}
.fn-pr-reg.fn-is-in .fn-pr-m{transform:translate(1.6px,-1.2px)}
.fn-pr-reg.fn-is-in .fn-pr-y{transform:translate(0,1.8px)}
.fn-pr-reg.fn-is-in .fn-pr-k{transform:none}
.fn-pr-k{mix-blend-mode:normal}
.fn-pr-c{transition-delay:0s}.fn-pr-m{transition-delay:.12s}.fn-pr-y{transition-delay:.24s}.fn-pr-k{transition-delay:.36s}
.fn-pr-marks,.fn-pr-bar{opacity:0;transition:opacity .8s ease 1.7s}
.fn-pr-reg.fn-is-in .fn-pr-marks,.fn-pr-reg.fn-is-in .fn-pr-bar{opacity:1}
@media (prefers-reduced-motion:reduce){.fn-pr-plate{transform:none;transition:none}.fn-pr-marks,.fn-pr-bar{opacity:1;transition:none}.fn-pr-caret{animation:none}}

/* ===== Round three ===== */
/* services dropdown: no outline, shadow only */
.fn-drop.fn-dd-panel{border:0!important}
/* team photo: the builder left a 40% opacity on the first face */
.fn-ph{opacity:1!important}
/* case-study quotes: the builder's default blockquote box ignored dark mode */
.fn-q blockquote,.fn-rt blockquote,blockquote{background:transparent!important;border:0!important;box-shadow:none!important;padding-left:0;padding-right:0;color:var(--ink)}
.fn-q blockquote{padding:0}
.fn-pr-reg-p{max-width:46ch;margin:14px 0 0;font-size:clamp(15px,1.5vw,17px);line-height:1.55;color:var(--mu)}
/* dark mode: text that kept a fixed dark colour on dark cards, and a white label on a light-blue button */
[data-theme="dark"] .fn-kit .fn-kit-tag,[data-theme="dark"] .fn-kit .fn-kit-tag *{color:var(--ink)!important}
[data-theme="dark"] .fn-pa-ad .fn-btn{color:var(--brand-d)}
/* James: new photo (home face + About) */
.fn-ph-james,.fn-f2 .fn-ph{background-image:url("https://cdn.jsdelivr.net/gh/FunnalCode/Funnal_Website@875530a078eb067e135b5f38412a6e2fd2b53043/assets/img/james.jpg")!important;background-size:cover!important;background-position:50% 22%!important}
