/*
Theme Name: ADM Agency
Theme URI: https://adm.agency
Author: ADM Agency (Jérémy Chevalier)
Description: Thème léger sur-mesure pour ADM Agency, consultant Google Ads. Fait maison, sans page builder. Polices auto-hébergées (RGPD), formulaire Contact Form 7 stylé, push dataLayer sur envoi.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: adm-agency
*/

/* ===== Polices auto-hébergées (RGPD) ===== */
@font-face{font-family:'Bricolage Grotesque';src:url(assets/fonts/BricolageGrotesque.woff2) format('woff2');font-weight:600 800;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url(assets/fonts/Inter.woff2) format('woff2');font-weight:400 600;font-style:normal;font-display:swap}

:root{
    --page:#F5F7FB; --card:#FFFFFF; --tint:#EEF2FB;
    --ink:#0B111E; --ink-2:#0A0D14;
    --txt:#111827; --txt-2:#54607A; --txt-3:#8791A6;
    --line:#E4E9F3; --line-2:#D3DAEA;
    --dtxt:#EEF3FA; --dtxt-2:#9AA7BD; --dtxt-3:#6C7A94; --dline:rgba(148,167,205,.16); --dline-2:rgba(148,167,205,.3);
    --ice:#A7ECFF; --cyan:#5FB2FF; --blue:#4C7BFF; --violet:#6E57FF;
    --accent:#3C64E6; --accent-2:#6E57FF;
    --grad:linear-gradient(120deg,#5FB2FF,#4C7BFF 50%,#6E57FF);
    --grad-ink:linear-gradient(120deg,#2E86D6,#3C64E6 48%,#6E57FF);
    --disp:'Bricolage Grotesque',system-ui,sans-serif;
    --body:'Inter',system-ui,sans-serif;
    --mono:'Inter',system-ui,sans-serif;
    --wrap:1140px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--page);color:var(--txt);font-family:var(--body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--violet);color:#fff}
  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
  h1,h2,h3,h4{font-family:var(--disp);font-weight:800;letter-spacing:-.02em;line-height:1.06}
  .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:10px}
  .eyebrow::before{content:"";width:22px;height:1px;background:var(--accent);opacity:.6}
  .grad{background:var(--grad-ink);-webkit-background-clip:text;background-clip:text;color:transparent}
  .grad-l{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

  .btn{font-family:var(--body);font-weight:600;font-size:15px;border:none;cursor:pointer;border-radius:11px;padding:13px 22px;display:inline-flex;align-items:center;gap:9px;transition:.2s;white-space:nowrap}
  .btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 22px -8px rgba(76,123,255,.55)}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(110,87,255,.6)}
  .btn-ghost{background:transparent;color:var(--txt);border:1px solid var(--line-2)}
  .btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
  .btn-ghost-d{background:transparent;color:var(--dtxt);border:1px solid var(--dline-2)}
  .btn-ghost-d:hover{border-color:var(--cyan);color:var(--cyan)}

  /* NAV */
  header{position:fixed;inset:0 0 auto 0;z-index:60;transition:background .3s,box-shadow .3s,border-color .3s;border-bottom:1px solid transparent}
  header.scrolled{background:rgba(245,247,251,.85);backdrop-filter:blur(14px);border-color:var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:76px}
  .brand{display:flex;align-items:center;gap:11px}
  .brand svg{height:40px;width:40px;display:block}
  .pinmark{width:46px;height:46px;margin:0 auto 14px;filter:drop-shadow(0 8px 18px rgba(76,123,255,.45))}
  .deco{position:absolute;pointer-events:none;z-index:0}
  .deco-res{width:540px;right:-110px;top:30px;opacity:.05;transform:rotate(10deg)}
  .deco-contact{width:440px;right:-90px;bottom:-90px;opacity:.06;transform:rotate(-8deg)}
  .sec.dark .wrap{position:relative;z-index:1}
  .card-c .cgrid{z-index:1}

  .brand .wm{display:inline-flex;flex-direction:column;align-items:center;line-height:1}
  .brand b{font-family:var(--disp);font-weight:800;font-size:21px;letter-spacing:-.5px;color:var(--txt);line-height:1}
  .brand .ag{font-family:var(--mono);font-size:10px;letter-spacing:1.2px;color:var(--txt-3);display:block;margin-top:3px;text-align:center}
  .navlinks{display:flex;gap:30px;align-items:center}
  .navlinks a{font-size:14.5px;color:var(--txt-2);transition:color .2s;font-weight:500}
  .navlinks a:hover{color:var(--txt)}
  .burger{display:none;background:none;border:none;color:var(--txt);font-size:24px;cursor:pointer}

  /* HERO (light) */
  .hero{position:relative;padding:150px 0 96px;overflow:hidden}
  .hero::before{content:"";position:absolute;top:-160px;right:-80px;width:640px;height:640px;border-radius:50%;
    background:radial-gradient(circle,rgba(76,123,255,.12),transparent 62%);z-index:0}
  .hero::after{content:"";position:absolute;bottom:-260px;left:-160px;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle,rgba(110,87,255,.10),transparent 64%);z-index:0}
  .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
  .hero h1{font-size:clamp(38px,5.4vw,62px);margin:22px 0 0;color:var(--txt)}
  .hero .lead{font-size:19px;color:var(--txt-2);max-width:560px;margin-top:22px}
  .hero .lead b{color:var(--txt);font-weight:600}
  .hero .nofluff{font-family:var(--mono);font-size:13.5px;color:var(--accent);margin-top:20px;display:inline-block;padding:8px 14px;border:1px solid var(--line-2);border-radius:9px;background:var(--card)}
  .cta-row{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .scarcity{font-size:13.5px;color:var(--txt-3);display:flex;align-items:center;gap:8px}
  .dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 9px #22c55e}

  /* dark KPI panel inside light hero */
  .panel{position:relative;border-radius:22px;padding:30px;background:linear-gradient(180deg,#141B2A,#0B0F18);
    box-shadow:0 30px 60px -30px rgba(11,17,30,.45);overflow:hidden}
  .panel::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(95,178,255,.14),rgba(110,87,255,.14));pointer-events:none}
  .panel .head{position:relative;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--dtxt-3);text-transform:uppercase}
  .panel .mark{display:block;margin:16px auto 22px;width:118px;height:118px;position:relative;animation:unfold 1.1s cubic-bezier(.2,.8,.2,1) both;transform-origin:center}
  @keyframes unfold{from{transform:scale(.5) rotate(-60deg);opacity:0}to{transform:none;opacity:1}}
  .readout{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .kpi{background:rgba(255,255,255,.04);border:1px solid var(--dline);border-radius:13px;padding:14px 16px}
  .kpi .v{font-family:var(--disp);font-weight:800;font-size:26px;line-height:1}
  .kpi .l{font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--dtxt-3);margin-top:7px;text-transform:uppercase}

  /* SECTIONS */
  section{position:relative}
  .sec{padding:100px 0}
  .sec-head{max-width:720px}
  .sec-head h2{font-size:clamp(30px,4vw,44px);margin:16px 0 0}
  .sec-head p{color:var(--txt-2);font-size:17.5px;margin-top:18px}

  /* pedagogical intro band */
  .plain{background:var(--tint);border:1px solid var(--line);border-radius:18px;padding:30px 34px;margin-top:44px;display:flex;gap:20px;align-items:flex-start}
  .plain .q{font-family:var(--disp);font-weight:800;font-size:34px;color:var(--accent);line-height:1;flex-shrink:0}
  .plain p{font-size:17px;color:var(--txt);margin:0}
  .plain p b{font-weight:600}

  /* PILLARS */
  .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
  .pillar{position:relative;border:1px solid var(--line);border-radius:18px;padding:30px 26px 32px;background:var(--card);transition:border-color .3s,transform .3s,box-shadow .3s}
  .pillar:hover{border-color:var(--line-2);transform:translateY(-4px);box-shadow:0 20px 40px -26px rgba(11,17,30,.3)}
  .pillar .step{font-family:var(--mono);font-size:12px;letter-spacing:2px;color:var(--accent);text-transform:uppercase}
  .pillar .step b{color:var(--txt-3);font-weight:400;margin-left:8px}
  .pillar .ic{width:48px;height:48px;border-radius:13px;background:linear-gradient(135deg,rgba(95,178,255,.14),rgba(110,87,255,.14));display:grid;place-items:center;margin:16px 0 18px;border:1px solid var(--line)}
  .pillar .ic svg{width:24px;height:24px;stroke:var(--accent);fill:none;stroke-width:1.7}
  .pillar h3{font-size:20px;font-weight:700}
  .pillar>p{color:var(--txt-2);font-size:15px;margin-top:11px}
  .pillar .clair{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:14.5px;color:var(--txt)}
  .pillar .clair b{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:6px}

  /* CASE STUDY (dark) */
  .dark{background:var(--ink-2);color:var(--dtxt)}
  .dark .sec-head p{color:var(--dtxt-2)}
  .dark .eyebrow{color:var(--cyan)}.dark .eyebrow::before{background:var(--cyan)}
  .case-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:flex-end}
  .case-stats{display:flex;gap:14px;flex-wrap:wrap}
  .stat{background:rgba(255,255,255,.04);border:1px solid var(--dline);border-radius:14px;padding:16px 20px;min-width:150px}
  .stat .v{font-family:var(--disp);font-weight:800;font-size:30px}
  .stat .l{font-family:var(--mono);font-size:11px;color:var(--dtxt-3);letter-spacing:1px;margin-top:6px;text-transform:uppercase}
  .context{font-family:var(--mono);font-size:13.5px;color:var(--dtxt-2);margin-top:34px;padding:16px 20px;border-left:2px solid var(--cyan);background:rgba(255,255,255,.03);border-radius:0 8px 8px 0}
  .context b{color:var(--dtxt)}
  .timeline{margin-top:46px;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
  .tl-line{position:absolute;top:22px;left:6%;right:6%;height:2px;background:linear-gradient(90deg,var(--cyan),var(--violet))}
  .tl{position:relative;padding:0 16px}
  .tl .mk{width:44px;height:44px;border-radius:50%;background:var(--ink-2);border:2px solid var(--cyan);display:grid;place-items:center;font-family:var(--mono);font-weight:700;font-size:14px;color:var(--ice);position:relative;z-index:1}
  .tl:nth-child(3) .mk{border-color:#4f8fff}.tl:nth-child(4) .mk{border-color:#5f77ff}.tl:nth-child(5) .mk{border-color:var(--violet)}
  .tl h4{font-family:var(--disp);font-weight:700;font-size:17px;margin:20px 0 8px;color:var(--dtxt)}
  .tl p{color:var(--dtxt-2);font-size:14px}
  .tl .res{display:block;margin-top:12px;font-family:var(--mono);font-size:12.5px;color:var(--ice);background:linear-gradient(120deg,rgba(95,178,255,.14),rgba(110,87,255,.14));border:1px solid var(--dline-2);border-radius:8px;padding:9px 12px}

  /* OFFERS */
  .offers{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}
  .offer{border:1px solid var(--line);border-radius:20px;padding:34px 32px;background:var(--card);position:relative;display:flex;flex-direction:column}
  .offer.feat{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;border:2px solid transparent;box-shadow:0 24px 50px -30px rgba(76,123,255,.5)}
  .offer .tag{position:absolute;top:-13px;left:32px;font-family:var(--mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;background:var(--grad);color:#fff;padding:5px 13px;border-radius:20px}
  .offer h3{font-size:23px;font-weight:700}
  .offer .desc{color:var(--txt-2);font-size:15px;margin:14px 0 22px;flex:1}
  .offer .from{font-family:var(--mono);font-size:12px;color:var(--txt-3)}
  .offer .price{font-family:var(--disp);font-weight:800;font-size:30px;margin:2px 0 4px}
  .offer .price small{font-family:var(--mono);font-size:13px;color:var(--txt-3);font-weight:400;letter-spacing:0}
  .offer .btn{margin-top:22px;justify-content:center}

  /* ZONE */
  .zone{background:var(--tint)}
  .geo-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .geo p{color:var(--txt-2);font-size:16px;margin-top:16px}
  .geo b{color:var(--txt);font-weight:600}
  .zones{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
  .chip{font-family:var(--mono);font-size:12.5px;color:var(--txt-2);border:1px solid var(--line-2);background:var(--card);border-radius:20px;padding:7px 14px}
  .sectors{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .sector{border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--card)}
  .sector .t{font-family:var(--disp);font-weight:700;font-size:16px}
  .sector .s{color:var(--txt-2);font-size:14px;margin-top:6px}
  .map{aspect-ratio:1/1;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at 62% 34%,rgba(76,123,255,.14),transparent 55%),var(--card);position:relative;overflow:hidden;display:grid;place-items:center}
  .map .rings{position:absolute;inset:0;background:repeating-radial-gradient(circle at 62% 34%,transparent 0 38px,rgba(76,123,255,.06) 38px 39px)}
  .pin{position:relative;text-align:center}
  .pin .dotpin{width:16px;height:16px;background:var(--grad);border-radius:50%;margin:0 auto 12px;box-shadow:0 0 0 8px rgba(76,123,255,.15),0 0 0 18px rgba(76,123,255,.07)}
  .pin .city{font-family:var(--disp);font-weight:800;font-size:24px;color:var(--txt)}
  .pin .sub{font-family:var(--mono);font-size:12px;color:var(--txt-3);letter-spacing:2px;margin-top:4px}

  /* FAQ */
  .faq{max-width:860px;margin:36px auto 0}
  .qa{border-bottom:1px solid var(--line)}
  .qa summary{list-style:none;cursor:pointer;padding:24px 0;font-family:var(--disp);font-weight:700;font-size:18px;color:var(--txt);display:flex;justify-content:space-between;gap:20px;align-items:center}
  .qa summary::-webkit-details-marker{display:none}
  .qa .plus{color:var(--accent);font-size:24px;flex-shrink:0;transition:transform .3s;font-weight:400}
  .qa[open] .plus{transform:rotate(45deg)}
  .qa .a{color:var(--txt-2);font-size:15.5px;padding:0 40px 26px 0}
  .qa .a b{color:var(--txt);font-weight:600}

  /* CONTACT (dark) */
  .contact .card-c{border-radius:26px;padding:56px;background:linear-gradient(180deg,#141B2A,#0A0D14);position:relative;overflow:hidden;box-shadow:0 40px 80px -40px rgba(11,17,30,.5)}
  .contact .card-c::before{content:"";position:absolute;top:-120px;right:-100px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(110,87,255,.2),transparent 60%)}
  .cgrid{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}
  .cgrid h2{color:var(--dtxt)}
  .cgrid .lead{color:var(--dtxt-2);margin-top:16px;font-size:16px}
  .cgrid .lead b{color:var(--ice);font-weight:600}
  .form-note{font-family:var(--mono);font-size:12.5px;color:var(--dtxt-3);margin-top:20px;line-height:1.7}
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .field{margin-top:14px}
  .field label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--dtxt-3);margin-bottom:7px}
  .field input,.field select,.field textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--dline-2);border-radius:10px;padding:13px 14px;color:var(--dtxt);font-family:var(--body);font-size:15px;transition:border-color .2s,box-shadow .2s}
  .field input::placeholder,.field textarea::placeholder{color:var(--dtxt-3)}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(95,178,255,.18)}
  .field select{color:var(--dtxt)}.field select option{background:#141B2A}
  .field textarea{resize:vertical;min-height:92px}

  /* FOOTER (dark) */
  footer{background:var(--ink-2);color:var(--dtxt-2);padding:58px 0 40px}
  .foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;align-items:flex-start}
  .foot-brand svg{height:40px}
  .foot-brand p{color:var(--dtxt-3);font-size:13.5px;max-width:340px;margin-top:16px;font-family:var(--mono);line-height:1.7}
  .foot-links{display:flex;gap:52px}
  .foot-col h5{font-family:var(--mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--dtxt-3);margin-bottom:14px}
  .foot-col a{display:block;color:var(--dtxt-2);font-size:14px;margin-bottom:10px}
  .foot-col a:hover{color:var(--cyan)}
  .foot-bottom{margin-top:44px;padding-top:24px;border-top:1px solid var(--dline);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--mono);font-size:12px;color:var(--dtxt-3)}

  .cta-center{margin-top:52px;text-align:center}
  .photo{position:relative}
  .photo-pill{position:absolute;top:16px;left:16px;z-index:3;background:var(--grad);color:#fff;font-size:12px;font-weight:600;padding:7px 14px;border-radius:20px;box-shadow:0 10px 22px -8px rgba(76,123,255,.6)}
  .photo-frame{position:relative;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:linear-gradient(#0d1220,#0d1220) padding-box,var(--grad) border-box;border:2px solid transparent;box-shadow:0 30px 60px -30px rgba(11,17,30,.45)}
  .photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1}
  .photo-glow{position:absolute;inset:0;z-index:0;background:radial-gradient(62% 52% at 50% 34%,rgba(76,123,255,.28),transparent 72%)}
  .photo-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--dtxt-3);text-align:center;padding:24px}
  .photo-ph svg{width:92px;height:92px;opacity:.55;color:var(--dtxt-3)}
  .photo-ph b{font-weight:600;color:var(--dtxt-2);font-size:15px}
  .photo-ph small{font-size:12.5px;color:var(--dtxt-3)}
  .photo-name{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px 26px 20px;background:linear-gradient(transparent,rgba(255,255,255,.65) 42%,rgba(255,255,255,.95))}
  .photo-name b{display:block;font-family:var(--disp);font-weight:800;font-size:21px;color:var(--txt)}
  .photo-name span{font-size:13.5px;color:var(--txt-2)}
  .rv{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}
  .rv.in{opacity:1;transform:none}

  @media(max-width:900px){
    .hero-grid,.geo-grid,.cgrid{grid-template-columns:1fr;gap:40px}
    .pillars,.offers,.sectors,.frow{grid-template-columns:1fr}
    .timeline{grid-template-columns:1fr 1fr;gap:36px 20px}.tl-line{display:none}
    .navlinks{position:fixed;inset:76px 0 auto 0;background:rgba(245,247,251,.98);flex-direction:column;padding:24px 28px;gap:20px;border-bottom:1px solid var(--line);display:none}
    .navlinks.open{display:flex}.navlinks a{font-size:16px}
    .burger{display:block}.nav .btn-primary{display:none}
    .contact .card-c{padding:32px 22px}.wrap{padding:0 20px}
    .plain{flex-direction:column;gap:10px}
  }
  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

/* ===== Contact Form 7 : calage sur le design ===== */
.contact .wpcf7{position:relative;z-index:1}
.contact .wpcf7 p{margin:0}
.contact .wpcf7 .field label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--dtxt-3);margin-bottom:0}
.contact .wpcf7 .field{margin-top:14px}
.contact .wpcf7 input[type=text],.contact .wpcf7 input[type=email],.contact .wpcf7 input[type=url],.contact .wpcf7 select,.contact .wpcf7 textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--dline-2);border-radius:10px;padding:13px 14px;color:var(--dtxt);font-family:var(--body);font-size:15px;transition:border-color .2s,box-shadow .2s;margin-top:7px}
.contact .wpcf7 input:focus,.contact .wpcf7 select:focus,.contact .wpcf7 textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(95,178,255,.18)}
.contact .wpcf7 textarea{resize:vertical;min-height:92px}
.contact .wpcf7 select option{background:#141B2A}
.contact .wpcf7 .wpcf7-submit{width:100%;margin-top:20px;justify-content:center}
.contact .wpcf7-not-valid-tip{color:#ffb4b4;font-size:12px;font-family:var(--body);text-transform:none;letter-spacing:0}
.contact .wpcf7 .wpcf7-response-output{border-radius:10px;border-color:var(--dline-2)!important;color:var(--dtxt-2);font-family:var(--body);font-size:14px;margin:18px 0 0}
.contact .wpcf7-spinner{background-color:var(--cyan)}

/* ===== Blog / contenu (articles pour SEO & GEO) ===== */
.page-hero{padding:140px 0 40px;background:var(--page)}
.page-hero .eyebrow{margin-bottom:14px}
.page-hero h1{font-size:clamp(30px,4.4vw,48px);color:var(--txt);max-width:820px}
.page-hero .meta{color:var(--txt-3);font-family:var(--mono);font-size:13px;margin-top:16px}
.entry{max-width:760px;margin:0 auto;padding:20px 0 90px}
.entry-content{color:var(--txt);font-size:17.5px;line-height:1.75}
.entry-content>*+*{margin-top:22px}
.entry-content h2{font-family:var(--disp);font-weight:800;font-size:28px;color:var(--txt);margin-top:44px;letter-spacing:-.02em}
.entry-content h3{font-family:var(--disp);font-weight:700;font-size:21px;color:var(--txt);margin-top:32px}
.entry-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.entry-content ul,.entry-content ol{padding-left:22px}
.entry-content li{margin-top:8px}
.entry-content img{border-radius:14px;max-width:100%;height:auto}
.entry-content blockquote{border-left:3px solid var(--accent);padding:6px 0 6px 20px;color:var(--txt-2);font-style:italic}
.entry-content code{font-family:var(--mono);background:var(--tint);padding:2px 6px;border-radius:6px;font-size:.9em}
.postcards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:44px 0 90px}
.postcard{border:1px solid var(--line);border-radius:18px;background:var(--card);overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;flex-direction:column}
.postcard:hover{transform:translateY(-4px);box-shadow:0 20px 40px -26px rgba(11,17,30,.3);border-color:var(--line-2)}
.postcard .thumb{aspect-ratio:16/9;background:var(--tint);overflow:hidden}
.postcard .thumb img{width:100%;height:100%;object-fit:cover}
.postcard .body{padding:22px 24px;display:flex;flex-direction:column;flex:1}
.postcard h3{font-family:var(--disp);font-weight:700;font-size:19px;color:var(--txt)}
.postcard p{color:var(--txt-2);font-size:14.5px;margin-top:10px;flex:1}
.postcard .more{margin-top:16px;color:var(--accent);font-weight:600;font-size:14px}
.pagination{display:flex;gap:10px;justify-content:center;padding-bottom:80px}
.pagination .page-numbers{padding:10px 15px;border:1px solid var(--line-2);border-radius:10px;color:var(--txt-2)}
.pagination .current{background:var(--grad);color:#fff;border-color:transparent}
@media(max-width:900px){.postcards{grid-template-columns:1fr}}

html, body {
  overflow-x: hidden;
  max-width: 100%;
}

h1 {
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}