
/* =====================================================================
   SERENE MINT · design tokens
   Pairing logic: Cormorant Garamond (display, high-contrast serif = calm
   luxury) + Jost (geometric sans, light = clarity) + Pinyon Script (only
   the brand signature, never for UI text).
   ===================================================================== */
:root{
  /* colour · brand */
  --c-primary:#1d2b28; --c-on-primary:#f6f9f7; --c-primary-hover:#0e5c55;
  --c-secondary:#0e6d64; --c-on-secondary:#ffffff;
  --c-accent:#9ccbc1; --c-nude:#e9ddd0; --c-blush:#ead6cf;
  /* colour · semantic */
  --c-success:#2f6a52; --c-success-bg:#e3f1ea;
  --c-warning:#7f5226; --c-warning-bg:#fbf3ea;
  --c-error:#9b3b2e; --c-error-bg:#f8e9e5;
  --c-info:#2f5f73; --c-info-bg:#e6eff2;
  /* colour · neutrals */
  --n-0:#ffffff; --n-50:#f6f9f7; --n-100:#e6efec; --n-200:#d7e7e2; --n-300:#bfd0cb;
  --n-500:#7d8f8a; --n-600:#4e605b; --n-800:#2b3a37; --n-900:#1d2b28;
  /* colour · roles */
  --c-bg:var(--n-100); --c-bg-alt:#eef4f2; --c-surface:var(--n-50); --c-text:var(--n-900);
  --c-muted:var(--n-600); --c-line:rgba(29,43,40,.16); --c-focus:#0e6d64;
  /* type · 9-step scale (1.25 minor third, fluid at the top) */
  --font-display:"Cormorant Garamond",Georgia,serif; --font-body:Jost,system-ui,sans-serif; --font-script:"Pinyon Script",cursive;
  --fs-1:.75rem; --fs-2:.84rem; --fs-3:.94rem; --fs-4:1.06rem; --fs-5:1.33rem;
  --fs-6:1.66rem; --fs-7:clamp(1.9rem,4.2vw,2.6rem); --fs-8:clamp(2.3rem,6vw,3.9rem); --fs-9:clamp(2.7rem,8.4vw,4.9rem);
  --lh-tight:1.06; --lh-snug:1.25; --lh-body:1.65; --tracking-caps:.3em;
  /* spacing · 8px grid */
  --s-05:4px; --s-1:8px; --s-2:16px; --s-3:24px; --s-4:32px; --s-5:40px; --s-6:48px; --s-8:64px; --s-10:80px; --s-12:96px; --s-16:128px; --s-20:160px;
  /* radius & elevation */
  --r-sm:10px; --r-md:16px; --r-lg:22px; --r-xl:28px; --r-pill:999px;
  --e-1:0 1px 2px rgba(29,43,40,.06); --e-2:0 18px 50px -24px rgba(29,43,40,.35);
  /* motion · named curves */
  --ease-silk:cubic-bezier(.22,1,.36,1);    /* reveals, line draws */
  --ease-breath:cubic-bezier(.65,0,.35,1);  /* loops, halo */
  --ease-petal:cubic-bezier(.34,1.4,.64,1); /* small pops: chips, checks */
  --dur-1:160ms; --dur-2:280ms; --dur-3:600ms; --dur-4:1100ms; --dur-5:1800ms;
  /* layout */
  --wrap:1160px; --gutter:16px;
}
/* dark-mode set (opt-in with data-theme="dark"; documented in sistema.html) */
:root[data-theme="dark"]{
  --c-primary:#e6efec; --c-on-primary:#141b1a; --c-primary-hover:#bfe0d8; --c-secondary:#9ccbc1; --c-on-secondary:#141b1a;
  --c-success:#8fd0b3; --c-success-bg:#1d2e27; --c-warning:#e3b984; --c-warning-bg:#2e261d; --c-error:#eca597; --c-error-bg:#311f1c; --c-info:#9cc4d6; --c-info-bg:#1b2a31;
  --c-bg:#141b1a; --c-bg-alt:#18201f; --c-surface:#1d2625; --c-text:#e8efec; --c-muted:#a7b6b1; --c-line:rgba(232,239,236,.14); --c-focus:#9ccbc1;
}
@media (min-width:768px){:root{--gutter:32px}}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
body{background:var(--c-bg);color:var(--c-text);font:300 var(--fs-4)/var(--lh-body) var(--font-body);overflow-x:hidden;position:relative}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .45 0 0 0 0 .42 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body>*{position:relative;z-index:1}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
:focus-visible{outline:2px solid var(--c-focus);outline-offset:3px;border-radius:6px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.ic{width:22px;height:22px;flex:none}
.center{text-align:center}
.kicker{font:500 var(--fs-1)/1.4 var(--font-body);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--c-secondary)}
.h2{font:300 var(--fs-8)/var(--lh-tight) var(--font-display);letter-spacing:.05em;text-transform:uppercase;margin-top:var(--s-2)}
.lead{color:var(--c-muted);max-width:56ch;margin-top:var(--s-2)}
.center .lead{margin-left:auto;margin-right:auto}
.small-note{font-size:var(--fs-2);color:var(--c-muted);margin-top:var(--s-4);text-align:center}
.ph-text{font-style:italic;color:var(--c-muted)}
section{padding:var(--s-12) 0}
@media (min-width:1024px){section{padding:var(--s-20) 0}}
.alt{background:var(--c-bg-alt);border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line)}

/* ---- buttons: primary / secondary / ghost, every state ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 var(--s-4);border-radius:var(--r-pill);font:500 var(--fs-2)/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;transition:background var(--dur-2) var(--ease-silk),color var(--dur-2),border-color var(--dur-2),transform var(--dur-3) var(--ease-silk),box-shadow var(--dur-2)}
.btn .ic{width:18px;height:18px;transition:transform var(--dur-3) var(--ease-silk)}
.btn-primary{background:var(--c-primary);color:var(--c-on-primary)}
.btn-primary:hover,.btn-primary.is-hover{background:var(--c-primary-hover)}
.btn-primary:hover .ic,.btn-primary.is-hover .ic{transform:translateX(4px)}
.btn-secondary{border-color:var(--c-primary);color:var(--c-primary)}
.btn-secondary:hover,.btn-secondary.is-hover{background:var(--c-primary);color:var(--c-on-primary)}
.btn-ghost{color:var(--c-primary);padding:0 var(--s-1);min-height:44px;border-radius:0;background:linear-gradient(currentColor,currentColor) left calc(100% - 10px)/0 1px no-repeat}
.btn-ghost:hover,.btn-ghost.is-hover{background-size:100% 1px}
.btn:focus-visible,.btn.is-focus{outline:2px solid var(--c-focus);outline-offset:3px}
.btn:active,.btn.is-active{transform:scale(.97)}
.btn:disabled,.btn.is-disabled{opacity:.4;cursor:not-allowed;transform:none}

/* ---- header / nav / language toggle ---- */
.hdr{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--c-bg) 84%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color var(--dur-2)}
.hdr.scrolled{border-color:var(--c-line)}
.hdr .wrap{display:flex;align-items:center;gap:var(--s-2);height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;min-width:0}
.brand img{height:36px;width:auto}
.brand span{font:500 var(--fs-1)/1.2 var(--font-body);letter-spacing:.3em;text-transform:uppercase;white-space:nowrap}
@media (max-width:420px){.brand span{display:none}}
.nav{display:none;gap:var(--s-3)}
.nav a{font:400 var(--fs-2)/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--c-muted);padding:8px 0;background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;transition:background-size var(--dur-3) var(--ease-silk),color var(--dur-2)}
.nav a:hover{color:var(--c-text);background-size:100% 1px}
.lang{display:inline-flex;border:1px solid var(--c-line);border-radius:var(--r-pill);padding:3px;background:color-mix(in srgb,var(--c-surface) 60%,transparent)}
.lang button{font:500 11px/1 var(--font-body);letter-spacing:.14em;padding:9px 11px;border-radius:var(--r-pill);color:var(--c-muted);transition:background var(--dur-2),color var(--dur-2)}
.lang button[aria-pressed=true]{background:var(--c-primary);color:var(--c-on-primary)}
.hdr .btn{display:none;min-height:42px;padding:0 20px;font-size:11.5px}
.menu-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--c-line);line-height:0}
.menu-btn>span{display:block;line-height:0}
.menu-btn .ic{display:block;width:24px;height:24px}
@media (min-width:1024px){.nav{display:flex}.hdr .btn{display:inline-flex}.menu-btn{display:none}}
.sheet{position:fixed;inset:68px 0 auto 0;z-index:49;background:var(--c-surface);border-bottom:1px solid var(--c-line);padding:var(--s-1) var(--gutter) var(--s-3);box-shadow:var(--e-2);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity var(--dur-2) var(--ease-silk),transform var(--dur-3) var(--ease-silk),visibility 0s linear var(--dur-3)}
.sheet.open{opacity:1;transform:none;visibility:visible;transition-delay:0s}
.sheet a{display:block;padding:14px 4px;border-bottom:1px solid var(--c-line);font:400 var(--fs-6)/1.2 var(--font-display);text-decoration:none}
.sheet .btn{margin-top:var(--s-2);width:100%;font-family:var(--font-body);font-size:var(--fs-2)}

/* ---- hero (signature: circle + leaves draw, headline rises through a mask) ---- */
.hero{padding:var(--s-5) 0 var(--s-12);text-align:center;overflow:hidden}
.hero-logo{position:relative;width:min(300px,68vw);margin:var(--s-1) auto 0;aspect-ratio:1}
.halo{position:absolute;inset:-6%;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--n-50) 0,var(--n-200) 55%,transparent 72%)}
.motion .halo{animation:breath 9s var(--ease-breath) infinite alternate}
@keyframes breath{to{transform:scale(1.045)}}
.hero-logo img{position:relative;width:100%;height:100%;object-fit:contain;padding:9%}
.ring{position:absolute;inset:-3%;width:106%;height:106%;color:var(--c-secondary);opacity:.45;overflow:visible}
.ring circle{stroke-dasharray:1;stroke-dashoffset:0}
.motion .ring circle{stroke-dashoffset:1;transition:stroke-dashoffset var(--dur-5) var(--ease-silk) .2s}
.ready .ring circle{stroke-dashoffset:0}
.leaf{position:absolute;color:var(--c-secondary);opacity:.32;width:min(150px,22vw);pointer-events:none}
.leaf path{stroke-dasharray:1;stroke-dashoffset:0}
.motion .leaf path{stroke-dashoffset:1;transition:stroke-dashoffset 2.4s var(--ease-silk) .6s}
.ready .leaf path{stroke-dashoffset:0}
.leaf.l{left:-34%;top:22%;transform:rotate(-14deg)}
.leaf.r{right:-34%;top:14%;transform:scaleX(-1) rotate(-14deg)}
@media (max-width:600px){.leaf.l{left:-24%}.leaf.r{right:-24%}}
.hero h1{font:300 var(--fs-9)/1.04 var(--font-display);letter-spacing:.01em;margin:var(--s-3) auto 0;max-width:13ch}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.08em}
.hero h1 .ln>span{display:inline-block}
.motion .hero h1 .ln>span{transform:translateY(105%);transition:transform var(--dur-4) var(--ease-silk)}
.motion .hero h1 .ln:nth-child(2)>span{transition-delay:.12s}
.ready .hero h1 .ln>span{transform:none}
.hero h1 em{font-style:italic;color:var(--c-secondary)}
.hero .sub{color:var(--c-muted);max-width:46ch;margin:var(--s-3) auto 0}
.hero .ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:var(--s-4)}
.urg{margin-top:var(--s-2);font-size:var(--fs-2);color:var(--c-muted)}
.phil{max-width:44ch;margin:var(--s-6) auto 0;padding-top:var(--s-3);font:italic 400 clamp(19px,2.4vw,23px)/1.5 var(--font-display);position:relative}
.phil::before{content:"";position:absolute;top:0;left:50%;width:120px;height:1px;background:var(--c-line);transform:translateX(-50%) scaleX(var(--sx,1));transition:transform var(--dur-5) var(--ease-silk) .5s}
.motion .phil::before{--sx:0}.ready .phil::before{--sx:1}

/* ---- reveal vocabulary ---- */
.motion .rv{opacity:0;transform:translateY(18px);transition:opacity var(--dur-4) var(--ease-silk),transform var(--dur-4) var(--ease-silk);transition-delay:calc(var(--i,0) * 90ms)}
.motion .rv.in{opacity:1;transform:none}
.rv-line{height:1px;background:var(--c-line);transform-origin:left}
.motion .rv-line{transform:scaleX(0);transition:transform var(--dur-5) var(--ease-silk)}
.motion .rv-line.in{transform:none}

/* ---- benefits ---- */
.bens{display:grid;gap:0;margin-top:var(--s-8);text-align:left}
@media (min-width:768px){.bens{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5)}}
.ben{padding:var(--s-3) 0;border-top:1px solid var(--c-line)}
.ben .ic{color:var(--c-secondary);width:26px;height:26px}
.ben h3{font:400 var(--fs-6)/1.15 var(--font-display);margin-top:var(--s-2)}
.ben p{color:var(--c-muted);font-size:var(--fs-3);margin-top:var(--s-1)}

/* ---- philosophy ---- */
.about{display:grid;gap:var(--s-5);align-items:center}
@media (min-width:1024px){.about{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--s-10)}}
.arch{position:relative;aspect-ratio:4/5;border-radius:200px 200px var(--r-xl) var(--r-xl);overflow:hidden;background:linear-gradient(170deg,var(--n-50),#cfe3dd);border:1px solid var(--c-line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--c-muted);font-size:var(--fs-2);max-width:460px;width:100%;margin:0 auto}
.arch .sig{position:absolute;bottom:24px;left:0;right:0;text-align:center;font:400 54px/1 var(--font-script);color:var(--c-secondary)}
.about h2{font:300 var(--fs-8)/1.06 var(--font-display);margin-top:var(--s-2)}
.about p{color:var(--c-muted);margin-top:var(--s-2)}
.draft{margin-left:10px;font:400 10.5px/1 var(--font-body);letter-spacing:.18em;color:var(--c-muted)}
.vals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s-3);margin-top:var(--s-4);border-top:1px solid var(--c-line)}
.vals div{padding:var(--s-2) 0;border-bottom:1px solid var(--c-line)}
.vals dt{font:400 var(--fs-5)/1.2 var(--font-display)}
.vals dd{font-size:var(--fs-3);color:var(--c-muted);margin-top:4px;line-height:1.5}

/* ---- innovation ---- */
.tech{display:grid;margin:var(--s-8) auto 0;max-width:1000px}
@media (min-width:768px){.tech{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tech article{padding:var(--s-4) var(--s-3)}
.tech article+article{border-top:1px solid var(--c-line)}
@media (min-width:768px){.tech article+article{border-top:0;border-left:1px solid var(--c-line)}}
.tnum{font:italic 400 var(--fs-5)/1 var(--font-display);color:var(--c-secondary)}
.tech h3{font:300 var(--fs-7)/1.1 var(--font-display);letter-spacing:.03em;margin-top:var(--s-2)}
.tech p{font-size:var(--fs-3);color:var(--c-muted);margin-top:var(--s-2)}

/* ---- services: highlight rings (tabs) + price list (card) ---- */
.hl{display:flex;gap:14px;overflow-x:auto;padding:var(--s-4) 2px 10px;scrollbar-width:none}
.hl::-webkit-scrollbar{display:none}
@media (min-width:768px){.hl{justify-content:center;gap:var(--s-3)}}
.hl button{display:flex;flex-direction:column;align-items:center;gap:8px;flex:none;width:84px;font-size:12.5px;line-height:1.25;color:var(--c-muted)}
.hl .r{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--n-200);box-shadow:0 0 0 4px var(--c-bg-alt),0 0 0 5px var(--c-line);transition:box-shadow var(--dur-3) var(--ease-silk),background var(--dur-2),transform var(--dur-3) var(--ease-petal)}
.hl button:hover .r{transform:translateY(-3px)}
.hl .r .ic{width:28px;height:28px;color:var(--c-text)}
.hl button[aria-pressed=true]{color:var(--c-text);font-weight:400}
.hl button[aria-pressed=true] .r{background:var(--c-surface);box-shadow:0 0 0 4px var(--c-bg-alt),0 0 0 5.5px var(--c-secondary)}
.card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-xl)}
.plist{margin:var(--s-3) auto 0;max-width:820px;padding:var(--s-4) 20px;text-align:left}
@media (min-width:768px){.plist{padding:var(--s-6) 56px}}
.plist-head{text-align:center}
.plist-head small{font:500 11px/1 var(--font-body);letter-spacing:.42em;text-transform:uppercase;color:var(--c-muted)}
.plist-head h3{font:300 clamp(30px,6vw,46px)/1.05 var(--font-display);letter-spacing:.12em;text-transform:uppercase;margin-top:12px}
.plist-head p{color:var(--c-muted);font-size:var(--fs-3);margin:10px auto 0;max-width:46ch}
.plist-rule{height:1px;background:var(--c-text);opacity:.6;margin:var(--s-3) auto var(--s-1);max-width:420px}
.grp{font:500 11px/1 var(--font-body);letter-spacing:.3em;text-transform:uppercase;color:var(--c-secondary);margin:var(--s-3) 0 4px}
.row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:4px 14px;padding:13px 0;border-bottom:1px dashed var(--c-line)}
.row:last-child{border-bottom:0}
.row .n{font:400 21px/1.25 var(--font-display)}
.row .d{grid-column:1/-1;grid-row:2;font-size:var(--fs-2);color:var(--c-muted);line-height:1.45}
.row .p{font:500 20px/1 var(--font-display);white-space:nowrap}
.row .p.c{font:500 11px/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--c-secondary)}
.row .bk{grid-column:3;grid-row:1;font:500 11px/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--c-muted);padding:6px 0;background:linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat;transition:color var(--dur-2)}
.row .bk:hover{color:var(--c-text)}
.plist-foot{text-align:center;margin-top:20px;font:italic 400 18px/1.4 var(--font-display);color:var(--c-muted)}

/* ---- results ---- */
.gal{display:grid;gap:var(--s-2);margin-top:var(--s-8)}
@media (min-width:768px){.gal{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}}
.ph{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:5/4;background:linear-gradient(160deg,#eef5f2,#d3e5df);border:1px solid var(--c-line);display:flex;flex-direction:column}
@media (min-width:768px){.ph{aspect-ratio:4/5}}
.ph .half{flex:1;display:grid;place-items:center;position:relative}
.ph .half+.half{border-top:1px solid var(--c-line);background:rgba(255,255,255,.28)}
.ph .lbl{position:absolute;left:12px;top:12px;font:500 10px/1 var(--font-body);letter-spacing:.22em;text-transform:uppercase;background:color-mix(in srgb,var(--c-surface) 88%,transparent);padding:6px 8px;border-radius:var(--r-pill)}
.ghost{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--c-muted);font-size:12.5px;text-align:center;padding:0 8px}
.ghost .ic{width:20px;height:20px;opacity:.7}
.ph figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 14px;font:400 18px/1.2 var(--font-display);background:linear-gradient(transparent,color-mix(in srgb,var(--c-surface) 92%,transparent))}

/* ---- safety + specialist ---- */
.safe{display:grid;gap:0 var(--s-6);margin-top:var(--s-8);border-top:1px solid var(--c-line)}
@media (min-width:768px){.safe{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.safe{grid-template-columns:repeat(3,minmax(0,1fr))}}
.safe>div{padding:var(--s-3) 0;border-bottom:1px solid var(--c-line)}
.safe h3{font:400 var(--fs-6)/1.2 var(--font-display)}
.safe p{font-size:var(--fs-3);color:var(--c-muted);margin-top:6px}
.safe .ph-text{border:1px dashed var(--c-line);border-radius:var(--r-sm);padding:8px 12px;display:inline-block;margin-top:10px}
.spec{display:grid;gap:var(--s-4);align-items:center;margin-top:var(--s-10)}
@media (min-width:768px){.spec{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s-8)}}
.spec h3{font:300 var(--fs-8)/1.1 var(--font-display);margin-top:12px}
.spec-role{font:500 var(--fs-1)/1.4 var(--font-body);letter-spacing:.2em;text-transform:uppercase;margin-top:8px;color:var(--c-muted)}
.spec .bio{margin-top:var(--s-2);max-width:48ch}

/* ---- reviews + proof ---- */
.revs{display:grid;gap:var(--s-2);margin-top:var(--s-8);text-align:left}
@media (min-width:768px){.revs{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}}
.revs figure{padding:var(--s-4) var(--s-3);border-top:1px solid var(--c-text)}
.revs blockquote{font:italic 300 var(--fs-6)/1.35 var(--font-display);color:var(--c-muted)}
.revs blockquote::before{content:"“";display:block;font:400 54px/.6 var(--font-display);color:var(--c-secondary);margin-bottom:14px}
.revs figcaption{margin-top:18px;font:500 11.5px/1.4 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--c-muted)}
.proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2);margin:var(--s-6) auto 0;max-width:760px}
.proof div{padding:var(--s-2) 4px;border-top:1px solid var(--c-line)}
.proof b{display:block;font:italic 300 var(--fs-6)/1.1 var(--font-display);color:var(--c-muted)}
.proof span{display:block;font-size:var(--fs-1);letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted);margin-top:8px}

/* ---- booking (multi-step) ---- */
.book{background:var(--c-surface);border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line)}
.pols{display:grid;gap:0 var(--s-5);margin-top:var(--s-6);border-top:1px solid var(--c-line)}
@media (min-width:768px){.pols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.pols{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pol{display:grid;grid-template-columns:28px 1fr;gap:var(--s-2);padding:var(--s-3) 0;border-bottom:1px solid var(--c-line)}
.pol .ic{width:26px;height:26px;color:var(--c-secondary)}
.pol h3{font:500 var(--fs-3)/1.3 var(--font-body)}
.pol p{font-size:var(--fs-3);color:var(--c-muted);margin-top:4px;line-height:1.5}
.bk-wrap{display:grid;gap:var(--s-2);margin-top:var(--s-4)}
@media (min-width:1024px){.bk-wrap{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}}
.bk-card{background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--r-xl);padding:var(--s-3) 20px;min-width:0}
@media (min-width:768px){.bk-card{padding:var(--s-4)}}
.bk-prog{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bk-prog li{display:flex;align-items:center;gap:8px;font-size:var(--fs-2);color:var(--c-muted);min-width:0}
.bk-prog li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk-n{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;font:500 12px/1 var(--font-body);border:1px solid var(--c-line);transition:background var(--dur-2),color var(--dur-2),border-color var(--dur-2)}
.bk-prog li.is-current{color:var(--c-text)}.bk-prog li.is-current .bk-n{border-color:var(--c-text)}
.bk-prog li.is-done .bk-n{background:var(--c-primary);color:var(--c-on-primary);border-color:var(--c-primary)}
.bk-track{height:1px;background:var(--c-line);margin:var(--s-2) 0 var(--s-3)}
.bk-track div{height:1px;width:var(--p,0%);background:var(--c-secondary);transition:width var(--dur-4) var(--ease-silk)}
.bk-panel.is-active{animation:panelIn var(--dur-3) var(--ease-silk)}
@keyframes panelIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.bk-h{font:400 var(--fs-6)/1.15 var(--font-display);margin-bottom:var(--s-2);outline:0}
[data-bk-cats]{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
@media (min-width:768px){[data-bk-cats]{flex-wrap:wrap;overflow:visible}}
.bk-cat{flex:none;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--r-pill);border:1px solid var(--c-line);background:var(--c-surface);font-size:var(--fs-3);white-space:nowrap;transition:background var(--dur-2),color var(--dur-2)}
.bk-cat .bk-ic{width:18px;height:18px}
.bk-cat[aria-pressed=true]{background:var(--c-primary);color:var(--c-on-primary);border-color:var(--c-primary)}
[data-bk-services]{display:grid;gap:8px;margin-top:12px}
@media (min-width:768px){[data-bk-services]{grid-template-columns:1fr 1fr}}
.bk-svc{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;padding:13px 14px;border-radius:var(--r-md);border:1px solid var(--c-line);background:var(--c-surface);font-size:var(--fs-3);line-height:1.35;min-width:0;transition:border-color var(--dur-2),box-shadow var(--dur-2)}
.bk-svc:hover{border-color:var(--n-300)}
.bk-svc-p{font:500 17px/1 var(--font-display);white-space:nowrap}
.bk-svc[aria-pressed=true]{border-color:var(--c-secondary);box-shadow:inset 0 0 0 1px var(--c-secondary);background:var(--c-success-bg)}
[data-bk-dates]{display:grid;grid-auto-flow:column;grid-auto-columns:64px;gap:8px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
.bk-date{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0;border-radius:var(--r-md);border:1px solid var(--c-line);background:var(--c-surface)}
.bk-dw,.bk-dm{font:500 10.5px/1.2 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted)}
.bk-dd{font:400 24px/1.1 var(--font-display)}
.bk-date[aria-pressed=true]{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}
.bk-date[aria-pressed=true] span{color:var(--c-on-primary)}
[data-bk-times]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.bk-time{padding:12px 6px;border-radius:var(--r-sm);border:1px solid var(--c-line);background:var(--c-surface);font-size:var(--fs-3)}
.bk-time:disabled{opacity:.45;cursor:not-allowed}
.bk-time[aria-pressed=true]{background:var(--c-primary);color:var(--c-on-primary);border-color:var(--c-primary)}
.bk-sample{font-size:var(--fs-2);color:var(--c-muted);margin-top:10px}
.bk-fields{display:grid;gap:var(--s-2)}
@media (min-width:768px){.bk-fields{grid-template-columns:1fr 1fr}.bk-wide{grid-column:1/-1}}
.bk-field{display:grid;gap:6px;font-size:var(--fs-2);color:var(--c-muted)}
.bk-field input,.bk-field textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:var(--r-sm);border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-text);font-size:var(--fs-4);transition:border-color var(--dur-2),box-shadow var(--dur-2)}
.bk-field input:hover,.bk-field textarea:hover{border-color:var(--n-300)}
.bk-field input:focus,.bk-field textarea:focus,.bk-field .is-focus{outline:0;border-color:var(--c-secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-secondary) 18%,transparent)}
.bk-field.is-error input{border-color:var(--c-error);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-error) 14%,transparent)}
.bk-field.is-ok input{border-color:var(--c-success)}
.bk-field input:disabled{opacity:.5}
.bk-ferr{color:var(--c-error);font-size:var(--fs-2)}
.agree{display:flex;gap:12px;align-items:flex-start;margin-top:var(--s-2);font-size:var(--fs-2);line-height:1.5;color:var(--c-muted);cursor:pointer}
.agree input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--c-secondary)}
.bk-err{color:var(--c-error);font-size:var(--fs-2);margin-top:10px}
.bk-err:empty{display:none}
.bk-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:var(--s-3)}
.bk-nav .btn{min-height:46px}
.bk-msg:empty{display:none}
.bk-msg{margin-top:var(--s-2);font-size:var(--fs-3);line-height:1.5;padding:12px 14px;border-radius:var(--r-sm);background:var(--c-success-bg);color:var(--c-success);animation:panelIn var(--dur-3) var(--ease-silk)}
.sum{position:sticky;top:88px}
.sum dl div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:12px 0;border-bottom:1px solid var(--c-line)}
.sum dt{font:500 11px/1.6 var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--c-muted)}
.sum dd{font-size:var(--fs-3);line-height:1.45}
.sum dd small{display:block;color:var(--c-muted);font-size:var(--fs-2)}
.sum dd em{color:var(--c-muted);font-style:normal}
.sum .bk-price{font:500 22px/1.2 var(--font-display)}
.deposit{display:flex;gap:12px;margin-top:var(--s-2);padding:14px;border-radius:var(--r-md);background:var(--c-warning-bg);border:1px solid color-mix(in srgb,var(--c-warning) 25%,transparent);font-size:var(--fs-3);line-height:1.5;color:var(--c-text)}
.deposit .ic{color:var(--c-warning)}
.next{margin-top:var(--s-3);padding-top:var(--s-2);border-top:1px solid var(--c-line)}
.bk-next-t{font:500 var(--fs-1)/1.4 var(--font-body);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--c-secondary)}
.next ol{margin:12px 0 0 18px;display:grid;gap:6px;font-size:var(--fs-3);color:var(--c-muted)}

/* ---- myths, care ---- */
.myths{display:grid;gap:0 var(--s-6);margin-top:var(--s-6)}
@media (min-width:768px){.myths{grid-template-columns:repeat(2,minmax(0,1fr))}}
.myth{display:grid;gap:10px;border-top:1px solid var(--c-line);padding:var(--s-3) 0}
.myth q{font:italic 400 var(--fs-6)/1.25 var(--font-display);quotes:none}
.myth p{font-size:var(--fs-3);color:var(--c-muted)}
.verdict{font:500 11.5px/1 var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--c-success);display:flex;align-items:center;gap:8px}
.verdict.myth-v{color:var(--c-error)}
.verdict .ic{width:15px;height:15px}
.care{display:grid;gap:0 var(--s-6);margin-top:var(--s-4)}
@media (min-width:768px){.care{grid-template-columns:1fr 1fr}}
.care-card{border-top:1px solid var(--c-text);padding:var(--s-3) 0}
.care-card h3{font:400 var(--fs-6)/1.1 var(--font-display)}
.care-card ol{list-style:none;margin-top:var(--s-2);display:grid;gap:12px;counter-reset:c}
.care-card li{display:grid;grid-template-columns:30px 1fr;gap:10px;font-size:var(--fs-3);counter-increment:c}
.care-card li::before{content:counter(c,decimal-leading-zero);font:400 18px/1.3 var(--font-display);color:var(--c-secondary)}

/* ---- FAQ accordion ---- */
.faq{max-width:820px;margin:var(--s-6) auto 0;text-align:left;border-top:1px solid var(--c-line)}
.faq-i{border-bottom:1px solid var(--c-line)}
.faq-i summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--s-2);padding:var(--s-3) 0;cursor:pointer;font:400 var(--fs-5)/1.3 var(--font-display)}
.faq-i summary::-webkit-details-marker{display:none}
.faq-x{position:relative;width:16px;height:16px;flex:none}
.faq-x::before,.faq-x::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor;transition:transform var(--dur-3) var(--ease-silk)}
.faq-x::after{transform:rotate(90deg)}
.faq-i[open] .faq-x::after{transform:rotate(0)}
.faq-a{color:var(--c-muted);padding:0 0 var(--s-3);max-width:62ch;font-size:var(--fs-4)}
.faq-i[open] .faq-a{animation:panelIn var(--dur-3) var(--ease-silk)}

/* ---- seasonal ---- */
.promo-line{display:grid;gap:10px;max-width:760px;margin:0 auto;text-align:center;padding:var(--s-4) 0}
.promo-line p{font-size:var(--fs-3);color:var(--c-muted)}
.promo-line b{font:italic 400 20px/1 var(--font-display);color:var(--c-text);margin-right:6px}
.promo-line small{font-size:var(--fs-1);color:var(--c-muted)}

/* ---- visit ---- */
.visit{display:grid;gap:var(--s-2);margin-top:var(--s-6)}
@media (min-width:1024px){.visit{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}
.vcard{padding:var(--s-3);display:grid;gap:var(--s-2);align-content:start}
.vline{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.vline .box{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--n-200)}
.vline small{display:block;font:500 11px/1.5 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--c-muted)}
.vline a,.vline address{font-style:normal;font-size:var(--fs-4);overflow-wrap:anywhere}
.vnote{font-size:var(--fs-2);color:var(--c-muted)}
.ask{padding-top:var(--s-2);border-top:1px solid var(--c-line)}
.ask h3{font:400 var(--fs-6)/1.2 var(--font-display)}
.ask p{font-size:var(--fs-3);color:var(--c-muted);margin-top:4px}
.ask .btn{margin-top:14px}
.map{position:relative;min-height:340px;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--c-line);
  background:linear-gradient(90deg,transparent 0 47%,rgba(255,255,255,.9) 47% 53%,transparent 53%) 0 0/180px 100%,linear-gradient(0deg,transparent 0 46%,rgba(255,255,255,.8) 46% 52%,transparent 52%) 0 0/100% 130px,linear-gradient(160deg,#dbe9e4,#cddfd9)}
.map::before{content:"";position:absolute;left:-10%;right:-10%;top:58%;height:22px;background:var(--n-50);transform:rotate(-8deg)}
.map .road{position:absolute;left:6%;top:calc(58% - 34px);transform:rotate(-8deg);font:500 10.5px/1 var(--font-body);letter-spacing:.24em;text-transform:uppercase;color:var(--n-600)}
.map .pin{position:absolute;left:54%;top:30%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px}
.map .pin i{width:58px;height:58px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--n-900);display:grid;place-items:center;box-shadow:var(--e-2)}
.map .pin img{width:34px;transform:rotate(45deg);filter:invert(1)}
.map .pin span{background:var(--n-50);color:var(--n-900);padding:8px 12px;border-radius:var(--r-pill);font-size:13px;white-space:nowrap}
.map-ph{position:absolute;right:16px;top:16px;font:500 10.5px/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--n-600);background:color-mix(in srgb,var(--n-50) 85%,transparent);padding:7px 10px;border-radius:var(--r-pill)}
.map .btn{position:absolute;left:16px;bottom:16px;right:16px}
@media (min-width:600px){.map .btn{right:auto}}

/* ---- footer ---- */
footer{padding:var(--s-8) 0 120px;text-align:center;border-top:1px solid var(--c-line)}
@media (min-width:1024px){footer{padding-bottom:var(--s-8)}}
footer>.wrap>img{width:150px;margin:0 auto}
.fnav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin-top:var(--s-3)}
.fnav a{font:400 12px/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--c-muted);padding:6px 0}
.fnav a:hover{color:var(--c-text)}
footer p{font-size:var(--fs-2);color:var(--c-muted);margin-top:var(--s-2)}
.legal{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:var(--s-2);font-size:var(--fs-1);color:var(--c-muted)}
.legal a{text-decoration:none}
.social{display:flex;justify-content:center;gap:10px;margin-top:var(--s-3)}
.social a{width:44px;height:44px;border-radius:50%;border:1px solid var(--c-line);display:grid;place-items:center;transition:background var(--dur-2),color var(--dur-2)}
.social a:hover{background:var(--c-primary);color:var(--c-on-primary)}
.mbar{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;display:flex;gap:10px;align-items:center;padding:8px 8px 8px 18px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--n-900) 94%,transparent);color:var(--n-50);box-shadow:var(--e-2);transition:transform var(--dur-3) var(--ease-silk),opacity var(--dur-3)}
.mbar span{font:400 18px/1.1 var(--font-display);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mbar .btn{min-height:44px;padding:0 18px;background:var(--n-50);color:var(--n-900);font-size:11px}
.mbar.hide{transform:translateY(140%);opacity:0}
@media (min-width:1024px){.mbar{display:none}}
.is-mag{transition:transform var(--dur-2) var(--ease-silk)!important}

/* ---- [T1598] carrusel de portada (filosofía) ---- */
.car{position:relative;height:clamp(560px,84vh,780px);overflow:hidden;background:var(--n-900);color:var(--n-50);isolation:isolate;touch-action:pan-y}
.car-d{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity var(--dur-4) var(--ease-silk),visibility 0s linear var(--dur-4)}
.car-d.is-on{opacity:1;visibility:visible;transition-delay:0s}
.car-d picture,.car-d img,.car-d video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.car-d video{z-index:1}
.motion .car-d img,.motion .car-d video{transform:scale(1.06);transition:transform 7s linear}
.motion .car-d.is-on img,.motion .car-d.is-on video{transform:scale(1)}
.car-d::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(20,30,28,.78) 0%,rgba(20,30,28,.32) 42%,rgba(20,30,28,0) 68%)}
@media (min-width:1024px){.car-d::after{background:linear-gradient(90deg,rgba(20,30,28,.66) 0%,rgba(20,30,28,.2) 48%,rgba(20,30,28,0) 70%),linear-gradient(0deg,rgba(20,30,28,.5) 0%,rgba(20,30,28,0) 40%)}}
.car-txt{position:absolute;left:0;right:0;bottom:112px;z-index:2}
.car-txt .wrap>div{max-width:620px}
.car-k{font:500 var(--fs-1)/1.4 var(--font-body);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:#bfe0d8;text-shadow:0 1px 12px rgba(20,30,28,.6)}
.car-t{font:300 var(--fs-8)/1.04 var(--font-display);letter-spacing:.02em;margin-top:var(--s-2);color:var(--n-50);text-shadow:0 2px 24px rgba(20,30,28,.45)}
.car-p{color:rgba(246,249,247,.92);margin-top:var(--s-2);max-width:46ch;text-shadow:0 1px 14px rgba(20,30,28,.6)}
.car .btn{margin-top:var(--s-3);background:var(--n-50);color:var(--n-900)}
.car .btn:hover{background:#bfe0d8}
.motion .car-d .car-txt .wrap>div>*{opacity:0;transform:translateY(16px);transition:opacity var(--dur-4) var(--ease-silk),transform var(--dur-4) var(--ease-silk)}
.motion .car-d.is-on .car-txt .wrap>div>*{opacity:1;transform:none}
.motion .car-d.is-on .car-t{transition-delay:.12s}.motion .car-d.is-on .car-p{transition-delay:.24s}.motion .car-d.is-on .btn{transition-delay:.36s}
.car-ctl{position:absolute;left:0;right:0;bottom:32px;z-index:3}
.car-ctl .wrap{display:flex;align-items:center;gap:12px}
.car-fl{width:44px;height:44px;border-radius:50%;border:1px solid rgba(246,249,247,.45);display:grid;place-items:center;color:var(--n-50);transition:background var(--dur-2),color var(--dur-2)}
.car-fl:hover{background:var(--n-50);color:var(--n-900)}
.car-fl .ic{width:18px;height:18px}.car-fl.ant .ic{transform:scaleX(-1)}
.car-puntos{display:flex;gap:6px;margin:0 6px}
.car-puntos button{width:34px;height:44px;display:grid;align-items:center}
.car-puntos i{display:block;height:2px;background:rgba(246,249,247,.35);position:relative;overflow:hidden}
.car-puntos i::after{content:"";position:absolute;inset:0;background:var(--n-50);transform:scaleX(0);transform-origin:left}
.car-puntos button[aria-current=true] i{background:rgba(246,249,247,.7);height:3px}
.car-puntos button[aria-current=true] i::after{transform:scaleX(1)}
.car.anda .car-puntos button[aria-current=true] i::after{animation:carProg 6s linear forwards}
.car.pausa .car-puntos button[aria-current=true] i::after{animation-play-state:paused}
@keyframes carProg{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (max-width:600px){.car-txt{bottom:96px}.car-puntos button{width:24px}}
@media (prefers-reduced-motion:reduce){.car video{display:none}}
/* ---- [T1598] fotos reales en los arcos, mapa real, envío de la solicitud ---- */
.arch.con-foto{background:var(--n-200)}
.arch.con-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.arch.con-foto .sig{z-index:1;color:var(--n-50);text-shadow:0 2px 18px rgba(20,30,28,.45)}
.map-real{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1;filter:saturate(.75)}
.map .btn{z-index:2}
.bk-msg .bk-ok-t{display:flex;gap:10px;align-items:flex-start}
.bk-msg .bk-ok-t .ic{width:20px;height:20px;flex:none;margin-top:1px}
.bk-send{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.bk-send .btn{min-height:46px;padding:0 20px}
.bk-send .btn .ic{width:18px;height:18px}
.bk-copied{display:block;margin-top:10px;color:var(--c-muted)}
.bk-copied[hidden]{display:none}
/* ---- [T1631] utilidades, aviso de cookies, mapa a petición, antispam, sonido, páginas legales y 404 ---- */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pt0{padding-top:0}.pb0{padding-bottom:0}
.legal a,.legal .lnk{display:inline-block;padding:10px 4px;color:var(--c-muted);text-decoration:none;font:inherit;letter-spacing:inherit}
.legal a:hover,.legal .lnk:hover{color:var(--c-text);text-decoration:underline}
.ck{position:fixed;left:12px;right:12px;bottom:12px;z-index:80;max-width:560px;background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--e-2);padding:18px 20px;animation:panelIn var(--dur-3) var(--ease-silk)}
@media (min-width:768px){.ck{left:24px;right:auto;bottom:24px;padding:22px 24px}}
.ck-t{font:400 var(--fs-5)/1.2 var(--font-display)}
.ck-p{font-size:var(--fs-2);color:var(--c-muted);margin-top:6px;line-height:1.55}
.ck-p a{color:var(--c-text)}
.ck-b{display:flex;gap:10px;margin-top:14px}
.ck-b .btn{min-height:44px;padding:0 18px;flex:1}
.ck-on .mbar{transform:translateY(140%);opacity:0;pointer-events:none}
.map-load{position:absolute;right:16px;top:16px;z-index:2;font:500 11px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--n-900);background:var(--n-50);padding:14px 16px;border-radius:var(--r-pill);border:1px solid var(--c-line);box-shadow:var(--e-1)}
.map-load:hover{background:var(--n-0)}
.bk-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.bk-legal{font-size:var(--fs-2);color:var(--c-muted);margin-top:10px;line-height:1.5}
.bk-legal a{color:var(--c-text)}
.snd{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:50%;border:1px solid var(--c-line);color:var(--c-muted);transition:color var(--dur-2),background var(--dur-2)}
.snd[aria-pressed=true]{color:var(--c-text);background:color-mix(in srgb,var(--c-surface) 70%,transparent)}
.snd .ic{width:20px;height:20px}
.sub .hdr .btn{display:none}
@media (min-width:520px){.sub .hdr .btn{display:inline-flex}}
.lg{padding:var(--s-8) 0 var(--s-12)}
.lg-w{max-width:780px}
.lg h1{font:300 var(--fs-8)/1.06 var(--font-display);margin-top:var(--s-2)}
.lg-ver{font-size:var(--fs-2);color:var(--c-muted);margin-top:var(--s-2);letter-spacing:.04em}
.lg-intro{font-size:var(--fs-4);margin-top:var(--s-4)}
.lg h2{font:400 var(--fs-6)/1.2 var(--font-display);margin-top:var(--s-6);padding-top:var(--s-3);border-top:1px solid var(--c-line)}
.lg p,.lg li{color:var(--c-muted);margin-top:var(--s-2)}
.lg strong{color:var(--c-text);font-weight:500}
.lg a{color:var(--c-secondary);overflow-wrap:anywhere}
.lg ul{list-style:none}
.lg code{font-size:12px;word-break:break-all;color:var(--c-text)}
.lg-nota{font-style:italic}
.nf{text-align:center;padding:var(--s-12) 0 var(--s-16)}
.nf-n{font:300 clamp(5rem,22vw,10rem)/1 var(--font-display);color:var(--c-secondary)}
.nf h1{font:300 var(--fs-8)/1.1 var(--font-display);margin-top:var(--s-2)}
.nf p{color:var(--c-muted);max-width:46ch;margin:var(--s-2) auto 0}
.nf .ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:var(--s-4)}
.sub footer{padding-bottom:var(--s-8)}
footer>.wrap>a:first-child{display:block;width:max-content;margin:0 auto}
.pie-logo{width:150px;margin:0 auto}

