@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/cormorant-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/cormorant-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/cormorant-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/cormorant-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--bg:#0E1A33;--bg2:#172649;--tx:#F5F3EE;--mu:#B4BBCC;--gold:#C8A55F;--gold2:#E3CB92;--ln:rgba(200,165,95,.28);--card:rgba(255,255,255,.04);
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){--bg:#F5F3EE;--bg2:#E9E5DA;--tx:#14213F;--mu:#4A5470;--gold:#9A7A36;--gold2:#7E6020;--ln:rgba(154,122,54,.35);--card:rgba(20,33,63,.04)}}
:root[data-theme="light"]{--bg:#F5F3EE;--bg2:#E9E5DA;--tx:#14213F;--mu:#4A5470;--gold:#9A7A36;--gold2:#7E6020;--ln:rgba(154,122,54,.35);--card:rgba(20,33,63,.04)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(70px + env(safe-area-inset-top,0px))}
html{overflow-x:clip}
#hero{overflow-x:clip}
body{background:var(--bg);color:var(--tx);font:16px/1.65 Inter,system-ui,"PingFang SC","Microsoft YaHei",sans-serif;overflow-x:hidden}
h1,h2,h3,.serif{font-family:"Cormorant Garamond","Songti SC","Noto Serif SC",Georgia,serif;font-weight:600;line-height:1.15}
nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top,0px)) 5vw 12px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--ln)}
nav b{color:var(--gold);letter-spacing:.14em;font-size:.95rem}
nav div{display:flex;gap:22px;align-items:center}
nav a{color:var(--tx);text-decoration:none;font-size:.88rem;opacity:.85}
nav a:hover{color:var(--gold)}
#lg{background:none;border:1px solid var(--gold);color:var(--gold);padding:5px 13px;border-radius:99px;cursor:pointer;font:inherit;font-size:.82rem}
nav .lgw{position:relative;display:block}
#lg::after{content:" ▾";font-size:.75em}
nav .lgm{position:absolute;right:0;top:calc(100% + 10px);display:none;flex-direction:column;align-items:stretch;gap:2px;min-width:150px;padding:6px;background:var(--bg2);border:1px solid var(--ln);border-radius:14px;box-shadow:0 20px 40px rgba(0,0,0,.35);z-index:30}
nav .lgw.open .lgm{display:flex}
.lgm button{background:none;border:0;color:var(--tx);font:inherit;font-size:.88rem;text-align:left;padding:9px 12px;border-radius:9px;cursor:pointer}
.lgm button:hover{background:var(--card);color:var(--gold)}
.lgm button.on{color:var(--gold)}
.hb{display:none;position:relative;width:40px;height:36px;padding:0;background:none;border:1px solid var(--gold);border-radius:10px;cursor:pointer}
.hb span{position:absolute;left:10px;right:10px;height:1.5px;background:var(--gold);transition:transform .3s,opacity .3s,top .3s}
.hb span:nth-child(1){top:11px}.hb span:nth-child(2){top:17px}.hb span:nth-child(3){top:23px}
.hb.open span:nth-child(1){top:17px;transform:rotate(45deg)}.hb.open span:nth-child(2){opacity:0}.hb.open span:nth-child(3){top:17px;transform:rotate(-45deg)}
.mnav{position:fixed;left:0;right:0;top:60px;z-index:19;display:flex;flex-direction:column;padding:10px 6vw 26px;background:color-mix(in srgb,var(--bg) 97%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--ln);box-shadow:0 30px 60px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s,transform .3s,visibility .3s}
.mnav.open{opacity:1;visibility:visible;transform:none}
.mnav a{font-family:"Cormorant Garamond","Songti SC","Noto Serif SC",Georgia,serif;font-size:1.7rem;font-weight:600;color:var(--tx);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--ln)}
.mnav a:hover{color:var(--gold)}
.mnav a.btn{font-family:Inter,system-ui,sans-serif;font-size:.95rem;font-weight:500;text-align:center;border:1px solid var(--gold);margin-top:20px;padding:14px;color:#0E1A33}
@media(max-width:700px){.hb{display:block}nav div{gap:12px}}
@media(min-width:701px){.mnav{display:none}}
@media(max-width:700px){nav a{display:none}}
section{padding:96px 6vw;max-width:1180px;margin:auto}
.eyebrow{color:var(--gold);letter-spacing:.22em;font-size:.76rem;text-transform:uppercase;margin-bottom:14px}
h2{font-size:clamp(2rem,4.5vw,3.3rem);margin-bottom:18px}
p.lead{color:var(--mu);max-width:640px}
#hero{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding-top:110px;max-width:1180px}
@media(max-width:820px){#hero{grid-template-columns:1fr;text-align:center}#hero p.lead{margin:auto}.btns{justify-content:center}}
h1{font-size:clamp(2.4rem,5.6vw,4.4rem);margin:10px 0 20px}
h1 em{color:var(--gold);font-style:normal}
.btns{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.btn{padding:13px 28px;border-radius:99px;text-decoration:none;font-size:.92rem;border:1px solid var(--gold);color:var(--tx);transition:.3s}
.btn.p{background:var(--gold);color:#0E1A33}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(200,165,95,.3)}
.scene{perspective:1100px;display:grid;place-items:center;height:min(80vw,440px)}
.stage{position:relative;width:min(70vw,330px);aspect-ratio:1;transform-style:preserve-3d;transition:transform .15s ease-out}
.coin{position:absolute;inset:0;border-radius:50%;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 3px var(--gold);animation:fl 6s ease-in-out infinite;transform:translateZ(40px)}
.coin img{width:100%;height:100%;display:block}
.ring{position:absolute;inset:-14%;border-radius:50%;border:1px solid var(--gold);opacity:.55;transform-style:preserve-3d}
.r1{animation:s1 14s linear infinite}.r2{inset:-26%;animation:s2 22s linear infinite;opacity:.3}
.ring::after{content:"";position:absolute;top:-5px;left:50%;width:10px;height:10px;border-radius:50%;background:var(--gold2);box-shadow:0 0 14px var(--gold)}
@keyframes s1{to{transform:rotateX(70deg) rotateZ(360deg)}}
@keyframes s2{from{transform:rotateY(70deg) rotateZ(0)}to{transform:rotateY(70deg) rotateZ(-360deg)}}
@keyframes fl{50%{transform:translateZ(40px) translateY(-12px)}}
.rv{opacity:0;transform:perspective(900px) rotateX(16deg) translateY(50px);transform-origin:50% 100%;transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.bridge{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;margin-top:46px}
.node{background:var(--card);border:1px solid var(--ln);border-radius:18px;padding:28px}
.node h3{font-size:1.7rem;color:var(--gold)}.node p{color:var(--mu);font-size:.93rem;margin-top:8px}
.path{width:clamp(50px,12vw,160px);height:2px;background:linear-gradient(90deg,var(--gold),transparent,var(--gold));position:relative}
.path::after{content:"";position:absolute;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--gold2);box-shadow:0 0 12px var(--gold);animation:mv 3s ease-in-out infinite alternate}
@keyframes mv{to{left:calc(100% - 10px)}}
@media(max-width:700px){.bridge{grid-template-columns:1fr}.path{width:2px;height:40px;margin:auto}.path::after{animation:none}}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:34px 0 28px}
.tab{background:none;border:1px solid var(--ln);color:var(--tx);padding:12px 22px;border-radius:99px;cursor:pointer;font:inherit;font-size:.9rem;transition:.3s}
.tab.on{background:var(--gold);color:#0E1A33;border-color:var(--gold)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;perspective:1000px}
.card{background:linear-gradient(145deg,var(--bg2),var(--card));border:1px solid var(--ln);border-radius:18px;padding:30px 26px;min-height:200px;transform-style:preserve-3d;transition:transform .2s ease-out,box-shadow .3s;animation:pop .6s both}
.card:hover{box-shadow:0 24px 50px rgba(0,0,0,.3)}
@keyframes pop{from{opacity:0;transform:rotateY(-70deg) translateZ(-60px)}}
.card .n{color:var(--gold);font-size:2.2rem;transform:translateZ(30px)}
.card h3{font-size:1.45rem;margin:10px 0 8px;transform:translateZ(20px)}
.card p{color:var(--mu);font-size:.9rem}
.tag{color:var(--mu);margin-bottom:22px;max-width:620px}
#contact{text-align:center}
.cg{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:40px;text-align:left}
.cg a{color:var(--gold2);text-decoration:none}
.net{color:var(--mu);font-style:italic;text-align:center;margin-top:22px;font-size:.95rem}
.sub{font-size:clamp(1.6rem,3vw,2.2rem);margin:80px 0 26px}
.vals{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.vals h4{font-family:"Cormorant Garamond","Songti SC","Noto Serif SC",Georgia,serif;font-weight:600;font-size:1.35rem;color:var(--gold);line-height:1.2}
.ops-intro{margin:-10px 0 30px}
.ops{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
@media(min-width:1001px){.ops{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tk.next{display:flex;flex-direction:column;border-style:dashed;border-color:var(--gold);background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 12%,var(--bg2)),var(--card))}
.tk.next p{margin-bottom:22px}
.tk.next .btn{align-self:flex-start;margin-top:auto;padding:10px 24px;font-size:.85rem}
.tk.next .tk-n{font-family:Inter,sans-serif;font-size:1.8rem;opacity:.8}
.tk{container-type:inline-size;position:relative;border:1px solid var(--ln);border-radius:18px;padding:24px 26px 28px;background:linear-gradient(160deg,var(--bg2),var(--card));transition:border-color .3s,box-shadow .3s,transform .3s}
.tk:hover{border-color:var(--gold);box-shadow:0 24px 50px rgba(0,0,0,.28);transform:translateY(-4px)}
.tk-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.st{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ln);border-radius:99px;padding:5px 12px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold2);line-height:1.35}
.st i{width:7px;height:7px;border-radius:50%;background:var(--gold2);box-shadow:0 0 0 0 var(--gold);animation:beat 1.8s ease-out infinite}
@keyframes beat{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--gold) 70%,transparent)}100%{box-shadow:0 0 0 9px transparent}}
.tk-n{flex:none;color:var(--gold);font-size:1.6rem;opacity:.55}
.route{display:grid;grid-template-columns:minmax(0,max-content) minmax(40px,1fr) minmax(0,max-content);align-items:center;gap:12px;margin:28px 0 24px}
.pt b{display:block;font-family:"Cormorant Garamond","Songti SC","Noto Serif SC",Georgia,serif;font-size:1.3rem;font-weight:600;letter-spacing:.02em;line-height:1.15;font-size:clamp(1.02rem,6.2cqi,1.3rem)}
.pt small{color:var(--mu);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}
.pt.r{text-align:right}
.ln{position:relative;height:2px;min-width:40px;background:linear-gradient(90deg,var(--gold),color-mix(in srgb,var(--gold) 25%,transparent),var(--gold))}
.ln::after{content:"";position:absolute;right:-2px;top:-4px;border:5px solid transparent;border-left:7px solid var(--gold);border-right:0}
.ln i{position:absolute;top:-4px;left:0;width:10px;height:10px;border-radius:50%;background:var(--gold2);box-shadow:0 0 12px var(--gold);animation:ship 3.2s ease-in-out infinite}
@keyframes ship{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:calc(100% - 10px);opacity:0}}
.tk-cut{position:relative;border-top:1px dashed var(--ln);margin:0 -26px 22px}
.tk-cut::before,.tk-cut::after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--bg);border:1px solid var(--ln)}
.tk-cut::before{left:-12px}.tk-cut::after{right:-12px}
.tk h4{font-family:"Cormorant Garamond","Songti SC","Noto Serif SC",Georgia,serif;font-weight:600;font-size:1.5rem;color:var(--gold);line-height:1.2;margin-bottom:10px}
.tk p{color:var(--mu);font-size:.92rem}
.sh-in{display:grid;grid-template-columns:1.3fr .7fr;gap:44px;align-items:center;border:1px solid var(--ln);border-radius:22px;padding:46px;background:linear-gradient(150deg,var(--bg2),var(--card));animation:fadein .5s ease}
@media(max-width:860px){.sh-in{grid-template-columns:minmax(0,1fr);padding:40px 22px 28px;gap:30px}.sh-vis{order:-1}.sh-vis .emb{width:min(190px,48vw)}.sh-vis{gap:24px}}
@media(max-width:700px){.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:none;padding:10px 18px}}
.core{display:inline-block;border:1px solid var(--gold);color:var(--gold2);border-radius:99px;padding:4px 13px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.sh-txt h3{font-size:clamp(2rem,3.6vw,2.8rem)}
.sh-tl{color:var(--gold);font-style:italic;font-size:1.05rem;margin:6px 0 16px}
.sh-d{color:var(--mu);font-size:.95rem;max-width:600px}
.prods{list-style:none;padding:0;margin-top:28px;border-top:1px solid var(--ln)}
.prods li{display:grid;grid-template-columns:minmax(170px,.85fr) 1.15fr;gap:18px;align-items:baseline;padding:14px 6px;border-bottom:1px solid var(--ln);transition:padding .3s,background .3s}
.prods li:hover{padding-left:16px;background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 9%,transparent),transparent)}
@media(max-width:600px){.prods li{grid-template-columns:1fr;gap:4px}}
.prods b{font-family:"Cormorant Garamond","Songti SC","Noto Serif SC",Georgia,serif;font-size:1.3rem;font-weight:600;color:var(--gold)}
.pb{display:inline-block;margin-left:8px;vertical-align:3px;background:var(--gold);color:#0E1A33;border-radius:99px;padding:2px 9px;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;white-space:nowrap}
.prods p{color:var(--mu);font-size:.9rem}
.sh-vis{display:grid;justify-items:center;gap:30px}
.emb{position:relative;width:min(290px,60vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold);background:radial-gradient(circle,color-mix(in srgb,var(--gold) 15%,transparent),transparent 70%);box-shadow:0 0 0 10px color-mix(in srgb,var(--gold) 5%,transparent),0 30px 70px rgba(0,0,0,.35);animation:fl 6s ease-in-out infinite}
.emb::before{content:"";position:absolute;inset:-24px;border-radius:50%;border:1px dashed var(--ln);animation:spin 40s linear infinite}
.emb::before{background:radial-gradient(circle at 50% 0,var(--gold2) 0 4px,transparent 5px)}
@keyframes spin{to{transform:rotate(360deg)}}
.emb svg{width:58%;fill:none;stroke:var(--gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.emb svg .k{fill:color-mix(in srgb,var(--gold) 32%,transparent)}
.emb img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.sh-n{color:var(--gold);letter-spacing:.25em;font-size:1rem;opacity:.75}
.steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:44px 0 30px}
.track{position:absolute;top:32px;left:16.66%;right:16.66%;height:2px;background:var(--ln)}
.fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));box-shadow:0 0 12px var(--gold);transition:width .7s cubic-bezier(.2,.7,.2,1)}
.step{position:relative;background:none;border:0;color:var(--tx);font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:0 6px}
.step .dot{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;color:var(--gold);background:var(--bg);border:1px solid var(--gold);transition:background .35s,color .35s,box-shadow .35s,transform .35s}
.step:hover .dot{transform:scale(1.07)}
.step.done .dot{background:color-mix(in srgb,var(--gold) 22%,var(--bg))}
.step.on .dot{background:var(--gold);color:#0E1A33;box-shadow:0 0 0 8px color-mix(in srgb,var(--gold) 16%,transparent),0 0 30px color-mix(in srgb,var(--gold) 45%,transparent)}
.step b{font-family:"Cormorant Garamond","Songti SC","Noto Serif SC",Georgia,serif;font-size:1.35rem;font-weight:600;line-height:1.2;margin-top:6px;transition:color .3s}
.step.on b{color:var(--gold)}
.step small{color:var(--mu);font-size:.85rem;font-style:italic}
.step:focus-visible{outline:none}.step:focus-visible .dot{box-shadow:0 0 0 3px var(--gold2)}
@media(max-width:700px){.step small{display:none}.step b{font-size:1.05rem}.step .dot{width:52px;height:52px;font-size:1.15rem}.track{top:26px}}
.spanel{border:1px solid var(--ln);border-radius:22px;background:linear-gradient(150deg,var(--bg2),var(--card));overflow:hidden}
.sp{display:none;grid-template-columns:1.25fr 1fr;gap:44px;padding:40px 44px}
.sp.on{display:grid;animation:fadein .45s ease}
@media(max-width:860px){.sp{grid-template-columns:minmax(0,1fr);gap:26px;padding:28px 22px}}
.sp h3{font-size:clamp(1.7rem,3vw,2.3rem);color:var(--gold);margin-bottom:14px}
.sp p{color:var(--mu);font-size:.97rem}
.incl{list-style:none;padding:0;display:grid;gap:12px}
.incl li{position:relative;padding:12px 14px 12px 46px;border:1px solid var(--ln);border-radius:12px;background:var(--card);font-size:.95rem}
.incl li::before{content:"";position:absolute;left:14px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;background:var(--gold)}
.incl li::after{content:"";position:absolute;left:21px;top:50%;width:5px;height:9px;margin-top:-6px;border:solid #0E1A33;border-width:0 2px 2px 0;transform:rotate(45deg)}
#contact{text-align:left}
.ct-lead{margin-bottom:38px}
.offices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media(max-width:860px){.offices{grid-template-columns:minmax(0,1fr)}}
.office{border:1px solid var(--ln);border-radius:22px;padding:30px;background:linear-gradient(150deg,var(--bg2),var(--card));display:flex;flex-direction:column;gap:24px;transition:border-color .3s,box-shadow .3s}
.office:hover{border-color:var(--gold);box-shadow:0 24px 50px rgba(0,0,0,.28)}
.of-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.of-tag{border:1px solid var(--ln);border-radius:99px;padding:5px 13px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);line-height:1.35}
.clock{text-align:right;line-height:1}
.clock b{display:block;font-size:2.6rem;font-weight:600;color:var(--gold);letter-spacing:.02em}
.clock small{color:var(--mu);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}
.person{display:flex;align-items:center;gap:16px}
.ini{width:62px;height:62px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:1.45rem;color:var(--gold);border:1px solid var(--gold);background:radial-gradient(circle,color-mix(in srgb,var(--gold) 16%,transparent),transparent 70%);box-shadow:0 0 0 6px color-mix(in srgb,var(--gold) 6%,transparent)}
.person h3{font-size:1.7rem}
.person p{color:var(--mu);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
.chan{list-style:none;padding:0;border-top:1px solid var(--ln)}
.chan li{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--ln);font-size:.95rem}
.chan span{color:var(--mu);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.chan a,.ct-row a{color:var(--gold2);text-decoration:none;overflow-wrap:anywhere}
.chan a:hover,.ct-row a:hover{text-decoration:underline}
.of-bot{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-top:auto}
.acts{display:flex;flex-wrap:nowrap;gap:10px}
.acts .btn{padding:10px 20px;font-size:.85rem}
.qr{margin:0;text-align:center;flex:none;width:134px}
.qr img{width:118px;height:118px;display:block;margin:0 auto;background:#fff;padding:8px;border-radius:12px;box-shadow:0 0 0 1px var(--gold)}
.qr figcaption{color:var(--mu);font-size:.66rem;margin-top:7px;letter-spacing:.03em;white-space:nowrap}
@media(max-width:480px){.of-bot{flex-direction:column;align-items:flex-start}.qr{align-self:center}.clock b{font-size:2.1rem}}
@media(min-width:861px) and (max-width:1120px){.of-bot{flex-direction:column;align-items:flex-start}.qr{align-self:center}}
.offices .partner{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr auto;align-items:center;gap:30px;padding:24px 30px}
.partner .pa-l{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.partner .chan{border-top:0}
.partner .chan li:last-child{border-bottom:0}
.li-n{color:var(--tx);font-weight:500}
@media(max-width:860px){.offices .partner{grid-template-columns:minmax(0,1fr);gap:20px}.partner .chan{border-top:1px solid var(--ln)}}
.ct-row{display:grid;grid-template-columns:1fr 2fr;gap:22px;margin-top:22px}
@media(max-width:700px){.ct-row{grid-template-columns:minmax(0,1fr)}}
.ct-row .eyebrow{margin-bottom:6px}
.ct-row p{color:var(--tx)}
.cform{margin-top:22px;border:1px solid var(--ln);border-radius:22px;padding:36px;background:linear-gradient(150deg,var(--bg2),var(--card))}
@media(max-width:700px){.cform{padding:26px 20px}}
.cf-head h3{font-size:1.9rem;color:var(--gold)}
.cf-head p{color:var(--mu);font-size:.93rem;margin:6px 0 24px}
.hp{position:absolute;left:-9999px}
.cf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
@media(max-width:700px){.cf-grid{grid-template-columns:minmax(0,1fr)}}
.cf-grid .full{grid-column:1/-1}
.cf-grid label span{display:block;color:var(--mu);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}
.cf-grid input,.cf-grid select,.cf-grid textarea{width:100%;font:inherit;font-size:.95rem;color:var(--tx);background:var(--bg);border:1px solid var(--ln);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .25s,box-shadow .25s}
.cf-grid textarea{resize:vertical;min-height:120px}
.cf-grid select option{background:var(--bg);color:var(--tx)}
.cf-grid input:focus,.cf-grid select:focus,.cf-grid textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 20%,transparent)}
.cf-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px}
.cf-foot .btn{cursor:pointer;font:inherit;font-size:.92rem}
.cf-foot .btn:disabled{opacity:.6;cursor:wait}
.cf-msg{font-size:.9rem;color:var(--mu)}
.cf-msg.good{color:var(--gold2)}.cf-msg.bad{color:#e08a7a}
footer{line-height:1.9}
footer .fl{display:block}
.flips{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.flip{perspective:1200px;height:340px;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}
.fi{position:relative;height:100%;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.flip:hover .fi{transform:rotateY(180deg)}}
.flip:focus-visible .fi,.flip.open .fi{transform:rotateY(180deg)}
.flip:focus-visible .face{box-shadow:0 0 0 2px var(--gold)}
.face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border:1px solid var(--ln);border-radius:18px;padding:32px 28px;display:flex;flex-direction:column;overflow:hidden}
.ff{background:linear-gradient(145deg,var(--bg2),var(--card))}
.ff::after{content:"";position:absolute;right:-60px;bottom:-60px;width:180px;height:180px;border-radius:50%;border:1px solid var(--ln);box-shadow:0 0 0 22px color-mix(in srgb,var(--gold) 4%,transparent)}
.fb{transform:rotateY(180deg);justify-content:center;border-color:var(--gold);background:linear-gradient(145deg,color-mix(in srgb,var(--gold) 16%,var(--bg2)),var(--bg2));box-shadow:0 24px 50px rgba(0,0,0,.3)}
.ico{width:46px;height:46px;fill:none;stroke:var(--gold);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;margin-bottom:auto}
.flip h4{font-family:"Cormorant Garamond","Songti SC","Noto Serif SC",Georgia,serif;font-weight:600;color:var(--gold);line-height:1.15}
.ff h4{font-size:1.75rem;margin:24px 0 8px}
.fb h4{font-size:1.4rem;margin-bottom:12px}
.tl{color:var(--tx);font-size:.98rem;font-style:italic;opacity:.9}
.fb p{color:var(--tx);font-size:.92rem;line-height:1.65;opacity:.92}
.more{margin-top:20px;color:var(--gold);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;opacity:.8}
@media(max-width:700px){.flip{height:300px}}
.atlas{--aw:min(1560px,calc(100vw - 72px));width:var(--aw);position:relative;left:50%;margin-left:calc(var(--aw) / -2);display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start;margin-top:46px}
@media(max-width:860px){.atlas{grid-template-columns:minmax(0,1fr);--aw:calc(100vw - 32px)}}
.atlas>*{min-width:0}
.mapbox{border:1px solid var(--ln);border-radius:18px;padding:6px;background:var(--card);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
#wmap{width:100%;height:auto;display:block}
@media(max-width:860px){#wmap{width:900px;max-width:none}}
.swipe{display:none;color:var(--mu);font-size:.8rem;text-align:center;margin-top:8px}
@media(max-width:860px){.swipe{display:block}}
#wmap path{fill:var(--bg);stroke:var(--gold);stroke-width:.55;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .25s}
#wmap path.home{fill:color-mix(in srgb,var(--gold) 28%,var(--bg))}
#wmap path.on{fill:var(--gold);stroke:var(--gold2);stroke-width:1.2}
#wmap .arc{fill:none;stroke:var(--gold2);stroke-width:1.4;stroke-dasharray:5 6;pointer-events:none;animation:dash 1.6s linear infinite}
#wmap .pin{fill:var(--gold2);pointer-events:none;filter:drop-shadow(0 0 5px var(--gold));animation:pulse 2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes dash{to{stroke-dashoffset:-22}}
@keyframes pulse{50%{transform:scale(1.6);opacity:.6}}
#cinfo{min-height:300px}
.ci-in{animation:fadein .35s ease}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}}
#cinfo h3{font-size:2rem;color:var(--gold);margin-bottom:16px}
#cinfo .eyebrow{margin:18px 0 10px}
#cinfo .ci-in>.eyebrow:first-child{margin-top:0}
.ci-p{color:var(--mu);font-size:.93rem}
.ci-ours{border:1px solid var(--gold);border-radius:14px;padding:14px 16px;background:color-mix(in srgb,var(--gold) 10%,transparent)}
.ci-ours b{color:var(--gold2);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}
.ci-ours p{color:var(--tx);font-size:.93rem;margin-top:6px}
.ci-home{margin-top:22px;display:flex;flex-direction:column;gap:2px}
.ci-home b{color:var(--gold);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.ci-home span{font-family:"Cormorant Garamond","Songti SC",Georgia,serif;font-size:1.5rem}
#cinfo ul{list-style:none;padding:0;display:grid;gap:9px}
#cinfo li{position:relative;padding-left:20px;font-size:.95rem}
#cinfo li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
footer{text-align:center;color:var(--mu);font-size:.8rem;padding:32px 6vw;border-top:1px solid var(--ln)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

/* ===== Web de varias páginas ===== */
nav a.brand{color:var(--gold);letter-spacing:.14em;font-size:.95rem;font-weight:700;opacity:1;white-space:nowrap}
@media(max-width:700px){nav a.brand{display:inline}nav .dd{display:none}}
nav a.on{color:var(--gold);opacity:1}
nav .dd{position:relative;display:inline-flex;align-items:center}
nav .ddm{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);display:none;flex-direction:column;min-width:230px;padding:8px;background:var(--bg2);border:1px solid var(--ln);border-radius:14px;box-shadow:0 20px 40px rgba(0,0,0,.35);z-index:30}
nav .ddm::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
nav .dd:hover .ddm,nav .dd:focus-within .ddm{display:flex}
nav .ddm a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;opacity:1;font-size:.88rem}
nav .ddm a:hover{background:var(--card)}
nav .ddm img,.msub img{width:28px;height:28px;border-radius:50%;object-fit:cover}
.mnav .msub{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 6px;border-bottom:1px solid var(--ln)}
.mnav .msub a{display:inline-flex;align-items:center;gap:8px;font-family:Inter,system-ui,sans-serif;font-size:.85rem;font-weight:500;padding:5px 12px 5px 5px;border:1px solid var(--ln);border-radius:99px}
.msub img{width:24px;height:24px}
.page-top{padding-top:130px}
.page-top h1{font-size:clamp(2.4rem,5.4vw,4rem);margin:6px 0 18px}
.cta-band{text-align:center}
.cta-band .node{padding:56px 6vw;background:linear-gradient(150deg,color-mix(in srgb,var(--gold) 14%,var(--bg2)),var(--card));border-color:var(--gold)}
.cta-band h2{margin-bottom:12px}
.cta-band p{color:var(--mu);max-width:560px;margin:0 auto}
.cta-band .btns{justify-content:center}
.more{text-align:center;margin-top:34px}

/* Portada: accesos interactivos */
.xgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;margin-top:40px}
.xt{grid-column:span 2;position:relative;display:flex;flex-direction:column;gap:12px;min-height:250px;padding:30px 28px;border:1px solid var(--ln);border-radius:22px;background:linear-gradient(150deg,var(--bg2),var(--card));color:var(--tx);text-decoration:none;overflow:hidden;transition:transform .25s ease-out,border-color .3s,box-shadow .3s}
.xt:nth-child(4),.xt:nth-child(5){grid-column:span 3}
.xt::after{content:"";position:absolute;right:-70px;bottom:-70px;width:200px;height:200px;border-radius:50%;border:1px solid var(--ln);box-shadow:0 0 0 24px color-mix(in srgb,var(--gold) 4%,transparent);transition:transform .5s}
.xt:hover{border-color:var(--gold);box-shadow:0 26px 60px rgba(0,0,0,.35)}
.xt:hover::after{transform:scale(1.25)}
.xt .xi{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);transition:background .3s,color .3s}
.xt:hover .xi{background:var(--gold);color:#0E1A33}
.xt .xi svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.xt .xn{position:absolute;top:26px;right:28px;color:var(--gold);opacity:.5;font-size:1.4rem}
.xt h3{font-size:1.9rem;margin-top:auto}
.xt p{color:var(--mu);font-size:.93rem;max-width:420px}
.xt .go{color:var(--gold);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.go i{display:inline-block;font-style:normal;transition:transform .3s}
a:hover .go i{transform:translateX(6px)}
@media(max-width:900px){.xgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.xt,.xt:nth-child(4),.xt:nth-child(5){grid-column:span 1}.xt:nth-child(5){grid-column:1/-1}}
@media(max-width:600px){.xgrid{grid-template-columns:minmax(0,1fr)}.xt:nth-child(5){grid-column:auto}.xt{min-height:0}}

/* Tarjetas de división */
.divgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:40px}
.divgrid.mini{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
@media(max-width:1000px){.divgrid.mini{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.divgrid.mini{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dcard{display:flex;flex-direction:column;border:1px solid var(--ln);border-radius:22px;background:linear-gradient(150deg,var(--bg2),var(--card));color:var(--tx);text-decoration:none;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.dcard:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 26px 60px rgba(0,0,0,.35)}
.dcard.is-core{border-color:color-mix(in srgb,var(--gold) 60%,transparent)}
.dc-lg{display:grid;place-items:center;padding:30px 20px 10px}
.dc-lg img{width:min(170px,70%);aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--gold),0 18px 40px rgba(0,0,0,.35);transition:transform .5s}
.dcard:hover .dc-lg img{transform:scale(1.06) rotate(-4deg)}
.dc-t{display:flex;flex-direction:column;gap:6px;padding:16px 26px 26px;flex:1}
.dc-t .core{align-self:flex-start;margin-bottom:4px}
.dc-t .eyebrow{margin:0;font-size:.68rem}
.dc-t h3{font-size:1.8rem;color:var(--gold)}
.dc-t p{color:var(--mu);font-size:.92rem}
.dc-t .go{margin-top:auto;padding-top:14px}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chips li{font-size:.75rem;border:1px solid var(--ln);border-radius:99px;padding:4px 10px;color:var(--tx)}
.divgrid.mini .dc-lg{padding:22px 14px 4px}.divgrid.mini .dc-t{padding:12px 16px 20px;text-align:center;align-items:center}
.divgrid.mini .dc-t h3{font-size:1.35rem}.divgrid.mini .dc-t p{font-size:.82rem}.divgrid.mini .core{align-self:center}

/* Página de división */
#divpage section{padding-top:60px;padding-bottom:60px}
#divpage .dv-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center;padding-top:140px}
@media(max-width:860px){#divpage .dv-hero{grid-template-columns:minmax(0,1fr);padding-top:110px}#divpage .dv-hero .sh-vis{order:-1}#divpage .sh-vis .emb{width:min(210px,52vw)}}
.crumb{display:inline-block;color:var(--mu);text-decoration:none;font-size:.85rem;margin-bottom:22px}
.crumb:hover{color:var(--gold)}
.dv-hero h1{font-size:clamp(2.6rem,6vw,4.6rem);margin:4px 0 10px;color:var(--gold)}
.dv-hero .lead{margin-top:14px}
.emb img{width:86%;height:86%;border-radius:50%;object-fit:cover}
.dv-sec h2{margin-bottom:26px}
.dv-can{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.dv-can .node{transition:border-color .3s,transform .3s}
.dv-can .node:hover{border-color:var(--gold);transform:translateY(-4px)}
.dv-n{color:var(--gold);font-size:1.5rem;opacity:.6}
.dv-can h4{font-family:"Cormorant Garamond","Songti SC",Georgia,serif;font-weight:600;font-size:1.4rem;color:var(--gold);margin:6px 0 6px;line-height:1.2}
.dv-can p{color:var(--mu);font-size:.92rem}
.dv-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;border:1px solid var(--gold);border-radius:22px;padding:36px;background:linear-gradient(150deg,color-mix(in srgb,var(--gold) 14%,var(--bg2)),var(--card))}
.dv-cta h3{font-size:1.8rem;margin:6px 0}.dv-cta h3 a{color:var(--gold2);text-decoration:none;overflow-wrap:anywhere}
.dv-cta p{color:var(--mu);max-width:520px}
@media(max-width:560px){.dv-cta{padding:26px 22px}.dv-cta h3{font-size:clamp(1.05rem,5.4vw,1.8rem)}}
.dv-cta .btns{margin-top:0}
.dv-pn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1180px;margin:0 auto;padding:0 6vw 90px}
.dv-pn a{display:flex;flex-direction:column;gap:8px;padding:22px 26px;border:1px solid var(--ln);border-radius:18px;color:var(--tx);text-decoration:none;transition:border-color .3s}
.dv-pn a:last-child{text-align:right;align-items:flex-end}
.dv-pn a:hover{border-color:var(--gold)}
.dv-pn small{color:var(--mu);letter-spacing:.14em;text-transform:uppercase;font-size:.7rem}
.dv-pn b{display:flex;align-items:center;gap:12px;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;color:var(--gold)}
.dv-pn img{width:40px;height:40px;border-radius:50%}

/* Servicios en detalle */
.sdet{display:grid;gap:22px;margin-top:40px}
.sd{display:grid;grid-template-columns:auto 1fr 1fr;gap:34px;align-items:start;border:1px solid var(--ln);border-radius:22px;padding:36px;background:linear-gradient(150deg,var(--bg2),var(--card))}
@media(max-width:900px){.sd{grid-template-columns:minmax(0,1fr);gap:18px;padding:28px 22px}}
.sd .sd-n{font-size:3.2rem;color:var(--gold);line-height:1;opacity:.8}
.sd h3{font-size:2rem;color:var(--gold);margin-bottom:10px}
.sd p{color:var(--mu)}
.sd .incl li{background:var(--bg)}
.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:40px;counter-reset:f}
@media(max-width:900px){.flow{grid-template-columns:minmax(0,1fr)}}
.flow .node{position:relative}
.flow .node b{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:2rem;color:var(--gold);line-height:1}
.flow h4{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.3rem;margin:8px 0 6px}
.flow p{color:var(--mu);font-size:.9rem}

/* Contacto por división */
.divmail{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:22px}
.dm{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--ln);border-radius:16px;background:var(--card);color:var(--tx);text-decoration:none;transition:border-color .3s}
.dm:hover{border-color:var(--gold)}
.dm img{width:52px;height:52px;border-radius:50%;flex:none}
.dm span{display:flex;flex-direction:column;min-width:0}
.dm b{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.25rem;color:var(--gold)}
.dm small{color:var(--mu);font-size:.75rem}
.dm i{font-style:normal;color:var(--gold2);font-size:.8rem;overflow-wrap:anywhere}

/* Pie de página */
footer.sf{text-align:left;padding:60px 6vw 30px;color:var(--mu)}
.sf-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:30px}
@media(max-width:860px){.sf-in{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.sf-in{grid-template-columns:minmax(0,1fr)}}
.sf-brand{display:flex;align-items:center;gap:10px;color:var(--gold);text-decoration:none;font-size:1.5rem;font-weight:600}
.sf-brand img{width:38px;height:38px}
.sf-b p{margin-top:10px;font-size:.9rem}
.sf-l{display:flex;flex-direction:column;gap:8px;font-size:.88rem}
.sf-l b{color:var(--gold);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:4px}
.sf-l a{color:var(--tx);text-decoration:none;opacity:.85;overflow-wrap:anywhere}
.sf-l a:hover{color:var(--gold)}
.sf-legal{max-width:1180px;margin:40px auto 0;padding-top:20px;border-top:1px solid var(--ln);display:flex;flex-direction:column;gap:4px;font-size:.75rem;text-align:center}
@media(max-width:600px){.dv-pn{grid-template-columns:minmax(0,1fr)}.dv-pn b{font-size:1.25rem}}
@media(max-width:480px){.office .acts{flex-wrap:wrap}}

/* Botón flotante de contacto */
.fab{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.fab-b{position:relative;width:58px;height:58px;border-radius:50%;border:0;background:var(--gold);color:#0E1A33;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.4);display:grid;place-items:center;transition:transform .3s}
.fab-b:hover{transform:scale(1.07)}
.fab-b::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 color-mix(in srgb,var(--gold) 60%,transparent);animation:beat 2.4s ease-out infinite}
.fab.open .fab-b::after{animation:none}
.fab svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.fab-p{display:none;flex-direction:column;gap:6px;width:250px;padding:14px;background:var(--bg2);border:1px solid var(--gold);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.fab.open .fab-p{display:flex;animation:fadein .25s ease}
.fab-h{font-family:"Cormorant Garamond","Songti SC",Georgia,serif;font-size:1.35rem;font-weight:600;color:var(--gold);padding:2px 4px 6px}
.fab-p a,.fab-p button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--ln);background:var(--card);color:var(--tx);text-decoration:none;font:inherit;font-size:.9rem;text-align:left;cursor:pointer;transition:border-color .25s}
.fab-p a:hover,.fab-p button:hover{border-color:var(--gold)}
.fab-p svg{color:var(--gold);width:20px;height:20px}
.fab-qr{display:none;text-align:center;padding:6px 0 2px}
.fab-qr.on{display:block}
.fab-qr img{width:150px;height:150px;background:#fff;padding:8px;border-radius:12px;box-shadow:0 0 0 1px var(--gold)}
.fab-qr small{display:block;color:var(--mu);font-size:.75rem;margin-top:6px}
@media(max-width:600px){.fab{right:14px;bottom:14px}.fab-b{width:52px;height:52px}}

/* Casilla de privacidad del formulario */
.consent{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:.88rem;color:var(--mu);cursor:pointer}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--gold);flex:none}
.consent a{color:var(--gold2)}

/* Página legal */
.lg-sec{padding:0;margin:0 0 46px;max-width:780px}
.lg-sec h2{font-size:clamp(1.7rem,3vw,2.3rem);color:var(--gold);margin-bottom:16px}
.lg-sec p{color:var(--mu);margin-bottom:14px;font-size:.95rem}
.sf-legal a{color:var(--gold2);text-decoration:none;margin-bottom:6px}
.sf-legal a:hover{text-decoration:underline}

/* Cabecera de la portada: vídeo de fondo */
#hero{position:relative;isolation:isolate;overflow:visible}
.hero-bg{position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;overflow:hidden;background:var(--bg) url(hero.jpg) center/cover no-repeat}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hero-bg{--ov1:66%;--ov2:70%}
@media(prefers-color-scheme:light){:root:not([data-theme="dark"]) .hero-bg{--ov1:76%;--ov2:80%}}
:root[data-theme="light"] .hero-bg{--ov1:76%;--ov2:80%}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) var(--ov1),transparent) 0%,color-mix(in srgb,var(--bg) var(--ov2),transparent) 70%,var(--bg) 100%)}

/* Portada: formulario de contacto bajo la cabecera */
#home-contact{max-width:860px;margin:0 auto;scroll-margin-top:80px}
#home-contact .hc-head{text-align:center}
#home-contact .hc-head p{max-width:560px;margin:10px auto 0;color:var(--mu)}
.hc-direct{text-align:center;margin-top:22px;color:var(--mu);font-size:.95rem}
.hc-direct a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Nombre legal en chino junto a la marca (igual en todos los idiomas) */
nav a.brand{display:inline-flex;align-items:center;gap:12px}
.brand-zh{font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC","Hiragino Sans GB",sans-serif;font-weight:500;letter-spacing:.06em;font-size:.8rem;color:var(--mu);padding-left:12px;border-left:1px solid var(--ln)}
@media(max-width:1100px){nav a.brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px}.brand-zh{padding-left:0;border-left:0;font-size:.66rem;letter-spacing:.04em}}
@media(max-width:400px){nav a.brand .brand-en{font-size:.85rem}.brand-zh{font-size:.6rem}}

/* Portada: el vídeo queda fijo detrás de toda la página; el formulario va en cristal esmerilado */
body[data-page="index"] .hero-bg{position:fixed;inset:0;left:0;width:100%;height:100vh;height:100lvh;transform:none}
body[data-page="index"] .hero-bg::after{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) var(--ov1),transparent) 0%,color-mix(in srgb,var(--bg) calc(var(--ov2) + 6%),transparent) 100%)}
body[data-page="index"] #home-contact .cform{background:color-mix(in srgb,var(--bg2) 62%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1);box-shadow:0 20px 60px rgba(0,0,0,.18)}
body[data-page="index"] .hc-direct{text-shadow:0 1px 8px var(--bg)}
body[data-page="index"] footer.sf{position:relative;z-index:1;background:var(--bg)}
body[data-page="index"] #home-contact{position:relative;z-index:1}
.hc-qr{display:flex;justify-content:center;gap:28px;margin-top:18px;flex-wrap:wrap}
.hc-qr figure{margin:0;width:184px;box-sizing:border-box;text-align:center;padding:14px 10px 10px;border:1px solid var(--ln);border-radius:16px;background:color-mix(in srgb,var(--bg2) 62%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.hc-qr img{display:block;margin:0 auto;width:120px;height:120px;border-radius:8px;background:#fff;padding:4px}
.hc-qr figcaption{margin-top:8px;font-size:.78rem;letter-spacing:.04em;color:var(--mu)}

/* ===== Nosotros ===== */
#ab-hero{position:relative;isolation:isolate;min-height:min(80vh,740px);display:flex;align-items:center}
.ab-bg{position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;overflow:hidden;background:var(--bg) url(about-1.jpg) center/cover no-repeat;--ov1:62%;--ov2:72%}
@media(prefers-color-scheme:light){:root:not([data-theme="dark"]) .ab-bg{--ov1:74%;--ov2:80%}}
:root[data-theme="light"] .ab-bg{--ov1:74%;--ov2:80%}
.ab-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) calc(var(--ov2) + 8%),transparent) 0%,color-mix(in srgb,var(--bg) var(--ov1),transparent) 60%,color-mix(in srgb,var(--bg) calc(var(--ov1) - 12%),transparent) 100%),linear-gradient(180deg,transparent 70%,var(--bg) 100%)}
.ab-in{max-width:720px}
#ab-hero h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-top:12px}
#ab-hero .lead{margin:18px 0 0;color:var(--tx,inherit)}
.ab-reg{display:inline-flex;gap:14px;align-items:center;margin-top:30px;padding:12px 18px;border:1px solid var(--ln);border-radius:14px;background:color-mix(in srgb,var(--bg2) 60%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.ab-reg svg{width:26px;height:26px;flex:none;fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.ab-reg b{display:block;color:var(--gold);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.ab-reg span{font-size:.85rem;color:var(--mu)}
#ab-story{text-align:center}
.ab-quote{max-width:860px;margin:0 auto;padding:0;border:0;position:relative}
.ab-quote::before{content:"“";display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:5rem;line-height:.6;color:var(--gold);opacity:.6}
.ab-quote p{font-family:"Cormorant Garamond","Songti SC","Noto Serif SC",Georgia,serif;font-size:clamp(1.45rem,2.8vw,2.1rem);line-height:1.35;font-weight:500;margin:10px 0 0}
.ab-quote cite{display:block;margin-top:18px;font-style:normal;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.ab-after{max-width:620px;margin:26px auto 0;color:var(--mu)}
#ab-why .sub,#ab-map .sub{margin-top:0}
.why{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:10px 40px;align-items:start}
.why-it{display:contents}
.why-h{grid-column:1;all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:16px;width:100%;padding:16px 20px;border:1px solid transparent;border-radius:16px;transition:background .3s,border-color .3s}
.why-h{grid-column:1}
.why-h:hover{background:color-mix(in srgb,var(--bg2) 50%,transparent)}
.why-h:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.why-it.open .why-h{border-color:var(--ln);background:color-mix(in srgb,var(--bg2) 85%,transparent)}
.why-n{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.15rem;color:var(--gold);opacity:.55;min-width:24px}
.why-it.open .why-n{opacity:1}
.why .ico{width:30px;height:30px;margin:0;flex:none}
.why-t b{display:block;font-weight:600;font-size:1.02rem}
.why-t small{display:block;color:var(--mu);font-size:.86rem;margin-top:2px}
.why-p{grid-column:2;grid-row:1/span 4;align-self:stretch;display:flex;align-items:center;padding:40px;border:1px solid var(--ln);border-radius:22px;background:linear-gradient(150deg,var(--bg2),var(--card));opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .45s,transform .45s,visibility .45s}
.why-it.open .why-p{opacity:1;visibility:visible;transform:none}
.why-p p{font-size:1.08rem;line-height:1.75;margin:0}
@media(max-width:820px){
.why{display:block}
.why-it{display:block;border-bottom:1px solid var(--ln)}
.why-h{border-radius:0;padding:18px 4px;background:none!important;border:0!important}
.why-h::after{content:"+";margin-left:auto;font-size:1.4rem;color:var(--gold);transition:transform .3s}
.why-it.open .why-h::after{transform:rotate(45deg)}
.why-p{display:grid;grid-template-rows:0fr;overflow:hidden;padding:0 4px;border:0;border-radius:0;background:none;opacity:1;visibility:visible;transform:none;transition:grid-template-rows .35s}
.why-p p{overflow:hidden;min-height:0;font-size:1rem;color:var(--mu)}
.why-it.open .why-p{grid-template-rows:1fr;padding-bottom:20px}
#ab-hero{min-height:auto}
}
nav a.brand{margin-right:18px}

/* Mapa: rutas comerciales */
#wmap path:hover{fill:color-mix(in srgb,var(--gold) 45%,var(--bg))}
#wmap path.partner{fill:color-mix(in srgb,var(--gold) 55%,var(--bg))}
#wmap path.on{fill:var(--gold)}
#wmap .arc-bg{fill:none;stroke:var(--gold);stroke-width:1;stroke-dasharray:3 5;opacity:.45;pointer-events:none}
#wmap .arc-on{fill:none;stroke:var(--gold2);stroke-width:1.6;stroke-linecap:round;pointer-events:none;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--gold) 70%,transparent));animation:drawarc 1.3s cubic-bezier(.4,.1,.2,1) forwards}
#wmap .flow{fill:var(--gold2);pointer-events:none;filter:drop-shadow(0 0 4px var(--gold))}
#wmap .pin2{fill:var(--gold);opacity:.8;pointer-events:none}
@keyframes drawarc{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){#wmap .arc-on{animation:none;stroke-dashoffset:0!important}#wmap .flow{display:none}}
.ci-routes{display:flex;flex-direction:column;gap:12px;margin-bottom:6px}
.ci-r{border:1px solid var(--ln);border-radius:12px;padding:10px 14px}
.ci-r>b{display:block;font-size:.95rem;margin-bottom:4px}
.ci-d{display:flex;flex-direction:column;margin-top:6px}
.ci-dir{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.ci-dir i{font-style:normal;font-size:.9rem}
.ci-pr{font-size:.9rem;color:var(--tx,inherit)}
#lg{white-space:nowrap}

/* Nosotros: ajustes de espaciado, mapa y móvil */
#ab-hero{padding-bottom:40px}
#ab-story,#ab-why,#ab-map{padding-top:40px;padding-bottom:40px}
#ab-why .sub,#ab-map .sub{margin-bottom:22px}
#ab-map .atlas{margin-top:20px}
.why-p{position:relative}
@media(min-width:821px){.why-p{overflow:hidden;padding:34px 40px}}
.why-big{position:absolute;right:-18px;bottom:-18px;width:150px;height:150px;fill:none;stroke:var(--gold);stroke-width:.7;opacity:.14;pointer-events:none}
.why-p p{position:relative}
#wmap .pin2{opacity:1}
#wmap .halo{fill:none;stroke:var(--gold);stroke-width:1.2;pointer-events:none;transform-box:fill-box;transform-origin:center;animation:halo 2.4s ease-out infinite}
@keyframes halo{from{transform:scale(.4);opacity:.9}to{transform:scale(1.6);opacity:0}}
@media(prefers-reduced-motion:reduce){#wmap .halo{animation:none;opacity:.4}}
@media(max-width:860px){#wmap{width:780px}}
@media(max-width:820px){.why-big{display:none}}
@media(max-width:600px){
#ab-hero{padding-bottom:24px}
#ab-story,#ab-why,#ab-map{padding-top:28px;padding-bottom:28px}
#ab-hero h1{font-size:2rem}
#ab-hero .lead{font-size:.95rem;line-height:1.6}
.ab-reg{margin-top:20px;padding:10px 14px}
.ab-reg span{font-size:.78rem}
.ab-quote::before{font-size:3.6rem}
}
/* Nosotros: la foto de Pekín cubre cabecera + cita */
#ab-top{position:relative;isolation:isolate}
#ab-top>.ab-bg{left:0;width:100%;transform:none}
#ab-hero{isolation:auto}
#ab-top>.ab-bg::after{background:linear-gradient(90deg,color-mix(in srgb,var(--bg) calc(var(--ov2) + 8%),transparent) 0%,color-mix(in srgb,var(--bg) var(--ov1),transparent) 60%,color-mix(in srgb,var(--bg) calc(var(--ov1) - 12%),transparent) 100%),linear-gradient(180deg,transparent 0%,transparent 42%,color-mix(in srgb,var(--bg) 55%,transparent) 62%,color-mix(in srgb,var(--bg) 70%,transparent) 88%,var(--bg) 100%)}

/* Nosotros: Sin nosotros / Con Selecta Origen */
.vs-head{text-align:center}
.vs-head h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin-top:10px}
.vs{max-width:1000px;margin:30px auto 0;text-align:center}
.vs-tg{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;padding:5px;border:1px solid var(--ln);border-radius:999px;background:color-mix(in srgb,var(--bg2) 80%,transparent)}
.vs-tg button{all:unset;position:relative;z-index:1;cursor:pointer;padding:11px 26px;border-radius:999px;font-size:.92rem;font-weight:600;color:var(--mu);text-align:center;white-space:nowrap;transition:color .35s}
.vs-tg button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.vs-th{position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:999px;background:color-mix(in srgb,var(--mu) 22%,transparent);transition:transform .5s cubic-bezier(.6,.05,.25,1),background .5s}
.vs.with .vs-th{transform:translateX(100%);background:var(--gold)}
.vs:not(.with) .vs-tg button[data-s="0"]{color:var(--tx,inherit)}
.vs.with .vs-tg button[data-s="1"]{color:#14130f}
.vs-list{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;text-align:left}
.vs-list li{display:flex;gap:14px;align-items:flex-start;padding:20px;border:1px solid var(--ln);border-radius:18px;background:color-mix(in srgb,var(--bg2) 55%,transparent);transition:border-color .5s,background .5s,transform .5s}
.vs.with .vs-list li{border-color:color-mix(in srgb,var(--gold) 55%,transparent);background:linear-gradient(150deg,color-mix(in srgb,var(--gold) 12%,var(--bg2)),var(--card))}
.vs-ic{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--mu) 50%,transparent);position:relative;transition:background .5s,border-color .5s}
.vs-ic::before,.vs-ic::after{content:"";position:absolute;width:12px;height:1.6px;background:var(--mu);border-radius:2px;transition:all .5s cubic-bezier(.6,.05,.25,1)}
.vs-ic::before{transform:rotate(45deg)}.vs-ic::after{transform:rotate(-45deg)}
.vs.with .vs-ic{background:var(--gold);border-color:var(--gold)}
.vs.with .vs-ic::before{width:6px;background:#14130f;transform:translate(-3.5px,1.5px) rotate(45deg)}
.vs.with .vs-ic::after{width:11px;background:#14130f;transform:translate(2px,-.5px) rotate(-50deg)}
.vs-tx{display:grid;padding-top:4px;line-height:1.45}
.vs-a,.vs-b{grid-area:1/1;transition:opacity .45s,transform .45s}
.vs-a{color:var(--mu)}
.vs-b{opacity:0;transform:translateY(6px);font-weight:600}
.vs.with .vs-a{opacity:0;transform:translateY(-6px)}
.vs.with .vs-b{opacity:1;transform:none}
.vs.with .vs-list li:nth-child(2){transition-delay:.06s}.vs.with .vs-list li:nth-child(3){transition-delay:.12s}.vs.with .vs-list li:nth-child(4){transition-delay:.18s}.vs.with .vs-list li:nth-child(5){transition-delay:.24s}.vs.with .vs-list li:nth-child(6){transition-delay:.3s}
.vs-cta{margin-top:30px;opacity:.35;transition:opacity .6s}
.vs.with .vs-cta{opacity:1}
@media(max-width:900px){.vs-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.vs-list{grid-template-columns:minmax(0,1fr);gap:10px}.vs-list li{padding:16px}.vs-tg button{padding:10px 16px;font-size:.85rem}}
@media(max-width:380px){.vs .vs-tg{display:grid;width:100%;box-sizing:border-box}.vs .vs-tg button{white-space:normal;padding:10px 8px;line-height:1.2}}
@media(prefers-reduced-motion:reduce){.vs *{transition:none!important}}

/* Nosotros: mapa a todo el ancho y ficha horizontal debajo */
#ab-map .atlas{grid-template-columns:minmax(0,1fr);gap:16px;max-width:1240px;--aw:min(1240px,calc(100vw - 72px))}
#ab-map #cinfo{min-height:0;padding:26px 30px}
.ci-band{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,1.5fr) minmax(0,1.1fr);gap:28px;align-items:start}
.ci-band>.ci-col:only-child{grid-column:1/-1}
#cinfo .ci-band .eyebrow{margin:0 0 12px}
#cinfo .ci-band h3{margin:0 0 12px}
.ci-band .ci-home{margin-top:0}
.ci-chips{display:flex;flex-wrap:wrap;gap:7px}
.ci-chip{display:inline-block;padding:5px 12px;border-radius:999px;font-size:.84rem;line-height:1.3;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--gold) 10%,transparent)}
.ci-routes{display:flex;flex-direction:column;gap:12px}
.ci-routes .ci-d{margin:0;gap:6px}
@media(max-width:860px){#ab-map .atlas{--aw:calc(100vw - 32px)}.ci-band{grid-template-columns:minmax(0,1fr);gap:20px}#ab-map #cinfo{padding:22px 20px}}

/* Fondo de toda la web: resplandores dorados muy suaves que se mueven despacio */
body::before{content:"";position:fixed;inset:-15%;z-index:-1;pointer-events:none;--gl:color-mix(in srgb,var(--gold) 20%,transparent);--gl2:color-mix(in srgb,var(--gold) 13%,transparent);
background:radial-gradient(42% 36% at 16% 24%,var(--gl),transparent 72%),radial-gradient(38% 34% at 86% 56%,var(--gl2),transparent 72%),radial-gradient(34% 30% at 42% 94%,var(--gl2),transparent 72%);
animation:glow 38s ease-in-out infinite alternate;will-change:transform}
@media(prefers-color-scheme:light){:root:not([data-theme="dark"]) body::before{--gl:color-mix(in srgb,var(--gold) 23%,transparent);--gl2:color-mix(in srgb,var(--gold) 15%,transparent)}}
:root[data-theme="light"] body::before{--gl:color-mix(in srgb,var(--gold) 23%,transparent);--gl2:color-mix(in srgb,var(--gold) 15%,transparent)}
@keyframes glow{0%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,-3%) scale(1.06)}100%{transform:translate(-3%,3%) scale(1.02)}}
@media(prefers-reduced-motion:reduce){body::before{animation:none}}

/* Nosotros: franja de color más claro detrás de "Por qué Selecta Origen" */
#ab-why{position:relative;isolation:isolate;padding-top:64px;padding-bottom:64px;margin-top:0;margin-bottom:24px;--p:0}
#ab-why::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;background:color-mix(in srgb,var(--bg2) 70%,transparent);border-top:1px solid var(--ln);border-bottom:1px solid var(--ln)}
@media(max-width:600px){#ab-why{padding-top:44px;padding-bottom:44px}}
/* línea divisoria que se llena de brillo dorado de izquierda a derecha al bajar */
#ab-why::after{content:"";position:absolute;top:-1px;left:50%;width:100vw;height:2px;margin-left:-50vw;z-index:0;pointer-events:none;transform-origin:left center;transform:scaleX(var(--p));
background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 20%,transparent),var(--gold) 70%,#f3dc9c);box-shadow:0 0 12px 1px color-mix(in srgb,var(--gold) 70%,transparent),0 0 30px 2px color-mix(in srgb,var(--gold) 35%,transparent)}
.gline{position:relative;height:2px;width:100vw;margin-left:calc(50% - 50vw);pointer-events:none;--p:0}
.gline::after{content:"";position:absolute;inset:0;transform-origin:left center;transform:scaleX(var(--p));background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 20%,transparent),var(--gold) 70%,#f3dc9c);box-shadow:0 0 12px 1px color-mix(in srgb,var(--gold) 70%,transparent),0 0 30px 2px color-mix(in srgb,var(--gold) 35%,transparent)}
body>.gline{margin-left:0;width:100%}
#contact .gline{margin-top:56px;margin-bottom:40px}
/* mapa: estado inicial con leyenda de países pulsables */
.ci-band>.ci-wide:first-child{grid-column:1/3}
.ci-band>.ci-wide:last-child{grid-column:3/4}
button.ci-pick{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font-size:.88rem;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--gold) 10%,transparent);transition:background .25s,border-color .25s}
button.ci-pick:hover,button.ci-pick:focus-visible{background:color-mix(in srgb,var(--gold) 24%,transparent);border-color:var(--gold)}
button.ci-pick i{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px var(--gold)}
@media(max-width:860px){.ci-band>.ci-wide:first-child,.ci-band>.ci-wide:last-child{grid-column:auto}}

/* ===== Divisiones: cabecera con foto + mosaico de tarjetas con foto ===== */
.dv-top{position:relative;isolation:isolate}
.dv-top-bg{position:absolute;top:0;left:50%;width:100vw;height:min(620px,78vh);transform:translateX(-50%);z-index:-1;background:var(--bg) url(div/hero.jpg) center 40%/cover no-repeat;--ov1:66%;--ov2:74%}
@media(prefers-color-scheme:light){:root:not([data-theme="dark"]) .dv-top-bg{--ov1:76%;--ov2:82%}}
:root[data-theme="light"] .dv-top-bg{--ov1:76%;--ov2:82%}
.dv-top-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) calc(var(--ov2) + 8%),transparent),color-mix(in srgb,var(--bg) var(--ov1),transparent) 70%),linear-gradient(180deg,transparent 45%,var(--bg) 100%)}
.dv-top>h1{max-width:820px}
.divgrid:not(.mini){grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.divgrid:not(.mini)>.dcard{grid-column:span 2;position:relative}
.divgrid:not(.mini)>.dcard:nth-child(-n+2){grid-column:span 3}
.dc-ph{position:relative;aspect-ratio:16/10;overflow:hidden;background:#EDE3CF}
.divgrid:not(.mini)>.dcard:nth-child(-n+2) .dc-ph{aspect-ratio:16/8}
.dc-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.dc-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--bg2) 55%,transparent))}
.dcard:hover .dc-ph img{transform:scale(1.06)}
.divgrid:not(.mini) .dc-lg{position:relative;z-index:1;display:flex;justify-content:flex-start;padding:0 24px;margin-top:-40px}
.divgrid:not(.mini) .dc-lg img{width:76px;box-shadow:0 0 0 2px var(--gold),0 10px 26px rgba(0,0,0,.4)}
.divgrid:not(.mini) .dcard:hover .dc-lg img{transform:scale(1.08)}
.divgrid:not(.mini) .dc-t{padding-top:12px}
@media(max-width:980px){.divgrid:not(.mini){grid-template-columns:repeat(2,minmax(0,1fr))}.divgrid:not(.mini)>.dcard,.divgrid:not(.mini)>.dcard:nth-child(-n+2){grid-column:span 1}.divgrid:not(.mini)>.dcard:last-child{grid-column:1/-1}.divgrid:not(.mini)>.dcard:nth-child(-n+2) .dc-ph{aspect-ratio:16/10}}
@media(max-width:620px){.divgrid:not(.mini){grid-template-columns:minmax(0,1fr)}.divgrid:not(.mini)>.dcard:last-child{grid-column:auto}}

/* ===== Páginas de división ampliadas ===== */
.dv-hero.has-bg{position:relative;isolation:isolate;grid-template-columns:minmax(0,1fr);min-height:min(78vh,700px);padding-bottom:40px}
.dv-hero-bg{position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;background:var(--bg) center/cover no-repeat;--ov1:62%;--ov2:72%}
@media(prefers-color-scheme:light){:root:not([data-theme="dark"]) .dv-hero-bg{--ov1:74%;--ov2:80%}}
:root[data-theme="light"] .dv-hero-bg{--ov1:74%;--ov2:80%}
.dv-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) calc(var(--ov2) + 10%),transparent) 0%,color-mix(in srgb,var(--bg) var(--ov1),transparent) 60%,color-mix(in srgb,var(--bg) calc(var(--ov1) - 14%),transparent) 100%),linear-gradient(180deg,transparent 65%,var(--bg) 100%)}
.dv-hero.has-bg .dv-txt{max-width:720px}
.dv-id{display:flex;align-items:center;gap:14px;margin:14px 0 4px}
.dv-id img{width:58px;height:58px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--gold),0 10px 24px rgba(0,0,0,.35)}
.dv-id .eyebrow{margin:0}
.pcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:26px}
.pcard{display:flex;flex-direction:column;border:1px solid var(--ln);border-radius:22px;overflow:hidden;background:linear-gradient(150deg,var(--bg2),var(--card));transition:transform .3s,border-color .3s,box-shadow .3s}
.pcard:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 22px 50px rgba(0,0,0,.3)}
.pc-ph{aspect-ratio:16/10;overflow:hidden}
.pc-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.pcard:hover .pc-ph img{transform:scale(1.06)}
.pc-t{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.pc-t h3{font-size:1.6rem;color:var(--gold)}
.pc-t>p{color:var(--mu);font-size:.92rem}
.pc-row{margin-top:8px}
.pc-row .eyebrow{display:block;margin:0 0 6px;font-size:.66rem}
.pc-row .chips{margin-top:0}
#dvmap .atlas{grid-template-columns:minmax(0,1fr);gap:16px;max-width:1240px;--aw:min(1240px,calc(100vw - 72px));margin-top:20px}
#dvmap #cinfo{min-height:0;padding:26px 30px}
@media(max-width:980px){.pcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){#dvmap .atlas{--aw:calc(100vw - 32px)}#dvmap #cinfo{padding:22px 20px}}
@media(max-width:640px){.pcards{grid-template-columns:minmax(0,1fr)}.dv-hero.has-bg{min-height:auto}}
.pcards{grid-template-columns:repeat(4,minmax(0,1fr))}
.pc-fmt{margin-top:22px;padding:18px 22px;border:1px solid var(--ln);border-radius:18px;background:color-mix(in srgb,var(--bg2) 60%,transparent)}
.pc-fmt .eyebrow{display:block;margin:0 0 10px}
@media(max-width:1100px){.pcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.pcards{grid-template-columns:minmax(0,1fr)}}
.pc-t .pc-row{margin-top:auto;padding-top:14px}

/* Divisiones: recorrido paso a paso con línea dorada */
.dvtl{position:relative;max-width:980px;margin:34px auto 0;--p:0}
.tl-line{position:absolute;left:50%;top:22px;bottom:22px;width:2px;transform:translateX(-50%);background:var(--ln);border-radius:2px}
.tl-line i{position:absolute;inset:0;transform-origin:top;transform:scaleY(var(--p));background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 40%,transparent),var(--gold) 80%,#f3dc9c);box-shadow:0 0 12px 1px color-mix(in srgb,var(--gold) 60%,transparent);border-radius:2px}
.tl-it{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:center;margin-bottom:22px}
.tl-it:last-child{margin-bottom:0}
.tl-dot{grid-column:2;grid-row:1;justify-self:center;z-index:1;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:1.15rem;color:var(--gold);background:var(--bg);border:1.5px solid color-mix(in srgb,var(--gold) 45%,transparent);transition:background .5s,color .5s,box-shadow .5s,border-color .5s}
.tl-it.on .tl-dot{background:var(--gold);color:#14130f;border-color:var(--gold);box-shadow:0 0 0 6px color-mix(in srgb,var(--gold) 18%,transparent),0 0 22px color-mix(in srgb,var(--gold) 55%,transparent)}
.tl-card{grid-row:1;padding:20px 24px;border:1px solid var(--ln);border-radius:18px;background:linear-gradient(150deg,var(--bg2),var(--card));opacity:.35;transform:translateY(14px);transition:opacity .6s,transform .6s,border-color .6s}
.tl-it.l .tl-card{grid-column:1;text-align:right}
.tl-it.r .tl-card{grid-column:3}
.tl-it.on .tl-card{opacity:1;transform:none;border-color:color-mix(in srgb,var(--gold) 45%,transparent)}
.tl-card h4{font-size:1.08rem;margin-bottom:6px}
.tl-card p{color:var(--mu);font-size:.92rem;margin:0}
@media(max-width:760px){.tl-line{left:23px;transform:none}.tl-it{grid-template-columns:46px minmax(0,1fr);gap:0 16px}.tl-dot{grid-column:1}.tl-it.l .tl-card,.tl-it.r .tl-card{grid-column:2;text-align:left}}
@media(prefers-reduced-motion:reduce){.tl-card{opacity:1;transform:none;transition:none}}
.tl-end{max-width:760px;margin:28px auto 0;display:flex;align-items:center;gap:18px;padding:20px 26px;border:1px solid color-mix(in srgb,var(--gold) 35%,transparent);border-radius:20px;background:color-mix(in srgb,var(--gold) 6%,var(--bg2));opacity:.4;transform:translateY(14px);transition:opacity .6s,transform .6s,border-color .6s,box-shadow .6s}
.tl-end.on{opacity:1;transform:none;border-color:var(--gold);box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 30%,transparent),0 18px 46px color-mix(in srgb,var(--gold) 14%,transparent)}
.tl-end-ic{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:1.6rem;background:var(--gold);color:#14130f}
.tl-end b{display:block;font-size:1.15rem;color:var(--gold);margin-bottom:4px}
.tl-end p{margin:0;color:var(--tx,inherit);font-size:.95rem}
@media(prefers-reduced-motion:reduce){.tl-end{opacity:1;transform:none}}
.pc-t .pc-row2{margin-top:0;padding-top:14px}
.pc-badge{align-self:flex-start;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--gold);color:#14130f;font-weight:600}
.pc-fg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.pc-fg .pc-fmt{margin-top:0}
.pc-fh{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.pc-fi{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:1.25rem;background:var(--gold);color:#14130f}
.pc-fh b{display:block;color:var(--gold);font-size:1.02rem}
.pc-fh small{display:block;color:var(--mu);font-size:.86rem;margin-top:2px}
@media(max-width:820px){.pc-fg{grid-template-columns:minmax(0,1fr)}}
.pc-fi svg{width:22px;height:22px;fill:none;stroke:#14130f;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pc-fh{padding-bottom:14px;border-bottom:1px solid var(--ln)}
.pc-dl{display:grid;grid-template-columns:minmax(120px,auto) 1fr;margin:0}
.pc-dl dt,.pc-dl dd{margin:0;padding:11px 0;border-bottom:1px solid color-mix(in srgb,var(--ln) 60%,transparent);font-size:.93rem}
.pc-dl dt{color:var(--gold);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;padding-right:18px;display:flex;align-items:center}
.pc-dl dd{color:var(--tx,inherit)}
.pc-dl dt:last-of-type,.pc-dl dd:last-of-type{border-bottom:0;padding-bottom:0}
@media(max-width:480px){.pc-dl{grid-template-columns:minmax(0,1fr)}.pc-dl dt{padding:12px 0 2px;border-bottom:0}.pc-dl dd{padding-top:2px}}
.pcards.n5{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.pcards.n5 .pc-t h3{font-size:1.35rem}
@media(max-width:1180px){.pcards.n5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.pcards.n5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pcards.n5{grid-template-columns:minmax(0,1fr)}}
.mia-gal{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:26px}
.mg{margin:0;border-radius:20px;overflow:hidden;background:#EDE3CF;border:1px solid var(--ln);aspect-ratio:3/4;transition:transform .4s,box-shadow .4s,border-color .4s}
.mg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.mg:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 22px 50px rgba(0,0,0,.3)}
.mg:hover img{transform:scale(1.07)}
@media(max-width:1000px){.mia-gal{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.mia-gal{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:520px){.mia-gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.dv-note{max-width:none;margin-top:22px}
.dv-notes{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:22px}
.dv-notes:empty{display:none}
.dv-notes .dv-note{margin:0}
.tl-end-ic svg{width:24px;height:24px;fill:none;stroke:#14130f;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:820px){.dv-notes{grid-template-columns:minmax(0,1fr)}}
.dv-sub{margin-top:8px;max-width:680px}
.mg-more{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:22px;text-align:center;text-decoration:none;background:linear-gradient(150deg,color-mix(in srgb,var(--gold) 22%,var(--bg2)),var(--card));border-color:color-mix(in srgb,var(--gold) 55%,transparent)}
.mg-more b{font-family:"Cormorant Garamond","Songti SC",Georgia,serif;font-size:1.55rem;line-height:1.15;color:var(--gold);font-weight:600}
.mg-more span{font-size:.86rem;font-weight:600;color:#14130f;background:var(--gold);padding:9px 14px;border-radius:999px}
.mg-more{padding:16px 12px;gap:12px}
.mg-more b{font-size:clamp(1.15rem,1.6vw,1.45rem)}
.mg-more span{font-size:.76rem;padding:8px 12px;line-height:1.3}
.pcards.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.pcards.n3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pcards.n3{grid-template-columns:minmax(0,1fr)}}

/* ===== Servicios ===== */
.sv-bg{background-image:url(div/svc-hero.jpg);background-position:center 55%}
#bs,#mods{padding-top:56px;padding-bottom:40px}
.bs{max-width:900px;margin:28px auto 0;text-align:center}
.bs-ps{position:relative;margin-top:24px;text-align:left}
.bs-p{display:none;padding:28px 32px;border:1px solid var(--ln);border-radius:22px;background:linear-gradient(150deg,var(--bg2),var(--card));animation:fadein .4s ease}
.bs-p.on{display:block}
.bs.with .bs-p.on{border-color:color-mix(in srgb,var(--gold) 50%,transparent)}
.bs-lead{color:var(--mu);margin:0 0 16px;font-size:1rem}
.bs-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px}
.bs-l li{position:relative;padding-left:30px;font-weight:600;line-height:1.45}
.bs-l li::before{content:"✓";position:absolute;left:0;top:-1px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;background:var(--gold);color:#14130f}
.bs-note{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--ln);color:var(--mu);font-size:.9rem;font-style:italic}
.mods{display:grid;grid-template-columns:1.25fr repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:16px;margin-top:28px}
.md{padding:22px 24px;border:1px solid var(--ln);border-radius:20px;background:linear-gradient(150deg,var(--bg2),var(--card));transition:transform .3s,border-color .3s}
.md:hover{transform:translateY(-4px);border-color:var(--gold)}
.md h4{font-size:1.05rem;margin:8px 0 6px}
.md p{color:var(--mu);font-size:.92rem;margin:0}
.md-n{color:var(--gold);font-size:1.2rem}
.md-all{grid-row:1/span 2;display:flex;flex-direction:column;justify-content:center;border-color:color-mix(in srgb,var(--gold) 55%,transparent);background:linear-gradient(150deg,color-mix(in srgb,var(--gold) 14%,var(--bg2)),var(--card))}
.md-all h4{font-family:"Cormorant Garamond","Songti SC",Georgia,serif;font-size:1.9rem;color:var(--gold)}
.md-ic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;background:var(--gold);color:#14130f}
@media(max-width:860px){.mods{grid-template-columns:repeat(2,minmax(0,1fr))}.md-all{grid-column:1/-1;grid-row:auto}}
@media(max-width:560px){.mods{grid-template-columns:minmax(0,1fr)}.bs-l{grid-template-columns:minmax(0,1fr)}.bs-p{padding:22px 20px}}
.bs .vs-th{background:var(--gold)}
.bs.with .vs-th{transform:translateX(100%)}
.bs:not(.with) .vs-tg button[data-s="0"],.bs.with .vs-tg button[data-s="1"]{color:#14130f}
.sv-bg{height:auto;bottom:auto;top:0;height:calc(100% - 0px)}
#services.dv-top .sv-bg{height:auto;bottom:0}
.sv-bg::after{background:linear-gradient(90deg,color-mix(in srgb,var(--bg) calc(var(--ov2) + 8%),transparent),color-mix(in srgb,var(--bg) var(--ov1),transparent) 70%),linear-gradient(180deg,transparent 0%,transparent 30%,color-mix(in srgb,var(--bg) 70%,transparent) 55%,var(--bg) 78%)}
/* Servicios: tres etapas a la vista */
#services .lead{max-width:640px}
.st3{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}
.st3-line{position:absolute;top:27px;left:16%;right:16%;height:2px;background:linear-gradient(90deg,var(--gold),#f3dc9c,var(--gold));opacity:.7;box-shadow:0 0 12px color-mix(in srgb,var(--gold) 50%,transparent)}
.st3-c{position:relative;padding:0 26px 26px;border:1px solid var(--ln);border-radius:22px;background:color-mix(in srgb,var(--bg2) 70%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;margin-top:28px;transition:transform .3s,border-color .3s}
.st3-c:hover{transform:translateY(-4px);border-color:var(--gold)}
.st3-ic{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:58px;margin:-29px auto 0;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px color-mix(in srgb,var(--gold) 18%,transparent),0 8px 22px rgba(0,0,0,.3)}
.st3-ic svg{width:26px;height:26px;fill:none;stroke:#14130f;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.st3-n{display:block;margin-top:10px;color:var(--gold);font-size:1rem;opacity:.8}
.st3-c h3{font-size:1.7rem;margin:2px 0 6px}
.st3-c>p{color:var(--gold);font-style:italic;font-size:.95rem;margin:0 0 16px}
.st3-c ul{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--ln);text-align:left;display:grid;gap:9px}
.st3-c li{position:relative;padding-left:24px;font-size:.92rem}
.st3-c li::before{content:"";position:absolute;left:4px;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--gold)}
@media(max-width:820px){.st3{grid-template-columns:minmax(0,1fr);gap:8px}.st3-line{display:none}}
/* Servicios: foto con el barco centrado y visible arriba */
.sv-bg{background-position:38% 88%}
/* Servicios: una sola tarjeta para comprar/vender + servicios por partes */
.bs-card{margin-top:24px;text-align:left;padding:28px 32px;border:1px solid var(--ln);border-radius:22px;background:linear-gradient(150deg,var(--bg2),var(--card))}
.bs.with .bs-card{border-color:color-mix(in srgb,var(--gold) 50%,transparent)}
.bs-card .bs-p{display:none;padding:0;border:0;background:none}
.bs-card .bs-p.on{display:block}
.bs-mods{margin-top:22px;padding-top:18px;border-top:1px solid var(--ln)}
.bs-mods>span{display:block;color:var(--mu);font-size:.9rem;margin-bottom:10px}
.bs-mods .ci-chip{text-decoration:none;color:var(--tx,inherit);transition:background .25s,border-color .25s}
.bs-mods .ci-chip:hover{background:color-mix(in srgb,var(--gold) 24%,transparent);border-color:var(--gold)}
.bs-mods .bs-all{background:var(--gold);color:#14130f;border-color:var(--gold);font-weight:600}
@media(max-width:560px){.bs-card{padding:22px 20px}}
#services .sv-bg{background-size:auto 135%;background-position:40% 92%;--ov1:52%;--ov2:62%}
:root[data-theme="light"] #services .sv-bg{--ov1:66%;--ov2:74%}
@media(prefers-color-scheme:light){:root:not([data-theme="dark"]) #services .sv-bg{--ov1:66%;--ov2:74%}}
#services .sv-bg::after{background:linear-gradient(90deg,color-mix(in srgb,var(--bg) calc(var(--ov2) + 10%),transparent),color-mix(in srgb,var(--bg) var(--ov1),transparent) 55%,color-mix(in srgb,var(--bg) calc(var(--ov1) - 10%),transparent)),linear-gradient(180deg,transparent 0%,transparent 55%,color-mix(in srgb,var(--bg) 60%,transparent) 78%,var(--bg) 100%)}
@media(max-width:820px){#services .sv-bg{background-size:cover;background-position:40% 30%}}
/* Servicios: más contraste para el título y la frase sobre la foto */
#services .sv-bg{--ov1:62%;--ov2:72%}
:root[data-theme="light"] #services .sv-bg{--ov1:76%;--ov2:82%}
@media(prefers-color-scheme:light){:root:not([data-theme="dark"]) #services .sv-bg{--ov1:76%;--ov2:82%}}
#services .sv-bg::after{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 55%,transparent) 0%,color-mix(in srgb,var(--bg) 35%,transparent) 32%,transparent 46%),linear-gradient(90deg,color-mix(in srgb,var(--bg) calc(var(--ov2) + 12%),transparent),color-mix(in srgb,var(--bg) var(--ov1),transparent) 60%,color-mix(in srgb,var(--bg) calc(var(--ov1) - 8%),transparent)),linear-gradient(180deg,transparent 0%,transparent 55%,color-mix(in srgb,var(--bg) 60%,transparent) 78%,var(--bg) 100%)}
#services>.eyebrow,#services>h1,#services>.lead{position:relative;text-shadow:0 2px 14px color-mix(in srgb,var(--bg) 85%,transparent),0 1px 3px color-mix(in srgb,var(--bg) 70%,transparent)}
#services>.lead{color:var(--tx,#e8ecf5)}
@media(max-width:560px){.bs .vs-tg{display:grid;width:100%;box-sizing:border-box}.bs .vs-tg button{white-space:normal;padding:10px 8px;font-size:.82rem;line-height:1.2}}

/* ===== Contacto ===== */
.ct-bg{background-image:url(div/contact-hero.jpg);background-position:center 60%;height:min(560px,70vh)}
/* marco de ventanal sobre el skyline de Pekín */
.ct-bg::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 0 33%,color-mix(in srgb,var(--bg) 70%,transparent) 33% calc(33% + 6px),transparent calc(33% + 6px) 66%,color-mix(in srgb,var(--bg) 70%,transparent) 66% calc(66% + 6px),transparent calc(66% + 6px)),linear-gradient(180deg,transparent 0 72%,color-mix(in srgb,var(--bg) 60%,transparent) 72% calc(72% + 5px),transparent calc(72% + 5px))}
.ct-bg::after{z-index:2}
.ct-main{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start;margin-top:30px}
.ct-form .cform{margin-top:0}
.ct-quick{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid var(--ln);border-radius:22px;background:color-mix(in srgb,var(--bg2) 70%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:90px}
.ct-quick .eyebrow{margin:0 0 4px}
.cq{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--ln);border-radius:16px;text-decoration:none;color:var(--tx,inherit);transition:border-color .25s,background .25s}
a.cq:hover{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}
.cq-ic{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--gold)}
.cq-ic svg{width:20px;height:20px;fill:none;stroke:#14130f;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cq b{display:block;font-size:.95rem}
.cq small{display:block;color:var(--mu);font-size:.82rem;word-break:break-all}
.cq-wc{flex-wrap:wrap}
.cq-wc img{width:96px;height:96px;margin-left:auto;border-radius:8px;background:#fff;padding:4px}
.cq-note{margin:4px 0 0;color:var(--mu);font-size:.84rem}
.ct-team{margin:10px 0 18px}
@media(max-width:900px){.ct-main{grid-template-columns:minmax(0,1fr)}.ct-quick{position:static}}
.cq-wc>span:nth-child(2){flex:1 1 calc(100% - 60px)}
.cq-wc img{width:120px;height:120px;margin:10px auto 2px}

/* Fotos de cabecera: se desvanecen de forma progresiva por abajo, sin borde visible (todas las páginas salvo la portada) */
#ab-top>.ab-bg,.dv-top-bg,.dv-hero-bg{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 52%,rgba(0,0,0,.88) 62%,rgba(0,0,0,.62) 72%,rgba(0,0,0,.34) 82%,rgba(0,0,0,.12) 91%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 52%,rgba(0,0,0,.88) 62%,rgba(0,0,0,.62) 72%,rgba(0,0,0,.34) 82%,rgba(0,0,0,.12) 91%,transparent 100%)}
/* Contacto: foto algo más alta para un fundido más largo y sin travesaño horizontal en el ventanal */
.ct-bg{height:min(760px,92vh)}
.ct-bg::before{background:linear-gradient(90deg,transparent 0 33%,color-mix(in srgb,var(--bg) 55%,transparent) 33% calc(33% + 5px),transparent calc(33% + 5px) 66%,color-mix(in srgb,var(--bg) 55%,transparent) 66% calc(66% + 5px),transparent calc(66% + 5px))}
.dv-top-bg{height:min(760px,92vh)}
#services .dv-top-bg{height:auto}
/* Títulos: líneas equilibradas, sin palabras sueltas en la última línea */
h1,h2,h3,.cta-band h2{text-wrap:balance}
p,.lead{text-wrap:pretty}
/* Toys: galería por bloques con pestañas por modelo */
.gset{margin-top:34px;scroll-margin-top:96px}
.gset+.gset{margin-top:64px;padding-top:44px;border-top:1px solid var(--ln)}
.gs-head h3{font-family:"Cormorant Garamond","Songti SC",Georgia,serif;font-size:1.9rem;font-weight:600;line-height:1.15}
.gs-head p{color:var(--mu);margin-top:6px;max-width:680px;text-wrap:pretty}
.gs-tabs{margin-top:16px}
.gs-tabs .ci-chip{font:inherit;font-size:.9rem;font-weight:600;color:var(--tx,inherit);cursor:pointer;padding:7px 15px;transition:background .25s,border-color .25s,color .25s}
.gs-tabs .ci-chip:hover{background:color-mix(in srgb,var(--gold) 24%,transparent);border-color:var(--gold)}
.gs-tabs .ci-chip.on{background:var(--gold);border-color:var(--gold);color:#14130f}
.gs-tabs .ci-chip small{margin-left:7px;font-size:.78em;font-weight:500;opacity:.7}
.gs-tabs .ci-chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.gset .mia-gal{margin-top:20px}
.gs-more{display:flex;margin:24px auto 0;cursor:pointer;font:inherit;font-size:.92rem;background:transparent}
.gs-more:hover{background:color-mix(in srgb,var(--gold) 18%,transparent)}
