/*
Theme Name:   Wine Kin
Description:  Wine Kin Theme
Author:       Jasper Ng
Version:      1.2.31
Text Domain:  winekin


/* Exclusives child pages. */

/* =============================================================
   Exclusives — Editorial Layout  (exc-* namespace)
   Loaded via styles.css for all exclusive child pages.
   ============================================================= */

/* ---- Reset & root ---- */
#body-wrapper.exclusives.exc-root{background:#f4f0ea;color:#24201a;max-width:100%;overflow-x:hidden;}
#body-wrapper.exclusives.exc-root *,
#body-wrapper.exclusives.exc-root *::before,
#body-wrapper.exclusives.exc-root *::after{box-sizing:border-box;}
#body-wrapper.exclusives.exc-root h1,
#body-wrapper.exclusives.exc-root h2,
#body-wrapper.exclusives.exc-root h3,
#body-wrapper.exclusives.exc-root p,
#body-wrapper.exclusives.exc-root ul,
#body-wrapper.exclusives.exc-root figure,
#body-wrapper.exclusives.exc-root blockquote{margin:0;padding:0;}

/* ---- Layout ---- */
.exc-container{width:min(1160px,calc(100% - 40px));margin:0 auto;}
.exc-section{padding:80px 0;}
@media(min-width:1024px){.exc-section{padding:108px 0;}}

/* ---- Scroll progress bar ---- */
.exc-progress{position:fixed;top:0;left:0;height:2px;width:0%;background:linear-gradient(90deg,#7a2020,#c06848);z-index:9999;pointer-events:none;transition:width .08s linear;}

/* ---- Custom cursor ---- */
.exc-cursor-dot{position:fixed;width:7px;height:7px;border-radius:50%;background:#7a2020;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease,background .3s ease;will-change:transform;}
.exc-cursor-ring{position:fixed;width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(122,32,32,.42);pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .45s cubic-bezier(.16,1,.3,1),height .45s cubic-bezier(.16,1,.3,1),border-color .35s ease;will-change:transform;}
.exc-cursor-dot.is-hovering{width:14px;height:14px;}
.exc-cursor-ring.is-hovering{width:64px;height:64px;border-color:rgba(122,32,32,.2);}
.exc-cursor-dot.is-clicking{transform:translate(-50%,-50%) scale(.75);}
@media(hover:none){.exc-cursor-dot,.exc-cursor-ring{display:none;}}

/* ---- Hero ---- */
.exc-hero{position:relative;min-height:70vh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#0e0c0a;}
.exc-hero__bg{position:absolute;inset:0;}
.exc-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;transform:scale(1.1) translateY(0px);will-change:transform;filter:brightness(.85);}
.exc-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,6,4,.55) 0%,rgba(8,6,4,.15) 30%,rgba(8,6,4,.6) 72%,rgba(8,6,4,.97) 100%),linear-gradient(105deg,rgba(122,32,32,.18) 0%,transparent 55%);}
.exc-hero__brand{position:absolute;top:32px;left:50%;transform:translateX(-50%);z-index:2;font-family:"Mitr",sans-serif;font-size:10px;letter-spacing:.38em;text-transform:uppercase;color:rgba(255,255,255,.6);white-space:nowrap;}
.exc-hero__content{position:relative;z-index:2;padding:0 max(20px,4vw) 110px;text-align:center;width:100%;}
@media(min-width:768px){.exc-hero__content{padding-bottom:130px;}}
.exc-hero__eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:"Mitr",sans-serif;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:20px;}
.exc-hero__eyebrow::before,.exc-hero__eyebrow::after{content:'';display:block;width:28px;height:1px;background:rgba(255,255,255,.35);}
.exc-hero__title{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(4rem,10vw,8.5rem);line-height:.95;color:#fff;text-shadow:0 8px 60px rgba(0,0,0,.55);letter-spacing:.12em;}
.exc-hero__sub{margin-top:24px;font-family:"MadeFor Text",sans-serif;font-size:clamp(14px,1.5vw,17px);line-height:1.7;color:rgba(255,244,232,.72);max-width:40ch; margin:2rem auto !important;}
.exc-hero__wave{position:absolute;bottom:-1px;left:0;width:100%;z-index:3;line-height:0;pointer-events:none;}
.exc-hero__wave svg{display:block;width:100%;height:auto;}

/* ---- Intro ---- */
.exc-intro{background:#f4f0ea;}
.exc-intro__grid{display:grid;gap:36px;align-items:center;}
@media(min-width:900px){.exc-intro__grid{grid-template-columns:1.15fr .85fr;gap:72px;}}
.exc-intro__headline{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(2rem,4vw,3.2rem);line-height:1.14;letter-spacing:-.025em;color:#1e1a14;}
.exc-intro__headline em{font-style:italic;color:#7a2020;position:relative;}
.exc-intro__body{font-family:"MadeFor Text",sans-serif;font-size:16px;line-height:1.95;color:#4a4038;}
.exc-intro__body p+p{margin-top:16px;}

/* ---- Mosaic ---- */
.exc-mosaic{background:#f4f0ea;padding:0 0 80px;}
@media(min-width:1024px){.exc-mosaic{padding-bottom:108px;}}
.exc-mosaic__grid{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);grid-template-rows:220px 180px;}
@media(min-width:768px){.exc-mosaic__grid{grid-template-columns:1.4fr .6fr;grid-template-rows:280px 230px;gap:12px;}}
.exc-mosaic__img{overflow:hidden;border-radius:12px;background:#d0c8bc;}
.exc-mosaic__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease;}
.exc-mosaic__img:hover img{transform:scale(1.06);}
@media(min-width:768px){
  .exc-mosaic__img--a{grid-column:1;grid-row:1;}
  .exc-mosaic__img--b{grid-column:2;grid-row:1/3;}
  .exc-mosaic__img--c{grid-column:1;grid-row:2;}
}

/* ---- Marquee ---- */
.exc-marquee{overflow:hidden;background:#1a1612;padding:15px 0;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);cursor:default;user-select:none;}
.exc-marquee__track{display:flex;width:max-content;animation:exc-marquee-run 28s linear infinite;}
.exc-marquee:hover .exc-marquee__track{animation-play-state:paused;}
@keyframes exc-marquee-run{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.exc-marquee__item{font-family:"Mitr",sans-serif;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.45);padding:0 28px;white-space:nowrap;}
.exc-marquee__sep{color:#7a2020;font-size:16px;line-height:1;align-self:center;padding:0 4px;flex-shrink:0;}

/* ---- Quote ---- */
.exc-quote{background:#ede8df;border-top:1px solid rgba(50,40,30,.1);border-bottom:1px solid rgba(50,40,30,.1);padding:90px 24px;text-align:center;position:relative;overflow:hidden;}
.exc-quote::before{content:'\201C';position:absolute;top:-40px;left:50%;transform:translateX(-50%);font-family:"Playfair Display",Georgia,serif;font-size:clamp(14rem,28vw,22rem);line-height:1;color:rgba(122,32,32,.06);pointer-events:none;user-select:none;}
.exc-quote__text{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-style:italic;font-size:clamp(1.45rem,3.2vw,2.25rem);line-height:1.45;color:#1e1a14;max-width:22ch;margin:0 auto;letter-spacing:-.015em;position:relative;z-index:1;}
.exc-quote__attr{margin-top:28px;font-family:"Mitr",sans-serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(50,40,30,.42);position:relative;z-index:1;}

/* ---- Story ---- */
.exc-story{background:#f4f0ea;}
.exc-story__grid{display:grid;gap:48px;align-items:center;}
@media(min-width:900px){.exc-story__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;}}
.exc-story__img{border-radius:16px;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.16);}
.exc-story__img img{width:100%;height:auto;display:block;transition:transform .8s ease;}
.exc-story__img:hover img{transform:scale(1.04);}
.exc-story__eyebrow{font-family:"Mitr",sans-serif;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#7a2020;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.exc-story__eyebrow::after{content:'';flex:1;max-width:40px;height:1px;background:#7a2020;opacity:.5;}
.exc-story__title{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.16;color:#1e1a14;letter-spacing:-.025em;margin-bottom:24px;}
.exc-story__p{font-family:"MadeFor Text",sans-serif;font-size:16px;line-height:1.95;color:#4a4038;}
.exc-story__p+.exc-story__p{margin-top:18px;}

/* ---- Feature cards ---- */
.exc-features{background:#f0ece4;border-top:1px solid rgba(50,40,30,.08);}
.exc-features__header{text-align:center;margin-bottom:52px;}
.exc-features__title{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(1.7rem,3vw,2.4rem);color:#1e1a14;letter-spacing:-.02em;}
.exc-features__sub{margin-top:14px;font-family:"MadeFor Text",sans-serif;font-size:15px;color:rgba(50,40,30,.52);}
.exc-features__grid{display:grid;gap:16px;}
@media(min-width:768px){.exc-features__grid{grid-template-columns:repeat(3,1fr);gap:22px;}}
.exc-feat{background:#faf8f4;border:1px solid rgba(50,40,30,.09);border-radius:16px;padding:32px 28px;transition:transform .35s ease,box-shadow .35s ease,background .35s ease;position:relative;overflow:hidden;}
.exc-feat::before{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#7a2020,#c06848);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1);}
.exc-feat:hover{transform:translateY(-8px);box-shadow:0 24px 56px rgba(0,0,0,.09);background:#fff;}
.exc-feat:hover::before{transform:scaleX(1);}
.exc-feat__num{display:block;font-family:"Mitr",sans-serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#7a2020;margin-bottom:16px;}
.exc-feat__title{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:1.3rem;line-height:1.22;color:#1e1a14;margin-bottom:14px;}
.exc-feat__body{font-family:"MadeFor Text",sans-serif;font-size:14px;line-height:1.82;color:#5a5048;}

/* ---- Photo strip ---- */
.exc-strip{padding:5rem 0 0 0;}
@media(min-width:1024px){.exc-strip{padding-bottom:1rem;}}
.exc-strip__grid{display:grid;gap:10px;grid-template-columns:1fr;}
@media(min-width:640px){.exc-strip__grid{grid-template-columns:repeat(3,1fr);gap:12px;}}
.exc-strip__img{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#d0c8bc;}
.exc-strip__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease;}
.exc-strip__img:hover img{transform:scale(1.06);}

/* ---- Section heading ---- */
.exc-section-head{text-align:center;margin-bottom:56px;}
.exc-section-head__eyebrow{font-family:"Mitr",sans-serif;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(50,40,30,.4);margin-bottom:14px;}
.exc-section-head__title{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(1.8rem,3.2vw,2.8rem);color:#1e1a14;letter-spacing:-.025em;}
.exc-section-head__sub{font-family:"MadeFor Text",sans-serif;font-size:15px;line-height:1.8;color:rgba(50,40,30,.55);max-width:50ch; margin:2rem auto !important;}

/* ---- Shop ---- */
.exc-shop{background:#f8f5f0;padding:80px 0 100px;border-top:1px solid rgba(50,40,30,.08);}
@media(min-width:1024px){.exc-shop{padding:108px 0 120px;}}
#body-wrapper.exclusives.exc-root #product-table{display:block;width:100%;}

/* ---- CTA ---- */
.exc-cta{
    background:#14110e;
    padding:90px 24px;
    text-align:center;
    position:relative;
    overflow:hidden;
}

/* subtle radial glow overlay (existing design) */
.exc-cta::before{
    content:'';
    position:absolute;
    inset:0;
    background:radial-gradient(
        ellipse 80% 60% at 50% 0%,
        rgba(122,32,32,.22),
        transparent 60%
    );
    pointer-events:none;
    z-index:1;
}

/* background image layer */
.exc-cta::after{
    content:'';
    position:absolute;
    inset:0;
    background-image:url("https://www.winekin.com/wp-content/uploads/2026/04/green-vineyard-hills-landscape-2.webp");
    background-size:cover;
    background-position:center;
    opacity:0.10;
    filter:grayscale(20%) contrast(110%) brightness(0.9);
    pointer-events:none;
    z-index:0;
}

/* ensure content sits above overlays */
.exc-cta > *{
    position:relative;
    z-index:2;
}

/* ---- CTA typography ---- */
.exc-cta__eyebrow{
    font-family:"Mitr",sans-serif;
    font-size:10px;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:rgba(255,240,220,.38);
    margin-bottom:20px;
    position:relative;
}

.exc-cta__title{
    font-family:"Playfair Display",Georgia,serif;
    font-weight:400;
    font-size:clamp(1.7rem,3.5vw,2.8rem);
    line-height:1.18;
    color:#fff;
    letter-spacing:-.025em;
    max-width:20ch;
    margin:2rem auto !important;
    position:relative;
}

.exc-cta__sub{
    margin-top:20px;
    font-family:"MadeFor Text",sans-serif;
    font-size:15px;
    color:rgba(255,240,220,.52);
    max-width:42ch;
    margin:2rem auto !important;
    line-height:1.8;
    position:relative;
}

/* ---- CTA button ---- */
.exc-btn{
    display:inline-block;
    margin-top:32px;
    font-family:"Mitr",sans-serif;
    font-size:10px;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:#1e1a14;
    background:#ede4d0;
    border-radius:8px;
    padding:15px 34px;
    text-decoration:none;
    position:relative;
    overflow:hidden;
    transition:background .3s ease,transform .3s ease,color .3s ease;
}

.exc-btn:hover{
    background:#fff;
    color:#1e1a14;
    text-decoration:none;
}

/* shine effect */
.exc-btn::before{
    content:'';
    position:absolute;
    top:0;
    left:-80%;
    width:55%;
    height:100%;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.5),
        transparent
    );
    transform:skewX(-16deg);
    transition:left .65s ease;
    pointer-events:none;
}

.exc-btn:hover::before{
    left:160%;
}

/* ---- Hero entrance animations ---- */
.exc-hero__eyebrow,.exc-hero__sub{opacity:0;transform:translateY(24px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);}
.exc-hero__title{opacity:0;transform:translateY(18px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),letter-spacing 1.8s cubic-bezier(.16,1,.3,1);}
.exc-hero--loaded .exc-hero__eyebrow{opacity:1;transform:none;transition-delay:.2s;}
.exc-hero--loaded .exc-hero__title{opacity:1;transform:none;letter-spacing:-.04em;transition-delay:.45s;}
.exc-hero--loaded .exc-hero__sub{opacity:1;transform:none;transition-delay:.78s;}

/* ---- Scroll reveal ---- */
.exc-reveal{opacity:0;transform:translateY(48px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);}
.exc-reveal.is-visible{opacity:1;transform:none;}
.exc-reveal--left{transform:translateX(-56px) translateY(0);}
.exc-reveal--right{transform:translateX(56px) translateY(0);}
.exc-reveal--scale{transform:scale(.92);}
.exc-reveal--blur{filter:blur(14px);opacity:0;transform:scale(1.04);transition:filter .95s ease,opacity .95s ease,transform .95s ease !important;}
.exc-reveal--blur.is-visible{filter:blur(0);opacity:1;transform:scale(1);}
.exc-reveal--d1{transition-delay:.1s;}
.exc-reveal--d2{transition-delay:.22s;}
.exc-reveal--d3{transition-delay:.34s;}
.exc-reveal--d4{transition-delay:.46s;}

/* ---- Word-by-word reveal ---- */
.exc-split-text{display:block;}
.exc-word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em;}
.exc-word__inner{display:inline-block;transform:translateY(108%);transition:transform .8s cubic-bezier(.16,1,.3,1);}
.exc-split-text.is-visible .exc-word__inner{transform:translateY(0);}
.exc-split-text.is-visible .exc-word:nth-child(1) .exc-word__inner{transition-delay:.04s;}
.exc-split-text.is-visible .exc-word:nth-child(2) .exc-word__inner{transition-delay:.09s;}
.exc-split-text.is-visible .exc-word:nth-child(3) .exc-word__inner{transition-delay:.14s;}
.exc-split-text.is-visible .exc-word:nth-child(4) .exc-word__inner{transition-delay:.19s;}
.exc-split-text.is-visible .exc-word:nth-child(5) .exc-word__inner{transition-delay:.24s;}
.exc-split-text.is-visible .exc-word:nth-child(6) .exc-word__inner{transition-delay:.29s;}
.exc-split-text.is-visible .exc-word:nth-child(7) .exc-word__inner{transition-delay:.34s;}
.exc-split-text.is-visible .exc-word:nth-child(8) .exc-word__inner{transition-delay:.39s;}
.exc-split-text.is-visible .exc-word:nth-child(9) .exc-word__inner{transition-delay:.44s;}
.exc-split-text.is-visible .exc-word:nth-child(10) .exc-word__inner{transition-delay:.49s;}
.exc-split-text.is-visible .exc-word:nth-child(11) .exc-word__inner{transition-delay:.54s;}
.exc-split-text.is-visible .exc-word:nth-child(12) .exc-word__inner{transition-delay:.59s;}

/* ---- Animated italic underline ---- */
.exc-intro__headline em::after{content:'';position:absolute;left:0;bottom:1px;height:2px;width:0;background:linear-gradient(90deg,#7a2020,#c06848);border-radius:2px;transition:width 1.2s cubic-bezier(.16,1,.3,1) .6s;}
.exc-intro__headline.is-visible em::after{width:100%;}

/* ---- Reduced motion ---- */
@media(prefers-reduced-motion:reduce){
  .exc-hero__eyebrow,.exc-hero__title,.exc-hero__sub,
  .exc-reveal,.exc-word__inner{opacity:1;transform:none;filter:none;transition:none;}
  .exc-hero--loaded .exc-hero__title{letter-spacing:-.04em;}
  .exc-intro__headline em::after{width:100%;transition:none;}
  .exc-btn::before{display:none;}
  .exc-marquee__track{animation:none;}
  .exc-mosaic__img img,.exc-strip__img img,.exc-story__img img,.exc-feat{transition:none;}
}
