/* Separate design exploration; the approved stylesheet remains untouched. */
:root { --text:#152d20; --muted:#59655c; --surface:#f5f6f2; --radius:.8rem; }
.container { width:min(1240px,calc(100% - 7rem)); }
.section { padding-block:7.5rem; }
h1,h2 { letter-spacing:-.055em; }
h2 { font-size:clamp(2.2rem,3.6vw,3.65rem); line-height:1.08; }
h3 { letter-spacing:-.035em; }
.header__inner { height:88px; }
.header { border-bottom-color:#33533b; }
.header nav { gap:2.25rem; }
.header .logo img { width:210px; }
.button { border-radius:5px; padding:1.1rem 1.65rem; }
.button--small { padding:.85rem 1.2rem; }
.hero { grid-template-columns:1.2fr 1fr; gap:3rem; padding-block:5.5rem 6.5rem; }
.hero h1 { font-size:clamp(3rem,4.6vw,4.6rem); line-height:1.055; max-width:17ch; }
.hero__emphasis { color:#b4db59; }
.hero__intro { font-size:1.1rem; margin:2rem 0; max-width:43ch; }
.hero__note { border-top:1px solid #35543a; padding-top:1.4rem; margin-top:2rem; max-width:44ch; line-height:1.6; }
.hero__media { padding-top:1rem; }
.hero__media img { filter:drop-shadow(0 22px 20px #001a0740); }
.problem .section__intro { display:grid; grid-template-columns:1fr 1fr; gap:5rem; max-width:none; align-items:end; }
.problem .section__intro p { margin:0; max-width:44ch; }
.problem__list { margin-top:3.5rem; gap:0; }
.problem__list li { background:none; border:0; border-left:1px solid var(--line); border-radius:0; padding:0 1.75rem; }
.problem__list li:first-child { border-left:0; padding-left:0; }
.problem__icon { background:none; border-radius:0; margin-bottom:1.8rem; width:36px; height:36px; }
.problem__icon img { width:32px; }
.problem__list p { font-size:1rem; line-height:1.7; }
.problem__close { border-top:1px solid var(--line); margin-top:2.5rem; padding-top:1.5rem; font-weight:400; }
.guide { grid-template-columns:.95fr 1.05fr; gap:6.5rem; padding-top:1rem; }
.guide__copy h2 { max-width:18ch; margin-bottom:2rem; }
.guide__copy p { font-size:1rem; }
.guide__media img { max-width:440px; }
.review { border-block:1px solid #e2e6dc; }
.review__layout { gap:6rem; margin-top:3.5rem; grid-template-columns:1fr 1fr; }
.review__visual { position:relative; min-height:420px; padding:2.5rem; background:#e9ede3; border-radius:1rem; }
.review__sheet { width:100%; max-width:370px; padding:1.5rem; background:white; border:1px solid #d6ddcf; border-radius:.5rem; box-shadow:10px 12px 0 -1px #f7f8f4,10px 12px 0 0 #d7dfce,0 24px 50px #2438210d; transform:rotate(-3deg); transition:transform .5s; }
.review__sheet-top { display:flex; justify-content:space-between; align-items:center; padding-bottom:1rem; border-bottom:1px solid var(--line); }
.review__art { width:34px; height:34px; }
.review__big-number { position:static; background:none; color:#829174; font-size:1.15rem; width:auto; height:auto; border-radius:0; font-variant-numeric:tabular-nums; }
.review__drawing { width:100%; height:auto; margin-top:1rem; display:block; overflow:visible; }
.drawing { opacity:0; transition:opacity .35s; }
.review__visual[data-stage="1"] .drawing--1,.review__visual[data-stage="2"] .drawing--2,.review__visual[data-stage="3"] .drawing--3,.review__visual[data-stage="4"] .drawing--4 { opacity:1; }
.review__visual[data-stage="2"] .review__sheet { transform:rotate(0deg); }
.review__visual[data-stage="3"] .review__sheet { transform:rotate(2deg); }
.review__visual[data-stage="4"] .review__sheet { transform:rotate(-1deg); }
.drawing__node { fill:#f5f7f0; stroke:#cad4bf; stroke-width:1.5; }
.drawing__node--accent { fill:var(--accent); stroke:var(--accent); }
.drawing__route { stroke:#567a31; stroke-width:2; stroke-linecap:round; }
.drawing__branch { stroke:#ccd5c4; stroke-width:1.5; }
.drawing__ink { stroke:#506543; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.drawing__dot { fill:var(--green); }
.review__progress { width:min(260px,85%); gap:6px; margin-top:2.5rem; }
.review__progress span { flex:1; height:3px; background:#cbd6bf; position:relative; overflow:hidden; }
.review__progress span::after { content:''; position:absolute; inset:0; background:#41642a; transform:scaleX(0); transform-origin:left; transition:transform .5s ease; }
.review__progress span.active { background:#cbd6bf; }
.review__progress span.active::after { transform:scaleX(1); }
.review__steps details { padding:1.8rem 0; }
.review__steps h3 { font-size:1.45rem; }
.review__number { border-radius:5px; width:2.4rem; height:2.4rem; }
.review__steps p { line-height:1.8; }
.takeaway { padding-block:5rem 1rem; }
.takeaway__panel { padding:4rem; border-radius:.8rem; column-gap:6rem; }
.takeaway h2 { max-width:12ch; }
.check-list { gap:1.4rem; }
.services { padding-top:5.5rem; }
.services__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; margin-top:3rem; }
.service-card,.service-card--1,.service-card--2 { grid-column:auto; background:white; border:1px solid #dce3d7; border-radius:.75rem; padding:2rem; display:grid; grid-template-columns:60px 1fr; gap:1.5rem; align-items:start; overflow:visible; position:relative; }
.service-card__media,.service-card:nth-child(even) .service-card__media { width:60px; height:60px; border-radius:.65rem; background:#edf2e4; }
.service-card__media img { width:30px; height:30px; }
.service-card__body { padding:0; }
.services h3,.service-card--1 h3,.service-card--2 h3 { font-size:1.4rem; line-height:1.25; }
.services p { font-size:.95rem; margin-top:.8rem; }
.stakes { background:#f0f3eb; border-block:1px solid #e1e7da; }
.stakes h2 { max-width:16ch; }
.stakes__inner { gap:7rem; }
.future { gap:7rem; grid-template-columns:1fr 1.05fr; }
.future__heading img { max-width:370px; margin-top:2.5rem; }
.future li { padding-block:1.8rem; font-size:1.15rem; }
.future li::before { top:2rem; }
.booking { padding-block:7rem; }
.booking h2 { font-size:clamp(2.5rem,4.3vw,4.2rem); max-width:24ch; }
.booking p { font-size:1.1rem; margin-block:2rem; }
.booking .booking__note { margin-top:2rem; }
.faq { gap:7rem; }
.faq summary { padding-block:1.8rem; }
.footer { padding-block:3.5rem; }
@media(hover:hover) {
 .service-card:hover { transform:translateY(-5px); border-color:#a3b68c; box-shadow:0 18px 36px #1630190c; }
 .service-card:hover .service-card__media img { transform:translateY(-2px) rotate(-6deg); }
 .guide__media img,.future__heading img { transition:transform .65s; }
 .guide__media:hover img,.future__heading img:hover { transform:translateY(-5px); }
}
@media(prefers-reduced-motion:no-preference) {
 .review__visual[data-stage="1"] .drawing--1 .drawing__route,.review__visual[data-stage="3"] .drawing--3 .drawing__route { stroke-dasharray:500; animation:draw-route .9s ease both; }
 @keyframes draw-route { from { stroke-dashoffset:500; } to { stroke-dashoffset:0; } }
}
@media(max-width:1024px) {
 .container { width:calc(100% - 4rem); }
 .section { padding-block:5rem; }
 .header nav { gap:1.2rem; }
 .header .logo img { width:180px; }
 .hero { gap:2rem; padding-block:4rem; }
 .hero h1 { font-size:clamp(2.5rem,4.5vw,3.7rem); }
 .problem .section__intro { gap:3rem; }
 .problem__list { gap:2rem; }
 .problem__list li { padding:0 0 0 1.5rem; }
 .problem__list li:nth-child(odd) { border-left:0; padding-left:0; }
 .guide,.review__layout,.future,.faq,.stakes__inner { gap:3rem; }
 .review__visual { padding:1.5rem; min-height:340px; }
 .service-card { padding:1.5rem; grid-template-columns:48px 1fr; gap:1rem; }
 .service-card__media,.service-card:nth-child(even) .service-card__media { width:48px; height:48px; }
 .services h3,.service-card--1 h3,.service-card--2 h3 { font-size:1.2rem; }
 .takeaway__panel { padding:2.5rem; gap:2.5rem; }
}
@media(max-width:767px) {
 .container { width:calc(100% - 2.5rem); }
 .header__inner { height:72px; }
 .section { padding-block:3.75rem; }
 .hero { grid-template-columns:1fr; padding-block:3rem; }
 .hero h1 { font-size:clamp(2.7rem,9.8vw,4.2rem); max-width:17ch; }
 .hero__intro { font-size:1rem; margin-block:1.6rem; }
 .hero__note { margin-top:1.6rem; padding-top:1.2rem; }
 .hero__media { padding-top:0; width:100%; max-width:360px; }
 .problem .section__intro { display:block; }
 .problem .section__intro p { margin-top:1.5rem; }
 .problem__list { gap:0; margin-top:2rem; }
 .problem__list li,.problem__list li:first-child,.problem__list li:nth-child(odd) { grid-template-columns:36px 1fr; gap:1.2rem; border-left:0; border-bottom:1px solid var(--line); padding:1.5rem 0; }
 .problem__icon { margin:0; }
 .problem__close { border:0; margin-top:1.5rem; padding:0; }
 .guide { gap:2.5rem; padding-top:0; }
 .guide__media img { max-width:330px; }
 .guide__copy h2 { max-width:20ch; }
 .review__layout { grid-template-columns:1fr; gap:1.8rem; margin-top:2.5rem; }
 .review__visual { min-height:320px; padding:1.75rem; }
 .review__sheet { max-width:310px; }
 .review__steps h3 { font-size:1.2rem; }
 .review__steps details { padding:1.4rem 0; }
 .takeaway { padding-bottom:1rem; }
 .takeaway__panel { padding:2rem; }
 .services { padding-top:3rem; }
 .services__grid { grid-template-columns:1fr; gap:1rem; }
 .service-card { padding:1.5rem; }
 .services h3,.service-card--1 h3,.service-card--2 h3 { font-size:1.3rem; }
 .future,.stakes__inner,.faq { gap:2rem; }
 .future__heading img { max-width:330px; }
 .future li { font-size:1.05rem; }
 .booking h2 { font-size:2.6rem; }
 .booking p { font-size:1rem; }
 .footer { padding-block:2.5rem; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation:none; transition:none; }
}
/* Visual storytelling refinement: all accompanying copy remains unchanged. */
.problem__list { gap:1rem; }
.problem__list li,.problem__list li:first-child,.problem__list li:nth-child(odd) { padding:0; border:1px solid #dde4d7; border-radius:.8rem; overflow:hidden; background:#fff; display:block; }
.problem__list p { padding:1.6rem; font-size:.97rem; }
.problem-art { position:relative; height:174px; overflow:hidden; background:#eef2e8; display:grid; place-items:center; isolation:isolate; }
.problem-art--2 { background:#f1f2ed; }
.problem-art--3 { background:#e5ece1; }
.problem-art--4 { background:#eff0e9; }
.problem-art .problem__icon { position:relative; z-index:3; display:grid; place-items:center; background:var(--green); width:66px; height:66px; border-radius:15px; margin:0; box-shadow:0 10px 24px #14351d18; transition:transform .5s; }
.problem-art .problem__icon img { filter:invert(1); width:32px; }
.mini-sheet { position:absolute; width:62px; height:78px; padding:14px 10px; border:1px solid #d3ddc8; border-radius:6px; background:#f5f7f1; opacity:.28; box-shadow:none; }
.mini-sheet i { display:block; height:4px; background:#dfe6d8; margin-bottom:8px; border-radius:2px; }
.mini-sheet i:nth-child(2) { width:65%; }
.mini-sheet--back { transform:translate(-62px,8px) rotate(-12deg); }
.mini-sheet--front { transform:translate(64px,-5px) rotate(10deg); }
.art-connection { position:absolute; width:144px; border-bottom:1px dashed #a9be90; opacity:.3; z-index:-1; }
.problem-art--2 .mini-sheet--back { transform:translate(-52px,-13px) rotate(-8deg); }
.problem-art--2 .mini-sheet--front { transform:translate(54px,15px) rotate(13deg); }
.problem-art--3 .mini-sheet--back { transform:translate(-22px,-20px) rotate(-7deg); }
.problem-art--3 .mini-sheet--front { transform:translate(32px,22px) rotate(7deg); }
.problem-art--4 .mini-sheet--front::after { content:''; position:absolute; right:-4px; top:-4px; width:14px; height:14px; background:var(--accent); border:3px solid #fff; border-radius:50%; }
.problem__close { padding:1.3rem 1.5rem; background:#f3f6ed; border:0; border-left:3px solid #9ecf1d; border-radius:0 .5rem .5rem 0; margin-top:1.5rem; }
.guide__insight { padding:1.3rem 1.5rem; background:#f2f5eb; border-left:3px solid #9ecf1d; color:var(--text); border-radius:0 .5rem .5rem 0; }
.stakes { background:#eff3e9; }
.stakes__inner { row-gap:3rem; align-items:center; }
.stakes__sequence { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; position:relative; }
.stakes__sequence::before { content:''; position:absolute; top:42px; left:12%; right:12%; height:1px; background:#9bb482; }
.stakes__sequence p { position:relative; margin:0; padding:0 1.5rem 1.8rem; background:#fff; border:1px solid #dce4d2; border-radius:.8rem; font-size:1.05rem; line-height:1.6; }
.stakes__symbol { width:84px; height:84px; display:grid; place-items:center; background:#e0ebd3; border:8px solid #eff3e9; border-radius:50%; margin:-1px 0 1.1rem; transform:translateY(-12px); }
.stakes__sequence p:last-child { background:var(--green); color:#fff; border-color:var(--green); }
.stakes__sequence p:last-child .stakes__symbol { background:var(--accent); }
.future { grid-template-columns:.85fr 1.15fr; gap:4.5rem; }
.future__list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.future__list li { padding:1.7rem; border:1px solid #dce4d5; border-radius:.8rem; background:#f6f8f2; }
.future__list li:nth-child(2),.future__list li:nth-child(3) { background:#fff; }
.future__list li::before { content:none; }
.future__icon { display:grid; place-items:center; width:52px; height:52px; border-radius:12px; background:#e5edd9; margin-bottom:1.5rem; }
.future__icon img { width:28px; }
.future__list p { font-size:1.04rem; color:var(--text); line-height:1.65; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .problem__list li:hover .problem__icon { transform:translateY(-4px); }
 .future__list li { transition:transform .3s,box-shadow .3s; }
 .future__list li:hover { transform:translateY(-4px); box-shadow:0 14px 22px #19342309; }
}
@media(max-width:1024px) {
 .problem-art { height:160px; }
 .future { gap:2.5rem; grid-template-columns:1fr 1.2fr; }
 .future__list { grid-template-columns:1fr; }
 .future__list li { display:flex; gap:1.2rem; padding:1.25rem; align-items:center; }
 .future__icon { flex-shrink:0; margin:0; }
 .stakes__sequence { gap:1rem; }
 .stakes__sequence p { padding-inline:1.2rem; }
}
@media(max-width:767px) {
 .problem__list { gap:1rem; }
 .problem__list p { padding:1.4rem; }
 .problem-art { height:155px; }
 .problem__close { padding:1.2rem; border-left:3px solid var(--accent); }
 .stakes__sequence { grid-template-columns:1fr; gap:1rem; }
 .stakes__sequence::before { display:none; }
 .stakes__sequence p { display:flex; align-items:center; gap:1.2rem; padding:1.4rem; }
 .stakes__symbol { margin:0; transform:none; width:54px; height:54px; border:0; border-radius:12px; flex-shrink:0; }
 .stakes__symbol img { width:28px; height:28px; }
 .future { grid-template-columns:1fr; gap:2rem; }
 .future__list li { padding:1.4rem; }
}
@media(prefers-reduced-motion:reduce) { .mini-sheet,.problem-art .problem__icon { transition:none; } }
/* Open outcome pathway replaces the repeated photo-and-card composition. */
.future { display:block; padding-block:6rem 7rem; }
.future__heading { display:flex; align-items:center; gap:3rem; margin-bottom:3.5rem; }
.future__heading h2 { max-width:none; }
.future__heading::after { content:''; height:1px; background:var(--line); flex:1; }
.future__list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2.5rem; position:relative; }
.future__list::before { content:''; position:absolute; left:32px; right:32px; top:32px; height:1px; background:#b8cba4; }
.future__list li,.future__list li:nth-child(2),.future__list li:nth-child(3) { display:block; position:relative; background:transparent; padding:0; border:0; border-radius:0; }
.future__icon { width:64px; height:64px; border-radius:50%; background:white; border:1px solid #b8cba4; box-shadow:0 0 0 10px white; margin-bottom:2rem; position:relative; }
.future__icon img { width:27px; }
.future__list p { font-size:1.12rem; line-height:1.75; max-width:27ch; }
.future__list li:hover { transform:none; box-shadow:none; }
.stakes__sequence p,.stakes__sequence p:last-child { background:transparent; border:0; border-radius:0; color:var(--text); padding:0 1.5rem 0 0; }
.stakes__sequence::before { top:30px; }
.stakes__symbol { border:0; width:60px; height:60px; transform:none; margin:0 0 1.5rem; box-shadow:0 0 0 10px #eff3e9; }
.stakes__symbol img { width:30px; height:30px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .future__icon { transition:transform .3s,border-color .3s; }
 .future__list li:hover .future__icon { transform:translateY(-4px); border-color:#67894a; }
}
@media(max-width:1024px) {
 .future__list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem 3rem; }
 .future__list::before { display:none; }
 .future__list li { display:grid; grid-template-columns:56px 1fr; gap:1.4rem; }
 .future__icon { width:56px; height:56px; margin:0; box-shadow:none; }
 .future__list p { font-size:1.05rem; }
}
@media(max-width:767px) {
 .future { padding-block:3.75rem; }
 .future__heading { margin-bottom:2.5rem; }
 .future__heading::after { display:none; }
 .future__list { grid-template-columns:1fr; gap:2.5rem; }
 .future__list::before { display:block; width:1px; height:auto; top:28px; bottom:28px; left:27px; right:auto; }
 .future__list li { padding:0; }
 .future__icon { box-shadow:0 0 0 8px white; }
 .stakes__sequence p,.stakes__sequence p:last-child { padding:1rem 0; border-bottom:1px solid #d7e1cc; }
 .stakes__symbol { width:54px; height:54px; margin:0; box-shadow:none; }
}
@media(prefers-reduced-motion:reduce) { .future__icon { transition:none; } }
@media (max-width:1024px) {
  .future__list li, .future__list li:nth-child(2), .future__list li:nth-child(3) { display:grid; }
}
/* Distinguish the waiting narrative from the horizontal outcome pathway. */
.stakes__inner { grid-template-columns:1fr 1fr; column-gap:6rem; row-gap:2rem; align-items:start; }
.stakes__inner > h2 { grid-column:1; grid-row:1; }
.stakes__inner > p { grid-column:1; grid-row:2; max-width:48ch; }
.stakes__sequence { grid-column:2; grid-row:1 / 3; grid-template-columns:1fr; gap:0; border-top:1px solid #ced9c4; }
.stakes__sequence::before { display:none; }
.stakes__sequence p,.stakes__sequence p:last-child { display:flex; align-items:center; gap:1.4rem; padding:1.65rem 0; border-bottom:1px solid #ced9c4; font-size:1.12rem; }
.stakes__symbol { flex-shrink:0; width:48px; height:48px; margin:0; border-radius:10px; box-shadow:none; background:transparent; }
.stakes__symbol img { width:27px; height:27px; }
.stakes__sequence p:last-child .stakes__symbol { background:transparent; }
@media(max-width:767px) {
 .stakes__inner { grid-template-columns:1fr; gap:1.75rem; }
 .stakes__inner > h2,.stakes__inner > p,.stakes__sequence { grid-column:1; grid-row:auto; }
 .stakes__sequence p,.stakes__sequence p:last-child { font-size:1rem; padding:1.25rem 0; }
}

/* Keep the headline and introduction together, independent of the trigger rows. */
.stakes__copy { grid-column:1; grid-row:1; }
.stakes__copy h2 { margin:0; }
.stakes__copy > p { margin:1.5rem 0 0; max-width:48ch; }
.stakes__sequence { grid-row:1; }
@media(max-width:767px) {
 .stakes__copy,.stakes__sequence { grid-column:1; grid-row:auto; }
 .stakes__copy > p { margin-top:1.25rem; }
}

/* Green feedback for the open outcome items. */
@media (hover:hover) {
 .future__list li:hover .future__icon { background:var(--green); border-color:var(--green); }
 .future__list li:hover .future__icon img { filter:invert(1); }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .future__icon { transition:transform .3s,background-color .3s,border-color .3s; }
 .future__icon img { transition:filter .3s; }
}

/* Compact conversion sections: balanced copy, aligned icons and a contained CTA. */
.guide--editorial { display:block; padding-block:6rem; }
.guide--editorial .guide__copy { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(3rem,7vw,7rem); padding:0; }
.guide__header { align-self:start; }
.guide__eyebrow,.takeaway__label,.booking__eyebrow { display:block; margin-bottom:1rem; color:#62823f; font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.guide--editorial .guide__copy h2 { max-width:15ch; margin:0; font-size:clamp(2.5rem,4.3vw,4rem); }
.guide__content { display:grid; gap:2rem; }
.guide__products { display:grid; grid-template-columns:15rem 1fr; gap:2rem; align-items:start; padding-bottom:2rem; border-bottom:1px solid var(--line); }
.guide__products > p { margin:.2rem 0 0; color:var(--text); font-weight:600; line-height:1.55; }
.guide--editorial .guide__examples { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin:0; }
.guide--editorial .guide__examples li { display:flex; align-items:center; gap:.8rem; min-height:3.8rem; padding:.75rem .9rem; border:1px solid #dce4d6; border-radius:.65rem; background:#f7f9f4; color:var(--text); font-size:.9rem; line-height:1.35; }
.guide--editorial .guide__examples li::before { content:none; }
.guide__product-icon { display:grid; place-items:center; flex:0 0 2.25rem; width:2.25rem; height:2.25rem; border-radius:.55rem; background:#e5edd9; }
.guide__product-icon img { width:20px; height:20px; }
.guide__narrative { display:grid; grid-template-columns:.72fr 1fr 1fr; gap:1.5rem; align-items:start; }
.guide__narrative > p:not(.guide__insight) { margin:0; font-size:.94rem; line-height:1.7; }
.guide--editorial .guide__insight { display:block; margin:0; padding:1rem 1.1rem; background:#eef3e7; border-left:3px solid var(--accent); border-radius:0 .5rem .5rem 0; }
.guide__closing { padding-top:1rem; border-top:1px solid var(--line); color:var(--green); }

.takeaway { padding-block:5rem 2rem; }
.takeaway__panel { display:block; padding:clamp(2rem,4vw,3.5rem); background:#f4f7ef; color:var(--text); border:1px solid #dce5d3; border-radius:1rem; box-shadow:0 18px 48px #17341e0a; }
.takeaway__heading { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(260px,.65fr); gap:1.25rem; align-items:center; padding-bottom:2rem; border-bottom:1px solid #d2ddc8; }
.takeaway__label { grid-column:2; margin:0 0 -.3rem; }
.takeaway__heading>img { grid-row:1 / 3; width:48px; margin:0; padding:.7rem; box-sizing:content-box; filter:none; background:var(--green); border-radius:.7rem; }
.takeaway__heading h2 { grid-column:2; max-width:none; margin:0; font-size:clamp(2.2rem,3.4vw,3.4rem); }
.takeaway__heading p { grid-column:3; grid-row:1 / 3; margin:0; color:var(--muted); line-height:1.65; }
.takeaway__body { padding-top:1.5rem; }
.check-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.check-list li { display:flex; align-items:center; gap:.9rem; min-height:4.75rem; padding:.8rem 1rem; border:1px solid #d9e2d2; border-radius:.65rem; background:#fff; font-size:.9rem; line-height:1.45; }
.check-list li::before { content:none; }
.check-list__icon { display:grid; place-items:center; flex:0 0 2.4rem; width:2.4rem; height:2.4rem; border-radius:.55rem; background:#e8efdf; }
.check-list__icon img { width:21px; height:21px; }
.takeaway__note { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:2rem; align-items:start; margin:1.5rem 0 0; padding:1.35rem 0 0; border-top:1px solid #d2ddc8; color:var(--muted); font-size:.9rem; line-height:1.6; }
.takeaway__note strong { color:var(--green); font-size:1rem; }
.takeaway__note span { max-width:60ch; }

.booking { padding-block:5rem; background:#f2f5ed; color:var(--text); text-align:left; }
.booking__panel { padding:0; }
.booking__inner { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); gap:clamp(2.5rem,5vw,5rem); align-items:center; overflow:hidden; padding:clamp(2rem,4vw,3.5rem); background:var(--green); color:#f5f8f2; border-radius:1rem; }
.booking__media { display:grid; place-items:center; }
.booking__media img { width:min(100%,330px); height:auto; filter:drop-shadow(0 18px 22px #0019064d); }
.booking__eyebrow { color:#b9df5c; }
.booking h2 { max-width:17ch; margin:0; font-size:clamp(2.2rem,3.5vw,3.45rem); }
.booking__content > p { max-width:56ch; margin:1rem 0; color:#c9d7c7; font-size:1rem; line-height:1.65; }
.booking__content .booking__point { display:inline-block; margin:.35rem 0 1.2rem; color:#f2f7ef; }
.booking .button { margin:0; }
.booking .booking__note { max-width:67ch; margin:1.35rem 0 0; padding-top:1.15rem; border-top:1px solid #3e6246; color:#bdcdbb; font-size:.8rem; line-height:1.55; }

@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .guide__examples li,.check-list li { transition:transform .25s,border-color .25s,background-color .25s; }
 .guide__examples li:hover,.check-list li:hover { transform:translateY(-2px); border-color:#9fb88a; background:#fbfcf9; }
 .booking__media img { transition:transform .45s ease; }
 .booking__inner:hover .booking__media img { transform:translateY(-4px); }
}
@media(max-width:1024px) {
 .guide--editorial .guide__copy { grid-template-columns:1fr; gap:2.5rem; }
 .guide--editorial .guide__copy h2 { max-width:18ch; }
 .guide__products { grid-template-columns:12rem 1fr; }
 .guide__narrative { grid-template-columns:.75fr 1fr 1fr; }
 .check-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .booking__inner { grid-template-columns:minmax(220px,.65fr) 1.35fr; gap:2.5rem; }
}
@media(max-width:767px) {
 .guide--editorial { padding-block:3.75rem; }
 .guide--editorial .guide__copy { gap:2rem; }
 .guide--editorial .guide__copy h2 { max-width:17ch; font-size:clamp(2.35rem,10vw,3.2rem); }
 .guide__products { grid-template-columns:1fr; gap:1rem; padding-bottom:1.5rem; }
 .guide--editorial .guide__examples { grid-template-columns:1fr; }
 .guide__narrative { grid-template-columns:1fr; gap:1.15rem; }
 .guide__closing { padding-top:1.15rem; }
 .takeaway { padding-block:3.75rem 1rem; }
 .takeaway__panel { padding:1.25rem; }
 .takeaway__heading { grid-template-columns:auto 1fr; gap:1rem; padding-bottom:1.4rem; }
 .takeaway__label { grid-column:2; }
 .takeaway__heading>img { grid-row:1 / 3; width:34px; padding:.55rem; }
 .takeaway__heading h2 { grid-column:2; font-size:2.15rem; }
 .takeaway__heading p { grid-column:1 / -1; grid-row:auto; margin-top:.3rem; }
 .takeaway__body { padding-top:1rem; }
 .check-list { grid-template-columns:1fr; gap:.65rem; }
 .check-list li { min-height:4.2rem; padding:.7rem .8rem; }
 .takeaway__note { grid-template-columns:1fr; gap:.45rem; margin-top:1.1rem; padding-top:1rem; }
 .booking { padding-block:3.75rem; }
 .booking__inner { grid-template-columns:1fr; gap:1.6rem; padding:1.5rem; }
 .booking__media { order:0; }
 .booking__media img { width:min(100%,250px); }
 .booking h2 { max-width:13ch; font-size:2.45rem; }
 .booking .button { width:100%; box-sizing:border-box; white-space:normal; text-align:center; line-height:1.35; }
}

/* Client copy update: preserve the approved composition while supporting longer content. */
.hero { grid-template-columns:1.28fr .92fr; align-items:center; padding-block:4.5rem 5rem; }
.hero h1 { font-size:clamp(2.75rem,4vw,4.15rem); max-width:19ch; }
.hero__intro { margin:1.5rem 0 1rem; max-width:57ch; }
.hero__detail { color:#c7d6c5; line-height:1.7; max-width:57ch; margin:0 0 1.6rem; }
.hero .button { font-size:.94rem; }
.hero__note { margin-top:1.5rem; max-width:57ch; }
.hero__media img { max-height:570px; object-fit:contain; }
.problem .section__intro { grid-template-columns:minmax(0,1fr); }
.problem .section__intro h2 { max-width:22ch; }
.problem__close { line-height:1.75; }
.problem__close strong { font-weight:600; }
.guide { align-items:center; }
.guide__copy h2 { max-width:20ch; }
.guide__examples { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1.5rem; margin:1.25rem 0 1.6rem; }
.guide__examples li { position:relative; padding-left:1.15rem; color:var(--muted); }
.guide__examples li::before { content:''; position:absolute; left:0; top:.72em; width:5px; height:5px; border-radius:50%; background:var(--accent); }
.guide__insight { display:inline-block; padding:.9rem 1.2rem; margin-block:.25rem 1.1rem; }
.takeaway__heading p { color:#d1dfcb; line-height:1.7; margin-top:1.4rem; max-width:32ch; }
.check-list { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:2rem; align-content:start; }
.services__intro { max-width:63ch; margin-top:1.25rem; color:var(--muted); font-size:1.05rem; line-height:1.75; }
.services__grid { margin-top:2.5rem; }
.future__heading { align-items:end; }
.future__heading > div { max-width:820px; }
.future__heading h2 { max-width:20ch; }
.future__heading p { margin-top:1.25rem; color:var(--muted); font-size:1.08rem; }
.future__list { grid-template-columns:repeat(5,minmax(0,1fr)); gap:1.75rem; }
.future__list h3 { font-size:1.05rem; line-height:1.35; margin-bottom:.7rem; }
.future__list p { font-size:.94rem; line-height:1.65; max-width:29ch; }
.future__list::before { right:32px; }
.booking__inner > p { max-width:61ch; }

@media(prefers-reduced-motion:no-preference) {
 .review__visual[data-stage="4"] .drawing--4 .drawing__route { stroke-dasharray:500; animation:draw-route .9s ease both; }
}

@media(max-width:1024px) {
 .hero { grid-template-columns:1.15fr .85fr; }
 .hero h1 { font-size:clamp(2.35rem,4.4vw,3.5rem); }
 .check-list { grid-template-columns:1fr; }
 .future__list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:767px) {
 .hero { grid-template-columns:1fr; padding-block:3rem; }
 .hero h1 { font-size:clamp(2.45rem,10vw,3.4rem); }
 .hero__detail { font-size:.96rem; }
 .hero .button { width:100%; box-sizing:border-box; white-space:normal; text-align:center; line-height:1.35; }
 .guide__examples { grid-template-columns:1fr; gap:.55rem; }
 .takeaway__heading p { margin-bottom:1.8rem; }
 .future__heading > div { max-width:none; }
 .future__heading h2 { max-width:18ch; }
 .future__list { grid-template-columns:1fr; }
 .future__list li { align-items:start; }
 .future__list h3 { font-size:1.08rem; }
}

/* Keep the compact section overrides authoritative after the longer-copy rules above. */
.takeaway__heading>img { background:#e5edd9; }
.takeaway__heading p { margin:0; max-width:none; color:var(--muted); }
.check-list { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:.8rem; }
@media(max-width:1024px) {
 .check-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .takeaway__heading p { margin:.3rem 0 0; }
 .check-list { grid-template-columns:1fr; }
}

/* Final compact pass: open roadmap matrix and short closing CTA. */
.guide--editorial { padding-block:4.75rem; }

.takeaway { padding-block:4rem 1rem; }
.takeaway__panel { padding:3rem 0 0; background:#fff; border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; }
.takeaway__heading { grid-template-columns:auto minmax(0,1fr) minmax(280px,.65fr); padding:0 0 2rem; }
.takeaway__heading>img { width:38px; padding:.65rem; background:#e7efdd; }
.takeaway__heading h2 { font-size:clamp(2.35rem,3.4vw,3.35rem); }
.takeaway__body { padding:0; }
.check-list { gap:0; border-top:1px solid var(--line); }
.check-list li { min-height:5.35rem; padding:1rem 1.25rem; background:transparent; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0; }
.check-list li:nth-child(3n) { border-right:0; }
.check-list__icon { flex-basis:2.3rem; width:2.3rem; height:2.3rem; border-radius:50%; }
.takeaway__note { margin:1.35rem 0 0; padding:1rem 1.25rem; background:#f1f5eb; border:0; border-left:3px solid var(--accent); }

.booking { padding-block:3.25rem; }
.booking__inner { grid-template-columns:minmax(0,1fr) 260px; gap:3rem; padding:2.25rem 2.75rem; min-height:0; }
.booking__content { order:1; }
.booking__media { order:2; }
.booking__media img { width:min(100%,240px); }
.booking__eyebrow { margin-bottom:.7rem; }
.booking h2 { max-width:18ch; font-size:clamp(2.15rem,3vw,2.9rem); }
.booking__content > p { margin:.7rem 0; font-size:.94rem; line-height:1.55; }
.booking__content .booking__point { margin:.2rem 0 1rem; }
.booking .button { padding:.95rem 1.35rem; }
.booking .booking__note { margin-top:1rem; padding-top:.85rem; font-size:.76rem; line-height:1.45; }

@media(max-width:1024px) {
 .takeaway__heading { grid-template-columns:auto 1fr; }
 .takeaway__heading p { grid-column:1 / -1; grid-row:auto; margin-top:.4rem; }
 .check-list li:nth-child(3n) { border-right:1px solid var(--line); }
 .check-list li:nth-child(2n) { border-right:0; }
 .booking__inner { grid-template-columns:1fr 220px; gap:2rem; padding:2rem; }
 .booking__media img { width:min(100%,210px); }
}
@media(max-width:767px) {
 .guide--editorial { padding-block:3.25rem; }
 .takeaway { padding-block:3.25rem .5rem; }
 .takeaway__panel { padding-top:2rem; }
 .takeaway__heading { padding-bottom:1.4rem; }
 .check-list li,.check-list li:nth-child(2n),.check-list li:nth-child(3n) { min-height:4rem; padding:.75rem .2rem; border-right:0; }
 .takeaway__note { margin-top:1rem; padding:1rem; }
 .booking { padding-block:2.75rem; }
 .booking__inner { grid-template-columns:1fr; gap:1.2rem; padding:1.35rem; }
 .booking__content { order:2; }
 .booking__media { order:1; }
 .booking__media img { width:min(100%,190px); }
 .booking h2 { font-size:2.25rem; }
}

/* Vertical approach flow and high-contrast roadmap requested in review. */
.guide--editorial .guide__copy { grid-template-columns:1fr; gap:2.5rem; }
.guide--editorial .guide__copy h2 { max-width:22ch; font-size:clamp(2.65rem,4vw,3.85rem); }
.guide__content { gap:2rem; }
.guide__products { grid-template-columns:1fr; gap:1.2rem; padding-bottom:2rem; }
.guide__products > p { max-width:none; margin:0; }
.guide--editorial .guide__examples { grid-template-columns:repeat(3,minmax(0,1fr)); }
.guide__narrative { grid-template-columns:minmax(220px,.42fr) minmax(0,1fr); gap:1rem 2.5rem; padding:2rem 0 0; border-top:1px solid var(--line); }
.guide--editorial .guide__insight { grid-column:1; grid-row:1; align-self:start; display:block; }
.guide__narrative > p:nth-child(2),.guide__narrative > p:nth-child(3),.guide__narrative > .guide__closing { grid-column:2; }
.guide__closing { margin:0; }

.takeaway__panel { padding:3rem 2.5rem 3.25rem; background:var(--green); color:#f5f8f2; border:0; border-radius:1rem; }
.takeaway__heading { border-bottom-color:#3f6246; }
.takeaway__label { color:#b9df5c; }
.takeaway__heading>img { background:#dfeacf; }
.takeaway__heading h2 { color:#f5f8f2; }
.takeaway__heading p { color:#c8d7c5; }
.check-list { border-top-color:#3f6246; }
.check-list li { color:#f4f8f1; background:#0a3813; border-color:#3f6246; }
.check-list__icon { background:#dfeacf; }
.takeaway__note { grid-template-columns:max-content minmax(0,1fr); gap:1.5rem; width:100%; max-width:none; margin-top:1.25rem; padding:1rem 1.25rem; background:#eef3e7; color:var(--text); border-left-color:var(--accent); }
.takeaway__note strong { color:var(--green); }
.takeaway__note span { max-width:none; white-space:nowrap; }

/* Keep the closing conversion block calm: one reading column, one clear action. */
.booking__content { display:flex; flex-direction:column; align-items:flex-start; }
.booking__content .booking__point { display:block; margin:.45rem 0 .9rem; }
.booking .button { display:inline-flex; width:auto; }
.booking .booking__note { width:100%; max-width:58ch; }

@media(max-width:1024px) {
 .guide--editorial .guide__examples { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .takeaway__note span { white-space:normal; }
}
@media(max-width:767px) {
 .guide--editorial .guide__copy { gap:2rem; }
 .guide--editorial .guide__examples { grid-template-columns:1fr; }
 .guide__narrative { grid-template-columns:1fr; gap:1rem; padding-top:1.5rem; }
 .guide--editorial .guide__insight,.guide__narrative > p:nth-child(2),.guide__narrative > p:nth-child(3),.guide__narrative > .guide__closing { grid-column:1; grid-row:auto; }
 .takeaway__panel { padding:1.75rem 1.25rem 2rem; }
 .takeaway__note { grid-template-columns:1fr; }
}

/* Split-image CTA inspired by Untitled UI's split image quote composition. */
.booking { padding-block:5rem; background:#f2f5ed; }
.booking__panel { padding:0; }
.booking__inner {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0;
  align-items:stretch;
  min-height:34rem;
  padding:0;
  overflow:hidden;
  background:#fff;
  color:var(--text);
  border:1px solid #d9e3d2;
  border-radius:1rem;
  box-shadow:0 22px 55px #15351d12;
}
.booking__content {
  order:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:clamp(2.5rem,5vw,5rem);
}
.booking__eyebrow { margin-bottom:1rem; color:#62823f; }
.booking h2 { max-width:13ch; margin:0; color:var(--green); font-size:clamp(2.65rem,4vw,4.15rem); line-height:1.02; }
.booking__content > p { max-width:39ch; margin:1.5rem 0 2rem; color:var(--muted); font-size:1.05rem; line-height:1.7; }
.booking .button { display:inline-flex; width:auto; margin:0; padding:1.05rem 1.4rem; }
.booking__assurances { display:grid; gap:.65rem; max-width:33rem; margin:1.6rem 0 0; padding:1.4rem 0 0; border-top:1px solid #dbe4d5; list-style:none; }
.booking__assurances li { position:relative; padding-left:1.65rem; color:#536457; font-size:.88rem; line-height:1.45; }
.booking__assurances li::before { content:'✓'; position:absolute; left:0; top:.02rem; display:grid; place-items:center; width:1.15rem; height:1.15rem; border-radius:50%; background:#e5f2cf; color:var(--green); font-size:.72rem; font-weight:700; }
.booking__media {
  order:2;
  position:relative;
  display:grid;
  grid-template-rows:auto auto;
  align-content:space-between;
  justify-items:center;
  min-height:34rem;
  overflow:hidden;
  background:linear-gradient(145deg,#e8eee2 0%,#d6e2cc 100%);
}
.booking__media::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 75% 22%,#a5dc24 0 5px,transparent 6px),radial-gradient(circle at 19% 31%,#9fce2d 0 3px,transparent 4px); opacity:.75; }
.booking__media img { position:relative; grid-row:1; align-self:center; width:min(92%,540px); height:auto; margin:clamp(2.5rem,7vw,4.5rem) auto; filter:drop-shadow(0 20px 28px #12391c35); }
.booking__quote {
  position:relative;
  grid-row:2;
  width:calc(100% - 3rem);
  margin:0 1.5rem 1.5rem;
  padding:1.4rem 1.5rem;
  background:#003b0deF;
  color:#f6f9f3;
  border:1px solid #ffffff1f;
  border-radius:.8rem;
  box-shadow:0 18px 38px #00230938;
  backdrop-filter:blur(10px);
}
.booking__quote .booking__point { display:block; margin:0 0 .75rem; color:#fff; font-size:1.1rem; }
.booking__quote .booking__note { display:block; width:100%; max-width:none; margin:0; padding:0; border:0; color:#d5e1d2; font-size:.84rem; line-height:1.6; }

@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .booking__media img { transition:transform .45s ease; }
  .booking__inner:hover .booking__media img { transform:translateY(-5px) scale(1.015); }
}
@media(hover:hover) {
  .takeaway__panel .check-list li:hover { color:var(--green); background:#f7faef; }
}
@media(max-width:900px) {
  .booking__inner { grid-template-columns:1fr; }
  .booking__content { padding:3rem; }
  .booking__media { min-height:31rem; }
  .booking h2 { max-width:15ch; }
}
@media(max-width:767px) {
  .booking { padding-block:3.25rem; }
  .booking__inner { gap:0; padding:0; }
  .booking__content { order:1; padding:2rem 1.35rem; }
  .booking h2 { max-width:13ch; font-size:2.45rem; }
  .booking__content > p { margin:1.1rem 0 1.5rem; font-size:.96rem; }
  .booking .button { width:100%; justify-content:center; box-sizing:border-box; white-space:normal; text-align:center; line-height:1.35; }
  .booking__media { order:2; min-height:30rem; }
  .booking__media img { width:min(94%,480px); margin:2.5rem auto; }
  .booking__quote { width:calc(100% - 2rem); margin:0 1rem 1rem; padding:1.2rem; }
  .booking__assurances { margin-top:1.35rem; padding-top:1.2rem; }
}

/* Give each future outcome a clear headline-and-body hierarchy. */
.future__list h3 { margin:0 0 .65rem; color:var(--green); font-size:1.12rem; font-weight:600; line-height:1.3; letter-spacing:-.012em; }
.future__list p { margin:0; color:#5f6f63; font-size:.9rem; line-height:1.65; }

/* One divider and a full-width narrative column keep the approach section aligned. */
.guide--editorial .guide__content { gap:0; }
.guide--editorial .guide__narrative { border-top:0; }
.guide--editorial .guide__narrative > p:not(.guide__insight) { width:100%; max-width:none; }

.problem__list p strong { color:var(--green); font-weight:600; }
