/* =============================================================
   TENLEY HELEEN — Coaching  ·  Coastal (mint + light blue)
   Fonts: script accents (placeholder: Dancing Script → swap for
   Modern Tropical) + Jost sans.
   ============================================================= */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');
@font-face{
  font-family:'Montserrat';
  src:url('../fonts/MontserratMedium.woff2') format('woff2'),
      url('../fonts/MontserratMedium.woff') format('woff'),
      url('../fonts/MontserratMedium.ttf') format('truetype');
  font-weight:300 600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Alexander Lettering';
  src:url('../fonts/AlexanderLettering.woff2') format('woff2'),
      url('../fonts/AlexanderLettering.woff') format('woff'),
      url('../fonts/AlexanderLettering.ttf') format('truetype');
  font-weight:normal;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Sterling Heights';
  src:url('../fonts/SterlingHeights.woff2') format('woff2'),
      url('../fonts/SterlingHeights.woff') format('woff'),
      url('../fonts/SterlingHeights.ttf') format('truetype');
  font-weight:normal;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Zesant';
  src:url('../fonts/Zesant.woff2') format('woff2'),
      url('../fonts/Zesant.woff') format('woff'),
      url('../fonts/Zesant.ttf') format('truetype');
  font-weight:normal;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Roshely';
  src:url('../fonts/Roshely.woff2') format('woff2'),
      url('../fonts/Roshely.woff') format('woff'),
      url('../fonts/Roshely.otf') format('opentype');
  font-weight:normal;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Bombshell Pro';
  src:url('../fonts/BombshellPro.woff2') format('woff2'),
      url('../fonts/BombshellPro.woff') format('woff'),
      url('../fonts/BombshellPro.otf') format('opentype');
  font-weight:normal;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Libre Baskerville';
  src:url('../fonts/LibreBaskerville-Italic.woff2') format('woff2'),
      url('../fonts/LibreBaskerville-Italic.woff') format('woff'),
      url('../fonts/LibreBaskerville-Italic.ttf') format('truetype');
  font-weight:normal;font-style:italic;font-display:swap;
}

:root{
  --ink:#33302b;        /* charcoal — text/headings */
  --deep:#4a4038;       /* warm espresso — dark buttons/accents */
  --rose:#bf866c;       /* dusty terracotta-rose — script + eyebrow accents */
  --mint:#c6a02e;       /* GOLD accent — buttons, marks */
  --mint-2:#d8bd82;     /* light gold */
  --mint-soft:#f9e8e3;  /* soft blush — section bg */
  --sky:#f0d2c9;        /* blush / dusty rose — blob */
  --sky-soft:#fdf3ef;   /* soft blush-cream — alt section bg */
  --sand:#efe4d4;
  --cream:#FAF4EC;      /* warm ivory page bg */
  --shell:#FFFFFF;      /* white cards */
  --muted:#7c6f62;
  --line:#ece0d0;
  --gold:#c6a02e;
  --gold-deep:#a9853f;
  --sage:#8ea996;       /* card accent — sage */
  --sage-bar:#dbe9e2;   /* soft sage — top bar */
  --pink:#d99aa3;       /* card accent — dusty pink */
  --mist:#edeef0;       /* cool gray-blue section bg */
  --cta-pink:#f6d8d3;   /* blush band bg */
  --hero-pink:#f9dcd6;  /* hero blush */
  --hl:#f3bec6;         /* highlight marker */

  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --script:"Roshely","Segoe Script",cursive;
  --sans:"Montserrat","Helvetica Neue",Arial,sans-serif;

  --maxw:1180px;
  --radius:16px;
  --shadow:0 24px 60px -28px rgba(43,74,80,.4);
  --shadow-soft:0 14px 36px -22px rgba(43,74,80,.32);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.75;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--ink);line-height:1.15;margin:0 0 .45em;letter-spacing:0;}
h1{font-size:clamp(2.6rem,5.6vw,4.5rem);font-weight:500;}
h2{font-size:clamp(2.4rem,4.9vw,3.9rem);font-weight:500;}
h3{font-size:clamp(1.3rem,2.3vw,1.85rem);font-weight:500;}
p{margin:0 0 1.1em;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,4vw,2.5rem);}
section{padding:clamp(4rem,9vw,7rem) 0;}
.center{text-align:center;}
.lead{font-size:1.14rem;color:var(--muted);max-width:640px;font-weight:300;}
.center .lead{margin-left:auto;margin-right:auto;}

/* script accent + uppercase eyebrow */
.script{font-family:var(--script);font-weight:normal;color:var(--rose);font-size:4.6rem;line-height:1.05;display:block;-webkit-text-stroke:.8px currentColor;}
.eyebrow{font-family:var(--sans);font-size:1.02rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--rose);margin-bottom:1rem;display:inline-block;}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--sans);font-size:.78rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:1.1em 2.4em;border-radius:100px;border:1px solid var(--deep);white-space:nowrap;cursor:pointer;transition:all .35s var(--ease);}
.btn-primary{background:var(--deep);color:var(--shell);}
.btn-primary:hover{background:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-soft);}
.btn-mint{background:var(--mint);color:#fff;border-color:var(--mint);}
.btn-mint:hover{background:#a9853f;border-color:#a9853f;transform:translateY(-2px);box-shadow:var(--shadow-soft);}
/* hero mustard rectangle button — matches sample */
.hero .btn-rect{background:var(--gold);color:#fff;border-color:var(--gold);text-transform:uppercase;letter-spacing:.13em;font-weight:600;font-size:1.12rem;padding:.72rem 2.3rem;border-radius:2px;}
.hero .btn-rect span{font-size:1.12rem;}
.hero .btn-rect:hover{background:#a9853f;border-color:#a9853f;}
.btn-ghost{background:transparent;color:var(--deep);}
.btn-ghost:hover{background:var(--deep);color:var(--shell);transform:translateY(-2px);}
.btn-ghost-light{background:transparent;color:var(--shell);border-color:rgba(255,255,255,.5);}
.btn-ghost-light:hover{background:var(--shell);color:var(--deep);}
.btn-sage{background:var(--sage);color:#fff;border-color:var(--sage);}
.btn-sage:hover{background:#7c9885;border-color:#7c9885;transform:translateY(-2px);box-shadow:var(--shadow-soft);}
.btn-pink{background:var(--pink);color:#fff;border-color:var(--pink);}
.btn-pink:hover{background:#cd8791;border-color:#cd8791;transform:translateY(-2px);box-shadow:var(--shadow-soft);}
.btn-gold{background:var(--gold);color:#fff;border-color:var(--gold);}
.btn-gold:hover{background:var(--gold-deep);border-color:var(--gold-deep);transform:translateY(-2px);box-shadow:var(--shadow-soft);}
.btn-script{font-family:'Libre Baskerville',var(--serif);font-style:italic;font-weight:400;font-size:1.32rem;line-height:1;letter-spacing:.01em;text-transform:none;padding:.72rem 2rem 1.02rem;border-radius:2px;}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:box-shadow .3s;}
.site-header::before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--sky) 0%,var(--sage-bar) 45%,var(--mist) 65%,var(--gold) 100%);}
.site-header.scrolled{box-shadow:0 8px 26px -20px rgba(43,74,80,.4);}
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:104px;}
.brand-center{justify-self:center;text-align:center;line-height:1;}
.brand-center .bn{font-family:var(--serif);font-weight:600;font-size:2.15rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);display:block;}
.brand-center .bs{font-family:var(--script);font-size:3.4rem;color:var(--gold);display:block;margin-top:-16px;-webkit-text-stroke:.5px currentColor;}
.nav-side{display:flex;align-items:center;gap:2.2rem;list-style:none;margin:0;padding:0;}
.nav-left{justify-self:start;}
.nav-right{justify-self:end;}
.nav-side a{font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);position:relative;padding:4px 0;}
.nav-side a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--gold);transition:width .3s var(--ease);}
.nav-side a:hover::after,.nav-side a.active::after{width:100%;}
.nav-side a.active{color:var(--gold-deep);}
.nav-links{display:none;list-style:none;margin:0;padding:0;}
.nav-links a{font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;justify-self:end;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;}

/* studio ribbon (cross-link to Blush & Birch) */
.ribbon{background:var(--sage-bar);color:var(--ink);text-align:center;font-size:.8rem;letter-spacing:.05em;padding:.65rem 1rem;}
.ribbon a{color:var(--gold-deep);border-bottom:1px solid var(--gold);padding-bottom:1px;}

/* Hero */
.hero{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(3rem,6vw,4rem);position:relative;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.hero h1{margin-bottom:.32em;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.08;letter-spacing:.005em;}
.hero .script{margin-bottom:.4rem;font-size:4.4rem;line-height:1.1;}
.hero .lead{font-size:1.2rem;}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.9rem;}
.hero-photo{position:relative;}
.hero-photo .frame{border-radius:50%;overflow:hidden;aspect-ratio:1/1;background:var(--mint-soft);box-shadow:var(--shadow);}
.hero-photo .frame img{width:100%;height:100%;object-fit:cover;}
.hero-photo .blob{position:absolute;inset:-6% -8% auto auto;width:52%;aspect-ratio:1;background:var(--sky-soft);border-radius:46% 54% 55% 45%/50% 45% 55% 50%;z-index:-1;}
.hero-photo .tag{position:absolute;bottom:-16px;left:-16px;background:var(--shell);border:1px solid var(--line);border-radius:100px;padding:.65rem 1.3rem;box-shadow:var(--shadow-soft);}
.hero-photo .tag .script{font-size:2.3rem;color:var(--rose);}
/* template-style hero — real background artwork */
.hero{position:relative;background-color:#fff4f4;background-image:url("../images/hero-bg.png");background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden;}
.hero-grid{position:relative;z-index:1;}
.hero-copy{text-align:center;}
.hero-copy .lead{margin-left:auto;margin-right:auto;letter-spacing:.02em;}
.hero-copy .hero-cta{justify-content:center;}
.mark-white{background:linear-gradient(to top,transparent 6%,#fff 6%,#fff 58%,transparent 58%);padding:0 .16em;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.btn-rect{border-radius:3px;}

/* placeholder */
.ph{display:flex;align-items:center;justify-content:center;text-align:center;background:repeating-linear-gradient(45deg,var(--mint-soft),var(--mint-soft) 12px,var(--sky-soft) 12px,var(--sky-soft) 24px);color:var(--deep);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:1rem;width:100%;height:100%;}
.ph small{display:block;color:var(--muted);text-transform:none;letter-spacing:.02em;margin-top:.4rem;}

/* wave marquee */
.marquee{overflow:hidden;white-space:nowrap;padding:1.1rem 0;background:var(--sage-bar);color:var(--ink);}
.marquee-track{display:inline-flex;align-items:center;animation:scroll-x 34s linear infinite;}
.marquee-track span{font-family:var(--sans);font-size:.9rem;font-weight:400;letter-spacing:.24em;text-transform:uppercase;padding:0 1.1rem;display:inline-flex;gap:1.1rem;align-items:center;}
.marquee-track .star{font-family:var(--sans);font-size:.9rem;color:var(--deep);}
@keyframes scroll-x{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* Trust bar */
.trust{background:var(--sky-soft);}
.trust .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.6rem;padding-top:1.3rem;padding-bottom:1.3rem;text-align:center;}
.trust b{color:var(--deep);font-weight:500;}
.trust span{font-size:.82rem;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;}

/* section head */
.sec-head{max-width:740px;margin-bottom:3rem;}
.center.sec-head{margin-left:auto;margin-right:auto;}

/* Welcome split */
.welcome-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.welcome-photo .frame{border-radius:50%;overflow:hidden;aspect-ratio:1/1;background:var(--mint-soft);box-shadow:var(--shadow-soft);}
.welcome-photo .frame img{width:100%;height:100%;object-fit:cover;}

/* ===== Contact page ===== */
.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(2rem,5vw,4rem);align-items:start;}
.apply-form .field{margin-bottom:1.15rem;display:flex;flex-direction:column;}
.apply-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem;}
.apply-form label{font-family:var(--sans);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--deep);margin-bottom:.45rem;}
.apply-form input,.apply-form select,.apply-form textarea{font-family:var(--sans);font-size:1rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:4px;padding:.85rem 1rem;width:100%;transition:border-color .3s;}
.apply-form input:focus,.apply-form select:focus,.apply-form textarea:focus{outline:none;border-color:var(--gold);}
.apply-form textarea{resize:vertical;}
.apply-form .btn{margin-top:.4rem;border:none;cursor:pointer;}
.apply-form .hp{position:absolute;left:-9999px;}
.form-status{margin-top:1rem;font-size:.92rem;min-height:1.2em;}
.contact-side{display:flex;flex-direction:column;gap:1.6rem;}
.contact-card{background:var(--sky-soft);border-radius:12px;padding:2rem;}
.contact-card .script{color:var(--rose);font-size:2.6rem;display:block;line-height:1;margin-bottom:.15rem;-webkit-text-stroke:.4px currentColor;}
.contact-card h3{margin:.1rem 0 .5rem;}
.contact-card p{font-size:.95rem;color:var(--muted);margin:0;}
.contact-card .btn{margin-top:1rem;}
.contact-meta p{margin:0 0 1.2rem;font-size:.95rem;color:var(--muted);line-height:1.55;}
.contact-meta b{display:block;color:var(--ink);font-family:var(--sans);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.2rem;}
.contact-meta a{color:var(--ink);border-bottom:1px solid var(--line);}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;}.apply-form .field-row{grid-template-columns:1fr;}}

/* ===== About Me band (photo left, copy right, decorative bg) ===== */
.about-band{background:#ffffff url("../images/about-bg.png") center center/cover no-repeat;}
.about-band-grid{grid-template-columns:.95fr 1.05fr;align-items:center;}
.about-band .welcome-photo{position:relative;max-width:430px;}
.about-band .photo-rect{overflow:hidden;box-shadow:0 26px 46px -22px rgba(60,45,40,.4);aspect-ratio:4/5;}
.about-band .photo-rect img{width:100%;height:100%;object-fit:cover;display:block;}
.about-band .about-leaf{position:absolute;bottom:-9%;right:-14%;width:46%;height:auto;z-index:3;pointer-events:none;}
.about-copy{text-align:center;max-width:520px;margin:0 auto;}
.about-copy .script{color:var(--pink);font-size:3.4rem;line-height:1;display:block;margin-bottom:.1rem;-webkit-text-stroke:.5px currentColor;}
.about-copy .eyebrow{color:var(--pink);margin-top:.2rem;}
.about-copy .btn{margin-top:.6rem;}
.about-copy .btn-sage{background:#6f9089;border-color:#6f9089;color:#fff;padding:1.15em 2.6em;}
.about-copy .btn-sage:hover{background:#5c7a73;border-color:#5c7a73;}

/* About */
.about-photo .frame{border-radius:3px;overflow:hidden;aspect-ratio:4/5;max-width:440px;background:var(--mint-soft);box-shadow:0 26px 46px -22px rgba(60,45,40,.4);}
.about-photo .frame img{width:100%;height:100%;object-fit:cover;}
.stat-row{display:flex;gap:2.6rem;margin-top:1.8rem;flex-wrap:wrap;}
.stat b{font-family:var(--sans);font-weight:300;font-size:2rem;color:var(--deep);display:block;line-height:1;}
.stat span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.highlight{background:var(--sky-soft);text-align:center;}
.highlight .big{font-family:var(--sans);font-weight:300;font-size:clamp(1.5rem,3.1vw,2.3rem);color:var(--ink);max-width:840px;margin:0 auto;line-height:1.4;}

/* section background utilities */
.bg-blush{background:var(--mint-soft);}
.bg-mist{background:var(--mist);}
.bg-white{background:var(--shell);}

/* Method pillars */
.method{background:var(--mint-soft);}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1rem;}
.pillar{background:var(--shell);border:1px solid var(--line);border-radius:var(--radius);padding:2.2rem 1.9rem;transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.pillar:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);}
.pillar .n{font-family:var(--sans);font-size:2rem;font-weight:300;letter-spacing:.06em;color:var(--mint);line-height:1;display:block;margin-bottom:.6rem;}
.pillar h3{color:var(--ink);}
.pillar p{color:var(--muted);font-size:.98rem;margin:0;}

/* What we tackle */
.tackle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.tackle{padding:1.6rem 1.5rem;border-radius:14px;background:var(--shell);border:1px solid var(--line);transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.tackle:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft);}
.tackle h4{font-family:var(--sans);font-size:1.1rem;font-weight:500;color:var(--ink);margin:0 0 .35rem;}
.tackle p{font-size:.94rem;color:var(--muted);margin:0;}
@media(max-width:900px){.tackle-grid{grid-template-columns:1fr;}}

/* Packages */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:stretch;}
.pkg{background:var(--shell);border:1px solid var(--line);border-radius:20px;padding:2.4rem 2rem;display:flex;flex-direction:column;position:relative;transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.pkg:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.pkg.feat{border:2px solid var(--gold);box-shadow:var(--shadow-soft);}
.pkg-num{font-family:var(--script);font-size:4rem;line-height:1;display:block;margin-bottom:.1rem;color:var(--gold);-webkit-text-stroke:.6px currentColor;}
.pkg.c-sage .pkg-num{color:var(--sage);}
.pkg.c-pink .pkg-num{color:var(--pink);}
.pkg.c-gold .pkg-num{color:var(--gold);}
.flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--mint);color:var(--ink);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;padding:.42rem 1.1rem;border-radius:100px;white-space:nowrap;}
.kick{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--deep);margin-bottom:.5rem;}
.pkg .pname{font-family:var(--serif);font-size:1.7rem;font-weight:500;letter-spacing:0;color:var(--ink);line-height:1.1;margin-bottom:.2rem;}
.price{font-family:var(--sans);font-weight:300;font-size:2.6rem;color:var(--ink);margin:.2rem 0 .1rem;}
.per{font-size:.85rem;color:var(--muted);margin-bottom:.2rem;}
.pkg ul{list-style:none;padding:0;margin:1.4rem 0 1.8rem;flex:1;}
.pkg ul li{font-size:.95rem;padding:.55rem 0 .55rem 1.7rem;position:relative;border-bottom:1px solid var(--line);color:var(--muted);}
.pkg ul li::before{content:"✦";position:absolute;left:0;color:var(--mint);font-size:.8rem;top:.7rem;}
.pkg .btn{width:100%;justify-content:center;}
.pkg-note{text-align:center;color:var(--muted);font-size:.95rem;margin-top:3.4rem;}

/* ===== template-style colored package cards ===== */
.pkg-head .eyebrow{color:var(--gold);}
.pkg-tpl{gap:2.4rem;align-items:stretch;overflow:visible;margin-top:3.4rem;}
.pkg-tpl .pkg{background:#fff;border:none;border-radius:2px;box-shadow:0 24px 54px -30px rgba(60,45,40,.45);padding:3.4rem 2.1rem 0;text-align:center;margin:2rem 0 2.6rem;overflow:visible;position:relative;}
.pkg-tpl .pkg:hover{transform:translateY(-6px);box-shadow:0 34px 66px -30px rgba(60,45,40,.5);}
.pkg-tpl .pkg.feat{border:none;box-shadow:0 24px 54px -30px rgba(60,45,40,.45);}
.pkg-tpl .pkg-num{font-family:var(--script);position:absolute;top:0;left:50%;transform:translate(-50%,-52%);font-size:4.8rem;line-height:1;margin:0;z-index:2;-webkit-text-stroke:1.4px currentColor;}
.pkg-title{font-family:var(--sans);font-weight:700;letter-spacing:.13em;text-transform:uppercase;font-size:1.02rem;color:var(--ink);margin:.1rem 0 .35rem;line-height:1.2;}
.pkg-price{font-family:var(--sans);font-size:.9rem;letter-spacing:.05em;color:var(--muted);margin:0;}
.pkg-div{display:block;width:58px;height:1px;background:var(--line);margin:1.15rem auto 1.35rem;}
.pkg-tpl .pkg ul{list-style:none;padding:0;margin:0 0 1.6rem;text-align:left;}
.pkg-tpl .pkg ul li{font-size:.92rem;line-height:1.5;color:var(--muted);padding:.4rem 0 .4rem 1.45rem;position:relative;border:none;}
.pkg-tpl .pkg ul li::before{content:"✦";position:absolute;left:0;top:.55rem;color:var(--mint);font-size:.7rem;}
.pkg-tpl .pkg .btn{align-self:center;width:auto;margin:auto auto -1.35rem;white-space:nowrap;box-shadow:0 14px 26px -14px rgba(0,0,0,.4);}
.pkg-tpl .pkg.c-sage .btn-sage{background:#5f857d;border-color:#5f857d;}
.pkg-tpl .pkg.c-sage .btn-sage:hover{background:#4f6f68;border-color:#4f6f68;}

/* Video testimonials */
.vids{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.vid{border-radius:18px;overflow:hidden;background:var(--shell);border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.vid:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.vid-thumb{position:relative;aspect-ratio:4/5;background:repeating-linear-gradient(45deg,var(--mint-soft),var(--mint-soft) 14px,var(--sky-soft) 14px,var(--sky-soft) 28px);display:flex;align-items:center;justify-content:center;}
.vid-thumb .lbl{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--deep);}
.vid-thumb .play{width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);z-index:1;}
.vid-thumb .play::before{content:"";border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--deep);margin-left:5px;}
.vid-thumb img,.vid-thumb iframe,.vid-thumb video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;}
.vid-cap{padding:1.1rem 1.3rem 1.3rem;text-align:center;}
.vid-cap b{display:block;font-family:var(--sans);font-weight:500;font-size:1.08rem;color:var(--ink);margin-bottom:.15rem;}
.vid-cap span{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--deep);}
@media(max-width:900px){.vids{grid-template-columns:1fr;max-width:360px;margin:0 auto;}}

/* Testimonials */
.tests{background:var(--sky-soft);}
.tcar{position:relative;max-width:860px;margin:0 auto;overflow:hidden;}
.tcar-track{display:flex;transition:transform .6s var(--ease);}
.tslide{min-width:100%;padding:1rem 2rem;text-align:center;}
.tslide .stars{color:var(--mint);letter-spacing:3px;margin-bottom:1rem;}
.tslide .q{font-family:var(--sans);font-weight:300;font-size:clamp(1.3rem,2.5vw,1.8rem);color:var(--ink);line-height:1.5;margin-bottom:1.3rem;}
.tslide .who{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--deep);}
.tslide .who b{display:block;font-family:var(--sans);font-weight:500;font-size:1.05rem;color:var(--deep);letter-spacing:.02em;text-transform:none;margin-bottom:.25rem;}
.tcar-arrows{display:flex;gap:.8rem;justify-content:center;margin-top:1.4rem;}
.tcar-arrows button{width:44px;height:44px;border-radius:50%;border:1px solid var(--mint);background:transparent;color:var(--deep);cursor:pointer;font-size:1rem;transition:.3s;}
.tcar-arrows button:hover{background:var(--deep);color:var(--shell);border-color:var(--deep);}
.tcar-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.4rem;}
.tcar-dots button{width:9px;height:9px;border-radius:50%;border:none;background:var(--mint);opacity:.5;cursor:pointer;transition:.3s;}
.tcar-dots button.active{opacity:1;background:var(--deep);width:26px;border-radius:100px;}

/* CTA band — blush, template-style */
.cta{background:var(--cta-pink);color:var(--ink);text-align:center;position:relative;overflow:hidden;}
.cta::before{content:"";position:absolute;top:-14%;left:-3%;width:34%;aspect-ratio:1;background:radial-gradient(ellipse at 45% 45%,rgba(255,246,244,.75),rgba(255,246,244,0) 62%);border-radius:50%;pointer-events:none;}
.cta::after{content:"";position:absolute;bottom:-16%;right:-4%;width:30%;aspect-ratio:1;background:radial-gradient(ellipse at 55% 55%,rgba(255,246,244,.5),rgba(255,246,244,0) 62%);border-radius:50%;pointer-events:none;}
.cta .wrap{position:relative;z-index:1;}
.cta h2{color:var(--ink);font-size:clamp(1.9rem,3.5vw,2.8rem);}
.cta .script{color:var(--gold-deep);}
.cta .lead{color:#6d6055;margin-left:auto;margin-right:auto;}
.mark{background:var(--hl);padding:.02em .2em;box-decoration-break:clone;-webkit-box-decoration-break:clone;}

/* FAQ */
.faq{max-width:800px;margin:0 auto;}
.faq details{border-bottom:1px solid var(--line);padding:1.2rem 0;}
.faq summary{font-family:var(--sans);font-weight:400;font-size:1.2rem;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--mint);font-size:1.5rem;transition:transform .3s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{color:var(--muted);margin:.9rem 0 0;font-size:.98rem;}

/* Footer */
.site-footer{background:#fff;color:var(--ink);padding:4rem 0 2rem;border-top:1px solid var(--line);}
.foot-top{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.foot-card{display:grid;grid-template-columns:auto 1fr;gap:1.7rem;align-items:center;}
.foot-photo{width:158px;height:198px;overflow:hidden;box-shadow:0 20px 36px -22px rgba(60,45,40,.45);}
.foot-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.foot-bio .eyebrow{color:var(--pink);margin-bottom:.55rem;font-size:.8rem;letter-spacing:.28em;}
.foot-bio h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin:0 0 .55rem;line-height:1.2;}
.foot-bio p{font-size:.92rem;color:var(--muted);margin:0 0 1rem;max-width:430px;line-height:1.55;}
.foot-bio p a{color:var(--ink);text-decoration:underline;font-weight:500;}
.foot-social{display:flex;gap:1.1rem;}
.foot-social a{color:var(--ink);display:inline-flex;transition:color .3s;}
.foot-social a:hover{color:var(--rose);}
.foot-social svg{width:19px;height:19px;fill:currentColor;}
.foot-cta{display:flex;flex-direction:column;gap:.85rem;}
.foot-btn{display:block;text-align:center;padding:1.05rem 1rem;color:#fff;font-family:var(--sans);font-weight:600;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;border-radius:2px;transition:filter .3s;}
.foot-btn:hover{filter:brightness(.93);}
.fb-gold{background:var(--gold);}
.fb-pink{background:var(--pink);}
.fb-teal{background:#6f9089;}
.foot-nav2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.2rem;margin-top:1.5rem;text-align:center;}
.foot-nav2 a{font-family:var(--sans);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);font-weight:500;transition:color .3s;}
.foot-nav2 a:hover{color:var(--gold);}
.site-footer .foot-bottom{margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--line);color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.78rem;}
.site-footer .foot-bottom a{color:var(--ink);border-bottom:1px solid var(--line);}
@media(max-width:760px){
  .foot-top{grid-template-columns:1fr;gap:2.5rem;}
  .foot-card{grid-template-columns:1fr;text-align:center;justify-items:center;}
  .foot-social{justify-content:center;}
}

/* Reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.in{opacity:1;transform:none;}

/* Responsive */
@media(max-width:900px){
  .hero-grid,.welcome-grid{grid-template-columns:1fr;}
  .hero-photo,.welcome-photo{max-width:430px;margin:0 auto;}
  .hero-photo{order:-1;}
  .pillars,.pkg-grid{grid-template-columns:1fr;}
  .pkg-grid{max-width:460px;margin:0 auto;}
  .nav{display:flex;justify-content:space-between;height:76px;}
  .nav-side{display:none;}
  .brand-center{justify-self:auto;text-align:left;}
  .brand-center .bn{font-size:1.4rem;}
  .brand-center .bs{font-size:2.2rem;}
  .nav-links{display:flex;position:fixed;inset:76px 0 auto 0;background:var(--cream);flex-direction:column;gap:0;padding:1rem 0;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .4s var(--ease);box-shadow:var(--shadow-soft);}
  .nav-links.open{transform:translateY(0);}
  .nav-links li{width:100%;text-align:center;}
  .nav-links a{display:block;padding:1rem;}
  .nav-toggle{display:block;}
}
