@import url('fonts.css');

:root{
  --ink:#070914;--ink-2:#0d1020;--paper:#f6f7fb;--blue:#3f49a1;--blue-bright:#6270e5;
  --steel:#7f96b8;--line:rgba(255,255,255,.15);--muted:#aab0c2;--white:#fff;
  --radius:1.5rem;--pad:clamp(1.25rem,4vw,4.5rem);--max:1460px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font:400 1rem/1.65 "DM Sans",sans-serif;overflow-x:hidden}body.menu-open{overflow:hidden}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(calc(100% - 2*var(--pad)),var(--max));margin-inline:auto}.eyebrow{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;color:#c3cae0;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:600}.eyebrow:before{content:"";width:2.5rem;height:1px;background:var(--blue-bright)}
h1,h2,h3,.display{font-family:"Manrope",sans-serif;line-height:.96;letter-spacing:-.055em;margin:0}h1{font-size:clamp(3.2rem,8.5vw,9rem)}h2{font-size:clamp(2.3rem,5.5vw,5.8rem)}h3{font-size:clamp(1.35rem,2vw,2rem);letter-spacing:-.035em}p{margin:0}.lead{font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.5;color:#c8cddd;max-width:46rem}.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;min-height:3.25rem;padding:.8rem 1.25rem;border:1px solid var(--blue-bright);border-radius:999px;background:var(--blue-bright);color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;transition:.25s}.btn:hover{transform:translateY(-2px);background:#7884f3}.btn:after{content:"↗";font-size:1rem}.btn.ghost{background:transparent;border-color:var(--line)}.btn.ghost:hover{border-color:var(--blue-bright)}
.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;padding:1rem var(--pad);transition:.3s}.site-header.scrolled{background:rgba(7,9,20,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand img{width:clamp(150px,14vw,215px);filter:brightness(0) invert(1)}.nav-links{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.3rem)}.nav-links>a:not(.btn){font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:#dce0eb}.nav-links>a.active{color:#fff}.menu-btn{display:none;border:0;background:none;color:#fff;width:2.75rem;height:2.75rem;font-size:1.5rem}
.hero{min-height:100svh;position:relative;display:grid;align-items:end;padding:10rem 0 5rem;overflow:hidden}.hero-media,.page-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after,.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,14,.93) 0%,rgba(4,6,14,.46) 52%,rgba(4,6,14,.2)),linear-gradient(0deg,var(--ink) 0%,transparent 45%)}.hero-content{position:relative;z-index:2}.hero h1{max-width:11ch}.hero h1 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.66)}.hero-bottom{margin-top:2.5rem;display:flex;align-items:end;justify-content:space-between;gap:2rem}.hero-index{display:flex;gap:1rem;color:#bbc0ce;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.hero-index i{width:4rem;height:1px;background:var(--blue-bright);align-self:center}
.section{padding:clamp(5.5rem,10vw,10rem) 0}.section-head{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:3rem;margin-bottom:4rem}.section-head .lead{justify-self:end}.dark-2{background:var(--ink-2)}
.service-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.service{position:relative;min-height:28rem;padding:2rem;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#111526;display:flex;flex-direction:column;justify-content:space-between}.service:nth-child(1){grid-column:span 7}.service:nth-child(2){grid-column:span 5}.service:nth-child(3){grid-column:span 5}.service:nth-child(4){grid-column:span 7}.service:nth-child(5){grid-column:span 12;min-height:20rem}.service img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38;transition:.6s}.service:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,20,.1),rgba(7,9,20,.92))}.service:hover img{transform:scale(1.035);opacity:.5}.service>*:not(img){position:relative;z-index:2}.service .num{font:500 .78rem/1 "Manrope";letter-spacing:.15em}.service ul{list-style:none;padding:0;margin:1rem 0 0;color:#c1c6d4}.service li:before{content:"—";margin-right:.5rem;color:var(--steel)}
.advantage{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid var(--line);border-radius:calc(var(--radius)*1.2);overflow:hidden;background:linear-gradient(135deg,#171d3b,#0c1022)}.advantage-title{padding:clamp(2rem,5vw,5rem);background:var(--blue)}.advantage-list{padding:clamp(2rem,5vw,5rem)}.advantage-item{display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}.advantage-item:last-child{border:0}.advantage-item b{font-family:"Manrope";font-size:1.15rem}.advantage-item p{color:#b6bdce;margin-top:.4rem}
.trusted{border-block:1px solid var(--line);padding:2.2rem 0;overflow:hidden}.logo-strip{display:flex;gap:3.8rem;align-items:center;white-space:nowrap;color:#aab2c7;text-transform:uppercase;font:700 .88rem/1 "Manrope";letter-spacing:.08em;animation:marquee 28s linear infinite;width:max-content}.logo-strip span:nth-child(even){color:#e2e5ef}@keyframes marquee{to{transform:translateX(-50%)}}
.cta-panel{position:relative;min-height:34rem;border-radius:2rem;overflow:hidden;display:grid;place-items:center;text-align:center;padding:3rem}.cta-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cta-panel:after{content:"";position:absolute;inset:0;background:rgba(6,8,18,.68)}.cta-panel>div{position:relative;z-index:2}.cta-panel h2{max-width:12ch;margin:0 auto 2rem}
.page-hero{height:min(72vh,780px);min-height:34rem;position:relative;display:grid;align-items:end;padding:10rem 0 4rem}.page-hero .wrap{position:relative;z-index:2}.page-hero h1{max-width:12ch}.page-hero p{margin-top:1.5rem}.crumb{display:flex;gap:.6rem;color:#c5cad8;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.4rem}
.case-list{display:grid;gap:1.5rem}.case-card{display:grid;grid-template-columns:1.05fr .95fr;min-height:29rem;background:#101426;border:1px solid var(--line);border-radius:1.7rem;overflow:hidden}.case-card:nth-child(even){grid-template-columns:.95fr 1.05fr}.case-card:nth-child(even) .case-copy{order:-1}.case-card img{width:100%;height:100%;object-fit:cover}.case-copy{padding:clamp(2rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.case-copy h3{font-size:clamp(1.8rem,3.6vw,3.8rem)}.case-copy p{color:#bbc2d2;max-width:36rem;margin:1.5rem 0 2rem}.tag{display:inline-flex;padding:.45rem .7rem;border:1px solid var(--line);border-radius:999px;color:#b9c0d0;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.25rem}
.story{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(2rem,8vw,9rem)}.story aside{position:sticky;top:8rem;align-self:start}.story-copy{font-size:clamp(1.1rem,1.6vw,1.35rem);color:#c8cede}.story-copy p+p{margin-top:1.5rem}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:3.5rem}.stat{background:var(--ink);padding:1.5rem}.stat b{display:block;font:700 clamp(2rem,4vw,4rem)/1 "Manrope";color:var(--blue-bright)}.stat span{display:block;margin-top:.7rem;color:#aeb5c7;font-size:.85rem}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.gallery figure{margin:0;overflow:hidden;border-radius:1.2rem;background:#111526}.gallery figure:nth-child(6n+1),.gallery figure:nth-child(6n+4){grid-column:span 7}.gallery figure:nth-child(6n+2),.gallery figure:nth-child(6n+3){grid-column:span 5}.gallery figure:nth-child(6n+5),.gallery figure:nth-child(6n+6){grid-column:span 6}.gallery img{width:100%;height:clamp(18rem,38vw,40rem);object-fit:cover;transition:.5s}.gallery figure:hover img{transform:scale(1.025)}
.rental-layout{display:grid;grid-template-columns:1fr 22rem;gap:2rem;align-items:start}.rental-tools{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:2rem}.input{width:100%;min-height:3.2rem;border:1px solid var(--line);border-radius:.8rem;background:#101425;color:#fff;padding:.8rem 1rem;outline:none}.input:focus{border-color:var(--blue-bright)}.rental-tools .input{width:auto;min-width:15rem}.catalog{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.product{border:1px solid var(--line);border-radius:1.2rem;background:#101425;overflow:hidden}.product img{width:100%;aspect-ratio:16/10;object-fit:cover}.product-copy{padding:1.3rem}.product-top{display:flex;justify-content:space-between;gap:1rem;align-items:start}.product h3{font-size:1.25rem;line-height:1.2;letter-spacing:-.02em}.price{white-space:nowrap;color:#ccd3ff;font-weight:600}.product p{color:#9fa7bc;font-size:.9rem;margin:.8rem 0 1.2rem}.product button{width:100%}.flightcase{position:sticky;top:6.5rem;border:1px solid rgba(98,112,229,.55);border-radius:1.3rem;background:linear-gradient(160deg,#171d3d,#0c1020);padding:1.4rem}.flightcase h3{display:flex;justify-content:space-between;align-items:center}.cart-count{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--blue-bright);font-size:.8rem}.cart-items{margin:1.25rem 0}.cart-line{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--line);font-size:.85rem}.cart-line button{border:0;background:none;color:#aeb4c7}.summary-line{display:flex;justify-content:space-between;color:#bbc1d2;font-size:.9rem;margin:.5rem 0}.summary-line.total{color:#fff;font-weight:700;font-size:1.05rem;padding-top:.8rem;border-top:1px solid var(--line)}.notice{border-left:2px solid var(--blue-bright);padding-left:1rem;color:#aeb5c6;font-size:.88rem;margin:1.2rem 0}.date-grid,.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.booking{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}label{display:grid;gap:.4rem;color:#b9c0d0;font-size:.84rem}.wide{grid-column:1/-1}textarea.input{min-height:8rem;resize:vertical}.check{display:flex;align-items:flex-start;gap:.7rem}.check input{margin-top:.3rem}
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,8vw,8rem)}.contact-card{padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);border-radius:1.5rem;background:#101425}.contact-list{margin-top:2rem}.contact-list a,.contact-list address{display:block;padding:1rem 0;border-bottom:1px solid var(--line);font-style:normal;color:#c7ccda}
.site-footer{padding:4rem 0 2rem;border-top:1px solid var(--line);background:#050711}.footer-grid{display:grid;grid-template-columns:1fr .7fr .7fr;gap:3rem}.footer-logo{width:210px;filter:brightness(0) invert(1);margin-bottom:1.5rem}.site-footer h3{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem;color:#939bad}.site-footer a,.site-footer p,.site-footer address{display:block;color:#c4cad8;font-style:normal;margin:.3rem 0}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem;color:#7f879a;font-size:.78rem}.legal{display:flex;gap:1.5rem}
.legal-page{min-height:70vh;padding:12rem 0 6rem}.legal-page article{max-width:54rem}.legal-page h1{font-size:clamp(3rem,7vw,6rem)}.legal-page h2{font-size:1.5rem;margin:2.5rem 0 1rem;letter-spacing:-.02em}.legal-page p{color:#bbc2d2}
.toast{position:fixed;z-index:200;right:1.5rem;bottom:1.5rem;padding:1rem 1.2rem;border-radius:.8rem;background:#fff;color:#11162c;box-shadow:0 15px 50px rgba(0,0,0,.35);transform:translateY(150%);transition:.3s}.toast.show{transform:none}
@media(max-width:900px){.nav-links{position:fixed;inset:0;background:#080a17;display:flex;flex-direction:column;justify-content:center;transform:translateX(100%);transition:.35s}.nav-links.open{transform:none}.nav-links>a:not(.btn){font:700 1.6rem/1 "Manrope"}.menu-btn{display:block;position:relative;z-index:2}.section-head,.advantage,.story,.contact-grid,.rental-layout{grid-template-columns:1fr}.section-head .lead{justify-self:start}.service:nth-child(n){grid-column:span 12}.case-card,.case-card:nth-child(even){grid-template-columns:1fr}.case-card:nth-child(even) .case-copy{order:initial}.case-card img{min-height:23rem}.story aside{position:static}.flightcase{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:620px){.hero-bottom{align-items:flex-start;flex-direction:column}.hero-index{display:none}.service{min-height:24rem}.gallery figure:nth-child(n){grid-column:span 12}.gallery img{height:26rem}.catalog{grid-template-columns:1fr}.rental-tools .input{width:100%;min-width:0}.date-grid,.form-grid,.stat-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.social-cards{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.logo-strip{animation:none}.service img,.gallery img,.btn{transition:none}}

/* =========================================================
   CONTACT PAGE — optimized
========================================================= */

.hero-title-line{
  white-space:nowrap;
}

.contact-form{
  margin-top:3rem;
}

.form-status{
  display:none;
  margin-top:1rem;
  color:#ffb4b4;
  line-height:1.5;
}

.form-status.error{
  display:block;
}

.form-status[hidden]{
  display:none!important;
}

.btn.loading,
.btn:disabled{
  pointer-events:none;
  opacity:.6;
}

.hp-field{
  position:absolute!important;
  left:-99999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

/* Socials: icon-only cards */
.social-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:1rem;
}

.social-card{
  display:grid;
  place-items:center;
  aspect-ratio:1;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(7,9,20,.08);
  border-radius:1rem;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.social-card svg{
  width:clamp(3.5rem,6vw,5.2rem);
  height:clamp(3.5rem,6vw,5.2rem);
  fill:currentColor;
  transition:transform .25s ease;
}

.social-card-facebook{
  color:#1877f2;
}

.social-card-instagram{
  color:#e4405f;
}

.social-card-tiktok{
  color:#111827;
}

.social-card-linkedin{
  color:#0a66c2;
}

.social-card:hover{
  transform:translateY(-4px);
  border-color:rgba(98,112,229,.28);
  box-shadow:0 20px 45px rgba(0,0,0,.18);
}

.social-card:hover svg{
  transform:scale(1.07);
}

.social-card:focus-visible{
  outline:3px solid var(--blue-bright);
  outline-offset:4px;
}

/* Thank-you modal */
.thankyou-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:1.25rem;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.thankyou-modal.active{
  display:flex;
}

.thankyou-box{
  position:relative;
  width:min(35rem,100%);
  padding:3.4rem 2.5rem 2.8rem;
  border:1px solid var(--line);
  border-radius:1.5rem;
  background:#101425;
  box-shadow:0 30px 80px rgba(0,0,0,.55);
  text-align:center;
}

.thankyou-check{
  display:grid;
  place-items:center;
  width:4.1rem;
  height:4.1rem;
  margin:0 auto 1.5rem;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  font-size:1.75rem;
}

.thankyou-eyebrow{
  justify-content:center;
}

.thankyou-box h2{
  margin:0 0 1rem;
}

.thankyou-text{
  max-width:27rem;
  margin:0 auto 1.8rem;
  color:#c8cddd;
  line-height:1.65;
}

.thankyou-close{
  position:absolute;
  top:.8rem;
  right:1rem;
  display:grid;
  place-items:center;
  width:2.5rem;
  height:2.5rem;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  font-size:1.9rem;
  line-height:1;
}

.thankyou-close:focus-visible{
  outline:2px solid var(--blue-bright);
  outline-offset:2px;
}

@media(max-width:620px){
  .contact-form{
    margin-top:2rem;
  }

  .social-cards{
    gap:.75rem;
  }

  .social-card svg{
    width:3.5rem;
    height:3.5rem;
  }

  .thankyou-box{
    padding:3rem 1.5rem 2rem;
  }
}

@media(prefers-reduced-motion:reduce){
  .social-card,
  .social-card svg{
    transition:none;
  }
}


/* =========================================================
   FOOTER SOCIAL ICONS
========================================================= */
.footer-socials{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1.25rem;
}

.site-footer .footer-social{
  display:grid;
  place-items:center;
  width:2.8rem;
  height:2.8rem;
  margin:0;
  border:1px solid var(--line);
  border-radius:50%;
  background:#0d1020;
  color:#dfe4f2;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease;
}

.site-footer .footer-social svg{
  width:1.22rem;
  height:1.22rem;
  fill:currentColor;
}

.site-footer .footer-social:hover{
  transform:translateY(-2px);
  border-color:rgba(98,112,229,.7);
  background:#151a33;
  color:#fff;
}

.site-footer .footer-social:focus-visible{
  outline:2px solid var(--blue-bright);
  outline-offset:3px;
}

.site-footer .footer-social-facebook:hover{color:#66a3ff}
.site-footer .footer-social-instagram:hover{color:#f06a8a}
.site-footer .footer-social-tiktok:hover{color:#fff}
.site-footer .footer-social-linkedin:hover{color:#58a8e5}

@media(prefers-reduced-motion:reduce){
  .site-footer .footer-social{transition:none}
}


/* =========================================================
   WORD-DOC INTEGRATION — RENTAL / NAV / CASES
========================================================= */
.btn:after{content:"";width:1rem;height:1rem;flex:0 0 1rem;background:url('../images/arrow-up-right.svg') center/contain no-repeat}
.add-to-flightcase:after{width:1.18rem;height:1.18rem;flex-basis:1.18rem;background-image:url('../images/flightcase-icon.svg')}
.rental-price-note{margin-top:1rem;color:#c8cddd;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.catalog{align-items:start}
.product{display:flex;flex-direction:column;min-width:0}
.product-media{display:grid;place-items:center;aspect-ratio:16/10;background:#f5f5f3;padding:1.25rem;overflow:hidden}
.product-media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.product-media-placeholder{background:linear-gradient(135deg,#171b33,#101425);color:#778098;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}
.product-copy{display:flex;flex:1;flex-direction:column}
.product-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.8rem}
.product-category{font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:#aeb7d7}
.included{margin:1rem 0 1.1rem;padding-top:1rem;border-top:1px solid var(--line)}
.included>span{display:block;margin-bottom:.5rem;color:#dfe3ef;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.included ul{margin:0;padding-left:1.15rem;color:#9fa7bc;font-size:.86rem;line-height:1.55}
.included li+li{margin-top:.25rem}
.addon-hint{margin-top:auto!important;color:#c9d0ff!important;font-size:.78rem!important}
.flightcase-title{display:inline-flex;align-items:center;gap:.6rem}.flightcase-title img{width:1.45rem;height:1.45rem}
.cart-line>div:first-child{display:flex;flex-direction:column;gap:.25rem;min-width:0}.cart-line small{color:#8892ad;line-height:1.35}.cart-line-price{display:flex;align-items:flex-start;gap:.35rem;white-space:nowrap}
.addon-box{text-align:left}.addon-box .thankyou-eyebrow{justify-content:flex-start}.addon-intro{margin:1rem 0;color:#b8bfd0}.addon-options{display:grid;gap:.7rem;margin:1.25rem 0 1.6rem}.addon-option{display:flex;grid-template-columns:none;align-items:flex-start;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:.9rem;background:#0c1020;cursor:pointer}.addon-option input{margin-top:.25rem}.addon-option span{display:grid;gap:.2rem}.addon-option b{color:#fff;font-size:.9rem}.addon-option small{color:#aab2c8}.modal-actions{display:flex;justify-content:flex-end;gap:.8rem;flex-wrap:wrap}
.coming-soon{max-width:62rem;padding:clamp(2rem,5vw,5rem);border:1px solid var(--line);border-radius:2rem;background:linear-gradient(145deg,#11162c,#0b0e1e)}.coming-soon h2{margin-bottom:1.5rem}.coming-soon .lead{margin-bottom:2rem}
@media(max-width:900px){
  .nav-links{padding:7rem 1.5rem 2rem;gap:.65rem;overflow-y:auto}
  .nav-links>a{width:min(84vw,24rem);padding:1rem 1.25rem;text-align:center;border-radius:.9rem}
  .nav-links>a:not(.btn){display:block;background:#0d1124;border:1px solid rgba(255,255,255,.08)}
  .nav-links>a.active:not(.btn){background:#1a2146;border-color:rgba(98,112,229,.45)}
  .nav-links .btn{margin-top:.35rem;background:var(--blue-bright);border-color:var(--blue-bright);opacity:1}
}
@media(max-width:620px){.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}.product-media{aspect-ratio:4/3}}

/* =========================================================
   MOBILE IMAGE & OVERFLOW HARDENING — 2026-09-09
========================================================= */
.section-head > *,
.rental-layout > *,
.contact-grid > *,
.advantage > *,
.case-card > *,
.product,
.product-copy,
.product-top,
.product-meta{
  min-width:0;
}

.hero-media,
.page-hero-media,
.service img,
.case-card img,
.gallery img,
.cta-panel img{
  object-position:center center;
}

.product-media img{
  display:block;
  max-width:100%;
  max-height:100%;
}

@media(max-width:620px){
  /* Prevent intentional desktop no-wrap headings from pushing past small phones. */
  .hero-title-line,
  .page-hero h1 span[style*="white-space"],
  .advantage-title h2 span[style*="white-space"]{
    white-space:normal!important;
  }

  .hero h1,
  .page-hero h1{
    font-size:clamp(2.65rem,13vw,3.65rem);
    overflow-wrap:anywhere;
  }

  .page-hero{
    min-height:31rem;
    height:min(72svh,42rem);
    padding:8.5rem 0 3rem;
    overflow:hidden;
  }

  .hero{
    padding:8.5rem 0 3rem;
  }

  .service{
    padding:1.5rem;
  }

  .cta-panel{
    min-height:28rem;
    padding:1.5rem;
  }

  /* Rental product photography from the supplied Word catalogue: show the full item. */
  .product-media{
    aspect-ratio:1/1;
    padding:1rem;
  }

  .product-media img{
    width:100%;
    height:100%;
    object-fit:contain;
  }

  .product-copy{
    padding:1.1rem;
  }

  .product-meta{
    align-items:flex-start;
    flex-wrap:wrap;
    row-gap:.35rem;
  }

  .price{
    font-size:.88rem;
  }

  .flightcase{
    padding:1.15rem;
  }

  .flightcase > .btn,
  .booking .btn{
    width:100%;
  }

  .cart-line{
    flex-direction:column;
    gap:.5rem;
  }

  .cart-line-price{
    width:100%;
    justify-content:space-between;
  }

  .gallery img{
    height:auto;
    aspect-ratio:4/5;
  }

  .legal{
    flex-wrap:wrap;
    row-gap:.5rem;
  }
}

@media(max-width:380px){
  h1,
  .hero h1,
  .page-hero h1{
    font-size:2.55rem;
  }

  .btn{
    max-width:100%;
    white-space:normal;
    text-align:center;
  }
}

/* Definitieve versie: menu, media en toegankelijkheid. */
img{height:auto}
.brand img{height:auto}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:100001;padding:.75rem 1.2rem;background:#fff;color:#070914;border-radius:.5rem;transform:translateY(-200%)}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #bac2ff;outline-offset:5px}
html{scroll-padding-top:7rem}
.company-number{font-size:.8rem;color:#9ba5be!important;margin-top:1rem!important}
.form-privacy{margin:0 0 1.25rem;color:#aeb8cd;font-size:.83rem}
.form-privacy a,.legal-page a:not(.btn){text-decoration:underline;text-underline-offset:.2em}
.catalog-status{color:var(--muted);font-size:.85rem;margin:0 0 1rem}
.product-media-placeholder{gap:.75rem;align-content:center}
.product-media-placeholder img{width:3rem;height:3rem;opacity:.45;mix-blend-mode:normal}
.btn:after{background-image:url('../images/arrow-emoji.svg');width:1.15rem;height:1.15rem;flex-basis:1.15rem}
.add-to-flightcase:after{background-image:url('../images/flightcase-icon.svg');width:1.3rem;height:1.3rem;flex-basis:1.3rem}
.film{margin:0;min-width:0}
.film video{width:100%;aspect-ratio:16/9;object-fit:contain;background:#03040a;border:1px solid var(--line);border-radius:1rem;display:block}
.film figcaption{padding:.8rem 0;color:#aeb8cd;font-size:.85rem}
.media-subhead{margin-top:5rem}
.social-film-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.film-portrait video{aspect-ratio:9/16}
.gallery-link{display:block;height:100%}
.gallery-link img{cursor:zoom-in}
.case-ending{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.legal-page h1{font-size:clamp(2.5rem,6.2vw,5.5rem);overflow-wrap:normal;hyphens:auto;line-height:1.05}
.legal-intro{margin:2rem 0 3rem!important}
.legal-section{margin-top:2.5rem;scroll-margin-top:7rem}
.legal-section h2{line-height:1.3}
.legal-section h3{font-size:1.1rem;line-height:1.4;letter-spacing:0;margin:1.2rem 0 .6rem}
.legal-section p,.legal-section li{line-height:1.8;color:#bbc2d2}
.legal-section p+p{margin-top:1rem}
.legal-section ul{padding-left:1.3rem;margin:1rem 0}
.legal-section li+li{margin-top:.3rem}
.thankyou-box{max-height:90dvh;overflow:auto}
body.viewer-open{overflow:hidden}
.image-viewer{width:min(1200px,96vw);max-width:96vw;height:92dvh;max-height:92dvh;background:#080b15;color:#fff;border:1px solid var(--line);border-radius:1rem;padding:3rem 1rem 1rem;overflow:hidden}
.image-viewer::backdrop{background:rgba(0,0,0,.92)}
.image-viewer>img{width:100%;height:calc(100% - 4rem);object-fit:contain}
.viewer-close{position:absolute;right:.75rem;top:.25rem;width:2.5rem;height:2.5rem;background:none;border:0;color:white;font-size:2rem}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.75rem}
.viewer-toolbar p{font-size:.8rem;color:#b9c1d3;text-align:center}
.viewer-toolbar button{min-width:2.75rem;height:2.75rem;border:1px solid var(--line);background:#171e35;color:white;border-radius:50%}
@media(max-width:1000px){.social-film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
 .site-header,.site-header.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .2s}
 .nav-links{height:100dvh;inset:0;visibility:hidden;pointer-events:none;transition:transform .25s,visibility .25s;overscroll-behavior:contain}
 .nav-links.open{visibility:visible;pointer-events:auto}
 .brand{position:relative;z-index:2}
 .menu-btn{z-index:3}
 body.menu-open .site-header{height:100dvh;background:#080a17}
 .film video{border-radius:.75rem}
}
@media(max-width:620px){
 .section-head{gap:1.5rem;margin-bottom:2.5rem}
 .media-subhead{margin-top:3.5rem}
 .social-film-grid{gap:.8rem}
 .film figcaption{font-size:.75rem}
 .page-hero-media{object-position:62% center}
 .hero-media{object-position:63% center}
 .legal-page{padding-top:9rem}
 .legal-page h1{font-size:clamp(2.1rem,9vw,3.4rem)}
 .footer-bottom{gap:1.2rem}
 .toast{left:1rem;right:1rem;bottom:1rem}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.footer-credit{text-align:center;margin:1.25rem auto 0;font-size:.75rem;color:#7f879a}.site-footer .footer-credit a{display:inline-block;color:inherit;text-decoration:none}.site-footer .footer-credit a:hover,.site-footer .footer-credit a:focus-visible{color:#fff;text-decoration:underline}
/* Rental date calendars */
.calendar-trigger{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.25rem;text-align:left;cursor:pointer;font:inherit;color:#b8bfd0;background:#0d1120}
.calendar-trigger.has-date{color:#fff}.calendar-trigger svg{width:1.3rem;height:1.3rem;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.calendar-trigger:hover,.calendar-trigger:focus-visible{border-color:#818af3}.calendar-trigger[aria-invalid=true]{border-color:#ff9292}.calendar-error{display:block;color:#ffb0b0;font-size:.8rem;margin-top:.5rem}.calendar-error[hidden]{display:none}
.rental-calendar{width:min(24rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;padding:1.4rem;margin:auto;border:1px solid #41485f;border-radius:1.1rem;background:#0d1120;color:#fff;box-shadow:0 1.5rem 6rem #0009;font-family:inherit}.rental-calendar::backdrop{background:#030510bf;backdrop-filter:blur(5px)}
.calendar-title-row,.calendar-month-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.rental-calendar .calendar-title-row h2{margin:0;font-size:1.15rem;letter-spacing:0;line-height:1.3}.calendar-month-row{margin:1.1rem 0 .75rem}.calendar-month-row p{margin:0;font-size:.95rem;font-weight:700;text-transform:capitalize}.calendar-icon-button{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex-shrink:0;padding:0;border:1px solid #41485f;border-radius:.6rem;background:#171d30;color:#fff;font:inherit;font-size:1.6rem;cursor:pointer}.calendar-icon-button:hover:not(:disabled){background:#303858}.calendar-icon-button:disabled{opacity:.3;cursor:default}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}.calendar-weekdays{margin-bottom:.45rem;text-align:center;color:#a6aec5;font-size:.75rem}.calendar-day{min-width:0;min-height:2.55rem;aspect-ratio:1;padding:0;border:1px solid transparent;border-radius:.55rem;background:transparent;color:#fff;font:inherit;font-size:.9rem;cursor:pointer}.calendar-day:hover:not(:disabled){background:#303858}.calendar-day[aria-current=date]{border-color:#818af3}.calendar-day[aria-pressed=true]{background:#656ee5;color:#fff;font-weight:700}.calendar-day:disabled{color:#596075;cursor:default}.calendar-day:focus-visible,.calendar-icon-button:focus-visible,.calendar-trigger:focus-visible{outline:2px solid #b7bdff;outline-offset:2px}.rental-calendar .calendar-help{margin:1rem 0 0;color:#b8bfd0;font-size:.8rem;line-height:1.5}
