@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,500;1,600&family=Manrope:wght@400;500;600;700&display=swap');

:root { color: #171310; background: #fbf8f3; font-family: 'Manrope', sans-serif; font-synthesis: none; --ink:#171310; --cream:#fbf8f3; --beige:#f2eae0; --gold:#b89562; --rose:#d8b7ae; --brown:#69584d; --muted:#887b70; --line:rgba(105,88,77,.18); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); }
body, button, input, select, textarea { font-family: 'Manrope', sans-serif; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
button, input, select, textarea { font-size: inherit; }
::selection { color: var(--cream); background: var(--gold); }
.site-shell { overflow: hidden; }
.topbar { position: fixed; z-index: 20; top: 0; left: 0; width: 100%; display: flex; align-items: center; padding: 24px 5vw; gap: 34px; color: var(--cream); transition: .35s ease; }
.scrolled .topbar { padding-block: 14px; background: rgba(23,19,16,.9); backdrop-filter: blur(18px); box-shadow: 0 10px 28px rgba(23,19,16,.12); }
.brand { display:flex; align-items:center; min-width: 142px; }
.brand span { font: 600 19px/1 'Cormorant Garamond', serif; letter-spacing: .22em; }
.brand b { font-weight: 500; color: var(--gold); }
.brand small { display:block; margin-top: 5px; font: 500 7px/1 'Manrope', sans-serif; letter-spacing:.38em; color:#d5cbc1; }
.nav-links { display:flex; justify-content:center; gap: clamp(13px, 1.7vw, 28px); flex:1; }
.nav-links a { font-size: 10px; letter-spacing: .08em; color: #e9e0d7; transition: color .2s; }
.nav-links a:hover { color: var(--gold); }
.button { display:inline-flex; justify-content:center; align-items:center; gap:12px; border: 1px solid transparent; padding: 16px 23px; text-transform: uppercase; letter-spacing:.12em; font-size: 9px; font-weight:700; transition: transform .25s, background .25s, color .25s; }
.button:hover { transform: translateY(-3px); }
.button-small { padding: 12px 17px; white-space:nowrap; }
.button-gold { color:var(--ink); background:var(--gold); }
.button-gold:hover { background:#d0aa73; }
.button-dark { color:var(--cream); background:var(--ink); }
.button-dark:hover { background:var(--brown); }
.button-light { color:var(--ink); background:var(--cream); }
.menu-toggle { display:none; border:0; padding: 4px; color:var(--cream); background:none; }
.hero { position:relative; min-height: 780px; display:grid; grid-template-columns: 1.02fr .98fr; align-items:center; gap: 4vw; padding: 150px 10vw 90px; color:var(--cream); background: radial-gradient(circle at 70% 39%, #442b24 0, #241814 32%, var(--ink) 69%); isolation:isolate; }
.hero:after { content:''; position:absolute; inset:0; z-index:-1; opacity:.18; background-image: linear-gradient(115deg, transparent 40%, rgba(255,255,255,.2), transparent 60%); animation: sheen 12s ease-in-out infinite alternate; }
.hero-orbit { position:absolute; border:1px solid rgba(184,149,98,.32); border-radius:50%; transform-style:preserve-3d; animation: float 12s ease-in-out infinite; }
.orbit-one { width:620px; height:620px; right:8%; top:20%; transform:rotateX(70deg) rotateY(20deg); }
.orbit-two { width:420px; height:420px; right:18%; top:31%; transform:rotateX(68deg) rotateY(-28deg); animation-delay:-4s; border-color:rgba(216,183,174,.17); }
.hero-glow { width:340px; height:340px; position:absolute; right:22%; top:30%; border-radius:50%; background:rgba(184,149,98,.09); filter:blur(42px); z-index:-1; }
.hero-copy { position:relative; z-index:1; max-width: 600px; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; color:var(--gold); font-size:10px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.hero h1, h2, h3 { font-family:'Cormorant Garamond', serif; font-weight:500; line-height:.92; }
.hero h1 { margin: 24px 0 27px; font-size: clamp(62px, 7vw, 106px); letter-spacing:-.045em; }
.hero h1 em, h2 em, .bridal-quote em { color:var(--gold); font-style:italic; }
.hero-copy > p { max-width:470px; color:#cabdb2; line-height:1.8; font-size:13px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:27px; margin-top:32px; }
.text-link { display:inline-flex; align-items:center; gap:10px; border-bottom:1px solid currentColor; padding-bottom:5px; color:var(--ink); font-size:10px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.hero .text-link { color:var(--cream); }
.trust-row { display:flex; gap:28px; margin-top:70px; color:#b4a69b; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.trust-row span { display:flex; flex-direction:column; gap:5px; }
.trust-row strong { color:var(--gold); font: 600 22px 'Cormorant Garamond'; letter-spacing:0; }
.hero-art { position:relative; min-height:540px; display:flex; align-items:center; justify-content:center; }
.hero-logo-wrap { width:min(39vw, 470px); aspect-ratio:1 / 1; display:grid; place-items:center; position:relative; overflow:visible; filter:drop-shadow(0 32px 36px rgba(0,0,0,.4)); }
.hero-logo-wrap img { width:100%; height:100%; max-width:none; object-fit:contain; object-position:center; }
.art-ring { position:absolute; width:min(42vw, 515px); height:min(42vw, 515px); border:1px solid rgba(184,149,98,.6); border-radius:50%; animation:spin 28s linear infinite; }
.ring-front { width:min(39vw, 470px); height:min(39vw, 470px); border-color:rgba(255,255,255,.14); animation-direction:reverse; animation-duration:36s; }
.experience-stamp { position:absolute; right:-2%; bottom:9%; width:108px; height:108px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; border-radius:50%; border:1px solid var(--gold); background:rgba(23,19,16,.82); color:var(--cream); transform:rotate(-12deg); backdrop-filter:blur(8px); }
.experience-stamp strong { color:var(--gold); font:600 42px/ .8 'Cormorant Garamond'; }
.experience-stamp span { font-size:8px; letter-spacing:.13em; text-transform:uppercase; }
.art-note { position:absolute; left:0; bottom:4%; padding-left:15px; border-left:1px solid var(--gold); color:#b8aa9f; font-size:9px; line-height:1.8; letter-spacing:.14em; text-transform:uppercase; }
.art-note i { color:var(--gold); font-style:normal; letter-spacing:.04em; text-transform:none; }
.scroll-cue { position:absolute; bottom:28px; left:5vw; display:flex; align-items:center; gap:12px; color:#a9998d; font-size:8px; letter-spacing:.2em; text-transform:uppercase; writing-mode:vertical-rl; }
.scroll-cue i { width:1px; height:45px; background:var(--gold); }
.marquee { overflow:hidden; white-space:nowrap; padding:18px 0; color:var(--ink); background:var(--gold); font: 600 13px 'Cormorant Garamond'; letter-spacing:.14em; text-transform:uppercase; }
.marquee-track { display:inline-block; animation:marquee 32s linear infinite; }
.marquee i { color:var(--cream); font-style:normal; padding:0 23px; }
.section { padding:130px 10vw; }
.section-heading { max-width:680px; }
.section-heading h2, .contact-form h2, .quiz h2 { margin:25px 0 22px; font-size:clamp(54px, 6vw, 86px); letter-spacing:-.045em; }
.section-heading p, .compare-heading > p, .contact-info > p { max-width:470px; color:var(--muted); font-size:13px; line-height:1.9; }
.about { display:grid; grid-template-columns:.84fr 1fr; gap:12vw; align-items:center; background:var(--cream); }
.about-art { position:relative; max-width:450px; margin:auto; }
.portrait-card { position:relative; width:100%; aspect-ratio: .78; overflow:hidden; background:linear-gradient(155deg,#e6d2c2,#5d372b 70%); }
.portrait-card:after { content:''; position:absolute; inset:14px; border:1px solid rgba(255,255,255,.4); }
.portrait-card img { width:100%; height:100%; object-fit:cover; object-position:50% 3%; mix-blend-mode:normal; }
.about-caption { position:absolute; left:-30px; bottom:38px; display:flex; flex-direction:column; padding:14px 20px; background:var(--ink); color:var(--cream); }
.about-caption span { font:italic 27px 'Cormorant Garamond'; color:var(--gold); }
.about-caption small { font-size:8px; letter-spacing:.11em; text-transform:uppercase; }
.vertical-label { position:absolute; right:-43px; top:25px; writing-mode:vertical-rl; color:var(--gold); font-size:8px; letter-spacing:.22em; }
.about-copy > p { max-width:520px; color:var(--muted); line-height:1.9; font-size:13px; }
.about-stats { display:flex; gap:50px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:23px 0; margin:30px 0; max-width:480px; }
.about-stats div { display:flex; align-items:baseline; gap:12px; }
.about-stats strong { color:var(--gold); font:600 44px 'Cormorant Garamond'; }
.about-stats span { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.services { background:var(--beige); }
.category-tabs { display:flex; gap:7px; flex-wrap:wrap; margin:50px 0 27px; }
.category-tabs button { border:1px solid var(--line); padding:12px 18px; color:var(--brown); background:transparent; font-size:9px; letter-spacing:.1em; text-transform:uppercase; transition:.2s; }
.category-tabs button:hover, .category-tabs button.active { color:var(--cream); border-color:var(--ink); background:var(--ink); }
.service-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.service-card { position:relative; padding:31px 27px; min-height:290px; background:var(--beige); transition:.25s; }
.service-card:hover { z-index:1; background:var(--cream); box-shadow:0 16px 32px rgba(55,38,29,.08); transform:translateY(-3px); }
.service-number { position:absolute; right:23px; top:22px; color:#c9b8aa; font:italic 22px 'Cormorant Garamond'; }
.service-icon { display:grid; place-items:center; width:34px; height:34px; color:var(--gold); border:1px solid var(--gold); border-radius:50%; }
.service-category { display:block; margin:23px 0 8px; color:var(--gold); font-size:8px; letter-spacing:.2em; text-transform:uppercase; }
.service-card h3 { max-width:230px; margin:0 0 11px; font-size:27px; line-height:.95; }
.service-card p { min-height:48px; margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
.service-meta { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); margin-top:20px; padding-top:13px; color:var(--brown); font-size:9px; }
.service-meta span { display:flex; gap:6px; align-items:center; }
.service-meta strong { color:var(--ink); font:600 22px 'Cormorant Garamond'; }
.service-card > a { display:flex; align-items:center; gap:7px; margin-top:19px; color:var(--ink); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.price-note { margin:21px 0 0; color:var(--muted); font-size:10px; font-style:italic; }
.bridal { display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:center; color:var(--cream); background:var(--ink); }
.bridal-content p { max-width:510px; color:#b9aaa0; font-size:13px; line-height:1.9; }
.bridal .section-heading h2 { color:var(--cream); }
.process-list { display:grid; grid-template-columns:1fr 1fr; max-width:550px; margin:35px 0; border-top:1px solid #4b3c34; }
.process-list div { display:flex; align-items:center; gap:13px; padding:12px 4px; border-bottom:1px solid #4b3c34; color:#c7bab0; font-size:10px; }
.process-list span { color:var(--gold); font:italic 17px 'Cormorant Garamond'; }
.light-link { color:var(--cream); }
.bridal-visual { position:relative; min-height:560px; }
.silk-shape { position:absolute; inset:4% 6% 8% 9%; border-radius:52% 48% 43% 57%; background:radial-gradient(circle at 30% 25%,#b98575, transparent 21%), linear-gradient(145deg,#d9c1b2,#5d362c 54%,#18120f 72%); filter:saturate(.8); transform:rotate(8deg); }
.silk-shape:after { content:''; position:absolute; inset:16px; border:1px solid rgba(255,255,255,.35); border-radius:inherit; }
.bridal-card { position:absolute; left:20%; top:15%; width:58%; aspect-ratio: .76; overflow:hidden; border:1px solid var(--gold); background:#271915; }
.bridal-card img { width:140%; max-width:none; height:100%; object-fit:cover; object-position:50% 4%; opacity:.75; }
.bridal-card span { position:absolute; z-index:1; left:18px; top:18px; color:var(--cream); font-size:10px; letter-spacing:.15em; line-height:1.7; }
.bridal-card i { color:var(--gold); font:italic 17px 'Cormorant Garamond'; text-transform:none; letter-spacing:0; }
.bridal-quote { position:absolute; right:0; bottom:5%; padding:18px; color:var(--cream); background:rgba(23,19,16,.7); backdrop-filter:blur(8px); font:26px/1.05 'Cormorant Garamond'; }
.portfolio { background:var(--cream); }
.portfolio-profile { display:flex; align-items:center; gap:14px; max-width:680px; margin-top:42px; padding:14px 16px; border:1px solid var(--line); background:#fff; transition:transform .25s, box-shadow .25s; }
.portfolio-profile:hover { transform:translateY(-3px); box-shadow:0 16px 32px rgba(55,38,29,.08); }
.portfolio-avatar { display:grid; place-items:center; width:44px; height:44px; flex:none; border-radius:50%; color:var(--cream); background:linear-gradient(145deg,#6c302e,#171310); font:italic 24px 'Cormorant Garamond'; outline:1px solid var(--gold); outline-offset:3px; }
.portfolio-profile > span:nth-child(2) { display:flex; flex:1; flex-direction:column; gap:4px; }
.portfolio-profile strong { font-size:12px; }
.portfolio-profile small { color:var(--muted); font-size:9px; }
.portfolio-profile b { color:var(--gold); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.gallery-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); grid-auto-rows:390px; gap:14px; margin-top:28px; }
.gallery-card { position:relative; min-width:0; padding:0; overflow:hidden; text-align:left; border:0; background:var(--ink); }
.gallery-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.gallery-card:hover img { transform:scale(1.06); }
.gallery-card:before { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(transparent 40%,rgba(23,19,16,.45)); transition:opacity .3s; }
.gallery-instagram { position:absolute; z-index:3; top:16px; right:16px; display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(255,255,255,.45); border-radius:50%; color:var(--cream); background:rgba(23,19,16,.45); backdrop-filter:blur(7px); }
.gallery-overlay { position:absolute; z-index:2; inset:auto 0 0; display:flex; flex-direction:column; gap:4px; padding:21px; color:var(--cream); background:linear-gradient(transparent,rgba(23,19,16,.8)); }
.gallery-overlay small { color:var(--gold); font-size:8px; letter-spacing:.2em; }
.gallery-overlay strong { font:26px 'Cormorant Garamond'; }
.gallery-overlay span { color:#cfc2b8; font-size:10px; }
.portfolio-footer { display:flex; justify-content:space-between; gap:15px; align-items:center; margin-top:24px; color:var(--muted); font-size:10px; }
.compare { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:8vw; background:var(--beige); }
.comparison { position:relative; overflow:hidden; height:460px; border:1px solid var(--gold); background:#dfc5b6; }
.compare-after, .compare-before { position:absolute; inset:0; overflow:hidden; }
.compare-before { width:var(--position,48%); z-index:2; border-right:2px solid var(--cream); }
.compare-face { position:absolute; inset:0; overflow:hidden; }
.compare-face > span { position:absolute; z-index:2; top:20px; padding:8px 12px; color:var(--ink); background:var(--cream); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.before-face > span { left:20px; }
.after-face > span { right:20px; }
.after-face { background:radial-gradient(circle at 50% 38%, #e8a992 0, transparent 19%), linear-gradient(135deg,#ad7767,#432720 56%,#201513); }
.after-face img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:50% 4%; opacity:.58; mix-blend-mode:screen; }
.before-face { width:100vw; max-width:100%; background:linear-gradient(155deg,#b69380,#6d5147 48%,#312420); }
.before-shape { position:absolute; width:42%; height:69%; left:29%; top:16%; border:1px solid rgba(251,248,243,.45); border-radius:45% 45% 38% 38%; opacity:.45; }
.comparison input { position:absolute; inset:0; z-index:4; width:100%; height:100%; opacity:0; cursor:ew-resize; }
.compare-handle { position:absolute; z-index:3; top:0; bottom:0; left:var(--position,48%); display:grid; place-items:center; width:2px; background:var(--cream); transform:translateX(-1px); pointer-events:none; }
.compare-handle:before { content:''; width:35px; height:35px; border-radius:50%; background:var(--cream); box-shadow:0 2px 8px #382820; }
.reviews { color:var(--cream); background:#281b17; }
.reviews-top { display:flex; justify-content:space-between; align-items:flex-end; }
.reviews h2 { color:var(--cream); }
.rating { display:flex; align-items:center; gap:17px; padding:19px 0 28px; border-bottom:1px solid #5a493f; }
.rating strong { color:var(--gold); font:600 68px/.8 'Cormorant Garamond'; }
.rating small { display:block; margin-top:6px; color:#b9a99e; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.stars { color:var(--gold); letter-spacing:4px; }
.review-slider { max-width:760px; margin:65px auto 0; }
.quote-mark { color:var(--gold); opacity:.5; }
.review-slider > p { margin:22px 0 45px; font:italic 43px/1.1 'Cormorant Garamond'; }
.review-meta { display:flex; justify-content:space-between; align-items:center; color:#b8a89c; font-size:10px; }
.review-meta > span { display:flex; align-items:center; gap:7px; color:var(--gold); }
.slider-controls { display:flex; align-items:center; gap:18px; }
.slider-controls button { display:grid; place-items:center; width:32px; height:32px; border:1px solid #69564a; color:var(--cream); background:transparent; }
.slider-controls button:hover { color:var(--ink); background:var(--gold); }
.quiz { display:grid; grid-template-columns:.8fr 1.2fr; gap:10vw; align-items:center; background:var(--rose); }
.quiz-card { padding:45px; background:var(--cream); box-shadow:20px 24px 0 rgba(105,88,77,.12); }
.quiz-progress { display:flex; align-items:center; gap:15px; color:var(--gold); font:italic 18px 'Cormorant Garamond'; }
.quiz-progress div { height:2px; flex:1; background:var(--line); }
.quiz-progress i { display:block; height:100%; background:var(--gold); transition:.3s; }
.quiz-card h3 { margin:55px 0 25px; font-size:38px; }
.quiz-options { display:grid; gap:9px; }
.quiz-options button { display:flex; justify-content:space-between; align-items:center; padding:15px 16px; color:var(--ink); border:1px solid var(--line); background:transparent; text-align:left; font-size:11px; transition:.2s; }
.quiz-options button:hover { color:var(--cream); background:var(--ink); }
.quiz-result h3 { font-size:48px; margin:22px 0 10px; }
.quiz-result p { color:var(--muted); font-size:12px; line-height:1.7; }
.reset-quiz { border:0; margin-top:25px; padding:0; color:var(--brown); background:transparent; text-decoration:underline; font-size:10px; }
.faq { display:grid; grid-template-columns:.7fr 1.3fr; gap:10vw; }
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item button { display:flex; justify-content:space-between; width:100%; padding:21px 3px; border:0; color:var(--ink); background:transparent; text-align:left; font-size:12px; }
.faq-item button svg { color:var(--gold); transition:.2s; }
.faq-item.open button svg { transform:rotate(180deg); }
.faq-item p { max-width:650px; margin:0; padding:0 30px 22px 3px; color:var(--muted); font-size:11px; line-height:1.7; }
.contact { display:grid; grid-template-columns:1fr 1fr; gap:10vw; background:var(--beige); }
.address { display:flex; gap:15px; margin:35px 0 22px; color:var(--brown); }
.address svg { flex:none; color:var(--gold); }
.address div { display:flex; flex-direction:column; gap:4px; font-size:11px; line-height:1.5; }
.address strong { color:var(--ink); font:26px 'Cormorant Garamond'; }
.contact-links { display:flex; flex-wrap:wrap; gap:22px; margin-bottom:30px; }
.contact-links a { display:flex; align-items:center; gap:7px; color:var(--brown); font-size:10px; }
.contact-links svg { color:var(--gold); }
.calendar-icon { color:var(--gold); font-size:18px; }
.contact-map { position:relative; min-height:410px; display:flex; flex-direction:column; justify-content:center; align-items:center; overflow:hidden; color:var(--cream); background:radial-gradient(circle at 55% 40%,#4c342d,#211714 68%); }
.map-lines { position:absolute; inset:0; opacity:.18; background-image:linear-gradient(125deg, transparent 48%, var(--gold) 49%, transparent 50%),linear-gradient(30deg, transparent 48%, var(--gold) 49%, transparent 50%),linear-gradient(90deg, transparent 49%, var(--gold) 50%, transparent 51%); background-size:120px 100px,180px 150px,95px 140px; }
.contact-map svg { z-index:1; color:var(--gold); margin-bottom:15px; }
.contact-map span { z-index:1; font:20px 'Cormorant Garamond'; letter-spacing:.18em; }
.contact-map small { z-index:1; margin-top:6px; color:#c5b6ac; font-size:9px; }
.contact-map a { z-index:1; display:flex; align-items:center; gap:7px; margin-top:36px; color:var(--gold); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.contact-form { display:grid; grid-template-columns:.8fr 1.2fr; gap:10vw; }
.contact-form p { color:var(--muted); font-size:12px; line-height:1.8; }
.contact-form form { display:grid; grid-template-columns:1fr 1fr; gap:18px 20px; }
.contact-form label { display:flex; flex-direction:column; gap:8px; color:var(--brown); font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.contact-form .full { grid-column:1/-1; }
.contact-form input, .contact-form select, .contact-form textarea { width:100%; padding:12px 0; border:0; border-bottom:1px solid var(--line); outline:none; color:var(--ink); background:transparent; font-size:11px; resize:vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color:var(--gold); }
.contact-form select { appearance:none; }
.consent { flex-direction:row!important; align-items:flex-start; gap:9px!important; text-transform:none!important; letter-spacing:0!important; line-height:1.5; }
.consent input { width:14px; flex:none; accent-color:var(--gold); }
.form-notice { color:var(--brown)!important; margin:0!important; font-size:10px!important; }
footer { padding:38px 5vw 24px; color:#c6b7ac; background:var(--ink); }
.footer-brand { display:flex; align-items:center; gap:12px; color:var(--cream); }
.footer-brand img { width:54px; height:54px; object-fit:contain; }
.footer-brand span { font:22px 'Cormorant Garamond'; letter-spacing:.15em; }
.footer-brand small { display:block; color:var(--gold); font:8px 'Manrope'; letter-spacing:.28em; }
.footer-address { margin:28px 0; color:#96867b; font-size:10px; }
.footer-links { display:flex; gap:25px; margin-bottom:45px; color:var(--gold); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.footer-bottom { display:flex; justify-content:space-between; gap:15px; padding-top:20px; border-top:1px solid #3c2e27; color:#84746a; font-size:9px; }
.footer-bottom a { color:var(--gold); }
.mobile-booking { display:none; }
.lightbox { position:fixed; inset:0; z-index:30; display:grid; place-items:center; padding:30px; background:rgba(23,19,16,.9); backdrop-filter:blur(14px); }
.lightbox > button { position:absolute; top:25px; right:28px; border:0; color:var(--cream); background:none; }
.lightbox-content { width:min(460px,100%); text-align:center; color:var(--cream); }
.lightbox-art { height:360px; overflow:hidden; background:linear-gradient(135deg,#d0a18e,#281a17); }
.lightbox-art img { width:100%; height:100%; object-fit:cover; }
.lightbox-content > span { display:block; margin-top:25px; color:var(--gold); font-size:9px; letter-spacing:.2em; }
.lightbox-content h2 { margin:10px 0; font-size:48px; }
.lightbox-content p { color:#c6b8ae; font-size:11px; }
.icon { display:inline-flex; vertical-align:middle; }
@keyframes spin { to { transform:rotate(360deg) rotateX(70deg); } } @keyframes float { 0%,100% { translate:0 0; } 50% { translate:12px -18px; } } @keyframes sheen { from { transform:translateX(-30%); } to { transform:translateX(30%); } } @keyframes marquee { to { transform:translateX(-50%); } }
@media (max-width: 900px) { .topbar { padding:18px 6vw; }.nav-links { position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; padding:25px 7vw; gap:20px; background:rgba(23,19,16,.96); }.nav-links.open { display:flex; }.menu-toggle { display:block; }.topbar > .button, #booksy-links { margin-left:auto; }.hero { grid-template-columns:1fr; min-height:auto; padding:150px 8vw 80px; }.hero-art { min-height:470px; }.hero-logo-wrap { width:min(68vw,430px); aspect-ratio:1 / 1; }.art-ring { width:min(68vw,460px); height:min(68vw,460px); }.section { padding:90px 8vw; }.about, .bridal, .compare, .quiz, .faq, .contact, .contact-form { grid-template-columns:1fr; gap:60px; }.about-art { max-width:430px; margin:0 auto; }.service-grid { grid-template-columns:repeat(2, 1fr); }.bridal-visual { max-width:600px; width:100%; margin:auto; }.gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:360px; }.reviews-top { align-items:flex-start; flex-direction:column; gap:25px; }.contact-map { min-height:320px; }.footer-bottom { flex-wrap:wrap; } }
@media (max-width: 580px) { .topbar > .button, #booksy-links { display:none; }.menu-toggle { margin-left:auto; }.brand span { font-size:17px; }.hero { padding-inline:7vw; }.hero h1 { font-size:61px; }.hero-copy > p { font-size:12px; }.trust-row { gap:15px; margin-top:50px; }.trust-row span { font-size:8px; }.hero-art { min-height:380px; }.hero-logo-wrap { width:min(82vw,360px); }.art-ring { width:min(82vw,380px); height:min(82vw,380px); }.experience-stamp { right:0; bottom:4%; width:82px; height:82px; }.experience-stamp strong { font-size:32px; }.art-note { left:0; bottom:-4px; }.section { padding:72px 7vw; }.section-heading h2, .contact-form h2, .quiz h2 { font-size:57px; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:auto; }.process-list { grid-template-columns:1fr; }.portfolio-profile { align-items:flex-start; }.portfolio-profile b { display:none; }.gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:250px; gap:8px; }.gallery-overlay { padding:14px; }.gallery-overlay strong { font-size:21px; }.gallery-overlay span { display:none; }.gallery-instagram { top:10px; right:10px; width:30px; height:30px; }.portfolio-footer { flex-direction:column; align-items:flex-start; }.comparison { height:360px; }.review-slider > p { font-size:33px; }.review-meta { align-items:flex-start; flex-direction:column; gap:23px; }.quiz-card { padding:28px 22px; }.contact-form form { grid-template-columns:1fr; }.contact-form .full { grid-column:auto; }.footer-bottom { flex-direction:column; }.mobile-booking { position:fixed; z-index:15; left:15px; right:15px; bottom:15px; display:flex; justify-content:center; align-items:center; gap:12px; padding:15px; color:var(--ink); background:var(--gold); box-shadow:0 7px 25px rgba(23,19,16,.2); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }.lightbox { padding:20px; } }
@media (prefers-reduced-motion: reduce) { *, *:before, *:after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }
