/**
 * The Hill Racquets Club — homepage styles.
 * Reconstructed 1:1 from the approved DC prototype (index.html) as a
 * class-based stylesheet. Values, spacing, colours, gradients, breakpoints
 * and animations mirror the source. Breakpoints: 1060px (isMobile), 640px (isPhone).
 */

@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-500.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-600.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/inter-700.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/inter-800.woff2') format('woff2');}

:root{
  --hill-purple:#511A5F;
  --hill-purple-d:#40144C;
  --hill-purple-dd:#200A26;
  --hill-ink:#040105;
  --hill-yellow:#F4BC08;
  --hill-grey:#4F4D50;
  --hill-off:#FAFAFA;
  --hill-stack:#EDE8EF;
  --hill-cta:rgb(52,27,60);
}

/* ---------- base ---------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body.hill{margin:0;font-family:'Inter',sans-serif;background:#fff;color:var(--hill-ink);-webkit-font-smoothing:antialiased;}
/* Links inherit their container colour by default so component button/link
   classes (single-class selectors) are not overridden by a global `a` rule.
   Editorial content links get the brand colour explicitly (see .hill-page__content). */
:where(body.hill) a{color:inherit;text-decoration:none;}
.hill-site{width:100%;overflow-x:hidden;background:#fff;}
img{max-width:100%;}

/* ---------- keyframes ---------- */
@keyframes hillPan{0%{transform:scale(1.08) translate(0,0);}50%{transform:scale(1.16) translate(-2%,-1.5%);}100%{transform:scale(1.08) translate(0,0);}}
@keyframes sweep{0%{transform:translateX(-120%) skewX(-18deg);}100%{transform:translateX(320%) skewX(-18deg);}}
@keyframes rise{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes wordUp{from{opacity:0;transform:translateY(110%);}to{opacity:1;transform:translateY(0);}}
@keyframes ctHeadA{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes ctHeadB{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes ctWordA{from{filter:blur(10px);opacity:0;transform:translateY(5px);}to{filter:blur(0);opacity:1;transform:translateY(0);}}
@keyframes ctWordB{from{filter:blur(10px);opacity:0;transform:translateY(5px);}to{filter:blur(0);opacity:1;transform:translateY(0);}}
@keyframes pulseDot{0%,100%{opacity:1;}50%{opacity:.25;}}
@keyframes drift{0%{background-position:0 0;}100%{background-position:0 -1200px;}}

/* scroll reveal (JS opt-in; never hides without JS) */
.hill-reveal.is-armed{opacity:0;}
.hill-reveal.is-in{animation:rise .8s cubic-bezier(.16,.84,.44,1) both;}

/* ============================================================= NAV */
.hill-header{position:fixed;top:0;left:0;right:0;z-index:50;height:88px;background:transparent;border-bottom:1px solid transparent;transition:background .3s ease,border-color .3s ease;}
.hill-header.is-scrolled{background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid rgba(4,1,5,.08);}
.hill-header__inner{width:100%;padding:0 6%;height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.hill-logo{position:relative;display:flex;align-items:center;flex:none;text-decoration:none;height:80px;padding-top:10px;}
.hill-logo__light,.hill-logo__color{height:80px;width:auto;display:block;transition:opacity .3s ease;}
.hill-logo__color{position:absolute;left:0;top:50%;transform:translateY(-50%);opacity:0;}
.hill-header.is-scrolled .hill-logo__light{opacity:0;}
.hill-header.is-scrolled .hill-logo__color{opacity:1;}
.hill-nav{display:flex;align-items:center;gap:34px;}
.hill-nav__links{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0;}
.hill-nav__links li{list-style:none;margin:0;padding:0;}
.hill-nav__links a{font-size:15px;font-weight:500;white-space:nowrap;color:#fff;transition:color .3s ease;display:inline-flex;align-items:center;gap:5px;}
.hill-header.is-scrolled .hill-nav__links a{color:var(--hill-ink);}
.hill-nav__cta{display:flex;align-items:center;gap:10px;}
.hill-btn-book{font-size:14px;font-weight:600;color:#fff;padding:11px 20px;border:1px solid rgba(255,255,255,.5);background:transparent;transition:color .3s ease,border-color .3s ease,background .3s ease;}
.hill-header.is-scrolled .hill-btn-book{color:var(--hill-ink);border-color:rgba(4,1,5,.22);background:#fff;}
.hill-btn-join{font-size:14px;font-weight:600;color:var(--hill-purple-dd);padding:11px 22px;background:var(--hill-yellow);}
.hill-burger{display:none;align-items:center;justify-content:center;width:46px;height:46px;background:none;border:1px solid rgba(255,255,255,.45);color:#fff;cursor:pointer;padding:0;transition:color .3s ease,border-color .3s ease;}
.hill-header.is-scrolled .hill-burger{border-color:rgba(4,1,5,.25);color:var(--hill-ink);}

/* ---------- mobile drawer ---------- */
.hill-menu-backdrop{position:fixed;inset:0;z-index:80;background:rgba(4,1,5,.55);opacity:0;pointer-events:none;transition:opacity .3s ease;}
.hill-menu-backdrop.is-open{opacity:1;pointer-events:auto;}
.hill-drawer{position:fixed;top:0;right:0;bottom:0;z-index:85;width:min(340px,86vw);background:var(--hill-purple-dd);transform:translateX(103%);transition:transform .4s cubic-bezier(.16,.84,.44,1);display:flex;flex-direction:column;padding:24px 26px 34px;box-shadow:-30px 0 70px rgba(4,1,5,.45);}
.hill-drawer.is-open{transform:translateX(0);}
.hill-drawer__top{display:flex;align-items:center;justify-content:space-between;}
.hill-drawer__top img{height:46px;width:auto;display:block;}
.hill-drawer__close{width:46px;height:46px;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;}
.hill-drawer__nav{display:flex;flex-direction:column;margin-top:34px;}
.hill-drawer__list,.hill-drawer__nav .hill-nav__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.hill-drawer__list li{list-style:none;margin:0;padding:0;}
.hill-drawer__nav a{font-size:21px;font-weight:600;color:#fff;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12);display:block;}
.hill-drawer__cta{display:flex;flex-direction:column;gap:12px;margin-top:auto;}
.hill-drawer__cta a{text-align:center;padding:15px 0;font-size:15px;}
.hill-drawer__cta .book{font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.45);}
.hill-drawer__cta .join{font-weight:700;color:var(--hill-purple-dd);background:var(--hill-yellow);}

/* ============================================================= HERO */
.hill-hero{position:relative;min-height:100svh;display:flex;align-items:stretch;overflow:hidden;background:var(--hill-purple-dd);}
.hill-hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
.hill-hero__bg iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);border:0;pointer-events:none;}
.hill-hero__overlay{position:absolute;inset:0;background:linear-gradient(120deg,#200A26 0%,rgba(81,26,95,.72) 46%,rgba(32,10,38,.45) 100%);}
.hill-hero__inner{position:relative;z-index:2;width:100%;padding:230px 6% 72px;display:flex;flex-direction:column;justify-content:center;}
.hill-eyebrow-badge{display:inline-flex;align-items:center;gap:9px;padding:7px 13px;border:1px solid rgba(255,255,255,.28);align-self:flex-start;margin-bottom:30px;}
.hill-eyebrow-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--hill-yellow);animation:pulseDot 1.8s infinite;}
.hill-eyebrow-badge span.label{font-size:11px;font-weight:600;letter-spacing:.22em;color:#fff;}
.hill-hero__title{margin:0;max-width:14ch;font-size:clamp(44px,6.4vw,88px);line-height:1.02;font-weight:800;letter-spacing:-.02em;color:#fff;}
.hill-hero__title .w{display:inline-block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em;}
.hill-hero__title .w > span{display:inline-block;animation:wordUp .9s cubic-bezier(.16,.84,.44,1) both;}
.hill-hero__title .accent{color:var(--hill-yellow);}
.hill-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px;}
.hill-btn-primary{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:700;color:var(--hill-purple-dd);background:var(--hill-yellow);padding:15px 26px;}
.hill-btn-ghost-light{display:inline-flex;align-items:center;font-size:15px;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.5);padding:15px 26px;}
.hill-hero__foot{margin-top:auto;padding-top:64px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;}
.hill-film-btn{display:inline-flex;align-items:center;gap:14px;background:none;border:none;padding:0;color:#fff;cursor:pointer;}
.hill-film-btn .circle{width:56px;height:56px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;}
.hill-film-btn .txt{text-align:left;line-height:1.3;}
.hill-film-btn .t1{display:block;font-size:14px;font-weight:600;}
.hill-film-btn .t2{display:block;font-size:12px;color:rgba(255,255,255,.6);}
.hill-hero__lead{margin:0;max-width:42ch;font-size:17px;line-height:1.55;color:rgba(255,255,255,.82);}

/* film modal */
.hill-film-modal{position:fixed;inset:0;z-index:200;background:rgba(4,1,5,.92);display:none;align-items:center;justify-content:center;}
.hill-film-modal.is-open{display:flex;}
.hill-film-modal__close{position:fixed;top:24px;right:28px;z-index:210;width:52px;height:52px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.4);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;}
.hill-film-modal__frame{position:relative;width:100vw;height:100vh;}
.hill-film-modal__frame iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100vh;min-width:177.78vh;transform:translate(-50%,-50%);border:0;}

/* ============================================================= WELCOME / TABS */
.hill-welcome{width:100%;padding:120px 6% 40px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;}
.hill-eyebrow{margin:0 0 18px;font-size:13px;font-weight:700;letter-spacing:.16em;color:var(--hill-purple);}
.hill-welcome__h2{margin:0;font-size:clamp(40px,5vw,72px);line-height:1;font-weight:800;letter-spacing:-.02em;}
.hill-welcome__lead{margin:0 0 26px;font-size:19px;line-height:1.5;color:var(--hill-grey);max-width:40ch;}
.hill-tabs{display:inline-flex;border:1px solid rgba(4,1,5,.14);padding:5px;background:var(--hill-off);}
.hill-tab{font-size:14px;font-weight:600;padding:11px 26px;border:none;cursor:pointer;background:transparent;color:var(--hill-grey);transition:all .2s ease;}
.hill-tab.is-active{background:var(--hill-purple);color:#fff;}
.hill-tab-panels{margin-top:26px;min-height:88px;}
.hill-tab-panel{margin:0;font-size:16px;line-height:1.6;color:var(--hill-grey);max-width:46ch;display:none;}
.hill-tab-panel.is-active{display:block;}

/* ============================================================= FEATURES */
.hill-features{width:100%;padding:80px 6% 40px;}
.hill-features__head{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:end;margin-bottom:56px;}
.hill-features__head h2{margin:0;font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.02em;max-width:16ch;}
.hill-features__head p{margin:0;font-size:17px;line-height:1.6;color:var(--hill-grey);max-width:42ch;}
.hill-features__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.hill-feature{display:flex;flex-direction:column;}
.hill-feature__media{position:relative;aspect-ratio:4/5;overflow:hidden;}
.hill-feature__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center;display:block;}
.hill-feature__video{position:absolute;top:50%;left:50%;width:223%;height:101%;transform:translate(-50%,-50%);border:0;pointer-events:none;opacity:0;transition:opacity .45s ease;}
.hill-feature:hover .hill-feature__video{opacity:1;}
.hill-feature__grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,1,5,.28) 0%,rgba(4,1,5,0) 30%,rgba(4,1,5,.35) 100%);}
.hill-feature__num{position:absolute;top:16px;left:16px;font-size:12px;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.95);}
.hill-feature h3{margin:22px 0 10px;font-size:20px;font-weight:700;}
.hill-feature p{margin:0;font-size:15px;line-height:1.55;color:var(--hill-grey);}
.hill-features__actions{display:flex;gap:12px;margin-top:48px;}
.hill-btn-outline{font-size:14px;font-weight:600;padding:12px 24px;border:1px solid rgba(4,1,5,.22);color:var(--hill-ink);}
.hill-btn-solid{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;padding:12px 24px;background:var(--hill-purple);color:#fff;}

/* ============================================================= TESTIMONIALS */
.hill-testimonials{width:100%;padding:110px 6% 90px;background:var(--hill-off);}
.hill-testimonials__grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:90px;width:100%;align-items:start;}
.hill-testimonials__grid > div:first-child h2{margin:0 0 16px;font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.02em;}
.hill-testimonials__grid > div:first-child p{margin:0;font-size:17px;color:var(--hill-grey);}
.hill-ct-stage{position:relative;width:100%;height:384px;perspective:1000px;margin-bottom:56px;}
.hill-ct-card{position:absolute;inset:0;overflow:hidden;background:var(--hill-stack);box-shadow:0 10px 30px rgba(4,1,5,.2);transition:all .8s cubic-bezier(.4,2,.3,1);opacity:0;z-index:1;pointer-events:none;}
.hill-ct-card img{width:100%;height:100%;object-fit:cover;display:block;}
.hill-ct-card.is-active{transform:translateX(0) translateY(0) scale(1) rotateY(0deg);z-index:3;opacity:1;pointer-events:auto;}
.hill-ct-card.is-left{transform:translateX(var(--gap,-72px)) translateY(var(--stick,-58px)) scale(.85) rotateY(15deg);z-index:2;opacity:1;pointer-events:auto;}
.hill-ct-card.is-right{transform:translateX(var(--gap,72px)) translateY(var(--stick,-58px)) scale(.85) rotateY(-15deg);z-index:2;opacity:1;pointer-events:auto;}
.hill-ct-body{display:flex;flex-direction:column;justify-content:space-between;}
.hill-ct-head h3{margin:0 0 4px;font-size:24px;font-weight:800;letter-spacing:-.01em;}
.hill-ct-head .role{margin:0 0 30px;font-size:15px;font-weight:600;color:var(--hill-purple);}
.hill-ct-head .quote{margin:0;font-size:19px;line-height:1.7;color:var(--hill-grey);max-width:46ch;}
.hill-ct-head .quote span{display:inline-block;margin-right:.28em;}
.hill-ct-nav{display:flex;gap:14px;padding-top:40px;}
.hill-ct-nav button{width:52px;height:52px;border:none;background:var(--hill-purple);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s ease,color .3s ease;}
.hill-ct-nav button:hover{background:var(--hill-yellow);color:var(--hill-purple-dd);}

/* ============================================================= CTA */
.hill-cta{background:var(--hill-cta);color:#fff;}
.hill-cta__top{position:relative;width:100%;overflow:hidden;}
.hill-cta__ball{position:absolute;inset:0;background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.5;pointer-events:none;}
.hill-cta__inner{position:relative;width:100%;max-width:900px;margin:0 auto;padding:110px 6% 96px;text-align:center;}
.hill-cta__inner h2{margin:0 0 20px;font-size:clamp(36px,4.6vw,60px);line-height:1.05;font-weight:800;letter-spacing:-.02em;}
.hill-cta__inner p{margin:0 auto 40px;font-size:18px;line-height:1.6;color:rgba(255,255,255,.72);max-width:none;}
.hill-cta__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;}
.hill-btn-cta-solid{font-size:15px;font-weight:700;color:#fff;background:var(--hill-purple);padding:15px 30px;}
.hill-btn-cta-ghost{font-size:15px;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.4);padding:15px 30px;}
.hill-cta__video{position:relative;height:clamp(340px,44vw,560px);overflow:hidden;background:var(--hill-purple-dd);}
.hill-cta__video iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);border:0;pointer-events:none;}
.hill-cta__video-grad{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,1,5,.55),rgba(32,10,38,.2));}
.hill-cta__video-badge{position:absolute;left:5%;bottom:36px;display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border:1px solid rgba(255,255,255,.28);}
.hill-cta__video-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--hill-yellow);animation:pulseDot 1.8s infinite;}
.hill-cta__video-badge span.label{font-size:11px;font-weight:600;letter-spacing:.2em;color:#fff;}

/* ============================================================= FAQ */
.hill-faq{width:100%;padding:120px 6%;display:grid;grid-template-columns:0.9fr 1.3fr;gap:80px;}
.hill-faq__intro h2{margin:0 0 22px;font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.02em;}
.hill-faq__intro p{margin:0 0 30px;font-size:17px;line-height:1.6;color:var(--hill-grey);max-width:34ch;}
.hill-faq__intro a{display:inline-block;font-size:14px;font-weight:600;padding:13px 26px;border:1px solid rgba(4,1,5,.22);color:var(--hill-ink);}
.hill-faq__item{border-bottom:1px solid rgba(4,1,5,.12);}
.hill-faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:none;border:none;padding:26px 0;cursor:pointer;text-align:left;}
.hill-faq__q span:first-child{font-size:19px;font-weight:600;color:var(--hill-ink);}
.hill-faq__icon{display:inline-flex;flex:none;color:var(--hill-ink);transform:rotate(0deg);transition:transform .25s ease;}
.hill-faq__item.is-open .hill-faq__icon{color:var(--hill-purple);transform:rotate(45deg);}
.hill-faq__a{margin:0;padding:0 0 26px;font-size:16px;line-height:1.65;color:var(--hill-grey);max-width:56ch;display:none;}
.hill-faq__item.is-open .hill-faq__a{display:block;}

/* ============================================================= FOOTER */
.hill-footer{background:var(--hill-ink);color:#fff;}
.hill-footer__grid{width:100%;padding:88px 6% 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;}
.hill-footer__brand img{height:62px;width:auto;display:block;margin-bottom:24px;}
.hill-footer__brand p{margin:0 0 18px;font-size:15px;line-height:1.6;color:rgba(255,255,255,.68);max-width:34ch;}
.hill-subscribe-wrap .wpcf7-form{margin:0;}
.hill-subscribe{display:flex;flex-wrap:wrap;gap:10px;max-width:420px;}
.hill-subscribe .wpcf7-form-control-wrap{flex:1 1 calc(50% - 5px);min-width:0;}
.hill-subscribe input[type=text],.hill-subscribe input[type=email]{width:100%;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;padding:13px 15px;font-size:14px;font-family:inherit;outline:none;}
.hill-subscribe input[type=text]::placeholder,.hill-subscribe input[type=email]::placeholder{color:rgba(255,255,255,.5);}
.hill-subscribe input:focus{border-color:var(--hill-yellow);}
.hill-subscribe input[type=submit]{flex:1 1 100%;background:var(--hill-purple);color:#fff;border:none;padding:13px 22px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease;}
.hill-subscribe input[type=submit]:hover{background:var(--hill-purple-d);}
.hill-subscribe .wpcf7-spinner{margin:8px 0 0;}
.hill-subscribe-wrap .wpcf7-response-output{margin:12px 0 0!important;padding:8px 12px!important;font-size:13px;color:#fff;border-color:rgba(255,255,255,.3)!important;border-radius:6px;max-width:420px;}
/* success → swap the form for a friendly confirmation */
.hill-subscribe__thanks{display:none;align-items:center;gap:12px;max-width:420px;padding:14px 16px;background:rgba(244,188,8,.1);border:1px solid rgba(244,188,8,.4);border-radius:10px;}
.hill-subscribe__thanks strong{display:block;font-size:15px;color:#fff;font-weight:700;}
.hill-subscribe__thanks span{display:block;font-size:13px;color:rgba(255,255,255,.72);margin-top:2px;}
.hill-subscribe-wrap.is-done .wpcf7{display:none;}
.hill-subscribe-wrap.is-done .hill-subscribe__thanks{display:flex;}
.hill-footer__col p.h{margin:0 0 18px;font-size:14px;font-weight:700;letter-spacing:.04em;}
.hill-footer__links{display:flex;flex-direction:column;gap:13px;list-style:none;margin:0;padding:0;}
.hill-footer__links li{list-style:none;margin:0;padding:0;}
.hill-footer__links a{font-size:15px;color:rgba(255,255,255,.72);display:flex;align-items:center;gap:10px;}
.hill-footer__links a:hover{color:#fff;}
.hill-footer__bottom{width:100%;padding:22px 6% 40px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.hill-footer__bottom .copy{font-size:13px;color:rgba(255,255,255,.5);}
.hill-footer__bottom .legal{display:flex;gap:26px;}
.hill-footer__bottom .legal a{font-size:13px;color:rgba(255,255,255,.6);}

/* ============================================================= INNER PAGES (fallback) */
.hill-page{padding:160px 6% 90px;}
.hill-page__inner{max-width:820px;margin:0 auto;}
.hill-page__title{font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.02em;margin:0 0 24px;}
.hill-page__content{font-size:17px;line-height:1.7;color:var(--hill-grey);}
.hill-page__content a{color:var(--hill-purple);text-decoration:underline;}

/* ============================================================= RESPONSIVE — isMobile < 1060 */
@media (max-width:1099px){
  .hill-features__grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:1059px){
  .hill-nav__links,.hill-nav__cta{display:none;}
  .hill-burger{display:inline-flex;}
  .hill-logo,.hill-logo__light,.hill-logo__color{height:56px;}
  .hill-hero__inner{padding:140px 6% 44px;}
  .hill-welcome{padding:88px 6% 24px;grid-template-columns:1fr;gap:36px;}
  .hill-features__head{grid-template-columns:1fr;gap:16px;margin-bottom:36px;}
  .hill-testimonials__grid{grid-template-columns:1fr;gap:52px;}
  .hill-faq{padding:88px 6%;grid-template-columns:1fr;gap:40px;}
  .hill-footer__grid{padding:64px 6% 32px;grid-template-columns:repeat(2,1fr);}
}

/* isPhone < 640 */
@media (max-width:639px){
  .hill-features__grid{grid-template-columns:1fr;}
  .hill-ct-stage{height:300px;}
  .hill-footer__grid{grid-template-columns:1fr;}
}
/* ============================================================= HEADER — solid variant (inner pages) */
.hill-header.is-solid{background:rgba(32,10,38,.97);border-bottom:1px solid rgba(255,255,255,.08);}
.hill-header.is-solid .hill-logo,
.hill-header.is-solid .hill-logo__light{height:70px;}
.hill-header.is-solid .hill-logo__color{display:none;}
.hill-header.is-solid .hill-logo__light{opacity:1;}
.hill-header.is-solid .hill-nav__links a{color:#fff;}
.hill-header.is-solid .hill-btn-book{color:#fff;border-color:rgba(255,255,255,.5);background:transparent;}
.hill-header.is-solid .hill-burger{border-color:rgba(255,255,255,.45);color:#fff;}

/* ---------- desktop dropdown (Coaching) ---------- */
.hill-nav__links li{position:relative;}
.hill-nav__links .sub-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);padding:14px 0 0;margin:0;list-style:none;z-index:60;filter:drop-shadow(0 24px 60px rgba(4,1,5,.18));}
.hill-nav__links li:hover > .sub-menu{display:block;}
.hill-nav__links .sub-menu li{list-style:none;min-width:220px;background:#fff;border-left:1px solid rgba(4,1,5,.1);border-right:1px solid rgba(4,1,5,.1);}
.hill-nav__links .sub-menu li:first-child{border-top:1px solid rgba(4,1,5,.1);padding-top:8px;}
.hill-nav__links .sub-menu li:last-child{border-bottom:1px solid rgba(4,1,5,.1);padding-bottom:8px;}
.hill-nav__links .sub-menu a{display:block;padding:12px 18px;font-size:14px;font-weight:500;color:var(--hill-ink)!important;white-space:nowrap;}
.hill-nav__links .sub-menu a:hover{background:var(--hill-off);}
.hill-nav__links .sub-menu li.hill-menu-overview{border-bottom:1px solid rgba(4,1,5,.08);margin-bottom:4px;}
.hill-nav__links .sub-menu li.hill-menu-overview a{font-weight:600;}
.hill-nav__links > li.hill-drawer-only{display:none;}

/* ---------- drawer sub-items ---------- */
.hill-drawer__nav .sub-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.hill-drawer__nav .sub-menu a{font-size:15px;font-weight:500;color:rgba(255,255,255,.78);padding:10px 0 10px 16px;border-bottom:1px solid rgba(255,255,255,.08);}
.hill-drawer__nav .sub-menu li.hill-menu-overview{display:none;}

/* ============================================================= PAGE HEADER */
.hill-page-header{position:relative;overflow:hidden;background:linear-gradient(120deg,#200A26 0%,#40144C 55%,#511A5F 100%);color:#fff;}
.hill-page-header.is-dark{background:linear-gradient(120deg,#040105 0%,#200A26 55%,#40144C 100%);}
.hill-page-header.has-video{background:#200A26;}
.hill-page-header__bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
.hill-page-header__bg iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);border:0;pointer-events:none;}
.hill-page-header__bg .grad{position:absolute;inset:0;background:linear-gradient(120deg,#200A26 0%,rgba(81,26,95,.72) 46%,rgba(32,10,38,.45) 100%);}
.hill-page-header__ball{position:absolute;inset:0;background-repeat:no-repeat;background-position:center 30%;background-size:60%;opacity:.14;pointer-events:none;}
.hill-page-header__inner{position:relative;z-index:2;width:100%;max-width:860px;margin:0 auto;padding:clamp(150px,17vw,200px) 6% clamp(80px,10vw,110px);text-align:center;}
.hill-page-header__inner h1{margin:0 auto;max-width:16ch;font-size:clamp(40px,5.6vw,76px);line-height:1.04;font-weight:800;letter-spacing:-.02em;}
.hill-page-header__inner h1 .w{display:inline-block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em;}
.hill-page-header__inner h1 .w > span{display:inline-block;animation:wordUp .9s cubic-bezier(.16,.84,.44,1) both;}
.hill-page-header__inner h1 .accent{color:var(--hill-yellow);}
.hill-page-header__lead{margin:24px auto 0;max-width:46ch;font-size:18px;line-height:1.6;color:rgba(255,255,255,.82);}
.hill-page-header__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:36px;}
.hill-page-header.is-legal .hill-page-header__inner{max-width:820px;text-align:left;padding:clamp(140px,15vw,180px) 6% clamp(56px,7vw,72px);}
.hill-page-header.is-legal .hill-page-header__eyebrow{margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.2em;color:var(--hill-yellow);}
.hill-page-header.is-legal h1{margin:0 0 14px;max-width:none;font-size:clamp(36px,4.6vw,58px);line-height:1.05;}
.hill-page-header.is-legal .hill-page-header__meta{margin:0;font-size:16px;color:rgba(255,255,255,.75);}

/* ============================================================= NUMBERED COLUMNS */
.hill-numcols{width:100%;padding:120px 6%;}
.hill-numcols__head{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:end;margin-bottom:64px;}
.hill-numcols__head h2{margin:0;font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.02em;max-width:16ch;}
.hill-numcols__head > p{margin:0;font-size:17px;line-height:1.6;color:var(--hill-grey);max-width:42ch;}
.hill-numcols__grid{display:grid;gap:32px;max-width:1280px;margin:0 auto;}
.hill-numcols__grid.cols-3{grid-template-columns:repeat(3,1fr);max-width:1180px;}
.hill-numcols__grid.cols-4{grid-template-columns:repeat(4,1fr);}
.hill-numcols__item{border-top:2px solid var(--hill-purple);padding-top:22px;}
.hill-numcols__item .num{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;color:#818082;margin-bottom:14px;}
.hill-numcols__item h3{margin:0 0 10px;font-size:20px;font-weight:700;}
.hill-numcols__item p{margin:0;font-size:15px;line-height:1.55;color:var(--hill-grey);}
.hill-numcols__item .link{display:inline-block;margin-top:14px;font-size:15px;font-weight:600;color:var(--hill-purple);text-decoration:underline;text-underline-offset:3px;}
.hill-numcols__item.no-num h3{font-size:19px;margin-bottom:8px;}

/* ============================================================= STEPS / SESSION CARDS */
.hill-steps{width:100%;}
.hill-steps.bg-grey{background:var(--hill-off);}
.hill-steps__inner{width:100%;padding:120px 6%;}
.hill-steps__head{max-width:560px;margin:0 auto 64px;text-align:center;}
.hill-steps__head h2{margin:0 0 18px;font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.02em;}
.hill-steps__head p{margin:0;font-size:17px;line-height:1.6;color:var(--hill-grey);}
.hill-steps__grid{display:grid;gap:22px;margin:0 auto;}
.hill-steps__grid.cols-3{grid-template-columns:repeat(3,1fr);max-width:1180px;}
.hill-steps__grid.cols-4{grid-template-columns:repeat(4,1fr);max-width:1280px;}
.hill-steps.style-columns-numbered .hill-steps__grid{gap:32px;max-width:1180px;}
.hill-step{background:#fff;border:1px solid rgba(4,1,5,.12);padding:34px 30px;}
.hill-step .num-sm{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;color:#818082;margin-bottom:16px;}
.hill-step .num-lg{display:block;font-size:44px;font-weight:800;letter-spacing:-.02em;color:var(--hill-purple);line-height:1;margin-bottom:16px;}
.hill-step h3{margin:0 0 10px;font-size:21px;font-weight:700;}
.hill-steps.style-cards-numbered .hill-step{padding:30px 26px;}
.hill-steps.style-cards-numbered .hill-step h3{font-size:19px;margin-bottom:8px;}
.hill-step p{margin:0 0 20px;font-size:15px;line-height:1.6;color:var(--hill-grey);}
.hill-steps.style-cards-numbered .hill-step p{margin-bottom:0;font-size:14.5px;}
.hill-step .meta{font-size:14px;font-weight:700;color:var(--hill-purple);}
.hill-steps.style-columns-numbered .hill-step{background:none;border:none;border-top:2px solid var(--hill-purple);padding:24px 0 0;}
.hill-steps.style-columns-numbered .hill-step .num-lg{font-size:52px;margin-bottom:18px;}
.hill-steps.style-columns-numbered .hill-step p{margin-bottom:0;}

/* ============================================================= PRICING */
.hill-pricing{background:var(--hill-off);}
.hill-pricing__inner{width:100%;padding:120px 6%;}
.hill-pricing__head{max-width:560px;margin:0 auto 64px;text-align:center;}
.hill-pricing__head h2{margin:0 0 18px;font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.02em;}
.hill-pricing__head p{margin:0;font-size:17px;line-height:1.6;color:var(--hill-grey);}
.hill-pricing__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1180px;margin:0 auto;align-items:start;}
.hill-plan{position:relative;padding:40px 34px;display:flex;flex-direction:column;background:#fff;color:var(--hill-ink);border:1px solid rgba(4,1,5,.12);--muted:#818082;--line:rgba(4,1,5,.12);}
.hill-plan.is-popular{background:var(--hill-purple);color:#fff;border-color:var(--hill-purple);box-shadow:0 30px 70px rgba(81,26,95,.35);--muted:rgba(255,255,255,.65);--line:rgba(255,255,255,.18);}
.hill-plan__badge{position:absolute;top:0;right:0;background:var(--hill-yellow);color:var(--hill-purple-dd);font-size:11px;font-weight:700;letter-spacing:.14em;padding:7px 14px;}
.hill-plan h3{margin:0 0 4px;font-size:21px;font-weight:700;}
.hill-plan .tag{margin:0;font-size:15px;color:var(--muted);}
.hill-plan .rule{height:1px;background:var(--line);margin:26px 0;}
.hill-plan__price{display:flex;align-items:baseline;gap:8px;}
.hill-plan__price .amount{font-size:52px;font-weight:800;letter-spacing:-.02em;line-height:1;}
.hill-plan__price .suffix{font-size:16px;font-weight:600;color:var(--muted);}
.hill-plan .yearly{margin:8px 0 0;font-size:14px;color:var(--muted);}
.hill-plan__btn{display:block;text-align:center;margin-top:26px;padding:15px 0;font-size:15px;font-weight:700;background:var(--hill-purple);color:#fff;}
.hill-plan.is-popular .hill-plan__btn{background:var(--hill-yellow);color:var(--hill-purple-dd);}
.hill-plan__perks{display:flex;flex-direction:column;gap:14px;}
.hill-plan__perks .perk{display:flex;gap:12px;align-items:flex-start;}
.hill-plan__perks .perk svg{flex:none;margin-top:2px;}
.hill-plan__perks .perk span{font-size:15px;line-height:1.5;}
.hill-pricing__note{margin:36px auto 0;text-align:center;font-size:14px;color:#818082;}

/* ============================================================= PATHWAYS */
.hill-pathways{width:100%;padding:120px 6%;}
.hill-pathways__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1080px;margin:0 auto;}
.hill-pathway{display:flex;flex-direction:column;min-height:340px;padding:28px;background:#fff;border:1px solid rgba(4,1,5,.12);transition:transform .25s ease,box-shadow .25s ease;--num:#818082;--title:var(--hill-ink);--desc:var(--hill-grey);--link:var(--hill-purple);}
.hill-pathway:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(4,1,5,.12);}
.hill-pathway.is-dark{border:none;--num:rgba(255,255,255,.6);--title:#fff;--desc:rgba(255,255,255,.75);--link:var(--hill-yellow);}
.hill-pathway .num{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--num);}
.hill-pathway__body{display:block;margin-top:auto;}
.hill-pathway__body .title{display:block;font-size:26px;font-weight:800;letter-spacing:-.01em;color:var(--title);margin-bottom:10px;}
.hill-pathway__body .desc{display:block;font-size:15px;line-height:1.55;color:var(--desc);max-width:34ch;}
.hill-pathway__body .explore{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:14px;font-weight:700;color:var(--link);}

/* ============================================================= STATS (dark band) */
.hill-stats{background:#fff;color:var(--hill-ink);}
.hill-stats__inner{width:100%;padding:120px 6%;}
.hill-stats__head{max-width:560px;margin:0 auto 64px;text-align:center;}
.hill-stats__head .hill-eyebrow{color:var(--hill-purple);}
.hill-stats__head h2{margin:0 0 18px;font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.02em;}
.hill-stats__head p{margin:0;font-size:17px;line-height:1.6;color:var(--hill-grey);}
.hill-stats__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1080px;margin:0 auto;}
.hill-stat{border-top:2px solid var(--hill-yellow);padding-top:24px;}
.hill-stat .value{display:block;font-size:clamp(44px,4.6vw,64px);font-weight:800;letter-spacing:-.02em;line-height:1;margin-bottom:12px;color:var(--hill-purple);}
.hill-stat p{margin:0;font-size:16px;font-weight:600;line-height:1.5;color:var(--hill-grey);max-width:24ch;}

/* ============================================================= QUOTE (single testimonial) */
.hill-quote{width:100%;}
.hill-quote.bg-grey{background:var(--hill-off);}
.hill-quote__inner{width:100%;padding:120px 6%;}
.hill-quote__box{max-width:760px;margin:0 auto;text-align:center;}
.hill-stars{display:inline-flex;gap:3px;margin-bottom:26px;color:var(--hill-yellow);}
.hill-quote__text{margin:0 0 30px;font-size:clamp(22px,2.6vw,30px);line-height:1.4;font-weight:600;letter-spacing:-.01em;}
.hill-avatar{display:inline-flex;width:52px;height:52px;border-radius:50%;background:var(--hill-stack);color:var(--hill-purple);align-items:center;justify-content:center;font-weight:700;font-size:17px;margin-bottom:12px;}
.hill-quote__name{display:block;font-size:15px;font-weight:700;}
.hill-quote__role{display:block;font-size:14px;color:#818082;}

/* ============================================================= TESTIMONIALS GRID */
.hill-tgrid{background:var(--hill-off);}
.hill-tgrid__inner{width:100%;padding:120px 6%;}
.hill-tgrid__head{max-width:640px;margin:0 auto 64px;text-align:center;}
.hill-tgrid__head h2{margin:0 0 16px;font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.02em;}
.hill-tgrid__head p{margin:0;font-size:17px;color:var(--hill-grey);}
.hill-tgrid__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;max-width:1180px;margin:0 auto;align-items:start;}
.hill-tgrid__item{display:flex;flex-direction:column;align-items:center;text-align:center;}
.hill-tgrid__item .hill-stars{margin-bottom:20px;}
.hill-tgrid__item .quote{margin:0 0 26px;font-size:19px;line-height:1.5;font-weight:600;letter-spacing:-.01em;max-width:30ch;}
.hill-tgrid__item .name{font-size:15px;font-weight:700;}
.hill-tgrid__item .role{font-size:14px;color:#818082;}

/* ============================================================= TEAM */
.hill-team{width:100%;padding:120px 6%;}
.hill-team__head{max-width:640px;margin:0 auto 64px;text-align:center;}
.hill-team__head h2{margin:0 0 18px;font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.02em;}
.hill-team__head p{margin:0;font-size:17px;line-height:1.6;color:var(--hill-grey);}
.hill-team__grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:44px;row-gap:64px;max-width:1180px;margin:0 auto;}
.hill-coach{display:flex;flex-direction:column;text-align:center;}
.hill-coach__media{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--hill-stack);}
.hill-coach__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.hill-coach__video{position:absolute;top:50%;left:50%;width:207%;height:122%;transform:translate(-50%,-50%);border:0;pointer-events:none;opacity:0;transition:opacity .45s ease;}
.hill-coach:hover .hill-coach__video{opacity:1;}
.hill-coach h3{margin:22px 0 2px;font-size:20px;font-weight:700;}
.hill-coach .role{margin:0 0 12px;font-size:15px;font-weight:500;color:var(--hill-purple);}
.hill-coach .bio{margin:0;font-size:15px;line-height:1.55;color:var(--hill-grey);}
.hill-coach__socials{display:flex;justify-content:center;gap:14px;margin-top:18px;}
.hill-coach__socials a{color:var(--hill-ink);display:inline-flex;}
.hill-team__hiring{max-width:480px;margin:88px auto 0;text-align:center;}
.hill-team__hiring h3{margin:0 0 12px;font-size:26px;font-weight:800;letter-spacing:-.01em;}
.hill-team__hiring p{margin:0 0 24px;font-size:16px;line-height:1.6;color:var(--hill-grey);}

/* ============================================================= IMAGE-TEXT */
.hill-imgtext{width:100%;padding:120px 6%;}
.hill-imgtext__row{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1280px;margin:0 auto 110px;}
.hill-imgtext__row:last-child{margin-bottom:0;}
.hill-imgtext__row.is-flipped .hill-imgtext__media{order:2;}
.hill-imgtext__row.is-flipped .hill-imgtext__text{order:1;}
.hill-imgtext__media .frame{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--hill-stack);}
.hill-imgtext__media .frame > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.hill-imgtext__text h2{margin:0 0 18px;font-size:clamp(30px,3.4vw,44px);line-height:1.08;font-weight:800;letter-spacing:-.02em;max-width:16ch;}
.hill-imgtext__text .content{margin:0 0 26px;font-size:16px;line-height:1.65;color:var(--hill-grey);max-width:48ch;}
.hill-points{display:flex;flex-direction:column;gap:12px;}
.hill-points .point{display:flex;gap:12px;align-items:flex-start;}
.hill-points .point svg{flex:none;margin-top:2px;}
.hill-points .point span{font-size:15px;line-height:1.5;color:var(--hill-ink);}
.hill-imgtext__details{display:flex;flex-direction:column;gap:16px;margin-bottom:30px;}
.hill-imgtext__details .label{margin:0 0 3px;font-size:14px;font-weight:700;}
.hill-imgtext__details .value{margin:0;font-size:15px;color:var(--hill-grey);}
.hill-imgtext__btn{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:600;padding:13px 26px;border:1px solid rgba(4,1,5,.22);color:var(--hill-ink);}

/* ============================================================= GALLERY */
.hill-gallery{background:var(--hill-off);}
.hill-gallery__inner{width:100%;padding:120px 6%;}
.hill-gallery__head{max-width:560px;margin:0 auto 56px;text-align:center;}
.hill-gallery__head h2{margin:0 0 16px;font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.02em;}
.hill-gallery__head p{margin:0;font-size:17px;color:var(--hill-grey);}
.hill-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:0 auto;}
.hill-gallery__cell{aspect-ratio:4/3;overflow:hidden;background:var(--hill-stack);position:relative;}
.hill-gallery__cell.tall{aspect-ratio:4/5;}
.hill-gallery__cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}

/* ============================================================= RESOURCES (file cards) */
.hill-resources{background:var(--hill-off);}
.hill-resources__inner{width:100%;padding:120px 6%;}
.hill-resources__head{max-width:560px;margin:0 auto 56px;text-align:center;}
.hill-resources__head h2{margin:0 0 16px;font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.02em;}
.hill-resources__head p{margin:0;font-size:17px;color:var(--hill-grey);}
.hill-resources__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:0 auto;}
.hill-resource{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid rgba(4,1,5,.12);padding:30px 28px;color:var(--hill-ink);}
.hill-resource .title{font-size:18px;font-weight:700;}
.hill-resource .desc{font-size:14.5px;line-height:1.55;color:var(--hill-grey);}
.hill-resource .dl{display:inline-flex;align-items:center;gap:8px;margin-top:auto;font-size:14px;font-weight:700;color:var(--hill-purple);}

/* ============================================================= CALLOUT (dark info band) */
.hill-callout{background:var(--hill-ink);color:#fff;}
.hill-callout__inner{width:100%;padding:110px 6%;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;max-width:1280px;margin:0 auto;}
.hill-callout .hill-eyebrow{color:var(--hill-yellow);}
.hill-callout h2{margin:0 0 18px;font-size:clamp(30px,3.4vw,44px);line-height:1.08;font-weight:800;letter-spacing:-.02em;max-width:18ch;}
.hill-callout .content{margin:0;font-size:16px;line-height:1.65;color:rgba(255,255,255,.72);max-width:48ch;}
.hill-callout__side{display:flex;flex-direction:column;gap:18px;}
.hill-callout__card{border:1px solid rgba(255,255,255,.2);padding:24px 26px;}
.hill-callout__card .label{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--hill-yellow);}
.hill-callout__card .name{margin:0 0 12px;font-size:19px;font-weight:700;}
.hill-callout__card .details{margin:0;font-size:15px;color:rgba(255,255,255,.75);line-height:1.6;}
.hill-callout__foot{margin:0;font-size:14px;line-height:1.6;color:rgba(255,255,255,.55);}

/* ============================================================= CONTACT FORM */
.hill-cform{background:var(--hill-off);}
.hill-cform__inner{width:100%;padding:120px 6%;display:grid;grid-template-columns:0.8fr 1.2fr;gap:80px;max-width:1280px;margin:0 auto;align-items:start;}
.hill-cform__intro h2{margin:0 0 18px;font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:800;letter-spacing:-.02em;}
.hill-cform__intro > p{margin:0 0 30px;font-size:17px;line-height:1.6;color:var(--hill-grey);max-width:38ch;}
.hill-cform__lines{display:flex;flex-direction:column;gap:14px;}
.hill-cform__lines .line{display:flex;gap:12px;align-items:center;font-size:15px;}
.hill-cform__lines .line svg{flex:none;}
.hill-cform__panel{background:#fff;border:1px solid rgba(4,1,5,.12);padding:34px;}
.hill-cform__panel form{display:flex;flex-direction:column;gap:18px;}
.hill-cform__panel .row-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.hill-cform__panel label{display:flex;flex-direction:column;gap:7px;font-size:13.5px;font-weight:600;}
.hill-cform__panel .wpcf7-form-control-wrap{display:block;}
.hill-cform__panel input[type=text],
.hill-cform__panel input[type=email],
.hill-cform__panel input[type=tel],
.hill-cform__panel select,
.hill-cform__panel textarea{width:100%;border:1px solid rgba(4,1,5,.22);padding:12px 13px;font-size:15px;font-weight:400;font-family:inherit;outline-color:var(--hill-purple);background:#fff;color:var(--hill-ink);}
.hill-cform__panel textarea{resize:vertical;}
.hill-cform__panel input[type=submit],
.hill-cform__panel button[type=submit]{align-self:flex-start;background:var(--hill-purple);color:#fff;border:none;padding:15px 32px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;width:auto;}
.hill-cform__panel .wpcf7-spinner{display:none;}
.hill-cform__panel .wpcf7-response-output{margin:0;padding:12px 14px;border:1px solid var(--hill-purple);font-size:14px;}
.hill-cform__panel .wpcf7-not-valid-tip{font-size:12.5px;color:#b32d2e;margin-top:4px;font-weight:500;}

/* ============================================================= TEXT SECTIONS (legal) */
.hill-legal{width:100%;padding:72px 6% 110px;}
.hill-legal__inner{max-width:820px;margin:0 auto;}
.hill-legal__intro{margin:0 0 40px;font-size:17px;line-height:1.7;color:var(--hill-grey);}
.hill-legal__section{margin-bottom:36px;}
.hill-legal__section h2{margin:0 0 12px;font-size:22px;font-weight:700;letter-spacing:-.01em;}
.hill-legal__section p{margin:0;font-size:16px;line-height:1.7;color:var(--hill-grey);}
.hill-legal__outro{margin-top:56px;border-top:2px solid var(--hill-purple);padding-top:28px;}
.hill-legal__outro h2{margin:0 0 12px;font-size:22px;font-weight:700;}
.hill-legal__outro p{margin:0 0 20px;font-size:16px;line-height:1.7;color:var(--hill-grey);}
.hill-legal__outro a{display:inline-block;font-size:14px;font-weight:600;padding:13px 26px;border:1px solid rgba(4,1,5,.22);color:var(--hill-ink);}

/* ============================================================= NEWS LISTING */
@keyframes cardIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.hill-news{width:100%;padding:90px 6% 120px;}
.hill-news__controls{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-bottom:26px;}
.hill-news__filter-btn{display:inline-flex;align-items:center;gap:10px;font-family:inherit;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.12em;padding:13px 22px;text-transform:uppercase;background:#fff;color:var(--hill-purple);border:1px solid var(--hill-purple);transition:all .25s ease;}
.hill-news__filter-btn.is-open{background:var(--hill-purple);color:#fff;}
.hill-news__reset{font-family:inherit;cursor:pointer;background:none;border:none;padding:13px 4px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hill-purple);text-decoration:underline;text-underline-offset:4px;}
.hill-news__count{margin-left:auto;font-size:14px;color:#818082;}
.hill-news__panelwrap{overflow:hidden;max-height:1200px;opacity:1;transition:max-height .45s cubic-bezier(.16,.84,.44,1),opacity .3s ease;margin-bottom:44px;}
.hill-news__panelwrap.is-closed{max-height:0;opacity:0;margin-bottom:0;}
.hill-news__panel{display:grid;grid-template-columns:1fr 1.7fr 0.9fr;gap:48px;background:var(--hill-off);border:1px solid rgba(4,1,5,.1);padding:30px;}
.hill-news__panel .plabel{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.14em;color:#818082;}
.hill-news__search{position:relative;}
.hill-news__search input{width:100%;border:1px solid rgba(4,1,5,.22);background:#fff;padding:14px 44px 14px 15px;font-size:15px;font-family:inherit;outline-color:var(--hill-purple);}
.hill-news__search svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);}
.hill-news__chips{display:flex;flex-wrap:wrap;gap:10px;}
.hill-chip{font-family:inherit;cursor:pointer;font-size:12.5px;font-weight:700;letter-spacing:.1em;padding:11px 18px;transition:all .2s ease;background:#fff;color:var(--hill-purple);border:1px solid rgba(81,26,95,.4);text-transform:uppercase;}
.hill-chip.is-active{background:var(--hill-purple);color:#fff;border-color:var(--hill-purple);}
.hill-news__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.hill-news-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(4,1,5,.12);animation:cardIn .45s cubic-bezier(.16,.84,.44,1) both;}
.hill-news-card.is-hidden{display:none;}
.hill-news-card__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--hill-stack);}
.hill-news-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.hill-news-card__body{display:flex;flex-direction:column;flex:1;padding:26px 26px 28px;}
.hill-news-card__meta{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.hill-news-card__cat{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--hill-purple);border:1px solid rgba(81,26,95,.35);padding:5px 10px;text-transform:uppercase;}
.hill-news-card__date{font-size:13px;color:#818082;}
.hill-news-card h3{margin:0 0 10px;font-size:20px;font-weight:700;line-height:1.25;}
.hill-news-card .excerpt{margin:0 0 20px;font-size:15px;line-height:1.6;color:var(--hill-grey);}
.hill-news-card .read{display:inline-flex;align-items:center;gap:8px;margin-top:auto;font-size:14px;font-weight:700;color:var(--hill-purple);}
.hill-news__empty{border:1px solid rgba(4,1,5,.12);background:var(--hill-off);padding:80px 6%;text-align:center;display:none;}
.hill-news__empty.is-shown{display:block;}
.hill-news__empty h3{margin:0 0 10px;font-size:24px;font-weight:800;}
.hill-news__empty p{margin:0 0 26px;font-size:16px;color:var(--hill-grey);}
.hill-news__empty button{background:var(--hill-purple);color:#fff;border:none;padding:14px 28px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;}

/* CTA yellow primary variant + eyebrow */
.hill-btn-cta-solid.is-yellow{background:var(--hill-yellow);color:var(--hill-purple-dd);}
.hill-cta__eyebrow{margin:0 0 16px;font-size:13px;font-weight:700;letter-spacing:.2em;color:var(--hill-yellow);}

/* ============================================================= RESPONSIVE — inner layouts, isMobile < 1060 */
@media (max-width:1059px){
  .hill-numcols{padding:88px 6%;}
  .hill-numcols__head{grid-template-columns:1fr;gap:16px;margin-bottom:40px;}
  .hill-numcols__grid.cols-4{grid-template-columns:repeat(2,1fr);}
  .hill-steps__inner,.hill-pricing__inner,.hill-stats__inner,.hill-quote__inner,
  .hill-tgrid__inner,.hill-team,.hill-imgtext,.hill-gallery__inner,
  .hill-resources__inner,.hill-cform__inner,.hill-pathways,.hill-numcols,
  .hill-callout__inner{padding-top:88px;padding-bottom:88px;}
  .hill-steps__grid.cols-4{grid-template-columns:repeat(2,1fr);}
  .hill-pricing__grid{grid-template-columns:1fr;}
  .hill-pathways__grid{grid-template-columns:repeat(2,1fr);}
  .hill-team__grid{grid-template-columns:repeat(2,1fr);}
  .hill-imgtext__row{grid-template-columns:1fr;gap:32px;margin-bottom:72px;}
  .hill-imgtext__row.is-flipped .hill-imgtext__media{order:1;}
  .hill-imgtext__row.is-flipped .hill-imgtext__text{order:2;}
  .hill-gallery__grid{grid-template-columns:repeat(2,1fr);}
  .hill-callout__inner{grid-template-columns:1fr;gap:40px;}
  .hill-cform__inner{grid-template-columns:1fr;gap:48px;}
  .hill-news{padding:72px 6% 88px;}
  .hill-news__panel{grid-template-columns:1fr;gap:28px;}
  .hill-news__grid{grid-template-columns:repeat(2,1fr);}
}

/* isPhone < 640 */
@media (max-width:639px){
  .hill-numcols__grid.cols-3,.hill-numcols__grid.cols-4{grid-template-columns:1fr;}
  .hill-steps__grid.cols-3,.hill-steps__grid.cols-4{grid-template-columns:1fr;}
  .hill-pathways__grid{grid-template-columns:1fr;}
  .hill-pathway{min-height:260px;}
  .hill-stats__grid{grid-template-columns:1fr;}
  .hill-tgrid__grid{grid-template-columns:1fr;gap:56px;}
  .hill-team__grid{grid-template-columns:1fr;}
  .hill-gallery__grid{grid-template-columns:1fr;}
  .hill-resources__grid{grid-template-columns:1fr;}
  .hill-cform__panel .row-2{grid-template-columns:1fr;}
  .hill-news__grid{grid-template-columns:1fr;}
}

/* ============================================================
   LOCAL WIDTH/ALIGNMENT ENHANCEMENTS (added for The Hill)
   Widens the inner page hero and improves readable line-length.
   Design/colours unchanged — width & alignment only.
   ============================================================ */
.hill-page-header__inner{max-width:none;padding-left:6%;padding-right:6%;}
.hill-page-header__inner h1{max-width:none;}
.hill-page-header__lead{max-width:none;}

/* ============================================================
   SAFEGUARDING POLICIES  (Template: Policies)
   Left list + click-to-reveal panels. Uses theme tokens only.
   ============================================================ */
.hill-policies{background:#fff;color:var(--hill-ink);}
.hill-policies__inner{width:100%;max-width:1280px;margin:0 auto;padding:clamp(56px,7vw,96px) 6% clamp(72px,9vw,120px);
	display:grid;grid-template-columns:320px 1fr;gap:clamp(32px,4vw,64px);align-items:start;}

/* left nav */
.hill-policies__nav{position:sticky;top:96px;}
.hill-policies__nav .hill-eyebrow{margin:0 0 16px;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--hill-purple);}
.hill-policies__nav ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(0,0,0,.08);}
.hill-policies__tab{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;
	padding:16px 14px;border:0;border-bottom:1px solid rgba(0,0,0,.08);border-left:3px solid transparent;
	background:transparent;color:var(--hill-grey);font-family:inherit;font-size:15.5px;font-weight:600;line-height:1.35;
	text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease;}
.hill-policies__tab svg{flex:0 0 auto;opacity:0;transform:translateX(-4px);transition:opacity .18s ease,transform .18s ease;color:var(--hill-purple);}
.hill-policies__tab:hover{color:var(--hill-ink);background:rgba(81,26,95,.04);}
.hill-policies__tab:hover svg{opacity:.6;transform:none;}
.hill-policies__tab.is-active{color:var(--hill-purple);background:rgba(81,26,95,.06);border-left-color:var(--hill-yellow);}
.hill-policies__tab.is-active svg{opacity:1;transform:none;}

/* right content */
.hill-policies__content{min-width:0;scroll-margin-top:100px;}
.hill-policies__panel{max-width:820px;}
.hill-policies__panel[hidden]{display:none;}
.hill-policies__panel > h2{margin:0 0 24px;font-size:clamp(28px,3.4vw,40px);line-height:1.1;font-weight:800;letter-spacing:-.02em;color:var(--hill-ink);}
.hill-policies__panel > h2::after{content:"";display:block;width:56px;height:4px;margin-top:16px;border-radius:2px;background:var(--hill-yellow);}
.hill-policies__body h4{margin:30px 0 8px;font-size:19px;font-weight:700;color:var(--hill-purple);}
.hill-policies__body p{margin:0 0 14px;font-size:16.5px;line-height:1.7;color:#2c2830;}
.hill-policies__body ol{margin:0 0 16px;padding-left:1.25em;}
.hill-policies__body li{margin:0 0 10px;font-size:16.5px;line-height:1.7;color:#2c2830;}
.hill-policies__body ol{list-style:none;counter-reset:pol;padding-left:0;}
.hill-policies__body ol li{position:relative;padding-left:40px;counter-increment:pol;}
.hill-policies__body ol li::before{content:counter(pol);position:absolute;left:0;top:1px;width:26px;height:26px;
	display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(81,26,95,.08);
	color:var(--hill-purple);font-size:13px;font-weight:700;}
.hill-policies__body .policy-meta{margin:0 0 28px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;overflow:hidden;}
.hill-policies__body .policy-meta p{display:grid;grid-template-columns:230px 1fr;gap:0 22px;margin:0;padding:13px 22px;font-size:15px;line-height:1.45;border-top:1px solid rgba(0,0,0,.07);align-items:baseline;}
.hill-policies__body .policy-meta p:first-child{border-top:0;}
.hill-policies__body .policy-meta p:nth-child(odd){background:var(--hill-off);}
.hill-policies__body .policy-meta span{min-width:0;font-weight:700;color:var(--hill-purple);}
@media (max-width:560px){
  .hill-policies__body .policy-meta p{grid-template-columns:1fr;gap:2px;padding:11px 16px;}
}

@media (max-width:900px){
	.hill-policies__inner{grid-template-columns:1fr;gap:8px;}
	.hill-policies__nav{position:static;}
	.hill-policies__panel{max-width:none;}
}

/* ============================================================
   EDGE-TO-EDGE WIDTH POLISH (width only — design unchanged)
   Widens the standard content containers so sections use more
   of the viewport on large screens. Grids/columns/padding all
   unchanged; only the max-width caps are raised.
   ============================================================ */
/* Marketing sections: full width, 6% side padding (matches footer) */
.hill-steps__grid,
.hill-pricing__grid,
.hill-tgrid__grid,
.hill-team__grid,
.hill-gallery__grid,
.hill-resources__grid,
.hill-numcols__grid,
.hill-pathways__grid,
.hill-callout__inner,
.hill-cform__inner,
.hill-stats__grid,
.hill-cta__inner{max-width:none;}
/* Long-form reading pages: kept to a comfortable measure for legibility */
.hill-policies__inner{max-width:none;}
.hill-page__inner,
.hill-legal__inner{max-width:1120px;}
.hill-page-header.is-legal .hill-page-header__inner{max-width:none;}

/* ============================================================
   TEAM CARD: long-bio clamp + hide empty socials
   ============================================================ */
.hill-coach__bio.is-clamped .bio{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.hill-coach__bio.is-open .bio{-webkit-line-clamp:unset;overflow:visible;}
.hill-coach__more{margin-top:10px;border:0;background:none;padding:0;color:var(--hill-purple);
	font:700 14px/1 'Inter',sans-serif;letter-spacing:.01em;cursor:pointer;}
.hill-coach__more:hover{text-decoration:underline;}
.hill-coach__more .less{display:none;}
.hill-coach__bio.is-open .hill-coach__more .more{display:none;}
.hill-coach__bio.is-open .hill-coach__more .less{display:inline;}
/* hide social links with no real URL, and the bar if it ends up empty */
.hill-coach__socials a[href="#"],
.hill-coach__socials a[href=""]{display:none;}
.hill-coach__socials:not(:has(a:not([href="#"]):not([href=""]))){display:none;}

/* Coach "Read full bio" button + modal */
.hill-coach__more{display:inline-flex;align-items:center;gap:7px;margin-top:10px;border:0;background:none;padding:0;
	color:var(--hill-purple);font:700 14px/1 'Inter',sans-serif;cursor:pointer;}
.hill-coach__more svg{transition:transform .15s ease;}
.hill-coach__more:hover{text-decoration:none;}
.hill-coach__more:hover svg{transform:translateX(3px);}

.hill-coach-modal{position:fixed;inset:0;z-index:1000;display:none;}
.hill-coach-modal.is-open{display:flex;align-items:center;justify-content:center;padding:24px;}
.hill-coach-modal__backdrop{position:fixed;inset:0;background:rgba(10,4,12,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
.hill-coach-modal__panel{position:relative;z-index:1;display:flex;width:100%;max-width:1060px;max-height:90vh;background:#fff;border-radius:20px;overflow:hidden;
	box-shadow:0 30px 80px rgba(0,0,0,.42);animation:coachModalIn .28s cubic-bezier(.16,.84,.44,1) both;}
@keyframes coachModalIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
.hill-coach-modal__close{position:absolute;top:14px;right:14px;z-index:2;width:40px;height:40px;display:flex;align-items:center;justify-content:center;
	border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--hill-ink);cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18);}
.hill-coach-modal__close:hover{background:#fff;}
.hill-coach-modal__media{flex:0 0 38%;max-width:380px;}
.hill-coach-modal__media img{width:100%;height:100%;object-fit:cover;display:block;}
.hill-coach-modal__body{flex:1 1 auto;min-width:0;padding:32px 38px;overflow-y:auto;}
.hill-coach-modal__body h3{margin:0 0 3px;font-size:25px;font-weight:800;letter-spacing:-.01em;color:var(--hill-ink);}
.hill-coach-modal__role{margin:0 0 16px;color:var(--hill-purple);font-weight:600;font-size:14.5px;}
.hill-coach-modal__bio p{margin:0 0 11px;font-size:15px;line-height:1.62;color:#2c2830;}
.hill-coach-modal__bio p:last-child{margin-bottom:0;}
@media (max-width:720px){
	.hill-coach-modal__panel{flex-direction:column;max-height:90vh;}
	/* Image at its natural size (as before); only the text section scrolls. */
	.hill-coach-modal__media{flex:none;width:100%;max-width:none;height:auto;}
	.hill-coach-modal__media img{width:100%;height:auto;display:block;}
	.hill-coach-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:26px 24px 30px;}
}

/* ============================================================
   SAFEGUARDING DOWNLOADS (download & sign cards)
   ============================================================ */
.hill-downloads{background:var(--hill-off);color:var(--hill-ink);}
.hill-downloads__inner{width:100%;max-width:none;margin:0 auto;padding:clamp(56px,7vw,90px) 6% clamp(40px,5vw,64px);}
.hill-downloads__head{margin:0 0 34px;}
.hill-downloads__head .hill-eyebrow{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--hill-purple);}
.hill-downloads__head h2{margin:0 0 12px;font-size:clamp(28px,3.4vw,42px);line-height:1.05;font-weight:800;letter-spacing:-.02em;color:var(--hill-ink);}
.hill-downloads__intro{margin:0;max-width:620px;font-size:16.5px;line-height:1.6;color:var(--hill-grey);}
.hill-downloads__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.hill-download-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:18px;
	padding:26px 24px 24px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.hill-download-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(81,26,95,.12);border-color:rgba(81,26,95,.18);}
.hill-download-card__icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:14px;
	background:rgba(81,26,95,.08);color:var(--hill-purple);margin-bottom:18px;}
.hill-download-card__badge{position:absolute;top:22px;right:22px;padding:5px 10px;border-radius:999px;background:var(--hill-yellow);
	color:#3a2c00;font-size:11px;font-weight:700;letter-spacing:.02em;}
.hill-download-card h3{margin:0 0 8px;font-size:18px;font-weight:700;line-height:1.25;color:var(--hill-ink);}
.hill-download-card p{margin:0 0 20px;font-size:14.5px;line-height:1.55;color:var(--hill-grey);flex:1 1 auto;}
.hill-download-card__btn{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:11px 18px;border-radius:10px;
	background:var(--hill-purple);color:#fff;font-size:14px;font-weight:700;text-decoration:none;transition:background .16s ease;}
.hill-download-card__btn:hover{background:var(--hill-purple-d);}
.hill-download-card__btn svg{transition:transform .16s ease;}
.hill-download-card__btn:hover svg{transform:translateY(2px);}
@media (max-width:1000px){.hill-downloads__grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.hill-downloads__grid{grid-template-columns:1fr;}}

/* ============================================================
   MEMBERSHIP CARDS: description under tag, equal height, modal
   ============================================================ */
.hill-pricing__grid{align-items:stretch;}
.hill-plan{display:flex;flex-direction:column;height:100%;}
.hill-plan__desc{margin:10px 0 2px;font-size:14px;line-height:1.55;color:var(--hill-grey);}
.hill-plan.is-popular .hill-plan__desc{color:rgba(255,255,255,.82);}
/* push price/button/perks to the bottom so cards are equal-height boxes with aligned buttons */
.hill-plan__desc + .rule{margin-top:auto;}
.hill-plan__pricewrap{min-height:26px;}
.hill-plan__more{margin-top:auto;display:inline-flex;align-items:center;gap:7px;align-self:flex-start;
	border:0;background:none;padding:14px 0 0;color:var(--hill-purple);font:700 14px/1 'Inter',sans-serif;cursor:pointer;}
.hill-plan.is-popular .hill-plan__more{color:var(--hill-yellow);}
.hill-plan__more svg{transition:transform .15s ease;}
.hill-plan__more:hover svg{transform:translateX(3px);}

/* plan modal */
.hill-plan-modal{position:fixed;inset:0;z-index:1000;display:none;}
.hill-plan-modal.is-open{display:flex;align-items:center;justify-content:center;padding:24px;}
.hill-plan-modal__backdrop{position:fixed;inset:0;background:rgba(10,4,12,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
.hill-plan-modal__panel{position:relative;z-index:1;width:100%;max-width:560px;max-height:88vh;overflow-y:auto;background:#fff;border-radius:20px;
	padding:38px 40px 34px;box-shadow:0 30px 80px rgba(0,0,0,.42);animation:coachModalIn .28s cubic-bezier(.16,.84,.44,1) both;}
.hill-plan-modal__close{position:absolute;top:16px;right:16px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;
	border:0;border-radius:50%;background:var(--hill-off);color:var(--hill-ink);cursor:pointer;}
.hill-plan-modal__close:hover{background:#ece7ee;}
.hill-plan-modal__badge{display:inline-block;margin:0 0 14px;padding:5px 11px;border-radius:999px;background:var(--hill-yellow);color:#3a2c00;font-size:11px;font-weight:700;letter-spacing:.02em;}
.hill-plan-modal__panel h3{margin:0 0 4px;font-size:26px;font-weight:800;letter-spacing:-.01em;color:var(--hill-ink);}
.hill-plan-modal__tag{margin:0 0 4px;color:var(--hill-grey);font-size:15px;}
.hill-plan-modal__price{margin:6px 0 0;color:var(--hill-purple);font-size:16px;font-weight:700;}
.hill-plan-modal__desc{margin:16px 0 18px;font-size:15.5px;line-height:1.65;color:#2c2830;}
.hill-plan-modal__perks{display:flex;flex-direction:column;gap:12px;margin:0 0 26px;}
.hill-plan-modal__perks .perk{display:flex;gap:11px;align-items:flex-start;}
.hill-plan-modal__perks .perk span{font-size:15px;line-height:1.5;color:#2c2830;}
.hill-plan-modal__btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 26px;border-radius:10px;
	background:var(--hill-purple);color:#fff;font-size:15px;font-weight:700;text-decoration:none;transition:background .16s ease;}
.hill-plan-modal__btn:hover{background:var(--hill-purple-d);}

/* Cleaner CTA band — drop the busy ball watermark */
.hill-cta__ball{display:none;}


/* ============================================================
   COACHING NAV DROPDOWN — card panel with icons
   ============================================================ */
.hill-nav__links .sub-menu{
	display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);
	margin:16px 0 0;padding:10px;min-width:288px;list-style:none;z-index:60;
	background:#fff;border-radius:16px;border:1px solid rgba(4,1,5,.06);
	box-shadow:0 26px 60px rgba(4,1,5,.22);filter:none;
	opacity:0;visibility:hidden;transform:translateX(-50%) translateY(6px);
	transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.hill-nav__links .sub-menu::before{content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);
	width:12px;height:12px;background:#fff;border-left:1px solid rgba(4,1,5,.06);border-top:1px solid rgba(4,1,5,.06);border-radius:3px;}
.hill-nav__links li:hover > .sub-menu,
.hill-nav__links li:focus-within > .sub-menu{display:block;opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.hill-nav__links .sub-menu li{list-style:none;min-width:0;margin:0;padding:0;background:none;border:0;}
.hill-nav__links .sub-menu li:first-child,
.hill-nav__links .sub-menu li:last-child{border:0;padding:0;}
.hill-nav__links .sub-menu li.hill-menu-overview{margin:0 0 6px;padding:0 0 8px;border-bottom:1px solid rgba(4,1,5,.07);}
.hill-nav__links .sub-menu a{
	display:flex;align-items:center;gap:13px;padding:10px 12px;border-radius:12px;
	font-size:14.5px;font-weight:600;line-height:1.15;color:var(--hill-ink)!important;white-space:nowrap;
	transition:background .15s ease,transform .15s ease;
}
.hill-nav__links .sub-menu a::before{
	content:"";flex:0 0 auto;width:38px;height:38px;border-radius:11px;
	background-color:rgba(81,26,95,.08);background-repeat:no-repeat;background-position:center;background-size:21px 21px;
	transition:background-color .15s ease;
	background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23511A5F'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'3'%20width%3D'7'%20height%3D'7'%20rx%3D'1.5'%2F%3E%3Crect%20x%3D'14'%20y%3D'3'%20width%3D'7'%20height%3D'7'%20rx%3D'1.5'%2F%3E%3Crect%20x%3D'3'%20y%3D'14'%20width%3D'7'%20height%3D'7'%20rx%3D'1.5'%2F%3E%3Crect%20x%3D'14'%20y%3D'14'%20width%3D'7'%20height%3D'7'%20rx%3D'1.5'%2F%3E%3C%2Fsvg%3E");
}
.hill-nav__links .sub-menu a:hover{background:var(--hill-off);transform:translateX(2px);}
.hill-nav__links .sub-menu a:hover::before{background-color:rgba(81,26,95,.15);}
.hill-nav__links .sub-menu li.hill-menu-overview a::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23511A5F'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3'%20y%3D'3'%20width%3D'7'%20height%3D'7'%20rx%3D'1.5'%2F%3E%3Crect%20x%3D'14'%20y%3D'3'%20width%3D'7'%20height%3D'7'%20rx%3D'1.5'%2F%3E%3Crect%20x%3D'3'%20y%3D'14'%20width%3D'7'%20height%3D'7'%20rx%3D'1.5'%2F%3E%3Crect%20x%3D'14'%20y%3D'14'%20width%3D'7'%20height%3D'7'%20rx%3D'1.5'%2F%3E%3C%2Fsvg%3E");}
.hill-nav__links .sub-menu a[href*="adults-coaching"]::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23511A5F'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'12'%20cy%3D'8'%20r%3D'3.6'%2F%3E%3Cpath%20d%3D'M5%2020c0-3.6%203.1-6%207-6s7%202.4%207%206'%2F%3E%3C%2Fsvg%3E");}
.hill-nav__links .sub-menu a[href*="junior-coaching"]::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23511A5F'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D'8.5'%20cy%3D'9'%20r%3D'2.8'%2F%3E%3Cpath%20d%3D'M3.5%2019c0-2.8%202.2-4.6%205-4.6s5%201.8%205%204.6'%2F%3E%3Ccircle%20cx%3D'16.8'%20cy%3D'8.2'%20r%3D'2.1'%2F%3E%3Cpath%20d%3D'M14.6%2014.3c1.9.3%203.9%201.7%203.9%204.7'%2F%3E%3C%2Fsvg%3E");}
.hill-nav__links .sub-menu a[href*="performance-tennis"]::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23511A5F'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M7%204h10v3.5a5%205%200%200%201-10%200V4z'%2F%3E%3Cpath%20d%3D'M7%205.5H4.5a2.5%202.5%200%200%200%202.8%204.4'%2F%3E%3Cpath%20d%3D'M17%205.5h2.5a2.5%202.5%200%200%201-2.8%204.4'%2F%3E%3Cpath%20d%3D'M9.5%2020h5'%2F%3E%3Cpath%20d%3D'M12%2012.5V16'%2F%3E%3Cpath%20d%3D'M10%2020l.5-4h3l.5%204'%2F%3E%3C%2Fsvg%3E");}
.hill-nav__links .sub-menu a[href*="schools-tennis"]::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23511A5F'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M12%204L2.5%208.5%2012%2013l9.5-4.5L12%204z'%2F%3E%3Cpath%20d%3D'M6%2010.5V16c0%201.4%202.7%203%206%203s6-1.6%206-3v-5.5'%2F%3E%3Cpath%20d%3D'M21.5%208.5v5'%2F%3E%3C%2Fsvg%3E");}

/* Coaching dropdown: chevron indicator + hover bridge (no drop when moving into panel) */
.hill-nav__links li.menu-item-has-children > a::after{
	content:"";display:inline-block;width:6px;height:6px;margin-left:7px;
	border-right:2px solid currentColor;border-bottom:2px solid currentColor;
	transform:rotate(45deg) translateY(-2px);transition:transform .2s ease;
}
.hill-nav__links li.menu-item-has-children:hover > a::after,
.hill-nav__links li.menu-item-has-children:focus-within > a::after{transform:rotate(-135deg) translateY(2px);}
/* repurpose the old pointer pseudo as an invisible bridge that fills the gap so hover stays alive */
.hill-nav__links .sub-menu::before{
	content:"";position:absolute;top:-20px;left:0;right:0;width:auto;height:22px;
	background:transparent;border:0;border-radius:0;transform:none;
}

/* ============================================================
   GALLERY — masonry (mixed sizes, no cropping), edge-to-edge
   ============================================================ */
.hill-gallery__grid{display:block;column-count:4;column-gap:18px;max-width:none;margin:0;}
.hill-gallery__cell,
.hill-gallery__cell.tall{aspect-ratio:auto;position:static;overflow:hidden;break-inside:avoid;
	margin:0 0 18px;border-radius:16px;background:var(--hill-stack);
	box-shadow:0 6px 20px rgba(4,1,5,.06);}
.hill-gallery__cell img{position:static;inset:auto;width:100%;height:auto;display:block;object-fit:cover;
	transition:transform .55s cubic-bezier(.16,.84,.44,1);}
.hill-gallery__cell:hover img{transform:scale(1.045);}
@media (max-width:1300px){.hill-gallery__grid{column-count:3;}}
@media (max-width:1000px){.hill-gallery__grid{column-count:2;}}
@media (max-width:620px){.hill-gallery__grid{column-count:1;}}

/* Gallery — uniform square grid (overrides masonry; avoids layout thrash) */
.hill-gallery__grid{display:grid;column-count:auto;grid-template-columns:repeat(4,1fr);gap:16px;max-width:none;margin:0;}
.hill-gallery__cell,
.hill-gallery__cell.tall{aspect-ratio:1/1;position:relative;overflow:hidden;break-inside:auto;margin:0;border-radius:16px;
	box-shadow:0 6px 20px rgba(4,1,5,.06);}
.hill-gallery__cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
	transition:transform .55s cubic-bezier(.16,.84,.44,1);}
.hill-gallery__cell:hover img{transform:scale(1.05);}
@media (max-width:1000px){.hill-gallery__grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.hill-gallery__grid{grid-template-columns:1fr;}}

/* Coaching dropdown — clearer arrow + bulletproof hover bridge (final override) */
.hill-nav__links li.menu-item-has-children > a{position:relative;}
.hill-nav__links li.menu-item-has-children > a::after{
	content:"";display:inline-block;width:7px;height:7px;margin-left:8px;flex:0 0 auto;
	border-right:2.2px solid currentColor;border-bottom:2.2px solid currentColor;
	transform:rotate(45deg) translateY(-2px);transition:transform .2s ease;opacity:.95;
}
.hill-nav__links li.menu-item-has-children:hover > a::after,
.hill-nav__links li.menu-item-has-children:focus-within > a::after{transform:rotate(-135deg) translateY(2px);}
.hill-nav__links .sub-menu{margin:10px 0 0;}
.hill-nav__links .sub-menu::before{content:"";position:absolute;top:-18px;left:-12px;right:-12px;
	width:auto;height:22px;background:transparent;border:0;border-radius:0;transform:none;pointer-events:auto;}

/* ============================================================
   CONTACT FORM UI  +  image-text edge-to-edge
   ============================================================ */
/* image-text (facilities items, contact directions) → full width like the rest */
.hill-imgtext__row{max-width:none;}

/* Style ALL form controls consistently (previously only the textarea was styled) */
.hill-cform__panel{border-radius:18px;border:1px solid rgba(4,1,5,.08);box-shadow:0 14px 40px rgba(4,1,5,.06);padding:clamp(26px,3vw,40px);}
.hill-cform__panel label{gap:8px;font-size:13px;font-weight:600;color:var(--hill-ink);letter-spacing:.01em;}
.hill-cform__panel input[type=text],
.hill-cform__panel input[type=email],
.hill-cform__panel input[type=tel],
.hill-cform__panel input[type=number],
.hill-cform__panel select,
.hill-cform__panel textarea{
	width:100%;box-sizing:border-box;border:1px solid rgba(4,1,5,.16);border-radius:11px;
	padding:13px 15px;font-size:15px;font-family:inherit;font-weight:400;line-height:1.4;
	color:var(--hill-ink);background:#fff;transition:border-color .15s ease,box-shadow .15s ease;}
.hill-cform__panel input:focus,
.hill-cform__panel select:focus,
.hill-cform__panel textarea:focus{
	border-color:var(--hill-purple);box-shadow:0 0 0 3px rgba(81,26,95,.13);outline:none;}
.hill-cform__panel input::placeholder,
.hill-cform__panel textarea::placeholder{color:#9a949f;}
.hill-cform__panel select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:42px;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23511A5F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 15px center;}
.hill-cform__panel textarea{min-height:140px;resize:vertical;}
.hill-cform__panel input[type=submit],
.hill-cform__panel button[type=submit],
.hill-cform__panel .wpcf7-submit{
	align-self:flex-start;width:auto;background:var(--hill-purple);color:#fff;border:0;border-radius:11px;
	padding:14px 32px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;
	transition:background .16s ease,transform .16s ease;-webkit-appearance:none;appearance:none;}
.hill-cform__panel input[type=submit]:hover,
.hill-cform__panel button[type=submit]:hover,
.hill-cform__panel .wpcf7-submit:hover{background:var(--hill-purple-d);transform:translateY(-1px);}
.hill-cform__panel .wpcf7-response-output{border-radius:10px;}

/* Contact form — soft brand-purple panel, purple labels, white inputs that pop */
.hill-cform__panel{background:rgba(81,26,95,0.05);border:1px solid rgba(81,26,95,0.16);
	box-shadow:0 16px 44px rgba(81,26,95,.09);}
.hill-cform__panel label{color:var(--hill-purple);font-weight:600;}
.hill-cform__panel input[type=text],
.hill-cform__panel input[type=email],
.hill-cform__panel input[type=tel],
.hill-cform__panel input[type=number],
.hill-cform__panel select,
.hill-cform__panel textarea{background:#fff;border-color:rgba(81,26,95,0.18);}
/* name/last and email/phone side by side (kept single-column on small screens) */
.hill-cform__panel .row-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media (max-width:640px){.hill-cform__panel .row-2{grid-template-columns:1fr;}}

/* ============================================================
   ACCESSIBILITY
   ============================================================ */
.hill-skip-link{position:absolute;left:-9999px;top:0;z-index:100000;background:var(--hill-purple);color:#fff;
	padding:12px 22px;border-radius:0 0 12px 0;font-weight:700;font-size:14px;text-decoration:none;}
.hill-skip-link:focus{left:0;}
/* Visible keyboard focus everywhere */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
	outline:3px solid var(--hill-yellow);outline-offset:2px;}
/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce){
	*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
		transition-duration:.001ms!important;scroll-behavior:auto!important;}
	.hill-reveal.is-armed{opacity:1!important;}
	.hill-reveal.is-in{animation:none!important;}
	.hill-coach__media img,.hill-gallery__cell img,.hill-download-card,.hill-plan{transition:none!important;}
}

/* ============================================================
   IMAGE CAROUSEL (auto gym slider inside image-text frame)
   ============================================================ */
.hill-carousel{position:absolute;inset:0;overflow:hidden;}
.hill-carousel__track{display:flex;height:100%;transition:transform .55s cubic-bezier(.16,.84,.44,1);}
.hill-carousel__slide{flex:0 0 100%;height:100%;}
.hill-carousel__slide img{position:relative;inset:auto;width:100%;height:100%;object-fit:cover;display:block;}
.hill-carousel__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;
	background:rgba(255,255,255,.9);color:var(--hill-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;
	box-shadow:0 4px 16px rgba(4,1,5,.22);transition:background .15s ease,opacity .15s ease;z-index:2;}
.hill-carousel__nav:hover{background:#fff;}
.hill-carousel__nav.is-prev{left:14px;}
.hill-carousel__nav.is-next{right:14px;}
.hill-carousel__dots{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:2;}
.hill-carousel__dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer;
	transition:background .15s ease,transform .15s ease;}
.hill-carousel__dots button.is-active{background:#fff;transform:scale(1.3);}

/* ---- 404 page ---- */
.hill-404{position:relative;min-height:calc(100svh - 84px);display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:radial-gradient(120% 120% at 50% 0,var(--hill-purple) 0%,var(--hill-purple-dd) 60%);color:#fff;padding:80px 24px;}
.hill-404__glow{position:absolute;top:-20%;left:50%;transform:translateX(-50%);width:min(760px,90vw);height:760px;border-radius:50%;
  background:radial-gradient(circle,rgba(244,188,8,.16) 0%,rgba(244,188,8,0) 68%);pointer-events:none;}
.hill-404__inner{position:relative;max-width:640px;text-align:center;}
.hill-404__eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 26px;font-size:12px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72);}
.hill-404__eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--hill-yellow);}
.hill-404__code{display:flex;align-items:center;justify-content:center;gap:min(3vw,20px);
  font-weight:800;font-size:clamp(96px,22vw,220px);line-height:.9;letter-spacing:-.03em;color:#fff;}
.hill-404__ball{display:inline-block;width:clamp(80px,18vw,180px);height:clamp(80px,18vw,180px);
  filter:drop-shadow(0 18px 40px rgba(244,188,8,.35));animation:hill404bounce 2.6s ease-in-out infinite;}
.hill-404__ball svg{width:100%;height:100%;display:block;}
@keyframes hill404bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
.hill-404__title{margin:22px 0 14px;font-size:clamp(28px,5vw,44px);font-weight:800;letter-spacing:-.01em;}
.hill-404__text{margin:0 auto 34px;max-width:44ch;font-size:17px;line-height:1.6;color:rgba(255,255,255,.78);}
.hill-404__actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-bottom:46px;}
.hill-404__nav{border-top:1px solid rgba(255,255,255,.14);padding-top:26px;}
.hill-404__nav-label{display:block;margin-bottom:14px;font-size:12px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.55);}
.hill-404__nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:center;}
.hill-404__nav a{font-size:15px;font-weight:600;color:rgba(255,255,255,.9);text-decoration:none;
  border-bottom:1px solid transparent;padding-bottom:2px;transition:color .2s,border-color .2s;}
.hill-404__nav a:hover,.hill-404__nav a:focus-visible{color:var(--hill-yellow);border-color:var(--hill-yellow);}
@media (prefers-reduced-motion:reduce){.hill-404__ball{animation:none;}}

/* ---- Coaching sub-menu icons (mobile drawer) ---- */
.hill-drawer__nav .sub-menu a[href*="/adults-coaching"],
.hill-drawer__nav .sub-menu a[href*="/junior-coaching"],
.hill-drawer__nav .sub-menu a[href*="/performance-tennis"],
.hill-drawer__nav .sub-menu a[href*="/schools-tennis"]{display:flex;align-items:center;gap:11px;}
.hill-drawer__nav .sub-menu a[href*="/adults-coaching"]::before,
.hill-drawer__nav .sub-menu a[href*="/junior-coaching"]::before,
.hill-drawer__nav .sub-menu a[href*="/performance-tennis"]::before,
.hill-drawer__nav .sub-menu a[href*="/schools-tennis"]::before{content:"";flex:0 0 auto;width:19px;height:19px;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;}
.hill-drawer__nav .sub-menu a[href*="/adults-coaching"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%277.5%27%20r%3D%273.8%27%2F%3E%3Cpath%20d%3D%27M4.5%2020.5c0-4%203.4-6%207.5-6s7.5%202%207.5%206%27%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%277.5%27%20r%3D%273.8%27%2F%3E%3Cpath%20d%3D%27M4.5%2020.5c0-4%203.4-6%207.5-6s7.5%202%207.5%206%27%2F%3E%3C%2Fsvg%3E");}
.hill-drawer__nav .sub-menu a[href*="/junior-coaching"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%278%27%20r%3D%273.2%27%2F%3E%3Cpath%20d%3D%27M2.5%2020c0-3.4%202.9-5.2%206.5-5.2S15.5%2016.6%2015.5%2020%27%2F%3E%3Cpath%20d%3D%27M15.8%205.3a3.2%203.2%200%200%201%200%205.6%27%2F%3E%3Cpath%20d%3D%27M17.2%2014.9c2.4.5%204.3%202.1%204.3%205.1%27%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%278%27%20r%3D%273.2%27%2F%3E%3Cpath%20d%3D%27M2.5%2020c0-3.4%202.9-5.2%206.5-5.2S15.5%2016.6%2015.5%2020%27%2F%3E%3Cpath%20d%3D%27M15.8%205.3a3.2%203.2%200%200%201%200%205.6%27%2F%3E%3Cpath%20d%3D%27M17.2%2014.9c2.4.5%204.3%202.1%204.3%205.1%27%2F%3E%3C%2Fsvg%3E");}
.hill-drawer__nav .sub-menu a[href*="/performance-tennis"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%2021h8%27%2F%3E%3Cpath%20d%3D%27M12%2017v4%27%2F%3E%3Cpath%20d%3D%27M7%204h10v5a5%205%200%200%201-10%200z%27%2F%3E%3Cpath%20d%3D%27M7%206H4.6a2.4%202.4%200%200%200%200%204.8H7.4%27%2F%3E%3Cpath%20d%3D%27M17%206h2.4a2.4%202.4%200%200%201%200%204.8H16.6%27%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%2021h8%27%2F%3E%3Cpath%20d%3D%27M12%2017v4%27%2F%3E%3Cpath%20d%3D%27M7%204h10v5a5%205%200%200%201-10%200z%27%2F%3E%3Cpath%20d%3D%27M7%206H4.6a2.4%202.4%200%200%200%200%204.8H7.4%27%2F%3E%3Cpath%20d%3D%27M17%206h2.4a2.4%202.4%200%200%201%200%204.8H16.6%27%2F%3E%3C%2Fsvg%3E");}
.hill-drawer__nav .sub-menu a[href*="/schools-tennis"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%204%202%209l10%205%2010-5-10-5z%27%2F%3E%3Cpath%20d%3D%27M6%2011.2V16c0%201.4%202.7%202.6%206%202.6s6-1.2%206-2.6v-4.8%27%2F%3E%3Cpath%20d%3D%27M22%209v5%27%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%204%202%209l10%205%2010-5-10-5z%27%2F%3E%3Cpath%20d%3D%27M6%2011.2V16c0%201.4%202.7%202.6%206%202.6s6-1.2%206-2.6v-4.8%27%2F%3E%3Cpath%20d%3D%27M22%209v5%27%2F%3E%3C%2Fsvg%3E");}

/* ---- Smaller, better-padded logo on mobile ---- */
@media (max-width:1059px){
  .hill-header .hill-logo{height:48px;padding-top:0;}
  .hill-header .hill-logo__light,
  .hill-header .hill-logo__color,
  .hill-header.is-solid .hill-logo,
  .hill-header.is-solid .hill-logo__light,
  .hill-header.is-solid .hill-logo__color{height:48px;}
}

/* ---- Coach initials placeholder (shown until a photo is supplied) ---- */
.hill-coach__initials{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,var(--hill-purple) 0%,var(--hill-purple-dd) 100%);
  color:var(--hill-yellow);font-weight:800;letter-spacing:.02em;font-size:clamp(40px,6vw,66px);line-height:1;}

/* ---- Title-case navigation labels (menu + footer + drawer consistent) ---- */
.hill-nav__links a,
.hill-nav__links .sub-menu a,
.hill-footer__links a,
.hill-drawer__nav a{text-transform:capitalize;}

/* ---- Announcement bar (Site Settings → Header) ---- */
.hill-announce{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:center;gap:9px;
  min-height:48px;padding:10px 40px;background:var(--hill-yellow);color:var(--hill-ink);text-align:center;}
.hill-announce .dot{width:7px;height:7px;border-radius:50%;background:var(--hill-ink);flex:0 0 auto;}
.hill-announce p{margin:0;font-size:15px;font-weight:500;letter-spacing:.02em;line-height:1.35;}
body.has-announce .hill-header{top:48px;}
@media (max-width:1059px){
  .hill-announce{min-height:58px;padding:9px 18px;}
  .hill-announce p{font-size:14px;}
  body.has-announce .hill-header{top:58px;}
}

/* ---- Testimonial photo placeholder (initials until a photo is added) ---- */
.hill-ct-card__initials{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,var(--hill-purple) 0%,var(--hill-purple-dd) 100%);
  color:var(--hill-yellow);font-weight:800;line-height:1;font-size:clamp(56px,9vw,112px);letter-spacing:.02em;}

/* ---- Clickable announcement bar ---- */
.hill-announce{text-decoration:none;}
a.hill-announce{cursor:pointer;}
a.hill-announce:hover{background:#e8b207;}
.hill-announce__arrow{flex:0 0 auto;margin-left:2px;transition:transform .2s ease;}
a.hill-announce:hover .hill-announce__arrow{transform:translateX(3px);}

/* ---- CF7 consent checkboxes ---- */
.hill-consent{margin:8px 0 2px;}
.hill-consent .wpcf7-form-control.wpcf7-acceptance,
.hill-consent .wpcf7-list-item{margin:0;display:block;}
.hill-consent label{display:flex;flex-direction:row;align-items:flex-start;gap:9px;cursor:pointer;font-size:12px;line-height:1.45;color:var(--hill-grey);font-weight:400;text-align:left;}
.hill-consent .wpcf7-list-item-label{flex:1 1 auto;}
.hill-consent input[type=checkbox]{margin:1px 0 0;flex:0 0 auto;width:15px;height:15px;accent-color:var(--hill-purple);}
.hill-consent a{color:var(--hill-purple);text-decoration:underline;}
.hill-consent--light{max-width:420px;}
.hill-consent--light label{color:rgba(255,255,255,.7);}
.hill-consent--light a{color:var(--hill-yellow);}
.hill-consent--light input[type=checkbox]{accent-color:var(--hill-yellow);}
/* newsletter submit (moved below the consent line) */
.hill-subscribe-submit{margin-top:12px;max-width:420px;}
.hill-subscribe-submit input[type=submit]{width:100%;background:var(--hill-purple);color:#fff;border:none;padding:13px 22px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease;}
.hill-subscribe-submit input[type=submit]:hover{background:var(--hill-purple-d);}

/* ---- Keep the banner watermark clear of the ticker + header ---- */
body.has-announce .hill-page-header__ball{background-position:center 50%;}

/* ---- Legal pages: centered banner + rich body ---- */
.hill-page-header.is-legal .hill-page-header__inner{text-align:center;}
.hill-legal__body{margin:0;}
.hill-legal__body p{margin:0 0 14px;}
.hill-legal__body p:last-child{margin-bottom:0;}
.hill-legal__body a{color:var(--hill-purple);text-decoration:underline;}
.hill-legal__body a:hover{color:var(--hill-purple-d);}
.hill-legal__body strong{font-weight:700;color:var(--hill-ink);}

/* ---- Gallery lightbox ---- */
.hill-gallery__cell[data-full]{cursor:pointer;}
.hill-gallery__cell[data-full]:focus-visible{outline:3px solid var(--hill-yellow);outline-offset:3px;}
.hill-lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(4,1,5,.93);padding:6vh 5vw;}
.hill-lightbox.is-open{display:flex;}
.hill-lightbox__img{max-width:100%;max-height:88vh;object-fit:contain;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.hill-lightbox button{border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;line-height:1;}
.hill-lightbox button:hover{background:rgba(255,255,255,.24);}
.hill-lightbox__close{position:absolute;top:20px;right:24px;width:46px;height:46px;border-radius:50%;font-size:22px;}
.hill-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;font-size:30px;padding-bottom:4px;}
.hill-lightbox__nav.is-prev{left:24px;}
.hill-lightbox__nav.is-next{right:24px;}
.hill-lightbox__counter{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:rgba(255,255,255,.7);font-size:13px;letter-spacing:.06em;}
@media (max-width:640px){
  .hill-lightbox__nav{width:44px;height:44px;font-size:26px;}
  .hill-lightbox__nav.is-prev{left:8px;} .hill-lightbox__nav.is-next{right:8px;}
  .hill-lightbox__close{top:10px;right:12px;}
}

/* ---- Membership plan: collapsible details ("…" toggle) ---- */
.hill-plan__perks.is-collapsed{display:none;}
.hill-plan__toggle{
  display:inline-flex;align-items:center;gap:9px;
  margin-top:2px;padding:8px 0;
  background:none;border:0;cursor:pointer;
  font:inherit;font-size:13px;font-weight:600;letter-spacing:.01em;color:#6a6472;
}
.hill-plan__toggle:hover .label{color:#200A26;text-decoration:underline;}
.hill-plan__toggle .dots{display:inline-flex;align-items:center;gap:4px;}
.hill-plan__toggle .dots i{width:5px;height:5px;border-radius:50%;background:#F4BC08;display:block;transition:transform .15s ease;}
.hill-plan__toggle:hover .dots i{transform:translateY(-1px);}
.hill-plan__toggle[aria-expanded="true"] .dots{display:none;}
.hill-plan__toggle:focus-visible{outline:2px solid #F4BC08;outline-offset:3px;border-radius:4px;}

/* ---- Page header: "Read more" for an over-long lead (JS-driven, progressive) ---- */
.hill-page-header__lead.is-clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.hill-page-header__readmore{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:4px 0;background:none;border:0;cursor:pointer;font:inherit;font-size:14px;font-weight:700;color:#F4BC08;text-decoration:underline;text-underline-offset:3px;}
.hill-page-header__readmore:hover{color:#fff;}
.hill-page-header__readmore:focus-visible{outline:2px solid #F4BC08;outline-offset:3px;border-radius:4px;}

/* ---- Gold asterisk marker + membership "Good to know" notes box ---- */
.hill-star{color:#F4BC08;font-weight:800;padding-left:1px;}
.hill-pricing__notes{max-width:820px;margin:30px auto 0;padding:18px 22px 20px;
  background:linear-gradient(180deg,#fbf8f0,#f7f2e6);border:1px solid #efe3c6;border-radius:16px;}
.hill-pricing__notes-title{margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:#8a8391;}
.hill-pricing__notes ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px;}
.hill-pricing__notes li{margin:0;font-size:13.5px;line-height:1.55;color:#4a4550;}
.hill-pricing__notes li.has-star{padding-left:18px;text-indent:-18px;}
.hill-pricing__notes li.has-star .hill-star{display:inline-block;width:12px;text-indent:0;}
@media (max-width:600px){
  .hill-pricing__notes{padding:16px 16px 18px;border-radius:14px;}
  .hill-pricing__notes li{font-size:13px;}
}
