:root{--paper:#f7f2ec;--paper-deep:#eee4da;--white:#fffdf9;--ink:#291d25;--plum:#582d48;--plum-dark:#402036;--rose:#b8858f;--rose-soft:#ead6d5;--sage:#5e695b;--line:#d9ccc2;--muted:#6e6268;--shadow:0 18px 45px rgba(62,37,48,.12);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope","Helvetica Neue",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}::selection{background:var(--rose-soft);color:var(--plum-dark)}a{color:inherit;text-decoration-color:var(--rose);text-underline-offset:4px}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.98;letter-spacing:-.025em}h1{font-size:clamp(3.1rem,6.5vw,5.8rem);max-width:12ch}h2{font-size:clamp(2.25rem,4vw,3.8rem)}h3{font-size:2rem}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:-60px;z-index:1000;background:var(--plum);color:white;padding:10px 16px}.skip-link:focus{top:16px}:focus-visible{outline:3px solid #c75b82;outline-offset:4px}.site-header{height:88px;background:rgba(247,242,236,.96);border-bottom:1px solid var(--line);position:relative;z-index:30}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--serif);font-size:2.15rem;line-height:.7}.brand small{display:block;font-family:var(--sans);font-size:.56rem;text-transform:uppercase;letter-spacing:.19em;margin-top:8px}.brand-mark{display:grid;place-items:center;width:41px;height:47px;border:1px solid var(--plum);border-radius:48% 48% 42% 42%;font-size:1.5rem;font-style:italic}.desktop-nav{display:flex;align-items:center;gap:34px;font-size:.87rem;font-weight:650}.desktop-nav a{text-decoration:none}.desktop-nav a:not(.nav-cta):hover{text-decoration:underline}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 23px;border:0;border-radius:10px;font:700 .84rem var(--sans);text-decoration:none;cursor:pointer}.nav-cta{border:1px solid var(--plum)}.nav-cta:hover{background:var(--plum);color:white}.mobile-nav{display:none}.home-hero{padding:52px 0 62px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.07fr .93fr;min-height:680px;align-items:center}.hero-copy{padding:30px 72px 30px 0;position:relative;z-index:2}.hero-intro,.location{color:var(--plum);font-size:.73rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.hero-copy h1{margin:18px 0 30px}.hero-lede{font-size:1.12rem;color:var(--muted);max-width:53ch;margin-bottom:38px}.hero-image-wrap{height:680px;position:relative}.hero-image-wrap:before{content:"";position:absolute;inset:18px -80px -20px 55px;border:1px solid var(--rose);z-index:-1}.hero-image-wrap img{width:100%;height:100%;object-fit:cover}.hero-caption{position:absolute;left:-38px;bottom:34px;background:var(--plum);color:white;padding:18px 24px;width:180px;box-shadow:var(--shadow)}.hero-caption span,.hero-caption strong{display:block}.hero-caption span{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.hero-caption strong{font-family:var(--serif);font-size:1.45rem;font-weight:500}.search-form{background:var(--white);padding:10px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.2fr .92fr 1fr auto;gap:0;align-items:end}.field{padding:5px 13px;border-right:1px solid var(--line)}.field label{display:block;font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.09em;margin-bottom:2px}.field input,.field select{width:100%;height:34px;border:0;background:transparent;color:var(--ink);font:500 .85rem var(--sans);padding:0}.field input::placeholder{color:#80747a}.field input:focus,.field select:focus{outline:none}.button-primary{background:var(--plum);color:white}.button-primary:hover{background:var(--plum-dark)}.search-form .button{height:54px}.search-note{font-size:.78rem;color:var(--muted);margin:18px 0 0}.city-ribbon{background:var(--plum);color:white;padding:28px 0}.city-row{display:flex;align-items:center;gap:55px}.city-row h2{font:600 .72rem var(--sans);letter-spacing:.11em;text-transform:uppercase;margin:0;white-space:nowrap}.city-links{display:flex;gap:9px;overflow:auto;padding:3px}.city-links a{white-space:nowrap;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:7px 15px;text-decoration:none;font-size:.78rem}.city-links a:hover{background:white;color:var(--plum)}.section{padding-block:112px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.section-heading h2{margin-bottom:12px}.section-heading p{color:var(--muted);margin:0}.text-link{font-size:.86rem;font-weight:700}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.shop-card{background:var(--white)}.shop-card-image{display:block;aspect-ratio:1.05;overflow:hidden;position:relative}.shop-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.shop-card-image:hover img{transform:scale(1.035)}.status-label,.profile-status{background:rgba(41,29,37,.9);color:white;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:7px 10px}.status-label{position:absolute;bottom:11px;left:11px}.shop-card-body{padding:25px 24px 26px}.card-heading{display:flex;justify-content:space-between;gap:12px}.card-heading h3{margin:5px 0 0}.card-heading h3 a{text-decoration:none}.location{margin:0}.arrow-link{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;flex:none}.arrow-link svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.5}.card-description{font-size:.88rem;color:var(--muted);line-height:1.65;margin:18px 0}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.tag-list span{font-size:.69rem;border:1px solid var(--line);border-radius:999px;padding:5px 9px}.story-section{background:var(--paper-deep);padding:105px 0}.story-copy-single{max-width:780px}.story-copy>p{color:var(--muted);max-width:58ch}.story-copy ol{list-style:none;padding:0;margin:38px 0 0;counter-reset:steps}.story-copy li{counter-increment:steps;position:relative;padding:18px 0 18px 62px;border-top:1px solid var(--line)}.story-copy li:before{content:counter(steps);position:absolute;left:0;top:18px;width:34px;height:34px;border:1px solid var(--rose);border-radius:50%;display:grid;place-items:center;font:500 1rem var(--serif)}.story-copy li span{font-weight:700}.story-copy li p{margin:2px 0 0;color:var(--muted);font-size:.86rem}.directory-head{background:var(--paper-deep);padding:44px 0 46px}.breadcrumbs{display:flex;gap:10px;font-size:.76rem;color:var(--muted);margin-bottom:42px}.breadcrumbs a{font-weight:650}.directory-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.directory-title h1{font-size:clamp(2.8rem,5vw,4.5rem);max-width:16ch;margin-bottom:17px}.directory-title p{margin:0;color:var(--muted)}.result-count{text-align:right}.result-count strong{display:block;color:var(--plum);font:500 3.5rem var(--serif);line-height:1}.directory-head .search-form{box-shadow:none;border:1px solid var(--line)}.active-filters{display:flex;align-items:center;gap:8px;margin-top:19px;font-size:.75rem}.active-filters>span{font-weight:700;margin-right:5px}.active-filters a:not(.clear-link){border:1px solid var(--line);border-radius:999px;padding:4px 9px;text-decoration:none}.clear-link{margin-left:auto}.results-section{min-height:500px}.empty-state{max-width:640px;text-align:center;margin:0 auto;padding:70px 20px}.empty-monogram{width:76px;height:86px;display:grid;place-items:center;border:1px solid var(--rose);border-radius:48%;font:italic 2.5rem var(--serif);margin:0 auto 30px}.empty-state h2{font-size:3rem}.empty-state p{color:var(--muted);margin:0 auto 28px;max-width:48ch}.profile-head{padding-top:42px}.profile-title{display:flex;justify-content:space-between;align-items:end;gap:40px;padding:35px 0 48px}.profile-title h1{font-size:clamp(3rem,6vw,5rem);margin:10px 0 22px}.profile-title>div>p:last-child{max-width:65ch;color:var(--muted)}.profile-status{position:static;white-space:nowrap}.profile-gallery{height:610px;display:grid;grid-template-columns:1.45fr .85fr;grid-template-rows:1fr 1fr;gap:16px}.gallery-item{margin:0;position:relative;overflow:hidden}.gallery-item-1{grid-row:1/3}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-item figcaption{position:absolute;right:8px;bottom:8px;background:rgba(41,29,37,.82);color:white;font-size:.58rem;padding:5px 8px}.profile-content{display:grid;grid-template-columns:1fr 390px;gap:100px;padding-block:100px}.profile-content h2{font-size:2.8rem}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.service-list div{border-bottom:1px solid var(--line);padding:14px 0;font-size:.9rem}.service-list span{color:var(--plum);margin-right:10px}.profile-about{margin-top:70px}.profile-about p{color:var(--muted);max-width:67ch}.contact-panel{background:var(--white);padding:34px;align-self:start;box-shadow:var(--shadow)}.contact-panel h2{font-size:2rem}.contact-panel dl{margin:25px 0}.contact-panel dl div{border-top:1px solid var(--line);padding:16px 0}.contact-panel dt{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;font-weight:750}.contact-panel dd{margin:4px 0 0;font-size:.88rem}.button-wide{width:100%}.contact-note{font-size:.72rem;color:var(--muted);text-align:center;margin:13px 0 0}.source-notice{border:1px solid var(--line);padding:25px 30px;margin-bottom:30px;display:grid;grid-template-columns:190px 1fr;gap:24px}.source-notice p{margin:0;color:var(--muted);font-size:.85rem}.related{padding-top:70px}.content-hero{padding:55px 0 80px;border-bottom:1px solid var(--line)}.content-hero h1{max-width:13ch;margin:50px 0 30px}.content-hero>p{max-width:65ch;color:var(--muted);font-size:1.12rem}.prose{max-width:780px;padding-block:85px}.prose h2{font-size:2.4rem;margin:60px 0 18px}.prose h2:first-child{margin-top:0}.prose p{color:var(--muted)}.callout{background:var(--paper-deep);padding:25px 28px;margin-top:45px}.callout p{margin:6px 0 0}.site-footer{background:var(--ink);color:#f7f2ec;padding:75px 0 25px}.footer-grid{display:grid;grid-template-columns:1.35fr .65fr .65fr 1.2fr;gap:60px}.footer-brand{margin-bottom:25px}.footer-grid p{font-size:.8rem;color:#d7cdd0;max-width:35ch}.footer-grid nav{display:flex;flex-direction:column;gap:9px;font-size:.8rem}.footer-grid nav strong,.footer-note strong{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;margin-bottom:8px}.footer-note{border-left:1px solid #725765;padding-left:28px}.footer-bottom{border-top:1px solid #5c4852;margin-top:60px;padding-top:20px;display:flex;justify-content:space-between;color:#bbaeb4;font-size:.68rem}.mobile-nav{position:relative}.mobile-nav summary{list-style:none;width:44px;height:44px;border:1px solid var(--line);display:grid;place-content:center;gap:6px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{display:block;width:20px;height:1px;background:var(--ink)}.mobile-nav nav{position:absolute;right:0;top:55px;width:230px;background:var(--white);box-shadow:var(--shadow);padding:20px;display:flex;flex-direction:column;gap:14px}.mobile-nav nav a{text-decoration:none;font-weight:650}
@media (max-width:900px){.desktop-nav{display:none}.mobile-nav{display:block}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding:30px 0 50px}.hero-image-wrap{height:500px}.hero-image-wrap:before{display:none}.search-form{grid-template-columns:1fr 1fr}.field{border-bottom:1px solid var(--line)}.search-form .button{height:50px;align-self:stretch}.shop-grid{grid-template-columns:repeat(2,1fr)}.profile-content{grid-template-columns:1fr;gap:50px}.contact-panel{width:100%}.footer-grid{grid-template-columns:1fr 1fr}.profile-gallery{height:520px}}
@media (max-width:620px){.shell{width:min(100% - 30px,1180px)}.site-header{height:76px}.brand{font-size:1.85rem}.brand-mark{width:36px;height:41px}.home-hero{padding:20px 0 35px}.hero-copy{padding-bottom:32px}.hero-copy h1{font-size:3.4rem;margin-bottom:22px}.hero-lede{font-size:1rem}.search-form{grid-template-columns:1fr;padding:8px}.field{border-right:0;padding:8px 10px}.hero-image-wrap{height:410px}.hero-caption{left:12px;bottom:12px}.city-row{display:block}.city-row h2{margin-bottom:15px}.section{padding-block:75px}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:20px}.shop-grid{grid-template-columns:1fr}.story-section{padding:70px 0}.story-image{height:360px}.directory-head{padding-top:25px}.directory-title{display:block}.result-count{text-align:left;margin-top:25px!important}.active-filters{flex-wrap:wrap}.clear-link{margin-left:0}.profile-title{display:block}.profile-status{display:inline-block;margin-top:20px}.profile-gallery{height:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:370px 180px}.gallery-item-1{grid-column:1/3;grid-row:auto}.profile-content{padding-block:65px}.service-list{grid-template-columns:1fr}.source-notice{grid-template-columns:1fr;gap:5px}.footer-grid{grid-template-columns:1fr;gap:40px}.footer-note{border-left:0;padding-left:0}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}.content-hero h1{font-size:3.3rem}.prose{padding-block:60px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.001ms!important}}
@font-face{font-family:"Cormorant Garamond";src:url("/assets/cormorant-garamond-500-afa06bf5.ttf") format("truetype");font-weight:500;font-display:swap}@font-face{font-family:"Cormorant Garamond";src:url("/assets/cormorant-garamond-600-f666dfd0.ttf") format("truetype");font-weight:600;font-display:swap}@font-face{font-family:"Manrope";src:url("/assets/manrope-400-7fe97da0.ttf") format("truetype");font-weight:400;font-display:swap}@font-face{font-family:"Manrope";src:url("/assets/manrope-500-fa12a073.ttf") format("truetype");font-weight:500;font-display:swap}@font-face{font-family:"Manrope";src:url("/assets/manrope-600-c0e79af6.ttf") format("truetype");font-weight:600;font-display:swap}@font-face{font-family:"Manrope";src:url("/assets/manrope-700-6501e5cd.ttf") format("truetype");font-weight:700;font-display:swap}
html{scrollbar-color:var(--plum) var(--paper-deep);scrollbar-width:thin}body{caret-color:var(--plum)}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-track{background:var(--paper-deep)}*::-webkit-scrollbar-thumb{background:var(--plum);border:3px solid var(--paper-deep);border-radius:999px}.field input:focus-visible,.field select:focus-visible{outline:3px solid #c75b82;outline-offset:2px;border-radius:3px}.hero-copy h1{margin-top:0}.city-links a{background-image:linear-gradient(var(--white),var(--white));background-repeat:no-repeat;background-position:center;background-size:0 100%;transition:background-size .38s cubic-bezier(.16,1,.3,1),color .38s cubic-bezier(.16,1,.3,1)}.city-links a:hover,.city-links a:focus-visible{background-size:100% 100%;color:var(--plum)}.service-mark{display:inline-block;width:13px;height:7px;border-left:1.5px solid var(--plum);border-bottom:1.5px solid var(--plum);transform:rotate(-45deg) translateY(-2px);margin:0 13px 0 2px}.service-list span.service-mark{color:inherit}

/* Provenance-first media: official photography when available, an honest empty state otherwise. */
.hero-proof{align-self:stretch;background:var(--plum);color:white;padding:76px 66px;display:flex;flex-direction:column;justify-content:center;position:relative}.hero-proof:after{content:"";position:absolute;inset:18px -80px -20px 55px;border:1px solid var(--rose);z-index:-1}.hero-proof h2{font-size:clamp(2.25rem,4vw,3.8rem);max-width:8ch;margin-bottom:28px}.hero-proof>p{color:#d7cdd0;max-width:38ch;margin-bottom:46px}.hero-proof dl{margin:0}.hero-proof dl div{display:grid;grid-template-columns:110px 1fr;gap:22px;padding:16px 0;border-top:1px solid #725765}.hero-proof dt{font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.09em}.hero-proof dd{margin:0;color:#d7cdd0;font-size:.84rem}
.shop-card-image{background:var(--paper-deep);text-decoration:none}.shop-card-placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:34px;background:var(--paper-deep);color:var(--plum);box-shadow:inset 0 0 0 1px var(--line)}.shop-card-placeholder:before,.shop-card-placeholder:after{content:"";width:58px;height:1px;background:var(--rose);margin-block:14px}.shop-card-placeholder small,.shop-card-placeholder span{color:var(--muted);font-size:.58rem;font-style:normal;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.shop-card-placeholder span{letter-spacing:.12em}.directory-placeholder-symbol{display:block;width:76px;height:76px;overflow:visible;color:var(--plum);fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.directory-placeholder-symbol-atelier{width:72px}.directory-placeholder-symbol-venue{width:82px}.directory-placeholder-symbol-jewelry{width:80px}.directory-placeholder-symbol-photo-video{width:78px}.directory-placeholder-symbol-music{width:76px}
.gallery-item figcaption{background:rgba(41,29,37,.88)}.gallery-item figcaption a{color:white}.gallery-count-1{display:block}.gallery-count-1 .gallery-item{height:100%}.gallery-count-0{display:block;background:var(--paper-deep)}.profile-gallery-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;box-shadow:inset 0 0 0 1px var(--line)}.profile-gallery-placeholder:before,.profile-gallery-placeholder:after{content:"";width:92px;height:1px;background:var(--rose);margin-block:24px}.profile-gallery-placeholder strong{font:500 clamp(2.8rem,7vw,5.6rem)/.9 var(--serif);color:var(--plum);max-width:12ch}.profile-gallery-placeholder small,.profile-gallery-placeholder>span{color:var(--muted);font-size:.62rem;font-style:normal;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.profile-gallery-placeholder p{color:var(--muted);margin:10px 0 0;max-width:44ch}
@media (max-width:900px){.hero-proof{min-height:500px}.hero-proof:after{display:none}}
@media (max-width:620px){.hero-proof{min-height:0;padding:48px 30px}.hero-proof dl div{grid-template-columns:96px 1fr}.profile-gallery.gallery-count-0,.profile-gallery.gallery-count-1{height:370px}}

/* Keep Romanian diacritics clear and make remote-media failure states deterministic. */
.hero-copy h1{line-height:1.12}.shop-card-image>.image-fallback{position:absolute;inset:0}.shop-card-image>img{position:relative;z-index:1;background:transparent;color:transparent;font-size:0}.status-label{z-index:2}.gallery-item{background:var(--paper-deep)}.gallery-image-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:var(--plum)}.gallery-image-fallback:before,.gallery-image-fallback:after{content:"";width:66px;height:1px;background:var(--rose);margin-block:14px}.gallery-image-fallback small,.gallery-image-fallback span{color:var(--muted);font:700 .56rem/1.4 var(--sans);letter-spacing:.15em;text-transform:uppercase}.gallery-item img{position:relative;z-index:1;background:transparent;color:transparent;font-size:0}.gallery-item figcaption{z-index:2}

/* Editorial guide: the directory folio opens into a quieter, long-form reading surface. */
.guide-head{background:var(--plum);color:white;padding:62px 0 94px}.guide-head-inner{display:grid;grid-template-columns:1fr 1fr;column-gap:11%;align-items:end}.guide-head .breadcrumbs{grid-column:1/-1}.breadcrumbs-light{color:#d7cdd0}.guide-head h1{font-size:clamp(3.4rem,6vw,5.6rem);max-width:10ch;margin:26px 0 0}.guide-head-inner>p{color:#e5dadd;font-size:1.05rem;max-width:48ch;margin:0 0 8px}.guide-list{padding-block:105px 125px}.guide-list-heading{margin-bottom:48px}.guide-feature{display:grid;grid-template-columns:1.15fr .85fr;background:var(--white)}.guide-feature-image{display:block;min-height:540px;overflow:hidden}.guide-feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.guide-feature-image:hover img{transform:scale(1.025)}.guide-feature-copy{align-self:center;padding:58px}.guide-feature-copy h2{font-size:clamp(2.45rem,4vw,3.7rem);margin:26px 0 24px}.guide-feature-copy h2 a{text-decoration:none}.guide-feature-copy>p:not(.article-meta){color:var(--muted);max-width:44ch}.guide-read-link{display:inline-block;margin-top:18px}.article-meta{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--plum);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.article-meta span{position:relative}.article-meta span:before{content:"";position:absolute;left:-13px;top:50%;width:3px;height:3px;border-radius:50%;background:var(--rose)}
.article-head{padding:58px 0 64px}.article-head .breadcrumbs{margin-bottom:55px}.article-head h1{font-size:clamp(3.5rem,7vw,6rem);max-width:13ch;margin:26px 0 32px}.article-lede{max-width:66ch;color:var(--muted);font-size:1.14rem;line-height:1.75;margin:0}.article-hero{margin-bottom:90px}.article-hero img{width:100%;height:650px;object-fit:cover}.article-hero figcaption,.article-inline-image figcaption{color:var(--muted);font-size:.68rem;margin-top:10px}.article-layout{display:grid;grid-template-columns:190px minmax(0,720px);gap:82px;justify-content:center;padding-bottom:120px}.article-toc{align-self:start;position:sticky;top:34px;border-block:1px solid var(--line);padding:22px 0}.article-toc strong{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}.article-toc nav{display:flex;flex-direction:column;gap:9px}.article-toc a{font-size:.75rem;color:var(--muted);text-decoration:none}.article-toc a:hover{text-decoration:underline}.article-body{min-width:0}.article-body h2{font-size:clamp(2.35rem,4vw,3.35rem);line-height:1.04;margin-bottom:25px}.article-body h3{font-family:var(--sans);font-size:1rem;font-weight:700;line-height:1.45;letter-spacing:0}.article-body p,.article-body li{font-size:1rem;line-height:1.85}.article-body>section{scroll-margin-top:30px}.article-answer{border-block:1px solid var(--rose);padding:45px 0}.article-answer p:last-child{margin-bottom:0}.article-section{padding-top:82px}.article-section>p{color:var(--muted)}.article-timeline{list-style:none;padding:0;margin:35px 0 0}.article-timeline li{display:grid;grid-template-columns:145px 1fr;gap:30px;padding:28px 0;border-top:1px solid var(--line)}.timeline-time{color:var(--plum);font:600 .8rem var(--sans);line-height:1.5}.article-timeline h3{margin:0 0 7px}.article-timeline p{color:var(--muted);font-size:.92rem;line-height:1.75;margin:0}.article-inline-image{margin:45px 0 0}.article-inline-image img{width:100%;max-height:480px;object-fit:cover}.article-options{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}.article-options>div{border-top:1px solid var(--rose);padding-top:20px}.article-options h3{color:var(--plum)}.article-options p{color:var(--muted);font-size:.84rem;line-height:1.7}.article-note{background:var(--paper-deep);padding:22px 25px;margin-top:30px;color:var(--ink)!important;font-size:.87rem!important}.article-checklist{list-style:none;padding:0;margin:30px 0 0}.article-checklist li{position:relative;padding:15px 0 15px 34px;border-top:1px solid var(--line);color:var(--muted)}.article-checklist li:before{content:"";position:absolute;left:2px;top:24px;width:13px;height:7px;border-left:1.5px solid var(--plum);border-bottom:1.5px solid var(--plum);transform:rotate(-45deg)}.directory-recommendation{background:var(--plum);color:white;margin-top:90px;padding:52px}.directory-recommendation h2{max-width:12ch}.directory-recommendation>p{color:#e5dadd}.article-city-links{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.article-city-links a{border:1px solid #89677a;border-radius:999px;color:white;font-size:.72rem;padding:6px 12px;text-decoration:none}.article-city-links a:hover{background:white;color:var(--plum)}.article-directory-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 25px;border-top:1px solid #725765;padding-top:26px}.article-directory-actions .button-primary{background:white;color:var(--plum)}.article-directory-actions .text-link{color:white}.recommendation-disclosure{font-size:.69rem!important;margin:26px 0 0!important;color:#cdbdc5!important}.article-sources{margin-top:88px;border-top:1px solid var(--line);padding-top:45px}.article-sources>p{font-size:.84rem}.article-sources ul{padding-left:20px}.article-sources li{font-size:.78rem;line-height:1.6;margin-bottom:9px}
.article-options-two{grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){.guide-head-inner{grid-template-columns:1fr}.guide-head h1{margin-bottom:36px}.guide-head-inner>p{max-width:60ch}.guide-feature{grid-template-columns:1fr}.guide-feature-image{min-height:480px}.guide-feature-copy{padding:48px}.article-layout{grid-template-columns:1fr;gap:48px}.article-toc{position:static}.article-toc nav{flex-direction:row;flex-wrap:wrap;gap:8px 20px}.article-hero img{height:520px}}
@media (max-width:620px){.guide-head{padding:36px 0 68px}.guide-head .breadcrumbs{margin-bottom:34px}.guide-head h1{font-size:3.65rem}.guide-list{padding-block:72px 85px}.guide-feature-image{min-height:340px}.guide-feature-copy{padding:32px 26px 38px}.guide-feature-copy h2{font-size:2.6rem}.article-meta{gap:7px 17px}.article-meta span:before{left:-10px}.article-head{padding:30px 0 42px}.article-head .breadcrumbs{margin-bottom:38px}.article-head .article-meta{display:grid;gap:5px}.article-head .article-meta span:before{display:none}.article-head h1{font-size:3.35rem;margin-top:20px}.article-lede{font-size:1rem}.article-hero{margin-bottom:60px}.article-hero img{height:360px}.article-layout{padding-bottom:80px}.article-toc nav{display:grid;grid-template-columns:1fr 1fr}.article-body h2{font-size:2.55rem}.article-answer{padding:34px 0}.article-section{padding-top:65px}.article-timeline li{grid-template-columns:1fr;gap:8px;padding:23px 0}.article-options{grid-template-columns:1fr;gap:10px}.article-inline-image img{height:320px}.directory-recommendation{margin-inline:-15px;padding:38px 28px}.article-directory-actions{align-items:flex-start;flex-direction:column}.article-sources{margin-top:65px}}

.guide-feature + .guide-feature{margin-top:52px}
@media (max-width:620px){.guide-feature + .guide-feature{margin-top:34px}}

/* The homepage form lives in a half-width hero column, so it composes by content width instead of the viewport breakpoint. */
.home-hero .search-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.home-hero .field-search{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line)}
.home-hero .search-form .field:nth-of-type(3){border-right:0}
.home-hero .search-form .button{grid-column:1/-1;margin-top:8px}
@media (max-width:620px){.home-hero .search-form{grid-template-columns:1fr}.home-hero .field-search,.home-hero .search-form .button{grid-column:auto}.home-hero .search-form .button{margin-top:0}}

/* Homepage opening sequence: one real bridal film, one centered Da, facem! signature. */
.mobile-nav summary{position:relative;z-index:3;width:48px;height:48px;gap:7px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.mobile-nav summary span{width:21px;transition:transform .28s cubic-bezier(.16,1,.3,1)}.mobile-nav summary:hover{border-color:var(--rose);background:var(--white)}.mobile-nav[open] summary{background:var(--plum);border-color:var(--plum)}.mobile-nav[open] summary span{background:white}.mobile-nav[open] summary span:first-child{transform:translateY(4px) rotate(45deg)}.mobile-nav[open] summary span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([open]) nav{display:none}.mobile-nav nav{position:fixed;top:88px;left:0;right:0;z-index:2;width:auto;background:var(--white);border-top:1px solid var(--line);box-shadow:0 24px 48px rgba(62,37,48,.16);padding:34px 0 38px}.mobile-nav-inner{display:grid;grid-template-columns:240px 1fr;gap:54px;align-items:start}.mobile-nav-title{margin:0;color:var(--plum);font:500 2.35rem/1 var(--serif);letter-spacing:-.025em}.mobile-nav-links{display:grid;grid-template-columns:1fr 1fr;column-gap:46px}.mobile-nav nav a{position:relative;display:flex;align-items:center;min-height:58px;border-top:1px solid var(--line);padding:0 36px 0 0;text-decoration:none;font-size:.86rem;font-weight:650}.mobile-nav nav a:after{content:"";position:absolute;right:4px;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);transition:transform .2s cubic-bezier(.16,1,.3,1)}.mobile-nav nav a:hover{color:var(--plum)}.mobile-nav nav a:hover:after{transform:translateX(4px) rotate(45deg)}
.home-video-hero{position:relative;height:clamp(560px,calc(100svh - 88px),780px);min-height:560px;overflow:hidden;background:#4a3940;isolation:isolate}.home-video-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;z-index:-3}.home-video-hero-shade{position:absolute;inset:0;background:rgba(28,18,25,.38);z-index:-2}.home-video-hero:after{content:"";position:absolute;inset:24px;border:1px solid rgba(255,255,255,.3);z-index:-1;pointer-events:none}.home-video-logo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:24px;color:white;text-shadow:0 2px 24px rgba(20,12,17,.45)}.home-video-logo-mark{display:grid;place-items:center;width:92px;height:105px;border:1px solid rgba(255,255,255,.88);border-radius:48% 48% 42% 42%;font:italic 3.4rem/.8 var(--serif)}.home-video-logo-name{font:500 clamp(4.2rem,8vw,7.5rem)/.68 var(--serif);letter-spacing:-.035em}.home-video-logo-name small{display:block;margin-top:24px;font:600 .72rem/1.2 var(--sans);letter-spacing:.28em;text-transform:uppercase}.home-search-section{padding:90px 0 84px;background:var(--paper-deep)}.home-search-inner{display:grid;grid-template-columns:minmax(0,.86fr) minmax(560px,1.14fr);gap:8%;align-items:center}.home-search-copy h1{font-size:clamp(3rem,5vw,4.85rem);line-height:1.04;margin:0 0 24px}.home-search-copy p{max-width:48ch;margin:0;color:var(--muted)}.home-search-panel .search-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.home-search-panel .field-search{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line)}.home-search-panel .search-form .field:nth-of-type(3){border-right:0}.home-search-panel .search-form .button{grid-column:1/-1;margin-top:8px}.home-search-panel .search-note{margin-bottom:0}
@media (max-width:900px){.home-video-hero{height:620px}.home-video-hero:after{inset:18px}.home-search-inner{grid-template-columns:1fr;gap:42px}.home-search-copy{max-width:680px}.home-search-panel{max-width:760px;width:100%}}
@media (max-width:620px){.home-video-hero{height:calc(100svh - 76px);min-height:500px;max-height:680px}.home-video-hero-media{object-position:54% center}.home-video-hero:after{inset:12px}.home-video-logo{gap:15px}.home-video-logo-mark{width:58px;height:67px;font-size:2.2rem}.home-video-logo-name{font-size:4rem}.home-video-logo-name small{margin-top:17px;font-size:.55rem;letter-spacing:.2em}.home-search-section{padding:62px 0 58px}.home-search-copy h1{font-size:3.2rem}.home-search-panel .search-form{grid-template-columns:1fr}.home-search-panel .field-search,.home-search-panel .search-form .button{grid-column:auto}.home-search-panel .search-form .button{margin-top:0}}
@media (max-width:620px){.mobile-nav summary{width:48px;height:48px}.mobile-nav nav{top:76px;padding:27px 0 34px;max-height:calc(100svh - 76px);overflow:auto}.mobile-nav-inner{display:block}.mobile-nav-title{font-size:2rem;margin-bottom:24px}.mobile-nav-links{grid-template-columns:1fr}.mobile-nav nav a{min-height:56px}}
@media (prefers-reduced-motion:reduce){.home-video-hero-media{display:none}.home-video-hero{background:#4a3940 var(--home-hero-poster) center 46%/cover no-repeat}}

/* Dress-style quiz: an atelier consultation translated into a calm, no-account decision flow. */
.quiz-head{background:var(--plum);color:white;padding:58px 0 82px}.quiz-head-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:11%;align-items:end}.quiz-head .breadcrumbs{grid-column:1/-1;color:#d7cdd0;margin-bottom:52px}.quiz-head h1{font-size:clamp(3.6rem,7vw,6rem);max-width:11ch;margin:0}.quiz-intro>p{color:#e5dadd;font-size:1.04rem;max-width:46ch;margin-bottom:34px}.quiz-intro dl{margin:0;border-top:1px solid #725765}.quiz-intro dl div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid #725765}.quiz-intro dt{font-size:.67rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.quiz-intro dd{margin:0;color:#e5dadd;font-size:.8rem}.quiz-main{max-width:980px;padding-block:88px 120px}.quiz-form-intro{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:start;margin-bottom:65px}.quiz-form-intro h2{font-size:clamp(2.7rem,5vw,4.1rem);max-width:8ch}.quiz-form-intro p{color:var(--muted);max-width:55ch;margin:8px 0 0}.quiz-error{display:flex;gap:24px;background:var(--rose-soft);color:var(--plum-dark);padding:18px 22px;margin-bottom:32px}.quiz-error strong{white-space:nowrap}.quiz-question{border:0;border-top:1px solid var(--line);padding:42px 0 50px;margin:0}.quiz-question legend{width:100%;display:flex;align-items:center;gap:20px;font:500 clamp(2rem,4vw,2.8rem)/1.08 var(--serif);letter-spacing:-.025em}.quiz-question legend span{width:42px;height:48px;display:grid;place-items:center;border:1px solid var(--rose);border-radius:48% 48% 42% 42%;font-size:1.15rem;color:var(--plum);flex:none}.quiz-question>p{color:var(--muted);margin:13px 0 28px 62px}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quiz-option{position:relative;display:block;cursor:pointer}.quiz-option input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.quiz-option>span{min-height:106px;display:flex;flex-direction:column;justify-content:center;background:var(--white);border:1px solid transparent;padding:20px 24px;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.quiz-option strong{font-size:.9rem}.quiz-option small{color:var(--muted);font-size:.74rem;line-height:1.55;margin-top:5px}.quiz-option:hover>span{border-color:var(--rose)}.quiz-option input:focus-visible+span{outline:3px solid #c75b82;outline-offset:3px}.quiz-option input:checked+span{background:var(--plum);border-color:var(--plum);color:white}.quiz-option input:checked+span small{color:#e5dadd}.quiz-city{display:grid;grid-template-columns:1fr 320px;gap:65px;align-items:end;background:var(--paper-deep);padding:40px 44px;margin-top:20px}.quiz-city h2{font-size:2.45rem;margin-bottom:10px}.quiz-city p{color:var(--muted);font-size:.82rem;margin:0}.quiz-city-field label{display:block;font-size:.67rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px}.quiz-city-field select{width:100%;height:48px;border:1px solid var(--line);background:var(--white);color:var(--ink);font:500 .84rem var(--sans);padding:0 14px}.quiz-city-field select:focus-visible{outline:3px solid #c75b82;outline-offset:3px}.quiz-submit{display:flex;align-items:center;gap:28px;margin-top:35px}.quiz-submit .button{min-width:230px}.quiz-submit p{color:var(--muted);font-size:.72rem;max-width:46ch;margin:0}.quiz-result{background:var(--plum);color:white;padding:64px 70px;position:relative}.quiz-result:after{content:"";position:absolute;inset:20px -28px -24px 28px;border:1px solid var(--rose);z-index:-1}.quiz-result-label{font-size:.68rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase;color:#d7cdd0;margin-bottom:20px}.quiz-result h2{font-size:clamp(3.4rem,6vw,5.5rem);max-width:11ch;margin-bottom:28px}.quiz-result-summary{color:#e5dadd;font-size:1.04rem;line-height:1.8;max-width:60ch}.quiz-result-columns{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:52px;padding-top:34px;border-top:1px solid #725765}.quiz-result h3{font:700 .72rem var(--sans);letter-spacing:.09em;text-transform:uppercase}.quiz-result ul{list-style:none;padding:0;margin:18px 0 0}.quiz-result li{padding:9px 0;border-top:1px solid #725765;color:#e5dadd;font-size:.85rem}.quiz-fitting-tip{margin-top:45px;background:var(--white);color:var(--ink);padding:25px 28px}.quiz-fitting-tip strong{font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}.quiz-fitting-tip p{color:var(--muted);font-size:.84rem;line-height:1.7;margin:6px 0 0}.quiz-result-actions{display:flex;align-items:center;gap:28px;margin-top:38px}.quiz-result-primary{background:white;color:var(--plum)}.quiz-result-primary:hover{background:var(--paper-deep)}.quiz-restart{color:white;font-size:.82rem;font-weight:700}.quiz-disclaimer{color:#cdbdc5!important;font-size:.68rem!important;line-height:1.6!important;margin:28px 0 0!important;max-width:70ch}.desktop-nav a[aria-current="page"]{text-decoration:underline}
@media (max-width:900px){.quiz-head-grid{grid-template-columns:1fr}.quiz-head h1{margin-bottom:40px}.quiz-intro>p{max-width:60ch}.quiz-main{max-width:760px}.quiz-result:after{display:none}}
@media (max-width:620px){.quiz-head{padding:34px 0 58px}.quiz-head .breadcrumbs{margin-bottom:36px}.quiz-head h1{font-size:3.45rem}.quiz-main{padding-block:62px 85px}.quiz-form-intro{grid-template-columns:1fr;gap:8px;margin-bottom:45px}.quiz-form-intro h2{font-size:2.85rem}.quiz-error{display:block}.quiz-error strong{display:block;margin-bottom:4px}.quiz-question{padding:34px 0 40px}.quiz-question legend{font-size:2.05rem;align-items:flex-start}.quiz-question legend span{width:36px;height:41px;font-size:1rem}.quiz-question>p{margin-left:56px}.quiz-options{grid-template-columns:1fr}.quiz-option>span{min-height:92px}.quiz-city{grid-template-columns:1fr;gap:26px;padding:30px 24px}.quiz-city h2{font-size:2.2rem}.quiz-submit{align-items:stretch;flex-direction:column}.quiz-submit .button{width:100%}.quiz-result{margin-inline:-15px;padding:44px 28px}.quiz-result h2{font-size:3.45rem}.quiz-result-columns{grid-template-columns:1fr;gap:28px}.quiz-result-actions{align-items:flex-start;flex-direction:column}.quiz-result-primary{width:100%;text-align:center}}

/* Interactive directory map: city-center geography without paid map services or invented shop pins. */
.map-head{background:var(--plum);color:white;padding:58px 0 88px}.map-head-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:11%;align-items:end}.map-head .breadcrumbs{grid-column:1/-1;margin-bottom:52px}.map-head h1{font-size:clamp(3.6rem,7vw,6rem);max-width:10ch;margin:0}.map-head-grid>p{max-width:47ch;color:#e5dadd;font-size:1.04rem;margin:0 0 8px}.map-directory{padding:76px 0 120px}.map-filters{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;background:var(--white);padding:12px;box-shadow:var(--shadow)}.map-filter-field{padding:4px 14px;border-right:1px solid var(--line)}.map-filter-field label{display:block;margin-bottom:2px;font-size:.68rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.map-filter-field select{width:100%;height:38px;border:0;background:transparent;color:var(--ink);font:500 .84rem var(--sans);padding:0}.map-filter-field select:disabled{color:#9b9095;cursor:not-allowed}.map-filter-field select:focus{outline:none}.map-filter-field select:focus-visible{border-radius:3px;outline:3px solid #c75b82;outline-offset:2px}.map-filter-submit{height:54px}.map-reset{grid-column:1/-1;justify-self:start;margin:12px 14px 0;padding:0;border:0;background:transparent;color:var(--ink);font:700 .76rem var(--sans);text-decoration:underline;text-decoration-color:var(--rose);text-underline-offset:4px;cursor:pointer}.map-filter-note{grid-column:1/-1;margin:9px 14px 2px;color:var(--muted);font-size:.7rem}.map-status{display:flex;align-items:baseline;justify-content:space-between;gap:30px;padding:42px 0 22px;border-bottom:1px solid var(--line);scroll-margin-top:24px}.map-status p{margin:0;font-size:.9rem}.map-status strong{color:var(--plum);font:500 2.7rem/1 var(--serif);font-variant-numeric:tabular-nums}.map-status>span{color:var(--muted);font-size:.75rem}.map-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);min-height:680px;background:var(--paper-deep)}.romania-map{position:relative;min-width:0;overflow:hidden;border-right:1px solid var(--line)}.romania-outline{position:absolute;inset:7% 5%;width:90%;height:86%;overflow:visible}.romania-outline path:first-child{fill:var(--white);stroke:var(--rose);stroke-width:2}.map-river{fill:none;stroke:var(--line);stroke-width:2;stroke-dasharray:7 8}.map-marker{position:absolute;left:var(--map-x);top:var(--map-y);z-index:2;display:grid;width:40px;height:40px;place-items:center;border:2px solid var(--white);border-radius:50%;background:var(--plum);color:white;box-shadow:0 8px 20px rgba(62,37,48,.2);text-decoration:none;transform:translate(-50%,-50%);transition:background-color .22s ease,transform .22s cubic-bezier(.16,1,.3,1)}.map-marker:hover,.map-marker:focus-visible,.map-marker.is-selected{z-index:4;background:var(--plum-dark);transform:translate(-50%,-50%) scale(1.14)}.map-marker.is-selected{outline:3px solid var(--rose);outline-offset:4px}.map-marker-count{font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums}.map-marker-label{position:absolute;left:50%;top:45px;padding:4px 8px;background:var(--ink);color:white;font-size:.65rem;font-weight:700;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .18s ease,transform .18s ease}.map-marker:hover .map-marker-label,.map-marker:focus-visible .map-marker-label,.map-marker.is-selected .map-marker-label{opacity:1;transform:translate(-50%,0)}.map-legend{position:absolute;left:28px;bottom:25px;display:flex;align-items:center;gap:10px;background:rgba(255,253,249,.93);padding:10px 13px}.map-legend>span{width:18px;height:18px;border:2px solid var(--white);border-radius:50%;background:var(--plum);box-shadow:0 0 0 1px var(--line)}.map-legend p{margin:0;color:var(--muted);font-size:.61rem;line-height:1.4}.map-legend strong{display:block;color:var(--ink);font-size:.66rem}.map-results{min-width:0;background:var(--white)}.map-results-scroll{height:680px;overflow:auto}.map-result-card{padding:27px 25px 25px;border-bottom:1px solid var(--line)}.map-result-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}.map-result-heading p{margin:0;color:var(--plum);font-size:.63rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.map-result-heading h2{font-size:1.7rem;line-height:1.05;margin:7px 0 0}.map-result-heading h2 a{text-decoration:none}.map-distance{flex:none;color:var(--muted);font-size:.68rem;font-variant-numeric:tabular-nums}.map-result-address{color:var(--muted);font-size:.74rem;line-height:1.55;margin:16px 0 18px}.map-result-footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.map-result-footer span{font-size:.62rem;border:1px solid var(--line);border-radius:999px;padding:4px 8px}.map-result-footer a{font-size:.7rem;font-weight:700}.map-empty{display:flex;min-height:680px;padding:45px 30px;align-items:center;justify-content:center;flex-direction:column;text-align:center}.map-empty .empty-monogram{width:56px;height:64px;font-size:1.8rem;margin-bottom:22px}.map-empty h2{font-size:2.2rem}.map-empty p{max-width:32ch;color:var(--muted);font-size:.78rem}.map-marker[hidden],.map-result-card[hidden],.map-empty[hidden]{display:none!important}
@media (max-width:900px){.map-head-grid{grid-template-columns:1fr}.map-head h1{margin-bottom:38px}.map-head-grid>p{max-width:60ch}.map-filters{grid-template-columns:1fr 1fr}.map-filter-field{border-bottom:1px solid var(--line)}.map-filter-submit{align-self:stretch}.map-workspace{grid-template-columns:1fr}.romania-map{height:610px;border-right:0;border-bottom:1px solid var(--line)}.map-results-scroll{height:auto;max-height:620px}.map-empty{min-height:390px}}
@media (max-width:620px){.map-head{padding:34px 0 60px}.map-head .breadcrumbs{margin-bottom:36px}.map-head h1{font-size:3.45rem}.map-directory{padding:55px 0 82px}.map-filters{grid-template-columns:1fr;padding:9px}.map-filter-field{border-right:0;padding:8px 10px}.map-filter-submit{width:100%;margin-top:5px}.map-reset,.map-filter-note{margin-inline:10px}.map-status{display:block;padding-top:32px}.map-status>span{display:block;margin-top:8px}.map-workspace{margin-inline:-15px}.romania-map{height:500px}.map-marker{width:34px;height:34px}.map-marker-label{top:39px}.map-legend{left:15px;bottom:15px}.map-result-card{padding:25px 20px}.map-result-heading h2{font-size:1.55rem}.map-result-footer{align-items:flex-start;flex-direction:column}.map-results-scroll{max-height:none}}

/* Leaflet replaces the schematic canvas with real Romanian geography and city-center pins. */
#atelier-map{width:100%;height:100%;min-height:680px;background:#e8e6df;font-family:var(--sans)}#atelier-map.is-unavailable{display:grid;place-items:center;padding:40px;color:var(--muted);font-size:.84rem;text-align:center}.leaflet-container{color:var(--ink)}.leaflet-tile-pane{filter:saturate(.42) sepia(.08) brightness(1.035)}.dafacem-leaflet-marker{border:0!important;background:transparent!important}.dafacem-map-pin{display:block;width:40px;height:48px;filter:drop-shadow(0 7px 8px rgba(62,37,48,.28));transition:transform .22s cubic-bezier(.16,1,.3,1)}.dafacem-map-pin:hover,.leaflet-marker-icon:focus .dafacem-map-pin,.dafacem-map-pin.is-selected{transform:translateY(-3px) scale(1.08)}.dafacem-map-pin svg{display:block;width:100%;height:100%;overflow:visible}.dafacem-map-pin path{fill:var(--plum);stroke:white;stroke-width:2}.dafacem-map-pin.is-selected path{fill:var(--plum-dark);stroke:var(--rose);stroke-width:3}.dafacem-map-pin text{fill:white;font:700 12px var(--sans);text-anchor:middle;font-variant-numeric:tabular-nums}.leaflet-tooltip{border:0;border-radius:0;background:var(--ink);color:white;box-shadow:none;font:700 .68rem var(--sans)}.leaflet-tooltip-top:before{border-top-color:var(--ink)}.leaflet-control-zoom{border:0!important;box-shadow:var(--shadow)!important}.leaflet-control-zoom a{width:42px!important;height:42px!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:var(--white)!important;color:var(--plum)!important;font:500 1.35rem/42px var(--serif)!important}.leaflet-control-zoom a:last-child{border-bottom:0!important}.leaflet-control-attribution{padding:4px 7px!important;background:rgba(255,253,249,.92)!important;color:var(--muted)!important;font-size:.58rem!important}.leaflet-control-attribution a{color:var(--plum)!important}.map-unavailable{position:absolute;inset:0;display:grid;place-items:center;padding:35px;background:var(--paper-deep);color:var(--muted);font-size:.8rem;text-align:center;z-index:3}
@media (max-width:900px){#atelier-map{min-height:610px}}
@media (max-width:620px){#atelier-map{min-height:500px}.dafacem-map-pin{transform:scale(.9)}.dafacem-map-pin:hover,.leaflet-marker-icon:focus .dafacem-map-pin,.dafacem-map-pin.is-selected{transform:translateY(-2px) scale(.98)}.leaflet-control-attribution{max-width:75%;line-height:1.3}}

/* Directory search: a quiet porcelain tray with individually legible controls. */
.directory-head .search-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;padding:12px;background:var(--white);border:1px solid var(--line);box-shadow:0 14px 35px rgba(62,37,48,.08)}
.directory-head .search-form .field{min-width:0;padding:9px 14px 7px;background:var(--paper);border:1px solid transparent;border-radius:10px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.directory-head .search-form .field label{margin-bottom:2px;color:var(--plum);font-size:.62rem;letter-spacing:.12em}
.directory-head .search-form .field input,.directory-head .search-form .field select{height:36px;font-size:.9rem}
.directory-head .search-form .field:focus-within{background:var(--white);border-color:var(--rose);box-shadow:0 6px 18px rgba(62,37,48,.07)}
.directory-head .search-form .button{align-self:stretch;min-height:62px;height:auto;padding-inline:25px;white-space:nowrap}
@media (max-width:900px){.directory-head .search-form{grid-template-columns:1fr 1fr}.directory-head .search-form .button{grid-column:1/-1;min-height:52px;margin-top:2px}}
@media (max-width:620px){.directory-head .search-form{grid-template-columns:1fr;gap:8px;padding:9px}.directory-head .search-form .button{grid-column:auto}.directory-head .search-form .field{padding:8px 12px 6px}.directory-head .search-form .button{margin-top:0}}

/* Homepage search: one restrained editorial bar, without a stack of rounded cards. */
.home-search-panel{min-width:0}
.home-search-panel .search-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:stretch;min-width:0;padding:8px;background:var(--white);border:1px solid var(--line);box-shadow:0 18px 42px rgba(62,37,48,.09)}
.home-search-panel .search-form .field{min-width:0;padding:8px 16px 6px;background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;transition:background-color .2s ease}
.home-search-panel .search-form .field-search{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line)}
.home-search-panel .search-form .field:nth-of-type(3){border-right:0}
.home-search-panel .search-form .field label{margin-bottom:1px;color:var(--plum);font-size:.59rem;letter-spacing:.13em}
.home-search-panel .search-form .field input,.home-search-panel .search-form .field select{height:34px;font-size:.84rem}
.home-search-panel .search-form .field input:focus-visible,.home-search-panel .search-form .field select:focus-visible{outline:0}
.home-search-panel .search-form .field:focus-within{background:var(--paper)}
.home-search-panel .search-form .button{grid-column:1/-1;justify-self:stretch;width:auto;height:auto;min-height:52px;margin:8px 0 0;border:1px solid var(--plum);border-radius:6px;box-shadow:none;transition:background-color .2s ease,transform .2s ease}
.home-search-panel .search-form .button:hover{transform:translateY(-1px)}
.home-search-panel .search-note{margin-top:14px;padding-left:9px;font-size:.72rem}
@media (max-width:1100px){.home-search-inner{grid-template-columns:1fr;gap:42px}.home-search-copy{max-width:680px}.home-search-panel{max-width:760px;width:100%}}
@media (max-width:520px){.home-search-panel .search-form{grid-template-columns:1fr}.home-search-panel .search-form .field-search,.home-search-panel .search-form .button{grid-column:auto}.home-search-panel .search-form .field{border-right:0;border-bottom:1px solid var(--line)}.home-search-panel .search-form .field:nth-of-type(3){border-bottom:0}.home-search-panel .search-form .button{margin-top:8px}.home-search-panel .search-note{padding-left:0}}

/* Personal shortlist and comparison: local, quiet tools that stay secondary to the atelier. */
.saved-nav-link{display:inline-flex;align-items:center;gap:7px}.saved-nav-link span{display:grid;place-items:center;min-width:22px;height:22px;padding-inline:6px;border:1px solid var(--rose);border-radius:999px;color:var(--plum);font-size:.66rem;font-variant-numeric:tabular-nums}.button-outline{background:transparent;color:var(--plum);border:1px solid var(--rose)}.button-outline:hover{background:var(--plum);border-color:var(--plum);color:white}.profile-save-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.profile-save-actions .button{min-height:44px}.shop-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:24px -24px -26px;border-top:1px solid var(--line)}.quiet-action{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:var(--muted);font:650 .72rem var(--sans);cursor:pointer}.quiet-action+ .quiet-action{border-left:1px solid var(--line)}.quiet-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}.quiet-action:hover,.quiet-action[aria-pressed="true"]{background:var(--paper);color:var(--plum)}.quiet-action[aria-pressed="true"] svg{fill:var(--rose-soft)}.quiet-action:disabled{cursor:not-allowed;opacity:.46}.compare-tray{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:22px;min-width:350px;padding:12px 12px 12px 20px;background:var(--ink);color:white;box-shadow:0 18px 45px rgba(41,29,37,.28)}.compare-tray[hidden]{display:none}.compare-tray>span{font-size:.78rem}.compare-tray strong{font-size:1rem;color:var(--rose-soft);font-variant-numeric:tabular-nums}.compare-tray .button{min-height:42px;background:var(--rose-soft);color:var(--ink)}
.saved-head,.compare-head{padding-top:55px}.saved-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;padding-bottom:66px;border-bottom:1px solid var(--line)}.saved-heading h1,.compare-head h1{max-width:13ch;font-size:clamp(3rem,6vw,5.2rem);margin-bottom:24px}.saved-heading>div>p,.compare-head>p{max-width:58ch;color:var(--muted);margin:0}.saved-count{text-align:right;margin:0;white-space:nowrap;color:var(--muted)}.saved-count strong{display:block;color:var(--plum);font:500 3.4rem/1 var(--serif);font-variant-numeric:tabular-nums}.saved-results{padding-top:72px}.saved-results .shop-grid>div{display:flex}.saved-results .shop-card{width:100%}.saved-empty,.compare-empty{max-width:650px;margin-inline:auto;padding:55px 20px;text-align:center}.saved-empty h2,.compare-empty h2{font-size:clamp(2.4rem,5vw,3.5rem);margin-bottom:18px}.saved-empty p,.compare-empty p{color:var(--muted);margin:0 auto 26px;max-width:48ch}.compare-head{padding-bottom:60px;border-bottom:1px solid var(--line)}.compare-section{padding-top:70px}.comparison-scroll{overflow-x:auto;border:1px solid var(--line);background:var(--white);box-shadow:0 12px 32px rgba(62,37,48,.07)}.comparison-table{width:100%;min-width:860px;border-collapse:collapse;table-layout:fixed}.comparison-table th,.comparison-table td{padding:22px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:.82rem}.comparison-table tr:last-child th,.comparison-table tr:last-child td{border-bottom:0}.comparison-table th:last-child,.comparison-table td:last-child{border-right:0}.comparison-table thead th{background:var(--paper-deep);color:var(--plum)}.comparison-table thead th:first-child,.comparison-table tbody th{width:165px}.comparison-table thead span{display:block;font:500 1.55rem/1.05 var(--serif);color:var(--ink)}.comparison-table thead small{display:block;margin-top:8px;color:var(--muted);font-size:.65rem}.comparison-table tbody th{background:var(--paper);color:var(--plum);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase}.comparison-table ul{margin:0;padding-left:17px}.comparison-table a{font-weight:650}

/* Admin: operational clarity with the same restrained Da, facem! palette. */
.admin-body{background:#f3eee8}.admin-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.admin-header{position:sticky;z-index:30;top:0;height:88px;background:var(--white);border-bottom:1px solid var(--line)}.admin-header .admin-shell{height:100%;display:flex;align-items:center;gap:42px}.admin-header .brand{flex:none}.admin-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;width:100%;font-size:.78rem;font-weight:680}.admin-nav a{text-decoration:none}.admin-nav-link,.admin-nav-group>summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 14px;border-radius:12px;cursor:pointer;transition:background-color .2s ease,color .2s ease}.admin-nav-link:hover,.admin-nav-group>summary:hover{background:var(--paper)}.admin-nav-link[aria-current="page"],.admin-nav-group.is-current>summary{background:var(--rose-soft);color:var(--plum)}.admin-nav-group{position:relative}.admin-nav-group>summary{list-style:none}.admin-nav-group>summary::-webkit-details-marker{display:none}.admin-nav-group>summary svg{width:10px;height:6px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .2s ease}.admin-nav-group[open]>summary svg{transform:rotate(180deg)}.admin-nav-menu{position:absolute;z-index:40;top:calc(100% + 10px);left:0;width:294px;padding:8px;background:var(--white);box-shadow:0 20px 52px rgba(64,32,54,.17)}.admin-nav-group-system .admin-nav-menu,.admin-account-menu .admin-nav-menu{right:0;left:auto}.admin-nav-menu>a{display:block;padding:12px 13px;border-bottom:1px solid var(--line);border-radius:8px;transition:background-color .2s ease}.admin-nav-menu>a:last-of-type{border-bottom:0}.admin-nav-menu>a:hover,.admin-nav-menu>a[aria-current="page"]{background:var(--paper)}.admin-nav-menu strong,.admin-nav-menu span{display:block}.admin-nav-menu strong{font-size:.76rem}.admin-nav-menu span{margin-top:3px;color:var(--muted);font-size:.65rem;font-weight:500;line-height:1.42}.admin-account-menu>summary{min-width:48px;padding-inline:11px;border:1px solid var(--line)}.admin-account-icon{width:19px!important;height:19px!important}.admin-account-menu>summary .admin-account-icon{transform:none}.admin-account-menu[open]>summary .admin-account-icon{transform:none}.admin-account-panel{width:308px}.admin-account-panel p{margin:0 0 6px;padding:10px 13px 13px;border-bottom:1px solid var(--line)}.admin-account-panel p span{margin:0 0 4px}.admin-account-panel p strong{overflow-wrap:anywhere}.admin-account-panel form{margin:6px 0 0}.admin-sign-out{width:100%;min-height:42px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:#7e3c48;text-align:left;font:700 .76rem var(--sans);cursor:pointer}.admin-sign-out:hover{background:#fff1f3}.admin-nav :focus-visible{outline:2px solid var(--focus-rose);outline-offset:2px}.admin-main{padding-block:58px 100px}.admin-notice{width:min(1180px,calc(100% - 48px));margin:24px auto 0;padding:13px 18px;border:1px solid #b8c4b4;background:var(--white);font-size:.8rem}.admin-page-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.admin-page-head h1{max-width:18ch;margin:7px 0 10px;font-size:clamp(2.7rem,5vw,4.2rem)}.admin-page-head p{color:var(--muted);margin:0}.admin-back{color:var(--plum);font-size:.74rem;font-weight:700}.admin-search{max-width:680px;margin-bottom:28px}.admin-search label{display:block;margin-bottom:8px;color:var(--plum);font-size:.68rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.admin-search>div{display:grid;grid-template-columns:1fr auto}.admin-search input{min-width:0;height:50px;padding:0 15px;border:1px solid var(--line);border-right:0;background:var(--white);color:var(--ink);font:500 .85rem var(--sans)}.admin-search .button{border-radius:0}.admin-summary{margin-bottom:12px;color:var(--muted);font-size:.76rem}.admin-summary strong{color:var(--plum);font-size:1rem}.admin-table-scroll{overflow-x:auto;border:1px solid var(--line);background:var(--white)}.admin-table{width:100%;min-width:760px;border-collapse:collapse}.admin-table th,.admin-table td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:.78rem}.admin-table th{background:var(--paper-deep);color:var(--plum);font-size:.64rem;letter-spacing:.09em;text-transform:uppercase}.admin-table tr:last-child td{border-bottom:0}.admin-table td small{display:block;margin-top:3px;color:var(--muted);font-size:.66rem}.admin-status{display:inline-block;padding:3px 8px;border:1px solid var(--line);border-radius:999px;font-size:.62rem;font-weight:700}.admin-status-live{border-color:#a8baa3;color:#41553d;background:#f0f4ee}.admin-status-draft{color:var(--muted);background:var(--paper)}.admin-form{display:grid;gap:24px}.admin-form-section{padding:30px;background:var(--white);border:1px solid var(--line)}.admin-form-section h2{font:700 1rem/1.3 var(--sans);margin-bottom:24px}.admin-section-note{color:var(--muted);font-size:.76rem;margin:-14px 0 24px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-field{min-width:0}.admin-field-wide{grid-column:1/-1}.admin-field label{display:block;margin-bottom:7px;color:var(--plum);font-size:.65rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.admin-field input,.admin-field select,.admin-field textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:500 .82rem/1.5 var(--sans)}.admin-field textarea{resize:vertical}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{outline:2px solid var(--rose);outline-offset:1px;border-color:var(--rose)}.admin-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.admin-category-grid label{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 11px;border:1px solid var(--line);font-size:.73rem;cursor:pointer}.admin-category-grid input,.admin-publish input,.admin-remove input{accent-color:var(--plum)}.admin-publish{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;padding:18px;background:var(--paper);cursor:pointer}.admin-publish strong,.admin-publish small{display:block}.admin-publish small{color:var(--muted);margin-top:2px;font-size:.68rem}.admin-images{display:grid;gap:14px}.admin-images fieldset{padding:22px;border:1px solid var(--line)}.admin-images legend{padding:0 8px;color:var(--plum);font-size:.7rem;font-weight:750}.admin-remove{display:flex;align-items:center;gap:8px;color:#7e3c48;font-size:.72rem}.admin-form-actions{display:flex;gap:10px;justify-content:flex-end}.admin-errors{padding:22px 26px;border:1px solid #d7aeb7;background:#fff4f5}.admin-errors h2{font:700 1rem var(--sans);margin-bottom:8px}.admin-errors ul{margin:0;padding-left:20px;font-size:.78rem}
.admin-directory-table td:first-child{min-width:220px}.admin-directory-table td:last-child{width:1%;white-space:nowrap}.admin-empty-row{padding-block:34px!important;color:var(--muted);text-align:center!important}.admin-locality-picker{display:grid;gap:7px}.admin-locality-picker label{margin:0}.admin-locality-picker small{color:var(--muted);font-size:.65rem;line-height:1.45}.admin-form-technical{padding:0 30px;border:1px solid var(--line);background:var(--white)}.admin-form-technical>summary{padding:22px 0;color:var(--plum);font-size:.76rem;font-weight:750;cursor:pointer}.admin-form-technical>p{margin:-8px 0 22px;color:var(--muted);font-size:.72rem}.admin-form-technical>.admin-form-grid{padding-bottom:30px}.admin-form-technical[open]>summary{margin-bottom:0}.admin-form-technical :focus-visible{outline:2px solid var(--focus-rose);outline-offset:2px}
@media (max-width:900px){.compare-tray{right:18px;bottom:18px}.admin-category-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.admin-header{height:80px}.admin-header .admin-shell{gap:18px}.admin-nav{gap:0}.admin-nav-link,.admin-nav-group>summary{padding-inline:9px}.admin-account-menu>summary span{display:none}}
@media (max-width:620px){.saved-heading,.admin-page-head{display:block}.saved-count{margin-top:28px;text-align:left}.compare-tray{left:15px;right:15px;bottom:15px;min-width:0;justify-content:space-between}.compare-tray>span{max-width:120px}.profile-save-actions{display:grid}.saved-head,.compare-head{padding-top:32px}.saved-heading{padding-bottom:45px}.admin-shell{width:calc(100% - 30px)}.admin-header{height:auto;padding:12px 0}.admin-header .admin-shell{display:block}.admin-header .brand{width:max-content;margin-bottom:10px}.admin-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}.admin-nav-link,.admin-nav-group>summary{min-height:40px;padding:0 4px;font-size:.62rem}.admin-account-menu>summary{min-width:0}.admin-account-menu>summary .admin-chevron{display:none}.admin-nav-menu{position:fixed;top:124px;right:15px!important;left:15px!important;width:auto;transform:none}.admin-main{padding-top:38px}.admin-page-head .button{margin-top:20px}.admin-search>div{grid-template-columns:1fr}.admin-search input{border-right:1px solid var(--line);border-bottom:0}.admin-form-section{padding:22px 18px}.admin-form-grid,.admin-category-grid{grid-template-columns:1fr}.admin-field-wide{grid-column:auto}.admin-form-actions{display:grid}.comparison-table th,.comparison-table td{padding:18px 15px}}

/* Admin analytics: daily operational facts, without inferred online presence or projected revenue. */
.admin-analytics-head{align-items:center}.admin-analytics-head h1{max-width:none}.admin-period-picker{display:flex;gap:5px;padding:5px;background:var(--white);border:1px solid var(--line);border-radius:14px}.admin-period-picker a{display:grid;place-items:center;min-height:38px;padding:0 13px;border-radius:9px;text-decoration:none;font-size:.7rem;font-weight:700}.admin-period-picker a:hover{background:var(--paper)}.admin-period-picker a[aria-current="page"]{background:var(--plum);color:var(--white)}
.admin-analytics-overview{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);margin-bottom:22px;background:var(--white);box-shadow:0 18px 48px rgba(64,32,54,.1)}.admin-analytics-today{padding:38px 42px;background:var(--plum);color:var(--white)}.admin-analytics-today h2{margin:0 0 30px;font:600 .8rem var(--sans)}.admin-analytics-today>strong{display:block;font:500 5rem/.82 var(--serif);font-variant-numeric:tabular-nums}.admin-analytics-today p{margin:15px 0 30px;font-weight:700}.admin-analytics-today small{display:block;max-width:36ch;color:#e5d8df;font-size:.66rem;line-height:1.55}.admin-analytics-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.admin-analytics-totals>div{padding:24px 28px;border-bottom:1px solid var(--line)}.admin-analytics-totals>div:nth-child(odd){border-right:1px solid var(--line)}.admin-analytics-totals>div:nth-last-child(-n+2){border-bottom:0}.admin-analytics-totals dt{color:var(--muted);font-size:.67rem;font-weight:650}.admin-analytics-totals dd{margin:8px 0 0;color:var(--plum);font:500 2rem/1 var(--serif);font-variant-numeric:tabular-nums}.admin-analytics-totals small{display:block;margin-top:6px;color:var(--muted);font-size:.62rem}.admin-analytics-ratios{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:58px;border-block:1px solid var(--rose)}.admin-analytics-ratios article{padding:19px 22px;border-right:1px solid var(--line)}.admin-analytics-ratios article:last-child{border-right:0}.admin-analytics-ratios span,.admin-analytics-ratios small{display:block;color:var(--muted);font-size:.61rem}.admin-analytics-ratios strong{display:block;margin:7px 0 4px;color:var(--plum);font:500 1.9rem/1 var(--serif);font-variant-numeric:tabular-nums}
.admin-analytics-charts{margin-bottom:64px}.admin-analytics-section-head{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:22px;padding-bottom:19px;border-bottom:1px solid var(--rose)}.admin-analytics-section-head h2{margin:0 0 6px;font-size:2.25rem}.admin-analytics-section-head p{max-width:58ch;margin:0;color:var(--muted);font-size:.72rem;line-height:1.55}.admin-analytics-section-head>p{max-width:35ch;text-align:right}.admin-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.admin-chart{min-width:0;margin:0;padding:24px;background:var(--white);box-shadow:0 14px 38px rgba(64,32,54,.08)}.admin-chart-wide{grid-column:1/-1;padding:30px 32px}.admin-chart figcaption{display:flex;align-items:start;justify-content:space-between;gap:24px}.admin-chart h3{margin:0;color:var(--ink);font:500 1.65rem/1 var(--serif)}.admin-chart figcaption p{margin:7px 0 0;color:var(--muted);font-size:.66rem;line-height:1.45}.admin-chart figcaption>strong{flex:0 0 auto;color:var(--plum);font:500 1.75rem/1 var(--serif);font-variant-numeric:tabular-nums}.admin-chart-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:16px;color:var(--muted);font-size:.61rem;font-weight:700}.admin-chart-wide .admin-chart-legend{justify-content:flex-end;margin-top:0}.admin-chart-legend span{display:inline-flex;align-items:center;gap:7px}.admin-chart-legend span::before{width:18px;height:3px;background:currentColor;content:""}.admin-chart-legend .is-couples{color:var(--plum)}.admin-chart-legend .is-suppliers{color:#bd7c94}.admin-chart-plot{position:relative;margin-top:20px}.admin-chart-svg{display:block;width:100%;height:210px;overflow:visible}.admin-chart-wide .admin-chart-svg{height:240px}.admin-chart-gridline{stroke:#eadde2;stroke-width:1;vector-effect:non-scaling-stroke}.admin-chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:admin-chart-draw .9s cubic-bezier(.16,1,.3,1) both}.admin-chart-line.is-couples{stroke:var(--plum)}.admin-chart-line.is-suppliers{stroke:#bd7c94}.admin-chart-dot{stroke:var(--white);stroke-width:2;vector-effect:non-scaling-stroke}.admin-chart-dot.is-couples{fill:var(--plum)}.admin-chart-dot.is-suppliers{fill:#bd7c94}.admin-chart-bar{transform-box:fill-box;transform-origin:center bottom;animation:admin-chart-rise .72s cubic-bezier(.16,1,.3,1) both}.admin-chart-bar.is-couples{fill:var(--plum)}.admin-chart-bar.is-suppliers{fill:#bd7c94}.admin-chart-bar.is-requests{fill:#c78485}.admin-chart-bar.is-revenue{fill:#765365}.admin-chart-axis{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:var(--muted);font-size:.55rem;font-variant-numeric:tabular-nums}.admin-chart-axis span{white-space:nowrap}.admin-chart-empty{position:absolute;inset:50% 18px auto;z-index:1;margin:0;transform:translateY(-50%);color:var(--muted);font-size:.66rem;text-align:center}.admin-chart-empty::before{display:block;width:34px;height:1px;margin:0 auto 10px;background:var(--rose);content:""}@keyframes admin-chart-draw{from{stroke-dasharray:1600;stroke-dashoffset:1600}to{stroke-dasharray:1600;stroke-dashoffset:0}}@keyframes admin-chart-rise{from{transform:scaleY(.01)}to{transform:scaleY(1)}}
.admin-day-focus{margin-bottom:64px;padding:34px 38px;background:#fffaf7;box-shadow:0 16px 42px rgba(64,32,54,.07)}.admin-day-focus-head{display:flex;align-items:end;justify-content:space-between;gap:48px;padding-bottom:26px;border-bottom:1px solid var(--rose)}.admin-day-focus-head span{color:var(--plum);font-size:.62rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.admin-day-focus-head h2{margin:4px 0;font-size:2.35rem}.admin-day-focus-head p{margin:0;color:var(--muted);font-size:.7rem}.admin-day-picker{min-width:310px}.admin-day-picker label{display:block;margin-bottom:7px;color:var(--muted);font-size:.61rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.admin-day-picker>div{display:flex}.admin-day-picker input[type="date"]{min-width:0;flex:1;border:1px solid var(--line);border-right:0;background:var(--white)}.admin-day-picker input[type="submit"]{border:1px solid var(--plum);background:var(--plum);color:var(--white);font-weight:700}.admin-day-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.admin-day-metrics>div{min-height:122px;padding:24px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.admin-day-metrics>div:nth-child(4n){border-right:0}.admin-day-metrics>div:nth-last-child(-n+3){border-bottom:0}.admin-day-metrics>div.is-featured{grid-row:span 2;min-height:244px;background:var(--plum);color:var(--white)}.admin-day-metrics dt{color:var(--muted);font-size:.64rem;font-weight:650}.admin-day-metrics dd{margin:12px 0 0;color:var(--plum);font:500 2.05rem/1 var(--serif);font-variant-numeric:tabular-nums}.admin-day-metrics small{display:block;margin-top:8px;color:var(--muted);font-size:.58rem}.admin-day-metrics .is-featured dt,.admin-day-metrics .is-featured small{color:#eadde4}.admin-day-metrics .is-featured dd{margin-top:34px;color:var(--white);font-size:4.6rem}.admin-analytics-note{max-width:94ch;margin:24px 0 0;color:var(--muted);font-size:.67rem;line-height:1.6}.admin-analytics-note code{color:var(--plum);font:700 .65rem var(--sans)}
@media(max-width:900px){.admin-analytics-overview{grid-template-columns:1fr}.admin-analytics-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-analytics-ratios{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-analytics-ratios article:nth-child(2){border-right:0}.admin-analytics-ratios article:nth-child(-n+2){border-bottom:1px solid var(--line)}.admin-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-chart-wide{grid-column:1/-1}.admin-chart:last-child{grid-column:1/-1}.admin-day-focus-head{align-items:start;flex-direction:column;gap:24px}.admin-day-picker{width:100%;min-width:0}.admin-day-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-day-metrics>div:nth-child(4n){border-right:1px solid var(--line)}.admin-day-metrics>div:nth-child(3n){border-right:0}.admin-day-metrics>div:nth-last-child(-n+3){border-bottom:0}}
@media(max-width:620px){.admin-analytics-head .admin-period-picker{display:flex;margin-top:24px}.admin-period-picker a{flex:1;padding-inline:8px}.admin-analytics-overview{margin-bottom:20px}.admin-analytics-today{padding:30px 25px}.admin-analytics-today>strong{font-size:4.2rem}.admin-analytics-totals{display:block}.admin-analytics-totals>div,.admin-analytics-totals>div:nth-child(odd),.admin-analytics-totals>div:nth-last-child(-n+2){padding:20px 22px;border-right:0;border-bottom:1px solid var(--line)}.admin-analytics-totals>div:last-child{border-bottom:0}.admin-analytics-ratios{display:block;margin-bottom:44px}.admin-analytics-ratios article,.admin-analytics-ratios article:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.admin-analytics-ratios article:last-child{border-bottom:0}.admin-analytics-section-head{display:block}.admin-analytics-section-head>p{margin-top:12px;text-align:left}.admin-chart-grid{display:block}.admin-chart{margin-bottom:14px;padding:22px 18px}.admin-chart-wide{padding:24px 18px}.admin-chart-wide figcaption{display:block}.admin-chart-wide .admin-chart-legend{justify-content:flex-start;margin-top:16px}.admin-chart-svg,.admin-chart-wide .admin-chart-svg{height:190px}.admin-chart-axis{font-size:.5rem}.admin-day-focus{padding:26px 18px}.admin-day-focus-head h2{font-size:2rem}.admin-day-picker>div{display:block}.admin-day-picker input[type="date"],.admin-day-picker input[type="submit"]{width:100%;border:1px solid var(--line)}.admin-day-picker input[type="submit"]{margin-top:8px;border-color:var(--plum)}.admin-day-metrics{display:block}.admin-day-metrics>div,.admin-day-metrics>div:nth-child(3n),.admin-day-metrics>div:nth-child(4n),.admin-day-metrics>div:nth-last-child(-n+3){min-height:0;border-right:0;border-bottom:1px solid var(--line)}.admin-day-metrics>div:last-child{border-bottom:0}.admin-day-metrics>div.is-featured{min-height:190px}.admin-day-metrics .is-featured dd{font-size:4rem}}
.admin-day-picker input[type="date"]{min-height:44px;padding:10px 12px}.admin-day-picker input[type="submit"]{min-height:44px;padding:10px 18px}
.admin-day-accounts{margin-top:24px;border-block:1px solid var(--rose)}.admin-day-accounts>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding:16px 4px;cursor:pointer;list-style:none}.admin-day-accounts>summary::-webkit-details-marker{display:none}.admin-day-accounts>summary:focus-visible{outline:2px solid var(--plum);outline-offset:4px}.admin-day-accounts>summary>span:first-child{display:grid;gap:4px}.admin-day-accounts>summary strong{font-size:.78rem}.admin-day-accounts>summary small{color:var(--muted);font-size:.62rem;line-height:1.45}.admin-day-accounts-count{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 13px;border:1px solid var(--rose);border-radius:999px;color:var(--plum);font-size:.64rem;font-weight:750;white-space:nowrap}.admin-day-accounts-count::after{width:7px;height:7px;margin-left:10px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease;content:""}.admin-day-accounts[open] .admin-day-accounts-count::after{transform:translateY(2px) rotate(225deg)}.admin-day-account-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.admin-day-account-groups>section{min-width:0;padding:26px 28px 30px}.admin-day-account-groups>section+section{border-left:1px solid var(--line)}.admin-day-account-groups header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.admin-day-account-groups h3{margin:0;font:500 1.55rem/1 var(--serif)}.admin-day-account-groups header>span{color:var(--muted);font-size:.65rem;font-variant-numeric:tabular-nums}.admin-day-account-groups ul{max-height:320px;margin:0;padding:0;overflow:auto;list-style:none;scrollbar-color:var(--rose) transparent;scrollbar-width:thin}.admin-day-account-groups li{display:grid;gap:3px;padding:13px 0;border-bottom:1px solid var(--line)}.admin-day-account-groups li:last-child{border-bottom:0}.admin-day-account-groups li strong{overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.admin-day-account-groups li span{overflow-wrap:anywhere;color:var(--muted);font-size:.65rem}.admin-day-account-groups section>p,.admin-day-accounts-empty{margin:0;color:var(--muted);font-size:.67rem;line-height:1.55}.admin-day-accounts-empty{padding:24px 4px;border-top:1px solid var(--line)}
@media(max-width:620px){.admin-day-accounts>summary{align-items:flex-start;flex-direction:column;gap:12px;padding-block:18px}.admin-day-account-groups{display:block}.admin-day-account-groups>section{padding:22px 4px}.admin-day-account-groups>section+section{border-top:1px solid var(--line);border-left:0}.admin-day-account-groups ul{max-height:260px}}
@media(prefers-reduced-motion:reduce){.admin-chart-line,.admin-chart-bar{animation:none}}

/* The grid wrapper uses flex for equal card heights; hidden saved records must still leave layout. */
.saved-results .shop-grid>div[hidden]{display:none}
.saved-heading .saved-group-jump{display:inline-block;margin-top:19px;color:var(--plum);font-size:.76rem;font-weight:750;text-underline-offset:5px}.saved-heading .saved-group-jump span{margin-left:7px}
.saved-results{padding-bottom:36px}
.saved-group-requests{margin-block:0 90px;padding:38px 42px 45px;border-top:1px solid var(--rose);background:var(--white);box-shadow:0 18px 40px rgba(62,37,48,.06);scroll-margin-top:115px}
.saved-group-intro{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:26px}
.saved-group-intro h2,.saved-group-history h3{margin:0 0 10px;font:500 2.5rem/1.05 var(--serif);color:var(--ink)}
.saved-group-intro p,.saved-group-empty p,.saved-group-history>p{max-width:68ch;margin:0;color:var(--muted);line-height:1.65}
.saved-group-intro svg{width:56px;fill:none;stroke:var(--rose);stroke-width:1.3;stroke-linejoin:round}
.saved-group-feedback{margin:0 0 22px;padding:13px 17px;background:#f0f6ef;color:#344a37;font-size:.78rem;line-height:1.55}
.saved-group-feedback.is-error{background:#fbebef;color:#762c42}
.saved-group-form fieldset{min-width:0;margin:0 0 24px;padding:0;border:0}
.saved-group-form legend{margin-bottom:12px;color:var(--plum);font-size:.75rem;font-weight:800;letter-spacing:.05em}
.saved-group-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.saved-group-options label{display:flex;gap:12px;align-items:center;min-height:62px;padding:12px 15px;border:1px solid var(--line);cursor:pointer;transition:border-color .18s ease,background-color .18s ease}
.saved-group-options label:has(input:checked){border-color:var(--rose);background:#fbf1f3}
.saved-group-options input,.saved-group-consent input{width:18px;height:18px;flex:none;accent-color:var(--plum)}
.saved-group-options strong,.saved-group-options small{display:block;overflow-wrap:anywhere}.saved-group-options strong{font-size:.84rem}.saved-group-options small{margin-top:3px;color:var(--muted);font-size:.7rem}
.saved-group-form textarea{width:100%;max-width:720px;min-height:120px;padding:14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;resize:vertical}
.saved-group-form .inquiry-field small{display:block;margin-top:6px;color:var(--muted)}
.saved-group-consent{display:flex;align-items:flex-start;gap:12px;max-width:80ch;margin:20px 0 23px;color:var(--muted);font-size:.78rem;line-height:1.6}
.saved-group-form :focus-visible{outline:3px solid var(--focus-rose);outline-offset:3px}
.saved-group-empty{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:20px 0;border-top:1px solid var(--line)}
.saved-group-history{margin-top:42px;padding-top:31px;border-top:1px solid var(--line)}
.saved-group-history article{margin-top:18px;padding:19px 0;border-top:1px solid var(--line)}
.saved-group-date{margin:0 0 8px;color:var(--plum);font-size:.7rem;font-weight:800}
.saved-group-message{max-width:75ch;margin:0 0 17px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.saved-group-history ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.saved-group-history li{padding:15px;background:var(--paper)}
.saved-group-history li strong,.saved-group-history li span{display:block;overflow-wrap:anywhere}.saved-group-history li span{margin-top:3px;color:var(--plum);font-size:.72rem}.saved-group-history li p{margin:12px 0 0;font-size:.78rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.saved-group-proposal{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.saved-group-proposal small{display:block;color:var(--plum);font-size:.7rem;font-weight:700}.saved-group-proposal strong{margin-top:5px;font:500 1.8rem/1.1 var(--serif)}.saved-group-proposal p{margin-top:7px!important}.saved-group-proposal time{display:block;margin-top:11px;color:var(--muted);font-size:.72rem}.saved-group-disclaimer{margin-top:18px!important;font-size:.78rem}
.saved-group-budget-link{display:inline-block;margin-top:15px;color:var(--plum);font-size:.76rem;font-weight:750;text-underline-offset:5px}.saved-group-budget-link:focus-visible{outline:3px solid var(--focus-rose);outline-offset:3px}
.budget-proposal-handoff,.budget-proposal-unavailable{margin:0 0 22px;padding:17px 20px;background:var(--paper);border-top:1px solid var(--rose);line-height:1.6}.budget-proposal-handoff strong{font:500 1.4rem/1.15 var(--serif);color:var(--plum)}.budget-proposal-handoff p{margin:7px 0 0;font-size:.78rem}.budget-proposal-unavailable{font-size:.8rem}
.supplier-message-kind{margin-top:7px;color:#f1d6e2!important;font-weight:700}.supplier-message form>label,.supplier-proposal-fields label{display:block;margin:14px 0 6px;font-size:.72rem;font-weight:750}.supplier-proposal-fields{min-width:0;margin-top:22px;padding:16px;border:1px solid #a68193}.supplier-proposal-fields legend{padding:0 6px;color:white;font:500 1.25rem/1 var(--serif)}.supplier-proposal-fields legend small{font:400 .7rem/1.5 var(--sans)}.supplier-proposal-fields p{font-size:.75rem;line-height:1.5}.supplier-proposal-fields input,.supplier-proposal-fields textarea{width:100%;min-width:0;padding:10px;border:0;background:#fffdf9;color:var(--ink);font:inherit}.supplier-message :focus-visible{outline:3px solid var(--focus-rose);outline-offset:3px}
.supplier-inbox:has(.supplier-proposal-fields){position:static}
@media(max-width:820px){.saved-group-options,.saved-group-history ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.saved-group-requests{padding:27px 20px;margin-bottom:60px}.saved-group-intro h2{font-size:2rem}.saved-group-intro svg{display:none}.saved-group-options,.saved-group-history ul{grid-template-columns:1fr}.saved-group-empty{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.saved-group-options label{transition:none}}

/* One shortlist spans every directory; guest choices stay local and signed-in choices join the couple folio. */
.directory-save-button{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:22px;padding:14px 0 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--muted);font:700 .72rem var(--sans);cursor:pointer}.directory-save-button svg,.jewelry-profile-save svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.directory-save-button:hover,.directory-save-button[aria-pressed="true"]{color:var(--plum)}.directory-save-button[aria-pressed="true"] svg,.jewelry-profile-save[aria-pressed="true"] svg{fill:var(--rose-soft)}.jewelry-profile-save{display:flex;align-items:center;gap:9px;width:max-content;min-height:46px;margin-top:25px;border:1px solid rgba(255,255,255,.62);background:transparent;color:white}.jewelry-profile-save:hover{background:white;color:var(--plum)}
.saved-sync-status{margin:0 0 28px;padding:14px 18px;background:var(--rose-soft);color:var(--plum);font-size:.72rem}.saved-supplier-ledger{margin:0;padding:0;border-top:1px solid var(--rose);list-style:none}.saved-supplier-ledger>li{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:28px;align-items:center;min-height:128px;padding:26px 0;border-bottom:1px solid var(--line)}.saved-supplier-ledger>li>span{align-self:start;padding-top:8px;color:var(--rose);font:500 1rem var(--serif)}.saved-supplier-ledger p{margin:0 0 7px;color:var(--plum);font-size:.65rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.saved-supplier-ledger h2{margin:0;font-size:2.25rem}.saved-supplier-ledger h2 a{text-decoration:none}.saved-supplier-remove{min-width:72px;min-height:44px;padding:0;border:0;border-bottom:1px solid var(--rose);background:transparent;color:var(--muted);font:650 .7rem var(--sans);cursor:pointer}.saved-supplier-remove:hover{color:var(--plum)}.saved-empty>div{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.couple-saved-suppliers{padding:62px 48px 15px}.couple-saved-suppliers>header{display:flex;align-items:end;justify-content:space-between;gap:35px;padding-bottom:24px;border-bottom:1px solid var(--rose)}.couple-saved-suppliers>header p{margin:0 0 8px;color:var(--plum);font-size:.63rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.couple-saved-suppliers>header h2{margin:0;font-size:clamp(2.5rem,4vw,3.6rem)}.couple-saved-suppliers>ol{margin:0;padding:0;list-style:none}.couple-saved-suppliers>ol li{display:grid;grid-template-columns:45px minmax(0,1fr) 44px;gap:20px;align-items:center;min-height:104px;border-bottom:1px solid var(--line)}.couple-saved-suppliers>ol li>span{color:var(--rose);font:500 .9rem var(--serif)}.couple-saved-suppliers>ol p{margin:0 0 4px;color:var(--plum);font-size:.61rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.couple-saved-suppliers h3{margin:0;font-size:1.8rem}.couple-saved-suppliers h3 a{text-decoration:none}.couple-saved-empty{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 0;border-bottom:1px solid var(--line)}.couple-saved-empty p{max-width:56ch;margin:0;color:var(--muted)}
@media(max-width:620px){.jewelry-profile-save{width:100%;justify-content:center}.saved-supplier-ledger>li{grid-template-columns:32px minmax(0,1fr);gap:13px;min-height:116px}.saved-supplier-ledger h2{font-size:1.75rem}.saved-supplier-remove{grid-column:2;justify-self:start}.couple-saved-suppliers{padding:48px 10px 0}.couple-saved-suppliers>header{display:block}.couple-saved-suppliers>header .text-link{display:inline-block;margin-top:18px}.couple-saved-suppliers>ol li{grid-template-columns:30px minmax(0,1fr) 36px;gap:10px}.couple-saved-suppliers h3{font-size:1.55rem}.couple-saved-empty{align-items:stretch;flex-direction:column}.couple-saved-empty .button{width:100%}}
[data-favorite-toggle].button svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6}
.planner-sync-status{grid-column:1/-1;margin:18px 0 0;padding:12px 14px;background:var(--paper-deep);color:var(--plum);font-size:.68rem;line-height:1.5}.planner-sync-status.is-error{background:var(--rose-soft)}.planner-sync-status[hidden]{display:none}.couple-tool-progress{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(220px,1fr) auto;gap:38px;align-items:center;margin:50px 48px 0;padding:30px 0;border-top:1px solid var(--rose);border-bottom:1px solid var(--line)}.couple-tool-progress+.couple-tool-progress{margin-top:0;border-top:0}.couple-tool-progress h2{margin:0 0 7px;font-size:2.4rem}.couple-tool-progress p{margin:0;color:var(--muted);font-size:.72rem}.couple-tool-progress p strong{color:var(--plum);font:500 1.25rem var(--serif)}.couple-tool-progress progress{display:block;width:100%;height:8px;border:0;border-radius:0;background:var(--paper-deep);accent-color:var(--plum)}.couple-tool-progress progress::-webkit-progress-bar{background:var(--paper-deep)}.couple-tool-progress progress::-webkit-progress-value{background:var(--plum)}.couple-tool-progress progress::-moz-progress-bar{background:var(--plum)}
@media(max-width:900px){.couple-tool-progress{grid-template-columns:1fr auto}.couple-tool-progress progress{grid-column:1/-1;grid-row:2}}
@media(max-width:620px){.couple-tool-progress{grid-template-columns:1fr;margin:42px 10px 0;gap:20px}.couple-tool-progress+.couple-tool-progress{margin-top:0}.couple-tool-progress progress{grid-column:auto;grid-row:auto}.couple-tool-progress .button{width:100%}}

/* Wedding planner: a working appointment book, with progress kept in the current browser. */
.planner-head{padding:54px 0 76px;background:var(--plum);color:white}.planner-head .breadcrumbs{color:#e5dadd}.planner-head .breadcrumbs a{color:white}.planner-intro{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:90px;align-items:end}.planner-intro h1{max-width:12ch;margin:0 0 26px;font-size:clamp(3.4rem,6vw,5.5rem)}.planner-intro>div>p{max-width:57ch;margin:0;color:#e5dadd}.planner-date{padding:22px 0;border-top:1px solid #806078;border-bottom:1px solid #806078}.planner-date label{display:block;margin-bottom:8px;font-size:.66rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.planner-date input{width:100%;height:44px;padding:0 10px;border:1px solid #97758c;border-radius:0;background:transparent;color:white;color-scheme:dark;font:600 .88rem var(--sans)}.planner-date input:focus{outline:3px solid var(--rose-soft);outline-offset:3px}.planner-date p{margin:10px 0 0;color:#e5dadd;font-size:.74rem}.planner-page{display:grid;grid-template-columns:280px minmax(0,1fr);gap:82px;padding-block:90px 120px}.planner-summary{position:sticky;top:30px;align-self:start;padding:27px 0;border-top:1px solid var(--rose);border-bottom:1px solid var(--line)}.planner-progress-copy{margin:0 0 15px;color:var(--muted);font-size:.78rem}.planner-progress-copy strong{color:var(--plum);font:500 2.25rem/1 var(--serif);font-variant-numeric:tabular-nums}.planner-summary progress{display:block;width:100%;height:8px;border:0;border-radius:0;background:var(--paper-deep);accent-color:var(--plum)}.planner-summary progress::-webkit-progress-bar{background:var(--paper-deep)}.planner-summary progress::-webkit-progress-value{background:var(--plum)}.planner-summary progress::-moz-progress-bar{background:var(--plum)}.planner-percentage{margin:9px 0 25px;color:var(--muted);font-size:.68rem;font-variant-numeric:tabular-nums}.planner-filters{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:18px;border:1px solid var(--line)}.planner-filters button{min-height:40px;padding:5px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);font:650 .65rem var(--sans);cursor:pointer}.planner-filters button:last-child{border-right:0}.planner-filters button:hover,.planner-filters button[aria-pressed="true"]{background:var(--plum);color:white}.planner-reset{padding:0;border:0;background:transparent;color:var(--muted);font:650 .68rem var(--sans);text-decoration:underline;text-decoration-color:var(--rose);text-underline-offset:4px;cursor:pointer}.planner-reset:hover{color:var(--plum)}.planner-stage{padding-bottom:68px}.planner-stage+.planner-stage{padding-top:64px;border-top:1px solid var(--line)}.planner-stage[hidden]{display:none}.planner-stage-head{display:flex;justify-content:space-between;gap:30px;align-items:start;margin-bottom:26px}.planner-stage-head h2{margin:0 0 10px;font-size:clamp(2.3rem,4vw,3.3rem)}.planner-stage-head p{max-width:54ch;margin:0;color:var(--muted);font-size:.83rem}.planner-stage-head>span{flex:none;color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}.planner-stage-head>span strong{color:var(--plum);font-size:1rem}.planner-tasks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.planner-tasks li{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px;padding:17px 0;border-bottom:1px solid var(--line)}.planner-tasks li[hidden]{display:none}.planner-tasks label{display:flex;align-items:flex-start;gap:15px;min-width:0;cursor:pointer}.planner-tasks input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.planner-check{position:relative;flex:none;width:24px;height:24px;margin-top:2px;border:1px solid var(--rose);background:var(--white);transition:background-color .18s ease,border-color .18s ease}.planner-tasks input:focus-visible+.planner-check{outline:3px solid var(--focus-rose,#c75b82);outline-offset:3px}.planner-tasks input:checked+.planner-check{border-color:var(--plum);background:var(--plum)}.planner-tasks input:checked+.planner-check:after{content:"";position:absolute;left:7px;top:4px;width:7px;height:11px;border-right:2px solid white;border-bottom:2px solid white;transform:rotate(42deg)}.planner-task-copy{display:block}.planner-task-copy strong,.planner-task-copy small{display:block}.planner-task-copy strong{font-size:.86rem}.planner-task-copy small{max-width:65ch;margin-top:4px;color:var(--muted);font-size:.74rem;line-height:1.55}.planner-tasks input:checked~.planner-task-copy strong{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--rose)}.planner-task-link{flex:none;font-size:.7rem;font-weight:700}.planner-noscript{padding:18px;background:var(--paper-deep);color:var(--muted);font-size:.78rem}
@media (max-width:1080px) and (min-width:901px){.desktop-nav{gap:18px;font-size:.78rem}.planner-intro{gap:55px}.planner-page{gap:55px}}
@media (max-width:900px){.planner-intro{grid-template-columns:1fr;gap:44px}.planner-date{max-width:460px}.planner-page{grid-template-columns:1fr;gap:60px;padding-top:65px}.planner-summary{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.planner-summary progress,.planner-percentage{grid-column:1}.planner-filters{grid-column:2;grid-row:1/3;align-self:center;margin:0}.planner-reset{grid-column:2;justify-self:end}}
@media (max-width:620px){.planner-head{padding:32px 0 54px}.planner-head .breadcrumbs{margin-bottom:34px}.planner-intro h1{font-size:3.35rem}.planner-page{gap:48px;padding-block:52px 82px}.planner-summary{display:block}.planner-filters{margin-bottom:18px}.planner-stage{padding-bottom:52px}.planner-stage+.planner-stage{padding-top:48px}.planner-stage-head h2{font-size:2.45rem}.planner-tasks li{align-items:flex-start;min-height:0;padding:19px 0}.planner-task-link{margin-top:4px}.planner-task-copy small{font-size:.71rem}}
@media (max-width:430px){.planner-tasks li{display:block}.planner-task-link{display:inline-flex;align-items:center;justify-content:center;margin:10px 0 0 39px;text-align:center;line-height:1.3}}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.planner-filter-empty{padding:58px 24px;border-top:1px solid var(--rose);border-bottom:1px solid var(--line);text-align:center}.planner-filter-empty[hidden]{display:none}.planner-filter-empty h2{margin-bottom:14px;font-size:2.6rem}.planner-filter-empty p{margin:0 auto 24px;max-width:45ch;color:var(--muted);font-size:.8rem}
.planner-reset[hidden]{display:none}.planner-reset-confirm{padding:16px 0 4px;border-top:1px solid var(--line)}.planner-reset-confirm[hidden]{display:none}.planner-reset-confirm>p{margin:0 0 13px;color:var(--muted);font-size:.7rem;line-height:1.55}.planner-reset-confirm>div{display:grid;gap:8px}.planner-reset-confirm .button{width:100%;min-height:44px;padding-inline:12px;font-size:.7rem}

/* Wedding budget: a two-page household ledger with browser-local calculations. */
.budget-head{padding:54px 0 76px;background:var(--plum);color:white}.budget-head .breadcrumbs{color:#e5dadd}.budget-head .breadcrumbs a{color:white}.budget-intro{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:90px;align-items:end}.budget-intro h1{max-width:12ch;margin:0 0 26px;font-size:clamp(3.4rem,6vw,5.5rem)}.budget-intro>div>p{max-width:57ch;margin:0;color:#e5dadd}.budget-limit{padding:22px 0;border-top:1px solid #806078;border-bottom:1px solid #806078}.budget-limit>label{display:block;margin-bottom:8px;font-size:.66rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.budget-limit>div{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid #97758c}.budget-limit input{min-width:0;width:100%;height:44px;padding:0 10px;border:0;background:transparent;color:white;font:600 1rem var(--sans);font-variant-numeric:tabular-nums}.budget-limit input::placeholder{color:#cdbdc5}.budget-limit input:focus{outline:3px solid var(--rose-soft);outline-offset:3px}.budget-limit>div>span{padding:0 12px;color:#e5dadd;font-size:.72rem}.budget-limit p{margin:10px 0 0;color:#e5dadd;font-size:.74rem}
.budget-page{display:grid;grid-template-columns:280px minmax(0,1fr);gap:82px;padding-block:90px 120px}.budget-summary{position:sticky;top:30px;align-self:start;padding:27px 0;border-top:1px solid var(--rose);border-bottom:1px solid var(--line)}.budget-summary h2{margin-bottom:25px;font-size:2.2rem}.budget-summary dl{margin:0 0 24px}.budget-summary dl>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid var(--line)}.budget-summary dt{color:var(--muted);font-size:.68rem}.budget-summary dd{margin:0;color:var(--plum);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.budget-summary .budget-balance{margin-top:8px;padding-top:17px}.budget-balance dd{font:500 1.8rem/1 var(--serif)}.budget-balance dd.is-over{color:#8b354b}.budget-summary progress{display:block;width:100%;height:8px;border:0;border-radius:0;background:var(--paper-deep);accent-color:var(--plum)}.budget-summary progress::-webkit-progress-bar{background:var(--paper-deep)}.budget-summary progress::-webkit-progress-value{background:var(--plum)}.budget-summary progress::-moz-progress-bar{background:var(--plum)}.budget-progress-copy{margin:9px 0 24px;color:var(--muted);font-size:.68rem}.budget-filters{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:18px;border:1px solid var(--line)}.budget-filters button{min-height:40px;padding:5px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);font:650 .65rem var(--sans);cursor:pointer}.budget-filters button:last-child{border-right:0}.budget-filters button:hover,.budget-filters button[aria-pressed="true"]{background:var(--plum);color:white}.budget-reset{padding:0;border:0;background:transparent;color:var(--muted);font:650 .68rem var(--sans);text-decoration:underline;text-decoration-color:var(--rose);text-underline-offset:4px;cursor:pointer}.budget-reset:hover{color:var(--plum)}
.budget-ledger-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:54px}.budget-ledger-head h2{margin:0 0 11px}.budget-ledger-head p{max-width:55ch;margin:0;color:var(--muted);font-size:.82rem}.budget-ledger-head>span{flex:none;color:var(--muted);font-size:.72rem}.budget-ledger-head>span strong{color:var(--plum);font-size:1rem}.budget-category{padding:0 0 62px}.budget-category+.budget-category{padding-top:58px;border-top:1px solid var(--line)}.budget-category[hidden]{display:none}.budget-category>header{display:flex;justify-content:space-between;gap:35px;align-items:start;margin-bottom:23px}.budget-category h3{margin:0 0 8px;font-size:2.45rem}.budget-category header p{max-width:54ch;margin:0;color:var(--muted);font-size:.78rem}.budget-category header>span{flex:none;color:var(--plum);font-size:.74rem;font-weight:700;font-variant-numeric:tabular-nums}.budget-table-head,.budget-row{display:grid;grid-template-columns:minmax(210px,1fr) 120px 120px 62px;gap:14px;align-items:center}.budget-table-head{padding:0 0 8px;color:var(--muted);font-size:.58rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.budget-table-head span:last-child{text-align:center}.budget-rows{border-top:1px solid var(--line)}.budget-row{min-height:76px;padding:12px 0;border-bottom:1px solid var(--line)}.budget-row[hidden]{display:none}.budget-item-name strong{display:block;font-size:.79rem}.budget-item-name button{margin-top:3px;padding:0;border:0;background:transparent;color:var(--muted);font:600 .61rem var(--sans);text-decoration:underline;text-decoration-color:var(--rose);text-underline-offset:3px;cursor:pointer}.budget-row>label>span{display:none}.budget-row input[type="text"]{width:100%;height:40px;padding:0 9px;border:1px solid transparent;border-bottom-color:var(--line);border-radius:0;background:var(--white);color:var(--ink);font:600 .76rem var(--sans);font-variant-numeric:tabular-nums}.budget-row input[type="text"]:focus{outline:2px solid var(--focus-rose,#c75b82);outline-offset:2px;border-color:transparent}.budget-paid{display:grid;place-items:center;cursor:pointer}.budget-paid input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.budget-paid span{position:relative;display:block!important;width:24px;height:24px;border:1px solid var(--rose);background:var(--white)}.budget-paid input:focus-visible+span{outline:3px solid var(--focus-rose,#c75b82);outline-offset:3px}.budget-paid input:checked+span{border-color:var(--plum);background:var(--plum)}.budget-paid input:checked+span:after{content:"";position:absolute;left:7px;top:4px;width:7px;height:11px;border-right:2px solid white;border-bottom:2px solid white;transform:rotate(42deg)}.budget-row:has(.budget-paid input:checked) .budget-item-name strong{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--rose)}
.budget-empty{padding:58px 24px;border-top:1px solid var(--rose);border-bottom:1px solid var(--line);text-align:center}.budget-empty[hidden]{display:none}.budget-empty h2{margin-bottom:14px;font-size:2.6rem}.budget-empty p{margin:0 auto 24px;max-width:45ch;color:var(--muted);font-size:.8rem}.budget-add{display:grid;grid-template-columns:.72fr 1.28fr;gap:55px;margin-top:30px;padding:48px 0 0;border-top:1px solid var(--rose)}.budget-add h2{margin-bottom:12px;font-size:2.6rem}.budget-add>div>p{margin:0;color:var(--muted);font-size:.78rem}.budget-add form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.budget-add label>span{display:block;margin-bottom:5px;color:var(--plum);font-size:.61rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.budget-add input,.budget-add select{width:100%;height:45px;padding:0 11px;border:1px solid var(--line);border-radius:0;background:var(--white);color:var(--ink);font:500 .76rem var(--sans)}.budget-add input:focus,.budget-add select:focus{outline:2px solid var(--focus-rose,#c75b82);outline-offset:2px}.budget-add .button{grid-column:1/-1;justify-self:start}.budget-form-status{grid-column:1/-1;min-height:1.3em;margin:0;color:var(--muted);font-size:.68rem}.budget-noscript{padding:18px;background:var(--paper-deep);color:var(--muted);font-size:.78rem}
@media (max-width:1080px) and (min-width:901px){.desktop-nav{gap:14px;font-size:.75rem}.budget-intro{gap:55px}.budget-page{gap:55px}.budget-table-head,.budget-row{grid-template-columns:minmax(180px,1fr) 105px 105px 55px}}
@media (max-width:900px){.budget-intro{grid-template-columns:1fr;gap:44px}.budget-limit{max-width:460px}.budget-page{grid-template-columns:1fr;gap:60px;padding-top:65px}.budget-summary{position:static}.budget-summary dl{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.budget-summary dl>div{display:block}.budget-summary dd{margin-top:8px}.budget-add{grid-template-columns:1fr}}
@media (max-width:620px){.budget-head{padding:32px 0 54px}.budget-head .breadcrumbs{margin-bottom:34px}.budget-intro h1{font-size:3.35rem}.budget-page{gap:48px;padding-block:52px 82px}.budget-summary dl{grid-template-columns:1fr;gap:0}.budget-summary dl>div{display:flex}.budget-ledger-head{align-items:start}.budget-category{padding-bottom:50px}.budget-category+.budget-category{padding-top:48px}.budget-category>header{display:block}.budget-category header>span{display:block;margin-top:12px}.budget-table-head{display:none}.budget-row{grid-template-columns:1fr 1fr 42px;gap:10px;padding:17px 0}.budget-item-name{grid-column:1/-1}.budget-row>label>span{display:block;margin-bottom:4px;color:var(--muted);font-size:.58rem;text-transform:uppercase;letter-spacing:.07em}.budget-paid{align-self:end;height:40px}.budget-add form{grid-template-columns:1fr}.budget-add .button,.budget-form-status{grid-column:auto}}

/* Budget finish pass: readable operational type, recoverable storage, and 44px targets. */
.budget-filters button{min-height:44px;font-size:.68rem}.budget-storage-warning,.budget-sync-status{margin:0 0 18px;padding:12px;background:var(--paper-deep);color:var(--plum);font-size:.68rem;line-height:1.5}.budget-sync-status{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.budget-sync-status.is-error{background:var(--rose-soft)}.budget-sync-status button{flex:0 0 auto;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font:700 .68rem var(--sans);cursor:pointer}.budget-storage-warning[hidden],.budget-sync-status[hidden],.budget-sync-status button[hidden]{display:none}.budget-amount-error{display:block;margin:5px 0 0;color:#ffcedb;font-size:.62rem;line-height:1.35}.budget-row .budget-amount-error{color:#913f56}.budget-amount-error[hidden]{display:none}.budget-limit input[aria-invalid="true"],.budget-row input[aria-invalid="true"]{outline:2px solid #d56582;outline-offset:2px}.couple-budget-pending{margin:0 0 28px;padding:16px 18px;border-top:1px solid var(--rose);background:var(--paper-deep);color:var(--plum);font-size:.76rem}.couple-budget-pending[hidden]{display:none}.couple-budget-pending a{font-weight:750}.budget-reset{min-height:44px}.budget-table-head{font-size:.68rem}.budget-item-name button{min-height:32px;font-size:.68rem}.budget-row input[type="text"]{height:44px}.budget-paid{min-width:44px;min-height:44px}
@media (max-width:620px){.budget-head{padding:20px 0 30px}.budget-head .breadcrumbs{margin-bottom:20px}.budget-intro{gap:24px}.budget-intro h1{margin-bottom:14px;font-size:2.75rem}.budget-intro>div>p{font-size:.86rem;line-height:1.55}.budget-limit{padding:13px 0}.budget-limit input{height:40px}.budget-page{gap:32px;padding-block:30px 72px}.budget-summary{padding:19px 0}.budget-summary h2{margin-bottom:13px;font-size:1.85rem}.budget-summary dl{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.budget-summary dl>div,.budget-summary .budget-balance{display:block;margin:0;padding:8px 0}.budget-summary dd{margin-top:5px;font-size:.7rem}.budget-balance dd{font:500 1.22rem/1 var(--serif)}.budget-progress-copy{margin:7px 0 12px}.budget-filters{margin-bottom:5px}.budget-reset{display:block;margin-top:2px}.budget-ledger-head{align-items:start;margin-bottom:30px}.budget-ledger-head h2{font-size:2.7rem}.budget-category>header{margin-bottom:15px}.budget-category h3{font-size:2.1rem}.budget-category header>span{margin-top:8px}.budget-row{grid-template-columns:1fr 1fr 44px;gap:10px;padding:13px 0}.budget-row>label>span{font-size:.68rem}.budget-paid{height:44px}}
@media (max-width:620px){.budget-head{padding:12px 0 20px}.budget-head .breadcrumbs{margin-bottom:10px}.budget-intro{gap:14px}.budget-intro h1{margin-bottom:10px;font-size:2.35rem}.budget-intro>div>p{font-size:.78rem;line-height:1.4}.budget-limit{padding:8px 0}.budget-limit>label{margin-bottom:4px}.budget-limit input{height:36px}.budget-limit p{margin-top:4px}.budget-page{gap:20px;padding-top:22px}.budget-summary{padding:14px 0}.budget-summary h2{margin-bottom:8px;font-size:1.65rem}.budget-summary dl{margin-bottom:8px}.budget-summary dl>div,.budget-summary .budget-balance{padding:5px 0}.budget-progress-copy{margin:4px 0 8px}.budget-filters{margin-bottom:0}.budget-ledger-head{margin-bottom:20px}.budget-ledger-head p{display:none}.budget-category>header p{display:none}.budget-category h3{font-size:1.9rem}}

/* Venue directory: a county-first register for wedding spaces. */
.venue-directory-head{background:var(--paper-deep);padding:44px 0 54px;border-bottom:1px solid var(--line)}
.venue-title-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:64px;align-items:end;margin-bottom:44px}.venue-title-row h1{font-size:clamp(3.2rem,6vw,5.4rem);max-width:12ch;margin:0 0 22px}.venue-title-row>div>p{color:var(--muted);font-size:1.04rem;max-width:62ch;margin:0}.venue-result-count{margin:0;text-align:right;color:var(--muted)}.venue-result-count strong,.venue-result-count span{display:block}.venue-result-count strong{font:500 4.8rem/.8 var(--serif);color:var(--plum);font-variant-numeric:tabular-nums}.venue-result-count span{margin-top:15px}
.venue-search-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;background:var(--white);padding:10px;box-shadow:var(--shadow);align-items:stretch}.venue-field{padding:11px 18px;min-width:0}.venue-field label{display:block;font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.1em;color:var(--plum);margin-bottom:4px}.venue-field select{display:block;width:100%;height:34px;border:0;background:transparent;color:var(--ink);font:500 .9rem var(--sans);padding:0;text-overflow:ellipsis}.venue-field select:focus{outline:none}.venue-search-form .button{min-width:250px;margin-left:10px;align-self:stretch}.venue-active-filters{margin-top:30px}
.venue-results{padding-top:88px}.venue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 30px}.venue-card{background:var(--white);min-width:0}.venue-card-image{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;text-decoration:none}.venue-card-image img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.venue-card-image:hover img{transform:scale(1.025)}.venue-card-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--rose-soft);color:var(--plum);padding:30px}.venue-card-placeholder::before,.venue-card-placeholder::after{content:"";width:62px;height:1px;background:var(--rose);margin-block:14px}.venue-card-placeholder small{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.venue-card-body{padding:29px 30px 31px}.venue-location{margin:0;color:var(--plum);font-size:.71rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.venue-card-description{max-width:52ch;margin:13px 0 0;color:var(--muted);line-height:1.55}.venue-card-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin:8px 0 18px}.venue-card-heading h2{font-size:clamp(2rem,3vw,2.7rem);margin:0;max-width:14ch}.venue-card-heading h2 a{text-decoration:none}.venue-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:58px}.venue-pagination a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;text-decoration:none;font-size:.8rem}.venue-pagination a[aria-current="page"]{background:var(--plum);border-color:var(--plum);color:white}
.venue-profile-head{padding-top:42px}.venue-profile-title{display:flex;justify-content:space-between;align-items:end;gap:55px;padding:35px 0 48px}.venue-profile-title h1{font-size:clamp(3.2rem,6vw,5.4rem);max-width:15ch;margin:8px 0 20px}.venue-profile-title>div>p:last-child{max-width:67ch;color:var(--muted);margin-bottom:0}.venue-profile-title>.button{flex:none}.venue-gallery{height:620px;display:grid;grid-template-columns:1.45fr .85fr;grid-template-rows:1fr 1fr;gap:16px}.venue-gallery-item{position:relative;margin:0;overflow:hidden;background:var(--rose-soft)}.venue-gallery-item-1{grid-row:1/3}.venue-gallery-item img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}.venue-gallery-item figcaption{position:absolute;z-index:2;right:9px;bottom:9px;background:rgba(41,29,37,.86);color:white;font-size:.58rem;padding:5px 8px}.venue-gallery-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center;color:var(--plum);font:700 .62rem/1.4 var(--sans);letter-spacing:.15em;text-transform:uppercase}.venue-gallery-fallback::before,.venue-gallery-fallback::after{content:"";width:58px;height:1px;background:var(--rose);margin-block:14px}.venue-gallery-fallback .directory-placeholder-symbol{margin-bottom:2px}
.venue-profile-content{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:100px;padding-block:100px}.venue-profile-about h2{font-size:2.8rem;margin:0 0 24px}.venue-profile-about h2:not(:first-child){margin-top:70px}.venue-profile-about>p{color:var(--muted);max-width:67ch}.venue-profile-about ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px}.venue-profile-about li{display:flex;gap:12px;border-top:1px solid var(--line);padding:17px 0;font-size:.9rem}.venue-profile-about li span{color:var(--rose)}.venue-related{padding-top:65px}.venue-contact-panel dd{overflow-wrap:anywhere}.venue-phone-list,.venue-email-list{display:grid;justify-items:start;gap:7px}
@media(max-width:1100px){.desktop-nav{gap:20px}}
@media(max-width:900px){.venue-title-row{grid-template-columns:1fr 110px;gap:35px}.venue-grid{grid-template-columns:1fr}.venue-gallery{height:720px;grid-template-columns:1.25fr .75fr}.venue-profile-content{grid-template-columns:1fr;gap:60px;padding-block:75px}.venue-contact-panel{width:100%}}
@media(max-width:620px){.venue-directory-head{padding:28px 0 42px}.venue-title-row{display:block;margin-bottom:34px}.venue-title-row h1{font-size:3.2rem}.venue-title-row>div>p{font-size:.92rem}.venue-result-count{display:flex;align-items:baseline;gap:10px;text-align:left;margin-top:30px}.venue-result-count strong{font-size:3.5rem}.venue-result-count span{margin:0}.venue-search-form{display:block;padding:10px}.venue-field{border-right:0;border-bottom:1px solid var(--line);padding:12px 13px}.venue-search-form .button{width:100%;margin:10px 0 0}.venue-filter-status{position:static;padding:9px 4px 0}.venue-active-filters{align-items:flex-start;flex-wrap:wrap}.venue-active-filters .clear-link{width:100%;margin:8px 0 0}.venue-results{padding-top:68px}.venue-grid{gap:28px}.venue-card-body{padding:24px 22px 27px}.venue-card-heading h2{font-size:2.1rem}.venue-profile-title{display:block;padding:25px 0 36px}.venue-profile-title h1{font-size:3.25rem}.venue-profile-title>.button{width:100%;margin-top:28px}.venue-gallery{height:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:370px 180px;gap:10px}.venue-gallery-item-1{grid-column:1/-1;grid-row:auto}.venue-gallery-fallback{font-size:.58rem}.venue-profile-content{padding-block:70px}.venue-profile-about h2{font-size:2.35rem}.venue-profile-about ul{grid-template-columns:1fr}}

/* The primary navigation exposes two calm, task-based groups instead of eight competing links. */
.desktop-nav{gap:30px;font-size:.82rem}.desktop-nav-link{min-height:44px;display:inline-flex;align-items:center}.desktop-nav-group{position:relative}.desktop-nav-group summary{list-style:none;display:flex;align-items:center;gap:7px;min-height:44px;cursor:pointer;font-weight:650}.desktop-nav-group summary::-webkit-details-marker{display:none}.desktop-nav-group summary svg{width:10px;height:7px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .2s ease}.desktop-nav-group[open] summary{color:var(--plum)}.desktop-nav-group[open] summary svg{transform:rotate(180deg)}.desktop-nav-menu{position:absolute;top:calc(100% + 10px);left:-24px;width:285px;padding:10px;background:var(--white);border:1px solid var(--line);box-shadow:0 20px 45px rgba(41,29,37,.14)}.desktop-nav-group:nth-of-type(2) .desktop-nav-menu{width:270px}.desktop-nav-menu a{display:block;padding:13px 14px;border-bottom:1px solid var(--line);transition:background-color .2s ease}.desktop-nav-menu a:last-child{border-bottom:0}.desktop-nav-menu a:hover{background:var(--paper);text-decoration:none!important}.desktop-nav-menu strong,.desktop-nav-menu span{display:block}.desktop-nav-menu strong{font-size:.78rem}.desktop-nav-menu span{margin-top:2px;color:var(--muted);font-size:.68rem;font-weight:500;line-height:1.45}.mobile-nav-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.mobile-nav-group>p{margin:0 0 8px;color:var(--plum);font-size:.65rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.mobile-nav nav .mobile-nav-group a{padding-right:30px}

/* Homepage: the three directories are equal entry points, followed by lighter planning links. */
.home-discovery-section{padding:104px 0 94px;background:var(--paper-deep)}.home-discovery-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:10%;align-items:end;margin-bottom:58px}.home-discovery-intro h1{max-width:13ch;margin:0;font-size:clamp(3.4rem,5.7vw,5.5rem)}.home-discovery-intro p{max-width:48ch;margin:0 0 7px;color:var(--muted);font-size:1.02rem}.home-directory-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:24px;align-items:stretch}.home-directory-panel{padding:34px;background:var(--white);border-top:2px solid var(--rose)}.home-directory-panel-head{display:flex;justify-content:space-between;gap:28px;margin-bottom:28px}.home-directory-panel-head h2{margin:0 0 13px;font-size:clamp(2rem,3vw,2.8rem)}.home-directory-panel-head p{max-width:48ch;margin:0;color:var(--muted);font-size:.84rem}.home-directory-panel-head>span{color:var(--rose);font:500 1.15rem var(--serif)}.home-atelier-panel .home-search-panel .search-form{box-shadow:none;border-color:var(--line)}.home-atelier-panel .home-search-panel .search-note{display:none}.home-venue-panel{display:flex;flex-direction:column;background:var(--plum);color:white;border-top-color:var(--rose-soft)}.home-venue-panel .home-directory-panel-head p{color:#dfd2d8}.home-venue-panel .home-directory-panel-head>span{color:var(--rose-soft)}.home-venue-panel .venue-search-form{display:block;margin-top:auto;padding:9px;background:white;box-shadow:none}.home-venue-panel .venue-field{padding:8px 13px 6px;border-bottom:1px solid var(--line)}.home-venue-panel .venue-field select{height:38px}.home-venue-panel .venue-search-form .button{width:100%;min-width:0;min-height:52px;margin:9px 0 0;border:1px solid var(--plum);border-radius:6px}.home-planning-section{padding-top:104px}.home-planning-section .section-heading{margin-bottom:34px}.home-planning-section .section-heading p{max-width:58ch}.home-planning-links{border-top:1px solid var(--line)}.home-planning-links a{display:grid;grid-template-columns:48px minmax(230px,.75fr) 1fr 26px;gap:24px;align-items:center;min-height:96px;border-bottom:1px solid var(--line);text-decoration:none;transition:color .2s ease}.home-planning-links a:hover{color:var(--plum)}.home-planning-links span{color:var(--plum);font:500 1rem var(--serif)}.home-planning-links strong{font:500 1.65rem var(--serif)}.home-planning-links small{color:var(--muted);font-size:.78rem}.home-planning-links b{font-size:1.2rem;font-weight:400}
.home-jewelry-panel{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);padding:0;overflow:hidden}.home-jewelry-visual{position:relative;min-height:290px;overflow:hidden;background:var(--plum)}.home-jewelry-visual img{width:100%;height:100%;object-fit:cover}.home-jewelry-visual span{position:absolute;right:28px;bottom:28px;width:68px;height:68px;border:1px solid var(--rose-soft);border-radius:50%}.home-jewelry-visual span:after{content:"";position:absolute;left:43px;top:-1px;width:68px;height:68px;border:1px solid var(--rose-soft);border-radius:50%}.home-jewelry-body{display:flex;flex-direction:column;padding:34px}.home-jewelry-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:auto;padding-top:24px;border-top:1px solid var(--line)}.home-jewelry-search>div{min-width:0;padding:3px 14px;background:var(--paper)}.home-jewelry-search label{display:block;color:var(--plum);font-size:.59rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.home-jewelry-search select{width:100%;height:34px;border:0;background:transparent;color:var(--ink);font:500 .84rem var(--sans)}.home-jewelry-search .button{min-width:210px;border:1px solid var(--plum);border-radius:6px}

@media (max-width:1080px) and (min-width:901px){.desktop-nav{gap:23px;font-size:.8rem}.desktop-nav-menu{left:-18px}.home-directory-grid{grid-template-columns:1fr}.home-venue-panel .venue-search-form{display:grid}.home-venue-panel .venue-search-form .button{width:auto;margin:0 0 0 10px}.home-venue-panel .venue-field{border-bottom:0}}
@media (max-width:900px){.mobile-nav-inner{grid-template-columns:200px 1fr}.mobile-nav-groups{grid-template-columns:1fr 1fr;gap:28px 42px}.home-discovery-intro{grid-template-columns:1fr;gap:28px}.home-discovery-intro p{max-width:62ch}.home-directory-grid{grid-template-columns:1fr}.home-venue-panel .venue-search-form{display:grid}.home-venue-panel .venue-search-form .button{width:auto;margin:0 0 0 10px}.home-venue-panel .venue-field{border-bottom:0}}
@media (max-width:900px){.home-jewelry-panel{grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr)}}
@media (max-width:620px){.mobile-nav-groups{grid-template-columns:1fr;gap:26px}.mobile-nav-group>p{margin-top:2px}.home-discovery-section{padding:68px 0 62px}.home-discovery-intro{margin-bottom:40px}.home-discovery-intro h1{font-size:3.15rem}.home-discovery-intro p{font-size:.92rem}.home-directory-panel{padding:25px 20px}.home-directory-panel-head{margin-bottom:23px}.home-directory-panel-head h2{font-size:2.25rem}.home-venue-panel .venue-search-form{display:block}.home-venue-panel .venue-field{border-bottom:1px solid var(--line)}.home-venue-panel .venue-search-form .button{width:100%;margin:9px 0 0}.home-planning-section{padding-top:75px}.home-planning-links a{grid-template-columns:34px 1fr 22px;gap:12px;padding:18px 0}.home-planning-links strong{font-size:1.4rem}.home-planning-links small{grid-column:2/3}.home-planning-links b{grid-column:3;grid-row:1/3}}
@media (max-width:620px){.home-jewelry-panel{grid-template-columns:1fr;padding:0}.home-jewelry-visual{min-height:210px}.home-jewelry-body{padding:25px 20px}.home-jewelry-search{grid-template-columns:1fr}.home-jewelry-search .button{min-width:0}}

/* Venue geography is supporting metadata, never an eyebrow above a heading. */
.venue-location{margin:8px 0 0;color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:0;text-transform:none}
.venue-card-heading{margin:0 0 10px}
.venue-gallery-item figcaption a{color:inherit;text-decoration-color:rgba(255,255,255,.68)}

/* Venue map: county clusters stay honest about precision and keep the full list usable. */
#venue-map{width:100%;height:100%;min-height:680px;background:#e8e6df;font-family:var(--sans)}
#venue-map.is-unavailable{display:grid;place-items:center;padding:40px;color:var(--muted);font-size:.84rem;text-align:center}
.venue-map-filters{grid-template-columns:minmax(250px,1fr) auto}
.venue-map-filters .map-filter-field{border-bottom:0}
.venue-map-filters .map-filter-submit{min-width:190px}
.venue-map-results .map-result-card{min-height:170px}
.venue-map-results .map-result-heading h2{max-width:15ch}
@media (max-width:900px){#venue-map{min-height:610px}.venue-map-filters{grid-template-columns:1fr auto}.venue-map-workspace .romania-map{height:610px}}
@media (max-width:620px){#venue-map{min-height:500px}.venue-map-filters{grid-template-columns:1fr}.venue-map-filters .map-filter-field{border-bottom:1px solid var(--line)}.venue-map-filters .map-filter-submit{min-width:0}.venue-map-workspace .romania-map{height:500px}}

/* Percentage row gaps escape intrinsic grid height on narrow screens. */
.map-head-grid{column-gap:11%;row-gap:0}

.venue-map-pin circle{fill:var(--rose-soft);stroke:var(--plum-dark);stroke-width:1.5}
.venue-map-venue-marker{z-index:auto!important}
.leaflet-popup-content-wrapper{border-radius:0;background:var(--white);color:var(--ink);box-shadow:0 16px 38px rgba(62,37,48,.18)}
.leaflet-popup-content{margin:18px 20px;font-family:var(--sans)}
.leaflet-popup-tip{background:var(--white)}
.leaflet-popup-close-button{color:var(--muted)!important;font:400 20px/26px var(--sans)!important}
.venue-map-popup{display:grid;gap:7px;min-width:175px}
.venue-map-popup p{margin:0;color:var(--plum);font-size:.6rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.venue-map-popup strong{font:500 1.35rem/1.05 var(--serif)}
.venue-map-popup a{width:max-content;margin-top:3px;font-size:.68rem;font-weight:700}

/* Quote requests: a calm, explicit bridge between discovery and a commercial conversation. */
.venue-profile-actions{display:grid;gap:10px;min-width:190px;flex:none}.venue-profile-actions .button{width:100%}.venue-inquiry-link{margin-top:10px}
.inquiry-page{display:grid;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:9%;align-items:start;padding-block:58px 110px}.inquiry-context{position:sticky;top:42px;padding-top:4px}.inquiry-context h1{max-width:11ch;margin:46px 0 26px;font-size:clamp(3.5rem,5.7vw,5.6rem)}.inquiry-context>p{max-width:48ch;color:var(--muted);font-size:1.02rem}.inquiry-venue-facts{margin:52px 0 0;border-top:1px solid var(--line)}.inquiry-venue-facts div{display:grid;grid-template-columns:90px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}.inquiry-venue-facts dt{color:var(--plum);font-size:.66rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.inquiry-venue-facts dd{margin:0;color:var(--muted);font-size:.78rem}
.inquiry-form-panel{padding:46px 48px 50px;background:var(--white);box-shadow:var(--shadow)}.inquiry-form-panel>h2{margin-bottom:10px;font-size:2.65rem}.inquiry-form-panel>p{margin-bottom:36px;color:var(--muted);font-size:.82rem}.inquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.inquiry-field{min-width:0}.inquiry-field-wide{grid-column:1/-1}.inquiry-field label{display:block;margin-bottom:7px;color:var(--plum);font-size:.65rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.inquiry-field input,.inquiry-field select,.inquiry-field textarea{width:100%;min-height:48px;padding:11px 12px;border:1px solid var(--line);border-radius:0;background:var(--white);color:var(--ink);font:500 .82rem/1.5 var(--sans)}.inquiry-field textarea{resize:vertical}.inquiry-field input::placeholder,.inquiry-field textarea::placeholder{color:#7b6e74}.inquiry-field input:focus,.inquiry-field select:focus,.inquiry-field textarea:focus{outline:3px solid #c75b82;outline-offset:3px;border-color:var(--rose)}.inquiry-form .field_with_errors{display:contents}.inquiry-form .field_with_errors input,.inquiry-form .field_with_errors select,.inquiry-form .field_with_errors textarea{border-color:#a64258}.inquiry-consent{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;color:var(--muted);font-size:.72rem;line-height:1.55;cursor:pointer}.inquiry-consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--plum)}.inquiry-submit{display:flex;align-items:center;gap:22px;padding-top:8px}.inquiry-submit .button{min-width:220px}.inquiry-submit p{margin:0;color:var(--muted);font-size:.68rem}.inquiry-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.inquiry-errors{grid-column:1/-1;margin-bottom:26px;padding:18px 20px;border:1px solid #d7aeb7;background:#fff4f5;color:#743247;font-size:.76rem}.inquiry-errors strong{display:block}.inquiry-errors ul{margin:7px 0 0;padding-left:18px}
.inquiry-confirmation{min-height:680px;display:grid;place-items:center;align-content:center;padding-block:100px;text-align:center}.inquiry-confirmation-mark{display:grid;place-items:center;width:68px;height:78px;margin-bottom:30px;border:1px solid var(--rose);border-radius:48% 48% 42% 42%;color:var(--plum);font:italic 2.25rem var(--serif)}.inquiry-confirmation h1{max-width:13ch;margin:0 auto 24px}.inquiry-confirmation>p{max-width:62ch;margin-inline:auto;color:var(--muted)}.inquiry-confirmation-summary{display:flex;justify-content:center;gap:70px;margin:34px 0;padding:25px 48px;border-block:1px solid var(--line)}.inquiry-confirmation-summary span{display:grid;gap:5px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.inquiry-confirmation-summary strong{color:var(--plum);font:500 2rem var(--serif);letter-spacing:0;text-transform:none}.inquiry-confirmation-note{font-size:.74rem}.inquiry-confirmation-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}

/* Lead administration keeps personal data scannable without turning it into a dense CRM. */
.admin-lead-count{display:grid;justify-items:end;color:var(--muted);font-size:.7rem}.admin-lead-count strong{color:var(--plum);font:500 3rem/.8 var(--serif);font-variant-numeric:tabular-nums}.admin-lead-filters{display:flex;gap:8px;margin-bottom:28px}.admin-lead-filters a{min-height:42px;display:inline-flex;align-items:center;padding:0 16px;border:1px solid var(--line);font-size:.72rem;text-decoration:none}.admin-lead-filters a[aria-current="page"]{border-color:var(--plum);background:var(--plum);color:white}.admin-inquiry-list{display:grid;gap:18px}.admin-inquiry{padding:26px 28px;background:var(--white);border:1px solid var(--line)}.admin-inquiry>header{display:flex;justify-content:space-between;align-items:start;gap:30px}.admin-inquiry header p{margin:0 0 5px;color:var(--plum);font-size:.65rem;font-weight:750;letter-spacing:.08em}.admin-inquiry h2{margin:0 0 5px;font-size:2rem}.admin-inquiry header div>span{color:var(--muted);font-size:.72rem}.admin-status-new{border-color:#c5909d;color:#743247;background:#fff4f5}.admin-status-forwarded{border-color:#a8baa3;color:#41553d;background:#f0f4ee}.admin-status-closed{color:var(--muted);background:var(--paper)}.admin-inquiry dl{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:26px 0 0;padding-top:20px;border-top:1px solid var(--line)}.admin-inquiry dt{color:var(--plum);font-size:.61rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.admin-inquiry dd{margin:5px 0 0;font-size:.75rem;overflow-wrap:anywhere}.admin-inquiry-message{margin:20px 0 0;padding:18px;background:var(--paper);color:var(--muted);font-size:.78rem;white-space:pre-wrap}.admin-inquiry>footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:22px}.admin-inquiry footer>span{color:var(--muted);font-size:.66rem}.admin-inquiry footer>div{display:flex;gap:8px}.admin-inquiry footer form{margin:0}.admin-inquiry footer .button{min-height:42px}.admin-empty{padding:55px 30px;border:1px solid var(--line);background:var(--white);text-align:center}.admin-empty h2{font-size:2.4rem;margin-bottom:12px}.admin-empty p{margin:0;color:var(--muted)}

@media(max-width:900px){.inquiry-page{grid-template-columns:1fr;gap:55px}.inquiry-context{position:static}.inquiry-context h1{margin-top:36px;max-width:13ch}.admin-inquiry dl{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.venue-profile-actions{width:100%;margin-top:28px}.inquiry-page{gap:38px;padding-block:30px 75px}.inquiry-context h1{margin-top:28px;font-size:3.15rem}.inquiry-context>p{font-size:.9rem}.inquiry-venue-facts{margin-top:34px}.inquiry-venue-facts div{grid-template-columns:75px 1fr;gap:15px}.inquiry-form-panel{padding:30px 20px 34px;margin-inline:-15px}.inquiry-form-panel>h2{font-size:2.25rem}.inquiry-form{grid-template-columns:1fr;gap:18px}.inquiry-field-wide{grid-column:auto}.inquiry-consent{grid-template-columns:22px 1fr}.inquiry-submit{display:grid;gap:10px}.inquiry-submit .button{width:100%}.inquiry-confirmation{min-height:610px;padding-block:70px}.inquiry-confirmation h1{font-size:3.2rem}.inquiry-confirmation-summary{gap:30px;width:100%;padding-inline:10px}.inquiry-confirmation-actions{display:grid;width:100%}.admin-lead-count{justify-items:start;margin-top:22px}.admin-lead-filters{overflow-x:auto;padding-bottom:4px}.admin-lead-filters a{white-space:nowrap}.admin-inquiry{padding:22px 18px}.admin-inquiry dl{grid-template-columns:1fr}.admin-inquiry>footer{display:block}.admin-inquiry footer>div{display:grid;margin-top:16px}.admin-inquiry footer .button{width:100%}}

/* Business partnerships: an editorial investment dossier, not a generic SaaS price grid. */
.business-nav-link{color:var(--plum)}
.subscriptions-hero{overflow:hidden;background:var(--plum);color:var(--white)}
.subscriptions-hero-grid{padding-block:38px 68px}
.subscriptions-hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center}
.subscriptions-breadcrumbs{align-self:flex-start;margin-bottom:32px;color:#d9cbd1}.subscriptions-breadcrumbs a{color:white}
.subscriptions-hero-symbol{width:130px;height:66px;margin-bottom:18px;color:#dfb5c4;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.subscriptions-hero-copy h1{max-width:17ch;margin:0;color:white;font-size:clamp(3.6rem,5.8vw,5.8rem);text-wrap:balance}
.subscriptions-hero-copy>p{max-width:62ch;margin:24px 0 30px;color:#e4d9dd;font-size:1.02rem}
.subscriptions-hero-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:22px 30px}.button-light{background:var(--white);color:var(--plum)}.button-light:hover{background:var(--rose-soft)}
.subscriptions-text-link{font-size:.78rem;font-weight:700;text-decoration:none}.subscriptions-text-link span{margin-left:7px}
.subscription-plan ul{list-style:none;padding:0;margin:0}
.subscription-principle{display:grid;grid-template-columns:auto 1fr;gap:18px 28px;align-items:baseline;padding-block:36px;border-bottom:1px solid var(--line)}.subscription-principle p,.subscription-principle strong{margin:0}.subscription-principle p{font:500 1.7rem var(--serif)}.subscription-principle strong{color:var(--plum);font:italic 500 1.7rem var(--serif)}
.subscription-section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.subscription-section-head h2{max-width:13ch;margin-bottom:13px}.subscription-section-head p{margin:0;color:var(--muted)}.launch-note{max-width:180px;padding-left:16px;border-left:1px solid var(--rose);font-size:.68rem;text-transform:uppercase;letter-spacing:.09em}
.subscription-plans{display:grid;grid-template-columns:repeat(2,1fr);border-block:1px solid var(--line)}.subscription-plan{display:flex;flex-direction:column;min-width:0;padding:38px 32px 36px;border-right:1px solid var(--line)}.subscription-plan:last-child{border-right:0}.subscription-plan-featured{background:var(--paper-deep)}.subscription-plan header>span{display:block;margin-bottom:35px;color:var(--plum);font-size:.61rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.subscription-plan h3{margin:0 0 12px;font-size:2.35rem}.subscription-plan header p{min-height:50px;margin:0;color:var(--muted);font-size:.75rem}.plan-price{display:flex;align-items:center;gap:12px;margin:32px 0 29px;color:var(--plum)}.plan-price strong{font:500 4.5rem/.8 var(--serif);letter-spacing:-.05em}.plan-price>span{font-size:.67rem;font-weight:700;line-height:1.5}.plan-price small{color:var(--muted);font-size:.6rem;font-weight:500}.subscription-plan li{position:relative;padding:11px 0 11px 21px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}.subscription-plan li:before{content:"·";position:absolute;left:4px;color:var(--plum);font-weight:900}.plan-coming-soon{display:inline-block;margin-left:6px;padding:2px 7px;border:1px solid var(--rose);border-radius:999px;color:var(--plum);font-size:.56rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.plan-ranking-note{margin:22px 0 8px;padding:15px 17px;border-top:1px solid var(--rose);background:rgba(255,255,255,.48);color:var(--muted);font-size:.68rem}.plan-ranking-note strong{display:block;margin-bottom:3px;color:var(--ink)}.subscription-plan .button{width:100%;margin-top:auto;padding-top:0;transform:translateY(14px)}.subscription-tax-note{max-width:92ch;margin:25px 0 0;color:var(--muted);font-size:.67rem}
.subscription-comparison-section{padding:102px 0;background:var(--ink);color:var(--white)}.subscription-comparison-section .subscription-section-head p{color:#cfc2c8}.subscription-comparison{overflow-x:auto;border-top:1px solid #765b68}.subscription-comparison table{width:100%;min-width:620px;border-collapse:collapse}.subscription-comparison th,.subscription-comparison td{padding:19px 20px;border-bottom:1px solid #604a55;text-align:left;font-size:.74rem}.subscription-comparison thead th{color:#d8c9cf;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.subscription-comparison tbody th{width:43%;font-weight:600}.subscription-comparison tbody td:nth-child(3){background:rgba(234,214,213,.08);color:white}.subscription-comparison td{color:#cfc2c8}
.subscription-audiences{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.subscription-audience-copy h2{max-width:12ch}.subscription-audience-copy p{max-width:37ch;color:var(--muted)}.subscription-audience-list{border-top:1px solid var(--line)}.subscription-audience-list article{display:grid;grid-template-columns:90px minmax(180px,.8fr) 1fr;gap:24px;padding:31px 0;border-bottom:1px solid var(--line);align-items:start}.subscription-audience-list span{color:var(--plum);font-size:.65rem;font-weight:750;text-transform:uppercase;letter-spacing:.1em}.subscription-audience-list h3{margin:0;font-size:1.8rem}.subscription-audience-list p{margin:0;color:var(--muted);font-size:.76rem}
.subscription-form-section{padding:108px 0;background:var(--paper-deep)}.subscription-form-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:9%;align-items:start}.subscription-form-grid>div:first-child{position:sticky;top:35px}.subscription-form-grid h2{max-width:11ch}.subscription-form-grid>div:first-child>p{max-width:44ch;color:var(--muted)}.subscription-form-grid dl{margin:42px 0 0}.subscription-form-grid dl div{display:grid;grid-template-columns:35px 1fr;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.subscription-form-grid dt{color:var(--plum);font:500 1rem var(--serif)}.subscription-form-grid dd{margin:0;color:var(--muted);font-size:.73rem}.subscription-form-panel{padding:42px;background:var(--white);box-shadow:var(--shadow)}.subscription-success{display:grid;gap:5px;margin-bottom:27px;padding:18px 20px;border-top:1px solid var(--sage);background:#f0f4ee;color:#41553d;font-size:.76rem}.subscription-success strong{font-family:var(--serif);font-size:1.6rem;font-weight:500}.subscription-form .inquiry-submit{padding-top:4px}
.subscription-faq{display:grid;grid-template-columns:.72fr 1.28fr;gap:9%}.subscription-faq>div:first-child p{color:var(--muted)}.subscription-faq-list{border-top:1px solid var(--line)}.subscription-faq-list details{border-bottom:1px solid var(--line)}.subscription-faq-list summary{position:relative;list-style:none;padding:24px 45px 24px 0;cursor:pointer;font-weight:650;font-size:.84rem}.subscription-faq-list summary::-webkit-details-marker{display:none}.subscription-faq-list summary:after{content:"+";position:absolute;right:8px;color:var(--plum);font:500 1.5rem var(--serif)}.subscription-faq-list details[open] summary:after{content:"−"}.subscription-faq-list p{max-width:70ch;margin:0;padding:0 40px 25px 0;color:var(--muted);font-size:.76rem}
.admin-status-contacted{border-color:#a8baa3;color:#41553d;background:#f0f4ee}

/* The managed-site tier extends Essential without disguising its bespoke delivery scope. */
.subscription-plans{grid-template-columns:repeat(3,1fr)}
.subscription-plan{padding-inline:28px}
.subscription-plan-managed{background:#f1e3e8}
.plan-price-custom{align-items:flex-end;min-height:58px}
.plan-price-custom strong{font-size:2.65rem;letter-spacing:-.03em}
.plan-service-note{margin:22px 0 8px;padding:15px 17px;border-top:1px solid var(--rose);background:rgba(255,255,255,.48);color:var(--muted);font-size:.68rem}
.plan-service-note strong{display:block;margin-bottom:3px;color:var(--ink)}
.subscription-comparison tbody td:nth-child(4){background:rgba(199,91,130,.12);color:white}

@media(max-width:1100px) and (min-width:901px){.desktop-nav{gap:16px}.desktop-nav-link{font-size:.75rem}}
@media(max-width:900px){.subscriptions-hero-grid{padding-block:34px 58px}.subscriptions-hero-copy h1{max-width:15ch}.subscriptions-hero-copy>p{max-width:58ch}.subscription-principle{grid-template-columns:auto auto}.subscription-principle span{grid-column:1/-1;justify-self:start}.subscription-plans{grid-template-columns:1fr}.subscription-plan{border-right:0;border-bottom:1px solid var(--line)}.subscription-plan:last-child{border-bottom:0}.subscription-plan header p{min-height:0}.subscription-plan .button{margin-top:28px;transform:none}.subscription-audiences,.subscription-form-grid,.subscription-faq{grid-template-columns:1fr;gap:50px}.subscription-form-grid>div:first-child{position:static}}
@media(max-width:620px){.subscriptions-hero-grid{padding-block:30px 55px}.subscriptions-breadcrumbs{margin-bottom:38px}.subscriptions-hero-copy h1{font-size:3.45rem}.subscriptions-hero-copy>p{font-size:.9rem}.subscriptions-hero-actions{align-items:stretch;flex-direction:column;gap:18px}.subscriptions-text-link{text-align:center}.subscription-principle{grid-template-columns:1fr;gap:2px;padding-block:28px}.subscription-principle span{grid-column:auto;margin-top:15px}.subscription-section-head{display:block;margin-bottom:32px}.launch-note{margin-top:22px!important}.subscription-plan{padding:31px 20px}.subscription-plan header>span{margin-bottom:24px}.subscription-comparison-section{padding:72px 0}.subscription-audiences{gap:35px}.subscription-audience-list article{grid-template-columns:1fr;gap:10px}.subscription-form-section{padding:72px 0}.subscription-form-grid{gap:36px}.subscription-form-panel{margin-inline:-15px;padding:30px 20px}.subscription-faq{gap:26px}}

/* Success feedback uses a complete border, keeping emphasis calm and non-decorative. */
.subscription-success{border:1px solid #b7c3b3}

/* Final partnership finish: authored indicators, single-material offer sheet, and full keyboard focus. */
.subscriptions-text-link{display:inline-flex;align-items:center;gap:9px}.subscriptions-text-link svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.4}
.subscriptions-account-links{display:flex;align-items:center;gap:22px}.subscriptions-account-links a{min-height:44px;display:inline-flex;align-items:center}.subscriptions-login-link{color:#e4d9dd;font-size:.72rem;font-weight:650}
.subscription-faq-list summary:before,.subscription-faq-list summary:after{content:"";position:absolute;right:8px;top:50%;width:14px;height:1px;background:var(--plum)}.subscription-faq-list summary:after{transform:rotate(90deg)}.subscription-faq-list details[open] summary:after{content:"";transform:rotate(0)}
.subscription-form .inquiry-field input:focus-visible,.subscription-form .inquiry-field select:focus-visible,.subscription-form .inquiry-field textarea:focus-visible{outline:3px solid #c75b82;outline-offset:4px;border-color:var(--rose)}

@media(max-width:620px){.subscriptions-hero-grid{padding-block:22px 46px}.subscriptions-breadcrumbs{margin-bottom:18px}.subscriptions-hero-symbol{width:105px;height:54px;margin-bottom:13px}.subscriptions-hero-copy h1{max-width:12ch;font-size:clamp(2.65rem,10vw,3.4rem)}.subscriptions-hero-copy>p{margin:18px 0 25px;font-size:.86rem;line-height:1.55}.subscriptions-hero-actions{flex-direction:column;gap:17px}.subscriptions-hero-actions .button{min-height:44px;padding-inline:22px}.subscriptions-account-links{justify-content:center;flex-wrap:wrap;gap:10px 18px}.subscriptions-text-link{font-size:.72rem;text-align:center}}

/* The homepage atelier search is one task row; the panel itself is its only container. */
.home-atelier-panel .search-form-compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(180px,.55fr);padding:0;background:transparent;border:0}
.home-atelier-panel .search-form-compact .field{padding-block:7px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-atelier-panel .search-form-compact .button{grid-column:auto;min-height:100%;margin:0 0 0 8px}
@media(max-width:620px){.home-atelier-panel .search-form-compact{grid-template-columns:1fr}.home-atelier-panel .search-form-compact .field{border-top:1px solid var(--line);border-bottom:0}.home-atelier-panel .search-form-compact .field:nth-of-type(2){border-bottom:1px solid var(--line)}.home-atelier-panel .search-form-compact .button{min-height:52px;margin:10px 0 0}}

/* Supplier portal keeps account work calm and separate from editorial administration. */
.supplier-auth{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:start;padding-block:70px 100px}.supplier-auth h1{margin-top:55px}.supplier-auth>div:first-child>p{max-width:48ch;color:var(--muted)}.supplier-auth-panel{padding:42px;background:var(--white);box-shadow:var(--shadow)}.supplier-auth-panel>p{margin:24px 0 0;color:var(--muted);font-size:.75rem}.supplier-portal{padding-block:55px 100px}.supplier-portal-head{display:flex;justify-content:space-between;align-items:end;padding-bottom:34px;border-bottom:1px solid var(--line)}.supplier-portal-head h1{margin:6px 0 0}.supplier-portal-head>div:last-child{display:flex;align-items:center;gap:16px}.supplier-dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8%;padding-block:65px}.supplier-dashboard-grid>aside{padding:32px;background:var(--paper-deep)}.supplier-pending{max-width:760px;margin:70px auto;padding:55px;background:var(--paper-deep);text-align:center}.supplier-message{padding:22px 0;border-top:1px solid var(--line)}.supplier-message span{display:block;color:var(--muted);font-size:.68rem}.supplier-message p{margin:12px 0}.supplier-message textarea{width:100%;padding:10px;border:1px solid var(--line);font:inherit}.supplier-message .button{margin-top:10px}.supplier-faq-manager{padding-top:55px;border-top:1px solid var(--line)}.supplier-faq-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:42px}.supplier-faq-list article{padding:25px;background:var(--paper-deep)}.supplier-contact{display:grid;grid-template-columns:.8fr 1.2fr;column-gap:9%;row-gap:64px;padding:72px 56px;background:var(--paper-deep);border-radius:16px}.verified-supplier-badge{display:inline-block;margin:0 0 15px;padding:5px 10px;border:1px solid var(--rose);border-radius:999px;color:var(--plum);font-size:.62rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.supplier-question-form{padding:35px;background:var(--paper);border:1px solid var(--line);border-radius:14px}
@media(max-width:900px){.supplier-auth,.supplier-dashboard-grid,.supplier-contact{grid-template-columns:1fr}.supplier-auth{gap:40px}.supplier-auth h1{margin-top:35px}.supplier-dashboard-grid{gap:45px}.supplier-contact{row-gap:38px}.supplier-faq-list{grid-template-columns:1fr}}
@media(max-width:620px){.supplier-auth{padding-block:30px 70px}.supplier-auth-panel{margin-inline:-15px;padding:28px 20px}.supplier-contact{padding:46px 22px}.supplier-question-form{margin-inline:0;padding:26px 20px}.supplier-portal-head{align-items:start}.supplier-portal-head>div:last-child{align-items:end;flex-direction:column}.supplier-pending{padding:35px 22px}}
.supplier-profile-headline{color:var(--plum);font:italic 500 1.45rem var(--serif)}.supplier-public-documents{grid-column:1/-1;padding-top:28px;border-top:1px solid var(--line)}.supplier-public-documents a{display:block;margin-top:8px}
.supplier-public-faq{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:8%;padding:52px;background:var(--plum);color:white;box-shadow:0 24px 55px rgba(62,37,48,.14)}
.supplier-public-faq-head h3{max-width:8ch;margin:0 0 18px;color:white;font-size:clamp(2.5rem,4.6vw,4rem);line-height:.92}
.supplier-public-faq-head p{max-width:34ch;margin:0;color:#e2d5dc;font-size:.76rem;line-height:1.7}
.supplier-public-faq-list{align-self:start}
.supplier-public-faq details{border-top:1px solid #79576a}
.supplier-public-faq details:last-child{border-bottom:1px solid #79576a}
.supplier-public-faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:16px 0;color:white;font-size:.9rem;font-weight:700;line-height:1.45;list-style:none;cursor:pointer}
.supplier-public-faq summary::-webkit-details-marker{display:none}
.supplier-public-faq summary i{position:relative;flex:none;width:34px;height:34px;border:1px solid #a68193;border-radius:50%;transition:background-color .2s ease,border-color .2s ease}
.supplier-public-faq summary i:before,.supplier-public-faq summary i:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:white;transform:translate(-50%,-50%);transition:transform .25s cubic-bezier(.16,1,.3,1)}
.supplier-public-faq summary i:after{transform:translate(-50%,-50%) rotate(90deg)}
.supplier-public-faq summary:hover i{background:#79576a;border-color:#b894a6}
.supplier-public-faq summary:focus-visible{outline:3px solid #e7a9bd;outline-offset:5px}
.supplier-public-faq details[open] summary i:after{transform:translate(-50%,-50%) rotate(90deg) scaleX(0)}
.supplier-public-faq details p{max-width:62ch;margin:0;padding:0 58px 24px 0;color:#e2d5dc;font-size:.82rem;line-height:1.75}
@media(max-width:720px){.supplier-contact{row-gap:48px}.supplier-public-faq{grid-template-columns:1fr;gap:34px;margin-inline:-15px;padding:42px 28px}.supplier-public-faq-head h3{max-width:none;font-size:3rem}.supplier-public-faq details p{padding-right:0}}
@media(prefers-reduced-motion:reduce){.supplier-public-faq summary i,.supplier-public-faq summary i:after{transition:none}}
.supplier-media-list{display:grid;gap:.55rem;margin-top:.75rem}.supplier-media-list>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:.55rem;border-top:1px solid var(--line)}.supplier-media-list span{overflow:hidden;text-overflow:ellipsis}.supplier-media-list form{margin:0}.supplier-media-list .text-link{padding:.2rem;border:0;background:none;cursor:pointer}
.supplier-current-media{display:grid;gap:22px;margin:0 0 34px;padding:24px 0;border-block:1px solid var(--line)}.supplier-current-media>div:first-child{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:30px;align-items:start}.supplier-current-media h3{margin:0;font:600 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase}.supplier-current-media p{margin:0;color:var(--muted);font-size:.73rem}.supplier-media-group>strong{color:var(--plum);font-size:.65rem;letter-spacing:.09em;text-transform:uppercase}.supplier-media-file{display:flex;align-items:center;gap:12px;min-width:0}.supplier-media-file>img{width:52px;height:52px;flex:none;object-fit:cover}.supplier-media-file>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inquiry-field>small{display:block;margin-top:7px;color:var(--muted);font-size:.69rem;line-height:1.55}
@media(max-width:620px){.supplier-current-media>div:first-child{grid-template-columns:1fr;gap:8px}.supplier-media-list>div{align-items:flex-start}.supplier-media-file>img{width:46px;height:46px}}
.supplier-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:14px 18px;background:var(--plum);color:white;font-size:.78rem}.supplier-preview-bar a{font-weight:700;text-decoration-color:var(--rose-soft)}
@media(max-width:620px){.supplier-preview-bar{align-items:flex-start;flex-direction:column;gap:7px;margin-top:15px}}

/* Atelier profiles open like an editorial folio while keeping missing photography explicit. */
.profile-head{position:relative;padding-top:38px;padding-bottom:18px;isolation:isolate}
.profile-head:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(112deg,var(--paper) 0 63%,rgba(234,214,213,.52) 63% 100%);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(0 -100vmax)}
.profile-head .breadcrumbs{margin-bottom:54px}
.profile-title{align-items:center;padding:12px 0 50px}
.profile-title-copy{max-width:790px}
.profile-eyebrow{display:flex;align-items:center;gap:16px;min-height:30px}
.profile-title h1{font-size:clamp(4.1rem,8vw,7.1rem);line-height:.82;max-width:9.5ch;margin:26px 0 28px;text-wrap:balance}
.profile-lede{max-width:58ch;margin:0;color:var(--muted);font-size:1rem;line-height:1.75}
.supplier-profile-headline{max-width:28ch;margin:-4px 0 22px;color:var(--plum);font:italic 500 clamp(1.35rem,2.5vw,1.85rem)/1.18 var(--serif)}
.profile-title-aside{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;padding:8px 0 5px}
.profile-folio-mark{color:var(--muted);font-size:.58rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}
.profile-hero-rule{display:block;width:100%;height:1px;background:var(--rose);transform-origin:left}
.profile-gallery{margin-top:34px;box-shadow:0 26px 70px rgba(62,37,48,.11)}
.gallery-item img{transition:transform .8s cubic-bezier(.16,1,.3,1)}
.gallery-item:hover img{transform:scale(1.025)}
.profile-gallery.gallery-count-0{height:480px;background:var(--plum)}
.profile-gallery-placeholder{position:relative;display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1fr);align-items:stretch;padding:0;overflow:hidden;background:linear-gradient(112deg,var(--plum-dark) 0 38%,var(--paper-deep) 38% 100%);box-shadow:none;text-align:left}
.profile-gallery-placeholder:before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.3);width:auto;height:auto;margin:0;background:transparent;pointer-events:none}
.profile-gallery-placeholder:after{display:none}
.profile-placeholder-index{position:absolute;z-index:2;top:38px;right:42px;color:var(--plum);font:600 .7rem var(--serif);letter-spacing:.14em}
.profile-gallery-placeholder>.profile-placeholder-monogram{align-self:center;justify-self:center;color:rgba(255,255,255,.82);font:italic 500 clamp(8rem,19vw,14rem)/1 var(--serif);letter-spacing:0;text-transform:none;transform:translateY(-2%)}
.profile-placeholder-copy{align-self:center;padding:62px clamp(48px,7vw,92px)}
.profile-gallery-placeholder .profile-placeholder-copy:before{content:"";display:block;width:78px;height:1px;margin-bottom:34px;background:var(--rose)}
.profile-gallery-placeholder strong{display:block;margin:13px 0 18px;font-size:clamp(3.4rem,7vw,6.2rem);line-height:.82;max-width:9ch;text-wrap:balance}
.profile-gallery-placeholder small,.profile-gallery-placeholder .profile-placeholder-copy>span{display:block}
.profile-gallery-placeholder p{margin-top:28px;max-width:36ch;font-size:.78rem}
@media (prefers-reduced-motion:no-preference){
  .profile-head .breadcrumbs{animation:profile-fade-in .55s cubic-bezier(.16,1,.3,1) both}
  .profile-title h1{animation:profile-title-open .8s .08s cubic-bezier(.16,1,.3,1) both}
  .profile-title-copy>:not(h1),.profile-title-aside{animation:profile-fade-in .65s .18s cubic-bezier(.16,1,.3,1) both}
  .profile-hero-rule{animation:profile-rule-draw .75s .14s cubic-bezier(.16,1,.3,1) both}
  .profile-gallery{animation:profile-gallery-settle .8s .22s cubic-bezier(.16,1,.3,1) both}
  @keyframes profile-title-open{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(24px)}to{opacity:1;clip-path:inset(0);transform:none}}
  @keyframes profile-rule-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes profile-gallery-settle{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
  @keyframes profile-fade-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
}

/* Verified reviews describe a completed Da, facem! visit; they never imply a contract or a verified wedding. */
.couple-review-panel {
  grid-column: 1 / -1;
  margin-top: 28px;
  padding: 28px;
  border: 1px solid var(--line);
  background: var(--white);
}

.couple-review-panel-heading,
.couple-review-state,
.supplier-review-verified {
  display: flex;
  align-items: center;
}

.couple-review-panel-heading { gap: 15px; }
.couple-review-panel-heading svg {
  width: 42px;
  height: 42px;
  padding: 9px;
  border-radius: 50%;
  color: var(--plum);
  background: var(--white);
  stroke: currentColor;
  fill: none;
  stroke-width: 1.4;
}
.couple-review-panel-heading h4 { margin: 0; font: 500 1.8rem/1.05 "Cormorant Garamond", Georgia, serif; }
.couple-review-boundary { max-width: 72ch; margin: 18px 0; color: var(--muted); }
.couple-review-ratings { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.couple-review-ratings label,
.couple-review-body label { display: block; margin-bottom: 7px; color: var(--plum); font-size: .72rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.couple-review-ratings select,
.couple-review-body textarea { width: 100%; border: 1px solid var(--line); background: var(--white); color: var(--ink); }
.couple-review-ratings select { min-height: 48px; padding: 0 13px; }
.couple-review-body { margin: 15px 0; }
.couple-review-body textarea { min-height: 118px; padding: 13px; resize: vertical; }
.couple-review-body small { display: block; margin-top: 6px; color: var(--muted); }
.couple-review-state { justify-content: space-between; gap: 20px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.couple-review-state strong { color: var(--plum); }
.couple-review-state p { margin: 4px 0 0; color: var(--muted); }
.couple-review-withdraw { min-height: 48px; border: 0; padding: 0 14px; background: transparent; cursor: pointer; }
.couple-review-withdraw:focus-visible { outline: 3px solid var(--focus-rose); outline-offset: 3px; }

.supplier-public-reviews { padding-block: clamp(64px, 8vw, 110px); }
.supplier-public-reviews > header { display: grid; grid-template-columns: minmax(0, .8fr) minmax(280px, .55fr); gap: 8vw; align-items: end; padding-bottom: 26px; border-bottom: 1px solid var(--rose); }
.supplier-public-reviews h2 { margin: 0; font: 500 clamp(2.5rem, 5vw, 4.4rem)/.98 "Cormorant Garamond", Georgia, serif; }
.supplier-public-reviews > header > p { margin: 0; color: var(--muted); line-height: 1.7; }
.supplier-review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
.supplier-review-card { position: relative; padding: clamp(24px, 4vw, 42px); border: 1px solid var(--line); background: var(--white); box-shadow: 0 18px 45px rgba(64, 32, 54, .07); }
.supplier-review-verified { gap: 8px; color: var(--plum); font-size: .72rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.supplier-review-verified svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.supplier-review-stars { margin: 24px 0 14px; color: var(--rose); font-size: 1.2rem; letter-spacing: .15em; }
.supplier-review-card blockquote { margin: 0; font: italic 500 clamp(1.35rem, 2.2vw, 1.8rem)/1.35 "Cormorant Garamond", Georgia, serif; }
.supplier-review-card blockquote p { margin: 0; }
.supplier-review-card dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 28px 0 0; padding-top: 18px; border-top: 1px solid var(--line); }
.supplier-review-card dl div { display: flex; justify-content: space-between; gap: 8px; }
.supplier-review-card dt { color: var(--muted); font-size: .75rem; }
.supplier-review-card dd { margin: 0; color: var(--plum); font-weight: 750; }
.supplier-review-card footer { margin-top: 20px; color: var(--muted); font-size: .78rem; }

@media (max-width: 760px) {
  .couple-review-panel { padding: 22px 18px; }
  .couple-review-ratings,
  .supplier-review-grid,
  .supplier-public-reviews > header { grid-template-columns: 1fr; }
  .couple-review-state { align-items: flex-start; flex-direction: column; }
  .supplier-public-reviews > header { gap: 18px; }
  .supplier-review-card dl { grid-template-columns: 1fr; }
}
@media(max-width:900px){.profile-title h1{font-size:clamp(4rem,10vw,6rem)}.profile-gallery-placeholder{grid-template-columns:minmax(150px,.55fr) 1fr}.profile-placeholder-copy{padding-inline:48px}}
@media(max-width:620px){
  .profile-head{padding-top:26px;padding-bottom:12px}
  .profile-head:before{background:linear-gradient(155deg,var(--paper) 0 72%,rgba(234,214,213,.55) 72% 100%)}
  .profile-head .breadcrumbs{margin-bottom:38px}
  .profile-title{padding:0 0 35px}
  .profile-eyebrow{align-items:flex-start;flex-direction:column;gap:8px}
  .profile-title h1{font-size:clamp(3.65rem,17vw,5rem);line-height:.83;margin:23px 0 25px}
  .supplier-profile-headline{font-size:1.38rem;margin-bottom:18px}
  .profile-lede{font-size:.9rem}
  .profile-title-aside{align-items:flex-start;gap:15px;margin-top:27px;padding:0}
  .profile-folio-mark{writing-mode:horizontal-tb;transform:none}
  .profile-gallery{margin-top:22px}
  .profile-gallery.gallery-count-0{height:470px}
  .profile-gallery-placeholder{display:block;background:linear-gradient(174deg,var(--plum-dark) 0 34%,var(--paper-deep) 34% 100%)}
  .profile-gallery-placeholder:before{inset:14px}
  .profile-placeholder-index{top:27px;right:29px;color:rgba(255,255,255,.78)}
  .profile-gallery-placeholder>.profile-placeholder-monogram{position:absolute;top:34px;left:38px;font-size:8.8rem;line-height:.8}
  .profile-placeholder-copy{position:absolute;inset:155px 0 auto;padding:0 40px}
  .profile-gallery-placeholder .profile-placeholder-copy:before{width:54px;margin-bottom:24px}
  .profile-gallery-placeholder strong{font-size:3.4rem;margin:10px 0 15px}
  .profile-gallery-placeholder p{margin-top:22px;font-size:.72rem}
}

/* Consent is an explicit choice: equal actions, no tracking wall, always reopenable. */
.privacy-consent[hidden]{display:none!important}.privacy-consent{position:fixed;z-index:80;right:24px;bottom:24px;width:min(760px,calc(100% - 48px));background:#fffaf6;color:var(--ink);box-shadow:0 24px 70px rgba(56,29,45,.2);border-top:1px solid #c992a6}.privacy-consent-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;padding:28px 30px}.privacy-consent-copy{display:grid;grid-template-columns:42px minmax(0,1fr);gap:18px}.privacy-consent-copy>svg{width:38px;height:38px;fill:none;stroke:var(--plum);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.privacy-consent h2{margin:0 0 8px;font-size:2rem}.privacy-consent p{max-width:64ch;margin:0;color:#66555e;font-size:.78rem;line-height:1.6}.privacy-consent .privacy-consent-status{margin-top:9px;color:var(--plum);font-size:.68rem;font-weight:700}.privacy-consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-content:center;min-width:270px}.privacy-consent-actions button{min-height:46px;padding:0 15px;border:1px solid var(--plum);border-radius:10px;background:transparent;color:var(--plum);font:700 .7rem var(--sans);cursor:pointer}.privacy-consent-actions button:hover{background:#f1dce4}.privacy-consent-actions button:active{transform:translateY(1px)}.privacy-consent-actions a{grid-column:1/-1;justify-self:center;margin-top:4px;color:var(--plum);font-size:.65rem;font-weight:700;text-underline-offset:5px}
.admin-chart-line.is-signup{stroke:#5c3850}.admin-chart-line.is-wedding{stroke:#bd7c94}.admin-chart-line.is-activation{stroke:#738269}.admin-chart-line.is-visitors{stroke:#9f6a7e}.admin-chart-dot.is-visitors{fill:#9f6a7e}.admin-chart-legend .is-signup{color:#5c3850}.admin-chart-legend .is-wedding{color:#bd7c94}.admin-chart-legend .is-activation{color:#738269}.admin-chart-consent,.admin-chart-visitors{background:#fffaf7}
@media(max-width:760px){.privacy-consent{right:12px;bottom:12px;width:calc(100% - 24px)}.privacy-consent-inner{grid-template-columns:1fr;gap:22px;padding:24px 20px}.privacy-consent-copy{grid-template-columns:34px minmax(0,1fr);gap:13px}.privacy-consent-copy>svg{width:32px;height:32px}.privacy-consent h2{font-size:1.75rem}.privacy-consent-actions{min-width:0}.privacy-consent-actions button{min-height:48px}}
@media(prefers-reduced-motion:reduce){.profile-head *,.profile-gallery{animation:none!important}.gallery-item img{transition:none}}

/* The supplier portal is a working atelier: a composed entry, clear chapters, and quiet action feedback. */
.supplier-portal{padding-top:30px}
.supplier-portal-head{position:relative;min-height:330px;padding:55px 58px;overflow:hidden;border:0;background:var(--plum);color:white;align-items:stretch;isolation:isolate}
.supplier-portal-head:before{content:"";position:absolute;z-index:-1;inset:-1px -1px -1px 58%;background:var(--rose-soft);clip-path:polygon(32% 0,100% 0,100% 100%,0 100%)}
.supplier-portal-head:after{content:"";position:absolute;right:44px;bottom:35px;width:110px;height:1px;background:rgba(88,45,72,.52);transform-origin:right}
.supplier-portal-intro{display:flex;flex-direction:column;justify-content:space-between;max-width:590px}
.supplier-portal-intro h1{max-width:8ch;margin:0;color:white;font-size:clamp(4rem,7vw,6rem);line-height:.82;text-wrap:balance}
.supplier-portal-intro>p{display:grid;gap:7px;max-width:44ch;margin:42px 0 0;color:#e9dfe4;font-size:.78rem}
.supplier-portal-intro>p strong{color:white;font:500 1.45rem var(--serif)}
.supplier-portal-actions{position:relative;z-index:1;align-self:stretch;display:flex!important;flex-direction:column;align-items:flex-end!important;justify-content:flex-start;gap:14px!important;color:var(--plum)}
.supplier-plan{display:grid;justify-items:end;margin-bottom:auto;padding-bottom:16px;border-bottom:1px solid rgba(88,45,72,.3)}
.supplier-plan span{font-size:.58rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.supplier-plan strong{font:500 1.55rem var(--serif)}
.supplier-plan-upgrade{margin-top:5px;color:var(--plum);font-size:.7rem;font-weight:750;text-decoration-color:var(--rose);text-underline-offset:5px}
.supplier-plan-upgrade:hover{color:var(--plum-dark);text-decoration-thickness:2px}
.supplier-preview-action{min-width:180px;background:var(--plum);color:white}
.supplier-preview-action:hover{background:var(--plum-dark)}
.supplier-portal-actions form{margin:0}
.supplier-logout{padding:5px 0;border:0;background:transparent;color:var(--plum);font:700 .72rem var(--sans);text-decoration:underline;text-decoration-color:var(--rose);text-underline-offset:5px;cursor:pointer}
.supplier-portal>.subscription-success,.supplier-portal>.inquiry-errors{margin:22px 0 0}
.supplier-portal-nav{position:sticky;z-index:20;top:0;display:flex;align-items:center;gap:4px;margin-bottom:0;padding:15px 0;background:rgba(247,242,236,.96);border-bottom:1px solid var(--line)}
.supplier-portal-nav a{display:flex;align-items:center;gap:8px;padding:8px 15px;color:var(--muted);font-size:.72rem;font-weight:700;text-decoration:none;white-space:nowrap;transition:background-color .18s ease,color .18s ease}
.supplier-portal-nav a:hover,.supplier-portal-nav a:focus-visible{background:var(--rose-soft);color:var(--plum)}
.supplier-portal-nav a:first-child{padding-left:0;color:var(--plum)}
.supplier-portal-nav a span{display:grid;place-items:center;min-width:23px;height:23px;padding-inline:6px;border:1px solid var(--rose);border-radius:999px;color:var(--plum);font-size:.62rem;font-variant-numeric:tabular-nums}
.supplier-dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:34px;align-items:start;padding:34px 0 85px}
.supplier-editor-panel{min-width:0;padding:46px 48px 50px;background:var(--white);box-shadow:var(--shadow)}
.supplier-section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:35px}
.supplier-section-head h2{margin:0;font-size:clamp(2.35rem,4vw,3.25rem)}
.supplier-section-head p{max-width:36ch;margin:0;color:var(--muted);font-size:.72rem}
.supplier-editor-panel>.inquiry-form{display:block}
.supplier-form-section{min-width:0;margin:0;padding:35px 0 40px;border:0;border-top:1px solid var(--line)}
.supplier-form-section legend{padding:0 25px 0 0;color:var(--plum);font:500 1.65rem var(--serif)}
.supplier-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;padding-top:22px}
.supplier-price-intro{max-width:66ch;margin:10px 0 0;color:var(--muted);line-height:1.55}.supplier-price-status{margin:18px 0 0;color:var(--plum);font-size:.87rem}.supplier-price-guide{margin:18px 0 24px;padding:18px 0;border-top:1px solid var(--rose);border-bottom:1px solid var(--line)}.supplier-price-guide h3{margin:0 0 8px;font:500 1.55rem/1.1 var(--serif)}.supplier-price-guide .supplier-price-value{margin:0;color:var(--plum);font-weight:700;line-height:1.45}.supplier-price-guide p:not(.supplier-price-value){margin:9px 0 0;line-height:1.5}.supplier-price-guide small{display:block;margin-top:12px;color:var(--muted);line-height:1.5}
.supplier-form-section .inquiry-field input,.supplier-form-section .inquiry-field select,.supplier-form-section .inquiry-field textarea{background:#fffefa;transition:border-color .16s ease,box-shadow .22s ease,background-color .16s ease}
.supplier-form-section .inquiry-field input:hover,.supplier-form-section .inquiry-field select:hover,.supplier-form-section .inquiry-field textarea:hover{border-color:var(--rose)}
.supplier-form-section .inquiry-field input:focus,.supplier-form-section .inquiry-field select:focus,.supplier-form-section .inquiry-field textarea:focus{background:white;box-shadow:0 10px 24px rgba(62,37,48,.08)}
.supplier-current-media{margin-bottom:42px;padding:26px;background:var(--paper-deep);border:0}
.supplier-current-media>div:first-child{grid-template-columns:.65fr 1.35fr}
.supplier-media-list>div{padding:10px 0;border-top:1px solid rgba(110,98,104,.25)}
.supplier-media-file>img{transition:transform .35s cubic-bezier(.16,1,.3,1),filter .25s ease}
.supplier-media-file:hover>img{transform:scale(1.06);filter:saturate(1.08)}
.supplier-save-row{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:26px;border-top:1px solid var(--rose)}
.supplier-save-row p{max-width:38ch;margin:0;color:var(--muted);font-size:.7rem}
.supplier-save-row .button{min-width:210px}
.supplier-inbox{position:sticky;top:78px;padding:39px 35px 42px!important;background:var(--plum)!important;color:white;box-shadow:0 24px 50px rgba(62,37,48,.16)}
.supplier-inbox .supplier-section-head{align-items:start;margin-bottom:26px}
.supplier-inbox .supplier-section-head h2{color:white;font-size:2.65rem}
.supplier-inbox .supplier-section-head p{margin-top:10px;color:#d9cbd2}
.supplier-inbox .supplier-section-head>span{display:grid;place-items:center;min-width:42px;height:42px;border:1px solid #987487;border-radius:50%;font:500 1.25rem var(--serif);font-variant-numeric:tabular-nums}
.supplier-inbox>.button-outline{width:100%;border-color:#a68193;color:white}
.supplier-inbox>.button-outline:hover{background:white;border-color:white;color:var(--plum)}
.supplier-message{border-color:#79576a}
.supplier-message>span{color:#d9cbd2}
.supplier-message textarea{background:#fffdf9;border:0;resize:vertical}
.supplier-message .button{border-color:#a68193;color:white}
.supplier-message .button:hover{background:white;color:var(--plum)}
.supplier-empty-message{padding-top:25px;border-top:1px solid #79576a;color:#d9cbd2;font-size:.8rem}
.supplier-faq-manager{padding:75px 48px 0;border-top:1px solid var(--rose);background:linear-gradient(180deg,rgba(234,214,213,.38),transparent 280px)}
.supplier-appointment-action{margin-top:25px}
.supplier-appointments-manager{scroll-margin-top:72px;padding:72px 48px;background:var(--white);border-top:1px solid var(--rose)}
.supplier-crm-summary{display:grid;grid-template-columns:repeat(6,minmax(105px,1fr));margin:0 0 14px;border-block:1px solid var(--rose)}
.supplier-crm-summary>div{display:grid;gap:3px;min-width:0;padding:16px 12px;border-right:1px solid var(--line)}
.supplier-crm-summary>div:last-child{border-right:0}.supplier-crm-summary strong{color:var(--plum);font:500 1.65rem/1 var(--serif);font-variant-numeric:tabular-nums}.supplier-crm-summary span{color:var(--muted);font-size:.61rem;font-weight:700}
.supplier-crm-explainer{max-width:76ch;margin:0 0 30px;color:var(--muted);font-size:.7rem;line-height:1.65}
.supplier-appointment-list{border-top:1px solid var(--line)}
.supplier-appointment{display:grid;grid-template-columns:155px minmax(240px,1fr) 280px;gap:34px;align-items:start;padding:30px 0;border-bottom:1px solid var(--line);scroll-margin-top:88px}
.supplier-appointment-when span{display:block;color:var(--plum);font:500 1.65rem/1 var(--serif);font-variant-numeric:tabular-nums}.supplier-appointment-when strong{display:block;margin-top:10px;color:var(--muted);font-size:.67rem}.supplier-appointment-when p{margin:22px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--ink);font-size:.7rem}.supplier-appointment-when p b,.supplier-appointment-when p small{display:block}.supplier-appointment-when p b{margin-bottom:4px;color:var(--plum);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}.supplier-appointment-when p small{margin-top:3px;color:var(--muted)}
.supplier-appointment-person header{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.supplier-appointment-person h3{margin:0;font-size:1.45rem}.supplier-appointment-person>p{margin:12px 0;color:var(--muted);font-size:.76rem}.supplier-appointment-person>div{display:flex;gap:18px;flex-wrap:wrap;font-size:.7rem}.supplier-appointment-person a{text-underline-offset:4px;text-decoration-color:var(--rose)}.supplier-appointment-person blockquote{margin:18px 0;padding:14px 16px;border:0;background:var(--paper);color:var(--muted);font-size:.7rem}.supplier-appointment-waiting{display:block;margin-top:18px;color:var(--plum);font-weight:700}
.supplier-appointment-status{padding:5px 9px;border:1px solid var(--rose);border-radius:999px;color:var(--plum);font-size:.58rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.supplier-appointment-state{display:grid;gap:9px}.supplier-appointment-state>[data-supplier-schedule-fields],.supplier-appointment-state>[data-supplier-note-field]{display:grid;gap:9px}.supplier-appointment-state>[hidden]{display:none}.supplier-appointment-state label{margin-top:4px;color:var(--plum);font-size:.6rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.supplier-appointment-state select,.supplier-appointment-state input,.supplier-appointment-state textarea{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--line);background:#fffefa;color:var(--ink);font:500 .72rem var(--sans)}.supplier-appointment-state textarea{resize:vertical}.supplier-appointment-state select:focus,.supplier-appointment-state input:focus,.supplier-appointment-state textarea:focus{outline:3px solid var(--focus-rose,#c75b82);outline-offset:3px}.supplier-appointment-state .button{min-height:44px;margin-top:5px;padding:9px 12px;font-size:.66rem}.supplier-appointment-closed{padding:20px;background:var(--paper)}.supplier-appointment-closed span{color:var(--plum);font-size:.6rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.supplier-appointment-closed p{margin:8px 0 0;color:var(--muted);font-size:.7rem}
.supplier-crm-panel{grid-column:1/-1;display:grid;grid-template-columns:155px minmax(0,1fr);gap:34px;padding:24px;background:var(--paper-deep)}
.supplier-crm-panel-copy h4{margin:0;color:var(--plum);font:500 1.4rem/1 var(--serif)}.supplier-crm-panel-copy p{margin:9px 0 0;color:var(--muted);font-size:.64rem;line-height:1.55}
.supplier-crm-form{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(260px,1.45fr) auto;gap:12px;align-items:end}.supplier-crm-form>div{display:grid;gap:7px}.supplier-crm-form label{color:var(--plum);font-size:.58rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.supplier-crm-form select,.supplier-crm-form textarea{width:100%;min-height:44px;padding:9px 11px;border:1px solid var(--line);background:var(--white);color:var(--ink);font:500 .7rem var(--sans)}.supplier-crm-form textarea{resize:vertical}.supplier-crm-form select:focus,.supplier-crm-form textarea:focus{outline:3px solid var(--focus-rose,#c75b82);outline-offset:3px}.supplier-crm-form .button{min-height:44px;padding-inline:15px;font-size:.64rem;white-space:nowrap}
.supplier-empty-appointments{margin:0;padding:32px 0;border-top:1px solid var(--line);color:var(--muted)}
.supplier-appointment-upgrade{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:35px;background:var(--paper-deep)}.supplier-appointment-upgrade strong{font:500 1.55rem var(--serif)}.supplier-appointment-upgrade p{max-width:58ch;margin:9px 0 0;color:var(--muted);font-size:.76rem}
.supplier-retained-visits{margin-bottom:34px}.supplier-retained-visits h3{margin:0;font:500 1.7rem var(--serif)}.supplier-retained-visits>p{max-width:68ch;margin:8px 0 22px;color:var(--muted);font-size:.76rem}.supplier-appointment-readonly{grid-template-columns:minmax(230px,1fr) minmax(240px,2fr)}.supplier-appointment-readonly .supplier-appointment-when span{font-size:1.35rem;line-height:1.2}.supplier-appointment-readonly .supplier-appointment-person>div{margin-top:15px;overflow-wrap:anywhere}
.supplier-availability-manager{scroll-margin-top:72px;padding:72px 48px;background:var(--paper-deep);border-top:1px solid var(--rose)}
.supplier-availability-state{padding:7px 11px;border:1px solid var(--rose);border-radius:999px;color:var(--plum);font-size:.58rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.supplier-event-availability{margin:0 0 52px;padding:34px;background:var(--porcelain);border-block:1px solid var(--rose);scroll-margin-top:72px}.supplier-event-availability-intro{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:36px;align-items:start}.supplier-event-availability h3{margin:0;font-size:2rem}.supplier-event-availability-intro p{max-width:66ch;margin:3px 0 0;color:var(--muted);font-size:.74rem;line-height:1.7}.supplier-event-availability-form{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;gap:12px;align-items:end;margin-top:27px}.supplier-event-availability-form .button{min-height:48px}.supplier-event-availability-list{margin:30px 0 0;padding:0;border-top:1px solid var(--line);list-style:none}.supplier-event-availability-list li{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(0,1.3fr) auto;gap:24px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.supplier-event-availability-list time{font:500 1.1rem var(--serif)}.supplier-event-availability-list li>div{display:grid;justify-items:start;gap:4px}.supplier-event-availability-list span,.supplier-event-availability-list small{color:var(--muted);font-size:.66rem}.supplier-event-availability-empty{margin:28px 0 0;color:var(--muted);font-size:.72rem}.event-status{display:inline-flex;align-items:center;min-height:27px;padding:3px 9px;border:1px solid var(--line);border-radius:999px;color:var(--plum);font-size:.64rem;font-weight:750}.event-status-available{border-color:#8ca083;background:#eff4ec;color:#40513b}.event-status-limited{border-color:#c9a76d;background:#faf2df;color:#705526}.event-status-unavailable{border-color:#c7979f;background:#faecee;color:#762f42}.venue-event-date{display:grid;justify-items:start;gap:8px;margin:0 0 25px;padding:20px 0;border-block:1px solid var(--rose)}.venue-event-date p{margin:0;color:var(--plum);font-size:.68rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.venue-event-date>strong:not(.event-status){font:500 1.32rem var(--serif)}.venue-event-date span{color:var(--ink);font-size:.74rem}.venue-event-date small{color:var(--muted);font-size:.65rem;line-height:1.55}
.supplier-event-availability-list li.is-expired{background:linear-gradient(90deg,rgba(250,242,223,.48),transparent)}.supplier-event-availability-actions{display:flex!important;grid-auto-flow:column;align-items:center;justify-content:end!important;gap:8px!important}.supplier-event-availability-actions form{margin:0}.event-availability-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;font-size:.62rem}.event-status-expired{border-color:#b89973;background:#faf2df;color:#6b5031}
.supplier-availability-form fieldset{margin:0;padding:0;border:0}.supplier-availability-form legend{font:500 2rem var(--serif)}.supplier-availability-form fieldset>p{max-width:66ch;margin:8px 0 26px;color:var(--muted);font-size:.74rem}
.supplier-availability-grid{border-top:1px solid var(--line)}.supplier-availability-grid-head,.supplier-availability-day{display:grid;grid-template-columns:minmax(120px,1.2fr) repeat(3,minmax(105px,1fr));align-items:center}.supplier-availability-grid-head{min-height:42px;color:var(--plum);font-size:.57rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.supplier-availability-day{min-height:62px;border-top:1px solid rgba(217,204,194,.72)}.supplier-availability-day>strong{font:500 1.08rem var(--serif)}.supplier-availability-day label{display:flex;align-items:center;gap:9px;min-height:44px;color:var(--muted);font-size:.65rem;cursor:pointer}.supplier-availability-day input{width:20px;height:20px;accent-color:var(--plum)}.supplier-availability-day label:has(input:focus-visible){outline:3px solid var(--focus-rose,#c75b82);outline-offset:3px}.supplier-availability-day label:hover{color:var(--ink)}
.supplier-availability-save{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px}.supplier-availability-save p{margin:0;color:var(--muted);font-size:.7rem}.supplier-unavailable-dates{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(420px,1.25fr);gap:36px;margin-top:55px;padding-top:42px;border-top:1px solid var(--line)}.supplier-unavailable-dates h3{margin:0;font-size:2rem}.supplier-unavailable-dates>div>p{color:var(--muted);font-size:.72rem}.supplier-unavailable-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.supplier-unavailable-form .button{min-height:48px}.supplier-unavailable-dates ul{grid-column:2;margin:10px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.supplier-unavailable-dates li{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.68rem}.supplier-unavailable-dates li span{display:grid;gap:3px;color:var(--muted)}.supplier-unavailable-dates li strong{color:var(--ink)}
.appointment-no-availability{grid-column:1/-1;padding:30px;background:var(--paper)}.appointment-no-availability strong{font:500 1.65rem var(--serif)}.appointment-no-availability p{max-width:58ch;color:var(--muted);font-size:.76rem}.appointment-no-availability .button{margin-top:12px}
.appointment-response{display:grid;place-items:center;min-height:640px;padding-block:36px}.appointment-response-sheet{width:min(680px,100%);padding:38px 58px;background:var(--white);box-shadow:var(--shadow);text-align:center}.appointment-response-mark{display:grid;place-items:center;width:48px;height:54px;margin:0 auto 13px;border:1px solid var(--rose);border-radius:48% 48% 42% 42%;color:var(--plum);font:italic 1.5rem var(--serif)}.appointment-response-business{margin:0;color:var(--plum);font-size:.64rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.appointment-response h1{max-width:13ch;margin:15px auto;font-size:clamp(3rem,5vw,4rem);line-height:.9}.appointment-response-date{display:grid;gap:5px;margin:20px 0;padding-block:16px;border-block:1px solid var(--line)}.appointment-response-date strong{font:500 1.8rem var(--serif)}.appointment-response-date span{color:var(--muted);font-size:.73rem}.appointment-response blockquote{max-width:52ch;margin:18px auto;padding:15px 18px;background:var(--paper);color:var(--muted);font-size:.78rem}.appointment-response-sheet>p:not(.appointment-response-business,.appointment-response-date,.subscription-success,.inquiry-errors){max-width:48ch;margin:15px auto 0;color:var(--muted);font-size:.78rem}.appointment-response-actions{display:flex;justify-content:center;gap:10px;margin-top:18px}.appointment-response-actions form{margin:0}
.supplier-faq-manager>.supplier-section-head{align-items:start}
.supplier-faq-manager>.inquiry-form{max-width:820px}
.supplier-faq-list article{background:var(--white);box-shadow:0 14px 34px rgba(62,37,48,.08)}
@media(prefers-reduced-motion:no-preference){
  .supplier-portal-head:before{animation:supplier-curtain-open .7s cubic-bezier(.16,1,.3,1) both}
  .supplier-portal-head:after{animation:supplier-line-draw .7s .12s cubic-bezier(.16,1,.3,1) both}
  .supplier-portal-intro h1{animation:supplier-title-open .7s .05s cubic-bezier(.16,1,.3,1) both}
  .supplier-portal-intro>p,.supplier-portal-actions{animation:supplier-content-arrive .55s .16s cubic-bezier(.16,1,.3,1) both}
  .supplier-portal-nav{animation:supplier-nav-arrive .45s .22s cubic-bezier(.16,1,.3,1) both}
  @keyframes supplier-curtain-open{from{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}to{clip-path:polygon(32% 0,100% 0,100% 100%,0 100%)}}
  @keyframes supplier-line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes supplier-title-open{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(18px)}to{opacity:1;clip-path:inset(0);transform:none}}
  @keyframes supplier-content-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  @keyframes supplier-nav-arrive{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
}
@media(max-width:900px){.supplier-portal-head{min-height:310px}.supplier-dashboard-grid{grid-template-columns:1fr}.supplier-inbox{position:static}.supplier-section-head{align-items:start}.supplier-appointments-manager,.supplier-availability-manager,.supplier-faq-manager{padding-inline:35px}.supplier-crm-summary{grid-template-columns:repeat(3,1fr)}.supplier-crm-summary>div:nth-child(3){border-right:0}.supplier-crm-summary>div:nth-child(-n+3){border-bottom:1px solid var(--line)}.supplier-appointment{grid-template-columns:130px minmax(0,1fr)}.supplier-appointment-state,.supplier-appointment-closed{grid-column:2}.supplier-crm-panel{grid-template-columns:130px minmax(0,1fr)}.supplier-crm-form{grid-template-columns:1fr 1.4fr}.supplier-crm-form .button{grid-column:1/-1;width:max-content}.supplier-unavailable-dates{grid-template-columns:1fr}.supplier-unavailable-dates ul{grid-column:auto}.supplier-unavailable-form{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.supplier-event-availability-form{grid-template-columns:1fr 1fr}.supplier-event-availability-form .button{width:max-content}.supplier-event-availability-list li{grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr) auto}}
@media(max-width:620px){
  .supplier-portal{padding-top:15px}
  .supplier-portal-head{display:block;min-height:440px;margin-inline:0;padding:34px 26px}
  .supplier-portal-head:before{inset:58% -1px -1px 18%;clip-path:polygon(35% 0,100% 0,100% 100%,0 100%)}
  .supplier-portal-head:after{right:25px;bottom:22px;width:72px}
  .supplier-portal-intro h1{font-size:3.8rem}
  .supplier-portal-intro>p{margin-top:28px}
  .supplier-portal-actions{position:absolute;right:26px;bottom:38px;align-items:flex-end!important;gap:10px!important}
  .supplier-plan{margin-bottom:2px;padding-bottom:9px}
  .supplier-preview-action{min-width:160px}
  .supplier-portal-nav{margin-inline:-15px;padding-inline:15px;overflow-x:auto;scrollbar-width:none}
  .supplier-portal-nav::-webkit-scrollbar{display:none}
  .supplier-portal-nav a:first-child{padding-left:15px}
  .supplier-dashboard-grid{gap:28px;padding:20px 0 65px}
  .supplier-editor-panel{margin-inline:-15px;padding:34px 24px 38px}
  .supplier-section-head{display:block;margin-bottom:28px}
  .supplier-section-head p{margin-top:10px}
  .supplier-form-section{padding-block:30px 34px}
  .supplier-form-fields{grid-template-columns:1fr;gap:18px}
  .supplier-save-row{align-items:stretch;flex-direction:column}
  .supplier-save-row .button{width:100%}
  .supplier-inbox{margin-inline:-15px;padding:34px 25px 38px!important}
  .supplier-inbox .supplier-section-head{display:flex}
  .supplier-appointments-manager,.supplier-availability-manager{margin-inline:-15px;padding:58px 25px}.supplier-crm-summary{display:flex;margin-inline:-25px;padding-inline:25px;overflow-x:auto;scroll-snap-type:x proximity}.supplier-crm-summary>div{min-width:118px;border-bottom:0!important;scroll-snap-align:start}.supplier-appointment{grid-template-columns:1fr;gap:18px}.supplier-appointment-state,.supplier-appointment-closed{grid-column:auto}.supplier-crm-panel{grid-template-columns:1fr;gap:18px;margin-inline:-10px;padding:22px 18px}.supplier-crm-form{grid-template-columns:1fr}.supplier-crm-form .button{grid-column:auto;width:100%}.supplier-appointment-upgrade{align-items:stretch;flex-direction:column;padding:28px}.supplier-appointment-upgrade .button{width:100%}.supplier-availability-grid-head{display:none}.supplier-availability-day{grid-template-columns:1fr;gap:7px;padding:17px 0}.supplier-availability-day>strong{margin-bottom:5px}.supplier-availability-day label{justify-content:space-between}.supplier-availability-day label span{order:-1}.supplier-availability-save{align-items:stretch;flex-direction:column}.supplier-availability-save .button{width:100%}.supplier-unavailable-dates{gap:22px}.supplier-unavailable-form{grid-template-columns:1fr}.supplier-unavailable-form .button{width:100%}.appointment-response{min-height:560px;padding-block:20px}.appointment-response-sheet{margin-inline:-15px;width:auto;padding:28px 24px}.appointment-response-mark{width:42px;height:48px;margin-bottom:10px;font-size:1.35rem}.appointment-response h1{margin:13px auto;font-size:2.75rem}.appointment-response-date{margin:17px 0;padding-block:13px}.appointment-response-date strong{font-size:1.65rem}.appointment-response blockquote{margin:15px auto;padding:13px 15px}.appointment-response-actions{align-items:stretch;flex-direction:column;gap:8px;margin-top:15px}.appointment-response-actions .button{width:100%}
  .supplier-event-availability{margin-inline:-10px;padding:28px 20px}.supplier-event-availability-intro,.supplier-event-availability-form,.supplier-event-availability-list li{grid-template-columns:1fr}.supplier-event-availability-form .button{width:100%}.supplier-event-availability-list li{gap:9px}.supplier-event-availability-list li form{justify-self:start}
  .supplier-faq-manager{margin-inline:-15px;padding:58px 25px 0}
  @keyframes supplier-curtain-open{from{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}to{clip-path:polygon(35% 0,100% 0,100% 100%,0 100%)}}
}
@media(prefers-reduced-motion:reduce){.supplier-portal-head *,.supplier-portal-head:before,.supplier-portal-head:after,.supplier-portal-nav{animation:none!important}.supplier-media-file>img{transition:none}}

/* The couple account is a private correspondence folio, not a generic dashboard. */
.couple-access{display:grid;grid-template-columns:minmax(0,.85fr) minmax(540px,1.15fr);gap:70px;align-items:start;padding-block:80px 110px}.couple-access-story{position:sticky;top:50px;padding-top:15px}.couple-access-story h1{max-width:10ch;margin:80px 0 30px;font-size:clamp(4rem,7vw,6.4rem);line-height:.88}.couple-access-story>p{max-width:44ch;color:var(--muted)}.couple-access-story>.text-link{display:inline-block;margin-top:28px}.couple-access-sheet{padding:55px 52px;background:var(--white);box-shadow:var(--shadow)}.couple-access-sheet h2{margin:0;font-size:3.4rem}.couple-access-sheet>p{margin:12px 0 34px;color:var(--muted)}
.couple-portal{padding-block:30px 100px}.couple-portal-head{display:flex;align-items:end;justify-content:space-between;gap:40px;min-height:300px;padding:55px 58px;background:var(--plum);color:white}.couple-portal-head h1{max-width:8ch;margin:0;color:white;font-size:clamp(4.2rem,7vw,6rem);line-height:.82}.couple-portal-head p{display:grid;gap:6px;margin:35px 0 0;color:#e9dfe4}.couple-portal-head p strong{color:white;font:500 1.4rem var(--serif)}.couple-portal-head .button{background:white;color:var(--plum)}.couple-portal-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;padding:72px 48px 35px;border-bottom:1px solid var(--rose)}.couple-portal-intro h2{margin:0;font-size:clamp(3rem,5vw,4.4rem)}.couple-portal-intro p{max-width:46ch;margin:0;color:var(--muted)}.couple-appointment-list{padding-inline:48px}.couple-appointment{display:grid;grid-template-columns:minmax(0,.7fr) minmax(380px,1.3fr);gap:55px;padding:48px 0;border-bottom:1px solid var(--line)}.couple-appointment>header{grid-column:1;display:flex;align-items:start;justify-content:space-between;gap:20px}.couple-appointment>header p{margin:0;color:var(--plum);font-size:.62rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.couple-appointment h3{margin:8px 0 0;font-size:2.3rem}.couple-appointment>dl{grid-column:1;margin:0}.couple-appointment>dl>div{padding:15px 0;border-top:1px solid var(--line)}.couple-appointment dt{color:var(--plum);font-size:.6rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.couple-appointment dd{margin:6px 0 0;color:var(--muted);font-size:.72rem}.couple-appointment>.button{grid-column:1;width:max-content}.appointment-thread{grid-column:2;grid-row:1/span 4;padding:30px;background:var(--paper-deep)}.appointment-thread h4{margin:0 0 20px;font:500 2rem var(--serif)}.appointment-thread ol{display:grid;gap:12px;margin:0 0 22px;padding:0;list-style:none}.appointment-message{max-width:88%;padding:14px 16px;background:var(--white)}.appointment-message-supplier{justify-self:end;background:var(--plum);color:white}.appointment-message strong{font-size:.62rem}.appointment-message p{margin:6px 0 0;font-size:.72rem}.appointment-message time{display:block;margin-top:7px;color:var(--muted);font-size:.58rem}.appointment-message-supplier time{color:#d9cbd2}.appointment-thread-empty{color:var(--muted);font-size:.72rem}.appointment-message-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.appointment-message-form label{grid-column:1/-1;color:var(--plum);font-size:.6rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.appointment-message-form textarea{min-height:74px;padding:12px;border:1px solid var(--line);background:var(--white);resize:vertical}.appointment-message-form textarea:focus{outline:3px solid var(--focus-rose);outline-offset:3px}.appointment-message-form .button{min-height:48px}.appointment-thread-supplier{grid-column:auto;grid-row:auto;margin-top:24px;padding:20px}.appointment-thread-supplier h4{font-size:1.55rem}.appointment-thread-supplier .appointment-message-form{grid-template-columns:1fr}.couple-portal-empty{margin:48px;padding:55px;background:var(--white);box-shadow:var(--shadow)}.couple-portal-empty h3{margin:0;font-size:3rem}.couple-portal-empty p{color:var(--muted)}.couple-portal-empty>div{display:flex;gap:10px;margin-top:28px}
@media(max-width:900px){.couple-access{grid-template-columns:1fr}.couple-access-story{position:static}.couple-access-story h1{margin-top:50px}.couple-appointment{grid-template-columns:1fr}.appointment-thread{grid-column:1;grid-row:auto}}
@media(max-width:620px){.couple-access{gap:40px;padding-block:45px 75px}.couple-access-story h1{margin-top:40px;font-size:4rem}.couple-access-sheet{margin-inline:-15px;padding:38px 24px}.couple-access-sheet h2{font-size:2.8rem}.couple-portal{padding-top:15px}.couple-portal-head{align-items:stretch;flex-direction:column;min-height:390px;padding:35px 26px}.couple-portal-head h1{font-size:4rem}.couple-portal-head .button{width:100%}.couple-portal-intro{grid-template-columns:1fr;padding:52px 10px 28px}.couple-appointment-list{padding:0}.couple-appointment{gap:22px;padding:35px 0}.couple-appointment>header{align-items:start;flex-direction:column-reverse}.appointment-thread{margin-inline:-15px;padding:25px 24px}.appointment-message-form{grid-template-columns:1fr}.couple-appointment>.button{width:100%}.couple-portal-empty{margin:35px -15px;padding:40px 24px}.couple-portal-empty>div{align-items:stretch;flex-direction:column}.couple-portal-empty .button{width:100%}}

/* Billing is a transparent account chapter; payment state stays readable before decoration. */
.supplier-billing-panel{scroll-margin-top:72px;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);gap:70px;align-items:center;margin:0;padding:52px 58px;background:var(--ink);color:white}
.supplier-billing-panel h2{margin:14px 0 16px;color:white;font-size:clamp(2.5rem,4vw,3.55rem)}
.supplier-billing-panel p{max-width:48ch;margin:0;color:#d9cbd2;font-size:.78rem}
.billing-mode-badge{display:inline-flex;align-items:center;gap:8px;color:var(--rose-soft);font-size:.6rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.billing-mode-badge:before{content:"";width:7px;height:7px;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 0 4px rgba(234,214,213,.08)}
.supplier-billing-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.supplier-billing-options article{display:flex;flex-direction:column;min-height:250px;padding:28px;background:#fffdf9;color:var(--ink)}
.supplier-billing-options article>span{min-height:34px;color:var(--plum);font-size:.59rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.supplier-billing-options article>p{margin:20px 0 2px;color:var(--ink)}.supplier-billing-options article>p strong{font:500 3.25rem/.9 var(--serif)}
.supplier-billing-options article>small{margin-bottom:24px;color:var(--muted);font-size:.64rem}.supplier-billing-options article>form{margin-top:auto}.supplier-billing-options .button{width:100%}
.supplier-billing-option-featured{box-shadow:inset 0 0 0 2px var(--rose)}
.supplier-billing-account{min-width:0}.supplier-billing-account>dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;background:#fffdf9;color:var(--ink)}
.supplier-billing-account>dl div{min-height:112px;padding:25px;border-right:1px solid var(--line)}.supplier-billing-account>dl div:last-child{border-right:0}.supplier-billing-panel dt{color:var(--plum);font-size:.58rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.supplier-billing-panel dd{margin:9px 0 0;font:500 1.2rem var(--serif)}
.supplier-billing-cancel{display:inline-block;margin-top:20px;color:var(--rose-soft);font-size:.68rem;font-weight:700;text-underline-offset:5px}.supplier-billing-cancel:hover{color:white}.supplier-billing-admin-note{margin-top:18px}
.supplier-managed-site-link{display:inline-flex;margin-top:22px;color:var(--rose-soft);font-size:.72rem;font-weight:750;text-underline-offset:6px}.supplier-managed-site-link:hover{color:white}.supplier-billing-managed{background:#542440}.supplier-billing-managed .billing-mode-badge{border-color:#d7a4b6}
.supplier-billing-reactivate{margin-top:20px}.supplier-billing-reactivation-note{display:block;margin-top:10px;color:#d9cbd2;font-size:.61rem}
.billing-checkout{padding-block:45px 100px}.billing-checkout-sheet{display:grid;grid-template-columns:1.15fr .85fr;min-height:610px;background:var(--plum);color:white;box-shadow:var(--shadow)}
.billing-checkout-copy{padding:70px 72px}.billing-checkout-copy h1{max-width:9ch;margin:25px 0 30px;color:white;font-size:clamp(3.4rem,5.5vw,5rem)}.billing-checkout-copy>p{max-width:53ch;color:#e0d3da}.billing-checkout-copy ol{list-style:none;margin:45px 0 0;padding:0;border-top:1px solid #79576a}.billing-checkout-copy li{display:flex;gap:18px;padding:17px 0;border-bottom:1px solid #79576a;color:#eee5e9;font-size:.76rem}.billing-checkout-copy li span{color:var(--rose-soft);font-family:var(--serif)}
.billing-order-card{align-self:center;margin:40px;padding:45px;background:#fffdf9;color:var(--ink)}.billing-order-card>p{color:var(--plum);font-size:.61rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.billing-order-card h2{margin:10px 0 30px;font-size:2.7rem}.billing-order-card dl{margin:0 0 30px}.billing-order-card dl div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--line);font-size:.74rem}.billing-order-card dd{margin:0;font-weight:700}.billing-order-card .button{width:100%}.billing-cancel-link{display:block;margin-top:17px;text-align:center;font-size:.7rem;font-weight:700}.billing-order-card>small{display:block;margin-top:28px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.61rem}
.billing-result{display:grid;place-items:center;min-height:680px;padding-block:70px}.billing-result>section{width:min(720px,100%);padding:65px;background:var(--white);box-shadow:var(--shadow);text-align:center}.billing-result .billing-mode-badge{color:var(--plum)}.billing-result h1{max-width:none;margin:22px 0;font-size:clamp(3.5rem,6vw,5rem)}.billing-result>section>p:not(.billing-mode-badge){max-width:55ch;margin:0 auto 30px;color:var(--muted)}.billing-result-mark{position:relative;display:block;width:44px;height:24px;margin:0 auto 25px}.billing-result-mark:before,.billing-result-mark:after{content:"";position:absolute;height:2px;background:var(--plum);transform-origin:left center}.billing-result-mark:before{left:5px;top:12px;width:18px;transform:rotate(42deg)}.billing-result-mark:after{left:17px;top:24px;width:32px;transform:rotate(-48deg)}
.billing-cancellation-mark{display:block;width:54px;height:54px;margin:0 auto 25px;border:1px solid var(--rose);border-radius:50%;position:relative}.billing-cancellation-mark:after{content:"";position:absolute;left:13px;right:13px;top:26px;height:1px;background:var(--plum);transform:rotate(-36deg)}
.billing-cancellation-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.billing-cancellation-actions form{margin:0}.billing-cancellation>section>small{display:block;max-width:62ch;margin:30px auto 0;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.64rem}
@media(max-width:900px){.supplier-billing-panel{grid-template-columns:1fr;gap:35px;padding:45px 35px}.billing-checkout-sheet{grid-template-columns:1fr}.billing-order-card{margin-top:0}.billing-checkout-copy{padding-bottom:35px}}
@media(max-width:620px){.supplier-billing-panel{margin-inline:-15px;padding:42px 25px}.supplier-billing-options{grid-template-columns:1fr}.supplier-billing-account>dl{grid-template-columns:1fr}.supplier-billing-account>dl div{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.supplier-billing-account>dl div:last-child{border-bottom:0}.billing-checkout{padding-top:25px}.billing-checkout-sheet{margin-inline:-15px}.billing-checkout-copy{padding:44px 25px 30px}.billing-checkout-copy h1{font-size:3.35rem}.billing-order-card{margin:20px 15px 30px;padding:32px 24px}.billing-result{min-height:570px}.billing-result>section{padding:48px 24px}.billing-result h1{font-size:3.3rem}.billing-cancellation-actions{align-items:stretch;flex-direction:column}.billing-cancellation-actions .button{width:100%}}

/* The footer has three meaningful groups; removed content must not reserve a fourth column. */
.footer-grid{grid-template-columns:1.35fr .65fr .65fr}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.footer-grid{grid-template-columns:1fr}}

/* Reviews keep platform opinions and verified supplier visits visually distinct. */
.reviews-hero{position:relative;overflow:hidden;padding:clamp(62px,8vw,112px) 0;background:#f3e2e7}
.reviews-hero:after{content:"";position:absolute;width:440px;height:440px;right:-125px;top:-170px;border:1px solid rgba(125,62,91,.26);border-radius:50%;box-shadow:0 0 0 54px rgba(255,255,255,.18),0 0 0 108px rgba(255,255,255,.12);pointer-events:none}
.reviews-hero-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.55fr);gap:10%;align-items:end;position:relative;z-index:1}
.reviews-hero .breadcrumbs{margin-bottom:48px}
.reviews-hero h1{max-width:10ch;margin:0 0 28px;font-size:clamp(3.9rem,7vw,7rem)}
.reviews-hero-layout>div>p{max-width:57ch;margin:0 0 34px;color:var(--muted);font-size:1.05rem}
.reviews-trust-note{padding:38px 36px;border:1px solid rgba(109,49,78,.22);background:rgba(255,255,255,.72);box-shadow:0 24px 65px rgba(75,37,57,.1)}
.reviews-trust-note svg{width:52px;height:52px;margin-bottom:26px;fill:none;stroke:var(--plum);stroke-width:1.45}
.reviews-trust-note h2{margin:0 0 22px;font-size:2rem}
.reviews-trust-note p{margin:12px 0 0;color:var(--muted);font-size:.84rem}.reviews-trust-note strong{color:var(--ink)}
.reviews-voices,.reviews-contribute{padding-block:clamp(78px,9vw,126px)}
.reviews-section-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(260px,.45fr);gap:10%;align-items:end;padding-bottom:30px;border-bottom:1px solid var(--rose)}
.reviews-section-head h2{max-width:12ch;margin:0}.reviews-section-head p{margin:0;color:var(--muted)}
.reviews-voice-columns{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:48px}
.reviews-voice-columns>section>h3{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-size:1.75rem}.reviews-voice-columns>section>h3 span{color:var(--rose)}
.reviews-ledger article{padding:30px 0;border-bottom:1px solid var(--line)}
.review-stars{color:#a64f72;font-size:1rem;letter-spacing:.14em}.review-stars span{color:#cbbec4}
.reviews-ledger blockquote{margin:15px 0 18px;font:italic 500 1.38rem/1.35 var(--serif)}.reviews-ledger blockquote p{margin:0}
.reviews-ledger footer{color:var(--muted);font-size:.73rem}
.reviews-empty{display:grid;grid-template-columns:78px 1fr;gap:28px;align-items:center;max-width:780px;margin:48px auto 0;padding:38px 42px;border:1px solid var(--line);background:var(--white)}
.reviews-empty>span{color:var(--rose);font:italic 5rem/.7 var(--serif)}.reviews-empty h3{margin:0;font-size:2rem}
.reviews-supplier-section{padding-block:clamp(78px,9vw,126px);background:var(--plum);color:white}
.reviews-supplier-section .reviews-section-head{border-color:rgba(255,255,255,.3)}.reviews-supplier-section .reviews-section-head p{color:#e1d5da}
.reviews-supplier-journal{margin-top:38px}
.reviews-supplier-journal article{display:grid;grid-template-columns:55px minmax(190px,.55fr) minmax(260px,1fr) 190px;gap:34px;align-items:center;padding:34px 0;border-bottom:1px solid rgba(255,255,255,.23)}
.reviews-journal-number{align-self:start;color:#d0a2b3;font:500 1rem var(--serif)}
.reviews-verified{display:flex;align-items:center;gap:8px;margin:0 0 9px;color:#efd6df;font-size:.67rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.reviews-verified svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.reviews-supplier-journal h3{margin:0 0 12px;font-size:1.85rem}.reviews-supplier-journal .review-stars span{color:#9b7b8a}
.reviews-supplier-journal blockquote{margin:0;font:italic 500 1.3rem/1.4 var(--serif)}.reviews-supplier-journal blockquote p{margin:0}
.reviews-supplier-journal footer{display:grid;gap:10px;color:#ddcfd5;font-size:.72rem}.reviews-supplier-journal footer a{color:white;font-weight:700}
.reviews-contribute{display:grid;grid-template-columns:minmax(0,.72fr) minmax(420px,.65fr);gap:10%;align-items:start}
.reviews-contribute-copy{position:sticky;top:120px}.reviews-contribute-copy svg{width:56px;height:56px;margin-bottom:28px;fill:none;stroke:var(--rose);stroke-width:1.2}
.reviews-contribute-copy h2{max-width:11ch;margin:0 0 25px}.reviews-contribute-copy p{max-width:48ch;color:var(--muted)}
.reviews-contribute-panel{padding:clamp(28px,4vw,48px);border-top:3px solid var(--rose);background:var(--white);box-shadow:0 24px 65px rgba(64,32,54,.09)}
.reviews-contribute-panel h3{margin:0 0 14px}.reviews-contribute-panel>p{color:var(--muted)}
.platform-review-form{display:grid;gap:22px}.platform-review-form label{display:block;margin-bottom:7px;color:var(--plum);font-size:.7rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.platform-review-form input[type="text"],.platform-review-form select,.platform-review-form textarea{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit}.platform-review-form input[type="text"],.platform-review-form select{height:50px;padding:0 14px}.platform-review-form textarea{min-height:150px;padding:14px;resize:vertical}
.platform-review-form small{display:block;margin-top:7px;color:var(--muted);font-size:.72rem}.platform-review-form>p{margin:0;color:var(--muted);font-size:.76rem}
.platform-review-form .platform-review-consent{display:grid;grid-template-columns:22px 1fr;gap:11px;align-items:start;margin:0;color:var(--muted);font-size:.76rem;font-weight:400;letter-spacing:0;text-transform:none}.platform-review-consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--plum)}
.reviews-signin-actions{display:grid;gap:10px;margin-top:28px}.reviews-signin-actions .button{width:100%}
.review-flash{padding:14px 16px;border:1px solid;margin:0 0 24px;font-size:.8rem}.review-flash-success{border-color:#a8baa3;background:#f0f4ee;color:#41553d}.review-flash-error{border-color:#c5909d;background:#fff4f5;color:#743247}
.review-status{display:flex;justify-content:space-between;gap:20px;margin:0 0 22px!important;padding-bottom:16px;border-bottom:1px solid var(--line)}.review-status strong{color:var(--plum)}
.reviews-contribute-panel blockquote{margin:0 0 18px;font:italic 500 1.5rem/1.35 var(--serif)}.reviews-contribute-panel blockquote p{margin:0;color:var(--ink)}.review-state-note{font-size:.78rem}
.home-reviews-section{padding-block:clamp(76px,9vw,118px);background:#f1dfe5}
.home-reviews-layout{display:grid;grid-template-columns:minmax(280px,.58fr) minmax(0,1fr);gap:9%;align-items:start}
.home-reviews-layout>header svg{width:52px;height:52px;margin-bottom:26px;fill:none;stroke:var(--plum);stroke-width:1.2}.home-reviews-layout>header h2{margin:0 0 24px;max-width:10ch}.home-reviews-layout>header p{max-width:44ch;color:var(--muted)}
.home-review-list article{display:grid;grid-template-columns:120px 1fr 190px;gap:28px;align-items:start;padding:28px 0;border-top:1px solid rgba(109,49,78,.24)}.home-review-list blockquote{margin:0;font:italic 500 1.35rem/1.35 var(--serif)}.home-review-list blockquote p{margin:0}.home-review-list footer{color:var(--muted);font-size:.72rem}
.home-reviews-honest-empty{padding:42px;border:1px solid rgba(109,49,78,.25);background:rgba(255,255,255,.55)}.home-reviews-honest-empty>span{display:block;color:var(--rose);font:500 2.7rem var(--serif)}.home-reviews-honest-empty h3{margin:8px 0 12px}.home-reviews-honest-empty p{color:var(--muted)}
@media(prefers-reduced-motion:no-preference){.reviews-hero h1{animation:reviews-reveal .75s cubic-bezier(.2,.75,.25,1) both}.reviews-trust-note{animation:reviews-reveal .75s .12s cubic-bezier(.2,.75,.25,1) both}@keyframes reviews-reveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}}
@media(max-width:1000px){.reviews-hero-layout,.reviews-section-head,.reviews-contribute,.home-reviews-layout{grid-template-columns:1fr}.reviews-hero-layout,.reviews-section-head,.reviews-contribute,.home-reviews-layout{gap:38px}.reviews-trust-note{max-width:580px}.reviews-contribute-copy{position:static}.reviews-supplier-journal article{grid-template-columns:45px minmax(180px,.55fr) 1fr}.reviews-supplier-journal footer{grid-column:2/-1;display:flex;justify-content:space-between}.home-review-list article{grid-template-columns:100px 1fr}.home-review-list footer{grid-column:2}}
@media(max-width:700px){.reviews-hero{padding-top:38px}.reviews-hero .breadcrumbs{margin-bottom:36px}.reviews-hero h1{font-size:3.75rem}.reviews-trust-note{padding:28px 24px}.reviews-voice-columns{grid-template-columns:1fr;gap:48px}.reviews-empty{grid-template-columns:48px 1fr;padding:28px 22px}.reviews-empty>span{font-size:3.7rem}.reviews-supplier-journal article{grid-template-columns:30px 1fr;gap:18px}.reviews-supplier-journal blockquote,.reviews-supplier-journal footer{grid-column:2}.reviews-supplier-journal footer{display:grid}.reviews-contribute{padding-block:72px}.reviews-contribute-panel{margin-inline:-15px}.home-review-list article{grid-template-columns:1fr;gap:13px}.home-review-list footer{grid-column:auto}.home-reviews-honest-empty{padding:30px 24px}}

/* Jewelry directory: a velvet presentation box that opens into a national folio. */
.jewelry-hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:var(--white);border-bottom:1px solid var(--line);overflow:hidden}
.jewelry-hero-media{position:relative;min-height:620px;overflow:hidden;background:var(--plum-dark)}
.jewelry-hero-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.jewelry-hero-media:hover img{transform:scale(1.018)}
.jewelry-ring-line{position:absolute;right:-64px;top:64%;width:260px;height:1px;background:var(--rose);transform-origin:left}
.jewelry-ring-line:before{content:"";position:absolute;left:-8px;top:-8px;width:14px;height:14px;border:1px solid var(--rose);border-radius:50%}
.jewelry-ring-line:after{content:"";position:absolute;right:-8px;top:-10px;width:18px;height:18px;border:1px solid var(--rose);border-radius:50%}
.jewelry-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:58px clamp(38px,6vw,96px);background:var(--white)}
.jewelry-hero-copy .breadcrumbs{margin-bottom:36px}
.jewelry-hero-copy h1{max-width:11ch;margin-bottom:27px;font-size:clamp(3.7rem,5.6vw,6.1rem);line-height:.89;text-wrap:balance}
.jewelry-hero-copy>p{max-width:52ch;color:var(--muted)}
.jewelry-search{display:grid;grid-template-columns:minmax(210px,1fr) auto;gap:12px;margin-top:22px;padding-top:28px;border-top:1px solid var(--line)}
.jewelry-search-field{min-width:0;padding:8px 14px;border:1px solid var(--rose);border-radius:10px;background:#fffefa}
.jewelry-search-field label{display:block;color:var(--plum);font-size:.63rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.jewelry-search-field select{width:100%;height:30px;padding:0;border:0;background:transparent;color:var(--ink);font:500 .9rem var(--sans)}
.jewelry-search-field select:focus{outline:0}
.jewelry-search .button{min-width:158px}
.jewelry-search-note{margin:15px 0 0!important;font-size:.69rem;line-height:1.55}
.jewelry-results{padding-top:96px}
.jewelry-results-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:46px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.jewelry-results-head h2{max-width:15ch;margin-bottom:10px}
.jewelry-results-head p{margin:0;color:var(--muted)}
.jewelry-result-count{display:flex;align-items:baseline;gap:11px;white-space:nowrap}
.jewelry-result-count strong{color:var(--plum);font:500 3.9rem/1 var(--serif);font-variant-numeric:tabular-nums}
.jewelry-result-count span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.jewelry-active-filter{margin:-22px 0 34px}
.jewelry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.jewelry-card{display:grid;grid-template-rows:190px 1fr;min-width:0;background:var(--white);box-shadow:0 15px 40px rgba(62,37,48,.08);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1)}
.jewelry-card:hover{transform:translateY(-7px);box-shadow:0 25px 55px rgba(62,37,48,.14)}
.jewelry-card-mark{position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding:24px;background:var(--plum);color:white;text-decoration:none;overflow:hidden}
.jewelry-card-mark>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.58)}
.jewelry-card-mark>span:last-child{position:relative;z-index:1;max-width:15ch;color:#e9dfe4;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.jewelry-card-rings{position:absolute;inset:0;display:grid;place-items:center}
.jewelry-card-rings i,.jewelry-profile-rings i,.empty-rings span{position:absolute;width:78px;height:78px;border:1px solid rgba(255,255,255,.72);border-radius:50%}
.jewelry-card-rings i:first-child{transform:translateX(-28px)}
.jewelry-card-rings i:last-child{transform:translateX(28px)}
.jewelry-card-rings i:last-child:after{content:"";position:absolute;inset:8px;border:1px solid rgba(184,133,143,.78);border-radius:50%}
.jewelry-card-body{display:flex;flex-direction:column;padding:26px 25px 28px}
.jewelry-card-body>p{margin-bottom:9px;color:var(--plum);font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.jewelry-card h3{margin:0 0 22px;font-size:2.05rem;line-height:.94}
.jewelry-card h3 a{text-decoration:none}
.jewelry-card-link{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:22px;border-top:1px solid var(--line);font-size:.75rem;font-weight:700;text-decoration:none}
.jewelry-card-link svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.jewelry-card-link:hover svg{transform:translateX(5px)}
.empty-rings{position:relative;width:116px;height:76px;margin:0 auto 28px}
.empty-rings span{border-color:var(--rose)}
.empty-rings span:first-child{left:0}.empty-rings span:last-child{right:0}
.jewelry-guidance{padding:102px 0;background:var(--paper-deep)}
.jewelry-guidance-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:start}
.jewelry-guidance-script{margin-bottom:20px;color:var(--plum);font:italic 500 1.35rem var(--serif)}
.jewelry-guidance h2{max-width:10ch}
.jewelry-guidance ol{margin:0;padding:0;list-style:none;counter-reset:jewelry-guide}
.jewelry-guidance li{counter-increment:jewelry-guide;display:grid;grid-template-columns:46px .58fr 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--line)}
.jewelry-guidance li:before{content:"0" counter(jewelry-guide);color:var(--rose);font:500 1.1rem var(--serif)}
.jewelry-guidance li strong{font:500 1.25rem var(--serif)}
.jewelry-guidance li span{color:var(--muted);font-size:.78rem}
.jewelry-profile-head{padding-top:38px}
.jewelry-profile-title{position:relative;display:flex;align-items:flex-end;justify-content:space-between;min-height:360px;padding:45px 58px;background:var(--plum);color:white;overflow:hidden}
.jewelry-profile-title>div:first-child{position:relative;z-index:1}
.jewelry-profile-title p{margin-bottom:22px;color:#e9dfe4;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.jewelry-profile-title h1{max-width:12ch;margin-bottom:25px;color:white;line-height:.86}
.jewelry-profile-title span{color:#e9dfe4;font-size:.82rem}
.jewelry-profile-title .verified-supplier-badge{display:inline-block;margin-bottom:18px;color:white;border-color:rgba(255,255,255,.58)}.jewelry-profile-title .supplier-profile-headline{display:block;max-width:48ch;margin:-10px 0 18px;color:#f4e9ed;font:500 1.05rem/1.5 var(--sans)}
.jewelry-profile-rings{position:relative;width:260px;height:170px;flex:none}
.jewelry-profile-rings i{width:160px;height:160px;border-color:rgba(255,255,255,.52)}
.jewelry-profile-rings i:first-child{left:0}.jewelry-profile-rings i:last-child{right:0;border-color:var(--rose)}
.jewelry-profile-gallery{height:620px;display:grid;grid-template-columns:1.45fr .85fr;grid-template-rows:1fr 1fr;gap:16px;margin-top:16px}.jewelry-profile-gallery-item{position:relative;margin:0;overflow:hidden;background:var(--rose-soft)}.jewelry-profile-gallery-item-1{grid-row:1/3}.jewelry-profile-gallery-item img{width:100%;height:100%;object-fit:cover}
.jewelry-profile-content{padding-block:100px}
.jewelry-profile-about{max-width:900px}
.jewelry-profile-about h2{font-size:3.2rem}
.jewelry-profile-about>p{max-width:63ch;color:var(--muted)}
.jewelry-profile-promise{display:grid;grid-template-columns:90px 1fr;gap:28px;align-items:center;margin-top:64px;padding-top:30px;border-top:1px solid var(--line)}
.jewelry-profile-promise span{position:relative;width:75px;height:52px}
.jewelry-profile-promise span:before,.jewelry-profile-promise span:after{content:"";position:absolute;width:48px;height:48px;border:1px solid var(--rose);border-radius:50%}
.jewelry-profile-promise span:after{right:0}
.jewelry-profile-promise p{margin:0;color:var(--plum);font:italic 500 1.4rem/1.25 var(--serif)}
.jewelry-locations{position:relative;isolation:isolate;overflow:hidden;margin-bottom:70px;padding:58px 64px 68px;background:var(--rose-soft);color:var(--ink);scroll-margin-top:105px}
.jewelry-locations::before{content:"";position:absolute;z-index:-1;inset:-35% auto -35% -32%;width:31%;background:linear-gradient(105deg,transparent 8%,rgba(255,253,249,.62) 48%,transparent 88%);transform:skewX(-12deg);pointer-events:none}
.jewelry-locations::after{content:"";position:absolute;z-index:2;inset:14px;border:1px solid rgba(88,45,72,.18);pointer-events:none}
.jewelry-locations-heading{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:end;margin-bottom:38px;padding-bottom:28px;border-bottom:1px solid rgba(88,45,72,.22)}
.jewelry-locations-heading h2{margin:0;color:var(--plum-dark)}
.jewelry-locations-heading p{max-width:56ch;margin:0;color:#58464f}
.jewelry-location-ledger{margin:0;padding:0;list-style:none}
.jewelry-location-ledger>li{display:grid;grid-template-columns:54px minmax(190px,.75fr) minmax(0,1.25fr);gap:34px;padding:34px 0;border-top:1px solid rgba(88,45,72,.18)}
.jewelry-location-ledger>li:first-child{border-top:0}
.jewelry-location-number{padding-top:3px;color:var(--plum);font:500 1.05rem var(--serif);font-variant-numeric:tabular-nums}
.jewelry-location-place h3{margin:0 0 7px;color:var(--ink);font-size:1.7rem;line-height:1}
.jewelry-location-place>p{margin:0 0 17px;color:var(--plum);font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.jewelry-location-place address{max-width:36ch;color:#58464f;font-size:.84rem;font-style:normal;line-height:1.65}
.jewelry-location-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 30px;margin:0}
.jewelry-location-contact div{min-width:0}
.jewelry-location-contact dt{margin-bottom:5px;color:var(--plum);font-size:.61rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.jewelry-location-contact dd{margin:0;color:var(--ink);overflow-wrap:anywhere;font-size:.78rem;line-height:1.55}
.jewelry-opening-hours{white-space:pre-line}
.jewelry-location-contact a{color:var(--plum-dark);text-underline-offset:4px;text-decoration-color:var(--rose)}
.jewelry-locations .supplier-claim-prompt{grid-template-columns:46px minmax(0,1fr);gap:18px;align-items:center;margin-top:14px;padding-top:30px;border-color:rgba(88,45,72,.22)}
.jewelry-locations .supplier-claim-prompt svg{width:46px;height:46px;padding:10px;border-color:var(--rose);stroke:var(--plum)}
.jewelry-locations .supplier-claim-prompt strong{color:var(--ink);font-size:1.45rem}
.jewelry-locations .supplier-claim-prompt p{max-width:65ch;margin:6px 0 10px;color:#58464f;font-size:.74rem}
.jewelry-locations .supplier-claim-prompt .text-link{color:var(--plum-dark);text-decoration-color:var(--rose);text-underline-offset:5px}
.jewelry-related{padding-top:60px}
.jewelry-pagination span{display:grid;place-items:center;width:24px;height:44px;color:var(--muted)}
.jewelry-data-attribution{margin:38px 0 0;color:var(--muted);font-size:.68rem;text-align:center}
@media(prefers-reduced-motion:no-preference){
  .jewelry-hero-media img{animation:jewelry-image-settle 1s cubic-bezier(.16,1,.3,1) both}
  .jewelry-hero-copy h1{animation:jewelry-title-open .85s .08s cubic-bezier(.16,1,.3,1) both}
  .jewelry-hero-copy>p,.jewelry-search,.jewelry-search-note{animation:jewelry-copy-arrive .65s .19s cubic-bezier(.16,1,.3,1) both}
  .jewelry-ring-line{animation:jewelry-line-draw 1s .3s cubic-bezier(.16,1,.3,1) both}
  .jewelry-locations:target{animation:jewelry-ledger-focus .8s cubic-bezier(.16,1,.3,1) both}
  .jewelry-locations:target::before{animation:jewelry-ledger-shine 1.25s .12s cubic-bezier(.16,1,.3,1) both}
  @keyframes jewelry-image-settle{from{opacity:.72;filter:blur(7px);transform:scale(1.045)}to{opacity:1;filter:blur(0);transform:none}}
  @keyframes jewelry-title-open{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(22px)}to{opacity:1;clip-path:inset(0);transform:none}}
  @keyframes jewelry-copy-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes jewelry-line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes jewelry-ledger-focus{from{opacity:.72;clip-path:inset(0 0 14% 0);transform:translateY(28px)}to{opacity:1;clip-path:inset(0);transform:none}}
  @keyframes jewelry-ledger-shine{from{left:-32%}to{left:132%}}
}
@media(max-width:900px){
  .jewelry-hero{grid-template-columns:1fr}.jewelry-hero-copy{grid-row:1;min-height:570px}.jewelry-hero-media{grid-row:2;min-height:500px}.jewelry-ring-line{right:auto;left:55%;top:-1px;transform-origin:right}
  .jewelry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jewelry-guidance-grid{grid-template-columns:1fr;gap:35px}.jewelry-profile-rings{width:210px}.jewelry-profile-rings i{width:130px;height:130px}
  .jewelry-locations-heading{grid-template-columns:1fr;gap:14px}.jewelry-location-ledger>li{grid-template-columns:44px minmax(180px,.75fr) minmax(0,1.25fr);gap:24px}.jewelry-location-contact{grid-template-columns:1fr}.jewelry-profile-gallery{height:720px;grid-template-columns:1.25fr .75fr}
}
@media(max-width:620px){
  .jewelry-hero-copy{min-height:0;padding:34px 20px 45px}.jewelry-hero-copy .breadcrumbs{margin-bottom:32px}.jewelry-hero-copy h1{font-size:3.75rem;line-height:.87}.jewelry-search{grid-template-columns:1fr}.jewelry-search .button{width:100%}.jewelry-hero-media{min-height:390px}.jewelry-ring-line{left:48%;width:175px}
  .jewelry-results{padding-top:72px}.jewelry-results-head{display:block}.jewelry-result-count{margin-top:26px}.jewelry-grid{grid-template-columns:1fr}.jewelry-card{grid-template-rows:165px 1fr}.jewelry-guidance{padding:72px 0}.jewelry-guidance li{grid-template-columns:38px 1fr}.jewelry-guidance li span{grid-column:2}
  .jewelry-profile-head{padding-top:25px}.jewelry-profile-title{display:block;min-height:470px;margin-inline:-15px;padding:42px 28px}.jewelry-profile-title h1{font-size:3.8rem}.jewelry-profile-rings{position:absolute;right:18px;margin-top:52px;width:190px;height:135px}.jewelry-profile-rings i{width:115px;height:115px}.jewelry-profile-gallery{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:370px 180px;gap:10px}.jewelry-profile-gallery-item-1{grid-column:1/-1;grid-row:auto}.jewelry-profile-content{padding-block:65px}.jewelry-profile-promise{grid-template-columns:70px 1fr;gap:17px}.jewelry-locations{width:auto;margin-inline:0;margin-bottom:50px;padding:43px 28px 52px}.jewelry-locations::after{inset:9px}.jewelry-locations-heading{margin-bottom:12px}.jewelry-location-ledger>li{grid-template-columns:34px 1fr;gap:7px 14px;padding:31px 0}.jewelry-location-place{grid-column:2}.jewelry-location-contact{grid-column:2;gap:16px;margin-top:16px}.jewelry-location-number{grid-row:1 / span 2}.jewelry-locations .supplier-claim-prompt{grid-template-columns:40px minmax(0,1fr);gap:14px;padding-top:26px}.jewelry-locations .supplier-claim-prompt svg{width:40px;height:40px;padding:8px}.jewelry-locations .supplier-claim-prompt strong{font-size:1.3rem}
}
@media(prefers-reduced-motion:reduce){.jewelry-hero *,.jewelry-ring-line{animation:none!important;transition:none!important}.jewelry-card{transition:none}.jewelry-card:hover{transform:none}}

/* Listing corrections stay visually secondary on profiles and task-focused in the dedicated form. */
.listing-correction-prompt{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:34px;padding-block:20px;border-block:1px solid var(--line);color:var(--muted);font-size:.75rem}
.listing-correction-prompt p{margin:0}
.listing-correction-prompt a{color:var(--ink);font-weight:700}
.supplier-claim-prompt{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.supplier-claim-prompt svg{width:38px;height:38px;padding:8px;border:1px solid var(--rose);border-radius:50%;fill:none;stroke:var(--plum);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.supplier-claim-prompt strong{display:block;font:500 1.25rem/1.2 var(--serif);color:var(--ink)}
.supplier-claim-prompt p{margin:5px 0 8px;color:var(--muted);font-size:.72rem;line-height:1.55}
.supplier-claim-prompt .text-link{font-size:.74rem}
.listing-correction-kind{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;border:0}
.listing-correction-kind legend{grid-column:1/-1;margin-bottom:1px;color:var(--plum);font-size:.65rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.listing-correction-kind label{display:grid;grid-template-columns:20px 1fr;gap:11px;align-items:start;min-height:82px;padding:15px;border:1px solid var(--line);cursor:pointer;transition:border-color .16s ease,background-color .16s ease}
.listing-correction-kind input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--plum)}
.listing-correction-kind strong,.listing-correction-kind small{display:block}
.listing-correction-kind strong{font-size:.76rem}
.listing-correction-kind small{margin-top:3px;color:var(--muted);font-size:.66rem;line-height:1.45}
.listing-correction-kind label:hover{border-color:var(--rose);background:#fffefa}
.listing-correction-kind label:has(input:focus-visible){outline:3px solid #c75b82;outline-offset:3px;border-color:var(--rose)}
.listing-correction-kind label:has(input:checked){border-color:var(--plum);background:var(--paper)}
.listing-correction-page .inquiry-field>small{display:block;margin-top:7px;color:var(--muted);font-size:.67rem}
.admin-status-reviewing{border-color:#a8baa3;color:#41553d;background:#f0f4ee}
.admin-status-resolved{color:var(--muted);background:var(--paper)}
@media(max-width:620px){.listing-correction-prompt{display:block}.listing-correction-prompt a{display:inline-block;margin-top:6px}.listing-correction-kind{grid-template-columns:1fr}.listing-correction-kind legend{grid-column:auto}}

/* Couple accounts remain calm and reversible: identity data has a visible self-service exit. */
.couple-access-story h1{font-size:clamp(4rem,7vw,6rem)}
.couple-password-story h1{max-width:12ch;font-size:clamp(3.3rem,6vw,5.2rem);line-height:1.02}
.couple-recovery-link{display:inline-block;margin-top:24px}
@keyframes couple-access-sheet-arrive{from{transform:translateY(12px);clip-path:inset(0 0 3% 0)}to{transform:translateY(0);clip-path:inset(0)}}
@media(prefers-reduced-motion:no-preference){.couple-access-sheet{animation:couple-access-sheet-arrive .65s cubic-bezier(.16,1,.3,1) both}}
.couple-account-settings{margin:65px 48px 0;padding-top:22px;border-top:1px solid var(--line);color:var(--muted)}
.couple-account-settings summary{width:max-content;color:var(--ink);font-size:.72rem;font-weight:700;cursor:pointer}
.couple-account-settings>summary{width:100%;font:500 1.75rem/1.2 var(--serif)}
.couple-account-settings>div{display:flex;align-items:end;justify-content:space-between;gap:35px;padding-top:20px}
.couple-account-settings p{max-width:65ch;margin:0;font-size:.68rem}
.couple-account-settings form{margin:0}
.couple-account-settings>div>section{flex:1;min-width:0}.couple-account-settings h3{margin:0 0 10px;color:var(--ink);font:500 1.45rem var(--serif)}.couple-account-settings section>.text-link,.couple-account-settings section>form{display:inline-block;margin-top:16px}.couple-account-settings section>form .text-link{padding:0}
.couple-portal-head-actions{display:flex;gap:10px;align-items:center}.couple-portal-head-actions form{margin:0}.couple-profile-settings{margin:65px 48px 0;border-top:1px solid var(--rose);border-bottom:1px solid var(--line)}.couple-profile-settings>summary{padding:24px 0;color:var(--ink);font:500 2.25rem/1 var(--serif);cursor:pointer}.couple-profile-settings>summary::marker{color:var(--plum);font-size:.72rem}.couple-profile-settings[open]>summary{border-bottom:1px solid var(--line)}.couple-profile-settings-inner{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:65px;padding:42px 0 50px}.couple-profile-settings-inner h2{margin:0 0 14px;font-size:3rem}.couple-profile-settings-inner>div>p{max-width:43ch;margin:0;color:var(--muted);font-size:.76rem}.couple-profile-settings-inner dl{margin:32px 0 0;border-top:1px solid var(--line)}.couple-profile-settings-inner dl div{padding-top:14px}.couple-profile-settings-inner dt{color:var(--plum);font-size:.6rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.couple-profile-settings-inner dd{margin:6px 0 0;color:var(--muted);font-size:.74rem}.couple-profile-form{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;padding:28px;background:var(--paper-deep)}.couple-profile-form .inquiry-errors,.couple-profile-form .inquiry-field-wide,.couple-profile-form>.button{grid-column:1/-1}.couple-profile-form .inquiry-field>p{margin:7px 0 0;color:var(--muted);font-size:.64rem}.couple-profile-form>.button{justify-self:start}.couple-profile-form input{background:var(--white)}
.couple-profile-invitation-fields{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;margin:8px 0 0;padding:26px 0 0;border:0;border-top:1px solid var(--rose)}.couple-profile-invitation-fields legend{padding:0 14px 0 0;color:var(--ink);font:500 1.8rem/1 var(--serif)}.couple-profile-invitation-fields>p{grid-column:1/-1;max-width:64ch;margin:0;color:var(--muted);font-size:.65rem}.couple-profile-invitation-fields .inquiry-field-wide{grid-column:1/-1}
.couple-account-delete{border:0;background:transparent;color:#8a3044;cursor:pointer}
.couple-account-settings>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:60px;row-gap:32px}.couple-account-settings>div>section{min-width:0}
@media(max-width:900px){.couple-account-settings>div{grid-template-columns:1fr;gap:28px}}
.couple-deletion-effects{display:grid;gap:13px;margin:0 0 32px;padding:22px 26px 22px 42px;background:var(--paper-deep);color:var(--ink);font-size:.78rem;line-height:1.55}.couple-deletion-effects li::marker{color:var(--plum)}.couple-deletion-consent{display:flex;align-items:flex-start;gap:12px;margin-top:2px}.couple-deletion-consent input{flex:none;width:19px;height:19px;margin:2px 0 0;accent-color:var(--plum)}.couple-deletion-consent label{font-size:.78rem;line-height:1.5;cursor:pointer}.couple-deletion-submit{background:#8a3044;color:white}.couple-deletion-submit:hover{background:#6f2738}.couple-deletion-consent input:focus-visible,.couple-deletion-submit:focus-visible{outline:3px solid var(--focus-rose);outline-offset:3px}
.couple-profile-form input[type="submit"]{background:var(--plum)}
.couple-appointment h3{margin:0;font-size:2.3rem}.couple-appointment>header p{margin-top:8px}
.appointment-message p{font-size:.82rem}.appointment-message time{font-size:.68rem}

/* The private account reads as a living registry: joined rings orient the folio, while its chapter strip preserves place. */
.couple-portal-head{position:relative;isolation:isolate;overflow:hidden}
.couple-portal-identity,.couple-portal-head-actions{position:relative;z-index:1}
.couple-portal-identity{max-width:58%}
.couple-portal-rings{position:absolute;z-index:0;top:20px;right:58px;width:310px;height:auto;color:#d8b7c2;opacity:.54;pointer-events:none}
.couple-portal-rings circle,.couple-portal-rings path{fill:none;stroke:currentColor;stroke-width:1.25;vector-effect:non-scaling-stroke}
.couple-portal-rings circle{stroke-dasharray:440;transform-box:fill-box;transform-origin:center}
.couple-portal-rings path{stroke-dasharray:224}
.couple-portal-index{position:sticky;z-index:5;top:14px;display:grid;grid-template-columns:repeat(6,1fr);margin:-25px 48px 0;background:var(--white);box-shadow:0 14px 38px rgba(64,32,54,.11)}
.couple-portal-index a{position:relative;min-height:50px;padding:16px 20px;border-right:1px solid var(--line);color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-align:center;text-decoration:none;transition:color 180ms ease,background-color 180ms ease}
.couple-portal-index a:last-child{border-right:0}
.couple-portal-index a::after{content:"";position:absolute;right:20px;bottom:0;left:20px;height:1px;background:var(--rose);transform:scaleX(0);transform-origin:center;transition:transform 260ms cubic-bezier(.16,1,.3,1)}
.couple-portal-index a:hover,.couple-portal-index a[aria-current="location"]{background:var(--paper);color:var(--plum)}
.couple-portal-index a:hover::after,.couple-portal-index a[aria-current="location"]::after{transform:scaleX(1)}
.couple-portal [data-couple-section]{scroll-margin-top:90px}
.couple-invitation-section{display:grid;grid-template-columns:minmax(230px,.68fr) minmax(0,1.32fr);gap:72px;align-items:center;padding:82px 48px 38px}.couple-invitation-intro h2{max-width:9ch;margin:0 0 22px;font-size:clamp(3rem,5vw,4.5rem)}.couple-invitation-intro>p{max-width:40ch;margin:0;color:var(--muted);font-size:.84rem;line-height:1.75}.couple-invitation-intro .couple-invitation-note{margin-top:22px;font-size:.66rem}.couple-invitation-intro .text-link{display:inline-block;margin-top:25px}.couple-invitation-preview{position:relative;isolation:isolate;overflow:hidden;min-height:570px;padding:58px 56px 50px;background:#f1dfe7;color:var(--plum-dark);box-shadow:0 24px 55px rgba(64,32,54,.16);text-align:center}.couple-invitation-preview::before{content:"";position:absolute;z-index:-1;inset:16px;border:1px solid rgba(88,45,72,.3);pointer-events:none}.couple-invitation-preview::after{content:"";position:absolute;z-index:-2;right:-70px;bottom:-90px;width:260px;height:260px;border:1px solid rgba(184,133,143,.58);border-radius:50%;pointer-events:none}.couple-invitation-rings{display:block;width:134px;margin:0 auto 22px;color:var(--rose)}.couple-invitation-rings circle{fill:none;stroke:currentColor;stroke-width:1.3}.couple-invitation-together{margin:0 0 23px;font:italic 500 1.08rem var(--serif)}.couple-invitation-parents{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:27px}.couple-invitation-parents p{margin:0}.couple-invitation-parents span,.couple-invitation-places span{display:block;margin-bottom:5px;color:#724a65;font-size:.56rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.couple-invitation-parents strong{font-size:.7rem;font-weight:600}.couple-invitation-preview h3{display:flex;align-items:center;justify-content:center;gap:14px;margin:0;color:var(--plum-dark);font-size:clamp(3rem,5vw,4.9rem);line-height:.86}.couple-invitation-preview h3 span{max-width:8ch;overflow-wrap:anywhere}.couple-invitation-preview h3 i{color:var(--rose);font-size:.7em;font-weight:500}.couple-invitation-godparents{margin:22px 0 0;color:#724a65;font:italic 500 .92rem var(--serif)}.couple-invitation-godparents strong{color:var(--plum-dark);font-weight:600}.couple-invitation-preview time{display:block;width:max-content;max-width:100%;margin:28px auto 0;padding:10px 22px;border-block:1px solid rgba(88,45,72,.3);font-size:.7rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.couple-invitation-places{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:31px}.couple-invitation-places p{margin:0}.couple-invitation-places strong{font:500 1.15rem/1.25 var(--serif)}
.couple-saved-suppliers>ol li{transition:background-color 180ms ease}
.couple-saved-suppliers>ol li:hover{background:var(--paper-deep)}
.couple-saved-suppliers>ol li .arrow-link{transition:transform 260ms cubic-bezier(.16,1,.3,1)}
.couple-saved-suppliers>ol li:hover .arrow-link{transform:translateX(5px)}
.couple-tool-progress{position:relative;transition:background-color 180ms ease}
.couple-tool-progress:hover{background:rgba(238,228,218,.46)}
.couple-tool-progress progress::-webkit-progress-value{transform-origin:left}
.couple-tool-progress progress::-moz-progress-bar{transform-origin:left}
.couple-profile-settings>summary,.couple-account-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none}
.couple-profile-settings>summary::-webkit-details-marker,.couple-account-settings>summary::-webkit-details-marker{display:none}
.couple-profile-settings>summary::after,.couple-account-settings>summary::after{content:"";width:9px;height:9px;margin-right:4px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform 260ms cubic-bezier(.16,1,.3,1)}
.couple-profile-settings[open]>summary::after,.couple-account-settings[open]>summary::after{transform:rotate(225deg)}
@keyframes couple-ring-first-meet{from{stroke-dashoffset:54;transform:translateX(-18px)}to{stroke-dashoffset:0;transform:translateX(0)}}
@keyframes couple-ring-second-meet{from{stroke-dashoffset:54;transform:translateX(18px)}to{stroke-dashoffset:0;transform:translateX(0)}}
@keyframes couple-ring-rule-draw{from{stroke-dashoffset:224}to{stroke-dashoffset:0}}
@keyframes couple-progress-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes couple-profile-unfold{from{clip-path:inset(0 0 12% 0);transform:translateY(-8px)}to{clip-path:inset(0);transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.couple-portal-ring-first{animation:couple-ring-first-meet .82s cubic-bezier(.16,1,.3,1) both}.couple-portal-ring-second{animation:couple-ring-second-meet .82s .08s cubic-bezier(.16,1,.3,1) both}.couple-portal-rings path{animation:couple-ring-rule-draw .72s .2s cubic-bezier(.16,1,.3,1) both}.couple-tool-progress progress::-webkit-progress-value{animation:couple-progress-draw .9s .28s cubic-bezier(.16,1,.3,1) both}.couple-tool-progress progress::-moz-progress-bar{animation:couple-progress-draw .9s .28s cubic-bezier(.16,1,.3,1) both}.couple-profile-settings[open] .couple-profile-settings-inner{animation:couple-profile-unfold .38s cubic-bezier(.16,1,.3,1) both}}
@media(max-width:900px){.couple-profile-settings-inner{grid-template-columns:1fr;gap:30px}.couple-invitation-section{grid-template-columns:1fr;gap:38px}.couple-invitation-intro h2{max-width:none}}
@media(max-width:620px){.couple-portal-identity{max-width:86%}.couple-portal-rings{top:12px;right:-34px;width:190px;opacity:.34}.couple-portal-index{position:relative;top:auto;grid-template-columns:1fr 1fr;margin:-18px 10px 0}.couple-portal-index a:nth-child(even){border-right:0}.couple-portal-index a:nth-child(-n+4){border-bottom:1px solid var(--line)}.couple-portal-index a:last-child{grid-column:1/-1}.couple-portal-index a{min-height:48px;padding:15px 12px}.couple-invitation-section{gap:28px;padding:55px 10px 20px}.couple-invitation-intro h2{font-size:3.2rem}.couple-invitation-preview{min-height:0;margin-inline:-10px;padding:46px 30px 42px}.couple-invitation-preview::before{inset:10px}.couple-invitation-parents,.couple-invitation-places{grid-template-columns:1fr;gap:16px}.couple-invitation-preview h3{gap:8px;font-size:3.1rem}.couple-portal-head-actions{align-items:stretch;flex-direction:column}.couple-portal-head-actions .button,.couple-portal-head-actions form{width:100%}.couple-profile-settings{margin:50px 0 0}.couple-profile-settings>summary{font-size:1.85rem}.couple-profile-settings-inner{padding:32px 0 40px}.couple-profile-settings-inner h2{font-size:2.65rem}.couple-profile-form{grid-template-columns:1fr;margin-inline:-15px;padding:28px 24px}.couple-profile-form .inquiry-field-wide,.couple-profile-form>.button{grid-column:auto}.couple-profile-invitation-fields{grid-column:auto;grid-template-columns:1fr}.couple-profile-invitation-fields>p,.couple-profile-invitation-fields .inquiry-field-wide{grid-column:auto}.couple-profile-form>.button{width:100%}.couple-account-settings{margin:50px 0 0}.couple-account-settings>div{align-items:start;flex-direction:column}.couple-account-delete{padding-left:0}}
@media(max-width:620px){.couple-access{gap:28px;padding-top:30px}.couple-access-story h1{margin-top:26px;font-size:3.35rem}.couple-access-story>.text-link{margin-top:16px}.couple-access-sheet{padding-top:34px}}

/* Global navigation separates discovery from personal tools inside one composed folio strip. */
.desktop-nav{flex:1;justify-content:flex-end;gap:14px;font-size:.78rem}.desktop-nav-primary,.desktop-nav-utility{display:flex;align-items:center}.desktop-nav-primary{min-height:54px;padding:4px;background:var(--white);box-shadow:0 12px 32px rgba(64,32,54,.1)}.desktop-nav-primary>.desktop-nav-link,.desktop-nav-group>summary{position:relative;min-height:46px;padding-inline:17px}.desktop-nav-primary>.desktop-nav-link{display:inline-flex;align-items:center}.desktop-nav-primary a:hover,.desktop-nav-utility a:hover{text-decoration:none!important}.desktop-nav-primary>.desktop-nav-link:hover,.desktop-nav-group>summary:hover{background:var(--paper-deep);color:var(--plum)}.desktop-nav-group>summary::after,.desktop-nav-primary>.desktop-nav-link::after{content:"";position:absolute;right:17px;bottom:3px;left:17px;height:1px;background:var(--rose);transform:scaleX(0);transform-origin:center;transition:transform .24s cubic-bezier(.16,1,.3,1)}.desktop-nav-group.is-active>summary,.desktop-nav-group[open]>summary,.desktop-nav-primary>.desktop-nav-link[aria-current="page"]{background:var(--paper-deep);color:var(--plum)}.desktop-nav-group.is-active>summary::after,.desktop-nav-group[open]>summary::after,.desktop-nav-primary>.desktop-nav-link[aria-current="page"]::after{transform:scaleX(1)}.desktop-nav-menu a[aria-current="page"]{background:var(--paper-deep);color:var(--plum)}.desktop-nav-utility{gap:5px;padding-left:13px;border-left:1px solid var(--line)}.desktop-nav-supplier,.desktop-nav-account,.desktop-nav-saved{display:inline-flex;align-items:center;justify-content:center;min-height:46px;text-decoration:none}.desktop-nav-supplier{padding-inline:12px;color:var(--muted);font-size:.7rem}.desktop-nav-supplier:hover,.desktop-nav-supplier[aria-current="page"]{color:var(--plum)}.desktop-nav-account{gap:7px;padding-inline:13px;background:var(--paper-deep);color:var(--plum)}.desktop-nav-account svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.45}.desktop-nav-account:hover,.desktop-nav-account[aria-current="page"]{background:var(--plum);color:var(--white)}.desktop-nav-saved{gap:8px;padding:0 8px 0 12px;color:var(--plum)}.desktop-nav-saved:hover,.desktop-nav-saved[aria-current="page"]{background:var(--rose-soft)}.desktop-nav-saved b{display:grid;place-items:center;min-width:30px;height:30px;padding-inline:7px;border:1px solid var(--rose);border-radius:50%;font-size:.66rem;font-variant-numeric:tabular-nums}
.mobile-nav nav{max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain}.mobile-nav-inner{grid-template-columns:190px minmax(0,1fr);grid-template-rows:auto 1fr;gap:24px 48px}.mobile-nav-title{grid-column:1;grid-row:1}.mobile-nav-quick{grid-column:1;grid-row:2;display:grid;align-content:start;gap:8px}.mobile-nav nav .mobile-nav-quick a{min-height:50px;padding:0 34px 0 15px;background:var(--paper-deep)}.mobile-nav nav .mobile-nav-quick a[aria-current="page"]{background:var(--plum);color:var(--white)}.mobile-nav-quick a span{display:grid;place-items:center;min-width:25px;height:25px;margin-left:auto;border:1px solid currentColor;border-radius:50%;font-size:.62rem;font-variant-numeric:tabular-nums}.mobile-nav-groups{grid-column:2;grid-row:1/span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 42px}.mobile-nav nav a[aria-current="page"]{color:var(--plum)}
@media(max-width:1180px) and (min-width:1041px){.desktop-nav{gap:9px}.desktop-nav-primary>.desktop-nav-link,.desktop-nav-group>summary{padding-inline:12px}.desktop-nav-group>summary::after,.desktop-nav-primary>.desktop-nav-link::after{right:12px;left:12px}.desktop-nav-utility{padding-left:8px}.desktop-nav-supplier{padding-inline:8px;font-size:.66rem}.desktop-nav-account{padding-inline:10px}.desktop-nav-account svg{display:none}.desktop-nav-saved>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}
@media(max-width:1040px){.desktop-nav{display:none}.mobile-nav{display:block}}
@media(max-width:700px){.mobile-nav-inner{display:block}.mobile-nav-title{margin-bottom:20px}.mobile-nav-quick{grid-template-columns:1fr 1fr;margin-bottom:30px}.mobile-nav-groups{grid-template-columns:1fr;gap:26px}}
@media(max-width:620px){.mobile-nav nav{top:76px;max-height:calc(100dvh - 76px)}.mobile-nav-quick{grid-template-columns:1fr}}

/* Mobile navigation: a warm editorial folio instead of a monochrome link sheet. */
@media(max-width:1040px){
  .mobile-nav nav{
    background:var(--paper);
    border-top-color:var(--rose);
    box-shadow:0 26px 60px rgba(64,32,54,.2);
  }
  .mobile-nav-inner{
    grid-template-columns:210px minmax(0,1fr);
    gap:18px 34px;
    padding-block:34px 42px;
  }
  .mobile-nav-title{
    position:relative;
    isolation:isolate;
    display:flex;
    align-items:flex-end;
    min-height:190px;
    margin:0;
    padding:28px 24px;
    overflow:hidden;
    border-radius:14px;
    background:var(--plum);
    color:var(--white);
    font-size:2.55rem;
    line-height:.9;
    box-shadow:0 18px 38px rgba(64,32,54,.19);
  }
  .mobile-nav-title::before{
    content:"D";
    position:absolute;
    z-index:-1;
    top:-54px;
    right:-10px;
    color:var(--rose-soft);
    font:500 10rem/1 var(--serif);
    opacity:.1;
  }
  .mobile-nav-title::after{
    content:"";
    position:absolute;
    top:28px;
    left:24px;
    width:42px;
    height:1px;
    background:var(--rose);
  }
  .mobile-nav-quick{
    margin-top:0;
  }
  .mobile-nav nav .mobile-nav-quick a{
    min-height:54px;
    padding-inline:17px 38px;
    border:1px solid transparent;
    border-radius:12px;
    background:var(--rose-soft);
    color:var(--plum-dark);
  }
  .mobile-nav nav .mobile-nav-quick a:hover,
  .mobile-nav nav .mobile-nav-quick a:focus-visible{
    border-color:var(--rose);
    background:var(--white);
  }
  .mobile-nav-groups{
    gap:18px 22px;
  }
  .mobile-nav-group{
    align-self:start;
    padding:19px 20px 10px;
    border-radius:14px;
    background:rgba(255,253,249,.82);
    box-shadow:0 10px 28px rgba(64,32,54,.07);
  }
  .mobile-nav-group>p{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:5px;
    color:var(--plum);
  }
  .mobile-nav-group>p::after{
    content:"";
    flex:1;
    height:1px;
    background:var(--rose-soft);
  }
  .mobile-nav nav .mobile-nav-group a{
    min-height:51px;
    border-top:0;
    border-bottom:1px solid var(--line);
    padding:0 30px 0 2px;
    color:var(--ink);
    transform:translateX(0);
    transition:transform .28s cubic-bezier(.16,1,.3,1),color .28s cubic-bezier(.16,1,.3,1),background-color .28s cubic-bezier(.16,1,.3,1);
  }
  .mobile-nav nav .mobile-nav-group a:last-child{
    border-bottom:0;
  }
  .mobile-nav nav .mobile-nav-group a:hover,
  .mobile-nav nav .mobile-nav-group a:focus-visible,
  .mobile-nav nav .mobile-nav-group a[aria-current="page"]{
    background:var(--rose-soft);
    color:var(--plum-dark);
    transform:translateX(7px);
  }
}

@media(max-width:700px){
  .mobile-nav nav{
    padding:0;
  }
  .mobile-nav-inner{
    width:min(100% - 30px,1180px);
    padding-block:22px 36px;
  }
  .mobile-nav-title{
    min-height:142px;
    margin-bottom:14px;
    padding:26px 22px;
    font-size:2.35rem;
  }
  .mobile-nav-title::after{
    top:25px;
    left:22px;
  }
  .mobile-nav-quick{
    margin-bottom:20px;
  }
  .mobile-nav-groups{
    gap:15px;
  }
  .mobile-nav-group{
    padding:17px 18px 8px;
  }
}
.desktop-nav-saved>svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.35}

/* The homepage moves from one cinematic opening to three direct discovery paths; filtering belongs inside each directory. */
.home-paths{padding:72px 0 82px;background:var(--paper-deep)}
.home-paths h1{max-width:none;margin:0 0 42px;text-align:center;font-size:clamp(2.7rem,5vw,4.8rem);text-wrap:balance}
.home-paths-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--rose)}
.home-path{display:grid;grid-template-columns:58px minmax(0,1fr) 22px;align-items:center;gap:17px;min-height:142px;padding:24px 26px;color:var(--plum);text-decoration:none;transition:background-color .35s cubic-bezier(.16,1,.3,1)}
.home-path+.home-path{border-left:1px solid var(--line)}
.home-path:hover,.home-path:focus-visible{background:rgba(255,253,249,.65)}
.home-path svg{width:58px;height:58px;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.home-path span{font:500 clamp(1.65rem,2.4vw,2.35rem)/.94 var(--serif);letter-spacing:-.025em}
.home-path .home-path-arrow{width:22px;height:22px;stroke-width:1.4}
.home-path:hover>svg:first-child,.home-path:focus-visible>svg:first-child{transform:translateY(-5px)}
.home-path:hover .home-path-arrow,.home-path:focus-visible .home-path-arrow{transform:translateX(5px)}
@media(max-width:1040px){.home-path{grid-template-columns:44px minmax(0,1fr) 18px;gap:12px;padding-inline:18px}.home-path svg{width:44px;height:44px}.home-path span{font-size:1.75rem}.home-path .home-path-arrow{width:18px;height:18px}}
@media(max-width:700px){.home-paths{padding:52px 0 58px}.home-paths h1{margin-bottom:28px;font-size:clamp(2.5rem,9vw,3.25rem)}.home-paths-list{grid-template-columns:1fr}.home-path{min-height:90px;padding:16px 8px}.home-path+.home-path{border-left:0;border-top:1px solid var(--line)}.home-path span{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.home-path,.home-path svg{transition:none}}

/* Direct discovery links make the global header an editorial index, without the former raised navigation box. */
.desktop-nav{gap:22px}
.desktop-nav-primary{min-height:0;padding:0;background:transparent;box-shadow:none;gap:3px}
.desktop-nav-destination,.desktop-nav-primary>.desktop-nav-link,.desktop-nav-group>summary{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:0 10px;color:var(--ink);white-space:nowrap;text-decoration:none;font-size:.78rem}
.desktop-nav-destination svg{width:19px;height:19px;flex:none;stroke:var(--plum);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.desktop-nav-destination::after,.desktop-nav-group>summary::after,.desktop-nav-primary>.desktop-nav-link::after{content:"";position:absolute;right:10px;bottom:3px;left:10px;height:1px;background:var(--rose);transform:scaleX(0);transform-origin:center;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.desktop-nav-destination:hover::after,.desktop-nav-destination[aria-current="page"]::after,.desktop-nav-group[open]>summary::after,.desktop-nav-group.is-active>summary::after,.desktop-nav-primary>.desktop-nav-link:hover::after,.desktop-nav-primary>.desktop-nav-link[aria-current="page"]::after{transform:scaleX(1)}
.desktop-nav-destination:hover,.desktop-nav-destination[aria-current="page"],.desktop-nav-primary>.desktop-nav-link:hover,.desktop-nav-primary>.desktop-nav-link[aria-current="page"],.desktop-nav-group>summary:hover,.desktop-nav-group[open]>summary,.desktop-nav-group.is-active>summary{background:transparent;color:var(--plum)}
.desktop-nav-utility{gap:12px;padding-left:20px}
.desktop-nav-supplier{padding-inline:0;white-space:nowrap}
.desktop-nav-account{min-height:46px;padding-inline:14px;border:1px solid var(--rose);border-radius:999px;background:transparent;white-space:nowrap}
.desktop-nav-account:hover,.desktop-nav-account[aria-current="page"]{border-color:var(--plum);background:var(--plum);color:var(--white)}
@media(max-width:1180px) and (min-width:1041px){.desktop-nav{gap:14px}.desktop-nav-primary{gap:0}.desktop-nav-destination,.desktop-nav-primary>.desktop-nav-link,.desktop-nav-group>summary{padding-inline:9px;font-size:.78rem}.desktop-nav-destination svg{display:none}.desktop-nav-utility{gap:9px;padding-left:12px}.desktop-nav-account{padding-inline:11px}}
@media(prefers-reduced-motion:reduce){.desktop-nav-destination::after{transition:none}}

/* Service directories live behind one calm entry point instead of competing across the header. */
.desktop-services-menu,.desktop-planning-menu{width:350px;padding:8px;left:-26px}
.desktop-nav-menu .desktop-nav-feature-link{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:13px;min-height:72px;padding:10px 12px}
.desktop-nav-feature-link>svg{width:35px;height:35px;padding:7px;border:1px solid var(--line);border-radius:50%;fill:none;stroke:var(--plum);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .2s ease,background-color .2s ease}
.desktop-nav-menu .desktop-nav-feature-link:hover>svg,.desktop-nav-menu .desktop-nav-feature-link[aria-current="page"]>svg{transform:translateY(-2px);border-color:var(--rose);background:var(--rose-soft)}
.desktop-nav-menu .desktop-nav-feature-link strong{font-size:.79rem}
.desktop-nav-menu .desktop-nav-feature-link small{display:block;margin-top:2px;color:var(--muted);font-size:.65rem;font-weight:500;line-height:1.4}
@media(prefers-reduced-motion:reduce){.desktop-nav-feature-link>svg{transition:none}}

/* The decorative invitation is the portal's identity, never a separate creation tool. */
.couple-portal-invitation-head{display:block;min-height:0;padding:0;background:#f1dfe7;color:var(--plum-dark);text-align:center;box-shadow:0 24px 55px rgba(64,32,54,.16)}
.couple-portal-invitation-head::before{inset:16px}
.couple-portal-invitation-head::after{right:-85px;bottom:-110px;width:310px;height:310px}
.couple-portal-invitation-toolbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:70px;margin:0 34px;padding:10px 24px;border-bottom:1px solid rgba(88,45,72,.2);text-align:left}
.couple-portal-invitation-toolbar h1{max-width:none;margin:0;color:var(--plum-dark);font-size:1.55rem;line-height:1}
.couple-portal-invitation-toolbar p{display:block;margin:7px 0 0;color:#724a65;font-size:.66rem}
.couple-portal-invitation-head .couple-portal-head-actions{position:static}
.couple-portal-invitation-head .couple-portal-head-actions .button{min-height:44px;background:rgba(255,253,249,.7);color:var(--plum);box-shadow:none}
.couple-portal-invitation-head .couple-portal-head-actions .button:hover{background:var(--plum);color:var(--white)}
.couple-portal-invitation-body{position:relative;z-index:1;max-width:920px;margin-inline:auto;padding:22px 56px 18px}
.couple-portal-invitation-head .couple-portal-invitation-body p{display:block;color:#724a65}
.couple-portal-invitation-head .couple-portal-invitation-body p strong{color:var(--plum-dark)}
.couple-portal-invitation-head .couple-invitation-rings{width:92px;margin-bottom:7px}
.couple-portal-invitation-head .couple-invitation-together{margin-bottom:12px}
.couple-portal-invitation-head .couple-invitation-parents{max-width:690px;margin:0 auto 15px}
.couple-portal-invitation-head h2{display:flex;align-items:center;justify-content:center;gap:16px;margin:0;color:var(--plum-dark);font-size:clamp(3.5rem,6.2vw,5.2rem);line-height:.82;letter-spacing:-.025em}
.couple-portal-invitation-head h2 span{max-width:10ch;overflow-wrap:normal;word-break:normal}
.couple-portal-invitation-head h2 i{color:var(--rose);font-size:.62em;font-weight:500}
.couple-portal-invitation-head .couple-invitation-godparents{margin-top:13px}
.couple-portal-invitation-head time{margin-top:17px;padding-block:8px}
.couple-portal-invitation-head .couple-invitation-places{max-width:720px;margin:17px auto 0}
.couple-portal-invitation-head .couple-invitation-parents p,.couple-portal-invitation-head .couple-invitation-places p{min-width:0}
.couple-portal-invitation-head .couple-invitation-parents strong,.couple-portal-invitation-head .couple-invitation-places strong{overflow-wrap:normal;word-break:normal}
.couple-portal-invitation-head [hidden]{display:none}
.couple-portal-invitation-boundary{position:relative;z-index:1;display:block!important;margin:0!important;padding:0 28px 18px;color:#724a65!important;font-size:.62rem!important;text-align:center;transform:translateY(-12px)}
.couple-portal-invitation-head+.subscription-success,.couple-portal-invitation-head+.inquiry-errors{margin-top:0}
.couple-portal-invitation-head~.couple-portal-index{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.couple-portal-invitation-body{padding-inline:44px}.couple-portal-invitation-head h2{font-size:clamp(3.35rem,8vw,4.8rem)}}
@media(max-width:620px){.couple-portal-invitation-head{margin-inline:-5px}.couple-portal-invitation-head::before{inset:10px}.couple-portal-invitation-toolbar{align-items:stretch;flex-direction:column;gap:9px;margin:0 18px;padding:12px 10px 10px}.couple-portal-invitation-toolbar>div:first-child{text-align:center}.couple-portal-invitation-toolbar h1{font-size:1.3rem}.couple-portal-invitation-toolbar p{margin-top:3px}.couple-portal-invitation-head .couple-portal-head-actions{display:grid;grid-template-columns:1fr 1fr}.couple-portal-invitation-head .couple-portal-head-actions .button,.couple-portal-invitation-head .couple-portal-head-actions form{width:100%}.couple-portal-invitation-body{padding:13px 24px 12px}.couple-portal-invitation-head .couple-invitation-rings{width:62px;margin-bottom:1px}.couple-portal-invitation-head .couple-invitation-together{margin-bottom:8px;font-size:.84rem}.couple-portal-invitation-head .couple-invitation-parents,.couple-portal-invitation-head .couple-invitation-places{grid-template-columns:1fr 1fr;gap:8px}.couple-portal-invitation-head .couple-invitation-parents{margin-bottom:10px}.couple-portal-invitation-head .couple-invitation-parents span,.couple-portal-invitation-head .couple-invitation-places span{margin-bottom:3px;font-size:.5rem}.couple-portal-invitation-head .couple-invitation-parents strong{font-size:.57rem}.couple-portal-invitation-head h2{align-items:center;flex-direction:column;gap:1px;font-size:2.35rem;line-height:.76}.couple-portal-invitation-head h2 span{max-width:11ch}.couple-portal-invitation-head h2 i{line-height:.58}.couple-portal-invitation-head .couple-invitation-godparents{margin-top:9px;font-size:.75rem}.couple-portal-invitation-head time{margin-top:10px;padding:6px 14px}.couple-portal-invitation-head .couple-invitation-places{margin-top:11px}.couple-portal-invitation-head .couple-invitation-places strong{font-size:.78rem}.couple-portal-invitation-boundary{padding:0 28px 16px;font-size:.57rem!important;transform:translateY(-10px)}.couple-portal-invitation-head~.couple-portal-index{grid-template-columns:1fr 1fr}.couple-portal-index a:last-child{grid-column:auto}.couple-portal-index a:nth-child(-n+2){border-bottom:1px solid var(--line)}.couple-portal-index a:nth-child(even){border-right:0}}

/* The couple portal is an operational wedding folio with a romantic abstract field, not an invitation. */
.couple-portal-welcome{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);align-items:stretch;min-height:390px;padding:0;background:var(--plum-dark);color:var(--white);overflow:hidden}
.couple-portal-welcome::before{content:"";position:absolute;z-index:3;inset:auto 42% 0 28px;height:1px;background:rgba(234,214,213,.65);transform-origin:left;pointer-events:none}
.couple-portal-welcome-copy{position:relative;z-index:4;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:55px 58px 50px;background:linear-gradient(135deg,var(--plum-dark),var(--plum))}
.couple-portal-welcome h1{max-width:none;margin:0;color:var(--white);font-size:clamp(4rem,6.4vw,5.55rem);line-height:.84;letter-spacing:-.028em}
.couple-portal-welcome-message{max-width:32ch;margin:24px 0 0!important;color:#eadde4!important;font:500 clamp(1rem,1.7vw,1.28rem)/1.45 var(--serif)}
.couple-portal-welcome-identity{display:grid;gap:5px;margin:32px 0 0!important;padding-top:19px;border-top:1px solid rgba(234,214,213,.25);color:#eadde4!important}
.couple-portal-welcome-identity strong{max-width:30ch;color:var(--white);font:500 clamp(1.15rem,2vw,1.48rem)/1.2 var(--serif);overflow-wrap:normal;word-break:normal}
.couple-portal-welcome-identity span{font-size:.7rem}
.couple-portal-welcome-visual{position:relative;z-index:1;min-width:0;margin:0;overflow:hidden;background:#7b5969}
.couple-portal-welcome-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(62,31,52,.34),transparent 42%),linear-gradient(0deg,rgba(38,20,31,.44),transparent 46%);pointer-events:none}
.couple-portal-welcome-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 42%;transform:scale(1.025);filter:saturate(.84) contrast(.96)}
.couple-portal-welcome-visual figcaption{position:absolute;z-index:3;right:24px;bottom:22px;color:var(--white);font:italic 500 .82rem var(--serif)}
.couple-portal-welcome-visual figcaption a{color:inherit;text-underline-offset:4px}
.couple-portal-bloom{position:absolute;z-index:2;right:-58px;bottom:-26px;width:330px;height:auto;color:#f0cfd9;opacity:.64;pointer-events:none}
.couple-portal-bloom path,.couple-portal-bloom circle{fill:none;stroke:currentColor;stroke-width:1.15;vector-effect:non-scaling-stroke}
.couple-portal-bloom-stem{stroke-dasharray:460;stroke-dashoffset:0}
.couple-portal-welcome .couple-portal-head-actions{display:flex;align-items:center;gap:10px;margin-top:30px}
.couple-portal-welcome .couple-portal-head-actions .button{min-height:46px;background:var(--white);color:var(--plum)}
.couple-portal-welcome .couple-portal-head-actions .button:hover{background:var(--rose-soft);color:var(--plum-dark)}
.couple-portal-welcome~.couple-portal-index{grid-template-columns:repeat(4,1fr)}
.couple-portal-index{border-radius:14px;overflow:hidden}
.couple-portal-index a{display:flex;align-items:center;justify-content:center;gap:9px}
.couple-portal-index a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;transition:transform 260ms cubic-bezier(.16,1,.3,1)}
.couple-portal-index a:hover svg,.couple-portal-index a[aria-current="location"] svg{transform:translateY(-2px)}
.couple-dashboard-heading{margin:76px 48px 0;padding-bottom:27px;border-bottom:1px solid var(--rose)}
.couple-dashboard-heading h2{max-width:none;margin:0;font-size:clamp(2.8rem,4.7vw,4.35rem);line-height:1.04;text-wrap:balance;hyphens:none}
.couple-dashboard-heading p{max-width:80ch;margin:12px 0 0;color:var(--muted)}
.couple-dashboard-overview{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(310px,.82fr);gap:28px;align-items:stretch;margin:30px 48px 0}
.couple-dashboard-suppliers{min-width:0;padding:36px 38px 26px;background:var(--white);box-shadow:0 18px 50px rgba(64,32,54,.1)}
.couple-dashboard-suppliers>header{align-items:center}
.couple-dashboard-suppliers>header h2{font-size:clamp(2.5rem,3.5vw,3.25rem)}
.couple-dashboard-suppliers>ol li{min-height:92px}
.couple-saved-more{margin:20px 0 4px;color:var(--muted);font-size:.7rem}
.couple-saved-more a{color:var(--plum)}
.couple-saved-empty{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:start;gap:22px;padding:32px 0 8px;border-bottom:0}
.couple-saved-empty>svg{width:62px;height:62px;padding:13px;border-radius:50%;background:var(--rose-soft);fill:none;stroke:var(--plum);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.couple-saved-empty h3{margin:2px 0 8px;font-size:1.65rem}
.couple-saved-empty p{font-size:.72rem}
.couple-saved-empty .button{grid-column:2;justify-self:start;margin-top:2px}
.couple-dashboard-tools{display:grid;grid-template-rows:1fr 1fr;gap:16px}
.couple-dashboard-tools .couple-tool-progress{display:grid;grid-template-columns:52px 1fr;gap:18px 20px;align-items:start;margin:0;padding:29px 30px;border:0;background:#efe2e6;overflow:hidden}
.couple-tool-icon{grid-row:1;align-self:start;width:52px;height:52px;padding:11px;border-radius:50%;background:rgba(255,253,249,.72);fill:none;stroke:var(--plum);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.couple-dashboard-tools .couple-tool-progress>div{grid-column:2}
.couple-dashboard-tools .couple-tool-progress progress,.couple-dashboard-tools .couple-tool-progress .button{grid-column:1/-1}
.couple-dashboard-tools .couple-tool-progress progress{height:6px}
.couple-dashboard-tools .couple-tool-progress:nth-child(even){background:var(--plum);color:var(--white)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) h2,.couple-dashboard-tools .couple-tool-progress:nth-child(even) p strong{color:var(--white)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) p{color:#e4d8de}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) .couple-tool-icon{background:#79556a;stroke:var(--rose-soft)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) progress{background:#76546a;accent-color:var(--rose-soft)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) progress::-webkit-progress-bar{background:#76546a}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) progress::-webkit-progress-value{background:var(--rose-soft)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) progress::-moz-progress-bar{background:var(--rose-soft)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) .button{border-color:#cbaebb;color:var(--white)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) .button:hover{background:var(--white);color:var(--plum)}
.couple-dashboard-tools .couple-tool-progress .button{justify-self:start}
.couple-meetings-stage{position:relative;margin:82px 48px 0;padding:0 42px 42px;background:var(--paper-deep);overflow:hidden}
.couple-meetings-stage::after{content:"";position:absolute;right:-95px;bottom:-120px;width:260px;height:260px;border:1px solid var(--rose);border-radius:50%;opacity:.55;pointer-events:none}
.couple-meetings-stage .couple-portal-intro{position:relative;z-index:1;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);padding:42px 0 30px}
.couple-portal-intro>div{display:flex;align-items:center;gap:18px}
.couple-portal-intro>div>svg{flex:0 0 auto;width:48px;height:48px;padding:10px;border-radius:50%;background:var(--white);fill:none;stroke:var(--plum);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.couple-meetings-stage .couple-portal-intro h2{font-size:clamp(2.7rem,4vw,3.8rem)}
.couple-meetings-stage .couple-portal-empty{position:relative;z-index:1;margin:0;padding:42px 0 8px;background:transparent;box-shadow:none}
.couple-meetings-stage .couple-portal-empty h3{max-width:16ch}
.couple-meetings-stage .couple-appointment-list{position:relative;z-index:1;padding:0}
[data-couple-reveal]{opacity:1;transform:none}
.couple-portal.is-motion-ready [data-couple-reveal]{opacity:0;transform:translateY(22px)}
.couple-portal.is-motion-ready [data-couple-reveal].is-visible{opacity:1;transform:translateY(0);transition:opacity .62s cubic-bezier(.16,1,.3,1),transform .62s cubic-bezier(.16,1,.3,1)}
@keyframes couple-register-open-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes couple-register-open-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes couple-bloom-draw{from{stroke-dashoffset:460}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:no-preference){.couple-portal-welcome::before{animation:couple-register-open-x .62s .12s cubic-bezier(.16,1,.3,1) both}.couple-portal-welcome-visual>img{animation:couple-photo-arrive 1.1s cubic-bezier(.16,1,.3,1) both}.couple-portal-welcome .couple-portal-bloom-stem{animation:couple-bloom-draw .82s .22s cubic-bezier(.16,1,.3,1) both}}
@keyframes couple-photo-arrive{from{transform:scale(1.09);filter:saturate(.7) contrast(.9) blur(4px)}to{transform:scale(1.025);filter:saturate(.84) contrast(.96) blur(0)}}
@media(prefers-reduced-motion:reduce){.couple-portal-welcome::before,.couple-portal-welcome-visual>img,.couple-portal-bloom-stem,.couple-tool-progress progress::-webkit-progress-value,.couple-tool-progress progress::-moz-progress-bar{animation:none!important}.couple-profile-settings>summary::after,.couple-account-settings>summary::after{transition:none}}
@media(max-width:900px){.couple-portal-welcome{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);min-height:360px}.couple-portal-welcome-copy{padding:46px 38px}.couple-dashboard-heading{margin-inline:28px}.couple-dashboard-overview{grid-template-columns:1fr;gap:24px;margin-inline:28px}.couple-dashboard-tools{grid-template-columns:1fr 1fr;grid-template-rows:auto}.couple-dashboard-tools .couple-tool-progress{min-width:0}.couple-meetings-stage{margin-inline:28px}}
@media(max-width:620px){.couple-portal-welcome{display:grid;grid-template-columns:1fr;min-height:0}.couple-portal-welcome-copy{padding:38px 26px 34px}.couple-portal-welcome h1{font-size:3.8rem}.couple-portal-welcome-message{font-size:1rem}.couple-portal-welcome-identity{margin-top:25px!important}.couple-portal-welcome-visual{min-height:210px}.couple-portal-welcome-visual figcaption{right:18px;bottom:15px}.couple-portal-bloom{right:-78px;width:260px}.couple-portal-welcome .couple-portal-head-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:25px}.couple-portal-welcome .couple-portal-head-actions .button,.couple-portal-welcome .couple-portal-head-actions form{width:100%}.couple-portal-welcome~.couple-portal-index{grid-template-columns:1fr 1fr}.couple-portal-index{margin-top:-14px}.couple-portal-index a{justify-content:flex-start;padding-inline:18px}.couple-dashboard-heading{grid-template-columns:1fr;gap:16px;margin:55px 10px 0}.couple-dashboard-heading h2{font-size:3rem}.couple-dashboard-overview{gap:18px;margin:24px 10px 0}.couple-dashboard-suppliers{padding:30px 24px 24px}.couple-dashboard-suppliers>header{display:block}.couple-saved-empty{grid-template-columns:50px 1fr}.couple-saved-empty>svg{width:50px;height:50px}.couple-saved-empty .button{grid-column:1/-1;width:100%}.couple-dashboard-tools{grid-template-columns:1fr;gap:18px}.couple-dashboard-tools .couple-tool-progress{gap:16px;padding:27px 24px}.couple-dashboard-tools .couple-tool-progress .button{width:100%}.couple-meetings-stage{margin:66px -5px 0;padding:0 25px 34px}.couple-meetings-stage .couple-portal-intro{grid-template-columns:1fr;gap:18px;padding:35px 0 24px}.couple-portal-intro>div{align-items:flex-start}.couple-meetings-stage .couple-portal-empty{margin:0;padding:34px 0 5px}.couple-meetings-stage .couple-portal-empty>div{align-items:stretch}.couple-meetings-stage .couple-portal-empty .button{width:100%}}

/* The shared wedding board is a private voting register, not a social feed. */
.wedding-board-owner{margin-block:18px 90px;padding:48px 42px 38px;background:var(--paper-deep);scroll-margin-top:110px}.wedding-board-owner-head{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-bottom:28px;border-bottom:1px solid var(--rose)}.wedding-board-owner-head h2{margin:0 0 10px;font-size:clamp(2.6rem,4vw,3.7rem)}.wedding-board-owner-head p{max-width:68ch;margin:0;color:var(--muted)}.wedding-board-owner-head svg{width:80px;flex:none;fill:none;stroke:var(--rose);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.wedding-board-owner-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:56px;padding-block:38px 30px}.wedding-board-owner h3{margin:0 0 9px;font-size:2rem}.wedding-board-invite>p{max-width:48ch;margin:0 0 23px;color:var(--muted);font-size:.78rem;line-height:1.65}.wedding-board-invite>div{margin-bottom:17px}.wedding-board-invite label{display:block;margin-bottom:7px;color:var(--plum);font-size:.65rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.wedding-board-invite input,.wedding-board-invite select{width:100%;min-height:48px;padding:11px 12px;border:1px solid var(--line);border-radius:0;background:var(--porcelain);color:var(--ink);font:500 .82rem/1.5 var(--sans)}.wedding-board-invite .button{margin-top:4px}.wedding-board-invite :focus-visible,.wedding-board-person-actions :focus-visible{outline:3px solid var(--focus-rose);outline-offset:3px}.wedding-board-people>ol{margin:20px 0 0;padding:0;border-top:1px solid var(--line);list-style:none}.wedding-board-people li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.wedding-board-people strong,.wedding-board-people span,.wedding-board-people small{display:block}.wedding-board-people strong{font:500 1.35rem var(--serif)}.wedding-board-people span{margin-top:3px;color:var(--muted);font-size:.7rem}.wedding-board-people small{margin-top:5px;color:var(--plum);font-size:.66rem}.wedding-board-person-actions{display:flex;gap:16px}.wedding-board-person-actions form{margin:0}.wedding-board-person-actions button{min-height:44px;padding:0;border:0;background:transparent;cursor:pointer}.wedding-board-no-people{margin:20px 0 0;padding-block:22px;border-block:1px solid var(--line);color:var(--muted);font-size:.78rem}.wedding-board-boundary{margin:0;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:.72rem;line-height:1.65}.wedding-board-issued{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:30px;align-items:center;margin-top:26px;padding:20px 22px;background:var(--porcelain)}.wedding-board-issued strong{font-size:.82rem}.wedding-board-issued p{margin:4px 0 0;color:var(--muted);font-size:.68rem}.wedding-board-issued>div:last-child{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.wedding-board-issued input{min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.saved-board-votes{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.saved-board-votes span{padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.62rem;font-weight:700;font-variant-numeric:tabular-nums}.saved-board-votes span[data-vote="like"]{border-color:var(--rose);color:var(--plum)}

.board-guest-head{padding:68px 0 62px;background:var(--paper-deep)}.board-guest-head-inner{display:grid;grid-template-columns:110px minmax(0,780px);gap:50px;align-items:center}.board-guest-mark{display:grid;place-items:center;width:100px;height:100px;border:1px solid var(--rose);border-radius:50%}.board-guest-mark svg{width:62px;fill:none;stroke:var(--plum);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.board-guest-head h1{margin:0 0 17px;font-size:clamp(3.3rem,6vw,5.4rem)}.board-guest-head p{max-width:66ch;margin:0;color:var(--muted);line-height:1.75}.board-guest-list{padding-block:64px 100px}.board-guest-list>header{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:25px;border-bottom:1px solid var(--rose)}.board-guest-list>header h2{margin:0;font-size:3rem}.board-guest-list>header p{margin:0;color:var(--muted);font-size:.76rem}.board-guest-list>ol{margin:0;padding:0;list-style:none}.board-guest-list>ol>li{display:grid;grid-template-columns:48px minmax(240px,.9fr) minmax(470px,1.1fr);gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}.board-guest-list>ol>li>span{align-self:start;padding-top:8px;color:var(--rose);font:500 1rem var(--serif)}.board-guest-supplier p{margin:0 0 6px;color:var(--plum);font-size:.65rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.board-guest-supplier h3{margin:0;font-size:2.1rem}.board-guest-supplier h3 a{text-decoration:none}.board-vote-form{display:flex;align-items:end;justify-content:flex-end;gap:13px}.board-vote-form fieldset{display:flex;gap:7px;margin:0;padding:0;border:0}.board-vote-form legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.board-vote-form label{cursor:pointer}.board-vote-form input{position:absolute;opacity:0;pointer-events:none}.board-vote-form label span,.board-vote-submit{display:grid;place-items:center;min-height:44px;padding:0 15px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font:700 .68rem var(--sans)}.board-vote-form input:checked+span{border-color:var(--rose);background:var(--rose-soft);color:var(--plum)}.board-vote-form input:focus-visible+span{outline:3px solid var(--focus-rose);outline-offset:3px}.board-vote-submit{border-radius:10px;border-color:var(--plum);background:var(--plum);color:white;cursor:pointer}.board-vote-submit:hover{background:var(--plum-dark)}.board-feedback{margin:0 0 24px;padding:13px 17px;background:#f0f6ef;color:#344a37;font-size:.78rem}.board-feedback.is-error{background:#fbebef;color:#762c42}.board-guest-empty{padding:58px 0;border-bottom:1px solid var(--line)}.board-guest-empty h3{font-size:2.2rem}.board-guest-empty p,.board-privacy-note{color:var(--muted)}.board-privacy-note{margin:28px 0 0;font-size:.7rem}
@media(max-width:900px){.wedding-board-owner-layout{grid-template-columns:1fr;gap:42px}.board-guest-list>ol>li{grid-template-columns:40px 1fr}.board-vote-form{grid-column:2;justify-content:flex-start}.board-vote-form fieldset{flex-wrap:wrap}}
@media(max-width:620px){.wedding-board-owner{margin-bottom:60px;padding:31px 20px}.wedding-board-owner-head{align-items:flex-start}.wedding-board-owner-head svg{display:none}.wedding-board-owner-layout{padding-top:30px}.wedding-board-issued{grid-template-columns:1fr;padding:18px}.wedding-board-issued>div:last-child{grid-template-columns:1fr}.wedding-board-issued .button{width:100%}.wedding-board-people li{grid-template-columns:1fr}.wedding-board-person-actions{justify-content:flex-start}.board-guest-head{padding:45px 0}.board-guest-head-inner{grid-template-columns:1fr;gap:25px}.board-guest-mark{width:74px;height:74px}.board-guest-mark svg{width:48px}.board-guest-head h1{font-size:3.4rem}.board-guest-list{padding-block:45px 70px}.board-guest-list>header{display:block}.board-guest-list>header p{margin-top:8px}.board-guest-list>ol>li{grid-template-columns:30px minmax(0,1fr);gap:13px;padding:25px 0}.board-guest-supplier h3{font-size:1.75rem}.board-vote-form{grid-column:1/-1;display:grid;justify-content:stretch}.board-vote-form fieldset{display:grid;grid-template-columns:repeat(3,1fr)}.board-vote-form label span{padding-inline:7px;text-align:center}.board-vote-submit{width:100%}}
.board-vote-submit{box-sizing:border-box}
.board-vote-form .board-vote-submit{position:static;opacity:1;pointer-events:auto}
@media(max-width:620px){.board-vote-form{min-width:0;width:100%}.board-vote-form fieldset{min-width:0;grid-template-columns:repeat(3,minmax(0,1fr))}.board-vote-form label,.board-vote-form label span{min-width:0}}
@media(max-width:360px){.couple-portal-welcome .couple-portal-head-actions{grid-template-columns:1fr}}

/* Public introductions point to the private planning tools without exposing editable guest state. */
.planning-intro-page{padding:48px 0 90px;background:var(--paper)}
.planning-intro-page .breadcrumbs{margin-bottom:62px}
.planning-intro-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(42px,7vw,110px);align-items:center}
.planning-intro-copy h1{max-width:11ch;margin:0 0 28px;font-size:clamp(3.5rem,6vw,6rem);line-height:.96}
.planning-intro-copy>p{max-width:56ch;color:var(--muted);font-size:1rem;line-height:1.65}
.planning-intro-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:38px}
.planning-intro-actions .button{min-width:205px}
.planning-intro-note{margin-top:20px!important;font-size:.72rem!important}
.planning-intro-preview{position:relative;padding:22px;background:#f2e4e9;box-shadow:0 20px 55px rgba(63,42,56,.11)}
.planning-intro-preview::before{content:"";position:absolute;inset:-17px 18px 17px -18px;border:1px solid var(--rose);pointer-events:none}
.planning-intro-preview-top{display:flex;justify-content:space-between;align-items:center;padding:10px 14px 18px;border-bottom:1px solid var(--rose);color:var(--plum);font-size:.7rem;letter-spacing:.08em}
.planning-intro-preview-top span:first-child{font:500 2rem var(--serif);letter-spacing:0}
.planning-intro-preview-body{padding:36px 25px 42px;background:rgba(255,255,255,.5)}
.planning-intro-preview-symbol{display:block;width:72px;height:36px;margin-bottom:30px;background:radial-gradient(circle at 30% 50%,transparent 15px,var(--rose) 16px,var(--rose) 17px,transparent 18px),radial-gradient(circle at 70% 50%,transparent 15px,var(--rose) 16px,var(--rose) 17px,transparent 18px)}
.planning-intro-preview h2{max-width:10ch;margin:0 0 36px;font-size:clamp(2.3rem,3.3vw,3.4rem);line-height:1}
.planning-intro-preview-row{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:60px;border-top:1px solid var(--rose);font-size:.78rem}
.planning-intro-preview-row i{flex:none;width:18px;height:18px;border:1px solid var(--plum);border-radius:50%}
.planning-intro-preview-row i.is-done{background:var(--plum)}
.planning-intro-preview>p{margin:14px 0 0;color:var(--muted);font-size:.64rem}
.planning-intro-crosslink{display:flex;gap:14px;margin-top:72px;padding-top:23px;border-top:1px solid var(--rose);color:var(--muted);font-size:.8rem}
.planning-intro-crosslink a{color:var(--plum);font-weight:700}
@media(max-width:800px){.planning-intro-layout{grid-template-columns:1fr;gap:55px}.planning-intro-preview{max-width:540px}.planning-intro-page .breadcrumbs{margin-bottom:44px}}
@media(max-width:620px){.planning-intro-page{padding:28px 0 65px}.planning-intro-copy h1{font-size:3.55rem}.planning-intro-actions{align-items:stretch;flex-direction:column;gap:18px}.planning-intro-actions .button{width:100%}.planning-intro-preview{margin-left:14px}.planning-intro-crosslink{display:block;margin-top:50px}.planning-intro-crosslink a{display:block;margin-top:8px}}

/* Private shortlist actions live in profiles, not discovery cards. */
.profile-preferences{display:flex;flex-wrap:wrap;align-items:center;gap:8px 25px;margin-top:23px}
.profile-preference-action{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:5px 0;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--plum);font:650 .72rem var(--sans);cursor:pointer;transition:border-color .2s ease,color .2s ease}
.profile-preference-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.profile-preference-action:hover,.profile-preference-action[aria-pressed="true"]{border-bottom-color:var(--rose)}
.profile-preference-action[data-favorite-toggle][aria-pressed="true"] svg{fill:var(--rose-soft)}
.profile-preference-action:focus-visible{outline:2px solid var(--focus-rose,#c75b82);outline-offset:3px}
.profile-preference-action:disabled{opacity:.45;cursor:not-allowed}
.jewelry-profile-title .profile-preference-action{color:white}
.jewelry-profile-title .profile-preference-action[data-favorite-toggle][aria-pressed="true"] svg{fill:rgba(255,255,255,.32)}
@media(prefers-reduced-motion:reduce){.profile-preference-action{transition:none}}
.saved-supplier-actions{display:flex;align-items:center;gap:17px}
.saved-supplier-compare{min-height:44px;padding:0;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--plum);font:650 .7rem var(--sans);cursor:pointer}
.saved-supplier-compare:hover,.saved-supplier-compare[aria-pressed="true"]{border-bottom-color:var(--rose)}
.saved-supplier-compare:disabled{opacity:.45;cursor:not-allowed}
.saved-supplier-compare:focus-visible{outline:2px solid var(--focus-rose,#c75b82);outline-offset:3px}
.saved-venue-availability{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:start;gap:7px 12px;margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}
.saved-venue-availability>span{color:var(--plum);font-size:.65rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.saved-venue-availability .event-status{justify-self:start}
.saved-venue-availability>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.68rem;line-height:1.55;text-transform:none;letter-spacing:0;font-weight:400}
.saved-venue-availability>small{grid-column:1/-1;color:var(--muted);font-size:.62rem;line-height:1.55}
.saved-venue-availability>a{grid-column:1/-1;width:max-content;min-height:44px;padding-top:9px;border-bottom:1px solid var(--rose);color:var(--plum);font-size:.68rem;font-weight:700;text-decoration:none}
.saved-venue-availability>a:focus-visible{outline:2px solid var(--focus-rose,#c75b82);outline-offset:3px}
@media(max-width:620px){.saved-supplier-actions{grid-column:2;justify-self:start}.saved-supplier-actions .saved-supplier-remove{grid-column:auto}}
@media(max-width:620px){.saved-venue-availability{grid-template-columns:1fr;gap:8px}.saved-venue-availability>p,.saved-venue-availability>small,.saved-venue-availability>a{grid-column:auto}}

/* Venue discovery shares the atelier cover's rhythm while keeping its county-first search. */
.venue-directory-head{position:relative;overflow:hidden;padding:32px 0 48px;background:linear-gradient(125deg,#fcf6f2 0%,#f5e8e8 57%,#f0e1e0 100%);border-bottom:0}
.venue-directory-head::before{content:"";position:absolute;right:-160px;top:95px;width:440px;height:440px;border:1px solid rgba(88,45,72,.12);border-radius:50%;pointer-events:none}
.venue-directory-head .shell{position:relative;z-index:1}
.venue-directory-head .breadcrumbs{margin-bottom:25px}
.venue-hero-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);align-items:center;gap:clamp(30px,6vw,92px)}
.venue-title-row{display:block;margin:0;padding:26px 0 55px}
.venue-title-row h1{max-width:13ch;margin:0 0 28px;font-size:clamp(3.6rem,6vw,6rem);line-height:.92;text-wrap:balance}
.venue-title-row>div>p{max-width:49ch;margin:0;color:#675c64;font-size:1.04rem;line-height:1.7}
.venue-directory-photo{position:relative;height:450px;margin:0 0 34px;padding:11px 11px 0 0}
.venue-directory-photo::before{content:"";position:absolute;inset:0 0 11px 11px;border:1px solid rgba(88,45,72,.36);border-radius:48% 48% 5px 5px;pointer-events:none}
.venue-directory-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%;border-radius:48% 48% 5px 5px;filter:saturate(.83)}
.venue-directory-photo figcaption{position:absolute;right:17px;bottom:8px;padding:5px 9px;background:rgba(46,31,42,.76);color:white;font-size:.6rem}
.venue-search-wrap{position:relative;z-index:2;margin:-22px 0 0;padding:23px;background:#fffdfb;border:1px solid #ead5d9;box-shadow:0 22px 46px rgba(82,48,62,.11)}
.venue-search-intro{margin:0 0 12px;color:var(--plum);font:italic 1.45rem/1.1 var(--serif)}
.venue-search-form{padding:0;box-shadow:none;gap:14px}
.venue-field{display:flex;flex-direction:column;justify-content:center;min-height:68px;padding:8px 18px;background:#f8f2ee;border:1px solid transparent;transition:background-color .2s ease,border-color .2s ease}
.venue-field:focus-within{background:white;border-color:var(--rose)}
.venue-field label{margin-bottom:0}
.venue-field select{height:38px;font-size:1rem}
.venue-search-form .button{min-width:235px;margin:0;border-radius:4px}
.venue-search-form .button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(64,32,54,.2)}
.venue-date-filter{grid-column:1/-1;display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;padding:16px 4px 0;border-top:1px solid var(--line)}
.venue-date-filter input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--plum)}
.venue-date-filter label{display:grid;gap:3px;min-height:44px;cursor:pointer}
.venue-date-filter label strong{color:var(--ink);font-size:.78rem;line-height:1.4}
.venue-date-filter label span{color:var(--muted);font-size:.67rem;line-height:1.5}
.venue-date-filter:has(input:focus-visible){outline:3px solid var(--focus-rose,#c75b82);outline-offset:4px}
.venue-active-filters{margin:20px 0 0}
.venue-results{padding-top:70px}
.venue-results-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.venue-results-heading h2{margin:0 0 10px;font-size:clamp(2.6rem,4vw,4rem)}
.venue-results-heading>div>p{max-width:55ch;margin:0;color:var(--muted);font-size:.9rem}
.venue-result-count{flex:none;margin:0;color:var(--plum);font-size:.85rem;white-space:nowrap}
.venue-result-count strong{display:inline;font:500 2rem/1 var(--serif);vertical-align:-.12em}
.venue-grid{gap:34px 24px}
.venue-card{display:flex;flex-direction:column;box-shadow:0 12px 32px rgba(62,37,48,.06);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}
.venue-card:hover{transform:translateY(-4px);box-shadow:0 22px 42px rgba(62,37,48,.12)}
.venue-card-image{aspect-ratio:1.65}
.venue-card-image::after{content:"";position:absolute;z-index:2;inset:auto 0 0;height:26%;background:linear-gradient(transparent,rgba(41,29,37,.12));pointer-events:none}
.venue-card-body{display:flex;flex-direction:column;flex:1;padding:27px 30px 30px}
.venue-card-heading{margin:0 0 12px}
.venue-card-heading h2{max-width:none;font-size:clamp(2rem,3vw,2.8rem);line-height:1}
.venue-card .arrow-link{border-color:var(--rose);color:var(--plum);transition:background-color .2s ease,color .2s ease}
.venue-card:hover .arrow-link{background:var(--plum);color:white}
.venue-card-description{margin-bottom:0}
.venue-card-date-status{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:17px 0 0;padding:13px 0;border-block:1px solid var(--line)}
.venue-card-date-status>span{color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
.event-status-unknown{border-color:var(--line);background:var(--paper);color:var(--muted)}
.venue-card-cta{width:max-content;min-height:44px;display:inline-flex;align-items:center;margin-top:auto;padding-top:16px;color:var(--plum);font-size:.83rem;font-weight:700;text-decoration-thickness:1px}
.venue-card-description+.venue-card-cta{margin-top:18px}
@media(max-width:900px){.venue-hero-layout{grid-template-columns:1fr 36%;gap:25px}.venue-directory-photo{height:350px}.venue-results{padding-top:56px}}
@media(max-width:620px){.venue-directory-head{padding:22px 0 37px}.venue-directory-head .breadcrumbs{margin-bottom:17px}.venue-hero-layout{grid-template-columns:1fr;gap:0}.venue-title-row{padding:10px 0 22px}.venue-title-row h1{font-size:clamp(3.2rem,12vw,4.4rem);margin-bottom:16px}.venue-title-row>div>p{font-size:.9rem;line-height:1.6}.venue-directory-photo{height:240px;margin-bottom:27px}.venue-directory-photo img{object-position:center 52%}.venue-search-wrap{margin-top:0;padding:16px}.venue-search-intro{font-size:1.5rem}.venue-search-form{display:block}.venue-field{border:1px solid transparent;padding:8px 14px}.venue-search-form .button{width:100%;min-width:0;min-height:54px;margin:10px 0 0}.venue-date-filter{margin-top:14px;padding-top:15px}.venue-active-filters{margin-top:16px}.venue-results{padding-top:44px}.venue-results-heading{display:block;margin-bottom:22px;padding-bottom:17px}.venue-results-heading h2{font-size:2.65rem}.venue-results-heading>div>p{font-size:.84rem}.venue-result-count{margin-top:14px}.venue-grid{gap:25px}.venue-card-image{aspect-ratio:1.5}.venue-card-body{padding:22px}.venue-card-heading h2{font-size:2.1rem}.venue-card-date-status{align-items:flex-start;flex-direction:column;gap:8px}}
@media(min-width:901px){.venue-title-row{animation:discovery-arrive .7s both}.venue-directory-photo{animation:discovery-arrive .85s .12s both}.venue-search-wrap{animation:discovery-arrive .75s .2s both}}
@media(prefers-reduced-motion:reduce){.venue-card,.venue-card-image img,.venue-card .arrow-link,.venue-search-form .button{transition:none}.venue-card:hover,.venue-search-form .button:hover{transform:none}.venue-title-row,.venue-directory-photo,.venue-search-wrap{animation:none}}

/* Jewelry uses the same county-first cover as venues, with category-specific imagery. */
.jewelry-directory-photo img{object-position:center 48%}
.jewelry-directory-search-note{margin:12px 0 0;color:#675c64;font-size:.72rem;line-height:1.5}

/* The couple's three planning handoffs read as one vertical sequence. */
.couple-dashboard-overview{grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.couple-dashboard-suppliers{padding:32px 38px}
.couple-dashboard-tools{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:20px}
.couple-dashboard-tools .couple-tool-progress{grid-template-columns:52px minmax(220px,1fr) minmax(130px,.7fr) auto;gap:22px;align-items:center;min-height:142px;padding:26px 38px}
.couple-dashboard-tools .couple-tool-progress>div{grid-column:2}
.couple-dashboard-tools .couple-tool-progress progress{grid-column:3;grid-row:1;width:100%}
.couple-dashboard-tools .couple-tool-progress progress,.couple-dashboard-tools .couple-tool-progress progress::-webkit-progress-bar{background:#d6c0ca}
.couple-dashboard-tools .couple-tool-progress .button{grid-column:4;grid-row:1;min-width:180px;white-space:nowrap}
.couple-dashboard-tools .couple-tool-progress:nth-child(even){background:#f4ebec;color:var(--ink)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) h2,.couple-dashboard-tools .couple-tool-progress:nth-child(even) p strong{color:var(--ink)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) p{color:var(--muted)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) .couple-tool-icon{background:var(--white);stroke:var(--plum)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) progress{background:#e1d2d8;accent-color:var(--plum)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) progress::-webkit-progress-bar{background:#e1d2d8}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) progress::-webkit-progress-value{background:var(--plum)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) progress::-moz-progress-bar{background:var(--plum)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) .button{border-color:var(--rose);color:var(--plum)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) .button:hover{background:var(--plum);color:white}
@media(max-width:900px){.couple-dashboard-tools{grid-template-columns:1fr}.couple-dashboard-tools .couple-tool-progress{grid-template-columns:52px minmax(0,1fr) auto}.couple-dashboard-tools .couple-tool-progress progress{grid-column:2;grid-row:2}.couple-dashboard-tools .couple-tool-progress .button{grid-column:3;grid-row:1/3}}
@media(max-width:620px){.couple-dashboard-overview{gap:18px}.couple-dashboard-suppliers{padding:30px 24px}.couple-dashboard-tools .couple-tool-progress{grid-template-columns:52px minmax(0,1fr);gap:16px;min-height:0;padding:27px 24px}.couple-dashboard-tools .couple-tool-progress progress{grid-column:1/-1;grid-row:2}.couple-dashboard-tools .couple-tool-progress .button{grid-column:1/-1;grid-row:3;min-width:0}}

/* The guest list inherits the private folio palette and stays an operational tool. */
.couple-guests-preview{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:20px 48px 0;padding:30px 38px;background:#f7eef1}
.couple-guests-preview>div{display:flex;align-items:center;gap:22px}.couple-guests-preview svg{width:52px;height:52px;padding:10px;border-radius:50%;background:white;fill:none;stroke:var(--plum);stroke-width:1.6}.couple-guests-preview h2{margin:0;font:500 2.2rem/1.1 var(--serif)}.couple-guests-preview p{margin:6px 0 0;color:var(--muted)}
.couple-local-discovery{margin:24px 48px 0;padding:34px 38px;background:var(--white)}.couple-local-intro{display:flex;align-items:end;justify-content:space-between;gap:20px}.couple-local-intro h2{margin:0;font:500 2.5rem/1.05 var(--serif)}.couple-local-intro p{margin:8px 0 0;color:var(--muted);line-height:1.55}.couple-local-intro>a{flex:none}.couple-local-boundary{max-width:72ch;margin:22px 0 0;color:var(--muted);font-size:.85rem;line-height:1.55}.couple-local-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:28px;border-top:1px solid var(--rose)}.couple-local-column{min-width:0;padding-top:24px}.couple-local-column+div{border-left:1px solid var(--line);padding-left:26px}.couple-local-column h3{margin:0 0 15px;font:500 1.8rem/1.1 var(--serif)}.couple-local-column ul{list-style:none;margin:0;padding:0}.couple-local-column li{padding:11px 0;border-bottom:1px solid var(--line)}.couple-local-column li a{color:var(--ink);font-weight:650;text-decoration-color:var(--rose);text-underline-offset:4px}.couple-local-column li a:hover{color:var(--plum)}.couple-local-column li small{display:block;margin-top:4px;color:var(--muted)}.couple-local-empty{min-height:54px;color:var(--muted);font-size:.9rem}.couple-local-more{display:inline-block;margin-top:18px;color:var(--plum);font-weight:700;text-underline-offset:5px}
@media(max-width:900px){.couple-local-discovery{margin-inline:28px}.couple-local-columns{gap:18px}.couple-local-column+div{padding-left:18px}}
@media(max-width:620px){.couple-local-discovery{margin:18px 10px 0;padding:26px 24px}.couple-local-intro{align-items:start;flex-direction:column}.couple-local-intro h2{font-size:2.1rem}.couple-local-columns{grid-template-columns:1fr;gap:0}.couple-local-column{padding:22px 0}.couple-local-column+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.couple-local-empty{min-height:0}}
.wedding-guests-page{padding-top:42px;padding-bottom:100px}.wedding-guests-page .breadcrumbs{margin-bottom:32px}.wedding-guests-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:42px 52px;background:#f6eaf0}.wedding-guests-hero h1{max-width:12ch;margin:0;font:500 clamp(3.2rem,5vw,5rem)/.99 var(--serif);letter-spacing:-.025em}.wedding-guests-hero p{max-width:48ch;margin:18px 0 0;color:var(--muted);line-height:1.65}.wedding-guests-hero-mark{flex:none;display:grid;place-items:center;width:128px;height:128px;border:1px solid #cba9b9;border-radius:50%}.wedding-guests-hero-mark svg{width:76px;height:76px;fill:none;stroke:var(--plum);stroke-width:1.5}
.wedding-guests-layout{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.4fr);gap:44px;margin-top:48px;align-items:start}.wedding-guests-add{padding:30px;border-radius:16px;background:var(--paper-deep)}.wedding-guests-add h2,.wedding-guests-list h2{margin:0;font:500 2.5rem/1.1 var(--serif)}.wedding-guests-add>p{color:var(--muted);line-height:1.6}.wedding-guests-form{display:grid;gap:18px;margin-top:28px}.wedding-guests-form .button{justify-self:start}.wedding-guests-form input[type=text]{width:100%;border-radius:12px;background:var(--white)}.wedding-guests-list>header{padding:8px 0 24px;border-bottom:1px solid var(--rose)}.wedding-guests-list>header p{margin:9px 0 0;color:var(--muted)}.wedding-guests-empty{padding:42px 0;color:var(--muted)}.wedding-guests-empty p:first-child{margin:0 0 10px;color:var(--ink);font:500 1.8rem/1.2 var(--serif)}.wedding-guests-rows{list-style:none;margin:0;padding:0}.wedding-guests-rows>li{padding:20px 0;border-bottom:1px solid var(--line)}.wedding-guests-row-main{display:flex;align-items:center;gap:16px}.wedding-guests-row-main>span{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;background:#f2e0e8;color:var(--plum);font:500 1.45rem var(--serif)}.wedding-guests-row-main strong,.wedding-guests-row-main small{display:block}.wedding-guests-row-main strong{font-weight:650}.wedding-guests-row-main small{margin-top:3px;color:var(--muted)}.wedding-guests-rows details{margin:8px 0 0 62px}.wedding-guests-rows summary{width:max-content;color:var(--plum);cursor:pointer;text-underline-offset:4px}.wedding-guests-rows details[open]>summary{text-decoration:underline}.wedding-guests-rows .wedding-guests-form{max-width:440px;margin:20px 0}.wedding-guests-delete{padding:0;border:0;background:none;color:#913d52;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.wedding-guests-pages{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:30px}.wedding-guests-pages a{color:var(--plum);text-underline-offset:4px}
.wedding-guests-list>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.wedding-guests-skip{flex:none;margin-top:7px;color:var(--plum);font-size:.82rem;font-weight:700;text-decoration-thickness:1px;text-underline-offset:5px}.wedding-guests-disclosure{margin-top:14px}.wedding-guests-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:0 18px;border:1px solid rgba(108,59,87,.2);background:#f8eff3;color:var(--plum);font-size:.82rem;font-weight:750;cursor:pointer;list-style:none;transition:background-color .22s ease,border-color .22s ease}.wedding-guests-disclosure>summary::-webkit-details-marker{display:none}.wedding-guests-disclosure>summary:hover{border-color:#b9879c;background:#f3e3ea}.wedding-guests-disclosure>summary:focus-visible{outline:3px solid var(--focus-rose);outline-offset:3px}.wedding-guests-disclosure>summary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .25s cubic-bezier(.16,1,.3,1)}.wedding-guests-disclosure[open]>summary svg{transform:rotate(180deg)}.wedding-guests-hide,.wedding-guests-disclosure[open] .wedding-guests-show{display:none}.wedding-guests-disclosure[open] .wedding-guests-hide{display:inline}.wedding-guests-disclosure-body{padding-top:4px}
.wedding-guests-rows .wedding-guests-remove{margin:16px 0 0}.wedding-guests-remove>summary{color:#913d52}.wedding-guests-remove>p{margin:10px 0;color:var(--muted);font-size:.86rem}
.wedding-guests-party{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;border:0}.wedding-guests-party legend{grid-column:1/-1;margin-bottom:9px;color:var(--plum);font-size:.79rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.wedding-guests-party label{display:flex;align-items:center;gap:9px;min-height:50px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--white);cursor:pointer;line-height:1.3;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.wedding-guests-party label:hover{border-color:#c492a6;background:#fff9fb}.wedding-guests-party label:has(input:checked){border-color:var(--plum);background:#f6eaf0;box-shadow:0 7px 18px rgba(88,45,72,.1)}.wedding-guests-party label:has(input:focus-visible){outline:3px solid var(--focus-rose);outline-offset:2px}.wedding-guests-party input{flex:none;accent-color:var(--plum)}.wedding-guests-hint{display:block;margin-top:7px;color:var(--muted);line-height:1.4}
@media(max-width:390px){.wedding-guests-party{grid-template-columns:1fr}}
@media(max-width:800px){.wedding-guests-layout{grid-template-columns:1fr;gap:34px}.wedding-guests-add{padding:28px}.couple-guests-preview{margin-inline:24px}}
@media(max-width:620px){.couple-guests-preview{display:block;margin:18px 0 0;padding:25px 22px}.couple-guests-preview>div{align-items:flex-start}.couple-guests-preview h2{font-size:1.9rem}.couple-guests-preview .button{width:100%;margin-top:18px}.wedding-guests-page{padding-top:24px}.wedding-guests-hero{padding:32px 25px}.wedding-guests-hero h1{font-size:3.2rem}.wedding-guests-hero-mark{display:none}.wedding-guests-add{padding:24px}.wedding-guests-list>header{display:block}.wedding-guests-skip{display:inline-block;margin-top:18px}.wedding-guests-disclosure{margin-top:18px}.wedding-guests-rows details{margin-left:0}}

/* One-time RSVP links are visually distinct from the private names ledger. */
.wedding-rsvp-share{margin-top:24px;padding:28px 34px;background:#f6eaf0}.wedding-rsvp-share h2{margin:0;font:500 2rem/1.1 var(--serif)}.wedding-rsvp-share p{max-width:70ch;color:var(--muted);line-height:1.55}.wedding-rsvp-share label{display:block;margin:24px 0 6px;color:var(--plum);font-size:.73rem;font-weight:700}.wedding-rsvp-share input{width:100%;padding:14px;border:1px solid var(--rose);background:white;color:var(--ink);font-size:1rem}
.wedding-guests-list .wedding-rsvp-counts{margin-top:8px;color:var(--plum);font-size:.9rem}.wedding-rsvp-state{margin:9px 0 0 62px;color:var(--muted);font-size:.84rem}.wedding-rsvp-actions{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0 0 62px}.wedding-rsvp-actions form{margin:0}.wedding-rsvp-link-button{padding:0;border:0;background:none;color:var(--plum);font:inherit;font-size:.86rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.wedding-rsvp-revoke{color:#913d52}.wedding-rsvp-link-button:hover,.wedding-rsvp-link-button:focus-visible{color:var(--ink)}
.wedding-guest-children{margin:18px 0 0 62px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.wedding-guest-children>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;color:var(--plum);cursor:pointer;font-weight:700;list-style:none}
.wedding-guest-children>summary::-webkit-details-marker{display:none}.wedding-guest-children>summary:after{content:"+";font:500 1.4rem var(--serif)}.wedding-guest-children[open]>summary:after{content:"−"}.wedding-guest-children>summary small{margin-left:auto;color:var(--muted);font-size:.73rem;font-weight:500}
.wedding-guest-children-body{padding:5px 0 20px}.wedding-guest-children-body>p{max-width:68ch;margin:0 0 18px;color:var(--muted);font-size:.82rem;line-height:1.55}
.wedding-guest-child-row{padding:16px 0;border-top:1px solid var(--line)}.wedding-guest-child-form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(130px,.72fr) minmax(150px,.9fr) auto;gap:12px;align-items:end}.wedding-guest-child-form .inquiry-field{min-width:0;margin:0}.wedding-guest-child-form input,.wedding-guest-child-form select{width:100%;min-height:46px;background:var(--white)}.wedding-guest-child-form .button{min-height:46px;white-space:nowrap}.wedding-guest-child-add{margin-top:18px;padding-top:18px;border-top:1px solid var(--rose)}
.wedding-guest-child-form input.button-primary{width:auto;background:var(--plum);color:var(--white)}.wedding-guest-child-form input.button-primary:hover{background:var(--plum-dark)}
.wedding-guest-child-remove{min-height:44px;margin-top:8px;padding:6px 0;border:0;background:none;color:#913d52;font:700 .76rem var(--sans);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.wedding-guest-child-limit{color:var(--plum)!important;font-weight:700}.wedding-guest-children :focus-visible{outline:3px solid var(--focus-rose,#c75b82);outline-offset:2px}
.wedding-rsvp-page{display:grid;place-items:center;min-height:calc(100vh - 180px);padding-block:75px}.wedding-rsvp-card{width:min(100%,780px);padding:58px 65px;background:#f6eaf0;text-align:center}.wedding-rsvp-card>svg{width:74px;height:74px;fill:none;stroke:var(--plum);stroke-width:1.6}.wedding-rsvp-card h1{margin:22px 0;font:500 clamp(2.8rem,4.5vw,4.5rem)/1.02 var(--serif);letter-spacing:-.02em}.wedding-rsvp-card p{max-width:54ch;margin:16px auto;color:var(--muted);line-height:1.6}.wedding-rsvp-card strong{color:var(--ink)}
.wedding-rsvp-error{max-width:none!important;margin:28px 0 0!important;padding:14px 18px;border:1px solid #b66378;background:#fff8f8;color:#7c2941!important;font-weight:700;text-align:left}
.wedding-rsvp-attending-form{margin-top:36px;text-align:left}.wedding-rsvp-adults{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:center;padding:18px 0;border-block:1px solid rgba(95,49,76,.25)}.wedding-rsvp-adults>svg{width:42px;height:42px;fill:none;stroke:var(--plum);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.wedding-rsvp-adults span{display:grid;gap:4px}.wedding-rsvp-adults strong{font:500 1.3rem/1.15 var(--serif)}.wedding-rsvp-adults small{color:var(--muted);font-size:.76rem}
.wedding-rsvp-child-question{margin:32px 0 0;padding:0;border:0}.wedding-rsvp-child-question>legend{padding:0;color:var(--ink);font:500 2rem/1.1 var(--serif)}.wedding-rsvp-child-question>p{max-width:none;margin:8px 0 18px;color:var(--muted);font-size:.86rem;text-align:left}.wedding-rsvp-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wedding-rsvp-option-grid>label,.wedding-rsvp-menu-choice>label{position:relative;display:grid;cursor:pointer}.wedding-rsvp-option-grid input,.wedding-rsvp-menu-choice input{position:absolute;left:16px;top:50%;width:18px;height:18px;margin:0;accent-color:var(--plum);transform:translateY(-50%)}.wedding-rsvp-option-grid label>span,.wedding-rsvp-menu-choice label>span{display:grid;gap:3px;min-height:70px;padding:15px 16px 15px 48px;border:1px solid #d5acbc;background:#fffaf8;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.wedding-rsvp-option-grid input:checked+span,.wedding-rsvp-menu-choice input:checked+span{border-color:var(--plum);background:#f0dce6;box-shadow:0 10px 24px rgba(76,38,60,.1)}.wedding-rsvp-option-grid input:focus-visible+span,.wedding-rsvp-menu-choice input:focus-visible+span{outline:3px solid #d58aa7;outline-offset:3px}.wedding-rsvp-option-grid small,.wedding-rsvp-menu-choice small{color:var(--muted);font-size:.72rem;line-height:1.35}
.wedding-rsvp-child-details{display:grid;gap:18px;margin-top:18px;padding:22px;background:rgba(255,250,248,.72)}.wedding-rsvp-child-details[hidden]{display:none}.wedding-rsvp-child-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);gap:8px 16px;align-items:center}.wedding-rsvp-child-row>strong{grid-row:1/3;align-self:center;font:500 1.35rem/1.15 var(--serif)}.wedding-rsvp-child-row>label,.wedding-rsvp-menu-choice>legend{color:var(--plum);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.wedding-rsvp-child-row input,.wedding-rsvp-child-row select{min-width:0;width:100%;min-height:48px;padding:11px 13px;border:1px solid #cfa4b5;background:#fff;color:var(--ink);font:inherit}.wedding-rsvp-menu-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;border:0}.wedding-rsvp-menu-choice>legend{grid-column:1/-1;margin-bottom:2px;padding:0}.wedding-rsvp-attending-form>.button{width:100%;margin-top:24px}.wedding-rsvp-decline{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin-top:18px}.wedding-rsvp-decline::before,.wedding-rsvp-decline::after{content:"";height:1px;background:rgba(95,49,76,.22)}.wedding-rsvp-decline>span{color:var(--muted);font-size:.75rem}.wedding-rsvp-decline form{grid-column:1/-1;margin:0}.wedding-rsvp-decline .button{width:100%}.wedding-rsvp-disclaimer{margin-top:32px!important;padding-top:20px;border-top:1px solid var(--rose);font-size:.84rem}
@media(max-width:760px){.wedding-guest-child-form{grid-template-columns:1fr}.wedding-guest-child-form .button{justify-self:start}}
@media(max-width:620px){.wedding-rsvp-share{padding:24px}.wedding-rsvp-state,.wedding-rsvp-actions,.wedding-guest-children{margin-left:0}.wedding-guest-children>summary{align-items:flex-start;flex-wrap:wrap;padding-block:9px}.wedding-guest-children>summary small{order:3;width:100%;margin:0}.wedding-rsvp-page{padding-block:24px}.wedding-rsvp-card{padding:36px 20px}.wedding-rsvp-card>svg{width:58px;height:58px}.wedding-rsvp-card h1{font-size:3rem}.wedding-rsvp-option-grid,.wedding-rsvp-menu-choice{grid-template-columns:1fr}.wedding-rsvp-child-question>legend{font-size:1.7rem}.wedding-rsvp-child-details{padding:18px}.wedding-rsvp-child-row{grid-template-columns:1fr}.wedding-rsvp-child-row>strong{grid-row:auto;margin-bottom:4px}.wedding-rsvp-child-row input,.wedding-rsvp-child-row select{font-size:1rem}}
.wedding-seating{margin-top:88px;padding-top:44px;border-top:1px solid var(--rose)}.wedding-seating-head{display:flex;align-items:center;justify-content:space-between;gap:24px}.wedding-seating-head h2{margin:0;font:500 clamp(2.5rem,4vw,4rem)/1.05 var(--serif);letter-spacing:-.02em}.wedding-seating-head p{max-width:60ch;margin:13px 0 0;color:var(--muted);line-height:1.55}.wedding-seating-head>span{display:grid;place-items:center;flex:none;width:76px;height:76px;border:1px solid var(--rose);border-radius:50%;color:var(--plum)}.wedding-seating-head svg{width:39px;height:39px;fill:none;stroke:currentColor;stroke-width:1.4}.wedding-seating-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,340px);align-items:start;gap:32px;margin-top:35px}.wedding-seating-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wedding-seating-empty{grid-column:1/-1;margin:0;padding:38px;color:var(--muted);background:#f7edf1;line-height:1.6}.wedding-seating-table{min-width:0;padding:25px 27px;background:var(--white);border:1px solid var(--line)}.wedding-seating-table-top{display:flex;align-items:start;justify-content:space-between;gap:10px}.wedding-seating-table h3,.wedding-seating-add h3{margin:0;font:500 1.65rem/1.15 var(--serif)}.wedding-seating-table-top>span{white-space:nowrap;color:var(--plum);font-size:.82rem}.wedding-seating-table ul{list-style:none;margin:18px 0;padding:0}.wedding-seating-table li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:.9rem}.wedding-seating-table li small{white-space:nowrap;color:var(--muted)}.wedding-seating-unfilled{margin:22px 0;color:var(--muted);font-size:.9rem}.wedding-seating-table details{margin-top:18px}.wedding-seating-table summary{width:max-content;color:var(--plum);cursor:pointer;text-underline-offset:4px}.wedding-seating-table summary:hover{text-decoration:underline}.wedding-seating-form{display:grid;gap:15px;margin-top:22px}.wedding-seating-form .button{justify-self:start}.wedding-seating-add{padding:28px;background:#f7edf1}.wedding-seating-add p{color:var(--muted);line-height:1.55}.wedding-seating-add input,.wedding-seating-table input{width:100%;background:white}.wedding-seating-add .button{margin-top:4px}.wedding-seating-table .wedding-guests-remove{margin-top:20px}.wedding-seating-table :focus-visible,.wedding-seating-add :focus-visible{outline:2px solid var(--plum);outline-offset:3px}
.wedding-seating-disclosure{margin-top:30px;border-block:1px solid var(--line)}
.wedding-seating-disclosure>summary{display:flex;align-items:center;gap:14px;min-height:68px;padding:10px 2px;color:var(--plum);cursor:pointer;list-style:none}
.wedding-seating-disclosure>summary::-webkit-details-marker{display:none}
.wedding-seating-disclosure>summary>span{font-weight:750}
.wedding-seating-disclosure>summary>small{margin-left:auto;color:var(--muted);font-size:.7rem;font-variant-numeric:tabular-nums}
.wedding-seating-disclosure>summary>svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.wedding-seating-disclosure[open]>summary>svg{transform:rotate(180deg)}
.wedding-seating-disclosure .wedding-seating-show,.wedding-seating-disclosure[open] .wedding-seating-hide{display:inline}
.wedding-seating-disclosure .wedding-seating-hide,.wedding-seating-disclosure[open] .wedding-seating-show{display:none}
.wedding-seating-disclosure-body{padding-bottom:18px}
.wedding-seating-disclosure:not([open])+.wedding-room-planner{margin-top:34px}
.wedding-guests-jump{display:grid;grid-template-columns:auto minmax(180px,320px);align-items:center;justify-content:end;gap:12px;margin:18px 0 6px}.wedding-guests-jump label{color:var(--plum);font-size:.72rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.wedding-guests-jump select{width:100%;min-height:46px;background:var(--white)}
.wedding-guests-rows>li,.wedding-seating-table{scroll-margin-top:110px}
.wedding-seating-table{padding:0;overflow:hidden}
.wedding-seating-table-disclosure{margin:0!important}
.wedding-seating-table-disclosure>summary.wedding-seating-table-top{display:flex;width:100%;min-height:82px;margin:0;padding:19px 22px;align-items:center;justify-content:space-between;gap:16px;list-style:none;color:var(--ink)}
.wedding-seating-table-disclosure>summary::-webkit-details-marker{display:none}
.wedding-seating-table-top>span:first-child{display:grid;gap:4px;min-width:0}.wedding-seating-table-top strong{font:500 1.65rem/1.05 var(--serif);overflow-wrap:anywhere}.wedding-seating-table-top small{color:var(--muted);font-size:.7rem;font-weight:650;font-variant-numeric:tabular-nums}
.wedding-seating-table-toggle{display:flex;align-items:center;gap:8px;flex:none;color:var(--plum)}.wedding-seating-table-toggle i{font-size:.7rem;font-style:normal;font-weight:750}.wedding-seating-table-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.wedding-seating-table-hide,.wedding-seating-table-disclosure[open] .wedding-seating-table-show{display:none}.wedding-seating-table-disclosure[open] .wedding-seating-table-hide{display:inline}.wedding-seating-table-disclosure[open] .wedding-seating-table-toggle svg{transform:rotate(180deg)}
.wedding-seating-table-body{padding:0 24px 24px;border-top:1px solid var(--line)}
@media(max-width:900px){.wedding-seating-layout{grid-template-columns:1fr}.wedding-seating-add{grid-row:1}}
@media(max-width:620px){.wedding-seating{margin-top:60px}.wedding-seating-head>span{display:none}.wedding-seating-tables{grid-template-columns:1fr}.wedding-seating-add{padding:24px}.wedding-guests-jump{grid-template-columns:1fr;justify-content:stretch}.wedding-seating-table-disclosure>summary.wedding-seating-table-top{min-height:76px;padding:16px 18px}.wedding-seating-table-toggle i{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.wedding-seating-table-body{padding:0 18px 20px}}
@media(max-width:620px){.wedding-seating-disclosure>summary{align-items:flex-start;flex-wrap:wrap;min-height:74px;padding-block:14px}.wedding-seating-disclosure>summary>small{order:3;width:100%;margin:0}.wedding-seating-disclosure>summary>svg{margin-left:auto}.wedding-seating-disclosure-body{padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){.wedding-seating-disclosure>summary>svg,.wedding-seating-table-toggle svg{transition:none}}
.wedding-seating-tables{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.wedding-seating-add input:not([type=submit]),.wedding-seating-table input:not([type=submit]){background:var(--white)}
.wedding-seating-add input[type=submit]{width:auto;background:var(--plum);color:var(--white)}

/* The named place map is a planning diagram, not a promise about the venue's floor plan. */
.wedding-seating-assign{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:28px;align-items:center;margin:28px 0 34px;padding:25px 30px;border:1px solid #e7d4d9;background:#faf1f3}
.wedding-seating-assign h3{margin:0 0 6px;font:500 1.85rem/1.1 var(--serif)}
.wedding-seating-assign p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}
.wedding-seating-assign-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.75fr) auto;gap:12px;align-items:end}
.wedding-seating-assign-form .inquiry-field{min-width:0;margin:0}
.wedding-seating-assign-form select{width:100%;min-height:48px;background:var(--white)}
.wedding-seating-assign-form .button{min-height:48px;white-space:nowrap}
.wedding-seating-complete{align-self:center}
.wedding-seating-table{transition:box-shadow .22s ease,border-color .22s ease}
.wedding-seating-table:target{border-color:var(--rose);box-shadow:0 14px 36px rgba(72,38,58,.1)}
.wedding-seating-plan{position:relative;width:min(100%,292px);height:292px;margin:12px auto 22px}
.wedding-seating-round{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:164px;height:164px;padding:18px;border:1px solid #b98d9b;border-radius:50%;background:#f9e9ed;color:var(--plum);text-align:center;transform:translate(-50%,-50%);box-shadow:0 9px 24px rgba(81,43,64,.09)}
.wedding-seating-round:before{content:"";position:absolute;inset:9px;border:1px solid rgba(137,78,106,.28);border-radius:50%;pointer-events:none}
.wedding-seating-round span{position:relative;max-width:100%;font:500 1.7rem/1 var(--serif);overflow-wrap:anywhere}
.wedding-seating-round small{position:relative;font:700 .65rem var(--sans)}
.wedding-seating-chair{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:12px;height:12px;border:1px solid #d4b8c1;border-radius:50%;background:var(--white);color:var(--muted);font:700 .61rem/1.05 var(--sans);transform:translate(-50%,-50%) rotate(var(--seat-angle)) translateY(-127px) rotate(calc(0deg - var(--seat-angle)));transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.wedding-seating-chair.is-occupied{width:70px;min-height:28px;height:auto;padding:5px 7px;border-color:var(--plum);border-radius:999px;background:var(--plum);color:var(--white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wedding-seating-chair.is-pair{border-color:#a36980;background:#a36980;color:white}
.wedding-seating-chair.is-child{border-color:#8e6677;background:#f1dce4;color:var(--plum)}
.wedding-seating-plan.is-dense .wedding-seating-chair{width:9px;height:9px}
.wedding-seating-plan.is-dense .wedding-seating-chair.is-occupied{width:54px;min-height:22px;height:auto;padding:4px 5px;font-size:.52rem}
.wedding-seating-plan.is-head{height:238px}
.wedding-seating-plan.is-head .wedding-seating-round{width:226px;height:92px;border-radius:10px;background:#f4dfe6}
.wedding-seating-plan.is-head .wedding-seating-round:before{inset:7px;border-radius:6px}
.wedding-seating-plan.is-head .wedding-seating-round span{font-size:1.45rem}
.wedding-seating-plan.is-head .wedding-seating-chair{top:var(--seat-y);left:var(--seat-x);transform:translate(-50%,-50%)}
.wedding-seating-plan.is-head .wedding-seating-chair.is-occupied{width:54px;font-size:.54rem}
.wedding-seating-table.is-head-table{background:#fff9fb}
.wedding-seating-table .wedding-seating-people{list-style:none;margin:0 0 16px;padding:0;border-top:1px solid var(--line)}
.wedding-seating-people li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:7px 10px;align-items:center;min-height:50px;padding:10px 0;border-bottom:1px solid var(--line)}
.wedding-seating-party-size{color:var(--plum);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.wedding-seating-people li.is-child-entry{background:#fcf4f7}.wedding-seating-people li.is-child-entry .wedding-seating-party-size{color:#8a5069}
.wedding-seating-people strong{min-width:0;font-size:.77rem;font-weight:650;overflow-wrap:anywhere}
.wedding-seating-party-names{display:grid;gap:3px;min-width:0}.wedding-seating-party-names small{color:var(--muted);font-size:.67rem;line-height:1.35;overflow-wrap:anywhere}
.wedding-seating-order-actions{display:flex;grid-column:2;flex-wrap:wrap;justify-content:flex-start;gap:7px}
.wedding-seating-order-actions form{margin:0}
.wedding-seating-order-actions button{min-height:44px;padding:9px 5px;border:0;background:none;color:var(--plum);font:700 .76rem var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.wedding-seating-order-actions button:disabled{color:var(--muted);text-decoration:none;cursor:not-allowed;opacity:.55}
.wedding-seating-order-actions .wedding-seating-unassign{color:#913d52}
.wedding-seating-assign :focus-visible,.wedding-seating-order-actions button:focus-visible{outline:3px solid var(--focus-rose,#c75b82);outline-offset:2px}
@media(max-width:1100px){.wedding-seating-assign{grid-template-columns:1fr}.wedding-seating-assign-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}}
@media(max-width:620px){.wedding-seating-assign{padding:21px 19px}.wedding-seating-assign-form{grid-template-columns:1fr}.wedding-seating-assign-form .button{justify-self:start}.wedding-seating-plan{margin-top:8px}.wedding-seating-chair.is-occupied{width:62px;font-size:.56rem}}
@media(prefers-reduced-motion:reduce){.wedding-seating-table,.wedding-seating-chair{transition:none}}

/* Private planning folios share a lighter cover and calm, legible work surfaces. */
.planner-head,.budget-head{position:relative;overflow:hidden;padding:38px 0 54px;background:linear-gradient(125deg,#faf4ef 0%,#f2e7e6 57%,#ebdce2 100%);color:var(--ink)}
.planner-head::before,.budget-head::before{content:"";position:absolute;right:-145px;top:-190px;width:490px;height:490px;border:1px solid rgba(88,45,72,.14);border-radius:50%;pointer-events:none}
.planner-head .shell,.budget-head .shell{position:relative}
.planner-head .breadcrumbs,.budget-head .breadcrumbs{margin-bottom:32px;color:var(--muted)}
.planner-head .breadcrumbs a,.budget-head .breadcrumbs a{color:var(--plum)}
.planner-intro,.budget-intro{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:6%;align-items:center}
.planner-intro h1,.budget-intro h1{max-width:16ch;margin:0 0 18px;font-size:clamp(3.4rem,5.2vw,5rem);line-height:.98;text-wrap:balance}
.planner-intro>div>p,.budget-intro>div>p{max-width:60ch;color:#62545d;font-size:.95rem;line-height:1.7}
.planner-date,.budget-limit{padding:25px 28px;background:var(--white);border:0;border-top:2px solid var(--rose);box-shadow:0 16px 38px rgba(64,32,54,.09)}
.planner-date label,.budget-limit>label{color:var(--plum);font-size:.7rem}
.planner-date input,.budget-limit>div{height:48px;border:1px solid var(--line);background:#fbf7f4}
.planner-date input{color:var(--ink);color-scheme:light;font-weight:600}
.planner-date input:focus,.budget-limit input:focus{outline:2px solid var(--focus-rose,#c75b82);outline-offset:2px}
.budget-limit input{height:46px;color:var(--ink)}
.budget-limit input::placeholder{color:var(--muted)}
.budget-limit>div>span,.planner-date p,.budget-limit p{color:var(--muted)}
.budget-limit .budget-amount-error{color:#913f56}
.planner-page,.budget-page{gap:48px;padding-block:58px 100px}
.planner-summary,.budget-summary{top:24px;padding:26px;background:var(--white);border:0;box-shadow:0 12px 34px rgba(64,32,54,.07)}
.budget-summary h2{font-size:1.8rem}
.planner-summary progress,.budget-summary progress{height:9px;background:#e9d9dd}
.planner-summary progress::-webkit-progress-bar,.budget-summary progress::-webkit-progress-bar{background:#e9d9dd}
.planner-filters,.budget-filters{border-radius:8px;overflow:hidden}
.planner-filters button,.budget-filters button{min-height:44px}
.planner-stages{display:grid;gap:22px;min-width:0}
.planner-stage,.planner-stage+.planner-stage{min-width:0;margin:0;padding:28px 30px 16px;background:var(--white);border:1px solid var(--line)}
.planner-stage-head{align-items:center;margin-bottom:22px}
.planner-stage-head h2{font-size:clamp(2.2rem,3.4vw,3rem)}
.planner-stage-head>span{min-width:48px;padding:8px 10px;background:var(--rose-soft);border-radius:999px;color:var(--plum);text-align:center}
.planner-tasks li{padding-inline:8px;transition:background-color .2s ease}
.planner-tasks li:hover,.planner-tasks li:focus-within{background:#fbf5f4}
.planner-check{width:28px;height:28px}
.planner-tasks input:checked+.planner-check:after{left:9px;top:6px}
.planner-task-copy strong{font-size:.9rem}
.budget-ledger-head{margin-bottom:27px;padding-bottom:20px;border-bottom:1px solid var(--rose)}
.budget-category,.budget-category+.budget-category{margin:0 0 22px;padding:27px 30px 14px;background:var(--white);border:1px solid var(--line)}
.budget-category>header{align-items:center;margin-bottom:20px}
.budget-category h3{font-size:2.5rem}
.budget-table-head,.budget-row{grid-template-columns:minmax(180px,1fr) minmax(95px,120px) minmax(95px,120px) 52px}
.budget-row{padding-inline:8px;transition:background-color .2s ease}
.budget-row:hover,.budget-row:focus-within{background:#fbf5f4}
.budget-row input[type="text"]{border:1px solid var(--line);border-radius:4px;background:#fdfaf8}
.budget-add{margin-top:10px;padding:30px;background:#f5e9eb;border:0}
.budget-add input,.budget-add select{border-radius:4px}
@media(max-width:900px){.planner-intro,.budget-intro{grid-template-columns:1fr;gap:25px}.planner-date,.budget-limit{max-width:480px}.planner-page,.budget-page{gap:32px;padding-top:35px}.planner-summary,.budget-summary{position:static}.planner-summary{grid-template-columns:1fr 1fr}.budget-summary dl{gap:16px}.budget-add{gap:24px}}
@media(max-width:620px){.planner-head,.budget-head{padding:22px 0 28px}.planner-head .breadcrumbs,.budget-head .breadcrumbs{margin-bottom:17px}.planner-intro,.budget-intro{gap:18px}.planner-intro h1,.budget-intro h1{max-width:16ch;margin-bottom:10px;font-size:clamp(2.6rem,11vw,3.3rem)}.planner-intro>div>p,.budget-intro>div>p{font-size:.82rem;line-height:1.55}.planner-date,.budget-limit{padding:17px 19px}.planner-date p,.budget-limit p{margin-top:6px}.planner-page,.budget-page{gap:22px;padding-block:24px 70px}.planner-summary,.budget-summary{display:block;padding:20px}.planner-summary .planner-filters{margin-bottom:12px}.planner-stages{gap:18px}.planner-stage,.planner-stage+.planner-stage{padding:23px 19px 10px}.planner-stage-head{margin-bottom:16px}.planner-stage-head h2{font-size:2.2rem}.planner-stage-head p{font-size:.76rem}.planner-tasks li{padding:15px 4px}.budget-summary h2{margin-bottom:12px;font-size:1.65rem}.budget-summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}.budget-summary dl>div,.budget-summary .budget-balance{display:block;padding:7px 0}.budget-summary dd{margin-top:4px}.budget-ledger-head{margin-bottom:16px}.budget-ledger-head p{display:block}.budget-category,.budget-category+.budget-category{margin-bottom:18px;padding:21px 18px 10px}.budget-category h3{font-size:2.05rem}.budget-category header p{display:block}.budget-category>header{margin-bottom:14px}.budget-row{grid-template-columns:1fr 1fr 44px;gap:8px;padding:12px 3px}.budget-add{display:block;padding:24px 19px}.budget-add form{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.planner-tasks li,.budget-row{transition:none}}

/* A floral editorial cover leads into a tactile planning journal, not another dashboard. */
body:has(.planner-page),body:has(.budget-page){background:#fbf6f1}
.planner-head,.budget-head{min-height:390px;padding:36px 0 60px;background-image:linear-gradient(90deg,#fbf4ee 0%,rgba(251,244,238,.98) 32%,rgba(251,244,238,.77) 59%,rgba(251,244,238,.08) 100%),var(--planning-photo);background-size:cover;background-position:center,right center;border-bottom:1px solid #e4ced0}
.planner-head::before,.budget-head::before{display:none}
.planner-head .breadcrumbs,.budget-head .breadcrumbs{margin-bottom:40px}
.planner-intro,.budget-intro{grid-template-columns:minmax(0,1fr) minmax(270px,320px);align-items:end;gap:7%}
.planner-intro h1,.budget-intro h1{max-width:12ch;font-size:clamp(3.65rem,6vw,5.5rem);line-height:.91}
.planner-intro>div>p,.budget-intro>div>p{max-width:48ch;font-size:1rem;line-height:1.65}
.planner-date,.budget-limit{width:100%;max-width:300px;justify-self:end;padding:20px 22px;border:1px solid rgba(183,133,143,.45);border-radius:16px;background:rgba(255,253,249,.96);box-shadow:0 15px 34px rgba(71,44,54,.11)}
.planner-date input,.budget-limit>div{border-radius:10px;background:#fffaf7}.budget-limit>div{overflow:hidden}
.planner-page,.budget-page{grid-template-columns:290px minmax(0,1fr);gap:55px;padding-block:54px 110px}
.planner-summary,.budget-summary{top:22px;padding:28px;background:#f3e5e7;border:1px solid #e3cbd0;border-radius:14px;box-shadow:none}
.planner-summary::before,.budget-summary::before{content:"";display:block;width:35px;height:35px;margin-bottom:24px;background:radial-gradient(circle at 40% 50%,transparent 11px,#9c6e80 11.5px,#9c6e80 12.5px,transparent 13px),radial-gradient(circle at 63% 50%,transparent 11px,#9c6e80 11.5px,#9c6e80 12.5px,transparent 13px)}
.planner-progress-copy strong{font-size:3rem}
.budget-summary h2{margin-bottom:22px;font-size:2rem}
.budget-summary dl>div{border-color:#d9bdc4}
.budget-summary .budget-balance{margin-top:13px;padding-top:18px;border-top:1px solid #caa3ae}
.budget-balance dd{font-size:2.25rem}
.planner-filters,.budget-filters{border-color:#d3b2bc;background:#fff9f7}
.planner-filters button,.budget-filters button{border-color:#e4cdd2;transition:background-color .2s ease,color .2s ease}
.planner-filters button:hover,.budget-filters button:hover{background:#e6cbd2;color:var(--plum)}
.planner-filters button[aria-pressed="true"],.budget-filters button[aria-pressed="true"]{background:var(--plum);color:#fff}
.planner-stages{gap:0;padding-left:26px;border-left:1px solid #cfa7b0}
.planner-custom-editor{position:relative;margin:0 0 30px;padding:30px 34px 26px;border:1px solid #dfc4ca;border-radius:12px;background:linear-gradient(135deg,#f5e6e8 0%,#fffaf5 72%);box-shadow:0 16px 38px rgba(72,42,54,.08)}
.planner-custom-editor::before{content:"";position:absolute;top:42px;left:-35px;width:16px;height:16px;border:3px solid #fbf6f1;border-radius:50%;background:#713553;box-shadow:0 0 0 1px #cfa7b0}
.planner-custom-editor>header{display:flex;gap:18px;align-items:flex-start;margin-bottom:24px}
.planner-custom-editor>header>svg{width:44px;height:44px;flex:none;padding:9px;border-radius:50%;background:#fffaf7;fill:none;stroke:#713553;stroke-width:1.3}
.planner-custom-editor h2{margin:0 0 7px;font-size:clamp(2rem,3vw,2.7rem);line-height:1}
.planner-custom-editor header p{max-width:58ch;margin:0;color:var(--muted);font-size:.76rem}
.planner-custom-editor form{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr);gap:17px 16px;align-items:end}
.planner-custom-editor form .inquiry-field:nth-child(3){grid-column:1/2}
.planner-custom-editor form>.button{grid-column:2/3;min-height:48px}
.planner-custom-editor .inquiry-field input,.planner-custom-editor .inquiry-field select{background:rgba(255,253,249,.92)}
.planner-custom-status{min-height:1.2em;margin:13px 0 0;color:#713553;font-size:.69rem}
.planner-custom-actions{flex:none;margin-left:12px}
.planner-custom-delete{display:inline-flex;gap:6px;align-items:center;padding:8px;border:0;background:transparent;color:var(--muted);font:650 .67rem var(--sans);cursor:pointer}
.planner-custom-delete:hover{color:#8f3f5b}
.planner-custom-delete:focus-visible,.planner-custom-delete-confirm button:focus-visible{outline:3px solid #c75b82;outline-offset:2px}
.planner-custom-delete svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4}
.planner-custom-delete-confirm{display:inline-flex;gap:8px;align-items:center;color:var(--muted);font-size:.66rem}
.planner-custom-delete-confirm[hidden]{display:none}
.planner-custom-delete-confirm button{padding:7px 8px;border:1px solid #cfa7b0;background:#fffaf7;color:#713553;font:700 .65rem var(--sans);cursor:pointer}
.planner-custom-delete-confirm button:first-of-type{background:#713553;color:white}
.planner-stage,.planner-stage+.planner-stage{position:relative;margin:0 0 24px;padding:30px 34px 18px;border:0;border-radius:12px;background:#fffdf9;box-shadow:0 15px 37px rgba(72,42,54,.075);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}
.planner-stage::before{content:"";position:absolute;top:42px;left:-34px;width:15px;height:15px;border:3px solid #fbf6f1;border-radius:50%;background:#a96f82;box-shadow:0 0 0 1px #cfa7b0}
.planner-stage:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(72,42,54,.11)}
.planner-stage-head{padding-bottom:20px;border-bottom:1px solid #eadbd7}
.planner-stage-head h2{max-width:18ch;line-height:.96}
.planner-stage-head>span{background:#f0dfe3}
.planner-tasks{border-top:0}
.planner-tasks li{min-height:86px;border-color:#efe3df}
.planner-check{border-radius:50%}
.planner-tasks input:checked+.planner-check{border-radius:50%}
.budget-ledger-head{align-items:center;margin-bottom:28px;padding-bottom:20px}
.budget-ledger-head h2{font-size:3.25rem}
.budget-category,.budget-category+.budget-category{position:relative;margin:0 0 25px;padding:30px 34px 17px;border:0;border-radius:12px;background:#fffdf9;box-shadow:0 15px 37px rgba(72,42,54,.075);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}
.budget-category:nth-child(even){background:#fcf3f2}
.budget-category:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(72,42,54,.11)}
.budget-category>header{padding-bottom:19px;border-bottom:1px solid #eadbd7}
.budget-category h3{line-height:1}
.budget-rows{border-top:0}
.budget-row{border-color:#eadbd7}
.budget-row input[type="text"]{background:#fffdf9}
.budget-add{margin-top:35px;padding:34px;border:1px solid #dfc2ca;border-radius:12px;background:#f3e5e7}
.planner-head h1,.budget-head h1{animation:planning-rise .7s cubic-bezier(.16,1,.3,1) both}
.planner-date,.budget-limit{animation:planning-rise .8s .12s cubic-bezier(.16,1,.3,1) both}
@keyframes planning-rise{from{opacity:.4;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.planner-head,.budget-head{min-height:0}.planner-intro,.budget-intro{grid-template-columns:1fr;gap:26px}.planner-date,.budget-limit{max-width:390px;justify-self:start}.planner-page,.budget-page{grid-template-columns:1fr;gap:28px}.planner-summary,.budget-summary{position:static}.planner-stages{margin-left:8px}}
@media(max-width:620px){.planner-head,.budget-head{padding:21px 0 31px;background-image:linear-gradient(90deg,rgba(251,244,238,.97),rgba(251,244,238,.83)),var(--planning-photo);background-position:center,right center}.planner-head .breadcrumbs,.budget-head .breadcrumbs{margin-bottom:25px}.planner-intro,.budget-intro{gap:22px}.planner-intro h1,.budget-intro h1{font-size:clamp(2.85rem,12vw,3.5rem)}.planner-intro>div>p,.budget-intro>div>p{font-size:.85rem}.planner-date,.budget-limit{width:min(100%,340px);padding:17px 18px}.planner-page,.budget-page{gap:25px;padding-block:25px 70px}.planner-summary,.budget-summary{padding:21px}.planner-summary::before,.budget-summary::before{margin-bottom:10px}.budget-summary h2{font-size:1.8rem}.budget-summary dl{gap:7px}.budget-balance dd{font-size:1.5rem}.planner-stages{padding-left:16px}.planner-stage,.planner-stage+.planner-stage{padding:23px 18px 11px;margin-bottom:18px}.planner-stage::before{top:35px;left:-23px;width:12px;height:12px}.planner-stage-head{padding-bottom:15px}.budget-ledger-head{margin-bottom:17px}.budget-ledger-head h2{font-size:2.75rem}.budget-category,.budget-category+.budget-category{padding:23px 18px 12px;margin-bottom:19px}.budget-category>header{align-items:start;padding-bottom:15px}.budget-category h3{font-size:2.15rem}.budget-add{margin-top:25px;padding:24px 19px}}
@media(prefers-reduced-motion:reduce){.planner-head h1,.budget-head h1,.planner-date,.budget-limit{animation:none}.planner-stage,.budget-category,.planner-filters button,.budget-filters button{transition:none}.planner-stage:hover,.budget-category:hover{transform:none}}
@media(max-width:620px){.planner-custom-editor{margin-bottom:22px;padding:23px 18px 20px}.planner-custom-editor::before{top:34px;left:-24px;width:13px;height:13px}.planner-custom-editor>header{gap:12px;margin-bottom:20px}.planner-custom-editor>header>svg{width:38px;height:38px}.planner-custom-editor h2{font-size:2.05rem}.planner-custom-editor form{grid-template-columns:1fr;gap:15px}.planner-custom-editor form .inquiry-field:nth-child(3),.planner-custom-editor form>.button{grid-column:auto}.planner-custom-editor form>.button{width:100%}.planner-tasks li[data-planner-custom-row]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.planner-custom-actions{margin-left:0}.planner-custom-delete span{display:none}.planner-custom-delete-confirm{align-items:flex-end;flex-direction:column}.planner-custom-delete-confirm>span{white-space:nowrap}}

/* The dress quiz follows the planning journal as a guided atelier consultation. */
body:has(.quiz-main){background:#fbf6f1}
.quiz-head{position:relative;min-height:500px;padding:36px 0 64px;overflow:hidden;border-bottom:1px solid #e4ced0;background:#f8ece9;color:var(--ink)}
.quiz-head::before,.quiz-head::after{content:"";position:absolute;border:1px solid rgba(169,111,130,.28);border-radius:50%;pointer-events:none}
.quiz-head::before{right:-110px;bottom:-250px;width:610px;height:610px}
.quiz-head::after{right:55px;bottom:-185px;width:440px;height:440px}
.quiz-head-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:7%;align-items:center}
.quiz-head-copy{position:relative;z-index:1}
.quiz-head .breadcrumbs{grid-column:auto;margin-bottom:58px;color:var(--muted)}
.quiz-head .breadcrumbs a{color:var(--ink)}
.quiz-head h1{max-width:10ch;margin:0 0 27px;font-size:clamp(4rem,6.4vw,6rem);line-height:.88;animation:quiz-rise .7s cubic-bezier(.16,1,.3,1) both}
.quiz-head-copy>p{max-width:55ch;margin:0 0 30px;color:var(--muted);font-size:1rem;line-height:1.7}
.quiz-head-copy dl{display:flex;gap:38px;margin:0;padding-top:18px;border-top:1px solid #d9bdc4}
.quiz-head-copy dl div{display:grid;gap:3px}
.quiz-head-copy dt{color:#713553;font-size:.64rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.quiz-head-copy dd{margin:0;color:var(--muted);font-size:.76rem}
.quiz-fashion-sketch{position:relative;z-index:1;display:grid;place-items:center;min-height:400px;animation:quiz-rise .8s .1s cubic-bezier(.16,1,.3,1) both}
.quiz-fashion-sketch::before{content:"";position:absolute;inset:18px;border-radius:50% 50% 47% 53%;background:#f0dadd;box-shadow:0 24px 50px rgba(86,45,65,.1)}
.quiz-fashion-sketch svg{position:relative;width:min(100%,330px);height:390px;fill:rgba(255,251,247,.6);stroke:#713553;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.quiz-fashion-sketch span{position:absolute;right:14px;bottom:13px;color:#8f6374;font:italic 500 1rem var(--serif)}
.quiz-main{max-width:1120px;padding-block:58px 112px}
.quiz-form{position:relative;padding:42px 48px 46px;border:1px solid #e2cdd1;border-radius:14px;background:#fffdfa;box-shadow:0 22px 55px rgba(73,42,54,.08)}
.quiz-consultation-head{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:50px;align-items:end;margin-bottom:30px;padding-bottom:28px;border-bottom:1px solid #eadbd7}
.quiz-consultation-head h2{margin:0 0 8px;font-size:clamp(2.7rem,4.5vw,4rem);line-height:.9}
.quiz-consultation-head p{max-width:58ch;margin:0;color:var(--muted);font-size:.78rem}
.quiz-progress span{display:block;margin-bottom:9px;color:#713553;font-size:.66rem;font-weight:750;letter-spacing:.06em;text-align:right;text-transform:uppercase}
.quiz-progress>div{height:5px;overflow:hidden;background:#f0dfe3}
.quiz-progress i{display:block;width:100%;height:100%;background:#8f526b;transform:scaleX(.125);transform-origin:left center;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.quiz-form.is-enhanced .quiz-question,.quiz-form.is-enhanced .quiz-city{min-height:450px}
.quiz-question,.quiz-question:first-of-type{padding:38px 0 10px;border:0}
.quiz-question:focus,.quiz-city:focus{outline:none}
.quiz-question[hidden],.quiz-city[hidden]{display:none}
.quiz-question.is-current,.quiz-city.is-current{animation:quiz-step-in .42s cubic-bezier(.16,1,.3,1) both}
.quiz-question legend{gap:18px;max-width:22ch;font-size:clamp(2.35rem,4vw,3.35rem);line-height:.98}
.quiz-question legend span{width:46px;height:46px;border:0;border-radius:50%;background:#f0dfe3;color:#713553;font:600 1rem var(--serif)}
.quiz-question>p{margin:14px 0 29px 64px;font-size:.79rem}
.quiz-options{gap:14px}
.quiz-option>span{position:relative;min-height:112px;padding:22px 25px 22px 52px;border:1px solid #ead8d5;border-radius:8px;background:#fffaf7;box-shadow:0 7px 18px rgba(72,42,54,.035)}
.quiz-option>span::before{content:"";position:absolute;left:23px;top:27px;width:13px;height:13px;border:1px solid #b98292;border-radius:50%;background:white;transition:box-shadow .18s ease,background-color .18s ease}
.quiz-option:hover>span{border-color:#ba8292;background:#fdf3f2;transform:translateY(-2px)}
.quiz-option>span{transition:transform .22s ease,background-color .2s ease,border-color .2s ease,color .2s ease}
.quiz-option input:checked+span{border-color:#713553;background:#713553;color:white;box-shadow:0 12px 25px rgba(83,44,64,.16)}
.quiz-option input:checked+span::before{border-color:white;background:white;box-shadow:inset 0 0 0 3px #713553}
.quiz-option input:checked+span small{color:#eadfe3}
.quiz-option strong{font-size:.9rem}
.quiz-step-actions{display:flex;justify-content:flex-end;gap:20px;align-items:center;margin-top:32px;padding-top:24px;border-top:1px solid #eadbd7}
.quiz-form:not(.is-enhanced) .quiz-step-actions{display:none}
.quiz-step-actions .button{min-width:220px}
.quiz-step-actions button:disabled{cursor:not-allowed;opacity:.48}
.quiz-back{padding:12px 5px;border:0;background:transparent;color:#713553;font:700 .74rem var(--sans);text-decoration:underline;text-decoration-color:#c58f9d;text-underline-offset:5px;cursor:pointer}
.quiz-back:hover{color:#401d31}
.quiz-city{grid-template-columns:64px minmax(0,1fr) minmax(250px,.7fr);gap:24px 28px;align-items:center;margin:0;padding:50px 0 12px;background:transparent}
.quiz-city-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#f0dfe3;color:#713553}
.quiz-city-icon svg{width:29px;fill:none;stroke:currentColor;stroke-width:1.5}
.quiz-city h2{font-size:clamp(2.5rem,4vw,3.4rem);line-height:.96}
.quiz-city-field select{border-radius:4px;background:#fffaf7}
.quiz-city .quiz-step-actions{grid-column:1/-1}
.quiz-privacy-note{margin:17px 0 0;color:var(--muted);font-size:.66rem;text-align:center}
.quiz-error{margin:0 0 22px;border:1px solid #dfbec6;border-radius:8px;background:#f5e6e8}
.quiz-result{padding:62px 70px;border:1px solid #dec2c9;border-radius:14px;background:#fffdfa;color:var(--ink);box-shadow:0 24px 55px rgba(74,43,55,.09)}
.quiz-result::after{display:none}
.quiz-result-mark{display:flex;width:66px;height:42px;margin-bottom:22px}
.quiz-result-mark span{width:42px;height:42px;border:1px solid #b97f91;border-radius:50%}
.quiz-result-mark span+span{margin-left:-17px}
.quiz-result-label{margin-bottom:17px;color:#8b5268}
.quiz-result h2{max-width:13ch;color:#3d2332;font-size:clamp(3.6rem,6vw,5.8rem);line-height:.89}
.quiz-result-summary{max-width:64ch;color:var(--muted)}
.quiz-result-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:44px;padding-top:30px;border-color:#dfc8ce}
.quiz-result h3{color:#713553}
.quiz-result li{border-color:#eadbd7;color:var(--muted)}
.quiz-fitting-tip{margin-top:38px;border:1px solid #e0c7cd;border-radius:8px;background:#f3e5e7}
.quiz-result-primary{background:#713553;color:white}
.quiz-result-primary:hover{background:#54253e}
.quiz-restart{color:#713553}
.quiz-disclaimer{color:#7a6870!important}
@keyframes quiz-rise{from{opacity:.35;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes quiz-step-in{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:900px){.quiz-head{min-height:0}.quiz-head-grid{grid-template-columns:minmax(0,1fr) 280px;gap:30px}.quiz-fashion-sketch{min-height:330px}.quiz-fashion-sketch svg{height:320px}.quiz-form{padding:36px}.quiz-consultation-head{grid-template-columns:1fr 210px}.quiz-result-columns{grid-template-columns:1fr 1fr}.quiz-result-columns>div:last-child{grid-column:1/-1}.quiz-city{grid-template-columns:55px 1fr}.quiz-city-field{grid-column:2/3}}
@media(max-width:620px){.quiz-head{padding:23px 0 36px}.quiz-head-grid{display:block}.quiz-head .breadcrumbs{margin-bottom:29px}.quiz-head h1{margin-bottom:18px;font-size:clamp(3.3rem,14vw,4.35rem)}.quiz-head-copy>p{margin-bottom:20px;font-size:.84rem}.quiz-head-copy dl{gap:24px}.quiz-fashion-sketch{min-height:210px;margin-top:20px}.quiz-fashion-sketch::before{inset:5px 48px}.quiz-fashion-sketch svg{width:175px;height:210px}.quiz-fashion-sketch span{right:35px;bottom:4px;font-size:.82rem}.quiz-main{padding-block:25px 75px}.quiz-form{margin-inline:-4px;padding:25px 19px 28px}.quiz-consultation-head{display:block;margin-bottom:18px;padding-bottom:19px}.quiz-consultation-head h2{font-size:2.65rem}.quiz-progress{margin-top:22px}.quiz-progress span{text-align:left}.quiz-form.is-enhanced .quiz-question,.quiz-form.is-enhanced .quiz-city{min-height:0}.quiz-question,.quiz-question:first-of-type{padding-top:24px}.quiz-question legend{gap:12px;font-size:2.2rem}.quiz-question legend span{width:39px;height:39px}.quiz-question>p{margin:12px 0 23px 51px}.quiz-options{grid-template-columns:1fr;gap:10px}.quiz-option>span{min-height:89px;padding:18px 18px 18px 47px}.quiz-option>span::before{left:19px;top:23px}.quiz-step-actions{justify-content:space-between;gap:12px;margin-top:22px}.quiz-step-actions .button{min-width:0;padding-inline:17px}.quiz-city{grid-template-columns:46px 1fr;gap:16px;padding-top:25px}.quiz-city-icon{width:46px;height:46px}.quiz-city h2{font-size:2.3rem}.quiz-city-field{grid-column:1/-1}.quiz-city .quiz-step-actions{grid-column:1/-1}.quiz-result{margin-inline:-4px;padding:40px 24px}.quiz-result h2{font-size:3.6rem}.quiz-result-columns{grid-template-columns:1fr;gap:22px}.quiz-result-columns>div:last-child{grid-column:auto}.quiz-result-actions{align-items:stretch}.quiz-result-primary{text-align:center}}
@media(prefers-reduced-motion:reduce){.quiz-head h1,.quiz-fashion-sketch,.quiz-question.is-current,.quiz-city.is-current{animation:none}.quiz-option>span,.quiz-progress i{transition:none}.quiz-option:hover>span{transform:none}}

/* The two discovery pages share a softer editorial rhythm; listing photos remain the suppliers' own. */
.atelier-directory-head{position:relative;overflow:hidden;padding:32px 0 48px;background:linear-gradient(125deg,#fcf6f2 0%,#f5e8e8 57%,#f0e1e0 100%)}
.atelier-directory-head::before{content:"";position:absolute;right:-120px;top:-190px;width:560px;height:560px;border:1px solid rgba(136,78,105,.17);border-radius:50%;pointer-events:none}
.atelier-directory-head .shell{position:relative}
.atelier-directory-head .breadcrumbs{margin-bottom:25px}
.atelier-directory-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);align-items:center;gap:clamp(30px,6vw,92px)}
.atelier-directory-copy{padding:26px 0 55px}
.atelier-directory-eyebrow,.atelier-results-heading span{color:var(--plum);font-size:.67rem;font-weight:750;letter-spacing:.17em;text-transform:uppercase}
.atelier-directory-copy h1{max-width:13ch;margin:17px 0 28px;font-size:clamp(3.6rem,6vw,6rem);line-height:.92;text-wrap:balance}
.atelier-directory-copy>p:not(.atelier-directory-eyebrow):not(.atelier-directory-count){max-width:49ch;color:#675c64;font-size:1.04rem;line-height:1.7}
.atelier-directory-count{display:flex;align-items:baseline;gap:12px;margin:27px 0 0;padding-top:16px;border-top:1px solid #d9bcc5;color:var(--plum);font-size:.73rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.atelier-directory-count strong{font:500 2.4rem/1 var(--serif);letter-spacing:0}
.atelier-directory-photo{position:relative;height:450px;margin:0 0 34px 0;padding:11px 11px 0 0}
.atelier-directory-photo::before{content:"";position:absolute;inset:0 0 11px 11px;border:1px solid #b98b9b;border-radius:48% 48% 6px 6px;pointer-events:none}
.atelier-directory-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%;border-radius:48% 48% 5px 5px;filter:saturate(.83)}
.atelier-directory-photo figcaption{position:absolute;right:17px;bottom:8px;padding:5px 9px;background:rgba(46,31,42,.76);color:white;font-size:.6rem}
.atelier-directory-search{position:relative;z-index:2;margin-top:-22px;padding:23px;background:#fffdfb;border:1px solid #ead5d9;box-shadow:0 22px 46px rgba(82,48,62,.11)}
.atelier-directory-search>p{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;color:var(--plum);font:italic 1.45rem var(--serif)}
.atelier-directory-search>p span{font:normal 1.2rem var(--serif);color:#b68196}
.atelier-directory-head .search-form{padding:0;border:0;box-shadow:none}
.atelier-directory-head .search-form .field{background:#fbf5f2;border-right:1px solid #ead5d9}
.atelier-directory-head .search-form .button{border-radius:4px}
.atelier-results{padding-top:76px}
.atelier-results-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid #e6cbd1}
.atelier-results-heading h2{margin:8px 0 0;font-size:clamp(2.5rem,4vw,4rem)}
.atelier-results-heading>p{max-width:35ch;margin:0;color:var(--muted);font-size:.83rem}
.atelier-results .shop-grid{gap:25px}
.atelier-results .shop-card{border:1px solid #eee0df;box-shadow:0 12px 32px rgba(82,48,62,.055);transition:transform .35s,box-shadow .35s}
.atelier-results .shop-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(82,48,62,.12)}
.atelier-results .shop-card-image{aspect-ratio:1.22}
.atelier-results .shop-card-body{padding:27px}
.atelier-results .card-heading h3{font-size:2.15rem}
.atelier-results .arrow-link{border-color:#d9b3c0;color:var(--plum)}
.atelier-results .tag-list span{border-color:#e7cbd3;background:#fcf5f5}
.jewelry-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:610px;background:#f9f0ed}
.jewelry-hero-media{min-height:610px}
.jewelry-hero-media::after{content:"";position:absolute;inset:17px;border:1px solid rgba(255,245,244,.53);pointer-events:none}
.jewelry-hero-copy{position:relative;isolation:isolate;padding:55px clamp(42px,6vw,100px);background:linear-gradient(135deg,#fffaf7 0%,#f9ebec 100%)}
.jewelry-hero-copy::before{content:"";position:absolute;right:-130px;top:-130px;width:385px;height:385px;border:1px solid rgba(145,89,111,.18);border-radius:50%;z-index:-1;pointer-events:none}
.jewelry-hero-copy h1{max-width:12ch;font-size:clamp(3.8rem,5.7vw,6.2rem)}
.jewelry-hero-copy>p{font-size:1rem;line-height:1.7}
.jewelry-search{border-top-color:#d9b8c2}
.jewelry-search-field{background:#fffdfb;border-color:#d9b8c2}
.jewelry-results{padding-top:78px}
.jewelry-results-head{border-bottom-color:#e7cbd2}
.jewelry-card{grid-template-rows:auto 1fr;border:1px solid #ecdcdd;box-shadow:0 10px 28px rgba(62,37,48,.06)}
.jewelry-card:hover{box-shadow:0 22px 42px rgba(62,37,48,.12)}
.jewelry-card-mark{aspect-ratio:1.22;padding:0;background:var(--paper-deep);color:var(--plum)}
.jewelry-card-mark>img{z-index:1}.jewelry-card-mark>img+span{z-index:2;margin:24px}.jewelry-card-mark>.shop-card-placeholder:last-child{position:absolute;inset:0;width:100%;max-width:none;height:100%}
.jewelry-card-mark:has(> img){background:var(--plum)}
.jewelry-card-mark>span:last-child{color:var(--plum)}
.jewelry-card-mark:has(> img)>span:last-child{color:white}
.jewelry-card-mark:not(:has(> img)) .jewelry-card-rings i{border-color:#a8768a}
.jewelry-card-mark:not(:has(> img)) .jewelry-card-rings i:last-child:after{border-color:#d4abb7}
.jewelry-card-body{padding:25px}
.jewelry-card h3{font-size:2.15rem}
@media(min-width:901px){.atelier-directory-copy{animation:discovery-arrive .7s both}.atelier-directory-photo{animation:discovery-arrive .85s .12s both}.atelier-directory-search{animation:discovery-arrive .75s .2s both}}
@keyframes discovery-arrive{from{opacity:.25;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.atelier-directory-intro{grid-template-columns:1fr 36%;gap:25px}.atelier-directory-photo{height:350px}.jewelry-hero{grid-template-columns:1fr}.jewelry-hero-copy{grid-row:1;min-height:0;padding-block:54px}.jewelry-hero-media{grid-row:2;min-height:390px}}
@media(max-width:620px){.atelier-directory-head{padding:22px 0 37px}.atelier-directory-head .breadcrumbs{margin-bottom:17px}.atelier-directory-intro{grid-template-columns:1fr;gap:0}.atelier-directory-copy{padding:10px 0 22px}.atelier-directory-copy h1{font-size:clamp(3.2rem,12vw,4.4rem)}.atelier-directory-copy>p:not(.atelier-directory-eyebrow):not(.atelier-directory-count){font-size:.9rem}.atelier-directory-photo{height:240px;margin-bottom:27px}.atelier-directory-photo img{object-position:center 39%}.atelier-directory-search{margin-top:0;padding:16px}.atelier-directory-head .search-form .field{border-right:0;border-bottom:1px solid #ead5d9}.atelier-directory-head .search-form .button{width:100%;margin-top:8px}.atelier-directory-head .active-filters{flex-wrap:wrap}.atelier-results{padding-top:43px}.atelier-results-heading{display:block}.atelier-results-heading>p{margin-top:12px}.atelier-results .shop-grid{gap:20px}.jewelry-hero-copy{padding:32px 22px 37px}.jewelry-hero-copy h1{font-size:clamp(3.2rem,12vw,4.1rem)}.jewelry-hero-media{min-height:275px}.jewelry-results{padding-top:52px}.jewelry-card{grid-template-rows:auto 1fr}}
@media(prefers-reduced-motion:reduce){.atelier-directory-copy,.atelier-directory-photo,.atelier-directory-search{animation:none}.atelier-results .shop-card,.jewelry-card{transition:none}.atelier-results .shop-card:hover,.jewelry-card:hover{transform:none}}

/* Supplier profiles share one editorial signature; the emblem changes with the service. */
.profile-head:before{display:none}
.photo-video-profile-head,.music-profile-head{background:transparent}
.profile-head,.venue-profile-head,.jewelry-profile-head{padding-top:38px}
.profile-head .breadcrumbs,.venue-profile-head .breadcrumbs,.jewelry-profile-head .breadcrumbs,.photo-video-profile-head .breadcrumbs,.music-profile-head .breadcrumbs{margin-bottom:32px}
.supplier-profile-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,31%);align-items:stretch;min-height:430px;margin:0;padding:0;overflow:hidden;border-radius:16px;background:var(--plum-dark);color:#fffaf7;box-shadow:0 30px 72px rgba(47,27,39,.2)}
.supplier-profile-hero:before{content:"";position:absolute;left:44px;bottom:34px;width:112px;height:1px;background:rgba(255,255,255,.34);pointer-events:none}
.supplier-profile-hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;max-width:none;padding:58px clamp(42px,6vw,82px) 72px}
.supplier-profile-hero h1{max-width:12ch;margin:0;color:#fffaf7;font:500 clamp(4.2rem,7.3vw,6rem)/.83 var(--serif);letter-spacing:-.035em;text-wrap:balance}
.supplier-profile-hero .supplier-profile-hero-headline{display:block;max-width:34ch;margin:24px 0 0;color:#f0dfe6;font:italic 500 clamp(1.2rem,2vw,1.55rem)/1.25 var(--serif)}
.supplier-profile-hero .supplier-profile-hero-description,.supplier-profile-hero .profile-lede,.supplier-profile-hero .venue-profile-description{display:block;max-width:61ch;margin:25px 0 0;color:#e8dbe1;font-size:.92rem;line-height:1.75}
.supplier-profile-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.2)}
.supplier-profile-hero .supplier-profile-hero-meta>span,.supplier-profile-hero .supplier-profile-hero-location,.supplier-profile-hero .venue-location,.supplier-profile-hero .supplier-profile-hero-status{display:inline;margin:0;color:#f4e8ed;font:.7rem/1.4 var(--sans);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.supplier-profile-hero .supplier-profile-hero-status{color:#cfabb9}
.supplier-profile-hero .verified-supplier-badge{margin:0;border-color:rgba(255,255,255,.38);color:#fffaf7}
.supplier-profile-hero .profile-preferences{margin-top:20px}
.supplier-profile-hero .profile-preference-action{color:#fffaf7}
.supplier-profile-hero .profile-preference-action[data-favorite-toggle][aria-pressed="true"] svg{fill:rgba(255,255,255,.28)}
.supplier-profile-hero-emblem{position:relative;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;min-width:0;padding:42px 28px;background:#ecd9df;color:var(--plum)}
.supplier-profile-hero-emblem:before{content:"";position:absolute;inset:20px;border:1px solid rgba(111,57,83,.22);border-radius:45% 45% 12px 12px}
.supplier-profile-hero-emblem-frame{position:relative;display:grid;place-items:center;width:154px;height:154px;border:1px solid rgba(111,57,83,.35);border-radius:50%}
.supplier-profile-hero-emblem .directory-placeholder-symbol{width:92px;height:92px;color:var(--plum);stroke-width:1.25}
.supplier-profile-hero .supplier-profile-hero-kind{position:relative;color:var(--plum);font:.68rem/1.45 var(--sans);font-weight:750;letter-spacing:.17em;text-align:center;text-transform:uppercase}
.supplier-profile-hero .jewelry-profile-rings,.supplier-profile-hero>svg{display:none}
.photo-video-profile-title,.music-profile-title{margin-top:0}
@media(prefers-reduced-motion:no-preference){.supplier-profile-hero{animation:supplier-profile-arrive .72s cubic-bezier(.16,1,.3,1) both}.supplier-profile-hero-emblem-frame{animation:supplier-profile-emblem .8s .12s cubic-bezier(.16,1,.3,1) both}@keyframes supplier-profile-arrive{from{opacity:.65;transform:translateY(18px);box-shadow:0 12px 36px rgba(47,27,39,.12)}to{opacity:1;transform:none;box-shadow:0 30px 72px rgba(47,27,39,.2)}}@keyframes supplier-profile-emblem{from{transform:scale(.88);opacity:.4}to{transform:none;opacity:1}}}
@media(max-width:760px){.profile-head,.venue-profile-head,.jewelry-profile-head{padding-top:24px}.photo-video-profile-head,.music-profile-head{padding:24px 0 45px}.supplier-profile-hero{grid-template-columns:1fr;min-height:0;margin-inline:-15px;border-radius:0}.supplier-profile-hero-copy{grid-row:2;padding:38px 30px 54px}.supplier-profile-hero h1{font-size:clamp(3.7rem,16vw,5rem)}.supplier-profile-hero-emblem{grid-row:1;min-height:185px;padding:30px}.supplier-profile-hero-emblem:before{inset:12px;border-radius:48% 48% 8px 8px}.supplier-profile-hero-emblem-frame{width:112px;height:112px}.supplier-profile-hero-emblem .directory-placeholder-symbol{width:68px;height:68px}.supplier-profile-hero-kind{font-size:.61rem}.supplier-profile-hero-description,.supplier-profile-hero .profile-lede,.supplier-profile-hero .venue-profile-description{font-size:.88rem}.supplier-profile-hero-meta{align-items:flex-start;flex-direction:column}.supplier-profile-hero:before{left:30px;bottom:25px;width:82px}.venue-profile-title,.jewelry-profile-title,.photo-video-profile-title,.music-profile-title{display:grid;min-height:0;padding:0}.jewelry-profile-title{margin-inline:-15px}.photo-video-profile-title,.music-profile-title{margin-top:0}}
@media(prefers-reduced-motion:reduce){.supplier-profile-hero,.supplier-profile-hero-emblem-frame{animation:none}}

/* A deposit is a partial payment against one expense, not a completed expense. */
.budget-table-head,.budget-row{grid-template-columns:minmax(155px,1fr) minmax(78px,100px) minmax(78px,100px) minmax(78px,100px) 52px;gap:10px}
.budget-paid small{display:none}
.budget-summary dl>div:has([data-budget-advances]),.budget-summary dl>div:has([data-budget-due]){background:rgba(255,253,249,.55);padding-inline:9px}
@media(max-width:900px){.budget-summary dl{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.budget-table-head{display:none}.budget-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.budget-row .budget-item-name{grid-column:1/-1}.budget-row>label:has([data-budget-advance-input]){grid-column:1}.budget-row .budget-paid{grid-column:2;display:flex;gap:8px;justify-self:start;align-self:end;align-items:center}.budget-paid small{display:block;color:var(--muted);font-size:.62rem}.budget-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.budget-summary dl>div:has([data-budget-balance]){grid-column:1/-1}.budget-summary dl>div:has([data-budget-advances]),.budget-summary dl>div:has([data-budget-due]){padding:8px}}

/* Optional budget lines are reversible; the quiet action does not compete with amounts. */
.budget-quotes{margin:8px 0 38px;padding:28px 30px;background:var(--paper);border:1px solid var(--line)}
.budget-quotes-heading h2{margin:0 0 7px;font-size:2rem}
.budget-quotes-heading p{max-width:65ch;margin:0 0 20px;color:var(--muted);font-size:.78rem;line-height:1.65}
.budget-quotes form{display:grid;grid-template-columns:1fr 1fr minmax(125px,.65fr);gap:14px;align-items:end}
.budget-quotes form label{display:grid;gap:6px;min-width:0;color:var(--plum);font-size:.67rem;font-weight:700}
.budget-quotes select,.budget-quotes input{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:4px;background:var(--white);color:var(--ink);font:500 .76rem var(--sans)}
.budget-quotes form button{justify-self:start;grid-column:1/-1}
.budget-quotes form [role="status"]{grid-column:1/-1;margin:0;color:var(--plum);font-size:.72rem}
.budget-quote-context,.budget-quote-empty{margin:14px 0 0;color:var(--muted);font-size:.7rem;line-height:1.6}
.budget-quote-empty a{color:var(--plum);font-weight:700}
.budget-quotes ul{list-style:none;margin:18px 0 0;padding:0}
.budget-quotes li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line)}
.budget-quotes li div{display:grid;gap:3px}
.budget-quotes li strong{font-size:.77rem}
.budget-quotes li span{color:var(--muted);font-size:.7rem}
.budget-quotes li button{min-height:44px;padding:7px 0;border:0;background:none;color:var(--plum);font:700 .68rem var(--sans);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.budget-quotes :is(select,input,button):focus-visible{outline:3px solid var(--focus-rose,#c75b82);outline-offset:2px}
@media(max-width:620px){.budget-quotes{padding:22px 18px}.budget-quotes form{grid-template-columns:1fr}.budget-quotes form button,.budget-quotes form [role="status"]{grid-column:auto}.budget-quotes li{align-items:start;flex-direction:column;gap:5px}}

/* Budget currency is a display/input preference; persisted totals stay canonical in RON. */
.budget-limit:has(.budget-currency){max-width:380px}
.budget-currency{display:flex;align-items:center;gap:4px;margin:14px 0 0;padding:0;border:0}
.budget-currency legend{float:left;margin:0 auto 0 0;color:var(--muted);font-size:.63rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.budget-currency label{position:relative;cursor:pointer}
.budget-currency input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.budget-currency label span{display:grid;place-items:center;min-width:58px;min-height:34px;padding:5px 12px;border:1px solid var(--line);background:var(--white);color:var(--muted);font-size:.68rem;font-weight:750;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.budget-currency label:first-of-type span{border-radius:9px 2px 2px 9px}
.budget-currency label:last-of-type span{border-radius:2px 9px 9px 2px}
.budget-currency input:checked+span{border-color:var(--plum);background:var(--plum);color:var(--white)}
.budget-currency input:focus-visible+span{outline:3px solid var(--focus-rose,#c75b82);outline-offset:2px}
.budget-currency input:disabled+span{opacity:.48;cursor:not-allowed}
.budget-exchange-rate{line-height:1.5}
.budget-exchange-rate a{color:inherit;font-weight:700;text-underline-offset:3px}
.budget-currency-note{max-width:68ch;margin:-18px 0 38px;color:var(--muted);font-size:.7rem;line-height:1.65}
@media(max-width:620px){.budget-currency{display:grid;grid-template-columns:1fr auto auto}.budget-currency-note{margin-top:-10px}}
.budget-item-name [data-budget-exclude],.budget-item-name [data-budget-remove]{min-height:44px;margin-top:0;padding:9px 0;font-size:.68rem}
.budget-excluded{margin:4px 0 30px;padding:22px 26px;border:1px solid var(--line);background:var(--paper)}
.budget-excluded[hidden]{display:none}
.budget-excluded h2{margin:0 0 5px;font-size:1.85rem}
.budget-excluded h2 span{font:600 .78rem var(--sans);color:var(--muted)}
.budget-excluded p{margin:0 0 14px;color:var(--muted);font-size:.76rem}
.budget-excluded ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.budget-excluded li{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:49px;border-top:1px solid var(--line);font-size:.76rem}
.budget-excluded li button{flex:none;min-height:44px;padding:7px 0;border:0;background:transparent;color:var(--plum);font:700 .69rem var(--sans);text-decoration:underline;text-decoration-color:var(--rose);text-underline-offset:4px;cursor:pointer}
.budget-excluded button:focus-visible,.budget-item-name button:focus-visible{outline:3px solid var(--focus-rose,#c75b82);outline-offset:2px}
@media(max-width:620px){.budget-excluded{padding:20px 18px}.budget-excluded ul{grid-template-columns:1fr}}

/* The guide opens with one photographic cover and continues as a calm editorial reading list. */
.guide-index-head{position:relative;overflow:hidden;padding:28px 0 88px;background:linear-gradient(120deg,#fff9f5 0%,#f9eaed 62%,#efdce3 100%);color:var(--ink)}
.guide-index-head::before{content:"";position:absolute;right:-170px;top:20px;width:650px;height:650px;border:1px solid rgba(125,64,87,.18);border-radius:50%;pointer-events:none}
.guide-index-head-inner{position:relative;z-index:1}
.guide-index-head .breadcrumbs{margin-bottom:35px;color:var(--muted)}
.guide-index-intro{padding-top:25px}
.guide-index-lede{padding:0 2%}
.guide-index-intro h1{max-width:11ch;margin:0;font-size:clamp(3.75rem,5.9vw,5.6rem);line-height:.99;text-wrap:balance}
.guide-index-list{padding-block:75px 128px}
.guide-index-heading{display:flex;justify-content:flex-end;margin-bottom:22px;padding-bottom:23px;border-bottom:1px solid #d9b8c2}
.guide-index-heading p{max-width:34ch;margin:0;color:var(--muted);font-size:.83rem}
.guide-index-grid{display:grid;grid-template-columns:minmax(0,1fr)}
.guide-index-story{display:grid;grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);align-items:center;gap:clamp(38px,7vw,96px);min-width:0;padding:56px 0;border-bottom:1px solid #dfc9cc}
.guide-index-image{position:relative;margin:0;overflow:hidden;background:#eadedb}
.guide-index-image>a{position:relative;display:block;overflow:hidden;aspect-ratio:1.5}
.guide-index-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.guide-index-image>a:hover img{transform:scale(1.045)}
.guide-index-image figcaption{position:absolute;right:10px;bottom:10px;padding:5px 8px;background:rgba(41,29,37,.82);color:white;font-size:.61rem}
.guide-index-image figcaption a{color:inherit;text-decoration-color:#d9abb9}
.guide-index-story-copy{padding:5px 7% 5px 0}
.guide-index-story-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0 0 18px;color:var(--muted);font-size:.67rem;line-height:1.4}
.guide-index-story-meta span{color:var(--plum);font-weight:750}
.guide-index-story-meta time{font-variant-numeric:tabular-nums}
.guide-index-story h3{max-width:21ch;margin:0 0 18px;font-size:clamp(2.25rem,3.5vw,3.5rem);line-height:1.07;text-wrap:balance}
.guide-index-story h3 a{text-decoration:none}
.guide-index-story h3 a:hover{text-decoration:underline;text-decoration-color:var(--rose);text-decoration-thickness:1px}
.guide-index-excerpt{max-width:56ch;margin:0 0 20px;color:#5f535b;font-size:.88rem;line-height:1.7}
.guide-index-read{display:inline-flex;align-items:center;gap:17px;min-height:44px;color:var(--plum);font-size:.78rem;font-weight:750;text-decoration:none}
.guide-index-read svg{width:20px;height:20px;transition:transform .25s ease}
.guide-index-read:hover svg{transform:translateX(5px)}
@media(max-width:900px){.guide-index-intro h1{font-size:clamp(3.35rem,6.4vw,4.7rem)}.guide-index-story{gap:30px}}
@media(max-width:700px){.guide-index-head{padding:23px 0 65px}.guide-index-head .breadcrumbs{margin-bottom:28px}.guide-index-intro{padding-top:0}.guide-index-lede{padding:0}.guide-index-intro h1{max-width:13ch;font-size:clamp(3.1rem,10vw,4.4rem)}.guide-index-list{padding-block:51px 85px}.guide-index-heading{margin-bottom:14px}.guide-index-story{display:block;padding:34px 0}.guide-index-image>a{aspect-ratio:1.35}.guide-index-story-copy{padding:24px 2px 0}.guide-index-story h3{font-size:clamp(2.3rem,8vw,3rem)}.guide-index-excerpt{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.guide-index-image img,.guide-index-read svg{transition:none}.guide-index-image>a:hover img,.guide-index-read:hover svg{transform:none}}
.couple-appointment .couple-appointment-note{white-space:pre-line;overflow-wrap:anywhere}
.couple-appointment>dl>.couple-appointment-paused{padding:17px 18px;background:var(--paper-deep)}.couple-appointment-paused dd{line-height:1.6}.couple-appointment-paused .text-link{display:inline-block;margin-top:8px;color:var(--plum);font-weight:700}
.couple-appointment-cancel{grid-column:1;max-width:32rem;padding-top:12px;border-top:1px solid var(--line);color:var(--plum)}
.couple-appointment-cancel summary{width:max-content;max-width:100%;min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.72rem;font-weight:700;text-decoration:underline;text-decoration-color:var(--rose);text-underline-offset:5px}
.couple-appointment-cancel summary:focus-visible{outline:3px solid var(--focus-rose);outline-offset:3px}
.couple-appointment-cancel p{max-width:48ch;margin:7px 0 15px;color:var(--muted);font-size:.72rem;line-height:1.55}
.couple-appointment-cancel .button{min-height:44px}
@media(max-width:900px){.couple-appointment-cancel{grid-column:1}}

/* The client inbox keeps appointment state and its single canonical message thread together. */
.couple-meetings-summary{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:0 clamp(30px,5vw,64px);padding:36px 0 48px;border-top:1px solid var(--studio-line)}
.couple-meetings-summary>div{display:flex;align-items:center;gap:22px}.couple-meetings-summary strong{color:var(--plum);font:500 4rem/.8 var(--serif)}.couple-meetings-summary p{margin:0;color:var(--plum);font-size:.8rem;font-weight:700}.couple-meetings-summary p span{color:var(--muted);font-size:.7rem;font-weight:400}
.couple-conversations-page{padding-block:30px 100px}.couple-conversations-page ::selection{background:#d99bb1;color:#321d29}.couple-conversations-page :focus-visible{outline:3px solid var(--focus-rose);outline-offset:3px}
.couple-conversations-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:end;margin-top:28px;padding:58px clamp(30px,6vw,78px);background:var(--plum);color:white;overflow:hidden}
.couple-conversations-head h1{max-width:12ch;margin:0;color:white;font-size:clamp(3.8rem,7vw,6rem);line-height:.86;letter-spacing:-.03em;text-wrap:balance}.couple-conversations-head>div>p{max-width:58ch;margin:28px 0 0;color:#eadde4;line-height:1.7}
.couple-conversations-count{display:grid;min-width:150px;margin:0;padding:24px 0 0;border-top:1px solid rgba(255,255,255,.34)}.couple-conversations-count strong{font:500 4rem/.8 var(--serif);font-variant-numeric:tabular-nums}.couple-conversations-count span{margin-top:13px;color:#eadde4;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.couple-conversations-layout{display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:0;margin-top:34px;border-top:1px solid var(--line)}
.conversation-directory{position:sticky;top:88px;align-self:start;max-height:calc(100vh - 112px);padding:34px 28px 34px 0;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--rose) transparent}.conversation-directory h2{margin:0 0 22px;font-size:1.7rem}.conversation-directory ol{margin:0;padding:0;list-style:none}.conversation-directory li{border-top:1px solid var(--line)}.conversation-directory li:last-child{border-bottom:1px solid var(--line)}.conversation-directory a{display:grid;gap:8px;padding:20px 4px;color:var(--ink);text-decoration:none;transition:padding .3s cubic-bezier(.16,1,.3,1),color .2s ease}.conversation-directory a:hover{padding-left:9px;color:var(--plum)}.conversation-directory a>span:first-child{display:grid;gap:4px}.conversation-directory strong{font:500 1rem var(--serif)}.conversation-directory small,.conversation-directory-preview,.conversation-directory time{color:var(--muted);font-size:.62rem}.conversation-directory-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-directory time{font-variant-numeric:tabular-nums}
.conversation-stream{min-width:0;border-left:1px solid var(--line);padding-left:clamp(28px,5vw,68px)}
.conversation-stream .conversation-appointment{grid-template-columns:minmax(210px,.72fr) minmax(330px,1.28fr);gap:34px;padding:46px 0 64px;scroll-margin-top:100px}.conversation-stream .conversation-appointment:first-child{padding-top:34px}.conversation-stream .conversation-appointment>header h2{margin:0;color:var(--ink);font-size:clamp(2.2rem,4vw,3.25rem);line-height:.98}.conversation-stream .conversation-appointment>header p{margin-top:9px}.conversation-stream .appointment-thread{border-radius:14px;background:#f3e1e7}.conversation-stream .appointment-thread h3{margin:0 0 20px;font:500 2rem var(--serif)}.conversation-appointment-actions{grid-column:1;display:flex;flex-wrap:wrap;gap:10px}.conversation-stream .couple-review-panel{grid-column:1/-1}.conversation-stream .couple-review-panel-heading h3{margin:0;font:500 1.8rem/1.05 var(--serif)}.couple-conversations-empty{margin-top:34px;padding:64px clamp(30px,6vw,78px);background:var(--paper-deep)}.couple-conversations-empty h2{max-width:12ch;margin:0;font-size:clamp(3rem,6vw,5rem);line-height:.9}.couple-conversations-empty p{max-width:60ch;margin:25px 0;color:var(--muted);line-height:1.7}.couple-conversations-empty>div{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:900px){.couple-conversations-layout{grid-template-columns:1fr}.conversation-directory{position:static;max-height:none;padding:24px 0}.conversation-directory ol{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity}.conversation-directory li{flex:0 0 235px;border-bottom:1px solid var(--line);scroll-snap-align:start}.conversation-stream{border-top:1px solid var(--line);border-left:0;padding-left:0}.conversation-stream .conversation-appointment{grid-template-columns:1fr}.conversation-stream .appointment-thread{grid-column:1;grid-row:auto}}
@media(max-width:620px){.couple-meetings-summary{align-items:stretch;flex-direction:column;margin-inline:20px;padding-top:28px}.couple-meetings-summary .button{width:100%}.couple-conversations-page{padding:20px 14px 72px}.couple-conversations-head{grid-template-columns:1fr;gap:34px;margin-top:20px;padding:42px 22px}.couple-conversations-head h1{font-size:clamp(3.15rem,15vw,4.2rem)}.couple-conversations-count{min-width:0}.conversation-directory{padding-block:24px 30px}.conversation-stream .conversation-appointment{gap:22px;padding-block:34px 52px}.conversation-stream .conversation-appointment>header{align-items:flex-start;flex-direction:column-reverse}.conversation-stream .appointment-thread{margin-inline:-14px;padding:25px 20px;border-radius:0}.conversation-appointment-actions .button{width:100%}.couple-conversations-empty{padding:44px 22px}.couple-conversations-empty>div{align-items:stretch;flex-direction:column}.couple-conversations-empty .button{width:100%}}
.supplier-appointment-cancel{grid-column:2/-1;max-width:42rem;padding-top:13px;border-top:1px solid var(--line);color:var(--plum)}
.supplier-appointment-cancel summary{display:flex;align-items:center;width:max-content;max-width:100%;min-height:44px;cursor:pointer;font-size:.72rem;font-weight:700;text-decoration:underline;text-decoration-color:var(--rose);text-underline-offset:5px}
.supplier-appointment-cancel summary:focus-visible{outline:3px solid var(--focus-rose);outline-offset:3px}
.supplier-appointment-cancel p{max-width:58ch;margin:6px 0 14px;color:var(--muted);font-size:.72rem;line-height:1.55}
.supplier-appointment-cancel .button{min-height:44px}
@media(max-width:620px){.supplier-appointment-cancel{grid-column:1}.supplier-appointment-cancel .button{width:100%}}

/* Keep passwordless-login feedback distinct from helper copy and its next field. */
.supplier-auth-panel>.inquiry-errors{margin:24px 0 20px;color:#743247;font-size:.76rem}
.supplier-auth-panel>.subscription-success{margin:24px 0 20px;color:#41553d}
.supplier-auth-panel>.supplier-auth-plan-note{margin:24px 0 22px}
.couple-portal-wedding-context{margin:8px 0 0!important;color:#eadde4!important;font-size:.72rem;font-variant-numeric:tabular-nums}
.comparison-context{max-width:74ch;margin:0 0 22px;color:var(--muted);line-height:1.6}.comparison-scroll:focus-visible{outline:2px solid var(--plum);outline-offset:3px}.comparison-table caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.comparison-table thead th:first-child{position:sticky;left:0;z-index:3}.comparison-table tbody th{position:sticky;left:0;z-index:2}.comparison-price-row td{background:#fbf3f6}.comparison-price-row td>strong,.comparison-price-row td>span,.comparison-price-row td>small{display:block}.comparison-price-row td>strong{color:var(--plum);font-weight:650}.comparison-price-amount{margin:8px 0;font-size:1.04rem;font-weight:700;font-variant-numeric:tabular-nums}.comparison-price-row td>small,.comparison-source-date{display:block;margin-top:10px;color:var(--muted);font-size:.76rem;line-height:1.5}.comparison-unknown{color:var(--muted)}
.comparison-swipe-hint{display:none}@media(max-width:620px){.comparison-swipe-hint{display:block;margin:0 0 12px;color:var(--plum);font-size:.82rem}.comparison-table thead th:first-child,.comparison-table tbody th{width:130px;min-width:130px}}

/* The couple portal reads as one romantic planning folio, connected by a single botanical thread. */
.couple-portal{--portal-blush:#f3e4e9;--portal-blush-deep:#dfb8c4;--portal-wine:#6c3b57;position:relative;padding-top:22px;background:var(--paper)}
.couple-portal-welcome{min-height:430px;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);background:var(--portal-wine);box-shadow:0 28px 70px rgba(64,32,54,.16)}
.couple-portal-welcome::before{inset:auto 48% 34px 38px;background:rgba(255,253,249,.42)}
.couple-portal-welcome-copy{padding:64px clamp(38px,5vw,72px) 58px;background:var(--portal-wine)}
.couple-portal-welcome h1{font-size:clamp(4.5rem,7vw,6rem);line-height:.78}
.couple-portal-welcome-message{max-width:28ch;margin-top:27px!important;color:#f4e7eb!important;font-size:clamp(1.08rem,1.65vw,1.35rem)}
.couple-portal-welcome-identity{max-width:31rem;margin-top:38px!important;border-color:rgba(255,253,249,.28)}
.couple-portal-welcome-identity strong{font-size:clamp(1.3rem,2vw,1.65rem)}
.couple-portal-welcome-visual>img{filter:saturate(.75) sepia(.08) contrast(.93);transform:scale(1.035)}
.couple-portal-welcome-visual::after{background:rgba(41,23,35,.18)}
.couple-portal-bloom{right:-18px;bottom:-16px;width:380px;color:#f1c9d4;opacity:.82}
.couple-portal-welcome .couple-portal-head-actions{margin-top:34px}
.couple-portal-welcome .couple-portal-head-actions .button{border-color:rgba(255,253,249,.74);background:transparent;color:var(--white)}
.couple-portal-welcome .couple-portal-head-actions .button:hover{background:var(--white);color:var(--plum)}

.couple-portal-welcome~.couple-portal-index{position:relative;top:auto;z-index:8;grid-template-columns:repeat(4,1fr);margin:-27px clamp(26px,5vw,64px) 0;border:1px solid rgba(184,133,143,.36);border-radius:0;background:rgba(255,253,249,.97);box-shadow:0 22px 55px rgba(64,32,54,.13)}
.couple-portal-index a{min-height:58px;padding:17px 20px;color:#66545e;letter-spacing:.025em}
.couple-portal-index a svg{width:22px;height:22px}
.couple-portal-index a:hover,.couple-portal-index a[aria-current="location"]{background:var(--portal-blush);color:var(--plum)}

.couple-dashboard-canvas{position:relative;isolation:isolate;margin:78px 0 0;padding:84px clamp(24px,5vw,64px) 70px;background:var(--portal-blush);overflow:hidden}
.couple-dashboard-canvas::before{content:"";position:absolute;z-index:-1;top:-120px;right:-110px;width:360px;height:360px;border:1px solid rgba(108,59,87,.2);border-radius:50%;pointer-events:none}
.couple-dashboard-canvas::after{content:"";position:absolute;z-index:-1;right:7%;bottom:-170px;width:410px;height:410px;border:1px solid rgba(108,59,87,.16);border-radius:50%;pointer-events:none}
.couple-dashboard-thread{position:absolute;z-index:-1;inset:28px 0 auto;width:100%;height:min(980px,78%);color:rgba(108,59,87,.2);pointer-events:none}
.couple-dashboard-thread path{fill:none;stroke:currentColor;stroke-width:1.1;vector-effect:non-scaling-stroke}
.couple-dashboard-heading{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:25px;margin:0 0 43px;padding:0 0 31px;border-bottom:1px solid rgba(108,59,87,.33)}
.couple-dashboard-flower{display:grid;place-items:center;width:76px;height:76px;border:1px solid rgba(108,59,87,.35);border-radius:50%;background:rgba(255,253,249,.54)}
.couple-dashboard-flower svg{width:42px;height:42px;fill:none;stroke:var(--plum);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.couple-dashboard-heading h2{max-width:15ch;font-size:clamp(3.2rem,5.4vw,5rem);line-height:.88;text-wrap:balance}
.couple-dashboard-heading p{max-width:52ch;margin-top:15px;color:#715d68;font-size:.92rem;line-height:1.65}

.couple-dashboard-overview{display:grid;grid-template-columns:1fr;gap:22px;margin:0}
.couple-dashboard-suppliers{padding:42px clamp(28px,4vw,52px) 34px;border:1px solid rgba(108,59,87,.14);background:rgba(255,253,249,.94);box-shadow:0 24px 65px rgba(84,42,62,.11)}
.couple-dashboard-suppliers>header{padding-bottom:27px}
.couple-dashboard-suppliers>header h2{font-size:clamp(2.75rem,4vw,3.7rem)}
.couple-dashboard-suppliers>ol li{min-height:96px}
.couple-dashboard-suppliers>ol li{grid-template-columns:minmax(0,1fr) 44px}
.couple-dashboard-suppliers>ol li>div{min-width:0}
.couple-dashboard-suppliers>ol p{margin:7px 0 0}
.couple-dashboard-suppliers>ol li:hover{background:#fbf3f5}
.couple-saved-empty{grid-template-columns:72px minmax(0,1fr) auto;align-items:center;padding:34px 0 13px}
.couple-saved-empty>svg{width:72px;height:72px;background:var(--portal-blush)}
.couple-saved-empty .button{grid-column:3;grid-row:1;align-self:center;margin:0}

.couple-dashboard-tools{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:0;border-top:1px solid rgba(108,59,87,.28);border-bottom:1px solid rgba(108,59,87,.28)}
.couple-dashboard-tools .couple-tool-progress{grid-template-columns:68px minmax(210px,.8fr) minmax(150px,1fr) auto;gap:24px;min-height:158px;margin:0;padding:31px clamp(28px,4vw,52px);border:0;background:rgba(255,253,249,.48);overflow:visible}
.couple-dashboard-tools .couple-tool-progress+.couple-tool-progress{border-top:1px solid rgba(108,59,87,.22)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even){background:var(--portal-wine);color:var(--white)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) h2,.couple-dashboard-tools .couple-tool-progress:nth-child(even) p strong{color:var(--white)}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) p{color:#eadde4}
.couple-dashboard-tools .couple-tool-progress>div{grid-column:2}
.couple-dashboard-tools .couple-tool-progress progress{grid-column:3;grid-row:1;height:7px;background:rgba(108,59,87,.2)}
.couple-dashboard-tools .couple-tool-progress .button{grid-column:4;grid-row:1;min-width:185px}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) progress{background:#835b71}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) progress::-webkit-progress-bar{background:#835b71}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) .couple-tool-icon{background:rgba(255,253,249,.12);stroke:#f5e6ea}
.couple-dashboard-tools .couple-tool-progress:nth-child(even) .button{border-color:#e3bbc6;color:var(--white)}
.couple-tool-icon{width:60px;height:60px;padding:13px;background:rgba(255,253,249,.8)}

.couple-local-discovery{margin:26px 0 0;padding:42px clamp(28px,4vw,52px);border:1px solid rgba(108,59,87,.14);background:rgba(255,253,249,.8)}
.couple-local-intro h2{font-size:clamp(2.5rem,4vw,3.4rem)}
.couple-local-columns{border-color:rgba(108,59,87,.3)}
.couple-guests-preview{margin:26px 0 0;padding:35px clamp(28px,4vw,52px);background:var(--portal-blush-deep);color:var(--plum-dark)}
.couple-guests-preview svg{background:rgba(255,253,249,.7)}
.couple-guests-preview p{color:#694e5d}
.couple-guests-preview .button{border-color:var(--plum);color:var(--plum)}
.couple-guests-preview .button:hover{background:var(--plum);color:var(--white)}

.couple-meetings-stage{margin:78px clamp(26px,5vw,64px) 0;padding:0 clamp(28px,4vw,52px) 48px;background:#efe4df}
.couple-meetings-stage::after{right:-76px;bottom:-86px;width:230px;height:230px}
.couple-meetings-stage .couple-portal-intro{padding-top:48px}
.couple-profile-settings,.couple-account-settings{margin-right:clamp(26px,5vw,64px);margin-left:clamp(26px,5vw,64px)}
.couple-profile-settings{margin-top:78px;padding:0 clamp(24px,3vw,38px);border:1px solid var(--line);background:rgba(255,253,249,.72)}
.couple-profile-settings>summary{padding-block:28px}
.couple-profile-settings-inner{padding-bottom:42px}
.couple-account-settings{margin-top:32px;padding:25px clamp(24px,3vw,38px) 0;border:1px solid var(--line);background:var(--paper-deep)}
.couple-account-settings>div{padding-bottom:34px}

.couple-portal.is-motion-ready .couple-dashboard-heading[data-couple-reveal]{transform:translateY(18px);filter:blur(7px)}
.couple-portal.is-motion-ready .couple-dashboard-suppliers[data-couple-reveal]{transform:translateY(30px);clip-path:inset(0 0 14% 0)}
.couple-portal.is-motion-ready .couple-tool-progress[data-couple-reveal]{transform:translateX(-30px)}
.couple-portal.is-motion-ready .couple-tool-progress:nth-child(even)[data-couple-reveal]{transform:translateX(30px)}
.couple-portal.is-motion-ready :is(.couple-local-discovery,.couple-guests-preview)[data-couple-reveal]{transform:translateY(24px);filter:blur(6px)}
.couple-portal.is-motion-ready [data-couple-reveal].is-visible{opacity:1;transform:none;filter:none;clip-path:inset(0);transition:opacity .72s cubic-bezier(.16,1,.3,1),transform .72s cubic-bezier(.16,1,.3,1),filter .72s cubic-bezier(.16,1,.3,1),clip-path .72s cubic-bezier(.16,1,.3,1)}

@keyframes couple-thread-draw{from{stroke-dashoffset:1600}to{stroke-dashoffset:0}}
@keyframes couple-photo-curtain{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}
@media(prefers-reduced-motion:no-preference){.couple-dashboard-thread path:first-child{stroke-dasharray:1600;animation:couple-thread-draw 1.7s .15s cubic-bezier(.16,1,.3,1) both}.couple-portal-welcome-visual{animation:couple-photo-curtain .95s cubic-bezier(.16,1,.3,1) both}}

@media(max-width:900px){.couple-portal-welcome{grid-template-columns:minmax(0,1fr) minmax(300px,.78fr)}.couple-dashboard-canvas{padding-inline:32px}.couple-dashboard-tools .couple-tool-progress{grid-template-columns:60px minmax(0,1fr) auto}.couple-dashboard-tools .couple-tool-progress progress{grid-column:2;grid-row:2}.couple-dashboard-tools .couple-tool-progress .button{grid-column:3;grid-row:1/3}.couple-saved-empty{grid-template-columns:64px minmax(0,1fr)}.couple-saved-empty .button{grid-column:2;grid-row:2;justify-self:start}.couple-meetings-stage,.couple-profile-settings,.couple-account-settings{margin-right:32px;margin-left:32px}}
@media(max-width:620px){.couple-portal{padding-top:10px}.couple-portal-welcome{grid-template-columns:1fr;min-height:0;box-shadow:none}.couple-portal-welcome-copy{padding:42px 26px 38px}.couple-portal-welcome h1{font-size:4.15rem}.couple-portal-welcome-visual{min-height:225px}.couple-portal-welcome .couple-portal-head-actions{grid-template-columns:1fr;margin-top:28px}.couple-portal-welcome~.couple-portal-index{grid-template-columns:1fr 1fr;margin:-18px 10px 0}.couple-portal-index a{justify-content:flex-start;min-height:54px;padding-inline:16px}.couple-dashboard-canvas{margin-top:58px;padding:56px 10px 46px}.couple-dashboard-canvas::before{top:-90px;right:-150px}.couple-dashboard-thread{display:none}.couple-dashboard-heading{grid-template-columns:1fr;gap:18px;margin:0 10px 32px;padding-bottom:25px}.couple-dashboard-flower{width:54px;height:54px}.couple-dashboard-flower svg{width:32px;height:32px}.couple-dashboard-heading h2{max-width:10ch;font-size:3.05rem}.couple-dashboard-heading p{font-size:.82rem}.couple-dashboard-overview{gap:18px}.couple-dashboard-suppliers{padding:29px 24px 24px}.couple-dashboard-suppliers>header h2{font-size:2.55rem}.couple-saved-empty{grid-template-columns:52px 1fr;gap:17px}.couple-saved-empty>svg{width:52px;height:52px;padding:11px}.couple-saved-empty .button{grid-column:1/-1;width:100%}.couple-dashboard-tools .couple-tool-progress{grid-template-columns:52px minmax(0,1fr);gap:17px;min-height:0;padding:28px 24px}.couple-dashboard-tools .couple-tool-progress progress{grid-column:1/-1;grid-row:2}.couple-dashboard-tools .couple-tool-progress .button{grid-column:1/-1;grid-row:3;min-width:0;width:100%}.couple-tool-icon{width:52px;height:52px}.couple-local-discovery{margin-top:18px;padding:29px 24px}.couple-guests-preview{margin-top:18px;padding:27px 24px}.couple-meetings-stage{margin:58px -5px 0;padding-inline:25px}.couple-profile-settings,.couple-account-settings{margin-right:0;margin-left:0}.couple-profile-settings{padding-inline:20px}.couple-account-settings{padding-inline:22px}.couple-profile-form{margin-inline:-20px}.couple-portal.is-motion-ready .couple-tool-progress[data-couple-reveal],.couple-portal.is-motion-ready .couple-tool-progress:nth-child(even)[data-couple-reveal]{transform:translateY(22px)}}
@media(prefers-reduced-motion:reduce){.couple-dashboard-thread path,.couple-portal-welcome-visual{animation:none!important}.couple-portal.is-motion-ready [data-couple-reveal]{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}}

/* Album in chapters: the approved account composition from decision seed 41f58b99. */
.couple-portal{--album-plum:#4d253f;--album-blush:#efdde4;--album-paper:#faf5ef;--album-rose:#a66b83;padding-top:22px}
.couple-album,.couple-album.couple-portal-welcome{display:grid;grid-template-columns:minmax(290px,29%) 180px minmax(0,1fr);min-height:690px;border:1px solid rgba(77,37,63,.18);background:var(--album-paper);box-shadow:0 28px 72px rgba(67,35,54,.13);overflow:hidden}
.couple-album-cover{position:relative;isolation:isolate;min-width:0;margin:0;overflow:hidden;background:var(--album-plum);color:var(--white)}
.couple-album-cover::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(30,17,25,.06),rgba(30,17,25,.78))}
.couple-album-cover>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:47% center;filter:saturate(.72) contrast(.94)}
.couple-album-cover-copy{display:flex;flex-direction:column;min-height:690px;padding:58px clamp(28px,3vw,46px) 44px;background:transparent}
.couple-album-eyebrow{margin:0 0 26px;font-size:.63rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase}
.couple-album-cover h1{max-width:7ch;margin:38px 0 0;color:var(--white);font-size:clamp(3.7rem,5.6vw,5.25rem);line-height:.82}
.couple-album-names{margin:auto 0 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.48)}
.couple-album-names strong,.couple-album-names span{display:block}
.couple-album-names strong{color:var(--white);font:500 clamp(1.25rem,2.1vw,1.6rem)/1.2 var(--serif)}
.couple-album-names span{margin-top:8px;color:#f4e9ed;font-size:.73rem;text-transform:capitalize}
.couple-album-cover .couple-portal-head-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:29px}
.couple-album-cover .couple-portal-head-actions form,.couple-album-cover .couple-portal-head-actions .button{width:100%}
.couple-album-cover .couple-portal-head-actions .button{min-height:48px;border-color:rgba(255,255,255,.66);background:rgba(41,22,33,.18);color:var(--white)}
.couple-album-cover .couple-portal-head-actions .button:hover{background:var(--white);color:var(--album-plum)}
.couple-album-cover figcaption{position:absolute;z-index:2;right:18px;bottom:16px;color:rgba(255,255,255,.72);font:italic 500 .6rem var(--serif);writing-mode:vertical-rl}
.couple-album-cover figcaption a{color:inherit}
.couple-album-cover>.couple-portal-bloom{right:-95px;bottom:-34px;width:310px;color:#efd3dc;opacity:.46}
.couple-album-tabs{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(6,1fr);border-right:1px solid rgba(77,37,63,.14);background:#f1e4e9;box-shadow:inset 3px 0 #7a4564}
.couple-album-tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:90px;padding:14px 10px;border-bottom:1px solid rgba(77,37,63,.12);color:var(--album-plum);font:500 clamp(.9rem,1.35vw,1.08rem) var(--serif);text-decoration:none;transition:background-color .25s,color .25s,transform .25s}
.couple-album-tabs a:last-child{border-bottom:0}
.couple-album-tabs a svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.couple-album-tabs a:hover{background:#f8eff2;transform:translateX(3px)}
.couple-album-tabs a[aria-current="location"]{background:var(--album-plum);color:var(--white)}
.couple-album-page{position:relative;display:grid;grid-template-rows:auto 1fr auto;min-width:0;padding:54px clamp(30px,4vw,62px) 40px;color:var(--ink);scroll-margin-top:105px}
.couple-album-page::after{content:"";position:absolute;top:-130px;right:-105px;width:330px;height:330px;border:1px solid rgba(166,107,131,.24);border-radius:50%;pointer-events:none}
.couple-album-page-head{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;padding-bottom:28px;border-bottom:1px solid rgba(77,37,63,.21)}
.couple-album-page-head h2{margin:0;color:var(--album-plum);font-size:clamp(4.5rem,7vw,6rem);line-height:.72}
.couple-album-page-head>div:first-child>span{display:block;margin-top:22px;color:#5e4c56;font:italic 500 clamp(1.05rem,1.7vw,1.35rem) var(--serif)}
.couple-album-progress{min-width:168px;text-align:right}
.couple-album-progress strong,.couple-album-progress span{display:block}
.couple-album-progress strong{color:var(--album-plum);font:500 2.75rem/1 var(--serif);font-variant-numeric:tabular-nums}
.couple-album-progress strong small{font-size:1.25rem}
.couple-album-progress span{margin-top:6px;color:var(--muted);font-size:.68rem}
.couple-album-progress progress{width:100%;height:6px;margin-top:17px;accent-color:var(--album-plum)}
.couple-album-next{padding-top:28px}
.couple-album-next>header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:13px}
.couple-album-next h3{margin:0;color:var(--ink);font-size:clamp(1.9rem,3vw,2.55rem)}
.couple-album-next ol{margin:0 0 23px;padding:0;border-top:1px solid rgba(77,37,63,.16);list-style:none}
.couple-album-next li{display:grid;grid-template-columns:34px minmax(0,1fr) 24px;gap:16px;align-items:center;min-height:76px;padding:13px 0;border-bottom:1px solid rgba(77,37,63,.16)}
.couple-album-next li>span{width:26px;height:26px;border:1px solid var(--album-rose);border-radius:50%}
.couple-album-next li strong,.couple-album-next li small{display:block}
.couple-album-next li strong{color:var(--ink);font:500 clamp(1.05rem,1.8vw,1.35rem) var(--serif)}
.couple-album-next li small{margin-top:4px;color:var(--muted);font-size:.65rem;line-height:1.45}
.couple-album-next li>svg{width:22px;fill:none;stroke:var(--album-plum);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.couple-album-next>.button{min-width:210px}
.couple-album-summaries{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:32px;border-top:1px solid rgba(77,37,63,.18)}
.couple-album-summaries a{display:grid;grid-template-columns:1fr auto;gap:4px 22px;min-height:112px;padding:22px 28px 18px 0;color:var(--ink);text-decoration:none}
.couple-album-summaries a+a{padding-left:28px;border-left:1px solid rgba(77,37,63,.18)}
.couple-album-summaries span{color:var(--album-plum);font-size:.65rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.couple-album-summaries strong{grid-row:1/3;grid-column:2;color:var(--album-plum);font:500 2.4rem/1 var(--serif)}
.couple-album-summaries small{color:var(--muted);font-size:.66rem}
.couple-album-summaries a:hover strong{color:var(--album-rose)}
.couple-dashboard-canvas{margin-top:70px}
.couple-dashboard-kicker{margin:0 0 9px!important;color:var(--album-plum)!important;font-size:.62rem!important;font-weight:750;letter-spacing:.16em;text-transform:uppercase}
.couple-dashboard-heading h2{max-width:18ch}
.couple-dashboard-tools{display:block}
.couple-dashboard-tools .couple-tool-progress{border-top:0}
/* Keep every chapter readable before it enters the viewport; motion changes position, never availability. */
.couple-portal.is-motion-ready [data-couple-reveal]{opacity:1;filter:none;clip-path:none}

@keyframes couple-album-cover-arrive{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes couple-album-page-arrive{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.couple-album-cover{animation:couple-album-cover-arrive .82s cubic-bezier(.16,1,.3,1) both}.couple-album-page{animation:couple-album-page-arrive .72s .18s cubic-bezier(.16,1,.3,1) both}.couple-album-tabs a{animation:couple-album-page-arrive .5s cubic-bezier(.16,1,.3,1) both}.couple-album-tabs a:nth-child(2){animation-delay:.08s}.couple-album-tabs a:nth-child(3){animation-delay:.14s}.couple-album-tabs a:nth-child(4){animation-delay:.2s}.couple-album-tabs a:nth-child(5){animation-delay:.26s}}

@media(max-width:980px){.couple-album,.couple-album.couple-portal-welcome{grid-template-columns:minmax(240px,30%) 104px minmax(0,1fr)}.couple-album-cover-copy{padding-inline:28px}.couple-album-page{padding-inline:30px}.couple-album-page-head{grid-template-columns:1fr}.couple-album-progress{text-align:left}.couple-album-progress progress{max-width:240px}.couple-album-summaries{grid-template-columns:1fr}.couple-album-summaries a+a{padding-left:0;border-left:0;border-top:1px solid rgba(77,37,63,.18)}}
@media(max-width:760px){.couple-portal{padding-top:10px}.couple-album,.couple-album.couple-portal-welcome{display:block;min-height:0}.couple-album-cover{min-height:330px}.couple-album-cover::after{background:linear-gradient(90deg,rgba(30,17,25,.74),rgba(30,17,25,.16))}.couple-album-cover>img{object-position:center 43%}.couple-album-cover-copy{min-height:330px;padding:34px 24px}.couple-album-cover h1{font-size:3.7rem}.couple-album-names{margin-top:auto}.couple-album-cover .couple-portal-head-actions{grid-template-columns:1fr 1fr;max-width:420px;margin-top:20px}.couple-album-cover figcaption{writing-mode:initial}.couple-album-tabs{display:grid;grid-template-columns:repeat(6,minmax(92px,1fr));grid-template-rows:none;overflow-x:auto;border-right:0;border-bottom:1px solid rgba(77,37,63,.14);box-shadow:inset 0 3px #7a4564;scrollbar-width:thin}.couple-album-tabs a{min-height:84px;border-right:1px solid rgba(77,37,63,.12);border-bottom:0;font-size:.82rem}.couple-album-tabs a:hover{transform:translateY(-2px)}.couple-album-page{padding:42px 24px 30px}.couple-album-page-head h2{font-size:4.5rem}.couple-album-next>header{align-items:flex-end}.couple-album-next li{grid-template-columns:30px minmax(0,1fr) 20px}.couple-album-next>.button{width:100%}.couple-album-summaries a{padding-right:0}.couple-dashboard-canvas{margin-top:44px}}
@media(max-width:480px){.couple-album-cover{min-height:360px}.couple-album-cover-copy{min-height:360px}.couple-album-cover .couple-portal-head-actions{grid-template-columns:1fr}.couple-album-page-head{gap:22px}.couple-album-page-head h2{font-size:4rem}.couple-album-next>header{display:block}.couple-album-next>header .text-link{display:inline-block;margin-top:9px}.couple-album-next li small{font-size:.62rem}.couple-album-summaries strong{font-size:2rem}}

/* The album index behaves as a real chapter switcher: one cover, one tab row, one visible workspace. */
.couple-album,.couple-album.couple-portal-welcome{grid-template-columns:minmax(0,1fr);min-height:0;overflow:hidden}
.couple-album-cover{min-height:360px}
.couple-album-cover::after{background:linear-gradient(90deg,rgba(30,17,25,.82) 0%,rgba(30,17,25,.48) 48%,rgba(30,17,25,.14) 100%)}
.couple-album-cover>img{object-position:center 42%}
.couple-album-cover-copy{min-height:360px;padding:38px clamp(28px,5vw,64px) 34px}
.couple-album-cover h1{margin:0;font-size:clamp(3.9rem,6vw,5.7rem);line-height:.88}
.couple-album-names{max-width:520px;margin:auto 0 0}
.couple-album-cover .couple-portal-head-actions{grid-template-columns:repeat(2,minmax(0,190px));max-width:400px;margin-top:22px}
.couple-album-cover figcaption{writing-mode:initial}
.couple-album-tabs{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:none;border-right:0;border-bottom:1px solid rgba(77,37,63,.14);box-shadow:inset 0 3px #7a4564}
.couple-album-tabs a{min-height:96px;border-right:1px solid rgba(77,37,63,.12);border-bottom:0;font-size:1rem}
.couple-album-tabs a:last-child{border-right:0}
.couple-album-tabs a:hover{transform:translateY(-2px)}
.couple-album-tabs a[aria-selected="true"]{background:var(--album-plum);color:var(--white)}
.couple-album-page{padding:52px clamp(30px,6vw,76px) 46px;scroll-margin-top:96px}
.couple-album-page-head h2{font-size:clamp(4.4rem,7vw,6rem)}
.couple-dashboard-canvas{margin-top:30px;padding-top:44px}
.couple-dashboard-overview{margin:0}
.couple-meetings-stage{margin:30px 0 0}
[data-couple-panel][hidden],[data-couple-panel-container][hidden]{display:none!important}

@media(max-width:980px){.couple-album,.couple-album.couple-portal-welcome{grid-template-columns:minmax(0,1fr)}.couple-album-page-head{grid-template-columns:minmax(0,1fr) auto}.couple-album-progress{text-align:right}}
@media(max-width:760px){.couple-album-cover .couple-portal-head-actions{grid-template-columns:1fr 1fr}.couple-album-tabs{display:grid}.couple-album-tabs a{justify-content:center}.couple-dashboard-canvas{margin-top:22px;padding-top:34px}.couple-meetings-stage{margin-top:22px}}
@media(max-width:480px){.couple-album-cover .couple-portal-head-actions{grid-template-columns:1fr}.couple-album-tabs a{min-height:82px;font-size:.82rem}.couple-album-page-head{grid-template-columns:1fr}.couple-album-progress{text-align:left}}

/* Account maintenance is one quiet utility drawer, separated from the active wedding chapter. */
.couple-account-hub.couple-account-settings{margin:42px 0 0;padding:0;border:0;border-top:1px solid rgba(77,37,63,.2);background:transparent;color:var(--ink)}
.couple-account-hub>summary{display:grid;grid-template-columns:34px minmax(0,1fr) 14px;gap:14px;align-items:center;width:100%;min-height:72px;padding:12px 10px;color:var(--album-plum);font:400 1rem/1.2 var(--sans);list-style:none;cursor:pointer}
.couple-account-hub>summary::-webkit-details-marker{display:none}
.couple-account-hub>summary>svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.couple-account-hub>summary>span,.couple-account-hub>summary strong,.couple-account-hub>summary small{display:block}
.couple-account-hub>summary strong{font:500 1.32rem/1.1 var(--serif)}
.couple-account-hub>summary small{margin-top:3px;color:var(--muted);font-size:.68rem}
.couple-account-hub>summary::after{grid-column:3;width:9px;height:9px;margin:0;border-right:1px solid currentColor;border-bottom:1px solid currentColor}
.couple-account-hub>.couple-account-hub-inner{display:block;padding:28px clamp(20px,4vw,48px) 42px;border-top:1px solid rgba(77,37,63,.16);border-bottom:1px solid rgba(77,37,63,.16);background:#f7eef1}
.couple-account-hub .couple-profile-settings{margin:0;padding:0;border:0;background:rgba(255,253,249,.78)}
.couple-account-hub .couple-profile-settings>summary{padding:22px clamp(20px,3vw,34px);font-size:1.55rem}
.couple-account-hub .couple-profile-settings-inner{gap:44px;padding:34px clamp(20px,3vw,34px) 38px}
.couple-account-settings-panel{margin-top:28px;padding:32px clamp(20px,3vw,34px) 14px;border-top:1px solid rgba(77,37,63,.2)}
.couple-account-settings-panel>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:40px;align-items:end;padding-bottom:25px}
.couple-account-settings-panel>header h2{margin:0;font:500 clamp(2rem,3vw,2.7rem)/1 var(--serif)}
.couple-account-settings-panel>header p{max-width:48ch;margin:0;color:var(--muted);font-size:.75rem;line-height:1.55}
.couple-account-settings-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px;border-top:1px solid var(--rose)}
.couple-account-settings-actions>section{min-width:0;padding:24px 0 26px;border-bottom:1px solid rgba(77,37,63,.15)}
.couple-account-settings-actions h3{margin:0 0 8px;font:500 1.35rem/1.15 var(--serif)}
.couple-account-settings-actions p{max-width:58ch;margin:0;color:var(--muted);font-size:.7rem;line-height:1.55}
.couple-account-settings-actions .text-link{display:inline-block;margin-top:13px}

@media(prefers-reduced-motion:no-preference){.couple-account-hub[open]>.couple-account-hub-inner{animation:couple-profile-unfold .38s cubic-bezier(.16,1,.3,1) both}}
@media(max-width:760px){.couple-account-hub.couple-account-settings{margin-top:28px}.couple-account-hub>.couple-account-hub-inner{padding:18px 12px 30px}.couple-account-hub .couple-profile-settings-inner{gap:28px}.couple-account-settings-panel>header{grid-template-columns:1fr;gap:12px}.couple-account-settings-actions{grid-template-columns:1fr;column-gap:0}}
@media(max-width:480px){.couple-account-hub>summary{padding-inline:4px}.couple-account-hub .couple-profile-settings>summary{font-size:1.35rem}.couple-account-hub .couple-profile-settings-inner{padding-inline:18px}.couple-account-hub .couple-profile-form{margin-inline:-18px}.couple-account-settings-panel{padding-inline:18px}}

/* The private room plan: a large editable field without replacing the accessible guest/table ledger. */
.wedding-room-planner{margin-top:82px;padding:52px clamp(24px,5vw,64px) 62px;background:#f4e5ea;overflow:hidden}
.wedding-room-head{display:flex;align-items:end;justify-content:space-between;gap:36px;padding-bottom:27px;border-bottom:1px solid rgba(88,45,72,.27)}
.wedding-room-head h2{max-width:12ch;margin:0;font:500 clamp(2.8rem,5vw,4.65rem)/.94 var(--serif);letter-spacing:-.025em}
.wedding-room-head p{max-width:65ch;margin:18px 0 0;color:#69525f;line-height:1.65}
.wedding-room-legend{display:flex;align-items:center;gap:10px;flex:none;color:var(--plum);font-size:.78rem;font-weight:750}
.wedding-room-legend i{width:18px;height:18px;border:1px solid var(--plum);border-radius:50%;background:#fff8fa;box-shadow:0 5px 12px rgba(70,34,55,.12)}
.wedding-room-note{max-width:72ch;margin:22px 0 28px;color:#69525f;font-size:.8rem}
.wedding-room-mobile-hint{display:none}
.wedding-room-stage-scroll{max-width:100%;overflow:auto;overscroll-behavior:contain;scrollbar-color:#a66b83 #ead8de;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.wedding-room-stage{position:relative;width:max(100%,1120px);min-height:672px;aspect-ratio:5/3;border:1px solid rgba(88,45,72,.28);background-color:#fffaf8;background-image:linear-gradient(rgba(184,133,143,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(184,133,143,.11) 1px,transparent 1px);background-size:56px 56px;box-shadow:0 24px 70px rgba(73,37,58,.12);overflow:hidden;isolation:isolate}
.wedding-room-stage:before{content:"";position:absolute;inset:18px;border:1px solid rgba(184,133,143,.23);pointer-events:none}
[data-room-movable]{position:absolute;left:clamp(80px,calc(var(--room-x) * .1%),calc(100% - 80px));top:clamp(80px,calc(var(--room-y) * .1%),calc(100% - 80px));transform:translate(-50%,-50%);transition:left .42s cubic-bezier(.16,1,.3,1),top .42s cubic-bezier(.16,1,.3,1),filter .25s ease}
[data-room-movable].is-moving{z-index:12;filter:drop-shadow(0 18px 18px rgba(67,32,52,.24));transition:none}
.wedding-room-landmark{z-index:1;width:100px;min-height:70px}
.wedding-room-landmark-dance-floor{width:138px;min-height:138px}
.wedding-room-landmark-handle{display:flex;width:100px;height:70px;padding:10px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px dashed #b38396;border-radius:12px;background:rgba(244,229,234,.82);color:#83596c;cursor:grab;touch-action:none;user-select:none}
.wedding-room-landmark-dance-floor .wedding-room-landmark-handle{width:138px;height:138px;border-radius:50%;background:rgba(244,229,234,.72)}
.wedding-room-landmark-handle:active{cursor:grabbing}
.wedding-room-landmark-handle svg{width:33px;height:33px;fill:none;stroke:currentColor;stroke-width:1.25}
.wedding-room-landmark-dance-floor svg{width:46px;height:46px}
.wedding-room-landmark-handle strong{font:.62rem/1.15 var(--sans);letter-spacing:.07em;text-transform:uppercase}
.wedding-room-table{z-index:3;width:82px;min-height:82px}
.wedding-room-table-handle{display:flex;width:82px;height:82px;padding:12px 8px;flex-direction:column;align-items:center;justify-content:center;border:1px solid #9a667d;border-radius:50%;background:#fff8fa;color:var(--plum);box-shadow:0 13px 28px rgba(79,39,61,.13);cursor:grab;touch-action:none;user-select:none}
.wedding-room-table-handle:active{cursor:grabbing}
.wedding-room-table-handle:before{content:"";position:absolute;inset:7px;border:1px solid rgba(154,102,125,.34);border-radius:50%;pointer-events:none}
.wedding-room-table-handle svg{position:absolute;top:6px;right:6px;width:14px;fill:none;stroke:currentColor;stroke-width:1.25;opacity:.68}
.wedding-room-table-handle strong{position:relative;max-width:62px;font:500 .78rem/.96 var(--serif);overflow-wrap:anywhere}
.wedding-room-table-handle small{position:relative;margin-top:4px;font:750 .5rem/1 var(--sans)}
.wedding-room-table.is-head{width:130px;min-height:66px}
.wedding-room-table.is-head .wedding-room-table-handle{width:130px;height:66px;border-radius:12px;background:#f8e9ee}
.wedding-room-table.is-head .wedding-room-table-handle:before{border-radius:7px}
.wedding-room-table.is-head .wedding-room-table-handle strong{max-width:104px;font-size:.88rem}
.wedding-room-move-actions{position:absolute;top:calc(100% + 6px);left:50%;display:grid;width:150px;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px);gap:3px;justify-content:center;transform:translateX(-50%);opacity:0;transition:opacity .18s ease}
[data-room-movable]:focus-within .wedding-room-move-actions,[data-room-movable]:hover .wedding-room-move-actions{opacity:1}
.wedding-room-move-actions form{display:contents}
.wedding-room-move-actions form:nth-child(1){grid-column:2}.wedding-room-move-actions form:nth-child(2){grid-column:1;grid-row:2}.wedding-room-move-actions form:nth-child(3){grid-column:3;grid-row:2}.wedding-room-move-actions form:nth-child(4){grid-column:2;grid-row:2}
.wedding-room-move-actions button{display:grid;width:48px;height:48px;padding:0;place-items:center;border:1px solid #caa6b5;border-radius:50%;background:#fffdf9;color:var(--plum);cursor:pointer}
.wedding-room-move-actions svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.7}
.wedding-room-stage[data-room-layout-ready="true"] .wedding-room-move-actions{display:none}
.wedding-room-table-link{position:absolute;top:91px;left:50%;white-space:nowrap;color:var(--plum);font-size:.65rem;font-weight:750;transform:translateX(-50%);opacity:0;transition:opacity .18s ease}
.wedding-room-table.is-head .wedding-room-table-link{top:75px}
.wedding-room-table:focus-within .wedding-room-table-link,.wedding-room-table:hover .wedding-room-table-link{opacity:1}
.wedding-room-status{position:absolute;right:27px;bottom:18px;z-index:9;max-width:310px;margin:0;color:var(--sage);font-size:.72rem;text-align:right}
.wedding-room-status.is-error{color:#913d52}
.wedding-room-stage :focus-visible{outline:3px solid var(--focus-rose);outline-offset:4px}
@keyframes wedding-room-table-arrive{from{opacity:.01;transform:translate(-50%,-44%) scale(.88);filter:blur(4px)}to{opacity:1;transform:translate(-50%,-50%) scale(1);filter:none}}
@media(prefers-reduced-motion:no-preference){[data-room-movable]{animation:wedding-room-table-arrive .62s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--room-x) * .18ms)}}
@media(max-width:760px){.wedding-room-planner{margin-top:58px;padding:38px 14px 44px}.wedding-room-head{display:block}.wedding-room-legend{margin-top:20px}.wedding-room-note{margin:20px 7px 10px}.wedding-room-mobile-hint{display:block;margin:0 7px 18px;color:#69525f;font-size:.75rem;line-height:1.55}.wedding-room-stage-scroll{margin-inline:-14px;padding:0 14px 10px}.wedding-room-stage{width:900px;min-height:0;aspect-ratio:16/9}.wedding-room-table{width:68px;min-height:68px}.wedding-room-table-handle{width:68px;height:68px;padding:9px 6px}.wedding-room-table-handle:before{inset:4px}.wedding-room-table-handle svg{top:5px;right:5px;width:12px}.wedding-room-table-handle strong{max-width:52px;font-size:.68rem;line-height:.94}.wedding-room-table-handle small{margin-top:3px;font-size:.46rem}.wedding-room-table.is-head{width:108px;min-height:58px}.wedding-room-table.is-head .wedding-room-table-handle{width:108px;height:58px}.wedding-room-table.is-head .wedding-room-table-handle strong{max-width:86px;font-size:.76rem}.wedding-room-table-link{top:76px}.wedding-room-table.is-head .wedding-room-table-link{top:66px}.wedding-room-landmark{width:82px;min-height:58px}.wedding-room-landmark-handle{width:82px;height:58px;padding:7px}.wedding-room-landmark-handle svg{width:25px;height:25px}.wedding-room-landmark-handle strong{font-size:.53rem}.wedding-room-landmark-dance-floor{width:118px;min-height:118px}.wedding-room-landmark-dance-floor .wedding-room-landmark-handle{width:118px;height:118px}.wedding-room-landmark-dance-floor svg{width:39px;height:39px}}
@media(max-width:420px){.wedding-room-head h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){[data-room-movable],.wedding-room-move-actions,.wedding-room-table-link{transition:none}}

/* Da, facem! GTM foundation: one clear promise, one activation path, the established folio world. */
.brand{font-size:1.75rem;line-height:.78;white-space:nowrap}.brand small{font-size:.5rem;letter-spacing:.15em}.home-video-message{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:white;text-shadow:0 2px 24px rgba(20,12,17,.45)}.home-video-message .home-video-logo{position:static;justify-content:flex-start;gap:13px;margin-bottom:40px}.home-video-message .home-video-logo-mark{width:48px;height:55px;font-size:1.8rem}.home-video-message .home-video-logo-name{font-size:2.8rem}.home-video-message .home-video-logo-name small{margin-top:14px;font-size:.55rem}.home-video-message h1{max-width:10ch;margin:0 0 24px;font-size:clamp(3.8rem,7.2vw,6.7rem);line-height:.88;text-wrap:balance}.home-video-message>p{max-width:54ch;margin:0 0 34px;color:#fff7f7;font-size:1.04rem}.home-video-actions,.gtm-planning-actions{display:flex;flex-wrap:wrap;gap:12px}.home-video-secondary{border:1px solid rgba(255,255,255,.75);background:rgba(41,29,37,.2);color:white}.home-video-secondary:hover{background:white;color:var(--plum)}.home-paths h2{max-width:none;margin:0 0 42px;text-align:center;font-size:clamp(2.7rem,5vw,4.8rem);text-wrap:balance}.story-primary-action{margin-top:34px}
.gtm-planning-hero{overflow:hidden;background:linear-gradient(112deg,var(--plum-dark) 0 51%,#ead6d5 51% 100%);color:white}.gtm-planning-hero-inner{display:grid;grid-template-columns:1fr .9fr;gap:8%;align-items:center;min-height:720px;padding-block:55px}.gtm-planning-hero .breadcrumbs{grid-column:1/-1;align-self:start;margin-bottom:0;color:#eadde2}.gtm-planning-copy h1{max-width:10ch;margin:0 0 28px}.gtm-planning-copy>p{max-width:55ch;margin-bottom:34px;color:#eadde2}.gtm-planning-preview{display:grid;grid-template-columns:1fr 1fr;background:var(--white);color:var(--ink);box-shadow:0 28px 70px rgba(41,29,37,.18)}.gtm-planning-preview>div{display:flex;min-height:210px;padding:28px;flex-direction:column;border-bottom:1px solid var(--line)}.gtm-planning-preview>div:nth-child(odd){border-right:1px solid var(--line)}.gtm-planning-preview>div:nth-last-child(-n+2){border-bottom:0}.gtm-planning-preview svg{width:38px;height:38px;margin-bottom:auto;fill:none;stroke:var(--rose);stroke-width:1.3}.gtm-planning-preview strong{font:500 2rem var(--serif)}.gtm-planning-preview span{color:var(--muted);font-size:.78rem}.gtm-planning-steps{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;padding-block:110px}.gtm-planning-steps h2{max-width:11ch}.gtm-planning-steps>div>p{max-width:48ch;color:var(--muted)}.gtm-planning-steps ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--rose)}.gtm-planning-steps li{display:grid;grid-template-columns:180px 1fr;gap:25px;padding:24px 0;border-bottom:1px solid var(--line)}.gtm-planning-steps span{color:var(--muted)}
@media(max-width:900px){.gtm-planning-hero{background:var(--plum-dark)}.gtm-planning-hero-inner{grid-template-columns:1fr;min-height:0;padding-block:48px 72px}.gtm-planning-preview{margin-top:26px}.gtm-planning-steps{grid-template-columns:1fr;gap:36px}.home-video-message h1{font-size:clamp(3.7rem,10vw,5.5rem)}}
@media(max-width:620px){.brand{font-size:1.45rem}.brand small{font-size:.44rem}.home-video-message{justify-content:flex-end;padding-bottom:58px}.home-video-message .home-video-logo{margin-bottom:28px}.home-video-message h1{font-size:3.65rem}.home-video-message>p{font-size:.93rem;line-height:1.55}.home-video-actions .button{width:100%}.home-paths h2{margin-bottom:28px;font-size:clamp(2.5rem,9vw,3.25rem)}.gtm-planning-copy h1{font-size:3.4rem}.gtm-planning-preview{grid-template-columns:1fr}.gtm-planning-preview>div{min-height:150px}.gtm-planning-preview>div:nth-child(odd){border-right:0}.gtm-planning-preview>div:nth-last-child(2){border-bottom:1px solid var(--line)}.gtm-planning-steps{padding-block:72px}.gtm-planning-steps li{grid-template-columns:1fr;gap:4px}}
.couple-activation{display:grid;grid-template-columns:1fr 1.15fr auto;gap:38px;align-items:center;margin:34px 0;padding:30px 34px;background:var(--rose-soft);box-shadow:0 18px 45px rgba(88,45,72,.1)}.couple-activation>div>span{color:var(--plum);font-size:.68rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.couple-activation h2{margin:6px 0 9px;font-size:2.25rem}.couple-activation p{max-width:48ch;margin:0;color:var(--muted);font-size:.82rem}.couple-activation ol{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin:0;padding:0;list-style:none}.couple-activation li{position:relative;padding-left:24px;color:var(--muted);font-size:.78rem}.couple-activation li:before{content:"";position:absolute;left:0;top:.36em;width:12px;height:12px;border:1px solid var(--rose);border-radius:50%}.couple-activation li.is-complete{color:var(--plum);font-weight:700}.couple-activation li.is-complete:before{border-color:var(--plum);background:var(--plum);box-shadow:inset 0 0 0 3px var(--rose-soft)}.couple-activation-actions{justify-self:end}
@media(max-width:900px){.couple-activation{grid-template-columns:1fr}.couple-activation-actions{justify-self:start}}
@media(max-width:620px){.couple-activation{padding:26px 22px}.couple-activation ol{grid-template-columns:1fr}}
.home-video-message h1{max-width:none}.home-video-message h1 span{display:block;white-space:nowrap}
@media(max-width:620px){.home-video-message h1{font-size:clamp(2.85rem,13vw,3.55rem)}}

/* About Da, facem!: the founder story reads like an open editorial letter, not a product brochure. */
.about-page{overflow:hidden}.about-hero{padding:55px 0 92px;border-bottom:1px solid var(--line)}.about-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:90px;align-items:end}.about-hero h1{max-width:12ch;margin:0;font-size:clamp(3.5rem,7vw,6rem)}.about-hero-copy{padding-bottom:8px}.about-hero-copy p{max-width:48ch;color:var(--muted);font-size:1.08rem}.about-hero-copy p:last-child{margin:26px 0 0;color:var(--plum);font-family:var(--serif);font-size:1.45rem;font-style:italic;line-height:1.3}.about-origin{padding-block:112px}.about-origin-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;padding-bottom:34px;border-bottom:1px solid var(--rose)}.about-origin-heading h2{margin:0}.about-origin-intro{margin:0;color:var(--muted);font-size:1rem}.about-origin-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.68fr);gap:100px;padding-top:55px}.about-origin-copy{max-width:66ch}.about-origin-copy p{color:var(--muted);font-size:1.02rem;line-height:1.8}.about-origin-copy p+p{margin-top:24px}.about-origin-story blockquote{align-self:center;margin:0;padding:46px 0;border-top:1px solid var(--rose);border-bottom:1px solid var(--rose)}.about-origin-story blockquote p{margin:0;color:var(--plum);font:italic 500 clamp(1.8rem,3.2vw,2.75rem)/1.12 var(--serif)}.about-purpose{padding-block:105px;background:var(--plum);color:white}.about-purpose-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:110px}.about-purpose-copy{align-self:center}.about-purpose-copy h2{max-width:9ch;margin-bottom:30px;font-size:clamp(2.8rem,5vw,4.3rem)}.about-purpose-copy p{max-width:46ch;color:#eadfe4}.about-purpose-list{border-top:1px solid rgba(255,255,255,.34)}.about-purpose-list article{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1fr);gap:35px;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.26)}.about-purpose-list h3{margin:0;font-size:1.65rem}.about-purpose-list p{margin:0;color:#eadfe4;font-size:.9rem}.about-trust{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:105px;padding-block:112px;border-bottom:1px solid var(--line)}.about-trust h2{max-width:11ch;margin:0}.about-trust p{max-width:62ch;color:var(--muted);font-size:1.02rem;line-height:1.8}.about-trust p+p{margin-top:24px}.about-closing{display:flex;align-items:center;justify-content:space-between;gap:70px;padding-block:92px}.about-closing h2{margin-bottom:18px}.about-closing p{margin:0;color:var(--muted)}.about-closing-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.about-secondary-action{border:1px solid var(--rose);color:var(--plum)}.about-secondary-action:hover{border-color:var(--plum);background:var(--white)}
@media(max-width:900px){.about-hero-grid,.about-origin-story,.about-purpose-grid,.about-trust{grid-template-columns:1fr}.about-hero-grid{gap:38px}.about-origin-story,.about-purpose-grid,.about-trust{gap:55px}.about-origin-story blockquote{max-width:620px}.about-purpose-copy h2{max-width:none}.about-purpose-list article{grid-template-columns:minmax(180px,.65fr) minmax(0,1fr)}}
@media(max-width:620px){.about-hero{padding:30px 0 65px}.about-hero .breadcrumbs{margin-bottom:50px}.about-hero h1{font-size:clamp(3rem,14vw,4.25rem)}.about-hero-copy p{font-size:1rem}.about-origin{padding-block:72px}.about-origin-heading{grid-template-columns:1fr;gap:14px;padding-bottom:25px}.about-origin-story{padding-top:38px;gap:42px}.about-origin-copy p{font-size:.96rem}.about-origin-story blockquote{padding:34px 0}.about-purpose{padding-block:72px}.about-purpose-grid{gap:42px}.about-purpose-list article{grid-template-columns:1fr;gap:8px;padding:23px 0}.about-trust{gap:32px;padding-block:72px}.about-closing{display:block;padding-block:70px}.about-closing-actions{justify-content:flex-start;margin-top:35px}.about-closing-actions .button{width:100%}}

/* Private guest media album: a quiet keepsake box inside the operational couple workspace. */
.couple-portal-welcome~.couple-portal-index{grid-template-columns:repeat(6,1fr)}
.couple-media-preview{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:25px;margin:78px clamp(24px,5vw,64px) 0;padding:35px 40px;border:1px solid rgba(108,59,87,.16);background:#f3e4e9;box-shadow:0 20px 54px rgba(84,42,62,.09)}
.couple-media-preview-mark{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:#fffdf9;color:var(--plum)}.couple-media-preview-mark svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.couple-media-preview h2{margin:0;font-size:clamp(2rem,3vw,2.8rem)}.couple-media-preview p{margin:7px 0 0;color:#715d68}
.wedding-media-owner{padding-block:40px 90px}.wedding-media-owner .breadcrumbs{margin-bottom:30px}
.gtm-planning-preview>div:nth-child(4){border-bottom:1px solid var(--line)}.gtm-planning-preview>div:last-child{grid-column:1/-1;min-height:165px;border-right:0;border-bottom:0}
.wedding-media-setup{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:610px;background:#6c3b57;color:#fff;box-shadow:0 28px 75px rgba(64,32,54,.16)}
.wedding-media-setup-copy{display:flex;flex-direction:column;justify-content:center;padding:70px clamp(42px,6vw,78px)}.wedding-media-setup-copy>svg{width:68px;height:68px;margin-bottom:30px;fill:none;stroke:#efccd6;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.wedding-media-setup-copy h1{max-width:11ch;margin:0;color:#fff;font-size:clamp(3.5rem,6vw,5.6rem);line-height:.88;text-wrap:balance}.wedding-media-setup-copy p{max-width:54ch;margin:30px 0 0;color:#f0e3e7;font-size:1.05rem;line-height:1.65}.wedding-media-setup-copy ul{display:grid;gap:10px;margin:30px 0 0;padding:24px 0 0;border-top:1px solid rgba(255,255,255,.25);list-style:none}.wedding-media-setup-copy li::before{content:"";display:inline-block;width:7px;height:7px;margin-right:12px;border-radius:50%;background:#e8bcc8;vertical-align:2px}.wedding-media-setup-form{align-self:center;margin:36px 36px 36px 0;padding:42px;background:#fffdf9;color:var(--ink)}.wedding-media-setup-form h2{margin:0 0 28px;font-size:2.7rem}.wedding-media-setup-form form{display:grid;gap:22px}
.wedding-media-owner-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);min-height:550px;background:#6c3b57;color:#fff;box-shadow:0 28px 75px rgba(64,32,54,.16)}.wedding-media-owner-copy{display:flex;flex-direction:column;justify-content:center;padding:68px clamp(40px,6vw,78px)}.wedding-media-status{display:inline-flex;align-items:center;align-self:flex-start;gap:9px;padding:8px 13px;border:1px solid rgba(255,255,255,.35);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.wedding-media-status>span{width:8px;height:8px;border-radius:50%;background:#efccd6}.wedding-media-status.is-open>span{background:#a9d3b0}.wedding-media-owner-copy h1{max-width:12ch;margin:28px 0 0;color:#fff;font-size:clamp(3.7rem,6vw,5.7rem);line-height:.88;text-wrap:balance}.wedding-media-owner-copy>p{max-width:58ch;margin:25px 0 0;color:#f0e3e7;font-size:1.05rem;line-height:1.65;white-space:pre-line}
.wedding-media-share{max-width:730px;margin-top:42px;padding-top:24px;border-top:1px solid rgba(255,255,255,.28)}.wedding-media-share label{display:block;margin-bottom:9px;color:#f6ebee;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.wedding-media-share>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.wedding-media-share input{min-width:0;border:1px solid rgba(255,255,255,.46);background:#fffdf9;color:var(--ink);font-size:.88rem}.wedding-media-share .button{border-color:#fff;background:#fff;color:var(--plum)}.wedding-media-share .button:hover{background:#f3e4e9}.wedding-media-share>p{margin:10px 0 0;color:#dbcbd2;font-size:.77rem}
.wedding-media-qr{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;padding:42px 36px;background:#f3e4e9;color:var(--ink);text-align:center}.wedding-media-qr>div{width:min(270px,100%);padding:18px;background:#fff;box-shadow:0 16px 44px rgba(84,42,62,.12)}.wedding-media-qr svg{display:block;width:100%;height:auto;fill:#512e45}.wedding-media-qr figcaption{display:grid;gap:6px;margin-top:23px}.wedding-media-qr figcaption strong{font:500 1.25rem var(--serif)}.wedding-media-qr figcaption span{color:#715d68;font-size:.82rem}.wedding-media-qr>a{margin-top:18px}
.wedding-media-controls{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1fr) minmax(260px,.72fr);gap:22px;margin-top:34px;padding:32px 38px;border:1px solid var(--line);background:#fffdf9}.wedding-media-controls>div h2{margin:0;font-size:2.45rem}.wedding-media-controls>div p,.wedding-media-controls details>p{color:var(--muted);line-height:1.55}.wedding-media-controls details{padding-top:15px;border-top:1px solid var(--rose)}.wedding-media-controls summary{cursor:pointer;font-weight:700;color:var(--plum);list-style-position:inside}.wedding-media-controls details[open] summary{margin-bottom:18px}.wedding-media-controls form{display:grid;gap:17px}.wedding-media-toggle{display:flex;gap:12px;align-items:flex-start}.wedding-media-toggle input{width:20px;height:20px;margin-top:2px;accent-color:var(--plum)}.wedding-media-toggle span{display:grid;gap:3px}.wedding-media-toggle small{color:var(--muted);line-height:1.4}
.wedding-media-gallery{margin-top:68px}.wedding-media-gallery>header{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:24px;border-bottom:1px solid var(--rose)}.wedding-media-gallery>header h2{margin:0;font-size:clamp(3rem,5vw,4.7rem)}.wedding-media-gallery>header p{margin:8px 0 0;color:var(--muted);font-variant-numeric:tabular-nums}.wedding-media-gallery>header>span{color:var(--muted);font-size:.82rem}.wedding-media-contributions{display:grid;gap:54px;margin-top:34px}.wedding-media-contribution{padding-bottom:52px;border-bottom:1px solid var(--line)}.wedding-media-contribution>header{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:19px}.wedding-media-contribution h3{margin:0;font-size:2rem}.wedding-media-contribution time{display:block;margin-top:5px;color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}.wedding-media-delete{border:0;background:transparent;color:#8d4053;cursor:pointer}.wedding-media-note{max-width:70ch;margin:0 0 22px;color:#6b5661;font:italic 500 1.1rem/1.5 var(--serif)}
.wedding-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.wedding-media-grid figure{min-width:0;margin:0;background:#f5eceb}.wedding-media-grid img,.wedding-media-grid video{display:block;width:100%;height:260px;background:#2d2228;object-fit:cover}.wedding-media-grid figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;font-size:.76rem}.wedding-media-grid figcaption>span{display:flex;min-width:0;align-items:center;gap:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wedding-media-grid figcaption svg{flex:0 0 auto;width:18px;height:18px;fill:none;stroke:var(--plum);stroke-width:1.4}.wedding-media-empty{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:26px;margin-top:34px;padding:58px;background:#f3e4e9}.wedding-media-empty svg{width:74px;height:74px;fill:none;stroke:var(--plum);stroke-width:1.2}.wedding-media-empty h3{margin:0;font-size:2.3rem}.wedding-media-empty p{max-width:62ch;margin:8px 0 0;color:var(--muted)}
.wedding-media-guest{min-height:calc(100vh - 90px);padding:58px 20px 90px;background:#f3e4e9}.wedding-media-guest-shell{width:min(760px,100%);margin:0 auto}.wedding-media-guest-intro{text-align:center}.wedding-media-guest-flower{width:72px;height:72px;fill:none;stroke:#8d546d;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}.wedding-media-guest-brand{margin:18px 0 0;color:#6c3b57;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.wedding-media-guest-intro h1{max-width:13ch;margin:18px auto 0;font-size:clamp(3.2rem,8vw,5.5rem);line-height:.88;text-wrap:balance}.wedding-media-guest-intro>p:last-child{max-width:58ch;margin:24px auto 0;color:#715d68;font-size:1.03rem;line-height:1.65;white-space:pre-line}
.wedding-media-guest-form{margin-top:46px;padding:42px clamp(24px,6vw,56px);background:#fffdf9;box-shadow:0 25px 65px rgba(84,42,62,.12)}.wedding-media-guest-form>header{margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--line)}.wedding-media-guest-form h2{margin:0;font-size:2.8rem}.wedding-media-guest-form>header p{margin:7px 0 0;color:var(--muted)}.wedding-media-guest-form form{display:grid;gap:22px}.wedding-media-file-field input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wedding-media-file-field>label{display:flex;flex-direction:column;align-items:center;padding:34px 22px;border:1px dashed #b98598;background:#fbf4f5;color:var(--plum);cursor:pointer;text-align:center;transition:border-color .2s ease,background .2s ease}.wedding-media-file-field>label:hover{background:#f5e7eb}.wedding-media-file-field>label:has(+input:focus-visible){outline:3px solid rgba(108,59,87,.28);outline-offset:3px}.wedding-media-file-field svg{width:38px;height:38px;margin-bottom:12px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.wedding-media-file-field label span{margin-top:5px;color:var(--muted);font-size:.74rem}.wedding-media-file-field ol{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none}.wedding-media-file-field li{padding:9px 12px;background:#f5eceb;font-size:.78rem;overflow-wrap:anywhere}
.wedding-media-consent{display:flex;align-items:flex-start;gap:12px;color:#67535e;font-size:.83rem;line-height:1.48}.wedding-media-consent input{flex:0 0 auto;width:21px;height:21px;margin-top:1px;accent-color:var(--plum)}.wedding-media-guest-form input[type=submit]{justify-self:start;min-width:220px}.wedding-media-guest-form input[type=submit]:disabled{cursor:wait;opacity:.62}.wedding-media-privacy{display:flex;align-items:flex-start;justify-content:center;gap:10px;max-width:620px;margin:24px auto 0;color:#715d68;font-size:.78rem;line-height:1.5;text-align:left}.wedding-media-privacy svg{flex:0 0 auto;width:22px;height:22px;fill:none;stroke:var(--plum);stroke-width:1.4}.wedding-media-success{display:flex;align-items:flex-start;gap:14px;margin:35px 0 0;padding:20px 24px;border:1px solid #a7c7ae;background:#edf6ef;color:#315c3b}.wedding-media-success svg{flex:0 0 auto;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7}.wedding-media-success span{display:grid;gap:2px}.wedding-media-closed{margin-top:45px;padding:55px;background:#fffdf9;text-align:center;box-shadow:0 25px 65px rgba(84,42,62,.12)}.wedding-media-closed svg{width:60px;height:60px;fill:none;stroke:var(--plum);stroke-width:1.3}.wedding-media-closed h2{margin:22px 0 0;font-size:2.8rem}.wedding-media-closed p{max-width:52ch;margin:13px auto 0;color:var(--muted);line-height:1.6}
@media(max-width:1100px){.couple-portal-welcome~.couple-portal-index{grid-template-columns:repeat(3,1fr)}.wedding-media-setup{grid-template-columns:1fr}.wedding-media-setup-form{margin:0 30px 30px}.wedding-media-owner-hero{grid-template-columns:1fr}.wedding-media-qr{padding-block:50px}.wedding-media-controls{grid-template-columns:1fr 1fr}.wedding-media-controls>div{grid-column:1/-1}.wedding-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.gtm-planning-preview>div:last-child{grid-column:auto}.couple-portal-welcome~.couple-portal-index{grid-template-columns:repeat(2,1fr)}.couple-media-preview{grid-template-columns:auto 1fr;margin-inline:10px;padding:28px 24px}.couple-media-preview .button{grid-column:1/-1;width:100%}.wedding-media-owner{padding-top:25px}.wedding-media-setup-copy{padding:48px 28px}.wedding-media-setup-copy h1{font-size:3.5rem}.wedding-media-setup-form{margin:0;padding:32px 24px}.wedding-media-owner-copy{padding:48px 26px}.wedding-media-owner-copy h1{font-size:3.7rem}.wedding-media-share>div{grid-template-columns:1fr}.wedding-media-share .button{width:100%}.wedding-media-controls{grid-template-columns:1fr;padding:28px 24px}.wedding-media-controls>div{grid-column:auto}.wedding-media-gallery{margin-top:52px}.wedding-media-gallery>header{display:block}.wedding-media-gallery>header>span{display:block;margin-top:10px}.wedding-media-contribution>header{align-items:start}.wedding-media-grid{grid-template-columns:1fr}.wedding-media-grid img,.wedding-media-grid video{height:auto;max-height:440px}.wedding-media-empty{grid-template-columns:1fr;padding:38px 28px}.wedding-media-guest{padding:38px 14px 70px}.wedding-media-guest-intro h1{font-size:3.5rem}.wedding-media-guest-form{margin-top:35px;padding:32px 22px}.wedding-media-guest-form input[type=submit]{width:100%}.wedding-media-closed{padding:42px 25px}}

/* Couple portal template studio: real portal previews, never a second source of account data. */
.couple-template-gallery{padding-top:70px;padding-bottom:110px}
.couple-template-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:70px;align-items:end;padding-bottom:48px;border-bottom:1px solid var(--rose)}
.couple-template-intro h1{max-width:11ch;margin:24px 0 0;color:var(--ink);font-size:clamp(3.7rem,7vw,6rem);line-height:.88}
.couple-template-intro>p{max-width:48ch;margin:0 0 8px;color:var(--muted);font-size:1rem;line-height:1.75}
.couple-template-list{display:grid;gap:38px;margin-top:46px}
.couple-template-choice{display:grid;grid-template-columns:minmax(270px,.68fr) minmax(420px,1.32fr);min-height:440px;border:1px solid rgba(88,45,72,.2);background:var(--porcelain);box-shadow:0 22px 58px rgba(64,32,54,.09);overflow:hidden}
.couple-template-copy{align-self:center;padding:46px clamp(30px,4vw,58px)}
.couple-template-copy>span{display:block;color:var(--plum);font-size:.68rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.couple-template-copy h2{margin:14px 0 16px;color:var(--ink);font-size:clamp(2.7rem,4vw,4.25rem);line-height:.9}
.couple-template-copy p{max-width:49ch;margin:0;color:var(--muted);line-height:1.7}
.couple-template-copy ul{display:grid;gap:8px;margin:24px 0 30px;padding:0;list-style:none}
.couple-template-copy li{position:relative;padding-left:22px;color:#594a52;font-size:.78rem;line-height:1.55}
.couple-template-copy li::before{content:"";position:absolute;top:.6em;left:0;width:10px;border-top:1px solid var(--rose)}
.couple-template-miniature{position:relative;display:grid;min-height:440px;background:#f9f3ee;overflow:hidden}
.couple-template-miniature div{min-width:0}
.miniature-tabs{display:grid;background:#f1e4e9}
.miniature-tabs i{display:block;border-color:rgba(77,37,63,.16);border-style:solid}
.miniature-sheet{display:grid;align-content:center;gap:18px;padding:40px;background:#fffdf9}
.miniature-sheet b{display:block;width:46%;height:44px;border-bottom:1px solid var(--rose)}
.miniature-sheet span{display:block;height:48px;border-bottom:1px solid rgba(77,37,63,.18)}
.couple-template-choice-album .couple-template-miniature{grid-template-rows:180px 58px 1fr}
.couple-template-choice-album .miniature-tabs{grid-template-columns:repeat(4,1fr)}
.couple-template-choice-album .miniature-tabs i{border-width:0 1px 0 0}
.couple-template-choice-journal .couple-template-miniature{grid-template-columns:31% 18% 1fr}
.couple-template-choice-journal .miniature-tabs{grid-template-rows:repeat(4,1fr)}
.couple-template-choice-journal .miniature-tabs i{border-width:0 0 1px}
.couple-template-choice-agenda .couple-template-miniature{grid-template-rows:112px 48px 1fr}
.couple-template-choice-agenda .miniature-photo{background-position:center 38%}
.couple-template-choice-agenda .miniature-tabs{grid-template-columns:repeat(4,1fr);background:#faf5ef}
.couple-template-choice-agenda .miniature-tabs i{border-width:0 0 1px}
.couple-template-choice-essential .couple-template-miniature{grid-template-columns:22% 1fr;grid-template-rows:94px 1fr}
.couple-template-choice-essential .miniature-photo{grid-column:1/-1;background:linear-gradient(90deg,#f0dde4 0 56%,#6b3b56 56%)}
.couple-template-choice-essential .miniature-tabs{grid-row:2;grid-template-rows:repeat(4,1fr);background:#fffdf9}
.couple-template-choice-essential .miniature-tabs i{border-width:0 0 1px}
.couple-template-choice-essential .miniature-sheet{grid-row:2;padding-inline:52px}

.couple-template-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:13px 16px 13px 20px;border:1px solid rgba(88,45,72,.2);background:#fffdf9;box-shadow:0 12px 34px rgba(64,32,54,.07)}
.couple-template-preview-bar div,.couple-template-preview-bar span,.couple-template-preview-bar strong{display:block}
.couple-template-preview-bar span{color:var(--muted);font-size:.62rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.couple-template-preview-bar strong{margin-top:2px;color:var(--plum);font:500 1.35rem/1.1 var(--serif)}
.couple-template-preview-bar .button{min-height:44px}

/* Journal: a stable identity rail, a vertical index and one generous working sheet. */
.couple-portal-preview-journal .couple-album{grid-template-columns:minmax(260px,28%) 145px minmax(0,1fr);min-height:650px}
.couple-portal-preview-journal .couple-album-cover{min-height:650px}
.couple-portal-preview-journal .couple-album-cover-copy{min-height:650px;padding:48px 34px 38px}
.couple-portal-preview-journal .couple-album-cover::after{background:linear-gradient(180deg,rgba(30,17,25,.12),rgba(30,17,25,.82))}
.couple-portal-preview-journal .couple-album-cover h1{margin-top:18px;font-size:clamp(3.5rem,5vw,4.8rem)}
.couple-portal-preview-journal .couple-album-tabs{grid-template-columns:1fr;grid-template-rows:repeat(6,1fr);border-right:1px solid rgba(77,37,63,.14);border-bottom:0;box-shadow:none}
.couple-portal-preview-journal .couple-album-tabs a{min-height:80px;border-right:0;border-bottom:1px solid rgba(77,37,63,.12);font-size:.94rem}
.couple-portal-preview-journal .couple-album-tabs a:hover{transform:translateX(2px)}
.couple-portal-preview-journal .couple-album-page{padding:46px clamp(30px,4vw,56px) 38px}
.couple-portal-preview-journal .couple-album-page-head h2{font-size:clamp(4rem,6vw,5.5rem)}

/* Agenda: a shallow identity cover followed by a restrained index and linear workspace. */
.couple-portal-preview-agenda .couple-album-cover{min-height:245px}
.couple-portal-preview-agenda .couple-album-cover-copy{min-height:245px;padding:32px clamp(28px,5vw,62px) 28px}
.couple-portal-preview-agenda .couple-album-cover h1{font-size:clamp(3.4rem,5vw,4.7rem)}
.couple-portal-preview-agenda .couple-album-names{max-width:660px;padding-top:15px}
.couple-portal-preview-agenda .couple-album-cover .couple-portal-head-actions{position:absolute;right:clamp(28px,5vw,62px);bottom:28px;margin:0}
.couple-portal-preview-agenda .couple-album-tabs a{min-height:68px;flex-direction:row;font:700 .76rem var(--sans)}
.couple-portal-preview-agenda .couple-album-tabs a svg{width:20px;height:20px}
.couple-portal-preview-agenda .couple-album-page{padding-top:42px}
.couple-portal-preview-agenda .couple-album-page-head h2{font-size:clamp(3.8rem,6vw,5.2rem)}
.couple-portal-preview-agenda .couple-album-page::after{display:none}

/* Essential: planning first, with a compact identity ribbon and almost no decorative depth. */
.couple-portal-preview-essential .couple-album{border-color:rgba(88,45,72,.16);box-shadow:none}
.couple-portal-preview-essential .couple-album-cover{min-height:176px;background:#f0dfe5;color:var(--plum)}
.couple-portal-preview-essential .couple-album-cover>img,.couple-portal-preview-essential .couple-album-cover::after,.couple-portal-preview-essential .couple-portal-bloom,.couple-portal-preview-essential .couple-album-cover figcaption{display:none}
.couple-portal-preview-essential .couple-album-cover-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:42px;align-items:end;min-height:176px;padding:30px clamp(28px,5vw,62px)}
.couple-portal-preview-essential .couple-album-cover h1{margin:0;color:var(--plum);font-size:clamp(3.1rem,5vw,4.5rem)}
.couple-portal-preview-essential .couple-album-names{align-self:start;max-width:none;margin:8px 0 0;padding:0;border:0}
.couple-portal-preview-essential .couple-album-names strong{color:var(--ink);font-size:1.25rem}
.couple-portal-preview-essential .couple-album-names span,.couple-portal-preview-essential .couple-portal-wedding-context{color:#68545f!important}
.couple-portal-preview-essential .couple-portal-head-actions{grid-column:2;grid-row:1/3;align-self:center;margin:0}
.couple-portal-preview-essential .couple-portal-head-actions .button{border-color:var(--plum);background:transparent;color:var(--plum)}
.couple-portal-preview-essential .couple-album-tabs{background:#fffdf9;box-shadow:none}
.couple-portal-preview-essential .couple-album-tabs a{min-height:62px;flex-direction:row;font:700 .73rem var(--sans)}
.couple-portal-preview-essential .couple-album-tabs a svg{width:19px;height:19px}
.couple-portal-preview-essential .couple-album-page{padding-top:40px;background:#fffdf9}
.couple-portal-preview-essential .couple-album-page::after{display:none}
.couple-portal-preview-essential .couple-album-page-head h2{font-size:clamp(3.4rem,5vw,4.8rem)}

@media(max-width:900px){.couple-template-intro{grid-template-columns:1fr;gap:28px}.couple-template-choice{grid-template-columns:1fr}.couple-template-miniature{min-height:320px}.couple-portal-preview-journal .couple-album{grid-template-columns:minmax(230px,31%) 112px minmax(0,1fr)}.couple-portal-preview-journal .couple-album-page-head{grid-template-columns:1fr}.couple-portal-preview-journal .couple-album-progress{text-align:left}.couple-portal-preview-agenda .couple-album-cover .couple-portal-head-actions{position:static;margin-top:18px}.couple-portal-preview-essential .couple-album-cover-copy{grid-template-columns:1fr}.couple-portal-preview-essential .couple-portal-head-actions{grid-column:1;grid-row:auto;margin-top:18px}}
@media(max-width:760px){.couple-template-gallery{padding-top:42px;padding-bottom:78px}.couple-template-choice{min-height:0}.couple-template-copy{padding:36px 25px}.couple-template-miniature{min-height:260px}.couple-template-preview-bar{align-items:flex-start}.couple-template-preview-bar .button{width:auto}.couple-portal-preview-journal .couple-album{display:block;min-height:0}.couple-portal-preview-journal .couple-album-cover,.couple-portal-preview-journal .couple-album-cover-copy{min-height:285px}.couple-portal-preview-journal .couple-album-tabs{grid-template-columns:repeat(6,minmax(92px,1fr));grid-template-rows:none;overflow-x:auto;border-right:0;border-bottom:1px solid rgba(77,37,63,.14);box-shadow:none}.couple-portal-preview-journal .couple-album-tabs a{border-right:1px solid rgba(77,37,63,.12);border-bottom:0}.couple-portal-preview-essential .couple-album-cover{min-height:0}.couple-portal-preview-essential .couple-album-cover-copy{min-height:0}.couple-portal-preview-essential .couple-portal-head-actions{grid-template-columns:1fr 1fr}}

/* The wedding outcome is derived from the existing ledger and private guest list. */
.wedding-outcome{position:relative;overflow:hidden;margin:0 0 42px;padding:34px 36px 38px;border:1px solid #dec3cb;border-radius:14px;background:linear-gradient(135deg,#fffdf9 0%,#fbefef 100%);box-shadow:0 18px 42px rgba(73,40,58,.08)}
.wedding-outcome::after{content:"";position:absolute;right:-92px;top:-114px;width:260px;height:260px;border:1px solid rgba(154,94,118,.2);border-radius:50%;pointer-events:none}
.wedding-outcome>header{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:25px;border-bottom:1px solid #dec3cb}
.wedding-outcome>header h2{margin:0 0 7px;font-size:clamp(2.35rem,4vw,3.35rem)}
.wedding-outcome>header p{max-width:55ch;margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}
.wedding-outcome>header a{flex:none;color:var(--plum);font-size:.72rem;font-weight:750;text-underline-offset:5px}
.wedding-outcome-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.78fr);gap:34px;padding-top:28px}
.wedding-outcome-result{padding-right:34px;border-right:1px solid #dec3cb}
.wedding-outcome-result dl{margin:0}
.wedding-outcome-result dl>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid rgba(222,195,203,.7)}
.wedding-outcome-result dt{color:var(--muted);font-size:.7rem}
.wedding-outcome-result dd{margin:0;color:var(--plum);font-size:.78rem;font-weight:750;font-variant-numeric:tabular-nums}
.wedding-outcome-net{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:25px}
.wedding-outcome-net span{max-width:12ch;color:var(--plum);font:500 1.38rem/1.12 var(--serif)}
.wedding-outcome-net strong{color:var(--plum);font:500 clamp(2.3rem,4vw,3.5rem)/.9 var(--serif);font-variant-numeric:tabular-nums}
.wedding-outcome-net strong.is-positive{color:#416c55}.wedding-outcome-net strong.is-negative{color:#9a4058}
.wedding-outcome-result>p,.wedding-menu-calculator>p{margin:20px 0 0;color:var(--muted);font-size:.67rem;line-height:1.55}
.wedding-menu-calculator h3{margin:0 0 19px;font-size:1.85rem}
.wedding-menu-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wedding-menu-fields>label>span:first-child{display:block;margin-bottom:6px;color:var(--plum);font-size:.61rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.wedding-menu-input{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid #dec3cb;background:#fffdf9}
.wedding-menu-input input{min-width:0;width:100%;height:44px;padding:0 10px;border:0;background:transparent;color:var(--ink);font:650 .78rem var(--sans);font-variant-numeric:tabular-nums}
.wedding-menu-input i{padding:0 10px;color:var(--muted);font:normal .67rem var(--sans)}
.wedding-menu-input:has(input:focus-visible){outline:3px solid var(--focus-rose,#c75b82);outline-offset:2px}
.wedding-menu-input input:focus{outline:0}
.wedding-menu-calculator ul{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid #dec3cb}
.wedding-menu-calculator li{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid rgba(222,195,203,.7);color:var(--muted);font-size:.69rem}
.wedding-menu-calculator li strong{color:var(--plum);font-variant-numeric:tabular-nums}
.budget-row.is-menu-calculated [data-budget-spent-input]{background:#f4e5e9;color:var(--plum);cursor:not-allowed}
.budget-row.is-menu-calculated .budget-item-name::after{content:"Calculat din invitați";display:block;margin-top:5px;color:#925a70;font-size:.61rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}

/* Gift amounts stay folded into each guest row until the couple needs them. */
.wedding-guest-gift{margin-top:14px!important;padding:0 16px;border:1px solid rgba(108,59,87,.18);border-radius:10px;background:linear-gradient(110deg,#fffdf9,#fbf0f2)}
.wedding-guest-gift>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%!important;min-height:48px;list-style:none;text-decoration:none!important}
.wedding-guest-gift>summary::-webkit-details-marker{display:none}
.wedding-guest-gift>summary span{font-size:.76rem;font-weight:700}
.wedding-guest-gift>summary strong{font-size:.72rem;font-variant-numeric:tabular-nums}
.wedding-guest-gift>summary::after{content:"+";font:500 1.25rem var(--serif)}
.wedding-guest-gift[open]>summary::after{content:"−"}
.wedding-guest-gift-form{padding:2px 0 18px}
.wedding-guest-gift-form>label{display:block;margin-bottom:7px;color:var(--muted);font-size:.7rem}
.wedding-guest-gift-form>div{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;align-items:center;gap:9px;max-width:520px}
.wedding-guest-gift-form input[type="text"]{min-width:0;width:100%;height:44px;padding:0 11px;border:1px solid var(--line);background:var(--white);font:650 .78rem var(--sans);font-variant-numeric:tabular-nums}
.wedding-guest-gift-form>div>span{color:var(--muted);font-size:.69rem}

/* Couple dashboard — approved “Concierge calm” direction. */
.couple-concierge{--concierge-plum:#4d213e;--concierge-paper:#fcf8f3;--concierge-blush:#f4e5e8;--concierge-line:#dfcdd0;max-width:1420px;padding:0 0 96px;background:var(--concierge-paper)}
.couple-concierge .couple-studio-layout{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:start;border-top:1px solid var(--concierge-line)}
.couple-concierge .couple-studio-nav{position:sticky;top:18px;z-index:8;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(6,78px);align-self:start;margin:34px 0 0;padding:0 20px;border:0;border-right:1px solid var(--concierge-line);border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.couple-concierge .couple-studio-nav a{justify-content:flex-start;gap:16px;min-height:0;padding:0 15px;border:0;border-radius:12px;color:#604e58;font:600 .76rem/1 var(--sans);letter-spacing:0;text-align:left}
.couple-concierge .couple-studio-nav a::after{display:none}
.couple-concierge .couple-studio-nav a svg{width:24px;height:24px;stroke-width:1.35}
.couple-concierge .couple-studio-nav a:hover{background:#f8edef;color:var(--concierge-plum);transform:none}
.couple-concierge .couple-studio-nav a[aria-current="location"]{background:#f2dde3;color:var(--concierge-plum)}
.couple-concierge .couple-studio-workspace{min-width:0;padding:0 clamp(28px,4vw,62px) 0}
.couple-concierge .couple-portal-welcome{position:relative;isolation:isolate;display:flex;align-items:end;justify-content:space-between;gap:32px;min-height:184px;padding:36px 0 26px;background:transparent;color:var(--ink);box-shadow:none;overflow:hidden}
.couple-concierge .couple-portal-welcome::before{content:"";position:absolute;z-index:-1;top:-88px;right:116px;width:225px;height:225px;border:1px solid rgba(166,107,131,.2);border-radius:50%}
.couple-concierge .couple-portal-welcome h1{max-width:15ch;margin:0;color:var(--concierge-plum);font-size:clamp(3.6rem,5.5vw,5.35rem);line-height:.9;letter-spacing:-.028em}
.couple-concierge-countdown{margin:13px 0 0;color:var(--concierge-plum);font:500 clamp(1.32rem,2.4vw,2rem)/1.1 var(--serif);font-variant-numeric:tabular-nums}
.couple-concierge-countdown strong{font-weight:500}
.couple-concierge .couple-portal-wedding-context{margin:10px 0 0!important;color:#7a6671!important;font-size:.64rem;line-height:1.45}
.couple-concierge-note{flex:none;margin:0 110px 9px 0;color:#875a70;font:italic 500 1rem/1.38 var(--serif);text-align:left}
.couple-concierge .couple-portal-head-actions{position:absolute;top:23px;right:0;display:flex;align-items:center;gap:18px;margin:0}
.couple-concierge .couple-portal-head-actions form{margin:0}
.couple-concierge .couple-portal-head-actions .text-link{padding:6px 0;border:0;background:transparent;color:#6d5662;font-size:.66rem;cursor:pointer}
.couple-concierge .couple-portal-bloom{z-index:-1;right:40px;bottom:-20px;width:300px;color:#ca9dac;opacity:.55}
.couple-concierge .couple-plan-progress{display:block;min-height:0;padding:0 0 58px;scroll-margin-top:20px}
.couple-concierge .couple-plan-progress::after{display:none}
.couple-concierge-next{position:relative;isolation:isolate;min-height:338px;border-radius:15px;background:var(--concierge-plum) url("/images/dashboard-concierge-hero.png") center/cover no-repeat;color:var(--white);overflow:hidden;box-shadow:0 22px 54px rgba(59,28,47,.15)}
.couple-concierge-next::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(54,22,44,.98) 0%,rgba(54,22,44,.9) 43%,rgba(54,22,44,.1) 72%)}
.couple-concierge-next>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:338px;width:min(58%,690px);padding:42px clamp(34px,4.6vw,68px)}
.couple-concierge-next p{margin:0 0 17px;color:#eacfd8;font-size:.61rem;font-weight:750;letter-spacing:.17em;text-transform:uppercase}
.couple-concierge-next h2{max-width:15ch;margin:0;color:var(--white);font-size:clamp(3rem,5vw,5.05rem);line-height:.88;letter-spacing:-.025em;text-wrap:balance}
.couple-concierge-next span{display:block;max-width:54ch;margin:20px 0 0;color:#f0e4e8;font-size:.78rem;line-height:1.55}
.couple-concierge-next .button{min-width:210px;margin-top:28px;border:0;background:#f3dce4;color:var(--concierge-plum)}
.couple-concierge-next .button:hover{background:var(--white);color:var(--concierge-plum)}
.couple-concierge-progress{display:grid;grid-template-columns:minmax(160px,.5fr) minmax(520px,1.5fr) auto;gap:28px;align-items:center;margin-top:18px;padding:24px 30px;border-radius:14px;background:var(--concierge-blush)}
.couple-concierge-progress>strong{color:var(--concierge-plum);font:500 clamp(1.2rem,2vw,1.65rem)/1.05 var(--serif);font-variant-numeric:tabular-nums}
.couple-concierge-progress ol{display:grid;grid-template-columns:repeat(6,1fr);margin:0;padding:0;list-style:none}
.couple-concierge-progress li{position:relative;padding:22px 4px 0;color:#786671;font-size:.56rem;line-height:1.3;text-align:center}
.couple-concierge-progress li::before{content:"";position:absolute;top:7px;right:50%;left:-50%;height:1px;background:#bca3ab}
.couple-concierge-progress li:first-child::before{display:none}
.couple-concierge-progress li>span{position:absolute;z-index:1;top:1px;left:50%;width:13px;height:13px;border:1px solid #9f818d;border-radius:50%;background:var(--concierge-blush);transform:translateX(-50%)}
.couple-concierge-progress li.is-current{color:var(--concierge-plum);font-weight:750}
.couple-concierge-progress li.is-current>span{border-color:var(--concierge-plum);background:var(--concierge-plum);box-shadow:0 0 0 4px var(--concierge-blush)}
.couple-concierge-progress>.text-link{justify-self:end;max-width:9ch;font-size:.63rem;text-align:right}
.couple-concierge-features{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(220px,.7fr) minmax(0,1.1fr);gap:18px;margin-top:18px}
.couple-concierge-features article{position:relative;min-width:0;min-height:305px;padding:24px 28px 25px;border-radius:14px;background:#fffaf5;overflow:hidden}
.couple-concierge-features h3{margin:17px 0 7px;color:var(--concierge-plum);font-size:clamp(1.8rem,2.5vw,2.45rem);line-height:1}
.couple-concierge-features p{margin:0;color:#6f5f67;font-size:.68rem;line-height:1.5}
.couple-concierge-features .arrow-link{position:absolute;right:27px;bottom:24px;width:34px;height:34px;border:1px solid #bb919f;border-radius:50%}
.couple-concierge-features .arrow-link::after{content:"→";color:var(--concierge-plum);font-size:1rem}
.couple-concierge-seating{background:#f8ecea!important}
.couple-concierge-seating-visual{position:relative;height:124px;margin:-24px -28px 0;background:linear-gradient(112deg,rgba(242,218,219,.78),rgba(255,250,245,.7)),url("/images/guide-evenimente-miri.webp") center 56%/cover}
.couple-concierge-seating-visual::after{content:"";position:absolute;inset:0;background:rgba(247,232,231,.54)}
.couple-concierge-seating-visual span{position:absolute;z-index:1;width:35px;height:35px;border:1px solid #9d6a7e;border-radius:50%;background:rgba(255,250,245,.86)}
.couple-concierge-seating-visual span:nth-child(1){top:52px;left:32%}.couple-concierge-seating-visual span:nth-child(2){top:24px;left:49%}.couple-concierge-seating-visual span:nth-child(3){top:67px;left:58%}.couple-concierge-seating-visual span:nth-child(4){top:30px;left:71%}.couple-concierge-seating-visual span:nth-child(5){top:73px;left:79%}
.couple-concierge-budget{background:#f2dde4!important}
.couple-concierge-budget h3{margin-top:2px}
.couple-concierge-budget dl{margin:22px 0 0;border-top:1px solid #d5bac3}
.couple-concierge-budget dl>div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #d5bac3}
.couple-concierge-budget dt{color:#6d5963;font-size:.64rem}.couple-concierge-budget dd{margin:0;color:var(--concierge-plum);font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums}
.couple-concierge-budget>.text-link{position:absolute;right:28px;bottom:29px;font-size:.65rem}
.couple-concierge-album{background:#f8eee9!important}
.couple-concierge-album-visual{display:flex;align-items:end;height:126px;margin:-24px -28px 0;padding:18px 30px;background:linear-gradient(110deg,#e7cfd3,#f7eae4)}
.couple-concierge-album-visual span{display:grid;width:31%;height:88px;place-items:center;border:5px solid #fffaf5;background:#ead9d8;color:#75455e;box-shadow:0 9px 22px rgba(64,32,54,.13);transform:rotate(-5deg)}
.couple-concierge-album-visual span:nth-child(2){height:98px;margin-left:-4px;background:#f4e6df;color:#986b77;transform:rotate(3deg)}
.couple-concierge-album-visual span:nth-child(3){height:82px;margin-left:-4px;background:#dcc6cf;color:#5a2c49;transform:rotate(7deg)}
.couple-concierge-album-visual svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.couple-concierge .couple-activation{margin-top:24px;border-radius:14px}
.couple-concierge .couple-dashboard-canvas,.couple-concierge .couple-local-discovery,.couple-concierge .couple-guests-preview,.couple-concierge .couple-media-preview,.couple-concierge .couple-meetings-stage{margin-top:0}
.couple-concierge .couple-dashboard-canvas{padding-top:48px}
.couple-concierge .couple-account-hub{margin-inline:190px clamp(28px,4vw,62px)}

@media(max-width:1050px){
  .couple-concierge .couple-studio-layout{grid-template-columns:152px minmax(0,1fr)}
  .couple-concierge .couple-studio-nav{padding-inline:12px}
  .couple-concierge .couple-studio-nav a{gap:11px;padding-inline:10px}
  .couple-concierge-progress{grid-template-columns:1fr}.couple-concierge-progress ol{grid-row:2}.couple-concierge-progress>.text-link{position:absolute;right:34px}
  .couple-concierge-features{grid-template-columns:1fr 1fr}.couple-concierge-album{grid-column:1/-1}
  .couple-concierge .couple-account-hub{margin-left:152px}
}
@media(max-width:760px){
  .couple-concierge{padding-top:0}
  .couple-concierge .couple-studio-layout{display:block;border-top:0}
  .couple-concierge .couple-studio-nav{position:sticky;top:0;grid-template-columns:repeat(6,minmax(92px,1fr));grid-template-rows:64px;margin:0 -20px;padding:0 14px;border-right:0;border-bottom:1px solid var(--concierge-line);background:rgba(252,248,243,.98);box-shadow:0 9px 24px rgba(64,32,54,.07);overflow-x:auto}
  .couple-concierge .couple-studio-nav a{justify-content:center;gap:7px;padding-inline:10px;border-radius:0;font-size:.66rem}
  .couple-concierge .couple-studio-nav a svg{width:19px;height:19px}
  .couple-concierge .couple-studio-workspace{padding:0}
  .couple-concierge .couple-portal-welcome{display:block;min-height:0;padding:38px 4px 25px}
  .couple-concierge .couple-portal-welcome h1{max-width:10ch;font-size:clamp(3.2rem,14vw,4.2rem)}
  .couple-concierge-note{display:none}
  .couple-concierge .couple-portal-head-actions{top:15px;right:2px}
  .couple-concierge .couple-portal-head-actions .text-link{font-size:.6rem}
  .couple-concierge .couple-portal-bloom{right:-78px;bottom:-65px;width:250px}
  .couple-concierge-next{min-height:0;border-radius:12px;background-position:67% center}
  .couple-concierge-next::after{background:linear-gradient(90deg,rgba(54,22,44,.98),rgba(54,22,44,.86) 72%,rgba(54,22,44,.38))}
  .couple-concierge-next>div{min-height:420px;width:100%;padding:39px 27px}
  .couple-concierge-next h2{max-width:10ch;font-size:clamp(3rem,14vw,4.15rem)}
  .couple-concierge-next span{max-width:32ch}
  .couple-concierge-progress{position:relative;display:block;margin-top:12px;padding:23px 20px;overflow-x:hidden}
  .couple-concierge-progress>strong{display:block;padding-right:90px}
  .couple-concierge-progress ol{grid-template-columns:repeat(6,minmax(86px,1fr));margin:22px -4px 0;overflow-x:auto;padding-bottom:8px}
  .couple-concierge-progress>.text-link{top:24px;right:19px}
  .couple-concierge-features{grid-template-columns:1fr;gap:12px;margin-top:12px}
  .couple-concierge-features article,.couple-concierge-album{grid-column:auto;min-height:288px}
  .couple-concierge .couple-activation{border-radius:12px}
  .couple-concierge .couple-account-hub{margin-right:0;margin-left:0}
}

/* Every expense owns its currency; mixed totals remain canonical in RON. */
.budget-table-head,.budget-row{grid-template-columns:minmax(145px,1fr) 74px repeat(3,minmax(76px,94px)) 52px;gap:9px}
.budget-row-currency select,.budget-limit select,.wedding-menu-currency select{width:100%;min-height:40px;padding:7px 25px 7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--plum);font:750 .68rem var(--sans)}
.budget-row-currency select:focus-visible,.budget-limit select:focus-visible,.wedding-menu-currency select:focus-visible{outline:3px solid var(--focus-rose,#c75b82);outline-offset:2px}
.budget-row-currency select:disabled,.budget-limit select:disabled,.wedding-menu-currency select:disabled{opacity:.5}
.budget-limit>div{grid-template-columns:minmax(0,1fr) 82px}
.budget-limit>div select{height:48px;border:0;border-left:1px solid var(--line);border-radius:0;background:#f5e8eb;color:var(--plum)}
.budget-limit>div select option{color:var(--ink);background:var(--white)}
.wedding-menu-currency{display:grid;grid-template-columns:1fr 92px;align-items:center;gap:14px;margin:0 0 13px;color:var(--muted);font-size:.65rem}
.wedding-menu-currency>span{font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.budget-summary dd,.budget-category header>span,.wedding-outcome-result dd,.wedding-outcome-net strong{overflow-wrap:anywhere}
.budget-summary-heading{display:grid;gap:12px;margin-bottom:22px}
.budget-summary-heading h2{margin:0}
.budget-summary-heading label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.62rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.budget-summary-heading select{min-width:82px;min-height:38px;padding:6px 25px 6px 10px;border:1px solid #d9bdc4;border-radius:9px;background:#fffaf7;color:var(--plum);font:750 .68rem var(--sans);text-transform:none}
.budget-summary-heading select:focus-visible{outline:3px solid var(--focus-rose,#c75b82);outline-offset:2px}
.budget-category header>span{max-width:22ch;text-align:right;line-height:1.5}
.budget-quotes form{grid-template-columns:1fr 1fr minmax(125px,.65fr) 90px}
@media(max-width:900px) and (min-width:621px){.budget-table-head,.budget-row{grid-template-columns:minmax(130px,1fr) 68px repeat(3,minmax(70px,86px)) 48px}}
@media(max-width:620px){
  .budget-row{grid-template-columns:82px repeat(2,minmax(0,1fr));gap:8px}
  .budget-row .budget-item-name{grid-column:1/-1}
  .budget-row .budget-row-currency{grid-column:1}
  .budget-row>label:has([data-budget-planned-input]){grid-column:2}
  .budget-row>label:has([data-budget-spent-input]){grid-column:3}
  .budget-row>label:has([data-budget-advance-input]){grid-column:2}
  .budget-row .budget-paid{grid-column:3}
  .budget-quotes form{grid-template-columns:1fr}
}
.wedding-guest-gift-form .button{min-height:44px;white-space:nowrap}
.wedding-guest-gift-form>small{display:block;margin-top:8px;color:var(--muted);font-size:.66rem;line-height:1.45}
.wedding-guest-gift-error{margin:0 0 9px;color:#913d52;font-size:.72rem}
.wedding-guest-gift :focus-visible{outline:3px solid var(--focus-rose,#c75b82);outline-offset:2px}

@media(max-width:760px){.wedding-outcome{margin-bottom:26px;padding:26px 21px 29px}.wedding-outcome>header{display:block}.wedding-outcome>header a{display:inline-block;min-height:44px;padding-top:14px}.wedding-outcome-grid{grid-template-columns:1fr;gap:27px}.wedding-outcome-result{padding:0 0 27px;border-right:0;border-bottom:1px solid #dec3cb}.wedding-menu-fields{grid-template-columns:1fr}.wedding-guest-gift{margin-left:0!important;padding-inline:13px}.wedding-guest-gift-form>div{grid-template-columns:minmax(0,1fr) auto}.wedding-guest-gift-form .button{grid-column:1/-1;justify-self:start}}
@media(prefers-reduced-motion:reduce){.wedding-outcome,.wedding-guest-gift{scroll-behavior:auto}}
@media(max-width:520px){.couple-template-preview-bar{display:grid}.couple-template-preview-bar .button{width:100%}.couple-template-miniature{min-height:220px}.couple-template-choice-journal .couple-template-miniature{grid-template-columns:34% 19% 1fr}.couple-template-choice-essential .couple-template-miniature{grid-template-columns:27% 1fr}.couple-portal-preview-essential .couple-portal-head-actions{grid-template-columns:1fr}.couple-portal-preview-essential .couple-album-tabs a,.couple-portal-preview-agenda .couple-album-tabs a{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.wedding-media-file-field>label{transition:none}}

/* Launch onboarding: one editorial conversation that turns an empty account into a useful plan. */
.couple-onboarding{display:grid;grid-template-columns:minmax(0,.84fr) minmax(520px,1.16fr);gap:clamp(42px,7vw,110px);align-items:start;padding-block:clamp(52px,7vw,96px);background:#f8f0f1;box-shadow:0 0 0 100vmax #f8f0f1;clip-path:inset(0 -100vmax)}
.couple-onboarding-intro{position:sticky;top:118px;padding:8px 0 40px}
.couple-onboarding-intro .breadcrumbs{margin-bottom:clamp(46px,7vw,82px)}
.couple-onboarding-mark{display:grid;width:68px;height:68px;margin-bottom:26px;place-items:center;border:1px solid rgba(106,52,82,.28);border-radius:50%;background:#fffaf8;color:var(--plum)}
.couple-onboarding-mark svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.couple-onboarding-intro h1{max-width:9ch;margin:0;font:500 clamp(3.8rem,6vw,6rem)/.88 var(--serif);letter-spacing:-.035em}
.couple-onboarding-lede{max-width:52ch;margin:28px 0 0;color:#6f5b65;font-size:1rem;line-height:1.75}
.couple-onboarding-mobile-actions{display:none}
.couple-onboarding-benefits{display:grid;gap:0;margin:42px 0 0;padding:0;border-top:1px solid rgba(106,52,82,.22);list-style:none}
.couple-onboarding-benefits li{display:grid;grid-template-columns:38px 1fr;gap:16px;padding:19px 0;border-bottom:1px solid rgba(106,52,82,.16)}
.couple-onboarding-benefits>li>span{padding-top:3px;color:#75475e;font:500 .68rem/1 var(--sans);letter-spacing:.12em}
.couple-onboarding-benefits strong,.couple-onboarding-benefits small{display:block}
.couple-onboarding-benefits strong{font:500 1.22rem/1.15 var(--serif)}
.couple-onboarding-benefits small{margin-top:5px;color:#78646e;font-size:.7rem;line-height:1.5}
.couple-onboarding-privacy{display:flex;gap:11px;align-items:flex-start;margin:25px 0 0;color:#755f6a;font-size:.7rem;line-height:1.5}
.couple-onboarding-privacy svg{flex:0 0 21px;width:21px;height:21px;fill:none;stroke:var(--plum);stroke-width:1.4}
.couple-onboarding-sheet{position:relative;padding:clamp(30px,5vw,64px);background:#fffdf9;box-shadow:0 30px 80px rgba(70,34,55,.12);scroll-margin-top:24px}
.couple-onboarding-sheet:before{content:"";position:absolute;inset:15px;border:1px solid rgba(185,133,152,.19);pointer-events:none}
.couple-onboarding-sheet>header{position:relative;display:grid;grid-template-columns:54px 1fr;gap:20px;align-items:start;padding-bottom:27px;border-bottom:1px solid #cf9eb0}
.couple-onboarding-sheet>header>span{display:grid;width:50px;height:50px;place-items:center;border:1px solid #bd8ca0;border-radius:50%;color:var(--plum);font-size:.66rem;font-weight:800;letter-spacing:.08em}
.couple-onboarding-sheet h2{margin:0;font:500 clamp(2.45rem,4vw,3.7rem)/.98 var(--serif)}
.couple-onboarding-sheet>header p{margin:9px 0 0;color:var(--muted);font-size:.78rem}
.couple-onboarding-sheet .inquiry-errors,.couple-onboarding-sheet .subscription-success{position:relative;margin:25px 0 0}
.couple-onboarding-sheet .inquiry-errors ul{margin:9px 0 0;padding-left:18px}
.couple-onboarding-form{position:relative;margin-top:30px}
.couple-onboarding-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 20px}
.couple-onboarding-fields .inquiry-field{margin:0}
.couple-onboarding-fields input,.couple-onboarding-fields select{width:100%;min-height:58px;border-color:rgba(106,52,82,.28);background:#fbf5f3}
.couple-onboarding-fields small{display:block;margin-top:7px;color:#826b76;font-size:.65rem;line-height:1.45}
.couple-onboarding-reservations{margin:34px 0 0;padding:28px 0 0;border:0;border-top:1px solid rgba(106,52,82,.2)}
.couple-onboarding-reservations legend{padding:0;font:500 1.65rem/1.1 var(--serif)}
.couple-onboarding-reservations>p{margin:7px 0 17px;color:var(--muted);font-size:.7rem}
.couple-onboarding-reservations>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.couple-onboarding-reservations label{position:relative;cursor:pointer}
.couple-onboarding-reservations input{position:absolute;width:1px;height:1px;opacity:0}
.couple-onboarding-reservations label>span{display:flex;min-height:50px;gap:10px;align-items:center;padding:12px 14px;border:1px solid rgba(106,52,82,.2);background:#fffaf8;color:#604654;font-size:.72rem;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.couple-onboarding-reservations svg{width:20px;height:20px;fill:none;stroke:#a88494;stroke-width:1.6}
.couple-onboarding-reservations input:checked+span{border-color:#89566e;background:#f2dfe5;color:var(--plum);transform:translateY(-1px)}
.couple-onboarding-reservations input:checked+span svg{stroke:var(--plum)}
.couple-onboarding-reservations input:focus-visible+span{outline:3px solid rgba(108,59,87,.28);outline-offset:3px}
.couple-onboarding-actions{display:grid;grid-template-columns:minmax(210px,1fr) minmax(160px,.75fr);gap:20px;align-items:center;margin-top:31px}
.couple-onboarding-actions .button{width:100%;min-height:59px}
.couple-onboarding-actions p{margin:0;color:var(--muted);font-size:.66rem;line-height:1.5}
.couple-onboarding-skip{display:block;margin:20px auto 0;padding:4px 1px;border:0;border-bottom:1px solid #b98598;background:transparent;color:#604654;font:.72rem/1.5 var(--sans);cursor:pointer}
@media(prefers-reduced-motion:no-preference){.couple-onboarding-sheet{animation:onboarding-sheet-arrive .55s cubic-bezier(.16,1,.3,1) both}@keyframes onboarding-sheet-arrive{from{transform:translateY(18px)}to{transform:none}}}
@media(max-width:980px){.couple-onboarding{grid-template-columns:1fr;gap:30px}.couple-onboarding-intro{position:static;padding-bottom:10px}.couple-onboarding-intro .breadcrumbs{margin-bottom:42px}.couple-onboarding-intro h1{max-width:11ch}.couple-onboarding-benefits{grid-template-columns:repeat(3,1fr);gap:20px;border-top:0}.couple-onboarding-benefits li{grid-template-columns:1fr;padding:18px;border:1px solid rgba(106,52,82,.16);background:rgba(255,253,249,.58)}}
@media(max-width:620px){.couple-onboarding{padding-block:30px 60px}.couple-onboarding-intro .breadcrumbs{margin-bottom:32px}.couple-onboarding-intro h1{font-size:3.7rem}.couple-onboarding-benefits{display:none}.couple-onboarding-mobile-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:24px}.couple-onboarding-mobile-actions .button{min-height:52px}.couple-onboarding-mobile-actions form,.couple-onboarding-mobile-actions button{height:100%}.couple-onboarding-mobile-actions button{padding:0 13px;border:0;border-bottom:1px solid #a87489;background:transparent;color:var(--plum);font:.72rem var(--sans);cursor:pointer}.couple-onboarding-privacy{margin-top:22px}.couple-onboarding-sheet{margin-inline:-14px;padding:30px 24px 34px}.couple-onboarding-sheet:before{inset:9px}.couple-onboarding-sheet>header{grid-template-columns:44px 1fr;gap:13px}.couple-onboarding-sheet>header>span{width:42px;height:42px}.couple-onboarding-fields,.couple-onboarding-reservations>div{grid-template-columns:1fr}.couple-onboarding-actions{grid-template-columns:1fr;gap:10px}.couple-onboarding-actions p{text-align:center}}
@media(prefers-reduced-motion:reduce){.couple-onboarding-sheet,.couple-onboarding-benefits li,.couple-onboarding-reservations label>span{animation:none;transition:none}}

/* Photo & video directory: source-backed discovery with owner-published portfolios. */
.home-paths-list{grid-template-columns:repeat(5,minmax(0,1fr))}
.photo-video-head{position:relative;overflow:hidden;padding:42px 0 54px;background:linear-gradient(135deg,#f9eeeef2,#f1dfe5 58%,#ead3dc)}
.photo-video-head:before,.photo-video-head:after{content:"";position:absolute;border:1px solid rgba(106,52,82,.14);border-radius:50%;pointer-events:none}
.photo-video-head:before{width:520px;height:520px;right:-190px;top:-260px}.photo-video-head:after{width:260px;height:260px;left:-120px;bottom:-170px}
.photo-video-hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.8fr);gap:42px 70px;align-items:center}
.photo-video-copy .breadcrumbs{margin-bottom:58px}.photo-video-kicker{margin:0 0 14px;color:#8f5b72;font:.68rem/1 var(--sans);font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.photo-video-copy h1{max-width:10ch;margin:0;font:500 clamp(4rem,7vw,6.7rem)/.88 var(--serif);letter-spacing:-.045em}.photo-video-copy>p:last-child{max-width:590px;margin:28px 0 0;color:#755f6a;font-size:1.02rem;line-height:1.65}
.photo-video-reel{position:relative;height:450px;min-height:0;margin:0 0 34px;padding:11px 11px 0 0;overflow:visible;background:transparent;box-shadow:none;transform:none}
.photo-video-reel img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%;border-radius:48% 48% 5px 5px;filter:saturate(.83)}
.photo-video-reel:before,.music-directory-visual:before{content:"";position:absolute;inset:0 0 11px 11px;border:1px solid rgba(88,45,72,.36);border-radius:48% 48% 5px 5px;pointer-events:none}
.photo-video-reel:after,.music-directory-visual:after{content:"";position:absolute;inset:11px 11px 0 0;border-radius:48% 48% 5px 5px;background:linear-gradient(transparent 58%,rgba(35,16,27,.68));pointer-events:none}
.photo-video-reel figcaption,.music-directory-visual figcaption{position:absolute;z-index:1;right:28px;bottom:17px;left:17px;display:flex;align-items:end;justify-content:space-between;gap:20px;color:#fff8f5}
.photo-video-reel figcaption span,.music-directory-visual figcaption span{font:italic 1.05rem var(--serif)}
.photo-video-reel figcaption small,.music-directory-visual figcaption small{max-width:31ch;color:#f0dfe5;font-size:.61rem;line-height:1.45;text-align:right}
.photo-video-search{grid-column:1/-1;padding:27px 30px 30px;border:1px solid rgba(106,52,82,.2);background:rgba(255,253,249,.86);box-shadow:0 20px 48px rgba(83,42,67,.09)}.photo-video-search>p{margin:0 0 17px;color:#6c344f;font:italic 1.45rem/1.2 var(--serif)}.photo-video-search form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) auto;gap:12px}.photo-video-search .venue-field{background:#f8f1ee}.photo-video-search .button{min-width:190px}.photo-video-search>small{display:block;margin-top:12px;color:#7a6770;font-size:.68rem}
.photo-video-results{padding-top:72px}.photo-video-results>header{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:25px;border-bottom:1px solid #ce9daf}.photo-video-results>header p{margin:0 0 10px;color:#946078;font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.photo-video-results>header h2{margin:0;font:500 clamp(2.8rem,5vw,4.7rem)/.95 var(--serif)}.photo-video-results>header>span{display:flex;align-items:baseline;gap:8px;color:#806873}.photo-video-results>header>span strong{color:#6b324f;font:500 2.8rem/1 var(--serif)}
.photo-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px;margin-top:38px}.photo-video-card{overflow:hidden;border:1px solid rgba(106,52,82,.15);background:#fffdf9;box-shadow:0 18px 44px rgba(87,47,70,.08);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease}.photo-video-card:hover{transform:translateY(-6px);box-shadow:0 25px 54px rgba(87,47,70,.14)}
.photo-video-card-media{display:block;aspect-ratio:1.22;overflow:hidden;background:var(--paper-deep);text-decoration:none}.photo-video-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.photo-video-card:hover img{transform:scale(1.035)}.photo-video-card-media>.shop-card-placeholder{display:flex;width:100%;height:100%}.photo-video-card>div{padding:24px 25px 26px}.photo-video-card p{margin:0 0 9px;color:#9b6279;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.photo-video-card h3{margin:0;font:500 2rem/1.05 var(--serif)}.photo-video-card h3 a{text-decoration:none}.photo-video-card>div>span,.photo-video-card em{display:block}.photo-video-card>div>span{margin-top:10px;color:#75646c;font-size:.75rem}.photo-video-card em{margin-top:18px;color:#9a7180;font:italic .72rem var(--serif)}.photo-video-attribution{max-width:780px;margin:40px auto 0;color:#806f76;text-align:center;font-size:.66rem;line-height:1.65}
.photo-video-profile-head{padding:42px 0 58px;background:linear-gradient(120deg,#f9eeee,#efdce3)}.photo-video-profile-title{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:50px;align-items:end;margin-top:70px}.photo-video-profile-title>div>p{margin:0 0 11px;color:#90566f;font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.photo-video-profile-title h1{max-width:13ch;margin:0;font:500 clamp(4rem,7vw,6.4rem)/.88 var(--serif);letter-spacing:-.04em}.photo-video-profile-title strong,.photo-video-profile-title>div>span{display:block}.photo-video-profile-title strong{margin-top:24px;font:italic 1.25rem var(--serif)}.photo-video-profile-title>div>span{margin-top:15px;color:#725d67}.photo-video-profile-title>svg{width:100%;fill:none;stroke:#7b405f;stroke-width:1.2}
.photo-video-portfolio{padding-top:64px}.photo-video-portfolio header{text-align:center}.photo-video-portfolio header p{color:#9d687e;font-size:.66rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.photo-video-portfolio h2{margin:9px 0 30px;font:500 3.6rem/1 var(--serif)}.photo-video-portfolio>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.photo-video-portfolio figure{margin:0;overflow:hidden;aspect-ratio:16/10;background:#2e1c28}.photo-video-portfolio img,.photo-video-portfolio video{width:100%;height:100%;object-fit:cover}
.photo-video-profile-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:70px;padding-block:76px}.photo-video-profile-body h2{margin:0 0 22px;font:500 3.3rem/1 var(--serif)}.photo-video-profile-body article>p:not(.photo-video-kicker){max-width:700px;color:#6f6067;font-size:1rem;line-height:1.75}.photo-video-profile-body aside{padding:32px;border:1px solid rgba(106,52,82,.17);background:#fffaf7}.photo-video-profile-body aside h2{font-size:2rem}.photo-video-profile-body dl{margin:0}.photo-video-profile-body dl div{padding:15px 0;border-top:1px solid rgba(106,52,82,.14)}.photo-video-profile-body dt{color:#956278;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.photo-video-profile-body dd{margin:7px 0 0;color:#604952;line-height:1.5}.photo-video-profile-body aside>.text-link{display:inline-block;margin-top:24px}
.photo-video-profile-actions{display:grid;gap:14px;margin-top:24px}.photo-video-profile-actions .button{width:100%}.photo-video-profile-actions .text-link{justify-self:start;font-size:.72rem}
.photo-video-related{padding-block:65px 100px}.photo-video-related .section-heading{margin-bottom:38px}.supplier-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.supplier-related-card{overflow:hidden;border:1px solid rgba(106,52,82,.14);background:var(--white);box-shadow:0 18px 44px rgba(87,47,70,.07);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease}.supplier-related-card:hover{transform:translateY(-5px);box-shadow:0 25px 54px rgba(87,47,70,.13)}.supplier-related-card-media{position:relative;display:block;aspect-ratio:1.18;overflow:hidden;background:var(--paper-deep);text-decoration:none}.supplier-related-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.supplier-related-card:hover .supplier-related-card-media img{transform:scale(1.035)}.supplier-related-card-media>.shop-card-placeholder{display:flex;width:100%;height:100%}.supplier-related-card-body{padding:24px 25px 27px}.supplier-related-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.supplier-related-card-heading>div{min-width:0}.supplier-related-card-heading p{margin:0;color:#965d76;font-size:.64rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.supplier-related-card h3{margin:7px 0 0;font:500 2rem/1.05 var(--serif)}.supplier-related-card h3 a{color:var(--ink);text-decoration:none}.supplier-related-card .arrow-link{flex:0 0 auto}.supplier-related-card-body>span{display:block;margin-top:12px;color:var(--muted);font-size:.78rem}.supplier-related-card-body>em{display:block;margin-top:18px;color:var(--rose);font:italic .72rem/1.4 var(--serif)}
@media(prefers-reduced-motion:no-preference){.photo-video-copy,.photo-video-reel,.photo-video-search{animation:photo-video-arrive .65s cubic-bezier(.16,1,.3,1) both}.photo-video-reel{animation-delay:.08s}.photo-video-search{animation-delay:.16s}@keyframes photo-video-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}}
@media(max-width:1040px){.home-paths-list{grid-template-columns:repeat(2,minmax(0,1fr))}.home-path:nth-child(3){border-left:0;border-top:1px solid var(--line)}.home-path:nth-child(4){border-top:1px solid var(--line)}.photo-video-hero{grid-template-columns:1fr}.photo-video-copy .breadcrumbs{margin-bottom:42px}.photo-video-reel{height:350px}.photo-video-search{grid-column:auto}.photo-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-video-profile-body{gap:35px}.supplier-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.home-paths-list{grid-template-columns:1fr}.home-path:nth-child(n+2){border-left:0;border-top:1px solid var(--line)}.photo-video-head{padding:25px 0 38px}.photo-video-copy h1{font-size:3.9rem}.photo-video-copy>p:last-child{font-size:.88rem}.photo-video-reel{height:240px;margin-bottom:27px}.photo-video-reel figcaption,.music-directory-visual figcaption{right:22px;bottom:15px;left:16px;display:block}.photo-video-reel figcaption small,.music-directory-visual figcaption small{display:block;margin-top:4px;text-align:left}.photo-video-search{padding:20px}.photo-video-search form{grid-template-columns:1fr}.photo-video-search .button{width:100%}.photo-video-results{padding-top:50px}.photo-video-results>header{align-items:start;flex-direction:column}.photo-video-grid{grid-template-columns:1fr}.photo-video-profile-title{grid-template-columns:1fr;margin-top:46px}.photo-video-profile-title>svg{width:130px}.photo-video-profile-title h1{font-size:3.8rem}.photo-video-portfolio>div,.photo-video-profile-body{grid-template-columns:1fr}.photo-video-profile-body{padding-block:50px}.photo-video-profile-body h2{font-size:2.7rem}.photo-video-related{padding-block:38px 75px}.photo-video-related .section-heading{margin-bottom:26px}.supplier-related-grid{grid-template-columns:1fr;gap:22px}.supplier-related-card-media{aspect-ratio:1.35}.supplier-related-card-body{padding:22px 22px 24px}}
@media(prefers-reduced-motion:reduce){.photo-video-copy,.photo-video-reel,.photo-video-search,.photo-video-card,.photo-video-card-media img,.supplier-related-card,.supplier-related-card *{animation:none;transition:none}}

/* Music directory: a warm editorial performance scene backed by truthful supplier portfolios. */
.music-directory-head{overflow:hidden;padding:56px 0 72px;background:linear-gradient(135deg,#f8edf1 0%,#f4e6ed 48%,#eee1e9 100%)}
.music-directory-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.72fr);gap:42px 7%;align-items:center}.music-directory-copy h1{max-width:11ch;margin:34px 0 20px;font-size:clamp(3.8rem,6vw,6.2rem);text-wrap:balance}.music-directory-copy>p:last-child{max-width:55ch;color:var(--muted);font-size:1rem}.music-directory-kicker{margin:38px 0 -20px;color:var(--plum);font:italic 1.25rem var(--serif)}
.music-directory-visual{position:relative;height:450px;min-height:0;margin:0 0 34px;padding:11px 11px 0 0;overflow:visible;background:transparent}.music-directory-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%;border-radius:48% 48% 5px 5px;filter:saturate(.83)}
.music-directory-search{grid-column:1/-1;padding:26px 28px;background:rgba(255,255,255,.82);box-shadow:0 22px 50px rgba(84,49,67,.1)}.music-directory-search>p{margin:0 0 15px;color:var(--plum);font:italic 1.45rem var(--serif)}.music-directory-search form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:stretch}.music-directory-search .venue-field{padding:8px 14px;background:var(--paper)}.music-directory-search .button{min-width:200px}.music-directory-search small{display:block;margin-top:12px;color:var(--muted);font-size:.68rem}
.music-directory-results>header{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-bottom:24px;border-bottom:1px solid var(--line)}.music-directory-results>header p{color:var(--plum);font-size:.64rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.music-directory-results>header h2{margin:6px 0 0}.music-directory-results>header>span{color:var(--muted);font-size:.75rem}.music-directory-results>header strong{color:var(--plum);font:500 2.5rem var(--serif)}
.music-provider-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}.music-provider-card{overflow:hidden;background:var(--white);box-shadow:var(--shadow)}.music-provider-media{display:block;aspect-ratio:1.22;background:var(--paper-deep);color:var(--plum);text-decoration:none}.music-provider-media img{width:100%;height:100%;object-fit:cover}.music-provider-media>.shop-card-placeholder{width:100%;height:100%}.music-provider-card>div{display:grid;gap:7px;padding:22px}.music-provider-card p{margin:0;color:var(--plum);font-size:.61rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.music-provider-card h3{margin:0;font-size:1.9rem}.music-provider-card h3 a{color:inherit;text-decoration:none}.music-provider-card span,.music-provider-card em{color:var(--muted);font-size:.72rem}.music-provider-card em{margin-top:5px;color:var(--rose);font-style:normal}.music-empty>div:first-child{color:var(--rose);font:400 3rem var(--serif)}
.music-profile-head{padding:42px 0 62px;background:linear-gradient(135deg,#f8edf1,#eadce5)}.music-profile-title{display:grid;grid-template-columns:1fr 280px;gap:50px;align-items:end;margin-top:50px}.music-profile-title h1{max-width:13ch;margin:12px 0;font-size:clamp(3.6rem,6vw,6rem)}.music-profile-title p{color:var(--plum);font-size:.67rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.music-profile-title>div>span:last-child{display:block;color:var(--muted)}.music-profile-title>svg{width:100%;fill:none;stroke:var(--plum);stroke-width:1.5}.music-audio{display:grid;align-content:center;gap:15px;padding:24px;background:#f7edf1}.music-audio audio{width:100%}.music-audio span{color:var(--plum);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:900px){.music-directory-hero{grid-template-columns:1fr}.music-directory-visual{height:350px}.music-directory-search{grid-column:auto}.music-provider-grid{grid-template-columns:1fr 1fr}.music-profile-title{grid-template-columns:1fr 220px}}
@media(max-width:620px){.music-directory-head{padding:34px 0 52px}.music-directory-copy h1{margin-top:27px;font-size:3.45rem}.music-directory-visual{height:240px;margin-bottom:27px}.music-directory-search{margin-inline:-15px;padding:23px 20px}.music-directory-search form{grid-template-columns:1fr}.music-directory-search .button{min-width:0}.music-provider-grid{grid-template-columns:1fr}.music-profile-title{grid-template-columns:1fr;margin-top:36px}.music-profile-title>svg{width:180px;justify-self:end}.music-directory-results>header{align-items:start}.music-directory-results>header>span{white-space:nowrap}}

/* Homepage supplier index: three calm starting points, with specialist services kept secondary. */
.home-paths{padding-block:88px}
.home-paths-layout{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(54px,8vw,118px);align-items:start}
.home-paths-intro{position:sticky;top:122px;padding-top:8px}
.home-paths .home-paths-intro h2{max-width:8.5ch;margin:0;text-align:left;font-size:clamp(3rem,5.4vw,5.15rem);line-height:.94;letter-spacing:-.035em}
.home-paths-intro p{max-width:34ch;margin:25px 0 0;color:#705f67;font-size:.94rem;line-height:1.65}
.home-paths-list{display:block;border:0}
.home-paths-primary{border-top:1px solid var(--rose)}
.home-paths-primary .home-path{grid-template-columns:46px minmax(0,1fr) 22px;min-height:116px;padding:22px 4px;border-bottom:1px solid var(--line)}
.home-paths-primary .home-path+.home-path{border-left:0}
.home-paths-primary .home-path>svg:first-child{width:46px;height:46px}
.home-paths-primary .home-path span{font-size:clamp(2rem,3.1vw,3rem);line-height:1}
.home-paths-primary .home-path:hover,.home-paths-primary .home-path:focus-visible{padding-inline:18px;background:rgba(255,253,249,.64)}
.home-paths-secondary{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,.72fr);gap:10px 28px;align-items:center;margin-top:25px}
.home-paths-secondary>p{margin:0;color:#806d76;font:italic 1.05rem/1.2 var(--serif);white-space:nowrap}
.home-paths-secondary .home-path{display:grid;grid-template-columns:27px minmax(0,1fr) 15px;gap:10px;min-height:52px;padding:7px 0;border:0;color:#684257}
.home-paths-secondary .home-path+.home-path{border-left:0}
.home-paths-secondary .home-path>svg:first-child{width:27px;height:27px}
.home-paths-secondary .home-path span{font:700 .72rem/1.25 var(--sans);letter-spacing:.01em}
.home-paths-secondary .home-path .home-path-arrow{width:15px;height:15px}
.home-paths-secondary .home-path:hover,.home-paths-secondary .home-path:focus-visible{background:transparent;color:#3f2636}
@media(prefers-reduced-motion:no-preference){.home-paths-primary .home-path{transition:padding .38s cubic-bezier(.16,1,.3,1),background-color .38s ease}}
@media(max-width:900px){.home-paths-layout{grid-template-columns:1fr;gap:42px}.home-paths-intro{position:static}.home-paths .home-paths-intro h2{max-width:13ch}.home-paths-intro p{max-width:48ch}.home-paths-secondary{grid-template-columns:auto 1fr 1fr}}
@media(max-width:620px){.home-paths{padding-block:62px}.home-paths-layout{gap:33px}.home-paths .home-paths-intro h2{max-width:9ch;font-size:clamp(2.85rem,13vw,3.8rem)}.home-paths-intro p{margin-top:18px;font-size:.86rem}.home-paths-primary .home-path{grid-template-columns:38px minmax(0,1fr) 18px;min-height:90px;padding:18px 2px}.home-paths-primary .home-path>svg:first-child{width:38px;height:38px}.home-paths-primary .home-path span{font-size:1.8rem}.home-paths-primary .home-path:hover,.home-paths-primary .home-path:focus-visible{padding-inline:9px}.home-paths-secondary{grid-template-columns:1fr;gap:2px;margin-top:22px}.home-paths-secondary>p{margin-bottom:7px}.home-paths-secondary .home-path{grid-template-columns:26px minmax(0,1fr) 15px;min-height:46px}.home-paths-secondary .home-path+.home-path{border-top:1px solid rgba(108,59,87,.12)}}
@media(prefers-reduced-motion:reduce){.home-paths-primary .home-path{transition:none}}

/* Couple portal design studio: three real compositions over the same private account data. */
.portal-template-picker{min-height:calc(100vh - 88px);padding:70px 0 110px;background:#f8efef;color:#402936;overflow:hidden}
.portal-template-picker-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.62fr);gap:70px;align-items:end;padding-bottom:48px;border-bottom:1px solid #cf9eb0}
.portal-template-picker-head h1{max-width:12ch;margin:54px 0 0;font-size:clamp(3.7rem,7vw,6rem);line-height:.9;letter-spacing:-.035em;text-wrap:balance}
.portal-template-picker-head>p{max-width:48ch;margin:0;color:#705d67;font-size:1rem;line-height:1.75}
.portal-template-options{display:grid;gap:54px;margin-top:54px}
.portal-template-option{display:grid;grid-template-columns:minmax(290px,.7fr) minmax(480px,1.3fr);min-height:470px;background:#fffdf9;box-shadow:0 28px 70px rgba(72,38,57,.11);overflow:hidden}
.portal-template-option:nth-child(even){grid-template-columns:minmax(480px,1.3fr) minmax(290px,.7fr)}
.portal-template-option:nth-child(even) .portal-template-option-copy{grid-column:2}
.portal-template-option:nth-child(even) .portal-template-scene{grid-column:1;grid-row:1}
.portal-template-option-copy{align-self:center;padding:48px clamp(34px,5vw,64px)}
.portal-template-option-title{display:flex;align-items:center;justify-content:space-between;gap:18px}
.portal-template-option-title h2{margin:0;font-size:clamp(2.8rem,4.2vw,4.4rem);line-height:.92}
.portal-template-option-title>span{flex:none;padding:8px 12px;border:1px solid #a56d83;border-radius:999px;color:#6c3d55;font-size:.64rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.portal-template-option-copy>p{max-width:51ch;margin:22px 0 0;color:#6e5b64;line-height:1.72}
.portal-template-option-copy ul{display:flex;flex-wrap:wrap;gap:8px 22px;margin:27px 0 32px;padding:20px 0 0;border-top:1px solid #ead6de;list-style:none}
.portal-template-option-copy li{position:relative;padding-left:17px;color:#634d59;font-size:.72rem;font-weight:650}
.portal-template-option-copy li::before{content:"";position:absolute;top:.48em;left:0;width:7px;height:7px;border:1px solid #b97891;border-radius:50%}
.portal-template-option-actions{display:flex;flex-wrap:wrap;gap:11px;align-items:center}.portal-template-option-actions form{display:contents}.portal-template-option-actions .button{min-width:170px}.portal-template-option-actions .button:disabled{cursor:default;opacity:.58}
.portal-template-scene{display:grid;place-items:center;padding:46px;background:#ead7df}
.portal-template-scene-window{display:grid;width:min(100%,650px);aspect-ratio:1.47;background:#fffdf9;box-shadow:0 24px 58px rgba(55,27,44,.18);overflow:hidden}
.portal-template-scene-cover{position:relative;overflow:hidden;background:#f0dce4}.portal-template-scene-cover>i{position:absolute;background:linear-gradient(140deg,#75465f,#2f1f29)}.portal-template-scene-cover>span{position:absolute;display:grid;gap:10px}.portal-template-scene-cover b{display:block;height:9px;background:rgba(91,50,73,.6)}.portal-template-scene-cover b:nth-child(1){width:75%}.portal-template-scene-cover b:nth-child(2){width:100%;height:18px}.portal-template-scene-cover b:nth-child(3){width:55%}
.portal-template-scene-nav{display:grid;background:#68425b}.portal-template-scene-nav i{display:block;border-color:rgba(255,255,255,.2);border-style:solid}
.portal-template-scene-sheet{display:grid;align-content:center;gap:17px;padding:38px;background:#fffdf9}.portal-template-scene-sheet strong{display:block;width:42%;height:30px;border-bottom:2px solid #b97991}.portal-template-scene-sheet span{display:block;height:42px;border-bottom:1px solid #e1c9d2}
.portal-template-option-studio .portal-template-scene-window{grid-template-columns:86px 1fr;grid-template-rows:145px 1fr}.portal-template-option-studio .portal-template-scene-cover{grid-column:1/-1}.portal-template-option-studio .portal-template-scene-cover>i{inset:0 0 0 58%}.portal-template-option-studio .portal-template-scene-cover>span{left:8%;top:31%;width:38%}.portal-template-option-studio .portal-template-scene-nav{grid-row:2;grid-template-rows:repeat(5,1fr)}.portal-template-option-studio .portal-template-scene-nav i{border-width:0 0 1px}.portal-template-option-studio .portal-template-scene-sheet{grid-column:2;grid-row:2}
.portal-template-option-journal .portal-template-scene{background:#d8bcc9}.portal-template-option-journal .portal-template-scene-window{grid-template-columns:34% 74px 1fr}.portal-template-option-journal .portal-template-scene-cover>i{inset:0;background:linear-gradient(180deg,rgba(64,31,50,.1),rgba(41,23,34,.7))}.portal-template-option-journal .portal-template-scene-cover>span{left:12%;right:12%;bottom:14%}.portal-template-option-journal .portal-template-scene-cover b{background:rgba(255,245,248,.76)}.portal-template-option-journal .portal-template-scene-nav{grid-template-rows:repeat(5,1fr);background:#482c3d}.portal-template-option-journal .portal-template-scene-nav i{border-width:0 0 1px}.portal-template-option-journal .portal-template-scene-sheet{padding-inline:44px}
.portal-template-option-agenda .portal-template-scene{background:#efe1dc}.portal-template-option-agenda .portal-template-scene-window{grid-template-rows:105px 54px 1fr}.portal-template-option-agenda .portal-template-scene-cover>i{inset:0 0 0 67%;background:linear-gradient(140deg,#9e7085,#5f394e)}.portal-template-option-agenda .portal-template-scene-cover>span{left:6%;top:26%;width:45%}.portal-template-option-agenda .portal-template-scene-nav{grid-template-columns:repeat(5,1fr);background:#f0dfe5}.portal-template-option-agenda .portal-template-scene-nav i{border-width:0 1px 0 0;border-color:rgba(87,46,68,.18)}.portal-template-option-agenda .portal-template-scene-sheet{padding-inline:58px}
.portal-template-picker ::selection{background:#ddb1c1;color:#311f29}.portal-template-picker :focus-visible{outline:3px solid #d58ba6;outline-offset:4px}
.couple-template-preview-notice{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;padding:16px 20px;background:#402936;color:#fff;box-shadow:0 16px 38px rgba(58,30,47,.16)}.couple-template-preview-notice>div{display:flex;align-items:center;gap:13px}.couple-template-preview-notice span{color:#e8ccd6;font-size:.62rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.couple-template-preview-notice strong{font:500 1.35rem var(--serif)}.couple-template-preview-notice .text-link{color:#fff}.couple-template-preview-notice .button{min-height:44px;background:#fff;color:#5f354b}.couple-template-preview-notice form{display:contents}

/* Jurnal romantic: the couple identity becomes a cover beside a dark chapter rail. */
.couple-template-journal{--studio-plum:#57354a;--studio-rose:#c28198;--studio-blush:#ead3dc;--studio-mist:#f7eaf0;--studio-paper:#fffdfa;--studio-line:#e1c4d0}
.couple-template-journal .couple-album-cover{min-height:430px;border-radius:0;background:#f6e8ee}
.couple-template-journal .couple-album-cover>img{inset:0 auto 0 0;width:37%;filter:saturate(.7) contrast(.95)}
.couple-template-journal .couple-album-cover::after{inset:0 63% 0 0;background:linear-gradient(180deg,rgba(52,27,43,.08),rgba(39,21,32,.65))}
.couple-template-journal .couple-album-cover-copy{width:63%;min-height:430px;margin-left:37%;padding:54px clamp(38px,6vw,78px)}
.couple-template-journal .couple-album-cover h1{font-size:clamp(3.8rem,6vw,5.8rem)}
.couple-template-journal .couple-album-cover figcaption{right:auto;bottom:13px;left:15px}
.couple-template-journal .couple-portal-bloom{right:-25px;width:330px;color:#b46f89;opacity:.32}
.couple-template-journal .couple-studio-layout{grid-template-columns:250px minmax(0,1fr);margin-top:0}
.couple-template-journal .couple-studio-nav{top:88px;border-radius:0;background:#4a2d3e}
.couple-template-journal .couple-studio-nav a{min-height:82px;border-color:rgba(255,255,255,.12);color:#ead8df}
.couple-template-journal .couple-studio-nav a svg{border-color:rgba(255,255,255,.22);background:transparent}.couple-template-journal .couple-studio-nav a:hover{background:#5d3a4f;color:#fff}.couple-template-journal .couple-studio-nav a[aria-current="location"]{background:#fffdfa;color:#57354a}.couple-template-journal .couple-studio-nav a[aria-current="location"] svg{border-color:#d8aabd;background:#f8edf1}
.couple-template-journal .couple-studio-workspace{border-radius:0;background:#fffdfa}.couple-template-journal .couple-album-page{padding-block:58px}.couple-template-journal .couple-album-page-head h2{font-style:italic}

/* Agenda luminoasă: a compact identity band and a horizontal tool index. */
.couple-template-agenda{--studio-plum:#70465d;--studio-rose:#b9768f;--studio-blush:#f1dfe5;--studio-mist:#fbf2f3;--studio-paper:#fffefa;--studio-line:#ead4dc}
.couple-template-agenda .couple-studio-hero{box-shadow:0 20px 55px rgba(75,43,60,.09)}
.couple-template-agenda .couple-album-cover{min-height:230px;border-radius:12px 12px 0 0;background:#f5e7e9}
.couple-template-agenda .couple-album-cover>img{width:34%;object-position:center 42%;filter:saturate(.72) contrast(.9)}
.couple-template-agenda .couple-album-cover::after{inset:0 0 0 66%;background:linear-gradient(90deg,rgba(65,35,51,.08),rgba(45,24,36,.25))}
.couple-template-agenda .couple-album-cover-copy{justify-content:center;width:66%;min-height:230px;padding:28px clamp(30px,5vw,62px)}
.couple-template-agenda .couple-studio-greeting{font-size:.95rem}.couple-template-agenda .couple-album-cover h1{font-size:clamp(2.8rem,4.4vw,4rem)}.couple-template-agenda .couple-album-names{margin-top:15px}.couple-template-agenda .couple-portal-head-actions{margin-top:16px}.couple-template-agenda .couple-portal-head-actions .button{min-height:42px}.couple-template-agenda .couple-portal-bloom{right:3%;width:210px;opacity:.48}
.couple-template-agenda .couple-studio-layout{display:block;margin-top:18px}.couple-template-agenda .couple-studio-nav{position:sticky;top:6px;display:grid;grid-template-columns:repeat(6,1fr);border-radius:12px 12px 0 0;background:#f0dfe5;box-shadow:0 16px 38px rgba(76,42,59,.08)}
.couple-template-agenda .couple-studio-nav a{display:flex;min-height:68px;justify-content:center;padding:10px;border-right:1px solid rgba(104,66,91,.12);border-bottom:0;text-align:center}.couple-template-agenda .couple-studio-nav a:last-child{border-right:0}.couple-template-agenda .couple-studio-nav a svg{width:30px;height:30px;padding:6px}.couple-template-agenda .couple-studio-nav a::after{right:22%;bottom:0;left:22%;width:auto;height:2px;border-radius:0;transform:scaleX(0)}.couple-template-agenda .couple-studio-nav a[aria-current="location"]::after{transform:scaleX(1)}
.couple-template-agenda .couple-studio-workspace{min-height:520px;border-radius:0 0 12px 12px;box-shadow:0 24px 60px rgba(76,42,59,.08)}.couple-template-agenda .couple-album-page{min-height:520px;padding-block:42px}.couple-template-agenda .couple-album-page-head h2{font-size:clamp(3.1rem,4.8vw,4.45rem)}
@media(prefers-reduced-motion:no-preference){.portal-template-option{animation:portal-template-arrive .72s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--template-order,0) * 80ms)}.portal-template-option:nth-child(2){--template-order:1}.portal-template-option:nth-child(3){--template-order:2}.portal-template-scene-window{transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s ease}.portal-template-option:hover .portal-template-scene-window{transform:translateY(-8px) rotate(-.35deg);box-shadow:0 34px 72px rgba(55,27,44,.22)}@keyframes portal-template-arrive{from{opacity:.2;transform:translateY(24px);filter:blur(5px);clip-path:inset(0 0 9% 0)}to{opacity:1;transform:none;filter:none;clip-path:inset(0)}}}
@media(max-width:900px){.portal-template-picker-head{grid-template-columns:1fr;gap:24px}.portal-template-picker-head h1{margin-top:42px}.portal-template-option,.portal-template-option:nth-child(even){grid-template-columns:1fr}.portal-template-option:nth-child(even) .portal-template-option-copy,.portal-template-option:nth-child(even) .portal-template-scene{grid-column:auto;grid-row:auto}.portal-template-option:nth-child(even) .portal-template-scene{order:2}.portal-template-scene{min-height:390px}.couple-template-journal .couple-album-cover{min-height:400px}.couple-template-journal .couple-album-cover>img{inset:0 0 auto;width:100%;height:155px}.couple-template-journal .couple-album-cover::after{inset:0 0 auto;height:155px}.couple-template-journal .couple-album-cover-copy{width:100%;min-height:400px;margin:0;padding:184px 28px 30px}.couple-template-journal .couple-album-cover figcaption{top:132px;bottom:auto}.couple-template-journal .couple-studio-layout{display:block;margin-top:20px}.couple-template-journal .couple-studio-nav{display:flex;border-radius:14px}.couple-template-journal .couple-studio-nav a{min-width:102px}.couple-template-agenda .couple-studio-nav{overflow-x:auto;grid-template-columns:repeat(6,minmax(105px,1fr))}}
@media(max-width:620px){.portal-template-picker{padding:38px 0 78px}.portal-template-picker-head{padding-bottom:32px}.portal-template-picker-head h1{margin-top:34px;font-size:clamp(3.1rem,14vw,4.25rem)}.portal-template-options{gap:30px;margin-top:30px}.portal-template-option-copy{padding:34px 24px}.portal-template-option-title{align-items:flex-start;flex-direction:column}.portal-template-option-title h2{font-size:3rem}.portal-template-option-copy ul{display:grid;gap:8px}.portal-template-option-actions{display:grid}.portal-template-option-actions .button{width:100%}.portal-template-scene{min-height:260px;padding:22px}.portal-template-scene-window{aspect-ratio:1.28}.portal-template-option-studio .portal-template-scene-window{grid-template-columns:60px 1fr;grid-template-rows:105px 1fr}.portal-template-option-journal .portal-template-scene-window{grid-template-columns:33% 52px 1fr}.portal-template-option-agenda .portal-template-scene-window{grid-template-rows:78px 42px 1fr}.portal-template-scene-sheet{gap:10px;padding:20px}.portal-template-scene-sheet strong{height:21px}.portal-template-scene-sheet span{height:28px}.couple-template-preview-notice{align-items:flex-start;flex-direction:column}.couple-template-preview-notice>div:last-child{width:100%;flex-direction:column;align-items:stretch}.couple-template-preview-notice .button{width:100%}.couple-template-agenda .couple-album-cover{min-height:360px}.couple-template-agenda .couple-album-cover>img{inset:0 0 auto;width:100%;height:120px}.couple-template-agenda .couple-album-cover::after{inset:0 0 auto;height:120px}.couple-template-agenda .couple-album-cover-copy{width:100%;min-height:360px;padding:142px 22px 24px}.couple-template-agenda .couple-album-cover h1{font-size:2.8rem}.couple-template-agenda .couple-studio-nav a{min-width:88px}.couple-template-agenda .couple-studio-nav a span{font-size:.64rem}}
@media(prefers-reduced-motion:reduce){.portal-template-option,.portal-template-scene-window{animation:none;transition:none}}

/* Couple studio — one calm workspace instead of stacked dashboard panels. */
html:has(.couple-studio),body:has(.couple-studio){max-width:100%;overflow-x:clip}
.couple-studio{--studio-ink:#3f2636;--studio-plum:#68425b;--studio-rose:#b97991;--studio-blush:#f2dfe6;--studio-mist:#f8eff1;--studio-paper:#fffdf9;--studio-line:#e4ccd5;position:relative;max-width:1280px;padding-block:32px 110px;color:var(--studio-ink);overflow-x:clip}
.couple-studio::before,.couple-studio::after{content:"";position:absolute;z-index:-1;border:1px solid rgba(185,121,145,.28);border-radius:50%;pointer-events:none}.couple-studio::before{top:260px;left:-120px;width:280px;height:280px}.couple-studio::after{top:610px;right:-85px;width:190px;height:190px}
.couple-studio .couple-studio-hero,.couple-studio .couple-studio-hero.couple-portal-welcome{display:block;min-height:0;border:0;background:transparent;box-shadow:0 30px 80px rgba(78,43,61,.12);overflow:hidden}
.couple-studio .couple-album-cover{min-height:350px;border-radius:16px;background:linear-gradient(128deg,#f7e9ee 0%,#f8eef0 58%,#9e7085 58%,#68425b 100%);color:var(--studio-ink);overflow:hidden}
.couple-studio .couple-album-cover::before{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgba(255,253,249,.2),transparent 62%);pointer-events:none}.couple-studio .couple-album-cover::after{content:"";position:absolute;z-index:1;inset:0 0 0 58%;background:linear-gradient(90deg,rgba(69,39,55,.2),rgba(42,24,34,.36));pointer-events:none}
.couple-studio .couple-album-cover>img{position:absolute;z-index:0;inset:0 0 0 auto;width:42%;height:100%;object-fit:cover;object-position:center 47%;filter:saturate(.78) contrast(.92)}
.couple-studio .couple-album-cover-copy{position:relative;z-index:3;display:flex;justify-content:center;min-height:350px;width:58%;padding:42px clamp(34px,5vw,68px);background:transparent}
.couple-studio-greeting{margin:0 0 10px;color:var(--studio-plum);font:italic 500 1.08rem/1.4 var(--serif)}
.couple-studio .couple-album-cover h1{max-width:12ch;margin:0;color:var(--studio-ink);font-size:clamp(3.2rem,5.3vw,5.2rem);line-height:.88;letter-spacing:-.025em;text-wrap:balance}
.couple-studio .couple-album-names{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:25px 0 0;padding:0;border:0}.couple-studio .couple-album-names strong{color:var(--studio-plum);font-size:clamp(1.08rem,1.7vw,1.35rem)}.couple-studio .couple-album-names span{margin:0;padding-left:14px;border-left:1px solid var(--studio-rose);color:#6d5663;font-size:.68rem}.couple-studio .couple-portal-wedding-context{margin:9px 0 0!important;color:#725865!important}
.couple-studio .couple-portal-head-actions{gap:18px;margin-top:25px}.couple-studio .couple-portal-head-actions form{display:flex;align-items:center}.couple-studio .couple-portal-head-actions .button{min-height:46px;border-color:var(--studio-rose);background:var(--studio-paper);color:var(--studio-plum)}.couple-studio .couple-portal-head-actions .button:hover{background:var(--studio-plum);color:white}.couple-studio .couple-portal-head-actions .text-link{min-height:auto;padding:8px 0;border:0;background:transparent;color:var(--studio-plum);font-size:.7rem;cursor:pointer}
.couple-studio .couple-album-cover figcaption{right:18px;bottom:14px;color:rgba(255,255,255,.84);font-size:.58rem;writing-mode:horizontal-tb}.couple-studio .couple-portal-bloom{z-index:2;right:2%;bottom:-7px;width:270px;color:#f6dce5;opacity:.78}
.couple-studio-layout{display:grid;grid-template-columns:220px minmax(0,1fr);margin:34px 0 0;align-items:start}.couple-studio .couple-studio-nav{position:sticky;top:92px;z-index:6;display:grid;grid-template-columns:1fr;grid-template-rows:none;align-content:start;margin:0;border:0;border-radius:16px 0 0 16px;background:#f4e5ea;box-shadow:none;overflow:hidden}
.couple-studio .couple-studio-nav a{position:relative;display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:center;justify-content:start;min-height:72px;padding:12px 18px;border:0;border-bottom:1px solid rgba(104,66,91,.12);color:#6e5965;font:700 .72rem/1.2 var(--sans);letter-spacing:.01em;text-align:left;transition:background-color .24s ease,color .24s ease,transform .34s cubic-bezier(.16,1,.3,1)}.couple-studio .couple-studio-nav a:last-child{border-bottom:0}.couple-studio .couple-studio-nav a::after{content:"";position:absolute;right:15px;bottom:auto;left:auto;width:7px;height:7px;border-radius:50%;background:var(--studio-rose);opacity:0;transform:scale(.2);transition:opacity .24s ease,transform .34s cubic-bezier(.16,1,.3,1)}
.couple-studio .couple-studio-nav a svg{display:block;width:38px;height:38px;padding:9px;border:1px solid rgba(104,66,91,.18);border-radius:50%;background:rgba(255,253,249,.64);stroke:currentColor;transition:transform .34s cubic-bezier(.16,1,.3,1),background-color .24s ease}.couple-studio .couple-studio-nav a:hover{background:#f9f0f3;color:var(--studio-plum);transform:none}.couple-studio .couple-studio-nav a:hover svg{transform:rotate(-4deg) scale(1.05)}.couple-studio .couple-studio-nav a[aria-current="location"]{background:var(--studio-plum);color:white}.couple-studio .couple-studio-nav a[aria-current="location"]::after{opacity:1;transform:scale(1);background:#f2ccd8}.couple-studio .couple-studio-nav a[aria-current="location"] svg{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.1)}
.couple-studio-workspace{position:relative;min-width:0;min-height:560px;border-radius:0 16px 16px 0;background:var(--studio-paper);box-shadow:0 28px 72px rgba(76,42,59,.1);overflow:hidden}.couple-studio-workspace::after{content:"";position:absolute;z-index:0;right:-105px;top:-125px;width:280px;height:280px;border:1px solid rgba(185,121,145,.2);border-radius:50%;pointer-events:none}.couple-studio-workspace>[data-couple-panel]:not([hidden]),.couple-studio-workspace [data-couple-panel]:not([hidden]){animation:studio-page-reveal .62s cubic-bezier(.16,1,.3,1) both}
.couple-studio .couple-album-page{z-index:1;display:grid;grid-template-rows:auto auto auto auto;min-height:560px;padding:46px clamp(30px,5vw,64px) 48px;background:transparent}.couple-studio .couple-album-page::after{display:none}.couple-studio .couple-album-page-head{gap:26px;padding-bottom:24px;border-color:var(--studio-line)}.couple-studio .couple-album-page-head h2{color:var(--studio-ink);font-size:clamp(3.4rem,5.4vw,5rem);line-height:.88}.couple-studio .couple-album-page-head>div:first-child>span{margin-top:12px;color:#765f6b;font-size:1.05rem}.couple-studio .couple-album-progress strong{color:var(--studio-plum)}.couple-studio .couple-album-progress progress,.couple-studio .couple-budget-progress progress{accent-color:var(--studio-rose)}
.couple-studio .couple-album-next{padding-top:24px}.couple-studio .couple-album-next li{min-height:67px;border-color:var(--studio-line)}.couple-studio .couple-album-next li>span{border-color:var(--studio-rose);background:#fff8fa;box-shadow:inset 0 0 0 6px var(--studio-paper)}.couple-studio .couple-album-summaries{margin-top:26px;border-color:var(--studio-line)}.couple-studio .couple-album-summaries a{min-height:92px;padding-block:18px}.couple-studio .couple-album-summaries a:hover strong{color:var(--studio-rose)}
.couple-studio .couple-activation{margin:28px 0 0;padding:24px 26px;border:0;border-radius:14px;background:var(--studio-mist);box-shadow:none}.couple-studio .couple-activation h2{font-size:clamp(1.9rem,3vw,2.55rem)}.couple-studio .couple-activation ol{gap:8px}
.couple-studio .couple-dashboard-canvas{z-index:1;margin:0;padding:42px clamp(30px,5vw,64px) 50px;background:transparent;overflow:visible}.couple-studio .couple-dashboard-canvas::before,.couple-studio .couple-dashboard-canvas::after,.couple-studio .couple-dashboard-thread{display:none}.couple-studio .couple-dashboard-overview{display:block;margin:0}.couple-studio .couple-dashboard-suppliers{padding:0;border:0;background:transparent;box-shadow:none}.couple-studio .couple-dashboard-suppliers>header{padding-bottom:24px;border-bottom:1px solid var(--studio-line)}.couple-studio .couple-dashboard-suppliers>header h2{font-size:clamp(3rem,4.6vw,4.35rem)}.couple-studio .couple-dashboard-suppliers>ol li{min-height:82px}.couple-studio .couple-dashboard-tools{display:block;border:0}.couple-studio .couple-dashboard-tools .couple-tool-progress{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;margin:0;padding:46px clamp(30px,5vw,64px);border:0;background:transparent}.couple-studio .couple-dashboard-tools .couple-tool-progress>div{grid-column:2}.couple-studio .couple-dashboard-tools .couple-tool-progress progress,.couple-studio .couple-dashboard-tools .couple-tool-progress .button{grid-column:2;width:min(100%,520px)}
.couple-studio .couple-local-discovery{margin:34px 0 0;padding:30px 0 0;border-top:1px solid var(--studio-line);background:transparent}.couple-studio .couple-local-columns{gap:0;border-top:1px solid var(--studio-line)}.couple-studio .couple-guests-preview,.couple-studio .couple-media-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;min-height:340px;margin:0;padding:48px clamp(30px,5vw,64px);border:0;background:transparent;box-shadow:none}.couple-studio .couple-meetings-stage{padding:0 0 48px;background:transparent}.couple-studio .couple-portal-intro{padding:48px clamp(30px,5vw,64px) 28px;border-color:var(--studio-line)}.couple-studio .couple-appointment-list{padding-inline:clamp(30px,5vw,64px)}.couple-studio .couple-appointment{grid-template-columns:minmax(0,.8fr) minmax(340px,1.2fr);gap:34px;border-color:var(--studio-line)}.couple-studio .appointment-thread{border-radius:14px;background:var(--studio-mist)}.couple-studio .couple-portal-empty{margin:40px clamp(30px,5vw,64px);padding:42px 0;border-top:1px solid var(--studio-line);background:transparent;box-shadow:none}
.couple-studio .couple-account-hub{margin:36px 0 0;border:1px solid var(--studio-line);border-radius:14px;background:var(--studio-paper);box-shadow:0 18px 48px rgba(76,42,59,.08);overflow:hidden}.couple-studio .couple-account-hub>summary{padding:20px 24px}.couple-studio .couple-profile-settings{margin:0 32px}.couple-studio .subscription-success,.couple-studio .inquiry-errors,.couple-studio .couple-budget-pending{margin:20px clamp(30px,5vw,64px)}.couple-studio ::selection{background:#dfb4c3;color:#321f2b}.couple-studio :focus-visible{outline:3px solid #d792a9;outline-offset:4px}
@keyframes studio-page-reveal{from{opacity:.25;transform:translateY(16px);filter:blur(5px);clip-path:inset(0 0 8% 0)}to{opacity:1;transform:none;filter:none;clip-path:inset(0)}}
@media(prefers-reduced-motion:no-preference){.couple-studio .couple-studio-hero{animation:studio-cover-arrival .82s cubic-bezier(.16,1,.3,1) both}.couple-studio .couple-portal-bloom-stem{stroke-dasharray:460;stroke-dashoffset:460;animation:studio-stem-draw 1.25s .32s cubic-bezier(.16,1,.3,1) forwards}.couple-studio .couple-portal-bloom path:not(.couple-portal-bloom-stem),.couple-studio .couple-portal-bloom circle{opacity:0;animation:studio-petal-open .7s .85s cubic-bezier(.16,1,.3,1) forwards}}
@keyframes studio-cover-arrival{from{opacity:.35;transform:translateY(18px);clip-path:inset(0 0 12% 0);box-shadow:0 8px 24px rgba(78,43,61,.04)}to{opacity:1;transform:none;clip-path:inset(0);box-shadow:0 30px 80px rgba(78,43,61,.12)}}@keyframes studio-stem-draw{to{stroke-dashoffset:0}}@keyframes studio-petal-open{from{opacity:0;transform:scale(.88);transform-origin:center}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.couple-studio{padding-top:20px}.couple-studio .couple-album-cover{min-height:400px;background:#f7e9ee}.couple-studio .couple-album-cover>img{inset:0 0 auto;width:100%;height:155px;object-position:center 43%}.couple-studio .couple-album-cover::after{inset:0 0 auto;height:155px;background:linear-gradient(0deg,rgba(58,33,46,.36),transparent 70%)}.couple-studio .couple-album-cover-copy{justify-content:flex-end;width:100%;min-height:400px;padding:184px 28px 30px}.couple-studio .couple-album-cover h1{font-size:clamp(3rem,9vw,4.4rem)}.couple-studio .couple-album-cover figcaption{top:132px;right:12px;bottom:auto}.couple-studio .couple-portal-bloom{right:-70px;bottom:-28px;width:240px;color:#c8889f;opacity:.38}.couple-studio-layout{display:block;margin-top:20px}.couple-studio .couple-studio-nav{position:sticky;top:6px;display:flex;border-radius:14px;background:rgba(244,229,234,.98);overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--studio-rose) transparent;box-shadow:0 16px 38px rgba(76,42,59,.11)}.couple-studio .couple-studio-nav a{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;min-width:94px;min-height:72px;padding:9px 12px;border-right:1px solid rgba(104,66,91,.12);border-bottom:0;text-align:center}.couple-studio .couple-studio-nav a svg{width:31px;height:31px;padding:7px}.couple-studio .couple-studio-nav a::after{right:50%;bottom:4px;transform:translateX(50%) scale(.2)}.couple-studio .couple-studio-nav a[aria-current="location"]::after{transform:translateX(50%) scale(1)}.couple-studio-workspace{min-height:520px;margin-top:12px;border-radius:14px}.couple-studio .couple-appointment{grid-template-columns:1fr}.couple-studio .appointment-thread{grid-column:1;grid-row:auto}}
@media(max-width:620px){.couple-studio{padding-inline:14px;padding-bottom:78px}.couple-studio .couple-album-cover{min-height:430px;border-radius:14px}.couple-studio .couple-album-cover-copy{padding:184px 22px 25px}.couple-studio .couple-album-cover h1{font-size:clamp(2.75rem,13vw,3.75rem)}.couple-studio .couple-album-names{display:grid;gap:4px;margin-top:18px}.couple-studio .couple-album-names span{padding:0;border:0}.couple-studio .couple-portal-head-actions{gap:13px;margin-top:18px}.couple-studio .couple-portal-head-actions .button{padding-inline:16px}.couple-studio .couple-album-page,.couple-studio .couple-dashboard-canvas,.couple-studio .couple-dashboard-tools .couple-tool-progress,.couple-studio .couple-guests-preview,.couple-studio .couple-media-preview{padding:30px 20px 34px}.couple-studio .couple-album-page-head{grid-template-columns:1fr;align-items:start}.couple-studio .couple-album-progress{width:100%;text-align:left}.couple-studio .couple-album-progress strong,.couple-studio .couple-album-progress span{display:inline}.couple-studio .couple-album-progress progress{display:block}.couple-studio .couple-album-summaries{grid-template-columns:1fr}.couple-studio .couple-album-summaries a{padding-inline:0}.couple-studio .couple-album-summaries a+a{padding-left:0;border-top:1px solid var(--studio-line);border-left:0}.couple-studio .couple-activation{padding:22px 18px}.couple-studio .couple-activation ol{grid-template-columns:1fr}.couple-studio .couple-dashboard-tools .couple-tool-progress{grid-template-columns:48px minmax(0,1fr)}.couple-studio .couple-dashboard-tools .couple-tool-progress progress,.couple-studio .couple-dashboard-tools .couple-tool-progress .button{grid-column:1/-1}.couple-studio .couple-guests-preview,.couple-studio .couple-media-preview{grid-template-columns:1fr}.couple-studio .couple-portal-intro{grid-template-columns:1fr;gap:18px;padding:32px 20px 24px}.couple-studio .couple-appointment-list{padding-inline:20px}.couple-studio .couple-profile-settings{margin-inline:20px}.couple-studio .couple-profile-settings-inner{grid-template-columns:1fr;gap:28px}.couple-studio .couple-profile-form{grid-template-columns:1fr;padding:20px}}
@media(prefers-reduced-motion:reduce){.couple-studio *{scroll-behavior:auto!important}.couple-studio .couple-studio-hero,.couple-studio-workspace>[data-couple-panel]:not([hidden]),.couple-studio-workspace [data-couple-panel]:not([hidden]){animation:none!important}}

/* Portal template overrides intentionally follow the shared studio foundation. */
.couple-template-journal{--studio-plum:#57354a;--studio-rose:#c28198;--studio-blush:#ead3dc;--studio-mist:#f7eaf0;--studio-paper:#fffdfa;--studio-line:#e1c4d0}
.couple-template-journal .couple-album-cover{min-height:430px;border-radius:0;background:#f6e8ee}
.couple-template-journal .couple-album-cover>img{inset:0 auto 0 0;width:37%;height:100%;filter:saturate(.7) contrast(.95)}
.couple-template-journal .couple-album-cover::after{inset:0 63% 0 0;background:linear-gradient(180deg,rgba(52,27,43,.08),rgba(39,21,32,.65))}
.couple-template-journal .couple-album-cover-copy{width:63%;min-height:430px;margin-left:37%;padding:54px clamp(38px,6vw,78px)}
.couple-template-journal .couple-album-cover h1{font-size:clamp(3.8rem,6vw,5.8rem)}
.couple-template-journal .couple-album-cover figcaption{top:auto;right:auto;bottom:13px;left:15px}
.couple-template-journal .couple-portal-bloom{right:-25px;width:330px;color:#b46f89;opacity:.32}
.couple-template-journal .couple-studio-layout{grid-template-columns:250px minmax(0,1fr);margin-top:0}
.couple-template-journal .couple-studio-nav{top:88px;border-radius:0;background:#4a2d3e}
.couple-template-journal .couple-studio-nav a{min-height:82px;border-color:rgba(255,255,255,.12);color:#ead8df}
.couple-template-journal .couple-studio-nav a svg{border-color:rgba(255,255,255,.22);background:transparent}.couple-template-journal .couple-studio-nav a:hover{background:#5d3a4f;color:#fff}.couple-template-journal .couple-studio-nav a[aria-current="location"]{background:#fffdfa;color:#57354a}.couple-template-journal .couple-studio-nav a[aria-current="location"] svg{border-color:#d8aabd;background:#f8edf1}
.couple-template-journal .couple-studio-workspace{border-radius:0;background:#fffdfa}.couple-template-journal .couple-album-page{padding-block:58px}.couple-template-journal .couple-album-page-head h2{font-style:italic}
.couple-template-agenda{--studio-plum:#70465d;--studio-rose:#b9768f;--studio-blush:#f1dfe5;--studio-mist:#fbf2f3;--studio-paper:#fffefa;--studio-line:#ead4dc}
.couple-template-agenda .couple-studio-hero{box-shadow:0 20px 55px rgba(75,43,60,.09)}
.couple-template-agenda .couple-album-cover{min-height:230px;border-radius:12px 12px 0 0;background:#f5e7e9}
.couple-template-agenda .couple-album-cover>img{inset:0 0 0 auto;width:34%;height:100%;object-position:center 42%;filter:saturate(.72) contrast(.9)}
.couple-template-agenda .couple-album-cover::after{inset:0 0 0 66%;background:linear-gradient(90deg,rgba(65,35,51,.08),rgba(45,24,36,.25))}
.couple-template-agenda .couple-album-cover-copy{justify-content:center;width:66%;min-height:230px;padding:28px clamp(30px,5vw,62px)}
.couple-template-agenda .couple-studio-greeting{font-size:.95rem}.couple-template-agenda .couple-album-cover h1{font-size:clamp(2.8rem,4.4vw,4rem)}.couple-template-agenda .couple-album-names{margin-top:15px}.couple-template-agenda .couple-portal-head-actions{margin-top:16px}.couple-template-agenda .couple-portal-head-actions .button{min-height:42px}.couple-template-agenda .couple-portal-bloom{right:3%;width:210px;opacity:.48}
.couple-template-agenda .couple-studio-layout{display:block;margin-top:18px}.couple-template-agenda .couple-studio-nav{position:sticky;top:6px;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:none;border-radius:12px 12px 0 0;background:#f0dfe5;box-shadow:0 16px 38px rgba(76,42,59,.08);overflow:visible}
.couple-template-agenda .couple-studio-nav a{display:flex;min-width:0;min-height:68px;justify-content:center;padding:10px;border-right:1px solid rgba(104,66,91,.12);border-bottom:0;text-align:center}.couple-template-agenda .couple-studio-nav a:last-child{border-right:0}.couple-template-agenda .couple-studio-nav a svg{width:30px;height:30px;padding:6px}.couple-template-agenda .couple-studio-nav a::after{right:22%;bottom:0;left:22%;width:auto;height:2px;border-radius:0;transform:scaleX(0)}.couple-template-agenda .couple-studio-nav a[aria-current="location"]::after{transform:scaleX(1)}
.couple-template-agenda .couple-studio-workspace{min-height:520px;margin-top:0;border-radius:0 0 12px 12px;box-shadow:0 24px 60px rgba(76,42,59,.08)}.couple-template-agenda .couple-album-page{min-height:520px;padding-block:42px}.couple-template-agenda .couple-album-page-head h2{font-size:clamp(3.1rem,4.8vw,4.45rem)}
@media(max-width:900px){.couple-template-journal .couple-album-cover{min-height:400px}.couple-template-journal .couple-album-cover>img{inset:0 0 auto;width:100%;height:155px}.couple-template-journal .couple-album-cover::after{inset:0 0 auto;height:155px}.couple-template-journal .couple-album-cover-copy{width:100%;min-height:400px;margin:0;padding:184px 28px 30px}.couple-template-journal .couple-album-cover figcaption{top:132px;right:12px;bottom:auto;left:auto}.couple-template-journal .couple-studio-layout{display:block;margin-top:20px}.couple-template-journal .couple-studio-nav{display:flex;border-radius:14px;overflow-x:auto}.couple-template-journal .couple-studio-nav a{min-width:102px}.couple-template-agenda .couple-studio-nav{overflow-x:auto;grid-template-columns:repeat(6,minmax(105px,1fr))}}
@media(max-width:620px){.couple-template-agenda .couple-album-cover{min-height:360px}.couple-template-agenda .couple-album-cover>img{inset:0 0 auto;width:100%;height:120px}.couple-template-agenda .couple-album-cover::after{inset:0 0 auto;height:120px}.couple-template-agenda .couple-album-cover-copy{width:100%;min-height:360px;padding:142px 22px 24px}.couple-template-agenda .couple-album-cover h1{font-size:2.8rem}.couple-template-agenda .couple-studio-nav a{min-width:88px}.couple-template-agenda .couple-studio-nav a span{font-size:.64rem}}

/* Static concept showroom: these compositions are review artifacts, never account settings. */
.portal-concept-showroom{min-height:100vh;padding:64px 0 110px;background:#f6f0eb;color:#30242b;overflow:hidden}.portal-concept-intro{padding-bottom:54px;border-bottom:1px solid #c98da3}.portal-concept-intro-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.62fr);gap:clamp(40px,8vw,110px);align-items:end;margin-top:54px}.portal-concept-intro h1{max-width:12ch;margin:0;font-size:clamp(3.8rem,7.2vw,7rem);line-height:.87;letter-spacing:-.04em;text-wrap:balance}.portal-concept-intro-grid>div>p{max-width:44ch;margin:0;color:#706067;font-size:1rem;line-height:1.72}.portal-concept-jumps{display:flex;gap:10px;margin-top:28px}.portal-concept-jumps a{display:grid;place-items:center;width:44px;height:44px;border:1px solid #c58ca1;border-radius:50%;color:#5e354a;font:700 .73rem/1 var(--sans);transition:background-color .25s ease,color .25s ease,transform .3s cubic-bezier(.16,1,.3,1)}.portal-concept-jumps a:hover,.portal-concept-jumps a:focus-visible{background:#5e354a;color:#fff;transform:translateY(-3px)}.portal-concepts{display:grid;gap:112px;margin-top:82px}.portal-concept{scroll-margin-top:28px}.portal-concept-label{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(280px,.7fr);gap:50px;align-items:end;margin-bottom:28px}.portal-concept-label>div>span{display:block;margin-bottom:9px;color:#87566d;font-size:.66rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.portal-concept-label h2{margin:0;font-size:clamp(3rem,5.6vw,5.6rem);line-height:.9}.portal-concept-label>p{max-width:46ch;margin:0 0 6px;color:#75636b;line-height:1.65}.concept-frame{position:relative;height:610px;box-shadow:0 30px 80px rgba(64,38,51,.13);overflow:hidden}.concept-frame h3{letter-spacing:-.035em}.concept-frame img{display:block;width:100%;height:100%;object-fit:cover}.concept-frame i{font-style:normal}

.concept-maison{display:grid;grid-template-columns:39% 61%;background:#fff}.concept-maison-cover{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:40px;color:#fff;overflow:hidden}.concept-maison-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,21,25,.08),rgba(29,19,25,.82))}.concept-maison-cover img{position:absolute;inset:0;filter:saturate(.62) contrast(.95)}.concept-maison-cover>*:not(img){position:relative;z-index:1}.concept-maison-cover>span{position:absolute;top:30px;left:32px;font-size:.62rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.concept-maison-cover strong{max-width:9ch;font:400 clamp(2.3rem,4.1vw,4.4rem)/.92 var(--serif)}.concept-maison-cover small{margin-top:16px;color:#e8ced8;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.concept-maison-page{position:relative;padding:38px clamp(35px,5vw,72px) 42px 105px;background:#fffdf9}.concept-maison-page>nav{position:absolute;inset:0 auto 0 0;display:flex;flex-direction:column;align-items:center;width:72px;padding:38px 0;border-right:1px solid #e2d7d2;color:#85727b;font-size:.58rem;letter-spacing:.07em;text-transform:uppercase}.concept-maison-page>nav span,.concept-maison-page>nav b{padding:24px 0;writing-mode:vertical-rl}.concept-maison-page>nav b{color:#4d2c3e}.concept-maison-page>p{margin:3px 0 10px;color:#995d77;font:italic 1rem/1.3 var(--serif)}.concept-maison-page>h3{max-width:10ch;margin:0;font-size:clamp(3rem,5vw,5.25rem);line-height:.88}.concept-maison-feature{display:grid;gap:8px;margin-top:40px;padding:24px 0;border-block:1px solid #e1d6d1}.concept-maison-feature span{color:#9a6078;font-size:.61rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.concept-maison-feature strong{font:400 clamp(1.55rem,2.4vw,2.45rem)/1.1 var(--serif)}.concept-maison-feature i{color:#806d76;font-size:.72rem}.concept-maison-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.concept-maison-stats span{color:#74626b;font-size:.63rem;line-height:1.4}.concept-maison-stats b{display:block;margin-bottom:5px;color:#3f2a35;font:400 1.65rem/1 var(--serif)}

.concept-garden{padding:34px 48px 42px;background:#3a2030;color:#f9ecf0}.concept-garden::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 82%,rgba(198,119,151,.3),transparent 30%),radial-gradient(circle at 86% 12%,rgba(225,172,191,.12),transparent 28%)}.concept-garden-line{position:absolute;right:-20px;bottom:-35px;width:53%;fill:none;stroke:rgba(226,164,186,.45);stroke-width:1.2}.concept-garden>header{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-bottom:25px;border-bottom:1px solid rgba(255,255,255,.2)}.concept-garden>header>span{font:400 1.6rem/1 var(--serif)}.concept-garden>header nav{color:#e8ccd7;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.concept-garden>header i{justify-self:end;color:#d8a6b9;font-size:.62rem;text-transform:uppercase}.concept-garden-welcome{position:relative;z-index:1;margin:58px 0 0 6%}.concept-garden-welcome p{margin:0 0 11px;color:#dba7ba;font:italic 1rem/1.3 var(--serif)}.concept-garden-welcome h3{max-width:10ch;margin:0;color:#fff9f7;font-size:clamp(4rem,7vw,7.2rem);line-height:.8}.concept-garden-welcome>span{display:block;margin-top:25px;color:#eccdda;font-size:.77rem;letter-spacing:.08em;text-transform:uppercase}.concept-garden-steps{position:absolute;z-index:2;right:45px;bottom:38px;display:grid;grid-template-columns:1.5fr 1fr 1fr;width:min(720px,68%);border:1px solid rgba(255,255,255,.24);background:#f0d8e0;color:#432536}.concept-garden-steps>div{display:flex;flex-direction:column;gap:7px;min-height:120px;padding:21px 24px;border-right:1px solid rgba(75,42,60,.18)}.concept-garden-steps>div:last-child{border-right:0}.concept-garden-steps small{color:#85576b;font-size:.55rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.concept-garden-steps strong{font:400 clamp(1.15rem,2vw,2rem)/1.05 var(--serif)}.concept-garden-steps span{margin-top:auto;color:#765364;font-size:.62rem}

.concept-silk{padding:0 54px 42px;background:#fbf8f2;color:#493642}.concept-silk::before{content:"";position:absolute;top:-115px;right:-115px;width:340px;height:340px;border:1px solid rgba(171,119,139,.25);border-radius:50%}.concept-silk>header{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:92px;border-bottom:1px solid #dcc7cd}.concept-silk>header span{font-size:.61rem;font-weight:800;letter-spacing:.17em}.concept-silk>header p{margin:0;font:italic 1.05rem/1 var(--serif)}.concept-silk>header small{justify-self:end;color:#876b77;font-size:.61rem;text-transform:uppercase}.concept-silk>nav{position:relative;z-index:1;display:flex;justify-content:center;gap:42px;padding:18px 0;border-bottom:1px solid #eadcdf;color:#8b747d;font-size:.61rem;text-transform:uppercase}.concept-silk>nav b{color:#60364b}.concept-silk-body{position:relative;z-index:1;display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;padding:54px 4% 0}.concept-silk-heading small{color:#aa6c84;font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.concept-silk-heading h3{max-width:8ch;margin:12px 0 0;font-size:clamp(3.2rem,5vw,5.3rem);line-height:.88}.concept-silk-body ol{margin:0;padding:0;border-top:1px solid #cdaab6;list-style:none}.concept-silk-body li{display:grid;grid-template-columns:38px minmax(0,1fr) 24px;gap:16px;align-items:center;min-height:93px;border-bottom:1px solid #e1cfd5}.concept-silk-body li>span{color:#a06a7f;font-size:.6rem}.concept-silk-body li div{display:grid;gap:5px}.concept-silk-body li strong{font:400 clamp(1.15rem,2vw,1.8rem)/1.1 var(--serif)}.concept-silk-body li small{color:#8a737d;font-size:.64rem}.concept-silk-body li i{color:#9d6079;font-size:1rem}

.concept-stage{display:grid;grid-template-columns:37% 63%;grid-template-rows:1fr 120px;background:#f4c8d4;color:#432637}.concept-stage-picture{position:relative;grid-row:1/-1;overflow:hidden}.concept-stage-picture::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(49,25,39,.75))}.concept-stage-picture img{filter:saturate(.65) contrast(.93)}.concept-stage-picture span{position:absolute;z-index:1;bottom:35px;left:32px;color:#fff;font-size:.65rem;letter-spacing:.09em;text-transform:uppercase}.concept-stage-main{position:relative;padding:32px clamp(36px,5vw,68px);overflow:hidden}.concept-stage-main::after{content:"";position:absolute;right:-90px;bottom:-160px;width:360px;height:360px;border:1px solid rgba(83,43,64,.22);border-radius:50%}.concept-stage-main>header{display:flex;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid rgba(78,42,60,.25);font-size:.64rem;text-transform:uppercase}.concept-stage-main>p{margin:53px 0 8px;color:#88546d;font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.concept-stage-main>h3{position:relative;z-index:1;max-width:10ch;margin:0;font-size:clamp(3.8rem,6.1vw,6.7rem);line-height:.82}.concept-stage-score{position:absolute;right:8%;bottom:107px;display:grid;grid-template-columns:auto 70px;align-items:end;z-index:2}.concept-stage-score strong{font:400 4.5rem/.8 var(--serif)}.concept-stage-score span{font-size:.61rem;text-transform:uppercase}.concept-stage-score i{grid-column:1/-1;width:150px;height:2px;margin-top:12px;background:#5f344b}.concept-stage-main>nav{position:absolute;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);height:70px;border-top:1px solid rgba(78,42,60,.25);background:#f8dce2}.concept-stage-main>nav span,.concept-stage-main>nav b{display:grid;place-items:center;border-right:1px solid rgba(78,42,60,.18);font-size:.59rem;text-transform:uppercase}.concept-stage-main>nav b{background:#5d324a;color:#fff}.concept-stage>aside{grid-column:2;display:flex;flex-direction:column;justify-content:center;padding:18px 68px;background:#5d324a;color:#fff}.concept-stage>aside small{color:#e5b5c5;font-size:.55rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.concept-stage>aside strong{margin-top:5px;font:400 1.8rem/1 var(--serif)}.concept-stage>aside span{margin-top:6px;color:#e7cfda;font-size:.63rem}

.portal-concept-outro{margin-top:105px;padding-top:62px;border-top:1px solid #c98da3;text-align:center}.portal-concept-outro>p{margin:0;color:#8b5c70;font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.portal-concept-outro h2{max-width:17ch;margin:18px auto 28px;font-size:clamp(2.7rem,5vw,5rem);line-height:.95}.portal-concept-showroom :focus-visible{outline:3px solid #b76e8a;outline-offset:4px}.portal-concept-showroom ::selection{background:#dca9bb;color:#35202b}
@media(prefers-reduced-motion:no-preference){.portal-concept{animation:concept-reveal .7s cubic-bezier(.16,1,.3,1) both}.portal-concept:nth-child(2){animation-delay:80ms}.portal-concept:nth-child(3){animation-delay:160ms}.portal-concept:nth-child(4){animation-delay:240ms}@keyframes concept-reveal{from{opacity:.25;transform:translateY(28px);clip-path:inset(0 0 8% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}}
@media(max-width:900px){.portal-concept-intro-grid,.portal-concept-label{grid-template-columns:1fr;gap:25px}.portal-concept-intro h1{max-width:11ch}.concept-frame{height:530px}.concept-maison{grid-template-columns:34% 66%}.concept-maison-page{padding-left:90px}.concept-garden-steps{right:28px;width:78%}.concept-silk{padding-inline:35px}.concept-silk-body{gap:40px;padding-inline:0}.concept-stage{grid-template-columns:32% 68%}}
@media(max-width:620px){.portal-concept-showroom{padding:38px 0 78px}.portal-concept-intro-grid{margin-top:34px}.portal-concept-intro h1{font-size:clamp(3.1rem,14vw,4.35rem)}.portal-concepts{gap:72px;margin-top:56px}.portal-concept-label{margin-bottom:20px}.portal-concept-label h2{font-size:3.3rem}.concept-frame{height:540px;box-shadow:0 18px 48px rgba(64,38,51,.13)}.concept-maison{grid-template-columns:1fr;grid-template-rows:150px 1fr}.concept-maison-cover{padding:22px}.concept-maison-cover>span{top:17px;left:20px}.concept-maison-cover strong{font-size:2.2rem}.concept-maison-cover small{margin-top:8px}.concept-maison-cover img{object-position:center 44%}.concept-maison-page{padding:25px 18px 24px 65px}.concept-maison-page>nav{width:48px;padding-top:16px}.concept-maison-page>nav span,.concept-maison-page>nav b{padding:16px 0}.concept-maison-page>h3{font-size:2.7rem}.concept-maison-feature{margin-top:20px;padding:15px 0}.concept-maison-stats{gap:8px;margin-top:18px}.concept-maison-stats span{font-size:.52rem}.concept-maison-stats b{font-size:1.2rem}.concept-garden{padding:24px 20px}.concept-garden>header{grid-template-columns:1fr auto}.concept-garden>header nav{display:none}.concept-garden-welcome{margin:48px 0 0}.concept-garden-welcome h3{font-size:3.7rem}.concept-garden-steps{right:20px;bottom:20px;left:20px;grid-template-columns:1fr;width:auto}.concept-garden-steps>div{min-height:72px;padding:13px 16px;border-right:0;border-bottom:1px solid rgba(75,42,60,.18)}.concept-garden-steps>div:last-child{border-bottom:0}.concept-garden-steps span{display:none}.concept-garden-line{width:90%}.concept-silk{height:590px;padding:0 20px}.concept-silk>header{grid-template-columns:1fr auto}.concept-silk>header p{display:none}.concept-silk>nav{justify-content:flex-start;gap:22px;overflow:hidden;white-space:nowrap}.concept-silk-body{grid-template-columns:1fr;gap:28px;padding-top:30px}.concept-silk-heading h3{font-size:3rem}.concept-silk-body li{min-height:76px}.concept-stage{height:620px;grid-template-columns:1fr;grid-template-rows:140px 390px 90px}.concept-stage-picture{grid-row:1}.concept-stage-picture span{bottom:15px;left:18px}.concept-stage-main{padding:22px 20px}.concept-stage-main>p{margin:28px 0 7px}.concept-stage-main>h3{max-width:10ch;font-size:2.35rem;line-height:.86}.concept-stage-score{position:relative;right:auto;bottom:auto;display:flex;align-items:flex-end;gap:10px;margin-top:12px}.concept-stage-score strong{font-size:2.8rem}.concept-stage-score i{position:absolute;left:0;bottom:-10px;width:112px}.concept-stage-main>nav{height:57px}.concept-stage-main>nav span,.concept-stage-main>nav b{font-size:.49rem}.concept-stage>aside{grid-column:1;padding:15px 20px}.concept-stage>aside strong{font-size:1.45rem}.portal-concept-outro{margin-top:72px;padding-top:46px}.portal-concept-outro h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){.portal-concept{animation:none}.portal-concept-jumps a{transition:none}}

/* Grădina de seară — the permanent couple portal composition. */
.couple-garden{--studio-ink:#4a283b;--studio-plum:#4a283b;--studio-rose:#d79ab0;--studio-blush:#efd4dd;--studio-mist:#f5e4e9;--studio-paper:#fffaf6;--studio-line:#dcc0ca;padding-top:30px}.couple-garden .couple-studio-hero{position:relative;box-shadow:0 34px 90px rgba(49,24,38,.2)}.couple-garden .couple-album-cover{min-height:560px;border-radius:0;background:#402335;color:#fff8f5}.couple-garden .couple-album-cover::before{content:"";position:absolute;z-index:1;inset:0;background:#402335}.couple-garden .couple-album-cover::after{display:none}.couple-garden .couple-album-cover>img,.couple-garden .couple-album-cover figcaption{display:none}.couple-garden .couple-album-cover-copy{position:relative;z-index:3;justify-content:flex-start;width:100%;min-height:560px;padding:62px clamp(38px,7vw,92px) 178px;background:transparent}.couple-garden .couple-studio-greeting{margin-bottom:14px;color:#e4b4c5;font-size:1.1rem}.couple-garden .couple-album-cover h1{max-width:10ch;color:#fff9f6;font-size:clamp(4.5rem,7.7vw,7.6rem);line-height:.8;letter-spacing:-.03em}.couple-garden .couple-album-names{margin-top:30px}.couple-garden .couple-album-names strong{color:#f3d4df}.couple-garden .couple-album-names span{border-color:rgba(255,255,255,.25);color:#deb9c6}.couple-garden .couple-portal-wedding-context{color:#d9afbe!important}.couple-garden .couple-portal-head-actions .button{border-color:#dfafc0;background:#f0d6df;color:#49273a}.couple-garden .couple-portal-head-actions .button:hover{background:#fff8f5;color:#49273a}.couple-garden .couple-portal-head-actions .text-link{color:#f2d3de}.couple-garden .couple-portal-head-actions .text-link:hover{color:#fff}.couple-garden .couple-portal-bloom{z-index:2;right:-2%;bottom:58px;width:min(48%,570px);height:auto;color:#d68fa9;opacity:.42}.couple-garden .couple-portal-bloom path,.couple-garden .couple-portal-bloom circle{stroke-width:1;vector-effect:non-scaling-stroke}.couple-garden-status{position:absolute;z-index:4;right:clamp(28px,5vw,70px);bottom:0;display:grid;grid-template-columns:minmax(250px,1.45fr) minmax(155px,.8fr) minmax(155px,.8fr);width:min(760px,72%);background:#efd4dd;color:#47283a}.couple-garden-status>div{display:flex;flex-direction:column;gap:6px;min-height:122px;padding:22px 25px;border-right:1px solid rgba(75,40,59,.18)}.couple-garden-status>div:last-child{border-right:0}.couple-garden-status span{color:#815468;font-size:.58rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.couple-garden-status strong{font:500 clamp(1.2rem,2.1vw,2rem)/1.05 var(--serif)}.couple-garden-status small{margin-top:auto;color:#765163;font-size:.63rem}.couple-garden-status a{color:inherit;text-decoration:underline;text-decoration-color:#b77b93;text-underline-offset:4px}
.couple-garden .couple-studio-layout{display:block;margin-top:20px}.couple-garden .couple-studio-nav{position:sticky;top:6px;z-index:9;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:none;border:0;border-radius:0;background:#f0d9e1;box-shadow:0 18px 45px rgba(67,34,53,.14);overflow:hidden}.couple-garden .couple-studio-nav a{display:flex;flex-direction:row;justify-content:center;gap:9px;min-width:0;min-height:76px;padding:12px 10px;border:0;border-right:1px solid rgba(73,40,58,.14);color:#735365;text-align:center}.couple-garden .couple-studio-nav a:last-child{border-right:0}.couple-garden .couple-studio-nav a::after{right:22%;bottom:0;left:22%;width:auto;height:2px;border-radius:0;background:#7d4963;transform:scaleX(0)}.couple-garden .couple-studio-nav a[aria-current="location"]::after{background:#f1c4d3;transform:scaleX(1)}.couple-garden .couple-studio-nav a svg{width:34px;height:34px;padding:7px;border-color:rgba(93,52,74,.18);background:rgba(255,250,247,.55)}.couple-garden .couple-studio-nav a:hover{background:#f8e8ed;color:#47283a}.couple-garden .couple-studio-nav a[aria-current="location"]{background:#4a283b;color:#fff8f5}.couple-garden .couple-studio-nav a[aria-current="location"] svg{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08)}.couple-garden .couple-studio-workspace{min-height:600px;margin-top:18px;border-radius:0;background:#fffaf6;box-shadow:0 28px 75px rgba(67,34,53,.12)}.couple-garden .couple-studio-workspace::before{content:"";position:absolute;z-index:0;right:-92px;top:-110px;width:310px;height:310px;border:1px solid rgba(181,112,140,.22);border-radius:50%;pointer-events:none}.couple-garden .couple-studio-workspace::after{right:-155px;top:-55px;width:310px;height:310px;border-color:rgba(181,112,140,.17)}.couple-garden .couple-album-page{min-height:600px;padding-top:56px}.couple-garden .couple-album-page-head h2{color:#4a2b3c;font-size:clamp(3.8rem,6vw,5.8rem)}.couple-garden .couple-album-page-head>div:first-child>span{color:#7b6470}.couple-garden .couple-album-next li>span{border-color:#c7839e;background:#f5dfe6;box-shadow:inset 0 0 0 6px #fffaf6}.couple-garden .couple-activation{background:#f1dce3}.couple-garden .couple-dashboard-suppliers>header h2,.couple-garden .couple-dashboard-tools h2,.couple-garden .couple-guests-preview h2,.couple-garden .couple-media-preview h2,.couple-garden .couple-portal-intro h2{color:#4a2b3c}.couple-garden .couple-account-hub{border-color:#dcc0ca;background:#fffaf6}.couple-garden ::selection{background:#d99bb1;color:#321d29}.couple-garden :focus-visible{outline-color:#d990aa}
@media(prefers-reduced-motion:no-preference){.couple-garden .couple-studio-hero{animation:garden-night-open .85s cubic-bezier(.16,1,.3,1) both}.couple-garden-status{animation:garden-ledger-arrive .72s .22s cubic-bezier(.16,1,.3,1) both}@keyframes garden-night-open{from{opacity:.35;clip-path:inset(0 0 14% 0);box-shadow:0 8px 24px rgba(49,24,38,.05)}to{opacity:1;clip-path:inset(0);box-shadow:0 34px 90px rgba(49,24,38,.2)}}@keyframes garden-ledger-arrive{from{opacity:.25;transform:translateY(22px)}to{opacity:1;transform:none}}}
@media(max-width:900px){.couple-garden{padding-top:20px}.couple-garden .couple-album-cover{min-height:590px}.couple-garden .couple-album-cover-copy{min-height:590px;padding:55px 34px 195px}.couple-garden .couple-album-cover h1{font-size:clamp(4rem,10vw,6rem)}.couple-garden .couple-portal-bloom{right:-13%;bottom:95px;width:62%}.couple-garden-status{right:28px;width:min(760px,84%)}.couple-garden .couple-studio-layout{margin-top:16px}.couple-garden .couple-studio-nav{display:flex;border-radius:0;overflow-x:auto}.couple-garden .couple-studio-nav a{flex:1 0 115px;min-width:115px;min-height:74px;border-right:1px solid rgba(73,40,58,.14)}.couple-garden .couple-studio-workspace{margin-top:14px;border-radius:0}}
@media(max-width:620px){.couple-garden{padding-inline:14px}.couple-garden .couple-album-cover{min-height:680px;border-radius:0}.couple-garden .couple-album-cover-copy{justify-content:flex-start;min-height:680px;padding:42px 22px 260px}.couple-garden .couple-album-cover h1{font-size:clamp(3.7rem,17vw,5rem);line-height:.81}.couple-garden .couple-album-names{margin-top:23px}.couple-garden .couple-portal-head-actions{margin-top:22px}.couple-garden .couple-portal-bloom{right:-28%;bottom:170px;width:95%;opacity:.3}.couple-garden-status{right:0;left:0;bottom:0;grid-template-columns:1fr 1fr;width:100%}.couple-garden-status>div{min-height:88px;padding:14px 16px}.couple-garden-status>div:first-child{grid-column:1/-1;min-height:102px;border-right:0;border-bottom:1px solid rgba(75,40,59,.18)}.couple-garden-status>div:nth-child(2){border-right:1px solid rgba(75,40,59,.18)}.couple-garden-status strong{font-size:1.25rem}.couple-garden .couple-studio-nav a{flex-basis:94px;min-width:94px;min-height:68px}.couple-garden .couple-studio-nav a svg{width:29px;height:29px}.couple-garden .couple-album-page-head h2{font-size:3.4rem}}
@media(prefers-reduced-motion:reduce){.couple-garden .couple-studio-hero,.couple-garden-status{animation:none}}

/* Rezumatul scenei vinde discret valoarea produsului, apoi o dovedește prin date reale. */
.couple-garden-status{grid-template-columns:minmax(280px,1.55fr) repeat(2,minmax(145px,.72fr));width:min(780px,72%)}
.couple-garden-status>div{justify-content:center}
.couple-garden-capabilities{background:#f5e1e7}
.couple-garden-capabilities p{max-width:38ch;margin:5px 0 0;color:#5f3b4e;font:500 .72rem/1.52 var(--sans)}
.couple-garden-capabilities p::first-line{color:#4b2b3c}
@media(max-width:900px){.couple-garden-status{grid-template-columns:minmax(240px,1.35fr) repeat(2,minmax(128px,.7fr));width:min(700px,88%)}}
@media(max-width:620px){.couple-garden-status{grid-template-columns:1fr 1fr;width:100%}.couple-garden-status>div{justify-content:flex-start}.couple-garden-status>.couple-garden-capabilities{grid-column:1/-1;min-height:96px;border-right:0;border-bottom:1px solid rgba(75,40,59,.18)}.couple-garden-status>div:nth-child(2){border-right:1px solid rgba(75,40,59,.18)}.couple-garden-status>div:nth-child(3){border-right:0}.couple-garden-capabilities p{max-width:none;font-size:.68rem}}

/* Portal detail pass: every tab is a compact, intentional workspace rather than an inherited dashboard fragment. */
.couple-garden .couple-album-cover{min-height:520px}
.couple-garden .couple-album-cover-copy{min-height:520px;padding-bottom:158px}
.couple-garden .couple-album-cover h1{font-size:clamp(4rem,7vw,6rem)}
.couple-garden-status>div{min-height:112px;padding-block:19px}
.couple-garden .couple-studio-workspace{min-height:0}

.couple-garden .couple-dashboard-tools .couple-tool-progress{
  grid-template-columns:64px minmax(0,1fr) auto;
  grid-template-areas:"icon copy action" ". progress progress";
  column-gap:24px;
  row-gap:26px;
  align-items:center;
  min-height:280px;
  padding:52px clamp(30px,6vw,76px);
}
.couple-garden .couple-dashboard-tools .couple-tool-progress>.couple-tool-icon{grid-area:icon}
.couple-garden .couple-dashboard-tools .couple-tool-progress>div{grid-area:copy}
.couple-garden .couple-dashboard-tools .couple-tool-progress progress{grid-area:progress;width:100%;height:8px}
.couple-garden .couple-dashboard-tools .couple-tool-progress .button{grid-area:action;width:auto;min-width:190px;justify-self:end;white-space:nowrap}
.couple-garden .couple-dashboard-tools .couple-tool-progress h2{margin-bottom:8px;font-size:clamp(2.7rem,4vw,3.8rem)}
.couple-garden .couple-dashboard-tools .couple-tool-progress p{font-size:.82rem}

.couple-garden .couple-guests-preview,
.couple-garden .couple-media-preview{
  grid-template-columns:72px minmax(0,1fr) auto;
  gap:24px;
  min-height:280px;
  padding:48px clamp(30px,6vw,76px);
}
.couple-garden .couple-guests-preview>div{display:contents}
.couple-garden .couple-guests-preview>div>svg{grid-column:1}
.couple-garden .couple-guests-preview>div>div{grid-column:2}
.couple-garden .couple-guests-preview>.button,
.couple-garden .couple-media-preview>.button{grid-column:3;width:auto;min-width:190px;justify-self:end;white-space:nowrap}
.couple-garden .couple-media-preview-mark{grid-column:1}
.couple-garden .couple-media-preview>div:nth-child(2){grid-column:2}
.couple-garden .couple-guests-preview h2,
.couple-garden .couple-media-preview h2{font-size:clamp(2.7rem,4vw,3.8rem);line-height:.96}
.couple-garden .couple-guests-preview p,
.couple-garden .couple-media-preview p{max-width:52ch;font-size:.86rem;line-height:1.6}

.couple-garden .couple-local-discovery{min-height:0;margin:0;padding:36px clamp(30px,5vw,64px) 44px;border:0;border-top:1px solid var(--studio-line)}
.couple-garden .couple-local-intro{align-items:center}
.couple-garden .couple-local-intro>div{max-width:58ch}
.couple-garden .couple-local-intro .text-link{padding:12px 0}

.couple-garden .couple-meetings-stage{margin:0;padding:0 0 44px}
.couple-garden .couple-meetings-stage .couple-portal-intro{padding-top:46px}
.couple-garden .appointment-thread{border:1px solid #dfc5cf;background:#f3e1e7;color:#4a2b3c}
.couple-garden .appointment-thread h4,
.couple-garden .appointment-message:not(.appointment-message-supplier),
.couple-garden .appointment-message:not(.appointment-message-supplier) :is(strong,p){color:#4a2b3c}
.couple-garden .appointment-message:not(.appointment-message-supplier) time{color:#806a75}
.couple-garden .appointment-thread-empty{color:#725966}
.couple-garden .appointment-message:not(.appointment-message-supplier){box-shadow:0 8px 24px rgba(74,40,59,.07)}

@media(max-width:900px){
  .couple-garden .couple-album-cover,.couple-garden .couple-album-cover-copy{min-height:560px}
  .couple-garden .couple-album-cover-copy{padding-bottom:204px}
  .couple-garden .couple-dashboard-tools .couple-tool-progress{grid-template-columns:58px minmax(0,1fr);grid-template-areas:"icon copy" "progress progress" "action action";min-height:0}
  .couple-garden .couple-dashboard-tools .couple-tool-progress .button{width:100%;justify-self:stretch}
  .couple-garden .couple-guests-preview,.couple-garden .couple-media-preview{grid-template-columns:64px minmax(0,1fr)}
  .couple-garden .couple-guests-preview>.button,.couple-garden .couple-media-preview>.button{grid-column:1/-1;width:100%;justify-self:stretch}
}
@media(max-width:620px){
  .couple-garden .couple-album-cover,.couple-garden .couple-album-cover-copy{min-height:690px}
  .couple-garden .couple-album-cover-copy{padding:38px 22px 314px}
  .couple-garden .couple-album-cover h1{font-size:clamp(3.45rem,15vw,4.7rem)}
  .couple-garden .couple-dashboard-tools .couple-tool-progress{padding:34px 22px 38px}
  .couple-garden .couple-guests-preview,.couple-garden .couple-media-preview{grid-template-columns:52px minmax(0,1fr);gap:17px;min-height:0;padding:36px 22px 40px}
  .couple-garden .couple-guests-preview h2,.couple-garden .couple-media-preview h2{font-size:2.45rem}
  .couple-garden .couple-local-discovery{padding:30px 22px 36px}
  .couple-garden .couple-local-intro{align-items:flex-start}
  .couple-garden .couple-meetings-stage .couple-portal-intro{padding-inline:22px}
}

/* Furnizori — o selecție editorială și un director local liniar, fără grila rigidă de carduri. */
.couple-garden .couple-dashboard-canvas{padding:60px 0 0}
.couple-garden .couple-dashboard-suppliers{padding:0 clamp(34px,6vw,76px) 58px}
.couple-garden .couple-dashboard-suppliers>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding-bottom:30px;border-color:#d9bdc8}
.couple-garden .couple-saved-heading p{max-width:52ch;margin:11px 0 0;color:#785f6d;font-size:.85rem;font-weight:400;line-height:1.6;letter-spacing:0;text-transform:none}
.couple-garden [data-couple-panel]{scroll-margin-top:104px}
.couple-garden .couple-dashboard-suppliers>ol{margin-top:14px}
.couple-garden .couple-dashboard-suppliers>ol li{grid-template-columns:minmax(0,1fr) 52px;gap:28px;min-height:112px;padding:18px 0;border-color:#e3cdd5;transition:padding .3s cubic-bezier(.16,1,.3,1),background-color .2s ease}
.couple-garden .couple-dashboard-suppliers>ol li:hover{padding-inline:18px;background:#f8e9ee}
.couple-garden .couple-dashboard-suppliers h3{font-size:clamp(2rem,3vw,2.65rem);line-height:1}
.couple-garden .couple-dashboard-suppliers>ol p{margin-top:10px;color:#815f70;font-size:.6rem;letter-spacing:.11em}
.couple-garden .couple-dashboard-suppliers .arrow-link{width:48px;height:48px;border-color:#cfabb9;background:#fffaf6}
.couple-garden .couple-dashboard-suppliers .text-link{align-self:center}

.couple-garden .couple-local-discovery{margin:0;padding:62px clamp(34px,6vw,76px) 70px;border-top:0;background:#f4e4e9}
.couple-garden .couple-local-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px}
.couple-garden .couple-local-intro>div{max-width:64ch}
.couple-garden .couple-local-intro h2{font-size:clamp(3.2rem,5vw,4.8rem);line-height:.9;text-wrap:balance}
.couple-garden .couple-local-intro p{max-width:58ch;margin-top:16px;color:#725b67;font-size:.91rem;line-height:1.65}
.couple-garden .couple-local-boundary{max-width:68ch;margin-top:28px;color:#725b67;font-size:.77rem;line-height:1.65}
.couple-garden .couple-local-columns{display:block;margin-top:46px;border-top:1px solid #cdaab8}
.couple-garden .couple-local-column{display:grid;grid-template-columns:minmax(170px,.3fr) minmax(0,1fr) minmax(150px,.25fr);gap:34px;align-items:start;padding:34px 0;border-bottom:1px solid #d9bdc8}
.couple-garden .couple-local-column+div{padding-left:0;border-top:0;border-left:0}
.couple-garden .couple-local-column h3{margin:0;color:#4a2b3c;font-size:clamp(2rem,3vw,2.65rem);line-height:1}
.couple-garden .couple-local-column ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
.couple-garden .couple-local-column li{min-width:0;padding:0 0 14px;border-bottom:0}
.couple-garden .couple-local-column li a{display:block;overflow-wrap:anywhere;color:#4a2b3c;text-decoration-color:#be8198;text-underline-offset:5px}
.couple-garden .couple-local-column li small{margin-top:6px;color:#7d6873}
.couple-garden .couple-local-empty{grid-column:2;min-height:0;margin:0;color:#725b67}
.couple-garden .couple-local-more{align-self:center;justify-self:end;margin:0;color:#5b3349;text-align:right;text-decoration-color:#be8198;text-underline-offset:5px}

@media(prefers-reduced-motion:no-preference){
  .couple-garden .couple-local-discovery.is-visible .couple-local-column{animation:garden-supplier-unfold .52s cubic-bezier(.16,1,.3,1) both}
  .couple-garden .couple-local-discovery.is-visible .couple-local-column:nth-child(2){animation-delay:55ms}
  .couple-garden .couple-local-discovery.is-visible .couple-local-column:nth-child(3){animation-delay:110ms}
  .couple-garden .couple-local-discovery.is-visible .couple-local-column:nth-child(4){animation-delay:165ms}
  .couple-garden .couple-local-discovery.is-visible .couple-local-column:nth-child(5){animation-delay:220ms}
  @keyframes garden-supplier-unfold{from{opacity:.35;transform:translateY(14px);clip-path:inset(0 0 22% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
}
@media(max-width:900px){
  .couple-garden .couple-local-column{grid-template-columns:minmax(150px,.34fr) minmax(0,1fr)}
  .couple-garden .couple-local-column ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .couple-garden .couple-local-column .couple-local-more{grid-column:2;justify-self:start;margin-top:10px;text-align:left}
}
@media(max-width:620px){
  .couple-garden .couple-dashboard-canvas{padding-top:42px}
  .couple-garden .couple-dashboard-suppliers{padding:0 22px 44px}
  .couple-garden .couple-dashboard-suppliers>header{grid-template-columns:1fr;gap:18px}
  .couple-garden .couple-dashboard-suppliers>header h2{font-size:3rem}
  .couple-garden .couple-dashboard-suppliers>header .text-link{margin-top:0}
  .couple-garden .couple-dashboard-suppliers>ol li{grid-template-columns:minmax(0,1fr) 44px;gap:16px;min-height:104px;padding:18px 0}
  .couple-garden .couple-dashboard-suppliers>ol li:hover{padding-inline:0;background:transparent}
  .couple-garden .couple-dashboard-suppliers h3{font-size:2rem}
  .couple-garden .couple-dashboard-suppliers .arrow-link{width:42px;height:42px}
  .couple-garden .couple-local-discovery{padding:46px 22px 52px}
  .couple-garden .couple-local-intro{grid-template-columns:1fr;gap:18px}
  .couple-garden .couple-local-intro h2{font-size:3.15rem}
  .couple-garden .couple-local-intro .text-link{padding:0}
  .couple-garden .couple-local-columns{margin-top:34px}
  .couple-garden .couple-local-column{grid-template-columns:1fr;gap:20px;padding:30px 0}
  .couple-garden .couple-local-column ul{grid-template-columns:1fr 1fr;gap:16px 18px}
  .couple-garden .couple-local-column .couple-local-more,.couple-garden .couple-local-empty{grid-column:1;justify-self:start;margin-top:0}
}
@media(prefers-reduced-motion:reduce){.couple-garden .couple-local-discovery.is-visible .couple-local-column{animation:none}}
.admin-auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(145deg,var(--paper) 0%,var(--rose-soft) 100%)}
.admin-auth-card{width:min(100%,520px);padding:clamp(32px,6vw,64px);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}
.admin-auth-card h1{margin:8px 0 16px;font-size:clamp(3rem,8vw,5rem)}
.admin-auth-card>p:not(.eyebrow){color:var(--muted)}
.admin-auth-form{display:grid;gap:20px;margin-top:34px}
.admin-auth-link{display:inline-block;margin-top:24px;color:var(--plum);font-size:.72rem;font-weight:700;text-underline-offset:5px}.admin-auth-link:hover{text-decoration-thickness:2px}
.admin-field small{display:block;margin-top:7px;color:var(--muted);font-size:.62rem;line-height:1.45}.admin-enrollment-card{width:min(100%,820px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:48px;align-items:center}.admin-enrollment-qr{margin:0;text-align:center}.admin-enrollment-qr>div{padding:16px;background:var(--white);border:1px solid var(--line)}.admin-enrollment-qr svg{display:block;width:100%;height:auto;fill:var(--plum)}.admin-enrollment-qr figcaption{margin-top:14px;color:var(--muted);font-size:.65rem;line-height:1.5}.admin-enrollment-qr figcaption strong{display:block;color:var(--ink);overflow-wrap:anywhere}.admin-recovery-codes{width:min(100%,660px)}.admin-recovery-codes ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:30px 0;padding:1px;background:var(--line);list-style:none}.admin-recovery-codes li{padding:13px;background:var(--paper);text-align:center}.admin-recovery-codes code{color:var(--plum);font:700 .86rem var(--sans);letter-spacing:.08em}.admin-recovery-codes .button{width:100%}@media(max-width:680px){.admin-enrollment-card{grid-template-columns:1fr;gap:34px}.admin-enrollment-qr{order:-1}.admin-enrollment-qr>div{width:min(230px,100%);margin-inline:auto}.admin-recovery-codes ul{grid-template-columns:1fr}}

/* Account ownership and staff access are operational records, not editorial cards. */
.supplier-claim-divider{margin-top:8px;padding-top:22px;border-top:1px solid var(--line)}.supplier-claim-divider h3{margin:0 0 6px;font:700 1rem/1.3 var(--sans)}.supplier-claim-divider p{margin:0;color:var(--muted);font-size:.74rem}.admin-alert{border-color:#d7aeb7;background:#fff4f5;color:#743247}.admin-claim-form{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.admin-legacy-note,.admin-verification-stamp{margin:0;padding:14px 16px;background:var(--paper);color:var(--muted);font-size:.72rem;line-height:1.55}.admin-verification-stamp{background:#f0f4ee;color:#41553d}.admin-account-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:32px;padding:1px;background:var(--line)}.admin-account-tabs a{display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:0 20px;background:var(--white);color:var(--ink);text-decoration:none}.admin-account-tabs a[aria-current="page"]{background:var(--plum);color:var(--white)}.admin-account-tabs strong{font-variant-numeric:tabular-nums}.admin-invite-section{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(420px,1.3fr);gap:42px;margin-bottom:32px}.admin-invite-section h2{margin-bottom:18px}.admin-accounts-table td:first-child{max-width:280px;overflow-wrap:anywhere}.admin-account-inline-form{display:flex;align-items:center;gap:8px;min-width:360px}.admin-account-inline-form select{min-height:40px;padding:0 9px;border:1px solid var(--line);background:var(--white);font:600 .72rem var(--sans)}.admin-account-inline-form label{display:flex;align-items:center;gap:5px;font-size:.7rem}.admin-account-inline-form .button{min-height:40px}.admin-pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:18px}.admin-pagination span{color:var(--muted);font-size:.7rem}
@media(max-width:800px){.admin-invite-section{grid-template-columns:1fr;gap:18px}.admin-account-tabs a{padding-inline:14px}}
@media(max-width:620px){.admin-account-tabs{grid-template-columns:1fr}.admin-account-tabs a{min-height:52px}.admin-invite-section{padding:22px 18px}.admin-account-inline-form{min-width:330px}.admin-pagination{justify-content:space-between}.admin-claim-form{grid-template-columns:1fr}}
.admin-sign-out{border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.admin-operation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin:34px 0 54px}
.admin-operation-card{padding:26px;border:1px solid var(--line);background:var(--white)}
.admin-operation-card>span{font-size:.66rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.admin-operation-card h2{margin:12px 0 8px;font-size:1.8rem}
.admin-operation-card p{margin:0;color:var(--muted)}
.admin-operation-card.is-ok{border-top:4px solid #60836c}.admin-operation-card.is-warning{border-top:4px solid #bb8739}.admin-operation-card.is-critical{border-top:4px solid #a64258}

/* Planner cross-links are compact actions, distinct from the completion control. */
.planner-task-link{min-height:32px;padding-inline:12px;border-color:#cfacb8;border-radius:7px;font-size:.62rem;font-weight:650;line-height:1.2;white-space:nowrap}

/* The guest workspace uses three task views instead of one long document. */
.wedding-guests-page{padding-top:28px}
.wedding-guests-page .breadcrumbs{margin-bottom:20px}
.wedding-guests-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px;padding:34px 42px;background:#f4e6eb}
.wedding-guests-hero h1{max-width:none;font-size:clamp(2.8rem,4.2vw,4.4rem)}
.wedding-guests-hero p{max-width:62ch;margin-top:12px}
.wedding-guests-overview{display:grid;grid-template-columns:repeat(4,minmax(82px,1fr));margin:0;border-block:1px solid rgba(95,49,76,.24)}
.wedding-guests-overview>div{display:flex;min-height:78px;padding:13px 18px;flex-direction:column;justify-content:center;gap:5px;text-align:center}
.wedding-guests-overview>div+div{border-left:1px solid rgba(95,49,76,.18)}
.wedding-guests-overview dt{color:#6d5361;font-size:.62rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.wedding-guests-overview dd{margin:0;color:var(--plum);font:500 1.7rem/1 var(--serif);font-variant-numeric:tabular-nums}
.wedding-guests-workspace-nav{position:sticky;top:72px;z-index:18;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;background:#fffaf8;box-shadow:0 14px 30px rgba(65,31,51,.09)}
.wedding-guests-workspace-nav a{position:relative;display:flex;min-width:0;min-height:78px;padding:16px 24px;align-items:center;gap:14px;border-bottom:3px solid transparent;color:#6d5361;text-decoration:none;transition:background-color .24s cubic-bezier(.16,1,.3,1),color .24s cubic-bezier(.16,1,.3,1),border-color .24s cubic-bezier(.16,1,.3,1)}
.wedding-guests-workspace-nav a+a{border-left:1px solid var(--line)}
.wedding-guests-workspace-nav a:hover{background:#f8eef2;color:var(--plum)}
.wedding-guests-workspace-nav a[aria-selected=true]{border-bottom-color:var(--plum);background:var(--plum);color:var(--white)}
.wedding-guests-workspace-nav svg{flex:none;width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.45}
.wedding-guests-workspace-nav span{display:grid;min-width:0;gap:4px}.wedding-guests-workspace-nav strong{font-size:.82rem}.wedding-guests-workspace-nav small{font-size:.65rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.78}
.wedding-guests-workspace-nav a:focus-visible{z-index:1;outline:3px solid var(--focus-rose);outline-offset:-4px}
.wedding-guests-workspace{min-height:520px}
.wedding-guests-workspace-panel{scroll-margin-top:170px}
.wedding-guests-workspace-panel[hidden]{display:none!important}
@keyframes wedding-workspace-reveal{from{opacity:.2;transform:translateY(9px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
@media(prefers-reduced-motion:no-preference){.wedding-guests-workspace-panel:not([hidden]){animation:wedding-workspace-reveal .38s cubic-bezier(.16,1,.3,1)}}
.wedding-guests-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:34px;margin-top:30px}
.wedding-guests-add{position:sticky;top:174px;padding:26px 28px}
.wedding-guests-add h2,.wedding-guests-list h2{font-size:2.25rem}
.wedding-guests-add>p{font-size:.84rem}.wedding-guests-form{gap:14px;margin-top:21px}
.wedding-guests-add-details{margin:0}.wedding-guests-add-details>summary{display:none}.wedding-guests-add-details:not([open])>.wedding-guests-add-body{display:block}
.wedding-guests-add .inquiry-field input,.wedding-guests-add .inquiry-field select,.wedding-guests-add .button,.wedding-guests-search .button,.wedding-guests-add-details>summary{border-radius:12px}
.wedding-guests-list>header{padding:2px 0 18px}.wedding-guests-list>header p{font-size:.82rem}.wedding-rsvp-counts{font-variant-numeric:tabular-nums}
.wedding-guests-search{display:grid;gap:8px;margin:14px 0 12px;padding:16px 18px;border-radius:16px;background:#f7edf1}
.wedding-guests-search>label{color:#674556;font-size:.69rem;font-weight:750;letter-spacing:.045em}
.wedding-guests-search>div{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #d7bbc6;border-radius:12px;background:#fffaf8}
.wedding-guests-search svg{width:20px;height:20px;margin-left:13px;fill:none;stroke:var(--plum);stroke-width:1.7}
.wedding-guests-search input{min-width:0;min-height:48px;padding:9px 4px;border:0;background:transparent;color:var(--ink);font-size:.9rem}
.wedding-guests-search input:focus{outline:0}.wedding-guests-search>div:focus-within{outline:3px solid var(--focus-rose);outline-offset:2px}
.wedding-guests-search .button{min-height:42px;margin-right:4px;padding-inline:20px}
.wedding-guests-search>p{min-height:18px;margin:0;color:#725d68;font-size:.7rem;line-height:1.45}.wedding-guests-search>p strong{color:var(--plum);font-variant-numeric:tabular-nums}.wedding-guests-search>p a{color:var(--plum);font-weight:700;text-underline-offset:3px}
.wedding-guests-search-empty a{color:var(--plum);font-weight:700;text-underline-offset:3px}
.wedding-seating-search{margin:28px 0 4px}
.wedding-seating-search-empty{display:grid;gap:7px}.wedding-seating-search-empty strong{color:var(--ink);font:500 1.45rem/1.2 var(--serif)}.wedding-seating-search-empty span{font-size:.82rem}.wedding-seating-search-empty a{color:var(--plum);font-weight:700;text-underline-offset:3px}
@media(max-width:900px){.wedding-seating-layout.has-table-search .wedding-seating-add{grid-row:auto}}
.wedding-guests-disclosure-body{padding-top:0}
.wedding-guests-rows>li{padding:0 4px;border-bottom:1px solid var(--line)}
.wedding-guest-entry{margin:0!important}
.wedding-guest-entry>summary{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:15px 4px;list-style:none;text-decoration:none!important}
.wedding-guest-entry>summary::-webkit-details-marker{display:none}
.wedding-guest-entry>summary:hover .wedding-guests-row-main strong{color:var(--plum)}
.wedding-guest-entry>summary:focus-visible{outline:3px solid var(--focus-rose);outline-offset:2px}
.wedding-guests-row-main{display:grid;min-width:0;grid-template-columns:40px minmax(0,1fr);gap:13px}
.wedding-guests-row-main>span:first-child{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:#f2e0e8;color:var(--plum);font:500 1.25rem var(--serif)}
.wedding-guests-row-main>span:last-child{display:block;min-width:0;width:auto;height:auto;border-radius:0;background:none;color:inherit;font:inherit}
.wedding-guests-row-main strong{font-size:.86rem;transition:color .2s ease}.wedding-guests-row-main small{font-size:.7rem}
.wedding-rsvp-state{margin:0!important;white-space:nowrap;font-size:.67rem!important;text-align:right}
.wedding-guest-entry-action{display:flex;align-items:center;gap:7px;color:var(--plum);font-size:.64rem;font-weight:750;text-transform:uppercase;letter-spacing:.045em}
.wedding-guest-entry-action i{font-style:normal}.wedding-guest-entry-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.wedding-guest-entry-hide{display:none}.wedding-guest-entry[open] .wedding-guest-entry-show{display:none}.wedding-guest-entry[open] .wedding-guest-entry-hide{display:inline}.wedding-guest-entry[open] .wedding-guest-entry-action svg{transform:rotate(180deg)}
.wedding-guest-entry-body{margin:0 0 18px 53px;padding:16px 18px 18px;border-left:2px solid #e3bdcc;background:#fffaf8}
.wedding-guests-rows .wedding-guest-entry-body>details,.wedding-guests-rows .wedding-guest-entry-body>.wedding-rsvp-actions{margin:10px 0}
.wedding-guests-rows .wedding-guest-entry-body>details>summary{width:max-content}
.wedding-guests-rows .wedding-guest-entry-body .wedding-guests-remove{margin-left:0}
.wedding-guests-pages{min-height:50px;margin:10px 0 4px;padding-block:8px;border-block:1px solid var(--line);font-variant-numeric:tabular-nums}
.wedding-guests-pages>a{min-width:70px;font-size:.72rem;font-weight:750}.wedding-guests-pages>a:last-child{text-align:right}
.wedding-guests-page-links{display:flex;align-items:center;justify-content:center;gap:4px}
.wedding-guests-page-links a,.wedding-guests-page-links strong{display:grid;width:36px;height:36px;place-items:center;text-decoration:none}
.wedding-guests-page-links a:hover{background:#f2e3e9}.wedding-guests-page-links strong{background:var(--plum);color:var(--white)}.wedding-guests-page-links i{min-width:12px;color:var(--muted);font-style:normal;text-align:center}
.wedding-seating.wedding-guests-workspace-panel{margin-top:30px;padding-top:0;border-top:0}
.wedding-seating-head{padding:30px 36px;background:#f8eff2}.wedding-seating-head h2{font-size:clamp(2.4rem,3.6vw,3.5rem)}
.wedding-seating-disclosure{margin-top:16px}
.wedding-guests-workspace-nav{border-radius:16px;overflow:hidden}
.wedding-seating-head{border-radius:16px}
.wedding-seating-disclosure{border:1px solid var(--line);border-radius:16px;overflow:hidden}
.wedding-seating-disclosure>summary{padding-inline:20px}
.wedding-seating-disclosure-body{padding:0 20px 20px}
.wedding-seating-assign,.wedding-seating-add,.wedding-seating-empty,.wedding-seating-table{border-radius:16px}
.wedding-seating-add{background:var(--paper-deep)}
.wedding-seating-assign-form select,.wedding-seating-form input:not([type=submit]),.wedding-seating-form select{border-radius:12px}
.wedding-seating-assign-form .button,.wedding-seating-form .button,.wedding-seating-search .button{border-radius:12px}
.wedding-seating-table-body{border-radius:0 0 16px 16px}
.wedding-seating-table-disclosure>summary.wedding-seating-table-top{border-radius:16px}
.wedding-seating-table-disclosure[open]>summary.wedding-seating-table-top{border-radius:16px 16px 0 0}
.wedding-room-planner.wedding-guests-workspace-panel{margin-top:30px}
.wedding-room-empty{display:grid;min-height:430px;padding:60px;place-content:center;justify-items:start;background:#f4e5ea}
.wedding-room-empty h2{max-width:13ch;margin:0;font:500 clamp(2.8rem,5vw,4.6rem)/.96 var(--serif);letter-spacing:-.025em}.wedding-room-empty p{max-width:58ch;margin:20px 0 30px;color:#69525f;line-height:1.65}
@media(max-width:980px){.wedding-guests-hero{grid-template-columns:1fr;gap:25px}.wedding-guests-overview{width:100%}.wedding-guests-layout{grid-template-columns:1fr}.wedding-guests-add{position:static}.wedding-guests-workspace-nav{top:66px}}
@media(max-width:620px){.wedding-guests-page{padding-top:18px;padding-bottom:70px}.wedding-guests-page .breadcrumbs{margin-bottom:14px}.wedding-guests-hero{gap:22px;padding:27px 22px}.wedding-guests-hero h1{font-size:2.85rem;line-height:.96}.wedding-guests-hero p{font-size:.84rem;line-height:1.55}.wedding-guests-overview{grid-template-columns:repeat(2,1fr)}.wedding-guests-overview>div{min-height:64px;padding:10px 12px}.wedding-guests-overview>div:nth-child(3){border-left:0;border-top:1px solid rgba(95,49,76,.18)}.wedding-guests-overview>div:nth-child(4){border-top:1px solid rgba(95,49,76,.18)}.wedding-guests-overview dd{font-size:1.45rem}.wedding-guests-workspace-nav{top:60px;margin-inline:-2px}.wedding-guests-workspace-nav a{min-height:70px;padding:11px 5px;flex-direction:column;gap:5px;text-align:center}.wedding-guests-workspace-nav svg{width:22px;height:22px}.wedding-guests-workspace-nav strong{font-size:.66rem}.wedding-guests-workspace-nav small{display:none}.wedding-guests-workspace-panel{scroll-margin-top:145px}.wedding-guests-layout{gap:24px;margin-top:20px}.wedding-guests-add{padding:20px 21px}.wedding-guests-add h2{font-size:2rem}.wedding-guests-add>p{margin-bottom:15px}.wedding-guests-add-details>summary{display:flex;min-height:44px;padding:0 15px;align-items:center;justify-content:space-between;background:var(--plum);color:var(--white);font-size:.75rem;font-weight:750;list-style:none;cursor:pointer}.wedding-guests-add-details>summary::-webkit-details-marker{display:none}.wedding-guests-add-details>summary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .2s ease}.wedding-guests-add-details[open]>summary svg{transform:rotate(180deg)}.wedding-guests-add-details:not([open])>.wedding-guests-add-body{display:none}.wedding-guests-add-details[open]>.wedding-guests-add-body{display:block}.wedding-guests-add-details .wedding-guests-form{margin-top:18px}.wedding-guests-list>header{display:block}.wedding-guests-search{margin-top:12px;padding:14px}.wedding-guests-search>div{grid-template-columns:22px minmax(0,1fr)}.wedding-guests-search .button{grid-column:1/-1;width:100%;margin:0}.wedding-guests-search input{font-size:1rem}.wedding-guests-rows>li{padding:0}.wedding-guest-entry>summary{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:14px 0}.wedding-rsvp-state{grid-column:1;margin-left:53px!important;white-space:normal;text-align:left}.wedding-guest-entry-action{grid-column:2;grid-row:1/3}.wedding-guest-entry-action i{display:none!important}.wedding-guest-entry-body{margin:0 0 14px;padding:13px 14px}.wedding-guests-pages{gap:8px;justify-content:space-between}.wedding-guests-pages>a{min-width:54px}.wedding-guests-page-links a,.wedding-guests-page-links strong{width:32px;height:32px}.wedding-seating.wedding-guests-workspace-panel,.wedding-room-planner.wedding-guests-workspace-panel{margin-top:20px}.wedding-seating-head{padding:26px 22px}.wedding-seating-disclosure>summary{padding-inline:14px}.wedding-seating-disclosure-body{padding-inline:14px}.wedding-room-empty{min-height:360px;padding:38px 24px}.wedding-room-empty h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){.wedding-guests-workspace-nav a,.wedding-guests-workspace-panel:not([hidden]){animation:none;transition:none}}

/* Event dates are positive declarations: unchecked days remain unknown, never implicitly unavailable. */
.supplier-event-availability{margin:0;padding:58px 48px;background:#f6e9ed;border-block:1px solid var(--rose);scroll-margin-top:72px}
.supplier-event-availability-intro{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr);gap:50px;align-items:end}
.supplier-event-calendar-kicker{margin:0 0 8px;color:var(--plum);font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.supplier-event-availability h2{margin:0;font-size:clamp(2.2rem,3.4vw,3.7rem);line-height:.96}
.supplier-event-availability-intro>p{max-width:65ch;margin:0;color:var(--muted);font-size:.78rem;line-height:1.7}
.supplier-event-calendar-form{margin-top:34px}
.supplier-event-calendar-toolbar{position:sticky;top:72px;z-index:8;display:flex;min-height:72px;padding:13px 18px;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dcbcc7;background:rgba(255,250,248,.96);box-shadow:0 12px 28px rgba(74,38,59,.08);backdrop-filter:blur(10px)}
.supplier-event-calendar-toolbar p{margin:0;color:var(--muted);font-size:.72rem}.supplier-event-calendar-toolbar p strong{color:var(--plum);font:500 1.45rem var(--serif)}
.supplier-event-calendar-toolbar>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 16px}.supplier-event-calendar-toolbar .text-link{min-height:42px;padding:4px 2px;border:0;background:transparent;color:var(--plum);cursor:pointer;font-size:.67rem;font-weight:750;text-decoration:underline;text-underline-offset:4px}
.supplier-event-calendar-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}
.supplier-event-calendar-month{min-width:0;margin:0;padding:20px;border:1px solid #ddc6cf;background:#fffaf8}
.supplier-event-calendar-month legend{padding:0 8px;color:var(--ink);font:500 1.28rem var(--serif)}
.supplier-event-calendar-weekdays,.supplier-event-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.supplier-event-calendar-weekdays{margin-bottom:6px}.supplier-event-calendar-weekdays span{padding:4px 0;color:var(--muted);font-size:.57rem;font-weight:800;text-align:center;text-transform:uppercase}
.supplier-event-calendar-day{position:relative;display:grid;aspect-ratio:1;min-width:0;place-items:center;border:1px solid transparent;color:#59444f;font-size:.7rem;font-variant-numeric:tabular-nums;cursor:pointer}
.supplier-event-calendar-day input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.supplier-event-calendar-day:has(input:focus-visible){outline:3px solid var(--focus-rose);outline-offset:1px}
.supplier-event-calendar-day:has(input:hover){border-color:#cba5b5;background:#faeef2}
.supplier-event-calendar-day:has(input:checked){border-color:var(--plum);background:var(--plum);color:#fff}
.supplier-event-calendar-day.is-weekend:not(:has(input:checked)){background:#f8eff2}.supplier-event-calendar-day.is-outside{color:#c8b8be;cursor:default}
.supplier-event-calendar-save{display:flex;margin-top:20px;padding-top:20px;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid #d8b8c4}.supplier-event-calendar-save p{max-width:65ch;margin:0;color:var(--muted);font-size:.72rem;line-height:1.55}.supplier-event-calendar-save .button{flex:none}
.public-event-calendar{margin-top:54px;margin-bottom:54px;padding:42px 48px;background:#f5e8ed;border-block:1px solid #d8b8c4}
.public-event-calendar>header{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:42px;align-items:end}.public-event-calendar>header p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.65}.public-event-calendar>header>div>p{margin-bottom:8px;color:var(--plum);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.public-event-calendar h2{margin:0;font-size:clamp(2rem,3vw,3.2rem)}
.public-event-calendar ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 18px;padding:0;list-style:none}.public-event-calendar li{padding:18px;border:1px solid #dcc3cd;background:#fffaf8}.public-event-calendar li>strong{display:block;margin-bottom:12px;color:var(--plum);font:500 1.05rem var(--serif)}.public-event-calendar li>div{display:flex;flex-wrap:wrap;gap:7px}.public-event-calendar time{display:grid;width:48px;height:50px;place-content:center;border:1px solid #d9c3cb;color:var(--muted);font-size:.55rem;font-weight:750;text-align:center;text-transform:uppercase}.public-event-calendar time span{color:var(--ink);font:500 1.15rem/1 var(--serif)}.public-event-calendar>small,.public-event-calendar-more{display:block;margin:0;color:var(--muted);font-size:.66rem;line-height:1.55}.public-event-calendar-more{margin-bottom:6px!important;color:var(--plum)!important;font-weight:700}
@media(max-width:980px){.supplier-event-calendar-months,.public-event-calendar ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.supplier-event-availability{margin-inline:-15px;padding:42px 20px}.supplier-event-availability-intro,.public-event-calendar>header{grid-template-columns:1fr;gap:18px}.supplier-event-calendar-toolbar{top:60px;margin-inline:-4px;align-items:flex-start;flex-direction:column}.supplier-event-calendar-toolbar>div{justify-content:flex-start}.supplier-event-calendar-months,.public-event-calendar ol{grid-template-columns:1fr}.supplier-event-calendar-month{padding:17px}.supplier-event-calendar-save{align-items:stretch;flex-direction:column}.supplier-event-calendar-save .button{width:100%}.public-event-calendar{margin-inline:15px;padding:32px 22px}.public-event-calendar time{width:46px}}

/* Supplier media belongs to a calm album after the practical profile information. */
.supplier-album{margin-top:34px;margin-bottom:76px;padding:66px 56px;background:var(--paper);border:1px solid var(--line);border-radius:18px;scroll-margin-top:90px}
.supplier-album-head{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(280px,1.28fr);gap:52px;align-items:end;margin-bottom:34px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.supplier-album-head h2{margin:0;font-size:clamp(2.8rem,5vw,4.5rem)}
.supplier-album-head p{max-width:52ch;margin:0;color:var(--muted);line-height:1.7}
.supplier-album .profile-gallery,.supplier-album .jewelry-profile-gallery{display:grid;height:auto;margin:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;gap:14px;box-shadow:none}
.supplier-album .gallery-item,.supplier-album .jewelry-profile-gallery-item{grid-column:auto;grid-row:auto;aspect-ratio:4/3;border-radius:12px;background:var(--rose-soft);box-shadow:0 12px 28px rgba(62,37,48,.08)}
.supplier-album .gallery-item img,.supplier-album .jewelry-profile-gallery-item img{width:100%;height:100%;object-fit:cover}
.supplier-album.photo-video-portfolio{padding-top:66px}
.supplier-album.photo-video-portfolio header{text-align:left}
.supplier-album.photo-video-portfolio h2{margin:0;font:500 clamp(2.8rem,5vw,4.5rem)/.98 var(--serif)}
.supplier-album.photo-video-portfolio>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.supplier-album.photo-video-portfolio figure{aspect-ratio:4/3;border-radius:12px;box-shadow:0 12px 28px rgba(62,37,48,.08)}
.supplier-album .music-audio{display:grid;align-content:center;gap:20px;padding:28px;background:var(--plum);color:var(--white)}
.supplier-album .music-audio span{font:500 1.45rem var(--serif)}
.supplier-album .music-audio audio{width:100%}
@media(max-width:900px){.supplier-album{padding:54px 38px}.supplier-album-head{grid-template-columns:1fr;gap:14px}.supplier-album .profile-gallery,.supplier-album .jewelry-profile-gallery,.supplier-album.photo-video-portfolio>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.supplier-album{width:min(100% - 30px,1180px);margin-top:18px;margin-bottom:58px;padding:40px 20px;border-radius:14px}.supplier-album-head{margin-bottom:24px;padding-bottom:22px}.supplier-album-head h2,.supplier-album.photo-video-portfolio h2{font-size:3rem}.supplier-album .profile-gallery,.supplier-album .jewelry-profile-gallery,.supplier-album.photo-video-portfolio>div{grid-template-columns:1fr;grid-template-rows:none}.supplier-album .gallery-item,.supplier-album .jewelry-profile-gallery-item,.supplier-album.photo-video-portfolio figure{grid-column:auto;grid-row:auto;aspect-ratio:4/3}}

/* Public preview of the private planning workspace: compact by design, but concrete enough to earn account creation. */
.story-copy-single{max-width:920px}
.home-account-glimpse{display:flex;align-items:baseline;gap:24px;margin:30px 0 4px;padding:16px 0;border-block:1px solid rgba(109,49,78,.22)}
.home-account-glimpse strong{flex:none;color:var(--plum);font-size:.68rem;letter-spacing:.11em;text-transform:uppercase}
.home-account-glimpse ul{display:flex;flex-wrap:wrap;gap:6px 0;margin:0;padding:0;list-style:none;color:#67565f;font-size:.77rem}
.home-account-glimpse li{counter-increment:none;position:static;display:flex;align-items:center;padding:0;border:0;white-space:nowrap}
.home-account-glimpse li:before{content:none;position:static;display:none;width:auto;height:auto;border:0;border-radius:0;font:inherit}
.home-account-glimpse li+li:before{content:"·";display:inline;margin:0 11px;color:var(--rose)}
@media(max-width:700px){.home-account-glimpse{display:block;margin-top:25px;padding-block:14px}.home-account-glimpse strong{display:block;margin-bottom:9px}.home-account-glimpse ul{display:grid;grid-template-columns:1fr;gap:5px}.home-account-glimpse li{white-space:normal}.home-account-glimpse li:before,.home-account-glimpse li+li:before{content:"·";display:inline;margin:0 9px 0 0;color:var(--rose)}}

/* Homepage landing: one promise, one primary action, and only the proof needed to act. */
.home-landing-hero .home-video-hero-shade{background:linear-gradient(90deg,rgba(32,18,27,.72) 0%,rgba(32,18,27,.48) 48%,rgba(32,18,27,.18) 100%)}
.home-landing-hero .home-video-message{max-width:1180px}
.home-landing-hero .home-video-message>p{max-width:49ch;font-size:1rem}
.home-landing-hero-link{align-self:center;color:white;text-decoration-color:rgba(255,255,255,.62)}
.home-landing-hero-link:hover{color:#f2dce3}
.home-landing-value{padding-block:clamp(82px,10vw,132px);background:var(--paper)}
.home-landing-value-layout{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:clamp(62px,10vw,148px);align-items:start}
.home-landing-value header{position:sticky;top:122px}
.home-landing-value h2{max-width:10ch;margin:0;font-size:clamp(3.1rem,5vw,5rem);line-height:.94}
.home-landing-value header p{max-width:42ch;margin:28px 0 0;color:#6e5d65;font-size:.94rem;line-height:1.75}
.home-landing-tools{border-top:1px solid var(--rose)}
.home-landing-tools a{display:grid;grid-template-columns:minmax(155px,.7fr) minmax(0,1fr) 24px;gap:24px;align-items:center;min-height:104px;padding:20px 5px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:padding .35s cubic-bezier(.16,1,.3,1),color .2s ease}
.home-landing-tools a:hover,.home-landing-tools a:focus-visible{padding-inline:18px;color:var(--plum)}
.home-landing-tools strong{font:500 clamp(1.7rem,2.5vw,2.35rem)/1 var(--serif)}
.home-landing-tools span{color:#75636c;font-size:.78rem;line-height:1.55}
.home-landing-tools svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.home-landing-suppliers{padding-block:clamp(58px,7vw,86px);border-block:1px solid var(--line);background:#efe4d9}
.home-landing-suppliers-layout{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:clamp(50px,8vw,110px);align-items:end}
.home-landing-suppliers h2{max-width:13ch;margin:0;font-size:clamp(2.65rem,4vw,4rem);line-height:.96}
.home-landing-suppliers p{max-width:46ch;margin:20px 0 0;color:#705e67;font-size:.86rem}
.home-landing-suppliers nav{display:flex;flex-wrap:wrap;gap:12px 30px;align-content:flex-end;padding-bottom:4px}
.home-landing-suppliers nav a{padding:8px 0;border-bottom:1px solid rgba(109,49,78,.34);color:var(--plum);font-size:.83rem;font-weight:700;text-decoration:none}
.home-landing-suppliers nav a:hover{border-bottom-color:var(--plum)}
.home-landing-close{padding-block:clamp(68px,8vw,96px);background:var(--plum);color:white}
.home-landing-reviews-head{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-bottom:25px;border-bottom:1px solid rgba(255,255,255,.2)}
.home-landing-reviews-head h2{max-width:15ch;margin:0;font-size:clamp(2.25rem,3.7vw,3.65rem);line-height:.98}
.home-landing-reviews-head>div{display:flex;gap:22px;flex-wrap:wrap}
.home-landing-close .text-link{display:inline-block;color:white;text-decoration-color:#dca8b8}
.home-landing-review-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:10px}
.home-landing-review-list article{min-height:160px;padding:26px 28px 22px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.home-landing-review-list article+article{padding-left:28px;border-left:1px solid rgba(255,255,255,.2)}
.home-landing-review-list .review-stars{color:#e5b8c5;font-size:.7rem;letter-spacing:.08em}
.home-landing-review-list blockquote{margin:15px 0;color:#fff8fa;font:italic 500 1.08rem/1.48 var(--serif)}
.home-landing-review-list article>p{margin:0;color:#d6c0c9;font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.home-landing-trust{margin:30px 0;color:#e2cfd6;font:italic 1.2rem var(--serif)}
.home-landing-final{padding-block:clamp(74px,9vw,116px);background:var(--paper);color:var(--ink)}
.home-landing-final-layout{display:grid;grid-template-columns:minmax(0,1.25fr) auto;gap:60px;align-items:end}
.home-landing-final h2{max-width:15ch;margin:0;font-size:clamp(2.8rem,4.8vw,4.65rem);line-height:.94}
.home-landing-final-layout>div:first-child>p{max-width:42ch;margin:18px 0 0;color:#705e67;font-size:.86rem}
.home-landing-final-layout>div:last-child{display:grid;gap:17px;justify-items:start}
.home-landing-final .button{background:var(--plum);color:white}
.home-landing-final .button:hover{background:#4f2138}
.home-landing-final .text-link{color:var(--plum)}
@media(prefers-reduced-motion:no-preference){.home-landing-tools a{transition:padding .35s cubic-bezier(.16,1,.3,1),color .2s ease}}
@media(max-width:900px){.home-landing-value-layout,.home-landing-suppliers-layout{grid-template-columns:1fr;gap:45px}.home-landing-value header{position:static}.home-landing-value h2{max-width:12ch}.home-landing-suppliers-layout{align-items:start}.home-landing-final-layout{grid-template-columns:1fr;gap:34px}.home-landing-final-layout>div:last-child{display:flex;align-items:center;gap:22px}}
@media(max-width:620px){.home-landing-hero .home-video-hero-shade{background:linear-gradient(180deg,rgba(32,18,27,.26) 0%,rgba(32,18,27,.72) 100%)}.home-landing-hero .home-video-message{padding-bottom:82px}.home-landing-hero-link{padding-block:8px}.home-landing-value{padding-block:68px}.home-landing-value-layout{gap:37px}.home-landing-value h2{font-size:clamp(2.8rem,13vw,3.7rem)}.home-landing-value header p{margin-top:20px;font-size:.86rem}.home-landing-tools a{grid-template-columns:1fr 21px;gap:6px 18px;min-height:92px;padding:17px 2px}.home-landing-tools strong{font-size:1.7rem}.home-landing-tools span{grid-column:1;font-size:.7rem}.home-landing-tools svg{grid-column:2;grid-row:1/3}.home-landing-tools a:hover,.home-landing-tools a:focus-visible{padding-inline:8px}.home-landing-suppliers{padding-block:57px}.home-landing-suppliers-layout{gap:32px}.home-landing-suppliers h2{font-size:2.75rem}.home-landing-suppliers nav{gap:8px 22px}.home-landing-close{padding-block:60px}.home-landing-reviews-head{align-items:flex-start;flex-direction:column;gap:22px}.home-landing-reviews-head h2{font-size:2.65rem}.home-landing-review-list{grid-template-columns:1fr}.home-landing-review-list article{min-height:0;padding:22px 0}.home-landing-review-list article+article{padding-left:0;border-left:0}.home-landing-review-list blockquote{font-size:1rem}.home-landing-final{padding-block:68px}.home-landing-final h2{font-size:clamp(2.9rem,13vw,3.75rem)}.home-landing-final-layout>div:last-child{display:grid;width:100%}.home-landing-final .button{width:100%}.home-landing-close .text-link{display:block}}
@media(prefers-reduced-motion:reduce){.home-landing-tools a{transition:none}}

/* Keep the chosen concierge composition above the earlier portal themes. */
.couple-concierge.couple-garden .couple-studio-layout{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:start;margin-top:0;border-top:1px solid var(--concierge-line)}
.couple-concierge.couple-garden .couple-studio-nav{position:sticky;top:18px;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(6,78px);margin:34px 0 0;padding:0 20px;border:0;border-right:1px solid var(--concierge-line);border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.couple-concierge.couple-garden .couple-studio-nav a{justify-content:flex-start;gap:16px;min-width:0;min-height:0;padding:0 15px;border:0;border-radius:12px;color:#604e58;text-align:left}
.couple-concierge.couple-garden .couple-studio-nav a svg{width:24px;height:24px;padding:0;border:0;background:transparent}
.couple-concierge.couple-garden .couple-studio-nav a::after{display:none}
.couple-concierge.couple-garden .couple-studio-nav a[aria-current="location"]{background:#f2dde3;color:var(--concierge-plum)}
.couple-concierge.couple-garden .couple-studio-workspace{position:relative;min-height:0;margin-top:0;padding:0 clamp(28px,4vw,62px);border-radius:0;background:transparent;box-shadow:none}
.couple-concierge.couple-garden .couple-studio-workspace::before,.couple-concierge.couple-garden .couple-studio-workspace::after{display:none}
.couple-concierge.couple-studio .couple-studio-hero,.couple-concierge.couple-studio .couple-studio-hero.couple-portal-welcome{display:flex;min-height:184px;padding:36px 0 26px;background:transparent;box-shadow:none;overflow:hidden}
.couple-concierge .couple-portal-welcome-copy{position:relative;z-index:1;display:block;min-height:0;width:auto;padding:0;background:transparent}
.couple-concierge .couple-portal-head-actions{z-index:6}
.couple-concierge .couple-portal-head-actions .text-link{color:#5d3a4d!important}
.couple-concierge .couple-portal-wedding-context{color:#66525d!important}
.couple-concierge .couple-activation>div>p strong{color:var(--concierge-plum);font-weight:750}
.couple-concierge.couple-garden .couple-album-page{min-height:0;padding:0 0 58px;background:transparent}

@media(max-width:1050px) and (min-width:761px){
  .couple-concierge.couple-garden .couple-studio-layout{grid-template-columns:152px minmax(0,1fr)}
  .couple-concierge.couple-garden .couple-studio-nav{padding-inline:12px}
  .couple-concierge.couple-garden .couple-studio-nav a{gap:11px;padding-inline:10px}
}
@media(max-width:760px){
  .couple-concierge.couple-garden{padding-top:0}
  .couple-concierge.couple-garden .couple-studio-layout{display:block;margin-top:0;border-top:0}
  .couple-concierge.couple-garden .couple-studio-nav{position:sticky;top:0;display:grid;grid-template-columns:repeat(6,minmax(92px,1fr));grid-template-rows:64px;margin:0 -20px;padding:0 14px;border-right:0;border-bottom:1px solid var(--concierge-line);background:rgba(252,248,243,.98);box-shadow:0 9px 24px rgba(64,32,54,.07);overflow-x:auto}
  .couple-concierge.couple-garden .couple-studio-nav a{justify-content:center;gap:7px;min-height:64px;padding-inline:10px;border:0;border-radius:0;font-size:.66rem}
  .couple-concierge.couple-garden .couple-studio-nav a svg{width:19px;height:19px}
  .couple-concierge.couple-garden .couple-studio-workspace{min-height:0;margin-top:0;padding:0;background:transparent}
  .couple-concierge.couple-studio .couple-studio-hero,.couple-concierge.couple-studio .couple-studio-hero.couple-portal-welcome{display:block;min-height:0;padding:38px 4px 25px}
  .couple-concierge .couple-portal-welcome-copy{min-height:0;padding:0}
  .couple-concierge.couple-garden .couple-album-page{min-height:0;padding:0 0 48px}
}
