:root{
  --purple-950:#240035;
  --purple-900:#360046;
  --purple-800:#4c075f;
  --purple-700:#630879;
  --purple-600:#7d168f;
  --purple-500:#9a26ad;
  --purple-400:#b74ec7;
  --purple-300:#d494df;
  --purple-200:#ead0ee;
  --purple-100:#f7eef8;
  --white:#fff;
  --ink:#2d1036;
  --muted:#765f7a;
  --max:1180px;
  --radius:22px;
  --shadow:0 22px 60px rgba(28,0,39,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
button,input,select,textarea{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{height:82px;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 clamp(20px,5vw,72px);background:linear-gradient(90deg,var(--purple-800),var(--purple-950));color:#fff;box-shadow:0 4px 18px rgba(29,0,43,.15)}
.logo{display:inline-flex;align-items:center;gap:10px;min-width:max-content}
.logo-mark{font-size:1.55rem;letter-spacing:-.65em;width:35px;color:#e5b9ec;transform:rotate(-12deg)}
.logo-type{display:flex;flex-direction:column;line-height:.9}
.logo-type>span{font-family:"Playfair Display",Georgia,serif;font-size:1.42rem;font-style:italic}
.logo-type small{font-size:.59rem;letter-spacing:.25em;margin-top:5px}
.nav{display:flex;align-items:center;gap:30px;text-transform:uppercase;font-size:.75rem;font-weight:700;letter-spacing:.035em}
.nav a:not(.nav-cta){position:relative;padding:30px 0}
.nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:21px;height:2px;background:var(--purple-300);transition:.2s ease}
.nav a:hover::after,.nav a.active::after{right:0}
.nav-cta{padding:12px 20px;border-radius:7px;background:linear-gradient(135deg,var(--purple-500),#a837bb);box-shadow:inset 0 1px rgba(255,255,255,.2)}
.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;padding:10px;cursor:pointer}
.menu-toggle span:not(.sr-only){display:block;height:2px;background:#fff;margin:5px 0;border-radius:3px}

.home-hero{position:relative;min-height:560px;display:flex;align-items:center;background-image:url('../images/gallery.jpg');background-position:center 42%;background-size:cover;color:#fff;overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,0,35,.92) 0%,rgba(39,0,52,.72) 38%,rgba(47,0,61,.18) 72%,rgba(43,0,55,.08) 100%)}
.home-hero__content{position:relative;z-index:2;width:min(620px,90%);margin-left:max(7vw,24px);padding:75px 0}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--purple-500);margin:0 0 8px}.kicker.light{color:#eac5f0}
.home-hero h1,.section-heading h2,.about-copy h2,.inquiry-hero h1{font-family:"Playfair Display",Georgia,serif;margin:0;font-weight:600;line-height:.96;letter-spacing:-.025em}
.home-hero h1{font-size:clamp(3.9rem,7vw,6.9rem);max-width:690px}
.home-hero p:not(.kicker){max-width:520px;font-size:1.07rem;margin:22px 0 28px;color:rgba(255,255,255,.9)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:0;border-radius:7px;padding:13px 24px;text-transform:uppercase;font-weight:700;font-size:.75rem;letter-spacing:.03em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.button:hover{transform:translateY(-2px)}
.button-primary{background:linear-gradient(135deg,var(--purple-500),#b218c0);color:#fff;box-shadow:0 8px 22px rgba(117,15,137,.24)}
.button-secondary{background:var(--purple-500);color:#fff}
.section-pad{padding:70px max(6vw,24px)}
.section-heading{max-width:var(--max);margin:0 auto 36px}.section-heading.centered{text-align:center}.section-heading h2{font-size:clamp(2.5rem,4vw,4.15rem)}
.services{position:relative;background:linear-gradient(180deg,#fff 0%,#faf3fb 100%);overflow:hidden}.services::before,.services::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f8e8fb,#e9caef 68%,transparent 70%);opacity:.5}.services::before{left:-120px;bottom:-50px}.services::after{right:-105px;top:40px}
.compact-grid{position:relative;z-index:2;max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.mini-service{background:#fff;border:1px solid #f2e4f4;border-radius:16px;padding:31px 23px 28px;text-align:center;box-shadow:0 8px 24px rgba(64,8,73,.05)}.service-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:-58px auto 15px;background:linear-gradient(145deg,var(--purple-400),var(--purple-600));color:#fff;border:4px solid #faf3fb;font-size:1.4rem}.mini-service h3{font-size:1rem;margin:0 0 10px}.mini-service p{font-size:.85rem;margin:0;color:#6f5a74}
.about-band{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;background:linear-gradient(120deg,var(--purple-800),var(--purple-950));color:#fff}.about-copy{max-width:540px;margin-left:auto}.about-copy h2{font-size:clamp(2.5rem,4.2vw,4.7rem);margin-bottom:24px}.about-copy>p:not(.kicker){color:#eadbea;font-size:.96rem;line-height:1.7;margin-bottom:24px}.about-photo{height:430px;border-radius:18px;overflow:hidden;box-shadow:0 25px 55px rgba(16,0,25,.3)}
.gallery-section{background:#fcf9fc}.gallery-strip{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery-strip figure{height:300px;margin:0;border-radius:14px;overflow:hidden;box-shadow:0 10px 28px rgba(60,0,70,.08)}.centered-action{text-align:center;margin-top:30px}
.footer{background:linear-gradient(110deg,var(--purple-800),var(--purple-950));color:#fff;padding:46px max(6vw,24px) 18px}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.5fr .7fr 1fr 1fr;gap:45px}.footer-logo{margin-bottom:18px}.footer h3{text-transform:uppercase;font-size:.71rem;letter-spacing:.06em;margin:0 0 12px}.footer p,.footer a:not(.logo){display:block;font-size:.77rem;color:#eadbea;margin:6px 0}.footer-bottom{max-width:var(--max);margin:30px auto 0;padding-top:15px;border-top:1px solid rgba(255,255,255,.13);text-align:center;font-size:.72rem;color:#ccb7cf}

/* Inquiry page */
.inquiry-page{background:linear-gradient(180deg,var(--purple-800) 0 435px,#f8f1f9 435px 100%)}
.inquiry-main{min-height:900px}
.inquiry-hero{position:relative;overflow:hidden;text-align:center;color:#fff;padding:60px 24px 90px;background:linear-gradient(135deg,var(--purple-800),var(--purple-950))}.inquiry-hero .kicker{margin-bottom:7px}.inquiry-hero h1{font-size:clamp(3.2rem,6vw,6rem)}.inquiry-hero>p:last-child{margin:15px 0 0;color:#e8d8eb}.inquiry-hero__orb{position:absolute;border-radius:50%;filter:blur(.2px);opacity:.35;background:radial-gradient(circle at 35% 30%,#e0a6e7 0,#8e2ba0 38%,#4e075c 72%)}.orb-one{width:170px;height:210px;right:-45px;top:20px}.orb-two{width:90px;height:110px;right:95px;top:135px}
.form-shell-wrap{position:relative;z-index:3;max-width:1260px;margin:-50px auto 80px;padding:0 24px}.event-form{background:#fff;border-radius:20px;padding:clamp(26px,4vw,48px);box-shadow:var(--shadow);border:1px solid rgba(93,11,107,.07)}
.form-row{display:grid;gap:22px;margin-bottom:24px}.form-row-3{grid-template-columns:repeat(3,1fr)}.form-row-2{grid-template-columns:repeat(2,1fr)}.form-row-event{grid-template-columns:1.1fr .9fr}.form-row-logistics{grid-template-columns:.62fr 1.55fr .62fr;align-items:end}
.field{display:flex;flex-direction:column;gap:8px}.field>span,.field-group legend,.choice-group legend{font-size:.78rem;font-weight:700;color:#3a1044;margin-bottom:8px}.field input,.field select,.field textarea,.field-group select{width:100%;border:1px solid #dfc7e3;border-radius:7px;background:#fff;color:#35103e;padding:13px 14px;outline:none;transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus,.field-group select:focus{border-color:var(--purple-500);box-shadow:0 0 0 3px rgba(154,38,173,.11)}.field textarea{min-height:180px;resize:vertical}.field.full{margin-bottom:24px}
.field-group,.choice-group{margin:0;padding:0;border:0}.time-grid{display:grid;grid-template-columns:1fr 1fr .88fr;gap:10px}.choice-group{align-self:start}.choice-group label{display:flex;align-items:center;gap:7px;font-size:.83rem;margin:8px 0;color:#432049}.choice-group input{accent-color:var(--purple-500)}.setup-date{align-self:end}
.budget-block{margin-top:4px}.budget-labels,.budget-minmax{display:flex;align-items:center;justify-content:space-between;font-size:.76rem}.budget-labels{font-weight:600;margin-bottom:4px}.budget-minmax{margin-top:2px;color:#846b88}.budget-block input[type="range"]{width:100%;accent-color:var(--purple-600);cursor:pointer}.submit-row{text-align:center;margin-top:28px}.submit-button{min-width:240px;color:#fff;background:linear-gradient(135deg,var(--purple-500),#a712b6);text-transform:none;font-size:.86rem}.form-helper{text-align:center;font-size:.7rem;color:#89728d;margin:15px auto 0;max-width:650px}.form-helper code{background:#f6eef7;padding:2px 5px;border-radius:4px}.inquiry-footer{margin-top:0}.inquiry-footer-grid{grid-template-columns:1.3fr 1fr .8fr}

/* Email Sent! */
.email-page{
    background: linear-gradient(180deg, var(--purple-800) 0 435px, #f8f1f9 435px 100%);
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 100vh;
}
        .confirmation-wrapper {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 40px 24px;
        }        
.confimation-card {
            background: #fff;
            border-radius: var(--radius);
            padding: clamp(32px, 5vw, 56px) clamp(24px, 4vw, 48px);
            box-shadow: var(--shadow);
            border: 1px solid rgba(93, 11, 107, .07);
            max-width: 480px;
            width: 100%;
            text-align: center;
        }

        /* SVG checkmark styling customized to match your branding palette */
        .success-icon-badge {
            width: 80px;
            height: 80px;
            background-color: var(--purple-100);
            border-radius: 50%;
            display: grid;
            place-items: center;
            margin: 0 auto 24px auto;
        }

        .checkmark-icon {
            width: 38px;
            height: 38px;
            color: var(--purple-600);
        }

        /* Custom typography parameters matching your headers */
        .confirmation-heading {
            font-family: "Playfair Display", Georgia, serif;
            font-size: clamp(2.2rem, 5vw, 2.8rem);
            font-weight: 600;
            color: var(--purple-950);
            margin: 0 0 14px 0;
            line-height: 1.1;
        }

        .confirmation-text {
            color: var(--muted);
            font-size: 0.95rem;
            line-height: 1.6;
            margin: 0 0 32px 0;
        }

        /* Button configurations from your layout styles */
        .button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 14px;
            border: 0;
            border-radius: 7px;
            padding: 14px 28px;
            text-transform: uppercase;
            font-weight: 700;
            font-size: .75rem;
            letter-spacing: .03em;
            cursor: pointer;
            transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
        }

        .button:hover {
            transform: translateY(-2px);
        }

       .button-primary {
            background: linear-gradient(135deg, var(--purple-500), #b218c0);
            color: #fff;
            box-shadow: 0 8px 22px rgba(117,15,137,.24);
        }
@media (max-width:1020px){
  .nav{gap:18px}.compact-grid{grid-template-columns:repeat(2,1fr);row-gap:58px}.gallery-strip{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}
  .form-row-logistics{grid-template-columns:1fr 1.5fr}.form-row-logistics .choice-group:last-child{grid-column:1/-1;display:grid;grid-template-columns:max-content max-content;column-gap:18px}.form-row-logistics .choice-group:last-child legend{grid-column:1/-1}
}
@media (max-width:820px){
  .site-header{height:72px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:linear-gradient(180deg,var(--purple-900),var(--purple-950));padding:12px 24px 25px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid rgba(255,255,255,.08)}.nav.open{display:flex}.nav a:not(.nav-cta){padding:14px 0}.nav a:not(.nav-cta)::after{bottom:9px}.nav-cta{text-align:center;margin-top:9px}
  .home-hero{min-height:510px;background-position:58% center}.hero-overlay{background:linear-gradient(90deg,rgba(25,0,35,.94),rgba(39,0,52,.69) 64%,rgba(47,0,61,.22))}.home-hero__content{padding:62px 0}.about-band{grid-template-columns:1fr}.about-copy{max-width:none;margin:0}.about-photo{height:390px}.footer-grid{grid-template-columns:1fr 1fr}
  .form-row-3,.form-row-2,.form-row-event{grid-template-columns:1fr}.form-row-logistics{grid-template-columns:1fr}.form-row-logistics .choice-group:last-child{grid-column:auto}.setup-date{align-self:auto}.inquiry-page{background:linear-gradient(180deg,var(--purple-800) 0 390px,#f8f1f9 390px 100%)}
}
@media (max-width:560px){
  .site-header{padding:0 18px}.logo-type>span{font-size:1.22rem}.home-hero{min-height:500px;background-position:61% center}.home-hero__content{margin-left:22px;width:calc(100% - 44px)}.home-hero h1{font-size:3.45rem}.home-hero p:not(.kicker){font-size:.92rem;max-width:360px}.section-pad{padding:58px 20px}.compact-grid{grid-template-columns:1fr;row-gap:58px}.gallery-strip{grid-template-columns:1fr}.gallery-strip figure{height:330px}.about-photo{height:330px}.footer-grid,.inquiry-footer-grid{grid-template-columns:1fr;gap:26px}
  .inquiry-hero{padding:48px 20px 82px}.form-shell-wrap{padding:0 12px;margin-top:-45px}.event-form{padding:24px 16px;border-radius:15px}.form-row{gap:16px;margin-bottom:18px}.time-grid{grid-template-columns:1fr 1fr .85fr;gap:7px}.field input,.field select,.field textarea,.field-group select{padding:12px 10px;font-size:.87rem}.form-row-logistics .choice-group:last-child{display:block}.submit-button{width:100%;min-width:0}.field textarea{min-height:170px}.form-helper{font-size:.66rem}.inquiry-page{background:linear-gradient(180deg,var(--purple-800) 0 340px,#f8f1f9 340px 100%)}
}
