:root{
  --bg: #F7F4EF;
  --panel: #FFFFFF;
  --ink: #1A1712;
  --gold: #A8823F;
  --gold-dark: #7C5F2C;
  --muted: #6B6355;
  --line: #E6DFD1;
  --radius: 2px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:'Inter', sans-serif; line-height:1.7; -webkit-font-smoothing:antialiased;
  font-weight:400;
}
.serif{font-family:'Newsreader', serif;}
h1,h2,h3{font-family:'Newsreader', serif; font-weight:500; color:var(--ink); letter-spacing:-0.01em;}
a{color:inherit;}
img{max-width:100%; display:block;}
.container{max-width:1080px; margin:0 auto; padding:0 28px;}
.label{font-size:0.72rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-dark); font-weight:600;}

/* Topbar */
.topbar{background:var(--ink); color:#D9CDB0; font-size:0.78rem;}
.topbar-inner{display:flex; justify-content:space-between; align-items:center; padding:10px 0; flex-wrap:wrap; gap:10px; letter-spacing:0.03em;}
.topbar-item{display:flex; align-items:center; gap:7px; text-decoration:none; color:#D9CDB0;}
.topbar-item svg{width:13px;height:13px;}

/* Header */
.site-header{position:sticky; top:0; z-index:50; background:rgba(247,244,239,0.95); backdrop-filter:blur(6px); border-bottom:1px solid var(--line);}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:22px 0;}
.brand{font-family:'Newsreader', serif; font-weight:500; font-size:1.35rem; text-decoration:none; color:var(--ink); font-style:italic;}
.main-nav ul{display:flex; gap:34px; list-style:none; margin:0; padding:0;}
.main-nav a{text-decoration:none; color:var(--muted); font-size:0.82rem; letter-spacing:0.08em; text-transform:uppercase; transition:color .2s;}
.main-nav a:hover{color:var(--gold-dark);}

.nav-toggle-checkbox{display:none;}
.nav-toggle-label{display:none; cursor:pointer;}
.nav-toggle-label span{display:block; width:22px; height:1px; background:var(--ink); margin:5px 0;}
@media(max-width:860px){
  .main-nav{position:absolute; top:100%; left:0; right:0; background:var(--panel); border-bottom:1px solid var(--line); max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .main-nav ul{flex-direction:column; gap:0; padding:6px 28px;}
  .main-nav li{border-bottom:1px solid var(--line);}
  .main-nav a{display:block; padding:16px 0;}
  .nav-toggle-checkbox:checked ~ .main-nav{max-height:300px;}
  .nav-toggle-label{display:block;}
}

.btn{display:inline-flex; align-items:center; gap:10px; padding:15px 30px; text-decoration:none; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; font-weight:600; border-radius:var(--radius); transition:all .25s;}
.btn-primary{background:var(--ink); color:#F7F4EF;}
.btn-primary:hover{background:var(--gold-dark);}
.btn-outline{background:transparent; color:var(--ink); border:1px solid var(--ink);}
.btn-outline:hover{background:var(--ink); color:#F7F4EF;}

/* Hero */
.hero{padding:96px 0 80px;}
.hero-grid{display:grid; grid-template-columns:1fr 0.9fr; gap:64px; align-items:center;}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr;}}
.hero .label{display:block; margin-bottom:24px;}
.hero h1{font-size:clamp(2.4rem,4.8vw,3.7rem); line-height:1.15; margin:0 0 26px; font-style:italic;}
.hero p.lead{font-size:1.05rem; color:var(--muted); max-width:440px; margin:0 0 38px; font-weight:300;}
.hero-visual{aspect-ratio:4/5; background:linear-gradient(160deg,#EFE7D6,#DCCFAF); position:relative;}
.hero-visual::after{content:""; position:absolute; inset:16px; border:1px solid rgba(255,255,255,0.5);}

.trust{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--panel); padding:22px 0;}
.trust-row{display:flex; justify-content:space-between; flex-wrap:wrap; gap:18px; font-size:0.82rem; color:var(--muted); letter-spacing:0.02em;}
.trust-row strong{color:var(--ink); font-weight:600;}

section{padding:96px 0;}
.section-alt{background:var(--panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.section-head{max-width:560px; margin:0 auto 52px; text-align:center;}
.section-head .label{display:block; margin-bottom:14px;}
.section-head h2{font-size:clamp(1.8rem,3.4vw,2.5rem); margin:0 0 16px; font-style:italic;}
.section-head p{color:var(--muted); margin:0; font-weight:300;}

.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line);}
@media(max-width:820px){.grid-3{grid-template-columns:1fr;}}
.card{background:var(--panel); padding:44px 34px; text-align:center;}
.card .num{font-family:'Newsreader',serif; font-style:italic; font-size:1.6rem; color:var(--gold); margin-bottom:16px; display:block;}
.card h3{font-size:1.15rem; margin:0 0 10px;}
.card p{margin:0; font-size:0.9rem; color:var(--muted); font-weight:300;}

.about-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center;}
@media(max-width:860px){.about-grid{grid-template-columns:1fr;}}
.about-media{aspect-ratio:3/4; background:linear-gradient(160deg,#EFE7D6,#DCCFAF); position:relative;}
.about-media::after{content:""; position:absolute; inset:14px; border:1px solid rgba(255,255,255,0.5);}
.check-list{list-style:none; padding:0; margin:26px 0 0; display:grid; gap:14px;}
.check-list li{display:flex; align-items:baseline; gap:12px; font-size:0.94rem; color:var(--muted); font-weight:300;}
.check-list li::before{content:"—"; color:var(--gold-dark); font-weight:600;}

.cta-band{background:var(--ink); padding:60px 50px; text-align:center;}
.cta-band .label{color:#C9B77E; display:block; margin-bottom:16px;}
.cta-band h2{color:#F7F4EF; margin:0 0 16px; font-style:italic;}
.cta-band p{color:#C7BFAE; margin:0 0 32px; max-width:440px; margin-left:auto; margin-right:auto; font-weight:300;}
.cta-band .btn-primary{background:var(--gold); color:var(--ink);}
.cta-band .btn-primary:hover{background:#C9A85A;}

.services-list{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line);}
@media(max-width:700px){.services-list{grid-template-columns:1fr;}}
.service-item{background:var(--panel); padding:34px 30px;}
.service-item .label{margin-bottom:12px;}
.service-item h4{margin:0 0 8px; font-size:1.1rem; font-style:italic;}
.service-item p{margin:0; font-size:0.9rem; color:var(--muted); font-weight:300;}

.page-hero{padding:64px 0 54px; border-bottom:1px solid var(--line); background:var(--panel);}
.breadcrumb{font-size:0.8rem; color:var(--muted); margin-bottom:18px; letter-spacing:0.03em;}
.breadcrumb a{text-decoration:none; color:var(--muted);}
.breadcrumb .sep{margin:0 8px;}
.breadcrumb .current{color:var(--ink);}
.page-hero h1{font-size:clamp(2.1rem,4vw,2.8rem); margin:0 0 14px; font-style:italic;}
.page-hero p{color:var(--muted); max-width:560px; margin:0; font-weight:300;}

.detail-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:50px; align-items:start;}
@media(max-width:860px){.detail-grid{grid-template-columns:1fr;}}
.contact-form{display:flex; flex-direction:column; gap:20px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
@media(max-width:560px){.form-row{grid-template-columns:1fr;}}
.form-field label{display:block; font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase; font-weight:600; margin-bottom:8px; color:var(--muted);}
.form-field input, .form-field textarea{
  width:100%; padding:13px 4px; border:none; border-bottom:1px solid var(--line);
  font-family:inherit; font-size:0.95rem; background:transparent;
}
.form-field input:focus, .form-field textarea:focus{outline:none; border-color:var(--gold-dark);}
.form-field textarea{min-height:100px; resize:vertical;}
.form-note{font-size:0.85rem; color:var(--muted); margin-top:14px; font-weight:300;}
.detail-sidebar{background:var(--ink); color:#F7F4EF; padding:40px 34px;}
.detail-sidebar h3{color:#F7F4EF; margin:0 0 12px; font-size:1.15rem; font-style:italic;}
.detail-sidebar p{color:#C7BFAE; margin:0 0 24px; font-size:0.88rem; font-weight:300;}
.detail-sidebar-contact{display:flex; align-items:flex-start; gap:12px; margin-bottom:18px; font-size:0.88rem; color:#E8E2D2;}
.detail-sidebar-contact svg{width:16px;height:16px; flex-shrink:0; margin-top:2px;}
.detail-sidebar-divider{height:1px; background:rgba(255,255,255,0.14); margin:24px 0;}
.hours-table{width:100%; border-collapse:collapse; font-size:0.85rem;}
.hours-table td{padding:8px 0; border-bottom:1px solid rgba(255,255,255,0.1); color:#E8E2D2;}
.hours-table td:last-child{text-align:right; color:#C7BFAE;}

.site-footer{background:var(--ink); color:#C7BFAE; padding-top:64px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:44px; padding-bottom:40px;}
@media(max-width:780px){.footer-grid{grid-template-columns:1fr;}}
.footer-col h4{color:#F7F4EF; font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase; margin:0 0 18px; font-weight:600;}
.footer-col ul{list-style:none; padding:0; margin:0; display:grid; gap:12px;}
.footer-col a{text-decoration:none; color:#C7BFAE; font-size:0.88rem;}
.footer-col p{font-size:0.88rem; color:#A69D89; max-width:280px; font-weight:300;}
.footer-brand{font-family:'Newsreader',serif; font-style:italic; font-size:1.3rem; color:#F7F4EF; text-decoration:none;}
.footer-social{display:flex; gap:12px; margin-top:16px;}
.footer-social a{width:34px;height:34px;border:1px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;}
.footer-contact-item{display:flex; align-items:flex-start; gap:10px; margin-bottom:14px; font-size:0.86rem; color:#C7BFAE;}
.footer-contact-item svg{width:15px;height:15px; flex-shrink:0; margin-top:2px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1); padding:22px 0; text-align:center; font-size:0.78rem; color:#8C8370; letter-spacing:0.03em;}

.whatsapp-float{
  position:fixed; bottom:24px; right:24px; width:54px; height:54px; border-radius:50%;
  background:var(--ink); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(0,0,0,0.25);
  z-index:60; text-decoration:none; color:var(--gold);
  border:1px solid rgba(168,130,63,0.4);
}
a:focus-visible, button:focus-visible{outline:2px solid var(--gold); outline-offset:2px;}
@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto;}}
