/* Complete approved-direction composition, not a hero-only reskin. */
body:has(.hero-visual){--orange:#e65b08;--orange-text:#b84719;--orange-hover:#c84b00}
body:has(.hero-visual) .button{border-radius:999px}
.hero.hero-photo{background:#101011;padding-bottom:40px;position:relative}
.hero-stage{background:radial-gradient(ellipse at 50% 95%,#71351c55,transparent 56%),#101011}
.hero-stage:after{background:linear-gradient(90deg,transparent 49.94%,#a15d2c24 50%,transparent 50.06%);pointer-events:none}
.hero-content{padding-block:64px 0}
.hero h1{font-size:clamp(2.6rem,4.8vw,4.35rem);max-width:1060px;line-height:1.14}
.hero .highlight{color:#fb741f}
.hero-photo .hero-description{margin-top:28px;max-width:770px;font-size:1.13rem}
.hero-photo .button-primary{background:#ce4e05;box-shadow:0 7px 32px #ea6b172b}
.hero-photo .hero-person{margin-top:28px}
.hero-visual{max-width:1030px;margin:30px auto 0;position:relative}
.hero-visual img{width:100%;height:auto}
.hero-photo .benefit-strip{gap:20px;margin-top:14px}
.hero-photo .benefit-strip>div{flex-direction:column;align-items:flex-start;padding:27px 25px;gap:17px;background:#121212;border-color:#68432c;min-height:165px}
.hero-photo .benefit-icon{color:#f98130}.hero-photo .benefit-icon svg{width:32px;height:32px}
.hero-photo .benefit-strip strong{font-size:1.03rem}.hero-photo .benefit-strip p>span{font-size:.93rem;line-height:1.55;margin-top:7px}
.section{padding-block:88px}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:.73rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;background:none;border:0;padding:0;color:#5a4940}
.eyebrow:before{content:'';width:30px;height:1px;background:#e75d11}
.section h2{font-size:clamp(2rem,3.45vw,3.1rem);line-height:1.12;letter-spacing:-.045em}
.story{display:grid;grid-template-columns:1.1fr .9fr;gap:42px 68px}
.story-heading{grid-column:1/-1}.story-heading h2{max-width:1040px;margin-top:24px}
.story-copy>p:first-child{margin-top:0}.story-copy p{font-size:1.03rem;line-height:1.8}
.story-aside{display:flex;flex-direction:column;gap:26px}
.story-aside blockquote{margin:0;padding:30px 32px;border:0;border-left:2px solid #cf5421;border-radius:0 14px 14px 0;font-style:italic;font-weight:500;background:#faf7f4;font-size:1.18rem;line-height:1.6}
.story-aside .story-figure{margin:0}.story-aside .handwritten{text-align:left;font-size:1.2rem;margin-bottom:12px}
.story-photo img{width:100%;max-height:270px;object-fit:cover}.story-figure figcaption{text-align:left;font-size:.75rem}
.story-closing{font-size:.9rem;line-height:1.7;margin:0}
.offers{border-top:1px solid #eee5de}.offers .section-heading{max-width:none;width:100%;text-align:left;display:grid;grid-template-columns:1.1fr .9fr;column-gap:68px;align-items:end;margin-bottom:44px}
.offers .section-heading .eyebrow{grid-column:1/-1;margin-bottom:22px}.offers .section-heading h2{max-width:540px}.offers .section-heading>p{max-width:none;margin:0;font-size:1rem;text-align:left}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.service-card{padding:35px;border:1px solid #e9ddd4;border-radius:20px;background:#fff;box-shadow:none}
.service-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px 64px;padding:40px;background:radial-gradient(ellipse at 10% 100%,#5c2a17,#171515 65%);border:1px solid #77432c;color:#fff}
.service-card.featured .featured-label{position:static;grid-column:1/-1;justify-self:start;border:1px solid #985e3f;background:#3f291e;color:#ffc795;padding:6px 13px;border-radius:999px;font-size:.75rem}
.service-card.featured .service-number{display:none}.service-card.featured h3{grid-column:1;grid-row:2;font-size:2.05rem;min-height:0;margin:0;color:#fff}
.service-card.featured .service-intro{grid-column:1;grid-row:3;color:#e1d2c8;margin:0;font-size:1rem}
.service-card.featured .check-list{grid-column:2;grid-row:2/4;margin:0;align-self:center;color:#f0e6df;font-size:.96rem}
.service-card.featured .check-list li{border-color:#574034}.service-card.featured .check-list li:before{color:#ff994f}
.service-card.featured .service-actions{grid-column:1/-1;display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:5px;padding-top:22px;border-top:1px solid #513c30}
.service-card.featured .service-actions .button{width:auto;min-width:260px}.service-card.featured .text-link{color:#ffb986;margin:0}
.service-card:not(.featured) .service-number{width:auto;height:auto;border:0;background:none;color:#b75a31;font-size:.8rem;letter-spacing:.1em;display:block}
.service-card:not(.featured) h3{font-size:1.8rem;min-height:0;margin-top:15px}.service-card:not(.featured) .service-intro{font-size:1rem}.service-card:not(.featured) .service-actions .button{width:100%;border-radius:999px}
.offers-note{margin-top:30px;font-size:.9rem}
.programme.section.container{width:100%;max-width:none;background:#131313;padding:80px max(32px,calc((100% - 1120px)/2));color:#fff}
.programme-panel{background:none;border:0;border-radius:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.programme-intro .section-heading{text-align:left;margin:0}.programme-intro .eyebrow{color:#d4b69e}.programme-intro h2{margin-top:24px;color:#fff;font-size:2.8rem}.programme-intro h2 .orange{color:#ff9853}.programme-intro .section-heading>p{color:#d1c7c0;text-align:left;margin:24px 0 0;font-size:1rem}
.programme-bottom{display:block;border:0;padding-top:26px;margin:0}.programme-bottom p{color:#bcb0a7;font-size:.9rem;max-width:none}.programme-bottom .button{margin-top:24px;max-width:none}
.steps{display:flex;flex-direction:column;gap:0;margin:0;list-style:none}
.steps li{padding:28px 0 28px 30px;border:0;border-left:1px solid #75492e;border-radius:0;position:relative;background:none}
.steps li:before{content:'';position:absolute;left:-5px;top:35px;width:9px;height:9px;background:#e6772f;border-radius:50%;box-shadow:0 0 0 6px #32231b}
.steps .step-period{color:#faaa73;font-size:.75rem;letter-spacing:.08em}.steps h3{color:#fff;margin-top:14px;font-size:1.5rem}.steps p{color:#c6bab0;font-size:.97rem;margin-top:13px}
.tool-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center;padding:0;background:#fff}
.tool-copy h2{margin-top:24px}.product-preview{padding:18px;background:#fbf6f1;border:1px solid #ecded3;border-radius:20px;transform:rotate(-2deg);box-shadow:0 22px 50px #54331912}.product-preview img{border-radius:10px;width:100%;height:auto}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;border-top:1px solid #eee5de;align-items:start}
.faq .section-heading{text-align:left;margin:0}.faq .section-heading h2{margin-top:24px;font-size:2.7rem}.faq-list{width:100%;max-width:none;margin:0;display:flex;flex-direction:column;gap:12px}
.faq-item{background:#faf8f6;border:1px solid #e8dfd7;border-radius:12px}.faq-item summary{padding:23px 20px}.faq-item[open]{background:#fff;border-color:#c1784c}.faq-number{color:#ae5122}
.contact.section.container{width:100%;max-width:none;padding:0;margin:0;background:#121212}
.contact-panel{border:0;border-radius:0;padding:80px 24px;background:radial-gradient(ellipse at 50% 120%,#71351c,transparent 65%),#121212}
.contact-panel .eyebrow{color:#d7bcaa}.contact-panel h2{font-size:clamp(2.3rem,4vw,3.6rem);max-width:950px;margin:24px auto}.contact-panel .orange{color:#ff9853}.contact-panel>p:not(.contact-reassurance){max-width:690px;font-size:1.05rem}.contact-panel .button{min-width:280px;margin-top:28px}.contact-panel .contact-reassurance{font-size:.83rem}
body:has(.hero-visual) .footer{width:100%;max-width:none;padding:32px max(32px,calc((100% - 1120px)/2));background:#121212;color:#e9ded5;border-top:1px solid #493023}body:has(.hero-visual) .footer p,body:has(.hero-visual) .footer small{color:#c1b1a5}
body:has(.hero-visual) .footer a{color:#e9ded5}body:has(.hero-visual) main{padding-bottom:0;margin-bottom:0}body:has(.hero-visual){padding-bottom:0}.steps li+li{border-top:0}
@media(max-width:900px){.story{gap:32px}.offers .section-heading{gap:24px}.programme.section.container{padding:55px 28px}.programme-panel{gap:35px}.programme-intro h2{font-size:2.15rem}.service-card.featured{gap:20px 30px;padding:30px}.tool-panel{gap:30px}.faq{gap:30px}.faq .section-heading h2{font-size:2.1rem}.hero-content{padding-top:45px}}
@media(max-width:620px){.section{padding-block:50px}.hero-content{padding-top:38px}.hero h1{font-size:2.25rem}.hero-photo .hero-description{font-size:1rem;margin-top:24px}.hero-photo .hero-person{margin-top:23px}.hero-visual{width:calc(100% + 20px);margin:22px -10px 4px}.hero-photo .benefit-strip{gap:12px;margin-top:16px}.hero-photo .benefit-strip>div{min-height:0;flex-direction:row;align-items:center;padding:19px;gap:17px}.hero-photo .benefit-strip strong{font-size:.94rem}.hero-photo .benefit-strip p>span{font-size:.85rem;margin-top:4px}.hero-photo .benefit-icon svg{width:27px;height:27px}.hero.hero-photo{padding-bottom:26px}.story{grid-template-columns:1fr;gap:25px}.story-heading{grid-column:auto}.story-heading h2{font-size:2.15rem;margin-top:20px}.story-copy p{font-size:1rem}.story-aside blockquote{padding:24px;font-size:1.08rem}.offers .section-heading{display:block;margin-bottom:28px}.offers .section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr;gap:22px}.service-card.featured{display:flex;gap:0;padding:28px 23px}.service-card.featured .featured-label{align-self:flex-start;margin-bottom:22px}.service-card.featured h3{font-size:1.85rem}.service-card.featured .service-intro{margin-top:20px}.service-card.featured .check-list{margin-top:22px}.service-card.featured .service-actions{margin-top:24px;gap:16px;display:flex;flex-direction:column;align-items:stretch}.service-card.featured .service-actions .button{min-width:0;width:100%;font-size:.95rem}.service-card{padding:27px 23px}.service-card:not(.featured) h3{font-size:1.7rem}.programme.section.container{padding:48px 22px}.programme-panel{grid-template-columns:1fr;gap:30px}.programme-intro h2{font-size:2.15rem}.programme-bottom .button{width:100%}.steps li{padding:24px 0 24px 24px}.tool-panel{grid-template-columns:1fr;gap:30px}.tool-copy h2{font-size:2.15rem}.product-preview{transform:none;padding:10px}.faq{grid-template-columns:1fr;gap:28px}.faq .section-heading h2{font-size:2.15rem}.faq-item summary{padding:20px 16px}.contact-panel{padding:50px 22px}.contact-panel h2{font-size:2.25rem}.contact-panel .button{min-width:0;width:100%}body:has(.hero-visual) .footer{padding:28px 22px}.eyebrow{font-size:.67rem;letter-spacing:.11em}}
