/* ============================================================
   Hande landing v3 — shared stylesheet
   Multi-page architecture (2026-06-12). Tokens per DESIGN_LANGUAGE.md.
   Pages are generated from landing-rebuild/v3/generate.py (outside
   the repo); if you edit nav/footer in one page, edit them in all.
   ============================================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --paper:#FBFAF6; --paper-alt:#F4F1E9; --card:#FFFFFF;
  --ink:#19302C; --ink-soft:#4C5E59; --ink-mute:#7A8783;
  --teal:#0F766E; --teal-dark:#0B5E54; --teal-tint:#E4F1ED;
  --coral:#DC6B4C; --coral-tint:#FBEBE3; --coral-deep:#B9512F;
  --line:#E9E3D7;
  --amber:#C77E1E; --red:#C2452E;
  /* app-identity colours used ONLY inside device screens (the product is emerald) */
  --app-em:#059669; --app-em-soft:#D1FAE5; --app-ink:#0f172a; --app-mute:#64748b; --app-line:#e2e8f0;
  --r:18px;
  --shadow:0 18px 50px -18px rgba(25,48,44,.18);
  --shadow-soft:0 10px 30px -14px rgba(25,48,44,.14);
}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
.serif{font-family:'Lora',Georgia,serif}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:60;background:rgba(251,250,246,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:26px;height:64px}
.logo{display:flex;align-items:center;font-weight:800;font-size:21px;letter-spacing:-.02em}
.logo img{width:30px;height:30px;margin-right:8px}
.logo .logo-dot{color:var(--coral)}
.nav-links{display:flex;align-items:center;gap:4px;margin-left:8px}
.nav-links>div,.nav-links>a{position:relative}
.nav-links a.top,.nav-links span.top{display:inline-flex;align-items:center;gap:5px;padding:9px 13px;border-radius:10px;font-size:14.5px;font-weight:600;color:var(--ink-soft);cursor:pointer}
.nav-links a.top:hover,.nav-links span.top:hover,.nav-links a.top.here{background:var(--teal-tint);color:var(--teal-dark)}
.caret{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.dd{position:absolute;top:calc(100% + 6px);left:0;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px;display:none;gap:26px;min-width:560px}
.has-dd:hover .dd,.has-dd:focus-within .dd{display:flex}
/* invisible hover bridges: the 6px visual gap between trigger and panel must stay hoverable,
   otherwise the menu closes while the cursor crosses it */
.has-dd::after{content:"";position:absolute;top:100%;left:0;width:560px;height:14px;display:none}
.has-dd:hover::after,.has-dd:focus-within::after{display:block}
.dd::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.dd-col{min-width:240px}
.dd-col h5{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-mute);margin:2px 0 8px 10px}
.dd a{display:block;padding:9px 10px;border-radius:10px}
.dd a:hover{background:var(--teal-tint)}
.dd a b{display:block;font-size:14px;color:var(--ink)}
.dd a small{font-size:12.5px;color:var(--ink-mute)}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:11px 20px;font-size:14.5px;font-weight:700;border:1.5px solid transparent;cursor:pointer;transition:.15s;white-space:nowrap}
.btn-primary{background:var(--coral);color:#fff}
.btn-primary:hover{background:var(--coral-deep)}
.btn-ghost{border-color:var(--line);color:var(--ink);background:var(--card)}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal-dark)}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-dark)}
.login{font-size:14.5px;font-weight:600;color:var(--ink-soft);padding:9px 10px}
.login:hover{color:var(--teal-dark)}
/* mobile burger */
.nav-burger{display:none;margin-left:auto;background:none;border:1.5px solid var(--line);border-radius:10px;padding:9px 11px;cursor:pointer}
.nav-burger i{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;margin:3.5px 0}
.mob-menu{display:none;position:absolute;top:64px;left:0;right:0;background:var(--card);border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:16px 22px 22px;max-height:calc(100vh - 64px);overflow-y:auto}
.mob-menu.open{display:block}
.mob-menu h5{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-mute);margin:14px 0 4px 4px}
.mob-menu a{display:block;padding:10px 6px;border-bottom:1px solid var(--paper-alt);font-size:15px;font-weight:600;color:var(--ink)}
.mob-menu a small{display:block;font-weight:500;font-size:12.5px;color:var(--ink-mute)}
.mob-menu .mob-cta{margin-top:16px;border:none}

/* ---------- shared section furniture ---------- */
section{padding:84px 0}
section.alt{background:var(--paper-alt)}
section.tight{padding:56px 0}
.over{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--coral-deep);margin-bottom:12px}
h1{font-size:clamp(34px,4.6vw,56px);line-height:1.08;letter-spacing:-.03em;font-weight:800}
h2{font-size:clamp(26px,3.2vw,38px);line-height:1.14;letter-spacing:-.025em;font-weight:800}
.sec-head{max-width:720px;margin-bottom:44px}
.sec-head p{margin-top:14px;color:var(--ink-soft);font-size:17px}
.hl{color:var(--teal)}
.eyebrow{display:inline-block;background:var(--teal-tint);color:var(--teal-dark);font-size:12.5px;font-weight:700;padding:6px 13px;border-radius:100px;margin-bottom:18px}

/* ---------- hero ---------- */
.hero{padding:54px 0 56px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.hero h1.statement{font-size:clamp(24px,2.65vw,36px);line-height:1.2;letter-spacing:-.02em}
.hero h1.statement .h1-soft{display:block;margin-top:8px;color:var(--teal)}
.hero p.sub{margin:18px 0 8px;font-size:18px;color:var(--ink-soft);max-width:520px}
.hero p.sub-small{margin:18px 0 8px;font-size:15.5px;color:var(--ink-mute);max-width:500px}
.hero p.sub-small b{color:var(--ink-soft)}
.hero .ctas{display:flex;gap:12px;margin:26px 0 18px;flex-wrap:wrap}
.micro{font-size:13.5px;color:var(--ink-mute)}
.micro b{color:var(--ink-soft)}

/* ---------- CSS device trio (laptop centre, portrait tablet right, phone front, one ground shadow) ----------
   .devices = layout box (can shrink) · .dcanvas = fixed 573px stage the devices are positioned on,
   scaled down at small widths so the grid column is never forced wide. */
.devices{position:relative;height:452px;margin-right:-48px}
.dcanvas{position:relative;width:573px;height:100%;margin-left:auto}
.dcanvas::after{content:"";position:absolute;left:4%;right:0;bottom:-6px;height:28px;background:radial-gradient(ellipse at center,rgba(25,48,44,.20),transparent 68%)}
.dev{position:absolute;background:#1f2937;box-shadow:var(--shadow)}
.dev .screen{background:#fff;overflow:hidden;position:relative}
.dev-laptop{width:456px;height:300px;left:0;bottom:30px;border-radius:16px 16px 0 0;padding:12px 12px 0;z-index:1}
.dev-laptop .screen{border-radius:7px 7px 0 0;height:100%}
.dev-laptop::after{content:"";position:absolute;left:-28px;right:-28px;bottom:-13px;height:15px;background:#111827;border-radius:2px 2px 13px 13px}
.dev-tablet{width:212px;height:284px;right:0;bottom:16px;border-radius:18px;padding:9px;z-index:2}
.dev-tablet .screen{border-radius:10px;height:100%}
.dev-tablet::before{content:"";position:absolute;top:4.5px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:#475569;z-index:5}
.dev-phone{width:132px;height:272px;right:236px;bottom:0;border-radius:24px;padding:6px;z-index:3}
.dev-phone .screen{border-radius:19px;height:100%}
.dev-phone::before{content:"";position:absolute;top:11px;left:50%;transform:translateX(-50%);width:44px;height:11px;background:#1f2937;border-radius:7px;z-index:5}

/* ---------- mini app UI (emerald = the real product identity) ---------- */
.app{font-size:8px;color:var(--app-ink);display:flex;height:100%;background:#f8fafc}
.app .side{width:88px;background:#fff;border-right:1px solid var(--app-line);padding:8px 7px;flex-shrink:0}
.app .side .brand{display:flex;align-items:center;gap:4px;font-weight:800;font-size:9px;margin-bottom:9px}
.app .side .brand i{width:10px;height:10px;border-radius:3px;background:var(--app-em);display:inline-block}
.app .side a{display:block;padding:4px 6px;border-radius:5px;color:var(--app-mute);margin-bottom:2px;font-weight:600}
.app .side a.on{background:var(--app-em-soft);color:var(--app-em)}
.app .main{flex:1;padding:9px 11px;overflow:hidden}
.app .topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.app .topline b{font-size:10.5px}
.app .topline .ava{width:13px;height:13px;border-radius:50%;background:var(--app-em);color:#fff;font-size:6.5px;display:flex;align-items:center;justify-content:center;font-weight:800}
.app .cards3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:8px}
.app .stat{background:#fff;border:1px solid var(--app-line);border-radius:7px;padding:6px 7px}
.app .stat small{display:block;color:var(--app-mute);font-size:6.5px;margin-bottom:2px}
.app .stat b{font-size:11px}
.app .panel{background:#fff;border:1px solid var(--app-line);border-radius:7px;padding:7px 8px;margin-bottom:7px}
.app .panel h6{font-size:7.5px;margin-bottom:5px;display:flex;justify-content:space-between;color:var(--app-ink)}
.app .row{display:flex;align-items:center;justify-content:space-between;padding:3.5px 0;border-top:1px solid #f1f5f9}
.app .row span{color:var(--app-mute)}
.pill{font-size:5.8px;font-weight:800;padding:2px 5px;border-radius:99px;letter-spacing:.04em}
.pill.crit{background:#fee2e2;color:#b91c1c}
.pill.today{background:var(--app-em-soft);color:#047857}
.pill.done{background:#f1f5f9;color:#64748b}
.pill.amber{background:#fef3c7;color:#b45309}
.tick{color:var(--app-em);font-weight:800}
.warn{color:#b45309;font-weight:800}
/* phone variant */
.app-phone{display:flex;flex-direction:column;background:#f8fafc;height:100%;font-size:8px}
.app-phone .ph-top{background:#fff;border-bottom:1px solid var(--app-line);padding:18px 9px 7px;font-weight:800;font-size:9.5px;display:flex;justify-content:space-between;align-items:center}
.app-phone .ph-top .burger{display:inline-flex;flex-direction:column;gap:1.6px;margin-right:5px}
.app-phone .ph-top .burger i{width:8px;height:1.6px;background:var(--app-ink);border-radius:2px}
.app-phone .ph-body{flex:1;padding:8px;overflow:hidden;position:relative}
/* My Shifts / Approvals screens (mirror the real app) */
.ph-body.mint{background:#DCEEE8;padding:8px 8px 4px}
.sh-head{display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;color:#163A33;margin:2px 0 3px}
.sh-cal{width:10px;height:10px;border:1.7px solid #059669;border-radius:2.5px;position:relative;display:inline-block}
.sh-cal::after{content:"";position:absolute;top:1.6px;left:1.4px;right:1.4px;height:1.7px;background:#059669;border-radius:1px}
.sh-sub{font-size:6.2px;color:#5E7B74;margin-bottom:8px;line-height:1.45}
.sh-day{font-size:6px;font-weight:800;letter-spacing:.07em;color:#7FA29A;margin:7px 1px 3.5px}
.sh-card{background:#fff;border-radius:9px;padding:7px 8px;box-shadow:0 1px 3px rgba(22,58,51,.10)}
.sh-row1{display:flex;align-items:center;gap:2.5px;font-size:7.1px;color:#163A33;white-space:nowrap;min-width:0}
.sh-row1 b{font-weight:800;letter-spacing:-.02em;flex-shrink:0}
.sh-8h{color:#7FA29A;font-size:5.8px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.pub{margin-left:auto;background:#DBEAFE;color:#3B82F6;font-size:4.8px;font-weight:800;padding:1.8px 4.5px;border-radius:99px;letter-spacing:.04em;flex-shrink:0}
.sh-addr{font-size:6.6px;color:#2F4A44;margin-top:3.5px;line-height:1.4}
.sh-kind{font-size:6px;color:#7FA29A;margin-top:2.5px}

/* ---------- generic cards ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow-soft)}
.card .ic{width:42px;height:42px;border-radius:12px;background:var(--teal-tint);color:var(--teal-dark);display:flex;align-items:center;justify-content:center;font-size:19px;margin-bottom:16px}
.card.coral .ic{background:var(--coral-tint);color:var(--coral-deep)}
.card h3{font-size:18px;margin-bottom:8px;letter-spacing:-.01em}
.card h4{font-size:17px;margin-bottom:8px}
.card p{font-size:14.5px;color:var(--ink-soft)}
.card .more{display:inline-block;margin-top:14px;font-size:13.5px;font-weight:700;color:var(--teal-dark)}
.card .more:hover{color:var(--coral-deep)}
a.card{transition:.15s}
a.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d8d0bf}

/* ---------- day in the life ---------- */
.day{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}
.day .step{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;position:relative}
.day .step::before{counter-increment:step;content:counter(step);position:absolute;top:-13px;left:20px;width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.day .step h4{font-size:15.5px;margin:6px 0 6px}
.day .step p{font-size:13.5px;color:var(--ink-soft)}
.day .step .tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute)}

/* ---------- screenshot + bullets (role pages) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.split .copy h2{margin-bottom:14px}
.split .copy>p{color:var(--ink-soft);font-size:16.5px;margin-bottom:18px}
.benefits{list-style:none}
.benefits li{padding:9px 0 9px 34px;position:relative;font-size:15.5px;color:var(--ink)}
.benefits li::before{content:"✓";position:absolute;left:0;top:7px;width:22px;height:22px;border-radius:50%;background:var(--teal-tint);color:var(--teal-dark);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.shot{background:#1f2937;border-radius:16px;padding:12px;box-shadow:var(--shadow)}
.shot .screen{background:#fff;border-radius:9px;overflow:hidden;height:380px}

/* ---------- quote band ---------- */
.quote{background:var(--teal);color:#fff;border-radius:24px;padding:54px 58px;position:relative}
.quote .q{font-family:'Lora',serif;font-style:italic;font-size:clamp(20px,2.6vw,28px);line-height:1.45;max-width:880px}
.quote .who{margin-top:22px;font-size:14.5px;opacity:.92}
.quote .who b{font-style:normal}

/* ---------- founder strip + about page ---------- */
.founder{display:grid;grid-template-columns:300px 1fr;gap:46px;align-items:center}
.founder .photo{border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.founder .photo img{width:100%;height:380px;object-fit:cover}
.founder .serif{font-size:21px;line-height:1.55;color:var(--ink);font-style:italic}
.founder .sig{margin-top:18px;font-weight:700;color:var(--ink-soft)}
.founder .sig small{display:block;font-weight:500;color:var(--ink-mute)}
.story-page{max-width:680px}
.story-page .photo{border-radius:20px;overflow:hidden;box-shadow:var(--shadow);max-width:300px;margin-bottom:34px}
.story-page p{font-size:17px;color:var(--ink-soft);margin-bottom:18px}
.story-page p b{color:var(--ink)}
.story-page .lead{font-family:'Lora',serif;font-style:italic;font-size:24px;color:var(--ink);margin-bottom:20px}
.story-page .pull{font-family:'Lora',serif;font-style:italic;font-size:21px;color:var(--teal-dark);border-left:3px solid var(--teal);padding-left:20px;margin:26px 0}
.story-page .sig{font-weight:700;color:var(--ink);font-size:18px}

/* ---------- pricing ---------- */
.price-strip{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:46px 52px;display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;box-shadow:var(--shadow-soft)}
.price-strip .big{font-size:46px;font-weight:800;letter-spacing:-.03em}
.price-strip .big small{font-size:16px;font-weight:600;color:var(--ink-mute)}
.price-strip .launch{display:inline-block;background:var(--coral-tint);color:var(--coral-deep);font-weight:700;font-size:13px;padding:5px 12px;border-radius:99px;margin-bottom:10px}
.price-strip p{color:var(--ink-soft);font-size:15px;margin-top:8px;max-width:560px}
.price-wrap{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:22px;align-items:start}
.price-card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:38px;box-shadow:var(--shadow-soft)}
.price-card.feat2{border:2px solid var(--teal);box-shadow:var(--shadow)}
.price-card .tag{display:inline-block;background:var(--coral-tint);color:var(--coral-deep);font-weight:700;font-size:12.5px;padding:5px 12px;border-radius:99px;margin-bottom:14px;text-align:center}
.price-card h3{font-size:21px;margin-bottom:10px}
.price-card .amt{font-size:44px;font-weight:800;letter-spacing:-.03em}
.price-card .amt small{font-size:15px;font-weight:600;color:var(--ink-mute)}
.price-card .then{color:var(--ink-soft);font-size:14.5px;margin:6px 0 18px}
.price-card .custom{font-size:34px;font-weight:800;margin:4px 0 6px}
.price-card ul{list-style:none;margin:0 0 22px}
.price-card ul li{padding:8px 0 8px 30px;position:relative;font-size:14.5px;color:var(--ink-soft);border-bottom:1px solid var(--paper-alt)}
.price-card ul li::before{content:"✓";position:absolute;left:0;top:8px;width:20px;height:20px;border-radius:50%;background:var(--teal-tint);color:var(--teal-dark);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.inc-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-soft)}
.inc-table th,.inc-table td{padding:14px 18px;text-align:left;font-size:14.5px;border-bottom:1px solid var(--paper-alt)}
.inc-table th{background:var(--paper-alt);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.inc-table td:last-child{text-align:center;color:var(--teal-dark);font-weight:800}
.inc-table tr:last-child td{border-bottom:none}

/* ---------- FAQ ---------- */
.faq{max-width:780px}
.qa{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:4px 22px;margin-bottom:12px}
.qa summary{cursor:pointer;font-weight:700;font-size:15.5px;padding:14px 0;list-style:none;position:relative;padding-right:30px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";position:absolute;right:2px;top:10px;font-size:21px;font-weight:600;color:var(--teal)}
.qa[open] summary::after{content:"–"}
.qa p{padding:0 0 16px;color:var(--ink-soft);font-size:14.5px}

/* ---------- blog ---------- */
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 40px}
.chip{padding:9px 18px;border-radius:99px;border:1.5px solid var(--line);background:var(--card);font-size:14px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:.15s}
.chip:hover{border-color:var(--teal)}
.chip.on{background:var(--teal);border-color:var(--teal);color:#fff}
.post{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.15s;position:relative}
.post:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.post .cover{height:178px;display:flex;align-items:center;justify-content:center}
.cover.ill svg{width:100%;height:100%;display:block}
.post .body{padding:22px 24px 18px;display:flex;flex-direction:column;flex:1}
.meta{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-mute);margin-bottom:10px}
.cat{background:var(--teal-tint);color:var(--teal-dark);font-weight:700;padding:3px 10px;border-radius:99px;font-size:11.5px}
.cat.coral{background:var(--coral-tint);color:var(--coral-deep)}
.post h3{font-size:18.5px;line-height:1.3;margin-bottom:8px}
.post h3 a::after{content:"";position:absolute;inset:0}
.post p{font-size:14px;color:var(--ink-soft);flex:1}
.foot{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.read{font-size:13.5px;font-weight:700;color:var(--teal-dark)}
.share{display:flex;gap:7px;position:relative;z-index:2}
.share a,.share button{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--card);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--ink-mute);font-weight:700;cursor:pointer;font-family:inherit}
.share a:hover,.share button:hover{background:var(--teal-tint);color:var(--teal-dark);border-color:var(--teal)}
.featured{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-soft);margin-bottom:40px}
.featured .cover{min-height:320px;display:flex;align-items:center;justify-content:center}
.featured .cover.ill{height:100%}
.featured .body{padding:44px 46px;display:flex;flex-direction:column;justify-content:center}
.featured h2{margin:10px 0 12px}
.featured h2 a:hover{color:var(--teal-dark)}
.featured .body>p{color:var(--ink-soft);font-size:16px}
/* article page */
.article{max-width:720px}
.article h1{font-size:clamp(30px,3.6vw,44px);margin:14px 0 18px}
.article .lede{font-size:19px;color:var(--ink-soft);font-family:'Lora',Georgia,serif;font-style:italic;margin-bottom:26px}
.article-body p{font-size:17px;color:#33473F;margin-bottom:20px;line-height:1.7}
.article-body p b{color:var(--ink)}
.article-body h2{font-size:24px;margin:36px 0 14px}
.article-body ul,.article-body ol{margin:0 0 20px 22px}
.article-body li{font-size:16.5px;color:#33473F;margin-bottom:9px;line-height:1.6}
.article-body blockquote{font-family:'Lora',serif;font-style:italic;font-size:20px;color:var(--teal-dark);border-left:3px solid var(--teal);padding-left:20px;margin:28px 0}
.article-share{display:flex;align-items:center;gap:12px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:34px 0}
.article-share span{font-size:13.5px;font-weight:700;color:var(--ink-soft)}
.author{display:flex;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-top:36px}
.author img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.author b{display:block;font-size:16px}
.author p{font-size:13.5px;color:var(--ink-soft);margin-top:3px}
.backlink{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--ink-mute);margin-bottom:8px}
.backlink:hover{color:var(--teal-dark)}

/* ---------- final cta + form ---------- */
.final{background:var(--paper-alt)}
.final .inner{background:var(--teal);border-radius:28px;color:#fff;padding:64px 60px;text-align:center}
.final h2{color:#fff}
.final .inner>p{margin:14px auto 28px;max-width:560px;opacity:.93;font-size:16.5px}
.final .btn-primary{background:#fff;color:var(--teal-dark)}
.final .btn-primary:hover{background:var(--coral-tint);color:var(--coral-deep)}
.demo-card{background:var(--card);border-radius:20px;box-shadow:var(--shadow);max-width:620px;margin:34px auto 0;padding:34px;text-align:left;color:var(--ink)}
.df-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.df-group{margin-bottom:14px}
.df-group label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--ink)}
.df-group input,.df-group select,.df-group textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:11px;font-family:inherit;font-size:14.5px;background:#fff;color:var(--ink)}
.df-group textarea{min-height:84px;resize:vertical}
.df-group input:focus,.df-group select:focus,.df-group textarea:focus{outline:none;border-color:var(--teal)}
.df-error{display:none;margin-top:12px;font-size:13.5px;color:var(--coral-deep);font-weight:600}
.df-success{display:none;text-align:center;padding:26px 8px}
.df-success .ic{width:54px;height:54px;border-radius:50%;background:var(--teal-tint);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.df-success h4{font-size:20px;margin-bottom:6px}
.df-success p{color:var(--ink-soft);font-size:14.5px}

/* ---------- footer ---------- */
footer{background:var(--paper);border-top:1px solid var(--line);padding:44px 0 54px;font-size:13.5px;color:var(--ink-mute)}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;margin-bottom:30px}
footer h6{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:12px}
footer a{display:block;padding:4px 0;color:var(--ink-mute)}
footer a:hover{color:var(--teal-dark)}
footer .logo{color:var(--ink)}
footer .reg{border-top:1px solid var(--line);padding-top:20px;font-size:12.5px;line-height:1.8}
footer .reg a{display:inline;padding:0}

/* ---------- cross links ---------- */
.xlinks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* ---------- responsive ---------- */
@media(max-width:1240px) and (min-width:981px){
  .dcanvas{transform:scale(.88);transform-origin:bottom right}
  .devices{height:404px}
}
@media(max-width:980px){
  .nav-links,.nav-cta .login{display:none}
  .nav-burger{display:block}
  .nav-cta{margin-left:0}
  .nav .wrap{justify-content:space-between}
  .hero .wrap{grid-template-columns:minmax(0,1fr)}
  .split,.founder,.featured,.price-wrap{grid-template-columns:1fr}
  .grid3,.grid4,.day,.xlinks{grid-template-columns:1fr 1fr}
  /* Pin the stage at its true height: devices are bottom-anchored on a 452px
     canvas, so height:100% of a shorter .devices box pushes their tops above
     the stage where overflow:hidden clips them (Android hero cut-off). */
  .devices{margin-right:0;margin-top:8px;overflow:hidden;height:452px}
  .dcanvas{margin-left:0;transform:none;height:452px}
  footer .cols{grid-template-columns:1fr 1fr}
  .price-strip{grid-template-columns:1fr}
  .quote{padding:38px 30px}
  .featured .cover{min-height:220px}
}
/* Scaled breakpoints: stage stays 452px tall; negative margin-top swallows the
   empty band above the laptop (122px unscaled) so devices sit snug under the
   copy, and .devices height = scaled visible content (laptop top → shadow). */
@media(max-width:760px){
  .devices{height:212px}
  .dcanvas{transform:scale(.62);transform-origin:top left;margin-top:-74px}
}
@media(max-width:640px){
  section{padding:56px 0}
  .grid3,.grid4,.day,.xlinks{grid-template-columns:1fr}
  .df-row{grid-template-columns:1fr}
  .final .inner{padding:44px 24px}
  .demo-card{padding:24px 18px}
  .devices{height:192px}
  .dcanvas{transform:scale(.56);margin-top:-66px}
  .day{gap:24px}
}
@media(max-width:420px){
  .devices{height:172px}
  .dcanvas{transform:scale(.5);margin-top:-59px}
  .wrap{padding:0 20px}
  .nav-cta .btn{padding:9px 13px;font-size:13px}
}
