:root{--ink:#101010;--yellow:#eef386;--lavender:#9caee4;--lavender-deep:#7a93dd;--paper:#f5fafb;--muted:#565b60;--line:#d5dbdc;--space:clamp(56px,7vw,100px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font:17px/1.65 'Helvetica Neue',Helvetica,Arial,sans-serif;color:var(--ink);background:white;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}img{max-width:100%;display:block}button,input,select{font:inherit}a{color:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.06;letter-spacing:-.045em}h1{font-size:clamp(46px,5.2vw,76px)}h2{font-size:clamp(34px,3.7vw,52px)}h3{font-size:28px}p+p{margin-top:18px}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.section{padding-block:var(--space)}.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:22px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 25px;background:var(--yellow);color:var(--ink);border:1px solid var(--yellow);font-size:14px;font-weight:700;text-decoration:none;text-align:center;border-radius:3px;line-height:1.3;transition:background .18s,color .18s,transform .18s}.btn:hover{background:#e1e76d;border-color:#e1e76d;transform:translateY(-2px)}.btn.outline{background:transparent;border-color:var(--ink)}.btn.outline:hover{background:var(--ink);color:white}.phone{display:inline-flex;align-items:center;gap:10px;font-size:14px;text-decoration:none;min-height:44px}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.skip{position:absolute;left:16px;top:-100px;z-index:100;background:var(--yellow);padding:14px}.skip:focus{top:12px}:focus-visible{outline:3px solid #425ba0;outline-offset:5px}.header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #e9e9e9}.header-row{display:flex;justify-content:space-between;align-items:center;min-height:94px;gap:25px}.brand{display:flex;align-items:center;gap:24px;text-decoration:none}.brand img{width:100px;height:auto}.brand span{border-left:1px solid #c4c4c4;padding-left:24px;font-size:13px;line-height:1.2}.header-actions{display:flex;align-items:center;gap:30px}.header-actions .btn{min-height:46px}.hero{position:relative;background:#181b1d;color:white;isolation:isolate}.hero-media{position:absolute;inset:0;z-index:-1}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:42% center;opacity:.52}.hero:before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(0,0,0,.77),rgba(0,0,0,.4) 50%,rgba(0,0,0,.15))}.hero-grid{position:relative;display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(40px,7vw,100px);align-items:center;padding-block:64px}.hero-copy .eyebrow{color:var(--yellow)}h1 em{font-style:normal;color:var(--yellow)}.lead{font-size:18px;line-height:1.65;max-width:500px;margin-top:26px;color:#f0f0f0}.offer-inline{margin-top:30px;border-top:1px solid #ffffff65;padding-top:24px;display:flex;flex-direction:column;gap:7px}.offer-inline strong{font-size:31px;font-weight:400;letter-spacing:-.02em}.offer-inline strong span{color:var(--yellow)}.offer-inline>span{font-size:13px;color:#e2e2e2}.hero-detail{font-size:14px;margin-top:22px;color:#e2e2e2}.hero-copy>.phone{margin-top:17px;font-size:16px}.form-card{background:white;color:var(--ink);padding:34px;border-top:4px solid var(--yellow);border-radius:4px;box-shadow:0 16px 45px #0002;scroll-margin-top:116px}.form-top .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:13px}.form-top h2{font-size:36px}.form-top p{font-size:14px;line-height:1.6;color:#565b60;margin-top:14px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 13px;margin-top:24px}.field{min-width:0}.field:first-child,.field:last-child{grid-column:1/-1}.field label{display:block;font-weight:700;font-size:11px;letter-spacing:.02em;margin-bottom:6px}input,select{width:100%;min-height:48px;border:1px solid #bec3c5;border-radius:2px;background:white;color:#101010;padding:11px 12px;font-size:15px}input::placeholder{color:#73787c}.enquiry-form>.btn{width:100%;margin-top:16px}.form-note{font-size:11px;line-height:1.65;color:#565b60;margin-top:16px}.legal-link{border:0;background:none;padding:0;color:inherit;text-decoration:underline;font-size:inherit;min-height:30px}.form-foot{font-size:10px;color:#565b60;margin-top:12px}.modality-strip{background:var(--yellow);padding-block:23px}.modality-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px}.modality-strip span{font-size:21px;letter-spacing:-.02em}.modality-strip i{font-style:normal;font-size:30px}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:center}.experience-image{position:relative;align-self:stretch;min-height:460px}.experience-image>img{width:100%;height:100%;object-fit:cover;object-position:60% center}.image-label{position:absolute;left:0;bottom:0;background:var(--yellow);font-size:12px;font-weight:700;padding:18px 22px}.experience-copy>.large{font-size:21px;line-height:1.45;margin-top:25px}.experience-copy>p:not(.large){color:var(--muted);margin-top:18px}.experience-copy>.btn{margin-top:27px}.feature-lines{margin-top:25px}.feature-lines p{display:flex;gap:22px;border-top:1px solid var(--line);padding-block:13px;font-size:14px}.feature-lines p+p{margin-top:0}.feature-lines span{color:#5d66a5;font-size:11px}.section-head{max-width:680px;margin-bottom:40px}.section-head>p{margin-top:20px;color:var(--muted)}.lavender{background:var(--lavender)}.tabs{display:flex;border-bottom:1px solid #1115;gap:30px;margin-bottom:35px}.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:14px 8px;min-width:100px;min-height:48px;font-size:18px}.tabs button[aria-selected=true]{border-bottom-color:#101010;font-weight:700}.movement-panel{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.movement-panel[hidden]{display:none}.movement-panel h3{font-size:36px;max-width:420px}.movement-panel p{margin-top:22px;max-width:460px}.movement-panel .small{font-size:13px}.movement-panel .btn{margin-top:27px}.movement-panel img{width:100%;height:400px;object-fit:cover;object-position:center 40%}.offer-band{background:var(--ink);color:white;padding-block:65px}.offer-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:70px}.offer-band .eyebrow{color:var(--yellow)}.price{text-align:center;border-left:1px solid #fff4;padding-left:60px}.price strong{font-size:105px;letter-spacing:-.075em;font-weight:400;line-height:1}.price>p{margin-top:10px;color:#e8e8e8}.price .btn{margin-top:23px}.price small{display:block;color:#bbb;font-size:11px;margin-top:13px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps article{border-top:2px solid var(--lavender-deep);padding-top:23px}.step-number{font-size:12px;display:block;margin-bottom:35px;color:#5d66a5}.steps h3{font-size:25px}.steps p{color:var(--muted);font-size:15px;line-height:1.65;margin-top:15px}.location-section{background:var(--paper)}.location-section .split{align-items:stretch}.location-section .split>div{align-self:center}.location-section h2+p{margin-top:23px;color:var(--muted)}.location-section .split>div>p:last-of-type{font-size:14px;color:var(--muted);margin-top:20px}.address{display:flex;gap:15px;align-items:start;margin-top:27px;border-top:1px solid var(--line);padding-top:25px;font-size:15px}.address .icon{margin-top:5px}.location-image{width:100%;height:100%;max-height:610px;object-fit:cover;object-position:center 35%}.faq-wrap{max-width:840px}.faq-section .section-head{text-align:center;margin-inline:auto}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{font-size:18px;padding:24px 45px 24px 0;position:relative;cursor:pointer;list-style:none;line-height:1.4}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:5px;top:20px;font-size:26px;font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-answer{padding:0 45px 26px 0;color:var(--muted);font-size:15px}.closing{text-align:center;background:var(--yellow);padding-block:75px}.closing h2{font-size:clamp(40px,4.7vw,64px)}.closing h2+p{margin-top:23px;font-size:17px}.closing .btn{background:var(--ink);border-color:var(--ink);color:white;margin-top:28px}.closing .btn:hover{background:#333}.closing .closing-price{font-size:12px;margin-top:16px}footer{background:#101010;color:white;padding:55px 0}.footer-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px}.footer-brand img{width:90px}.footer-brand p{font-size:13px;margin-top:18px;color:#ccc}.footer-row>div>p{font-size:13px;color:#ccc;margin-top:12px}.footer-legal{display:flex;flex-direction:column;align-items:start;gap:7px}.footer-legal button{background:none;border:0;color:#eee;text-decoration:underline;padding:5px 0;min-height:36px;font-size:12px}.footer-legal small{color:#aaa;font-size:10px;margin-top:10px}.legal-modal{padding:0;border:0;border-radius:5px;width:min(850px,calc(100% - 30px));max-height:85vh;color:var(--ink);background:#fff}.legal-modal::backdrop{background:#000a}.modal-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 25px;position:sticky;top:0;background:var(--yellow);border-bottom:1px solid var(--line)}.modal-bar h2{font-size:24px;letter-spacing:-.02em}.modal-close{font-size:30px;min-width:44px;min-height:44px;background:none;border:0}.policy-body{padding:25px;font-size:14px;overflow-wrap:anywhere}.policy-body p{margin-block:15px}.policy-body h3,.policy-body h4{font-size:19px;line-height:1.3;letter-spacing:0;margin-block:20px}.policy-body li{margin-bottom:10px}.policy-body table{display:block;max-width:100%;overflow:auto}.thank-you .wrap{max-width:720px;min-height:45vh}.thank-you h1{font-size:52px}.thank-you p{margin-top:25px}.thank-you .btn{margin-top:28px}.wpcf7-form .field-grid{margin-top:24px}.wpcf7-form-control-wrap{display:block}.wpcf7-not-valid-tip{font-size:12px!important}.wpcf7-response-output{font-size:13px;margin:15px 0 0!important;padding:12px!important}.wpcf7-spinner{display:block;margin:10px auto!important}.wpcf7-form .btn{width:100%;margin-top:16px}.wpcf7-form input[type=submit]{cursor:pointer;font-size:14px;font-weight:700}.wpcf7-form p:empty{display:none}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero-grid{gap:35px;grid-template-columns:1fr 1fr}.header-actions{gap:20px}.brand{gap:15px}.brand span{padding-left:15px}.form-card{padding:27px}.hero-copy h1{font-size:54px}.split{gap:40px}.movement-panel{gap:40px}.movement-panel img{height:370px}.offer-grid{gap:35px}.price{padding-left:35px}.footer-row{gap:30px}.steps{gap:30px}.hero-grid{padding-block:50px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-row{min-height:76px;gap:15px}.brand img{width:76px}.brand span{font-size:10px;max-width:80px}.header-actions>.phone{display:none}.header-actions .btn{font-size:11px;padding:12px 13px;min-height:44px}.hero-grid{grid-template-columns:1fr;gap:35px;padding-block:43px}.hero-copy h1{font-size:53px}.hero-copy .lead{font-size:17px;max-width:500px}.hero-media img{object-position:30% top}.hero:before{background:linear-gradient(180deg,#0009,#000b 50%,#0008)}.hero-detail{margin-top:19px}.offer-inline{margin-top:24px;padding-top:20px}.form-card{padding:27px 23px;max-width:560px;width:100%;margin:auto}.form-top h2{font-size:33px}.modality-strip .wrap{gap:8px;flex-wrap:wrap}.modality-strip span{font-size:14px}.modality-strip i{font-size:20px}.split,.movement-panel{grid-template-columns:1fr;gap:34px}.experience-image{min-height:0;aspect-ratio:1.2}.experience-copy h2{font-size:38px}.experience-copy .large{font-size:20px}.image-label{font-size:10px;padding:14px}.tabs{gap:12px;margin-bottom:28px}.tabs button{min-width:0;flex:1;font-size:16px;padding:13px 8px}.movement-panel{gap:30px}.movement-panel h3{font-size:33px}.movement-panel img{height:auto;aspect-ratio:1.2;max-height:480px}.movement-panel p{margin-top:18px}.offer-grid{grid-template-columns:1fr;gap:30px;text-align:center}.price{border-left:0;border-top:1px solid #fff4;padding:30px 0 0}.price strong{font-size:92px}.offer-band h2{font-size:38px}.steps{grid-template-columns:1fr;gap:26px}.steps article{position:relative;padding:22px 0 0 54px}.step-number{position:absolute;left:0;top:26px;margin:0}.steps h3{font-size:24px}.steps p{margin-top:12px}.location-image{height:auto;aspect-ratio:1;max-height:500px}.section-head{margin-bottom:30px}.section-head h2{font-size:35px}.location-section .actions .btn{flex:1;min-width:145px}.faq-list summary{font-size:16px}.faq-answer{font-size:14px;padding-right:20px}.closing{padding-block:57px}.closing h2{font-size:43px}.closing h2+p{font-size:16px}.footer-row{grid-template-columns:1fr 1fr;gap:30px}.footer-legal{grid-column:1/-1}.footer-brand img{width:80px}.thank-you h1{font-size:40px}.modal-bar{padding:15px}.modal-bar h2{font-size:21px}.policy-body{padding:20px}.form-card{scroll-margin-top:96px}}
@media(max-width:390px){.wrap{width:calc(100% - 32px)}.brand{gap:10px}.brand span{padding-left:10px;max-width:70px}.brand img{width:65px}.hero-copy h1{font-size:46px}.field-grid{grid-template-columns:1fr}.form-card{padding:24px 20px}.modality-strip span{font-size:13px}.modality-strip i{font-size:15px}.footer-row{grid-template-columns:1fr}.footer-legal{grid-column:auto}.header-actions .btn{font-size:10px;padding-inline:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* QA corrections, 6 November 2026: legibility, touch targets, contrast, tablet fields. */
.eyebrow,.form-top .eyebrow{font-size:12px}.form-top .eyebrow{letter-spacing:.1em}
.field label{font-size:13px}.form-note{font-size:12px;line-height:1.6}.form-foot{font-size:12px}
.legal-row{display:flex;flex-wrap:wrap;gap:0 22px;margin-top:2px}
.legal-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
.feature-lines span,.image-label,.price small{font-size:12px}
.footer-legal button{min-height:44px;font-size:13px}.footer-legal small{font-size:12px;line-height:1.6}
.brand{min-height:44px}
.lavender .section-head>p{color:#23272b}
input::placeholder{color:#63686c}
.hero :focus-visible,.offer-band :focus-visible,footer :focus-visible{outline-color:var(--yellow)}
.lavender :focus-visible{outline-color:var(--ink)}
.policy-operator{margin:0 0 18px;padding:12px 14px;background:var(--paper);border-left:3px solid var(--lavender-deep)}
@media(min-width:761px) and (max-width:1100px){.field-grid{grid-template-columns:1fr}}
@media(max-width:760px){.brand span{font-size:12px;max-width:92px}.header-actions .btn{font-size:12px;padding:10px 12px}.image-label{font-size:12px}}
@media(max-width:390px){.brand span{max-width:74px}.header-actions .btn{font-size:12px;padding:8px 9px;max-width:112px;line-height:1.2}.modality-strip span{font-size:13px}}
/* Design review, Janelle Estavillo, 6 November 2026. */
.offer-inline{display:inline-flex;margin-top:28px;padding:18px 24px;border:1px solid rgba(255,255,255,.34);border-radius:4px;background:rgba(255,255,255,.09)}
.hero-detail{margin-top:20px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}
.hero-request{display:none}
.hero-actions .phone,.header-actions>.phone{min-height:48px;padding:11px 20px;border:1px solid currentColor;border-radius:3px;font-size:14px;font-weight:700;transition:background .18s,color .18s}
.header-actions>.phone{min-height:46px;border-color:var(--ink)}
.header-actions>.phone:hover{background:var(--ink);color:#fff}
.hero-actions .phone{border-color:rgba(255,255,255,.75)}
.hero-actions .phone:hover{background:#fff;color:var(--ink)}
/* Design review, second note, 6 November: the offer box and the call button were both outlined boxes. The call button is the action, so from 761px up it takes the page's solid yellow-green button fill. On phones the solid Request My Intro Offer button leads and the call button stays outlined under it. */
@media(min-width:761px){.hero-actions .phone{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.hero-actions .phone:hover{background:#e1e76d;border-color:#e1e76d;color:var(--ink)}}
.hero-grid{padding-block:52px}.form-top h2{font-size:31px}
@media(min-width:1001px){.form-card{padding:30px 34px}}
@media(max-width:480px){.field-grid{grid-template-columns:1fr}}/* Phone and Email need about 180px each for their placeholders; at 442px they had 172px (10 November) */
@media(min-width:1001px) and (max-height:820px){.hero-grid{align-items:start;padding-block:32px}}/* short laptop screens: copy and form start together so the call button stays in view */
@media(max-width:1000px){.hero-grid{padding-block:44px}}
@media(max-width:760px){
.hero-grid{padding-block:26px 34px;gap:26px}.hero-copy .lead{margin-top:14px}
.offer-inline{display:flex;margin-top:18px;padding:14px 16px}.offer-inline strong{font-size:28px}
.hero-detail{display:none}
.hero-actions{flex-direction:column;align-items:stretch;margin-top:16px}
.hero-request{display:inline-flex}
.hero-actions .btn,.hero-actions .phone{width:100%;justify-content:center}
main .btn{width:100%}
.actions{flex-direction:column;gap:12px}.location-section .actions .btn{flex:none;min-width:0}
}
/* Design review, Charlotte (Creative Director), 7 November 2026. A phone showed five buttons at once: one in the header, two in the hero and two in a bar fixed to the bottom. The bottom bar is gone. On phones the sticky header carries Call and the offer in place of the wider header button, and it stays at the top. */
.phone-call,.cta-phone{display:none}
@media(max-width:760px){
.header-row{gap:10px}
.header-actions{gap:8px;flex:none}
.header-actions>.phone{display:inline-flex;min-height:44px;padding:8px 12px;gap:6px;font-size:13px}
.header-actions .btn{min-height:44px;max-width:none;padding:8px 12px;font-size:13px;line-height:1.2;white-space:nowrap}
.phone-number,.cta-wide{display:none}
.phone-call,.cta-phone{display:inline}
}
@media(max-width:480px){
.brand{gap:10px}.brand img{width:65px}.brand span{padding-left:10px;max-width:74px}
.header-actions .btn{padding:6px 12px}.cta-phone>span{display:block}
}
@media(max-width:374px){.header-row{gap:8px}.header-actions{gap:6px}.header-actions>.phone{padding:8px 10px}.header-actions .btn{padding:6px 10px}}
@media(max-width:350px){.header-actions>.phone{padding:8px 11px}.phone-call{display:none}.brand img{width:58px}.brand span{max-width:66px}}
