/* Bliink front: the public homepage (.fr) and the sign-in screens (.au).
   Page surfaces use the app tokens from app.css, so the dark theme keeps working.
   Sample pages and cards inside the pictures keep fixed colours: .fr-light resets the tokens for them. */

/* ---------- shared pieces ---------- */
.fr,.au{--edge:#C9CCDA;--bad:#B4233D;--lnk:#4233D6;font-size:16px;line-height:1.5;color:var(--ink)}
:root[data-theme=dark] .fr,:root[data-theme=dark] .au{--edge:#3A3E63;--bad:#FFA3AE;--lnk:#B9B0FF}
.fr-light{--canvas:#F3F4F8;--surface:#FFFFFF;--ink:#181A2B;--ink-2:#4A4E66;--line:#E4E6EE;--violet:#5B4BFF;--violet-soft:#ECEAFF;color:#181A2B;color-scheme:light}
.fr-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.fr a:hover,.au a:hover{color:inherit}
.fr-logo{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:23px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.fr-logo span{width:36px;height:36px;flex:none;border-radius:11px;background:#5B4BFF;display:grid;place-items:center}
.fr-logo span::after{content:"";width:13px;height:13px;border-radius:50%;background:#fff}
.fr-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:0;border-radius:13px;background:#5B4BFF;color:#fff;font:700 15px var(--font);white-space:nowrap;cursor:pointer;transition:filter .15s}
.fr-btn:hover,.fr a.fr-btn:hover{filter:brightness(1.1)}
.fr-btn.dark{background:var(--ink);color:var(--surface)}
.fr-btn.white{background:#fff;color:#181A2B}
.fr-btn.sun{background:#F2D36B;color:#16322A}

/* a sample bio page, drawn as a phone (sizes follow its font-size) */
.fr-ph{--pb:#F4F1E6;--pi:#16322A;--pa:#16322A;--pai:var(--pb);--av:var(--pa);--avi:var(--pb);--pm:color-mix(in srgb,var(--pi) 22%,transparent);
  width:226px;height:452px;flex:none;font-size:12.5px;line-height:1.3;border:.56em solid #181A2B;border-radius:2.7em;background:var(--pb);color:var(--pi);
  padding:2em 1.1em 1.1em;display:flex;flex-direction:column;align-items:center;gap:.72em;text-align:center;box-shadow:0 30px 50px -28px rgba(24,26,43,.55)}
.fr-ph>b{font-size:1.6em;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.fr-ph small{font-size:.92em;opacity:.8}
.fr-ph em{margin-top:auto;font:700 11px var(--font);opacity:.75}
.fr-av{width:3.1em;height:3.1em;flex:none;border-radius:50%;background:var(--av);color:var(--avi);display:grid;place-items:center;font-size:1.5em;font-weight:800}
.fr-pl{align-self:stretch;padding:.82em .6em;border-radius:1em;border:1.5px solid var(--pi);font-weight:700}
.fr-pl.solid{background:var(--pa);border-color:var(--pa);color:var(--pai)}
.fr-pl.sun{background:#F2D36B;border-color:#F2D36B;color:#16322A;font-weight:900;line-height:1.1;text-align:left}
.fr-pm{align-self:stretch;flex:1;border-radius:1em;background:var(--pm)}
.fr-hours{align-self:stretch;display:flex;justify-content:space-between;padding:.8em;border-radius:1.1em;background:#20453A;font-family:var(--font);font-size:.92em}
.t-cream{--av:#FFD9C2;--avi:#7A2E0E;--pm:#D7E0D6}
.t-cream>b,.t-coach>b{font-family:Fraunces,Georgia,serif}
.t-cafe{--pb:#16322A;--pi:#F4F1E6;--pa:#F4F1E6;--pai:#16322A;--av:#F2D36B;--avi:#16322A;--pm:#20453A}
.t-cafe,.t-band,.t-pod{font-family:Gabarito,var(--font)}
.t-band{--pb:#14162B;--pi:#FFFFFF;--pa:#FF4F6D}
.t-coach{--pb:#FFE9E4;--pi:#3A1220;--pa:#D2365B}
.t-shop{--pb:#FFF3C4;--pi:#3A2A05;--pa:#E0611F}
.t-pod{--pb:#2A1238;--pi:#F6E9FF;--pa:#E7A6FF}

/* ---------- motion (all of it stops under prefers-reduced-motion, see the end) ---------- */
@keyframes fr-float{50%{transform:translateY(-18px) rotate(var(--r,0deg))}}
@keyframes fr-slide{to{transform:translateX(-50%)}}
@keyframes fr-pulse{from{box-shadow:0 0 0 0 rgba(18,128,92,.55)}to{box-shadow:0 0 0 12px rgba(18,128,92,0)}}
@keyframes fr-grow{0%,10%{transform:scaleX(0)}45%,100%{transform:none}}
@keyframes fr-scan{0%,100%{top:6%}50%{top:90%}}
@keyframes fr-draw{0%,5%{clip-path:inset(0 100% 0 0)}50%,100%{clip-path:inset(0)}}
@keyframes fr-pop{0%,6%{opacity:0;transform:translateY(14px) scale(.96)}16%,100%{opacity:1;transform:none}}
@keyframes fr-type{0%,10%{max-width:0}45%,100%{max-width:7ch}}
@keyframes fr-blink{50%{opacity:0}}
@keyframes fr-drop{0%,10%{transform:translateY(-34px);opacity:0}35%,100%{transform:none;opacity:1}}
.fr-fl{transform:rotate(var(--r,0deg));animation:fr-float var(--d,7s) ease-in-out var(--dl,0s) infinite}
.fr-pulse{width:9px;height:9px;flex:none;border-radius:50%;background:#12805C;animation:fr-pulse 1.8s ease-out infinite}
.fr-grow{transform-origin:left;animation:fr-grow 5s ease-out infinite}
.fr-scan{position:absolute;left:-4px;right:-4px;top:6%;height:3px;border-radius:3px;background:#FF4F6D;animation:fr-scan 3.2s ease-in-out infinite}
.fr-draw{animation:fr-draw 6s ease-out infinite}
.fr-pop{animation:fr-pop 7s ease-out var(--dl,0s) infinite both}
.d0{--dl:.2s}.d1{--dl:.7s}.d2{--dl:1.2s}.d3{--dl:1.7s}.d4{--dl:2.2s}.d5{--dl:3s}.d6{--dl:3.8s}
.fr-type{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom;animation:fr-type 5s steps(7) infinite}
.fr-caret{font-style:normal;color:#8E82FF;animation:fr-blink 1s steps(1) infinite}
.fr-drop{animation:fr-drop 5s ease-out infinite both}
/* front.js: a section only moves while it is on screen */
.fr-io [data-anim]:not(.in) *{animation-play-state:paused}

/* ---------- homepage ---------- */
.fr{background:var(--canvas);overflow-x:clip}
.fr h1{font-size:clamp(45px,11.5vw,76px);font-weight:900;letter-spacing:-.045em;line-height:.98}
.fr h2{font-size:clamp(32px,3.6vw,46px);font-weight:800;letter-spacing:-.035em;line-height:1.04}
.fr [id]{scroll-margin-top:16px}
.fr-skip{position:absolute;left:-9999px}
.fr-skip:focus{left:16px;top:12px;z-index:9;padding:10px 14px;border-radius:10px;background:var(--ink);color:var(--surface);font-weight:600}

.fr-top{position:relative;z-index:5;display:flex;align-items:center;gap:36px;height:76px;padding:0 56px;max-width:1440px;margin:0 auto}
.fr-nav{flex:1;display:flex;gap:28px;font-size:15px;font-weight:600;color:var(--ink-2)}
.fr-nav a,.fr-signin{display:inline-flex;align-items:center;min-height:44px}
.fr .fr-nav a:hover,.fr .fr-signin:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.fr-signin{font-size:15px;font-weight:600}
.fr-top .fr-btn{min-height:44px;border-radius:12px;font-weight:600}
/* signed in: the person's picture, and the way back to their dashboard */
.fr-me{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:5px 16px 5px 6px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:600 15px var(--font);white-space:nowrap;transition:border-color .15s}
.fr .fr-me:hover{border-color:var(--ink)}
@media (max-width:560px){.fr-me{padding:5px}.fr-me>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}
.fr-menu{display:none;position:relative}
.fr-menu summary{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;cursor:pointer;list-style:none}
.fr-menu summary::-webkit-details-marker{display:none}
.fr-menu summary svg{width:22px;height:22px}
.fr-menu nav{position:absolute;right:0;top:50px;min-width:220px;display:grid;padding:8px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-pop)}
.fr-menu nav a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;font-weight:600}
.fr .fr-menu nav a:hover{background:var(--canvas)}

.fr-hero{position:relative;min-height:780px;overflow:hidden}
.fr-hero-in{position:relative;z-index:1;width:640px;margin:0 auto;padding-top:84px;display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}
.fr-lede{max-width:540px;font-size:19px;color:var(--ink-2)}
.fr-fine{font-size:14.5px;color:var(--ink-2)}
.fr-claim{display:flex;align-items:center;width:520px;max-width:100%;height:68px;padding:0 8px 0 22px;border-radius:20px;background:var(--surface);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);text-align:left}
.fr-claim-f{flex:1;min-width:0;display:flex;align-items:center}
.fr-claim label{display:block;font-size:19px;font-weight:400;color:var(--ink-2)}
/* app.css styles every input with a long selector, so the field rules here are written just as long to win */
.fr .fr-claim .fr-claim-f input[name]{flex:1;min-width:0;width:auto;height:48px;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:19px;font-weight:600}
.fr-claim input::placeholder{color:var(--ink-2);opacity:.7}
.fr-claim:focus-within{outline:3px solid var(--violet);outline-offset:3px}
.fr-claim .fr-btn{min-height:52px;border-radius:14px;padding:0 22px;font-size:16px}
.fr-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;font-size:14px;font-weight:600}
.fr-chips a{height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border-radius:99px;background:var(--surface);border:1px solid var(--line)}
.fr .fr-chips a:hover{border-color:var(--ink)}
.fr-chips i{width:9px;height:9px;border-radius:3px;background:#5B4BFF}
.fr-chips i.m-links{background:var(--ink)}.fr-chips i.m-qr{background:#F2D36B}.fr-chips i.m-sites{background:#8E82FF}.fr-chips i.m-stats{background:#12805C}
.fr-chips i.m-inbox{background:#FF4F6D}.fr-chips i.m-domains{background:#0B4F8A}.fr-chips i.m-shop{background:#16322A}
.fr-pause{min-height:44px;margin-top:-10px;padding:0 14px;border:0;border-radius:10px;background:none;font:600 13.5px var(--font);color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* the floating pieces around the hero: positions are measured from the middle so they hold at any width */
.fr-art{position:absolute;inset:0;pointer-events:none}
.fr-art>*{position:absolute}
.a1{--r:-7deg;--d:8s;left:calc(50% - 644px);top:120px}
.a2{--r:4deg;--d:6.5s;--dl:-2s;left:calc(50% - 540px);top:574px}
.a3{--r:-3deg;--d:7.5s;--dl:-4s;left:calc(50% - 470px);top:34px}
.a4{--r:6deg;--d:9s;--dl:-3s;left:calc(50% + 430px);top:104px}
.a5{--r:-5deg;--d:7s;--dl:-1s;left:calc(50% + 340px);top:530px}
.a6{--r:3deg;--d:8.5s;--dl:-5s;left:calc(50% + 504px);top:596px}
.a7{--r:5deg;--d:6s;--dl:-3.5s;left:calc(50% + 300px);top:32px}
.fr-offer{width:236px;display:flex;overflow:hidden;border-radius:18px;background:#F2D36B;color:#16322A;font-family:Gabarito,var(--font);box-shadow:0 22px 36px -22px rgba(24,26,43,.6)}
.fr-offer>span{flex:1;display:flex;flex-direction:column;gap:3px;padding:14px}
.fr-offer small{font-size:11px;font-weight:700}
.fr-offer b{font-size:17px;font-weight:900;line-height:1.1}
.fr-offer>i{width:62px;display:grid;place-items:center;padding:6px;border-left:2px dashed #16322A;font-size:11px;font-weight:700;font-style:normal;text-align:center}
.fr-pill{display:flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:14px;background:#fff;border:1px solid #E4E6EE;font-size:14px;font-weight:600;white-space:nowrap;box-shadow:0 16px 26px -18px rgba(24,26,43,.5)}
.fr-pill b{height:30px;display:inline-flex;align-items:center;margin-right:-8px;padding:0 10px;border-radius:9px;background:#ECEAFF;color:#4233D6;font-size:12.5px;font-weight:700}
.fr-qr{position:relative;display:block}
.fr-qr svg{display:block;width:126px;height:126px;fill:#5B4BFF}
.fr-qrc{width:150px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border-radius:20px;background:#fff;border:1px solid #E4E6EE;box-shadow:0 22px 36px -22px rgba(24,26,43,.55)}
.fr-qrc b{font-size:12.5px;font-weight:700}
.fr-stat{width:190px;display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:18px;background:#14162B;color:#fff;box-shadow:0 22px 36px -22px rgba(24,26,43,.7)}
.fr-stat small{font-size:12.5px;color:#C9CBDB}
.fr-stat b{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.fr-stat svg{width:158px;height:40px}
.fr-line{fill:none;stroke:#8E82FF;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}

/* the strip of real blocks, and the strip of sample pages */
.fr-band{display:flex;flex-direction:column;gap:12px;padding:16px 0;background:#181A2B;overflow:hidden}
.fr-mqw{overflow:hidden}
.fr-mq{display:flex;gap:12px;width:max-content;margin:0;padding:0 12px 0 0;list-style:none;animation:fr-slide 52s linear infinite}
.fr-mq.rev{animation-duration:60s;animation-direction:reverse}
.fr-mq.slow{gap:24px;padding-right:24px;animation-duration:70s}
.fr-mq li{display:inline-flex;align-items:center;gap:9px;height:52px;padding:0 20px;border-radius:16px;font-size:16px;font-weight:600;white-space:nowrap}
.fr-mq li svg{width:18px;height:18px;stroke-width:2}
.k0{background:#2A2D4A;color:#fff}.k1{background:#5B4BFF;color:#fff}.k2{background:#F2D36B;color:#16322A}.k3{background:#24274A;color:#C9C3FF}.k4{background:#fff;color:#181A2B}.k5{background:#D2365B;color:#fff}

.fr-sec{max-width:1440px;margin:0 auto;padding:88px 56px 0}
.fr-sec>h2{margin-bottom:36px}
.fr-sec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;margin-bottom:44px}
.fr-sec-head h2{max-width:720px;font-size:clamp(34px,4vw,52px);line-height:1.02}
.fr-sec-head p{max-width:440px;margin-top:8px;font-size:17px;color:var(--ink-2)}

/* module cards */
.fr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fr-mod{min-height:300px;display:flex;flex-direction:column;gap:12px;padding:32px;border-radius:28px;background:var(--surface);border:1px solid var(--line);overflow:hidden}
.fr-mod.w2,.fr-mod.w3{flex-direction:row;gap:30px;padding:36px}
.fr-mod.w2{grid-column:span 2}
.fr-mod.w3{grid-column:span 3;min-height:320px}
.fr-mod h3{font-size:28px;font-weight:800;letter-spacing:-.03em;line-height:1.05}
.fr-mod.w2 h3,.fr-mod.w3 h3{font-size:34px}
.fr-mod p{font-size:16px;color:var(--ink-2)}
.fr-mod-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px}
.fr-mod-t p{font-size:17px}
.fr-mod-t .fr-btn,.fr-mod-t .fr-live{margin-top:auto;align-self:flex-start}
.fr-mod>.fr-mod-art{margin-top:auto}
.fr-mod.m-bio{min-height:400px;background:#5B4BFF;border-color:transparent;color:#fff}
.fr-mod.m-links{min-height:400px}
.fr-mod.m-qr,.fr-mod.m-stats{min-height:360px}
.fr-mod.m-bio p{color:#F1EFFF}
.fr-mod.m-qr{background:#F2D36B;border-color:transparent;color:#16322A}
.fr-mod.m-stats{background:#14162B;border-color:transparent;color:#fff}
.fr-mod.m-inbox{background:#FFE9E4;border-color:transparent;color:#3A1220}
.fr-mod.m-domains{background:#E3F7EE;border-color:transparent;color:#0B3D2C}
.fr-mod.m-shop{background:#16322A;border-color:transparent;color:#F4F1E6}
.fr-mod.m-qr p,.fr-mod.m-inbox p,.fr-mod.m-domains p{color:inherit}
.fr-mod.m-stats p{color:#C9CBDB}
.fr-mod.m-shop p{color:#C9D6CF}
.fr-mod.m-bio :focus-visible,.fr-mod.m-shop :focus-visible,.fr-looks :focus-visible{outline-color:#fff}

.m-bio .fr-mod-art{width:430px;height:300px;flex:none;display:flex;align-items:flex-start;gap:14px;margin:0}
.fr-ed{flex:1;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:18px;background:#fff;color:#181A2B}
.fr-ed>.fr-pop{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;border:1px solid #E4E6EE}
.fr-ed>.sel{border-color:#5B4BFF;box-shadow:0 0 0 3px #ECEAFF}
.fr-ed i{width:28px;height:28px;flex:none;border-radius:8px;background:#F3F4F8}
.fr-ed .sel i{background:#ECEAFF}
.fr-ed span span{display:flex;flex-direction:column;line-height:1.3}
.fr-ed b{font-size:13px;font-weight:600}
.fr-ed small{font-size:11.5px;color:#5B6078}
.fr-ed-add{height:40px;display:grid;place-items:center;border-radius:10px;background:#181A2B;color:#fff;font-size:13px;font-weight:600}
.m-bio .fr-ph{--pm:#D7E0D6;width:190px;height:372px;font-size:11px;box-shadow:none}

.m-links .fr-mod-art{display:flex;flex-direction:column;gap:10px}
.fr-long{padding:12px 14px;border-radius:12px;background:#F3F4F8;color:#5B6078;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:line-through}
.fr-short{height:58px;display:flex;align-items:center;gap:10px;padding:0 8px 0 16px;border-radius:14px;background:#181A2B;color:#fff;font-size:19px;font-weight:700}
.fr-short>span{flex:1;white-space:nowrap}
.fr-short b{height:40px;display:inline-flex;align-items:center;padding:0 14px;border-radius:10px;background:#5B4BFF;font-size:14px}
.fr-tags{display:flex;flex-wrap:wrap;gap:8px;font-size:12.5px;font-weight:700}
.fr-tags i{padding:5px 10px;border-radius:99px;font-style:normal}
.fr-tags .v{background:#ECEAFF;color:#4233D6}.fr-tags .g{background:#E3F7EE;color:#0E6B4C}.fr-tags .a{background:#FFF4DB;color:#8A5A0B}.fr-tags .n{background:#F0F1F6;color:#4A4E66}

.m-qr .fr-mod-art{display:flex;align-items:flex-end;gap:14px;color:#16322A}
.m-qr .fr-qr{padding:12px;border-radius:18px;background:#F4F1E6;border:2px solid #16322A}
.m-qr .fr-qr svg{width:112px;height:112px;fill:#16322A}
.m-qr .fr-scan{left:6px;right:6px}
.fr-qr-side{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.fr-ok{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;background:#16322A;color:#F4F1E6;font-size:13.5px;font-weight:700}
.fr-ok .fr-pulse{width:8px;height:8px;background:#9FE3C5}
.fr-sw{display:flex;gap:6px}
.fr-sw i{flex:1;height:30px;border-radius:9px;background:#16322A}
.fr-sw i:nth-child(2){background:#5B4BFF}.fr-sw i:nth-child(3){background:#A3180F}.fr-sw i:nth-child(4){background:#0B4F8A}
.fr-qr-side small{font-size:12.5px;font-weight:600}

.m-stats .fr-mod-t{flex:none;width:300px}
.fr-live{height:42px;display:inline-flex;align-items:center;gap:10px;padding:0 16px;border-radius:12px;background:#24274A;font-size:14.5px;font-weight:600;white-space:nowrap}
.fr-live .fr-pulse{background:#3DDC97}
.m-stats .fr-mod-art{flex:1;min-width:0;display:flex;gap:16px;margin:0}
.fr-chart,.fr-src{min-width:0;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:18px;background:#1E2140;font-size:13px}
.fr-chart{flex:1.5}
.fr-src{flex:1}
.fr-chart>div:first-child{display:flex;justify-content:space-between;gap:8px;color:#C9CBDB}
.fr-chart b{color:#fff}
.fr-plot{flex:1;min-height:120px;position:relative;border-bottom:1px solid #4A4E6E}
.fr-plot::before,.fr-plot::after{content:"";position:absolute;left:0;right:0;top:0;border-top:1px dashed #353963}
.fr-plot::after{top:50%}
.fr-plot svg{position:absolute;inset:0;width:100%;height:100%}
.fr-area{fill:#8E82FF;opacity:.18}
.fr-src>span:first-child{color:#C9CBDB}
.fr-src>span+span{display:flex;flex-direction:column;gap:5px}
.fr-src span span{display:flex;justify-content:space-between;gap:8px}
.fr-src b{font-weight:600}
.fr-src i{color:#C9CBDB;font-style:normal}
.fr-src u{display:block;height:7px;border-radius:7px;background:#353963}
.fr-src u i{display:block;height:7px;border-radius:7px;background:#8E82FF}
.w100{width:100%}.w40{width:40%}.w24{width:24%}.w13{width:13%}

.m-sites .fr-mod-art{display:flex;align-items:center;gap:14px;padding:16px;border-radius:16px;border:2px dashed #B9B3FF;background:#F6F5FF}
.fr-zip{width:46px;height:56px;flex:none;display:grid;place-items:center;border-radius:8px;background:#5B4BFF;color:#fff;font-size:11px;font-weight:800}
.m-sites .fr-mod-art>span:last-child{display:flex;flex-direction:column;gap:3px}
.m-sites b{font-size:14.5px;font-weight:700}
.m-sites small{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#0E6B4C}
.m-sites .fr-pulse{width:8px;height:8px}

.m-inbox .fr-mod-art,.m-domains .fr-mod-art{display:flex;flex-direction:column;gap:8px}
.fr-bub{align-self:flex-start;max-width:86%;padding:10px 14px;border-radius:4px 16px 16px 16px;background:#fff;color:#3A1220;font-size:13.5px}
.fr-bub.me{align-self:flex-end;max-width:100%;border-radius:16px 4px 16px 16px;background:#3A1220;color:#fff}
.fr-bub b{white-space:nowrap}
.fr-rec{height:46px;display:flex;align-items:center;gap:10px;padding:0 14px;border-radius:12px;background:#fff;color:#0B3D2C;font-size:13.5px}
.fr-rec b{width:62px}
.fr-rec span{flex:1}
.fr-rec i{font-style:normal;font-weight:600}
.fr-conn{height:40px;display:flex;align-items:center;gap:8px;padding:0 14px;border-radius:12px;background:#0B3D2C;color:#fff;font-size:13.5px;font-weight:700}
.fr-conn svg{width:16px;height:16px;color:#9FE3C5}

.m-shop .fr-mod-t{flex:none;width:390px}
.m-shop .fr-mod-art{flex:1;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}
.fr-menu-p,.fr-chat,.fr-track{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:18px}
.fr-menu-p{background:#20453A;font-family:Gabarito,var(--font)}
.fr-menu-p>b{font-size:16px;font-weight:900}
.fr-menu-p>.fr-pop:not(.fr-send){display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;border-radius:12px;background:#16322A;font-size:14px;font-weight:700}
.fr-menu-p span span{flex:1}
.fr-menu-p i{font:400 13px var(--font)}
.fr-menu-p u{height:30px;display:grid;place-items:center;padding:0 12px;border-radius:9px;background:#F4F1E6;color:#16322A;font-size:13px;font-weight:900;text-decoration:none}
.fr-menu-p u.add{background:#F2D36B;font-size:12.5px}
.fr-send,.fr-pay{min-height:44px;display:grid;place-items:center;margin-top:auto;padding:6px 10px;border-radius:13px;line-height:1.2;text-align:center;background:#F2D36B;color:#16322A;font-size:14px;font-weight:900}
.fr-chat{background:#E9E4DA;color:#181A2B;font-size:13px;line-height:1.45}
.fr-chat span{align-self:flex-end;max-width:92%;padding:9px 11px;border-radius:14px 4px 14px 14px;background:#D8F5D0}
.fr-chat .in{align-self:flex-start;border-radius:4px 14px 14px 14px;background:#fff}
.fr-chat i{color:#1A56B8;font-style:normal}
.fr-track{gap:10px;padding:16px;background:#F4F1E6;color:#16322A}
.fr-track small{font-size:12.5px;font-weight:600}
.fr-track b{font-family:Gabarito,var(--font);font-size:26px;font-weight:900;line-height:1}
.fr-steps3{display:flex;align-items:center}
.fr-steps3 i{width:14px;height:14px;flex:none;border-radius:50%;background:#16322A}
.fr-steps3 u{flex:1;height:3px;margin:0 4px;background:#16322A}
.fr-steps3 u.off{background:#D8D2C0}
.fr-steps3 i.off{background:none;border:2px solid #B7AE96}
.fr-pay{background:#16322A;color:#F4F1E6;font-weight:700}

/* themes strip */
.fr-looks{margin-top:56px;padding:72px 0 64px;background:#181A2B;color:#fff;overflow:hidden}
.fr-looks-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:1440px;margin:0 auto;padding:0 56px 36px}
.fr-looks p{margin-top:10px;font-size:17px;color:#C9CBDB}
.fr-ph.card{width:220px;height:420px;padding:24px 14px 14px;border:0;border-radius:30px;font-size:13px;box-shadow:none}
.fr-ph.card.t-cafe{--pa:#F2D36B}

.fr-how,.fr-care{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.fr-how li{display:flex;gap:18px;padding:26px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}
.fr-how li>span{width:52px;height:52px;flex:none;display:grid;place-items:center;border-radius:16px;background:var(--ink);color:var(--surface);font-size:22px;font-weight:800}
.fr-how b{font-size:20px;font-weight:700;letter-spacing:-.01em}
.fr-how p,.fr-care p{margin-top:6px;font-size:15.5px;color:var(--ink-2)}
.fr-care article{padding:28px;border-radius:26px;background:var(--surface);border:1px solid var(--line)}
.fr-care h3{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.15}

.fr-cta-w{max-width:1440px;margin:0 auto;padding:88px 56px 40px}
.fr-cta{position:relative;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px 22px;border-radius:36px;background:#5B4BFF;color:#fff;text-align:center;overflow:hidden}
.fr-cta h2{position:relative;z-index:1;font-size:clamp(38px,5vw,58px);font-weight:900;letter-spacing:-.04em;line-height:1}
.fr-cta .fr-claim{position:relative;z-index:1;width:500px;height:66px;border:0;box-shadow:none}
.fr-cta .fr-claim:focus-within{outline-color:#fff}
.fr-cta .fr-fl{position:absolute}
.c1{--r:-8deg;--d:7s;left:90px;top:70px;padding:12px 16px;border-radius:16px;background:#F2D36B;color:#16322A;font-size:15px;font-weight:800}
.c2{--r:7deg;--d:8s;--dl:-3s;right:110px;top:60px;padding:10px;border-radius:16px;background:#fff}
.c2 svg{display:block;width:74px;height:74px;fill:#181A2B}
.c3,.c4{height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border-radius:14px;font-size:14.5px;font-weight:700}
.c3{--r:5deg;--d:6.5s;--dl:-2s;left:150px;bottom:60px;background:#14162B;color:#fff}
.c4{--r:-5deg;--d:9s;--dl:-4s;right:150px;bottom:56px;background:#fff;color:#181A2B}

.fr-foot{display:flex;gap:56px;max-width:1440px;margin:0 auto;padding:36px 56px;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}
.fr-foot-a{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.fr-foot-a .fr-logo{font-size:21px}
.fr-foot-a .fr-logo span{width:32px;height:32px;border-radius:10px}
.fr-foot-a .fr-logo span::after{width:11px;height:11px}
.fr-foot-a small{margin-top:auto;padding-top:18px;font-size:13px}
.fr-foot nav{min-width:120px;display:flex;flex-direction:column;gap:9px}
.fr-foot b{color:var(--ink);font-weight:700}
.fr .fr-foot nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* the dark theme: dark pictures need an edge to stand off the dark page */
:root[data-theme=dark] .fr-mod.m-stats{border-color:var(--line)}
:root[data-theme=dark] .fr-short,:root[data-theme=dark] .fr-stat{box-shadow:0 0 0 1px #3A3E63}
:root[data-theme=dark] .fr-art .fr-ph{border-color:#2A2D4A}

/* ---------- homepage, narrower screens ---------- */
@media (max-width:1279px){
  .a2,.a3,.a5,.a7{display:none}
  .fr-mod.m-shop{flex-direction:column}
  .m-shop .fr-mod-t{width:auto}
  .m-shop .fr-mod-t .fr-btn{margin-top:6px}
  .c1,.c3,.c4{display:none}
}
@media (max-width:1099px){
  .fr-top,.fr-sec,.fr-looks-head,.fr-cta-w,.fr-foot{padding-left:32px;padding-right:32px}
  .fr-hero{min-height:0}
  .fr-hero-in{width:auto;max-width:680px;padding:40px 20px 0}
  .fr-chips a{height:44px}
  .fr-art{position:relative;inset:auto;height:300px;margin-top:20px}
  .a1,.a6,.a7{display:none}
  .a2,.a3,.a5{display:flex;z-index:1}
  .a4{--r:-4deg;left:calc(50% - 99px);top:18px;width:198px;height:380px;font-size:11.5px}
  .a4 .fr-hours{display:none}
  .a2{--r:-7deg;left:calc(50% - 185px);top:186px;width:168px}
  .a2>i{display:none}
  .a2 b{font-size:15px}
  .a5{--r:6deg;left:calc(50% + 83px);top:40px;width:auto;padding:9px;border-radius:16px}
  .a5 svg{width:84px;height:84px}
  .a5 b{display:none}
  .a3{--r:3deg;left:auto;right:calc(50% - 187px);top:232px;height:40px;padding:0 13px;border:0;background:#14162B;color:#fff;font-size:13px}
  .a3 .fr-pulse{background:#3DDC97}
  .fr-sec-head{flex-direction:column;gap:8px}
  .fr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fr-mod.w3,.fr-mod.m-domains{grid-column:span 2}
}
@media (max-width:900px){
  .fr-nav,.fr-signin{display:none}
  .fr-top .fr-logo{flex:1}
  .fr-menu{display:block}
  .fr-top{gap:8px}
  .fr-ed{display:none}
  .m-bio .fr-mod-art{width:auto}
  .fr-mod.m-stats{flex-direction:column}
  .m-stats .fr-mod-t{width:auto}
  .m-stats .fr-mod-t .fr-live{margin-top:0}
  .fr-how,.fr-care{grid-template-columns:minmax(0,1fr);gap:12px}
}
@media (max-width:760px){
  .fr-top{height:64px;padding:0 8px 0 16px}
  .fr-top .fr-logo{gap:9px;font-size:21px}
  .fr-top .fr-logo span{width:32px;height:32px;border-radius:10px}
  .fr-top .fr-logo span::after{width:11px;height:11px}
  .fr-top .fr-btn{padding:0 16px;font-size:14.5px}
  .fr-sec,.fr-cta-w{padding:52px 16px 0}
  .fr-sec>h2,.fr-sec-head{margin:0 4px 22px}
  .fr-hero-in{padding:20px 20px 0;align-items:stretch;gap:16px;text-align:left}
  .fr-lede{font-size:16.5px}
  .fr-fine{font-size:13.5px;text-align:center}
  .fr-chips{display:none}
  .fr-pause{align-self:center;margin-top:-8px}
  .fr-claim{flex-direction:column;align-items:stretch;gap:10px;width:auto;height:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
  .fr-claim:focus-within{outline:0}
  .fr-claim-f{height:58px;padding:0 16px;border-radius:16px;background:var(--surface);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}
  .fr-claim-f:focus-within{outline:3px solid var(--violet);outline-offset:3px}
  .fr-claim label,.fr .fr-claim .fr-claim-f input[name]{font-size:17px}
  .fr-claim .fr-btn{min-height:54px;border-radius:16px}
  .fr-art{margin-top:8px}
  .fr-band{gap:10px;padding:14px 0}
  .fr-mq{gap:10px;padding-right:10px}
  .fr-mq li{height:44px;gap:8px;padding:0 15px;border-radius:14px;font-size:14.5px}
  .fr-mq li svg{width:16px;height:16px}
  .fr-sec-head p{font-size:15.5px;line-height:1.45}
  .fr-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .fr-mod,.fr-mod.w2,.fr-mod.w3,.fr-mod.m-domains{grid-column:auto;min-height:270px;gap:8px;padding:22px;border-radius:26px}
  .fr-mod h3,.fr-mod.w2 h3,.fr-mod.w3 h3{font-size:25px}
  .fr-mod p,.fr-mod-t p{font-size:14.5px;line-height:1.45}
  .fr-mod-t{gap:8px}
  .fr-mod.m-bio{gap:12px}
  .m-bio .fr-mod-art{height:226px}
  .m-bio .fr-ph{width:128px;height:262px;padding:12px 8px;border-width:5px;border-radius:22px;gap:6px;font-size:10.5px}
  .m-bio .fr-ph>b,.m-bio .fr-hours{display:none}
  .m-bio .fr-av{font-size:1em}
  .fr-mod-t .fr-btn{min-height:46px;padding:0 16px;font-size:14.5px}
  .fr-wide,.fr-tags,.fr-qr-side small{display:none}
  .fr-short{height:54px;font-size:17px}
  .m-qr .fr-qr{padding:9px;border-radius:16px}
  .m-qr .fr-qr svg{width:90px;height:90px}
  .fr-mod.m-stats .fr-mod-t{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px}
  .m-stats .fr-mod-t p{grid-column:1/-1;order:3}
  .fr-live{height:32px;gap:8px;padding:0 12px;border-radius:10px;font-size:12.5px}
  .fr-src{display:none}
  .fr-chart{padding:12px;border-radius:16px}
  .fr-plot{min-height:96px}
  .fr-plot::before,.fr-plot::after{display:none}
  .m-shop .fr-mod-art{display:block}
  .fr-menu-p,.fr-track{display:none}
  .fr-chat{margin-top:14px;padding:0;background:none}
  .fr-chat .in{background:#F4F1E6}
  .fr-looks{margin-top:52px;padding:48px 0 30px;display:flex;flex-direction:column}
  .fr-looks-head{display:contents}
  .fr-looks-head>div{padding:0 20px 24px}
  .fr-looks p{margin-top:6px;font-size:15px}
  .fr-looks-head .fr-btn{order:3;min-height:50px;margin:22px 20px 0;border-radius:14px}
  .fr-mq.slow{gap:14px;padding-right:14px}
  .fr-ph.card{width:172px;height:320px;padding:18px 12px 12px;border-radius:26px;gap:7px;font-size:12px}
  .fr-ph.card .x3{display:none}
  .fr-how li{gap:14px;padding:18px;border-radius:20px}
  .fr-how li>span{width:44px;height:44px;border-radius:14px;font-size:19px}
  .fr-how b{font-size:17.5px}
  .fr-how p,.fr-care p{margin-top:4px;font-size:14.5px;line-height:1.45}
  .fr-care article{padding:20px;border-radius:20px}
  .fr-care h3{font-size:19px}
  .fr-cta-w{padding-bottom:30px}
  .fr-cta{min-height:300px;align-items:stretch;justify-content:flex-start;gap:14px;padding:30px 22px 22px;border-radius:30px;text-align:left}
  .fr-cta h2{max-width:240px}
  .fr-cta .fr-claim{width:auto;height:auto;margin-top:auto}
  .fr-cta .fr-claim-f{height:56px;border:0;box-shadow:none}
  .fr-cta .fr-claim-f:focus-within{outline-color:#fff}
  .c2{--r:8deg;right:18px;top:26px;padding:8px;border-radius:14px}
  .c2 svg{width:60px;height:60px}
  .fr-foot{flex-wrap:wrap;gap:16px 12px;padding:26px 20px}
  .fr-foot-a{flex:1 1 100%}
  .fr-foot-a small{padding-top:4px}
  .fr-foot nav{flex:1;min-width:0;gap:0}
  .fr-foot nav b,.fr-foot nav a{min-height:44px;display:flex;align-items:center}
}

/* ---------- sign up, sign in, password screens ---------- */
.au{display:flex;min-height:100vh;min-height:100dvh;background:var(--surface)}
.au-main{width:640px;flex:none;display:flex;flex-direction:column;gap:24px;padding:40px 88px}
.au-main>.fr-logo{align-self:flex-start;font-size:21px}
.au-main>.fr-logo span{width:34px;height:34px;border-radius:10px}
.au-main>.fr-logo span::after{width:12px;height:12px}
.au-box{margin:auto 0;display:flex;flex-direction:column;gap:20px}
.au-tabs{align-self:flex-start;display:flex;padding:4px;border-radius:12px;background:var(--canvas);font-size:14.5px;font-weight:600}
.au-tabs a{height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border-radius:9px;color:var(--ink-2)}
.au .au-tabs a:hover{color:var(--ink)}
.au-tabs a[aria-current]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(24,26,43,.12)}
.au-head h1{font-size:38px;font-weight:800;letter-spacing:-.03em;line-height:1.08}
.au-head p{margin-top:6px;color:var(--ink-2)}
.au form{display:flex;flex-direction:column;gap:14px}
.au-f{display:flex;flex-direction:column;gap:5px}
.au-f label{display:block;font-size:13px;font-weight:600;color:var(--ink-2)}
.au .au-box .au-f input[name]{height:50px;min-height:0;padding:0 14px;border:1px solid var(--edge);border-radius:12px;box-shadow:none;font-size:16px}
.au .au-box .au-f input[name]:user-invalid{border-color:var(--red)}
.au .au-box .au-f input[name]:focus{border-color:var(--violet);outline:2px solid var(--violet);outline-offset:1px}
.au-slug{height:52px;display:flex;align-items:center;padding:0 12px 0 14px;border:2px solid var(--violet);border-radius:12px}
.au-slug:focus-within{outline:2px solid var(--violet);outline-offset:2px}
.au-slug span{font-size:17px;color:var(--ink-2)}
.au .au-box .au-slug input[name]{flex:1;min-width:0;height:44px;padding:0;border:0;border-radius:0;background:none;outline:0;font-size:17px;font-weight:600}
.au-pw{position:relative}
.au .au-box .au-pw input[name]{padding-right:78px}
.au .au-box .au-f input.au-show{position:absolute;right:6px;top:6px;width:auto;height:38px;min-height:0;padding:0 12px;border:0;border-radius:8px;background:var(--canvas);box-shadow:none;font-size:13px;font-weight:600;cursor:pointer}
.au .au-box .au-f input.au-show:focus-visible{outline:2px solid var(--violet);outline-offset:2px}
.au .au-box .au-code input[name]{height:60px;font-size:24px;font-weight:700;letter-spacing:.3em;text-align:center}
.au-hint{font-size:12.5px;color:var(--ink-2)}
.au-go{min-height:52px;padding:0 20px;border:0;border-radius:12px;background:var(--violet);color:#fff;font:700 16px var(--font);cursor:pointer;transition:filter .15s}
.au-go:hover{filter:brightness(1.1)}
.au-msg{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;background:var(--canvas);font-size:14.5px;font-weight:600}
.au-msg.bad{background:var(--red-soft);color:var(--bad)}
.au-msg svg{width:20px;height:20px;flex:none;margin-top:1px}
.au-closed{padding:12px 14px;border-radius:12px;background:var(--amber-soft);font-size:14.5px;font-weight:600}
.au-links{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:14.5px;font-weight:700}
.au-links.end{justify-content:flex-end;margin:-8px 0 -6px}
.au-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--lnk)}
.au .au-links a:hover{color:var(--lnk);text-decoration:underline;text-underline-offset:3px}
.au-fine{font-size:12.5px;color:var(--ink-2)}
.au-fine a{text-decoration:underline;text-underline-offset:2px}
.au .au-fine a:hover{color:var(--ink)}

.au-side{flex:1;min-width:0;display:flex;align-items:center;gap:48px;margin:16px;padding:56px 64px;border-radius:28px;background:var(--side);color:#fff;overflow:hidden}
.au-side>div:first-child{flex:1;min-width:0}
.au-side h2{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.au-pts{display:flex;flex-direction:column;gap:18px;margin:26px 0 0;padding:0;list-style:none}
.au-pts li{display:flex;gap:14px}
.au-pts i{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:12px;background:#24274A;color:#C9C3FF}
.au-pts svg{width:19px;height:19px;stroke-width:2}
.au-pts b{display:block;font-weight:600;line-height:1.3}
.au-pts span span{font-size:14px;color:#C9CBDB}
.au-side .fr-ph{width:264px;height:540px;padding:30px 18px 18px;border:9px solid #0B0C18;border-radius:38px;gap:10px;font-size:13.5px;transform:rotate(3deg);box-shadow:none}
.au-side .fr-ph>b{font-size:19px;font-family:var(--font);font-weight:700}
.au-side .fr-ph em{font-weight:400;opacity:.6}

@media (max-width:1319px){
  .au-main{width:min(560px,50%);padding:40px clamp(28px,5vw,64px)}
  .au-side{padding:48px}
  .au-side .fr-ph{display:none}
}
@media (max-width:999px){
  .au-side{display:none}
  .au-main{width:100%;max-width:500px;margin:0 auto;gap:8px;padding:22px 20px 20px}
  .au-main>.fr-logo{gap:9px;font-size:20px}
  .au-main>.fr-logo span{width:32px;height:32px}
  .au-main>.fr-logo span::after{width:11px;height:11px}
  .au-box{margin:12px 0 0;gap:18px}
  .au-tabs{align-self:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:14px;font-size:15px}
  .au-tabs a{height:44px;padding:0;border-radius:11px}
  .au-head h1{font-size:30px}
  .au-head p{margin-top:4px;font-size:15px}
  .au .au-box .au-f input[name],.au-slug{height:52px;border-radius:14px}
  .au .au-box .au-slug input[name]{height:44px;border-radius:0}
  .au .au-box .au-f input.au-show{right:4px;top:4px;height:44px;padding:0 14px;border-radius:10px;font-size:13.5px}
  .au .au-box .au-code input[name]{height:60px}
  .au-go{min-height:54px;border-radius:14px}
  .au-fine{margin-top:auto;padding-top:20px;text-align:center}
}

/* ---------- no motion: for prefers-reduced-motion, and for the Pause motion button (html.fr-still).
   Nothing moves, every picture shows its finished state, and the strips become plain rows you can scroll. ---------- */
.fr-still .fr *,.fr-still .fr *::before,.fr-still .fr *::after{animation:none!important}
.fr-still .fr-mqw{overflow-x:auto}
.fr-still .fr-mq{padding-left:16px}
.fr-still .fr-mq>[aria-hidden=true],.fr-still .fr-mq>.dup{display:none}
@media (prefers-reduced-motion:reduce){
  .fr *,.fr *::before,.fr *::after{animation:none!important}
  .fr-btn,.au-go{transition:none}
  .fr-mqw{overflow-x:auto}
  .fr-mq{padding-left:16px}
  .fr-mq>[aria-hidden=true],.fr-mq>.dup{display:none}
  .fr-pause{display:none}
}
