:root {
  --primary: #100320;
  --gold: #F0CE53;
  --gold-dim: rgba(240,206,83,0.85);
  --gold-faint: rgba(240,206,83,0.1);
  --cream: #fdf8ee;
  --ivory: #f5eedc;
  --white: #fffdf5;
  --muted: rgba(16,3,32,0.55);
  --border: rgba(16,3,32,0.08);
  --nav-h: 76px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:var(--cream); color:var(--primary);
  font-family:'Nunito Sans',sans-serif; font-size:18px; overflow-x:hidden;
}

/* nav */
nav {
  position:fixed; top:0; left:0; right:0; z-index:300;
  height:var(--nav-h);
  display:flex; align-items:center; justify-content:center;
  background:transparent;
  transition:background .4s, box-shadow .4s, border-color .4s;
  border-bottom:1px solid transparent;
}
.nav-links-wrap { display:flex; align-items:center; justify-content:center; }
.nav-links { display:flex; gap:3rem; list-style:none; }
.nav-links a {
  color:rgba(255,255,255,0.9); text-decoration:none;
  font-size:0.78rem; letter-spacing:0.18em; text-transform:uppercase; font-weight:700;
  position:relative; transition:color .3s;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-4px; left:0;
  width:0; height:1.5px; background:var(--gold); transition:width .3s;
}
.nav-links a:hover::after { width:100%; }
nav.scrolled {
  background:#ffffff;
  border-bottom:1px solid rgba(240,206,83,0.3);
  box-shadow:0 2px 24px rgba(16,3,32,0.08);
}
nav.scrolled .nav-links a { color:var(--primary); }
nav.scrolled .nav-links a:hover { color:var(--gold); }

.nav-burger {
  display:flex; flex-direction:column; gap:6px;
  position:fixed; top:22px; right:36px; z-index:350;
  cursor:pointer; padding:10px; background:none; border:none;
  transition:background .4s;
}
@media (min-width:769px) { .nav-burger { display:none; } }
.nav-burger.scrolled-bg {
  background:rgba(255,255,255,0.95);
  box-shadow:0 2px 16px rgba(16,3,32,0.12);
  padding:14px;
}
.nav-burger span {
  display:block; width:26px; height:2px;
  background:var(--gold); border-radius:2px;
  transition:transform .3s, opacity .3s, background .3s;
}
.nav-burger.scrolled-bg span { background:var(--primary); }
.nav-burger.open span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity:0; }
.nav-burger.open span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }

.nav-drawer {
  position:fixed; inset:0; z-index:400;
  background:var(--primary);
  display:none; flex-direction:column;
  align-items:center; justify-content:center; gap:2.8rem;
}
.nav-drawer.open { display:flex; }
.nav-drawer a {
  color:rgba(255,255,255,0.7); text-decoration:none;
  font-size:1rem; letter-spacing:0.22em; text-transform:uppercase; font-weight:700;
  transition:color .25s;
}
.nav-drawer a:hover, .nav-drawer a:active { color:var(--gold); }
.nav-drawer-close {
  position:absolute; top:1.2rem; right:1.2rem;
  background:none; border:none; cursor:pointer; padding:10px; line-height:0;
}
.nav-drawer-close svg {
  width:22px; height:22px; stroke:rgba(255,255,255,0.55);
  fill:none; stroke-width:2; stroke-linecap:round;
}

/* hero */
#hero {
  min-height:100vh; background:var(--primary);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; position:relative; overflow:hidden;
  padding:calc(var(--nav-h) + 2rem) 2rem 2rem;
}
.deco-frame {
  position:absolute; top:calc(var(--nav-h) + 34px); left:40px; right:40px; bottom:40px;
  border:1px solid rgba(240,206,83,0.15); pointer-events:none; z-index:1;
}
.deco-frame::before {
  content:''; position:absolute; inset:18px;
  border:1px solid rgba(240,206,83,0.06);
}
.deco-corner { position:absolute; width:60px; height:60px; }
.deco-corner.tl { top:-1px; left:-1px; border-top:2px solid var(--gold); border-left:2px solid var(--gold); }
.deco-corner.tr { top:-1px; right:-1px; border-top:2px solid var(--gold); border-right:2px solid var(--gold); }
.deco-corner.bl { bottom:-1px; left:-1px; border-bottom:2px solid var(--gold); border-left:2px solid var(--gold); }
.deco-corner.br { bottom:-1px; right:-1px; border-bottom:2px solid var(--gold); border-right:2px solid var(--gold); }
.deco-corner::after { content:''; position:absolute; width:7px; height:7px; background:var(--gold); border-radius:50%; }
.deco-corner.tl::after { top:8px; left:8px; }
.deco-corner.tr::after { top:8px; right:8px; }
.deco-corner.bl::after { bottom:8px; left:8px; }
.deco-corner.br::after { bottom:8px; right:8px; }
.hero-rays { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.hero-rays::before {
  content:''; position:absolute; top:50%; left:50%; width:200%; height:200%;
  transform:translate(-50%,-50%);
  background:conic-gradient(from 0deg,
    transparent 0deg 10deg, rgba(240,206,83,0.016) 10deg 11deg,
    transparent 11deg 25deg, rgba(240,206,83,0.016) 25deg 26deg,
    transparent 26deg 37deg, rgba(240,206,83,0.016) 37deg 38deg,
    transparent 38deg 360deg);
  animation:rays-spin 60s linear infinite;
}
@keyframes rays-spin {
  from { transform:translate(-50%,-50%) rotate(0deg); }
  to   { transform:translate(-50%,-50%) rotate(360deg); }
}
.hero-content { position:relative; z-index:3; max-width:860px; width:100%; }
.hero-logo-wrap { margin-bottom:1.8rem; }
.hero-logo-big { width:auto; max-width:min(320px, 72vw); height:auto; }
.hero-eyebrow {
  font-size:0.8rem; letter-spacing:0.45em; color:var(--gold-dim);
  text-transform:uppercase; font-weight:600; margin-bottom:2rem;
}
.hero-ornament {
  display:flex; align-items:center; justify-content:center; gap:1.5rem; margin-bottom:1.8rem;
}
.orn-line { height:1px; width:80px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.orn-diamond { width:9px; height:9px; background:var(--gold); transform:rotate(45deg); }
.hero-location {
  font-size:0.8rem; letter-spacing:0.4em; color:rgba(240,206,83,0.7);
  text-transform:uppercase; margin-bottom:3.5rem; font-weight:600;
}
.hero-btns { display:flex; gap:1.5rem; justify-content:center; flex-wrap:wrap; }
.btn-gold {
  padding:1.1rem 3.2rem; background:var(--gold); color:var(--primary);
  font-size:0.82rem; letter-spacing:0.2em; text-transform:uppercase; font-weight:800;
  text-decoration:none; transition:all .3s; display:inline-block; border:none;
}
.btn-gold:hover { background:var(--white); transform:translateY(-2px); box-shadow:0 12px 40px rgba(240,206,83,0.4); }
.btn-ghost {
  padding:1.1rem 3.2rem; background:transparent;
  border:1px solid rgba(240,206,83,0.4); color:var(--gold);
  font-size:0.82rem; letter-spacing:0.2em; text-transform:uppercase; font-weight:600;
  text-decoration:none; transition:all .3s; display:inline-block;
}
.btn-ghost:hover { background:var(--gold-faint); border-color:var(--gold); transform:translateY(-2px); }

/* about */
#about { background:#ffffff; padding:8rem 5rem; }
.about-inner {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:1.3fr 1fr; gap:7rem; align-items:center;
}
.sec-label {
  font-size:0.75rem; letter-spacing:0.35em; color:rgba(16,3,32,0.55);
  text-transform:uppercase; font-weight:700; margin-bottom:1rem;
}
.sec-title {
  font-weight:800; font-size:clamp(2.2rem, 5vw, 4.5rem);
  color:var(--primary); line-height:1.15; margin-bottom:1.5rem;
}
.divider { display:flex; align-items:center; gap:1rem; margin-bottom:2rem; }
.divider-line { height:1px; flex:1; background:linear-gradient(90deg,var(--gold),transparent); }
.divider-icon { color:var(--gold); font-size:0.85rem; }
.divider-center { display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:0.8rem; }
.divider-center-line { height:1px; width:80px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.about-text { font-size:1rem; line-height:1.75; color:rgba(16,3,32,0.72); margin-bottom:1.3rem; font-weight:400; }
.cert-line {
  display:flex; align-items:center; gap:0.7rem;
  margin-top:1.8rem; padding-top:1.5rem;
  border-top:1px solid rgba(16,3,32,0.07);
}
.cert-line-mark { width:2px; height:28px; background:var(--gold); flex-shrink:0; }
.cert-line-text { font-size:0.8rem; letter-spacing:0.08em; color:rgba(16,3,32,0.55); font-weight:600; line-height:1.5; }
.cert-line-text strong { display:block; color:rgba(16,3,32,0.75); font-weight:700; font-size:0.85rem; letter-spacing:0.05em; }
.portrait-box {
  width:100%; aspect-ratio:1/1; overflow:hidden;
  border:1px solid rgba(16,3,32,0.1); position:relative;
}
.portrait-box::after {
  content:''; position:absolute; top:12px; right:-12px; bottom:-12px; left:12px;
  border:1px solid rgba(240,206,83,0.3); pointer-events:none;
}
.portrait-box img { width:100%; height:100%; object-fit:cover; object-position:top; display:block; }

/* services */
#services { background:#f9f9fb; padding:8rem 5rem; }
.services-inner { max-width:1200px; margin:0 auto; }
.section-hdr { text-align:center; margin-bottom:5rem; }
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.svc-card {
  background:#ffffff; padding:3rem 2.8rem;
  border:1px solid rgba(16,3,32,0.06);
  position:relative; overflow:hidden; transition:all .4s;
}
.svc-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  transform:scaleX(0); transition:transform .4s;
}
.svc-card:hover { transform:translateY(-5px); box-shadow:0 18px 45px rgba(16,3,32,0.1); }
.svc-card:hover::before { transform:scaleX(1); }
.svc-card-num { font-size:0.6rem; letter-spacing:0.3em; color:rgba(16,3,32,0.3); margin-bottom:1.4rem; }
.svc-card-icon {
  width:48px; height:48px; margin-bottom:1.3rem;
  display:flex; align-items:center; justify-content:center;
}
.svc-card-icon svg {
  width:30px; height:30px; stroke:var(--primary); fill:none;
  stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;
  opacity:0.55; transition:opacity .3s, stroke .3s;
}
.svc-card:hover .svc-card-icon svg { opacity:1; stroke:var(--gold); }
.svc-card-name { font-size:0.78rem; letter-spacing:0.14em; color:var(--primary); margin-bottom:0.8rem; transition:color .3s; }
.svc-card:hover .svc-card-name { color:rgba(16,3,32,0.45); }
.svc-card-desc { font-size:0.92rem; line-height:1.75; color:rgba(16,3,32,0.65); font-weight:300; }

/* pricing */
#pricing { background:#ffffff; padding:8rem 5rem; overflow:hidden; }
.pricing-inner { max-width:1160px; margin:0 auto; }

@keyframes fadeUp {
  from { opacity:0; transform:translateY(28px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes slideLeft {
  from { opacity:0; transform:translateX(-22px); }
  to   { opacity:1; transform:translateX(0); }
}
@keyframes slideRight {
  from { opacity:0; transform:translateX(22px); }
  to   { opacity:1; transform:translateX(0); }
}

.p-header {
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom:5rem; padding-bottom:2.5rem; border-bottom:1px solid var(--border);
  animation:fadeUp 0.7s ease both;
}
.p-header-left .p-label {
  font-size:0.7rem; letter-spacing:0.45em; color:var(--gold);
  text-transform:uppercase; font-weight:700; margin-bottom:0.9rem; display:block;
}
.p-header-left h2 { font-size:clamp(2.2rem, 5vw, 4.5rem); font-weight:800; color:var(--primary); line-height:1; }
.p-header-left h2 span { position:relative; display:inline-block; }
.p-header-left h2 span::after {
  content:''; position:absolute; left:0; bottom:-4px; width:100%; height:3px;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform .65s ease .75s;
}
.p-header:hover h2 span::after { transform:scaleX(1); }
.p-header-right {
  font-size:0.85rem; color:var(--muted);
  text-align:right; font-weight:300; line-height:2; font-style:italic;
}
.p-cols { display:grid; grid-template-columns:1.15fr 1fr; gap:6rem; align-items:start; }
.p-col-label {
  font-size:0.6rem; letter-spacing:0.42em; color:var(--muted);
  text-transform:uppercase; font-weight:700;
  margin-bottom:1.8rem; padding-bottom:0.7rem; border-bottom:1px solid var(--border);
  animation:fadeUp 0.5s ease 0.15s both;
}
.p-row {
  display:flex; align-items:baseline; padding:1.2rem 0;
  border-bottom:1px solid var(--border); cursor:default;
  position:relative; transition:padding-left .25s ease;
  animation:slideLeft 0.5s ease both;
}
.p-row:nth-child(2) { animation-delay:0.10s; }
.p-row:nth-child(3) { animation-delay:0.17s; }
.p-row:nth-child(4) { animation-delay:0.24s; }
.p-row:nth-child(5) { animation-delay:0.31s; }
.p-row:nth-child(6) { animation-delay:0.38s; }
.p-row:nth-child(7) { animation-delay:0.45s; }
.p-row::after {
  content:''; position:absolute; left:-5rem; top:50%; width:3px; height:0;
  background:var(--gold); transform:translateY(-50%);
  transition:height .25s ease, left .25s ease, opacity .25s ease; opacity:0;
}
.p-row:hover::after { height:55%; left:-1.4rem; opacity:1; }
.p-row:last-child { border-bottom:none; }
.p-row:hover { padding-left:0.6rem; }
.p-row-left { flex:1; min-width:0; }
.p-row-name {
  font-size:0.95rem; font-weight:700; color:var(--primary);
  margin-bottom:0.18rem; transition:color .25s ease;
}
.p-row:hover .p-row-name { color:rgba(16,3,32,0.5); }
.p-row-sub { font-size:0.78rem; font-weight:300; color:var(--muted); font-style:italic; }
.p-row-dots {
  flex:1; margin:0 1.2rem;
  border-bottom:1px dotted rgba(16,3,32,0.1);
  position:relative; top:-5px; min-width:20px;
}
.p-row-price {
  font-size:1.55rem; font-weight:800; color:var(--primary);
  white-space:nowrap; letter-spacing:-0.02em; transition:color .25s ease;
}
.p-row:hover .p-row-price { color:var(--gold); }
.p-pkg {
  margin-bottom:0.7rem;
  animation:slideRight 0.5s ease both;
}
.p-pkg:nth-child(2) { animation-delay:0.10s; }
.p-pkg:nth-child(3) { animation-delay:0.18s; }
.p-pkg:nth-child(4) { animation-delay:0.26s; }
.p-pkg:nth-child(5) { animation-delay:0.34s; }
.p-pkg:nth-child(6) { animation-delay:0.42s; }
.p-pkg-card {
  display:flex; justify-content:space-between; align-items:center;
  padding:1.35rem 1.6rem; border:1px solid var(--border);
  background:rgba(16,3,32,0.018);
  position:relative; overflow:hidden;
  transition:background .3s ease, border-color .3s ease, transform .3s ease, box-shadow .3s ease;
  cursor:default;
}
.p-pkg-card::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:0;
  background:var(--gold); transition:width .3s ease;
}
.p-pkg-card:hover::before { width:3px; }
.p-pkg-card:hover {
  background:rgba(240,206,83,0.05); border-color:rgba(240,206,83,0.35);
  transform:translateX(4px); box-shadow:0 4px 24px rgba(16,3,32,0.06);
}
.p-pkg-card.featured { background:var(--primary); border-color:var(--primary); padding:1.6rem; }
.p-pkg-card.featured::before { width:4px; background:var(--gold); }
.p-pkg-card.featured:hover { background:#180430; border-color:#180430; box-shadow:0 10px 36px rgba(16,3,32,0.22); }
.p-pkg-card.featured .p-pkg-zones { border-top-color: rgba(255,255,255,0.12); }
.p-pkg-card.featured .p-pkg-zone { color: rgba(255,255,255,0.6); }
.p-pkg-card.featured .p-pkg-zone strong { color: var(--gold); }
.p-pkg-card.lymph { flex-direction:column; align-items:flex-start; gap:0.9rem; }
.p-pkg-card.lymph .p-pkg-top { display:flex; justify-content:space-between; width:100%; align-items:center; }
.p-pkg-zones { display:flex; gap:2rem; width:100%; padding-top:0.75rem; border-top:1px solid rgba(16,3,32,0.07); flex-wrap:wrap; }
.p-pkg-zone { font-size:0.78rem; color:var(--muted); font-weight:300; }
.p-pkg-zone strong { display:block; font-size:0.92rem; font-weight:800; color:var(--primary); margin-bottom:0.1rem; }
.p-pkg-badge {
  display:inline-block; font-size:0.5rem; letter-spacing:0.18em;
  background:var(--gold); color:var(--primary);
  font-weight:800; padding:0.16rem 0.55rem; text-transform:uppercase; margin-bottom:0.35rem;
}
.p-pkg-name { font-size:0.72rem; letter-spacing:0.1em; color:var(--primary); text-transform:uppercase; font-weight:700; }
.featured .p-pkg-name { color:rgba(255,255,255,0.82); }
.p-pkg-detail { font-size:0.8rem; font-weight:300; color:var(--muted); font-style:italic; margin-top:0.2rem; }
.featured .p-pkg-detail { color:rgba(240,206,83,0.7); }
.p-pkg-price {
  font-size:2rem; font-weight:800; color:var(--primary);
  white-space:nowrap; flex-shrink:0; margin-left:1rem;
  letter-spacing:-0.02em; line-height:1; transition:color .25s ease;
}
.featured .p-pkg-price { color:var(--gold); }
.p-pkg-card:not(.featured):hover .p-pkg-price { color:var(--gold); }
.p-cta {
  margin-top:5rem; padding-top:2.5rem; border-top:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1.5rem;
  animation:fadeUp 0.6s ease 0.5s both;
}
.p-cta-text { font-size:0.88rem; color:var(--muted); font-weight:300; font-style:italic; }
.p-cta-btn {
  padding:1.05rem 3rem; background:var(--primary); color:var(--gold);
  font-size:0.78rem; letter-spacing:0.22em; text-transform:uppercase;
  font-weight:800; text-decoration:none; border:1px solid var(--primary);
  display:inline-block; position:relative; overflow:hidden;
}
.p-cta-btn::before {
  content:''; position:absolute; inset:0; background:var(--gold);
  transform:translateX(-101%); transition:transform .35s ease;
}
.p-cta-btn span { position:relative; z-index:1; transition:color .35s ease; }
.p-cta-btn:hover::before { transform:translateX(0); }
.p-cta-btn:hover span { color:var(--primary); }

/* contact */
#contact { background:var(--cream); }
.contact-hero {
  background:var(--primary); padding:7rem 5rem 6rem;
  text-align:center; position:relative; overflow:hidden;
}
.contact-hero::before {
  content:''; position:absolute; inset:0;
  background:conic-gradient(from 180deg at 50% 100%,
    transparent 0deg 160deg, rgba(240,206,83,0.04) 160deg 200deg, transparent 200deg 360deg);
  pointer-events:none;
}
.c-sec-label {
  font-size:0.75rem; letter-spacing:0.4em; color:rgba(240,206,83,0.8);
  text-transform:uppercase; font-weight:700; margin-bottom:1rem;
  display:block; position:relative;
}
.c-hero-title {
  font-weight:800; font-size:clamp(2.2rem, 5vw, 4.5rem);
  color:#fff; line-height:1; margin-bottom:0.5rem; position:relative;
}
.c-hero-title span { color:var(--gold); }
.c-hero-sub {
  font-size:1.05rem; font-weight:300; font-style:italic;
  color:rgba(255,255,255,0.65); position:relative;
}
.c-hero-divider {
  display:flex; align-items:center; justify-content:center;
  gap:1rem; margin:1.8rem 0; position:relative;
}
.c-divider-line { height:1px; width:80px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.c-divider-diamond { width:9px; height:9px; background:var(--gold); transform:rotate(45deg); }
.c-form-wrap { background:var(--cream); padding:0 5rem; }
.c-form-card {
  background:#ffffff; border:1px solid rgba(16,3,32,0.08);
  box-shadow:0 30px 80px rgba(16,3,32,0.12);
  padding:3.5rem 4rem; max-width:940px; margin:0 auto;
  position:relative; top:-3.5rem;
}
.c-form-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.c-form-title { font-weight:800; font-size:1.5rem; color:var(--primary); margin-bottom:0.3rem; }
.c-form-desc { font-size:0.9rem; font-weight:300; color:rgba(16,3,32,0.55); margin-bottom:2.5rem; font-style:italic; }
.c-form-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1.5rem; }
.c-form-grid .span-2 { grid-column:span 2; }
.c-form-grid .span-3 { grid-column:span 3; }
.c-form-field label {
  display:block; font-size:0.62rem; letter-spacing:0.22em;
  color:rgba(16,3,32,0.55); font-weight:700; text-transform:uppercase; margin-bottom:0.5rem;
}
.c-form-field input[type="text"],
.c-form-field input[type="tel"],
.c-form-field input[type="email"],
.c-form-field textarea {
  width:100%; background:transparent; border:none;
  border-bottom:1px solid rgba(16,3,32,0.12); color:var(--primary);
  padding:0.75rem 0; font-family:'Nunito Sans',sans-serif; font-size:1rem; font-weight:400;
  outline:none; transition:border-color .3s;
}
.c-form-field input[type="text"]:focus,
.c-form-field input[type="tel"]:focus,
.c-form-field input[type="email"]:focus,
.c-form-field textarea:focus { border-bottom-color:var(--gold); }
.c-form-field input::placeholder,
.c-form-field textarea::placeholder { color:rgba(16,3,32,0.2); font-weight:300; }
.c-form-field textarea { resize:vertical; min-height:80px; }
.c-form-field select,
.c-form-field input[type="date"],
.c-form-field input[type="time"] {
  width:100%; background:transparent; border:none;
  border-bottom:1px solid rgba(16,3,32,0.12); color:var(--primary);
  padding:0.75rem 0; font-family:'Nunito Sans',sans-serif; font-size:1rem; font-weight:400;
  outline:none; transition:border-color .3s;
  -webkit-appearance:none; appearance:none; border-radius:0; cursor:pointer;
}
.c-form-field select:focus,
.c-form-field input[type="date"]:focus,
.c-form-field input[type="time"]:focus { border-bottom-color:var(--gold); }
.c-form-field select option { background:#fff; }
.c-field-wrap { position:relative; }
.c-field-wrap::after {
  content:''; position:absolute; right:0; top:55%;
  transform:translateY(-50%); pointer-events:none;
  width:0; height:0;
  border-left:4px solid transparent; border-right:4px solid transparent;
  border-top:5px solid rgba(16,3,32,0.25);
}
.c-form-submit { grid-column:span 3; display:flex; align-items:center; gap:2.5rem; margin-top:0.5rem; flex-wrap:wrap; }
.btn-submit {
  padding:1.1rem 3.5rem; background:var(--primary); color:var(--gold);
  font-family:'Nunito Sans',sans-serif; font-size:0.85rem; letter-spacing:0.22em;
  text-transform:uppercase; font-weight:800;
  border:1px solid var(--primary); cursor:pointer; transition:all .3s;
  white-space:normal; max-width:100%;
}
.btn-submit:hover { background:var(--gold); color:var(--primary); border-color:var(--gold); }
.c-form-note { font-size:0.85rem; font-weight:300; color:rgba(16,3,32,0.55); }
.c-info-strip { background:var(--primary); padding:4rem 5rem; margin-top:calc(3.5rem - 1px); }
.c-info-strip-inner {
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:4rem; align-items:start;
}
.c-brand-name { font-weight:800; font-size:1.5rem; color:rgba(240,206,83,0.7); letter-spacing:0.08em; margin-bottom:0.5rem; }
.c-brand-address { font-size:0.95rem; font-weight:300; color:rgba(255,255,255,0.6); line-height:1.8; margin-bottom:1.5rem; }
.c-brand-socials { display:flex; gap:1rem; }
.c-social-link {
  width:40px; height:40px; border:1px solid rgba(240,206,83,0.2);
  display:flex; align-items:center; justify-content:center;
  text-decoration:none; transition:all .3s;
}
.c-social-link svg { width:17px; height:17px; stroke:rgba(240,206,83,0.5); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:stroke .3s; }
.c-social-link:hover { background:rgba(240,206,83,0.1); border-color:var(--gold); }
.c-social-link:hover svg { stroke:var(--gold); }
.c-col-label {
  font-size:0.6rem; letter-spacing:0.35em; color:var(--gold);
  text-transform:uppercase; margin-bottom:1.2rem;
  padding-bottom:0.6rem; border-bottom:1px solid rgba(240,206,83,0.15); opacity:0.8;
}
.c-col-item { display:flex; flex-direction:column; margin-bottom:0.9rem; }
.c-col-key { font-size:0.65rem; letter-spacing:0.15em; color:rgba(255,255,255,0.55); font-weight:700; text-transform:uppercase; margin-bottom:0.15rem; }
.c-col-val { font-size:0.9rem; font-weight:300; color:rgba(255,255,255,0.75); line-height:1.5; }
.c-col-val a { color:inherit; text-decoration:none; transition:color .3s; }
.c-col-val a:hover { color:var(--gold); }
.c-hours-row { display:flex; justify-content:space-between; align-items:baseline; padding:0.5rem 0; border-bottom:1px solid rgba(255,255,255,0.04); }
.c-hours-row:last-child { border-bottom:none; }
.c-hours-day { font-size:0.9rem; font-weight:300; color:rgba(255,255,255,0.7); }
.c-hours-time { font-size:0.9rem; font-weight:600; color:rgba(240,206,83,0.85); }
.c-hours-closed { font-size:0.9rem; font-weight:300; color:rgba(255,255,255,0.55); font-style:italic; }
.c-service-item { font-size:0.92rem; font-weight:300; color:rgba(255,255,255,0.6); margin-bottom:0.55rem; }

/* footer */
footer {
  background:#100320; padding:2.5rem 5rem;
  display:flex; justify-content:space-between; align-items:center;
  border-top:1px solid rgba(240,206,83,0.15); flex-wrap:wrap; gap:1rem;
}
.footer-logo-text { font-size:1.4rem; font-weight:800; color:rgba(240,206,83,0.6); letter-spacing:0.08em; text-decoration:none; }
.footer-copy { font-size:0.72rem; letter-spacing:0.1em; color:rgba(255,255,255,0.55); text-align:center; }
.footer-links { display:flex; gap:2rem; }
.footer-links a { font-size:0.75rem; letter-spacing:0.15em; text-transform:uppercase; font-weight:600; color:rgba(255,255,255,0.6); text-decoration:none; transition:color .3s; }
.footer-links a:hover { color:var(--gold); }

/* responsive — 1100px */
@media (max-width:1100px) {
  #about, #services, #pricing { padding:6rem 3rem; }
  .about-inner { gap:4rem; }
  .p-cols { gap:4rem; }
  .c-form-wrap { padding:0 3rem; }
  .c-info-strip { padding:3.5rem 3rem; }
  .c-info-strip-inner { grid-template-columns:1fr 1fr; gap:3rem; }
  footer { padding:2.5rem 3rem; }
}

/* responsive — 768px */
@media (max-width:768px) {
  :root { --nav-h:64px; }
  nav { display:none; }
  #hero { padding:1.5rem; background:#100320; }
  .deco-frame { top:10px; left:10px; right:10px; bottom:10px; }
  .deco-corner { width:40px; height:40px; }
  .hero-content { padding:1.5rem 0.5rem; }
  .hero-logo-big { max-width:min(220px, 60vw); }
  .hero-logo-wrap { margin-bottom:1.2rem; }
  .hero-eyebrow { font-size:0.65rem; letter-spacing:0.3em; margin-bottom:1.2rem; }
  .hero-ornament { gap:1rem; margin-bottom:1.2rem; }
  .orn-line { width:50px; }
  .hero-btns { gap:1rem; }
  .btn-gold, .btn-ghost { padding:0.9rem 2rem; font-size:0.75rem; }
  #about { padding:5rem 1.5rem; }
  .about-inner { grid-template-columns:1fr; gap:3rem; }
  .portrait-box { max-width:340px; margin:0 auto; }
  .portrait-box::after { display:none; }
  #services { padding:5rem 1.5rem; }
  .section-hdr { margin-bottom:3rem; }
  .svc-grid { grid-template-columns:1fr 1fr; }
  #pricing { padding:5rem 1.5rem; }
  .p-header { flex-direction:column; align-items:flex-start; gap:1rem; margin-bottom:3rem; padding-bottom:2rem; }
  .p-header-right { text-align:left; }
  .p-cols { grid-template-columns:1fr; gap:3rem; }
  .p-cta { flex-direction:column; align-items:flex-start; }
  .contact-hero { padding:5rem 1.5rem 4rem; }
  .c-hero-sub { font-size:0.88rem; }
  .c-form-wrap { padding:0 1.5rem; }
  .c-form-card { padding:2.5rem 1.5rem; top:-2rem; }
  .c-form-grid { grid-template-columns:1fr 1fr; }
  .c-form-grid .span-2 { grid-column:span 2; }
  .c-form-grid .span-3 { grid-column:span 2; }
  .c-form-submit { grid-column:span 2; flex-direction:column; align-items:flex-start; gap:1rem; }
  .c-info-strip { padding:3rem 1.5rem; margin-top:2rem; }
  .c-info-strip-inner { grid-template-columns:1fr 1fr; gap:2.5rem; }
  footer { padding:2rem 1.5rem; flex-direction:column; align-items:center; text-align:center; gap:1.2rem; }
}

/* responsive — 480px */
@media (max-width:480px) {
  .svc-grid { grid-template-columns:1fr; }
  .svc-card { padding:2.2rem 1.8rem; }
  .p-row { flex-wrap:wrap; gap:0.3rem; }
  .p-row-dots { display:none; }
  .p-row-name { font-size:0.88rem; }
  .p-row-price { font-size:1.3rem; margin-left:auto; }
  .p-pkg-price { font-size:1.7rem; }
  .p-pkg-zones { gap:1rem; }
  .c-form-grid { grid-template-columns:1fr; }
  .c-form-grid .span-2,
  .c-form-grid .span-3 { grid-column:span 1; }
  .c-form-submit { grid-column:span 1; }
  .btn-submit { width:100%; }
  .c-info-strip-inner { grid-template-columns:1fr; gap:2rem; }
  .footer-links { flex-wrap:wrap; justify-content:center; gap:1.2rem; }
  .hero-btns { flex-direction:column; align-items:center; }
  .btn-gold, .btn-ghost { width:100%; text-align:center; }
}