﻿:root {
  --bg: #07070b;
  --bg-soft: #0d0d14;
  --surface: #12121b;
  --surface-2: #181824;
  --line: rgba(255,255,255,.11);
  --text: #fff;
  --muted: #a9a4b3;
  --primary: #ec4899;
  --primary-2: #8b5cf6;
  --accent: #f0abfc;
  --success: #40d8b4;
  --glass: rgba(255,255,255,.065);
  --glass-strong: rgba(255,255,255,.105);
  --shadow-card: 0 28px 80px rgba(0,0,0,.38);
  --shadow-soft: 0 18px 52px rgba(0,0,0,.25);
  --display: Inter, Pretendard, "Noto Sans KR", system-ui, sans-serif;
  --body: Inter, Pretendard, "Noto Sans KR", system-ui, sans-serif;
  --radius: 22px;
  --type-hero: clamp(50px, 4.7vw, 68px);
  --type-section: clamp(34px, 3.4vw, 46px);
  --type-section-compact: clamp(30px, 3vw, 40px);
  --type-card: 21px;
  --type-body-lead: 17px;
  --type-body: 15px;
  --type-small: 13px;
  --type-legal: 12px;
  font-family: var(--body);
  color: var(--text);
  background: var(--bg);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  color:var(--text);
  background:
    radial-gradient(circle at 16% 8%, rgba(236,72,153,.12), transparent 28%),
    radial-gradient(circle at 85% 16%, rgba(139,92,246,.10), transparent 30%),
    linear-gradient(180deg, #090811 0%, var(--bg) 42%, #050507 100%);
  font-size:var(--type-body);
  line-height:1.65;
}
body::selection { color: #160816; background: var(--accent); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }

.site-header {
  width: min(1280px, calc(100% - 48px));
  height: 76px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 42px;
  position: relative;
  z-index: 5;
}
.site-header::after {
  content:"";
  height:1px;
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.13), transparent);
  opacity:.75;
}

.brand { display: inline-flex; align-items: center; gap: 10px; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; position:relative; overflow:hidden; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--primary), var(--primary-2)); box-shadow: 0 12px 34px rgba(236,72,153,.34); }
.brand-mark::after { content:""; width:22px; height:60px; position:absolute; left:-24px; top:-12px; background:rgba(255,255,255,.28); transform:rotate(24deg); }
.brand b { display: block; font-size: 16px; letter-spacing: -.02em; }
.brand small { display: block; margin-top: 1px; color: var(--muted); font-size: 11px; }

.site-header nav { display: flex; gap: 30px; margin-left: auto; }
.site-header nav a { color: var(--muted); font-size: 14px; font-weight: 700; transition: .2s; }
.site-header nav a:hover { color: #fff; }
.header-cta { height: 42px; padding: 0 20px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #fff; background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035)); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); font-weight: 800; cursor: pointer; }

.section-pad { width: min(1280px, calc(100% - 48px)); margin: 0 auto; padding: 110px 0; }
.hero { min-height: 710px; padding-top: 82px; display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; gap: 72px; position: relative; overflow:hidden; }
.hero::before { content:""; width: 520px; height: 520px; position: absolute; left: -260px; top: 40px; border-radius: 50%; background: radial-gradient(circle, rgba(139,92,246,.17), transparent 68%); pointer-events:none; }
.hero::after {
  content:"";
  width:620px;
  height:620px;
  position:absolute;
  right:-220px;
  top:40px;
  border-radius:50%;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:38px 38px;
  mask-image:radial-gradient(circle, #000 0 45%, transparent 72%);
  pointer-events:none;
  opacity:.55;
}
.hero-copy { position: relative; z-index: 2; }
.eyebrow, .section-kicker { color: var(--accent); font-size: var(--type-small); font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow { display: inline-flex; align-items:center; gap: 9px; padding: 9px 13px; border: 1px solid rgba(240,171,252,.28); border-radius: 999px; background: linear-gradient(180deg, rgba(240,171,252,.10), rgba(240,171,252,.045)); box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 12px 34px rgba(236,72,153,.10); letter-spacing: .04em; }
.eyebrow-dot { width: 7px; height: 7px; flex:0 0 auto; border-radius: 50%; background: var(--success); box-shadow: 0 0 16px var(--success); }

h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { font-family: var(--display); }
h1 { max-width:11.5em; margin: 25px 0 20px; font-size: var(--type-hero); line-height: 1.08; letter-spacing: -.055em; }
h1, h2 { word-break: keep-all; overflow-wrap: anywhere; }
h1 em { color: transparent; font-style: normal; background: linear-gradient(90deg, #fff 3%, var(--accent) 43%, #c4b5fd 90%); -webkit-background-clip: text; background-clip: text; }
.hero-lead { max-width: 38em; color: var(--muted); font-size: var(--type-body-lead); line-height: 1.72; }

.hero-price { width:max-content; max-width:100%; margin-top: 28px; padding:12px 14px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; border:1px solid rgba(255,255,255,.09); border-radius:16px; background:rgba(255,255,255,.035); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
.old-price { color: #8f8995; font-size: 15px; text-decoration: line-through; }
.hero-price strong { font-size: 32px; letter-spacing: -.04em; line-height:1; }
.discount { padding: 6px 10px; border-radius: 7px; color: #170913; background: var(--accent); font-size: 12px; font-weight: 900; }
.hero-price small { width: 100%; color: var(--muted); font-size: var(--type-small); }
.hero-actions { display: flex; gap: 10px; margin-top: 24px; }
.button { min-height: 54px; padding: 0 25px; display: inline-flex; align-items: center; justify-content:center; position:relative; overflow:hidden; border: 0; border-radius: 15px; font-weight: 900; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; }
.button::after { content:""; width:42px; height:140%; position:absolute; left:-64px; top:-20%; background:rgba(255,255,255,.20); transform:rotate(18deg); transition:.35s; }
.button:hover::after { left:calc(100% + 20px); }
.button:hover { transform: translateY(-2px); }
.button.primary { color: #fff; background: linear-gradient(110deg, var(--primary), var(--primary-2)); box-shadow: 0 14px 34px rgba(190,54,185,.27); }
.button.secondary { color: #fff; border: 1px solid rgba(255,255,255,.15); background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); box-shadow: inset 0 1px 0 rgba(255,255,255,.09); }
.button.light { color: #241029; background: #fff; }
.button.full { width: 100%; }
.microcopy { max-width:48em; margin: 11px 0 0; color: #99929f; font-size: var(--type-small); line-height:1.55; }
.footer-copy {
  width:fit-content;
  grid-column:auto;
}
.photo-need,
.mood-shot .mood-photo,
.required-photo strong {
  box-sizing:border-box;
}
.hero-proof { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 10px; color: #d0cad4; font-size: var(--type-small); }
.hero-proof span { padding:7px 10px; display:inline-flex; align-items:center; gap:6px; border:1px solid rgba(255,255,255,.09); border-radius:999px; background:rgba(255,255,255,.035); }
.hero-proof b { width:16px; height:16px; display:grid; place-items:center; margin-right: 0; border-radius:50%; color: #06130f; background: var(--success); font-size:10px; }

.hero-visual { min-height: 570px; display: grid; place-items: center; position: relative; }
.visual-glow { width:min(460px,100%); height:auto; aspect-ratio:1; position:absolute; border-radius: 50%; background: radial-gradient(circle, rgba(236,72,153,.31), rgba(139,92,246,.13) 48%, transparent 70%); filter: blur(10px); }
.phone-card { width: min(400px, 82%); padding: 11px; position: relative; z-index:2; border: 1px solid rgba(255,255,255,.18); border-radius: 30px; background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.025)), rgba(19,18,28,.86); box-shadow: 0 38px 90px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.10); backdrop-filter: blur(20px); transform: rotate(2deg); }
.phone-card::before { content:""; height:5px; width:72px; position:absolute; left:50%; top:14px; transform:translateX(-50%); border-radius:999px; background:rgba(255,255,255,.16); z-index:3; }
.photo-placeholder { height: 380px; display:grid; place-items:end start; padding: 26px; overflow:hidden; border-radius: 20px; position:relative; background:
  radial-gradient(circle at 52% 26%, #ffd8d8 0 8%, transparent 8.6%),
  radial-gradient(ellipse at 50% 40%, #2e172d 0 17%, transparent 18%),
  radial-gradient(circle at 18% 16%, rgba(255,255,255,.30), transparent 19%),
  linear-gradient(145deg, #4a1f49, #8c3b7c 35%, #171321 72%);
}
.photo-placeholder::before { content:""; width:190px; height:190px; position:absolute; left:50%; top:66px; transform:translateX(-50%); border-radius:50% 50% 44% 44%; background:linear-gradient(145deg, rgba(28,15,32,.92), rgba(9,8,13,.98)); box-shadow:0 18px 70px rgba(0,0,0,.28); }
.photo-placeholder::after { content:""; width: 230px; height: 270px; position:absolute; left: 50%; bottom: -60px; transform: translateX(-50%); border-radius: 48% 48% 20% 20%; background: linear-gradient(#201326, #09090d); box-shadow: 0 -40px 80px rgba(250,182,226,.18); }
.photo-placeholder span { position:relative; z-index:2; font-size: var(--type-small); font-weight:900; letter-spacing:.02em; line-height:1.65; }
.photo-placeholder.has-real-image {
  background-image:linear-gradient(180deg, rgba(8,7,12,.04), rgba(8,7,12,.42)), var(--image-url);
  background-size:cover;
  background-position:center;
}
.photo-placeholder.has-real-image::before,
.photo-placeholder.has-real-image::after {
  display:none;
}
.photo-placeholder.has-real-image .photo-need {
  display:none;
}
.photo-need { max-width:260px; padding:35px 15px 13px; display:inline-block; position:relative; border:1px dashed rgba(56,189,248,.58); border-radius:10px; color:#e0f7ff; background:rgba(7,7,11,.72); backdrop-filter:blur(8px); }
.photo-need::before {
  content:"사진 가이드";
  position:absolute;
  left:12px;
  top:10px;
  padding:3px 7px;
  border-radius:999px;
  color:#052330;
  background:#38bdf8;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.02em;
}
.card-body { padding: 20px 14px 12px; }
.card-body > div { color: var(--success); font-size:var(--type-small); font-weight:800; }
.online-dot { width:7px; height:7px; display:inline-block; margin-right:6px; border-radius:50%; background:var(--success); }
.card-body h3 { margin: 10px 0 7px; font-size:20px; }
.card-body p { margin-bottom:0; color:var(--muted); font-size:14px; line-height:1.65; }
.floating-card { min-width: 164px; padding: 15px 18px; display:flex; align-items:center; gap:10px; position:absolute; z-index:3; border:1px solid rgba(255,255,255,.15); border-radius:17px; background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.045)); box-shadow:0 20px 48px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter:blur(18px); }
.floating-card b { color:var(--accent); font-size:21px; }
.floating-card span { color:#d5cfd9; font-size:var(--type-small); }
.floating-one { left:2%; top:24%; }
.floating-two { right:0; bottom:18%; }

.quick-strip { width: min(1380px, calc(100% - 30px)); margin: 0 auto; padding: 16px; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(100deg, rgba(236,72,153,.10), rgba(139,92,246,.08)); box-shadow:var(--shadow-soft); }
.quick-strip div { min-height:76px; padding: 14px 18px; display:grid; grid-template-columns:42px 1fr; align-items:center; gap:13px; border:1px solid rgba(255,255,255,.08); border-radius:16px; background:rgba(255,255,255,.045); }
.quick-strip div::before { width:42px; height:42px; display:grid; place-items:center; border-radius:14px; color:#fff; background:linear-gradient(135deg, rgba(236,72,153,.95), rgba(139,92,246,.85)); box-shadow:0 12px 28px rgba(236,72,153,.20); font-weight:900; }
.quick-strip div:nth-child(1)::before { content:"◌"; }
.quick-strip div:nth-child(2)::before { content:"◇"; }
.quick-strip div:nth-child(3)::before { content:"↔"; }
.quick-strip div:nth-child(4)::before { content:"60"; font-size:13px; }
.quick-strip div:last-child { border-right:0; }
.quick-strip b { color:var(--primary); font-size:var(--type-small); display:none; }
.quick-strip span { color:#e1dce4; font-size:14px; font-weight:700; }

.narrative-grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:70px; }
.narrative-copy h2 { max-width:14em; margin:14px 0 18px; font-size:var(--type-section); line-height:1.15; letter-spacing:-.045em; }
.narrative-copy > p { max-width:42em; color:var(--muted); font-size:16px; line-height:1.8; }
.narrative-points { margin:28px 0 30px; padding:0; list-style:none; display:grid; gap:11px; }
.narrative-points li { color:#e6e0e9; font-size:14px; }
.narrative-points li::before { content:"✦"; margin-right:10px; color:var(--primary); }
.required-photo { min-height:480px; padding:36px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; position:relative; border:1px solid rgba(255,255,255,.15); border-radius:28px; box-shadow:var(--shadow-card); background:
  linear-gradient(180deg,transparent 35%,rgba(0,0,0,.82)),
  radial-gradient(circle at 67% 25%,rgba(240,171,252,.30),transparent 28%),
  linear-gradient(135deg,#2a1930,#17131f 52%,#0c0c12);
}
.required-photo::before { content:""; width:240px; height:300px; position:absolute; right:12%; bottom:0; border-radius:48% 48% 12% 12%; background:linear-gradient(#342538,#08080c); opacity:.76; }
.required-photo strong,.required-photo span,.required-photo small { max-width:520px; position:relative; z-index:2; }
.required-photo.has-real-image {
  background-image:linear-gradient(180deg, rgba(0,0,0,.08) 15%, rgba(0,0,0,.72) 100%), var(--image-url);
  background-size:cover;
  background-position:center;
}
.required-photo.has-real-image::before,
.required-photo.has-real-image strong,
.required-photo.has-real-image span,
.required-photo.has-real-image small {
  display:none;
}
.required-photo strong { width:max-content; padding:23px 9px 6px; border:1px dashed rgba(56,189,248,.54); border-radius:8px; color:#dbf7ff; background:rgba(56,189,248,.12); font-size:12px; }
.required-photo strong::before {
  content:"사진 가이드";
  position:absolute;
  left:8px;
  top:6px;
  padding:3px 7px;
  border-radius:999px;
  color:#052330;
  background:#38bdf8;
  font-size:10px;
  line-height:1;
  font-weight:900;
}
.required-photo span { margin-top:12px; color:#fff; font-size:20px; font-weight:900; line-height:1.45; }
.required-photo small { margin-top:8px; color:#d0c9d4; font-size:var(--type-small); line-height:1.65; }

.section-heading { max-width: 760px; margin:0 auto 48px; text-align:center; }
.section-heading.align-left { margin-left:0; text-align:left; }
.section-heading h2, .trust-copy h2, .form-intro h2, .final-cta h2 { margin:14px 0 14px; font-size:var(--type-section); line-height:1.16; letter-spacing:-.045em; }
.section-heading p, .trust-copy p, .form-intro p { max-width:46em; color:var(--muted); font-size:16px; line-height:1.75; }
.service { padding-top:140px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-card { min-height:340px; padding:32px; overflow:hidden; border:1px solid var(--line); border-radius:28px; background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)), var(--surface); box-shadow:var(--shadow-soft); position:relative; transition:.25s; }
.service-card::before { content:""; width:180px; height:180px; position:absolute; right:-92px; top:-92px; border-radius:50%; background:radial-gradient(circle, rgba(240,171,252,.22), transparent 68%); }
.service-card:hover { transform:translateY(-7px); border-color:rgba(240,171,252,.35); }
.service-card.is-featured { background:linear-gradient(145deg, rgba(236,72,153,.17), rgba(139,92,246,.09)), var(--surface); }
.card-number { position:absolute; top:25px; right:25px; color:#65616d; font-size:11px; }
.service-icon { width:58px; height:58px; display:grid; place-items:center; margin-bottom:52px; border:1px solid rgba(255,255,255,.16); border-radius:18px; color:var(--accent); background:linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.025)); box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 16px 34px rgba(0,0,0,.20); font-size:0; }
.service-icon::before { width:26px; height:26px; display:grid; place-items:center; border:2px solid currentColor; border-radius:50%; font-size:13px; line-height:1; }
.service-card:nth-child(1) .service-icon::before { content:""; border-radius:8px 8px 18px 18px; border-top-width:7px; transform:rotate(-8deg); }
.service-card:nth-child(2) .service-icon::before { content:""; width:28px; height:22px; border-radius:16px; box-shadow:10px 10px 0 -6px currentColor; }
.service-card:nth-child(3) .service-icon::before { content:""; border:0; width:28px; height:28px; border-radius:50%; background:radial-gradient(circle at 62% 38%, transparent 0 42%, currentColor 44%); }
.service-card h3 { font-size:var(--type-card); }
.service-card p { min-height:52px; color:var(--muted); font-size:15px; line-height:1.72; }
.service-card a { display:inline-flex; gap:10px; color:#fff; font-size:14px; font-weight:800; }
.service-card a b { color:var(--primary); }

.mood-panel { padding:58px; overflow:hidden; border:1px solid var(--line); border-radius:32px; background:linear-gradient(135deg, rgba(139,92,246,.12), rgba(236,72,153,.06)), var(--surface); box-shadow:var(--shadow-card); }
.mood-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:34px; }
.mood-chips button, .form-chips button { min-height:44px; padding:10px 15px; border:1px solid var(--line); border-radius:999px; color:#e2dce6; background:rgba(255,255,255,.05); font-size:14px; font-weight:800; cursor:pointer; }
.mood-chips button:first-child { border-color:var(--primary); color:#fff; background:var(--primary); }
.mood-chips button:first-child:not(.is-selected) { border-color:var(--line); color:#e2dce6; background:rgba(255,255,255,.05); }
.mood-chips button.is-selected,.form-chips button.is-selected { border-color:var(--primary); color:#fff; background:var(--primary); }
.mood-visuals { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:12px; }
.mood-shot { height:260px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:7px; padding:22px; position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.11); border-radius:22px; background-size:cover; box-shadow:inset 0 -150px 110px rgba(0,0,0,.58), 0 18px 42px rgba(0,0,0,.20); }
.mood-shot::before { content:""; width:110px; height:150px; position:absolute; left:50%; bottom:0; transform:translateX(-50%); border-radius:54px 54px 16px 16px; background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(0,0,0,.55)); opacity:.55; }
.mood-shot span,.mood-shot strong,.mood-shot p,.mood-shot em,.mood-shot button { position:relative; z-index:1; }
.mood-shot.has-real-image {
  background-image:linear-gradient(180deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.76) 100%), var(--image-url);
  background-size:cover;
  background-position:center;
}
.mood-shot.has-real-image::before,
.mood-shot.has-real-image .mood-photo {
  display:none;
}
.mood-shot span { font-size:11px; font-weight:900; letter-spacing:.18em; }
.mood-shot .mood-photo {
  display:inline-block;
  max-width:230px;
  padding:25px 9px 8px;
  border:1px dashed rgba(56,189,248,.50);
  border-radius:9px;
  color:#dbf7ff;
  background:rgba(4,18,26,.32);
}
.mood-shot .mood-photo::before {
  content:"사진 가이드";
  position:absolute;
  left:8px;
  top:7px;
  padding:3px 7px;
  border-radius:999px;
  color:#052330;
  background:#38bdf8;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.02em;
}
.mood-shot small { display:block; margin-top:5px; color:#f1eaf5; font-size:11px; line-height:1.45; letter-spacing:0; }
.mood-shot strong { max-width:13em; color:#fff; font-size:20px; line-height:1.25; letter-spacing:-.04em; }
.mood-shot p { max-width:22em; margin:0; color:#d9d2df; font-size:13px; line-height:1.55; }
.mood-shot em { color:var(--accent); font-size:12px; font-style:normal; font-weight:900; letter-spacing:-.02em; }
.mood-shot button { margin-top:4px; padding:8px 11px; border:1px solid rgba(255,255,255,.16); border-radius:999px; color:#fff; background:rgba(255,255,255,.08); font-size:12px; font-weight:900; cursor:pointer; }
.mood-shot button:hover { border-color:var(--primary); background:rgba(236,72,153,.22); }
.shot-one { background:linear-gradient(145deg,#b64f83,#4d1c58 55%,#17101d); }
.shot-two { background:linear-gradient(145deg,#463780,#211f46 55%,#101017); }
.shot-three { background:linear-gradient(145deg,#d8738c,#743455 55%,#1b1017); }

.process-list { list-style:none; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:12px; border:0; }
.process-list li { min-height:190px; padding:28px 22px; position:relative; overflow:hidden; border:1px solid var(--line); border-radius:22px; background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02)); box-shadow:var(--shadow-soft); }
.process-list li::before { content:""; width:46px; height:46px; position:absolute; left:20px; top:22px; border-radius:16px; background:linear-gradient(135deg, var(--primary), var(--primary-2)); opacity:.22; }
.process-list li::after { content:""; width:9px; height:9px; position:absolute; right:18px; top:40px; border-radius:50%; background:var(--success); box-shadow:0 0 18px var(--success); }
.process-list li:last-child { border-right:0; }
.process-list > li > span { color:var(--primary); font-size:var(--type-small); font-weight:900; }
.process-list div { margin-top:45px; }
.process-list b { display:block; margin-bottom:8px; font-size:17px; }
.process-list p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }

.trust-card { padding:68px; display:grid; grid-template-columns:1fr 1.15fr; gap:70px; border-radius:32px; color:#161019; background:linear-gradient(135deg,#f7d7ff,#c4b5fd 50%,#f0abfc); box-shadow:0 34px 90px rgba(180,110,230,.20); position:relative; overflow:hidden; }
.trust-card::after { content:""; width:420px; height:420px; position:absolute; right:-160px; top:-180px; border-radius:50%; background:rgba(255,255,255,.28); }
.trust-card .section-kicker { color:#6c2470; }
.trust-copy p { color:#685e6a; }
.trust-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid rgba(39,18,41,.16); border-radius:20px; overflow:hidden; }
.trust-grid div { min-height:136px; padding:26px; display:flex; flex-direction:column; justify-content:center; position:relative; border-right:1px solid rgba(39,18,41,.14); border-bottom:1px solid rgba(39,18,41,.14); background:rgba(255,255,255,.20); }
.trust-grid div::before { content:""; width:28px; height:4px; margin-bottom:16px; border-radius:999px; background:#6c2470; opacity:.45; }
.trust-grid div:nth-child(2n) { border-right:0; }
.trust-grid div:nth-child(n+3) { border-bottom:0; }
.trust-grid strong { font-size:32px; }
.trust-grid span { margin-top:6px; color:#5c4d60; font-size:14px; line-height:1.45; }

.comparison-table { overflow:hidden; border:1px solid var(--line); border-radius:24px; background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)), var(--surface); box-shadow:var(--shadow-card); }
.comparison-table > div { min-height:64px; padding:0 24px; display:grid; grid-template-columns:.75fr 1.35fr 1fr; align-items:center; gap:18px; border-bottom:1px solid var(--line); }
.comparison-table > div:last-child { border-bottom:0; }
.comparison-table .comparison-head { min-height:54px; color:var(--muted); background:rgba(255,255,255,.035); font-size:13px; font-weight:800; }
.comparison-table span { color:var(--muted); font-size:14px; }
.comparison-table b { color:#fff; font-size:14px; }
.comparison-table b::before { content:"✓"; margin-right:9px; color:var(--success); }

.review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
blockquote { margin:0; padding:30px; position:relative; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02)), var(--surface); box-shadow:var(--shadow-soft); }
blockquote::before { content:"“"; position:absolute; right:24px; top:-6px; color:var(--accent); font-family:Georgia, serif; font-size:86px; opacity:.18; }
.stars { color:#f6b7e4; letter-spacing:.12em; font-size:12px; }
blockquote p { min-height:78px; margin:20px 0; color:#e5e1e7; font-size:15px; line-height:1.7; }
blockquote footer { color:var(--muted); font-size:var(--type-small); }

.price-panel { padding:70px; display:grid; grid-template-columns:1fr 420px; align-items:center; gap:70px; border:1px solid var(--line); border-radius:34px; background:radial-gradient(circle at 15% 10%,rgba(236,72,153,.18),transparent 35%),linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02)),var(--surface); box-shadow:var(--shadow-card); }
.price-panel h2 { font-size:var(--type-section); line-height:1.15; letter-spacing:-.045em; }
.price-panel > div:first-child p { max-width:38em; color:var(--muted); font-size:16px; line-height:1.75; }
.price-ticket { padding:32px; border:1px solid rgba(255,255,255,.18); border-radius:26px; background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(7,7,11,.64)); box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 28px 70px rgba(0,0,0,.28); }
.ticket-top { display:flex; justify-content:space-between; color:var(--muted); font-size:14px; }
.ticket-main { margin-top:20px; display:flex; align-items:end; }
.ticket-main strong { font-size:57px; letter-spacing:-.07em; }
.ticket-main span { margin:0 0 9px 5px; }
.ticket-badge { margin:8px 0 22px; color:var(--accent); font-size:13px; font-weight:900; }
.price-ticket ul { margin:0 0 25px; padding:22px 0; list-style:none; border-top:1px solid var(--line); }
.price-ticket li { padding:6px 0; color:#ddd7e0; font-size:14px; }
.price-ticket li::before { content:"✓"; margin-right:8px; color:var(--success); }

.form-wrap { padding:70px; display:grid; grid-template-columns:.75fr 1.25fr; gap:75px; border:1px solid var(--line); border-radius:32px; background:linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.02)), var(--surface); box-shadow:var(--shadow-card); }
.contact-note { margin-top:35px; padding:20px; border-left:2px solid var(--primary); background:rgba(255,255,255,.035); }
.contact-note span,.contact-note b { display:block; }
.contact-note span { color:var(--muted); font-size:var(--type-small); }
.contact-note b { margin-top:5px; }
.direct-contact { margin-top:14px; display:grid; gap:8px; }
.direct-contact-button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:0 18px; border:1px solid rgba(255,255,255,.18); border-radius:15px; color:#fff; background:linear-gradient(135deg, rgba(236,72,153,.92), rgba(139,92,246,.88)); box-shadow:0 18px 38px rgba(236,72,153,.18); font-size:15px; font-weight:900; text-decoration:none; }
.direct-contact-button:hover { transform:translateY(-1px); box-shadow:0 22px 46px rgba(236,72,153,.25); }
.direct-contact small { color:#a9a1ae; font-size:12px; line-height:1.55; }
form { display:grid; gap:18px; }
label > span { display:block; margin-bottom:8px; color:#ddd6e1; font-size:14px; font-weight:700; }
input,select,textarea { width:100%; border:1px solid rgba(255,255,255,.13); border-radius:13px; color:#fff; background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015)), #0b0b11; outline:none; }
input,select { height:48px; padding:0 14px; }
textarea { padding:13px 14px; resize:vertical; }
input:focus,select:focus,textarea:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(236,72,153,.1); }
select option { background:#111; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form-chips { display:flex; flex-wrap:wrap; gap:7px; }
.form-chips button:first-child { border-color:var(--primary); color:#fff; }
.checkbox { display:flex; align-items:center; gap:9px; }
.checkbox input { width:17px; height:17px; accent-color:var(--primary); }
.checkbox span { margin:0; }
.form-help { margin:0; color:#99929f; font-size:var(--type-legal); line-height:1.55; text-align:center; }

.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.faq-grid details { border:1px solid var(--line); border-radius:18px; background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)), var(--surface); box-shadow:0 16px 36px rgba(0,0,0,.16); }
.faq-grid summary { padding:21px 52px 21px 24px; position:relative; color:#f0edf2; font-size:16px; line-height:1.45; font-weight:900; cursor:pointer; list-style:none; letter-spacing:-.025em; }
.faq-grid summary::-webkit-details-marker { display:none; }
.faq-grid summary::after { content:"+"; position:absolute; right:20px; color:var(--primary); font-size:18px; }
.faq-grid details[open] summary::after { content:"−"; }
.faq-grid details p { margin:0; padding:0 24px 23px; color:var(--muted); font-size:14px; line-height:1.78; }
.faq-grid details p strong { display:block; margin-bottom:6px; color:#f4edf7; font-weight:900; }

.final-cta { width:min(1380px,calc(100% - 30px)); padding:70px; display:flex; align-items:center; justify-content:space-between; gap:40px; border-radius:28px; background:linear-gradient(115deg,var(--primary),#b83db6 52%,var(--primary-2)); }
.final-cta .section-kicker { color:#ffe3fa; }
.final-cta h2 { max-width:760px; margin-bottom:10px; }
.final-cta p { margin:0; color:rgba(255,255,255,.75); }

.site-footer { width:min(1280px,calc(100% - 48px)); margin:0 auto; padding:70px 0 45px; display:grid; grid-template-columns:1.2fr 1fr 1.2fr; gap:40px; color:var(--muted); }
.site-footer div { display:flex; flex-direction:column; gap:7px; font-size:12px; }
.site-footer div b { color:#fff; margin-bottom:7px; }
.site-footer > p { grid-column:1/-1; padding-top:30px; border-top:1px solid var(--line); font-size:var(--type-legal); }

.contact-modal[hidden] { display:none; }
.contact-modal { position:fixed; inset:0; z-index:20; display:grid; place-items:center; padding:20px; }
.modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.72); backdrop-filter:blur(9px); }
.modal-card { width:min(420px,100%); padding:36px; position:relative; z-index:2; border:1px solid var(--line); border-radius:24px; background:#15131b; box-shadow:0 30px 100px rgba(0,0,0,.7); text-align:center; }
.modal-card h2 { margin:12px 0 8px; font-size:27px; }
.modal-card > p { color:var(--muted); font-size:13px; }
.modal-close { width:32px; height:32px; position:absolute; top:13px; right:13px; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.07); font-size:20px; cursor:pointer; }
.copy-id { width:100%; padding:16px; display:flex; align-items:center; justify-content:space-between; border:1px solid rgba(240,171,252,.25); border-radius:13px; color:#fff; background:rgba(240,171,252,.07); cursor:pointer; }
.copy-id span { color:var(--muted); font-size:11px; }
.copy-id strong { font-size:22px; }
.copy-id b { color:var(--accent); font-size:11px; }
.qr-placeholder { width:130px; height:130px; margin:18px auto 0; display:grid; place-items:center; border:1px dashed rgba(255,255,255,.24); border-radius:13px; color:#fff; background:repeating-linear-gradient(45deg,#fff 0 3px,#111 3px 6px); font-weight:900; text-shadow:0 1px 4px #000; }
.qr-placeholder small { display:block; padding:3px; background:#111; font-size:8px; }
.modal-help { margin-bottom:0; }
.toast { padding:12px 18px; position:fixed; left:50%; bottom:28px; z-index:30; border-radius:999px; color:#120812; background:#fff; font-size:12px; font-weight:800; opacity:0; transform:translate(-50%,20px); pointer-events:none; transition:.25s; }
.toast.is-showing { opacity:1; transform:translate(-50%,0); }
.mobile-conversion-bar { display:none; }

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid color-mix(in srgb, var(--accent) 75%, white);
  outline-offset:3px;
}

/* B 감성형 */
.variant-b {
  --bg:#100b0f; --bg-soft:#181015; --surface:#1c1319; --surface-2:#23171f; --line:rgba(255,241,231,.13);
  --text:#fff8f1; --muted:#c4adaf; --primary:#df6b75; --primary-2:#9d506e; --accent:#ffd3bd; --success:#c8d58d;
  --display: Georgia, "Times New Roman", serif;
}
.variant-b .site-header { border-bottom:1px solid var(--line); }
.variant-b h1 { font-weight:500; letter-spacing:-.045em; }
.variant-b h1 em { background:linear-gradient(90deg,#ffd9c7,#e5a5b3); -webkit-background-clip:text; background-clip:text; }
.variant-b .hero { grid-template-columns:.9fr 1.1fr; }
.variant-b .phone-card { transform:rotate(-1deg); }
.variant-b .photo-placeholder { background:radial-gradient(circle at 52% 27%,#ffd6c4 0 9%,transparent 10%),radial-gradient(ellipse at 50% 42%,#43212b 0 18%,transparent 19%),linear-gradient(145deg,#7f3f4f,#c67774 35%,#24151b 72%); }
.variant-b .quick-strip { background:#1b1117; }
.variant-b .service-card.is-featured { background:linear-gradient(145deg,rgba(223,107,117,.18),rgba(255,211,189,.05)),var(--surface); }
.variant-b .trust-card { color:#291916; background:linear-gradient(135deg,#ffe1cf,#e7b2b8 55%,#d99bb7); }
.variant-b .final-cta { background:linear-gradient(115deg,#bb5d68,#8f4862); }

/* C 프리미엄형 */
.variant-c {
  --bg:#070808; --bg-soft:#0b0d0c; --surface:#101211; --surface-2:#161916; --line:rgba(233,229,205,.14);
  --text:#f5f3e8; --muted:#9fa39b; --primary:#b89b5e; --primary-2:#6f7a68; --accent:#e7d59b; --success:#8ec6a4;
  --display: Inter, Pretendard, "Noto Sans KR", sans-serif;
}
.variant-c .brand-mark { color:#15130c; background:linear-gradient(135deg,#e7d59b,#9f824d); }
.variant-c h1 { text-transform:none; }
.variant-c h1 em { background:linear-gradient(90deg,#fff,#d8c88f); -webkit-background-clip:text; background-clip:text; }
.variant-c .eyebrow { border-radius:3px; }
.variant-c .button,.variant-c .header-cta { border-radius:4px; }
.variant-c .button.primary { color:#15130c; background:linear-gradient(110deg,#e1ce8f,#9d814a); }
.variant-c .phone-card,.variant-c .service-card,.variant-c .mood-panel,.variant-c .trust-card,.variant-c .price-panel,.variant-c .form-wrap { border-radius:8px; }
.variant-c .photo-placeholder { border-radius:4px; background:radial-gradient(circle at 52% 27%,#dbcbb5 0 9%,transparent 10%),radial-gradient(ellipse at 50% 42%,#282923 0 18%,transparent 19%),linear-gradient(145deg,#4e5144,#777a65 35%,#161815 72%); }
.variant-c .quick-strip { border-radius:4px; background:#0e100f; }
.variant-c .trust-card { color:#171710; background:linear-gradient(135deg,#e9dfbd,#b8ad82 55%,#d5c58f); }
.variant-c .final-cta { border-radius:4px; color:#171710; background:linear-gradient(115deg,#dfd29e,#99824f); }
.variant-c .final-cta .section-kicker,.variant-c .final-cta p { color:#554b30; }

/* 설득구조별 레이아웃 */
.structure-a .price { padding-top:70px; }
.structure-a .price-panel { box-shadow:0 30px 90px rgba(236,72,153,.10); }
.structure-a .service { padding-top:80px; }
.structure-a {
  --type-hero:clamp(50px,4.5vw,64px);
  --type-section:clamp(32px,3.2vw,44px);
}
.structure-a .hero { min-height:660px; }
.structure-a .section-pad { padding-top:92px; padding-bottom:92px; }
.structure-a .hero-copy { max-width:720px; }
.structure-a .hero-actions .primary { min-width:220px; }

.structure-b .hero { min-height:820px; grid-template-columns:1fr; text-align:center; }
.structure-b {
  --type-hero:clamp(46px,4.2vw,58px);
  --type-section:clamp(34px,3.4vw,48px);
}
.structure-b .hero-copy { max-width:900px; margin:0 auto; }
.structure-b h1 { max-width:14em; margin-left:auto; margin-right:auto; line-height:1.14; }
.structure-b .hero-lead { max-width:34em; margin-left:auto; margin-right:auto; font-size:18px; line-height:1.9; }
.structure-b .hero-price,.structure-b .hero-actions,.structure-b .hero-proof { justify-content:center; }
.structure-b .hero-visual { min-height:470px; }
.structure-b .phone-card { width:min(620px,78%); display:grid; grid-template-columns:1.05fr .95fr; transform:rotate(0); }
.structure-b .photo-placeholder { height:320px; }
.structure-b .card-body { display:flex; flex-direction:column; justify-content:center; text-align:left; }
.structure-b .floating-one { left:9%; top:38%; }
.structure-b .floating-two { right:8%; bottom:12%; }
.structure-b .narrative-grid { grid-template-columns:1.1fr .9fr; }
.structure-b .narrative-copy { order:2; }
.structure-b .required-photo { order:1; min-height:560px; }
.structure-b .reviews { padding-top:70px; }
.structure-b .narrative-copy > p { max-width:36em; line-height:1.95; }
.structure-b .section-pad { padding-top:124px; padding-bottom:124px; }

.structure-c .hero { min-height:620px; grid-template-columns:1.2fr .8fr; }
.structure-c {
  --type-hero:clamp(46px,4vw,58px);
  --type-section:clamp(32px,3vw,42px);
}
.structure-c .hero-visual { min-height:500px; }
.structure-c .phone-card { width:min(350px,88%); }
.structure-c .photo-placeholder { height:320px; }
.structure-c .trust { padding-top:50px; }
.structure-c .comparison { padding-top:30px; }
.structure-c .narrative-grid { grid-template-columns:1fr 1fr; }
.structure-c .required-photo { border-radius:8px; }
.structure-c .section-pad { padding-top:88px; padding-bottom:88px; }
.structure-c .comparison-table > div { min-height:70px; }
.structure-c .trust-copy h2 { max-width:12em; }

@media (max-width: 980px) {
  .site-header { width:min(100% - 32px,1280px); }
  .site-header nav { display:none; }
  .section-pad { width:calc(100% - 32px); padding:80px 0; }
  .hero { min-height:auto; padding-top:55px; grid-template-columns:1fr; gap:20px; }
  .hero-copy { text-align:center; }
  .hero-lead { margin-left:auto; margin-right:auto; }
  .hero-price,.hero-actions,.hero-proof { justify-content:center; }
  .hero-visual { min-height:540px; }
  .floating-one { left:10%; }
  .floating-two { right:8%; }
  .quick-strip { grid-template-columns:1fr 1fr; }
  .quick-strip div:nth-child(2) { border-right:0; }
  .quick-strip div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .service-grid,.review-grid { grid-template-columns:1fr 1fr; }
  .service-card:last-child,.review-grid blockquote:last-child { grid-column:1/-1; }
  .process-list { grid-template-columns:1fr 1fr; }
  .process-list li { border-bottom:1px solid var(--line); }
  .process-list li:nth-child(2n) { border-right:0; }
  .process-list li:last-child { grid-column:1/-1; border-bottom:0; }
  .trust-card,.price-panel,.form-wrap { grid-template-columns:1fr; }
  .narrative-grid,.structure-b .narrative-grid,.structure-c .narrative-grid { grid-template-columns:1fr; }
  .structure-b .narrative-copy,.structure-b .required-photo { order:initial; }
  .structure-b .hero { min-height:auto; }
  .structure-c .hero { grid-template-columns:1fr; }
  .structure-b .phone-card { width:min(500px,88%); grid-template-columns:1fr; }
  .price-ticket { max-width:500px; }
  .final-cta { width:calc(100% - 20px); }
}

@media (max-width: 600px) {
  :root {
    --type-hero:clamp(34px,10.5vw,40px);
    --type-section:clamp(27px,8.4vw,32px);
    --type-card:20px;
    --type-body-lead:16px;
    --type-body:15px;
  }
  .structure-a,.structure-b,.structure-c {
    --type-hero:clamp(34px,10.5vw,40px);
    --type-section:clamp(27px,8.4vw,32px);
  }
  .site-header { height:64px; width:calc(100% - 24px); }
  .brand-mark { width:34px; height:34px; }
  .header-cta { height:36px; margin-left:auto; padding:0 14px; font-size:11px; }
  .section-pad { width:calc(100% - 24px); padding:64px 0; }
  .hero { padding-top:43px; }
  .hero-copy { width:100%; max-width:100%; }
  h1 { max-width:min(12em,100%); margin-left:auto; margin-right:auto; line-height:1.13; letter-spacing:-.045em; }
  .hero-lead { max-width:31em; font-size:16px; line-height:1.72; }
  .hero-price { width:100%; justify-content:center; }
  .hero-actions { flex-direction:column; }
  .button { width:100%; }
  .hero-proof { gap:10px; }
  .hero-proof span { width:100%; }
  .hero-visual { min-height:460px; }
  .phone-card { width:88%; }
  .photo-placeholder { height:280px; }
  .floating-card { min-width:130px; padding:11px 13px; }
  .floating-card b { font-size:17px; }
  .floating-one { left:0; top:25%; }
  .floating-two { right:0; bottom:12%; }
  .quick-strip { width:calc(100% - 12px); padding:14px; grid-template-columns:1fr; }
  .quick-strip div { padding:14px 8px; border-right:0; border-bottom:1px solid var(--line); }
  .quick-strip div:last-child { border-bottom:0; }
  .section-heading { margin-bottom:32px; }
  .service-grid,.review-grid { grid-template-columns:1fr; }
  .service-card:last-child,.review-grid blockquote:last-child { grid-column:auto; }
  .service-card { min-height:290px; }
  .mood-panel,.trust-card,.price-panel,.form-wrap { padding:30px 22px; }
  .mood-visuals { grid-template-columns:1fr 1fr; }
  .mood-shot { height:180px; }
  .mood-shot:first-child { grid-column:1/-1; }
  .process-list { grid-template-columns:1fr; }
  .process-list li,.process-list li:nth-child(2n) { min-height:120px; display:grid; grid-template-columns:40px 1fr; border-right:0; border-bottom:1px solid var(--line); }
  .process-list li:last-child { grid-column:auto; }
  .process-list div { margin-top:0; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-grid div { min-height:105px; padding:18px; }
  .trust-grid strong { font-size:24px; }
  .price-panel { gap:35px; }
  .price-ticket { padding:25px 20px; }
  .ticket-main strong { font-size:49px; }
  .field-row { grid-template-columns:1fr; }
  .faq-grid { grid-template-columns:1fr; }
  .comparison-table { overflow:visible; border:0; background:transparent; }
  .comparison-table .comparison-head { display:none; }
  .comparison-table > div { min-width:0; min-height:0; margin-bottom:10px; padding:18px; grid-template-columns:1fr 1fr; gap:9px 14px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
  .comparison-table > div > span:first-child { grid-column:1/-1; color:var(--accent); font-size:13px; font-weight:900; }
  .comparison-table > div > b,.comparison-table > div > span:last-child { font-size:13px; line-height:1.55; }
  .required-photo { min-height:360px; padding:25px; }
  .final-cta { width:calc(100% - 12px); padding:48px 24px; flex-direction:column; align-items:flex-start; }
  .site-footer { width:calc(100% - 24px); padding-top:55px; grid-template-columns:1fr; }
  .site-footer > p { grid-column:auto; }
  input,select,textarea { font-size:16px; }
  .structure-a .section-pad,.structure-b .section-pad,.structure-c .section-pad { padding-top:68px; padding-bottom:68px; }
  .structure-b .hero-lead { font-size:16px; line-height:1.78; }
  .mobile-conversion-bar {
    min-height:72px;
    padding:10px 12px;
    display:grid;
    grid-template-columns:1fr 150px;
    align-items:center;
    gap:10px;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:15;
    border-top:1px solid var(--line);
    background:rgba(10,9,14,.94);
    box-shadow:0 -12px 40px rgba(0,0,0,.38);
    backdrop-filter:blur(16px);
  }
  .mobile-conversion-bar div { display:flex; flex-direction:column; line-height:1.25; }
  .mobile-conversion-bar span { color:var(--muted); font-size:12px; }
  .mobile-conversion-bar strong { margin-top:3px; font-size:18px; }
  .mobile-conversion-bar .button { min-height:48px; padding:0 14px; font-size:14px; }
  .site-footer { padding-bottom:120px; }
}

/* Quality v2: height, differentiation, and polish pass */
.hero {
  min-height: 640px;
  padding-top: 56px;
  padding-bottom: 48px;
  gap: clamp(34px, 5vw, 68px);
}
.hero-copy { align-self:center; }
.hero-price { margin-top:22px; }
.hero-actions { margin-top:18px; }
.hero-proof { margin-top:18px; }
.microcopy { margin-top:8px; }
.hero-visual { min-height:430px; }
.phone-card { width:min(360px, 78%); }
.photo-placeholder { height:310px; }
.card-body { padding:15px 14px 10px; }
.card-body h3 { margin:7px 0 4px; }
.floating-card { min-width:148px; padding:12px 15px; }
.floating-one { left:4%; top:28%; }
.floating-two { right:2%; bottom:20%; }

.quick-strip {
  padding:10px;
  border-radius:18px;
}
.quick-strip div {
  min-height:58px;
  padding:9px 13px;
  grid-template-columns:32px 1fr;
  border-radius:13px;
}
.quick-strip div::before {
  width:32px;
  height:32px;
  border-radius:10px;
  font-size:12px;
  box-shadow:none;
}
.quick-strip span { font-size:13px; }

.service-card {
  min-height:300px;
  padding:28px;
}
.service-icon {
  width:50px;
  height:50px;
  margin-bottom:36px;
}
.service-card p { min-height:74px; }
.process-list li {
  min-height:158px;
  padding:24px 20px;
}
.process-list div { margin-top:36px; }

.trust-card {
  padding:42px;
  gap:36px;
  color:#f8eefc;
  background:
    linear-gradient(135deg, rgba(240,171,252,.16), rgba(139,92,246,.08)),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    var(--surface);
}
.trust-card::after { opacity:.15; }
.trust-card .section-kicker { color:var(--accent); }
.trust-copy p { color:var(--muted); }
.trust-grid {
  border-color:rgba(255,255,255,.12);
  background:rgba(0,0,0,.16);
}
.trust-grid div {
  min-height:108px;
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.09);
}
.trust-grid div::before { background:var(--accent); }
.trust-grid strong { color:#fff; }
.trust-grid span { color:#d5ccd9; }

.comparison-table > div {
  min-height:58px;
}
.comparison-table .comparison-head {
  min-height:48px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.review-context {
  display:inline-flex;
  margin-top:12px;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  color:var(--accent);
  background:rgba(255,255,255,.035);
  font-size:12px;
  font-weight:800;
}
blockquote p { min-height:92px; }

.form-wrap {
  padding:54px;
  grid-template-columns:.82fr 1.18fr;
  gap:54px;
}
.form-intro h2 { margin-bottom:10px; }
form { gap:15px; }
.faq-grid { gap:12px; }
.faq-grid summary { padding-top:17px; padding-bottom:17px; }
.faq-grid details p { padding-bottom:18px; }

/* Variant language split */
.variant-a {
  --shadow-card:0 22px 58px rgba(236,72,153,.16);
  --shadow-soft:0 12px 32px rgba(0,0,0,.22);
}
.variant-a .hero-price {
  border-color:rgba(236,72,153,.28);
  background:linear-gradient(90deg, rgba(236,72,153,.14), rgba(139,92,246,.09));
}
.variant-a .quick-strip {
  background:rgba(255,255,255,.045);
}
.variant-a .quick-strip div {
  background:rgba(236,72,153,.06);
}
.variant-a .service-card::before,
.variant-a .trust-card::after {
  opacity:.10;
}

.variant-b {
  --shadow-card:0 26px 70px rgba(112,45,61,.23);
  --shadow-soft:0 16px 42px rgba(55,21,31,.25);
}
.variant-b body,
.variant-b {
  letter-spacing:-.015em;
}
.variant-b .button.primary {
  background:linear-gradient(110deg,#e06f7a,#b95e78);
}
.variant-b .hero-price {
  border-color:rgba(255,211,189,.22);
  background:rgba(255,211,189,.055);
}
.variant-b .quick-strip {
  border-radius:26px;
  background:rgba(255,211,189,.04);
}
.variant-b .quick-strip div {
  border-radius:999px;
  background:rgba(255,211,189,.045);
}
.variant-b .quick-strip div::before {
  border-radius:50%;
  background:linear-gradient(135deg,#df6b75,#ffd3bd);
}
.variant-b .service-card,
.variant-b blockquote,
.variant-b .faq-grid details {
  border-radius:28px;
}
.variant-b .trust-card {
  color:#fff8f1;
  background:
    radial-gradient(circle at 80% 10%, rgba(255,211,189,.20), transparent 32%),
    linear-gradient(135deg, rgba(223,107,117,.13), rgba(157,80,110,.07)),
    var(--surface);
}

.variant-c {
  --shadow-card:0 24px 70px rgba(0,0,0,.34);
  --shadow-soft:0 14px 42px rgba(0,0,0,.28);
}
.variant-c .hero-price,
.variant-c .quick-strip,
.variant-c .service-card,
.variant-c .mood-panel,
.variant-c .comparison-table,
.variant-c .form-wrap,
.variant-c .faq-grid details {
  border-color:rgba(231,213,155,.20);
}
.variant-c .quick-strip div,
.variant-c .service-card,
.variant-c blockquote,
.variant-c .faq-grid details {
  background:linear-gradient(180deg, rgba(231,213,155,.055), rgba(255,255,255,.015)), var(--surface);
}
.variant-c .quick-strip div::before {
  color:#171710;
  background:linear-gradient(135deg,#e7d59b,#9f824d);
}
.variant-c .trust-card {
  color:#f5f3e8;
  background:
    linear-gradient(135deg, rgba(231,213,155,.12), rgba(111,122,104,.08)),
    var(--surface);
}
.variant-c .trust-grid {
  border-radius:4px;
}

/* Structure-specific behavior */
.structure-a .hero {
  min-height:620px;
}
.structure-a .quick-strip {
  box-shadow:none;
}
.structure-a .hero-copy {
  max-width:690px;
}
.structure-a .price {
  padding-top:54px;
}

.structure-b .hero {
  min-height:820px;
  padding-top:48px;
  padding-bottom:54px;
  gap:18px;
}
.structure-b .hero-lead {
  line-height:1.72;
}
.structure-b .hero-visual {
  min-height:330px;
}
.structure-b .phone-card {
  width:min(560px,76%);
}
.structure-b .photo-placeholder {
  height:240px;
}
.structure-b .hero-price {
  margin-left:auto;
  margin-right:auto;
}
.structure-b .quick-strip {
  margin-top:-20px;
}

.structure-c .hero {
  min-height:610px;
}
.structure-c .hero-visual {
  min-height:380px;
}
.structure-c .phone-card {
  width:min(320px,84%);
}
.structure-c .photo-placeholder {
  height:250px;
}
.structure-c .trust {
  padding-top:34px;
}
.structure-c .trust-card {
  grid-template-columns:.9fr 1.1fr;
  border-radius:14px;
}
.structure-c .comparison-table {
  border-radius:12px;
}

@media (max-width: 980px) {
  .section-pad { padding:64px 0; }
  .hero {
    min-height:auto;
    padding-top:34px;
    padding-bottom:42px;
    gap:18px;
  }
  .hero-price {
    width:min(560px,100%);
    margin-left:auto;
    margin-right:auto;
  }
  .hero-visual {
    min-height:380px;
  }
  .phone-card {
    width:min(420px,74%);
  }
  .photo-placeholder {
    height:245px;
  }
  .floating-card {
    min-width:138px;
  }
  .quick-strip {
    width:calc(100% - 30px);
    grid-template-columns:repeat(4,1fr);
  }
  .quick-strip div {
    min-height:54px;
    grid-template-columns:30px 1fr;
  }
  .quick-strip div:nth-child(-n+2) {
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .structure-b .hero {
    padding-bottom:38px;
  }
  .structure-b .hero-visual {
    min-height:330px;
  }
  .structure-b .phone-card {
    width:min(420px,76%);
  }
  .structure-b .quick-strip {
    margin-top:0;
  }
  .structure-c .hero-visual {
    min-height:360px;
  }
  .trust-card,
  .price-panel,
  .form-wrap {
    padding:42px;
  }
}

/* Quality v2.3: final numeric target pass */
@media (min-width: 601px) and (max-width: 980px) {
  h1 {
    font-size:clamp(38px,5vw,48px);
  }
  .hero-lead {
    font-size:15px;
    line-height:1.48;
  }
  .hero-visual,
  .structure-b .hero-visual,
  .structure-c .hero-visual {
    min-height:230px;
  }
  .phone-card,
  .structure-b .phone-card,
  .structure-c .phone-card {
    width:min(318px,60%);
  }
  .photo-placeholder,
  .structure-b .photo-placeholder,
  .structure-c .photo-placeholder {
    height:150px;
  }
  .card-body {
    padding-top:9px;
    padding-bottom:7px;
  }
  .card-body h3 {
    font-size:17px;
  }
  .card-body p {
    font-size:12px;
    line-height:1.4;
  }
  .floating-card {
    min-width:116px;
    padding:7px 10px;
  }
}

@media (max-width: 600px) {
  .structure-b .narrative-points {
    display:none;
  }
}

/* Process numbering alignment fix */
.process-list li {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:22px;
}
.process-list li::before {
  content:none;
}
.process-list li:last-child {
  border-right:1px solid var(--line);
}
.process-list > li > span {
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  flex:0 0 46px;
  position:relative;
  z-index:1;
  border:1px solid rgba(236,72,153,.16);
  border-radius:16px;
  color:var(--primary);
  background:linear-gradient(135deg, rgba(236,72,153,.24), rgba(139,92,246,.18));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  font-size:13px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.02em;
}
.process-list div {
  margin-top:0;
}
.variant-b .process-list > li > span {
  border-color:rgba(255,211,189,.22);
  background:linear-gradient(135deg, rgba(223,107,117,.26), rgba(255,211,189,.18));
}
.variant-c .process-list > li > span {
  border-color:rgba(231,213,155,.24);
  color:#e7d59b;
  background:linear-gradient(135deg, rgba(231,213,155,.18), rgba(111,122,104,.14));
}

@media (max-width: 600px) {
  .process-list li,
  .process-list li:nth-child(2n) {
    display:grid;
    grid-template-columns:48px 1fr;
    align-items:center;
    justify-items:start;
    gap:14px;
  }
  .process-list > li > span {
    width:42px;
    height:42px;
    flex-basis:42px;
    grid-column:1;
    grid-row:1;
    justify-self:start;
    border-radius:14px;
  }
  .process-list li div {
    grid-column:2;
    grid-row:1;
  }
  .process-list li::after {
    top:50%;
    transform:translateY(-50%);
  }
}

@media (max-width: 600px) {
  .mood-chips {
    margin-bottom:24px;
  }
  .mood-chips button {
    min-height:42px;
    padding:9px 13px;
    font-size:13px;
  }
  .mood-visuals {
    grid-template-columns:1fr;
  }
  .mood-shot,
  .mood-shot:first-child {
    grid-column:auto;
    height:auto;
    min-height:220px;
    padding:22px;
  }
  .mood-shot strong {
    max-width:none;
    font-size:18px;
  }
  .mood-shot p {
    max-width:none;
    font-size:13px;
  }
  .mood-shot em {
    font-size:12px;
    line-height:1.45;
  }
}

@media (max-width: 600px) {
    .photo-need,
  .mood-shot .mood-photo,
  .required-photo strong {
    width:100%;
    max-width:100%;
    white-space:normal;
  }
}

/* Real image overrides: keep selected assets above variant placeholder backgrounds */
.photo-placeholder.has-real-image,
.required-photo.has-real-image,
.mood-shot.has-real-image {
  background-image:var(--image-url) !important;
  background-size:cover !important;
  background-position:center 38% !important;
  background-clip:padding-box;
  isolation:isolate;
}
.photo-placeholder.has-real-image::before,
.required-photo.has-real-image::before,
.mood-shot.has-real-image::before {
  display:none !important;
}
.photo-placeholder.has-real-image::after,
.required-photo.has-real-image::after,
.mood-shot.has-real-image::after {
  content:"";
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  left:0;
  top:0;
  right:0;
  bottom:0;
  transform:none;
  display:block !important;
  border-radius:inherit;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(180deg, rgba(5,4,9,.10) 0%, rgba(5,4,9,.16) 36%, rgba(5,4,9,.58) 100%),
    radial-gradient(circle at 50% 10%, rgba(255,255,255,.10), transparent 42%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.055),
    inset 0 -96px 92px rgba(0,0,0,.42);
}
.photo-placeholder.has-real-image {
  box-shadow:0 18px 46px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.05);
}
.photo-placeholder.has-real-image::after {
  background:
    linear-gradient(180deg, rgba(5,4,9,.02) 0%, rgba(5,4,9,.10) 48%, rgba(5,4,9,.42) 100%),
    radial-gradient(circle at 50% 10%, rgba(255,255,255,.09), transparent 44%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    inset 0 -74px 72px rgba(0,0,0,.28);
}
.required-photo.has-real-image {
  background-position:center 34% !important;
  box-shadow:var(--shadow-card), inset 0 0 0 1px rgba(255,255,255,.055);
}
.required-photo.has-real-image::after {
  background:
    linear-gradient(180deg, rgba(5,4,9,.04) 0%, rgba(5,4,9,.12) 46%, rgba(5,4,9,.50) 100%),
    radial-gradient(circle at 50% 8%, rgba(255,255,255,.08), transparent 42%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.055),
    inset 0 -88px 86px rgba(0,0,0,.34);
}
.mood-shot.has-real-image {
  background-position:center 36% !important;
  box-shadow:0 18px 42px rgba(0,0,0,.20), inset 0 0 0 1px rgba(255,255,255,.035);
}
.mood-shot.has-real-image::after {
  background:
    linear-gradient(180deg, rgba(5,4,9,.08) 0%, rgba(5,4,9,.12) 32%, rgba(5,4,9,.40) 62%, rgba(5,4,9,.76) 100%),
    radial-gradient(ellipse at 50% 6%, rgba(255,255,255,.12), transparent 36%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.055),
    inset 0 -112px 92px rgba(0,0,0,.54);
}
.mood-shot span,
.mood-shot strong,
.mood-shot p,
.mood-shot em,
.mood-shot button {
  z-index:2;
}
.mood-shot.has-real-image strong,
.mood-shot.has-real-image p,
.mood-shot.has-real-image em,
.mood-shot.has-real-image button {
  text-shadow:0 2px 10px rgba(0,0,0,.82), 0 0 24px rgba(0,0,0,.55);
}
.mood-shot.has-real-image strong {
  max-width:14.5em;
}
.mood-shot.has-real-image p {
  color:rgba(255,255,255,.86);
}
.mood-shot.has-real-image em {
  color:#ffb7e0;
}
.mood-shot.has-real-image button {
  border-color:rgba(255,255,255,.24);
  background:rgba(10,9,14,.46);
  backdrop-filter:blur(8px);
}
/* Quality v2.2: structure-B and trust entry refinement */
.structure-b .hero {
  min-height:700px;
  grid-template-columns:.95fr 1.05fr;
  text-align:left;
  align-items:center;
}
.structure-b .hero-copy {
  max-width:640px;
  margin:0;
}
.structure-b .hero-lead {
  margin-left:0;
  margin-right:0;
}
.structure-b .hero-price,
.structure-b .hero-actions,
.structure-b .hero-proof {
  justify-content:flex-start;
}
.structure-b .hero-visual {
  min-height:360px;
}
.structure-b .phone-card {
  width:min(440px,82%);
}
.structure-b .photo-placeholder {
  height:260px;
}
.structure-c .trust-card {
  padding:34px;
  gap:26px;
}
.structure-c .trust-grid div {
  min-height:96px;
}

@media (max-width: 980px) {
  .hero {
    padding-top:20px;
    padding-bottom:24px;
  }
  .hero-visual,
  .structure-c .hero-visual {
    min-height:280px;
  }
  .photo-placeholder,
  .structure-c .photo-placeholder {
    height:190px;
  }
  .structure-b .hero {
    grid-template-columns:1fr;
    text-align:center;
    padding-top:20px;
    padding-bottom:30px;
  }
  .structure-b .hero-copy {
    max-width:820px;
    margin:0 auto;
  }
  .structure-b .hero-lead {
    margin-left:auto;
    margin-right:auto;
  }
  .structure-b .hero-price,
  .structure-b .hero-actions,
  .structure-b .hero-proof {
    justify-content:center;
  }
  .structure-b .hero-visual {
    min-height:280px;
  }
  .structure-b .phone-card {
    width:min(350px,68%);
  }
  .structure-b .photo-placeholder {
    height:190px;
  }
  .structure-b .narrative.section-pad {
    padding-top:28px;
    padding-bottom:28px;
  }
  .structure-b .required-photo {
    min-height:250px;
  }
  .structure-b .narrative-copy > p {
    font-size:14.5px;
    line-height:1.5;
  }
  .structure-b .narrative-points {
    margin:12px 0 14px;
  }
  .structure-c .trust {
    padding-top:22px;
    padding-bottom:44px;
  }
  .structure-c .trust-card {
    padding:32px;
    gap:22px;
  }
}

@media (max-width: 600px) {
  .hero {
    padding-top:18px;
    padding-bottom:14px;
  }
  .hero-visual,
  .structure-b .hero-visual,
  .structure-c .hero-visual {
    min-height:250px;
  }
  .photo-placeholder,
  .structure-b .photo-placeholder,
  .structure-c .photo-placeholder {
    height:136px;
  }
  .card-body {
    padding-top:8px;
    padding-bottom:6px;
  }
  .card-body p {
    line-height:1.42;
  }
  .structure-b .narrative.section-pad {
    padding-top:24px;
    padding-bottom:24px;
  }
  .structure-b .required-photo {
    min-height:178px;
    padding:16px;
  }
  .structure-b .required-photo strong {
    font-size:11px;
  }
  .structure-b .required-photo span {
    margin-top:8px;
    font-size:15px;
  }
  .structure-b .required-photo small {
    margin-top:6px;
    font-size:11px;
  }
  .structure-b .narrative-copy h2 {
    margin-top:6px;
  }
  .structure-b .narrative-copy > p {
    font-size:13px;
    line-height:1.48;
  }
  .structure-c .trust {
    padding-top:18px;
    padding-bottom:34px;
  }
  .structure-c .trust-card {
    padding:22px 18px;
    gap:16px;
  }
  .structure-c .trust-grid {
    gap:8px;
  }
  .structure-c .trust-grid div {
    min-height:82px;
    padding:12px;
  }
  .structure-c .trust-grid strong {
    font-size:20px;
  }
  .structure-c .trust-grid span {
    font-size:11px;
    line-height:1.4;
  }
}

@media (max-width: 600px) {
  .site-header {
    height:58px;
  }
  .brand-mark {
    width:30px;
    height:30px;
    border-radius:11px;
  }
  .brand b {
    font-size:14px;
  }
  .brand small {
    font-size:10px;
  }
  .header-cta {
    height:34px;
    font-size:11px;
  }
  .section-pad {
    padding:54px 0;
  }
  .hero {
    padding-top:30px;
    padding-bottom:24px;
    gap:14px;
  }
  h1 {
    margin:16px auto 12px;
    font-size:clamp(31px,9.2vw,36px);
    line-height:1.1;
  }
  .eyebrow {
    padding:7px 10px;
    font-size:11px;
  }
  .hero-lead {
    font-size:14px;
    line-height:1.62;
  }
  .hero-price {
    margin-top:14px;
    padding:10px 12px;
  }
  .hero-price strong {
    font-size:28px;
  }
  .old-price {
    font-size:13px;
  }
  .discount {
    padding:5px 8px;
    font-size:11px;
  }
  .hero-actions {
    margin-top:12px;
    gap:8px;
  }
  .button {
    min-height:48px;
    border-radius:12px;
  }
  .button.secondary {
    min-height:44px;
    opacity:.88;
  }
  .microcopy {
    font-size:12px;
  }
  .hero-proof {
    margin-top:12px;
  }
  .hero-proof span {
    min-height:34px;
    padding:6px 10px;
  }
  .hero-visual {
    min-height:310px;
  }
  .phone-card {
    width:min(286px,78%);
    padding:8px;
    border-radius:22px;
  }
  .phone-card::before {
    top:10px;
    width:56px;
    height:4px;
  }
  .photo-placeholder {
    height:170px;
    padding:16px;
    border-radius:15px;
  }
  .photo-placeholder::before {
    width:118px;
    height:118px;
    top:42px;
  }
  .photo-placeholder::after {
    width:150px;
    height:174px;
    bottom:-46px;
  }
  .photo-placeholder span {
    font-size:11px;
    line-height:1.45;
  }
  .photo-need {
    max-width:210px;
    padding:9px 10px;
  }
  .card-body {
    padding:11px 10px 8px;
  }
  .card-body h3 {
    font-size:17px;
  }
  .card-body p {
    font-size:12px;
  }
  .floating-card {
    min-width:112px;
    padding:8px 10px;
    border-radius:12px;
  }
  .floating-card b {
    font-size:15px;
  }
  .floating-card span {
    font-size:11px;
  }
  .floating-one {
    left:4px;
    top:34%;
  }
  .floating-two {
    right:4px;
    bottom:18%;
  }
  .quick-strip {
    width:calc(100% - 18px);
    padding:8px;
    grid-template-columns:1fr;
    gap:8px;
  }
  .quick-strip div {
    min-height:44px;
    padding:8px 10px;
    grid-template-columns:28px 1fr;
    border-bottom:0;
  }
  .quick-strip div::before {
    width:28px;
    height:28px;
    border-radius:9px;
  }
  .quick-strip span {
    font-size:13px;
  }
  .structure-a .hero,
  .structure-b .hero,
  .structure-c .hero {
    min-height:auto;
  }
  .structure-b .hero-visual,
  .structure-c .hero-visual {
    min-height:310px;
  }
  .structure-b .phone-card,
  .structure-c .phone-card {
    width:min(286px,78%);
    grid-template-columns:1fr;
  }
  .structure-b .photo-placeholder,
  .structure-c .photo-placeholder {
    height:170px;
  }
  .structure-b .card-body {
    text-align:left;
  }
  .mobile-conversion-bar {
    min-height:62px;
    grid-template-columns:1fr 132px;
    padding:8px 10px;
  }
  .mobile-conversion-bar strong {
    font-size:16px;
  }
  .mobile-conversion-bar .button {
    min-height:42px;
    font-size:13px;
  }
  .service-card {
    min-height:250px;
    padding:24px;
  }
  .service-icon {
    margin-bottom:26px;
  }
  .service-card p {
    min-height:auto;
  }
  .trust-card,
  .price-panel,
  .form-wrap,
  .mood-panel {
    padding:26px 20px;
  }
  .trust-grid div {
    min-height:92px;
    padding:14px;
  }
  .comparison-table > div {
    padding:14px;
    gap:7px 12px;
  }
  blockquote {
    padding:24px;
  }
  blockquote p {
    min-height:auto;
  }
  .form-wrap {
    gap:30px;
  }
}

/* Quality v2.1: acceptance-target tightening */
@media (max-width: 980px) {
  .hero {
    padding-top:24px;
    padding-bottom:30px;
    gap:14px;
  }
  h1 {
    margin-top:18px;
    margin-bottom:12px;
  }
  .hero-lead {
    line-height:1.58;
  }
  .hero-price {
    margin-top:14px;
    padding:10px 12px;
  }
  .hero-actions {
    margin-top:12px;
  }
  .hero-proof {
    margin-top:12px;
    gap:8px;
  }
  .hero-proof span {
    min-height:32px;
    padding:6px 9px;
  }
  .hero-visual,
  .structure-c .hero-visual {
    min-height:300px;
  }
  .phone-card,
  .structure-c .phone-card {
    width:min(350px,68%);
  }
  .photo-placeholder,
  .structure-c .photo-placeholder {
    height:205px;
  }
  .floating-card {
    padding:9px 12px;
  }
  .section-pad {
    padding-top:54px;
    padding-bottom:54px;
  }
  .structure-b .narrative.section-pad {
    padding-top:38px;
    padding-bottom:38px;
  }
  .structure-b .narrative-grid {
    gap:24px;
  }
  .structure-b .required-photo {
    min-height:300px;
    padding:24px;
  }
  .structure-b .required-photo::before {
    width:160px;
    height:210px;
  }
  .structure-b .narrative-copy h2 {
    margin-top:10px;
    margin-bottom:12px;
    font-size:clamp(32px,5vw,42px);
  }
  .structure-b .narrative-copy > p {
    max-width:44em;
    line-height:1.62;
  }
  .structure-b .narrative-points {
    margin:16px 0 18px;
    grid-template-columns:1fr 1fr;
    gap:8px 14px;
  }
  .structure-b .narrative-points li {
    font-size:13px;
    line-height:1.48;
  }
}

@media (max-width: 600px) {
  .section-pad {
    padding-top:44px;
    padding-bottom:44px;
  }
  .hero {
    padding-top:22px;
    padding-bottom:18px;
    gap:10px;
  }
  h1 {
    margin-top:12px;
    margin-bottom:9px;
    font-size:clamp(29px,8.9vw,34px);
  }
  .hero-lead {
    font-size:13.5px;
    line-height:1.52;
  }
  .hero-price {
    margin-top:10px;
    padding:9px 10px;
    gap:7px;
  }
  .hero-price strong {
    font-size:26px;
  }
  .hero-actions {
    margin-top:9px;
  }
  .button {
    min-height:44px;
  }
  .button.secondary {
    min-height:40px;
  }
  .microcopy {
    margin-top:6px;
    font-size:11px;
  }
  .hero-proof {
    margin-top:8px;
    gap:6px;
  }
  .hero-proof span {
    min-height:30px;
    padding:5px 8px;
    font-size:11px;
  }
  .hero-visual,
  .structure-b .hero-visual,
  .structure-c .hero-visual {
    min-height:270px;
  }
  .phone-card,
  .structure-b .phone-card,
  .structure-c .phone-card {
    width:min(260px,74%);
  }
  .photo-placeholder,
  .structure-b .photo-placeholder,
  .structure-c .photo-placeholder {
    height:150px;
  }
  .photo-placeholder::before {
    width:102px;
    height:102px;
    top:38px;
  }
  .photo-placeholder::after {
    width:132px;
    height:154px;
    bottom:-42px;
  }
  .card-body h3 {
    font-size:16px;
  }
  .floating-card {
    min-width:104px;
    padding:7px 9px;
  }
  .floating-one {
    top:32%;
  }
  .floating-two {
    bottom:16%;
  }
  .quick-strip {
    padding:7px;
    gap:6px;
  }
  .quick-strip div {
    min-height:40px;
    padding:7px 9px;
  }
  .structure-b .narrative.section-pad {
    padding-top:30px;
    padding-bottom:30px;
  }
  .structure-b .narrative-grid {
    gap:18px;
  }
  .structure-b .required-photo {
    min-height:210px;
    padding:18px;
    border-radius:20px;
  }
  .structure-b .required-photo::before {
    width:118px;
    height:160px;
    right:6%;
  }
  .structure-b .required-photo span {
    font-size:16px;
    line-height:1.35;
  }
  .structure-b .required-photo small {
    font-size:12px;
    line-height:1.45;
  }
  .structure-b .narrative-copy h2 {
    font-size:clamp(27px,8vw,32px);
    margin-bottom:9px;
  }
  .structure-b .narrative-copy > p {
    font-size:13.5px;
    line-height:1.55;
  }
  .structure-b .narrative-points {
    margin:12px 0 14px;
    grid-template-columns:1fr;
    gap:6px;
  }
  .structure-b .narrative-points li {
    font-size:12.5px;
  }
}

/* Alignment pass: structure-B desktop rhythm */
@media (min-width: 981px) {
  .structure-b .hero {
    min-height:640px;
    padding-top:42px;
    padding-bottom:42px;
  }
  .structure-b .hero-copy {
    align-self:center;
  }
  .structure-b .hero-visual {
    min-height:340px;
    align-self:center;
  }
  .structure-b .narrative.section-pad {
    padding-top:72px;
    padding-bottom:104px;
  }
  .structure-b .narrative-grid {
    align-items:start;
  }
  .structure-b .narrative-copy {
    padding-top:16px;
  }
  .structure-b .required-photo {
    min-height:520px;
  }
}
/* Mobile form UX fix: keep love profile form readable as a single-column flow */
@media (max-width: 600px) {
  .form-section.section-pad {
    width:calc(100% - 16px);
    padding-top:46px;
    padding-bottom:92px;
  }
  .form-wrap {
    width:100%;
    display:grid;
    grid-template-columns:minmax(0, 1fr) !important;
    gap:24px !important;
    padding:24px 16px 26px !important;
    border-radius:24px;
  }
  .form-intro {
    min-width:0;
  }
  .form-intro h2 {
    max-width:100%;
    margin:10px 0 10px;
    font-size:clamp(28px, 9vw, 34px);
    line-height:1.13;
    letter-spacing:-.055em;
  }
  .form-intro p {
    max-width:100%;
    font-size:14px;
    line-height:1.62;
  }
  .contact-note {
    margin-top:18px;
    padding:16px 16px 16px 18px;
    border-radius:14px;
  }
  .contact-note b {
    font-size:17px;
    line-height:1.45;
  }
  .direct-contact {
    margin-top:12px;
    gap:7px;
  }
  .direct-contact-button {
    width:100%;
    min-height:48px;
    padding:0 14px;
    border-radius:14px;
    font-size:14px;
  }
  .direct-contact small {
    font-size:11.5px;
  }
  #requestForm {
    min-width:0;
    gap:14px;
  }
  #requestForm label {
    min-width:0;
  }
  label > span {
    margin-bottom:7px;
    font-size:13px;
    line-height:1.35;
  }
  .field-row {
    grid-template-columns:minmax(0, 1fr) !important;
    gap:14px;
  }
  input,
  select,
  textarea {
    max-width:100%;
    border-radius:14px;
    font-size:16px;
  }
  input,
  select {
    height:50px;
    padding:0 13px;
  }
  textarea {
    min-height:112px;
    padding:13px;
    line-height:1.58;
  }
  #requestForm .checkbox {
    margin-top:2px;
  }
  #requestForm .button.full {
    min-height:54px;
    margin-top:2px;
    font-size:15px;
  }
  .form-help {
    padding:0 4px;
    font-size:11.5px;
    text-align:left;
  }
}
/* Mobile horizontal breathing room pass: prevent edge-hugging cards and CTAs */
@media (max-width: 600px) {
  .button,
  .header-cta,
  .direct-contact-button {
    text-decoration:none;
  }
  .section-pad,
  .structure-a .section-pad,
  .structure-b .section-pad,
  .structure-c .section-pad {
    width:calc(100% - 28px);
  }
  .faq.section-pad,
  .form-section.section-pad {
    width:calc(100% - 28px);
  }
  .faq-grid details {
    border-radius:16px;
  }
  .faq-grid summary {
    padding-left:18px;
    padding-right:46px;
    font-size:15px;
  }
  .faq-grid details p {
    padding-left:18px;
    padding-right:18px;
  }
  .final-cta.section-pad {
    width:calc(100% - 28px);
    margin-left:auto;
    margin-right:auto;
    padding:42px 20px !important;
    border-radius:24px;
    overflow:hidden;
  }
  .final-cta h2 {
    max-width:100%;
    font-size:clamp(27px, 8.2vw, 32px);
    line-height:1.18;
    word-break:keep-all;
  }
  .final-cta p {
    font-size:13px;
    line-height:1.6;
  }
  .final-cta .button {
    width:100%;
    min-height:50px;
    padding:0 14px;
    border-radius:15px;
    white-space:normal;
    text-align:center;
  }
  .site-footer {
    width:calc(100% - 44px) !important;
    padding-top:48px;
    padding-bottom:124px;
  }
  .site-footer div,
  .site-footer > p {
    padding-left:2px;
    padding-right:2px;
  }
  .mobile-conversion-bar {
    padding-left:16px !important;
    padding-right:16px !important;
    grid-template-columns:minmax(0, 1fr) minmax(132px, 148px) !important;
  }
  .mobile-conversion-bar .button {
    border-radius:13px;
    text-decoration:none;
    white-space:nowrap;
  }
}
/* Mobile trust card UX fix: prevent copy/report grid from squeezing each other */
@media (max-width: 600px) {
  .trust.section-pad,
  .structure-c .trust.section-pad {
    width:calc(100% - 28px);
    padding-top:40px;
    padding-bottom:44px;
  }
  .trust-card,
  .structure-c .trust-card {
    width:100%;
    display:grid;
    grid-template-columns:minmax(0, 1fr) !important;
    gap:22px !important;
    padding:26px 18px !important;
    border-radius:24px;
  }
  .variant-c .trust-card {
    border-radius:14px;
  }
  .trust-card::after {
    width:260px;
    height:260px;
    right:-130px;
    top:-96px;
    opacity:.12;
  }
  .trust-copy {
    min-width:0;
  }
  .trust-copy h2,
  .structure-c .trust-copy h2 {
    max-width:100%;
    margin:10px 0 10px;
    font-size:clamp(28px, 8.6vw, 34px);
    line-height:1.14;
    word-break:keep-all;
  }
  .trust-copy p {
    max-width:100%;
    font-size:14px;
    line-height:1.62;
  }
  .trust-grid,
  .structure-c .trust-grid {
    width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
    border:0;
    border-radius:0;
    overflow:visible;
  }
  .trust-grid div,
  .structure-c .trust-grid div {
    min-width:0;
    min-height:96px;
    padding:14px 12px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:16px;
    background:rgba(255,255,255,.12);
  }
  .trust-grid div::before {
    width:24px;
    height:3px;
    margin-bottom:12px;
  }
  .trust-grid strong,
  .structure-c .trust-grid strong {
    font-size:23px;
    line-height:1.05;
  }
  .trust-grid span,
  .structure-c .trust-grid span {
    margin-top:7px;
    font-size:12px;
    line-height:1.42;
    word-break:keep-all;
  }
}
/* Tablet/mobile mood cards: separate image area and copy panel for readability */
@media (max-width: 980px) {
  .mood-panel {
    padding:34px 28px;
    border-radius:28px;
  }
  .mood-visuals {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
  }
  .mood-shot,
  .mood-shot:first-child {
    grid-column:auto;
    min-height:0;
    height:360px;
    justify-content:flex-end;
    gap:6px;
    padding:0;
    border-radius:22px;
    background-position:center 30% !important;
    box-shadow:0 18px 42px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.04);
  }
  .mood-shot:first-child {
    grid-column:1 / -1;
    height:340px;
  }
  .mood-shot.has-real-image::after {
    background:
      linear-gradient(180deg, rgba(5,4,9,.02) 0%, rgba(5,4,9,.06) 42%, rgba(5,4,9,.34) 66%, rgba(5,4,9,.72) 100%),
      linear-gradient(0deg, rgba(7,7,12,.72), rgba(7,7,12,.72)) bottom / 100% 45% no-repeat;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.055);
  }
  .mood-shot strong,
  .mood-shot p,
  .mood-shot em,
  .mood-shot button {
    width:calc(100% - 28px);
    margin-left:14px;
    margin-right:14px;
  }
  .mood-shot strong {
    max-width:none;
    margin-top:auto;
    font-size:18px;
    line-height:1.24;
  }
  .mood-shot p {
    max-width:none;
    font-size:12.5px;
    line-height:1.5;
  }
  .mood-shot em {
    font-size:11.5px;
    line-height:1.35;
  }
  .mood-shot button {
    width:auto;
    align-self:flex-start;
    margin-bottom:14px;
  }
}

@media (max-width: 600px) {
  .mood-panel {
    padding:26px 18px;
    border-radius:24px;
  }
  .mood-chips {
    gap:7px;
    margin-bottom:22px;
  }
  .mood-chips button {
    min-height:40px;
    padding:8px 12px;
    font-size:12.5px;
  }
  .mood-visuals {
    grid-template-columns:1fr;
    gap:14px;
  }
  .mood-shot,
  .mood-shot:first-child {
    grid-column:auto;
    height:390px;
    border-radius:20px;
  }
  .mood-shot.has-real-image::after {
    background:
      linear-gradient(180deg, rgba(5,4,9,.00) 0%, rgba(5,4,9,.06) 38%, rgba(5,4,9,.36) 61%, rgba(5,4,9,.78) 100%),
      linear-gradient(0deg, rgba(7,7,12,.76), rgba(7,7,12,.76)) bottom / 100% 43% no-repeat;
  }
  .mood-shot strong,
  .mood-shot p,
  .mood-shot em,
  .mood-shot button {
    width:calc(100% - 32px);
    margin-left:16px;
    margin-right:16px;
  }
  .mood-shot strong {
    font-size:19px;
  }
  .mood-shot p {
    font-size:13px;
  }
  .mood-shot em {
    font-size:12px;
  }
  .mood-shot button {
    width:auto;
    margin-bottom:16px;
  }
}
/* Responsive header nav restore: keep navigation visible on tablet/mobile */
@media (max-width: 980px) {
  .site-header {
    min-height:72px;
    height:auto;
    padding:12px 0;
    flex-wrap:wrap;
    gap:10px 14px;
  }
  .site-header nav {
    order:3;
    width:100%;
    display:flex !important;
    justify-content:center;
    gap:8px;
    margin:0;
  }
  .site-header nav a {
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:999px;
    background:rgba(255,255,255,.035);
    color:#d8d2df;
    font-size:12px;
    font-weight:800;
  }
  .header-cta {
    margin-left:auto;
    white-space:nowrap;
  }
}

@media (max-width: 600px) {
  .site-header {
    width:calc(100% - 20px) !important;
    min-height:88px;
    padding:10px 0 9px;
    gap:8px 10px;
  }
  .site-header nav {
    justify-content:flex-start;
    overflow-x:auto;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .site-header nav::-webkit-scrollbar {
    display:none;
  }
  .site-header nav a {
    flex:0 0 auto;
    min-height:32px;
    padding:0 12px;
    font-size:11.5px;
  }
  .header-cta {
    max-width:178px;
    padding:0 11px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}
/* Desktop header nav visibility reinforcement */
.site-header nav {
  display:flex !important;
  align-items:center;
  gap:10px;
  margin-left:auto;
  visibility:visible;
  opacity:1;
}
.site-header nav a {
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  color:#e8e2ed;
  background:rgba(255,255,255,.04);
  font-size:13px;
  font-weight:850;
}
.site-header nav a:hover {
  border-color:rgba(236,72,153,.38);
  color:#fff;
  background:rgba(236,72,153,.12);
}
/* Sticky header: keep primary navigation available while scrolling */
.site-header {
  position: sticky;
  top: 0;
  z-index: 18;
  padding-left: 0;
  padding-right: 0;
  background: rgba(8, 7, 12, .78);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 14px 42px rgba(0,0,0,.22);
}

[id] {
  scroll-margin-top: 108px;
}

@media (max-width: 980px) {
  .site-header {
    top: 0;
    z-index: 18;
  }
  [id] {
    scroll-margin-top: 132px;
  }
}

@media (max-width: 600px) {
  [id] {
    scroll-margin-top: 126px;
  }
}
/* Header readability reinforcement: stronger nav contrast on sticky glass background */
.site-header {
  background: rgba(8, 7, 12, .90);
  border-bottom-color: rgba(255,255,255,.14);
  box-shadow: 0 16px 48px rgba(0,0,0,.34);
}

.site-header nav a {
  border-color: rgba(255,255,255,.22);
  color: #fff;
  background: rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 8px 24px rgba(0,0,0,.18);
}

.site-header nav a:hover,
.site-header nav a:focus-visible {
  border-color: rgba(236,72,153,.70);
  color: #fff;
  background: linear-gradient(135deg, rgba(236,72,153,.34), rgba(139,92,246,.28));
  outline: none;
  transform: translateY(-1px);
}

.header-cta {
  border-color: rgba(255,255,255,.24);
  color:#fff;
  background: linear-gradient(135deg, rgba(236,72,153,.92), rgba(139,92,246,.92));
  box-shadow: 0 14px 34px rgba(236,72,153,.24), inset 0 1px 0 rgba(255,255,255,.20);
}

.header-cta:hover,
.header-cta:focus-visible {
  border-color: rgba(255,255,255,.34);
  filter: brightness(1.06);
  outline: none;
}

@media (max-width: 980px) {
  .site-header nav a {
    border-color: rgba(255,255,255,.22);
    color:#fff;
    background: rgba(255,255,255,.12);
  }
}

@media (max-width: 600px) {
  .site-header nav a {
    min-height:34px;
    background: rgba(255,255,255,.14);
  }
  .header-cta {
    min-height:38px;
    font-size:12px;
  }
}
/* Price card emphasis: make original price and discount visually stronger without changing copy */
.price-ticket .ticket-top {
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(236,72,153,.24);
  border-radius:16px;
  background:linear-gradient(135deg, rgba(236,72,153,.13), rgba(139,92,246,.09));
}

.price-ticket .ticket-top span {
  color:#f4c2e6;
  font-size:13px;
  font-weight:900;
  letter-spacing:.02em;
}

.price-ticket .ticket-top del {
  position:relative;
  color:#f7d8ee;
  font-size:20px;
  font-weight:950;
  letter-spacing:-.035em;
  text-decoration-thickness:2px;
  text-decoration-color:rgba(255,86,155,.95);
  text-shadow:0 0 18px rgba(236,72,153,.20);
}

.price-ticket .ticket-main {
  margin-top:18px;
}

.price-ticket .ticket-badge {
  width:max-content;
  max-width:100%;
  margin:10px 0 24px;
  padding:8px 12px;
  border:1px solid rgba(240,171,252,.38);
  border-radius:999px;
  color:#1a0714;
  background:linear-gradient(135deg, #f0abfc, #f9a8d4);
  box-shadow:0 12px 26px rgba(236,72,153,.18), inset 0 1px 0 rgba(255,255,255,.42);
  font-size:14px;
  font-weight:950;
}

@media (max-width: 600px) {
  .price-ticket .ticket-top {
    padding:10px 12px;
  }
  .price-ticket .ticket-top del {
    font-size:18px;
  }
  .price-ticket .ticket-badge {
    font-size:13px;
  }
}
/* Price ratio adjustment: original price should feel close enough to current price for discount perception */
.price-ticket .ticket-top {
  align-items:flex-end;
}

.price-ticket .ticket-top del {
  font-size:45px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.065em;
}

@media (max-width: 600px) {
  .price-ticket .ticket-top del {
    font-size:39px;
  }
}
/* Header CTA alignment: keep button text optically centered */
.header-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1;
  vertical-align:middle;
}
/* Price alignment refinement: center original-price label and keep hero price ratio */
.price-ticket .ticket-top {
  align-items:center;
}

.price-ticket .ticket-top span,
.price-ticket .ticket-top del {
  display:inline-flex;
  align-items:center;
  line-height:1;
}

.hero-price {
  align-items:center;
}

.hero-price .old-price {
  display:inline-flex;
  align-items:center;
  color:#f7d8ee;
  font-size:26px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.055em;
  text-decoration-thickness:2px;
  text-decoration-color:rgba(255,86,155,.95);
}

.hero-price strong {
  line-height:1;
}

@media (max-width: 600px) {
  .hero-price .old-price {
    font-size:21px;
  }
}
/* Hero price/action alignment: keep price box aligned with CTA buttons */
.structure-b .hero-price {
  margin-left:0;
  margin-right:0;
}

.hero-price {
  display:grid;
  grid-template-columns:auto auto auto;
  align-items:center;
  justify-content:flex-start;
  column-gap:12px;
  row-gap:8px;
}

.hero-price .old-price,
.hero-price strong,
.hero-price .discount {
  align-self:center;
}

.hero-price small {
  grid-column:1 / -1;
  justify-self:start;
}

@media (max-width: 600px) {
  .hero-price {
    grid-template-columns:auto auto;
    justify-content:center;
  }

  .hero-price .discount,
  .hero-price small {
    grid-column:1 / -1;
    justify-self:center;
  }
}
/* Image quality refinement: keep real photos crisp while preserving current copy/layout */
.photo-placeholder.has-real-image,
.required-photo.has-real-image,
.mood-shot.has-real-image {
  background-repeat:no-repeat !important;
  background-color:#0b0910;
  image-rendering:auto;
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
}

.photo-placeholder.has-real-image {
  background-size:cover !important;
  background-position:center 40% !important;
}

.required-photo.has-real-image {
  background-size:cover !important;
  background-position:center 36% !important;
}

.mood-shot.has-real-image {
  background-size:cover !important;
  background-position:center 34% !important;
}

.photo-placeholder.has-real-image::after {
  background:
    linear-gradient(180deg, rgba(5,4,9,.00) 0%, rgba(5,4,9,.07) 50%, rgba(5,4,9,.34) 100%),
    radial-gradient(circle at 50% 10%, rgba(255,255,255,.08), transparent 44%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.055),
    inset 0 -64px 68px rgba(0,0,0,.24);
}

.required-photo.has-real-image::after {
  background:
    linear-gradient(180deg, rgba(5,4,9,.02) 0%, rgba(5,4,9,.09) 48%, rgba(5,4,9,.42) 100%),
    radial-gradient(circle at 50% 8%, rgba(255,255,255,.07), transparent 42%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.055),
    inset 0 -78px 82px rgba(0,0,0,.30);
}

.mood-shot.has-real-image::after {
  background:
    linear-gradient(180deg, rgba(5,4,9,.04) 0%, rgba(5,4,9,.08) 30%, rgba(5,4,9,.32) 62%, rgba(5,4,9,.72) 100%),
    radial-gradient(ellipse at 50% 6%, rgba(255,255,255,.10), transparent 36%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.06),
    inset 0 -112px 96px rgba(0,0,0,.50);
}

@media (min-width: 981px) {
  .mood-shot.has-real-image {
    background-size:105% auto !important;
  }
}

@media (max-width: 980px) {
  .mood-shot.has-real-image,
  .required-photo.has-real-image {
    background-size:cover !important;
    background-position:center 32% !important;
  }
}

@media (max-width: 600px) {
  .photo-placeholder.has-real-image,
  .required-photo.has-real-image,
  .mood-shot.has-real-image {
    background-size:cover !important;
    background-position:center 30% !important;
  }
}
/* Mobile conversion bar price emphasis */
.mobile-conversion-bar .mobile-price {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  line-height:1.15;
}

.mobile-conversion-bar .mobile-price p {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:5px;
  margin:3px 0 0;
}

.mobile-conversion-bar .mobile-price del {
  color:rgba(247,216,238,.76);
  font-size:13px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
  text-decoration-thickness:2px;
  text-decoration-color:rgba(255,86,155,.95);
}

.mobile-conversion-bar .mobile-price strong {
  margin-top:0;
  color:#fff;
  font-size:19px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.055em;
}

@media (max-width: 600px) {
  .mobile-conversion-bar .mobile-price del {
    font-size:12px;
  }

  .mobile-conversion-bar .mobile-price strong {
    font-size:18px;
  }
}

/* Full-bleed top area refinement: keep content width, extend header/hero backgrounds to viewport edges */
.site-header {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: max(24px, calc((100vw - 1280px) / 2));
  padding-right: max(24px, calc((100vw - 1280px) / 2));
  background:
    linear-gradient(180deg, rgba(6,5,11,.92), rgba(6,5,11,.78));
  backdrop-filter: blur(16px);
}

.site-header::after {
  left: 0;
  right: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,.15), rgba(255,255,255,.06));
}

.hero {
  isolation: isolate;
  overflow: visible;
}

.hero::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -76px;
  width: 100vw;
  height: calc(100% + 76px);
  transform: translateX(-50%);
  border-radius: 0;
  background:
    radial-gradient(circle at 16% 18%, rgba(236,72,153,.18), transparent 31%),
    radial-gradient(circle at 84% 12%, rgba(139,92,246,.14), transparent 32%),
    linear-gradient(180deg, rgba(20,10,28,.98) 0%, rgba(42,14,45,.92) 46%, rgba(7,7,11,.98) 100%);
  pointer-events: none;
  z-index: -2;
}

.hero::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -76px;
  width: 100vw;
  height: calc(100% + 76px);
  transform: translateX(-50%);
  border-radius: 0;
  background:
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.055), transparent 38%);
  background-size: 38px 38px, 38px 38px, auto;
  mask-image: none;
  opacity: .42;
  pointer-events: none;
  z-index: -1;
}

@media (max-width: 980px) {
  .site-header {
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 600px) {
  .site-header {
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }

  .hero::before,
  .hero::after {
    top: -105px;
    height: calc(100% + 105px);
  }
}

/* Final full-bleed header override: keep mobile/tablet header background flush to viewport */
.site-header {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 980px) {
  .site-header {
    width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

@media (max-width: 600px) {
  .site-header {
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}