/* Mobile-only content arrangements. The approved desktop artwork is untouched. */
.mobile-gallery-grid,.mobile-gallery-postcards,.journey-mobile-video,.journey-mobile-founders{display:none}
.hero-mobile-photo{display:contents}
.mobile-adapted-picture{display:contents}
.contact-unified>.contact-mobile-background{display:none}
@media(max-width:1024px){
 html{scroll-padding-top:76px}
 header{position:relative;width:100%;height:72px;max-height:none;clip-path:none;border-radius:0}
 header nav{padding:0 6%;gap:16px}
 header .brand{font-size:18px;gap:12px}
 header .brand img{width:50px;height:50px}
 header .menu-toggle{display:block;border:0;background:none;color:#08275d;font-size:28px;min-width:44px;min-height:44px}
 header #nav-links{display:none;position:absolute;top:72px;left:0;right:0;padding:24px;background:white;flex-direction:column;gap:20px;font-size:16px;box-shadow:0 10px 20px #0002}
 header #nav-links.open{display:flex}
 header #nav-links .button{font-size:16px;padding:12px 26px}
 .hero{display:flex;flex-direction:column;height:auto;min-height:0;padding:72px 0 0;background:#08275d;overflow:hidden}
 .hero .hero-copy{position:relative;inset:auto;order:1;width:auto;max-width:640px;margin:0 auto;padding:0 7% 28px}
 .hero h1{width:auto;margin:0;font-size:clamp(48px,10vw,72px);line-height:1.02;text-align:left;letter-spacing:-.04em;white-space:normal}
 .hero h1 span{display:inline;white-space:nowrap}
 .hero .title-second{padding-left:0}
 .hero .subtitle{font-size:18px;line-height:1.35;margin:14px 0 20px;white-space:normal}
 .hero .hero-copy p{width:auto;max-width:none;font-size:16px;line-height:1.5;margin:0}
 .hero .hero-blue,.hero .hero-transition{display:none}
 .hero .hero-route{left:7%;top:16px;width:77%;height:40px;opacity:.7}
 .hero .hero-plane{right:0;top:4px;width:30px;height:30px}
 .hero .hero-foliage{left:-24px;top:0;bottom:auto;width:70px;height:440px;opacity:.35;z-index:0}
 .hero-mobile-photo{display:block;order:2;width:100%;background:#fff;line-height:0}
 .hero .hero-world{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:1507/1044;object-fit:contain;z-index:auto}
 .hero .experience{position:relative;inset:auto;order:3;width:100%;height:auto;min-height:0;padding:26px 7% 32px;background:#edf3ef;border-radius:0;z-index:auto}
 .hero .experience h2{font-size:26px;line-height:1.15;text-align:left;white-space:normal;margin:0 0 12px;color:#237e71}
 .hero .experience p{max-width:640px;font-size:16px;line-height:1.5;margin:0}
 .gallery-composition-only{display:flex;flex-direction:column;gap:18px;padding:30px 6%;line-height:1.4;background:#fff url('assets/gallery-map.png') center/cover no-repeat}
 .gallery-composition-only>img,.gallery-composition-only::after{display:none}
 .gallery-live-heading{position:static;inset:auto;width:100%;gap:10px;align-items:flex-start;justify-content:center}
 .gallery-live-heading h2{font-size:28px;line-height:1.12;white-space:normal;text-align:center}
 .gallery-live-heading svg{width:26px;height:26px;margin-top:4px}
 .gallery-live-description{position:static;inset:auto;width:100%;margin:0;font-size:15px;line-height:1.5;text-align:center}
 .mobile-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .mobile-gallery-photo{aspect-ratio:244/194;background-image:url('assets/instagram-gallery-optimized.webp');background-size:839.344262% 351.546392%;background-position:var(--photo-x) var(--photo-y);background-repeat:no-repeat;border-radius:8px}
 .mobile-gallery-postcards{display:block;align-self:center;width:min(70%,300px);aspect-ratio:360/480;background-image:url('assets/instagram-gallery-optimized.webp');background-size:568.888889% 142.083333%;background-position:97.156398% 69.306931%;background-repeat:no-repeat}
 .gallery-composition-only .gallery-plane-replacement{display:none}
 .gallery-composition-only>.gallery-instagram-hotspot{position:static;inset:auto;align-self:center;width:max-content;max-width:100%;height:auto;min-height:46px;font-size:16px;padding:12px 25px;gap:10px;overflow:visible}
 .gallery-instagram-hotspot>span{font-size:20px}
 .kit.kit-unified{display:block;height:auto;min-height:330px;margin:0;padding:38px 7% 46px;background:#08275d;overflow:hidden;isolation:isolate;border-radius:36px 0 36px 0}
 .kit-unified .kit-unified-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;margin:0;z-index:0;mask-image:linear-gradient(90deg,transparent,#000);opacity:.55}
 .kit-unified .kit-copy{position:relative;order:0;width:100%;max-width:600px;padding:0;background:transparent;z-index:1}
 .kit-unified h2{max-width:450px;font-size:30px;line-height:1.12;margin:0 0 14px}
 .kit-unified p{max-width:400px;font-size:16px;line-height:1.5;margin:0 0 22px}
 .kit-unified .button{font-size:16px;min-height:46px;padding:12px 28px;gap:10px}
 .kit.kit-unified:has(+.journey-composition-only){background:#08275d}
 .kit-unified:has(+.journey-composition-only) .kit-unified-background{mask-image:linear-gradient(90deg,transparent,#000)}
 .journey-composition-only{display:flex;flex-direction:column;gap:18px;padding:32px 6% 24px;line-height:1.4;background:linear-gradient(150deg,#e0f3ef,#fff 45%)}
 .journey-composition-only>.journey-complete-art,.journey-composition-only>.journey-upright-photo,.journey-composition-only::before,.journey-composition-only+.testimonials-stage::before{display:none}
 .journey-readable-heading{position:static;inset:auto;width:100%;height:auto;flex-wrap:wrap;gap:10px;background:transparent}
 .journey-readable-heading>svg{width:38px;height:38px}
 .journey-readable-heading h2{font-size:28px;line-height:1.1}
 .journey-readable-heading p{flex-basis:100%;font-size:15px;line-height:1.4;white-space:normal}
 .journey-mobile-video{position:relative;display:block;width:100%;aspect-ratio:875/400;overflow:hidden}
 .journey-mobile-video>img{position:absolute;width:234.057143%;max-width:none;height:auto;left:-6.857143%;top:-55%;pointer-events:none}
 .journey-mobile-video .mobile-video-play{position:absolute;display:block;left:40.9%;top:30.5%;width:44px;height:44px;min-height:44px;margin:0;padding:0;clip-path:none;border:0;border-radius:50%;background:transparent;overflow:visible;cursor:pointer}
 .journey-mobile-video .mobile-video-play:focus-visible{outline:3px solid #fff}
 .journey-readable-copy{position:static;inset:auto;width:100%;height:auto;padding:0;background:transparent}
 .journey-readable-copy h2{font-size:30px;line-height:1.12;margin:0 0 14px}
 .journey-readable-copy p{font-size:16px;line-height:1.5;letter-spacing:normal;margin:0}
 .journey-composition-only .journey-story-anchor{left:0;top:0}
 .journey-composition-only .journey-video-hotspot{display:none}
 .journey-composition-only .journey-story-hotspot{position:static;inset:auto;align-self:flex-start;width:max-content;max-width:100%;height:auto;min-height:46px;font-size:16px;padding:12px 28px;gap:10px}
 .journey-story-hotspot span{font-size:20px}
 .journey-mobile-founders{position:relative;display:block;width:min(100%,470px);align-self:center;aspect-ratio:598/629;overflow:hidden}
 .journey-mobile-founders>img{position:absolute;width:342.474916%;max-width:none;height:auto;left:-242.474916%;top:-15.898251%;pointer-events:none}
 .contact.contact-unified{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:24px;height:auto;min-height:0;margin-top:0;padding:36px 7% 48px;background:#08275d;border-radius:36px 0 36px 0;overflow:hidden;isolation:isolate}
 .contact-unified .contact-unified-background{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover;object-position:right center;order:0;opacity:.32;mask-image:linear-gradient(to bottom,transparent,#000 55%);z-index:0}
 .contact-unified .contact-copy{width:100%;z-index:1}
 .contact-unified h2{font-size:32px;line-height:1.12;margin:0 0 12px}
 .contact-unified .contact-copy p{font-size:16px;line-height:1.5}
 .contact-unified #contact-form{width:100%;max-width:600px;margin:0;padding:20px;border-radius:24px;z-index:1}
 .contact-unified #contact-form input:not([type=hidden]){height:44px;font-size:16px;line-height:1.3;padding:10px 12px;margin-bottom:10px;border-radius:9px}
 .contact-unified .form-last{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px}
 .contact-unified .form-last input:not([type=hidden]){margin-bottom:0}
 .contact-unified .form-last .button{height:44px;font-size:16px;padding:10px 12px}
 .contact-unified .form-status{font-size:14px;line-height:1.4;margin-top:12px}
 .discovery-reference+.contact.contact-unified{margin-top:0;padding-top:36px;background:#08275d}
}
/* Photographic mobile siblings: complete rectangles, without the baked desktop curves. */
@media(max-width:1024px){
 .hero .hero-world{clip-path:none;mask-image:none;aspect-ratio:auto;object-fit:contain}
 .hero-mobile-photo{background:#08275d}
 .kit.kit-unified,.kit.kit-unified:has(+.journey-composition-only){display:flex;flex-direction:column;padding:0;min-height:0;border-radius:0;background:#08275d}
 .kit-unified .kit-copy{order:0;max-width:none;padding:32px 7%;margin:0}
 .kit-unified .kit-unified-background,.kit-unified:has(+.journey-composition-only) .kit-unified-background{position:relative;inset:auto;order:1;display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;margin:0;opacity:1;mask-image:none;clip-path:none;z-index:0}
 .contact.contact-unified{padding:36px 7% 0;border-radius:0;gap:24px}
 .contact-unified .contact-unified-background{position:relative;inset:auto;order:3;display:block;width:calc(100% + 14vw);height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;margin:0 0 0 -7vw;opacity:1;mask-image:none;clip-path:none;z-index:0}
 .contact-unified #contact-form{margin-bottom:8px}
}
@media(min-width:761px) and (max-width:1024px){
 .contact.contact-unified{padding-left:12%;padding-right:12%}
 .contact-unified .contact-unified-background{width:calc(100% + 24vw);margin-left:-12vw}
}
@media(min-width:761px) and (max-width:1024px){
 .hero-mobile-photo{width:min(100%,700px);align-self:center}
 .gallery-composition-only{padding-left:8%;padding-right:8%}
 .mobile-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .journey-composition-only{padding-left:10%;padding-right:10%}
 .contact.contact-unified{padding-left:12%;padding-right:12%}
 .services-stage{margin-top:0;padding-top:26px}
 .services-stage .section-intro h2{font-size:32px}
 .services-stage .section-intro p{font-size:16px;line-height:1.4}
 .services-stage .service-grid{grid-template-columns:1fr;max-width:600px;margin:auto;gap:24px}
 .services-stage .service-info{padding:16px 24px 24px;gap:18px}
 .services-stage .service-info h3{font-size:28px}
 .services-stage .service-info p{font-size:16px;line-height:1.4;margin-bottom:16px}
 .services-stage .service-info .button{font-size:16px;padding:12px 24px;gap:8px}
 .services-stage .service-icon{width:40px;height:40px;flex-basis:40px}
 .services-stage .service-icon svg{width:100%;height:100%}
 .testimonials-stage .testimonials h2{font-size:32px}
 .testimonials blockquote{font-size:16px;line-height:1.4}
 .testimonials figcaption{font-size:18px}
 .testimonials-grid.is-carousel{grid-template-columns:minmax(0,1fr)}
 .discovery-stage.discovery-reference{min-height:0}
 .discovery-stage.discovery-reference .discovery{padding:28px 0}
 .discovery-reference .discovery-heading h2{font-size:30px;max-width:none;transform:none}
 .discovery-reference .discovery-heading{margin-bottom:22px}
 .discovery-reference .discovery-grid{gap:24px}
 .discovery-reference .discovery-column{gap:24px}
 .discovery-reference article{gap:12px}
 .discovery-reference .number{width:40px;height:40px;font-size:22px}
 .discovery-reference h3{font-size:20px;margin-bottom:6px}
 .discovery-reference p{font-size:16px;line-height:1.4}
}
/* Only the media-kit/contact mobile photos: translucent backgrounds behind existing content. */
@media(max-width:1024px){
 .contact-unified>.contact-unified-background:not(.contact-mobile-background){display:none}
 .contact-unified>.contact-mobile-background{display:block}
 .kit-unified .kit-unified-background,.kit-unified:has(+.journey-composition-only) .kit-unified-background{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover;object-position:center;opacity:.32;mask-image:none;clip-path:none;pointer-events:none;z-index:0}
 .contact.contact-unified{padding-bottom:36px}
 .contact-unified .contact-unified-background{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover;object-position:75% center;opacity:.3;mask-image:none;clip-path:none;pointer-events:none;z-index:0}
}
/* Same linked social logos in the mobile footer. */
@media(max-width:1024px){
 footer .social-links{display:flex;align-items:center;justify-content:center;gap:14px;flex:0 0 100%;margin:0}
 footer .social-links a{display:grid;place-items:center;width:44px;height:44px;color:#08275d;border-radius:50%}
 footer .social-links .footer-social-text{display:none}
 footer .social-links .footer-social-icon{display:block;width:24px;height:24px}
 footer .social-links a:hover{color:#17776e}
}
@media(min-width:761px) and (max-width:1024px){footer{flex-wrap:wrap}}
