:root{--burgundy:#59111A;--powder-blue:#BFE4FC;--dusty-rose:#EDC0CD;--warm-ivory:#F3EFE7;--text-dark:#2D2424;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--warm-ivory);color:var(--text-dark);font:15px/1.7 "DM Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--burgundy);outline-offset:5px}h1,h2,h3,.quote{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;color:var(--burgundy)}h1{font-size:clamp(54px,5.6vw,78px);line-height:.99;letter-spacing:-2px;margin:26px 0}h2{font-size:clamp(38px,4vw,56px);line-height:1.08;letter-spacing:-1.5px;margin:16px 0 28px}h3{font-size:28px;line-height:1.2;margin:15px 0}em{font-weight:400}p{margin:0 0 22px}.wrap{max-width:1200px;width:calc(100% - 80px);margin:auto}.section{padding-top:110px;padding-bottom:110px}.eyebrow{font-size:10px;letter-spacing:2.2px;color:var(--burgundy);font-weight:600;line-height:1.9}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--burgundy);color:var(--warm-ivory);padding:15px 23px;border:1px solid var(--burgundy);font-size:12px}.button:hover{background:#72232c}.text-link{display:inline-flex;gap:22px;border-bottom:1px solid var(--burgundy);padding:8px 0;color:var(--burgundy);font-size:12px}.skip{position:fixed;top:-90px;z-index:10;background:white;padding:15px}.skip:focus{top:10px}header{position:sticky;top:0;z-index:5;background:var(--warm-ivory);border-bottom:1px solid #59111a25}.nav-wrap{max-width:1400px;margin:auto;padding:20px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px}nav{display:flex;align-items:center;gap:23px;font-size:11px}.logo{display:block;width:126px;color:var(--burgundy)}.logo img{max-width:100%;display:block}.logo-fallback{display:none;font-family:Georgia,serif;font-size:30px;letter-spacing:5px;line-height:1}.logo-fallback small{display:block;font:6px/1.8 Arial,sans-serif;letter-spacing:.8px;margin-top:7px}.menu{display:none}.hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center;min-height:80vh;padding-top:50px;padding-bottom:40px}.hero-copy>p:not(.eyebrow){max-width:360px;font-size:14px}.detail{color:var(--burgundy);display:flex;gap:15px;align-items:center;margin:22px 0}.detail span{width:90px;height:1px;background:var(--burgundy)}.actions{display:flex;align-items:center;gap:25px;margin-top:30px}.photo{position:relative;margin:0;overflow:hidden;aspect-ratio:3/2;background:var(--powder-blue);border:1px solid #59111a20;display:grid;place-items:center;min-width:0}.photo:before{content:"";position:absolute;width:54%;aspect-ratio:1;border:1px solid #59111a26;border-radius:50%;transform:rotate(-30deg) scaleX(.8)}.photo:after{content:"";position:absolute;width:45%;height:1px;background:#59111a20;transform:rotate(-30deg)}.photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:1}.photo figcaption{position:relative;z-index:2;text-align:center;color:var(--burgundy);padding:20px;overflow-wrap:anywhere}.photo figcaption span{display:block;font-size:8px;letter-spacing:2px}.photo figcaption small{display:block;font:italic 15px Georgia,serif;margin-top:8px}.photo.loaded figcaption,.photo.loaded:before,.photo.loaded:after{display:none}.hero-art .photo{aspect-ratio:16/9}.image-note{display:flex;justify-content:space-between;gap:20px;color:var(--burgundy);margin:17px 0 0}.image-note span{font-size:8px;letter-spacing:1.3px}.image-note em{font:italic 17px Georgia,serif}.values{border-top:1px solid #59111a50;border-bottom:1px solid #59111a50;padding:22px 0;text-align:center;font-size:11px;letter-spacing:5px;color:var(--burgundy)}.values span{margin:0 28px;color:#59111a70}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.split>div>p:not(.eyebrow){max-width:440px}.split .photo{aspect-ratio:1.1}.quote{font-size:25px;font-style:italic;border-left:2px solid var(--dusty-rose);padding-left:24px;margin-top:30px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:42px}.section-head h2{margin-bottom:0}.section-head>p{max-width:340px;font-size:14px;margin:0}.cards,.keepsakes{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.cards .photo{aspect-ratio:4/5}.cards article:nth-child(2) .photo,.keepsakes article:nth-child(2) .photo{background:var(--warm-ivory)}.cards article:nth-child(3) .photo{background:#dedbd3}.index{display:block;font-size:10px;letter-spacing:2px;margin-top:22px;color:var(--burgundy)}.cards p{font-size:14px;min-height:75px}.gallery-section{background:#eae6de}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}.gallery-item{border:0;background:none;padding:0;position:relative;color:var(--burgundy)}.gallery-item .photo{aspect-ratio:1.2}.gallery-item:nth-child(2) .photo,.gallery-item:nth-child(5) .photo{aspect-ratio:4/5}.gallery-item:nth-child(3n) .photo{aspect-ratio:1;background:var(--warm-ivory)}.gallery-open{position:absolute;bottom:15px;right:20px;z-index:3;font-size:22px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:50px}.step-number{font:italic 40px Georgia,serif;color:var(--burgundy);display:block;border-bottom:1px solid #59111a50;padding-bottom:20px}.steps h3{font-size:24px}.steps p{font-size:13px}.blue{background:var(--powder-blue)}.comfort{padding:0;list-style:none;margin:30px 0}.comfort li{padding:11px 0 11px 25px;border-top:1px solid #59111a30;font-size:13px;position:relative}.comfort li:before{content:"+";position:absolute;left:0;color:var(--burgundy)}.blue .photo{background:#b8cede;aspect-ratio:4/5}.keepsakes .photo{aspect-ratio:1}.keepsakes h3{font-size:24px}.film{text-align:center;padding-top:20px}.video-area{margin-top:45px;position:relative}.video-area .photo{aspect-ratio:16/9;background:#dedbd3}.video-area figcaption{transform:translateY(-65px)}.film-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--burgundy);pointer-events:none;padding-top:70px}.film-label>span{border:1px solid var(--burgundy);border-radius:50%;width:62px;height:62px;font-size:31px;line-height:60px;padding-left:4px;background:var(--warm-ivory)}.film-label p{font-size:12px;margin-top:18px}video{width:100%}.booking-box{border:1px solid var(--burgundy);padding:55px;display:grid;grid-template-columns:.75fr 1.25fr;gap:60px}.demo-note{font-size:12px;border-top:1px solid #59111a40;padding-top:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{font-size:11px;color:var(--burgundy)}input,textarea,select{display:block;width:100%;border:0;border-bottom:1px solid #59111a70;padding:10px 5px;background:transparent;color:var(--text-dark);border-radius:0;min-height:42px}textarea{border:1px solid #59111a50;resize:vertical;margin-top:8px}.full{grid-column:1/-1}.consent{display:flex;gap:12px;font-size:11px;margin:25px 0;align-items:start}.consent input{width:17px;min-height:17px;accent-color:var(--burgundy);flex-shrink:0}#confirmation{margin-top:24px;padding:18px;border:1px solid var(--burgundy);font-size:14px}footer{background:var(--burgundy);color:var(--warm-ivory);padding:60px 0 20px}footer .logo,footer .eyebrow{color:var(--warm-ivory)}footer .eyebrow{margin-top:20px;font-size:9px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px}footer nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:12px}footer .contact{display:flex;flex-direction:column;align-items:start;font-size:12px;gap:10px}.placeholder-link{background:none;border:0;border-bottom:1px solid #ffffff70;padding:0;color:inherit;font-size:12px}.footer-bottom{border-top:1px solid #ffffff50;margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;gap:40px;font-size:9px}.footer-bottom>span{letter-spacing:2px;flex-shrink:0}dialog{background:var(--warm-ivory);border:1px solid var(--burgundy);padding:45px;color:var(--text-dark);width:min(640px,calc(100% - 32px));max-height:90vh;overflow:auto}dialog::backdrop{background:#2d2424aa}.close{position:absolute;top:10px;right:16px;border:0;background:none;color:var(--burgundy);font-size:28px}.lightbox-controls{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.lightbox-controls button{background:none;border:1px solid var(--burgundy);color:var(--burgundy);padding:8px 20px}#lightbox h2{font-size:28px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}[hidden]{display:none!important}
@media(min-width:1500px){.hero{min-height:720px}}@media(max-width:1100px){nav{gap:14px;font-size:10px}.nav-wrap{padding:18px 25px}.hero{gap:35px}.split{gap:45px}.booking-box{padding:35px;gap:35px}}@media(max-width:900px){.menu{display:flex;gap:22px;border:1px solid var(--burgundy);background:none;color:var(--burgundy);padding:8px 14px}.nav-wrap{position:relative}header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--warm-ivory);padding:25px;box-shadow:0 12px 15px #2d242411}header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:17px;font-size:13px}.hero{min-height:0}.hero h1{font-size:57px}.wrap{width:calc(100% - 48px)}.booking-box{grid-template-columns:1fr}.booking-intro{max-width:530px}.section{padding-top:75px;padding-bottom:75px}.steps{grid-template-columns:1fr 1fr}.cards{gap:20px}.section-head{gap:25px}.cards p{min-height:120px}}@media(max-width:600px){.wrap{width:calc(100% - 36px)}.nav-wrap{padding:16px 18px}.logo{width:110px}.hero{grid-template-columns:1fr;padding-top:40px;gap:35px}.hero h1{font-size:62px}.hero-copy>p:not(.eyebrow){max-width:100%}.hero-art .photo{aspect-ratio:4/3}.image-note em{font-size:15px}.image-note span{font-size:7px}.values{font-size:9px;letter-spacing:2px;padding:20px 0}.values span{margin:0 10px}.section{padding-top:60px;padding-bottom:60px}.split{grid-template-columns:1fr;gap:35px}.split .photo{aspect-ratio:3/2}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:25px;max-width:100%}.cards,.keepsakes{grid-template-columns:1fr;gap:38px}.cards p{min-height:0}.cards .photo{aspect-ratio:4/5}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery .photo{aspect-ratio:4/5!important}.gallery figcaption small{font-size:12px}.gallery figcaption span{font-size:6px;letter-spacing:1px}.steps{grid-template-columns:1fr;gap:18px}.steps article{display:grid;grid-template-columns:60px 1fr;column-gap:15px}.step-number{grid-row:span 2;border:0;font-size:32px}.steps h3{margin:4px 0 10px}.steps p{grid-column:2}.blue .photo{aspect-ratio:4/5}.keepsakes .photo{aspect-ratio:1.2}.film-label p{font-size:10px}.film-label>span{width:45px;height:45px;line-height:43px;font-size:24px}.video-area figcaption{transform:translateY(-40px)}.film-label{padding-top:60px}.booking-box{padding:25px 20px;gap:20px}.form-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr;gap:25px}.footer-bottom{flex-direction:column;gap:10px}.footer-bottom p{margin:0}dialog{padding:35px 22px}h2{font-size:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Keep long labels within the grid, and keep focus visible on the dark footer. */
.form-grid>*{min-width:0} input,select,textarea{max-width:100%} footer a:focus-visible,footer button:focus-visible{outline-color:var(--warm-ivory)} .photo img{object-position:center} .hero-art .photo img{object-position:50% 45%}

/* Supplied brand identity. Original transparent PNGs are unchanged; these frames
   remove only empty export margins from the layout and never crop the artwork. */
.logo{position:relative;width:150px;aspect-ratio:1304/589;overflow:hidden;flex-shrink:0}
.logo img{position:absolute;width:153.374%;max-width:none;height:auto;left:-26.687%;top:-70.119%}
.logo-secondary{width:110px;aspect-ratio:876/1076}
.logo-secondary img{width:228.311%;left:-64.384%;top:-14.963%}
.hero{grid-template-columns:.8fr 1.2fr}
.hero-art .photo{background:#f8f5f0}
.hero-art .photo img{object-fit:contain;object-position:center}
.hero-art .photo{aspect-ratio:16/9}
.hero-copy h1{font-size:clamp(50px,5.1vw,72px);line-height:1.06;letter-spacing:-1.4px}
.gallery-section{background:var(--powder-blue)}
.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 32px}
.gallery-filters button{border:1px solid #59111a55;background:transparent;color:var(--burgundy);padding:9px 16px;font-size:11px}
.gallery-filters button[aria-pressed="true"]{background:var(--burgundy);color:var(--warm-ivory);border-color:var(--burgundy)}
.gallery{display:block;columns:3;column-gap:24px}
.gallery-item{display:block;width:100%;break-inside:avoid;margin-bottom:25px;text-align:left}
.gallery-item .photo,.gallery-item:nth-child(2) .photo,.gallery-item:nth-child(3n) .photo,.gallery-item:nth-child(5) .photo{aspect-ratio:auto;background:var(--warm-ivory)}
.gallery-item .photo:has(img[hidden]){aspect-ratio:4/5!important}
.gallery-item .photo img{position:relative;width:100%;height:auto;display:block;object-fit:contain}
.gallery-caption{display:flex;justify-content:space-between;margin-top:10px;font-size:10px;letter-spacing:1.3px}
.gallery-caption span{font-size:16px}
#lightbox{width:min(900px,calc(100% - 32px))}
#lightbox-content .photo{aspect-ratio:auto;background:transparent;border:0}
#lightbox-content .photo img{position:relative;width:100%;height:auto;max-height:65vh;object-fit:contain}
#lightbox-content .photo:has(img[hidden]){aspect-ratio:3/2}
.keepsakes .photo img{object-fit:contain;background:var(--warm-ivory)}
#introduction .photo{aspect-ratio:4/3}
#approach .photo{aspect-ratio:1366/1820}
#approach .photo img{object-fit:contain}
@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;gap:28px}.gallery{columns:2}}
@media(max-width:600px){
 .logo{width:135px}.logo-secondary{width:100px}
 .hero{grid-template-columns:1fr}.hero-copy h1{font-size:56px}
 .hero-art .photo{aspect-ratio:4/3}
 .gallery{column-gap:12px}
 .gallery .photo{aspect-ratio:auto!important}
 .gallery-caption{font-size:8px;letter-spacing:.4px}
 .gallery-filters button{padding:9px 12px;font-size:10px}
 #approach .photo{aspect-ratio:1366/1820}
}

/* Hero and dominant blue match the supplied Behance cover: RGB 191,228,252.
   This intentional visual override supersedes the earlier report blue. */
body{background:var(--powder-blue)}
header{background:var(--warm-ivory)}
.brand-hero{background:var(--powder-blue);color:var(--burgundy)}
.brand-hero-inner{position:relative;min-height:760px;padding-top:70px;padding-bottom:46px;display:flex;flex-direction:column}
.hero-declaration{position:absolute;top:72px;left:0;font:400 clamp(22px,2.35vw,34px)/1.6 Georgia,serif;letter-spacing:.22em;margin:0}
.hero-promise{position:absolute;top:42px;right:0;text-align:right;font:italic 400 clamp(25px,2.5vw,36px)/1.25 Georgia,serif;letter-spacing:.07em;margin:0}
.hero-brand{display:flex;flex-direction:column;align-items:center;margin-top:160px;width:100%}
.hero-brand .logo{width:min(76%,820px)}
.parent-brand{font:400 clamp(22px,2.6vw,38px)/1.3 Georgia,serif;letter-spacing:.15em;color:var(--burgundy);margin:20px 0 25px}
.parent-brand em{letter-spacing:.02em;margin-right:12px}
.hero-rule{display:block;width:110px;height:3px;background:var(--burgundy);margin:0 0 28px}
.hero-values{display:flex;justify-content:center;align-items:center;gap:45px;font:italic 400 clamp(16px,1.8vw,25px)/1.4 Georgia,serif;letter-spacing:.14em;margin:0}
.hero-values i{font-size:30px;font-weight:400}
.hero-welcome{background:var(--warm-ivory);border-bottom:1px solid #59111a25;padding:32px 0}
.hero-welcome>.wrap{display:flex;align-items:center;justify-content:space-between;gap:48px}
.hero-welcome p{max-width:570px;font-size:14px;margin:0}
.hero-welcome .actions{margin:0;flex-shrink:0}
#sessions,#keepsakes,#booking{background:var(--warm-ivory);padding-left:40px;padding-right:40px;width:100%;max-width:none}
#sessions>.section-head,#sessions>.cards,#keepsakes>.section-head,#keepsakes>.keepsakes,#booking>.booking-box{max-width:1200px;margin-left:auto;margin-right:auto}
#about{border-top:1px solid #59111a35}
@media(min-width:1500px){.brand-hero-inner{min-height:820px}.hero-brand{margin-top:170px}}
@media(max-width:900px){
 .brand-hero-inner{min-height:650px;padding-top:45px}
 .hero-declaration{top:45px;font-size:23px}
 .hero-promise{top:35px;font-size:27px}
 .hero-brand{margin-top:165px}.hero-brand .logo{width:90%}
 .hero-values{gap:25px;font-size:18px}
 .hero-welcome>.wrap{flex-direction:column;align-items:flex-start;gap:20px}
}
@media(max-width:600px){
 .brand-hero-inner{min-height:540px;padding:32px 0 35px}
 .hero-declaration{top:32px;font-size:16px;letter-spacing:.18em}
 .hero-promise{top:27px;font-size:20px;letter-spacing:.035em}
 .hero-brand{margin-top:155px}.hero-brand .logo{width:100%}
 .parent-brand{font-size:21px;letter-spacing:.1em;margin-top:20px;margin-bottom:22px}
 .hero-rule{width:65px;height:2px;margin-bottom:22px}
 .hero-values{gap:14px;font-size:13px;letter-spacing:.08em}
 .hero-values i{font-size:22px}
 .hero-welcome .actions{gap:20px;flex-wrap:wrap}
 #sessions,#keepsakes,#booking{padding-left:18px;padding-right:18px}
}

/* The supplied secondary mark and its descriptor share a single centre axis. */
.footer-brand{display:flex;flex-direction:column;align-items:center;text-align:center;justify-self:center;width:100%;max-width:300px}
.footer-brand .logo-secondary{margin:0 auto}
.footer-brand .eyebrow{width:100%;text-align:center;margin:23px 0 0}
.language-switch{display:flex;align-items:center;gap:7px;margin-left:auto;white-space:nowrap;font-size:11px;color:var(--burgundy)}
.language-switch button{border:0;border-bottom:1px solid transparent;background:none;color:inherit;padding:5px 3px;font-size:11px;min-height:32px}
.language-switch button[aria-pressed="true"]{border-bottom-color:var(--burgundy);font-weight:700}
.nav-wrap{gap:20px}
html[lang="zh-CN"] body{font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif}
html[lang="zh-CN"] h1,html[lang="zh-CN"] h2,html[lang="zh-CN"] h3,html[lang="zh-CN"] .quote{font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif}
html[lang="zh-CN"] h2{line-height:1.3;letter-spacing:.025em}
html[lang="zh-CN"] .hero-promise{font-family:"Songti SC","SimSun",serif;line-height:1.5;letter-spacing:.1em}
html[lang="zh-CN"] .hero-declaration{line-height:1.7;letter-spacing:.15em}
html[lang="zh-CN"] .hero-values{font-family:"Songti SC","SimSun",serif;font-style:normal}
html[lang="zh-CN"] .eyebrow{letter-spacing:1.7px}
@media(max-width:1100px){.nav-wrap{gap:13px}.language-switch{gap:3px}header nav{gap:11px}}
@media(max-width:900px){.language-switch{margin-left:auto;margin-right:8px}}
@media(max-width:600px){.footer-brand{justify-self:center}.language-switch{margin-right:0}.nav-wrap{gap:10px}.language-switch button{font-size:10px}.menu{padding:7px 10px;gap:12px}html[lang="zh-CN"] .hero-promise{font-size:20px}}

/* Real supplied contact links, kept separate from the demonstration form. */
footer .contact-heading{font-size:13px;margin:0 0 8px;letter-spacing:1px}
.contact-link{display:inline-flex;gap:18px;align-items:center;border:0;border-bottom:1px solid #f3efe760;background:none;color:inherit;padding:4px 0;font:inherit;text-align:left}
.contact-place{font-size:12px;line-height:1.9;margin:14px 0 0;overflow-wrap:anywhere}
#social-note:empty{display:none}
.real-booking{grid-column:2;grid-row:1;align-self:end;border-top:1px solid #59111a40;padding-top:16px;margin-bottom:0}
.real-booking p{font-size:13px;margin:0}
.booking-box>.booking-intro{grid-column:1;grid-row:1 / span 2}
.booking-box>#booking-form{grid-column:2;grid-row:2}
.booking-box{row-gap:24px}
.wechat-label{display:block;font-size:12px;color:var(--burgundy);margin-top:24px}
#wechat-name{border:1px solid #59111a70;padding:12px;font-size:14px;margin:8px 0 20px;background:var(--white)}
#wechat-copy-status{font-size:13px;margin:18px 0 0}
@media(max-width:900px){.booking-box>.booking-intro,.booking-box>.real-booking,.booking-box>#booking-form{grid-column:1;grid-row:auto}.real-booking{margin-bottom:5px}}

.session-photo{display:block;width:100%;border:0;background:none;padding:0;position:relative;text-align:left;color:var(--burgundy)}
.session-photo-hint{position:absolute;right:14px;bottom:14px;padding:8px 12px;background:var(--warm-ivory);font-size:11px;z-index:3}
.session-photo:hover .session-photo-hint{background:var(--burgundy);color:var(--warm-ivory)}
.session-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
#album-caption{font-size:12px;margin:14px 0}
.album-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:5px;margin:0 -5px}
.album-thumbnails button{width:65px;height:76px;border:1px solid transparent;background:none;padding:3px;flex-shrink:0}
.album-thumbnails button[aria-pressed="true"]{border-color:var(--burgundy)}
.album-thumbnails img{width:100%;height:100%;object-fit:cover}
#lightbox-content .photo img{max-height:52vh}
@media(max-width:600px){.session-actions{gap:24px}.session-photo-hint{font-size:10px}.album-thumbnails button{width:52px;height:62px}#lightbox-content .photo img{max-height:48vh}}

/* Supplied behind-the-scenes photo: preserve the full photographer, people and pet. */
#about .photo{aspect-ratio:4/3}
#about .photo img{object-fit:contain;object-position:center}

/* Softer, minimal controls: explicitly reset native button chrome. */
button{-webkit-appearance:none;appearance:none}
.button{border-radius:999px;padding:12px 24px;gap:20px;line-height:1.5;box-shadow:none;transition:background .18s,color .18s}
.text-link{border:1px solid #59111a45;border-radius:999px;background:transparent;padding:10px 19px;font:inherit;font-size:12px;line-height:1.5;color:var(--burgundy);gap:18px;box-shadow:none;transition:background .18s,border-color .18s}
.text-link:hover{background:#59111a08;border-color:var(--burgundy)}
.session-actions{gap:12px}
.session-actions .enquire{border-color:transparent;padding-left:15px;padding-right:15px}
.session-actions .enquire:hover{background:#59111a08;border-color:transparent}
.menu{border-radius:999px;border-color:#59111a45;background:transparent;padding:8px 16px}
.close{width:36px;height:36px;border-radius:50%;padding:0;display:grid;place-items:center;line-height:1}
.close:hover{background:#59111a09}
.lightbox-controls button{border-radius:999px;border-color:#59111a45;padding:7px 20px}
.lightbox-controls button:hover{background:#59111a08}
.session-photo-hint{border-radius:999px;padding:8px 15px}
.contact-link{border:0;border-radius:999px;padding:5px 0}
.contact-link:hover{text-decoration:underline;text-underline-offset:5px}
@media(prefers-reduced-motion:reduce){.button,.text-link{transition:none}}

/* You & Your Pet cover: preserve the original portrait and space above the subject. */
.session-photo[data-album="together"] .photo{aspect-ratio:2/3}
.session-photo[data-album="together"] .photo img{object-fit:contain;object-position:center;background:#fff}

/* Original brand film, user-controlled playback with its natural aspect ratio. */
.video-area video{display:block;width:100%;height:auto;max-height:80vh;background:var(--burgundy)}
#film-error{padding:18px;margin-top:16px;border:1px solid var(--burgundy);font-size:13px}

/* Default English entry, larger navigation, language control at the upper right. */
header .nav-wrap{max-width:1440px;gap:24px}
header nav{font-size:15px;gap:25px;margin-left:auto;white-space:nowrap}
header nav .button{font-size:14px;padding:12px 22px}
.language-switch{order:3;margin-left:0;margin-right:0;gap:8px;font-size:14px}
.language-switch button{font-size:14px;padding:6px 4px;min-height:38px}
@media(max-width:1200px){header .nav-wrap{gap:18px;padding-left:24px;padding-right:24px}header nav{gap:17px;font-size:14px}}
@media(min-width:901px) and (max-width:1050px){header nav{gap:12px;font-size:13px}header nav .button{font-size:12px;padding:10px 15px}header .logo{width:130px}header .nav-wrap{gap:13px}}
@media(max-width:900px){header nav{margin-left:0;font-size:16px;gap:18px}header nav.open{font-size:16px}.menu{margin-left:auto;font-size:14px}.language-switch{margin-left:0;margin-right:0}.language-switch button{font-size:14px}}
@media(max-width:600px){header .nav-wrap{padding-left:18px;padding-right:18px;gap:12px}header .logo{width:125px}.language-switch{gap:5px}.language-switch button{font-size:13px}.menu{font-size:13px;padding:8px 13px}}
