/* ===== Design tokens ===== */
    :root {
      --blue: #2f5d80;          /* primary: headings accents, links, buttons, eyebrows */
      --blue-deep: #234a66;     /* button hover / gradient end */
      --grad-start: #3a6285;    /* CTA gradient start */
      --accent: #4a86b4;        /* dots, small accents */
      --accent-light: #8fb6d4;  /* dots on dark, service numbers */
      --accent-lighter: #6fb0e0;/* animation elements */
      --ink: #1c2733;           /* primary text + dark band bg */
      --body: #525a62;          /* paragraphs */
      --muted: #5f676f;         /* captions, meta */
      --muted-2: #889098;       /* lighter meta */
      --chip: #41494f;          /* chip text */
      --bg: #f2f4f6;            /* page bg */
      --band: #e7ecf1;          /* ethics / writing / footer bands */
      --soft: #dde6ee;          /* image placeholders, avatars */
      --pill: #e3e9ef;          /* eyebrow pills */
      --white: #ffffff;
      --card-dark: #26303c;     /* service card */
      --card-dark-hover: #2f3a47;
      --stage: #1f2a36;         /* service animation stage */
      --scope-marker: #b06a5a;  /* "—" dashes in out-of-scope list */
      --quote-glyph: #b9cbe0;   /* open-quote glyph */
      --on-dark-soft: #a3afba;  /* body text on dark band */

      --serif: 'Newsreader', Georgia, 'Times New Roman', serif;
      --sans: 'Hanken Grotesk', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

      --maxw: 1180px;
      --gutter: 28px;
      --shadow-btn: 0 10px 24px -10px rgba(47,93,128,0.5);
      --shadow-card-hover: 0 16px 36px -22px rgba(28,39,51,0.4);
    }

    /* ===== Reset & base ===== */
    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      background: var(--bg);
      color: var(--ink);
      font-family: var(--sans);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      line-height: 1.5;
      overflow-x: clip;
    }
    ::selection { background: var(--accent); color: var(--bg); }
    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }
    h1, h2, h3 { font-weight: 400; }

    /* ===== Keyframes (service & accent animations) ===== */
    @keyframes thFloat  { 0%,100% { transform: translateY(0); }            50% { transform: translateY(-9px); } }
    @keyframes thBreathe{ 0%,100% { transform: scale(0.55); opacity: .45; }50% { transform: scale(1); opacity: 1; } }
    @keyframes thBounce { 0%,100% { transform: translateY(0); }            50% { transform: translateY(-13px); } }
    @keyframes thGrow   { 0%,100% { transform: scaleY(0.3); }              50% { transform: scaleY(1); } }
    @keyframes thSway   { 0%,100% { transform: rotate(-20deg); }           50% { transform: rotate(20deg); } }
    @keyframes thDriftR { 0%,100% { transform: translateX(0); }            50% { transform: translateX(15px); } }
    @keyframes thDriftL { 0%,100% { transform: translateX(0); }            50% { transform: translateX(-15px); } }
    @keyframes thRipple { 0% { transform: scale(0.3); opacity: .9; }       100% { transform: scale(1.7); opacity: 0; } }
    @keyframes thDash   { from { stroke-dashoffset: 130; }                 to { stroke-dashoffset: -130; } }
    @keyframes thFloatA { 0%,100% { transform: translateY(0) rotate(-7deg); } 50% { transform: translateY(-11px) rotate(7deg); } }
    @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; } }

    /* ===== App shell ===== */
    .shell { min-height: 100vh; }

    /* Frozen left nav (Excel freeze-pane style): fixed to the viewport, never scrolls away */
    .sidebar {
      position: fixed; top: 0; left: 0; width: 208px; height: 100vh; overflow-y: auto;
      background: var(--white); border-right: 1px solid rgba(28,39,51,0.10);
      padding: 30px 20px; display: flex; flex-direction: column; gap: 26px; z-index: 50;
    }
    .brand { display: flex; align-items: center; gap: 11px; }
    .brand__dot {
      width: 30px; height: 30px; border-radius: 50%; flex: none;
      background: radial-gradient(circle at 32% 30%, #6f9bbf, #244a66);
      box-shadow: inset 0 0 0 4px rgba(242,244,246,0.55);
    }
    .brand__name { font-family: var(--serif); font-size: 23px; font-weight: 500; letter-spacing: 0.2px; }

    .nav { display: flex; flex-direction: column; gap: 3px; }
    .nav__link {
      display: flex; align-items: center; gap: 11px; font-size: 15px; font-weight: 500;
      padding: 10px 13px; border-radius: 10px; color: var(--chip);
      transition: background .18s, color .18s;
    }
    .nav__link:hover { background: #eef2f6; color: var(--blue); }
    .nav__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent-light); flex: none; }
    .side-spacer { flex: 1; }

    /* Buttons */
    .btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px;
           border-radius: 999px; font-weight: 600; cursor: pointer; border: none;
           font-family: inherit; transition: background .2s, border-color .2s, transform .2s, box-shadow .2s; }
    .btn svg { flex: none; }
    .btn--wa-side { background: var(--blue); color: #f4f7fa; padding: 13px 18px; font-size: 14.5px; }
    .btn--wa-side:hover { background: var(--blue-deep); }
    .btn--primary { background: var(--blue); color: #f4f7fa; padding: 15px 26px; font-size: 15.5px; box-shadow: var(--shadow-btn); }
    .btn--primary:hover { background: var(--blue-deep); }
    .btn--ghost { background: transparent; color: var(--ink); padding: 15px 24px; font-size: 15.5px; border: 1.5px solid rgba(28,39,51,0.22); }
    .btn--ghost:hover { border-color: var(--ink); }

    /* Content pane + sections — offset to clear the fixed sidebar */
    .pane { margin-left: 208px; min-width: 0; }
    .section { max-width: var(--maxw); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
    .band { border-top: 1px solid rgba(28,39,51,0.10); }
    .band--light { background: var(--band); }
    .band--bg { background: var(--bg); }

    .eyebrow { font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--blue); font-weight: 700; margin-bottom: 16px; }
    .eyebrow--light { color: var(--accent-light); }
    .h2 { font-family: var(--serif); font-size: clamp(28px,4.2vw,42px); line-height: 1.12; letter-spacing: -0.4px; }
    .lead { font-size: 16.5px; line-height: 1.64; color: var(--body); }

    /* ===== Hero ===== */
    .hero {
      padding: clamp(48px,7vw,96px) var(--gutter) clamp(40px,5vw,64px);
      display: flex; flex-wrap: wrap; gap: clamp(36px,5vw,72px); align-items: center;
    }
    .hero__copy { flex: 1 1 420px; min-width: 300px; }
    .pill-eyebrow {
      display: inline-flex; align-items: center; gap: 9px; padding: 7px 14px; border-radius: 999px;
      background: var(--pill); color: var(--blue); font-size: 13px; font-weight: 600; letter-spacing: .3px; margin-bottom: 26px;
    }
    .pill-eyebrow__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
    .hero__title { font-family: var(--serif); font-size: clamp(40px,6.4vw,68px); line-height: 1.04; letter-spacing: -0.5px; margin-bottom: 24px; }
    .hero__title em { font-style: italic; color: var(--blue); }
    .hero__lead { font-size: clamp(16.5px,2vw,19px); line-height: 1.62; color: var(--body); max-width: 520px; margin-bottom: 34px; }
    .hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 40px; }

    .stats { display: flex; flex-wrap: wrap; gap: 30px; }
    .stat__num { font-family: var(--serif); font-size: 30px; color: var(--blue); }
    .stat__label { font-size: 13px; color: var(--muted); font-weight: 500; }
    .stat-divider { width: 1px; background: rgba(28,39,51,0.14); }

    .hero__media { flex: 0 1 320px; min-width: 240px; max-width: 330px; position: relative; }
    .hero__backdrop { position: absolute; inset: -14px -14px 24px 24px; border-radius: 220px 220px 28px 28px; background: var(--soft); z-index: 0; }
    .hero__portrait {
      position: relative; z-index: 1; border-radius: 210px 210px 24px 24px; overflow: hidden;
      aspect-ratio: 4/5; box-shadow: 0 30px 60px -30px rgba(28,39,51,0.4);
    }
    .name-card {
      position: absolute; z-index: 2; bottom: 8px; left: -10px; background: var(--bg);
      border: 1px solid rgba(28,39,51,0.10); border-radius: 16px; padding: 13px 17px;
      box-shadow: 0 14px 30px -16px rgba(28,39,51,0.4); animation: thFloat 6s ease-in-out infinite;
    }
    .name-card__name { font-family: var(--serif); font-size: 17px; font-weight: 500; }
    .name-card__role { font-size: 12.5px; color: var(--blue); font-weight: 600; }

    /* ===== Image placeholder (swap with <img>) ===== */
    .img-slot {
      width: 100%; height: 100%; min-height: 100%;
      background: var(--soft); color: #7d8d9c;
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      gap: 8px; text-align: center; padding: 14px;
    }
    .img-slot svg { width: 30px; height: 30px; opacity: .7; }
    .img-slot__label { font-size: 12.5px; font-weight: 500; max-width: 90%; }

    /* ===== Concerns ===== */
    .concerns { padding: clamp(56px,8vw,96px) var(--gutter) clamp(20px,3vw,40px); }
    .concerns__head { max-width: 640px; margin-bottom: 38px; }
    .concerns__head h2 { font-family: var(--serif); font-size: clamp(28px,4.2vw,42px); line-height: 1.12; letter-spacing: -0.4px; }
    .tags { display: flex; flex-wrap: wrap; gap: 11px; }
    .tag {
      padding: 10px 17px; border-radius: 999px; background: var(--white); border: 1px solid rgba(28,39,51,0.10);
      font-size: 14.5px; font-weight: 500; color: var(--chip); transition: border-color .18s, color .18s;
    }
    .tag:hover { border-color: var(--accent); color: var(--blue); }

    /* ===== Services (dark band) ===== */
    .services { background: var(--ink); color: #e7ecf1; margin-top: clamp(40px,6vw,72px); }
    .services__inner { max-width: var(--maxw); margin: 0 auto; padding: clamp(60px,8vw,104px) var(--gutter); }
    .services__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 48px; }
    .services__head h2 { font-family: var(--serif); font-size: clamp(28px,4.2vw,44px); line-height: 1.1; letter-spacing: -0.4px; color: var(--bg); max-width: 620px; }
    .services__head p { max-width: 320px; font-size: 15px; line-height: 1.6; color: var(--on-dark-soft); }
    .services__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 18px; }

    .service {
      background: var(--card-dark); border: 1px solid rgba(242,244,246,0.10); border-radius: 18px;
      overflow: hidden; transition: transform .25s, background .25s;
    }
    .service:hover { background: var(--card-dark-hover); transform: translateY(-4px); }
    .service__stage { height: 100px; background: var(--stage); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
    .service__body { padding: 22px 24px 26px; }
    .service__num { font-family: var(--serif); font-size: 15px; color: var(--accent-light); margin-bottom: 10px; }
    .service__title { font-family: var(--serif); font-weight: 500; font-size: 22px; line-height: 1.2; margin-bottom: 10px; color: var(--bg); }
    .service__desc { font-size: 14.5px; line-height: 1.6; color: var(--on-dark-soft); }

    /* Service animation primitives */
    .anim-ring { position: absolute; width: 56px; height: 56px; border-radius: 50%; animation: thBreathe 4s ease-in-out infinite; }
    .anim-dot-core { width: 13px; height: 13px; border-radius: 50%; background: var(--accent-light); }
    .anim-bounce { width: 14px; height: 14px; border-radius: 50%; animation: thBounce 1.1s ease-in-out infinite; }
    .anim-bar { width: 11px; height: 46px; border-radius: 4px; transform-origin: bottom; animation: thGrow 1.9s ease-in-out infinite; }
    .anim-metronome { width: 3px; height: 44px; background: var(--accent-light); border-radius: 3px; transform-origin: bottom center; animation: thSway 1.7s ease-in-out infinite; position: relative; }
    .anim-metronome__bob { position: absolute; top: -6px; left: -5px; width: 13px; height: 13px; border-radius: 50%; background: var(--accent); }
    .anim-drift { position: relative; width: 64px; height: 32px; }
    .anim-drift span { position: absolute; top: 1px; width: 30px; height: 30px; border-radius: 50%; }
    .anim-ripple { position: absolute; width: 22px; height: 22px; border-radius: 50%; animation: thRipple 2.6s ease-out infinite; }
    .anim-float-card { width: 17px; height: 22px; border-radius: 4px; animation: thFloatA 3.2s ease-in-out infinite; }
    .stage-gap { gap: 11px; }
    .stage-gap-bars { align-items: flex-end; gap: 8px; padding-bottom: 26px; }
    .stage-bottom { align-items: flex-end; padding-bottom: 26px; }
    .stage-gap-cards { gap: 10px; }

    /* ===== Approach ===== */
    .approach { padding: clamp(60px,8vw,104px) var(--gutter); }
    .approach__head { max-width: 640px; margin-bottom: 50px; }
    .approach__head h2 { font-family: var(--serif); font-size: clamp(28px,4.2vw,42px); line-height: 1.12; letter-spacing: -0.4px; }
    .steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; }
    .step { padding-top: 24px; border-top: 2px solid var(--soft); }
    .step__n { font-family: var(--serif); font-size: 15px; color: var(--accent); font-weight: 600; margin-bottom: 14px; }
    .step__title { font-family: var(--serif); font-weight: 500; font-size: 21px; margin-bottom: 9px; }
    .step__desc { font-size: 14.5px; line-height: 1.62; color: var(--body); }

    /* ===== Quote band ===== */
    .quote { background: var(--blue); color: var(--bg); }
    .quote__inner { max-width: 900px; margin: 0 auto; padding: clamp(56px,8vw,96px) var(--gutter); text-align: center; }
    .quote__glyph { font-family: var(--serif); font-size: 60px; line-height: .5; color: rgba(242,244,246,0.45); }
    .quote__text { font-family: var(--serif); font-style: italic; font-size: clamp(22px,3.6vw,34px); line-height: 1.36; letter-spacing: -0.3px; margin-top: 18px; }
    .quote__attr { margin-top: 26px; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; font-weight: 600; color: rgba(242,244,246,0.8); }

    /* ===== About ===== */
    .about { padding: clamp(60px,8vw,104px) var(--gutter); }
    .about__cols { display: flex; flex-wrap: wrap; gap: clamp(36px,5vw,72px); }
    .about__main { flex: 1 1 440px; min-width: 300px; }
    .about__main h2 { font-family: var(--serif); font-size: clamp(28px,4.2vw,42px); line-height: 1.12; letter-spacing: -0.4px; margin-bottom: 24px; }
    .about__p { font-size: 16.5px; line-height: 1.66; color: var(--body); margin-bottom: 18px; }
    .about__p:last-of-type { margin-bottom: 30px; }
    .about-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 16px; }
    .about-stat { background: var(--band); border-radius: 14px; padding: 18px; }
    .about-stat__v { font-family: var(--serif); font-size: 26px; color: var(--blue); }
    .about-stat__l { font-size: 13px; color: var(--muted); font-weight: 500; margin-top: 3px; }

    .about__side { flex: 1 1 320px; min-width: 280px; }
    .cred-card { background: var(--white); border: 1px solid rgba(28,39,51,0.10); border-radius: 20px; padding: 30px 28px; }
    .cred-card__h { font-family: var(--serif); font-size: 20px; }
    .cred-card__rule { height: 1px; background: rgba(28,39,51,0.10); margin: 22px 0; }
    .cred-edu { font-size: 14.5px; line-height: 1.55; color: var(--body); margin-top: 4px; }
    .cred-edu .uni { color: var(--muted-2); }
    .cred-list { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
    .cred-list__item { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; color: var(--chip); }
    .cred-list__item .b { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); margin-top: 7px; flex: none; }
    .lang-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
    .lang-pill { padding: 6px 13px; border-radius: 999px; background: var(--band); font-size: 13px; font-weight: 500; color: var(--chip); }

    /* ===== Scope & Ethics ===== */
    .ethics__inner { max-width: var(--maxw); margin: 0 auto; padding: clamp(60px,8vw,104px) var(--gutter); }
    .ethics__head { max-width: 680px; margin-bottom: 44px; }
    .ethics__head h2 { font-family: var(--serif); font-size: clamp(28px,4.2vw,42px); line-height: 1.12; letter-spacing: -0.4px; margin-bottom: 18px; }
    .scope-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px; margin-bottom: 24px; }
    .scope-card { border-radius: 20px; padding: clamp(28px,3.5vw,38px); }
    .scope-card--can { background: var(--blue); color: #eaf1f7; }
    .scope-card--cant { background: var(--white); border: 1px solid rgba(28,39,51,0.12); }
    .scope-card h3 { font-family: var(--serif); font-weight: 500; font-size: 23px; margin-bottom: 20px; }
    .scope-card--can h3 { color: #fff; }
    .scope-card--cant h3 { color: var(--ink); }
    .scope-list { display: flex; flex-direction: column; gap: 13px; }
    .scope-list__item { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.5; }
    .scope-list__item .mark { font-weight: 700; flex: none; }
    .scope-card--can .mark { color: #9fc2dd; }
    .scope-card--cant .scope-list__item { color: var(--body); }
    .scope-card--cant .mark { color: var(--scope-marker); }
    .scope-card--cant strong { color: var(--ink); font-weight: 600; }

    .ethics-guidelines { background: var(--white); border: 1px solid rgba(28,39,51,0.12); border-radius: 20px; padding: clamp(28px,4vw,40px); }
    .ethics-guidelines h3 { font-family: var(--serif); font-weight: 500; font-size: 23px; color: var(--ink); margin-bottom: 24px; }
    .guideline-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 26px 40px; }
    .guideline__t { font-size: 15px; font-weight: 700; color: var(--blue); margin-bottom: 6px; }
    .guideline p { font-size: 14.5px; line-height: 1.6; color: var(--body); }

    /* ===== Testimonials ===== */
    .testimonials__inner { max-width: var(--maxw); margin: 0 auto; padding: clamp(60px,8vw,104px) var(--gutter); }
    .testimonials__head { max-width: 640px; margin-bottom: 44px; }
    .testimonials__head h2 { font-family: var(--serif); font-size: clamp(28px,4.2vw,42px); line-height: 1.12; letter-spacing: -0.4px; }
    .quote-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 22px; }
    .quote-card { margin: 0; background: var(--white); border: 1px solid rgba(28,39,51,0.10); border-radius: 20px;
      padding: 30px 28px; display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s; }
    .quote-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -22px rgba(28,39,51,0.35); }
    .quote-card__glyph { font-family: var(--serif); font-size: 46px; line-height: .4; color: var(--quote-glyph); margin-bottom: 18px; }
    .quote-card blockquote { margin: 0; font-size: 16.5px; line-height: 1.6; color: #2c3742; flex: 1; }
    .quote-card figcaption { margin-top: 22px; display: flex; align-items: center; gap: 13px; }
    .avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--soft); color: var(--blue);
      display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; flex: none; }
    .quote-card__who { display: block; font-weight: 600; color: var(--ink); font-size: 14.5px; }
    .quote-card__where { display: block; font-size: 13px; color: var(--muted-2); }

    /* ===== Blogs ===== */
    .writing__inner { max-width: var(--maxw); margin: 0 auto; padding: clamp(60px,8vw,104px) var(--gutter); }
    .writing__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 44px; }
    .writing__head h2 { font-family: var(--serif); font-size: clamp(28px,4.2vw,42px); line-height: 1.12; letter-spacing: -0.4px; max-width: 620px; }
    .writing__head p { max-width: 300px; font-size: 15px; line-height: 1.6; color: var(--muted); }
    .blog-list { display: flex; flex-direction: column; gap: 16px; }
    .blog-row { display: flex; gap: 22px; background: var(--white); border: 1px solid rgba(28,39,51,0.10);
      border-radius: 18px; overflow: hidden; transition: transform .22s, box-shadow .22s; }
    .blog-row:hover { transform: translateY(-3px); box-shadow: var(--shadow-card-hover); }
    .blog-row__cover { flex: 0 0 150px; align-self: stretch; background: var(--soft); min-height: 150px; }
    .blog-row__body { flex: 1; padding: 22px 24px 22px 0; display: flex; flex-direction: column; }
    .blog-row__meta { display: flex; gap: 9px; align-items: center; font-size: 11.5px; color: var(--blue);
      font-weight: 700; letter-spacing: .6px; text-transform: uppercase; margin-bottom: 11px; }
    .blog-row__meta .sep { color: #8fa7bd; }
    .blog-row__meta .read { color: var(--muted-2); }
    .blog-row__title { font-family: var(--serif); font-weight: 500; font-size: 22px; line-height: 1.22; margin-bottom: 9px; }
    .blog-row__excerpt { font-size: 14.5px; line-height: 1.58; color: var(--body); margin-bottom: 16px; }
    .blog-row__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; }
    .blog-row__date { font-size: 13px; color: var(--muted-2); }
    .blog-row__read { font-size: 14px; font-weight: 600; color: var(--blue); }

    /* ===== Contact / CTA ===== */
    .contact { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter) clamp(60px,8vw,100px); }
    .cta-card {
      background: linear-gradient(150deg, var(--grad-start), var(--blue) 60%, var(--blue-deep));
      color: #f4f7fa; border-radius: 28px; padding: clamp(44px,6vw,72px); text-align: center;
      box-shadow: 0 30px 60px -30px rgba(47,93,128,0.45);
    }
    .cta-card h2 { font-family: var(--serif); font-size: clamp(30px,5vw,52px); line-height: 1.08; letter-spacing: -0.5px; margin-bottom: 20px; }
    .cta-card p { font-size: clamp(16px,2vw,18.5px); line-height: 1.6; color: rgba(244,247,250,0.92); max-width: 560px; margin: 0 auto 36px; }
    .cta-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
    .cta-wa { background: var(--ink); color: var(--bg); padding: 16px 28px; font-size: 16px; }
    .cta-wa:hover { background: #141d27; }
    .cta-email { background: rgba(242,244,246,0.16); color: #f4f7fa; padding: 16px 28px; font-size: 16px; border: 1px solid rgba(242,244,246,0.4); }
    .cta-email:hover { background: rgba(242,244,246,0.26); }
    .cta-sub { margin-top: 30px; font-size: 14px; color: rgba(244,247,250,0.82); }

    /* ===== Footer ===== */
    .footer { border-top: 1px solid rgba(28,39,51,0.12); background: var(--band); }
    .footer__top { max-width: var(--maxw); margin: 0 auto; padding: 44px var(--gutter);
      display: flex; flex-wrap: wrap; gap: 28px; align-items: center; justify-content: space-between; }
    .footer__brand { display: flex; align-items: center; gap: 11px; }
    .footer__dot { width: 28px; height: 28px; border-radius: 50%; background: radial-gradient(circle at 32% 30%, #6f9bbf, #244a66); }
    .footer__name { font-family: var(--serif); font-size: 19px; font-weight: 500; }
    .footer__tag { font-size: 12.5px; color: #79818a; }
    .footer__links { display: flex; flex-wrap: wrap; gap: 22px; font-size: 14px; color: var(--body); font-weight: 500; }
    .footer__links a { transition: color .18s; }
    .footer__links a:hover { color: var(--blue); }
    .footer__legal { border-top: 1px solid rgba(28,39,51,0.10); padding: 16px var(--gutter); text-align: center; font-size: 12.5px; color: var(--muted-2); }

    /* ===== Responsive: sidebar → top bar ===== */
    @media (max-width: 720px) {
      .sidebar {
        position: static; height: auto; width: 100%; overflow-y: visible;
        border-right: none; border-bottom: 1px solid rgba(28,39,51,0.12);
        padding: 14px 20px; flex-direction: row; align-items: center; gap: 14px;
      }
      .pane { margin-left: 0; }
      .nav { flex-direction: row; flex-wrap: wrap; gap: 2px 4px; flex: 1 1 auto; }
      .nav__link { padding: 8px 11px; }
      .nav__dot { display: none; }
      .side-spacer { display: none; }
      .btn--wa-side { flex: 0 0 auto; }
      .btn--wa-side .cta-label { display: none; }
    }
    @media (max-width: 560px) {
      .blog-row { flex-direction: column; }
      .blog-row__cover { flex: 0 0 auto; width: 100%; min-height: 190px; }
      .blog-row__body { padding: 0 22px 22px; }
    }


/* ===== Blog post page ===== */
.post { max-width: 760px; padding-top: clamp(36px,5vw,64px); padding-bottom: clamp(48px,7vw,90px); }
.post__back { margin-bottom: 22px; }
.post__back a { color: var(--blue); font-weight: 600; font-size: 14px; }
.post__back a:hover { color: var(--blue-deep); }
.post__meta { font-size: 12.5px; letter-spacing: .6px; text-transform: uppercase; color: var(--blue); font-weight: 700; margin-bottom: 14px; }
.post__title { font-family: var(--serif); font-weight: 400; font-size: clamp(30px,4.6vw,46px); line-height: 1.1; letter-spacing: -0.4px; color: var(--ink); margin-bottom: 24px; }
.post__cover { border-radius: 18px; overflow: hidden; margin-bottom: 30px; aspect-ratio: 16/9; background: var(--soft); }
.post__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post__body { font-size: 17px; line-height: 1.72; color: var(--body); }
.post__body p { margin-bottom: 18px; }
.post__body h2 { font-family: var(--serif); font-weight: 500; font-size: 26px; color: var(--ink); margin: 32px 0 12px; }
.post__body h3 { font-family: var(--serif); font-weight: 500; font-size: 21px; color: var(--ink); margin: 26px 0 10px; }
.post__body ul, .post__body ol { margin: 0 0 18px 22px; }
.post__body li { margin-bottom: 8px; }
.post__body blockquote { border-left: 3px solid var(--accent); padding: 2px 0 2px 18px; margin: 0 0 18px; font-style: italic; color: var(--ink); }
.post__body a { color: var(--blue); text-decoration: underline; }
.post__cta { margin-top: 36px; padding-top: 26px; border-top: 1px solid rgba(28,39,51,0.12); }
