.viaana-method,.viaana-building{padding:100px max(24px,6vw);border-top:1px solid #e6e6e6;color:#1a1a1a}
.viaana-section-intro{max-width:850px;margin:0 auto 56px;text-align:center}
.viaana-eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:24px;color:#2f9d8f}
.viaana-eyebrow:before{content:"";width:7px;height:7px;background:#2f9d8f}
.viaana-section-intro h2{font-size:clamp(32px,3.4vw,56px);line-height:1.15;font-weight:400;letter-spacing:-.025em;margin:0 0 24px}
.viaana-section-intro h2 em{font-style:normal;color:#2f9d8f}
.viaana-intro-copy{font-size:18px;line-height:1.6;color:#737373;max-width:690px;margin:auto}
.viaana-method-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,90px);max-width:1360px;margin:auto;align-items:center}
.viaana-cycle-panel{min-width:0}
.viaana-cycle{position:relative;background:transparent}
.viaana-cycle svg{width:100%;height:auto;display:block;overflow:visible}
.cycle-center{font-family:'Outfit',sans-serif;font-size:17px;fill:#1a1a1a;font-weight:400}
.cycle-label{font-family:'Outfit',sans-serif;font-size:18px;fill:#1a1a1a;font-weight:500}
.cycle-segment{transition:stroke .3s,filter .3s;}
.cycle-segment.is-active{stroke:#ecb84c;filter:brightness(1.04)}
.viaana-cycle-caption{position:absolute;bottom:6%;left:0;right:0;text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#737373}
.viaana-cycle-note{max-width:440px;margin:14px auto 0;text-align:center;font-size:16px;line-height:1.65;color:#737373}
.viaana-stages{scroll-margin-top:110px}
.viaana-stage{font-family:'Outfit',sans-serif;display:flex;text-align:left;gap:22px;width:100%;padding:24px 20px;background:transparent;border:0;border-bottom:1px solid #e6e6e6;color:#1a1a1a;cursor:pointer;border-radius:5px;transition:background .25s,box-shadow .25s}
.viaana-stage.is-active{background:#e8f0ef;box-shadow:inset 3px 0 #2f9d8f}
.viaana-stage:focus-visible{outline:2px solid #2f9d8f;outline-offset:4px}
.viaana-stage-number{font-size:13px;color:#2f9d8f;line-height:32px}
.viaana-stage-content{display:block;flex:1;min-width:0}
.viaana-stage-title{display:flex;justify-content:space-between;font-size:26px;line-height:1.2;margin-bottom:6px}
.viaana-stage-title>span{font-size:22px;color:#2f9d8f}
.viaana-stage-subtitle{display:block;font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:#2f9d8f;margin-bottom:10px;line-height:1.4}
.viaana-stage-copy{display:block;font-size:16px;line-height:1.55;color:#737373}
.viaana-method-cta{display:flex;justify-content:flex-start;width:83.333%;margin:44px auto 0}
.viaana-capabilities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-width:1360px;margin:auto}
.viaana-capability{padding:30px 24px 34px;border:1px solid #e6e6e6;border-radius:2px;background:#f5f7fa;transition:transform .25s,border-color .25s,box-shadow .25s}
.viaana-capability:hover{transform:translateY(-5px);border-color:#2f9d8f;box-shadow:0 10px 24px #1a1a1a08}
.viaana-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:38px;color:#2f9d8f}
.viaana-card-top svg{width:58px;height:58px}
.viaana-card-top>span{font-size:12px;color:#bcbec0}
.viaana-capability h3{font-family:'Outfit',sans-serif!important;font-size:23px;font-weight:400;line-height:1.25;min-height:58px;margin-bottom:15px}
.viaana-capability p{font-size:16px;line-height:1.6;color:#737373}
@media(max-width:1100px){.viaana-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}.viaana-capability h3{min-height:0}.viaana-method-layout{gap:24px}}
@media(max-width:760px){.viaana-method,.viaana-building{padding:64px 20px}.viaana-section-intro{margin-bottom:32px}.viaana-method-layout{grid-template-columns:1fr}.viaana-cycle-panel{max-width:520px;margin:auto}.viaana-stages{margin-top:12px}.viaana-stage{padding:20px 14px;gap:16px}.viaana-intro-copy{font-size:16px}.viaana-capabilities{gap:14px}.viaana-capability{padding:24px 20px}.viaana-capability h3{font-size:21px}}
@media(max-width:480px){.viaana-capabilities{grid-template-columns:1fr}.viaana-card-top{margin-bottom:24px}.viaana-cycle-note{font-size:14px}.viaana-stage-title{font-size:24px}}
@media(prefers-reduced-motion:reduce){.cycle-segment,.viaana-stage,.viaana-capability{transition:none}.viaana-capability:hover{transform:none}}

/* Reference-inspired stage carousel: copy beside a rotating wheel. */
.viaana-method-layout{grid-template-columns:1fr 1.12fr;gap:48px}
.viaana-method-story{min-width:0}
.viaana-story-kicker{font-size:11px;letter-spacing:.16em;color:#2f9d8f;margin-bottom:24px}
.viaana-story-kicker span{margin-left:12px;color:#bcbec0}
.viaana-story-text{min-height:235px}
.viaana-story-text h3{font-size:clamp(42px,4.4vw,70px);font-weight:400;line-height:1.1;margin-bottom:18px}
#method-stage-subtitle{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:#2f9d8f;margin-bottom:18px}
#method-stage-copy{font-size:18px;line-height:1.65;color:#737373;max-width:490px}
.viaana-wheel{transform-origin:300px 258px;transition:transform 1.15s cubic-bezier(.22,.68,.15,1);transform-box:view-box}
.viaana-method .viaana-stages{grid-column:1 / -1;display:none}
.viaana-method .viaana-stages:target{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.viaana-cycle-panel{align-self:center}
@media(max-width:900px){.viaana-method-layout{gap:24px}.viaana-story-text{min-height:270px}}
@media(max-width:760px){.viaana-method-layout{grid-template-columns:1fr}.viaana-method-story{order:2}.viaana-cycle-panel{order:1;width:100%}.viaana-method .viaana-stages{order:3}.viaana-story-text{min-height:210px}.viaana-story-text h3{font-size:44px}.viaana-cycle-note{margin-top:0}.viaana-method .viaana-stages:target{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.viaana-wheel{transition:none}}

/* Match the shared homepage's editorial grid and brand palette. */
.viaana-method,.viaana-building{padding:140rem 12rem;background:#f5f7fa}
.viaana-section-intro{max-width:none;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24rem 4rem;text-align:left;margin:0 0 64rem}
.viaana-eyebrow{grid-column:1 / -1;justify-content:flex-start;gap:8rem;font-size:14rem;line-height:1.2;letter-spacing:-.04em;text-transform:none;color:#1a1a1a;margin:0 0 20rem}
.viaana-eyebrow:before{width:8rem;height:8rem;background:#1a1a1a;flex-shrink:0}
.viaana-section-intro h2{grid-column:2 / 6;font-size:32rem;line-height:1.08;letter-spacing:-.04em;margin:0;color:#1a1a1a}
.viaana-section-intro h2 em{color:inherit}
.viaana-intro-copy{grid-column:7 / 11;font-size:14rem;line-height:18rem;margin:0;max-width:none;align-self:start}
.viaana-method-layout,.viaana-capabilities{max-width:none;width:83.333%;margin:0 auto}
.viaana-story-kicker{color:#737373;letter-spacing:.06em}
.viaana-story-text h3{color:#1a1a1a}
#method-stage-subtitle,.viaana-stage-subtitle{color:#1a1a1a;letter-spacing:.02em;text-transform:none}
.viaana-capability{border:0;border-top:1px solid #bcbec0;border-radius:0;padding:28rem 16rem 20rem 0}
.viaana-capability h3{font-family:'Playfair Display',Georgia,serif!important;color:#1a1a1a}
.viaana-capability:hover{box-shadow:none;transform:translateY(-3px);border-color:#2f9d8f}
.viaana-card-top svg{width:44px;height:44px}
.viaana-stage{border-radius:2px}
@media(min-width:1025px){.viaana-method,.viaana-building{padding-top:160rem;padding-bottom:120rem}.viaana-eyebrow:before{margin-right:calc(8.333vw - 24rem)}}
@media(max-width:1024px){.viaana-section-intro h2{grid-column:1 / 7}.viaana-intro-copy{grid-column:8 / -1}.viaana-method-layout,.viaana-capabilities{width:100%}.viaana-section-intro{margin-bottom:48px}.viaana-method,.viaana-building{padding:72px 20px}}
@media(max-width:760px){.viaana-section-intro{display:block;margin-bottom:36px}.viaana-eyebrow{font-size:14px;margin-bottom:24px;gap:10px}.viaana-eyebrow:before{width:7px;height:7px}.viaana-section-intro h2{font-size:32px;line-height:1.12;margin-bottom:24px}.viaana-intro-copy{font-size:16px;line-height:1.5}.viaana-capability{padding:24px 12px 20px 0}}
@media(prefers-reduced-motion:reduce){.viaana-capability:hover{transform:none}}

@media(max-width:1024px){.viaana-method-cta{width:100%}}

/* Pair the method CTA and cycle summary on one aligned row. */
.viaana-method-cta{display:grid;grid-template-columns:1fr 1.12fr;gap:48px;align-items:center}
.viaana-method-cta .viaana-cycle-note{margin:0 auto;width:100%;max-width:440px}
.viaana-method-cta>a{justify-self:start}
@media(max-width:900px){.viaana-method-cta{gap:24px}}
@media(max-width:760px){.viaana-method-cta{grid-template-columns:1fr;gap:20px}.viaana-method-cta .viaana-cycle-note{text-align:left;margin:0;max-width:none}}

/* Give the method heading and introduction a clear column gutter. */
@media(min-width:1025px){
    .viaana-method .viaana-section-intro h2{grid-column:2 / 7;padding-right:32rem;min-width:0}
    .viaana-method .viaana-section-intro .viaana-intro-copy{grid-column:8 / 12;min-width:0}
}
@media(min-width:761px) and (max-width:1024px){
    .viaana-method .viaana-section-intro h2{padding-right:24px;min-width:0}
}

/* Homepage: an open landscape of capabilities, linked by a learning thread. */
.viaana-building{background:#F6F7FA}
.viaana-building .viaana-section-intro h2{grid-column:2/7}
.viaana-building .viaana-section-intro .viaana-intro-copy{grid-column:8/12}
.viaana-building .viaana-capabilities{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;column-gap:12%;row-gap:15px;padding-top:15px;padding-bottom:40px}
.building-thread{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.32;pointer-events:none}
.viaana-building .viaana-capability{position:relative;display:grid;grid-template-columns:108px 1fr;column-gap:26px;align-content:start;border:0;border-radius:0;background:transparent;padding:28px 0;margin:0;box-shadow:none;transform:none}
.viaana-building .viaana-capability:nth-of-type(even){margin-top:145px}
.viaana-building .viaana-capability:hover{transform:none;box-shadow:none}
.viaana-building .viaana-card-top{grid-row:1/3;position:relative;display:grid;place-items:center;align-self:start;width:108px;height:126px;margin:0;color:#2F9D8F}
.viaana-building .viaana-card-top:before{content:'';position:absolute;inset:5px -3px 9px;border:1px solid #2F9D8F55;border-radius:48% 52% 65% 35% / 45% 35% 65% 55%;transform:rotate(-20deg);background:#F6F7FA;z-index:-1}
.viaana-building .viaana-card-top:after{content:'';position:absolute;width:9px;height:9px;border-radius:50%;background:#ECB84C;right:2px;top:16px}
.viaana-building .viaana-card-top svg{width:64px;height:64px;stroke-width:1.1}
.viaana-building .viaana-card-top>span{position:absolute;bottom:-12px;left:0;right:0;text-align:center;font-size:12px;letter-spacing:.12em;color:#2F9D8F}
.viaana-building .viaana-capability:nth-of-type(2) .viaana-card-top:before{transform:rotate(50deg);border-color:#ECB84C99}
.viaana-building .viaana-capability:nth-of-type(3) .viaana-card-top:before{transform:rotate(90deg);border-color:#1E3A5F55}
.viaana-building .viaana-capability:nth-of-type(4) .viaana-card-top:before{transform:rotate(140deg)}
.viaana-building .viaana-capability h3{grid-column:2;min-height:0;font-size:clamp(26px,2.5vw,38px);line-height:1.15;margin:12px 0 18px;background:#F6F7FA;max-width:340px}
.viaana-building .viaana-capability p{grid-column:2;font-size:16px;line-height:1.65;max-width:310px;margin:0;background:#F6F7FA}
@media(max-width:1100px){
.viaana-building .viaana-capabilities{column-gap:7%}
.viaana-building .viaana-capability{grid-template-columns:80px 1fr;column-gap:20px}
.viaana-building .viaana-card-top{width:80px;height:100px}
.viaana-building .viaana-card-top svg{width:50px;height:50px}
}
@media(max-width:760px){
.viaana-building .viaana-capabilities{grid-template-columns:1fr;gap:35px;padding-block:5px 20px}
.viaana-building .viaana-capability,.viaana-building .viaana-capability:nth-of-type(even){margin:0;padding:0;grid-template-columns:80px 1fr;column-gap:24px}
.viaana-building .viaana-capability h3{font-size:28px;margin-top:5px}
.viaana-building .viaana-capability p{max-width:none}
.building-thread{display:none}
.viaana-building .viaana-card-top>span{bottom:-15px}
}

/* Subtle emphasis for the learning-cycle summary beside the homepage CTA. */
.viaana-method-cta .viaana-cycle-note{
    color:#1E3A5F;
    font-weight:500;
    background:rgba(47,157,143,.07);
    border-left:2px solid #2F9D8F;
    padding:12px 18px;
    text-align:left;
}

/* Keep the summary with its diagram and the action with the stage content. */
.viaana-method-story .viaana-method-cta{display:flex;width:100%;margin:28px 0 0}
.viaana-cycle-panel>.viaana-cycle-note{max-width:410px;margin:4px auto 0;padding:0 12px;background:none;border:0;color:#1E3A5F;font-size:16px;font-weight:400;line-height:1.65;text-align:center}
.viaana-cycle-panel>.viaana-cycle-note:before{content:'';display:block;width:28px;height:2px;background:#2F9D8F;margin:0 auto 14px}
@media(max-width:760px){.viaana-cycle-panel>.viaana-cycle-note{font-size:15px;max-width:360px;margin-bottom:16px}}

/* Labels travel with their segments but remain upright throughout rotation. */
.cycle-stage-label{font-family:'Outfit',sans-serif;font-size:17px;font-weight:500;fill:#fff;transform-box:view-box;transition:transform 1.15s cubic-bezier(.22,.68,.15,1),fill .3s}
.cycle-stage-label.is-active{fill:#1E3A5F;font-weight:700}
.viaana-cycle-flow{display:flex;align-items:center;justify-content:center;gap:10px;margin:-20px 0 24px;font-size:13px;line-height:1.5;color:#737373}
.cycle-flow-stage{padding-bottom:4px;border-bottom:2px solid transparent}
.cycle-flow-stage.is-active{color:#1E3A5F;font-weight:600;border-bottom-color:#ECB84C}
.cycle-flow-arrow{color:#2F9D8F;padding-bottom:4px}
@media(max-width:480px){.viaana-cycle-flow{gap:6px;font-size:11px;margin-top:-10px}}
@media(prefers-reduced-motion:reduce){.cycle-stage-label{transition:none}}

.viaana-cycle-panel>.viaana-cycle-note:before{display:none}

/* Reuse the shared section grid, typography and CTA for the programme feature. */
.home-method-practice{border-bottom:1px solid #e6e6e6;grid-template-columns:repeat(4,minmax(0,1fr))}
.home-method-practice>div{min-width:0}
.home-method-practice .secondary_body__emdlh p{white-space:normal;overflow-wrap:break-word}
.home-method-practice .button_root__fMfbx{max-width:100%;white-space:normal}
.home-method-practice .button_root__fMfbx span{min-width:0}
.home-method-practice .home-practice-subtitle{margin-top:16rem;color:var(--heading-accent)}
@media(min-width:1025px){.home-method-practice{grid-template-columns:repeat(12,minmax(0,1fr))}.home-method-practice .secondary_buttonWrap__PLbb9{grid-column:7/12}}

.home-method-practice #home-practice-title{font-family:"Playfair Display",Georgia,serif!important;font-weight:400}

.cycle-segment{transition:stroke .65s,filter .65s,stroke-width .65s}
.cycle-segment.is-active{stroke-width:82;filter:brightness(1.06)}
@media(prefers-reduced-motion:reduce){.cycle-segment{transition:none}}

/* Keep the pinned presentation below the navigation and inside the viewport. */
.is-scroll-cycle{background:#F6F7FA}
/* Size the wheel from the viewport height so the whole pinned cycle always fits on screen. */
.is-scroll-cycle .viaana-cycle{max-width:min(100%,calc((100vh - 250px)*1.11));margin-inline:auto}
@media(min-width:761px) and (max-height:850px){
.is-scroll-cycle .viaana-story-kicker{margin-bottom:14px}
.is-scroll-cycle .viaana-story-text{min-height:190px}
.is-scroll-cycle .viaana-story-text h3{font-size:clamp(38px,4vw,58px);margin-bottom:12px}
.is-scroll-cycle #method-stage-copy{font-size:16px;line-height:1.5}
.is-scroll-cycle .viaana-method-cta{margin-top:18px}
.is-scroll-cycle .viaana-cycle-note{font-size:14px;line-height:1.5;margin-top:12px}
}

/* Scroll-driven cycle: scrubbed wheel rotation. */
.is-scroll-cycle .viaana-wheel,.is-scroll-cycle .cycle-stage-label{transition:none}
/* Phones: keep wheel and stage copy together inside the pinned viewport. */
@media(max-width:760px){
.is-scroll-cycle{gap:12px}
.is-scroll-cycle .viaana-cycle{max-width:min(100%,calc((100vh - 90px)*.5))}
.is-scroll-cycle .viaana-cycle-panel>.viaana-cycle-note{display:none}
.is-scroll-cycle .viaana-story-kicker{margin-bottom:8px}
.is-scroll-cycle .viaana-story-text{min-height:0}
.is-scroll-cycle .viaana-story-text h3{font-size:36px;margin-bottom:8px}
.is-scroll-cycle #method-stage-copy{font-size:15px;line-height:1.5}
.is-scroll-cycle .viaana-method-cta{margin-top:16px}
}
/* Scroll progress wheel: segments draw in stage by stage over a faint rail. */
.cycle-track{stroke:#1E3A5F;stroke-opacity:.06}
.viaana-cycle.is-progress .cycle-stage-label,.viaana-cycle.is-progress .cycle-arrows path{opacity:0;transition:opacity .45s ease}
.viaana-cycle.is-progress .cycle-stage-label.is-drawn,.viaana-cycle.is-progress .cycle-arrows path.is-drawn{opacity:1}
