/* ===== KING PLAST — modern site design system ===== */
:root{
  --bg:#FAF8F3; --bg-2:#F1ECE1; --ink:#1A1712; --muted:#6E675B; --line:#E5DECF;
  --dark:#16130E; --dark-2:#1F1B14; --on-dark:#F4EFE4; --on-dark-mut:#B7AE9B;
  --gold:#C0942E; --gold-2:#E0BB63; --gold-dk:#9C7722;
  --serif:"Playfair Display",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.22,.65,.25,1);
  --shadow:0 24px 60px -30px rgba(40,30,10,.4);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;
  line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.gold{color:var(--gold)}
::selection{background:var(--gold);color:#fff}

/* ---- view transitions (smooth page change) ---- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .35s var(--ease) both}
::view-transition-new(root){animation:vt-in .45s var(--ease) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-8px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(12px)}}

/* ---- header ---- */
header{position:fixed;inset:0 0 auto 0;z-index:50;transition:.4s var(--ease)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:.16em;color:var(--on-dark)}
.brand b{color:var(--gold-2);font-weight:600}
.brand-mark{height:42px;width:auto;display:block;transition:height .4s var(--ease)}
header.solid .brand-mark{height:34px}
.menu{display:flex;align-items:center;gap:34px}
.menu a{font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-mut);
  position:relative;transition:color .25s}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;
  background:var(--gold-2);transition:right .3s var(--ease)}
.menu a:hover,.menu a.active{color:var(--on-dark)}
.menu a:hover::after,.menu a.active::after{right:0}
.lang{border:1px solid rgba(255,255,255,.28);color:var(--on-dark);background:none;
  border-radius:999px;padding:7px 14px;font:inherit;font-size:12.5px;letter-spacing:.08em;
  cursor:pointer;transition:.25s}
.lang:hover{border-color:var(--gold-2);color:var(--gold-2)}
.burger{display:none;background:none;border:0;color:var(--on-dark);cursor:pointer;font-size:26px}
/* solid header after scroll */
header.solid{background:rgba(20,17,12,.82);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08)}
header.solid .nav{height:64px}

/* ---- hero ---- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;
  color:var(--on-dark);overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;
  transform:scale(1.08);animation:kenburns 14s var(--ease) forwards}
@keyframes kenburns{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,12,8,.55) 0%,rgba(15,12,8,.2) 35%,rgba(15,12,8,.85) 100%)}
.hero .wrap{position:relative;z-index:2;padding-bottom:clamp(56px,9vh,110px);width:100%}
.eyebrow{font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-2)}
.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(40px,7.5vw,86px);
  line-height:1.04;letter-spacing:-.01em;max-width:15ch;margin:22px 0}
.hero p{color:#E9E3D6;font-size:clamp(16px,2vw,20px);max-width:50ch}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}

/* page hero (smaller, for inner pages) */
.phero{position:relative;padding:clamp(150px,22vh,220px) 0 clamp(60px,9vh,90px);
  color:var(--on-dark);overflow:hidden}
.phero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);animation:kenburns 12s var(--ease) forwards}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,12,8,.7),rgba(15,12,8,.82))}
.phero .wrap{position:relative;z-index:2}
.phero h1{font-family:var(--serif);font-weight:600;font-size:clamp(34px,6vw,64px);line-height:1.06;margin-top:16px}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;border-radius:2px;
  font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;
  transition:.3s var(--ease);cursor:pointer;border:1px solid transparent}
.btn-gold{background:linear-gradient(135deg,var(--gold-2),var(--gold-dk));color:#1a1305}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(192,148,46,.7)}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn-dark{background:var(--ink);color:var(--bg)}
.btn-dark:hover{background:var(--gold-dk);transform:translateY(-2px)}

/* ---- sections ---- */
section{padding:clamp(72px,12vh,130px) 0}
.dark{background:var(--dark);color:var(--on-dark)}
.tint{background:var(--bg-2)}
.label{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.dark .label{color:var(--gold-2)}
h2{font-family:var(--serif);font-weight:600;font-size:clamp(30px,4.8vw,50px);line-height:1.12;letter-spacing:-.01em;max-width:22ch;text-wrap:balance}
.lead{color:var(--muted);font-size:19px;margin-top:22px;max-width:58ch}
.dark .lead{color:var(--on-dark-mut)}
.center{text-align:center;margin-inline:auto}
.center h2,.center .lead{margin-inline:auto}
.rule{width:60px;height:2px;background:linear-gradient(90deg,var(--gold-2),transparent);margin:26px 0}
.center .rule{margin-inline:auto}

/* feature cards */
.grid{display:grid;gap:26px}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g2{grid-template-columns:1fr 1fr}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}.g2{grid-template-columns:1fr}}
@media(max-width:560px){.g3,.g4{grid-template-columns:1fr}}
.feature{padding:34px 30px;background:var(--bg);border:1px solid var(--line);border-radius:4px;transition:.35s var(--ease)}
.dark .feature{background:var(--dark-2);border-color:rgba(255,255,255,.08)}
.feature:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.feature .fn{font-family:var(--serif);font-size:40px;color:var(--gold)}
.dark .feature .fn{color:var(--gold-2)}
.feature h3{font-family:var(--serif);font-size:22px;font-weight:600;margin:14px 0 8px}
.feature p{color:var(--muted);font-size:15.5px}
.dark .feature p{color:var(--on-dark-mut)}

/* collection cards (image) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cards{grid-template-columns:1fr}}
.card{position:relative;border-radius:5px;overflow:hidden;background:#000;aspect-ratio:4/5;
  box-shadow:0 10px 30px -18px rgba(0,0,0,.5)}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);opacity:.92}
.card:hover img{transform:scale(1.07);opacity:1}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(10,8,5,.82))}
.card .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px;color:#fff}
.card .cap .t{font-family:var(--serif);font-size:24px;font-weight:600}
.card .cap .s{font-size:13px;letter-spacing:.06em;color:var(--gold-2);text-transform:uppercase;margin-top:2px}

/* split (image + text) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:34px}}
.split .shot{border-radius:5px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:5/4}
.split .shot img{width:100%;height:100%;object-fit:cover}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
@media(max-width:640px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat .num{font-family:var(--serif);font-size:clamp(40px,6vw,58px);color:var(--gold-2);line-height:1}
.stat .cap{color:var(--on-dark-mut);font-size:14px;letter-spacing:.06em;margin-top:8px;text-transform:uppercase}

/* cta band */
.cta-band{text-align:center}
.cta-band h2{margin-inline:auto}
.cta-band .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:32px}

/* contacts */
.crow{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}
.crow .ic{width:22px;color:var(--gold);font-size:18px;flex:none;text-align:center}
.crow .k{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.crow a,.crow .v{font-size:16.5px}
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:2px;padding:12px 20px;font-size:14px;transition:.25s}
.chip:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.mapwrap{border-radius:5px;overflow:hidden;box-shadow:var(--shadow);min-height:340px;background:var(--bg-2)}
.mapwrap iframe{width:100%;height:100%;min-height:340px;border:0;display:block}

/* footer */
footer{background:var(--dark);color:var(--on-dark-mut);padding:60px 0 34px}
.foot-top{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.09)}
.foot-top .brand{margin-bottom:14px;display:block}
.foot-logo{height:94px;width:auto;display:block;margin-bottom:16px}
@media(max-width:560px){.foot-logo{height:78px}}
.foot-links{display:flex;gap:28px;flex-wrap:wrap}
.foot-links a{color:var(--on-dark-mut);font-size:14px;transition:.25s}
.foot-links a:hover{color:var(--gold-2)}
.foot-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:24px;font-size:13.5px}

/* ---- scroll reveal ---- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}
  .hero-bg,.phero-bg{animation:none}}

/* mobile menu */
@media(max-width:820px){
  .menu{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:50;
    flex-direction:column;justify-content:center;gap:30px;
    background:#120f0a;transform:translateX(100%);transition:transform .4s var(--ease);
    overflow-y:auto;padding:88px 24px 40px;-webkit-overflow-scrolling:touch}
  .menu.open{transform:none}
  .menu a{font-size:20px;color:var(--on-dark)}
  .burger{display:block;z-index:60;position:relative}
  .lang{font-size:15px;padding:10px 20px}
}

/* ==========================================================
   PREMIUM POLISH LAYER — 2026-08 (refined, not busy)
   ========================================================== */

/* richer cinematic scroll-reveal: rise + de-blur */
.reveal{opacity:0;transform:translateY(30px);filter:blur(5px);
  transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease)}
.reveal.in{opacity:1;transform:none;filter:blur(0)}
@media(prefers-reduced-motion:reduce){.reveal{filter:none;transform:none}}

/* fine film-grain over the page for subtle depth */
body::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}

/* gold rule draws itself in when its section reveals */
.reveal .rule{transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease) .15s}
.reveal .center .rule,.center .rule{transform-origin:center}
.reveal.in .rule{transform:scaleX(1)}

/* deeper hero gradient + animated scroll cue */
.hero::after{background:linear-gradient(180deg,rgba(15,12,8,.5) 0%,rgba(15,12,8,.12) 32%,rgba(15,12,8,.92) 100%)}
.scroll-cue{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:3;
  width:25px;height:40px;border:1.5px solid rgba(224,187,99,.5);border-radius:13px;
  display:flex;justify-content:center;padding-top:8px}
.scroll-cue span{width:3px;height:8px;border-radius:2px;background:var(--gold-2);
  animation:cue 1.9s var(--ease) infinite}
@keyframes cue{0%{opacity:0;transform:translateY(-3px)}40%{opacity:1}100%{opacity:0;transform:translateY(11px)}}
@media(prefers-reduced-motion:reduce){.scroll-cue span{animation:none}}

/* buttons: gentle gold sheen sweep on hover */
.btn{position:relative;overflow:hidden}
.btn-gold::before{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-18deg);transition:left .6s var(--ease)}
.btn-gold:hover::before{left:140%}

/* collection cards: thin gold edge appears on hover */
.card::before{content:"";position:absolute;inset:0;z-index:3;border:1px solid transparent;
  border-radius:5px;pointer-events:none;transition:border-color .4s var(--ease)}
.card:hover::before{border-color:rgba(224,187,99,.6)}

/* feature cards: gold top-accent grows on hover */
.feature{position:relative;overflow:hidden}
.feature::after{content:"";position:absolute;top:0;left:0;height:2px;width:0;
  background:linear-gradient(90deg,var(--gold-2),transparent);transition:width .5s var(--ease)}
.feature:hover::after{width:100%}

/* CTA band: soft radial gold glow behind text */
.cta-band{position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;left:50%;top:50%;width:min(680px,92%);height:340px;
  transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(192,148,46,.15),transparent 70%)}
.cta-band .wrap{position:relative;z-index:2}

/* refined scrollbar + accessible focus */
html{scrollbar-width:thin;scrollbar-color:var(--gold-dk) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--gold-dk);border-radius:10px;border:2px solid var(--bg)}
::-webkit-scrollbar-track{background:transparent}
a:focus-visible,.btn:focus-visible,button:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}

/* ==========================================================
   MOBILE / RESPONSIVE OPTIMIZATION — 2026-08
   ========================================================== */
html{-webkit-tap-highlight-color:transparent}
img{height:auto}

/* nav has 6 items now — switch to the mobile menu earlier so it never crowds */
@media(max-width:980px){
  .menu{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:50;
    flex-direction:column;justify-content:center;gap:28px;
    background:#120f0a;transform:translateX(100%);transition:transform .4s var(--ease);
    overflow-y:auto;padding:88px 24px 40px;-webkit-overflow-scrolling:touch}
  .menu.open{transform:none}
  body.menu-open{overflow:hidden}
  header .brand{position:relative;z-index:55}   /* logo stays above the open menu */
  .menu a{font-size:20px;color:var(--on-dark)}
  .burger{display:block;z-index:60;position:relative}
  .lang{font-size:16px;padding:10px 20px}
}

/* tablets */
@media(max-width:820px){
  .split{gap:30px}
  h2{font-size:clamp(28px,5.5vw,40px)}
}

/* phones */
@media(max-width:600px){
  body{font-size:16px}
  .wrap{padding:0 20px}
  section{padding:clamp(52px,9vh,82px) 0}
  .lead{font-size:16.5px}
  .nav{height:66px}
  header.solid .nav{height:58px}
  /* stack + full-width buttons for easy thumb-tapping */
  .actions{flex-direction:column;align-items:stretch;gap:12px}
  .actions .btn{width:100%;justify-content:center}
  .btn{padding:15px 24px}
  /* hero */
  .hero{min-height:90svh}
  .hero .actions{margin-top:26px}
  /* phones: stronger scrim so light headline stays readable over bright panel photos */
  .hero::after{background:linear-gradient(180deg,rgba(15,12,8,.62) 0%,rgba(15,12,8,.5) 42%,rgba(15,12,8,.92) 100%)}
  /* cards / features a touch tighter */
  .feature{padding:26px 22px}
  .card .cap{padding:18px}
  .card .cap .t{font-size:21px}
  /* stats: keep 2 cols, comfortable */
  .stats{gap:26px 16px}
  /* contacts rows: a little more breathing room */
  .crow{padding:16px 0}
  .chips{gap:10px}
  /* footer */
  .foot-top{gap:22px}
  .foot-bot{font-size:12.5px}
}

/* small phones */
@media(max-width:380px){
  .brand{font-size:20px;letter-spacing:.1em}
  .brand-mark{height:34px}
  .wrap{padding:0 16px}
}

/* landscape-phone / short screens: don't force full-height hero */
@media(max-height:520px) and (orientation:landscape){
  .hero{min-height:520px}
}

/* ---- social icon buttons (bordered boxes) ---- */
.socials{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.soc{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:8px;color:var(--ink);transition:.25s var(--ease);flex:none}
.soc svg{width:20px;height:20px;display:block}
.soc:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
footer .soc,.dark .soc{border-color:rgba(255,255,255,.22);color:#fff}
footer .soc:hover,.dark .soc:hover{border-color:var(--gold-2);color:var(--gold-2)}

/* ---- contact form ---- */
.cform{display:flex;flex-direction:column;gap:14px;margin-top:34px}
.cform input,.cform textarea{width:100%;padding:15px 18px;font:inherit;font-size:16px;color:var(--ink);
  background:var(--bg);border:1px solid var(--line);border-radius:3px;transition:border-color .2s}
.cform input::placeholder,.cform textarea::placeholder{color:#9a9284}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--gold)}
.cform textarea{resize:vertical;min-height:120px}
.cform button{border:0;cursor:pointer}

/* ---- header logo lockup ---- */
.brand-lockup{height:44px;width:auto;display:block}
header.solid .brand-lockup{height:37px}
@media(max-width:600px){.brand-lockup{height:38px}}

/* ---- FAQ accordion (premium, animated) ---- */
.faq{border:1px solid var(--line);border-radius:8px;margin-bottom:14px;background:var(--bg);
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease)}
.faq:hover{border-color:var(--gold-2)}
.faq[open]{border-color:var(--gold);box-shadow:0 18px 44px -28px rgba(40,30,10,.55)}
.faq summary{list-style:none;cursor:pointer;padding:22px 26px;font-family:var(--serif);font-size:19px;font-weight:600;
  color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:20px;transition:color .25s;-webkit-tap-highlight-color:transparent}
.faq summary::-webkit-details-marker{display:none}
.faq summary::marker{content:""}
.faq summary:hover{color:var(--gold-dk)}
.faq summary::after{content:"+";flex:none;width:32px;height:32px;border:1px solid var(--gold);border-radius:50%;
  color:var(--gold);display:grid;place-items:center;font-size:22px;font-weight:300;line-height:1;
  transition:transform .4s var(--ease),background .3s var(--ease),color .3s var(--ease)}
.faq[open] summary::after{transform:rotate(135deg);background:var(--gold);color:#fff}
.faq-a{overflow:hidden;transition:height .42s var(--ease)}
.faq-a p{margin:0;padding:0 26px 24px;color:var(--muted);font-size:16.5px;line-height:1.78;max-width:64ch}

/* ---- blog / articles ---- */
.artcards{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:44px}
@media(max-width:760px){.artcards{grid-template-columns:1fr}}
.artcard{display:block;padding:32px 30px;background:var(--bg);border:1px solid var(--line);border-radius:5px;transition:.35s var(--ease)}
.artcard:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--gold)}
.artcard .meta{color:var(--gold);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase}
.artcard h3{font-family:var(--serif);font-size:23px;font-weight:600;margin:12px 0 10px;color:var(--ink)}
.artcard p{color:var(--muted);font-size:15.5px}
.article{max-width:760px;margin:0 auto}
.article .meta{color:var(--gold);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.article p{color:var(--ink);font-size:17px;line-height:1.85;margin:18px 0}
.article h2{font-family:var(--serif);font-size:clamp(23px,3.4vw,30px);margin:40px 0 10px;max-width:none}
.article ul{margin:14px 0 14px 20px;color:var(--ink);line-height:1.8}
.article li{margin:7px 0}
.article strong{color:var(--ink)}

/* ==========================================================
   PREMIUM ELEVATION PASS — 2026-08 (cinematic craft, global)
   ========================================================== */
/* slower, more deliberate reveals — luxury moves slowly */
.reveal{transform:translateY(40px);filter:blur(6px);
  transition:opacity 1.05s var(--ease),transform 1.05s var(--ease),filter 1.05s var(--ease)}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.32s}.reveal.d4{transition-delay:.44s}

/* more breathing room on desktop (whitespace = luxury) */
@media(min-width:601px){ section{padding:clamp(96px,14vh,168px) 0} }

/* hero: calmer, more dramatic ken-burns */
.hero-bg{animation-duration:20s;transform:scale(1.12)}

/* headings — a touch tighter, more elegant */
h2{letter-spacing:-.015em}
.hero h1{letter-spacing:-.02em}

/* collection cards — refined premium hover */
.card{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{transform:translateY(-8px);box-shadow:0 34px 66px -32px rgba(20,14,4,.62)}
.card img{transition:transform 1.15s var(--ease),opacity .5s}
.card:hover img{transform:scale(1.09)}

/* feature cards — smoother lift */
.feature{transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .35s var(--ease)}

/* split image — deeper, softer shadow */
.split .shot{box-shadow:0 44px 84px -42px rgba(40,30,10,.52)}
.split .shot img{transition:transform .6s var(--ease)}

/* ==========================================================
   MOBILE FLOATING CONTACT BUTTONS — Telegram + Call — 2026-08
   ========================================================== */
.kp-fab{display:none}
@media(max-width:820px){
  .kp-fab{display:flex;flex-direction:column;gap:14px;position:fixed;right:16px;z-index:40;
    bottom:calc(18px + env(safe-area-inset-bottom))}
  .kp-fab a{position:relative;width:54px;height:54px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;text-decoration:none;
    box-shadow:0 10px 24px rgba(0,0,0,.36);-webkit-tap-highlight-color:transparent;
    transition:transform .22s var(--ease),box-shadow .22s var(--ease);
    animation:kpFabIn .55s var(--ease) both}
  .kp-fab a:active{transform:scale(.88)}
  .kp-fab a:hover{box-shadow:0 14px 30px rgba(0,0,0,.44)}
  .kp-fab svg{width:27px;height:27px;position:relative;z-index:1}
  .kp-fab-tg{background:#229ED9;color:#fff;animation-delay:.06s}
  .kp-fab-call{background:#d2af6e;color:#1a1710}
  .kp-fab-ring{position:absolute;inset:0;border-radius:50%;background:#229ED9;
    z-index:0;animation:kpPulse 2.4s var(--ease) 3 both}   /* pulse 3x on load, then rest */
  body.menu-open .kp-fab{display:none}   /* hide while the menu overlay is open */
}
@keyframes kpFabIn{from{opacity:0;transform:translateY(16px) scale(.55)}to{opacity:1;transform:none}}
@keyframes kpPulse{0%{transform:scale(1);opacity:.5}70%{transform:scale(1.75);opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){
  .kp-fab a{animation:none}
  .kp-fab-ring{display:none}
}

/* ---- footer legal links + legal pages ---- */
.foot-copy{display:flex;flex-direction:column;gap:9px}
.foot-legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.foot-legal a{color:var(--on-dark-mut);text-decoration:none;font-size:13px;transition:color .25s}
.foot-legal a:hover{color:var(--gold)}
.meta{color:var(--gold);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.legal-upd{color:var(--muted);font-size:14px;margin-top:36px;font-style:italic}
.legal h2{font-size:clamp(20px,2.6vw,24px)}
