
    :root{
      /* Theme palette */
      --pine:#1f4b3a;
      --river:#2a5b7c;
      --ember:#d26a2c;
      --bone:#f3efe6;
      --char:#1d1a17;

      /* Surfaces */
      --kraft:#efe6d6;
      --vellum:#f7f2e9;
      --frost:rgba(220,235,238,.45);

      /* Ink + UI */
      --ink:#1e1b18;
      --muted:#514a44;
      --hair:rgba(29,26,23,.18);
      --hair-2:rgba(29,26,23,.12);

      /* Effects */
      --shadow: 0 18px 50px rgba(13,12,10,.18);
      --shadow-soft: 0 12px 30px rgba(13,12,10,.12);
      --radius: 18px;
      --radius-sm: 12px;

      /* Typography */
      --serif: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
      --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

      /* Layout */
      --max: 1160px;
      --pad: 18px;
    }

    *{ box-sizing:border-box; }
    html,body{ height:100%; }
    body{
      margin:0;
      color:var(--ink);
      background:
        radial-gradient(1200px 800px at 20% 5%, rgba(42,91,124,.12), transparent 60%),
        radial-gradient(1000px 700px at 85% 20%, rgba(210,106,44,.10), transparent 65%),
        linear-gradient(180deg, var(--bone), #f6f1e8 35%, #f0eadf 70%, #efe6d6);
      font-family: var(--sans);
      line-height:1.55;
      overflow-x:hidden;
    }

    /* tactile paper + topo ghosting */
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      background:
        /* kraft speckle */
        radial-gradient(circle at 10% 20%, rgba(29,26,23,.05) 0 1px, transparent 2px),
        radial-gradient(circle at 55% 40%, rgba(29,26,23,.04) 0 1px, transparent 2px),
        radial-gradient(circle at 85% 68%, rgba(29,26,23,.04) 0 1px, transparent 2px),
        radial-gradient(circle at 25% 78%, rgba(29,26,23,.035) 0 1px, transparent 2px),
        radial-gradient(circle at 70% 85%, rgba(29,26,23,.03) 0 1px, transparent 2px),
        /* topo-map ghosting */
        repeating-radial-gradient(circle at 30% 40%, rgba(31,75,58,.05) 0 1px, transparent 1px 14px),
        repeating-radial-gradient(circle at 75% 20%, rgba(42,91,124,.045) 0 1px, transparent 1px 16px);
      mix-blend-mode:multiply;
      opacity:.55;
      filter: contrast(1.02);
    }

    a{ color:inherit; text-decoration:none; }
    a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible{
      outline:3px solid rgba(210,106,44,.55);
      outline-offset:3px;
      border-radius:10px;
    }

    .wrap{
      width:min(var(--max), 100%);
      margin-inline:auto;
      padding-inline: var(--pad);
    }

    /* Header */
    header{
      position:sticky;
      top:0;
      z-index:50;
      background:
        linear-gradient(180deg, rgba(243,239,230,.92), rgba(243,239,230,.72));
      backdrop-filter: blur(10px);
      border-bottom:1px solid var(--hair);
    }

    .mast{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:14px 0;
    }

    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width: 210px;
    }
    .mark{
      width:44px; height:44px;
      border-radius: 14px;
      background:
        linear-gradient(135deg, rgba(31,75,58,.95), rgba(42,91,124,.9));
      box-shadow: 0 10px 24px rgba(31,75,58,.18);
      position:relative;
      overflow:hidden;
      border:1px solid rgba(243,239,230,.35);
    }
    .mark::before{
      content:"";
      position:absolute;
      inset:-10px;
      background:
        radial-gradient(circle at 30% 40%, rgba(243,239,230,.28), transparent 55%),
        repeating-linear-gradient(45deg, rgba(243,239,230,.18), rgba(243,239,230,.18) 2px, transparent 2px, transparent 7px);
      opacity:.55;
      transform: rotate(6deg);
    }
    .brand h1{
      margin:0;
      font-family: var(--serif);
      font-size: 14px;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--char);
      line-height:1.15;
    }
    .brand .sub{
      display:block;
      font-family: var(--sans);
      font-size: 12px;
      letter-spacing:.02em;
      text-transform:none;
      color: var(--muted);
      margin-top:2px;
    }

    /* NAV rule: only ul/li/a inside nav */
    nav ul{
      list-style:none;
      display:flex;
      gap:18px;
      padding:0;
      margin:0;
      align-items:center;
      justify-content:center;
    }
    nav a{
      display:inline-block;
      padding:10px 10px;
      font-size: 13px;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: rgba(29,26,23,.82);
      position:relative;
      transition: color .35s ease, transform .35s ease;
      border-radius: 12px;
    }
    nav a::after{
      content:"";
      position:absolute;
      left:10px;
      right:10px;
      bottom:6px;
      height:2px;
      background: linear-gradient(90deg, rgba(31,75,58,.0), rgba(31,75,58,.85), rgba(31,75,58,.0));
      transform: scaleX(0);
      transform-origin:center;
      transition: transform .4s ease;
      border-radius:2px;
    }
    nav a::before{
      content:"";
      position:absolute;
      width:6px; height:6px;
      border-radius:50%;
      left:8px;
      bottom:5px;
      background: rgba(31,75,58,.75);
      opacity:0;
      transition: opacity .35s ease;
    }
    nav a:hover{
      color: var(--pine);
      transform: translateY(-1px);
    }
    nav a:hover::after{ transform: scaleX(1); }
    nav a:hover::before{ opacity:1; }

    .head-actions{
      display:flex;
      gap:10px;
      align-items:center;
      justify-content:flex-end;
      min-width: 210px;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:10px 14px;
      border-radius: 999px;
      border:1px solid rgba(29,26,23,.22);
      background:
        linear-gradient(180deg, rgba(247,242,233,.9), rgba(239,230,214,.9));
      color: rgba(29,26,23,.86);
      font-size: 13px;
      letter-spacing:.08em;
      text-transform: uppercase;
      box-shadow: 0 10px 18px rgba(29,26,23,.08);
      transition: transform .35s ease, box-shadow .45s ease, border-color .35s ease, background .35s ease;
      cursor:pointer;
      white-space:nowrap;
    }
    .btn:hover{
      transform: translateY(-1px);
      border-color: rgba(210,106,44,.55);
      box-shadow:
        0 14px 26px rgba(29,26,23,.12),
        0 0 0 4px rgba(210,106,44,.10);
    }
    .btn.primary{
      background:
        linear-gradient(180deg, rgba(31,75,58,.95), rgba(24,56,44,.95));
      color: rgba(243,239,230,.95);
      border-color: rgba(243,239,230,.22);
    }
    .btn.primary:hover{
      box-shadow:
        0 16px 28px rgba(31,75,58,.18),
        0 0 0 4px rgba(42,91,124,.14);
      border-color: rgba(243,239,230,.35);
    }

    /* Mobile burger menu with <details> + nav outside rule preserved */
    .menu{
      display:inline-flex;
      align-items:center;
      gap:10px;
      position:relative;
    }
    .menu summary{
      list-style:none;
      cursor:pointer;
      user-select:none;
      padding:10px 12px;
      border-radius: 999px;
      border:1px solid rgba(29,26,23,.22);
      background: rgba(247,242,233,.75);
      box-shadow: 0 10px 18px rgba(29,26,23,.08);
      transition: transform .35s ease, box-shadow .45s ease, border-color .35s ease;
      font-size: 13px;
      letter-spacing:.08em;
      text-transform: uppercase;
    }
    .menu summary::-webkit-details-marker{ display:none; }
    .menu summary:hover{
      transform: translateY(-1px);
      border-color: rgba(31,75,58,.45);
      box-shadow:
        0 14px 26px rgba(29,26,23,.12),
        0 0 0 4px rgba(31,75,58,.10);
    }
    .menu-panel{
      position:absolute;
      right:0;
      top: calc(100% + 10px);
      width: min(92vw, 520px);
      background:
        linear-gradient(180deg, rgba(247,242,233,.96), rgba(239,230,214,.96));
      border:1px solid rgba(29,26,23,.18);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding:12px;
      overflow:hidden;
    }
    .menu-panel::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        repeating-linear-gradient(90deg, rgba(29,26,23,.045), rgba(29,26,23,.045) 1px, transparent 1px, transparent 16px),
        radial-gradient(600px 280px at 20% 20%, rgba(42,91,124,.10), transparent 60%);
      opacity:.6;
      pointer-events:none;
      mix-blend-mode:multiply;
    }
    .menu-panel nav{ position:relative; z-index:1; }
    .menu-panel nav ul{
      flex-direction:column;
      align-items:stretch;
      gap:6px;
    }
    .menu-panel nav a{
      padding:12px 12px;
      border-radius: 14px;
      background: rgba(243,239,230,.55);
      border:1px dashed rgba(29,26,23,.20);
    }
    .menu-panel nav a::after{ left:12px; right:12px; bottom:8px; }

    /* HERO */
    .hero{
      min-height: calc(100vh - 78px);
      display:grid;
      align-items:stretch;
      padding: 18px 0 28px;
    }

    .hero-grid{
      display:grid;
      gap:16px;
      grid-template-columns: 1fr;
      align-items:stretch;
    }

    .hero-copy{
      background:
        linear-gradient(180deg, rgba(247,242,233,.88), rgba(239,230,214,.88));
      border:1px solid rgba(29,26,23,.16);
      border-radius: var(--radius);
      box-shadow: var(--shadow-soft);
      padding: 18px;
      position:relative;
      overflow:hidden;
    }
    .hero-copy::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(900px 420px at 10% 10%, rgba(31,75,58,.14), transparent 60%),
        repeating-linear-gradient(0deg, rgba(29,26,23,.045), rgba(29,26,23,.045) 1px, transparent 1px, transparent 14px);
      opacity:.65;
      pointer-events:none;
      mix-blend-mode:multiply;
    }
    .hero-copy > *{ position:relative; z-index:1; }

    .kicker{
      display:inline-flex;
      align-items:center;
      gap:10px;
      font-size: 12px;
      letter-spacing:.14em;
      text-transform: uppercase;
      color: rgba(31,75,58,.92);
      background: rgba(31,75,58,.07);
      border:1px dashed rgba(31,75,58,.25);
      padding:8px 12px;
      border-radius:999px;
    }
    .kicker i{
      width:10px; height:10px;
      border-radius: 50%;
      background: var(--ember);
      box-shadow: 0 0 0 4px rgba(210,106,44,.12);
      display:inline-block;
    }

    .hero h2{
      margin:14px 0 10px;
      font-family: var(--serif);
      font-size: clamp(28px, 4.2vw, 48px);
      letter-spacing: .08em;
      text-transform: uppercase;
      line-height:1.1;
      color: rgba(29,26,23,.92);
      text-shadow: 0 1px 0 rgba(243,239,230,.55);
    }
    .hero p{
      margin: 0 0 14px;
      color: rgba(29,26,23,.82);
      max-width: 62ch;
      font-size: 15px;
    }

    .hero-meta{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top: 14px;
    }
    .pill{
      display:inline-flex;
      gap:10px;
      align-items:center;
      padding:10px 12px;
      border-radius: 999px;
      background: rgba(243,239,230,.62);
      border:1px solid rgba(29,26,23,.14);
      font-size: 13px;
      color: rgba(29,26,23,.78);
    }
    .pill .dot{
      width:9px; height:9px;
      border-radius: 50%;
      background: rgba(42,91,124,.95);
      box-shadow: 0 0 0 4px rgba(42,91,124,.12);
    }

    /* Slider (CSS only) */
    .slider{
      max-height: 600px;
      height: min(56vh, 600px);
      border-radius: var(--radius);
      border:1px solid rgba(29,26,23,.16);
      overflow:hidden;
      box-shadow: var(--shadow);
      position:relative;
      background: rgba(29,26,23,.06);
    }
    .slides{
      display:flex;
      width:300%;
      height:100%;
      animation: drift 18s ease-in-out infinite;
    }
    .slide{
      width: calc(100% / 3);
      height:100%;
      position:relative;
      overflow:hidden;
      display:grid;
      align-items:end;
    }
    .slide img{
      width:100%;
      height:100%;
      object-fit:cover;
      filter: contrast(1.05) saturate(.9) sepia(.08);
      transform: scale(1.03);
    }
    .slide::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg, rgba(29,26,23,.05), rgba(29,26,23,.62)),
        radial-gradient(900px 420px at 20% 20%, rgba(31,75,58,.22), transparent 60%),
        radial-gradient(800px 380px at 85% 35%, rgba(210,106,44,.16), transparent 60%);
      mix-blend-mode:multiply;
    }
    .cap{
      position:absolute;
      left:14px;
      right:14px;
      bottom:12px;
      padding:12px 12px;
      border-radius: 14px;
      background: rgba(243,239,230,.86);
      border:1px dashed rgba(29,26,23,.22);
      box-shadow: 0 10px 18px rgba(29,26,23,.10);
      backdrop-filter: blur(6px);
    }
    .cap strong{
      display:block;
      font-family: var(--serif);
      letter-spacing:.08em;
      text-transform: uppercase;
      font-size: 13px;
      margin-bottom:4px;
    }
    .cap span{
      display:block;
      font-size: 13px;
      color: rgba(29,26,23,.75);
    }

    @keyframes drift{
      0%, 26% { transform: translateX(0%); }
      33%, 59%{ transform: translateX(-33.3333%); }
      66%, 92%{ transform: translateX(-66.6666%); }
      100%{ transform: translateX(0%); }
    }

    /* Sections */
    main{ padding: 22px 0 10px; }

    .section{
      margin: 18px 0 26px;
    }
    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:14px;
      margin-bottom: 12px;
    }
    .section-head h3{
      margin:0;
      font-family: var(--serif);
      text-transform: uppercase;
      letter-spacing: .10em;
      font-size: 18px;
      color: rgba(29,26,23,.90);
    }
    .section-head p{
      margin:0;
      color: rgba(29,26,23,.68);
      font-size: 13px;
      max-width: 58ch;
    }

    .grid{
      display:grid;
      grid-template-columns: 1fr;
      gap: 12px;
    }

    article.card{
      border-radius: var(--radius);
      overflow:hidden;
      border:1px solid rgba(29,26,23,.16);
      background: rgba(247,242,233,.85);
      box-shadow: 0 10px 18px rgba(29,26,23,.08);
      transition: transform .45s ease, box-shadow .45s ease, border-color .45s ease;
      position:relative;
    }
    article.card:hover{
      transform: translateY(-3px);
      box-shadow: 0 18px 34px rgba(29,26,23,.14);
      border-color: rgba(31,75,58,.35);
    }

    .card .media{
      position:relative;
      aspect-ratio: 16 / 10;
      overflow:hidden;
      background: rgba(29,26,23,.08);
    }
    .card .media img{
      width:100%;
      height:100%;
      object-fit:cover;
      filter: contrast(1.06) saturate(.92);
      transition: transform .6s ease, filter .6s ease;
      transform: scale(1.02);
    }
    .card:hover .media img{
      transform: scale(1.08);
      filter: contrast(1.08) saturate(.95);
    }
    .card .media::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg, rgba(29,26,23,.02), rgba(29,26,23,.45));
      opacity:.9;
    }

    .card .body{
      padding: 14px 14px 16px;
      position:relative;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:8px;
      font-size: 11px;
      letter-spacing:.14em;
      text-transform: uppercase;
      padding:7px 10px;
      border-radius: 999px;
      border:1px dashed rgba(29,26,23,.22);
      background: rgba(243,239,230,.72);
      color: rgba(29,26,23,.72);
    }
    .tag .bead{
      width:7px; height:7px; border-radius:50%;
      background: var(--river);
      box-shadow: 0 0 0 4px rgba(42,91,124,.12);
    }
    .card h4{
      margin:10px 0 8px;
      font-family: var(--serif);
      letter-spacing:.05em;
      font-size: 16px;
      line-height:1.25;
    }
    .card p{
      margin:0 0 12px;
      color: rgba(29,26,23,.74);
      font-size: 14px;
    }
    .card .meta{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding-top:10px;
      border-top:1px solid var(--hair-2);
      color: rgba(29,26,23,.62);
      font-size: 12px;
    }
    .card .meta a{
      color: rgba(31,75,58,.95);
      letter-spacing:.12em;
      text-transform: uppercase;
      font-size: 12px;
      position:relative;
      padding-bottom:2px;
    }
    .card .meta a::after{
      content:"";
      position:absolute;
      left:0; right:0; bottom:0;
      height:2px;
      background: linear-gradient(90deg, rgba(31,75,58,.0), rgba(31,75,58,.9), rgba(31,75,58,.0));
      transform: scaleX(.6);
      transform-origin:center;
      transition: transform .35s ease;
    }
    .card .meta a:hover::after{ transform: scaleX(1); }

    /* Section individuality */
    .s1 article.card{
      background:
        linear-gradient(180deg, rgba(247,242,233,.90), rgba(239,230,214,.86));
    }
    .s1 article.card::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:
        radial-gradient(600px 180px at 20% 10%, rgba(31,75,58,.10), transparent 60%),
        repeating-linear-gradient(90deg, rgba(29,26,23,.035), rgba(29,26,23,.035) 1px, transparent 1px, transparent 18px);
      opacity:.55;
      mix-blend-mode:multiply;
    }

    .s2 article.card{
      background:
        linear-gradient(180deg, rgba(238,246,248,.76), rgba(247,242,233,.88));
      border-color: rgba(42,91,124,.18);
    }
    .s2 article.card:hover{
      border-color: rgba(42,91,124,.42);
      box-shadow: 0 18px 34px rgba(42,91,124,.12);
    }
    .s2 .tag .bead{ background: var(--pine); box-shadow: 0 0 0 4px rgba(31,75,58,.12); }

    .s3 article.card{
      background:
        linear-gradient(180deg, rgba(252,245,238,.84), rgba(247,242,233,.90));
      border-color: rgba(210,106,44,.20);
    }
    .s3 article.card:hover{
      border-color: rgba(210,106,44,.48);
      box-shadow: 0 18px 34px rgba(210,106,44,.12);
    }
    .s3 .tag{
      background: rgba(210,106,44,.08);
      border-color: rgba(210,106,44,.28);
    }
    .s3 .tag .bead{ background: var(--ember); box-shadow: 0 0 0 4px rgba(210,106,44,.12); }

    /* Blog list */
    .block{
      margin: 18px 0 26px;
      border-radius: var(--radius);
      border:1px solid rgba(29,26,23,.16);
      background:
        linear-gradient(180deg, rgba(247,242,233,.92), rgba(239,230,214,.88));
      box-shadow: var(--shadow-soft);
      overflow:hidden;
      position:relative;
    }
    .block::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:
        repeating-linear-gradient(0deg, rgba(29,26,23,.040), rgba(29,26,23,.040) 1px, transparent 1px, transparent 14px),
        radial-gradient(900px 320px at 70% 10%, rgba(42,91,124,.10), transparent 65%);
      opacity:.6;
      mix-blend-mode:multiply;
    }
    .block > *{ position:relative; z-index:1; }

    .block-head{
      padding: 16px 16px 12px;
      border-bottom: 1px solid var(--hair-2);
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      gap:12px;
      flex-wrap:wrap;
    }
    .block-head h3{
      margin:0;
      font-family: var(--serif);
      text-transform: uppercase;
      letter-spacing:.10em;
      font-size: 18px;
    }
    .block-head p{
      margin:0;
      font-size: 13px;
      color: rgba(29,26,23,.68);
      max-width: 58ch;
    }

    .bloglist{
      list-style:none;
      margin:0;
      padding: 10px 12px 16px;
      display:grid;
      gap:10px;
    }
    .bloglist li a{
      display:grid;
      grid-template-columns: 96px 1fr;
      gap:12px;
      align-items:center;
      padding:10px;
      border-radius: 16px;
      border:1px dashed rgba(29,26,23,.20);
      background: rgba(243,239,230,.62);
      transition: transform .45s ease, border-color .45s ease, background .45s ease;
    }
    .bloglist li a:hover{
      transform: translateY(-2px);
      border-color: rgba(31,75,58,.40);
      background: rgba(243,239,230,.78);
    }
    .bloglist img{
      width:100%;
      height:72px;
      object-fit:cover;
      border-radius: 14px;
      border:1px solid rgba(29,26,23,.14);
      filter: contrast(1.06) saturate(.9);
    }
    .blog-title{
      font-family: var(--serif);
      letter-spacing:.04em;
      margin:0 0 2px;
      font-size: 15px;
    }
    .blog-sub{
      margin:0;
      color: rgba(29,26,23,.70);
      font-size: 13px;
    }

    /* Content page block */
    .content{
      padding: 16px;
    }
    .content .center{
      display:grid;
      justify-items:center;
      text-align:left;
      gap:12px;
    }
    .content .hero-img{
      width: min(920px, 100%);
      border-radius: var(--radius);
      border:1px solid rgba(29,26,23,.18);
      overflow:hidden;
      box-shadow: var(--shadow);
      background: rgba(29,26,23,.06);
    }
    .content .hero-img img{
      width:100%;
      height:auto;
      display:block;
      filter: contrast(1.06) saturate(.92) sepia(.06);
    }
    .rating{
      width: min(920px, 100%);
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      flex-wrap:wrap;
      padding:10px 12px;
      border-radius: 16px;
      border:1px dashed rgba(29,26,23,.22);
      background: rgba(243,239,230,.72);
      color: rgba(29,26,23,.78);
      font-size: 13px;
    }
    .rating b{
      font-family: var(--serif);
      letter-spacing:.10em;
      text-transform: uppercase;
      color: rgba(29,26,23,.86);
    }
    .divider{
      width: min(920px, 100%);
      height: 10px;
      border-radius: 999px;
      background:
        linear-gradient(90deg, rgba(31,75,58,.0), rgba(31,75,58,.26), rgba(42,91,124,.20), rgba(210,106,44,.22), rgba(31,75,58,.0));
      border:1px solid rgba(29,26,23,.08);
      box-shadow: 0 10px 20px rgba(29,26,23,.08);
    }

    article.post{
      width: min(920px, 100%);
      border-radius: var(--radius);
      border:1px solid rgba(29,26,23,.16);
      background:
        linear-gradient(180deg, rgba(247,242,233,.92), rgba(239,230,214,.88));
      box-shadow: var(--shadow-soft);
      padding: 16px;
      position:relative;
      overflow:hidden;
    }
    article.post::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(900px 320px at 10% 10%, rgba(31,75,58,.12), transparent 65%),
        repeating-linear-gradient(90deg, rgba(29,26,23,.035), rgba(29,26,23,.035) 1px, transparent 1px, transparent 16px);
      opacity:.55;
      mix-blend-mode:multiply;
      pointer-events:none;
    }
    article.post > *{ position:relative; z-index:1; }

    .post h1{
      margin: 0 0 8px;
      font-family: var(--serif);
      letter-spacing:.08em;
      text-transform: uppercase;
      font-size: clamp(20px, 3.2vw, 30px);
      line-height:1.15;
    }
    .byline{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      align-items:center;
      color: rgba(29,26,23,.70);
      font-size: 13px;
      border-top:1px solid var(--hair-2);
      border-bottom:1px solid var(--hair-2);
      padding:10px 0;
      margin: 10px 0 12px;
    }
    .byline span{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:6px 10px;
      border-radius:999px;
      background: rgba(243,239,230,.62);
      border:1px solid rgba(29,26,23,.12);
    }
    .post .bodytext{
      color: rgba(29,26,23,.80);
      font-size: 15px;
    }
    .post .bodytext h2{
      margin: 14px 0 8px;
      font-family: var(--serif);
      letter-spacing:.06em;
      text-transform: uppercase;
      font-size: 16px;
    }
    .post .bodytext p{ margin: 0 0 12px; }
    .post .bodytext ul{
      margin: 0 0 12px 1.2em;
      padding:0;
    }

    .prevnext{
      width: min(920px, 100%);
      display:flex;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      margin-top: 10px;
    }

    .linkcard{
      flex: 1 1 260px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:12px 14px;
      border-radius: 16px;
      border:1px solid rgba(29,26,23,.16);
      background: rgba(243,239,230,.72);
      transition: transform .45s ease, border-color .45s ease, box-shadow .45s ease;
    }
    .linkcard:hover{
      transform: translateY(-2px);
      border-color: rgba(31,75,58,.40);
      box-shadow: 0 16px 26px rgba(29,26,23,.12);
    }
    .linkcard small{
      display:block;
      font-size: 11px;
      letter-spacing:.14em;
      text-transform: uppercase;
      color: rgba(29,26,23,.60);
      margin-bottom:4px;
    }
    .linkcard strong{
      font-family: var(--serif);
      letter-spacing:.05em;
      font-size: 14px;
    }

    /* Comments */
    .comments{
      width: min(920px, 100%);
      border-radius: var(--radius);
      border:1px solid rgba(29,26,23,.16);
      background:
        linear-gradient(180deg, rgba(247,242,233,.92), rgba(239,230,214,.88));
      box-shadow: var(--shadow-soft);
      overflow:hidden;
    }
    .comments .label{
      padding: 14px 16px;
      border-bottom:1px solid var(--hair-2);
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:center;
    }
    .comments .label h3{
      margin:0;
      font-family: var(--serif);
      text-transform: uppercase;
      letter-spacing:.10em;
      font-size: 16px;
    }
    .empty{
      padding: 14px 16px;
      color: rgba(29,26,23,.68);
      font-size: 14px;
    }
    form{
      padding: 14px 16px 16px;
      display:grid;
      gap:10px;
      border-top:1px solid var(--hair-2);
      background: rgba(243,239,230,.50);
    }
    .row{
      display:grid;
      gap:10px;
      grid-template-columns: 1fr;
    }
    label{
      font-size: 12px;
      letter-spacing:.10em;
      text-transform: uppercase;
      color: rgba(29,26,23,.72);
    }
    input, textarea{
      width:100%;
      border-radius: 14px;
      border:1px solid rgba(29,26,23,.18);
      background: rgba(247,242,233,.92);
      padding: 12px 12px;
      font: inherit;
      color: rgba(29,26,23,.86);
      transition: border-color .35s ease, box-shadow .45s ease, transform .35s ease;
    }
    textarea{ min-height: 110px; resize: vertical; }
    input:focus-visible, textarea:focus-visible{
      border-color: rgba(42,91,124,.45);
      box-shadow: 0 0 0 4px rgba(42,91,124,.14);
    }

    /* Related */
    .related{
      padding: 14px 16px 18px;
    }
    .related h3{
      margin:0 0 12px;
      font-family: var(--serif);
      text-transform: uppercase;
      letter-spacing:.10em;
      font-size: 16px;
    }
    .related-grid{
      display:grid;
      grid-template-columns: 1fr;
      gap:10px;
    }
    .rel{
      display:grid;
      grid-template-columns: 96px 1fr;
      gap:12px;
      align-items:center;
      padding:10px;
      border-radius: 16px;
      border:1px dashed rgba(29,26,23,.20);
      background: rgba(243,239,230,.60);
      transition: transform .45s ease, border-color .45s ease, background .45s ease;
    }
    .rel:hover{
      transform: translateY(-2px);
      border-color: rgba(210,106,44,.40);
      background: rgba(243,239,230,.78);
    }
    .rel img{
      width:100%;
      height:72px;
      object-fit:cover;
      border-radius: 14px;
      border:1px solid rgba(29,26,23,.14);
      filter: contrast(1.06) saturate(.92);
    }
    .rel strong{
      font-family: var(--serif);
      letter-spacing:.05em;
      font-size: 14px;
      display:block;
      margin-bottom:2px;
    }
    .rel span{
      font-size: 13px;
      color: rgba(29,26,23,.70);
      display:block;
    }

    /* Contacts */
    .contacts{
      padding: 16px;
      display:grid;
      gap:12px;
    }
    .contacts h3{
      margin:0;
      font-family: var(--serif);
      text-transform: uppercase;
      letter-spacing:.10em;
      font-size: 18px;
    }
    .contact-grid{
      display:grid;
      grid-template-columns: 1fr;
      gap:12px;
      align-items:start;
    }
    address{
      font-style: normal;
      color: rgba(29,26,23,.78);
      background: rgba(243,239,230,.62);
      border:1px dashed rgba(29,26,23,.20);
      border-radius: 16px;
      padding: 12px 12px;
    }
    .map{
      border-radius: 16px;
      overflow:hidden;
      border:1px solid rgba(29,26,23,.16);
      background: rgba(29,26,23,.06);
      min-height: 220px;
    }
    .map iframe{
      width:100%;
      height:100%;
      border:0;
      filter: grayscale(.1) contrast(1.05) saturate(.9);
    }
    .proposition{
      border-radius: 16px;
      border:1px solid rgba(29,26,23,.16);
      background: rgba(238,246,248,.55);
      padding: 12px 12px;
      color: rgba(29,26,23,.78);
    }

    /* Aside promo + modal */
    aside{
      margin: 18px 0 26px;
      display:grid;
      gap:12px;
    }
    .promo{
      display:grid;
      grid-template-columns: 1fr;
      gap:10px;
    }
    .promo a{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      padding:12px 14px;
      border-radius: 16px;
      border:1px solid rgba(29,26,23,.16);
      background:
        linear-gradient(180deg, rgba(247,242,233,.92), rgba(239,230,214,.86));
      box-shadow: 0 12px 22px rgba(29,26,23,.08);
      transition: transform .45s ease, border-color .45s ease, box-shadow .45s ease;
      position:relative;
      overflow:hidden;
    }
    .promo a::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(520px 200px at 10% 10%, rgba(31,75,58,.12), transparent 60%),
        radial-gradient(520px 200px at 85% 30%, rgba(210,106,44,.10), transparent 60%);
      opacity:.7;
      pointer-events:none;
      mix-blend-mode:multiply;
    }
    .promo a > *{ position:relative; z-index:1; }
    .promo a:hover{
      transform: translateY(-2px);
      border-color: rgba(42,91,124,.40);
      box-shadow: 0 18px 34px rgba(29,26,23,.14);
    }
    .promo strong{
      font-family: var(--serif);
      text-transform: uppercase;
      letter-spacing:.10em;
      font-size: 13px;
    }
    .promo span{
      color: rgba(29,26,23,.72);
      font-size: 13px;
    }

    /* Pure CSS modal (centered) */
    .modal{
      position:fixed;
      inset:0;
      display:none;
      place-items:center;
      padding: 18px;
      background: rgba(29,26,23,.55);
      z-index:80;
    }
    .modal:target{ display:grid; }
    .dialog{
      width:min(680px, 100%);
      border-radius: 20px;
      border:1px solid rgba(243,239,230,.22);
      background:
        linear-gradient(180deg, rgba(247,242,233,.96), rgba(239,230,214,.92));
      box-shadow: 0 30px 90px rgba(0,0,0,.35);
      overflow:hidden;
      position:relative;
    }
    .dialog::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        repeating-linear-gradient(0deg, rgba(29,26,23,.035), rgba(29,26,23,.035) 1px, transparent 1px, transparent 14px),
        radial-gradient(900px 320px at 20% 0%, rgba(42,91,124,.12), transparent 60%);
      opacity:.6;
      pointer-events:none;
      mix-blend-mode:multiply;
    }
    .dialog > *{ position:relative; z-index:1; }

    .dialog-head{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
      padding: 14px 16px;
      border-bottom:1px solid var(--hair-2);
    }
    .dialog-head h3{
      margin:0;
      font-family: var(--serif);
      letter-spacing:.10em;
      text-transform: uppercase;
      font-size: 16px;
    }
    .close{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:42px; height:42px;
      border-radius: 999px;
      border:1px solid rgba(29,26,23,.18);
      background: rgba(243,239,230,.70);
      transition: transform .35s ease, border-color .35s ease, box-shadow .45s ease;
    }
    .close:hover{
      transform: translateY(-1px);
      border-color: rgba(210,106,44,.45);
      box-shadow: 0 0 0 4px rgba(210,106,44,.12);
    }
    .dialog form{
      background: transparent;
      border-top:0;
      padding: 14px 16px 16px;
    }
    .dialog .note{
      margin:0;
      padding: 0 16px 8px;
      color: rgba(29,26,23,.70);
      font-size: 14px;
    }

    /* Footer */
    footer{
      margin-top: 26px;
      background:
        linear-gradient(180deg, rgba(20,18,16,.98), rgba(13,12,10,.98));
      color: rgba(243,239,230,.88);
      border-top: 1px solid rgba(243,239,230,.12);
      position:relative;
      overflow:hidden;
    }
    footer::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(900px 380px at 15% 20%, rgba(31,75,58,.40), transparent 60%),
        radial-gradient(700px 280px at 85% 35%, rgba(210,106,44,.22), transparent 60%),
        repeating-linear-gradient(90deg, rgba(243,239,230,.06), rgba(243,239,230,.06) 1px, transparent 1px, transparent 20px);
      opacity:.55;
      mix-blend-mode:screen;
      pointer-events:none;
    }
    .foot{
      padding: 22px 0;
      display:grid;
      gap:14px;
      position:relative;
      z-index:1;
    }
    .slogan{
      font-family: var(--serif);
      letter-spacing:.12em;
      text-transform: uppercase;
      margin:0;
      font-size: 16px;
    }
    .about{
      margin:0;
      color: rgba(243,239,230,.78);
      max-width: 76ch;
      font-size: 14px;
    }
    .social{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      align-items:center;
    }
    .social a{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:10px 12px;
      border-radius: 999px;
      border:1px solid rgba(243,239,230,.18);
      background: rgba(243,239,230,.06);
      color: rgba(243,239,230,.88);
      letter-spacing:.10em;
      text-transform: uppercase;
      font-size: 12px;
      transition: transform .35s ease, border-color .35s ease, box-shadow .45s ease, background .35s ease;
    }
    .social a:hover{
      transform: translateY(-1px);
      border-color: rgba(210,106,44,.45);
      box-shadow: 0 0 0 4px rgba(210,106,44,.12);
      background: rgba(210,106,44,.08);
    }
    .copy{
      margin:0;
      color: rgba(243,239,230,.65);
      font-size: 12px;
      letter-spacing:.06em;
    }

    /* Responsive */
    @media (min-width: 768px){
      :root{ --pad: 22px; }
      .hero-grid{ grid-template-columns: 1.05fr .95fr; }
      .grid{ grid-template-columns: repeat(2, 1fr); }
      .row{ grid-template-columns: 1fr 1fr; }
      .related-grid{ grid-template-columns: repeat(2, 1fr); }
      .contact-grid{ grid-template-columns: 1.05fr .95fr; }
      .promo{ grid-template-columns: repeat(2, 1fr); }
      .bloglist{ grid-template-columns: 1fr 1fr; }
    }

    @media (min-width: 1200px){
      :root{ --pad: 26px; }
      .grid{ grid-template-columns: repeat(3, 1fr); }
      .related-grid{ grid-template-columns: repeat(3, 1fr); }
      .contact-grid{ grid-template-columns: 1fr 1fr 1fr; }
      .promo{ grid-template-columns: repeat(4, 1fr); }
      .bloglist{ grid-template-columns: repeat(2, 1fr); }

      /* Desktop: show normal nav, hide burger */
      .menu{ display:none; }
      .desktop-nav{ display:block; }
    }

    /* Mobile (<1200px): hide desktop nav, show burger */
    .desktop-nav{ display:none; }
    @media (max-width: 1199.98px){
      .menu{ display:inline-flex; }
      .desktop-nav{ display:none; }
      nav ul{ gap:10px; }
    }

    /* Reduce motion */
    @media (prefers-reduced-motion: reduce){
      *{ transition:none !important; scroll-behavior:auto !important; }
      .slides{ animation:none !important; }
    }
  