/* Photo-led editorial direction, scoped to the portfolio. */
.portfolio{--paper:#faf8f4;--ink:#222521;--muted:#74736d;--gold:#b58061;--line:#dedbd2}.portfolio .header{background:#222521;color:#faf8f4;border:0;height:92px}.portfolio .header .nav-cta{border-color:#ffffff80}.portfolio .brand{font-size:42px}.portfolio .header nav{font-size:12px;gap:35px}.portfolio .hero{position:relative;display:block;min-height:730px;height:calc(100svh - 92px);max-height:980px;background:#604432;overflow:hidden;color:white}.portfolio .hero-photo{position:absolute;inset:0;height:auto;order:initial}.portfolio .hero-photo>img{object-position:center 63%;width:100%;height:100%}.portfolio .hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#130e0bc2 0%,#21180c72 34%,transparent 73%),linear-gradient(0deg,#1a100a69,transparent 40%);pointer-events:none}.portfolio .hero-copy{position:relative;z-index:2;min-height:100%;width:53%;max-width:820px;padding:65px 56px 35px;justify-content:center;pointer-events:none}.portfolio .hero-copy>*{pointer-events:auto}.portfolio .hero h1{font-size:clamp(68px,7.2vw,116px);line-height:.98;letter-spacing:-.055em;margin-bottom:30px}.portfolio .hero h1 em{color:#f0d3b9}.portfolio .hero .eyebrow{font-size:10px;letter-spacing:.18em;margin-top:auto;color:#f3e9df}.portfolio .hero .intro{color:#f1e7dcd9;font-size:14px;max-width:330px;margin-bottom:25px}.portfolio .hero .button{background:#f6f1e9;color:#272521;border-color:#f6f1e9}.portfolio .hero .button:hover{background:white}.portfolio .hero-bottom{color:#eee0cc;letter-spacing:.08em;font-size:8px;padding-top:42px;margin-top:auto;flex-direction:column;gap:4px}.portfolio .photo-label{z-index:1;background:none;left:auto;text-align:right;display:block;padding:30px 40px;color:#fff2df;line-height:2}.portfolio .photo-label span{display:block}.portfolio .statement{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;text-align:left;max-width:1360px;padding:85px 0 65px}.portfolio .statement h2{font-size:clamp(45px,5.2vw,79px);line-height:1.02;margin:0}.portfolio .statement>div:last-child{padding-top:48px;max-width:350px}.portfolio .statement p:not(.eyebrow){font-size:14px;line-height:1.85;margin:0 0 18px}.portfolio .statement .text-link{margin-top:12px}.frame-row{display:flex;gap:16px;overflow-x:auto;padding:0 56px 65px;scroll-snap-type:x mandatory;scrollbar-width:thin;max-width:1600px;margin:auto}.frame{border:0;background:transparent;color:var(--ink);padding:0;text-align:left;flex:1;min-width:160px;scroll-snap-align:start}.frame img{height:210px;width:100%;object-fit:cover;filter:saturate(.94);transition:filter .25s}.frame:hover img{filter:saturate(1.1)}.frame:nth-child(2){padding-top:35px}.frame:nth-child(4){padding-top:20px}.frame>span{display:block;font-size:9px;letter-spacing:.08em;padding-top:12px}.portfolio .stories{padding-top:30px;padding-bottom:80px}.portfolio .section-head h2{font-size:clamp(40px,4.5vw,68px)}.portfolio .filters{margin-top:30px;margin-bottom:45px;gap:30px}.portfolio .album-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:70px 32px}.portfolio .album{grid-column:span 6;align-self:start;overflow:hidden}.portfolio .album:nth-child(even){padding-top:0}.portfolio .album:nth-child(5n+1){grid-column:span 7}.portfolio .album:nth-child(5n+2){grid-column:span 5;margin-top:110px}.portfolio .album:nth-child(5n+3){grid-column:span 5}.portfolio .album:nth-child(5n+4){grid-column:span 7;margin-top:100px}.portfolio .album:nth-child(5n){grid-column:span 12;display:grid;grid-template-columns:1.6fr 1fr;align-items:center;background:#ece7dc;padding:0;margin-top:0}.portfolio .album>img{height:600px;object-fit:cover;width:100%;transition:transform .6s,filter .3s;object-position:center 52%}.portfolio .album:nth-child(5n+2)>img{height:450px}.portfolio .album:nth-child(5n+3)>img{height:480px}.portfolio .album:nth-child(5n)>img{height:520px}.portfolio .album:nth-child(5n) .album-caption{padding:40px}.portfolio .album h3{font-size:clamp(31px,3vw,43px);letter-spacing:-.04em;line-height:1.1}.portfolio .album .album-caption{padding-top:22px}.portfolio .album p{font-size:12px;line-height:1.7;max-width:350px;margin-bottom:18px}.portfolio .album:hover>img{transform:scale(1.015);filter:brightness(.98)}.portfolio .album-caption .eyebrow{font-size:9px;color:var(--gold);margin-bottom:10px}.chapter{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;background:#151515;color:#f4f0e8;min-height:620px}.chapter-copy{padding:70px 65px 70px max(56px,calc((100vw - 1360px)/2));max-width:750px}.chapter h2{font-size:clamp(50px,5.3vw,82px);line-height:1.03}.chapter em{color:#c2b4a3}.chapter p:not(.eyebrow){font-size:14px;color:#bbb8b1;max-width:325px;line-height:1.9}.chapter .eyebrow{color:#c3b6a5;font-size:10px}.chapter-link{border:0;border-bottom:1px solid #fff7;background:transparent;padding:12px 0;color:#f4f0e8;font-size:12px;margin-top:18px}.chapter-image{height:680px;overflow:hidden;background:#111}.chapter-image img{width:100%;height:100%;object-fit:contain}.portfolio .experience{background:#ece7dc;color:var(--ink);padding:80px 0}.portfolio .experience .eyebrow{color:#857963}.portfolio .experience em{color:var(--gold)}.portfolio .steps{border-color:#c9c4b6;gap:70px;margin-top:40px;padding-top:30px}.portfolio .steps p{color:#777267}.portfolio .steps article>span{color:#94704f}.portfolio .sessions{padding-top:85px;padding-bottom:85px}.portfolio .package{background:#fffdf9;border-color:#d4cfc3}.portfolio .package.featured{background:#252923;color:#f6f1e9;border-color:#252923}.portfolio .package.featured .package-label,.portfolio .package.featured .package-desc,.portfolio .package.featured .price span{color:#bebbad}.portfolio .package.featured .package-meta{border-color:#ffffff30}.portfolio .package.featured .button{background:#e7d5bd;color:#252923;border-color:#e7d5bd}.portfolio .package h3{font-size:39px}.portfolio .package .price{margin-top:10px}.portfolio .about{gap:80px;padding-bottom:85px}.portfolio .about-image img{height:650px}.portfolio .about h2{font-size:64px}.portfolio .faq{padding:65px 0 85px}.portfolio .contact{background:#222521;padding:85px 0}.portfolio .contact h2{font-size:clamp(45px,4.7vw,73px);line-height:1.04}.portfolio .contact em{color:#d7b999}.portfolio .contact-grid{gap:85px}.portfolio .footer{padding:40px 0}.portfolio .footer a[href*="solicitudes"]{font-weight:700;text-decoration:underline}.portfolio #lightbox figcaption{max-width:850px;text-align:center;line-height:1.5;font-size:11px}.portfolio #lightbox img{max-height:calc(100% - 65px)}
@media(min-width:1650px){.portfolio .hero-copy{width:49%;padding-left:calc((100vw - 1440px)/2)}.portfolio .hero h1{font-size:124px}.portfolio .hero-photo>img{object-position:center 61%}}
@media(max-width:1000px){.portfolio .hero-copy{width:60%;padding-left:30px}.portfolio .hero h1{font-size:78px}.portfolio .statement{gap:45px}.frame-row{padding-left:30px;padding-right:30px}.frame img{height:180px}.portfolio .album-grid{gap:50px 25px}.portfolio .album>img{height:500px}.portfolio .album:nth-child(5n+2)>img{height:380px}.portfolio .album:nth-child(5n+3)>img{height:400px}.portfolio .album:nth-child(5n)>img{height:450px}.chapter-copy{padding:50px 30px}.chapter-image{height:580px}.portfolio .about{gap:45px}.portfolio .about h2{font-size:50px}}
@media(max-width:700px){.portfolio .header{height:80px}.portfolio .header .brand{font-size:33px}.portfolio .menu-toggle{color:#faf8f4}.portfolio .header nav{background:#222521;border-color:#ffffff30;padding:25px;gap:20px}.portfolio .hero{height:calc(100svh - 80px);min-height:640px;max-height:880px}.portfolio .hero-copy{width:100%;position:absolute;bottom:0;min-height:0;padding:25px 23px 35px;max-width:450px}.portfolio .hero h1{font-size:58px;line-height:.99;margin-bottom:20px}.portfolio .hero .eyebrow{font-size:8px;margin:0 0 18px;letter-spacing:.13em}.portfolio .hero .intro,.portfolio .hero-bottom,.portfolio .photo-label{display:none}.portfolio .hero-photo{height:100%;order:initial}.portfolio .hero-photo>img{object-position:center 53%}.portfolio .hero-photo:after{background:linear-gradient(0deg,#170d09dc 0%,#21150d6c 33%,transparent 65%)}.portfolio .hero .button{padding:13px 18px;font-size:11px;background:transparent;color:#fff4e7;border-color:#ffffff99}.portfolio .statement{display:block;padding:55px 0 35px}.portfolio .statement h2{font-size:53px}.portfolio .statement>div:last-child{padding-top:25px;max-width:330px}.portfolio .statement p:not(.eyebrow){font-size:13px}.frame-row{padding:0 20px 40px;gap:12px;max-width:100%;overscroll-behavior-x:contain}.frame{min-width:145px;max-width:145px}.frame img{height:190px}.frame:nth-child(2){padding-top:20px}.frame:nth-child(4){padding-top:12px}.frame span{font-size:8px;line-height:1.6}.portfolio .stories{padding-top:20px;padding-bottom:50px}.portfolio .section-head h2{font-size:44px}.portfolio .filters{gap:22px;margin-top:20px;margin-bottom:30px}.portfolio .album-grid{grid-template-columns:1fr;gap:40px}.portfolio .album,.portfolio .album:nth-child(n){grid-column:auto;margin:0;padding:0;display:block;background:transparent}.portfolio .album>img,.portfolio .album:nth-child(n)>img{height:auto;aspect-ratio:4/5;max-height:none}.portfolio .album.landscape>img,.portfolio .album.landscape:nth-child(n)>img{aspect-ratio:4/3}.portfolio .album:nth-child(n) .album-caption{padding:20px 0 0}.portfolio .album h3{font-size:33px}.portfolio .album p{max-width:none;font-size:12px}.chapter{display:flex;flex-direction:column-reverse;min-height:0}.chapter-image{height:auto;width:100%;max-height:none}.chapter-image img{height:auto;max-height:640px;object-fit:contain}.chapter-copy{padding:40px 23px 50px;width:100%}.chapter h2{font-size:58px}.chapter p:not(.eyebrow){font-size:13px;max-width:none}.portfolio .experience{padding:55px 0}.portfolio .steps{gap:25px;margin-top:30px;padding-top:30px}.portfolio .steps p{font-size:12px}.portfolio .sessions{padding:55px 0}.portfolio .about{gap:35px;padding-bottom:55px}.portfolio .about-image img{height:480px}.portfolio .about h2{font-size:48px}.portfolio .faq{padding:50px 0}.portfolio .contact{padding:55px 0}.portfolio .contact-grid{gap:35px}.portfolio .contact h2{font-size:48px}.portfolio .footer{padding:35px 0}.portfolio #lightbox{padding:30px 12px}.portfolio #lightbox img{max-height:calc(100% - 95px)}}
.portfolio .album-id-otono>img{object-position:center 63%}.portfolio .album-id-madres>img{object-position:center 25%}.portfolio .album-id-urbano>img,.portfolio .album-id-maternidad>img{object-position:center top}.portfolio .album-id-quince>img{object-position:center 20%}.frame:nth-child(5) img{object-position:center top}

.photo-grid.photo-story{columns:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;max-width:1000px;margin:auto;align-items:start}.photo-story .photo-tile{margin:0}.photo-story .story-wide{grid-column:1/-1}.photo-story .photo-tile>span{font-family:Georgia,serif;font-size:23px;padding-top:16px}.story-description{font-size:12px;color:var(--muted);margin:4px 0 12px;max-width:540px}.portfolio .album-id-boda>img{object-position:center 35%}@media(max-width:700px){.photo-grid.photo-story{grid-template-columns:1fr;gap:22px}.photo-story .story-wide{grid-column:auto}}

.photo-grid.photo-priority{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}@media(max-width:700px){.photo-grid.photo-priority{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

.other-work{padding-top:90px;padding-bottom:100px}.other-work-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:start}.restaurant-work>img{width:100%;aspect-ratio:3/2;object-fit:cover}.restaurant-work>div{padding-top:25px}.other-work h3{font-size:34px;margin-bottom:20px}.other-work .eyebrow{margin-bottom:16px}.other-work article p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:540px}.other-work button.text-link{background:none;border:0;border-bottom:1px solid currentColor;color:inherit;padding:0 0 6px}.model-work{padding:35px;border:1px solid var(--line);background:#eeeee3}.model-work .text-link{margin-top:15px}@media(max-width:700px){.other-work{padding-top:60px;padding-bottom:65px}.other-work-grid{grid-template-columns:1fr;gap:30px}.model-work{padding:25px}.other-work h3{font-size:30px}}

.couple-work{grid-column:1/-1;max-width:none}.couple-work p:not(.eyebrow){max-width:800px!important}.service-links{padding-top:45px;padding-bottom:40px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 30px}.service-links>.eyebrow{width:100%;margin-bottom:6px}.service-links a{font-size:12px;text-decoration:underline;text-underline-offset:4px}

.work-actions{display:flex;gap:18px 28px;flex-wrap:wrap;align-items:center}

.legal figure{margin:35px 0}.legal figure img{width:100%;height:auto}.legal figcaption{font-size:13px;padding-top:12px}.legal .album-grid{margin-top:30px;margin-bottom:35px}.legal .album>img{height:auto;aspect-ratio:4/5}.legal .album-caption{padding-top:18px}.legal .album:nth-child(even){padding-top:0}

@media(max-width:700px){.seo-page .header nav{display:flex;position:static;flex-direction:row;gap:14px;padding:0;border:0;font-size:10px;background:none}.seo-page .legal h1{font-size:40px}}

.other-work-page .other-work{padding-top:70px}.other-work-page .other-work h1{font-size:clamp(44px,5vw,72px);margin-bottom:0}

.other-work-page article h2{font-size:34px;margin-bottom:20px}@media(min-width:701px) and (max-width:1050px){.portfolio .header nav{gap:16px;font-size:11px}.portfolio .header{padding-left:28px;padding-right:28px}}@media(max-width:700px){.other-work-page article h2{font-size:30px}}

/* Preserve the complete photograph at every card size and breakpoint. */
.portfolio .album:nth-child(n)>img,
.portfolio .album.landscape:nth-child(n)>img,
.legal .album:nth-child(n)>img,
.portfolio .about-image>img,
.restaurant-work>img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  transform:none;
}
.frame-row .frame>img{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}

/* Keep gallery controls visible while visitors scroll through photographs. */
#gallery{padding:0;scroll-padding-top:100px}
#gallery .gallery-bar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:18px 25px;background:var(--paper);border-bottom:1px solid var(--line);font-size:28px}
#gallery-title{flex:1;min-width:150px}
.gallery-actions{display:flex;gap:10px;flex-shrink:0}
#gallery .gallery-actions button{min-height:44px;white-space:nowrap;padding:10px 14px;font-size:12px}
.gallery-share{margin:20px 25px 0;max-width:650px}
.gallery-share label{display:block;font-size:11px;color:var(--muted)}
.gallery-share input{width:100%;padding:10px;border:1px solid var(--line);background:var(--white);font-size:12px;color:var(--ink)}
#gallery-share-status{font-size:12px;margin:6px 0;min-height:20px}
#gallery-description{margin:12px 25px 25px}
#gallery #photo-grid{padding:0 25px 25px}
.portfolio #lightbox{box-sizing:border-box;padding:80px 60px 30px;width:96vw;height:94svh;max-height:94svh;overflow:hidden}
.portfolio #lightbox #close-lightbox{position:absolute;top:14px;right:14px;width:auto;min-height:44px;height:auto;padding:10px 16px;background:#fff;color:#111;border:1px solid #777;font-size:14px;z-index:10}
@media(max-width:700px){#gallery .gallery-bar{padding:12px 16px;font-size:23px}#gallery-title{flex-basis:100%}.gallery-actions{margin-left:auto}#gallery #photo-grid{padding:0 16px 20px}.gallery-share{margin:16px 16px 0}#gallery-description{margin-left:16px;margin-right:16px}.portfolio #lightbox{padding:76px 12px 25px}.portfolio #lightbox #close-lightbox{top:12px;right:12px}}

.occasion{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:80px;padding-bottom:85px}
.occasion-photo{max-width:480px}
.occasion-photo img{display:block;width:100%;height:auto;object-fit:contain}
.occasion-copy{max-width:560px}
.occasion-copy h2{font-size:clamp(38px,4vw,62px)}
.occasion-copy p:not(.eyebrow){max-width:420px;font-size:14px;line-height:1.9;color:var(--muted)}
@media(max-width:700px){.occasion{grid-template-columns:1fr;gap:30px;padding-bottom:55px}.occasion-photo{width:100%;max-width:none}.occasion-copy h2{font-size:44px}}

#gallery #share-gallery{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:24px;background:var(--ink);border-color:var(--ink);color:var(--paper);padding:10px 18px}
#gallery #share-gallery:hover{background:#405145}
#gallery-share-status{font-size:12px;margin:0 25px;min-height:0;color:var(--muted)}
#gallery-share-status:not(:empty){padding-top:12px}
