@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-garamond-400.ttf')}@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-garamond-600.ttf');font-weight:600}@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-400.ttf')}@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat-600.ttf');font-weight:600}:root{--wine:#68191e;--ivory:#f1ece5;--ink:#302521;--mute:#776a62;--line:#d9cec2;--gold:#b89567}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ivory);color:var(--ink);font:14px/1.7 Montserrat,sans-serif}a{color:inherit}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.skip{position:absolute;top:-100px}.skip:focus{top:5px;background:white;z-index:20}header{height:110px;padding:20px 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.main-logo{width:210px;max-height:65px;object-fit:contain}nav{display:flex;gap:28px;align-items:center}nav a{text-decoration:none;font-size:11px}button{cursor:pointer}nav button,.config-toolbar button{border:0;background:none;color:var(--wine);text-decoration:underline;font-size:11px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:640px}.hero-copy{padding:65px 6vw;background:var(--wine);color:var(--ivory)}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:600}.hero .eyebrow{color:#d3b796}h1,h2,h3{font-family:Cormorant,Georgia,serif;font-weight:400;line-height:1.02}h1{font-size:clamp(62px,6vw,94px);margin:35px 0 24px}h1 em,h2 em{font-weight:400;color:#b89567}h2{font-size:clamp(40px,4vw,62px);margin:16px 0 22px}h3{font-size:29px;margin:10px 0}p{margin:0 0 20px}.hero-copy>p:not(.eyebrow){max-width:430px;font-size:13px;line-height:1.9}.button{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--ivory);color:var(--wine);padding:17px 22px;text-decoration:none;font-weight:600;font-size:12px;border:1px solid transparent;cursor:pointer}.hero .button{max-width:330px;margin-top:32px}.hero small{display:block;font-size:9px;margin-top:15px;color:#d9c8be}.hero-image{position:relative;min-height:640px}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-image span{position:absolute;bottom:32px;left:35px;color:white;font-family:Cormorant;font-size:30px;text-shadow:0 1px 12px #000}section.family,section.composer,.closing{padding:75px 6vw}.section-title{max-width:690px}.section-title>p:last-child{color:var(--mute);max-width:570px}#brands{display:grid;grid-template-columns:repeat(3,1fr);margin-top:38px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.brand-card{padding:26px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-height:145px}.brand-card img{max-width:230px;height:45px;object-fit:contain;object-position:left}.brand-card span{font-size:10px;color:var(--mute)}.brand-card:hover{background:#fff8}.composer{background:#faf8f4;border-top:1px solid var(--line)}.event-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:35px 0 40px}.event-fields label{font-size:10px;font-weight:600}.event-fields input{display:block;width:100%;margin-top:9px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;color:var(--wine);border-radius:0}.event-fields input[type=number]{font:600 42px Cormorant}.event-fields small{font-size:9px;color:var(--mute);font-weight:400}.config-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:45px;align-items:start}.config-toolbar{display:flex;justify-content:space-between;padding-bottom:20px;font-size:10px}.service{border-top:1px solid var(--line);padding:27px 0 30px;scroll-margin-top:25px}.service-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.service-head img{width:190px;height:43px;object-fit:contain;object-position:left}.service-head a{font-size:9px;color:var(--wine)}.service-desc{font-size:11px;color:var(--mute);margin:16px 0}.service h3{font-size:27px}.option-label{font-size:10px;font-weight:600;margin:17px 0 9px}.choices{display:flex;flex-wrap:wrap;gap:9px}.choice{padding:12px 15px;background:white;border:1px solid var(--line);text-align:left;color:var(--ink);font-size:11px;line-height:1.5;min-height:55px}.choice small{display:block;font-size:9px;color:var(--mute);margin-top:4px}.choice[aria-pressed=true]{background:var(--wine);border-color:var(--wine);color:white}.choice[aria-pressed=true] small{color:#e2c9b7}.hours{display:flex;align-items:center;gap:10px;font-size:10px;margin:10px 0}.hours input{width:65px;border:1px solid var(--line);padding:6px}.note{font-size:10px;color:var(--mute);margin:12px 0 0}#summary{position:sticky;top:20px;background:var(--wine);color:var(--ivory);padding:26px;max-height:calc(100vh - 40px);overflow:auto;border-top:3px solid var(--gold)}#summary h3{font-size:35px;margin-bottom:22px}.summary-list{list-style:none;padding:0;margin:0}.summary-list li{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #ffffff25;padding:12px 0;font-size:10px}.summary-list small{display:block;color:#d7bfb8;font-size:9px;margin-top:4px}.summary-list strong{white-space:nowrap;font-size:11px}.total{border-top:1px solid #b89567;margin-top:20px;padding-top:18px}.total strong{font:600 46px Cormorant}.total small{font-size:10px}.sum-note{font-size:9px;color:#dfc7bf;margin:12px 0 22px}.summary-actions{display:grid;gap:9px}.summary-actions .button{font-size:10px;padding:13px 14px}.summary-actions .outline{background:none;border:1px solid #c49b8b;color:var(--ivory)}.project-name{display:block;font-size:9px;margin-bottom:16px}.project-name input{width:100%;padding:10px;margin-top:7px;background:#ffffff0a;color:white;border:1px solid #ffffff40}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin:45px 0}.steps span{color:var(--gold);font-size:12px}.steps p{font-size:11px;color:var(--mute)}details{border-top:1px solid var(--line);padding:18px 0;max-width:800px}summary{cursor:pointer;font-size:12px;font-weight:600}details p{font-size:11px;color:var(--mute);margin-top:15px}footer{padding:50px 6vw 70px;border-top:1px solid var(--line)}footer p{font-size:11px;margin-top:20px}.fine{font-size:9px;color:var(--mute)}.mobile-bar{display:none}.status{font-size:10px;margin:10px 0}.saved{font-size:9px;color:var(--mute)}@media(max-width:1000px){.config-grid{grid-template-columns:minmax(0,1fr) 320px;gap:25px}.event-fields{grid-template-columns:repeat(2,1fr)}h1{font-size:70px}.hero-copy{padding:50px 5vw}}@media(max-width:760px){header{height:90px}.main-logo{width:155px}nav a:first-child{display:none}nav{gap:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6vw}.hero-image{min-height:370px}.hero-image img{object-position:center 40%}h1{font-size:68px}.family,.composer,.closing{padding:55px 6vw!important}#brands{grid-template-columns:repeat(2,1fr)}.brand-card{padding:20px 15px}.brand-card img{max-width:100%;height:35px}.config-grid{grid-template-columns:1fr}#summary{position:static;max-height:none}.steps{grid-template-columns:1fr;gap:20px}.steps article{border-top:1px solid var(--line);padding-top:20px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--wine);color:var(--ivory);padding:10px 6vw calc(10px + env(safe-area-inset-bottom));justify-content:space-between;align-items:center;z-index:10;border-top:1px solid var(--gold);font-size:9px}.mobile-bar strong{font:600 26px Cormorant}.mobile-bar a{font-size:11px}footer{padding-bottom:110px}.service-head img{width:160px}.event-fields{gap:18px}.event-fields label{font-size:9px}.event-fields input{min-width:0;font-size:12px}}@media print{header nav,.hero,.family,.closing,footer,.mobile-bar,.summary-actions,.config-toolbar,.event-fields,#services{display:none!important}.composer{padding:0!important}.composer .section-title{display:none}.config-grid{display:block}#summary{position:static;max-height:none;background:white;color:black;border:0;padding:0}.summary-list small,.sum-note{color:#555}.summary-list li{border-bottom:1px solid #ccc}.project-name input{color:black;border:0}.total{border-color:#ccc}body{background:white}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand-card{align-items:center;text-align:center}.brand-card img{object-position:center}.hero-image video{width:100%;height:100%;position:absolute;object-fit:cover}.hero-image span{pointer-events:none;bottom:60px}#contact-form label{display:block;font-size:11px;margin:12px 0}#contact-form input{display:block;width:100%;padding:12px;margin-top:6px;background:#ffffff0a;color:white;border:1px solid #ffffff55;font-size:13px}#contact-form h4{font:400 27px Cormorant;margin:22px 0 12px}button:disabled{opacity:.6;cursor:wait}.choice{font-size:12px}.choice small,.note,.service-desc{font-size:11px}.hero h1{font-size:clamp(56px,5.5vw,78px)}@media print{#contact-form{display:none!important}}@media(prefers-reduced-motion:reduce){.hero-image video{visibility:hidden}}

.service-head{justify-content:center;flex-direction:column;gap:8px}.service-head img{object-position:center}

.hero h1{font-size:clamp(46px,4.8vw,72px)}.hero-subtitle{display:block;font-size:clamp(29px,2.8vw,42px);line-height:1.12;margin-top:22px;color:var(--ivory)}.hero-image video{pointer-events:none}.hero-image video::-webkit-media-controls{display:none!important}.hero-image video::-webkit-media-controls-enclosure{display:none!important}

.service{background:#fff;border:1px solid var(--line);border-top:4px solid var(--wine);padding:27px;margin:0 0 24px;border-radius:8px;box-shadow:0 5px 18px #30252106}.service-head{padding:10px 0 20px;margin-bottom:20px;border-bottom:1px solid #eee7df}.service-head img{width:220px;height:52px}.service h3{margin:15px 0}.contact-section{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;padding:70px 6vw;background:var(--ivory);border-top:1px solid var(--line)}.contact-intro a{font-size:13px;color:var(--wine)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-grid label{font-size:12px}.contact-grid input,.contact-grid textarea{display:block;width:100%;padding:13px;background:#fff;border:1px solid var(--line);margin-top:8px;font:inherit;border-radius:4px}.message-label{grid-column:1/-1}.contact-section button{background:var(--wine);color:white}.contact-section .fine{margin-top:20px}#general-status{font-size:12px;margin-top:16px}@media(max-width:760px){.service{padding:22px 18px}.contact-section{grid-template-columns:1fr;gap:30px}.contact-grid{grid-template-columns:1fr}.message-label{grid-column:auto}}@media print{.contact-section{display:none!important}}

.language-switch{display:flex;gap:5px}.language-switch button{border:1px solid transparent;background:none;padding:7px;color:var(--wine);font-size:11px;cursor:pointer}.language-switch button[aria-pressed=true]{border-bottom-color:var(--wine);font-weight:600}.hero .eyebrow{text-transform:uppercase}.total{scroll-margin-top:25px}@media(max-width:760px){header{padding:16px 4vw;height:auto;min-height:90px}nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}nav a[href="#maisons"],nav a[href="#contact"]{display:none}.main-logo{width:145px}.language-switch button{padding:5px}.hero-subtitle{max-width:520px}}

/* Experience: language selection must remain visible at every mobile width. */
.language-switch button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:13px;text-decoration:none;border:1px solid var(--line);border-radius:4px}.language-switch button[aria-pressed=true]{background:var(--wine);color:white;border-color:var(--wine)}
@media(max-width:760px){
header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 18px;min-height:84px;height:auto}.main-logo{width:145px;max-width:100%}header nav{display:flex;gap:0;justify-content:flex-end}header nav>a{display:none!important}.language-switch{display:flex!important;gap:4px;flex-wrap:nowrap}.language-switch button{display:inline-flex!important;min-width:40px;min-height:44px;padding:8px;font-size:13px}.hero-copy{padding:38px 20px}.hero h1{font-size:clamp(40px,10vw,59px);line-height:1.07;letter-spacing:-.6px}.hero-subtitle{font-size:clamp(28px,7vw,37px);line-height:1.2;margin-top:18px}.hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}.hero small{font-size:11px}.hero .eyebrow{font-size:11px;letter-spacing:.14em}.hero .button{max-width:100%;width:100%;font-size:14px;min-height:50px}.hero-image{min-height:320px;height:54vh;max-height:450px}.family,.composer,.closing{padding:48px 20px!important}h2{font-size:42px}.section-title>p:last-child{font-size:14px}.brand-card{padding:21px 12px;min-width:0;gap:18px}.brand-card img{max-width:100%;width:100%;height:38px}.brand-card span{font-size:11px;line-height:1.6}.event-fields{grid-template-columns:1fr 1fr;gap:18px 15px}.event-fields label,.event-fields small{font-size:12px}.event-fields input{font-size:16px;min-height:48px}.event-fields input[type=number]{font-size:38px}.config-toolbar{align-items:center;gap:12px;font-size:12px}.config-toolbar button{font-size:12px;min-height:44px}.service{padding:22px 18px;margin-bottom:22px}.service h3{font-size:30px}.service-desc,.note{font-size:13px;line-height:1.75}.option-label{font-size:13px}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice{font-size:13px;padding:13px 12px;min-height:58px;width:100%}.choice small{font-size:12px;line-height:1.5}.service-head a{font-size:12px;min-height:36px;display:flex;align-items:center}#summary{padding:25px 20px}.summary-list li{font-size:12px;gap:12px}.summary-list small{font-size:11px}.summary-list strong{font-size:12px}.sum-note{font-size:12px}.total small{font-size:12px}#contact-form label{font-size:13px}#contact-form input{font-size:16px;min-height:48px}.summary-actions .button{font-size:13px;min-height:50px}.status{font-size:13px}.steps p,details p{font-size:14px}.steps h3{font-size:31px}details summary{font-size:14px;line-height:1.6;padding:8px 0;min-height:44px}.contact-section{padding:48px 20px}.contact-intro a{font-size:14px;line-height:2}.contact-grid label{font-size:13px}.contact-grid input,.contact-grid textarea{font-size:16px;min-height:48px}.contact-section button{width:100%;font-size:14px;min-height:50px}.contact-section .fine{font-size:12px}.mobile-bar{font-size:11px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));min-height:65px}.mobile-bar a{font-size:13px;min-height:44px;display:flex;align-items:center}.mobile-bar strong{font-size:29px}footer{padding:38px 20px 115px}footer p,footer a{font-size:13px}footer .fine{font-size:11px}
}
@media(max-width:360px){header{padding:12px;gap:8px}.main-logo{width:135px}.language-switch{gap:2px}.language-switch button{min-width:36px}.choices{grid-template-columns:1fr}.event-fields{grid-template-columns:1fr}.hero h1{font-size:38px}}
