:root{--ink:#1f2d2a;--cream:#f6efe4;--paper:#fbf6ee;--terra:#b5532f;--terra-d:#9a4325;--sage:#3e6259;--gold:#e9c46a;--mute:#4f5d59;--r:18px;--serif:"Fraunces",Georgia,serif;--sans:"Instrument Sans",system-ui,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:99}
.skip:focus{left:1rem;top:1rem}
:focus-visible{outline:3px solid var(--terra);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.02em}
h1 em,h2 em{font-style:italic;color:var(--terra);font-weight:300}
h1{font-size:clamp(2.6rem,7vw,5.2rem)}
h2{font-size:clamp(2rem,4.6vw,3.5rem);max-width:20ch;margin-bottom:2.5rem}
h3{font-size:1.4rem;margin-bottom:.5rem}
.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--terra-d);margin-bottom:1rem;display:flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:28px;height:1.5px;background:currentColor}
.btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--terra-d);color:#fff;text-decoration:none;font-weight:600;padding:1rem 1.6rem;border-radius:999px;border:0;font:600 1rem var(--sans);cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(154,67,37,.7);background:#86391f}
.btn span{transition:transform .25s}.btn:hover span{transform:translateX(4px)}
.btn-sm{padding:.6rem 1.1rem;font-size:.92rem}
.link{font-weight:600;text-underline-offset:5px;text-decoration-thickness:1.5px}
.link:hover{color:var(--terra-d)}
/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(246,239,228,.86);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s}
.nav.scrolled{border-color:rgba(31,45,42,.12)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--serif);font-size:1.2rem}
.brand svg{width:34px;height:34px}
.brand em,.brand-f em{color:var(--terra-d)}
.burger{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:10px;cursor:pointer}
.burger span{width:24px;height:2px;background:var(--ink);transition:transform .3s}
.burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
#menu{position:absolute;top:70px;left:0;right:0;background:var(--cream);display:flex;flex-direction:column;padding:1rem 1.25rem 1.5rem;gap:.2rem;border-bottom:1px solid rgba(31,45,42,.12);visibility:hidden;opacity:0;transform:translateY(-8px);transition:.25s}
#menu.open{visibility:visible;opacity:1;transform:none}
#menu a:not(.btn){text-decoration:none;padding:.7rem 0;font-weight:500;border-bottom:1px solid rgba(31,45,42,.08)}
#menu .btn{margin-top:.8rem;justify-content:center}
@media(min-width:900px){.burger{display:none}#menu{position:static;visibility:visible;opacity:1;transform:none;flex-direction:row;align-items:center;gap:1.8rem;padding:0;background:none;border:0}#menu a:not(.btn){border:0;padding:0;font-size:.95rem;position:relative}#menu a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-4px;height:1.5px;width:100%;background:var(--terra);transform:scaleX(0);transform-origin:left;transition:transform .3s}#menu a:not(.btn):hover::after{transform:scaleX(1)}#menu .btn{margin:0}}
/* hero */
.hero{padding:3rem 0 0;position:relative}
.hero-grid{display:grid;gap:2.5rem;align-items:center}
.lede{font-size:1.15rem;color:var(--mute);max-width:34rem;margin:1.5rem 0 2rem}
.cta-row{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center}
.note{margin-top:1.6rem;font-size:.92rem;color:var(--mute);padding-left:1rem;border-left:2px solid var(--gold);max-width:30rem}
.hero-art{max-width:440px;margin-inline:auto;width:100%}
.sun{animation:pulse 6s ease-in-out infinite;transform-origin:300px 110px}
.float1{animation:bob 5s ease-in-out infinite}.float2{animation:bob 4s ease-in-out infinite .6s}
.tag{animation:sway 4s ease-in-out infinite;transform-origin:210px 90px}
@keyframes bob{50%{transform:translateY(-6px)}}@keyframes pulse{50%{transform:scale(1.08)}}@keyframes sway{50%{transform:rotate(-4deg)}}
.marquee{margin-top:4rem;border-block:1px solid rgba(31,45,42,.15);overflow:hidden;padding:1rem 0;font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--sage)}
.marquee div{white-space:nowrap;display:inline-block;animation:scroll 40s linear infinite}
@keyframes scroll{to{transform:translateX(-50%)}}
@media(min-width:900px){.hero{padding-top:5rem}.hero-grid{grid-template-columns:1.15fr .85fr;gap:4rem}}
/* sections */
.section{padding:5.5rem 0}
@media(min-width:900px){.section{padding:8rem 0}}
.dark{background:var(--ink);color:var(--cream)}
.dark .eyebrow{color:var(--gold)}.dark h2 em{color:var(--gold)}
.tint{background:#ece3d4}
.why-grid{display:grid;gap:2.5rem}
.why-intro p{font-size:1.2rem;color:var(--mute);max-width:30rem}
.pillars{list-style:none;padding:0;display:grid;gap:1px;background:rgba(31,45,42,.15);border:1px solid rgba(31,45,42,.15);border-radius:var(--r);overflow:hidden}
.pillars li{background:var(--paper);padding:2rem;transition:background .3s}
.pillars li:hover{background:#fff}
.num{font-family:var(--serif);font-style:italic;color:var(--terra-d);font-size:1.1rem;display:block;margin-bottom:1rem}
.pillars p,.steps p{color:var(--mute)}
@media(min-width:640px){.pillars{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.why-grid{grid-template-columns:.8fr 1.2fr;gap:4rem}}
.steps{list-style:none;padding:0;display:grid;gap:1.25rem;counter-reset:s}
.steps li{position:relative;padding:2rem;border:1px solid rgba(246,239,228,.18);border-radius:var(--r);transition:transform .3s,border-color .3s,background .3s;counter-increment:s}
.steps li::after{content:"0" counter(s);position:absolute;top:1.4rem;right:1.6rem;font-family:var(--serif);font-style:italic;color:rgba(246,239,228,.35);font-size:1.5rem}
.steps li:hover{transform:translateY(-4px);border-color:var(--gold);background:rgba(246,239,228,.04)}
.dark .steps p{color:#cfd6d2}
.step-ico{width:56px;height:56px;border-radius:50%;background:rgba(233,196,106,.14);color:var(--gold);display:grid;place-items:center;margin-bottom:1.5rem}
.step-ico svg{width:30px}
@media(min-width:640px){.steps{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.steps{grid-template-columns:repeat(4,1fr)}}
.incl{list-style:none;padding:0;display:grid;gap:.8rem}
.incl li{display:flex;flex-direction:column;padding:1.2rem 1.4rem;background:var(--paper);border-radius:14px;border-left:3px solid var(--sage);transition:transform .25s,border-color .25s}
.incl li:hover{transform:translateX(4px);border-left-color:var(--terra)}
.incl b{font-family:var(--serif);font-weight:500;font-size:1.2rem}
.incl span{color:var(--mute);font-size:.95rem}
@media(min-width:640px){.incl{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.incl{grid-template-columns:repeat(5,1fr)}}
.extras{display:grid;gap:1.25rem;margin-top:2.5rem}
.card{background:var(--sage);color:var(--cream);padding:2rem;border-radius:var(--r)}
.card p{opacity:.9;margin-bottom:1rem}
.card.outline{background:transparent;color:var(--ink);border:1.5px dashed rgba(31,45,42,.35)}
.card.outline p{color:var(--mute)}
.ticks{list-style:none;padding:0}
.ticks li{padding-left:1.6rem;position:relative;margin:.35rem 0}
.ticks li::before{content:"✦";position:absolute;left:0;color:var(--gold)}
.outline .ticks li::before{color:var(--terra-d)}
@media(min-width:768px){.extras{grid-template-columns:1fr 1fr}}
.work-head{display:grid;gap:1rem;margin-bottom:2.5rem}
.work-head h2{margin-bottom:0}.work-head>p{color:var(--mute);max-width:28rem;align-self:end}
@media(min-width:900px){.work-head{grid-template-columns:1fr 1fr}}
.gallery{display:grid;gap:1.25rem}
@media(min-width:768px){.gallery{grid-template-columns:repeat(3,1fr)}}
.ph{background:var(--paper);border-radius:var(--r);padding:1rem;border:1px solid rgba(31,45,42,.1);transition:transform .35s}
.ph:hover{transform:translateY(-6px) rotate(-.5deg)}
.ph-art{aspect-ratio:4/3;border-radius:10px;position:relative;overflow:hidden;background:repeating-linear-gradient(135deg,transparent 0 12px,rgba(31,45,42,.05) 12px 13px)}
.ph-art.a{background-color:#e7d3c0}.ph-art.b{background-color:#d6e0d9}.ph-art.c{background-color:#efe0b8}
.ph-art i{position:absolute;background:rgba(255,255,255,.65);border-radius:6px}
.ph-art i:nth-child(1){left:8%;right:8%;top:8%;height:10%}
.ph-art i:nth-child(2){left:8%;width:40%;top:26%;bottom:8%}
.ph-art i:nth-child(3){right:8%;width:38%;top:26%;height:30%;border-radius:50%}
.ph figcaption{display:flex;align-items:center;gap:.7rem;padding:1rem .3rem .3rem;font-family:var(--serif);font-size:1.1rem}
.badge{font:600 .7rem var(--sans);letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--cream);padding:.35rem .7rem;border-radius:99px}
.faq-grid{display:grid;gap:1rem}
@media(min-width:900px){.faq-grid{grid-template-columns:.7fr 1.3fr;gap:4rem}}
details{border-bottom:1px solid rgba(31,45,42,.18)}
summary{list-style:none;cursor:pointer;padding:1.4rem 2.5rem 1.4rem 0;font-family:var(--serif);font-size:1.3rem;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:.3rem;top:50%;transform:translateY(-50%);font-family:var(--sans);font-size:1.6rem;color:var(--terra-d);transition:transform .3s}
details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
summary:hover{color:var(--terra-d)}
details p{padding:0 0 1.4rem;color:var(--mute);max-width:40rem}
.form-grid{display:grid;gap:2.5rem}
.form-grid>div>p:last-child{color:#cfd6d2;max-width:28rem}
@media(min-width:900px){.form-grid{grid-template-columns:1fr 1fr;gap:5rem}}
.form{background:var(--paper);color:var(--ink);padding:2rem;border-radius:22px;position:relative}
.field{margin-bottom:1.1rem}
label{display:block;font-weight:600;font-size:.92rem;margin-bottom:.4rem}
.opt{font-weight:400;color:var(--mute)}
input,textarea{width:100%;font:inherit;padding:.85rem 1rem;border:1.5px solid rgba(31,45,42,.3);border-radius:12px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
input:focus,textarea:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 4px rgba(62,98,89,.2)}
input[aria-invalid=true]{border-color:#a3271c}
.err{color:#a3271c;font-size:.85rem;min-height:1.1em;margin-top:.3rem}
.form .btn{width:100%;justify-content:center;margin-top:.5rem}
.success{position:absolute;inset:0;background:var(--paper);border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;color:var(--sage)}
.success[hidden]{display:none}
.success svg{width:64px;margin-bottom:1rem}.success p{color:var(--mute)}
.foot{background:#17221f;color:#cfd6d2;padding:3rem 0}
.foot-in{display:grid;gap:.5rem}
.brand-f{font-family:var(--serif);font-size:1.6rem;color:var(--cream)}.brand-f em{color:var(--gold)}
.small{font-size:.82rem;opacity:.8}
/* reveal */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}
/* keep-more section */
.keep{background:var(--paper);border-bottom:1px solid rgba(31,45,42,.1)}
.keep-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem}
.keep-head h2{margin-bottom:1.5rem}
.cur-toggle{display:inline-flex;background:#ece3d4;border-radius:999px;padding:4px;margin-bottom:1.5rem}
.cur{font:600 .92rem var(--sans);border:0;background:none;color:var(--ink);padding:.6rem 1.1rem;border-radius:999px;cursor:pointer;transition:background .25s,color .25s}
.cur.on{background:var(--ink);color:var(--cream)}
.keep-intro{color:var(--mute);max-width:44rem;font-size:1.1rem;margin-bottom:2.5rem}
.compare{display:grid;gap:1.25rem;align-items:stretch}
.col{border-radius:var(--r);padding:1.8rem;display:flex;flex-direction:column}
.col h3{font-size:1.7rem;margin-bottom:.2rem}
.col-sub{font-size:.9rem;color:var(--mute);margin-bottom:1.2rem}
.etsy{background:var(--cream);border:1px solid rgba(31,45,42,.14)}
.own{background:var(--sage);color:var(--cream)}.own .col-sub{color:#d5e0db}
.rows{margin:0 0 1rem}
.rows>div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px dashed rgba(31,45,42,.2);font-size:.98rem}
.own .rows>div{border-color:rgba(246,239,228,.25)}
.rows dd{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.rows small{font-size:.78rem;opacity:.75;margin-right:.4rem}
.rows .hide{display:none}
.keep-total{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;padding-top:.8rem}
.keep-total span{font-weight:600}
.keep-total b{font-family:var(--serif);font-weight:500;font-size:2.4rem;font-variant-numeric:tabular-nums}
.ads-note{font-size:.85rem;color:var(--mute);margin-top:.6rem}
.own .ads-note{color:#d5e0db}
.diff{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--gold);border-radius:var(--r);padding:1.4rem}
.diff-label{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.diff b{font-family:var(--serif);font-size:2.8rem;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums}
.diff-sub{font-size:.9rem}
@media(min-width:900px){.compare{grid-template-columns:1fr 190px 1fr}.diff{border-radius:999px;aspect-ratio:1;align-self:center}}
.keep-foot{margin-top:2.5rem;display:grid;gap:1.2rem}
.alongside{font-size:1.1rem;border-left:3px solid var(--terra);padding-left:1rem;max-width:44rem}
.fine{font-size:.82rem;color:var(--mute);max-width:60rem}
.swap{animation:swap .4s ease}
@keyframes swap{from{opacity:.2;transform:translateY(4px)}}
.diff b{white-space:nowrap}
@media(min-width:900px){.compare{grid-template-columns:1fr 210px 1fr}.diff b{font-size:2.4rem}}
.diff b{white-space:nowrap}
@media(min-width:900px){.compare{grid-template-columns:1fr 210px 1fr}.diff b{font-size:2.4rem}}
/* pricing */
.price-grid{display:grid;gap:2.5rem;align-items:center}
.price-lede{color:var(--mute);max-width:28rem;font-size:1.1rem}
.price-card{background:var(--paper);border:1px solid rgba(31,45,42,.14);border-radius:24px;padding:2.2rem;box-shadow:0 30px 60px -40px rgba(31,45,42,.45)}
.price-name{font-weight:600;letter-spacing:.04em}
.price{display:flex;align-items:baseline;gap:.6rem;margin:.4rem 0 .2rem}
.price b{font-family:var(--serif);font-weight:400;font-size:4.2rem;line-height:1;color:var(--terra-d)}
.price span{color:var(--mute)}
.price-alt{font-size:.9rem;color:var(--mute);margin-bottom:1.3rem}
.price-card .ticks{margin-bottom:1.6rem;columns:1}
.price-card .ticks li::before{color:var(--terra-d)}
.price-fine{font-size:.82rem;color:var(--mute);margin-top:1.2rem}
@media(min-width:640px){.price-card .ticks{columns:2;column-gap:1.5rem}}
@media(min-width:900px){.price-grid{grid-template-columns:1fr 1.1fr;gap:5rem}}
.qualifier{display:inline-block;background:#ece3d4;border-radius:999px;padding:.45rem 1rem;font-size:.9rem;font-weight:600;margin-bottom:1.6rem}
.why-h{max-width:24ch}
.benefits{list-style:none;padding:0;display:grid;gap:1px;background:rgba(31,45,42,.14);border:1px solid rgba(31,45,42,.14);border-radius:var(--r);overflow:hidden;margin-bottom:4.5rem}
.benefits li{background:var(--paper);padding:1.8rem;transition:background .3s}
.benefits li:hover{background:#fff}
.benefits h3{font-size:1.3rem}.benefits p{color:var(--mute);font-size:.98rem}
@media(min-width:640px){.benefits{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.benefits{grid-template-columns:repeat(3,1fr)}}
.compare-h{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:1.5rem}
.keep-head{align-items:center}
.benefits li{background:#fff8ef}
.price-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:.4rem 0 1.4rem}
.price-top .price{margin:0}.price-top .cur-toggle{margin:0}
.diff-sub{max-width:12ch;line-height:1.25;margin-top:.2rem}
@media(max-width:899px){.diff-sub{max-width:none}}
/* simplified flow & CTAs */
.btn{min-height:48px}
.btn-lg{padding:1.05rem 1.8rem;font-size:1.05rem}
.btn-block{width:100%;justify-content:center}
.steps3{counter-reset:s}
@media(min-width:1024px){.steps.steps3{grid-template-columns:repeat(3,1fr)}}
.pay-line{font-size:.92rem;font-weight:600;text-align:center;margin-top:.8rem;color:var(--sage)}
.note-toggle{background:none;border:0;font:600 .95rem var(--sans);color:var(--sage);padding:.7rem 0;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;margin-bottom:.6rem}
.note-toggle:hover{color:var(--terra-d)}
.form .btn-lg{margin-top:.4rem}
.micro{text-align:center;font-size:.88rem;color:var(--mute);margin-top:.8rem}
.success{position:static;min-height:340px}
.form-body[hidden]{display:none}
.sticky-cta{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:60;justify-content:center;box-shadow:0 12px 30px -8px rgba(31,45,42,.55);transform:translateY(160%);transition:transform .35s}
.sticky-cta.show{transform:none}
@media(min-width:900px){.sticky-cta{display:none}}
@media(max-width:899px){.foot{padding-bottom:6rem}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
fieldset.socials{border:0;padding:0;min-width:0}
.socials legend{font-weight:600;font-size:.92rem;margin-bottom:.4rem;padding:0}
#social-list{display:grid;gap:.6rem}
.social-row{display:flex;gap:.5rem;align-items:center}
.social-row input{flex:1;min-width:0}
.rm{flex:none;width:48px;height:48px;border-radius:12px;border:1.5px solid rgba(31,45,42,.3);background:#fff;font-size:1.4rem;line-height:1;color:var(--ink);cursor:pointer}
.rm:hover{border-color:var(--terra-d);color:var(--terra-d)}
.social-row input[aria-invalid=true]{border-color:#a3271c}
.link-btn{background:none;border:0;font:600 .95rem var(--sans);color:var(--sage);padding:.5rem 0;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.link-btn:hover{color:var(--terra-d)}
.socials .err:empty{min-height:0;margin:0}
/* portfolio demo cards */
.demos{display:grid;gap:1.5rem}
@media(min-width:768px){.demos{grid-template-columns:repeat(3,1fr)}}
.demo-card{background:var(--paper);border-radius:var(--r);border:1px solid rgba(31,45,42,.1);overflow:hidden;transition:transform .35s,box-shadow .35s}
.demo-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -30px rgba(31,45,42,.5)}
.demo-link{display:block;text-decoration:none;color:inherit}
.demo-thumb{aspect-ratio:16/10;overflow:hidden;background:#ddd;border-bottom:1px solid rgba(31,45,42,.1)}
.demo-thumb img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .6s}
.demo-card:hover .demo-thumb img{transform:scale(1.04)}
.demo-info{padding:1.3rem 1.4rem 1.5rem}
.demo-type{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--terra-d)}
.demo-info h3{font-size:1.5rem;margin:.3rem 0 .4rem}
.demo-style{color:var(--mute);font-size:.95rem;margin-bottom:1rem}
.demo-cta{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;font-weight:600;color:var(--terra-d)}
.demo-cta span{transition:transform .25s}.demo-card:hover .demo-cta span{transform:translateX(4px)}

/* launch additions */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.success{position:static;min-height:340px}
.success h3{font-family:var(--serif);font-size:1.6rem;color:var(--ink);margin-bottom:.6rem;line-height:1.25}
.form-error{background:#fbe9e5;border:1.5px solid #e1a597;color:#7a1f14;border-radius:12px;padding:.9rem 1rem;margin-top:.9rem;font-size:.95rem}
.form-error[hidden]{display:none}.form-error a{color:#7a1f14;font-weight:600}
.btn.loading{opacity:.75;cursor:progress}.btn.loading .btn-label::before{content:"";display:inline-block;width:1em;height:1em;margin-right:.55rem;vertical-align:-.15em;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.steps-line{font-weight:600;color:var(--gold);margin:-.5rem 0 2rem;font-size:1.05rem}
.pay-here{text-align:center;margin-top:.8rem;font-size:.95rem}.pay-here a{color:var(--terra-d);font-weight:600}
/* pay page */
.pay-main{min-height:80vh;padding:7rem 0 4rem}
.pay-card{max-width:640px;margin:0 auto;background:var(--paper);border-radius:22px;padding:2.5rem 2rem;box-shadow:0 20px 50px -30px rgba(31,45,42,.4);text-align:center}
.pay-card h1{font-family:var(--serif);font-size:clamp(2rem,5vw,2.8rem);line-height:1.1;margin-bottom:1rem}
.pay-steps{list-style:none;display:grid;gap:.8rem;margin:2rem 0;text-align:left;padding:0}
.pay-steps li{display:flex;gap:1rem;align-items:center;background:#fff;border-radius:14px;padding:.9rem 1.1rem;border:1px solid rgba(31,45,42,.1)}
.pay-steps b.n{flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--sage);color:var(--cream);display:grid;place-items:center;font-family:var(--serif)}
.pay-card .btn{width:100%;justify-content:center;font-size:1.15rem;padding:1.2rem}
.pay-card .usd-note,.pay-card .code-line,.pay-card .secure{color:var(--mute);font-size:.95rem;margin-top:.9rem}
.pay-card .code-line{background:#fff6dc;border-radius:12px;padding:.8rem 1rem;color:var(--ink)}
.pay-card .secure a{color:var(--terra-d);font-weight:600}

/* WhatsApp contact */
.wa-fab{position:fixed;right:1.25rem;bottom:calc(1.25rem + env(safe-area-inset-bottom));z-index:61;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(31,45,42,.55);transition:transform .25s,box-shadow .25s}
.wa-fab svg{width:30px;height:30px}
.wa-fab:hover{transform:translateY(-3px);box-shadow:0 16px 34px -8px rgba(31,45,42,.6)}
@media(max-width:899px){.wa-fab{right:1rem;width:52px;height:52px;bottom:calc(1rem + 4.75rem + env(safe-area-inset-bottom))}.wa-fab svg{width:28px;height:28px}}
.wa-line{font-size:.9rem;color:var(--mute);margin-top:.6rem;text-align:center}
.wa-line a{color:var(--terra-d);font-weight:600}
.foot .wa-line{text-align:left;color:#cfd6d2}.foot .wa-line a{color:var(--gold)}
.hp{clip:rect(0 0 0 0);opacity:0;pointer-events:none}
@media(max-width:899px){.wa-fab{width:48px;height:48px;right:.9rem}.wa-fab svg{width:26px;height:26px}.wa-fab.wa-hide{opacity:0;transform:scale(.6);pointer-events:none;visibility:hidden}.wa-fab{transition:opacity .25s,transform .25s,visibility .25s}}
/* Mobile: WhatsApp button sits in the sticky CTA band, beside (not over) the CTA, and only shows with it */
@media(max-width:899px){.has-sticky .sticky-cta{right:calc(1rem + 48px + .6rem)}.has-sticky .wa-fab{bottom:calc(1rem + env(safe-area-inset-bottom) + var(--wa-off,5px))}}
