/* Pilates Tropics - shared design system (nav, footer, tokens, type, buttons).
   Flattened from pt_homepage_green.html (source of record, Aug 2026).
   Page-specific components live in the page's own stylesheet (e.g. home.css). */

@font-face{font-family:'Signika';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/signika-600.woff2) format('woff2')}
@font-face{font-family:'Signika';font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/signika-700.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/opensans-400.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/opensans-500.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/opensans-600.woff2) format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/opensans-700.woff2) format('woff2')}

:root{
  /* Pilates Tropics brand palette (PT_new.pdf) */
  --ink:#2C3134;            /* deepened brand charcoal 363C3F */
  --ink-2:#363C3F;          /* brand charcoal, exact */
  --paper:#ECEEF0;          /* light gray - not beige */
  --paper-2:#E0E3E6;
  --guava:#3B8D9A;          /* brand teal, exact - primary accent */
  --guava-light:#5BA8B4;    /* teal, lightened - hover */
  --guava-deep:#2E6E78;     /* deep teal for text on light bg */
  --apricot:#FFA26E;        /* brand apricot, exact - energy accent */
  --apricot-light:#FFBC8D;  /* apricot, lightened - hover */
  --apricot-deep:#C96B2E;   /* burnt apricot for labels on light bg */
  --mist:rgba(245,246,247,.74);
  --mist-2:rgba(245,246,247,.46);
  --line:rgba(245,246,247,.13);
  --line-dark:rgba(44,49,52,.13);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Open Sans',sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;
    display:flex;flex-direction:column;min-height:100vh}
footer{margin-top:auto}
h1,h2,h3,.display{font-family:'Signika','Open Sans',sans-serif;font-weight:700;letter-spacing:-.01em;text-transform:uppercase;line-height:.95}
.num{font-family:'Signika','Open Sans',sans-serif;font-variant-numeric:tabular-nums;font-weight:700}
section{padding:96px 6vw}
.wrap{max-width:1180px;margin:0 auto}

/* NAV */
nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
    padding:18px 6vw;background:rgba(236,238,240,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-dark)}
.logo{display:block;line-height:0}
.pu-logo{display:flex;text-decoration:none;color:var(--guava)}
.lockup{display:flex;align-items:flex-end;gap:7px;color:inherit}
.lockup svg{height:62px;width:auto;display:block}
.logotype{font-family:'Signika','Open Sans',sans-serif;font-weight:700;font-size:13px;line-height:1.04;letter-spacing:.02em;color:inherit;padding-bottom:3px}
nav .logo svg{height:52px;width:auto}
footer .logo svg{height:72px;width:auto;opacity:.92}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-menu{display:flex;gap:28px;align-items:center}
.nav-links a{color:#5a6266;text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}
.nav-links a:hover{color:var(--ink)}
.nav-links a.btn{background:var(--apricot);color:var(--ink)}
.nav-links a.btn:hover{background:var(--apricot-light);color:var(--ink)}
.beta-ribbon-box{position:absolute;top:0;left:0;width:110px;height:110px;overflow:hidden;pointer-events:none;z-index:60}
.beta-tag{position:absolute;top:22px;left:-38px;transform:rotate(-35deg);background:var(--apricot);color:var(--ink);
    font-family:'Signika','Open Sans',sans-serif;font-weight:700;text-transform:uppercase;
    font-size:12px;letter-spacing:.2em;padding:5px 44px;box-shadow:0 2px 8px rgba(44,49,52,.18)}
.beta-tag::after{content:"";position:absolute;left:100%;top:0;bottom:0;width:70px;background:var(--apricot)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px 6px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;transition:.2s}
nav.menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
nav.menu-open .nav-toggle span:nth-child(2){opacity:0}
nav.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* BUTTONS */
.btn{display:inline-block;background:var(--guava);color:#FFFFFF;text-decoration:none;font-family:'Signika','Open Sans',sans-serif;
     font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:14px 26px;font-size:14px;border:none;cursor:pointer;transition:.18s}
.btn:hover{background:var(--guava-light);transform:translateY(-1px)}
.btn.small{padding:10px 18px;font-size:12px}
.btn.ghost{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
.btn.ghost:hover{border-color:var(--guava);color:var(--guava);background:transparent}

/* LABELS + HEADINGS */
.backlink{display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
    color:var(--guava-deep);text-decoration:none;margin-bottom:28px}
.backlink:hover{color:var(--ink)}
.kicker{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--guava);font-weight:600;margin-bottom:28px}
.kicker a{color:inherit;text-decoration:underline;text-decoration-color:rgba(59,141,154,.4);text-underline-offset:4px}
.kicker a:hover{text-decoration-color:var(--guava)}
.section-label{font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:var(--guava);margin-bottom:18px}
.light .section-label{color:var(--apricot-deep)}
.light h1, .dark h1, .light h2, .dark h2{font-size:clamp(30px,4vw,52px);margin-bottom:56px;max-width:20ch}
.group-label{font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:var(--apricot-deep);
    margin:64px 0 0;padding-top:22px;border-top:1px solid var(--line-dark)}

/* SECTION BANDS */
.light{background:var(--paper);color:var(--ink)}

/* QUOTE CARDS */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--paper);border:1px solid var(--line-dark);padding:30px}
.card .who{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--apricot-deep);font-weight:600;margin-bottom:16px}
.card p{font-size:15px;line-height:1.65;color:#2c352f}
.card .num{color:var(--ink)}

/* TELEMETRY CARD */
.telemetry{border:1px solid rgba(44,49,52,.25);background:var(--ink-2);padding:34px}
.telemetry .t-head{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mist-2);margin-bottom:24px;display:flex;justify-content:space-between}
.t-row{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.t-row:last-child{border:none}
.t-row .label{font-size:13px;color:var(--mist);letter-spacing:.04em}
.t-row .val{font-size:clamp(18px,2vw,26px);color:var(--paper)}
.t-row .delta{font-size:13px;color:var(--apricot);margin-left:10px}
.t-note{margin-top:22px;font-size:12px;color:var(--mist-2);line-height:1.6}

/* CAPTURE BAND (intake CTA) */
.capture{background:var(--ink);border-top:1px solid var(--line);text-align:center}
.capture h2{margin:0 auto 16px;color:var(--paper);font-size:clamp(30px,4vw,52px);line-height:.98}
.capture p{color:var(--mist);font-size:15px;max-width:46ch;margin:0 auto 34px;line-height:1.6}
.capture .btn{margin-top:6px}
.capture .drop-note{margin-top:22px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mist-2)}

/* CLOSING STATEMENT + CTA ROW */
.ways-tail{margin-top:56px;text-align:center;font-family:'Signika','Open Sans',sans-serif;font-weight:700;text-transform:uppercase;
    font-size:clamp(18px,2.3vw,26px);line-height:1.35;color:var(--apricot-deep)}
.tcta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:34px}

/* CONSULT LINE (shared) */
.consult-line{margin-top:28px;font-size:15px;color:#4a5359}
.consult-line a{color:var(--guava-deep);font-weight:600}

/* FAQ ACCORDION (shared) */
.faq .wrap{max-width:860px}
.faq-item{border-top:1px solid var(--line-dark)}
.faq-item:last-child{border-bottom:1px solid var(--line-dark)}
.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;
    padding:20px 0;font-family:'Signika','Open Sans',sans-serif;font-weight:600;font-size:18px;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";flex-shrink:0;font-size:26px;line-height:1;color:var(--apricot);font-weight:700;transition:.15s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{font-size:15.5px;line-height:1.7;color:#3d474b;padding:0 34px 22px 0}
.faq-item p a{color:var(--guava-deep);font-weight:600;text-decoration:none}
.faq-item p a:hover{text-decoration:underline}

/* FOOTER */
footer{background:#23282B;padding:44px 6vw;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;border-top:1px solid var(--line)}
footer .fine{font-size:12px;color:var(--mist-2);line-height:1.7}
footer .fine a{color:var(--mist);text-decoration:underline;text-decoration-color:rgba(245,246,247,.28);text-underline-offset:3px}
footer .fine a:hover{text-decoration-color:var(--mist)}
footer .fine a.ig{display:inline-block;vertical-align:-3px}
footer .fine a.ig svg{display:block}
footer .fine a.ig:hover{color:var(--paper)}
.lang-dd{position:relative}
.lang-dd summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:5px;
    color:#5a6266;font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}
.lang-dd summary::-webkit-details-marker{display:none}
.lang-dd summary::after{content:"";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor}
.lang-dd summary:hover{color:var(--ink)}
.lang-dd ul{position:absolute;right:0;top:calc(100% + 12px);background:var(--paper);border:1px solid var(--line-dark);
    box-shadow:0 14px 30px rgba(44,49,52,.14);list-style:none;margin:0;padding:6px 0;min-width:60px;z-index:60}
.lang-dd li a{display:block;padding:8px 16px}

@media(max-width:900px){
  .cards{grid-template-columns:1fr}
  .group-label{margin-top:48px}
  .nav-toggle{display:block}
  .nav-menu{display:none}
  nav.menu-open .nav-menu{display:flex;flex-direction:column;align-items:stretch;gap:0;
      position:absolute;top:100%;left:0;right:0;background:var(--paper);
      border-bottom:1px solid var(--line-dark);box-shadow:0 18px 30px rgba(44,49,52,.12);padding:8px 6vw 16px}
  nav.menu-open .nav-menu a{display:block;padding:14px 0;font-size:14px;border-top:1px solid var(--line-dark)}
  nav.menu-open .nav-menu a:first-child{border-top:none}
  section{padding:72px 6vw}
}

/* CYRILLIC SUBSETS (UA/RU pages; unicode-range keeps latin pages untouched) */
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/opensans-400-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/opensans-400-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/opensans-500-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/opensans-500-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/opensans-600-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/opensans-600-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/opensans-700-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/opensans-700-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
