/* =========================================================
   INTERIOR PAGES: same theme as the homepage
   Loaded after site.css. All rules scoped to body.theme.
   ========================================================= */

/* tonal placeholders (used until real photos are dropped into /images) */
body.theme .tone-1{background:linear-gradient(135deg,#2C5088 0%,#0F2A4E 100%);}
body.theme .tone-2{background:linear-gradient(135deg,#8593A3 0%,#3B4C63 100%);}
body.theme .tone-3{background:linear-gradient(135deg,#4A5B73 0%,#1A2A42 100%);}
body.theme .tone-4{background:linear-gradient(135deg,#6B84A6 0%,#243B5E 100%);}
body.theme .tone-5{background:linear-gradient(135deg,#A9B4C0 0%,#52627A 100%);}

/* ---------- PAGE HERO ---------- */
body.theme .pg-hero{background:var(--cream);padding:110px 0 96px;border-bottom:1px solid var(--tan-line);}
body.theme .pg-hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:96px;align-items:end;}
body.theme .pg-back{display:inline-block;margin-bottom:34px;font-size:0.9rem;letter-spacing:0.02em;color:var(--muted);border-bottom:1px solid transparent;transition:color .2s,border-color .2s;}
body.theme .pg-back:hover{color:var(--green);border-bottom-color:var(--green);}
body.theme .pg-eyebrow{font-size:0.78rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--sage);margin:0 0 26px;font-weight:600;}
body.theme .pg-hero h1{font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.05;color:var(--green);max-width:15ch;}
body.theme .pg-hero .lede{margin:0;font-size:1.18rem;line-height:1.8;color:var(--muted);max-width:40ch;padding-bottom:8px;}
body.theme .pg-hero-grid>*{animation:riseIn 1s cubic-bezier(.2,.7,.2,1) .1s both;}
body.theme .pg-hero-grid>*:nth-child(2){animation-delay:.3s;}

/* ---------- SECTIONS ---------- */
body.theme .pg-sec{padding:120px 0;background:var(--cream);}
body.theme .pg-sec.alt{background:var(--cream-deep);}
body.theme .pg-sec.tight{padding-top:0;}
body.theme .pg-kicker{font-size:0.78rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--sage);font-weight:600;margin:0 0 18px;}
body.theme .pg-head2{margin-bottom:64px;}
body.theme .pg-head2 h2{font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.08;color:var(--green);max-width:18ch;}
body.theme .pg-head2 p{margin:18px 0 0;color:var(--muted);font-size:1.1rem;line-height:1.75;max-width:52ch;}

/* ---------- SERVICES: large rows ---------- */
body.theme .svc-row{display:grid;grid-template-columns:1fr 1.15fr 0.85fr;gap:72px;padding:76px 0;border-top:1px solid var(--charcoal);}
body.theme .svc-row:last-child{border-bottom:1px solid var(--charcoal);}
body.theme .svc-main h2{font-size:clamp(2.2rem,3.6vw,3.3rem);line-height:1.04;color:var(--green);}
body.theme .svc-lede{margin:22px 0 0;font-family:var(--serif);font-style:italic;font-size:1.3rem;line-height:1.4;color:var(--muted);max-width:22ch;}
body.theme .svc-links{margin-top:38px;display:flex;flex-direction:column;gap:16px;align-items:flex-start;}
body.theme .svc-label{font-size:0.74rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--sage);font-weight:600;margin:0 0 12px;}
body.theme .svc-body p{margin:0 0 30px;font-size:1.1rem;line-height:1.8;color:var(--charcoal);max-width:46ch;}
body.theme .svc-body .svc-why{margin:6px 0 0;padding-top:26px;border-top:1px solid var(--tan-line);font-family:var(--serif);font-style:italic;font-size:1.3rem;line-height:1.45;color:var(--green);}
body.theme .svc-inc ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--tan-line);}
body.theme .svc-inc li{padding:15px 0;border-bottom:1px solid var(--tan-line);font-size:1.02rem;line-height:1.5;color:var(--charcoal);}

/* ---------- LINK LISTS (projects, related services, 404) ---------- */
body.theme .proj-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--charcoal);}
body.theme .proj-list li{border-bottom:1px solid var(--tan-line);}
body.theme .proj-list li:last-child{border-bottom:1px solid var(--charcoal);}
body.theme .proj-list a{display:grid;grid-template-columns:1fr 1.1fr 30px;gap:40px;align-items:baseline;padding:34px 4px;color:var(--charcoal);transition:padding-left .3s ease,color .25s;}
body.theme .proj-list .t{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.15;letter-spacing:-0.015em;}
body.theme .proj-list .d{color:var(--muted);font-size:1.05rem;line-height:1.6;}
body.theme .proj-list .arr{width:26px;height:26px;fill:none;stroke:var(--sage);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:translateX(-8px);transition:opacity .25s,transform .3s;align-self:center;}
body.theme .proj-list a:hover,body.theme .proj-list a:focus-visible{padding-left:14px;color:var(--green);}
body.theme .proj-list a:hover .arr,body.theme .proj-list a:focus-visible .arr{opacity:1;transform:none;}

/* ---------- SERVICE DETAIL ---------- */
body.theme .dt-row{display:grid;grid-template-columns:0.55fr 1fr;gap:80px;padding:68px 0;border-top:1px solid var(--tan-line);}
body.theme .dt-row:first-child{border-top:1px solid var(--charcoal);}
body.theme .dt-row h2{font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.15;color:var(--green);}
body.theme .dt-body p{margin:0 0 22px;font-size:1.15rem;line-height:1.8;color:var(--charcoal);max-width:60ch;}
body.theme .dt-body p:last-child{margin-bottom:0;}
body.theme .dt-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--tan-line);max-width:660px;}
body.theme .dt-list li{padding:17px 0;border-bottom:1px solid var(--tan-line);font-size:1.08rem;line-height:1.55;color:var(--charcoal);}

/* ---------- INDUSTRY PAGES ---------- */
body.theme .ind-hero{padding:90px 0 110px;border-bottom:1px solid var(--tan-line);background:var(--cream);}
body.theme .ind-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center;}
body.theme .ind-hero h1{font-size:clamp(2.3rem,4.4vw,4rem);line-height:1.06;color:var(--green);max-width:14ch;}
body.theme .ind-lede{margin:28px 0 0;font-size:1.2rem;line-height:1.75;color:var(--muted);max-width:40ch;}
body.theme .ind-members{margin:36px 0 0;padding-top:24px;border-top:1px solid var(--tan-line);font-size:0.92rem;letter-spacing:0.04em;color:var(--sage);line-height:1.9;max-width:46ch;}
body.theme .ind-img{position:relative;min-height:540px;border-radius:10px;overflow:hidden;}
body.theme .ind-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none;}
body.theme .ind-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,32,56,0) 60%,rgba(11,32,56,0.55) 100%);}
body.theme .ind-img .cap{position:absolute;left:28px;bottom:24px;z-index:2;color:#FFF;font-family:var(--serif);font-size:1.4rem;}
body.theme .tr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:64px;}
body.theme .tr{border-top:1px solid var(--charcoal);padding-top:30px;}
body.theme .tr h3{font-size:1.65rem;line-height:1.2;color:var(--green);margin:0 0 18px;}
body.theme .tr p{margin:0;font-size:1.05rem;line-height:1.8;color:var(--muted);}
body.theme .means{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:72px;border-top:1px solid var(--charcoal);}
body.theme .means li{padding:28px 0;border-bottom:1px solid var(--tan-line);font-size:1.12rem;line-height:1.65;color:var(--charcoal);}

/* ---------- ABOUT ---------- */
body.theme .ab-quote{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.3;letter-spacing:-0.015em;color:var(--green);margin:0 0 34px;max-width:24ch;}
body.theme .ab-two{display:grid;grid-template-columns:1fr 1fr;gap:110px;}
body.theme .ab-two h2{font-size:clamp(1.8rem,2.8vw,2.5rem);line-height:1.12;color:var(--green);margin:0 0 30px;}
body.theme .ab-two p{margin:0 0 22px;font-size:1.12rem;line-height:1.8;color:var(--charcoal);max-width:46ch;}
body.theme .ab-why h2{font-size:clamp(2rem,3.6vw,3.3rem);max-width:16ch;}
body.theme .ab-why .h-owners-copy p{max-width:36ch;}
body.theme .ab-why-text p{margin:0 0 26px;font-size:1.1rem;line-height:1.9;color:#DCE4EF;max-width:52ch;}
body.theme .ab-approach .h-principles{margin-top:0;border-top:none;padding-top:0;}

/* ---------- FAQ ---------- */
body.theme .faq-search{position:relative;max-width:820px;margin-top:72px;}
body.theme .faq-search input{width:100%;font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,2rem);letter-spacing:-0.01em;padding:22px 64px 20px 0;border:none;border-bottom:1px solid var(--charcoal);border-radius:0;background:transparent;color:var(--charcoal);}
body.theme .faq-search input::placeholder{color:#8A94A0;}
body.theme .faq-search input:focus{outline:none;border-bottom-color:var(--green);box-shadow:0 1px 0 var(--green);}
body.theme .faq-search .ico{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:28px;height:28px;fill:none;stroke:var(--green);stroke-width:1.4;stroke-linecap:round;pointer-events:none;}
body.theme .faq-clear{position:absolute;right:0;top:50%;transform:translateY(-50%);display:none;font-size:0.85rem;letter-spacing:0.06em;color:var(--muted);background:none;border:0;cursor:pointer;}
body.theme .faq-search.has-q .ico{display:none;}
body.theme .faq-search.has-q .faq-clear{display:block;}
body.theme .faq-chips{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap;}
body.theme .faq-chips button{border:1px solid var(--tan-line);padding:9px 18px;font-family:inherit;font-size:0.9rem;color:var(--muted);background:transparent;cursor:pointer;transition:border-color .2s,color .2s;}
body.theme .faq-chips button:hover{border-color:var(--green);color:var(--green);}
body.theme .faq-status{margin-top:22px;font-size:0.95rem;color:var(--muted);min-height:1.5em;}
body.theme .faq-layout{display:grid;grid-template-columns:240px 1fr;gap:96px;align-items:start;}
body.theme .faq-nav{position:sticky;top:120px;list-style:none;margin:0;padding:0;border-top:1px solid var(--charcoal);}
body.theme .faq-nav li{border-bottom:1px solid var(--tan-line);}
body.theme .faq-nav a{display:block;padding:16px 2px;font-size:0.98rem;color:var(--muted);transition:color .2s,padding-left .25s;}
body.theme .faq-nav a:hover{color:var(--green);padding-left:10px;}
body.theme .faq-group{margin-bottom:56px;scroll-margin-top:120px;}
body.theme .faq-group:last-child{margin-bottom:0;}
body.theme .faq-group>h2{font-size:clamp(1.7rem,2.6vw,2.3rem);color:var(--green);margin:0 0 30px;}
body.theme .faq-item{border-top:1px solid var(--tan-line);}
body.theme .faq-item:last-child{border-bottom:1px solid var(--tan-line);}
body.theme .faq-q{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;font-family:var(--serif);font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.3;letter-spacing:-0.01em;color:var(--charcoal);background:none;border:0;cursor:pointer;transition:color .2s;}
body.theme .faq-q:hover{color:var(--green);}
body.theme .faq-q .sym{font-family:'DM Sans',sans-serif;font-size:1.6rem;color:var(--sage);flex-shrink:0;transition:transform .25s;}
body.theme .faq-item.open .faq-q .sym{transform:rotate(45deg);}
body.theme .faq-a p{margin:0;padding:0 0 30px;max-width:62ch;font-size:1.08rem;line-height:1.85;color:var(--muted);}
body.theme .faq-item.hit{background:linear-gradient(90deg,rgba(26,56,102,0.05),rgba(26,56,102,0));}
body.theme .faq-empty{display:none;padding:40px 0;font-size:1.15rem;color:var(--muted);line-height:1.7;}
body.theme .faq-empty a{color:var(--green);border-bottom:1px solid var(--green);}

/* ---------- CONTACT ---------- */
body.theme .ct{padding:0;display:grid;grid-template-columns:0.9fr 1.1fr;min-height:calc(100vh - 92px);}
body.theme .ct-info{position:relative;overflow:hidden;color:#FFF;padding:120px 72px 120px max(48px,calc((100vw - 1320px)/2 + 48px));
  background:
    radial-gradient(130% 60% at 50% 120%,rgba(150,172,204,0.85) 0%,rgba(84,112,160,0.55) 32%,rgba(26,56,102,0) 68%),
    linear-gradient(180deg,#0A1B33 0%,#11274B 42%,#1D3D74 100%);}
body.theme .ct-info::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0.28;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .65 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");}
body.theme .ct-info>*{position:relative;z-index:1;}
body.theme .ct-info h1{font-size:clamp(2.4rem,4.4vw,4.1rem);line-height:1.06;font-weight:300;color:#FFF;max-width:11ch;}
body.theme .ct-info p{margin:30px 0 0;font-size:1.1rem;line-height:1.85;color:#DCE4EF;max-width:38ch;}
body.theme .ct-info .ct-note{margin-top:22px;font-size:0.95rem;color:#B9CFF3;}
body.theme .ct-detail{margin-top:56px;padding-top:28px;border-top:1px solid rgba(255,255,255,0.45);font-size:1.02rem;line-height:2;color:#EAF0F8;}
body.theme .ct-detail strong{font-weight:500;color:#FFF;}
body.theme .ct-form-wrap{background:var(--cream);padding:120px max(48px,calc((100vw - 1320px)/2 + 48px)) 120px 72px;display:flex;align-items:center;}
body.theme .ct-form{width:100%;max-width:640px;background:transparent;padding:0;}
body.theme .ct-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-bottom:30px;}
body.theme .ct-form label{font-size:0.74rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:600;color:var(--sage);margin-bottom:6px;}
body.theme .ct-form label .opt{text-transform:none;letter-spacing:0;font-weight:400;color:#8A94A0;}
body.theme .ct-form input,body.theme .ct-form select,body.theme .ct-form textarea{font-family:'DM Sans',sans-serif;font-size:1.08rem;padding:12px 0;border:none;border-bottom:1px solid var(--tan-line);border-radius:0;background:transparent;color:var(--charcoal);}
body.theme .ct-form textarea{min-height:110px;}
body.theme .ct-form input:focus,body.theme .ct-form select:focus,body.theme .ct-form textarea:focus{outline:none;border-bottom-color:var(--green);box-shadow:0 1px 0 var(--green);}
body.theme .ct-form .submit-row{margin-top:14px;gap:26px;}
body.theme .ct-form .btn-submit{background:var(--green);color:#FFF;padding:16px 40px;border-radius:0;font-size:1rem;letter-spacing:0.03em;transition:background .2s;}
body.theme .ct-form .btn-submit:hover{background:#11274B;}
body.theme .ct-form .form-confirm{color:var(--green);}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1000px){
  body.theme .pg-hero{padding:72px 0 64px;}
  body.theme .pg-hero-grid,body.theme .ind-hero-grid,body.theme .ab-two{grid-template-columns:1fr;gap:40px;}
  body.theme .pg-sec{padding:80px 0;}
  body.theme .pg-head2{margin-bottom:44px;}
  body.theme .svc-row{grid-template-columns:1fr;gap:36px;padding:56px 0;}
  body.theme .svc-lede{max-width:none;}
  body.theme .proj-list a{grid-template-columns:1fr 26px;gap:8px 20px;padding:26px 2px;}
  body.theme .proj-list .d{grid-column:1;order:2;}
  body.theme .proj-list .arr{opacity:1;transform:none;grid-row:1;grid-column:2;}
  body.theme .dt-row{grid-template-columns:1fr;gap:26px;padding:48px 0;}
  body.theme .ind-hero{padding:60px 0 72px;}
  body.theme .ind-img{min-height:340px;}
  body.theme .tr-grid{grid-template-columns:1fr;gap:44px;}
  body.theme .means{grid-template-columns:1fr;}
  body.theme .faq-layout{grid-template-columns:1fr;gap:44px;}
  body.theme .faq-nav{position:static;display:flex;flex-wrap:wrap;gap:0 24px;border-top:none;}
  body.theme .faq-nav li{border-bottom:none;}
  body.theme .faq-search{margin-top:44px;}
  body.theme .ct{grid-template-columns:1fr;min-height:0;}
  body.theme .ct-info{padding:80px 24px 90px;}
  body.theme .ct-form-wrap{padding:64px 24px 80px;}
  body.theme .ct-form .form-row{grid-template-columns:1fr;gap:26px;}
}
@media (prefers-reduced-motion:reduce){
  body.theme .pg-hero-grid>*{animation:none;}
}

/* About: Why it matters cards */
body.theme .ab-why-head{max-width:820px;margin-bottom:56px;}
body.theme .ab-why-head h2{max-width:18ch;}
body.theme .ab-why-head p{font-size:1.1rem;color:#DCE4EF;margin-top:20px;}
body.theme .ab-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
body.theme .ab-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.16);padding:40px 36px 44px;backdrop-filter:blur(2px);}
body.theme .ab-card svg{width:44px;height:44px;fill:none;stroke:#9FB7DA;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;margin-bottom:28px;}
body.theme .ab-tag{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#9FB7DA;margin-bottom:12px;}
body.theme .ab-card h3{font-family:var(--serif);font-weight:400;font-size:1.75rem;line-height:1.15;color:#FFF;margin:0 0 16px;}
body.theme .ab-card p{margin:0;font-size:1.02rem;line-height:1.75;color:#DCE4EF;}
body.theme .ab-card.hl{background:#F4F6F8;border-color:#F4F6F8;}
body.theme .ab-card.hl svg{stroke:var(--green);}
body.theme .ab-card.hl .ab-tag{color:var(--sage);}
body.theme .ab-card.hl h3{color:var(--green-deep);}
body.theme .ab-card.hl p{color:var(--charcoal);}
body.theme .ab-close{margin:56px 0 0;font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2.1rem);color:#FFF;}
body.theme .ab-cards .d2{transition-delay:.24s;}
@media(max-width:1000px){body.theme .ab-cards{grid-template-columns:1fr;}body.theme .ab-card{padding:32px 28px;}}

/* ===== Services page ===== */
body.theme .grad{position:relative;overflow:hidden;color:#FFF;
  background:radial-gradient(130% 60% at 50% 120%,rgba(150,172,204,0.85) 0%,rgba(84,112,160,0.55) 32%,rgba(26,56,102,0) 68%),linear-gradient(180deg,#0A1B33 0%,#11274B 42%,#1D3D74 100%);}
body.theme .grad::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0.28;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .65 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
body.theme .grad>*{position:relative;z-index:1;}
body.theme .svc-hero{padding:130px 0 150px;}
body.theme .svc-hero h1{font-size:clamp(2.8rem,6vw,5.4rem);line-height:1.03;font-weight:300;color:#FFF;max-width:14ch;}
body.theme .svc-hero .lede{margin:34px 0 0;max-width:46ch;font-size:1.2rem;line-height:1.8;color:#DCE4EF;}
body.theme .svc-hero-cta{display:flex;gap:36px;align-items:center;margin-top:48px;flex-wrap:wrap;}
body.theme .svc-hero-cta .h-link{color:#FFF;}
body.theme .btn-pill{display:inline-block;background:#F4F6F8;color:var(--green);padding:16px 30px;font-size:1rem;font-weight:500;text-decoration:none;transition:background .25s,transform .25s;}
body.theme .btn-pill:hover{background:#FFF;transform:translateY(-2px);}
body.theme .svc-explore{padding:100px 0 110px;background:var(--cream);scroll-margin-top:70px;}
body.theme .svc-tool{display:grid;grid-template-columns:0.8fr 1.5fr;gap:0;margin-top:44px;box-shadow:0 30px 60px -30px rgba(11,32,56,.35);}
body.theme .svc-tabs{display:flex;flex-direction:column;background:var(--cream-deep);}
body.theme .svc-tab{all:unset;box-sizing:border-box;cursor:pointer;display:block;padding:26px 32px;border-bottom:1px solid var(--tan-line);border-left:4px solid transparent;transition:background .25s,border-color .25s;}
body.theme .svc-tab:last-child{border-bottom:0;}
body.theme .svc-tab .n{display:block;font-family:var(--serif);font-size:1.7rem;color:var(--green);line-height:1.1;}
body.theme .svc-tab .l{display:block;margin-top:8px;font-size:.92rem;line-height:1.5;color:var(--muted);}
body.theme .svc-tab:hover{background:#DDE3EA;}
body.theme .svc-tab.on{background:#FFF;border-left-color:var(--green);}
body.theme .svc-tab:focus-visible{outline:2px solid var(--green);outline-offset:-2px;}
body.theme .svc-panels{padding:0;min-height:460px;}
body.theme .svc-panel{display:none;padding:54px 56px;}
body.theme .svc-panel.on{display:block;animation:svcIn .45s ease both;}
@keyframes svcIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
body.theme .svc-panel h3{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.2vw,3rem);color:#FFF;margin:0 0 20px;}
body.theme .svc-big{font-size:1.15rem;line-height:1.75;color:#E6ECF5;max-width:52ch;margin:0 0 34px;}
body.theme .svc-cols{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding-top:30px;border-top:1px solid rgba(255,255,255,.3);}
body.theme .svc-cols ul{list-style:none;margin:0;padding:0;}
body.theme .svc-cols li{position:relative;padding:0 0 12px 22px;font-size:.98rem;line-height:1.5;color:#DCE4EF;}
body.theme .svc-cols li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:1px;background:#9FB7DA;}
body.theme .svc-label2{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#9FB7DA;margin-bottom:10px;}
body.theme .svc-why{font-family:'DM Sans',sans-serif;font-style:normal;font-weight:600;font-size:1.02rem;line-height:1.6;color:#FFF;margin:0 0 22px;}
body.theme .svc-links{display:flex;flex-direction:column;gap:10px;}
body.theme .svc-panels .h-link{color:#FFF;}
body.theme .svc-statement{padding:130px 0 140px;background:var(--cream);border-top:1px solid var(--tan-line);}
body.theme .svc-statement p{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,5.4vw,5rem);line-height:1.08;color:var(--green);margin:0;max-width:24ch;}
body.theme .svc-statement em{display:block;margin-top:.25em;font-size:.78em;font-style:italic;color:var(--sage);}
body.theme .svc-projects{padding:120px 0 130px;}
body.theme .svc-pj-head{max-width:640px;margin-bottom:54px;}
body.theme .svc-pj-head h2{font-size:clamp(2.2rem,4vw,3.6rem);font-weight:300;color:#FFF;line-height:1.08;}
body.theme .svc-pj-head p{margin-top:20px;font-size:1.08rem;line-height:1.8;color:#DCE4EF;}
body.theme .pj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
body.theme .pj{position:relative;display:block;padding:32px 30px 36px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);text-decoration:none;color:#FFF;transition:background .3s,transform .3s,border-color .3s;}
body.theme .pj:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.5);transform:translateY(-4px);}
body.theme .pj .t{display:block;font-family:var(--serif);font-size:1.5rem;line-height:1.2;margin-bottom:10px;padding-right:36px;}
body.theme .pj .d{display:block;font-size:.95rem;line-height:1.55;color:#C9D6E8;}
body.theme .pj .arr{position:absolute;top:34px;right:28px;width:22px;height:22px;fill:none;stroke:#9FB7DA;stroke-width:2;transition:transform .3s;}
body.theme .pj:hover .arr{transform:translateX(5px);}
@media(max-width:1000px){
  body.theme .svc-hero{padding:90px 0 100px;}
  body.theme .svc-tool{grid-template-columns:1fr;}
  body.theme .svc-tabs{flex-direction:row;overflow-x:auto;}
  body.theme .svc-tab{flex:0 0 auto;padding:18px 22px;border-left:0;border-bottom:3px solid transparent;border-right:1px solid var(--tan-line);}
  body.theme .svc-tab .l{display:none;}
  body.theme .svc-tab.on{border-bottom-color:var(--green);}
  body.theme .svc-panel{padding:36px 24px;}
  body.theme .svc-cols{grid-template-columns:1fr;gap:24px;}
  body.theme .pj-grid{grid-template-columns:1fr;}
  body.theme .svc-statement{padding:90px 0;}
}

/* ===== FAQ hero (gradient + pill search) ===== */
body.theme .faq-hero{padding:110px 0 90px;}
body.theme .faq-hero-top{display:grid;grid-template-columns:1.3fr 1fr;gap:96px;align-items:end;}
body.theme .faq-hero h1{font-size:clamp(2.6rem,5.4vw,4.8rem);line-height:1.04;font-weight:300;color:#FFF;max-width:15ch;}
body.theme .faq-hero .lede{margin:0;color:#DCE4EF;font-size:1.15rem;line-height:1.8;max-width:36ch;}
body.theme .faq-hero .faq-search{max-width:820px;margin-top:64px;}
body.theme .faq-hero .faq-search input{font-family:'DM Sans',sans-serif;font-size:1.15rem;letter-spacing:0;padding:20px 70px 20px 30px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:#FFF;color:var(--charcoal);box-shadow:0 14px 34px -14px rgba(5,15,32,.6);transition:box-shadow .25s,border-color .25s;}
body.theme .faq-hero .faq-search input::placeholder{color:#7C8794;}
body.theme .faq-hero .faq-search input:focus{outline:none;border-color:#FFF;box-shadow:0 0 0 4px rgba(159,183,218,.45),0 14px 34px -14px rgba(5,15,32,.6);}
body.theme .faq-hero .faq-search .ico{right:26px;width:26px;height:26px;stroke-width:2;}
body.theme .faq-hero .faq-clear{right:26px;color:var(--green);font-weight:500;}
body.theme .faq-hero .faq-chips{align-items:center;margin-top:24px;gap:10px;}
body.theme .faq-sug{font-size:.9rem;color:#B9CFF3;margin-right:6px;}
body.theme .faq-hero .faq-chips button{border:1px solid rgba(255,255,255,.4);border-radius:999px;color:#FFF;padding:8px 18px;}
body.theme .faq-hero .faq-chips button:hover{background:rgba(255,255,255,.14);border-color:#FFF;color:#FFF;}
body.theme .faq-hero .faq-status{color:#DCE4EF;}
@media(max-width:1000px){body.theme .faq-hero{padding:80px 0 64px;}body.theme .faq-hero-top{grid-template-columns:1fr;gap:24px;}body.theme .faq-hero .faq-search{margin-top:40px;}}

/* ===== Service detail pages ===== */
@keyframes sdRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes sdSlide{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:none}}
body.theme .sd-hero{padding:56px 0 120px;}
body.theme .sd-back{display:inline-block;margin-bottom:64px;font-size:.9rem;letter-spacing:.02em;color:#B9CFF3;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;animation:sdRise .8s ease both;}
body.theme .sd-back:hover{color:#FFF;border-bottom-color:#FFF;}
body.theme .sd-hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:end;}
body.theme .sd-eyebrow{display:inline-block;padding:7px 16px;border:1px solid rgba(255,255,255,.4);border-radius:999px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#DCE4EF;margin-bottom:28px;animation:sdRise .8s ease .1s both;}
body.theme .sd-hero h1{font-size:clamp(2.8rem,6vw,5.4rem);line-height:1.02;font-weight:300;color:#FFF;max-width:13ch;animation:sdRise 1s cubic-bezier(.2,.7,.2,1) .2s both;}
body.theme .sd-hero .lede{margin:30px 0 0;max-width:44ch;font-size:1.2rem;line-height:1.75;color:#DCE4EF;animation:sdRise 1s cubic-bezier(.2,.7,.2,1) .4s both;}
body.theme .sd-cta{display:flex;gap:34px;align-items:center;flex-wrap:wrap;margin-top:44px;animation:sdRise 1s cubic-bezier(.2,.7,.2,1) .6s both;}
body.theme .sd-cta .h-link{color:#FFF;}
body.theme .sd-glass{padding:34px 34px 38px;background:linear-gradient(160deg,rgba(255,255,255,.22),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(8px);animation:sdSlide 1s cubic-bezier(.2,.7,.2,1) .55s both;}
body.theme .sd-glass-h{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#C9D6E8;margin-bottom:14px;}
body.theme .sd-glass p{margin:0;font-size:1.05rem;line-height:1.75;color:#FFF;}
body.theme .sd-what{padding:110px 0 90px;background:var(--cream);}
body.theme .sd-what-grid{display:grid;grid-template-columns:.7fr 1.6fr;gap:80px;align-items:start;}
body.theme .sd-what-text p{margin:0 0 26px;font-size:1.15rem;line-height:1.85;color:var(--charcoal);max-width:60ch;}
body.theme .sd-what-text p:first-child{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.35;color:var(--green);font-weight:300;}
body.theme .sd-detail{padding:0 0 120px;background:var(--cream);scroll-margin-top:60px;}
body.theme .sd-two{display:grid;grid-template-columns:1fr 1.1fr;gap:28px;align-items:stretch;}
body.theme .sd-card{padding:48px 46px 52px;}
body.theme .sd-card.who{background:var(--cream-deep);border:1px solid var(--tan-line);}
body.theme .sd-card-h{font-family:var(--serif);font-size:1.9rem;font-weight:400;margin-bottom:28px;color:var(--green);}
body.theme .sd-card.inc .sd-card-h{color:#FFF;}
body.theme .sd-card ul{list-style:none;margin:0;padding:0;}
body.theme .sd-card li{position:relative;padding:0 0 16px 38px;font-size:1.02rem;line-height:1.55;}
body.theme .sd-card.who li{color:var(--charcoal);}
body.theme .sd-card.inc li{color:#E6ECF5;}
body.theme .sd-card li::before{content:"";position:absolute;left:0;top:.1em;width:22px;height:22px;border-radius:50%;}
body.theme .sd-card.who li::before{border:1.5px solid var(--green);background:radial-gradient(circle,var(--green) 0 3px,transparent 4px);}
body.theme .sd-card.inc li::before{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.5);}
body.theme .sd-card.inc li::after{content:"";position:absolute;left:7px;top:.45em;width:6px;height:10px;border:solid #FFF;border-width:0 2px 2px 0;transform:rotate(45deg) scale(.9);}
/* staggered list reveal */
.js body.theme .sd-card li{opacity:0;transform:translateX(-12px);transition:opacity .6s ease,transform .6s ease;}
.js body.theme .sd-card.in li{opacity:1;transform:none;}
.js body.theme .sd-card.in li:nth-child(1){transition-delay:.15s}.js body.theme .sd-card.in li:nth-child(2){transition-delay:.25s}
.js body.theme .sd-card.in li:nth-child(3){transition-delay:.35s}.js body.theme .sd-card.in li:nth-child(4){transition-delay:.45s}
.js body.theme .sd-card.in li:nth-child(5){transition-delay:.55s}.js body.theme .sd-card.in li:nth-child(6){transition-delay:.65s}
.js body.theme .sd-card.in li:nth-child(n+7){transition-delay:.75s}
body.theme .sd-rel{padding:110px 0 120px;}
@media(prefers-reduced-motion:reduce){body.theme .sd-back,body.theme .sd-eyebrow,body.theme .sd-hero h1,body.theme .sd-hero .lede,body.theme .sd-cta,body.theme .sd-glass{animation:none;}.js body.theme .sd-card li{opacity:1;transform:none;transition:none;}}
@media(max-width:1000px){
  body.theme .sd-hero{padding:40px 0 80px;}
  body.theme .sd-back{margin-bottom:40px;}
  body.theme .sd-hero-grid,body.theme .sd-what-grid,body.theme .sd-two{grid-template-columns:1fr;gap:36px;}
  body.theme .sd-card{padding:34px 26px 38px;}
  body.theme .sd-what{padding:70px 0 60px;}
  body.theme .sd-detail{padding-bottom:80px;}
}

/* ===== "Where we stand apart" ===== */
body.theme .svc-badge{display:inline-block;margin-top:12px;padding:4px 12px;border-radius:999px;background:var(--green);color:#FFF;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;}
body.theme .svc-tab.on .svc-badge{background:var(--green-deep);}
body.theme .svc-apart{margin:-8px 0 30px;padding:16px 20px;border-left:3px solid #9FB7DA;background:rgba(255,255,255,.1);font-size:1rem;line-height:1.6;color:#F1F5FA;}
body.theme .svc-apart strong{color:#FFF;font-weight:600;}
body.theme .sd-eyebrow.hl{margin-left:10px;background:#F4F6F8;color:var(--green);border-color:#F4F6F8;font-weight:600;}
body.theme .sd-apart-band{padding:0;background:var(--cream);}
body.theme .sd-apart-in{display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:center;padding:34px 44px;margin-top:-56px;position:relative;z-index:2;
  background:linear-gradient(100deg,#F4F6F8 0%,#D5DDE8 55%,#B9C8DE 100%);border:1px solid var(--tan-line);box-shadow:0 24px 50px -28px rgba(11,32,56,.45);}
body.theme .sd-apart-tag{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:#FFF;background:var(--green);padding:10px 18px;white-space:nowrap;}
body.theme .sd-apart-in p{margin:0;font-family:var(--serif);font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.5;color:var(--green-deep);}
body.theme .ind-adv .sd-apart-in{margin-top:0;}
body.theme .ind-adv{padding:56px 0 0;background:var(--cream);}
body.theme .sd-need{padding:20px 0 100px;background:var(--cream);}
body.theme .sd-need-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px;}
body.theme .sd-need-card{padding:34px 30px 38px;background:#FFF;border:1px solid var(--tan-line);border-top:3px solid var(--green);transition:transform .3s,box-shadow .3s;}
body.theme .sd-need-card:hover{transform:translateY(-5px);box-shadow:0 24px 40px -26px rgba(11,32,56,.4);}
body.theme .sd-need-card h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;line-height:1.2;color:var(--green);margin:0 0 12px;}
body.theme .sd-need-card p{margin:0;font-size:1rem;line-height:1.7;color:var(--charcoal);}
body.theme .sd-need-grid .d2{transition-delay:.28s;}
@media(max-width:1000px){body.theme .sd-apart-in{grid-template-columns:1fr;gap:16px;padding:26px 24px;margin-top:-40px;}body.theme .sd-need-grid{grid-template-columns:1fr;}body.theme .sd-need{padding-bottom:70px;}body.theme .sd-eyebrow.hl{margin:8px 0 0;}}
body.theme .sd-apart-band{padding-bottom:70px;}
body.theme .ind-adv{padding:56px 0 0;}

/* ===== industry photo gallery ===== */
body.theme .ind-gallery{padding:72px 0 0;background:var(--cream);}
body.theme .ind-gal{display:grid;gap:18px;}
body.theme .ind-gal.n1{grid-template-columns:1fr;}
body.theme .ind-gal.n2{grid-template-columns:1fr 1fr;}
body.theme .ind-gal.n3{grid-template-columns:1.3fr 1fr 1fr;}
body.theme .ind-fig{margin:0;overflow:hidden;border-radius:10px;background:var(--cream-deep);aspect-ratio:4/3;}
body.theme .ind-gal.n1 .ind-fig{aspect-ratio:21/9;}
body.theme .ind-fig img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);}
body.theme .ind-fig:hover img{transform:scale(1.05);}
@media(max-width:1000px){body.theme .ind-gallery{padding-top:48px;}body.theme .ind-gal.n2,body.theme .ind-gal.n3{grid-template-columns:1fr;}body.theme .ind-gal.n1 .ind-fig{aspect-ratio:16/10;}}
body.theme .ind-gal.n2 .ind-fig,body.theme .ind-gal.n3 .ind-fig{aspect-ratio:auto;height:clamp(220px,25vw,360px);}
@media(max-width:1000px){body.theme .ind-gal.n2 .ind-fig,body.theme .ind-gal.n3 .ind-fig{height:auto;aspect-ratio:16/10;}}

/* single-photo gallery: modest width so it stays sharp */
body.theme .ind-gal.n1{grid-template-columns:minmax(0,720px);}
body.theme .ind-gal.n1 .ind-fig{aspect-ratio:3/2;}
body.theme .ind-gal.n1 .ind-fig img{object-position:50% 25%;}

/* retail & restaurant SEO block */
body.theme .rr-faq{max-width:860px;}
body.theme .rr-q{border-top:1px solid var(--tan-line);padding:18px 0;}
body.theme .rr-q:last-child{border-bottom:1px solid var(--tan-line);}
body.theme .rr-q summary{cursor:pointer;font-family:var(--serif);font-size:1.25rem;color:var(--green-deep);list-style:none;display:flex;justify-content:space-between;gap:20px;}
body.theme .rr-q summary::-webkit-details-marker{display:none;}
body.theme .rr-q summary::after{content:'+';color:var(--green);font-size:1.4rem;line-height:1;}
body.theme .rr-q[open] summary::after{content:'\2212';}
body.theme .rr-q p{margin:12px 0 0;color:var(--muted);line-height:1.7;max-width:70ch;}
body.theme .rr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
body.theme .rr-card{display:block;background:#fff;border:1px solid var(--tan-line);padding:28px 26px;text-decoration:none;color:var(--charcoal);transition:transform .25s,box-shadow .25s,border-color .25s;}
body.theme .rr-card:hover{transform:translateY(-4px);border-color:var(--green);box-shadow:0 18px 36px -22px rgba(11,32,56,.45);}
body.theme .rr-card h3{font-family:var(--serif);font-weight:400;font-size:1.3rem;color:var(--green-deep);margin:0 0 10px;}
body.theme .rr-card p{margin:0;color:var(--muted);line-height:1.65;font-size:.98rem;}
@media(max-width:900px){body.theme .rr-grid{grid-template-columns:1fr;}}
body.theme .svc-statement .h-btns{margin-top:48px;}
/* interested-in dropdown: muted placeholder so it reads as a choice to make */
body.theme .ct-form select{cursor:pointer;}
body.theme .ct-form select:invalid{color:var(--sage);}
body.theme .ct-form select option{color:var(--charcoal);}
body.theme .ct-form select:hover{border-bottom-color:var(--green);}

body.theme .svc-badge + .svc-badge{margin-left:6px;}

body.theme .pg-head2 h1{font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.08;color:var(--green);max-width:18ch;}
body.theme .svc-explore{padding-top:64px;}
/* How the tiers fit together */
body.theme .svc-fit{padding:100px 0 120px;background:#F4F6F8;border-top:1px solid var(--tan-line);}
body.theme .fit3{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:56px;align-items:center;margin-top:8px;}
body.theme .fit3-svg{display:block;width:100%;height:auto;overflow:visible;}
body.theme .fit3-layer{cursor:pointer;outline:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s,opacity .35s;}
body.theme .fit3-layer text{fill:#FFF;text-anchor:middle;pointer-events:none;}
body.theme .fit3-layer .ln{font-family:var(--serif);font-size:25px;letter-spacing:-0.01em;}
body.theme .fit3-layer .ls{font-family:'DM Sans',sans-serif;font-size:13.5px;letter-spacing:.04em;opacity:.82;}
body.theme .fit3-layer.on{transform:translateY(-9px);filter:drop-shadow(0 16px 16px rgba(11,32,56,.34));}
body.theme .fit3-layer.dim{opacity:.68;}
body.theme .fit3-layer:focus-visible polygon{stroke:#0B2038;stroke-width:3;}
body.theme .fit3-br{cursor:pointer;outline:none;opacity:.7;transition:opacity .3s;}
body.theme .fit3-br.on,body.theme .fit3-br:hover{opacity:1;}
body.theme .fit3-br .bl{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;letter-spacing:.06em;text-anchor:middle;pointer-events:none;}
body.theme .fit3-pills{display:none;gap:10px;flex-wrap:wrap;margin-top:18px;}
body.theme .fit3-pill{font:inherit;font-size:.88rem;padding:9px 16px;border:1px solid var(--green);border-radius:999px;background:transparent;color:var(--green);cursor:pointer;}
body.theme .fit3-pill.on{background:var(--green);color:#FFF;}
body.theme .fit3-card{background:#FFF;border:1px solid var(--tan-line);border-top:3px solid var(--green);border-radius:4px;padding:34px 34px 30px;min-height:470px;box-shadow:0 18px 44px rgba(11,32,56,.10);}
body.theme .fit3-card h3{font-size:1.9rem;line-height:1.1;color:var(--green);margin:6px 0 18px;}
body.theme .fit3-tag{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--green);color:#FFF;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;}
body.theme .fit3-lab{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:4px;}
body.theme .fit3-best{margin:8px 0 20px;color:#1F2A3C;line-height:1.6;font-size:1.02rem;}
body.theme .fit3-card ul{list-style:none;margin:10px 0 24px;padding:0;}
body.theme .fit3-card li{position:relative;padding:5px 0 5px 22px;color:#1F2A3C;font-size:.98rem;line-height:1.5;}
body.theme .fit3-card li::before{content:'';position:absolute;left:2px;top:15px;width:10px;height:1px;background:var(--green);}
@media(max-width:1000px){
 body.theme .svc-fit{padding:70px 0 80px;}
 body.theme .fit3{grid-template-columns:1fr;gap:34px;}
 body.theme .fit3-pills{display:flex;}
 body.theme .fit3-br .bl{display:none;}
 body.theme .fit3-layer .ln{font-size:27px;}
 body.theme .fit3-layer .ls{font-size:16px;}
 body.theme .fit3-svg{max-width:560px;margin:0 auto;}
 body.theme .fit3-card{min-height:0;padding:26px 22px;}
}
@media(prefers-reduced-motion:reduce){body.theme .fit3-layer{transition:none;}}

body.theme .fit3-layer.fit3-apex text.ad{font-family:var(--serif);font-size:17px;fill:#FFF;text-anchor:middle;pointer-events:none;}
body.theme .fit3-who{margin:6px 0 16px;font-family:var(--serif);font-size:1.25rem;color:var(--green);line-height:1.3;}
body.theme .fit3-p{margin:6px 0 16px;color:#1F2A3C;line-height:1.65;font-size:.98rem;}
body.theme .fit3-foot{margin:4px 0 20px;color:var(--muted);font-size:.8rem;font-style:italic;}
body.theme .fit3-pillars{list-style:none;margin:6px 0 24px;padding:0;}
body.theme .fit3-pillars li{padding:12px 0;border-bottom:1px solid var(--tan-line);}
body.theme .fit3-pillars li:last-child{border-bottom:0;}
body.theme .fit3-pillars li::before{display:none;}
body.theme .fit3-pillars strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.25rem;color:var(--green);margin-bottom:4px;}
body.theme .fit3-pillars span{display:block;color:#1F2A3C;line-height:1.6;font-size:.96rem;}
@media(max-width:1000px){body.theme .fit3-layer.fit3-apex text.ad{font-size:20px;}body.theme .fit3-card{min-height:0;}}

/* pyramid: compact, dark gradient */
body.theme .svc-fit{padding:52px 0 56px;background:linear-gradient(160deg,#0B1B33 0%,#16305A 55%,#2C5088 100%);border-top:0;}
body.theme .svc-fit .pg-head2{margin-bottom:20px;}
body.theme .svc-fit .pg-kicker{color:rgba(255,255,255,.65);}
body.theme .svc-fit h2{color:#fff;font-size:clamp(1.7rem,2.6vw,2.2rem);}
body.theme .svc-fit .pg-head2 p{color:rgba(255,255,255,.78);}
body.theme .fit3{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:44px;margin-top:0;}
body.theme .fit3-svg{max-width:540px;max-height:62vh;margin:0 auto;}
body.theme .fit3-card{min-height:0;padding:26px 28px 24px;}
body.theme .fit3-card h3{font-size:1.6rem;margin:4px 0 12px;}
body.theme .fit3-p,body.theme .fit3-who{margin:4px 0 12px;}
body.theme .fit3-layer.on{filter:drop-shadow(0 14px 14px rgba(0,0,0,.45));}
@media(max-width:1000px){body.theme .svc-fit{padding:48px 0 52px;}body.theme .fit3-pill{color:#fff;border-color:rgba(255,255,255,.6);}body.theme .fit3-pill.on{background:#fff;color:#16305A;}body.theme .fit3-svg{max-height:none;}}
body.theme .svc-fit .pg-head2{max-width:none;}
body.theme .svc-fit h2{max-width:none;}
body.theme .svc-fit .pg-head2 p{max-width:620px;font-size:.98rem;margin-top:8px;}
body.theme .svc-fit{padding:44px 0 48px;}

/* ---- services tab box: fit heading + box in one laptop view ---- */
@media(min-width:1001px){
body.theme .svc-explore{padding:34px 0 40px;}
body.theme .svc-explore .pg-head2{margin-bottom:20px;}
body.theme .svc-explore .pg-head2 h1{font-size:clamp(1.8rem,2.6vw,2.4rem);max-width:none;}
body.theme .svc-explore .pg-head2 p{margin-top:8px;font-size:.98rem;line-height:1.55;max-width:none;}
body.theme .svc-tool{margin-top:0;grid-template-columns:.85fr 1.5fr;}
body.theme .svc-tab{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;padding:13px 26px 12px;}
body.theme .svc-tab .n{font-size:1.28rem;flex:0 1 auto;}
body.theme .svc-tab .svc-badge{order:2;margin:0;padding:2px 9px;font-size:.56rem;}
body.theme .svc-tab .svc-badge + .svc-badge{margin-left:0;}
body.theme .svc-tab .l{order:3;flex:0 0 100%;margin-top:3px;font-size:.84rem;line-height:1.4;}
body.theme .svc-panels{min-height:0;}
body.theme .svc-panel{padding:30px 44px 28px;}
body.theme .svc-panel h3{font-size:clamp(1.8rem,2.6vw,2.3rem);margin-bottom:12px;}
body.theme .svc-big{font-size:1.02rem;line-height:1.6;margin-bottom:20px;}
body.theme .svc-cols{padding-top:20px;gap:34px;}
body.theme .svc-cols li{font-size:.92rem;padding-bottom:8px;}
body.theme .svc-why{font-size:.96rem;line-height:1.55;margin-bottom:16px;}
}
/* ---- pyramid: modern glass look ---- */
body.theme .svc-fit{position:relative;overflow:hidden;background:radial-gradient(60% 80% at 15% 20%,rgba(70,130,255,.35),transparent 60%),radial-gradient(50% 70% at 90% 90%,rgba(120,160,255,.22),transparent 60%),linear-gradient(160deg,#050D1C 0%,#0B1E3F 60%,#12306A 100%);}
body.theme .svc-fit::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(70% 70% at 40% 40%,#000,transparent 85%);mask-image:radial-gradient(70% 70% at 40% 40%,#000,transparent 85%);pointer-events:none;}
body.theme .svc-fit>.hwrap{position:relative;z-index:1;}
body.theme .svc-fit .pg-kicker{letter-spacing:.28em;color:#8FB4FF;}
body.theme .svc-fit h2{font-family:'DM Sans',sans-serif;font-weight:500;letter-spacing:-.02em;}
body.theme .fit3-layer{filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));}
body.theme .fit3-layer polygon{stroke:rgba(255,255,255,.45);stroke-width:1;}
body.theme .fit3-layer .ln{font-family:'DM Sans',sans-serif;font-weight:600;font-size:21px;letter-spacing:-.01em;}
body.theme .fit3-layer .ls{font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.85;}
body.theme .fit3-layer[data-key=advisory] text{fill:#0B1E3F;}
body.theme .fit3-layer.on{transform:translateY(-10px);filter:drop-shadow(0 0 22px rgba(120,170,255,.75)) drop-shadow(0 18px 18px rgba(0,0,0,.5));}
body.theme .fit3-layer[data-key=advisory].on{filter:drop-shadow(0 0 22px rgba(200,215,235,.6)) drop-shadow(0 18px 18px rgba(0,0,0,.5));}
body.theme .fit3-layer.dim{opacity:.45;}
body.theme .fit3-br{opacity:.55;}
body.theme .fit3-br .bl{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;}
body.theme .fit3-card{background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);border-top:1px solid rgba(255,255,255,.35);border-radius:18px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 30px 70px -20px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.2);color:#fff;}
body.theme .fit3-card h3{font-family:'DM Sans',sans-serif;font-weight:500;letter-spacing:-.02em;color:#fff;}
body.theme .fit3-tag{background:rgba(143,180,255,.18);border:1px solid rgba(143,180,255,.5);color:#BBD3FF;}
body.theme .fit3-lab{color:#8FB4FF;letter-spacing:.22em;}
body.theme .fit3-who{font-family:'DM Sans',sans-serif;font-weight:500;color:#fff;font-size:1.1rem;}
body.theme .fit3-p,body.theme .fit3-best,body.theme .fit3-card li{color:#D5E0F2;}
body.theme .fit3-pillars strong{font-family:'DM Sans',sans-serif;font-weight:600;color:#fff;font-size:1.05rem;}
body.theme .fit3-pillars span{color:#C3D2EA;}
body.theme .fit3-pillars li{border-bottom-color:rgba(255,255,255,.14);}
body.theme .fit3-foot{color:#8FA6C8;}
body.theme .fit3-card .h-link{color:#fff;}

@media(min-width:1001px){
body.theme .svc-tool{grid-template-columns:1fr 1.45fr;}
body.theme .svc-tab .svc-badge{white-space:nowrap;}
body.theme .svc-tab{padding:11px 24px 10px;}
body.theme .svc-explore{padding-top:26px;}
}

/* ---- round 3: cleaner tabs, calmer pyramid ---- */
@media(min-width:1001px){
body.theme .svc-tabs{justify-content:stretch;}
body.theme .svc-tab{flex:1 1 0;align-content:center;padding:0 28px;min-height:64px;}
body.theme .svc-tab .n{font-size:1.4rem;}
body.theme .svc-tab .l{font-size:.86rem;margin-top:4px;}
body.theme .svc-tool{min-height:480px;}
body.theme .svc-panels{display:flex;flex-direction:column;justify-content:center;}
body.theme .svc-panel{padding:34px 48px;}
}
body.theme .svc-fit{background:linear-gradient(160deg,#0B1B33 0%,#16305A 60%,#244A82 100%);}
body.theme .svc-fit::before{display:none;}
body.theme .svc-fit h2{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;}
body.theme .svc-fit .pg-kicker{letter-spacing:.2em;}
body.theme .fit3{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;}
body.theme .fit3-svg{max-width:680px;max-height:none;}
body.theme .fit3-layer{filter:none;}
body.theme .fit3-layer polygon{stroke:rgba(255,255,255,.25);}
body.theme .fit3-layer .ln{font-size:19px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;}
body.theme .fit3-layer.on{transform:translateY(-6px);filter:drop-shadow(0 12px 14px rgba(0,0,0,.35));}
body.theme .fit3-layer[data-key=advisory].on{filter:drop-shadow(0 12px 14px rgba(0,0,0,.35));}
body.theme .fit3-layer.dim{opacity:.55;}
body.theme .fit3-br .bl{letter-spacing:.16em;}
body.theme .fit3-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:6px;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 20px 44px -22px rgba(0,0,0,.5);}
body.theme .fit3-card h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;}
body.theme .fit3-tag{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#fff;}
body.theme .fit3-lab{letter-spacing:.18em;}
@media(max-width:1000px){body.theme .fit3-layer .ln{font-size:22px;}}
@media(min-width:1001px){
body.theme .svc-tab .n{font-size:1.3rem;}
body.theme .svc-tab{padding:0 24px;column-gap:7px;}
body.theme .svc-tab .svc-badge{padding:2px 8px;letter-spacing:.1em;}
body.theme .svc-tool{min-height:440px;}
}
body.theme .fit3-layer.dim{opacity:.72;}

body.theme .fit3-pick{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 22px;}
body.theme .fit3-pick-l{color:rgba(255,255,255,.8);font-size:.92rem;}
body.theme .fit3-inds{display:flex;flex-wrap:wrap;gap:8px;}
body.theme .fit3-ind{font:inherit;font-size:.86rem;padding:8px 15px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:transparent;color:#fff;cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
body.theme .fit3-ind:hover{border-color:#fff;background:rgba(255,255,255,.1);}
body.theme .fit3-ind.on{background:#fff;color:#16305A;border-color:#fff;}
body.theme .fit3-ind:focus-visible{outline:2px solid #fff;outline-offset:2px;}

body.theme .svc-fit{padding:34px 0 36px;}
body.theme .svc-fit .pg-head2{margin-bottom:12px;}
body.theme .fit3-pick{margin-bottom:16px;}
body.theme .fit3-svg{max-width:600px;}
body.theme .fit3-card{padding:22px 26px 20px;}
@media(max-width:1000px){
body.theme .fit3{grid-template-columns:1fr;gap:26px;}
body.theme .fit3-svg{max-width:100%;}
body.theme .fit3-layer .ln{font-size:25px;letter-spacing:.06em;}
body.theme .fit3-card{padding:22px 20px;}
body.theme .fit3-ind{font-size:.82rem;padding:7px 13px;}
}

/* stable hover: static hit areas, constant box height, badge spacing */
body.theme .fit3-layer{pointer-events:none;}
body.theme .fit3-hit{fill:transparent;pointer-events:all;cursor:pointer;}
body.theme .fit3-tag{display:table;margin:0 0 12px;}
body.theme .fit3-card h3{margin-top:0;}
@media(min-width:1001px){
body.theme .svc-panels{display:grid;min-height:0;}
body.theme .svc-panel{grid-area:1/1;display:block;visibility:hidden;opacity:0;animation:none;align-self:center;}
body.theme .svc-panel.on{visibility:visible;opacity:1;animation:svcFade .3s ease both;}
}
@keyframes svcFade{from{opacity:0}to{opacity:1}}
@media(min-width:1001px){body.theme .fit3{align-items:start;}body.theme .fit3-card{min-height:420px;}}
