/* Layout concept: cool blue-grey storefront. Gradient hero with a centre logo notch and a device card rising from the
   bottom edge, ghost type behind a three-card gallery, dark rounded cards with pill tags, glass-label tiles. */
:root{
  --bg:#eaeff1; --band:#cfe0e8; --surface:#ffffff; --ink:#0e1215; --muted:#667178; --line:#d3dde2;
  --dark:#12171a; --on-dark:#f2f7f9; --accent:#2b7a99; --accent-lt:#9fd0e4; --field:#f1f5f7;
  --glass:rgba(255,255,255,.8); --hero-a:#b4d0db; --hero-b:#e7eef1;
  --d1:linear-gradient(150deg,#22343e,#0c1114);
  --d2:linear-gradient(150deg,#2a4553,#0e161b);
  --d3:linear-gradient(150deg,#33474f,#12191d);
  --d4:linear-gradient(150deg,#1e3b4a,#0a1115);
  --display:'Krona One','Arial Black',system-ui,sans-serif;
  --body:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--body);padding-inline:clamp(16px,2.4vw,28px);padding-block:12px 0;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,ul,figure,dl,dd{margin:0}
ul{padding:0;list-style:none}
a{color:inherit}
.wrap{max-width:1320px;margin-inline:auto}
section[id]{scroll-margin-top:90px}
.sec{padding-block:clamp(56px,8vw,104px)}
.display{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:-.01em;line-height:1.1;text-wrap:balance}
h2.display{font-size:clamp(1.1rem,2.2vw,1.8rem)}
.label{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.small{font-size:.76rem;line-height:1.55;color:var(--muted)}
.center{text-align:center;margin-inline:auto}
.fine{font-size:.74rem;color:var(--muted)}

/* pills */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:.85rem 1.6rem;border-radius:999px;border:0;font:600 .7rem/1 var(--body);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .2s,opacity .2s}
.pill:hover{transform:translateY(-1px);opacity:.92}
.pill-dark{background:var(--ink);color:#fff}
.pill-light{background:#fff;color:var(--ink)}
.pill-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);letter-spacing:.02em;text-transform:none;font-weight:500;font-size:.82rem;padding:.55rem 1.05rem}
.pill-arrow{padding-right:6px}
.pill-arrow i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* header */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;height:0}
.hw{position:relative;max-width:1320px;margin-inline:auto}
.bar{position:absolute;left:50%;right:auto;width:100%;transform:translateX(-50%);top:0;z-index:1;isolation:isolate;display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;height:60px;padding-inline:clamp(18px,2.6vw,34px);transition:width .35s ease,background .25s,box-shadow .25s,top .25s,border-radius .25s}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);line-height:1}
.brand svg,.brand img{flex:none}
.logo{display:block;width:48px;height:48px;object-fit:contain}
.foot .logo{padding:4px;border-radius:14px;background:#fff}
.brand b{display:block;font:400 .8rem/1 var(--display);letter-spacing:.02em;text-transform:uppercase}
.brand span{display:block;margin-top:4px;font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.nl,.nr{display:none}
.nl a,.nr a:not(.pill),.drop a{font-size:.66rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;color:var(--ink);transition:color .2s}
.nl a:hover,.nr a:not(.pill):hover,.nl a[aria-current="true"],.nr a[aria-current="true"]{color:var(--accent)}
.lockc{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff}
.menu-btn{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:0;background:var(--ink);color:#fff;cursor:pointer}
.drop{display:none}
.bar.open .drop{display:flex;flex-direction:column;position:absolute;right:12px;top:calc(100% + 8px);width:min(280px,calc(100vw - 32px));padding:10px;border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(14,18,21,.2)}
.drop a{padding:.8rem 1rem;border-radius:12px;font-size:.74rem}
.drop a:hover,.drop a[aria-current="true"]{background:var(--field);color:var(--accent)}
.bar.stuck{top:8px;height:54px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(14,18,21,.16)}
@media (min-width:1100px){
  .bar{grid-template-columns:1fr auto 1fr}
  .bar::before{content:"";position:absolute;left:50%;top:0;z-index:-1;width:250px;height:64px;transform:translateX(-50%);background:var(--bg);clip-path:polygon(0 0,100% 0,calc(100% - 34px) 100%,34px 100%)}
  .bar.stuck::before{display:none}
  .bar.stuck{width:min(100%,960px)}
  .bar.stuck .nl,.bar.stuck .nr{gap:clamp(12px,1.4vw,20px)}
  .nl,.nr{display:flex;align-items:center;gap:clamp(14px,1.8vw,26px)}
  .nr{justify-content:flex-end}
  .menu-btn,.drop{display:none!important}
  .brand{justify-self:center}
}

/* hero */
.hero{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:clamp(26px,3vw,40px);padding:clamp(96px,9vw,128px) clamp(18px,3vw,34px) 28px;border-radius:clamp(20px,2.4vw,32px);
  background:radial-gradient(60% 50% at 50% 100%,rgba(255,255,255,.55),transparent 70%),linear-gradient(180deg,var(--hero-a) 0%,#cfe0e7 50%,var(--hero-b) 100%)}
.hero-top{display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-eyebrow{margin-bottom:16px}
.hero h1{font-size:clamp(1.3rem,2.7vw,2.4rem);max-width:40ch}
.hero-desc{width:0;min-width:90%;margin-top:16px;font-size:.92rem;line-height:1.7}
.pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.stage{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:end}
.stage-l{display:flex;flex-direction:column;gap:14px;width:100%;max-width:460px;text-align:center;align-items:center}
.device{order:-1;grid-column:1/-1;width:100%;padding:8px 0 14px;color:var(--ink)}
.dv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:880px;margin:0 auto;perspective:900px;align-items:center}
.dv-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:150px;padding:18px 16px 16px;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 22px 44px rgba(34,64,84,.2),0 2px 6px rgba(34,64,84,.08);color:#16222a;transition:transform .4s ease}
.dv-card .t{margin:0;font:600 .92rem/1.25 var(--body);text-transform:none;letter-spacing:-.005em;color:#1b2a33}
.dv-card .v{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.dv-card .v>div{min-width:0}
.dv-card .v em{display:block;font-style:normal;font-size:.72rem;font-weight:500;line-height:1;margin-bottom:5px;color:#8a9aa4}
.dv-card .v strong{display:block;font:400 clamp(1.5rem,2.3vw,1.95rem)/1 var(--display);font-variant-numeric:tabular-nums;color:#16222a}
.dv-bars-ico{display:flex;align-items:flex-end;gap:3px;height:22px;flex:none}
.dv-bars-ico i{width:5px;border-radius:2px;background:#2f8f9a}
.dv-bars-ico i:nth-child(1){height:9px;opacity:.55}
.dv-bars-ico i:nth-child(2){height:15px;opacity:.8}
.dv-bars-ico i:nth-child(3){height:22px}
.dv-pill{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:24px;border-radius:999px;background:#e4f3ee;color:#2d7a62;font-size:.8rem;font-weight:700;line-height:1}
.dv-card.hero-stat{background:linear-gradient(160deg,#86a996 0%,#628b75 52%,#4d7563 100%);color:#fff;box-shadow:0 24px 46px rgba(52,86,70,.35),0 2px 6px rgba(34,64,84,.1)}
.dv-card.hero-stat::before,.dv-card.hero-stat::after{content:"";position:absolute;border-radius:50%;pointer-events:none;background:repeating-radial-gradient(circle,rgba(255,255,255,.2) 0 1px,transparent 1px 11px)}
.dv-card.hero-stat::before{width:150px;height:150px;right:-52px;top:-48px}
.dv-card.hero-stat::after{width:90px;height:90px;right:-14px;top:-8px;opacity:.7}
.dv-card.hero-stat .t{position:relative;z-index:1;font-size:1.15rem;font-weight:500;line-height:1.2;color:#fff;max-width:11ch}
.dv-card.hero-stat .v{position:relative;z-index:1}
.dv-card.hero-stat .v strong{color:#fff;font-size:clamp(1.9rem,3vw,2.5rem)}
.dv-card:nth-child(odd){transform:rotateY(10deg)}
.dv-card:nth-child(even){transform:rotateY(-10deg)}
.stage-l .sub{font:400 .78rem/1.3 var(--display);text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
@media (min-width:900px){
  .stage{grid-template-columns:minmax(0,1fr);justify-items:center;align-items:start;gap:34px}
  .stage-l{max-width:640px;align-items:center;text-align:center}
  .dv-grid{grid-template-columns:1.15fr .9fr .9fr 1.15fr;gap:22px;padding:6px 0}
  .dv-card{min-height:150px;padding:18px 16px 16px}
  .dv-card.hero-stat,.dv-card:nth-child(4){min-height:205px}
  .dv-card:nth-child(1){transform:rotateY(26deg)}
  .dv-card:nth-child(2){transform:rotateY(15deg)}
  .dv-card:nth-child(3){transform:rotateY(-15deg)}
  .dv-card:nth-child(4){transform:rotateY(-26deg)}
  .dv-card:hover{transform:rotateY(0) translateY(-8px)}
}

/* about */
.about-head{display:grid;grid-template-columns:1fr;gap:18px 40px;align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.about-head h2{margin-top:12px;max-width:20ch}
@media (min-width:900px){.about-head{grid-template-columns:1.3fr .7fr}}
.gal-wrap{position:relative}
.ghost{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:0;text-align:center;font:400 clamp(4.2rem,15vw,12.4rem)/1 var(--display);text-transform:uppercase;color:rgba(14,18,21,.12);pointer-events:none;user-select:none;white-space:nowrap;overflow:hidden}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .ghost{background:linear-gradient(180deg,rgba(14,18,21,.2),rgba(14,18,21,.08));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
}
.gal{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.gc{display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-width:0}
.gc.b{justify-content:center}
.art{position:relative;overflow:hidden;max-width:100%;border-radius:22px;color:var(--on-dark);background:var(--d1)}
.art .cap{position:absolute;left:16px;right:16px;bottom:14px;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.art .cap small{display:block;margin-top:2px;font-weight:400;letter-spacing:0;text-transform:none;color:#a9bcc5}
.a1{aspect-ratio:4/5}
.a1 svg{position:absolute;inset:0;width:100%;height:100%}
.ring{fill:none;stroke:#fff;stroke-opacity:.35;stroke-width:1.5;stroke-dasharray:3 6;stroke-linecap:round}
.nd{fill:#fff}
.nt{font:600 9px var(--body);fill:#0e1215;text-anchor:middle;dominant-baseline:central}
.a2{aspect-ratio:3/4;background:var(--d2)}
.a2 .big{position:absolute;left:18px;top:16px;font:400 clamp(2.6rem,6vw,4.4rem)/1 var(--display)}
.a2 .bs{position:absolute;left:18px;right:18px;bottom:70px;display:flex;align-items:flex-end;gap:8px;height:42%}
.a2 .bs i{flex:1;border-radius:8px 8px 0 0;background:rgba(255,255,255,.2)}
.a2 .bs i:last-child{background:#9fd0e4}
.a3{aspect-ratio:4/5;background:var(--d3)}
.a3 svg{position:absolute;left:50%;top:38%;width:76px;height:76px;transform:translate(-50%,-50%);fill:none;stroke:#fff;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
@media (min-width:900px){
  .gal{grid-template-columns:19% 28% 19%;justify-content:space-between}
}

/* services */
.sv-head{display:grid;grid-template-columns:1fr;gap:16px;justify-items:center;text-align:center;margin-bottom:clamp(40px,5vw,72px)}
.sv-head h2{margin-top:12px;margin-inline:auto;max-width:34ch}
.sv-head .small{max-width:125ch;margin-inline:auto}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px}
.bigc{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:26px;min-height:500px;padding:clamp(22px,3vw,34px);border-radius:28px;color:var(--on-dark)}
.bigc.s1{background:var(--d1)}
.bigc.s2{background:var(--d4)}
.bigc>*{position:relative;z-index:1}
.bigc svg.mt{position:absolute;right:-10%;bottom:-8%;width:70%;height:auto;z-index:0;fill:none;stroke:#fff;stroke-opacity:.12;stroke-width:1.5}
.tagp{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:.4rem .9rem;border-radius:999px;border:1px solid rgba(255,255,255,.45);font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.tagp::before{content:"";width:5px;height:5px;border-radius:50%;background:#fff}
.bigc h3{font:400 clamp(1.25rem,2.3vw,1.8rem)/1.2 var(--display);text-transform:uppercase;max-width:15ch}
.fade{color:rgba(242,247,249,.4)}
.bigc p{max-width:44ch;font-size:.88rem;color:#b9cad2}
.rows{margin-top:auto}
.rows li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:13px 0;border-top:1px solid rgba(255,255,255,.14);font-size:.92rem}
.rows b{font-weight:500}
.rows span{color:var(--accent-lt);font-size:.76rem;white-space:nowrap;font-variant-numeric:tabular-nums}

/* specialties band */
.band{padding:0}
.band-top{display:flex;justify-content:space-between;gap:16px}
/* specialties: copy + bullet list on the left, uploaded image on the right */
.spx{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,5vw,56px);align-items:center}
.spx-copy{display:flex;flex-direction:column;gap:16px;min-width:0}
.spx-copy h2{max-width:32ch}
.spx-copy h2 em{font-style:normal;color:inherit}
.spx-copy .small{max-width:75ch;font-size:.88rem}
.spx-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:10px 24px;margin-top:6px;max-width:720px}
.spx-list li{position:relative;padding-left:22px;font-size:.88rem;font-weight:500;line-height:1.4;color:var(--ink)}
.spx-list li::before{content:"";position:absolute;left:0;top:.42em;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(43,122,153,.18)}
.spx-photos{position:relative;width:min(100%,520px);aspect-ratio:1/.95;margin-inline:auto}
.spx-photos .ph{position:absolute;background:center/cover no-repeat,linear-gradient(150deg,var(--hero-a),var(--hero-b));box-shadow:0 14px 34px rgba(34,64,84,.18)}
.spx-photos .ph-main{inset:0;border-radius:22px;background-image:var(--img-spx-1,none),linear-gradient(150deg,var(--hero-a),var(--hero-b))}
.spx-photos{order:2}
@media (min-width:900px){.spx{grid-template-columns:repeat(2,minmax(0,1fr))}}
.more{display:flex;justify-content:center;margin-top:28px}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:26px}
.chips .pill-ghost{background:rgba(255,255,255,.55)}

/* why us */
.why{display:grid;grid-template-columns:1fr;gap:36px;align-items:start;max-width:1100px;margin-inline:auto}
.why-copy{display:flex;flex-direction:column;gap:14px;min-width:0}
.why-eyebrow,.sec-label{font-size:.78rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.why-copy h2{text-align:left;margin:0}
.why-copy>.small{font-size:.88rem;margin:0}
.why-list{max-height:440px;overflow-y:auto;padding-right:12px;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;overscroll-behavior:contain}
.why-list::-webkit-scrollbar{width:6px}
.why-list::-webkit-scrollbar-thumb{background:var(--accent);border-radius:999px}
.why-card{margin-bottom:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:border-color .2s,background .2s}
.why-card[open]{border-color:var(--accent);background:rgba(43,122,153,.06)}
.why-card summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none;font-size:.92rem;font-weight:600;color:var(--ink)}
.why-card summary::-webkit-details-marker{display:none}
.why-card summary::after{content:"";flex:none;width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667178' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .2s}
.why-card[open] summary::after{transform:rotate(180deg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232b7a99' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
.why-body{padding:0 20px 20px}
.why-body b{display:block;font-size:.84rem;font-weight:600;color:var(--ink);margin-bottom:10px}
.why-body p{margin:0;font-size:.84rem;line-height:1.6;color:var(--muted);max-width:none}
@media (min-width:900px){.why{grid-template-columns:7fr 3fr;gap:48px}}


/* partnerships */
.sec-head{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;margin-bottom:32px}
.sec-head .small{max-width:54ch}
.pgrid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}
.pcard{padding:clamp(22px,3vw,32px);border-radius:24px;background:var(--surface)}
.pcard h3{margin-bottom:16px}
.pcard .chips{justify-content:flex-start;margin-top:0}
.pcard .pill-ghost{background:var(--field);box-shadow:none}

/* cta */
.cta{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:clamp(40px,7vw,88px) clamp(20px,4vw,48px);border-radius:clamp(22px,3vw,34px);
  background:var(--hero-a)}
.cta .why-eyebrow{margin-bottom:8px}
.cta h2{font-size:clamp(1.2rem,2.6vw,2.2rem);max-width:32ch;text-wrap:balance}
.cta p{max-width:72ch;margin-top:16px;color:#3a464d}

/* testimonials */
.rv-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;max-width:1100px;margin-inline:auto;margin-bottom:clamp(28px,4vw,48px)}
.rv-head h2{margin:0;text-wrap:balance}
.rv-head h2 em{font-style:italic}
.rv-para{max-width:90ch;font-size:.88rem;margin:0 auto}
.rv{display:grid;grid-template-columns:1fr;gap:36px;align-items:center;max-width:1280px;margin-inline:auto}
.rv-arc{position:relative;width:min(100%,340px);height:300px}
.rv-arc>svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--line);stroke-width:1.5}
.rv-slot{position:absolute;display:flex;align-items:center;gap:14px;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;transform:translateY(-50%);transition:opacity .25s}
.rv-slot.side{cursor:pointer;opacity:.85}
.rv-slot.side:hover{opacity:1}
.rv-slot.top{left:41px;top:40px}
.rv-slot.mid{left:59px;top:150px}
.rv-slot.bot{left:41px;top:260px}
.rv-av{position:relative;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(150deg,#3b4a52,#12171a);color:#fff;font-weight:600;letter-spacing:.04em;box-shadow:0 0 0 3px #fff,0 6px 16px rgba(34,64,84,.18)}
.rv-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.rv-slot.side .rv-av{width:44px;height:44px;font-size:.74rem}
.rv-slot.mid .rv-av{width:64px;height:64px;font-size:1rem}
.rv-meta{min-width:0}
.rv-meta b{display:block;font-weight:600;font-size:.84rem;line-height:1.3}
.rv-meta span{display:flex;align-items:center;gap:6px;font-size:.74rem;color:var(--muted)}
.rv-meta span::before{content:"\2605";color:var(--accent)}
.rv-slot.mid .rv-meta b{font-size:1.15rem;font-weight:500}
.rv-slot.mid .rv-meta span{font-size:.82rem}
.rv-quote{position:relative;margin:0 auto;padding-left:34px;max-width:82ch;transition:opacity .25s}
.rv-quote::before{content:"\201C";position:absolute;left:0;top:-4px;font:italic 2rem/1 Georgia,'Noto Serif',serif;color:var(--accent)}
.rv-quote p{margin:0;font:italic 400 clamp(.9rem,1.3vw,1.05rem)/1.75 Georgia,'Noto Serif','Times New Roman',serif;color:var(--ink)}
.rv-quote p::first-letter{font-size:1.7em;line-height:1}
.rv.fade .rv-quote,.rv.fade .rv-slot{opacity:0}
@media (min-width:900px){.rv{grid-template-columns:340px minmax(0,780px);justify-content:center;gap:clamp(40px,7vw,96px)}}

/* contact */
.contact{display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,56px);max-width:1320px;margin-inline:auto}
@media (min-width:900px){.contact{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}}
.contact form{width:100%}
.cinfo{display:flex;flex-direction:column;gap:28px}
.cinfo h2{max-width:26ch}
.cinfo dl{display:grid;gap:20px}
.cinfo dt{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cinfo dd{margin-top:4px;font-size:1.05rem;overflow-wrap:anywhere}
form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-self:start;padding:clamp(22px,3.4vw,38px);border-radius:28px;background:var(--surface)}
.f{display:flex;flex-direction:column;gap:6px;min-width:0}
.f.full{grid-column:1/-1}
@media (max-width:560px){.f{grid-column:1/-1}}
label{font-size:.76rem;font-weight:500;color:var(--muted)}
input,select,textarea{width:100%;padding:.8rem 1rem;border-radius:14px;border:1px solid transparent;background:var(--field);color:var(--ink);font:400 .95rem var(--body)}
textarea{min-height:110px;resize:vertical}
#formNote{grid-column:1/-1;font-size:.85rem;color:var(--muted);margin:0}
#formNote:empty{display:none}
form .pill{justify-self:start}
.f label b{color:#b3261e;font-weight:600}
.err{min-height:1.1em;font-size:.74rem;line-height:1.3;color:#b3261e}
input.bad,select.bad,textarea.bad{border-color:#b3261e;background:#fdf3f2}
select{appearance:none;-webkit-appearance:none;padding-right:2.4rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667178' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;background-size:16px}
.cap{grid-column:1/-1;display:flex;flex-direction:column;gap:6px;overflow-x:auto}
#formNote.ok{color:#1f7a4d}
#formNote.no{color:#b3261e}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;overflow:hidden}


/* faq */
.faq-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;max-width:1100px;margin:0 auto clamp(28px,4vw,44px)}
.faq-head h2{margin:0;max-width:none;text-wrap:balance}
.faq-wrap{display:grid;grid-template-columns:1fr;gap:clamp(24px,4vw,48px);align-items:start;max-width:1100px;margin-inline:auto}
.faq-wrap .faq-list{max-width:none;margin:0;min-width:0}
.faq-img{margin:0;width:100%;aspect-ratio:16/10;border-radius:28px;background-color:#12303f;background-image:linear-gradient(180deg,rgba(10,20,26,.05),rgba(10,20,26,.3)),var(--img-faq),var(--d2);background-size:cover;background-position:center}
@media (min-width:900px){.faq-wrap{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}.faq-img{aspect-ratio:4/5;position:sticky;top:110px}}
.faq-list{max-width:900px;margin-inline:auto}
.faq-list details{border-bottom:1px solid var(--line);transition:background .2s}
.faq-list details[open]{border-radius:14px;background:rgba(43,122,153,.07);border-bottom-color:transparent}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;cursor:pointer;list-style:none;font-size:1rem;font-weight:500}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";flex:none;display:grid;place-items:center;width:22px;height:22px;font-size:1.5rem;font-weight:300;line-height:1;color:var(--ink)}
.faq-list details[open] summary::after{content:"\2212";color:var(--accent)}
.faq-list details p{margin:0;padding:0 24px 24px;max-width:none;font-size:.88rem;line-height:1.65;color:var(--muted)}

/* footer */
.foot{margin-top:clamp(24px,4vw,56px);margin-bottom:12px;padding:clamp(28px,4vw,56px);border-radius:clamp(22px,3vw,34px);background:radial-gradient(60% 60% at 50% 110%,rgba(255,255,255,.6),transparent 70%),linear-gradient(180deg,var(--hero-a),#d3e3ea 60%,var(--hero-b));color:var(--ink)}
.f-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:36px}
.f-brand{display:flex;flex-direction:column;gap:14px;max-width:34ch;font-size:.88rem;color:#3a464d}
.foot .brand{color:var(--ink)}
.foot .brand span{color:var(--muted)}
.f-cols{display:flex;flex-wrap:wrap;gap:clamp(28px,6vw,80px)}
.f-cols h4{font-size:.9rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:12px}
.f-cols li+li{margin-top:8px}
.f-cols a{color:#3a464d;text-decoration:none;font-size:.82rem}
.f-cols a:hover{color:var(--accent)}
.f-cols p{font-size:.82rem;overflow-wrap:anywhere}
.f-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:44px;padding-top:20px;border-top:1px solid rgba(14,18,21,.14);font-size:.8rem;color:#3a464d}
.f-bottom a{color:#3a464d}
.ci{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:rgba(43,122,153,.12);color:var(--accent)}
.cinfo dt{display:flex;align-items:center;gap:10px}
.f-contact p{display:flex;align-items:flex-start;gap:10px}
.f-contact p+p{margin-top:10px}
.f-contact .ci{width:32px;height:32px;background:#fff;color:var(--ink);transition:transform .2s,background .2s,color .2s}
.f-contact p:hover .ci{background:var(--accent);color:#fff;transform:translateY(-2px)}
.f-contact p>a,.f-contact p>span:last-child{padding-top:5px;color:#3a464d;text-decoration:none}
.f-contact p>a:hover{color:var(--accent)}
.f-social{display:flex;gap:10px;margin-top:2px}
.f-social a{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--ink);transition:transform .2s,background .2s,color .2s}
.f-social a:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}


/* ===== Animations (same motion everywhere) ===== */
@keyframes up{from{opacity:0;transform:translateY(24px)}}
/* hero: plays once on load, no JS needed */
.hero-top>*{animation:up .6s cubic-bezier(.2,.7,.2,1) backwards}
.hero-top>*:nth-child(2){animation-delay:.07s}.hero-top>*:nth-child(3){animation-delay:.14s}.hero-top>*:nth-child(4){animation-delay:.21s}
.hero .dv-card{animation:up .7s cubic-bezier(.2,.7,.2,1) backwards}
.hero .dv-card:nth-child(1){animation-delay:.2s}.hero .dv-card:nth-child(2){animation-delay:.28s}.hero .dv-card:nth-child(3){animation-delay:.36s}.hero .dv-card:nth-child(4){animation-delay:.44s}
/* every other section: fade up when it scrolls into view */
.js .rvl{opacity:0}
.js .rvl.rvl-in{opacity:1;animation:up .7s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--d,0s)}
@media (prefers-reduced-motion:reduce){
  .hero-top>*,.hero .dv-card,.js .rvl.rvl-in{animation:none!important}
  .js .rvl{opacity:1}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* ===== BACKGROUND IMAGES =====
   Upload your files to an /images folder next to this PHP file and name them as below
   (or change the paths here). Any slot with no file simply keeps its original gradient. */
:root{
  --img-stat-1:url('../images/stat-1.webp');--img-stat-2:url('../images/stat-2.webp');--img-stat-3:url('../images/stat-3.webp');--img-stat-4:url('../images/stat-4.webp');
  /* placeholders: real photos load after first scroll/touch, see script at the bottom */
  --img-spx-1:linear-gradient(transparent,transparent);--img-faq:linear-gradient(transparent,transparent);--img-about:linear-gradient(transparent,transparent);--img-av-1:linear-gradient(transparent,transparent);--img-av-2:linear-gradient(transparent,transparent);--img-av-3:linear-gradient(transparent,transparent);--img-av-4:linear-gradient(transparent,transparent);--img-sg-1:linear-gradient(transparent,transparent);--img-sg-2:linear-gradient(transparent,transparent);--img-sg-3:linear-gradient(transparent,transparent);--img-sg-4:linear-gradient(transparent,transparent);--img-svc-1:linear-gradient(transparent,transparent);--img-svc-2:linear-gradient(transparent,transparent);--img-sp-1:linear-gradient(transparent,transparent);--img-sp-2:linear-gradient(transparent,transparent);--img-sp-3:linear-gradient(transparent,transparent);--img-sp-4:linear-gradient(transparent,transparent);--img-sp-5:linear-gradient(transparent,transparent);--img-sp-6:linear-gradient(transparent,transparent);--img-sp-7:linear-gradient(transparent,transparent);--img-sp-8:linear-gradient(transparent,transparent);
}
html.imgs{
  --img-spx-1:url('../images/specialties-1.webp');
  --img-faq:url('../images/faq.webp');
  --img-about:url('../images/about.webp');
  --img-av-1:url('../images/avatar-1.webp');
  --img-av-2:url('../images/avatar-2.webp');
  --img-av-3:url('../images/avatar-3.webp');
  --img-av-4:url('../images/avatar-4.webp');
  --img-sg-1:url('../images/billing-enrollment.webp');
  --img-sg-2:url('../images/medical-coding.webp');
  --img-sg-3:url('../images/denial-management.webp');
  --img-sg-4:url('../images/ar-management.webp');
  --img-svc-1:url('../images/service-1.jpg');
  --img-svc-2:url('../images/service-2.jpg');
  --img-sp-1:url('../images/Anesthesia.webp');
  --img-sp-2:url('../images/Orthopedics.webp');
  --img-sp-3:url('../images/Behavioral_health.webp');
  --img-sp-4:url('../images/Physical_therapy.webp');
  --img-sp-5:url('../images/Cardiology.webp');
  --img-sp-6:url('../images/Podiatry.webp');
  --img-sp-7:url('../images/Emergency_medicine.webp');
  --img-sp-8:url('../images/Radiology.webp');
}
/* stats cards: photo + dark scrim so numbers stay readable */
.dv-card{color:#fff;background:linear-gradient(180deg,rgba(10,20,26,.35),rgba(10,20,26,.78)),var(--bg-img,none),linear-gradient(150deg,#22343e,#0c1114);background-size:cover;background-position:center}
.dv-card .t,.dv-card .v strong{color:#fff}
.dv-card .v em{color:rgba(255,255,255,.75)}
.dv-bars-ico i{background:#9fd0e4}
.dv-pill{background:rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.dv-card.hero-stat{background:linear-gradient(180deg,rgba(10,20,26,.35),rgba(10,20,26,.78)),var(--bg-img,none),linear-gradient(150deg,#22343e,#0c1114);background-size:cover;background-position:center;box-shadow:0 22px 44px rgba(34,64,84,.2),0 2px 6px rgba(34,64,84,.08)}
.dv-card:nth-child(1){--bg-img:var(--img-stat-1)}.dv-card:nth-child(2){--bg-img:var(--img-stat-2)}
.dv-card:nth-child(3){--bg-img:var(--img-stat-3)}.dv-card:nth-child(4){--bg-img:var(--img-stat-4)}
/* other image slots */
.art,.bigc{background-size:cover;background-position:center}
.a1{background-image:linear-gradient(180deg,rgba(10,20,26,.1),rgba(10,20,26,.6)),var(--img-art-1),var(--d1)}
.a2{background-image:linear-gradient(180deg,rgba(10,20,26,.1),rgba(10,20,26,.6)),var(--img-art-2),var(--d2)}
.a3{background-image:linear-gradient(180deg,rgba(10,20,26,.1),rgba(10,20,26,.6)),var(--img-art-3),var(--d3)}
.bigc.s1{background-image:linear-gradient(180deg,rgba(10,17,21,.7),rgba(10,17,21,.88)),var(--img-svc-1),var(--d1)}
.bigc.s2{background-image:linear-gradient(180deg,rgba(10,17,21,.7),rgba(10,17,21,.88)),var(--img-svc-2),var(--d4)}

.dv-card.hero-stat::before,.dv-card.hero-stat::after{display:none}

/* about (tabs layout) */
.about-title{margin-top:18px;max-width:none;font-size:clamp(1.1rem,2.4vw,2rem)}
.about-title .dash{display:inline-flex;align-items:center;gap:14px}
.about-title .dash::before{content:"";flex:none;width:clamp(36px,7vw,90px);height:2px;background:var(--ink)}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:clamp(28px,4vw,56px);align-items:end}
.about-copy{display:flex;flex-direction:column;gap:22px;align-self:start}
.pill-ghost2{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);text-transform:none;letter-spacing:.01em;font-size:.8rem;font-weight:600;padding:.8rem 1.4rem}
.round-arrow{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ink);color:var(--ink);text-decoration:none;transition:background .2s,color .2s}
.round-arrow:hover{background:var(--ink);color:#fff}
.round-arrow svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.about-media{position:relative;margin-bottom:140px}
.about-text{display:flex;flex-direction:column;gap:18px}
.about-text .small{max-width:none;font-size:.92rem;line-height:1.7}
.trust-card{position:absolute;right:20px;bottom:-130px;width:min(320px,calc(100% - 40px));padding:18px 20px;border-radius:20px;background:var(--surface);box-shadow:0 18px 44px rgba(14,18,21,.18)}
.trust-card h3{font:600 .98rem/1.25 var(--body);color:var(--ink)}
.trust-card p{margin-top:8px;font-size:.78rem;line-height:1.55;color:var(--muted)}
.trust-card p b{font-weight:600;color:var(--ink)}
.trust-row{display:flex;align-items:center;gap:10px;margin-top:14px}
.avs{display:flex}
.avs i{width:28px;height:28px;margin-left:-8px;border-radius:50%;border:2px solid var(--surface);background-size:cover;background-position:center}
.avs i:first-child{margin-left:0}
.av1{background-image:var(--img-av-1),linear-gradient(150deg,#2b7a99,#12303f)}
.av2{background-image:var(--img-av-2),linear-gradient(150deg,#9fd0e4,#2b7a99)}
.av3{background-image:var(--img-av-3),linear-gradient(150deg,#33474f,#12191d)}
.av4{background-image:var(--img-av-4),linear-gradient(150deg,#cfe0e8,#667178)}
.stars{font-size:.8rem;letter-spacing:2px;color:#f2b01e}
.trust-count{display:block;margin-top:6px;font-size:.72rem;color:var(--muted)}
.about-img{margin:0;width:100%;aspect-ratio:16/10;border-radius:28px;background-color:#12303f;background-image:linear-gradient(180deg,rgba(10,20,26,.05),rgba(10,20,26,.35)),var(--img-about),var(--d2);background-size:cover;background-position:center}
@media (min-width:900px){
  .about-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,3vw,40px);align-items:start}
}

/* About: extra left/right padding */
#about,#services,#specialties,#why-us,#partnerships,#testimonials,#contact{padding-inline:clamp(16px,4vw,64px)}

/* partnerships: trusted-by logo strip (upload images/logo-1.webp ... logo-7.webp) */
.trusted{margin-top:0;text-align:center}
.trusted-title{font-size:clamp(.72rem,1.1vw,.9rem);letter-spacing:.02em}
.logos{overflow:hidden;margin-top:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logos .track{display:flex;align-items:center;width:max-content;animation:logo-scroll 40s linear infinite}
.logos:hover .track{animation-play-state:paused}
@keyframes logo-scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .logos{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .logos .track{animation:none}
  .logos img[data-clone]{display:none}
}
.logos img{display:block;flex:none;height:clamp(28px,3.4vw,40px);width:auto;margin-right:clamp(40px,5vw,72px);object-fit:contain;filter:grayscale(1);opacity:.75;transition:opacity .2s,filter .2s}
.logos img:hover{opacity:1;filter:none}

/* services: grouped panels */
.sg-wrap{display:grid;gap:20px}
.sg{display:grid;grid-template-columns:minmax(0,1fr);border-radius:28px;overflow:hidden;background:var(--surface);box-shadow:0 14px 24px -14px rgba(34,64,84,.22)}
.sg-meta{display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:clamp(22px,3vw,34px);background:var(--d1);color:var(--on-dark)}
/* services panels: background photo with dark overlay for text legibility */
.sg-meta{background-color:#0c1114;background-size:cover;background-position:center;background-repeat:no-repeat}
.sg:nth-child(1) .sg-meta{background-image:linear-gradient(180deg,rgba(10,17,21,.55),rgba(10,17,21,.85)),var(--img-sg-1),var(--d1)}
.sg:nth-child(2) .sg-meta{background-image:linear-gradient(180deg,rgba(10,17,21,.55),rgba(10,17,21,.85)),var(--img-sg-2),var(--d1)}
.sg:nth-child(3) .sg-meta{background-image:linear-gradient(180deg,rgba(10,17,21,.55),rgba(10,17,21,.85)),var(--img-sg-3),var(--d1)}
.sg:nth-child(4) .sg-meta{background-image:linear-gradient(180deg,rgba(10,17,21,.55),rgba(10,17,21,.85)),var(--img-sg-4),var(--d1)}
.sg-no{font:400 clamp(2.4rem,5vw,3.6rem)/1 var(--display);color:var(--accent-lt)}
.sg-meta h3{font:400 clamp(1rem,1.7vw,1.3rem)/1.25 var(--display);text-transform:uppercase}
.sg-meta p{margin-top:10px;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(242,247,249,.65)}
.sg-list{display:grid;grid-template-columns:minmax(0,1fr)}
.sg-item{display:flex;gap:16px;align-items:flex-start;padding:22px clamp(20px,2.6vw,32px);border-top:1px solid var(--line)}
.sg-item:first-child{border-top:0}
.sg-ic{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--field)}
.sg-ic svg{width:22px;height:22px;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sg-item h4{margin-bottom:4px;font:600 .98rem/1.3 var(--body);color:var(--ink)}
.sg-item p{font-size:.84rem;line-height:1.6;color:var(--muted)}
@media (min-width:720px){.sg-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-item:nth-child(2){border-top:0}.sg-item:nth-child(even){border-left:1px solid var(--line)}}
@media (min-width:1000px){.sg{grid-template-columns:300px minmax(0,1fr)}}
