:root{
  --burgundy:#6F1D2C; --ivory:#F6F0E7; --dark:#351018; --gold:#B39763; --warmwhite:#FFFCF7;
  --sans:"Montserrat",Arial,sans-serif; --serif:"Cormorant Garamond",Georgia,serif;
  --pad:clamp(22px,4vw,64px); --section:clamp(80px,11vw,160px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--warmwhite);color:var(--dark);font-family:var(--sans);line-height:1.5}
a{color:inherit;text-decoration:none}
.sr-only{position:absolute;left:-9999px}

.site-header{position:absolute;z-index:30;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:28px var(--pad);color:var(--warmwhite)}
.brand{display:block;background:transparent;padding:0}
.brand img{display:block;width:clamp(220px,20vw,320px);height:auto;filter:brightness(0) invert(1)}
.header-right{display:flex;align-items:center;gap:24px}
.main-nav{display:flex;gap:clamp(16px,2vw,34px);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.nav-cta{border-bottom:1px solid;padding-bottom:3px}
.language-switcher{display:flex;gap:7px}
.lang-link{color:inherit;padding:3px;font:600 10px var(--sans);opacity:.6}
.lang-link.active{opacity:1;border-bottom:1px solid}
.menu-toggle{display:none;background:none;border:0;color:inherit;width:42px;height:42px}
.menu-toggle span:not(.sr-only){display:block;height:1px;background:currentColor;margin:8px 0}

.hero{position:relative;min-height:100svh;color:var(--warmwhite);display:flex;align-items:flex-end;overflow:hidden}
.hero-media,.card-media,.tuscany-media{background-size:cover;background-position:center}
.hero-media{position:absolute;inset:0;background-image:url("https://images.unsplash.com/photo-1782070308261-15cb7a4720ee?auto=format&fit=crop&w=2400&q=88");transform:scale(1.02);background-position:center center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,5,9,.25),rgba(20,5,9,.12) 45%,rgba(20,5,9,.74))}
.hero-inner{position:relative;z-index:2;padding:0 var(--pad) clamp(62px,8vw,110px);width:min(1450px,100%)}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.eyebrow.dark{color:var(--burgundy)}
.hero h1,.intro h2,.services h2,.tuscany h2,.about h2,.enquire h2{font-family:var(--serif);font-weight:400;letter-spacing:-.03em;line-height:.95}
.hero h1{font-size:clamp(56px,8.3vw,138px);line-height:.86;max-width:1250px;margin:27px 0 10px}
html[lang="es"] .hero h1,html[lang="fr"] .hero h1{font-size:clamp(42px,5.2vw,82px);line-height:.92;max-width:980px}
.hero-line{font-family:var(--serif);font-size:clamp(28px,3vw,48px);margin:0 0 34px}
.text-link{display:inline-flex;gap:12px;text-transform:uppercase;font-size:11px;letter-spacing:.13em;font-weight:600}
.text-link.dark{color:var(--burgundy)}

.section{padding:var(--section) var(--pad)}
.intro{background:var(--ivory);display:grid;grid-template-columns:.3fr 1.75fr .85fr;gap:clamp(30px,5vw,90px)}
.section-index{font-family:var(--serif);font-size:26px;color:var(--gold)}
.intro h2{font-size:clamp(48px,6.1vw,94px);margin:16px 0 34px}
.lead{font-family:var(--serif);font-size:clamp(22px,2.4vw,34px);line-height:1.25}
.intro-note{padding-top:68px;font-size:14px}
.split-showcase{display:grid;grid-template-columns:1fr 1fr}
.showcase-card{position:relative;min-height:74vh;display:flex;align-items:flex-end;color:var(--warmwhite);overflow:hidden}
.card-media{position:absolute;inset:0}
.card-wedding .card-media{background-image:url("https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=1600&q=86")}
.card-celebration .card-media{background-image:url("https://images.unsplash.com/photo-1519225421980-715cb0215aed?auto=format&fit=crop&w=1600&q=86")}
.card-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(20,5,9,.7))}
.card-content{position:relative;z-index:2;padding:clamp(28px,4vw,64px);max-width:620px}
.card-content h3{font:400 clamp(52px,5.4vw,90px)/.88 var(--serif);margin:16px 0 26px}
.card-content p{font-size:14px;max-width:480px}
.services-head{display:flex;justify-content:space-between;gap:60px;margin-bottom:80px}
.services-head h2{font-size:clamp(48px,5.7vw,84px);margin:0}
.service-list{border-top:1px solid rgba(53,16,24,.25)}
.service-row{display:grid;grid-template-columns:.25fr 1fr 1.2fr;gap:30px;padding:28px 0;border-bottom:1px solid rgba(53,16,24,.25)}
.service-row>span{font:24px var(--serif);color:var(--gold)}
.service-row h3{font:500 clamp(27px,3vw,44px) var(--serif);margin:0}
.service-row p{font-size:14px;margin:8px 0 0}
.manifesto{background:var(--dark);color:var(--warmwhite);padding:var(--section) var(--pad)}
.manifesto-top{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:22px}
.manifesto-number{font:28px var(--serif);color:var(--gold)}
.manifesto-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(45px,8vw,130px);padding-top:70px}
.manifesto h2{font:400 clamp(54px,7vw,110px)/.88 var(--serif);margin:0}
.manifesto h2 em{color:var(--gold)}
.manifesto-copy{font:clamp(20px,2vw,30px)/1.28 var(--serif)}
.tuscany{background:var(--ivory);display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,7vw,110px);align-items:center}
.tuscany-media{min-height:70vh;background-image:url("https://images.unsplash.com/photo-1518098268026-4e89f1a2cd8e?auto=format&fit=crop&w=1800&q=86")}
.tuscany h2,.about h2{font-size:clamp(50px,5.6vw,84px);margin:18px 0 26px}
.tuscany-copy p{max-width:540px}
.about{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(50px,8vw,140px)}
.about-copy{font:clamp(20px,1.8vw,28px)/1.35 var(--serif);padding-top:45px}
.enquire{background:var(--burgundy);color:var(--warmwhite);padding:var(--section) var(--pad);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,130px)}
.enquire h2{font-size:clamp(58px,7vw,108px);margin:20px 0}
.enquire-form{display:grid;grid-template-columns:1fr 1fr;gap:25px 32px}
.enquire-form label{display:flex;flex-direction:column;gap:8px}
.enquire-form label.full{grid-column:1/-1}
.enquire-form label span{font-size:10px;text-transform:uppercase;letter-spacing:.16em}
.enquire-form input,.enquire-form select,.enquire-form textarea{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.55);color:var(--warmwhite);padding:10px 0 14px;font:inherit;outline:none}
.enquire-form select option{color:var(--dark)}
.enquire-form button{grid-column:1/-1;justify-self:start;background:var(--warmwhite);color:var(--burgundy);border:0;padding:16px 22px;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:600;cursor:pointer}
.form-note{grid-column:2;font-size:10px;opacity:.7;margin-top:-75px}
footer{background:var(--dark);color:var(--warmwhite);padding:58px var(--pad) 28px}
.footer-logo{width:min(330px,60vw);filter:brightness(0) invert(1);opacity:.93}
.footer-meta{display:flex;gap:30px;flex-wrap:wrap;margin-top:45px;font-size:12px;opacity:.8}
.footer-meta a,.footer-bottom a{transition:opacity .2s ease,border-color .2s ease;border-bottom:1px solid transparent}
.footer-meta a:hover,.footer-meta a:focus-visible,.footer-bottom a:hover,.footer-bottom a:focus-visible{opacity:1;border-bottom-color:currentColor}
.footer-legal{display:inline-flex;align-items:center;gap:6px}
.footer-bottom{display:flex;justify-content:space-between;margin-top:60px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.65}

@media(max-width:1000px){
  .main-nav{position:fixed;inset:0;background:var(--dark);padding:110px 28px 40px;flex-direction:column;justify-content:center;align-items:flex-start;transform:translateX(100%);transition:.35s;font:34px var(--serif);text-transform:none;letter-spacing:0}
  .main-nav.open{transform:translateX(0)}
  .menu-toggle{display:block;z-index:45}.language-switcher{z-index:46}
  .intro,.manifesto-grid,.tuscany,.about,.enquire{grid-template-columns:1fr}
  .split-showcase{grid-template-columns:1fr}.services-head{display:block}
  .service-row{grid-template-columns:.2fr 1fr}.service-row p{grid-column:2}
  .form-note{grid-column:1;margin:0}.brand img{width:200px}
}
@media(max-width:600px){
  .site-header{padding:16px}.brand img{width:160px}.language-switcher{gap:2px}.lang-link{font-size:9px}
  .hero h1,html[lang="es"] .hero h1,html[lang="fr"] .hero h1{font-size:clamp(48px,13vw,70px);line-height:.9;max-width:100%}
  .section{padding-top:85px;padding-bottom:85px}.intro h2,.services h2,.tuscany h2,.about h2{font-size:50px}
  .manifesto h2{font-size:55px}.enquire h2{font-size:60px}.enquire-form{grid-template-columns:1fr}
  .enquire-form label.full,.enquire-form button{grid-column:auto}.footer-bottom{flex-direction:column;gap:15px}
}


/* Legal pages */
.legal-page{background:var(--ivory);min-height:100vh}
.legal-header{position:relative;background:var(--dark);color:var(--warmwhite)}
.legal-header .site-header{position:relative}
.legal-main{padding:clamp(70px,9vw,130px) var(--pad);max-width:1180px;margin:0 auto}
.legal-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--burgundy);margin:0 0 18px}
.legal-main h1{font:400 clamp(54px,7vw,102px)/.92 var(--serif);letter-spacing:-.03em;margin:0 0 30px;color:var(--dark)}
.legal-updated{font-size:12px;opacity:.65;margin-bottom:55px}
.legal-content{max-width:820px}
.legal-content h2{font:500 clamp(28px,3vw,42px)/1.05 var(--serif);margin:48px 0 16px;color:var(--burgundy)}
.legal-content h3{font:600 15px/1.4 var(--sans);margin:30px 0 10px;text-transform:uppercase;letter-spacing:.08em}
.legal-content p,.legal-content li{font-size:14px;line-height:1.75}
.legal-content ul{padding-left:20px}
.legal-content a{text-decoration:underline;text-underline-offset:3px}
.legal-note{border-left:2px solid var(--gold);padding:4px 0 4px 20px;margin:30px 0;font-family:var(--serif);font-size:20px;line-height:1.4}
.legal-back{display:inline-flex;margin-top:55px;text-transform:uppercase;font-size:11px;letter-spacing:.13em;font-weight:600;color:var(--burgundy)}
@media(max-width:600px){.legal-main{padding-top:60px}.legal-content p,.legal-content li{font-size:13px}}
