:root{--ink:#11151b;--gold:#e3bd7f;--muted:#68717a;--line:#dedfe1;--paper:#f5f6f7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b78436;outline-offset:4px}header{height:88px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 6%;gap:30px;position:relative;z-index:5;border-bottom:1px solid #eee}.brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:750;letter-spacing:2px;line-height:1.2}.mark{font-size:42px;color:#a37a3e}.store{display:block;font-size:12px;font-weight:500;letter-spacing:5px;margin-top:6px}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.navcta{border:1px solid var(--ink);border-radius:30px;padding:10px 20px}.menu{display:none}.hero{min-height:690px;height:calc(100svh - 88px);max-height:960px;background:linear-gradient(90deg,rgba(6,12,22,.62),rgba(6,12,22,0) 80%),url('hero.png') center/cover;color:#fff;position:relative;display:flex;align-items:center;padding:80px 8% 120px}.hero-copy{max-width:680px}.eyebrow{font-size:13px;font-weight:650;letter-spacing:2.5px;text-transform:uppercase;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,5.6vw,84px);font-weight:560;letter-spacing:-3.5px;line-height:1.07;margin-bottom:30px}em{font-style:normal;color:#bb9155}.hero em{color:var(--gold)}.lead{font-size:20px;max-width:560px;line-height:1.65}.hero .lead{color:#e0e3e8;text-shadow:0 1px 12px #000}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:12px 27px;border-radius:30px;background:var(--gold);color:#191510;border:0;font-size:15px;font-weight:650;cursor:pointer;margin-top:12px}.button:hover{background:#efce9a}.hero-bottom{position:absolute;bottom:35px;left:8%;right:8%;border-top:1px solid #ffffff40;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:1.5px;color:#ddd}.section{padding:92px 8%;max-width:1600px;margin:auto}h2{font-size:clamp(32px,3.3vw,50px);letter-spacing:-1.8px;line-height:1.15;font-weight:550;margin-bottom:26px}h3{font-size:24px;letter-spacing:-.7px;line-height:1.25;font-weight:550}p{margin-bottom:22px}.intro{max-width:1050px;text-align:center;padding-top:110px;padding-bottom:80px}.intro>p:last-child{max-width:740px;margin:0 auto;color:var(--muted);font-size:19px}.services{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:20px}.feature{padding:56px 48px;border-radius:8px;min-height:370px;display:flex;flex-direction:column;align-items:flex-start}.feature p{max-width:420px}.feature .text-link{margin-top:auto}.light{background:#f1f2f3}.dark{background:#161d27;color:#fff}.dark .eyebrow{color:var(--gold)}.dark p{color:#cdd2da}.text-link{font-weight:650;font-size:15px;border-bottom:1px solid;padding-bottom:3px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line)}.split p{color:var(--muted)}.reviews{background:var(--paper);max-width:none}.reviews>p:not(.eyebrow){color:var(--muted)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:45px}.review-grid article{background:#fff;padding:34px;border:1px solid #e6e8eb;border-radius:8px}.review-grid article p{color:var(--muted)}.source{display:block;font-size:22px;font-weight:650;margin-bottom:30px}.pending{font-size:14px;color:#756449}.closing{text-align:center;background:var(--ink);color:#fff;padding:100px 8%}.closing p:not(.eyebrow){max-width:590px;margin:0 auto 20px;color:#c7cbd1}.closing .eyebrow{color:var(--gold)}footer{padding:60px 8%;display:grid;grid-template-columns:1fr 1fr;gap:25px;background:#0c1016;color:#fff}footer p{color:#a9afb8;font-size:14px;margin-top:20px}footer>div:nth-child(2){display:flex;flex-direction:column;align-items:flex-end;font-size:14px;gap:12px}footer>.fine{grid-column:1/-1;border-top:1px solid #ffffff25;padding-top:25px}.fine{font-size:13px;color:var(--muted)}.trio,.four{display:grid;gap:40px;padding-top:35px}.trio{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(2,1fr)}.trio p,.four p{color:var(--muted)}.num{display:block;color:#9c7541;margin-bottom:24px}.page-intro{background:var(--paper);max-width:none;padding-top:100px;padding-bottom:80px}.compact h1{font-size:clamp(44px,4.8vw,66px)}.booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;padding-top:70px}.notice{background:#f4f0e8;border-left:3px solid #ad8548;padding:22px;margin:30px 0;font-size:15px}.notice p{margin:8px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:14px;font-weight:600;margin-bottom:20px}input,select,textarea{display:block;width:100%;border:1px solid #c8cdd3;border-radius:7px;background:#fff;padding:13px;margin-top:8px;min-height:48px;font-size:16px;color:var(--ink)}textarea{resize:vertical}fieldset{border:0;padding:0;margin:0 0 25px}legend{font-size:14px;font-weight:600;margin-bottom:12px}.slots{display:flex;flex-wrap:wrap;gap:10px}.slot{position:relative;margin:0}.slot input{position:absolute;opacity:0;width:1px;min-height:0}.slot span{display:block;border:1px solid #c8cdd3;padding:10px 17px;border-radius:6px;cursor:pointer}.slot input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.slot input:focus-visible+span{outline:3px solid #b78436}.slot input:disabled+span{color:#999;background:#eee;text-decoration:line-through;cursor:not-allowed}.check{display:flex;gap:12px;font-weight:400;align-items:flex-start}.check input{width:19px;min-height:19px;flex-shrink:0;margin-top:4px}.success{padding:25px;background:#eef3ee;border:1px solid #c7d3c7;border-radius:8px;margin-top:25px}.admin{padding-top:20px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:45px}.secondary{border:1px solid #c8cdd3;background:#fff;padding:11px 18px;border-radius:8px;cursor:pointer;font-size:14px}.admin-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:30px}.appointment{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px;margin-bottom:14px;cursor:pointer}.appointment strong,.appointment span{display:block}.appointment span{font-size:14px;color:var(--muted);margin-top:5px}.client-panel{background:var(--paper);padding:30px;border-radius:8px;align-self:start;min-width:0}.client-panel p{overflow-wrap:anywhere}.client-panel h3{margin-top:30px}.pill{display:inline-block;background:#ece1ce;color:#745222;font-size:13px;padding:4px 10px;border-radius:20px}.skip{position:absolute;left:10px;top:-100px;background:#fff;padding:15px;z-index:20}.skip:focus{top:10px}@media(max-width:850px){header{height:76px;padding:0 6%}.brand{font-size:13px}.mark{font-size:34px}.menu{display:block;border:1px solid #ccc;background:#fff;padding:8px 14px;border-radius:20px;font-size:14px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:25px 6%;align-items:flex-start;flex-direction:column;gap:20px;border-bottom:1px solid #ddd}nav.open{display:flex}.hero{min-height:640px;height:calc(100svh - 76px);padding:75px 7% 110px;background-position:62% center}.hero-copy{max-width:540px}h1{letter-spacing:-2px}.hero .lead{font-size:18px}.hero-bottom{left:7%;right:7%;font-size:11px}.hero-bottom span:last-child{display:none}.section{padding:65px 7%}.services,.split,.booking,.admin-layout{grid-template-columns:1fr}.services{padding-top:15px}.feature{padding:38px 30px;min-height:350px}.split{gap:12px}.review-grid{grid-template-columns:1fr}.trio{grid-template-columns:1fr;gap:25px}.four{gap:28px}.booking{gap:20px}.booking aside h2{font-size:32px}.page-intro{padding-top:65px}.toolbar h2{font-size:30px}footer{padding:45px 7%}.closing{padding:70px 7%}}@media(max-width:480px){h1{font-size:44px}.lead{font-size:18px}.form-grid,.four{grid-template-columns:1fr;gap:0}.four{gap:20px}.form-grid label{margin-bottom:20px}.review-grid article{padding:25px}.toolbar{align-items:flex-start;flex-direction:column;margin-bottom:25px}footer{grid-template-columns:1fr}footer>div:nth-child(2){align-items:flex-start}.client-panel{padding:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.business-contact{font-style:normal;line-height:1.9;margin:20px 0 30px;font-size:16px}.business-contact a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.hours{margin:0 0 25px}.hours dt{font-size:15px;font-weight:650;margin-top:14px}.hours dd{margin:3px 0 0;font-size:17px}footer .business-contact{color:#cdd2da;margin-bottom:0;font-size:14px}

header{height:108px;background:#000;color:#fff;border-bottom-color:#252525}.brand-logo{flex-shrink:0;display:block;line-height:0;letter-spacing:normal}.brand-logo img{display:block;width:96px;height:96px;object-fit:contain}header .navcta{border-color:#777}header .menu{background:#111;color:#fff;border-color:#666}footer .brand-logo img{width:150px;height:150px}footer{background:#000}.hero{height:calc(100svh - 108px)}@media(max-width:850px){header{height:88px}.brand-logo img{width:78px;height:78px}nav{top:88px;background:#000;color:#fff;border-bottom-color:#333}.hero{height:calc(100svh - 88px)}}

#wp-widget-reviews{max-width:100%;min-width:0;overflow-wrap:anywhere}#wp-widget-preview{font-size:16px;line-height:1.8}#wp-widget-preview a{text-decoration:underline;text-underline-offset:3px}#wp-widget-preview img{display:inline-block;vertical-align:middle;max-width:100%;height:20px}#wp-widget-reviews iframe{max-width:100%}

.award{display:flex;align-items:center;gap:22px;margin:25px 0 30px}.award img{display:block;width:125px;height:125px;max-width:none}.award strong{font-size:17px}.award p{font-size:14px;margin:6px 0 0!important}.award #wp-ratedWA{flex-shrink:0}@media(max-width:480px){.award{flex-direction:column;align-items:flex-start;gap:15px}}

.elfsight-app-45690ac0-8690-4271-b7d2-d39ddba57548{width:100%;min-width:0;margin:22px 0}.review-grid>article{min-width:0}

.hero{background-image:linear-gradient(90deg,rgba(5,10,17,.91),rgba(5,10,17,.38)),url('piazza-fuochi.jpg');background-position:center}.hero.events{background-image:linear-gradient(90deg,rgba(5,10,17,.9),rgba(5,10,17,.35)),url('palco-effetti.jpg')}.hero.wedding{background-image:linear-gradient(90deg,rgba(5,10,17,.86),rgba(5,10,17,.25)),url('matrimonio-mare.jpg');background-position:center,center 60%}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.photo-grid figure{margin:0;min-width:0}.photo-grid img{width:100%;height:460px;object-fit:cover;border-radius:8px;display:block}.photo-grid figcaption{font-size:15px;margin-top:14px;color:var(--muted)}.team-story{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center;padding-top:25px}.team-story>img{display:block;width:100%;border-radius:8px}.work-gallery{border-top:1px solid var(--line)}.hero.events+.intro{padding-top:85px}@media(max-width:850px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid img{height:380px}.team-story{grid-template-columns:1fr;gap:30px}.hero.wedding{background-position:center,center}}@media(max-width:480px){.photo-grid{grid-template-columns:1fr}.photo-grid img{height:auto;max-height:600px;object-fit:contain;background:#111}.hero{background-position:center}.hero.wedding{background-position:center,55% center}}

.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.video-grid figure{margin:0;min-width:0}.video-grid video{display:block;width:100%;max-height:650px;background:#000;border-radius:8px}.video-grid figcaption{margin-top:14px;font-size:15px;color:var(--muted)}@media(max-width:850px){.video-grid{grid-template-columns:1fr}}
/* Wedding hero: preserve portrait photo instead of enlarging it across the viewport. */
.hero.wedding{background:#10151d;overflow:hidden;isolation:isolate;min-height:690px}
.hero.wedding::before{content:"";position:absolute;z-index:-1;inset:0 0 0 48%;background:url('matrimonio-mare.jpg') center/contain no-repeat}
.hero.wedding::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#10151d 0%,#10151d 36%,rgba(16,21,29,.82) 48%,transparent 68%)}
.hero.wedding .hero-copy{max-width:560px;width:48%}
@media(max-width:850px){.hero.wedding{height:auto;max-height:none;min-height:0;display:block;padding:60px 7% 100px}.hero.wedding .hero-copy{max-width:none;width:100%}.hero.wedding::before{position:relative;display:block;inset:auto;width:100%;height:auto;aspect-ratio:943/1668;background-size:contain;margin-top:35px;border-radius:8px}.hero.wedding::after{display:none}.hero.wedding .hero-copy{position:relative}.hero.wedding{display:flex;flex-direction:column;align-items:stretch}.hero.wedding::before{order:2;flex-shrink:0}.hero.wedding .hero-copy{order:1}.hero.wedding .hero-bottom{order:3}}
/* Slight enlargement of the wedding photo. */
.hero.wedding::before{transform:scale(1.07);transform-origin:center}
@media(max-width:850px){.hero.wedding::before{transform:scale(1.04);margin-top:45px;margin-bottom:15px}}
