/* Uniform icon centres, with accessible names retained in the markup. */
.social-list{display:grid;grid-template-columns:repeat(auto-fit,44px);width:354px;max-width:100%;gap:18px;justify-content:start;align-items:center}
.social-item{width:44px;height:44px;display:grid;place-items:center;padding:8px}
.social-item svg{width:28px;height:28px}
.footer-requisites{border-top:1px solid var(--line);padding:30px 5px}
.footer-requisites h2{font-size:22px;margin-bottom:22px}
.footer-requisites dl{display:grid;grid-template-columns:1.3fr 1fr;gap:18px 45px;margin:0}
.footer-requisites dl>div{min-width:0}
.footer-requisites dt{font-size:13px;color:var(--muted);margin-bottom:6px}
.footer-requisites dd{font-size:14px;line-height:1.6;margin:0;overflow-wrap:anywhere}
.footer-requisites>p{font-size:13px;margin-top:22px;max-width:none}
/* A softly bevelled, pearl-finish plaque in the same material as the site surfaces. */
.accreditation{position:relative;margin:6px 0 38px;max-width:460px;perspective:950px}
.accreditation-card{position:relative;isolation:isolate;border-radius:22px;transform:rotateX(var(--accreditation-rx,1deg)) rotateY(var(--accreditation-ry,-3deg)) translateY(var(--accreditation-lift,0px));transform-origin:50% 55%}
.accreditation-card:before{content:"";position:absolute;inset:3px 1px -6px;border-radius:inherit;background:linear-gradient(115deg,#d1e0ec 0%,#f4faff 24%,#bacbdc 67%,#91abc3 100%);box-shadow:0 1px 1px #8ea9c04d,0 6px 9px -5px #213c5c35,0 20px 29px -17px #213c5c4a;z-index:-1}
.accreditation-face{position:relative;isolation:isolate;overflow:hidden;padding:27px 29px;border:1px solid #ffffff;border-radius:inherit;background:radial-gradient(ellipse at 0% 0%,#ffffff 0%,#ffffff00 72%),linear-gradient(120deg,#f9fcff 12%,#e1edf7 70%,#d3e5f5);box-shadow:inset 0 2px 2px #ffffff,inset -1px -1px 2px #bfd3e88c}
.accreditation-face:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(145deg,#ffffff00 47%,#ffffffa6 48%,#ffffff00 78%);opacity:.5;pointer-events:none}
.service-accreditation{position:relative;z-index:1;margin:0;max-width:none;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--brand-navy);font-size:21px;font-weight:500;line-height:1.55;letter-spacing:-.025em;text-wrap:pretty}
.service-accreditation strong{font-weight:600;color:var(--brand-blue)}
.accreditation-reflection{position:absolute;inset:-70% auto;width:52%;height:240%;left:0;pointer-events:none;background:linear-gradient(90deg,#ffffff00,#ffffffb0 45%,#ffffff00);transform:translateX(-200%) skewX(-24deg);opacity:0;z-index:0}
@media(max-width:600px){.accreditation{margin-bottom:34px;max-width:none}.accreditation-face{padding:23px 24px}.accreditation-card{border-radius:20px}.service-accreditation{font-size:19px;line-height:1.55}}
@media(prefers-reduced-motion:reduce){.accreditation-card{transform:none}.accreditation-reflection{display:none}}

.motion-panel{overflow:clip;contain:layout paint}
/* Keep the close control reachable on short and landscape screens. */
.contact-panel{max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.brief-form .form-note{font-size:14px;line-height:1.65;padding-bottom:18px;border-bottom:1px solid var(--line);color:var(--brand-navy)}
.photo-stage .service-layout{perspective:none}
.photo-surface{transform-style:flat}
.journey-visual{display:contents}
.journey-mobile-nav{display:none}
@media(max-width:700px){
 .footer-requisites dl{grid-template-columns:1fr;gap:19px}
 .social-list{gap:clamp(8px,3vw,18px)}
 .section{perspective:none}
 .section-surface{transform:none!important;transform-style:flat}
 .motion-part{transform:none!important;opacity:1!important;transition:none;transform-style:flat}
 .header{backdrop-filter:none;background:#f7fafff7}
 .journey .section-surface{padding-inline:18px}
 .journey-player{display:flex;flex-direction:column;margin-inline:-8px;border-radius:21px}
 .journey-topline{order:0;display:block;padding:19px 18px 14px;font-size:14px;line-height:1.5}
 .journey-destination{display:block;text-align:left;margin-top:6px;font-size:13px}
 .journey-stops{display:none}
 .journey-scene{order:1;display:flex;flex-direction:column;height:auto!important;min-height:0;padding:0 18px 22px;perspective:none;cursor:default;touch-action:pan-y;overflow:visible;background:none}
 .journey-caption{position:relative;inset:auto;width:100%;padding-top:16px;min-height:168px;order:0}
 .scene-step{font-size:13px;margin-bottom:9px}
 .scene-title{font-size:24px;line-height:1.25;letter-spacing:-.03em}
 .scene-copy{font-size:16px;line-height:1.6;margin-top:12px;max-width:none}
 .journey-visual{display:block;position:relative;flex:none;width:calc(100% + 36px);height:205px;margin:6px -18px 0;overflow:hidden;order:1;background:radial-gradient(ellipse at 50% 90%,#d0e4f7,transparent 72%)}
 .scene-world{height:205px}
 .world-stop{bottom:8px;font-size:12px;min-width:90px;max-width:150px;line-height:1.3}
 .world-stop i{width:7px;height:7px;margin-bottom:10px;box-shadow:0 0 0 4px #eaf5fd}
 .scene-traveler,.journey-player.in-welcome .scene-traveler{width:120px;height:160px;left:14%;bottom:31px;filter:none}
 .traveler-shadow{filter:brightness(0) blur(3px)}
 .traveler-contact{filter:brightness(0) blur(1px)}
 .scene-plane{left:6%;bottom:53px;width:200px;filter:none}
 .scene-welcome,.journey-player.in-welcome .scene-welcome{inset:0;transform:none;transition:opacity .25s}
 .welcome-brief{display:none}
 .scene-coordinator{height:157px;width:108px;right:12%;bottom:30px;filter:none}
 .scene-coordinator span{bottom:-5px;font-size:12px;padding:4px 6px}
 .scene-arrival,.journey-player.at-work .scene-arrival{inset:0;transform:none;padding:0;display:block;transition:opacity .25s}
 .scene-arrival img{height:100%;width:100%;object-fit:contain;mask:none;-webkit-mask:none;aspect-ratio:auto}
 .scene-arrival>div{display:none}
 .journey-player.at-work .scene-world{opacity:0}
 .scene-document,.journey-player.in-flight .scene-document,.journey-player.in-welcome .scene-document,.journey-player.at-work .scene-document{position:relative;inset:auto!important;width:100%;opacity:1;transform:none;perspective:none;transition:none;order:3;pointer-events:auto}
 .document-back{display:none}
 .document-paper{padding:20px 0 0;border:0;border-radius:0;border-top:1px solid #b9d2e8;background:transparent;box-shadow:none}
 .document-kind{font-size:12px}.document-title{font-size:19px;margin:9px 0 12px}
 .document-list{margin-bottom:17px}.document-list li{font-size:14px;padding:6px 0}
 .document-time{padding-top:16px}.document-time strong{font-size:23px}.document-time p{font-size:14px}
 .journey-mobile-nav{display:block;order:2;padding:7px 0 20px}
 .journey-progress{height:3px;background:#c6ddee;border-radius:3px;overflow:hidden;margin:0 0 18px}
 .journey-progress>span{display:block;width:100%;height:100%;background:#1768b7;transform:scaleX(var(--journey-progress,0));transform-origin:left;transition:transform .35s ease}
 .journey-nav-row{display:grid;grid-template-columns:64px 1fr 115px;align-items:center;gap:10px}
 .journey-back,.journey-next{min-height:46px;border:0;border-radius:24px;font-size:14px;padding:11px 13px}
 .journey-back{background:transparent;text-align:left;padding-left:0;color:var(--brand-navy)}.journey-back:disabled{opacity:.35}
 .journey-next{background:#155fab;color:var(--brand-navy);box-shadow:0 3px 0 #134980;transition:background .2s,transform .2s}
 .journey-next:active{transform:translateY(2px)}
 .journey-counter{font-size:13px;text-align:center;color:var(--brand-navy);white-space:nowrap}
 .journey-next-label{font-size:13px;text-align:right;line-height:1.5;color:var(--brand-navy);margin-top:13px;min-height:20px}
 .journey-bottomline{padding-top:18px}.journey-hint{font-size:14px}
 .journey-scope{margin-top:22px}
}
@media(max-width:360px){.header nav{gap:4px}.social-list{gap:8px}.journey-nav-row{grid-template-columns:53px 1fr 103px;gap:5px}.journey-counter{font-size:12px}.scene-title{font-size:22px}.journey-caption{min-height:185px}}
@media(prefers-reduced-motion:reduce){.journey-progress>span{transition:none}}

/* A single expandable document route directly beneath the walking scene. */
.journey-foot{margin-top:20px}
.route-details>summary{padding:25px 0;gap:22px}
.route-summary-text{display:block;font-size:22px;line-height:1.35;letter-spacing:-.02em;color:var(--ink)}
.route-summary-note{display:block;margin-top:7px;font-size:14px;line-height:1.6;letter-spacing:0;color:var(--muted);font-weight:400}
/* Keep the label level in every disclosure state; only the chevron rotates. */
.route-details>summary,
.route-details>summary .route-summary-text,
.route-details>summary .route-summary-note{transform:none;rotate:none;translate:none;animation:none;transition:none}
.route-details .route-detail-body{padding-bottom:20px}
.route-detail-intro{padding:6px 0 26px;max-width:960px}
.route-detail-intro .journey-timing-note{margin:0 0 14px;font-size:16px;line-height:1.75;color:var(--brand-navy)}
.route-detail-intro .journey-scope{margin:0;max-width:none}
.route-step-documents{margin-top:20px;padding:17px 20px;background:#e7f2fb;border-radius:12px}
.route-step-documents h5{font-size:14px;font-weight:600;color:var(--brand-navy);margin:0 0 10px;letter-spacing:0}
.route-step-documents ul{padding-left:18px;margin:0}
.route-step-documents li{font-size:15px;line-height:1.65;padding:3px 0}
.route-step-documents li::marker{color:var(--brand-navy)}
@media(max-width:700px){.route-summary-text{font-size:20px}.route-summary-note{font-size:13px}.route-details>summary{gap:12px;padding-block:22px}.route-step-documents{padding:15px 17px}}

/* One content inset for every surface, from the hero to the footer. */
:root{--section-inset:60px;--section-top:60px}
.hero{padding-inline:var(--section-inset)}
.section-surface,.journey .section-surface{padding:var(--section-top) var(--section-inset)}
.section-surface.photo-surface{--photo-space:var(--section-inset);padding:0}
.photo-stage,.about .photo-stage{padding-top:var(--section-top);padding-inline:var(--section-inset)}
.section-head,.photo-stage .section-head{margin-bottom:36px}
.section-head h2,.photo-stage .section-head h2,.brief-heading h2{font-size:clamp(34px,3.2vw,48px);line-height:1.16}
.brief-surface,.pricing-layout,.field-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.brief-surface>*,.pricing-layout>*{min-width:0}
@supports(grid-template-rows:subgrid){
 .route-detail-step{display:grid;grid-template-rows:subgrid;grid-row:span 4}
}
.footer.wrap{padding-inline:0}
.footer-top,.footer-requisites,.footer-bottom{padding-inline:calc(var(--section-inset) + 1px)}
@media(min-width:851px){
 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
 .header-inner>.brand{justify-self:start}
 .header-inner>.button{justify-self:end}
}
@media(max-width:1150px){:root{--section-inset:44px;--section-top:44px}}
@media(max-width:1000px){:root{--section-inset:36px;--section-top:36px}}
@media(max-width:850px){.brief-surface{grid-template-columns:1fr}}
@media(max-width:600px){
 :root{--section-inset:22px;--section-top:29px}
 .section-head,.photo-stage .section-head{margin-bottom:28px}
 .pricing-layout,.field-pair{grid-template-columns:1fr}
}
@media(max-width:360px){
 :root{--section-inset:18px;--section-top:27px}
 .section-head h2,.photo-stage .section-head h2,.brief-heading h2{font-size:30px}
}

/* One short description per route, without a second detailed document catalogue. */
.journey-summary{max-width:1000px;margin:0 0 30px}
.journey-summary-intro{font-size:19px;line-height:1.6;color:var(--ink);max-width:850px}
.journey-summary-list{margin:16px 0;padding-left:20px;display:grid;gap:7px;color:var(--brand-navy);font-size:16px;line-height:1.65}
.journey-summary-list li::marker{color:var(--brand-blue)}
.journey-summary-timing{font-size:14px;line-height:1.6;color:var(--muted);margin-top:14px}
@media(max-width:700px){.journey-summary{margin-bottom:24px}.journey-summary-intro{font-size:17px}.journey-summary-list{font-size:15px;gap:8px}.journey-summary-timing{font-size:13px}}

/* Route explanations share the site's existing animated disclosures. */
.journey-options{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.journey-options>h3{font-size:clamp(24px,2.4vw,32px);font-weight:500;margin:0 0 18px;letter-spacing:-.025em}
.journey-options .answer{max-width:900px;font-size:16px;line-height:1.7}
.journey-options .answer p{margin:0 0 16px}
.journey-options .answer ul{padding-left:21px;margin:0;display:grid;gap:12px}
.journey-options .answer li::marker{color:var(--brand-blue)}
.journey-options summary{transform:none!important}
@media(max-width:700px){.journey-options{margin-top:24px;padding-top:22px}.journey-options .answer{font-size:16px}.journey-options .answer ul{gap:10px}}

/* A stable form grid with identical text and select control geometry. */
.brief-surface{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,64px);align-items:start}
.brief-form{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-self:start;padding:32px;container-type:inline-size}
.brief-form .field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.brief-form .field-pair>label{display:grid;grid-template-rows:auto 56px;gap:9px;min-width:0;margin:0;font-size:14px;line-height:20px}
.brief-form .field-pair input,.brief-form .field-pair select{display:block;box-sizing:border-box;width:100%;min-width:0;height:56px;min-height:56px;margin:0;padding:15px 16px;border:1px solid #bdd2e6;border-radius:12px;background-color:#f7fbff;font:inherit;font-size:16px;line-height:24px;color:var(--ink);box-shadow:inset 0 1px 2px #163f6010;transition:border-color .18s,box-shadow .18s;appearance:none;-webkit-appearance:none}
.brief-form .field-pair input::placeholder{color:var(--brand-navy);opacity:1}
.brief-form .field-pair select{padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23235b93' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:16px}
.brief-form .field-pair input:focus,.brief-form .field-pair select:focus{outline:2px solid #1768b733;outline-offset:2px;border-color:#397fbd}
.brief-form .form-privacy{margin:0}
.brief-form .consent-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;line-height:1.65}
.brief-form .consent-check input{margin-top:2px}
.brief-form .form-privacy>p{margin:12px 0 0 34px}
.brief-form>.button{width:100%;min-height:54px;margin:0;align-self:stretch;justify-self:stretch}
.brief-form .form-note{margin:0;padding:18px 0 0;border-top:1px solid var(--line);border-bottom:0;font-size:14px;line-height:1.6}
@container(max-width:400px){.brief-form .field-pair{grid-template-columns:1fr}}
@media(max-width:1000px){.brief-surface{grid-template-columns:1fr;gap:32px}}
@media(max-width:600px){.brief-form{padding:24px 18px;gap:22px}.brief-form .field-pair{grid-template-columns:1fr;gap:20px}}
@media(prefers-reduced-motion:reduce){.brief-form .field-pair input,.brief-form .field-pair select{transition:none}}
/* Complete service scope, using the existing surfaces and disclosure motion. */
.content-extension{padding-top:36px}
.content-intro{max-width:860px;margin-bottom:30px}
.content-intro h3{font-size:clamp(25px,2.5vw,34px);line-height:1.25;letter-spacing:-.035em;margin:0 0 18px;font-weight:500;text-wrap:balance}
.content-intro>p:not(.support-hours){font-size:16px;line-height:1.8;color:var(--muted);margin:12px 0 0}
.content-disclosures{min-width:0}
.content-extension .disclosure summary,.advantages .disclosure summary{font-size:19px;padding-block:22px}
.content-extension .answer,.advantages .answer{max-width:100%;font-size:16px;line-height:1.8}
.content-extension .answer p+p,.advantages .answer p+p{margin-top:14px}
.content-extension .answer ul,.support-copy .answer ul{padding-left:20px;display:grid;gap:10px;margin:0 0 16px}
.content-extension .answer li::marker,.support-copy .answer li::marker{color:var(--brand-blue)}
.content-extension .answer p,.support-copy .answer p{margin:0}
.scope-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:0 0 18px}
.scope-columns h4{font-size:18px;font-weight:500;line-height:1.4;color:var(--ink);margin:0 0 16px}
.content-extension .service-extra{margin-top:36px}
.scope-note{margin-top:24px;max-width:920px}
.support-hours{font-size:clamp(42px,5vw,64px);font-weight:500;line-height:1.1;letter-spacing:-.05em;color:var(--brand-blue);margin:0 0 16px}
@media(max-width:1000px){.scope-columns{grid-template-columns:1fr;gap:20px}.content-intro{max-width:none}}
@media(max-width:600px){.content-extension{padding-top:28px}.content-extension .disclosure summary,.advantages .disclosure summary{font-size:18px;padding-block:20px}.content-intro{margin-bottom:22px}}
/* Keep every header destination, including Contacts, readable at narrow widths. */
.header nav a{white-space:nowrap}
@media(min-width:851px) and (max-width:1100px){
 :root{--header:120px;scroll-padding-top:145px}
 .header{height:120px}
 .header-inner{grid-template-columns:minmax(0,1fr) auto;gap:0}
 .header nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:16px}
 .header nav a{padding:9px 0}
 .header-inner>.button{grid-column:2;grid-row:1}
 .header .brand-logo{height:58px}
}
@media(max-width:600px){
 :root{--header:145px;scroll-padding-top:165px}
 .header{height:auto;min-height:120px;padding-bottom:8px}
 .header nav{flex-wrap:wrap;justify-content:center;column-gap:18px;row-gap:0}
 .header nav a{font-size:14px;padding:6px 0}
 .header nav a:after{bottom:2px}
}

/* Consistent prose and brand emphasis requested by the company. */
body strong.brand-emphasis{font-weight:700;color:inherit}
.prose-paragraph,.journey-summary-intro,.scene-copy{text-indent:0}
@media(max-width:700px){
 .service-geography .geography-list{font-size:17px;font-weight:700;line-height:1.65}
}
