/*
Theme Name: Cassiopeia Florist TMII
Theme URI: https://tokobungatamanmini.com
Author: Cassiopeia Florist
Author URI: https://tokobungatamanmini.com
Description: Tema florist boutique untuk Toko Bunga TMII - Cassiopeia Florist. Landing page elegan dengan blog terintegrasi untuk artikel SEO.
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: cassiopeia-tmii
*/


  :root{
    --bg:#1a1518;
    --bg-2:#221b1f;
    --paper:#f7f0ec;
    --paper-2:#ede1da;
    --ink:#1a1518;
    --ink-soft:#6a5b56;
    --ink-mute:#a08d85;
    --mauve:#8a4a5e;
    --mauve-soft:#b06c80;
    --rose:#d99a9a;
    --champagne:#c9a86a;
    --line:rgba(26,21,24,0.14);
    --line-light:rgba(247,240,236,0.14);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Albert Sans',system-ui,sans-serif;
    background:var(--paper);color:var(--ink);
    line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:500;letter-spacing:-0.01em;line-height:1.05;text-wrap:balance;color:var(--ink)}
  .label{font-family:'Albert Sans',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .container{max-width:1280px;margin:0 auto;padding:0 30px}
  .star{color:var(--champagne)}

  /* TOP BAR */
  .topbar{background:var(--bg);color:var(--paper);padding:10px 0;font-size:12px}
  .tb-row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
  .tb-row a{display:inline-flex;align-items:center;gap:8px;opacity:.85;font-weight:500}
  .tb-row a:hover{opacity:1}
  .tb-left{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
  .tb-row .badge24{display:inline-flex;align-items:center;gap:7px;color:var(--champagne);font-weight:600;letter-spacing:.04em}
  .tb-row .badge24::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--champagne);box-shadow:0 0 0 3px rgba(201,168,106,.25)}

  /* NAV */
  header.nav{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60}
  .nav-inner{display:flex;justify-content:space-between;align-items:center;padding:18px 0;gap:24px}
  .brand{display:flex;align-items:center;gap:14px}
  .brand-mark{width:46px;height:46px;border-radius:50%;background:var(--mauve);color:var(--paper);display:grid;place-items:center;font-family:'Fraunces',serif;font-size:24px;font-style:italic}
  .brand-name{font-family:'Fraunces',serif;font-size:23px;font-weight:500;line-height:1;color:var(--ink)}
  .brand-sub{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-mute);margin-top:4px}
  nav ul{list-style:none;display:flex;gap:30px}
  nav a{font-size:13.5px;color:var(--ink-soft);transition:color .2s;font-weight:500}
  nav a:hover{color:var(--mauve)}
  .nav-cta{display:inline-flex;align-items:center;gap:9px;background:var(--mauve);color:var(--paper);padding:12px 22px;border-radius:999px;font-size:13px;font-weight:600;transition:background .2s}
  .nav-cta:hover{background:var(--bg)}

  /* HERO */
  .hero{background:var(--bg);color:var(--paper);padding:80px 0 90px;position:relative;overflow:hidden}
  .hero::before{content:"✦";position:absolute;top:60px;left:8%;color:var(--champagne);opacity:.4;font-size:18px}
  .hero::after{content:"✦";position:absolute;bottom:120px;right:6%;color:var(--champagne);opacity:.3;font-size:24px}
  .hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
  .hero h1{font-size:clamp(50px,7vw,96px);font-weight:500;color:var(--paper);margin:26px 0 28px;letter-spacing:-0.02em}
  .hero h1 em{font-style:italic;color:var(--rose);font-weight:400}
  .hero .eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--champagne)}
  .hero .eyebrow::before{content:"✦"}
  .hero p.lead{font-size:17px;color:rgba(247,240,236,.72);max-width:520px;margin-bottom:36px;line-height:1.6;font-weight:300}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px}
  .btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:999px;font-size:14px;font-weight:600;font-family:'Albert Sans',sans-serif;cursor:pointer;border:none;transition:all .2s}
  .btn-primary{background:var(--paper);color:var(--bg)}
  .btn-primary:hover{background:var(--rose);transform:translateY(-1px)}
  .btn-ghost{background:transparent;color:var(--paper);border:1px solid rgba(247,240,236,.3)}
  .btn-ghost:hover{border-color:var(--paper);background:rgba(247,240,236,.08)}
  .hero-meta{display:flex;gap:44px;flex-wrap:wrap;padding-top:28px;border-top:1px solid var(--line-light)}
  .hero-meta .num{font-family:'Fraunces',serif;font-size:34px;color:var(--rose);line-height:1;font-style:italic}
  .hero-meta .lab{font-size:11.5px;color:rgba(247,240,236,.6);margin-top:6px;letter-spacing:.04em}
  .hero-visual{position:relative;aspect-ratio:4/5}
  .hero-visual img{width:100%;height:100%;object-fit:cover;border-radius:200px 200px 14px 14px;box-shadow:0 30px 70px rgba(0,0,0,.4)}
  .hero-chip{position:absolute;bottom:34px;left:-22px;background:var(--paper);color:var(--ink);padding:16px 22px;border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.25);z-index:3}
  .hero-chip b{display:block;font-family:'Fraunces',serif;font-size:17px;font-style:italic}
  .hero-chip small{font-size:11px;color:var(--ink-soft);letter-spacing:.04em;display:block;margin-top:3px}

  /* TRUST */
  .trust{background:var(--paper-2);padding:22px 0;border-bottom:1px solid var(--line)}
  .trust-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
  .trust-item{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-soft);font-weight:500}
  .trust-item svg{flex-shrink:0;color:var(--mauve)}

  /* SECTION */
  section{padding:100px 0}
  .sec-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:56px}
  .sec-hd .eyebrow{color:var(--mauve);margin-bottom:16px;display:inline-flex;align-items:center;gap:10px}
  .sec-hd .eyebrow::before{content:"✦";color:var(--champagne)}
  .sec-hd h2{font-size:clamp(36px,4.6vw,58px);max-width:680px;line-height:1.04}
  .sec-hd h2 em{font-style:italic;color:var(--mauve)}
  .sec-hd .right{max-width:360px;font-size:15px;color:var(--ink-soft);line-height:1.6}

  /* LAYANAN STRIP */
  .layanan{background:var(--paper)}
  .layanan-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
  .lay{padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--paper);transition:all .2s;display:flex;flex-direction:column;gap:10px}
  .lay:hover{border-color:var(--mauve);background:var(--paper-2)}
  .lay .ic{width:40px;height:40px;border-radius:50%;background:var(--mauve);color:var(--paper);display:grid;place-items:center;font-family:'Fraunces',serif;font-style:italic;font-size:18px}
  .lay b{font-family:'Fraunces',serif;font-size:18px;font-weight:500}
  .lay small{font-size:12.5px;color:var(--ink-soft);line-height:1.5}

  /* KATEGORI */
  #kategori{background:var(--paper-2)}
  .cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .cat{background:var(--paper);border-radius:14px;overflow:hidden;transition:all .25s;cursor:pointer;display:flex;flex-direction:column;box-shadow:0 2px 16px rgba(26,21,24,.04)}
  .cat:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(26,21,24,.1)}
  .cat-img{aspect-ratio:4/3;background:var(--paper-2);overflow:hidden;position:relative}
  .cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
  .cat:hover .cat-img img{transform:scale(1.05)}
  .cat-tag{position:absolute;top:14px;left:14px;background:var(--paper);padding:6px 13px;border-radius:999px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mauve);font-weight:600}
  .cat-body{padding:24px;display:flex;flex-direction:column;flex:1}
  .cat h3{font-size:24px;margin-bottom:8px}
  .cat p{font-size:13.5px;color:var(--ink-soft);margin-bottom:18px;flex:1;line-height:1.55}
  .cat .foot{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid var(--line)}
  .cat .price{font-family:'Fraunces',serif;font-size:18px;color:var(--mauve);font-style:italic}
  .cat .arrow{font-size:18px;color:var(--mauve);transition:transform .2s}
  .cat:hover .arrow{transform:translateX(4px)}

  /* MOMENTS / OCCASIONS BAND */
  #momen{background:var(--bg);color:var(--paper)}
  #momen .sec-hd h2{color:var(--paper)}
  #momen .sec-hd h2 em{color:var(--rose)}
  #momen .sec-hd .right{color:rgba(247,240,236,.65)}
  #momen .sec-hd .eyebrow{color:var(--champagne)}
  .momen-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
  .momen{padding:24px 18px;border:1px solid var(--line-light);border-radius:12px;text-align:center;transition:all .2s}
  .momen:hover{background:rgba(247,240,236,.05);border-color:var(--champagne)}
  .momen .mi{font-family:'Fraunces',serif;font-size:26px;font-style:italic;color:var(--champagne);margin-bottom:10px}
  .momen b{display:block;font-size:13.5px;color:var(--paper);font-weight:500;line-height:1.3}
  .momen small{font-size:11px;color:rgba(247,240,236,.55);display:block;margin-top:4px}

  /* PRODUK */
  .prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
  .prod{background:var(--paper);border-radius:14px;overflow:hidden;border:1px solid var(--line);transition:all .25s;display:flex;flex-direction:column}
  .prod:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(26,21,24,.08)}
  .prod-img{aspect-ratio:1/1;background:var(--paper-2);overflow:hidden;position:relative}
  .prod-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
  .prod:hover .prod-img img{transform:scale(1.04)}
  .prod-tag{position:absolute;top:14px;left:14px;background:var(--mauve);color:var(--paper);padding:5px 12px;border-radius:999px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
  .prod-body{padding:22px}
  .prod-body h3{font-size:21px;margin-bottom:6px;line-height:1.15}
  .prod-body .desc{font-size:13px;color:var(--ink-soft);margin-bottom:18px;line-height:1.5}
  .prod-foot{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--line)}
  .prod-foot .price{font-family:'Fraunces',serif;font-size:22px;color:var(--mauve);font-style:italic;line-height:1}
  .prod-foot .price small{font-size:10px;color:var(--ink-mute);font-family:'Albert Sans',sans-serif;display:block;letter-spacing:.06em;margin-top:5px;font-style:normal}
  .prod-foot a{background:var(--mauve);color:var(--paper);padding:9px 16px;border-radius:999px;font-size:12.5px;font-weight:600;transition:background .2s}
  .prod-foot a:hover{background:var(--bg)}

  /* GALERI */
  #galeri{background:var(--paper-2)}
  .gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .gal-item{aspect-ratio:3/4;overflow:hidden;border-radius:12px;position:relative;cursor:zoom-in;background:var(--paper);display:block}
  .gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
  .gal-item:hover img{transform:scale(1.05)}
  .gal-cap{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(transparent,rgba(26,21,24,.85));color:var(--paper);font-family:'Fraunces',serif;font-size:16px;font-style:italic;opacity:0;transition:opacity .3s}
  .gal-cap small{display:block;font-family:'Albert Sans',sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-style:normal;opacity:.85;margin-top:4px}
  .gal-item:hover .gal-cap{opacity:1}
  .gal-cta{margin-top:52px;text-align:center;padding:44px 30px;border-radius:16px;background:var(--paper);border:1px solid var(--line)}
  .gal-cta p{font-family:'Fraunces',serif;font-size:26px;color:var(--ink);max-width:600px;margin:0 auto 24px;line-height:1.25}
  .gal-cta p em{font-style:italic;color:var(--mauve)}

  /* LIGHTBOX */
  .lb{position:fixed;inset:0;background:rgba(20,15,18,.95);z-index:200;display:none;align-items:center;justify-content:center;padding:40px;cursor:zoom-out}
  .lb.open{display:flex}
  .lb img{max-width:100%;max-height:100%;border-radius:8px}
  .lb-close{position:absolute;top:24px;right:24px;width:44px;height:44px;background:rgba(247,240,236,.12);color:var(--paper);display:grid;place-items:center;cursor:pointer;font-size:22px;border-radius:50%}
  .lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;background:rgba(247,240,236,.12);color:var(--paper);display:grid;place-items:center;cursor:pointer;font-size:22px;border-radius:50%;font-family:'Fraunces',serif}
  .lb-prev{left:24px}.lb-next{right:24px}
  .lb-meta{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(247,240,236,.72);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;text-align:center;max-width:80%}

  /* PARCEL */
  .parcel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .parcel{background:var(--paper);border-radius:14px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .2s}
  .parcel:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(26,21,24,.07)}
  .parcel-img{aspect-ratio:4/3;background:var(--paper-2);overflow:hidden;position:relative}
  .parcel-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
  .parcel:hover .parcel-img img{transform:scale(1.05)}
  .parcel-num{position:absolute;top:12px;left:12px;background:var(--paper);color:var(--mauve);padding:4px 11px;border-radius:999px;font-family:'Fraunces',serif;font-size:13px;font-style:italic}
  .parcel-body{padding:22px;display:flex;flex-direction:column;flex:1}
  .parcel h3{font-size:20px;margin-bottom:8px}
  .parcel p{font-size:13px;color:var(--ink-soft);margin-bottom:14px;flex:1;line-height:1.5}
  .parcel .from{padding-top:13px;border-top:1px solid var(--line);font-family:'Fraunces',serif;font-size:17px;color:var(--mauve);font-style:italic}
  .parcel .from small{display:block;font-size:10px;color:var(--ink-mute);letter-spacing:.12em;text-transform:uppercase;font-family:'Albert Sans',sans-serif;font-style:normal;margin-bottom:4px}

  /* KENAPA */
  #kenapa{background:var(--paper)}
  .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
  .why-item{display:flex;flex-direction:column;gap:12px}
  .why-num{font-family:'Fraunces',serif;font-size:40px;color:var(--mauve);font-style:italic;line-height:1}
  .why-item h3{font-size:20px;line-height:1.2}
  .why-item p{font-size:14px;color:var(--ink-soft);line-height:1.6}

  /* PROSES */
  #proses{background:var(--paper-2)}
  .step-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .step{padding:40px 26px;border-right:1px solid var(--line)}
  .step:last-child{border-right:none}
  .step-num{font-family:'Fraunces',serif;font-size:40px;color:var(--mauve);font-style:italic;line-height:1;margin-bottom:18px}
  .step h3{font-size:20px;margin-bottom:8px}
  .step p{font-size:13.5px;color:var(--ink-soft);line-height:1.6}

  /* TESTI */
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .testi{background:var(--paper);border-radius:14px;padding:30px;border:1px solid var(--line);display:flex;flex-direction:column;gap:18px}
  .testi .stars{color:var(--champagne);letter-spacing:2px;font-size:13px}
  .testi .quote{font-family:'Fraunces',serif;font-size:18px;font-style:italic;color:var(--ink);line-height:1.4}
  .testi .who{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
  .testi .av{width:40px;height:40px;border-radius:50%;background:var(--mauve);color:var(--paper);display:grid;place-items:center;font-family:'Fraunces',serif;font-style:italic;font-size:17px}
  .testi .who b{font-weight:600;font-size:13px;display:block}
  .testi .who small{font-size:11.5px;color:var(--ink-mute)}

  /* FAQ */
  #faq{background:var(--paper)}
  .faq-wrap{max-width:840px;margin:0 auto}
  .faq-item{border-bottom:1px solid var(--line);padding:26px 0;cursor:pointer}
  .faq-q{display:flex;justify-content:space-between;align-items:center;gap:20px}
  .faq-q h3{font-size:21px;font-weight:500;line-height:1.25;flex:1}
  .faq-q .pm{font-family:'Fraunces',serif;font-size:26px;color:var(--mauve);line-height:1;transition:transform .2s}
  .faq-a{font-size:14.5px;color:var(--ink-soft);line-height:1.7;margin-top:14px;display:none;max-width:720px}
  .faq-item.open .faq-a{display:block}
  .faq-item.open .pm{transform:rotate(45deg)}

  /* CTA */
  .cta-band{background:var(--mauve);color:var(--paper);padding:90px 0;text-align:center;position:relative;overflow:hidden}
  .cta-band::before{content:"✦";position:absolute;top:36px;left:50%;transform:translateX(-50%);color:var(--champagne);font-size:20px}
  .cta-band .eyebrow{color:var(--rose);display:block;margin-bottom:24px}
  .cta-band h2{color:var(--paper);font-size:clamp(38px,5.5vw,68px);margin-bottom:20px;line-height:1.05}
  .cta-band h2 em{font-style:italic;color:var(--rose)}
  .cta-band p{color:rgba(247,240,236,.82);max-width:540px;margin:0 auto 36px;font-size:16px;line-height:1.6}
  .cta-band .btn-primary{background:var(--paper);color:var(--mauve)}
  .cta-band .btn-primary:hover{background:var(--bg);color:var(--paper)}

  /* FOOTER */
  footer{background:var(--bg);color:var(--paper);padding:70px 0 28px}
  .ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px}
  .ft-brand .brand{margin-bottom:18px}
  .ft-brand .brand-name{color:var(--paper)}
  .ft-brand .brand-sub{color:rgba(247,240,236,.55)}
  .ft-brand p{font-size:13.5px;color:rgba(247,240,236,.65);max-width:340px;line-height:1.6}
  footer h4{font-family:'Albert Sans',sans-serif;font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--champagne);margin-bottom:18px}
  footer ul{list-style:none;display:flex;flex-direction:column;gap:9px}
  footer ul a, footer ul li{font-size:13px;color:rgba(247,240,236,.65);transition:color .2s;line-height:1.5}
  footer ul a:hover{color:var(--paper)}
  .ft-bot{border-top:1px solid var(--line-light);padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11.5px;color:rgba(247,240,236,.45)}

  /* FLOAT */
  .wa-float{position:fixed;bottom:24px;right:24px;z-index:100;background:#25D366;color:#fff;padding:14px 24px 14px 18px;border-radius:999px;box-shadow:0 12px 30px rgba(37,211,102,.35);display:inline-flex;align-items:center;gap:12px;font-size:13.5px;font-weight:600;transition:transform .2s}
  .wa-float:hover{transform:translateY(-2px)}
  .wa-float .wa-ic{width:32px;height:32px;border-radius:50%;background:#fff;color:#25D366;display:grid;place-items:center;flex-shrink:0}

  /* RESP */
  @media (max-width:1024px){
    .hero-grid{grid-template-columns:1fr;gap:50px}
    .layanan-list{grid-template-columns:repeat(2,1fr)}
    .cat-grid{grid-template-columns:repeat(2,1fr)}
    .momen-grid{grid-template-columns:repeat(3,1fr)}
    .prod-grid{grid-template-columns:repeat(2,1fr)}
    .gal-grid{grid-template-columns:repeat(3,1fr)}
    .parcel-grid{grid-template-columns:repeat(2,1fr)}
    .why-grid{grid-template-columns:repeat(2,1fr);gap:36px}
    .step-row{grid-template-columns:repeat(2,1fr)}
    .step{border-bottom:1px solid var(--line)}
    .step:nth-last-child(-n+2){border-bottom:none}
    .testi-grid{grid-template-columns:1fr}
    .ft-grid{grid-template-columns:1fr 1fr;gap:32px}
    nav ul{display:none}
    .sec-hd{flex-direction:column;align-items:flex-start}
  }
  @media (max-width:720px){
    section{padding:66px 0}
    .hero{padding:50px 0 60px}
    .hero-visual{aspect-ratio:4/4.5}
    .container{padding:0 22px}
    .layanan-list{grid-template-columns:1fr}
    .cat-grid{grid-template-columns:1fr}
    .momen-grid{grid-template-columns:repeat(2,1fr)}
    .prod-grid{grid-template-columns:1fr}
    .gal-grid{grid-template-columns:repeat(2,1fr);gap:10px}
    .gal-cap{opacity:1}
    .parcel-grid{grid-template-columns:1fr}
    .why-grid{grid-template-columns:1fr;gap:28px}
    .step-row{grid-template-columns:1fr}
    .step{border-right:none;border-bottom:1px solid var(--line)}
    .step:last-child{border-bottom:none}
    .hero-meta{gap:28px}
    .ft-grid{grid-template-columns:1fr;gap:30px}
    .tb-left span.hidesm{display:none}
    .wa-float .lbl{display:none}
    .wa-float{padding:13px}
  }


/* ============ BLOG / ARTIKEL ============ */
.blog-hero{background:var(--bg);color:var(--paper);padding:70px 0 60px;text-align:center}
.blog-hero .eyebrow{color:var(--champagne);display:inline-block;margin-bottom:16px}
.blog-hero h1{color:var(--paper);font-size:clamp(36px,5vw,60px)}
.blog-hero h1 em{font-style:italic;color:var(--rose)}
.blog-hero p{color:rgba(247,240,236,.7);max-width:560px;margin:18px auto 0;font-size:16px}
.blog-wrap{padding:80px 0}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.post-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:all .25s}
.post-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(26,21,24,.08)}
.post-thumb{aspect-ratio:16/10;overflow:hidden;background:var(--paper-2)}
.post-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post-card:hover .post-thumb img{transform:scale(1.05)}
.post-thumb-ph{width:100%;height:100%;display:grid;place-items:center;background:var(--paper-2);color:var(--mauve);font-family:'Fraunces',serif;font-size:40px;font-style:italic}
.post-body{padding:26px;display:flex;flex-direction:column;flex:1}
.post-meta{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mauve);font-weight:600;margin-bottom:12px}
.post-body h2{font-size:23px;line-height:1.2;margin-bottom:12px}
.post-body h2 a:hover{color:var(--mauve)}
.post-excerpt{font-size:14px;color:var(--ink-soft);line-height:1.6;margin-bottom:18px;flex:1}
.post-more{font-size:12.5px;font-weight:600;color:var(--mauve);letter-spacing:.04em;display:inline-flex;align-items:center;gap:6px}
.post-more:hover{gap:10px}

/* SINGLE ARTICLE */
.article-wrap{max-width:760px;margin:0 auto;padding:70px 30px 90px}
.article-head{text-align:center;margin-bottom:44px}
.article-head .meta{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mauve);font-weight:600;margin-bottom:18px}
.article-head h1{font-size:clamp(32px,4.4vw,52px);line-height:1.1;margin-bottom:18px}
.article-head .sub{font-size:14px;color:var(--ink-mute)}
.article-feat{aspect-ratio:16/9;border-radius:16px;overflow:hidden;margin-bottom:44px;background:var(--paper-2)}
.article-feat img{width:100%;height:100%;object-fit:cover}
.article-body{font-size:17px;line-height:1.8;color:var(--ink)}
.article-body p{margin-bottom:24px}
.article-body h2{font-size:30px;margin:44px 0 18px}
.article-body h3{font-size:23px;margin:36px 0 14px}
.article-body ul,.article-body ol{margin:0 0 24px 22px}
.article-body li{margin-bottom:10px}
.article-body a{color:var(--mauve);text-decoration:underline;text-underline-offset:3px}
.article-body img{border-radius:12px;margin:24px 0}
.article-body blockquote{border-left:3px solid var(--mauve);padding:6px 0 6px 24px;margin:28px 0;font-family:'Fraunces',serif;font-style:italic;font-size:21px;color:var(--ink-soft)}
.article-cta{margin-top:50px;padding:36px;border-radius:14px;background:var(--paper-2);text-align:center}
.article-cta p{font-family:'Fraunces',serif;font-size:22px;font-style:italic;color:var(--ink);margin-bottom:18px}
.pagination{display:flex;justify-content:center;gap:10px;margin-top:60px}
.pagination a,.pagination span{padding:10px 16px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:600;color:var(--ink-soft)}
.pagination .current{background:var(--mauve);color:var(--paper);border-color:var(--mauve)}
.pagination a:hover{border-color:var(--mauve);color:var(--mauve)}
.widget-back{text-align:center;margin-top:30px}
@media (max-width:1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.blog-grid{grid-template-columns:1fr}.article-wrap{padding:50px 22px 70px}}
