/* ==========================================================================
   WordPress / Bricks reset (prepended by tools/port/build.py, before the design system)
   Bricks ships element defaults in @layer bricks (Georgia blockquotes, 62.5% html, label margins, h1/h2 line-height …).
   The F design was built on the browser's own defaults, so those elements revert to them here: zero specificity and
   placed first, so every rule of the design system still wins over this.
   ========================================================================== */
:where(html,body){all:revert}
/* only inside the design: WordPress utilities outside it (skip links, admin bar) keep their own styles */
:where(#brx-header,#brx-content,#brx-footer) :where(main,header,footer,nav,section,article,aside,h1,h2,h3,h4,h5,h6,p,a,small,sub,sup,mark,dfn,code,kbd,samp,pre,figure,figcaption,blockquote,table,details,summary,menu,hr,label,fieldset,legend,button,input,optgroup,select,textarea,progress){all:revert}
:where(#brx-header,#brx-content,#brx-footer) :where(::placeholder){color:revert}
/* media: only the properties Bricks sets (all:revert would also drop the width/height attribute hints → no size before load) */
:where(#brx-header,#brx-content,#brx-footer) :where(img){max-width:revert;vertical-align:revert;border-style:revert}
:where(#brx-header,#brx-content,#brx-footer) :where(svg){min-width:revert;min-height:revert}
:where(#brx-header,#brx-content,#brx-footer) :where(video,audio,canvas){display:revert;max-width:revert}
:where(#brx-header,#brx-content,#brx-footer) :where(iframe){max-width:revert}
:where(.brxe-div,.brxe-text-basic,.brxe-heading){max-width:revert;width:revert;display:revert} /* Bricks caps every element at 100% (full-bleed scrollers) */

/* ==========================================================================
   1. Tokens — every size on the page comes from here
   ========================================================================== */

:where(:root){/* colour *//* Apple-style selection blue, only for "this one is chosen" *//* type *//* spacing scale (4px base) *//* layout *//* nor.ma: 1040 content, 16px frame *//* header: glass over the hero, solid frosted pills once you scroll *//* gap between two sections *//* section head → its content *//* gap between cards in a grid *//* inside a bordered card *//* inside a large panel *//* height of media panels *//* shape *//* motion */
	
	--tt-ink:#0A0A0A;--tt-select:#0071E3; --tt-g4:#5E5E5E;--tt-g5:#6E6E6E;--tt-g7:#C9C9C9;--tt-g8:#E4E4E4;--tt-g9:#EFEFEF;--tt-canvas:#F4F4F4;--tt-wh:#fff;--tt-dark:#1B1B1B;
	
	--tt-sans:"Inter Tight",system-ui,sans-serif;--tt-ttc-font:var(--tt-sans);
	--tt-fs-display:clamp(44px,6vw,84px);--tt-fs-title:clamp(34px,4vw,56px);--tt-fs-subtitle:clamp(20px,1.8vw,24px);
	--tt-fs-lead:clamp(16px,1.2vw,18px);--tt-fs-body:16px;--tt-fs-small:14px;--tt-fs-micro:13px;
	
	--tt-space-2xs:4px;--tt-space-xs:8px;--tt-space-s:12px;--tt-space-m:16px;--tt-space-l:24px;--tt-space-xl:32px;--tt-space-2xl:48px;--tt-space-3xl:64px;
	
	--tt-container:1040px;--tt-gutter:clamp(20px,3vw,32px);--tt-bleed:clamp(12px,1.1vw,16px); 
	--tt-header-h:40px;--tt-header-inset:12px; 
	--tt-header-top:calc(var(--tt-bleed) + var(--tt-header-inset));
	--tt-section-y:clamp(80px,9vw,128px);   
	--tt-head-gap:clamp(32px,4vw,48px);     
	--tt-grid-gap:12px;                     
	--tt-card-pad:clamp(24px,2.4vw,32px);   
	--tt-panel-pad:clamp(28px,4.5vw,64px);  
	--tt-panel-h:clamp(440px,48vw,600px);   
	
	--tt-r:28px;--tt-r-m:20px;--tt-r-s:14px;--tt-pill:999px;--tt-line:inset 0 0 0 1px var(--tt-g8);
	
	--tt-out:cubic-bezier(.16,1,.3,1);
}/* ==========================================================================
   2. Base
   ========================================================================== */


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:80px}
body{font-family:var(--tt-sans);color:var(--tt-ink);background:var(--tt-wh);-webkit-font-smoothing:antialiased;font-size:var(--tt-fs-body);line-height:1.5;letter-spacing:-.01em;overflow-x:clip}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{background:none;border:0;cursor:pointer}
img,video{display:block;max-width:100%}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--tt-ink);outline-offset:3px}
.tt-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes blink{50%{opacity:0}}/* ==========================================================================
   3. Typography
   ========================================================================== */


.tt-title{font-weight:500;text-wrap:balance}
.tt-title--xl{font-size:var(--tt-fs-display);line-height:1;letter-spacing:-.045em}
.tt-title--l{font-size:var(--tt-fs-title);line-height:1.02;letter-spacing:-.04em}
.tt-title--m{font-size:var(--tt-fs-subtitle);line-height:1.15;letter-spacing:-.025em}
.tt-title__line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.tt-title__line-inner{display:block}
.tt-lead{color:var(--tt-g4);font-size:var(--tt-fs-lead);max-width:52ch;text-wrap:pretty}
.tt-eyebrow{display:block;font-size:var(--tt-fs-small);font-weight:500;color:var(--tt-g5)}
.tt-text-muted{color:var(--tt-g5)}
.tt-text-small{font-size:var(--tt-fs-small);color:var(--tt-g5)}/* ==========================================================================
   4. Layout
   ========================================================================== */


.tt-container{width:min(var(--tt-container),100% - 2 * var(--tt-gutter));margin-inline:auto}
.tt-bleed{margin-inline:var(--tt-bleed);border-radius:var(--tt-r);overflow:hidden;position:relative}/* sections only set vertical rhythm; block margins collapse, so every gap is exactly --tt-section-y */

.tt-section{margin-block:var(--tt-section-y)}
.tt-section--hero{margin-top:var(--tt-bleed);margin-bottom:var(--tt-space-3xl)}/* the trust chips close the hero; the next section follows closely, not a full section gap away */

.tt-section--hero+.tt-section{margin-top:var(--tt-space-3xl)}/* section head: eyebrow → title → lead, the same everywhere */


.tt-section-head{display:grid;gap:var(--tt-space-s);margin-bottom:var(--tt-head-gap)}
.tt-section-head .tt-lead{margin-top:var(--tt-space-2xs)}
.tt-section-head--center{justify-items:center;text-align:center}
.tt-section-head--flush{margin-bottom:0}/* ==========================================================================
   5. Components
   ========================================================================== */


.tt-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--tt-space-xs);height:46px;padding:0 22px;border-radius:var(--tt-pill);background:var(--tt-ink);color:#fff;font-weight:500;font-size:15px;transition:transform .2s,opacity .2s;white-space:nowrap}
.tt-btn:hover{opacity:.85}.tt-btn:active{transform:scale(.97)}
.tt-btn--light{background:#fff;color:var(--tt-ink)}
.tt-btn--glass{background:rgb(255 255 255 / .14);color:#fff;backdrop-filter:blur(12px)}
.tt-btn--soft{background:var(--tt-g9);color:var(--tt-ink)}
.tt-btn--lg{height:56px;padding:0 28px;font-size:16px}
.tt-btn--block{width:100%}
.tt-btn svg{width:16px;height:16px}
.tt-btn-row{display:flex;flex-wrap:wrap;gap:var(--tt-space-xs)}

.tt-chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 var(--tt-space-s);border-radius:var(--tt-pill);background:#fff;font-size:var(--tt-fs-micro);font-weight:500;box-shadow:0 1px 2px rgb(0 0 0 / .06),var(--tt-line)}
.tt-chip svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.tt-chip.tt-ok{background:var(--tt-canvas);box-shadow:none}/* ==========================================================================
   6. Site header
   ========================================================================== *//* header (nor.ma): aligned to the content width. Over the hero it is clear glass with white text;
   after the first scroll it settles to the top as frosted white pills with dark text */




.tt-site-header{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:12px;pointer-events:none;transition:padding .45s var(--tt-out)}
.tt-site-header__inner{display:flex;justify-content:space-between;align-items:center;gap:var(--tt-space-xs);width:min(var(--tt-container),100% - 2 * var(--tt-gutter));margin-inline:auto}
.tt-site-header__inner>*{pointer-events:auto}
.tt-site-header__group{display:flex;gap:var(--tt-space-xs)}/* desktop: three columns with equal sides, so the menu sits in the true centre of the page
   whatever the width of the logo and the tools */

@media (min-width:861px){
	.tt-site-header__inner{display:grid;grid-template-columns:1fr auto 1fr}
	.tt-site-header__inner>:first-child{justify-self:start}
	.tt-site-header__group{justify-self:end}
}
.tt-pill{display:flex;align-items:center;gap:2px;height:var(--tt-header-h);padding:4px;border-radius:var(--tt-pill);background:rgb(255 255 255 / .8);color:var(--tt-ink);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);box-shadow:inset 0 0 0 1px rgb(0 0 0 / .06),0 4px 16px -8px rgb(0 0 0 / .12);transition:background .35s,color .35s,box-shadow .35s}
.tt-pill__link{display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--tt-pill);font-size:var(--tt-fs-small);font-weight:500;transition:background .2s,color .2s}
.tt-pill__link:hover{background:rgb(0 0 0 / .05)}
.tt-pill__link svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7}
.tt-pill__link--logo{padding:0 12px}
.tt-pill__link--logo svg{width:auto;height:18.5px;fill:currentColor;stroke:none}
.tt-site-header__lang .tt-pill__link{min-width:34px;justify-content:center;padding:0 8px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--tt-g5)}
.tt-site-header__lang .tt-site-header__lang-opt--active,.tt-site-header__lang .tt-site-header__lang-opt--active:hover{background:var(--tt-ink);color:#fff}
.tt-site-header__bag{display:flex;align-items:center;gap:8px;height:var(--tt-header-h);padding:0 8px 0 14px;border-radius:var(--tt-pill);background:var(--tt-ink);color:#fff;font-size:var(--tt-fs-small);font-weight:500;transition:background .35s,color .35s}
.tt-site-header__bag svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tt-site-header__count{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--tt-pill);background:#fff;color:#000;font-size:11px;font-weight:600;transition:background .35s,color .35s}/* one pill for the small tools: language + account (keeps the right side as calm as the left) */

.tt-site-header__tools{gap:2px}
.tt-site-header__tools .tt-site-header__lang{display:flex;gap:2px}
.tt-site-header__sep{width:1px;height:18px;margin:0 4px;background:currentColor;opacity:.15}
.tt-site-header__login{width:32px;padding:0!important;justify-content:center}
.tt-site-header__login svg{width:17px!important;height:17px!important;stroke-linecap:round;stroke-linejoin:round}
.tt-site-header__menu{display:none}/* over the hero */

.tt-site-header--overlay{padding-top:var(--tt-header-top)}
.tt-site-header--overlay .tt-pill{background:rgb(255 255 255 / .15);color:#fff;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:none}
.tt-site-header--overlay .tt-pill__link{color:rgb(255 255 255 / .9)}
.tt-site-header--overlay .tt-pill__link:hover{background:rgb(255 255 255 / .15);color:#fff}
.tt-site-header--overlay .tt-pill__link--logo svg{filter:drop-shadow(0 1px 3px rgb(0 0 0 / .35))}
.tt-site-header--overlay .tt-site-header__lang .tt-pill__link{color:rgb(255 255 255 / .75)}
.tt-site-header--overlay .tt-site-header__lang .tt-site-header__lang-opt--active{background:#fff;color:var(--tt-ink)}
.tt-site-header--overlay .tt-site-header__bag{background:#fff;color:var(--tt-ink)}
.tt-site-header--overlay .tt-site-header__count{background:var(--tt-ink);color:#fff}
@media (max-width:860px){
	.tt-site-header__nav,.tt-site-header__tools{display:none}/* language + log-in live in the phone menu */ 
	.tt-site-header__menu{display:flex}
	.tt-site-header{transition:padding .45s var(--tt-out),transform .45s var(--tt-out)}
	.tt-site-header--away{transform:translateY(calc(-100% - 12px))}/* scrolled down: out of the way; any scroll up brings it back */ 
}/* ==========================================================================
   7. Home sections
   ========================================================================== *//* hero */



.tt-hero{height:calc(100svh - 2 * var(--tt-bleed));min-height:620px;background:#222;color:#fff}
.tt-hero--short{height:78svh;min-height:520px}
.tt-hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tt-hero__media--biz{object-position:38% 50%}
.tt-hero::after{content:"";position:absolute;inset:0;background:rgb(0 0 0 / .28)}
.tt-hero--short::after{background:rgb(0 0 0 / .42)}/* brighter photo: keep the white copy readable *//* hero text sits on the same 1040px column as the header and every section (nor.ma) */ 

.tt-hero{--hero-x:max(var(--tt-gutter) - var(--tt-bleed),(100% - var(--tt-container)) / 2)}/* editorial split: heading left and the short copy right on one baseline; below a hairline,
   the buttons on the left and the proof line on the right */

.tt-hero__content{position:absolute;inset:auto 0 0;z-index:2;display:grid;grid-template-columns:1fr minmax(0,34ch);column-gap:var(--tt-space-2xl);align-items:end;padding:0 var(--hero-x) var(--tt-panel-pad)}
.tt-hero__bar{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--tt-space-m);margin-top:var(--tt-space-xl);padding-top:var(--tt-space-l);border-top:1px solid rgb(255 255 255 / .18)}
.tt-hero .tt-text-muted{color:rgb(255 255 255 / .55)}
.tt-hero__text{color:rgb(255 255 255 / .82);margin-bottom:.35em}/* sits on the heading baseline */ 
.tt-hero__text strong{color:#fff;font-weight:500}/* phone: the hero is a rounded panel, so its copy gets real inner padding (same on the sides and bottom) */

@media (max-width:860px){[data-page="home"] .tt-hero .tt-btn--light{display:none}.tt-hero{min-height:560px;--hero-x:clamp(20px,5.5vw,32px)}.tt-hero__content{grid-template-columns:1fr;padding-bottom:calc(var(--hero-x) + 4px)}.tt-hero__text{margin:var(--tt-space-m) 0 0;max-width:46ch}.tt-hero__bar{margin-top:var(--tt-space-l);flex-direction:column;align-items:flex-start}}

.tt-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--tt-space-xs);margin-top:var(--tt-space-xl)}/* how it works */


.tt-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tt-grid-gap)}
@media (max-width:860px){.tt-steps{grid-template-columns:1fr}}/* card anatomy: the real card layout (front: your logo · back: name, ((tap)), e-mail, QR), callouts around it */


.tt-anatomy{--leader:clamp(40px,5vw,72px);position:relative;display:grid;grid-template-columns:1fr minmax(0,440px) 1fr;grid-template-areas:"c1 card c2" "c3 card c4" "foot foot foot";column-gap:var(--leader);row-gap:var(--tt-space-2xl);align-items:center;padding:var(--tt-panel-pad) var(--tt-panel-pad) var(--tt-space-xl);border-radius:var(--tt-r);background:var(--tt-canvas);overflow:hidden;isolation:isolate}
.tt-anatomy__callouts{display:contents}
.tt-anatomy__card{grid-area:card;position:relative;display:grid;place-items:center;perspective:1800px}
.tt-anatomy__card::after{content:"";position:absolute;z-index:-1;left:12%;right:12%;bottom:-8%;height:18%;border-radius:50%;background:rgb(0 0 0 / .22);filter:blur(22px)}
.tt-anatomy__caption{display:none}
.tt-anatomy__foot{grid-area:foot;display:grid;grid-template-columns:1fr auto;grid-template-areas:"ctl cta" "ctl note";align-items:center;column-gap:var(--tt-space-l);row-gap:4px;margin-top:var(--tt-space-s);padding-top:var(--tt-space-l);border-top:1px solid rgb(0 0 0 / .07)}
.tt-anatomy__controls{grid-area:ctl;display:flex;flex-wrap:wrap;gap:var(--tt-space-s)}
.tt-anatomy__cta{grid-area:cta;display:flex;align-items:center;gap:var(--tt-space-l)}
.tt-anatomy__price{display:grid;text-align:right;line-height:1.2}
.tt-anatomy__price-label{font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-anatomy__price-value{font-size:22px;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.tt-anatomy__note{grid-area:note;justify-self:end;font-size:12px;color:var(--tt-g5)}/* NFC signal waves, only during the NFC step */


.tt-anatomy__waves{position:absolute;z-index:-2;left:50%;top:50%;width:0;height:0;pointer-events:none}
.tt-anatomy__card{container-type:inline-size}
.tt-anatomy__waves i{width:110cqw;height:110cqw;border:1.5px solid var(--tt-ink);opacity:0}/* callouts: editorial labels with a hairline leader that doubles as the step timer */


.tt-callout{position:relative;align-self:start;transform:translateY(var(--dy,0px))}
.tt-callout--1{grid-area:c1}.tt-callout--2{grid-area:c2}.tt-callout--3{grid-area:c3}.tt-callout--4{grid-area:c4}

.tt-callout--left{text-align:right}
.tt-callout__btn{display:grid;gap:6px;width:100%;max-width:300px;text-align:inherit;opacity:.42;transition:opacity .4s}
.tt-callout--left .tt-callout__btn{margin-left:auto}
.tt-callout__btn:hover{opacity:.75}
.tt-callout__eyebrow{font-size:12px;line-height:16px;font-weight:500;color:var(--tt-g5);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.tt-callout__title{font-size:var(--tt-fs-subtitle);font-weight:500;line-height:1.15;letter-spacing:-.025em}
.tt-callout__text{font-size:15px;color:var(--tt-g4);text-wrap:pretty}/* the leader sits exactly on the middle of the title's first line and runs right up to the card edge */

.tt-callout__rule{position:absolute;top:calc(16px + 6px + var(--tt-fs-subtitle) * .575);width:calc(var(--leader) - 8px);height:1px;background:var(--tt-g7)}
.tt-callout--left .tt-callout__rule{left:calc(100% + 8px)}
.tt-callout--right .tt-callout__rule{right:calc(100% + 8px)}
.tt-callout__rule::after{content:"";position:absolute;top:-2.5px;width:6px;height:6px;border-radius:50%;background:var(--tt-g7);transition:background .3s}
.tt-callout--left .tt-callout__rule::after{right:-3px}
.tt-callout--right .tt-callout__rule::after{left:-3px}
.tt-callout__fill{position:absolute;inset:0;background:var(--tt-ink);transform:scaleX(0)}
.tt-callout--left .tt-callout__fill{transform-origin:left}
.tt-callout--right .tt-callout__fill{transform-origin:right}
.tt-callout--active .tt-callout__btn{opacity:1}
.tt-callout--active .tt-callout__rule::after{background:var(--tt-ink)}/* the card (BEM twin of the shop mock-up, real taptap layout, sized in cqw) */


.tt-tcard{position:relative;display:block;width:100%;aspect-ratio:85.6/54;container-type:inline-size;--tc-bg:#0d0d0f;--tc-fg:#fff;--tc-line:rgb(255 255 255 / .08)}
.tt-tcard--white{--tc-bg:#F2F2EF;--tc-fg:#151515;--tc-line:rgb(0 0 0 / .07)}
.tt-tcard--freedom{--tc-bg:#5b2be0 url(img/v3/freedom-bg.webp) center/cover no-repeat;--tc-fg:#fff;--tc-line:rgb(255 255 255 / .12)}
.tt-tcard__inner{position:absolute;inset:0;transform-style:preserve-3d}
.tt-tcard__face{position:absolute;inset:0;border-radius:4.4cqw;background:var(--tc-bg);color:var(--tc-fg);box-shadow:inset 0 0 0 1px var(--tc-line);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;transition:background .35s,color .35s}
.tt-tcard__face--back{transform:rotateY(180deg)}/* print realism: a fine grain over every card face (lighter on White) */

.tt-tcard__face::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.22;mix-blend-mode:overlay;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}
.tt-tcard--white .tt-tcard__face::after{opacity:.14;mix-blend-mode:multiply}
.tt-tcard--black .tt-tcard__face::after{opacity:.1;mix-blend-mode:screen}/* overlay barely shows on near-black */ 
.tt-tcard [data-part],.tt-tcard__brand,.tt-tcard__slot{transition:opacity .45s}/* front */

.tt-tcard__brand{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:2.6cqw}
.tt-tcard__brand-mark{display:grid;place-items:center;width:11cqw;height:11cqw;border-radius:50%;background:var(--tc-fg);color:var(--tc-solid,#0d0d0f);font-size:7.4cqw;font-weight:600;line-height:1;padding-bottom:1cqw;letter-spacing:-.04em}
.tt-tcard--white{--tc-solid:#F2F2EF}.tt-tcard--freedom{--tc-solid:#E0287F}
.tt-tcard__brand-name{font-size:8.6cqw;font-weight:600;letter-spacing:-.05em;line-height:1}/* the logo placeholder on every card front is the taptap logo */

.tt-tcard__brand-logo{width:30cqw;line-height:0}
.tt-tcard__brand-logo svg{width:100%;height:auto;fill:currentColor}
.tt-tcard__slot{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:30cqw;aspect-ratio:1;transform:translate(-50%,-50%);border:.45cqw dashed color-mix(in srgb,var(--tc-fg) 70%,transparent);opacity:0}
.tt-tcard__slot-text{font-size:4.8cqw;font-weight:700;line-height:1.05;text-align:center;text-transform:uppercase;letter-spacing:-.01em}
.tt-tcard--empty .tt-tcard__slot{opacity:1}
.tt-tcard--empty .tt-tcard__brand{opacity:0}/* logo ⇄ empty slot swap one after the other (they sit on the same spot) */

.tt-tcard__slot{transition:opacity .25s}
.tt-tcard--empty .tt-tcard__slot{transition:opacity .4s .2s}
.tt-tcard__brand{transition:opacity .4s .2s}
.tt-tcard--empty .tt-tcard__brand{transition:opacity .25s}/* back */

.tt-tcard__name{position:absolute;left:7.5cqw;top:8.6cqw;font-size:6.2cqw;font-weight:600;letter-spacing:-.035em;line-height:1.1;overflow:hidden}
.tt-tcard__email{position:absolute;left:7.5cqw;bottom:9.6cqw;font-size:4.1cqw;font-weight:500;letter-spacing:-.01em;line-height:1.2;overflow:hidden}
.tt-tcard__name>span,.tt-tcard__email>span{display:block}
.tt-tcard__tap{position:absolute;right:7cqw;top:8cqw;width:21cqw;line-height:0}
.tt-tcard__tap svg{width:100%;fill:currentColor}/* QR frame: whole-pixel size, a crisp ring (never thinner than 1px) and the code centred by grid, so it stays square on every screen */

.tt-tcard__qr{--qr-ring:max(1px,.4cqw);position:absolute;right:7cqw;bottom:7cqw;display:grid;place-items:center;width:27cqw;width:round(27cqw,2px);aspect-ratio:1;border-radius:4.4cqw;box-shadow:inset 0 0 0 var(--qr-ring) color-mix(in srgb,var(--tc-fg) 85%,transparent);overflow:hidden}
.tt-tcard__qr svg{display:block;width:78%;height:auto;aspect-ratio:1;fill:currentColor}
.tt-tcard__scan{position:absolute;left:0;right:0;top:0;height:.6cqw;background:var(--tc-fg);box-shadow:0 0 2.4cqw 1cqw color-mix(in srgb,var(--tc-fg) 40%,transparent);opacity:0}/* focus: everything except the part being explained steps back */

.tt-tcard[data-focus="qr"] [data-part]:not([data-part="qr"]),.tt-tcard[data-focus="contact"] [data-part]:not([data-part="contact"]){opacity:.22}/* side + finish controls */


.tt-segmented{display:inline-flex;padding:4px;border-radius:var(--tt-pill);background:#fff;box-shadow:var(--tt-line)}
.tt-segmented__btn{height:36px;padding:0 var(--tt-space-m);border-radius:var(--tt-pill);font-size:var(--tt-fs-small);font-weight:500;color:var(--tt-g5);transition:background .25s,color .25s}
.tt-segmented__btn--active{background:var(--tt-ink);color:#fff}
.tt-swatches{display:flex;align-items:center;gap:var(--tt-space-xs);padding:4px 6px;border-radius:var(--tt-pill);background:#fff;box-shadow:var(--tt-line)}
.tt-swatches__btn{width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1px rgb(0 0 0 / .1);transition:box-shadow .25s}
.tt-swatches__btn--black{background:#0d0d0f}
.tt-swatches__btn--white{background:#F2F2EF}
.tt-swatches__btn--freedom{background:linear-gradient(120deg,#7B2FF7,#FF2E93 48%,#FF8A00 82%,#FFD400)}
.tt-swatches__btn--active{box-shadow:inset 0 0 0 1px rgb(0 0 0 / .1),0 0 0 2px #fff,0 0 0 3.5px var(--tt-select)}

@media (max-width:1100px){.tt-anatomy{grid-template-columns:1fr minmax(0,400px) 1fr}.tt-callout__text{font-size:14px}}
@media (max-width:860px){
	.tt-anatomy{grid-template-columns:1fr 1fr;grid-template-areas:"card card" "ctl ctl" "c1 c2" "c3 c4" "cap cap" "cta cta" "note note";column-gap:var(--tt-space-xs);row-gap:var(--tt-space-xs);padding:var(--tt-space-m)}
	.tt-anatomy__card{margin-bottom:var(--tt-space-xl)}
	.tt-anatomy__controls{flex-wrap:nowrap;gap:var(--tt-space-xs);margin-bottom:var(--tt-space-m)}
	.tt-swatches{padding:4px 6px}
	.tt-anatomy__foot{display:contents}
	.tt-anatomy__controls{justify-content:center}
	.tt-anatomy__cta{justify-content:space-between;margin-top:var(--tt-space-s);padding:var(--tt-space-s) var(--tt-space-s) var(--tt-space-s) var(--tt-space-m);border-radius:var(--tt-r-m);background:#fff}
	.tt-anatomy__price{text-align:left}
	.tt-anatomy__cta .tt-btn{height:48px;padding:0 20px}
	.tt-anatomy__note{justify-self:center;margin-top:var(--tt-space-xs)}
	.tt-anatomy__caption{grid-area:cap;display:block;min-height:66px;padding:var(--tt-space-s) var(--tt-space-2xs) 0;color:var(--tt-g4);font-size:15px;text-wrap:pretty}
	.tt-callout__eyebrow,.tt-callout__text{display:none}
	.tt-callout,.tt-callout--left{align-self:stretch;text-align:left;border-radius:var(--tt-r-m);background:#fff;overflow:hidden}
	.tt-callout__btn{max-width:none;height:100%;align-content:center;padding:14px var(--tt-space-m) 18px}
	.tt-callout__title{font-size:15px}
	.tt-callout__rule,.tt-callout--left .tt-callout__rule,.tt-callout--right .tt-callout__rule{top:auto;left:var(--tt-space-m);right:var(--tt-space-m);bottom:10px;width:auto;height:2px;border-radius:2px;background:var(--tt-g9)}
	.tt-callout__rule::after{display:none}
	.tt-callout--right .tt-callout__fill{transform-origin:left}
}/* stats + paper calculator */


.tt-stats{display:grid;grid-template-columns:repeat(4,1fr);border-radius:var(--tt-r) var(--tt-r) 0 0;box-shadow:var(--tt-line)}
.tt-stats__item{display:flex;flex-direction:column;padding:var(--tt-card-pad);border-right:1px solid var(--tt-g8)}
.tt-stats__item:last-child{border-right:0}
.tt-stats__value{font-weight:500;font-size:clamp(36px,3.6vw,48px);letter-spacing:-.04em;line-height:1}
.tt-stats__label{margin-top:var(--tt-space-m);font-size:var(--tt-fs-small);font-weight:500}
.tt-stats__note{font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-stats__footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--tt-space-m);margin-top:-1px;padding:var(--tt-space-m) var(--tt-card-pad);border-radius:0 0 var(--tt-r) var(--tt-r);box-shadow:var(--tt-line);font-weight:500;font-size:18px}
.tt-calc{display:grid;grid-template-columns:1fr 1fr;margin-top:var(--tt-grid-gap);border-radius:var(--tt-r);box-shadow:var(--tt-line)}
.tt-calc__form,.tt-calc__result{padding:var(--tt-card-pad)}
.tt-calc__form{min-width:0;border:0}
.tt-sum__title{font-weight:500;font-size:18px}
.tt-sum .tt-sum__title{margin-bottom:var(--tt-space-s)}
.tt-calc__result{display:flex;gap:var(--tt-space-2xl);align-items:center;border-left:1px solid var(--tt-g8)}
.tt-calc__title{float:left;width:100%;margin-bottom:var(--tt-space-m);padding:0;font-weight:500;font-size:18px}/* float keeps the legend inside the box */ 
.tt-calc__fields{clear:both;display:grid;grid-template-columns:1fr 1fr;gap:var(--tt-space-s)}
.tt-calc__label{display:flex;flex-direction:column;justify-content:flex-end;font-size:var(--tt-fs-micro);font-weight:500}
.tt-calc__input{display:block;width:100%;height:46px;margin-top:6px;padding:0 18px;border:0;border-radius:var(--tt-pill);box-shadow:var(--tt-line);outline:0}
.tt-calc__input:focus{box-shadow:inset 0 0 0 2px var(--tt-ink)}
.tt-calc__out{flex:1}
.tt-calc__out:first-child{flex:none}
.tt-calc__value{display:block;font-weight:500;font-size:clamp(30px,3vw,40px);letter-spacing:-.04em;line-height:1}
.tt-calc__note{display:block;margin-top:6px;font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-calc__note--strong{margin-top:var(--tt-space-xs);color:var(--tt-ink);font-weight:500}
.tt-calc__src{clear:both;margin-top:var(--tt-space-s);font-size:12px;line-height:1.4;color:var(--tt-g5)}
.tt-meter{height:4px;margin-top:10px;border-radius:var(--tt-pill);background:var(--tt-g9);overflow:hidden}
.tt-meter__fill{display:block;height:100%;background:var(--tt-ink);transition:width .5s var(--tt-out)}
@media (max-width:860px){
	.tt-stats{grid-template-columns:1fr 1fr}
	.tt-stats__item{border-bottom:1px solid var(--tt-g8)}
	.tt-stats__item:nth-child(2n){border-right:0}
	.tt-stats__item:nth-child(n+3){border-bottom:0}
	.tt-calc{grid-template-columns:1fr}
	.tt-calc__result{border-left:0;border-top:1px solid var(--tt-g8)}
}/* comparison table */


.tt-compare{overflow-x:auto;border:1px solid var(--tt-g8);border-radius:var(--tt-r)}
.tt-compare__table{width:100%;min-width:560px;border-collapse:collapse}
.tt-compare__table th,.tt-compare__table td{padding:18px 22px;text-align:center;border-bottom:1px solid var(--tt-g8);font-size:15px}
.tt-compare__table th:first-child,.tt-compare__table td:first-child{text-align:left}
.tt-compare__table tbody tr:last-child>*{border-bottom:0}
.tt-compare__table thead th{font-weight:500;font-size:var(--tt-fs-small);color:var(--tt-g5)}
.tt-compare__table tbody th{font-weight:400}
.tt-compare__table :is(th,td):nth-child(2){background:var(--tt-canvas);color:var(--tt-ink)}
.tt-compare__yes{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--tt-ink);color:#fff;font-size:11px}
.tt-compare__no{color:var(--tt-g7)}
@media (max-width:860px){.tt-compare__table{min-width:500px}.tt-compare__table th,.tt-compare__table td{padding:14px 12px;font-size:var(--tt-fs-small)}}
@media (max-width:600px){/* phones: the whole table fits, no sideways scrolling */  .tt-compare__table{min-width:0;table-layout:fixed}.tt-compare__table th,.tt-compare__table td{padding:14px 6px;font-size:13px;line-height:1.3}.tt-compare__table :is(th,td):first-child{width:38%;padding-left:14px}.tt-compare__table thead th{font-size:12px}}/* faq */


.tt-faq{border-radius:var(--tt-r);box-shadow:var(--tt-line);overflow:hidden}
.tt-faq__item{border-bottom:1px solid var(--tt-g8)}
.tt-faq__item:last-child{border-bottom:0}
.tt-faq__question{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--tt-space-m);padding:20px var(--tt-space-l);font-weight:500}
.tt-faq__question::-webkit-details-marker{display:none}
.tt-faq__question::after{content:"+";font-size:20px;color:var(--tt-g5);transition:transform .3s}
.tt-faq__item[open] .tt-faq__question::after{transform:rotate(45deg)}
.tt-faq__answer{padding:0 var(--tt-space-l) 22px;color:var(--tt-g4);max-width:62ch}/* ordering process: three steps, each with a small product visual (our own card, no stock photos) */


.tt-process{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tt-grid-gap)}
.tt-process__item{display:flex;flex-direction:column;border:1px solid var(--tt-g8);border-radius:var(--tt-r);overflow:hidden}
.tt-process__visual{position:relative;display:grid;place-items:center;aspect-ratio:4/3;background:var(--tt-canvas);overflow:hidden;isolation:isolate}
.tt-process__visual .tt-tcard{position:absolute;width:62%}
.tt-process__visual .tt-tcard__face{box-shadow:inset 0 0 0 1px var(--tc-line),0 24px 40px -22px rgb(0 0 0 / .45)}
.tt-process__visual>img,.tt-process__visual>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tt-process__video{z-index:1}
@media (prefers-reduced-motion:reduce){.tt-process__video{display:none}}/* hover (mouse only): photos zoom in slowly, the card mock-up lifts and tilts, the tile border darkens */

.tt-process__item{transition:border-color .5s var(--tt-out)}
.tt-process__visual>img,.tt-process__visual>video,.tt-process__visual .tt-tcard{transition:transform 1.1s var(--tt-out)}
.tt-process__visual .tt-tcard__face{transition:box-shadow 1.1s var(--tt-out)}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
	.tt-process__item:hover{border-color:var(--tt-g7)}
	.tt-process__item:hover .tt-process__visual>img,.tt-process__item:hover .tt-process__visual>video{transform:scale(1.05)}
	.tt-process__item:hover .tt-process__visual .tt-tcard{transform:translateY(-4%) rotate(-3deg) scale(1.04)}
	.tt-process__item:hover .tt-process__visual .tt-tcard__face{box-shadow:inset 0 0 0 1px var(--tc-line),0 40px 60px -26px rgb(0 0 0 / .5)}
}/* step photos */ 
.tt-process__visual--pick .tt-tcard{width:50%}
.tt-process__visual--pick .tt-tcard:nth-child(1){left:8%;top:16%}
.tt-process__visual--pick .tt-tcard:nth-child(2){left:25%;top:30%}
.tt-process__visual--pick .tt-tcard:nth-child(3){left:42%;top:44%}
.tt-process__tag{position:absolute;z-index:1;top:var(--tt-space-m);left:var(--tt-space-m);display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--tt-pill);background:#fff;font-size:var(--tt-fs-micro);font-weight:600;box-shadow:var(--tt-line)}
.tt-process__tag s{font-weight:400;color:var(--tt-g5)}
.tt-process__approve{position:absolute;right:var(--tt-space-m);bottom:var(--tt-space-m);display:flex;align-items:center;gap:6px;height:34px;padding:0 14px 0 10px;border-radius:var(--tt-pill);background:var(--tt-ink);color:#fff;font-size:var(--tt-fs-micro);font-weight:500;box-shadow:0 10px 24px -10px rgb(0 0 0 / .5)}
.tt-process__approve svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tt-process__body{display:grid;gap:6px;padding:var(--tt-card-pad)}
.tt-process__num{font-size:var(--tt-fs-micro);font-weight:500;color:var(--tt-g5);font-variant-numeric:tabular-nums}
.tt-process__text{color:var(--tt-g4)}
@media (max-width:860px){.tt-process{grid-template-columns:1fr}}/* reviews: three quotes side by side */


.tt-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tt-grid-gap)}
.tt-review{display:flex;flex-direction:column;gap:var(--tt-space-l);padding:var(--tt-card-pad);border-radius:var(--tt-r);background:var(--tt-canvas)}
.tt-review__stars{font-size:15px;letter-spacing:2px}
.tt-review__text{flex:1;font-size:clamp(18px,1.5vw,21px);font-weight:500;line-height:1.3;letter-spacing:-.02em;text-wrap:pretty}
.tt-review__author{display:flex;align-items:center;gap:var(--tt-space-s);font-size:var(--tt-fs-small);color:var(--tt-g5)}
.tt-review__author b{display:block;font-weight:500;color:var(--tt-ink)}
.tt-review__avatar{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--tt-ink);color:#fff;font-size:13px;font-weight:600}
@media (max-width:860px){.tt-reviews{grid-template-columns:1fr}}/* teams: one panel, the discount ladder on the right */


.tt-team{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:var(--tt-space-2xl);padding:var(--tt-panel-pad);border-radius:var(--tt-r);background:var(--tt-canvas)}
.tt-team__body{display:grid;gap:var(--tt-space-s);justify-items:start}
.tt-team__body .tt-btn-row{margin-top:var(--tt-space-m)}
.tt-tiers-list{border-radius:var(--tt-r-m);background:#fff;box-shadow:var(--tt-line);overflow:hidden}
.tt-tiers-list__row{display:flex;justify-content:space-between;align-items:baseline;padding:18px var(--tt-space-l);border-bottom:1px solid var(--tt-g8)}
.tt-tiers-list__row:last-child{border-bottom:0}
.tt-tiers-list__row span{color:var(--tt-g4)}
.tt-tiers-list__row b{font-size:24px;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.tt-tiers-list__row--best{background:var(--tt-ink);color:#fff}
.tt-tiers-list__row--best span{color:rgb(255 255 255 / .7)}
@media (max-width:860px){.tt-team{grid-template-columns:1fr;gap:var(--tt-space-xl)}}/* closing call to action: the product video in its own box (never cropped, same on every screen), headline and button below.
   The clip is shot on solid white like the section, so the box edges are invisible. */


.tt-cta{display:grid;justify-items:center;gap:var(--tt-space-l);padding:0 var(--tt-panel-pad) var(--tt-panel-pad);text-align:center;background:#fff;overflow:visible}/* one clip for every screen (like nor.ma): small card in the centre with white all around, so the crop only ever removes
   white. Desktop: edge to edge, cover-cropped top/bottom (the arm enters from the real screen edge). Phone: zoomed from the
   centre so the card stays readable. Plays once when scrolled to and holds on the catch (poster = last frame). */

.tt-cta__stage{width:100vw;margin-inline:calc(50% - 50vw);height:clamp(360px,36vw,760px);overflow:hidden}
.tt-cta__media{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.tt-cta__content{display:grid;justify-items:center;gap:var(--tt-space-s)}
.tt-cta__text{color:var(--tt-g4);font-size:var(--tt-fs-lead)}
.tt-cta .tt-btn-row{justify-content:center;margin-top:var(--tt-space-s)}/* phone: a tight window of the frame (x 19–79%, y 34–80%: the card sits at 40–59%, the hand in its final pose ends at 76%;
   only one blurred frame of the incoming fingertips reaches lower), so there is no empty white above or below.
   Percent margins resolve against the box width, so the crop holds at every phone width. */

@media (max-width:860px){.tt-cta{gap:var(--tt-space-m);padding:0 var(--tt-space-l) var(--tt-space-xl)}.tt-cta__stage{height:auto;aspect-ratio:1152/497}
	.tt-cta__media{width:166.667%;max-width:none;height:auto;aspect-ratio:16/9;margin:-31.875% 0 0 -31.667%;object-fit:fill}}
.tt-section--cta{margin-bottom:0;overflow-x:clip}/* ==========================================================================
   8. Live profile demo (#fx) — scoped under .fx
   ========================================================================== *//* live profile: tap → profile → Fiók → QR → save */


.tt-fx .tt-fm{display:none}
.tt-fx>*{min-width:0}
@media (max-width:860px){
.tt-fx .tt-fv{order:0!important}
.tt-fx .tt-fl{display:none}
.tt-fx .tt-fm{display:block;margin-top:-6px}
.tt-fx .tt-fv .tt-fp{scale:.95;transform-origin:50% 0;top:40px}
.tt-fx .tt-fv .tt-fcard{scale:.95;transform-origin:50% 0}
.tt-fx .tt-fm__pills{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1 * var(--tt-gutter));padding:2px var(--tt-gutter) 4px;scroll-padding-inline:var(--tt-gutter)}
.tt-fx .tt-fm__pills::-webkit-scrollbar{display:none}
.tt-fx .tt-fm__p{position:relative;flex:none;scroll-snap-align:start;display:flex;align-items:center;gap:7px;height:38px;padding:0 14px 0 12px;border-radius:99px;background:var(--tt-canvas);color:var(--tt-g4);font-size:13.5px;font-weight:500;overflow:hidden;isolation:isolate;transition:color .3s}
.tt-fx .tt-fm__p svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tt-fx .tt-fm__p::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--tt-ink);transform:scaleX(var(--pr,0));transform-origin:left;opacity:0}
.tt-fx .tt-fm__p.tt-on{color:#fff;background:#3A3A3C}
.tt-fx .tt-fm__p.tt-on::before{opacity:1}
.tt-fx .tt-fm__t{margin-top:var(--tt-space-m);min-height:96px}
.tt-fx .tt-fm__t small{display:block;font-size:12px;color:var(--tt-g5);font-variant-numeric:tabular-nums}
.tt-fx .tt-fm__t b{display:block;margin-top:2px;font-weight:500;font-size:20px;letter-spacing:-.02em}
.tt-fx .tt-fm__t p{margin-top:6px;color:var(--tt-g4);font-size:15px}
}

.tt-fx .tt-fd{position:absolute;inset:0;z-index:8;background:#0B0B0E;color:#fff;padding:50px 13px 0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:0}
.tt-fx .tt-fd__bar{display:flex;justify-content:space-between;align-items:center;height:34px}
.tt-fx .tt-fd__ib{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,rgb(255 255 255 / .12),rgb(255 255 255 / .04));box-shadow:inset 0 1px .5px rgb(255 255 255 / .4),inset 0 0 0 .5px rgb(255 255 255 / .14),0 8px 24px rgb(0 0 0 / .3)}
.tt-fx .tt-fd__ib svg{width:15px;height:15px}
.tt-fx .tt-fd__vp{position:relative}
.tt-fx .tt-fd__sc{position:absolute;left:0;right:0;top:0}
.tt-fx .tt-fd__ttl{font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1.2;margin:10px 4px 4px}
.tt-fx .tt-fd__lead{font-size:12.5px;line-height:1.35;color:rgb(255 255 255 / .64);margin:0 4px 14px}
.tt-fx .tt-fd__g{border-radius:22px;background:#1A1A1F;box-shadow:inset 0 0 0 .5px rgb(255 255 255 / .07);overflow:hidden}
.tt-fx .tt-fd__g+.tt-fd__g{margin-top:10px}
.tt-fx .tt-fd__f{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:11px;align-items:center;min-height:48px;padding:6px 14px;font-size:14px}
.tt-fx .tt-fd__f+.tt-fd__f::before{content:"";position:absolute;top:0;left:14px;right:0;height:1px;background:rgb(255 255 255 / .08)}
.tt-fx .tt-fd__f--l{grid-template-columns:70px minmax(0,1fr)}
.tt-fx .tt-fd__f label{font-size:13.5px;color:rgb(255 255 255 / .64);transition:color .2s}
.tt-fx .tt-fd__f.tt-on label{color:#409CFF}
.tt-fx .tt-fd__f .tt-br{width:28px;height:28px;border-radius:8px;background:#fff;color:#0B0B0E;display:grid;place-items:center}
.tt-fx .tt-fd__f .tt-br svg{width:14px;height:14px}
.tt-fx .tt-fd__v{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.tt-fx .tt-fd__v.tt-ph{color:rgb(255 255 255 / .42)}
.tt-fx .tt-fd__v mark{background:rgb(64 156 255 / .45);color:#fff;border-radius:3px}
.tt-fx .tt-fd__f u{display:inline-block;width:2px;height:17px;background:#409CFF;vertical-align:-3px;margin-left:1px;opacity:0;text-decoration:none}
.tt-fx .tt-fd__f.tt-on u{opacity:1;animation:blink 1s steps(1) infinite}
.tt-fx .tt-fd__save{position:absolute;left:10px;right:10px;bottom:14px;z-index:3;display:flex;align-items:center;gap:8px;padding:6px 6px 6px 16px;border-radius:99px;background:rgb(30 30 36 / .94);box-shadow:inset 0 1px .5px rgb(255 255 255 / .4),inset 0 0 0 .5px rgb(255 255 255 / .14),0 8px 24px rgb(0 0 0 / .3);font-size:13px;font-weight:500}
.tt-fx .tt-fd__save span{flex:1}
.tt-fx .tt-fd__save b{height:34px;padding:0 16px;border-radius:99px;background:#fff;color:#0B0B0E;display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600}
.tt-fx .tt-fd__save b svg{width:13px;height:13px}
.tt-fx .tt-kb{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:9px 3px 26px;background:rgb(40 40 45 / .97);display:grid;gap:10px}
.tt-fx .tt-kb div{display:flex;gap:5px;justify-content:center}
.tt-fx .tt-kb i{flex:0 0 calc((100% - 45px) / 10);height:36px;border-radius:5px;background:rgb(255 255 255 / .26);box-shadow:0 1px 0 rgb(0 0 0 / .5);font-style:normal;font-size:15px;display:grid;place-items:center;color:#fff}
.tt-fx .tt-kb i.tt-w{flex:0 0 13%;background:rgb(255 255 255 / .13);font-size:12px}
.tt-fx .tt-kb i.tt-sp{flex:1}
.tt-fx .tt-kb i.tt-dn{flex:0 0 22%;background:#409CFF;font-size:12px}
.tt-fx .tt-pb{position:absolute;z-index:13;display:flex;align-items:center;height:32px;padding:0 13px;border-radius:9px;background:#2C2C30;color:#fff;font-size:12.5px;font-weight:500;box-shadow:0 8px 20px rgb(0 0 0 / .45);white-space:nowrap;opacity:0;transform-origin:50% 100%}
.tt-fx .tt-pb::after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-6px;border:6px solid transparent;border-bottom:0;border-top-color:#2C2C30}
.tt-fx .tt-hl{position:absolute;z-index:12;border-radius:16px;box-shadow:0 0 0 2px rgb(255 255 255 / .9),0 0 24px rgb(255 255 255 / .25);opacity:0;pointer-events:none}

.tt-fx .tt-lift{position:absolute;z-index:6;left:0;top:0;--bga:0;--sa:0;padding:10px 10px 11px;border-radius:24px;background:rgb(22 22 26 / var(--bga));box-shadow:inset 0 .5px 0 rgb(255 255 255 / calc(var(--bga) * .14)),0 30px 60px -18px rgb(10 10 20 / calc(var(--sa) * .55)),0 10px 24px -10px rgb(10 10 20 / calc(var(--sa) * .35));color:#fff;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:0;opacity:0;pointer-events:none}
.tt-fx .tt-lift>small{display:block;font-size:10.5px;font-weight:600;color:rgb(255 255 255 / .55);margin:0 4px 8px;white-space:nowrap;opacity:var(--bga)}
.tt-fx .tt-lift>:not(small){margin:0!important}

.tt-fx{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(var(--tt-space-xl),5vw,80px);align-items:center}
.tt-fx .tt-fl{margin-top:var(--tt-space-xl);border-top:1px solid var(--tt-g8)}
.tt-fx .tt-fl__i{position:relative;border-bottom:1px solid var(--tt-g8)}
.tt-fx .tt-fl__h{display:flex;align-items:center;gap:14px;width:100%;padding:18px 0;text-align:left;color:var(--tt-g5);transition:color .3s}
.tt-fx .tt-fl__h svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.tt-fx .tt-fl__h b{font-weight:500;font-size:18px;letter-spacing:-.02em}
.tt-fx .tt-fl__i.tt-on .tt-fl__h{color:var(--tt-ink)}
.tt-fx .tt-fl__b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--tt-out)}
.tt-fx .tt-fl__i.tt-on .tt-fl__b{grid-template-rows:1fr}
.tt-fx .tt-fl__b>div{overflow:hidden}
.tt-fx .tt-fl__b p{color:var(--tt-g4);font-size:15px;padding:0 0 20px 34px;max-width:44ch}
.tt-fx .tt-fl__bar{position:absolute;left:0;right:0;bottom:-1px;height:1.5px;background:var(--tt-ink);transform:scaleX(0);transform-origin:left}
.tt-fx .tt-fv{position:relative;height:768px;min-height:0;border-radius:var(--tt-r);background:var(--tt-canvas);overflow:hidden;isolation:isolate}
.tt-fx .tt-fv::before{content:"";position:absolute;left:50%;top:58%;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;background:radial-gradient(closest-side,rgb(255 255 255 / .9),transparent);pointer-events:none}
.tt-fx .tt-fv svg{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tt-fx .tt-fv svg.tt-b{fill:currentColor;stroke:none}
.tt-fx .tt-fv .tt-tcard svg{fill:currentColor;stroke:none;stroke-width:0}/* the card's logo and QR are solid prints, never the outline icon style */ 
.tt-fx .tt-fcard{position:absolute;z-index:0;left:50%;top:0;width:368px;aspect-ratio:85.6/54;margin-left:-184px}/* the real card (back), drawn by tcardHTML */ 
.tt-fx .tt-fcard .tt-tcard__face{box-shadow:inset 0 0 0 1px var(--tc-line),0 30px 50px -20px rgb(0 0 0 / .45)}
.tt-fx .tt-fp{position:absolute;z-index:1;left:50%;top:64px;transform-origin:50% 0;width:300px;height:640px;margin-left:-150px;border-radius:52px;background:#0B0B0E;padding:9px;box-shadow:inset 0 0 0 1.5px #2C2C30,0 0 0 1px rgb(0 0 0 / .08),0 50px 90px -30px rgb(20 20 40 / .45),0 20px 40px -20px rgb(20 20 40 / .25);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:0;-webkit-font-smoothing:antialiased;color:#fff}
.tt-fx .tt-fp::before{content:"";position:absolute;z-index:30;top:18px;left:50%;width:92px;height:27px;margin-left:-46px;border-radius:20px;background:#000}
.tt-fx .tt-fs{position:relative;height:100%;border-radius:44px;overflow:hidden;background:#0B0B0E;isolation:isolate;clip-path:inset(0 round 44px)}/* clip-path: animated layers inside never escape the rounded corners (Safari drops overflow+radius clipping on composited children) */ 
.tt-fx .tt-fk{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;padding-top:74px;background:radial-gradient(120% 70% at 50% 0%,#2a2a2e,#0B0B0E 70%)}
.tt-fx .tt-fk span{font-size:13px;color:rgb(255 255 255 / .6)}
.tt-fx .tt-fk b{font-size:72px;font-weight:600;letter-spacing:-.04em;line-height:1;margin-top:2px}
.tt-fx .tt-fring{position:absolute;z-index:6;top:-46px;left:50%;width:120px;height:120px;margin-left:-60px;border-radius:50%;box-shadow:0 0 0 1.5px rgb(255 255 255 / .6);opacity:0}
.tt-fx .tt-fn{position:absolute;z-index:7;top:56px;left:9px;right:9px;display:flex;gap:10px;align-items:center;padding:11px 12px;border-radius:22px;background:rgb(58 58 64 / .72);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);font-size:12px;line-height:1.3;opacity:0}
.tt-fx .tt-fn i{width:36px;height:36px;border-radius:10px;background:#fff;display:grid;place-items:center;flex:none}
.tt-fx .tt-fn i svg{width:22px;fill:#000;stroke:none}
.tt-fx .tt-fn b{display:block;font-weight:600}
.tt-fx .tt-fn span{color:rgb(255 255 255 / .7)}
.tt-fx .tt-fn em{margin-left:auto;font-style:normal;font-size:11px;color:rgb(255 255 255 / .45);align-self:flex-start}
.tt-fx .tt-fpr{position:absolute;inset:0;z-index:9;overflow:hidden;box-shadow:-18px 0 40px rgb(0 0 0 / .45);background:radial-gradient(90% 40% at 50% 0%,#232327,#0B0B0E 70%)}
.tt-fx .tt-fpin{padding:50px 13px 140px}
.tt-fx .tt-gl{display:grid;place-items:center;height:32px;min-width:32px;border-radius:99px;background:linear-gradient(180deg,rgb(255 255 255 / .11),rgb(255 255 255 / .03));box-shadow:inset 0 1px .5px rgb(255 255 255 / .42),inset 0 0 0 .5px rgb(255 255 255 / .16),0 10px 30px rgb(0 0 0 / .32)}
.tt-fx .tt-gl svg{width:14px;height:14px}
.tt-fx .tt-pn{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.tt-fx .tt-lg{display:flex;padding:3px;gap:2px;font-size:10.5px;font-weight:600}
.tt-fx .tt-lg b{padding:4px 8px;border-radius:99px;color:rgb(255 255 255 / .5)}
.tt-fx .tt-lg b.tt-on{background:#fff;color:#000}
.tt-fx .tt-cv{height:128px;border-radius:24px;overflow:hidden;position:relative}
.tt-fx .tt-cv i{position:absolute;inset:0;background:url(img/v3/cover-silk.jpg) center/cover}
.tt-fx .tt-cv::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgb(11 11 14 / .55))}
.tt-fx .tt-av{width:82px;height:82px;margin:-44px auto 0;border-radius:50%;background:url(img/v3/annas.jpg) center 20%/cover;box-shadow:0 0 0 4px #0B0B0E,0 16px 36px rgb(0 0 0 / .4);position:relative;z-index:2}
.tt-fx .tt-nmx{margin-top:10px;text-align:center;font-size:20px;font-weight:700;letter-spacing:-.025em;display:flex;justify-content:center;align-items:center;gap:5px}
.tt-fx .tt-nmx svg{width:17px;height:17px;color:#3B9BFF}
.tt-fx .tt-mt{display:flex;justify-content:center;gap:6px;margin-top:6px;font-size:11.5px;color:rgb(255 255 255 / .64)}
.tt-fx .tt-mt span:last-child{padding:3px 10px;border-radius:99px;background:rgb(255 255 255 / .1);color:#fff}
.tt-fx .tt-so{display:flex;justify-content:center;gap:7px;margin-top:14px}
.tt-fx .tt-so>span{width:36px;height:36px;position:relative}
.tt-fx .tt-so>span .tt-gl{width:36px;height:36px}
.tt-fx .tt-so svg{width:15px;height:15px}
.tt-fx .tt-so .tt-slot{border-radius:50%;box-shadow:inset 0 0 0 1.5px rgb(255 255 255 / .22);display:grid;place-items:center}
.tt-fx .tt-so .tt-slot::after{content:"+";font-size:15px;color:rgb(255 255 255 / .4)}
.tt-fx .tt-ac{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}
.tt-fx .tt-ac span{height:auto!important;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0 8px;border-radius:18px;font-size:10.5px;font-weight:500}
.tt-fx .tt-ac svg{width:16px;height:16px}.tt-fx .tt-ac b{font-weight:500}
.tt-fx .tt-svx{display:flex;gap:7px;margin-top:7px}
.tt-fx .tt-svx b{position:relative;overflow:hidden;flex:1;display:flex;align-items:center;justify-content:center;gap:7px;height:44px;border-radius:99px;background:#fff;color:#0B0B0E;font-size:13.5px;font-weight:600;box-shadow:0 14px 34px rgb(0 0 0 / .2)}
.tt-fx .tt-svx b::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgb(255 255 255 / .9),transparent);transform:translateX(var(--sh,0%))}
.tt-fx .tt-svx b svg{width:16px;height:16px}
.tt-fx .tt-svx i{width:44px;height:44px}
.tt-fx .tt-svx i svg{width:16px;height:16px}
.tt-fx .tt-lb{display:flex;justify-content:space-between;margin:18px 6px 7px;font-size:11.5px;color:rgb(255 255 255 / .45)}
.tt-fx .tt-grp{border-radius:22px;background:rgb(30 30 36 / .5);box-shadow:inset 0 .5px 0 rgb(255 255 255 / .12),inset 0 0 0 .5px rgb(255 255 255 / .07)}
.tt-fx .tt-row{display:flex;align-items:center;gap:11px;padding:10px 13px;font-size:13px}
.tt-fx .tt-row+.tt-row{border-top:1px solid rgb(255 255 255 / .07)}
.tt-fx .tt-row>i{width:32px;height:32px;border-radius:50%;background:rgb(255 255 255 / .08);display:grid;place-items:center;flex:none}
.tt-fx .tt-row>i svg{width:14px;height:14px}
.tt-fx .tt-row small{display:block;font-size:10.5px;color:rgb(255 255 255 / .45)}
.tt-fx .tt-row em{margin-left:auto;font-style:normal;color:rgb(255 255 255 / .35)}
.tt-fx .tt-row em svg{width:14px;height:14px}
.tt-fx .tt-vid{height:150px;border-radius:22px;overflow:hidden;position:relative;background:#1A1A1F}
.tt-fx .tt-vid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tt-fx .tt-vid .tt-pl{position:absolute;left:50%;top:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:rgb(255 255 255 / .92);color:#000;display:grid;place-items:center}
.tt-fx .tt-vid .tt-pl svg{width:18px;height:18px;fill:#000;stroke:none;margin-left:3px}
.tt-fx .tt-vid .tt-tg{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;background:rgb(0 0 0 / .55);backdrop-filter:blur(8px);font-size:10.5px;font-weight:600}
.tt-fx .tt-vid .tt-tg svg{width:12px;height:12px}
.tt-fx .tt-vid .tt-ttl{position:absolute;left:12px;bottom:10px;font-size:12px;font-weight:600}
.tt-fx .tt-sk{position:absolute;inset:0;background:linear-gradient(100deg,#1A1A1F 30%,#2A2A30 50%,#1A1A1F 70%) 0 0/300% 100%;animation:sk 1.2s linear infinite}
@keyframes sk{to{background-position:-150% 0}}
.tt-fx .tt-eq{display:flex;align-items:flex-end;gap:2px;height:14px;margin-left:auto}
.tt-fx .tt-eq i{width:3px;background:#fff;border-radius:2px;animation:eq .9s ease-in-out infinite alternate}
.tt-fx .tt-eq i:nth-child(2){animation-delay:-.3s}
.tt-fx .tt-eq i:nth-child(3){animation-delay:-.6s}
.tt-fx .tt-eq i:nth-child(4){animation-delay:-.15s}
@keyframes eq{from{height:3px}to{height:14px}}
.tt-fx .tt-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.tt-fx .tt-gal span{aspect-ratio:1;border-radius:14px;background:#1A1A1F center/cover;box-shadow:inset 0 0 0 1.5px rgb(255 255 255 / .12)}
.tt-fx .tt-fc{position:absolute;z-index:9;inset:54px 0 0;border-radius:16px 16px 0 0;background:#1C1C1E;box-shadow:0 -10px 40px rgb(0 0 0 / .5);padding:12px 14px}
.tt-fx .tt-fc__h{display:flex;justify-content:space-between;font-size:14.5px;color:#0A84FF}
.tt-fx .tt-fc__h b{color:#fff;font-weight:600}
.tt-fx .tt-fc__h strong{font-weight:600}
.tt-fx .tt-fc .tt-av{width:88px;height:88px;margin:22px auto 8px;box-shadow:none}
.tt-fx .tt-fc__n{text-align:center;font-size:21px;font-weight:600}
.tt-fx .tt-fc__s{text-align:center;font-size:12.5px;color:#8E8E93;margin-top:2px}
.tt-fx .tt-fc__l{margin-top:18px;border-radius:12px;background:#2C2C2E}
.tt-fx .tt-fc__l div{padding:10px 14px;font-size:13.5px}
.tt-fx .tt-fc__l div+div{border-top:1px solid #3A3A3C}
.tt-fx .tt-fc__l small{display:block;font-size:11.5px;color:#fff}
.tt-fx .tt-fc__l span{color:#0A84FF}
.tt-fx .tt-toastx{position:absolute;z-index:10;left:50%;top:58px;display:flex;align-items:center;gap:7px;height:38px;padding:0 16px;border-radius:99px;background:#fff;color:#0B0B0E;font-size:12.5px;font-weight:600;white-space:nowrap;box-shadow:0 14px 34px rgb(0 0 0 / .4);opacity:0}
.tt-fx .tt-toastx svg{width:15px;height:15px;color:#30D158}
.tt-fx .tt-ftap{position:absolute;z-index:11;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:rgb(255 255 255 / .28);box-shadow:0 0 0 1.5px rgb(255 255 255 / .7),0 0 20px rgb(255 255 255 / .25);opacity:0;pointer-events:none}


.tt-fx .tt-chip{position:absolute;z-index:4;display:flex;align-items:center;gap:7px;height:38px;padding:0 14px 0 8px;border-radius:99px;background:rgb(255 255 255 / .92);backdrop-filter:blur(16px);box-shadow:0 0 0 .5px rgb(0 0 0 / .06),0 18px 40px -14px rgb(20 20 40 / .3);font-family:system-ui,-apple-system,sans-serif;font-size:12.5px;font-weight:600;color:#0B0B0F;white-space:nowrap;opacity:0}
.tt-fx .tt-chip i{width:24px;height:24px;border-radius:50%;background:#0B0B0F;color:#fff;display:grid;place-items:center}
.tt-fx .tt-chip i svg{width:12px;height:12px}
.tt-fx .tt-ghost{position:absolute;z-index:12;width:36px;height:36px;border-radius:10px;background:#0B0B0F;color:#fff;display:grid;place-items:center;box-shadow:0 16px 30px -8px rgb(0 0 0 / .45);opacity:0;pointer-events:none}
.tt-fx .tt-ghost svg{width:17px;height:17px}
.tt-fx .tt-ghost.tt-row{width:220px;height:auto;padding:9px 12px;border-radius:16px;display:flex;gap:10px;justify-content:flex-start;font-family:system-ui,sans-serif;font-size:12.5px}
.tt-fx .tt-ghost.tt-row small{display:block;font-size:10px;color:rgb(255 255 255 / .55)}
.tt-fx .tt-photo{position:absolute;z-index:6;width:92px;aspect-ratio:1;border-radius:16px;background:#ccc center/cover;box-shadow:0 0 0 3px #fff,0 20px 40px -14px rgb(20 20 40 / .45);opacity:0}
.tt-fx .tt-cur{position:absolute;z-index:13;left:0;top:0;width:22px;height:22px;opacity:0;pointer-events:none;filter:drop-shadow(0 3px 6px rgb(0 0 0 / .3))}
.tt-fx .tt-cur svg{width:22px;height:22px;fill:#0B0B0F;stroke:#fff;stroke-width:1.5;stroke-linejoin:round}

@media (max-width:860px){
.tt-fx{grid-template-columns:1fr}
.tt-fx .tt-fv{height:612px;min-height:0}
.tt-fx .tt-fp{width:262px;height:560px;margin-left:-131px;top:84px;border-radius:46px}
.tt-fx .tt-fs{border-radius:39px;clip-path:inset(0 round 39px)}
.tt-fx .tt-fcard{width:316px;margin-left:-158px}
.tt-fx .tt-chip{font-size:11px;height:32px}
}
.tt-fx .tt-fq{position:absolute;z-index:9;left:7px;right:7px;bottom:7px;padding:6px 14px 14px;border-radius:32px;background:rgb(34 34 40 / .78);backdrop-filter:blur(40px) saturate(1.8);-webkit-backdrop-filter:blur(40px) saturate(1.8);box-shadow:inset 0 1px 0 rgb(255 255 255 / .12),inset 0 0 0 1px rgb(255 255 255 / .06),0 40px 100px rgb(0 0 0 / .5)}
.tt-fx .tt-fq::before{content:"";display:block;width:34px;height:5px;margin:0 auto 12px;border-radius:3px;background:#fff;opacity:.18}
.tt-fx .tt-fq__h{display:flex;align-items:center;gap:10px}
.tt-fx .tt-fq__a{width:38px;height:38px;border-radius:50%;background:url(img/v3/annas.jpg) center 20%/cover;flex:none}
.tt-fx .tt-fq__t{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.25}
.tt-fx .tt-fq__t span{display:block;font-size:11.5px;font-weight:400;opacity:.6}
.tt-fx .tt-fq__x{width:30px;height:30px;border-radius:50%;background:rgb(255 255 255 / .1);display:grid;place-items:center}
.tt-fx .tt-fq__x svg{width:14px;height:14px}
.tt-fx .tt-fq__qr{position:relative;width:186px;aspect-ratio:1;margin:16px auto 0;padding:14px;border-radius:24px;background:#fff;box-shadow:0 10px 40px rgb(0 0 0 / .12)}
.tt-fx .tt-fq__qr svg.tt-q{display:block;width:100%;height:auto;fill:#0B0B0F;stroke:none}
.tt-fx .tt-fq__qr i{position:absolute;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:11px;background:#fff;display:grid;place-items:center}
.tt-fx .tt-fq__qr i svg{width:30px;fill:#0B0B0F;stroke:none}
.tt-fx .tt-fq__hint{margin-top:11px;font-size:11.5px;text-align:center;opacity:.55}
.tt-fx .tt-fq__url{margin-top:1px;font-size:13px;font-weight:500;text-align:center}
.tt-fx .tt-fq__a2{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:13px}
.tt-fx .tt-fq__a2 span{display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 2px 9px;border-radius:17px;background:rgb(255 255 255 / .1);font-size:11px;font-weight:500}
.tt-fx .tt-fq__a2 svg{width:16px;height:16px}
@media (max-width:860px){
.tt-fx .tt-fq__qr{width:160px}}/* ==========================================================================
   9. Order box, footer, other pages
   ========================================================================== *//* order box (home + product page) */





.tt-order{display:grid;grid-template-columns:1fr 1fr;gap:var(--tt-grid-gap)}
.tt-order__img{border-radius:var(--tt-r);box-shadow:var(--tt-line);display:grid;place-items:center;align-content:center;gap:var(--tt-space-xl);min-height:540px;padding:var(--tt-panel-pad);perspective:1400px;position:sticky;top:80px;align-self:start}
.tt-order__card{width:min(440px,100%);perspective:1800px}
.tt-order__card .tt-tcard__face{box-shadow:inset 0 0 0 1px var(--tc-line),0 40px 60px -30px rgb(0 0 0 / .5),0 12px 24px -16px rgb(0 0 0 / .25)}
.tt-tcard--turn .tt-tcard__inner{transition:transform .9s cubic-bezier(.65,0,.35,1)}
.tt-tcard--turned .tt-tcard__inner{transform:rotateY(180deg)}
.tt-tcard--flat .tt-tcard__face{transform:none}
.tt-opt__card{display:block;margin-bottom:10px}
.tt-opt__card .tt-tcard__face{border-radius:4.8cqw}
.tt-gift{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--tt-space-s);margin-top:var(--tt-space-m);padding:14px var(--tt-space-m);border-radius:var(--tt-r-s);background:var(--tt-canvas)}
.tt-gift__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--tt-ink);color:#fff}
.tt-gift__icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tt-gift__text{display:grid;line-height:1.3}
.tt-gift__text b{font-weight:500;font-size:15px}
.tt-gift__text small{font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-gift__price{display:grid;justify-items:end;line-height:1.2}
.tt-gift__price s{font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-gift__price b{font-weight:600;font-size:17px}
.tt-lines__was{color:var(--tt-g5);font-size:13px;margin-right:4px}
.tt-order__p{border-radius:var(--tt-r);box-shadow:var(--tt-line);padding:var(--tt-card-pad)}
.tt-order__p .tt-addon{margin-top:var(--tt-space-s)}
.tt-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tt-opt{position:relative;text-align:left;padding:16px 14px 14px;border-radius:16px;box-shadow:var(--tt-line);transition:box-shadow .2s}
.tt-opt.tt-on{box-shadow:inset 0 0 0 2px var(--tt-select)}
.tt-opt b{display:block;font-weight:500;font-size:15px}.tt-opt small{color:var(--tt-g5);font-size:12px}
.tt-opt em{position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-style:normal;font-size:11px;font-weight:500;height:20px;padding:0 8px;border-radius:99px;background:#fff;box-shadow:var(--tt-line);display:flex;align-items:center;white-space:nowrap}
.tt-opt.tt-on em{background:var(--tt-select);color:#fff;box-shadow:none}
.tt-qrow{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid var(--tt-g8)}
.tt-qrow small{display:block;color:var(--tt-g5);font-size:13px}
.tt-step{display:flex;align-items:center;height:44px;border-radius:99px;box-shadow:var(--tt-line)}
.tt-step button{width:44px;height:44px;font-size:18px}.tt-step b{min-width:28px;text-align:center;font-weight:500}
.tt-lines{padding:16px 0;border-bottom:1px solid var(--tt-g8)}
.tt-lines div{display:flex;justify-content:space-between;padding:4px 0;font-size:15px}
.tt-lines .tt-save{color:#1F7A3A}
.tt-nudge{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0}
.tt-nudge .tt-chip.tt-ok{background:var(--tt-canvas);box-shadow:none}
.tt-nudge button.tt-chip{cursor:pointer}
.tt-tot{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0 18px}
.tt-tot span{font-weight:500}.tt-tot b{font-weight:500;font-size:34px;letter-spacing:-.04em}
.tt-ship{text-align:center;font-size:13px;color:var(--tt-g5);margin-top:12px}
@media (max-width:860px){.tt-order{grid-template-columns:1fr}.tt-order__img{position:relative;top:0;min-height:0;padding:var(--tt-space-m) var(--tt-space-m) var(--tt-space-l);border-radius:var(--tt-r);background:var(--tt-canvas);box-shadow:none;gap:var(--tt-space-l)}
	.tt-order__p{padding:var(--tt-space-xs) 0 0;box-shadow:none}
	.tt-opts{gap:10px}.tt-opt{padding:14px 12px 12px}.tt-opt__card{margin-bottom:12px}
	.tt-gift{grid-template-columns:auto 1fr;}.tt-gift__price{grid-column:2;justify-items:start;grid-auto-flow:column;justify-content:start;gap:8px;align-items:baseline}}/* site footer */


.tt-site-footer{padding:var(--tt-space-3xl) 0 var(--tt-space-xl)}
.tt-site-footer__top{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:var(--tt-space-2xl)}
.tt-site-footer__logo{display:inline-flex;color:var(--tt-ink)}
.tt-site-footer__logo svg{width:auto;height:22px}
.tt-site-footer__tagline{max-width:30ch;margin-top:var(--tt-space-s);color:var(--tt-g5);font-size:var(--tt-fs-small)}
.tt-site-footer__social{display:flex;gap:8px;margin:var(--tt-space-l) 0 0;padding:0;list-style:none}
.tt-site-footer__social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--tt-g8);color:var(--tt-ink);transition:background .2s,color .2s,box-shadow .2s}
.tt-site-footer__social a:hover{background:var(--tt-ink);color:#fff;box-shadow:none}
.tt-site-footer__social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}
.tt-site-footer__title{font-size:var(--tt-fs-small);font-weight:500;margin-bottom:var(--tt-space-s)}
.tt-site-footer__link{display:block;padding:4px 0;color:var(--tt-g5);font-size:var(--tt-fs-small);transition:color .2s}
.tt-site-footer__link:hover{color:var(--tt-ink)}
.tt-site-footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--tt-space-s) var(--tt-space-l);margin-top:var(--tt-space-3xl);padding-top:var(--tt-space-l);border-top:1px solid var(--tt-g8);font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-site-footer__legal{display:flex;flex-wrap:wrap;gap:var(--tt-space-xs) var(--tt-space-l)}
.tt-site-footer__legal a:hover{color:var(--tt-ink)}
.tt-site-footer__legal b{font-weight:500;color:var(--tt-ink)}
@media (max-width:860px){.tt-site-footer__top{grid-template-columns:1fr 1fr;gap:var(--tt-space-xl) var(--tt-space-l)}.tt-site-footer__brand{grid-column:1/-1}.tt-site-footer__bottom{flex-direction:column-reverse;align-items:flex-start}}/* shop */




.tt-li .tt-tcard,.tt-upsell .tt-tcard,.tt-menu__cards .tt-tcard{flex:none}
.tt-li .tt-tcard{width:84px}.tt-upsell .tt-tcard{width:64px}
.tt-nf .tt-tcard{width:min(320px,80%);margin:0 auto var(--tt-space-xl)}
.tt-nf .tt-tcard__face{box-shadow:inset 0 0 0 1px var(--tc-line),0 30px 50px -28px rgb(0 0 0 / .45)}/* ==========================================================================
   Shop page (Apple "Shop" grid + "Which one is right for you" compare)
   ========================================================================== */

.tt-shop{padding-top:calc(12px + var(--tt-header-h) + var(--tt-space-2xl))}
.tt-breadcrumb__list{display:flex;flex-wrap:wrap;gap:6px;font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-breadcrumb__list li+li::before{content:"/";margin-right:6px;color:var(--tt-g7)}
.tt-breadcrumb__list a:hover{color:var(--tt-ink)}
.tt-breadcrumb__list [aria-current]{color:var(--tt-ink)}
.tt-shop__head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--tt-space-l);margin:var(--tt-space-m) 0 var(--tt-head-gap)}
.tt-shop__help{display:grid;gap:var(--tt-space-s)}
.tt-shop__help-link{display:flex;align-items:center;gap:var(--tt-space-s);font-size:var(--tt-fs-small);color:var(--tt-g5)}
.tt-shop__help-link b{display:block;font-weight:500;color:var(--tt-ink)}
.tt-shop__help-link svg{flex:none;width:36px;height:36px;padding:9px;border-radius:50%;box-shadow:var(--tt-line);fill:none;stroke:var(--tt-ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:background .2s}
.tt-shop__help-link:hover svg{background:var(--tt-g9)}/* product tiles */


.tt-shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tt-grid-gap)}
.tt-product{position:relative;display:flex;flex-direction:column;padding:var(--tt-card-pad);border-radius:var(--tt-r);background:var(--tt-canvas);transition:background .3s}
.tt-product:hover{background:var(--tt-g9)}
.tt-product__link{position:absolute;inset:0;z-index:1;border-radius:inherit}
.tt-product__badge{align-self:flex-start;justify-self:start;width:max-content;height:24px;padding:0 10px;margin-bottom:var(--tt-space-s);border-radius:var(--tt-pill);background:#fff;font-size:12px;font-weight:500;line-height:24px;box-shadow:var(--tt-line)}
.tt-product__badge--empty{visibility:hidden}
.tt-product__name{font-size:var(--tt-fs-subtitle);font-weight:500;letter-spacing:-.025em;line-height:1.15}
.tt-product__desc{margin-top:6px;color:var(--tt-g4);font-size:15px;min-height:3em}
.tt-product__visual{display:grid;place-items:center;padding:var(--tt-space-2xl) var(--tt-space-xs)}
.tt-product__visual .tt-tcard{width:100%;max-width:340px;transition:transform .8s var(--tt-out)}
.tt-product__visual .tt-tcard__face{box-shadow:inset 0 0 0 1px var(--tc-line),0 30px 50px -28px rgb(0 0 0 / .45)}
.tt-product:hover .tt-product__visual .tt-tcard{transform:translateY(-6px)}
.tt-product__foot{display:flex;justify-content:space-between;align-items:center;gap:var(--tt-space-s)}
.tt-product__price{display:grid;font-size:20px;font-weight:500;letter-spacing:-.02em;line-height:1.15}
.tt-product__price small{font-size:12px;font-weight:400;color:var(--tt-g5);letter-spacing:0}
.tt-product__foot .tt-btn{position:relative;z-index:2;flex:none}
@media (max-width:860px){.tt-product__price small{max-width:15ch;line-height:1.3;margin-bottom:2px}.tt-product__foot{align-items:end}}
@media (max-width:860px){
	.tt-shop-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1 * var(--tt-gutter));padding-inline:var(--tt-gutter);scroll-padding-inline:var(--tt-gutter)}
	.tt-shop-grid::-webkit-scrollbar{display:none}
	.tt-product{scroll-snap-align:start}
}/* what every card includes */


.tt-perks{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--tt-grid-gap)}
.tt-perks__item{display:grid;gap:4px;justify-items:start;padding:var(--tt-card-pad);border:1px solid var(--tt-g8);border-radius:var(--tt-r-m);font-size:var(--tt-fs-small);color:var(--tt-g5)}
.tt-perks__item b{margin-top:var(--tt-space-s);font-size:16px;font-weight:500;color:var(--tt-ink)}
.tt-perks__item svg{width:22px;height:22px;fill:none;stroke:var(--tt-ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:860px){.tt-perks{grid-template-columns:1fr 1fr}}/* compare: product headers on top, one row per difference */


.tt-spec-table{border:1px solid var(--tt-g8);border-radius:var(--tt-r);overflow:hidden}
.tt-spec-table__table{width:100%;border-collapse:collapse;table-layout:fixed}
.tt-spec-table__table th,.tt-spec-table__table td{padding:18px var(--tt-space-l);border-bottom:1px solid var(--tt-g8);text-align:center;font-size:15px;vertical-align:middle}
.tt-spec-table__table tbody tr:last-child>*{border-bottom:0}
.tt-spec-table__table tbody th{text-align:left;font-weight:400;color:var(--tt-g4)}
.tt-spec-table__table tbody th small{display:block;font-size:12px;color:var(--tt-g5)}
.tt-spec-table__table thead th{padding:var(--tt-space-l) var(--tt-space-m);vertical-align:bottom}
.tt-spec-table__table thead td{width:28%}
.tt-spec-head{display:grid;justify-items:center;gap:4px}
.tt-spec-head .tt-tcard{width:min(150px,100%);margin-bottom:var(--tt-space-s)}
.tt-spec-head .tt-tcard__face{box-shadow:inset 0 0 0 1px var(--tc-line),0 16px 30px -18px rgb(0 0 0 / .45)}
.tt-spec-head__name{font-size:17px;font-weight:500}
.tt-spec-head__price{font-size:var(--tt-fs-small);font-weight:400;color:var(--tt-g5)}
.tt-spec-head .tt-btn{height:36px;padding:0 16px;margin-top:var(--tt-space-xs);font-size:13px}
@media (max-width:860px){/* Apple's mobile compare: label on its own line, the three values below it */
	
	.tt-spec-table__table,.tt-spec-table__table thead,.tt-spec-table__table tbody{display:block}
	.tt-spec-table__table tr{display:grid;grid-template-columns:repeat(3,1fr)}
	.tt-spec-table__table thead td{display:none}
	.tt-spec-table__table thead th{padding:var(--tt-space-m) 6px}
	.tt-spec-table__table tbody th{grid-column:1/-1;padding:14px var(--tt-space-m) 0;border-bottom:0;font-size:13px}
	.tt-spec-table__table tbody td{padding:6px 6px 14px;font-size:13px}
	.tt-spec-head__name{font-size:15px}
	.tt-spec-head .tt-btn{padding:0 12px}
}/* compare on phones (Revolut "Select plan" + the live shop): tabs, one card, its feature list */



.tt-spec-picker{display:none}
@media (max-width:860px){
	.tt-spec-table{display:none}
	.tt-spec-picker{display:grid;gap:var(--tt-space-m)}
	.tt-spec-picker .tt-segmented{justify-self:center}
	.tt-spec-picker__panel{display:grid;gap:var(--tt-space-m)}/* card and spec list are both in the panel: same gap as tabs → panel */ 
	.tt-spec-picker__card{display:grid;justify-items:center;gap:4px;padding:var(--tt-space-xl) var(--tt-space-l) var(--tt-space-l);border-radius:var(--tt-r);background:var(--tt-canvas);touch-action:pan-y}
	.tt-spec-picker__card .tt-tcard{width:min(260px,80%);margin-bottom:var(--tt-space-m)}
	.tt-spec-picker__card .tt-tcard__face{box-shadow:inset 0 0 0 1px var(--tc-line),0 24px 40px -22px rgb(0 0 0 / .45)}
	.tt-spec-picker__name{font-size:22px;font-weight:500;letter-spacing:-.02em}
	.tt-spec-picker__price{color:var(--tt-g5)}
	.tt-spec-picker__card .tt-btn{margin-top:var(--tt-space-s)}
	.tt-spec-picker__dots{display:flex;gap:6px;margin-top:var(--tt-space-m)}
	.tt-spec-picker__dots i{width:6px;height:6px;border-radius:var(--tt-pill);background:var(--tt-g7);transition:width .3s,background .3s}
	.tt-spec-picker__dots i.tt-is-on{width:18px;background:var(--tt-ink)}
	.tt-spec-list{border:1px solid var(--tt-g8);border-radius:var(--tt-r-m);overflow:hidden}
	.tt-spec-list__row{display:grid;grid-template-columns:20px minmax(0,1fr) minmax(0,max-content);align-items:center;gap:var(--tt-space-s);padding:14px var(--tt-space-m);border-bottom:1px solid var(--tt-g8);font-size:15px}
	.tt-spec-list__row:last-child{border-bottom:0}
	.tt-spec-list__row svg{width:18px;height:18px;fill:none;stroke:var(--tt-g5);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
	.tt-spec-list__label small{display:block;font-size:12px;color:var(--tt-g5)}
	.tt-spec-list__value{justify-self:end;max-width:150px;text-align:right;font-weight:500;line-height:1.3}
	.tt-spec-list__value .tt-compare__no{font-weight:400}
	.tt-spec-list__row--off{color:var(--tt-g5)}
}/* packs */


.tt-packs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tt-grid-gap)}
.tt-pack{position:relative;display:flex;flex-direction:column;gap:6px;padding:var(--tt-card-pad);border:1px solid var(--tt-g8);border-radius:var(--tt-r)}
.tt-pack__off{font-size:clamp(30px,3vw,40px);font-weight:500;letter-spacing:-.04em;line-height:1;margin-bottom:var(--tt-space-l)}
.tt-pack__title{font-size:18px;font-weight:500}
.tt-pack__text{flex:1;color:var(--tt-g4);font-size:15px}
.tt-pack__link{margin-top:var(--tt-space-m);font-size:var(--tt-fs-small);font-weight:500}
.tt-pack__link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.tt-pack--team{background:var(--tt-ink);color:#fff;border-color:var(--tt-ink)}
.tt-pack--team .tt-pack__text{color:rgb(255 255 255 / .7)}
@media (max-width:860px){.tt-packs{grid-template-columns:1fr}}/* ==========================================================================
   Cart page: progress to the next discount, add-ons inside each line, upgrade + complete-your-order,
   sticky summary (Instacart / Faire / HelloFresh / Zoom / DoorDash patterns)
   ========================================================================== */


.tt-cart{padding:calc(12px + var(--tt-header-h) + var(--tt-space-2xl)) 0 var(--tt-section-y)}
.tt-cart__steps{display:flex;flex-wrap:wrap;gap:6px;font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-cart__steps li{display:flex;align-items:center;gap:6px}
.tt-cart__steps li+li::before{content:"›";color:var(--tt-g7)}
.tt-cart__steps [aria-current]{color:var(--tt-ink);font-weight:500}
.tt-cart__head{display:flex;align-items:baseline;gap:var(--tt-space-s);margin:var(--tt-space-m) 0 var(--tt-space-xl)}
.tt-cart__count{font-size:var(--tt-fs-lead);color:var(--tt-g5)}
.tt-cart__grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--tt-space-xl);align-items:start}
.tt-cart__main{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--tt-grid-gap);min-width:0}
.tt-cart__grid>*{min-width:0}
.tt-cart-sum[hidden]{display:none}/* progress to the next team tier */


.tt-cart-progress{padding:var(--tt-space-l);border-radius:var(--tt-r-m);background:var(--tt-canvas)}
.tt-cart-progress__text{display:flex;justify-content:space-between;gap:var(--tt-space-s);font-size:15px}
.tt-cart-progress__text b{font-weight:500}
.tt-cart-progress__text span{color:var(--tt-g5);white-space:nowrap}
.tt-cart-progress__bar{position:relative;height:6px;margin-top:var(--tt-space-s);border-radius:var(--tt-pill);background:#fff;box-shadow:var(--tt-line);overflow:hidden}
.tt-cart-progress__fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--tt-ink);transition:width .6s var(--tt-out)}
.tt-cart-progress__ticks{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;color:var(--tt-g5);font-variant-numeric:tabular-nums}
.tt-cart-progress__ticks .tt-is-on{color:var(--tt-ink);font-weight:500}/* line items */


.tt-cart-items{border:1px solid var(--tt-g8);border-radius:var(--tt-r);overflow:hidden}
.tt-cart-item{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:var(--tt-space-l);padding:var(--tt-space-l);border-bottom:1px solid var(--tt-g8)}
.tt-cart-item:last-child{border-bottom:0}
.tt-cart-item__card .tt-tcard__face{box-shadow:inset 0 0 0 1px var(--tc-line),0 12px 24px -14px rgb(0 0 0 / .4)}
.tt-cart-item__body{display:grid;gap:4px;align-content:start}
.tt-cart-item__name{font-size:18px;font-weight:500;letter-spacing:-.02em}
.tt-cart-item__meta{font-size:var(--tt-fs-small);color:var(--tt-g5)}
.tt-cart-item__gift{display:inline-flex;align-items:center;gap:6px;justify-self:start;margin-top:4px;height:24px;padding:0 10px;border-radius:var(--tt-pill);background:var(--tt-canvas);font-size:12px;font-weight:500}
.tt-cart-item__gift s{font-weight:400;color:var(--tt-g5)}
.tt-cart-item__actions{display:flex;align-items:center;gap:var(--tt-space-m);margin-top:var(--tt-space-s)}
.tt-cart-item__remove{font-size:var(--tt-fs-micro);color:var(--tt-g5);text-decoration:underline;text-underline-offset:3px}
.tt-cart-item__remove:hover{color:var(--tt-ink)}
.tt-cart-item__price{display:grid;justify-items:end;align-content:start;gap:2px;text-align:right;font-variant-numeric:tabular-nums}
.tt-cart-item__price b{font-size:18px;font-weight:500}
.tt-cart-item__price s,.tt-cart-item__price small{font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-stepper{display:inline-flex;align-items:center;height:38px;border-radius:var(--tt-pill);box-shadow:var(--tt-line)}
.tt-stepper button{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:18px;transition:background .2s}
.tt-stepper button:hover{background:var(--tt-g9)}
.tt-stepper output{min-width:24px;text-align:center;font-weight:500;font-variant-numeric:tabular-nums}
.tt-stepper button:disabled{opacity:.3;cursor:not-allowed;background:none}/* add-on row inside the line (spare card) */

.tt-addon{border:1px dashed var(--tt-g7);border-radius:var(--tt-r-s);font-size:var(--tt-fs-small);transition:background .2s,border-color .2s}
.tt-cart-item .tt-addon{grid-column:2/-1}
.tt-addon__row{display:flex;align-items:center;gap:var(--tt-space-s);width:100%;padding:12px var(--tt-space-m);border-radius:inherit;text-align:left}
button.tt-addon__row:hover{background:var(--tt-canvas)}
.tt-addon .tt-stepper{flex:none;height:34px;background:#fff}
.tt-addon__row:has(.tt-stepper){flex-wrap:wrap}
.tt-addon__row:has(.tt-stepper) .tt-addon__text{flex:1 1 180px}
.tt-addon__row:has(.tt-stepper) .tt-stepper{margin-left:auto}
.tt-addon .tt-stepper button{width:34px;height:34px}
.tt-addon__icon{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--tt-ink);font-size:14px;line-height:1}
.tt-addon__text{flex:1}
.tt-addon__text small{display:block;color:var(--tt-g5);font-size:12px}
.tt-addon__price{font-weight:500;white-space:nowrap}
.tt-addon--on{border-style:solid;border-color:var(--tt-ink);background:var(--tt-canvas)}
.tt-addon--on .tt-addon__icon{background:var(--tt-ink);color:#fff;box-shadow:none}/* upgrade + complete your order */


.tt-cart-upgrade{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:var(--tt-space-l);padding:var(--tt-space-l);border-radius:var(--tt-r);background:var(--tt-ink);color:#fff}
.tt-cart-upgrade b{display:block;font-size:18px;font-weight:500;letter-spacing:-.02em}
.tt-cart-upgrade p{color:rgb(255 255 255 / .7);font-size:var(--tt-fs-small)}
.tt-cart-more{margin-top:var(--tt-space-l)}
.tt-cart-more__title{margin-bottom:var(--tt-space-s);font-size:18px;font-weight:500}
.tt-cart-more__list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tt-grid-gap)}
.tt-cart-tile{display:grid;gap:var(--tt-space-s);padding:var(--tt-space-m);border-radius:var(--tt-r-m);background:var(--tt-canvas)}
.tt-cart-tile__row{display:flex;justify-content:space-between;align-items:center;gap:var(--tt-space-xs);font-size:var(--tt-fs-small)}
.tt-cart-tile__row b{display:block;font-size:15px;font-weight:500}
.tt-cart-tile__add{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--tt-ink);color:#fff;font-size:18px;transition:transform .2s}
.tt-cart-tile__add:hover{transform:scale(1.06)}
.tt-cart-tile--team{align-content:space-between;background:#fff;box-shadow:var(--tt-line)}
.tt-cart-tile--team a{font-size:var(--tt-fs-small);font-weight:500}/* summary */


.tt-cart-sum{position:sticky;top:calc(12px + var(--tt-header-h) + var(--tt-space-m));display:grid;gap:var(--tt-space-m);padding:var(--tt-card-pad);border-radius:var(--tt-r);background:var(--tt-canvas)}
.tt-cart-sum__title{font-size:18px;font-weight:500}
.tt-cart-sum__rows{display:grid;gap:8px;font-size:15px}
.tt-cart-sum__row{display:flex;justify-content:space-between;gap:var(--tt-space-s)}
.tt-cart-sum__row s{color:var(--tt-g5);margin-right:4px}
.tt-cart-sum__row--save{color:#1F7A3A}
.tt-cart-sum__total{display:flex;justify-content:space-between;align-items:baseline;padding-top:var(--tt-space-m);border-top:1px solid var(--tt-g8)}
.tt-cart-sum__total b{font-size:30px;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.tt-cart-sum__saved{margin-top:-8px;font-size:var(--tt-fs-micro);color:#1F7A3A;text-align:right}
.tt-cart-sum__pay{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.tt-cart-sum__trust{display:grid;gap:8px;padding-top:var(--tt-space-m);border-top:1px solid var(--tt-g8);font-size:var(--tt-fs-micro);color:var(--tt-g4)}
.tt-cart-sum__trust li{display:flex;gap:8px}
.tt-cart-sum__trust svg{flex:none;width:16px;height:16px;fill:none;stroke:var(--tt-ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}/* empty *//* empty bag (page): every card one tap away, then the perks (shop/empty-cart-prototypes.html, option A) */



.tt-cart-empty{display:grid;gap:var(--tt-space-l)}
.tt-cart-empty__head{display:flex;justify-content:space-between;align-items:end;gap:var(--tt-space-l);flex-wrap:wrap}
.tt-cart-empty__head p{margin-top:var(--tt-space-2xs);color:var(--tt-g4)}
.tt-cart-empty__head a,.tt-bag-team a{font-size:var(--tt-fs-small);font-weight:500;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.tt-cart-empty__tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tt-grid-gap)}
.tt-cart-empty__tile{display:grid;gap:var(--tt-space-s);width:100%;padding:var(--tt-space-l);border-radius:var(--tt-r-m);background:var(--tt-canvas);text-align:left;cursor:pointer;transition:background .2s,box-shadow .2s}
.tt-cart-empty__tile:hover{background:var(--tt-g9)}
.tt-cart-empty__tile:active{box-shadow:inset 0 0 0 2px var(--tt-ink)}
.tt-cart-empty__tile:focus-visible{outline:2px solid var(--tt-select);outline-offset:2px}
.tt-cart-empty__tile .tt-tcard{width:78%;margin:var(--tt-space-2xs) auto}
.tt-cart-empty__badge{justify-self:start;min-height:22px;padding:2px 10px;border-radius:var(--tt-pill);background:var(--tt-ink);color:#fff;font-size:12px;font-weight:500;line-height:18px}
.tt-cart-empty__badge:empty{visibility:hidden}
.tt-cart-empty__row{display:flex;justify-content:space-between;align-items:end;gap:var(--tt-space-s)}
.tt-cart-empty__row b{display:block;font-size:17px;font-weight:500}
.tt-cart-empty__row>span:first-child{color:var(--tt-g4);font-size:var(--tt-fs-small)}
.tt-cart-empty__row b{color:var(--tt-ink)}
.tt-cart-empty__row .tt-btn{height:40px;padding:0 16px;font-size:var(--tt-fs-small)}
.tt-cart-empty__perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tt-grid-gap);list-style:none}
.tt-cart-empty__perks li{display:flex;align-items:center;gap:var(--tt-space-s);padding:var(--tt-space-m) var(--tt-space-l);border-radius:var(--tt-r-m);box-shadow:var(--tt-line);font-size:var(--tt-fs-small)}
.tt-cart-empty__perks svg,.tt-bag-perks svg{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.tt-cart-empty__perks a{margin-left:auto;font-weight:500;text-decoration:underline;text-underline-offset:3px}/* empty bag (drawer): quick-add rows, perks, team hint in the footer instead of a 0 Ft summary */

.tt-bag-empty__lead{font-size:24px;font-weight:500;letter-spacing:-.035em;line-height:1.15}
.tt-bag-empty__sub{margin-top:6px;color:var(--tt-g4);font-size:var(--tt-fs-small)}
.tt-bag-empty__list{display:grid;gap:10px;margin-top:var(--tt-space-l)}
.tt-bag-pick{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;padding:12px;border-radius:var(--tt-r-m);box-shadow:var(--tt-line);text-align:left;cursor:pointer;transition:box-shadow .2s,background .2s}
.tt-bag-pick:hover{background:var(--tt-canvas)}
.tt-bag-pick:active{box-shadow:inset 0 0 0 2px var(--tt-ink)}
.tt-bag-pick:focus-visible{outline:2px solid var(--tt-select);outline-offset:2px}
.tt-bag-pick__text{display:block;min-width:0}
.tt-bag-pick .tt-tcard{width:88px}
.tt-bag-pick b{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:500}
.tt-bag-pick small{display:block;color:var(--tt-g4);font-size:12px;line-height:1.35}
.tt-bag-pick strong{display:block;margin-top:4px;font-size:var(--tt-fs-small);font-weight:500}
.tt-bag-pick__badge{padding:1px 8px;border-radius:var(--tt-pill);background:var(--tt-ink);color:#fff;font-size:11px;font-weight:500}
.tt-bag-pick__add{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--tt-ink);color:#fff;font-size:22px;line-height:1;transition:transform .2s var(--tt-out)}
.tt-bag-pick:hover .tt-bag-pick__add{transform:scale(1.06)}
.tt-bag-perks{display:grid;gap:10px;margin-top:var(--tt-space-m);padding:var(--tt-space-m);border-radius:var(--tt-r-s);background:var(--tt-canvas);font-size:13px;list-style:none}
.tt-bag-perks li{display:flex;align-items:center;gap:10px}
.tt-bag-perks svg{width:18px;height:18px}
.tt-bag-perks s{color:var(--tt-g5)}
.tt-bag-empty .tt-drawer__link{margin:var(--tt-space-m) 0 var(--tt-space-xs)}
.tt-bag-team{display:flex;justify-content:space-between;align-items:center;gap:var(--tt-space-s);padding:14px 16px;border-radius:var(--tt-r-s);box-shadow:var(--tt-line);font-size:13px;color:var(--tt-g4)}
.tt-bag-team b{display:block;color:var(--tt-ink);font-size:var(--tt-fs-small);font-weight:500}
.tt-drawer--empty .tt-drawer__f>.tt-btn,.tt-drawer--empty .tt-drawer__f>.tt-drawer__link{display:none}/* mobile: summary below, a fixed total + checkout bar */


.tt-cart-bar{display:none}
@media (max-width:860px){
	.tt-cart__grid{grid-template-columns:1fr}
	.tt-cart-item{grid-template-columns:84px minmax(0,1fr);gap:var(--tt-space-m);padding:var(--tt-space-m)}
	.tt-cart-item .tt-addon{grid-column:1/-1}
	.tt-cart-empty__tiles,.tt-cart-empty__perks{grid-template-columns:1fr}
	.tt-cart-empty__tile{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:var(--tt-space-xs) var(--tt-space-m);padding:var(--tt-space-s) var(--tt-space-m) var(--tt-space-s) var(--tt-space-s)}
	.tt-cart-empty__tile .tt-tcard{grid-row:1/3;grid-column:1;width:96px;margin:0}
	.tt-cart-empty__badge{grid-column:2;align-self:end}
	.tt-cart-empty__badge:empty{display:none}
	.tt-cart-empty__row{grid-column:2;align-items:center}
	.tt-cart-item__price{grid-column:2;justify-items:start;text-align:left}
	.tt-addon{grid-column:1/-1}
	.tt-cart-upgrade{grid-template-columns:84px 1fr;padding:var(--tt-space-m)}
	.tt-cart-upgrade .tt-btn{grid-column:1/-1}
	.tt-cart-more__list{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:62%;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--tt-gutter));padding-inline:var(--tt-gutter)}
	.tt-cart-sum{position:static}
	.tt-cart-bar.tt-is-on{display:flex}
	.tt-cart-bar{position:fixed;left:var(--tt-bleed);right:var(--tt-bleed);bottom:var(--tt-bleed);z-index:40;align-items:center;justify-content:space-between;gap:var(--tt-space-s);padding:10px 10px 10px var(--tt-space-l);border-radius:var(--tt-pill);background:rgb(255 255 255 / .9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px rgb(0 0 0 / .06),0 12px 30px -12px rgb(0 0 0 / .3)}
	.tt-cart-bar__total{display:grid;line-height:1.15}
	.tt-cart-bar__total small{font-size:12px;color:var(--tt-g5)}
	.tt-cart-bar__total b{font-size:18px;font-weight:500}
	.tt-cart{padding-bottom:calc(var(--tt-section-y) + 60px)}
}/* ==========================================================================
   Checkout: one page, numbered steps, inline validation, summary that follows you
   (Shopify Shop / GetYourGuide / Laravel Cloud / Unity patterns)
   ========================================================================== */


html[data-route="checkout"] .tt-site-header__nav{visibility:hidden}/* fewer exits while paying */  
.tt-checkout{padding:calc(12px + var(--tt-header-h) + var(--tt-space-2xl)) 0 var(--tt-section-y)}
.tt-cart__steps a{text-decoration:underline;text-underline-offset:3px}
.tt-checkout__head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--tt-space-s);margin:var(--tt-space-m) 0 var(--tt-space-xl)}
.tt-checkout__secure{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--tt-pill);background:var(--tt-canvas);font-size:var(--tt-fs-micro);font-weight:500}
.tt-checkout__secure svg,.tt-co-submit svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tt-checkout__grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--tt-space-2xl);align-items:start}
.tt-checkout__form{display:grid;gap:var(--tt-space-xl);min-width:0}/* steps */



.tt-co-step{display:grid;gap:var(--tt-space-m);min-width:0;padding:0;border:0}
.tt-co-step__title{display:flex;align-items:center;gap:10px;margin-bottom:var(--tt-space-m);font-size:20px;font-weight:500;letter-spacing:-.02em}
.tt-co-step__title i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--tt-ink);color:#fff;font-size:12px;font-style:normal;font-weight:600}
.tt-co-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--tt-space-s)}
.tt-co-fields[hidden]{display:none}
.tt-co-field{position:relative;display:grid;gap:6px;min-width:0}
.tt-co-field--full{grid-column:1/-1}
.tt-co-field>span{font-size:var(--tt-fs-micro);font-weight:500}
.tt-co-field small{font-size:12px;color:var(--tt-g5)}
.tt-co-field input{width:100%;height:50px;padding:0 44px 0 16px;border:0;border-radius:var(--tt-r-s);background:#fff;box-shadow:inset 0 0 0 1px var(--tt-g7);outline:0;font-size:16px;transition:box-shadow .2s}
.tt-co-field input::placeholder{color:var(--tt-g7)}
.tt-co-field input:focus{box-shadow:inset 0 0 0 2px var(--tt-select)}/* inline validation: a quiet tick when a field is right, red only after the person has typed */

.tt-co-field::after{content:"";position:absolute;right:16px;top:calc(var(--tt-fs-micro) * 1.5 + 6px + 17px);width:16px;height:16px;border-radius:50%;background:#1F7A3A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat;opacity:0;transform:scale(.6);transition:opacity .2s,transform .3s var(--tt-out);pointer-events:none}
.tt-co-field:has(input:user-valid:not(:placeholder-shown))::after,.tt-co-field:has(input:user-valid[value]:not([value=""]))::after{opacity:1;transform:none}
.tt-co-field input:user-invalid{box-shadow:inset 0 0 0 1.5px #C4320A}
.tt-co-field:has(input:user-invalid) small{color:#C4320A}
.tt-co-check{display:flex;align-items:flex-start;gap:10px;font-size:var(--tt-fs-small);color:var(--tt-g4);cursor:pointer}
.tt-co-check input{flex:none;width:18px;height:18px;margin-top:2px;accent-color:var(--tt-ink)}
.tt-co-bill{justify-self:start}/* option cards (shipping, payment) */


.tt-co-pay{display:grid;gap:var(--tt-space-xs)}
.tt-co-option{display:flex;align-items:center;gap:var(--tt-space-s);width:100%;padding:16px var(--tt-space-m);border-radius:var(--tt-r-s);box-shadow:inset 0 0 0 1px var(--tt-g7);text-align:left;transition:box-shadow .2s,background .2s}
.tt-co-option--on{box-shadow:inset 0 0 0 2px var(--tt-select);background:rgb(0 113 227 / .03)}
.tt-co-option__radio{flex:none;width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--tt-g7)}
.tt-co-option--on .tt-co-option__radio{box-shadow:inset 0 0 0 5px var(--tt-select)}
.tt-co-option__text{display:grid;flex:1;line-height:1.3}
.tt-co-option__text b{font-weight:500}
.tt-co-option__text small{font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-co-option__price{font-weight:500}
.tt-co-option__brands{display:flex;gap:4px}
.tt-co-option__brands i{height:22px;padding:0 6px;border-radius:5px;background:#fff;box-shadow:var(--tt-line);font-size:10px;font-style:normal;font-weight:700;line-height:22px}

.tt-co-submit{gap:8px;height:58px;font-size:17px}
.tt-co-legal{margin-top:calc(-1 * var(--tt-space-m));font-size:12px;color:var(--tt-g5);text-align:center}
.tt-co-legal a{text-decoration:underline}
.tt-co-next{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tt-space-xs);padding:var(--tt-space-m);border-radius:var(--tt-r-m);background:var(--tt-canvas)}
.tt-co-next li{display:flex;gap:10px;font-size:12px;color:var(--tt-g5);line-height:1.4}
.tt-co-next b{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:var(--tt-line);color:var(--tt-ink);font-size:11px}
.tt-co-next strong{display:block;font-size:13px;font-weight:500;color:var(--tt-ink)}/* summary */


.tt-co-sum{position:sticky;top:calc(12px + var(--tt-header-h) + var(--tt-space-m));display:grid;gap:var(--tt-space-m);padding:var(--tt-card-pad);border-radius:var(--tt-r);background:var(--tt-canvas)}
.tt-co-sum__head{display:flex;justify-content:space-between;align-items:baseline}
.tt-co-sum__head h2{font-size:18px;font-weight:500}
.tt-co-sum__head a{font-size:var(--tt-fs-micro);text-decoration:underline;text-underline-offset:3px;color:var(--tt-g4)}
.tt-co-sum__items{display:grid;gap:var(--tt-space-s)}
.tt-co-line{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:var(--tt-space-s);font-size:var(--tt-fs-small)}
.tt-co-line .tt-tcard__face{box-shadow:inset 0 0 0 1px var(--tc-line),0 8px 16px -10px rgb(0 0 0 / .4)}
.tt-co-line__thumb{position:relative}
.tt-co-line__qty{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--tt-pill);background:var(--tt-g4);color:#fff;font-size:11px;font-weight:600}
.tt-co-line b{display:block;font-weight:500}
.tt-co-line small{color:var(--tt-g5);font-size:12px}
.tt-co-sum .tt-cart-sum__rows{padding-top:var(--tt-space-m);border-top:1px solid var(--tt-g8)}
.tt-co-sum__trust{display:grid;gap:8px;padding-top:var(--tt-space-m);border-top:1px solid var(--tt-g8);font-size:var(--tt-fs-micro);color:var(--tt-g4)}
.tt-co-sum__trust li{display:flex;gap:8px}
.tt-co-sum__trust svg{flex:none;width:16px;height:16px;fill:none;stroke:var(--tt-ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tt-co-sum__quote{padding:var(--tt-space-m);border-radius:var(--tt-r-s);background:#fff;font-size:var(--tt-fs-small);line-height:1.45}
.tt-co-sum__quote small{display:block;margin-top:6px;color:var(--tt-g5);font-size:12px}/* phone: summary folds above the form */


.tt-co-mini{display:none}
@media (max-width:860px){
	.tt-checkout__grid{grid-template-columns:1fr}
	.tt-co-sum{display:none}
	.tt-co-mini{display:block;margin-bottom:var(--tt-space-l);border-radius:var(--tt-r-m);background:var(--tt-canvas)}
	.tt-co-mini__bar{display:flex;justify-content:space-between;align-items:center;padding:16px var(--tt-space-m);list-style:none;cursor:pointer;font-size:15px;font-weight:500}
	.tt-co-mini__bar::-webkit-details-marker{display:none}
	.tt-co-mini__bar span::after{content:" ▾";color:var(--tt-g5)}
	.tt-co-mini[open] .tt-co-mini__bar span::after{content:" ▴"}
	.tt-co-mini__body{display:grid;gap:var(--tt-space-m);padding:0 var(--tt-space-m) var(--tt-space-m)}
	.tt-co-fields{grid-template-columns:1fr}
	.tt-co-next{grid-template-columns:1fr}
}/* ==========================================================================
   Help / contact: self-service first (search + topics + answers), then a smart form
   (DoorDash topics · Savee suggestions while typing · Teachable/Loops contact cards · Supabase form)
   ========================================================================== */


.tt-help{padding:calc(12px + var(--tt-header-h) + var(--tt-space-2xl)) 0 var(--tt-section-y)}
.tt-help__head{position:relative;display:grid;gap:var(--tt-space-s);justify-items:start;margin-bottom:var(--tt-head-gap)}
.tt-help-search{display:flex;align-items:center;gap:var(--tt-space-s);width:min(640px,100%);height:60px;margin-top:var(--tt-space-m);padding:0 var(--tt-space-l);border-radius:var(--tt-pill);background:var(--tt-canvas);transition:box-shadow .2s}
.tt-help-search:focus-within{box-shadow:inset 0 0 0 2px var(--tt-select);background:#fff}
.tt-help-search svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--tt-g5);stroke-width:1.8;stroke-linecap:round}
.tt-help-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:none;font-size:17px}
.tt-help-results{width:min(640px,100%);border-radius:var(--tt-r-m);background:#fff;box-shadow:var(--tt-line),0 20px 40px -24px rgb(0 0 0 / .25);overflow:hidden}
.tt-help-results[hidden]{display:none}
.tt-help-results__item{display:block;width:100%;padding:14px var(--tt-space-l);border-bottom:1px solid var(--tt-g8);text-align:left}
.tt-help-results__item:last-child{border-bottom:0}
.tt-help-results__item:hover{background:var(--tt-canvas)}
.tt-help-results__item b{display:block;font-weight:500}
.tt-help-results__item small{color:var(--tt-g5);font-size:var(--tt-fs-micro)}
.tt-help-results__empty{padding:14px var(--tt-space-l);color:var(--tt-g5);font-size:var(--tt-fs-small)}/* topics */


.tt-help-topics__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tt-grid-gap)}
.tt-help-topic{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--tt-space-s) var(--tt-space-m);padding:var(--tt-space-l);border-radius:var(--tt-r-m);background:var(--tt-canvas);text-align:left;box-shadow:inset 0 0 0 0 var(--tt-select);transition:box-shadow .2s,background .2s}
.tt-help-topic:hover{background:var(--tt-g9)}
.tt-help-topic svg{grid-row:span 2;width:40px;height:40px;padding:10px;border-radius:50%;background:#fff;fill:none;stroke:var(--tt-ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tt-help-topic b{font-weight:500}
.tt-help-topic small{font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-help-topic[aria-selected="true"]{background:#fff;box-shadow:inset 0 0 0 2px var(--tt-select)}
.tt-help-answers{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--tt-space-xl);align-items:start;margin-top:var(--tt-space-xl)}
.tt-help-answers .tt-faq{margin:0}
.tt-help-steps{padding:var(--tt-card-pad);border-radius:var(--tt-r-m);background:var(--tt-ink);color:#fff}
.tt-help-steps b{display:block;margin-bottom:var(--tt-space-m);font-weight:500}
.tt-help-steps ol{display:grid;gap:var(--tt-space-s);counter-reset:s}
.tt-help-steps li{display:flex;gap:10px;font-size:var(--tt-fs-small);color:rgb(255 255 255 / .8);counter-increment:s}
.tt-help-steps li::before{content:counter(s);display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:rgb(255 255 255 / .14);color:#fff;font-size:11px;font-weight:600}
.tt-help-answers__more{display:flex;align-items:center;justify-content:space-between;gap:var(--tt-space-s);grid-column:1;padding:var(--tt-space-m) var(--tt-space-l);border-radius:var(--tt-r-m);box-shadow:var(--tt-line);font-size:var(--tt-fs-small)}
.tt-help-answers__more a{font-weight:500;white-space:nowrap}/* contact */


.tt-help-contact{margin-top:var(--tt-section-y)}
.tt-help-contact__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--tt-space-2xl);align-items:start}
.tt-help-form{display:grid;gap:var(--tt-space-l)}
.tt-help-form__topic{border:0;padding:0;min-width:0}
.tt-help-form__topic legend{margin-bottom:var(--tt-space-s);font-size:var(--tt-fs-micro);font-weight:500}
.tt-help-chips{display:flex;flex-wrap:wrap;gap:var(--tt-space-xs)}
.tt-help-chip{height:38px;padding:0 var(--tt-space-m);border-radius:var(--tt-pill);box-shadow:inset 0 0 0 1px var(--tt-g7);font-size:var(--tt-fs-small);font-weight:500;transition:box-shadow .2s,background .2s,color .2s}
.tt-help-chip[aria-checked="true"]{background:var(--tt-ink);color:#fff;box-shadow:none}
.tt-hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}/* spam trap: people never fill it in */ 
.tt-form-error{margin-top:var(--tt-space-s);color:#B42318;font-size:var(--tt-fs-small)}
.tt-co-field em{font-style:normal;font-weight:400;color:var(--tt-g5)}
.tt-co-field textarea{width:100%;padding:14px 16px;border:0;border-radius:var(--tt-r-s);box-shadow:inset 0 0 0 1px var(--tt-g7);outline:0;font-size:16px;resize:vertical;min-height:130px}
.tt-co-field textarea:focus{box-shadow:inset 0 0 0 2px var(--tt-select)}
.tt-help-form__msg::after{display:none}
.tt-help-suggest{padding:var(--tt-space-m) var(--tt-space-l);border-radius:var(--tt-r-m);background:rgb(0 113 227 / .05);box-shadow:inset 0 0 0 1px rgb(0 113 227 / .2)}
.tt-help-suggest[hidden]{display:none}
.tt-help-suggest p{margin-bottom:var(--tt-space-xs);font-size:var(--tt-fs-micro);font-weight:500;color:var(--tt-select)}
.tt-help-suggest details+details{border-top:1px solid rgb(0 113 227 / .15)}
.tt-help-suggest summary{padding:10px 0;cursor:pointer;font-size:var(--tt-fs-small);font-weight:500;list-style:none}
.tt-help-suggest summary::-webkit-details-marker{display:none}
.tt-help-suggest details p{margin:0 0 10px;color:var(--tt-g4);font-weight:400;font-size:var(--tt-fs-small)}
.tt-help-form__send{justify-self:start}
.tt-help-sent{display:flex;gap:var(--tt-space-s);align-items:flex-start;padding:var(--tt-space-l);border-radius:var(--tt-r-m);background:var(--tt-canvas)}
.tt-help-sent[hidden]{display:none}
.tt-help-sent svg{flex:none;width:28px;height:28px;padding:6px;border-radius:50%;background:#1F7A3A;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tt-help-sent b{font-weight:500}
.tt-help-sent p{color:var(--tt-g4);font-size:var(--tt-fs-small)}
.tt-help-ways{display:grid;gap:var(--tt-space-xs)}
.tt-help-way{display:flex;align-items:center;gap:var(--tt-space-m);padding:var(--tt-space-m) var(--tt-space-l);border-radius:var(--tt-r-m);box-shadow:var(--tt-line);font-size:var(--tt-fs-small);color:var(--tt-g5);transition:background .2s}
.tt-help-way:hover{background:var(--tt-canvas)}
.tt-help-way b{display:block;font-weight:500;color:var(--tt-ink)}
.tt-help-way svg{flex:none;width:22px;height:22px;fill:none;stroke:var(--tt-ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tt-help-ways__note{margin-top:var(--tt-space-xs);padding:var(--tt-space-l);border-radius:var(--tt-r-m);background:var(--tt-canvas);font-size:var(--tt-fs-small);color:var(--tt-g4)}
.tt-help-ways__note b{display:block;margin-bottom:4px;color:var(--tt-ink);font-weight:600;letter-spacing:-.03em}

@media (max-width:860px){
	.tt-help-topics__grid{grid-template-columns:1fr 1fr}
	.tt-help-topic{grid-template-columns:1fr;padding:var(--tt-space-m)}
	.tt-help-topic svg{grid-row:auto}
	.tt-help-answers,.tt-help-contact__grid{grid-template-columns:1fr}
	.tt-help-search{height:54px}
	.tt-help-search input{font-size:16px}
}
.tt-help-answers--single{grid-template-columns:minmax(0,1fr)}/* ==========================================================================
   Business page: value → calculator → vs subscriptions → rollout → FAQ → quote
   (Duolingo/Framer calculator · MasterClass self-serve · Grammarly/Canva quote form · 1Password tiers)
   ========================================================================== */


.tt-biz-values{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--tt-grid-gap)}
.tt-biz-value{display:grid;align-content:start;gap:var(--tt-space-xs);padding:var(--tt-card-pad);border:1px solid var(--tt-g8);border-radius:var(--tt-r)}
.tt-biz-value__num{margin-bottom:var(--tt-space-l);font-size:var(--tt-fs-micro);font-weight:500;color:var(--tt-g5);font-variant-numeric:tabular-nums}
.tt-biz-value p{color:var(--tt-g4);font-size:15px}

.tt-team-calc{display:grid;grid-template-columns:1fr 1fr;gap:var(--tt-space-2xl);align-items:center;padding:var(--tt-panel-pad);border-radius:var(--tt-r);background:var(--tt-canvas)}
.tt-team-calc__intro{display:grid;gap:var(--tt-space-s);justify-items:start}
@media (max-width:600px){.tt-team-calc__actions .tt-btn{flex:1 1 100%}}
.tt-team-calc__ladder{display:grid;width:100%;margin-top:var(--tt-space-m);border-radius:var(--tt-r-m);background:#fff;box-shadow:var(--tt-line);overflow:hidden}
.tt-team-calc__ladder li{display:flex;justify-content:space-between;align-items:baseline;padding:14px var(--tt-space-l);border-bottom:1px solid var(--tt-g8);transition:background .3s,color .3s}
.tt-team-calc__ladder li:last-child{border-bottom:0}
.tt-team-calc__ladder span{color:var(--tt-g4);font-size:15px;transition:color .3s}
.tt-team-calc__ladder b{font-size:20px;font-weight:500;font-variant-numeric:tabular-nums}
.tt-team-calc__ladder li.tt-is-on{background:var(--tt-ink);color:#fff}
.tt-team-calc__ladder li.tt-is-on span{color:rgb(255 255 255 / .7)}
.tt-team-calc__box{display:grid;gap:var(--tt-space-m);padding:var(--tt-card-pad);border-radius:var(--tt-r);background:#fff;box-shadow:var(--tt-line),0 30px 60px -40px rgb(0 0 0 / .3)}
.tt-team-calc__row{display:flex;justify-content:space-between;align-items:baseline}
.tt-team-calc__row label{font-weight:500}
.tt-team-calc__count{font-size:40px;font-weight:500;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.tt-team-calc__box .tt-range{margin:0}
.tt-team-calc__finish{justify-self:start}
.tt-team-calc__lines{display:grid;gap:8px;padding-top:var(--tt-space-m);border-top:1px solid var(--tt-g8);font-size:15px}
.tt-team-calc__lines div{display:flex;justify-content:space-between}
.tt-team-calc__lines dt{color:var(--tt-g4)}
.tt-team-calc__lines s{color:var(--tt-g5);margin-right:4px}
.tt-team-calc__total{display:flex;justify-content:space-between;align-items:baseline;padding-top:var(--tt-space-m);border-top:1px solid var(--tt-g8)}
.tt-team-calc__total b{font-size:34px;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.tt-team-calc__note{min-height:1.5em;font-size:var(--tt-fs-micro);color:#1F7A3A}

.tt-rollout{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--tt-grid-gap);counter-reset:r}
.tt-rollout__step{position:relative;display:grid;align-content:start;gap:6px;padding-top:var(--tt-space-l)}
.tt-rollout__step::before{content:"";position:absolute;top:13px;left:36px;right:calc(-1 * var(--tt-grid-gap));height:1px;background:var(--tt-g8)}
.tt-rollout__step:last-child::before{display:none}
.tt-rollout__num{position:relative;display:grid;place-items:center;width:28px;height:28px;margin:calc(-1 * var(--tt-space-l)) 0 var(--tt-space-m);border-radius:50%;background:var(--tt-ink);color:#fff;font-size:12px;font-weight:600}
.tt-rollout__step h3{font-size:18px;font-weight:500;letter-spacing:-.02em}
.tt-rollout__step p{color:var(--tt-g4);font-size:15px}

.tt-quote{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--tt-space-2xl);align-items:start}
.tt-quote__intro{position:sticky;top:calc(12px + var(--tt-header-h) + var(--tt-space-xl));display:grid;gap:var(--tt-space-s);justify-items:start}
.tt-quote__list{display:grid;gap:var(--tt-space-s);margin-top:var(--tt-space-m)}
.tt-quote__list li{display:flex;gap:10px;align-items:baseline;font-size:var(--tt-fs-lead)}
.tt-quote__list li::before{content:"✓";display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--tt-ink);color:#fff;font-size:11px;transform:translateY(-2px)}
.tt-quote__small{margin-top:var(--tt-space-l);padding:var(--tt-space-m) var(--tt-space-l);border-radius:var(--tt-r-m);background:var(--tt-canvas);font-size:var(--tt-fs-small);color:var(--tt-g4)}
.tt-quote__small a{font-weight:500;color:var(--tt-ink);white-space:nowrap}
.tt-quote__form{display:grid;gap:var(--tt-space-l);padding:var(--tt-card-pad);border-radius:var(--tt-r);box-shadow:var(--tt-line)}

@media (max-width:1000px){.tt-biz-values{grid-template-columns:1fr 1fr}.tt-rollout{grid-template-columns:1fr 1fr;row-gap:var(--tt-space-xl)}.tt-rollout__step:nth-child(2)::before{display:none}}
@media (max-width:860px){
	.tt-team-calc,.tt-quote{grid-template-columns:1fr}
	.tt-team-calc{padding:var(--tt-space-xl) var(--tt-space-m)}
	.tt-quote__intro{position:static}
	.tt-biz-values,.tt-rollout{grid-template-columns:1fr}
	.tt-rollout__step::before{display:none}
}/* ==========================================================================
   Convert version additions (research: trust next to the CTA, risk reversal, value stack, sticky mobile CTA)
   ========================================================================== */



.tt-hero__proof{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;font-size:var(--tt-fs-micro);color:rgb(255 255 255 / .8)}
.tt-hero__proof i{width:3px;height:3px;border-radius:50%;background:rgb(255 255 255 / .5)}
.tt-hero__stars{letter-spacing:1px;color:#fff}
@media (max-width:600px){.tt-hero__proof{gap:4px 14px}.tt-hero__proof i{display:none}}/* no orphaned dots when the line wraps */ 
.tt-assure{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--tt-grid-gap);margin-top:var(--tt-grid-gap)}
.tt-assure__item{display:flex;gap:var(--tt-space-s);padding:var(--tt-space-l);border-radius:var(--tt-r-m);background:var(--tt-canvas);font-size:var(--tt-fs-micro);color:var(--tt-g4);line-height:1.45}
.tt-assure__item b{display:block;margin-bottom:2px;font-size:15px;font-weight:500;color:var(--tt-ink)}
.tt-assure__item svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--tt-ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tt-tot__value{margin:-10px 0 var(--tt-space-m);font-size:var(--tt-fs-micro);color:#1F7A3A;text-align:right}
.tt-tot__value b{font-weight:600}
@media (max-width:1000px){.tt-assure{grid-template-columns:1fr 1fr}}
@media (max-width:860px){
	.tt-assure{grid-template-columns:1fr}
}/* ==========================================================================
   Product page: live card preview + numbered configurator, price beside the button, sticky buy bar
   (Revolut card picker · Base44 · Square configure · Apple/Hers buy box)
   ========================================================================== */


.tt-pdp{padding-top:calc(12px + var(--tt-header-h) + var(--tt-space-2xl))}
.tt-pdp__top{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--tt-space-2xl);align-items:start;margin-top:var(--tt-space-m)}
.tt-pdp__stage{position:sticky;top:calc(12px + var(--tt-header-h) + var(--tt-space-m));display:grid;grid-template-rows:1fr auto;min-height:min(640px,calc(100svh - 120px));padding:var(--tt-panel-pad) var(--tt-panel-pad) var(--tt-space-l);border-radius:var(--tt-r);background:var(--tt-canvas)}
.tt-pdp__card{display:grid;place-items:center;perspective:1800px}
.tt-pdp__card .tt-tcard{width:min(440px,100%);transition:width .6s var(--tt-out)}
.tt-pdp__card .tt-tcard--portrait{width:min(270px,62%)}
.tt-pdp__card .tt-tcard__face{box-shadow:inset 0 0 0 1px var(--tc-line),0 50px 80px -40px rgb(0 0 0 / .5),0 14px 28px -18px rgb(0 0 0 / .25)}
.tt-pdp__stage-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--tt-space-s)}
.tt-pdp__stage-note{font-size:var(--tt-fs-micro);color:var(--tt-g5)}

.tt-pdp__buy{display:grid;gap:var(--tt-space-l)}
.tt-pdp__buy .tt-product__badge{margin:0}
.tt-pdp__title{margin-top:-12px;font-size:clamp(32px,3.4vw,44px);font-weight:500;letter-spacing:-.04em;line-height:1.05}
.tt-pdp__rating{margin-top:-14px;font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-pdp__rating span{color:var(--tt-ink);letter-spacing:1px}
.tt-pdp__desc{margin-top:-8px;color:var(--tt-g4);font-size:var(--tt-fs-lead)}
.tt-pdp__step{display:grid;gap:var(--tt-space-s);padding-top:var(--tt-space-l);border-top:1px solid var(--tt-g8)}
.tt-pdp__step-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:500}
.tt-pdp__step-title i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--tt-ink);color:#fff;font-size:11px;font-style:normal;font-weight:600}
.tt-pdp__step-title small{margin-left:auto;font-size:var(--tt-fs-micro);font-weight:400;color:var(--tt-g5)}/* choice tiles share one look: grey outline, blue when chosen */


.tt-pdp-finish{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tt-space-xs)}
.tt-pdp-opts{display:grid;gap:var(--tt-space-xs)}
.tt-pdp-opts--2{grid-template-columns:1fr 1fr}
.tt-pdp-opt{display:grid;justify-items:start;gap:4px;padding:var(--tt-space-s) var(--tt-space-m);border-radius:var(--tt-r-s);box-shadow:inset 0 0 0 1px var(--tt-g7);text-align:left;transition:box-shadow .2s,background .2s}
.tt-pdp-opt:hover{background:var(--tt-canvas)}
.tt-pdp-opt[aria-checked="true"]{box-shadow:inset 0 0 0 2px var(--tt-select);background:rgb(0 113 227 / .03)}
.tt-pdp-opt b{font-weight:500;font-size:15px}
.tt-pdp-opt small{font-size:12px;color:var(--tt-g5)}
.tt-pdp-opt .tt-tcard{width:100%;margin-bottom:6px}
.tt-pdp-opt .tt-tcard__face{border-radius:4.8cqw}
.tt-pdp-opt--row{grid-template-columns:1fr auto;align-items:center;padding:14px var(--tt-space-m)}
.tt-pdp-opt--row span{display:grid;gap:2px}
.tt-pdp-opt--row em{font-style:normal;font-weight:500;font-size:var(--tt-fs-small);white-space:nowrap}
.tt-pdp-opt--row em s{font-weight:400;color:var(--tt-g5);margin-right:4px}
.tt-pdp-opts--2 .tt-pdp-opt{grid-template-columns:auto 1fr;align-items:center;gap:var(--tt-space-s)}
.tt-pdp-opt__shape{display:block;border:1.5px solid currentColor;border-radius:3px;opacity:.7}
.tt-pdp-opt__shape--landscape{width:26px;height:17px}
.tt-pdp-opt__shape--portrait{width:17px;height:26px}
.tt-pdp-qty{display:flex;align-items:center;gap:var(--tt-space-m)}
.tt-pdp-qty__unit{font-size:var(--tt-fs-small);color:var(--tt-g5)}
.tt-pdp-tiers{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-radius:var(--tt-r-s);box-shadow:inset 0 0 0 1px var(--tt-g8);overflow:hidden}
.tt-pdp-tiers li{display:grid;gap:2px;padding:10px 12px;border-right:1px solid var(--tt-g8);font-size:12px;color:var(--tt-g5);transition:background .3s,color .3s}
.tt-pdp-tiers li:last-child{border-right:0}
.tt-pdp-tiers b{font-size:15px;font-weight:500;color:var(--tt-ink);transition:color .3s}
.tt-pdp-tiers li.tt-is-on{background:var(--tt-ink);color:rgb(255 255 255 / .7)}
.tt-pdp-tiers li.tt-is-on b{color:#fff}
.tt-pdp-spare:empty{display:none}
.tt-pdp-total{display:grid;gap:var(--tt-space-s);padding:var(--tt-space-l);border-radius:var(--tt-r-m);background:var(--tt-canvas)}
.tt-pdp-total__row{display:flex;justify-content:space-between;align-items:baseline}
.tt-pdp-total__row b{font-size:34px;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.tt-pdp-total__note{margin-top:-6px;font-size:var(--tt-fs-micro);color:#1F7A3A;text-align:right}
.tt-pdp-total__small{font-size:12px;color:var(--tt-g5);text-align:center}
.tt-pdp-promises{display:grid;grid-template-columns:1fr 1fr;gap:var(--tt-space-m) var(--tt-space-l)}
.tt-pdp-promises li{display:flex;gap:10px;font-size:var(--tt-fs-micro);color:var(--tt-g4);line-height:1.4}
.tt-pdp-promises b{display:block;font-size:14px;font-weight:500;color:var(--tt-ink)}
.tt-pdp-promises svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--tt-ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}/* below the fold */


.tt-pdp-features{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--tt-grid-gap)}
.tt-pdp-features li{display:grid;gap:4px;align-content:start;padding:var(--tt-card-pad);border-radius:var(--tt-r-m);background:var(--tt-canvas);font-size:15px;color:var(--tt-g4)}
.tt-pdp-features b{margin-top:var(--tt-space-m);font-size:18px;font-weight:500;color:var(--tt-ink)}
.tt-pdp-features svg{width:26px;height:26px;fill:none;stroke:var(--tt-ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tt-pdp-specs{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--tt-space-2xl);align-items:start}
.tt-pdp-link{font-weight:500;color:var(--tt-ink);text-decoration:underline;text-underline-offset:3px}
.tt-pdp-specs__list{border-top:1px solid var(--tt-g8)}
.tt-pdp-specs__list div{display:grid;grid-template-columns:180px 1fr;gap:var(--tt-space-l);padding:var(--tt-space-m) 0;border-bottom:1px solid var(--tt-g8);font-size:15px}
.tt-pdp-specs__list dt{font-weight:500}
.tt-pdp-specs__list dd{color:var(--tt-g4)}/* sticky buy bar: appears once the main button scrolls away */


.tt-pdp-bar{position:fixed;left:50%;bottom:var(--tt-space-m);z-index:40;display:flex;align-items:center;gap:var(--tt-space-l);width:min(640px,calc(100% - 2 * var(--tt-bleed)));padding:8px 8px 8px var(--tt-space-l);border-radius:var(--tt-pill);background:rgb(255 255 255 / .9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px rgb(0 0 0 / .06),0 16px 40px -14px rgb(0 0 0 / .3);transform:translate(-50%,160%);transition:transform .45s var(--tt-out)}
.tt-pdp-bar.tt-is-on{transform:translate(-50%,0)}
.tt-pdp-bar .tt-tcard{flex:none;width:52px}
.tt-pdp-bar__info{display:grid;flex:1;min-width:0;line-height:1.2}
.tt-pdp-bar__info b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tt-pdp-bar__info small{font-size:12px;color:var(--tt-g5)}
.tt-pdp-bar__price{font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}/* portrait layout of the real card */


.tt-tcard--portrait{aspect-ratio:54/85.6}
.tt-tcard--portrait .tt-tcard__face{border-radius:7cqw}
.tt-tcard--portrait .tt-tcard__brand{flex-direction:column;gap:5cqw}
.tt-tcard--portrait .tt-tcard__brand-mark{width:20cqw;height:20cqw;font-size:13cqw}
.tt-tcard--portrait .tt-tcard__brand-name{font-size:13cqw}
.tt-tcard--portrait .tt-tcard__brand-logo{width:44cqw}
.tt-tcard--portrait .tt-tcard__slot{width:50cqw}
.tt-tcard--portrait .tt-tcard__slot-text{font-size:8cqw}
.tt-tcard--portrait .tt-tcard__tap{left:10cqw;right:auto;top:11cqw;width:36cqw}
.tt-tcard--portrait .tt-tcard__qr{--qr-ring:max(1px,.7cqw);left:10cqw;right:auto;top:auto;bottom:46cqw;width:46cqw;width:round(46cqw,2px);border-radius:7cqw}
.tt-tcard--portrait .tt-tcard__name{left:10cqw;top:auto;bottom:24cqw;font-size:9.5cqw}
.tt-tcard--portrait .tt-tcard__email{left:10cqw;bottom:13cqw;font-size:6.4cqw}

@media (max-width:1000px){.tt-pdp-features{grid-template-columns:1fr 1fr}}
@media (max-width:860px){
	.tt-pdp__top,.tt-pdp-specs{grid-template-columns:1fr}
	.tt-pdp__stage{position:relative;top:0;min-height:0;padding:var(--tt-space-3xl) var(--tt-space-m) var(--tt-space-m);gap:var(--tt-space-xl)}
	.tt-pdp-tiers{grid-template-columns:1fr 1fr}
	.tt-pdp-tiers li:nth-child(2){border-right:0}
	.tt-pdp-tiers li:nth-child(-n+2){border-bottom:1px solid var(--tt-g8)}
	.tt-pdp-promises{grid-template-columns:1fr}
	.tt-pdp-features{grid-template-columns:1fr}
	.tt-pdp-specs__list div{grid-template-columns:1fr;gap:4px}
	.tt-pdp-bar{bottom:var(--tt-bleed);gap:var(--tt-space-s)}
	.tt-pdp-bar .tt-tcard{display:none}
}/* ==========================================================================
   Legal pages (ÁSZF, adatkezelés): readable long-form, sticky table of contents, print-friendly
   ========================================================================== */


.tt-legal{padding:calc(12px + var(--tt-header-h) + var(--tt-space-2xl)) 0 var(--tt-section-y)}
.tt-legal__head{display:grid;gap:var(--tt-space-s);max-width:760px;margin:var(--tt-space-m) 0 var(--tt-head-gap)}
.tt-legal__meta{font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-legal__print{font-size:inherit;color:var(--tt-ink);text-decoration:underline;text-underline-offset:3px}
.tt-legal__grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--tt-space-3xl);align-items:start}
.tt-legal__toc{position:sticky;top:calc(12px + var(--tt-header-h) + var(--tt-space-m));display:grid;gap:var(--tt-space-s);font-size:var(--tt-fs-small)}
.tt-legal__toc b{font-weight:500}
.tt-legal__toc ol{display:grid;gap:2px;list-style:decimal inside;color:var(--tt-g5)}
.tt-legal__toc a{display:inline;padding:4px 0;color:var(--tt-g4)}
.tt-legal__toc a:hover{color:var(--tt-ink)}
.tt-legal__body{display:grid;gap:var(--tt-space-2xl);max-width:760px;font-size:16px;line-height:1.65;color:#2b2b2b}
.tt-legal__body section{display:grid;gap:var(--tt-space-s);scroll-margin-top:90px}
.tt-legal__body h2{margin-bottom:var(--tt-space-xs);font-size:24px;font-weight:500;letter-spacing:-.025em;color:var(--tt-ink)}
.tt-legal__body h3{margin-top:var(--tt-space-s);font-size:17px;font-weight:500;color:var(--tt-ink)}
.tt-legal__body ul{display:grid;gap:var(--tt-space-xs);padding-left:1.2em;list-style:disc}
.tt-legal__body strong,.tt-legal__body b{font-weight:600;color:var(--tt-ink)}
.tt-legal__facts{border-top:1px solid var(--tt-g8)}
.tt-legal__facts div{display:grid;grid-template-columns:220px 1fr;gap:var(--tt-space-m);padding:12px 0;border-bottom:1px solid var(--tt-g8);font-size:15px}
.tt-legal__facts dt{font-weight:500;color:var(--tt-ink)}
.tt-legal__cards{display:grid;gap:var(--tt-grid-gap)}
.tt-legal__card{padding:var(--tt-space-l);border-radius:var(--tt-r-m);background:var(--tt-canvas)}
.tt-legal__card h3{margin:0 0 var(--tt-space-s);font-size:18px}
.tt-legal__card dl{display:grid;gap:8px}
.tt-legal__card dl div{display:grid;grid-template-columns:110px 1fr;gap:var(--tt-space-s);font-size:15px;line-height:1.5}
.tt-legal__card dt{font-weight:500;color:var(--tt-g5)}
.tt-legal__table{overflow-x:auto;border:1px solid var(--tt-g8);border-radius:var(--tt-r-m)}
.tt-legal__table table{width:100%;min-width:560px;border-collapse:collapse;font-size:14px;line-height:1.45}
.tt-legal__table th,.tt-legal__table td{padding:12px 14px;border-bottom:1px solid var(--tt-g8);text-align:left;vertical-align:top}
.tt-legal__table tr:last-child>*{border-bottom:0}
.tt-legal__table thead th{font-weight:500;color:var(--tt-g5);background:var(--tt-canvas)}
.tt-legal__history{font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-co-withdraw{display:flex;gap:10px;padding:var(--tt-space-m);border-radius:var(--tt-r-s);background:var(--tt-canvas);font-size:var(--tt-fs-micro);color:var(--tt-g4);line-height:1.5}
.tt-co-withdraw b{color:var(--tt-ink);font-weight:500}
.tt-co-withdraw a{text-decoration:underline}
@media (max-width:860px){
	.tt-legal__grid{grid-template-columns:1fr;gap:var(--tt-space-xl)}
	.tt-legal__toc{position:static;padding:var(--tt-space-m) var(--tt-space-l);border-radius:var(--tt-r-m);background:var(--tt-canvas)}
	.tt-legal__facts div,.tt-legal__card dl div{grid-template-columns:1fr;gap:2px}
}
@media print{
	.tt-site-header,.tt-site-footer,.tt-legal__toc,.tt-legal__print,.tt-proto,.tt-cart-bar,.tt-pdp-bar{display:none!important}
	.tt-legal{padding:0}.tt-legal__grid{display:block}.tt-legal__body{max-width:none;font-size:11pt}
	[data-page]:not(.tt-show){display:none!important}
}/* drawer */


.tt-scrim{position:fixed;inset:0;z-index:80;background:rgb(0 0 0 / .3);opacity:0;pointer-events:none;transition:opacity .4s}
.tt-scrim.tt-on{opacity:1;pointer-events:auto}
.tt-drawer{position:fixed;z-index:85;top:12px;right:12px;bottom:12px;width:min(440px,calc(100% - 24px));border-radius:var(--tt-r);background:#fff;display:flex;flex-direction:column;transform:translateX(110%);transition:transform .6s var(--tt-out),visibility 0s .6s;box-shadow:0 30px 80px -20px rgb(0 0 0 / .3);visibility:hidden}/* hidden when closed: its shadow no longer bleeds a grey strip onto the right edge, and its links leave the tab order */ 
.tt-drawer.tt-on{transform:none;visibility:visible;transition:transform .6s var(--tt-out)}
.tt-drawer__h{display:flex;justify-content:space-between;align-items:center;padding:22px 24px}
.tt-x{width:38px;height:38px;border-radius:50%;background:var(--tt-canvas);display:grid;place-items:center}
.tt-drawer__l{flex:1;overflow:auto;padding:0 24px 8px}
.tt-li{display:grid;grid-template-columns:84px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-top:1px solid var(--tt-g8)}
.tt-li .tt-ttc{width:84px}
.tt-li b{font-weight:500}.tt-li small{display:block;color:var(--tt-g5);font-size:13px}
.tt-mini{display:inline-flex;align-items:center;gap:8px;margin-top:6px;height:30px;padding:0 4px;border-radius:99px;box-shadow:var(--tt-line);font-size:13px}
.tt-mini button{width:22px;height:22px;border-radius:50%}
.tt-upsell{display:grid;grid-template-columns:64px 1fr auto;gap:var(--tt-grid-gap);align-items:center;margin:14px 0;padding:14px;border-radius:18px;background:var(--tt-canvas)}
.tt-upsell .tt-ttc{width:64px}
.tt-drawer__f{padding:18px 24px 22px;border-top:1px solid var(--tt-g8)}
.tt-drawer__link{display:block;margin-top:var(--tt-space-s);text-align:center;font-size:var(--tt-fs-small);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.tt-drawer__f .tt-lines{border:0;padding:0 0 10px}/* checkout / bag page / thanks / brief / contact / business / 404 */


.tt-co{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--tt-grid-gap);padding:calc(var(--tt-section-y) + 40px) 0 var(--tt-section-y)}
.tt-f{display:block}.tt-f span{display:block;font-size:13px;font-weight:500;margin-bottom:6px}
.tt-f input,.tt-f textarea{width:100%;height:48px;border:0;border-radius:14px;box-shadow:var(--tt-line);padding:0 16px;outline:0;background:#fff}
.tt-f textarea{height:110px;padding:14px 16px;resize:none}
.tt-f input:focus,.tt-f textarea:focus{box-shadow:inset 0 0 0 2px var(--tt-ink)}
.tt-full{grid-column:1/-1}
.tt-pay{display:grid;gap:8px}
.tt-pay button{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:14px;box-shadow:var(--tt-line);text-align:left}
.tt-pay button.tt-on{box-shadow:inset 0 0 0 2px var(--tt-select)}
.tt-pay small{display:block;color:var(--tt-g5);font-size:13px}
.tt-sum{position:sticky;top:90px;align-self:start;border-radius:var(--tt-r);background:var(--tt-canvas);padding:var(--tt-card-pad)}
@media (max-width:860px){.tt-co{grid-template-columns:1fr}.tt-sum{position:relative;top:0;order:-1}}
.tt-range{width:100%;-webkit-appearance:none;appearance:none;height:4px;border-radius:99px;background:linear-gradient(var(--tt-ink),var(--tt-ink)) 0/var(--p,10%) 100% no-repeat,var(--tt-g8);margin:22px 0}
.tt-range::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--tt-g7),0 2px 6px rgb(0 0 0 / .2)}
.tt-nf{text-align:center;padding:calc(var(--tt-section-y) + 60px) 0 var(--tt-section-y)}
.tt-nf .tt-ttc{width:min(280px,70%);margin:0 auto var(--tt-space-xl)}/* menu (light sheet, like the live one) */


.tt-menu{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;background:#fff;visibility:hidden;clip-path:inset(0 0 100% 0 round 0 0 var(--tt-r) var(--tt-r));transition:clip-path .6s var(--tt-out),visibility 0s .6s}
.tt-menu.tt-on{visibility:visible;clip-path:inset(0 0 0 0 round 0);transition:clip-path .6s var(--tt-out)}/* the top row mirrors the phone header exactly (logo, bag, menu button in the same spots; --menu-top = header's live top) */

.tt-menu__h{flex:none;display:flex;align-items:center;gap:var(--tt-space-xs);padding:var(--menu-top,12px) var(--tt-gutter) 8px}
.tt-menu__logo{display:flex;align-items:center;height:var(--tt-header-h);margin-right:auto;padding:0 16px}
.tt-menu__logo svg{width:auto;height:18.5px;fill:currentColor}
.tt-menu__h .tt-x{width:47px;height:var(--tt-header-h);border-radius:var(--tt-pill)}
.tt-menu__scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--tt-space-xs) var(--tt-gutter) var(--tt-space-l)}
.tt-menu__eyebrow{display:flex;justify-content:space-between;align-items:baseline;margin:var(--tt-space-xs) 0 var(--tt-space-s);font-size:var(--tt-fs-micro);font-weight:500;color:var(--tt-g5)}
.tt-menu__eyebrow a{color:var(--tt-ink)}
.tt-menu__cards{display:grid;grid-auto-flow:column;grid-auto-columns:42%;gap:10px;margin:0 calc(-1 * var(--tt-gutter));padding:0 var(--tt-gutter) 4px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--tt-gutter);scrollbar-width:none}
.tt-menu__cards::-webkit-scrollbar{display:none}
.tt-menu__card{scroll-snap-align:start;display:grid;align-content:start;gap:var(--tt-space-s);padding:14px;border-radius:var(--tt-r-m);background:var(--tt-canvas)}
.tt-menu__card>span:last-child{display:grid;gap:2px}
.tt-menu__card b{font-size:15px;font-weight:500}
.tt-menu__card>span:last-child span{font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-menu__card--biz{align-content:space-between;background:var(--tt-ink);color:#fff}
.tt-menu__card--biz>span:last-child span{color:rgb(255 255 255 / .6)}
.tt-menu__pct{font-size:34px;font-weight:500;letter-spacing:-.04em;line-height:1}
.tt-menu__links{display:grid;margin-top:var(--tt-space-m)}
.tt-menu__links a{display:flex;justify-content:space-between;align-items:center;gap:var(--tt-space-m);padding:15px 0;border-bottom:1px solid var(--tt-g8);font-size:26px;font-weight:500;letter-spacing:-.035em;line-height:1.15;opacity:0;transform:translateY(10px);transition:opacity .5s var(--tt-out),transform .5s var(--tt-out)}
.tt-menu.tt-on .tt-menu__links a{opacity:1;transform:none}
.tt-menu.tt-on .tt-menu__links a:nth-child(2){transition-delay:.04s}.tt-menu.tt-on .tt-menu__links a:nth-child(3){transition-delay:.08s}.tt-menu.tt-on .tt-menu__links a:nth-child(4){transition-delay:.12s}
.tt-menu__links svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--tt-g7);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tt-menu__meta{display:flex;justify-content:space-between;align-items:center;gap:var(--tt-space-s);margin-top:var(--tt-space-l)}
.tt-menu__lang{display:inline-flex;padding:3px;border-radius:var(--tt-pill);background:var(--tt-canvas);font-size:var(--tt-fs-micro);font-weight:600}
.tt-menu__lang-opt{padding:7px 14px;border-radius:var(--tt-pill);color:var(--tt-g5)}
.tt-menu__lang-opt--active{background:#fff;color:var(--tt-ink);box-shadow:0 1px 3px rgb(0 0 0 / .1)}
.tt-menu__login{display:inline-flex;align-items:center;gap:var(--tt-space-xs);font-size:15px;font-weight:500}
.tt-menu__login svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.tt-menu__foot{flex:none;padding:var(--tt-space-s) var(--tt-gutter) calc(var(--tt-space-l) + env(safe-area-inset-bottom));border-top:1px solid var(--tt-g8)}
.tt-menu__note{display:block;margin-top:10px;text-align:center;font-size:12px;color:var(--tt-g5)}
html.tt-menu-open,html.tt-menu-open body{overflow:hidden}
@media (prefers-reduced-motion:reduce){.tt-menu,.tt-menu__links a{transition:none}}

.tt-nf .tt-lead{margin:var(--tt-space-m) auto var(--tt-space-xl)}/* ==========================================================================
   After payment: thank you + design brief
   ========================================================================== */

.tt-after{padding:calc(12px + var(--tt-header-h) + var(--tt-space-2xl)) 0 var(--tt-section-y)}
.tt-after__grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--tt-space-2xl);align-items:start;margin-top:var(--tt-space-xl)}
.tt-after__main{display:grid;gap:var(--tt-space-xl);min-width:0}/* thank you: head */


.tt-ty-head{display:grid;gap:var(--tt-space-s);justify-items:start}
.tt-ty-head__check{display:grid;place-items:center;width:48px;height:48px;margin-bottom:var(--tt-space-xs);border-radius:50%;background:var(--tt-ink);color:#fff}
.tt-ty-head__check svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.tt-ty-head .tt-lead b{font-weight:500;color:var(--tt-ink)}/* status tracker: done · now · later */


.tt-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none}
.tt-track__step{position:relative;display:grid;gap:2px;padding-top:28px;padding-right:var(--tt-space-xs);font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-track__step::before{content:"";position:absolute;top:8px;left:0;right:0;height:2px;background:var(--tt-g8)}
.tt-track__step--done::before{background:var(--tt-ink)}
.tt-track__step--now::before{background:linear-gradient(90deg,var(--tt-ink) 50%,var(--tt-g8) 50%)}
.tt-track__step i{position:absolute;top:0;left:0;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px var(--tt-g7)}
.tt-track__step--done i{background:var(--tt-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat;box-shadow:none}
.tt-track__step--now i{box-shadow:inset 0 0 0 5px var(--tt-select)}
.tt-track__step b{font-weight:500;color:var(--tt-ink)}
.tt-track__step:not(.tt-track__step--done):not(.tt-track__step--now) b{color:var(--tt-g5)}
.tt-track--small{margin-block:var(--tt-space-l)}
.tt-track--small .tt-track__step{padding-top:26px}/* the one next action */


.tt-ty-next{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--tt-space-xl);align-items:center;padding:var(--tt-panel-pad);border-radius:var(--tt-r);background:var(--tt-canvas)}
.tt-ty-next__card .tt-tcard__face{box-shadow:inset 0 0 0 1px var(--tc-line),0 24px 40px -20px rgb(0 0 0 / .45)}
.tt-ty-next__body{display:grid;gap:var(--tt-space-s);justify-items:start}
.tt-ty-next__eyebrow{font-size:var(--tt-fs-micro);font-weight:500;color:var(--tt-g5)}
.tt-ty-next__title{font-size:clamp(24px,2.4vw,32px);font-weight:500;letter-spacing:-.03em;line-height:1.1}
.tt-ty-next__text{color:var(--tt-g4);max-width:46ch}
.tt-ty-next .tt-btn{margin-top:var(--tt-space-xs)}
.tt-ty-next__later{font-size:var(--tt-fs-micro);color:var(--tt-g5);max-width:46ch}

.tt-ty-more{display:grid;grid-template-columns:1fr 1fr;gap:var(--tt-space-xs);margin:0;padding:0;list-style:none}
.tt-ty-more__link{display:flex;gap:var(--tt-space-s);height:100%;padding:var(--tt-space-m);border-radius:var(--tt-r-m);box-shadow:var(--tt-line);transition:background .2s}
.tt-ty-more__link:hover{background:var(--tt-canvas)}
.tt-ty-more__link svg{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tt-ty-more__link b{display:block;font-weight:500}
.tt-ty-more__link small{display:block;margin-top:2px;font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-after__sum .tt-co-sum__meta{display:grid;gap:var(--tt-space-s);padding-top:var(--tt-space-m);border-top:1px solid var(--tt-g8);font-size:var(--tt-fs-micro)}
.tt-after__sum .tt-co-sum__meta div{display:grid;gap:2px}
.tt-after__sum .tt-co-sum__meta span{color:var(--tt-g5)}/* brief */


.tt-brief__head{display:grid;gap:var(--tt-space-s);justify-items:start;margin-top:var(--tt-space-xl)}
.tt-brief__items{display:flex;flex-wrap:wrap;gap:var(--tt-space-xs);margin:var(--tt-space-xs) 0 0;padding:0;list-style:none}
.tt-brief__items li{display:flex;align-items:center;gap:8px;height:36px;padding:0 var(--tt-space-s) 0 6px;border-radius:var(--tt-pill);box-shadow:var(--tt-line);font-size:var(--tt-fs-micro)}
.tt-brief__items .tt-tcard{width:38px}
.tt-brief__items .tt-tcard__face{border-radius:3px}
.tt-brief__items b{font-weight:500}
.tt-brief__grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:var(--tt-space-2xl);align-items:start;margin-top:var(--tt-space-2xl)}
.tt-brief__steps{display:grid;gap:var(--tt-space-2xl);min-width:0;counter-reset:brief}
.tt-brief__step{counter-increment:brief}
.tt-brief__step[hidden]{display:none}
.tt-brief__step .tt-co-step__title{margin-bottom:6px}
.tt-brief__step .tt-co-step__title i::before{content:counter(brief)}
.tt-brief__sub{padding-left:36px;font-size:var(--tt-fs-small);color:var(--tt-g5)}
.tt-brief__tip{display:flex;gap:8px;font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-brief__tip svg{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.tt-brief .tt-co-field textarea{width:100%;padding:14px 16px;border:0;border-radius:var(--tt-r-s);background:#fff;box-shadow:inset 0 0 0 1px var(--tt-g7);outline:0;font:inherit;font-size:16px;resize:vertical;transition:box-shadow .2s}
.tt-brief .tt-co-field textarea:focus{box-shadow:inset 0 0 0 2px var(--tt-select)}
.tt-brief .tt-co-field::after{display:none}
.tt-brief .tt-co-field input{padding-right:16px}/* upload drop zone */


.tt-drop{position:relative;display:grid;justify-items:center;gap:4px;padding:var(--tt-space-l) var(--tt-space-m);border-radius:var(--tt-r-m);background:var(--tt-canvas);box-shadow:inset 0 0 0 1.5px var(--tt-g7);text-align:center;cursor:pointer;transition:box-shadow .2s,background .2s}
.tt-drop:hover,.tt-drop--over{box-shadow:inset 0 0 0 2px var(--tt-select);background:rgb(0 113 227 / .03)}
.tt-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.tt-drop__icon{width:24px;height:24px;margin-bottom:4px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tt-drop__title{font-weight:500}
.tt-drop__hint{font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-drop__file{display:inline-flex;align-items:center;gap:6px;margin-top:var(--tt-space-xs);padding:4px 10px;border-radius:var(--tt-pill);background:#fff;box-shadow:var(--tt-line);font-size:var(--tt-fs-micro);font-weight:500}
.tt-drop__file[hidden]{display:none}
.tt-drop--filled{box-shadow:inset 0 0 0 2px var(--tt-ink);background:#fff}
.tt-drop--small{padding:var(--tt-space-m)}
.tt-drop--disabled{opacity:.4;pointer-events:none}
.tt-brief__drops{display:grid;grid-template-columns:1fr 1fr;gap:var(--tt-space-xs)}
.tt-brief__drops[hidden],.tt-brief .tt-co-field[hidden]{display:none}
.tt-brief__options{display:grid;grid-template-columns:1fr 1fr;gap:var(--tt-space-xs)}/* print chips */


.tt-brief__chips{display:flex;flex-wrap:wrap;gap:var(--tt-space-xs)}
.tt-pick{position:relative;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 var(--tt-space-m);border-radius:var(--tt-pill);box-shadow:inset 0 0 0 1px var(--tt-g7);font-size:var(--tt-fs-small);font-weight:500;cursor:pointer;transition:box-shadow .2s,background .2s}
.tt-pick input{position:absolute;opacity:0;pointer-events:none}
.tt-pick:has(input:checked){box-shadow:inset 0 0 0 2px var(--tt-select);background:rgb(0 113 227 / .04)}
.tt-pick:has(input:checked)::before{content:"";width:14px;height:14px;margin-left:-4px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230071E3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/contain no-repeat}
.tt-pick:has(input:focus-visible){outline:2px solid var(--tt-select);outline-offset:2px}/* details per person */


.tt-brief__mode[hidden]{display:none}
.tt-person{display:grid;gap:var(--tt-space-s);padding:var(--tt-space-m);border-radius:var(--tt-r-m);box-shadow:var(--tt-line);transition:box-shadow .2s}
.tt-person+.tt-person{margin-top:var(--tt-space-xs)}
.tt-person__head{display:flex;justify-content:space-between;align-items:center;font-size:var(--tt-fs-small);font-weight:500}
.tt-person__copy{font-size:var(--tt-fs-micro);color:var(--tt-g4);text-decoration:underline;text-underline-offset:3px}
.tt-paste{display:grid;gap:var(--tt-space-xs)}
.tt-paste__count{font-size:var(--tt-fs-micro);color:var(--tt-g5)}
.tt-paste__count b{color:var(--tt-ink);font-weight:500}/* aside: live card + checklist */


.tt-brief__aside{position:sticky;top:calc(12px + var(--tt-header-h) + var(--tt-space-m));display:grid;gap:var(--tt-space-xs)}
.tt-brief__preview{display:grid;justify-items:center;gap:var(--tt-space-m);padding:var(--tt-space-xl) var(--tt-card-pad) var(--tt-card-pad);border-radius:var(--tt-r);background:var(--tt-canvas)}
.tt-brief__stage{width:100%;max-width:300px;perspective:1400px}
.tt-brief__stage .tt-tcard__face{box-shadow:inset 0 0 0 1px var(--tc-line),0 30px 40px -24px rgb(0 0 0 / .45)}
.tt-brief__stage .tt-tcard__brand img{max-width:46cqw;max-height:24cqw;object-fit:contain}
.tt-brief__stage .tt-tcard--portrait .tt-tcard__brand img{max-width:60cqw;max-height:40cqw}
.tt-brief__note{font-size:12px;color:var(--tt-g5);text-align:center}
.tt-brief__todo{padding:var(--tt-card-pad);border-radius:var(--tt-r);box-shadow:var(--tt-line)}
.tt-brief__todo-title{font-size:var(--tt-fs-small);font-weight:500}
.tt-brief__todo ul{display:grid;gap:8px;margin:var(--tt-space-s) 0 0;padding:0;list-style:none}
.tt-brief__todo li{display:flex;align-items:center;gap:10px;font-size:var(--tt-fs-small);color:var(--tt-g4)}
.tt-brief__todo li::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--tt-g7)}
.tt-brief__todo li.tt-is-done{color:var(--tt-g5);text-decoration:line-through;text-decoration-color:var(--tt-g7)}
.tt-brief__todo li.tt-is-done::before{background:var(--tt-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/11px no-repeat;box-shadow:none}
.tt-brief__todo-note{margin-top:var(--tt-space-s);padding-top:var(--tt-space-s);border-top:1px solid var(--tt-g8);font-size:12px;color:var(--tt-g5)}

.tt-brief__submit{display:flex;justify-content:space-between;align-items:center;gap:var(--tt-space-m);margin-top:var(--tt-space-2xl);padding-top:var(--tt-space-l);border-top:1px solid var(--tt-g8)}
.tt-brief__submit p{font-size:var(--tt-fs-small);color:var(--tt-g5)}
.tt-brief-done{display:grid;justify-items:start;gap:var(--tt-space-s);max-width:720px;margin-top:var(--tt-space-xl)}
.tt-brief-done[hidden],.tt-brief[hidden]{display:none}

@media (max-width:860px){
	.tt-brief__sub{padding-left:0}
	.tt-after__grid,.tt-brief__grid{grid-template-columns:1fr}
	.tt-after__sum{display:grid;position:relative;top:0}/* checkout hides .co-sum on phones (mini summary instead); thank-you + pay page keep theirs */ 
	.tt-track{grid-template-columns:1fr;gap:0}
	.tt-track__step{padding:0 0 var(--tt-space-m) 32px}
	.tt-track__step::before{top:18px;bottom:0;left:8px;right:auto;width:2px;height:auto}
	.tt-track__step:last-child::before{display:none}
	.tt-track__step--now::before{background:linear-gradient(var(--tt-ink) 30%,var(--tt-g8) 30%)}
	.tt-ty-next{grid-template-columns:1fr;gap:var(--tt-space-l)}
	.tt-ty-next__card{width:min(220px,70%)}
	.tt-ty-more,.tt-brief__drops,.tt-brief__options{grid-template-columns:1fr}
	.tt-brief__aside{position:relative;top:0;order:-1}
	.tt-brief__preview{padding:var(--tt-space-l) var(--tt-space-m) var(--tt-space-m)}
	.tt-brief__stage{max-width:240px}
	.tt-brief__todo{display:none}
	.tt-brief__submit{position:sticky;bottom:0;z-index:5;flex-direction:column;align-items:stretch;margin-inline:calc(-1 * var(--tt-gutter));padding:var(--tt-space-s) var(--tt-gutter) calc(var(--tt-space-s) + env(safe-area-inset-bottom));background:rgb(255 255 255 / .92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
	.tt-brief__submit p{display:none}
}/* brief: orders with several cards */

.tt-brief__count{margin-left:10px;padding:3px 10px;border-radius:var(--tt-pill);background:var(--tt-canvas);font-size:var(--tt-fs-micro);font-weight:500;letter-spacing:0;color:var(--tt-g4)}
.tt-brief__mode{margin-bottom:var(--tt-space-xs)}
.tt-person--active{box-shadow:inset 0 0 0 2px var(--tt-select)}
.tt-person__label{display:flex;align-items:center;gap:10px}
.tt-person__label .tt-tcard{width:34px}
.tt-person__label .tt-tcard__face{border-radius:3px}
.tt-person__label small{font-size:var(--tt-fs-micro);font-weight:400;color:var(--tt-g5)}
.tt-brief__which{min-height:1em;font-size:var(--tt-fs-micro);font-weight:500;color:var(--tt-g4)}
.tt-paste__badge{display:inline-block;margin-right:6px;padding:2px 9px;border-radius:var(--tt-pill);background:var(--tt-canvas);font-weight:600}
.tt-paste__badge.tt-is-ok{background:var(--tt-ink);color:#fff}
.tt-paste__badge.tt-is-warn{background:#FDECEA;color:#C4320A}
.tt-ptable{max-height:340px;overflow:auto;border-radius:var(--tt-r-m);box-shadow:var(--tt-line)}
.tt-ptable table{width:100%;border-collapse:collapse;font-size:var(--tt-fs-micro)}
.tt-ptable th{position:sticky;top:0;z-index:1;padding:10px 12px;background:var(--tt-canvas);font-weight:500;text-align:left;white-space:nowrap}
.tt-ptable td{padding:8px 12px;border-top:1px solid var(--tt-g8);white-space:nowrap}
.tt-ptable td:first-child{width:1%;color:var(--tt-g5)}
.tt-ptable tbody tr{cursor:pointer;transition:background .15s}
.tt-ptable tbody tr:hover,.tt-ptable tr.tt-is-active{background:rgb(0 113 227 / .05)}
.tt-ptable .tt-is-missing{color:#C4320A}
.tt-ptable .tt-is-empty{color:var(--tt-g7)}
.tt-ptable tr.tt-is-extra td{color:#C4320A;text-decoration:line-through}
.tt-ptable__card{display:block;width:30px}
.tt-ptable__card .tt-tcard__face{border-radius:3px}
/* touch: small controls keep their look but get a finger-sized hit area (WCAG 2.5.8) */


@media (pointer:coarse){
	.tt-pill__link,.tt-swatches__btn,.tt-cart-item__remove,.tt-cart-tile__add{position:relative}
	.tt-pill__link::after,.tt-swatches__btn::after,.tt-cart-item__remove::after,.tt-cart-tile__add::after{content:"";position:absolute;inset:-4px}
	.tt-swatches__btn::after,.tt-cart-item__remove::after{inset:-10px}
}/* payment marks: SimplePay (linked to its payment information sheet, required by SimplePay) + accepted cards / wallets *//* official SimplePay merchant pack (img/pay/CREDITS.md): shown as supplied, scaled proportionally only, never recoloured or faded */



.tt-paybar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--tt-space-s) var(--tt-space-l)}
.tt-paybar__banner{display:block;width:min(100%,375px)}
.tt-paybar__banner img{display:block;width:100%;height:auto}
.tt-paybar__info{font-size:var(--tt-fs-micro);color:var(--tt-g5);text-decoration:underline;text-underline-offset:2px;transition:color .2s}
.tt-paybar__info:hover{color:var(--tt-ink)}
.tt-co-option__brands img,.tt-cart-sum__pay img{display:block;width:auto;height:18px}
.tt-co-option:has(.tt-co-option__brands){flex-wrap:wrap}
.tt-site-footer__pay{margin-top:var(--tt-space-2xl);padding-top:var(--tt-space-l);border-top:1px solid var(--tt-g8)}
.tt-site-footer__pay+.tt-site-footer__bottom{margin-top:var(--tt-space-l)}
.tt-co-sp{display:flex;gap:var(--tt-space-s);align-items:flex-start;margin-top:var(--tt-space-s);font-size:12px;line-height:1.5;color:var(--tt-g5)}
.tt-co-sp>a{flex:none}
.tt-co-sp img{display:block;width:auto;height:18px;margin-top:1px}
.tt-co-sp span a{text-decoration:underline;text-underline-offset:2px}
@media (max-width:560px){.tt-co-option__brands{order:3;flex-basis:100%;padding-left:calc(18px + var(--tt-space-s))}.tt-co-sp{flex-direction:column;gap:6px}}


/* ==========================================================================
   WordPress / Bricks glue (appended by tools/port/build.py)
   Bricks wraps templates in <header id="brx-header">, <main id="brx-content">, <footer id="brx-footer">.
   The F design positions its own header (fixed pills) and footer, so the wrappers must not add layout.
   ========================================================================== */
#brx-header,#brx-footer{display:contents}
#brx-content{display:block;width:auto;max-width:none}
.tt-page{display:block}
/* WordPress admin bar: keep the floating header below it */
.admin-bar .tt-site-header{top:var(--wp-admin--admin-bar--height,0px)}
/* the cookie banner and Woo notices sit above the header pills */
.woocommerce-notices-wrapper:empty{display:none}

/* ---------- WooCommerce checkout on the F markup (templates/woocommerce/checkout/*-f.php) ---------- */
.tt-co-option{position:relative;cursor:pointer}
.tt-co-option>input[type=radio]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.tt-co-option:has(>input:checked){box-shadow:inset 0 0 0 2px var(--tt-select);background:rgb(0 113 227 / .03)}
.tt-co-option:has(>input:checked) .tt-co-option__radio{box-shadow:inset 0 0 0 5px var(--tt-select)}
.tt-co-option:has(>input:focus-visible){outline:2px solid var(--tt-select);outline-offset:2px}
.tt-co-ship{display:grid;gap:var(--tt-space-xs)}
.tt-co-ship:empty{display:none}
.tt-checkout #payment{padding:0;border:0;border-radius:0;background:none}
.tt-checkout #payment>.tt-co-sp{margin-top:calc(var(--tt-space-m) + var(--tt-space-s))}
.tt-checkout__form>wc-order-attribution-inputs{display:none}
.tt-checkout .payment_box{margin-top:var(--tt-space-xs);padding:var(--tt-space-m);border-radius:var(--tt-r-s);background:var(--tt-canvas);font-size:var(--tt-fs-small)}
.tt-co-note{font-size:var(--tt-fs-small);color:var(--tt-g5)}
/* Woo notices (validation, errors) in the design */
.tt-checkout .woocommerce-NoticeGroup,.tt-checkout .woocommerce-notices-wrapper{grid-column:1/-1}
.tt-checkout .woocommerce-error,.tt-checkout .woocommerce-message,.tt-checkout .woocommerce-info{list-style:none;margin:0 0 var(--tt-space-l);padding:var(--tt-space-m) var(--tt-space-l);border-radius:var(--tt-r-s);background:#FDECEA;color:#8A1F05;font-size:var(--tt-fs-small);line-height:1.5}
.tt-checkout .woocommerce-message,.tt-checkout .woocommerce-info{background:var(--tt-canvas);color:var(--tt-ink)}
.tt-checkout .woocommerce-error li+li{margin-top:4px}
.tt-checkout .woocommerce-error::before,.tt-checkout .woocommerce-message::before,.tt-checkout .woocommerce-info::before{content:none}
.tt-checkout .blockUI.blockOverlay{border-radius:var(--tt-r-s);background:rgb(255 255 255 / .6)!important}
.tt-co-field.woocommerce-invalid input{box-shadow:inset 0 0 0 1.5px #C4320A}
