/* ===========================================================================
   Salón Strapáčik — Boutique design system (shared across all pages)
   Warm cream + terracotta + blush · DM Serif Display + Nunito
   =========================================================================== */
:root{
  --terra:#C0664A; --terra-deep:#a4533a;
  --blush:#EAC7B8; --blush-soft:#F4DDD2;
  --gold:#CC9F5B;
  --cream:#F7EEE1; --cream-soft:#FBF6EE; --card:#FFFDF9;
  --ink:#3C2C20; --muted:#8a7866;
  --line:rgba(60,44,32,.13); --line-soft:rgba(60,44,32,.07);
  --shadow:0 20px 46px -26px rgba(80,50,30,.4);
  --shadow-lift:0 34px 70px -28px rgba(80,50,30,.42);
  --serif:'DM Serif Display',Georgia,serif;
  --sans:'Nunito',system-ui,sans-serif;
  --r:22px; --r-sm:14px;
  --nav-h:74px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.75;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--terra-deep);text-decoration:none;transition:color .2s}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,.btn:focus-visible{outline:3px solid rgba(192,102,74,.55);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.12;color:var(--ink);letter-spacing:-.005em}
h1{font-size:clamp(2.6rem,6vw,4.7rem)}
h2{font-size:clamp(2.1rem,4vw,3.1rem)}
h3{font-size:clamp(1.35rem,2.1vw,1.7rem)}
.em{font-style:italic;color:var(--terra)}
.container{width:min(1180px,92%);margin:0 auto;position:relative;z-index:2}
.narrow{width:min(820px,92%);margin:0 auto;position:relative;z-index:2}
section{padding:clamp(4rem,7.5vw,6.6rem) 0;position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);font-weight:800}
.eyebrow i{font-size:.9rem}
.eyebrow.center{justify-content:center}
.muted{color:var(--muted)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.95rem 1.8rem;font-weight:700;font-size:.95rem;border-radius:40px;border:2px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s,color .2s,border-color .2s;white-space:nowrap;font-family:var(--sans)}
.btn-primary{background:var(--terra);color:#fff;box-shadow:0 14px 26px -12px rgba(192,102,74,.7)}
.btn-primary:hover{transform:translateY(-2px);background:var(--terra-deep);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--terra)}
.btn-ghost:hover{background:var(--blush-soft);color:var(--terra-deep);transform:translateY(-1px)}
.btn-light{background:var(--card);color:var(--ink);border-color:var(--card)}
.btn-light:hover{background:var(--blush-soft);border-color:var(--blush-soft);transform:translateY(-1px)}

/* ===== HEADER / NAV ===== */
header.site{position:sticky;top:0;z-index:50;background:rgba(247,238,225,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0;min-height:var(--nav-h)}
.brand{display:flex;align-items:center}
.brand img{height:48px;width:auto}
.nav-links{display:none;gap:1.5rem;align-items:center}
.nav-links a{color:var(--ink);font-size:.92rem;font-weight:700;position:relative;padding:.2rem 0}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--terra);border-radius:2px;transition:right .25s}
.nav-links a:hover::after,.nav-links a.active::after{right:0}
.nav-links a.active{color:var(--terra-deep)}
.nav-right{display:flex;align-items:center;gap:.8rem}
.nav-cta{display:none}
.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:1.15rem;cursor:pointer}
@media(min-width:980px){.nav-links{display:flex}.nav-cta{display:inline-flex}.menu-btn{display:none}}
/* mobile full-screen overlay menu */
.mobile-menu{
  position:fixed;left:0;right:0;top:var(--nav-h);bottom:0;
  width:auto;max-width:none;margin:0;
  padding:1.4rem 7% calc(1.6rem + env(safe-area-inset-bottom));
  background:var(--cream);
  display:none;flex-direction:column;
  overflow-y:auto;z-index:45;
}
.mobile-menu.open{display:flex}
.mobile-menu a{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.05rem .2rem;
  font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--ink);
  border-bottom:1px solid var(--line-soft);
}
.mobile-menu a::after{content:"\f105";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.95rem;color:var(--blush);}
.mobile-menu a.active{color:var(--terra-deep)}
.mobile-menu a.active::after{color:var(--terra)}
.mobile-menu .btn{margin-top:1.6rem;width:100%;justify-content:center}
.mobile-menu .btn::after{content:none}
@media(min-width:980px){.mobile-menu{display:none!important}}

/* ===== HERO (home) ===== */
.hero{padding:clamp(2rem,4vw,3.4rem) 0 clamp(3rem,6vw,5rem);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;top:-12%;right:-6%;width:560px;height:560px;border-radius:50%;background:radial-gradient(closest-side,var(--blush-soft),transparent 72%);z-index:0}
.hero-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}
@media(min-width:980px){.hero-grid{grid-template-columns:1.04fr .96fr;gap:3.4rem}}
.hero-pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--card);border:1px solid var(--line);border-radius:40px;padding:.45rem 1rem;font-size:.82rem;font-weight:700;color:var(--ink);box-shadow:var(--shadow);margin-bottom:1.4rem}
.hero-pill .star{color:var(--gold)}
.hero h1{margin-bottom:1.3rem}
.hero-sub{font-size:1.12rem;color:var(--muted);max-width:32rem;margin-bottom:2rem;font-weight:500}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.8rem}
.hero-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-size:.86rem;color:var(--muted);font-weight:600}
.hero-meta span{display:inline-flex;align-items:center;gap:.45rem}
.hero-meta i{color:var(--terra)}
.bento{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,minmax(0,1fr));gap:1rem;aspect-ratio:1/1.04}
.bento .b{overflow:hidden;border-radius:var(--r);background:var(--blush);box-shadow:var(--shadow);position:relative}
.bento .b img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.bento .b:hover img{transform:scale(1.05)}
.b1{grid-column:1;grid-row:1 / span 3}
.b2{grid-column:2;grid-row:1 / span 2}
.b3{grid-column:2;grid-row:3 / span 3}
.b4{grid-column:1;grid-row:4 / span 2}
.bento .badge{position:absolute;bottom:12px;left:12px;background:rgba(255,253,249,.92);color:var(--ink);font-size:.72rem;font-weight:800;padding:.35rem .75rem;border-radius:30px}

/* ===== SUB-PAGE HERO ===== */
.subhero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--blush-soft),var(--cream) 70%);padding:clamp(2.6rem,6vw,4.4rem) 0 clamp(2.4rem,5vw,3.6rem);text-align:center}
.subhero::before{content:"";position:absolute;top:-30%;right:-8%;width:420px;height:420px;border-radius:50%;background:radial-gradient(closest-side,rgba(204,159,91,.18),transparent 72%)}
.subhero h1{margin:.7rem 0 .8rem}
.subhero p{color:var(--muted);font-weight:500;max-width:620px;margin:0 auto}
.crumbs{font-size:.82rem;color:var(--muted);font-weight:600}
.crumbs a{color:var(--terra-deep)}

/* ===== TRUST RIBBON ===== */
.ribbon{background:var(--terra);color:#fff}
.ribbon .container{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem 1rem;padding:1.7rem 0}
@media(min-width:760px){.ribbon .container{grid-template-columns:repeat(4,1fr)}}
.ribbon-item{display:flex;gap:.8rem;align-items:center;justify-content:center;text-align:left}
.ribbon-item i{font-size:1.5rem;opacity:.85}
.ribbon-item b{font-family:var(--serif);font-size:1.05rem;font-weight:400;display:block;line-height:1.1}
.ribbon-item span{font-size:.78rem;opacity:.85;font-weight:600}

.sec-head{text-align:center;max-width:680px;margin:0 auto 3rem}
.sec-head h2{margin:.8rem 0}
.sec-head p{color:var(--muted);font-weight:500}

/* ===== ABOUT ===== */
.about{background:var(--cream-soft)}
.about-grid{display:grid;grid-template-columns:1fr;gap:2.6rem;align-items:center}
@media(min-width:920px){.about-grid{grid-template-columns:.85fr 1.15fr;gap:3.6rem}}
.about-photo{position:relative}
.about-photo img{width:100%;height:auto;border-radius:var(--r);box-shadow:var(--shadow-lift);aspect-ratio:1/1;object-fit:cover}
.about-photo .stamp{position:absolute;bottom:-22px;right:14px;background:var(--gold);color:#fff;width:118px;height:118px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:800;font-size:.74rem;line-height:1.2;box-shadow:var(--shadow);transform:rotate(-8deg)}
.about-photo .stamp b{font-family:var(--serif);font-size:1.5rem;font-weight:400;display:block}
.about h2{margin:.8rem 0 1.2rem}
.about p{margin-bottom:1.1rem;color:#5a4938}
.about .quote{background:var(--blush-soft);border-radius:var(--r-sm);padding:1.3rem 1.5rem;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--ink);margin:1.4rem 0}
.about-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
.tag{background:var(--card);border:1px solid var(--line);border-radius:30px;padding:.5rem 1rem;font-size:.84rem;font-weight:700;display:inline-flex;gap:.5rem;align-items:center}
.tag i{color:var(--terra)}

/* ===== SERVICES ===== */
.svc-grid{display:grid;gap:1.4rem;grid-template-columns:1fr}
@media(min-width:640px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
.svc{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.9rem 1.7rem;transition:transform .25s,box-shadow .25s}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.svc-ic{width:56px;height:56px;border-radius:18px;background:var(--blush-soft);color:var(--terra);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.1rem}
.svc h3{font-size:1.32rem;margin-bottom:.5rem}
.svc p{font-size:.92rem;color:var(--muted);font-weight:500;margin-bottom:1rem}
.svc .price{font-family:var(--serif);font-size:1.3rem;color:var(--terra)}
.svc .price small{font-family:var(--sans);font-size:.78rem;color:var(--muted);font-weight:700;letter-spacing:.04em}
.svc ul{list-style:none;margin-top:.4rem;display:grid;gap:.4rem}
.svc ul li{font-size:.88rem;color:#5a4938;display:flex;gap:.5rem;align-items:flex-start}
.svc ul li i{color:var(--terra);font-size:.62rem;margin-top:.45rem}

/* ===== PRICING TABLES ===== */
.price-wrap{max-width:880px;margin:0 auto 1.8rem;background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--line-soft)}
.price-wrap .ph{background:var(--blush-soft);padding:1.4rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.price-wrap .ph h3{margin:0}
.price-wrap .ph .ph-ic{color:var(--terra)}
.price-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--line-soft)}
.price-row:last-child{border-bottom:0}
.price-row .n{font-weight:700}
.price-row .n span{display:block;font-size:.82rem;color:var(--muted);font-weight:600}
.price-row .v{font-family:var(--serif);font-size:1.15rem;color:var(--terra);white-space:nowrap}
.price-foot{padding:1.1rem 2rem;font-size:.84rem;color:var(--muted);font-weight:600;background:var(--cream-soft)}
.price-note-card{max-width:880px;margin:0 auto;background:var(--blush-soft);border-radius:var(--r-sm);padding:1.2rem 1.6rem;font-size:.9rem;color:#5a4938;font-weight:600;display:flex;gap:.8rem;align-items:flex-start}
.price-note-card i{color:var(--terra);margin-top:.2rem}

/* ===== SPA ===== */
.spa{background:var(--terra);color:#fff;position:relative;overflow:hidden}
.spa::before{content:"";position:absolute;top:-15%;left:-8%;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.07)}
.spa-grid{display:grid;grid-template-columns:1fr;gap:2.6rem;align-items:center}
@media(min-width:920px){.spa-grid{grid-template-columns:1fr 1fr;gap:3.6rem}}
.spa-img img{width:100%;border-radius:var(--r);aspect-ratio:5/4;object-fit:cover;box-shadow:var(--shadow-lift)}
.spa .eyebrow{color:#fff}
.spa h2{color:#fff;margin:.8rem 0 1rem}
.spa h2 .em{color:var(--blush-soft)}
.spa p{color:rgba(255,255,255,.9);font-weight:500;margin-bottom:1.2rem}
.spa-list{list-style:none;display:grid;gap:.6rem;margin-bottom:1.4rem}
.spa-list li{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem}
.spa-list i{margin-top:.35rem;color:var(--blush-soft);font-size:.7rem}
.wraps{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1.2rem}
.wrap-c{background:rgba(255,255,255,.1);border-radius:var(--r-sm);padding:.9rem;text-align:center}
.wrap-c b{display:block;font-family:var(--serif);font-size:1rem}
.wrap-c span{font-size:.74rem;opacity:.85}
/* wraps detail cards (wellness page, light bg) */
.wrap-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}
@media(min-width:760px){.wrap-grid{grid-template-columns:repeat(3,1fr)}}
.wrap-card{background:var(--card);border-radius:var(--r);padding:2rem 1.8rem;box-shadow:var(--shadow);border:1px solid var(--line-soft);position:relative;overflow:hidden}
.wrap-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--terra)}
.wrap-ic{width:54px;height:54px;border-radius:16px;background:var(--blush-soft);color:var(--terra);display:flex;align-items:center;justify-content:center;font-size:1.35rem;margin-bottom:1rem}
.wrap-card h3{font-size:1.45rem;margin-bottom:.5rem}
.wrap-card p{font-size:.92rem;color:var(--muted);margin-bottom:.9rem;font-weight:500}
.wrap-card ul{list-style:none;display:grid;gap:.4rem}
.wrap-card li{font-size:.88rem;color:#5a4938;display:flex;gap:.5rem;align-items:flex-start}
.wrap-card li i{color:var(--terra);font-size:.6rem;margin-top:.45rem}

/* ===== SHOP CALLOUT ===== */
.shop-card{max-width:1000px;margin:0 auto;background:linear-gradient(120deg,var(--blush-soft),var(--cream-soft));border:1px solid var(--line);border-radius:var(--r);padding:clamp(2rem,4vw,3rem);display:grid;grid-template-columns:1fr;gap:1.6rem;align-items:center}
@media(min-width:760px){.shop-card{grid-template-columns:1.3fr .7fr}}
.shop-card h3{margin-bottom:.7rem}
.shop-card p{color:#5a4938;font-weight:500}
.shop-items{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}
.shop-items span{background:var(--card);border-radius:30px;padding:.45rem 1rem;font-size:.84rem;font-weight:700;border:1px solid var(--line)}
.shop-ic{font-size:clamp(4rem,12vw,7rem);color:var(--terra);text-align:center;opacity:.9}

/* ===== GALLERY ===== */
.g-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.g-grid{grid-template-columns:repeat(4,1fr)}}
.g-item{overflow:hidden;border-radius:var(--r-sm);aspect-ratio:1;background:var(--blush)}
.g-item.tall{aspect-ratio:auto;grid-row:span 2}
.g-item.wide{grid-column:span 2}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.g-item:hover img{transform:scale(1.06)}

/* ===== REVIEWS ===== */
.rev-grid{display:grid;gap:1.4rem;grid-template-columns:1fr}
@media(min-width:880px){.rev-grid{grid-template-columns:repeat(3,1fr)}}
.rev{background:var(--card);border-radius:var(--r);padding:1.8rem 1.7rem;box-shadow:var(--shadow);border:1px solid var(--line-soft);display:flex;flex-direction:column}
.rev .stars{color:var(--gold);margin-bottom:.9rem;letter-spacing:.12em}
.rev p{font-size:1rem;color:#5a4938;font-weight:500;flex:1}
.rev .who{margin-top:1.2rem;display:flex;align-items:center;gap:.7rem}
.rev .who .av{width:42px;height:42px;border-radius:50%;background:var(--blush);color:var(--terra);display:flex;align-items:center;justify-content:center;font-size:1rem}
.rev .who b{font-weight:800;font-size:.92rem}
.rev .who span{font-size:.78rem;color:var(--muted);display:block}

/* ===== INTAKE STEPS ===== */
.step-grid{display:grid;gap:1.2rem;grid-template-columns:1fr}
@media(min-width:640px){.step-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.step-grid{grid-template-columns:repeat(4,1fr)}}
.step{background:var(--card);border-radius:var(--r);padding:1.7rem 1.5rem;border:1px solid var(--line-soft);position:relative}
.step .num{position:absolute;top:1.2rem;right:1.4rem;font-family:var(--serif);font-size:2rem;color:var(--blush)}
.step i{font-size:1.4rem;color:var(--terra);margin-bottom:.8rem;display:block}
.step h4{font-family:var(--serif);font-size:1.18rem;font-weight:400;margin-bottom:.4rem}
.step p{font-size:.88rem;color:var(--muted);font-weight:500}

/* ===== RULES (pravidlá) ===== */
.rules-grid{display:grid;gap:.9rem;grid-template-columns:1fr;max-width:880px;margin:0 auto}
@media(min-width:680px){.rules-grid{grid-template-columns:1fr 1fr}}
.rule{display:flex;gap:.9rem;align-items:flex-start;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:1.1rem 1.3rem}
.rule .rn{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--blush-soft);color:var(--terra-deep);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem}
.rule p{font-size:.92rem;color:#5a4938;font-weight:600}

/* ===== CREDENTIALS / CERTS (o-mne) ===== */
.cert-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.cert-grid{grid-template-columns:repeat(4,1fr)}}
.cert-ph{border-radius:var(--r-sm);overflow:hidden;background:var(--blush);box-shadow:var(--shadow);aspect-ratio:3/4;border:1px solid var(--line-soft)}
.cert-ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cert-ph:hover img{transform:scale(1.04)}
.degree-card{max-width:880px;margin:0 auto 2.2rem;background:linear-gradient(120deg,var(--terra),var(--terra-deep));color:#fff;border-radius:var(--r);padding:2rem 2.2rem;display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}
.degree-card .di{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex-shrink:0}
.degree-card h3{color:#fff;margin-bottom:.2rem}
.degree-card p{color:rgba(255,255,255,.88);font-weight:500;font-size:.95rem}

/* ===== FAQ ===== */
.faq-list{max-width:800px;margin:0 auto;display:grid;gap:.9rem}
.faq-item{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-sm);overflow:hidden}
.faq-q{width:100%;background:none;border:0;padding:1.3rem 1.5rem;text-align:left;font-family:var(--serif);font-size:1.12rem;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;gap:1rem;list-style:none}
.faq-q::-webkit-details-marker{display:none}
.faq-tog{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--blush-soft);color:var(--terra);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:transform .25s,background .25s,color .25s}
.faq-item[open] .faq-tog{transform:rotate(45deg);background:var(--terra);color:#fff}
.faq-a{padding:0 1.5rem 1.3rem;color:var(--muted);font-weight:500;max-width:66ch}

/* ===== CTA BAND ===== */
.cta-band{background:linear-gradient(120deg,var(--terra),var(--terra-deep));color:#fff;border-radius:var(--r);padding:clamp(2.2rem,5vw,3.4rem);text-align:center;max-width:1000px;margin:0 auto;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;bottom:-40%;right:-15%;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,.08)}
.cta-band>*{position:relative;z-index:2}
.cta-band h2{color:#fff;margin-bottom:.7rem}
.cta-band p{color:rgba(255,255,255,.9);font-weight:500;margin-bottom:1.6rem;max-width:560px;margin-left:auto;margin-right:auto}
.cta-band .hero-cta{justify-content:center}

/* ===== CONTACT ===== */
.contact-wrap{max-width:1040px;margin:0 auto;display:grid;gap:1.6rem;grid-template-columns:1fr}
@media(min-width:860px){.contact-wrap{grid-template-columns:1fr 1fr}}
.c-card{background:var(--card);border-radius:var(--r);padding:2.2rem 2rem;box-shadow:var(--shadow);border:1px solid var(--line-soft)}
.c-card h3{margin-bottom:1.3rem}
.c-list{list-style:none;display:grid;gap:1.1rem}
.c-list li{display:flex;gap:.9rem;align-items:flex-start}
.c-list .ci{flex-shrink:0;width:44px;height:44px;border-radius:14px;background:var(--blush-soft);color:var(--terra);display:flex;align-items:center;justify-content:center}
.c-list small{display:block;font-size:.74rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.1rem}
.c-list b{font-weight:700}
.field{margin-bottom:1rem}
.field label{display:block;font-size:.8rem;font-weight:700;color:var(--ink);margin-bottom:.4rem}
.field input,.field textarea{width:100%;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--sans);font-size:.95rem;background:var(--cream-soft);color:var(--ink)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--terra)}
.gdpr{display:flex;gap:.6rem;align-items:flex-start;font-size:.82rem;color:var(--muted);font-weight:600;margin-bottom:1.1rem}
.gdpr input{width:auto;margin-top:.25rem}
.form-ok{display:none;margin-top:1rem;color:var(--terra);font-weight:700}
.map{margin-top:1.6rem;border-radius:var(--r);overflow:hidden;max-width:1040px;margin-left:auto;margin-right:auto;box-shadow:var(--shadow)}
.map iframe{width:100%;height:360px;border:0;display:block}

/* ===== FOOTER ===== */
footer{background:#241813;color:rgba(255,255,255,.74);padding:3.4rem 0 2rem}
.foot-grid{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:760px){.foot-grid{grid-template-columns:1.5fr 1fr 1fr}}
.foot-brand img{height:74px;width:auto;margin-bottom:1.1rem}
.foot-brand p{font-weight:500;max-width:24rem;font-size:.95rem}
.socials{display:flex;gap:.6rem;margin-top:1.1rem}
.socials a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#fff;transition:background .2s}
.socials a:hover{background:var(--terra);border-color:var(--terra)}
.foot h5{color:#fff;font-family:var(--sans);font-weight:800;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem}
.foot ul{list-style:none;display:grid;gap:.5rem;font-size:.92rem;font-weight:500}
.foot a{color:rgba(255,255,255,.72)}
.foot a:hover{color:var(--blush)}
.foot-bottom{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;justify-content:space-between;font-size:.78rem;color:rgba(255,255,255,.5)}

/* ===== STICKY MOBILE CALL ===== */
.sticky-call{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.15)}
.sticky-call a{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem .95rem calc(.95rem + env(safe-area-inset-bottom));font-weight:800;font-size:.92rem;color:#fff}
.sticky-call .s-call{background:var(--terra)}
.sticky-call .s-mail{background:var(--gold)}
@media(min-width:760px){.sticky-call{display:none}}
@media(max-width:759px){body{padding-bottom:calc(54px + env(safe-area-inset-bottom))}}

/* ===== MAP CONTEXT ===== */
.map-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;max-width:1040px;margin:0 auto 1rem}
.map-head h3{margin:0}
.map-link{font-weight:700;display:inline-flex;align-items:center;gap:.45rem}

/* ===== SMALL-PHONE TIGHTENING ===== */
@media(max-width:520px){
  .bento{gap:.75rem;aspect-ratio:1/1.18;margin-top:.4rem}
  .bento .b{border-radius:18px}
  .svc{padding:1.55rem 1.35rem}
  .svc-ic{width:48px;height:48px;border-radius:15px;margin-bottom:.9rem}
  .svc p{margin-bottom:.8rem}
}

/* ===== REVEAL (no-JS safe: visible by default, animate only when JS opts in) ===== */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;background:#fff;color:#1a1a1a;padding:.7rem 1.1rem;border-radius:0 0 8px 0;font-weight:700;box-shadow:0 4px 16px rgba(0,0,0,.18)}.skip-link:focus{left:0}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-ok.err{color:#b3261e}

/* Contact form — prominent submit feedback */
.form-ok{margin-top:1rem;font-weight:700;padding:.85rem 1.1rem;border-radius:var(--r-sm);background:var(--blush-soft);color:var(--terra-deep)}
.form-ok.err{background:#fdecea;color:#b3261e;border:1px solid #f3c0bb}
.form-success{text-align:center;padding:1.4rem .5rem .6rem;animation:fsIn .4s ease both}
.form-success .fs-icon{width:78px;height:78px;border-radius:50%;background:var(--blush-soft);color:var(--terra);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.1rem;box-shadow:0 12px 28px -12px rgba(192,102,74,.55);animation:fsPop .5s cubic-bezier(.2,.8,.3,1.3) both}
.form-success h3{color:var(--terra-deep);margin:0 0 .4rem}
.form-success .fs-msg{color:var(--ink);font-weight:700;margin:0 0 .9rem;font-size:1.05rem}
.form-success .fs-sub{color:var(--muted);font-weight:600;font-size:.92rem;margin:0}
.form-success:focus{outline:none}
@keyframes fsPop{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes fsIn{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.form-success,.form-success .fs-icon{animation:none}}
