html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:Inter,"Noto Serif SC",system-ui,sans-serif;color:#1f2430;background:#fff}
.skip{position:fixed;top:-100px;left:20px;z-index:80;background:#fff;color:#7A0C1C;padding:12px 16px}.skip:focus{top:8px}
:focus-visible{outline:3px solid #C6A15B;outline-offset:4px}
.brand-id{display:flex;flex-direction:column;line-height:1.15;color:#fff}
.brand-id strong{font-family:"Playfair Display","Noto Serif SC",serif;font-size:20px;font-weight:600;letter-spacing:.2px}
.brand-id strong[lang]{font-family:"Noto Serif SC","Playfair Display",serif;letter-spacing:2px}
.brand-id .chinese{font-family:"Noto Serif SC",serif;font-size:13px;letter-spacing:3px;color:#D9BE84;margin-top:3px}
.brand-id .local{font-size:11px;letter-spacing:.06em;color:#D9BE84;margin-top:4px}
.identity [hidden],.brand-id [hidden]{display:none!important}
.zd-select{display:flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.2);border-radius:9999px;padding:4px 6px 4px 12px;color:rgba(255,255,255,.85);transition:color .3s,border-color .3s}
.zd-select:hover{color:#C6A15B;border-color:rgba(198,161,91,.6)}
.zd-select label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#C6A15B}
.zd-select select{appearance:none;-webkit-appearance:none;background:transparent;border:0;color:inherit;font:500 13px Inter,"Noto Serif SC",sans-serif;padding:4px 20px 4px 2px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}
.zd-select select option{color:#1f2430;background:#fff}
.zd-selectors{display:flex;gap:10px;align-items:center}
.zd-selectors.mobile{display:none}
@media (max-width:1023px){.zd-selectors.desk{display:none}.zd-selectors.mobile{display:flex;justify-content:center;padding:10px 20px 0}.zd-select{padding:3px 6px 3px 10px}}
.nav-links a,.site-header .gold-btn,.brand-id .local,.brand-id strong{white-space:nowrap}
.nav-links{gap:26px!important}
@media (max-width:1279px){.site-header .hdr-cta{display:none!important}.nav-links{gap:20px!important}.zd-select label{display:none}}
.mpanel{max-height:0;opacity:0;overflow:hidden;transition:all .5s}.mpanel.open{max-height:520px;opacity:1}
.svc-switch{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:-28px 0 44px}
.svc-switch button{border:1px solid #eadfca;background:#FAF8F3;color:#7A0C1C;border-radius:9999px;padding:8px 18px;font:500 14px Inter,sans-serif;cursor:pointer;transition:all .3s}
.svc-switch button[aria-pressed=true]{background:#7A0C1C;border-color:#7A0C1C;color:#fff}
.svc-block[hidden]{display:none!important}
.svc-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px;border-bottom:1px solid #eadfca;padding-bottom:16px}
.svc-head h3{font-family:"Playfair Display","Noto Serif SC",serif;font-size:28px;font-weight:600;color:#7A0C1C}
.svc-head .entity{color:#A9853E;font-size:12px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:6px}
.svc-head .acts{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:14px}
.svc-head .acts a{color:#7A0C1C;font-weight:600}
.svc-grid{display:grid;gap:24px}
@media (min-width:640px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.svc-grid.c3{grid-template-columns:repeat(3,1fr)}.svc-grid.c4{grid-template-columns:repeat(4,1fr)}}
.contact-grid{display:grid;gap:40px}
@media (min-width:1024px){.contact-grid{grid-template-columns:.85fr 1.15fr;gap:56px}}
.c-card{background:#fff;border:1px solid #eadfca;border-left:3px solid transparent;border-radius:2px;padding:22px 24px;margin-bottom:16px;transition:border-color .4s,box-shadow .4s}
.c-card.active{border-left-color:#C6A15B;box-shadow:0 18px 40px -24px rgba(122,12,28,.45)}
.c-card h3{font-family:"Playfair Display","Noto Serif SC",serif;font-size:20px;font-weight:600;color:#7A0C1C;margin-bottom:8px}
.c-card a{display:flex;gap:10px;align-items:center;color:#1f2430;font-size:15px;margin-top:6px;overflow-wrap:anywhere}
.c-card a svg{color:#A9853E;flex:none}
.c-card p{font-size:13px;color:#5c6470;margin-top:8px}
.zd-form{background:#fff;border:1px solid #eadfca;border-radius:2px;padding:30px;box-shadow:0 30px 60px -40px rgba(122,12,28,.35)}
.form-grid{display:grid;gap:18px}
@media (min-width:640px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}}
.field label{display:block;font-size:13px;font-weight:600;color:#7A0C1C;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid #d9cbb0;background:#FAF8F3;border-radius:2px;padding:10px 12px;font:15px Inter,sans-serif;color:#1f2430;transition:border-color .3s,box-shadow .3s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#C6A15B;box-shadow:0 0 0 3px rgba(198,161,91,.25)}
.field textarea{min-height:130px;resize:vertical}
.routing{font-size:13px;color:#5c6470;margin:18px 0;padding:12px 14px;background:#FAF8F3;border-left:3px solid #C6A15B}
.routing b{color:#7A0C1C}
.form-status{font-size:13px;color:#7A0C1C;margin-top:12px}
.translation-note{max-width:48rem;margin:0 auto 32px;text-align:center;font-size:13px;color:#5c6470;background:#FAF8F3;border:1px dashed #d9cbb0;padding:10px 14px}
.toast{position:fixed;left:50%;bottom:44px;transform:translateX(-50%);z-index:90;background:#7A0C1C;color:#fff;padding:12px 18px;border-radius:2px;font-size:14px;max-width:90vw;box-shadow:0 14px 30px -10px rgba(0,0,0,.4)}
.toast:empty{display:none}
dialog{border:0;border-top:3px solid #C6A15B;border-radius:2px;padding:30px;max-width:560px;width:calc(100% - 40px);color:#1f2430}
dialog::backdrop{background:rgba(122,12,28,.55)}
dialog h2{font-family:"Playfair Display",serif;font-size:26px;color:#7A0C1C;margin-bottom:14px}
dialog p{color:#5c6470;margin-bottom:12px;line-height:1.6}
.ftr a,.ftr button{color:rgba(255,255,255,.65);font-size:14px;transition:color .3s;background:none;border:0;padding:0;cursor:pointer;text-align:left}
.ftr a:hover,.ftr button:hover{color:#fff}
.preview-strip{position:fixed;bottom:0;left:0;right:0;z-index:99;background:#7a0c1c;color:#fff;text-align:center;font:12px Inter,sans-serif;padding:4px}
body.large{font-size:118%}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}*{animation:none!important;transition:none!important}}

/* --- páginas por país --- */
.back-link{display:inline-flex;align-items:center;gap:8px;color:#D9BE84;font-size:13px;letter-spacing:.04em;margin-bottom:22px;border-bottom:1px solid rgba(217,190,132,.4);padding-bottom:2px}
.back-link:hover{color:#fff;border-color:#fff}
.stat-link{display:block;color:inherit}
.stat-link:hover .stat-n{color:#fff}
.cty-grid{display:grid;gap:28px}
@media (min-width:900px){.cty-grid{grid-template-columns:1fr 1fr}}
.cty{background:#FAF8F3;border:1px solid #eadfca;border-top:3px solid #C6A15B;border-radius:2px;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .4s,transform .4s}
.cty:hover{box-shadow:0 30px 60px -36px rgba(122,12,28,.5)}
.cty-img{height:210px;width:100%;object-fit:cover;display:block}
.cty-body{padding:28px;display:flex;flex-direction:column;flex:1}
.cty .entity{color:#A9853E;font-size:12px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:6px}
.cty h3{font-family:"Playfair Display","Noto Serif SC",serif;font-size:28px;font-weight:600;color:#7A0C1C;margin-bottom:8px}
.cty .lead{color:#5c6470;font-size:15px;line-height:1.6;margin-bottom:16px}
.cty ul{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px;font-size:14px;color:#1f2430}
@media (min-width:520px){.cty ul{grid-template-columns:1fr 1fr}}
.cty li{display:flex;gap:10px;align-items:flex-start}
.cty li:before{content:"";flex:none;width:6px;height:6px;margin-top:8px;background:#C6A15B;border-radius:50%}
.cty .meta{margin-top:auto;border-top:1px solid #eadfca;padding-top:16px;display:grid;gap:6px;font-size:14px}
.cty .meta a{color:#1f2430;overflow-wrap:anywhere}.cty .meta a:hover{color:#7A0C1C}
.cty .acts{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.cty .acts .gold-btn{display:inline-flex;align-items:center;gap:8px;border-radius:9999px;padding:12px 24px;font-weight:600}
.cta-alt{display:inline-flex;align-items:center;gap:8px;margin-top:22px;color:#D9BE84;font-size:14px;border-bottom:1px solid rgba(217,190,132,.4)}
.cta-alt:hover{color:#fff;border-color:#fff}
.stats2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;max-width:640px;margin:0 auto}
.page-intro-text{color:#5c6470;line-height:1.7;margin-bottom:16px}
.whatsapp[hidden]{display:none!important}
html,body{overflow-x:hidden;max-width:100%}
.site-header.menu-open{background:rgba(122,12,28,.98)!important;backdrop-filter:blur(8px)}

/* --- oficina España --- */
.hero-oficina{object-position:center 26%}
.hero-mx{object-position:center 45%}
.oficina-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:520px){.oficina-grid{grid-template-columns:1fr 1fr}}
@media (min-width:900px){.oficina-grid{grid-template-columns:repeat(3,1fr)}}
.oficina-item{display:block;width:100%;padding:0;border:0;background:#1f2430;cursor:pointer;border-radius:2px;overflow:hidden;box-shadow:0 18px 40px -24px rgba(122,12,28,.45)}
.oficina-item img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .45s}
.oficina-item:hover img,.oficina-item:focus-visible img{transform:scale(1.04)}
.oficina-item.portrait img{object-position:center 28%}
.oficina-fachada{margin-top:28px}
.oficina-fachada img{width:100%;height:280px;object-fit:cover;object-position:center 42%;display:block;border-radius:2px;box-shadow:0 18px 40px -24px rgba(122,12,28,.45)}
.oficina-fachada figcaption{font-size:13px;color:#5c6470;margin-top:10px}
.oficina-lb{border:0;padding:0;background:transparent;max-width:calc(100% - 24px);width:auto}
.oficina-lb::backdrop{background:rgba(20,10,12,.86)}
.oficina-lb img{display:block;max-width:min(1100px,calc(100vw - 72px));max-height:calc(100vh - 88px);margin:0 auto;border-radius:2px;box-shadow:0 20px 50px -16px rgba(0,0,0,.6)}
.oficina-lb-close,.oficina-lb-prev,.oficina-lb-next{position:fixed;z-index:2;border:0;background:rgba(122,12,28,.9);color:#fff;cursor:pointer;border-radius:9999px;display:flex;align-items:center;justify-content:center;transition:background .3s}
.oficina-lb-close:hover,.oficina-lb-prev:hover,.oficina-lb-next:hover{background:#7A0C1C}
.oficina-lb-close{top:16px;right:16px;width:44px;height:44px;font-size:28px;line-height:1}
.oficina-lb-prev,.oficina-lb-next{top:50%;transform:translateY(-50%);width:44px;height:44px;font-size:32px;line-height:1}
.oficina-lb-prev{left:12px}
.oficina-lb-next{right:12px}
@media (max-width:519px){.oficina-lb-prev,.oficina-lb-next{width:38px;height:38px;font-size:26px}.oficina-lb img{max-width:calc(100vw - 24px)}}
