/* =====================================================================
   Artistic Logo Designs — theme stylesheet
   Fonts: Instrument Sans (display + body) · Instrument Serif italic (accents)
   Palette: ink #0C0D12 · panel #11131A · paper #F5F4EF · muted #A9ABB5
            sun #FDC70C · sky #64C0FF · leaf #24B34B · tang #F3903F
            red #E93E3A · indigo #2E3192 · blue #0068A6 · light #F3F2EC
   ===================================================================== */

:root{
  --ink:#0C0D12;--panel:#11131A;--paper:#F5F4EF;--muted:#A9ABB5;--muted2:#C4C6CF;
  --sun:#FDC70C;--sky:#64C0FF;--leaf:#24B34B;--tang:#F3903F;--red:#E93E3A;--indigo:#2E3192;--blue:#0068A6;--light:#F3F2EC;
  --fd:"Instrument Sans","Instrument Sans Fallback",Arial,sans-serif;--fa:"Instrument Serif",Georgia,serif;--fb:"Instrument Sans","Instrument Sans Fallback",Arial,sans-serif;--fm:"Instrument Sans","Instrument Sans Fallback",Arial,sans-serif;
  --fdw:700;--faw:400;--fas:italic;
}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink)}
*{box-sizing:border-box}
img{max-width:100%}
a{color:var(--paper);text-decoration:none}
a:hover{color:var(--sun)}
.pg{font-family:var(--fb);color:var(--paper);background:var(--ink);font-size:17px;line-height:1.55;overflow-x:clip}
.pg input,.pg button,.pg textarea,.pg select{font-family:var(--fb)}
.wrap{max-width:1320px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.narrow{max-width:860px}
.disp{font-family:var(--fd);font-variation-settings:"wdth" 112;font-weight:var(--fdw);letter-spacing:-.025em;line-height:.95;margin:0;text-wrap:balance}
.thin{font-family:var(--fa);font-weight:var(--faw);font-style:var(--fas);letter-spacing:-.01em;font-variation-settings:normal}
.mono{font-family:var(--fm);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font-weight:600;font-size:16px;border:0;cursor:pointer;white-space:nowrap;font-family:inherit;transition:background .2s,color .2s,transform .2s}
.btn:active{transform:translateY(1px)}
.btn-sun{background:var(--sun);color:var(--ink)}
.btn-sun:hover{background:#FFE07A;color:var(--ink)}
.btn-ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.btn-ghost:hover{color:var(--sun)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:var(--indigo);color:var(--paper)}
.btn-leaf{background:var(--leaf);color:var(--ink)}
.btn-leaf:hover{background:var(--sun);color:var(--ink)}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.y{color:var(--sun)}.sky{color:var(--sky)}.leaf{color:var(--leaf)}.tang{color:var(--tang)}.blue{color:var(--blue)}
.sr-only,.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--sun);color:var(--ink);padding:10px 16px;border-radius:999px;font-weight:600}
.skip:focus{left:16px}

/* ---------------- promo + nav ---------------- */
.promo{background:var(--sun);color:var(--ink);font-size:15px;font-weight:600}
.promo.leaf{background:var(--leaf)}
.promo .wrap{display:flex;justify-content:center;align-items:center;gap:10px 24px;flex-wrap:wrap;min-height:44px;padding-block:8px;text-align:center}
.promo a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.promo a:hover{color:var(--indigo)}
.admin-bar .nav{top:32px}
@media (max-width:782px){.admin-bar .nav{top:46px}}
.nav{position:sticky;top:0;z-index:20;background:rgba(12,13,18,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-in{display:flex;align-items:center;gap:26px;min-height:80px}
.nav-in .logo img{height:52px;width:auto;display:block}
.nav-links{display:flex;gap:24px;margin-left:auto;font-size:15px;font-weight:500}
.nav-links a{color:#D6D7DD}
.nav-links a:hover{color:var(--sun)}
.nav-links a.on,.nav-links .current-menu-item>a,.nav-links .current_page_item>a{color:var(--sun);box-shadow:inset 0 -2px 0 var(--sun);padding-bottom:4px}
.nav-links ul,.dr-links ul{list-style:none;margin:0;padding:0;display:contents}
.nav-phone{display:flex;flex-direction:column;line-height:1.2;font-size:15px;font-weight:600}
.nav-phone span{font-size:12px;font-weight:400;color:var(--muted)}
.menu-btn{display:none;width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:transparent;color:var(--paper);align-items:center;justify-content:center;margin-left:auto;cursor:pointer}

/* drawer */
.drawer{position:fixed;inset:0;z-index:60;background:var(--ink);display:none;flex-direction:column;padding:calc(14px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));overflow-y:auto}
.drawer.open{display:flex}
.dr-top{display:flex;justify-content:space-between;align-items:center;min-height:52px}
.dr-top img{height:44px;width:auto;display:block}
.dr-x{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:transparent;color:var(--paper);display:flex;align-items:center;justify-content:center;cursor:pointer}
.dr-links{display:flex;flex-direction:column;margin-top:18px}
.dr-links a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:16px 2px;border-bottom:1px solid rgba(255,255,255,.1);min-height:56px}
.dr-links a span,.dr-links li>a{font-family:var(--fd);font-weight:var(--fdw);font-size:28px;letter-spacing:-.02em}
.dr-links small{font-size:14px;color:var(--muted);font-family:var(--fb);font-weight:400;letter-spacing:0}
.dr-cta{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:24px}
.dr-cta .btn{width:100%}
body.drawer-open{overflow:hidden}

/* ---------------- hero (home) ---------------- */
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:72px;align-items:center;padding-block:56px 64px;position:relative}
.h1{font-size:clamp(52px,7vw,108px)}
.lede{font-size:20px;line-height:1.5;color:var(--muted2);max-width:50ch;margin:26px 0 0}
.cta-row,.acts{display:flex;flex-wrap:wrap;gap:12px}
.cta-row{margin-top:30px}
.stars{color:var(--sun);letter-spacing:2px;font-size:17px}
.qbar{margin-top:40px;max-width:600px}
.qbar .qrow{display:flex;gap:6px;background:var(--paper);border-radius:999px;padding:6px}
.qbar .qrow .field,.qbar .qrow select{flex:1;min-width:0;border:0;background:transparent;padding:0 18px;font-size:17px;font-weight:500;color:var(--ink);min-height:52px;border-radius:999px;margin:0}
.qbar .qrow select{flex:0 0 172px;appearance:none;-webkit-appearance:none;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"><path d="M1 1l5 5 5-5" fill="none" stroke="%230C0D12" stroke-width="1.8"/></svg>') right 16px center no-repeat;padding-right:34px;border-right:1px solid #DAD9D1;border-radius:0}
.qbar .qrow .field:focus{outline:none;box-shadow:0 0 0 3px rgba(100,192,255,.45)}
.pline{margin:22px 0 0;font-size:15px;color:var(--muted);display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.pline a{color:var(--paper);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.pline .dot{width:4px;height:4px;border-radius:50%;background:#5B5D66;display:inline-block}
.live{width:9px;height:9px;border-radius:50%;background:var(--leaf);display:inline-block;box-shadow:0 0 0 4px rgba(36,179,75,.25)}
.quick{display:none}

.stage{position:relative;height:580px;border-radius:32px;overflow:hidden;background:var(--panel)}
.wall{position:absolute;inset:-10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 14px;-webkit-mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent)}
.col{display:flex;flex-direction:column;gap:14px;animation:up 38s linear infinite}
.col.c2{animation-duration:46s;animation-direction:reverse}
.col.c3{animation-duration:42s}
.col img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px;display:block}
@keyframes up{from{transform:translateY(0)}to{transform:translateY(-50%)}}

/* ticker */
.ticker{border-block:1px solid rgba(255,255,255,.1);overflow:hidden;padding-block:22px}
.track{display:flex;gap:40px;width:max-content;animation:left 40s linear infinite}
.track span{font-family:var(--fd);font-variation-settings:"wdth" 125;font-weight:var(--fdw);font-size:44px;line-height:1;color:transparent;-webkit-text-stroke:1.2px #8F92A0;white-space:nowrap;display:flex;align-items:center;gap:40px}
.track i{width:14px;height:14px;border-radius:50%;display:inline-block}
@keyframes left{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------------- page header (inner) ---------------- */
.ph{padding-block:64px 48px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;align-items:end}
.ph.one{grid-template-columns:minmax(0,1fr)}
.crumbs{display:flex;gap:8px;font-size:14px;color:var(--muted);margin-bottom:18px;flex-wrap:wrap}
.crumbs a{color:var(--muted)}
.crumbs b{color:var(--paper);font-weight:500}
.ph .h1{font-size:clamp(48px,6.4vw,96px)}

/* ---------------- sections ---------------- */
.sec{padding-block:96px}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:44px}
.sec-head h2{margin-top:16px}
.h2{font-size:clamp(44px,5.6vw,86px)}
.sub{color:var(--muted);max-width:48ch;margin:16px 0 0;font-size:18px}
.light{background:var(--light);color:var(--ink)}
.light .sub{color:#4A4C55}
.light a{color:var(--ink)}
.light a:hover{color:var(--blue)}
.light .btn-sun,.light .btn-sun:hover,.light .btn-ghost{color:var(--ink)}
.light .btn-ink,.light .btn-ink:hover{color:var(--paper)}
.light .crumbs,.light .crumbs a{color:#4A4C55}

/* quote card (light) */
.card{background:var(--paper);color:var(--ink);border-radius:26px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.card h2,.card h3{font-family:var(--fd);font-weight:700;font-size:28px;line-height:1;margin:0 0 16px;letter-spacing:-.02em}
.card .save{margin:-6px 0 18px;font-size:15px;color:#3A3C45}
.lbl{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:#3A3C45}
.lbl .opt{font-weight:400;color:#6B6D76}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.pill{min-height:40px;padding:0 15px;border-radius:999px;font-weight:600;font-size:14px;cursor:pointer;border:1.5px solid #C9CAD1;background:#fff;color:var(--ink)}
.pill.on,.pill[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.field{width:100%;min-height:50px;border-radius:14px;border:1.5px solid #C9CAD1;background:#fff;padding:0 16px;font-size:16px;font-weight:500;color:var(--ink);margin-bottom:12px}
select.field{appearance:none;-webkit-appearance:none;background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"><path d="M1 1l5 5 5-5" fill="none" stroke="%230C0D12" stroke-width="1.8"/></svg>') right 16px center no-repeat;padding-right:38px}
textarea.field{min-height:110px;padding:14px 16px;resize:vertical}
.field:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px rgba(100,192,255,.35)}
.field.err{border-color:var(--red)}
.fine{font-size:13px;color:#5B5D66;margin:12px 0 0}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:13px;color:#5B5D66;margin:12px 0 0}
.qbar .form-note,.close .qbar .form-note{color:#A9ABB5}
.form-sub{margin:-8px 0 16px;color:#3A3C45;font-size:15px}
.form-msg{margin-top:14px;padding:14px 16px;border-radius:14px;font-size:15px;font-weight:500}
.form-msg.ok{background:#E6F6EB;color:#0F3B1C;border:1px solid #9BDDB0}
.form-msg.bad{background:#FDECEC;color:#7A1E1C;border:1px solid #F3B4B2}
.ald-form.sent .row2,.ald-form.sent .field,.ald-form.sent .lbl,.ald-form.sent .btn,.ald-form.sent .form-note,.ald-form.sent .pills,.ald-form.sent .form-sub{display:none}
.ald-form.card.sent{min-height:220px}
.ald-form .btn[disabled]{opacity:.6;cursor:progress}

/* ---------------- pricing ---------------- */
.tabs{display:inline-flex;gap:4px;padding:5px;background:#E3E2DA;border-radius:999px;flex-wrap:wrap}
.tab{min-height:44px;padding:0 20px;border-radius:999px;border:0;font-weight:600;font-size:15px;cursor:pointer;background:transparent;color:var(--ink);font-family:inherit}
.tab.on,.tab[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.panel[hidden]{display:none}
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:8px;align-items:stretch}
.tiers.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
.tier{position:relative;border-radius:30px;padding:34px;display:flex;flex-direction:column;border:1.5px solid #D7D6CE;background:#FBFAF6;color:var(--ink)}
.tier.dark{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:translateY(-12px);box-shadow:0 30px 60px rgba(12,13,18,.25)}
.tier.dark a{color:inherit}
.tier.dark a.btn-sun,.tier a.btn-sun{color:var(--ink)}
.badge{position:absolute;top:-14px;left:34px;background:var(--sun);color:var(--ink);font-size:13px;font-weight:600;padding:6px 14px;border-radius:999px}
.tier h3{font-family:var(--fd);font-variation-settings:"wdth" 108;font-weight:700;font-size:26px;margin:0}
.tier .price{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:18px 0 4px}
.tier .price b{font-family:var(--fd);font-weight:700;font-size:56px;line-height:1;letter-spacing:-.03em}
.tier .price s{font-size:18px;opacity:.6}
.off{display:inline-block;background:var(--leaf);color:var(--ink);font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px}
.tier .once{font-size:14px;opacity:.7}
.tier ul{list-style:none;padding:0;margin:24px 0 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.tier li{display:flex;gap:10px;font-size:16px;line-height:1.35}
.tier li svg{flex:none;margin-top:2px}
.tier .mb{font-size:13px;text-align:center;margin:12px 0 0;opacity:.75}
.tier .btn{width:100%}
.note{margin-top:26px;font-size:15px;color:#4A4C55;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}
.light .note b{color:var(--ink)}

.bookcta{margin-top:8px;border-radius:30px;background:var(--ink);color:var(--paper);padding:48px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center}
.bookcta h3{font-size:clamp(36px,4vw,56px);margin:14px 0 0}
.bookcta p{color:var(--muted2);font-size:18px;max-width:46ch;margin:16px 0 26px}
.light .bookcta a{color:var(--paper)}
.light .bookcta .btn-leaf{color:var(--ink)}
.bookgroups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bookgroups div{border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:6px}
.bookgroups b{font-size:20px}
.bookgroups span{color:var(--muted);font-size:15px}

/* ---------------- guarantees / features ---------------- */
.guar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.g{border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:26px;background:var(--panel)}
.g svg{display:block}
.g h3{font-size:19px;margin:16px 0 6px;font-weight:700}
.g p{margin:0;color:var(--muted);font-size:15px}
.feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ft{border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:28px;background:var(--panel);display:flex;flex-direction:column;gap:10px}
.ft .n{font-family:var(--fa);font-style:italic;font-size:40px;line-height:1;color:var(--sky)}
.ft h3{font-size:21px;margin:6px 0 0;font-weight:700}
.ft p{margin:0;color:var(--muted);font-size:16px}
.light .ft{background:#FBFAF6;border-color:#D7D6CE}
.light .ft p{color:#4A4C55}

/* ---------------- reviews ---------------- */
.tp{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.tp b{font-family:var(--fd);font-size:40px;font-weight:700;line-height:1}
.tp a{color:#D6D7DD;text-decoration:underline;text-underline-offset:3px}
.revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rev{border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;background:var(--panel);margin:0}
.rev q{font-family:var(--fd);font-variation-settings:"wdth" 90;font-weight:500;font-size:24px;line-height:1.25;quotes:"\201C" "\201D"}
.rev.serif q{font-family:var(--fa);font-style:italic;font-weight:400;font-size:26px;line-height:1.2;color:var(--muted2);font-variation-settings:normal}
.rev .who{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px;color:var(--muted)}
.rev .who b{color:var(--paper);display:block}
.rev.ph{border-style:dashed;border-color:rgba(255,255,255,.22);background:transparent;padding:30px}

/* ---------------- service cards ---------------- */
.svc{display:flex;flex-direction:column;gap:24px}
.svc-card{background:var(--paper);color:var(--ink);border-radius:40px;padding:56px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.svc-card h3{font-size:clamp(46px,5vw,80px);margin:0}
.svc-card p{margin:0;font-size:18px;color:#3A3C45;max-width:46ch}
.svc-card a{color:var(--ink)}
.svc-card .btn-ink{color:var(--paper)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.tag{border:1.5px solid #C9CAD1;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:500}
.from{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:26px 0 22px}
.from b{font-family:var(--fd);font-size:38px;font-weight:700;letter-spacing:-.02em}
.from s{color:#6B6D76}
.stack{position:relative;height:440px;border-radius:30px;overflow:hidden}
.stack img{position:absolute;width:54%;aspect-ratio:1;object-fit:cover;border-radius:20px;box-shadow:0 24px 50px rgba(0,0,0,.28)}
.stack .s1{left:8%;top:14%;transform:rotate(-7deg)}
.stack .s2{left:24%;top:22%;transform:rotate(3deg)}
.stack .s3{left:40%;top:10%;transform:rotate(9deg)}
.stack .s1,.stack .s2,.stack .s3{animation:deal 9s cubic-bezier(.65,0,.35,1) infinite}
.stack .s2{animation-delay:-3s}
.stack .s3{animation-delay:-6s}
@keyframes deal{0%,27%{left:8%;top:14%;transform:rotate(-7deg) scale(.94);z-index:1}33%,60%{left:24%;top:22%;transform:rotate(3deg) scale(.97);z-index:2}66%,93%{left:40%;top:10%;transform:rotate(9deg) scale(1);z-index:3}94%{z-index:0}100%{left:8%;top:14%;transform:rotate(-7deg) scale(.94);z-index:0}}
.stack .web{width:78%;aspect-ratio:1.6;border-radius:14px}
.stack .w1,.stack .w2,.stack .w3{animation:webdeal 10.5s cubic-bezier(.65,0,.35,1) infinite}
.stack .w2{animation-delay:-3.5s}
.stack .w3{animation-delay:-7s}
@keyframes webdeal{0%,27%{left:4%;top:6%;width:66%;z-index:1;filter:brightness(.8)}33%,60%{left:22%;top:26%;width:70%;z-index:2;filter:brightness(.92)}66%,93%{left:12%;top:48%;width:76%;z-index:3;filter:brightness(1)}94%{z-index:0}100%{left:4%;top:6%;width:66%;z-index:0;filter:brightness(.8)}}
.book{position:absolute;width:34%;aspect-ratio:.66;border-radius:4px 12px 12px 4px;display:flex;flex-direction:column;justify-content:space-between;padding:18px 16px;box-shadow:inset 10px 0 0 rgba(0,0,0,.18),0 24px 50px rgba(0,0,0,.3);overflow:hidden}
.book img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.book b{font-family:var(--fd);font-variation-settings:"wdth" 80;font-size:24px;line-height:1;font-weight:700}
.book span{font-family:var(--fm);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.b1{left:10%;top:16%;transform:rotate(-6deg);background:var(--blue);color:var(--paper)}
.b2{left:34%;top:10%;background:var(--sun);color:var(--ink)}
.b3{left:57%;top:18%;transform:rotate(6deg);background:var(--red);color:var(--paper)}
.stack .book{animation:bookdeal 9s cubic-bezier(.65,0,.35,1) infinite}
.stack .b2{animation-delay:-3s}
.stack .b3{animation-delay:-6s}
@keyframes bookdeal{0%,27%{left:8%;top:16%;transform:rotate(-7deg) scale(.94);z-index:1;filter:brightness(.85)}33%,60%{left:30%;top:10%;transform:rotate(2deg) scale(.97);z-index:2;filter:brightness(.93)}66%,93%{left:54%;top:18%;transform:rotate(7deg) scale(1.04);z-index:3;filter:brightness(1)}94%{z-index:0}100%{left:8%;top:16%;transform:rotate(-7deg) scale(.94);z-index:0;filter:brightness(.85)}}
.vstack{position:relative;height:440px;border-radius:30px;overflow:hidden;background:var(--tang)}
.vf{position:absolute;border-radius:16px;overflow:hidden;background:var(--ink);box-shadow:0 24px 50px rgba(0,0,0,.3);aspect-ratio:16/10}
.vf img,.vf video{width:100%;height:100%;object-fit:cover;display:block}
.vf .live{position:absolute;left:12px;top:12px;width:auto;height:auto;border-radius:999px;box-shadow:none;display:flex;align-items:center;gap:6px;background:rgba(12,13,18,.75);color:var(--paper);font:500 11px var(--fm);letter-spacing:.08em;text-transform:uppercase;padding:5px 9px}
.vf .live i{width:7px;height:7px;border-radius:50%;background:var(--red);display:inline-block}
.v1{width:72%;left:5%;top:7%;z-index:2}
.v2{width:50%;left:46%;top:44%;z-index:3}
.v3{width:44%;left:9%;top:60%;z-index:1;transform:rotate(-3deg)}
.vstack .vf{animation:viddeal 10.5s cubic-bezier(.65,0,.35,1) infinite}
.vstack .v1{animation-delay:-7s}
.vstack .v2{animation-delay:-3.5s}
@keyframes viddeal{0%,27%{left:4%;top:6%;width:60%;transform:rotate(-3deg);z-index:1;filter:brightness(.8)}33%,60%{left:34%;top:18%;width:62%;transform:rotate(2deg);z-index:2;filter:brightness(.92)}66%,93%{left:10%;top:38%;width:76%;transform:rotate(0deg);z-index:3;filter:brightness(1)}94%{z-index:0}100%{left:4%;top:6%;width:60%;transform:rotate(-3deg);z-index:0;filter:brightness(.8)}}
.stack:hover *,.vstack:hover *{animation-play-state:paused}

/* ---------------- work ---------------- */
.work{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.wk{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/5;display:block;background:#15171F}
.wk img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.wk:hover img{transform:scale(1.05)}
.wk .chips{position:absolute;left:18px;top:18px;display:flex;flex-wrap:wrap;gap:6px}
.wk .chips span{background:rgba(12,13,18,.72);backdrop-filter:blur(6px);color:var(--paper);font-size:13px;padding:6px 11px;border-radius:999px}
.wk .cap{position:absolute;left:0;right:0;bottom:0;padding:60px 22px 20px;background:linear-gradient(transparent,rgba(12,13,18,.88));display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.wk .cap b{font-family:var(--fd);font-variation-settings:"wdth" 80;font-weight:400;font-size:28px;line-height:1;color:var(--paper)}
.wk .cap span{font-size:14px;color:var(--sun);font-weight:600}
.wk.wide{aspect-ratio:1.6}
.wk[hidden]{display:none}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters button{min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(255,255,255,.25);background:transparent;color:var(--paper);font-weight:600;font-size:15px;cursor:pointer;font-family:inherit}
.filters button.on{background:var(--sun);color:var(--ink);border-color:var(--sun)}
.webrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.webrow a{border-radius:24px;overflow:hidden;display:block}
.webrow img{width:100%;display:block;aspect-ratio:1.6;object-fit:cover}
.anim-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:64px 0 22px}
.anim-head h3{font-family:var(--fd);font-weight:700;font-size:40px;line-height:1;margin:10px 0 0;letter-spacing:-.02em}
.animrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.at{position:relative;display:block;border-radius:24px;overflow:hidden;background:#15171F;aspect-ratio:16/10}
.at img,.at video{width:100%;height:100%;object-fit:cover;display:block}
.at .play{position:absolute;right:14px;bottom:14px;width:48px;height:48px;border-radius:50%;background:var(--sun);display:flex;align-items:center;justify-content:center;transition:transform .3s}
.at:hover .play{transform:scale(1.1)}
.at .meta{position:absolute;left:14px;bottom:14px;display:flex;flex-direction:column;gap:4px;background:rgba(12,13,18,.78);backdrop-filter:blur(6px);padding:8px 12px;border-radius:12px}
.at .meta b{font-size:15px;color:var(--paper);line-height:1.2}
.at .meta span{font-size:12px;color:var(--muted2)}
.midcta,.callstrip{margin-top:36px;border:1px solid rgba(255,255,255,.14);border-radius:28px;padding:26px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.midcta b,.callstrip b{font-size:22px;display:block}
.midcta span,.callstrip span{color:var(--muted)}
.light .callstrip{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.light .callstrip a{color:var(--paper)}
.light .callstrip .btn-sun{color:var(--ink)}

/* ---------------- bundle ---------------- */
.bundle{background:var(--paper);color:var(--ink);border-radius:44px;padding:64px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:start}
.bundle .disp{font-size:clamp(46px,5vw,78px)}
.bundle a{color:var(--ink)}
.bundle .btn-ink{color:var(--paper)}
.bundle p{margin:20px 0 0;font-size:18px;color:#3A3C45;max-width:44ch}
.bgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bi{background:#fff;border:1.5px solid #E1E0D8;border-radius:22px;padding:22px}
.bi h3{margin:0 0 10px;font-size:19px;display:flex;align-items:center;gap:10px}
.bi h3 i{width:12px;height:12px;border-radius:50%;display:inline-block}
.bi ul{margin:0;padding-left:18px;color:#3A3C45;font-size:15px;display:flex;flex-direction:column;gap:4px}

/* ---------------- process ---------------- */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.14)}
.steps.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.step{padding:32px 28px 8px;border-right:1px solid rgba(255,255,255,.1)}
.step:first-child{padding-left:0}
.step:last-child{border-right:0}
.step .n{font-family:var(--fd);font-variation-settings:"wdth" 62;font-weight:300;font-size:72px;line-height:1;color:var(--sky)}
.steps.serif .n{font-family:var(--fa);font-style:italic;font-size:64px;font-weight:400;font-variation-settings:normal}
.step h3{font-size:22px;margin:18px 0 8px;font-weight:700;line-height:1.2}
.step p{margin:0;color:var(--muted);font-size:16px}

/* ---------------- faq ---------------- */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.qa{border-top:1px solid rgba(255,255,255,.14)}
.qa:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.qa button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;background:transparent;border:0;color:var(--paper);text-align:left;font-size:19px;font-weight:600;padding:22px 0;cursor:pointer;min-height:44px;font-family:inherit}
.qa button:hover{color:var(--sun)}
.qa .a{margin:0 0 22px;color:var(--muted);font-size:16px;max-width:62ch}
.qa .a p{margin:0 0 10px}
.qa .a[hidden]{display:none}
.qa .pm{flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:18px}
.light .qa{border-color:#D7D6CE}
.light .qa button{color:var(--ink)}
.light .qa .a{color:#4A4C55}
.light .qa .pm{border-color:#C9CAD1}

/* ---------------- prose / legal / blog ---------------- */
.prose{font-size:18px;line-height:1.7;color:#D6D7DD;max-width:68ch}
.prose h2{font-family:var(--fd);font-weight:700;font-size:32px;letter-spacing:-.02em;line-height:1.1;margin:48px 0 14px;color:var(--paper)}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:22px;margin:32px 0 10px;color:var(--paper)}
.prose p{margin:0 0 18px}
.prose ul,.prose ol{margin:0 0 18px;padding-left:22px}
.prose li{margin-bottom:6px}
.prose a{color:var(--sun);text-decoration:underline;text-underline-offset:3px}
.prose img{border-radius:18px;height:auto}
.prose blockquote{margin:28px 0;padding:0 0 0 22px;border-left:3px solid var(--sun);font-family:var(--fa);font-style:italic;font-size:26px;line-height:1.25;color:var(--paper)}
.prose table{width:100%;border-collapse:collapse;font-size:15px;margin:0 0 18px}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.12)}
.toc{position:sticky;top:110px;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:22px;background:var(--panel);font-size:15px}
.toc b{display:block;margin-bottom:10px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.toc a{display:block;padding:7px 0;color:#D6D7DD;border-bottom:1px solid rgba(255,255,255,.08)}
.toc a:last-child{border-bottom:0}
.lay{display:grid;grid-template-columns:280px minmax(0,1fr);gap:56px;align-items:start}
.sw{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.sw a{min-height:40px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.22);font-size:14px;font-weight:600;color:#D6D7DD}
.sw a.on{background:var(--sun);color:var(--ink);border-color:var(--sun)}
.summary{border:1px solid rgba(255,255,255,.12);border-left:3px solid var(--leaf);border-radius:0 20px 20px 0;padding:22px 24px;margin:0 0 36px;background:var(--panel)}
.summary b{display:block;margin-bottom:8px}
.summary ul{margin:0;padding-left:20px;color:var(--muted2);font-size:16px}
.tbl{border:1px solid rgba(255,255,255,.14);border-radius:18px;overflow:hidden;margin:18px 0 28px;font-size:15px}
.tr{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:12px;padding:12px 16px;border-top:1px solid rgba(255,255,255,.1)}
.tr:first-child{border-top:0;background:var(--panel);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.post{border:1px solid rgba(255,255,255,.12);border-radius:26px;overflow:hidden;background:var(--panel);display:flex;flex-direction:column}
.post .thumb{aspect-ratio:16/10;background:#1A1C24;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.post .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.post .thumb span{font-family:var(--fa);font-style:italic;font-size:44px;color:var(--paper);opacity:.9;position:relative;padding:20px;text-align:center;line-height:1}
.post .body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.post .meta{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:center}
.post .meta i{width:4px;height:4px;border-radius:50%;background:#5B5D66;display:inline-block}
.post h3{font-size:21px;line-height:1.2;margin:0;font-weight:700}
.post p{margin:0;color:var(--muted);font-size:15px}
.post .more{margin-top:auto;padding-top:8px;font-weight:600;color:var(--sun)}
.post.featured{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.post.featured .thumb{aspect-ratio:auto;min-height:360px}
.post.featured h3{font-size:36px}
.cats{display:flex;gap:8px;flex-wrap:wrap}
.cats a{min-height:40px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.22);font-size:14px;font-weight:600;color:#D6D7DD}
.cats a.on{background:var(--sun);color:var(--ink);border-color:var(--sun)}
.pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:40px}
.pagination .page-numbers{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:999px;border:1.5px solid rgba(255,255,255,.22);color:#D6D7DD;font-weight:600}
.pagination .page-numbers.current{background:var(--sun);color:var(--ink);border-color:var(--sun)}

/* ---------------- close ---------------- */
.close{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;background:var(--indigo);border-radius:44px;padding:72px;position:relative;overflow:hidden}
.close .deco{position:absolute;right:-140px;top:-120px;width:600px;height:600px;opacity:.35;pointer-events:none}
.close>div{position:relative}
.close .disp{font-size:clamp(48px,5.4vw,84px)}
.close p{color:#D9DBF5;font-size:19px;max-width:44ch}
.close .ald-form p{color:#5B5D66;font-size:13px;max-width:none}
.close .ald-form .form-sub{font-size:15px;color:#4A4C55}
.close .card{position:relative;width:100%}
.close.leafbg{background:var(--leaf);color:var(--ink)}
.close.leafbg p{color:#0F3B1C}
.close.leafbg a{color:var(--ink)}
.close.sunbg{background:var(--sun);color:var(--ink)}
.close.sunbg p{color:#4A3A00}
.close.sunbg a{color:var(--ink)}
.contact{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:30px;font-size:17px;font-weight:600}
.contact span{display:block;color:#AEB1E6;font-size:13px;font-weight:400}
.close.leafbg .contact span{color:#0F3B1C}
.callbig{display:inline-flex;align-items:center;gap:18px;margin-top:36px;background:var(--sun);color:var(--ink);border-radius:999px;padding:12px 34px 12px 12px;box-shadow:0 18px 50px rgba(253,199,12,.22)}
.callbig:hover{background:#FFE07A;color:var(--ink)}
.callbig.inkbg{background:var(--ink);color:var(--paper);box-shadow:none}
.callbig.inkbg:hover{background:var(--indigo);color:var(--paper)}
.callbig .ring{width:62px;height:62px;border-radius:50%;background:var(--paper);display:flex;align-items:center;justify-content:center;position:relative}
.callbig.inkbg .ring{background:var(--sun)}
.callbig .ring::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid currentColor;opacity:0;animation:ping 2.4s ease-out infinite}
@keyframes ping{0%{transform:scale(.85);opacity:.8}100%{transform:scale(1.25);opacity:0}}
.callbig small{display:block;font-size:14px;font-weight:600;opacity:.8}
.callbig b{display:block;font-family:var(--fd);font-weight:700;font-size:38px;line-height:1;letter-spacing:-.02em}

/* ---------------- footer ---------------- */
.foot{padding-block:44px 96px;border-top:1px solid rgba(255,255,255,.1);margin-top:72px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:28px}
.foot .flogo{height:44px;width:auto;display:block}
.foot .tag-line{color:var(--muted);max-width:34ch;margin:14px 0 0;font-size:14px}
.foot .pay{margin:14px 0 0;font-size:13px;color:#8F92A0;max-width:40ch}
.foot h4,.foot .fh{font-family:var(--fb);font-size:12px;line-height:1.4;margin:0 0 10px;color:#A9ABB5;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.foot ul a{color:var(--muted2)}
.foot ul a:hover{color:var(--sun)}
@media (max-width:820px){.foot ul{gap:0}.foot ul a{display:inline-block;padding:9px 0;min-height:24px}.legal a{display:inline-block;padding:8px 0}}
.foot .dim{color:#A9ABB5}
.foot li.dim a{text-decoration:underline;text-underline-offset:3px}
.legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:#8F92A0}
.legal a{color:#8F92A0}
.legal ul{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.legal li+li::before{content:"·";margin-right:6px}
.social{display:flex;gap:10px;margin-top:16px}
.social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:inline-flex;align-items:center;justify-content:center;color:#D6D7DD}

.fab{position:fixed;right:max(24px,env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:30;box-shadow:0 14px 40px rgba(0,0,0,.4)}
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--ink);border-top:1px solid rgba(255,255,255,.14);padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));gap:10px}
.mbar .btn{flex:1;min-height:50px;padding:0 12px}
.mbar .btn.two{flex:2}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}

/* ---------------- responsive ---------------- */
@media (max-width:1080px){
  .nav-links,.nav-phone{display:none}
  .menu-btn{display:inline-flex}
  .hero{grid-template-columns:minmax(0,1fr);padding-block:36px 52px;gap:40px}
  .ph{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:40px 36px}
  .svc-card,.bundle,.bookcta{grid-template-columns:minmax(0,1fr);padding:36px;gap:32px}
  .bookgroups{grid-template-columns:minmax(0,1fr)}
  .close,.faq,.post.featured,.lay{grid-template-columns:minmax(0,1fr)}
  .close{padding:40px}
  .guar,.feats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps.five{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps.five .step,.steps.five .step:first-child{padding:24px 20px 20px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .toc{position:static}
}
@media (max-width:860px){
  .work,.webrow,.revs,.tiers,.tiers.two,.animrow,.posts{grid-template-columns:minmax(0,1fr)}
  .vstack{height:320px}
  .anim-head h3{font-size:32px}
  .tier.dark{transform:none}
  .tiers{gap:28px;margin-top:20px}
  .work .wk{aspect-ratio:1}
  .steps{grid-template-columns:minmax(0,1fr)}
  .step,.step:first-child{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);padding:26px 0}
  .sec{padding-block:68px}
}
@media (max-width:560px){
  .pg{font-size:16px}
  .wrap{padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
  .promo .wrap{min-height:36px;padding-block:6px;font-size:13px}
  .promo .hide-s{display:none}
  .nav-in{min-height:66px;gap:12px}
  .nav-in .logo img{height:40px}
  .nav-in .btn-sun{display:none}
  .h1,.ph .h1{font-size:44px;line-height:.98}
  .h2{font-size:36px;line-height:1}
  .hero{padding-block:28px 36px;gap:26px}
  .lede{font-size:17px;margin-top:16px}
  .cta-row .btn{width:100%}
  .qbar{margin-top:24px}
  .qbar .qrow{flex-direction:column;border-radius:20px;padding:8px}
  .qbar .qrow select{flex:none;border-right:0;border-bottom:1px solid #DAD9D1;border-radius:0}
  .qbar .qrow .btn{width:100%}
  .pills{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-18px;padding-inline:18px}
  .pill{flex:none}
  .quick{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:22px -18px 0;padding:0 18px}
  .quick a{flex:none;min-height:40px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;background:#1A1C24;color:var(--paper);font-size:14px;font-weight:600}
  .stage{height:auto;background:transparent;overflow:visible}
  .wall{position:relative;inset:auto;height:170px;border-radius:22px;overflow:hidden;gap:8px;padding:0}
  .col{gap:8px}
  .col img{border-radius:12px}
  .ticker{padding-block:12px}
  .track span{font-size:30px}
  .sec{padding-block:52px}
  .sec-head{margin-bottom:24px;gap:14px}
  .sub{font-size:16px;margin-top:10px}
  .tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%;border-radius:20px}
  .tab{flex:none}
  .tiers,.tiers.two{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:16px -18px 0;padding:14px 18px 10px;scrollbar-width:none}
  .tier{flex:0 0 86%;scroll-snap-align:center;padding:24px}
  .tier .price b{font-size:44px}
  .tier ul{margin:18px 0 22px;gap:8px}
  .tier li{font-size:15px}
  .note{font-size:14px}
  .bookcta{padding:22px;border-radius:24px}
  .guar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .g{padding:16px;border-radius:18px}
  .g svg{width:28px;height:28px}
  .g h3{font-size:15px;margin:10px 0 4px}
  .g p{font-size:13px}
  .feats{grid-template-columns:minmax(0,1fr);gap:10px}
  .ft{padding:18px}
  .tp b{font-size:30px}
  .revs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:-18px;padding:0 18px 6px;scrollbar-width:none}
  .rev{flex:0 0 86%;scroll-snap-align:center;padding:22px;border-radius:22px}
  .rev q,.rev.serif q{font-size:19px}
  .svc{gap:14px}
  .svc-card{padding:22px;gap:20px;border-radius:24px}
  .svc-card h3{font-size:38px}
  .svc-card p{font-size:15px}
  .tags{margin:14px 0;gap:6px}
  .tag{font-size:12px;padding:5px 10px}
  .from{margin:16px 0 14px}
  .from b{font-size:30px}
  .acts .btn{flex:1 1 auto}
  .stack,.vstack{height:230px;border-radius:20px}
  .work{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .work .wk{aspect-ratio:1;border-radius:16px}
  .wk .chips,.wk .cap span{display:none}
  .wk .cap{padding:28px 10px 10px}
  .wk .cap b{font-size:17px}
  .webrow,.animrow{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:10px -18px 0;padding:0 18px 4px;scrollbar-width:none}
  .webrow a,.animrow .at{flex:0 0 82%;scroll-snap-align:center}
  .anim-head{margin:36px 0 14px}
  .anim-head h3{font-size:28px}
  .midcta,.callstrip{padding:18px;border-radius:20px}
  .midcta b,.callstrip b{font-size:18px}
  .callstrip .btn{width:100%}
  .bundle{padding:22px;gap:20px;border-radius:24px}
  .bundle .disp{font-size:34px}
  .bgrid{grid-template-columns:minmax(0,1fr)}
  .bi{padding:16px}
  .steps .step{padding:16px 0}
  .step .n{font-size:40px}
  .step h3{margin:8px 0 4px;font-size:19px}
  .qa button{font-size:17px;padding:18px 0}
  .faq{gap:20px}
  .close{padding:22px;border-radius:24px;gap:24px}
  .close .disp{font-size:34px}
  .close p{font-size:16px}
  .callbig{margin-top:24px;width:100%;padding-right:22px;gap:12px}
  .callbig .ring{width:50px;height:50px}
  .callbig b{font-size:28px}
  .card{padding:20px;border-radius:20px}
  .row2{grid-template-columns:minmax(0,1fr)}
  .prose{font-size:16px}
  .prose h2{font-size:26px}
  .tr{grid-template-columns:minmax(0,1fr);gap:4px}
  .foot{margin-top:52px;padding-block:32px 96px}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .foot-grid > div:first-child{grid-column:1 / -1}
  .fab{display:none}
  .mbar{display:flex}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .col,.track,.stack *,.vstack *,.callbig .ring::after{animation:none}
  .wk:hover img{transform:none}
  .rv{transition:none;opacity:1;transform:none}
}

/* related services strip */
.relsvc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.relsvc a{border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px 18px;background:var(--panel);display:flex;flex-direction:column;gap:4px}
.relsvc a:hover{border-color:var(--sun)}
.relsvc b{font-size:16px}
.relsvc span{font-size:13px;color:var(--muted)}
@media (max-width:860px){.relsvc{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.relsvc{grid-template-columns:minmax(0,1fr)}}

/* portfolio tiles: video previews for animation projects without a still */
.wk video.wk-video{width:100%;height:100%;object-fit:cover;display:block;background:#15171F}

/* ---------------- order popup ---------------- */
.modal{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;font-family:var(--fb);font-size:17px;line-height:1.55}
.modal input,.modal button,.modal textarea,.modal select{font-family:var(--fb)}
.modal[hidden]{display:none}
.modal-back{position:absolute;inset:0;background:rgba(12,13,18,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.modal-box{position:relative;width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:32px;animation:modalin .35s cubic-bezier(.2,.7,.2,1)}
.modal-box .ald-form h2{font-size:30px;margin:0}
.modal-box .form-sub{color:#4A4C55;font-size:15px;margin:8px 0 18px}
.modal-x{position:absolute;right:16px;top:14px;width:40px;height:40px;border-radius:50%;border:0;background:#EEEDE6;color:var(--ink);font-size:26px;line-height:1;cursor:pointer}
.modal-x:hover{background:var(--sun)}
.order-pick{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1.5px solid var(--ink);border-radius:16px;padding:14px 18px;margin:0 0 18px;background:#fff}
.order-pick[hidden]{display:none}
.order-pick b{font-family:var(--fd);font-size:20px;letter-spacing:-.02em}
.order-pick span{font-family:var(--fa);font-style:italic;font-size:26px;line-height:1}
.modal-foot{margin:16px 0 0;text-align:center;font-size:14px;color:#6B6D76}
.modal-foot a{color:var(--ink);font-weight:600}
body.modal-open{overflow:hidden}
@keyframes modalin{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@media (max-width:560px){.modal{padding:0;align-items:flex-end}.modal-box{width:100%;max-height:92vh;border-radius:26px 26px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px))}}
@media (prefers-reduced-motion:reduce){.modal-box{animation:none}}

/* ---------------- review carousel ---------------- */
.revc{position:relative}
.revc-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 4px 8px;margin:-4px -4px 0;-webkit-overflow-scrolling:touch}
.revc-track::-webkit-scrollbar{display:none}
.revc-track:focus-visible{outline-offset:6px}
.revc-item{flex:0 0 calc((100% - 40px) / 3);scroll-snap-align:start;min-height:320px}
.rev-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.rev-top .stars{color:var(--sun);letter-spacing:.08em;font-size:15px}
.rev-src{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);letter-spacing:.04em}
.rev-head{font-family:var(--fd);font-weight:700;font-size:22px;letter-spacing:-.02em;line-height:1.15;margin:0 0 10px}
.revc-item q{font-size:17px;font-weight:400;line-height:1.5;color:var(--muted2);font-variation-settings:normal;display:block}
.revc-item q.clamp{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.revc-item q.clamp.open{-webkit-line-clamp:unset;overflow:visible}
.rev-more{background:none;border:0;color:var(--sky);font:inherit;font-size:14px;font-weight:600;padding:6px 0 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.revc .who time{color:var(--muted)}
.revc-nav{display:flex;align-items:center;gap:14px;margin-top:22px;flex-wrap:wrap}
.revc-btn{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);background:transparent;color:var(--paper);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.revc-btn:hover{background:var(--sun);color:var(--ink);border-color:var(--sun)}
.revc-btn[disabled]{opacity:.35;cursor:default;background:transparent;color:var(--paper);border-color:rgba(255,255,255,.25)}
.revc-dots{display:flex;gap:6px}
.revc-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.22);transition:background .2s,transform .2s}
.revc-dots i.on{background:var(--sun);transform:scale(1.25)}
.revc-all{margin-left:auto;font-size:15px;color:#D6D7DD;text-decoration:underline;text-underline-offset:3px}
.revc-all:hover{color:var(--sun)}
@media (max-width:1080px){.revc-item{flex-basis:calc((100% - 20px) / 2)}}
@media (max-width:640px){.revc-track{gap:12px;margin-inline:-18px;padding:4px 18px 8px}.revc-item{flex-basis:86%;min-height:0;padding:22px;border-radius:22px}.rev-head{font-size:20px}.revc-all{margin-left:0;width:100%}}

/* ---------------- service buyer's guide ---------------- */
.guide-head{max-width:860px}
.guide-intro{font-size:20px;line-height:1.5;color:#E4E5EC;margin:18px 0 0}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}
.guide-b{background:#11131A;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:26px}
.guide-b h3{font-family:var(--fd);font-weight:700;font-size:21px;letter-spacing:-.015em;line-height:1.15;margin:0 0 10px;color:var(--paper)}
.guide-b p{margin:0;color:var(--muted2);font-size:16px;line-height:1.6}
.guide-table-wrap{margin-top:16px;overflow-x:auto;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:#11131A}
.guide-table{width:100%;border-collapse:collapse;font-size:16px;min-width:520px}
.guide-table th,.guide-table td{text-align:left;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:top}
.guide-table thead th{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#8F92A0;font-weight:600}
.guide-table tbody th{font-weight:600;color:var(--sun);white-space:nowrap}
.guide-table td{color:var(--muted2)}
.guide-table tbody tr:last-child th,.guide-table tbody tr:last-child td{border-bottom:0}
@media (max-width:1080px){.guide-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.guide-intro{font-size:17px}.guide-b{padding:20px;border-radius:20px}.guide-b h3{font-size:19px}.guide-table{min-width:0}.guide-table thead{display:none}.guide-table tr{display:block;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.guide-table tbody tr:last-child{border-bottom:0}.guide-table th,.guide-table td{display:block;padding:2px 0;border:0;font-size:15px}.guide-table tbody th{font-size:16px;margin-bottom:2px}}

/* ---------------- touch targets (phones): standalone links get at least 24px of height ---------------- */
@media (max-width:820px){
  .crumbs a,.promo a,.pline a,.tp a,.close .contact a,.faq .sub a,.single .credit a{display:inline-block;padding-block:4px;min-height:24px}
}

/* Note: no CSS scroll-behavior:smooth anywhere. A smooth snap on load is treated by Chrome as a scroll and
   stops Largest Contentful Paint from being recorded (PageSpeed shows no Performance score). JS asks for smooth scrolling where wanted. */
