/* ============================================================
   JOVARI site.css — single consolidated stylesheet.
   Order: base rules, then media queries (tablet, desktop-only,
   mobile, mobile cinematic overrides last).
   ============================================================ */

:root{
  --bg-main:#191C1E;
  --bg-deep:#121416;
  --bg-footer:#15181A;
  --text-primary:#F2F1ED;
  --text-secondary:rgba(255,255,255,.88);
  --text-muted:#A8ABAC;
  --silver:#D5D6D4;
  --silver-dark:#6F7476;
  --accent:#B89A68;
  --accent-hover:#CCB17E;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg-main);
  color:var(--text-primary);
  font-family:var(--sans);
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,video{display:block;max-width:100%;}
html,body{overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
.container{max-width:1360px;margin:0 auto;}
.site-header{
  position:absolute;
  top:0;left:0;right:0;
  height:88px;
  padding:0 48px;
  background:transparent;
  z-index:50;
}
.header-inner{
  max-width:1360px;
  margin:0 auto;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.wordmark{
  display:flex;
  align-items:center;
  gap:12px;
  width:150px;
  flex-shrink:0;
}
.wordmark .wm-lockup{height:34px;width:auto;display:block;}
.wordmark .wm-text{
  font-family:var(--sans);
  font-size:19px;
  font-weight:400;
  letter-spacing:.34em;
  color:var(--text-primary);
  line-height:1;
  margin-right:-.34em;
}
.mobile-menu .wordmark .wm-lockup{height:26px;}
.mobile-menu .wordmark .wm-text{font-size:15px;}
.footer-brand .wm-logo-full{height:84px;width:auto;display:block;}
.main-nav{
  display:flex;
  align-items:center;
  gap:48px;
}
.main-nav a{
  font-size:12px;
  font-weight:400;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--text-primary);
  transition:color .2s ease;
}
.main-nav a:hover{color:var(--silver);}
.inquire-link{
  font-size:12px;
  font-weight:400;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--text-primary);
  padding:12px 24px;
  border:1px solid rgba(242,241,237,.55);
  background:transparent;
  transition:border-color .2s ease, color .2s ease;
  flex-shrink:0;
}
.inquire-link:hover{border-color:rgba(242,241,237,.9);}
.menu-toggle{
  display:none;
  background:none;
  border:none;
  cursor:pointer;
  font-family:var(--sans);
  font-size:12px;
  font-weight:400;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-primary);
  padding:12px 0 12px 12px;
}
a:focus-visible,button:focus-visible{outline:1px solid var(--silver);outline-offset:3px;}
.mobile-menu{
  position:fixed;
  inset:0;
  background:var(--bg-main);
  z-index:100;
  display:none;
  flex-direction:column;
  padding:0 22px 48px;
}
.mobile-menu.open{display:flex;}
.mobile-menu-top{
  height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.mobile-menu nav{
  margin-top:48px;
  display:flex;
  flex-direction:column;
}
.mobile-menu nav a{
  font-family:var(--serif);
  font-size:34px;
  font-weight:300;
  line-height:1.6;
  color:var(--text-primary);
}
.mobile-menu .inquire-link{
  align-self:flex-start;
  margin-top:40px;
}
.hero{position:relative;background:var(--bg-deep);}
.hero video,
.hero img.hero-fallback{
  width:100%;
  height:clamp(560px, 56vw, 820px);
  object-fit:cover;
  object-position:center bottom; /* crop from the sky only — the car,
                                    tarmac and reflections are never cut */
  display:block;
}
.text-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--sans);
  font-size:13px;
  font-weight:500;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--silver);
  transition:color .2s ease;
}
.text-link .arrow{
  display:inline-block;
  transition:transform .3s ease;
  font-weight:400;
}
.text-link:hover{color:var(--accent-hover);}
.text-link:hover .arrow{transform:translateX(4px);}
.products{
  background:var(--bg-main);
  padding:72px 48px 96px;
}
.products-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  column-gap:28px;
  max-width:1360px;
  margin:0 auto;
}
.product .product-img-link{display:block;}
.product img{
  width:100%;
  aspect-ratio:1.27/1;
  object-fit:cover;
  transition:opacity .2s ease;
}
.product .product-img-link:hover img{opacity:.92;}
.product h2{
  margin-top:28px;
  font-family:var(--sans);
  font-size:21px;
  font-weight:400;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--text-primary);
  line-height:1.2;
}
.product p{
  margin-top:16px;
  font-size:16px;
  font-weight:300;
  line-height:1.7;
  color:var(--text-secondary);
  max-width:310px;
}
.product .text-link{margin-top:26px;}
.luxury{
  position:relative;
  background:var(--bg-deep);
}
.luxury .section-bg{
  width:100%;
  height:auto;
}
.luxury::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(18,20,22,.88) 0%,
    rgba(18,20,22,.55) 28%,
    rgba(18,20,22,0) 60%);
}
.luxury-inner{
  position:absolute;
  inset:0;
  max-width:1456px;
  margin:0 auto;
  display:flex;
  align-items:center;
  padding:0 48px;
}
.luxury-copy{max-width:420px;position:relative;}
.luxury-copy p{max-width:340px;}
.luxury h2{
  font-family:var(--serif);
  text-transform:uppercase;
  font-size:49px;
  font-weight:300;
  line-height:.98;
  letter-spacing:.01em;
  color:var(--text-primary);
}
.luxury p{
  margin-top:24px;
  font-size:16px;
  font-weight:300;
  line-height:1.6;
  color:rgba(255,255,255,.92);
}
.luxury .text-link{margin-top:28px;}
.experience{
  position:relative;
  background:var(--bg-deep);
}
.experience .section-bg{
  width:100%;
  height:auto;
}
.experience::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(18,20,22,.82) 0%,
    rgba(18,20,22,.5) 30%,
    rgba(18,20,22,0) 55%);
}
.experience-inner{
  position:absolute;
  inset:0;
  max-width:1456px;
  margin:0 auto;
  display:flex;
  align-items:center;
  padding:0 48px;
}
.experience-copy{max-width:420px;position:relative;}
.experience h2{
  font-family:var(--serif);
  text-transform:uppercase;
  font-size:40px;
  font-weight:300;
  letter-spacing:.025em;
  color:var(--text-primary);
}
.experience p{
  margin-top:16px;
  font-size:16px;
  font-weight:300;
  line-height:1.6;
  color:rgba(255,255,255,.92);
}
.experience .text-link{margin-top:24px;}
.site-footer{
  background:var(--bg-footer);
  padding:56px 48px 42px;
  min-height:230px;
}
.footer-inner{max-width:1360px;margin:0 auto;}
.footer-top{
  display:flex;
  align-items:flex-start;
  gap:64px;
}
.footer-brand{flex-shrink:0;width:190px;}
.footer-brand .wordmark{width:auto;}
.footer-tagline{
  margin-top:14px;
  font-size:11px;
  font-weight:400;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--silver-dark);
}
.footer-nav{
  flex:1;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  column-gap:32px;
}
.footer-col h3{
  font-family:var(--sans);
  font-size:12px;
  font-weight:500;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--silver);
  margin-bottom:12px;
}
.footer-col a{
  display:block;
  font-size:13px;
  font-weight:300;
  line-height:2;
  color:var(--text-muted);
  transition:color .2s ease;
}
.footer-col a:hover{color:var(--text-secondary);}
.footer-legal-copy{
  margin-top:48px;
  font-size:12px;font-weight:300;line-height:1.8;color:var(--text-muted);
  max-width:88ch;
}
.footer-legal-copy p + p{margin-top:8px;}
.footer-bottom{
  margin-top:48px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  font-weight:300;
  color:var(--text-muted);
}
.footer-legal{display:flex;gap:32px;}
.footer-legal a{color:var(--text-muted);transition:color .2s ease;}
.footer-legal a:hover{color:var(--text-secondary);}
.main-nav{display:flex;align-items:center;gap:48px;}
.inquire-link{
  font-size:12px;
  font-weight:400;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--text-primary);
  padding:12px 24px;
  border:1px solid rgba(242,241,237,.55);
  background:transparent;
  transition:border-color .2s ease;
  flex-shrink:0;
}
.mobile-menu{
  position:fixed;inset:0;background:var(--bg-main);z-index:100;
  display:none;flex-direction:column;padding:0 22px 48px;
}
.mobile-menu-top{height:68px;display:flex;align-items:center;justify-content:space-between;}
.mobile-menu nav{margin-top:48px;display:flex;flex-direction:column;}
.mobile-menu .inquire-link{align-self:flex-start;margin-top:40px;}
.text-link{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);
  font-size:13px;font-weight:500;letter-spacing:.10em;text-transform:uppercase;
  color:var(--silver);
  transition:color .2s ease;
}
.text-link .arrow{display:inline-block;transition:transform .3s ease;font-weight:400;}
.j1-hero{position:relative;background:var(--bg-deep);}
.j1-hero .section-bg{width:100%;height:auto;}
.j1-hero video.section-bg{
  width:100%;
  height:clamp(540px, 52vw, 780px);
  object-fit:cover;
  object-position:center center;
  background:var(--bg-deep);
}
.j1-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,
    rgba(18,20,22,.92) 0%,
    rgba(18,20,22,.35) 30%,
    rgba(18,20,22,0) 55%);
}
.j1-hero-inner{
  position:absolute;inset:0;
  max-width:1456px;margin:0 auto;
  display:flex;align-items:flex-end;
  padding:0 48px 72px;
}
.j1-hero h1{
  font-family:var(--serif);
  text-transform:uppercase;
  font-size:64px;
  font-weight:300;
  line-height:1;
  letter-spacing:.01em;
}
.j1-hero .tagline{
  margin-top:18px;
  font-size:16px;
  font-weight:300;
  line-height:1.6;
  color:rgba(255,255,255,.92);
  max-width:44ch;
}
.stat-diamonds{display:flex;gap:20px;}
.stat-d{
  width:148px;height:148px;
  position:relative;
  display:grid;place-items:center;
  flex-shrink:0;
}
.stat-d::before{
  content:"";
  position:absolute;
  width:100px;height:100px;
  border:1px solid rgba(213,214,212,.5);
  transform:rotate(45deg);
}
.stat-d-inner{position:relative;text-align:center;}
.stat-d-inner .v{
  display:block;
  font-family:var(--serif);
  font-size:30px;font-weight:300;line-height:1;
  color:var(--text-primary);
}
.stat-d-inner .v em{font-style:normal;font-size:15px;color:var(--text-secondary);margin-left:3px;}
.stat-d-inner .l{
  display:block;margin-top:8px;
  font-size:10px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;
  color:var(--text-secondary);
}
.j1-hero .stat-diamonds{display:none;}
.stats-band{background:var(--bg-main);padding:56px 22px;}
.stats-band .stat-diamonds{
  max-width:1360px;margin:0 auto;
  justify-content:center;flex-wrap:wrap;
}
.editorial{background:var(--bg-main);padding:24px 48px 96px;}
.editorial-inner{
  max-width:1360px;margin:0 auto;
  display:grid;grid-template-columns:5fr 7fr;column-gap:64px;align-items:start;
}
.editorial h2{
  font-family:var(--serif);
  text-transform:uppercase;
  font-size:40px;
  font-weight:300;
  line-height:1.05;
  letter-spacing:.01em;
}
.editorial .body{
  font-size:16px;font-weight:300;line-height:1.75;color:var(--text-secondary);
  max-width:62ch;
}
.editorial .body p + p{margin-top:20px;}
.full-image{background:var(--bg-deep);}
.full-image img{width:100%;height:auto;}
.features{background:var(--bg-deep);padding:96px 48px;}
.features-inner{max-width:1360px;margin:0 auto;}
.features h2{
  font-family:var(--serif);
  text-transform:uppercase;
  font-size:40px;font-weight:300;line-height:1.05;
  max-width:520px;
}
.features .lede{
  margin-top:20px;
  font-size:16px;font-weight:300;line-height:1.7;color:var(--text-secondary);
  max-width:62ch;
}
.feature-list{
  margin-top:64px;
  display:grid;grid-template-columns:repeat(2,1fr);
  column-gap:64px;row-gap:64px;
}
.feature-media{
  width:100%;
  margin-bottom:24px;
  background:transparent;
}
.feature-media img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:contain;      /* full render always visible, nothing cropped */
  background:#FFFFFF;      /* temporary: matches the white-background renders so each
                              image sits in one clean white box; remove when
                              transparent/dark product renders are supplied */
}
.feature-media iframe{
  width:100%;
  aspect-ratio:16/9;
  border:0;
  display:block;
}
.feature h3{
  font-family:var(--sans);
  font-size:16px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;
  color:var(--text-primary);
}
.feature p{
  margin-top:14px;
  font-size:15px;font-weight:300;line-height:1.75;color:var(--text-secondary);
  max-width:52ch;
}
.process{background:var(--bg-main);padding:96px 48px;}
.process-inner{max-width:1360px;margin:0 auto;}
.process > .process-inner > h2{
  font-family:var(--serif);
  text-transform:uppercase;
  font-size:40px;font-weight:300;line-height:1.05;
}
.process-steps{
  margin-top:64px;
  display:grid;grid-template-columns:repeat(3,1fr);column-gap:48px;
}
.step h3{
  font-family:var(--serif);
  font-size:28px;font-weight:300;
  color:var(--text-primary);
}
.step p{
  margin-top:16px;
  font-size:15px;font-weight:300;line-height:1.75;color:var(--text-secondary);
}
.step p + p{margin-top:14px;}
.apply{background:var(--bg-deep);padding:96px 48px 112px;}
.apply-inner{
  max-width:1360px;margin:0 auto;
  display:grid;grid-template-columns:5fr 7fr;column-gap:96px;align-items:start;
}
.apply h2{
  font-family:var(--serif);
  text-transform:uppercase;
  font-size:40px;font-weight:300;line-height:1.05;
}
.apply .terms{
  margin-top:24px;
  font-size:15px;font-weight:300;line-height:1.8;color:var(--text-secondary);
}
.apply .terms p + p{margin-top:16px;}
.apply .confidence{
  margin-top:24px;
  font-size:13px;font-weight:400;letter-spacing:.10em;text-transform:uppercase;
  color:var(--text-muted);
}
.apply-form label.field-label,
.apply-form .group-label{
  display:block;
  font-size:13px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;
  color:var(--silver);
  margin-bottom:10px;
}
.apply-form .field{margin-bottom:36px;}
.apply-form input[type=text],
.apply-form input[type=email],
.apply-form input[type=tel],
.apply-form textarea{
  width:100%;
  background:transparent;
  border:none;
  border-bottom:1px solid rgba(213,214,212,.35);
  color:var(--text-primary);
  font-family:var(--sans);
  font-size:16px;font-weight:300;
  padding:10px 0;
  transition:border-color .2s ease;
}
.apply-form input:focus,
.apply-form textarea:focus{outline:none;border-bottom-color:var(--silver);}
.apply-form textarea{resize:vertical;min-height:90px;}
.apply-form .hint{
  margin-top:-28px;margin-bottom:36px;
  font-size:14px;color:var(--text-muted);
}
.brand-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  column-gap:24px;row-gap:14px;
  margin-bottom:36px;
}
.brand-grid label{
  display:flex;align-items:center;gap:10px;
  font-size:15px;font-weight:300;color:var(--text-secondary);
  cursor:pointer;
}
.brand-grid input[type=checkbox]{
  appearance:none;
  width:14px;height:14px;
  border:1px solid rgba(213,214,212,.5);
  background:transparent;
  cursor:pointer;
  flex-shrink:0;
  display:inline-grid;place-content:center;
}
.brand-grid input[type=checkbox]::before{
  content:"";width:8px;height:8px;background:var(--silver);
  transform:scale(0);transition:transform .15s ease;
}
.brand-grid input[type=checkbox]:checked::before{transform:scale(1);}
.apply-form .legal-note{
  font-size:13px;color:var(--text-muted);line-height:1.7;
  margin-bottom:36px;
}
.apply-form .legal-note a{color:var(--text-secondary);border-bottom:1px solid rgba(182,184,184,.4);}
.submit-btn{
  font-family:var(--sans);
  font-size:13px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;
  color:var(--text-primary);
  padding:14px 32px;
  border:1px solid rgba(242,241,237,.55);
  background:transparent;
  cursor:pointer;
  transition:border-color .2s ease;
}
.submit-btn:hover{border-color:rgba(242,241,237,.9);}
.site-footer{background:var(--bg-footer);padding:56px 48px 42px;min-height:230px;}
.footer-top{display:flex;align-items:flex-start;gap:64px;}
.footer-tagline{
  margin-top:14px;
  font-size:11px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;
  color:var(--silver-dark);
}
.footer-nav{flex:1;display:grid;grid-template-columns:repeat(6,1fr);column-gap:32px;}
.footer-col h3{
  font-family:var(--sans);
  font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;
  color:var(--silver);
  margin-bottom:12px;
}
.footer-col a{
  display:block;
  font-size:13px;font-weight:300;line-height:2;
  color:var(--text-muted);
  transition:color .2s ease;
}
.footer-bottom{
  margin-top:32px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:12px;font-weight:300;color:var(--text-muted);
}
.apply{background:#E2E3E1;}
.apply h2{color:#121416;}
.apply .terms,.apply .terms p{color:rgba(0,0,0,.82);}
.apply .confidence{color:rgba(0,0,0,.6);}
.apply .apply-form label.field-label,
.apply .apply-form .group-label{color:#2A2D2F;}
.apply .apply-form input[type=text],
.apply .apply-form input[type=email],
.apply .apply-form input[type=tel],
.apply .apply-form textarea{
  color:#121416;
  border-bottom-color:rgba(0,0,0,.35);
}
.apply .apply-form input:focus,
.apply .apply-form textarea:focus{border-bottom-color:#121416;}
.apply .apply-form .hint{color:rgba(0,0,0,.55);}
.apply .brand-grid label{color:rgba(0,0,0,.78);}
.apply .brand-grid input[type=checkbox]{border-color:rgba(0,0,0,.45);}
.apply .brand-grid input[type=checkbox]::before{background:#121416;}
.apply .apply-form .legal-note{color:rgba(0,0,0,.55);}
.apply .apply-form .legal-note a{color:rgba(0,0,0,.75);border-bottom-color:rgba(0,0,0,.35);}
.apply .submit-btn{color:#121416;border-color:rgba(18,20,22,.55);}
.apply .submit-btn:hover{border-color:#121416;}
.req{color:var(--text-muted);font-weight:300;margin-left:4px;}
.apply .req{color:rgba(0,0,0,.5);}
.apply-form select{
  width:100%;
  background:transparent;
  border:none;
  border-bottom:1px solid rgba(213,214,212,.35);
  color:var(--text-primary);
  font-family:var(--sans);
  font-size:16px;font-weight:300;
  padding:10px 0;
  transition:border-color .2s ease;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' stroke='%23B6B8B8' fill='none'/></svg>");
  background-repeat:no-repeat;background-position:right 2px center;
  border-radius:0;
}
.apply-form select:focus{outline:none;border-bottom-color:var(--silver);}
.apply-form select option{background:#191C1E;color:#F2F1ED;}
.phone-row{display:flex;gap:16px;align-items:flex-end;}
.phone-row select{width:190px;flex-shrink:0;}
.phone-row input{flex:1;}
.phone-prefix{flex-shrink:0;padding-bottom:10px;color:var(--text-muted);font-size:16px;white-space:nowrap;}
.phone-prefix:empty{display:none;}
.jp-hero{position:relative;background:var(--bg-deep);}
.jp-hero .section-bg{width:100%;height:auto;}
.jp-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(18,20,22,.82) 0%,
    rgba(18,20,22,.38) 22%,
    rgba(18,20,22,0) 45%);
}
.jp-hero-inner{
  position:absolute;inset:0;
  max-width:1456px;margin:0 auto;
  display:flex;align-items:flex-start;
  padding:128px 48px 0;
}
.jp-hero h1{
  font-family:var(--serif);
  text-transform:uppercase;
  font-size:64px;font-weight:300;line-height:1;letter-spacing:.01em;
}
.jp-hero .tagline{
  margin-top:18px;
  font-size:16px;font-weight:300;line-height:1.6;color:rgba(255,255,255,.92);max-width:52ch;
}
.systems{background:var(--bg-main);padding:96px 48px;}
.systems-inner{max-width:1360px;margin:0 auto;}
.systems h2{
  font-family:var(--serif);text-transform:uppercase;
  font-size:40px;font-weight:300;line-height:1.05;
}
.systems .lede{
  margin-top:20px;
  font-size:16px;font-weight:300;line-height:1.7;color:var(--text-secondary);
  max-width:62ch;
}
.systems .feature-list{margin-top:64px;}
.feature-list.cols-3{grid-template-columns:repeat(3,1fr);column-gap:48px;}
.crystal{background:var(--bg-main);padding:96px 48px;}
.crystal-inner{
  max-width:1360px;margin:0 auto;
  display:grid;grid-template-columns:5fr 7fr;column-gap:64px;align-items:start;
}
.crystal{background:#FFFFFF;}
.crystal h2{color:#121416 !important;}
.crystal .body,
.crystal .body p{color:rgba(0,0,0,.84) !important;}
.apply .terms,
.apply .terms p{color:rgba(0,0,0,.82);}
.apply .text-link{color:#43474A;}
.apply .text-link:hover{color:#8A6F3E;}
.apply .apply-form input[type=text],
.apply .apply-form input[type=email],
.apply .apply-form input[type=tel],
.apply .apply-form textarea,
.apply .apply-form select{
  color:#121416;
  border-bottom-color:rgba(0,0,0,.35);
}
.apply .apply-form input:focus,
.apply .apply-form textarea:focus,
.apply .apply-form select:focus{border-bottom-color:#121416;}
.apply .apply-form select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' stroke='%233A3D3F' fill='none'/></svg>");
}
.apply .apply-form select option{background:#FFFFFF;color:#121416;}
.apply .submit-btn{
  color:#121416;
  border-color:rgba(18,20,22,.55);
}
.products-grid.two-up{grid-template-columns:repeat(2,1fr);max-width:920px;}
.form-status{margin-top:18px;font-size:15px;font-weight:300;min-height:1.2em;}
.apply .form-status{color:rgba(0,0,0,.75);}
.form-status.err{color:#8A2F2B;}
.hp-field{position:absolute;left:-9999px;top:auto;height:1px;width:1px;overflow:hidden;}
.page-title{background:var(--bg-main);padding:160px 48px 24px;}
.page-title-inner{max-width:1360px;margin:0 auto;}
.page-title h1{font-family:var(--serif);text-transform:uppercase;font-size:56px;font-weight:300;line-height:1;letter-spacing:.01em;}
.page-title .tagline{margin-top:18px;font-size:16px;font-weight:300;line-height:1.6;color:rgba(255,255,255,.92);max-width:52ch;}

/* ================= MEDIA QUERIES ================= */

@media (prefers-reduced-motion: reduce){
html{scroll-behavior:auto;}
*,*::before,*::after{transition:none !important;animation:none !important;}
}

@media (max-width:1099px) and (min-width:769px){
.products-grid{grid-template-columns:repeat(3,1fr);column-gap:22px;}
.main-nav{gap:28px;}
.site-header{padding:0 32px;}
.products{padding:72px 32px 96px;}
.luxury-inner,.experience-inner{padding:0 32px;}
.luxury h2{font-size:40px;}
.luxury p{margin-top:16px;font-size:16px;}
.luxury .text-link{margin-top:20px;}
.experience h2{font-size:34px;}
.experience p{font-size:15px;}
.site-footer{padding:56px 32px 42px;}
.footer-nav{grid-template-columns:repeat(5,1fr);column-gap:24px;}
.footer-top{gap:36px;}
.footer-brand{width:150px;}
.j1-hero-inner{padding:0 32px 56px;}
.j1-hero h1{font-size:48px;}
.stats{padding:64px 32px;}
.stat .value{font-size:44px;}
.editorial{padding:16px 32px 80px;}
.editorial-inner{grid-template-columns:1fr;row-gap:24px;}
.features{padding:80px 32px;}
.process{padding:80px 32px;}
.process-steps{grid-template-columns:1fr;row-gap:48px;}
.apply{padding:80px 32px 96px;}
.apply-inner{grid-template-columns:1fr;row-gap:48px;}
.jp-hero-inner{padding:112px 32px 0;}
.jp-hero h1{font-size:48px;}
.systems{padding:80px 32px;}
.feature-list.cols-3{grid-template-columns:1fr;row-gap:48px;}
.crystal{padding:80px 32px;}
.crystal-inner{grid-template-columns:1fr;row-gap:24px;}
}

@media (min-width:1100px){
.j1-hero-inner{justify-content:space-between;}
.j1-hero .stat-diamonds{display:flex;margin-bottom:-16px;}
.stats-band{display:none;}
}

@media (max-width:768px){
.site-header{
    height:68px;
    padding:0 22px;
  }
.wordmark{width:auto;}
.wordmark .wm-lockup{height:26px;}
.wordmark .wm-text{font-size:15px;}
.main-nav{display:none;}
.site-header .inquire-link{display:none;}
.menu-toggle{display:block;}
.hero{padding-top:68px;background:var(--bg-deep);}
.products{padding:56px 22px 72px;}
.products-grid{
    grid-template-columns:1fr;
    row-gap:64px;
  }
.product img{aspect-ratio:1.2/1;}
.product h2{margin-top:22px;font-size:20px;}
.product p{margin-top:14px;font-size:15px;line-height:1.65;max-width:none;}
.product .text-link{margin-top:22px;}
.luxury::before,
  .experience::before{display:none;}
.luxury-inner,
  .experience-inner{
    position:static;
    display:block;
    padding:32px 22px 56px;
  }
.luxury-copy,
  .experience-copy{max-width:none;}
.luxury h2{font-size:36px;line-height:1.02;}
.luxury p{font-size:15px;line-height:1.65;max-width:none;}
.experience h2{font-size:32px;}
.site-footer{padding:48px 22px 32px;}
.footer-brand{width:auto;}
.footer-nav{
    grid-template-columns:1fr 1fr;
    column-gap:30px;
    row-gap:36px;
  }
.footer-bottom{
    margin-top:40px;
    flex-direction:column;
    align-items:flex-start;
    gap:32px;
  }
.site-header{height:68px;padding:0 22px;}
.j1-hero{padding-top:68px;}
.j1-hero-inner{padding:0 22px 20px;}
.j1-hero h1{font-size:30px;}
.j1-hero .tagline{margin-top:8px;font-size:14px;}
.stats{padding:48px 22px;}
.stats-grid{grid-template-columns:1fr 1fr;row-gap:40px;}
.stat .value{font-size:42px;}
.stat .value span{font-size:16px;}
.stat .label{margin-top:10px;font-size:12px;}
.editorial{padding:8px 22px 72px;}
.editorial-inner{grid-template-columns:1fr;row-gap:20px;}
.editorial h2{font-size:32px;}
.editorial .body{font-size:15px;}
.features{padding:72px 22px;}
.features h2{font-size:32px;}
.features .lede{font-size:16px;}
.feature-list{margin-top:48px;grid-template-columns:1fr;row-gap:48px;}
.process{padding:72px 22px;}
.process > .process-inner > h2{font-size:32px;}
.process-steps{margin-top:48px;grid-template-columns:1fr;row-gap:48px;}
.apply{padding:72px 22px 88px;}
.apply h2{font-size:32px;}
.brand-grid{grid-template-columns:1fr 1fr;}
.stats-band{padding:36px 10px;}
.stats-band .stat-diamonds{flex-wrap:nowrap;justify-content:center;gap:0;}
.stats-band .stat-d{width:90px;height:90px;margin:0 -5px;}
.stats-band .stat-d::before{width:72px;height:72px;}
.stats-band .stat-d-inner .v{font-size:19px;}
.stats-band .stat-d-inner .v em{font-size:11px;margin-left:2px;}
.stats-band .stat-d-inner .l{margin-top:4px;font-size:8px;letter-spacing:.08em;}
.footer-nav{grid-template-columns:1fr 1fr;column-gap:30px;row-gap:36px;}
.footer-bottom{margin-top:32px;flex-direction:column;align-items:flex-start;gap:32px;}
.phone-row{flex-direction:row;}
.phone-row select{width:150px;}
.jp-hero{padding-top:68px;}
.jp-hero-inner{padding:84px 22px 0;}
.jp-hero h1{font-size:30px;}
.jp-hero .tagline{margin-top:8px;font-size:14px;}
.systems{padding:72px 22px;}
.systems h2{font-size:32px;}
.systems .lede{font-size:15px;}
.systems .feature-list{margin-top:48px;}
.crystal{padding:72px 22px;}
.crystal-inner{grid-template-columns:1fr;row-gap:20px;}
.page-title{padding:110px 22px 8px;}
.page-title h1{font-size:34px;}
.page-title .tagline{font-size:16px;}
}

@media (max-width:768px){
  .hero{padding-top:0;}
  .hero{overflow:hidden;}
  .hero video,
  .hero img.hero-fallback{
    width:100%;max-width:100%;
    height:68vh;height:68dvh;min-height:520px;max-height:680px;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:30% center; /* J1 + aircraft */
  }
  .j1-hero{padding-top:0;}
  .j1-hero video.section-bg,
  .j1-hero img.section-bg{
    height:66vh;height:66dvh;min-height:500px;max-height:660px;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:26% center; /* the J1 */
    width:100%;
  }
  .j1-hero-inner{padding:0 22px 24px;}
  .jp-hero{padding-top:0;}
  .jp-hero .section-bg{
    height:66vh;height:66dvh;min-height:500px;max-height:660px;
    object-fit:cover;
    object-position:40% center; /* the unit's open core */
    width:100%;
  }
  .jp-hero-inner{padding:96px 22px 0;}

  .luxury{position:relative;min-height:620px;}
  .luxury .section-bg{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;object-position:64% 38%;
    z-index:0;
  }
  .luxury::before{
    display:block;content:"";position:absolute;inset:0;pointer-events:none;
    z-index:1;
    background:
      linear-gradient(0deg,
        rgba(18,20,22,.97) 0%,
        rgba(18,20,22,.9) 32%,
        rgba(18,20,22,.55) 54%,
        rgba(18,20,22,.05) 76%),
      linear-gradient(105deg,
        rgba(18,20,22,.55) 0%,
        rgba(18,20,22,0) 45%);
  }
  .luxury-inner{
    position:relative;z-index:2;display:flex;align-items:flex-end;
    min-height:620px;padding:22px;
  }
  .luxury-copy{padding-bottom:10px;max-width:32ch;}
  .luxury-copy h2,.luxury-copy p,.experience-copy h2,.experience-copy p{
    text-shadow:0 1px 14px rgba(18,20,22,.6);
  }
  .luxury h2{font-size:30px;}
  .luxury p{max-width:30ch;}

  .experience{position:relative;min-height:520px;}
  .experience .section-bg{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;object-position:52% 42%;
    z-index:0;
  }
  .experience::before{
    display:block;content:"";position:absolute;inset:0;pointer-events:none;
    z-index:1;
    background:
      linear-gradient(0deg,
        rgba(18,20,22,.97) 0%,
        rgba(18,20,22,.88) 32%,
        rgba(18,20,22,.5) 55%,
        rgba(18,20,22,.05) 76%),
      linear-gradient(105deg,
        rgba(18,20,22,.5) 0%,
        rgba(18,20,22,0) 45%);
  }
  .experience-inner{
    position:relative;z-index:2;display:flex;align-items:flex-end;
    min-height:520px;padding:22px 22px 40px;
  }
  .experience-copy{max-width:30ch;}
  .experience h2{font-size:26px;}
}


/* ============================================================
   MOBILE REASSERTIONS — rules that exist in both the tablet and
   mobile queries were collapsed during dedupe, dropping the
   mobile copies. Re-asserted here; keep this block last.
   ============================================================ */
@media (max-width:768px){
  .footer-top{flex-direction:column;gap:40px;}
  .footer-brand{width:auto;}
  .footer-nav{grid-template-columns:1fr 1fr;column-gap:30px;row-gap:36px;}
  .footer-bottom{margin-top:40px;flex-direction:column;align-items:flex-start;gap:32px;}
  .apply-inner{grid-template-columns:1fr;row-gap:48px;}
  .process-steps{grid-template-columns:1fr;row-gap:48px;}
  .feature-list{grid-template-columns:1fr;row-gap:48px;}
  .feature-list.cols-3{grid-template-columns:1fr;row-gap:48px;}
  .editorial-inner{grid-template-columns:1fr;row-gap:20px;}
  .crystal-inner{grid-template-columns:1fr;row-gap:20px;}
  .stats-grid{grid-template-columns:1fr 1fr;row-gap:40px;}
}


/* ============================================================
   MOBILE VIDEO: FULL FRAME — per Ari, the hero videos on phones
   show the complete 16:9 frame, never cropped. Photo sections
   keep the overlay treatment. Keep this block last.
   ============================================================ */
@media (max-width:768px){
  .hero{padding-top:68px;background:var(--bg-deep);}
  .hero video,
  .hero img.hero-fallback{
    height:auto;
    aspect-ratio:16/9;
    min-height:0;
    max-height:none;
    object-fit:contain;
    object-position:center center;
  }
  .j1-hero{padding-top:68px;}
  .j1-hero video.section-bg{
    height:auto;
    aspect-ratio:16/9;
    min-height:0;
    max-height:none;
    object-fit:contain;
    object-position:center center;
  }
  .j1-hero-inner{padding:0 22px 12px;}
  .j1-hero h1{font-size:24px;}
  .j1-hero .tagline{margin-top:4px;font-size:13px;}
}


/* ============================================================
   MOBILE PHOTO SECTIONS: copy anchored TOP-LEFT over open sky,
   top-down gradient for legibility — the car stays unobstructed
   in the lower half. Keep this block last.
   ============================================================ */
@media (max-width:768px){
  .luxury{min-height:740px;}
  .luxury .section-bg{object-position:72% center;}
  .luxury::before{
    background:linear-gradient(180deg,
      rgba(18,20,22,.92) 0%,
      rgba(18,20,22,.62) 42%,
      rgba(18,20,22,.04) 72%);
  }
  .luxury-inner{
    min-height:740px;
    align-items:flex-start;
    padding:36px 22px 22px;
  }
  .luxury-copy{padding-bottom:0;}

  .experience{min-height:560px;}
  .experience .section-bg{object-position:42% center;}
  .experience::before{
    background:linear-gradient(180deg,
      rgba(18,20,22,.92) 0%,
      rgba(18,20,22,.55) 38%,
      rgba(18,20,22,.02) 68%);
  }
  .experience-inner{
    min-height:560px;
    align-items:flex-start;
    padding:36px 22px 22px;
  }
}


/* ---- Press strip (Jetspeed) ----
   One row above mobile (logos scale with viewport); two rows on mobile. */
.press-strip{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:nowrap;align-items:center;
  column-gap:clamp(14px, 2.4vw, 44px);
}
.press-strip li{line-height:0;}
.press-strip .press-logo{
  height:clamp(9px, 1.35vw, 20px);
  width:auto;display:block;
  opacity:.72;transition:opacity .2s ease;
}
.press-strip li:hover .press-logo{opacity:.95;}
@media (max-width:768px){
  .press-strip{
    flex-wrap:wrap;justify-content:center;
    column-gap:10px;row-gap:16px;
  }
  .press-strip .press-logo{height:10px;}
  /* pack order so nine marks land in two balanced rows */
  .press-strip li:nth-child(1){order:1;} /* ny post */
  .press-strip li:nth-child(2){order:2;} /* sun */
  .press-strip li:nth-child(4){order:3;} /* pravda */
  .press-strip li:nth-child(3){order:4;} /* mako */
  .press-strip li:nth-child(5){order:5;} /* spa */
  .press-strip li:nth-child(8){order:6;} /* ttw */
  .press-strip li:nth-child(6){order:7;} /* la razon */
  .press-strip li:nth-child(9){order:8;} /* vc */
  .press-strip li:nth-child(7){order:9;} /* 360 */
}
@media (max-width:384px){
  .press-strip .press-logo{height:9px;}
  .press-strip{column-gap:9px;}
}

.press-section{background:var(--bg-main);padding:0 48px 88px;}
@media (max-width:1099px) and (min-width:769px){ .press-section{padding:0 32px 72px;} }
@media (max-width:768px){ .press-section{padding:0 22px 64px;} }
