/* FLUGEROV — redesign prototype · «премиум-крафт»
   Графит + кованый металл + медь. Силуэт — герой. */

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

:root {
  --bg:        #15161a;
  --bg-2:      #1b1d22;
  --panel:     #f4efe6;   /* костяной фон карточек-витрин */
  --panel-ink: #1a1b1f;   /* силуэт на витрине */
  --ink:       #ece7dc;   /* основной текст на тёмном */
  --ink-dim:   #9a958a;
  --line:      #2c2e34;
  --line-soft: rgba(236,231,220,.12);
  --copper:    #c9854b;
  --copper-2:  #e0a86b;
  --verdigris: #6f9c8f;
  --r:         14px;
  --maxw:      1200px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--ink);
  font: 400 16px/1.6 'Manrope', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
/* зерно/текстура поверх фона */
body::before {
  content:""; position: fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    radial-gradient(900px 500px at 80% -10%, rgba(201,133,75,.10), transparent 60%),
    radial-gradient(700px 600px at -10% 20%, rgba(111,156,143,.06), transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
}
main, header, footer, .wrap { position: relative; z-index: 1; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 28px; }

h1,h2,h3,h4 { font-family: 'Fraunces', Georgia, serif; font-weight: 600; line-height: 1.05; letter-spacing: -.01em; }
.eyebrow {
  font: 600 12px/1 'Manrope', sans-serif; letter-spacing: .22em;
  text-transform: uppercase; color: var(--copper);
  display: inline-flex; align-items: center; gap: 12px;
}
.eyebrow::before { content:""; width: 34px; height: 1px; background: var(--copper); opacity: .7; }

/* ---------- buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 26px; border-radius: 999px; font: 600 15px 'Manrope', sans-serif;
  cursor: pointer; border: 1px solid transparent; transition: .25s ease;
}
.btn-primary { background: var(--copper); color: #1a120a; }
.btn-primary:hover { background: var(--copper-2); transform: translateY(-2px); }
.btn-ghost { border-color: var(--line-soft); color: var(--ink); }
.btn-ghost:hover { border-color: var(--copper); color: var(--copper-2); }

/* ---------- top strip + header ---------- */
.topbar {
  font-size: 13px; color: var(--ink-dim);
  border-bottom: 1px solid var(--line);
  background: rgba(0,0,0,.25);
}
.topbar .wrap { display: flex; gap: 26px; align-items: center; height: 40px; }
.topbar a:hover { color: var(--copper-2); }
.topbar .sep { margin-left: auto; }

header.site { position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(10px); background: rgba(21,22,26,.82);
  border-bottom: 1px solid var(--line); }
header.site .wrap { display: flex; align-items: center; gap: 40px; height: 78px; }
.logo { display: flex; align-items: center; gap: 0; font-family: 'Fraunces',serif;
  font-weight: 800; font-size: 23px; letter-spacing: .04em; white-space: nowrap; }
.logo .rose { width: 30px; height: 30px; color: var(--copper); margin-right: 12px; }
.logo b { color: var(--copper-2); font-weight: 800; }
nav.main { display: flex; gap: 30px; margin-left: 8px; }
nav.main a { font-weight: 600; font-size: 15px; color: var(--ink-dim); padding: 6px 0; position: relative; }
nav.main a:hover, nav.main a.active { color: var(--ink); }
nav.main a::after { content:""; position:absolute; left:0; right:100%; bottom:-2px;
  height:2px; background: var(--copper); transition: right .25s; }
nav.main a:hover::after, nav.main a.active::after { right: 0; }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 18px; }
.cart { display: flex; align-items: center; gap: 9px; font-weight: 600; }
.cart svg { width: 22px; height: 22px; color: var(--copper-2); }

/* ---------- hero ---------- */
.hero { padding: 86px 0 70px; }
.hero .wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 50px; align-items: center; }
.hero h1 { font-size: clamp(40px, 6vw, 76px); font-weight: 600; }
.hero h1 em { font-style: italic; color: var(--copper-2); }
.hero p.lead { margin: 26px 0 34px; font-size: 18px; color: var(--ink-dim); max-width: 30em; }
.hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
.hero-stats { display: flex; gap: 38px; margin-top: 46px; padding-top: 26px;
  border-top: 1px solid var(--line); }
.hero-stats b { font-family: 'Fraunces',serif; font-size: 30px; display: block; color: var(--ink); }
.hero-stats span { font-size: 13px; color: var(--ink-dim); }

.showcase {
  position: relative; aspect-ratio: 1/1.04; border-radius: var(--r);
  background:
    linear-gradient(180deg, #faf6ee, #e9e0cf);
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 40px 80px -30px rgba(0,0,0,.7), inset 0 1px 0 #fff;
  overflow: hidden;
}
.showcase::after { /* линия крыши */
  content:""; position:absolute; left:-5%; right:-5%; bottom:18%;
  height:1px; background: rgba(26,27,31,.25);
}
.showcase .sil { position:absolute; left:50%; bottom:18%; transform: translateX(-50%);
  width: 78%; color: var(--panel-ink); filter: drop-shadow(0 14px 18px rgba(0,0,0,.18)); }
.showcase .tag {
  position:absolute; top:18px; left:18px; font: 600 11px 'Manrope';
  letter-spacing:.18em; text-transform:uppercase; color:#7a7264;
  border:1px solid rgba(0,0,0,.15); padding:7px 12px; border-radius:999px; }
.showcase .compass { position:absolute; right:18px; bottom:14px; width:58px; height:58px;
  color:#9c937f; opacity:.6; }

/* ---------- sections ---------- */
section { padding: 84px 0; }
.sec-head { display:flex; justify-content:space-between; align-items:flex-end; gap:30px;
  margin-bottom: 46px; }
.sec-head h2 { font-size: clamp(30px,3.6vw,46px); }
.sec-head p { color: var(--ink-dim); max-width: 34em; margin-top: 14px; }

/* категории */
.cat-grid { display:grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.cat {
  position:relative; border:1px solid var(--line); border-radius: var(--r);
  background: linear-gradient(180deg, var(--bg-2), #16171b);
  padding: 26px 22px 22px; min-height: 188px; overflow:hidden;
  display:flex; flex-direction:column; justify-content:flex-end; transition:.28s;
}
.cat:hover { border-color: rgba(201,133,75,.5); transform: translateY(-4px); }
.cat .mini { position:absolute; right:-6px; top:14px; width:96px; height:96px;
  color: rgba(236,231,220,.10); transition:.28s; }
.cat:hover .mini { color: rgba(201,133,75,.34); transform: scale(1.08) rotate(-4deg); }
.cat h3 { font-size: 21px; font-weight:600; }
.cat span { color: var(--ink-dim); font-size: 13px; margin-top:6px; }
.cat .arrow { margin-top:14px; color:var(--copper); font-weight:700; font-size:14px;
  opacity:0; transform: translateX(-6px); transition:.28s; }
.cat:hover .arrow { opacity:1; transform:none; }

/* почему мы */
.why { background: var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.why-grid { display:grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--line);
  border:1px solid var(--line); border-radius: var(--r); overflow:hidden; }
.why-grid > div { background: var(--bg-2); padding: 34px 28px; }
.why-grid svg { width:30px;height:30px;color:var(--copper-2); margin-bottom:18px; }
.why-grid h4 { font-size:19px; font-weight:600; margin-bottom:9px; }
.why-grid p { color: var(--ink-dim); font-size:14px; }

/* размеры/цены */
.sizes { display:grid; grid-template-columns: repeat(2,1fr); gap:22px; }
.size-card { border:1px solid var(--line); border-radius:var(--r); padding:34px;
  background: linear-gradient(180deg,var(--bg-2),#16171b); position:relative; }
.size-card .price { font-family:'Fraunces',serif; font-size:46px; color:var(--copper-2); }
.size-card .price span { font-size:18px; color:var(--ink-dim); font-family:'Manrope'; }
.size-card h3 { font-size:23px; margin:4px 0 16px; }
.size-card ul { list-style:none; color:var(--ink-dim); font-size:14px; }
.size-card li { padding:8px 0; border-bottom:1px solid var(--line); }
.size-card li:last-child{border:0;}

/* процесс */
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; counter-reset:s; }
.step { border-top:2px solid var(--line); padding-top:22px; }
.step::before { counter-increment:s; content:"0" counter(s);
  font-family:'Fraunces',serif; font-size:30px; color:var(--copper); display:block; margin-bottom:10px; }
.step h4 { font-size:18px; margin-bottom:8px; }
.step p { color:var(--ink-dim); font-size:14px; }

/* FAQ */
.faq details { border-bottom:1px solid var(--line); padding: 22px 0; }
.faq summary { font-family:'Fraunces',serif; font-size:21px; cursor:pointer; list-style:none;
  display:flex; justify-content:space-between; gap:20px; }
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after { content:"+"; color:var(--copper); font-family:'Manrope'; font-size:26px; transition:.2s; }
.faq details[open] summary::after { transform:rotate(45deg); }
.faq p { color:var(--ink-dim); margin-top:14px; max-width:60em; }

/* CTA полоса */
.cta-band { background: linear-gradient(120deg,#221a12,#1a1b1f); border:1px solid var(--line);
  border-radius: 20px; padding: 56px; text-align:center; }
.cta-band h2 { font-size: clamp(28px,3.4vw,42px); }
.cta-band p { color:var(--ink-dim); margin:14px 0 28px; }

/* ---------- footer ---------- */
footer.site { border-top:1px solid var(--line); padding: 64px 0 40px; color:var(--ink-dim); }
footer.site .grid { display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap:36px; }
footer.site h5 { color:var(--ink); font:600 14px 'Manrope'; letter-spacing:.12em;
  text-transform:uppercase; margin-bottom:18px; }
footer.site a { display:block; padding:6px 0; font-size:14px; }
footer.site a:hover{color:var(--copper-2);}
footer .bottom { margin-top:46px; padding-top:24px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; font-size:13px; flex-wrap:wrap; gap:10px; }

/* ---------- catalog (category page) ---------- */
.crumbs { font-size:13px; color:var(--ink-dim); padding: 30px 0 0; }
.crumbs a:hover{color:var(--copper-2);}
.crumbs span{color:var(--copper);}
.cat-hero { padding: 34px 0 30px; display:grid; grid-template-columns: 1fr auto; gap:30px; align-items:end; }
.cat-hero h1 { font-size: clamp(36px,5vw,60px); }
.cat-hero p { color:var(--ink-dim); margin-top:14px; max-width:46em; }
.cat-hero .count { color:var(--copper-2); font-family:'Fraunces',serif; font-size:17px; white-space:nowrap; }

.toolbar { display:flex; gap:14px; align-items:center; flex-wrap:wrap;
  padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.chip { border:1px solid var(--line); color:var(--ink-dim); padding:9px 16px;
  border-radius:999px; font-size:13px; cursor:pointer; transition:.2s;
  background:transparent; }
button.chip { font:600 13px 'Manrope',sans-serif; line-height:1;
  -webkit-appearance:none; appearance:none; }
.chip:hover,.chip.on { border-color:var(--copper); color:var(--ink); }
.chip.on { background:rgba(201,133,75,.12); color:var(--copper-2); }

/* tag.html — группы по разделам */
.tag-sec { margin:0 0 50px; }
.tag-sec:last-of-type { margin-bottom:0; }
.tag-sec .grp { display:flex; align-items:baseline; justify-content:space-between;
  gap:20px; flex-wrap:wrap; border-bottom:1px solid var(--line);
  padding-bottom:14px; margin-bottom:24px; }
.tag-sec .grp h3 { font-family:'Fraunces',serif; font-size:26px; font-weight:600; }
.tag-sec .grp .gcount { color:var(--ink-dim); font-size:13px; margin-left:12px; }
.tag-sec .grp a.morelink { color:var(--copper); font-weight:700; font-size:14px; }
.tag-sec .grp a.morelink:hover { color:var(--copper-2); }
.tag-sec .more { margin-top:24px; text-align:center; }
.toolbar .right { margin-left:auto; display:flex; gap:10px; align-items:center; font-size:13px; color:var(--ink-dim);}
.toolbar select { background:var(--bg-2); color:var(--ink); border:1px solid var(--line);
  border-radius:999px; padding:9px 14px; font:600 13px 'Manrope'; }

.prod-grid { display:grid; grid-template-columns: repeat(4,1fr); gap:20px; padding:42px 0; }
.product { border:1px solid var(--line); border-radius:var(--r); overflow:hidden;
  background:var(--bg-2); transition:.26s; }
.product:hover { transform:translateY(-5px); border-color:rgba(201,133,75,.45);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.8); }
.product .frame { position:relative; aspect-ratio:1/1;
  background: linear-gradient(180deg,#f6f1e7,#e7ddca); }
.product .frame::after{content:"";position:absolute;left:8%;right:8%;bottom:22%;
  height:1px;background:rgba(26,27,31,.18);}
.product .frame .sil { position:absolute; left:50%; bottom:22%; transform:translateX(-50%);
  width:64%; color:var(--panel-ink); filter:drop-shadow(0 8px 10px rgba(0,0,0,.16)); }
.product .frame .num { position:absolute; top:12px; left:12px; font:600 11px 'Manrope';
  letter-spacing:.12em; color:#857c6b; border:1px solid rgba(0,0,0,.16);
  padding:5px 9px; border-radius:999px; }
.product .body { padding:18px 18px 20px; }
.product h3 { font-size:17px; font-weight:600; }
.product .meta { color:var(--ink-dim); font-size:13px; margin:6px 0 14px; }
.product .row { display:flex; align-items:center; justify-content:space-between; }
.product .p { font-family:'Fraunces',serif; font-size:24px; color:var(--copper-2); }
.add { border:1px solid var(--copper); color:var(--copper-2); background:transparent;
  border-radius:999px; padding:10px 16px; font:600 13px 'Manrope'; cursor:pointer; transition:.2s; }
.add:hover { background:var(--copper); color:#1a120a; }

.pager { display:flex; gap:8px; justify-content:center; padding-bottom:30px; }
.pager a { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line);
  border-radius:50%; font-weight:600; font-size:14px; }
.pager a.on,.pager a:hover { border-color:var(--copper); color:var(--copper-2); }

/* ---------- product page ---------- */
.pdp { display:grid; grid-template-columns: 1.05fr .95fr; gap:54px; padding:36px 0 90px; }
.pdp-view { position:relative; border-radius:20px; aspect-ratio:1/1.05;
  background:linear-gradient(180deg,#faf6ee,#e7ddca);
  box-shadow:0 50px 90px -40px rgba(0,0,0,.8), inset 0 1px 0 #fff; overflow:hidden; }
.pdp-view::after{content:"";position:absolute;left:-5%;right:-5%;bottom:20%;height:1px;background:rgba(26,27,31,.22);}
.pdp-view .sil { position:absolute; left:50%; bottom:20%; transform:translateX(-50%);
  width:70%; color:var(--panel-ink); filter:drop-shadow(0 16px 20px rgba(0,0,0,.18)); }
.pdp-view .compass { position:absolute; right:20px; bottom:16px; width:60px; height:60px; color:#9c937f; opacity:.55;}
.thumbs { display:flex; gap:12px; margin-top:14px; }
.thumbs div { flex:1; aspect-ratio:1; border-radius:10px; border:1px solid var(--line);
  background:linear-gradient(180deg,#f3eee4,#e3d9c6); display:grid; place-items:center; cursor:pointer; }
.thumbs div.on{border-color:var(--copper);}
.thumbs svg{width:60%;color:var(--panel-ink);opacity:.85;}

.pdp-info h1 { font-size: clamp(30px,4vw,46px); }
.pdp-info .sub { color:var(--ink-dim); margin-top:12px; }
.pdp-price { font-family:'Fraunces',serif; font-size:48px; color:var(--copper-2); margin:24px 0; }
.pdp-price s { font-family:'Manrope'; font-size:20px; color:var(--ink-dim); margin-left:14px; }
.opt { margin:22px 0; }
.opt label { display:block; font:600 13px 'Manrope'; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-dim); margin-bottom:12px; }
.opt .picks { display:flex; gap:12px; flex-wrap:wrap; }
.pick { border:1px solid var(--line); border-radius:12px; padding:14px 20px; cursor:pointer; transition:.2s; }
.pick small { display:block; color:var(--ink-dim); font-size:12px; margin-top:3px; }
.pick.on,.pick:hover { border-color:var(--copper); }
.pick.on { background:rgba(201,133,75,.10); }
.buy-row { display:flex; gap:14px; margin:28px 0; }
.buy-row .btn-primary{flex:1; justify-content:center;}
.assure { display:flex; gap:24px; flex-wrap:wrap; color:var(--ink-dim); font-size:13px;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:20px 0; }
.assure b{color:var(--ink); display:block;}
.spec { width:100%; border-collapse:collapse; margin-top:30px; }
.spec td { padding:14px 0; border-bottom:1px solid var(--line); font-size:14px; }
.spec td:first-child{color:var(--ink-dim); width:45%;}
.spec td:last-child{color:var(--ink); font-weight:600;}

/* ---------- responsive ---------- */
@media (max-width: 1000px){
  .hero .wrap,.pdp{grid-template-columns:1fr; gap:36px;}
  .cat-grid,.why-grid,.steps,.prod-grid{grid-template-columns:repeat(2,1fr);}
  footer.site .grid{grid-template-columns:1fr 1fr;}
  nav.main{display:none;}
}
@media (max-width: 620px){
  .wrap{padding:0 18px;}
  .cat-grid,.why-grid,.steps,.prod-grid,.sizes,footer.site .grid{grid-template-columns:1fr;}
  .hero-stats{gap:22px;flex-wrap:wrap;}
  .topbar .wrap{gap:14px;overflow:hidden;}
  .cta-band{padding:34px 22px;}
}

/* двухуровневый фильтр (подкатегория + тег) */
.filters{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:20px 0;margin-bottom:8px;display:flex;flex-direction:column;gap:16px;}
.frow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.flab{font:600 12px 'Manrope',sans-serif;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-dim);min-width:130px;}
@media(max-width:620px){.flab{min-width:100%;}}

/* кликабельная карточка + корзина */
.product a.frame{display:block;}
.product h3 a.tlink{color:inherit;text-decoration:none;}
.product h3 a.tlink:hover{color:var(--copper-2);}
button.add{font:600 13px 'Manrope',sans-serif;}
.add.added{background:var(--copper)!important;color:#1a120a!important;border-color:var(--copper)!important;}
.cart{cursor:pointer;}
.cart-bump{animation:cartbump .35s ease;}
@keyframes cartbump{40%{transform:scale(1.14);}100%{transform:none;}}

/* анимированная роза ветров в hero */
.showcase.rose::after{display:none;}
.showcase.rose .sil,.showcase.rose .compass{display:none;}
.rose-anim{position:absolute;left:50%;top:50%;width:84%;height:auto;
  transform:translate(-50%,-50%);}
.rose-anim .ro-spin,.rose-anim .ro-needle,.rose-anim .ro-glow{
  transform-box:fill-box;transform-origin:center;}
.rose-anim .ro-spin{animation:roSpin 54s linear infinite;}
.rose-anim .ro-spin2{transform-box:fill-box;transform-origin:center;
  animation:roSpin 90s linear infinite reverse;}
.rose-anim .ro-needle{animation:roSway 7s ease-in-out infinite;}
.rose-anim .ro-glow{animation:roGlow 4.5s ease-in-out infinite;}
@keyframes roSpin{to{transform:rotate(360deg);}}
@keyframes roSway{0%,100%{transform:rotate(-17deg);}50%{transform:rotate(21deg);}}
@keyframes roGlow{0%,100%{opacity:.18;}50%{opacity:.5;}}
@media (prefers-reduced-motion:reduce){
  .rose-anim .ro-spin,.rose-anim .ro-spin2,.rose-anim .ro-needle,.rose-anim .ro-glow{animation:none;}}

/* реальные фото в карточках каталога */
.product .frame img.ph{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;background:#0f1013;}
.product:hover .frame img.ph{transform:scale(1.04);}
.product .frame img.ph{transition:transform .4s ease;}
.product .frame.lit{background:#0f1013;}
.product .frame.lit::after{display:none;}

/* раздел «Примеры работ» */
.gal-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px;}
.gal-tabs button{font:600 14px 'Manrope',sans-serif;border:1px solid var(--line);
  color:var(--ink-dim);background:transparent;border-radius:999px;padding:10px 20px;
  cursor:pointer;transition:.2s;}
.gal-tabs button:hover{border-color:var(--copper);color:var(--ink);}
.gal-tabs button.on{background:var(--copper);color:#1a120a;border-color:var(--copper);}
.gallery{columns:4;column-gap:16px;}
.gallery figure{break-inside:avoid;margin:0 0 16px;border:1px solid var(--line);
  border-radius:12px;overflow:hidden;background:#0f1013;}
.gallery img{width:100%;display:block;transition:transform .5s ease;}
.gallery figure:hover img{transform:scale(1.05);}
.gal-group{display:none;}
.gal-group.show{display:block;}
.gal-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.gal-strip figure{margin:0;border:1px solid var(--line);border-radius:12px;
  overflow:hidden;background:#0f1013;aspect-ratio:4/3;}
.gal-strip img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.gal-strip figure:hover img{transform:scale(1.05);}
@media(max-width:1000px){.gallery{columns:2;}.gal-strip{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.gallery{columns:1;}.gal-strip{grid-template-columns:1fr 1fr;}}

/* четыре направления */
.dirs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.dir{position:relative;border:1px solid var(--line);border-radius:var(--r);
  background:linear-gradient(180deg,var(--bg-2),#16171b);padding:32px;overflow:hidden;
  display:flex;gap:26px;transition:.28s;}
.dir:hover{border-color:rgba(201,133,75,.5);transform:translateY(-4px);}
.dir .ic{flex:none;width:120px;height:120px;border-radius:14px;overflow:hidden;
  background:#0f1013;display:grid;place-items:center;}
.dir .ic svg{width:64%;color:var(--panel-ink);}
.dir .ic img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.dir:hover .ic img{transform:scale(1.06);}
.dir h3{font-size:24px;}
.dir .from{color:var(--copper-2);font-family:'Fraunces',serif;font-size:17px;margin:6px 0 14px;}
.dir ul{list-style:none;color:var(--ink-dim);font-size:14px;columns:2;column-gap:20px;}
.dir li{padding:4px 0;}
.dir .go{display:inline-block;margin-top:16px;color:var(--copper);font-weight:700;font-size:14px;}
.dir:hover .go{color:var(--copper-2);}

.tag-group{margin-bottom:24px;}
.tag-group:last-child{margin-bottom:0;}
.tag-group h4{font:600 13px 'Manrope',sans-serif;letter-spacing:.14em;
  text-transform:uppercase;color:var(--copper-2);margin-bottom:13px;}
.flu-tags{display:flex;flex-wrap:wrap;gap:10px;}
.flu-tags a{border:1px solid var(--line);border-radius:999px;padding:10px 18px;
  font-size:14px;color:var(--ink-dim);transition:.2s;}
.flu-tags a:hover{border-color:var(--copper);color:var(--ink);transform:translateY(-2px);}

.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.price-card{border:1px solid var(--line);border-radius:var(--r);padding:26px;
  background:linear-gradient(180deg,var(--bg-2),#16171b);}
.price-card h4{font-size:18px;margin-bottom:10px;}
.price-card .v{font-family:'Fraunces',serif;font-size:30px;color:var(--copper-2);}
.price-card span{display:block;color:var(--ink-dim);font-size:13px;margin-top:8px;}

@media(max-width:1000px){.dirs{grid-template-columns:1fr;}.price-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.price-grid{grid-template-columns:1fr;}.dir{flex-direction:column;}.dir ul{columns:1;}}

/* reveal on load */
.r{opacity:0; transform:translateY(18px); animation:r .7s forwards;}
@keyframes r{to{opacity:1;transform:none;}}
.d1{animation-delay:.05s}.d2{animation-delay:.15s}.d3{animation-delay:.25s}.d4{animation-delay:.35s}.d5{animation-delay:.45s}
