/* =====================================================================
   Spottune Colombia · base: reset + typography
   ===================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;background:var(--st-white);color:var(--st-black);font-family:var(--font);font-size:var(--fs-body);font-weight:var(--w-light);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;min-height:100vh}
body.no-scroll{overflow:hidden}
main{display:block}
/* iOS WebKit ignores body{overflow-x:hidden} when it works out how far the user may pinch-zoom out, so anything that
   bleeds past the edge widens the page. clip (unlike hidden) creates no scroll container, so sticky keeps working. */
@supports (overflow:clip){main,.site-footer{overflow-x:clip}}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit;color:inherit;margin:0}
button{background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
a{color:var(--st-teal);text-decoration:none;text-underline-offset:.16em;transition:color var(--dur) var(--ease)}
a:hover{text-decoration:underline}
hr{border:0;height:1px;background:var(--st-line);margin:var(--sp-4) 0}
ul,ol{margin:0 0 1.2em;padding-left:1.25em}
li{margin:0 0 .35em}
li::marker{color:var(--st-gray-text)}   /* #C2C0C0 on white is 1,81:1 */
table{border-collapse:collapse;border-spacing:0}
address{font-style:normal}
strong,b{font-weight:var(--w-medium)}
em,i{font-style:italic}
small{font-size:var(--fs-caption)}
sup{font-size:.7em;line-height:0}
code,kbd,samp{font-family:var(--font)}
figure{margin:0}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{padding:0}
[hidden]{display:none!important}

/* --- selection / focus --- */
::selection{background:var(--st-teal);color:var(--st-white)}
:focus{outline:none}
:focus-visible{outline:2px solid var(--st-teal);outline-offset:3px;border-radius:4px}
.sec-dark :focus-visible,.site-footer :focus-visible{outline-color:var(--st-cream)}

/* --- headings --- */
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;font-weight:var(--w-bold);line-height:var(--lh-head);letter-spacing:-.015em;color:inherit;text-wrap:balance}
h1{font-size:var(--fs-display);font-weight:var(--w-black);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3);font-weight:var(--w-medium);letter-spacing:-.01em}
h4{font-size:var(--fs-h4);font-weight:var(--w-medium);letter-spacing:0}
h5,h6{font-size:var(--fs-small);font-weight:var(--w-medium);letter-spacing:.02em}

/* Statement (signature): Light line sets context, Bold line lands the point, bold sits lower */
.statement{font-size:var(--fs-display);font-weight:var(--w-light);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin:0;text-wrap:balance}
.statement .light,.statement .bold{display:block}
.statement .light{font-weight:var(--w-light)}
.statement .bold{font-weight:var(--w-bold)}
h2.statement{font-size:clamp(32px,4.4vw,56px)}
h3.statement{font-size:clamp(24px,2.6vw,34px)}

/* --- text roles --- */
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}
.eyebrow{display:block;font-size:var(--fs-eyebrow);font-weight:var(--w-medium);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--st-gray-text);margin:0 0 var(--sp-2);line-height:1.4}
.lead{font-size:var(--fs-lead);font-weight:var(--w-light);line-height:1.55;max-width:62ch}
.caption{font-size:var(--fs-caption);font-weight:var(--w-light);color:var(--st-gray-text);line-height:1.5}
.small{font-size:var(--fs-small)}
.tnum{font-variant-numeric:tabular-nums}
.sec-dark,.sec-dark a{color:var(--st-cream)}
.sec-dark a:hover{text-decoration:underline}
.sec-dark .eyebrow{color:var(--st-cream-a60)}
.sec-dark .lead{color:var(--st-cream-a78)}
.sec-dark .caption,.sec-dark .note,.sec-dark .text-gray{color:var(--st-cream-a60)}
.sec-dark ::selection{background:var(--st-cream);color:var(--st-black)}
.sec-dark hr{background:var(--st-cream-a14)}

/* --- reduced motion: global kill-switch --- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* --- print --- */
@media print{
  .site-header,.site-footer,.fab-wa,.fab-top,#cursor-glow,#fx-bg,.drawer,.toast{display:none!important}
  body{background:var(--st-white);color:var(--st-black)}
  a{color:inherit;text-decoration:underline}
}
