/* Nosotras only: the authentic photographs and shared brand system are unchanged. */
.nosotras-page { color:#341b47; background:#fff8f4; }
.nosotras-inner { width:min(calc(100% - 64px),1220px); margin-inline:auto; }
.nosotras-section { padding-block:clamp(42px,5vw,70px); }
.nosotras-page main { background:#fff8f4; }
.nosotras-page main figure { margin:0; min-width:0; }
.nosotras-page main img { display:block; width:100%; height:auto; object-fit:contain; border-radius:12px; }
.nosotras-page main h2 { font-family:"TAN Harmoni",Georgia,serif; font-weight:400; font-size:clamp(1.65rem,2.8vw,2.75rem); line-height:1.25; letter-spacing:-.025em; color:#341b47; text-wrap:balance; }
.nosotras-page main p { color:#625266; font-size:1rem; line-height:1.65; margin:0 0 16px; }
.nosotras-page main p:last-child { margin-bottom:0; }
.nosotras-page .eyebrow { font-size:.875rem; color:#a33286; margin-bottom:24px; }
.nosotras-hero { padding-block:28px 34px; background:linear-gradient(110deg,#fff8f4 30%,#f5dfef 85%); }
.nosotras-hero-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px; align-items:center; }
.nosotras-hero-copy { container-type:inline-size; padding-block:18px; }
.nosotras-hero h1 { --title-fit:16cqw; margin-bottom:26px; }
.nosotras-page h1 .brand-script { position:relative; z-index:1; }
.nosotras-lead { max-width:470px; }
.nosotras-hero-photo { align-self:stretch; display:flex; flex-direction:column; justify-content:center; position:relative; padding-bottom:8px; }
.nosotras-page .nosotras-hero-photo img { border-radius:70px 12px 12px 12px; }
.nosotras-hero-photo::after { content:""; position:absolute; inset:14px -10px 5px 14px; border:1px solid #dcb5d7; border-radius:70px 12px 12px 12px; pointer-events:none; z-index:0; }
.nosotras-hero-photo img,.nosotras-hero-photo figcaption { position:relative; z-index:1; }
.nosotras-page figcaption { margin-top:9px; color:#746178; font-size:.875rem; line-height:1.4; }
.nosotras-history-link { margin-top:4px; }
.nosotras-page .nosotras-section-label { display:flex; align-items:center; gap:10px; margin:0 0 17px; font-family:"Archivo ExtraCondensed",Impact,sans-serif; font-weight:900; font-size:.9375rem; line-height:1.3; letter-spacing:.12em; color:#a33286; }
.nosotras-section-label > span { display:inline-flex; align-items:center; justify-content:center; flex:0 0 36px; width:36px; height:36px; border-radius:50%; color:#fff; background:#a33286; letter-spacing:0; font-size:1.05rem; }
.nosotras-history { scroll-margin-top:24px; }
.nosotras-history-layout { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:70px; align-items:center; }
.nosotras-history-heading h2 { margin:0 0 24px; max-width:560px; }
.nosotras-page .nosotras-history-opening { font-size:1.15rem; color:#341b47; margin-bottom:20px; }
.nosotras-patricia { color:#341b47; font-weight:700; }
.nosotras-story-photos { padding:12px 18px; }
.nosotras-memory-print { position:relative; padding:9px 9px 13px; background:#fff; box-shadow:0 6px 18px #341b4712; width:92%; }
.nosotras-memory-print:first-child { transform:rotate(-5deg); }
.nosotras-memory-print:nth-child(2) { transform:rotate(4deg); margin:-9px 0 0 8%; }
.nosotras-page .nosotras-memory-print img { border-radius:2px; }
.nosotras-memory-print figcaption { font-family:"Birthstone Bounce",cursive; font-weight:500; color:#c948a6; font-size:1.9rem; line-height:1.05; text-align:center; }
.nosotras-story-bridge { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); column-gap:70px; align-items:center; margin-top:34px; padding-block:28px; border-block:1px solid #e7d5e3; }
.nosotras-story-bridge blockquote { margin:0; font-family:"Birthstone Bounce",cursive; font-weight:500; font-size:clamp(2.8rem,5.5vw,4.5rem); line-height:.95; color:#c948a6; text-align:center; transform:rotate(-2deg); }
.nosotras-story-tail { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding-top:28px; }
.nosotras-story-tail p { margin-bottom:0; }
.nosotras-team { background:linear-gradient(110deg,#f1e3f4,#f9e9f0); }
.nosotras-section-heading { max-width:960px; margin:0 0 32px; }
.nosotras-section-heading h2 { margin:0 0 18px; }
.nosotras-section-heading p:not(.nosotras-section-label) { max-width:750px; }
.nosotras-people { display:grid; grid-template-columns:1fr 1fr 1fr; gap:42px; align-items:start; }
.nosotras-person { min-width:0; background:transparent; border:0; box-shadow:none; }
.nosotras-person:nth-child(2) { margin-top:38px; }
.nosotras-person:nth-child(3) { margin-top:14px; }
.nosotras-portrait { display:flex; justify-content:center; }
.nosotras-page .nosotras-portrait img { width:auto; height:auto; max-width:100%; max-height:390px; border-radius:50px 8px 8px 8px; }
.nosotras-page .nosotras-person:nth-child(2) .nosotras-portrait img { max-height:410px; border-radius:8px 50px 8px 8px; }
.nosotras-page .nosotras-person:nth-child(3) .nosotras-portrait img { max-height:340px; border-radius:8px; }
.nosotras-person-copy { padding-top:18px; text-align:center; }
.nosotras-person h3 { font-family:"TAN Harmoni",Georgia,serif; font-weight:400; font-size:clamp(1.3rem,2vw,1.85rem); line-height:1.3; margin:0; padding-bottom:12px; }
.nosotras-person h3::after { content:""; display:block; width:42px; height:1px; margin:14px auto 0; background:#c948a6; }
.nosotras-bio[hidden] { display:none; }
.nosotras-memories { background:#fff8f4; }
.nosotras-memories > .nosotras-inner { display:block; }
.nosotras-memories .nosotras-section-heading { margin:0 0 30px; }
.nosotras-gallery { display:grid; grid-template-columns:1.2fr 1fr; gap:24px; }
.nosotras-gallery-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; }
.nosotras-gallery-row--disney figure:nth-child(2) { padding-top:36px; }
.nosotras-gallery-row--travel { grid-template-columns:.75fr 1fr; width:100%; margin:0; }
.nosotras-gallery-row--travel figure:nth-child(2) { padding-top:22px; }
.nosotras-gallery figcaption { padding:0 2px; }
.nosotras-emotional { padding-top:44px; background:linear-gradient(180deg,#f1e6f1,#fff8f4); }
.nosotras-emotional > .nosotras-inner { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); align-items:center; column-gap:40px; }
.nosotras-emotional .nosotras-section-heading { grid-column:2; grid-row:1; margin:0; }
.nosotras-emotional-media { grid-column:1; grid-row:1; }
.nosotras-page .nosotras-shared-photo img { border-radius:12px 70px 12px 12px; }
.nosotras-page .nosotras-emotional-ending { font-family:"Birthstone Bounce",cursive; font-weight:500; font-size:clamp(2rem,3vw,2.7rem); line-height:1.1; color:#c948a6; margin-top:20px; }
.nosotras-contact { background:#341b47; padding-block:40px; }
.nosotras-contact > .nosotras-inner { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:0 38px; align-items:center; }
.nosotras-page .nosotras-contact h2 { grid-column:1; color:#fff; font-size:clamp(1.6rem,2.1vw,2.25rem); margin:0 0 16px; }
.nosotras-page .nosotras-contact p { grid-column:1; color:#eee2f2; margin:0; }
.nosotras-actions { grid-column:2; grid-row:1/span 2; display:flex; flex-direction:column; align-items:center; gap:12px; }
.nosotras-page .button-primary { background:#341b47; box-shadow:none; }
.nosotras-page .button-secondary { background:#fff; color:#341b47; }
.nosotras-contact .button { width:min(100%,340px); }
.nosotras-contact .button-primary { background:#fff; color:#341b47; }
.nosotras-contact .button-secondary { background:transparent; color:#fff; border-color:#bc9dcc; }
.nosotras-page .button:focus-visible { outline:3px solid #c948a6; outline-offset:4px; }
.nosotras-skip { position:absolute; left:16px; top:-100px; z-index:100; padding:12px 18px; background:#fff; color:#341b47; border-radius:8px; }
.nosotras-skip:focus { top:12px; }
@media(max-width:1020px) {
  .nosotras-inner { width:calc(100% - 40px); }
  .nosotras-hero-layout { grid-template-columns:1fr 1.15fr; gap:22px; }
  .nosotras-history-layout,.nosotras-story-bridge { column-gap:36px; }
  .nosotras-story-tail { gap:36px; }
  .nosotras-people { gap:24px; }
  .nosotras-page .nosotras-portrait img { max-height:330px; }
  .nosotras-page .nosotras-person:nth-child(2) .nosotras-portrait img { max-height:350px; }
  .nosotras-page .nosotras-person:nth-child(3) .nosotras-portrait img { max-height:300px; }
  .nosotras-memories > .nosotras-inner { grid-template-columns:1fr; gap:24px; }
  .nosotras-memories .nosotras-section-heading { margin:0 0 26px; }
  .nosotras-gallery { grid-template-columns:1fr 1fr; gap:24px; }
  .nosotras-gallery-row--travel { width:100%; margin:0; }
  .nosotras-emotional > .nosotras-inner { column-gap:26px; }
}
@media(max-width:700px) {
  .nosotras-inner { width:calc(100% - 32px); }
  .nosotras-section { padding-block:34px; }
  .nosotras-page main h2 { font-size:clamp(1.4rem,5.8vw,1.9rem); }
  .nosotras-hero { padding-block:24px 28px; }
  .nosotras-hero-layout { grid-template-columns:1fr; gap:0; }
  .nosotras-hero-copy { display:contents; }
  .nosotras-hero .eyebrow { grid-row:1; margin:0 0 24px; }
  .nosotras-hero h1 { grid-row:2; --title-fit:16cqw; margin:0 0 24px; }
  .nosotras-hero-photo { grid-row:3; margin:0!important; padding:0 0 16px; }
  .nosotras-page .nosotras-hero-photo img { border-radius:12px 36px 12px 12px; }
  .nosotras-hero-photo::after { inset:8px -4px 6px 8px; border-radius:12px 36px 12px 12px; }
  .nosotras-lead { grid-row:4; padding-top:4px; max-width:none; }
  .nosotras-history-link { grid-row:5; margin-top:18px; width:100%; }
  .nosotras-history-layout { grid-template-columns:1fr; gap:20px; }
  .nosotras-history-heading { grid-row:1; }
  .nosotras-story-photos { grid-row:2; padding:6px 10px; display:grid; grid-template-columns:1fr 1fr; align-items:start; }
  .nosotras-memory-print { width:100%; padding:5px 5px 8px; }
  .nosotras-memory-print:first-child { transform:rotate(-4deg); }
  .nosotras-memory-print:nth-child(2) { margin:25px 0 0 -6px; transform:rotate(4deg); }
  .nosotras-memory-print figcaption { font-size:1.3rem; }
  .nosotras-story-bridge { grid-template-columns:1fr; gap:22px; margin-top:24px; padding-block:22px; }
  .nosotras-story-bridge blockquote { font-size:3.15rem; }
  .nosotras-story-tail { grid-template-columns:1fr; gap:18px; padding-top:22px; }
  .nosotras-section-heading { margin-bottom:24px; }
  .nosotras-people { grid-template-columns:1fr; gap:26px; }
  .nosotras-person { display:grid; grid-template-columns:58% minmax(0,1fr); gap:18px; align-items:center; }
  .nosotras-person:nth-child(2),.nosotras-person:nth-child(3) { margin-top:0; }
  .nosotras-person:nth-child(2) { grid-template-columns:minmax(0,1fr) 58%; }
  .nosotras-person:nth-child(2) .nosotras-portrait { grid-column:2; grid-row:1; }
  .nosotras-person:nth-child(2) .nosotras-person-copy { grid-column:1; grid-row:1; }
  .nosotras-page .nosotras-person .nosotras-portrait img { width:100%; height:auto; max-height:none; border-radius:36px 8px 8px 8px; }
  .nosotras-person-copy { padding:0; text-align:left; }
  .nosotras-person h3 { font-size:clamp(1.15rem,4.5vw,1.55rem); overflow-wrap:normal; }
  .nosotras-person h3::after { margin-inline:0; }
  .nosotras-person:nth-child(2) h3 { text-align:right; }
  .nosotras-person:nth-child(2) h3::after { margin-left:auto; }
  .nosotras-memories > .nosotras-inner { gap:22px; }
  .nosotras-gallery { grid-template-columns:1fr; gap:22px; }
  .nosotras-gallery-row { gap:12px; }
  .nosotras-gallery-row--disney figure:nth-child(2) { padding-top:22px; }
  .nosotras-gallery-row--travel { grid-template-columns:.75fr 1fr; width:100%; }
  .nosotras-gallery-row--travel figure:nth-child(2) { padding-top:0; }
  .nosotras-page .nosotras-gallery figcaption { font-size:.875rem; }
  .nosotras-emotional > .nosotras-inner { grid-template-columns:1fr; row-gap:22px; }
  .nosotras-emotional .nosotras-section-heading { grid-column:1; grid-row:1; }
  .nosotras-emotional-media { grid-column:1; grid-row:2; }
  .nosotras-page .nosotras-shared-photo img { border-radius:12px 36px 12px 12px; }
  .nosotras-page .nosotras-emotional-ending { font-size:2.2rem; margin-top:17px; }
  .nosotras-contact > .nosotras-inner { grid-template-columns:1fr; text-align:center; }
  .nosotras-actions { grid-column:1; grid-row:auto; margin-top:22px; }
  .nosotras-contact .button { width:100%; }
  .nosotras-page .whatsapp-float { width:48px; height:48px; right:10px; bottom:calc(12px + env(safe-area-inset-bottom)); }
  .nosotras-page .whatsapp-float svg { width:26px; height:26px; }
}
@media(prefers-reduced-motion:reduce) { html:has(.nosotras-page) { scroll-behavior:auto; } .nosotras-page .button { transition:none; } }
