.section-shell{margin:0 40px;padding:80px 0;border-top:1px solid var(--line)}.section-title{font-size:clamp(32px,4vw,48px);line-height:1.2;margin-bottom:38px}.meet-layout{display:grid;grid-template-columns:.9fr 1fr;gap:70px;align-items:start}.photo-slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#ecebe6;aspect-ratio:4/3;overflow:hidden;color:#6b6961;text-align:center;padding:25px}.photo-label{font-family:Georgia,serif;font-size:23px;max-width:85%;line-height:1.5}html[lang="zh-CN"] .photo-label{font-family:'LXGW WenKai',serif}.photo-caption{font-size:12px;letter-spacing:.08em}.photo-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.photo-slot.has-photo>span{display:none}.photo-slot.portrait{aspect-ratio:4/5}.meet-copy p{font-size:16px;line-height:1.95;margin-bottom:23px}.meet-copy .personal-line{font-family:'Playfair Display',Georgia,serif;font-size:24px;line-height:1.65;margin-top:30px}html[lang="zh-CN"] .meet-copy .personal-line{font-family:'LXGW WenKai',serif}.tab-list{display:flex;border-bottom:1px solid var(--line);margin-top:22px;gap:4px}.tab-list button{flex:1;min-height:48px;border:0;border-bottom:2px solid transparent;background:transparent;padding:10px 3px;color:var(--muted);font-size:14px}.tab-list button[aria-selected="true"]{border-color:var(--ink);color:var(--ink)}#meet-panel{min-height:110px;padding-top:20px}#meet-panel p{font-size:15px;line-height:1.8;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 36px}.service-card{display:block;min-width:0;text-align:left;background:transparent;border:0;padding:0 0 25px;border-bottom:1px solid var(--line);color:var(--ink)}.service-card.featured{padding:18px;margin:-18px -18px 0;background:#efeee8;border:1px solid var(--line)}.service-card.secondary .photo-slot{aspect-ratio:2/1;background:#f0efea}.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.card-top .number{margin:0}.feature-label{font-size:12px;color:var(--muted);letter-spacing:.05em}.service-card h3{font-size:28px;font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.35;margin:15px 0}.service-card p{font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 20px}html[lang="zh-CN"] h3{font-family:'LXGW WenKai',serif;font-weight:400}.text-link{display:flex;align-items:center;justify-content:space-between;font-size:14px}.scope-note{font-size:14px;line-height:1.8;color:var(--muted);max-width:750px;margin:30px 0 0}.section-heading{display:flex;gap:40px;align-items:end;justify-content:space-between}.section-heading>p{max-width:310px;color:var(--muted);font-size:15px;margin-bottom:38px}.contact.section-shell{padding:75px 0}.contact form{max-width:740px;margin:40px auto 0;text-align:left}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid label{font-size:14px;display:flex;flex-direction:column;gap:9px}.form-grid .wide{grid-column:1/-1}input,select,textarea{font:inherit;font-size:16px;width:100%;min-width:0;min-height:48px;border:1px solid #bab9b1;border-radius:2px;padding:12px;background:#fffefa;color:var(--ink)}textarea{resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.form-hint,.form-notice{font-size:13px;line-height:1.75;color:var(--muted);margin:18px 0}.form-notice{padding:14px 18px;background:#efeee8}.direct-email{font-size:14px;margin-top:32px;overflow-wrap:anywhere}.direct-email a{text-decoration:underline;text-underline-offset:4px}#form-status{font-size:14px;line-height:1.8;margin:18px 0}#enquiry-ready .button{margin:8px 8px 8px 0}.copy-button{background:none;border:0;text-decoration:underline;padding:12px;font-size:14px;color:var(--ink)}[hidden]{display:none!important}.detail-dialog{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:none;width:min(850px,95vw);max-width:none;border:0;background:var(--paper);color:var(--ink);padding:0;overflow:auto;overscroll-behavior:contain}.detail-dialog::backdrop{background:rgb(0 0 0/.45)}.detail-dialog[open]{animation:drawer-in .28s ease-out}.detail-dialog.story-view{width:100vw}.dialog-top{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--paper);border-bottom:1px solid var(--line);padding:15px 35px;font-size:12px;letter-spacing:.08em}.dialog-top button{background:none;border:0;padding:10px;color:var(--ink);min-height:44px;font-size:14px}#detail-content{max-width:1000px;margin:auto;padding:40px 45px 70px}#detail-title{font-size:clamp(30px,4vw,48px);line-height:1.25;margin-bottom:25px}.detail-intro{font-size:17px;line-height:1.9;margin-bottom:32px}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0}.detail-gallery .photo-slot:first-child{grid-column:1/-1;aspect-ratio:16/10}.detail-role{padding:25px 0;border-block:1px solid var(--line);margin:30px 0}.detail-role p,.detail-role li{font-size:16px;line-height:1.9}.detail-role ul{padding-left:22px}.detail-note{font-size:14px;line-height:1.8;color:var(--muted)}.story-navigation{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:25px;margin-top:35px}.story-navigation button{background:none;border:0;color:var(--ink);padding:12px 0;font-size:14px;min-height:44px}body.modal-open{overflow:hidden}@keyframes drawer-in{from{opacity:0;transform:translateX(35px)}to{opacity:1;transform:translateX(0)}}@media(hover:hover){.service-card:hover img{transform:scale(1.03)}.story-card .story-hint{opacity:.55;transition:opacity .25s}.story-card:hover .story-hint,.story-card:focus-visible .story-hint{opacity:1}.service-card:hover .text-link{text-decoration:underline;text-underline-offset:4px}}@media(max-width:760px){.section-shell{margin:0 24px;padding:52px 0}.section-title{font-size:34px;margin-bottom:27px}.meet-layout{grid-template-columns:1fr;gap:25px}.meet-visual{max-width:520px;width:100%}.meet-copy p{font-size:16px}.photo-slot.portrait{aspect-ratio:4/3}.meet-copy .personal-line{font-size:23px}.service-grid{grid-template-columns:1fr;gap:32px}.service-card.featured{margin:0;padding:16px}.service-card h3{font-size:26px}.service-card.secondary .photo-slot{aspect-ratio:2/1}.section-heading{display:block}.section-heading>p{max-width:none;margin-bottom:30px}.form-grid{grid-template-columns:1fr;gap:18px}.contact.section-shell{padding:50px 0}.detail-dialog{width:100vw}.dialog-top{padding:12px 20px}#detail-content{padding:30px 24px 50px}.detail-gallery{gap:12px}.detail-gallery .photo-slot{padding:12px}.detail-gallery .photo-label{font-size:18px}header .nav-link{display:none}}@media(prefers-reduced-motion:reduce){.detail-dialog[open]{animation:none}.photo-slot img,.story-hint{transition:none}}

/* Small, wedding-led photographic edit; no portfolio gallery or navigation. */
.moments-edited{padding:52px 0}.moments-edited .section-title{margin-bottom:30px;font-family:'Playfair Display',Georgia,serif!important;font-weight:500}.wedding-selection>h3{font-family:'Playfair Display',Georgia,serif;font-size:24px;font-weight:500;margin:0 0 22px}.wedding-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px 38px;max-width:900px}.selected-photo{margin:0;min-width:0}.wedding-photos .lead-photo{grid-column:1/-1;width:82%}.wedding-photos>.selected-photo:not(.lead-photo){width:100%}.wedding-photos>.selected-photo:last-child{margin-top:35px}.wedding-photos .photo-slot{aspect-ratio:16/9}.selected-photo .photo-label{font-size:20px}.corporate-selection{margin-top:45px;padding-top:30px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 300px;gap:55px;align-items:center;max-width:900px}.corporate-intro h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:20px;margin:0 0 12px}.corporate-intro p{font-size:14px;line-height:1.8;color:var(--muted);max-width:340px;margin:0}.corporate-selection .photo-slot{aspect-ratio:2/1;background:#f0efeb}.corporate-selection .photo-label{font-size:17px}.corporate-selection .photo-caption{font-size:12px}html[lang="zh-CN"] .wedding-selection>h3,html[lang="zh-CN"] .corporate-intro h3{font-family:'LXGW WenKai',serif;font-weight:400}@media(hover:hover){.selected-photo:hover img{transform:scale(1.02)}}@media(max-width:760px){.moments-edited{padding:38px 0}.moments-edited .section-title{font-size:32px;margin-bottom:22px}.wedding-selection>h3{font-size:23px;margin-bottom:20px}.wedding-photos{display:block}.wedding-photos .lead-photo{width:100%}.wedding-photos>.selected-photo:not(.lead-photo){width:100%;margin-top:22px}.wedding-photos .photo-slot{aspect-ratio:1.9/1}.selected-photo .photo-label{font-size:20px}.corporate-selection{display:block;margin-top:32px;padding-top:24px}.corporate-intro p{max-width:320px}.corporate-selection .selected-photo{width:68%;max-width:260px;margin-top:20px}.corporate-selection .photo-label{font-size:16px}.corporate-selection .photo-slot{padding:15px;gap:9px}.corporate-selection .photo-caption{font-size:11px}}

@media(max-width:760px){.wedding-photos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 18px}.wedding-photos .lead-photo{grid-column:1/-1}.wedding-photos>.selected-photo:not(.lead-photo){margin-top:0}.wedding-photos>.selected-photo:last-child{margin-top:20px}.wedding-photos>.selected-photo:not(.lead-photo) .photo-slot{aspect-ratio:3/4;padding:14px}.wedding-photos>.selected-photo:not(.lead-photo) .photo-label{font-size:16px}.wedding-photos .lead-photo .photo-slot{aspect-ratio:16/9}}

.package-price{font-family:'Noto Sans SC',sans-serif;font-size:24px;font-weight:500;margin:-8px 0 28px}.package-inclusions{border-top:1px solid var(--line);padding-top:25px}.package-inclusions h3,.package-availability h3{font-size:23px;line-height:1.4;margin:0 0 18px}.package-inclusions ul,.package-availability ul{padding-left:23px;margin:0}.package-inclusions li,.package-availability li{font-size:16px;line-height:1.85;margin-bottom:9px}.package-note,.package-availability p{font-size:16px;line-height:1.85;margin:22px 0}.package-availability{border-top:1px solid var(--line);padding-top:25px;margin-top:30px;margin-bottom:30px}#detail-title{margin-bottom:20px}@media(max-width:600px){.package-price{font-size:22px}.package-inclusions h3,.package-availability h3{font-size:22px}.package-inclusions li,.package-availability li{line-height:1.8}}

/* Keep supplied landscape portraits complete in all three About tabs. */
.meet-visual .photo-slot.portrait{aspect-ratio:3/2;background:transparent;padding:0}
.meet-visual .photo-slot img{object-fit:contain}

/* Preserve service-card framing in the detail drawer. */
.detail-gallery [data-media^="service-"]:first-child{aspect-ratio:4/3}
.detail-gallery [data-media="service-3"]:first-child{aspect-ratio:2/1}
/* Social contact: original QR images, unaltered and fully visible. */
.wechat-cta{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:11px 17px;min-height:44px;font:inherit;font-size:14px;white-space:nowrap;cursor:pointer}
.social-links{display:flex;gap:22px;flex-wrap:wrap;align-items:center}.social-links button{background:none;border:0;color:var(--ink);font:inherit;font-size:14px;min-height:44px;padding:8px 0;cursor:pointer}.social-links button:hover{text-decoration:underline;text-underline-offset:5px}
footer{flex-wrap:wrap}.social-links{flex-basis:100%;border-top:1px solid var(--line);padding-top:12px}
.social-dialog{position:fixed;inset:0;margin:auto;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:22px 28px 28px;text-align:center}.social-dialog::backdrop{background:rgb(0 0 0/.5)}.social-close{display:block;margin:0 0 8px auto;border:0;background:none;min-height:44px;padding:8px;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}.social-dialog h2{font-size:30px;margin:0 0 12px}.social-dialog p{font-size:16px;line-height:1.7}.social-dialog img{display:block;width:100%;height:auto;object-fit:contain;margin:20px auto;background:white;filter:none;transform:none}.social-dialog .social-hint{font-size:14px;color:var(--muted);margin:18px 0 0}#social-account{overflow-wrap:anywhere}#social-account:empty{display:none}.social-dialog .button{display:inline-block}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:600px){header{flex-wrap:wrap;gap:12px}.header-actions{gap:12px;flex-wrap:wrap}.wechat-cta{padding:10px 13px}.social-dialog{padding:14px 20px 22px}.social-links{gap:24px}.social-dialog h2{font-size:27px}}

/* About portraits: tighter framing with stable dimensions across tabs. */
.meet-visual .photo-slot.portrait{aspect-ratio:4/3}
.meet-visual .photo-slot img{object-fit:cover}
/* Latin punctuation must use a proportional Latin font, not CJK glyph metrics. */
html[lang="en"] body,html[lang="en"] .brand>span{font-family:Arial,Helvetica,sans-serif}
