:root{
  --navy:#15556B;--navy-d:#0C3B4C;--deep:#082A37;--ink:#12333F;--muted:#5D7581;
  --gold:#DC9C47;--terra:#D2652A;--teal:#308D8B;
  --paper:#FCFAF6;--cream:#F4EDE1;--line:#E3D9C9;--white:#fff;
  --r:14px;--r-s:10px;
  --fs:clamp(15px,.5vw + 13.4px,17px);
  --wrap:min(1200px,92vw);
  --shadow:0 18px 44px rgba(12,59,76,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:"IBM Plex Sans Arabic",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:var(--fs);line-height:1.8;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.num{font-family:"IBM Plex Sans","IBM Plex Sans Arabic",sans-serif;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.wrap{width:var(--wrap);margin-inline:auto}
h1,h2,h3,h4{line-height:1.3;color:var(--deep);font-weight:700}
h1{font-size:clamp(30px,4.2vw,54px);font-weight:800}
h2{font-size:clamp(24px,2.6vw,38px)}
h3{font-size:clamp(18px,1.5vw,22px)}
h4{font-size:17px;font-weight:600}
p.lead{font-size:clamp(16px,1.15vw,19px);color:var(--muted);max-width:70ch}
.tag{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--terra);letter-spacing:.02em;margin-bottom:14px}
.tag::before{content:"";width:22px;height:2px;background:var(--gold);border-radius:2px}
.star{display:inline-block;width:1em;height:1em;flex:none;background:currentColor;clip-path:polygon(50% 0%,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0% 50%,39% 39%)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 24px;border-radius:12px;font-weight:700;font-size:15px;border:1.5px solid transparent;cursor:pointer;font-family:inherit;transition:.2s;white-space:nowrap;line-height:1.2}
.btn-p{background:var(--terra);color:#fff}.btn-p:hover{background:#BE5423;transform:translateY(-1px)}
.btn-g{border-color:var(--navy);color:var(--navy);background:transparent}.btn-g:hover{background:var(--navy);color:#fff}
.btn-w{background:#fff;color:var(--deep)}.btn-w:hover{background:var(--cream)}
.btn-o{border-color:rgba(255,255,255,.45);color:#fff}.btn-o:hover{background:rgba(255,255,255,.1)}
.btn-wa{background:#1FA855;color:#fff}.btn-wa:hover{background:#178A45}
.btn svg{width:18px;height:18px;flex:none}

/* header */
.topbar{background:var(--terra);color:#fff;font-size:13.5px;text-align:center;padding:7px 12px;font-weight:600}
.topbar a{text-decoration:underline;text-underline-offset:3px}
header.hdr{position:sticky;top:0;z-index:90;background:rgba(8,42,55,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{display:flex;align-items:center;gap:18px;height:72px}
.nav .logo img{height:46px;width:auto}
.nav ul{display:flex;gap:2px;margin-inline-start:auto}
.nav ul a{display:block;padding:8px 11px;border-radius:9px;color:rgba(255,255,255,.82);font-size:14px;font-weight:600;transition:.18s}
.nav ul a:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav ul a.on{color:#fff;background:rgba(255,255,255,.12)}
.nav .cta{margin-inline-start:8px}
.burger{display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:transparent;cursor:pointer;align-items:center;justify-content:center;margin-inline-start:auto}
.burger span{display:block;width:20px;height:2px;background:#fff;position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;inset-inline-start:0;width:20px;height:2px;background:#fff}
.burger span::before{top:-6px}.burger span::after{top:6px}
.mnav{display:none;background:var(--deep);border-top:1px solid rgba(255,255,255,.1)}
.mnav.open{display:block}
.mnav a{display:block;padding:14px 6vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.07);font-weight:600}
.mnav a.on{color:var(--gold)}

/* hero */
.hero{position:relative;background:radial-gradient(1200px 600px at 85% 20%,#1a6a83 0%,var(--navy-d) 40%,var(--deep) 100%);color:#fff;overflow:hidden}
.hero .pattern{position:absolute;inset:0;opacity:.045;background-image:url("pattern.svg");background-size:520px;pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;min-height:calc(100vh - 110px);padding:56px 0 64px}
.hero h1{color:#fff}
.hero .tag{color:var(--gold)}.hero .tag::before{background:var(--gold)}
.hero p.lead{color:rgba(255,255,255,.8)}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-note{margin-top:20px;font-size:13.5px;color:rgba(255,255,255,.6)}
.hero .promise{display:inline-flex;align-items:center;gap:10px;margin-top:18px;color:var(--gold);font-weight:700;font-size:17px}
.stage{position:relative;aspect-ratio:1/1;max-height:560px;width:100%}
.stage canvas{width:100%!important;height:100%!important;display:block;touch-action:pan-y}
.stage .fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:.6s}
.stage.nogl .fallback{opacity:1}
.stage .fallback img{width:62%;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35))}
.stage .hint{position:absolute;bottom:4px;inset-inline:0;text-align:center;font-size:12.5px;color:rgba(255,255,255,.5)}
.hero.small .wrap{min-height:0;padding:64px 0 56px;grid-template-columns:1fr}
.hero.small h1{font-size:clamp(28px,3.4vw,44px)}
.crumbs{font-size:13px;color:rgba(255,255,255,.55);margin-bottom:18px}
.crumbs a:hover{color:#fff}

/* sections */
section{padding:clamp(56px,6vw,96px) 0}
.sec-cream{background:var(--cream)}
.sec-navy{background:var(--deep);color:#fff}
.sec-navy h2,.sec-navy h3,.sec-navy h4{color:#fff}
.sec-navy p.lead{color:rgba(255,255,255,.75)}
.sec-navy .tag{color:var(--gold)}
.sec-head{margin-bottom:34px}
.sec-head .lead{margin-top:12px}
.sec-head.center{text-align:center}.sec-head.center .lead{margin-inline:auto}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;transition:.22s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card .star{color:var(--gold);font-size:14px;margin-bottom:12px}
.card h3{margin-bottom:8px}
.card p{color:var(--muted);font-size:15px}
.sec-navy .card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.sec-navy .card p{color:rgba(255,255,255,.72)}
.strip{height:7px;background:repeating-linear-gradient(90deg,var(--navy) 0 16px,transparent 16px 24px,var(--terra) 24px 40px,transparent 40px 48px,var(--gold) 48px 64px,transparent 64px 72px,var(--teal) 72px 88px,transparent 88px 96px)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.stat{background:var(--paper);padding:22px 20px}
.stat b{display:block;font-size:clamp(24px,2.4vw,34px);color:var(--navy);line-height:1.1}
.stat b span{font-size:.5em;color:var(--terra);margin-inline-start:5px}
.stat p{font-size:13.5px;color:var(--muted);margin-top:6px;line-height:1.5}
.sec-navy .stats{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.12)}
.sec-navy .stat{background:var(--deep)}.sec-navy .stat b{color:#fff}.sec-navy .stat p{color:rgba(255,255,255,.65)}

/* why list */
.why-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.why-item{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.why-item b{font-size:32px;color:var(--gold);font-family:"IBM Plex Sans",sans-serif;line-height:1}
.why-item h3{margin-bottom:8px}.why-item p{color:var(--muted);font-size:15px}

/* about */
.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:start}
.about-grid p{margin-bottom:16px}
.quote{border-inline-start:4px solid var(--gold);padding:14px 20px;background:#fff;border-radius:0 12px 12px 0;font-weight:700;color:var(--navy-d);margin:22px 0;font-size:17px}
.facts{background:var(--deep);color:#fff;border-radius:var(--r);padding:8px 24px}
.fact{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:15px}
.fact:last-child{border-bottom:none}
.fact span:first-child{color:rgba(255,255,255,.6)}
.fact span:last-child{font-weight:700}
.photo{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:220px;gap:12px}
.photo-grid .photo:first-child{grid-row:span 2}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 22px;display:flex;flex-direction:column;gap:8px;transition:.2s}
.svc:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--gold)}
.svc .ic{width:44px;height:44px;border-radius:12px;background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--terra);margin-bottom:6px}
.svc .ic svg{width:22px;height:22px}
.svc p{color:var(--muted);font-size:14.5px;flex:1}
.svc .more{color:var(--terra);font-weight:700;font-size:14px}
.svc-detail{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.svc-detail .kv{background:var(--cream);border-radius:var(--r-s);padding:14px 16px;font-size:14.5px}
.svc-detail .kv b{display:block;color:var(--terra);font-size:12.5px;margin-bottom:4px}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:14px;color:var(--navy-d)}
.chip b{color:var(--terra);margin-inline-start:6px}
.svc-head{display:flex;align-items:center;gap:16px;margin:40px 0 18px}
.svc-head h3{white-space:nowrap}.svc-head i{flex:1;height:1px;background:var(--line)}
.svc-block{scroll-margin-top:90px;padding:28px 0;border-bottom:1px solid var(--line)}
.svc-block:last-child{border-bottom:none}
.svc-block .head{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.svc-block .head .ic{width:46px;height:46px;border-radius:12px;background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--terra)}
.svc-block .head .ic svg{width:22px;height:22px}

/* packages */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 22px}
.tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 18px;font-size:14px;cursor:pointer;font-family:inherit;color:var(--navy-d);transition:.18s;white-space:nowrap;font-weight:600}
.tab:hover{border-color:var(--gold)}.tab.on{background:var(--deep);color:#fff;border-color:var(--deep)}
.painbox{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}
.pb{border-radius:var(--r);padding:20px 22px;font-size:15px}
.pb.a{background:#FBEEE8;border:1px solid #F0D9C8;color:#8C4A2E}
.pb.b{background:#E9F4EE;border:1px solid #CFE6D9;color:#12503A}
.pb h4{font-size:13px;font-weight:700;margin-bottom:6px;color:inherit}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;position:relative;display:flex;flex-direction:column;transition:.22s}
.pc:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.pc.best{border-color:var(--gold);border-width:2px}
.badge{position:absolute;top:-12px;inset-inline-start:22px;background:var(--gold);color:#2A1806;font-size:11.5px;font-weight:700;padding:4px 13px;border-radius:999px}
.pc .nm{font-size:22px;font-weight:700;color:var(--deep)}
.pc .tg{font-size:13px;color:var(--terra);min-height:20px}
.pc .pr{margin:14px 0 4px;font-size:34px;font-weight:700;color:var(--navy);line-height:1}
.pc .pr small{font-size:14px;color:var(--muted);font-weight:400;margin-inline-start:5px}
.pc .tot{font-size:13.5px;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--line)}
.pc .tot b{color:var(--navy-d)}
.pc .disc{display:inline-block;background:#E9F4EE;color:#12503A;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;margin-top:8px}
.pc ul{margin:14px 0;display:grid;gap:8px;flex:1}
.pc li{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:#3E5A66;line-height:1.55}
.pc li .star{color:var(--teal);font-size:11px;margin-top:.5em}
.pc li b{color:var(--navy-d);font-weight:600}
.allow{background:var(--cream);border-radius:10px;padding:11px 14px;font-size:13px;color:var(--navy-d);margin-bottom:10px}
.allow b{color:var(--terra)}
.pay{font-size:12.5px;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px;margin-top:auto}
.pc .btn{margin-top:14px}
.incl{margin-top:22px;background:var(--deep);color:#fff;border-radius:var(--r);padding:26px 28px}
.incl h4{color:var(--gold);font-size:14px;margin-bottom:14px}
.incl ul{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 26px}
.incl li{display:flex;gap:9px;font-size:14.5px;color:#DCEAF0;align-items:flex-start}
.incl li .star{color:var(--gold);font-size:11px;margin-top:.5em}
.kit{margin-top:16px;font-size:13.5px;color:#9DBDC9;border-top:1px solid rgba(255,255,255,.14);padding-top:14px}
.kit b{color:#fff}
.terms{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.term{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:20px}
.term.best{border-color:var(--gold)}
.term b{display:block;font-size:20px;color:#fff}.term .tm{color:var(--gold);font-size:13px;font-weight:700}
.term p{color:rgba(255,255,255,.7);font-size:14px;margin:8px 0}.term em{font-style:normal;color:#3FBF7F;font-weight:700;font-size:13.5px}
.secprice{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sp{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.sp .spn{font-weight:700;color:var(--deep);min-height:48px;line-height:1.4}
.sp .spp{margin:8px 0}.sp .spp b{font-size:28px;color:var(--navy)}.sp .spp small{color:var(--muted);margin-inline-start:6px}
.sp p{font-size:13.5px;color:var(--muted);line-height:1.6}
table.t{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.t th,.t td{padding:12px 15px;text-align:start;border-bottom:1px solid var(--line);vertical-align:top}
.t th{background:var(--navy);color:#fff;font-weight:600;font-size:14px}
.t tr:last-child td{border-bottom:none}
.t td.p{color:var(--navy);font-weight:700;white-space:nowrap}
.t tr.grp td{background:var(--terra);color:#fff;font-weight:700}
.t td.m{color:var(--muted);font-size:13.5px}
.tablewrap{overflow-x:auto;border-radius:var(--r)}
.note{margin-top:18px;padding:14px 18px;border-inline-start:3px solid var(--terra);background:#fff;border-radius:10px;font-size:14px;color:var(--muted)}
.sec-navy .note{background:rgba(255,255,255,.05);color:#B9D2DC}
.offer{margin-top:28px;background:linear-gradient(135deg,var(--terra),#B85222);color:#fff;border-radius:var(--r);padding:28px;display:grid;grid-template-columns:1fr 2fr;gap:20px;align-items:center}
.offer .badge{position:static;display:inline-block;margin-bottom:8px}
.offer h3{color:#fff}.offer p{color:rgba(255,255,255,.9)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 16px;position:relative}
.step-n{width:34px;height:34px;border-radius:50%;background:var(--deep);color:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:12px;font-family:"IBM Plex Sans",sans-serif}
.step h4{margin-bottom:6px}.step p{font-size:13.5px;color:var(--muted);line-height:1.55}
.step em{display:block;margin-top:10px;font-style:normal;color:var(--terra);font-size:12.5px;font-weight:700}
.commit{margin-top:34px;background:var(--deep);color:#fff;border-radius:var(--r);padding:28px}
.commit h3{color:var(--gold);margin-bottom:14px}
.commit ul{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 24px}
.commit li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.commit li .star{color:var(--gold);font-size:11px;margin-top:.55em}

/* values & pillars */
.vmgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:34px}
.vmcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.vmcard span{display:block;color:var(--terra);font-weight:700;font-size:13px;margin-bottom:8px}
.vmcard.goal{background:var(--deep);color:#fff;border-color:var(--deep)}.vmcard.goal span{color:var(--gold)}
.valgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.valc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.valc b{display:flex;align-items:center;gap:8px;font-size:17px;color:var(--deep);margin-bottom:8px}
.valc b .star{color:var(--gold);font-size:12px}
.valc p{font-size:14px;color:var(--muted)}
.pilgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pilc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.pilc h4{font-size:19px;color:var(--deep)}.pilc em{display:block;color:var(--terra);font-style:normal;font-weight:700;font-size:13px;margin:4px 0 14px}
.pilc li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.pilc li:last-child{border-bottom:none}.pilc li b{color:var(--navy);white-space:nowrap}
.rules{counter-reset:r;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.rule{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:22px 22px 22px 22px;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.rule::before{counter-increment:r;content:counter(r,decimal-leading-zero);font-family:"IBM Plex Sans",sans-serif;font-size:26px;color:var(--gold);font-weight:700;line-height:1}
.rule p{color:rgba(255,255,255,.85);font-size:15px}

/* work */
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.wk{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.22s}
.wk:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.wk .img{aspect-ratio:4/3;overflow:hidden;background:var(--cream)}
.wk .img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.wk:hover .img img{transform:scale(1.04)}
.wk .body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.wk .cat{color:var(--terra);font-size:12.5px;font-weight:700}
.wk .client{color:var(--muted);font-size:13px}
.wk p{color:var(--muted);font-size:14.5px;flex:1}
.wk .more{color:var(--navy);font-weight:700;font-size:14px;margin-top:8px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.case-grid{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start}
.case-nav{position:sticky;top:90px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
.case-nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--muted);font-size:14px;font-weight:600}
.case-nav a:hover{background:var(--cream);color:var(--deep)}
.case-sec{scroll-margin-top:90px;margin-bottom:38px}
.case-sec h2{font-size:24px;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.case-sec h2::before{content:"";width:8px;height:26px;border-radius:4px;background:var(--gold)}
.case-sec p{color:var(--ink);font-size:16px}
.case-sec ul.list li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}
.case-sec ul.list li .star{color:var(--teal);font-size:11px;margin-top:.6em}
.lesson{background:var(--deep);color:#fff;border-radius:var(--r);padding:26px;font-size:17px;font-weight:600;border-inline-start:5px solid var(--gold)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery a{border-radius:12px;overflow:hidden;border:1px solid var(--line);aspect-ratio:1/1;background:var(--cream)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery a:hover img{transform:scale(1.05)}
.honest{display:flex;gap:12px;align-items:flex-start;background:#FFF7EA;border:1px solid #F1DCB6;border-radius:12px;padding:14px 16px;font-size:14px;color:#6A4A1C;margin-top:14px}
.lightbox{position:fixed;inset:0;background:rgba(6,20,27,.92);display:none;align-items:center;justify-content:center;z-index:200;padding:20px}
.lightbox.open{display:flex}.lightbox img{max-width:min(1100px,95vw);max-height:90vh;border-radius:10px}
.lightbox button{position:absolute;top:18px;inset-inline-end:18px;background:#fff;border:none;width:42px;height:42px;border-radius:50%;font-size:20px;cursor:pointer}

/* testimonials */
.tgrid{columns:3;column-gap:16px}
.tc{break-inside:avoid;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-bottom:16px}
.tc .stars{color:var(--gold);letter-spacing:2px;font-size:14px;margin-bottom:8px}
.tc p{font-size:15px;color:var(--ink);margin-bottom:12px}
.tc b{display:block;font-size:14px;color:var(--navy)}
.tc small{color:var(--muted);font-size:12.5px}
.gbox{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 26px;margin-bottom:30px}
.gbox .big{font-size:44px;font-weight:800;color:var(--navy);line-height:1}
.gbox .stars{color:var(--gold);letter-spacing:2px}
.gbox p{color:var(--muted);font-size:14.5px}

/* faq */
.faq{max-width:860px;margin-inline:auto}
details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}
details summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:700;color:var(--deep);display:flex;justify-content:space-between;gap:14px;align-items:center}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";font-size:22px;color:var(--terra);flex:none;transition:.2s}
details[open] summary::after{transform:rotate(45deg)}
details .a{padding:0 22px 20px;color:var(--muted);font-size:15px}

/* tools */
.tool-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;max-width:820px;margin-inline:auto}
.prog{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted);margin-bottom:18px}
.prog .bar{flex:1;height:6px;background:var(--cream);border-radius:3px;overflow:hidden}
.prog .bar i{display:block;height:100%;background:var(--terra);width:0;transition:.3s}
.q{font-size:clamp(19px,1.6vw,24px);font-weight:700;color:var(--deep);margin-bottom:18px}
.opts{display:grid;gap:10px}
.opt{border:1.5px solid var(--line);border-radius:12px;padding:14px 18px;cursor:pointer;background:var(--paper);font-family:inherit;font-size:15.5px;text-align:start;transition:.15s;color:var(--ink)}
.opt:hover{border-color:var(--gold)}.opt.on{border-color:var(--navy);background:#EEF5F7;font-weight:700}
.tool-actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px}
.result{display:none}
.result.show{display:block}
.score{display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:center;margin-bottom:24px}
.ring{width:150px;height:150px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--terra) calc(var(--v)*1%),var(--cream) 0);position:relative}
.ring::after{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}
.ring b{position:relative;font-size:38px;color:var(--deep);font-family:"IBM Plex Sans",sans-serif}
.ring b small{font-size:14px;color:var(--muted)}
.rec{background:var(--cream);border-radius:var(--r);padding:22px;margin-bottom:14px}
.rec h3{margin-bottom:6px}.rec .pr{font-size:26px;color:var(--navy);font-weight:800}
.rec ul li{display:flex;gap:9px;align-items:flex-start;padding:5px 0;font-size:14.5px}
.rec ul li .star{color:var(--teal);font-size:10px;margin-top:.6em}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.tile{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:10px;transition:.2s}
.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.tile .n{font-family:"IBM Plex Sans",sans-serif;font-size:13px;color:var(--terra);font-weight:700}
.tile p{color:var(--muted);flex:1}

/* contact */
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.ct-list{display:grid;gap:10px}
.ct-item{display:flex;justify-content:space-between;align-items:center;gap:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:14px 18px;color:#fff;transition:.2s}
.ct-item:hover{background:rgba(255,255,255,.12)}
.ct-item span{color:rgba(255,255,255,.65);font-size:14px}.ct-item b{font-size:16px}
.ct-meta{margin-top:18px;color:rgba(255,255,255,.7);font-size:14px;display:grid;gap:6px}
.socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.socials a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:14px}
.socials a:hover{background:rgba(255,255,255,.1)}
.form{background:#fff;border-radius:var(--r);padding:26px;color:var(--ink)}
.form label{display:block;font-size:13.5px;font-weight:700;margin:12px 0 6px;color:var(--navy-d)}
.form input,.form select,.form textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:15px;background:var(--paper)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--navy)}
.form .btn{width:100%;margin-top:18px}
.form small{display:block;margin-top:10px;color:var(--muted);font-size:12.5px}

/* CTA band */
.cta-band{background:linear-gradient(135deg,var(--navy),var(--deep));color:#fff;border-radius:var(--r);padding:44px;display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center}
.cta-band h2{color:#fff}.cta-band p{color:rgba(255,255,255,.75);margin-top:8px}
.cta-band .btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}

/* footer */
footer{background:#061F29;color:#9DB7C1;padding:54px 0 28px;font-size:14px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;margin-bottom:34px}
footer h4{color:#fff;font-size:14px;margin-bottom:12px}
footer li{margin-bottom:8px}footer a:hover{color:#fff}
footer .brand img{height:52px;margin-bottom:14px}
footer .brand p{max-width:40ch;font-size:14px}
.fbottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:#7E9CA8}

/* whatsapp float */
.wa-float{position:fixed;bottom:22px;inset-inline-start:22px;z-index:80;background:#1FA855;color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(0,0,0,.25);transition:.2s}
.wa-float:hover{transform:scale(1.06)}
.wa-float svg{width:28px;height:28px}

/* reveal */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* responsive */
@media(max-width:1100px){
  .nav ul a{padding:8px 8px;font-size:13px}
  .g4,.valgrid,.cards,.secprice,.terms{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(4,1fr)}
  .fgrid{grid-template-columns:1fr 1fr}
  .incl ul,.commit ul{grid-template-columns:repeat(2,1fr)}
  .tgrid{columns:2}
}
@media(max-width:900px){
  .nav ul,.nav .cta{display:none}
  .burger{display:flex}
  .hero .wrap{grid-template-columns:1fr;min-height:0;padding:44px 0 40px}
  .stage{max-height:380px;order:-1}
  .g2,.g3,.why-list,.about-grid,.svc-grid,.painbox,.pilgrid,.vmgrid,.work-grid,.case-grid,.ct-grid,.tiles,.rules,.svc-detail{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.photo-grid .photo:first-child{grid-column:span 2}
  .offer,.cta-band,.gbox,.score{grid-template-columns:1fr}
  .cta-band .btns{justify-content:flex-start}
  .case-nav{position:static}
  .gallery{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .stats,.g4,.valgrid,.cards,.secprice,.terms,.steps,.incl ul,.commit ul,.fgrid{grid-template-columns:1fr}
  .tgrid{columns:1}
  .hero .cta .btn{width:100%}
  .tool-card{padding:22px}
  .score{text-align:center;justify-items:center}
  .wa-float{bottom:16px;inset-inline-start:16px;width:52px;height:52px}
}
