:root{
  --forest:#183f37;
  --forest-2:#24574b;
  --ink:#17262f;
  --paper:#f5efe3;
  --paper-2:#fffaf2;
  --clay:#a95f45;
  --gold:#c7a15d;
  --moss:#6f8060;
  --plum:#694a66;
  --line:rgba(23,38,47,.16);
  --shadow:0 18px 45px rgba(24,63,55,.14);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.container{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.eyebrow{font-size:.78rem;letter-spacing:.17em;text-transform:uppercase;font-weight:800;color:var(--clay)}
.section{padding:88px 0}
.section.alt{background:rgba(255,250,242,.75);border-block:1px solid var(--line)}
.section-head{max-width:760px;margin-bottom:34px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08;margin:0 0 .65em}
h1{font-size:clamp(3rem,7vw,6.4rem);letter-spacing:-.045em}
h2{font-size:clamp(2.2rem,4.5vw,4rem);letter-spacing:-.035em}
h3{font-size:clamp(1.35rem,2.2vw,2rem)}
p{margin:0 0 1rem}.lead{font-size:clamp(1.05rem,2vw,1.3rem);max-width:760px;color:#30444e}
.site-header{position:sticky;top:0;z-index:40;background:rgba(245,239,227,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.01em}.brand-mark{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:var(--paper);font-family:Georgia,serif;font-size:1.5rem;box-shadow:inset 0 0 0 3px rgba(255,255,255,.12)}
.brand-text{line-height:1.05}.brand-text small{display:block;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--clay);margin-top:5px}
.nav-links{display:flex;align-items:center;gap:18px;font-size:.94rem;font-weight:700}.nav-links a{padding:10px 2px;border-bottom:2px solid transparent}.nav-links a:hover,.nav-links a.active{border-color:var(--clay);color:var(--forest)}
.menu-btn{display:none;border:0;background:var(--forest);color:#fff;border-radius:999px;padding:10px 14px;font-weight:800}
.hero{position:relative;overflow:hidden;min-height:760px;display:grid;align-items:center;background:linear-gradient(135deg,var(--paper-2),var(--paper))}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 15% 20%,rgba(111,128,96,.15),transparent 28%),radial-gradient(circle at 88% 28%,rgba(105,74,102,.14),transparent 25%),linear-gradient(115deg,transparent 0 68%,rgba(199,161,93,.11) 68% 69%,transparent 69%)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:82px 0}
.hero-copy p{font-size:1.18rem;max-width:690px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:999px;font-weight:850;border:1px solid var(--forest);transition:.2s ease}.btn.primary{background:var(--forest);color:#fff}.btn.secondary{background:transparent;color:var(--forest)}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(24,63,55,.16)}
.collage{position:relative;min-height:520px}.collage-piece{position:absolute;border-radius:20px;border:1px solid rgba(255,255,255,.42);box-shadow:var(--shadow);display:flex;align-items:flex-end;padding:18px;color:#fff;font-family:Georgia,serif;font-weight:700;overflow:hidden}.collage-piece::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.48));z-index:0}.collage-piece span{position:relative;z-index:1}.piece-a{inset:7% 35% 48% 3%;transform:rotate(-5deg);background:linear-gradient(135deg,#547667,#183f37)}.piece-b{inset:2% 2% 54% 52%;transform:rotate(6deg);background:repeating-linear-gradient(30deg,#c7a15d 0 15px,#a95f45 15px 30px)}.piece-c{inset:42% 42% 3% 0;transform:rotate(3deg);background:radial-gradient(circle at 40% 30%,#b8c29b,#6f8060 45%,#2b5148)}.piece-d{inset:39% 0 8% 44%;transform:rotate(-3deg);background:linear-gradient(140deg,#694a66,#17262f)}.collage-center{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:180px;height:180px;border-radius:50%;background:var(--paper-2);border:12px solid rgba(245,239,227,.78);display:grid;place-items:center;text-align:center;box-shadow:0 20px 60px rgba(23,38,47,.25);font-family:Georgia,serif;font-weight:800;color:var(--forest);z-index:3;padding:22px}.collage-center::before{content:"✦";display:block;font-size:2.3rem;color:var(--clay)}
.grid{display:grid;gap:24px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:rgba(255,250,242,.92);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 12px 28px rgba(23,38,47,.07);position:relative;overflow:hidden}.card::after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-35px;top:-35px;background:rgba(199,161,93,.14)}.card:hover{transform:translateY(-4px);transition:.2s ease;box-shadow:var(--shadow)}
.site-card{min-height:310px;display:flex;flex-direction:column;justify-content:space-between}.site-card .tag-row{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.tag{font-size:.75rem;font-weight:800;padding:6px 10px;border-radius:999px;background:rgba(24,63,55,.09);color:var(--forest)}.site-card .arrow{font-weight:900;color:var(--clay)}
.icon-badge{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:var(--forest);color:white;font-size:1.35rem;margin-bottom:18px}
.band{background:var(--forest);color:#fff;padding:66px 0}.band .lead{color:rgba(255,255,255,.78)}
.page-hero{padding:110px 0 70px;background:linear-gradient(135deg,var(--paper-2),#ece3d2);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.page-hero::after{content:"✦  ◌  ✎  ☼  ⟡";position:absolute;right:6%;bottom:15%;font-size:clamp(2rem,7vw,6rem);letter-spacing:.18em;color:rgba(24,63,55,.08)}
.breadcrumb{font-size:.9rem;font-weight:800;color:var(--clay);margin-bottom:18px}
.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}.feature-item{padding:18px 20px;border-left:4px solid var(--gold);background:rgba(255,255,255,.5);border-radius:0 16px 16px 0}
.callout{padding:32px;border-radius:var(--radius);background:linear-gradient(135deg,var(--forest),var(--forest-2));color:#fff}.callout p{color:rgba(255,255,255,.82)}
.form{display:grid;gap:15px}.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);background:#fffdf8;border-radius:14px;padding:14px 16px}.form textarea{min-height:160px;resize:vertical}
.site-footer{background:#102a26;color:#fff;padding:62px 0 24px}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:34px}.footer-grid a{display:block;color:rgba(255,255,255,.72);margin:.55rem 0}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:38px;padding-top:20px;color:rgba(255,255,255,.62);font-size:.88rem}
.notice{font-size:.88rem;color:#5b6b72;background:rgba(255,255,255,.45);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.collage{min-height:460px}.grid.four{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.nav-links{position:absolute;left:16px;right:16px;top:70px;display:none;flex-direction:column;align-items:stretch;background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.nav-links.open{display:flex}.menu-btn{display:block}}
@media(max-width:700px){.section{padding:64px 0}.hero{min-height:auto}.hero-grid{padding:58px 0}.collage{min-height:390px}.collage-center{width:135px;height:135px;font-size:.9rem;border-width:8px}.grid.two,.grid.three,.grid.four,.feature-list{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.page-hero{padding:82px 0 54px}.brand-text{font-size:.9rem}.brand-text small{font-size:.58rem}}

/* Version 1.1 colorful homepage */
.color-home{background:#fffaf0}.color-header{background:rgba(255,255,255,.94)}.rainbow-mark{background:conic-gradient(from 30deg,#ff315f,#ff8b19,#ffd21c,#39b86b,#00aebd,#2667d8,#9b2ec4,#ff315f);box-shadow:inset 0 0 0 4px rgba(255,255,255,.82),0 5px 16px rgba(127,44,117,.22)}
.rainbow-hero{position:relative;overflow:hidden;padding:64px 0 44px;background:radial-gradient(circle at 9% 18%,rgba(255,210,28,.42),transparent 24%),radial-gradient(circle at 30% 85%,rgba(0,174,189,.35),transparent 29%),radial-gradient(circle at 73% 20%,rgba(255,49,95,.36),transparent 30%),radial-gradient(circle at 96% 80%,rgba(38,103,216,.46),transparent 32%),linear-gradient(110deg,#fffbea 0%,#fff5e6 35%,#ffcf72 57%,#fc5b72 76%,#1857ba 100%)}
.rainbow-hero::before{content:"";position:absolute;inset:0;opacity:.22;background-image:repeating-linear-gradient(115deg,transparent 0 55px,rgba(255,255,255,.75) 56px 58px),radial-gradient(circle at center,transparent 0 44%,rgba(47,25,74,.34) 45% 46%,transparent 47%)}
.symbol-field span{position:absolute;font-family:Georgia,serif;font-size:clamp(2rem,5vw,5.5rem);opacity:.22;animation:symbolDrift 9s ease-in-out infinite}.symbol-field span:nth-child(1){left:2%;top:12%;color:#d31362}.symbol-field span:nth-child(2){left:14%;bottom:9%;color:#0068b8;animation-delay:-1s}.symbol-field span:nth-child(3){left:39%;top:12%;color:#e87700;animation-delay:-2s}.symbol-field span:nth-child(4){left:45%;bottom:7%;color:#6137a3;animation-delay:-3s}.symbol-field span:nth-child(5){right:8%;top:9%;color:#ffd21c;animation-delay:-4s}.symbol-field span:nth-child(6){right:3%;bottom:15%;color:#122c8d;animation-delay:-5s}.symbol-field span:nth-child(7){left:28%;top:47%;color:#009c7c;animation-delay:-6s}.symbol-field span:nth-child(8){right:45%;top:5%;color:#ce2657;animation-delay:-7s}@keyframes symbolDrift{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(4deg)}}
.rainbow-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.18fr .82fr;gap:34px;align-items:center}.rainbow-copy{padding:10px 0}.eyebrow.bright{color:#6e155c;background:rgba(255,255,255,.64);padding:8px 12px;border-radius:999px;display:inline-block}.rainbow-copy h1{font-size:clamp(3rem,5.8vw,5.65rem);color:#102f4a;margin-top:18px;text-shadow:0 2px 0 rgba(255,255,255,.65)}.rainbow-copy h1 em{font-style:normal;background:linear-gradient(90deg,#d8225c,#e86f0d,#159d74,#1858bf,#88269a);-webkit-background-clip:text;background-clip:text;color:transparent}.rainbow-copy>p{max-width:760px;font-size:1.08rem;font-weight:570;color:#173040;background:rgba(255,255,255,.54);padding:14px 18px;border-radius:18px}.btn.spectrum{border:0;color:white;background:linear-gradient(90deg,#a62176,#d62b65,#f07815);box-shadow:0 10px 24px rgba(166,33,118,.24)}.btn.teal{border:0;color:white;background:#087f89}.btn.orange{border:0;color:white;background:#df6d0a}.btn.light{background:white;color:#881f68;border:0}.btn.yellow{background:#ffd21c;color:#183046;border:0}
.hero-network{margin-top:26px;width:min(760px,100%);background:rgba(255,255,255,.9);border:2px solid rgba(255,255,255,.95);border-radius:20px;padding:10px;box-shadow:0 18px 50px rgba(48,25,81,.21)}.hero-network-title{text-align:center;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:900;margin:1px 0 8px}.hero-network-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.hero-mini-card{background:white;border-radius:14px;padding:12px 8px;text-align:center;border:1px solid rgba(20,48,72,.16);min-height:172px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.25s}.hero-mini-card:hover{transform:translateY(-7px) rotate(-1deg);box-shadow:0 13px 30px rgba(41,31,82,.18)}.hero-mini-card strong{font-family:Georgia,serif;font-size:.98rem;line-height:1.05}.hero-mini-card small{font-size:.69rem;line-height:1.25;margin:7px 0;color:#40525d}.hero-mini-card b{font-size:.72rem;margin-top:auto}.mini-symbol{font-size:2.15rem;line-height:1;margin-bottom:6px}.hero-mini-card.smg{color:#1265aa;background:linear-gradient(160deg,#fff,#e7f6ff)}.hero-mini-card.sw{color:#7e247f;background:linear-gradient(160deg,#fff,#f8e9ff)}.hero-mini-card.hcg{color:#d14a12;background:linear-gradient(160deg,#fff,#fff0df)}.hero-mini-card.wood{color:#1d7047;background:linear-gradient(160deg,#fff,#e7f7e9)}
.analysis-stage{display:block;background:linear-gradient(155deg,#20202a,#132132);border:2px solid rgba(255,255,255,.75);border-radius:30px;padding:22px 20px 18px;box-shadow:0 25px 60px rgba(17,27,55,.38);transition:.25s}.analysis-stage:hover{transform:translateY(-5px);box-shadow:0 32px 70px rgba(17,27,55,.46)}.moving-collage{position:relative;min-height:410px}.motion-card{position:absolute;border-radius:20px;box-shadow:0 18px 42px rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.45);display:flex;align-items:flex-end;padding:14px;color:#fff;font-family:Georgia,serif;font-weight:800;animation:cardFloat 7s ease-in-out infinite}.motion-a{inset:7% 41% 45% 2%;background:linear-gradient(140deg,#00a9c4,#034d7a);transform:rotate(-5deg)}.motion-b{inset:1% 1% 50% 51%;background:repeating-linear-gradient(35deg,#ff2a63 0 16px,#d3178a 16px 32px,#ff8c16 32px 48px);transform:rotate(5deg);animation-delay:-1.7s}.motion-c{inset:44% 42% 3% 0;background:linear-gradient(145deg,#9ac43d,#1a754c);transform:rotate(3deg);animation-delay:-3.4s}.motion-d{inset:38% 0 8% 44%;background:linear-gradient(145deg,#a52d9f,#291441 62%,#101a29);transform:rotate(-3deg);animation-delay:-5.1s}.motion-center{position:absolute;left:51%;top:47%;transform:translate(-50%,-50%);z-index:4;width:150px;height:150px;border-radius:50%;background:#fffaf0;border:10px solid rgba(255,255,255,.75);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#13483d;box-shadow:0 18px 45px rgba(0,0,0,.25);padding:17px;font-family:Georgia,serif}.motion-center span{color:#e75c2c;font-size:2rem}.motion-center strong{font-size:1rem}.motion-center small{font-weight:800;line-height:1.25}@keyframes cardFloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
.analysis-promise{color:white;display:grid;grid-template-columns:auto 1fr;gap:10px 14px;align-items:center;border-top:1px solid rgba(255,255,255,.18);padding:15px 6px 2px;font-family:Georgia,serif;font-size:1.06rem}.analysis-arrow{font-size:3.4rem;line-height:1;color:#fff}.analysis-button{grid-column:2;justify-self:start;margin-top:6px;background:#ffd21c;color:#193148;border-radius:10px;padding:11px 17px;font-family:Inter,sans-serif;font-weight:900}
.center{text-align:center;margin-inline:auto}.colorful-section{background:linear-gradient(180deg,#fffaf2,#fff)}.vivid-grid{align-items:stretch}.vivid-card{border-width:2px;min-height:330px;display:flex;flex-direction:column}.vivid-card .arrow{margin-top:auto;font-weight:900}.vivid-card.pink{background:linear-gradient(160deg,#fff,#fff0f7);border-color:#e59abc;color:#8c1e62}.vivid-card.blue{background:linear-gradient(160deg,#fff,#eafbff);border-color:#82cbdc;color:#075c8a}.vivid-card.orange-card{background:linear-gradient(160deg,#fff,#fff1da);border-color:#f5b36a;color:#bd4e08}.vivid-card.green{background:linear-gradient(160deg,#fff,#eaf9e5);border-color:#9dcc90;color:#176b43}.vivid-card .icon-badge{background:currentColor}.vivid-card p{color:#263d49}
.network-showcase{background:#fff}.split-head{display:flex;justify-content:space-between;align-items:end;max-width:none}.story-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white;padding:0 18px 22px;box-shadow:0 12px 30px rgba(33,39,76,.09);transition:.22s}.story-card:hover{transform:translateY(-6px);box-shadow:0 22px 42px rgba(33,39,76,.16)}.story-art{height:150px;margin:0 -18px 16px;display:grid;place-items:center;font-size:4.5rem;color:white}.art-one{background:linear-gradient(145deg,#172746,#8b2e91,#ff7d19)}.art-two{background:linear-gradient(145deg,#005f92,#1bc5b3,#ffd21c)}.art-three{background:linear-gradient(145deg,#ffb019,#ee3a60,#8d2aa1)}.art-four{background:linear-gradient(145deg,#123b2b,#49a85d,#d1dc54)}.story-card h3{font-size:1.45rem}.story-card p{color:#40525d;font-size:.93rem}
.rainbow-cta{padding:34px 0;color:white;background:linear-gradient(100deg,#66258f 0%,#b5207e 23%,#ed503e 45%,#f6a10b 64%,#05a58d 82%,#0c60b6 100%)}.cta-grid{display:grid;grid-template-columns:1.15fr 1fr auto;align-items:center;gap:28px}.cta-lead{display:flex;gap:15px;align-items:center}.cta-lead h2{font-size:clamp(1.55rem,2.3vw,2.5rem);margin:0}.cta-lead p{margin:6px 0 0}.cta-leaf{font-size:4rem}.cta-values{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.cta-values a{padding:8px;border-radius:12px;background:rgba(255,255,255,.1)}.cta-values strong,.cta-values small{display:block}.cta-values small{opacity:.8}.cta-buttons{display:flex;flex-direction:column;gap:10px}
@media(max-width:1050px){.rainbow-hero-grid{grid-template-columns:1fr}.analysis-stage{max-width:680px;margin-inline:auto}.cta-grid{grid-template-columns:1fr}.cta-buttons{flex-direction:row}.story-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:720px){.rainbow-hero{padding-top:42px}.rainbow-copy h1{font-size:clamp(2.7rem,13vw,4.3rem)}.hero-network-grid{grid-template-columns:repeat(2,1fr)}.hero-mini-card{min-height:155px}.moving-collage{min-height:350px}.motion-center{width:124px;height:124px;border-width:7px;font-size:.82rem}.analysis-promise{font-size:.94rem}.split-head{display:block}.split-head .btn{margin-top:12px}.story-grid{grid-template-columns:1fr!important}.cta-values{grid-template-columns:repeat(2,1fr)}.cta-buttons{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.symbol-field span,.motion-card{animation:none}}

/* v1.2 concept-match homepage hero */
.concept-hero{background:#f8f2e8;overflow:hidden;border-bottom:1px solid rgba(24,48,70,.14)}
.concept-hero-frame{position:relative;width:100%;margin:0 auto;background:#f8f2e8}
.concept-hero-frame>img{display:block;width:100%;height:auto}
.concept-hotspot{position:absolute;display:block;border-radius:14px;z-index:3;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;outline-offset:4px}
.concept-hotspot:hover,.concept-hotspot:focus-visible{transform:translateY(-4px);box-shadow:0 10px 30px rgba(14,37,55,.24);background:rgba(255,255,255,.08)}
.hotspot-network-button{left:7.1%;top:65.1%;width:8.6%;height:5.2%}
.hotspot-services-button{left:16.1%;top:65.1%;width:6.6%;height:5.2%}
.hotspot-contribute-button{left:22.8%;top:65.1%;width:7.8%;height:5.2%}
.hotspot-smg{left:31.7%;top:66.7%;width:8.1%;height:27.5%}
.hotspot-symbol{left:40.4%;top:66.7%;width:7.8%;height:27.5%}
.hotspot-hcg{left:48.8%;top:66.7%;width:8.0%;height:27.5%}
.hotspot-wood{left:57.3%;top:66.7%;width:7.8%;height:27.5%}
.hotspot-analysis{left:67.1%;top:8.7%;width:28.6%;height:83.6%;border-radius:28px}
.concept-mobile-actions{display:none}
.color-home .colorful-section{padding-top:30px;background:linear-gradient(180deg,#fffdf8,#fff8f1)}
.color-home .network-showcase{background:#fffdf9}
.color-home .vivid-card,.color-home .story-card{box-shadow:0 12px 28px rgba(33,40,58,.09)}
@media(max-width:900px){
  .concept-hero-frame{overflow-x:auto;scrollbar-width:thin}
  .concept-hero-frame>img{width:1180px;max-width:none}
  .concept-hotspot{display:none}
  .concept-mobile-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding-top:14px;padding-bottom:18px}
  .concept-mobile-actions a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:50px;border-radius:13px;padding:10px 12px;font-weight:850;color:white;background:linear-gradient(100deg,#a51f79,#ed4f43,#f29d18,#168d8d);box-shadow:0 8px 20px rgba(49,30,83,.18)}
}
@media(max-width:560px){
  .concept-hero-frame>img{width:980px}
  .concept-mobile-actions{grid-template-columns:1fr}
}

/* v1.3 interactive analysis panel — only the right side of the homepage hero */
.analysis-panel-overlay{position:absolute;left:66.7%;top:3.4%;width:29.8%;z-index:4;filter:drop-shadow(0 18px 26px rgba(8,20,32,.28))}
.analysis-panel-overlay>img{display:block;width:100%;height:auto;border-radius:7%;}
.panel-hotspot{position:absolute;display:block;z-index:5;border-radius:12%;transition:transform .22s ease,filter .22s ease,box-shadow .22s ease;background:rgba(255,255,255,0);outline-offset:4px}
.panel-hotspot:hover,.panel-hotspot:focus-visible{transform:translateY(-6px) scale(1.025);filter:brightness(1.12) saturate(1.12);box-shadow:0 15px 30px rgba(0,0,0,.28),0 0 22px rgba(255,255,255,.28)}
.panel-roots{left:8.2%;top:5.4%;width:42.3%;height:36.8%;transform:rotate(-4deg)}
.panel-symbols{left:50.5%;top:4.8%;width:42%;height:36.8%;transform:rotate(4deg)}
.panel-stories{left:6.3%;top:42%;width:43.7%;height:35.2%;transform:rotate(3deg)}
.panel-media{left:50.2%;top:41.4%;width:43.2%;height:35.4%;transform:rotate(-3deg)}
.panel-mark{left:37.1%;top:31.4%;width:27%;height:27%;border-radius:50%}
.panel-analysis-button{left:56.5%;top:84.2%;width:35%;height:8.5%;border-radius:12px}
.panel-roots:hover,.panel-roots:focus-visible{transform:rotate(-4deg) translateY(-6px) scale(1.025)}
.panel-symbols:hover,.panel-symbols:focus-visible{transform:rotate(4deg) translateY(-6px) scale(1.025)}
.panel-stories:hover,.panel-stories:focus-visible{transform:rotate(3deg) translateY(-6px) scale(1.025)}
.panel-media:hover,.panel-media:focus-visible{transform:rotate(-3deg) translateY(-6px) scale(1.025)}
@media(max-width:900px){.analysis-panel-overlay{display:none}}
@media(prefers-reduced-motion:reduce){.panel-hotspot{transition:none}.panel-hotspot:hover,.panel-hotspot:focus-visible{transform:none}}

/* v1.4 containment corrections: keep image-map hovers aligned and fully cover the original analysis panel */
.hotspot-smg,.hotspot-symbol,.hotspot-hcg,.hotspot-wood{
  overflow:hidden;
  transform:none;
  box-shadow:inset 0 0 0 0 rgba(255,255,255,0);
  background:transparent;
}
.hotspot-smg:hover,.hotspot-smg:focus-visible,
.hotspot-symbol:hover,.hotspot-symbol:focus-visible,
.hotspot-hcg:hover,.hotspot-hcg:focus-visible,
.hotspot-wood:hover,.hotspot-wood:focus-visible{
  transform:none;
  background:rgba(255,255,255,.10);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.82),0 8px 22px rgba(15,35,54,.18);
}
.analysis-panel-overlay{
  left:64.7%;
  top:.7%;
  width:34.5%;
  z-index:6;
  overflow:hidden;
  border-radius:6.5%;
  background:#0b1820;
  filter:drop-shadow(0 16px 24px rgba(8,20,32,.26));
}
.analysis-panel-overlay>img{
  width:100%;
  height:auto;
  border-radius:6.5%;
}
.panel-hotspot{z-index:7}

/* v1.5 exact overlay alignment fixes */
/* Network cards: tightly match the printed cards and never move on hover. */
.hotspot-smg{left:32.15%;top:68.15%;width:7.55%;height:24.7%;border-radius:13px}
.hotspot-symbol{left:40.65%;top:68.15%;width:7.55%;height:24.7%;border-radius:13px}
.hotspot-hcg{left:49.15%;top:68.15%;width:7.55%;height:24.7%;border-radius:13px}
.hotspot-wood{left:57.65%;top:68.15%;width:7.55%;height:24.7%;border-radius:13px}
.hotspot-smg:hover,.hotspot-smg:focus-visible,
.hotspot-symbol:hover,.hotspot-symbol:focus-visible,
.hotspot-hcg:hover,.hotspot-hcg:focus-visible,
.hotspot-wood:hover,.hotspot-wood:focus-visible{
  transform:none!important;
  background:rgba(255,255,255,.07);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.92),0 0 0 5px rgba(255,255,255,.22),0 8px 18px rgba(15,35,54,.14);
}

/* Fully cover the original right panel, including its lower button/text area. */
.analysis-panel-overlay{
  left:66.0%;
  top:0;
  width:33.75%;
  height:100%;
  border-radius:28px 28px 0 0;
  overflow:hidden;
  background:#0b1820;
  filter:drop-shadow(0 14px 22px rgba(8,20,32,.24));
}
.analysis-panel-overlay>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  border-radius:28px 28px 0 0;
}

/* Click areas stay directly over the printed cards; hover glows without shifting. */
.panel-hotspot,
.panel-hotspot:hover,
.panel-hotspot:focus-visible{
  transform:none!important;
}
.panel-hotspot:hover,.panel-hotspot:focus-visible{
  filter:brightness(1.10) saturate(1.10);
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.72),0 0 20px rgba(255,255,255,.20);
}
.panel-roots{left:8.0%;top:4.5%;width:42.2%;height:36.6%;border-radius:12%}
.panel-symbols{left:50.6%;top:4.4%;width:41.8%;height:36.6%;border-radius:12%}
.panel-stories{left:6.3%;top:41.0%;width:43.7%;height:35.0%;border-radius:12%}
.panel-media{left:50.3%;top:40.8%;width:43.0%;height:35.1%;border-radius:12%}
.panel-mark{left:37.2%;top:30.6%;width:27.0%;height:26.8%;border-radius:50%}
.panel-mark:hover,.panel-mark:focus-visible{
  border-radius:50%;
  background:rgba(255,244,214,.08);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.88),0 0 24px rgba(255,190,65,.42);
}
.panel-analysis-button{left:56.6%;top:83.6%;width:35.0%;height:8.8%;border-radius:12px}

/* v2.0 exact-shape interactive maps */
.network-map{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
.network-map a{pointer-events:auto}
.map-card{fill:transparent;stroke:transparent;stroke-width:3;transition:fill .2s ease,stroke .2s ease,filter .2s ease}
.network-map a:hover .map-card,.network-map a:focus-visible .map-card{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.9);filter:drop-shadow(0 0 9px rgba(255,255,255,.55))}
.smg-map{stroke:#39aeea}.symbol-map{stroke:#a75dde}.hcg-map{stroke:#ff7b4a}.wood-map{stroke:#61b87a}
.network-map a:hover .smg-map,.network-map a:focus-visible .smg-map{stroke:#39aeea}.network-map a:hover .symbol-map,.network-map a:focus-visible .symbol-map{stroke:#a75dde}.network-map a:hover .hcg-map,.network-map a:focus-visible .hcg-map{stroke:#ff7b4a}.network-map a:hover .wood-map,.network-map a:focus-visible .wood-map{stroke:#61b87a}

.analysis-panel-overlay{left:66.9%;top:1.8%;width:29.2%;height:96.2%;border-radius:28px;overflow:hidden;background:#0b1820;z-index:6;filter:drop-shadow(0 15px 24px rgba(8,20,32,.28))}
.analysis-art{position:relative;width:100%;aspect-ratio:1100/1125;overflow:hidden;border-radius:28px}
.analysis-art>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:28px}
.analysis-map{position:absolute;inset:0;width:100%;height:100%;z-index:8}
.panel-shape{fill:transparent;stroke:transparent;stroke-width:7;vector-effect:non-scaling-stroke;transition:fill .2s ease,stroke .2s ease,filter .2s ease}
.analysis-map a:hover .panel-shape,.analysis-map a:focus-visible .panel-shape{fill:rgba(255,255,255,.045);filter:drop-shadow(0 0 12px rgba(255,255,255,.45))}
.analysis-map a:hover .roots-shape,.analysis-map a:focus-visible .roots-shape{stroke:#31e9ff}
.analysis-map a:hover .symbols-shape,.analysis-map a:focus-visible .symbols-shape{stroke:#ff5adf}
.analysis-map a:hover .stories-shape,.analysis-map a:focus-visible .stories-shape{stroke:#c9ff47}
.analysis-map a:hover .media-shape,.analysis-map a:focus-visible .media-shape{stroke:#ff72ef}
.analysis-map a:hover .mark-shape,.analysis-map a:focus-visible .mark-shape{stroke:#ffbf3f;fill:rgba(255,232,177,.07);animation:markPulse 1.25s ease-in-out infinite alternate}
.analysis-map a:hover .analysis-button-shape,.analysis-map a:focus-visible .analysis-button-shape{stroke:#ffe66c;fill:rgba(255,220,30,.09);filter:drop-shadow(0 0 12px rgba(255,196,0,.5))}
@keyframes markPulse{from{filter:drop-shadow(0 0 4px rgba(255,191,63,.3))}to{filter:drop-shadow(0 0 16px rgba(255,191,63,.8))}}
@media(max-width:900px){.network-map,.analysis-panel-overlay{display:none}}
@media(prefers-reduced-motion:reduce){.panel-shape,.map-card{transition:none}.analysis-map a:hover .mark-shape,.analysis-map a:focus-visible .mark-shape{animation:none}}

/* v2.1 refinement: restrained interactions, exact panel height, no gaudy outlines */
/* The network links remain precisely aligned with the printed cards. */
.network-map .map-card{
  fill:rgba(255,255,255,0);
  stroke:rgba(255,255,255,0);
  stroke-width:2;
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  transition:opacity .18s ease, fill .18s ease, filter .18s ease, transform .18s ease;
}
.network-map a:hover .map-card,
.network-map a:focus-visible .map-card{
  opacity:1;
  fill:rgba(255,255,255,.075);
  stroke:rgba(255,255,255,.58);
  transform:translateY(-2px);
  filter:drop-shadow(0 7px 8px rgba(15,35,54,.20));
}
.network-map a:hover .smg-map,.network-map a:focus-visible .smg-map{stroke:rgba(57,174,234,.68)}
.network-map a:hover .symbol-map,.network-map a:focus-visible .symbol-map{stroke:rgba(167,93,222,.68)}
.network-map a:hover .hcg-map,.network-map a:focus-visible .hcg-map{stroke:rgba(255,123,74,.68)}
.network-map a:hover .wood-map,.network-map a:focus-visible .wood-map{stroke:rgba(97,184,122,.68)}

/* Match the overlay's box to the artwork itself, eliminating the dark empty tail. */
.analysis-panel-overlay{
  left:66.9%;
  top:1.8%;
  width:29.2%;
  height:auto;
  aspect-ratio:1100/1125;
  border-radius:28px;
  overflow:hidden;
  background:transparent;
  filter:drop-shadow(0 14px 22px rgba(8,20,32,.24));
}
.analysis-art{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  overflow:hidden;
  border-radius:28px;
}
.analysis-art>img{
  width:100%;
  height:100%;
  object-fit:fill;
  border-radius:28px;
}

/* Elegant analysis-card feedback: no thick neon boxes. */
.panel-shape{
  fill:transparent;
  stroke:transparent;
  stroke-width:2.25;
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  transition:opacity .18s ease, fill .18s ease, stroke .18s ease, filter .18s ease, transform .18s ease;
}
.analysis-map a:hover .panel-shape,
.analysis-map a:focus-visible .panel-shape{
  opacity:1;
  fill:rgba(255,255,255,.035);
  stroke:rgba(255,255,255,.48);
  transform:translateY(-2px);
  filter:drop-shadow(0 7px 8px rgba(0,0,0,.20));
}
.analysis-map a:hover .roots-shape,.analysis-map a:focus-visible .roots-shape{stroke:rgba(49,233,255,.62)}
.analysis-map a:hover .symbols-shape,.analysis-map a:focus-visible .symbols-shape{stroke:rgba(255,90,223,.58)}
.analysis-map a:hover .stories-shape,.analysis-map a:focus-visible .stories-shape{stroke:rgba(201,255,71,.58)}
.analysis-map a:hover .media-shape,.analysis-map a:focus-visible .media-shape{stroke:rgba(255,114,239,.56)}
.analysis-map a:hover .mark-shape,.analysis-map a:focus-visible .mark-shape{
  stroke:rgba(255,191,63,.62);
  fill:rgba(255,244,218,.045);
  transform:scale(1.012);
  animation:none;
  filter:drop-shadow(0 5px 9px rgba(255,191,63,.28));
}
.analysis-map a:hover .analysis-button-shape,.analysis-map a:focus-visible .analysis-button-shape{
  stroke:rgba(255,230,108,.60);
  fill:rgba(255,220,30,.045);
  transform:translateY(-1px);
  filter:drop-shadow(0 6px 8px rgba(77,51,0,.23));
}

@media(prefers-reduced-motion:reduce){
  .panel-shape,.map-card{transition:none!important;transform:none!important}
}

/* v2.2 precision polish: contained effects and complete panel replacement */
/* Four-platform links: understated interior wash only; no outlines or movement. */
.network-map .map-card,
.network-map a:hover .map-card,
.network-map a:focus-visible .map-card{
  stroke:none!important;
  transform:none!important;
  filter:none;
}
.network-map .map-card{
  opacity:0;
  fill:transparent;
  transition:opacity .18s ease, fill .18s ease, filter .18s ease;
}
.network-map a:hover .map-card,
.network-map a:focus-visible .map-card{
  opacity:1;
  fill:rgba(255,255,255,.11);
  filter:drop-shadow(0 7px 7px rgba(17,35,50,.16));
}
.network-map a:hover .smg-map,.network-map a:focus-visible .smg-map{fill:rgba(57,174,234,.10)}
.network-map a:hover .symbol-map,.network-map a:focus-visible .symbol-map{fill:rgba(167,93,222,.09)}
.network-map a:hover .hcg-map,.network-map a:focus-visible .hcg-map{fill:rgba(255,123,74,.09)}
.network-map a:hover .wood-map,.network-map a:focus-visible .wood-map{fill:rgba(97,184,122,.09)}

/* Completely cover the older printed analysis panel, including its lower duplicate content. */
.analysis-panel-overlay{
  left:66.55%;
  top:2.15%;
  width:31.7%;
  height:94.2%;
  aspect-ratio:auto;
  overflow:hidden;
  border-radius:30px;
  background:#07161e;
  filter:drop-shadow(0 14px 22px rgba(8,20,32,.24));
}
.analysis-art{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  overflow:hidden;
  border-radius:30px;
  background:#07161e;
}
.analysis-art>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  border-radius:30px;
}

/* Tilted analysis cards: shape-contained illumination only. No border, scale, or lift. */
.panel-shape,
.analysis-map a:hover .panel-shape,
.analysis-map a:focus-visible .panel-shape{
  stroke:none!important;
  transform:none!important;
}
.panel-shape{
  opacity:0;
  fill:transparent;
  transition:opacity .18s ease, fill .18s ease, filter .18s ease;
}
.analysis-map a:hover .panel-shape,
.analysis-map a:focus-visible .panel-shape{
  opacity:1;
  fill:rgba(255,255,255,.055);
  filter:drop-shadow(0 8px 7px rgba(0,0,0,.18));
}
.analysis-map a:hover .roots-shape,.analysis-map a:focus-visible .roots-shape{fill:rgba(49,233,255,.055)}
.analysis-map a:hover .symbols-shape,.analysis-map a:focus-visible .symbols-shape{fill:rgba(255,90,223,.05)}
.analysis-map a:hover .stories-shape,.analysis-map a:focus-visible .stories-shape{fill:rgba(201,255,71,.05)}
.analysis-map a:hover .media-shape,.analysis-map a:focus-visible .media-shape{fill:rgba(255,114,239,.05)}
.analysis-map a:hover .mark-shape,.analysis-map a:focus-visible .mark-shape{
  fill:rgba(255,244,218,.075);
  filter:drop-shadow(0 0 9px rgba(255,191,63,.22));
  animation:none!important;
}
.analysis-map a:hover .analysis-button-shape,.analysis-map a:focus-visible .analysis-button-shape{
  fill:rgba(255,236,115,.075);
  filter:drop-shadow(0 6px 7px rgba(77,51,0,.18));
}

/* =========================================================
   Social Graffiti Media v3.0 Design System
   Includes v2.3 interactive hero polish
   ========================================================= */
:root{
  --sgm-ink:#132833;
  --sgm-ink-soft:#3e5661;
  --sgm-paper:#fffaf2;
  --sgm-surface:#ffffff;
  --sgm-border:rgba(19,40,51,.13);
  --sgm-purple:#92278f;
  --sgm-coral:#ed5b4f;
  --sgm-orange:#f28b22;
  --sgm-gold:#f4bf2a;
  --sgm-teal:#078a91;
  --sgm-blue:#167db1;
  --sgm-green:#378553;
  --sgm-radius-sm:14px;
  --sgm-radius-md:20px;
  --sgm-radius-lg:30px;
  --sgm-shadow-sm:0 7px 18px rgba(15,37,49,.08);
  --sgm-shadow-md:0 16px 38px rgba(15,37,49,.12);
  --sgm-shadow-lg:0 28px 70px rgba(15,37,49,.18);
  --sgm-ease:cubic-bezier(.2,.75,.25,1);
}

body{background:var(--sgm-paper);color:var(--sgm-ink)}
body,p,.lead{color:var(--sgm-ink-soft)}
h1,h2,h3,.brand-text{color:var(--sgm-ink)}
.container{width:min(1220px,calc(100% - 36px))}
.section{padding:clamp(68px,7vw,104px) 0}
.section-head{margin-bottom:clamp(28px,4vw,44px)}
.eyebrow{color:#a84d35;letter-spacing:.2em}

/* Consistent header and navigation */
.site-header{background:rgba(255,255,255,.93);box-shadow:0 1px 0 rgba(19,40,51,.08);backdrop-filter:blur(18px)}
.nav-wrap{min-height:82px}
.nav-links{gap:clamp(12px,1.5vw,22px)}
.nav-links a{position:relative;border:0;padding:11px 2px;color:#20343d}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--sgm-coral),var(--sgm-purple));transform:scaleX(0);transition:transform .2s var(--sgm-ease)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-links a:hover,.nav-links a.active{color:#183f37}

/* Unified buttons */
.btn,.concept-mobile-actions a,.form button{
  border-radius:999px;
  min-height:46px;
  padding:12px 21px;
  font-weight:850;
  letter-spacing:.005em;
  transition:transform .2s var(--sgm-ease),box-shadow .2s var(--sgm-ease),filter .2s var(--sgm-ease),background .2s ease;
}
.btn:hover,.concept-mobile-actions a:hover,.form button:hover{transform:translateY(-2px);box-shadow:0 11px 24px rgba(18,43,56,.15)}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(22,125,177,.34);outline-offset:3px}

/* Unified cards and content surfaces */
.card,.story-card,.feature-item,.callout,.notice{
  border-radius:var(--sgm-radius-md);
}
.card,.story-card{
  border:1px solid var(--sgm-border);
  box-shadow:var(--sgm-shadow-sm);
  transition:transform .22s var(--sgm-ease),box-shadow .22s var(--sgm-ease),border-color .22s ease;
}
.card:hover,.story-card:hover{transform:translateY(-5px);box-shadow:var(--sgm-shadow-md);border-color:rgba(19,40,51,.20)}
.page-hero{background:radial-gradient(circle at 88% 15%,rgba(237,91,79,.12),transparent 27%),radial-gradient(circle at 18% 72%,rgba(7,138,145,.10),transparent 30%),linear-gradient(135deg,#fffdf8,#f3e9d9)}
.page-hero h1{max-width:950px}
.form input,.form textarea,.form select{border-color:var(--sgm-border);box-shadow:inset 0 1px 2px rgba(20,42,52,.035)}
.form input:focus,.form textarea:focus,.form select:focus{border-color:rgba(22,125,177,.55);box-shadow:0 0 0 4px rgba(22,125,177,.10)}

/* Hero composition and clipping */
.concept-hero{overflow:hidden;background:#fff}
.concept-hero-frame{position:relative;isolation:isolate}
.concept-hero-frame>img{width:100%;height:auto}

/* Four-platform cards: visible premium effect with zero outlines or drift */
.network-map{overflow:visible}
.network-map .map-card{
  opacity:0;
  stroke:none!important;
  transform:none!important;
  transition:opacity .22s var(--sgm-ease),fill .22s ease,filter .22s ease;
}
.network-map a:hover .map-card,.network-map a:focus-visible .map-card{
  opacity:1;
  transform:none!important;
  filter:drop-shadow(0 10px 9px rgba(18,42,55,.22));
}
.network-map a:hover .smg-map,.network-map a:focus-visible .smg-map{fill:rgba(57,174,234,.15)}
.network-map a:hover .symbol-map,.network-map a:focus-visible .symbol-map{fill:rgba(167,93,222,.14)}
.network-map a:hover .hcg-map,.network-map a:focus-visible .hcg-map{fill:rgba(255,123,74,.14)}
.network-map a:hover .wood-map,.network-map a:focus-visible .wood-map{fill:rgba(97,184,122,.14)}

/* Exact replacement of old printed right panel; no duplicate footer or empty tail */
.analysis-panel-overlay{
  left:66.25%!important;
  top:1.15%!important;
  width:32.55%!important;
  height:97.2%!important;
  aspect-ratio:auto!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:#07161e!important;
  box-shadow:0 20px 36px rgba(4,18,28,.24);
  filter:none!important;
}
.analysis-art{width:100%!important;height:100%!important;aspect-ratio:auto!important;border-radius:30px!important;background:#07161e!important;overflow:hidden!important}
.analysis-art>img{width:100%!important;height:100%!important;object-fit:fill!important;object-position:center!important;border-radius:30px!important}
.analysis-map{overflow:visible}

/* v2.3: all effects are shape-contained and use light/depth, not borders */
.panel-shape{
  opacity:0;
  stroke:none!important;
  transform:none!important;
  transform-box:fill-box;
  transform-origin:center;
  transition:opacity .2s var(--sgm-ease),fill .2s ease,filter .2s var(--sgm-ease);
}
.analysis-map a:hover .panel-shape,.analysis-map a:focus-visible .panel-shape{
  opacity:1;
  stroke:none!important;
  transform:none!important;
}
.analysis-map a:hover .roots-shape,.analysis-map a:focus-visible .roots-shape{fill:rgba(73,235,255,.13);filter:drop-shadow(0 9px 8px rgba(0,185,210,.23))}
.analysis-map a:hover .symbols-shape,.analysis-map a:focus-visible .symbols-shape{fill:rgba(255,83,205,.12);filter:drop-shadow(0 9px 8px rgba(218,35,169,.23))}
.analysis-map a:hover .stories-shape,.analysis-map a:focus-visible .stories-shape{fill:rgba(193,255,73,.115);filter:drop-shadow(0 9px 8px rgba(111,179,18,.23))}
.analysis-map a:hover .media-shape,.analysis-map a:focus-visible .media-shape{fill:rgba(246,90,233,.12);filter:drop-shadow(0 9px 8px rgba(185,38,174,.23))}

/* The Mark: quiet visible breathing ring plus stronger contained hover */
.mark-shape{
  opacity:.34!important;
  fill:rgba(255,244,218,.015)!important;
  stroke:rgba(255,193,63,.35)!important;
  stroke-width:7!important;
  filter:drop-shadow(0 0 5px rgba(255,191,63,.25));
  animation:sgmMarkBreath 2.8s ease-in-out infinite;
}
.analysis-map a:hover .mark-shape,.analysis-map a:focus-visible .mark-shape{
  opacity:.86!important;
  fill:rgba(255,244,218,.085)!important;
  stroke:rgba(255,199,82,.78)!important;
  filter:drop-shadow(0 0 13px rgba(255,191,63,.58));
  animation:sgmMarkHover 1.2s ease-in-out infinite alternate;
}
@keyframes sgmMarkBreath{0%,100%{opacity:.27;filter:drop-shadow(0 0 4px rgba(255,191,63,.20))}50%{opacity:.45;filter:drop-shadow(0 0 9px rgba(255,191,63,.36))}}
@keyframes sgmMarkHover{from{filter:drop-shadow(0 0 8px rgba(255,191,63,.42))}to{filter:drop-shadow(0 0 16px rgba(255,191,63,.70))}}

/* Start Analysis: effect follows yellow button exactly; no large dark rectangle */
.analysis-button-shape{
  opacity:0!important;
  fill:transparent!important;
  stroke:none!important;
  filter:none!important;
}
.analysis-map a:hover .analysis-button-shape,.analysis-map a:focus-visible .analysis-button-shape{
  opacity:1!important;
  fill:rgba(255,255,255,.13)!important;
  stroke:rgba(255,242,159,.40)!important;
  stroke-width:5!important;
  filter:drop-shadow(0 10px 8px rgba(83,53,0,.30)) drop-shadow(0 0 8px rgba(255,203,31,.30))!important;
}

/* Footer and section rhythm */
.site-footer{background:linear-gradient(150deg,#102a26,#0d2530);padding-top:72px}
.footer-grid{gap:42px}.footer-grid h3{font-size:1.15rem;color:white}.footer-grid a{transition:color .18s ease,transform .18s ease}.footer-grid a:hover{transform:translateX(2px)}
.footer-bottom{margin-top:46px}

@media(max-width:980px){
  .container{width:min(100% - 28px,1220px)}
  .analysis-panel-overlay,.network-map{display:none!important}
  .concept-mobile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-block:18px 28px}
  .concept-mobile-actions a{background:white;border:1px solid var(--sgm-border);box-shadow:var(--sgm-shadow-sm);text-align:center}
}
@media(max-width:640px){
  .concept-mobile-actions{grid-template-columns:1fr}
  .nav-wrap{min-height:72px}
  .section{padding:60px 0}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* v3.1 right-panel hotspot correction — final override
   Keeps the existing hero/panel artwork unchanged. */
.analysis-panel-overlay .analysis-map{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  z-index:20!important;
}
.analysis-panel-overlay .analysis-map a{
  cursor:pointer;
  outline:none;
}
.analysis-panel-overlay .panel-shape{
  opacity:1!important;
  fill:rgba(255,255,255,0)!important;
  stroke:rgba(255,255,255,0)!important;
  stroke-width:3!important;
  vector-effect:non-scaling-stroke!important;
  transform:none!important;
  animation:none!important;
  filter:none!important;
  transition:fill .16s ease,stroke .16s ease!important;
  pointer-events:all!important;
}
.analysis-panel-overlay .analysis-map a:hover .roots-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .roots-shape{
  fill:rgba(43,221,244,.12)!important;
  stroke:rgba(105,240,255,.82)!important;
}
.analysis-panel-overlay .analysis-map a:hover .symbols-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .symbols-shape{
  fill:rgba(255,67,186,.11)!important;
  stroke:rgba(255,132,220,.82)!important;
}
.analysis-panel-overlay .analysis-map a:hover .stories-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .stories-shape{
  fill:rgba(166,236,55,.11)!important;
  stroke:rgba(213,255,117,.82)!important;
}
.analysis-panel-overlay .analysis-map a:hover .media-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .media-shape{
  fill:rgba(222,91,236,.11)!important;
  stroke:rgba(245,151,255,.82)!important;
}
.analysis-panel-overlay .analysis-map a:hover .mark-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .mark-shape{
  fill:rgba(255,211,99,.10)!important;
  stroke:rgba(255,202,74,.88)!important;
  stroke-width:4!important;
}
.analysis-panel-overlay .analysis-map a:hover .analysis-button-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .analysis-button-shape{
  fill:rgba(255,255,255,.12)!important;
  stroke:rgba(255,244,174,.90)!important;
  stroke-width:3!important;
}
@media(prefers-reduced-motion:reduce){
  .analysis-panel-overlay .panel-shape{transition:none!important}
}


/* v3.2 clean right-panel interactions — no visible hotspot boundaries.
   The artwork itself remains unchanged; these effects stay inside each target. */
.analysis-panel-overlay .panel-shape,
.analysis-panel-overlay .analysis-map a:hover .panel-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .panel-shape{
  stroke:none!important;
  stroke-width:0!important;
  filter:none!important;
  transform:none!important;
  animation:none!important;
  mix-blend-mode:screen;
}
.analysis-panel-overlay .panel-shape{
  opacity:0!important;
  fill:transparent!important;
  transition:opacity .18s ease,fill .18s ease!important;
}
.analysis-panel-overlay .analysis-map a:hover .panel-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .panel-shape{
  opacity:1!important;
}
.analysis-panel-overlay .analysis-map a:hover .roots-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .roots-shape{fill:rgba(86,225,245,.075)!important}
.analysis-panel-overlay .analysis-map a:hover .symbols-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .symbols-shape{fill:rgba(255,100,210,.065)!important}
.analysis-panel-overlay .analysis-map a:hover .stories-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .stories-shape{fill:rgba(194,245,90,.065)!important}
.analysis-panel-overlay .analysis-map a:hover .media-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .media-shape{fill:rgba(238,110,232,.065)!important}
.analysis-panel-overlay .mark-shape{
  opacity:0!important;
  fill:transparent!important;
}
.analysis-panel-overlay .analysis-map a:hover .mark-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .mark-shape{
  opacity:1!important;
  fill:rgba(255,207,79,.085)!important;
}
.analysis-panel-overlay .analysis-button-shape{
  opacity:0!important;
  fill:transparent!important;
}
.analysis-panel-overlay .analysis-map a:hover .analysis-button-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .analysis-button-shape{
  opacity:1!important;
  fill:rgba(255,255,255,.10)!important;
}
.analysis-panel-overlay .analysis-map a:focus-visible{
  outline:none!important;
}


/* v3.3 focused right-panel refinement
   Match the SVG coordinate system to the stretched panel artwork and make
   the interior hover feedback easier to see without exposing hotspot edges. */
.analysis-panel-overlay .analysis-map{
  preserve-aspect-ratio:none;
}
.analysis-panel-overlay .panel-shape{
  mix-blend-mode:screen!important;
  transition:opacity .16s ease,fill .16s ease!important;
}
.analysis-panel-overlay .analysis-map a:hover .roots-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .roots-shape{
  opacity:1!important;
  fill:rgba(72,225,245,.145)!important;
}
.analysis-panel-overlay .analysis-map a:hover .symbols-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .symbols-shape{
  opacity:1!important;
  fill:rgba(255,92,205,.135)!important;
}
.analysis-panel-overlay .analysis-map a:hover .stories-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .stories-shape{
  opacity:1!important;
  fill:rgba(193,244,78,.14)!important;
}
.analysis-panel-overlay .analysis-map a:hover .media-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .media-shape{
  opacity:1!important;
  fill:rgba(237,101,229,.14)!important;
}
.analysis-panel-overlay .analysis-map a:hover .mark-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .mark-shape{
  opacity:1!important;
  fill:rgba(255,205,70,.13)!important;
  stroke:none!important;
  filter:none!important;
  animation:none!important;
}
.analysis-panel-overlay .analysis-button-shape{
  opacity:0!important;
  fill:transparent!important;
  stroke:none!important;
  filter:none!important;
}
.analysis-panel-overlay .analysis-map a:hover .analysis-button-shape,
.analysis-panel-overlay .analysis-map a:focus-visible .analysis-button-shape{
  opacity:1!important;
  fill:rgba(255,255,255,.15)!important;
  stroke:none!important;
  filter:none!important;
}

/* v3.3.3 mobile homepage action repair
   Keep the hero artwork unchanged; replace the blank mobile pills with compact,
   readable action buttons. Desktop hotspot behavior is untouched. */
@media (max-width:980px){
  .concept-hero-frame{overflow:hidden!important}
  .concept-hero-frame>img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important}
  .concept-mobile-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:14px 14px 22px!important;
    margin:0 auto!important;
    background:#fffdf8!important;
  }
  .concept-mobile-actions a{
    min-height:54px!important;
    padding:11px 10px!important;
    border-radius:16px!important;
    border:1px solid rgba(22,48,59,.14)!important;
    color:#17333d!important;
    font-size:.88rem!important;
    line-height:1.15!important;
    font-weight:850!important;
    text-decoration:none!important;
    box-shadow:0 6px 16px rgba(23,43,56,.10)!important;
    transform:none!important;
  }
  .concept-mobile-actions a:nth-child(1){background:linear-gradient(145deg,#fff,#edf8ff)!important;border-color:rgba(38,151,204,.30)!important;color:#075f8d!important}
  .concept-mobile-actions a:nth-child(2){background:linear-gradient(145deg,#fff,#ecfbfa)!important;border-color:rgba(12,144,146,.28)!important;color:#076d71!important}
  .concept-mobile-actions a:nth-child(3){background:linear-gradient(145deg,#fff,#fff2e7)!important;border-color:rgba(225,107,20,.28)!important;color:#b94e08!important}
  .concept-mobile-actions a:nth-child(4){background:linear-gradient(145deg,#fff,#fff7d7)!important;border-color:rgba(222,167,0,.34)!important;color:#745400!important}
  .concept-mobile-actions a:active{filter:brightness(.97)!important;box-shadow:0 3px 10px rgba(23,43,56,.10)!important}
}
@media (max-width:430px){
  .concept-mobile-actions{gap:8px!important;padding:12px 10px 18px!important}
  .concept-mobile-actions a{min-height:50px!important;font-size:.82rem!important;padding:9px 7px!important;border-radius:14px!important}
}

/* v3.3.4 mobile hero parity
   Keep the desktop hero composition and its interactive layers active on
   phones/tablets. This restores the detailed analysis panel and all hero links
   without changing desktop sizing or any section below the hero. */
@media (max-width:980px){
  .concept-hero-frame{
    position:relative!important;
    overflow:hidden!important;
    width:100%!important;
  }
  .concept-hero-frame>img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
  }
  .concept-hotspot{
    display:block!important;
    z-index:8!important;
    transform:none!important;
    box-shadow:none!important;
    background:transparent!important;
    touch-action:manipulation;
  }
  .network-map{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    z-index:9!important;
    pointer-events:none!important;
  }
  .network-map a{
    pointer-events:auto!important;
    touch-action:manipulation;
  }
  .analysis-panel-overlay{
    display:block!important;
    left:66.25%!important;
    top:1.15%!important;
    width:32.55%!important;
    height:97.2%!important;
    z-index:10!important;
    overflow:hidden!important;
  }
  .analysis-panel-overlay .analysis-map{
    display:block!important;
    pointer-events:none!important;
  }
  .analysis-panel-overlay .analysis-map a{
    pointer-events:auto!important;
    touch-action:manipulation;
  }
  .concept-mobile-actions{
    display:none!important;
  }
}

/* On very small screens, retain the exact desktop composition at full width.
   The artwork may be visually compact, but every hotspot remains aligned with
   the corresponding printed card/button. */
@media (max-width:560px){
  .concept-hero-frame>img{width:100%!important;max-width:100%!important}
}

/* v3.3.5 mobile header branding refinement — header only */
.site-header .brand-mark.rainbow-mark{
  background-image:url('../heart-brand-mark.png')!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  color:transparent!important;
  font-size:0!important;
  border:2px solid rgba(255,255,255,.92)!important;
  box-shadow:0 7px 20px rgba(120,48,105,.18),inset 0 0 0 1px rgba(21,60,66,.08)!important;
}
.site-header .brand-tagline{
  display:flex!important;
  align-items:center;
  flex-wrap:wrap;
  gap:0!important;
  line-height:1.15;
}
.site-header .brand-tagline span{display:inline-flex;align-items:center;white-space:nowrap}
.site-header .brand-tagline span+span::before{
  content:"•";
  display:inline-block;
  margin:0 .48em;
  font-size:.52em;
  color:#bf7258;
  transform:translateY(-.05em);
}
.site-header .menu-btn{
  background:linear-gradient(135deg,#e83268 0%,#f28d21 22%,#f2cc35 40%,#31ad75 58%,#139bb2 74%,#5c56c9 88%,#a63aad 100%)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(103,48,124,.24)!important;
  border:1px solid rgba(255,255,255,.58)!important;
  text-shadow:0 1px 2px rgba(37,26,55,.28);
}
.site-header .menu-btn:hover,.site-header .menu-btn:focus-visible{
  filter:brightness(1.06) saturate(1.06);
  box-shadow:0 10px 26px rgba(103,48,124,.30)!important;
}
@media(max-width:700px){
  .site-header .brand-tagline{max-width:330px;row-gap:1px}
  .site-header .brand-tagline span+span::before{margin:0 .40em}
}
@media(max-width:420px){
  .site-header .brand-tagline{max-width:250px}
  .site-header .brand-tagline span+span::before{margin:0 .31em}
}

/* v3.3.6 header collage and compact mobile tagline — header only */
.site-header{
  background:
    linear-gradient(90deg,rgba(255,252,246,.94) 0%,rgba(255,250,244,.89) 42%,rgba(255,248,242,.91) 100%),
    url('../concept-hero.png') center 24% / cover no-repeat!important;
  border-bottom-color:rgba(78,62,75,.13)!important;
  box-shadow:0 5px 18px rgba(75,56,74,.07);
}
.site-header .nav-wrap{position:relative;z-index:1}
.site-header .brand-mark.rainbow-mark{
  background-image:url('../heart-brand-mark.png')!important;
  background-size:cover!important;
  background-position:center!important;
  background-color:#fffaf2!important;
}
@media(max-width:700px){
  .site-header{
    background:
      linear-gradient(90deg,rgba(255,252,247,.95),rgba(255,248,241,.89)),
      url('../concept-hero.png') 52% 20% / 150% auto no-repeat!important;
  }
  .site-header .brand-tagline{
    flex-wrap:nowrap!important;
    max-width:none!important;
    white-space:nowrap!important;
    letter-spacing:.145em!important;
    font-size:.64rem!important;
  }
  .site-header .brand-tagline span:last-child{display:none!important}
  .site-header .brand-tagline span+span::before{margin:0 .34em!important}
}
@media(max-width:430px){
  .site-header .brand-tagline{
    letter-spacing:.12em!important;
    font-size:.61rem!important;
  }
  .site-header .brand-tagline span+span::before{margin:0 .27em!important}
}

/* v3.3.7 mural backgrounds */
.site-header{background:linear-gradient(rgba(250,247,240,.88),rgba(250,247,240,.88)),url('../mural-bg.png') center/cover no-repeat!important;}
.service-card,.feature-card,.content-card{background-image:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)),url('../mural-bg.png')!important;background-size:cover;background-position:center;}

/* v3.3.8 original symbol mural background — replaces the repeated hero crop only */
.site-header{
  background:
    linear-gradient(90deg,rgba(255,252,246,.86),rgba(255,249,242,.82)),
    url('../mural-bg.png') center 46% / cover no-repeat!important;
}
.vivid-grid .vivid-card{
  background-image:linear-gradient(rgba(255,255,255,.90),rgba(255,255,255,.90)),url('../mural-bg.png')!important;
  background-size:210% auto!important;
}
.vivid-grid .vivid-card:nth-child(1){background-position:8% 30%!important}
.vivid-grid .vivid-card:nth-child(2){background-position:37% 48%!important}
.vivid-grid .vivid-card:nth-child(3){background-position:66% 60%!important}
.vivid-grid .vivid-card:nth-child(4){background-position:92% 36%!important}
@media(max-width:700px){
  .site-header{
    background:
      linear-gradient(90deg,rgba(255,252,247,.88),rgba(255,249,242,.84)),
      url('../mural-bg.png') center 44% / 190% auto no-repeat!important;
  }
}

/* v3.3.9 reference-matched mural header and service cards */
.site-header{
  background:
    linear-gradient(90deg,rgba(255,250,242,.18),rgba(255,248,239,.12)),
    url('../mural-bg.png') center 44% / cover no-repeat!important;
}
.colorful-section .container{max-width:1200px}
.vivid-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
}
.vivid-grid .vivid-card{
  position:relative;
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr)!important;
  align-items:center!important;
  min-height:168px!important;
  padding:22px 26px!important;
  overflow:hidden;
  border-radius:24px!important;
  background-size:138% auto!important;
  background-repeat:no-repeat!important;
  box-shadow:0 12px 28px rgba(32,45,55,.08)!important;
  color:#173044!important;
}
.vivid-grid .vivid-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 41%,rgba(255,255,255,.34) 67%,rgba(255,255,255,.08) 100%);
}
.vivid-grid .vivid-card>*{position:relative;z-index:1}
.vivid-grid .vivid-card:nth-child(1){background-position:92% 38%!important}
.vivid-grid .vivid-card:nth-child(2){background-position:76% 53%!important}
.vivid-grid .vivid-card:nth-child(3){background-position:48% 30%!important}
.vivid-grid .vivid-card:nth-child(4){background-position:22% 65%!important}
.vivid-grid .icon-badge{
  width:70px!important;height:70px!important;border-radius:18px!important;
  display:grid!important;place-items:center!important;
  background:rgba(255,255,255,.84)!important;
  box-shadow:0 10px 22px rgba(30,50,62,.10)!important;
  color:currentColor!important;
}
.vivid-grid .icon-badge svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.vivid-grid .vivid-copy{max-width:560px}
.vivid-grid .vivid-card h3{margin:0 0 8px;font-size:clamp(1.65rem,3vw,2.25rem);color:#173044}
.vivid-grid .vivid-card p{margin:0 0 12px;line-height:1.48;color:#263d49}
.vivid-grid .vivid-card .arrow{margin-top:0!important;font-weight:900}
.vivid-grid .pink{border-color:#e998bb!important;color:#a21f73!important}
.vivid-grid .blue{border-color:#78c7df!important;color:#0b63a0!important}
.vivid-grid .orange-card{border-color:#eeaa59!important;color:#c55b0b!important}
.vivid-grid .green{border-color:#94c886!important;color:#16713d!important}
@media(max-width:700px){
  .site-header{background-size:250% auto!important;background-position:center 45%!important}
  .vivid-grid{gap:12px!important}
  .vivid-grid .vivid-card{
    grid-template-columns:74px minmax(0,1fr)!important;
    min-height:150px!important;
    padding:18px 18px!important;
    border-radius:20px!important;
    background-size:190% auto!important;
  }
  .vivid-grid .vivid-card::after{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 52%,rgba(255,255,255,.22) 82%,rgba(255,255,255,.08) 100%)}
  .vivid-grid .icon-badge{width:58px!important;height:58px!important;border-radius:16px!important}
  .vivid-grid .icon-badge svg{width:34px;height:34px}
  .vivid-grid .vivid-card h3{font-size:1.45rem}
  .vivid-grid .vivid-card p{font-size:.92rem;line-height:1.42}
}

/* v3.3.10 verified mural-card refinement — header and four homepage service cards only */
.site-header{
  background:
    linear-gradient(90deg,rgba(255,164,45,.12) 0%,rgba(255,250,241,.08) 28%,rgba(41,174,178,.08) 58%,rgba(220,63,145,.14) 100%),
    url('../mural-bg.png') center 44% / cover no-repeat!important;
}

.color-home .vivid-grid .vivid-card{
  position:relative!important;
  isolation:isolate;
  background:#fffdf8!important;
  background-image:none!important;
  min-height:170px!important;
  padding:22px 28px!important;
  grid-template-columns:92px minmax(0,1fr)!important;
}
.color-home .vivid-grid .vivid-card::before{
  content:"";
  position:absolute;
  z-index:-2;
  top:0;
  right:0;
  width:61%;
  height:100%;
  background-image:url('../mural-bg.png');
  background-repeat:no-repeat;
  background-size:205% auto;
  opacity:.88;
  pointer-events:none;
}
.color-home .vivid-grid .vivid-card::after{
  z-index:-1;
  background:linear-gradient(90deg,
    rgba(255,253,249,1) 0%,
    rgba(255,253,249,.99) 34%,
    rgba(255,253,249,.90) 48%,
    rgba(255,253,249,.42) 66%,
    rgba(255,253,249,.08) 100%)!important;
}
.color-home .vivid-grid .vivid-card:nth-child(1)::before{background-position:94% 33%;filter:saturate(1.22) contrast(1.04)}
.color-home .vivid-grid .vivid-card:nth-child(2)::before{background-position:63% 57%;filter:hue-rotate(28deg) saturate(1.08) contrast(1.02)}
.color-home .vivid-grid .vivid-card:nth-child(3)::before{background-position:36% 34%;filter:hue-rotate(320deg) saturate(1.22) contrast(1.03)}
.color-home .vivid-grid .vivid-card:nth-child(4)::before{background-position:9% 62%;filter:hue-rotate(175deg) saturate(1.16) contrast(1.03)}
.color-home .vivid-grid .vivid-copy{max-width:570px!important}

@media(max-width:700px){
  .site-header{
    background:
      linear-gradient(90deg,rgba(255,164,45,.12),rgba(255,250,241,.08) 38%,rgba(37,170,181,.08) 68%,rgba(219,57,142,.14)),
      url('../mural-bg.png') center 44% / 205% auto no-repeat!important;
  }
  .color-home .vivid-grid .vivid-card{
    min-height:154px!important;
    padding:17px 16px!important;
    grid-template-columns:66px minmax(0,1fr)!important;
    column-gap:14px!important;
  }
  .color-home .vivid-grid .vivid-card::before{
    width:58%;
    background-size:250% auto;
    opacity:.82;
  }
  .color-home .vivid-grid .vivid-card::after{
    background:linear-gradient(90deg,
      rgba(255,253,249,1) 0%,
      rgba(255,253,249,.99) 43%,
      rgba(255,253,249,.82) 59%,
      rgba(255,253,249,.28) 78%,
      rgba(255,253,249,.04) 100%)!important;
  }
  .color-home .vivid-grid .icon-badge{
    width:58px!important;
    height:58px!important;
  }
  .color-home .vivid-grid .vivid-card h3{
    font-size:1.42rem!important;
    line-height:1.05!important;
    margin-bottom:7px!important;
  }
  .color-home .vivid-grid .vivid-card p{
    max-width:31rem;
    margin-bottom:8px!important;
    font-size:.89rem!important;
    line-height:1.36!important;
  }
  .color-home .vivid-grid .vivid-card .arrow{font-size:.9rem!important}
}

@media(max-width:430px){
  .color-home .vivid-grid .vivid-card{
    min-height:148px!important;
    padding:15px 14px!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    column-gap:12px!important;
  }
  .color-home .vivid-grid .icon-badge{width:52px!important;height:52px!important}
  .color-home .vivid-grid .icon-badge svg{width:30px!important;height:30px!important}
  .color-home .vivid-grid .vivid-card h3{font-size:1.25rem!important}
  .color-home .vivid-grid .vivid-card p{font-size:.82rem!important;line-height:1.32!important}
  .color-home .vivid-grid .vivid-card .arrow{font-size:.84rem!important}
}

/* v3.3.11 header integration + full-width service color bands */
.site-header{
  background:
    linear-gradient(180deg,rgba(255,252,246,.72) 0%,rgba(255,250,244,.58) 72%,rgba(255,250,244,.18) 100%),
    url('../mural-bg.png') center 43% / cover no-repeat!important;
  border-bottom:0!important;
  box-shadow:0 8px 22px rgba(36,42,51,.07)!important;
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-18px;
  height:18px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,250,244,.62),rgba(255,250,244,0));
}
.site-header .nav-wrap{min-height:92px}
.site-header .brand-mark.rainbow-mark{
  width:64px!important;height:64px!important;
  box-shadow:0 8px 22px rgba(71,57,72,.16),inset 0 0 0 1px rgba(255,255,255,.8)!important;
}
.site-header .brand-text{font-weight:760!important;letter-spacing:-.015em}
.site-header .brand-tagline{letter-spacing:.18em!important}
.site-header .menu-btn{
  background:linear-gradient(135deg,#ec5b64 0%,#f2a33a 23%,#eacb4e 40%,#58b58a 58%,#42a9bf 73%,#6e61c6 88%,#b45aac 100%)!important;
  box-shadow:0 9px 22px rgba(88,63,115,.20),inset 0 1px 0 rgba(255,255,255,.45)!important;
  filter:saturate(.88)!important;
}
.site-header .menu-btn:hover,.site-header .menu-btn:focus-visible{
  filter:saturate(.96) brightness(1.04)!important;
  transform:translateY(-1px);
}

.color-home .vivid-grid .vivid-card{
  border-width:2px!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,filter .22s ease;
}
.color-home .vivid-grid .vivid-card:nth-child(1){background-color:#fff7e9!important}
.color-home .vivid-grid .vivid-card:nth-child(2){background-color:#f2faef!important}
.color-home .vivid-grid .vivid-card:nth-child(3){background-color:#fff1f7!important}
.color-home .vivid-grid .vivid-card:nth-child(4){background-color:#eef8fd!important}
.color-home .vivid-grid .vivid-card::after{
  background:linear-gradient(90deg,
    rgba(255,255,255,.48) 0%,
    rgba(255,255,255,.40) 34%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.02) 72%,
    rgba(255,255,255,0) 100%)!important;
}
.color-home .vivid-grid .vivid-card:nth-child(1)::after{background:linear-gradient(90deg,rgba(255,247,233,.96) 0%,rgba(255,247,233,.91) 39%,rgba(255,247,233,.50) 58%,rgba(255,247,233,.06) 100%)!important}
.color-home .vivid-grid .vivid-card:nth-child(2)::after{background:linear-gradient(90deg,rgba(242,250,239,.96) 0%,rgba(242,250,239,.91) 39%,rgba(242,250,239,.50) 58%,rgba(242,250,239,.06) 100%)!important}
.color-home .vivid-grid .vivid-card:nth-child(3)::after{background:linear-gradient(90deg,rgba(255,241,247,.96) 0%,rgba(255,241,247,.91) 39%,rgba(255,241,247,.50) 58%,rgba(255,241,247,.06) 100%)!important}
.color-home .vivid-grid .vivid-card:nth-child(4)::after{background:linear-gradient(90deg,rgba(238,248,253,.96) 0%,rgba(238,248,253,.91) 39%,rgba(238,248,253,.50) 58%,rgba(238,248,253,.06) 100%)!important}
.color-home .vivid-grid .vivid-card::before{opacity:.96!important;filter:saturate(1.18) contrast(1.06)!important}
.color-home .vivid-grid .icon-badge{
  box-shadow:0 11px 24px rgba(35,48,58,.10),0 0 26px color-mix(in srgb,currentColor 24%,transparent)!important;
  border:1px solid color-mix(in srgb,currentColor 22%,transparent)!important;
}
@media(hover:hover) and (pointer:fine){
  .color-home .vivid-grid .vivid-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 36px rgba(32,45,55,.14)!important;
    filter:saturate(1.04);
  }
  .color-home .vivid-grid .vivid-card:hover::before{filter:saturate(1.28) contrast(1.08)!important}
  .color-home .vivid-grid .vivid-card:hover .arrow{transform:translateX(4px)}
}
.color-home .vivid-grid .arrow{display:inline-block;transition:transform .22s ease}

@media(max-width:700px){
  .site-header{
    background:
      linear-gradient(180deg,rgba(255,252,247,.75),rgba(255,249,242,.55) 75%,rgba(255,249,242,.12)),
      url('../mural-bg.png') center 44% / 205% auto no-repeat!important;
  }
  .site-header .nav-wrap{min-height:84px}
  .site-header .brand-mark.rainbow-mark{width:56px!important;height:56px!important}
  .site-header .brand-text{font-size:1.14rem!important}
  .site-header .brand-tagline{letter-spacing:.13em!important}
  .color-home .vivid-grid .vivid-card::before{opacity:.94!important}
  .color-home .vivid-grid .vivid-card:nth-child(1)::after{background:linear-gradient(90deg,rgba(255,247,233,.98) 0%,rgba(255,247,233,.94) 50%,rgba(255,247,233,.34) 73%,rgba(255,247,233,.02) 100%)!important}
  .color-home .vivid-grid .vivid-card:nth-child(2)::after{background:linear-gradient(90deg,rgba(242,250,239,.98) 0%,rgba(242,250,239,.94) 50%,rgba(242,250,239,.34) 73%,rgba(242,250,239,.02) 100%)!important}
  .color-home .vivid-grid .vivid-card:nth-child(3)::after{background:linear-gradient(90deg,rgba(255,241,247,.98) 0%,rgba(255,241,247,.94) 50%,rgba(255,241,247,.34) 73%,rgba(255,241,247,.02) 100%)!important}
  .color-home .vivid-grid .vivid-card:nth-child(4)::after{background:linear-gradient(90deg,rgba(238,248,253,.98) 0%,rgba(238,248,253,.94) 50%,rgba(238,248,253,.34) 73%,rgba(238,248,253,.02) 100%)!important}
}

/* v3.3.12 — align the mural tree with the hero tree; no other visual changes */
.site-header{
  background:
    linear-gradient(180deg,rgba(255,252,246,.72) 0%,rgba(255,250,244,.58) 72%,rgba(255,250,244,.18) 100%),
    url('../mural-bg.png') 16% 43% / 150% auto no-repeat!important;
}
@media(max-width:700px){
  .site-header{
    background:
      linear-gradient(180deg,rgba(255,252,247,.75),rgba(255,249,242,.55) 75%,rgba(255,249,242,.12)),
      url('../mural-bg.png') 30% 44% / 205% auto no-repeat!important;
  }
}

/* v3.3.13 — darker, better-balanced header mural only */
.site-header{
  background:
    linear-gradient(180deg,rgba(252,244,232,.56) 0%,rgba(249,239,225,.42) 72%,rgba(249,239,225,.10) 100%),
    url('../mural-bg.png') 16% 43% / 150% auto no-repeat!important;
  box-shadow:0 8px 22px rgba(36,42,51,.10)!important;
}
.site-header::after{
  background:linear-gradient(180deg,rgba(249,239,225,.42),rgba(249,239,225,0))!important;
}
@media(max-width:700px){
  .site-header{
    background:
      linear-gradient(180deg,rgba(252,244,232,.58) 0%,rgba(249,239,225,.44) 74%,rgba(249,239,225,.09) 100%),
      url('../mural-bg.png') 30% 44% / 205% auto no-repeat!important;
  }
}

/* v3.3.14 — original dark rainbow symbol mural menu/header only */
.site-header{
  background-image:
    linear-gradient(90deg,rgba(18,8,22,.62),rgba(8,23,25,.54) 52%,rgba(19,7,28,.64)),
    url('../dark-symbol-mural.png')!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  border-bottom-color:rgba(255,255,255,.18)!important;
  box-shadow:0 5px 20px rgba(13,15,25,.30)!important;
}
.site-header::after{
  background:linear-gradient(to bottom,transparent 55%,rgba(8,15,22,.24))!important;
  pointer-events:none;
}
.site-header .brand-text{
  color:#fffdf7!important;
  text-shadow:0 2px 8px rgba(0,0,0,.68);
}
.site-header .brand-tagline{
  color:#ffe0a6!important;
  text-shadow:0 1px 5px rgba(0,0,0,.78);
}
.site-header .nav-links a{
  color:#fffdf7!important;
  text-shadow:0 1px 5px rgba(0,0,0,.72);
}
.site-header .nav-links a:hover,
.site-header .nav-links a:focus-visible,
.site-header .nav-links a.active{
  color:#ffd65a!important;
}
.site-header .brand-mark.rainbow-mark{
  box-shadow:0 0 0 4px rgba(255,255,255,.86),0 5px 18px rgba(0,0,0,.42)!important;
}
.site-header .menu-btn{
  border-color:rgba(255,255,255,.66)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.46),0 6px 17px rgba(0,0,0,.34)!important;
}
@media (max-width:900px){
  .site-header{
    background-position:center center!important;
    background-size:auto 100%!important;
  }
}

/* v3.3.15 — dark symbol mural spans the entire header at every viewport */
.site-header{
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-color:#17131d!important;
}
@media (max-width:900px){
  .site-header{
    background-position:center center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }
}


/* v3.3.16 — unified menu bar and clean mobile navigation typography */
.site-header .brand-mark.rainbow-mark{
  background-image:url('../heart-brand-mark.png')!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  color:transparent!important;
}

@media(max-width:980px){
  .site-header .nav-wrap{position:relative}
  .site-header .nav-links{
    top:calc(100% + 10px)!important;
    left:16px!important;
    right:16px!important;
    width:auto!important;
    max-height:calc(100vh - 130px)!important;
    overflow-y:auto!important;
    padding:14px!important;
    gap:4px!important;
    align-items:stretch!important;
    background:rgba(255,250,242,.985)!important;
    border:1px solid rgba(23,38,47,.14)!important;
    border-radius:22px!important;
    box-shadow:0 18px 46px rgba(10,18,25,.24)!important;
    backdrop-filter:blur(16px)!important;
  }
  .site-header .nav-links a{
    display:block!important;
    padding:13px 15px!important;
    border:0!important;
    border-radius:12px!important;
    color:#17262f!important;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:1rem!important;
    font-weight:750!important;
    line-height:1.2!important;
    letter-spacing:0!important;
    text-shadow:none!important;
    background:transparent!important;
  }
  .site-header .nav-links a::after{display:none!important}
  .site-header .nav-links a:hover,
  .site-header .nav-links a:focus-visible{
    color:#17262f!important;
    background:rgba(24,63,55,.08)!important;
    outline:none!important;
  }
  .site-header .nav-links a.active{
    color:#6e3f86!important;
    background:linear-gradient(90deg,rgba(255,105,92,.12),rgba(109,68,171,.10))!important;
    box-shadow:inset 4px 0 0 #d66b4e!important;
  }
}

@media(max-width:700px){
  .site-header .nav-links{
    left:12px!important;
    right:12px!important;
    top:calc(100% + 8px)!important;
    padding:12px!important;
    border-radius:20px!important;
  }
  .site-header .nav-links a{
    padding:12px 14px!important;
    font-size:.98rem!important;
  }
}

/* v3.3.17 — keep every desktop menu label on one line */
.site-header .nav-links{
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}
.site-header .nav-links a{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  flex:0 0 auto!important;
}
@media(min-width:981px) and (max-width:1240px){
  .site-header .nav-wrap{gap:14px!important}
  .site-header .nav-links{gap:12px!important;font-size:.89rem!important}
  .site-header .brand{flex-shrink:1;min-width:0}
  .site-header .brand-text{font-size:.94rem!important}
  .site-header .brand-mark.rainbow-mark{width:56px!important;height:56px!important;flex:0 0 56px!important}
}

/* v3.3.18 — compact four-across homepage service cards */
@media (min-width: 1051px){
  .color-home .colorful-section .container{max-width:1480px!important;}
  .color-home .vivid-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:18px!important;
    align-items:stretch!important;
  }
  .color-home .vivid-grid .vivid-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    min-height:286px!important;
    padding:20px 18px 18px!important;
    border-radius:20px!important;
    overflow:hidden!important;
  }
  .color-home .vivid-grid .vivid-card::before{
    width:100%!important;
    height:45%!important;
    top:auto!important;
    bottom:0!important;
    background-size:175% auto!important;
    opacity:.50!important;
  }
  .color-home .vivid-grid .vivid-card::after{
    background:linear-gradient(180deg,
      rgba(255,255,255,.94) 0%,
      rgba(255,255,255,.92) 54%,
      rgba(255,255,255,.70) 74%,
      rgba(255,255,255,.30) 100%)!important;
  }
  .color-home .vivid-grid .icon-badge{
    width:54px!important;
    height:54px!important;
    border-radius:15px!important;
    margin-bottom:14px!important;
    flex:0 0 auto!important;
  }
  .color-home .vivid-grid .icon-badge svg{
    width:31px!important;
    height:31px!important;
  }
  .color-home .vivid-grid .vivid-copy{
    max-width:none!important;
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    flex:1 1 auto!important;
  }
  .color-home .vivid-grid .vivid-card h3{
    font-size:1.52rem!important;
    line-height:1.05!important;
    margin:0 0 9px!important;
  }
  .color-home .vivid-grid .vivid-card p{
    font-size:.88rem!important;
    line-height:1.38!important;
    margin:0 0 13px!important;
  }
  .color-home .vivid-grid .vivid-card .arrow{
    margin-top:auto!important;
    font-size:.88rem!important;
  }
}

@media (min-width: 701px) and (max-width:1050px){
  .color-home .vivid-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
  }
  .color-home .vivid-grid .vivid-card{
    min-height:220px!important;
  }
}

/* v3.4.3 callout readability and expanded professional hub styling */
.callout h2,.callout h3,.callout h4,.callout h5,.callout h6{color:#fff!important}
.callout h4{font-family:Georgia,"Times New Roman",serif;font-size:1.22rem;line-height:1.25;margin:1.55rem 0 .65rem}
.callout p,.callout li,.callout strong,.callout em{color:rgba(255,255,255,.9)}
.callout ul,.callout ol{padding-left:1.35rem;margin:.55rem 0 1.2rem}
.callout li{margin:.45rem 0}
.callout a{color:#ffe29b;text-decoration:underline;text-underline-offset:3px}
.callout .reference-list{font-size:.91rem;line-height:1.5}
.callout .callout-note{margin-top:1.4rem;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
@media(max-width:700px){.callout{padding:24px 20px}.callout h4{font-size:1.12rem}}
