/* Proportions and image arrangements measured from the supplied prototype.
   The approved video hero and its controls retain their existing styles. */
main > .sec {padding-block:clamp(74px,8vw,138px);}
main > .sec .wrap {width:100%;max-width:1440px;padding-inline:clamp(30px,9.5vw,165px);}
main .h-display {font-size:clamp(34px,3.9vw,64px);line-height:1.15;letter-spacing:-.03em;}
main .duo {grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(50px,9vw,150px);}
main .duo__text {max-width:410px;font-size:14px;line-height:1.8;}
main .duo__text p + p {margin-top:12px;}
main .duo__text .label {margin-bottom:28px;}
main .duo__media img {aspect-ratio:1.52;object-fit:cover;}
main .duo--rev {grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);}
main .duo--rev .duo__media {order:1;}
main .duo--rev .duo__text {order:2;}
main .sec__head {margin-bottom:32px;}
main .sec__head .h-display {margin-bottom:24px;}
main .sec__head .link-rule {margin-top:18px;}
.occasion {padding-top:80px!important;padding-bottom:30px!important;}
.occasion .occasion__grid {grid-template-columns:minmax(280px,.8fr) minmax(0,2.2fr);gap:clamp(36px,4vw,64px);}
.occasion__head .h-display {max-width:10ch;font-size:clamp(34px,3.2vw,48px);}
.occasion__cards {gap:24px;}
.history-band .carousel__arrow {display:none;}
.occasion-card:nth-child(2) {padding-top:48px;}
.occasion-card__media img {aspect-ratio:2/3;object-fit:cover;}
.occasion-card h3 {font-size:clamp(18px,1.7vw,25px);}
.occasion-card p {font-size:11px;}
.occasion-card .link-rule {margin-top:30px;}
.claim {padding-block:76px;}
.claim__line {max-width:43ch;font-size:clamp(20px,2.2vw,32px);}
#villa {padding-top:64px;}
#villa .wrap {padding-inline:clamp(30px,13.5vw,195px);}
#villa .duo {grid-template-columns:1fr 1.45fr;gap:80px;}
#villa .duo__media img {aspect-ratio:1.5;}
.venue-facts {margin:80px auto 0;max-width:1010px;border-width:3px;padding-block:26px;}
.venue-facts dt, .venue-facts .venue-facts__dt {font-size:30px;text-transform:uppercase;}
.venue-facts dd, .venue-facts .venue-facts__dd {font-size:9px;color:var(--body);}
.history-band {padding-block:100px;background:var(--sage);}
.history-band .band__inner {width:100%;max-width:1440px;grid-template-columns:1fr 1.3fr;padding-inline:clamp(30px,13.5vw,195px);gap:95px;}
.history-band .band__img {inset:0;width:100%;height:100%;object-fit:cover;opacity:.21;mix-blend-mode:luminosity;filter:grayscale(1);}
.history-band::after {background:rgba(70,80,65,.24);}
.history-band .band__title {font-family:var(--display);font-size:clamp(36px,4.2vw,64px);max-width:10ch;line-height:1.15;}
.history-band .history-copy {max-width:34ch;font-size:14px;}
.history-band .carousel__stage {aspect-ratio:1.5;}
.carousel__slide {inset:0;width:100%;height:100%;}
.carousel__slide img {width:100%;height:100%;object-fit:cover;}
.carousel__stage {overflow:hidden;}
.carousel__arrow {background:transparent;border:0;width:44px;height:56px;border-radius:0;}
.carousel__arrow:hover {background:rgba(48,44,45,.25);}
.carousel__arrow .ui-icon {width:38px;height:38px;}
.carousel__caption.sr-only {position:absolute;}
.carousel__thumbs {padding-top:20px;gap:18px;}
.carousel__thumbs button {min-width:0;max-width:none;flex:1 1 0;opacity:1;}
.carousel__thumbs img {width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;}
.carousel__thumbs button[aria-pressed="true"]::after {bottom:-4px;}
.feature-banner {min-height:730px;}
.feature-banner .bgsection__head {width:100%;max-width:1600px;padding-inline:clamp(30px,5vw,80px);padding-bottom:70px;}
.feature-banner .h-display {font-size:clamp(36px,4.15vw,66px);max-width:24ch;}
.feature-banner .bgsection__sub {font-size:13px;max-width:70ch;}
.feature-banner .bgsection__img {inset:0;height:100%;}
.feature-banner .btn {margin-top:24px;}
.journey {padding-top:55px!important;padding-bottom:75px!important;}
.timeline {gap:45px;}
.timeline__num {width:38px;height:38px;}
.timeline__step .h-sub {font-size:15px;line-height:1.4;}
.timeline__step p {font-size:12px;line-height:1.6;margin-top:10px;}
.journey .sec__note {margin-top:100px;max-width:46ch;font-size:clamp(20px,2.2vw,32px);}
.wedding-story {padding:0!important;}
.wedding-story .wrap {max-width:none;width:100%;padding:0!important;grid-template-columns:45fr 55fr;gap:0;align-items:center;}
.wedding-story .duo__media {width:100%;height:660px;overflow:hidden;}
.wedding-story .duo__media img {width:100%;height:100%;aspect-ratio:auto;object-position:center 42%;}
.wedding-story .duo__text {margin-left:clamp(60px,11vw,180px);margin-right:clamp(35px,6vw,100px);max-width:400px;padding-block:45px;}
#eventi .wrap {padding-inline:clamp(30px,12vw,175px);}
.spaces-heading {grid-template-columns:minmax(0,1fr) 240px;gap:85px;}
.spaces-heading .sec__head {max-width:660px;}
.spaces-heading .h-display {font-size:clamp(34px,4.1vw,64px);}
.spaces-heading .sec__head p:not(.label),.spaces-side p {font-size:14px;line-height:1.8;}
.spaces-side {display:flex;flex-direction:column;}
.spaces-side p {margin:0;}
.spaces-side .link-rule {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding:14px 0 0;border-bottom:0;border-top:1px solid var(--line);font-size:10px;}
.spaces-side .link-rule .ui-icon {width:16px;height:16px;flex:0 0 auto;}
.spaces-side .link-rule:hover {padding-left:0;}
.space-links button {font-size:9px;min-height:38px;}
.carousel--spaces .carousel__stage {aspect-ratio:1.98;border-radius:110px;}
.testimonial {padding-block:75px;background:var(--sage);color:var(--cream);}
.testimonial__inner {width:100%;max-width:1440px;display:grid;grid-template-columns:290px 1fr;align-items:center;gap:60px;padding-inline:60px;}
.testimonial figure {overflow:hidden;}
.testimonial figure img {width:100%;aspect-ratio:1.1;object-fit:cover;}
.testimonial__mark {display:block;font-family:var(--serif);font-size:90px;line-height:.85;color:var(--gold);}
.testimonial__copy {font-family:var(--serif);font-size:clamp(24px,2.7vw,39px);line-height:1.2;max-width:46ch;}
.memories {background:var(--cream);color:var(--wine);padding-block:110px;}
.memories__line {font-family:var(--display);font-size:clamp(20px,2.2vw,32px);line-height:1.2;text-transform:uppercase;max-width:43ch;text-align:center;}
#corporate .duo {grid-template-columns:1fr 1.1fr;gap:110px;align-items:start;}
#corporate .duo__text {padding-top:38px;}
#corporate .carousel__stage {aspect-ratio:1.1;}
.event-types .cols2 {gap:18px;}
.event-types h3 {font-family:var(--sans);font-size:10px;}
.event-types p {font-size:12px;}
.carousel--editorial .carousel__arrow {opacity:0;transition:opacity .2s;}
.carousel--editorial:hover .carousel__arrow,.carousel--editorial:focus-within .carousel__arrow {opacity:1;}
main .experience-story .wrap {padding-left:5.6vw;padding-right:9.5vw;grid-template-columns:1.05fr 1fr;gap:83px;}
.experience-story .duo__media img {aspect-ratio:auto;}
.experience-story .carousel__stage {aspect-ratio:1.35;}
.experience-story .duo__text {padding-top:32px;}
.experience-story .carousel__thumbs {max-width:100%;}
main .territory-story .wrap {padding-right:6.5vw;}
.territory-story .duo {grid-template-columns:1fr 1.4fr;gap:95px;align-items:center;}
.territory-story .h-display {max-width:11ch;}
.territory-story .tags {display:block;margin-top:14px;}
.territory-story .tags li {color:var(--body);font-size:12px;line-height:1.6;text-transform:none;}
.territory-story .tags li {letter-spacing:0;}
.territory-story .tags li::before {content:'· ';}
.territory-note {margin-top:28px!important;}
.territory-mosaic {display:grid;grid-template-columns:1fr 1fr;gap:26px;overflow:visible;}
.territory-mosaic__column {display:grid;gap:26px;align-content:start;}
.territory-mosaic__column:first-child {padding-top:65px;}
.territory-mosaic__column img {width:100%;height:auto;aspect-ratio:2/3!important;object-fit:cover;}
.gallery-section {padding-top:0!important;padding-bottom:0!important;}
main .gallery-section .wrap {max-width:1200px;padding-inline:clamp(30px,7vw,100px);}
.gallery-section .sec__head {margin:0 0 55px;max-width:none;text-align:left;}
.gallery-section .sec__head h2 {font-size:clamp(28px,3vw,46px);}
.gallery-section .sec__head .label {margin-inline:0;margin-top:35px;justify-content:flex-start;}
.gallery-section .sec__head .label::before {display:none;}
.gallery-section .wrap::before,.gallery-section .wrap::after {content:'';display:block;height:1px;background:var(--wine);position:relative;opacity:.75;}
.gallery-section .wrap::before {background:radial-gradient(circle at 2px 50%,var(--wine) 2px,transparent 2.1px),radial-gradient(circle at calc(100% - 2px) 50%,var(--wine) 2px,transparent 2.1px),linear-gradient(var(--wine),var(--wine)) center/100% 1px no-repeat;height:5px;}
.gallery-section .gal {grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
.gallery-section .gal__item {overflow:hidden;}
.gallery-section .gal__item img {width:100%;height:auto;aspect-ratio:1.35;object-fit:cover;}
.gallery-claim {font-family:var(--display);font-size:clamp(18px,2.1vw,30px);color:var(--wine);text-align:center;text-transform:uppercase;padding-block:55px 45px;}
#faq {background:var(--cream);padding-top:80px!important;}
#faq .wrap {max-width:1200px;padding-inline:clamp(30px,7vw,100px);}
#faq .sec__head {text-align:left;max-width:none;margin:0 0 35px;}
#faq .sec__head p {margin-inline:0;}
#faq h2 {font-size:clamp(30px,3.2vw,48px);}
.faq {max-width:none;}
.faq__item {border-color:var(--line);}
.faq__item summary {font-family:var(--sans);font-size:13px;padding-block:14px;}
.faq__item p {font-size:13px;max-width:85ch;}
.contact {min-height:810px;padding-block:65px 75px;}
.contact__img {inset:0;width:100%;height:100%;object-fit:cover;}
.contact__shade {background:linear-gradient(0deg,rgba(20,24,19,.72),rgba(20,24,19,0) 75%);}
.contact__grid {max-width:1600px;padding-inline:clamp(30px,5vw,80px);grid-template-columns:1fr 410px;gap:110px;align-items:stretch;}
.contact__grid,.ftr__grid {width:100%;}
.contact__text {display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:10px;}
.contact__text .h-display {font-size:clamp(38px,4.1vw,64px);max-width:12ch;line-height:1.15;}
.contact__text > p:not(.label) {max-width:45ch;font-size:13px;}
.contact__list {margin-top:25px;display:flex;flex-wrap:wrap;gap:16px 28px;font-size:11px;}
.contact__list li:first-child {width:100%;}
.form {padding:32px;gap:13px;align-self:start;}
.form .h-sub {font-size:16px;}
.form label {font-size:8px;}
.form input,.form select,.form textarea {font-size:13px;}
.form textarea {min-height:65px;}
.form .btn {font-size:9px;min-height:40px;padding:9px 20px;}
.ftr {padding-block:75px 60px;}
.ftr__grid {max-width:1600px;padding-inline:clamp(30px,5vw,80px);grid-template-columns:1.6fr 1fr;gap:185px;align-items:start;}
.ftr__brand {margin-bottom:75px;}
.ftr__brand img {width:360px;max-width:100%;}
.ftr__contacts {display:flex;gap:55px;font-size:11px;line-height:1.5;margin-bottom:28px;}
.ftr__contacts span {display:block;color:rgba(247,243,237,.65);font-size:9px;}
.ftr__description {padding-top:60px;max-width:450px;}
.ftr__description p+p {margin-top:30px;}
.ftr__muted {font-size:12px;line-height:1.6;}
.ftr__legal {margin-top:30px;padding-top:20px;}
.ftr__legal p+p {margin-top:8px;}
@media(min-width:1441px) {
 main > .sec .wrap,.history-band .band__inner,.testimonial__inner {max-width:1734px;}
 #villa .wrap,.history-band .band__inner {padding-inline:clamp(195px,13.5vw,235px);}
 #villa .duo {gap:clamp(80px,5.55vw,96px);}
 .history-band .band__inner {gap:clamp(95px,6.6vw,114px);}
 #eventi .wrap {padding-inline:clamp(175px,12vw,211px);}
 #corporate .duo {gap:clamp(110px,7.64vw,132px);}
 main .gallery-section .wrap,#faq .wrap {max-width:1734px;padding-inline:clamp(220px,15.28vw,265px);}
 .territory-story .duo__text {max-width:420px;}
 .contact__text .h-display {max-width:15ch;}
}

@media(max-width:1180px) {
 main > .sec .wrap,#villa .wrap,#eventi .wrap,.history-band .band__inner,main .experience-story .wrap,main .territory-story .wrap,main .gallery-section .wrap {padding-inline:60px;}
 main .duo,main .duo--rev,#corporate .duo,.territory-story .duo {gap:60px;}
 .occasion .occasion__grid {gap:36px;}.occasion__cards {gap:22px;}
 .spaces-heading {gap:40px;grid-template-columns:1fr 215px;}
 .spaces-side .link-rule {font-size:9px;}
 .wedding-story .duo__text {margin-left:75px;margin-right:50px;}
 .contact__grid {gap:60px;grid-template-columns:1fr 380px;}
 .ftr__grid {gap:80px;}
}
@media(max-width:980px) {
 main .duo,main .duo--rev,#villa .duo,#corporate .duo,.territory-story .duo,main .experience-story .wrap {grid-template-columns:1fr;gap:40px;}
 main .duo__text {max-width:620px;}
 main .duo--rev .duo__text,main .duo--rev .duo__media {order:initial;}
 .occasion .occasion__grid {grid-template-columns:1fr;gap:40px;}
 .occasion__head .h-display {max-width:20ch;}
 .history-band .band__inner {grid-template-columns:1fr;gap:40px;}
 .history-band .history-copy {max-width:60ch;}
 .wedding-story .wrap {grid-template-columns:45fr 55fr;gap:0;}
 .wedding-story .duo__text {margin:0;padding:50px 35px;order:2!important;}
 .wedding-story .duo__media {height:600px;order:1!important;}
 .spaces-heading {grid-template-columns:1fr 200px;gap:30px;}
 .testimonial__inner {grid-template-columns:200px 1fr;gap:35px;}
 #corporate .duo__text,.experience-story .duo__text {padding-top:0;}
 #corporate .carousel__stage {aspect-ratio:1.45;}
 .experience-story .duo__media {order:2!important;}
 .territory-mosaic {max-width:700px;}
 .contact__grid {grid-template-columns:1fr 360px;gap:35px;}
 .ftr__grid {grid-template-columns:1fr 1fr;gap:40px;}
 .ftr__contacts {flex-direction:column;gap:15px;}
}
@media(max-width:720px) {
 main > .sec {padding-block:65px;}
 main > .sec .wrap,#villa .wrap,#eventi .wrap,.history-band .band__inner,main .experience-story .wrap,main .territory-story .wrap,main .gallery-section .wrap {padding-inline:24px;}
 main .h-display {font-size:36px;}
 main .duo__text {font-size:14px;}
 .occasion {padding-top:58px!important;}.occasion__cards {gap:18px;}.occasion-card {flex-basis:64%;}
 .occasion__head .h-display {max-width:12ch;}
 .claim {padding:30px 24px 45px;}.claim__line {font-size:21px;}
 #villa {padding-top:35px;}.venue-facts {margin-top:45px;gap:28px;padding-block:25px;}
 .venue-facts dt, .venue-facts .venue-facts__dt {font-size:25px;}
 .history-band {padding-block:65px;}.history-band .band__title {font-size:38px;}
 .feature-banner {min-height:600px;}.feature-banner .bgsection__head {padding:70px 24px;}
 .feature-banner .h-display {font-size:38px;}
 .feature-banner .bgsection__img {object-position:center;}
 .journey {padding-block:50px 60px!important;}.timeline {gap:30px 20px;}
 .timeline__step .h-sub {font-size:14px;}.timeline__step p {font-size:13px;}.journey .sec__note {margin-top:65px;font-size:21px;}
 .wedding-story .wrap {grid-template-columns:1fr;}
 .wedding-story .duo__media {height:500px;order:1!important;}
 .wedding-story .duo__text {padding:60px 24px;order:2!important;}
 .spaces-heading {grid-template-columns:1fr;gap:25px;}
 .space-links {grid-template-columns:1fr 1fr;column-gap:24px;}
 .carousel--spaces .carousel__stage {border-radius:40px;aspect-ratio:1.4;}
 .carousel__thumbs {gap:10px;overflow-x:auto;padding-bottom:10px;}
 .carousel--spaces .carousel__thumbs button {flex:0 0 76px;}
 .carousel__thumbs img {height:auto;}
 .carousel__arrow--prev {left:8px;}.carousel__arrow--next {right:8px;}
 .testimonial {padding-block:50px;}.testimonial__inner {padding-inline:24px;grid-template-columns:1fr;gap:28px;}
 .testimonial figure {max-width:180px;}.testimonial__mark {font-size:70px;}.testimonial__copy {font-size:28px;}
 .memories {padding:65px 24px;}.memories__line {font-size:22px;}
 #corporate .duo {gap:35px;}#corporate .carousel__stage {aspect-ratio:1.1;}
 .carousel--editorial .carousel__arrow {opacity:1;}
 .experience-story .carousel__stage {aspect-ratio:1.25;}
 .territory-mosaic {gap:14px;}.territory-mosaic__column {gap:14px;}.territory-mosaic__column:first-child {padding-top:38px;}
 .gallery-section .wrap,#faq .wrap {padding-inline:24px;}
 .gallery-section .sec__head {margin:0 0 35px;}.gallery-section .sec__head h2 {font-size:30px;}
 .gallery-section .gal {grid-template-columns:1fr 1fr;gap:12px;}
 .gallery-claim {font-size:21px;padding-block:40px;}
 #faq {padding-top:60px!important;}#faq h2 {font-size:32px;}
 .faq__item summary,.faq__item p {font-size:14px;}
 .contact {padding-block:60px;min-height:0;}
 .contact__grid {grid-template-columns:1fr;padding-inline:24px;gap:40px;}
 .contact__text {padding-top:160px;}.contact__text .h-display {font-size:39px;}
 .contact__img {object-position:40% top;}.contact__shade {background:rgba(20,24,19,.46);}
 .contact__list {display:grid;gap:14px;}
 .form {width:100%;padding:30px 24px;}.form input,.form select,.form textarea {font-size:16px;}.form label {font-size:10px;}.form .h-sub {font-size:18px;}
 .ftr {padding-block:60px 40px;}.ftr__grid {grid-template-columns:1fr;padding-inline:24px;gap:40px;}
 .ftr__brand {margin-bottom:35px;}.ftr__brand img {width:300px;}.ftr__contacts {flex-direction:row;flex-wrap:wrap;gap:20px 35px;overflow-wrap:anywhere;}
 .ftr__description {padding-top:0;max-width:none;}.ftr__description p+p {margin-top:20px;}
}

/* A photographic interlude for the mobile occasion story. */
@media(max-width:720px) {
 .occasion {background:var(--brand-dark);color:var(--cream);padding-top:54px!important;padding-bottom:30px!important;overflow:hidden;}
 .occasion .occasion__grid {gap:32px;}
 .occasion__head .label {display:none;}
 .occasion__head .h-display {max-width:12ch;font-size:clamp(40px,11.8vw,60px);line-height:1.06;letter-spacing:-.03em;color:var(--cream);}
 .occasion__title-accent {color:var(--gold);}
 .occasion .occasion__cards {display:grid;grid-template-columns:minmax(0,1fr);margin:0 -8px;width:calc(100% + 16px);padding:0;gap:28px;overflow:visible;scroll-snap-type:none;align-items:stretch;}
 .occasion .occasion-card {position:relative;isolation:isolate;width:100%;height:clamp(480px,136vw,620px);padding:0;}
 .occasion .occasion-card:nth-child(2) {padding-top:0;}
 .occasion .occasion-card.anim {opacity:0;transform:translateY(36px);filter:none;clip-path:none;transition:opacity .85s ease-out,transform 1s cubic-bezier(.16,1,.3,1);transition-delay:0s;}
 .occasion .occasion-card.anim.is-in,.occasion .occasion-card.anim:focus-within {opacity:1;transform:none;}
 .occasion .occasion-card__media.anim {opacity:1;transform:none;filter:none;clip-path:none;transition:none;}
 .occasion .occasion-card__media {position:absolute;inset:0;margin:0;}
 .occasion .occasion-card__media::after {content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(20,24,19,.2) 46%,rgba(20,24,19,.93) 100%);}
 .occasion .occasion-card__media picture {display:block;width:100%;height:100%;}
 .occasion .occasion-card__media img {width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;}
 .occasion-card__copy {position:absolute;inset:auto 24px 22px;z-index:1;}
 .occasion .occasion-card h3 {margin:0;font-family:var(--display);font-size:clamp(27px,7.4vw,34px);line-height:1.12;letter-spacing:-.02em;color:var(--cream);}
 .occasion .occasion-card p {margin-top:10px;font-size:12px;font-weight:400;color:var(--cream);}
 .occasion .occasion-card .link-rule {display:flex;justify-content:space-between;gap:14px;margin-top:20px;min-height:44px;font-size:10px;font-weight:400;color:var(--cream);border-color:rgba(247,243,237,.65);}
 .occasion-card .link-rule .ui-icon {filter:brightness(0) invert(1);}
 .occasion-card .link-rule:focus-visible {outline:2px solid var(--gold);outline-offset:5px;}
}
@media(max-width:720px) and (prefers-reduced-motion:reduce) {
 .occasion__head .anim {opacity:1;transform:none;filter:none;transition:none;}
 .occasion .occasion-card.anim {opacity:1;transform:none;transition:none;}
}

/* Hero discovery and direct contacts, matching the supplied icon strip. */
.hero__quicklinks {position:absolute;right:var(--pad);bottom:24px;z-index:3;display:flex;align-items:center;gap:12px;color:var(--cream);}
.hero__quicklinks a {display:grid;place-items:center;width:44px;min-height:44px;color:inherit;transition:color .25s;}
.hero__quicklinks a:hover {color:var(--gold);}
.hero__quicklinks a:focus-visible {outline:2px solid var(--gold);outline-offset:4px;}
.hero__quicklinks svg {width:25px;height:25px;overflow:visible;}
.hero__quicklinks .hero__scroll {position:static;display:flex;flex-direction:column;gap:6px;letter-spacing:.1em;color:inherit;}
.hero__scroll small {font-size:8px;font-weight:400;line-height:1;}
.hero__quicklinks .hero__mouse {width:20px;height:30px;}
.hero__quicklinks-divider {display:block;width:1px;height:25px;background:currentColor;opacity:.65;margin-inline:4px;}
.hero__mouse-wheel {animation:heroMouseWheel 2s ease-in-out infinite;}
@keyframes heroMouseWheel {0%,100% {transform:translateY(0);opacity:1;}60% {transform:translateY(5px);opacity:.25;}}
.hero .hero-controls {bottom:104px;}
.hero .hero__inner {padding-bottom:190px;}
.hero__location,.hero__description,.hero__actions {display:none;}
@media(min-width:981px) {
 .hero .hero__inner {max-width:none;text-align:left;padding-top:120px;padding-bottom:clamp(3.5rem,6vh,4.75rem);}
 .hero__location {display:block;margin-bottom:14px;font-size:11px;font-weight:400;line-height:1.4;letter-spacing:.025em;text-transform:uppercase;color:var(--cream);}
 .hero__description {display:block;max-width:520px;margin-top:20px;font-size:16px;font-weight:300;line-height:1.65;color:var(--cream);}
 .hero__actions {display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
 .hero__actions .hero__cta {min-height:46px;padding:13px 23px;font-size:10px;font-weight:400;gap:17px;border-color:var(--cream);}
 .hero__actions .hero__cta--primary {background:var(--cream);color:var(--ink);}
 .hero__actions .hero__cta--primary .ui-icon {filter:none;}
 .hero__actions .hero__cta--primary:hover {background:var(--gold);border-color:var(--gold);}
 .hero__actions .hero__cta--secondary {background:transparent;color:var(--cream);}
 .hero__actions .hero__cta--secondary:hover {background:var(--cream);color:var(--ink);}
 .hero__actions .hero__cta:focus-visible {outline:2px solid var(--cream);outline-offset:5px;}
}
@media(max-width:720px) {
 .hero__quicklinks {right:20px;bottom:calc(22px + env(safe-area-inset-bottom));gap:9px;}
 .hero__quicklinks .hero__scroll,.hero__quicklinks-divider {display:none;}
 .hero .hero-controls {bottom:calc(100px + env(safe-area-inset-bottom));}
 .hero .hero__inner {padding-bottom:calc(194px + env(safe-area-inset-bottom));}
 .hero__quicklinks-divider {margin-inline:2px;}
}
@media(prefers-reduced-motion:reduce) {
 .hero__mouse-wheel {animation:none;}
 .hero__quicklinks a {transition:none;}
}

/* Continuous gallery under the claim: 8 photos, one slide every 3s (24s loop) */
.claim-gallery {overflow:hidden;padding-block:0 clamp(56px,7vw,96px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.claim-gallery__track {display:flex;width:max-content;animation:claimGalleryScroll 24s linear infinite;will-change:transform;}
/* Pausa al passaggio del mouse rimossa come richiesto dalla cliente. */
.claim-gallery__item {flex:0 0 auto;width:clamp(240px,24vw,360px);margin:0 clamp(8px,1vw,14px);}
.claim-gallery__item img {display:block;width:100%;aspect-ratio:4/5;object-fit:cover;}
@keyframes claimGalleryScroll {from {transform:translate3d(0,0,0);} to {transform:translate3d(-50%,0,0);}}
@media(prefers-reduced-motion:reduce) {.claim-gallery__track {animation:none;} .claim-gallery {overflow-x:auto;}}

/* Spaces carousel: caption on each photo, six thumbnails per row */
.carousel--spaces .carousel__stage {aspect-ratio:1.95;border-radius:clamp(60px,8.5vw,120px);}
.carousel--spaces .carousel__slide::after {content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,11,9,.55) 0%,rgba(12,11,9,0) 42%);pointer-events:none;}
.carousel--spaces .slide-caption {position:absolute;left:0;right:0;bottom:clamp(34px,6vh,62px);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;padding-inline:24px;text-align:center;color:#fdfbf6;pointer-events:none;}
.carousel--spaces .slide-caption__title {font-family:var(--display);font-size:clamp(26px,3.2vw,46px);line-height:1.1;letter-spacing:.03em;text-shadow:0 2px 24px rgba(12,11,9,.4);}
.carousel--spaces .slide-caption__text {font-family:var(--sans);font-size:clamp(13px,1.1vw,16px);font-weight:300;line-height:1.4;opacity:.95;}
.carousel--spaces .carousel__thumbs {gap:18px;}
.carousel--spaces .carousel__thumbs button {flex:0 0 calc((100% - 90px) / 6);}
@media(max-width:720px) {
 .carousel--spaces .carousel__stage {aspect-ratio:1.1;border-radius:40px;}
 .carousel--spaces .slide-caption__title {font-size:26px;}
 .carousel--spaces .slide-caption__text {font-size:13px;}
 .carousel--spaces .carousel__thumbs {gap:10px;}
 .carousel--spaces .carousel__thumbs button {flex:0 0 calc((100% - 20px) / 3);}
}

/* Gallery "Immagina il tuo giorno qui": masonry, each photo keeps its own height */
.gallery-section .gal {display:block;columns:4 220px;column-gap:24px;padding-inline:0;}
.gallery-section .gal__item {display:block;width:100%;margin:0 0 24px;break-inside:avoid;}
.gallery-section .gal__item img {width:100%;height:auto;aspect-ratio:auto;}
@media(max-width:980px) {
 .gallery-section .gal {columns:2 200px;column-gap:16px;}
 .gallery-section .gal__item {margin-bottom:16px;}
}
@media(max-width:720px) {
 .gallery-section .gal {column-gap:12px;}
 .gallery-section .gal__item {margin-bottom:12px;}
}
.gallery-section .gal__item:nth-child(8n+1) img {aspect-ratio:4/5;}
.gallery-section .gal__item:nth-child(8n+2) img {aspect-ratio:1/1;}
.gallery-section .gal__item:nth-child(8n+3) img {aspect-ratio:3/4;}
.gallery-section .gal__item:nth-child(8n+4) img {aspect-ratio:5/4;}
.gallery-section .gal__item:nth-child(8n+5) img {aspect-ratio:9/10;}
.gallery-section .gal__item:nth-child(8n+6) img {aspect-ratio:7/5;}
.gallery-section .gal__item:nth-child(8n+7) img {aspect-ratio:4/5;}
.gallery-section .gal__item:nth-child(8n+8) img {aspect-ratio:6/5;}

/* Spaces list (Sala Grande, Parco, ...): larger labels and rows */
.space-links button,.space-links a {font-size:clamp(13px,1.05vw,15px);min-height:0;padding:14px 0;letter-spacing:.03em;}
.space-links .ui-icon {width:16px;height:16px;}
@media(max-width:720px) {
 .space-links button,.space-links a {font-size:13px;padding:12px 0;}
}

/* Slightly smaller villa title for a calmer balance */
@media(min-width:721px) { #villa .duo__text .h-display {font-size:clamp(32px,3.5vw,56px);} }


/* Venue facts: six evenly spaced items on desktop, reflow cleanly at smaller widths */
.venue-facts {grid-template-columns:repeat(6,minmax(0,1fr));}
@media(min-width:721px) and (max-width:980px) {.venue-facts {grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:720px) {.venue-facts {grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Allineamento del blocco laterale richiesto dalla cliente. */
@media (min-width:721px) {
 #eventi .spaces-heading .spaces-side {align-self:end;}
}

@media(max-width:720px) { .corporate-banner .bgsection__img {object-position:88% center;} }
/* New VSB logo assets, sized to preserve their stacked proportions. */
.hdr__brand {width:clamp(220px,23vw,300px);}
.menu__brand img {width:125px;max-width:100%;height:auto;filter:none;}
.ftr__brand {margin-bottom:26px;}
.ftr__brand img {width:150px;max-width:100%;height:auto;}
@media(max-width:980px) {.hdr__brand {width:clamp(185px,27vw,240px);}}
@media(max-width:720px) {.hdr__brand {width:min(100%,220px);}.ftr__brand {margin-bottom:24px;}.ftr__brand img {width:140px;}}
.hero__actions.anim {transition-duration:.6s;}
#matrimoni .bgsection__shade {background:linear-gradient(rgba(153,83,96,.3),rgba(153,83,96,.3)),linear-gradient(180deg,rgba(48,44,45,.03),rgba(48,44,45,.58));}
a[href$="privacy.html"] {text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.venue-facts > div {text-align:center;}
