/* Layout concept: a showroom shelf. One flagship on a plinth, the whole range standing on a single
   shelf line, then the catalogue by tier with the tier label set beside its machines. */
.gml{
  --porcelain:#F3F4F2; --plinth:#FFFFFF; --mist:#E7EAE7; --line:#D3D8D5;
  --graphite:#15181A; --steel:#566063;
  --walnut:#8A4F2A; --walnut-deep:#6A3A1D;
  --espresso:#181312; --crema:#EADBC6; --crema-dim:#B9AB99;
  --f-display:"Bricolage Grotesque","Alexandria",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:"Instrument Sans","IBM Plex Sans Arabic",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --gml-container:1140px; --gml-gutter:15px; --gml-section-y:clamp(56px,7vw,96px); --gml-bg:transparent;
  background:var(--gml-bg); color:var(--graphite);
  font-family:var(--f-body); font-size:16px; line-height:1.6; text-align:start;
  -webkit-font-smoothing:antialiased;
  width:100%; container-type:inline-size; /* sections adapt to the element's own width, not the viewport */
}
.gml[dir="rtl"]{
  --f-display:"Alexandria","Bricolage Grotesque",Tahoma,sans-serif;
  --f-body:"IBM Plex Sans Arabic","Instrument Sans",Tahoma,sans-serif;
  line-height:1.85;
}
.gml *,.gml *::before,.gml *::after{box-sizing:border-box}
.gml section{margin:0;border:0;padding-inline:0}
.gml h1,.gml h2,.gml h3,.gml h4,.gml p,.gml ul,.gml li,.gml figure{margin:0;padding:0}
.gml ul{list-style:none}
.gml img{display:block;max-width:100%;height:auto;border:0}
.gml a{color:inherit;text-decoration:none}
.gml a:focus-visible{outline:2px solid var(--walnut);outline-offset:3px}
.gml .gml-wrap{max-width:none;margin-inline:auto;padding-inline:0}
.vc_row-no-padding .gml .gml-wrap,.gml.gml-bleed .gml-wrap{max-width:var(--gml-container);padding-inline:var(--gml-gutter)}
.wpb_wrapper>.gml,.wpb_wrapper>.gml+.gml{margin:0}
.gml .gml-sec{padding-block:var(--gml-section-y)}

/* type */
.gml .gml-eyebrow{font:500 12px/1.4 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--walnut)}
.gml[dir="rtl"] .gml-eyebrow{font:600 14px/1.6 var(--f-body);letter-spacing:0}
.gml .gml-h2{font:600 clamp(30px,4.2vw,52px)/1.04 var(--f-display);letter-spacing:-.022em;color:var(--graphite);text-wrap:balance;max-width:18ch}
.gml[dir="rtl"] .gml-h2{line-height:1.35;letter-spacing:0;font-size:clamp(27px,3.6vw,44px);max-width:22ch}
.gml .gml-head{display:flex;flex-direction:column;gap:14px;margin-block-end:clamp(28px,4vw,48px)}
.gml .gml-code{font:500 13px/1.3 var(--f-mono);letter-spacing:.06em;color:var(--steel);direction:ltr;unicode-bidi:isolate}

/* buttons */
.gml .gml-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:10px 28px;
  font:600 15px/1.2 var(--f-body);border-radius:2px;border:1.5px solid var(--graphite);
  background:var(--graphite);color:var(--plinth);transition:background .2s,border-color .2s,color .2s}
.gml .gml-btn:hover{background:var(--walnut);border-color:var(--walnut);color:var(--plinth)}
.gml .gml-btn--ghost{background:transparent;color:var(--graphite)}
.gml .gml-btn--ghost:hover{background:var(--graphite);border-color:var(--graphite);color:var(--plinth)}
.gml .gml-btns{display:flex;flex-wrap:wrap;gap:12px}

/* hero */
.gml .gml-hero{padding-block:clamp(40px,6vw,88px) clamp(32px,4vw,56px)}
.gml .gml-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center}
.gml .gml-hero-copy{display:flex;flex-direction:column;gap:22px;min-width:0}
.gml .gml-h1{font:600 clamp(42px,6.4vw,88px)/.96 var(--f-display);letter-spacing:-.032em;color:var(--graphite);text-wrap:balance}
.gml[dir="rtl"] .gml-h1{font-size:clamp(36px,5.4vw,70px);line-height:1.28;letter-spacing:0}
.gml .gml-lede{font-size:clamp(16px,1.5vw,19px);line-height:1.6;color:var(--steel);max-width:52ch}
.gml[dir="rtl"] .gml-lede{line-height:1.9}
.gml .gml-plinth{position:relative;background:var(--plinth);border:1px solid var(--line);border-radius:4px;
  aspect-ratio:5/4;max-width:100%;display:flex;align-items:center;justify-content:center;padding:9% 9% 16%}
.gml .gml-plinth img{width:100%;height:100%;object-fit:contain}
.gml .gml-plate{position:absolute;inset-inline:0;bottom:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;
  padding:12px 18px;border-top:1px solid var(--line);font-size:13.5px;color:var(--steel)}
.gml .gml-plate .gml-code{color:var(--graphite);font-size:14px}

/* shelf */
.gml .gml-shelf-sec{padding-block:clamp(24px,3vw,40px) clamp(56px,6vw,88px)}
.gml .gml-shelf-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;margin-block-end:8px}
.gml .gml-shelf-title{font:600 clamp(20px,2.2vw,26px)/1.2 var(--f-display);letter-spacing:-.01em}
.gml[dir="rtl"] .gml-shelf-title{letter-spacing:0;line-height:1.5}
.gml .gml-shelf-sub{color:var(--steel);font-size:15px;max-width:60ch}
.gml .gml-shelf{display:grid;grid-template-columns:repeat(var(--gml-shelf-cols,9),minmax(0,1fr))}
.gml .gml-shelf a{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
.gml .gml-shelf-pic{width:100%;height:clamp(96px,11vw,150px);display:flex;align-items:flex-end;justify-content:center;
  padding-inline:8px;border-bottom:2px solid var(--graphite);mix-blend-mode:multiply}
.gml .gml-shelf-pic img{max-height:100%;width:auto;max-width:100%;object-fit:contain;object-position:bottom;transition:transform .25s}
.gml .gml-shelf a:hover img{transform:translateY(-6px)}
.gml .gml-shelf a:hover .gml-code{color:var(--walnut)}

/* trust */
.gml .gml-trust{border-block:1px solid var(--line)}
.gml .gml-trust ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.gml .gml-trust li{padding:30px clamp(14px,2vw,28px);border-inline-start:1px solid var(--line);display:flex;flex-direction:column;gap:4px;min-width:0}
.gml .gml-trust li:first-child{border-inline-start:0;padding-inline-start:0}
.gml .gml-trust b{font:600 16px/1.35 var(--f-display);letter-spacing:-.005em}
.gml[dir="rtl"] .gml-trust b{letter-spacing:0;line-height:1.6}
.gml .gml-trust span{font-size:14px;color:var(--steel);line-height:1.5}

/* catalogue tiers */
.gml .gml-tier{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:clamp(20px,4vw,64px);
  padding-block:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.gml .gml-tier-label{display:flex;flex-direction:column;gap:10px;align-self:start;position:sticky;top:104px}
.gml .gml-tier-label h3{font:600 clamp(24px,2.6vw,32px)/1.1 var(--f-display);letter-spacing:-.015em}
.gml[dir="rtl"] .gml-tier-label h3{letter-spacing:0;line-height:1.4}
.gml .gml-tier-label p{color:var(--steel);font-size:15px}
.gml .gml-cards{display:grid;gap:clamp(24px,3vw,40px) clamp(18px,2.4vw,32px)}
.gml .gml-cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gml .gml-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gml .gml-card{display:flex;flex-direction:column;gap:16px;min-width:0}
.gml .gml-well{display:flex;align-items:center;justify-content:center;background:var(--plinth);border:1px solid var(--line);
  border-radius:4px;aspect-ratio:4/3;padding:8%;overflow:hidden}
.gml .gml-well img{width:100%;height:100%;object-fit:contain;transition:transform .35s}
.gml .gml-card:hover .gml-well img{transform:scale(1.04)}
.gml .gml-card-body{display:flex;flex-direction:column;gap:10px;flex:1;min-width:0}
.gml .gml-card-body>.gml-code,.gml .gml-card-body>.gml-eyebrow{align-self:flex-start}
.gml .gml-card h4{font:600 21px/1.2 var(--f-display);letter-spacing:-.01em;color:var(--graphite)}
.gml[dir="rtl"] .gml-card h4{letter-spacing:0;line-height:1.5;font-size:20px}
.gml .gml-card p{font-size:15px;color:var(--steel)}
.gml .gml-chips{display:flex;flex-wrap:wrap;gap:6px}
.gml .gml-chips li{font:500 12.5px/1.3 var(--f-body);padding:6px 11px;border:1px solid var(--line);border-radius:999px;color:var(--graphite);background:var(--mist)}
.gml .gml-more{align-self:flex-start;margin-block-start:auto;font:600 14.5px/1.3 var(--f-body);color:var(--graphite);
  padding-block:6px 4px;border-bottom:1.5px solid var(--walnut)}
.gml .gml-more::after{content:"\2192";display:inline-block;margin-inline-start:8px;transition:transform .2s}
.gml[dir="rtl"] .gml-more::after{content:"\2190"}
.gml .gml-more:hover{color:var(--walnut)}
.gml .gml-more:hover::after{transform:translateX(4px)}
.gml[dir="rtl"] .gml-more:hover::after{transform:translateX(-4px)}
.gml .gml-card--wide{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:center}
.gml .gml-card--wide .gml-card-body{flex:initial;gap:14px}
.gml .gml-card--wide .gml-more{margin-block-start:6px}
.gml .gml-card--wide h4{font-size:clamp(22px,2.4vw,28px)}

/* technology band */
.gml.gml--tech,.gml .gml-tech{background:var(--espresso)!important;color:var(--crema)}
.gml .gml-tech .gml-eyebrow{color:var(--crema-dim)}
.gml .gml-tech .gml-h2{color:var(--plinth)}
.gml .gml-tech-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,88px);align-items:start}
.gml .gml-tech-lead{display:flex;flex-direction:column;gap:18px;min-width:0}
.gml .gml-tech-lead p{color:var(--crema-dim);max-width:46ch}
.gml .gml-gauge{display:flex;align-items:center;gap:20px;margin-block-start:14px}
.gml .gml-gauge svg{width:clamp(140px,18vw,210px);height:auto;flex:none;direction:ltr}
.gml .gml-gauge-read{display:flex;flex-direction:column;gap:2px}
.gml .gml-gauge-read b{font:600 clamp(34px,4vw,48px)/1 var(--f-display);color:var(--plinth);letter-spacing:-.02em}
.gml[dir="rtl"] .gml-gauge-read b{letter-spacing:0;line-height:1.3}
.gml .gml-gauge-read span{font-size:14px;color:var(--crema-dim)}
.gml .gml-needle{transform-origin:100px 100px;animation:gml-sweep 1.8s cubic-bezier(.2,.9,.25,1) .2s backwards}
@keyframes gml-sweep{from{transform:rotate(-151.875deg)}}
.gml .gml-tech-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,56px)}
.gml .gml-tech-list li{padding-block:24px;border-top:1px solid rgba(234,219,198,.2);display:flex;flex-direction:column;gap:8px;min-width:0}
.gml .gml-tech-list h3{font:600 19px/1.25 var(--f-display);color:var(--plinth);letter-spacing:-.005em}
.gml[dir="rtl"] .gml-tech-list h3{letter-spacing:0;line-height:1.5}
.gml .gml-tech-list p{font-size:15px;color:var(--crema-dim)}

/* story */
.gml .gml-story-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,6vw,88px);align-items:start}
.gml .gml-story-grid .gml-head{margin:0}
.gml .gml-story-text{display:flex;flex-direction:column;gap:18px;font-size:clamp(16px,1.4vw,18px);max-width:62ch}
.gml .gml-story-text p:first-child{color:var(--graphite)}
.gml .gml-story-text p{color:var(--steel)}

/* contact band: the one place the walnut accent goes loud */
.gml.gml--cta,.gml .gml-cta{background:var(--walnut-deep)!important;color:var(--plinth)}
.gml .gml-cta-grid{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:clamp(24px,5vw,64px);align-items:center;padding-block:clamp(44px,6vw,72px)}
.gml .gml-cta h2{font:600 clamp(28px,3.6vw,44px)/1.08 var(--f-display);letter-spacing:-.02em;color:var(--plinth);text-wrap:balance}
.gml[dir="rtl"] .gml-cta h2{letter-spacing:0;line-height:1.4}
.gml .gml-cta p{margin-block-start:12px;color:var(--crema);max-width:54ch}
.gml .gml-cta .gml-btn{background:var(--plinth);border-color:var(--plinth);color:var(--graphite)}
.gml .gml-cta .gml-btn:hover{background:var(--graphite);border-color:var(--graphite);color:var(--plinth)}
.gml .gml-cta .gml-btn--ghost{background:transparent;color:var(--plinth)}
.gml .gml-cta .gml-btn--ghost:hover{background:var(--plinth);border-color:var(--plinth);color:var(--graphite)}

@container (min-width:1300px){
  .gml .gml-wrap{max-width:var(--gml-container);padding-inline:var(--gml-gutter)}
}
/* narrow screens: the element's own width decides, so sections adapt to any builder column */
@container (max-width:820px){
  .gml .gml-tier{grid-template-columns:minmax(0,1fr);gap:20px}
  .gml .gml-tier-label{position:static}
  .gml .gml-tech-grid,.gml .gml-story-grid{grid-template-columns:minmax(0,1fr)}
  .gml .gml-cta-grid{grid-template-columns:minmax(0,1fr)}
  .gml .gml-story-grid .gml-head{margin-block-end:8px}
  .gml .gml-cards--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width:680px){
  .gml .gml-hero-grid{grid-template-columns:minmax(0,1fr)}
  .gml .gml-shelf{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:26px}
  .gml .gml-shelf-pic{height:112px}
  .gml .gml-trust ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gml .gml-trust li{padding-inline:16px}
  .gml .gml-trust li:nth-child(odd){border-inline-start:0;padding-inline-start:0}
  .gml .gml-trust li:nth-child(n+3){border-top:1px solid var(--line)}
}
@container (max-width:540px){
  .gml .gml-cards--2,.gml .gml-cards--3,.gml .gml-card--wide,.gml .gml-tech-list{grid-template-columns:minmax(0,1fr)}
  .gml .gml-btns .gml-btn{flex:1 1 220px}
  .gml .gml-gauge{align-items:flex-start}
}
/* browsers without container queries fall back to the viewport */
@supports not (container-type:inline-size){
  @media (max-width:900px){
  .gml .gml-tier{grid-template-columns:minmax(0,1fr);gap:20px}
  .gml .gml-tier-label{position:static}
  .gml .gml-tech-grid,.gml .gml-story-grid{grid-template-columns:minmax(0,1fr)}
  .gml .gml-cta-grid{grid-template-columns:minmax(0,1fr)}
  .gml .gml-story-grid .gml-head{margin-block-end:8px}
  .gml .gml-cards--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
  @media (max-width:760px){
  .gml .gml-hero-grid{grid-template-columns:minmax(0,1fr)}
  .gml .gml-shelf{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:26px}
  .gml .gml-shelf-pic{height:112px}
  .gml .gml-trust ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gml .gml-trust li{padding-inline:16px}
  .gml .gml-trust li:nth-child(odd){border-inline-start:0;padding-inline-start:0}
  .gml .gml-trust li:nth-child(n+3){border-top:1px solid var(--line)}
  }
  @media (max-width:600px){
  .gml .gml-cards--2,.gml .gml-cards--3,.gml .gml-card--wide,.gml .gml-tech-list{grid-template-columns:minmax(0,1fr)}
  .gml .gml-btns .gml-btn{flex:1 1 220px}
  .gml .gml-gauge{align-items:flex-start}
  }
}
@media (prefers-reduced-motion:reduce){
  .gml .gml-needle{animation:none}
  .gml *{transition:none!important}
}

/* sections as separate elements (shortcodes / page builder) */
.gml .gml-sec--head{padding-block:var(--gml-section-y) 0}
.gml .gml-sec--head .gml-head{margin-block-end:clamp(16px,2vw,24px)}
.gml .gml-sec--tier{padding-block:0}
.gml .gml-sec--tier+.gml-sec--tier{margin-top:0}
.gml .gml-sec--grid{padding-block:clamp(24px,3vw,40px) var(--gml-section-y)}
.gml .gml-sec--story{padding-block:var(--gml-section-y)}
.gml .gml-cards,.gml .gml-shelf,.gml .gml-trust ul,.gml .gml-tech-list,.gml .gml-chips{margin:0;padding:0;list-style:none}
.gml .gml-well img,.gml .gml-shelf-pic img,.gml .gml-plinth img{box-shadow:none;border-radius:0}
.gml .gml-sec--story .gml-story-grid{border-top:1px solid var(--line);padding-block-start:clamp(40px,5vw,64px)}

/* bleed="yes": run the band edge to edge even inside a normal row */
.gml.gml-bleed.gml--tech,.gml.gml-bleed.gml--cta{width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw)}
.gml.gml-bleed.gml--tech .gml-wrap,.gml.gml-bleed.gml--cta .gml-wrap{max-width:var(--gml-container);padding-inline:var(--gml-gutter)}
