/* =========================================================
   TKAAR Technologies — shared stylesheet
   Palette sampled directly from the brand logo (T + K circuit mark):
     navy ink   #0A1F3B  (deep navy, header/footer backgrounds, text)
     brand navy #043377  (logo's own deep navy gradient stop)
     cyan accent#119ED3  (primary interactive accent — the circuit lines)
     cyan light #7FD4F0  (light gradient stop, the "K" chevrons)
   ========================================================= */
:root{
  --paper:      #F5F8FB;
  --paper-2:    #EAF1F8;
  --white:      #FFFFFF;
  --ink:        #0A1F3B;
  --ink-soft:   #33465C;
  --ink-mute:   #62748A;
  --blue:       #119ED3;
  --blue-dk:    #0C7BA8;
  --blue-deep:  #043377;
  --blue-mid:   #29ABE2;
  --blue-light: #7FD4F0;
  --blue-pale:  #E1F3FB;
  --line:       #DCE6EF;
  --line-soft:  #E7EEF5;

  --maxw: 1160px;
  --gutter: clamp(20px, 5vw, 64px);
  --sans: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
  --disp: "Archivo Expanded", "Archivo", system-ui, sans-serif;
}

@media (prefers-color-scheme: dark){
  :root{
    --paper:#F5F8FB; --paper-2:#EAF1F8; --white:#FFFFFF; --ink:#0A1F3B; --ink-soft:#33465C;
    --ink-mute:#62748A; --blue:#119ED3; --line:#DCE6EF; --line-soft:#E7EEF5;
  }
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth;}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans);
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;}
@media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important; scroll-behavior:auto;} }

.wrap{max-width:var(--maxw); margin:0 auto; padding-inline:var(--gutter);}
a{color:inherit;}
h1,h2,h3,h4{margin:0; font-family:var(--disp); font-weight:700; line-height:1.06; letter-spacing:-0.01em;}
p{margin:0;}
img,svg{max-width:100%;}
:focus-visible{outline:2px solid var(--blue); outline-offset:3px;}
.visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.skip-link{position:absolute; left:-999px; top:0; background:var(--blue); color:#fff; padding:10px 16px; z-index:100;}
.skip-link:focus{left:10px; top:10px;}

/* ---------- nav ---------- */
.nav{position:sticky; top:0; z-index:40; background:color-mix(in srgb, var(--ink) 97%, black);
  border-bottom:1px solid rgba(255,255,255,.09);}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; height:70px;}
.brand{display:flex; align-items:center; gap:11px; text-decoration:none;}
.brand img{height:34px; width:auto; display:block;}
.brand .wm{font-family:var(--disp); font-weight:800; font-size:19px; letter-spacing:-0.01em; color:#F5F7FA;}
.brand .wm span{color:var(--blue-light);}
.menu{display:flex; gap:4px; align-items:center;}
.menu a{text-decoration:none; color:rgba(245,247,250,.72); font-size:15px; font-weight:500;
  padding:9px 14px; border-radius:3px; transition:color .18s;}
.menu a:hover{color:#fff;}
.menu a[aria-current="page"]{color:#fff;}
.menu a[aria-current="page"]{position:relative;}
.menu a[aria-current="page"]::after{content:""; display:block; height:2px; background:var(--blue); margin-top:5px; border-radius:2px;}
.menu .navcta{margin-left:8px; background:var(--blue); color:#fff; padding:10px 19px; border-radius:3px; font-weight:600;}
.menu .navcta:hover{background:var(--blue-dk); color:#fff;}
.burger{display:none; background:none; border:0; cursor:pointer; padding:8px;}
.burger span{display:block; width:22px; height:2px; background:#F5F7FA; margin:4px 0; transition:.2s;}
@media (max-width:900px){
  .burger{display:block;}
  .menu{position:absolute; top:70px; left:0; right:0; flex-direction:column; align-items:stretch;
    background:var(--ink); padding:14px var(--gutter) 22px; gap:2px; border-bottom:1px solid rgba(255,255,255,.09);
    transform:translateY(-8px); opacity:0; pointer-events:none; transition:.2s;}
  .menu.open{transform:none; opacity:1; pointer-events:auto;}
  .menu a{padding:13px 6px; font-size:16px;}
  .menu a[aria-current="page"]::after{display:none;}
  .menu a[aria-current="page"]{color:var(--blue-light);}
  .menu .navcta{margin:8px 0 0; text-align:center;}
}

/* ---------- shared sections ---------- */
section.band{padding-block:clamp(56px,8vw,100px);}
.kicker{display:inline-flex; align-items:center; gap:12px; font-size:13.5px; font-weight:600; color:var(--blue); margin-bottom:22px;}
.kicker .r{width:40px; height:1px; background:var(--blue);}
.kicker.on-dark{color:var(--blue-light);}
.eyebrow{font-size:13px; font-weight:600; color:var(--blue-dk); letter-spacing:0.01em;}

.btn{display:inline-flex; align-items:center; gap:9px; text-decoration:none; font-weight:600; font-size:15.5px;
  padding:13px 24px; border-radius:4px; cursor:pointer; border:1px solid transparent; transition:.18s;}
.btn-primary{background:linear-gradient(135deg, var(--blue-deep) 0%, var(--blue) 55%, var(--blue-mid) 100%); color:#fff; box-shadow:0 2px 10px rgba(17,158,211,.28);}
.btn-primary:hover{box-shadow:0 4px 16px rgba(17,158,211,.4); transform:translateY(-1px);}
.btn-ghost{background:transparent; border-color:rgba(245,247,250,.4); color:#F5F7FA;}
.btn-ghost:hover{border-color:#fff;}
.btn-dark{background:var(--ink); color:#F5F7FA;}
.btn-dark:hover{background:#081320;}
.btn-outline{background:transparent; border-color:var(--line); color:var(--ink);}
.btn-outline:hover{border-color:var(--blue); color:var(--blue-dk);}
.btns{display:flex; flex-wrap:wrap; gap:14px; margin-top:34px;}

/* page header */
.phead{background:var(--ink); color:#F5F7FA; padding-block:clamp(54px,8vw,90px); position:relative; overflow:hidden;}
.phead .traces{position:absolute; inset:0; opacity:.9;}
.phead .wrap{position:relative; z-index:2;}
.phead .crumb{font-size:13.5px; color:rgba(245,247,250,.5); margin-bottom:18px;}
.phead .crumb a{text-decoration:none; color:rgba(245,247,250,.72);}
.phead .crumb a:hover{color:#fff;}
.phead h1{font-family:var(--disp); font-weight:800; font-size:clamp(2.4rem,5.8vw,4rem); max-width:20ch; color:#fff; line-height:1.05;}
.phead p.lede{margin-top:20px; max-width:62ch; color:rgba(245,247,250,.82); font-size:1.14rem; line-height:1.58;}

/* home hero */
.hero{background:var(--ink); color:#F5F7FA; padding-block:clamp(52px,8vw,96px); position:relative; overflow:hidden;}
.hero .grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,64px); align-items:center;}
@media (max-width:900px){ .hero .grid{grid-template-columns:1fr;} }
.hero h1{font-family:var(--disp); font-weight:800; font-size:clamp(2.7rem,7vw,4.9rem); line-height:.99; max-width:15ch; color:#fff;
  animation:rise .7s cubic-bezier(.2,.7,.3,1) both;}
.hero h1 .c{color:var(--blue-light); background:linear-gradient(90deg, var(--blue-light) 0%, var(--blue-mid) 60%, var(--blue) 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
@keyframes rise{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;} }
.hero .sub{margin-top:26px; max-width:54ch; font-size:clamp(1.02rem,2vw,1.2rem); color:rgba(245,247,250,.82); line-height:1.55;}
.hero .art{width:100%; height:auto;}
.hero-stats{margin-top:44px; display:flex; flex-wrap:wrap; gap:0; border-top:1px solid rgba(255,255,255,.14);}
.hero-stats .cell{padding:20px 26px 4px 0; margin-right:26px; border-right:1px solid rgba(255,255,255,.12);}
.hero-stats .cell:last-child{border-right:0;}
.hero-stats .big{font-family:var(--disp); font-weight:700; font-size:1.5rem; color:#fff;}
.hero-stats .lbl{font-size:13.5px; color:rgba(245,247,250,.6); margin-top:2px;}
@media (max-width:560px){
  .hero-stats{flex-direction:column;}
  .hero-stats .cell{border-right:0; border-bottom:1px solid rgba(255,255,255,.12); margin-right:0; padding:16px 0; width:100%;}
  .hero-stats .cell:last-child{border-bottom:0;}
}

/* trio */
.trio{background:var(--paper); border-bottom:1px solid var(--line);}
.trio .row{display:grid; grid-template-columns:repeat(3,1fr); gap:0;}
@media (max-width:760px){ .trio .row{grid-template-columns:1fr;} }
.trio .c{padding:34px 30px 34px 0; border-right:1px solid var(--line);}
.trio .c:last-child{border-right:0;}
@media (max-width:760px){ .trio .c{border-right:0; border-bottom:1px solid var(--line); padding:26px 0;} .trio .c:last-child{border-bottom:0;} }
.trio .c .k{font-size:13px; font-weight:700; color:var(--blue); margin-bottom:14px;}
.trio .c .h{font-family:var(--disp); font-weight:700; font-size:1.65rem; color:var(--ink);}
.trio .c .t{margin-top:10px; color:var(--ink-mute); font-size:15.5px;}

/* two column split */
.split{display:grid; grid-template-columns:.85fr 1.25fr; gap:clamp(24px,5vw,64px); align-items:start;}
@media (max-width:820px){ .split{grid-template-columns:1fr; gap:14px;} }
.split h2{font-size:clamp(2.1rem,4.8vw,3.4rem); color:var(--ink); line-height:1.08;}
/* standalone section heading (same scale as .split h2, used outside two-column layout) */
.h2-lg{font-size:clamp(2.1rem,4.8vw,3.4rem); color:var(--ink); max-width:22ch; line-height:1.08;}
.split .lead{font-size:1.12rem; color:var(--ink-soft); line-height:1.62;}
.split .lead + .lead{margin-top:16px;}

/* feature grid */
.feat{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:44px;}
@media (max-width:700px){ .feat{grid-template-columns:1fr;} }
.feat .cell{background:var(--paper); padding:30px;}
.feat .cell .mk{width:26px; height:2px; background:var(--blue); margin-bottom:16px;}
.feat .cell h3{font-family:var(--sans); font-weight:700; font-size:1.28rem; color:var(--ink);}
.feat .cell p{margin-top:8px; color:var(--ink-mute); font-size:15.5px; line-height:1.58;}

/* flagship teaser (home) */
.fteaser{background:var(--blue-deep); color:var(--blue-pale);}
.fteaser .grid{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(24px,5vw,56px); align-items:center;}
@media (max-width:900px){ .fteaser .grid{grid-template-columns:1fr;} }
.fteaser h2{color:#fff; font-size:clamp(2.1rem,5vw,3.4rem); max-width:16ch; line-height:1.08;}
.fteaser p{margin-top:18px; max-width:54ch; color:rgba(228,238,255,.86); font-size:1.08rem;}

/* service cards on home */
.svc-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:44px;}
@media (max-width:820px){ .svc-cards{grid-template-columns:1fr;} }
.svc-cards .card{background:var(--paper); padding:32px 28px; display:flex; flex-direction:column;}
.svc-cards .card .ico{color:var(--blue); margin-bottom:18px;}
.svc-cards .card .ico svg{width:36px; height:36px;}
.svc-cards .card h3{font-size:1.5rem; color:var(--ink);}
.svc-cards .card p{margin-top:10px; color:var(--ink-mute); font-size:15px; line-height:1.55; flex:1;}
.svc-cards .card .more{margin-top:18px; font-size:14.5px; font-weight:600; color:var(--blue-dk); text-decoration:none;}
.svc-cards .card .more:hover{text-decoration:underline;}

/* testimonial / quote block */
.quote-block{background:var(--paper-2); border-left:3px solid var(--blue); padding:28px 32px; margin-top:20px;}
.quote-block p{font-size:1.15rem; color:var(--ink-soft); line-height:1.6; font-style:italic;}
.quote-block .who{margin-top:14px; font-size:14px; color:var(--ink-mute); font-style:normal;}

/* services page detail rows */
.svc-detail{display:grid; grid-template-columns:56px 1fr; gap:clamp(18px,3vw,32px); padding:44px 0; border-bottom:1px solid var(--line);}
.svc-detail:first-child{border-top:1px solid var(--line);}
.svc-detail .ico{color:var(--blue);}
.svc-detail .ico svg{width:44px; height:44px;}
.svc-detail h2{font-size:2rem; color:var(--ink);}
.svc-detail .desc{margin-top:12px; max-width:68ch; color:var(--ink-soft); line-height:1.62;}
.svc-detail .subgrid{display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:26px;}
@media (max-width:700px){ .svc-detail .subgrid{grid-template-columns:1fr;} }
.svc-detail h4{font-family:var(--sans); font-size:14px; font-weight:700; color:var(--blue-dk); margin-bottom:10px;}
.svc-detail .incl{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px;}
.svc-detail .incl li{position:relative; padding-left:20px; font-size:15px; color:var(--ink-soft);}
.svc-detail .incl li::before{content:""; position:absolute; left:0; top:9px; width:7px; height:7px; background:var(--blue);}

/* process steps */
.process{background:var(--paper-2);}
.steps{display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:44px; border-top:1px solid var(--line);}
@media (max-width:820px){ .steps{grid-template-columns:repeat(2,1fr);} }
@media (max-width:460px){ .steps{grid-template-columns:1fr;} }
.steps .s{padding:26px 22px 26px 0; border-right:1px solid var(--line);}
.steps .s:last-child{border-right:0;}
@media (max-width:820px){ .steps .s{border-right:0; border-bottom:1px solid var(--line); padding:22px 0;} }
.steps .s .n{font-family:var(--disp); font-weight:700; color:var(--blue); font-size:.95rem;}
.steps .s .t{margin-top:12px; font-weight:700; color:var(--ink); font-family:var(--disp); font-size:1.1rem;}
.steps .s .d{margin-top:6px; font-size:14px; color:var(--ink-mute); line-height:1.5;}

/* FAQ */
.faq{border-top:1px solid var(--line); margin-top:8px;}
.faq details{border-bottom:1px solid var(--line); padding:20px 0;}
.faq summary{cursor:pointer; font-weight:600; font-size:1.02rem; color:var(--ink); list-style:none; display:flex; justify-content:space-between; gap:16px; align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; font-size:1.4rem; color:var(--blue); font-weight:400; flex:none;}
.faq details[open] summary::after{content:"\2212";}
.faq p{margin-top:12px; color:var(--ink-soft); font-size:15px; line-height:1.6; max-width:70ch;}

/* GrassGuards page */
.gg-hero{background:var(--blue-deep); color:var(--blue-pale); overflow:hidden; position:relative;}
.gg-hero .grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(24px,5vw,56px); align-items:center;}
@media (max-width:900px){ .gg-hero .grid{grid-template-columns:1fr;} }
.gg-hero h1{color:#fff; font-size:clamp(2.6rem,6.6vw,4.4rem); max-width:14ch; line-height:1.0;}
.gg-hero .sub{margin-top:22px; max-width:52ch; color:rgba(228,238,255,.86); font-size:1.12rem; line-height:1.55;}
.live{display:inline-flex; align-items:center; gap:10px; text-decoration:none; font-weight:600; color:#fff;
  border-bottom:1px solid var(--blue-light); padding-bottom:3px; margin-top:26px; transition:border-color .18s;}
.live:hover{border-color:#fff;}
.live .pulse{width:9px; height:9px; border-radius:50%; background:#5FE3A6; box-shadow:0 0 0 0 rgba(95,227,166,.6); animation:pulse 2.4s infinite;}
@keyframes pulse{ 0%{box-shadow:0 0 0 0 rgba(95,227,166,.5);} 70%{box-shadow:0 0 0 8px rgba(95,227,166,0);} 100%{box-shadow:0 0 0 0 rgba(95,227,166,0);} }
.caps{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:44px;}
@media (max-width:820px){ .caps{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .caps{grid-template-columns:1fr;} }
.caps .cap{background:var(--paper); padding:26px 24px;}
.caps .cap .g{color:var(--blue); width:30px; height:30px;}
.caps .cap h3{font-family:var(--sans); font-weight:700; font-size:1.06rem; color:var(--ink); margin-top:14px;}
.caps .cap p{margin-top:6px; font-size:14.5px; color:var(--ink-mute); line-height:1.5;}
.sources{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px;}
.sources a{font-size:13.5px; font-weight:600; color:var(--blue-dk); text-decoration:none; border:1px solid color-mix(in srgb, var(--blue) 35%, transparent); padding:5px 13px; border-radius:2px; transition:.15s;}
.sources a:hover{background:var(--blue-pale); border-color:var(--blue);}

.pipeline{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:44px; border-top:1px solid var(--line);}
@media (max-width:820px){ .pipeline{grid-template-columns:repeat(2,1fr);} }
@media (max-width:460px){ .pipeline{grid-template-columns:1fr;} }
.pipeline .s{padding:26px 22px 26px 0; border-right:1px solid var(--line);}
.pipeline .s:last-child{border-right:0;}
@media (max-width:820px){ .pipeline .s{border-right:0; border-bottom:1px solid var(--line); padding:22px 0;} }
.pipeline .n{font-family:var(--disp); font-weight:700; color:var(--blue); font-size:.95rem;}
.pipeline .t{margin-top:12px; font-weight:700; color:var(--ink); font-family:var(--disp); font-size:1.05rem;}
.pipeline .d{margin-top:6px; font-size:14px; color:var(--ink-mute); line-height:1.5;}

/* contact */
.cgrid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,60px);}
@media (max-width:820px){ .cgrid{grid-template-columns:1fr;} }
.cinfo .row{display:grid; grid-template-columns:130px 1fr; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); align-items:baseline;}
.cinfo .row .k{font-size:14px; font-weight:600; color:var(--blue-dk);}
.cinfo .row .v{font-size:1.05rem; color:var(--ink); font-weight:500;}
.cinfo .row .v a{color:var(--ink); text-decoration:none; border-bottom:1px solid var(--blue);}
.cinfo .ph{color:var(--ink-mute); font-style:italic; font-weight:400;}
form.cf{display:flex; flex-direction:column; gap:14px;}
form.cf label{font-size:14px; font-weight:600; color:var(--ink-soft); display:flex; flex-direction:column; gap:6px;}
form.cf input, form.cf select, form.cf textarea{font-family:var(--sans); font-size:15.5px; padding:12px 14px;
  border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--ink);}
form.cf input:focus, form.cf select:focus, form.cf textarea:focus{outline:none; border-color:var(--blue);}
form.cf textarea{resize:vertical; min-height:120px;}
.cf-note{font-size:13px; color:var(--ink-mute);}

/* footer */
footer{background:color-mix(in srgb, var(--ink) 94%, black); color:rgba(245,247,250,.72);}
footer .top{padding-block:48px; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:32px;}
@media (max-width:760px){ footer .top{grid-template-columns:1fr; gap:26px;} }
footer h4{font-family:var(--sans); font-size:13px; font-weight:700; color:var(--blue-light); margin-bottom:14px;}
footer .fnav{display:flex; flex-direction:column; gap:9px;}
footer .fnav a{color:rgba(245,247,250,.72); text-decoration:none; font-size:15px;}
footer .fnav a:hover{color:#fff;}
footer .blurb{max-width:34ch; font-size:15px; line-height:1.55;}
footer .bar{border-top:1px solid rgba(255,255,255,.1); padding-block:20px; font-size:13px; color:rgba(245,247,250,.5);
  display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between;}
.flogo{display:flex; align-items:center; gap:10px; margin-bottom:16px;}
.flogo img{height:30px; width:auto;}
.flogo .wm{font-family:var(--disp); font-weight:800; font-size:17px; color:#fff;}
.flogo .wm span{color:var(--blue-light);}

/* 404 */
.notfound{min-height:50vh; display:flex; align-items:center;}
.notfound .code{font-family:var(--disp); font-weight:800; font-size:clamp(4rem,14vw,8rem); color:var(--blue); line-height:1;}

/* ---------- stat band (big numbers) ---------- */
.statband{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:44px; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
@media (max-width:760px){ .statband{grid-template-columns:repeat(2,1fr);} }
.statband .s{padding:30px 26px 30px 0; border-right:1px solid var(--line);}
.statband .s:last-child{border-right:0;}
@media (max-width:760px){ .statband .s:nth-child(2n){border-right:0;} .statband .s{border-bottom:1px solid var(--line);} .statband .s:nth-last-child(-n+2){border-bottom:0;} }
.statband .s .num{font-family:var(--disp); font-weight:800; font-size:clamp(2rem,4vw,2.6rem); color:var(--blue-dk);}
.statband .s .lbl{margin-top:6px; font-size:14px; color:var(--ink-mute); line-height:1.4;}
.statband.on-dark .s{border-color:rgba(255,255,255,.14);}
.statband.on-dark .s .num{color:#fff;}
.statband.on-dark .s .lbl{color:rgba(245,247,250,.65);}
.statband-3{grid-template-columns:repeat(3,1fr);}
@media (max-width:760px){ .statband-3{grid-template-columns:1fr;} .statband-3 .s{border-right:none; border-bottom:1px solid rgba(255,255,255,.14); padding:22px 0;} .statband-3 .s:last-child{border-bottom:none;} }

/* ---------- work / capability showcase ---------- */
.work-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:44px;}
@media (max-width:820px){ .work-grid{grid-template-columns:1fr;} }
.work-card{background:var(--paper); padding:32px; display:flex; flex-direction:column; position:relative; overflow:hidden;}
.work-card .tag{display:inline-flex; align-self:flex-start; font-size:12.5px; font-weight:700; letter-spacing:.02em; color:var(--blue-dk);
  background:var(--blue-pale); padding:5px 12px; border-radius:20px; margin-bottom:16px;}
.work-card h3{font-size:1.48rem; color:var(--ink);}
.work-card p{margin-top:10px; color:var(--ink-mute); font-size:15px; line-height:1.6; flex:1;}
.work-card .spec{margin-top:16px; display:flex; flex-wrap:wrap; gap:8px;}
.work-card .spec span{font-size:12.5px; font-weight:500; color:var(--ink-soft); background:var(--paper-2); border:1px solid var(--line); padding:4px 10px; border-radius:3px;}
.work-card .glyph{position:absolute; top:18px; right:22px; color:var(--blue-light); opacity:.55;}
.work-card .glyph svg{width:34px; height:34px;}
.work-card .more{margin-top:18px; font-size:14.5px; font-weight:600; color:var(--blue-dk); text-decoration:none; align-self:flex-start;}
.work-card .more:hover{text-decoration:underline;}

/* ---------- testimonial / trust ---------- */
.quote-hero{background:var(--paper-2); border-radius:6px; padding:clamp(28px,4vw,48px); position:relative;}
.quote-hero .mark{font-family:var(--disp); font-size:3.4rem; color:var(--blue-light); line-height:1; margin-bottom:4px;}
.quote-hero p.qtext{font-size:clamp(1.15rem,2.2vw,1.5rem); color:var(--ink); line-height:1.5; font-weight:500; max-width:52ch;}
.quote-hero .who{margin-top:20px; font-size:14.5px; color:var(--ink-mute);}
.quote-hero .who b{color:var(--ink-soft); font-weight:600;}

.trust-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:28px;}
.trust-row span{font-size:13.5px; font-weight:600; color:var(--ink-soft); background:var(--paper); border:1px solid var(--line);
  padding:7px 14px; border-radius:20px;}

/* ---------- engagement models ---------- */
.models{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:44px;}
@media (max-width:820px){ .models{grid-template-columns:1fr;} }
.models .m{background:var(--paper); padding:30px 28px;}
.models .m .idx{font-family:var(--disp); font-weight:700; color:var(--blue-light); font-size:2rem; line-height:1;}
.models .m h3{margin-top:14px; font-size:1.16rem; color:var(--ink);}
.models .m p{margin-top:10px; color:var(--ink-mute); font-size:15px; line-height:1.58;}

/* ---------- section eyebrow divider ---------- */
.divider{height:1px; background:linear-gradient(90deg, var(--blue) 0%, var(--line) 18%); margin-bottom:28px; width:100%;}

/* ---------- subtle hero backdrop shape ---------- */
.backdrop-shape{position:absolute; inset:0; pointer-events:none; overflow:hidden;}
.backdrop-shape svg{position:absolute; opacity:.5;}
