/* Project P local homepage exploration. Original branding and content retained. */
.homepage-variation{--variation-space:clamp(55px,6vw,90px)}
.homepage-variation main{padding-bottom:1px}
.homepage-variation .booking-strip{max-width:1440px;margin:0 auto 16px;padding:12px 24px;background:var(--navy);color:var(--white);text-align:center;border-radius:12px}
.homepage-variation .booking-strip p{margin:0;display:flex;justify-content:center;gap:8px 14px;flex-wrap:wrap;align-items:center;font-size:16px;line-height:1.5}
.homepage-variation .booking-strip p>span:first-child{font-weight:600}
.homepage-variation .booking-strip a{color:var(--orange);font-weight:650;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.homepage-variation .booking-strip a:hover,.homepage-variation .booking-strip a:focus-visible{color:var(--blue)}
.homepage-variation main>.hero{min-height:560px;grid-template-columns:1fr 1fr;border-radius:20px;box-shadow:0 10px 30px rgba(8,40,101,.10)}
.homepage-variation main>.hero .hero-copy{padding:48px 9% 48px 10%}
.homepage-variation main>.hero h1{max-width:600px}
.homepage-variation .hero .lead{max-width:550px;font-size:19px;line-height:1.7}
.homepage-variation .hero-photo{position:relative;min-height:560px}
.homepage-variation .hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;transform:translate3d(0,var(--portrait-shift,0px),0) scale(1.035)}
.homepage-variation .hero-detail{font-size:14px}
.homepage-variation .variation-intro{max-width:1240px;margin:auto;padding:var(--variation-space) 50px 65px;grid-template-columns:1fr 1fr;gap:30px 80px;align-items:start}
.homepage-variation .variation-intro h2{font-size:38px;line-height:1.18;margin-bottom:28px}
.homepage-variation .thinking-copy>p:not(.eyebrow){font-size:18px;line-height:1.8;color:var(--navy)}
.homepage-variation .challenge-groups{padding-top:8px}
.homepage-variation .challenge-group{border-top:2px solid var(--orange);padding:24px 0 20px}
.homepage-variation .challenge-group+.challenge-group{border-top-color:var(--navy)}
.homepage-variation .challenge-group h3{margin:0 0 16px;font-size:24px;line-height:1.3}
.homepage-variation .challenge-group ul{padding:0;margin:0;list-style:none}
.homepage-variation .challenge-group li{position:relative;font-size:17px;line-height:1.75;padding-left:22px;margin-bottom:12px}
.homepage-variation .challenge-group li::before{content:"";position:absolute;left:0;top:12px;width:6px;height:6px;border-radius:50%;background:var(--orange)}
.homepage-variation .thinking-close{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:28px}
.homepage-variation .thinking-close>p{font-size:20px!important;line-height:1.7;max-width:940px;margin:0;color:var(--navy)}
.homepage-variation .variation-method{max-width:1240px;margin:0 auto var(--variation-space);padding:60px 55px;display:grid;grid-template-columns:1fr 1fr;gap:65px;border-radius:20px;box-shadow:none;overflow:clip}
.homepage-variation .variation-method::before{inset:0 0 0 40%;opacity:.09}
.homepage-variation .method-heading{align-self:start;position:sticky;top:35px}
.homepage-variation .method-heading h2{font-size:36px;line-height:1.25;margin-bottom:32px}
.homepage-variation .method-heading .button{max-width:100%}
.homepage-variation .method-sequence{position:relative;padding-left:42px}
.homepage-variation .method-track{position:absolute;top:20px;bottom:30px;left:14px;width:2px;background:rgba(255,255,255,.22)}
.homepage-variation .method-track span{display:block;width:100%;height:calc(var(--method-progress,0)*100%);background:var(--orange);transition:height .12s linear}
.homepage-variation .method-step{position:relative;padding:0 0 38px;color:var(--white)}
.homepage-variation .method-step:last-child{padding-bottom:0}
.homepage-variation .method-number{position:absolute;left:-42px;top:1px;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;font-size:12px;font-weight:700;background:var(--navy);border:1px solid rgba(255,255,255,.45);color:var(--white);transition:background .3s,color .3s,border-color .3s}
.homepage-variation .method-stage{font-size:14px!important;letter-spacing:.09em;font-weight:650;color:var(--orange);margin:0 0 12px}
.homepage-variation .method-step h3{font-size:26px;line-height:1.25;color:var(--white);margin:0 0 16px}
.homepage-variation .method-step>div>p:last-child{font-size:17px;line-height:1.8;margin-bottom:0;color:var(--white)}
.homepage-variation.motion-enabled .method-step.step-pending{opacity:.4;transform:translateY(16px)}
.homepage-variation.motion-enabled .method-step{transition:opacity .65s ease,transform .65s ease}
.homepage-variation .method-step.is-active .method-number{background:var(--orange);border-color:var(--orange);color:var(--navy)}
.homepage-variation .variation-support{max-width:1240px;margin:0 auto var(--variation-space);padding:55px 50px 50px;border-radius:20px;background:var(--cream);box-shadow:0 12px 36px rgba(8,40,101,.10)}
.homepage-variation .variation-support .section-heading{margin-bottom:35px}
.homepage-variation .variation-support h2{font-size:38px;line-height:1.2}
.homepage-variation .variation-support .service-grid{gap:24px}
.homepage-variation .variation-support .service-card{padding:30px 26px 26px;min-height:490px}
.homepage-variation .service-stage{display:flex;justify-content:space-between;gap:12px;align-items:start;min-height:37px}
.homepage-variation .service-stage .eyebrow{font-size:16px;margin-bottom:15px}
.homepage-variation .service-number{font-size:15px;color:var(--navy);opacity:.55;font-weight:600}
.homepage-variation .variation-support .service-card h3{font-size:24px;line-height:1.35;margin-bottom:20px}
.homepage-variation .variation-support .service-card p:not(.eyebrow):not(.service-meta){font-size:17px}
.homepage-variation .variation-support .service-card .service-meta{font-size:15px}
.homepage-variation .about{max-width:1240px;margin:0 auto var(--variation-space);padding:50px;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.homepage-variation .about-photo img{height:510px;object-position:center 25%}
.homepage-variation .about-copy h2{font-size:38px}
.homepage-variation .variation-experiences{max-width:1240px;padding:55px 50px 50px;margin:0 auto var(--variation-space);border-radius:20px;background:var(--cream)}
.homepage-variation .experience-heading{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:end;margin-bottom:30px}
.homepage-variation .experience-heading .section-heading{margin-bottom:0}
.homepage-variation .experience-heading h2{font-size:38px;max-width:720px;line-height:1.2}
.homepage-variation .experience-heading .section-heading>p:last-child{margin-bottom:0}
.homepage-variation .experience-controls{display:none;align-items:center;gap:10px;padding-bottom:3px}
.homepage-variation .experience-controls.is-ready{display:flex}
.homepage-variation .experience-count{font-size:14px;min-width:43px;margin-right:4px}
.homepage-variation .experience-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #b4c4da;border-radius:50%;background:var(--white);color:var(--navy);font-size:23px;cursor:pointer;transition:background .2s,color .2s}
.homepage-variation .experience-controls button:hover:not(:disabled){background:var(--navy);color:var(--white)}
.homepage-variation .experience-controls button:disabled{opacity:.35;cursor:default}
.homepage-variation .quote-rail{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 26px)/2);gap:26px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#9aacc7 transparent;padding:8px 5px 24px;margin:0 -5px}
.homepage-variation .quote-rail .quote{scroll-snap-align:start;min-width:0;margin:0;padding:32px;display:flex;flex-direction:column;box-shadow:0 8px 20px rgba(8,40,101,.08)}
.homepage-variation .quote-rail .quote blockquote{font-size:18px;line-height:1.85;flex:1}
.homepage-variation .quote-rail .quote figcaption{margin-top:18px}
.homepage-variation .contact{max-width:1240px;margin:auto;padding:0 50px 80px}
@media(max-width:1100px){
 .homepage-variation main>.hero .hero-copy{padding-left:7%;padding-right:7%}
 .homepage-variation .variation-intro{padding:65px 35px 50px;gap:30px 40px}
 .homepage-variation .variation-method{margin-left:30px;margin-right:30px;padding:45px 35px;gap:40px}
 .homepage-variation .method-heading h2{font-size:30px}
 .homepage-variation .variation-support,.homepage-variation .variation-experiences,.homepage-variation .about{margin-left:30px;margin-right:30px;padding:40px 35px}
 .homepage-variation .variation-support .service-card{padding:25px 20px}
 .homepage-variation .about{gap:40px}
 .homepage-variation .about-photo img{height:440px}
 .homepage-variation .experience-heading{grid-template-columns:1fr}
}
@media(max-width:800px){
 .homepage-variation main>.hero{min-height:540px}
 .homepage-variation .hero-photo{min-height:540px}
 .homepage-variation .hero .lead{font-size:17px}
 .homepage-variation .variation-intro{grid-template-columns:1fr;gap:20px}
 .homepage-variation .challenge-groups{display:grid;grid-template-columns:1fr 1fr;gap:30px}
 .homepage-variation .variation-intro h2{max-width:640px}
 .homepage-variation .thinking-copy>p:not(.eyebrow){max-width:700px}
 .homepage-variation .variation-method{grid-template-columns:1fr;gap:35px}
 .homepage-variation .method-heading{position:static}
 .homepage-variation .method-heading h2{font-size:32px}
 .homepage-variation .variation-support .service-grid{grid-template-columns:1fr}
 .homepage-variation .variation-support .service-card{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 32px}
 .homepage-variation .service-stage,.homepage-variation .variation-support .service-card h3{grid-column:1}
 .homepage-variation .variation-support .service-card>p:not(.service-meta){grid-column:2;grid-row:1 / span 2}
 .homepage-variation .variation-support .service-card .service-meta{grid-column:1;margin:0;padding-top:8px}
 .homepage-variation .variation-support .service-card .button{grid-column:2;grid-row:3;align-self:end}
 .homepage-variation .about{grid-template-columns:.8fr 1.2fr;gap:30px}
 .homepage-variation .about-photo img{height:360px}
}
@media(max-width:640px){
 .homepage-variation .booking-strip{border-radius:0;padding:12px 20px;margin-bottom:12px}
 .homepage-variation .booking-strip p{font-size:15px;gap:3px 8px}
 .homepage-variation .booking-strip p>span:first-child{flex-basis:100%}
 .homepage-variation .booking-strip a{flex-basis:100%}
 .homepage-variation main>.hero{grid-template-columns:1fr;min-height:0;border-radius:12px}
 .homepage-variation main>.hero .hero-copy{padding:32px 25px}
 .homepage-variation .hero .lead{font-size:16px}
 .homepage-variation .hero-photo{height:330px;min-height:0}
 .homepage-variation .hero-photo img{object-position:65% center}
 .homepage-variation .variation-intro{padding:50px 25px 40px;gap:20px}
 .homepage-variation .variation-intro h2,.homepage-variation .variation-support h2,.homepage-variation .about-copy h2,.homepage-variation .experience-heading h2{font-size:32px}
 .homepage-variation .thinking-copy>p:not(.eyebrow){font-size:16px}
 .homepage-variation .challenge-groups{grid-template-columns:1fr;gap:5px}
 .homepage-variation .challenge-group{padding-top:22px;padding-bottom:15px}
 .homepage-variation .challenge-group h3{font-size:23px}
 .homepage-variation .challenge-group li{font-size:16px}
 .homepage-variation .thinking-close{padding-top:22px}
 .homepage-variation .thinking-close>p{font-size:18px!important}
 .homepage-variation .variation-method{margin:0 18px 45px;padding:35px 25px;border-radius:12px;gap:35px}
 .homepage-variation .method-heading h2{font-size:29px}
 .homepage-variation .method-step h3{font-size:24px}
 .homepage-variation .method-step>div>p:last-child{font-size:16px}
 .homepage-variation .variation-support,.homepage-variation .variation-experiences,.homepage-variation .about{margin:0 18px 45px;padding:35px 25px;border-radius:12px}
 .homepage-variation .variation-support .service-card{display:flex;gap:0;padding:28px 24px}
 .homepage-variation .variation-support .service-card h3{font-size:24px}
 .homepage-variation .variation-support .service-card p:not(.eyebrow):not(.service-meta){font-size:16px}
 .homepage-variation .variation-support .service-card .service-meta{margin:18px 0 22px}
 .homepage-variation .variation-support .service-card .button{margin-top:auto}
 .homepage-variation .about{display:flex;flex-direction:column;gap:30px}
 .homepage-variation .about-photo{max-width:none;width:100%}
 .homepage-variation .about-photo img{height:400px}
 .homepage-variation .about-copy p:not(.eyebrow){font-size:16px}
 .homepage-variation .experience-heading{gap:22px;margin-bottom:22px}
 .homepage-variation .quote-rail{grid-auto-columns:calc(100% - 14px);gap:18px}
 .homepage-variation .quote-rail .quote{padding:26px}
 .homepage-variation .quote-rail .quote blockquote{font-size:16px;line-height:1.8}
 .homepage-variation .contact{padding:5px 25px 55px}
}
@media(prefers-reduced-motion:reduce){
 .homepage-variation .hero-photo img{transform:none}
 .homepage-variation.motion-enabled .method-step.step-pending{opacity:1;transform:none}
 .homepage-variation .method-step,.homepage-variation .method-number,.homepage-variation .method-track span{transition:none}
 .homepage-variation .quote-rail{scroll-behavior:auto}
}
.homepage-variation .variation-experiences .eyebrow{font-family:Roboto,Arial,sans-serif;font-size:14px;color:var(--blue)}
/* Align actions independently of the privacy note below the form. */
@media(min-width:901px){.homepage-variation .contact:has(.google-enquiry-connected) .contact-copy{padding-bottom:calc(40px + var(--enquiry-note-height,0px))}}
@media(min-width:641px) and (max-width:900px){.homepage-variation .contact:has(.google-enquiry-connected) .contact-copy{padding-bottom:calc(34px + var(--enquiry-note-height,0px))}}

/* Keep the homepage menu and booking invitation visible as one unit. */
.homepage-variation .homepage-sticky-header{position:sticky;top:0;z-index:100;background:var(--white);box-shadow:0 4px 16px rgba(8,40,101,.07)}
.homepage-variation .homepage-sticky-header .site-header{position:relative;top:auto}
.homepage-variation .homepage-sticky-header .booking-strip{margin-bottom:0}
.homepage-variation main{padding-top:16px}
.homepage-variation .method-heading{top:calc(var(--homepage-header-height,145px) + 24px)}
html:has(.homepage-variation){scroll-padding-top:calc(var(--homepage-header-height,145px) + 20px)}
@media(max-width:640px){.homepage-variation main{padding-top:12px}}

/* Keep the closing thought visibly within Space to Think. */
.homepage-variation .thinking-close{border-top:0;border-left:3px solid var(--orange);background:var(--cream);border-radius:0 12px 12px 0;padding:23px 28px;margin-top:-8px}
.homepage-variation .thinking-close>p{max-width:none;font-size:18px!important;line-height:1.8}
@media(max-width:640px){.homepage-variation .thinking-close{padding:20px 22px;margin-top:0}.homepage-variation .thinking-close>p{font-size:16px!important}}

/* Founder’s M.O.: mirror the background photo and lower its placement slightly. */
.homepage-variation .variation-method::before{transform:scaleX(-1);background-position:center 15%}
@media(max-width:640px){.homepage-variation .variation-method::before{background-position:65% 12%}}

/* Place the faint Founder’s M.O. photograph behind the quieter left column. */
.homepage-variation .variation-method::before{inset:0 45% 0 0;transform:scaleX(-1);background-position:center 15%;mask-image:linear-gradient(to right,transparent 0%,#000 50%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 50%)}
@media(max-width:640px){.homepage-variation .variation-method::before{inset:0 0 55% 0;background-position:65% 12%}}

/* Repeated accent lines follow the brand sequence, including the fourth quote. */
.homepage-variation .quote:nth-child(3n+1){border-top-color:var(--orange)}
.homepage-variation .quote:nth-child(3n+2){border-top-color:var(--navy)}
.homepage-variation .quote:nth-child(3n){border-top-color:var(--blue)}

/* Readable privacy information stays inside the enquiry card. */
.homepage-variation .contact form .google-enquiry-fallback{font-size:18px;line-height:1.6;margin:16px 0 0;color:var(--navy)}
@media(min-width:641px){.homepage-variation .contact .google-enquiry-connected .google-enquiry-frame{margin-top:auto}}
.homepage-variation .footer-bottom .privacy-access{margin:0;padding:0;background:transparent;text-align:left;display:inline-flex}
.homepage-variation .footer-bottom .privacy-access button{padding:0;font:inherit;color:var(--navy);line-height:inherit;text-underline-offset:5px}
.homepage-variation .contact form.enquiry-native[aria-busy="true"] button{cursor:wait}
@media(min-width:901px){.homepage-variation .contact form.enquiry-native{padding-bottom:40px}}
@media(min-width:641px) and (max-width:900px){.homepage-variation .contact form.enquiry-native{padding-bottom:34px}}

/* Keep the homepage Clarity service title on a single responsive line. */
.homepage-variation .variation-support .service-card:first-child{container-type:inline-size}
.homepage-variation .variation-support .service-card:first-child h3{font-size:clamp(14px,7cqi,22px);white-space:nowrap}

/* Align the thinking-partner CTA with the closing sentence. */
.homepage-variation .about{align-items:stretch}
.homepage-variation .about-photo{display:flex;flex-direction:column;gap:36px}
.homepage-variation .about-photo .button{margin-top:auto}
@media(max-width:640px){.homepage-variation .about-photo{gap:26px}}

/* Space to Think: the same check marks as the Project P Approach list. */
.homepage-variation .challenge-group li{display:flex;align-items:flex-start;gap:16px;padding-left:0;min-width:0}
.homepage-variation .challenge-group li::before{content:none}
.homepage-variation .thinking-tick{color:var(--orange);border:1px solid currentColor;flex:0 0 36px;height:36px;display:grid;place-items:center;border-radius:50%;margin-top:2px}
.homepage-variation .challenge-group li:nth-child(3n+2) .thinking-tick{color:var(--navy)}
.homepage-variation .challenge-group li:nth-child(3n) .thinking-tick{color:var(--blue)}
.homepage-variation .thinking-tick svg{width:22px;height:22px}
.homepage-variation .thinking-item-text{min-width:0}
