/* Cerrajero Yan B — custom draft design, September 2026 */

/* Five-image gallery */
.yn-gallery{scroll-margin-top:28px;border-bottom:1px solid var(--yn-line)}
.yn-gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 24px}
.yn-gallery-card{grid-column:span 2;min-width:0}
.yn-gallery-card:nth-child(-n+2){grid-column:span 3}
.yn-gallery-image{display:block;position:relative;overflow:hidden;background:#e9e7dd;aspect-ratio:3/2}
.yanb-site .yn-gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.yn-gallery-image:hover img{transform:scale(1.025)}
.yn-gallery-expand{position:absolute;right:14px;bottom:14px;width:34px;height:34px;display:grid;place-items:center;background:var(--yn-paper);color:var(--yn-ink);font-size:20px}
.yn-gallery-card figcaption{display:flex;justify-content:space-between;gap:16px;padding-top:14px;font-size:13px;font-weight:500}
.yn-gallery-card figcaption small{font-size:10px;color:#88744e;letter-spacing:.1em}
@media(max-width:1000px){.yn-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}.yn-gallery-card,.yn-gallery-card:nth-child(-n+2){grid-column:span 1}.yn-gallery-card:last-child{grid-column:1/-1;width:calc(50% - 10px);justify-self:center}}
@media(max-width:600px){.yn-gallery-grid{grid-template-columns:1fr;gap:28px}.yn-gallery-card:last-child{grid-column:auto;width:100%}.yn-gallery-card figcaption{font-size:13px}}

body.yanb-site{--yn-ink:#212925;--yn-night:#18211e;--yn-paper:#f5f3eb;--yn-white:#fffefa;--yn-brass:#d5b47b;--yn-muted:#686c65;--yn-line:#dcded3;margin:0;background:var(--yn-paper);color:var(--yn-ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
.yanb-site *, .yanb-site *:before,.yanb-site *:after{box-sizing:border-box}.yanb-site h1,.yanb-site h2,.yanb-site h3,.yanb-site p,.yanb-site figure,.yanb-site blockquote{margin:0}.yanb-site h1,.yanb-site h2,.yanb-site h3{font-family:'Manrope',sans-serif;letter-spacing:-.05em;line-height:1.07;color:inherit;font-weight:500}.yanb-site h1{font-size:clamp(3.3rem,5.7vw,6.25rem)}.yanb-site h2{font-size:clamp(2.5rem,4vw,4.5rem)}.yanb-site h3{font-size:1.75rem;letter-spacing:-.035em}.yanb-site em{font-family:Georgia,serif;font-weight:400;color:var(--yn-brass)}.yanb-site a{color:inherit;text-decoration:none}.yanb-site a:hover{color:inherit}.yanb-site img{max-width:100%;height:auto;display:block}.yanb-site svg{flex-shrink:0;vertical-align:middle}.yanb-site button,.yanb-site input,.yanb-site textarea{font:inherit}.yanb-site :focus-visible{outline:3px solid #ae7b35;outline-offset:5px}.yanb-site ::selection{background:var(--yn-brass);color:var(--yn-night)}
.yanb-skip{position:absolute;top:-100px;left:16px;background:#fff;padding:12px;z-index:9999}.yanb-skip:focus{top:12px}
.yn-header{height:100px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--yn-night);color:var(--yn-paper);border-bottom:1px solid #ffffff20;position:relative;z-index:20}.yn-brand{display:inline-flex;gap:14px;align-items:center;color:var(--yn-brass)!important;line-height:1;font:700 26px 'Manrope',sans-serif;letter-spacing:.045em}.yn-brand svg{width:28px;height:36px}.yn-brand-sub{display:block;font:500 9px 'DM Sans',sans-serif;letter-spacing:.24em;margin-top:8px;color:var(--yn-paper)}.yn-nav{display:flex;gap:35px;font-size:14px}.yn-nav a{position:relative;padding:10px 0}.yn-nav a[aria-current],.yn-nav a:hover{color:var(--yn-brass)}.yn-nav a[aria-current]:after{content:'';position:absolute;bottom:3px;left:0;width:20px;border-bottom:1px solid var(--yn-brass)}.yn-header-cta{display:flex;gap:28px;align-items:center;border:1px solid #eee4cf66;padding:12px 21px;font-size:13px}.yn-header-cta:hover{background:var(--yn-brass);color:var(--yn-night)!important}.yn-mobile-menu{display:none}
.yn-eyebrow{font-size:10px;line-height:1.5;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:24px!important;display:flex;gap:12px;align-items:center}.yn-eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--yn-brass)}.yn-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--yn-night);color:var(--yn-paper);min-height:675px}.yn-hero-copy{padding:65px 9% 28px 11%;display:flex;flex-direction:column;align-items:flex-start;position:relative}.yn-hero .yn-eyebrow{color:#e0c596}.yn-hero h1{line-height:1.02;letter-spacing:-.055em}.yn-intro{max-width:380px;color:#c6cdc5;font-size:16px;margin-top:27px!important;line-height:1.7}.yn-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:32px}.yn-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:17px 22px;background:var(--yn-brass);color:var(--yn-night)!important;font-size:13px;font-weight:600;line-height:1.2;min-height:52px;border:1px solid var(--yn-brass);transition:background .18s,transform .18s}.yn-button:hover{background:#e2c794;transform:translateY(-2px)}.yn-text-link{display:inline-flex;align-items:center;gap:20px;font-size:13px;font-weight:500;border-bottom:1px solid currentColor;padding:9px 0;line-height:1.3}.yn-text-link:hover{opacity:.75}.yn-hero-foot{display:flex;gap:16px;justify-content:space-between;width:100%;font-size:8px;letter-spacing:.12em;color:#a1afa6;border-top:1px solid #ffffff26;padding-top:19px;margin-top:auto;padding-bottom:3px}.yn-hero-photo{position:relative;min-height:675px;overflow:hidden}.yn-hero-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:62% center}.yn-hero-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0b130ab3)}.yn-hero-photo figcaption{position:absolute;bottom:34px;left:35px;right:35px;display:flex;align-items:flex-end;justify-content:space-between;z-index:1;color:#fff9e9;font-size:11px;letter-spacing:.13em;line-height:1.6}.yn-photo-index{border:1px solid #fff8;padding:10px 12px;font-size:9px}
.yn-service-strip{padding:24px 5.5%;background:#e9e7de;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.065em}.yn-service-strip i{width:4px;height:4px;background:#8b7959;border-radius:50%;flex:none}
.yn-section{padding:100px 5.5%;max-width:1600px;margin:auto}.yn-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:48px}.yn-section-heading>p{max-width:390px;justify-self:end;color:var(--yn-muted);font-size:15px;padding-bottom:6px}.yn-services .yn-eyebrow{color:#717260}.yn-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--yn-line)}.yn-service-card{padding:32px 30px 24px;display:flex;flex-direction:column;background:var(--yn-white)}.yn-service-card+.yn-service-card{border-left:1px solid var(--yn-line)}.yn-card-top{display:flex;align-items:center;justify-content:space-between;color:#89734f;margin-bottom:47px}.yn-card-top>span{font-size:12px;letter-spacing:.12em}.yn-service-card h3{margin-bottom:14px}.yn-service-card .yn-card-tag{color:var(--yn-ink);font-size:13px;line-height:1.6;margin-bottom:15px}.yn-service-card>p{font-size:14px;line-height:1.8;color:var(--yn-muted);max-width:310px}.yn-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:36px}.yn-card-bottom small{font-size:10px;line-height:1.6;color:#747567}.yn-card-bottom a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--yn-line);flex:none}.yn-card-bottom a:hover{background:var(--yn-brass);border-color:var(--yn-brass)}
.yn-smart{display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:auto;background:#e9e7dd}.yn-smart figure{position:relative;min-height:630px}.yn-smart figure>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:45% center}.yn-smart figcaption{position:absolute;bottom:17px;left:25px;color:white;font-size:8px;letter-spacing:.16em;text-shadow:0 1px 4px #000}.yn-smart-copy{padding:72px 13% 70px 12%;align-self:center}.yn-smart-copy em{color:#877044}.yn-smart-copy>p:not(.yn-eyebrow){color:#64695f;font-size:15px;line-height:1.8;margin:26px 0!important}.yn-smart-copy ul{margin:0 0 30px;padding:0;list-style:none;font-size:13px}.yn-smart-copy li{padding:13px 0;border-top:1px solid #c9cbbf;display:flex;align-items:center;gap:13px}.yn-smart-copy li:before{content:'✓';color:#887040;font-size:13px}.yn-smart-copy li:last-child{border-bottom:1px solid #c9cbbf}
.yn-about{display:grid;grid-template-columns:1fr 1fr;gap:11%;padding-top:112px;padding-bottom:106px}.yn-about .yn-eyebrow{color:#76725d}.yn-about-copy{padding-top:4px;max-width:480px}.yn-since{font:400 73px/.95 'Manrope',sans-serif;letter-spacing:-.05em;color:#88744e;display:block;margin-bottom:32px}.yn-since small{font:500 9px 'DM Sans',sans-serif;letter-spacing:.16em;display:block;margin-top:16px;color:#7b7e71}.yn-about-copy p{font-size:15px;color:#686c65;margin-bottom:20px}.yn-about-copy .yn-text-link{margin-top:9px}.yn-about h1 em{color:#88744e}.yn-quote{padding:50px 6%;background:#e8e7de;text-align:center;display:flex;flex-direction:column;align-items:center}.yn-quote>span{font:60px/.7 Georgia,serif;color:#938063}.yanb-site .yn-quote blockquote{border:0;padding:10px 0 0;font:italic 24px/1.5 Georgia,serif;color:#545c51}.yn-quote cite{display:block;margin-top:19px;font:500 9px 'DM Sans',sans-serif;letter-spacing:.17em}
.yn-cta{background:var(--yn-night);color:var(--yn-paper);padding:75px 8%;display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.yn-cta .yn-eyebrow{color:var(--yn-brass)}.yn-cta>div+div{justify-self:end}.yn-cta p:not(.yn-eyebrow){color:#c5ccc4;font-size:15px;margin-bottom:25px}.yn-footer{padding:55px 5.5% 24px;background:#111a16;color:#bec8c0}.yn-footer-main{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:46px}.yn-footer-main>p{font-size:13px;line-height:1.9}.yn-footer-main nav{display:flex;gap:28px;font-size:12px}.yn-footer-bottom{border-top:1px solid #ffffff20;padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#92a195}.yn-footer-bottom a{font-size:11px}
.yn-page-intro{padding:76px 5.5% 70px;background:var(--yn-night);color:var(--yn-paper)}.yn-page-intro .yn-eyebrow{color:var(--yn-brass)}.yn-page-intro>p:last-child{max-width:500px;color:#c6cdc5;font-size:16px;margin-top:28px}.yn-process>h2{margin-bottom:42px}.yn-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.yn-process-grid>div{border-top:1px solid #cacdc2;padding-top:25px}.yn-process-grid span{color:#938060;font-size:13px}.yn-process-grid h3{font-size:21px;margin:26px 0 15px;line-height:1.3}.yn-process-grid p{font-size:14px;color:var(--yn-muted)}.yn-about-feature{margin-top:0}.yn-contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;padding-top:70px;padding-bottom:85px}.yn-contact-item{padding:30px 0;border-bottom:1px solid var(--yn-line)}.yn-contact-item small{font-size:9px;letter-spacing:.15em;display:block;margin-bottom:13px;color:#716c5b}.yn-contact-item a{font-size:clamp(13px,1.45vw,20px);display:inline-flex;align-items:center;gap:12px;overflow-wrap:anywhere}.yn-contact-item p{font-size:18px;line-height:1.6}.yn-contact-note{font-size:12px;color:var(--yn-muted);margin-top:28px!important;max-width:340px}.yn-contact-form{background:var(--yn-white);border:1px solid var(--yn-line);padding:35px}.yn-contact-form>p:not(.yn-eyebrow){font-size:14px;color:var(--yn-muted);margin:16px 0 28px}.yn-contact-form h3{line-height:1.25}.yn-contact-form .srfm-form-container{background:transparent!important;--srfm-color-scheme-primary:#253c2b;--srfm-color-scheme-text-on-primary:#fff;--srfm-color-input-border:#c7cdc0}.yn-contact-form form{margin:0}.yn-contact-form input,.yn-contact-form textarea{max-width:100%;border-radius:0!important}.yn-contact-form .srfm-submit-button{background:var(--yn-night)!important;color:#fff!important;border-radius:0!important}.yn-contact-form .srfm-description,.yn-contact-form .srfm-input-common{font-family:'DM Sans',sans-serif}
@media(min-width:1600px){.yn-hero{max-height:850px}.yn-hero-copy{padding-left:max(11%,calc((100vw - 1424px)/2))}.yn-hero h1{font-size:100px}}
@media(max-width:1100px){.yn-header{height:86px;padding-left:4%;padding-right:4%}.yn-hero{min-height:625px}.yn-hero-photo{min-height:625px}.yn-hero-copy{padding:52px 8% 23px}.yn-hero h1{font-size:66px}.yn-actions{gap:15px}.yn-actions .yn-text-link{font-size:12px}.yn-hero-foot{font-size:7px;margin-top:40px}.yn-service-card{padding:26px 23px 20px}.yn-service-card h3{font-size:26px}.yn-smart-copy{padding:52px 10%}.yn-smart figure{min-height:600px}.yn-section{padding:78px 5%}.yn-service-strip{font-size:10px;padding:20px 5%}.yn-cta{padding:66px 6%}}
@media(max-width:760px){.yn-header{height:82px;padding:0 6%;gap:20px}.yn-brand{font-size:22px;gap:10px}.yn-brand svg{width:24px;height:31px}.yn-brand-sub{font-size:8px;margin-top:6px}.yn-nav{display:none}.yn-header-cta{margin-left:auto;border:0;padding:12px 0;font-size:12px;gap:10px}.yn-header-cta svg{width:17px}.yn-mobile-menu{display:block}.yn-mobile-menu summary{list-style:none;cursor:pointer;padding:10px 0 10px 9px;display:flex}.yn-mobile-menu summary::-webkit-details-marker{display:none}.yn-mobile-menu nav{position:absolute;top:82px;left:0;right:0;padding:16px 6% 24px;background:var(--yn-night);border-top:1px solid #ffffff30;box-shadow:0 15px 20px #0002}.yn-mobile-menu nav a{display:block;font-size:16px;padding:12px 0;border-bottom:1px solid #ffffff16}.yn-hero{grid-template-columns:1fr;min-height:0}.yn-hero-copy{padding:42px 6% 27px}.yn-eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:22px!important}.yn-hero h1{font-size:clamp(53px,12.9vw,78px)}.yn-intro{font-size:15px;max-width:355px;margin-top:23px!important}.yn-actions{margin-top:28px;gap:18px}.yn-button{font-size:12px;padding:17px 18px;gap:19px}.yn-hero-foot{font-size:7px;padding-top:17px;margin-top:34px}.yn-hero-photo{min-height:355px;height:355px}.yn-hero-photo>img{object-position:50% 54%}.yn-hero-photo figcaption{bottom:24px;left:6%;right:6%;font-size:10px}.yn-service-strip{display:grid;grid-template-columns:1fr 1fr;gap:15px 20px;padding:22px 6%;font-size:10px}.yn-service-strip i{display:none}.yn-service-strip span:before{content:'·';margin-right:8px;color:#8b7959}.yn-section{padding:65px 6%}.yn-section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.yanb-site h2{font-size:clamp(36px,9.3vw,49px)}.yn-section-heading>p{font-size:14px;justify-self:start;max-width:340px}.yn-service-grid{grid-template-columns:1fr}.yn-service-card{padding:28px}.yn-service-card+.yn-service-card{border-left:0;border-top:1px solid var(--yn-line)}.yn-card-top{margin-bottom:30px}.yn-service-card h3{font-size:28px}.yn-service-card>p{max-width:100%}.yn-card-bottom{padding-top:27px}.yn-smart{grid-template-columns:1fr}.yn-smart figure{height:350px;min-height:350px}.yn-smart-copy{padding:49px 6% 54px}.yn-smart-copy>p:not(.yn-eyebrow){max-width:370px;font-size:14px;margin:22px 0!important}.yn-smart-copy ul{max-width:400px}.yn-about{grid-template-columns:1fr;gap:40px}.yn-about-copy{max-width:100%}.yn-since{font-size:64px;margin-bottom:28px}.yn-about-copy p{font-size:14px}.yn-quote{padding:42px 7%}.yanb-site .yn-quote blockquote{font-size:21px}.yn-quote br{display:none}.yn-cta{padding:58px 6%;grid-template-columns:1fr;gap:28px}.yn-cta>div+div{justify-self:start}.yn-cta p:not(.yn-eyebrow){font-size:14px}.yn-footer{padding:43px 6% 25px}.yn-footer-main{align-items:flex-start;flex-wrap:wrap;gap:28px;padding-bottom:30px}.yn-footer-main>p{font-size:12px;width:100%;order:2}.yn-footer-main nav{margin-left:auto;flex-direction:column;gap:10px;font-size:12px}.yn-footer-bottom{display:flex;flex-wrap:wrap;gap:12px;font-size:8px}.yn-footer-bottom>span:nth-child(2){order:3;width:100%}.yn-footer-bottom>a{margin-left:auto;font-size:10px}.yn-page-intro{padding:51px 6% 48px}.yn-page-intro h1,.yn-about h1{font-size:clamp(45px,11vw,68px)}.yn-page-intro>p:last-child{font-size:14px;margin-top:25px}.yn-process-grid{grid-template-columns:1fr;gap:30px}.yn-process>h2{margin-bottom:35px}.yn-process-grid h3{margin-top:18px}.yn-contact-layout{grid-template-columns:1fr;gap:38px;padding-top:50px}.yn-contact-form{padding:25px 21px}.yn-contact-form h3{font-size:24px}.yn-contact-item a{font-size:16px}.yn-contact-item p{font-size:16px}}
@media(prefers-reduced-motion:no-preference){.yn-hero-copy>h1,.yn-hero-copy>.yn-intro{animation:yn-reveal .7s ease both}.yn-hero-copy>.yn-intro{animation-delay:.1s}@keyframes yn-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.yanb-site *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
