
    :root{
      /* Palette: stormy slate, sea glass green, lichen moss, driftwood beige, salt white */
      --slate-950:#0d1417;
      --slate-900:#121b1f;
      --slate-800:#1a262b;
      --slate-700:#25343a;
      --slate-600:#31454d;

      --salt-50:#f6f7f5;
      --salt-100:#eef1ee;

      --drift-100:#efe6d6;
      --drift-200:#e5d7c0;

      --seaglass-300:#a9d6c5;
      --seaglass-500:#5aaea0;
      --seaglass-650:#2f7f73;

      --lichen-400:#92a66d;
      --lichen-600:#667946;

      --sea-underline:#6db3c7;

      --ink:#0f171a;
      --text:#1b2427;
      --muted:#516167;

      --card:#ffffff;
      --border:rgba(18,27,31,.16);
      --shadow: 0 18px 50px rgba(13,20,23,.14);
      --shadow-soft: 0 10px 26px rgba(13,20,23,.10);

      --radius-pebble: 18px;
      --radius-stone: 22px;

      --max: 1180px;

      --serif: ui-serif, Georgia, "Iowan Old Style", "Palatino Linotype", Palatino, Times, serif;
      --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
    }

    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      color:var(--text);
      background:
        radial-gradient(1200px 700px at 10% -10%, rgba(90,174,160,.20), transparent 60%),
        radial-gradient(900px 600px at 95% 20%, rgba(146,166,109,.18), transparent 55%),
        linear-gradient(180deg, var(--salt-50), var(--salt-100));
      font-family:var(--sans);
      line-height:1.55;
      overflow-x:hidden;
    }

    /* Coastal grain + tide lines */
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      opacity:.55;
      background:
        repeating-linear-gradient(
          135deg,
          rgba(13,20,23,.035) 0px,
          rgba(13,20,23,.035) 1px,
          transparent 1px,
          transparent 10px
        ),
        radial-gradient(900px 520px at 50% 10%, rgba(255,255,255,.55), transparent 70%),
        radial-gradient(1100px 700px at 60% 120%, rgba(13,20,23,.06), transparent 60%);
      mix-blend-mode:multiply;
      filter:contrast(1.05);
    }

    a{
      color:inherit;
      text-decoration:underline;
      text-decoration-color:rgba(109,179,199,.85);
      text-decoration-thickness:1.5px;
      text-underline-offset:4px;
      transition: color .35s ease, text-decoration-color .35s ease, background-color .35s ease, box-shadow .35s ease, transform .35s ease, border-color .35s ease;
    }
    a:hover{color:var(--slate-800); text-decoration-color:rgba(47,127,115,.95)}
    a:focus-visible,
    button:focus-visible,
    input:focus-visible,
    textarea:focus-visible,
    select:focus-visible{
      outline: 3px solid rgba(90,174,160,.55);
      outline-offset: 3px;
      border-radius: 10px;
    }

    .container{
      width:min(var(--max), calc(100% - 2rem));
      margin-inline:auto;
    }

    /* Header + Nav */
    header{
      position:sticky;
      top:0;
      z-index:50;
      background:
        linear-gradient(180deg, rgba(246,247,245,.88), rgba(246,247,245,.70));
      backdrop-filter: blur(10px);
      border-bottom:1px solid rgba(18,27,31,.10);
    }

    nav{
      position:relative;
      width:min(var(--max), calc(100% - 2rem));
      margin:0 auto;
      padding: .9rem 0;
    }

    /* Burger (pure CSS) */
    .nav-toggle{
      position:absolute;
      left:-9999px;
      top:auto;
      width:1px;
      height:1px;
      overflow:hidden;
    }

    .nav-brand{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
    }

    .brand{
      display:flex;
      align-items:baseline;
      gap:.7rem;
    }
    .brand-mark{
      width:38px;
      height:38px;
      border-radius: 16px 18px 14px 22px;
      background:
        radial-gradient(14px 14px at 30% 35%, rgba(246,247,245,.85), transparent 60%),
        linear-gradient(135deg, rgba(90,174,160,.22), rgba(146,166,109,.18)),
        linear-gradient(180deg, rgba(26,38,43,.10), rgba(26,38,43,.02));
      border:1px solid rgba(18,27,31,.18);
      box-shadow: 0 10px 25px rgba(13,20,23,.10);
      position:relative;
    }
    .brand-mark::after{
      content:"";
      position:absolute;
      inset:8px 9px 10px 8px;
      border-radius: 18px 14px 18px 12px;
      border:1px dashed rgba(18,27,31,.28);
      opacity:.55;
    }
    .brand-title{
      font-family:var(--serif);
      letter-spacing:.12em;
      text-transform:uppercase;
      font-weight:800;
      font-size: .98rem;
      color:var(--slate-900);
    }
    .brand-sub{
      font-size:.85rem;
      color:var(--muted);
      letter-spacing:.02em;
    }

    .burger-label{
      display:inline-flex;
      align-items:center;
      gap:.6rem;
      padding:.55rem .75rem;
      border-radius:999px;
      border:1px solid rgba(18,27,31,.18);
      background: rgba(255,255,255,.55);
      box-shadow: var(--shadow-soft);
      cursor:pointer;
      user-select:none;
    }
    .burger-lines{
      width:18px;
      height:12px;
      position:relative;
      display:inline-block;
    }
    .burger-lines::before,
    .burger-lines::after,
    .burger-lines span{
      content:"";
      position:absolute;
      left:0;
      right:0;
      height:2px;
      border-radius:2px;
      background: rgba(18,27,31,.78);
      transition: transform .45s ease, top .45s ease, opacity .45s ease;
    }
    .burger-lines::before{top:0}
    .burger-lines span{top:5px}
    .burger-lines::after{top:10px}
    .burger-text{
      font-size:.85rem;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:var(--slate-800);
    }

    nav ul{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:.55rem;
      margin-top:.85rem;
      border:1px solid rgba(18,27,31,.12);
      background: rgba(255,255,255,.62);
      border-radius: var(--radius-stone);
      padding:.75rem;
      box-shadow: var(--shadow-soft);
    }
    nav li{margin:0; padding:0}
    nav a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.75rem;
      padding:.75rem .85rem;
      border-radius: 16px;
      border:1px solid transparent;
      text-decoration:none;
      letter-spacing:.06em;
      text-transform:uppercase;
      font-size:.86rem;
      color:var(--slate-900);
      background:
        linear-gradient(180deg, rgba(246,247,245,.7), rgba(246,247,245,.35));
      position:relative;
    }
    nav a::after{
      content:"";
      width:10px; height:10px;
      border-radius:999px;
      border:1px solid rgba(47,127,115,.35);
      background: radial-gradient(circle at 35% 35%, rgba(169,214,197,.95), rgba(90,174,160,.25));
      box-shadow: 0 0 0 0 rgba(90,174,160,.0);
      transition: box-shadow .45s ease, transform .45s ease, border-color .45s ease;
      flex:0 0 auto;
    }
    nav a:hover{
      border-color: rgba(47,127,115,.22);
      box-shadow: 0 10px 22px rgba(13,20,23,.10);
      transform: translateY(-1px);
    }
    nav a:hover::after{
      border-color: rgba(47,127,115,.55);
      box-shadow: 0 0 0 6px rgba(90,174,160,.13);
      transform: rotate(-10deg) scale(1.02);
    }

    /* mobile menu default: collapsed */
    nav ul{display:none}
    .nav-toggle:checked ~ .nav-brand .burger-lines::before{top:5px; transform:rotate(45deg)}
    .nav-toggle:checked ~ .nav-brand .burger-lines span{opacity:0}
    .nav-toggle:checked ~ .nav-brand .burger-lines::after{top:5px; transform:rotate(-45deg)}
    .nav-toggle:checked ~ ul{display:grid}

    /* Desktop nav */
    @media (min-width: 1200px){
      .burger-label{display:none}
      nav{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:1.2rem;
      }
      .nav-brand{justify-content:flex-start}
      nav ul{
        display:flex !important;
        margin-top:0;
        padding:.35rem;
        gap:.35rem;
      }
      nav a{
        padding:.65rem .8rem;
        background:transparent;
      }
    }

    /* HERO */
    .hero{
      min-height: calc(100svh - 78px);
      display:grid;
      align-items:start;
      padding: 1.2rem 0 2.2rem;
      position:relative;
    }
    .hero-inner{
      width:min(var(--max), calc(100% - 2rem));
      margin: 0 auto;
      display:grid;
      gap:1.2rem;
    }

    .hero-head{
      display:grid;
      gap:.85rem;
      padding: 1.1rem 1.05rem;
      border-radius: calc(var(--radius-stone) + 8px);
      background:
        radial-gradient(900px 240px at 30% 0%, rgba(169,214,197,.26), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,.38));
      border: 1px solid rgba(18,27,31,.12);
      box-shadow: var(--shadow);
      position:relative;
      overflow:hidden;
    }
    .hero-head::before{
      content:"";
      position:absolute;
      inset:-40px -60px auto -60px;
      height:120px;
      background:
        linear-gradient(90deg, transparent, rgba(18,27,31,.06), transparent);
      transform: rotate(-4deg);
      opacity:.7;
    }
    .hero-kicker{
      display:flex;
      flex-wrap:wrap;
      gap:.55rem;
      align-items:center;
      color:var(--muted);
      font-size:.92rem;
      letter-spacing:.03em;
    }
    .chip{
      display:inline-flex;
      align-items:center;
      gap:.5rem;
      padding:.35rem .7rem;
      border-radius:999px;
      border:1px solid rgba(18,27,31,.14);
      background:
        linear-gradient(180deg, rgba(246,247,245,.72), rgba(246,247,245,.42));
    }
    .chip i{
      width:10px; height:10px;
      border-radius:999px;
      background: radial-gradient(circle at 35% 35%, rgba(146,166,109,.9), rgba(102,121,70,.25));
      border:1px solid rgba(102,121,70,.35);
      display:inline-block;
    }

    .hero h1{
      margin:0;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.14em;
      font-weight:900;
      color:var(--slate-950);
      line-height:1.12;
      font-size: clamp(1.75rem, 2.2vw + 1.2rem, 3.05rem);
    }
    .hero p{
      margin:0;
      color:var(--muted);
      font-size: clamp(1.02rem, .55vw + .95rem, 1.2rem);
      max-width: 62ch;
    }

    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:.7rem;
      padding-top:.25rem;
      align-items:center;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.6rem;
      padding:.78rem 1.05rem;
      border-radius: 999px;
      border:1px solid rgba(18,27,31,.22);
      background:
        linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.46));
      color:var(--slate-950);
      text-decoration:none;
      letter-spacing:.1em;
      text-transform:uppercase;
      font-size:.86rem;
      box-shadow: var(--shadow-soft);
      position:relative;
    }
    .btn::after{
      content:"";
      width:10px; height:10px;
      border-radius:999px;
      border:1px solid rgba(47,127,115,.45);
      background: radial-gradient(circle at 35% 35%, rgba(169,214,197,.95), rgba(90,174,160,.25));
      transition: transform .45s ease, box-shadow .45s ease;
    }
    .btn:hover{
      transform: translateY(-2px);
      border-color: rgba(47,127,115,.35);
      box-shadow: 0 0 0 6px rgba(90,174,160,.11), var(--shadow);
    }
    .btn:hover::after{transform: rotate(-12deg) scale(1.04); box-shadow: 0 0 0 6px rgba(90,174,160,.14)}
    .btn.secondary{
      background: transparent;
      border-style:dashed;
      color:var(--slate-900);
    }

    .hero-meta{
      display:grid;
      gap:.6rem;
      padding:.95rem 1rem;
      border-radius: var(--radius-stone);
      border:1px solid rgba(18,27,31,.12);
      background:
        linear-gradient(180deg, rgba(239,230,214,.52), rgba(246,247,245,.40));
      box-shadow: var(--shadow-soft);
    }
    .meta-grid{
      display:grid;
      gap:.55rem;
    }
    .meta-item{
      display:flex;
      align-items:flex-start;
      gap:.7rem;
      padding:.65rem .7rem;
      border-radius: 16px;
      border:1px solid rgba(18,27,31,.10);
      background:
        linear-gradient(180deg, rgba(255,255,255,.66), rgba(255,255,255,.36));
    }
    .meta-icon{
      width:34px; height:34px;
      border-radius: 14px 18px 12px 20px;
      border:1px solid rgba(18,27,31,.14);
      background:
        radial-gradient(12px 12px at 30% 30%, rgba(246,247,245,.9), transparent 60%),
        linear-gradient(135deg, rgba(109,179,199,.18), rgba(90,174,160,.18));
      flex:0 0 auto;
      position:relative;
    }
    .meta-icon::after{
      content:"";
      position:absolute;
      inset:9px;
      border-radius: 10px 12px 9px 14px;
      border:1px solid rgba(18,27,31,.22);
      opacity:.45;
    }
    .meta-item strong{
      display:block;
      font-size:.9rem;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:var(--slate-900);
      margin-bottom:.12rem;
      font-family:var(--serif);
    }
    .meta-item span{
      display:block;
      color:var(--muted);
      font-size:.95rem;
    }

    /* Slider (pure CSS, max 600px height) */
    .slider{
      border-radius: calc(var(--radius-stone) + 10px);
      overflow:hidden;
      border:1px solid rgba(18,27,31,.14);
      box-shadow: var(--shadow);
      background: rgba(255,255,255,.35);
      max-height: 600px;
      height:min(56vw, 560px);
      position:relative;
    }
    .slides{
      height:100%;
      width:400%;
      display:flex;
      animation: drift 22s ease-in-out infinite;
    }
    .slide{
      width:25%;
      height:100%;
      position:relative;
      background-size:cover;
      background-position:center;
      filter:saturate(.85) contrast(.98);
    }
    .slide::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(900px 520px at 30% 20%, rgba(255,255,255,.10), transparent 55%),
        radial-gradient(900px 520px at 70% 70%, rgba(13,20,23,.22), transparent 55%),
        linear-gradient(180deg, rgba(13,20,23,.22), rgba(13,20,23,.10), rgba(13,20,23,.28));
      mix-blend-mode:multiply;
      pointer-events:none;
    }
    .slide::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        repeating-linear-gradient(0deg, rgba(246,247,245,.05) 0px, rgba(246,247,245,.05) 1px, transparent 1px, transparent 9px);
      opacity:.5;
      pointer-events:none;
    }

    .slider-caption{
      position:absolute;
      left:1rem;
      right:1rem;
      bottom:1rem;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:1rem;
    }
    .cap{
      max-width: 64ch;
      padding:.85rem 1rem;
      border-radius: 18px 22px 18px 26px;
      border:1px solid rgba(246,247,245,.30);
      background: rgba(13,20,23,.45);
      color: rgba(246,247,245,.92);
      box-shadow: 0 18px 40px rgba(13,20,23,.22);
      backdrop-filter: blur(6px);
    }
    .cap b{
      display:block;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.14em;
      font-size:.95rem;
      margin-bottom:.25rem;
    }
    .cap small{
      display:block;
      color: rgba(246,247,245,.80);
      letter-spacing:.02em;
      font-size:.95rem;
    }
    .dots{
      display:flex;
      gap:.4rem;
      align-items:center;
      padding:.55rem .7rem;
      border-radius:999px;
      border:1px solid rgba(246,247,245,.22);
      background: rgba(13,20,23,.35);
      backdrop-filter: blur(6px);
    }
    .dot{
      width:9px;height:9px;border-radius:999px;
      border:1px solid rgba(246,247,245,.32);
      background: rgba(246,247,245,.12);
      opacity:.9;
    }

    @keyframes drift{
      0%, 18%{transform:translateX(0%)}
      25%, 43%{transform:translateX(-25%)}
      50%, 68%{transform:translateX(-50%)}
      75%, 93%{transform:translateX(-75%)}
      100%{transform:translateX(0%)}
    }

    @media (min-width: 768px){
      .hero-inner{
        grid-template-columns: 1.1fr .9fr;
        align-items:start;
        gap:1.25rem;
      }
      .hero-head{padding:1.35rem 1.3rem}
      .meta-grid{grid-template-columns:1fr}
    }
    @media (min-width: 1200px){
      .hero-inner{
        grid-template-columns: 1.15fr .85fr;
        gap:1.4rem;
      }
      .hero-head{padding:1.55rem 1.6rem}
      .slider-caption{left:1.25rem; right:1.25rem; bottom:1.25rem}
    }

    main{
      padding: 1.4rem 0 2.4rem;
    }

    /* Section scaffolding */
    section{
      padding: 1.2rem 0;
    }
    .section-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:1rem;
      margin-bottom: .85rem;
    }
    .section-head h2{
      margin:0;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.14em;
      color:var(--slate-900);
      font-weight:900;
      font-size: clamp(1.15rem, .9vw + 1rem, 1.65rem);
    }
    .section-head p{
      margin:0;
      color:var(--muted);
      max-width: 60ch;
      font-size: .98rem;
    }

    .rope{
      height:1px;
      width:100%;
      background:
        repeating-linear-gradient(90deg, rgba(18,27,31,.0) 0px, rgba(18,27,31,.0) 6px, rgba(18,27,31,.22) 6px, rgba(18,27,31,.22) 9px);
      opacity:.55;
      margin: .75rem 0 1rem;
      position:relative;
    }
    .rope::after{
      content:"";
      position:absolute;
      left:0;
      top:50%;
      transform: translateY(-50%);
      width:9px;height:9px;
      border-radius:999px;
      border:1px solid rgba(47,127,115,.45);
      background: radial-gradient(circle at 35% 35%, rgba(169,214,197,.95), rgba(90,174,160,.20));
      box-shadow: 0 0 0 6px rgba(90,174,160,.10);
    }

    .grid{
      display:grid;
      gap: .95rem;
      grid-template-columns: 1fr;
    }
    @media (min-width: 768px){
      .grid{grid-template-columns: repeat(2, 1fr)}
    }
    @media (min-width: 1200px){
      .grid{grid-template-columns: repeat(3, 1fr)}
    }

    article.card{
      border-radius: var(--radius-stone);
      overflow:hidden;
      border:1px solid rgba(18,27,31,.12);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow-soft);
      position:relative;
      transition: transform .45s ease, box-shadow .45s ease, border-color .45s ease;
    }
    article.card:hover{
      transform: translateY(-4px);
      box-shadow: var(--shadow);
      border-color: rgba(47,127,115,.22);
    }

    .card-media{
      aspect-ratio: 16/10;
      width:100%;
      display:block;
      object-fit:cover;
      filter:saturate(.85) contrast(.98);
    }
    .card-body{
      padding: .95rem 1rem 1.05rem;
      display:grid;
      gap:.55rem;
      position:relative;
    }
    .tag-row{
      display:flex;
      flex-wrap:wrap;
      gap:.45rem;
      align-items:center;
    }
    .tag{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      padding:.28rem .6rem;
      border-radius:999px;
      border:1px solid rgba(18,27,31,.14);
      background: rgba(246,247,245,.65);
      font-size:.78rem;
      letter-spacing:.1em;
      text-transform:uppercase;
      color: rgba(18,27,31,.86);
      font-family:var(--serif);
    }
    .tag::before{
      content:"";
      width:7px;height:7px;border-radius:999px;
      border:1px solid rgba(102,121,70,.38);
      background: radial-gradient(circle at 35% 35%, rgba(146,166,109,.95), rgba(102,121,70,.18));
    }

    .card-title{
      margin:0;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.10em;
      font-weight:900;
      font-size: 1.02rem;
      color:var(--slate-950);
      line-height:1.25;
    }
    .card-text{
      margin:0;
      color:var(--muted);
      font-size:.98rem;
    }
    .card-link{
      display:inline-flex;
      align-items:center;
      justify-content:space-between;
      gap:.65rem;
      margin-top:.2rem;
      padding:.65rem .8rem;
      border-radius: 999px;
      border:1px solid rgba(18,27,31,.18);
      background: linear-gradient(180deg, rgba(239,230,214,.45), rgba(246,247,245,.30));
      text-decoration:none;
      letter-spacing:.12em;
      text-transform:uppercase;
      font-size:.82rem;
      width: fit-content;
    }
    .card-link span{
      width:9px;height:9px;border-radius:999px;
      border:1px solid rgba(109,179,199,.55);
      background: radial-gradient(circle at 35% 35%, rgba(109,179,199,.55), rgba(109,179,199,.10));
      box-shadow: 0 0 0 0 rgba(109,179,199,.0);
      transition: box-shadow .45s ease, transform .45s ease;
    }
    .card-link:hover span{box-shadow:0 0 0 6px rgba(109,179,199,.14); transform: rotate(-10deg) scale(1.05)}

    /* Section individuality */
    .section-1-wrap{
      border-radius: calc(var(--radius-stone) + 10px);
      padding: 1rem;
      background:
        radial-gradient(900px 320px at 15% 0%, rgba(109,179,199,.16), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.25));
      border: 1px solid rgba(18,27,31,.10);
      box-shadow: var(--shadow-soft);
    }
    .section-1-wrap article.card:hover{transform: translateY(-5px) rotate(-.2deg)}

    .section-2-wrap{
      border-radius: calc(var(--radius-stone) + 10px);
      padding: 1rem;
      background:
        radial-gradient(900px 320px at 85% 0%, rgba(146,166,109,.18), transparent 58%),
        linear-gradient(180deg, rgba(239,230,214,.50), rgba(255,255,255,.25));
      border: 1px dashed rgba(18,27,31,.14);
      box-shadow: var(--shadow-soft);
    }
    .section-2-wrap article.card{
      background: rgba(255,255,255,.58);
    }
    .section-2-wrap article.card:hover{transform: translateY(-4px)}
    .section-2-wrap .tag{background: rgba(239,230,214,.55)}

    .section-3-wrap{
      border-radius: calc(var(--radius-stone) + 10px);
      padding: 1rem;
      background:
        radial-gradient(900px 320px at 20% 10%, rgba(90,174,160,.18), transparent 55%),
        linear-gradient(180deg, rgba(18,27,31,.06), rgba(255,255,255,.22));
      border: 1px solid rgba(18,27,31,.12);
      box-shadow: var(--shadow-soft);
    }
    .section-3-wrap article.card{
      background:
        linear-gradient(180deg, rgba(255,255,255,.62), rgba(246,247,245,.40));
    }
    .section-3-wrap article.card:hover{
      box-shadow: 0 0 0 7px rgba(90,174,160,.10), var(--shadow);
    }

    /* Blog list */
    .blog-block{
      width:min(var(--max), calc(100% - 2rem));
      margin: 0 auto;
      padding: 1.25rem 0 1.1rem;
    }
    .blog-panel{
      border-radius: calc(var(--radius-stone) + 10px);
      border:1px solid rgba(18,27,31,.12);
      background:
        radial-gradient(900px 320px at 60% 0%, rgba(169,214,197,.16), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.32));
      box-shadow: var(--shadow-soft);
      padding: 1rem;
    }
    .blog-panel h2{
      margin:0 0 .25rem 0;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.14em;
      font-weight:900;
      color:var(--slate-900);
      font-size: clamp(1.1rem, .9vw + 1rem, 1.55rem);
    }
    .blog-panel p{
      margin:0;
      color:var(--muted);
      max-width: 70ch;
    }
    .blog-list{
      list-style:none;
      padding:0;
      margin: .95rem 0 0 0;
      display:grid;
      gap:.75rem;
    }
    .blog-item a{
      display:grid;
      grid-template-columns: 110px 1fr;
      gap:.85rem;
      align-items:center;
      padding:.75rem;
      border-radius: var(--radius-stone);
      border:1px solid rgba(18,27,31,.12);
      background: rgba(255,255,255,.60);
      text-decoration:none;
      box-shadow: var(--shadow-soft);
      transition: transform .45s ease, box-shadow .45s ease, border-color .45s ease;
    }
    .blog-item a:hover{
      transform: translateY(-3px);
      border-color: rgba(47,127,115,.22);
      box-shadow: var(--shadow);
    }
    .blog-thumb{
      width:100%;
      aspect-ratio: 1/1;
      border-radius: 18px 22px 14px 26px;
      border:1px solid rgba(18,27,31,.14);
      object-fit:cover;
      filter:saturate(.82) contrast(.98);
    }
    .blog-item h3{
      margin:0;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.11em;
      font-weight:900;
      font-size: .98rem;
      line-height:1.25;
      color:var(--slate-950);
    }
    .blog-item p{
      margin:.2rem 0 0;
      color:var(--muted);
      font-size:.96rem;
    }
    @media (min-width: 768px){
      .blog-list{grid-template-columns: 1fr 1fr}
      .blog-item a{grid-template-columns: 120px 1fr}
    }
    @media (min-width: 1200px){
      .blog-list{grid-template-columns: 1fr 1fr 1fr}
    }

    /* Content center */
    .content-wrap{
      width:min(var(--max), calc(100% - 2rem));
      margin: 0 auto;
      padding: 1.1rem 0 1.6rem;
    }
    .content-panel{
      border-radius: calc(var(--radius-stone) + 12px);
      border:1px solid rgba(18,27,31,.12);
      background:
        radial-gradient(1000px 420px at 50% 0%, rgba(239,230,214,.60), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.66), rgba(255,255,255,.34));
      box-shadow: var(--shadow);
      padding: 1rem;
    }
    .feature-image{
      display:block;
      width:100%;
      max-width: 900px;
      margin: 0 auto;
      border-radius: calc(var(--radius-stone) + 12px);
      border:1px solid rgba(18,27,31,.14);
      box-shadow: var(--shadow-soft);
      aspect-ratio: 16/9;
      object-fit:cover;
      filter:saturate(.85) contrast(.98);
    }
    .rating{
      max-width: 900px;
      margin: .8rem auto 0;
      padding:.7rem .85rem;
      border-radius: 999px;
      border:1px solid rgba(18,27,31,.16);
      background:
        linear-gradient(180deg, rgba(246,247,245,.78), rgba(246,247,245,.42));
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.75rem;
      letter-spacing:.08em;
      text-transform:uppercase;
      font-size:.88rem;
      color:var(--slate-900);
    }
    .rating b{
      font-family:var(--serif);
      letter-spacing:.12em;
    }
    .rating .pebbles{
      display:flex;
      gap:.35rem;
      align-items:center;
    }
    .rating .peb{
      width:10px;height:10px;border-radius:999px;
      border:1px solid rgba(47,127,115,.35);
      background: radial-gradient(circle at 35% 35%, rgba(169,214,197,.9), rgba(90,174,160,.20));
      opacity:.95;
    }

    .divider{
      max-width: 900px;
      margin: 1rem auto;
      height: 14px;
      border-radius: 999px;
      border:1px solid rgba(18,27,31,.12);
      background:
        repeating-linear-gradient(90deg, rgba(18,27,31,.0) 0px, rgba(18,27,31,.0) 10px, rgba(18,27,31,.18) 10px, rgba(18,27,31,.18) 12px),
        linear-gradient(180deg, rgba(255,255,255,.45), rgba(239,230,214,.35));
      position:relative;
      overflow:hidden;
    }
    .divider::after{
      content:"";
      position:absolute;
      inset:-40px -80px auto -80px;
      height:80px;
      background: linear-gradient(90deg, transparent, rgba(109,179,199,.16), transparent);
      transform: rotate(-4deg);
      opacity:.9;
    }

    /* Article (schema) */
    .story{
      max-width: 900px;
      margin: 0 auto;
      padding: 1rem 1rem 1.1rem;
      border-radius: calc(var(--radius-stone) + 12px);
      border:1px solid rgba(18,27,31,.12);
      background: rgba(255,255,255,.62);
      box-shadow: var(--shadow-soft);
    }
    .story h1{
      margin:0 0 .35rem 0;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.12em;
      font-weight:900;
      color:var(--slate-950);
      line-height:1.15;
      font-size: clamp(1.35rem, 1vw + 1.1rem, 2.05rem);
    }
    .story .byline{
      display:flex;
      flex-wrap:wrap;
      gap:.6rem 1rem;
      color:var(--muted);
      font-size:.95rem;
      margin-bottom: .7rem;
      padding-bottom:.7rem;
      border-bottom: 1px dashed rgba(18,27,31,.18);
    }
    .byline span{
      display:inline-flex;
      align-items:center;
      gap:.5rem;
    }
    .byline span::before{
      content:"";
      width:7px;height:7px;border-radius:999px;
      border:1px solid rgba(102,121,70,.35);
      background: radial-gradient(circle at 35% 35%, rgba(146,166,109,.90), rgba(102,121,70,.18));
    }
    .story .fieldnotes{
      display:grid;
      gap:.8rem;
      color:var(--text);
    }
    .note{
      border-radius: 18px 22px 18px 26px;
      border:1px solid rgba(18,27,31,.12);
      background:
        linear-gradient(180deg, rgba(239,230,214,.55), rgba(255,255,255,.35));
      padding: .85rem .9rem;
      position:relative;
      overflow:hidden;
    }
    .note::after{
      content:"";
      position:absolute;
      right:-18px;
      top:-18px;
      width:70px;
      height:70px;
      border-radius: 24px 30px 22px 34px;
      border:1px dashed rgba(18,27,31,.18);
      background: rgba(90,174,160,.10);
      transform: rotate(10deg);
      opacity:.7;
    }
    .note h2{
      margin:0 0 .3rem 0;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.12em;
      font-size: 1.02rem;
      color:var(--slate-900);
    }
    .note p{margin:0; color:var(--muted)}
    .story .body{
      color:var(--text);
    }
    .story .body p{
      margin:.75rem 0;
      color:var(--text);
    }
    .story .body ul{
      margin:.6rem 0 .1rem 1.15rem;
      color:var(--text);
    }
    .story .body li{margin:.3rem 0}

    /* Prev/Next */
    .pn{
      max-width: 900px;
      margin: 1rem auto 0;
      display:grid;
      gap:.75rem;
    }
    .pn a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      padding:.85rem 1rem;
      border-radius: var(--radius-stone);
      border:1px solid rgba(18,27,31,.12);
      background: rgba(255,255,255,.55);
      text-decoration:none;
      box-shadow: var(--shadow-soft);
    }
    .pn a:hover{
      transform: translateY(-2px);
      box-shadow: var(--shadow);
      border-color: rgba(47,127,115,.22);
    }
    .pn small{
      display:block;
      color:var(--muted);
      letter-spacing:.12em;
      text-transform:uppercase;
      font-size:.78rem;
    }
    .pn b{
      display:block;
      font-family:var(--serif);
      letter-spacing:.10em;
      text-transform:uppercase;
      font-size:.95rem;
      color:var(--slate-950);
    }
    @media (min-width:768px){
      .pn{grid-template-columns: 1fr 1fr}
    }

    /* Comments */
    .comments{
      max-width: 900px;
      margin: 1rem auto 0;
      border-radius: calc(var(--radius-stone) + 12px);
      border:1px solid rgba(18,27,31,.12);
      background: rgba(255,255,255,.55);
      box-shadow: var(--shadow-soft);
      overflow:hidden;
    }
    .comments header{
      position:static;
      border-bottom:1px dashed rgba(18,27,31,.18);
      background: transparent;
      backdrop-filter:none;
    }
    .comments h2{
      margin:0;
      padding: .9rem 1rem;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.14em;
      font-weight:900;
      font-size: 1.05rem;
      color:var(--slate-900);
    }
    .comments .empty{
      padding: 1rem;
      color:var(--muted);
      font-style:italic;
    }
    .comments form{
      padding: 1rem;
      display:grid;
      gap:.75rem;
      border-top:1px solid rgba(18,27,31,.08);
      background:
        linear-gradient(180deg, rgba(239,230,214,.35), rgba(255,255,255,.20));
    }
    .row{
      display:grid;
      gap:.7rem;
      grid-template-columns: 1fr;
    }
    @media (min-width:768px){
      .row{grid-template-columns: 1fr 1fr}
    }
    label{
      display:grid;
      gap:.35rem;
      font-size:.9rem;
      letter-spacing:.02em;
      color:var(--slate-900);
    }
    input, textarea{
      width:100%;
      padding:.75rem .8rem;
      border-radius: 16px;
      border:1px solid rgba(18,27,31,.16);
      background: rgba(255,255,255,.72);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
      font: inherit;
      color:var(--ink);
      transition: border-color .35s ease, box-shadow .35s ease, transform .35s ease;
    }
    textarea{min-height: 120px; resize:vertical}
    input:focus-visible, textarea:focus-visible{
      border-color: rgba(47,127,115,.45);
      box-shadow: 0 0 0 6px rgba(90,174,160,.12);
    }

    .form-actions{
      display:flex;
      flex-wrap:wrap;
      gap:.7rem;
      align-items:center;
      justify-content:flex-start;
    }
    .btn-submit{
      cursor:pointer;
      font: inherit;
    }

    /* Related */
    .related{
      max-width: 900px;
      margin: 1.1rem auto 0;
      padding: 1rem;
      border-radius: calc(var(--radius-stone) + 12px);
      border:1px solid rgba(18,27,31,.12);
      background:
        radial-gradient(900px 300px at 25% 0%, rgba(109,179,199,.14), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.28));
      box-shadow: var(--shadow-soft);
    }
    .related h2{
      margin:0 0 .2rem 0;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.14em;
      font-weight:900;
      font-size: 1.1rem;
      color:var(--slate-900);
    }
    .related p{margin:.1rem 0 .85rem; color:var(--muted)}
    .related-grid{
      display:grid;
      gap:.75rem;
      grid-template-columns: 1fr;
    }
    @media (min-width:768px){
      .related-grid{grid-template-columns: repeat(3, 1fr)}
    }
    .rel{
      border-radius: var(--radius-stone);
      overflow:hidden;
      border:1px solid rgba(18,27,31,.12);
      background: rgba(255,255,255,.60);
      text-decoration:none;
      box-shadow: var(--shadow-soft);
      transition: transform .45s ease, box-shadow .45s ease, border-color .45s ease;
      display:grid;
    }
    .rel:hover{transform: translateY(-3px); box-shadow: var(--shadow); border-color: rgba(47,127,115,.22)}
    .rel img{
      width:100%;
      aspect-ratio: 16/10;
      object-fit:cover;
      filter:saturate(.85) contrast(.98);
      display:block;
    }
    .rel div{padding:.75rem .8rem}
    .rel b{
      display:block;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.10em;
      color:var(--slate-950);
      font-size:.92rem;
      line-height:1.25;
    }
    .rel small{display:block; color:var(--muted); margin-top:.25rem}

    /* Contacts */
    .contacts{
      width:min(var(--max), calc(100% - 2rem));
      margin: 0 auto;
      padding: 1.4rem 0 1.2rem;
    }
    .contacts-panel{
      border-radius: calc(var(--radius-stone) + 12px);
      border:1px solid rgba(18,27,31,.12);
      background:
        radial-gradient(900px 320px at 80% 0%, rgba(146,166,109,.18), transparent 58%),
        linear-gradient(180deg, rgba(239,230,214,.52), rgba(255,255,255,.26));
      box-shadow: var(--shadow);
      padding: 1rem;
    }
    .contacts-panel h2{
      margin:0;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.14em;
      font-weight:900;
      color:var(--slate-900);
      font-size: clamp(1.15rem, .9vw + 1rem, 1.65rem);
    }
    .contacts-panel .lead{
      margin:.25rem 0 1rem;
      color:var(--muted);
      max-width: 75ch;
    }
    .contact-grid{
      display:grid;
      gap:1rem;
      grid-template-columns: 1fr;
      align-items:start;
    }
    @media (min-width:768px){
      .contact-grid{grid-template-columns: 1.05fr .95fr}
    }
    .contact-box{
      border-radius: var(--radius-stone);
      border:1px solid rgba(18,27,31,.12);
      background: rgba(255,255,255,.58);
      box-shadow: var(--shadow-soft);
      padding: .9rem;
    }
    .contact-box h3{
      margin:0 0 .45rem 0;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.12em;
      font-weight:900;
      font-size:1.02rem;
      color:var(--slate-950);
    }
    address{
      font-style:normal;
      color:var(--muted);
      line-height:1.6;
    }
    .map{
      width:100%;
      aspect-ratio: 16/11;
      border:0;
      border-radius: var(--radius-stone);
      box-shadow: var(--shadow-soft);
      border:1px solid rgba(18,27,31,.12);
      background: rgba(255,255,255,.45);
    }

    /* Aside promos + modal */
    aside{
      width:min(var(--max), calc(100% - 2rem));
      margin: 0 auto;
      padding: 1rem 0 1.8rem;
      display:grid;
      gap:1rem;
    }
    .promos{
      display:grid;
      gap:.75rem;
      grid-template-columns: 1fr;
    }
    @media (min-width:768px){
      .promos{grid-template-columns: repeat(2, 1fr)}
    }
    @media (min-width:1200px){
      .promos{grid-template-columns: repeat(4, 1fr)}
    }
    .promo{
      border-radius: calc(var(--radius-stone) + 8px);
      border:1px solid rgba(18,27,31,.12);
      background:
        linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.30));
      box-shadow: var(--shadow-soft);
      padding: .85rem .9rem;
      text-decoration:none;
      position:relative;
      overflow:hidden;
      transition: transform .45s ease, box-shadow .45s ease, border-color .45s ease;
    }
    .promo:hover{
      transform: translateY(-3px);
      box-shadow: var(--shadow);
      border-color: rgba(47,127,115,.22);
    }
    .promo::after{
      content:"";
      position:absolute;
      inset:auto -40px -45px auto;
      width:140px; height:110px;
      border-radius: 40px 50px 34px 60px;
      background: radial-gradient(circle at 30% 35%, rgba(169,214,197,.30), rgba(90,174,160,.06));
      border:1px dashed rgba(18,27,31,.14);
      transform: rotate(-10deg);
      opacity:.8;
    }
    .promo b{
      display:block;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.12em;
      color:var(--slate-950);
      margin-bottom:.25rem;
      position:relative;
      z-index:1;
    }
    .promo span{
      display:block;
      color:var(--muted);
      position:relative;
      z-index:1;
    }

    /* Pure CSS modal via :target */
    .modal{
      position:fixed;
      inset:0;
      display:none;
      align-items:center;
      justify-content:center;
      padding: 1.2rem;
      z-index:80;
    }
    .modal:target{display:flex}
    .modal-backdrop{
      position:absolute;
      inset:0;
      background: rgba(13,20,23,.55);
      backdrop-filter: blur(6px);
    }
    .modal-panel{
      position:relative;
      width:min(720px, 100%);
      border-radius: calc(var(--radius-stone) + 14px);
      border:1px solid rgba(246,247,245,.20);
      background:
        radial-gradient(900px 320px at 30% 0%, rgba(169,214,197,.18), transparent 55%),
        linear-gradient(180deg, rgba(246,247,245,.92), rgba(246,247,245,.72));
      box-shadow: 0 30px 90px rgba(13,20,23,.35);
      overflow:hidden;
    }
    .modal-top{
      padding: 1rem 1rem .8rem;
      border-bottom:1px dashed rgba(18,27,31,.18);
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:1rem;
    }
    .modal-top h2{
      margin:0;
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.14em;
      font-weight:900;
      color:var(--slate-950);
      font-size: 1.1rem;
    }
    .modal-top p{
      margin:.25rem 0 0;
      color:var(--muted);
      max-width: 62ch;
      font-size:.95rem;
    }
    .modal-close{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:40px;
      height:40px;
      border-radius: 999px;
      border:1px solid rgba(18,27,31,.18);
      background: rgba(255,255,255,.65);
      text-decoration:none;
      font-size:1.1rem;
      line-height:1;
      box-shadow: var(--shadow-soft);
      flex:0 0 auto;
    }
    .modal-close:hover{transform: translateY(-2px); box-shadow: var(--shadow)}
    .modal-body{
      padding: 1rem;
    }

    /* Footer */
    footer{
      background:
        radial-gradient(900px 320px at 20% 0%, rgba(90,174,160,.14), transparent 55%),
        linear-gradient(180deg, var(--slate-900), var(--slate-950));
      color: rgba(246,247,245,.86);
      padding: 2rem 0;
      position:relative;
      overflow:hidden;
    }
    footer::before{
      content:"";
      position:absolute;
      left:0; right:0; top:0;
      height:2px;
      background:
        repeating-linear-gradient(90deg, rgba(246,247,245,.0) 0px, rgba(246,247,245,.0) 10px, rgba(246,247,245,.35) 10px, rgba(246,247,245,.35) 12px);
      opacity:.75;
    }
    .footer-inner{
      width:min(var(--max), calc(100% - 2rem));
      margin:0 auto;
      display:grid;
      gap:1rem;
    }
    .footer-slogan{
      font-family:var(--serif);
      text-transform:uppercase;
      letter-spacing:.16em;
      font-weight:900;
      margin:0;
      font-size: 1.05rem;
      color: rgba(246,247,245,.92);
    }
    .footer-about{
      margin:0;
      color: rgba(246,247,245,.76);
      max-width: 80ch;
    }
    .footer-social{
      display:flex;
      flex-wrap:wrap;
      gap:.8rem;
      align-items:center;
    }
    .footer-social a{
      color: rgba(246,247,245,.86);
      text-decoration:none;
      border:1px solid rgba(246,247,245,.18);
      background: rgba(255,255,255,.06);
      padding:.6rem .8rem;
      border-radius:999px;
      letter-spacing:.12em;
      text-transform:uppercase;
      font-size:.84rem;
    }
    .footer-social a:hover{
      box-shadow: 0 0 0 6px rgba(90,174,160,.14);
      border-color: rgba(169,214,197,.35);
      transform: translateY(-2px);
    }
    .copyright{
      margin:.2rem 0 0;
      color: rgba(246,247,245,.62);
      font-size:.92rem;
    }
  