:root{
  --seo-ink:#302b27;
  --seo-copy:#514a44;
  --seo-muted:#756b63;
  --seo-line:rgba(48,43,39,.14);
  --seo-gold:#806000;
  --seo-bg:#f5f1ea;
  --seo-panel:#efe7de;
  --seo-white:#fffdf9;
}
.seo-home-section{background:linear-gradient(180deg,#f5f1ea 0%,#efe7de 100%)}
.seo-home-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,6vw,90px);align-items:start}
.seo-home-copy h2{font-size:clamp(42px,5.5vw,92px);line-height:.96;letter-spacing:-.055em;margin:18px 0 28px;color:var(--seo-ink)}
.seo-home-copy h2 em{font-style:normal;color:var(--seo-gold)}
.seo-home-copy>p:not(.eyebrow){max-width:680px;font-size:clamp(16px,1.35vw,20px);line-height:1.7;color:var(--seo-copy);margin:0 0 30px}
.seo-home-links{display:grid;border-top:1px solid var(--seo-line)}
.seo-home-links a{display:grid;grid-template-columns:130px 1fr auto;gap:22px;align-items:center;padding:28px 0;border-bottom:1px solid var(--seo-line);text-decoration:none;color:var(--seo-ink);transition:transform .3s ease,opacity .3s ease}
.seo-home-links a:hover{transform:translateX(8px)}
.seo-home-links span{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--seo-gold);font-weight:700}
.seo-home-links strong{font-size:clamp(18px,2vw,28px);font-weight:500}
.seo-home-links b{font-size:20px;color:var(--seo-gold)}

.seo-page{background:var(--seo-bg);color:var(--seo-ink)}
.seo-shell{width:min(1320px,calc(100% - 64px));margin:0 auto}
.seo-local-hero{position:relative;overflow:hidden;padding:clamp(120px,15vw,210px) 0 clamp(80px,10vw,150px);background:linear-gradient(135deg,#efe7de 0%,#f5f1ea 54%,#eadfd4 100%);border-bottom:1px solid var(--seo-line)}
.seo-local-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(48,43,39,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(48,43,39,.055) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,black,transparent 90%);pointer-events:none}
.seo-local-hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(40px,7vw,100px);align-items:end}
.seo-breadcrumb{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--seo-muted);margin-bottom:32px}
.seo-breadcrumb a{color:inherit;text-decoration:none}
.seo-kicker{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--seo-gold);font-weight:700;margin:0 0 20px}
.seo-local-hero h1{font-size:clamp(58px,8vw,136px);line-height:.86;letter-spacing:-.065em;font-weight:400;margin:0;color:var(--seo-ink)}
.seo-local-hero h1 em{display:block;font-style:normal;color:var(--seo-gold)}
.seo-local-hero__lead{font-size:clamp(17px,1.5vw,22px);line-height:1.7;color:var(--seo-copy);max-width:650px;margin:0}
.seo-local-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.seo-local-hero__proof{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--seo-line);border-left:1px solid var(--seo-line);margin-top:34px}
.seo-local-hero__proof div{padding:20px;border-right:1px solid var(--seo-line);border-bottom:1px solid var(--seo-line)}
.seo-local-hero__proof strong{display:block;font-size:32px;font-weight:500;color:var(--seo-ink)}
.seo-local-hero__proof span{font-size:12px;color:var(--seo-muted)}
.seo-primary-btn,.seo-secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:700;border:1px solid var(--seo-ink);transition:.25s ease}
.seo-primary-btn{background:var(--seo-ink);color:#fff}
.seo-secondary-btn{background:transparent;color:var(--seo-ink)}
.seo-primary-btn:hover{background:var(--seo-gold);border-color:var(--seo-gold)}
.seo-secondary-btn:hover{background:var(--seo-panel)}

.seo-section{padding:clamp(78px,9vw,140px) 0;border-bottom:1px solid var(--seo-line)}
.seo-section--panel{background:var(--seo-panel)}
.seo-section--white{background:var(--seo-white)}
.seo-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:40px;align-items:end;margin-bottom:clamp(42px,6vw,80px)}
.seo-section-head h2{font-size:clamp(42px,5.2vw,88px);line-height:.98;letter-spacing:-.055em;font-weight:400;margin:0;color:var(--seo-ink)}
.seo-section-head h2 em{font-style:normal;color:var(--seo-gold)}
.seo-section-head p{font-size:17px;line-height:1.75;color:var(--seo-copy);margin:0}
.seo-intro-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(36px,7vw,110px)}
.seo-intro-aside{padding-top:8px}
.seo-intro-aside strong{display:block;font-size:clamp(28px,3vw,48px);font-weight:500;line-height:1.08;margin-bottom:20px}
.seo-intro-aside p,.seo-prose p{font-size:17px;line-height:1.8;color:var(--seo-copy)}
.seo-prose h3{font-size:clamp(28px,3vw,44px);font-weight:500;letter-spacing:-.035em;margin:48px 0 14px;color:var(--seo-ink)}
.seo-prose h3:first-child{margin-top:0}
.seo-prose ul{margin:22px 0;padding:0;list-style:none;display:grid;gap:12px}
.seo-prose li{position:relative;padding-left:24px;color:var(--seo-copy);font-size:16px;line-height:1.7}
.seo-prose li:before{content:"";position:absolute;left:0;top:.75em;width:8px;height:1px;background:var(--seo-gold)}
.seo-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--seo-line);border-left:1px solid var(--seo-line)}
.seo-service-card{padding:clamp(28px,4vw,58px);border-right:1px solid var(--seo-line);border-bottom:1px solid var(--seo-line);min-height:260px;display:flex;flex-direction:column}
.seo-service-card small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--seo-gold);font-weight:700}
.seo-service-card h3{font-size:clamp(28px,3.2vw,48px);line-height:1.05;font-weight:500;letter-spacing:-.04em;margin:42px 0 18px}
.seo-service-card p{font-size:16px;line-height:1.7;color:var(--seo-copy);margin:0 0 26px}
.seo-service-card a{margin-top:auto;color:var(--seo-ink);text-decoration:none;font-weight:700;font-size:13px}
.seo-location-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.seo-location-grid span{padding:20px 18px;border:1px solid var(--seo-line);background:rgba(255,255,255,.3);font-size:14px;color:var(--seo-ink)}
.seo-process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--seo-line);border-left:1px solid var(--seo-line)}
.seo-process-grid article{padding:28px 24px;min-height:230px;border-right:1px solid var(--seo-line);border-bottom:1px solid var(--seo-line)}
.seo-process-grid b{font-size:12px;color:var(--seo-gold);letter-spacing:.12em}
.seo-process-grid h3{font-size:25px;font-weight:500;margin:54px 0 14px}
.seo-process-grid p{font-size:14px;line-height:1.7;color:var(--seo-copy);margin:0}
.seo-project-links{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.seo-project-link{display:block;padding:30px;border:1px solid var(--seo-line);text-decoration:none;color:var(--seo-ink);background:rgba(255,255,255,.28)}
.seo-project-link small{display:block;color:var(--seo-gold);text-transform:uppercase;letter-spacing:.13em;margin-bottom:20px}
.seo-project-link strong{display:block;font-size:clamp(26px,3vw,44px);font-weight:500;letter-spacing:-.04em;margin-bottom:12px}
.seo-project-link span{color:var(--seo-copy);line-height:1.6}
.seo-faq{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:clamp(36px,8vw,120px)}
.seo-faq h2{font-size:clamp(42px,5vw,80px);line-height:.98;letter-spacing:-.055em;font-weight:400;margin:0}
.seo-faq-list details{border-top:1px solid var(--seo-line);padding:22px 0}
.seo-faq-list details:last-child{border-bottom:1px solid var(--seo-line)}
.seo-faq-list summary{cursor:pointer;list-style:none;font-size:20px;font-weight:600;color:var(--seo-ink);padding-right:30px}
.seo-faq-list summary::-webkit-details-marker{display:none}
.seo-faq-list p{font-size:15px;line-height:1.75;color:var(--seo-copy);max-width:760px;margin:16px 0 0}
.seo-cta{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:clamp(40px,5vw,70px);background:var(--seo-ink);color:#fff}
.seo-cta h2{font-size:clamp(38px,4.5vw,72px);font-weight:400;line-height:1;margin:0 0 12px;letter-spacing:-.05em;color:#fff}
.seo-cta p{margin:0;color:rgba(255,255,255,.75);font-size:16px;line-height:1.6}
.seo-cta .seo-primary-btn{background:#e7bd10;color:#2f2a25;border-color:#e7bd10}

.insights-hero{padding:140px 0 90px;background:linear-gradient(135deg,#efe7de,#f5f1ea)}
.insights-hero h1{font-size:clamp(58px,8vw,124px);font-weight:400;line-height:.88;letter-spacing:-.065em;margin:12px 0 22px}
.insights-hero p{max-width:760px;color:var(--seo-copy);font-size:19px;line-height:1.7}
.insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.insight-card{padding:clamp(30px,4vw,58px);border:1px solid var(--seo-line);background:var(--seo-white);text-decoration:none;color:var(--seo-ink);min-height:330px;display:flex;flex-direction:column}
.insight-card small{color:var(--seo-gold);text-transform:uppercase;letter-spacing:.15em;font-weight:700}
.insight-card h2{font-size:clamp(31px,3.6vw,54px);line-height:1.05;letter-spacing:-.045em;font-weight:500;margin:54px 0 18px}
.insight-card p{color:var(--seo-copy);line-height:1.7;margin:0 0 26px}
.insight-card span{margin-top:auto;font-weight:700;font-size:13px}

.article-page{background:var(--seo-bg);color:var(--seo-ink)}
.article-hero{padding:135px 0 80px;border-bottom:1px solid var(--seo-line);background:linear-gradient(135deg,#f5f1ea,#efe7de)}
.article-hero h1{max-width:1100px;font-size:clamp(52px,7vw,112px);line-height:.91;letter-spacing:-.06em;font-weight:400;margin:18px 0 26px}
.article-hero__dek{max-width:840px;font-size:clamp(18px,1.5vw,22px);line-height:1.7;color:var(--seo-copy)}
.article-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--seo-muted)}
.article-layout{display:grid;grid-template-columns:minmax(220px,.32fr) minmax(0,.68fr);gap:clamp(42px,8vw,120px);padding:clamp(70px,8vw,120px) 0}
.article-aside{position:sticky;top:100px;align-self:start;border-top:1px solid var(--seo-line);padding-top:20px}
.article-aside b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--seo-gold);margin-bottom:16px}
.article-aside a{display:block;text-decoration:none;color:var(--seo-copy);padding:8px 0;font-size:14px;line-height:1.45}
.article-body{max-width:850px}
.article-body h2{font-size:clamp(34px,4vw,58px);line-height:1.05;letter-spacing:-.045em;font-weight:500;margin:68px 0 20px;color:var(--seo-ink)}
.article-body h2:first-child{margin-top:0}
.article-body h3{font-size:27px;font-weight:600;margin:38px 0 14px;color:var(--seo-ink)}
.article-body p,.article-body li{font-size:17px;line-height:1.85;color:var(--seo-copy)}
.article-body ul,.article-body ol{padding-left:22px}
.article-body strong{color:var(--seo-ink)}
.article-note{border-left:3px solid var(--seo-gold);background:var(--seo-panel);padding:24px 26px;margin:32px 0;color:var(--seo-copy);line-height:1.7}
.article-links{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:48px}
.article-links a{padding:20px;border:1px solid var(--seo-line);text-decoration:none;color:var(--seo-ink);font-weight:600}

@media(max-width:980px){
  .seo-home-grid,.seo-local-hero__inner,.seo-section-head,.seo-intro-grid,.seo-faq,.article-layout{grid-template-columns:1fr}
  .seo-service-grid{grid-template-columns:1fr}
  .seo-location-grid{grid-template-columns:repeat(2,1fr)}
  .seo-process-grid{grid-template-columns:1fr 1fr}
  .seo-cta{grid-template-columns:1fr}
  .article-aside{position:static}
}
@media(max-width:680px){
  .seo-shell{width:min(100% - 32px,1320px)}
  .seo-home-links a{grid-template-columns:1fr auto;gap:8px}
  .seo-home-links span{grid-column:1/-1}
  .seo-local-hero{padding-top:100px}
  .seo-local-hero__proof{grid-template-columns:1fr}
  .seo-location-grid,.seo-process-grid,.seo-project-links,.insight-grid,.article-links{grid-template-columns:1fr}
  .seo-process-grid article{min-height:auto}
}
