:root {
  --bg: #f6f2eb;
  --surface: #fffaf3;
  --surface-2: #ffffff;
  --ink: #14171f;
  --muted: #606877;
  --line: rgba(20, 23, 31, 0.12);
  --brand: #101827;
  --brand-2: #27344d;
  --accent: #b28a4b;
  --accent-2: #d6b06b;
  --success: #2f6846;
  --danger: #8b2f2f;
  --shadow: 0 24px 70px rgba(16, 24, 39, 0.12);
  --radius-xl: 30px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at 10% 0%, rgba(178, 138, 75, 0.16), transparent 34rem),
    radial-gradient(circle at 90% 16%, rgba(16, 24, 39, 0.11), transparent 32rem),
    var(--bg);
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img, iframe { max-width: 100%; }
.skip-link { position:absolute; left:-999px; top: 10px; background:#fff; color:#000; padding: 10px 14px; z-index:100; }
.skip-link:focus { left: 10px; }
.container { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
.topbar {
  position: sticky; top: 0; z-index: 80;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(16, 24, 39, 0.92);
  color: #fff; backdrop-filter: blur(18px);
}
.nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.brand-lockup { display: flex; align-items: center; gap: 14px; min-width: 0; }
.mark {
  width: 48px; height: 48px; flex: 0 0 auto; display: grid; place-items: center;
  border: 1px solid rgba(214, 176, 107, 0.5); border-radius: 16px; color: var(--accent-2);
  background: linear-gradient(145deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  font-family: Georgia, "Times New Roman", serif; font-size: 21px; letter-spacing: 0.01em;
}
.brand-text strong { display: block; font-size: 15px; letter-spacing: 0.18em; text-transform: uppercase; white-space: nowrap; }
.brand-text span { display: block; margin-top: 2px; color: rgba(255,255,255,0.72); font-size: 13px; }
.nav-toggle { display:none; border: 1px solid rgba(255,255,255,0.18); background: rgba(255,255,255,0.08); color:#fff; border-radius: 14px; padding: 10px 12px; font-weight: 800; }
.nav-links { display: flex; align-items: center; justify-content: flex-end; gap: 5px; color: rgba(255,255,255,0.78); font-size: 14px; }
.nav-links > a, .dropdown-trigger { border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; padding: 12px 11px; border-radius: 12px; }
.nav-links > a:hover, .dropdown:hover .dropdown-trigger, .nav-links a.active { color: #fff; background: rgba(255,255,255,0.07); }
.nav-cta { display: inline-flex !important; align-items: center; gap: 9px; margin-left: 7px; padding: 11px 15px !important; border-radius: 999px !important; color: #16120b !important; background: linear-gradient(135deg, var(--accent-2), var(--accent)) !important; font-weight: 800; white-space: nowrap; }
.dropdown { position: relative; }
.dropdown-menu {
  position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%);
  width: min(760px, calc(100vw - 32px)); display: none; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px;
  padding: 14px; border: 1px solid rgba(255,255,255,0.14); border-radius: 24px;
  background: rgba(16, 24, 39, 0.98); box-shadow: 0 30px 70px rgba(0,0,0,0.25);
}
.dropdown:hover .dropdown-menu, .dropdown:focus-within .dropdown-menu { display: grid; }
.dropdown-menu a { display:block; padding: 13px 14px; border-radius: 16px; color: rgba(255,255,255,0.78); background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); }
.dropdown-menu a:hover { color:#fff; border-color: rgba(214,176,107,0.34); background: rgba(214,176,107,0.08); }
.dropdown-menu strong { display:block; color:#fff; font-size: 13px; }
.dropdown-menu span { display:block; color: rgba(255,255,255,0.58); font-size: 12px; margin-top: 2px; }
.hero, .page-hero {
  position: relative; overflow: hidden; color: #fff;
  background:
    linear-gradient(135deg, rgba(16, 24, 39, 0.96), rgba(39, 52, 77, 0.94)),
    linear-gradient(45deg, #101827, #27344d);
}
.hero:after, .page-hero:after {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.35;
  background-image: linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size: 62px 62px; mask-image: linear-gradient(120deg, transparent 0%, #000 18%, #000 70%, transparent 100%);
}
.hero-inner { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(310px, .85fr); gap:54px; align-items:center; padding:88px 0 82px; }
.page-hero-inner { position:relative; z-index:2; padding: 72px 0 66px; max-width: 860px; }
.eyebrow, .breadcrumb {
  display:inline-flex; align-items:center; gap:10px; padding:8px 12px; border:1px solid rgba(214,176,107,.42); border-radius:999px; color:rgba(255,255,255,.82); background:rgba(255,255,255,.06); font-size:13px; letter-spacing:.02em;
}
.eyebrow:before { content:""; width:8px; height:8px; border-radius:999px; background:var(--accent-2); box-shadow:0 0 0 5px rgba(214,176,107,.13); }
.breadcrumb a { color:rgba(255,255,255,.8); }
h1 { margin:24px 0 0; max-width:900px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(42px,7vw,82px); line-height:1.04; letter-spacing:.025em; font-weight:500; }
.page-hero h1 { font-size: clamp(40px, 5.4vw, 72px); }
.hero-copy, .page-copy { max-width: 720px; margin:24px 0 0; color:rgba(255,255,255,.76); font-size:clamp(17px,2vw,20px); }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:13px 18px; border:1px solid transparent; border-radius:999px; font-weight:800; cursor:pointer; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease; }
.button:hover { transform: translateY(-2px); }
.button.primary { color:#171208; background:linear-gradient(135deg, var(--accent-2), var(--accent)); box-shadow:0 16px 34px rgba(178,138,75,.26); }
.button.secondary { color:#fff; border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.07); }
.hero-card { padding:24px; border:1px solid rgba(255,255,255,.14); border-radius:var(--radius-xl); background:rgba(255,255,255,.08); box-shadow:0 28px 90px rgba(0,0,0,.26); backdrop-filter:blur(18px); }
.status-card { padding:24px; border-radius:24px; background:rgba(255,250,243,.95); color:var(--ink); }
.status-card h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:26px; letter-spacing:.01em; }
.status-card p { margin:10px 0 0; color:var(--muted); }
.mini-list { display:grid; gap:12px; margin-top:20px; }
.mini-item { display:flex; gap:12px; align-items:flex-start; padding:14px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.mini-icon { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:12px; color:#171208; background:rgba(178,138,75,.16); font-weight:900; }
.mini-item strong { display:block; font-size:14px; }
.mini-item span, .mini-item a { display:block; margin-top:2px; color:var(--muted); font-size:14px; }
section { padding: 84px 0; }
.section-head { display:grid; grid-template-columns:minmax(0,.72fr) minmax(280px,.5fr); gap:34px; align-items:end; margin-bottom:34px; }
.kicker { color:var(--accent); font-weight:900; letter-spacing:.13em; text-transform:uppercase; font-size:12px; }
h2.section-title { margin:10px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(32px,4vw,54px); line-height:1.06; letter-spacing:.01em; font-weight:500; }
.section-note { margin:0; color:var(--muted); font-size:17px; }
.panel { border:1px solid var(--line); border-radius:var(--radius-xl); background:rgba(255,255,255,.65); box-shadow:var(--shadow); }
.intro-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(280px,.45fr); gap:22px; align-items:stretch; }
.intro-copy { padding:36px; }
.intro-copy p { margin:0; color:var(--muted); font-size:18px; }
.intro-copy p + p { margin-top:18px; }
.quote-card { display:flex; flex-direction:column; justify-content:space-between; min-height:280px; padding:34px; border-radius:var(--radius-xl); color:#fff; background:linear-gradient(160deg, rgba(16,24,39,.94), rgba(39,52,77,.9)), var(--brand); }
.quote-card .large-symbol { color:var(--accent-2); font-family:Georgia,"Times New Roman",serif; font-size:80px; line-height:.8; }
.quote-card p { margin:18px 0 0; color:rgba(255,255,255,.8); font-size:17px; }
.cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.service-card { position:relative; overflow:hidden; padding:26px; border:1px solid var(--line); border-radius:var(--radius-lg); background:rgba(255,255,255,.78); min-height:220px; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.service-card:hover { transform: translateY(-4px); box-shadow:var(--shadow); border-color:rgba(178,138,75,.35); }
.service-card:after { content:""; position:absolute; width:120px; height:120px; right:-62px; top:-62px; border-radius:999px; background:rgba(178,138,75,.12); }
.service-number { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:14px; color:#171208; background:rgba(178,138,75,.16); font-weight:900; }
.service-card h3 { margin:18px 0 10px; font-size:19px; line-height:1.25; letter-spacing:.005em; }
.service-card p { margin:0; color:var(--muted); font-size:15px; }
.service-card .read-more { display:inline-flex; margin-top:18px; color: var(--accent); font-weight:900; font-size:14px; }
.content-section { padding-top: 66px; }
.content-layout { display:grid; grid-template-columns:minmax(0, .84fr) minmax(280px, .36fr); gap:28px; align-items:start; }
.article-card { padding: 38px; border:1px solid var(--line); border-radius:var(--radius-xl); background:rgba(255,255,255,.74); box-shadow:var(--shadow); }
.article-card p { color: var(--muted); font-size: 18px; margin: 0 0 18px; }
.article-card h2 { margin: 34px 0 16px; font-family:Georgia,"Times New Roman",serif; font-size: 34px; line-height:1.1; letter-spacing:.01em; }
.feature-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin: 22px 0 30px; padding:0; list-style:none; }
.feature-list li { display:flex; gap:10px; align-items:flex-start; padding:13px 14px; border:1px solid var(--line); border-radius:16px; background:#fff; color:var(--muted); font-size:15px; }
.feature-list li:before { content:""; width:8px; height:8px; margin-top:8px; flex:0 0 auto; border-radius:99px; background:var(--accent); box-shadow:0 0 0 4px rgba(178,138,75,.12); }
.side-card { position:sticky; top: 102px; padding:24px; border:1px solid rgba(178,138,75,.24); border-radius:var(--radius-xl); background:linear-gradient(160deg, rgba(255,255,255,.84), rgba(255,250,243,.86)); box-shadow:var(--shadow); }
.side-card h3 { margin:0; font-size:22px; }
.side-card p { margin:10px 0 18px; color:var(--muted); }
.side-links { display:grid; gap:9px; margin-top:18px; }
.side-links a { padding:11px 12px; border:1px solid var(--line); border-radius:14px; background:#fff; color:var(--muted); font-weight:700; font-size:14px; }
.side-links a:hover { border-color:rgba(178,138,75,.35); color:var(--ink); }
.contact-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(320px,.7fr); gap:22px; align-items:stretch; }
.contact-panel, .form-panel { padding:28px; border:1px solid var(--line); border-radius:var(--radius-xl); background:rgba(255,255,255,.75); box-shadow:var(--shadow); }
.info-list { display:grid; gap:14px; margin-top:20px; }
.info-row { display:grid; grid-template-columns:42px minmax(0,1fr); gap:14px; align-items:start; padding:16px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.72); }
.info-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:15px; color:#171208; background:rgba(178,138,75,.16); font-weight:900; }
.info-row strong { display:block; margin-bottom:2px; }
.info-row p, .info-row a, .info-row span { margin:0; color:var(--muted); }
.hours { width:100%; margin-top:20px; border-collapse:collapse; overflow:hidden; border-radius:18px; background:#fff; }
.hours caption { text-align:left; margin-bottom:10px; color:var(--ink); font-weight:900; }
.hours tr { border-bottom:1px solid var(--line); }
.hours tr:last-child { border-bottom:0; }
.hours td { padding:11px 14px; font-size:14px; }
.hours td:last-child { text-align:right; color:var(--muted); font-weight:700; }
.hours tr.today { background:rgba(178,138,75,.12); }
.hours .closed { color:var(--danger); }
.map-card { overflow:hidden; margin-top:18px; border:1px solid var(--line); border-radius:22px; background:#fff; }
.map-card iframe { display:block; width:100%; height:310px; border:0; filter:saturate(.85) contrast(1.02); }
.map-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; color:var(--muted); font-size:14px; }
form { display:grid; gap:14px; margin-top:18px; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
label { display:grid; gap:7px; color:var(--ink); font-size:14px; font-weight:800; }
input, select, textarea { width:100%; border:1px solid rgba(20,23,31,.16); border-radius:15px; padding:13px 14px; color:var(--ink); background:rgba(255,255,255,.9); font:inherit; outline:none; transition:border-color .18s ease, box-shadow .18s ease; }
textarea { min-height:126px; resize:vertical; }
input:focus, select:focus, textarea:focus { border-color:rgba(178,138,75,.85); box-shadow:0 0 0 4px rgba(178,138,75,.14); }
.consent { display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-weight:500; line-height:1.45; }
.consent input { width:auto; margin-top:4px; }
.status-message { display:none; padding:12px 14px; border-radius:15px; font-size:14px; font-weight:700; }
.status-message.show { display:block; }
.status-message.ok { color:var(--success); background:rgba(47,104,70,.1); border:1px solid rgba(47,104,70,.16); }
.status-message.warn { color:var(--danger); background:rgba(139,47,47,.08); border:1px solid rgba(139,47,47,.16); }
.notice { padding:24px; border:1px solid rgba(178,138,75,.28); border-radius:var(--radius-lg); background:rgba(178,138,75,.1); color:var(--muted); }
.notice strong { color:var(--ink); }
.cta-band { padding: 0 0 84px; }
.cta-inner { display:grid; grid-template-columns:minmax(0, .8fr) auto; gap:22px; align-items:center; padding:32px; border-radius:var(--radius-xl); color:#fff; background:linear-gradient(135deg, rgba(16,24,39,.96), rgba(39,52,77,.94)); box-shadow:var(--shadow); }
.cta-inner h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:34px; letter-spacing:.01em; }
.cta-inner p { margin:8px 0 0; color:rgba(255,255,255,.72); }
footer { position:relative; overflow:hidden; padding:48px 0 34px; color:rgba(255,255,255,.72); background:radial-gradient(circle at 85% 10%, rgba(214,176,107,.18), transparent 30rem), linear-gradient(135deg,#0c1220,#141d31 58%,#101827); font-size:14px; }
footer:before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:56px 56px; mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent); }
.footer-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr) minmax(260px,.85fr); gap:24px; align-items:stretch; }
.footer-block { min-height:100%; padding:22px; border:1px solid rgba(255,255,255,.12); border-radius:24px; background:rgba(255,255,255,.045); backdrop-filter:blur(14px); }
.footer-title { display:block; margin-bottom:10px; color:#fff; letter-spacing:.16em; text-transform:uppercase; font-weight:900; font-size:13px; }
.footer-block p { margin:0; }
.footer-contact { display:grid; gap:8px; }
.footer-contact a, .footer-contact span { color:rgba(255,255,255,.78); }
.ixxo-credit { display:flex; flex-direction:column; justify-content:space-between; gap:18px; border-color:rgba(214,176,107,.3); background:linear-gradient(145deg, rgba(214,176,107,.14), rgba(255,255,255,.045)); }
.ixxo-badge { display:inline-flex; width:fit-content; align-items:center; gap:10px; padding:10px 13px; border:1px solid rgba(214,176,107,.38); border-radius:999px; color:#171208; background:linear-gradient(135deg,var(--accent-2),var(--accent)); font-weight:900; box-shadow:0 14px 30px rgba(0,0,0,.16); }
.ixxo-badge span { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:999px; color:var(--accent); background:rgba(255,255,255,.9); font-size:12px; font-weight:1000; }
.ixxo-credit small { display:block; color:rgba(255,255,255,.66); line-height:1.45; }
.footer-bottom { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-top:22px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); }
.back-top { color:#fff; border-bottom:1px solid rgba(255,255,255,.4); }
.mobile-actions { display:none; position:fixed; z-index:90; left:14px; right:14px; bottom:14px; gap:10px; padding:10px; border:1px solid rgba(255,255,255,.2); border-radius:22px; background:rgba(16,24,39,.92); backdrop-filter:blur(18px); box-shadow:0 20px 50px rgba(0,0,0,.22); }
.mobile-actions a { flex:1; text-align:center; padding:12px 10px; border-radius:16px; font-weight:900; }
.mobile-actions a:first-child { color:#171208; background:linear-gradient(135deg,var(--accent-2),var(--accent)); }
.mobile-actions a:last-child { color:#fff; background:rgba(255,255,255,.1); }
@media (max-width: 1080px) {
  .nav-toggle { display:inline-flex; }
  .nav-links { position:absolute; left:14px; right:14px; top:calc(100% + 10px); display:none; flex-direction:column; align-items:stretch; gap:6px; padding:14px; border:1px solid rgba(255,255,255,.14); border-radius:22px; background:rgba(16,24,39,.98); box-shadow:0 24px 60px rgba(0,0,0,.28); }
  body.nav-open .nav-links { display:flex; }
  .nav-links > a, .dropdown-trigger { width:100%; text-align:left; }
  .nav-cta { margin-left:0; justify-content:center; }
  .dropdown-menu { position:static; transform:none; width:100%; display:none; grid-template-columns:1fr; margin-top:6px; padding:8px; background:rgba(255,255,255,.04); box-shadow:none; }
  .dropdown.open .dropdown-menu { display:grid; }
  .dropdown:hover .dropdown-menu { display:none; }
  .dropdown.open:hover .dropdown-menu { display:grid; }
}
@media (max-width: 980px) {
  .hero-inner, .section-head, .intro-grid, .content-layout, .contact-grid, .footer-grid { grid-template-columns:1fr; }
  .cards, .feature-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .side-card { position:static; }
  .cta-inner { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .container { width:min(100% - 28px, var(--max)); }
  .nav { min-height:70px; }
  .brand-text strong { font-size:13px; }
  .brand-text span { display:none; }
  .hero-inner { padding:64px 0 58px; }
  .page-hero-inner { padding:58px 0 52px; }
  .hero-actions .button, .cta-inner .button { width:100%; }
  section { padding:62px 0; }
  .cards, .feature-list, .field-grid { grid-template-columns:1fr; }
  .intro-copy, .contact-panel, .form-panel, .quote-card, .hero-card, .article-card { padding:22px; }
  .map-card iframe { height:260px; }
  .mobile-actions { display:flex; }
  footer { padding-bottom:92px; }
}
