@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500;1,600&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#fff8f5;background:#4d0714;font-synthesis:none;text-rendering:optimizeLegibility;--wine: #650b1d;--deep: #31050d;--blush: #f6d9d7;--paper: #fff8f2;--ink: #2c0a10}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit}button,input,textarea,select{font:inherit}#root{min-height:100vh}.home-page{min-height:100vh;overflow:hidden;background:var(--wine)}.home-nav{position:fixed;z-index:20;top:0;left:0;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.25rem 2rem;border-bottom:1px solid rgba(255,255,255,.24);background:#4d0714e0;box-shadow:0 8px 30px #2300071f;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.home-logo{display:flex;align-items:center;text-decoration:none}.home-logo-mark{position:relative;display:block;height:2.75rem;aspect-ratio:1.524 / 1;overflow:hidden;border-radius:.5rem;background:var(--paper);box-shadow:0 6px 18px #14000440}.home-logo-mark img{position:absolute;left:-53.1%;top:-26%;width:206.2%;max-width:none;height:232.3%}.desktop-nav{display:flex;gap:2rem}.desktop-nav a{text-decoration:none;font-size:.82rem}.desktop-nav a:hover{opacity:.65}.nav-cta{justify-self:end;display:flex;align-items:center;gap:.8rem;padding:.65rem .75rem .65rem 1.15rem;border-radius:999px;background:var(--paper);color:var(--ink);text-decoration:none;font-size:.82rem;font-weight:700}.nav-cta span,.round-button span{display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:50%;background:var(--wine);color:#fff}.nav-toggle{display:none;justify-self:end;width:2.4rem;height:2.4rem;padding:0;border:none;border-radius:50%;background:transparent;color:inherit;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}.nav-toggle span{display:block;width:1.4rem;height:2px;background:currentColor;border-radius:2px;transition:transform .25s ease,opacity .25s ease}.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav{display:none}.home-hero{position:relative;min-height:100svh;display:grid;place-items:center;padding:8rem 1.5rem 6rem;background:radial-gradient(circle at 50% 42%,#8d1c32 0%,var(--wine) 42%,#430710 100%);isolation:isolate}.home-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.28;background-image:radial-gradient(rgba(255,255,255,.34) .7px,transparent .7px);background-size:8px 8px;pointer-events:none}.hero-center{position:relative;z-index:3;max-width:780px;text-align:center}.kicker{margin:0 0 1rem;font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.home-hero h1{margin:0;font-size:clamp(3.5rem,7.7vw,7.6rem);font-weight:500;line-height:.84;letter-spacing:-.065em}.home-page em{font-family:Playfair Display,Georgia,serif;font-weight:500}.hero-logo-badge{width:min(58vw,280px);margin:0 auto 2.2rem;border-radius:1.75rem;overflow:hidden;background:var(--paper);box-shadow:0 25px 60px #14000459}.hero-logo-badge img{display:block;width:100%;height:auto}.round-button{display:inline-flex;align-items:center;gap:1.2rem;padding:.7rem .75rem .7rem 1.25rem;border-radius:999px;text-decoration:none;font-size:.86rem;font-weight:700}.round-button.light{background:var(--paper);color:var(--ink)}.scroll-cue{position:absolute;z-index:3;bottom:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;color:#f4cdd0;text-decoration:none;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.scroll-cue span{animation:bounce 1.8s infinite;font-size:1.2rem}@keyframes bounce{50%{transform:translateY(5px)}}.home-subhero{position:relative;min-height:85svh;display:grid;place-items:center;overflow:hidden;background:var(--deep)}.subhero-photo{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:60% 35%}.subhero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,rgba(38,4,10,.25) 0%,rgba(38,4,10,.55) 55%,var(--deep) 100%)}.hero-subheadline{position:relative;z-index:2;max-width:620px;margin:0 auto;padding:0 1.5rem;text-align:center;font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:clamp(1.5rem,3.4vw,2.4rem);line-height:1.35;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.4)}.home-intro-section{padding:clamp(4.5rem,9vw,7.5rem) 1.5rem;background:var(--deep);text-align:center}.hero-intro{max-width:480px;margin:0 auto;color:#f7dbdc;font-size:1rem}.marquee{overflow:hidden;padding:.9rem 0;background:var(--blush);color:var(--ink);border-block:1px solid #cfa9a8;white-space:nowrap;transform:rotate(-1.2deg) scale(1.02)}.marquee div{width:max-content;font-size:.78rem;font-weight:700;letter-spacing:.14em;animation:marquee 24s linear infinite}.marquee span{margin:0 1.2rem;color:var(--wine)}@keyframes marquee{to{transform:translate(-50%)}}.connection-section{min-height:100vh;display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:clamp(2rem,7vw,8rem);padding:clamp(5rem,10vw,9rem) max(5vw,1.5rem);background:var(--paper);color:var(--ink)}.connection-copy{max-width:500px}.kicker.dark{color:#8b5260}.connection-copy h2,.steps-heading h2,.final-cta h2{margin:0 0 1.6rem;font-size:clamp(3rem,5.4vw,6.2rem);font-weight:500;line-height:.94;letter-spacing:-.055em}.connection-copy>p:not(.kicker){max-width:440px;color:#76565c;line-height:1.75}.text-link{display:inline-flex;gap:.7rem;margin-top:1rem;padding-bottom:.25rem;border-bottom:1px solid currentColor;text-decoration:none;font-weight:700;font-size:.84rem}.photo-collage{position:relative;padding:1.5rem 3rem 3rem 0}.collage-main{overflow:hidden;border-radius:45% 45% 1.5rem 1.5rem}.collage-main img{display:block;width:100%;height:min(66vh,680px);object-fit:cover;transition:transform 1s ease}.photo-collage.visible .collage-main img{transform:scale(1.03)}.collage-note{position:absolute;right:0;bottom:0;width:170px;aspect-ratio:1;display:grid;place-content:center;padding:1rem;border-radius:50%;background:var(--wine);color:#fff;text-align:center;transform:rotate(7deg);box-shadow:0 15px 35px #50001240;line-height:1.2}.collage-note span{margin-top:.3rem}.steps-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,10vw,10rem);padding:clamp(6rem,11vw,10rem) max(5vw,1.5rem);background:var(--deep)}.steps-heading{position:sticky;top:6rem;align-self:start}.steps-heading>p:not(.kicker){max-width:420px;color:#d8babd;line-height:1.75}.steps-list{border-top:1px solid rgba(255,255,255,.3)}.step{display:grid;grid-template-columns:60px 1fr;gap:1rem;padding:2.5rem 0;border-bottom:1px solid rgba(255,255,255,.3)}.step>span{color:#d69ba3;font-family:Playfair Display,serif;font-style:italic}.step h3{margin:0 0 .65rem;font-size:clamp(1.45rem,2.3vw,2.35rem);font-weight:500}.step p{max-width:520px;margin:0;color:#d8babd;line-height:1.65}.quote-section{min-height:90vh;display:grid;grid-template-columns:1fr 1fr;background:var(--blush);color:var(--ink)}.quote-photo{min-height:600px;overflow:hidden}.quote-photo img{width:100%;height:100%;object-fit:cover}.quote-section blockquote{align-self:center;margin:0;padding:clamp(3rem,8vw,8rem)}.quote-mark{display:block;color:var(--wine);font-family:Georgia,serif;font-size:5rem;line-height:.6}.quote-section blockquote p{font-family:Playfair Display,Georgia,serif;font-size:clamp(2.2rem,4vw,4.4rem);font-style:italic;line-height:1.03}.quote-section footer{color:#80525a;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.final-cta{position:relative;min-height:78vh;display:grid;place-content:center;place-items:center;padding:6rem 1.5rem;overflow:hidden;background:var(--wine);text-align:center}.final-cta h2{margin-bottom:.7rem;font-size:clamp(4rem,9vw,9rem)}.final-cta>p:not(.kicker){color:#eccdd1}.final-cta .round-button{margin-top:1rem}.loop-line{position:absolute;z-index:0;font-family:Georgia,serif;font-size:min(55vw,800px);opacity:.055;pointer-events:none}.final-cta>*:not(.loop-line){position:relative;z-index:1}.home-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:2rem;padding:2.5rem 2rem;border-top:1px solid rgba(255,255,255,.25);background:var(--deep);color:#e9cbd0;font-size:.76rem}.home-footer p{margin:0}.home-footer>div{justify-self:end;display:flex;gap:1.25rem}.home-footer a{text-decoration:none}.home-footer .footer-contact{justify-self:center;display:grid;gap:.25rem;text-align:center}.footer-contact span{color:#bb9098;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.footer-contact a{color:#fff;font-family:Playfair Display,Georgia,serif;font-size:1.15rem;font-style:italic}.page-hero{position:relative;min-height:48svh;display:grid;place-items:center;padding:9rem 1.5rem 4rem;background:radial-gradient(circle at 50% 30%,#8d1c32 0%,var(--wine) 45%,#430710 100%);text-align:center;isolation:isolate}.page-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.28;background-image:radial-gradient(rgba(255,255,255,.34) .7px,transparent .7px);background-size:8px 8px;pointer-events:none}.page-hero>div{position:relative;z-index:1}.page-hero h1{margin:.6rem 0 0;font-size:clamp(3.2rem,6.5vw,6.5rem);font-weight:500;line-height:.92;letter-spacing:-.06em}.faq-section{max-width:880px;margin:0 auto;padding:clamp(5rem,9vw,7rem) 1.5rem 6rem;background:var(--paper);color:var(--ink)}.faq-item{border-bottom:1px solid #ead9d7}.faq-item:first-child{border-top:1px solid #ead9d7}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:100%;padding:1.7rem .25rem;border:0;background:none;color:var(--ink);text-align:left;font-family:inherit;font-size:clamp(1rem,1.6vw,1.2rem);font-weight:700;cursor:pointer}.faq-question:hover{color:var(--wine)}.faq-icon{display:grid;flex:0 0 auto;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--blush);color:var(--wine);font-size:1.1rem;transition:transform .3s ease,background .3s ease}.faq-item.open .faq-icon{background:var(--wine);color:#fff;transform:rotate(45deg)}.faq-answer-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.faq-item.open .faq-answer-wrap{grid-template-rows:1fr}.faq-answer{overflow:hidden}.faq-answer p{margin:0 .25rem 1.7rem;max-width:680px;color:#76565c;line-height:1.75}.flow-section{padding:clamp(5rem,9vw,7rem) max(5vw,1.5rem);background:var(--paper);color:var(--ink);text-align:center}.flow-section h2{margin:0 auto 2.5rem;font-size:clamp(2.6rem,4.6vw,5rem);font-weight:500;line-height:.96;letter-spacing:-.05em}.flow-image{display:block;width:100%;max-width:980px;margin:0 auto;height:auto;border-radius:1.5rem;box-shadow:0 25px 60px #46081624}.service-stage .stage-tag{margin:0 0 .5rem;color:#d69ba3;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.service-stage .stage-intro{max-width:560px;margin:-.2rem 0 1.1rem;color:#f0c9cd;font-style:italic}.stage-list{display:grid;gap:.7rem;max-width:560px;margin:0;padding:0;list-style:none}.stage-list li{color:#d8babd;line-height:1.65}.stage-list li strong{color:#fbe4e6}.stage-branches{display:grid;gap:1rem;margin-top:1.5rem;max-width:560px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.branch-card{padding:1.25rem;border:1px solid rgba(255,255,255,.22);border-radius:1rem;background:#ffffff0a}.branch-title{margin:0 0 .5rem;color:#fbe4e6;font-weight:700;font-size:.84rem;letter-spacing:.04em;text-transform:uppercase}.branch-card p:not(.branch-title){margin:0;color:#d8babd;font-size:.88rem;line-height:1.6}.concierge-section{grid-template-columns:1fr;text-align:center}.concierge-section .connection-copy{max-width:620px;margin:0 auto}.concierge-section .connection-copy>p:not(.kicker){margin-inline:auto}.testimonial-section{padding:clamp(4rem,8vw,6rem) 1.5rem clamp(5rem,9vw,7rem);background:var(--paper);color:var(--ink)}.testimonial-viewport{max-width:780px;margin:0 auto;overflow:hidden}.testimonial-track{display:flex;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.testimonial-slide{flex:0 0 100%;padding:0 1.5rem;text-align:center}.testimonial-mark{display:block;color:var(--wine);font-family:Georgia,serif;font-size:4rem;line-height:.6}.testimonial-quote{margin:.5rem auto 2rem;max-width:620px;font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.4}.testimonial-attribution{display:flex;align-items:center;justify-content:center;gap:.9rem}.testimonial-avatar{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--blush);color:var(--wine);font-family:Playfair Display,serif;font-style:italic;font-size:1.2rem}.testimonial-attribution>div{text-align:left}.testimonial-names{margin:0;font-weight:700;font-size:.92rem}.testimonial-since{margin:.15rem 0 0;color:#8b5c64;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}.testimonial-controls{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:2.5rem}.testimonial-arrow{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid #e2ccca;border-radius:50%;background:#fff;color:var(--wine);font-size:1.3rem;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease}.testimonial-arrow:hover{background:var(--wine);color:#fff}.testimonial-dots{display:flex;align-items:center;gap:.55rem}.testimonial-dot{width:.55rem;height:.55rem;padding:0;border:0;border-radius:50%;background:#e2ccca;cursor:pointer;transition:background .2s ease,transform .2s ease}.testimonial-dot.active{background:var(--wine);transform:scale(1.3)}.discover-page,.admin-page{background:var(--paper);color:var(--ink)}.discover-page .home-nav,.admin-page .home-nav{background:#4d0714f0;color:#fff}.discover-shell{min-height:100vh;padding:calc(73px + clamp(2.5rem,5vw,5rem)) max(3vw,1.25rem) 6rem;background:linear-gradient(180deg,var(--wine) 0 26rem,var(--paper) 26rem)}.discover-intro{max-width:1200px;margin:0 auto 4rem;color:#fff;text-align:center}.discover-intro h1{margin:0;font-size:clamp(3rem,6vw,6.5rem);font-weight:500;line-height:.93;letter-spacing:-.055em}.discover-intro>p:last-child{color:#e7c6cb}.placeholder-shell{display:flex;flex-direction:column}.placeholder-body{max-width:640px;margin:0 auto;padding:3rem 1.5rem;text-align:center;border:1px dashed #e0c3c3;border-radius:1.5rem;background:#fffaf8}.placeholder-note{margin:0;color:#9b5968;font-size:1rem}.discover-page .dashboard-grid{align-items:start}.discover-page .sidebar-card,.discover-page .content-card{background:#fff;color:var(--ink);border-color:#ead9d7;box-shadow:0 18px 55px #4608161a}.discover-page .sidebar-card{position:sticky;top:1.5rem}.discover-page .section-label{color:#9b5968}.discover-page .filter-block input,.discover-page .filter-block select{color:var(--ink);background:#fbf3f1;border-color:#e9d5d3}.discover-page .profile-card{background:#fffaf8;border-color:#ead9d7;transition:transform .25s ease,box-shadow .25s ease}.discover-page .profile-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #46081614}.discover-page .profile-heading p,.discover-page .profile-footer{color:#8b5c64}.discover-page .interest-row span{background:var(--blush)}.discover-page .status-badge.available{background:#dff4e5;color:#23643a}.discover-page .status-badge.recently-viewed{background:#fff0c9;color:#78540b}.discover-page .status-badge.reserved{background:#f8dadd;color:#7a1527}.discover-layout{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:245px minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:start}.discover-filters{position:sticky;top:1.5rem;padding:1.5rem;border:1px solid #ead9d7;border-radius:1.4rem;background:#fff;box-shadow:0 16px 45px #46081614}.discover-filters h2{margin-top:.3rem;font-size:1.6rem}.filter-heading{display:flex;justify-content:space-between;align-items:center}.filter-heading output{color:var(--wine);font-size:.78rem;font-weight:700}.age-range{--range-start: 0%;--range-end: 100%;position:relative;height:24px;margin-top:.2rem;background:linear-gradient(to right,#e8d7d5 var(--range-start),var(--wine) var(--range-start),var(--wine) var(--range-end),#e8d7d5 var(--range-end));background-position:center;background-size:100% 4px;background-repeat:no-repeat}.age-range input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:24px;margin:0;padding:0;border:0;background:transparent!important;pointer-events:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.age-range input::-webkit-slider-thumb{width:18px;height:18px;border:3px solid white;border-radius:50%;background:var(--wine);box-shadow:0 1px 5px #46081659;cursor:grab;pointer-events:auto;-moz-appearance:none;appearance:none;-webkit-appearance:none}.age-range input::-moz-range-thumb{width:13px;height:13px;border:3px solid white;border-radius:50%;background:var(--wine);box-shadow:0 1px 5px #46081659;cursor:grab;pointer-events:auto}.age-range input:focus-visible::-webkit-slider-thumb{outline:3px solid #e9b8be;outline-offset:2px}.age-range input:focus-visible::-moz-range-thumb{outline:3px solid #e9b8be;outline-offset:2px}.age-limits{display:flex;justify-content:space-between;color:#9a777d;font-size:.68rem}.language-filter{margin-inline:0;padding:0;border:0}.language-filter legend{margin-bottom:.55rem;padding:0}.language-options{display:flex;flex-wrap:wrap;gap:.45rem}.language-options label{cursor:pointer}.language-options input{position:absolute;width:1px!important;height:1px;opacity:0}.language-options span{display:block;padding:.42rem .65rem;border:1px solid #e8d4d2;border-radius:999px;background:#fffaf8;color:#68464d;font-size:.72rem}.language-options input:checked+span{border-color:var(--wine);background:var(--wine);color:#fff}.language-options input:focus-visible+span{outline:3px solid #e9b8be;outline-offset:2px}.language-filter>button{align-self:flex-start;padding:0;border:0;background:transparent;color:var(--wine);cursor:pointer;font-size:.7rem;text-decoration:underline}.profiles-area{min-width:0}.profiles-area .content-card-header{margin-bottom:1.5rem}.profiles-area .content-card-header h2{margin:.2rem 0 0;font-size:clamp(1.8rem,3vw,3rem)}.results-controls{display:flex;align-items:center;gap:.7rem}.results-controls label{display:flex;align-items:center;gap:.45rem;color:#805e64;font-size:.75rem}.results-controls select{padding:.45rem .65rem;border:1px solid #e2ccca;border-radius:999px;background:#fff;color:var(--ink);cursor:pointer}.profile-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.image-profile-card{overflow:hidden;border:1px solid #ead9d7;border-radius:1.5rem;background:#fff;box-shadow:0 14px 40px #46081614;transition:transform .25s ease}.image-profile-card:hover{transform:translateY(-4px)}.profile-image-wrap{position:relative;height:clamp(280px,32vw,470px);overflow:hidden;background:var(--blush)}.profile-image-wrap img{width:100%;height:100%;object-fit:cover}.profile-placeholder{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#f8e9e5,#dca9ad)}.profile-placeholder span{font-family:Playfair Display,serif;font-size:7rem;color:var(--wine);opacity:.6}.profile-image-wrap .status-badge{position:absolute;top:1rem;right:1rem}.image-profile-copy{padding:1.3rem}.image-profile-copy h3{margin:0;font-size:1.65rem}.profile-city{margin:.3rem 0 1rem;color:#8b5c64;font-size:.84rem}.image-profile-copy>p:not(.profile-city){min-height:3rem;color:#6f5358}.read-more-link{color:var(--wine);font-weight:700;text-decoration:underline;white-space:nowrap}.profile-card-actions{display:flex;align-items:center;gap:.6rem;margin-top:1rem}.profile-card-actions a,.profile-card-actions button,.create-profile-button{border:0;border-radius:999px;padding:.65rem .9rem;background:var(--wine);color:#fff;text-decoration:none;font-weight:700;font-size:.78rem;cursor:pointer}.profile-card-actions a{margin-right:auto}.profile-card-actions button{background:var(--blush);color:var(--ink)}.profile-card-actions button.danger{color:#9e1730}.create-profile-button{width:100%;margin-top:1.4rem}.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:2rem}.pagination>button{width:7.5rem}.pagination>button:last-child{justify-self:end}.pagination>div{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.pagination button{min-width:2.35rem;min-height:2.35rem;padding:.5rem .7rem;border:1px solid #e2ccca;border-radius:999px;background:#fff;color:var(--wine);cursor:pointer;font-weight:700}.pagination button.active{border-color:var(--wine);background:var(--wine);color:#fff}.pagination button:disabled{cursor:not-allowed;opacity:.4}.inline-loader{display:flex;align-items:center;gap:.7rem;margin:0 0 1rem;padding:.7rem .9rem;border:1px solid #ead9d7;border-radius:.9rem;background:#fffaf8;color:#805e64;font-size:.76rem}.inline-loader .loading-spinner{flex:0 0 auto;width:1.15rem;height:1.15rem;border-width:2px}.admin-mode-banner{max-width:1440px;margin:-2rem auto 2rem;display:flex;justify-content:space-between;align-items:center;padding:.7rem .8rem .7rem 1rem;border-radius:999px;background:var(--deep);color:#fff;font-size:.78rem;font-weight:700}.admin-mode-banner button{border:0;border-radius:999px;padding:.5rem .8rem;background:#fff;color:var(--ink);cursor:pointer}.loading-spinner{width:2.4rem;height:2.4rem;border:3px solid var(--blush);border-top-color:var(--wine);border-radius:50%;animation:loading-spin .8s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}.profile-editor{max-width:1190px;margin:4rem auto 0;padding:clamp(1.5rem,4vw,3rem);border:1px solid #ead9d7;border-radius:2rem;background:#fff;box-shadow:0 18px 55px #4608161a}.profile-editor h2{font-size:2.2rem}.profile-editor form{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.profile-editor label{display:grid;gap:.4rem;font-size:.78rem;font-weight:700}.profile-editor input,.profile-editor select,.profile-editor textarea{width:100%;padding:.8rem;border:1px solid #e2ccca;border-radius:.7rem;background:#fffaf8;color:var(--ink)}.profile-editor textarea{min-height:120px;resize:vertical}.profile-editor .wide{grid-column:1 / -1}.editor-actions{display:flex;align-items:center;gap:.8rem}.editor-actions button{border:0;border-radius:999px;padding:.75rem 1rem;background:var(--wine);color:#fff;cursor:pointer}.editor-actions button[type=button]{background:var(--blush);color:var(--ink)}.editor-actions span{color:#805e64;font-size:.8rem}.image-picker{display:flex;flex-wrap:wrap;gap:.8rem;padding:1rem;border:1px solid #e2ccca;border-radius:1rem}.image-picker legend{padding:0 .4rem;font-size:.78rem;font-weight:700}.image-picker-item{width:120px;display:grid;gap:.45rem;padding:.5rem;border-radius:.8rem;background:#fff3f1}.image-picker-item>img,.image-picker-item>span{width:100%;height:90px;display:grid;place-items:center;border-radius:.55rem;object-fit:cover;background:var(--blush);font-size:.72rem}.image-picker-item label{display:flex;grid-template-columns:auto 1fr;align-items:center}.image-picker-item label input{width:auto}.image-picker-item button{border:0;background:transparent;color:#9e1730;cursor:pointer;font-size:.72rem}.profile-editor .image-drop-zone{min-height:170px;place-items:center;align-content:center;padding:1.5rem;border:2px dashed #d9b7b7;border-radius:1rem;background:#fff8f6;color:#805e64;text-align:center;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.profile-editor .image-drop-zone:hover,.profile-editor .image-drop-zone.dragging{border-color:var(--wine);background:#fbe8e7;transform:translateY(-2px)}.image-drop-zone input{position:absolute;width:1px!important;height:1px;opacity:0;pointer-events:none}.image-drop-zone strong{color:var(--ink);font-size:.92rem}.image-drop-zone>span:last-child{font-size:.72rem;font-weight:500}.upload-icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--wine);color:#fff;font-size:1.3rem}.form-error{margin:0;color:#a3132e;font-size:.8rem}.password-hint{margin:0;color:#805e64;font-size:.74rem;line-height:1.5}.profile-detail{min-height:calc(100vh - 73px);padding:3rem max(4vw,1.25rem) 6rem;background:var(--paper)}.profile-detail>article{max-width:1200px;margin:2rem auto 0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #ead9d7;border-radius:2rem;background:#fff;box-shadow:0 24px 65px #4608161f}.back-link{display:block;max-width:1200px;margin:auto;color:var(--wine);text-decoration:none;font-weight:700}.detail-image{height:min(60vh,620px);background:#fff3f1}.detail-image img{width:100%;height:100%;object-fit:contain}.detail-copy{max-width:760px;margin:0 auto;padding:clamp(2rem,6vw,4rem)}.detail-copy h1{margin:.3rem 0;font-size:clamp(2.4rem,4.5vw,4rem);font-weight:500;letter-spacing:-.06em}.detail-meta{color:#8b5c64}.detail-intro{margin:2rem 0;font-family:Playfair Display,serif;font-size:clamp(1.2rem,1.7vw,1.6rem);font-style:italic;line-height:1.5}.detail-intro p{margin:0 0 1rem}.detail-intro p:last-child{margin-bottom:0}.detail-cta{margin-top:2rem;background:var(--wine);color:#fff}.detail-gallery{display:flex;flex-direction:column}.detail-image{overflow:hidden}.detail-thumbnails{display:flex;gap:.65rem;overflow-x:auto;padding:.8rem;background:#fff3f1}.detail-thumbnails button{flex:0 0 76px;height:76px;padding:0;overflow:hidden;border:3px solid transparent;border-radius:.65rem;background:none;cursor:pointer}.detail-thumbnails button.active{border-color:var(--wine)}.detail-thumbnails img{width:100%;height:100%;object-fit:cover}.admin-login-wrap{min-height:100vh;display:grid;place-items:center;padding:calc(73px + 4rem) 1.5rem 4rem;background:radial-gradient(circle at 50% 25%,#8c2036,var(--wine) 45%,var(--deep))}.admin-login-card{width:min(100%,480px);padding:clamp(2rem,5vw,3.5rem);border:1px solid rgba(255,255,255,.18);border-radius:2rem;background:var(--paper);color:var(--ink);box-shadow:0 30px 80px #1c000559}.admin-badge{display:grid;place-items:center;width:3.2rem;height:3.2rem;margin-bottom:2rem;border-radius:50%;background:var(--wine);color:#fff;font-size:1.4rem}.admin-login-card .kicker{color:#9b5968}.admin-login-card h1{margin:0;font-size:clamp(2.5rem,5vw,4rem);font-weight:500;letter-spacing:-.05em}.admin-subtitle{margin-bottom:2rem;color:#805e64}.admin-form{display:grid;gap:1rem}.admin-form label{display:grid;gap:.45rem;font-size:.78rem;font-weight:700}.admin-form input{width:100%;padding:.9rem 1rem;border:1px solid #e2ccca;border-radius:.8rem;outline:none;background:#fff;color:var(--ink)}.admin-form input:focus{border-color:var(--wine);box-shadow:0 0 0 3px #650b1d14}.admin-form button{display:flex;justify-content:space-between;align-items:center;margin-top:.6rem;padding:.7rem .7rem .7rem 1.1rem;border:0;border-radius:999px;background:var(--wine);color:#fff;font-weight:700;cursor:pointer}.admin-form button span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#fff;color:var(--wine)}.profile-detail{min-height:100vh;padding-top:calc(73px + 3rem)}#approach,#approach-details,#stories,#contact{scroll-margin-top:74px}.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}.page-shell,.dashboard-shell{min-height:100vh;padding:1.4rem 1.4rem 3rem;background:radial-gradient(circle at top left,#85223a,transparent 36%),linear-gradient(135deg,#26050b,#650b1d)}.topbar{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto 2rem;padding:1rem 1.2rem;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.brand-mark{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:#f0a0a3;color:#3b0a12}.nav-links{display:flex;align-items:center;gap:1rem}.nav-links a{color:#fff4f0;text-decoration:none}.login-pill{padding:.55rem .9rem;border-radius:999px;background:#f6d2d4;color:#3b0a12!important;font-weight:700}.dashboard-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.2fr;gap:1.2rem}.single-column{grid-template-columns:1fr}.sidebar-card,.content-card,.contact-card,.info-grid article{padding:1.3rem;border:1px solid rgba(255,255,255,.15);border-radius:1.25rem;background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 20px 45px #0003}.section-label{color:#f6cfcf;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}.filter-block{display:flex;flex-direction:column;gap:.4rem;margin-top:1rem}.filter-block input,.filter-block select,.auth-form input,.auth-form textarea{width:100%;padding:.8rem .9rem;border:1px solid rgba(255,255,255,.16);border-radius:.8rem;background:#ffffff1f;color:#fff}.filter-block select option{color:#2c0a10}.content-card-header,.profile-heading,.profile-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}.count-pill{padding:.4rem .7rem;border-radius:999px;background:#f6d2d4;color:#3b0a12;font-weight:700}.profile-list{display:grid;gap:.9rem}.profile-card{padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:#ffffff0f}.profile-heading h4{margin:0}.profile-heading p{margin:.2rem 0 0;color:#f8dadd}.status-badge{padding:.35rem .6rem;border-radius:999px;font-size:.8rem;white-space:nowrap}.status-badge.available{background:#86efac38;color:#dcfce7}.status-badge.recently-viewed{background:#fde68a3d;color:#fef3c7}.status-badge.reserved{background:#f8717138;color:#fee2e2}.interest-row{display:flex;flex-wrap:wrap;gap:.45rem;margin:.7rem 0}.interest-row span{padding:.3rem .55rem;border-radius:999px;background:#ffffff1f;font-size:.84rem}.profile-footer{color:#f8dadd}.profile-footer button,.auth-form button,.toggle-row button{border:0;border-radius:999px;padding:.65rem .9rem;cursor:pointer;background:#f6d2d4;color:#3b0a12;font-weight:700}.auth-card{max-width:760px;margin:0 auto}.auth-form{display:grid;gap:.8rem}.auth-form label{display:grid;gap:.35rem}.toggle-row{display:flex;gap:.5rem}.toggle-row button.active{background:#fff}.admin-panel{margin-top:1rem;padding:1rem;border-radius:1rem;background:#ffffff0d}.content-page{max-width:900px;margin:0 auto;padding:2rem 0}.info-grid{display:grid;gap:1rem;margin-top:1.2rem}.contact-card{margin-top:1rem}@media (max-width: 850px){.home-nav{grid-template-columns:1fr auto;padding:1rem;position:fixed}.desktop-nav{display:none}.nav-toggle{display:flex}.mobile-nav{display:flex;flex-direction:column;position:absolute;top:100%;left:0;width:100%;max-height:calc(100vh - 4rem);overflow-y:auto;padding:.5rem 1.5rem 2rem;background:var(--deep);border-bottom:1px solid rgba(255,255,255,.16);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease}.mobile-nav.open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav a{padding:.9rem .1rem;border-bottom:1px solid rgba(255,255,255,.1);text-decoration:none;font-size:.95rem}.home-hero h1{font-size:clamp(3.6rem,14vw,6rem)}.connection-section,.steps-section,.quote-section{grid-template-columns:minmax(0,1fr)}.connection-section{padding-block:6rem}.photo-collage{padding-top:2rem}.steps-heading{position:static}.quote-photo{min-height:65vh}.quote-section blockquote{padding-block:5rem}.home-footer{grid-template-columns:1fr;align-items:start}.home-footer>div{justify-self:start}.stage-branches,.dashboard-grid{grid-template-columns:1fr}.topbar{border-radius:1.2rem}.nav-links{gap:.6rem;font-size:.8rem}.discover-page .sidebar-card{position:static}.discover-layout{grid-template-columns:1fr}.discover-filters{position:static}.profile-gallery{grid-template-columns:1fr}}@media (max-width: 560px){.home-logo-mark{height:2.3rem}.nav-cta{padding-left:.85rem}.nav-cta span{display:none}.hero-intro{font-size:.9rem}.photo-collage{padding-right:1.4rem}.collage-main img{height:55vh}.collage-note{width:135px;font-size:.8rem}.step{grid-template-columns:42px 1fr}.home-footer>div{flex-wrap:wrap}.page-shell,.dashboard-shell{padding:.8rem}.topbar{align-items:flex-start}.nav-links{display:grid;grid-template-columns:1fr 1fr}.brand{font-size:.72rem}.profile-heading,.profile-footer,.content-card-header{align-items:flex-start;flex-direction:column}.profile-editor form{grid-template-columns:1fr}.profile-editor .wide{grid-column:auto}.editor-actions,.results-controls{align-items:flex-start;flex-direction:column}.pagination{grid-template-columns:1fr 1fr}.pagination>div{grid-column:1 / -1;grid-row:1}.pagination>button:last-child{justify-self:end}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
