:root {
  --color-blush:#FDF2F4; --color-petal:#FBE4E8; --color-white:#FFFFFF;
  --color-rose-border:#F3D6DC; --color-rose:#E8A0B0; --color-rose-deep:#B23A5E;
  --color-rose-deeper:#8E2A49; --color-plum:#3D2A32; --color-mauve:#6E5A62;
  --color-gold:#C9A66B; --color-gold-light:#FFF4D4; --color-gold-mid:#D8B878;
  --color-gold-deep:#A98447; --color-white-warm:#FFF8F3;
  --color-sage:#4F6B52; --color-error:#B3261E;
  --font-heading:"Cormorant Garamond",Georgia,serif;
  --font-body:"Lora",Georgia,serif;
  --font-ui:"Inter",Arial,sans-serif;
  --space-1:4px; --space-2:8px; --space-3:16px; --space-4:24px;
  --space-5:32px; --space-6:48px; --space-7:64px;
  --radius-card:12px; --radius-input:8px; --radius-pill:999px;
  --shadow-card:0 8px 32px rgba(178,58,94,.08);
}
* {box-sizing:border-box}
body {margin:0; background:var(--color-blush); color:var(--color-plum); font:400 16px/1.7 var(--font-body)}
h1,h2,h3 {font-family:var(--font-heading); font-weight:600; line-height:1.12}
h1 {font-size:clamp(2.5rem,5vw,4.75rem)}
h2 {font-size:clamp(2rem,3.4vw,3rem)}
a {color:var(--color-rose-deep); text-underline-offset:.2em}
button,input,select,textarea {font:inherit; font-family:var(--font-ui)}
button {min-height:44px; min-width:44px; cursor:pointer}
input,select,textarea {border:1px solid var(--color-mauve); border-radius:var(--radius-input); padding:12px; background:var(--color-white); color:var(--color-plum); min-height:44px}
:focus-visible {outline:3px solid var(--color-rose-deep); outline-offset:3px}
.og-button {max-width:100%; white-space:normal; display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:48px; padding:12px 24px; border:1px solid var(--color-rose-deep); border-radius:var(--radius-pill); background:var(--color-rose-deep); color:white; font:600 1rem/1.4 var(--font-ui); text-decoration:none; transition:background .2s ease-out}
.og-button:focus {background:var(--color-rose-deep); color:white; border-color:var(--color-rose-deep)}
.og-button:focus-visible {outline:3px solid var(--color-rose-deep); outline-offset:3px}
.og-button:hover {background:var(--color-rose-deeper); border-color:var(--color-rose-deeper)}
.og-button-secondary {background:white; color:var(--color-rose-deep)}
.og-button-secondary:focus {background:var(--color-white); color:var(--color-rose-deep)}
.og-button-secondary:hover {background:var(--color-petal); color:var(--color-rose-deeper)}
.og-card {border:1px solid var(--color-rose-border); border-radius:var(--radius-card); background:white; padding:var(--space-5); box-shadow:var(--shadow-card)}
.og-muted {color:var(--color-mauve)}
.og-container {width:min(1120px,calc(100% - 40px)); margin-inline:auto}
.og-pack-tray {position:sticky; top:24px; align-self:start}
.og-skip {position:absolute; left:16px; top:-100px; z-index:1000; padding:12px 20px; background:white}
.og-skip:focus {top:16px}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {animation:none!important; transition:none!important; scroll-behavior:auto!important}}
@media(max-width:767px) {.og-container {width:calc(100% - 32px)} .og-card {padding:24px} .og-pack-tray {position:static}}
