:root{
  --ink:#17110d;
  --muted:#6f6257;
  --cream:#fffaf3;
  --sand:#f4eadb;
  --line:rgba(23,17,13,.12);
  --accent:#b8772e;
  --red:#c81822;
}
html[data-theme="night"]{
  color-scheme:dark;
  --ink:#fff3e4;
  --muted:#cdbdae;
  --cream:#17100d;
  --sand:#251811;
  --line:rgba(255,243,228,.15);
  --accent:#d69a4d;
  --red:#ff6f77;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Manrope",sans-serif;
  color:var(--ink);
  background:
    radial-gradient(900px 520px at 8% -8%, rgba(184,119,46,.18), transparent 58%),
    radial-gradient(780px 520px at 92% 8%, rgba(200,24,34,.10), transparent 60%),
    linear-gradient(135deg, #fbf5ec 0%, #f4eadb 44%, #fffaf3 100%);
  -webkit-font-smoothing:antialiased;
}
html[data-theme="night"] body{
  background:
    radial-gradient(900px 560px at 8% -8%, rgba(214,154,77,.22), transparent 58%),
    radial-gradient(820px 560px at 92% 8%, rgba(255,111,119,.12), transparent 60%),
    linear-gradient(135deg, #090705 0%, #17100d 44%, #251811 100%);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.wrap{width:min(1120px, calc(100% - 40px));margin:0 auto}
.topbar{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,250,243,.92);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
  transition:background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
html[data-theme="night"] .topbar{
  background:rgba(14,10,8,.90);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0}
.brand{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:162px;
  height:52px;
  flex:0 0 auto;
  border-radius:18px;
  transition:background .25s ease, box-shadow .25s ease, transform .25s ease;
}
.brand:hover{transform:translateY(-1px)}
.brand img{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.brand .brand-logo-day{display:block}
.brand .brand-logo-night{display:none}
html[data-theme="night"] .brand{
  background:linear-gradient(135deg, rgba(255,250,243,.98), rgba(244,234,219,.92));
  padding:4px 8px;
  box-shadow:0 12px 36px rgba(0,0,0,.22), 0 0 0 1px rgba(255,243,228,.26) inset;
}
html[data-theme="night"] .brand.has-night-logo{
  background:transparent;
  padding:0;
  box-shadow:none;
}
html[data-theme="night"] .brand.has-night-logo .brand-logo-day{display:none}
html[data-theme="night"] .brand.has-night-logo .brand-logo-night{display:block}
.links{display:flex;align-items:center;gap:18px;font-size:13px;color:#55483f}
@media (max-width:1180px){
  .brand{width:150px;height:48px}
  .links{gap:13px;font-size:12.5px}
}
html[data-theme="night"] .links{color:rgba(255,243,228,.74)}
.links a:hover{text-decoration:underline;text-underline-offset:4px}
.links a,
.nav-actions .btn,
.theme-toggle{
  min-height:42px;
}
.links a,
.nav-actions .btn{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  line-height:1;
}
.nav-actions{display:flex;align-items:center;gap:10px;min-height:42px}
.floating-controls{
  position:fixed;
  right:20px;
  bottom:22px;
  z-index:38;
  display:grid;
  gap:10px;
}
.floating-controls .lang-toggle,
.floating-controls .theme-toggle{
  min-width:86px;
  min-height:42px;
  background:rgba(255,250,243,.88);
  backdrop-filter:blur(16px);
  box-shadow:0 16px 44px rgba(23,17,13,.14);
}
.theme-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:78px;
  border-radius:999px;
  border:1px solid rgba(23,17,13,.18);
  background:rgba(255,255,255,.58);
  color:var(--ink);
  padding:12px 16px;
  font-size:14px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.theme-toggle:hover{transform:translateY(-1px)}
.theme-toggle::before{
  content:"";
  width:8px;
  height:8px;
  margin-right:8px;
  border-radius:999px;
  background:linear-gradient(135deg, #f6c56f, #17110d);
  box-shadow:0 0 0 3px rgba(184,119,46,.14);
}
html[data-theme="night"] .theme-toggle{
  border-color:rgba(255,243,228,.22);
  background:rgba(255,243,228,.08);
  color:#fff3e4;
}
html[data-theme="night"] .theme-toggle::before{
  background:linear-gradient(135deg, #fff3e4, #d69a4d);
  box-shadow:0 0 0 3px rgba(255,243,228,.10);
}
.lang-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  min-height:42px;
  border-radius:999px;
  border:1px solid rgba(23,17,13,.18);
  background:rgba(255,255,255,.58);
  color:var(--ink);
  padding:10px 13px;
  font-size:13px;
  font-weight:900;
  line-height:1;
  letter-spacing:.04em;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.lang-toggle:hover{transform:translateY(-1px)}
html[data-theme="night"] .lang-toggle{
  border-color:rgba(255,243,228,.22);
  background:rgba(255,243,228,.08);
  color:#fff3e4;
}
html[data-theme="night"] .floating-controls .lang-toggle,
html[data-theme="night"] .floating-controls .theme-toggle{
  background:rgba(14,10,8,.86);
  box-shadow:0 18px 56px rgba(0,0,0,.32);
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:12px 18px;
  font-weight:800;
  font-size:14px;
  border:1px solid var(--ink);
}
.btn.dark{background:var(--ink);color:#fff}
.btn.light{background:#fff;color:var(--ink)}
html[data-theme="night"] .btn.dark{background:#fff3e4;color:#17110d;border-color:#fff3e4}
html[data-theme="night"] .btn.light{background:#fff3e4;color:#17110d;border-color:#fff3e4}
.hero{padding:72px 0 48px}
.grid{display:grid;gap:28px}
.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.28em;color:#77685b;font-weight:800}
html[data-theme="night"] .eyebrow{color:rgba(255,243,228,.58)}
h1,h2,.serif{font-family:"Cormorant Garamond",serif;letter-spacing:-.04em}
h1{font-size:clamp(42px,7vw,78px);line-height:.96;margin:16px 0 18px}
h2{font-size:clamp(32px,4.8vw,52px);line-height:1;margin:0 0 16px}
h3{font-size:22px;margin:0 0 10px}
p{line-height:1.7}
.lead{font-size:18px;color:#62554c;max-width:720px}
html[data-theme="night"] .lead,
html[data-theme="night"] p{color:rgba(255,243,228,.82)}
.hero-card,.card,.panel{
  border-radius:30px;
  background:rgba(255,255,255,.78);
  box-shadow:0 0 0 1px var(--line) inset, 0 24px 90px rgba(23,17,13,.10);
}
html[data-theme="night"] .hero-card,
html[data-theme="night"] .card,
html[data-theme="night"] .panel{
  background:rgba(28,20,16,.82);
  box-shadow:0 0 0 1px rgba(255,243,228,.12) inset, 0 24px 90px rgba(0,0,0,.32);
}
.hero-card{overflow:hidden}
.hero-card-body{padding:26px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.chip{border-radius:999px;background:#fff;border:1px solid var(--line);padding:9px 12px;font-size:13px;color:#5e5047}
html[data-theme="night"] .chip{
  background:rgba(255,243,228,.08);
  color:rgba(255,243,228,.78);
  border-color:rgba(255,243,228,.14);
}
.section{padding:72px 0}
.section.alt{background:rgba(255,255,255,.48);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
html[data-theme="night"] .section.alt{background:rgba(255,243,228,.045)}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{padding:26px}
.card small{display:block;color:#7d6e62;text-transform:uppercase;letter-spacing:.18em;font-weight:800;margin-bottom:12px}
html[data-theme="night"] .card small{color:rgba(255,243,228,.54)}
.list{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}
.list li{padding:14px 16px;border-radius:18px;background:rgba(23,17,13,.045);line-height:1.6}
html[data-theme="night"] .list li{background:rgba(255,243,228,.07)}
.cta{
  padding:42px;
  border-radius:34px;
  background:var(--ink);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  box-shadow:0 28px 100px rgba(23,17,13,.18);
}
.cta p{color:rgba(255,255,255,.72);margin:0}
html[data-theme="night"] .cta{
  background:#080605;
  box-shadow:0 28px 100px rgba(0,0,0,.36);
}
.service-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.service-links a{padding:10px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px}
html[data-theme="night"] .service-links a{
  background:rgba(255,243,228,.08);
  border-color:rgba(255,243,228,.14);
}
.faq details{border-radius:22px;background:#fff;padding:20px 22px;border:1px solid var(--line)}
html[data-theme="night"] .faq details{background:rgba(28,20,16,.82)}
.faq details+details{margin-top:12px}
.faq summary{cursor:pointer;font-weight:800}
.footer{padding:38px 0;border-top:1px solid var(--line);color:#66584e;font-size:13px}
html[data-theme="night"] .footer{color:rgba(255,243,228,.70)}
.footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
@media (max-width:860px){
  .links{display:none}
  .nav-actions{margin-left:auto}
  .hero-grid,.three,.two{grid-template-columns:1fr}
  .hero{padding-top:48px}
  .cta{align-items:flex-start;flex-direction:column}
}
@media (max-width:560px){
  .wrap{width:min(100% - 28px, 1120px)}
  .nav{gap:12px;padding:12px 0}
  .brand{width:132px;height:42px}
  .nav-actions .btn{display:none}
  .theme-toggle{min-width:74px;padding:10px 13px;font-size:13px}
  .lang-toggle{min-width:44px;padding:10px 12px;font-size:13px}
  .floating-controls{right:12px;bottom:14px;gap:8px}
  .floating-controls .lang-toggle,
  .floating-controls .theme-toggle{min-width:74px;min-height:38px;padding:9px 11px;font-size:12px}
}
