@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-4.ttf) format('truetype');
}
/* Original warm ivory, blue accents and deep ink: shared wedding and family direction. */
:root{--ink:#253344;--muted:#5d6874;--paper:#fffefa;--line:#dedbd4;--accent:#334e70;--soft:#f3f0eb;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',Arial,sans-serif}
body{font-family:var(--sans);font-weight:400;font-size:17px;line-height:1.7;color:var(--ink);background:var(--paper)}
.area-family{--accent:#415c7b;--soft:#f3f0eb}
h1,h2,h3,.brand,.quote,.reviews blockquote,.review-grid strong,.price,.inline-price,.destination,.gallery figcaption,.card .number{font-family:var(--serif);font-weight:400}
h1{font-size:clamp(3.3rem,5.6vw,5.7rem);font-weight:500;line-height:1.02;letter-spacing:-.022em}
h2{font-size:clamp(2.3rem,3.6vw,3.8rem);line-height:1.08;font-weight:500;letter-spacing:-.015em}
h3{font-size:1.95rem;line-height:1.15;font-weight:500}
.hero-copy p[style],.pagelead p[style]{font-family:var(--serif)!important;font-size:1.8rem!important}
.eyebrow{font-family:var(--sans);font-size:.82rem;font-weight:500;letter-spacing:.16em;color:var(--muted)}
.button{font-family:var(--sans);font-size:.875rem;font-weight:400;letter-spacing:.075em;background:var(--accent);border-color:var(--accent);color:#fff;padding:14px 25px;transition:background .15s,color .15s}
.button:hover{background:#263c57;border-color:#263c57;color:white}
.button.outline{border-color:#9caaba;background:transparent;color:var(--ink)}
.button.outline:hover{border-color:var(--accent);background:#e9eff5;color:var(--ink)}
.contact,.area-family .contact{background:var(--soft);color:var(--ink);padding:65px 6%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.contact h2{font-size:clamp(2.5rem,4vw,4.2rem);margin:0 auto 20px;max-width:900px;line-height:1.08}
.contact p{color:var(--muted)}
.contact .eyebrow{color:var(--muted)!important;margin-bottom:22px}
.contact .button,.area-family .contact .button{background:var(--accent);border-color:var(--accent);color:white}
.contact .button:hover,.area-family .contact .button:hover{background:#263c57;border-color:#263c57;color:white}
.contact .actions{margin-top:27px}
.preview{background:#26364a}.preview a{border-color:#728196}.preview .selected{background:var(--paper);color:var(--ink)}.preview small{color:#dce3eb}
.area-family .divider{background:var(--soft)}.area-family .site-header{border-color:var(--line)}
.section-nav,.audience-switch a,.site-footer nav a,.textlink{font-size:.875rem}
.gallery figcaption{font-size:1.3rem}.quote{font-size:clamp(2rem,3.3vw,3.2rem)}
.reviews blockquote{font-size:1.9rem;line-height:1.35}.review-grid strong{font-size:1.65rem}
.price{font-size:3rem}.price-card h2{font-size:2.5rem}.price-card ul{font-size:1rem}.price del{font-family:var(--sans)}
.pricing-link h2{font-size:clamp(1.9rem,2.6vw,2.7rem)}
@media(max-width:600px){body{font-size:17px}h1{font-size:3.45rem}.pagelead h1{font-size:3.25rem}h2{font-size:2.55rem}.contact,.area-family .contact{padding:47px 7%}.contact h2{font-size:2.8rem}.contact .eyebrow{font-size:.78rem;letter-spacing:.12em}.section-nav{font-size:.875rem}.price-card h2{font-size:2.4rem}.gallery figcaption{font-size:1.18rem}.hero-copy p[style],.pagelead p[style]{font-size:1.65rem!important}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

/* Shared spacing and a compact mobile header. */
.image-brand img,.site-footer img{mix-blend-mode:multiply}
.site-header{min-height:136px;padding-top:6px;padding-bottom:12px}
.image-brand{flex-basis:116px}.image-brand img{width:116px;height:116px}
.section-nav{gap:18px}.header-right{gap:14px}
.mobile-menu{display:none}
.hero{align-items:center;padding-top:8px;padding-bottom:40px}
.hero-copy{padding:16px 0}.hero h1{font-size:clamp(2.8rem,5vw,4.8rem)}
.hero-photo{height:clamp(390px,65svh,590px)}
.hero-copy .eyebrow{margin-bottom:18px}.hero-copy h1{margin-bottom:20px}
.hero .actions{gap:14px 22px;margin-top:24px}
.section,.site-footer,.hero,.pagelead{min-width:0}
.contact-layout>*{min-width:0}
.whatsapp-choice{margin:22px auto 0!important}.whatsapp-link{font-size:.95rem}
.wedding-collection{max-width:1440px;padding:0 5% 64px;margin:auto;columns:3;column-gap:20px}
.wedding-collection>a{display:block;margin-bottom:20px;break-inside:avoid}
.wedding-collection img{width:100%;height:auto}
.page-wedding-gallery .pagelead{max-width:950px;padding-top:32px}
@media(min-width:761px) and (max-width:1050px){.section-nav{gap:10px 14px}.hero h1{font-size:3.2rem}.site-header{gap:20px}}
@media(max-width:760px){
 .preview{flex-wrap:nowrap;justify-content:space-between;padding:6px 5%;font-size:.65rem}.previewnav a{font-size:.65rem}.previewnav a:last-child{display:none}
 .site-header{flex-direction:row;align-items:center;gap:12px;padding:8px 5%;min-height:110px}
 .image-brand{flex:0 0 82px}.image-brand img{width:82px;height:82px}
 .header-right{align-items:flex-end;gap:8px;width:auto}
 .audience-switch{flex-wrap:wrap;justify-content:flex-end;border:0;gap:2px 8px}
 .audience-switch a{font-size:.7rem;letter-spacing:0;padding:3px 0;margin:0;white-space:nowrap}
 .section-nav{display:none}.mobile-menu{display:block;width:100%;position:relative;text-align:right}
 .mobile-menu summary{cursor:pointer;display:inline-block;font-size:.85rem;border:1px solid var(--line);padding:4px 15px}.mobile-menu summary::after{content:' +';padding-left:12px}.mobile-menu[open] summary::after{content:' −'}
 .mobile-menu nav{position:absolute;z-index:10;right:0;top:calc(100% + 8px);width:235px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 24px #25334412;padding:12px 20px;display:grid;text-align:left}
 .mobile-menu nav a{padding:8px 0;text-decoration:none;font-size:.95rem}
 .mobile-menu nav a.current{text-decoration:underline}
 .hero{grid-template-columns:1fr;gap:24px;padding:8px 6% 35px}.hero-copy{padding:0}
 .hero h1{font-size:clamp(2.6rem,9.8vw,3.6rem);margin-bottom:16px}.hero-copy p{max-width:540px;margin-bottom:16px}
 .hero-copy .eyebrow{font-size:.7rem;letter-spacing:.12em;margin-bottom:14px}
 .hero .actions{margin-top:20px;gap:14px}.hero-photo{height:auto;max-height:620px;aspect-ratio:4/5;object-fit:cover}
 .hero figcaption{font-size:.9rem;text-align:left}
 .pagelead{padding-top:30px;padding-bottom:30px}.pagelead h1{font-size:3rem}
 .wedding-collection{columns:2;column-gap:12px;padding:0 5% 40px}.wedding-collection>a{margin-bottom:12px}
}
@media(max-width:360px){.audience-switch{gap:2px 7px}.image-brand{flex-basis:70px}.image-brand img{width:70px;height:70px}.hero h1{font-size:2.6rem}}

/* Keep the original image sequence left to right, then top to bottom. */
.wedding-collection{display:flex;flex-wrap:wrap;gap:18px;columns:auto;align-items:flex-start}
.wedding-collection>a{flex-grow:var(--ratio);flex-basis:calc(var(--ratio)*250px);max-width:100%;margin:0;min-width:0}
.wedding-collection img{width:100%;height:auto}
@media(max-width:760px){.wedding-collection{gap:10px}.wedding-collection>a{flex-basis:calc(var(--ratio)*155px)}}

/* Practical steps and clear included / standalone guide choices. */
.journey-list{padding:0;margin:35px 0 0;list-style:none;max-width:950px}
.journey-list li{display:grid;grid-template-columns:55px 1fr;gap:24px;border-top:1px solid var(--line);padding:28px 0}
.journey-number{font:2rem/1.2 var(--serif);color:var(--accent)}
.journey-list h3{margin-bottom:12px}.journey-list p{max-width:760px;margin-bottom:0;color:var(--muted)}
.guide-options{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line)}
.guide-options>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.guide-options .button{margin-top:auto}
.page-experience .split:has(img[src*="guide-cover"]) img{object-fit:contain;background:var(--soft)}
@media(max-width:760px){.journey-list li{grid-template-columns:32px 1fr;gap:15px}.guide-options{grid-template-columns:1fr;gap:42px}}

/* Album 26: preserve each original portrait's full frame on non-gallery pages. */
img.album-photo[data-original-src*="album26/"]{height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;background:transparent}
.hero figure img.album-photo[data-original-src*="album26/"],.split img.album-photo[data-original-src*="album26/"]{width:100%;height:auto!important;max-height:760px!important}
.gallery img.album-photo[data-original-src*="album26/"]{height:auto!important;max-height:620px!important}

/* Album 26: preserve each original portrait's full frame on non-gallery pages. */
img.album-photo[data-original-src*="album26/"]{height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;background:transparent}
.hero figure img.album-photo[data-original-src*="album26/"],.split img.album-photo[data-original-src*="album26/"]{width:100%;height:auto!important;max-height:760px!important}
.gallery img.album-photo[data-original-src*="album26/"]{height:auto!important;max-height:620px!important}

/* Album 26: preserve each original portrait's full frame on non-gallery pages. */
img.album-photo[data-original-src*="album26/"]{height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;background:transparent}
.hero figure img.album-photo[data-original-src*="album26/"],.split img.album-photo[data-original-src*="album26/"]{width:100%;height:auto!important;max-height:760px!important}
.gallery img.album-photo[data-original-src*="album26/"]{height:auto!important;max-height:620px!important}

/* Client entry stays visible alongside the photography sections on mobile. */
.audience-switch a.client-signin{color:var(--accent);border-left:1px solid var(--line);margin-left:8px;padding-left:16px}
@media(max-width:760px){.audience-switch a.client-signin{border-left:0;margin-left:0;padding-left:0;text-decoration:underline;text-underline-offset:4px}}

/* Shared opening: top-aligned copy and complete photographs sized to the viewport. */
@media(min-width:761px){
 .hero{grid-template-columns:1.1fr .9fr;align-items:start}
 .hero .hero-copy{align-self:start;padding:12px 0 0}
 .hero figure{display:flex;flex-direction:column;align-items:center}
 .hero figure img,.hero figure img.album-photo[data-original-src*="album26/"]{width:auto;max-width:100%;height:auto!important;max-height:clamp(320px,calc(100svh - 270px),560px)!important}
 .hero figcaption{text-align:center}
 .hero figure img{object-fit:contain;aspect-ratio:auto}
 .hero:not(.home-hero) h1{font-size:clamp(2.6rem,min(5vw,8svh),4.8rem)}
}

/* Review the page without development banners. */
.preview,.preview-bar{display:none!important}

/* Larger inner-page openings with a clean first screen. */
@media(min-width:761px){
 .hero:not(.home-hero){padding-bottom:40px;min-height:calc(100svh - 136px)}
 .hero:not(.home-hero) figure img,.hero:not(.home-hero) figure img.album-photo[data-original-src*="album26/"]{max-height:clamp(350px,calc(100svh - 210px),640px)!important}
}
