:root{
  interpolate-size:allow-keywords;
  --bg:#1C1C1E;--surface:#2C2C2E;--surface-2:#3C3C3E;
  --ink:#F5F0EB;--ink-soft:rgba(245,240,235,.65);
  --accent:#D4A0A0;--accent-2:#8B7355;
  --line:rgba(245,240,235,.12);--line-strong:rgba(245,240,235,.25);
  --font-heading:'Space Grotesk',system-ui,sans-serif;
  --font-body:'Space Grotesk',system-ui,sans-serif;
  --font-mono:'JetBrains Mono','Courier New',monospace;
  --header-h:72px;--max-w:1400px;
  --pad:clamp(16px,4vw,32px);
  --ease-out:cubic-bezier(.2,.7,.2,1);
  --ease-in-out:cubic-bezier(.4,0,.2,1);
  --metal:#D4A843;--stone:#E8E4E0;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html,body{overflow-x:hidden;max-width:100vw}
body{font-family:var(--font-body);font-weight:300;font-size:clamp(15px,1vw + .5rem,17px);line-height:1.7;color:var(--ink);background:var(--bg)}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--ink);text-decoration:none;transition:color 240ms var(--ease-out)}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font:inherit;color:inherit;background:transparent}
h1,h2,h3,h4,h5{font-family:var(--font-heading);font-weight:600;line-height:1.15;letter-spacing:-.012em}
h1{font-size:clamp(2.2rem, 5vw, 4rem)}
h2{font-size:clamp(1.6rem,3.5vw,2.6rem)}
h3{font-size:clamp(1.2rem,2vw,1.6rem)}
h4{font-size:clamp(1rem,1.4vw,1.2rem)}
p+p{margin-top:1em}

/* ---------- Skip link ---------- */
.skip-link{position:absolute;top:-100%;left:16px;padding:8px 18px;background:var(--accent);color:var(--bg);border-radius:0 0 8px 8px;font-weight:600;z-index:10000;transition:top .2s}
.skip-link:focus{top:0}

/* ---------- Container ---------- */
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* ---------- Buttons ---------- */
.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:var(--accent);color:var(--bg);font-weight:600;font-size:.95rem;border-radius:6px;transition:background 240ms var(--ease-out),transform 180ms var(--ease-out),box-shadow 240ms var(--ease-out);letter-spacing:.02em}
.btn-primary:hover,.btn-primary:focus-visible{background:var(--accent-2);color:var(--ink);transform:translateY(-2px);box-shadow:0 8px 24px rgba(212,160,160,.25)}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:transparent;color:var(--ink);border:1.5px solid var(--line-strong);font-weight:600;font-size:.95rem;border-radius:6px;transition:background 240ms var(--ease-out),border-color 240ms var(--ease-out),transform 180ms var(--ease-out)}
.btn-ghost:hover,.btn-ghost:focus-visible{background:var(--surface);color:var(--ink);border-color:var(--accent);transform:translateY(-2px)}

/* ---------- Focus ring ---------- */
:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 6px rgba(212,160,160,.15)}
button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1080;background:rgba(28, 28, 30, 0.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background 240ms ease,box-shadow 240ms ease,padding 240ms ease}
.site-header.scrolled{background:rgba(28,28,30,.98);box-shadow:0 8px 24px -16px rgba(0,0,0,.18)}
.header__inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-w);margin:0 auto;padding:0 var(--pad);height:var(--header-h);transition:height 240ms ease}
.scrolled .header__inner{height:60px}
.header__logo{display:flex;align-items:center;gap:10px;font-family:var(--font-heading);font-weight:600;font-size:1.15rem;color:var(--ink);letter-spacing:.03em;white-space:nowrap}
.header__logo:hover{color:var(--accent)}
.logo-icon{flex-shrink:0;color:var(--accent)}

/* ---------- Nav desktop ---------- */
.nav-desktop{display:flex;align-items:center;gap:clamp(16px,2.5vw,32px)}
.nav-desktop a{position:relative;font-size:.88rem;font-weight:300;color:var(--ink-soft);letter-spacing:.02em;padding:4px 0;transition:color 240ms var(--ease-out)}
.nav-desktop a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:var(--accent);transition:width 280ms var(--ease-out)}
.nav-desktop a:hover,.nav-desktop a.is-active{color:var(--ink)}
.nav-desktop a:hover::after,.nav-desktop a.is-active::after{width:100%}
.nav-desktop .nav-cta{padding:8px 22px;border:1.5px solid var(--accent);border-radius:5px;color:var(--accent);font-weight:600}
.nav-desktop .nav-cta::after{display:none}
.nav-desktop .nav-cta:hover,.nav-desktop .nav-cta:focus-visible{background:var(--accent);color:var(--bg);border-color:var(--accent)}
@media(max-width:1024px){.nav-desktop{display:none}}

/* ---------- Nav toggle (hamburger) ---------- */
.nav-toggle{display:none;position:relative;z-index:1100;width:48px;height:48px;padding:12px 8px;flex-direction:column;justify-content:space-between;border-radius:6px;transition:background 200ms var(--ease-out)}
.nav-toggle:hover{background:rgba(245,240,235,.06)}
.nav-toggle:active{background:rgba(245,240,235,.12)}
.nav-toggle span{display:block;width:100%;height:3.5px;background:var(--ink);border-radius:2px;transition:transform 320ms var(--ease-out),opacity 200ms,background 200ms var(--ease-out)}
.nav-toggle:hover span{background:var(--accent)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(10.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-10.5px) rotate(-45deg)}
@media(max-width:1024px){.nav-toggle{display:flex}}

/* ---------- Drawer + Backdrop ---------- */
.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;z-index:1040;transition:opacity 240ms}
.drawer-backdrop.is-open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(360px,92vw);background:var(--surface);z-index:1050;transform:translateX(100%);transition:transform 320ms cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;padding:calc(var(--header-h) + 24px) var(--pad) 32px;gap:4px;overflow-y:auto}
.drawer.is-open{transform:translateX(0)}
.drawer a{display:block;padding:14px 0;font-size:1.1rem;font-weight:300;color:var(--ink-soft);border-bottom:1px solid var(--line);transition:color 200ms,padding-left 200ms}
.drawer a:hover,.drawer a.is-active{color:var(--ink);padding-left:8px}
.drawer .drawer-cta{margin-top:auto;text-align:center;padding:14px;background:var(--accent);color:var(--bg);border-radius:6px;font-weight:600;border-bottom:none}
.drawer .drawer-cta:hover{background:var(--accent-2);color:var(--ink);padding-left:0}

/* ---------- Main ---------- */
main{padding-top:var(--header-h)}
section[id]{scroll-margin-top:calc(var(--header-h) + 16px)}

/* ---------- Hero / Konfigurator ---------- */
.hero{padding:clamp(2rem,6vw,5rem) 0 clamp(2.5rem,5vw,4rem);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:15%;right:-10%;width:420px;height:420px;background:radial-gradient(circle,rgba(212,160,160,.06) 0%,transparent 70%);pointer-events:none}
.hero__grid{display:grid;grid-template-columns:3fr 2fr;grid-template-rows:auto 1fr;gap:0 clamp(24px,4vw,56px);align-items:start;min-height:clamp(420px,55vh,600px)}
.hero__preview{grid-column:1;grid-row:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.hero__info{grid-column:2;grid-row:1;padding-bottom:24px}
.hero__panel{grid-column:2;grid-row:2;display:flex;flex-direction:column}

/* Eyebrow */
.eyebrow{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.hero__sub{color:var(--ink-soft);font-size:clamp(.95rem,1.2vw,1.1rem);margin-top:14px;max-width:38ch}

/* ---------- Ring SVG ---------- */
.ring-wrap{position:relative;width:100%;max-width:380px;margin:0 auto}
.ring-svg{width:100%;height:auto}
.ring-band,.ring-band-front{stroke:var(--metal);fill:none;transition:stroke 500ms var(--ease-in-out)}
.ring-band-front{opacity:.3}
.ring-shadow{transition:fill 400ms}
.ring-setting{opacity:0;transform-origin:160px 60px;transform:scale(.82);transition:opacity 450ms var(--ease-out),transform 450ms var(--ease-out);pointer-events:none}
.ring-setting.is-active{opacity:1;transform:scale(1);pointer-events:auto}
.ring-setting line,.ring-setting path:not(.stone-main):not(.stone-highlight):not(.stone-side):not(.stone-halo):not(.stone-eternity){stroke:var(--metal);fill:none;transition:stroke 500ms var(--ease-in-out)}
.stone-main,.stone-highlight{fill:var(--stone);transition:fill 500ms var(--ease-in-out)}
.stone-highlight{opacity:.35}
.stone-halo,.stone-side,.stone-eternity{fill:var(--stone);transition:fill 500ms var(--ease-in-out)}
.stone-halo{opacity:.85}

/* Ring sparkle animation */
@keyframes sparkleFlash{0%,100%{opacity:0}50%{opacity:1}}
.ring-sparkles .sparkle-star{animation:sparkleFlash 2.4s ease-in-out infinite}
.ring-sparkles .sparkle-dot:nth-child(2){animation:sparkleFlash 2.4s ease-in-out .8s infinite}
.ring-sparkles .sparkle-dot:nth-child(3){animation:sparkleFlash 2.4s ease-in-out 1.6s infinite}

/* Gold dust particles */
@keyframes goldDust{0%{transform:translateY(0) scale(1);opacity:.7}100%{transform:translateY(-180px) scale(.3);opacity:0}}
.gold-dust{position:absolute;bottom:20%;left:0;right:0;height:200px;pointer-events:none;overflow:hidden}
.gold-dust span{position:absolute;bottom:0;width:3px;height:3px;background:var(--accent-2);border-radius:50%;opacity:0;animation:goldDust 6s ease-out infinite}
.gold-dust span:nth-child(1){left:15%;animation-delay:0s;animation-duration:7s}
.gold-dust span:nth-child(2){left:30%;animation-delay:1.2s;animation-duration:5.5s}
.gold-dust span:nth-child(3){left:50%;animation-delay:2.8s;animation-duration:8s}
.gold-dust span:nth-child(4){left:70%;animation-delay:.6s;animation-duration:6s}
.gold-dust span:nth-child(5){left:85%;animation-delay:3.5s;animation-duration:7.5s}
.gold-dust span:nth-child(6){left:42%;animation-delay:4s;animation-duration:9s}

/* ---------- Price display ---------- */
.price-display{text-align:center;margin-top:24px;padding:16px 20px;background:rgba(44,44,46,.6);border:1px solid var(--line);border-radius:8px}
.price-label{display:block;font-size:.72rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);margin-bottom:4px}
.price-value{font-family:var(--font-mono);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:400;color:var(--accent)}
.price-currency{font-family:var(--font-mono);font-size:1rem;color:var(--accent);margin-left:4px}
.price-note{display:block;font-size:.68rem;color:var(--ink-soft);margin-top:4px;font-family:var(--font-mono);letter-spacing:.06em}

/* ---------- Wizard ---------- */
.wizard-steps{display:flex;gap:4px;margin-bottom:20px}
.wizard-step-indicator{flex:1;display:flex;align-items:center;gap:6px;padding:8px 0;font-size:.72rem;font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-soft);cursor:pointer;transition:color 240ms}
.wizard-step-indicator .step-num{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-size:.68rem;transition:border-color 240ms,background 240ms,color 240ms}
.wizard-step-indicator.is-active{color:var(--ink)}
.wizard-step-indicator.is-active .step-num{border-color:var(--accent);background:var(--accent);color:var(--bg)}
.wizard-step-indicator.is-done .step-num{border-color:var(--accent-2);background:var(--accent-2);color:var(--ink)}
.wizard-step-indicator.is-done .step-num::after{content:'\2713'}

.wizard-body{flex:1;min-height:0}
.wizard-page{display:none;animation:fadeSlide 360ms var(--ease-out)}
.wizard-page.is-active{display:block}
@keyframes fadeSlide{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.wizard-nav{display:flex;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.wizard-nav .btn-primary{flex:1}
.wizard-nav .btn-ghost{flex:0 0 auto}

/* Choice cards */
.choices-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.choice-card{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px solid var(--line);border-radius:8px;cursor:pointer;transition:border-color 240ms var(--ease-out),background 240ms var(--ease-out);user-select:none}
.choice-card:hover{border-color:var(--line-strong);background:rgba(245,240,235,.03)}
.choice-card.is-selected{border-color:var(--accent);background:rgba(212,160,160,.08)}
.choice-card input[type="radio"]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.choice-swatch{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);flex-shrink:0;transition:border-color 240ms}
.is-selected .choice-swatch{border-color:var(--accent)}
.choice-label{font-size:.82rem;color:var(--ink-soft);transition:color 240ms}
.is-selected .choice-label{color:var(--ink)}
.choice-icon{width:32px;height:32px;flex-shrink:0;color:var(--ink-soft);transition:color 240ms}
.is-selected .choice-icon{color:var(--accent)}

/* ---------- Trust strip ---------- */
.trust-strip{padding:clamp(1.5rem,3vw,2.5rem) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-list{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(16px,3vw,40px)}
.trust-item{display:flex;align-items:center;gap:8px;font-size:.8rem;font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-soft)}
.trust-item svg{width:20px;height:20px;color:var(--accent);flex-shrink:0}

/* ---------- Section common ---------- */
.section{padding:clamp(3rem,7vw,6rem) 0}
.section-header{text-align:center;max-width:680px;margin:0 auto clamp(2rem,4vw,3.5rem)}
.section-header .eyebrow{margin-bottom:10px}
.section-header p{color:var(--ink-soft);margin-top:12px;max-width:55ch;margin-left:auto;margin-right:auto}

/* Rose-gold line divider */
.divider-line{display:block;width:64px;height:1.5px;background:var(--accent);margin:0 auto 18px;opacity:.5}

/* Ring cross-section divider */
.divider-ring{display:block;margin:0 auto;width:80px;height:auto;opacity:.35;color:var(--accent)}

/* ---------- Stone guide / Rehber ---------- */
.stone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,28px)}
.stone-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:clamp(20px,3vw,32px);transition:transform 280ms var(--ease-out),box-shadow 280ms var(--ease-out)}
.stone-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px -12px rgba(212,160,160,.15)}
.stone-icon{width:48px;height:48px;margin-bottom:16px}
.stone-card h3{margin-bottom:8px}
.stone-card p{color:var(--ink-soft);font-size:.9rem}
.stone-tag{display:inline-block;margin-top:12px;padding:4px 10px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;border:1px solid var(--accent);color:var(--accent);border-radius:4px}

/* Stone facet shimmer */
@keyframes facetShimmer{0%{background-position:-200% center}100%{background-position:200% center}}
.stone-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:12px 12px 0 0;background:linear-gradient(90deg,transparent 30%,var(--accent) 50%,transparent 70%);background-size:200% 100%;opacity:0;transition:opacity 360ms}
.stone-card:hover::after{opacity:1;animation:facetShimmer 1.5s ease-in-out}

/* ---------- Gallery / Masonry ---------- */
.masonry{columns:3 280px;column-gap:16px}
.masonry-item{break-inside:avoid;margin-bottom:16px;border-radius:10px;overflow:hidden;position:relative;background:var(--surface-2)}
.masonry-item img{width:100%;display:block;transition:transform 400ms var(--ease-out)}
.masonry-item{transition:box-shadow 320ms var(--ease-out)}
.masonry-item:hover{box-shadow:0 8px 28px -4px rgba(212,160,160,.18)}
.masonry-item:hover img{transform:scale(1.04)}
.masonry-caption{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(transparent,rgba(28,28,30,.85));opacity:0;transform:translateY(6px);transition:opacity 320ms var(--ease-out),transform 320ms var(--ease-out)}
.masonry-item:hover .masonry-caption{opacity:1;transform:none}
.masonry-caption span{font-size:.82rem;color:var(--ink)}
.masonry-caption small{display:block;font-family:var(--font-mono);font-size:.68rem;color:var(--accent);margin-top:2px}

/* Masonry placeholders (when images not loaded) */
.masonry-item--ph{aspect-ratio:var(--ar,3/4);background:linear-gradient(135deg,var(--surface) 0%,var(--surface-2) 100%);display:flex;align-items:center;justify-content:center}
.masonry-item--ph svg{width:48px;height:48px;color:var(--line-strong)}

/* ---------- Timeline / Süreç ---------- */
.timeline{position:relative;max-width:700px;margin:0 auto;padding-left:48px}
.timeline::before{content:'';position:absolute;left:18px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent),var(--accent-2))}
.timeline-item{position:relative;padding:0 0 clamp(2rem,4vw,3rem)}
.timeline-dot{position:absolute;left:-38px;top:4px;width:14px;height:14px;border-radius:50%;border:2px solid var(--accent);background:var(--bg);transition:background 280ms,border-color 280ms}
.timeline-item:hover .timeline-dot{background:var(--accent);border-color:var(--accent)}
.timeline-time{font-family:var(--font-mono);font-size:.72rem;color:var(--accent-2);letter-spacing:.08em;margin-bottom:6px}
.timeline-item h3{margin-bottom:6px}
.timeline-item p{color:var(--ink-soft);font-size:.9rem}

/* Rose-gold line draw on timeline */
@keyframes lineReveal{from{height:0}to{height:100%}}
.timeline.is-in::before{animation:lineReveal 1.2s var(--ease-out) forwards}

/* ---------- Testimonials ---------- */
.testimonials-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.testimonial{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:clamp(20px,3vw,32px);transition:transform 280ms var(--ease-out),box-shadow 280ms var(--ease-out),border-color 280ms var(--ease-out)}
.testimonial:hover{transform:translateY(-4px);box-shadow:0 12px 32px -8px rgba(212,160,160,.12);border-color:var(--line-strong)}
.testimonial:nth-child(2){margin-top:48px}
.testimonial blockquote{font-style:italic;color:var(--ink);line-height:1.8;font-size:.95rem;margin-bottom:16px;position:relative;padding-left:20px;border-left:2px solid var(--accent)}
.testimonial-author{display:flex;align-items:center;gap:10px}
.testimonial-avatar{width:40px;height:40px;border-radius:50%;background:var(--surface-2);border:1.5px solid var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:600;font-size:.82rem;color:var(--accent);flex-shrink:0}
.testimonial-meta strong{display:block;font-size:.88rem}
.testimonial-meta span{font-family:var(--font-mono);font-size:.68rem;color:var(--ink-soft)}

/* ---------- Pricing ---------- */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px)}
.pricing-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(20px,3vw,32px);position:relative;transition:transform 280ms var(--ease-out),box-shadow 280ms var(--ease-out)}
.pricing-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px -12px rgba(139,115,85,.18)}
.pricing-card.is-featured{border-color:var(--accent);background:linear-gradient(180deg,rgba(212,160,160,.06) 0%,var(--surface) 100%)}
.pricing-card.is-featured::before{content:'En Çok Tercih';position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:4px 14px;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;background:var(--accent);color:var(--bg);border-radius:20px;white-space:nowrap}
.pricing-card h3{margin-bottom:4px}
.pricing-card .pricing-desc{font-size:.82rem;color:var(--ink-soft);margin-bottom:16px}
.pricing-price{font-family:var(--font-mono);font-size:clamp(1.5rem,2.5vw,2rem);color:var(--accent);margin-bottom:4px}
.pricing-price small{font-size:.5em;color:var(--ink-soft);font-weight:300}
.pricing-note{font-family:var(--font-mono);font-size:.62rem;color:var(--ink-soft);letter-spacing:.06em;margin-bottom:18px}
.pricing-list{margin-bottom:18px}
.pricing-list li{position:relative;padding-left:20px;font-size:.88rem;color:var(--ink-soft);margin-bottom:6px}
.pricing-list li::before{content:'';position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%}
.pricing-dahil li::before{background:var(--accent)}
.pricing-haric li::before{border:1.5px solid var(--ink-soft);background:transparent}
.pricing-divider{height:1px;background:var(--line);margin:12px 0}

/* ---------- Atelier notes ---------- */
.notes-list{max-width:640px;margin:0 auto}
.note-item{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.note-date{font-family:var(--font-mono);font-size:.72rem;color:var(--accent-2);letter-spacing:.06em;white-space:nowrap;padding-top:2px}
.note-text{font-size:.92rem;color:var(--ink-soft)}

.availability-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:rgba(212,160,160,.08);border:1px solid rgba(212,160,160,.2);border-radius:8px;font-family:var(--font-mono);font-size:.78rem;color:var(--accent);margin-top:20px}
.availability-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ---------- FAQ (pure CSS accordion) ---------- */
.faq-list{max-width:740px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-weight:600;font-size:1rem;cursor:pointer;list-style:none;color:var(--ink);transition:color 240ms,padding-left 240ms var(--ease-out)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{display:none;content:''}
.faq-item summary:hover{color:var(--accent);padding-left:6px}
.faq-chevron{width:20px;height:20px;color:var(--ink-soft);transition:transform 360ms var(--ease-in-out);flex-shrink:0;margin-left:12px}
.faq-item[open] .faq-chevron{transform:rotate(180deg)}
.faq-answer{height:0;padding:0 0;overflow:hidden;transition:height 360ms var(--ease-in-out),padding-block-end 360ms var(--ease-in-out)}
.faq-item[open] .faq-answer{height:auto;padding-block-end:22px}
.faq-answer p{color:var(--ink-soft);font-size:.92rem;line-height:1.75}
@media(prefers-reduced-motion:reduce){.faq-answer{transition:none}}

/* ---------- Contact form section ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:680px;margin:0 auto}
.form-grid .field--full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:4px}
.field label{font-size:.78rem;font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-soft)}
.field input[type="text"],.field input[type="email"],.field input[type="tel"],.field select,.field textarea{width:100%;padding:12px 16px;background:var(--surface);border:1.5px solid var(--line);border-radius:6px;color:var(--ink);transition:border-color 240ms var(--ease-out);font-size:.95rem}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}
.field textarea{min-height:120px;resize:vertical}
.field select{cursor:pointer;appearance:auto}
.field-checkbox{flex-direction:row;align-items:flex-start;gap:10px}
.field input[type="checkbox"]{appearance:auto;-webkit-appearance:auto;width:18px;height:18px;min-width:18px;min-height:18px;padding:0;border:0;margin:2px 0 0;accent-color:var(--accent);flex-shrink:0}
.field-checkbox label{font-size:.82rem;color:var(--ink-soft);line-height:1.5;cursor:pointer}
.honeypot{position:absolute;left:-9999px;opacity:0}
.form-submit{grid-column:1/-1;margin-top:8px}
.form-submit .btn-primary{width:100%}
@media(min-width:641px){.form-submit .btn-primary{width:auto}}

/* ---------- Stats ---------- */
.stats-bar{padding:clamp(2rem,5vw,3.5rem) 0}
.stats-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(24px,5vw,64px)}
.stat-item{text-align:center}
.stat-num{font-family:var(--font-mono);font-size:clamp(2rem,4vw,3rem);color:var(--accent);display:block}
.stat-label{font-size:.78rem;color:var(--ink-soft);letter-spacing:.06em;margin-top:4px}

/* ---------- Footer ---------- */
.site-footer{background:var(--surface);border-top:1px solid var(--line);padding:clamp(2.5rem,5vw,4rem) 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:clamp(24px,4vw,48px)}
.footer-brand p{color:var(--ink-soft);font-size:.88rem;margin-top:10px;max-width:32ch}
.footer-col h4{font-size:.78rem;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.footer-col a{display:block;font-size:.88rem;color:var(--ink-soft);padding:4px 0;transition:color 200ms,padding-left 200ms}
.footer-col a:hover{color:var(--ink);padding-left:4px}
.footer-contact-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font-size:.86rem;color:var(--ink-soft);word-break:break-all;overflow-wrap:anywhere}
.footer-contact-row svg{flex-shrink:0;width:16px;height:16px;color:var(--accent);margin-top:3px}
.footer-contact-row a{color:var(--ink-soft);padding:0}
.footer-contact-row a:hover{color:var(--ink)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px 0;margin-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line);font-size:.72rem;color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.04em}
.footer-legal{display:flex;flex-wrap:wrap;gap:16px}
.footer-legal a{color:var(--ink-soft);padding:0;font-size:.72rem}
.footer-legal a:hover{color:var(--ink)}

/* ---------- Cookie banner ---------- */
.cookie-banner{position:fixed;bottom:16px;left:16px;right:16px;max-width:520px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 24px;transform:translateY(140%);opacity:0;transition:transform 280ms var(--ease-out),opacity 240ms;z-index:9999;box-shadow:0 12px 40px rgba(0,0,0,.35)}
.cookie-banner.is-visible{transform:translateY(0);opacity:1}
.cookie-banner p{font-size:.86rem;color:var(--ink-soft);margin-bottom:14px;line-height:1.6}
.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}
.cookie-actions button{padding:10px 20px;border-radius:6px;font-size:.82rem;font-weight:600;min-height:44px;transition:background 200ms,color 200ms}
.cookie-actions button[data-consent="accept"]{background:var(--accent);color:var(--bg);font-weight:700}
.cookie-actions button[data-consent="accept"]:hover{background:var(--accent-2);color:var(--ink)}
.cookie-actions button[data-consent="reject"]{background:rgba(245,240,235,.06);border:1.5px solid var(--ink-soft);color:var(--ink);font-weight:600}
.cookie-actions button[data-consent="reject"]:hover{background:rgba(245,240,235,.12);border-color:var(--accent);color:var(--ink)}
.cookie-actions button[data-consent="settings"]{background:transparent;color:var(--ink-soft);border:1.5px solid var(--line);font-weight:400}
.cookie-actions button[data-consent="settings"]:hover{border-color:var(--line-strong);color:var(--ink)}
@media(max-width:640px){.cookie-banner{max-width:100%;border-radius:12px 12px 0 0;bottom:0;left:0;right:0}}
@media(min-width:641px){.cookie-banner{left:24px;right:auto;max-width:420px}}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 600ms var(--ease-out),transform 600ms var(--ease-out);min-width:0}
.reveal.is-in{opacity:1;transform:none}
.reveal[style*="--i"]{transition-delay:calc(var(--i,0) * 80ms)}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1 !important;transform:none !important;transition:none !important}}
html.no-js .reveal{opacity:1;transform:none}

/* ---------- Niche animations ---------- */

/* Rose-gold shimmer sweep on cards */
@keyframes shimmerSweep{0%{left:-100%}100%{left:100%}}
.shimmer-card{position:relative;overflow:hidden}
.shimmer-card::before{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,160,160,.06),transparent);z-index:1;pointer-events:none}
.shimmer-card:hover::before{animation:shimmerSweep 1s ease-out}

/* Band glow on ring */
@keyframes bandGlow{0%,100%{filter:drop-shadow(0 0 4px rgba(212,160,160,.1))}50%{filter:drop-shadow(0 0 12px rgba(212,160,160,.25))}}
.ring-svg{animation:bandGlow 4s ease-in-out infinite}

/* Prong sparkle micro */
@keyframes prongSparkle{0%,80%,100%{opacity:0}85%,95%{opacity:1}}

/* Warm glow on featured pricing */
@keyframes warmPulse{0%,100%{box-shadow:0 0 0 0 rgba(212,160,160,0)}50%{box-shadow:0 0 28px -4px rgba(212,160,160,.12)}}
.pricing-card.is-featured{animation:warmPulse 5s ease-in-out infinite}

/* Timeline dot reveal glow */
@keyframes dotRevealGlow{0%{box-shadow:0 0 0 6px rgba(212,160,160,.35)}100%{box-shadow:0 0 0 0 rgba(212,160,160,0)}}
.timeline-item.is-in .timeline-dot{animation:dotRevealGlow 1s ease-out}

/* Testimonial quote-line shimmer */
@keyframes quoteShimmer{0%{background-position:0 0}100%{background-position:0 100%}}
.testimonial:hover blockquote{border-image:linear-gradient(to bottom,var(--accent),var(--accent-2),var(--accent)) 1}

/* ---------- Counter animation helper ---------- */
.counter-num{font-variant-numeric:tabular-nums}

/* ---------- Table scroll ---------- */
.table-scroll{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0;border:1px solid var(--line);border-radius:6px}
.table-scroll>table{margin:0!important;min-width:480px;width:100%}
:where(*:has(>.table-scroll),*:has(>*>.table-scroll),*:has(>*>*>.table-scroll)){min-width:0}
table{width:100%;border-collapse:collapse}
th,td{padding:10px 16px;text-align:left;font-size:.88rem;border-bottom:1px solid var(--line)}
th{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:400}
td{color:var(--ink-soft)}

/* Table scroll hint on small screens */
@media(max-width:768px){
  .table-scroll{
    background:
      linear-gradient(to right,var(--bg) 30%,transparent) left / 20px 100% no-repeat local,
      linear-gradient(to left,var(--bg) 30%,transparent) right / 20px 100% no-repeat local,
      linear-gradient(to right,rgba(212,160,160,.2),transparent 60%) left / 12px 100% no-repeat scroll,
      linear-gradient(to left,rgba(212,160,160,.2),transparent 60%) right / 12px 100% no-repeat scroll;
  }
}

/* ---------- Hours table (mini card style) ---------- */
.hours-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;max-width:560px}
.hours-day{display:flex;justify-content:space-between;padding:8px 12px;background:var(--surface);border-radius:6px;font-size:.84rem}
.hours-day .day-name{font-weight:600;color:var(--ink)}
.hours-day .day-time{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-soft)}
.hours-day.is-today{border:1px solid var(--accent);background:rgba(212,160,160,.06)}
.hours-day.is-today .day-name{color:var(--accent)}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(1.5rem,3vw,2.5rem);text-align:center;position:relative}
.page-hero::after{content:'';display:block;width:40px;height:1.5px;background:var(--accent);margin:20px auto 0;opacity:.5}
.page-hero p{color:var(--ink-soft);margin-top:10px;max-width:50ch;margin-left:auto;margin-right:auto}

/* ---------- Contact page cards ---------- */
.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.contact-card{border:1px solid var(--line);border-radius:12px;padding:20px 24px;transition:transform 280ms var(--ease-out),box-shadow 280ms var(--ease-out),border-color 280ms var(--ease-out)}
.contact-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px -8px rgba(212,160,160,.15);border-color:var(--line-strong)}
.contact-card-icon{width:48px;height:48px;border-radius:50%;background:rgba(212,160,160,.1);display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.contact-card-icon svg{width:22px;height:22px;color:var(--accent)}
.contact-card h4{margin-bottom:4px;font-size:.95rem}
.contact-card a,.contact-card p{font-size:.88rem;color:var(--ink-soft);word-break:break-all;overflow-wrap:anywhere}
.contact-card a:hover{color:var(--accent)}
.contact-card small{font-family:var(--font-mono);font-size:.68rem;color:var(--ink-soft);display:block;margin-top:6px;letter-spacing:.04em}

/* ---------- About page team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.team-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:clamp(20px,3vw,28px);transition:transform 280ms var(--ease-out),box-shadow 280ms var(--ease-out),border-color 280ms var(--ease-out)}
.team-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px -8px rgba(212,160,160,.12);border-color:var(--line-strong)}
.team-avatar{width:64px;height:64px;border-radius:50%;background:var(--surface-2);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:600;font-size:1.1rem;color:var(--accent);margin-bottom:14px}
.team-card h3{font-size:1.1rem;margin-bottom:2px}
.team-role{font-family:var(--font-mono);font-size:.72rem;color:var(--accent);letter-spacing:.06em;margin-bottom:10px}
.team-card p{font-size:.88rem;color:var(--ink-soft);line-height:1.7}

/* ---------- Legal pages ---------- */
.legal-content{max-width:760px;margin:0 auto;padding-bottom:clamp(3rem,6vw,5rem)}
.legal-content h2{margin-top:2.5rem;margin-bottom:1rem;font-size:clamp(1.2rem,2vw,1.5rem);padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.legal-content h3{margin-top:1.5rem;margin-bottom:.6rem;font-size:clamp(1rem,1.5vw,1.2rem)}
.legal-content p{color:var(--ink-soft);margin-bottom:1rem;line-height:1.75}
.legal-content ul{padding-left:20px;margin-bottom:1rem}
.legal-content li{color:var(--ink-soft);padding:6px 0;position:relative;padding-left:14px;list-style:none;line-height:1.7}
.legal-content li::before{content:'';position:absolute;left:0;top:13px;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.legal-updated{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft);letter-spacing:.06em;text-align:center;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}

/* ---------- Thank you page ---------- */
.thankyou-wrap{text-align:center;padding:clamp(4rem,10vw,8rem) 0;min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center}
.thankyou-icon{width:72px;height:72px;margin:0 auto 24px;border-radius:50%;background:rgba(212,160,160,.12);display:flex;align-items:center;justify-content:center}
.thankyou-icon svg{width:36px;height:36px;color:var(--accent)}
.thankyou-wrap h1{font-size:clamp(1.6rem, 3vw, 2.2rem);margin-bottom:12px}
.thankyou-wrap p{color:var(--ink-soft);margin-bottom:24px;max-width:40ch}

/* ---------- 404 page ---------- */
.error-wrap{text-align:center;padding:clamp(4rem,10vw,8rem) 0;min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center}
.error-code{font-family:var(--font-mono);font-size:clamp(5rem,12vw,10rem);color:var(--accent);opacity:.25;line-height:1}
.error-wrap h1{font-size:clamp(1.4rem, 3vw, 2rem);margin:12px 0}
.error-wrap p{color:var(--ink-soft);margin-bottom:24px;max-width:38ch}

/* ---------- Sitemap page ---------- */
.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;max-width:800px;margin:0 auto}
.sitemap-group h3{font-size:1rem;margin-bottom:10px;color:var(--accent)}
.sitemap-group a{display:block;padding:5px 0;font-size:.9rem;color:var(--ink-soft)}
.sitemap-group a:hover{color:var(--ink);padding-left:4px}

/* ==========================================
   RESPONSIVE
   ========================================== */

@media(max-width:1280px){
  .footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr}
}

@media(max-width:1024px){
  :root{--header-h:64px}
  .hero__grid{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:24px 0;min-height:auto}
  .hero__preview{grid-column:1;grid-row:2;max-width:340px;margin:0 auto}
  .hero__info{grid-column:1;grid-row:1;text-align:center}
  .hero__info .hero__sub{margin-left:auto;margin-right:auto}
  .hero__panel{grid-column:1;grid-row:3}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .pricing-grid{grid-template-columns:1fr}
  .pricing-card.is-featured{order:-1}
  .testimonials-grid{grid-template-columns:1fr}
  .testimonial:nth-child(2){margin-top:0}
}

@media(max-width:768px){
  .stone-grid{grid-template-columns:1fr}
  .masonry{columns:2 200px}
  .form-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .stats-grid{gap:24px 40px}
  .timeline{padding-left:40px}
  .timeline::before{left:14px}
  .timeline-dot{left:-32px}
}

@media(max-width:640px){
  .masonry{columns:1}
  .choices-grid{grid-template-columns:1fr}
  .trust-list{flex-direction:column;align-items:center;gap:12px}
  .contact-cards{grid-template-columns:1fr}
  .hours-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr}
  h1{font-size:clamp(1.8rem, 7vw, 2.6rem)}
  .hero__panel{padding:0 4px}
  .stat-num{font-size:clamp(1.6rem,8vw,2.4rem)}
}

@media(max-width:480px){
  .cookie-banner{padding:16px 16px 20px}
  .cookie-actions{flex-direction:column}
  .cookie-actions button{width:100%}
  .wizard-steps{flex-wrap:wrap}
  .form-submit .btn-primary{width:100%}
}

@media(max-width:390px){
  :root{--pad:16px}
  .stone-card,.pricing-card,.contact-card,.team-card{padding:16px}
  .testimonial{padding:16px}
}

@media(max-width:360px){
  .header__logo span{font-size:1rem}
  .wizard-step-indicator .step-label{display:none}
  .stat-item{min-width:80px}
}

/* ---------- Enhanced reveals & jewelry micro-effects ---------- */
.reveal{transition:opacity 700ms cubic-bezier(.16,1,.3,1),transform 700ms cubic-bezier(.16,1,.3,1)}
.reveal[style*="--i"]{transition-delay:calc(var(--i,0) * 100ms)}

@keyframes jewelGlow{0%,100%{box-shadow:0 0 0 0 rgba(212,160,160,0)}50%{box-shadow:0 0 20px -4px rgba(212,160,160,.15)}}
.stone-card:hover,.contact-card:hover,.team-card:hover{animation:jewelGlow 1.5s ease-in-out}

@keyframes goldShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.btn-primary:hover,.btn-primary:focus-visible{background-image:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 50%,var(--accent) 100%);background-size:200% auto;animation:goldShift 3s ease infinite}

.masonry-item{transition:box-shadow 400ms cubic-bezier(.16,1,.3,1),transform 400ms cubic-bezier(.16,1,.3,1)}
.masonry-item:hover{transform:translateY(-4px)}

.testimonial{transition:transform 350ms cubic-bezier(.16,1,.3,1),box-shadow 350ms cubic-bezier(.16,1,.3,1),border-color 350ms cubic-bezier(.16,1,.3,1)}

.pricing-card{transition:transform 350ms cubic-bezier(.16,1,.3,1),box-shadow 350ms cubic-bezier(.16,1,.3,1)}

.footer-col a{transition:color 200ms var(--ease-out),padding-left 250ms cubic-bezier(.16,1,.3,1)}

.faq-item summary{transition:color 240ms,padding-left 300ms cubic-bezier(.16,1,.3,1)}

.timeline-dot{transition:background 320ms cubic-bezier(.16,1,.3,1),border-color 320ms cubic-bezier(.16,1,.3,1),box-shadow 320ms cubic-bezier(.16,1,.3,1)}
.timeline-item:hover .timeline-dot{box-shadow:0 0 12px -2px rgba(212,160,160,.3)}

.note-item{transition:background 300ms var(--ease-out)}
.note-item:hover{background:rgba(212,160,160,.03);border-radius:6px}

.choice-card{transition:border-color 240ms cubic-bezier(.16,1,.3,1),background 240ms cubic-bezier(.16,1,.3,1),transform 200ms cubic-bezier(.16,1,.3,1)}
.choice-card:hover{transform:translateY(-2px)}

.hours-day{transition:background 200ms var(--ease-out),border-color 200ms var(--ease-out)}
.hours-day:hover{background:rgba(212,160,160,.06)}

/* ---------- Jewelry stagger-reveal & premium polish ---------- */
.reveal{transition:opacity 750ms cubic-bezier(.16,1,.3,1),transform 750ms cubic-bezier(.16,1,.3,1)}
.reveal[style*="--i"]{transition-delay:calc(var(--i,0) * 120ms)}

@keyframes roseGlint{0%{opacity:0;transform:translateX(-60%)}40%{opacity:.18}100%{opacity:0;transform:translateX(60%)}}
.stone-card::before,.pricing-card::before,.contact-card::before,.team-card::before{content:'';position:absolute;top:0;left:-60%;width:50%;height:100%;background:linear-gradient(105deg,transparent 40%,rgba(212,160,160,.08) 50%,transparent 60%);pointer-events:none;z-index:1}
.stone-card:hover::before,.pricing-card:hover::before,.contact-card:hover::before,.team-card:hover::before{animation:roseGlint .8s cubic-bezier(.16,1,.3,1)}
.stone-card,.contact-card,.team-card{position:relative;overflow:hidden}
.pricing-card:not(.is-featured){overflow:hidden}

@keyframes eyebrowReveal{from{opacity:0;letter-spacing:.3em}to{opacity:1;letter-spacing:.18em}}
.eyebrow{animation:eyebrowReveal .9s cubic-bezier(.16,1,.3,1) both}

.nav-desktop a::after{transition:width 320ms cubic-bezier(.16,1,.3,1)}

.masonry-item:hover img{transform:scale(1.05) rotate(.3deg)}

.testimonial:hover blockquote{border-left-width:3px}

@keyframes subtleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.ring-wrap{animation:subtleFloat 6s ease-in-out infinite}

.contact-card-icon{transition:transform 300ms cubic-bezier(.16,1,.3,1),background 300ms var(--ease-out)}
.contact-card:hover .contact-card-icon{transform:scale(1.08);background:rgba(212,160,160,.18)}

.team-avatar{transition:border-color 300ms var(--ease-out),box-shadow 300ms var(--ease-out)}
.team-card:hover .team-avatar{border-color:var(--accent);box-shadow:0 0 16px -4px rgba(212,160,160,.3)}

.stat-num{transition:color 300ms var(--ease-out)}
.stat-item:hover .stat-num{color:var(--accent);text-shadow:0 0 20px rgba(212,160,160,.2)}

.faq-item summary::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--accent);transition:width 400ms cubic-bezier(.16,1,.3,1)}
.faq-item summary{position:relative}
.faq-item summary:hover::after{width:100%}

.availability-badge{transition:background 300ms var(--ease-out),border-color 300ms var(--ease-out)}
.availability-badge:hover{background:rgba(212,160,160,.12);border-color:rgba(212,160,160,.35)}

/* ---------- Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .gold-dust,.ring-sparkles,.shimmer-card::before{display:none}
  .ring-svg,.ring-wrap{animation:none}
  .btn-primary{animation:none !important;background-image:none}
  .eyebrow{animation:none;opacity:1;letter-spacing:.18em}
  .stone-card::before,.pricing-card::before,.contact-card::before,.team-card::before{display:none}
}

/* ---------- No-JS fallback ---------- */
html.no-js .reveal{opacity:1;transform:none}
html.no-js .wizard-page{display:block}
html.no-js .ring-setting{opacity:1;transform:none}

/* ---------- Print ---------- */
@media print{
  .site-header,.drawer,.drawer-backdrop,.nav-toggle,.cookie-banner,.gold-dust,.ring-sparkles{display:none!important}
  body{color:#111;background:#fff}
  .site-footer{border-top:1px solid #ccc}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:.75em;color:#666}
  .reveal{opacity:1!important;transform:none!important}
}

.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:9998;transition:width 80ms linear;pointer-events:none}

/* form-reveal-opacity-fix */
main form.reveal, .form-section form.reveal, .contact-form.reveal, form[id*='iletisim'].reveal, form[class*='contact'].reveal { opacity: 1 !important; transform: none !important; translate: none !important; }
main form, .form-section form, .contact-form, form[id*='iletisim'], form[class*='contact'] { opacity: 1 !important; }

/* consent-checkbox-inline-fix */
main form label.checkbox, main form .form-checkbox, main form .consent, main form .kvkk, .contact-form label.checkbox, .contact-form .checkbox-group { display: flex !important; flex-direction: row !important; align-items: flex-start !important; gap: 10px !important; font-size: 14px !important; line-height: 1.5 !important; flex-wrap: nowrap !important; }
main form label.checkbox span, main form label.checkbox a, main form .form-checkbox span, main form .form-checkbox a, .contact-form label.checkbox span, .contact-form label.checkbox a { display: inline !important; flex: 1 1 auto; }
main form label.checkbox input[type='checkbox'], main form .form-checkbox input[type='checkbox'] { flex-shrink: 0 !important; width: 18px !important; height: 18px !important; margin-top: 3px !important; }

/* iletisim-form-responsive-guard v2 */
main form, .form-section form, .contact-form, .iletisim-form, form#contact-form, form[id*="iletisim"], form[class*="iletisim"], form[class*="contact"] {
  display: block;
  max-width: 720px;
  margin: 24px auto;
  padding: clamp(20px, 4vw, 36px);
  background: var(--surface, rgba(255,255,255,0.04));
  border: 1px solid var(--line, rgba(127,127,127,0.18));
  border-radius: 16px;
  box-shadow: 0 8px 32px -12px rgba(0,0,0,0.25);
  box-sizing: border-box;
}
main form .form-grid,
main form > .grid,
.contact-form .form-grid,
form[class*="contact"] .form-grid,
form[class*="iletisim"] .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 18px;
  width: 100%;
}
@media (max-width: 640px) {
  main form .form-grid,
  main form > .grid,
  .contact-form .form-grid,
  form[class*="contact"] .form-grid,
  form[class*="iletisim"] .form-grid {
    grid-template-columns: 1fr;
  }
}
main form .form-grid > .field-full,
main form .form-grid > .col-full,
main form .form-grid > [class*="full"] {
  grid-column: 1 / -1;
}
main form .field, main form label,
.contact-form .field, .contact-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}
main form input[type="text"],
main form input[type="email"],
main form input[type="tel"],
main form input[type="number"],
main form input[type="date"],
main form input[type="url"],
main form input[type="search"],
main form input:not([type]),
main form select,
main form textarea,
.contact-form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),
.contact-form select,
.contact-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  min-height: 44px;
  font-size: 16px;
  line-height: 1.4;
  font-family: inherit;
  border: 1px solid var(--line, rgba(127,127,127,0.22));
  border-radius: 10px;
  background: var(--input-bg, rgba(0,0,0,0.04));
  color: inherit;
  appearance: none;
  -webkit-appearance: none;
}
main form textarea, .contact-form textarea {
  min-height: 120px;
  resize: vertical;
}
main form input:focus, main form select:focus, main form textarea:focus,
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus {
  outline: 2px solid var(--accent, #5a8dee);
  outline-offset: 1px;
  border-color: transparent;
}
main form .checkbox, main form label.checkbox,
.contact-form .checkbox {
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.5;
}
main form input[type="checkbox"], main form input[type="radio"],
.contact-form input[type="checkbox"], .contact-form input[type="radio"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: var(--accent, #5a8dee);
}
main form button[type="submit"],
main form input[type="submit"],
main form .btn-submit,
.contact-form button[type="submit"],
.contact-form .btn-submit {
  width: 100%;
  min-height: 48px;
  padding: 14px 28px;
  background: var(--accent, #5a8dee);
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  margin-top: 8px;
  transition: filter 200ms ease, transform 120ms ease;
}
@media (min-width: 640px) {
  main form button[type="submit"],
  main form input[type="submit"],
  .contact-form button[type="submit"] {
    width: auto;
    min-width: 220px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
main form button[type="submit"]:hover,
.contact-form button[type="submit"]:hover {
  filter: brightness(1.05);
}
main form button[type="submit"]:active,
.contact-form button[type="submit"]:active {
  transform: translateY(1px);
}


/* contacts-grid-v2 */
/* Contact cards in responsive grid */
.contact-grid, .contacts-grid, .iletisim-grid, .contact-cards, .contact-cards-grid,
.contact-list, main .contact-wrap, section[id*="iletisim"] > .container > div:has(> .contact-card) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 20px !important;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 8px 16px;
  box-sizing: border-box;
}
@media (min-width: 1024px) {
  .contact-grid, .contacts-grid, .iletisim-grid, .contact-cards, .contact-cards-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 720px) {
  .contact-grid, .contacts-grid, .iletisim-grid, .contact-cards, .contact-cards-grid {
    grid-template-columns: 1fr !important;
  }
}
.contact-card { min-height: 0; box-sizing: border-box; }

/* Checkbox row alignment — override .field-checkbox column layout */
form .field.field-checkbox,
form .field-checkbox,
form .checkbox-field,
form .form-field--checkbox,
form .form-row--checkbox,
form .kvkk-field,
form .consent-field,
.contact-form .field.field-checkbox {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100%;
}
form .field.field-checkbox > input[type="checkbox"],
form .field-checkbox > input[type="checkbox"],
form .checkbox-field > input[type="checkbox"],
form .kvkk-field > input[type="checkbox"],
form .consent-field > input[type="checkbox"] {
  flex-shrink: 0 !important;
  width: 18px !important;
  height: 18px !important;
  margin: 3px 0 0 0 !important;
  accent-color: var(--accent, currentColor);
}
form .field.field-checkbox > label,
form .field-checkbox > label,
form .checkbox-field > label,
form .kvkk-field > label,
form .consent-field > label {
  flex: 1 1 auto !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  display: inline !important;
  cursor: pointer;
}
form .field.field-checkbox > label a,
form .field-checkbox > label a {
  text-decoration: underline;
}

/* field-full inside form grid spans both columns */
form .form-grid > .field-full,
form .form-grid > .field.field-full,
form .form-grid > .col-full,
form .form-grid > .full,
form .form-grid > [class*="--full"] {
  grid-column: 1 / -1;
}

