:root{--navy:#10283d;--navy2:#17354d;--cream:#f4f0e7;--paper:#fbfaf6;--gold:#b89a62;--ink:#17212a;--muted:#72736f;--line:#d8d2c6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Libre Caslon Display",serif;font-weight:400;line-height:.98;letter-spacing:-.035em}h1{font-size:clamp(3rem,6.2vw,7.4rem);color:#fff;margin-bottom:2rem}h1 em,h2 em{font-weight:400;color:#d6be8e}.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;height:86px;display:flex;align-items:center;gap:34px;padding:0 4vw;background:rgba(16,40,61,.92);backdrop-filter:blur(14px);color:#fff;border-bottom:1px solid rgba(255,255,255,.13)}.wordmark{display:flex;flex-direction:column;line-height:1;letter-spacing:.12em;min-width:180px}.wordmark span{font-family:"Libre Caslon Display",serif;font-size:21px}.wordmark small{font-size:8px;letter-spacing:.35em;margin-top:8px}.site-header nav{display:flex;align-items:center;gap:26px;margin-left:auto}.site-header nav a{font-size:12px;letter-spacing:.07em;opacity:.84}.site-header nav a:hover{opacity:1;color:#d6be8e}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:1px solid var(--gold);font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.header-cta{color:#f1ddb4}.menu-toggle{display:none}.hero{min-height:100vh;background:var(--navy);display:grid;grid-template-columns:1.16fr .84fr;position:relative;padding-top:86px}.hero-copy{padding:clamp(4rem,8vw,8rem) 4vw 6rem;align-self:center}.eyebrow,.section-no{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:600;color:var(--gold);margin-bottom:2.5rem}.hero-text{font-size:clamp(1rem,1.35vw,1.3rem);max-width:650px;color:#d4dce1;font-weight:300}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:40px}.gold{background:var(--gold);color:#13283a}.text-link{font-size:13px;color:#fff}.text-link span{color:var(--gold);padding-left:9px}.hero-image{margin:0;position:relative;overflow:hidden;min-height:650px}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,40,61,.28),transparent 40%)}.hero-image figcaption{position:absolute;z-index:2;bottom:27px;left:30px;color:white;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.scroll-note{position:absolute;bottom:20px;left:4vw;color:#93a0aa;text-transform:uppercase;letter-spacing:.18em;font-size:8px;writing-mode:vertical-rl}.statement,.process,.materials,.contact{padding:clamp(6rem,11vw,11rem) 8vw}.statement-grid,.materials-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.statement h2,.process h2,.materials h2,.contact h2,.section-heading h2,.customer-copy h2,.showroom h2{font-size:clamp(3rem,5.2vw,6.4rem);margin-bottom:2.3rem}.lead{font-family:"Libre Caslon Display",serif;font-size:clamp(1.45rem,2.2vw,2.15rem);line-height:1.3}.statement-grid>div>p:not(.lead),.materials-grid>div>p:not(.lead){max-width:680px;color:var(--muted)}.principles{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:55px}.principles article{border-top:1px solid var(--line);padding-top:22px}.principles span{font-size:10px;color:var(--gold);letter-spacing:.15em}.principles h3{font-family:"Libre Caslon Display",serif;font-weight:400;font-size:21px;margin:18px 0 7px}.principles p{font-size:14px;color:var(--muted)}.worlds{background:var(--cream);padding:clamp(6rem,9vw,9rem) 8vw}.section-heading{max-width:940px;margin-bottom:65px}.section-heading>p:last-child{max-width:600px;color:var(--muted)}.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.world{min-height:470px;padding:54px;display:flex;flex-direction:column;background:#e7ded0;position:relative;overflow:hidden}.world.men{background:var(--navy2);color:white}.world span{text-transform:uppercase;letter-spacing:.19em;font-size:10px;color:#765f3e}.world.men span{color:#cfb881}.world h3{font-family:"Libre Caslon Display",serif;font-weight:400;font-size:clamp(2rem,3vw,3.5rem);line-height:1.12;max-width:620px;margin:auto 0}.world a{text-transform:uppercase;letter-spacing:.12em;font-size:10px;border-top:1px solid currentColor;padding-top:20px;opacity:.8}.process{background:#fff}.process .section-heading{margin-bottom:80px}.steps{padding:0;margin:0;list-style:none;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.steps li{display:flex;gap:22px;padding:34px 30px 48px 0;border-bottom:1px solid var(--line);min-height:190px}.steps li:not(:nth-child(3n)){border-right:1px solid var(--line);margin-right:30px}.steps b{font-size:11px;letter-spacing:.15em;color:var(--gold)}.steps h3{font-family:"Libre Caslon Display",serif;font-size:23px;font-weight:400;margin-bottom:10px}.steps p{font-size:14px;color:var(--muted)}blockquote{font-family:"Libre Caslon Display",serif;font-size:clamp(2rem,3vw,3.8rem);line-height:1.2;max-width:800px;margin:90px 0 0 auto;color:var(--navy);border-left:3px solid var(--gold);padding-left:35px}.customers{display:grid;grid-template-columns:1.15fr .85fr;min-height:750px;background:var(--cream)}.customer-image{min-height:650px;overflow:hidden}.customer-copy{padding:clamp(5rem,8vw,8rem) 6vw}.customer-copy .lead{margin-bottom:24px}.customer-copy>p:not(.lead):not(.section-no){color:var(--muted)}.customer-note{border-top:1px solid var(--line);margin-top:55px;padding-top:26px;display:flex;flex-direction:column}.customer-note span{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:var(--gold)}.customer-note strong{font-family:"Libre Caslon Display",serif;font-size:23px;font-weight:400;line-height:1.2;margin-top:9px}.materials{background:#ece7df}.fabric-names{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:40px}.fabric-names span{font-family:"Libre Caslon Display",serif;font-size:24px;padding:20px 0;border-bottom:1px solid var(--line)}.showroom{background:var(--navy);color:white;padding:clamp(6rem,10vw,10rem) 8vw;display:grid;grid-template-columns:1.3fr .7fr;gap:10vw}.showroom>div>p:last-child{max-width:680px;color:#c7d0d6}.section-no.light{color:#c8ac76}.showroom address{font-style:normal;display:flex;flex-direction:column;justify-content:flex-end;border-left:1px solid rgba(255,255,255,.18);padding-left:50px}.showroom address span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#c8ac76}.showroom address strong{font-family:"Libre Caslon Display",serif;font-size:25px;font-weight:400;line-height:1.45;margin:18px 0 34px}.showroom address a{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#d6be8e}.contact{text-align:center}.contact .section-no{margin-bottom:3rem}.contact h2{font-size:clamp(4rem,8vw,9rem)}.contact>p:not(.section-no){max-width:580px;margin:0 auto;color:var(--muted)}.contact-actions{margin-top:42px;display:flex;justify-content:center;align-items:center;gap:28px}.navy{background:var(--navy);color:white;border-color:var(--navy)}.contact-actions>a:last-child{font-size:13px;border-bottom:1px solid var(--gold)}.floating-cta{position:fixed;z-index:19;right:25px;bottom:25px;width:112px;height:112px;border-radius:50%;background:var(--gold);color:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 12px 35px rgba(0,0,0,.18);text-transform:uppercase;letter-spacing:.1em;transition:transform .2s}.floating-cta:hover{transform:translateY(-4px)}.floating-cta span{font-family:"Libre Caslon Display",serif;font-size:18px}.floating-cta small{font-size:8px;margin-top:3px}footer{padding:50px 4vw;background:#0a1d2c;color:#b9c3ca;display:grid;grid-template-columns:1.2fr 1fr 1fr auto;align-items:end;gap:30px;font-size:12px}footer .wordmark{color:#fff}footer p{margin:0}footer>div:nth-of-type(2){display:flex;gap:16px}footer>small{font-size:9px}.reveal{animation:rise .9s ease both}.hero-image{animation-delay:.12s}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.site-header nav{display:none}.menu-toggle{display:block;margin-left:auto;background:transparent;color:#fff;border:0;text-transform:uppercase;letter-spacing:.12em}.site-header.open nav{display:flex;position:absolute;top:86px;left:0;width:100%;padding:25px 4vw;background:var(--navy);flex-direction:column;align-items:flex-start}.hero{grid-template-columns:1fr}.hero-copy{padding-top:6rem}.hero-image{min-height:60vh}.scroll-note{display:none}.statement-grid,.materials-grid,.customers,.showroom{grid-template-columns:1fr}.world h3{font-size:2.4rem}.steps{grid-template-columns:1fr 1fr}.steps li:not(:nth-child(3n)){border-right:0;margin-right:0}.steps li:nth-child(odd){border-right:1px solid var(--line);margin-right:30px}.showroom address{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:35px 0 0}.customer-image{min-height:70vw}footer{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.site-header{height:72px;padding:0 20px}.wordmark span{font-size:18px}.header-cta{display:none}.site-header.open nav{top:72px}.hero{padding-top:72px}.hero-copy{padding:5rem 24px 4rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-image{min-height:58vh}.statement,.process,.materials,.contact,.worlds,.showroom{padding:5rem 24px}.statement-grid,.materials-grid{gap:30px}.principles,.world-grid,.steps{grid-template-columns:1fr}.world{min-height:390px;padding:34px}.steps li,.steps li:nth-child(odd){border-right:0;margin-right:0}.customers{display:flex;flex-direction:column}.customer-image{min-height:110vw}.customer-copy{padding:5rem 24px}.contact-actions{flex-direction:column}.floating-cta{width:86px;height:86px;right:14px;bottom:14px}.floating-cta span{font-size:15px}footer{grid-template-columns:1fr;padding:45px 24px 120px}}
footer>div:nth-of-type(2) a{transition:color .2s ease}footer>div:nth-of-type(2) a:hover,footer>div:nth-of-type(2) a:focus-visible{color:#e2c99b}
.scroll-note{z-index:3;left:18px;bottom:26px;color:#d6be8e;font-size:9px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}}

/* Contact, hours, brands and connections */
.site-header .wordmark,.footer-mark{color:#e2c99b}.fabric-names{grid-template-columns:repeat(3,1fr)}.fabric-names span{padding-right:14px}.showroom{grid-template-columns:1.12fr .88fr;gap:8vw}.showroom-details{border-left:1px solid rgba(255,255,255,.18);padding-left:50px}.showroom address{border:0;padding:0;justify-content:flex-start}.showroom address span,.hours>span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#c8ac76}.showroom address strong{font-size:23px;margin-bottom:25px}.hours{border-top:1px solid rgba(255,255,255,.18);margin-top:32px;padding-top:30px}.hours dl{margin:18px 0}.hours dl div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}.hours dt,.hours dd{margin:0;font-size:13px}.hours dd{color:#e2c99b}.hours p{font-size:12px;line-height:1.55;color:#aebdc7;margin:17px 0 0}.contact-actions{gap:14px}.outline{background:transparent;color:var(--navy);border-color:var(--navy)}.contact-actions>a:last-child{font-size:12px;border-bottom:1px solid var(--navy)}.contact .contact-mail{margin-top:22px!important;font-size:13px}.contact-mail a{border-bottom:1px solid var(--gold)}.connect{background:var(--navy2);color:white;padding:clamp(5rem,8vw,8rem) 8vw;display:grid;grid-template-columns:1.2fr .8fr;gap:10vw}.connect h2{font-size:clamp(3rem,5vw,6rem)}.connect>div>p:not(.section-no){max-width:600px;color:#c7d0d6;margin-bottom:32px}.socials{display:flex;flex-direction:column;justify-content:center}.socials>span{color:#c8ac76;text-transform:uppercase;letter-spacing:.16em;font-size:10px;margin-bottom:20px}.socials a{font-family:"Libre Caslon Display",serif;font-size:clamp(1.6rem,2.5vw,2.6rem);display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.18);padding:14px 0}.socials b{font-family:"DM Sans",sans-serif;color:#c8ac76;font-size:16px;font-weight:400}
@media(max-width:1050px){.showroom,.connect{grid-template-columns:1fr}.showroom-details{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:35px 0 0}}
@media(max-width:680px){.connect{padding:5rem 24px}.fabric-names{grid-template-columns:1fr 1fr}.contact-actions{flex-direction:column}.hours dl div{display:block}.hours dd{margin-top:3px}}
.contact-persons{display:grid;grid-template-columns:1fr 1fr;gap:1px;max-width:820px;margin:46px auto 0;background:var(--line);text-align:left}.contact-persons a{background:var(--cream);padding:30px;display:flex;flex-direction:column;transition:background .2s}.contact-persons a:hover{background:#ebe2d2}.contact-persons span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#8a7046}.contact-persons strong{font-family:"Libre Caslon Display",serif;font-size:25px;font-weight:400;margin:12px 0 18px}.contact-persons small{font-size:10px;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:680px){.contact-persons{grid-template-columns:1fr}.contact-persons strong{font-size:21px}}
.brand-lockup{display:grid;grid-template-columns:43px auto;align-items:center;gap:12px;min-width:238px}.brand-lockup .hh-mark{width:43px;height:43px;object-fit:cover;opacity:.62;border-right:1px solid rgba(226,201,155,.4);padding-right:10px}.brand-lockup .brand-copy{display:flex;flex-direction:column;line-height:1}.wordmark small b{color:#e2c99b;font-weight:600}.footer-mark small b{color:#e2c99b}
@media(max-width:680px){.brand-lockup{grid-template-columns:34px auto;gap:8px;min-width:190px}.brand-lockup .hh-mark{width:34px;height:34px;padding-right:7px}.brand-lockup .brand-copy>span{font-size:16px}}
.world .division-mark{position:absolute;top:42px;right:42px;width:92px;height:92px;aspect-ratio:1;object-fit:cover;object-position:center;opacity:1;mix-blend-mode:normal}.footer-mark,.footer-mark span,.footer-mark small,.footer-mark small b{color:#e2c99b!important}
@media(max-width:680px){.world .division-mark{width:72px;height:72px;top:28px;right:28px}}
.site-header nav .wedding-nav{color:#e2c99b;opacity:1}.wedding-teaser{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:clamp(6rem,10vw,10rem) 8vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.wedding-intro,.wedding-content,.wedding-note{position:relative;z-index:1}.wedding-teaser h2{font-family:"Libre Caslon Display",serif;font-size:clamp(3.2rem,5.4vw,6.6rem);font-weight:400;line-height:.98;letter-spacing:-.035em;margin:0}.wedding-content>p:not(.lead){color:#c7d0d6;max-width:670px;margin-bottom:30px}.wedding-moods{display:flex;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.18);margin:34px 0 40px}.wedding-moods span{padding:15px 28px 15px 0;margin-right:28px;color:#e2c99b;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.wedding-note{position:absolute;left:8vw;bottom:36px;color:#93a0aa;font-size:10px;letter-spacing:.08em}.wedding-teaser .button{margin-bottom:20px}
@media(max-width:1050px){.wedding-teaser{grid-template-columns:1fr;gap:42px}.wedding-note{position:static;grid-column:1;color:#93a0aa;margin:0}}
@media(max-width:680px){.wedding-teaser{padding:5rem 24px}.wedding-moods{display:grid}.wedding-moods span{border-bottom:1px solid rgba(255,255,255,.12)}.wedding-teaser .button{width:100%;padding-left:12px;padding-right:12px}}
.wedding-gallery-tab{position:absolute;z-index:2;right:0;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;border:0;background:#e2c99b;color:var(--navy);padding:25px 15px;font:600 11px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.18em;cursor:pointer}.wedding-gallery-tab:hover,.wedding-gallery-tab:focus-visible{background:#fff}.wedding-gallery-photos{display:block;columns:3;column-gap:0;background:#f5f1e9}.wedding-gallery-photos figure{display:block;break-inside:avoid;margin:0;min-height:0;overflow:hidden;background:#f5f1e9}.wedding-gallery-photos img{display:block;width:100%;height:auto;object-fit:contain;object-position:center top}.wedding-dialog{background:#f5f1e9;overflow-y:auto}
@media(max-width:850px){.wedding-gallery-photos{columns:2}}
@media(max-width:680px){.wedding-gallery-tab{position:static;transform:none;writing-mode:horizontal-tb;grid-column:1/-1;width:100%;padding:18px;margin-top:20px}.wedding-gallery-photos{columns:1}.wedding-gallery-photos figure,.wedding-gallery-photos img{height:auto;min-height:0}}
.monthly{padding:clamp(6rem,10vw,10rem) 8vw;background:var(--paper)}.monthly-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:55px}.monthly h2{font-size:clamp(3rem,5.2vw,6.4rem);margin-bottom:0}.highlight-switch{display:flex;border-bottom:1px solid var(--line)}.highlight-switch button{appearance:none;border:0;background:transparent;padding:13px 20px;color:var(--muted);font:600 10px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.highlight-switch button.active{color:var(--navy);border-color:var(--gold)}.highlight-panel{display:grid;grid-template-columns:1.16fr .84fr;background:var(--cream);min-height:610px}.highlight-panel[hidden]{display:none}.highlight-photo{min-height:610px;overflow:hidden}.highlight-copy{padding:clamp(3rem,6vw,6rem);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.highlight-copy>span{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#8a7046}.highlight-copy h3{font-family:"Libre Caslon Display",serif;font-size:clamp(2.3rem,3.4vw,4.2rem);font-weight:400;line-height:1.08;margin:25px 0}.highlight-copy p{color:var(--muted);margin-bottom:34px}.highlight-panel.active{animation:highlightFade .35s ease both}@keyframes highlightFade{from{opacity:.25}to{opacity:1}}
@media(max-width:850px){.monthly-head{display:block}.highlight-switch{margin-top:30px}.highlight-panel{grid-template-columns:1fr}.highlight-photo{min-height:75vw}}
@media(max-width:680px){.monthly{padding:5rem 24px}.highlight-copy{padding:36px 25px 45px}.highlight-switch button{flex:1}.highlight-switch{width:100%}}
.language-toggle{flex:0 0 auto;width:42px;height:42px;border:1px solid rgba(226,201,155,.7);background:transparent;color:#e2c99b;font:600 11px "DM Sans",sans-serif;letter-spacing:.12em;cursor:pointer;transition:background .2s,color .2s}.language-toggle:hover,.language-toggle:focus-visible{background:#e2c99b;color:var(--navy)}
.highlight-video{min-height:610px;background:#0a1d2c;display:flex;align-items:center;justify-content:center;overflow:hidden}.highlight-video video{display:block;width:100%;height:610px;object-fit:cover;background:#0a1d2c}.event-meta{border-top:1px solid var(--line);padding-top:22px;color:var(--navy)!important;font-size:13px;line-height:1.7}.event-panel .highlight-copy p:first-of-type{margin-bottom:22px}
@media(max-width:1180px){.site-header{gap:20px}.site-header nav{gap:17px}.site-header nav a{font-size:11px}.header-cta{padding:12px 16px}}
@media(max-width:1050px){.language-toggle{margin-left:0}.highlight-video{min-height:75vw}.highlight-video video{height:75vw;max-height:720px}}
@media(max-width:680px){.language-toggle{width:38px;height:38px}.highlight-switch{overflow-x:auto}.highlight-switch button{min-width:max-content}.highlight-video{min-height:56.25vw}.highlight-video video{height:56.25vw;min-height:220px}}

/* Responsive correction: prevent horizontal clipping around the wedding chapter. */
html,body{max-width:100%;overflow-x:clip}main,.wedding-teaser,.wedding-intro,.wedding-content{min-width:0}.wedding-content{max-width:760px}.wedding-content .lead{overflow-wrap:anywhere}
@media(max-width:1250px){.site-header nav{display:none}.menu-toggle{display:block;margin-left:auto;background:transparent;color:#fff;border:0;text-transform:uppercase;letter-spacing:.12em}.site-header.open nav{display:flex;position:absolute;top:86px;left:0;width:100%;padding:25px 4vw;background:var(--navy);flex-direction:column;align-items:flex-start}.wedding-teaser{grid-template-columns:1fr;gap:42px}.wedding-intro,.wedding-content{width:100%;max-width:850px}.wedding-note{position:static;grid-column:1;color:#93a0aa;margin:0}}
@media(max-width:680px){.site-header.open nav{top:72px}.wedding-teaser h2{font-size:clamp(2.7rem,14vw,4.5rem)}.wedding-content .lead{font-size:clamp(1.35rem,6vw,1.8rem)}}
.occasion{position:relative;display:grid;grid-template-columns:.78fr 1.22fr;background:#0a1d2c;color:#fff;min-height:690px}.occasion-copy{padding:clamp(5rem,8vw,8rem) 6vw;display:flex;flex-direction:column;justify-content:center}.occasion-copy h2,.gifts-copy h2{font-family:"Libre Caslon Display",serif;font-size:clamp(3rem,5vw,6rem);font-weight:400;line-height:1;letter-spacing:-.035em}.occasion-copy>p:not(.section-no){color:#c7d0d6;max-width:580px}.occasion-copy .text-link{color:#e2c99b;margin-top:25px}.occasion-gallery{display:grid;grid-template-columns:1fr 1fr;gap:2px;min-width:0}.occasion-gallery figure{margin:0;min-height:690px;overflow:hidden}.occasion-gallery figure:first-child img{object-position:46% center}.occasion-gallery figure:last-child img{object-position:42% center}.gallery-tab{position:absolute;z-index:2;right:0;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;border:0;background:#e2c99b;color:#0a1d2c;padding:25px 15px;font:600 11px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.18em;cursor:pointer}.gallery-tab:hover,.gallery-tab:focus-visible{background:#fff}.gifts{display:grid;grid-template-columns:1.08fr .92fr;background:var(--cream);min-height:720px}.gifts-image{min-height:720px;overflow:hidden}.gifts-image img{object-position:center}.gifts-copy{padding:clamp(5rem,8vw,8rem) 6vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.gifts-copy>p:not(.section-no):not(.lead){color:var(--muted);max-width:620px;margin-bottom:34px}
@media(max-width:1050px){.occasion,.gifts{grid-template-columns:1fr}.occasion-gallery figure{min-height:72vw}.gifts-image{min-height:95vw}.gifts-copy{order:-1}}
@media(max-width:680px){.occasion-copy,.gifts-copy{padding:5rem 24px}.occasion-gallery{grid-template-columns:1fr 1fr}.occasion-gallery figure{min-height:78vw}.gifts-image{min-height:110vw}}
.occasion-dialog{width:min(1160px,92vw);max-height:90vh;border:0;padding:0;background:#f5f1e9;color:var(--navy);box-shadow:0 30px 90px rgba(0,0,0,.35)}.occasion-dialog::backdrop{background:rgba(4,16,25,.78);backdrop-filter:blur(4px)}.gallery-close{position:sticky;z-index:3;float:right;top:18px;margin:18px 18px -58px 0;width:44px;height:44px;border:1px solid rgba(10,29,44,.22);background:#f5f1e9;color:var(--navy);font:300 28px/1 sans-serif;cursor:pointer}.gallery-heading{padding:clamp(3.5rem,6vw,6rem) 7vw 45px}.gallery-heading h2{font-family:"Libre Caslon Display",serif;font-size:clamp(2.8rem,5vw,5.8rem);font-weight:400;line-height:1;margin:0 0 25px}.gallery-heading>p:last-child{color:var(--muted)}.gallery-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#ddd3c4}.gallery-photos figure{position:relative;margin:0;background:#0a1d2c;min-height:440px;overflow:hidden}.gallery-photos img{height:440px;object-position:center}.gallery-photos figcaption{position:absolute;inset:auto 0 0;padding:50px 28px 24px;color:#fff;background:linear-gradient(transparent,rgba(4,16,25,.9));display:flex;flex-direction:column}.gallery-photos figcaption strong{font-family:"Libre Caslon Display",serif;font-size:23px;font-weight:400}.gallery-photos figcaption span{margin-top:7px;color:#e2c99b;font-size:10px;text-transform:uppercase;letter-spacing:.11em}
@media(max-width:680px){.gallery-tab{position:static;transform:none;writing-mode:horizontal-tb;grid-column:1/-1;width:100%;padding:18px}.occasion-dialog{width:100vw;max-height:100vh}.gallery-photos{grid-template-columns:1fr}.gallery-photos figure,.gallery-photos img{height:72vw;min-height:310px}.gallery-heading{padding:4.5rem 24px 35px}.gallery-close{top:10px;margin:10px 10px -54px 0}}

/* Customer gallery */
.customers{position:relative}.customer-gallery-tab{position:absolute;z-index:2;right:0;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;border:0;background:var(--navy);color:#e2c99b;padding:25px 15px;font:600 11px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.18em;cursor:pointer}.customer-gallery-tab:hover,.customer-gallery-tab:focus-visible{background:var(--gold);color:var(--navy)}.customer-gallery-entry{display:grid;grid-template-columns:.86fr 1.14fr;background:#fff}.customer-gallery-entry figure{margin:0;min-height:650px}.customer-gallery-entry>div{padding:clamp(3rem,6vw,6rem);display:flex;flex-direction:column;justify-content:center}.customer-gallery-entry span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#8a7046}.customer-gallery-entry h3{font-family:"Libre Caslon Display",serif;font-size:clamp(2.4rem,4vw,4.8rem);font-weight:400;line-height:1.05;margin:26px 0}.customer-gallery-entry p{color:var(--muted);max-width:590px}
@media(max-width:850px){.customer-gallery-entry{grid-template-columns:1fr}.customer-gallery-entry figure{min-height:110vw;max-height:760px}.customer-gallery-entry>div{padding:42px 24px 55px}}
@media(max-width:680px){.customer-gallery-tab{position:static;transform:none;writing-mode:horizontal-tb;width:100%;padding:18px;grid-column:1/-1}}

/* Customer event collage */
.customer-event{padding:clamp(4rem,7vw,7rem) 6vw;background:var(--navy);color:#fff}.customer-event-copy{max-width:900px;margin-bottom:42px}.customer-event-copy>span,.customer-event-copy small{display:block;color:#d6be8e;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.customer-event-copy h3{font-family:"Libre Caslon Display",serif;font-size:clamp(2.5rem,4vw,5rem);font-weight:400;line-height:1.05;margin:18px 0 26px}.customer-event-copy p{max-width:780px;color:#c7d0d6}.customer-event-copy small{margin-top:27px}.customer-event-collage{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(150px,14vw);gap:8px}.customer-event-collage figure{margin:0;overflow:hidden;background:var(--navy2)}.customer-event-collage img{transition:transform .5s ease}.customer-event-collage figure:hover img{transform:scale(1.025)}.customer-event-collage .event-main{grid-column:span 2;grid-row:span 3}.customer-event-collage .event-portrait{grid-column:span 2;grid-row:span 2}.customer-event-collage .event-wide{grid-column:span 2}
@media(max-width:680px){.customer-event{padding:4rem 24px}.customer-event-collage{grid-template-columns:repeat(2,1fr);grid-auto-rows:42vw}.customer-event-collage .event-main{grid-column:span 2;grid-row:span 2}.customer-event-collage .event-portrait{grid-column:span 2;grid-row:span 2}.customer-event-collage .event-wide{grid-column:span 2}}
/* Das breite Showroom-Motiv im ersten Bereich zeigt beide Personen vollständig. */
.hero.hero-team{grid-template-columns:.72fr 1.28fr}
.hero-team .hero-image img{object-position:center}
@media(max-width:1050px){.hero.hero-team{grid-template-columns:1fr}.hero-team .hero-image{min-height:0;aspect-ratio:3/2}}
/* Mehr Ruhe im Einstieg und etwas mehr Raum für Harm auf der rechten Bildseite. */
.hero-team h1{font-size:clamp(2.8rem,5.35vw,6.5rem)}
.hero-team .hero-image img{object-fit:contain;object-position:center;background:var(--navy)}
@media(max-width:680px){.hero-team h1{font-size:clamp(2.7rem,12vw,4rem)}.hero-team .hero-image img{object-position:center}}
/* Das Titelbild steht bewusst kompakter mit einem ruhigen blauen Rand. */
.hero-team .hero-image{align-self:center;height:calc(100vh - 176px);min-height:520px;margin:44px 42px 44px 18px}
@media(max-width:1050px){.hero-team .hero-image{width:calc(100% - 64px);height:auto;min-height:0;margin:32px;aspect-ratio:3/2}}
@media(max-width:680px){.hero-team .hero-image{width:calc(100% - 40px);margin:20px 20px 32px}}
/* Reduzierter Einstieg: ein Bild, eine Leitidee und bewusst viel freie Fläche. */
.hero.hero-team{grid-template-columns:.88fr 1.12fr}
.hero-team .hero-copy{padding:clamp(4rem,7vw,7rem) 5vw}
.hero-team h1{font-size:clamp(2.7rem,4.6vw,5.4rem);line-height:1.06;max-width:760px;margin:0}
.hero-team .hero-image:after{display:none}
.floating-cta{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
.floating-cta.visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
@media(max-width:1050px){.hero.hero-team{grid-template-columns:1fr}.hero-team .hero-copy{padding:5rem 8vw 3rem}.hero-team h1{max-width:820px}.hero-team .hero-image{margin-top:0}}
@media(max-width:680px){.hero-team .hero-copy{padding:4.5rem 24px 2.5rem}.hero-team h1{font-size:clamp(2.55rem,11vw,3.65rem)}}

/* Großzügiger, ineinanderlaufender Titel: Fotografie und Leitidee bilden eine Fläche. */
.hero.hero-team{display:block;min-height:100vh;padding-top:86px;overflow:hidden}
.hero-team .hero-image{position:absolute;top:86px;right:0;bottom:auto;left:0;width:100%;height:calc(100vh - 86px);min-height:620px;margin:0;aspect-ratio:auto}
.hero-team .hero-image img{width:100%;height:100%;object-fit:cover;object-position:center;background:var(--navy)}
.hero-team .hero-copy{position:relative;z-index:3;display:flex;align-items:center;width:46%;min-height:calc(100vh - 86px);padding:5vw 0 5vw 5vw}
.hero-team h1{max-width:720px;font-size:clamp(2.8rem,4.65vw,5.65rem);line-height:1.04;text-shadow:0 2px 22px rgba(0,0,0,.16)}
@media(max-width:1050px){.hero.hero-team{padding-top:86px}.hero-team .hero-image{top:86px;right:0;bottom:auto;left:0;margin:0;width:100%;height:calc(100vh - 86px);min-height:620px;aspect-ratio:auto}.hero-team .hero-copy{width:52%;min-height:calc(100vh - 86px);padding:6vw 0 6vw 6vw}.hero-team h1{font-size:clamp(2.7rem,5.5vw,4.8rem)}}
@media(max-width:680px){.hero.hero-team{min-height:auto;padding-top:72px}.hero-team .hero-image{position:relative;top:auto;right:auto;bottom:auto;left:auto;width:100%;height:auto;min-height:0;aspect-ratio:8/5;margin:0}.hero-team .hero-image img{object-fit:cover;object-position:64% center}.hero-team .hero-copy{position:absolute;top:72px;left:0;width:62%;min-height:0;height:calc((100vw * 5 / 8));padding:8vw 0 8vw 24px}.hero-team h1{font-size:clamp(2rem,8.2vw,3.2rem);line-height:1.03}}

/* Lookwelten AF und HH */
.world-actions{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-top:1px solid currentColor;padding-top:20px}.world-actions a,.world-gallery-button{border:0;border-top:0;padding:0;background:transparent;color:inherit;text-align:left;font:600 10px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;opacity:.82}.world-actions a:hover,.world-gallery-button:hover,.world-actions a:focus-visible,.world-gallery-button:focus-visible{opacity:1;color:var(--gold)}
.look-dialog{width:min(1240px,94vw);max-height:92vh;padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 28px 80px rgba(0,0,0,.32)}.look-dialog::backdrop{background:rgba(8,22,34,.78);backdrop-filter:blur(5px)}.look-dialog[open]{display:grid;grid-template-columns:.72fr 1.28fr}.look-dialog-close{position:absolute;z-index:4;right:18px;top:14px;width:44px;height:44px;border:1px solid rgba(255,255,255,.38);background:rgba(16,40,61,.82);color:#fff;font-size:28px;cursor:pointer}.look-dialog-heading{padding:clamp(3rem,5vw,6rem);display:flex;flex-direction:column;justify-content:center;background:var(--cream)}.look-dialog-heading>span{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#8a7046}.look-dialog-heading h2{font-family:"Libre Caslon Display",serif;font-size:clamp(2.6rem,4.5vw,5.4rem);font-weight:400;line-height:1.02;margin:28px 0}.look-dialog-heading p{color:var(--muted);max-width:460px}.look-dialog-heading .button{align-self:flex-start;margin-top:26px}.look-gallery{display:grid;gap:2px;background:var(--navy);overflow:auto;max-height:92vh}.look-gallery figure{margin:0;min-height:760px;background:#e9e4dc}.look-gallery img{object-fit:cover;object-position:center top}.hh-look-gallery{grid-template-columns:1fr 1fr}.hh-look-gallery figure{min-height:820px}.af-look-gallery{grid-template-columns:1fr}.af-look-gallery img{object-fit:contain;background:#fff}
@media(max-width:850px){.look-dialog[open]{display:block;overflow:auto}.look-dialog-heading{padding:55px 28px}.look-gallery,.hh-look-gallery{grid-template-columns:1fr;max-height:none;overflow:visible}.look-gallery figure,.hh-look-gallery figure{min-height:0;aspect-ratio:3/4}.world-actions{grid-template-columns:1fr;gap:16px}}

.materials-content{grid-column:2}
@media(max-width:1050px){.materials-content{grid-column:auto}}
.bremen-finale{margin:0;background:var(--navy);min-height:min(82vh,920px);padding:clamp(3rem,6vw,6rem) 8vw;display:grid;grid-template-columns:minmax(300px,.86fr) 1.14fr;align-items:center;gap:clamp(3rem,8vw,9rem);overflow:hidden}
.bremen-finale figure{margin:0;justify-self:start;width:min(100%,620px);max-height:760px;overflow:hidden}
.bremen-finale img{width:100%;height:auto;object-fit:cover;object-position:center 36%;transform:translateX(-1.5%)}
.bremen-finale blockquote{margin:0;max-width:650px;border:0;padding:0;color:#e2c99b;font-size:clamp(2.7rem,5vw,6.2rem);line-height:1.08}
@media(max-width:850px){.bremen-finale{min-height:0;grid-template-columns:1fr;padding:4rem 24px;gap:2.5rem}.bremen-finale figure{justify-self:center;width:min(82vw,520px);max-height:none}.bremen-finale img{transform:none}.bremen-finale blockquote{font-size:clamp(2.5rem,10vw,4.4rem)}}

/* Bilder in Kunden- und Lookgalerien vollständig und ohne abgeschnittene Gesichter. */
.customer-event-collage .event-main img,.customer-event-collage .event-portrait img{object-position:center top}
.look-gallery,.hh-look-gallery,.af-look-gallery{display:block;overflow-y:auto;overflow-x:hidden;max-height:92vh;scroll-behavior:smooth}
.look-gallery figure,.hh-look-gallery figure,.af-look-gallery figure{margin:0;min-height:0;height:auto;aspect-ratio:auto;border-bottom:0;background:#fff}
.look-gallery img,.hh-look-gallery img,.af-look-gallery img{display:block;width:100%;height:auto;object-fit:contain;object-position:center top;background:#fff}
@media(max-width:850px){.look-gallery,.hh-look-gallery,.af-look-gallery{max-height:none;overflow:visible}.look-gallery figure,.hh-look-gallery figure,.af-look-gallery figure{aspect-ratio:auto}}

/* Bildflächen ohne sichtbare Trennlinien direkt aneinanderstoßen lassen. */
.gallery-photos,.wedding-gallery-photos,.occasion-gallery{gap:0}
.gallery-photos{grid-template-columns:repeat(2,1fr)}
@media(max-width:680px){.gallery-photos{grid-template-columns:1fr}}
.look-gallery figure+figure,.hh-look-gallery figure+figure,.af-look-gallery figure+figure{margin-top:-2px}

/* Keep division branding in its own row at every viewport and zoom level. */
.world-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.world-heading>span{order:-1;min-width:0;overflow-wrap:anywhere}
.world .division-mark{position:static;flex:0 0 92px;align-self:center;width:92px;height:92px}
.world h3{margin:28px 0;flex:1}
@media(max-width:680px){.world-heading{gap:16px}.world .division-mark{flex-basis:72px;width:72px;height:72px}}

html[lang="en"] .floating-cta span{font-size:14px;letter-spacing:0}
@media(max-width:680px){html[lang="en"] .floating-cta span{font-size:11px}}
