@charset "UTF-8";
:root{--paper:#faf7f0;--ink:#39252f;--muted:#76676b;--line:#ded6d1;--rose:#eee1dc;--plum:#39252f;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #986b80;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(64px,6.9vw,110px)}h2{font-size:clamp(40px,4.1vw,65px)}h3{font-size:25px;letter-spacing:-.025em}em{font-weight:400}p{margin-bottom:22px}.wrap{width:min(1320px,calc(100% - 120px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.18em;line-height:1.7;margin-bottom:26px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:16px 24px;min-height:54px;border:1px solid var(--ink);font-size:11px;font-weight:500;letter-spacing:.025em;background:transparent;transition:background .2s,color .2s,transform .2s}.button span{font-size:18px;line-height:1}.button:hover{background:#eadfd8}.button-dark{background:var(--plum);color:var(--paper)}.button-dark:hover{background:#573b49}.button-light{background:var(--paper);color:var(--plum);border-color:var(--paper)}.text-link{display:inline-flex;gap:35px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:8px;font-size:12px}.text-link span{font-size:20px}.text-link:hover{color:#8c5e70}.skip-link{position:fixed;left:16px;top:-80px;z-index:10;padding:12px;background:var(--plum);color:white}.skip-link:focus{top:16px}.announcement{background:var(--plum);color:var(--paper);text-align:center;padding:8px 20px;font-size:8px;letter-spacing:.15em}.announcement span{margin-left:34px;letter-spacing:.02em;font-size:9px;opacity:.85}.site-header{height:106px;display:flex;align-items:center;justify-content:space-between;gap:32px;padding-inline:60px;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:39px;line-height:1;letter-spacing:-.075em;font-weight:500}.wordmark>span{display:block;text-align:center;font:7px var(--sans);letter-spacing:.43em;padding-top:10px;padding-left:3px}.main-nav{display:flex;align-items:center;gap:31px;font-size:11px}.main-nav a:hover{text-decoration:underline;text-underline-offset:7px}.header-book{padding:12px 17px;min-height:43px;font-size:10px;gap:22px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-top:48px;padding-bottom:52px;align-items:center}.hero-copy{padding:22px 0 0}.hero-copy .eyebrow{display:flex;align-items:center;gap:12px;font-size:9px;margin-bottom:25px}.tiny-star{font-size:25px;line-height:1;font-weight:400}.hero h1{font-size:clamp(74px,7.4vw,118px);line-height:1.05;margin-bottom:26px}.hero h1 em{white-space:nowrap}.hero-intro{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:30px}.quiet-link{display:block;font-size:10px;margin-top:19px;letter-spacing:.02em}.quiet-link span{margin-left:20px}.hero-footnote{display:flex;align-items:center;gap:16px;margin-top:57px;font-size:9px;color:var(--muted)}.line-mark{display:inline-block;width:38px;height:1px;background:var(--muted)}.hero-visual{position:relative;padding-left:15px}.hero-image{aspect-ratio:4/4.6;object-fit:cover;object-position:50% 46%;border-top-left-radius:45% 34%;border-top-right-radius:45% 34%;background:#e7ded2}.hero-image-label{position:absolute;bottom:16px;left:40px;color:white;font-size:8px;letter-spacing:.16em;text-shadow:0 1px 6px #39252f}.hero-stamp{position:absolute;bottom:31px;left:-45px;background:var(--plum);color:var(--paper);width:139px;height:139px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-11deg);box-shadow:0 0 0 7px var(--paper)}.hero-stamp>span{font-size:6px;letter-spacing:.16em}.hero-stamp strong{font-family:var(--serif);font-size:24px;line-height:1.2;font-weight:400;text-align:center;margin:7px 0;letter-spacing:-.03em}.values-strip{border-block:1px solid var(--line);display:flex;align-items:center;justify-content:space-around;gap:20px;padding:22px 30px;letter-spacing:.16em;font-size:8px}.values-strip>span:nth-child(even){font-size:24px;line-height:1}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading h2{margin-bottom:0}.section-note{max-width:300px;padding-bottom:7px}.section-note p{font-size:12px;color:var(--muted);line-height:1.9}.dress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}.dress-card-offset{padding-top:42px}.dress-image{overflow:hidden;position:relative;background:#e7ded2}.dress-image img{aspect-ratio:3/4;object-fit:cover;transition:transform .7s}.dress-card:hover img{transform:scale(1.035)}.dress-card-offset img{object-position:50% 50%}.dress-detail img{transform:scale(1.8);object-position:50% 15%}.dress-card.dress-detail:hover img,.dress-card:hover .dress-detail img{transform:scale(1.86)}.image-note{position:absolute;left:15px;top:16px;font-size:7px;letter-spacing:.12em;background:rgba(250,247,240,.9);padding:4px 7px}.round-arrow{position:absolute;right:14px;bottom:14px;background:var(--paper);border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:18px}.dress-caption{display:flex;justify-content:space-between;gap:8px;margin-top:19px;flex-wrap:wrap}.dress-caption span{font-size:7px;letter-spacing:.11em;color:var(--muted)}.dress-caption h3{font-size:25px;margin:7px 0 0}.dress-caption p{font-size:9px;color:var(--muted);margin:5px 0 0}.collection-disclaimer{font-size:9px;color:var(--muted);margin:26px 0 0}.experience-section{background:var(--rose);padding-block:83px}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.studio-image{position:relative}.studio-image img{aspect-ratio:4/4.4;object-fit:cover}.studio-image>span{position:absolute;bottom:20px;left:23px;color:var(--ink);font-size:8px;letter-spacing:.13em;padding:7px 10px;background:rgba(250,247,240,.8)}.experience-copy>p:not(.eyebrow){font-size:12px;max-width:365px;color:var(--muted);line-height:1.9}.experience-copy h2{font-size:clamp(42px,4.3vw,65px);margin-bottom:25px}.service-list{margin:30px 0}.service-list>a{display:flex;align-items:center;gap:19px;border-top:1px solid #cfbdb8;padding:16px 0;font-family:var(--serif);font-size:19px;line-height:1.2}.service-list>a:last-child{border-bottom:1px solid #cfbdb8}.service-list>a>span:last-child{margin-left:auto;font-family:var(--sans);font-size:18px}.service-list .service-number{font:9px var(--sans);color:var(--muted)}.reviews-section{text-align:center}.reviews-heading h2{margin-bottom:22px}.reviews-heading>p:last-child{font-size:12px;color:var(--muted)}.review-cards{display:flex;justify-content:center;gap:24px;margin:42px 0 30px}.review-card{flex:1;max-width:490px;text-align:left;border:1px solid var(--line);padding:30px 36px}.review-demo-label{font-size:7px;letter-spacing:.15em;display:block;color:var(--muted)}.quote-mark{font-family:var(--serif);font-size:70px;height:57px;display:block;margin-top:10px}.review-card blockquote{font-family:var(--serif);font-size:26px;line-height:1.4;letter-spacing:-.025em;margin:5px 0 28px}.review-card>p{font-size:10px;font-weight:500;margin:0}.review-card>p>span{display:block;font-size:8px;font-weight:400;margin-top:5px;opacity:.7}.review-card-plum{background:var(--plum);color:var(--paper);border-color:var(--plum)}.review-card-plum .review-demo-label{color:#d6c1c5}.review-stars{color:#9c755b;font-size:18px;display:block;margin-bottom:25px;letter-spacing:4px}.appointment-banner{background:var(--plum);color:var(--paper);padding:67px 0}.appointment-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:42px}.appointment-banner h2{font-size:46px;line-height:1.2;margin-bottom:0}.appointment-banner .eyebrow{font-size:8px;margin-bottom:13px}.outline-flower{font-size:105px;line-height:1;font-weight:400;color:#b995a0}.appointment-banner-inner>.button{margin-left:auto;white-space:nowrap}.visit-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.visit-section h2{font-size:64px}.visit-lede{color:var(--muted);font-size:13px}.visit-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:35px}.visit-columns h3{font-family:var(--sans);font-size:11px;letter-spacing:0;font-weight:600;margin-bottom:15px}.visit-columns address{font-style:normal;font-size:11px;line-height:1.9}.visit-columns p{font-size:10px;margin:14px 0}.detail-note{font-size:8px;color:var(--muted);display:block}.opening-hours{font-size:10px;margin:0 0 13px}.opening-hours>div{margin-bottom:8px}.opening-hours dt{font-weight:500}.opening-hours dd{margin:0;color:var(--muted)}.map-panel{position:relative;background:#e9e5dd;min-height:490px;align-self:stretch}.map-panel iframe{width:100%;height:100%;min-height:490px;border:0;filter:grayscale(.9) contrast(.85)}.map-caption{position:absolute;bottom:21px;left:21px;right:21px;background:var(--paper);display:flex;align-items:center;gap:15px;padding:18px}.map-mark{font-size:23px}.map-caption strong{display:block;font-size:11px;font-weight:500}.map-caption div>span{display:block;font-size:8px;color:var(--muted);margin-top:2px}.map-caption>a{margin-left:auto;font-size:22px;padding:8px}.site-footer{border-top:1px solid var(--line);padding-top:55px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:45px}.footer-brand{font-family:var(--serif);letter-spacing:-.07em;font-size:52px;line-height:1}.footer-top>div>p:not(.eyebrow){font-size:11px;color:var(--muted);margin:15px 0 0}.footer-top .eyebrow{font-size:8px;margin-bottom:12px}.footer-appointment{font-family:var(--serif);font-size:31px;border-bottom:1px solid var(--line);padding-bottom:8px;letter-spacing:-.03em}.footer-appointment>span{margin-left:30px}.footer-bottom{border-top:1px solid var(--line);padding-block:19px;display:flex;justify-content:space-between;gap:20px;font-size:8px;color:var(--muted)}.footer-bottom nav{display:flex;gap:25px}.demo-notice{font-size:8px;color:var(--muted);padding:0 0 20px;margin-bottom:0}.booking-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.booking-intro h1{font-size:80px}.booking-intro>p:not(.eyebrow){color:var(--muted);font-size:13px}.booking-intro>img{aspect-ratio:4/3;object-fit:cover;margin-top:36px}.booking-explainer{display:grid;grid-template-columns:24px 1fr;gap:15px;padding-top:28px;font-size:11px;color:var(--muted)}.booking-explainer>span{font-family:var(--serif);font-size:18px}.booking-explainer p{margin-bottom:4px}.booking-form-wrap{border:1px solid var(--line);padding:34px;background:#fffdf9}.booking-form-wrap .eyebrow{font-size:8px;margin-bottom:15px}.booking-form-wrap h2{font-size:34px;line-height:1.3;margin-bottom:15px}.form-description{font-size:11px;color:var(--muted);margin-bottom:25px}.field{margin-bottom:20px}.field>label{font-size:10px;display:block;margin-bottom:7px;font-weight:500}.field label small{font-size:9px;font-weight:400;color:var(--muted)}.field label>span{color:#87596c}.field input,.field textarea,.field select{width:100%;background:transparent;color:var(--ink);border:1px solid #cec4c5;border-radius:0;min-height:44px;padding:10px 12px;font-size:12px}.field textarea{resize:vertical;line-height:1.65}.field>small{font-size:9px;color:var(--muted)}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:17px}.consent{display:flex;align-items:flex-start;gap:10px;font-size:10px;line-height:1.7;margin:5px 0 24px}.consent input{margin:4px 0 0;accent-color:var(--plum)}.consent a{text-decoration:underline;text-underline-offset:3px}.appointment-form>.button{width:100%;justify-content:space-between}.form-footnote{font-size:9px;color:var(--muted);margin:14px 0 0}.flash{margin:25px auto 0;width:min(1200px,calc(100% - 60px));background:#eee6e2;border-left:3px solid #715365;padding:20px;font-size:13px}.form-errors{font-size:12px;background:#f5e8e7;padding:16px;margin-bottom:20px;border-left:3px solid #8f485b}.form-errors ul{margin:6px 0 0;padding-left:20px}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-section h1{font-size:70px}.about-section>div>p{font-size:13px;max-width:480px;color:var(--muted)}.about-section .large-copy{font-family:var(--serif);font-size:25px;line-height:1.45;color:var(--ink)}.about-section>img{aspect-ratio:4/5;object-fit:cover}.about-section .button{margin-top:15px}.about-section .detail-note{margin-top:20px}.legal-section{max-width:900px}.legal-section h1{font-size:65px}.legal-copy{font-size:15px;line-height:1.9;max-width:720px}.legal-copy h2{font-size:30px;margin-top:40px}.review-form-section{max-width:760px}.review-form-section h1{font-size:70px}.review-form-section>p:not(.eyebrow){color:var(--muted);font-size:13px}.review-form{margin-top:35px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(min-width:1550px){.site-header{padding-inline:calc((100% - 1320px)/2)}.hero{gap:70px}.hero-image{max-height:650px}.hero-copy{padding-left:20px}}
@media(max-width:1100px){.wrap{width:calc(100% - 70px)}.site-header{padding-inline:35px;gap:20px}.main-nav{gap:18px;font-size:10px}.header-book{gap:15px;padding:11px 13px}.hero{gap:30px}.hero h1{font-size:86px}.hero-footnote{margin-top:35px}.hero-stamp{width:115px;height:115px;left:-24px}.hero-stamp strong{font-size:20px}.experience-grid{gap:55px}.dress-grid{gap:20px}.dress-caption p{font-size:9px}.appointment-banner h2{font-size:37px}.outline-flower{font-size:75px}.visit-section{gap:35px}.visit-section h2{font-size:54px}.booking-section{gap:45px}.booking-intro h1{font-size:65px}.booking-form-wrap{padding:25px}.about-section{gap:45px}.about-section h1{font-size:58px}}
@media(max-width:800px){.site-header{height:88px;gap:15px}.wordmark{font-size:34px}.header-book{margin-left:auto;min-height:40px;font-size:9px}.main-nav{display:none;position:absolute;top:116px;left:0;right:0;background:var(--paper);z-index:5;border-bottom:1px solid var(--line);padding:28px 35px;font-size:15px;flex-direction:column;align-items:flex-start;gap:20px}.main-nav.is-open{display:flex}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;width:40px;height:40px;background:none;border:0;order:3}.menu-toggle>span{height:1px;width:22px;background:var(--ink)}.hero h1{font-size:70px}.hero-intro{font-size:11px}.hero .button{font-size:10px;padding:13px 17px;gap:20px;min-height:48px}.hero-copy .eyebrow{font-size:7px;letter-spacing:.12em}.hero-stamp{width:95px;height:95px;bottom:20px;left:-16px;box-shadow:0 0 0 5px var(--paper)}.hero-stamp>span{font-size:5px}.hero-stamp strong{font-size:17px}.hero-footnote{font-size:7px;gap:10px;margin-top:28px}.section{padding-block:75px}.hero-image{aspect-ratio:3/4.8}.hero-image-label{font-size:6px;left:30px}.values-strip{font-size:6px;gap:12px;padding:17px 20px;letter-spacing:.08em}.section-heading{align-items:flex-start}.section-note{max-width:220px}.section-note p{font-size:10px}.dress-caption h3{font-size:20px}.dress-caption span{font-size:6px}.dress-caption p{font-size:8px}.dress-grid{gap:15px}.image-note{font-size:5px;left:8px;top:10px}.round-arrow{width:28px;height:28px;font-size:15px;right:8px;bottom:8px}.experience-grid{gap:30px}.experience-copy h2{font-size:40px}.experience-copy .eyebrow{font-size:8px}.experience-copy>p:not(.eyebrow){font-size:11px}.studio-image img{aspect-ratio:3/5}.studio-image>span{font-size:6px;left:12px;bottom:12px}.service-list>a{font-size:15px;gap:12px}.review-card{padding:25px}.review-card blockquote{font-size:23px}.appointment-banner-inner{gap:25px;flex-wrap:wrap}.outline-flower{font-size:60px}.appointment-banner h2{font-size:35px}.appointment-banner-inner>.button{margin-left:85px}.visit-section{grid-template-columns:1fr}.visit-section h2{font-size:58px}.visit-columns{grid-template-columns:1fr 1fr}.opening-hours>div{display:flex;justify-content:space-between;gap:15px}.map-panel,.map-panel iframe{min-height:360px}.booking-section{grid-template-columns:1fr;gap:40px}.booking-intro h1{font-size:70px}.booking-intro>img{max-height:310px}.booking-explainer{display:none}.booking-form-wrap{padding:32px}.footer-appointment{font-size:25px}.footer-brand{font-size:45px}.about-section{grid-template-columns:1fr;gap:35px}.about-section>img{aspect-ratio:4/3;max-height:500px}}
@media(max-width:540px){.wrap{width:calc(100% - 40px)}.announcement{font-size:7px;padding:8px 10px}.announcement span{display:none}.site-header{height:80px;padding-inline:20px}.wordmark{font-size:31px}.wordmark>span{font-size:5px;padding-top:8px}.header-book{font-size:8px;gap:10px;padding:9px 10px;min-height:37px}.header-book span{font-size:14px}.menu-toggle{width:28px}.main-nav{top:108px;padding-inline:20px}.hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:32px;gap:35px}.hero-copy{padding-top:4px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.14em;margin-bottom:19px}.hero h1{font-size:78px;line-height:1.02;margin-bottom:23px;letter-spacing:-.05em}.hero-intro{font-size:12px;margin-bottom:25px}.hero .button{padding:15px 21px;font-size:11px}.quiet-link{display:inline-block;margin-left:20px;font-size:9px;max-width:90px;line-height:1.6;vertical-align:middle;margin-top:0}.quiet-link span{margin-left:7px}.hero-footnote{display:none}.hero-visual{padding-left:25px;padding-right:0}.hero-image{aspect-ratio:4/4.15;object-position:50% 47%;border-top-left-radius:47% 40%;border-top-right-radius:47% 40%}.hero-stamp{width:105px;height:105px;left:-4px;bottom:22px}.hero-stamp strong{font-size:19px}.hero-image-label{font-size:6px;bottom:15px;left:45px}.values-strip{font-size:7px;padding:17px 20px;gap:14px;overflow:hidden;justify-content:space-between}.values-strip>span:nth-child(n+4){display:none}.values-strip>span:nth-child(2){font-size:21px}.section{padding-block:60px}.eyebrow{font-size:8px;margin-bottom:20px}h2{font-size:42px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:39px}.section-note{max-width:100%;margin-top:25px}.section-note p{font-size:11px;line-height:1.8;margin-bottom:16px}.text-link{font-size:11px;padding-bottom:6px;gap:22px}.dress-grid{grid-template-columns:1fr 1fr;gap:14px}.dress-card-offset{padding-top:28px}.dress-card:nth-child(3){grid-column:1/3;width:65%;margin:8px auto 0}.dress-caption{margin-top:13px}.dress-caption h3{font-size:22px}.dress-caption p{font-size:9px}.dress-caption span{font-size:6px}.image-note{font-size:5px;padding:3px 5px}.collection-disclaimer{font-size:8px;margin-top:23px;line-height:1.7}.experience-section{padding-block:45px}.experience-grid{grid-template-columns:1fr;gap:35px}.studio-image img{aspect-ratio:4/3.6}.studio-image>span{font-size:7px;bottom:17px;left:17px}.experience-copy h2{font-size:46px}.experience-copy h2 br:last-child{display:none}.experience-copy>p:not(.eyebrow){font-size:12px}.service-list>a{font-size:20px;padding:17px 0}.reviews-heading h2{font-size:43px}.reviews-heading>p:last-child{font-size:11px}.review-cards{display:block;margin-top:30px}.review-card{margin-bottom:16px;padding:26px}.review-card blockquote{font-size:26px}.review-demo-label{font-size:7px}.appointment-banner{padding:45px 0}.appointment-banner-inner{display:grid;grid-template-columns:40px 1fr;gap:20px}.outline-flower{font-size:45px;align-self:start;margin-top:45px}.appointment-banner h2{font-size:31px}.appointment-banner .eyebrow{font-size:7px;letter-spacing:.12em}.appointment-banner-inner>.button{margin-left:60px;grid-column:1/3;justify-self:start;white-space:normal;font-size:10px;gap:23px;padding:14px 18px}.visit-section h2{font-size:52px}.visit-columns{gap:22px;margin-top:25px}.visit-columns address{font-size:10px}.visit-columns p{font-size:9px;overflow-wrap:anywhere}.opening-hours{font-size:9px}.opening-hours>div{display:block}.detail-note{font-size:7px}.map-panel,.map-panel iframe{min-height:330px}.map-caption{bottom:14px;left:14px;right:14px;padding:13px;gap:12px}.map-caption strong{font-size:10px}.map-caption div>span{font-size:7px}.site-footer{padding-top:38px}.footer-top{display:block;padding-bottom:30px}.footer-brand{font-size:46px}.footer-top>div:last-child{margin-top:32px}.footer-appointment{font-size:27px}.footer-appointment>span{margin-left:15px}.footer-bottom{display:flex;flex-wrap:wrap;padding-block:16px;gap:15px;font-size:7px}.footer-bottom nav{gap:17px}.footer-bottom>span:last-child{width:100%}.demo-notice{font-size:7px;line-height:1.7;padding-bottom:18px}.booking-intro h1,.about-section h1,.review-form-section h1{font-size:59px}.booking-intro>p:not(.eyebrow){font-size:12px}.booking-intro>img{margin-top:25px}.booking-form-wrap{padding:23px 18px}.booking-form-wrap h2{font-size:31px}.field input,.field textarea,.field select{font-size:16px}.form-two{gap:12px}.field label{font-size:10px}.form-description{font-size:11px}.form-footnote{font-size:9px}.consent{font-size:10px}.legal-section h1{font-size:48px}.legal-copy{font-size:13px}.about-section .large-copy{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.idoyoudo-theme{--paper:#faf7f0;--ink:#39252f;--muted:#76676b}
.map-panel{background:#e8e3d8 url('../assets/sample-map.svg') center/cover no-repeat}.map-panel iframe{background:transparent}
@media(max-width:540px){.hero h1{font-size:clamp(52px,15.5vw,70px)}.hero .quiet-link{margin-left:14px}}

/* Bridal inspiration — editorial collection cards. */
.bridal-edits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.bridal-edit{display:block;min-width:0;outline-offset:7px}
.bridal-edit-photo{position:relative;isolation:isolate;overflow:hidden;background:#cbbbaf;aspect-ratio:3/4;border-radius:3px}
.bridal-edit-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,24,28,.14),transparent 34%,rgba(38,24,28,.08) 49%,rgba(38,24,28,.77));z-index:0;pointer-events:none}
.bridal-edit-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.3,1),filter .6s;object-position:center 40%}
.bridal-edit-detail .bridal-edit-photo>img{transform:scale(1.65);object-position:50% 12%}
.bridal-edit-top{position:absolute;top:22px;left:24px;right:24px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fffaf4}
.bridal-edit-number{font-family:var(--serif);font-size:23px;font-style:italic;line-height:1}
.bridal-edit-label{font-size:8px;text-transform:uppercase;letter-spacing:.14em;background:rgba(250,247,240,.93);color:#39252f;padding:8px 12px;line-height:1.4}
.bridal-edit-copy{position:absolute;bottom:31px;left:29px;right:24px;z-index:1;color:#fffaf4;transition:transform .35s}
.bridal-edit-eyebrow{font-size:8px;text-transform:uppercase;letter-spacing:.19em;display:block;margin-bottom:13px;color:#f2e4df}
.bridal-edit-copy h3{font-size:clamp(29px,2.8vw,43px);line-height:1.12;letter-spacing:-.045em;margin:0 0 12px;max-width:270px}
.bridal-edit-copy p{font-size:11px;line-height:1.6;margin:0;color:#f2e4df}
.bridal-edit-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:0;padding:18px 0 16px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.015em}
.bridal-edit-arrow{display:grid;place-items:center;width:31px;height:31px;border:1px solid #cbbbc1;border-radius:50%;font-size:18px;transition:background .25s,color .25s,transform .25s}
.bridal-edit:hover .bridal-edit-photo>img,.bridal-edit:focus-visible .bridal-edit-photo>img{transform:scale(1.045)}
.bridal-edit-detail:hover .bridal-edit-photo>img,.bridal-edit-detail:focus-visible .bridal-edit-photo>img{transform:scale(1.72)}
.bridal-edit:hover .bridal-edit-copy,.bridal-edit:focus-visible .bridal-edit-copy{transform:translateY(-5px)}
.bridal-edit:hover .bridal-edit-arrow,.bridal-edit:focus-visible .bridal-edit-arrow{background:var(--plum);border-color:var(--plum);color:var(--paper);transform:rotate(5deg)}
@media(max-width:1000px){.bridal-edits{gap:20px}.bridal-edit-top{top:17px;left:18px;right:18px}.bridal-edit-label{font-size:7px;padding:7px 8px}.bridal-edit-copy{left:20px;right:17px;bottom:24px}.bridal-edit-copy h3{font-size:30px}.bridal-edit-copy p{font-size:10px}}
@media(max-width:700px){.bridal-edits{grid-template-columns:1fr;gap:30px}.bridal-edit-photo{aspect-ratio:4/4.5}.bridal-edit-top{top:24px;left:25px;right:25px}.bridal-edit-number{font-size:27px}.bridal-edit-label{font-size:8px;padding:9px 12px}.bridal-edit-copy{left:27px;right:24px;bottom:30px}.bridal-edit-copy h3{font-size:43px;max-width:280px}.bridal-edit-copy p{font-size:12px}.bridal-edit-eyebrow{font-size:9px}.bridal-edit-footer{font-size:12px;padding-block:15px}.bridal-edit-arrow{width:35px;height:35px}}
@media(prefers-reduced-motion:reduce){.bridal-edit-photo>img,.bridal-edit-copy,.bridal-edit-arrow{transition:none}}

/* Square bridal hero image. */
.hero-image{aspect-ratio:1/1;border-radius:0;max-height:none;object-fit:cover;object-position:center 40%}


/* Scrollable, CMS-managed dress gallery. */
.dress-carousel .bridal-edits{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 56px)/3);gap:28px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:7px 0 3px;scroll-padding:0}
.dress-carousel .bridal-edits::-webkit-scrollbar{display:none}
.dress-carousel .bridal-edit{scroll-snap-align:start;scroll-snap-stop:always}
.dress-carousel .bridal-edits:focus-visible{outline:1px solid #986b80;outline-offset:7px}
.dress-carousel-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-top:25px;min-height:40px}
.dress-carousel-controls[hidden]{display:none}
.dress-carousel-hint,.dress-carousel-status{font-size:10px;color:var(--muted)}
.dress-carousel-status{text-align:right;font-variant-numeric:tabular-nums}
.dress-carousel-dots{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}
.dress-carousel-dots button{border:0;background:transparent;display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:50%}
.dress-carousel-dots button:after{content:'';display:block;width:7px;height:7px;border:1px solid #9b808c;border-radius:50%;background:transparent;transition:background .2s,transform .2s}
.dress-carousel-dots button[aria-current=true]:after{background:var(--plum);border-color:var(--plum);transform:scale(1.35)}
.dress-carousel-dots button:hover:after{background:#b59aa6}
.dress-detail-page{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}
.dress-detail-media img{aspect-ratio:4/5;object-fit:cover;object-position:center 35%}
.dress-detail-info{padding-top:10px}.dress-back{margin-bottom:45px}.dress-detail-info h1{font-size:clamp(48px,5vw,76px);margin-bottom:28px}.dress-description{font-size:14px;color:var(--muted);line-height:1.9}.dress-description ul{padding-left:20px;margin:25px 0}.dress-description li{padding:6px 0;border-bottom:1px solid var(--line)}.dress-detail-note{padding:24px 0;margin:25px 0;border-block:1px solid var(--line)}.dress-detail-note h2{font-size:27px;margin-bottom:12px}.dress-detail-note p{font-size:12px;color:var(--muted);margin:0}.dress-detail-info>.detail-note{margin-top:20px;line-height:1.8}
@media(max-width:1000px){.dress-carousel .bridal-edits{grid-auto-columns:calc((100% - 20px)/2);gap:20px}.dress-detail-page{gap:40px}}
@media(max-width:700px){.dress-carousel .bridal-edits{grid-auto-columns:100%;gap:20px}.dress-carousel-controls{grid-template-columns:1fr auto;gap:8px;margin-top:15px}.dress-carousel-dots{grid-column:1/3;grid-row:1}.dress-carousel-hint{grid-column:1;font-size:9px}.dress-carousel-status{font-size:9px}.dress-detail-page{grid-template-columns:1fr;gap:30px}.dress-back{margin-bottom:28px}.dress-detail-info h1{font-size:52px}}

/* Compact carousel pagination. */
.dress-carousel-dots{gap:0}.dress-carousel-dots button{width:24px;height:36px}


.dress-carousel-playback{border:0;padding:2px 0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px}


/* CMS-controlled continuous announcement ticker. */
.announcement-ticker{position:relative;display:flex;align-items:center;padding:0;height:38px;text-align:left;overflow:hidden}
.announcement-window{overflow:hidden;flex:1;min-width:0}
.announcement-track{display:flex;width:max-content;animation:announcement-drift var(--ticker-duration,32s) linear infinite}
.announcement-ticker .announcement-group{display:flex;align-items:center;justify-content:space-around;gap:45px;min-width:100vw;flex-shrink:0;padding:0 30px;white-space:nowrap}
.announcement-ticker .announcement-message{display:block;margin:0;letter-spacing:.12em;font-size:9px;opacity:1}
.announcement-ticker .announcement-divider{display:block;margin:0;font-size:13px;letter-spacing:0;opacity:.7}
.ticker-playback{position:relative;z-index:1;flex:0 0 38px;align-self:stretch;border:0;border-left:1px solid #ffffff26;background:var(--plum);color:var(--paper);font:12px var(--sans);display:grid;place-items:center}
.announcement-ticker .ticker-playback span{display:block;margin:0;font-size:12px;letter-spacing:0;opacity:1}
.announcement-ticker:hover .announcement-track,.announcement-ticker:focus-within .announcement-track,.announcement-ticker.is-paused .announcement-track{animation-play-state:paused}
@keyframes announcement-drift{to{transform:translateX(-50%)}}
@media(max-width:800px){.main-nav{top:126px}}
@media(max-width:540px){.main-nav{top:118px}.announcement-ticker .announcement-group{gap:28px;padding-inline:22px}.announcement-ticker .announcement-message{display:block;font-size:8px}}
@media(prefers-reduced-motion:reduce){.announcement-track{animation:none}.announcement-ticker{height:auto;min-height:38px}.announcement-ticker .announcement-group{min-width:0;white-space:normal;gap:12px;flex-wrap:wrap;padding:9px 16px}.announcement-ticker .announcement-group[aria-hidden=true]{display:none}.announcement-ticker .announcement-divider{display:none}.ticker-playback{display:none}}
