.footer-contact{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px}
.privacy-check{display:flex!important;flex-direction:row;align-items:flex-start;gap:12px;font-size:.85rem;line-height:1.5;margin:20px 0}
.privacy-check input{width:18px!important;height:18px;min-height:18px!important;margin:2px 0 0;flex:none;accent-color:#ddd}
.form-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-note a{text-decoration:underline}
#form-status{overflow-wrap:anywhere;line-height:1.6}
.footer-contact a{color:var(--silver);border-bottom:1px solid #ffffff45;padding:5px 0}
.footer-contact a:hover{color:#fff;border-color:#fff}
.home-page .home-path:nth-child(2) img{object-fit:cover;object-position:center 65%;height:100%}
.portrait-photo{object-position:center 32%!important}
.corporate-detail img.fleet-photo{aspect-ratio:4/3;object-fit:contain;transform:none;background:#111214}
#raataloity .story-image img.fleet-photo{aspect-ratio:4/3;object-fit:contain;transform:none}
.summer-grid img{object-position:center 87%}
.wedding-note{margin:34px 0 0;max-width:380px;overflow:visible!important}
.service-story .wedding-note img{display:block;width:100%;height:auto;aspect-ratio:1500/1349;transform:none}
.wedding-note figcaption{font-size:.8rem;color:var(--muted);line-height:1.6;margin-top:12px}
#haat{align-items:start}
#haat>.story-image{width:100%;min-width:0;aspect-ratio:1;overflow:hidden}
#haat>.story-image img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 90%;transform:scale(1.45);transform-origin:right 70%}
.social-page .channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.social-page .story-heading .story-image img{object-position:center 55%}
.contact-location{display:grid;grid-template-columns:1fr 2fr;align-items:stretch;text-align:left;gap:55px;border-top:1px solid var(--line);padding-top:45px;margin-top:55px}
.location-copy{align-self:center;min-width:0}
.location-copy h3{font-family:var(--serif);font-size:2rem;margin:20px 0}
.location-copy address{font-style:normal;line-height:1.8;margin-bottom:22px}
.location-copy .location-email,.location-phone{display:table;border-bottom:1px solid #ffffff55;font-size:1.1rem;overflow-wrap:anywhere}
.location-copy .location-email{margin-top:22px}
.location-map{height:380px;overflow:hidden;background:#202020}
.location-map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(1)}
@media(max-width:800px){
 .home-page .home-path:nth-child(2) img{height:100%;object-fit:cover;object-position:center 62%}
 .contact-location{grid-template-columns:1fr;gap:30px;margin-top:40px;padding-top:32px}
 .location-map{height:310px}
 .location-copy h3{font-size:1.8rem}
 .footer-contact{column-gap:12px;row-gap:0}
 .wedding-note{max-width:380px}
 .summer-grid img{aspect-ratio:4/3;object-position:center 90%}
}
@media(max-width:700px){.social-page .channel-grid{grid-template-columns:1fr}.social-page .story-heading .story-image{aspect-ratio:4/3}}

.header .desktop-nav a,.header .desktop-nav a:hover,.header .desktop-nav a[aria-current="page"]{border-bottom-color:transparent}
.trip-fields{min-width:0;margin:8px 0 24px;padding:22px 0 0;border:0;border-top:1px solid var(--line)}
.trip-fields legend{padding:0 12px 0 0;font-size:.8rem;color:var(--muted)}
.trip-fields input[type="date"],.trip-fields input[type="time"],.trip-fields input[type="number"]{min-height:48px}
.route-preview{margin:1px 0 6px}
.route-preview[aria-disabled="true"]{opacity:.45;cursor:default;border-bottom-color:transparent}
@media(max-width:480px){.trip-fields .form-row{grid-template-columns:1fr}.trip-fields input{font-size:16px}.trip-fields{padding-top:18px}}
.skip-link{position:fixed;top:8px;left:8px;z-index:110;background:#eee;color:#111;padding:10px 18px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.map-consent{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:24px;text-align:center;border:1px solid var(--line)}
.map-consent>span{font-family:var(--serif);font-size:2rem}
.map-consent p{font-size:.8rem;color:var(--muted);max-width:280px}
.footer-privacy{margin-top:12px}
.footer-privacy a{border-bottom:1px solid #ffffff55;padding-bottom:3px}
button:disabled{cursor:default;opacity:.7;transform:none!important}
.corporate-hero-copy,.story-hero-copy,.services-hero>*{min-width:0}
.corporate-hero h1,.story-hero h1,.services-hero h1{font-size:72px;line-height:1.08;letter-spacing:0;overflow-wrap:break-word}
h3{letter-spacing:0!important}
@media(max-width:1100px){.corporate-hero h1,.story-hero h1,.services-hero h1{font-size:52px}}
@media(max-width:800px){
 .corporate-hero h1,.story-hero h1,.services-hero h1{font-size:40px}
 .corporate-service-list h3{font-size:28px;overflow-wrap:break-word}
 .corporate-hero,.story-hero{padding-top:185px}
 dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px);padding:24px}
 form input,form select,form textarea{font-size:16px}
 .home-page .chapter-copy h2{font-size:36px;overflow-wrap:break-word}
 .button,.header-cta{min-height:44px}
}
@media(max-width:430px){
 .corporate-hero h1,.story-hero h1,.services-hero h1{font-size:34px}
 .corporate-detail h2,.brand-chapter h2,.care-chapter h2,.across-finland h2{font-size:34px;overflow-wrap:break-word}
 .contact h2,.service-story h2{font-size:32px;overflow-wrap:break-word}
 .home-page .chapter-copy h2{font-size:30px}
 .form-row{grid-template-columns:1fr;gap:0}
 .header-cta{padding-left:10px;padding-right:10px}
}

html{scroll-padding-top:calc(var(--header-height,140px) + 20px)}
.home-page .home-path{top:var(--header-height,98px);height:calc(100svh - var(--header-height,98px))}
.header .desktop-nav a{display:flex;align-items:center;min-height:44px}
.menu-toggle,.motion-toggle{width:44px;height:44px;flex-shrink:0}
.dialog-head button{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;padding:0}
dialog{overscroll-behavior:contain;scrollbar-gutter:stable}
input,textarea,select{scroll-margin-block:24px}
@media(max-width:800px){
 .home-page .hero-content{padding-top:max(170px,calc(var(--header-height,153px) + 24px))}
 .home-page .home-path{min-height:0;min-height:max(620px,calc(100svh - var(--header-height,153px)))}
}
@media(max-width:800px) and (max-height:740px){
 .home-page .hero-content{padding-top:calc(var(--header-height,153px) + 14px)}
 .home-page .hero-actions{gap:10px;margin-top:14px}
}
@media(max-width:360px) and (max-height:640px){
 .home-page .hero h1{font-size:30px}
 .home-page .hero-actions{margin-top:12px}
}
@media(max-width:800px) and (max-height:760px){.home-page .home-path{position:relative;top:auto}}
@media(prefers-reduced-motion:reduce){.home-page .home-path{position:relative;top:auto}}

.contact-team{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:40px 32px;max-width:1024px;margin:56px auto 0;text-align:left}
.team-member{flex:0 1 320px;min-width:0;max-width:100%}
.team-portrait{position:relative;aspect-ratio:1;overflow:hidden;background:#fff}
.team-portrait img{position:absolute;display:block;left:50%;top:8%;width:100%;max-width:none;height:auto;transform:translateX(-50%)}
.team-portrait--operations img{inset:0;width:100%;height:100%;object-fit:contain;object-position:center;transform:none}
.header .wordmark small{letter-spacing:0;white-space:nowrap}
.team-member figcaption{padding-top:20px}
.team-member h3{font-family:var(--serif);font-size:24px;line-height:1.25;overflow-wrap:break-word}
.team-member figcaption p{font-size:14px;line-height:1.6;color:var(--muted);margin-top:7px}
.team-email,.team-phone{display:table;max-width:100%;margin-top:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.team-email:hover,.team-phone:hover{color:#fff;border-color:#fff}
@media(max-width:700px){.contact-team{gap:36px;margin-top:40px}.team-member figcaption{padding-top:16px}.team-member h3{font-size:22px}}
