/* i9ia — QA revision 2. Content stays in normal flow; images keep their intrinsic ratio. */
:root {
  --navy:#071b31; --navy-2:#0a294a; --ink:#0b1f36; --muted:#50677d;
  --line:#dbe8f1; --surface:#fff; --ice:#f4f9fd; --blue:#0967d5; --cyan:#0786a7;
  --green:#168355; --teal:#086b70; --shadow:0 18px 50px rgba(7,27,49,.08);
  --shadow-soft:0 8px 26px rgba(7,27,49,.06); --radius:22px; --max:1240px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; background:#fff; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; color:var(--ink); background:var(--surface); line-height:1.6; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
figure,ol { margin:0; }
button:disabled { cursor:default; }
[hidden] { display:none!important; }
::selection { background:#d8ecff; color:#071b31; }
:focus-visible { outline:3px solid #1268cf; outline-offset:4px; }
.surface-dark :focus-visible,.ai-console :focus-visible { outline-color:#8cdef1; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:16px; top:12px; z-index:100; padding:12px 18px; border-radius:10px; background:var(--navy); color:#fff; transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.container { width:min(calc(100% - 64px),var(--max)); margin-inline:auto; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(2.65rem,4.8vw,4.5rem); line-height:1.07; letter-spacing:-.048em; margin-bottom:24px; font-weight:760; overflow-wrap:break-word; }
h2 { font-size:clamp(2rem,3.3vw,3rem); line-height:1.13; letter-spacing:-.038em; margin-bottom:20px; }
h3 { font-size:1.2rem; line-height:1.35; letter-spacing:-.015em; margin-bottom:12px; }
p { margin-bottom:20px; }
.lead { font-size:clamp(1.0625rem,1.45vw,1.1875rem); line-height:1.7; color:var(--muted); max-width:760px; }
.gradient-text { color:var(--blue); background:linear-gradient(105deg,#0967d5,#087f9b); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:.75rem; line-height:1.6; letter-spacing:.15em; text-transform:uppercase; font-weight:750; color:#295f87; margin-bottom:18px; }
.eyebrow:before { content:""; width:26px; height:2px; flex:0 0 26px; background:var(--blue); }
.kicker,.number { font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; font-weight:750; color:#486b86; margin-bottom:16px; }
.muted { color:var(--muted); }.small { font-size:.9375rem; }.mt-18 { margin-top:18px; }.mt-28 { margin-top:28px; }
.page-pad { padding:88px 0; }.page-pad-sm { padding:64px 0; }
.grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:56px; align-items:center; }
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.grid-2>*,.grid-3>*,.grid-4>*,.hero-grid>*,.contact-card>*,.footer-grid>*,.showcase>* { min-width:0; }
.section-head { max-width:760px; margin-bottom:40px; }
.section-head .lead { margin-bottom:0; }.section-head.center { text-align:center; margin-inline:auto; }.section-head.center .lead { margin-inline:auto; }
.surface-soft { background:#f5f9fc; }.surface-dark { background:linear-gradient(125deg,#071b31,#0b3257); color:#fff; }
.surface-dark .lead,.surface-dark .muted { color:#c0d4e5; }
.surface-dark .eyebrow { color:#91ddec; }.surface-dark .eyebrow:before { background:#5bd2eb; }
.surface-dark .check-list li { color:#d2e4f0; }.surface-dark .check-list li:before { color:#71d8ed; }
.surface-dark .gradient-text { background:none; color:#80dcf0; -webkit-text-fill-color:currentColor; }

/* Header is in document flow. No hard-coded offset can cover a page heading. */
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.97); border-bottom:1px solid #e6eef5; }
.nav-wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:82px; padding:12px 0; }
.brand { display:block; flex:0 0 auto; }
.brand img { width:91px; height:auto; object-fit:contain; }
.nav-links { display:flex; align-items:center; gap:24px; font-size:.875rem; font-weight:650; color:#355570; }
.nav-links a { padding:10px 0; border-bottom:2px solid transparent; }
.nav-links a:hover,.nav-links a[aria-current="page"] { color:var(--blue); border-bottom-color:var(--blue); }
.nav-actions { display:flex; align-items:center; gap:10px; }
.nav-toggle { display:none; width:44px; height:44px; align-items:center; justify-content:center; border:1px solid #bfd4e4; border-radius:12px; color:var(--navy); background:#fff; }
.nav-toggle span,.nav-toggle span:before,.nav-toggle span:after { display:block; width:18px; height:2px; background:currentColor; position:relative; }
.nav-toggle span:before,.nav-toggle span:after { content:""; position:absolute; left:0; }.nav-toggle span:before { top:-6px; }.nav-toggle span:after { top:6px; }
.nav-toggle[aria-expanded="true"] span { background:transparent; }.nav-toggle[aria-expanded="true"] span:before { top:0; transform:rotate(45deg); }.nav-toggle[aria-expanded="true"] span:after { top:0; transform:rotate(-45deg); }
.mobile-contact { display:none; }

/* Controls: deliberate spacing, readable labels, visible keyboard focus. */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:13px 20px; border-radius:12px; border:1px solid transparent; font-size:.9375rem; line-height:1.4; font-weight:700; text-align:center; transition:background .18s,box-shadow .18s; }
.btn-primary { background:var(--blue); color:#fff; box-shadow:0 6px 18px rgba(9,103,213,.13); }.btn-primary:hover { background:#0557b9; }
.btn-secondary { background:#fff; color:var(--ink); border-color:#bdcfde; }.btn-secondary:hover { background:#f3f8fc; border-color:#7dabc9; }
.btn-dark { background:var(--navy); color:#fff; }.btn-ghost { background:transparent; border-color:#bdcfde; }
.btn-teal { background:var(--teal); color:#fff; }.btn-teal:hover { background:#064f54; }
.btn-arrow:after { content:"↗"; font-size:1.1em; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:28px 0 20px; }
.text-link,.card-link { display:inline-flex; align-items:center; gap:8px; font-size:.925rem; color:#095daf; font-weight:700; min-height:32px; }
.text-link:hover,.card-link:hover { text-decoration:underline; text-underline-offset:4px; }.card-link:after { content:"→"; }

/* Home: all meaningful content is in the grid; no floating cards or 3D transforms. */
.hero { padding:72px 0 80px; background:radial-gradient(ellipse at 95% 15%,#e4f2ff 0,transparent 52%),linear-gradient(160deg,#fcfeff,#f5fbff); border-bottom:1px solid #e8f1f8; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:64px; align-items:center; }
.hero h1 { font-size:clamp(2.875rem,4.7vw,4.4rem); }
.hero-copy .lead { max-width:590px; margin-bottom:0; }.hero-note { font-size:.875rem; color:#516c83; margin:0; }
.pillars-inline { display:flex; gap:8px; flex-wrap:wrap; margin:24px 0 6px; }
.pillar-chip { padding:9px 11px; border:1px solid #c8dae9; background:#fff; border-radius:999px; font-size:.6875rem; font-weight:750; text-transform:uppercase; letter-spacing:.07em; }
.pillar-chip:hover { border-color:var(--blue); color:var(--blue); }
.hero-stage { width:100%; max-width:540px; margin:0 auto; }
.ai-console { border:1px solid #254762; border-radius:24px; background:linear-gradient(150deg,#0c2b49,#071c32); box-shadow:0 20px 48px rgba(7,27,49,.14); color:#fff; overflow:hidden; }
.console-top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:17px 22px; border-bottom:1px solid #29445e; font-size:.84rem; color:#c3daeb; }
.console-top strong { font-weight:650; color:#fff; }.console-indicator { font-size:.68rem; letter-spacing:.07em; text-transform:uppercase; color:#a5c5dc; }
.console-main { padding:28px; }.console-label { display:block; font-size:.67rem; text-transform:uppercase; letter-spacing:.12em; color:#a9cce0; margin-bottom:10px; }
.console-title { font-size:1.5rem; line-height:1.3; letter-spacing:-.018em; margin:0 0 23px; }
.signal-list { list-style:none; padding:0; display:grid; gap:12px; }
.signal-row { display:grid; grid-template-columns:32px minmax(0,1fr); gap:13px; align-items:start; padding:16px; background:#19374f; border:1px solid #31516b; border-radius:13px; }
.signal-number { width:30px; height:30px; display:grid; place-items:center; border:1px solid #55819f; border-radius:9px; font-size:.68rem; color:#baeff8; }
.signal-row h3 { font-size:.92rem; margin:0 0 3px; color:#f2f8ff; letter-spacing:0; }.signal-row p { color:#b8cddd; font-size:.79rem; line-height:1.55; margin:0; }
.console-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:19px 0 0; margin-top:6px; font-size:.8rem; color:#b6cede; }
.console-foot strong { color:#89e0ec; }.hero-stage>figcaption { font-size:.72rem; text-align:center; line-height:1.5; margin-top:14px; color:#576f82; }

/* Cards / repeated layouts. No prescribed heights on text containers. */
.card { padding:28px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); transition:border-color .18s; }
.card:hover { border-color:#93bad9; }.card p { color:var(--muted); font-size:.9375rem; }.card p:last-child { margin-bottom:0; }
.card-icon { width:44px; height:44px; display:grid; place-items:center; margin-bottom:24px; background:#edf6fd; border:1px solid #d4e6f2; border-radius:13px; color:#0b65be; font-weight:750; }
.pillar-card { display:flex; flex-direction:column; }.pillar-card .card-link { margin-top:auto; padding-top:12px; }.pillar-card h3 { font-size:1.14rem; }
.tag { align-self:flex-start; display:inline-flex; align-items:center; gap:8px; border:1px solid #bed5d6; border-radius:999px; background:#fff; color:#34676a; font-size:.72rem; font-weight:650; line-height:1.5; padding:8px 12px; }
.tag.live:before,.tag.build:before,.tag.service:before { content:""; width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:#168355; }.tag.build:before { background:#0967d5; }.tag.service:before { background:#7053c1; }
.check-list { list-style:none; padding:0; margin:24px 0 28px; display:grid; gap:12px; }
.check-list li { position:relative; padding-left:25px; color:#48677e; font-size:.975rem; }
.check-list li:before { content:"✓"; position:absolute; left:0; top:0; color:#0967d5; font-weight:800; }

/* Intelligence section: retained workflow and contrast corrected. */
.signal-engine { padding:26px; border:1px solid #3b576f; border-radius:24px; background:rgba(255,255,255,.04); }
.engine-flow { display:grid; gap:14px; }.engine-step { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:14px; align-items:center; padding:18px 15px; border:1px solid #3d5872; background:rgba(255,255,255,.045); border-radius:13px; }
.engine-step .n { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; background:#174f76; color:#d2f8ff; font-size:.86rem; font-weight:750; }
.engine-step b { display:block; font-size:1rem; line-height:1.4; }.engine-step small { display:block; color:#b7d0e3; font-size:.79rem; line-height:1.55; margin-top:3px; }
.engine-step em { font-style:normal; font-size:.63rem; text-transform:uppercase; letter-spacing:.07em; color:#9bdfea; }

/* Product portfolio uses the original GLPFlow presentation images, not simulated UI. */
.showcase { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border:1px solid #d6e6e9; border-radius:26px; background:#fff; overflow:hidden; }
.showcase-copy { padding:44px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.showcase-copy .lead { font-size:1.05rem; }.showcase-copy .hero-actions { margin-top:0; }.showcase-copy .check-list { margin:4px 0 28px; }
.glp-wordmark { margin:24px 0 14px; font-size:3rem; letter-spacing:-.045em; line-height:1.12; }.glp-wordmark span { color:#0a787a; }
.glp-promise { font-size:1.47rem; line-height:1.35; margin-bottom:20px; }.glp-showcase .check-list li:before { color:#086b70; }
.glp-real-visual { padding:34px 28px; background:linear-gradient(140deg,#062f36,#0d535b); color:#fff; display:flex; flex-direction:column; justify-content:center; gap:20px; }
.glp-visual-label { text-align:center; font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; color:#c0e3e2; }
.glp-preview-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; max-width:446px; margin-inline:auto; }
.glp-preview-pair img { width:100%; height:auto; border-radius:14px; border:1px solid #558787; }
.glp-preview-pair figcaption { margin-top:12px; font-size:.76rem; text-align:center; color:#d4eceb; }
.glp-visual-note { font-size:.71rem; line-height:1.6; color:#bcd9d9; margin:0 auto; max-width:370px; text-align:center; }
.glp-accent { color:#086b70; }
.glp-hero { background:linear-gradient(120deg,#f9fdfd,#e9f6f4)!important; }
.glp-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); gap:80px; align-items:center; }
.glp-hero h1 { font-size:clamp(2.5rem,4vw,3.85rem); max-width:700px; }
.glp-hero-screen { max-width:258px; width:100%; margin-inline:auto; }
.glp-hero-screen img { border-radius:16px; box-shadow:0 16px 35px rgba(9,72,76,.13); }
.glp-hero-screen figcaption { font-size:.72rem; color:#426c6e; text-align:center; margin-top:12px; }
.glp-facts { display:flex; flex-wrap:wrap; gap:8px 22px; padding:0; margin:24px 0 18px; list-style:none; font-size:.82rem; color:#305e60; }
.glp-facts li:before { content:"✓"; margin-right:7px; font-weight:750; }
.medical-note { font-size:.78rem; color:#536d72; max-width:570px; line-height:1.65; margin-bottom:0; }
.glp-gallery-section { background:#f0f7f6; }.glp-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; max-width:1030px; margin:auto; }
.glp-gallery figure { min-width:0; }.glp-gallery a { display:block; border-radius:16px; }.glp-gallery img { border-radius:16px; width:100%; max-width:286px; margin:auto; border:1px solid #bed3d3; }
.glp-gallery figcaption { padding-top:18px; text-align:center; }.glp-gallery figcaption strong { display:block; font-size:1rem; margin-bottom:4px; }.glp-gallery figcaption span { color:#466568; font-size:.84rem; display:block; }
.gallery-note { text-align:center; color:#466568; font-size:.77rem; margin:28px 0 0; }
.faq-group { background:#f5faf9; border:1px solid #cfe0df; border-radius:22px; padding:28px; }
.faq-group details { border-top:1px solid #cddcdb; }.faq-group summary { cursor:pointer; padding:18px 0; font-weight:650; font-size:.98rem; }.faq-group details p { color:#49686b; font-size:.9375rem; padding-right:12px; }

/* Secondary pages. */
.page-hero { padding:54px 0 64px; background:linear-gradient(160deg,#f7fbff,#fff); border-bottom:1px solid #e7eff5; }
.page-hero h1 { max-width:980px; font-size:clamp(2.5rem,4.5vw,4.15rem); }
.breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:9px; font-size:.8rem; color:#4d6981; margin-bottom:30px; }.breadcrumbs a:hover { text-decoration:underline; }.breadcrumbs [aria-current] { color:#294d6c; }
.content-stack { display:grid; gap:18px; }.feature-row { display:grid; grid-template-columns:50px minmax(0,1fr); gap:18px; padding:22px 0; border-bottom:1px solid var(--line); }.feature-row:last-child { border:0; }
.feature-row .icon { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:#edf6fd; color:#0b65be; font-weight:750; }.feature-row p { margin:0; color:var(--muted); }
.side-panel { padding:32px; border:1px solid #d4e4f0; border-radius:22px; background:#f3f8fc; }.side-panel ul { list-style:none; padding:0; margin:22px 0; display:grid; gap:12px; }.side-panel li { padding-left:19px; position:relative; color:#456780; }.side-panel li:before { content:""; position:absolute; top:.6em; left:0; width:6px; height:6px; border-radius:50%; background:var(--blue); }
.callout { padding:28px; background:#f3f8fc; border:1px solid #d7e5ef; border-radius:20px; }.callout strong { display:block; margin-bottom:10px; }.callout p { color:var(--muted); margin:0; font-size:.96rem; }
.metric-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:24px; }.metric-box { background:#fff; border:1px solid #d4e3ee; border-radius:13px; padding:16px; }.metric-box small { display:block; color:#47667e; font-size:.67rem; text-transform:uppercase; letter-spacing:.07em; margin-bottom:5px; }.metric-box b { font-size:.875rem; }
.process { counter-reset:step; }.process-item { padding:20px 18px 0 0; border-top:1px solid #bfcedc; }.process-item:before { counter-increment:step; content:"0" counter(step); display:block; color:#356482; font-size:.76rem; font-weight:750; letter-spacing:.1em; margin-bottom:20px; }.process-item p { color:var(--muted); font-size:.95rem; margin-bottom:0; }
.statement { padding:56px; border-radius:26px; background:linear-gradient(130deg,#081f36,#0b355b); color:#fff; }.statement p { font-size:clamp(1.6rem,2.8vw,2.6rem); line-height:1.3; font-weight:650; letter-spacing:-.02em; margin:0; }.statement small { display:block; color:#b2d0e5; margin-top:25px; font-size:.8rem; }

/* Contact: preparing a message is not confused with sending it. */
.contact-card { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); border:1px solid #d4e3ee; border-radius:24px; overflow:hidden; }
.contact-info { background:linear-gradient(125deg,#09233d,#0d375c); color:#fff; padding:42px; }.contact-info .lead { color:#c4d8e9; font-size:1rem; }.contact-info a { overflow-wrap:anywhere; color:#fff; text-decoration:underline; text-underline-offset:4px; }.contact-info .eyebrow { color:#b9dfef; }
.contact-form { padding:42px; }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.field { display:grid; gap:8px; }.field.full { grid-column:1/-1; }
.field label,.mail-preview label { font-weight:700; font-size:.85rem; color:#34556f; }.field input,.field textarea,.field select,.mail-preview textarea { width:100%; min-width:0; background:#fbfdff; border:1px solid #afc6d7; border-radius:10px; padding:12px 14px; color:var(--ink); }
.field textarea { min-height:140px; resize:vertical; }.field input:focus,.field textarea:focus,.field select:focus { border-color:#0967d5; }
.form-note { font-size:.78rem; color:#50677d; margin:12px 0 0; }.mail-preview { padding-top:30px; margin-top:24px; border-top:1px solid var(--line); }.mail-preview p { font-size:.9rem; color:var(--muted); }.mail-preview label { display:block; margin-bottom:10px; }.mail-preview textarea { resize:vertical; font-size:.875rem; }

/* CTAs are separated from preceding content, even when the previous section is dark. */
.cta { padding:64px 0 80px; }.cta-box { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:40px; align-items:center; padding:48px; border-radius:26px; background:linear-gradient(120deg,#082039,#103d61); color:#fff; }
.cta-box h2 { max-width:780px; font-size:clamp(1.9rem,3vw,2.75rem); margin-bottom:16px; }.cta-box p { color:#c2d8e9; max-width:720px; margin:0; }.cta-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* Footer: intrinsic logo ratio is preserved at every breakpoint. */
.footer { padding:48px 0 26px; background:#f5f9fc; border-top:1px solid #dce8f0; }
.footer-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.65fr) minmax(0,.65fr) minmax(0,1fr); gap:42px; align-items:start; }
.footer-brand img { width:112px; max-width:100%; height:auto; object-fit:contain; }
.footer-brand>a { display:inline-block; }.footer-brand p { color:#47637a; font-size:.875rem; max-width:290px; margin:17px 0 0; }
.footer h3 { font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; color:#365d7b; margin:6px 0 14px; }
.footer-links { display:grid; gap:7px; color:#47637a; font-size:.84rem; }.footer-links a { padding:4px 0; overflow-wrap:anywhere; }.footer-links a:hover { color:var(--blue); text-decoration:underline; text-underline-offset:4px; }
.footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:34px; padding-top:22px; border-top:1px solid #cfdfeb; color:#526a7f; font-size:.75rem; }
.footer-bottom a { text-decoration:underline; text-underline-offset:4px; }

@media (max-width:1100px) {
  .nav-links { gap:17px; }.nav-wrap { gap:18px; }
  .hero-grid { gap:38px; }.hero h1 { font-size:clamp(2.9rem,4.6vw,3.7rem); }.console-main { padding:23px; }.console-title { font-size:1.38rem; }
  .grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }.grid-2 { gap:32px; }
  .showcase-copy { padding:34px; }.glp-real-visual { padding:28px 22px; }.glp-preview-pair { gap:12px; }
  .footer-grid { gap:24px; }.footer-links { font-size:.8rem; }.glp-hero-grid { gap:42px; }.cta-box { padding:38px; gap:28px; }
}
@media (max-width:960px) {
  .nav-wrap { min-height:74px; flex-wrap:wrap; }.brand img { width:83px; }.nav-actions>.btn { display:none; }
  .nav-links { flex-wrap:wrap; order:3; width:100%; }.mobile-contact { display:block; }
  .js .nav-toggle { display:flex; }.js .nav-links { display:none; position:absolute; top:100%; left:24px; right:24px; width:auto; margin-top:8px; padding:14px; background:#fff; border:1px solid #cbddeb; border-radius:15px; box-shadow:0 14px 35px rgba(7,27,49,.13); max-height:calc(100svh - 100px); overflow-y:auto; }
  .js .nav-links.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }.js .nav-links a { padding:12px; border-radius:8px; border-bottom:0; }.js .nav-links a[aria-current="page"] { background:#edf6ff; }
  .hero-grid { grid-template-columns:1fr; gap:42px; }.hero-copy { max-width:690px; }.hero h1 { font-size:clamp(3rem,7vw,4.2rem); }.hero-stage { max-width:600px; }
  .hero { padding:50px 0 60px; }.page-pad { padding:68px 0; }.page-hero { padding:40px 0 50px; }
  .grid-3 { gap:18px; }.card { padding:24px; }.showcase { grid-template-columns:1fr; }.showcase-copy { padding:38px; }.glp-preview-pair { max-width:430px; gap:22px; }
  .glp-real-visual { padding:32px; }.glp-hero-grid { gap:30px; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }.glp-hero h1 { font-size:2.9rem; }
  .engine-step { grid-template-columns:36px minmax(0,1fr); gap:10px; }.engine-step em { grid-column:2; }.signal-engine { padding:20px; }
  .contact-card { grid-template-columns:1fr; }.footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 50px; }.cta-box { grid-template-columns:1fr; }.footer-links { font-size:.875rem; }
  .glp-gallery { gap:24px; }.contact-info,.contact-form { padding:34px; }
}
@media (max-width:700px) {
  .container { width:calc(100% - 40px); }.hero { padding:38px 0 52px; }.hero h1 { font-size:clamp(2.6rem,8.7vw,3.65rem); line-height:1.09; }
  h2 { font-size:2rem; }.lead { font-size:1.0625rem; }.eyebrow { font-size:.66rem; letter-spacing:.12em; }
  .grid-2,.grid-3 { grid-template-columns:1fr; gap:30px; }.grid-4 { gap:18px; }.page-pad { padding:58px 0; }.page-pad-sm { padding:46px 0; }
  .section-head { margin-bottom:30px; }.page-hero h1 { font-size:clamp(2.3rem,7vw,3rem); }.page-hero { padding:32px 0 44px; }
  .console-main { padding:23px; }.console-title { font-size:1.4rem; }.console-indicator { font-size:.62rem; }.console-top { padding:15px 20px; }
  .showcase-copy { padding:28px; }.glp-wordmark { font-size:2.8rem; }.glp-promise { font-size:1.35rem; }.glp-real-visual { padding:27px 18px; }.glp-preview-pair { gap:13px; }
  .glp-hero-grid { grid-template-columns:1fr; gap:32px; }.glp-hero h1 { font-size:clamp(2.45rem,7.5vw,3.2rem); }.glp-hero-screen { max-width:245px; }
  .glp-gallery { grid-template-columns:1fr; gap:38px; }.glp-gallery figure { width:100%; max-width:286px; margin:auto; }
  .statement { padding:32px; }.metric-strip { grid-template-columns:1fr; }.faq-group { padding:24px; }
  .cta { padding:42px 0 56px; }.cta-box { padding:30px; gap:25px; }.cta-box h2 { font-size:2rem; }
  .contact-info,.contact-form { padding:28px; }.form-grid { grid-template-columns:1fr; }.footer { padding-top:38px; }
}
@media (max-width:440px) {
  .container { width:calc(100% - 32px); }.grid-4 { grid-template-columns:1fr; }.nav-wrap { min-height:70px; }.brand img { width:79px; }
  .hero { padding-top:34px; }.hero h1 { font-size:clamp(2.3rem,10vw,2.7rem); }.hero-grid { gap:34px; }.hero-actions { gap:10px; }.hero-actions .btn { flex:1 1 auto; padding:12px 15px; }
  .pillars-inline { gap:6px; }.pillar-chip { padding:9px 9px; font-size:.64rem; }.hero-note { font-size:.8rem; }
  .console-main { padding:19px; }.console-top { padding:15px 17px; }.console-title { font-size:1.3rem; }.console-indicator { font-size:.58rem; }.signal-row { padding:13px; gap:10px; }.signal-row h3 { font-size:.875rem; }.signal-row p { font-size:.77rem; }
  .console-foot { font-size:.75rem; gap:8px; }.console-label { font-size:.6rem; }.hero-stage>figcaption { font-size:.68rem; }
  .showcase-copy { padding:25px 22px; }.glp-real-visual { padding:24px 15px; }.glp-preview-pair figcaption { font-size:.68rem; }.glp-visual-note { font-size:.65rem; }
  .contact-info,.contact-form { padding:24px 20px; }.contact-info h2 { font-size:1.7rem; }.cta-box { padding:27px 23px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:30px 24px; }.footer-brand,.footer-grid>div:last-child { grid-column:1/-1; }.footer-brand img { width:103px; }.footer-brand p { max-width:330px; }.footer-bottom { font-size:.71rem; }
  .statement { padding:28px 23px; }.engine-step { padding:15px 13px; }.signal-engine { padding:17px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; } *,*:before,*:after { animation:none!important; transition:none!important; }
}
