/* ===== Shared base + Home page styles ===== */
:root{
  --bg:#ffffff; --bg-soft:#f6f7fb; --ink:#12141f; --muted:#5b6172;
  --indigo:#4338ca; --indigo-l:#6d5bd0; --violet:#7c3aed; --emerald:#059669; --emerald-l:#10b981;
  --line:#e8e9f0;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-padding-top:76px; scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif; color:var(--ink); background:var(--bg); line-height:1.6; overflow-x:hidden;}
h1,h2,h3,.serif{font-family:'Fraunces',serif;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
@media(max-width:640px){.wrap{padding:0 20px;}}
.grad-text{background:linear-gradient(100deg,var(--indigo),var(--violet) 60%,var(--emerald-l)); -webkit-background-clip:text; background-clip:text; color:transparent;}

.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:none;}
.stagger .reveal:nth-child(1){transition-delay:0s;} .stagger .reveal:nth-child(2){transition-delay:.06s;}
.stagger .reveal:nth-child(3){transition-delay:.12s;} .stagger .reveal:nth-child(4){transition-delay:.18s;}
.stagger .reveal:nth-child(5){transition-delay:.24s;} .stagger .reveal:nth-child(6){transition-delay:.3s;}
.stagger .reveal:nth-child(7){transition-delay:.36s;} .stagger .reveal:nth-child(8){transition-delay:.42s;} .stagger .reveal:nth-child(9){transition-delay:.48s;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1; transform:none; transition:none;}}

nav{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.85); backdrop-filter:blur(10px); border-bottom:1px solid transparent; transition:border-color .3s, box-shadow .3s; padding-top:env(safe-area-inset-top,0px);}
nav.scrolled{border-color:var(--line); box-shadow:0 6px 24px rgba(18,20,31,.05);}
.nav-inner{max-width:1180px; margin:0 auto; padding:16px 32px; display:flex; align-items:center; justify-content:space-between;}
.brand{display:flex; align-items:center; line-height:0;}
.brand img{height:52px; width:auto; display:block;}
.navlinks{display:flex; gap:26px; align-items:center;}
.navlinks a{font-size:.9rem; font-weight:500; position:relative;}
.navlinks a:not(.nav-cta){color:var(--muted);}
.navlinks a:not(.nav-cta)::after{content:"";position:absolute; left:0; bottom:-4px; width:0; height:2px; background:var(--indigo); transition:width .25s;}
.navlinks a:not(.nav-cta):hover::after{width:100%;}
.navlinks a:not(.nav-cta):hover{color:var(--ink);}
.nav-cta{background:linear-gradient(100deg,var(--indigo),var(--violet)); color:#fff; padding:10px 20px; border-radius:100px; font-weight:600; font-size:.86rem; transition:transform .2s, box-shadow .2s;}
.nav-cta:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(67,56,202,.35);}
@media(max-width:960px){.navlinks a:not(.nav-cta){display:none;} .nav-inner{padding:14px 20px;}}

.hero{position:relative; padding:104px 0 84px; overflow:hidden; background:var(--bg-soft);}
.blob{position:absolute; border-radius:50%; filter:blur(60px); opacity:.35; animation:float 14s ease-in-out infinite;}
.b1{width:420px; height:420px; background:radial-gradient(circle,var(--indigo-l),transparent 70%); top:-160px; right:-100px;}
.b2{width:320px; height:320px; background:radial-gradient(circle,var(--emerald-l),transparent 70%); bottom:-150px; left:-90px; animation-delay:2s;}
@keyframes float{0%,100%{transform:translate(0,0);} 50%{transform:translate(-24px,26px);}}
.eyebrow{display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); padding:8px 16px; border-radius:100px; font-size:.82rem; font-weight:600; color:var(--indigo); margin-bottom:24px;}
.dot{width:6px; height:6px; border-radius:50%; background:var(--emerald-l); animation:pulse 1.8s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.6rem); font-weight:500; line-height:1.1; max-width:840px; letter-spacing:-.5px;}
.hero p.lead{margin-top:24px; font-size:1.12rem; color:var(--muted); max-width:600px;}
.hero-ctas{margin-top:34px; display:flex; gap:16px; flex-wrap:wrap;}
.btn{display:inline-block; padding:15px 28px; border-radius:100px; font-weight:600; font-size:.95rem; transition:all .25s;}
.btn-primary{background:linear-gradient(100deg,var(--indigo),var(--violet)); color:#fff; box-shadow:0 8px 22px rgba(67,56,202,.28);}
.btn-primary:hover{transform:translateY(-3px); box-shadow:0 14px 30px rgba(67,56,202,.38);}
.btn-ghost{border:1.5px solid var(--line); color:var(--ink); background:#fff;}
.btn-ghost:hover{border-color:var(--indigo); color:var(--indigo);}
.hero-stats{margin-top:60px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.stat-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 20px; transition:transform .3s, box-shadow .3s;}
.stat-card:hover{transform:translateY(-5px); box-shadow:0 16px 32px rgba(18,20,31,.08);}
.stat-card .num{font-family:'Fraunces',serif; font-size:1.85rem; font-weight:600; background:linear-gradient(100deg,var(--indigo),var(--violet)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.stat-card .lbl{font-size:.82rem; color:var(--muted); margin-top:4px;}
@media(max-width:760px){.hero-stats{grid-template-columns:repeat(2,1fr);}}

section{padding:90px 0;}
.section-tight{padding:64px 0;}
.label{display:inline-flex; align-items:center; gap:10px; color:var(--indigo); font-weight:600; font-size:.85rem; margin-bottom:18px;}
.label::before{content:""; width:22px; height:2px; background:linear-gradient(100deg,var(--indigo),var(--emerald-l)); border-radius:2px;}
h2.h{font-size:clamp(1.7rem,3.1vw,2.5rem); font-weight:500; max-width:680px; line-height:1.2; letter-spacing:-.3px;}
.sub{color:var(--muted); max-width:600px; margin-top:16px; font-size:1.02rem; line-height:1.75;}
.soft{background:var(--bg-soft);}

.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:46px;}
.card{background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px 26px; transition:transform .35s, box-shadow .35s;}
.card:hover{transform:translateY(-6px); box-shadow:0 20px 40px rgba(18,20,31,.08);}
.icon-dot{width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg,var(--indigo),var(--violet)); margin-bottom:16px; display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Fraunces',serif; font-weight:600; font-size:.95rem;}
.card h3{font-size:1.08rem; font-weight:600; margin-bottom:9px;}
.card p{color:var(--muted); font-size:.93rem; line-height:1.62;}
@media(max-width:860px){.grid3{grid-template-columns:1fr;}}

.narrative{margin-top:36px; max-width:820px;}
.narrative p{color:var(--muted); font-size:1.04rem; line-height:1.85; margin-bottom:16px;}
.narrative strong{color:var(--ink);}

.grid9{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:46px;}
.grid9 .card{padding:26px 24px;}
.grid9 h3{font-size:1rem;}
@media(max-width:920px){.grid9{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.grid9{grid-template-columns:1fr;}}

.prod-grid{margin-top:46px; display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.prod-card{border-radius:18px; padding:30px 26px; color:#fff; transition:transform .3s, box-shadow .3s;}
.prod-card:hover{transform:translateY(-6px); box-shadow:0 20px 40px rgba(18,20,31,.16);}
.prod-card:nth-child(1){background:linear-gradient(135deg,var(--indigo),var(--violet));}
.prod-card:nth-child(2){background:linear-gradient(135deg,#0f172a,#334155);}
.prod-card:nth-child(3){background:linear-gradient(135deg,var(--emerald),var(--emerald-l));}
.prod-card h3{font-family:'Fraunces',serif; font-size:1.2rem; font-weight:500;}
.prod-card .tag{font-size:.85rem; opacity:.85; margin-top:4px; margin-bottom:16px;}
.prod-card ul{list-style:none; font-size:.87rem; line-height:2;}
.prod-card li::before{content:"— "; opacity:.7;}
@media(max-width:920px){.prod-grid{grid-template-columns:1fr;}}

.flow{margin-top:48px; display:grid; grid-template-columns:repeat(6,1fr); gap:16px;}
.step{background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 18px; transition:transform .3s,box-shadow .3s;}
.step:hover{transform:translateY(-5px); box-shadow:0 16px 30px rgba(18,20,31,.08);}
.step .n{font-family:'Fraunces',serif; background:linear-gradient(135deg,var(--indigo),var(--emerald-l)); -webkit-background-clip:text; background-clip:text; color:transparent; font-size:1.4rem; font-weight:600;}
.step h4{margin-top:9px; font-size:.94rem; font-weight:600;}
.step p{margin-top:7px; font-size:.81rem; color:var(--muted); line-height:1.5;}
@media(max-width:920px){.flow{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.flow{grid-template-columns:1fr;}}

.engage-grid{margin-top:46px; display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.engage-card{background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px 26px; transition:transform .3s,box-shadow .3s;}
.engage-card:hover{transform:translateY(-6px); box-shadow:0 18px 34px rgba(18,20,31,.08); border-color:var(--indigo);}
.pill{display:inline-block; font-size:.72rem; font-weight:700; padding:4px 12px; border-radius:100px; background:var(--bg-soft); color:var(--indigo); margin-bottom:14px;}
.engage-card h3{font-size:1.05rem; font-weight:600;}
.engage-card p{color:var(--muted); font-size:.9rem; margin-top:10px; line-height:1.6;}
@media(max-width:860px){.engage-grid{grid-template-columns:1fr;}}

.why-list{margin-top:44px; display:grid; grid-template-columns:1fr 1fr; gap:18px 40px;}
.why-item{display:flex; gap:16px; align-items:flex-start;}
.check{flex:0 0 26px; height:26px; border-radius:50%; background:linear-gradient(135deg,var(--indigo),var(--emerald-l)); display:flex; align-items:center; justify-content:center; color:#fff; font-size:.8rem; font-weight:700;}
.why-item h4{font-size:1rem; font-weight:600;}
.why-item p{font-size:.9rem; color:var(--muted); margin-top:4px; line-height:1.55;}
@media(max-width:800px){.why-list{grid-template-columns:1fr;}}

.comm-table{margin-top:44px; border:1px solid var(--line); border-radius:18px; overflow:hidden; background:#fff;}
.comm-row{display:grid; grid-template-columns:1.2fr 2fr .8fr; gap:18px; padding:20px 26px; border-bottom:1px solid var(--line); align-items:center;}
.comm-row:last-child{border-bottom:none;}
.comm-row.head{background:var(--bg-soft); font-weight:600; font-size:.82rem; color:var(--indigo);}
.comm-row div:first-child{font-weight:600; font-size:.94rem;}
.comm-row div:nth-child(2){color:var(--muted); font-size:.88rem;}
.comm-row div:last-child{font-family:'Fraunces',serif; font-weight:600; color:var(--indigo); text-align:right;}
.comm-note{margin-top:18px; color:var(--muted); font-size:.85rem;}
@media(max-width:700px){.comm-row{grid-template-columns:1fr; gap:6px; text-align:left;} .comm-row div:last-child{text-align:left; color:var(--emerald);} .comm-row.head{display:none;}}

.phases{margin-top:48px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.phase{background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px 24px; transition:transform .3s,box-shadow .3s;}
.phase:hover{transform:translateY(-6px); box-shadow:0 18px 34px rgba(18,20,31,.08);}
.phase .n{font-family:'Fraunces',serif; color:var(--indigo); font-size:1.1rem; font-weight:600;}
.phase h4{margin-top:8px; font-size:1.02rem; font-weight:600;}
.phase p{margin-top:8px; color:var(--muted); font-size:.9rem; line-height:1.6;}
@media(max-width:860px){.phases{grid-template-columns:1fr;}}

.marquee-wrap{margin-top:44px; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee{display:flex; gap:52px; width:max-content; animation:scroll 26s linear infinite;}
.marquee:hover{animation-play-state:paused;}
.marquee span{font-family:'Fraunces',serif; font-size:1.05rem; color:#a6acc0; font-weight:500; white-space:nowrap;}
@keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}

.cta-band{background:linear-gradient(120deg,var(--indigo),var(--violet)); color:#fff; padding:72px 0; position:relative; overflow:hidden;}
.cta-band .blob{opacity:.25;}
.cta-inner{position:relative; display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap;}
.cta-inner h2{font-size:clamp(1.5rem,2.8vw,2.2rem); font-weight:500; max-width:520px;}
.cta-inner p{color:#e3e0fb; margin-top:10px; max-width:460px;}
.cta-band .btn-primary{background:#fff; color:var(--indigo); box-shadow:0 10px 26px rgba(0,0,0,.18);}

footer{background:var(--ink); color:#aab0c2; padding:56px 0 32px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:34px; border-bottom:1px solid rgba(255,255,255,.1);}
.foot-grid h5{color:#fff; font-family:'Fraunces',serif; font-weight:500; font-size:1.02rem; margin-bottom:14px;}
.foot-grid p,.foot-grid a{font-size:.89rem; line-height:1.9; display:block;}
.foot-grid a:hover{color:#fff;}
.foot-bottom{padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.8rem; color:#7d8398;}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr; gap:26px;}}

/* ===== About Us page additional styles ===== */
:root{
  --bg:#ffffff; --bg-soft:#f6f7fb; --ink:#12141f; --muted:#5b6172;
  --indigo:#4338ca; --indigo-l:#6d5bd0; --violet:#7c3aed; --emerald:#059669; --emerald-l:#10b981;
  --line:#e8e9f0;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-padding-top:76px; scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif; color:var(--ink); background:var(--bg); line-height:1.6; overflow-x:hidden;}
h1,h2,h3,.serif{font-family:'Fraunces',serif;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
@media(max-width:640px){.wrap{padding:0 20px;}}
.grad-text{background:linear-gradient(100deg,var(--indigo),var(--violet) 60%,var(--emerald-l)); -webkit-background-clip:text; background-clip:text; color:transparent;}

.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:none;}
.stagger .reveal:nth-child(1){transition-delay:0s;} .stagger .reveal:nth-child(2){transition-delay:.06s;}
.stagger .reveal:nth-child(3){transition-delay:.12s;} .stagger .reveal:nth-child(4){transition-delay:.18s;}
.stagger .reveal:nth-child(5){transition-delay:.24s;} .stagger .reveal:nth-child(6){transition-delay:.3s;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1; transform:none; transition:none;}}

nav{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.85); backdrop-filter:blur(10px); border-bottom:1px solid transparent; transition:border-color .3s, box-shadow .3s; padding-top:env(safe-area-inset-top,0px);}
nav.scrolled{border-color:var(--line); box-shadow:0 6px 24px rgba(18,20,31,.05);}
.nav-inner{max-width:1180px; margin:0 auto; padding:16px 32px; display:flex; align-items:center; justify-content:space-between;}
.brand{display:flex; align-items:center; line-height:0;}
.brand img{height:52px; width:auto; display:block;}
.navlinks{display:flex; gap:26px; align-items:center;}
.navlinks a{font-size:.9rem; font-weight:500; position:relative;}
.navlinks a:not(.nav-cta){color:var(--muted);}
.navlinks a:not(.nav-cta)::after{content:"";position:absolute; left:0; bottom:-4px; width:0; height:2px; background:var(--indigo); transition:width .25s;}
.navlinks a:not(.nav-cta):hover::after{width:100%;}
.navlinks a:not(.nav-cta):hover{color:var(--ink);}
.nav-cta{background:linear-gradient(100deg,var(--indigo),var(--violet)); color:#fff; padding:10px 20px; border-radius:100px; font-weight:600; font-size:.86rem; transition:transform .2s, box-shadow .2s;}
.nav-cta:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(67,56,202,.35);}
@media(max-width:960px){.navlinks a:not(.nav-cta){display:none;} .nav-inner{padding:14px 20px;}}

.hero{position:relative; padding:98px 0 76px; overflow:hidden; background:var(--bg-soft);}
.blob{position:absolute; border-radius:50%; filter:blur(60px); opacity:.35; animation:float 14s ease-in-out infinite;}
.b1{width:420px; height:420px; background:radial-gradient(circle,var(--indigo-l),transparent 70%); top:-160px; right:-100px;}
.b2{width:320px; height:320px; background:radial-gradient(circle,var(--emerald-l),transparent 70%); bottom:-150px; left:-90px; animation-delay:2s;}
@keyframes float{0%,100%{transform:translate(0,0);} 50%{transform:translate(-24px,26px);}}
.eyebrow{display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); padding:8px 16px; border-radius:100px; font-size:.82rem; font-weight:600; color:var(--indigo); margin-bottom:22px;}
.dot{width:6px; height:6px; border-radius:50%; background:var(--emerald-l); animation:pulse 1.8s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
.hero h1{font-size:clamp(2rem,4.2vw,3.2rem); font-weight:500; line-height:1.15; max-width:780px;}
.hero p.lead{margin-top:20px; font-size:1.08rem; color:var(--muted); max-width:620px;}

section{padding:84px 0;}
.section-tight{padding:64px 0;}
.label{display:inline-flex; align-items:center; gap:10px; color:var(--indigo); font-weight:600; font-size:.85rem; margin-bottom:18px;}
.label::before{content:""; width:22px; height:2px; background:linear-gradient(100deg,var(--indigo),var(--emerald-l)); border-radius:2px;}
h2.h{font-size:clamp(1.6rem,2.8vw,2.3rem); font-weight:500; max-width:680px; line-height:1.2;}
.sub{color:var(--muted); max-width:640px; margin-top:16px; font-size:1.01rem; line-height:1.75;}
.soft{background:var(--bg-soft);}

.narrative{margin-top:34px; max-width:820px;}
.narrative p{color:var(--muted); font-size:1.02rem; line-height:1.85; margin-bottom:16px;}
.narrative strong{color:var(--ink);}
.pull{margin-top:24px; border-left:3px solid var(--indigo); padding-left:22px; font-family:'Fraunces',serif; font-style:italic; font-size:1.2rem; color:var(--ink); line-height:1.5;}

.stats{margin-top:44px; display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.stat-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 20px; transition:transform .3s, box-shadow .3s;}
.stat-card:hover{transform:translateY(-5px); box-shadow:0 16px 32px rgba(18,20,31,.08);}
.stat-card .num{font-family:'Fraunces',serif; font-size:1.6rem; font-weight:600; background:linear-gradient(100deg,var(--indigo),var(--violet)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.stat-card .lbl{font-size:.8rem; color:var(--muted); margin-top:4px;}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,1fr);}}

.seg-grid{margin-top:44px; display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.seg-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px 22px; transition:transform .3s,box-shadow .3s;}
.seg-card:hover{transform:translateY(-5px); box-shadow:0 16px 30px rgba(18,20,31,.08);}
.seg-card h4{font-size:.98rem; font-weight:600;}
.seg-card p{color:var(--muted); font-size:.85rem; margin-top:8px; line-height:1.55;}
@media(max-width:900px){.seg-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.seg-grid{grid-template-columns:1fr;}}

.case-grid{margin-top:44px; display:grid; grid-template-columns:1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:16px; overflow:hidden;}
.case-row{background:#fff; padding:22px 26px; display:grid; grid-template-columns:1.1fr 1.4fr; gap:20px; align-items:center; transition:background .25s;}
.case-row:hover{background:var(--bg-soft);}
.case-row .t{font-weight:600; font-size:.94rem;}
.case-row .d{color:var(--muted); font-size:.87rem; line-height:1.55;}
@media(max-width:760px){.case-row{grid-template-columns:1fr; gap:6px;}}

.stack-grid{margin-top:44px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.stack-card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px 22px;}
.stack-card h4{font-size:.82rem; font-weight:700; color:var(--indigo); text-transform:uppercase; letter-spacing:.4px; margin-bottom:8px;}
.stack-card p{color:var(--muted); font-size:.86rem; line-height:1.6;}
@media(max-width:860px){.stack-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.stack-grid{grid-template-columns:1fr;}}

.lead-grid{margin-top:44px; display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
.p-card{background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px 24px; transition:transform .3s,box-shadow .3s;}
.p-card:hover{transform:translateY(-6px); box-shadow:0 18px 34px rgba(18,20,31,.08);}
.avatar{width:50px; height:50px; border-radius:50%; background:linear-gradient(135deg,var(--indigo),var(--emerald-l)); color:#fff; font-family:'Fraunces',serif; font-weight:600; display:flex; align-items:center; justify-content:center; margin-bottom:14px; font-size:1.05rem;}
.p-card h4{font-family:'Fraunces',serif; font-size:1.04rem; font-weight:500;}
.p-card .role{color:var(--indigo); font-size:.78rem; font-weight:600; margin-top:3px;}
.p-card p.bio{color:var(--muted); font-size:.85rem; margin-top:11px; line-height:1.58;}
@media(max-width:600px){.lead-grid{grid-template-columns:1fr;}}
.lead-more{margin-top:22px; color:var(--muted); font-size:.9rem; max-width:760px; line-height:1.7;}

.loc-row{margin-top:34px; display:flex; flex-wrap:wrap; gap:12px;}
.loc-pill{background:#fff; border:1px solid var(--line); padding:9px 18px; border-radius:100px; font-family:'Fraunces',serif; font-size:.94rem; transition:transform .25s, box-shadow .25s;}
.loc-pill:hover{transform:translateY(-3px); box-shadow:0 10px 22px rgba(18,20,31,.08); border-color:var(--indigo);}

.contact-grid{margin-top:40px; display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.contact-card{background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px 26px; transition:transform .3s,box-shadow .3s;}
.contact-card:hover{transform:translateY(-5px); box-shadow:0 18px 34px rgba(18,20,31,.08);}
.contact-card h4{font-family:'Fraunces',serif; color:var(--indigo); font-size:1.06rem; margin-bottom:12px; font-weight:500;}
.contact-card a,.contact-card p{display:block; color:var(--muted); font-size:.92rem; line-height:1.95;}
.contact-card a:hover{color:var(--indigo);}

footer{background:var(--ink); color:#aab0c2; padding:42px 0 28px;}
.foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.8rem;}
.foot-bottom a{color:#aab0c2;}
.foot-bottom a:hover{color:#fff;}