/* ---- Topic resource page ---- */
.topic-hero { background:
  radial-gradient(900px 460px at 12% -20%, rgba(93,146,71,.30), transparent 60%),
  radial-gradient(700px 400px at 95% 110%, rgba(1,71,96,.35), transparent 60%),
  var(--pine); }
.breadcrumb { display:flex; gap:8px; align-items:center; font-size:13.5px; font-weight:600; color:var(--white-50); margin-bottom:22px; }
.breadcrumb a { color:var(--white-70); }
.breadcrumb .sep { opacity:.5; }
.topic-hero-inner { max-width:640px; padding:76px 0 66px; }
.topic-hero h1 { color:#fff; font-size:clamp(40px,5vw,64px); }
.topic-hero .dek { font-size:clamp(16px,1.5vw,19px); line-height:1.65; color:var(--white-70); margin-top:16px; }
/* featured split: video + list */
.feat-split { display:grid; grid-template-columns:1.15fr 1fr; gap:56px; align-items:start; }
.video-ph { aspect-ratio:16/9; border-radius:var(--radius-lg); border:1px solid var(--line); overflow:hidden; position:relative; box-shadow:var(--shadow-card); }
.video-ph iframe { width:100%; height:100%; display:block; border:0; }
.video-ph .yt-bar { position:absolute; top:0; left:0; right:0; display:flex; align-items:center; gap:10px; padding:14px 16px; color:#fff; font-size:14px; font-weight:700; background:linear-gradient(180deg, rgba(4,20,10,.55), transparent); }
.video-ph .yt-bar .seed { width:26px; height:26px; border-radius:7px; background:var(--green); flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.video-ph .yt-bar .seed svg { width:15px; height:15px; color:#fff; }
.video-ph .yt-bar span { line-height:1.15; }
.video-ph .yt-bar small { display:block; font-weight:500; opacity:.75; font-size:11.5px; }
.video-ph .play { width:66px; height:46px; border-radius:12px; background:#ff0000; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 30px -10px rgba(0,0,0,.5); transition:transform .2s ease; }
.video-ph:hover .play { transform:scale(1.06); }
.video-ph .play svg { width:22px; height:22px; color:#fff; margin-left:2px; }
.video-ph .yt-watch { position:absolute; bottom:14px; right:16px; display:flex; align-items:center; gap:7px; font-size:12.5px; color:#fff; background:rgba(4,20,10,.5); border-radius:8px; padding:6px 11px; }
.feat-list { display:flex; flex-direction:column; }
.feat-list h2 { font-size:clamp(28px,3vw,36px); margin:0 0 6px; color:var(--ink); }
.feat-item { display:block; padding:20px 0; border-bottom:1px solid var(--line); text-decoration:none !important; color:inherit; }
.feat-item:last-child { border-bottom:none; }
.feat-item h3 { margin:0 0 6px; font-size:18px; color:var(--pine); line-height:1.32; transition:color .15s ease; }
.feat-item:hover h3 { color:var(--green); }
.feat-item .fi-date { font-size:13.5px; color:var(--ink-60); }
/* article cards */
.res-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px 24px; }
.res-card { display:flex; flex-direction:column; background:transparent; text-decoration:none !important; color:inherit; }
.res-thumb { aspect-ratio:16/10; border-radius:14px; position:relative; display:flex; align-items:center; justify-content:center; text-align:center; padding:24px 22px; overflow:hidden; box-shadow:var(--shadow-card); background:
  linear-gradient(150deg, rgba(1,71,96,.94), rgba(8,68,30,.9)),
  repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 15px, transparent 15px 30px); transition:transform .2s ease, box-shadow .2s ease; }
.res-thumb.t-green { background: linear-gradient(150deg, rgba(93,146,71,.95), rgba(8,68,30,.92)), repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 15px, transparent 15px 30px); }
.res-thumb.t-geo { background: linear-gradient(150deg, rgba(12,137,143,.94), rgba(8,68,30,.9)), repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 15px, transparent 15px 30px); }
.res-thumb.t-code { background: linear-gradient(150deg, rgba(4,30,20,.92), rgba(1,50,66,.9)), repeating-linear-gradient(0deg, rgba(120,200,140,.10) 0 2px, transparent 2px 7px); }
.res-card:hover .res-thumb { transform:translateY(-4px); box-shadow:var(--shadow-pop); }
.res-thumb .rt-title { font-family:var(--font-display); font-weight:var(--disp-weight); letter-spacing:var(--disp-track); color:#fff; font-size:16px; line-height:1.3; text-shadow:0 2px 10px rgba(0,0,0,.4); }
.res-thumb .rt-by { position:absolute; bottom:10px; left:0; right:0; text-align:center; font-size:10px; letter-spacing:.05em; color:rgba(255,255,255,.75); }
.res-body { padding:16px 2px 0; display:flex; flex-direction:column; gap:8px; flex:1; }
.res-body h3 { font-size:17px; margin:0; color:var(--ink); line-height:1.32; }
.res-by { font-size:13px; color:var(--ink-60); }
.res-ex { font-size:14px; color:var(--ink-60); margin:0; line-height:1.55; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.res-more { font-size:14px; font-weight:700; color:var(--green); margin-top:2px; display:inline-flex; gap:6px; align-items:center; }
.res-card:hover .res-more { gap:9px; }
.show-more { text-align:center; margin-top:40px; }
.show-more a { font-weight:700; color:var(--green); font-size:15px; }
/* additional topics: dark interactive bento (mirrors services goals) */
.at-band { background: radial-gradient(820px 460px at 88% 6%, rgba(12,137,143,.30), transparent 62%), radial-gradient(640px 440px at 0% 100%, rgba(1,71,96,.42), transparent 60%), #062a1c; }
.at-band .eyebrow { color:#9CC787; } .at-band .eyebrow::before { background:#9CC787; }
.at-head { text-align:center; margin-bottom:44px; max-width:760px; margin-left:auto; margin-right:auto; }
.at-head h2 { font-size:clamp(34px,4vw,50px); margin:0; color:#fff; }
.at-head p { color:var(--white-70); margin-top:12px; }
.goals-bento { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:198px; grid-auto-flow:dense; gap:14px; }
.goal-tile { position:relative; overflow:hidden; border-radius:18px; border:1px solid rgba(255,255,255,.12); text-align:left; cursor:pointer; color:#fff; padding:22px; font-family:inherit; display:flex; flex-direction:column; justify-content:flex-end; gap:6px; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.goal-tile::before { content:""; position:absolute; inset:0; z-index:1; background:var(--tile-bg); opacity:.6; pointer-events:none; }
.goal-tile::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(4,30,5,.18) 0%, rgba(4,30,5,.72) 100%); pointer-events:none; }
.goal-tile > .gt-bg { position:absolute; inset:0; z-index:0; width:100%; height:100%; background:#0c3a24; background-size:cover; background-position:center; filter:grayscale(1) contrast(1.04); }
.goal-tile > * { position:relative; z-index:2; }
.goal-tile:hover { transform:translateY(-4px); border-color:rgba(255,255,255,.3); box-shadow:0 22px 44px -22px rgba(0,0,0,.7); }
.goal-tile h3 { color:#fff; margin:0; font-size:21px; line-height:1.2; }
.gt-teaser { color:rgba(255,255,255,.82); font-size:14px; }
.gt-plus { position:absolute; top:18px; right:20px; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; font-size:20px; line-height:1; transition:transform .25s ease, background .25s ease; }
.goal-tile.open .gt-plus { display:none; }
.gt-detail { max-height:0; opacity:0; overflow:hidden; transition:max-height .4s ease, opacity .3s ease, margin-top .3s ease; }
.gt-detail p { color:rgba(255,255,255,.88); font-size:15.5px; margin:0 0 14px; max-width:660px; }
.gt-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.gt-chips span { font-size:12.5px; font-weight:700; color:#cfe6c4; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18); padding:6px 12px; border-radius:999px; }
.gt-link { color:#fff; font-weight:800; font-size:15px; text-decoration:none; }
.gt-link:hover { text-decoration:underline; }
.goal-tile.open { grid-column:1 / -1; grid-row:span 2; justify-content:center; }
.goal-tile.open .gt-teaser { display:none; }
.goal-tile.open h3 { font-size:28px; margin-bottom:4px; }
.goal-tile.open .gt-detail { max-height:340px; opacity:1; margin-top:14px; }
@media (max-width:980px){ .topic-hero-inner{padding:56px 0;} .feat-split{grid-template-columns:1fr;gap:36px;} .res-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:860px){ .goals-bento{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .res-grid{grid-template-columns:1fr;} .goals-bento{grid-template-columns:1fr;grid-auto-rows:172px;} .goal-tile.open{grid-row:span 2;} }
.grow-section { padding-top: 50px; padding-bottom: 0; }
.grow-band {
  position: relative; overflow: hidden;
  background:
    radial-gradient(680px 320px at 90% 120%, rgba(12,137,143,.22), transparent 62%),
    radial-gradient(560px 300px at 4% -20%, rgba(93,146,71,.30), transparent 60%),
    var(--pine);
  border-radius: var(--radius-lg);
  padding: 56px 60px;
  display: grid; grid-template-columns: 248px 1fr 344px; gap: 44px; align-items: center;
}
.grow-photo { align-self: end; margin-bottom: -56px; }
.grow-photo img { display: block; width: 100%; max-width: 248px; margin: 0 auto; will-change: transform; }
.grow-band .eyebrow { color: #9CC787; }
.grow-band .eyebrow::before { background: #9CC787; }
.grow-band h2 { color: #fff; font-size: clamp(28px, 3vw, 40px); margin-bottom: 16px; max-width: 15ch; }
.grow-band p { color: rgba(255,255,255,.82); font-size: 17.5px; line-height: 1.6; margin: 0; max-width: 520px; }
/* Mini Google Calendar scheduler */
.grow-sched { background: #fff; border-radius: 18px; padding: 22px 22px 24px; box-shadow: 0 26px 54px -22px rgba(0,0,0,.55); }
.gs-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.gs-gcal { width: 36px; height: 36px; flex-shrink: 0; }
.gs-title { font-family: var(--font-body); font-weight: 800; color: var(--pine); font-size: 15.5px; line-height: 1.25; }
.gs-title span { display: block; font-weight: 600; font-size: 12.5px; color: var(--ink-60); }
.gs-label { font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-60); font-weight: 700; margin-bottom: 10px; }
.gs-slots { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin-bottom: 18px; }
.gs-slot { border: 1.5px solid var(--line); border-radius: 10px; padding: 10px 6px; text-align: center; font-size: 13.5px; font-weight: 700; color: var(--pine); cursor: pointer; background: #fff; transition: border-color .16s ease, background .16s ease; }
.gs-slot:hover { border-color: var(--green); background: var(--mint-soft); }
.gs-slot.sel { border-color: var(--green); background: var(--mint); }
.grow-sched .btn { width: 100%; }

.grow-copy{align-self:center;}
@media (max-width:980px){.grow-band{grid-template-columns:1fr;gap:32px;}.grow-photo{display:none;}}
@media (max-width:560px){.grow-band{padding:36px 26px;}.gs-slots{grid-template-columns:1fr;}}
.video-coming{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;color:#fff;background:linear-gradient(150deg,rgba(1,71,96,.95),rgba(8,68,30,.92)),repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 15px,transparent 15px 30px);}
.video-coming .vc-play{width:64px;height:44px;border-radius:12px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;}
.video-coming .vc-play svg{width:22px;height:22px;color:#fff;margin-left:2px;}
.video-coming .vc-t{font-weight:700;font-size:16px;}
.video-coming small{opacity:.82;font-size:12.5px;max-width:300px;line-height:1.5;}
/* ---- Booking band (matches site-wide Cal.com section) ---- */
.bk-band{display:grid;grid-template-columns:0.9fr 1.1fr;gap:38px;align-items:stretch;background:var(--pine,#08441E);border-radius:26px;padding:18px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(4,30,5,.55);}
.bk-left{padding:36px 32px;display:flex;flex-direction:column;justify-content:center;color:#fff;}
.bk-left .eyebrow{color:#9FCB8B;}
.bk-left h2{color:#fff;font-size:clamp(28px,3.2vw,42px);line-height:1.08;margin:8px 0 14px;}
.bk-left p{color:rgba(255,255,255,.82);font-size:16px;line-height:1.6;margin:0 0 16px;}
.bk-omar{display:flex;align-items:center;gap:14px;margin-top:6px;}
.bk-omar img{width:58px;height:58px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid rgba(255,255,255,.25);}
.bk-omar b{color:#fff;display:block;font-size:15px;line-height:1.2;}
.bk-omar span{color:rgba(255,255,255,.6);font-size:13.5px;}
.bk-points{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:9px;}
.bk-points li{color:rgba(255,255,255,.9);font-size:14.5px;display:flex;gap:9px;align-items:flex-start;}
.bk-points li::before{content:"\2713";color:#F98D13;font-weight:800;}
.bk-cal{background:#fff;border-radius:18px;padding:6px;height:540px;overflow:hidden;}
.bk-cal #cal-inline{width:100%;height:100%;overflow:auto;}
@media(max-width:860px){.bk-band{grid-template-columns:1fr;}.bk-cal{height:520px;}}
