/*
Theme Name: Designs By Dodey Original
Theme URI: https://designsbydodey.com
Author: Designs By Dodey LLC
Description: Original luxury editorial WordPress and WooCommerce theme for Designs By Dodey. Includes fresh page architecture, Elementor-ready content, secure quote forms, and a controlled store experience.
Version: 2.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: designs-by-dodey-original
License: GPL-2.0-or-later
*/

:root {
  --font-geist-sans: "Helvetica Neue", Arial;
  --ink: #251922;
  --muted: #6f6269;
  --cream: #fbf7f2;
  --paper: #fffdf9;
  --plum: #4f243e;
  --wine: #6d2948;
  --rose: #c68c84;
  --line: rgba(64, 36, 53, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--font-geist-sans), sans-serif; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
::selection { background: #e5c7c4; color: var(--plum); }

.announcement { min-height: 34px; padding: 7px 5vw; background: var(--plum); color: #fff9f3; display: flex; align-items: center; justify-content: center; gap: 28px; font-size: 11px; letter-spacing: .15em; text-transform: uppercase; }
.announcement a { display: inline-flex; gap: 7px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.4); padding-bottom: 1px; }
.site-header { height: 86px; max-width: 1440px; margin: 0 auto; padding: 0 5vw; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; position: relative; z-index: 20; }
.brand { display: inline-flex; align-items: center; gap: 11px; width: max-content; }
.brand-mark { width: 37px; height: 37px; border: 1px solid var(--plum); border-radius: 50% 50% 48% 42%; display: grid; place-items: center; font-family: Georgia, serif; font-style: italic; font-size: 22px; }
.brand-name { font-family: Georgia, serif; font-size: 20px; letter-spacing: -.035em; }
.brand-name i { font-size: 13px; font-weight: 400; padding: 0 2px; color: var(--rose); }
.desktop-nav { display: flex; gap: 32px; font-size: 12px; letter-spacing: .03em; }
.desktop-nav a { position: relative; padding: 8px 0; }
.desktop-nav a::after { content:""; position:absolute; left:0; bottom:2px; width:100%; height:1px; background:var(--plum); transform:scaleX(0); transform-origin:right; transition:transform .35s ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { transform:scaleX(1); transform-origin:left; }
.header-cta { justify-self: end; display: inline-flex; align-items: center; gap: 10px; padding: 12px 17px; border: 1px solid var(--line); border-radius: 999px; font-size: 12px; transition: .25s ease; }
.header-cta:hover { background: var(--plum); color: white; }
.arrow-up { transform: rotate(-45deg); }
.menu-button { display:none; background:none; border:0; color:var(--ink); }

.hero { min-height: calc(100vh - 120px); max-width: 1440px; margin: 0 auto; padding: 5vh 5vw 7vh; display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, .78fr); gap: 7vw; align-items: center; position: relative; }
.hero-glow { position:absolute; border-radius:50%; filter:blur(10px); pointer-events:none; }
.hero-glow-one { width: 430px; height: 430px; left:-270px; top:10%; background:radial-gradient(circle, rgba(230,196,187,.38), transparent 70%); }
.hero-glow-two { width: 360px; height: 360px; left:41%; bottom:-180px; background:radial-gradient(circle, rgba(153,93,128,.13), transparent 70%); }
.hero-copy { position:relative; z-index:2; padding-bottom: 3vh; }
.eyebrow { display:flex; align-items:center; gap:10px; text-transform:uppercase; letter-spacing:.2em; font-size:10px; color:var(--wine); font-weight:600; }
.eyebrow span { width:23px; height:1px; background:var(--rose); }
.hero h1 { margin: 24px 0 27px; max-width: 760px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(64px, 6.4vw, 100px); font-weight: 400; line-height: .94; letter-spacing: -.065em; }
.hero h1 em { color: var(--wine); font-weight: 400; }
.hero-lead { max-width: 590px; margin: 0; color:var(--muted); font-family:Georgia, serif; font-size:clamp(17px,1.45vw,21px); line-height:1.65; }
.hero-actions { display:flex; align-items:center; gap:29px; margin-top:35px; }
.button { min-height:50px; padding: 0 23px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; gap:13px; font-size:12px; letter-spacing:.02em; transition:transform .25s ease, box-shadow .25s ease; }
.button-primary { color:white; background:linear-gradient(135deg, var(--plum), var(--wine)); box-shadow:0 14px 30px rgba(79,36,62,.16); }
.button-primary:hover { transform:translateY(-2px); box-shadow:0 18px 34px rgba(79,36,62,.24); }
.text-link { display:inline-flex; align-items:center; gap:9px; font-size:12px; border-bottom:1px solid var(--line); padding-bottom:5px; }
.social-proof { display:flex; align-items:center; gap:13px; margin-top:43px; }
.avatars { display:flex; }
.avatars span { width:32px; height:32px; margin-left:-6px; border:2px solid var(--cream); border-radius:50%; display:grid; place-items:center; font-size:8px; font-weight:700; color:white; background:linear-gradient(135deg,#a56b70,#4d263d); }
.avatars span:first-child { margin-left:0; }
.stars { color:#a76361; letter-spacing:2px; font-size:10px; }
.social-proof p { margin:3px 0 0; color:var(--muted); font-size:10px; }

.hero-visual { position:relative; justify-self:end; width:min(100%, 520px); }
.hero-image { aspect-ratio: 1; min-height: 0; border-radius: 28px; background: #f8f2ec var(--dbd-hero-image) center / contain no-repeat; box-shadow:0 30px 80px rgba(62,32,50,.16); position:relative; overflow:hidden; }
.glass-note { position:absolute; display:flex; align-items:center; gap:12px; padding:12px 15px; border:1px solid rgba(255,255,255,.54); background:rgba(255,250,244,.76); box-shadow:0 18px 55px rgba(53,28,42,.18); backdrop-filter:blur(15px); border-radius:15px; }
.glass-note-top { top:17%; left:-58px; }
.glass-note-bottom { bottom:13%; right:-43px; }
.glass-note strong, .glass-note small { display:block; }
.glass-note strong { font-family:Georgia,serif; font-size:12px; font-weight:500; }
.glass-note small { margin-top:4px; color:var(--muted); font-size:8px; letter-spacing:.06em; }
.mini-icon { width:31px; height:31px; border-radius:50%; display:grid; place-items:center; color:var(--wine); background:#f4e3df; }
.swatches { display:flex; }
.swatches i { width:23px; height:31px; border:2px solid rgba(255,255,255,.6); border-radius:3px; margin-left:-7px; transform:rotate(-8deg); background:#6d2948; }
.swatches i:nth-child(2) { background:#c68c84; transform:rotate(1deg); }
.swatches i:nth-child(3) { background:#e8d7cb; transform:rotate(9deg); }
.image-label { position:absolute; right:0; bottom:-26px; color:var(--muted); font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.scroll-cue { position:absolute; left:5vw; bottom:16px; display:flex; align-items:center; gap:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.14em; font-size:8px; }
.scroll-cue i { width:30px; height:30px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; }

.service-rail { max-width:1440px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); background:#fffdfa; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-mini { min-height:130px; padding:28px 26px; display:grid; grid-template-columns:auto auto 1fr auto; align-items:center; gap:13px; border-right:1px solid var(--line); transition:background .25s ease; }
.service-mini:last-child { border:0; }
.service-mini:hover { background:#f6ece7; }
.service-number { align-self:start; color:#a28f99; font-size:8px; }
.service-icon { width:36px; height:36px; border-radius:50%; background:#f4e5df; color:var(--wine); display:grid; place-items:center; }
.service-mini strong, .service-mini small { display:block; }
.service-mini strong { font-family:Georgia,serif; font-size:17px; font-weight:500; }
.service-mini small { margin-top:5px; color:var(--muted); font-size:9px; line-height:1.4; }
.service-mini > svg { color:#8e7985; }
.intro-band { padding:22px 5vw; display:flex; align-items:center; justify-content:center; gap:45px; background:var(--plum); color:#fff9f3; }
.intro-band p { margin:0; display:flex; align-items:center; gap:10px; font-family:Georgia,serif; font-size:14px; }
.intro-band span { font-size:9px; text-transform:uppercase; letter-spacing:.16em; color:#ddcbd1; }

.section-shell { max-width:1440px; margin:0 auto; padding:130px 5vw; }
.section-heading { display:grid; grid-template-columns:1.15fr .6fr; align-items:end; gap:8vw; margin-bottom:58px; }
.section-heading h2, .portfolio-copy h2, .about-copy h2, .contact-copy h2, .faq-section h2 { margin:20px 0 0; font-family:Georgia,serif; font-size:clamp(48px,5vw,76px); line-height:1; letter-spacing:-.055em; font-weight:400; }
.section-heading h2 em, .portfolio-copy h2 em, .about-copy h2 em, .contact-copy h2 em, .faq-section h2 em { color:var(--wine); font-weight:400; }
.section-heading > p { max-width:480px; margin:0; color:var(--muted); font-family:Georgia,serif; font-size:17px; line-height:1.7; }
.service-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.service-card { min-height:500px; padding:34px; border:1px solid var(--line); border-radius:24px; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.service-card::after { content:""; width:260px; height:260px; position:absolute; right:-100px; top:-100px; border-radius:50%; border:1px solid rgba(101,51,79,.09); box-shadow:0 0 0 42px rgba(101,51,79,.025),0 0 0 88px rgba(101,51,79,.02); }
.service-card.rose { background:linear-gradient(150deg,#f8eae5,#fffaf5 65%); }
.service-card.sand { background:linear-gradient(150deg,#f1e8db,#fffdf7 65%); }
.service-card.plum { background:linear-gradient(145deg,#4a243c,#7c3b58); color:white; border-color:transparent; }
.card-top { display:flex; justify-content:space-between; align-items:center; text-transform:uppercase; letter-spacing:.15em; font-size:9px; position:relative; z-index:1; }
.card-top i { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.62); color:var(--wine); }
.plum .card-top i { background:rgba(255,255,255,.12); color:white; }
.service-card h3 { max-width:300px; margin:72px 0 18px; font-family:Georgia,serif; font-weight:400; font-size:35px; line-height:1.08; letter-spacing:-.04em; position:relative; z-index:1; }
.service-card > p { margin:0; max-width:360px; color:var(--muted); font-size:13px; line-height:1.7; position:relative; z-index:1; }
.plum > p { color:#e4d2dc; }
.service-card ul { list-style:none; padding:0; margin:auto 0 30px; display:grid; grid-template-columns:1fr 1fr; gap:12px; position:relative; z-index:1; }
.service-card li { display:flex; gap:7px; align-items:center; font-size:10px; }
.service-card > a { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); padding-top:19px; text-transform:uppercase; font-size:9px; letter-spacing:.13em; position:relative; z-index:1; }
.plum > a { border-color:rgba(255,255,255,.2); }

.portfolio-section { max-width:1440px; margin:0 auto; min-height:850px; display:grid; grid-template-columns:1.05fr .95fr; background:var(--plum); color:white; }
.portfolio-image { min-height:700px; background:#c5a89a var(--dbd-event-dinner-image) center / cover no-repeat; position:relative; }
.portfolio-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(40,19,31,.55)); }
.portfolio-badge { position:absolute; z-index:2; left:35px; bottom:35px; padding:16px 19px; border:1px solid rgba(255,255,255,.42); border-radius:12px; background:rgba(45,24,35,.36); backdrop-filter:blur(12px); }
.portfolio-badge span,.portfolio-badge strong { display:block; }
.portfolio-badge span { text-transform:uppercase; letter-spacing:.15em; font-size:8px; color:#e5d8de; }
.portfolio-badge strong { margin-top:6px; font-family:Georgia,serif; font-size:15px; font-weight:400; }
.portfolio-copy { padding:50px 5vw; display:flex; flex-direction:column; justify-content:space-between; }
.section-number { color:#c9b6c1; text-transform:uppercase; letter-spacing:.16em; font-size:9px; }
.eyebrow.light { color:#e2c8d5; }
.eyebrow.light span { background:#d1a6af; }
.portfolio-copy h2 { font-size:clamp(48px,4.5vw,68px); }
.portfolio-copy h2 em,.contact-copy h2 em { color:#e3bfc6; }
.portfolio-copy p { color:#decfd7; max-width:540px; font-family:Georgia,serif; line-height:1.75; font-size:16px; }
.button-light { width:max-content; background:#fff9f3; color:var(--plum); }
.portfolio-stats { display:flex; align-items:center; gap:16px; text-transform:uppercase; letter-spacing:.13em; font-size:8px; color:#c5b0bc; }
.portfolio-stats span { display:flex; align-items:center; gap:7px; }
.portfolio-stats strong { color:white; font-size:9px; }
.portfolio-stats i { width:30px; height:1px; background:rgba(255,255,255,.2); }

.shop-section { background:#fffdf9; }
.shop-layout { display:grid; grid-template-columns:1fr .78fr; gap:18px; }
.shop-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.shop-item { min-height:270px; padding:28px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,#fff,#f8f0ea); display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr auto auto; position:relative; transition:box-shadow .25s ease; }
.shop-item:hover { box-shadow:0 25px 50px rgba(65,36,52,.09); }
.shop-item > span { color:#ac999f; font-size:8px; }
.shop-item > svg { color:var(--wine); }
.shop-item h3 { grid-column:1/-1; align-self:end; margin:0 0 9px; font-family:Georgia,serif; font-size:22px; font-weight:400; }
.shop-item p { margin:0; color:var(--muted); font-size:10px; line-height:1.6; max-width:230px; }
.shop-item .arrow-up { justify-self:end; align-self:end; color:#8a707e; }
.hair-feature { min-height:555px; border-radius:22px; overflow:hidden; position:relative; }
.hair-image { position:absolute; inset:0; background:#5f304b var(--dbd-hair-image) center / cover no-repeat; }
.hair-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(36,16,29,.88)); }
.hair-copy { position:absolute; z-index:2; left:34px; right:34px; bottom:30px; color:white; }
.hair-copy > span { text-transform:uppercase; letter-spacing:.16em; font-size:8px; }
.hair-copy h3 { margin:10px 0; font-family:Georgia,serif; font-size:40px; font-weight:400; line-height:.95; }
.hair-copy h3 em { color:#e5bbc8; font-weight:400; }
.hair-copy p { max-width:360px; color:#e5d6dd; font-size:11px; line-height:1.6; }
.hair-copy a { display:flex; width:max-content; gap:10px; align-items:center; border-bottom:1px solid rgba(255,255,255,.4); padding-bottom:5px; font-size:10px; }

.about-section { max-width:1440px; margin:0 auto; padding:140px 7vw; display:grid; grid-template-columns:.6fr 1fr .6fr; gap:7vw; align-items:center; background:linear-gradient(135deg,#f3e2dc,#fbf8f2 50%,#ebdce0); position:relative; overflow:hidden; }
.about-orbit { width:260px; height:260px; border:1px solid rgba(101,51,79,.16); border-radius:50%; display:grid; place-items:center; position:relative; }
.about-orbit::before,.about-orbit::after { content:""; position:absolute; border:1px solid rgba(101,51,79,.1); border-radius:50%; }
.about-orbit::before { inset:28px; }
.about-orbit::after { inset:-32px; }
.about-orbit span { font-family:Georgia,serif; color:var(--wine); font-size:60px; letter-spacing:-.12em; }
.about-orbit i { width:9px; height:9px; position:absolute; border-radius:50%; background:var(--wine); }
.about-orbit i:nth-of-type(1) { top:17px; left:54px; }.about-orbit i:nth-of-type(2) { right:-4px; top:48%; }.about-orbit i:nth-of-type(3) { bottom:20px; left:45px; }
.about-copy h2 { font-size:clamp(46px,4.5vw,68px); }
.about-copy > p { color:var(--muted); font-family:Georgia,serif; font-size:15px; line-height:1.75; }
.signature { margin-top:30px; font-family:'Brush Script MT',cursive; color:var(--wine); font-size:36px; }
.signature span { display:block; margin-top:2px; color:var(--muted); font-family:var(--font-geist-sans),sans-serif; font-size:8px; text-transform:uppercase; letter-spacing:.16em; }
.glass-panel { border:1px solid rgba(255,255,255,.62); background:rgba(255,253,249,.55); backdrop-filter:blur(16px); box-shadow:0 25px 70px rgba(74,38,58,.1); }
.values-card { padding:30px; border-radius:22px; }
.values-card h3 { font-family:Georgia,serif; font-weight:400; font-size:24px; }
.values-card ul { list-style:none; margin:0; padding:0; display:grid; gap:15px; }
.values-card li { display:flex; gap:9px; align-items:center; font-size:10px; }
.values-card li svg { color:var(--wine); }

.testimonial-section { max-width:1440px; margin:0 auto; padding:110px 15vw; text-align:center; background:#fffdf9; }
.testimonial-section > svg { color:var(--rose); }
.testimonial-section blockquote { max-width:900px; margin:28px auto; font-family:Georgia,serif; font-size:clamp(27px,3vw,43px); line-height:1.38; letter-spacing:-.025em; }
.testimonial-section div { display:flex; flex-direction:column; gap:5px; align-items:center; }
.testimonial-section strong { font-family:Georgia,serif; font-size:13px; font-weight:400; }
.testimonial-section small { color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.14em; }

.contact-section { max-width:1440px; margin:0 auto; padding:110px 6vw; display:grid; grid-template-columns:.8fr 1fr; gap:7vw; color:white; background:radial-gradient(circle at 10% 10%,rgba(200,136,145,.28),transparent 30%),linear-gradient(140deg,#3f1d34,#6d2948); }
.contact-copy { align-self:center; }
.contact-copy h2 { font-size:clamp(50px,5vw,74px); }
.contact-copy > p { color:#ddcbd4; max-width:500px; font-family:Georgia,serif; font-size:16px; line-height:1.7; }
.contact-points { margin-top:38px; display:grid; gap:14px; color:#e7d8de; font-size:10px; }
.contact-points span,.contact-points a { display:flex; align-items:center; gap:10px; }
.form-wrap { min-height:580px; padding:38px; border-radius:25px; color:var(--ink); background:rgba(255,252,247,.94); }
.form-title { display:flex; justify-content:space-between; align-items:end; border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom:24px; }
.form-title span { font-family:Georgia,serif; font-size:25px; }
.form-title small { color:var(--muted); font-size:8px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 16px; }
.form-grid label { display:grid; gap:7px; font-size:9px; text-transform:uppercase; letter-spacing:.12em; color:#6d5964; }
.form-grid input,.form-grid select,.form-grid textarea { width:100%; border:1px solid rgba(76,44,61,.17); background:#fffdfa; border-radius:10px; padding:12px 13px; outline:none; color:var(--ink); text-transform:none; letter-spacing:0; transition:border-color .2s ease,box-shadow .2s ease; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { border-color:var(--rose); box-shadow:0 0 0 3px rgba(198,140,132,.13); }
.form-grid textarea { resize:vertical; }
.full-field { grid-column:1/-1; }
.button-submit { border:0; margin-top:22px; background:var(--plum); color:white; cursor:pointer; }
.form-note { color:#8d7b84; font-size:8px; line-height:1.5; }
.form-alert { margin:0 0 18px; padding:12px 14px; border:1px solid rgba(109,41,72,.22); border-radius:10px; background:#f8e8e5; color:var(--wine); font-size:11px; line-height:1.5; }
.success-state { min-height:500px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.success-state > span { width:60px; height:60px; border-radius:50%; display:grid; place-items:center; background:#eadbd9; color:var(--wine); }
.success-state h3 { font-family:Georgia,serif; font-size:33px; font-weight:400; margin:22px 0 8px; }
.success-state p { max-width:380px; color:var(--muted); line-height:1.7; }
.success-state button { margin-top:16px; border:0; border-bottom:1px solid var(--line); background:none; color:var(--wine); cursor:pointer; }

.faq-section { display:grid; grid-template-columns:.55fr 1fr; gap:10vw; align-items:start; }
.faq-section > div:first-child { position:sticky; top:40px; }
.faq-section > div:first-child > p { max-width:300px; color:var(--muted); font-size:12px; line-height:1.7; }
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item summary { width:100%; min-height:86px; display:grid; grid-template-columns:45px 1fr auto; align-items:center; gap:12px; padding:0; color:var(--ink); text-align:left; cursor:pointer; list-style:none; font-family:Georgia,serif; font-size:17px; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary > span { color:#a9919e; font-family:Arial,sans-serif; font-size:8px; }
.faq-item summary > i { font-family:Georgia,serif; font-size:22px; font-style:normal; font-weight:400; color:var(--wine); transition:transform .2s ease; }
.faq-item[open] summary > i { transform:rotate(45deg); }
.faq-item p { margin:0 0 27px 57px; max-width:610px; color:var(--muted); font-size:12px; line-height:1.7; }

footer { max-width:1440px; margin:0 auto; padding:80px 5vw 25px; background:#2e1828; color:white; }
.footer-top { display:grid; grid-template-columns:1fr .8fr auto; align-items:center; gap:6vw; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-brand .brand-mark { border-color:#c8adb9; }.footer-brand .brand-name i { color:#d1a1aa; }
.footer-top p { color:#cdbcc5; font-family:Georgia,serif; font-size:14px; line-height:1.6; }
.footer-links { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; padding:50px 0; }
.footer-links > div { display:flex; flex-direction:column; gap:11px; color:#bca8b3; font-size:10px; }
.footer-links strong { margin-bottom:7px; color:white; text-transform:uppercase; letter-spacing:.15em; font-size:8px; }
.footer-links a:hover { color:white; }
.footer-bottom { display:flex; justify-content:space-between; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); color:#8f7a85; font-size:8px; text-transform:uppercase; letter-spacing:.12em; }

.mobile-menu { position:fixed; inset:0; z-index:100; background:var(--cream); padding:30px; display:flex; flex-direction:column; justify-content:center; gap:22px; }
.mobile-menu[hidden] { display:none!important; }
.mobile-menu button { position:absolute; top:28px; right:26px; border:0; background:none; color:var(--ink); }
.mobile-menu a { font-family:Georgia,serif; font-size:38px; }

/* Complete multi-page experience */
.site-header-v2 { grid-template-columns:minmax(190px,1fr) auto minmax(235px,1fr); height:74px; background:rgba(251,247,242,.93); backdrop-filter:blur(18px); }
.desktop-nav-v2 { align-items:center; gap:23px; }
.desktop-nav-v2 > a,.nav-dropdown > button { white-space:nowrap; }
.nav-dropdown { position:relative; }
.nav-dropdown > button { padding:10px 0; border:0; background:none; color:var(--ink); display:flex; align-items:center; gap:4px; font-size:12px; cursor:pointer; }
.nav-dropdown-panel { position:absolute; top:calc(100% + 4px); left:50%; width:220px; padding:13px; display:grid; gap:3px; border:1px solid var(--line); border-radius:14px; background:rgba(255,253,249,.98); box-shadow:0 20px 55px rgba(63,30,48,.14); opacity:0; visibility:hidden; transform:translate(-50%,9px); transition:.22s ease; }
.nav-dropdown:hover .nav-dropdown-panel,.nav-dropdown:focus-within .nav-dropdown-panel { opacity:1; visibility:visible; transform:translate(-50%,0); }
.nav-dropdown-panel a { padding:11px 12px; border-radius:9px; font-family:Georgia,serif; font-size:13px; }
.nav-dropdown-panel a:hover,.nav-dropdown-panel a:focus-visible { background:#f4e6e1; }
.header-tools { justify-self:end; display:flex; align-items:center; gap:7px; }
.icon-link { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; transition:.2s ease; position:relative; }
.icon-link:hover { background:#f1e5e2; color:var(--wine); }
.cart-link > span { width:16px; height:16px; position:absolute; top:-2px; right:-2px; border-radius:50%; display:grid; place-items:center; background:var(--wine); color:white; font-size:8px; }
.mobile-brand { position:absolute; left:26px; top:27px; font-size:20px!important; }
.mobile-brand i { color:var(--rose); font-size:13px; }
.mobile-menu-scroll { display:grid; max-height:75vh; overflow:auto; gap:14px; }
.mobile-menu-scroll > span { color:var(--rose); text-transform:uppercase; letter-spacing:.15em; font-size:9px; }
.mobile-menu-v2 .mobile-menu-scroll a { font-size:31px; }

.inner-hero { min-height:660px; max-width:1440px; margin:0 auto; padding:90px 6vw; position:relative; display:flex; align-items:flex-end; color:white; background-position:center; background-size:cover; overflow:hidden; }
.image-studio { background-image:var(--dbd-studio-image); background-position:center; background-size:cover; }
.image-wedding { background-image:var(--dbd-wedding-image); background-position:center; background-size:cover; }
.image-hair { background-image:var(--dbd-hair-image); background-position:center; background-size:cover; }
.image-event-dinner { background-image:var(--dbd-event-dinner-image); background-position:center; background-size:cover; }
.image-event-garden { background-image:var(--dbd-wedding-image); background-position:center; background-size:cover; }
.image-event-candles { background-image:var(--dbd-event-candle-image); background-position:center; background-size:cover; }

body.admin-bar .site-header-v2 { top:32px; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-content { min-height:60vh; }
.dbd-main-content > *:first-child { margin-top:0; }
.dbd-wp-content { max-width:1440px; margin:0 auto; }
.dbd-wp-content > .alignwide { max-width:1280px; margin-left:auto; margin-right:auto; }
.dbd-wp-content > .alignfull { max-width:none; }
.dbd-empty-store { padding:85px 6vw; text-align:center; background:linear-gradient(135deg,#f3e2dc,#fffaf7); border:1px solid var(--line); border-radius:24px; }
.dbd-empty-store h2 { font-family:Georgia,serif; font-size:40px; font-weight:400; }
.dbd-empty-store p { max-width:620px; margin:0 auto 25px; color:var(--muted); line-height:1.7; }
.woocommerce .products { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none!important; }
.woocommerce ul.products li.product { width:auto!important; margin:0!important; padding:0 0 22px!important; border:1px solid var(--line); border-radius:20px; background:#fffdfa; overflow:hidden; }
.woocommerce ul.products li.product a img { margin:0!important; aspect-ratio:1/1.05; object-fit:cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price { padding-left:20px!important; padding-right:20px!important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:Georgia,serif; font-size:20px!important; font-weight:400; }
.woocommerce ul.products li.product .price { color:var(--wine)!important; }
.woocommerce ul.products li.product .button { margin:5px 20px 0!important; width:calc(100% - 40px); background:var(--plum)!important; color:white!important; border-radius:999px!important; }
.woocommerce-cart-form,.woocommerce-checkout,.woocommerce-account .woocommerce { max-width:1180px; margin:60px auto; padding:0 22px; }
.woocommerce input,.woocommerce select,.woocommerce textarea { border:1px solid var(--line); border-radius:8px; padding:11px; }
.woocommerce button.button,.woocommerce a.button,.woocommerce input.button { background:var(--plum)!important; color:white!important; border-radius:999px!important; }
@media(max-width:760px){body.admin-bar .site-header-v2{top:46px}.woocommerce .products{grid-template-columns:1fr!important}}
.inner-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(38,17,31,.9) 0%,rgba(49,22,39,.68) 46%,rgba(35,15,28,.16) 78%),linear-gradient(0deg,rgba(30,12,24,.35),transparent 45%); }
.inner-hero-copy { max-width:820px; position:relative; z-index:1; }
.inner-hero h1,.shop-hero h1,.form-page h1,.utility-page h1 { margin:22px 0 24px; font-family:Georgia,serif; font-size:clamp(58px,6vw,88px); font-weight:400; line-height:.95; letter-spacing:-.06em; }
.inner-hero h1 em,.shop-hero h1 em,.form-page h1 em,.utility-page h1 em { color:#e7bcc6; font-weight:400; }
.inner-hero-copy > p { max-width:680px; color:#eadce2; font-family:Georgia,serif; font-size:19px; line-height:1.65; }
.light-link { color:white; border-color:rgba(255,255,255,.35); }
.inner-intro { display:grid; grid-template-columns:1.1fr .7fr; align-items:end; gap:8vw; padding-bottom:55px; }
.inner-intro h2,.store-toolbar h2,.process-section h2,.editorial-cta h2 { margin:18px 0 0; font-family:Georgia,serif; font-size:clamp(43px,4.6vw,68px); font-weight:400; line-height:1; letter-spacing:-.05em; }
.inner-intro h2 em,.process-section h2 em,.editorial-cta h2 em { color:var(--wine); font-weight:400; }
.inner-intro > p { margin:0; color:var(--muted); font-family:Georgia,serif; font-size:16px; line-height:1.7; }
.compact-shell { padding-top:0; }
.highlight-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.highlight-card { min-height:345px; padding:28px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,#fffdfa,#f7ede8); }
.highlight-card > span { color:#aa939e; font-size:8px; letter-spacing:.12em; }
.highlight-symbol { margin:48px 0 24px; color:var(--wine); font-family:Georgia,serif; font-size:22px; font-weight:400; }
.highlight-card h3 { margin:0 0 12px; font-family:Georgia,serif; font-size:24px; font-weight:400; }
.highlight-card p { margin:0; color:var(--muted); font-size:11px; line-height:1.65; }
.highlight-card a { margin-top:auto; padding-top:20px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; text-transform:uppercase; letter-spacing:.12em; font-size:8px; }
.editorial-story { max-width:1440px; margin:0 auto; padding:0 6vw 120px; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr); gap:clamp(45px,7vw,105px); align-items:center; }
.editorial-story-image { min-height:650px; border-radius:28px 28px 160px 28px; position:relative; overflow:hidden; box-shadow:0 32px 75px rgba(67,35,52,.14); }
.editorial-story-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(37,17,29,.68)); }
.editorial-story-image > span { position:absolute; z-index:1; left:28px; bottom:25px; color:#fffaf5; text-transform:uppercase; letter-spacing:.14em; font-size:8px; }
.editorial-story-copy { padding-right:3vw; }
.editorial-story-copy h2 { margin:22px 0 25px; font-family:Georgia,serif; font-size:clamp(46px,5vw,72px); font-weight:400; line-height:.98; letter-spacing:-.055em; }
.editorial-story-copy h2 em { color:var(--wine); font-weight:400; }
.editorial-story-copy > p { max-width:560px; margin:0; color:var(--muted); font-family:Georgia,serif; font-size:17px; line-height:1.75; }
.editorial-story-details { margin:34px 0 30px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.editorial-story-details span { min-height:48px; display:grid; grid-template-columns:42px 1fr; align-items:center; border-bottom:1px solid var(--line); color:#594952; text-transform:uppercase; letter-spacing:.11em; font-size:9px; }
.editorial-story-details span:last-child { border-bottom:0; }
.editorial-story-details i { color:var(--rose); font-style:normal; font-size:8px; }
.store-bridge { padding-top:0; display:flex; align-items:center; justify-content:space-between; gap:50px; }
.store-bridge > div { max-width:730px; }
.store-bridge span { color:var(--wine); text-transform:uppercase; letter-spacing:.16em; font-size:8px; }
.store-bridge h2 { margin:16px 0; font-family:Georgia,serif; font-size:clamp(43px,4.6vw,68px); font-weight:400; line-height:1; letter-spacing:-.05em; }
.store-bridge h2 em { color:var(--wine); font-weight:400; }
.store-bridge p { color:var(--muted); font-family:Georgia,serif; line-height:1.7; }
.process-section { max-width:1440px; margin:0 auto; background:var(--plum); color:white; }
.process-section .section-heading h2 em { color:#e5bac5; }
.process-section .section-heading > p { color:#d6c3cc; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.16); }
.process-grid > div { min-height:260px; padding:34px; border-right:1px solid rgba(255,255,255,.16); }
.process-grid > div:last-child { border-right:0; }
.process-grid span { color:#d8aeb9; font-size:9px; }
.process-grid h3 { margin:56px 0 14px; font-family:Georgia,serif; font-size:28px; font-weight:400; }
.process-grid p { color:#d5c5cd; font-size:11px; line-height:1.7; }
.editorial-cta { max-width:1440px; margin:0 auto; padding:110px 6vw; text-align:center; background:radial-gradient(circle at 20% 20%,rgba(198,140,132,.26),transparent 35%),linear-gradient(135deg,#f0ded8,#fffaf5 52%,#eadbe0); }
.editorial-cta > span { display:flex; justify-content:center; align-items:center; gap:9px; color:var(--wine); text-transform:uppercase; letter-spacing:.15em; font-size:9px; }
.editorial-cta .button { margin-top:32px; }

.shop-hero { max-width:1440px; margin:0 auto; min-height:450px; padding:90px 6vw 70px; display:flex; align-items:center; background:radial-gradient(circle at 85% 20%,rgba(198,140,132,.26),transparent 28%),linear-gradient(135deg,#fbf7f2,#eadce0); }
.shop-hero > div { max-width:850px; }
.shop-hero h1 em { color:var(--wine); }
.shop-hero p { max-width:650px; color:var(--muted); font-family:Georgia,serif; font-size:18px; line-height:1.7; }
.store-section { padding-top:90px; }
.store-toolbar { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:42px; }
.store-toolbar span { color:var(--wine); text-transform:uppercase; letter-spacing:.16em; font-size:8px; }
.store-toolbar h2 { font-size:45px; }
.store-toolbar label { width:230px; position:relative; display:grid; gap:8px; color:var(--muted); text-transform:uppercase; letter-spacing:.1em; font-size:8px; }
.store-toolbar select { appearance:none; width:100%; padding:12px 38px 12px 13px; border:1px solid var(--line); border-radius:10px; background:white; color:var(--ink); }
.store-toolbar label svg { position:absolute; right:13px; bottom:13px; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.product-card { padding:0 0 22px; border:1px solid var(--line); border-radius:20px; background:#fffdfa; overflow:hidden; }
.product-image { min-height:330px; padding:18px; background-color:#eadbd5; position:relative; }
.product-image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(44,21,35,.26),transparent 45%); }
.product-image > span { position:relative; z-index:1; display:inline-block; padding:7px 10px; border-radius:999px; background:rgba(255,253,249,.82); backdrop-filter:blur(8px); color:var(--plum); text-transform:uppercase; letter-spacing:.1em; font-size:7px; }
.product-info { min-height:145px; padding:22px 22px 15px; display:flex; justify-content:space-between; gap:15px; }
.product-info small { color:var(--wine); text-transform:uppercase; letter-spacing:.12em; font-size:7px; }
.product-info h3 { margin:8px 0; font-family:Georgia,serif; font-size:21px; font-weight:400; }
.product-info p { margin:0; color:var(--muted); font-size:9px; }
.product-info strong { white-space:nowrap; font-family:Georgia,serif; font-weight:400; font-size:14px; }
.product-card > button { width:calc(100% - 44px); min-height:43px; margin:0 22px; border:1px solid var(--plum); border-radius:999px; background:transparent; color:var(--plum); display:flex; align-items:center; justify-content:center; gap:9px; font-size:10px; cursor:pointer; transition:.2s ease; }
.product-card > button:hover { background:var(--plum); color:white; }
.shop-promise { padding-top:0; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.shop-promise div { padding:20px; border:1px solid var(--line); display:flex; align-items:center; gap:9px; font-size:10px; }
.shop-promise svg { color:var(--wine); }

.gallery-mosaic { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:180px; gap:12px; }
.gallery-tile { margin:0; position:relative; overflow:hidden; border-radius:18px; }
.gallery-tile > div { position:absolute; inset:0; transition:transform .7s ease; }
.gallery-tile:hover > div { transform:scale(1.04); }
.gallery-tile figcaption { position:absolute; left:0; right:0; bottom:0; padding:22px; color:white; background:linear-gradient(transparent,rgba(38,16,30,.7)); font-family:Georgia,serif; font-size:17px; }
.gallery-tile figcaption span { margin-right:10px; font-family:var(--font-geist-sans); font-size:8px; }
.tile-1,.tile-5 { grid-column:span 7; grid-row:span 2; }.tile-2,.tile-6 { grid-column:span 5; grid-row:span 2; }.tile-3,.tile-4 { grid-column:span 6; grid-row:span 2; }

.form-page { max-width:1440px; margin:0 auto; min-height:800px; padding:100px 6vw; display:grid; grid-template-columns:.8fr 1fr; gap:7vw; align-items:center; background:radial-gradient(circle at 10% 10%,rgba(200,136,145,.28),transparent 30%),linear-gradient(140deg,#3f1d34,#6d2948); color:white; }
.form-page-copy p { max-width:520px; color:#ddcbd4; font-family:Georgia,serif; font-size:17px; line-height:1.7; }
.form-page .form-wrap { color:var(--ink); }
.form-page .contact-points svg { width:18px; }
.utility-page { min-height:700px; }
.utility-page h1 em { color:var(--wine); }
.utility-card { max-width:720px; margin-top:55px; padding:45px; border:1px solid var(--line); border-radius:24px; background:#fffdfa; }
.utility-card h2 { font-family:Georgia,serif; font-size:30px; font-weight:400; }
.utility-card p { color:var(--muted); line-height:1.7; }
.utility-card label { display:grid; gap:8px; margin:18px 0; color:var(--muted); font-size:10px; }
.utility-card input { min-height:46px; padding:10px; border:1px solid var(--line); border-radius:9px; }

@media (max-width: 1050px) {
  .desktop-nav { gap:18px; }
  .hero { grid-template-columns:1fr .72fr; gap:5vw; }
  .hero h1 { font-size:clamp(58px,7vw,76px); }
  .hero-image { min-height:0; }
  .glass-note-bottom { right:-15px; }
  .service-rail { grid-template-columns:repeat(2,1fr); }
  .service-mini:nth-child(2) { border-right:0; }
  .service-mini:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .service-cards { grid-template-columns:1fr 1fr; }
  .service-card:last-child { grid-column:1/-1; min-height:440px; }
  .about-section { grid-template-columns:.5fr 1fr; }
  .values-card { grid-column:2; }
  .about-orbit { grid-row:1/3; }
  .contact-section { gap:4vw; }
  .site-header-v2 { grid-template-columns:180px 1fr auto; }
  .desktop-nav-v2 { gap:13px; }
  .header-tools .header-cta { display:none; }
  .highlight-grid { grid-template-columns:1fr 1fr; }
  .product-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 760px) {
  .announcement { justify-content:center; min-height:31px; font-size:8px; padding:7px 15px; }
  .announcement > span { display:none; }
  .site-header { height:70px; display:flex; justify-content:space-between; padding:0 20px; }
  .desktop-nav, .header-cta { display:none; }
  .site-header-v2 { display:flex; }
  .header-tools .icon-link { display:none; }
  .menu-button { display:grid; place-items:center; padding:8px; }
  .hero { min-height:auto; display:flex; flex-direction:column; gap:42px; padding:50px 20px 74px; }
  .hero-copy { padding:0; }
  .eyebrow { font-size:8px; }
  .hero h1 { margin:20px 0 22px; font-size:clamp(52px,16vw,72px); line-height:.98; }
  .hero-lead { font-size:17px; line-height:1.55; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:19px; margin-top:29px; }
  .button { width:100%; }
  .social-proof { margin-top:30px; }
  .hero-visual { width:92%; align-self:flex-end; }
  .hero-image { min-height:0; aspect-ratio:1; border-radius:20px; }
  .glass-note-top { left:-26px; top:15%; }
  .glass-note-bottom { right:-8px; bottom:10%; }
  .image-label { bottom:-22px; }
  .scroll-cue { display:none; }
  .service-rail { grid-template-columns:1fr; margin:0 14px; border:1px solid var(--line); border-radius:20px; overflow:hidden; }
  .service-mini, .service-mini:nth-child(2) { min-height:105px; border:0; border-bottom:1px solid var(--line); padding:20px; }
  .service-mini:last-child { border-bottom:0; }
  .intro-band { flex-direction:column; gap:8px; text-align:center; padding:25px 20px; }
  .section-shell { padding:90px 20px; }
  .section-heading { grid-template-columns:1fr; gap:24px; margin-bottom:38px; }
  .section-heading h2,.portfolio-copy h2,.about-copy h2,.contact-copy h2,.faq-section h2 { font-size:clamp(43px,13vw,57px); }
  .section-heading > p { font-size:15px; }
  .service-cards { grid-template-columns:1fr; }
  .service-card,.service-card:last-child { grid-column:auto; min-height:470px; padding:28px; }
  .portfolio-section { min-height:0; grid-template-columns:1fr; }
  .portfolio-image { min-height:480px; }
  .portfolio-copy { min-height:650px; padding:45px 24px; gap:40px; }
  .portfolio-stats { flex-wrap:wrap; }
  .shop-layout { grid-template-columns:1fr; }
  .shop-grid { grid-template-columns:1fr; }
  .shop-item { min-height:230px; }
  .hair-feature { min-height:540px; }
  .about-section { padding:95px 24px; grid-template-columns:1fr; gap:55px; }
  .about-orbit { grid-row:auto; width:190px; height:190px; justify-self:center; }
  .values-card { grid-column:auto; }
  .testimonial-section { padding:85px 24px; }
  .contact-section { padding:85px 20px; grid-template-columns:1fr; gap:50px; }
  .form-wrap { padding:24px 18px; }
  .form-grid { grid-template-columns:1fr; }
  .full-field { grid-column:auto; }
  .form-title { align-items:start; flex-direction:column; gap:7px; }
  .faq-section { grid-template-columns:1fr; gap:50px; }
  .faq-section > div:first-child { position:static; }
  .faq-item summary { min-height:92px; grid-template-columns:32px 1fr auto; }
  .faq-item p { margin-left:44px; }
  footer { padding:65px 24px 25px; }
  .footer-top { grid-template-columns:1fr; gap:25px; }
  .footer-links { grid-template-columns:1fr 1fr; }
  .footer-bottom { flex-direction:column; gap:10px; }
  .inner-hero { min-height:620px; padding:72px 22px; }
  .inner-hero-shade { background:linear-gradient(0deg,rgba(35,14,28,.9) 0%,rgba(35,14,28,.52) 67%,rgba(35,14,28,.14)); }
  .inner-hero h1,.shop-hero h1,.form-page h1,.utility-page h1 { font-size:clamp(48px,13vw,64px); }
  .inner-hero-copy > p { font-size:16px; }
  .inner-intro { grid-template-columns:1fr; gap:25px; padding-bottom:40px; }
  .highlight-grid { grid-template-columns:1fr; }
  .highlight-card { min-height:320px; }
  .editorial-story { padding:0 20px 85px; grid-template-columns:1fr; gap:42px; }
  .editorial-story-image { min-height:500px; border-radius:20px 20px 95px 20px; }
  .editorial-story-copy { padding:0 4px; }
  .editorial-story-copy h2 { font-size:clamp(43px,13vw,57px); }
  .editorial-story-copy > p { font-size:16px; }
  .store-bridge { align-items:stretch; flex-direction:column; }
  .process-grid { grid-template-columns:1fr; }
  .process-grid > div { min-height:220px; border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }
  .process-grid > div:last-child { border-bottom:0; }
  .editorial-cta { padding:85px 22px; }
  .shop-hero { min-height:420px; padding:70px 22px; }
  .store-toolbar { align-items:stretch; flex-direction:column; }
  .store-toolbar label { width:100%; }
  .product-grid { grid-template-columns:1fr; }
  .product-image { min-height:360px; }
  .shop-promise { grid-template-columns:1fr 1fr; }
  .gallery-mosaic { display:block; }
  .gallery-tile { height:390px; margin-bottom:12px; }
  .form-page { padding:80px 20px; grid-template-columns:1fr; gap:45px; }
  .utility-card { padding:28px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
