:root{
    --bg:#0a0810;
    --bg-2:#120f18;
    --panel:rgba(255,255,255,.07);
    --panel-2:rgba(255,255,255,.1);
    --text:#f8f3ee;
    --muted:rgba(248,243,238,.72);
    --gold:#d9b87d;
    --gold-soft:#f2e0bc;
    --line:rgba(255,255,255,.1);
    --shadow:0 30px 80px rgba(0,0,0,.35);
    --radius:28px;
    --radius-sm:20px;
    --container:min(1180px, calc(100vw - 32px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    min-height:100vh;
    color:var(--text);
    font-family:'Inter',system-ui,sans-serif;
    background:
        radial-gradient(circle at top left, rgba(217,184,125,.14), transparent 30%),
        radial-gradient(circle at 100% 20%, rgba(102,76,143,.16), transparent 30%),
        linear-gradient(160deg,#09070d 0%,#100d16 48%,#09080d 100%);
    overflow-x:hidden;
}
body.nav-open{overflow:hidden}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
dialog{border:0;padding:0}
.container{width:var(--container);margin-inline:auto}
.site-shell{position:relative;min-height:100vh}
.site-shell::before,
.site-shell::after{
    content:"";
    position:fixed;
    z-index:-1;
    pointer-events:none;
    border-radius:999px;
    filter:blur(60px);
    opacity:.18;
}
.site-shell::before{width:300px;height:300px;left:-120px;top:-30px;background:#d9b87d}
.site-shell::after{width:380px;height:380px;right:-140px;top:20%;background:#6c55a2}

.site-loader{
    position:fixed;
    inset:0;
    z-index:100;
    display:grid;
    place-items:center;
    gap:16px;
    background:rgba(8,7,12,.98);
    transition:opacity .55s ease, visibility .55s ease;
}
.site-loader.is-hidden{opacity:0;visibility:hidden}
.site-loader__mark{
    font:700 clamp(3rem, 9vw, 5rem)/1 'Cormorant Garamond', serif;
    letter-spacing:.2em;
}
.site-loader__mark span{color:var(--gold)}
.site-loader__line{
    width:min(220px, 60vw);
    height:1px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
    position:relative;
    overflow:hidden;
}
.site-loader__line::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);
    animation:lineSweep 1.4s linear infinite;
}
@keyframes lineSweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}

.site-header{
    position:sticky;
    top:0;
    z-index:40;
    padding:18px 0 0;
}
.header-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:14px 18px;
    border:1px solid var(--line);
    border-radius:999px;
    background:rgba(10,8,14,.74);
    backdrop-filter:blur(18px);
    box-shadow:var(--shadow);
}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand__mono{
    font:700 1.9rem/1 'Cormorant Garamond',serif;
    letter-spacing:.14em;
    white-space:nowrap;
}
.brand__mono span{color:var(--gold)}
.brand__meta{
    display:flex;
    flex-direction:column;
    min-width:0;
}
.brand__meta strong{font-size:.98rem;letter-spacing:.08em}
.brand__meta small{color:var(--muted);font-size:.78rem;letter-spacing:.08em}
.site-nav{display:flex;align-items:center;gap:18px}
.site-nav a{
    color:var(--muted);
    font-size:.94rem;
    transition:color .22s ease, transform .22s ease;
}
.site-nav a:hover,.site-nav a.is-active{color:var(--text);transform:translateY(-1px)}
.header-actions{display:flex;align-items:center;gap:10px}
.mini-btn{
    min-height:44px;
    padding:0 18px;
    border-radius:999px;
    border:1px solid var(--line);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--text);
    background:rgba(255,255,255,.04);
}
.mini-btn--solid{
    background:linear-gradient(135deg,#d9b87d,#bea06d);
    color:#181419;
    border-color:transparent;
}
.nav-toggle{
    display:none;
    width:46px;height:46px;
    border-radius:50%;
    border:1px solid var(--line);
    background:rgba(255,255,255,.04);
    align-items:center;justify-content:center;
    flex-direction:column;gap:4px;
}
.nav-toggle span{width:18px;height:2px;border-radius:999px;background:var(--text)}

.hero-home{
    min-height:calc(100vh - 110px);
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
    gap:24px;
    align-items:center;
    padding:36px 0 46px;
}
.hero-home__copy,
.hero-home__actions,
.page-hero,
.glass-panel{
    border:1px solid var(--line);
    background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.04));
    backdrop-filter:blur(18px);
    box-shadow:var(--shadow);
}
.hero-home__copy{
    border-radius:36px;
    padding:34px;
    position:relative;
    overflow:hidden;
}
.hero-home__copy::after{
    content:"";
    position:absolute;
    right:-40px;
    top:-70px;
    width:220px;
    height:220px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(217,184,125,.18), transparent 70%);
}
.hero-kicker,
.section-label{
    margin:0 0 12px;
    color:var(--gold-soft);
    font-size:.78rem;
    letter-spacing:.24em;
    text-transform:uppercase;
}
.hero-home__copy h1,
.page-hero h1,
.glass-panel h2,
.modal-card h3{
    margin:0;
    font-family:'Cormorant Garamond',serif;
    line-height:.95;
    letter-spacing:-.03em;
}
.hero-home__copy h1{
    font-size:clamp(3.4rem,8vw,6rem);
    max-width:10ch;
}
.hero-home__copy h1 span{color:var(--gold)}
.hero-subtitle{
    margin:12px 0 26px;
    color:var(--muted);
    font-size:1.08rem;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.elegant-countdown{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:12px;
}
.elegant-countdown div{
    padding:18px 12px;
    border-radius:20px;
    background:rgba(255,255,255,.05);
    text-align:center;
}
.elegant-countdown span{
    display:block;
    font-size:clamp(1.8rem,4vw,2.9rem);
    font-weight:700;
}
.elegant-countdown small{
    display:block;
    margin-top:5px;
    color:var(--muted);
}
.elegant-countdown--large div{padding:22px 16px}
.family-note{
    margin-top:22px;
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
}
.family-note small{
    padding:10px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.05);
    color:var(--muted);
    letter-spacing:.06em;
}

.hero-home__actions{
    border-radius:34px;
    padding:20px;
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
}
.quick-card{
    min-height:150px;
    border-radius:24px;
    padding:18px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.04);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:12px;
    transition:transform .22s ease, border-color .22s ease, background .22s ease;
}
.quick-card:hover{transform:translateY(-3px);border-color:rgba(217,184,125,.32);background:rgba(255,255,255,.06)}
.quick-card--featured{grid-column:span 2;min-height:168px}
.quick-card__no{
    width:44px;height:44px;border-radius:14px;
    display:grid;place-items:center;
    background:rgba(217,184,125,.14);
    color:var(--gold-soft);
    font-size:.86rem;
    letter-spacing:.14em;
}
.quick-card strong{font-size:1.15rem}
.quick-card small{color:var(--muted)}

.page-hero{
    border-radius:32px;
    padding:32px;
    margin-top:26px;
}
.page-hero h1{font-size:clamp(2.5rem,6vw,4.4rem)}
.page-hero p{margin:10px 0 0;color:var(--muted);line-height:1.8}

.section-grid{
    display:grid;
    gap:18px;
    padding:18px 0 72px;
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.section-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.glass-panel{
    border-radius:28px;
    padding:26px;
}
.glass-panel h2{font-size:clamp(1.7rem,4vw,2.6rem);margin-bottom:12px}
.glass-panel p{margin:0;color:var(--muted);line-height:1.8}
.meta-list{
    display:grid;
    gap:12px;
    margin:8px 0 0;
}
.meta-list div{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:14px 16px;
    border-radius:18px;
    background:rgba(255,255,255,.04);
}
.meta-list span{color:var(--muted)}
.meta-list strong{font-size:.98rem}

.family-block{
    display:grid;
    gap:16px;
    margin:6px 0 22px;
}
.family-block div{
    padding:16px;
    border-radius:20px;
    background:rgba(255,255,255,.04);
    display:grid;
    gap:8px;
}
.family-block small{color:var(--gold-soft);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem}
.family-block strong{font-size:1rem}

.button-row,.button-stack,.modal-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.button-stack{flex-direction:column}
.btn{
    min-height:52px;
    padding:0 22px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid transparent;
    transition:transform .22s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
    background:linear-gradient(135deg,#d9b87d,#c59f5f);
    color:#191419;
}
.btn-secondary{
    border-color:var(--line);
    color:var(--text);
    background:rgba(255,255,255,.06);
}
.btn-block{width:100%}
.option-card{min-height:210px;justify-content:flex-end;display:flex;flex-direction:column}

.elegant-form{display:grid;gap:16px}
.field-row{display:grid;gap:14px}
.field-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.field{display:grid;gap:8px}
.field span{font-size:.9rem;color:var(--gold-soft)}
.field input,.field textarea{
    width:100%;
    border:1px solid var(--line);
    border-radius:18px;
    background:rgba(255,255,255,.05);
    color:var(--text);
    padding:16px 16px;
    outline:none;
}
.field input::placeholder,.field textarea::placeholder{color:rgba(248,243,238,.36)}
.field input:focus,.field textarea:focus{
    border-color:rgba(217,184,125,.42);
    box-shadow:0 0 0 4px rgba(217,184,125,.08);
}

.upload-dropzone{
    display:grid;
    gap:8px;
    padding:28px;
    border-radius:24px;
    border:1px dashed rgba(217,184,125,.35);
    background:rgba(255,255,255,.03);
    text-align:center;
}
.upload-dropzone input{display:none}
.upload-dropzone strong{font-size:1.02rem}
.upload-dropzone small{color:var(--muted)}
.upload-dropzone.is-dragover{border-color:var(--gold);background:rgba(217,184,125,.08)}

.preview-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.text-button{
    padding:0;
    background:none;
    border:0;
    color:var(--gold-soft);
}
.preview-grid,.confirm-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.preview-item,.confirm-item{
    position:relative;
    border-radius:18px;
    overflow:hidden;
    border:1px solid var(--line);
    background:rgba(255,255,255,.04);
}
.preview-item img,.confirm-item img{
    width:100%;
    height:170px;
    object-fit:cover;
}
.preview-meta{
    padding:10px 12px;
    color:var(--muted);
    font-size:.82rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.preview-remove{
    position:absolute;
    top:10px;right:10px;
    width:32px;height:32px;
    border-radius:50%;
    border:0;
    background:rgba(5,5,8,.76);
    color:var(--text);
    display:grid;place-items:center;
}
.check-field{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:16px 18px;
    border-radius:20px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.04);
}
.check-field input{margin-top:2px}
.honeypot{position:absolute !important;left:-9999px !important}
.inline-feedback{min-height:24px;color:var(--gold-soft)}
.inline-feedback.error{color:#f2a3a3}
.progress-wrap{display:grid;gap:10px}
.progress-wrap.is-hidden{display:none}
.progress-bar{
    height:10px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden
}
.progress-bar span{
    display:block;height:100%;width:0;border-radius:999px;
    background:linear-gradient(90deg,#d9b87d,#f2dfb8)
}

.quote-panel{
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.quote-panel blockquote{
    margin:0;
    font:600 clamp(2rem,4vw,3rem)/1.2 'Cormorant Garamond',serif;
    color:var(--text);
}

.site-footer{padding:0 0 34px}
.footer-bar{
    border:1px solid var(--line);
    border-radius:28px;
    background:rgba(255,255,255,.04);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:22px 24px;
}
.footer-sign{display:grid;gap:6px}
.footer-sign span{font-family:'Cormorant Garamond',serif;font-size:1.6rem}
.footer-sign small{color:var(--muted)}
.footer-links{display:flex;flex-wrap:wrap;gap:14px 18px}
.footer-links a{color:var(--muted)}
.footer-links a:hover{color:var(--text)}

.modal::backdrop{background:rgba(5,4,8,.66);backdrop-filter:blur(6px)}
.modal{max-width:none;background:none}
.modal-card{
    width:min(560px, calc(100vw - 28px));
    border-radius:28px;
    padding:24px;
    border:1px solid var(--line);
    background:linear-gradient(180deg,rgba(18,14,24,.96),rgba(14,11,18,.94));
    color:var(--text);
    box-shadow:var(--shadow);
}
.modal-card--wide{width:min(860px, calc(100vw - 28px))}
.modal-top{
    display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px
}
.modal-top h3{font-size:clamp(2rem,5vw,3rem)}
.modal-close{
    width:42px;height:42px;border-radius:50%;
    border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text)
}
.modal-text{margin:0;color:var(--muted);line-height:1.8}
.confirm-summary{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px
}
.confirm-summary div{
    padding:16px;border-radius:18px;background:rgba(255,255,255,.04);display:grid;gap:8px
}
.confirm-summary span{color:var(--muted)}
.confirm-summary strong{font-size:1.05rem}

.reveal{
    opacity:0;
    transform:translateY(18px);
    transition:opacity .55s ease, transform .55s ease;
}
.reveal.delay-1{transition-delay:.08s}
.reveal.delay-2{transition-delay:.16s}
.reveal.is-visible{
    opacity:1;
    transform:translateY(0);
}

@media (max-width: 1100px){
    .hero-home{grid-template-columns:1fr}
}
@media (max-width: 900px){
    .site-nav{
        position:fixed;
        left:16px;right:16px;top:88px;
        z-index:30;
        padding:16px;
        border-radius:26px;
        border:1px solid var(--line);
        background:rgba(11,9,15,.96);
        box-shadow:var(--shadow);
        display:none;
        flex-direction:column;
        align-items:flex-start;
    }
    body.nav-open .site-nav{display:flex}
    .nav-toggle{display:flex}
    .header-actions .mini-btn{display:none}
    .section-grid,
    .section-grid--three{grid-template-columns:1fr}
}
@media (max-width: 700px){
    .header-bar{
        border-radius:26px;
        padding:12px 14px;
    }
    .brand__meta strong{font-size:.9rem}
    .brand__meta small{font-size:.72rem}
    .hero-home__copy,
    .hero-home__actions,
    .page-hero,
    .glass-panel,
    .modal-card{border-radius:24px}
    .hero-home__copy{padding:24px}
    .hero-home__actions{grid-template-columns:1fr}
    .quick-card--featured{grid-column:auto}
    .elegant-countdown{grid-template-columns:repeat(2,minmax(0,1fr))}
    .field-row--2,
    .preview-grid,
    .confirm-grid,
    .confirm-summary{grid-template-columns:1fr}
    .footer-bar{flex-direction:column;align-items:flex-start}
}
