:root{--pink:#efdee4;--pinklight:#f8eef0;--wine:#821a39;--dark-wine:#5b1430;--ink:#27171e;--muted:#755f68;--line:#d0aebc;--serif:'EB Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--pink);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased}img{display:block;width:100%;max-width:100%}a{color:inherit;text-decoration:none}p,h1,h2,figure,blockquote{margin:0}button{font:inherit}.skip-link{position:absolute;left:10px;top:-100px;background:white;padding:15px;z-index:99}.skip-link:focus{top:10px}a:focus-visible,button:focus-visible,.carousel-track:focus-visible,summary:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.site-header{height:74px;padding:0 4.5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand,.footer-logo{font:400 31px/1 var(--serif);letter-spacing:-.06em}.header-issue,.header-cta{font:600 10px/1.4 var(--sans);letter-spacing:.16em}.header-issue{display:flex;align-items:center;gap:15px;color:var(--muted)}.header-issue span{width:40px;border-top:1px solid var(--line)}.header-cta{color:var(--wine);padding-bottom:7px;border-bottom:1px solid var(--wine)}.header-cta span{font-size:16px;margin-left:17px}
.eyebrow{font:600 10px/1.5 var(--sans);letter-spacing:.16em;color:var(--wine)}
.hero{position:relative;min-height:920px;overflow:hidden;isolation:isolate}.hero-topline{position:absolute;z-index:5;top:28px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;color:var(--muted);font:600 9px/1.5 var(--sans);letter-spacing:.17em}.masthead{position:absolute;top:81px;left:2%;z-index:4;color:var(--wine);font:400 clamp(125px,19vw,300px)/.78 var(--serif);letter-spacing:-.085em;white-space:nowrap;pointer-events:none}.masthead em{font-style:italic;color:transparent;-webkit-text-stroke:1.4px var(--wine)}.hero-picture{position:absolute;top:192px;left:39%;width:min(41%,610px);height:clamp(580px,52vw,725px);z-index:2;background:transparent;overflow:visible}.hero-picture img{width:100%;height:100%;object-fit:contain;object-position:center bottom;background:transparent}.hero-picture figcaption{display:flex;justify-content:space-between;padding-top:8px;font:600 9px/1.3 var(--sans);letter-spacing:.13em;color:var(--muted)}.hero-copy{position:absolute;top:390px;left:5.2%;width:32%;max-width:400px;z-index:5}.hero-copy h1{margin:20px 0 25px;font:italic 400 clamp(68px,6.7vw,103px)/.86 var(--serif);letter-spacing:-.055em}.hero-description{max-width:310px;padding-top:18px;border-top:1px solid var(--wine);font:400 18px/1.36 var(--serif)}.shop-button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;min-width:235px;padding:17px 20px;background:var(--wine);color:#fff4f5;margin-top:27px;transition:background .2s;font:600 10px/1.3 var(--sans);letter-spacing:.14em}.shop-button:hover{background:var(--dark-wine)}.shop-button span{font-size:16px}.hero-aside{position:absolute;top:440px;right:5%;color:var(--wine);font:600 10px/1.6 var(--sans);letter-spacing:.14em}.asterisk{display:block;font:400 35px/1 var(--serif);margin-bottom:18px}
.lookbook{background:var(--pinklight);padding:120px 5.5% 125px;display:grid;grid-template-columns:32% minmax(0,1fr);gap:8%;align-items:center}.lookbook-heading{padding-right:10px}.lookbook h2{margin:21px 0 30px;font:400 clamp(82px,9vw,142px)/.82 var(--serif);letter-spacing:-.063em}.lookbook h2 i{font-weight:400;color:var(--wine)}.lookbook-heading>p:not(.eyebrow){font:400 23px/1.28 var(--serif);max-width:350px}.text-link{display:inline-flex;align-items:center;gap:20px;font:600 10px/1.4 var(--sans);letter-spacing:.14em;border-bottom:1px solid var(--wine);padding-bottom:9px;color:var(--wine);margin-top:32px}.text-link span{font-size:16px}
.carousel{min-width:0}.carousel-track{display:flex;gap:0;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{width:100%;min-width:100%;scroll-snap-align:start;scroll-snap-stop:always}.carousel-slide img{width:100%;height:min(50vw,600px);min-height:430px;object-fit:cover;object-position:center;background:#5f1836}.carousel-slide figcaption{padding:14px 2px 0;display:flex;gap:20px;color:var(--muted);font:600 10px/1.4 var(--sans);letter-spacing:.17em}.carousel-slide figcaption span{color:var(--wine)}.carousel-controls{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:20px}.carousel-counter{min-width:55px;color:var(--wine);font:600 11px/1.3 var(--sans);letter-spacing:.13em}.carousel-dots{display:flex;align-items:center;gap:10px}.carousel-dots button{border:0;background:transparent;width:28px;height:32px;position:relative;padding:0;cursor:pointer}.carousel-dots button:after{content:"";position:absolute;width:7px;height:7px;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid var(--wine)}.carousel-dots button.active:after{background:var(--wine)}.carousel-arrows{display:flex;gap:7px}.carousel-arrows button{width:44px;height:42px;background:transparent;border:1px solid var(--line);font:400 22px/1 var(--serif);color:var(--wine);cursor:pointer}.carousel-arrows button:hover{background:#eedee3}
.review{text-align:center;background:#e7d4dc;padding:105px 7% 110px}.review h2{margin:22px 0 24px;font:400 clamp(66px,8vw,116px)/.9 var(--serif);letter-spacing:-.055em}.review h2 i{color:var(--wine)}.review blockquote{max-width:790px;margin:0 auto;font:italic 400 clamp(23px,2.8vw,37px)/1.24 var(--serif)}.review .text-link{margin-top:37px}
.last-cta{text-align:center;background:var(--pink);padding:108px 6% 115px}.last-cta h2{margin:18px 0 19px;font:400 clamp(64px,8vw,112px)/.86 var(--serif);letter-spacing:-.056em}.last-cta h2 i{font-weight:400;color:var(--wine)}.last-cta>p:not(.eyebrow){font:400 21px/1.3 var(--serif)}.last-cta .shop-button{margin-top:25px}
.faq{background:var(--pinklight);padding:66px 8% 75px;display:grid;grid-template-columns:32% 1fr;gap:8%}.faq h2{font:400 58px/.95 var(--serif);letter-spacing:-.045em}.faq-items{border-top:1px solid var(--line)}.faq details{padding:18px 0;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font:600 11px/1.5 var(--sans);letter-spacing:.05em}.faq details p{max-width:570px;margin-top:15px;font:400 18px/1.35 var(--serif)}
.footer{padding:28px 5%;display:flex;justify-content:space-between;align-items:center;gap:15px}.footer p{max-width:390px;text-align:center;color:var(--muted);font:400 10px/1.4 var(--sans)}.footer>a:last-child{font:600 10px/1.3 var(--sans);letter-spacing:.12em;color:var(--wine);white-space:nowrap}
@media(min-width:1550px){.hero{min-height:980px}.hero-picture{height:745px}.hero-copy{top:443px}}
@media(max-width:1100px){.hero{min-height:800px}.hero-picture{top:185px;left:39%;width:42%;height:605px}.hero-copy{top:365px}.hero-aside{right:2%}.hero-copy h1{font-size:7.4vw}.lookbook{gap:5%;grid-template-columns:35% 60%}.lookbook h2{font-size:9vw}.carousel-slide img{height:520px}.review{padding-top:90px;padding-bottom:90px}}
@media(max-width:700px){.site-header{height:60px;padding:0 5%}.brand{font-size:27px}.header-issue{display:none}.header-cta{font-size:8px;letter-spacing:.08em}.header-cta span{margin-left:6px;font-size:12px}.hero{min-height:1000px}.hero-topline{top:18px;left:5%;right:5%;font-size:8px;letter-spacing:.08em}.hero-topline span:nth-child(2){display:none}.masthead{top:74px;left:2%;font-size:20.1vw;letter-spacing:-.096em}.masthead em{-webkit-text-stroke:1px var(--wine)}.hero-picture{top:170px;left:16%;width:80%;height:432px}.hero-picture figcaption{font-size:8px}.hero-copy{top:596px;left:7%;right:5%;width:auto;max-width:none}.hero-copy h1{font-size:clamp(61px,13.6vw,79px);margin:12px 0 20px}.hero-description{font-size:17px;padding-top:13px;max-width:325px}.hero-aside{display:none}.shop-button{min-width:220px;padding:15px 18px;margin-top:18px}.lookbook{display:block;padding:76px 6% 84px}.lookbook h2{font-size:clamp(80px,17vw,108px);margin:19px 0 24px}.lookbook-heading>p:not(.eyebrow){font-size:20px;max-width:390px}.lookbook .text-link{margin-top:22px}.carousel{margin-top:43px}.carousel-slide img{height:390px;min-height:0}.carousel-slide figcaption{font-size:9px}.carousel-controls{margin-top:18px}.carousel-arrows button{width:42px;height:40px}.review{padding:70px 8% 82px}.review h2{font-size:clamp(65px,14vw,89px)}.review blockquote{font-size:25px}.last-cta{padding:85px 7% 91px}.last-cta h2{font-size:clamp(70px,14vw,92px)}.last-cta>p:not(.eyebrow){font-size:18px}.faq{display:block;padding:60px 7% 70px}.faq h2{font-size:56px;margin-bottom:28px}.footer{padding:26px 6%}.footer-logo{font-size:25px}.footer p{display:none}.footer>a:last-child{font-size:9px}}
@media(max-width:400px){.hero{min-height:980px}.hero-picture{top:175px;left:16%;width:80%;height:401px}.hero-copy{top:570px}.hero-copy h1{font-size:57px}.carousel-slide img{height:330px}.last-cta h2{font-size:67px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.carousel-track{scroll-behavior:auto}}

/* Launch polish: responsive hero, touch targets and image handling */
.carousel-track{touch-action:pan-x pan-y}.carousel-arrows button{min-width:44px;min-height:44px}.carousel-dots button{min-width:44px;min-height:44px}.carousel-slide img{object-position:center center}.hero-picture img{filter:none}
@media(max-width:700px){.hero{min-height:0;padding-bottom:70px;display:flex;flex-direction:column;overflow:hidden}.hero-topline{position:relative;top:auto;left:auto;right:auto;padding:18px 5% 0}.masthead{position:relative;top:auto;left:auto;margin:43px 0 0 2%;font-size:20.1vw;line-height:.8}.hero-picture{position:relative;top:auto;left:auto;width:min(90%,470px);height:auto;aspect-ratio:750/1129;margin:-2px auto 0}.hero-picture img{height:100%;object-fit:contain}.hero-picture figcaption{padding:0 5%}.hero-copy{position:relative;top:auto;left:auto;right:auto;width:auto;margin:30px 7% 0;max-width:500px}.hero-copy h1{font-size:clamp(62px,13.4vw,89px)}.hero-description{max-width:420px}.carousel-slide img{height:auto;min-height:0;aspect-ratio:4/5;object-fit:cover}.lookbook{padding-top:65px}.footer{min-height:82px}}
@media(max-width:400px){.hero{min-height:0}.hero-picture{top:auto;left:auto;width:92%;height:auto}.hero-copy{top:auto}.hero-copy h1{font-size:clamp(56px,13.5vw,70px)}.carousel-slide img{height:auto}}

/* Bust visually meets the bottom of the hero instead of floating above the section break. */
@media(min-width:701px){.hero-picture{top:auto;bottom:0;height:calc(100% - 165px)}.hero-picture img{height:100%;object-position:center bottom;transform:scale(1.085);transform-origin:center bottom}.hero-picture figcaption{position:absolute;bottom:30px;left:calc(-1 * (39vw - 5.5vw));width:89vw;padding:0;pointer-events:none}}
@media(min-width:701px) and (max-width:1100px){.hero-picture figcaption{left:calc(-1 * (39vw - 5.5vw))}}

.carousel-dots{flex-wrap:wrap;justify-content:center;gap:0}.carousel-dots button{min-width:36px;min-height:44px}.carousel-slide img{object-fit:contain;background:transparent}
@media(max-width:700px){.carousel-dots{max-width:190px}.carousel-controls{gap:8px}.carousel-slide img{object-fit:contain}}

/* Genuine Etsy review carousel, retaining original editorial typography */
.review-carousel{max-width:850px;margin:0 auto 22px}.review-slides{min-height:185px;display:grid;align-items:center}.review-slide{margin:0;grid-area:1/1}.review-slide[hidden]{display:none!important}.review-slide figcaption{margin-top:20px;font-family:var(--sans);font-size:11px;letter-spacing:.13em;color:var(--muted)}.review-controls{display:flex;justify-content:center;align-items:center;gap:26px;margin:12px auto 26px;font:12px var(--sans);letter-spacing:.12em;color:var(--wine)}.review-buttons{display:flex;gap:9px}.review-buttons button{background:transparent;border:1px solid var(--line);color:var(--wine);width:46px;height:44px;font-size:22px;cursor:pointer}.review-buttons button:hover{background:var(--wine);color:#fff4f5}@media(max-width:700px){.review-slides{min-height:220px}.review-slide blockquote{font-size:clamp(25px,7vw,39px)}.review-slide figcaption{font-size:10px}}

/* Mobile photo gallery: fit image naturally, eliminate dead space and wrapped pagination */
@media(max-width:700px){
.lookbook{padding-bottom:72px}
.carousel{margin-top:30px}
.carousel-track{align-items:stretch}
.carousel-slide{display:flex;flex-direction:column;justify-content:flex-start}
.carousel-slide img{display:block;width:100%;height:auto;aspect-ratio:auto;min-height:0;max-height:420px;object-fit:contain;object-position:center}
.carousel-slide figcaption{padding:12px 0 0;gap:16px}
.carousel-controls{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;margin-top:18px}
.carousel-counter{grid-column:1;grid-row:1}
.carousel-arrows{grid-column:2;grid-row:1;justify-self:end}
.carousel-dots{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:nowrap;justify-content:center;max-width:none;width:100%;gap:8px;margin-top:4px}
.carousel-dots button{width:34px;min-width:34px;height:36px;min-height:36px}
.carousel-arrows button{width:44px;height:44px}
.last-cta h2{font-size:clamp(70px,16vw,108px)}
}
@media(max-width:400px){.carousel-slide img{max-height:360px}.carousel-dots{gap:5px}}

/* Final launch accessibility and responsive footer */
@media(max-width:700px){.footer{flex-wrap:wrap;justify-content:space-between;row-gap:12px}.footer p{display:block;flex-basis:100%;order:3;text-align:left;max-width:100%;font-size:10px;line-height:1.5}.footer>a:last-child{font-size:9px}.hero-copy h1{overflow-wrap:normal}}
@media(max-width:360px){.hero-copy h1{font-size:clamp(48px,13.4vw,60px)}.site-header{gap:10px}.brand{font-size:24px}}

/* Brand wordmark refresh — retain original HEARTSICK visual direction */
@media(min-width:701px){.masthead{font-size:clamp(85px,12.3vw,190px);letter-spacing:-.075em;left:2%}}
@media(max-width:700px){.masthead{font-size:12.4vw;letter-spacing:-.075em;white-space:nowrap}}

/* Hero HEARTSICK wordmark: 30% larger, preserving existing type styling */
@media(min-width:701px){.masthead{font-size:clamp(110.5px,15.99vw,247px)}}
@media(max-width:700px){.masthead{font-size:16.12vw}}
