:root{
  --bg:#efefeb;
  --ink:#111111;
  --muted:#6d6d67;
  --line:#c8c8c0;
  --accent:#ff3d00;
  --accent-soft:#ffebe4;
  --dark:#121212;
  --panel:#1a1a1a;
  --white:#ffffff;
  --max:1280px;
  --shadow:0 26px 80px rgba(0,0,0,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.6;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
img{max-width:100%}
.shell{width:min(calc(100% - 42px),var(--max));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:10px;z-index:999}
.skip-link:focus{left:10px;top:10px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(239,239,235,.88);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(17,17,17,.12);
}
.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px}
.brand-mark{display:grid;grid-template-columns:repeat(3,7px);gap:3px;transform:skew(-10deg)}
.brand-mark span{display:block;width:7px;height:31px;background:var(--accent)}
.brand-copy{display:flex;flex-direction:column;line-height:.83;font-family:"Barlow Condensed",sans-serif;letter-spacing:.03em}
.brand-copy strong{font-size:25px;font-weight:800}
.brand-copy small{font-size:14px;font-weight:600;letter-spacing:.12em;margin-top:6px}
.main-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}
.main-nav a{position:relative}
.main-nav a:not(.nav-cta):after{
  content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--ink);transition:.25s
}
.main-nav a:hover:after{width:100%}
.nav-cta{border:1px solid var(--ink);padding:11px 16px}
.menu-toggle{display:none;background:none;border:0;padding:8px}
.menu-toggle span:not(.sr-only){display:block;width:26px;height:2px;background:var(--ink);margin:5px 0}

.hero{
  position:relative;overflow:hidden;padding:72px 0 28px;border-bottom:1px solid var(--line);
}
.hero-grid-bg{
  position:absolute;inset:0;pointer-events:none;opacity:.3;
  background-image:
    linear-gradient(to right,rgba(17,17,17,.12) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(17,17,17,.12) 1px,transparent 1px);
  background-size:82px 82px;
  mask-image:linear-gradient(to bottom,#000,transparent 82%);
}
.hero-layout{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}
.eyebrow,.section-label{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.eyebrow span{display:inline-block;border-top:2px solid var(--accent);padding-top:8px}
.hero h1,.statement h2,.section-head h2,.method h2,.business h2,.seo-content h2,.quote h2,.faq h2,.closing h2{
  font-family:"Barlow Condensed",sans-serif;font-weight:700;line-height:.94;letter-spacing:-.025em;margin:0;
}
.hero h1{font-size:clamp(62px,7.6vw,116px);max-width:900px;margin-top:20px}
.hero h1 em,.closing h2 em{font-style:normal;color:var(--accent)}
.hero-lede{font-size:18px;max-width:720px;color:#4d4d48;margin:28px 0 0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:0 20px;font-weight:800;font-size:14px;border:1px solid transparent;transition:.2s}
.btn span{font-size:18px}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(255,61,0,.28)}
.btn-ghost{border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px;padding-top:18px;border-top:1px solid var(--line)}
.hero-proof div{display:flex;flex-direction:column;gap:4px}
.hero-proof strong{font-family:"Barlow Condensed";font-size:22px}
.hero-proof span{font-size:12px;color:var(--muted)}

.hero-panel{
  background:var(--panel);color:#fff;padding:24px;min-height:620px;position:relative;box-shadow:var(--shadow);
}
.hero-panel:before,.hero-panel:after{
  content:"";position:absolute;width:56px;height:56px;border-color:var(--accent);opacity:.9
}
.hero-panel:before{left:-1px;top:-1px;border-left:3px solid var(--accent);border-top:3px solid var(--accent)}
.hero-panel:after{right:-1px;bottom:-1px;border-right:3px solid var(--accent);border-bottom:3px solid var(--accent)}
.panel-kicker{font-size:11px;letter-spacing:.16em;color:#aaa}
.panel-title{display:flex;justify-content:space-between;margin-top:16px;font:700 26px "Barlow Condensed"}
.panel-title span{color:var(--accent);font-size:15px;letter-spacing:.08em}
.radar{width:min(86%,360px);aspect-ratio:1;border:1px solid #444;border-radius:50%;margin:36px auto;position:relative;overflow:hidden;background:radial-gradient(circle at center,#1e1e1e,#111)}
.radar-ring{position:absolute;border:1px solid #353535;border-radius:50%;inset:20%}
.ring-2{inset:35%}.ring-3{inset:47%}
.radar-cross{position:absolute;background:#333;left:50%;top:0;transform:translateX(-50%)}
.radar-cross.x{width:1px;height:100%}
.radar-cross.y{height:1px;width:100%;left:0;top:50%;transform:none}
.radar-sweep{position:absolute;inset:50% 0 0 50%;transform-origin:0 0;background:linear-gradient(35deg,rgba(255,61,0,.36),transparent 62%);animation:sweep 5s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
.radar-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent)}
.d1{left:32%;top:27%}.d2{right:28%;top:52%}.d3{left:46%;bottom:20%}
.panel-list{display:grid;gap:0;border-top:1px solid #333}
.panel-list div{display:grid;grid-template-columns:38px 1fr;padding:12px 0;border-bottom:1px solid #333;font-size:13px}
.panel-list b{color:var(--accent)}
.hero-bottom{position:relative;display:flex;align-items:center;gap:16px;margin-top:50px;font-size:10px;letter-spacing:.16em;font-weight:700}
.hero-line{height:1px;background:var(--line);flex:1}

.statement{padding:92px 0;border-bottom:1px solid var(--line)}
.statement-grid{display:grid;grid-template-columns:90px 1.25fr .75fr;gap:38px;align-items:start}
.statement-index{font:700 64px "Barlow Condensed";color:var(--accent)}
.statement h2{font-size:clamp(42px,5vw,72px)}
.statement-copy{padding-top:26px}
.statement-copy p{color:#555;max-width:500px}
.text-link{font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:4px}
.text-link span{margin-left:14px}

.programs{padding:110px 0}
.section-head{display:grid;grid-template-columns:1fr 420px;gap:60px;align-items:end;margin-bottom:42px}
.section-head h2{font-size:clamp(44px,5vw,70px);max-width:760px}
.section-head>p{color:var(--muted);margin:0}
.section-label{margin:0 0 16px}
.program-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.program-card{
  min-height:240px;padding:18px;text-align:left;background:transparent;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;cursor:pointer;transition:.25s
}
.program-card:hover,.program-card.active{background:var(--dark);color:#fff;transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.08)}
.program-no{font-size:11px;color:var(--muted)}
.program-card.active .program-no,.program-card:hover .program-no{color:#aaa}
.program-icon{font:700 46px "Barlow Condensed";margin-top:26px;color:var(--accent)}
.program-name{font:700 26px/1 "Barlow Condensed";margin-top:auto}
.program-arrow{align-self:flex-end;margin-top:18px}
.program-detail{margin-top:28px;background:#fff;display:grid;grid-template-columns:120px 1fr 1fr;gap:36px;padding:34px;border:1px solid var(--line)}
.detail-number{font:700 78px "Barlow Condensed";color:var(--accent);line-height:1}
.program-detail h3{font:700 38px/1 "Barlow Condensed";margin:0}
.program-detail p{margin:0;color:#5d5d58}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.chips span{border:1px solid var(--line);padding:7px 10px;font-size:12px;font-weight:700}

.method{background:var(--dark);color:#fff;padding:110px 0}
.method-title h2{font-size:clamp(52px,6vw,86px);margin-bottom:58px}
.method-title h2 span{color:#777}
.method-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #343434;border-left:1px solid #343434}
.method-steps article{min-height:300px;padding:24px;border-right:1px solid #343434;border-bottom:1px solid #343434;display:flex;flex-direction:column}
.step-no{font-size:12px;color:var(--accent);letter-spacing:.12em}
.method-steps h3{font:700 36px "Barlow Condensed";margin:auto 0 10px}
.method-steps p{font-size:14px;color:#aaa;margin:0}

.business{padding:110px 0}
.business-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:start}
.business h2{font-size:clamp(48px,5vw,74px)}
.business-copy>p:not(.section-label){color:var(--muted);font-size:17px;max-width:700px}
.feature-list{margin-top:42px;border-top:1px solid var(--line)}
.feature-list div{display:grid;grid-template-columns:54px 1fr;border-bottom:1px solid var(--line);padding:18px 0}
.feature-list span{font-size:12px;color:var(--accent);font-weight:800}
.feature-list p{margin:0}
.business-board{background:#fff;border:1px solid var(--line);padding:26px;box-shadow:var(--shadow);position:sticky;top:110px}
.board-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;font-weight:800;padding-bottom:16px;border-bottom:1px solid var(--line)}
.board-status{display:grid;grid-template-columns:160px 1fr;gap:24px;align-items:center;padding:34px 0}
.status-circle{aspect-ratio:1;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;position:relative}
.status-circle:before{content:"";position:absolute;inset:14px;border:8px solid var(--accent);border-right-color:#eee;border-radius:50%;transform:rotate(25deg)}
.status-circle span{font:700 22px "Barlow Condensed";z-index:1}
.board-status small{font-size:10px;letter-spacing:.15em;color:var(--muted)}
.board-status strong{display:block;font:700 30px/1 "Barlow Condensed";margin-top:6px}
.board-status p{font-size:13px;color:var(--muted)}
.board-bars{display:grid;gap:16px}
.board-bars div{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:14px;font-size:10px;font-weight:800}
.board-bars i{height:7px;background:#eee;position:relative;display:block}
.board-bars i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--value);background:var(--ink)}

.seo-content{padding:90px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.seo-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.seo-content h2{font-size:clamp(46px,5vw,72px)}
.seo-columns{columns:2;column-gap:32px;color:var(--muted)}
.seo-columns p{margin-top:0;break-inside:avoid}

.quote{background:var(--accent);color:#fff;padding:100px 0}
.quote-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}
.quote h2{font-size:clamp(56px,6vw,86px)}
.section-label.light{color:#ffd5c7}
.quote-intro{max-width:500px;color:#ffe7df}
.quote-form{background:#fff;color:var(--ink);padding:30px}
.quote-form fieldset{border:0;padding:0;margin:0 0 26px}
.quote-form legend,.quote-form label>span{font-size:12px;font-weight:800;letter-spacing:.04em}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}
.check-grid label{cursor:pointer}
.check-grid input{position:absolute;opacity:0}
.check-grid span{display:block;border:1px solid var(--line);padding:13px 14px;font-size:13px!important}
.check-grid input:checked+span{background:var(--dark);color:#fff;border-color:var(--dark)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.quote-form>label,.form-row label{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.quote-form input,.quote-form textarea{width:100%;border:1px solid var(--line);background:#f7f7f4;padding:13px 14px;outline:none}
.quote-form input:focus,.quote-form textarea:focus{border-color:var(--ink);box-shadow:0 0 0 2px rgba(17,17,17,.06)}
.form-actions{display:flex;align-items:center;gap:18px;margin-top:8px}
.btn-light{background:var(--ink);color:#fff;border:0;cursor:pointer}
.form-actions p{font-size:11px;color:var(--muted);max-width:250px;margin:0}

.faq{padding:100px 0}
.faq-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px}
.faq h2{font-size:clamp(48px,5vw,70px)}
.accordion details{border-top:1px solid var(--line);padding:22px 0}
.accordion details:last-child{border-bottom:1px solid var(--line)}
.accordion summary{cursor:pointer;list-style:none;font:700 25px "Barlow Condensed";display:flex;justify-content:space-between;gap:20px}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary:after{content:"+";font-family:Inter;font-weight:400;color:var(--accent)}
.accordion details[open] summary:after{content:"−"}
.accordion p{color:var(--muted);max-width:720px}

.closing{padding:96px 0 110px;background:#deded7}
.closing-inner{text-align:center}
.closing-code{font-size:10px;letter-spacing:.15em;font-weight:800}
.closing h2{font-size:clamp(56px,7vw,96px);margin:18px auto 34px}

.footer{background:#0f0f0f;color:#fff;padding:60px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:40px}
.footer-brand{align-self:start}
.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:8px}
.footer-grid strong{font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
.footer-grid a,.footer-grid span{color:#999;font-size:13px}
.footer-bottom{margin-top:50px;padding-top:20px;border-top:1px solid #2e2e2e;display:flex;justify-content:space-between;color:#777;font-size:11px}

@media (max-width:1040px){
  .hero-layout,.business-grid,.quote-grid,.faq-grid,.seo-grid{grid-template-columns:1fr}
  .hero-panel{min-height:auto}
  .radar{max-width:320px}
  .program-grid{grid-template-columns:repeat(2,1fr)}
  .program-card:last-child{grid-column:1/-1}
  .section-head{grid-template-columns:1fr}
  .program-detail{grid-template-columns:90px 1fr}
  .program-detail>div:last-child{grid-column:2}
  .method-steps{grid-template-columns:repeat(2,1fr)}
  .business-board{position:static}
  .quote-grid{gap:34px}
  .faq-grid{gap:30px}
}
@media (max-width:760px){
  .shell{width:min(calc(100% - 28px),var(--max))}
  .main-nav{
    position:absolute;left:0;right:0;top:78px;background:var(--bg);border-bottom:1px solid var(--line);
    flex-direction:column;align-items:stretch;padding:20px 22px;display:none
  }
  .main-nav.open{display:flex}
  .menu-toggle{display:block}
  .hero{padding-top:48px}
  .hero-layout{gap:38px}
  .hero h1{font-size:clamp(54px,16vw,78px)}
  .hero-proof{grid-template-columns:1fr}
  .hero-bottom{flex-wrap:wrap}
  .hero-line{display:none}
  .statement-grid{grid-template-columns:1fr}
  .statement-index{font-size:42px}
  .statement{padding:70px 0}
  .section-head{margin-bottom:28px}
  .program-grid{grid-template-columns:1fr}
  .program-card:last-child{grid-column:auto}
  .program-card{min-height:170px}
  .program-detail{grid-template-columns:1fr;padding:22px}
  .program-detail>div:last-child{grid-column:auto}
  .detail-number{font-size:56px}
  .method-steps{grid-template-columns:1fr}
  .method-steps article{min-height:220px}
  .board-status{grid-template-columns:1fr}
  .status-circle{max-width:150px}
  .seo-columns{columns:1}
  .check-grid,.form-row{grid-template-columns:1fr}
  .quote-form{padding:20px}
  .form-actions{align-items:flex-start;flex-direction:column}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{flex-direction:column;gap:8px}
}


/* V1.1 — SEO content hub and internal pages */
.authority{padding:100px 0;background:#e4e4de;border-top:1px solid var(--line)}
.authority-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}
.authority h2{font:700 clamp(46px,5vw,72px)/.96 "Barlow Condensed",sans-serif;margin:0}
.authority p{color:var(--muted)}
.resource-links{border-top:1px solid var(--line)}
.resource-links a{display:grid;grid-template-columns:44px 1fr 1fr;gap:18px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line);transition:.2s}
.resource-links a:hover{padding-left:10px;background:rgba(255,255,255,.35)}
.resource-links span{font-size:11px;color:var(--accent);font-weight:800}
.resource-links strong{font:700 25px "Barlow Condensed",sans-serif}
.resource-links small{color:var(--muted);font-size:12px}
.article-hero{padding:78px 0 64px;border-bottom:1px solid var(--line);background-image:linear-gradient(to right,rgba(17,17,17,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(17,17,17,.05) 1px,transparent 1px);background-size:82px 82px}
.breadcrumbs{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:34px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.article-hero h1{font:700 clamp(60px,8vw,112px)/.9 "Barlow Condensed",sans-serif;letter-spacing:-.03em;max-width:1100px;margin:0}
.article-hero h1 em{font-style:normal;color:var(--accent)}
.article-hero .lede{font-size:19px;max-width:820px;color:#4f4f49;margin:28px 0}
.article-layout{display:grid;grid-template-columns:250px 1fr;gap:70px;padding:78px 0 100px}
.article-nav{position:sticky;top:110px;align-self:start;border-top:2px solid var(--ink)}
.article-nav a{display:block;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:700}
.article-body{max-width:880px}
.article-body section{scroll-margin-top:110px;margin-bottom:70px}
.article-body h2{font:700 clamp(40px,4vw,58px)/1 "Barlow Condensed",sans-serif;margin:0 0 20px}
.article-body h3{font:700 30px/1 "Barlow Condensed",sans-serif;margin:32px 0 12px}
.article-body p,.article-body li{color:#555}
.article-body ul{padding-left:20px}
.article-cta{background:var(--dark);color:#fff;padding:36px;margin-top:50px}
.article-cta h2{color:#fff}
.article-cta p{color:#aaa}
.related-links{margin-top:55px;border-top:1px solid var(--line);padding-top:28px}
.related-links h3{margin-top:0}
.related-links a{display:block;padding:11px 0;border-bottom:1px solid var(--line);font-weight:700}
.source-note{font-size:12px!important;border-top:1px solid var(--line);padding-top:16px;margin-top:40px}
@media(max-width:900px){.authority-grid,.article-layout{grid-template-columns:1fr}.article-nav{position:static}.resource-links a{grid-template-columns:36px 1fr}.resource-links small{grid-column:2}}


/* V1.1.1 — visual reinforcement for resource hub + internal SEO pages */

.authority{
  position:relative;
  overflow:hidden;
}
.authority::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:
    linear-gradient(to right,rgba(17,17,17,.08) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(17,17,17,.08) 1px,transparent 1px);
  background-size:82px 82px;
}
.authority .shell{position:relative;z-index:1}
.authority-grid>div:first-child{
  position:sticky;
  top:120px;
  align-self:start;
}
.resource-links a{
  min-height:104px;
  padding:24px 18px;
}
.resource-links a strong{
  font-size:29px;
  line-height:.95;
}
.resource-links a small{
  line-height:1.45;
}
.resource-links a:hover strong{color:var(--accent)}

.article-hero{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.article-hero::before{
  content:"";
  position:absolute;
  right:-140px;
  top:50%;
  width:520px;
  height:520px;
  transform:translateY(-50%);
  border:1px solid rgba(17,17,17,.13);
  border-radius:50%;
  box-shadow:
    inset 0 0 0 82px rgba(17,17,17,.025),
    inset 0 0 0 164px rgba(17,17,17,.025);
}
.article-hero::after{
  content:"";
  position:absolute;
  right:100px;
  top:50%;
  width:12px;
  height:12px;
  margin-top:-6px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:
    72px -96px 0 -2px var(--accent),
    122px 72px 0 -3px var(--accent);
}
.article-hero .shell{
  position:relative;
  z-index:2;
}
.article-hero h1{
  max-width:920px;
}
.article-hero .lede{
  max-width:720px;
  font-size:20px;
}
.article-hero .btn{
  margin-top:8px;
}

.article-layout{
  align-items:start;
}
.article-nav{
  background:rgba(255,255,255,.42);
  border:1px solid var(--line);
  border-top:3px solid var(--accent);
  padding:18px;
}
.article-nav .section-label{
  margin-bottom:8px;
}
.article-nav a{
  padding:13px 2px;
  line-height:1.25;
}
.article-nav a:hover{
  color:var(--accent);
  padding-left:6px;
}

.article-body section{
  position:relative;
  padding:0 0 56px 76px;
  margin-bottom:56px;
  border-bottom:1px solid var(--line);
}
.article-body section::before{
  content:"";
  position:absolute;
  left:0;
  top:3px;
  width:44px;
  height:4px;
  background:var(--accent);
}
.article-body section::after{
  content:"";
  position:absolute;
  left:21px;
  top:7px;
  bottom:0;
  width:1px;
  background:linear-gradient(to bottom,var(--line),transparent);
}
.article-body section:last-of-type{
  border-bottom:0;
}
.article-body h2{
  max-width:760px;
  font-size:clamp(46px,4.5vw,66px);
}
.article-body p{
  max-width:760px;
  font-size:17px;
  line-height:1.75;
}

.article-cta{
  position:relative;
  overflow:hidden;
  padding:46px;
  border-top:4px solid var(--accent);
  box-shadow:var(--shadow);
}
.article-cta::after{
  content:"";
  position:absolute;
  right:-65px;
  bottom:-65px;
  width:220px;
  height:220px;
  border:1px solid #333;
  border-radius:50%;
  box-shadow:
    inset 0 0 0 42px #151515,
    inset 0 0 0 82px #1b1b1b;
}
.article-cta>*{
  position:relative;
  z-index:1;
}
.article-cta h2{
  max-width:620px;
  font-size:clamp(44px,5vw,68px);
  margin-bottom:16px;
}

.related-links{
  background:#fff;
  border:1px solid var(--line);
  padding:28px;
}
.related-links a{
  position:relative;
  padding-right:30px;
}
.related-links a::after{
  content:"↗";
  position:absolute;
  right:0;
  color:var(--accent);
}

@media(max-width:900px){
  .authority-grid>div:first-child{position:static}
  .article-hero{min-height:auto;padding:70px 0}
  .article-hero::before{right:-300px;opacity:.45}
  .article-hero::after{display:none}
  .article-body section{padding-left:0}
  .article-body section::before{
    position:static;
    display:block;
    margin-bottom:18px;
  }
  .article-body section::after{display:none}
}

@media(max-width:760px){
  .resource-links a{
    min-height:auto;
    padding:20px 10px;
  }
  .resource-links a strong{font-size:25px}
  .article-hero h1{font-size:clamp(52px,15vw,76px)}
  .article-hero .lede{font-size:17px}
  .article-nav{padding:16px}
  .article-cta{padding:28px 22px}
}


/* V1.2 — Campos de entrenamiento + galería */
.main-nav{gap:22px}
.field-hero::before{border-radius:0;transform:translateY(-50%) rotate(45deg);width:390px;height:390px}
.field-intro{padding:95px 0;border-bottom:1px solid var(--line)}
.field-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.field-intro h2,.field-modules h2,.gallery-teaser h2{font:700 clamp(48px,5vw,74px)/.96 "Barlow Condensed",sans-serif;margin:0}
.field-intro-grid>div:last-child{font-size:18px;color:var(--muted);align-self:end}
.field-modules{padding:105px 0}
.field-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}
.field-grid article{min-height:315px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:.25s}
.field-grid article:hover{background:var(--dark);color:#fff;transform:translateY(-5px)}
.field-grid article span{font-size:12px;font-weight:800;color:var(--accent)}
.field-grid article strong{font:700 34px/1 "Barlow Condensed",sans-serif;margin:auto 0 14px}
.field-grid article p{font-size:13px;color:var(--muted);margin:0}.field-grid article:hover p{color:#aaa}
.field-process{background:var(--dark);color:#fff;padding:90px 0}
.field-process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:32px;border-top:1px solid #333;border-left:1px solid #333}
.field-process-grid>div{padding:26px;min-height:230px;border-right:1px solid #333;border-bottom:1px solid #333}
.field-process-grid b{color:var(--accent);font-size:12px}.field-process-grid h3{font:700 31px "Barlow Condensed",sans-serif;margin:70px 0 8px}.field-process-grid p{font-size:13px;color:#aaa}
.gallery-teaser{padding:90px 0;background:#deded7}.gallery-teaser-grid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end}.gallery-teaser p:not(.section-label){color:var(--muted)}
.gallery-hero{padding:78px 0 70px;border-bottom:1px solid var(--line);background-image:linear-gradient(to right,rgba(17,17,17,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(17,17,17,.05) 1px,transparent 1px);background-size:82px 82px}
.gallery-title-row{display:grid;grid-template-columns:1fr 180px;gap:50px;align-items:end}.gallery-hero h1{font:700 clamp(62px,8vw,112px)/.88 "Barlow Condensed",sans-serif;letter-spacing:-.03em;margin:0;max-width:1030px}.gallery-hero h1 em{font-style:normal;color:var(--accent)}.gallery-hero .lede{font-size:18px;color:var(--muted);max-width:730px}.gallery-count{border-top:3px solid var(--accent);padding-top:14px;display:flex;flex-direction:column}.gallery-count strong{font:700 64px/1 "Barlow Condensed",sans-serif}.gallery-count span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.gallery-section{padding:48px 0 110px}.gallery-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:38px}.gallery-filters button{border:1px solid var(--line);background:transparent;padding:10px 13px;font-size:12px;font-weight:800;cursor:pointer}.gallery-filters button.active,.gallery-filters button:hover{background:var(--dark);color:#fff;border-color:var(--dark)}
.photo-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.photo-card{grid-column:span 4;border:0;padding:0;background:none;text-align:left;cursor:pointer}.photo-card:nth-child(7n+1),.photo-card:nth-child(7n+5){grid-column:span 8}.photo-card[hidden]{display:none}.photo-card figure{margin:0;position:relative;overflow:hidden;background:#ddd;aspect-ratio:4/3}.photo-card:nth-child(7n+1) figure,.photo-card:nth-child(7n+5) figure{aspect-ratio:16/9}.photo-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.photo-card:hover img{transform:scale(1.035)}.photo-card figcaption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff;padding:45px 18px 16px;display:flex;flex-direction:column}.photo-card figcaption small{color:#ffb39a;text-transform:uppercase;letter-spacing:.1em;font-size:10px}.photo-card figcaption strong{font:700 24px "Barlow Condensed",sans-serif}
.gallery-empty{border:1px solid var(--line);background:#fff;padding:70px;min-height:360px;display:grid;align-content:center;max-width:950px}.gallery-empty span{font:700 72px/1 "Barlow Condensed",sans-serif;color:var(--accent)}.gallery-empty h2{font:700 clamp(42px,5vw,68px)/.95 "Barlow Condensed",sans-serif;margin:10px 0}.gallery-empty p{color:var(--muted);max-width:700px}.gallery-empty code{background:#eee;padding:3px 6px}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:1000;display:none;place-items:center;padding:40px}.lightbox.open{display:grid}.lightbox img{max-width:min(1200px,92vw);max-height:82vh;object-fit:contain}.lightbox-close{position:absolute;top:18px;right:24px;border:0;background:none;color:#fff;font-size:48px;cursor:pointer}.lightbox-caption{color:#fff;margin-top:12px;font:700 24px "Barlow Condensed",sans-serif;text-align:center}
@media(max-width:1040px){.field-grid,.field-process-grid{grid-template-columns:repeat(2,1fr)}.photo-card,.photo-card:nth-child(7n+1),.photo-card:nth-child(7n+5){grid-column:span 6}.gallery-title-row{grid-template-columns:1fr}.gallery-count{max-width:180px}}
@media(max-width:760px){.field-intro-grid,.gallery-teaser-grid{grid-template-columns:1fr}.field-grid,.field-process-grid{grid-template-columns:1fr}.photo-grid{display:block}.photo-card,.photo-card:nth-child(7n+1),.photo-card:nth-child(7n+5){display:block;width:100%;margin-bottom:12px}.photo-card figure,.photo-card:nth-child(7n+1) figure,.photo-card:nth-child(7n+5) figure{aspect-ratio:4/3}.gallery-empty{padding:34px 22px}.gallery-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.gallery-filters button{white-space:nowrap}}


/* V1.2.1 — campos reales C.E.B. + Maguey */
.training-sites{padding:105px 0;background:var(--bg)}
.training-site-card{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  min-height:560px;
  margin-top:34px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.07);
}
.training-site-card.reverse{grid-template-columns:.92fr 1.08fr}
.training-site-card.reverse .site-gallery{order:2}
.training-site-card.reverse .site-info{order:1}

.site-gallery{
  display:grid;
  grid-template-rows:1fr 112px;
  min-width:0;
  background:#171717;
}
.site-main-photo{
  position:relative;
  border:0;
  padding:0;
  margin:0;
  overflow:hidden;
  cursor:zoom-in;
  background:#111;
}
.site-main-photo img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}
.site-main-photo:hover img{transform:scale(1.025)}
.site-main-photo>span{
  position:absolute;
  right:18px;
  bottom:18px;
  padding:9px 12px;
  background:rgba(17,17,17,.88);
  color:#fff;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.site-thumbs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:#333;
  border-top:1px solid #333;
}
.site-thumbs button{
  border:0;
  padding:0;
  overflow:hidden;
  cursor:zoom-in;
  background:#111;
}
.site-thumbs img{
  width:100%;
  height:112px;
  object-fit:cover;
  display:block;
  transition:transform .35s;
}
.site-thumbs button:hover img{transform:scale(1.04)}

.site-info{
  padding:48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.site-info::after{
  content:"";
  position:absolute;
  right:-110px;
  top:-110px;
  width:260px;
  height:260px;
  border:1px solid #eee;
  border-radius:50%;
  box-shadow:inset 0 0 0 55px #fafafa,inset 0 0 0 105px #f5f5f2;
}
.site-info>*{position:relative;z-index:1}
.site-number{
  position:absolute;
  right:26px;
  top:20px;
  font:700 68px/1 "Barlow Condensed",sans-serif;
  color:#efefeb;
  z-index:0;
}
.site-info h3{
  font:700 clamp(52px,5vw,76px)/.9 "Barlow Condensed",sans-serif;
  letter-spacing:-.02em;
  margin:0;
}
.site-full-name{
  margin:12px 0 28px;
  color:var(--muted);
  font-size:15px;
}
.site-meta{
  border-top:1px solid var(--line);
  margin-top:4px;
}
.site-meta>div{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:18px;
  padding:17px 0;
  border-bottom:1px solid var(--line);
}
.site-meta span{
  font-size:10px;
  letter-spacing:.12em;
  font-weight:800;
  color:var(--accent);
}
.site-meta strong{
  font-size:14px;
  line-height:1.45;
}
.site-note{
  color:var(--muted);
  font-size:13px;
  margin:22px 0;
  max-width:620px;
}
.site-actions{
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  align-items:center;
}
.site-actions .text-link{font-size:13px}

.site-lightbox{
  position:fixed;
  inset:0;
  z-index:1100;
  display:none;
  place-items:center;
  padding:38px;
  background:rgba(0,0,0,.94);
}
.site-lightbox.open{display:grid}
.site-lightbox img{
  max-width:min(1200px,94vw);
  max-height:88vh;
  object-fit:contain;
  box-shadow:0 30px 100px rgba(0,0,0,.5);
}
.site-lightbox-close{
  position:absolute;
  right:24px;
  top:16px;
  border:0;
  background:none;
  color:#fff;
  font-size:48px;
  line-height:1;
  cursor:pointer;
}

@media(max-width:1040px){
  .training-site-card,.training-site-card.reverse{grid-template-columns:1fr}
  .training-site-card.reverse .site-gallery,.training-site-card.reverse .site-info{order:initial}
  .site-gallery{grid-template-rows:auto 100px}
  .site-main-photo img{min-height:360px}
  .site-thumbs img{height:100px}
}
@media(max-width:760px){
  .training-sites{padding:72px 0}
  .training-site-card{margin-top:22px}
  .site-info{padding:30px 22px}
  .site-main-photo img{min-height:270px}
  .site-gallery{grid-template-rows:auto 80px}
  .site-thumbs img{height:80px}
  .site-meta>div{grid-template-columns:1fr;gap:6px}
  .site-actions{align-items:flex-start;flex-direction:column}
}
