.hero{
position:relative;
min-height:100vh;
min-height:100dvh;
display:flex;
align-items:flex-end;
padding:0 0 100px;
color:#F3F6F1;
overflow:hidden;
max-width:100%;
}
.hero-media{
position:absolute;
inset:0;
z-index:0;
}
.hero-media img{
width:100%;
height:100%;
object-fit:cover;
transform:scale(1.05);
}
.hero-overlay{
position:absolute;
inset:0;
background:var(--hero-grad);
opacity:.78;
mix-blend-mode:multiply;
}
.hero-overlay-dark{
position:absolute;
inset:0;
background:var(--photo-overlay);
}
.hero-content{
position:relative;
z-index:2;
width:min(100% - 40px,var(--container));
margin-inline:auto;
max-width:720px;
}
.hero-content .eyebrow{color:var(--riesling-sun);margin-bottom:18px}
.hero h1{
font-family:var(--font-display);
font-size:clamp(2.8rem,6.5vw,5.2rem);
font-weight:400;
letter-spacing:-.03em;
line-height:1.05;
margin-bottom:22px;
}
.hero-text{
font-size:clamp(1.05rem,1.8vw,1.2rem);
line-height:1.65;
color:rgba(243,246,241,.86);
max-width:520px;
margin-bottom:36px;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
@media (min-width:1025px){
.hero-media.js-parallax img{will-change:transform}
}
.page-hero{
position:relative;
padding:160px 0 90px;
background:var(--nature-grad);
color:#F3F6F1;
overflow:hidden;
max-width:100%;
}
.page-hero::before{
content:"";
position:absolute;
inset:0;
background:url('../assets/images/hero.jpg') center/cover;
opacity:.22;
}
.page-hero .container{position:relative;z-index:1}
.page-hero .eyebrow{color:var(--riesling-sun);margin-bottom:16px}
.page-hero h1{
font-family:var(--font-display);
font-size:clamp(2.4rem,5vw,4rem);
margin-bottom:18px;
}
.page-hero p{
max-width:560px;
font-size:1.1rem;
line-height:1.65;
color:rgba(243,246,241,.82);
}
.section{padding:110px 0;overflow-x:clip;max-width:100%}
.section-tight{padding:80px 0}
.section-light{background:var(--light-grad)}
.section-meadow{background:rgba(143,168,137,.18)}
.section-pine{background:var(--nature-grad);color:#F3F6F1}
.section-slate{background:var(--forest-slate);color:#F3F6F1}
.section-head{max-width:640px;margin-bottom:56px}
.section-head .eyebrow{margin-bottom:14px}
.section-head .h-section{margin-bottom:16px}
.section-pine .lead,.section-slate .lead{color:rgba(243,246,241,.78)}
.section-pine .meta,.section-slate .meta{color:rgba(243,246,241,.55)}
.vp-editorial{
display:grid;
grid-template-columns:1fr 1.15fr;
gap:72px;
align-items:start;
}
.vp-quote{
font-family:var(--font-display);
font-size:clamp(1.8rem,3.2vw,2.6rem);
line-height:1.25;
letter-spacing:-.02em;
color:var(--rhine-pine);
}
.vp-quote cite{
display:block;
margin-top:28px;
font-family:var(--font-meta);
font-size:12px;
font-style:normal;
letter-spacing:.12em;
text-transform:uppercase;
color:var(--castle-terracotta);
}
.vp-body p{margin-bottom:20px;line-height:1.7;color:rgba(39,48,45,.8)}
.vp-body p:last-child{margin-bottom:0}
.vp-stats{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
margin-top:40px;
padding-top:32px;
border-top:1px solid rgba(54,95,85,.15);
}
.vp-stat strong{
display:block;
font-family:var(--font-display);
font-size:clamp(2rem,3vw,2.6rem);
color:var(--rhine-pine);
line-height:1;
margin-bottom:8px;
}
.vp-stat span{
font-family:var(--font-meta);
font-size:12px;
letter-spacing:.06em;
text-transform:uppercase;
color:rgba(39,48,45,.55);
}
.signature{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:0;
min-height:640px;
}
.signature-media{
position:relative;
overflow:hidden;
}
.signature-media img{
width:100%;
height:100%;
min-height:480px;
object-fit:cover;
transition:transform 1.2s ease;
}
.signature:hover .signature-media img{transform:scale(1.04)}
.signature-media::after{
content:"";
position:absolute;
inset:0;
background:var(--photo-overlay);
pointer-events:none;
}
.signature-copy{
background:var(--rhine-pine);
color:#F3F6F1;
padding:80px 64px;
display:flex;
flex-direction:column;
justify-content:center;
}
.signature-copy .eyebrow{color:var(--riesling-sun);margin-bottom:18px}
.signature-copy h2{
font-family:var(--font-display);
font-size:clamp(2rem,3.5vw,3rem);
margin-bottom:22px;
}
.signature-copy p{line-height:1.7;color:rgba(243,246,241,.8);margin-bottom:20px}
.signature-copy .btn{align-self:flex-start;margin-top:12px}
.showcase-feature{
display:grid;
grid-template-columns:1.25fr .75fr;
gap:28px;
margin-bottom:28px;
}
.showcase-main,.showcase-side,.loc-card{
position:relative;
overflow:hidden;
border-radius:var(--radius);
}
.showcase-main{min-height:520px}
.showcase-side{display:flex;flex-direction:column;gap:28px}
.showcase-side .loc-card{flex:1;min-height:240px}
.loc-card{min-height:320px}
.loc-card img,.showcase-main img{
width:100%;
height:100%;
object-fit:cover;
transition:transform .9s ease;
position:absolute;
inset:0;
}
.loc-card:hover img,.showcase-main:hover img{transform:scale(1.06)}
.loc-overlay{
position:absolute;
inset:0;
background:linear-gradient(to top,rgba(32,66,61,.82) 0%,rgba(32,66,61,.15) 55%,transparent 100%);
z-index:1;
}
.loc-info{
position:absolute;
left:0;right:0;bottom:0;
padding:28px;
z-index:2;
color:#F3F6F1;
}
.loc-info h3{
font-family:var(--font-display);
font-size:clamp(1.4rem,2vw,1.85rem);
margin-bottom:8px;
}
.loc-info p{font-size:14px;line-height:1.5;color:rgba(243,246,241,.8);margin-bottom:14px;max-width:360px}
.loc-tags{display:flex;flex-wrap:wrap;gap:10px}
.tag{
font-family:var(--font-meta);
font-size:11px;
letter-spacing:.08em;
text-transform:uppercase;
padding:6px 10px;
border:1px solid rgba(243,246,241,.28);
color:rgba(243,246,241,.85);
}
.tag-gold{border-color:rgba(198,165,95,.55);color:var(--riesling-sun)}
.showcase-row{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:28px;
}
.insight{
display:grid;
grid-template-columns:.85fr 1.15fr;
gap:64px;
align-items:start;
}
.insight-aside{
position:sticky;
top:110px;
}
.insight-aside .display{
font-size:clamp(2rem,3.5vw,2.8rem);
color:var(--rhine-pine);
margin:16px 0 24px;
}
.insight-body h3{
font-family:var(--font-head);
font-weight:600;
font-size:1.25rem;
letter-spacing:-.02em;
margin:36px 0 14px;
color:var(--rhine-pine);
}
.insight-body h3:first-child{margin-top:0}
.insight-body p{
margin-bottom:18px;
line-height:1.7;
color:rgba(39,48,45,.8);
}
.insight-pull{
margin:40px 0;
padding:28px 0 28px 28px;
border-left:2px solid var(--riesling-sun);
font-family:var(--font-display);
font-size:clamp(1.35rem,2.2vw,1.7rem);
line-height:1.4;
color:var(--rhine-pine);
}
.services-hybrid{
display:grid;
grid-template-columns:280px 1fr;
gap:48px;
align-items:start;
}
.services-nav{
position:sticky;
top:110px;
display:flex;
flex-direction:column;
gap:4px;
}
.svc-tab{
text-align:left;
padding:16px 18px;
font-family:var(--font-head);
font-size:14px;
font-weight:600;
color:rgba(39,48,45,.5);
border-left:2px solid transparent;
cursor:pointer;
transition:color .3s ease,border-color .3s ease,background .3s ease;
}
.svc-tab.is-active,.svc-tab:hover{
color:var(--rhine-pine);
border-left-color:var(--riesling-sun);
background:rgba(143,168,137,.12);
}
.svc-panel{display:none;animation:fadeUp .5s ease}
.svc-panel.is-active{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.svc-panel-grid{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:40px;
align-items:center;
}
.svc-panel h3{
font-family:var(--font-display);
font-size:clamp(1.8rem,2.8vw,2.4rem);
margin-bottom:16px;
color:var(--rhine-pine);
}
.svc-panel p{line-height:1.7;color:rgba(39,48,45,.78);margin-bottom:18px}
.svc-list{margin:24px 0}
.svc-list li{
display:flex;
gap:14px;
align-items:flex-start;
padding:12px 0;
border-bottom:1px solid rgba(54,95,85,.1);
font-size:15px;
}
.svc-list li::before{
content:"";
width:8px;height:8px;
margin-top:7px;
flex-shrink:0;
background:var(--castle-terracotta);
border-radius:50%;
}
.svc-meta-row{
display:flex;
flex-wrap:wrap;
gap:20px;
margin-top:24px;
}
.svc-meta-item{
font-family:var(--font-meta);
font-size:12px;
letter-spacing:.06em;
text-transform:uppercase;
color:rgba(39,48,45,.55);
}
.svc-meta-item strong{
display:block;
font-family:var(--font-head);
font-size:16px;
font-weight:600;
letter-spacing:0;
text-transform:none;
color:var(--rhine-pine);
margin-top:4px;
}
.svc-visual{
position:relative;
border-radius:var(--radius);
overflow:hidden;
min-height:360px;
}
.svc-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.svc-visual::after{content:"";position:absolute;inset:0;background:var(--photo-overlay)}
.timeline{position:relative;max-width:820px;margin:0 auto}
.timeline::before{
content:"";
position:absolute;
left:28px;top:0;bottom:0;
width:1px;
background:rgba(243,246,241,.2);
}
.tl-item{
position:relative;
padding:0 0 56px 88px;
}
.tl-item:last-child{padding-bottom:0}
.tl-marker{
position:absolute;
left:16px;top:4px;
width:24px;height:24px;
border-radius:50%;
border:2px solid var(--riesling-sun);
background:var(--forest-slate);
display:flex;
align-items:center;
justify-content:center;
}
.tl-marker span{
width:8px;height:8px;
border-radius:50%;
background:var(--riesling-sun);
}
.tl-year{
font-family:var(--font-meta);
font-size:12px;
letter-spacing:.14em;
text-transform:uppercase;
color:var(--riesling-sun);
margin-bottom:10px;
}
.tl-item h3{
font-family:var(--font-display);
font-size:clamp(1.4rem,2.2vw,1.8rem);
margin-bottom:12px;
}
.tl-item p{line-height:1.65;color:rgba(243,246,241,.75)}
.social-proof-grid{
display:grid;
grid-template-columns:1.2fr 1fr;
gap:48px;
align-items:stretch;
}
.testimonials{display:flex;flex-direction:column;gap:24px}
.t-card{
background:#fff;
padding:36px 32px;
border:1px solid rgba(54,95,85,.08);
box-shadow:var(--shadow-soft);
transition:transform .4s ease,box-shadow .4s ease;
}
.t-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.t-card blockquote{
font-family:var(--font-display);
font-size:1.25rem;
line-height:1.45;
color:var(--rhine-pine);
margin-bottom:24px;
}
.t-card footer{
font-family:var(--font-meta);
font-size:13px;
color:rgba(39,48,45,.55);
}
.t-card footer strong{display:block;color:var(--woodland-ink);font-weight:600;margin-bottom:2px}
.cases-col{display:flex;flex-direction:column;gap:20px}
.case-item{
padding:28px;
background:rgba(143,168,137,.15);
border-left:3px solid var(--castle-terracotta);
}
.case-item h4{
font-family:var(--font-head);
font-weight:600;
font-size:1.05rem;
margin-bottom:8px;
color:var(--rhine-pine);
}
.case-item p{font-size:14px;line-height:1.6;color:rgba(39,48,45,.72)}
.logo-strip{
display:flex;
flex-wrap:wrap;
gap:32px 48px;
align-items:center;
margin-top:48px;
padding-top:40px;
border-top:1px solid rgba(54,95,85,.12);
}
.logo-strip span{
font-family:var(--font-meta);
font-size:13px;
font-weight:500;
letter-spacing:.1em;
text-transform:uppercase;
color:rgba(39,48,45,.35);
}
.cta-block{
padding:100px 0;
background:var(--nature-grad);
color:#F3F6F1;
text-align:center;
position:relative;
overflow:hidden;
max-width:100%;
}
.cta-block .container{position:relative;z-index:1;max-width:640px}
.cta-block .eyebrow{color:var(--riesling-sun);margin-bottom:16px}
.cta-block h2{
font-family:var(--font-display);
font-size:clamp(2.2rem,4vw,3.4rem);
margin-bottom:18px;
}
.cta-block p{line-height:1.65;color:rgba(243,246,241,.8);margin-bottom:36px}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.contact-split{
display:grid;
grid-template-columns:1fr 1fr;
gap:64px;
align-items:start;
}
.contact-info h2{margin-bottom:16px}
.contact-info > p{margin-bottom:36px}
.contact-details{display:flex;flex-direction:column;gap:22px}
.contact-item .label{
font-family:var(--font-meta);
font-size:11px;
letter-spacing:.12em;
text-transform:uppercase;
color:var(--castle-terracotta);
margin-bottom:6px;
}
.contact-item a:hover,.contact-item p{color:var(--rhine-pine)}
.contact-item a{font-weight:500}
.form-group{margin-bottom:20px}
.form-group label{
display:block;
font-family:var(--font-meta);
font-size:12px;
letter-spacing:.08em;
text-transform:uppercase;
margin-bottom:8px;
color:rgba(39,48,45,.6);
}
.form-group input,.form-group textarea{
width:100%;
padding:16px 18px;
background:#fff;
border:1px solid rgba(54,95,85,.18);
border-radius:var(--radius);
transition:border-color .3s ease,box-shadow .3s ease;
line-height:1.5;
}
.form-group input:focus,.form-group textarea:focus{
border-color:var(--rhine-pine);
box-shadow:0 0 0 3px rgba(54,95,85,.1);
}
.form-group textarea{min-height:140px;resize:vertical}
.js-marquee-wrap{
overflow:hidden;
max-width:100vw;
padding:48px 0;
background:var(--alpine-cloud);
border-top:1px solid rgba(54,95,85,.08);
border-bottom:1px solid rgba(54,95,85,.08);
}
.js-mq-row{
display:flex;
width:max-content;
white-space:nowrap;
font-family:var(--font-display);
font-size:clamp(20px,3vw,38px);
text-transform:uppercase;
letter-spacing:-.01em;
opacity:.12;
color:var(--rhine-pine);
line-height:1.2;
}
.js-mq-row span{padding:0 28px}
.js-mq-row.fwd{animation:mqFwd 40s linear infinite}
.js-mq-row.rev{animation:mqRev 45s linear infinite;margin-top:8px}
@keyframes mqFwd{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mqRev{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.faq-list{max-width:780px;margin:0 auto}
.faq-item{
border-bottom:1px solid rgba(54,95,85,.12);
}
.faq-q{
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
padding:24px 0;
text-align:left;
font-family:var(--font-head);
font-size:1.05rem;
font-weight:600;
color:var(--rhine-pine);
cursor:pointer;
}
.faq-q svg{
width:18px;height:18px;
flex-shrink:0;
transition:transform .35s ease;
stroke:var(--castle-terracotta);
}
.faq-item.is-open .faq-q svg{transform:rotate(45deg)}
.faq-a{
max-height:0;
overflow:hidden;
transition:max-height .45s ease,padding .35s ease;
}
.faq-item.is-open .faq-a{max-height:320px}
.faq-a p{
padding:0 0 24px;
line-height:1.65;
color:rgba(39,48,45,.75);
}
.routes-table{
width:100%;
border-collapse:collapse;
}
.routes-table th,.routes-table td{
padding:20px 18px;
text-align:left;
border-bottom:1px solid rgba(54,95,85,.12);
vertical-align:top;
}
.routes-table th{
font-family:var(--font-meta);
font-size:11px;
letter-spacing:.1em;
text-transform:uppercase;
color:var(--castle-terracotta);
font-weight:500;
}
.routes-table td:first-child{
font-family:var(--font-head);
font-weight:600;
color:var(--rhine-pine);
}
.routes-table .route-type{
font-family:var(--font-meta);
font-size:12px;
letter-spacing:.04em;
color:var(--castle-terracotta);
}
.route-cards{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}
.route-card{
background:#fff;
border:1px solid rgba(54,95,85,.1);
padding:32px 28px;
transition:transform .4s ease,box-shadow .4s ease;
}
.route-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}
.route-card .meta{margin-bottom:12px;color:var(--castle-terracotta)}
.route-card h3{
font-family:var(--font-display);
font-size:1.5rem;
margin-bottom:12px;
color:var(--rhine-pine);
}
.route-card p{font-size:14px;line-height:1.6;color:rgba(39,48,45,.72);margin-bottom:20px}
.route-foot{
display:flex;
justify-content:space-between;
align-items:center;
font-family:var(--font-meta);
font-size:12px;
letter-spacing:.06em;
text-transform:uppercase;
color:rgba(39,48,45,.5);
padding-top:16px;
border-top:1px solid rgba(54,95,85,.1);
}
.about-split{
display:grid;
grid-template-columns:1fr 1fr;
gap:56px;
align-items:center;
}
.about-visual{
position:relative;
border-radius:var(--radius);
overflow:hidden;
min-height:480px;
}
.about-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.about-visual::after{content:"";position:absolute;inset:0;background:var(--photo-overlay)}
.about-copy .eyebrow{margin-bottom:14px}
.about-copy h2{margin-bottom:18px}
.about-copy p{margin-bottom:16px;line-height:1.7;color:rgba(39,48,45,.78)}
.values-list{display:flex;flex-direction:column;gap:0}
.value-row{
display:grid;
grid-template-columns:120px 1fr;
gap:32px;
padding:36px 0;
border-bottom:1px solid rgba(54,95,85,.12);
}
.value-row .num{
font-family:var(--font-meta);
font-size:13px;
letter-spacing:.12em;
color:var(--riesling-sun);
}
.value-row h3{
font-family:var(--font-display);
font-size:1.5rem;
margin-bottom:10px;
color:var(--rhine-pine);
}
.value-row p{line-height:1.65;color:rgba(39,48,45,.75);max-width:560px}
.map-wrap{
margin-top:64px;
border-radius:var(--radius);
overflow:hidden;
border:1px solid rgba(54,95,85,.12);
min-height:380px;
}
.map-wrap iframe{width:100%;height:380px;border:0;display:block;filter:grayscale(.2) contrast(1.05)}
.legal-page{padding:140px 0 100px;background:var(--light-grad)}
.legal-page .container{max-width:800px}
.legal-page h1{
font-family:var(--font-display);
font-size:clamp(2.2rem,4vw,3.2rem);
margin-bottom:12px;
color:var(--rhine-pine);
}
.legal-page .legal-updated{
font-family:var(--font-meta);
font-size:13px;
color:rgba(39,48,45,.5);
margin-bottom:48px;
}
.legal-page h2{
font-family:var(--font-head);
font-weight:600;
font-size:1.35rem;
margin:40px 0 16px;
color:var(--rhine-pine);
letter-spacing:-.02em;
}
.legal-page h3{
font-family:var(--font-head);
font-weight:600;
font-size:1.1rem;
margin:28px 0 12px;
color:var(--forest-slate);
}
.legal-page p,.legal-page li{
margin-bottom:14px;
line-height:1.7;
color:rgba(39,48,45,.8);
}
.legal-page ul{margin:0 0 20px 20px}
.legal-page ul li{list-style:disc}
.thanks-page{
min-height:100vh;
min-height:100dvh;
display:flex;
align-items:center;
justify-content:center;
background:var(--nature-grad);
color:#F3F6F1;
text-align:center;
padding:100px 24px;
position:relative;
overflow:hidden;
}
.thanks-page::before{
content:"";
position:absolute;
inset:0;
background:url('../assets/images/hero.jpg') center/cover;
opacity:.15;
}
.thanks-inner{position:relative;z-index:1;max-width:560px}
.thanks-mark{
font-family:var(--font-meta);
font-size:12px;
letter-spacing:.2em;
text-transform:uppercase;
color:var(--riesling-sun);
margin-bottom:28px;
}
.thanks-inner h1{
font-family:var(--font-display);
font-size:clamp(2.8rem,6vw,4.5rem);
margin-bottom:20px;
line-height:1.1;
}
.thanks-inner p{
font-size:1.1rem;
line-height:1.65;
color:rgba(243,246,241,.8);
margin-bottom:40px;
}
.page-header-light .logo,
.page-header-light .nav-link{color:var(--woodland-ink)}
.page-header-light .burger span{background:var(--woodland-ink)}
.page-header-light{background:rgba(243,246,241,.92);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(39,48,45,.06)}
.inner-grid-3{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:28px;
}
.feature-block{
padding:36px 0;
border-top:1px solid rgba(54,95,85,.12);
}
.feature-block h3{
font-family:var(--font-display);
font-size:1.6rem;
margin-bottom:12px;
color:var(--rhine-pine);
}
.feature-block p{line-height:1.65;color:rgba(39,48,45,.75)}
.portfolio-editorial{
display:flex;
flex-direction:column;
gap:80px;
}
.port-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:48px;
align-items:center;
}
.port-row:nth-child(even) .port-media{order:2}
.port-media{
position:relative;
overflow:hidden;
border-radius:var(--radius);
min-height:420px;
}
.port-media img{
width:100%;
height:100%;
object-fit:cover;
position:absolute;
inset:0;
transition:transform 1s ease;
}
.port-row:hover .port-media img{transform:scale(1.04)}
.port-media::after{content:"";position:absolute;inset:0;background:var(--photo-overlay);opacity:.5}
.port-copy .meta{margin-bottom:12px;color:var(--castle-terracotta)}
.port-copy h2{
font-family:var(--font-display);
font-size:clamp(1.8rem,3vw,2.4rem);
margin-bottom:16px;
color:var(--rhine-pine);
}
.port-copy p{line-height:1.7;color:rgba(39,48,45,.78);margin-bottom:16px}
@media (hover:hover) and (pointer:fine){
.t-card:hover{transform:translateY(-4px)}
}
@media (max-width:1024px){
.vp-editorial,.signature,.showcase-feature,.insight,.services-hybrid,.social-proof-grid,.contact-split,.about-split,.port-row,.svc-panel-grid{
grid-template-columns:1fr;
}
.signature-copy{padding:56px 36px}
.showcase-row,.route-cards,.inner-grid-3{grid-template-columns:repeat(2,1fr)}
.port-row:nth-child(even) .port-media{order:0}
.services-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:8px}
.svc-tab{border-left:none;border-bottom:2px solid transparent;padding:12px 14px}
.svc-tab.is-active{border-bottom-color:var(--riesling-sun);border-left-color:transparent}
.insight-aside{position:static}
.hero{padding-bottom:72px;min-height:92vh}
}
@media (max-width:768px){
.showcase-row,.route-cards,.inner-grid-3,.vp-stats{grid-template-columns:1fr}
.showcase-main{min-height:380px}
.value-row{grid-template-columns:1fr;gap:8px}
.timeline::before{left:12px}
.tl-item{padding-left:52px}
.tl-marker{left:0}
.hero-actions{flex-direction:column}
.routes-table{display:block;overflow-x:auto}
.cta-actions{flex-direction:column;align-items:stretch}
.signature-media img{min-height:320px}
}
@media (max-width:640px){
.section{padding:72px 0}
.page-hero{padding:130px 0 64px}
.loc-info{padding:20px}
}
html,body{
overflow-x:hidden !important;
max-width:100vw;
}
section,header,footer{
overflow-x:hidden;
max-width:100%;
box-sizing:border-box;
}
