/* LumiVue — shared stylesheet. Brand guideline: colours #000000 #00a7d7 #2b3890 #d1d3d4 #ffffff only; Helvetica Neue; no gradients, no shadows, no rounded corners; text set left. */
@font-face{font-family:'LV Helvetica';font-weight:400;font-style:normal;font-display:swap;src:local('Helvetica Neue'),local('HelveticaNeue'),url(/assets/fonts/heros-regular.woff2) format('woff2');}
@font-face{font-family:'LV Helvetica';font-weight:700 900;font-style:normal;font-display:swap;src:local('Helvetica Neue Bold'),local('HelveticaNeue-Bold'),url(/assets/fonts/heros-bold.woff2) format('woff2');}
*{box-sizing:border-box;margin:0;padding:0;}
:root{--black:#000000;--white:#ffffff;--gray:#d1d3d4;--cyan:#00a7d7;--blue:#2b3890;
  --tint:#d1d3d4;--muted:#000000;}
html{scroll-behavior:smooth;}
body{font-family:'LV Helvetica',Helvetica,Arial,sans-serif;color:var(--black);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:var(--blue);}
.container{max-width:1120px;margin:0 auto;padding:0 24px;}
h1,h2,h3{line-height:1.15;letter-spacing:-0.01em;}
h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:800;}
h2{font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:800;margin-bottom:14px;}
h3{font-size:1.2rem;font-weight:700;margin-bottom:8px;}
p{margin-bottom:12px;}
.nowrap{white-space:nowrap;}
.skip{position:absolute;left:-9999px;}
.skip:focus{left:12px;top:12px;background:var(--white);padding:12px 14px;min-height:44px;z-index:100;}

/* Header */
header{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid var(--gray);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;max-width:1120px;margin:0 auto;}
.logo-link{flex-shrink:0;display:block;}
.logo-link img{height:32px;width:auto;max-width:none;}
.header-right{display:flex;align-items:center;gap:14px;}
.lang-toggle{display:flex;border:1px solid var(--black);overflow:hidden;}
.lang-toggle a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;text-align:center;padding:8px 14px;font-weight:700;font-size:0.85rem;text-decoration:none;background:var(--white);color:var(--black);}
.lang-toggle a[aria-current="page"]{background:var(--black);color:var(--white);}
.btn{display:inline-flex;align-items:center;min-height:44px;background:var(--cyan);color:var(--black);padding:12px 26px;font-weight:700;text-decoration:none;font-size:1rem;border:2px solid var(--cyan);cursor:pointer;font-family:inherit;transition:background-color 150ms ease-out,border-color 150ms ease-out,color 150ms ease-out,transform 100ms ease-out;}
.btn:hover{background:var(--blue);border-color:var(--blue);color:var(--white);}
.btn-blue{background:var(--blue);border-color:var(--blue);color:var(--white);}
.btn-outline{background:transparent;color:var(--black);border-color:var(--black);}
.btn-sm{padding:9px 18px;font-size:0.9rem;}
.btn-header-outline{display:inline-flex;align-items:center;min-height:44px;padding:7px 16px;transition:background-color 150ms ease-out,color 150ms ease-out,transform 100ms ease-out;font-weight:700;font-size:0.9rem;color:var(--blue);border:2px solid var(--blue);text-decoration:none;white-space:nowrap;}
.btn-header-outline:hover{background:var(--blue);color:var(--white);}
.header-call{display:none;}

/* Hero */
.hero{background:var(--black);color:var(--white);padding:56px 0 64px;}
.hero-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center;}
.hero h1{color:var(--white);font-size:clamp(2rem,3.6vw,2.9rem);}
.hero .entity{color:var(--white);font-size:1.15rem;margin-top:18px;}
.hero .tagline{color:var(--gray);font-size:1.02rem;font-weight:700;margin-top:10px;}
.hero-fig{position:relative;margin:0;}
.hero-fig img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;}
.hero-ctas{margin-top:28px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.hero-ctas .btn-call{background:transparent;color:var(--white);border-color:var(--white);}

/* Sections */
section{padding:80px 0;}
section.alt{background:var(--tint);}
.section-head{max-width:720px;margin-bottom:36px;}
.section-head p{color:var(--muted);font-size:1.05rem;}
.price-line{font-size:1.5rem;font-weight:800;color:var(--blue);margin:6px 0 14px;}
.price-line small{font-size:0.95rem;font-weight:700;color:var(--muted);}
.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.card-grid.three{grid-template-columns:repeat(3,1fr);}
.card{border:1px solid var(--gray);padding:26px;background:var(--white);display:flex;flex-direction:column;}
.card p{color:var(--muted);}
.card .more{margin-top:auto;padding-top:8px;font-weight:700;}
.media-row{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;margin-bottom:32px;}
.media-row figure img{width:100%;height:auto;}
figcaption{font-size:0.92rem;color:var(--muted);padding-top:8px;}

/* Rentals */
.rate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.rate-card{border:1px solid var(--gray);overflow:hidden;background:var(--white);display:flex;flex-direction:column;}
.rate-card figure{aspect-ratio:4/3;overflow:hidden;position:relative;background:var(--tint);}
.rate-card figure img{width:100%;height:100%;object-fit:cover;}
.rate-card .body{padding:20px 22px 24px;}
.rate-card .rate{font-size:1.1rem;font-weight:800;color:var(--blue);margin-bottom:8px;line-height:1.3;}
.rate-card p{color:var(--muted);font-size:0.97rem;}
.badge{display:inline-block;background:var(--blue);color:var(--white);font-size:0.75rem;font-weight:700;padding:5px 11px;margin-bottom:10px;}
.rental-terms{margin-top:28px;padding:22px 24px;border:1px solid var(--blue);background:var(--white);}
.rental-terms p{margin-bottom:6px;font-weight:700;}
.rental-cta{margin-top:24px;display:flex;gap:16px;flex-wrap:wrap;align-items:center;}

/* Work */
.work-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.work-strip figure img{width:100%;height:300px;object-fit:cover;border:1px solid var(--gray);}

/* How / why */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.steps .num{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--blue);color:var(--white);font-weight:700;margin-bottom:16px;}
.steps p{color:var(--muted);}
.why-list{list-style:none;display:grid;gap:14px;max-width:780px;}
.why-list li{display:flex;gap:14px;align-items:flex-start;}
.why-list li::before{content:"";flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:var(--cyan);margin-top:9px;}

/* FAQ */
.faq{max-width:820px;}
.faq h3{margin-top:26px;}
.faq p{color:var(--muted);margin-bottom:0;}

/* Contact */
#contact{background:var(--blue);color:var(--white);scroll-margin-top:90px;}
#contact h2{color:var(--white);}
#contact p{color:var(--gray);}
#contact a{color:var(--white);}
.contact-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start;}
.contact-list{list-style:none;margin-top:18px;}
.contact-list li{margin-bottom:8px;color:var(--white);}
.form-card{background:var(--white);padding:28px;color:var(--black);}
section[id]{scroll-margin-top:90px;}

/* Footer */
footer{background:var(--black);color:var(--gray);padding:48px 0 28px;font-size:0.92rem;}
footer a{color:var(--gray);text-decoration:none;}
footer a:hover{text-decoration:underline;}
.foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;}
.foot-logo img{height:26px;width:auto;margin-bottom:14px;}
.foot-nav ul{list-style:none;}
.foot-nav li{margin-bottom:6px;}
.legal{margin-top:28px;padding-top:20px;border-top:1px solid var(--gray);font-size:0.82rem;}
.legal a{text-decoration:underline;}

/* Cookie banner */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:var(--black);color:var(--white);padding:18px 24px;}
.cookie-banner[hidden]{display:none;}
.cookie-banner-inner{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.cookie-banner-text{font-size:0.9rem;color:var(--gray);max-width:720px;margin:0;flex:1 1 320px;}
.cookie-banner-text a{color:var(--cyan);text-decoration:underline;}
.cookie-banner-actions{display:flex;gap:12px;flex-wrap:wrap;}
.btn-cookie{font-family:inherit;font-weight:700;font-size:0.9rem;padding:11px 22px;cursor:pointer;white-space:nowrap;}
.btn-cookie-solid{background:var(--cyan);color:var(--black);border:2px solid var(--cyan);}
.btn-cookie-outline{background:transparent;color:var(--white);border:2px solid var(--white);}


/* Image labels (required: visible on or directly under every image) */
figure{position:relative;}
.img-label{position:absolute;left:0;right:0;bottom:0;padding:6px 10px;background:var(--black);color:var(--white);font-size:0.75rem;line-height:1.35;}
.cap-note{color:var(--muted);}

.media-row.flip figure{order:2;}
.rate-card.no-img{grid-column:1/-1;}
.rate-card.no-img .body{padding-top:22px;}
/* Breadcrumb */
.crumbs{padding:14px 0;font-size:0.88rem;border-bottom:1px solid var(--gray);}
.crumbs a{color:var(--black);}
.crumbs span[aria-current]{color:var(--muted);}
/* Page hero (inner pages) */
.page-hero{padding:56px 0 40px;}
.page-hero .entity{font-size:1.15rem;max-width:760px;margin-top:16px;}
.page-hero .hero-ctas .btn-call{background:var(--blue);border-color:var(--blue);color:var(--white);}
.spec-note{font-size:0.95rem;color:var(--muted);}

.steps.four{grid-template-columns:repeat(4,1fr);gap:24px;}
.page-links{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:8px;}
.page-links a{font-weight:700;}
.card-grid.two{grid-template-columns:repeat(2,1fr);}
.work-strip.three{grid-template-columns:repeat(3,1fr);}
.work-strip.three figure img{height:260px;}
figure.banner{margin-bottom:28px;}
figure.banner img{width:100%;height:auto;}
.media-row figure.tall img{max-height:620px;object-fit:cover;}

.ship-note{font-size:0.95rem;font-weight:700;color:var(--black);margin-top:-6px;}
.eyebrow{font-size:0.8rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--blue);margin-bottom:6px;}
.price-line.quote{font-size:1.15rem;}
.rent-note{font-weight:700;color:var(--black);}
.wide-text{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:start;}
.callout{border-left:6px solid var(--cyan);padding:14px 0 14px 20px;font-size:1.15rem;font-weight:700;max-width:820px;margin:0;}
.spec-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:18px 0 24px;border-top:1px solid var(--gray);}
.spec-list div{padding:10px 0;border-bottom:1px solid var(--gray);}
.spec-list dt{font-size:0.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.04em;}
.spec-list dd{font-weight:700;}
.product-row{align-items:start;}
.product-row figure.tall img{width:100%;height:620px;object-fit:cover;}
/* Interactive web motion & gestures (lumivue-collateral skill): instant press feedback, 44px targets, cyan focus, reduced motion */
a,button{touch-action:manipulation;}
.btn:active,.btn-header-outline:active,.btn-cookie:active,.header-call:active{transform:translateY(1px);}
.btn:active{background:var(--blue);border-color:var(--blue);color:var(--white);}
.btn-header-outline:active{background:var(--blue);color:var(--white);}
.hero-ctas .btn-call:active,.page-hero .btn-call:active{background:var(--black);border-color:var(--black);color:var(--white);}
a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;}
.card .more,.page-links a,.crumbs a,.contact-list a{display:inline-flex;align-items:center;min-height:44px;}
.foot-nav a,.legal a,footer p a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;}
.logo-link{display:flex;align-items:center;min-height:44px;}
.rental-cta a:not(.btn){display:inline-flex;align-items:center;min-height:44px;}
.cookie-banner-text a{display:inline-block;padding:13px 0;}
.crumbs a{min-width:44px;}
.btn-cookie{min-height:44px;transition:background-color 150ms ease-out,color 150ms ease-out,transform 100ms ease-out;}
.btn-cookie:active{background:var(--blue);border-color:var(--blue);color:var(--white);}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:1ms !important;animation:none !important;scroll-behavior:auto !important;}
}
@media (max-width:860px){
  .wide-text{grid-template-columns:1fr;gap:8px;}
  .product-row figure.tall img{height:460px;}
  section{padding:56px 0;}
  .hero-grid{grid-template-columns:1fr;gap:28px;}
  .hero{padding:36px 0 40px;}
  .card-grid,.card-grid.two,.card-grid.three,.rate-grid,.work-strip,.work-strip.three,.steps,.steps.four,.contact-wrap,.media-row{grid-template-columns:1fr;}
  .media-row.flip figure{order:0;}
  .work-strip figure img{height:240px;}
}
@media (max-width:560px){
  .header-inner{flex-wrap:wrap;row-gap:12px;}
  .logo-link img{height:26px;}
  .header-right{width:100%;flex-wrap:wrap;gap:8px;row-gap:8px;}
  .lang-toggle{order:1;}
  .btn-header-outline{order:2;padding:8px 12px;font-size:0.82rem;min-height:44px;}
  .header-call{order:3;display:inline-flex;align-items:center;gap:6px;min-height:44px;background:var(--blue);color:var(--white);padding:9px 14px;font-weight:700;font-size:0.82rem;text-decoration:none;}
  .header-call svg{width:15px;height:15px;flex:0 0 auto;}
  .header-right .btn{order:4;padding:9px 14px;font-size:0.82rem;}
  .cookie-banner-inner{flex-direction:column;align-items:stretch;}
  .cookie-banner-actions{width:100%;}
  .btn-cookie{flex:1;}
}

.price-card{border:1px solid var(--gray);background:var(--white);padding:22px 22px 24px;display:flex;flex-direction:column;}
.price-card h3{margin-bottom:8px;}
.price-card p{color:var(--muted);font-size:0.97rem;}
.price-card .price-line{color:var(--black);}
.place-list{margin:4px 0 20px;padding-left:1.2em;}
.place-list li{margin-bottom:6px;}
.product-row .callout{margin:4px 0 22px;font-size:1.05rem;}
#prix .btn{margin-top:24px;}
.card.media{padding:0;}
.card.media figure{margin:0;position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--tint);}
.card.media figure img{width:100%;height:100%;object-fit:cover;display:block;}
.card.media figure.split{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--white);}
.card.media figure.split picture{display:block;height:100%;overflow:hidden;}
.card.media .body{padding:22px 26px 26px;display:flex;flex-direction:column;flex:1;}
.card.media .img-label{left:0;bottom:0;}
.card.media .split{display:grid;grid-template-columns:1fr 1fr;gap:4px;aspect-ratio:3/2;}
.card.media .split figure{aspect-ratio:auto;height:100%;}
/* Site-wide link + title rule (Saeed 2026-10-08): titles dark blue, links black with a light-blue underline */
.card h3,.rate-card h3,.price-card h3,.steps h3,.faq h3{color:var(--blue);}
main a:not(.btn):not([class*="btn"]){color:var(--black);text-decoration:underline;text-decoration-color:var(--cyan);text-decoration-thickness:2px;text-underline-offset:4px;}
main .more,main .page-links a,main .rental-cta a:not(.btn){font-weight:700;text-decoration-thickness:3px;text-underline-offset:5px;}
main a:not(.btn):not([class*="btn"]):hover{color:var(--blue);}
main #contact a:not(.btn){color:var(--white);text-decoration-color:var(--cyan);}
main #contact a:not(.btn):hover{color:var(--gray);}
.crumbs a{text-decoration:underline;text-decoration-color:var(--cyan);text-decoration-thickness:2px;text-underline-offset:4px;}
.big-line{font-size:1.25rem;font-weight:700;color:var(--black)!important;margin-bottom:8px;}
.spec-list.hours{grid-template-columns:1fr;}
.area-note{margin-top:28px;font-weight:600;font-size:1.05rem;}
.big-line a{display:inline-flex;align-items:center;min-height:44px;}
.contact-card h3:not(:first-child){margin-top:22px;}
.contact-card .more{margin-top:0;padding-top:0;}
.legal-line{margin-top:28px;font-size:0.9rem;color:var(--muted);}
.legal-page h2{font-size:1.4rem;margin:34px 0 10px;}
.legal-page p,.legal-page li{max-width:780px;}
.en-block{margin-top:56px;padding-top:28px;border-top:1px solid var(--gray);}
.en-block h2{font-size:1.6rem;margin-bottom:8px;}
.card.media figure.contain{background:var(--white);border-bottom:1px solid var(--gray);}
.card.media figure.contain img{object-fit:contain;padding:12px;}
.sector-grid > .card:last-child:nth-child(odd){grid-column:1/-1;}
.io-list{list-style:none;padding:0;margin:6px 0 0;}
.io-list li{border-top:1px solid var(--gray);}
.io-list li:last-child{border-bottom:1px solid var(--gray);}
.io-list a{display:flex;align-items:center;min-height:48px;font-weight:600;}
.hero-fig picture{display:block;}
.rate-card .deliv{font-weight:700;margin:-2px 0 10px;}
.table-wrap{overflow-x:auto;margin:20px 0 8px;}
table.compare{border-collapse:collapse;width:100%;min-width:640px;font-size:.95rem;}
table.compare th,table.compare td{border:1px solid var(--gray);padding:10px 12px;text-align:left;vertical-align:top;}
table.compare thead th{background:var(--blue);color:var(--white);}
table.compare tbody th{color:var(--blue);background:var(--white);}
.form-fallback{font-size:1rem;margin:0;color:var(--black);}
main #contact .form-card a:not(.btn){color:var(--black);text-decoration-color:var(--cyan);}
main #contact .form-card a:not(.btn):hover{color:var(--blue);}
main #contact .form-card p.form-fallback{color:var(--black);}
