:root {
  --bg: #0d0b10;
  --panel: #151219;
  --panel-2: #19151f;
  --panel-3: #21182d;
  --border: rgba(255,255,255,.08);
  --border-strong: rgba(155,92,255,.42);
  --text: #f8f6fb;
  --muted: #9993a1;
  --purple: #8f3cff;
  --purple-light: #b87aff;
  --purple-dark: #5e18c8;
  --green: #70e0ad;
  --danger: #ff7b9b;
  --shadow: 0 24px 80px rgba(0,0,0,.3);
  --radius: 22px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  color: var(--text);
  background: var(--bg);
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.5;
}
button, input { font: inherit; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.ambient { position: fixed; border-radius: 50%; filter: blur(130px); pointer-events: none; z-index: -1; opacity: .12; }
.ambient-one { width: 420px; height: 420px; background: var(--purple); top: -210px; left: 20%; }
.ambient-two { width: 380px; height: 380px; background: #7920dc; right: -200px; top: 45%; }
.scroll-direction-blur { position:fixed; left:0; right:0; height:76px; z-index:18; pointer-events:none; opacity:0; transition:opacity .22s ease; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.scroll-blur-top { top:74px; background:linear-gradient(to bottom,rgba(13,11,16,.58),transparent); mask-image:linear-gradient(to bottom,#000,transparent); }
.scroll-blur-bottom { bottom:0; background:linear-gradient(to top,rgba(13,11,16,.64),transparent); mask-image:linear-gradient(to top,#000,transparent); }
body.scrolling-up .scroll-blur-top, body.scrolling-down .scroll-blur-bottom { opacity:1; }

.topbar {
  height: 74px;
  padding: 0 clamp(20px, 4vw, 64px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border);
  background: rgba(13,11,16,.78);
  backdrop-filter: blur(20px);
  position: sticky;
  top: 0;
  z-index: 20;
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand > div:last-child { display: flex; flex-direction: column; line-height: 1.1; }
.brand strong { font: 800 18px/1 "Manrope", sans-serif; letter-spacing: -.02em; }
.brand small { color: var(--muted); font-size: 10px; margin-top: 5px; letter-spacing: .08em; text-transform: uppercase; }
.brand-mark { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; position: relative; overflow: hidden; background: linear-gradient(145deg,#9e4fff,#5d16c7); box-shadow: 0 8px 24px rgba(143,60,255,.25); }
.brand-mark::after { content:""; position:absolute; width:24px; height:24px; background:rgba(255,255,255,.18); border-radius:50%; top:-9px; right:-6px; }
.brand-mark span { font: 800 18px "Manrope",sans-serif; }
.topbar-center { color: #c8c2ce; display: flex; align-items: center; gap: 8px; font-size: 13px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px var(--green); }
.icon-button { width: 40px; height: 40px; display: grid; place-items: center; padding:0; line-height:1; border-radius: 50%; background: var(--panel); border: 1px solid var(--border); cursor: pointer; transition: .2s; }
.icon-button:hover { border-color: var(--border-strong); color: var(--purple-light); }
.icon-button svg { width: 18px; }

.app-shell { width: min(1440px, calc(100% - 40px)); margin: 0 auto; padding: 64px 0 80px; display: grid; grid-template-columns: minmax(0,1.6fr) minmax(340px,.75fr); gap: 28px; align-items: start; }
.workspace { min-width: 0; }
.hero-copy { padding: 0 4px 30px; max-width: 760px; }
.eyebrow { margin: 0 0 12px; text-transform: uppercase; letter-spacing: .15em; font-size: 10px; font-weight: 700; color: var(--purple-light); }
.eyebrow span { display: inline-grid; place-items: center; width: 24px; height: 24px; border: 1px solid var(--border-strong); border-radius: 50%; margin-right: 8px; }
.hero-copy h1 { margin: 0; font: 700 clamp(34px,4vw,57px)/1.08 "Manrope",sans-serif; letter-spacing: -.055em; max-width: 750px; }
.hero-copy h1 em { font-style: normal; color: var(--purple-light); }
.hero-copy > p:last-child { color: var(--muted); max-width: 620px; margin: 18px 0 0; font-size: 16px; }

.step-card, .estimate-card { background: linear-gradient(145deg,rgba(24,20,29,.97),rgba(18,15,22,.97)); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: inset 0 1px 0 rgba(255,255,255,.02); }
.step-card { padding: clamp(20px,3vw,32px); margin-bottom: 18px; }
.step-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }
.step-number { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; background: rgba(143,60,255,.13); color: var(--purple-light); border: 1px solid rgba(143,60,255,.16); display: grid; place-items: center; padding:0; line-height:1; font: 700 13px "Manrope",sans-serif; }
.step-heading h2 { margin: 0 0 3px; font: 700 18px "Manrope",sans-serif; letter-spacing: -.02em; }
.step-heading p { margin: 0; color: var(--muted); font-size: 13px; }
.selected-count { margin-left: auto; color: var(--purple-light); background: rgba(143,60,255,.1); border-radius: 99px; padding: 6px 10px; font-size: 11px; font-weight: 700; }

.offer-selector { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.offer-option { position: relative; min-height: 82px; padding: 16px; display: flex; text-align: left; align-items: center; gap: 12px; border: 1px solid var(--border); border-radius: 15px; background: rgba(10,8,12,.34); cursor: pointer; transition: .22s ease; }
.offer-option:hover { transform: translateY(-2px); border-color: rgba(143,60,255,.3); }
.offer-option[aria-selected="true"] { border-color: var(--purple); background: linear-gradient(135deg,rgba(143,60,255,.2),rgba(143,60,255,.07)); box-shadow: 0 0 0 1px rgba(143,60,255,.13),0 12px 28px rgba(77,23,140,.16); }
.offer-option > span:nth-child(2) { display: flex; flex-direction: column; min-width: 0; }
.offer-option strong { font: 700 14px "Manrope",sans-serif; }
.offer-option small { color: var(--muted); font-size: 11px; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.offer-icon { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; background: rgba(143,60,255,.11); color: var(--purple-light); font-size: 17px; }
.offer-check { margin-left: auto; width: 18px; height: 18px; display: grid; place-items: center; padding:0; line-height:1; border-radius: 50%; color: transparent; background: rgba(255,255,255,.07); font-size: 10px; }
.offer-option[aria-selected="true"] .offer-check { background: var(--purple); color: #fff; }

.format-toolbar { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.search-field { position: relative; }
.search-field svg { position: absolute; left: 14px; top: 50%; translate: 0 -50%; width: 18px; color: #77717e; }
.search-field input, .modal label input { width: 100%; height: 46px; color: var(--text); background: rgba(7,6,9,.45); border: 1px solid var(--border); border-radius: 12px; outline: none; padding: 0 14px 0 44px; transition: .2s; }
.search-field input:focus, .modal label input:focus { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(143,60,255,.1); }
.search-field input::placeholder, .modal label input::placeholder { color: #716b76; }
.button { height: 46px; border: 0; border-radius: 999px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; line-height:1; font-weight: 700; font-size: 13px; cursor: pointer; transition: transform .2s,filter .2s,border-color .2s; }
.button:hover { transform: translateY(-1px); filter: brightness(1.08); }
.button-primary { color:#fff; background: linear-gradient(110deg,var(--purple-dark),var(--purple)); box-shadow: 0 10px 28px rgba(106,27,208,.23),inset 0 1px 0 rgba(255,255,255,.2); }
.button-ghost { background: rgba(143,60,255,.08); border: 1px solid rgba(143,60,255,.19); color: #d3b1ff; white-space: nowrap; }
.button-quiet { color: #bdb7c2; background: transparent; border: 1px solid var(--border); }
.button-wide { width: 100%; }
.category-pills { display: flex; gap: 8px; margin: 18px 0; overflow-x: auto; scrollbar-width: none; }
.category-pills::-webkit-scrollbar { display: none; }
.category-pill { border: 1px solid var(--border); background: transparent; color: var(--muted); border-radius: 99px; padding: 7px 12px; font-size: 11px; white-space: nowrap; cursor: pointer; }
.category-pill.active { background: #28202f; color: var(--text); border-color: rgba(255,255,255,.15); }
.format-catalog { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; max-height: 360px; overflow-y: auto; padding-right: 6px; scrollbar-color: #453b4b transparent; scrollbar-width: thin; }
.format-item { min-height: 62px; border: 1px solid var(--border); background: rgba(9,7,11,.32); border-radius: 12px; padding: 11px 12px; display: flex; gap: 11px; align-items: center; text-align: left; cursor: pointer; transition: .18s; }
.format-item:hover { background: rgba(143,60,255,.06); border-color: rgba(143,60,255,.3); }
.format-item.selected { border-color: rgba(143,60,255,.42); background: rgba(143,60,255,.1); }
.format-item-icon { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; color: #c18cff; background: #241a30; font-size: 14px; }
.format-item-text { min-width: 0; flex: 1; }
.format-item strong { display:block; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.format-item small { display:block; color: var(--muted); font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
.format-add { width: 22px; height: 22px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; padding:0 0 1px; line-height:1; border: 1px solid var(--border); color: var(--muted); font-size: 15px; }
.format-item.selected .format-add { color: #fff; border-color: var(--purple); background: var(--purple); }

.selected-list-head, .selected-row { display: grid; grid-template-columns: minmax(160px,1fr) 86px 130px 108px 34px; gap: 10px; align-items: center; }
.selected-list-head { color: #77717d; text-transform: uppercase; letter-spacing: .08em; font-size: 9px; padding: 0 8px 8px; }
.selected-list-head span:nth-child(n+2) { text-align: right; }
.selected-row { min-height: 66px; padding: 9px 8px; border-top: 1px solid var(--border); animation: row-in .3s ease both; }
@keyframes row-in { from { opacity:0; transform:translateY(5px); } }
.selected-row-name { min-width: 0; display:flex; align-items:center; gap:10px; }
.selected-row-name span:first-child { width:32px; height:32px; border-radius:9px; flex:0 0 auto; display:grid; place-items:center; color:#c18cff; background:#241a30; }
.selected-row-name strong { font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.number-field { height: 36px; color: var(--text); background: #100d13; border: 1px solid var(--border); border-radius: 9px; outline: none; padding: 0 9px; text-align: right; width: 100%; }
.number-field:focus { border-color: var(--purple); }
.money-input { position: relative; }
.money-input span { position:absolute; left:9px; top:50%; translate:0 -50%; color:#68616d; font-size:9px; }
.money-input input { padding-left:34px; }
.row-total { text-align:right; font-weight:700; font-size:12px; }
.remove-row { width: 30px; height: 30px; display:grid; place-items:center; padding:0 0 2px; line-height:1; border:0; border-radius:50%; background:transparent; color:#716a76; font-size:18px; cursor:pointer; }
.remove-row:hover { color:var(--danger); background:rgba(255,123,155,.08); }
.empty-state { padding: 38px 20px 28px; display:flex; flex-direction:column; align-items:center; text-align:center; color:var(--muted); }
.empty-state div { width:42px; height:42px; display:grid; place-items:center; padding:0 0 2px; line-height:1; border-radius:50%; background:rgba(143,60,255,.08); border:1px dashed rgba(143,60,255,.3); color:var(--purple-light); font-size:21px; margin-bottom:12px; }
.empty-state strong { color:#c9c3ce; font-size:13px; }
.empty-state span { font-size:11px; margin-top:3px; }

.estimate-card { position: sticky; top: 96px; min-height: 660px; overflow: hidden; }
.estimate-top { padding: 25px 25px 18px; display:flex; justify-content:space-between; align-items:flex-start; }
.estimate-top .eyebrow { color:var(--muted); margin-bottom:7px; }
.estimate-top h2 { margin:0; font:700 18px "Manrope",sans-serif; }
.currency-badge { padding: 5px 8px; background:#242029; border:1px solid var(--border); border-radius:7px; color:#ccc5d2; font-size:9px; font-weight:700; }
.price-display { margin: 0 16px; min-height: 140px; padding:25px 20px; border:1px solid rgba(143,60,255,.18); border-radius:17px; background:radial-gradient(circle at 50% 0,rgba(143,60,255,.27),transparent 68%),linear-gradient(145deg,#271a35,#1d1627); text-align:center; display:flex; flex-direction:column; justify-content:center; }
.price-display small { color:#a39ba8; font-size:10px; }
.price-display strong { font:800 clamp(29px,3vw,42px)/1.15 "Manrope",sans-serif; letter-spacing:-.045em; color:#b86aff; text-shadow:0 0 24px rgba(154,71,255,.25); margin:6px 0; overflow-wrap:anywhere; }
.price-display span { color:#8f8597; font-size:10px; }
.progress-section { padding:21px 25px 4px; }
.progress-label { display:flex; justify-content:space-between; color:#89828e; font-size:10px; margin-bottom:8px; }
.progress-track { height:4px; border-radius:5px; background:#2a252e; overflow:hidden; }
.progress-track div { width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--purple-dark),var(--purple-light)); transition:width .35s; }
.summary-breakdown { margin:18px 25px 0; padding:18px 0; border-top:1px dashed rgba(255,255,255,.09); border-bottom:1px dashed rgba(255,255,255,.09); display:grid; gap:11px; }
.summary-breakdown > div, .discount-row { display:flex; justify-content:space-between; align-items:center; color:#958e9b; font-size:11px; }
.summary-breakdown strong { color:#ddd7e1; font-size:11px; }
.percent-input { width:68px; position:relative; }
.percent-input input { width:100%; height:31px; padding:0 24px 0 8px; text-align:right; color:var(--text); background:#100d13; border:1px solid var(--border); border-radius:8px; outline:none; }
.percent-input input:focus { border-color:var(--purple); }
.percent-input b { position:absolute; right:9px; top:50%; translate:0 -50%; font-size:10px; color:var(--muted); }
.discount-value strong { color:var(--green); }
.recommendation { margin:18px 25px; display:flex; gap:10px; padding:12px; border-radius:11px; background:rgba(143,60,255,.07); border:1px solid rgba(143,60,255,.11); }
.recommendation-icon { color:var(--purple-light); }
.recommendation p { margin:0; color:#aaa2b0; font-size:10px; line-height:1.5; }
.recommendation strong { color:#d7d0dc; font-size:10px; }
.estimate-actions { padding:0 25px 25px; display:grid; gap:8px; }
.duplicate-help { margin:2px 10px 0; color:#77717d; font-size:10px; line-height:1.45; text-align:center; }
.mobile-summary { display:none; }

footer { border-top:1px solid var(--border); min-height:70px; padding:0 clamp(20px,4vw,64px); display:flex; align-items:center; justify-content:space-between; color:#6f6874; font-size:11px; }
footer a { color:#a59dac; }
footer strong { color:#d0cad5; }

.splash { position:fixed; inset:0; z-index:100; display:grid; place-items:center; background:#0d0b10; transition:opacity .65s,visibility .65s; overflow:hidden; }
.splash.hidden { opacity:0; visibility:hidden; pointer-events:none; }
.splash-glow { position:absolute; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(143,60,255,.25),rgba(143,60,255,.05) 38%,transparent 68%); animation:pulse 3s ease-in-out infinite; }
@keyframes pulse { 50% { scale:1.12; opacity:.72; } }
.splash-content { position:relative; z-index:1; text-align:center; max-width:560px; padding:30px; animation:splash-up .8s ease both; }
@keyframes splash-up { from { opacity:0; transform:translateY(18px); } }
.brand-mark-lg { width:70px; height:70px; border-radius:21px; margin:0 auto 27px; box-shadow:0 15px 40px rgba(143,60,255,.35); }
.brand-mark-lg span { font-size:31px; }
.splash h1 { margin:0; font:800 clamp(39px,6vw,66px)/1.08 "Manrope",sans-serif; letter-spacing:-.055em; }
.splash h1 span { color:var(--purple-light); }
.splash-content > p:not(.eyebrow) { color:var(--muted); font-size:16px; }
.splash-button { margin-top:22px; min-width:190px; }

.modal-backdrop { position:fixed; inset:0; z-index:60; background:rgba(5,4,7,.82); backdrop-filter:blur(12px); padding:24px; overflow:auto; }
.modal-backdrop:not([hidden]) { display:grid; place-items:center; animation:fade .2s ease; }
@keyframes fade { from { opacity:0; } }
.modal { width:min(480px,100%); position:relative; background:#17131b; border:1px solid rgba(255,255,255,.1); border-radius:22px; box-shadow:var(--shadow); animation:modal-up .28s ease; }
@keyframes modal-up { from { opacity:0; transform:translateY(14px) scale(.98); } }
.modal-close { width:36px; height:36px; display:grid; place-items:center; padding:0 0 3px; border:1px solid var(--border); border-radius:50%; background:#211d24; color:#aaa3ae; font-size:24px; line-height:1; cursor:pointer; }
.custom-dialog { padding:32px; }
.custom-dialog .modal-close { position:absolute; right:18px; top:18px; }
.custom-dialog h2 { margin:0 0 25px; font:700 24px "Manrope",sans-serif; }
.custom-dialog label { display:block; color:#aaa3ae; font-size:11px; margin-bottom:16px; }
.custom-dialog label input { display:block; padding-left:13px; margin-top:7px; }
.custom-dialog .button { margin-top:8px; }
.presentation-backdrop { align-items:start !important; }
.presentation-dialog { width:min(1180px,100%); margin:auto; padding:32px; background:radial-gradient(circle at 50% -20%,rgba(143,60,255,.17),transparent 45%),#121015; }
.presentation-header { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.presentation-actions { display:flex; align-items:center; gap:9px; }
.export-button { height:38px; padding:0 15px; font-size:11px; }
.export-button svg { width:15px; height:15px; }
.export-button:disabled { cursor:wait; opacity:.72; }
.presentation-intro { max-width:680px; margin:55px auto 35px; text-align:center; }
.presentation-intro h2 { margin:0; font:700 clamp(28px,4vw,44px)/1.12 "Manrope",sans-serif; letter-spacing:-.045em; }
.presentation-intro > p:last-child { color:var(--muted); }
.proposal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:stretch; }
.proposal-card { position:relative; padding:24px; border:1px solid var(--border); background:linear-gradient(145deg,#1a171e,#141117); border-radius:18px; display:flex; flex-direction:column; min-height:420px; }
.proposal-card.featured { border-color:var(--purple); background:radial-gradient(circle at 50% 0,rgba(143,60,255,.19),transparent 35%),linear-gradient(145deg,#21172c,#151119); transform:translateY(-8px); box-shadow:0 18px 55px rgba(70,18,131,.22); }
.popular-tag { position:absolute; top:-12px; left:50%; transform:translateX(-50%); border-radius:99px; padding:5px 11px; background:var(--purple); color:#fff; text-transform:uppercase; letter-spacing:.1em; font-size:8px; font-weight:800; white-space:nowrap; }
.proposal-tier { color:var(--purple-light); text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:700; }
.proposal-card h3 { margin:7px 0 4px; font:700 23px "Manrope",sans-serif; }
.proposal-tagline { color:var(--muted); font-size:11px; min-height:34px; }
.proposal-price { margin:20px 0; font:800 31px "Manrope",sans-serif; letter-spacing:-.04em; }
.proposal-price small { font:500 10px "DM Sans",sans-serif; color:var(--muted); display:block; letter-spacing:0; }
.proposal-formats { list-style:none; margin:0 0 20px; padding:17px 0; border-top:1px solid var(--border); display:grid; gap:9px; }
.proposal-formats li { position:relative; padding-left:21px; color:#b9b2bd; font-size:11px; }
.proposal-formats li::before { content:"✓"; position:absolute; left:0; color:var(--purple-light); font-weight:700; }
.proposal-formats li.more { color:#8b8490; }
.proposal-discount { margin-top:auto; padding-top:10px; color:var(--green); font-size:10px; }
.presentation-footer { display:flex; justify-content:space-between; gap:20px; margin-top:28px; padding-top:20px; border-top:1px solid var(--border); color:#716a76; font-size:9px; }
.presentation-footer a { color:#aaa3af; }
.toast { position:fixed; bottom:24px; left:50%; translate:-50% 20px; z-index:120; background:#f3eff7; color:#1c1720; border-radius:11px; padding:10px 16px; font-size:12px; font-weight:700; opacity:0; visibility:hidden; transition:.25s; box-shadow:0 12px 30px rgba(0,0,0,.3); }
.toast.visible { opacity:1; visibility:visible; translate:-50% 0; }

.reveal-on-scroll { opacity:0; transform:translateY(28px) scale(.985); filter:blur(8px); transition:opacity .65s ease,transform .65s cubic-bezier(.22,1,.36,1),filter .65s ease; }
.reveal-on-scroll.is-visible { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }

@media (max-width: 1040px) {
  .app-shell { grid-template-columns:1fr; max-width:820px; }
  .estimate-card { position:relative; top:auto; min-height:0; }
  .topbar-center { display:none; }
}
@media (max-width: 700px) {
  .topbar { height:64px; }
  .brand small { display:none; }
  .app-shell { width:min(100% - 24px,620px); padding:38px 0 110px; }
  .hero-copy h1 { font-size:36px; }
  .hero-copy > p:last-child { font-size:14px; }
  .step-card { padding:19px 16px; border-radius:18px; }
  .step-heading { align-items:flex-start; }
  .step-heading p { display:none; }
  .step-number { width:31px; height:31px; }
  .offer-selector { grid-template-columns:1fr; }
  .offer-option { min-height:68px; }
  .format-toolbar { grid-template-columns:1fr; }
  .format-catalog { grid-template-columns:1fr; max-height:420px; }
  .selected-list-head { display:none; }
  .selected-row { grid-template-columns:1fr 72px 100px 30px; gap:7px; padding:13px 0; }
  .selected-row-name { grid-column:1 / -1; }
  .row-total { display:none; }
  .estimate-card { display:none; }
  .mobile-summary { position:fixed; z-index:30; display:flex; align-items:center; justify-content:space-between; left:12px; right:12px; bottom:12px; padding:11px 12px 11px 17px; border:1px solid rgba(255,255,255,.12); background:rgba(25,21,30,.92); backdrop-filter:blur(18px); border-radius:16px; box-shadow:0 14px 38px rgba(0,0,0,.4); }
  .mobile-summary span { display:flex; flex-direction:column; }
  .mobile-summary small { color:var(--muted); font-size:9px; }
  .mobile-summary strong { font:700 17px "Manrope",sans-serif; }
  .mobile-summary .button { height:42px; }
  footer { padding:20px; flex-direction:column; gap:8px; text-align:center; }
  .presentation-dialog { padding:20px 14px; }
  .presentation-header { align-items:flex-start; }
  .presentation-actions { gap:6px; }
  .export-button { width:38px; padding:0; font-size:0; }
  .export-button svg { width:16px; height:16px; }
  .presentation-intro { margin:40px auto 28px; }
  .proposal-grid { grid-template-columns:1fr; }
  .proposal-card.featured { transform:none; order:-1; }
  .presentation-footer { flex-direction:column; text-align:center; }
  .splash-content { padding:20px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
  .reveal-on-scroll { opacity:1; transform:none; filter:none; }
}
