/* Consistent editorial grid and portrait framing across all pages. */
:root{--gutter:clamp(24px,7vw,112px);--section-space:clamp(64px,7vw,108px)}
.section{padding:var(--section-space) var(--gutter)}
.section>*,.split>*{min-width:0}
h1,h2,h3{overflow-wrap:normal;text-wrap:balance}
p{overflow-wrap:break-word;text-wrap:pretty}
.section-heading{text-align:left}
.section-heading p{margin-bottom:0}
.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px)}
.art-gisa,.family-grid .person:first-child .art,.person .art-gisa{width:100%;max-width:none!important;aspect-ratio:4/5!important;border-radius:48% 48% 0 0!important;margin-left:0!important;margin-right:0!important;justify-self:stretch;max-height:none!important}
.art-gisa>img,.art-gisa:hover>img{width:100%;height:100%;object-fit:cover;object-position:50% 35%!important;transform:none!important}
.family-grid{align-items:start}
.person .art{width:100%;aspect-ratio:4/5!important;max-height:none;margin-bottom:24px}
.person .eyebrow{min-height:32px;margin-bottom:12px}
.person h3{min-height:2.2em;margin-bottom:16px}
.person p{margin-bottom:0}
.experience-grid{align-items:stretch}
.experience{display:flex;flex-direction:column;min-width:0}
.experience .art{width:100%;flex-shrink:0}
.experience-copy{display:flex;flex-direction:column;flex:1}
.experience-copy h3{min-height:2.2em}
.experience-copy p{flex:1}
.experience-copy .text-link{margin-top:auto}
.service-grid{align-items:stretch}
.service{display:flex;flex-direction:column;align-items:flex-start}
.service h3{min-height:2.2em}
.service p{flex:1}
.service .text-link{margin-top:auto}
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.gallery button:nth-child(3n+1){grid-column:auto}
.gallery img{display:block;height:auto;aspect-ratio:4/5;object-fit:cover;width:100%}
.art>img{display:block}
.inner-hero{padding-left:var(--gutter);padding-right:var(--gutter);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.inner-hero .art{width:100%;aspect-ratio:4/5;max-height:none}
.inner-title p{margin-bottom:0}
.family .section-heading,.instagram .section-heading{text-align:center}
.family .section-heading p,.instagram .section-heading p{margin-inline:auto}
.family-notes{align-items:start}
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.contact-grid .section-heading{margin-bottom:32px}
.footer-grid{grid-template-columns:1.1fr .95fr 1.1fr 1.2fr;gap:30px;align-items:start}
.footer-top{display:grid;grid-template-columns:1fr 1fr auto;align-items:center}
.footer-top p{max-width:none}
.button{min-height:46px;max-width:100%}
.menu-toggle{min-height:44px;min-width:44px;align-items:center;justify-content:center;flex-shrink:0}
.header-actions{gap:15px}.brand{flex-shrink:0}
.related .section-heading{margin-bottom:28px}
.small-section{padding-top:0}
.couple-detail>blockquote{text-align:center;max-width:760px;margin:40px auto 0}
@media(min-width:1500px){.section,.inner-hero{padding-left:max(var(--gutter),calc((100vw - 1300px)/2));padding-right:max(var(--gutter),calc((100vw - 1300px)/2))}}
@media(max-width:1000px){.desktop-nav{display:none}.footer-grid{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:1fr 1fr}.footer-top>.button{justify-self:start}.service-grid{grid-template-columns:1fr 1fr}.service:nth-child(2){border-right:0}.service:nth-child(3){padding-left:0}.service:nth-child(n+3){border-top:1px solid var(--line)}.family-grid{grid-template-columns:1fr 1fr;gap:40px 28px}.person h3{min-height:0}.person .eyebrow{min-height:26px}}
@media(max-width:700px){.split,.inner-hero,.contact-grid,.cafe-detail{grid-template-columns:1fr}.inner-hero{gap:35px}.inner-hero .art{aspect-ratio:4/3;max-height:380px}.inner-title h1{font-size:clamp(38px,8vw,52px)}.split{gap:35px}.story-art{padding-right:16px}.year-seal{right:0}.experience-grid{grid-template-columns:1fr}.experience,.experience:nth-child(n+4){grid-column:auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px}.experience .art,.experience:nth-child(n+4) .art{aspect-ratio:3/4;min-height:230px;height:100%}.experience-copy{padding:0;min-width:0}.experience-copy h3{min-height:0;font-size:29px}.experience-copy .eyebrow{font-size:7px}.experience-copy p{font-size:12px}.family-grid{gap:32px 20px}.person h3{font-size:25px;min-height:2.2em}.person .eyebrow{font-size:8px;min-height:32px}.person p{font-size:12px}.family-notes{grid-template-columns:1fr}.section-heading{margin-bottom:32px}.gallery{display:flex;gap:16px;scroll-snap-type:x mandatory;overflow-x:auto;padding-bottom:10px}.gallery button{flex:0 0 83%;scroll-snap-align:center}.gallery img{height:auto;aspect-ratio:4/5}.footer-top{grid-template-columns:1fr}.footer-grid{gap:30px 22px}.footer-grid .footer-link{font-size:11px}.map-caption{flex-direction:column;align-items:flex-start}.map-caption .button{width:100%}.gisa .art-gisa{aspect-ratio:4/5!important;max-height:none!important}.therapy-copy{padding:64px var(--gutter)}.moments .reverse>div:first-child{order:2}.couple{grid-template-columns:1fr}.couple h3{font-size:30px}}
@media(max-width:380px){header{padding-inline:18px;gap:12px}.brand-name{font-size:29px}.header-actions{gap:4px}.header-actions .button{padding-inline:10px;font-size:8px}.header-actions .button>span{display:none}.hero h1{font-size:39px}.family-grid{grid-template-columns:1fr}.person h3,.person .eyebrow{min-height:0}.person .art{max-width:280px}.experience,.experience:nth-child(n+4){gap:16px;grid-template-columns:1fr 1.1fr}.experience-copy h3{font-size:25px}.service h3{font-size:22px}.footer-grid{grid-template-columns:1fr}.final-cta h2{font-size:35px}}

.person .art.has-photo img{object-position:50% 35%;transform:none}.person .art.has-photo:hover img{transform:none}

.ui-icon{display:inline-block;vertical-align:middle;flex:0 0 18px;width:18px;height:18px}.button>span,.text-link>span{display:inline-flex;align-items:center;justify-content:center}.menu-link>.ui-icon{float:right;margin-top:12px}.hero-bottom>a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #ffffff55;border-radius:50%}.ribbon-divider{display:inline-block;width:18px;height:1px;background:var(--olive);opacity:.55;flex-shrink:0}.brand-ribbon{gap:12px}.close-lightbox,.prev-photo,.next-photo{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.close-lightbox .ui-icon{width:24px;height:24px}.gallery-open{overflow:hidden}.whatsapp-float>span:last-child:not(.float-text){display:none}.menu-panel .menu-link{min-height:44px}@media(max-width:600px){.ribbon-divider{width:10px}.brand-ribbon{gap:8px}.menu-link>.ui-icon{margin-top:9px}}
