:root{
  --ink:#141923;
  --muted:#5e6876;
  --paper:#f4f7fb;
  --panel:#ffffff;
  --line:#d8e0ea;
  --deep:#172235;
  --accent:#26c6da;
  --accent-2:#ff7a59;
  --accent-3:#6d7cff;
  --soft:#eaf8fb;
  --warm:#fff1e9;
  --shadow:0 22px 52px rgba(21,30,46,.13);
}
.notch{--accent:#22c7b8;--accent-2:#ff8a45;--accent-3:#5b7cff;--soft:#e9fbf8;--warm:#fff2e6}
.east{--accent:#8bd450;--accent-2:#f06b4f;--accent-3:#2f80ed;--soft:#f0fbdf;--warm:#fff1e5}
.west{--accent:#b36bff;--accent-2:#22c7a9;--accent-3:#ff8d4d;--soft:#f3e9ff;--warm:#e9fbf6}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:radial-gradient(circle at 10% 0,rgba(38,198,218,.18),transparent 32%),radial-gradient(circle at 92% 14%,rgba(255,122,89,.14),transparent 30%),var(--paper);line-height:1.58}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.site-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px clamp(18px,5vw,72px);background:rgba(255,255,255,.9);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:11px;font-size:22px;font-weight:800}
.brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent-3));color:#fff;box-shadow:0 12px 26px rgba(21,30,46,.16)}
.main-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.main-nav a{padding:9px 13px;border-radius:999px;color:#334055;font-weight:700;border:1px solid transparent}
.main-nav a:hover{background:var(--soft);border-color:rgba(20,25,35,.08)}
main{overflow:hidden}
.kicker{text-transform:uppercase;font-size:13px;letter-spacing:.14em;color:var(--accent-3);font-weight:800;margin:0 0 16px}
h1{font-size:clamp(38px,5.8vw,74px);line-height:1;margin:0 0 18px;letter-spacing:0}
h2{font-size:clamp(23px,2.7vw,34px);line-height:1.12;margin:0 0 12px;letter-spacing:0}
p{font-size:17px;color:var(--muted);margin:0 0 14px}
.seo-summary{font-size:clamp(18px,1.8vw,22px);line-height:1.48;color:var(--ink);max-width:860px;margin:0 0 18px;font-weight:700}
.copy-panel,.intro-block,.hero-copy,.text-panel,.text-block,.board-title,.contact-box,.address-box{background:var(--panel);border:1px solid var(--line);border-radius:28px;padding:clamp(24px,4vw,46px);box-shadow:var(--shadow)}
.notch-start,.profile-notch,.service-notch,.reach-notch,.about-balanced,.about-flow,.about-ribbon,.timeline-layout,.service-mosaic,.service-columns,.contact-mosaic,.contact-strip,.contact-layout,.hero.stack,.hero.image-first,.band,.image-line,.solo-image,.mosaic{display:grid;gap:24px;padding:clamp(34px,6vw,78px) clamp(18px,5vw,72px)}
.notch-start,.profile-notch,.service-notch{grid-template-columns:1.05fr .95fr;align-items:stretch;background:linear-gradient(135deg,var(--soft),rgba(255,255,255,.62))}
.notch-start .copy-panel,.profile-notch .copy-panel,.service-notch .copy-panel{align-self:center}
.notch-start figure,.profile-notch figure,.service-notch figure,.solo-image figure,.image-line figure,.about-balanced figure,.about-flow figure,.about-ribbon figure,.timeline-layout figure,.service-mosaic figure,.contact-mosaic figure,.contact-strip figure,.contact-layout figure,.hero figure,.band figure,.mosaic figure{margin:0;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);min-height:330px}
.notch-start>figure,.profile-notch>figure,.service-notch>figure{min-height:470px}
.step-list{display:grid;gap:16px;align-content:start}
.step-list article,.feature-list article,.feature-grid article,.notch-steps article,.meter-row div,.detail-strip div{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}
.step-list article,.feature-list article,.feature-grid article,.notch-steps article{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-areas:"num title" "num copy";column-gap:18px;row-gap:8px;align-items:start}
.step-list span,.feature-list span,.feature-grid span,.notch-steps span,.meter-row span,.detail-strip span{grid-area:num;display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,var(--accent),var(--accent-3));color:#fff;font-weight:800}
.step-list h2,.feature-list h2,.feature-grid h2,.notch-steps h2{grid-area:title;font-size:clamp(22px,2.2vw,29px);margin:0;color:var(--ink)}
.step-list p,.feature-list p,.feature-grid p,.notch-steps p{grid-area:copy;max-width:68ch;margin:0;color:var(--muted)}
.image-line{grid-template-columns:.82fr 1.18fr;align-items:center;background:rgba(255,255,255,.5)}
.image-line .text-panel{min-height:220px;display:flex;flex-direction:column;justify-content:center}
.meter-row,.detail-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:34px clamp(18px,5vw,72px) 76px}
.meter-row div,.detail-strip div{position:relative;overflow:hidden}
.meter-row div:before,.detail-strip div:before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:linear-gradient(180deg,var(--accent),var(--accent-2))}
.meter-row span,.detail-strip span{margin-bottom:16px}
.detail-strip strong{display:block;font-size:20px;margin-bottom:8px;color:var(--ink)}
.solo-image{padding-top:0}
.solo-image figure{min-height:360px}
.about-balanced{grid-template-columns:1.06fr .94fr;align-items:center;background:linear-gradient(135deg,var(--soft),rgba(255,255,255,.5))}
.about-flow{grid-template-columns:.9fr 1fr .8fr;align-items:stretch}
.about-flow .text-block{display:flex;flex-direction:column;justify-content:center}
.feature-list{display:grid;gap:16px}
.service-mosaic{grid-template-columns:.92fr 1.08fr;align-items:start;background:linear-gradient(135deg,var(--soft),rgba(255,255,255,.55))}
.service-mosaic .wide-photo{grid-row:span 2;min-height:520px}
.service-mosaic .feature-grid{grid-column:1/-1;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.about-ribbon,.hero.image-first{grid-template-columns:.95fr 1.05fr;align-items:center;background:linear-gradient(135deg,var(--warm),rgba(255,255,255,.6))}
.about-ribbon figure,.hero.image-first figure{min-height:500px}
.timeline-layout,.service-columns{grid-template-columns:1fr .95fr;align-items:stretch}
.service-rows{display:grid;gap:16px}
.service-rows article{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-areas:"num title" "num copy";column-gap:18px;row-gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}
.service-rows span{grid-area:num;display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,var(--accent),var(--accent-3));color:#fff;font-weight:800}
.service-rows h2{grid-area:title;font-size:clamp(22px,2.2vw,29px);margin:0}
.service-rows p{grid-area:copy;max-width:68ch;margin:0}
.contact-mosaic,.contact-layout{grid-template-columns:.85fr 1.15fr;align-items:start;background:linear-gradient(135deg,var(--soft),rgba(255,255,255,.5))}
.contact-layout.wide-form{grid-template-columns:.8fr 1.2fr}
.contact-strip{grid-template-columns:1fr 1fr;align-items:center}
form{display:grid;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}
label{display:grid;gap:6px;color:#2f3948;font-weight:800}
input,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;font:inherit;background:#f8fafc}
textarea{min-height:128px;resize:vertical}
button{border:0;border-radius:999px;padding:14px 20px;background:linear-gradient(135deg,var(--accent-2),var(--accent-3));color:#fff;font-weight:800;justify-self:start;cursor:pointer}
.simple-page{padding:clamp(44px,8vw,96px) clamp(18px,5vw,72px);min-height:58vh;background:linear-gradient(135deg,var(--soft),#fff)}
.simple-page section{max-width:900px;background:var(--panel);border:1px solid var(--line);border-radius:28px;padding:clamp(24px,4vw,46px);box-shadow:var(--shadow)}
.site-footer{display:flex;justify-content:space-between;gap:20px;padding:30px clamp(18px,5vw,72px);background:var(--deep);color:#fff}
.site-footer p,.site-footer a{color:rgba(255,255,255,.78)}
.footer-links{display:flex;gap:14px;flex-wrap:wrap}
@media (max-width:900px){
  .site-header{align-items:flex-start;flex-direction:column}
  .main-nav{justify-content:flex-start}
  .notch-start,.profile-notch,.service-notch,.reach-notch,.about-balanced,.about-flow,.about-ribbon,.timeline-layout,.service-mosaic,.service-columns,.contact-mosaic,.contact-strip,.contact-layout,.hero.stack,.hero.image-first,.band,.image-line,.mosaic{grid-template-columns:1fr}
  .service-mosaic .wide-photo{grid-row:auto}
  .service-mosaic .feature-grid,.meter-row,.detail-strip{grid-template-columns:1fr}
  .notch-start>figure,.profile-notch>figure,.service-notch>figure,.about-ribbon figure,.hero.image-first figure,.service-mosaic .wide-photo{min-height:310px}
  h1{font-size:42px}
}
@media (max-width:560px){
  .notch-start,.profile-notch,.service-notch,.reach-notch,.about-balanced,.about-flow,.about-ribbon,.timeline-layout,.service-mosaic,.service-columns,.contact-mosaic,.contact-strip,.contact-layout,.hero.stack,.hero.image-first,.band,.image-line,.solo-image,.mosaic,.meter-row,.detail-strip{padding-left:16px;padding-right:16px}
  .step-list article,.feature-list article,.feature-grid article,.notch-steps article,.service-rows article{grid-template-columns:1fr;grid-template-areas:"num" "title" "copy"}
  h1{font-size:36px}
  .seo-summary{font-size:18px}
}

/* Bright accent layer */
body{
  background:
    radial-gradient(circle at 8% 0, rgba(0,224,255,.28), transparent 30%),
    radial-gradient(circle at 92% 10%, rgba(255,87,128,.24), transparent 28%),
    linear-gradient(135deg,#f7fbff 0%,#fff6ec 48%,#f2f7ff 100%);
}
.notch{--accent:#00d8ff;--accent-2:#ff4f87;--accent-3:#7a5cff;--soft:#defaff;--warm:#ffe5ef}
.east{--accent:#b7f23b;--accent-2:#ff5c3d;--accent-3:#008cff;--soft:#f2ffd6;--warm:#ffe7d9}
.west{--accent:#d35cff;--accent-2:#00d7b2;--accent-3:#ff9d00;--soft:#f7ddff;--warm:#dcfff8}
.site-header{
  background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.82));
  border-bottom:4px solid transparent;
  border-image:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent-3)) 1;
}
.brand span{
  background:linear-gradient(135deg,var(--accent),var(--accent-2) 48%,var(--accent-3));
}
.main-nav a:hover{
  background:linear-gradient(135deg,var(--soft),#fff);
  color:var(--deep);
}
.copy-panel,.intro-block,.hero-copy,.text-panel,.text-block,.board-title,.contact-box,.address-box{
  border:2px solid rgba(255,255,255,.85);
  box-shadow:0 24px 58px rgba(21,30,46,.14), inset 0 0 0 1px rgba(255,255,255,.8);
}
.copy-panel,.intro-block,.board-title{
  background:linear-gradient(135deg,#ffffff 0%,var(--soft) 58%,#ffffff 100%);
}
.text-panel,.text-block,.contact-box,.address-box{
  background:linear-gradient(135deg,#ffffff 0%,var(--warm) 100%);
}
.notch-start,.profile-notch,.service-notch,.reach-notch,.about-balanced,.service-mosaic,.about-ribbon,.hero.image-first,.contact-mosaic,.contact-layout{
  background:
    linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,255,255,.18)),
    linear-gradient(115deg,var(--soft) 0%,#fff 52%,var(--warm) 100%);
}
.step-list article,.feature-list article,.feature-grid article,.notch-steps article,.meter-row div,.detail-strip div,.service-rows article{
  border:2px solid rgba(255,255,255,.9);
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(135deg,var(--accent),var(--accent-2),var(--accent-3)) border-box;
  box-shadow:0 18px 44px rgba(21,30,46,.12);
}
.step-list span,.feature-list span,.feature-grid span,.notch-steps span,.meter-row span,.detail-strip span,.service-rows span{
  background:linear-gradient(135deg,var(--accent),var(--accent-2) 55%,var(--accent-3));
  color:#fff;
  box-shadow:0 12px 26px rgba(21,30,46,.18);
}
.meter-row div:before,.detail-strip div:before{
  width:10px;
  background:linear-gradient(180deg,var(--accent),var(--accent-2),var(--accent-3));
}
.kicker{
  color:var(--accent-2);
}
button{
  background:linear-gradient(135deg,var(--accent),var(--accent-2) 52%,var(--accent-3));
  box-shadow:0 14px 28px rgba(21,30,46,.18);
}
.site-footer{
  background:linear-gradient(135deg,#131e31,#233756 58%,#151b2c);
  border-top:6px solid transparent;
  border-image:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent-3)) 1;
}