/* ===== Both Ends of the Leash — shared styles ===== */
*{box-sizing:border-box;}
body{margin:0;font-family:'Hanken Grotesk',sans-serif;font-size:16px;color:#1c2c4e;background:#fff;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
:root{--serif:'Zilla Slab',Georgia,'Times New Roman',serif;}
h1,h2,h3{font-family:var(--serif);font-weight:700;margin:0;letter-spacing:-.005em;}
a{text-decoration:none;color:inherit;}
.serif-it{font-family:var(--serif);font-style:italic;font-weight:700;}
.wrap{max-width:1200px;margin:0 auto;}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.btn{display:inline-block;border-radius:999px;font-weight:600;font-size:15px;cursor:pointer;}
.btn-purple{background:#6e63c8;color:#fff;padding:14px 28px;box-shadow:0 2px 10px rgba(110,99,200,.35);}
.btn-ghost{background:transparent;color:#dfe4f1;padding:13px 27px;border:1.5px solid rgba(255,255,255,.28);}
.link-purple{color:#6e63c8;font-weight:600;font-size:14.5px;}

/* NAV */
nav{position:sticky;top:0;z-index:100;background:#1c2c4e;padding:16px 48px;display:flex;align-items:center;justify-content:space-between;}
.nav-brand{display:flex;align-items:center;gap:14px;}
.nav-brand img{height:64px;width:auto;}
.nav-brand span{font-family:var(--serif);font-weight:600;color:#f3ead2;font-size:22px;line-height:1.1;}
.nav-links{display:flex;align-items:center;gap:8px;}
.nav-links a{color:#c5cde2;font-size:14.5px;font-weight:500;}
.nav-links a:not(.btn-purple){padding:8px 24px;border-radius:999px;}
.nav-links a.active{color:#fff;}
.nav-links .btn-purple{color:#fff;padding:11px 22px;font-size:14.5px;}
.hamburger{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer;background:none;border:none;}
.hamburger span{width:26px;height:2.5px;background:#c9cee0;border-radius:2px;transition:.25s;}
.mobile-menu{display:flex;background:#1c2c4e;border-top:1px solid rgba(255,255,255,.08);padding:8px 24px 22px;flex-direction:column;gap:2px;position:fixed;top:74px;left:0;right:0;z-index:99;max-height:calc(100vh - 74px);overflow-y:auto;box-shadow:0 16px 30px rgba(11,18,36,.4);opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s;}
.menu-backdrop{display:block;position:fixed;top:74px;left:0;right:0;bottom:0;background:rgba(8,13,28,.66);z-index:98;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility 0s linear .25s;}
.mobile-menu a{color:#c5cde2;font-size:16px;font-weight:500;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);}
.mobile-menu a.active{color:#dfe4f1;}
.mobile-menu .btn-purple{text-align:center;margin-top:12px;}
body.menu-open .mobile-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition:opacity .25s ease,transform .25s ease,visibility 0s;}
body.menu-open .menu-backdrop{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s ease,visibility 0s;}

/* CTA (shared) */
.cta{background:#6e63c8;padding:80px 48px;text-align:center;}
.cta .inner{max-width:760px;margin:0 auto;}
.cta h2{font-size:40px;margin-bottom:14px;color:#fff;}
.cta p{font-size:17px;line-height:1.6;color:#e4e1f6;margin:0 0 32px;}
.cta .btn-white{background:#fff;color:#1c2c4e;font-weight:700;font-size:15px;padding:16px 32px;border-radius:999px;display:inline-block;}

/* FOOTER (shared) */
footer{background:#16223d;padding:56px 48px 40px;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;}
.foot-grid img{height:96px;width:auto;margin-bottom:20px;}
.foot-about{font-size:14px;line-height:1.65;color:#8b93b8;margin:0;max-width:320px;}
.foot-h{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#6e76a0;margin-bottom:16px;}
.foot-col{display:flex;flex-direction:column;gap:11px;}
.foot-col a,.foot-col span{font-size:14px;color:#b6bdd4;}

/* ===================== HOME ===================== */
.hero{background:#1c2c4e;padding:72px 48px 88px;}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.hero .eyebrow{color:#8b93b8;margin-bottom:22px;}
.hero h1{font-size:56px;line-height:1.04;margin-bottom:24px;color:#fff;letter-spacing:-.01em;}
.hero h1 .serif-it{color:#9a93dd;}
.hero p{font-size:17px;line-height:1.65;color:#c0c8de;margin:0 0 32px;max-width:480px;}
.hero-cta{display:flex;gap:14px;margin-bottom:44px;}
.hero-social{display:flex;gap:10px;align-items:center;}
.hero-social a{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.22);transition:background .2s ease,border-color .2s ease,transform .2s ease;}
.hero-social a:hover{background:#6e63c8;border-color:#6e63c8;transform:translateY(-1px);}
.hero-social a svg{width:19px;height:19px;fill:#fff;}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:480px;}
.stat{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:18px 16px;}
.stat.gold{background:rgba(224,166,78,.12);border-color:rgba(224,166,78,.35);}
.stat .num{font-family:var(--serif);font-size:30px;color:#fff;display:flex;align-items:center;gap:6px;}
.stat .lbl{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9aa3c4;margin-top:4px;}
.stat.gold .lbl{color:#d6b277;}
.hero-photo{border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);aspect-ratio:4/3;}
.hero-photo img{width:100%;height:100%;object-fit:cover;}

.creds{background:#eef1f8;padding:72px 48px;}
.creds .eyebrow{color:#6e63c8;margin-bottom:14px;}
.creds h2{font-size:34px;margin-bottom:32px;}
.creds-card{background:linear-gradient(180deg,#fbf6ec,#f6efe0);border-radius:16px;padding:40px 24px;border:1px solid #ecdfc2;}
.creds-grid{display:grid;grid-template-columns:repeat(5,1fr);}
.seal{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 18px;border-right:1px solid #e6d9bd;}
.seal:last-child{border-right:none;}
.seal .ring{width:64px;height:64px;border-radius:50%;border:2px solid #c79a3e;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:17px;color:#1c2c4e;margin-bottom:14px;background:#fff;}
.seal .ring.chk{font-size:26px;color:#c79a3e;font-family:'Hanken Grotesk',sans-serif;}
.seal .name{font-weight:700;font-size:14.5px;color:#1c2c4e;}
.seal .sub{font-size:13px;color:#8a7a55;margin-top:3px;}

.process{background:#fff;padding:88px 48px;}
.process .eyebrow{color:#6e63c8;margin-bottom:14px;}
.process h2{font-size:34px;margin-bottom:10px;}
.process>.wrap>p{font-size:16px;line-height:1.6;color:#566080;max-width:520px;margin:0 0 44px;}
.process-card{background:#1c2c4e;border-radius:18px;padding:48px;display:flex;flex-direction:column;gap:24px;}
.step{display:grid;grid-template-columns:120px 1fr 300px;gap:36px;align-items:center;}
.step .no{font-family:var(--serif);font-size:72px;color:#e0a64e;line-height:1;text-align:left;}
.step h3{font-size:24px;margin-bottom:10px;color:#fff;}
.step p{font-size:16px;line-height:1.65;color:#aeb8d4;margin:0;}
.step .photo{border-radius:12px;overflow:hidden;aspect-ratio:16/10;border:1px solid rgba(255,255,255,.1);}
.step .photo img{width:100%;height:100%;object-fit:cover;}
.divider{height:1px;background:rgba(255,255,255,.1);}

.offer{background:#eef1f8;padding:88px 48px;}
.offer .eyebrow{color:#6e63c8;margin-bottom:14px;}
.offer h2{font-size:34px;margin-bottom:10px;}
.offer>.wrap>p{font-size:16px;line-height:1.6;color:#566080;max-width:520px;margin:0 0 40px;}
.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.offer-card{background:#fff;border:1px solid #e6e9f2;border-radius:14px;padding:30px;}
.offer-card.soon{background:#fafbfd;border-color:#eef0f5;}
.offer-card .ic{width:50px;height:50px;border-radius:12px;background:#fbf1dc;display:flex;align-items:center;justify-content:center;color:#c79a3e;font-size:23px;margin-bottom:20px;}
.offer-card.soon .ic{background:#f0f1f5;color:#aab1c4;margin-bottom:0;}
.offer-card h3{font-size:21px;margin-bottom:10px;}
.offer-card.soon h3{color:#7c849c;}
.offer-card p{font-size:16px;line-height:1.6;color:#566080;margin:0 0 18px;}
.offer-card.soon p{color:#9aa1b5;}
.offer-card.soon .link-purple{color:#9aa1b5;}
.soon-head{display:flex;align-items:center;gap:10px;margin-bottom:20px;}
.badge{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#a59161;background:#f6efde;padding:5px 10px;border-radius:999px;}

.stories{background:#1c2c4e;padding:88px 48px;}
.stories .eyebrow{color:#8b93b8;margin-bottom:14px;}
.stories h2{font-size:34px;margin-bottom:40px;color:#fff;}
.stories-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.story{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:32px;}
.story .stars{color:#e0a64e;font-size:18px;letter-spacing:3px;margin-bottom:18px;}
.story p{font-family:var(--serif);font-style:italic;font-weight:500;font-size:17px;line-height:1.6;color:#dbe1f0;margin:0 0 12px;}
.story-text.clamped{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;}
.story-toggle{display:inline-block;background:none;border:none;padding:0;margin:0 0 22px;font-family:inherit;font-size:14px;font-weight:700;color:#9a93dd;cursor:pointer;letter-spacing:.01em;}
.story-toggle:hover{color:#b7b0ea;text-decoration:underline;}
.story .who{color:#9a93dd;font-weight:600;font-size:14px;}

.team{background:#fff;padding:72px 48px;}
.team-card{width:100%;max-width:1200px;margin:0 auto;background:#eef1f8;border-radius:18px;padding:32px;display:grid;grid-template-columns:340px 1fr;gap:48px;align-items:center;}
.team-photo{border-radius:12px;overflow:hidden;aspect-ratio:1/1;box-shadow:0 12px 30px rgba(28,44,78,.18);}
.team-photo img{width:100%;height:100%;object-fit:cover;}
.team .eyebrow{color:#6e63c8;margin-bottom:14px;}
.team h2{font-size:34px;margin-bottom:16px;}
.team p{font-size:16px;line-height:1.65;color:#566080;margin:0 0 22px;}

/* ===================== ABOUT ===================== */
.about-hero{background:#eef1f8;padding:64px 48px 72px;}
.about-hero-grid{display:grid;grid-template-columns:440px 1fr;gap:72px;align-items:center;}
.about-portrait{position:relative;}
.about-portrait .pic{border-radius:16px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 24px 60px rgba(28,44,78,.22);}
.about-portrait .pic img{width:100%;height:100%;object-fit:cover;}
.about-badge{position:absolute;right:-14px;bottom:-14px;background:#6e63c8;color:#fff;border-radius:14px;padding:18px 24px;box-shadow:0 12px 30px rgba(110,99,200,.4);text-align:center;}
.about-badge .num{font-family:var(--serif);font-size:30px;line-height:1;}
.about-badge .lbl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#dcd7f5;margin-top:6px;}
.about-hero .eyebrow{color:#6e63c8;margin-bottom:14px;}
.about-hero h1{font-size:52px;line-height:1.05;margin-bottom:20px;}
.about-hero .intro{font-size:17px;line-height:1.65;color:#566080;margin:0 0 32px;max-width:440px;}
.find-me{display:flex;align-items:center;gap:16px;}
.find-me .lbl{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8a93a8;}
.social{display:flex;gap:10px;}
.social a{width:40px;height:40px;border-radius:50%;background:#1c2c4e;display:flex;align-items:center;justify-content:center;}
.social a svg{width:18px;height:18px;fill:#fff;}

.story-body{background:#fff;padding:88px 48px;}
.story-body .inner{max-width:680px;margin:0 auto;}
.story-body h2{font-size:27px;margin:0 0 16px;}
.story-body h2:not(:first-child){margin-top:48px;}
.story-body p{font-size:16px;line-height:1.75;color:#566080;margin:0 0 18px;}
.story-body p.close{color:#1c2c4e;font-weight:700;margin-top:8px;}

.gallery{background:#fff;padding:24px 48px 88px;text-align:center;}
.gallery .eyebrow{color:#6e63c8;margin-bottom:14px;}
.gallery h2{font-size:34px;margin-bottom:12px;}
.gallery .sub{font-size:16px;line-height:1.6;color:#566080;max-width:480px;margin:0 auto 40px;}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:0 auto;}
.gallery-grid .shot{border-radius:14px;overflow:hidden;aspect-ratio:5/4;box-shadow:0 12px 30px rgba(28,44,78,.14);}
.gallery-grid .shot img{width:100%;height:100%;object-fit:cover;}

.qual{background:#eef1f8;padding:88px 48px;}
.qual .eyebrow{color:#6e63c8;margin-bottom:14px;}
.qual h2{font-size:34px;margin-bottom:10px;}
.qual>.wrap>p{font-size:16px;line-height:1.6;color:#566080;max-width:520px;margin:0 0 40px;}
.qual-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.qual-card{background:#fff;border:1px solid #e6e9f2;border-radius:14px;padding:26px 28px;}
.qual-highlight{grid-column:1 / -1;background:#f4f2fc;border:1px solid #ddd6f5;border-left:4px solid #6e63c8;}
.qual-highlight-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#6e63c8;margin-bottom:8px;}
.qual-card h3{font-family:var(--serif);font-size:18px;margin:0 0 10px;color:#1c2c4e;}
.qual-card p{font-size:16px;line-height:1.6;color:#566080;margin:0;}

.seminars{background:#fff;padding:80px 48px;}
.seminars .eyebrow{color:#6e63c8;margin-bottom:14px;}
.seminars h2{font-size:32px;margin-bottom:28px;}
.seminar-photo{border-radius:16px;overflow:hidden;aspect-ratio:16/8;box-shadow:0 16px 40px rgba(28,44,78,.16);margin-bottom:14px;}
.seminar-photo img{width:100%;height:100%;object-fit:cover;}
.seminar-cap{font-size:13.5px;color:#8a93a8;margin:0 0 40px;}
.seminar-list{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 32px;}
.seminar-item{display:flex;gap:12px;padding-top:16px;padding-bottom:16px;border-top:1px solid #e6e9f2;}
.seminar-item .dot{width:7px;height:7px;border-radius:50%;background:#6e63c8;margin-top:7px;flex:none;}
.seminar-item .t{font-weight:700;font-size:14.5px;color:#1c2c4e;}
.seminar-item .by{font-size:13px;color:#8a93a8;margin-top:2px;}

/* ===================== SERVICES ===================== */
.svc-hero{background:linear-gradient(rgba(20,32,60,.86),rgba(22,34,61,.95)),url('images/pack-1.png') center top/cover;padding:84px 48px;text-align:center;}
.svc-hero .eyebrow{color:#b6bee0;margin-bottom:18px;}
.svc-hero h1{font-size:46px;line-height:1.08;color:#fff;margin-bottom:22px;}
.svc-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(110,99,200,.28);border:1px solid rgba(154,147,221,.5);color:#e7e4f7;font-weight:600;font-size:13px;padding:8px 16px;border-radius:999px;margin-bottom:22px;}
.svc-pill svg{width:13px;height:13px;fill:#e0a64e;}
.svc-hero p{font-size:16px;line-height:1.65;color:#c7cde0;max-width:620px;margin:0 auto;}

.why{background:#eef1f8;padding:72px 48px;text-align:center;}
.why .inner{max-width:780px;margin:0 auto;}
.why .eyebrow{color:#6e63c8;margin-bottom:14px;}
.why h2{font-size:32px;margin-bottom:18px;}
.why p{font-size:16px;line-height:1.75;color:#566080;margin:0;}

.journey{background:#fff;padding:80px 48px;}
.journey .eyebrow{color:#6e63c8;margin-bottom:14px;}
.journey h2{font-size:34px;margin-bottom:8px;}
.journey>.wrap>p{font-size:16px;line-height:1.6;color:#566080;max-width:520px;margin:0 0 36px;}
.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.journey-card{background:#f4f5fb;border:1px solid #e7e9f5;border-radius:14px;padding:28px;}
.journey-card .num{font-family:var(--serif);font-size:46px;color:#c0c7df;line-height:1;margin-bottom:14px;}
.journey-card h3{font-size:19px;margin-bottom:10px;}
.journey-card p{font-size:16px;line-height:1.6;color:#566080;margin:0;}

.program{background:#fff;padding:0 48px 80px;}
.program-card{max-width:1200px;margin:0 auto;border-radius:18px;overflow:hidden;background:#1c2c4e;box-shadow:0 20px 50px rgba(28,44,78,.2);}
.program-top{background:#6e63c8;padding:11px 32px;}
.program-top .badge{background:rgba(255,255,255,.16);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:999px;}
.program-body{padding:36px 40px;display:grid;grid-template-columns:1fr 260px;gap:40px;align-items:center;}
.program-body h3{font-size:26px;color:#fff;margin-bottom:12px;}
.program-body .desc{font-size:16px;line-height:1.6;color:#aeb8d4;margin:0 0 20px;}
.prog-list{display:flex;flex-direction:column;gap:10px;}
.prog-list .li{font-size:14.5px;color:#dbe1f0;padding-left:24px;position:relative;}
.prog-list .li::before{content:"→";position:absolute;left:0;color:#e0a64e;font-weight:700;}
.program-price{text-align:center;}
.program-price .amt{font-family:var(--serif);font-size:48px;color:#e0a64e;line-height:1;}
.program-price .cap{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9aa3c4;margin:8px 0 18px;}
.program-price .btn-white{background:#fff;color:#1c2c4e;font-weight:700;font-size:14.5px;padding:13px 28px;border-radius:999px;display:inline-block;white-space:nowrap;}

.packages{background:#fff;padding:80px 48px;}
.packages .eyebrow{color:#6e63c8;margin-bottom:14px;}
.packages h2{font-size:34px;margin-bottom:8px;}
.packages>.wrap>.lead{font-size:16px;line-height:1.6;color:#566080;max-width:520px;margin:0 0 32px;}
.consult{background:#eef1f8;border:1px solid #e1e5f1;border-radius:14px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:28px;}
.consult .eyebrow{font-size:11px;color:#6e63c8;margin-bottom:8px;}
.consult h3{font-size:22px;margin-bottom:8px;}
.consult p{font-size:16px;line-height:1.6;color:#566080;margin:0;max-width:560px;}
.consult-right{display:flex;align-items:center;gap:22px;flex:none;}
.consult-price .amt{font-family:var(--serif);font-size:30px;color:#1c2c4e;text-align:right;}
.consult-price .cap{font-size:12px;color:#8a93a8;text-align:right;margin-top:2px;}
.pkg-note{text-align:center;font-size:13.5px;color:#8a93a8;margin:18px 0 32px;}
.pkg-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.pkg-card{border:1px solid #e6e9f2;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;background:#fff;}
.pkg-card.pop{border-color:#cdc7ee;box-shadow:0 14px 34px rgba(110,99,200,.16);}
.pkg-head{background:#1c2c4e;padding:18px 24px;display:flex;align-items:center;gap:12px;}
.pkg-card.pop .pkg-head{background:#6e63c8;}
.pkg-head .ic{width:40px;height:40px;border-radius:9px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#e0a64e;font-size:15px;flex:none;}
.pkg-head .ic svg{width:32px;height:32px;}
.pkg-card.pop .pkg-head .ic{color:#fff;}
.pkg-head h3{font-size:21px;color:#fff;}
.pkg-head .pop-badge{margin-left:auto;background:rgba(255,255,255,.18);color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:5px 10px;border-radius:999px;white-space:nowrap;}
.pkg-body{padding:24px;display:flex;flex-direction:column;gap:14px;flex:1;}
.pkg-body .desc{font-size:16px;line-height:1.6;color:#566080;margin:0;}
.pkg-list{display:flex;flex-direction:column;gap:8px;}
.pkg-list .li{font-size:14px;color:#41506e;padding-left:22px;position:relative;}
.pkg-list .li::before{content:"→";position:absolute;left:0;color:#6e63c8;font-weight:700;}
.pkg-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;}
.pkg-price{font-weight:800;font-size:22px;color:#1c2c4e;}
.pkg-price small{font-weight:600;font-size:13px;color:#8a93a8;margin-left:4px;}
.btn-outline{background:#fff;color:#6e63c8;border:1.5px solid #6e63c8;padding:10px 22px;border-radius:999px;font-weight:600;font-size:14px;cursor:pointer;display:inline-block;flex:none;white-space:nowrap;}
.waitlist{background:#eef1f8;border:1px solid #e1e5f1;border-radius:14px;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;}
.waitlist .eyebrow{font-size:11px;color:#a59161;margin-bottom:8px;}
.waitlist h3{font-size:21px;margin-bottom:8px;}
.waitlist p{font-size:14px;line-height:1.6;color:#7c849c;margin:0;max-width:620px;}

/* ===================== RESOURCES ===================== */
.res-hero{background:#eef1f8;padding:64px 48px;text-align:center;}
.res-hero .eyebrow{color:#6e63c8;margin-bottom:14px;}
.res-hero h1{font-size:42px;line-height:1.08;margin-bottom:16px;}
.res-hero p{font-size:16px;line-height:1.6;color:#566080;max-width:520px;margin:0 auto;}

.res-soon{background:#fff;padding:72px 48px;}
.soon-card{max-width:660px;margin:0 auto;background:#f4f5fb;border:1px solid #e7e9f5;border-radius:16px;padding:44px;text-align:center;}
.soon-card .eyebrow{color:#6e63c8;margin-bottom:14px;}
.soon-card h3{font-size:27px;margin-bottom:14px;}
.soon-card p{font-size:15.5px;line-height:1.7;color:#566080;margin:0 auto;max-width:480px;}

.faq{background:#eef1f8;padding:80px 48px;}
.faq-wrap{max-width:1060px;margin:0 auto;}
.faq .eyebrow{color:#6e63c8;margin-bottom:12px;}
.faq h2{font-size:34px;margin-bottom:24px;}
.faq-list{max-width:820px;margin-left:64px;}
.faq-item{padding:22px 0;border-bottom:1px solid #dee1eb;}
.faq-item:first-child{border-top:1px solid #dee1eb;}
.faq-item h3{font-family:var(--serif);font-size:19px;margin-bottom:10px;color:#1c2c4e;}
.faq-item p{font-size:16px;line-height:1.65;color:#566080;margin:0;}

/* ===================== CONTACT MODAL ===================== */
.modal-overlay{position:fixed;inset:0;background:rgba(11,18,36,.55);display:none;align-items:flex-start;justify-content:center;z-index:1000;padding:40px 20px;overflow-y:auto;}
.modal-overlay.open{display:flex;}
.modal{background:#fff;border-radius:16px;max-width:560px;width:100%;overflow:hidden;box-shadow:0 30px 80px rgba(11,18,36,.4);animation:modalIn .25s ease;}
@keyframes modalIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.modal-head{background:#1c2c4e;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;}
.modal-head h3{font-size:26px;color:#fff;}
.modal-close{background:none;border:none;color:#cdd3e6;font-size:26px;cursor:pointer;line-height:1;padding:0 2px;}
.modal-close:hover{color:#fff;}
.modal-body{padding:28px 32px 32px;}
.modal-body .lead{font-size:16px;line-height:1.55;color:#566080;margin:0 0 22px;}
.modal-field{width:100%;background:#f6f7fb;border:1px solid #e1e4ee;border-radius:10px;padding:14px 16px;font-size:15px;font-family:inherit;color:#1c2c4e;margin-bottom:14px;outline:none;}
.modal-field:focus{border-color:#6e63c8;background:#fff;}
textarea.modal-field{min-height:130px;resize:vertical;}
.modal-field::placeholder{color:#9aa1b5;}
.btn-send{width:100%;background:#6e63c8;color:#fff;border:none;border-radius:999px;padding:16px;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 2px 10px rgba(110,99,200,.3);margin-top:4px;}
.btn-send:hover{background:#5d52b8;}
.modal-or{display:flex;align-items:center;gap:14px;color:#9aa1b5;font-size:14px;margin:18px 0;}
.modal-or::before,.modal-or::after{content:"";flex:1;height:1px;background:#e1e4ee;}
.btn-schedule{width:100%;background:#1c2c4e;color:#fff;border:none;border-radius:999px;padding:15px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;}
.btn-schedule:hover{background:#16223d;}
.btn-schedule svg{width:17px;height:17px;fill:#e0a64e;}
.modal-contact{text-align:center;margin-top:24px;}
.modal-contact .email{display:block;font-weight:700;font-size:17px;color:#1c2c4e;margin-bottom:6px;}
.modal-contact .phone{font-weight:700;font-size:17px;color:#1c2c4e;}
.modal-social{display:flex;justify-content:center;gap:12px;margin-top:18px;}
.modal-social a{width:44px;height:44px;border-radius:50%;background:#eef1f8;display:flex;align-items:center;justify-content:center;}
.modal-social a:hover{background:#e2e6f3;}
.modal-social a svg{width:18px;height:18px;fill:#1c2c4e;}
.modal-thanks{text-align:center;padding:18px 0 8px;}
.modal-thanks .check{width:60px;height:60px;border-radius:50%;background:#eaf6ef;color:#1f8a5b;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 18px;}
.modal-thanks h4{font-family:var(--serif);font-size:24px;margin:0 0 10px;color:#1c2c4e;}
.modal-thanks p{font-size:15px;line-height:1.6;color:#566080;margin:0;}

/* placeholder for not-yet-supplied photos */
.ph{background:repeating-linear-gradient(45deg,#e7e9f0,#e7e9f0 10px,#dfe2ec 10px,#dfe2ec 20px);display:flex;align-items:center;justify-content:center;color:#9aa1b5;font-family:ui-monospace,monospace;font-size:12px;text-align:center;padding:14px;}

/* ===== TABLET ===== */
@media (max-width:900px){
  nav{padding:14px 28px;}
  .nav-brand img{height:46px;}
  .nav-brand span{font-size:18px;}
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .hero{padding:48px 28px 56px;}
  .hero-grid{grid-template-columns:1fr;gap:32px;}
  .hero h1{font-size:44px;}
  .hero p{max-width:none;}
  .hero-cta{margin-bottom:32px;}
  .stats{max-width:none;}
  .hero-photo{aspect-ratio:16/10;}
  .creds,.process,.offer,.stories,.team,.about-hero,.story-body,.gallery,.qual,.seminars,.cta{padding-left:28px;padding-right:28px;}
  .creds-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:28px 0;}
  .seal{border-right:none;flex:0 0 33.333%;box-sizing:border-box;}
  .step{grid-template-columns:64px 1fr 240px;gap:24px;}
  .step .no{font-size:52px;}
  .process-card{padding:32px;}
  .team-card{grid-template-columns:260px 1fr;gap:32px;}
  .about-hero-grid{grid-template-columns:340px 1fr;gap:48px;}
  .about-hero h1{font-size:42px;}
  .seminar-list{grid-template-columns:repeat(2,1fr);}
  .svc-hero,.why,.journey,.program,.packages{padding-left:28px;padding-right:28px;}
  .svc-hero h1{font-size:38px;}
  .journey-grid{gap:16px;}
  .program-body{grid-template-columns:1fr;gap:24px;}
  .program-price{text-align:left;}
  .pkg-grid{grid-template-columns:1fr 1fr;gap:16px;}
  .res-hero,.res-soon,.faq{padding-left:28px;padding-right:28px;}
  .res-hero h1{font-size:36px;}
  .faq-list{margin-left:0;}
}

/* ===== MOBILE ===== */
@media (max-width:600px){
  .journey-grid{grid-template-columns:1fr;gap:14px;}
  .hero{padding:32px 20px 40px;}
  .hero h1{font-size:34px;}
  .hero p{font-size:15px;}
  .hero-cta{flex-direction:column;gap:10px;}
  .hero-cta .btn{text-align:center;padding:15px;font-size:16px;}
  .hero-social{justify-content:center;margin-top:4px;}
  .stats{gap:8px;}
  .stat{padding:13px 10px;}
  .stat .num{font-size:23px;}
  .stat .lbl{font-size:9.5px;}
  .creds,.process,.offer,.stories,.team,.cta,.about-hero,.story-body,.gallery,.qual,.seminars{padding-left:20px;padding-right:20px;}
  .creds{padding-top:44px;padding-bottom:44px;}
  .creds h2{font-size:26px;}
  .creds-card{padding:0;background:none;border:none;}
  .creds-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}
  .seal{flex:0 0 calc(50% - 6px);background:linear-gradient(180deg,#fbf6ec,#f6efe0);border:1px solid #ecdfc2;border-radius:14px;padding:22px 14px;box-sizing:border-box;}
  .process{padding-top:44px;padding-bottom:44px;}
  .process h2,.offer h2,.stories h2,.team h2{font-size:25px;}
  .process-card{padding:22px;}
  .step{display:flex;flex-direction:column;gap:12px;}
  .step .no{font-size:40px;}
  .step .order-photo{order:-1;}
  .offer{padding-top:44px;padding-bottom:44px;}
  .offer-grid{grid-template-columns:1fr;gap:12px;}
  .offer-card{padding:22px;}
  .stories{padding-top:44px;padding-bottom:44px;}
  .stories-grid{grid-template-columns:1fr;gap:14px;}
  .story{padding:22px;}
  .story p{font-size:15px;}
  .team{padding-top:36px;padding-bottom:36px;}
  .team-card{grid-template-columns:1fr;gap:16px;padding:22px;}
  .team-photo{aspect-ratio:4/3;}
  .cta{padding:44px 20px;}
  .cta h2{font-size:27px;}
  .cta .btn-white{display:block;padding:15px;}
  footer{padding:36px 20px 30px;}
  .foot-grid{grid-template-columns:1fr;gap:26px;}
  .foot-grid img{height:64px;}
  /* about */
  .about-hero{padding:36px 20px 56px;}
  .about-hero-grid{grid-template-columns:1fr;gap:48px;}
  .about-portrait{max-width:360px;}
  .about-hero h1{font-size:34px;}
  .about-hero .intro{max-width:none;}
  .story-body{padding-top:48px;padding-bottom:48px;}
  .story-body h2{font-size:23px;}
  .story-body h2:not(:first-child){margin-top:36px;}
  .gallery{padding-bottom:48px;}
  .gallery h2{font-size:25px;}
  .gallery-grid{grid-template-columns:1fr;gap:14px;max-width:360px;}
  .qual{padding-top:48px;padding-bottom:48px;}
  .qual h2{font-size:25px;}
  .qual-grid{grid-template-columns:1fr;gap:12px;}
  .seminars{padding-top:48px;padding-bottom:48px;}
  .seminars h2{font-size:25px;}
  .seminar-photo{aspect-ratio:4/3;}
  .seminar-list{grid-template-columns:1fr;gap:0;}
  /* services */
  .svc-hero,.why,.journey,.program,.packages{padding-left:20px;padding-right:20px;}
  .svc-hero{padding-top:56px;padding-bottom:56px;}
  .svc-hero h1{font-size:30px;}
  .why{padding-top:48px;padding-bottom:48px;}
  .why h2{font-size:25px;}
  .journey{padding-top:48px;padding-bottom:48px;}
  .journey h2,.packages h2{font-size:25px;}
  .program{padding-bottom:48px;}
  .program-body{padding:24px;}
  .program-body h3{font-size:22px;}
  .packages{padding-top:48px;padding-bottom:48px;}
  .consult{flex-direction:column;align-items:flex-start;gap:18px;padding:22px;}
  .consult-right{width:100%;justify-content:space-between;}
  .consult-price .amt,.consult-price .cap{text-align:left;}
  .pkg-grid{grid-template-columns:1fr;gap:14px;}
  .pkg-foot{flex-wrap:wrap;}
  .waitlist{flex-direction:column;align-items:flex-start;gap:16px;padding:22px;}
  /* contact modal */
  .modal-head{padding:20px 22px;}
  .modal-head h3{font-size:22px;}
  .modal-body{padding:22px 22px 26px;}
  /* resources */
  .res-hero,.res-soon,.faq{padding-left:20px;padding-right:20px;}
  .res-hero{padding-top:48px;padding-bottom:48px;}
  .res-hero h1{font-size:30px;}
  .res-soon{padding-top:48px;padding-bottom:48px;}
  .soon-card{padding:30px 24px;}
  .soon-card h3{font-size:23px;}
  .faq{padding-top:48px;padding-bottom:48px;}
  .faq h2{font-size:27px;}
}

.stat .num,.about-badge .num,.step .no,.journey-card .num,.program-price .amt,.consult-price .amt,.seal .ring{font-weight:600;}

/* ===================== INTERACTIVE STATES ===================== */
.btn,.btn-white,.btn-outline,.link-purple,.nav-links a,.mobile-menu a{transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease;}

/* Primary purple button */
.btn-purple:hover{background:#5d52b8;box-shadow:0 6px 18px rgba(110,99,200,.45);transform:translateY(-1px);}
.btn-purple:active{background:#534aa6;box-shadow:0 2px 8px rgba(110,99,200,.4);transform:translateY(0);}

/* Ghost button (on dark) */
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.55);color:#fff;transform:translateY(-1px);}
.btn-ghost:active{background:rgba(255,255,255,.05);transform:translateY(0);}

/* White button (on dark / CTA) */
.btn-white:hover{background:#f1eefb;box-shadow:0 6px 18px rgba(0,0,0,.18);transform:translateY(-1px);}
.btn-white:active{background:#e6e1f6;box-shadow:0 2px 8px rgba(0,0,0,.16);transform:translateY(0);}

/* Outline button (packages) */
.btn-outline:hover{background:#6e63c8;color:#fff;transform:translateY(-1px);}
.btn-outline:active{background:#5d52b8;transform:translateY(0);}

/* Text links */
.nav-links a:not(.btn-purple):hover{color:#fff;background:rgba(0,0,0,.25);}
.mobile-menu a:not(.btn-purple):hover{color:#fff;background:rgba(0,0,0,.25);border-radius:6px;}
.link-purple:hover{color:#5d52b8;text-decoration:underline;}
.link-purple:active{color:#534aa6;}
footer a:hover{color:#fff;}
