:root{
      --bg:#f9fafb;
      --section:#e5e7eb;
      --primary:#2563eb;
      --text:#111827;
      --white:#ffffff;
      --soft:#f3f4f6;
    }

    html{
      scroll-behavior:smooth;
    }

    body{
      background: var(--bg);
      color: var(--text);
      font-family: "Source Serif 4", serif;
      overflow-x:hidden;
    }

    .site-bg{
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:0;
      overflow:hidden;
    }

    .site-bg::before,
    .site-bg::after{
      content:"";
      position:absolute;
      border-radius:50%;
      filter:blur(90px);
      opacity:.22;
      background:rgba(37,99,235,.22);
      animation: zoomPulse 10s ease-in-out infinite;
    }

    .site-bg::before{
      width:320px;
      height:320px;
      top:5%;
      left:-6%;
    }

    .site-bg::after{
      width:260px;
      height:260px;
      right:-4%;
      top:38%;
      animation-delay:1.5s;
    }

    .page-wrap{
      position:relative;
      z-index:1;
    }

    .navbar.is-custom{
      background:rgba(249,250,251,.8);
      backdrop-filter: blur(14px);
      border-bottom:1px solid rgba(17,24,39,.08);
    }

    .navbar.is-custom .navbar-item,
    .navbar.is-custom .navbar-link{
      color:var(--text);
      font-family:"Cormorant Garamond", serif;
      font-size:1.2rem;
      letter-spacing:.02em;
    }

    .brand-mark{
      display:flex;
      flex-direction:column;
      line-height:1;
    }

    .brand-mark strong{
      font-family:"Cormorant Garamond", serif;
      color:var(--text);
      font-size:1.5rem;
      font-weight:700;
    }

    .brand-mark span{
      color:var(--primary);
      font-size:.82rem;
      text-transform:uppercase;
      letter-spacing:.18em;
      margin-top:.2rem;
    }

    .section-box{
      background:rgba(229,231,235,.74);
      border:1px solid rgba(17,24,39,.08);
      border-radius:28px;
      backdrop-filter: blur(12px);
      box-shadow:0 16px 40px rgba(17,24,39,.05);
    }

    .hero-magazine{
      padding-top:2.5rem;
      padding-bottom:1rem;
    }

    .hero-grid{
      display:flex;
      gap:1.5rem;
      align-items:stretch;
      flex-wrap:wrap;
    }

    .hero-copy{
      flex:1 1 540px;
      padding:3rem;
      min-height:420px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      position:relative;
      overflow:hidden;
    }

    .hero-copy::after{
      content:"";
      position:absolute;
      width:180px;
      height:180px;
      right:-40px;
      bottom:-40px;
      background:rgba(37,99,235,.12);
      filter:blur(26px);
      border-radius:50%;
      animation: zoomPulse 7s ease-in-out infinite;
    }

    .eyebrow{
      display:inline-block;
      font-size:.9rem;
      letter-spacing:.22em;
      text-transform:uppercase;
      color:var(--primary);
      margin-bottom:1rem;
      font-weight:600;
    }

    .outlined-title{
      font-family:"Cormorant Garamond", serif;
      font-weight:700;
      line-height:.98;
      color:transparent;
      -webkit-text-stroke:1.3px var(--text);
      text-transform:uppercase;
      letter-spacing:.03em;
    }

    .hero-copy .outlined-title{
      font-size:clamp(2.8rem, 7vw, 5.8rem);
      max-width:9ch;
    }

    .hero-lead{
      font-size:1.1rem;
      max-width:58ch;
      margin-top:1.2rem;
      color:rgba(17,24,39,.9);
    }

    .hero-actions{
      display:flex;
      gap:1rem;
      flex-wrap:wrap;
      margin-top:2rem;
    }

    .ghost-btn{
      background:transparent;
      color:var(--primary);
      border:1.5px solid var(--primary);
      border-radius:999px;
      padding:.85rem 1.35rem;
      font-weight:600;
      transition:.3s ease;
    }

    .ghost-btn:hover{
      background:rgba(37,99,235,.08);
      color:var(--primary);
      transform:scale(1.04);
    }

    .hero-side{
      flex:1 1 320px;
      display:flex;
      flex-direction:column;
      gap:1.5rem;
    }

    .mini-panel{
      padding:1.6rem;
      position:relative;
      overflow:hidden;
      min-height:200px;
      animation: zoomIn 1s ease;
    }

    .mini-panel h3{
      font-family:"Cormorant Garamond", serif;
      font-size:1.8rem;
      color:transparent;
      -webkit-text-stroke:1px var(--text);
      text-transform:uppercase;
      margin-bottom:.8rem;
    }

    .metric{
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      gap:1rem;
      margin-top:1.2rem;
    }

    .metric strong{
      font-size:3rem;
      line-height:1;
      color:var(--primary);
      font-family:"Cormorant Garamond", serif;
    }

    .metric span{
      max-width:12ch;
      text-align:right;
      color:rgba(17,24,39,.75);
    }

    .shape-line{
      width:100%;
      height:1px;
      background:linear-gradient(90deg, rgba(37,99,235,.6), transparent);
      margin:1rem 0;
    }

    .about-wrap{
      padding:1rem 0 0;
    }

    .about-inner{
      display:flex;
      flex-wrap:wrap;
      gap:1.5rem;
      align-items:stretch;
    }

    .about-card{
      flex:1 1 380px;
      padding:2rem;
      min-height:300px;
      animation: zoomIn .9s ease;
    }

    .about-card .outlined-title{
      font-size:clamp(2rem,4vw,3.3rem);
      margin-bottom:1rem;
    }

    .about-note{
      flex:1 1 280px;
      padding:2rem;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      min-height:300px;
      animation: zoomIn 1.1s ease;
    }

    .quote-box{
      font-size:1.15rem;
      color:rgba(17,24,39,.86);
      border-left:3px solid var(--primary);
      padding-left:1rem;
    }

    .section-title-row{
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:1rem;
      margin-bottom:1.5rem;
      flex-wrap:wrap;
    }

    .section-title-row .outlined-title{
      font-size:clamp(2rem,4.2vw,3.6rem);
    }

    .content-area{
      padding:2rem 0 3rem;
    }

    .posts-grid{
      display:flex;
      flex-wrap:wrap;
      gap:1.5rem;
    }

    .post-card{
      flex:1 1 calc(33.333% - 1.5rem);
      min-width:280px;
      padding:1rem;
      background:rgba(229,231,235,.72);
      border:1px solid rgba(17,24,39,.08);
      border-radius:24px;
      backdrop-filter: blur(10px);
      transition:transform .3s ease, box-shadow .3s ease;
      animation: zoomIn .8s ease;
    }

    .post-card:hover{
      transform:scale(1.025);
      box-shadow:0 16px 34px rgba(17,24,39,.08);
    }

    .polaroid{
      background:var(--white);
      padding:.85rem .85rem 1.3rem;
      border-radius:8px;
      box-shadow:0 10px 24px rgba(17,24,39,.08);
      transform:rotate(-1.2deg);
      margin-bottom:1.2rem;
    }

    .post-card:nth-child(even) .polaroid{
      transform:rotate(1.1deg);
    }

    .polaroid img{
      width:100%;
      height:220px;
      object-fit:cover;
      border-radius:4px;
      display:block;
    }

    .polaroid-label{
      font-family:"Cormorant Garamond", serif;
      text-align:center;
      color:var(--text);
      margin-top:.7rem;
      font-size:1.12rem;
    }

    .post-card h3{
      font-family:"Cormorant Garamond", serif;
      font-size:1.7rem;
      line-height:1.05;
      color:var(--text);
      margin-bottom:.75rem;
    }

    .post-card p{
      color:rgba(17,24,39,.84);
      margin-bottom:1rem;
    }

    .read-link{
      color:var(--primary);
      font-weight:700;
      display:inline-flex;
      align-items:center;
      gap:.45rem;
    }

    .read-link:hover{
      color:var(--primary);
      transform:scale(1.03);
    }

    footer.footer{
      background:transparent;
      padding:1rem 1.5rem 3rem;
    }

    .footer-shell{
      padding:2rem;
    }

    .footer-title{
      font-family:"Cormorant Garamond", serif;
      color:transparent;
      -webkit-text-stroke:1px var(--text);
      text-transform:uppercase;
      font-size:1.7rem;
      margin-bottom:1rem;
    }

    .footer-shell a{
      color:var(--text);
    }

    .footer-shell a:hover{
      color:var(--primary);
    }

    .footer-meta{
      margin-top:1.5rem;
      padding-top:1rem;
      border-top:1px solid rgba(17,24,39,.09);
      color:rgba(17,24,39,.72);
    }

    @keyframes zoomIn{
      from{opacity:0; transform:scale(.94);}
      to{opacity:1; transform:scale(1);}
    }

    @keyframes zoomPulse{
      0%,100%{transform:scale(1);}
      50%{transform:scale(1.12);}
    }

    @media screen and (max-width: 1023px){
      .hero-copy{
        min-height:auto;
      }
      .post-card{
        flex:1 1 calc(50% - 1.5rem);
      }
    }

    @media screen and (max-width: 768px){
      .navbar-menu{
        background:rgba(249,250,251,.95);
        backdrop-filter:blur(14px);
      }
      .hero-copy,
      .mini-panel,
      .about-card,
      .about-note,
      .footer-shell{
        padding:1.5rem;
      }
      .post-card{
        flex:1 1 100%;
      }
      .hero-copy .outlined-title{
        max-width:100%;
      }
    }
