/* Pilates Tropics - homepage components. Requires css/site.css first.
   Flattened from pt_homepage_green.html (source of record, Aug 2026).
   Promote a component to site.css when a second page needs it. */

/* HERO */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;padding:0 6vw;
      background:
        linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(236,238,240,.9) 82%),
        repeating-linear-gradient(90deg, transparent 0 119px, rgba(44,49,52,.05) 119px 120px),
        repeating-linear-gradient(0deg, transparent 0 119px, rgba(44,49,52,.05) 119px 120px),
        radial-gradient(1100px 600px at 78% 18%, rgba(59,141,154,.15), transparent 60%),
        radial-gradient(760px 440px at 10% 82%, rgba(255,162,110,.14), transparent 55%),
        linear-gradient(160deg, #F2F4F5 0%, #E9EBED 55%, #E0E3E6 100%)}
.hero .wrap{position:relative;z-index:2}
.hero h1{font-size:clamp(44px,7.4vw,108px);max-width:16ch}
.hero h1 .accent{color:var(--apricot)}
.hero p.sub{margin:34px 0 40px;max-width:52ch;font-size:17px;line-height:1.65;color:#4a5359}
.hero .meta{margin-top:26px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#9a948a}
.plumb{position:absolute;top:0;bottom:0;left:71%;width:1px;background:linear-gradient(180deg,transparent,rgba(59,141,154,.7),transparent);z-index:1}
.plumb::after{content:"";position:absolute;bottom:14%;left:-5px;width:11px;height:11px;border-radius:50%;background:var(--guava);box-shadow:0 0 24px rgba(59,141,154,.8)}

/* ENEMY BAND */
.enemy{background:var(--ink-2);border-top:1px solid rgba(44,49,52,.2);border-bottom:1px solid rgba(44,49,52,.2)}
.enemy .wrap{max-width:860px;text-align:center}
.enemy p{font-size:clamp(20px,2.6vw,30px);line-height:1.45;font-weight:500;color:var(--mist)}
.enemy p b{color:var(--paper);font-weight:600}
.enemy .stamp{display:inline-block;margin-top:34px;font-family:'Signika','Open Sans',sans-serif;font-weight:700;text-transform:uppercase;
    font-size:clamp(17px,2.2vw,24px);color:var(--apricot);border:2px solid var(--apricot);padding:12px 22px}

/* STAGE TILES - ascending steps */
.stagerow{display:flex;gap:14px;align-items:flex-end}
.stage{flex:1;background:var(--paper);border:1px solid var(--line-dark);box-shadow:0 12px 28px rgba(44,49,52,.06);
    padding:28px 30px;display:flex;align-items:flex-start;gap:16px;text-decoration:none;transition:.15s}
.stage:nth-child(1){min-height:110px}
.stage:nth-child(2){min-height:185px}
.stage:nth-child(3){min-height:260px}
.stage:hover{transform:translateY(-3px)}
.stage-num{font-family:'Signika','Open Sans',sans-serif;font-weight:700;font-size:clamp(22px,2.2vw,28px);color:var(--apricot);line-height:1}
.stage-name{font-family:'Signika','Open Sans',sans-serif;font-weight:600;font-size:clamp(22px,2.2vw,28px);line-height:1;color:var(--ink)}
.stage-go{margin-left:auto;color:var(--apricot);font-size:20px}

/* METHOD */
.method{background:
      radial-gradient(900px 500px at 12% 90%, rgba(59,141,154,.07), transparent 55%),
      radial-gradient(700px 400px at 90% 10%, rgba(255,162,110,.08), transparent 55%),
      #E0E3E6}
.method .section-label{color:var(--apricot-deep)}
.method-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}
.method p{font-size:16px;line-height:1.75;color:#3d474b;margin-bottom:20px}
.method p b{color:var(--ink)}

/* STAGE DETAIL SECTIONS */
.detail .detail-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:56px;align-items:start}
.detail p{font-size:16px;line-height:1.75;color:#3d474b}
.detail-side .btn{margin-bottom:6px}
.detail-note{font-size:13px;letter-spacing:.08em;text-transform:uppercase;line-height:2;color:#5a6266;border-left:3px solid var(--apricot);padding-left:16px}
.detail.alt{background:var(--paper-2)}
.detail h2{margin-bottom:36px}
/* .consult-line promoted to site.css */
.intake-line{text-align:center;margin-top:40px}
.detail p a,.grove p a{color:var(--guava-deep);font-weight:600;text-decoration:none}
.detail p a:hover,.grove p a:hover{text-decoration:underline}
.detail h2 a,.method h2 a{color:inherit;text-decoration:none}
.detail h2 a:hover,.method h2 a:hover{color:var(--guava-deep)}

/* PROOF (quote cards promoted to site.css) */
.proof{background:var(--paper-2)}

/* ABOUT EVA */
.abouteva{background:var(--paper)}
.eva-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:64px;align-items:center}
.eva-photo{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 18px 50px rgba(44,49,52,.14)}
.eva-text p{font-size:16px;line-height:1.75;color:#3d474b;margin-bottom:18px}
.eva-text a{color:var(--guava-deep);font-weight:600}
.eva-sig{font-family:'Signika','Open Sans',sans-serif;font-weight:700;font-size:22px;color:var(--guava)}

/* GROVE */
.grove{background:
      radial-gradient(800px 420px at 85% 15%, rgba(255,162,110,.10), transparent 55%),
      radial-gradient(600px 380px at 8% 85%, rgba(59,141,154,.08), transparent 55%),
      #E0E3E6;border-top:1px solid var(--line-dark)}
.grove .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.grove p{font-size:16.5px;line-height:1.7;color:#3d474b}
.arcline{font-size:17px;line-height:1.7}
.arctail{font-family:'Signika','Open Sans',sans-serif;font-weight:700;text-transform:uppercase;font-size:19px;color:var(--apricot-deep);margin:14px 0 22px}
.gstate{text-align:left}
.gbig{font-family:'Signika','Open Sans',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(34px,4.2vw,58px);line-height:1.04;color:var(--guava);letter-spacing:.01em}
.gsub{margin-top:14px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#6b7276;font-weight:600}

/* FAQ accordion promoted to site.css */


@media(max-width:900px){
  .method-grid,.grove .wrap,.detail .detail-grid,.eva-grid{grid-template-columns:1fr}
  .stagerow{flex-direction:column;align-items:flex-start}
  .stage:nth-child(n){min-height:0;padding:24px 22px;gap:12px}
  .stage:nth-child(1){width:70%}
  .stage:nth-child(2){width:85%}
  .stage:nth-child(3){width:100%}
  .plumb{display:none}
  .eva-photo{max-width:420px;margin:0 auto}
  .hero .btn{margin:0 10px 12px 0}
}
