/* GEM shared site styles (inner pages) */
:root{
  --gem-orange:#eb8a35; --gem-burnt:#e86630; --gem-gold:#d59e51; --gem-brick:#994437; --gem-slate:#476163;
  --ink:#1a1a1a; --ink-2:#3a3735; --ink-3:#6b655f; --ink-4:#9a938b;
  --line:#e4ded5; --line-2:#d4ccc0;
  --paper:#fff; --paper-warm:#faf7f2; --paper-warm2:#f3ede4; --char:#211f1d; --char-2:#1f1b17;
  --radius:3px; --font:'Archivo',system-ui,sans-serif;
  --maxw:1280px; --ease:cubic-bezier(.16,.84,.44,1);
  --shadow-md:0 8px 24px rgba(26,26,26,.08), 0 24px 54px rgba(26,26,26,.08);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:var(--font); color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased; line-height:1.5;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 40px;}
::selection{background:var(--gem-orange); color:#fff;}
.eyebrow{font-weight:700; font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gem-burnt); margin:0; display:inline-flex; align-items:center; gap:.7em;}
.eyebrow .dia{width:.5em; height:.5em; background:var(--gem-orange); transform:rotate(45deg); border-radius:8%;}
.eyebrow.on-img{color:var(--gem-orange);}
.display{font-weight:800; letter-spacing:-.025em; line-height:.98; text-transform:uppercase; margin:0;}
.display .o{color:var(--gem-orange);}
h1,h2,h3,h4{font-family:var(--font); font-weight:800; letter-spacing:-.01em; margin:0;}
p{margin:0;}
.dia{display:inline-block; width:.6em; height:.6em; background:var(--gem-orange); transform:rotate(45deg); border-radius:8%; vertical-align:middle;}
.btn{font-weight:700; font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; display:inline-flex; align-items:center; gap:.6em; padding:1.05em 1.7em; border-radius:var(--radius); border:1.5px solid transparent; cursor:pointer; transition:transform .2s var(--ease), background .2s, color .2s, border-color .2s;}
.btn .ar{transition:transform .22s var(--ease);} .btn:hover .ar{transform:translateX(5px);}
.btn--orange{background:var(--gem-orange); color:var(--ink); border-color:var(--gem-orange);}
.btn--orange:hover{background:var(--gem-burnt); color:#fff; border-color:var(--gem-burnt); transform:translateY(-2px);}
.btn--lt{background:transparent; color:#fff; border-color:rgba(255,255,255,.45);}
.btn--lt:hover{background:#fff; color:var(--ink); border-color:#fff; transform:translateY(-2px);}
.btn--ghost{background:transparent; color:var(--ink); border-color:var(--line-2);}
.btn--ghost:hover{background:var(--ink); color:#fff; border-color:var(--ink); transform:translateY(-2px);}
.btn--sm{padding:.7em 1.1em; font-size:.72rem;}
.lockup{display:flex; align-items:center; gap:12px;}
.lockup img{height:40px; width:auto; background:#fff; border-radius:3px;}
.lockup .desc{font-weight:700; font-size:.64rem; line-height:1.2; letter-spacing:.2em; text-transform:uppercase;}
/* header */
header{position:fixed; top:0; left:0; right:0; z-index:60; background:rgba(21,18,15,.96); backdrop-filter:blur(10px); border-bottom:1px solid rgba(255,255,255,.1);}
header .wrap{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; height:72px;}
header .lockup{justify-self:start;} header .lockup .desc{color:#fff;}
.nav-links{display:flex; gap:30px; align-items:center; justify-self:center;}
.nav-links > a, .nav-item > a{position:relative; font-weight:700; font-size:.8rem; letter-spacing:.07em; text-transform:uppercase; color:#fff; padding:.3em 0; transition:color .15s;}
.nav-links > a::after, .nav-item > a::after{content:""; position:absolute; left:0; right:0; bottom:-3px; height:2px; background:var(--gem-orange); transform:scaleX(0); transform-origin:left; transition:transform .22s var(--ease);}
.nav-links > a:hover, .nav-item > a:hover{color:var(--gem-orange);}
.nav-links > a:hover::after, .nav-item > a:hover::after{transform:scaleX(1);}
.nav-item{position:relative; display:flex; align-items:center;}
.nav-item > a{display:inline-flex; align-items:center; gap:.5em;}
.caret{width:.38em; height:.38em; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .2s ease; opacity:.7;}
.nav-item:hover .caret, .nav-item:focus-within .caret{transform:rotate(225deg) translateY(0); opacity:1;}
.dropdown{position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px); min-width:280px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-md); padding:9px; margin-top:12px; opacity:0; visibility:hidden; transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s; z-index:70;}
.dropdown::before{content:""; position:absolute; top:-12px; left:0; right:0; height:12px;}
.nav-item:hover .dropdown, .nav-item:focus-within .dropdown{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
.dropdown a{display:flex; align-items:center; gap:.7em; padding:11px 14px; font-size:.82rem; font-weight:600; letter-spacing:0; text-transform:none; color:var(--ink-2); border-radius:2px; transition:background .15s, color .15s, padding-left .15s;}
.dropdown a .dia{width:.42em; height:.42em; opacity:.5;}
.dropdown a:hover{background:var(--paper-warm); color:var(--gem-burnt); padding-left:18px;}
.nav-cta{display:flex; align-items:center; gap:16px; justify-self:end;}
.nav-tel{font-weight:700; font-size:.84rem; color:#fff; white-space:nowrap;} .nav-tel:hover{color:var(--gem-orange);}
/* breadcrumb */
.crumb{display:flex; gap:.6em; align-items:center; font-size:.74rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:rgba(255,255,255,.7);}
.crumb a:hover{color:var(--gem-orange);} .crumb .sep{opacity:.5;}
/* page hero */
.page-hero{position:relative; color:#fff; overflow:hidden; padding:140px 0 64px; background:var(--char);}
.page-hero .bg{position:absolute; inset:0; z-index:0;}
.page-hero .bg img{width:100%; height:100%; object-fit:cover;}
.page-hero .bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(21,18,15,.78),rgba(21,18,15,.62) 60%,rgba(21,18,15,.92));}
.page-hero.ph .bg{background-image:repeating-linear-gradient(-45deg, #1f1b17 0 18px, #241f1a 18px 36px);}
.page-hero .wrap{position:relative; z-index:2;}
.page-hero .eyebrow{margin:22px 0 16px;}
.page-hero h1{font-size:clamp(2.4rem,5.4vw,4.4rem); max-width:18ch;}
.page-hero .lead{font-size:1.16rem; color:rgba(255,255,255,.9); max-width:52ch; margin:20px 0 0;}
.page-hero .hbtns{display:flex; gap:13px; margin-top:30px; flex-wrap:wrap;}
/* equipment grid (category page) */
.eq-section{padding:84px 0; background:var(--paper-warm);}
.eq-section .shead{margin:0 0 40px;}
.eq-section .shead .eyebrow{margin-bottom:14px;} .eq-section .shead h2{font-size:clamp(1.7rem,3vw,2.4rem);}
.eq-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.eq-card{position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s;}
.eq-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--line-2);}
.eq-card::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--gem-orange); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease);}
.eq-card:hover::before{transform:scaleX(1);}
.eq-card .ph{aspect-ratio:16/10; background-color:var(--paper-warm2); background-image:repeating-linear-gradient(-45deg, transparent 0 14px, rgba(153,68,55,.05) 14px 28px); display:flex; align-items:center; justify-content:center;}
.eq-card .ph span{font-family:var(--font); font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-4); border:1px dashed var(--line-2); background:rgba(255,255,255,.6); padding:.3em .6em;}
/* blank photo slot — clean branded watermark, no text */
.ph.blank, .detail .pic .frame.ph.blank{
  background-color:var(--paper-warm);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128' viewBox='0 0 128 128'%3E%3Crect x='28.7' y='28.7' width='70.6' height='70.6' rx='5.6' ry='5.6' fill='none' stroke='%23eb8a35' stroke-opacity='0.26' stroke-width='1.5' transform='rotate(45 64 64)'/%3E%3Crect x='48.5' y='48.5' width='31' height='31' rx='2.5' ry='2.5' fill='none' stroke='%23eb8a35' stroke-opacity='0.15' stroke-width='1.3' transform='rotate(45 64 64)'/%3E%3C/svg%3E");
  background-size:128px 128px; background-position:center; background-repeat:repeat;
  border:1px solid var(--line);
}
.detail .pic .frame.ph.blank{box-shadow:none;}
.ph.blank span, .detail .pic .frame.ph.blank span{display:none;}
.eq-card .b{padding:22px 24px 24px; display:flex; flex-direction:column; flex:1;}
.eq-card h3{font-size:1.16rem; text-transform:uppercase; letter-spacing:-.01em;}
.eq-card .sz{font-family:var(--font); font-size:.78rem; color:var(--gem-burnt); margin-top:7px;}
.eq-card p{color:var(--ink-3); font-size:.9rem; margin-top:10px;}
.eq-card .go{margin-top:auto; padding-top:16px; font-weight:700; font-size:.74rem; letter-spacing:.05em; text-transform:uppercase; color:var(--ink); display:inline-flex; align-items:center; gap:.5em;}
.eq-card:hover .go{color:var(--gem-burnt);}
/* equipment detail */
.detail{padding:80px 0; background:var(--paper);}
.detail .grid{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start;}
.detail .info .eyebrow{margin-bottom:14px;}
.detail .info h1{font-size:clamp(2rem,3.8vw,3rem);}
.detail .info .lead{color:var(--ink-2); font-size:1.1rem; margin:18px 0 0; line-height:1.6;}
.vtable{width:100%; border-collapse:collapse; margin-top:30px;}
.vtable thead th{background:var(--char); color:#fff; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; text-align:left; padding:12px 16px; font-weight:700;}
.vtable tbody td{padding:14px 16px; border-bottom:1px solid var(--line); font-size:.92rem; vertical-align:top;}
.vtable tbody tr:nth-child(even){background:var(--paper-warm);}
.vtable .vn{font-weight:800; letter-spacing:-.01em;}
.vtable .vs{font-family:var(--font); color:var(--gem-burnt); white-space:nowrap;}
.vtable .vd{color:var(--ink-3);}
.detail .actions{display:flex; gap:13px; margin-top:30px; flex-wrap:wrap;}
.detail .note{margin-top:22px; font-size:.88rem; color:var(--ink-3); display:flex; gap:.6em; align-items:flex-start;}
.detail .note .dia{margin-top:.35em; flex:none;}
.detail .pic{position:sticky; top:96px;}
.detail .pic .frame{aspect-ratio:4/3; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-md);}
.detail .pic .frame img{width:100%; height:100%; object-fit:cover;}
.detail .pic .frame.ph{background-color:var(--paper-warm2); background-image:repeating-linear-gradient(-45deg, transparent 0 16px, rgba(153,68,55,.05) 16px 32px); display:flex; align-items:center; justify-content:center; box-shadow:none; border:1px solid var(--line);}
.detail .pic .frame.ph span{font-family:var(--font); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-4); border:1px dashed var(--line-2); background:rgba(255,255,255,.6); padding:.4em .8em;}
.detail .pic .cap{display:none;}

/* applications */
.detail .eq-range{display:inline-flex; align-items:center; gap:.7em; margin-top:20px; font-weight:700; font-size:.9rem; color:var(--ink); background:rgba(235,138,53,.1); border-radius:var(--radius); padding:.7em 1.15em;}
.detail .eq-range .k{font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gem-burnt);}
.apps{margin-top:30px;}
.apps h4{font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3); font-weight:700; margin-bottom:14px;}
.apps ul{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:10px 24px;}
.apps li{position:relative; padding-left:1.3em; font-weight:600; font-size:.94rem; color:var(--ink-2);}
.apps li::before{content:""; position:absolute; left:0; top:.42em; width:.44em; height:.44em; background:var(--gem-orange); transform:rotate(45deg); border-radius:8%;}
@media (max-width:560px){ .apps ul{grid-template-columns:1fr;} }

/* related */
.related{padding:0 0 84px; background:var(--paper);}
.related .wrap{border-top:1px solid var(--line); padding-top:40px;}
.related .eyebrow{margin-bottom:20px;}
.related .chips{display:flex; flex-wrap:wrap; gap:10px;}
.related .chips a{font-weight:700; font-size:.8rem; letter-spacing:.02em; color:var(--ink-2); border:1.5px solid var(--line-2); border-radius:var(--radius); padding:.7em 1.1em; transition:all .15s;}
.related .chips a:hover{background:var(--ink); color:#fff; border-color:var(--ink);}
/* cta + footer */
.cta-band{position:relative; background:var(--gem-orange); color:var(--ink); overflow:hidden;}
.cta-band::before{content:""; position:absolute; right:-150px; top:50%; transform:translateY(-50%) rotate(45deg); width:400px; height:400px; border:1.5px solid rgba(26,26,26,.3); border-radius:16px; pointer-events:none;}
.cta-band::after{content:""; position:absolute; right:-90px; top:50%; transform:translateY(-50%) rotate(45deg); width:280px; height:280px; border:1.5px solid rgba(26,26,26,.2); border-radius:12px; pointer-events:none;}
.cta-band .wrap{position:relative; z-index:1; padding:70px 40px; display:flex; align-items:center; justify-content:space-between; gap:36px; flex-wrap:wrap;}
.cta-band h2{font-size:clamp(1.8rem,3.4vw,2.8rem); max-width:18ch;}
.cta-band .b{display:flex; gap:13px; flex-wrap:wrap;}
.cta-band .btn--line{background:transparent; border-color:rgba(26,26,26,.5); color:var(--ink);}
.cta-band .btn--line:hover{background:var(--ink); color:#fff; border-color:var(--ink);}
.cta-band .btn--ink{background:var(--ink); color:#fff; border-color:var(--ink);}
/* legal pages */
.legal-hero{padding:118px 0 44px; background:var(--char); color:#fff;}
.legal-hero .crumb{color:rgba(255,255,255,.6); margin-bottom:18px;}
.legal-hero .eyebrow{margin-bottom:14px;}
.legal-hero h1{font-size:clamp(2rem,4vw,3.2rem); text-transform:uppercase; letter-spacing:-.02em;}
.legal-hero .updated{margin-top:15px; font-size:.82rem; color:rgba(255,255,255,.55);}
.legal-body{padding:56px 0 84px; background:var(--paper);}
.legal-body .wrap{max-width:860px;}
.legal-body .intro{font-size:1.12rem; color:var(--ink); border-left:3px solid var(--gem-orange); padding-left:20px; margin-bottom:34px; line-height:1.65;}
.legal-body h2{font-size:1.12rem; text-transform:uppercase; letter-spacing:-.01em; margin:38px 0 12px; display:flex; align-items:center; gap:.6em;}
.legal-body h2 .dia{width:.5em; height:.5em; flex:none;}
.legal-body p{color:var(--ink-2); margin:0 0 14px; line-height:1.7;}
.legal-body ul{margin:0 0 16px; padding-left:0; list-style:none;}
.legal-body li{position:relative; padding-left:1.4em; margin-bottom:9px; color:var(--ink-2); line-height:1.6;}
.legal-body li::before{content:""; position:absolute; left:0; top:.55em; width:.4em; height:.4em; background:var(--gem-orange); transform:rotate(45deg); border-radius:8%;}
.legal-body a{color:var(--gem-burnt); font-weight:600;}
.foot-legal{display:flex; gap:14px; flex-wrap:wrap;}
.foot-legal a{color:#cabfb2;} .foot-legal a:hover{color:var(--gem-orange);}
footer{background:var(--char); color:#a99e90;}
footer .wrap{padding:52px 40px 34px;}
.foot-top{display:flex; justify-content:space-between; align-items:flex-start; gap:36px; flex-wrap:wrap; padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,.12);}
.foot-lockup{display:flex; align-items:center; gap:13px;}
.foot-lockup img{height:48px; border-radius:var(--radius);}
.foot-lockup .desc{font-weight:700; font-size:.66rem; line-height:1.2; letter-spacing:.2em; text-transform:uppercase; color:#fff;}
.foot-nav{display:flex; gap:26px; flex-wrap:wrap;}
.foot-nav a{color:#cabfb2; font-weight:700; font-size:.74rem; letter-spacing:.06em; text-transform:uppercase;}
.foot-nav a:hover{color:var(--gem-orange);}
.foot-bottom{display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; padding-top:22px; font-size:.78rem; color:var(--ink-4);}
@media (max-width:980px){ .eq-grid{grid-template-columns:repeat(2,1fr);} .detail .grid{grid-template-columns:1fr; gap:36px;} .detail .pic{position:static;} }
@media (max-width:680px){ .nav-tel{display:none;} .lockup .desc{display:none;} .eq-grid{grid-template-columns:1fr;} header .wrap{grid-template-columns:1fr auto;} }


/* ---- Mobile menu ---- */
.nav-toggle{display:none; width:40px; height:40px; flex-direction:column; justify-content:center; align-items:center; gap:5px; background:transparent; border:0; cursor:pointer; padding:0;}
.nav-toggle span{display:block; width:22px; height:2px; background:#fff; border-radius:2px; transition:transform .25s var(--ease), opacity .2s;}
@media (max-width:980px){
  .nav-toggle{display:flex;}
  header .wrap{grid-template-columns:1fr auto;}
  .nav-tel{display:none;}
  .lockup .desc{display:none;}
  .nav-links{position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; justify-self:stretch; background:rgba(21,18,15,.98); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); padding:6px 22px 16px; border-top:1px solid rgba(255,255,255,.12); box-shadow:0 24px 44px rgba(0,0,0,.34); max-height:0; overflow:hidden; opacity:0; visibility:hidden; transition:max-height .32s var(--ease), opacity .22s, visibility .22s;}
  header.open .nav-links{max-height:84vh; overflow-y:auto; opacity:1; visibility:visible;}
  .nav-links > a, .nav-item{width:100%;}
  .nav-links > a, .nav-item > a{color:#fff; padding:14px 2px; border-bottom:1px solid rgba(255,255,255,.1); font-size:.95rem;}
  .nav-links > a::after, .nav-item > a::after{display:none;}
  .nav-item{flex-direction:column; align-items:stretch;}
  .nav-item > a{justify-content:space-between;}
  .caret{display:none;}
  .dropdown{position:static; opacity:1; visibility:visible; transform:none; min-width:0; margin:0; padding:4px 0 6px 12px; background:transparent; border:0; box-shadow:none;}
  .dropdown::before{display:none;}
  .dropdown a{color:rgba(255,255,255,.82); padding:10px 0;}
  .dropdown a:hover{background:transparent; color:var(--gem-orange); padding-left:6px;}
  header.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  header.open .nav-toggle span:nth-child(2){opacity:0;}
  header.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}
@media (max-width:430px){ .nav-cta .btn--lt{display:none;} }

/* ---- Mobile refinements (inner + legal pages) ---- */
@media (max-width:620px){
  .wrap{padding:0 22px;}
  .page-hero{padding:104px 0 44px;}
  .page-hero h1{font-size:clamp(2rem,8vw,2.6rem);}
  .page-hero .lead{font-size:1.04rem;}
  .hbtns{flex-wrap:wrap; width:100%;}
  .hbtns .btn{flex:1 1 150px; justify-content:center;}
  .eq-section{padding:60px 0;}
  .detail{padding:88px 0 52px;}
  .detail .actions{width:100%;}
  .detail .actions .btn{flex:1 1 150px; justify-content:center;}
  .cta-band .wrap{padding:52px 22px;}
  .cta-band .b{width:100%;} .cta-band .b .btn{flex:1 1 150px; justify-content:center;}
  .legal-body{padding:44px 0 64px;}
  .apps ul{grid-template-columns:1fr;}
  .foot-bottom{flex-direction:column; gap:10px;}
}
