@font-face{font-family:Bodoni Moda;src:url('assets/fonts/BodoniModa.ttf') format('truetype');font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('assets/fonts/Inter.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--ivory:#faf8f4;--ink:#2a2a2a;--pink:#e6ced2;--pink-hover:#d8b6bf;--muted:#635e5b;--line:#ded8d0;--nav-h:100px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;color:var(--ink);background:var(--ivory);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3{font-family:'Bodoni Moda',Georgia,serif;font-weight:400;line-height:1.2;letter-spacing:0;margin:0 0 25px}h1{font-size:clamp(46px,4.5vw,72px)}h2{font-size:clamp(36px,3.1vw,49px)}h3{font-size:28px;line-height:1.3}p{margin:0 0 22px;color:var(--muted)}[hidden]{display:none!important}a,button{-webkit-tap-highlight-color:transparent}::selection{background:var(--pink);color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.container{width:min(1380px,calc(100% - 112px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:12px;letter-spacing:.11em;text-transform:uppercase;margin-bottom:26px;color:var(--muted)}.small{font-size:13px}.number{font-size:13px;color:var(--muted);display:block;margin-bottom:22px}.section-heading{max-width:800px;margin-bottom:52px}.section-heading p{max-width:720px}.actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:35px 0 25px}.button{display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:52px;padding:13px 22px;font-size:14px;line-height:1.6;border:1px solid transparent;transition:background .15s,color .15s}.primary{background:var(--pink);color:var(--ink)}.primary:hover{background:var(--pink-hover)}.secondary{border-color:#a89f97}.secondary:hover{background:#eee9e2}.text-link{display:inline-block;margin-top:14px;padding-block:6px;border-bottom:1px solid #aaa09c;font-size:14px}.text-link:hover{border-color:var(--ink)}.center{display:flex;justify-content:center;margin-top:42px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:15px}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(250,248,244,.97);border-bottom:1px solid var(--line)}.header-inner{max-width:1500px;margin:auto;min-height:100px;padding:5px 40px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{width:182px;flex-shrink:0}.brand img{width:182px;height:84px;object-fit:cover}#main-nav{display:flex;gap:23px;align-items:center}#main-nav a{font-size:12px;white-space:nowrap;padding:14px 0}#main-nav a:hover{text-decoration:underline;text-underline-offset:6px}.header-actions{display:flex;align-items:center;gap:22px}.languages{display:flex;gap:7px;align-items:center;font-size:12px}.languages button{border:0;background:none;min-width:32px;min-height:44px;padding:5px}.languages button[aria-pressed=true]{text-decoration:underline;text-underline-offset:6px;font-weight:600}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);min-width:44px;min-height:44px;font-size:22px}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center;padding-block:50px 85px}.hero-copy{padding:25px 0}.hero-copy>p:not(.eyebrow):not(.small){max-width:520px;font-size:17px}.hero-copy .small{margin-bottom:0}.hero-image{overflow:hidden}.hero-image img{width:100%;height:clamp(560px,50vw,740px);object-fit:cover;object-position:50% 35%}.intro{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.intro h2{max-width:500px}.intro>p{max-width:600px;margin:0}.benefits{background:#f2ebe8}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}.benefit-grid h3{font-size:27px}.benefit-grid p{font-size:15px}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.process-image img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:40% 50%}.steps{padding:0;list-style:none;margin:38px 0}.steps li{display:grid;grid-template-columns:30px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--line)}.steps h3{font-size:25px;margin-bottom:12px}.steps p{font-size:15px;margin-bottom:0}.steps .number{margin-top:6px}.services{background:#f5f0ed}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}.service-card{padding:35px;background:var(--ivory);grid-column:span 2;display:flex;flex-direction:column;align-items:flex-start}.service-card:nth-child(-n+2){grid-column:span 3}.service-card h3{font-size:29px}.service-card p{font-size:15px}.service-card .text-link{margin-top:auto}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 24px}.gallery figure{margin:0;min-width:0}.gallery img{width:100%;height:340px;object-fit:cover;object-position:center 35%;background:#eee9e2}.gallery figcaption{font-size:13px;color:var(--muted);padding-top:14px}.gallery .small-source img{max-width:240px;object-fit:contain;margin:auto}.about{background:#eee9e2}.about-image img{width:100%;aspect-ratio:1;object-fit:cover;object-position:60% 50%}.about .small{margin-top:28px;color:var(--ink)}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}blockquote{margin:0;padding:30px 0;border-top:1px solid var(--line)}blockquote p{font-size:18px;color:var(--ink)}blockquote footer{font-size:13px;color:var(--muted)}.contact{background:#f2e6e7}.contact-inner{max-width:850px;text-align:center}.contact-inner>.actions{justify-content:center}.contact-details{display:flex;justify-content:center;gap:12px 28px;flex-wrap:wrap;font-size:13px}.contact-details a:hover{text-decoration:underline}.site-footer{padding-block:40px;display:flex;gap:20px;justify-content:space-between}.site-footer p{font-size:12px;margin:0}.education{min-height:65vh;max-width:850px;padding-block:100px}.education h1{font-size:60px}.education p{font-size:18px}.education .small{font-size:14px;margin-bottom:35px}
@media(min-width:1600px){.hero{gap:100px}}
@media(max-width:1150px){:root{--nav-h:86px}.header-inner{min-height:86px;padding:2px 28px}.brand img{height:78px;width:165px}.brand{width:165px}.container{width:calc(100% - 64px)}.menu-toggle{display:block}#main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ivory);padding:25px 32px;border-bottom:1px solid var(--line);max-height:calc(100dvh - 86px);overflow:auto}#main-nav.is-open{display:flex;flex-direction:column;align-items:flex-start;gap:3px}#main-nav a{font-size:16px;width:100%}.hero{gap:35px}.hero h1{font-size:51px}.hero-image img{height:600px}.split{gap:45px}.intro{gap:50px}.benefit-grid{grid-template-columns:1fr 1fr;gap:28px 45px}.gallery{grid-template-columns:repeat(3,1fr)}.gallery img{height:330px}.service-card{padding:25px}}
@media(max-width:760px){html{scroll-padding-top:110px}.container{width:calc(100% - 40px)}.header-inner{padding-inline:20px;gap:10px}.header-actions{gap:12px}.brand,.brand img{width:145px}.brand img{height:76px}.section{padding-block:64px}h1,.hero h1{font-size:46px;line-height:1.16}h2{font-size:36px}h3{font-size:27px}.hero{grid-template-columns:1fr;padding-block:34px 60px;gap:25px}.hero-copy{padding:0}.hero .eyebrow{margin-bottom:22px}.hero-copy>p:not(.eyebrow):not(.small){font-size:16px}.hero-image img{height:auto;aspect-ratio:4/5;object-fit:cover}.hero .actions{gap:12px;margin-top:27px}.hero .button{font-size:13px;padding:12px 17px}.intro{grid-template-columns:1fr;gap:10px}.intro h2{margin-bottom:20px}.benefit-grid{grid-template-columns:1fr;gap:26px}.benefit-grid article{border-top:1px solid #d4c9c5;padding-top:24px}.benefit-grid h3{margin-bottom:15px}.benefit-grid .number{margin-bottom:12px}.benefit-grid p{margin-bottom:0}.section-heading{margin-bottom:32px}.split{grid-template-columns:1fr;gap:35px}.process-image img{aspect-ratio:1}.steps{margin-block:25px}.service-grid{grid-template-columns:1fr;gap:18px}.service-card,.service-card:nth-child(-n+2){grid-column:auto;padding:28px}.gallery{grid-template-columns:1fr 1fr;gap:24px 16px}.gallery img{height:260px}.gallery .small-source img{max-width:100%}.gallery figure:first-child{grid-column:span 2}.gallery figure:first-child img{height:420px;object-position:center 34%}.gallery figcaption{font-size:12px}.quote-grid{grid-template-columns:1fr;gap:0;margin-top:20px}blockquote{padding:25px 0}blockquote p{font-size:16px}.contact .actions{flex-direction:column}.contact .button{width:100%;max-width:340px}.contact-details{flex-direction:column;gap:10px}.site-footer{flex-direction:column;gap:8px;padding-block:30px}.education h1{font-size:44px}.education p{font-size:16px}}
@media(max-width:370px){.brand,.brand img{width:120px}.languages{gap:2px}.header-inner{padding-inline:15px}.header-actions{gap:6px}.hero h1{font-size:41px}.gallery img{height:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
h1,h2,h3{text-wrap:balance}
/* Títulos legibles: conservar trazos finos visibles a cualquier tamaño. */ h1,h2,h3{font-optical-sizing:none;font-variation-settings:"opsz" 11;font-weight:500;line-height:1.25}

/* Firma original recuperada como vectores, sin reinterpretar trazos. */ .brand{width:215px}.brand img{width:215px;height:84px;object-fit:contain}@media(max-width:1150px){.brand,.brand img{width:190px}}@media(max-width:760px){.brand,.brand img{width:170px}.brand img{height:76px}}@media(max-width:370px){.brand,.brand img{width:140px}}
.gallery img[src$="trabajo-estudio.jpg"]{object-position:center top}
.gallery img[src$="retrato-frontal.jpg"]{object-position:center top}
.gallery img[src*="preparacion"]{object-position:center top}
.about-image img{aspect-ratio:4/5;object-position:center top}

/* Versión comparativa B: solo este archivo combina la base de A y estas reglas. */
.header-inner{max-width:1600px;padding-inline:34px;gap:20px}.brand,.brand img{width:185px}#main-nav{gap:18px}#main-nav a{font-size:12px}.header-actions{gap:14px}.header-cta{background:var(--ink);color:var(--ivory);font-size:12px;padding:12px 17px;white-space:nowrap}.header-cta:hover{background:#48413f}.menu-cta,.mobile-availability{display:none}
.hero.container{width:100%;max-width:1800px;grid-template-columns:1fr 1.05fr;gap:0;padding:0;margin-inline:auto;align-items:stretch}.hero-copy{padding:70px 60px 70px max(55px,calc((100vw - 1328px)/2));align-self:center}.hero h1{font-size:clamp(45px,4.1vw,65px);line-height:1.22}.hero-copy>p:not(.eyebrow):not(.small){font-size:16px}.hero-image img{height:clamp(650px,calc(100svh - 100px),840px);object-position:center 33%}.hero-image{min-width:0}.hero-copy .actions{gap:12px}.hero .button{font-size:13px;padding-inline:20px}.intro{border-top:0;padding-top:95px}
.service-grid{gap:30px}.service-card,.service-card:nth-child(-n+2){padding:0;overflow:hidden;border:1px solid #e5ddd6}.service-photo{width:100%;height:255px;background:#eae4dc}.service-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.service-card:nth-child(-n+2) .service-photo{height:330px}.service-card:nth-child(2) .service-photo img{object-position:center 36%}.family-service img{object-fit:contain;width:auto;max-width:220px;margin:auto}.service-copy{padding:30px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.service-copy h3{font-size:29px}.service-copy p{font-size:15px;margin-bottom:25px}.service-copy .text-link{margin-top:auto}.service-card:nth-child(4) .service-photo img{object-position:center 25%}.service-card:nth-child(5) .service-photo img{object-position:center 30%}
.contact{background:#f2e6e7}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:center}.contact-photo img{width:100%;height:650px;object-fit:cover;object-position:center top}.contact-inner{max-width:none;text-align:left}.contact-inner .actions,.contact-details{justify-content:flex-start}.contact-inner h2{font-size:clamp(38px,3.3vw,50px)}.contact-inner>.small{margin-top:20px}.contact-details{gap:8px 22px}.map-link{font-size:13px;text-decoration:underline;text-underline-offset:4px;display:inline-block;margin-top:18px}
@media(min-width:1800px){.hero-copy{padding-left:110px}}
@media(max-width:1250px) and (min-width:1151px){.header-inner{padding-inline:24px;gap:13px}.brand,.brand img{width:160px}#main-nav{gap:13px}.header-cta{font-size:11px;padding-inline:12px}.header-actions{gap:7px}}
@media(max-width:1150px){.header-inner{padding-inline:28px}.brand,.brand img{width:185px}.header-cta{display:none}#main-nav .menu-cta{display:inline-flex;width:auto;font-size:14px;padding:12px 20px;margin-top:12px}.hero-copy{padding:50px 32px}.hero h1{font-size:48px}.hero-image img{height:720px}.contact-layout{gap:40px}.contact-photo img{height:600px}.contact-inner .actions{gap:12px}}
@media(max-width:760px){body{padding-bottom:80px}.header-inner{padding-inline:20px}.brand,.brand img{width:170px}.hero.container{display:flex;flex-direction:column;padding:0}.hero-copy{padding:36px 24px 30px;order:1}.hero-image{order:0}.hero-image img{height:clamp(330px,85vw,440px);aspect-ratio:auto;object-position:center 26%}.hero h1{font-size:43px;line-height:1.2}.hero .eyebrow{margin-bottom:20px}.hero .actions{margin-top:26px}.hero-copy>p:not(.eyebrow):not(.small){font-size:16px}.hero .small{margin-top:15px}.intro{padding-top:60px}.service-card,.service-card:nth-child(-n+2){padding:0}.service-photo,.service-card:nth-child(-n+2) .service-photo{height:290px}.service-copy{padding:27px}.service-copy h3{font-size:28px}.service-photo.family-service{height:260px}.family-service img{max-width:180px}.contact-layout{display:flex;flex-direction:column;gap:35px}.contact-photo{width:100%}.contact-photo img{height:380px;object-position:center top}.contact-inner{text-align:left}.contact-inner .actions{align-items:stretch}.contact .button{max-width:none}.contact-details{align-items:flex-start}.mobile-availability{display:block;position:fixed;bottom:0;left:0;right:0;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:rgba(250,248,244,.98);border-top:1px solid var(--line);z-index:25}.mobile-availability .button{width:100%;gap:15px;min-height:48px;font-size:14px}.site-footer{padding-bottom:35px}}
@media(max-width:370px){.brand,.brand img{width:140px}.header-inner{padding-inline:15px}.hero h1{font-size:39px}.hero-copy{padding-inline:20px}.hero-image img{height:320px}}
.service-card:nth-child(2) .service-photo img{object-position:center 10%}
.contact-details .map-link{flex-basis:100%;margin-top:8px}@media(max-width:760px){.hero-image img{object-position:center 10%}}
.service-card:nth-child(2) .service-photo img{object-position:center 20%}

/* Correcciones de revisión B: beneficios con fotos, grupo más cercano y contacto completo. */
.benefit-grid{gap:28px}.benefit-card{min-width:0}.benefit-photo{width:100%;height:225px;overflow:hidden;margin-bottom:26px;background:#e8e0d9}.benefit-photo img{width:100%;height:100%;object-fit:cover}.benefit-personal img{object-position:center 20%}.benefit-prep img{object-position:center top}.benefit-tools img{object-position:45% 100%;transform:scale(1.05);transform-origin:45% 100%}.benefit-care img{object-position:70% 25%}.benefit-grid .photo-caption{font-size:11px;line-height:1.5;margin-top:-18px;margin-bottom:18px}.benefit-grid h3{font-size:26px}
.service-photo.family-service{height:255px;overflow:hidden}.service-photo.family-service img{width:100%;max-width:none;height:100%;object-fit:cover;object-position:center 38%;margin:0}.service-card:nth-child(3) .service-photo{aspect-ratio:1.15;height:auto}
.contact-photo{width:100%;align-self:center}.contact-photo img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}.appointment-options{border-top:1px solid #d7c7c8;border-bottom:1px solid #d7c7c8;margin:25px 0;padding:17px 0}.appointment-options p{font-size:14px;color:var(--ink);margin:0}.appointment-options p+p{margin-top:8px}
@media(max-width:1150px){.benefit-photo{height:255px}.contact-photo img{height:auto}}
@media(max-width:760px){.benefit-grid{gap:36px}.benefit-grid article{border:0;padding-top:0}.benefit-photo{height:270px;margin-bottom:22px}.benefit-personal img{object-position:center 22%}.benefit-tools img{object-position:45% 100%}.service-photo.family-service{height:auto;aspect-ratio:1.15}.family-service img{max-width:none}.contact-photo img{height:auto;aspect-ratio:auto}.appointment-options p{font-size:14px}}
.service-card:nth-child(n+3) .service-photo{height:auto;aspect-ratio:1.15}

/* Fotos nuevas B: encuadres propios para cada contenido. */
.benefit-personal img{object-position:center 27%}
.benefit-prep img{object-position:36% center}
.benefit-tools img{object-position:52% center;transform:none}
.benefit-care img{object-position:center 29%}
.service-card:nth-child(4) .service-photo img{object-position:center 25%}
.service-card:nth-child(5) .service-photo img{object-position:center 25%}
.gallery figure:nth-child(5) img{object-position:center 25%}
.gallery figure:nth-child(8) img{object-position:center 15%}
@media(max-width:760px){.benefit-prep img{object-position:center}.benefit-tools img{object-position:center}.benefit-care img{object-position:center 25%}}
@media(max-width:760px){.gallery figure:last-child{grid-column:span 2}.gallery figure:last-child img{height:390px;object-position:center 20%}}

/* Igualar Damas y familia al formato visible de Social y quinceañeras. */
.service-card:nth-child(3) .service-photo,.service-card:nth-child(4) .service-photo{position:relative;height:auto;aspect-ratio:2/3;overflow:hidden}
.service-card:nth-child(3) .service-photo img,.service-card:nth-child(4) .service-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;object-fit:cover}

/* Selfie de grupo solo en portafolio: conservar los siete rostros. */
.gallery .portfolio-family img{max-width:none;object-fit:cover;object-position:center 20%;margin:0}

/* Imágenes definitivas: guía y kit completos dentro de su tarjeta. */
.benefit-prep .benefit-photo,.benefit-tools .benefit-photo{background:#f4eee7}.benefit-prep img,.benefit-tools img{object-fit:contain;object-position:center;transform:none}

/* Curated photographs, without service captions. */
.portrait-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:40px;align-items:start}
.portrait-gallery figure{margin:0;min-width:0;overflow:hidden;background:#eee9e3}
.portrait-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 45%}
.portrait-gallery .gallery-group img{object-fit:contain;background:#f1ede7}
.service-card:nth-child(5) .service-photo{position:relative;height:auto;aspect-ratio:2/3;overflow:hidden}
.service-card:nth-child(5) .service-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% center}
@media(max-width:760px){.portrait-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portrait-gallery .gallery-group{grid-column:1/-1;max-width:400px;width:100%;justify-self:center}.portrait-gallery .gallery-group img{aspect-ratio:auto}}

.portrait-gallery figure:nth-child(3) img{object-position:center top}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Minimal dark closing signature. */
.site-footer{background:#242424;color:#dedbd5;max-width:none;width:100%;margin:0;padding:0;border:0}.footer-inner{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;gap:40px;padding-top:48px;padding-bottom:48px}.footer-brand{display:block;width:180px}.footer-brand img{display:block;width:100%;height:auto;filter:brightness(0) invert(1);opacity:.9}.site-footer .footer-signoff{font-family:var(--font-body,Arial,sans-serif);font-size:17px;line-height:1.6;text-align:center;margin:0;color:#dedbd5}.site-footer .footer-copyright{font-size:12px;text-align:right;margin:0;color:#aaa69f}@media(max-width:760px){.footer-inner{grid-template-columns:1fr;justify-items:center;gap:24px;padding-top:40px;padding-bottom:100px}.site-footer .footer-copyright,.site-footer .footer-signoff{text-align:center}.footer-brand{width:165px}}


/* Third client review, keeping the existing compact presentation. */
.quote-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.quote-grid blockquote{min-width:0}.quote-grid footer{line-height:1.7}@media(max-width:760px){.quote-grid{grid-template-columns:1fr;gap:0}}

/* Availability links land on the contact choices below the fixed header. */
#contact-options{scroll-margin-top:130px}#contact-options:focus{outline:none}#contact-options:focus-visible{outline:2px solid currentColor;outline-offset:8px}@media(max-width:760px){#contact-options{scroll-margin-top:110px}}


#contact-options{flex-wrap:wrap;gap:12px}#contact-options .button{flex:1 1 140px;white-space:normal;text-align:center}@media(max-width:760px){#contact-options .button{flex:0 0 auto;width:100%}}

