/* ==========================================================================
   Thrive theme — design tokens (from the Thrive Design System)
   ========================================================================== */
:root{
--ink-900:#111214;--ink-800:#1c1d21;--ink-700:#2c2e33;--ink-600:#4a4d55;--ink-500:#6b6f78;--ink-400:#9a9ea7;--ink-300:#c4c7cd;--ink-200:#e3e5e9;--ink-150:#ebedf0;--ink-100:#f1f2f4;--ink-50:#f6f7f9;--white:#ffffff;
--brand-indigo:#2e2a8f;--brand-violet:#7b3fb0;--brand-magenta:#c04f9a;--brand-coral:#ef6f62;--brand-orange:#f5a03c;--brand-star:#f5c518;--brand-night:#0c0b1d;--brand-cream:#f6efdc;
--gradient-comet:linear-gradient(90deg,#2e2a8f 0%,#7b3fb0 30%,#ef6f62 65%,#f5a03c 88%,#f5c518 100%);
--gradient-swoosh:linear-gradient(160deg,#8f84ec 0%,#b48ad8 35%,#ee8a86 70%,#f5a64a 100%);
--gradient-focus:linear-gradient(180deg,#000000 0%,#000000 55%,#2a2160 100%);
--area-blue:#3d55c9;--area-blue-tint:#eef0fb;--area-blue-line:#c9d0f2;
--area-green:#4caf50;--area-green-ink:#3b8f3f;--area-green-tint:#edf7ee;--area-green-line:#c6e6c8;
--area-purple:#b23fd6;--area-purple-tint:#f7ecfb;--area-purple-line:#e7c8f2;
--area-red:#e5484d;--area-red-tint:#fdeeee;--area-red-line:#f6c9cb;
--area-orange:#ef8a1f;--area-orange-tint:#fef3e6;--area-orange-line:#f8d8b0;
--area-sky:#2f80ed;--area-sky-tint:#eaf3fd;--area-sky-line:#bcd7f6;
--now-line:#e5484d;--danger:#e5484d;--warning:#ef8a1f;--success:#4caf50;--info:#2f80ed;
--surface-app:var(--ink-50);--surface-card:var(--white);--surface-sunken:var(--ink-100);--surface-focus-card:#17171a;
--text-on-focus-muted:#a3a3ab;
--border-subtle:var(--ink-150);--border-default:var(--ink-200);--border-strong:var(--ink-300);
--font-ui:"Inter",-apple-system,"SF Pro Text",system-ui,sans-serif;
--font-display:"Source Serif 4","Source Serif Pro",Georgia,serif;
--ls-caps:0.04em;
--shadow-xs:0 1px 2px rgba(17,18,20,.04);
--shadow-card:0 1px 2px rgba(17,18,20,.04),0 4px 14px rgba(17,18,20,.05);
--shadow-raised:0 2px 6px rgba(17,18,20,.06),0 12px 28px rgba(17,18,20,.08);
--shadow-device:0 30px 80px rgba(17,18,20,.18);
--blur-glass:saturate(180%) blur(20px);
--ease-standard:cubic-bezier(.2,0,0,1);
--gutter:clamp(16px,4vw,40px);
}

/* Area tone helpers: set --a / --a-tint / --a-line / --a-ink */
.tone-blue{--a:var(--area-blue);--a-tint:var(--area-blue-tint);--a-line:var(--area-blue-line);--a-ink:var(--area-blue)}
.tone-green{--a:var(--area-green);--a-tint:var(--area-green-tint);--a-line:var(--area-green-line);--a-ink:var(--area-green-ink)}
.tone-purple{--a:var(--area-purple);--a-tint:var(--area-purple-tint);--a-line:var(--area-purple-line);--a-ink:var(--area-purple)}
.tone-red{--a:var(--area-red);--a-tint:var(--area-red-tint);--a-line:var(--area-red-line);--a-ink:var(--area-red)}
.tone-orange{--a:var(--area-orange);--a-tint:var(--area-orange-tint);--a-line:var(--area-orange-line);--a-ink:var(--area-orange)}
.tone-sky{--a:var(--area-sky);--a-tint:var(--area-sky-tint);--a-line:var(--area-sky-line);--a-ink:var(--area-sky)}
.tone-neutral{--a:var(--ink-500);--a-tint:var(--ink-100);--a-line:var(--ink-200);--a-ink:var(--ink-500)}

/* ==========================================================================
   Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--surface-app);color:var(--ink-900);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--ink-900);text-decoration:none}
a:hover{color:var(--area-blue)}
img{max-width:100%;height:auto}
em{font-style:italic}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--area-blue);outline-offset:2px}
.screen-reader-text,.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:100;background:var(--white);padding:10px 14px;border-radius:10px;box-shadow:var(--shadow-raised)}
.site{min-height:100vh;background:var(--surface-app);overflow-x:hidden}
.wrap{max-width:1200px;margin:0 auto}
.ticon{display:block;flex-shrink:0}

/* Section shell + headings */
.sec{padding:clamp(56px,8vw,112px) var(--gutter)}
.sec--white{background:var(--white)}
.sec--app{background:var(--surface-app)}
.stack{display:flex;flex-direction:column}
.sec-head{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.eyebrow{font:500 16px/1 var(--font-ui);color:var(--ink-500)}
.display{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(36px,5vw,60px);line-height:1.05;letter-spacing:-0.02em;text-wrap:balance}
.lede{margin:0;font:400 18px/1.55 var(--font-ui);color:var(--ink-600)}
.swoosh{position:absolute;background:var(--gradient-swoosh);border-radius:999px;pointer-events:none}

/* ==========================================================================
   Components
   ========================================================================== */
/* Button */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 16px;border-radius:12px;font:500 16px/1 var(--font-ui);cursor:pointer;background:var(--ink-900);color:var(--white);border:1px solid var(--ink-900);transition:transform 120ms var(--ease-standard),box-shadow 200ms var(--ease-standard);white-space:nowrap;text-decoration:none}
.btn:hover{color:var(--white);box-shadow:var(--shadow-card)}
.btn:active{transform:scale(.97)}
.btn--secondary{background:var(--white);color:var(--ink-900);border-color:var(--border-default)}
.btn--secondary:hover{color:var(--ink-900)}
.btn--light{background:var(--white);color:var(--ink-900);border-color:var(--white)}
.btn--light:hover{color:var(--ink-900)}
.btn--ghost{background:transparent;color:var(--ink-900);border-color:transparent}
.btn--sm{height:34px;padding:0 12px;font-size:14px;border-radius:10px}
.btn--lg{height:54px;padding:0 20px;font-size:18px;border-radius:14px}
.btn--full{width:100%}
.store-label{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}
.store-label small{font-size:11px;font-weight:500;opacity:.75}
.store-label b{font-size:17px;font-weight:600}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* Icon button */
.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;cursor:pointer;background:var(--white);border:1px solid var(--border-default);border-radius:12px;color:var(--ink-900)}
.icon-btn--circle{border-radius:999px;color:var(--ink-500)}
.icon-btn--play{border:none;border-radius:999px;background:var(--a);color:var(--white);box-shadow:0 4px 12px rgba(0,0,0,.12)}

/* Area tile */
.area-tile{width:var(--s,40px);height:var(--s,40px);border-radius:calc(var(--s,40px) * .26);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--a-tint);color:var(--a)}
.area-tile--solid{background:var(--a);color:var(--white)}

/* Badge */
.badge{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;font:500 14px/1 var(--font-ui);background:var(--a-tint);color:var(--a-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.badge--outline{height:30px;border-radius:10px;border:1px solid var(--a-line)}

/* Insight callout */
.insight{display:flex;gap:12px;padding:12px 14px;border-radius:12px;background:var(--a-tint);border:1px solid var(--a-line)}
.insight > .ticon{color:var(--a);margin-top:2px}
.insight__body{font-size:15px;line-height:1.4;color:var(--ink-800);text-wrap:pretty}
.insight__title{display:block;font-weight:600;color:var(--ink-900);margin-bottom:2px}

/* Progress slider */
.slider{position:relative;height:24px;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.slider[data-interactive]{cursor:pointer}
.slider__track{position:absolute;left:0;right:0;top:9px;height:6px;border-radius:99px;background:var(--a-tint);display:flex;justify-content:space-between;align-items:center;padding:0 4px}
.slider__track i{width:1px;height:6px;background:var(--a-line)}
.slider__fill{position:absolute;left:0;top:9px;height:6px;border-radius:99px;background:var(--a)}
.slider__thumb{position:absolute;top:2px;width:20px;height:20px;margin-left:-10px;border-radius:99px;background:var(--a);box-shadow:0 0 0 3px var(--white),0 2px 6px rgba(0,0,0,.15);transition:transform 120ms var(--ease-standard)}
.slider[data-interactive]:active .slider__thumb{transform:scale(1.12)}

/* Timer section */
.timer-sec{container-type:inline-size;position:relative;background:var(--white);border-radius:16px;border:1px solid var(--a-line);border-left:3px solid var(--a);box-shadow:var(--shadow-raised);padding:14px 16px 12px 14px;display:flex;flex-direction:column;gap:18px;min-width:0}
.timer-sec__top{display:flex;gap:12px;align-items:flex-start}
.timer-sec__main{flex:1;min-width:0}
.timer-sec__title{display:flex;align-items:center;gap:6px;font-size:17px;font-weight:500;color:var(--ink-900);white-space:nowrap;overflow:hidden}
.timer-sec__title span{overflow:hidden;text-overflow:ellipsis}
.timer-sec__title .ticon{color:var(--a)}
.timer-sec__sub{font-size:14px;color:var(--ink-500);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@container (max-width:300px){.timer-sec .timer-sec__left{display:none}}
.thumb .timer-sec__left{display:none}
.timer-sec__meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.timer-sec__left{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--ink-500);white-space:nowrap}

/* Fixed block */
.fixed-block{border-radius:16px;background:var(--a-tint);border:1px solid var(--a-line);border-left:3px solid var(--a);padding:0 18px;display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:0}
.fixed-block__row{display:flex;align-items:center;gap:12px}
.fixed-block__title{font-size:17px;font-weight:500;color:var(--ink-900)}

/* Free slot */
.free-slot{display:flex;align-items:center;gap:12px;height:44px}
.free-slot .icon-btn{width:30px;height:30px}
.free-slot span{font-size:16px;font-weight:500;color:var(--ink-800)}

/* Goal row */
.goal-row{display:flex;align-items:center;gap:14px;padding:14px;background:var(--white);border-radius:14px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-xs)}
.goal-row__main{flex:1;min-width:0}
.goal-row__title{font-size:17px;font-weight:500;color:var(--ink-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.goal-row__meta{display:flex;align-items:center;gap:7px;margin-top:4px;font-size:14px;white-space:nowrap;flex-wrap:nowrap;overflow:hidden}
.goal-row__meta .dot{color:var(--ink-300)}
.goal-row__meta .area{color:var(--a-ink)}
.goal-row__meta .cnt,.goal-row__meta .due{display:inline-flex;align-items:center;gap:4px;color:var(--ink-500)}
.goal-row__meta .due--soon{color:var(--info)}
.goal-row__meta .due--today{color:var(--warning)}
.goal-row > .ticon{color:var(--ink-400)}

/* Search field + chips */
.search-field{display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;border-radius:12px;background:var(--surface-sunken);color:var(--ink-400);width:100%}
.search-field input{flex:1;min-width:0;border:none;outline:none;background:transparent;font:400 16px var(--font-ui);color:var(--ink-900);-webkit-appearance:none;appearance:none}
.search-field input::-webkit-search-cancel-button{cursor:pointer}
.search-field:focus-within{box-shadow:0 0 0 2px var(--area-blue-line)}
.chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.chip{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:12px;font:400 16px/1 var(--font-ui);background:var(--white);color:var(--ink-800);border:1px solid var(--border-default);transition:all 200ms var(--ease-standard)}
.chip:hover{color:var(--ink-900);border-color:var(--border-strong)}
.chip.is-selected{background:var(--area-green-tint);color:var(--area-green-ink);border-color:var(--area-green-line)}

/* Stars */
.stars{display:flex;gap:2px;color:var(--brand-star)}
.stars .ticon{fill:var(--brand-star)}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header{position:sticky;top:0;z-index:50;background:rgba(246,247,249,.85);backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);border-bottom:1px solid var(--border-subtle)}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:600px){.admin-bar .site-header{top:0}}
.site-header__inner{max-width:1200px;margin:0 auto;padding:8px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:block;width:84px;height:48px;overflow:hidden;position:relative;flex:none}
.logo img{position:absolute;width:84px;height:48px;left:0;top:0;mix-blend-mode:multiply;max-width:none}
.nav{display:flex;align-items:center;gap:clamp(16px,2.5vw,32px)}
.nav > a:not(.btn){font:500 15px/1 var(--font-ui);color:var(--ink-700)}
.nav > a:not(.btn):hover,.nav > a.is-current{color:var(--ink-900)}
.header-mobile{display:none;gap:8px;align-items:center}
.mobile-menu{display:none;border-top:1px solid var(--border-subtle);background:var(--white);padding:12px 20px 24px;flex-direction:column}
.mobile-menu > a{font:600 20px/1 var(--font-ui);padding:16px 0;border-bottom:1px solid var(--border-subtle);color:var(--ink-900)}
.mobile-menu .btn-row{margin-top:20px}
.site-header.is-open .mobile-menu{display:flex}
.read-progress{position:absolute;left:0;bottom:-1px;height:3px;width:0;background:var(--gradient-comet);transition:width 80ms linear}
@media (max-width:759px){
  .nav{display:none}
  .header-mobile{display:flex}
}

/* ==========================================================================
   Home — hero
   ========================================================================== */
.hero{padding:clamp(40px,8vw,104px) var(--gutter) clamp(48px,8vw,96px)}
.hero__grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(40px,6vw,72px);align-items:center}
.hero__copy{display:flex;flex-direction:column;gap:clamp(20px,3vw,28px);align-items:flex-start}
.pill{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;background:var(--white);border:1px solid var(--border-subtle);border-radius:999px;box-shadow:var(--shadow-xs)}
.pill__dot{width:22px;height:22px;border-radius:999px;background:var(--gradient-comet)}
.pill__text{font:500 14px/1 var(--font-ui);color:var(--ink-700)}
.hero h1{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(44px,7vw,88px);line-height:1.02;letter-spacing:-0.025em;text-wrap:balance}
.hero__lede{margin:0;max-width:520px;font:400 clamp(17px,1.6vw,21px)/1.5 var(--font-ui);color:var(--ink-600);text-wrap:pretty}
.rating{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rating__text{font:500 14px/1.3 var(--font-ui);color:var(--ink-600)}
.rating:hover .rating__text{color:var(--ink-900)}
.hero__visual{position:relative;padding:8px 0 64px clamp(0px,4vw,48px)}
.hero__visual .swoosh--a{left:-30%;right:-40%;top:22%;height:200px;transform:rotate(-16deg);filter:blur(36px);opacity:.55}
.hero__visual .swoosh--b{left:10%;right:-50%;top:62%;height:150px;transform:rotate(-8deg);filter:blur(44px);opacity:.4}
.device-card{position:relative;max-width:460px;margin-left:auto;background:var(--white);border-radius:32px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-device);padding:24px 18px;display:flex;flex-direction:column;gap:14px}
.device-card__head{display:flex;justify-content:space-between;align-items:baseline;padding:0 4px}
.device-card__date{font:600 22px/1.2 var(--font-ui);letter-spacing:-0.01em}
.device-card__tab{font:500 14px/1 var(--font-ui);color:var(--ink-500)}
.schedule{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px 8px;align-items:start}
.schedule__time{font:500 12px/1 var(--font-ui);color:var(--ink-400);font-variant-numeric:tabular-nums;padding-top:16px}
.schedule__time--now{color:var(--now-line)}
.float-card{background:var(--white);border-radius:16px;padding:10px;box-shadow:var(--shadow-raised);border:1px solid var(--border-subtle)}
.hero__insight{position:absolute;left:0;bottom:0;width:min(300px,82%)}

/* Pains */
.pains{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.pain{background:var(--surface-app);border:1px solid var(--border-subtle);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:20px}
.pain__quote{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:clamp(22px,2.2vw,26px);line-height:1.2;letter-spacing:-0.01em;text-wrap:pretty}
.pain__answer{display:flex;gap:12px;align-items:flex-start;padding-top:18px;border-top:1px solid var(--border-default);margin-top:auto}
.pain__answer span:last-child{font:400 15px/1.5 var(--font-ui);color:var(--ink-700)}

/* How it works */
.how{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(32px,6vw,80px);align-items:center}
.how__copy{display:flex;flex-direction:column;gap:clamp(24px,3vw,36px)}
.how__copy .lede{max-width:480px}
.steps{display:flex;flex-direction:column;gap:10px}
.step{display:flex;gap:18px;align-items:flex-start;padding:20px 22px;border-radius:20px;cursor:pointer;background:transparent;border:1px solid transparent;text-align:left;width:100%;font:inherit;color:inherit;transition:background 200ms var(--ease-standard),box-shadow 200ms var(--ease-standard)}
.step__n{font-family:var(--font-display);font-weight:700;font-size:28px;line-height:1;color:var(--ink-300);font-variant-numeric:tabular-nums;min-width:36px}
.step__body{display:flex;flex-direction:column;gap:8px}
.step__title{font:600 19px/1.3 var(--font-ui);color:var(--ink-500)}
.step__text{display:none;font:400 16px/1.5 var(--font-ui);color:var(--ink-600);text-wrap:pretty}
.step.is-active{background:var(--white);border-color:var(--border-subtle);box-shadow:var(--shadow-raised)}
.step.is-active .step__n{color:var(--step-color)}
.step.is-active .step__title{color:var(--ink-900)}
.step.is-active .step__text{display:block}
.how__visual{position:relative;border-radius:32px;background:var(--area-blue-tint);min-height:clamp(480px,52vw,580px);display:flex;align-items:center;justify-content:center;padding:clamp(20px,4vw,48px);overflow:hidden;transition:background 300ms var(--ease-standard)}
.how__visual[data-step="1"]{background:var(--area-orange-tint)}
.how__visual[data-step="2"]{background:var(--area-red-tint)}
.how__visual .swoosh{left:-20%;right:-20%;bottom:-60px;height:160px;transform:rotate(-10deg);filter:blur(40px);opacity:.45}
.how__panel{display:none;position:relative;width:100%}
.how__panel.is-active{display:flex;animation:thrive-fade 300ms var(--ease-standard)}
@keyframes thrive-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.phone-card{position:relative;width:100%;max-width:400px;background:var(--white);border-radius:28px;box-shadow:var(--shadow-device);padding:20px 16px;display:flex;flex-direction:column;gap:12px;margin:0 auto}
.phone-card__title{font:600 20px/1.2 var(--font-ui);padding:0 4px}
.phone-card .schedule__time{padding-top:14px}
.focus-card{position:relative;width:100%;max-width:380px;background:var(--gradient-focus);border-radius:32px;box-shadow:var(--shadow-device);padding:40px 22px 24px;display:flex;flex-direction:column;gap:20px;margin:0 auto}
.focus-card__time{font:600 clamp(44px,5vw,56px)/1 var(--font-ui);color:var(--white);text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-0.02em}
.focus-card__bar{height:6px;border-radius:999px;background:var(--ink-700);overflow:hidden}
.focus-card__bar div{width:58%;height:100%;background:var(--area-orange);border-radius:999px}
.focus-card__task{background:var(--surface-focus-card);border-radius:16px;padding:16px;display:flex;gap:12px;align-items:center}
.focus-card__task b{display:block;font:500 17px/1.2 var(--font-ui);color:var(--white);margin-bottom:6px}
.focus-card__task span{display:flex;gap:6px;align-items:center;font:400 14px/1 var(--font-ui);color:var(--text-on-focus-muted)}
.focus-card__space{height:clamp(40px,8vw,120px)}
.adapt{position:relative;width:100%;max-width:400px;display:flex;flex-direction:column;gap:12px;margin:0 auto}
.adapt .phone-card{max-width:none}

/* Features */
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(16px,3vw,28px)}
.feat{background:var(--a-tint);border-radius:28px;padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:16px}
.feat__label{font:600 14px/1 var(--font-ui);letter-spacing:var(--ls-caps);color:var(--a-ink);text-transform:uppercase}
.feat h3{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(28px,3vw,34px);line-height:1.1;letter-spacing:-0.02em}
.feat p{margin:0;font:400 16px/1.55 var(--font-ui);color:var(--ink-700)}
.feat__media{margin-top:auto;border-radius:16px;overflow:hidden;aspect-ratio:16/10;background:var(--white);box-shadow:var(--shadow-card)}
.feat__media img{width:100%;height:100%;object-fit:cover;display:block}
.feat__card{margin-top:auto;background:var(--white);border-radius:16px;padding:12px;box-shadow:var(--shadow-card)}
.feat__card--tight{padding:8px}
.feat__card--insight{padding:10px}
.feat--wide{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(20px,3vw,40px);align-items:center}
.feat--wide h3{font-size:clamp(30px,3.6vw,44px)}
.feat--wide .feat__media{margin-top:0}

/* Compare */
.compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}
.cmp{background:var(--ink-100);border-radius:24px;padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:18px}
.cmp__title{font:600 20px/1.2 var(--font-ui);color:var(--ink-600)}
.cmp__row{display:flex;gap:12px;align-items:flex-start;font:400 17px/1.4 var(--font-ui);color:var(--ink-600)}
.cmp__row .ticon{color:var(--ink-400)}
.cmp--thrive{background:var(--white);border:1px solid var(--border-subtle);box-shadow:var(--shadow-raised)}
.cmp--thrive .cmp__title{color:var(--ink-900)}
.cmp--thrive .cmp__row{font-weight:500;color:var(--ink-900)}
.cmp--thrive .cmp__row .ticon{color:var(--area-green-ink)}

/* Reviews */
.reviews{position:relative;overflow:hidden}
.reviews > .swoosh{left:-10%;right:-10%;top:clamp(120px,14vw,180px);height:220px;transform:rotate(-6deg);filter:blur(60px);opacity:.28}
.reviews__head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(28px,5vw,64px);align-items:end}
.reviews__head p{max-width:440px;font-size:17px}
.top-review{margin:0;background:var(--white);border:1px solid var(--border-subtle);border-radius:28px;padding:clamp(24px,3.5vw,40px);box-shadow:var(--shadow-raised);display:flex;flex-direction:column;gap:20px}
.top-review blockquote{margin:0;font-family:var(--font-display);font-weight:600;font-size:clamp(22px,2.4vw,30px);line-height:1.25;letter-spacing:-0.01em;text-wrap:pretty}
.review-cap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:400 14px/1.3 var(--font-ui);color:var(--ink-500)}
.review-cap b{font-weight:600;color:var(--ink-900)}
.review-cols{columns:3 280px;column-gap:16px}
.review{margin:0 0 16px;break-inside:avoid;background:var(--white);border:1px solid var(--border-subtle);border-radius:20px;padding:22px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:14px}
.review blockquote{margin:0;font:400 16px/1.55 var(--font-ui);color:var(--ink-800);text-wrap:pretty}
.review .review-cap{font-size:13px}
.review.is-extra{display:none}
.reviews.is-expanded .review.is-extra{display:flex}
@media (max-width:759px){
  .review.is-extra-mobile{display:none}
  .reviews.is-expanded .review.is-extra-mobile{display:flex}
}
.center{display:flex;justify-content:center}
.reviews .btn .ticon{transition:transform 200ms var(--ease-standard)}
.reviews.is-expanded .reviews__more .ticon{transform:rotate(180deg)}

/* Post cards / grids */
.row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.row-head .display{font-size:clamp(34px,4.5vw,56px)}
.post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(24px,3vw,32px)}
.post-grid--fill{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(28px,4vw,44px) clamp(24px,3vw,32px)}
.post-card{display:flex;flex-direction:column;gap:14px;color:var(--ink-900);transition:transform 200ms var(--ease-standard)}
@media (hover:hover){.post-card:hover{transform:translateY(-3px);color:var(--ink-900)}}
.post-card__media{aspect-ratio:16/11;border-radius:20px;overflow:hidden;border:1px solid var(--border-subtle);background:var(--ink-50)}
.post-meta{display:flex;gap:8px;flex-wrap:wrap;font:500 13px/1 var(--font-ui);color:var(--ink-500)}
.post-meta .cat{color:var(--ink-900)}
.post-card h3{margin:0;font-family:var(--font-display);font-weight:700;font-size:24px;line-height:1.2;letter-spacing:-0.01em;text-wrap:pretty}
.post-card p{margin:0;font:400 15px/1.5 var(--font-ui);color:var(--ink-500);text-wrap:pretty}
.post-card.is-hidden{display:none}

/* Blog cover (generated thumbnail, 640x440 canvas scaled to fit) */
.thumb{width:100%;height:100%;position:relative;overflow:hidden;background:var(--ink-50);container-type:inline-size}
.thumb--tint{background:var(--a-tint)}
.thumb__img{width:100%;height:100%;object-fit:cover;display:block}
.thumb__canvas{position:absolute;left:0;top:0;width:640px;height:440px;transform-origin:0 0;pointer-events:none;--k:tan(atan2(100cqw,640px));transform:scale(var(--k))}
.thumb__r{position:absolute;background:var(--gradient-swoosh);border-radius:999px}
.thumb__r--1{width:980px;height:190px;filter:blur(26px);opacity:.8}
.thumb__r--2{width:700px;height:120px;filter:blur(34px);opacity:.45}
.thumb__text{position:absolute;left:44px;top:42px;width:340px;display:flex;flex-direction:column;gap:14px}
.thumb__eyebrow{font:500 17px/1 var(--font-ui);color:var(--ink-600)}
.thumb__title{font-family:var(--font-display);font-weight:700;font-size:50px;line-height:1;letter-spacing:-0.025em;color:var(--ink-900)}
.thumb__star{position:absolute;left:44px;bottom:40px;width:40px;height:44px}
.thumb__star img{width:100%;height:100%;mix-blend-mode:multiply;display:block}
.thumb__widget{position:absolute;right:40px;bottom:46px;width:312px;transform:rotate(-4deg);background:var(--white);border-radius:24px;padding:12px;box-shadow:var(--shadow-device);border:1px solid var(--border-subtle)}

/* FAQ (details/summary accordions) */
.faq-list{display:flex;flex-direction:column;gap:10px}
.faq{background:var(--surface-app);border:1px solid var(--border-subtle);border-radius:16px}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;cursor:pointer;list-style:none;font:600 clamp(16px,1.6vw,18px)/1.35 var(--font-ui)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ticon{color:var(--ink-500)}
.faq summary .i-minus{display:none}
.faq[open] summary .i-minus{display:block}
.faq[open] summary .i-plus{display:none}
.faq p{margin:0;padding:0 22px 22px;font:400 16px/1.6 var(--font-ui);color:var(--ink-600);max-width:680px}
.faq--white{background:var(--white)}
.faq--white summary{padding:18px 20px;font-size:17px}
.faq--white p{padding:0 20px 20px}

/* Download CTA */
.download{padding:clamp(40px,6vw,80px) var(--gutter)}
.download__card{max-width:1200px;margin:0 auto;position:relative;overflow:hidden;border-radius:clamp(24px,3vw,32px);background:var(--brand-night);padding:clamp(28px,6vw,80px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:40px;align-items:center}
.download__card .swoosh--a{left:30%;right:-30%;top:10%;height:240px;transform:rotate(-18deg);filter:blur(50px);opacity:.55}
.download__card .swoosh--b{left:-20%;right:40%;bottom:-120px;height:200px;transform:rotate(10deg);filter:blur(60px);opacity:.35}
.download__copy{position:relative;display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.download__copy .eyebrow{color:var(--text-on-focus-muted)}
.download__copy h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(38px,5.5vw,72px);line-height:1.02;letter-spacing:-0.025em;color:var(--white);text-wrap:balance}
.download__copy p{margin:0;max-width:460px;font:400 clamp(17px,1.6vw,19px)/1.5 var(--font-ui);color:var(--ink-200)}
.download__copy .store-label small{opacity:.7}
.download__widgets{position:relative;display:flex;flex-direction:column;gap:12px;max-width:400px;width:100%;justify-self:end}
.download__widgets .wbox{background:var(--white);border-radius:16px;padding:10px}

/* Footer */
.site-footer{padding:clamp(40px,6vw,64px) var(--gutter) 40px;border-top:1px solid var(--border-subtle);background:var(--white)}
.site-footer__top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.site-footer__brand{display:flex;flex-direction:column;gap:10px;max-width:320px}
.site-footer__brand span{font:400 15px/1.5 var(--font-ui);color:var(--ink-500)}
.site-footer__cols{display:flex;gap:clamp(40px,8vw,96px);flex-wrap:wrap}
.site-footer__col{display:flex;flex-direction:column;gap:12px}
.site-footer__col h4{margin:0;font:600 13px/1 var(--font-ui);letter-spacing:var(--ls-caps);color:var(--ink-500);text-transform:uppercase}
.site-footer__col a{font:500 15px/1.3 var(--font-ui)}
.site-footer__bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;margin-top:40px;border-top:1px solid var(--border-subtle);font:400 13px/1 var(--font-ui);color:var(--ink-500)}

/* ==========================================================================
   Blog index
   ========================================================================== */
.blog-hero{padding:clamp(40px,7vw,96px) var(--gutter) clamp(48px,8vw,96px)}
.blog-hero__head{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.blog-hero__head h1{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(40px,6.5vw,80px);line-height:1.02;letter-spacing:-0.025em;text-wrap:balance;max-width:900px}
.blog-hero__head p{margin:0;max-width:580px;font:400 clamp(17px,1.6vw,19px)/1.5 var(--font-ui);color:var(--ink-600);text-wrap:pretty}
.blog-search{width:100%;max-width:440px;margin-top:8px}
.featured{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));background:var(--white);border:1px solid var(--border-subtle);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-card);color:var(--ink-900);transition:transform 200ms var(--ease-standard)}
@media (hover:hover){.featured:hover{transform:translateY(-3px);color:var(--ink-900)}}
.featured__media{aspect-ratio:16/11}
.featured__body{padding:clamp(24px,4vw,56px);display:flex;flex-direction:column;justify-content:center;gap:18px;align-items:flex-start}
.featured__meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font:500 13px/1 var(--font-ui);color:var(--ink-500)}
.featured h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(28px,3.6vw,46px);line-height:1.08;letter-spacing:-0.02em;text-wrap:balance}
.featured p{margin:0;font:400 clamp(16px,1.6vw,18px)/1.55 var(--font-ui);color:var(--ink-600);text-wrap:pretty}
.read-more{display:flex;align-items:center;gap:8px;font:600 15px/1 var(--font-ui)}
.no-results{text-align:center;padding:40px 0;display:flex;flex-direction:column;gap:12px;align-items:center}
.no-results[hidden]{display:none}
.no-results strong{font:600 18px/1.3 var(--font-ui)}
.pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:12px;background:var(--white);border:1px solid var(--border-default);font:500 15px/1 var(--font-ui);color:var(--ink-900)}
.pagination .page-numbers.current{background:var(--ink-900);border-color:var(--ink-900);color:var(--white)}
.pagination .page-numbers.dots{border:none;background:transparent}

/* ==========================================================================
   Single post
   ========================================================================== */
.post-hero{padding:clamp(24px,4vw,48px) var(--gutter) clamp(32px,5vw,64px);background:var(--white);border-bottom:1px solid var(--border-subtle)}
.crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:500 14px/1 var(--font-ui);color:var(--ink-500)}
.crumbs a{color:var(--ink-500)}
.crumbs a:hover{color:var(--ink-900)}
.crumbs .ticon{color:var(--ink-400)}
.post-hero__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(28px,5vw,64px);align-items:center}
.post-hero__copy{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.post-hero h1{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(36px,5vw,62px);line-height:1.04;letter-spacing:-0.025em;text-wrap:balance}
.post-hero__excerpt{margin:0;font:400 clamp(17px,1.7vw,20px)/1.5 var(--font-ui);color:var(--ink-600);text-wrap:pretty}
.byline{display:flex;align-items:center;gap:12px;padding-top:8px}
.byline b{display:block;font:600 15px/1 var(--font-ui);margin-bottom:6px}
.byline span{font:400 14px/1 var(--font-ui);color:var(--ink-500)}
.post-hero__media{aspect-ratio:16/11;border-radius:28px;overflow:hidden;border:1px solid var(--border-subtle);box-shadow:var(--shadow-card)}
.post-body{padding:clamp(32px,5vw,72px) var(--gutter) 0}
.post-layout{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;gap:clamp(32px,6vw,80px);align-items:flex-start;justify-content:center}
.post-aside{flex:0 0 260px;position:sticky;top:88px;display:flex;flex-direction:column;gap:28px}
.admin-bar .post-aside{top:120px}
.toc{display:flex;flex-direction:column;gap:4px}
.toc__label{font:600 12px/1 var(--font-ui);letter-spacing:var(--ls-caps);color:var(--ink-500);margin-bottom:12px;text-transform:uppercase}
.toc a{padding:8px 0 8px 14px;border-left:2px solid var(--border-default);font:500 14px/1.4 var(--font-ui);color:var(--ink-500);transition:color 200ms var(--ease-standard)}
.toc a:hover{color:var(--ink-900)}
.toc a.is-active{border-left-color:var(--ink-900);color:var(--ink-900);font-weight:600}
.side-cta{background:var(--white);border:1px solid var(--border-subtle);border-radius:20px;padding:20px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.side-cta .swoosh{left:-30%;right:-30%;top:-50px;height:90px;filter:blur(26px);opacity:.5;transform:rotate(-8deg);border-radius:0}
.side-cta__title{position:relative;font-family:var(--font-display);font-weight:700;font-size:22px;line-height:1.15;letter-spacing:-0.01em}
.side-cta__text{position:relative;font:400 14px/1.45 var(--font-ui);color:var(--ink-600)}
.side-cta .btn{position:relative}
.article{flex:1 1 560px;min-width:0;max-width:720px;display:flex;flex-direction:column;gap:clamp(32px,4vw,44px)}
.toc-mobile{display:none;background:var(--white);border:1px solid var(--border-subtle);border-radius:16px}
.toc-mobile summary{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;cursor:pointer;list-style:none;font:600 15px/1 var(--font-ui)}
.toc-mobile summary::-webkit-details-marker{display:none}
.toc-mobile summary .ticon{color:var(--ink-500);transition:transform 200ms var(--ease-standard)}
.toc-mobile[open] summary .ticon{transform:rotate(180deg)}
.toc-mobile nav{display:flex;flex-direction:column;padding:0 18px 12px}
.toc-mobile nav a{padding:12px 0;border-top:1px solid var(--border-subtle);font:500 15px/1.35 var(--font-ui);color:var(--ink-700)}
@media (max-width:759px){
  .post-aside{display:none}
  .toc-mobile{display:block}
}
.takeaways{background:var(--a-tint);border-radius:24px;padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:16px}
.takeaways__label{font:600 13px/1 var(--font-ui);letter-spacing:var(--ls-caps);color:var(--ink-700);text-transform:uppercase}
.takeaways__item{display:flex;gap:12px;align-items:flex-start;font:500 clamp(16px,1.6vw,18px)/1.45 var(--font-ui)}
.takeaways__check{flex:none;width:24px;height:24px;border-radius:999px;background:var(--white);display:flex;align-items:center;justify-content:center;margin-top:1px}

/* Article content */
.entry{display:flex;flex-direction:column;gap:18px;font:400 clamp(17px,1.7vw,19px)/1.75 var(--font-ui);color:var(--ink-700)}
.entry > *{margin:0}
.entry p{text-wrap:pretty}
.entry h2{margin-top:clamp(14px,2vw,26px);font-family:var(--font-display);font-weight:700;font-size:clamp(28px,3.2vw,38px);line-height:1.12;letter-spacing:-0.015em;text-wrap:balance;color:var(--ink-900);scroll-margin-top:96px}
.entry > h2:first-child{margin-top:0}
.entry h3{margin-top:8px;font-family:var(--font-display);font-weight:700;font-size:clamp(22px,2.4vw,26px);line-height:1.2;letter-spacing:-0.01em;color:var(--ink-900);scroll-margin-top:96px}
.entry h4{font:600 18px/1.35 var(--font-ui);color:var(--ink-900)}
.entry a{color:var(--area-blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--area-blue-line)}
.entry a:hover{text-decoration-color:var(--area-blue)}
.entry strong{color:var(--ink-900);font-weight:600}
.entry ol{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:tli}
.entry ol > li{counter-increment:tli;display:flex;gap:16px;align-items:flex-start;background:var(--white);border:1px solid var(--border-subtle);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-xs);font-size:clamp(16px,1.6vw,18px);line-height:1.55;color:var(--ink-800)}
.entry ol > li::before{content:counter(tli,decimal-leading-zero);flex:none;font-family:var(--font-display);font-weight:700;font-size:22px;line-height:1.2;color:var(--ink-400);font-variant-numeric:tabular-nums;min-width:30px}
.entry ul{padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.entry ul > li{position:relative;padding-left:28px}
.entry ul > li::before{content:"";position:absolute;left:4px;top:.68em;width:10px;height:10px;border-radius:999px;background:var(--a,var(--area-blue));opacity:.85}
.entry blockquote,.entry .wp-block-quote,.entry .wp-block-pullquote{margin:12px 0;padding:0;border:0;display:flex;flex-direction:column;gap:16px}
.entry blockquote::before{content:"";display:block;width:56px;height:4px;border-radius:999px;background:var(--gradient-comet)}
.entry blockquote p{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:clamp(26px,3vw,34px);line-height:1.2;letter-spacing:-0.015em;text-wrap:balance;color:var(--ink-900)}
.entry blockquote cite{font:500 14px/1.3 var(--font-ui);font-style:normal;color:var(--ink-500)}
.entry .wp-block-pullquote blockquote::before{margin:0 auto}
.entry figure{margin:8px 0}
.entry img{border-radius:20px;display:block}
.entry figcaption{margin-top:10px;font:400 14px/1.4 var(--font-ui);color:var(--ink-500);text-align:center}
.entry hr{border:0;border-top:1px solid var(--border-default);margin:16px 0}
.entry table{width:100%;border-collapse:collapse;font-size:16px}
.entry th,.entry td{border-bottom:1px solid var(--border-default);padding:10px 12px;text-align:left}
.entry code{font-family:ui-monospace,monospace;font-size:.9em;background:var(--ink-100);padding:2px 6px;border-radius:6px}
.entry pre{background:var(--ink-900);color:var(--white);padding:18px;border-radius:16px;overflow:auto;font-size:15px}
.entry pre code{background:none;padding:0}
.entry .alignwide,.entry .alignfull{width:100%}
.entry .wp-block-button__link{background:var(--ink-900);color:var(--white);border-radius:12px;padding:12px 18px;text-decoration:none;font:500 16px/1 var(--font-ui)}
.entry a.thrive-autolink{text-decoration-style:solid}
.entry .wp-block-image,.entry .wp-block-embed{margin:8px 0}
.entry iframe{max-width:100%;border-radius:16px}

/* In-article CTA */
.post-cta{margin:16px 0;position:relative;overflow:hidden;border-radius:24px;background:var(--brand-night);padding:clamp(24px,4vw,36px);display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.post-cta .swoosh{left:20%;right:-30%;top:-40px;height:140px;transform:rotate(-10deg);filter:blur(36px);opacity:.55}
.post-cta__copy{position:relative;display:flex;flex-direction:column;gap:8px;max-width:360px}
.post-cta__title{font-family:var(--font-display);font-weight:700;font-size:clamp(24px,2.6vw,30px);line-height:1.1;color:var(--white)}
.post-cta__text{font:400 15px/1.45 var(--font-ui);color:var(--ink-200)}
.post-cta .btn-row{position:relative;gap:8px}
.entry .post-cta a{text-decoration:none;color:var(--ink-900)}

/* Inline "read also" card (shortcode) */
.read-also{display:flex;gap:14px;align-items:center;background:var(--white);border:1px solid var(--border-subtle);border-radius:16px;padding:14px 16px;box-shadow:var(--shadow-xs);text-decoration:none!important;color:var(--ink-900)!important}
.read-also:hover{box-shadow:var(--shadow-card)}
.read-also__label{display:block;font:600 12px/1 var(--font-ui);letter-spacing:var(--ls-caps);color:var(--ink-500);text-transform:uppercase;margin-bottom:6px}
.read-also__title{font:600 17px/1.35 var(--font-ui)}
.read-also .ticon{margin-left:auto;color:var(--ink-400)}

.tip-box{background:var(--white);border:1px solid var(--border-subtle);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-card)}
.tip-box__label{font:600 12px/1 var(--font-ui);letter-spacing:var(--ls-caps);color:var(--ink-500);padding:0 4px;text-transform:uppercase}
.post-faq{display:flex;flex-direction:column;gap:16px;scroll-margin-top:96px}
.post-faq h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(28px,3.2vw,38px);line-height:1.12;letter-spacing:-0.015em}
.post-faq .faq-list{gap:8px}
.author-box{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;padding:24px 0;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default)}
.author-box__who{display:flex;align-items:center;gap:14px}
.author-box__who b{display:block;font:600 15px/1.2 var(--font-ui);margin-bottom:4px}
.author-box__who span{font:400 14px/1.4 var(--font-ui);color:var(--ink-500)}
.prev-next{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}
.pn{background:var(--white);border:1px solid var(--border-subtle);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:8px;color:var(--ink-900);transition:box-shadow 200ms var(--ease-standard)}
.pn:hover{box-shadow:var(--shadow-card);color:var(--ink-900)}
.pn__dir{display:flex;gap:6px;align-items:center;font:500 13px/1 var(--font-ui);color:var(--ink-500)}
.pn__title{font:600 16px/1.35 var(--font-ui);text-wrap:pretty}
.pn--next{text-align:right;align-items:flex-end}
.keep-reading{padding:clamp(56px,8vw,112px) var(--gutter) clamp(16px,3vw,32px)}
.keep-reading .display{font-size:clamp(30px,4vw,48px)}
.keep-reading .post-card h3{font-size:22px}

/* Generic pages */
.page-hero{padding:clamp(40px,7vw,96px) var(--gutter) clamp(24px,4vw,40px);text-align:center}
.page-hero h1{margin:0 auto;font-family:var(--font-display);font-weight:700;font-size:clamp(38px,5.5vw,64px);line-height:1.04;letter-spacing:-0.025em;text-wrap:balance;max-width:900px}
.page-body{padding:0 var(--gutter) clamp(48px,6vw,80px)}
.page-body .entry{max-width:760px;margin:0 auto;background:var(--white);border:1px solid var(--border-subtle);border-radius:28px;padding:clamp(24px,5vw,56px);box-shadow:var(--shadow-card);font-size:17px}
.page-body--wide .entry{max-width:1200px;background:none;border:0;box-shadow:none;padding:0}
.e404{padding:clamp(64px,10vw,140px) var(--gutter);text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}
.e404 h1{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(44px,7vw,88px);line-height:1.02;letter-spacing:-0.025em}
.e404 p{margin:0;max-width:520px;font:400 18px/1.55 var(--font-ui);color:var(--ink-600)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Toggle icon states */
[data-menu-toggle] .when-open{display:none}
.site-header.is-open [data-menu-toggle] .when-open{display:block}
.site-header.is-open [data-menu-toggle] .when-closed{display:none}
[data-copy-link] .when-copied{display:none}
[data-copy-link].is-copied .when-copied{display:block}
[data-copy-link].is-copied .when-idle{display:none}
.logo--plain{pointer-events:none}

/* ==========================================================================
   Mobile, tablet & touch
   ========================================================================== */
a,button,summary,label,.step,[role=slider]{-webkit-tap-highlight-color:transparent}
.search-field input{height:100%}
.goal-row{container-type:inline-size}
.carousel-dots{display:none}
.entry p,.entry li,.entry td{overflow-wrap:break-word}
.entry table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.nav > a:not(.btn){padding:12px 0}
.crumbs a{padding:12px 0;margin:-12px 0}

/* Narrow app cards: keep titles readable instead of cutting them off */
@container (max-width:300px){
  .timer-sec .timer-sec__top{gap:10px}
  .timer-sec .icon-btn--play{width:38px;height:38px}
  .timer-sec .icon-btn--play .ticon{width:18px;height:18px}
  .timer-sec .timer-sec__title{font-size:16px;white-space:normal;align-items:flex-start}
  .timer-sec .timer-sec__title .ticon{margin-top:2px}
  .timer-sec .timer-sec__title span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;line-height:1.25}
}
@container (max-width:340px){
  .goal-row .goal-row__title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25}
  .goal-row .goal-row__meta{flex-wrap:wrap;row-gap:2px}
}

/* Touch devices: no sticky hover states, real press feedback, bigger small buttons */
@media (hover:none){
  .btn:hover{box-shadow:none}
  .post-card:active,.featured:active,.pn:active{transform:scale(.985)}
  .chip:active,.step:active{transform:scale(.98)}
}
@media (pointer:coarse){
  .btn--sm{height:40px;padding:0 14px}
}

/* Tablets (760–999px) */
@media (max-width:999px){
  .post-aside{display:none}
  .toc-mobile{display:block}
  .article{flex-basis:100%;max-width:720px}
  .hero__visual{max-width:560px;width:100%;margin:0 auto}
  .download__widgets{justify-self:stretch;max-width:none}
}

/* Phones (< 760px) */
@media (max-width:759px){
  :root{--gutter:16px}
  html{scroll-padding-top:72px}
  .sec{padding-top:56px;padding-bottom:56px}

  /* Header */
  .site-header__inner{padding-top:8px;padding-bottom:8px}
  .header-mobile .btn{height:40px;padding:0 14px}
  .mobile-menu{max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .mobile-menu > a{padding:18px 0}

  /* Store buttons: equal widths, stack on very small screens */
  .btn-row--stores{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));width:100%;gap:10px}
  .btn-row--stores .btn{width:100%;padding:0 12px}

  /* Hero */
  .hero{padding-top:32px;padding-bottom:48px}
  .hero__grid{gap:40px}
  .hero__copy{gap:20px}
  .hero__visual{padding:4px 0 0}
  .hero__visual .swoosh--a{left:-50%;right:-50%}
  .hero__visual .swoosh--b{left:-20%;right:-60%}
  .device-card{padding:20px 14px;border-radius:28px}
  .hero__insight{position:relative;left:auto;bottom:auto;width:min(330px,90%);margin:-20px 0 0 8px}

  /* Swipeable rows (pains, reviews, latest articles) */
  [data-carousel]{display:flex!important;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;columns:auto;margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding:4px var(--gutter) 14px;scroll-padding-inline:var(--gutter)}
  [data-carousel]::-webkit-scrollbar{display:none}
  [data-carousel] > *{flex:0 0 min(84%,340px);scroll-snap-align:start;margin:0!important}
  [data-carousel] > :only-child{flex-basis:100%}
  .carousel-dots{display:flex;justify-content:center;gap:6px;margin-top:-2px}
  .carousel-dots span{width:7px;height:7px;border-radius:99px;background:var(--ink-300);transition:width 200ms var(--ease-standard),background 200ms var(--ease-standard)}
  .carousel-dots span.is-active{width:20px;background:var(--ink-900)}
  .pain{padding:24px}
  .review-cols .review,.review-cols .review.is-extra,.review-cols .review.is-extra-mobile{display:flex}
  .reviews__more{display:none}
  .top-review{padding:24px;border-radius:24px}

  /* How it works: the preview opens right under the selected step */
  .how__visual{min-height:0;padding:20px 12px;border-radius:24px;margin:2px 0 6px}
  .how__visual .swoosh{bottom:-80px}
  .step{padding:16px 18px;gap:14px}
  .phone-card{padding:16px 12px;border-radius:24px}
  .focus-card{padding:28px 18px 20px}
  .focus-card__space{height:24px}

  /* Features & compare */
  .feat{padding:24px;border-radius:24px}
  .cmp{padding:24px}

  /* Download section */
  .download{padding-top:32px;padding-bottom:40px}
  .download__card{padding:32px 20px 20px;gap:28px;border-radius:24px}

  /* Footer */
  .site-footer__top{gap:28px}
  .site-footer__cols{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px;width:100%}
  .site-footer__col{gap:0}
  .site-footer__col h4{margin-bottom:6px}
  .site-footer__col a{padding:9px 0}
  .site-footer__bottom{margin-top:28px;padding-bottom:env(safe-area-inset-bottom)}

  /* Blog index */
  .blog-hero{padding-top:32px}
  .chips{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;width:calc(100% + 2 * var(--gutter));margin:0 calc(-1 * var(--gutter));padding:2px var(--gutter) 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .chips::-webkit-scrollbar{display:none}
  .chips::before,.chips::after{content:"";margin:auto}
  .chip{flex:none}
  .featured{border-radius:24px}
  .featured__body{padding:22px 20px 26px;gap:14px}

  /* Article */
  .post-hero{padding-top:20px}
  .post-hero__grid{gap:24px}
  .post-hero__copy{gap:16px}
  .post-hero__media{border-radius:22px}
  .post-body{padding-top:28px}
  .article{gap:32px}
  .takeaways{border-radius:20px;padding:20px}
  .entry{font-size:17px;line-height:1.7;gap:16px}
  .entry ol > li{padding:14px 16px;gap:12px}
  .post-cta{padding:24px 20px;border-radius:20px}
  .post-cta .btn-row{width:100%}
  .author-box{gap:16px}
  .author-box .btn{width:100%}
  .keep-reading{padding-top:56px}
  .page-body .entry{border-radius:22px;padding:24px 20px}
}

/* Very small phones (≤ 360px) */
@media (max-width:360px){
  .hero h1{font-size:40px}
  .display{font-size:32px}
  .header-mobile .btn{padding:0 10px;font-size:13px}
  .pill__text{font-size:13px}
}
@container (max-width:240px){
  .timer-sec .timer-sec__meta{display:none}
}
@media (pointer:coarse){
  .site-footer__col{gap:0}
  .site-footer__col h4{margin-bottom:6px}
  .site-footer__col a{padding:10px 0}
}
