/* ===========================================================
   Mètode Silva · entrenament personal privat — Andorra
   Design system premium · charcoal + bronze
   =========================================================== */

:root{
  --ink:#0d0f12;          /* near-black */
  --ink-2:#15181d;        /* panels */
  --ink-3:#1d2127;        /* cards */
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.18);
  --paper:#f6f4f0;        /* off-white */
  --paper-2:#ffffff;
  --muted:#9aa1ab;        /* secondary text on dark */
  --muted-d:#5c6470;      /* secondary text on light */
  --bronze:#c8954e;       /* accent */
  --bronze-2:#e0b271;
  --bronze-soft:rgba(200,149,78,.12);
  --txt-dark:#1a1c20;     /* text on light */
  --radius:14px;
  --radius-lg:22px;
  --maxw:1160px;
  --shadow:0 24px 60px -24px rgba(0,0,0,.55);
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --display:'Sora',var(--font);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{width:100%;max-width:100%;overflow-x:hidden;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;max-width:100%;overflow-x:hidden}
button,input,select,textarea{font:inherit;font-size:16px}
button,a{touch-action:manipulation}
body{
  font-family:var(--font);
  background:var(--ink);
  color:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,video,canvas,svg{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:min(var(--maxw),100%);margin:0 auto;padding:0 24px}

h1,h2,h3,h4{font-family:var(--display);line-height:1.12;font-weight:700;letter-spacing:-.02em}
h1{font-size:clamp(2.4rem,6vw,4.2rem)}
h2{font-size:clamp(1.9rem,4vw,3rem)}
h3{font-size:clamp(1.2rem,2.4vw,1.55rem)}
p{color:var(--paper)}
.lead{font-size:clamp(1.05rem,1.8vw,1.3rem);color:var(--muted);max-width:60ch}

.eyebrow{
  display:inline-flex;align-items:center;gap:.6em;
  font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--bronze-2);
}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--bronze)}

/* ---------- Buttons ---------- */
.btn{
  max-width:100%;
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-weight:600;font-size:.98rem;line-height:1;
  padding:1.02em 1.6em;border-radius:100px;cursor:pointer;border:1px solid transparent;
  transition:transform .18s ease, background .2s ease, color .2s, border-color .2s;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--bronze);color:#1a130a}
.btn-primary:hover{background:var(--bronze-2)}
.btn-ghost{border-color:var(--line-strong);color:var(--paper)}
.btn-ghost:hover{border-color:var(--bronze);color:var(--bronze-2)}
.btn-wa{background:#1f8a4c;color:#fff}
.btn-wa:hover{background:#25a55b}
.btn-lg{padding:1.15em 2em;font-size:1.05rem}
.btn svg{width:20px;height:20px;flex:none}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(13,15,18,.72);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav{position:relative;display:flex;align-items:center;justify-content:space-between;height:74px;gap:clamp(10px,1.4vw,18px)}
.brand{display:flex;align-items:center;gap:14px;font-family:var(--display);font-weight:700;letter-spacing:-.01em;font-size:1.08rem;flex-shrink:0}
.brand-logo{width:38px;height:38px;object-fit:contain;display:block;flex:none}
.brand small{display:block;font-family:var(--font);font-weight:500;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.nav-links{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-width:0;flex-wrap:nowrap;white-space:nowrap;gap:clamp(14px,1.55vw,24px)}
.nav-links .mobile-menu-cta{display:none}
.nav-links a{font-size:.9rem;line-height:1;white-space:nowrap;color:var(--muted);font-weight:500;transition:color .2s;position:relative}
.nav-links a:hover,.nav-links a.active{color:var(--paper)}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-22px;height:2px;background:var(--bronze)}
.nav-right{position:relative;z-index:1002;display:flex;align-items:center;gap:clamp(10px,1.25vw,16px);flex-shrink:0}
.nav-right .btn-primary{white-space:nowrap;padding-inline:clamp(1.05em,1.55vw,1.35em);font-size:.92rem}
.lang{flex:none}

/* language selector */
.lang{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:.5em;background:var(--ink-3);border:1px solid var(--line);color:var(--paper);
  padding:.55em .8em;border-radius:100px;font-size:.82rem;font-weight:600;cursor:pointer;letter-spacing:.06em}
.lang-btn:hover{border-color:var(--bronze)}
.lang-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:1003;background:var(--ink-2);border:1px solid var(--line-strong);
  border-radius:12px;padding:6px;min-width:150px;box-shadow:var(--shadow);display:none;flex-direction:column;gap:2px}
.lang.open .lang-menu{display:flex}
.lang-menu button{background:none;border:0;color:var(--muted);text-align:left;padding:.6em .8em;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;display:flex;justify-content:space-between;gap:1em}
.lang-menu button:hover{background:var(--ink-3);color:var(--paper)}
.lang-menu button[aria-current="true"]{color:var(--bronze-2);background:var(--bronze-soft)}
.lang-menu button span{color:var(--muted-d);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}

.burger{position:relative;z-index:1002;flex:none;display:none;background:none;border:1px solid var(--line);border-radius:10px;width:42px;height:42px;cursor:pointer;color:var(--paper)}
.burger svg{margin:auto}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(56px,9vw,110px) 0 clamp(56px,8vw,96px)}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(900px 500px at 78% -8%,rgba(200,149,78,.16),transparent 60%),
  radial-gradient(700px 600px at 8% 110%,rgba(200,149,78,.07),transparent 55%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:center;position:relative}
.hero h1{margin:.35em 0 .55em}
.hero h1 em{font-style:normal;color:var(--bronze-2)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero-meta{display:flex;flex-wrap:wrap;gap:22px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.hero-meta div{min-width:96px}
.hero-meta b{font-family:var(--display);font-size:1.5rem;display:block;color:var(--paper)}
.hero-meta span{font-size:.82rem;color:var(--muted)}
.hero-photo{position:relative}
.hero-photo img{width:100%;border-radius:var(--radius-lg);border:1px solid var(--line-strong);object-fit:cover;aspect-ratio:4/5}
.hero-photo .badge{position:absolute;left:-14px;bottom:24px;background:var(--paper);color:var(--txt-dark);
  border-radius:14px;padding:14px 18px;box-shadow:var(--shadow);max-width:230px}
.hero-photo .badge b{font-family:var(--display);display:block;font-size:.98rem}
.hero-photo .badge span{font-size:.8rem;color:var(--muted-d)}
.langchips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.langchips span{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:.4em .8em}

/* ---------- Sections ---------- */
section{padding:clamp(56px,8vw,104px) 0}
.section-head{max-width:62ch;margin-bottom:clamp(34px,5vw,56px)}
.section-head h2{margin:.4em 0 .5em}
.about-hero .lead + .lead{margin-top:18px}
.about-profile-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(240px,330px);gap:clamp(24px,4vw,48px);align-items:center}
.about-profile-copy h1{margin:.35em 0 .45em}
.about-profile-copy .lead + .lead{margin-top:18px}
.about-profile-photo{width:100%;max-width:330px;max-height:320px;justify-self:end;align-self:center;aspect-ratio:1/.92;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--line-strong);box-shadow:var(--shadow)}
.about-profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:inherit}

.visual-icon{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  padding:10px;
  border-radius:15px;
  color:var(--bronze-2);
  background:linear-gradient(180deg,rgba(224,178,113,.12),rgba(200,149,78,.04));
  border:1px solid rgba(224,178,113,.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 28px -24px rgba(224,178,113,.75);
  flex:none;
}
.visual-icon::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  pointer-events:none;
}
.visual-svg{
  position:relative;
  z-index:1;
  width:24px;
  height:24px;
  display:block;
  flex:none;
}
.about-proof-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:26px;
}
.about-proof-card{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:flex-start;
  gap:14px;
  padding:16px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.022)),#151515;
  border:1px solid rgba(224,178,113,.22);
  box-shadow:0 22px 52px -38px rgba(0,0,0,.9);
  overflow:hidden;
}
.about-proof-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(260px 120px at 100% 0,rgba(224,178,113,.1),transparent 68%);
  opacity:.75;
  pointer-events:none;
}
.about-proof-card > *{
  position:relative;
  z-index:1;
}
.about-proof-card h3{
  margin:1px 0 5px;
  font-size:.98rem;
  letter-spacing:0;
}
.about-proof-card p{
  color:var(--muted);
  font-size:.86rem;
  line-height:1.48;
}
.method-card-top{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.method-card-top .method-number{
  margin:0;
}
.method-icon{
  width:42px;
  height:42px;
  padding:9px;
  border-radius:14px;
}
.about-method-grid .method-card{
  background:linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.022)),#151515;
  border-color:rgba(224,178,113,.22);
  box-shadow:0 24px 58px -38px rgba(0,0,0,.92);
}
.about-method-section{padding:clamp(46px,6vw,76px) 0}
.about-method-section .section-head{margin-bottom:clamp(24px,3.5vw,34px)}
.about-method-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:none}
.about-method-grid .method-card{padding:24px 22px;border-radius:var(--radius)}
.about-method-grid .method-number{font-size:1.45rem;margin-bottom:12px}
.about-method-grid .method-card-top .method-number{margin:0}
.about-method-grid .method-card h3{font-size:1.05rem;margin-bottom:8px}
.about-method-grid .method-card p{font-size:.9rem;line-height:1.6}
.page-hero.space-page-hero{padding:clamp(34px,5vw,56px) 0 clamp(18px,3vw,28px)}
.page-hero.space-page-hero h1{max-width:24ch}
.page-hero.space-page-hero .lead{max-width:900px}
.space-carousel-section{padding:clamp(22px,3.5vw,42px) 0 clamp(44px,6vw,70px)}
.space-carousel-section .section-head{max-width:920px;margin:0 auto clamp(18px,2.6vw,26px)}
.space-carousel-section .section-head .lead{max-width:900px}
.space-carousel,[data-carousel]{position:relative;width:100%;max-width:min(920px,100%);overflow:hidden;border-radius:var(--radius-lg)}
.space-carousel{margin-inline:auto;border:1px solid var(--line-strong);box-shadow:var(--shadow);background:#0f1115;isolation:isolate}
.space-carousel-viewport{position:relative;width:100%;height:auto;aspect-ratio:16/9;overflow:hidden;background:#0f1115}
.space-carousel-track{position:absolute;inset:0;width:100%;height:100%;display:block;transition:none;transform:none!important}
.space-carousel-slide{position:absolute;inset:0;min-width:0;width:100%;height:100%;margin:0;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.01));opacity:0;pointer-events:none;transition:opacity .28s ease}
.space-carousel-slide:first-child{opacity:1;pointer-events:auto}
.space-carousel.is-ready .space-carousel-slide{opacity:0;pointer-events:none}
.space-carousel.is-ready .space-carousel-slide.is-active{opacity:1;pointer-events:auto}
.space-carousel-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.space-carousel-slide--plan img,.space-carousel-slide--access img{object-fit:contain;background:#0f1115}
.space-carousel-arrow{position:absolute;top:50%;z-index:5;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid var(--line-strong);background:rgba(13,15,18,.72);color:var(--paper);display:grid;place-items:center;font-size:1.7rem;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.space-carousel-arrow:hover{border-color:var(--bronze);color:var(--bronze-2);background:rgba(13,15,18,.88)}
.space-carousel-arrow.prev{left:16px}
.space-carousel-arrow.next{right:16px}
.space-carousel-dots{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;justify-content:center;gap:8px;z-index:5}
.space-carousel-dot{width:8px;height:8px;border-radius:50%;border:0;background:rgba(255,255,255,.42);cursor:pointer;padding:0}
.space-carousel-dot[aria-current="true"]{background:var(--bronze-2)}
.space-carousel.is-single .space-carousel-arrow,.space-carousel.is-single .space-carousel-dots{display:none}
.about-hero-ticks{max-width:760px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.about-hero-ticks li{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.bg-2{background:var(--ink-2)}
.bg-paper{background:var(--paper);color:var(--txt-dark)}
.bg-paper h1,.bg-paper h2,.bg-paper h3,.bg-paper p{color:var(--txt-dark)}
.bg-paper .lead{color:var(--muted-d)}
.bg-paper .eyebrow{color:#9a6e2c}
.bg-paper .eyebrow::before{background:var(--bronze)}

/* ---------- Objective cards ---------- */
.obj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.obj-card{
  position:relative;background:var(--ink-3);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:30px 26px 26px;display:flex;flex-direction:column;gap:14px;
  transition:transform .2s ease,border-color .2s ease,background .2s;overflow:hidden;
}
.obj-card::after{content:"";position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(420px 200px at 90% -20%,var(--bronze-soft),transparent 70%);opacity:0;transition:opacity .25s}
.obj-card:hover{transform:translateY(-5px);border-color:var(--line-strong)}
.obj-card:hover::after{opacity:1}
.obj-card .ico{width:48px;height:48px;border-radius:12px;background:var(--bronze-soft);display:grid;place-items:center;color:var(--bronze-2)}
.obj-card .ico svg{width:24px;height:24px}
.obj-card h3{font-size:1.22rem}
.obj-card p{color:var(--muted);font-size:.95rem;flex:1}
.obj-card .more{color:var(--bronze-2);font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:.4em;position:relative;z-index:1}
.obj-card .more svg{width:16px;height:16px;transition:transform .2s}
.obj-card:hover .more svg{transform:translateX(4px)}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:980px;margin:0 auto}
.service-card{padding:38px 34px;min-height:360px}
.service-card-primary,.service-card-online{border-color:var(--line-strong);background:linear-gradient(180deg,rgba(200,149,78,.08),var(--ink-3) 42%)}
.service-card-primary{border-color:var(--bronze)}

.section-cta{margin:clamp(28px,4vw,44px) auto 0;max-width:720px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.section-cta p{color:var(--muted);font-size:1.05rem;max-width:54ch}
.obj-card:not(a){cursor:default}

/* ---------- Feature / split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.split.rev .split-media{order:2}
.split-media img{width:100%;border-radius:var(--radius-lg);border:1px solid var(--line-strong)}
.split-body h2{margin:.4em 0 .6em}
.ticks{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:24px}
.ticks li{display:flex;gap:.8em;align-items:flex-start;color:var(--muted)}
.ticks li b{color:var(--paper);font-weight:600}
.tick{flex:none;width:22px;height:22px;border-radius:50%;background:var(--bronze-soft);color:var(--bronze-2);display:grid;place-items:center;margin-top:2px}
.tick svg{width:13px;height:13px}
.bg-paper .ticks li{color:var(--muted-d)}
.bg-paper .ticks li b{color:var(--txt-dark)}

/* ---------- Privex space ---------- */
.split-media--plan{display:flex;justify-content:center}
.split-media--plan img{width:auto;max-width:100%;max-height:640px}

/* ---------- Method ---------- */
.method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:980px}
.method-card{background:var(--ink-3);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px 30px;position:relative;overflow:hidden}
.method-card::after{content:"";position:absolute;inset:0;background:radial-gradient(420px 180px at 90% -20%,rgba(200,149,78,.12),transparent 70%);opacity:0;transition:opacity .25s ease}
.method-card:hover::after{opacity:1}
.method-card > *{position:relative;z-index:1}
.method-number{display:block;font-family:var(--display);font-size:2rem;font-weight:800;color:var(--bronze);margin-bottom:18px}
.method-card h3{font-size:1.22rem;margin-bottom:12px}
.method-card p{color:var(--muted);font-size:.98rem;line-height:1.7}

/* ---------- Pricing ---------- */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.price-grid-duo{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px;margin:0 auto}
.price-grid-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-bottom:28px}
.price-card{background:var(--ink-3);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 30px;display:flex;flex-direction:column}
.price-card-presencial{padding:38px 34px;min-height:100%}
.price-card-group{width:100%;padding:36px 40px}
.price-card.feat{border-color:var(--bronze);background:linear-gradient(180deg,rgba(200,149,78,.10),var(--ink-3) 40%)}
.price-card .tag{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-2);font-weight:600}
.price-card h3{margin:.5em 0 .2em}
.price-card .amount{font-family:var(--display);font-size:2.6rem;font-weight:700;line-height:1;margin:.3em 0}
.price-card .amount-text{font-size:1.45rem;color:var(--bronze-2);line-height:1.15}
.price-card .amount small{font-size:.95rem;color:var(--muted);font-weight:500;font-family:var(--font)}
.price-card .desc{color:var(--muted);font-size:.95rem;min-height:42px}
.price-card ul{list-style:none;margin:22px 0 28px;display:flex;flex-direction:column;gap:12px}
.price-card li{display:flex;gap:.7em;align-items:flex-start;color:var(--muted);font-size:.94rem}
.price-card li .tick{margin-top:1px}
.price-card .btn{margin-top:auto;width:100%}
.price-note{text-align:center;color:var(--muted);font-size:.9rem;margin-top:26px}
.rate-list{display:flex;flex-direction:column;gap:10px;margin:22px 0 8px}
.rate-list > div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.rate-list span{color:var(--muted);font-size:.92rem}
.rate-list b{color:var(--paper);font-weight:700;text-align:right}
.price-card-group .desc{max-width:780px;min-height:0}
.group-price-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0}
.group-price-block{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.group-price-block h4{color:var(--bronze-2);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}
.group-price-row{display:flex;justify-content:space-between;gap:24px;padding:14px 0;border-bottom:1px solid var(--line)}
.group-price-row:last-child{border-bottom:0}
.group-price-row span{color:var(--muted)}
.group-price-row strong{color:var(--paper);text-align:right;font-weight:700}
.price-card .price-benefits-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin-top:24px}

/* ---------- Conditions ---------- */
.conditions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.condition-card{background:var(--ink-3);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px}
.condition-mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--bronze-soft);color:var(--bronze-2);font-family:var(--display);font-weight:700;font-size:.78rem;margin-bottom:10px}
.condition-card h3{font-size:.98rem;margin-bottom:7px}
.condition-card p{color:var(--muted);font-size:.89rem;line-height:1.58}

/* ---------- Quote / proof ---------- */
.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.quote{background:var(--ink-3);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px}
.quote p{color:var(--paper);font-size:1.02rem;margin-bottom:18px}
.quote .who{font-size:.85rem;color:var(--muted)}
.stars{color:var(--bronze-2);letter-spacing:.15em;margin-bottom:14px;font-size:.95rem}

/* ---------- CTA band ---------- */
.cta-band{background:linear-gradient(135deg,#1c1407,#2a1d0a 55%,#1a1305);border:1px solid var(--line-strong);
  border-radius:var(--radius-lg);padding:clamp(34px,5vw,56px);text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 50% -30%,rgba(224,178,113,.22),transparent 70%)}
.cta-band > *{position:relative}
.cta-band h2{margin-bottom:.4em}
.cta-band p{color:var(--muted);max-width:54ch;margin:0 auto 28px}
.cta-band .hero-cta{justify-content:center}

/* ---------- Page hero (inner) ---------- */
.page-hero{padding:clamp(48px,7vw,80px) 0 clamp(30px,4vw,46px);position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 360px at 85% -20%,var(--bronze-soft),transparent 65%)}
.page-hero .wrap{position:relative}
.page-hero h1{margin:.3em 0 .4em;max-width:18ch}
.pricing-page .page-hero h1{max-width:none}
.pricing-page .page-hero{padding-bottom:28px}
.pricing-page #presencial-prices{padding-top:10px}
.pricing-page #presencial-prices .section-head{margin-bottom:24px}
.breadcrumb{font-size:.82rem;color:var(--muted)}
.breadcrumb a:hover{color:var(--bronze-2)}

/* ---------- FAQ ---------- */
.faq-accordion{display:grid;gap:10px;max-width:980px}
.faq-item{background:var(--ink-3);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.faq-question{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:none;border:0;color:var(--paper);padding:17px 18px;text-align:left;cursor:pointer;font:inherit}
.faq-question:hover{background:rgba(200,149,78,.055)}
.faq-tag{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--bronze-2);white-space:nowrap}
.faq-title{font-family:var(--display);font-size:1rem;line-height:1.35}
.faq-icon{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--bronze-2);font-weight:700;line-height:1;transition:transform .2s}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-answer{display:none;padding:0 18px 18px 18px}
.faq-item.open .faq-answer{display:block}
.faq-answer p{color:var(--muted);font-size:.93rem;line-height:1.62;max-width:76ch}

/* ---------- Maps / Google reviews ---------- */
.location-section .split{align-items:stretch}
.map-placeholder{min-height:260px;border:1px dashed rgba(224,178,113,.45);border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(200,149,78,.10),rgba(255,255,255,.03));display:grid;place-items:center;text-align:center;padding:28px;color:var(--bronze-2);font-family:var(--display);font-weight:700}
.access-photo{margin:0;background:var(--ink-3);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;padding:12px;display:flex;flex-direction:column;gap:10px}
.access-photo img{width:100%;height:min(58vw,440px);object-fit:contain;object-position:center;background:#0f1115;border-radius:calc(var(--radius-lg) - 8px);display:block}
.access-photo figcaption{color:var(--muted);font-size:.88rem;line-height:1.45;padding:0 4px 2px}
.integration-note{color:var(--muted);font-size:.88rem;margin-top:16px;max-width:52ch}
.google-reviews-section{background:var(--ink)}
.google-reviews-card{background:var(--ink-3);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 30px;max-width:760px}
.google-reviews-card h3{margin-bottom:10px}
.google-reviews-card p{color:var(--muted);margin-bottom:24px}
.google-review-summary{display:flex;align-items:baseline;gap:12px;margin-bottom:22px;color:var(--muted)}
.google-review-summary strong{font-family:var(--display);font-size:2rem;color:var(--bronze-2)}
.google-review-list{display:grid;gap:14px}
.google-review{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:rgba(255,255,255,.03)}
.google-review p{margin:8px 0 10px;color:var(--paper)}
.google-review span{color:var(--muted);font-size:.88rem}

/* ---------- Contact ---------- */
.contact-page .page-hero{padding-bottom:clamp(20px,3vw,34px)}
.contact-page .page-hero + section{padding-top:clamp(24px,4vw,44px)}
.contact-page .contact-grid{margin-top:0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,56px);align-items:start}
.contact-card{background:var(--ink-3);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 30px}
.field{margin-bottom:18px}
.field label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:7px;font-weight:500}
.field input,.field select,.field textarea{
  width:100%;background:var(--ink);border:1px solid var(--line-strong);color:var(--paper);
  border-radius:10px;padding:.9em 1em;font-family:inherit;font-size:16px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--bronze)}
.field textarea{min-height:120px;resize:vertical}
.info-row{display:flex;gap:1em;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}
.info-row:last-child{border-bottom:0}
.info-row .ico{flex:none;width:44px;height:44px;border-radius:11px;background:var(--bronze-soft);color:var(--bronze-2);display:grid;place-items:center}
.info-row .ico svg{width:22px;height:22px}
.info-row b{display:block;font-family:var(--display)}
.info-row span,.info-row a{color:var(--muted);font-size:.95rem}
.info-row a:hover{color:var(--bronze-2)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink-2);border-top:1px solid var(--line);padding:64px 0 30px;margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.foot-grid h4{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-family:var(--font);font-weight:600}
.foot-grid a{display:block;color:var(--muted);font-size:.94rem;padding:5px 0;transition:color .2s}
.foot-grid a:hover{color:var(--bronze-2)}
.foot-grid p{color:var(--muted);font-size:.94rem;max-width:32ch}
.foot-grid .footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand .brand-logo{width:34px;height:34px;object-fit:contain;flex:none}
.footer-brand span{display:block}
.brand.footer-brand small{display:block;margin-top:2px}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  margin-top:48px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted-d);font-size:.85rem}

/* ---------- Floating WhatsApp ---------- */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:80;background:#1f8a4c;color:#fff;
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;box-shadow:0 16px 36px -10px rgba(31,138,76,.6);
  transition:transform .2s}
.wa-float:hover{transform:scale(1.06)}
.wa-float svg{width:30px;height:30px}

@media(hover:none),(pointer:coarse){
  .btn:hover,.obj-card:hover,.wa-float:hover{transform:none}
  .obj-card:hover .more svg{transform:none}
  .btn:active,.obj-card:active,.wa-float:active{transform:none}
}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media(max-width:1180px){
  .nav-links{display:none;position:absolute;top:74px;left:0;right:0;z-index:1001;background:var(--ink-2);border-bottom:1px solid var(--line-strong);
    flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 22px}
  .nav-links.open{display:flex}
  .nav-links a{font-size:1.12rem;font-weight:500;color:var(--paper);padding:16px 2px;width:100%;border-bottom:1px solid var(--line)}
  .nav-links a:hover{color:var(--bronze-2)}
  .nav-links a.active{color:var(--paper)}
  .nav-links a.active::after{display:none}
  .burger{display:grid;place-items:center}
  .brand small{display:none}
  .nav{gap:12px}
  .nav-right{gap:12px}
}
@media(max-width:920px){
  .hero-grid{grid-template-columns:1fr}
  .hero-photo{max-width:420px}
  .split{grid-template-columns:1fr}
  .split.rev .split-media{order:0}
  .obj-grid{grid-template-columns:repeat(2,1fr)}
  .services-grid{grid-template-columns:1fr;max-width:560px}
  .service-card{min-height:auto}
  .about-profile-grid{grid-template-columns:1fr}
  .about-profile-photo{max-width:320px;max-height:310px;justify-self:start}
  .about-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .space-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-hero-ticks{grid-template-columns:1fr}

  .about-proof-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .about-proof-card{
    padding:15px;
  }
  .visual-icon{
    width:43px;
    height:43px;
    padding:9px;
    border-radius:14px;
  }
  .visual-svg{
    width:23px;
    height:23px;
  }
  .price-grid{grid-template-columns:1fr;max-width:460px;margin:0 auto}
  .price-grid-duo{grid-template-columns:1fr}
  .price-grid-main{grid-template-columns:1fr;margin:0 auto 28px}
  .price-card-group{padding:30px 24px}
  .proof{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .conditions-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .nav-links{display:none;position:absolute;top:74px;left:0;right:0;z-index:1001;background:var(--ink-2);border-bottom:1px solid var(--line-strong);
    flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 22px}
  .nav-links.open{display:flex}
  .nav-links a{font-size:1.12rem;font-weight:500;color:var(--paper);padding:16px 2px;width:100%;border-bottom:1px solid var(--line)}
  .nav-links a:hover{color:var(--bronze-2)}
  .nav-links a.active{color:var(--paper)}
  .nav-links a.active::after{display:none}
  .burger{display:grid;place-items:center}
  .brand small{display:none}
  .nav{gap:12px}
  .nav-right{gap:12px}
}
@media(max-width:768px){
  .site-header,.nav{width:100%;max-width:100%;overflow:visible}
  .nav{gap:8px}
  .brand{min-width:0;flex:1 1 auto;overflow:hidden;gap:10px}
  .brand > span{min-width:0;overflow:hidden}
  .brand > span > span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .nav-right{flex:0 0 auto;gap:8px;min-width:0}
  .lang-btn{padding:.52em .68em}
  .burger{flex:0 0 42px;width:42px;min-width:42px;height:42px}
  .space-carousel,.space-carousel-viewport,.space-carousel-track,.space-carousel-slide,.cta-band,.section-cta,.price-card,.service-card,.obj-card{max-width:100%}
  .method-grid{grid-template-columns:1fr}
  .method-card{padding:28px 24px}
  .space-feature-grid{grid-template-columns:1fr}
  .faq-question{grid-template-columns:1fr auto;gap:10px}
  .faq-question .faq-tag{grid-column:1 / -1}
}
@media(max-width:600px){
  button,input,select,textarea{font-size:16px}
  .site-header{transform:none}
  .nav-right > .btn-primary{display:none}
  .nav-links .mobile-menu-cta{display:inline-flex;align-self:flex-start;justify-content:center;width:auto;max-width:100%;margin-top:10px;padding:12px 16px;border:1px solid transparent;border-bottom:0;border-radius:100px;background:var(--bronze);color:#1a130a;font-size:.95rem;font-weight:700}
  .space-carousel-arrow{width:36px;height:36px;font-size:1.45rem}
  .space-carousel-arrow.prev{left:10px}
  .space-carousel-arrow.next{right:10px}
  .space-carousel-viewport{aspect-ratio:16/10}
  .access-photo img{height:min(92vw,420px)}
  .nav-right .btn-primary{padding:.7em 1.05em;font-size:.86rem}
  .wrap{padding:0 16px}
  .hero-cta .btn,.cta-band .btn,.section-cta .btn,.contact-card .btn,.price-card .btn{white-space:normal;text-align:center}
  .brand{font-size:.98rem}
  .brand-logo{width:34px;height:34px}
  .price-card-presencial{padding:32px 24px}
  .group-price-table{grid-template-columns:1fr}
  .group-price-row{flex-direction:column;gap:4px}
  .group-price-row strong{text-align:left}
  .price-card .price-benefits-grid{grid-template-columns:1fr}
}
@media(max-width:540px){
  .obj-grid{grid-template-columns:1fr}
  .about-method-grid{grid-template-columns:1fr}
  .space-benefit-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .hero-photo .badge{position:static;margin-top:14px;max-width:none}
}

/* ---------- Focus bars premium ---------- */
.focus-bars-section{padding:clamp(48px,7vw,86px) 0;background:var(--ink)}
.focus-list{display:grid;gap:16px;max-width:820px;margin-inline:auto}
.focus-item{
  padding:22px 24px;border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)),#151515;
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 24px 60px -38px rgba(0,0,0,.9);
}
.focus-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.focus-title{display:flex;align-items:center;gap:12px;min-width:0}
.focus-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--bronze-soft);color:var(--bronze-2);font-family:var(--display);font-size:.78rem;font-weight:800}
.focus-row h3{margin:0;font-size:1.05rem;letter-spacing:0}
.focus-row > span{color:var(--bronze-2);font-weight:700;white-space:nowrap}
.focus-bar{height:9px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.10)}
.focus-bar i{display:block;height:100%;width:var(--value);border-radius:inherit;background:linear-gradient(90deg,#e0b271,#b88936)}
.google-reviews-compact .google-reviews-card{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02)),var(--ink-3);
  border-color:rgba(224,178,113,.22);
  box-shadow:0 24px 60px -34px rgba(0,0,0,.85);
}
.swipe-hint{display:none}
.swipe-hint-mark{
  flex:none;
  width:10px;
  height:17px;
  background:var(--bronze-2);
  clip-path:polygon(55% 0,14% 52%,46% 52%,30% 100%,86% 38%,53% 38%);
  filter:drop-shadow(0 0 10px rgba(224,178,113,.28));
}
.swipe-hint-copy{
  color:var(--paper);
}
.swipe-hint-arrow{
  display:inline-block;
  color:var(--bronze-2);
  animation:swipeArrow 1.55s ease-in-out infinite;
  will-change:transform,opacity;
}
@keyframes swipeArrow{
  0%,100%{transform:translateX(0);opacity:.75}
  50%{transform:translateX(6px);opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .swipe-hint-arrow{animation:none}
}

/* ---------- Mobile premium pass ---------- */
@media(max-width:768px){
  :root{--page-pad:20px}
  section{padding:48px 0}
  .section-head{margin-bottom:24px}
  .lead{font-size:1.02rem;line-height:1.72}
  h2{font-size:clamp(1.75rem,8vw,2.35rem)}

  .nav{height:66px;gap:8px}
  .brand{flex:1 1 auto;min-width:0;gap:10px}
  .brand-logo{width:32px;height:32px}
  .brand small{display:none}
  .brand > span,
  .brand > span > span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .nav-right{flex:0 0 auto;gap:8px;min-width:0}
  .nav-right > .btn-primary{display:none}
  .burger{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px}

  .nav-links{
    position:absolute;top:calc(100% + 10px);left:var(--page-pad);right:var(--page-pad);z-index:1001;
    width:auto;max-width:calc(100% - (var(--page-pad) * 2));
    background:rgba(18,20,24,.98);border:1px solid var(--line-strong);border-radius:22px;
    box-shadow:var(--shadow);padding:14px;display:none;flex-direction:column;align-items:stretch;gap:4px;
    white-space:normal;overflow:hidden;
  }
  .nav-links.open{display:flex}
  .nav-links a{width:100%;padding:13px 14px;border:0;border-radius:12px;font-size:.96rem;line-height:1.15;color:var(--paper);white-space:normal}
  .nav-links a:hover{background:rgba(255,255,255,.04);color:var(--bronze-2)}
  .nav-links a.active{background:rgba(200,149,78,.10);color:var(--paper)}
  .nav-links a.active::after{display:none}
  .nav-links .mobile-menu-cta{display:inline-flex;justify-content:center;width:100%;max-width:100%;margin-top:8px;padding:13px 16px;border:1px solid transparent;border-radius:100px;background:var(--bronze);color:#1a130a;font-weight:700;text-align:center}

  .hero{padding:42px 0 54px}
  .hero-grid{gap:28px}
  .hero h1{font-size:clamp(2.15rem,10vw,3.05rem)}
  .hero-cta{gap:10px;margin-top:24px}
  .hero-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px;padding-top:20px}
  .hero-meta div{min-width:0;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035)}
  .hero-photo{max-width:360px}
  .hero-photo img{aspect-ratio:4/4.6}

  .swipe-hint{
    display:flex;align-items:center;gap:8px;
    color:var(--bronze-2);font-weight:700;font-size:.88rem;letter-spacing:.02em;
    margin:-8px 0 16px;
  }

  .mobile-swipe,
  .obj-grid,
  .services-grid,
  .method-grid,
  .about-method-grid,
  .price-grid,
  .price-grid-main,
  .price-grid-duo,
  .reviews-grid,
  .google-review-list,
  .proof{
    display:flex;grid-template-columns:none;gap:18px;width:auto;max-width:none;
    margin-left:calc(var(--page-pad) * -1);margin-right:calc(var(--page-pad) * -1);
    padding-left:var(--page-pad);padding-right:72px;padding-bottom:14px;
    overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;
  }
  .mobile-swipe::-webkit-scrollbar,
  .obj-grid::-webkit-scrollbar,
  .services-grid::-webkit-scrollbar,
  .method-grid::-webkit-scrollbar,
  .about-method-grid::-webkit-scrollbar,
  .price-grid::-webkit-scrollbar,
  .price-grid-main::-webkit-scrollbar,
  .price-grid-duo::-webkit-scrollbar,
  .reviews-grid::-webkit-scrollbar,
  .google-review-list::-webkit-scrollbar,
  .proof::-webkit-scrollbar{display:none}
  .mobile-swipe > *,
  .obj-grid > *,
  .services-grid > *,
  .method-grid > *,
  .about-method-grid > *,
  .price-grid > *,
  .price-grid-main > *,
  .price-grid-duo > *,
  .reviews-grid > *,
  .google-review-list > *,
  .proof > *{
    flex:0 0 min(82vw,360px);
    width:min(82vw,360px);
    max-width:min(82vw,360px);
    scroll-snap-align:start;
  }
  .price-grid-main{margin-bottom:24px}
  .price-grid-duo{margin-top:0}
  .price-card-group{max-width:100%;width:100%}

  .service-card,
  .price-card,
  .obj-card,
  .method-card,
  .google-review,
  .quote{
    min-height:320px;padding:28px 22px;border-radius:28px;
    background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)),#151515;
    border:1px solid rgba(224,178,113,.28);
    box-shadow:0 24px 60px -34px rgba(0,0,0,.95);
  }
  .price-card{min-height:440px;display:flex;flex-direction:column}
  .price-card .btn,
  .price-card a.btn,
  .price-card .btn-primary{margin-top:auto}
  .price-card .amount{font-size:2.45rem}
  .price-card .amount-text{font-size:1.35rem}
  .price-card ul{gap:10px;margin:18px 0 24px}
  .price-card .desc,
  .service-card p,
  .obj-card p,
  .method-card p{line-height:1.65}
  .condition-card{
    border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02)),var(--ink-3);
    border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 46px -32px rgba(0,0,0,.75);padding:18px 16px;
  }
  .google-reviews-card{border-radius:28px;padding:28px 22px}

  .focus-bars-section{padding:48px 0}
  .focus-list{gap:14px}
  .focus-item{padding:20px 18px;border-radius:22px}
  .focus-row{align-items:flex-start}
  .focus-title{align-items:flex-start}
  .focus-row h3{font-size:1rem}

  .space-carousel-viewport{aspect-ratio:16/10}
  .space-carousel-slide img{height:100%}

  .wa-float{width:54px;height:54px;right:18px;bottom:22px}
  .wa-float svg{width:28px;height:28px}
}

@media(max-width:600px){
  :root{--page-pad:16px}
}

@media(max-width:480px){
  .mobile-swipe > *,
  .obj-grid > *,
  .services-grid > *,
  .method-grid > *,
  .about-method-grid > *,
  .price-grid > *,
  .price-grid-main > *,
  .price-grid-duo > *,
  .reviews-grid > *,
  .google-review-list > *,
  .proof > *{
    flex-basis:82vw;width:82vw;max-width:82vw;
  }
  .hero-meta{grid-template-columns:1fr}
  .focus-row{flex-direction:column;gap:10px}
  .wa-float{right:16px;bottom:18px}
}

/* Pricing services carousel polish */
.pricing-carousel{
  position:relative;
  max-width:1100px;
  margin:0 auto;
  padding:0 58px 42px;
  overflow:visible;
}
.pricing-carousel .pricing-services-grid{
  display:flex;
  grid-template-columns:none;
  align-items:stretch;
  gap:28px;
  width:100%;
  max-width:none;
  margin:0;
  padding:4px 2px 18px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.pricing-carousel .pricing-services-grid::-webkit-scrollbar{
  display:none;
}
.pricing-carousel .pricing-carousel-spacer{
  display:block;
  flex:0 0 calc((100% - 84px) / 4);
  width:calc((100% - 84px) / 4);
  min-width:calc((100% - 84px) / 4);
  pointer-events:none;
}
.pricing-carousel .pricing-services-grid > .price-card{
  flex:0 0 calc((100% - 28px) / 2);
  width:calc((100% - 28px) / 2);
  max-width:calc((100% - 28px) / 2);
  min-height:0;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}
.pricing-carousel .pricing-services-grid > .price-card-online{
  scroll-snap-align:center;
}
.pricing-services-grid .price-card{
  position:relative;
  overflow:hidden;
}
.pricing-services-grid .price-card.feat{
  border-color:var(--line);
  background:var(--ink-3);
  box-shadow:none;
}
.pricing-services-grid .price-icon{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  padding:10px;
  border-radius:15px;
  color:var(--bronze-2);
  background:linear-gradient(180deg,rgba(224,178,113,.12),rgba(200,149,78,.04));
  border:1px solid rgba(224,178,113,.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 28px -24px rgba(224,178,113,.75);
  margin-bottom:16px;
}
.pricing-services-grid .price-icon::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  pointer-events:none;
}
.pricing-services-grid .price-svg{
  position:relative;
  z-index:1;
  display:block;
  width:24px;
  height:24px;
  flex:none;
  color:currentColor;
}
.pricing-services-grid .price-icon-online .price-svg{
  width:23px;
  height:23px;
}
.pricing-services-grid .price-card .tag{
  display:block;
}
.pricing-services-grid .price-card h3{
  margin:.55em 0 .7em;
}
.pricing-services-grid .price-card .desc{
  min-height:0;
}
.pricing-services-grid .rate-list{
  gap:0;
  margin:0 0 18px;
  padding:7px 16px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.024));
  border:1px solid rgba(255,255,255,.11);
}
.pricing-services-grid .rate-list > div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.085);
}
.pricing-services-grid .rate-list > div:last-child{
  border-bottom:0;
}
.pricing-services-grid .rate-list span{
  color:#a7adb7;
  font-size:.84rem;
  line-height:1.25;
}
.pricing-services-grid .rate-list b{
  color:var(--bronze-2);
  font-family:var(--display);
  font-size:1.05rem;
  line-height:1.08;
  text-align:right;
}
.pricing-services-grid .amount-text{
  margin:0 0 18px;
  padding:18px 16px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.024));
  border:1px solid rgba(255,255,255,.11);
  font-family:var(--display);
}
.pricing-services-grid .price-card-online-cta{
  background:var(--bronze);
  color:#1a130a;
}
.pricing-services-grid .price-card-online-cta:hover{
  background:var(--bronze-2);
}
.pricing-carousel-arrow{
  position:absolute;
  top:calc(50% - 21px);
  z-index:5;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(224,178,113,.34);
  background:rgba(18,18,18,.86);
  color:var(--bronze-2);
  display:grid;
  place-items:center;
  font:inherit;
  font-size:1.85rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 18px 36px -26px rgba(0,0,0,.95);
  transform:translateY(-50%);
  transition:background .2s,border-color .2s,color .2s,opacity .2s;
}
.pricing-carousel-arrow:hover{
  background:rgba(28,20,7,.95);
  border-color:rgba(224,178,113,.64);
}
.pricing-carousel-arrow:disabled{
  opacity:.34;
  cursor:default;
}
.pricing-carousel-arrow-prev{left:0}
.pricing-carousel-arrow-next{right:0}
.pricing-carousel-dots{
  position:absolute;
  left:50%;
  bottom:0;
  display:flex;
  justify-content:center;
  gap:9px;
  transform:translateX(-50%);
}
.pricing-carousel-dot{
  width:8px;
  height:8px;
  border:0;
  border-radius:50%;
  padding:0;
  background:rgba(255,255,255,.24);
  cursor:pointer;
  transition:width .2s,background .2s;
}
.pricing-carousel-dot[aria-current="true"]{
  width:24px;
  border-radius:999px;
  background:var(--bronze-2);
}

@media(max-width:920px) and (min-width:769px){
  .pricing-carousel{
    padding-inline:48px;
  }
  .pricing-carousel .pricing-services-grid{
    gap:22px;
  }
  .pricing-carousel .pricing-carousel-spacer{
    flex-basis:calc((100% - 66px) / 4);
    width:calc((100% - 66px) / 4);
    min-width:calc((100% - 66px) / 4);
  }
  .pricing-carousel .pricing-services-grid > .price-card{
    flex-basis:calc((100% - 22px) / 2);
    width:calc((100% - 22px) / 2);
    max-width:calc((100% - 22px) / 2);
  }
  .pricing-services-grid .rate-list > div{
    grid-template-columns:1fr;
    gap:4px;
  }
  .pricing-services-grid .rate-list b{
    text-align:left;
  }
}

@media(max-width:768px){
  .pricing-carousel{
    max-width:none;
    margin:0;
    padding:0;
    overflow:visible;
  }
  .pricing-carousel-arrow,
  .pricing-carousel-dots{
    display:none;
  }
  .pricing-carousel .pricing-carousel-spacer{
    display:none;
  }
  .pricing-carousel .pricing-services-grid > .price-card-online{
    scroll-snap-align:start;
  }
  .pricing-page #presencial-prices{
    overflow:hidden;
  }
  .pricing-page #presencial-prices .section-head{
    margin-bottom:18px;
  }
  .pricing-page .swipe-hint{
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:9px;
    width:auto;
    max-width:100%;
    margin:-2px 0 20px;
    padding:0;
    border-radius:0;
    color:var(--bronze-2);
    background:transparent;
    border:0;
    box-shadow:none;
    font-size:.9rem;
    font-weight:700;
    line-height:1.1;
    text-align:left;
  }
  .pricing-page .pricing-services-grid{
    gap:16px;
    align-items:flex-start;
    width:auto;
    max-width:none;
    margin-left:calc(var(--page-pad) * -1);
    margin-right:calc(var(--page-pad) * -1);
    padding-left:28px;
    padding-right:96px;
    padding-bottom:20px;
    scroll-padding-left:28px;
    scroll-snap-type:x mandatory;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
  .pricing-page .pricing-services-grid > .price-card{
    flex:0 0 min(80vw,362px);
    width:min(80vw,362px);
    max-width:min(80vw,362px);
    min-height:0;
    padding:25px 21px 21px;
    border-radius:30px;
    background:linear-gradient(180deg,rgba(255,255,255,.058),rgba(255,255,255,.026)),#121212;
    border-color:rgba(224,178,113,.24);
    box-shadow:0 24px 58px -36px rgba(0,0,0,.95);
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .pricing-page .pricing-services-grid .price-icon{
    width:43px;
    height:43px;
    padding:9px;
    border-radius:14px;
    margin-bottom:14px;
  }
  .pricing-page .pricing-services-grid .price-svg{
    width:23px;
    height:23px;
  }
  .pricing-page .pricing-services-grid .price-icon-online .price-svg{
    width:22px;
    height:22px;
  }
  .pricing-page .pricing-services-grid .price-card .tag{
    font-size:.68rem;
    letter-spacing:.14em;
  }
  .pricing-page .pricing-services-grid .price-card h3{
    margin:9px 0 14px;
    font-size:clamp(1.3rem,6.2vw,1.56rem);
    line-height:1.1;
    letter-spacing:0;
  }
  .pricing-page .pricing-services-grid .rate-list{
    margin:0 0 15px;
    padding:5px 14px;
    border-radius:17px;
  }
  .pricing-page .pricing-services-grid .rate-list > div{
    gap:9px;
    padding:10px 0;
  }
  .pricing-page .pricing-services-grid .rate-list span{
    font-size:.76rem;
    line-height:1.24;
  }
  .pricing-page .pricing-services-grid .rate-list b{
    font-size:clamp(.9rem,3.45vw,1.02rem);
    white-space:normal;
  }
  .pricing-page .pricing-services-grid .price-card .amount-text{
    margin:0 0 15px;
    padding:16px 14px;
    font-size:1.28rem;
    line-height:1.1;
  }
  .pricing-page .pricing-services-grid .price-card .desc{
    min-height:0;
    color:#a2a8b2;
    font-size:.86rem;
    line-height:1.52;
  }
  .pricing-page .pricing-services-grid .price-card ul{
    gap:7px;
    margin:14px 0 0;
  }
  .pricing-page .pricing-services-grid .price-card li{
    color:#a6acb6;
    font-size:.82rem;
    gap:.55em;
    line-height:1.38;
  }
  .pricing-page .pricing-services-grid .tick{
    width:17px;
    height:17px;
    margin-top:1px;
    background:rgba(200,149,78,.15);
  }
  .pricing-page .pricing-services-grid .tick svg{
    width:10px;
    height:10px;
  }
  .pricing-page .pricing-services-grid .price-card .btn,
  .pricing-page .pricing-services-grid .price-card a.btn{
    margin-top:17px;
    padding:.94em 1.1em;
    font-size:.9rem;
    white-space:normal;
  }
}

@media(max-width:600px){
  .pricing-page .pricing-services-grid{
    margin-left:calc(var(--page-pad) * -1);
    margin-right:calc(var(--page-pad) * -1);
    padding-left:24px;
    padding-right:88px;
    scroll-padding-left:24px;
  }
}

@media(max-width:380px){
  .pricing-page .pricing-services-grid{
    gap:14px;
    padding-left:22px;
    padding-right:78px;
    scroll-padding-left:22px;
  }
  .pricing-page .pricing-services-grid > .price-card{
    flex-basis:80vw;
    width:80vw;
    max-width:80vw;
    padding-inline:19px;
  }
  .pricing-page .pricing-services-grid .rate-list b{
    font-size:.88rem;
  }
}
