/* Final local refinement: clear hierarchy, honest content and stable image proportions. */
:root{
  --type-h1-size:clamp(55px,5.4vw,84px);
  --type-h2-size:clamp(40px,4.4vw,64px);
  --type-h3-size:clamp(28px,2.6vw,38px);
  --type-h4-size:24px;
  --type-h5-size:20px;
  --type-h6-size:18px;
  --type-heading-line-height:1.12;
  --type-body-size:16px;
  --type-body-line-height:1.6;
  --space-section:80px;
  --space-card:32px;
  --radius-card:16px;
  --radius-button:10px;
}

.button{border-radius:12px;padding:15px 20px;font-size:13px}
.section-title small,.section>div>small,.hero-copy>p,.closing-copy small{letter-spacing:0;text-transform:none;font-size:14px}
.rail-controls{display:flex;gap:18px}
.rail-controls button{padding:8px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--v2-wine);cursor:pointer;font-size:13px}

.hero{height:auto;min-height:760px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);padding-top:76px;color:var(--v2-ink);background:linear-gradient(135deg,#edf6f9 0%,#f8f3f1 100%);overflow:hidden}
.hero .hero-photo{position:relative;inset:auto;grid-column:2;grid-row:1;min-height:640px;margin:28px 30px 30px 0;border-radius:24px;background-position:center top;background-size:cover;box-shadow:0 22px 60px rgba(53,20,22,.12)}
.hero .hero-overlay{display:none}
.hero .hero-copy{position:relative;left:auto;top:auto;grid-column:1;grid-row:1;align-self:center;max-width:none;padding:54px 54px 145px;z-index:2}
.hero-copy>p{max-width:460px;margin:0;color:#6f5d59;font-size:17px;line-height:1.4}
.hero .hero-copy h1{max-width:720px;margin:28px 0 38px;color:var(--v2-ink);font-size:clamp(55px,5.4vw,84px)!important;line-height:.96!important;letter-spacing:-.06em}
.hero .hero-copy h1 span{color:var(--v2-wine);font-size:inherit!important;line-height:inherit!important;white-space:normal}
.hero .hero-buttons{display:block}
.hero .hero-note{position:relative;left:auto;bottom:auto;grid-column:1;grid-row:1;align-self:end;width:auto;max-width:560px;margin:0 54px 58px;color:#6f5d59;font-size:14px;line-height:1.55;z-index:3}

.service-explorer{background:#f3efed}
.service-explorer .section-title{margin-bottom:42px}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;border:0}
.service-item{position:relative;min-height:360px;overflow:hidden;border:1px solid rgba(83,31,36,.14);border-radius:20px;background:#fff;color:var(--v2-ink);transition:transform .3s ease,box-shadow .3s ease}
.service-item.is-open{transform:translateY(-5px);box-shadow:0 24px 55px rgba(53,20,22,.12);background:#fff;color:var(--v2-ink)}
.service-trigger{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:24px;padding:32px;border:0;background:transparent;color:inherit}
.service-trigger span,.service-trigger i{display:none}
.service-trigger strong{max-width:520px;font-size:clamp(32px,3.1vw,50px);font-weight:500;line-height:1;letter-spacing:-.05em}
.service-trigger em{display:block;margin-top:auto;color:#756763;font-size:16px;line-height:1.4}
.service-details{position:absolute;inset:0;z-index:3;display:flex!important;flex-direction:column;justify-content:flex-end;padding:30px;background:var(--v2-wine-deep);color:#fff;opacity:0;transform:translateY(102%);transition:transform .38s ease,opacity .3s ease;pointer-events:none}
.service-details>*{overflow:visible}
.service-details:before{content:attr(data-title);margin-bottom:auto;font-size:34px;line-height:1.05;letter-spacing:-.04em}
.service-details ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0;padding:0;list-style:none}
.service-details li{padding:16px 0;border-top:1px solid rgba(255,255,255,.24);font-size:15px;line-height:1.35}
.service-details li:before{display:none}
.service-cta{align-self:flex-start;margin:22px 0 0;padding:12px 16px;border:0;border-radius:10px;background:#fff;color:var(--v2-wine-deep)}
.service-item.is-open .service-details{opacity:1;transform:translateY(0);pointer-events:auto}

.team{background:#fff}
.team-rail{gap:22px;padding:20px 0 30px}
.person{position:relative;flex:0 0 clamp(350px,31vw,430px);height:620px;border-radius:22px;background:#dfe7eb;box-shadow:none;transition:transform .35s ease,box-shadow .35s ease}
.person.is-revealed{transform:translateY(-10px);box-shadow:0 24px 58px rgba(53,20,22,.15)}
.person .portrait{position:absolute;inset:0;height:100%;background-size:500% auto!important;background-position-y:top!important;transition:transform .6s ease}
.person.is-revealed .portrait{transform:scale(1.035);transform-origin:center top}
.person .portrait:after{background:linear-gradient(180deg,transparent 45%,rgba(30,14,15,.88) 100%)}
.person .person-info{position:absolute;inset:auto 0 0;z-index:3;min-height:175px;margin:0;padding:34px 30px 28px;background:linear-gradient(180deg,transparent,rgba(35,14,16,.96) 38%);color:#fff;transition:min-height .42s ease,padding .42s ease,background .42s ease}
.person-info small{font-size:13px;letter-spacing:0;text-transform:none;color:#d9eaf1}
.person-info h3{margin:9px 0 10px;font-size:36px;line-height:1}
.person-info>p{min-height:0;margin:0;color:rgba(255,255,255,.78);font-size:14px;line-height:1.45}
.person-info dl{max-height:0;margin:0;opacity:0;overflow:hidden;transition:max-height .42s ease,opacity .3s ease,margin .42s ease}
.person-info dt{margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.2);font-size:12px;color:#9fc8da}
.person-info dd{margin:5px 0 0;font-size:13px;line-height:1.4;color:rgba(255,255,255,.84)}
.person.is-revealed .person-info{min-height:100%;padding-top:210px;background:rgba(44,17,20,.92)}
.person.is-revealed .person-info dl{max-height:310px;margin-top:12px;opacity:1}

@media(hover:hover) and (pointer:fine) and (min-width:621px){
  .service-item:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(53,20,22,.12);background:#fff;color:var(--v2-ink)}
  .service-item:hover .service-details{opacity:1;transform:translateY(0);pointer-events:auto}
  .person:hover{transform:translateY(-10px);box-shadow:0 24px 58px rgba(53,20,22,.15)}
  .person:hover .portrait{transform:scale(1.035);transform-origin:center top}
  .person:hover .person-info{min-height:100%;padding-top:210px;background:rgba(44,17,20,.92)}
  .person:hover .person-info dl{max-height:310px;margin-top:12px;opacity:1}
}

body,p,li,dt,dd,figcaption{
  font-size:var(--type-body-size)!important;
  line-height:var(--type-body-line-height)!important;
}

h1,h1 span{font-size:var(--type-h1-size)!important;line-height:1!important}
h2,h2 span,.section-title h2,.title{font-size:var(--type-h2-size)!important;line-height:var(--type-heading-line-height)!important}
h3,h3 span{font-size:var(--type-h3-size)!important;line-height:1.2!important}
h4{font-size:var(--type-h4-size)!important;line-height:var(--type-heading-line-height)!important}
h5{font-size:var(--type-h5-size)!important;line-height:var(--type-heading-line-height)!important}
h6{font-size:var(--type-h6-size)!important;line-height:var(--type-heading-line-height)!important}
h1,h2,h3,h4,h5,h6,.title{
  line-height:var(--type-heading-line-height)!important;
  font-style:normal;
  font-weight:500;
  text-transform:none;
}
p,li,small,em,dt,dd,figcaption{font-style:normal;text-transform:none}

.process-grid span{display:none}
.process-grid h3{margin-top:78px}
.benefits{padding-top:110px;padding-bottom:120px;background:#edf5f7}
.benefit-console{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:18px;margin-top:48px}
.benefit-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #b9cdd4;border-left:1px solid #b9cdd4}
.benefit-tab{min-height:104px;display:grid;grid-template-columns:36px 1fr 28px;align-items:center;gap:14px;padding:20px;border:0;border-right:1px solid #b9cdd4;border-bottom:1px solid #b9cdd4;background:rgba(255,255,255,.5);color:var(--v2-ink);text-align:left;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease}
.benefit-tab span{align-self:start;color:#7b8c92;font-size:12px}
.benefit-tab strong{font-size:19px;font-weight:500;line-height:1.15;letter-spacing:-.025em}
.benefit-tab i{font-size:20px;font-style:normal;transition:transform .25s ease}
.benefit-tab:hover,.benefit-tab.is-active{background:var(--v2-wine-deep);color:#fff}
.benefit-tab:hover span,.benefit-tab.is-active span{color:#9fc8da}
.benefit-tab:hover i,.benefit-tab.is-active i{transform:rotate(45deg)}
.benefit-display{min-height:470px;display:flex;flex-direction:column;padding:34px;border-radius:20px;background:#fff;color:var(--v2-ink);box-shadow:0 22px 55px rgba(53,20,22,.08)}
@keyframes benefitDetailIn{from{opacity:.35}to{opacity:1}}
.benefit-display.is-changing{animation:benefitDetailIn .4s ease both}
.benefit-display-head{display:flex;justify-content:space-between;gap:20px;color:#7b6a65;font-size:12px}
.benefit-display-head small{color:var(--v2-wine);font-size:12px}
.benefit-display h3{max-width:470px;margin:auto 0 18px;font-size:clamp(38px,4vw,58px);font-weight:500;line-height:.94;letter-spacing:-.055em}
.benefit-display>p{max-width:520px;margin:0;color:#665956;font-size:17px;line-height:1.55}
.benefit-signal{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:34px;padding-top:18px;border-top:1px solid #dce6e9}
.benefit-signal span{color:#806c67;font-size:12px}
.benefit-signal b{max-width:250px;font-size:15px;font-weight:500;line-height:1.35;text-align:right}

.outcomes{padding-top:110px;padding-bottom:120px;background:#fffaf8}
.outcome-stack{margin-top:50px;border-top:1px solid #d8cbc7}
.outcome-card{border-bottom:1px solid #d8cbc7}
.outcome-card>button{width:100%;display:grid;grid-template-columns:54px 1fr 60px;align-items:center;gap:24px;padding:28px 4px;border:0;background:transparent;color:var(--v2-ink);text-align:left;cursor:pointer}
.outcome-card>button>span{color:#8b7771;font-size:14px}
.outcome-card>button div{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:24px}
.outcome-card>button small{color:var(--v2-wine);font-size:14px}
.outcome-card>button h3{margin:0;font-size:clamp(27px,3vw,44px);font-weight:500;line-height:1;letter-spacing:-.045em}
.outcome-card>button i{width:52px;height:52px;display:grid;place-items:center;justify-self:end;border:1px solid #d8cbc7;border-radius:50%;font-size:28px;font-style:normal;font-weight:300;transition:transform .35s ease,background .35s ease,color .35s ease}
.outcome-card.is-open>button i{transform:rotate(45deg);background:var(--v2-wine-deep);color:#fff}
.outcome-detail{max-height:0;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;overflow:hidden;opacity:0;transition:max-height .5s ease,opacity .35s ease,padding .5s ease}
.outcome-card.is-open .outcome-detail{max-height:320px;padding:4px 88px 36px 208px;opacity:1}
.outcome-detail p{margin:0;font-size:19px;line-height:1.5;letter-spacing:-.015em}
.outcome-detail ul{margin:0;padding:0;list-style:none}
.outcome-detail li{padding:10px 0;border-top:1px solid #decfca;color:#675854;font-size:15px;line-height:1.35}

.media-row{grid-template-columns:1.15fr 1fr 1.15fr;gap:16px;padding-top:75px;padding-bottom:75px}
.media-row .media{position:relative;height:auto;min-height:360px;margin:0;overflow:hidden;border-radius:18px;background-size:cover;background-position:center;box-shadow:0 16px 42px rgba(53,20,22,.08)}
.media-row .m1{background-image:url('assets/service-planning.png')}
.media-row .m2{background-image:url('assets/service-training.png')}
.media-row .m3{background-image:url('assets/service-strategy.png')}
.media-row .media:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(30,14,15,.86))}
.media-row figcaption{position:absolute;left:24px;right:24px;bottom:22px;z-index:2;color:#fff;font-size:17px;line-height:1.25}

.closing-copy h2{font-size:64px;line-height:.92;text-transform:none}

@media(max-width:900px){
  .hero{display:flex;flex-direction:column;min-height:0}
  .hero .hero-photo{order:1;min-height:560px;margin:20px 28px 0;background-position:center top}
  .hero .hero-copy{order:2;padding:48px 34px 24px}
  .hero .hero-note{order:3;margin:0 34px 50px}
  .hero .hero-copy h1{font-size:56px!important}
  .service-list{grid-template-columns:1fr}
  .media-row{grid-template-columns:1fr 1fr}
  .media-row .media:last-child{grid-column:1/-1}
  .benefit-console{grid-template-columns:1fr}
  .benefit-display{min-height:390px}
  .outcome-card.is-open .outcome-detail{padding-left:78px}
}
@media(max-width:620px){
  .hero{display:flex;flex-direction:column;padding-top:76px}
  .hero .hero-photo{order:1;min-height:440px;margin:14px 18px 0;background-position:center top}
  .hero .hero-copy{order:2;padding:40px 20px 20px}
  .hero .hero-copy h1{font-size:47px!important;margin:18px 0 28px}
  .hero .hero-note{order:3;margin:0 20px 42px}
  .rail-controls{display:none}
  .service-item{min-height:330px}
  .service-trigger{padding:24px}
  .service-details{padding:24px}
  .service-details ul{grid-template-columns:1fr}
  .service-details li{padding:10px 0}
  .person{flex-basis:86vw;height:570px}
  .person:hover .person-info,.person.is-revealed .person-info{padding-top:145px}
  .media-row{grid-template-columns:1fr}
  .media-row .media:last-child{grid-column:auto}
  .media-row .media{min-height:360px}
  .benefits,.outcomes{padding-top:80px;padding-bottom:85px}
  .benefit-console{margin-top:34px}
  .benefit-tabs{grid-template-columns:1fr}
  .benefit-tab{min-height:82px;padding:16px;grid-template-columns:32px 1fr 24px}
  .benefit-tab strong{font-size:18px}
  .benefit-display{min-height:390px;padding:26px}
  .benefit-display-head span{display:none}
  .benefit-display h3{font-size:40px}
  .benefit-display>p{font-size:16px}
  .benefit-signal{align-items:flex-start;flex-direction:column}
  .benefit-signal b{text-align:left}
  .outcome-stack{margin-top:34px}
  .outcome-card>button{grid-template-columns:32px 1fr 46px;gap:10px;padding:22px 0}
  .outcome-card>button div{display:block}
  .outcome-card>button small{display:block;margin-bottom:8px}
  .outcome-card>button h3{font-size:27px}
  .outcome-card>button i{width:42px;height:42px;font-size:24px}
  .outcome-detail{grid-template-columns:1fr;gap:22px}
  .outcome-card.is-open .outcome-detail{max-height:520px;padding:4px 0 30px 42px}
  .outcome-detail p{font-size:17px}
}

/* Hero image flows behind the copy instead of sitting in a framed card. */
.hero{display:block;position:relative;min-height:760px;padding-top:76px;background:#edf6f9}
.hero .hero-photo{position:absolute;inset:76px 0 0 27%;min-height:0;margin:0;border-radius:0;box-shadow:none;background-position:center top}
.hero .hero-overlay{display:block;position:absolute;inset:76px 0 0;background:linear-gradient(90deg,#edf6f9 0%,rgba(237,246,249,.98) 24%,rgba(237,246,249,.78) 45%,rgba(237,246,249,.15) 69%,rgba(237,246,249,0) 100%)}
.hero .hero-copy{position:relative;left:auto;top:auto;width:64%;max-width:900px;padding:145px 54px 165px;z-index:2}
.hero .hero-copy h1{max-width:800px}
.hero .hero-note{position:absolute;left:54px;bottom:54px;width:520px;max-width:calc(64% - 54px);margin:0;z-index:2}

.rail-stage{position:relative;margin-top:40px}
.rail-stage .photo-rail,.rail-stage .team-rail{margin-top:0}
.rail-stage .photo-rail,.rail-stage .team-rail{overflow-x:hidden}
.rail-arrow{position:absolute;top:50%;z-index:6;width:54px;height:54px;display:grid;place-items:center;transform:translateY(-50%);border:1px solid rgba(83,31,36,.18);border-radius:50%;background:rgba(255,255,255,.94);color:var(--v2-wine);font-size:30px;line-height:1;cursor:pointer;box-shadow:0 10px 28px rgba(53,20,22,.12);transition:transform .2s ease,background .2s ease}
.rail-arrow:hover{transform:translateY(-50%) scale(1.06);background:#fff}
.rail-arrow-prev{left:-20px}
.rail-arrow-next{right:-20px}

@media(max-width:900px){
  .hero{display:block;min-height:730px}
  .hero .hero-photo{position:absolute;inset:76px 0 0 18%;margin:0;min-height:0}
  .hero .hero-copy{position:relative;width:76%;padding:125px 34px 160px}
  .hero .hero-note{position:absolute;left:34px;bottom:42px;width:520px;max-width:65%;margin:0}
}
@media(max-width:620px){
  .hero{display:block;min-height:720px;padding-top:76px}
  .hero .hero-photo{position:absolute;inset:76px 0 0 0;min-height:0;margin:0;background-position:58% top}
  .hero .hero-overlay{inset:76px 0 0;background:linear-gradient(180deg,rgba(237,246,249,.96) 0%,rgba(237,246,249,.78) 52%,rgba(237,246,249,.45) 100%)}
  .hero .hero-copy{position:relative;width:100%;padding:95px 20px 180px}
  .hero .hero-note{position:absolute;left:20px;bottom:34px;width:calc(100% - 40px);max-width:none;margin:0}
  .rail-arrow{width:46px;height:46px;font-size:26px}
  .rail-arrow-prev{left:-8px}.rail-arrow-next{right:-8px}
}

/* Interactive clinic launch roadmap. */
.process{padding-top:110px;padding-bottom:120px;background:#fff}
@keyframes simDetailIn{from{opacity:.35}to{opacity:1}}
.launch-roadmap{margin-top:46px;padding:28px;border:1px solid rgba(83,31,36,.14);border-radius:26px;background:#f7f3f1;box-shadow:0 24px 70px rgba(53,20,22,.08)}
.roadmap-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 2px 34px}
.roadmap-head>div{display:grid;gap:5px}
.roadmap-head small,.roadmap-detail small{color:#806c67;font-size:12px}
.roadmap-head strong{font-size:20px;font-weight:500}
.roadmap-head a{padding-bottom:4px;border-bottom:1px solid currentColor;color:var(--v2-wine);font-size:13px;text-decoration:none}
.roadmap-track{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:20px 8px 38px}
.roadmap-track:before{content:'';position:absolute;left:11%;right:11%;top:54px;height:2px;background:linear-gradient(90deg,#5b2026,#83bfd3)}
.roadmap-node{position:relative;z-index:1;min-height:150px;padding:0 16px 18px;border:0;background:transparent;color:var(--v2-ink);text-align:center;cursor:pointer}
.roadmap-node:focus{outline:0}
.roadmap-node:focus-visible{border-radius:14px;box-shadow:0 0 0 2px rgba(83,31,36,.24)}
.roadmap-node:before{content:'';display:block;width:28px;height:28px;margin:0 auto 23px;border:8px solid #f7f3f1;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(83,31,36,.32);transition:transform .3s ease,background .3s ease,box-shadow .3s ease}
.roadmap-node:hover:before{transform:scale(1.18);box-shadow:0 0 0 1px #5b2026,0 0 0 8px rgba(83,31,36,.08)}
.roadmap-node.is-active:before{background:#5b2026;box-shadow:0 0 0 1px #5b2026,0 0 0 9px rgba(83,31,36,.1)}
.roadmap-node.is-passed:before{background:#83bfd3;box-shadow:0 0 0 1px #83bfd3}
.roadmap-node strong{display:block;font-size:21px;font-weight:500;letter-spacing:-.035em}
.roadmap-node small{display:block;margin-top:6px;color:#81726e;font-size:12px;line-height:1.35}
.roadmap-node.is-active strong{color:var(--v2-wine)}
.roadmap-detail{display:grid;grid-template-columns:1.35fr .75fr;gap:40px;min-height:330px;padding:42px;border-radius:20px;background:#fff}
.roadmap-detail.is-changing{animation:simDetailIn .48s ease both}
.roadmap-main h3{max-width:760px;margin:12px 0 16px;font-size:clamp(34px,3.5vw,54px);font-weight:500;line-height:.98;letter-spacing:-.055em}
.roadmap-main>p{max-width:760px;margin:0;color:#6f625e;font-size:15px;line-height:1.55}
.roadmap-main ul{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:32px 0 0;padding:0;list-style:none}
.roadmap-main li{padding:15px 13px;border:1px solid #d8e4e8;border-radius:10px;color:#48545a;font-size:12px;line-height:1.35}
.roadmap-detail aside{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;border-radius:16px;background:var(--v2-wine-deep);color:#fff}
.roadmap-detail aside small{color:#a9d3e2}
.roadmap-detail aside p{margin:18px 0 auto;font-size:21px;line-height:1.25;letter-spacing:-.025em}
.roadmap-detail aside span{display:block;margin-top:36px;padding-top:15px;border-top:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.72);font-size:12px;line-height:1.4}
@media(max-width:900px){
  .roadmap-track{gap:4px}
  .roadmap-track:before{left:12%;right:12%}
  .roadmap-node{padding-left:5px;padding-right:5px}
  .roadmap-detail{grid-template-columns:1fr}
  .roadmap-detail aside{min-height:230px}
  .roadmap-main ul{grid-template-columns:1fr}
}
@media(max-width:620px){
  .launch-roadmap{margin:34px -4px 0;padding:16px;border-radius:20px}
  .roadmap-head{align-items:flex-start;flex-direction:column;padding:6px 4px 26px}
  .roadmap-track{grid-template-columns:1fr;gap:0;padding:0 0 24px 8px}
  .roadmap-track:before{left:21px;right:auto;top:26px;bottom:52px;width:2px;height:auto}
  .roadmap-node{min-height:0;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:15px;padding:10px 8px 18px;text-align:left}
  .roadmap-node:before{grid-column:1;grid-row:1/3;width:28px;height:28px;margin:0}
  .roadmap-node strong,.roadmap-node small{grid-column:2}
  .roadmap-node strong{grid-row:1}
  .roadmap-node small{grid-row:2}
  .roadmap-detail{min-height:0;padding:24px;gap:24px}
  .roadmap-main h3{font-size:34px}
  .roadmap-main ul{margin-top:24px}
}

@media(max-width:620px){
  .hero{min-height:760px}
  .hero .hero-photo{inset:76px 0 0;background-position:75% top;background-size:auto 100%}
  .hero .hero-overlay{inset:76px 0 0;background:linear-gradient(180deg,rgba(237,246,249,.04) 0%,rgba(237,246,249,.08) 28%,rgba(237,246,249,.9) 54%,#edf6f9 78%,#edf6f9 100%)}
  .hero .hero-copy{padding:300px 20px 180px}
  .hero-copy>p{max-width:320px;font-size:15px}
  .hero .hero-copy h1{max-width:350px;margin:16px 0 24px;font-size:45px!important;line-height:.92!important}
  .hero .hero-note{bottom:34px;color:#5f514e}

  .rail-stage .photo-rail,.rail-stage .team-rail{overflow-x:auto;touch-action:pan-x pan-y;overscroll-behavior-inline:contain;scroll-padding-inline:6px}
  .team-rail{padding-top:8px}
  .person{height:570px;transform:none}
  .person.is-revealed{transform:none}
  .person .portrait{background-position-y:top!important}

  .service-explorer .section-title{align-items:flex-start;flex-direction:column;gap:18px}
  .service-explorer .section-title p{max-width:310px}
  .service-item{min-height:150px;transform:none}
  .service-item.is-open{min-height:400px;transform:none}
  .service-trigger{position:relative;min-height:150px;gap:10px;padding:22px 70px 22px 22px}
  .service-trigger strong{font-size:30px}
  .service-trigger em{font-size:14px}
  .service-trigger i{position:absolute;right:20px;top:20px;width:42px;height:42px;display:grid}
  .service-details:before{font-size:29px}
  .service-details{padding:24px}
  .service-details li{font-size:14px}

  .process{padding-top:80px;padding-bottom:85px}
  .process .section-title{align-items:flex-start;flex-direction:column;gap:18px}
  .process .section-title p{max-width:320px}
  .closing{height:700px}
  .closing-photo{background-position:80% center;background-size:auto 100%}
  .closing-shade{background:linear-gradient(180deg,rgba(53,20,22,.05) 0%,rgba(53,20,22,.12) 30%,rgba(53,20,22,.62) 58%,rgba(53,20,22,.94) 100%)}
  .closing-copy{bottom:146px}
  .closing-copy h2{font-size:43px;line-height:.9}
  .closing-copy p{max-width:330px;line-height:1.45}
  .closing-actions{left:20px;right:20px;bottom:28px}
  .closing-actions .button{flex:1;min-height:52px;text-align:center}
}

/* Visual polish: consistent rhythm, clean cards and restrained interaction. */
.section,.intro,.service-explorer,.team,.process,.benefits,.outcomes,.faq{
  padding-top:var(--space-section);
  padding-bottom:var(--space-section);
}

.section-title{gap:32px}
.section-title h2{max-width:760px;margin-top:16px;letter-spacing:-.04em}
.section-title p{max-width:520px;line-height:var(--type-body-line-height)}
.section-title small,.section>div>small,.hero-copy>p,.closing-copy small{font-size:14px;line-height:1.5}

.button,.service-cta{
  min-height:48px;
  padding:14px 20px;
  border:0;
  border-radius:var(--radius-button);
  background:var(--v2-wine-deep);
  color:#fff;
  font-size:15px;
  line-height:1.2;
  box-shadow:none;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.button:hover,.service-cta:hover{background:var(--v2-wine);color:#fff;transform:translateY(-2px)}
.button:focus-visible,.service-cta:focus-visible{outline:3px solid rgba(83,31,36,.2);outline-offset:3px}

.service-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.service-item{min-height:380px;border:0;border-radius:var(--radius-card);background:#fff;box-shadow:none}
.service-item.is-open,.service-item:hover{box-shadow:none}
.service-trigger{padding:var(--space-card)}
.service-trigger strong{font-size:var(--type-h3-size)!important;line-height:1.2!important;letter-spacing:-.03em}
.service-trigger em{font-size:var(--type-body-size);line-height:var(--type-body-line-height)}
.service-details{padding:var(--space-card);border-radius:var(--radius-card)}
.service-details:before{font-size:var(--type-h3-size)!important;line-height:1.2!important}
.service-details ul{gap:0 32px}
.service-details li{padding:16px 0;line-height:var(--type-body-line-height)!important}

.team-rail{gap:24px}
.person{border:0;border-radius:var(--radius-card);box-shadow:none}
.person.is-revealed,.person:hover{box-shadow:none}
.person .person-info{padding:32px}
.person-info h3{font-size:var(--type-h3-size)!important;line-height:1.2!important}
.person-info>p,.person-info dd{line-height:var(--type-body-line-height)!important}

.launch-roadmap{padding:32px;border:0;border-radius:var(--radius-card);box-shadow:none}
.roadmap-track{gap:24px}
.roadmap-node{padding-inline:16px}
.roadmap-node strong{font-size:20px!important;line-height:1.3!important;letter-spacing:-.02em}
.roadmap-node small{line-height:1.5}
.roadmap-detail{gap:32px;padding:32px;border-radius:var(--radius-card)}
.roadmap-main h3{font-size:var(--type-h3-size)!important;line-height:1.2!important}
.roadmap-main ul{gap:16px}
.roadmap-main li{padding:16px;border:0;border-radius:10px;background:#f3f6f7}
.roadmap-detail aside{padding:32px;border-radius:12px}

.benefit-console{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch;margin-top:48px}
.benefit-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0}
.benefit-tab{
  min-width:0;
  min-height:128px;
  display:flex;
  align-items:flex-end;
  padding:24px;
  border:0;
  border-radius:12px;
  background:rgba(255,255,255,.64);
  box-shadow:none;
}
.benefit-tab strong{overflow-wrap:anywhere;font-size:20px!important;line-height:1.3!important;letter-spacing:-.02em}
.benefit-tab:hover,.benefit-tab.is-active{background:var(--v2-wine-deep);color:#fff;transform:none}
.benefit-display{min-width:0;min-height:548px;padding:32px;border:0;border-radius:var(--radius-card);box-shadow:none}
.benefit-display h3{font-size:var(--type-h3-size)!important;line-height:1.2!important;letter-spacing:-.03em}
.benefit-display>p{line-height:var(--type-body-line-height)!important}
.benefit-signal{gap:24px;margin-top:32px;padding-top:24px}
.benefit-signal b{font-size:16px;line-height:1.5}

.outcome-stack{margin-top:48px;border-top:0}
.outcome-card{border:0;border-top:1px solid rgba(83,31,36,.14)}
.outcome-card:last-child{border-bottom:1px solid rgba(83,31,36,.14)}
.outcome-card>button{gap:24px;padding:32px 0}
.outcome-card>button h3{font-size:var(--type-h3-size)!important;line-height:1.2!important}
.outcome-card>button i{border:0;background:#f0e8e5;box-shadow:none}
.outcome-detail{gap:48px}
.outcome-card.is-open .outcome-detail{padding-bottom:32px}
.outcome-detail p,.outcome-detail li{line-height:var(--type-body-line-height)!important}

.media-row{gap:24px;padding-top:var(--space-section);padding-bottom:var(--space-section)}
.media-row .media{border-radius:var(--radius-card);box-shadow:none}

@media(max-width:900px){
  .service-list,.benefit-console{grid-template-columns:1fr}
  .benefit-display{min-height:360px}
  .roadmap-detail{grid-template-columns:1fr}
}

@media(max-width:620px){
  :root{--space-section:64px;--space-card:24px}
  .section-title{gap:20px}
  .section-title h2{font-size:36px!important}
  .service-list{gap:16px}
  .service-item{min-height:160px}
  .service-item.is-open{min-height:420px}
  .service-trigger,.service-details{padding:24px}
  .service-trigger{padding-right:72px}
  .service-trigger strong,.service-details:before{font-size:26px!important}
  .launch-roadmap{padding:20px}
  .roadmap-detail{padding:24px}
  .benefit-tabs{grid-template-columns:1fr;gap:10px}
  .benefit-tab{min-height:88px;padding:20px}
  .benefit-display{min-height:340px;padding:24px}
  .outcome-card>button{padding:24px 0}
  .outcome-detail{gap:24px}
}

/* Services: editorial mosaic without changing the accordion markup. */
.service-list{
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-flow:dense;
  gap:16px;
}
.service-item{min-height:300px}
.service-item:nth-child(1){grid-column:span 7;min-height:420px}
.service-item:nth-child(2){grid-column:span 5}
.service-item:nth-child(3),.service-item:nth-child(4),.service-item:nth-child(5){grid-column:span 4}
.service-item:nth-child(6){grid-column:span 5}
.service-item:nth-child(7){grid-column:span 7}
.service-item:nth-child(8){grid-column:1/-1;min-height:260px}
.service-item:nth-child(3n+2){background:#f8f5f3}
.service-item:nth-child(3n){background:#eef4f5}
.service-trigger{min-height:100%;justify-content:flex-start}
.service-trigger strong{max-width:680px;color:var(--v2-ink);font-size:32px!important;font-weight:500;line-height:1.2!important}
.service-trigger em{margin-top:24px}

@media(max-width:900px){
  .service-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .service-item,
  .service-item:nth-child(n){grid-column:auto;min-height:280px}
  .service-item:nth-child(1),.service-item:nth-child(6),.service-item:nth-child(8){grid-column:1/-1;min-height:320px}
}

@media(max-width:620px){
  .service-list{grid-template-columns:1fr}
  .service-item,
  .service-item:nth-child(n),
  .service-item:nth-child(1),.service-item:nth-child(6),.service-item:nth-child(8){grid-column:1;min-height:160px}
  .service-item.is-open{min-height:420px}
}

/* Services master-detail. */
.service-master-detail{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:64px;
  align-items:start;
  margin-top:48px;
}
.service-master-detail .service-list{display:block}
.service-master-detail .service-item,
.service-master-detail .service-item:nth-child(n){
  min-height:0;
  grid-column:auto;
  overflow:visible;
  border:0;
  border-bottom:1px solid rgba(83,31,36,.14);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
}
.service-master-detail .service-item:first-child{border-top:1px solid rgba(83,31,36,.14)}
.service-master-detail .service-trigger{
  width:100%;
  min-height:0;
  display:block;
  padding:22px 0;
  color:var(--v2-ink);
  text-align:left;
}
.service-master-detail .service-trigger span,
.service-master-detail .service-trigger em,
.service-master-detail .service-trigger i{display:none}
.service-master-detail .service-trigger strong{
  display:block;
  max-width:none;
  color:inherit;
  font-size:clamp(24px,2.15vw,34px)!important;
  font-weight:500;
  line-height:1.15!important;
  letter-spacing:-.035em;
  transition:color .2s ease,transform .2s ease;
}
.service-master-detail .service-item:hover .service-trigger strong,
.service-master-detail .service-item.is-active .service-trigger strong{color:var(--v2-wine);transform:translateX(12px)}
.service-master-detail .service-item.is-active .service-trigger{box-shadow:inset 3px 0 0 var(--v2-wine)}
.service-master-detail .service-details{display:none!important}

.service-panel{
  position:sticky;
  top:24px;
  min-height:640px;
  display:flex;
  flex-direction:column;
  padding:48px;
  border-radius:var(--radius-card);
  background:transparent;
  color:var(--v2-ink);
}
@keyframes servicePanelIn{from{opacity:.45}to{opacity:1}}
.service-panel.is-changing{animation:servicePanelIn .32s ease both}
.service-panel-heading h3{max-width:680px;margin:0;font-size:clamp(42px,4.4vw,66px)!important;line-height:1.02!important;letter-spacing:-.055em}
.service-panel-heading p{max-width:580px;margin:24px 0 0;color:#665956}
.service-panel ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:64px 0 40px;padding:0;list-style:none}
.service-panel li{padding:16px 0;border-top:1px solid rgba(83,31,36,.16)}
.service-panel .service-cta{align-self:flex-start;margin-top:auto}

@media(max-width:900px){
  .service-master-detail{display:block;margin-top:40px}
  .service-panel{display:none}
  .service-master-detail .service-item,
  .service-master-detail .service-item:nth-child(n){min-height:0;border-bottom:1px solid rgba(83,31,36,.14)}
  .service-master-detail .service-trigger{
    display:grid;
    grid-template-columns:1fr 40px;
    gap:8px 20px;
    padding:24px 0;
  }
  .service-master-detail .service-trigger strong{grid-column:1;font-size:28px!important;transform:none}
  .service-master-detail .service-trigger em{
    grid-column:1;
    display:block;
    max-height:0;
    margin:0;
    overflow:hidden;
    opacity:0;
    color:#756763;
    transition:max-height .3s ease,opacity .2s ease,margin .3s ease;
  }
  .service-master-detail .service-trigger i{
    position:static;
    grid-column:2;
    grid-row:1;
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    font-size:24px;
    transition:transform .25s ease;
  }
  .service-master-detail .service-item.is-active .service-trigger{box-shadow:none}
  .service-master-detail .service-item.is-open .service-trigger em{max-height:90px;margin-top:8px;opacity:1}
  .service-master-detail .service-item.is-open .service-trigger i{transform:rotate(45deg)}
  .service-master-detail .service-details,
  .service-master-detail .service-item:hover .service-details{
    position:static;
    inset:auto;
    display:block!important;
    max-height:0;
    padding:0;
    overflow:hidden;
    border-radius:0;
    background:transparent;
    color:var(--v2-ink);
    opacity:0;
    transform:none;
    pointer-events:none;
    transition:max-height .36s ease,opacity .25s ease,padding .36s ease;
  }
  .service-master-detail .service-details:before{display:none}
  .service-master-detail .service-details ul{grid-template-columns:1fr;gap:0;margin:0}
  .service-master-detail .service-details li{border-color:rgba(83,31,36,.14);color:#665956}
  .service-master-detail .service-item.is-open .service-details,
  .service-master-detail .service-item.is-open:hover .service-details{
    max-height:520px;
    padding:0 0 24px;
    opacity:1;
    pointer-events:auto;
  }
  .service-master-detail .service-cta{margin-top:24px}
}

@media(max-width:620px){
  .service-master-detail{margin-top:32px}
  .service-master-detail .service-trigger{padding:22px 0}
  .service-master-detail .service-trigger strong{font-size:25px!important}
}

/* Benefits master-detail. */
.benefits{background:#fff}
.benefit-console{
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:64px;
  align-items:start;
  margin-top:48px;
}
.benefit-tabs{display:block;border:0}
.benefit-tab{
  width:100%;
  min-height:0;
  display:block;
  padding:22px 0;
  border:0;
  border-bottom:1px solid rgba(83,31,36,.14);
  border-radius:0;
  background:transparent;
  color:var(--v2-ink);
  text-align:left;
  box-shadow:none;
  transform:none;
}
.benefit-tab:first-child{border-top:1px solid rgba(83,31,36,.14)}
.benefit-tab strong{
  display:block;
  color:inherit;
  font-size:clamp(24px,2.15vw,34px)!important;
  font-weight:500;
  line-height:1.15!important;
  letter-spacing:-.035em;
  transition:color .2s ease,transform .2s ease;
}
.benefit-tab:hover,.benefit-tab.is-active{background:transparent;color:var(--v2-wine);transform:none}
.benefit-tab:hover strong,.benefit-tab.is-active strong{transform:translateX(12px)}
.benefit-tab.is-active{box-shadow:inset 3px 0 0 var(--v2-wine)}
.benefit-display{
  position:sticky;
  top:24px;
  min-width:0;
  min-height:640px;
  padding:48px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.benefit-display h3{max-width:680px;margin:0;font-size:clamp(42px,4.4vw,66px)!important;line-height:1.02!important;letter-spacing:-.055em}
.benefit-display>p{max-width:580px;margin:24px 0 0;color:#665956}
.benefit-signal{margin-top:auto;padding-top:24px;border-color:rgba(83,31,36,.16)}

@media(max-width:900px){
  .benefit-console{grid-template-columns:1fr;gap:40px}
  .benefit-display{position:static;min-height:360px;padding:32px 0 0}
}

@media(max-width:620px){
  .benefit-console{gap:32px;margin-top:32px}
  .benefit-tab{padding:20px 0}
  .benefit-tab strong{font-size:25px!important}
  .benefit-display{min-height:320px;padding-top:24px}
  .benefit-display h3{font-size:36px!important}
}

/* Outcomes vertical timeline. */
.outcome-stack{
  position:relative;
  margin-top:48px;
  padding-left:56px;
  border:0;
}
.outcome-stack:before{
  content:'';
  position:absolute;
  left:13px;
  top:34px;
  bottom:34px;
  width:1px;
  background:rgba(83,31,36,.22);
}
.outcome-card,.outcome-card:last-child{position:relative;border:0}
.outcome-card>button{
  position:relative;
  width:100%;
  display:block;
  padding:26px 0 18px;
  border:0;
  background:transparent;
  text-align:left;
}
.outcome-card>button:before{
  content:'';
  position:absolute;
  left:-50px;
  top:34px;
  width:15px;
  height:15px;
  border:3px solid #fffaf8;
  border-radius:50%;
  background:#c7b8b3;
  box-shadow:0 0 0 1px rgba(83,31,36,.25);
  transition:background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.outcome-card>button:hover:before{transform:scale(1.12);background:#9f7778}
.outcome-card.is-open>button:before{background:var(--v2-wine);box-shadow:0 0 0 1px var(--v2-wine),0 0 0 7px rgba(83,31,36,.1)}
.outcome-card>button div{display:block}
.outcome-card>button small{display:block;margin-bottom:8px}
.outcome-card>button h3{margin:0;font-weight:500;transition:color .2s ease,font-weight .2s ease}
.outcome-card.is-open>button h3{color:var(--v2-wine);font-weight:600}
.outcome-detail{grid-template-columns:1.1fr 1fr;gap:48px}
.outcome-card.is-open .outcome-detail{max-height:360px;padding:4px 0 34px;opacity:1}
.outcome-detail li{border-top:0}

@media(max-width:620px){
  .outcome-stack{margin-top:32px;padding-left:38px}
  .outcome-stack:before{left:8px;top:30px;bottom:30px}
  .outcome-card>button{padding:22px 0 16px}
  .outcome-card>button:before{left:-36px;top:29px;width:13px;height:13px}
  .outcome-detail{grid-template-columns:1fr;gap:20px}
  .outcome-card.is-open .outcome-detail{max-height:560px;padding:2px 0 28px}
}

.outcomes.reveal-ready .outcome-card{
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(50px)!important;
  transition:opacity 1.2s ease-out,transform 1.2s ease-out!important;
}
.outcomes.reveal-ready .outcome-card:nth-child(1){transition-delay:.3s!important}
.outcomes.reveal-ready .outcome-card:nth-child(2){transition-delay:.6s!important}
.outcomes.reveal-ready .outcome-card:nth-child(3){transition-delay:.9s!important}
.outcomes.reveal-ready .outcome-card.is-visible{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
}

@media(prefers-reduced-motion:reduce){
  .outcomes.reveal-ready .outcome-card{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    transition:none!important;
  }
}

/* Stable interactive panels: content changes must not move the page. */
.service-master-detail,.benefit-console,.team,.launch-roadmap{overflow-anchor:none}
.team .person,.team .person:hover,.team .person.is-revealed{transform:none}

@media(min-width:901px){
  .service-panel,.benefit-display{min-height:640px}
  .roadmap-detail{min-height:430px}
  .person{height:620px;min-height:620px}
}

/* Mobile overflow and interaction fixes verified at 375px and 390px. */
@media(max-width:620px){
  .hero .hero-copy{
    left:0;
    right:auto;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }

  .service-master-detail,
  .service-master-detail .service-list,
  .service-master-detail .service-item,
  .service-master-detail .service-trigger,
  .service-master-detail .service-details{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }
  .service-master-detail .service-trigger strong,
  .service-master-detail .service-trigger em,
  .service-master-detail .service-details li{overflow-wrap:anywhere}

  .benefit-console,.benefit-tabs,.benefit-tab,.benefit-display{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
  }
  .benefit-tab:hover strong,.benefit-tab.is-active strong{transform:none}
  .benefit-tab strong,.benefit-display h3,.benefit-display p{overflow-wrap:anywhere}

  .outcome-stack{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .outcome-card,.outcome-card>button,.outcome-detail,
  .outcome-detail p,.outcome-detail li{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
    overflow-wrap:anywhere;
  }

  .team-rail{width:100%;max-width:100%}
  .team .person{
    flex:0 0 calc(100% - 12px);
    width:calc(100% - 12px);
    max-width:calc(100% - 12px);
  }
  .team .person-info,.team .person-info h3,
  .team .person-info p,.team .person-info dd{
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
  }

  .launch-roadmap,.roadmap-detail,.roadmap-main,
  .roadmap-main h3,.roadmap-main p,.roadmap-main li{
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
    overflow-wrap:anywhere;
  }
}
