:root{--black:#090909;--gold:#f0cc72;--ochre:#795d21;--paper:#fff;--soft:#f7f6f2;--ink:#20201e;--muted:#60605b;--line:#dfdfd8}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:20px}
body{min-width:320px;margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:.18em}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #997321;outline-offset:4px}
[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.16;letter-spacing:-.035em;font-weight:600}
h1{font-size:clamp(2.2rem,5vw,4.3rem)}h2{font-size:clamp(1.8rem,3.3vw,2.8rem);margin-bottom:1.25rem}h3{font-size:clamp(1.4rem,2.3vw,2rem)}
.skip{position:absolute;left:10px;top:-100px;z-index:20;background:#fff;padding:12px}.skip:focus{top:5px}
.site-header{background:var(--black);color:#fff}.header-inner{max-width:1140px;min-height:94px;margin:auto;border-bottom:1px solid #393938;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:inline-flex;gap:13px;align-items:center;text-decoration:none;flex-shrink:0}.brand-mark{display:grid;grid-template-columns:1fr 1fr;align-items:center;width:46px;height:46px;border:1px solid var(--gold);padding:6px;font:800 11px/1 "Arial Narrow",Arial,sans-serif;letter-spacing:-.04em;color:var(--gold);text-align:center}.brand-mark span:last-child{color:#fff}.brand-name{display:flex;flex-direction:column;letter-spacing:.08em;font-size:11px;font-weight:600;line-height:1.3;text-transform:uppercase}.brand-name strong{font-weight:800;color:var(--gold)}
.site-header nav{display:flex;gap:32px}.site-header nav a{text-decoration:none;font-size:13px;padding:8px 0}.site-header nav a:hover{color:var(--gold)}
.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--ochre);margin-bottom:16px}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:500px;display:flex;align-items:center;background:var(--black);color:#fff}
.hero-photo,.hero-photo img,.hero-cover{position:absolute;inset:0;width:100%;height:100%}.hero-photo{z-index:-2}.hero-photo img{display:block;object-fit:cover;object-position:center}
.hero-cover{z-index:-1;background:linear-gradient(90deg,rgba(6,6,6,.97),rgba(6,6,6,.85) 36%,rgba(6,6,6,.18) 86%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 60%)}
.hero-content{max-width:1140px;width:100%;margin:auto;padding:75px 0}.hero .eyebrow{color:var(--gold)}.hero h1{max-width:620px;margin-bottom:23px}.hero h1 span{color:var(--gold);font-weight:500}
.hero-content>p:not(.eyebrow):not(.hero-sectors){font-size:17px;max-width:420px;color:#e9e8e3;line-height:1.75}.hero-sectors{margin:35px 0 0;color:#e5e4dd;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.hero-sectors span{margin-inline:10px;color:var(--gold)}
.stripe{min-height:63px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(20px,calc((100% - 1140px)/2));background:var(--soft);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.stripe strong{color:#5f4a1b}
.section{max-width:1140px;margin:auto;padding:80px 0}
.section-heading{display:grid;grid-template-columns:1.3fr 1fr;column-gap:80px;margin-bottom:37px}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{margin:0}.section-heading>p:last-child{align-self:end;max-width:340px;color:var(--muted);margin-bottom:5px;font-size:15px}
.service-columns{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line)}.service-columns article{display:flex;flex-direction:column;padding:30px 50px 35px 0}.service-columns article+article{border-left:1px solid var(--line);padding:30px 0 35px 50px}
.column-label{margin-bottom:25px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.09em}.column-label span{float:right;color:#66501d;background:#f8eed5;padding:3px 8px}.service-columns h3{margin-bottom:27px}.service-columns dl{margin:0}.service-columns dl>div{margin-bottom:20px}.service-columns dt{font-size:15px;font-weight:600;margin-bottom:5px}.service-columns dd{margin:0;color:var(--muted);font-size:14px}.note{border-top:1px solid var(--line);padding-top:19px;margin:12px 0 24px;font-size:12px;color:var(--muted)}.more{margin-top:auto;font-size:13px;font-weight:600;text-decoration:none}.more:hover{text-decoration:underline}
.about-bg,.contact-bg{background:var(--soft)}.about{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:center}.about>div:first-child>p:not(.eyebrow){font-size:15px;max-width:520px;color:var(--muted)}.professional{border-left:1px solid #d4cebd;padding:15px 0 15px 50px}.person-mark{width:65px;height:65px;border:1px solid #c8ad6b;display:grid;place-items:center;color:var(--ochre);font:38px Georgia,serif;margin-bottom:25px}.professional h3{font-size:28px;margin-bottom:6px}.professional p:last-child{color:var(--muted);font-size:14px}.professional figure{max-width:200px;margin:0 0 23px}.professional figure img{width:200px;height:200px;object-fit:cover}.professional figcaption{font-size:11px}
.registry{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start;padding-block:90px}.registry-copy{padding-top:25px}.registry-copy>p:not(.eyebrow),.contact>div>p:not(.eyebrow){color:var(--muted);max-width:430px}.registry-copy ul{padding:0;margin:27px 0 32px;list-style:none;color:var(--muted);font-size:14px}.registry-copy li{margin:10px 0;padding-left:22px;position:relative}.registry-copy li:before{content:"✓";position:absolute;left:0;color:var(--ochre)}
.signup{border:1px solid var(--line);background:#faf9f6;padding:32px}.signup h3{font-size:23px;margin-bottom:24px}.signup>label:not(.checkbox){font-size:13px;font-weight:600;display:block;margin:18px 0 7px}
.signup input[type=text],.signup input[type=tel]{display:block;width:100%;min-height:48px;padding:11px 13px;border:1px solid #bfbfb8;border-radius:0;background:white;color:#20201e;font-size:16px}.signup input::placeholder{color:#767670}.phone{display:flex}.phone span{padding:11px 13px;border:1px solid #bfbfb8;border-right:0;background:#f0efe8;color:var(--muted)}.phone input{min-width:0}.hint{font-size:11px;color:var(--muted);margin:6px 0 22px}
.checkbox{display:flex;align-items:start;gap:10px;font-size:12px;line-height:1.6;color:#4d4d48;margin:17px 0}.checkbox input{width:18px;height:18px;flex-shrink:0;margin:1px 0 0;accent-color:#786024}.checkbox a,.fine a{color:#674d17}.primary{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:12px 22px;border:1px solid #eac56c;border-radius:0;background:var(--gold);color:#14120e;text-decoration:none;font-size:13px;font-weight:600;line-height:1.5}.primary:hover{background:#eac264}.signup .primary{width:100%;margin-top:10px}.fine{margin:16px 0 0;color:var(--muted);font-size:11px;line-height:1.7;overflow-wrap:anywhere}
.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-errors{border-left:3px solid #91573c;background:#fff2ec;padding:14px;font-size:13px;color:#6a3525}.form-errors ul{padding-left:18px;margin:7px 0 0}
.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:95px}.contact-email{font-size:22px;letter-spacing:-.03em;text-decoration:none;overflow-wrap:anywhere}.contact dl{margin:0 0 25px}.contact dl>div{margin-bottom:15px}.contact dt{color:var(--ochre);text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.12em}.contact dd{margin:3px 0 0;font-size:14px}.contact dd a{text-decoration:none}.map-panel{padding:25px;border:1px solid #d7d3c6;background:#eeece5;font-size:12px}.map-panel button{background:transparent;border:0;padding:0;text-decoration:underline;color:var(--ink);font-size:12px;display:block;margin-bottom:8px}.map-panel p{margin:0 0 9px}.map-panel iframe{display:block;width:100%;height:260px;border:0}.map-panel.loaded{padding:0}
.site-footer{background:var(--black);color:#e9e8e3}.footer-grid{max-width:1140px;display:grid;grid-template-columns:1.4fr 1fr;gap:60px;margin:auto;padding:50px 0 35px}.footer-grid .brand{margin-bottom:16px}.footer-grid p{font-size:12px;color:#c7c6be;margin:5px 0}.footer-grid>div>p>a{color:var(--gold)}.footer-grid nav{display:flex;flex-direction:column;align-items:start;gap:11px;font-size:12px}.footer-grid nav a{text-decoration:none}.footer-grid nav a:hover{text-decoration:underline}.footer-bottom{max-width:1140px;margin:auto;border-top:1px solid #333;padding:18px 0;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#b1b0a7}.link-button{padding:0;border:0;background:transparent;color:#e9e8e3;text-decoration:underline;text-align:left;font-size:12px}
.legal{max-width:810px;margin:auto;padding:65px 0 80px;min-height:65vh}.back{display:inline-block;text-decoration:none;color:var(--muted);font-size:13px;margin-bottom:35px}.legal h1{font-size:clamp(2.2rem,4vw,3.5rem)}.legal>.lead{font-size:17px;color:var(--muted)}.version{font-size:11px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:26px}.legal article{overflow-wrap:anywhere}.legal article h2{font-size:23px;margin:35px 0 12px}.legal article p,.legal article li{color:#44443e}.legal article a{color:#654910}.legal article .primary{color:var(--ink)}
.confirmation{max-width:740px;min-height:65vh;margin:auto;padding:85px 24px}.confirmation h1{font-size:clamp(2rem,4vw,3.1rem)}.confirmation>p:not(.eyebrow){color:var(--muted)}.confirmation .primary{margin:12px 0 20px}.confirm-icon{width:60px;height:60px;display:grid;place-items:center;color:var(--ochre);border:1px solid #c8ad6b;font-size:30px;margin-bottom:26px}
.pixel-choice{position:fixed;z-index:99;bottom:15px;left:50%;transform:translateX(-50%);width:calc(100% - 30px);max-width:860px;padding:20px;display:flex;align-items:center;gap:25px;background:white;border:1px solid #ad9b70;box-shadow:0 8px 28px #0003}.pixel-choice p{font-size:12px;line-height:1.65;margin:0;flex:1}.pixel-choice>div{display:flex;gap:8px}.pixel-choice button{padding:10px 15px;border:1px solid #aa9152;background:var(--gold);font-size:12px;white-space:nowrap}.pixel-choice button:last-child{background:white;border-color:var(--line)}
@media(max-width:1230px){.header-inner,.hero-content,.section,.footer-grid,.footer-bottom{margin-inline:38px}.stripe{padding-inline:38px}}
@media(max-width:850px){.about,.registry,.contact{gap:45px}.section-heading{column-gap:35px}.service-columns article{padding-right:30px}.service-columns article+article{padding-left:30px}.professional{padding-left:30px}.legal{margin-inline:35px}}
@media(max-width:700px){
    .header-inner,.hero-content,.section,.footer-grid,.footer-bottom{margin-inline:20px}.header-inner{min-height:105px;padding:15px 0 13px;flex-wrap:wrap;gap:10px}.brand-mark{width:40px;height:40px;font-size:10px}.brand-name{font-size:10px}.site-header nav{width:100%;gap:26px}.site-header nav a{font-size:12px;padding:2px 0}
    .hero{display:block;min-height:0}.hero-photo{height:auto;aspect-ratio:1600/900}.hero-photo img{object-fit:contain;object-position:center top}.hero-cover{background:linear-gradient(180deg,rgba(0,0,0,.07),rgba(0,0,0,.06) 18%,rgba(9,9,9,.95) 43%,var(--black) 67%)}
    .hero-content{padding:clamp(132px,38vw,245px) 0 38px}.hero .eyebrow{font-size:9px;letter-spacing:.1em}.hero h1{font-size:clamp(2rem,8.2vw,3.2rem);max-width:350px;line-height:1.13}.hero-content>p:not(.eyebrow):not(.hero-sectors){font-size:14px}.hero-sectors{margin-top:25px;font-size:9px}.hero-sectors span{margin-inline:4px}
    .stripe{padding:12px 20px;justify-content:flex-start;flex-wrap:wrap;gap:4px 20px;font-size:10px}.stripe span:first-child{display:none}
    .section{padding-block:52px}.section-heading{display:block;margin-bottom:25px}.section-heading>p:last-child{font-size:14px}.section-heading h2{margin-bottom:16px}h2{font-size:28px}
    .service-columns{grid-template-columns:1fr}.service-columns article,.service-columns article+article{padding:26px 0 30px;border-left:0}.service-columns article+article{border-top:1px solid var(--line)}.service-columns h3{font-size:24px}
    .about,.registry,.contact{grid-template-columns:1fr;gap:28px}.professional{padding:5px 0 5px 22px}.person-mark{width:50px;height:50px;font-size:29px;margin-bottom:18px}
    .registry-copy{padding-top:0}.signup{padding:23px 20px}.signup h3{font-size:21px}.registry-copy>p:not(.eyebrow){font-size:15px}
    .contact-email{font-size:22px}.footer-grid{grid-template-columns:1fr;padding-block:38px;gap:28px}.footer-grid nav{gap:14px}.footer-bottom{font-size:9px}
    .legal{margin-inline:20px;padding:40px 0 55px}.legal h1{font-size:33px}.legal>.lead{font-size:15px}.legal article h2{font-size:21px}.legal article{font-size:15px}
    .confirmation{padding:55px 20px}.pixel-choice{display:block;max-height:calc(100vh - 20px);overflow:auto;bottom:10px}.pixel-choice>div{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Portada: una sola pantalla con la información pública siempre visible. */
html:has(.home-page){overflow:hidden}
.home-page{height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--black);color:#fff}
.home-page .site-header{flex:none;position:relative;z-index:2;background:rgba(9,9,9,.97)}
.home-page .header-inner{min-height:74px}
.home-main{min-height:0;flex:1;display:flex}
.home-page .hero{flex:1;min-height:0;display:flex;align-items:center}
.home-page .hero-content{padding-block:15px 18px;position:relative}
.home-page .hero h1{font-size:clamp(1.75rem,3.5vw,3.15rem);font-weight:600;letter-spacing:-.035em;line-height:1.12;max-width:600px;margin-bottom:12px}
.home-page .hero-content>p:not(.eyebrow){font-size:clamp(12px,1.2vw,15px);line-height:1.4;margin-bottom:16px}
.home-page .hero .eyebrow{margin-bottom:9px}
.home-services{max-width:630px;display:grid;gap:8px;font-size:clamp(11px,1.02vw,14px);line-height:1.4}
.home-services p{margin:0}.home-services strong{color:var(--gold)}.home-services a{color:#fff;font-weight:600;text-underline-offset:3px;white-space:nowrap}
.home-page .hero-cover{background:linear-gradient(90deg,rgba(6,6,6,.96),rgba(6,6,6,.8) 40%,rgba(6,6,6,.24) 100%)}
.home-footer{flex:none;position:relative;z-index:2;background:rgba(9,9,9,.97);border-top:1px solid #5a5140;color:#eee}
.home-footer-inner{max-width:1140px;margin:auto;padding:12px 0;display:grid;grid-template-columns:1.5fr 1fr;gap:25px;align-items:center}
.home-contact{display:flex;flex-wrap:wrap;column-gap:14px;row-gap:3px;font-size:11px;line-height:1.35}
.home-contact strong{color:var(--gold);width:100%;font-size:11px}.home-contact a,.home-legal a{color:#fff}
.home-legal{display:flex;flex-wrap:wrap;column-gap:15px;row-gap:4px;font-size:11px;line-height:1.35}
.home-legal .link-button{font-size:11px}
@media(max-width:1230px){.home-footer-inner{margin-inline:38px}}
@media(max-width:700px){
 .home-page .header-inner{min-height:65px;flex-wrap:nowrap;margin-inline:15px;padding:8px 0;gap:8px}
 .home-page .site-header nav{width:auto;gap:10px}.home-page .site-header nav a{font-size:11px;white-space:nowrap}
 .home-page .site-header nav a:first-child{display:none}
 .home-page .hero{display:flex;min-height:0;align-items:flex-end}
 .home-page .hero-photo{height:100%;aspect-ratio:auto}.home-page .hero-photo img{object-fit:cover;object-position:56% center}
 .home-page .hero-cover{background:linear-gradient(0deg,rgba(9,9,9,.97),rgba(9,9,9,.86) 48%,rgba(9,9,9,.22) 100%)}
 .home-page .hero-content{margin-inline:15px;padding:12px 0}
 .home-page .hero .eyebrow{font-size:9px;margin-bottom:5px}
 .home-page .hero h1{font-size:clamp(21px,6vw,32px);margin-bottom:7px}
 .home-page .hero-content>p:not(.eyebrow){font-size:11px;margin-bottom:9px}
 .home-services{gap:5px;font-size:10px;line-height:1.3}
 .home-footer-inner{margin-inline:15px;padding:9px 0;grid-template-columns:1fr;gap:7px}
 .home-contact{font-size:10px;column-gap:11px;row-gap:2px}
 .home-contact strong{font-size:10px}
 .home-legal{font-size:10px;column-gap:12px;row-gap:3px}
}
@media(max-width:370px){.home-page .site-header nav a:last-child{display:none}.home-contact,.home-legal{font-size:9px}.home-services{font-size:9px}}
@media(max-height:620px){.home-page .hero h1{font-size:clamp(20px,4vh,29px)}.home-page .hero .eyebrow{margin-bottom:3px}.home-page .hero-content>p:not(.eyebrow){margin-bottom:5px}.home-services{gap:3px}}
