
:root{
  --bg:#ffffff;
  --bg-soft:#fbfbfc;
  --bg-warm:#fffdf5;
  --text:#14171b;
  --muted:#616770;
  --muted-2:#8a9098;
  --line:#e8ebef;
  --line-2:#d9dee5;
  --yellow:#f0c400;
  --yellow-2:#ffdf4d;
  --shadow:0 18px 48px rgba(18,22,27,.06);
  --shadow-soft:0 12px 28px rgba(18,22,27,.045);
  --radius:24px;
  --radius-lg:34px;
  --shell:min(1240px, calc(100% - 48px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 0% 8%, rgba(240,196,0,.06), transparent 18%),
    radial-gradient(circle at 100% 22%, rgba(246,247,249,.9), transparent 16%),
    #fff;
  line-height:1.55;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.shell{width:var(--shell);margin:0 auto}
.section{padding:92px 0;border-top:1px solid #f1f2f4}
.section-top{display:grid;grid-template-columns:minmax(0, 1.05fr) minmax(260px,.95fr);gap:40px;align-items:end;margin-bottom:54px}
.eyebrow,.page-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#7f858d;padding:8px 12px;border:1px solid var(--line);background:rgba(255,255,255,.86);border-radius:999px;box-shadow:0 8px 20px rgba(0,0,0,.025)}
.eyebrow:before,.page-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--yellow)}
h1,h2,h3,h4,p{margin:0}
h1{font-size:clamp(44px,5vw,64px);line-height:1.02;letter-spacing:-.05em;font-weight:540}
h2{font-size:clamp(34px,3.5vw,50px);line-height:1.08;letter-spacing:-.04em;font-weight:530}
h3{font-size:clamp(22px,2vw,30px);line-height:1.16;letter-spacing:-.03em;font-weight:560}
h4{font-size:18px;line-height:1.25;letter-spacing:-.02em;font-weight:570}
p{font-size:15px;color:var(--muted)}
.lead{font-size:17px;line-height:1.75;color:#21252a}
.small{font-size:13px;color:var(--muted-2)}
.page-header-space{height:84px}
.topbar{position:sticky;top:0;z-index:100;backdrop-filter:blur(14px);background:rgba(255,255,255,.84);border-bottom:1px solid rgba(232,235,239,.85);box-shadow:0 8px 24px rgba(17,19,21,.03)}
.navbar{height:84px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:238px;height:auto}
.nav-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:flex-end}
.nav-links a{font-size:13px;color:#5e646c;font-weight:550;transition:color .18s ease, opacity .18s ease}
.nav-links a:hover,.nav-links a.active{color:#111315}
.nav-cta{display:inline-flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;border-radius:999px;border:1px solid #ead27a;background:linear-gradient(180deg,#ffdf4d,#f0c400);color:#111315 !important;box-shadow:var(--shadow-soft)}
.nav-cta span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(17,19,21,.1)}
.mobile-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;box-shadow:var(--shadow-soft)}
.hero{padding:74px 0 84px;position:relative}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:54px;align-items:center}.hero-copy{display:grid;gap:22px}.hero-copy h1 em{font-style:normal;color:#727880}.hero-copy p{max-width:690px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.hero-art-card{position:relative;border:1px solid var(--line);border-radius:36px;background:linear-gradient(180deg,#fff,#fbfbfb);box-shadow:0 26px 62px rgba(18,20,22,.055);padding:14px}.hero-art-card img{border-radius:24px}.hero-note{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fff,#fcfcfd);box-shadow:var(--shadow-soft)}.hero-note strong{display:block;font-size:13px;color:#16191c}.hero-note span{display:block;font-size:12px;color:#7b8086}.hero-bullets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:8px}.hero-bullets .bullet{padding:16px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);background:#fff}.bullet b{display:block;font-size:13px;margin-bottom:6px}.bullet span{display:block;font-size:12px;color:#747980;line-height:1.5}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border-radius:999px;border:1px solid transparent;font-size:12.5px;font-weight:650;letter-spacing:.02em;transition:transform .18s ease, box-shadow .18s ease, background .18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(0,0,0,.04)}.btn-primary{background:linear-gradient(180deg,#ffdf4d,#f0c400);color:#111315;border-color:#efcd39}.btn-secondary{background:#fff;color:#111315;border-color:var(--line)}.btn-link{padding:0;border:none;background:none;color:#111315}
.page-hero{padding:58px 0 56px}.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:42px;align-items:center}.page-summary{display:grid;gap:18px}.page-summary .lead{max-width:760px}.page-aside{display:grid;gap:14px}.stat-card,.info-card{padding:22px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#fff,#fcfcfd);box-shadow:var(--shadow-soft)}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stat-card strong{font-size:30px;display:block}.stat-card span{font-size:12px;color:#757b82}
.card-grid{display:grid;gap:18px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.four-col{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card{padding:26px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(180deg,#fff,#fcfcfd);box-shadow:var(--shadow-soft);height:100%}.card:hover{transform:translateY(-2px)}
.icon-badge{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--bg-warm);color:#8d6f00;font-size:18px;margin-bottom:16px}
.feature-list{display:grid;gap:12px}.feature-list .item{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 22px rgba(0,0,0,.02)}.feature-list .item span:first-child{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--bg-warm);font-size:11px;color:#8d6f00}
.split-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:46px;align-items:center}.split-section.reverse{grid-template-columns:minmax(320px,.9fr) minmax(0,1fr)}.art-frame{border:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfbfb);border-radius:34px;padding:14px;box-shadow:var(--shadow)}.art-frame img,.art-frame svg{width:100%;height:auto;border-radius:22px;background:#fff}.art-caption{margin-top:12px;font-size:12px;color:#82878e}
.service-block{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;padding:26px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(180deg,#fff,#fcfcfd);box-shadow:var(--shadow-soft)}.service-icon{width:96px;height:96px;border-radius:24px;background:linear-gradient(180deg,#fff8d6,#fff);border:1px solid #f4e7a4;display:grid;place-items:center;font-size:40px}.service-copy{display:grid;gap:14px}.tag-row{display:flex;gap:10px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;color:#5d636a;box-shadow:0 8px 18px rgba(0,0,0,.02)}
.cta-band{padding:32px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(180deg,#fff,#fcfcfd);box-shadow:var(--shadow);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}.cta-band p{max-width:660px}
.kicker-title{display:grid;gap:14px}.section-kicker{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8e9399;font-weight:650}.section-kicker:before{content:"";width:34px;height:2px;border-radius:999px;background:var(--yellow)}
.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.compare-card{padding:26px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow-soft)}.compare-card ul{margin:14px 0 0;padding-left:18px;color:var(--muted)}.compare-card li{margin:8px 0;font-size:14px}
.metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.metric{padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft);text-align:center}.metric strong{display:block;font-size:28px;letter-spacing:-.03em}.metric span{display:block;font-size:12px;color:#767c84;margin-top:8px}
.logo-cloud{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.logo-chip{padding:18px 16px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center;font-size:14px;font-weight:560;color:#3b3f45;box-shadow:0 10px 22px rgba(0,0,0,.02)}
.accordion{display:grid;gap:12px}.faq-item{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft);overflow:hidden}.faq-q{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px 22px;cursor:pointer}.faq-q strong{font-size:16px}.faq-q span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--bg-warm);color:#8d6f00;font-weight:700}.faq-a{display:none;padding:0 22px 22px}.faq-item.active .faq-a{display:block}.faq-item.active .faq-q{border-bottom:1px solid var(--line)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:26px}.contact-card{padding:26px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,#fff,#fcfcfd);box-shadow:var(--shadow-soft)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:8px}.field label{font-size:13px;font-weight:600;color:#24282c}.field input,.field textarea{padding:14px 16px;border:1px solid var(--line-2);border-radius:16px;background:#fff;color:#111315}.field textarea{min-height:140px;resize:vertical}.field.full{grid-column:1/-1}
.location-list{display:grid;gap:12px}.location{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.location strong{display:block;font-size:14px;margin-bottom:6px}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fff}.check:before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--bg-warm);color:#8d6f00;font-weight:700;flex-shrink:0}
.footer{border-top:1px solid #eef0f2;background:linear-gradient(180deg,#fff,#fbfbfb);padding:34px 0 22px}.footer-top{display:grid;grid-template-columns:280px 1fr;gap:26px;margin-bottom:18px}.footer-brand img{width:230px;margin-bottom:16px}.footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.footer-col h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8b9098;margin-bottom:14px}.footer-col a{display:block;font-size:13px;color:#5f656d;margin:8px 0}.footer-bottom{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:16px;border-top:1px solid #eef0f2}.footer-bottom p,.footer-bottom a{font-size:12px;color:#7c8188}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease, transform .55s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width: 1100px){
  .hero-grid,.page-hero-grid,.split-section,.split-section.reverse,.contact-layout,.section-top,.footer-top{grid-template-columns:1fr;gap:28px}
  .three-col,.four-col,.metrics-grid,.logo-cloud,.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-bullets{grid-template-columns:1fr}
  .service-block{grid-template-columns:1fr}
  .service-icon{width:78px;height:78px;border-radius:20px}
  .cta-band{grid-template-columns:1fr}
}
@media (max-width: 860px){
  :root{--shell:min(1240px, calc(100% - 28px))}
  .mobile-toggle{display:block}
  .nav-links{display:none;position:absolute;top:84px;left:14px;right:14px;padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.98);box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}
  .nav-links.show{display:flex}
  .nav-links a{width:100%}
  .page-header-space{height:74px}
  .navbar{height:74px}
  .brand img{width:206px}
  .hero{padding:46px 0 70px}
  .section{padding:76px 0}
  .two-col,.compare-grid,.form-grid,.check-grid{grid-template-columns:1fr}
}
@media (max-width: 560px){
  h1{font-size:40px}
  h2{font-size:32px}
  .three-col,.four-col,.metrics-grid,.logo-cloud,.footer-columns{grid-template-columns:1fr}
  .hero-art-card,.art-frame,.cta-band,.contact-card,.card,.service-block,.faq-item,.stat-card,.info-card{border-radius:22px}
}

/* =========================================================
   PURE WHITE VISUAL REFINEMENT
   All pages, sections and image containers stay pure white.
   Images blend directly into the layout without boxed frames.
   ========================================================= */

html,
body {
  background: #ffffff !important;
}

body {
  background-image: none !important;
}

main,
section,
.section,
.hero,
.page-hero,
.footer,
.topbar,
.card,
.info-card,
.stat-card,
.contact-card,
.compare-card,
.metric,
.logo-chip,
.location,
.check,
.faq-item,
.service-block,
.cta-band,
.hero-note,
.hero-bullets .bullet,
.feature-list .item {
  background: #ffffff !important;
  background-image: none !important;
}

/* Image areas merge with the white page instead of looking framed. */
.hero-art-card,
.art-frame,
.page-aside.art-frame {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

.hero-art-card::before,
.hero-art-card::after,
.art-frame::before,
.art-frame::after {
  display: none !important;
}

.hero-art-card img,
.art-frame img,
.art-frame svg,
.page-aside.art-frame img,
.page-aside.art-frame svg {
  width: 100%;
  height: auto;
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.art-caption {
  margin-top: 10px;
  color: #8a9098;
  background: #ffffff !important;
}

.topbar {
  background: rgba(255,255,255,.96) !important;
}

.footer {
  background: #ffffff !important;
}

/* Remove tinted decorative page washes. */
.hero::before,
.hero::after,
.section::before,
.section::after,
.page-hero::before,
.page-hero::after {
  background: transparent !important;
}

/* Cards may retain subtle borders/shadows for hierarchy, but never tinted fills. */
.card,
.info-card,
.stat-card,
.contact-card,
.compare-card,
.metric,
.logo-chip,
.location,
.check,
.faq-item,
.service-block,
.cta-band,
.hero-note,
.hero-bullets .bullet,
.feature-list .item {
  background-color: #ffffff !important;
}

/* Make large graphics breathe naturally on the white canvas. */
.hero-art-card img {
  max-height: 650px;
  object-fit: contain;
}

.split-section .art-frame img,
.split-section .art-frame svg {
  max-height: 640px;
  object-fit: contain;
}

/* =========================================================
   AUG 15 REFINEMENT — COMPACT SPACING + PROMINENT HERO
   ========================================================= */

/* Keep the site visually continuous and pure white. */
html,body,main,section,.section,.hero,.page-hero{background:#fff!important;background-image:none!important}

/* Reduce vertical whitespace throughout the site. */
.section{padding:62px 0!important}
.section-top{margin-bottom:36px!important;gap:32px!important}
.page-hero{padding:38px 0 44px!important}

/* Bring the homepage hero much closer to the navigation. */
.navbar{height:76px!important}
.hero{padding:26px 0 46px!important}
.hero-grid{
  grid-template-columns:minmax(0,.88fr) minmax(470px,1.12fr)!important;
  gap:34px!important;
  align-items:center!important;
}
.hero-copy{gap:17px!important}
.hero-actions{margin-top:4px!important}

/* Hero graphic: no box, much larger, visually integrated with the white page. */
.hero-art-card{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
  overflow:visible!important;
}
.hero-art-card img{
  width:120%!important;
  max-width:none!important;
  max-height:none!important;
  height:auto!important;
  object-fit:contain!important;
  margin-left:-10%!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
}

/* Full-width proposition strip beneath the hero. */
.hero-highlights{margin-top:28px!important}
.hero-highlights .hero-bullets{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0!important;
  width:100%!important;
}
.hero-highlights .bullet{
  min-height:106px!important;
  padding:22px 24px!important;
  border:1px solid #e0b600!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#ffe052 0%,#f0c400 100%)!important;
  box-shadow:0 12px 26px rgba(190,151,0,.14)!important;
  color:#111315!important;
}
.hero-highlights .bullet b{
  font-size:15px!important;
  line-height:1.3!important;
  margin-bottom:8px!important;
  color:#111315!important;
}
.hero-highlights .bullet span{
  font-size:12.5px!important;
  line-height:1.55!important;
  color:#332d12!important;
}

/* Remove obsolete hero note wherever it may still appear. */
.hero-note{display:none!important}

/* Tighten repeated content groups. */
.feature-list{gap:10px!important}
.feature-list .item{padding:14px 16px!important}
.card{padding:23px!important}
.two-col,.three-col,.four-col{gap:15px!important}
.split-section,.split-section.reverse{gap:36px!important}
.cta-band{padding:27px!important}
.footer{padding-top:28px!important}

/* Images should continue to flow into the white canvas with no framing. */
.art-frame,.page-aside.art-frame{
  border:0!important;
  padding:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.art-frame img,.art-frame svg,.page-aside.art-frame img,.page-aside.art-frame svg{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
}

@media(max-width:1100px){
  .hero-grid{grid-template-columns:1fr!important;gap:22px!important}
  .hero-art-card img{width:100%!important;margin-left:0!important;max-height:680px!important}
  .hero-highlights .hero-bullets{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:860px){
  .navbar{height:70px!important}
  .nav-links{top:70px!important}
  .hero{padding:20px 0 38px!important}
  .section{padding:50px 0!important}
  .page-hero{padding:30px 0 36px!important}
  .hero-highlights{margin-top:18px!important}
  .hero-highlights .hero-bullets{grid-template-columns:1fr!important}
  .hero-highlights .bullet{min-height:auto!important}
}
@media(max-width:560px){
  .section{padding:42px 0!important}
  .hero{padding-top:16px!important}
}

/* =========================================================
   HERO PRINCIPLES — PREMIUM WHITE STRIP EXPERIMENT
   Replaces the solid-yellow cards with a lighter enterprise treatment.
   ========================================================= */
.hero-highlights{
  margin-top:26px!important;
  position:relative!important;
}
.hero-highlights .hero-bullets{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  border-top:1px solid #dadde1!important;
  border-bottom:1px solid #dadde1!important;
  box-shadow:none!important;
}
.hero-highlights .bullet{
  position:relative!important;
  min-height:116px!important;
  padding:24px 30px 24px 54px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#111315!important;
}
.hero-highlights .bullet + .bullet{
  border-left:1px solid #e3e5e8!important;
}
.hero-highlights .bullet::before{
  position:absolute!important;
  left:22px!important;
  top:26px!important;
  width:20px!important;
  height:20px!important;
  border-radius:50%!important;
  background:#f0c400!important;
  color:#111315!important;
  display:grid!important;
  place-items:center!important;
  font-size:9px!important;
  font-weight:750!important;
  line-height:1!important;
  box-shadow:0 0 0 6px #fff8d7!important;
}
.hero-highlights .bullet:nth-child(1)::before{content:"01"!important}
.hero-highlights .bullet:nth-child(2)::before{content:"02"!important}
.hero-highlights .bullet:nth-child(3)::before{content:"03"!important}
.hero-highlights .bullet::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:-1px!important;
  width:72px!important;
  height:3px!important;
  background:#f0c400!important;
  border-radius:999px!important;
}
.hero-highlights .bullet b{
  display:block!important;
  font-size:15.5px!important;
  line-height:1.3!important;
  letter-spacing:-.015em!important;
  margin:0 0 8px!important;
  color:#111315!important;
  font-weight:650!important;
}
.hero-highlights .bullet span{
  display:block!important;
  font-size:12.5px!important;
  line-height:1.58!important;
  color:#6d7279!important;
  max-width:330px!important;
}

@media(max-width:860px){
  .hero-highlights .hero-bullets{
    grid-template-columns:1fr!important;
    border-top:1px solid #dadde1!important;
    border-bottom:1px solid #dadde1!important;
  }
  .hero-highlights .bullet{
    min-height:auto!important;
    padding:22px 20px 22px 52px!important;
  }
  .hero-highlights .bullet + .bullet{
    border-left:0!important;
    border-top:1px solid #e3e5e8!important;
  }
  .hero-highlights .bullet::before{left:18px!important;top:24px!important}
  .hero-highlights .bullet::after{width:54px!important}
  .hero-highlights .bullet span{max-width:none!important}
}

/* =========================================================
   AUG 18 — HERO / SERVICES / INDUSTRY VISUAL REFINEMENT
   ========================================================= */

/* Hero: separate copy and visual cleanly, then enlarge the artwork by cropping
   its surrounding white canvas inside the visual column instead of letting it
   spill over the copy. */
.hero-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:46px!important;
  align-items:center!important;
}
.hero-grid > *{min-width:0!important}
.hero-grid > .reveal:last-child{
  overflow:hidden!important;
  position:relative!important;
  z-index:1!important;
}
.hero-copy{
  position:relative!important;
  z-index:2!important;
  max-width:650px!important;
}
.hero-visual-stage{
  position:relative!important;
  width:100%!important;
  aspect-ratio:1.45/1!important;
  overflow:hidden!important;
  background:#fff!important;
}
.hero-visual-stage img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:scale(1.18)!important;
  transform-origin:center!important;
  background:#fff!important;
}
.hero-visual-stage .hero-primary{
  opacity:0!important;
  transition:opacity .18s ease!important;
  z-index:2!important;
}
.hero-visual-stage .hero-fallback{z-index:1!important}
.hero-visual-stage.hero-has-primary .hero-primary{opacity:1!important}
.hero-visual-stage.hero-has-primary .hero-fallback{opacity:0!important}

/* Use the supplied services illustration as a large, unboxed visual. */
.services-art{
  overflow:hidden!important;
  min-height:470px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.services-art .services-visual{
  width:116%!important;
  max-width:none!important;
  height:auto!important;
  margin:0 -8%!important;
  transform:scale(1.08)!important;
  transform-origin:center!important;
  object-fit:contain!important;
}

/* Industry visual remains unboxed and is given the same scale treatment. */
.industry-art{
  overflow:hidden!important;
  min-height:430px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.industry-art .industry-visual{
  width:112%!important;
  max-width:none!important;
  height:auto!important;
  margin:0 -6%!important;
  transform:scale(1.06)!important;
  transform-origin:center!important;
  object-fit:contain!important;
}

@media(max-width:1100px){
  .hero-grid{grid-template-columns:1fr!important;gap:26px!important}
  .hero-copy{max-width:none!important}
  .hero-visual-stage{aspect-ratio:1.55/1!important;max-height:650px!important}
  .hero-visual-stage img{transform:scale(1.12)!important}
  .services-art,.industry-art{min-height:0!important}
}
@media(max-width:700px){
  .hero-visual-stage{aspect-ratio:1.35/1!important}
  .hero-visual-stage img{transform:scale(1.16)!important}
  .services-art .services-visual,.industry-art .industry-visual{
    width:108%!important;
    margin:0 -4%!important;
    transform:scale(1.04)!important;
  }
}


/* =========================================================
   SEPTEMBER CONTENT EXPANSION — TEXT-FIRST MARKETING LAYERS
   No new image assets are required by these sections.
   ========================================================= */
.nav-links{gap:18px!important}.nav-links a{font-size:12.5px!important}
.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.route-card{padding:24px;border:1px solid var(--line);background:#fff;border-radius:24px;box-shadow:var(--shadow-soft)}.route-card>span,.journey-card>span,.usecase-card>span,.governance-card>span,.outcome-card>span,.integration-category>span{display:inline-block;font-size:9px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:#8c7200;margin-bottom:10px}.route-card h3{font-size:24px;margin-bottom:10px}
.process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.step-card{position:relative;padding:24px 22px;border:1px solid var(--line);border-radius:22px;background:#fff;min-height:180px}.step-card>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff8d7;color:#8d6f00;font-size:10px;font-weight:750;margin-bottom:16px}.step-card h4{margin-bottom:8px}.step-card p{font-size:13px;line-height:1.65}
.integration-preview,.integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.integration-group,.integration-category{padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff}.integration-group h4,.integration-category h3{margin-bottom:9px}.integration-group p,.integration-category p{font-size:13px;line-height:1.65}
.outcome-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.outcome-card{padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff}.outcome-card h4{margin-bottom:9px}.outcome-card p{font-size:13px;line-height:1.65}
.agent-module-grid{display:grid;gap:12px}.agent-module{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.agent-module>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#fff8d7;color:#8d6f00;font-size:10px;font-weight:750}.agent-module h4{margin-bottom:7px}.agent-module p{font-size:13px;line-height:1.65}
.journey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.journey-card{padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff}.journey-card h4{margin-bottom:12px}.journey-card p{font-size:13px;line-height:1.65;margin-top:8px}.journey-card strong{color:#2c3136}
.usecase-card{padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff}.usecase-card h3,.usecase-card h4{margin-bottom:10px}.usecase-card p{font-size:13px;line-height:1.65}.fit-row{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.fit-row b{display:block;font-size:11px;margin-bottom:4px}.fit-row small{font-size:11px;color:#777d85}
.industry-stack{display:grid;gap:14px}.industry-solution{display:grid;grid-template-columns:1.05fr repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:24px;background:#fff;overflow:hidden}.industry-solution>header,.industry-solution>div{padding:22px}.industry-solution>div{border-left:1px solid var(--line)}.industry-solution header span{display:inline-block;font-size:9px;font-weight:750;letter-spacing:.14em;color:#8c7200;margin-bottom:9px}.industry-solution h3{font-size:22px}.industry-solution h4{font-size:13px;margin-bottom:8px}.industry-solution p{font-size:12.5px;line-height:1.65}
.governance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.governance-card{padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff}.governance-card h3{font-size:22px;margin-bottom:10px}.governance-card p{font-size:13px;line-height:1.65}
.outcome-industry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.outcome-industry{padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff}.outcome-industry h3{font-size:22px;margin-bottom:12px}.outcome-industry ul{margin:0;padding-left:18px}.outcome-industry li{font-size:13px;color:var(--muted);margin:7px 0;line-height:1.55}.five-col{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.link-card{display:block;transition:transform .18s ease,border-color .18s ease}.link-card:hover{transform:translateY(-2px);border-color:#d9c569}
.field select{padding:14px 16px;border:1px solid var(--line-2);border-radius:16px;background:#fff;color:#111315;width:100%}
@media(max-width:1100px){.industry-solution{grid-template-columns:1fr 1fr}.industry-solution>header{grid-column:1/-1}.industry-solution>div{border-left:0;border-top:1px solid var(--line)}.outcome-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.five-col{grid-template-columns:repeat(2,minmax(0,1fr))}.process-steps,.integration-preview,.integration-grid,.governance-grid,.outcome-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.route-grid,.journey-grid,.outcome-preview,.process-steps,.integration-preview,.integration-grid,.governance-grid,.outcome-industry-grid,.five-col{grid-template-columns:1fr}.industry-solution{grid-template-columns:1fr}.industry-solution>header{grid-column:auto}.industry-solution>div{border-left:0;border-top:1px solid var(--line)}}
