/* rehost.expert — self-contained styles (relative paths only) */
:root{--ink:#0e1b26;--ink-2:#1d2f3d;--sea:#0f766e;--sea-2:#14b8a6;--deep:#0f5f73;--coral:#f26b4f;--coral-ink:#b93d1f;--sand:#f6f1e8;--paper:#fffdf9;--line:#e7e0d4;--muted:#55626d;--ok:#15803d;--warn:#b45309;--bad:#b91c1c;--r:18px;--shadow:0 20px 50px -24px rgba(14,27,38,.35);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;font-size:17px}
img,svg{max-width:100%;display:block}a{color:var(--sea)}
h1,h2,h3,h4{line-height:1.1;letter-spacing:-.03em;margin:0 0 .5em}
h1{font-size:clamp(2.3rem,1.4rem + 4vw,4.4rem);font-weight:850}
h2{font-size:clamp(1.8rem,1.2rem + 2.4vw,3rem);font-weight:800}
h3{font-size:1.25rem;font-weight:750}
p{margin:0 0 1em}
.wrap{width:min(var(--max),100% - 40px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;border-radius:8px;z-index:99}.skip:focus{left:8px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sea)}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}
.lead{font-size:clamp(1.05rem,1rem + .4vw,1.3rem);color:var(--muted);max-width:62ch}
.muted{color:var(--muted)}
.section{padding:clamp(64px,8vw,120px) 0}
.section--sand{background:var(--sand)}
.section--ink{background:var(--ink);color:#e9eef2}.section--ink .lead,.section--ink .muted{color:#a9b8c3}.section--ink .eyebrow{color:var(--sea-2)}
.head{max-width:760px;margin-bottom:clamp(32px,4vw,56px)}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font-size:1rem;transition:transform .2s,box-shadow .2s,background .2s;font-family:inherit}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--ink);color:#fff;box-shadow:0 10px 24px -12px rgba(14,27,38,.6)}
.btn--accent{background:var(--sea);color:#fff}
.btn--ghost{border-color:currentColor;color:var(--ink);background:transparent}
.section--ink .btn--ghost{color:#fff}
.btn:focus-visible,a:focus-visible,input:focus-visible+span,button:focus-visible,input[type=text]:focus-visible,input[type=email]:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.85);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .3s}
.top.scrolled{border-color:var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand svg{width:38px;height:38px}
.brand b{font-size:1.32rem;letter-spacing:-.04em;font-weight:850}.brand b span{color:var(--sea)}
.menu{display:flex;gap:22px;align-items:center}
.menu a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem}
.menu a:hover{color:var(--sea)}
.menu .btn{padding:10px 18px;color:#fff}
@media (max-width:980px){.menu a:not(.btn){display:none}}
/* hero */
.hero{position:relative;overflow:hidden;padding:clamp(40px,6vw,80px) 0 clamp(56px,7vw,100px);background:radial-gradient(1200px 600px at 85% -10%,rgba(20,184,166,.18),transparent 60%),radial-gradient(800px 500px at -10% 110%,rgba(242,107,79,.12),transparent 60%),var(--paper)}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,4vw,64px);align-items:center}
.hero h1 .hl{background:linear-gradient(90deg,var(--sea),var(--deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{margin:18px 0 28px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;color:var(--muted);font-size:.92rem}
.trust span{display:inline-flex;align-items:center;gap:8px}.trust svg{width:18px;height:18px;color:var(--sea)}
.hero-art{position:relative}
.hero-art .float{animation:float 7s ease-in-out infinite}
.hero-art .float2{animation:float 8s ease-in-out -2s infinite}
.hero-art .float3{animation:float 9s ease-in-out -4s infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-art .scan{animation:scan 3.2s ease-in-out infinite}
@keyframes scan{0%{transform:translateX(0)}50%{transform:translateX(6px)}100%{transform:translateX(0)}}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.hero-art{max-width:560px;margin-inline:auto}}
/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{background:var(--ink-2);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:24px}
.stat b{display:block;font-size:clamp(2rem,1.5rem + 2vw,3rem);letter-spacing:-.04em;color:#fff;line-height:1}
.stat span{display:block;margin-top:10px;color:#a9b8c3;font-size:.95rem}
.stat .bar{height:6px;border-radius:6px;background:rgba(255,255,255,.08);margin-top:16px;overflow:hidden}
.stat .bar i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--sea-2),var(--coral));border-radius:6px;transform-origin:left;transform:scaleX(0);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.stat.in .bar i{transform:scaleX(1)}
.stats-note{margin-top:18px;font-size:.85rem;color:#8ea0ad}
@media (max-width:900px){.stats{grid-template-columns:1fr 1fr}}
/* problem cards */
.problems{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.prob{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.prob:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.prob .screen{background:#f2f4f6;border-bottom:1px solid var(--line);padding:14px}
.prob .screen svg{width:100%;height:auto}
.prob .body{padding:20px 22px 24px}
.prob h3{margin-bottom:.35em}
.prob .fix{display:flex;gap:10px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);font-size:.95rem}
.prob .fix svg{flex:none;width:22px;height:22px;color:var(--ok);margin-top:2px}
.tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#fdecea;color:var(--bad);margin-bottom:10px}
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.how div{background:var(--ink);color:#e9eef2;border-radius:var(--r);padding:26px;position:relative;overflow:hidden}
.how div b{display:block;font-size:1.2rem;color:#fff;margin:12px 0 6px}
.how div p{color:#a9b8c3;margin:0}
.how .n{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(20,184,166,.18);color:var(--sea-2);font-weight:800}
@media (max-width:820px){.how{grid-template-columns:1fr}}
/* intro */
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:center}
.intro-grid blockquote{margin:0;font-size:clamp(1.4rem,1.1rem + 1.3vw,2.1rem);font-weight:750;letter-spacing:-.03em;line-height:1.2}
.intro-grid blockquote em{font-style:normal;color:var(--sea)}
.pillars{display:grid;gap:14px}
.pillar{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.pillar svg{flex:none;width:40px;height:40px;padding:8px;border-radius:12px;background:#e6f6f3;color:var(--sea)}
.pillar b{display:block}.pillar span{color:var(--muted);font-size:.95rem}
@media (max-width:900px){.intro-grid{grid-template-columns:1fr}}
/* picker */
.picker{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}
@media (max-width:1040px){.picker{grid-template-columns:1fr}}
.group{margin-bottom:26px}
.group h3{display:flex;align-items:center;gap:10px;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.group h3 svg{width:28px;height:28px;padding:5px;border-radius:9px;background:var(--ink);color:#fff}
.svc{display:grid;grid-template-columns:1fr auto;gap:12px 20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin-bottom:10px;transition:border-color .2s,box-shadow .2s,background .2s}
.svc[data-v=yes]{border-color:rgba(15,118,110,.55);box-shadow:0 0 0 3px rgba(20,184,166,.12)}
.svc[data-v=maybe]{border-color:rgba(180,83,9,.45);background:#fffaf2}
.svc[data-v=no]{opacity:.62}
.svc h4{font-size:1.08rem;margin:0 0 4px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.svc p{margin:0;color:var(--muted);font-size:.95rem}
.freq{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--deep);background:#e8f2f5;border-radius:999px;padding:3px 10px;white-space:nowrap}
.freq svg{width:13px;height:13px}
.addon{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#fde7e1;color:var(--coral-ink);padding:3px 8px;border-radius:999px}
.seg{display:inline-flex;background:var(--sand);border-radius:999px;padding:4px;gap:2px;border:0;margin:0}
.seg legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg span{display:block;padding:8px 14px;border-radius:999px;font-weight:700;font-size:.88rem;color:var(--muted);transition:background .2s,color .2s;user-select:none}
.seg label:hover span{color:var(--ink)}
.seg input:checked+span{color:#fff}
.seg .y input:checked+span{background:var(--sea)}
.seg .m input:checked+span{background:var(--warn)}
.seg .n input:checked+span{background:#64707a}
@media (max-width:640px){.svc{grid-template-columns:1fr}.seg{width:100%}.seg label{flex:1;text-align:center}}
.summary{position:sticky;top:92px;background:var(--ink);color:#e9eef2;border-radius:22px;padding:24px;box-shadow:var(--shadow)}
.summary h3{color:#fff;margin-bottom:6px}
.meter{display:flex;height:10px;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.1);margin:16px 0 10px}
.meter i{display:block;height:100%;transition:width .4s cubic-bezier(.2,.7,.2,1)}
.meter .y{background:var(--sea-2)}.meter .m{background:#f59e0b}.meter .n{background:#7b8790}
.counts{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.9rem;color:#c7d3db}
.counts b{color:#fff}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}
.chosen{margin:16px 0;max-height:240px;overflow:auto;font-size:.92rem}
.chosen h4{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#8ea0ad;margin:12px 0 6px}
.chosen ul{margin:0;padding-left:18px}.chosen li{margin:2px 0}
.chosen .empty{color:#8ea0ad;font-style:italic}
.suggest{background:rgba(20,184,166,.12);border:1px solid rgba(20,184,166,.35);border-radius:14px;padding:12px 14px;font-size:.92rem;margin-bottom:14px}
.suggest b{color:#fff}
.summary label.f{display:block;font-size:.8rem;color:#a9b8c3;margin:10px 0 4px}
.summary input[type=text],.summary input[type=email]{width:100%;padding:11px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:.95rem}
.summary .btn{width:100%;justify-content:center;margin-top:14px}
.summary .btn--accent{background:var(--sea-2);color:var(--ink)}
.linkbtn{background:none;border:0;color:#a9b8c3;text-decoration:underline;cursor:pointer;font:inherit;font-size:.85rem;margin-top:10px;padding:4px}
/* morning */
.morning{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(28px,5vw,80px);align-items:center}
@media (max-width:900px){.morning{grid-template-columns:1fr}}
.phone{width:min(370px,100%);margin-inline:auto;background:#0b1117;border-radius:46px;padding:12px;box-shadow:0 40px 80px -30px rgba(14,27,38,.55),inset 0 0 0 2px #2a3640;position:relative}
.phone::before{content:"";position:absolute;top:20px;left:50%;transform:translateX(-50%);width:96px;height:24px;background:#0b1117;border-radius:20px;z-index:3}
.screen-in{background:#efe9df;border-radius:36px;overflow:hidden;height:680px;display:flex;flex-direction:column;background-image:radial-gradient(rgba(14,27,38,.05) 1px,transparent 1px);background-size:14px 14px}
.chat-top{background:var(--deep);color:#fff;padding:46px 16px 12px;display:flex;gap:10px;align-items:center}
.chat-top .av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#ffd27a,#f26b4f);display:grid;place-items:center}
.chat-top .av svg{width:22px;height:22px}
.chat-top b{display:block;font-size:.98rem}.chat-top small{opacity:.8;font-size:.75rem}
.chat{flex:1;overflow-y:auto;padding:14px 12px 18px;display:flex;flex-direction:column;gap:8px;font-size:.84rem;line-height:1.45}
.day{align-self:center;background:rgba(255,255,255,.85);color:#55626d;font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:8px;margin-bottom:4px}
.bub{background:#fff;border-radius:4px 14px 14px 14px;padding:9px 11px 6px;max-width:92%;box-shadow:0 1px 1px rgba(0,0,0,.08);opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s}
.bub.in{opacity:1;transform:none}
.bub b{color:var(--deep)}
.bub ul{margin:4px 0 0;padding-left:16px}.bub li{margin:1px 0}
.bub time{display:block;text-align:right;font-size:.66rem;color:#8a949c;margin-top:3px}
.bub .pill{display:inline-block;font-size:.66rem;font-weight:800;padding:1px 6px;border-radius:6px;background:#e6f6f3;color:var(--sea);margin-left:4px}
.bub.me{align-self:flex-end;background:#d7f0e8;border-radius:14px 4px 14px 14px}
.morning-points{display:grid;gap:14px;margin:24px 0}
.morning-points div{display:flex;gap:12px;align-items:flex-start}
.morning-points svg{flex:none;width:34px;height:34px;padding:7px;border-radius:10px;background:#e6f6f3;color:var(--sea)}
/* ordering */
.tabs{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px;gap:4px;margin-bottom:28px}
.tabs button{border:0;background:none;padding:10px 20px;border-radius:999px;font:inherit;font-weight:700;color:var(--muted);cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.tabs button svg{width:18px;height:18px}
.tabs button[aria-selected=true]{background:var(--ink);color:#fff}
.order{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:960px){.order{grid-template-columns:1fr}}
.order[hidden]{display:none}
.steps{list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{position:relative;padding:0 0 22px 58px;counter-increment:s}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:40px;height:40px;border-radius:12px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800}
.steps li::after{content:"";position:absolute;left:19px;top:44px;bottom:4px;width:2px;background:var(--line)}
.steps li:last-child::after{display:none}
.steps b{display:block;font-size:1.05rem;margin-bottom:2px}
.steps span{color:var(--muted);font-size:.97rem}
.note{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--sea);border-radius:12px;padding:14px 16px;font-size:.95rem;color:var(--muted);margin-top:8px}
.note svg{flex:none;width:22px;height:22px;color:var(--sea)}
.tcard{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.tcard header{padding:18px 20px;background:var(--ink);color:#fff}
.tcard header b{display:block;font-size:1.05rem}.tcard header small{color:#a9b8c3}
.tscroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.93rem}
th,td{text-align:left;padding:10px 16px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#faf7f1;font-weight:800}
tbody tr:hover{background:#f7fbfa}
td.num{font-weight:700;color:var(--deep);white-space:nowrap}
.cmp{display:flex;align-items:center;gap:8px}
.cmp i{display:block;height:10px;border-radius:5px;background:var(--sea-2);width:calc(var(--v) * 1%);min-width:6px;transition:width 1s}
.cmp.bh i{background:var(--coral)}
.cmp em{font-style:normal;font-weight:800;min-width:2ch}
.uplift{display:inline-block;font-size:.72rem;font-weight:800;color:var(--coral-ink);background:#fde7e1;border-radius:6px;padding:1px 6px;margin-left:6px}
/* packages */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
@media (max-width:960px){.plans{grid-template-columns:1fr}}
.plan{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;display:flex;flex-direction:column;position:relative;transition:transform .25s,box-shadow .25s}
.plan:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.plan.feat{background:var(--ink);color:#e9eef2;border-color:var(--ink)}
.plan.feat .muted{color:#a9b8c3}
.plan .badge{position:absolute;top:-12px;right:24px;background:var(--coral);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.plan h3{font-size:1.45rem}
.price{display:flex;align-items:baseline;gap:6px;margin:10px 0 4px}
.price b{font-size:2.6rem;letter-spacing:-.04em;line-height:1}
.price .blank{display:inline-block;min-width:2.2em;border-bottom:3px dashed currentColor;opacity:.55;height:1em;vertical-align:baseline}
.price small{color:var(--muted)}.plan.feat .price small{color:#a9b8c3}
.por{font-size:.8rem;font-weight:700;color:var(--sea)}.plan.feat .por{color:var(--sea-2)}
.plan ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.plan li{display:flex;gap:10px;align-items:flex-start;font-size:.97rem}
.plan li svg{flex:none;width:20px;height:20px;color:var(--sea);margin-top:3px}
.plan.feat li svg{color:var(--sea-2)}
.plan li.inh{font-weight:700}
.addons{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}
@media (max-width:960px){.addons{grid-template-columns:1fr}}
.addon-card{background:var(--sand);border:1px dashed #d6ccbb;border-radius:20px;padding:22px}
.addon-card .top-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.addon-card svg.ic{width:38px;height:38px;padding:8px;border-radius:11px;background:#fff;color:var(--coral-ink)}
.addon-card .p{font-weight:800;font-size:1.2rem}
.addon-card h4{font-size:1.08rem;margin:6px 0}
.addon-card p{color:var(--muted);font-size:.94rem;margin:0}
.terms{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
@media (max-width:960px){.terms{grid-template-columns:1fr}}
.terms div{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.terms svg{flex:none;width:40px;height:40px;padding:8px;border-radius:12px;background:#e6f6f3;color:var(--sea)}
.terms b{display:block;margin-bottom:2px}.terms span{color:var(--muted);font-size:.95rem}
/* together */
.together{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1000px){.together{grid-template-columns:1fr 1fr}}@media (max-width:600px){.together{grid-template-columns:1fr}}
.tog{background:var(--ink-2);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:24px}
.tog svg{width:46px;height:46px;padding:10px;border-radius:14px;background:rgba(20,184,166,.15);color:var(--sea-2);margin-bottom:14px}
.tog b{display:block;color:#fff;font-size:1.1rem;margin-bottom:6px}
.tog p{color:#a9b8c3;margin:0;font-size:.95rem}
.control{margin-top:28px;display:flex;gap:12px;align-items:center;color:#c7d3db}
.control svg{width:26px;height:26px;color:var(--sea-2)}
/* timeline */
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline::before{content:"";position:absolute;left:23px;top:8px;bottom:8px;width:3px;border-radius:3px;background:linear-gradient(var(--sea-2),var(--deep),var(--coral))}
.timeline>li{position:relative;padding:0 0 30px 76px}
.timeline>li:last-child{padding-bottom:0}
.timeline .k{position:absolute;left:0;top:0;width:49px;height:49px;border-radius:50%;background:#fff;border:3px solid var(--sea);display:grid;place-items:center;font-weight:850;color:var(--deep);box-shadow:0 0 0 6px var(--sand)}
.timeline>li:last-child .k{background:var(--coral);border-color:var(--coral);color:#fff}
.timeline .c{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 22px}
.timeline b{font-size:1.1rem;display:block;margin-bottom:4px}
.timeline .c>span{color:var(--muted)}
.timeline ol{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.timeline ol li{background:var(--sand);border-radius:12px;padding:10px 14px;font-size:.95rem}
.timeline ol li strong{color:var(--deep)}
.ph{display:inline-block;min-width:2.4em;border-bottom:2px dashed var(--coral-ink);text-align:center;color:var(--coral-ink);font-weight:800}
.when{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sea);margin-bottom:4px}
.next-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:900px){.next-grid{grid-template-columns:1fr}}
.next-grid .stick{position:sticky;top:100px}
/* cta */
.cta{position:relative;overflow:hidden;border-radius:32px;background:linear-gradient(135deg,var(--deep),var(--ink) 70%);color:#fff;padding:clamp(36px,6vw,72px);display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center}
.cta h2{color:#fff}.cta p{color:#c7d3db}
.cta .btn--accent{background:var(--sea-2);color:var(--ink)}
.cta .art{opacity:.95}
@media (max-width:860px){.cta{grid-template-columns:1fr}.cta .art{display:none}}
.foot{padding:40px 0;color:var(--muted);font-size:.9rem}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}
/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv,.bub{opacity:1;transform:none}}
.svc{scroll-margin-top:96px}
.btn svg{width:18px;height:18px;flex:none}
.hero-art>svg{filter:drop-shadow(0 18px 22px rgba(14,27,38,.16))}
.timeline::before{display:none}
.timeline>li:not(:last-child)::before{content:"";position:absolute;left:23px;top:49px;bottom:0;width:3px;background:linear-gradient(var(--sea-2),var(--deep))}
/* v2: sectors, hospitality page */
.addons.two{grid-template-columns:repeat(2,1fr)}@media (max-width:960px){.addons.two{grid-template-columns:1fr}}
.addon-card p a{color:var(--sea);font-weight:600}
.sectors{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:960px){.sectors{grid-template-columns:1fr 1fr}}@media (max-width:600px){.sectors{grid-template-columns:1fr}}
.sector{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;color:var(--ink);text-decoration:none}
.sector svg.ic{width:46px;height:46px;padding:10px;border-radius:14px;background:#e6f6f3;color:var(--sea);margin-bottom:8px}
.sector b{font-size:1.12rem}.sector p{color:var(--muted);margin:0;font-size:.95rem}
.sector.live{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
.sector.live svg.ic{background:rgba(20,184,166,.18);color:var(--sea-2)}
.sector.live p{color:#a9b8c3}
.sector.live:hover,.sector.live:focus-visible{transform:translateY(-3px)}
.sector .go{margin-top:auto;padding-top:12px;display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--sea-2)}
.sector .go svg{width:18px;height:18px}
.together.light{grid-template-columns:repeat(3,1fr)}
@media (max-width:1000px){.together.light{grid-template-columns:1fr 1fr}}@media (max-width:600px){.together.light{grid-template-columns:1fr}}
.together.light .tog{background:#fff;border-color:var(--line)}
.together.light .tog svg{background:#e6f6f3;color:var(--sea)}
.together.light .tog b{color:var(--ink)}.together.light .tog p{color:var(--muted)}
.crumb{display:inline-flex;align-items:center;gap:6px;color:var(--sea);font-weight:700;font-size:.85rem;text-decoration:none}
.crumb svg{width:16px;height:16px}.crumb-sep{margin:0 8px;color:var(--muted)}
.foot a{color:inherit}
/* v3: AI consultation */
.ai-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
@media (max-width:900px){.ai-grid{grid-template-columns:1fr}.ai-art{max-width:520px;margin-inline:auto}}
#ai h2{color:#fff}#ai .lead{color:#c9d4dc}
.ai-art svg{width:100%;height:auto;display:block}
.ai-art .float{animation:float 7s ease-in-out infinite}.ai-art .float2{animation:float 8s ease-in-out -2s infinite}.ai-art .float3{animation:float 9s ease-in-out -4s infinite}
.ai-art .spin{transform-origin:240px 200px;animation:spin 30s linear infinite}
.ai-art .flow{animation:flow 1.6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes flow{to{stroke-dashoffset:-20}}
.ai-price{display:inline-flex;align-items:center;padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:#e9eef2;font-weight:700;font-size:.92rem}
.ai-sub{color:#fff;font-size:1.3rem;margin:48px 0 18px}
.ai-exs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:960px){.ai-exs{grid-template-columns:1fr 1fr}}@media (max-width:600px){.ai-exs{grid-template-columns:1fr}}
.ai-ex{background:var(--ink-2);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:22px}
.ai-ex svg{width:44px;height:44px;padding:10px;border-radius:14px;background:rgba(20,184,166,.15);color:var(--sea-2);margin-bottom:12px}
.ai-ex b{display:block;color:#fff;font-size:1.05rem;margin-bottom:6px}.ai-ex p{color:#a9b8c3;margin:0;font-size:.94rem}
.addon-card .por-p{font-size:.95rem;color:var(--sea)}
.ai-card{border-style:solid;border-color:var(--sea-2);background:#fff}
.ai-card svg.ic{background:#e6f6f3;color:var(--sea)}
.ai-card p a{color:var(--sea);font-weight:600}
.summary .opt{font-weight:500;color:#7f909c}
/* v4: required contact fields */
.summary input[type=tel]{width:100%;padding:11px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:.95rem}
.summary .req{color:#ffb199;font-weight:800}
.summary .req-note{margin:14px 0 0;font-size:.8rem;color:#a9b8c3}
.summary input[aria-invalid=true]{border-color:#ff8a73;background:rgba(242,107,79,.12)}
.summary .ferr{margin:6px 0 0;font-size:.82rem;color:#ffb199;font-weight:600}
.summary .ferr::before{content:"! ";font-weight:800}
.summary .form-msg{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:rgba(242,107,79,.16);border:1px solid rgba(255,138,115,.5);color:#ffd2c7;font-size:.88rem;font-weight:600}
.summary form{margin:0}
/* v5: Get in touch form */
.cta-form{background:rgba(14,27,38,.55);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:22px 24px;position:relative;align-self:start}
.cta-form .btn{width:100%;justify-content:center;margin-top:16px}
.cta-form input{width:100%;padding:11px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff;font:inherit;font-size:.95rem}
.cta-form input::placeholder{color:#8496a3}
.cta-form .req-note{margin-top:0}
.cta .cta-note{font-size:.95rem;color:#a9b8c3}
.cta-form.summary{position:relative;top:auto;box-shadow:none;background:rgba(14,27,38,.55)}
/* v6: business examples page */
.sector.lnk{transition:transform .25s,box-shadow .25s,border-color .25s}
.sector.lnk:hover,.sector.lnk:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--sea)}
.sector.lnk .go{color:var(--sea)}
.section--tight{padding-top:56px;padding-bottom:56px}
.jump{display:flex;flex-wrap:wrap;gap:10px}
.jump a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:700;font-size:.92rem;text-decoration:none;transition:border-color .2s,transform .2s}
.jump a svg{width:18px;height:18px;color:var(--sea)}
.jump a:hover,.jump a:focus-visible{border-color:var(--sea);transform:translateY(-2px)}
.hero--ex{border-top:1px solid var(--line)}
h2.h1{font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.08}
.eyebrow svg{width:16px;height:16px;margin-right:6px;vertical-align:-3px}
.ex{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:center}
.ex.flip .ex-art{order:2}
.ex h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:10px 0 8px}
.ex-art{background:var(--ink);border-radius:24px;padding:14px;box-shadow:var(--shadow)}
.ex-art svg{width:100%;height:auto;display:block}
.ex-art .float{animation:float 7s ease-in-out infinite}.ex-art .float2{animation:float 8s ease-in-out -2s infinite}.ex-art .float3{animation:float 9s ease-in-out -4s infinite}
.ex-art .spin{transform-origin:240px 160px;animation:spin 30s linear infinite}
.ex-art .flow{animation:flow 1.6s linear infinite}
.ex-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}
.ex-col{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}
.ex-col h3{display:flex;align-items:center;gap:10px;font-size:1.15rem;margin:0 0 12px}
.ex-col h3 svg{width:40px;height:40px;padding:9px;border-radius:12px;background:#e6f6f3;color:var(--sea)}
.ex-col--ai{background:var(--ink);border-color:var(--ink);color:#e9eef2}
.ex-col--ai h3{color:#fff}.ex-col--ai h3 svg{background:rgba(242,107,79,.18);color:#ffb199}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ticks li{display:flex;gap:10px;align-items:flex-start;font-size:.97rem}
.ticks svg{flex:none;width:20px;height:20px;margin-top:2px;color:var(--sea)}
.ex-col--ai .ticks svg{color:var(--sea-2)}
.ex-sec .ctas{margin-top:22px}
.back{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--sea);text-decoration:none;font-size:.92rem;padding:10px 4px}
.back svg{width:18px;height:18px}
[id]{scroll-margin-top:84px}
@media (max-width:860px){.ex,.ex-cols{grid-template-columns:1fr}.ex.flip .ex-art{order:0}.ex{gap:24px}}

/* mailto fallback under send buttons */
.mfb{margin-top:12px;font-size:.85rem;color:#a9b8c3;line-height:1.45}
.mfb p{margin:0 0 8px}
.mfb a.mfb-link{color:#5eead4;text-decoration:underline;word-break:break-all}
.mfb .mfb-copy{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);color:#e9eef2;border-radius:999px;padding:6px 14px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}
.mfb .mfb-copy:hover{background:rgba(255,255,255,.16)}
.mfb .mfb-copy:focus-visible{outline:2px solid #5eead4;outline-offset:2px}
.mfb .mfb-copy svg{width:15px;height:15px}
.mfb .mfb-ok{display:block;margin-top:6px;color:#5eead4;font-weight:600}
.mfb .mfb-ok:empty{display:none}
