/* =========================================================
   DELLA BORN — system designu
   Motyw: "Kolagen morski" — głęboki granat oceanu, perłowa biel,
   przydymiony róż i metaliczny pearl-gold. Sygnaturowy motyw:
   fala/zafalowanie (ripple) jako separator sekcji + "kropla"
   jako marker listy (nawiązanie do serum/ampułek).
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --c-ink: #16242C;
  --c-ocean: #577A8E;
  --c-ocean-2: #476474;
  --c-ocean-soft: #EEF2F4;
  --c-pearl: #F6F1EA;
  --c-shell: #FFFFFF;
  --c-rose: #C58C9E;
  --c-rose-deep: #A8677D;
  --c-rose-soft: #F3E1E6;
  --c-gold: #AD8A54;
  --c-gold-soft: #EDE2CC;
  --c-line: rgba(14,42,61,0.14);
  --c-muted: #5C6E76;
  --radius: 2px;
  --radius-lg: 6px;
  --maxw: 1240px;
  --shadow-soft: 0 18px 40px -22px rgba(14,42,61,0.35);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--c-pearl);
  color:var(--c-ink);
  font-family:'Manrope', -apple-system, sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Fraunces', Georgia, serif;
  font-weight:500;
  line-height:1.12;
  margin:0 0 .5em;
  color:var(--c-ocean);
  letter-spacing:-0.01em;
}
h1{font-size:clamp(2.4rem,5vw,4rem); font-weight:400;}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);}
h3{font-size:1.35rem;}
p{margin:0 0 1em; color:var(--c-ink);}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
ul{margin:0; padding:0; list-style:none;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
.eyebrow{
  font-family:'Manrope',sans-serif; font-weight:700; font-size:.72rem;
  letter-spacing:.18em; text-transform:uppercase; color:var(--c-rose-deep);
  display:flex; align-items:center; gap:10px; margin-bottom:14px;
}
.eyebrow::before{content:""; width:22px; height:1px; background:var(--c-rose-deep);}
.lede{font-size:1.1rem; color:var(--c-muted); max-width:640px;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 30px; border-radius:var(--radius); border:1px solid var(--c-ocean);
  background:var(--c-ocean); color:#fff; font-family:'Manrope',sans-serif;
  font-weight:600; font-size:.85rem; letter-spacing:.04em; text-transform:uppercase;
  cursor:pointer; transition:.25s ease; text-align:center;
}
.btn:hover{background:var(--c-ocean-2); border-color:var(--c-ocean-2); transform:translateY(-1px);}
.btn-outline{background:transparent; color:var(--c-ocean);}
.btn-outline:hover{background:var(--c-ocean); color:#fff;}
.btn-rose{background:var(--c-rose-deep); border-color:var(--c-rose-deep);}
.btn-rose:hover{background:#8f5468; border-color:#8f5468;}
.btn-block{width:100%;}
.btn-sm{padding:10px 18px; font-size:.75rem;}
.btn:disabled{opacity:.45; cursor:not-allowed; transform:none;}

/* ---------- header ---------- */
.top-bar{
  background:var(--c-ocean); color:#EFE7DC; font-size:.78rem; letter-spacing:.03em;
}
.top-bar .container{display:flex; justify-content:space-between; align-items:center; padding:9px 28px; gap:16px; flex-wrap:wrap;}
.top-bar a{opacity:.9;}
.top-bar a:hover{opacity:1; text-decoration:underline;}

.site-header{
  position:sticky; top:0; z-index:60; background:rgba(246,241,234,.94);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--c-line);
}
.site-header .container{display:flex; align-items:center; justify-content:space-between; padding:16px 28px;}
.logo{
  font-family:'Fraunces',serif; font-size:1.55rem; letter-spacing:.06em; font-weight:500;
  color:var(--c-ocean); display:flex; flex-direction:column; line-height:1;
}
.logo small{font-family:'Manrope',sans-serif; font-size:.55rem; letter-spacing:.32em; color:var(--c-rose-deep); font-weight:700; margin-top:4px;}
.main-nav{display:flex; gap:34px; align-items:center;}
.main-nav a{
  font-size:.86rem; font-weight:600; letter-spacing:.02em; color:var(--c-ocean);
  position:relative; padding:6px 0;
}
.main-nav a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--c-rose-deep);
  transition:width .25s ease;
}
.main-nav a:hover::after, .main-nav a.active::after{width:100%;}
.header-actions{display:flex; align-items:center; gap:20px;}
.icon-link{position:relative; display:flex; align-items:center; gap:8px; font-size:.85rem; font-weight:600;}
.cart-count{
  position:absolute; top:-9px; right:-13px; background:var(--c-rose-deep); color:#fff;
  font-size:.65rem; font-weight:700; width:18px; height:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:6px;}
.nav-toggle span{display:block; width:24px; height:2px; background:var(--c-ocean); margin:5px 0;}

@media (max-width:920px){
  .main-nav{
    position:fixed; inset:0 0 0 auto; width:78%; max-width:320px; background:var(--c-shell);
    flex-direction:column; align-items:flex-start; padding:100px 32px 32px; gap:22px;
    transform:translateX(100%); transition:transform .3s ease; box-shadow:var(--shadow-soft);
  }
  .main-nav.open{transform:translateX(0);}
  .nav-toggle{display:block;}
}

/* ---------- wave / ripple divider (signature element) ---------- */
.wave{display:block; width:100%; line-height:0;}
.wave svg{width:100%; height:auto; display:block;}
.wave-ocean{background:var(--c-ocean);}
.ripple-rule{
  display:flex; align-items:center; gap:10px; margin:0 0 20px;
}
.ripple-rule svg{flex:none;}
.ripple-rule span{font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:var(--c-rose-deep);}

/* ---------- hero ---------- */
.hero{
  position:relative; background:linear-gradient(180deg,var(--c-pearl) 0%, #EFE6DA 100%);
  overflow:hidden;
}
.hero .container{
  display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center;
  padding:88px 28px 70px;
}
.hero h1{margin-bottom:22px;}
.hero h1 em{font-style:italic; color:var(--c-rose-deep);}
.hero-badges{display:flex; gap:26px; margin-top:36px; flex-wrap:wrap;}
.hero-badges div{font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--c-muted); font-weight:700;}
.hero-badges strong{display:block; font-family:'Fraunces',serif; font-size:1.5rem; color:var(--c-ocean); font-weight:500; letter-spacing:0;}
.hero-visual{
  position:relative; aspect-ratio:4/5; border-radius:var(--radius-lg); overflow:hidden;
  background:radial-gradient(circle at 30% 20%, #7B97A6, var(--c-ocean) 70%);
  display:flex; align-items:center; justify-content:center;
}
.hero-visual .droplet-ring{
  width:62%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(237,226,204,.5);
  display:flex; align-items:center; justify-content:center; position:relative;
}
.hero-visual .droplet-ring::before{
  content:""; position:absolute; inset:14%; border-radius:50%; border:1px solid rgba(237,226,204,.28);
}
.hero-visual .droplet-core{
  font-family:'Fraunces',serif; color:var(--c-gold-soft); text-align:center; font-size:.95rem; letter-spacing:.1em;
}
.hero-visual .droplet-core b{display:block; font-size:2.6rem; font-weight:400; color:#fff;}
.cta-row{display:flex; gap:16px; flex-wrap:wrap; margin-top:8px;}

@media (max-width:860px){
  .hero .container{grid-template-columns:1fr; padding-top:50px;}
  .hero-visual{aspect-ratio:16/10; order:-1;}
}

/* ---------- sections ---------- */
section{padding:78px 0;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:44px; flex-wrap:wrap;}
.section-tight{padding:48px 0;}
.bg-ocean{background:var(--c-ocean); color:#fff;}
.bg-ocean h2, .bg-ocean h3{color:#fff;}
.bg-ocean p{color:#C9D6DB;}
.bg-shell{background:var(--c-shell);}
.bg-rose{background:var(--c-rose-soft);}

/* ---------- product grid / cards ---------- */
.product-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:28px;}
@media (max-width:1080px){.product-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:760px){.product-grid{grid-template-columns:repeat(2,1fr); gap:18px;}}
@media (max-width:460px){.product-grid{grid-template-columns:1fr;}}

.product-card{
  background:var(--c-shell); border:1px solid var(--c-line); border-radius:var(--radius-lg);
  overflow:hidden; display:flex; flex-direction:column; transition:.25s ease; position:relative;
}
.product-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-soft); border-color:transparent;}
.product-thumb{
  aspect-ratio:1/1.12; position:relative; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(155deg, var(--thumb-a,#476474), var(--thumb-b,#577A8E));
  overflow:hidden;
}
.product-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.product-thumb .glyph{
  width:56%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.35);
  display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Fraunces',serif;
  font-size:.72rem; text-align:center; letter-spacing:.06em; padding:10px;
}
.badge{
  position:absolute; top:12px; left:12px; background:var(--c-rose-deep); color:#fff; font-size:.65rem;
  font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:5px 10px; border-radius:20px; z-index:2;
}
.product-info{padding:18px 18px 20px; display:flex; flex-direction:column; gap:6px; flex:1;}
.product-cat{font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; color:var(--c-rose-deep); font-weight:700;}
.product-info h3{font-size:1.08rem; margin-bottom:2px;}
.product-info h3 a:hover{color:var(--c-rose-deep);}
.product-vol{font-size:.78rem; color:var(--c-muted);}
.product-foot{display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:12px;}
.price{font-family:'Fraunces',serif; font-size:1.2rem; color:var(--c-ocean);}
.price .old{font-family:'Manrope',sans-serif; font-size:.8rem; color:#9aa; text-decoration:line-through; margin-right:6px;}
.add-btn{
  border:1px solid var(--c-ocean); background:none; color:var(--c-ocean); width:38px; height:38px;
  border-radius:50%; font-size:1.2rem; cursor:pointer; transition:.2s; display:flex; align-items:center; justify-content:center;
}
.add-btn:hover{background:var(--c-ocean); color:#fff;}

/* filter bar */
.filter-bar{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:38px;}
.filter-bar button{
  padding:9px 18px; border-radius:20px; border:1px solid var(--c-line); background:#fff;
  font-size:.78rem; font-weight:600; letter-spacing:.02em; cursor:pointer; color:var(--c-muted); transition:.2s;
}
.filter-bar button.active, .filter-bar button:hover{background:var(--c-ocean); color:#fff; border-color:var(--c-ocean);}

/* ---------- feature list / ingredients ---------- */
.feature-list li{display:flex; gap:14px; margin-bottom:18px; align-items:flex-start;}
.feature-list li .dot{
  flex:none; width:9px; height:9px; margin-top:7px; border-radius:50% 50% 50% 0; background:var(--c-rose-deep); transform:rotate(45deg);
}
.feature-list h4{margin:0 0 4px; font-size:1rem; font-family:'Manrope',sans-serif; font-weight:700; color:var(--c-ocean);}
.feature-list p{margin:0; color:var(--c-muted); font-size:.92rem;}

.three-col{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}
@media (max-width:820px){.three-col{grid-template-columns:1fr;}}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
@media (max-width:820px){.two-col{grid-template-columns:1fr; gap:30px;}}

.panel{
  background:#fff; border:1px solid var(--c-line); border-radius:var(--radius-lg); padding:32px;
}
.stat-block{text-align:center;}
.stat-block strong{display:block; font-family:'Fraunces',serif; font-size:2.4rem; color:var(--c-ocean); font-weight:400;}
.stat-block span{font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--c-muted); font-weight:700;}

/* ---------- breadcrumbs ---------- */
.breadcrumb{font-size:.78rem; color:var(--c-muted); padding:18px 0; }
.breadcrumb a:hover{color:var(--c-rose-deep);}
.breadcrumb span{margin:0 8px;}

/* ---------- product detail ---------- */
.pd-wrap{display:grid; grid-template-columns:.95fr 1.05fr; gap:64px;}
@media (max-width:900px){.pd-wrap{grid-template-columns:1fr;}}
.pd-gallery{
  aspect-ratio:1/1; border-radius:var(--radius-lg); position:relative; overflow:hidden;
  background:linear-gradient(155deg, var(--thumb-a,#476474), var(--thumb-b,#577A8E));
  display:flex; align-items:center; justify-content:center;
}
.pd-gallery img{width:100%; height:100%; object-fit:cover; display:block;}
.pd-gallery .glyph{
  width:46%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.4);
  display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Fraunces',serif;
  font-size:.9rem; text-align:center; letter-spacing:.06em; padding:14px;
}
.pd-cat{font-size:.75rem; text-transform:uppercase; letter-spacing:.14em; color:var(--c-rose-deep); font-weight:700; margin-bottom:10px;}
.pd-price{font-family:'Fraunces',serif; font-size:2rem; color:var(--c-ocean); margin:14px 0 20px;}
.pd-short{color:var(--c-muted); margin-bottom:24px;}
.qty-row{display:flex; align-items:center; gap:16px; margin-bottom:20px;}
.qty-box{display:flex; align-items:center; border:1px solid var(--c-line); border-radius:var(--radius);}
.qty-box button{background:none; border:none; width:38px; height:44px; font-size:1.1rem; cursor:pointer; color:var(--c-ocean);}
.qty-box input{width:42px; border:none; text-align:center; font-size:1rem; font-family:'Manrope';}
.pd-meta{margin-top:26px; border-top:1px solid var(--c-line); padding-top:20px; font-size:.85rem; color:var(--c-muted);}
.pd-meta div{margin-bottom:6px;}
.pd-variants{display:flex; gap:10px; margin-bottom:22px; flex-wrap:wrap;}
.pd-variants button{
  padding:9px 16px; border:1px solid var(--c-line); border-radius:20px; background:#fff; cursor:pointer; font-size:.82rem; font-weight:600;
}
.pd-variants button.active{background:var(--c-ocean); color:#fff; border-color:var(--c-ocean);}
.tabs{margin-top:60px; border-top:1px solid var(--c-line);}
.tab-heads{display:flex; gap:36px; border-bottom:1px solid var(--c-line);}
.tab-heads button{
  background:none; border:none; padding:18px 0; font-family:'Fraunces',serif; font-size:1.05rem; color:var(--c-muted);
  cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px;
}
.tab-heads button.active{color:var(--c-ocean); border-color:var(--c-rose-deep);}
.tab-panel{display:none; padding:34px 0; max-width:760px;}
.tab-panel.active{display:block;}
.related-strip{margin-top:80px;}

/* ---------- forms ---------- */
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media (max-width:640px){.form-grid{grid-template-columns:1fr;}}
.field{display:flex; flex-direction:column; gap:6px; margin-bottom:16px;}
.field label{font-size:.78rem; font-weight:700; letter-spacing:.03em; color:var(--c-ocean); text-transform:uppercase;}
.field input, .field select, .field textarea{
  padding:13px 14px; border:1px solid var(--c-line); border-radius:var(--radius); font-family:'Manrope';
  font-size:.95rem; background:#fff; color:var(--c-ink);
}
.field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--c-rose); outline-offset:1px;}
.checkbox-row{display:flex; gap:10px; align-items:flex-start; font-size:.86rem; color:var(--c-muted); margin:14px 0;}
.checkbox-row input{margin-top:4px;}

/* ---------- cart & checkout ---------- */
.cart-table{width:100%; border-collapse:collapse;}
.cart-table th{text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--c-muted); padding-bottom:14px; border-bottom:1px solid var(--c-line);}
.cart-table td{padding:20px 0; border-bottom:1px solid var(--c-line); vertical-align:middle;}
.cart-line{display:flex; gap:16px; align-items:center;}
.cart-thumb{width:70px; height:70px; border-radius:var(--radius); flex:none; overflow:hidden; background:linear-gradient(155deg, var(--thumb-a,#476474), var(--thumb-b,#577A8E));}
.cart-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.cart-remove{background:none; border:none; color:var(--c-muted); text-decoration:underline; font-size:.78rem; cursor:pointer; margin-top:6px;}
.cart-summary{background:#fff; border:1px solid var(--c-line); border-radius:var(--radius-lg); padding:28px;}
.summary-row{display:flex; justify-content:space-between; font-size:.92rem; margin-bottom:12px; color:var(--c-muted);}
.summary-row.total{font-size:1.2rem; color:var(--c-ocean); font-family:'Fraunces',serif; border-top:1px solid var(--c-line); padding-top:14px; margin-top:14px;}
.empty-state{text-align:center; padding:60px 20px; color:var(--c-muted);}

/* ---------- footer ---------- */
.site-footer{background:var(--c-ocean); color:#C9D6DB; padding-top:70px;}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:50px;}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.site-footer h4{color:#fff; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; font-family:'Manrope',sans-serif; font-weight:700; margin-bottom:18px;}
.site-footer li{margin-bottom:10px; font-size:.87rem;}
.site-footer a:hover{color:#fff;}
.site-footer .logo{color:#fff; margin-bottom:16px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14); padding:20px 0; font-size:.76rem; color:#93A7AF; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
.pay-icons{display:flex; gap:10px; flex-wrap:wrap;}
.pay-icons span{border:1px solid rgba(255,255,255,.25); border-radius:4px; padding:4px 9px; font-size:.68rem; letter-spacing:.04em;}
.social-row{display:flex; gap:14px; margin-top:16px;}
.social-row a{width:34px; height:34px; border:1px solid rgba(255,255,255,.25); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.8rem;}
.social-row a:hover{background:#fff; color:var(--c-ocean);}

/* ---------- misc content pages (legal etc.) ---------- */
.legal h2{margin-top:2.2em;}
.legal ol, .legal ul{margin:0 0 1.2em 1.4em; padding:0;}
.legal li{margin-bottom:.5em;}
.legal table{width:100%; border-collapse:collapse; margin:1.5em 0;}
.legal th, .legal td{border:1px solid var(--c-line); padding:10px 14px; text-align:left; font-size:.9rem;}
.legal th{background:var(--c-ocean-soft);}
.callout{background:var(--c-rose-soft); border-left:3px solid var(--c-rose-deep); padding:18px 22px; border-radius:0 var(--radius) var(--radius) 0; margin:1.5em 0; font-size:.92rem;}
.placeholder{background:var(--c-gold-soft); border-left:3px solid var(--c-gold); padding:6px 10px; font-style:italic; border-radius:2px;}

.accordion-item{border-bottom:1px solid var(--c-line);}
.accordion-item button{
  width:100%; text-align:left; background:none; border:none; padding:22px 0; display:flex; justify-content:space-between;
  align-items:center; font-family:'Fraunces',serif; font-size:1.1rem; cursor:pointer; color:var(--c-ocean); gap:20px;
}
.accordion-item .plus{font-size:1.4rem; font-family:'Manrope'; color:var(--c-rose-deep); transition:.25s;}
.accordion-item.open .plus{transform:rotate(45deg);}
.accordion-body{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.accordion-item.open .accordion-body{max-height:600px;}
.accordion-body p{padding:0 0 22px; color:var(--c-muted);}

.map-box{
  aspect-ratio:16/9; border-radius:var(--radius-lg); background:linear-gradient(155deg,#476474,#577A8E);
  display:flex; align-items:center; justify-content:center; color:#EDE2CC; font-family:'Fraunces',serif; text-align:center; padding:20px;
}

.toast{
  position:fixed; bottom:24px; right:24px; background:var(--c-ocean); color:#fff; padding:16px 22px;
  border-radius:var(--radius); font-size:.88rem; z-index:200; transform:translateY(140%); transition:.35s ease; box-shadow:var(--shadow-soft);
}
.toast.show{transform:translateY(0);}

.newsletter-band{background:var(--c-rose-deep); color:#fff; padding:56px 0;}
.newsletter-band h2{color:#fff;}
.newsletter-form{display:flex; gap:12px; max-width:480px; flex-wrap:wrap;}
.newsletter-form input{flex:1; min-width:220px; padding:14px 16px; border:none; border-radius:var(--radius); font-family:'Manrope';}
.newsletter-form .btn{background:var(--c-ocean); border-color:var(--c-ocean);}

.usp-strip{background:#fff; border-top:1px solid var(--c-line); border-bottom:1px solid var(--c-line);}
.usp-strip .container{display:flex; justify-content:space-between; padding:26px 28px; gap:20px; flex-wrap:wrap;}
.usp-strip div{display:flex; align-items:center; gap:12px; font-size:.82rem; font-weight:600; color:var(--c-ocean);}
.usp-strip .num{font-family:'Fraunces',serif; font-size:1.4rem; color:var(--c-rose-deep);}

/* ---------- blog ---------- */
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
@media (max-width:1080px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.blog-grid{grid-template-columns:1fr;}}
.blog-card{
  background:var(--c-shell); border:1px solid var(--c-line); border-radius:var(--radius-lg);
  overflow:hidden; display:flex; flex-direction:column; transition:.25s ease;
}
.blog-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-soft); border-color:transparent;}
.blog-thumb{
  aspect-ratio:16/10; position:relative; display:flex; align-items:center; justify-content:center; padding:22px;
  background:linear-gradient(155deg, var(--thumb-a,#7B97A6), var(--thumb-b,#577A8E));
}
.blog-thumb .glyph{
  color:#fff; font-family:'Fraunces',serif; text-align:center; font-size:.95rem; letter-spacing:.05em; line-height:1.3;
}
.blog-info{padding:20px 22px 24px; display:flex; flex-direction:column; gap:8px; flex:1;}
.blog-cat{font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; color:var(--c-rose-deep); font-weight:700;}
.blog-info h3{font-size:1.14rem; margin-bottom:2px;}
.blog-info h3 a:hover{color:var(--c-rose-deep);}
.blog-excerpt{color:var(--c-muted); font-size:.9rem; flex:1; margin:0;}
.blog-meta{font-size:.75rem; color:var(--c-muted); display:flex; justify-content:space-between; margin-top:auto; padding-top:12px; border-top:1px solid var(--c-line);}

.article-hero{
  aspect-ratio:21/9; border-radius:var(--radius-lg); margin-bottom:36px; padding:26px;
  display:flex; align-items:center; justify-content:center; text-align:center;
  background:linear-gradient(155deg, var(--thumb-a,#7B97A6), var(--thumb-b,#577A8E));
}
.article-hero .glyph{color:#fff; font-family:'Fraunces',serif; font-size:1.3rem; letter-spacing:.06em;}
.article-meta-row{display:flex; gap:18px; color:var(--c-muted); font-size:.82rem; margin-bottom:10px; flex-wrap:wrap;}
.article-body{max-width:760px; margin:0 auto;}
.article-body h2{margin-top:1.5em; font-size:1.5rem;}
.article-body p{color:var(--c-ink);}
.article-body ul, .article-body ol{margin:0 0 1.2em 1.3em;}
.article-body li{margin-bottom:.5em; color:var(--c-ink);}
.article-cta{background:var(--c-rose-soft); border-left:3px solid var(--c-rose-deep); padding:20px 24px; border-radius:0 var(--radius) var(--radius) 0; margin:2em 0;}
.article-cta a{color:var(--c-rose-deep); font-weight:700; text-decoration:underline;}
.tag-row{display:flex; gap:10px; flex-wrap:wrap; margin:22px 0 0;}
.tag-row span{background:var(--c-ocean-soft); color:var(--c-ocean); font-size:.72rem; font-weight:700; letter-spacing:.03em; padding:6px 14px; border-radius:20px;}
