/* Editorial pages: cinematic, but with the calm measure of a good field note. */
.editorial-page { --editorial-accent:var(--teal); overflow:clip; }
.editorial-page[data-editorial-tone="gold"] { --editorial-accent:var(--gold); }
.editorial-hero {
  position:relative; isolation:isolate; display:flex; align-items:center;
  min-height:clamp(510px,72vh,710px); padding:132px 0 82px; overflow:hidden;
  background:
    radial-gradient(ellipse at 78% 30%,rgba(43,179,179,.22),transparent 35%),
    radial-gradient(ellipse at 22% 78%,rgba(124,92,255,.17),transparent 42%),
    linear-gradient(135deg,#091522 0%,#0c1c2c 52%,#101c2e 100%);
}
.editorial-hero::after {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(90deg,rgba(7,14,24,.6),transparent 74%),linear-gradient(0deg,rgba(7,14,24,.65),transparent 45%);
}
.editorial-hero.has-image { background:#091522; }
.editorial-hero-image { position:absolute; inset:0; z-index:-3; width:100%; height:100%; object-fit:cover; object-position:65% center; }
.editorial-hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(7,14,24,.91) 0%,rgba(7,14,24,.76) 46%,rgba(7,14,24,.22) 100%),linear-gradient(0deg,rgba(7,14,24,.92),transparent 60%); }
.editorial-hero-copy { max-width:850px; position:relative; }
.editorial-kicker { display:flex; align-items:center; gap:11px; color:var(--editorial-accent); font-size:.76rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.editorial-kicker::before { content:""; width:27px; height:1px; background:currentColor; }
.editorial-hero h1 { max-width:850px; margin:20px 0 20px; color:#f2f3ee; font-size:clamp(2.7rem,7.2vw,5.8rem); line-height:1.02; letter-spacing:-.065em; text-wrap:balance; }
.editorial-hero h1 .editorial-accent { color:var(--editorial-accent); }
.editorial-hero-lede { max-width:660px; margin:0; color:#bdcbd5; font-size:clamp(1rem,1.6vw,1.18rem); line-height:1.85; }
.editorial-hero.has-image .editorial-hero-lede { max-width:615px; }
.editorial-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.editorial-section { position:relative; padding:clamp(70px,9vw,122px) 0; }
.editorial-section + .editorial-section { border-top:1px solid rgba(255,255,255,.055); }
.editorial-section-heading { max-width:720px; margin:0 0 38px; }
.editorial-section-heading h2 { margin:14px 0 12px; font-size:clamp(2rem,4.5vw,3.5rem); letter-spacing:-.055em; }
.editorial-section-heading p { max-width:590px; margin:0; color:var(--muted); }

/* About: a real person, one direct relationship, no agency theater. */
.about-founder { display:grid; grid-template-columns:minmax(0,1fr); align-items:center; }
.about-founder-copy h2 { margin:15px 0 25px; font-size:clamp(2rem,4.5vw,3.2rem); letter-spacing:-.05em; }
.about-founder-copy p { max-width:none; color:#b5c2cc; font-size:.98rem; line-height:1.9; }
.about-founder-copy p + p { margin-top:18px; }
.about-teams { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:28px 0 18px; border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.about-team { padding:18px 20px 19px 0; }
.about-team + .about-team { padding-left:20px; border-left:1px solid rgba(255,255,255,.1); }
.about-team h3 { margin:0 0 7px; color:#e8edf0; font-size:.92rem; font-weight:750; }
.about-team p { margin:0; color:#9fb0bd; font-size:.81rem; line-height:1.65; }
.about-linkedin { margin-top:7px; }
.about-values { display:grid; grid-template-columns:1fr 1fr; border:1px solid rgba(255,255,255,.09); border-radius:20px; overflow:hidden; background:rgba(16,29,46,.48); }
.about-value { min-height:180px; padding:28px 30px; background:linear-gradient(145deg,rgba(20,39,56,.67),rgba(11,24,38,.42)); }
.about-value:nth-child(odd) { border-right:1px solid rgba(255,255,255,.08); }
.about-value:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.08); }
.about-value-index { color:var(--gold); font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.about-value h3 { margin:21px 0 8px; font-size:1.13rem; }
.about-value p { max-width:390px; margin:0; color:#aabac7; font-size:.86rem; line-height:1.75; }
.about-not-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.about-not { min-height:116px; display:flex; align-items:center; padding:22px; border-left:2px solid var(--gold); background:linear-gradient(100deg,rgba(232,176,75,.09),rgba(255,255,255,.018)); color:#e1e7ea; font-weight:750; font-size:1rem; }
.about-location { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; padding:32px; border:1px solid rgba(43,179,179,.2); border-radius:18px; background:radial-gradient(ellipse at 86% 30%,rgba(43,179,179,.1),transparent 38%),rgba(14,30,45,.72); }
.about-location h3 { margin:0 0 8px; font-size:1.35rem; }
.about-location p { max-width:620px; margin:0; color:#aebdc8; }
.about-location-mark { display:grid; place-items:center; width:68px; height:68px; border:1px solid rgba(43,179,179,.32); border-radius:50%; color:var(--teal); background:rgba(43,179,179,.08); font-size:.78rem; font-weight:800; letter-spacing:.08em; }
.about-customers { padding-top:55px; }
.about-customers-heading { margin-top:76px; }
.about-cta { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; margin-bottom:44px; padding:34px; border:1px solid rgba(232,176,75,.24); border-radius:19px; background:linear-gradient(110deg,rgba(232,176,75,.1),rgba(43,179,179,.045)); }
.about-cta h2 { margin:0 0 8px; font-size:clamp(1.7rem,3.4vw,2.5rem); }
.about-cta p { max-width:580px; margin:0; color:#afbdc8; }

/* Contact */
.contact-editorial-hero { min-height:clamp(430px,61vh,590px); }
.contact-editorial-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(290px,.88fr); gap:clamp(34px,7vw,92px); align-items:start; }
.contact-editorial-side { padding:8px 0; }
.contact-editorial-side h2 { margin:0 0 27px; font-size:clamp(1.8rem,3.5vw,2.5rem); letter-spacing:-.05em; }
.contact-reach-list { display:grid; gap:0; border-top:1px solid rgba(255,255,255,.1); }
.contact-reach { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.contact-reach-label { display:block; margin-bottom:4px; color:#7f94a5; font-size:.71rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.contact-reach strong,.contact-reach > a { font-size:.88rem; font-weight:700; overflow-wrap:anywhere; }
.contact-reach > a { color:#dbe5e9; }
.contact-reach > a:hover { color:var(--gold); }
.contact-booking { display:flex; width:100%; margin-top:24px; }
.contact-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid rgba(255,255,255,.09); border-radius:17px; background:rgba(255,255,255,.08); }
.contact-step { min-height:175px; padding:23px; background:#0c1a29; }
.contact-step-number { display:block; margin-bottom:24px; color:var(--gold); font-size:.74rem; font-weight:800; letter-spacing:.12em; }
.contact-step p { margin:0; color:#d3dfe5; font-size:.9rem; line-height:1.7; font-weight:650; }
.contact-location-note { margin:25px 0 0; color:#91a5b5; font-size:.85rem; }

/* Insights and article cards */
.insights-hero { min-height:clamp(420px,59vh,580px); }
.article-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.article-card { --article-tone:var(--teal); position:relative; min-height:315px; display:flex; flex-direction:column; padding:clamp(23px,3vw,34px); overflow:hidden; border:1px solid rgba(255,255,255,.095); border-radius:18px; background:linear-gradient(145deg,rgba(18,36,53,.94),rgba(10,22,35,.92)); transition:transform .28s var(--ease),border-color .28s; }
.article-card:nth-child(3n+2) { --article-tone:var(--violet); }
.article-card:nth-child(3n) { --article-tone:var(--gold); }
.article-card::before { content:""; position:absolute; top:0; right:0; width:210px; height:210px; pointer-events:none; background:radial-gradient(circle,var(--article-tone),transparent 69%); opacity:.095; transform:translate(36%,-48%); }
.article-card:hover,.article-card:focus-visible { transform:translateY(-4px); border-color:color-mix(in srgb,var(--article-tone) 45%,transparent); }
.article-card-meta { position:relative; display:flex; flex-wrap:wrap; gap:9px 16px; align-items:center; color:#91a5b5; font-size:.73rem; }
.article-card-category { color:var(--article-tone); font-weight:800; letter-spacing:.06em; }
.article-card h2 { position:relative; margin:35px 0 12px; max-width:560px; font-size:clamp(1.5rem,3vw,2.15rem); line-height:1.18; letter-spacing:-.045em; }
.article-card-description { max-width:520px; margin:0; color:#aabac6; font-size:.9rem; line-height:1.75; }
.article-card-read { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:auto; padding-top:27px; color:#e8edf0; font-size:.81rem; font-weight:800; }
.article-card-arrow { color:var(--article-tone); font-size:1.2rem; transition:transform .2s; }
.article-card:hover .article-card-arrow { transform:translateX(4px); }

/* Shared article template: long-form measure, quiet navigation, honest attribution. */
.article-page { background:radial-gradient(ellipse at 86% 10%,rgba(43,179,179,.06),transparent 33%),var(--bg); }
.article-top { padding:145px 0 54px; border-bottom:1px solid rgba(255,255,255,.065); background:radial-gradient(ellipse at 75% 20%,rgba(124,92,255,.13),transparent 37%),linear-gradient(180deg,#0b1928,#091521); }
.article-top-inner { max-width:880px; }
.article-back { display:inline-flex; align-items:center; gap:9px; margin-bottom:34px; color:#a8bac7; font-size:.8rem; font-weight:750; }
.article-back:hover { color:var(--teal); }
.article-category { color:var(--gold); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.article-title { margin:16px 0 16px; color:#f1f2ee; font-size:clamp(2.45rem,6vw,4.8rem); line-height:1.04; letter-spacing:-.065em; text-wrap:balance; }
.article-deck { max-width:690px; margin:0; color:#b4c2cc; font-size:clamp(1rem,1.7vw,1.18rem); line-height:1.8; }
.article-byline { display:flex; flex-wrap:wrap; gap:10px 20px; align-items:center; margin-top:27px; color:#98aaba; font-size:.77rem; }
.article-byline strong { color:#e4e9ea; }
.article-byline-dot { width:3px; height:3px; border-radius:50%; background:#687f91; }
.article-cover { width:min(100% - 48px,1060px); height:clamp(220px,40vw,440px); object-fit:cover; margin:0 auto; border:1px solid rgba(255,255,255,.1); border-radius:0 0 18px 18px; }
.article-content-wrap { display:grid; grid-template-columns:minmax(0,720px) minmax(190px,260px); justify-content:space-between; gap:clamp(36px,7vw,90px); padding-top:64px; }
.article-body { min-width:0; color:#bdc9d1; font-size:1.02rem; line-height:1.9; }
.article-body > * { max-width:68ch; }
.article-body p { color:#b7c4ce; }
.article-body p:first-child { color:#e1e7e9; font-size:1.12rem; }
.article-body h2 { margin:2.3em 0 .72em; color:#eef1ed; font-size:clamp(1.65rem,3.4vw,2.25rem); line-height:1.2; letter-spacing:-.045em; }
.article-body h3 { margin:1.8em 0 .55em; color:#e7edef; font-size:1.24rem; line-height:1.35; letter-spacing:-.025em; }
.article-body ul,.article-body ol { padding-left:1.35em; color:#b7c4ce; }
.article-body li { padding-left:.22em; margin:.52em 0; }
.article-body li::marker { color:var(--teal); }
.article-callout { margin:2.2em 0; padding:22px 24px; border-left:2px solid var(--gold); background:linear-gradient(100deg,rgba(232,176,75,.095),rgba(255,255,255,.018)); color:#e1e7e9; font-size:1.04rem; line-height:1.75; }
.article-callout p { margin:0; color:inherit; }
.article-aside { align-self:start; position:sticky; top:110px; padding:22px; border:1px solid rgba(255,255,255,.09); border-radius:15px; background:rgba(15,29,44,.7); }
.article-aside-label { display:block; margin-bottom:12px; color:var(--gold); font-size:.69rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.article-aside h2 { margin:0 0 10px; font-size:1.12rem; line-height:1.3; letter-spacing:-.025em; }
.article-aside p { margin:0 0 17px; color:#9fb0bd; font-size:.79rem; line-height:1.75; }
.article-aside .text-link { color:var(--teal); font-size:.78rem; }
.article-end-cta { max-width:720px; margin:65px 0 74px; padding:28px; border:1px solid rgba(43,179,179,.19); border-radius:16px; background:linear-gradient(135deg,rgba(43,179,179,.09),rgba(124,92,255,.06)); }
.article-end-cta h2 { margin:0 0 9px; color:#edf1ed; font-size:1.45rem; }
.article-end-cta p { margin:0 0 20px; color:#a9bac6; font-size:.88rem; }
.article-form-section { padding:70px 0 100px; border-top:1px solid rgba(255,255,255,.07); background:radial-gradient(ellipse at 12% 25%,rgba(43,179,179,.075),transparent 40%); }
.article-form-heading { max-width:650px; margin-bottom:32px; }
.article-form-heading h2 { margin:12px 0; font-size:clamp(1.9rem,4vw,3rem); }
.article-form-heading p { margin:0; color:#aab9c5; }
.article-form-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(230px,.7fr); gap:45px; align-items:start; }
.article-form-aside { padding:22px 0; }
.article-form-aside h3 { margin:0 0 11px; }
.article-form-aside p { color:#9eafbd; font-size:.87rem; line-height:1.8; }
.article-form-aside a { color:var(--gold); font-weight:750; }
.editorial-404-links { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.editorial-404-links a { min-height:47px; display:inline-flex; align-items:center; padding:0 17px; border:1px solid rgba(255,255,255,.15); border-radius:999px; color:#e0e8eb; background:rgba(255,255,255,.035); font-size:.83rem; font-weight:750; transition:transform .2s,border-color .2s; }
.editorial-404-links a:hover { transform:translateY(-2px); border-color:rgba(232,176,75,.55); }

@media (max-width:760px) {
  .editorial-hero { min-height:570px; padding:115px 0 66px; }
  .editorial-hero.has-image { min-height:660px; }
  .editorial-hero h1 { font-size:clamp(2.8rem,11vw,4.25rem); }
  .about-founder,.contact-editorial-layout,.article-form-layout { grid-template-columns:1fr; gap:34px; }
  .about-teams { grid-template-columns:1fr; }
  .about-team { padding:15px 0; }
  .about-team + .about-team { padding-left:0; border-left:0; border-top:1px solid rgba(255,255,255,.08); }
  .about-not-list { grid-template-columns:1fr; gap:9px; }
  .about-not { min-height:78px; }
  .about-location { grid-template-columns:1fr; }
  .about-location-mark { width:54px; height:54px; }
  .about-cta { grid-template-columns:1fr; }
  .contact-editorial-hero { min-height:480px; }
  .contact-steps { grid-template-columns:1fr; }
  .contact-step { min-height:0; display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:start; }
  .contact-step-number { margin:3px 0 0; }
  .article-card-grid { grid-template-columns:1fr; }
  .article-card { min-height:280px; }
  .article-top { padding-top:118px; }
  .article-cover { width:calc(100% - 38px); }
  .article-content-wrap { display:block; padding-top:43px; }
  .article-aside { position:static; margin-top:44px; }
  .article-end-cta { margin:48px 0 55px; }
}
@media (max-width:480px) {
  .editorial-hero { min-height:550px; }
  .editorial-hero.has-image { min-height:650px; }
  .editorial-hero-actions { flex-direction:column; align-items:stretch; max-width:330px; }
  .editorial-hero-actions .btn { width:100%; }
  .about-values { grid-template-columns:1fr; }
  .about-value { min-height:145px; border-right:0!important; border-bottom:1px solid rgba(255,255,255,.08); }
  .about-value:last-child { border-bottom:0; }
  .about-cta { padding:25px; }
  .article-cover { height:235px; }
  .article-byline { gap:8px 12px; }
  .article-body { font-size:.98rem; line-height:1.85; }
  .editorial-404-links { align-items:stretch; flex-direction:column; max-width:320px; }
  .editorial-404-links a { justify-content:center; }
}
@media (prefers-reduced-motion:reduce) {
  .article-card,.article-card-arrow,.editorial-404-links a { transition:none; }
}
.editorial-page h1 {
  font-size:clamp(2.6rem,5.6vw,4.4rem);font-weight:800;letter-spacing:-.025em;
  background:linear-gradient(110deg,#fff,var(--editorial-accent,#8fe0e0));
  background-clip:text;-webkit-background-clip:text;color:transparent;
}
.editorial-page .editorial-kicker,.editorial-page .contact-reach-label,
.editorial-page .article-category,.editorial-page .article-aside-label {
  text-transform:none;letter-spacing:.025em;
}

.about-value-index,.contact-reach-label,.contact-step-number,.article-card-meta,
.article-aside-label { font-size:12px !important; }

@media (max-width:760px) {
  .contact-editorial-hero { min-height:0; padding:98px 0 28px; }
}
@media (max-width:480px) {
  .contact-editorial-hero { min-height:0; padding:88px 0 20px; }
  .contact-editorial-hero .editorial-hero-actions { margin-top:16px; }
}
