:root{--ivory:#ffffff;--ink:#17231f;--gold:#c4a16b;--green:#17352d;--line:rgba(255,255,255,.32)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,system-ui,sans-serif}
.hero{min-height:100svh;position:relative;color:#fff;background:#0b1814;display:flex;flex-direction:column;overflow:hidden}
.hero:before{content:'';position:absolute;inset:-4%;background:url('assets/italian-wedding-terrace.jpg') center 57%/cover no-repeat;transform:scale(1.04);animation:heroCinema 24s ease-in-out infinite alternate;will-change:transform}
.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,18,14,.64) 0%,rgba(8,20,16,.14) 40%,rgba(7,18,14,.62) 100%);animation:shadeBreath 12s ease-in-out infinite alternate}
.nav{height:96px;position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4.8vw;border-bottom:1px solid var(--line)}
.wordmark,.footer-mark{font-family:Italiana,serif;font-size:28px;color:#fff;text-decoration:none;letter-spacing:-1px}
.wordmark i,.footer-mark i{font-size:.62em;font-weight:400;margin:0 .2em}
.nav nav{display:flex;gap:42px}
.nav nav a{color:#fff;text-decoration:none;font-size:13px;text-transform:uppercase;letter-spacing:.12em}
.language{justify-self:end;border:0;background:transparent;color:#fff;font:500 13px Inter;display:flex;gap:8px;cursor:pointer}
.language-picker{justify-self:end;position:relative}.language-menu{position:absolute;right:0;top:30px;width:145px;background:#fff;padding:7px;box-shadow:0 14px 34px rgba(0,0,0,.22)}.language-menu[hidden]{display:none}.language-menu button{display:block;width:100%;border:0;background:transparent;color:var(--ink);padding:10px 12px;text-align:left;font:500 13px Inter;cursor:pointer}.language-menu button:hover,.language-menu button:focus{background:#edf2ef;outline:none}
.hero-content{position:relative;z-index:1;width:min(970px,90vw);margin:auto;text-align:center;padding:70px 0 90px;animation:heroReveal 1.35s cubic-bezier(.2,.75,.2,1) both}
.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.24em;font-size:12px;font-weight:600}
.eyebrow{margin:0 0 20px}
.hero h1,.vision h2,.partners h2,.result h2{font-family:Italiana,serif;font-weight:400;font-size:clamp(54px,7.4vw,108px);line-height:.94;letter-spacing:-.035em;margin:0}
.hero h1 em,.vision h2 em,.partners h2 em,.result h2 em{font-weight:400;color:#ffffff}
.intro{max-width:650px;margin:28px auto 34px;font-size:17px;line-height:1.65;font-weight:300}
.prompt-card{max-width:900px;margin:auto;background:#fff;color:var(--ink);text-align:left;padding:20px 22px 14px;box-shadow:0 24px 70px rgba(0,0,0,.22);animation:promptReveal 1.1s .35s cubic-bezier(.2,.75,.2,1) both}
.prompt-card label{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:600;color:#65706c;margin-bottom:10px}
.prompt-row{display:flex;align-items:stretch;gap:14px}
.prompt-row textarea{flex:1;border:0;background:transparent;resize:none;padding:4px 6px;font:400 16px/1.5 Inter;color:var(--ink);outline:none;min-height:58px}
.prompt-row textarea::placeholder{color:#7d8581}
.prompt-row>button{border:0;border-left:1px solid #d8d7d0;background:transparent;color:var(--green);padding:0 10px 0 24px;display:flex;align-items:center;gap:22px;font:600 13px Inter;cursor:pointer;white-space:nowrap}
.continue{border:0;background:var(--green);color:#fff;padding:0 24px;display:flex;align-items:center;gap:22px;font:500 13px Inter;cursor:pointer;white-space:nowrap}
.prompt-row>button b{font-size:22px;font-weight:300}
.suggestions{border-top:1px solid #d8d7d0;margin-top:13px;padding-top:12px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.suggestions span{font-size:11px;color:#6d746f}
.suggestions button{border:1px solid #c8c9c3;background:transparent;padding:6px 10px;color:#43504a;font:500 11px Inter;cursor:pointer}
.discover{position:absolute;z-index:2;bottom:25px;left:50%;transform:translateX(-50%);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:7px}
.discover i{font-size:18px;font-style:normal}
@keyframes heroCinema{0%{transform:scale(1.04) translate3d(-.8%,0,0)}50%{transform:scale(1.095) translate3d(.7%,-.6%,0)}100%{transform:scale(1.055) translate3d(1.1%,.35%,0)}}
@keyframes shadeBreath{from{opacity:.9}to{opacity:1}}
@keyframes heroReveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes promptReveal{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.vision{padding:150px 8vw;text-align:center;background:var(--ivory)}
.section-kicker{color:#9b7540;margin:0 0 24px}
.vision h2,.partners h2,.result h2{font-size:clamp(48px,6vw,80px);color:var(--green)}
.vision h2 em,.partners h2 em,.result h2 em{color:#a47b44}
.vision>p:last-child,.partners>p{font-family:Italiana,serif;font-size:22px;line-height:1.55;max-width:720px;margin:35px auto 0;color:#52615a}
.private-service{background:#0d201a;color:#fff;padding:125px 8vw 90px;position:relative;overflow:hidden}.private-service:before{content:'LII';position:absolute;right:-1vw;top:-85px;font:400 330px Italiana;color:rgba(255,255,255,.025);letter-spacing:-.12em;pointer-events:none}.private-head{position:relative;max-width:850px;margin:0 auto 70px;text-align:center}.private-head h2{font:400 clamp(48px,6vw,78px)/.98 Italiana;margin:0;letter-spacing:-.03em}.private-head h2 em{font-weight:400;color:var(--gold)}.private-head>p:last-child{max-width:680px;margin:30px auto 0;color:#c7d3ce;font-size:17px;font-weight:300;line-height:1.75}.private-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17)}.private-grid article{padding:42px 4vw 48px;border-left:1px solid rgba(255,255,255,.17)}.private-grid article:first-child{border-left:0}.private-grid article>span{font:18px Italiana;color:var(--gold)}.private-grid h3{font:400 34px Italiana;margin:27px 0 17px}.private-grid p{margin:0;color:#b9c7c1;font-size:14px;font-weight:300;line-height:1.75}.private-signature{text-align:center;margin:38px 0 0;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-size:10px}
.method{background:var(--green);color:#fff;padding:110px 8vw}
.method-intro{max-width:820px;margin:0 auto 70px;text-align:center}
.method-intro h2{font:400 clamp(48px,6vw,76px)/.98 Italiana;margin:0;color:#fff;letter-spacing:-.03em}
.method-intro h2 em{font-weight:400;color:var(--gold)}
.method-intro>p:last-child{max-width:720px;margin:30px auto 0;font-size:17px;font-weight:300;line-height:1.75;color:#cfdbd6}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.method-grid article{padding:42px 4vw 46px;border-left:1px solid rgba(255,255,255,.18)}
.method-grid article:first-child{border-left:0}
.method-grid span{font-family:Italiana;color:var(--gold);font-size:18px}
.method-grid h3{font:400 38px Italiana;margin:28px 0 18px}
.method-grid p{font-size:15px;font-weight:300;line-height:1.7;color:#e1e9e5;margin:0}
.method-grid small{display:block;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:12px;line-height:1.65;color:#aebfb8}
.partners{padding:140px 8vw;text-align:center}
.partners>a{display:inline-flex;margin-top:38px;padding:16px 22px;border:1px solid var(--green);color:var(--green);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:12px;gap:50px}
footer{background:#0d201a;color:#fff;padding:58px 6vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.footer-mark{font-size:25px}
footer>p{color:#99aaa3;font:italic 18px Italiana}
.footer-links{justify-self:end;display:flex;gap:25px}
.footer-links a{color:#b8c5bf;font-size:12px;text-decoration:none}
.result{position:fixed;inset:0;z-index:20;background:rgba(5,16,12,.83);display:grid;place-items:center;padding:20px;backdrop-filter:blur(14px)}
.result[hidden]{display:none}
.result-panel{background:var(--ivory);width:min(1120px,96vw);max-height:94svh;overflow:auto;padding:62px 58px 50px;position:relative;text-align:center}
.close{position:absolute;right:25px;top:20px;border:0;background:transparent;font-size:28px;color:var(--ink);cursor:pointer}
.result h2{font-size:58px}
.result-panel>p:not(.section-kicker){max-width:600px;margin:25px auto;line-height:1.6;color:#52615a}
.brief-tags{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:26px 0 34px}
.brief-tags span{border:1px solid #cfd9d4;padding:8px 12px;color:#43534c;font-size:12px}
.proposal-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:left;margin:0 0 22px}
.proposal-card{border:1px solid #d9e0dc;padding:23px;position:relative;background:#fff;display:flex;flex-direction:column;min-height:430px}
.proposal-card.featured{border:2px solid var(--green);padding:22px;box-shadow:0 16px 40px rgba(23,53,45,.12)}
.best-match{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:6px 13px;text-transform:uppercase;letter-spacing:.1em;font-size:9px;white-space:nowrap}
.proposal-head{display:flex;justify-content:space-between;align-items:center;color:#9b7540}
.proposal-head span{font:18px Italiana}.proposal-head small{font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.proposal-card h3{font:40px Italiana;margin:18px 0 3px;color:var(--green)}
.venue-hidden{font-size:13px;color:#596760;margin:0 0 15px!important}
.proposal-card ul{list-style:none;padding:15px 0;margin:0;border-top:1px solid #e0e5e2;flex:1}
.proposal-card li{font-size:12px;line-height:1.55;color:#53615b;padding:3px 0}
.proposal-card li:before{content:'—';margin-right:7px;color:#a47b44}
.estimate{border-top:1px solid #e0e5e2;padding-top:15px}.estimate small,.estimate b,.estimate em{display:block}.estimate small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#758079}.estimate b{font:25px Italiana;color:var(--green);margin-top:5px}.estimate em{font-size:11px;color:#748079;margin-top:3px;font-style:normal}
.cost-details{margin-top:14px;border-top:1px solid #e0e5e2;border-bottom:1px solid #e0e5e2}.cost-details summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;padding:12px 0;text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--green);font-weight:600}.cost-details summary::-webkit-details-marker{display:none}.cost-details[open] summary span{transform:rotate(45deg)}.cost-details summary span{font-size:15px;transition:transform .2s}
.cost-list{padding:0 0 10px}.cost-list div{display:flex;justify-content:space-between;gap:10px;padding:4px 0}.cost-list span{font-size:10px;color:#68746e}.cost-list b{font-size:10px;color:#2c3d36;font-weight:600;white-space:nowrap}
.locked{font-size:10px!important;text-transform:uppercase;letter-spacing:.08em;margin:14px 0 0!important;color:#9b7540!important}
.estimate-disclaimer{max-width:880px!important;font-size:11px;line-height:1.55!important;color:#758079!important;margin:16px auto 4px!important}
.privacy-note{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px auto 24px;color:#52615a;font-size:12px}.privacy-note p{margin:0}.privacy-note span{color:#a47b44}
.continue{margin:auto;height:52px}
.continue span:last-child{font-size:18px}
.continue:disabled{opacity:.45;cursor:default}
.demo-message{font-size:13px!important;color:var(--green)!important;background:#eef6f2;padding:13px 16px;margin:15px auto 0!important}
.dossier-form{max-width:620px;margin:20px auto 0;padding:24px;background:#f5f7f6;text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:16px}.dossier-form[hidden]{display:none}.dossier-form label{display:block;margin-bottom:7px;color:#52615a;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.dossier-form input:not([type=checkbox]){width:100%;height:46px;border:1px solid #ccd6d1;background:#fff;padding:0 12px;font:400 15px Inter;color:var(--ink)}.dossier-form .consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:9px;text-transform:none;letter-spacing:0;font-size:12px}.dossier-form .consent input{margin-top:2px}.dossier-form button{grid-column:1/-1;height:48px;border:0;background:var(--green);color:#fff;padding:0 18px;display:flex;justify-content:space-between;align-items:center;font:600 12px Inter;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.dossier-form button:disabled{opacity:.5}
@media(max-width:780px){.nav{height:74px;padding:0 22px;grid-template-columns:1fr auto}
.nav nav{display:none}
.wordmark{font-size:24px}
.hero-content{padding:60px 0 100px}
.hero h1{font-size:56px}
.eyebrow{font-size:10px}
.intro{font-size:15px;margin:22px auto 28px}
.prompt-card{padding:17px}
.prompt-row{display:block}
.prompt-row textarea{width:100%;min-height:92px}
.prompt-row>button{width:100%;height:50px;justify-content:space-between;margin-top:12px;padding:0;border-left:0;border-top:1px solid #d8d7d0}
.suggestions{display:none}
.method{padding:75px 8vw}
.method-intro{margin-bottom:45px}.method-intro h2{font-size:48px}.method-intro>p:last-child{font-size:16px}
.method-grid{grid-template-columns:1fr}
.method-grid article{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:34px 0}
.method-grid article:first-child{border-top:0}
.vision,.partners{padding:90px 7vw}
.vision h2,.partners h2{font-size:48px}
.vision>p:last-child,.partners>p{font-size:20px}
.private-service{padding:80px 8vw 65px}.private-head{margin-bottom:45px}.private-head h2{font-size:48px}.private-head>p:last-child{font-size:16px}.private-grid{grid-template-columns:1fr}.private-grid article{border-left:0;border-top:1px solid rgba(255,255,255,.17);padding:32px 0}.private-grid article:first-child{border-top:0}.private-service:before{font-size:190px;top:-35px}
.result-panel{padding:55px 22px 30px}
.result h2{font-size:42px}
.proposal-list{grid-template-columns:1fr}.proposal-card{min-height:auto}.proposal-card.featured{margin-top:10px}
.dossier-form{grid-template-columns:1fr;padding:18px}.dossier-form .consent,.dossier-form button{grid-column:1}
footer{grid-template-columns:1fr;text-align:center;gap:20px}
.footer-links{justify-self:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:before,.shade,.hero-content,.prompt-card{animation:none}.hero:before{transform:scale(1.04)}}
