/* PISTAVO · shared site styles · Club Pistavo brand */
@font-face{font-family:'Fraunces';src:url('fonts/fraunces-latin-full-normal.woff2') format('woff2-variations');font-weight:100 900;}
@font-face{font-family:'Fraunces';src:url('fonts/fraunces-latin-full-italic.woff2') format('woff2-variations');font-weight:100 900;font-style:italic;}
@font-face{font-family:'Space Mono';src:url('fonts/space-mono-latin-400-normal.woff2') format('woff2');font-weight:400;}
@font-face{font-family:'Space Mono';src:url('fonts/space-mono-latin-700-normal.woff2') format('woff2');font-weight:700;}

:root{
  --clay:oklch(0.55 0.145 38);        /* #B9451F */
  --clay-dark:oklch(0.47 0.135 38);
  --crema:oklch(0.94 0.02 85);        /* #F4EBDC */
  --paper:oklch(0.965 0.015 85);
  --noche:oklch(0.27 0.045 262);      /* #16233F */
  --noche-deep:oklch(0.22 0.04 262);
  --oro:oklch(0.75 0.115 78);         /* #D9A441 */
  --ink:oklch(0.24 0.02 70);
  --dim:oklch(0.55 0.04 70);
  --hair:oklch(0.86 0.03 82);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--crema);color:var(--ink);font-family:'Fraunces',serif;font-weight:420;font-size:17px;line-height:1.6;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
.mono{font-family:'Space Mono',monospace;}
.wrap{max-width:1280px;margin:0 auto;padding:0 40px;}

/* ---------- nav ---------- */
nav{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--crema) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--hair);}
.navin{max-width:1280px;margin:0 auto;padding:18px 40px;display:flex;align-items:center;gap:44px;}
.logo{font-weight:620;font-size:23px;letter-spacing:.12em;color:var(--noche);font-variation-settings:'opsz' 60;display:flex;align-items:center;}
.logo i{width:9px;height:9px;border-radius:50%;background:var(--oro);display:inline-block;margin-left:4px;}
.navlinks{display:flex;gap:30px;font-family:'Space Mono';font-size:12.5px;letter-spacing:.08em;color:var(--dim);text-transform:uppercase;}
.navlinks a:hover{color:var(--clay);}
.navlinks .on{color:var(--clay);}
.navcta{margin-left:auto;}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--clay);color:var(--crema);font-family:'Space Mono';font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:15px 26px;border-radius:100px;border:none;cursor:pointer;transition:background .18s cubic-bezier(.16,1,.3,1), transform .18s cubic-bezier(.16,1,.3,1);}
.btn:hover{background:var(--clay-dark);transform:translateY(-1px);}
.btn i{width:8px;height:8px;border-radius:50%;background:var(--oro);display:inline-block;}
.btn.ghost{background:transparent;color:var(--clay);border:1.5px solid var(--clay);}
.btn.ghost:hover{background:var(--clay);color:var(--crema);}
.btn.gold{background:var(--oro);color:var(--noche);}
.btn.big{padding:19px 34px;font-size:14px;}
.textlink{font-family:'Space Mono';font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--clay);border-bottom:1.5px solid var(--oro);padding-bottom:3px;}

/* ---------- type ---------- */
.h-display{font-weight:600;font-variation-settings:'opsz' 144;line-height:1.04;letter-spacing:.005em;color:var(--noche);}
.h-sec{font-weight:600;font-variation-settings:'opsz' 100;font-size:clamp(30px,3.4vw,44px);line-height:1.12;color:var(--noche);}
.kick{font-family:'Space Mono';font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--clay);}
.lede{font-size:19px;line-height:1.65;color:oklch(0.38 0.03 70);max-width:56ch;}
.it{font-style:italic;font-weight:500;}

/* ---------- marquee ---------- */
.marquee{background:var(--clay);color:var(--crema);overflow:hidden;padding:13px 0;white-space:nowrap;}
.marquee span{font-family:'Space Mono';font-size:13px;letter-spacing:.24em;text-transform:uppercase;}
.marquee b{color:var(--oro);font-weight:400;padding:0 18px;}

/* ---------- quote form block ---------- */
.quote{background:var(--clay);color:var(--crema);border-radius:18px;overflow:hidden;}
.quote-grid{display:grid;grid-template-columns:1.05fr 1.3fr;}
.quote form{background:oklch(0.5 0.14 38);padding:52px 48px;display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.f{display:flex;flex-direction:column;gap:7px;}
.f.full{grid-column:1/-1;}
.f label{font-family:'Space Mono';font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:oklch(0.88 0.05 60);}
.f input,.f select,.f textarea{background:var(--crema);border:none;border-radius:8px;padding:14px 16px;font-family:'Fraunces',serif;font-size:16px;color:var(--ink);width:100%;}
.f textarea{min-height:88px;resize:vertical;}
.f select{appearance:none;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23B9451F' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;}

.quote-copy{padding:52px 48px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;}
.quote-copy h2{color:var(--crema);font-weight:600;font-variation-settings:'opsz' 100;font-size:clamp(30px,3vw,42px);line-height:1.12;}
.quote-copy .sub{color:oklch(0.9 0.04 60);font-size:16.5px;margin-top:16px;max-width:40ch;}
.qmeta{font-family:'Space Mono';font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:oklch(0.88 0.05 60);line-height:2.2;}

/* ---------- footer ---------- */
footer{background:var(--noche);color:oklch(0.75 0.03 262);}
footer .fgrid{max-width:1280px;margin:0 auto;padding:70px 40px 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:40px;}
footer h5{font-family:'Space Mono';font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:oklch(0.55 0.04 262);margin-bottom:18px;font-weight:400;}
footer li{list-style:none;margin-bottom:10px;font-size:15px;}
footer a:hover{color:var(--oro);}
.fbar{border-top:1px solid oklch(0.33 0.04 262);}
.fbarin{max-width:1280px;margin:0 auto;padding:22px 40px;display:flex;justify-content:space-between;font-family:'Space Mono';font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:oklch(0.5 0.03 262);}

/* ---------- misc ---------- */
.ballsep{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--oro);vertical-align:middle;margin:0 14px 3px;}
.photocap{font-family:'Space Mono';font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);}
details{border-top:1px solid var(--hair);}
details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:22px 4px;font-weight:560;font-size:19px;color:var(--noche);}
details summary::after{content:"+";font-family:'Space Mono';color:var(--clay);font-size:20px;}
details[open] summary::after{content:"–";}
details p{padding:0 4px 24px;max-width:68ch;color:oklch(0.38 0.03 70);}

@media (max-width:900px){
  .navlinks{display:none;}
  .quote-grid{grid-template-columns:1fr;}
  .quote form{grid-template-columns:1fr;}
  footer .fgrid{grid-template-columns:1fr 1fr;}
}
