/* Full-screen photo cover and spacious gallery direction adapted from Whitespace HTML.
   Bodoni Moda follows the supplied XV Fashion reference. */
:root{--serif:'Bodoni Moda',Georgia,serif;--paper:#fffdfa;--gold:#b89b64;--wine:#68313a}
h1,h2,h3{line-height:1.1;letter-spacing:-.035em}h2{font-size:clamp(42px,4.3vw,68px)}h3{font-size:36px}.eyebrow,.tag,.header nav{font-family:'Raleway',Arial,sans-serif}.eyebrow{letter-spacing:.16em;font-size:12px}.brand{font-family:'Bodoni Moda',Georgia,serif;font-size:25px;letter-spacing:-.045em}.brand span{font-family:'Raleway',Arial,sans-serif;letter-spacing:.25em;font-size:10px}
.header{position:absolute;z-index:5;top:0;left:0;right:0;max-width:none;min-height:105px;color:#fff;border-bottom:1px solid #ffffff35;background:linear-gradient(#071b24a8,transparent);padding-left:6%;padding-right:6%}.header nav a:hover{color:#ead4a8}.nav-contact{border-color:#ead4a8}
.invitation-cover{display:block;position:relative;max-width:none;min-height:780px;height:100svh;overflow:hidden;background:#172a24;color:#fff}.invitation-cover .hero-image{position:absolute;inset:0;height:100%;width:100%;overflow:hidden}.invitation-cover picture{display:block;height:100%}.invitation-cover .hero-image img{width:100%;height:100%;object-fit:cover;object-position:60% 38%;animation:cover-breathe 22s ease-out both}.invitation-cover:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#10271fe0 0%,#10271fa8 30%,#10271f00 70%),linear-gradient(0deg,#061b18c9 0%,transparent 40%)}.invitation-cover .hero-copy{position:absolute;z-index:2;top:50%;transform:translateY(-38%);left:8%;padding:0;width:min(650px,70%);display:block}.invitation-cover h1{font-size:clamp(76px,8.6vw,128px);line-height:1.04;letter-spacing:-.055em;margin:0 0 28px}.invitation-cover h1 em{color:#ead7b6}.invitation-cover .intro{color:#fff;font-size:18px;line-height:1.6;margin-bottom:28px}.invitation-cover .button{background:transparent;border:1px solid #ffffffa8;color:white;padding:14px 25px}.invitation-cover .button:hover{background:#fff;color:#173b32}.invitation-cover .text-link{display:block;color:#fff;font-size:14px;text-decoration:none;width:fit-content;border-bottom:1px solid #ffffff55;padding-bottom:3px}.cover-foot{position:absolute;z-index:2;left:6%;right:6%;bottom:25px;display:flex;justify-content:space-between;gap:20px;color:#fff;font-size:11px;letter-spacing:.15em}
.section{padding-top:110px;padding-bottom:110px}.section-head{margin-bottom:52px}.gallery-section .section-head h2 em{display:block}.christmas-gallery{gap:24px}.christmas-gallery .photo span{display:none}.portfolio-grid{column-gap:28px}.portfolio-grid .photo{margin-bottom:35px}.portfolio-grid .photo span{font-family:'Raleway',Arial,sans-serif;letter-spacing:.08em;font-size:12px;text-transform:uppercase;padding-top:14px}.package-grid{border-top:0}.package{padding:38px 34px}.package.featured{background:#f5f3ec}.package h3{font-size:36px}.price{font-family:var(--serif);font-size:58px}.package-lead{font-size:15px}.package li{line-height:1.65}.acrylic-copy h2{font-size:clamp(43px,4vw,64px)}.acrylic-copy{padding-top:80px;padding-bottom:80px}.product-row strong{font-size:28px}.family-heading h2{max-width:960px}.family-price{font-family:var(--serif);font-size:62px}.family-copy>p:not(.small):not(.micro):not(.family-price){font-family:var(--serif);font-size:28px;line-height:1.45}.family-grid{gap:70px}.family-grid>img{width:100%;height:auto}.outline-button{background:transparent}.footer-contact>a{font-family:var(--serif);font-size:34px}
@keyframes cover-breathe{from{transform:scale(1.055)}to{transform:scale(1)}}
@media(max-width:950px){.invitation-cover{min-height:720px}.invitation-cover .hero-copy{left:6%;width:70%}.invitation-cover h1{font-size:88px}.section{padding-top:85px;padding-bottom:85px}.package{padding:30px 22px}.family-grid{gap:35px}}
@media(max-width:650px){.header{min-height:86px;padding:15px 6%;align-items:center}.header .brand{font-size:21px}.header .brand span{font-size:8px}.header nav{gap:12px}.header nav a{font-size:12px}.invitation-cover{height:100svh;min-height:720px}.invitation-cover .hero-image{height:100%;position:absolute}.invitation-cover .hero-image img{object-position:50% 28%}.invitation-cover:after{background:linear-gradient(0deg,#09201ae8 0%,#09201ab8 28%,#09201a08 66%,#09201a38 100%)}.invitation-cover .hero-copy{left:7%;right:7%;width:auto;top:auto;bottom:88px;transform:none;padding:0}.invitation-cover .eyebrow{font-size:11px;letter-spacing:.11em;margin-bottom:14px}.invitation-cover h1{font-size:clamp(58px,15vw,76px);line-height:1.07;margin-bottom:17px}.hero h1 br:first-child{display:block}.hero h1 em{display:inline;margin:0}.invitation-cover .intro{font-size:16px;margin-bottom:22px}.invitation-cover .button{font-size:14px;padding:12px 20px}.invitation-cover .text-link{font-size:13px;margin-top:15px}.cover-foot{bottom:22px;left:7%;right:7%;font-size:10px}.cover-foot span:last-child{display:none}h2{font-size:43px;line-height:1.12}.section{padding:70px 7%}.section-head{margin-bottom:32px}.christmas-gallery{gap:13px}.package{padding:32px 22px}.package h3{font-size:34px}.price{font-size:52px}.acrylic-copy{padding:55px 7%}.acrylic-copy h2{font-size:44px}.family-grid{gap:32px}.family-price{font-size:56px}.family-copy>p:not(.small):not(.micro):not(.family-price){font-size:26px}.portfolio-grid{column-gap:14px}.portfolio-grid .photo{margin-bottom:27px}.portfolio-grid .photo span{font-size:11px;letter-spacing:.05em;padding-top:10px}footer .brand{font-size:25px}.product-video h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){.invitation-cover .hero-image img{animation:none}}
