/* ZILA service chapters — the existing editorial palette, with a route through the story. */
.services-page .shell { width:min(1300px,calc(100% - 80px)); }
.skip-link { position:absolute; left:20px; top:-90px; z-index:30; background:var(--paper-light); padding:12px 18px; }
.skip-link:focus { top:10px; }
.service-hero { padding:32px 0 65px; background:var(--paper-light); border-bottom:1px solid var(--line); }
.breadcrumb { display:inline-block; margin:0 0 52px; text-decoration:none; font-size:.69rem; letter-spacing:.1em; text-transform:uppercase; }
.service-hero-grid { display:grid; grid-template-columns:1.08fr 1fr; gap:64px; align-items:center; }
.service-hero h1 { margin:25px 0 28px; font:400 clamp(3.6rem,5.6vw,5.9rem)/.98 var(--serif); letter-spacing:-.052em; }
.service-hero-copy>.eyebrow { color:var(--wine); font-size:.64rem; letter-spacing:.12em; }
.service-intro { max-width:550px; font-size:1rem; line-height:1.65; }
.service-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px 25px; margin:30px 0 0; }
.services-page .button.brass { background:var(--wine); color:var(--paper-light); border-color:var(--wine); }
.services-page .button.brass:hover { background:var(--wine-dark); border-color:var(--wine-dark); }
.phone-link { display:block; font:400 1.02rem/1.35 var(--serif); text-decoration:none; }
.phone-link span { display:block; font:400 .68rem/1.6 var(--sans); letter-spacing:.035em; }
.phone-link:hover { text-decoration:underline; text-underline-offset:4px; }
.read-route { display:inline-flex; align-items:center; gap:32px; margin-top:42px; font-size:.71rem; text-decoration:none; border-bottom:1px solid var(--line); padding-bottom:10px; }
.read-route span { font-size:1.2rem; }
.service-visual { margin:0; min-width:0; }
.service-visual img { width:100%; height:auto; background:#fff; }
.service-visual figcaption { padding-top:16px; font:italic .79rem/1.5 var(--serif); }
.service-visual figcaption span { display:block; font:400 .6rem/1.5 var(--sans); text-transform:uppercase; letter-spacing:.14em; margin-bottom:5px; color:var(--wine); }
/* The roadmap and the text share a grid area: the map is the background layer. */
.journey-layout { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr); align-items:start; }
.journey-aside { grid-area:1/1; position:sticky; z-index:0; top:35px; width:510px; max-width:100%; margin:88px 0 35px; pointer-events:none; }
.journey-aside>.eyebrow,.route-caption { display:none; }
.journey-content { grid-area:1/1; position:relative; z-index:1; margin-left:185px; min-width:0; pointer-events:none; }
.journey-section>* { pointer-events:auto; }
.route-nav { position:relative; margin:0; height:600px; }
.route-line { position:absolute; left:0; top:19.45px; width:480px; height:561.1px; max-width:none; fill:none; pointer-events:none; }
.route-base { stroke:var(--wine); stroke-width:1.4; opacity:.09; }
.route-travel { stroke:var(--wine); stroke-width:1.8; opacity:.16; stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset .75s ease; }
.route-nav ol { position:relative; width:170px; list-style:none; margin:0; padding:0; }
.route-nav li { height:100px; }
.route-link { display:flex; align-items:center; gap:12px; width:170px; height:100px; text-decoration:none; color:#756557; font:400 .76rem/1.3 var(--serif); pointer-events:auto; }
.route-link span:last-child { max-width:95px; }
.route-number { position:relative; flex:0 0 30px; margin-left:13px; border:1px solid #b9a999; background:rgba(240,233,218,.82); width:30px; height:30px; display:grid; place-items:center; font:400 .64rem var(--sans); transition:background .3s,color .3s,border-color .3s; }
.route-nav li:nth-child(even) .route-number { margin-left:47px; }
.route-nav li:nth-child(even) .route-link { gap:8px; }
.route-nav li:nth-child(even) .route-link span:last-child { max-width:76px; }
.route-link[aria-current="step"] { color:var(--wine); }
.route-link[aria-current="step"] .route-number { background:var(--wine); border-color:var(--wine); color:var(--paper-light); }
.route-link:hover .route-number,.route-link:focus-visible .route-number { border-color:var(--wine); background:var(--wine); color:var(--paper-light); }
.route-link:focus-visible { outline-offset:0; }
.journey-aside>.text-link { display:inline-block; margin:16px 0 0 13px; pointer-events:auto; font-size:.57rem; color:#756557; }
.journey-section { padding:85px 0 92px; border-bottom:1px solid var(--line); scroll-margin-top:30px; }
.journey-section:last-child { border-bottom:0; }
.station-meta { display:flex; align-items:center; gap:24px; color:var(--wine); margin-bottom:30px; }
.station-meta .eyebrow { font-size:.64rem; }
.station-no { font:italic 1.3rem var(--serif); }
.journey-section h2 { font:400 clamp(2.7rem,4.1vw,4.1rem)/1.04 var(--serif); letter-spacing:-.045em; margin:0 0 27px; }
.station-lead { font:400 clamp(1.3rem,1.7vw,1.65rem)/1.4 var(--serif); margin:0 0 30px; }
.journey-section>p:not(.station-lead,.detail-note,.editorial-note,.case-result) { max-width:690px; }
.scope-list { margin:35px 0 24px; }
.scope-list>div { display:grid; grid-template-columns:.8fr 1.35fr; gap:30px; padding:22px 0; border-top:1px solid var(--line); }
.scope-list>div:last-child { border-bottom:1px solid var(--line); }
.scope-list dt { font:400 1.25rem/1.3 var(--serif); }
.scope-list dd { margin:0; font-size:.91rem; line-height:1.6; }
.detail-note { font-size:.77rem; line-height:1.6; color:#69574c; }
.editorial-note { margin:37px 0 0; padding:24px 0 0 24px; border-left:2px solid var(--brass); font:400 1.2rem/1.55 var(--serif); }
.editorial-note strong { color:var(--wine); font-weight:400; }
.planning-four { display:grid; grid-template-columns:1fr 1fr; margin:34px 0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.planning-four>div { border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:25px; }
.planning-four span { color:var(--wine); font:italic .8rem var(--serif); }
.planning-four h3 { font:400 1.5rem var(--serif); margin:23px 0 10px; }
.planning-four p { font-size:.88rem; margin:0; }
.mini-case { list-style:none; padding:0; margin:40px 0 0; counter-reset:case; }
.mini-case li { display:grid; grid-template-columns:30px 125px 1fr; gap:20px; padding:23px 0; border-top:1px solid var(--line); counter-increment:case; }
.mini-case li::before { content:'0' counter(case); color:var(--wine); font:italic .8rem var(--serif); padding-top:5px; }
.mini-case span { font:400 1.22rem/1.4 var(--serif); }
.mini-case p { margin:0; font-size:.91rem; }
.case-result { padding:28px; background:var(--wine); color:var(--paper-light); font:400 1.2rem/1.5 var(--serif); }
.service-enquiry { background:var(--paper-deep); border-block:1px solid var(--line); padding:90px 0; scroll-margin-top:20px; }
.enquiry-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:95px; align-items:start; }
.enquiry-copy { position:sticky; top:50px; }
.enquiry-copy h2 { font:400 clamp(2.8rem,4.3vw,4.5rem)/1.02 var(--serif); letter-spacing:-.04em; margin:24px 0; }
.enquiry-copy .phone-link { margin-top:40px; font-size:1.4rem; }
.enquiry-email { display:inline-block; margin-top:22px; font-size:.88rem; text-underline-offset:5px; }
.service-form { padding:38px; border:1px solid var(--line); background:var(--paper-light); }
.form-audience { border-bottom:1px solid var(--line); padding-bottom:20px; margin:0 0 28px; color:var(--wine); font-size:.66rem; }
.service-form .field label { font-size:.62rem; letter-spacing:.07em; }
.service-form .field small { font-size:.73rem; }
.service-form input,.service-form textarea,.service-form select { min-width:0; }
.service-form .form-note { line-height:1.6; }
.service-form .button { width:100%; text-align:left; font-size:.61rem; }
.service-form .form-status:empty { display:none; }
.service-form .form-status { font-size:.83rem; }
.mail-review { border-top:1px solid var(--line); margin-top:20px; padding-top:18px; }
.mail-review[hidden] { display:none; }
.mail-review a { font-size:.8rem; display:inline-block; margin:8px 0; }
.other-services { padding-block:70px 85px; }
.other-services>p { margin-bottom:25px; }
.other-services>a { display:grid; grid-template-columns:90px 1fr 30px; gap:20px; align-items:center; padding:22px 0; border-top:1px solid var(--line); text-decoration:none; }
.other-services>a>span:nth-child(2) { font:400 clamp(1.4rem,2.5vw,2rem) var(--serif); }
.other-services>a:hover { color:var(--wine); }
.services-cover { padding:45px 0 25px; background:var(--wine-dark); color:var(--paper-light); }
.cover-top { display:flex; justify-content:space-between; gap:20px; padding-bottom:36px; border-bottom:1px solid #856e67; }
.cover-top .eyebrow { font-size:.6rem; letter-spacing:.14em; }
.cover-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:55px; align-items:center; padding:65px 0; }
.services-cover h1 { margin:0 0 33px; font:400 clamp(3.7rem,6.3vw,6.4rem)/.98 var(--serif); letter-spacing:-.05em; }
.services-cover h1 em,.network-manifesto h2 em { font-weight:400; color:#d8bb8d; }
.cover-intro { max-width:540px; margin:0 0 30px; font-size:1rem; line-height:1.7; }
.cover-grid figure { margin:0; }
.cover-grid img { width:100%; height:auto; }
.cover-grid figcaption { margin-top:15px; font:italic .8rem var(--serif); color:#e2d5bc; }
.cover-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:24px; border-top:1px solid #856e67; font-size:.64rem; text-transform:uppercase; letter-spacing:.1em; }
.cover-bottom a { text-decoration:none; }
.service-selection { padding-top:90px; padding-bottom:95px; }
.selection-heading { display:grid; grid-template-columns:1fr 1.5fr; gap:25px 80px; margin-bottom:50px; }
.selection-heading>.eyebrow { grid-column:1/-1; color:var(--wine); }
.selection-heading h2,.overview-road h2 { margin:0; font:400 clamp(2.9rem,5vw,5rem)/1 var(--serif); letter-spacing:-.04em; }
.selection-heading>p:last-child { margin:0; max-width:490px; align-self:end; }
.service-choice { display:grid; grid-template-columns:60px 1.2fr 1fr; gap:35px; padding:45px 0; border-top:1px solid var(--line); text-decoration:none; transition:color .3s; }
.service-choice:last-child { border-bottom:1px solid var(--line); }
.choice-no { font:italic 1.25rem var(--serif); color:var(--wine); }
.service-choice .eyebrow { font-size:.6rem; color:var(--wine); letter-spacing:.11em; }
.service-choice h3 { font:400 clamp(2rem,3.1vw,3.2rem)/1.05 var(--serif); letter-spacing:-.035em; margin:18px 0 0; max-width:460px; }
.service-choice>p { margin:0; font-size:.94rem; max-width:400px; }
.choice-link { display:block; margin-top:24px; text-transform:uppercase; font-size:.61rem; letter-spacing:.09em; text-decoration:underline; text-underline-offset:6px; }
.service-choice:hover h3 { color:var(--wine); }
.network-manifesto { background:var(--ink); color:var(--paper-light); padding:85px 0 95px; }
.network-manifesto .shell>p { color:#d8bb8d; margin-bottom:45px; }
.network-manifesto .shell>div { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.network-manifesto h2 { margin:0; font:400 clamp(3rem,5vw,5rem)/.99 var(--serif); letter-spacing:-.045em; }
.network-manifesto .detail-note { color:#c6b6a3; }
.overview-road { padding-block:90px 100px; }
.overview-road>.eyebrow { margin-bottom:28px; color:var(--wine); }
.overview-road>ol { display:grid; grid-template-columns:repeat(6,1fr); padding:0; list-style:none; margin:55px 0; border-top:1px solid var(--wine); }
.overview-road li { font:400 1.1rem var(--serif); padding:20px 12px 12px 0; }
.overview-road li span { display:block; font:italic .8rem var(--serif); color:var(--wine); margin-bottom:20px; }
.overview-end { display:flex; justify-content:space-between; align-items:center; gap:50px; padding-top:15px; }
.overview-end>p { max-width:420px; }
.overview-end .service-actions { margin:0; }
.reveal { opacity:1; transform:none; }
.motion-ready .reveal:not(.is-visible) { opacity:0; transform:translateY(18px); }
.motion-ready .reveal { transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1); }
:target { scroll-margin-top:28px; }
@media(min-width:1600px) { .service-hero { padding-bottom:80px; }.service-hero-grid { gap:85px; } }
@media(max-width:1100px) {
 .services-page .shell { width:calc(100% - 48px); }
 .service-hero-grid { gap:35px; }.service-hero h1 { font-size:clamp(3.1rem,5.8vw,4.6rem); }
 .journey-content { margin-left:175px; }

 .enquiry-layout { gap:45px; }.service-form { padding:28px; }
 .cover-grid { gap:35px; }.services-cover h1 { font-size:clamp(3.2rem,6.2vw,5.3rem); }
 .service-choice { grid-template-columns:40px 1fr 1fr; gap:25px; }
 .network-manifesto .shell>div { gap:55px; }
}
@media(max-width:800px) {
 .service-hero-grid,.cover-grid { grid-template-columns:1fr; }
 .service-hero h1 { font-size:clamp(3.7rem,9vw,5.6rem); }
 .service-hero { padding-top:25px; }.breadcrumb { margin-bottom:38px; }
 .service-hero-grid { gap:35px; }.service-intro { max-width:620px; }
 .service-visual { max-width:650px; }.service-visual figcaption { display:none; }
 .read-route { margin-top:28px; }
 .journey-layout { grid-template-columns:minmax(0,1fr); }
 .journey-content { margin-left:65px; }
 .journey-aside { position:sticky; top:24px; width:240px; margin:60px 0 25px; padding:0; border:0; }
 .journey-aside>.eyebrow,.route-caption,.journey-aside>.text-link { display:none; }
 .route-nav { height:432px; }
 .route-line { display:block; width:240px; height:404px; top:14px; }
 .route-nav ol { display:block; width:58px; }
 .route-nav li { height:72px; }
 .route-link,.route-nav li:nth-child(even) .route-link { width:58px; height:72px; min-height:0; gap:0; }
 .route-number,.route-nav li:nth-child(even) .route-number { width:24px; height:28px; flex-basis:24px; margin-left:2px; }
 .route-nav li:nth-child(even) .route-number { margin-left:19px; }
 .route-link span:last-child { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .journey-section { padding:60px 0; }.journey-section h2 { font-size:clamp(2.7rem,6.5vw,3.8rem); }
 .enquiry-layout { grid-template-columns:1fr; gap:35px; }.enquiry-copy { position:static; }
 .enquiry-copy h2 { font-size:3.4rem; }.enquiry-copy .phone-link { margin-top:25px; }
 .service-enquiry { padding-block:60px; }
 .cover-grid { padding:45px 0; }.cover-grid figure { max-width:650px; }
 .services-cover h1 { font-size:clamp(3.7rem,9.2vw,6rem); }
 .cover-top { flex-direction:column; gap:12px; padding-bottom:25px; }
 .cover-bottom { flex-direction:column; gap:12px; }
 .selection-heading { grid-template-columns:1fr; gap:22px; }
 .service-selection { padding-block:60px; }.service-choice { grid-template-columns:30px 1fr; gap:15px; padding-block:35px; }
 .service-choice>p { grid-column:2; max-width:600px; }.service-choice h3 { max-width:600px; margin-top:15px; font-size:2.6rem; }
 .network-manifesto .shell>div { grid-template-columns:1fr; gap:35px; }.network-manifesto { padding-block:60px; }
 .overview-road { padding-block:60px; }.overview-road>ol { grid-template-columns:repeat(3,1fr); row-gap:20px; }
 .overview-end { display:block; }.overview-end .service-actions { margin-top:25px; }
}
@media(max-width:480px) {
 .services-page .shell { width:calc(100% - 32px); }
 .service-hero h1 { font-size:clamp(3rem,12.5vw,3.7rem); }
 .service-hero-copy>.eyebrow { max-width:280px; line-height:1.7; }
 .services-page .button { font-size:.62rem; gap:16px; }
 .service-actions { align-items:flex-start; flex-direction:column; gap:20px; }
 .service-intro,.cover-intro { font-size:.94rem; }
 .journey-section h2 { font-size:2.7rem; }.station-lead { font-size:1.3rem; }
 .scope-list>div { grid-template-columns:1fr; gap:10px; padding-block:20px; }
 .scope-list dt { font-size:1.3rem; }.scope-list dd { font-size:.92rem; }
 .journey-content { margin-left:50px; }
 .journey-section h2 { font-size:clamp(2rem,8vw,2.5rem); overflow-wrap:break-word; }
 .journey-section>.station-lead { font-size:1.2rem; }
 .journey-section>p { font-size:.94rem; }
 .route-nav { height:396px; }
 .route-line { width:200px; height:370.35px; top:12.85px; }
 .route-nav li,.route-link,.route-nav li:nth-child(even) .route-link { height:66px; }
 .route-nav ol,.route-link,.route-nav li:nth-child(even) .route-link { width:46px; }
 .route-number,.route-nav li:nth-child(even) .route-number { width:22px; height:26px; flex-basis:22px; margin-left:1px; font-size:.59rem; }
 .route-nav li:nth-child(even) .route-number { margin-left:15px; }
 .route-base { opacity:.1; }.route-travel { opacity:.19; }
 .station-meta { gap:18px; }.station-meta .eyebrow { font-size:.6rem; }
 .mini-case li { grid-template-columns:24px 1fr; gap:8px 14px; }.mini-case p { grid-column:2; }
 .planning-four { grid-template-columns:1fr; }.planning-four>div { padding:22px; }.planning-four h3 { margin-top:15px; }
 .service-form { padding:22px 18px; }.service-form .form-grid { grid-template-columns:1fr; }.service-form .field.full { grid-column:auto; }
 .enquiry-copy h2 { font-size:2.9rem; }.service-form .button { padding-inline:10px; font-size:.58rem; letter-spacing:.06em; }
 .other-services>a { grid-template-columns:45px 1fr 20px; gap:10px; }.other-services>a .eyebrow { font-size:.53rem; }
 .services-cover h1 { font-size:clamp(3rem,12vw,4rem); }
 .service-choice>div,.service-choice>p { min-width:0; }
 .service-choice h3 { font-size:clamp(1.85rem,8.5vw,2.1rem); overflow-wrap:break-word; }.service-choice .eyebrow { line-height:1.7; }
 .network-manifesto h2 { font-size:clamp(2.55rem,12vw,3.1rem); }.overview-road h2 { font-size:2.8rem; }
 .overview-road>ol { grid-template-columns:repeat(2,1fr); }.overview-road li { font-size:1rem; }
}
@media(prefers-reduced-motion:reduce) {
 .motion-ready .reveal:not(.is-visible) { opacity:1; transform:none; }
 .route-travel,.reveal { transition:none!important; }
}

@media (min-width:801px) and (max-height:740px) {
 .journey-aside { top:20px; }
 .route-nav { height:420px; }
 .route-nav li,.route-link { height:70px; }
 .route-line { height:392.8px; top:13.6px; }
}

.service-form>.response-expectation{font-size:.84rem;line-height:1.7;margin:0 0 25px;color:var(--wine)}
