/* ── RESET ────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
    --black:   #050507;
    --void:    #080809;
    --ink:     #0e0d10;
    --cream:   #ddd0b3;
    --cream2:  #f0e8d4;
    --cream3:  rgba(221,208,179,0.55);
    --bone:    rgba(221,208,179,0.1);
    --red:     #9c2020;
    --red2:    #cc3030;
    --red3:    rgba(140,28,28,0.18);
}

html{background:var(--black);scroll-behavior:smooth}
body{
    background:var(--black);
    color:var(--cream);
    font-family:'Cormorant Garamond',Georgia,serif;
    -webkit-font-smoothing:antialiased;
    overflow:hidden;
}

::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:var(--black)}
::-webkit-scrollbar-thumb{background:var(--red);border-radius:2px}

/* ── GRAIN ────────────────────────────────────── */
#grain{
    position:fixed;inset:0;z-index:9999;pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='500' height='500'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='500' height='500' filter='url(%23g)'/%3E%3C/svg%3E");
    background-size:200px 200px;
    opacity:0.036;
    mix-blend-mode:overlay;
    animation:grainShift 0.12s steps(1) infinite;
}
@keyframes grainShift{
    0%{background-position:0 0}
    20%{background-position:-30px 20px}
    40%{background-position:20px -15px}
    60%{background-position:-10px 30px}
    80%{background-position:25px -5px}
    100%{background-position:0 0}
}

/* ── SPLASH ───────────────────────────────────── */
#splash{
    position:fixed;inset:0;z-index:700;
    background:var(--black);
    display:flex;align-items:center;justify-content:center;
    transition:opacity 2s cubic-bezier(0.4,0,0.2,1);
}
#splash .ambient{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-56%);
    width:min(600px,80vw);
    height:min(600px,80vw);
    background:radial-gradient(ellipse, rgba(140,28,28,0.22) 0%, rgba(100,60,10,0.08) 35%, transparent 70%);
    border-radius:50%;
    animation:pulse 4s ease-in-out infinite;
    pointer-events:none;
}
@keyframes pulse{
    0%,100%{opacity:0.6;transform:translate(-50%,-56%) scale(1)}
    50%{opacity:1;transform:translate(-50%,-56%) scale(1.08)}
}
#splash.fading{opacity:0;pointer-events:none}
.splash-content{
    position:relative;z-index:2;
    display:flex;flex-direction:column;align-items:center;gap:0;
    opacity:0;
    animation:splashIn 1.6s cubic-bezier(0.22,1,0.36,1) 0.5s forwards;
}
@keyframes splashIn{
    from{opacity:0;transform:scale(0.95) translateY(12px)}
    to{opacity:1;transform:scale(1) translateY(0)}
}
.splash-logo-wrap{
    width:min(500px,82vw);
    height:min(500px,82vw);
    position:relative;
    display:flex;align-items:center;justify-content:center;
}
.splash-logo-img{
    width:100%;height:100%;
    object-fit:contain;
    mix-blend-mode:screen;
    filter:drop-shadow(0 0 40px rgba(220,200,160,0.12)) drop-shadow(0 0 80px rgba(140,28,28,0.1));
    -webkit-mask-image:
        linear-gradient(to right,transparent 0%,black 9%,black 91%,transparent 100%),
        linear-gradient(to bottom,transparent 0%,black 6%,black 94%,transparent 100%);
    -webkit-mask-composite:destination-in;
    mask-image:
        linear-gradient(to right,transparent 0%,black 9%,black 91%,transparent 100%),
        linear-gradient(to bottom,transparent 0%,black 6%,black 94%,transparent 100%);
    mask-composite:intersect;
}
.splash-monogram{
    display:none;flex-direction:column;align-items:center;justify-content:center;
    width:100%;height:100%;
    border:1px solid rgba(221,208,179,0.16);border-radius:50%;
    position:relative;gap:0;
}
.splash-monogram::before{
    content:'';position:absolute;inset:8px;
    border:1px solid rgba(221,208,179,0.08);border-radius:50%;
}
.splash-monogram-h{font-family:'Cinzel',serif;font-size:clamp(3.5rem,7vw,6rem);font-weight:700;color:var(--cream);line-height:1;letter-spacing:-0.02em}
.splash-monogram-sub{font-family:'Cinzel',serif;font-size:clamp(0.35rem,0.7vw,0.48rem);letter-spacing:0.55em;color:var(--red2);text-transform:uppercase;margin-top:0.5rem}
.splash-line-wrap{display:flex;align-items:center;gap:1rem;width:min(500px,82vw);margin:1.2rem 0 1.4rem}
.splash-line{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(221,208,179,0.22),transparent)}
.splash-gem{color:var(--red);font-size:0.36rem}
.btn-enter{
    font-family:'Cinzel',serif;font-size:0.52rem;font-weight:500;
    letter-spacing:0.78em;text-indent:0.78em;text-transform:uppercase;
    color:var(--cream);background:transparent;
    border:1px solid rgba(221,208,179,0.18);padding:0.95rem 2.6rem;
    cursor:pointer;position:relative;overflow:hidden;
    transition:border-color 0.4s,letter-spacing 0.5s,text-indent 0.5s;
}
.btn-enter::before{
    content:'';position:absolute;inset:0;background:var(--red);
    transform:translateX(-102%);transition:transform 0.5s cubic-bezier(0.77,0,0.18,1);z-index:-1;
}
.btn-enter:hover{border-color:var(--red2);letter-spacing:1em;text-indent:1em}
.btn-enter:hover::before{transform:translateX(0)}

/* ── MAIN ─────────────────────────────────────── */
#main{opacity:0;transition:opacity 0.9s ease 0.1s;display:flex;flex-direction:column;min-height:100vh}
#main.on{opacity:1}

/* ── HEADER ───────────────────────────────────── */
.hdr{
    position:fixed;top:0;left:0;right:0;z-index:400;
    padding:1.4rem 5vw;
    display:flex;align-items:center;justify-content:space-between;
    background:linear-gradient(to bottom,rgba(5,5,7,0.96) 0%,transparent 100%);
    border-bottom:1px solid transparent;
    transition:background 0.4s,border-color 0.4s,padding 0.3s;
}
.hdr.s{background:rgba(5,5,7,0.97);border-bottom-color:rgba(221,208,179,0.06);padding-top:1rem;padding-bottom:1rem}
.hdr-brand{
    font-family:'Cinzel',serif;font-size:clamp(0.6rem,0.95vw,0.78rem);font-weight:500;
    letter-spacing:0.38em;text-indent:0.38em;text-transform:uppercase;
    color:rgba(221,208,179,0.88);text-decoration:none;flex-shrink:0;
}
.hdr-nav{display:flex;align-items:center;gap:2.5rem}
.hdr-nav a{
    font-family:'Cinzel',serif;font-size:clamp(0.58rem,0.75vw,0.68rem);letter-spacing:0.32em;text-indent:0.32em;
    text-transform:uppercase;color:rgba(221,208,179,0.62);text-decoration:none;
    position:relative;transition:color 0.3s;
}
.hdr-nav a::after{
    content:'';position:absolute;bottom:-2px;left:0;right:0;height:1px;
    background:var(--red2);transform:scaleX(0);transition:transform 0.35s;transform-origin:left;
}
.hdr-nav a:hover{color:var(--cream)}
.hdr-nav a:hover::after{transform:scaleX(1)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.burger span{display:block;width:22px;height:1px;background:var(--cream);transition:transform 0.3s,opacity 0.2s;transform-origin:center}
.burger.x span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger.x span:nth-child(2){opacity:0}
.burger.x span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.drawer{
    position:fixed;inset:0;z-index:350;background:rgba(5,5,7,0.98);
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3rem;
    opacity:0;pointer-events:none;transition:opacity 0.35s;
}
.drawer.on{opacity:1;pointer-events:all}
.drawer a{
    font-family:'Cinzel',serif;font-size:clamp(1.2rem,5vw,2rem);
    letter-spacing:0.35em;text-indent:0.35em;text-transform:uppercase;
    color:rgba(221,208,179,0.5);text-decoration:none;transition:color 0.3s;
}
.drawer a:hover{color:var(--cream)}
.drawer-gem{color:var(--red);font-size:0.4rem;opacity:0.4}

/* ── IDENTITY ─────────────────────────────────── */
.identity{
    min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;padding:clamp(7rem,12vw,10rem) 5vw clamp(5rem,8vw,8rem);
    position:relative;overflow:hidden;
}
.identity::before{
    content:'';position:absolute;top:-5%;left:50%;transform:translateX(-50%);
    width:90vw;max-width:1000px;height:60vw;max-height:600px;
    background:radial-gradient(ellipse 70% 60% at 50% 30%,rgba(140,28,28,0.15) 0%,rgba(100,40,10,0.05) 40%,transparent 70%);
    pointer-events:none;
}
.identity::after{
    content:'';position:absolute;bottom:0;left:5vw;right:5vw;height:1px;
    background:linear-gradient(to right,transparent,rgba(221,208,179,0.08),rgba(140,28,28,0.18),rgba(221,208,179,0.08),transparent);
}
.id-eyebrow{
    font-family:'Cinzel',serif;font-size:clamp(0.42rem,0.8vw,0.55rem);
    letter-spacing:0.7em;text-indent:0.7em;text-transform:uppercase;color:var(--red2);
    margin-bottom:2rem;opacity:0;animation:fadeUp 1s ease 0.2s forwards;
}
.id-logo{
    width:clamp(140px,16vw,220px);height:clamp(80px,9.2vw,126px);
    object-fit:cover;object-position:center top;mix-blend-mode:screen;margin-bottom:1rem;
    -webkit-mask-image:
        linear-gradient(to right,transparent 0%,black 12%,black 88%,transparent 100%),
        linear-gradient(to bottom,transparent 0%,black 5%,black 80%,transparent 100%);
    -webkit-mask-composite:destination-in;
    mask-image:
        linear-gradient(to right,transparent 0%,black 12%,black 88%,transparent 100%),
        linear-gradient(to bottom,transparent 0%,black 5%,black 80%,transparent 100%);
    mask-composite:intersect;
    opacity:0;animation:fadeUp 1s ease 0.3s forwards;
}
.id-title{
    font-family:'Cinzel',serif;font-size:clamp(3rem,9vw,8.5rem);font-weight:700;
    letter-spacing:0.06em;color:var(--cream2);line-height:0.95;text-transform:uppercase;
    margin-bottom:0;opacity:0;animation:fadeUp 1.1s ease 0.4s forwards;
}
.id-title-sub{
    font-family:'Cinzel',serif;font-size:clamp(1.2rem,3.5vw,3.2rem);font-weight:400;
    letter-spacing:0.38em;text-indent:0.38em;text-transform:uppercase;color:var(--red2);
    margin-top:clamp(0.3rem,1vw,0.8rem);margin-bottom:clamp(2rem,4vw,3.5rem);
    opacity:0;animation:fadeUp 1.1s ease 0.55s forwards;
}
.id-divider{display:flex;align-items:center;gap:1.5rem;width:min(400px,70vw);margin:0 auto clamp(2rem,3.5vw,3rem);opacity:0;animation:fadeUp 1s ease 0.7s forwards}
.id-divider-line{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(221,208,179,0.22),transparent)}
.id-divider-gem{color:var(--red);font-size:0.5rem}
.id-tagline{
    font-family:'Cormorant Garamond',serif;font-size:clamp(1.4rem,2.6vw,2.2rem);
    font-weight:300;font-style:italic;letter-spacing:0.02em;
    color:rgba(221,208,179,0.65);line-height:1.5;max-width:600px;
    opacity:0;animation:fadeUp 1s ease 0.85s forwards;
}
.scroll-ind{
    position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);
    display:flex;flex-direction:column;align-items:center;gap:0.6rem;
    opacity:0;animation:fadeUp 1s ease 1.1s forwards;
}
.scroll-ind-label{font-family:'Cinzel',serif;font-size:0.38rem;letter-spacing:0.6em;text-indent:0.6em;text-transform:uppercase;color:rgba(221,208,179,0.45)}
.scroll-ind-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(221,208,179,0.3),transparent);animation:breathe 2.2s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:0.3}50%{opacity:0.8}}

/* ── ABOUT ───────────────────────────────────── */
.about{padding:clamp(7rem,12vw,11rem) 5vw clamp(6rem,10vw,10rem);position:relative;background:var(--void)}
.about::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,rgba(221,208,179,0.08),rgba(140,28,28,0.15),rgba(221,208,179,0.08),transparent)}
.about-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:clamp(3rem,6vw,8rem);align-items:start}
.about-left{position:sticky;top:8rem}
.about-label{font-family:'Cinzel',serif;font-size:0.48rem;letter-spacing:0.7em;text-indent:0.7em;text-transform:uppercase;color:var(--red2);display:block;margin-bottom:1rem}
.about-rule{width:28px;height:1px;background:var(--red);margin-bottom:2rem}
.about-founder-name{font-family:'Cinzel',serif;font-size:clamp(0.75rem,1.2vw,0.95rem);letter-spacing:0.12em;color:var(--cream);margin-bottom:0.4rem}
.about-founder-title{font-family:'Cormorant Garamond',serif;font-size:clamp(0.85rem,1.1vw,1rem);font-style:italic;font-weight:300;color:rgba(221,208,179,0.55);line-height:1.7}
.about-pullquote{
    font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.2vw,2.8rem);
    font-weight:400;font-style:italic;letter-spacing:0.01em;color:var(--cream2);
    line-height:1.35;margin-bottom:clamp(2rem,3vw,3rem);
    position:relative;padding-left:2rem;border-left:1px solid var(--red);
}
.about-body{font-size:clamp(1.05rem,1.4vw,1.18rem);font-weight:300;line-height:2.1;color:rgba(221,208,179,0.78)}
.about-body strong{color:var(--cream);font-weight:500}

/* ── STATS ───────────────────────────────────── */
.stats{padding:clamp(5rem,8vw,8rem) 5vw;background:var(--ink);border-top:1px solid rgba(221,208,179,0.06);border-bottom:1px solid rgba(221,208,179,0.06);position:relative;overflow:hidden}
.stats::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 100% at 50% 50%,rgba(140,28,28,0.08) 0%,transparent 65%);pointer-events:none}
.stats-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;align-items:center;position:relative;z-index:1}
.stats-divider{height:80px;background:linear-gradient(to bottom,transparent,rgba(221,208,179,0.1),transparent)}
.stat{text-align:center;padding:clamp(1rem,2.5vw,2rem) clamp(1.5rem,3vw,4rem)}
.stat-n{font-family:'Cormorant Garamond',serif;font-size:clamp(3.5rem,7vw,6rem);font-weight:300;color:var(--cream2);line-height:1;letter-spacing:-0.02em}
.stat-n sup{font-size:0.38em;vertical-align:super;color:var(--red2)}
.stat-inf{color:var(--red2);font-style:italic}
.stat-l{font-family:'Cinzel',serif;font-size:clamp(0.38rem,0.65vw,0.52rem);letter-spacing:0.5em;text-indent:0.5em;text-transform:uppercase;color:rgba(221,208,179,0.55);margin-top:0.9rem}

/* ── CONTACT ─────────────────────────────────── */
.contact{padding:clamp(7rem,11vw,11rem) 5vw clamp(6rem,9vw,9rem);background:var(--void);position:relative;overflow:hidden}
.contact::before{content:'';position:absolute;bottom:-10%;left:50%;transform:translateX(-50%);width:80vw;height:80vw;background:radial-gradient(ellipse,rgba(140,28,28,0.1) 0%,transparent 60%);pointer-events:none}
.contact::after{content:'';position:absolute;top:0;left:5vw;right:5vw;height:1px;background:linear-gradient(to right,transparent,rgba(221,208,179,0.08),rgba(140,28,28,0.15),rgba(221,208,179,0.08),transparent)}
.contact-inner{max-width:700px;margin:0 auto;text-align:center;position:relative;z-index:1}
.contact-label{font-family:'Cinzel',serif;font-size:0.65rem;letter-spacing:0.7em;text-indent:0.7em;text-transform:uppercase;color:var(--red2);display:block;margin-bottom:1.8rem}
.contact-headline{font-family:'Cinzel',serif;font-size:clamp(1.8rem,4vw,3.2rem);font-weight:400;letter-spacing:0.08em;color:var(--cream2);line-height:1.3;margin-bottom:1.2rem}
.contact-sub{font-family:'Cormorant Garamond',serif;font-size:clamp(1.05rem,1.5vw,1.25rem);font-weight:300;font-style:italic;color:rgba(221,208,179,0.65);line-height:1.8;margin-bottom:3.5rem}
.contact-divider{display:flex;align-items:center;gap:1.2rem;margin-bottom:3.5rem}
.contact-divider-line{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(221,208,179,0.16),transparent)}
.contact-divider-gem{color:var(--red);font-size:0.42rem}
.contact-email-lbl{font-family:'Cinzel',serif;font-size:0.65rem;letter-spacing:0.55em;text-indent:0.55em;text-transform:uppercase;color:rgba(221,208,179,0.6);display:block;margin-bottom:0.9rem}
.contact-email{font-family:'Cormorant Garamond',serif;font-size:clamp(1.2rem,2vw,1.7rem);font-weight:400;color:var(--cream2);text-decoration:none;border-bottom:1px solid rgba(221,208,179,0.25);padding-bottom:0.4rem;display:inline-block;margin-bottom:4rem;transition:color 0.3s,border-color 0.3s}
.contact-email:hover{color:#fff;border-color:var(--red2)}
.socials{display:flex;align-items:center;justify-content:center;gap:clamp(2.5rem,5vw,5rem)}
.social{display:flex;flex-direction:column;align-items:center;gap:0.9rem;text-decoration:none;color:rgba(221,208,179,0.58);transition:color 0.35s}
.social:hover{color:var(--cream)}
.social svg{width:24px;height:24px;fill:currentColor;transition:transform 0.35s}
.social:hover svg{transform:translateY(-3px)}
.social-h{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.38em;text-indent:0.38em;text-transform:uppercase}

/* ── FOOTER ──────────────────────────────────── */
.footer{padding:clamp(2rem,4vw,3rem) 5vw;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid rgba(221,208,179,0.06)}
.footer-l,.footer-r{font-family:'Cinzel',serif;font-size:clamp(0.58rem,0.7vw,0.68rem);letter-spacing:0.35em;text-indent:0.35em;text-transform:uppercase;color:rgba(221,208,179,0.72)}
.footer-gem{color:var(--red);font-size:0.65rem;opacity:0.85;flex-shrink:0}

/* ── REVEAL ──────────────────────────────────── */
.rv{opacity:0;transform:translateY(24px);transition:opacity 0.95s cubic-bezier(0.22,1,0.36,1),transform 0.95s cubic-bezier(0.22,1,0.36,1)}
.rv.in{opacity:1;transform:translateY(0)}
.rv[data-d="1"]{transition-delay:0.08s}
.rv[data-d="2"]{transition-delay:0.2s}
.rv[data-d="3"]{transition-delay:0.34s}
.rv[data-d="4"]{transition-delay:0.5s}

@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* ── INNER PAGES ─────────────────────────────── */
.page-content{
    flex:1;
    padding:clamp(8rem,14vw,12rem) 5vw clamp(6rem,10vw,10rem);
    background:var(--black);
    position:relative;
}
.page-content::before{
    content:'';
    position:absolute;top:0;left:5vw;right:5vw;height:1px;
    background:linear-gradient(to right,transparent,rgba(221,208,179,0.08),rgba(140,28,28,0.15),rgba(221,208,179,0.08),transparent);
}
.page-inner{
    max-width:800px;margin:0 auto;
}
.page-title{
    font-family:'Cinzel',serif;
    font-size:clamp(1.8rem,5vw,4rem);
    font-weight:400;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--cream2);
    margin-bottom:3rem;
    padding-bottom:2rem;
    border-bottom:1px solid rgba(221,208,179,0.1);
}
.page-body{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(1.05rem,1.4vw,1.2rem);
    font-weight:300;
    line-height:2;
    color:rgba(221,208,179,0.75);
}
.page-body h2{font-family:'Cinzel',serif;font-size:clamp(1rem,2vw,1.5rem);color:var(--cream2);margin:3rem 0 1rem;letter-spacing:0.08em;text-transform:uppercase}
.page-body h3{font-family:'Cinzel',serif;font-size:clamp(0.9rem,1.5vw,1.1rem);color:var(--red2);margin:2rem 0 0.8rem;letter-spacing:0.06em;text-transform:uppercase}
.page-body p{margin-bottom:1.5rem}
.page-body a{color:var(--red2);border-bottom:1px solid rgba(204,48,48,0.3);transition:color 0.3s,border-color 0.3s}
.page-body a:hover{color:var(--cream);border-color:var(--cream)}
.page-body strong{color:var(--cream);font-weight:500}
.page-body ul,.page-body ol{padding-left:1.5rem;margin-bottom:1.5rem}
.page-body li{margin-bottom:0.5rem}

/* ── RESPONSIVE ──────────────────────────────── */
@media(max-width:900px){
    .hdr-nav{display:none}
    .burger{display:flex}
    .about-inner{grid-template-columns:1fr;gap:2.5rem}
    .about-left{position:static}
    .about-pullquote{font-size:clamp(1.5rem,4.5vw,2.2rem)}
}
@media(max-width:580px){
    .stats-grid{grid-template-columns:1fr;gap:0}
    .stats-divider{display:none}
    .stat{padding:2.8rem 2rem;border-bottom:1px solid rgba(221,208,179,0.05)}
    .stat:last-child{border-bottom:none}
    .footer{flex-direction:column;text-align:center}
    .id-title{font-size:clamp(1.6rem,8.2vw,2.4rem);letter-spacing:0.02em}
    .id-title-sub{font-size:clamp(0.8rem,4.5vw,1.2rem);letter-spacing:0.28em}
    .id-tagline{font-size:clamp(1.2rem,4.5vw,1.6rem)}
    .contact-email{font-size:clamp(0.85rem,3.5vw,1.1rem);word-break:break-all}
}
@media(min-width:1600px){
    .about-inner,.stats-grid,.contact-inner{max-width:1240px}
}
