*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden;max-width:100vw;overscroll-behavior-x:contain}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fffffb;color:#1b1714;touch-action:pan-y}textarea::placeholder,input::placeholder{color:#a59c92}::selection{background:#f5eadf;color:#8e3f1e}.num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d8d0c4;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#bfb5a5}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:.25}50%{transform:scale(1.6);opacity:1}}@keyframes fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bar-fill{0%{width:0%}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.oppidu-carousel-wrap{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 6%,black 94%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 6%,black 94%,transparent 100%)}:root{--o-bg: #FFFFFB;--o-sub: #F4EFE6;--o-surface: #FFFFFF;--o-line: #E8E2D8;--o-line-soft: #F0EBE2;--o-ink: #1B1714;--o-ink-soft: #3A332D;--o-muted: #73695E;--o-faint: #A59C92;--o-accent: #1f37c9;--o-accent-dark: #162a99;--o-accent-light: #E8ECFA;--o-accent-soft: #C8D2F2;--o-green: #3F6B4F;--o-green-light: #EDF2EC;--o-amber: #8A6A2E;--o-amber-light: #F5EFE0;--o-shadow-sm: 0 1px 2px rgba(27,23,20,.04), 0 1px 1px rgba(27,23,20,.02);--o-shadow: 0 1px 2px rgba(27,23,20,.05), 0 14px 34px -16px rgba(27,23,20,.3);--o-shadow-lg: 0 2px 4px rgba(27,23,20,.05), 0 28px 56px -22px rgba(27,23,20,.36);--o-shadow-accent: 0 8px 20px -10px rgba(22,42,153,.55);--o-radius: 16px;--o-radius-sm: 12px;--o-ease: cubic-bezier(.2,.7,.2,1)}body{background-color:var(--o-bg);background-image:radial-gradient(900px 420px at 18% -10%,#e8ecfae6,#e8ecfa00 60%),radial-gradient(700px 360px at 92% -6%,#f4efe6f2,#f4efe600 60%);background-repeat:no-repeat}.page-shell{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}.page-shell>*{flex-shrink:0}.page-shell>.sf{margin-top:auto}.home-hero{min-height:calc(100vh - var(--site-footer-h, 0px));min-height:calc(100svh - var(--site-footer-h, 0px))}.o-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid transparent;cursor:pointer;font-family:inherit;font-weight:600;letter-spacing:.01em;line-height:1.2;text-decoration:none;white-space:nowrap;transition:transform .18s var(--o-ease),box-shadow .18s var(--o-ease),background .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease}.o-btn:active{transform:translateY(0) scale(.985)}.o-btn:disabled,.o-btn[aria-disabled=true]{cursor:default;transform:none;box-shadow:none}.o-btn--primary{color:#fff;background:linear-gradient(180deg,var(--o-accent) 0%,var(--o-accent-dark) 100%);box-shadow:inset 0 1px #ffffff2e,var(--o-shadow-accent)}.o-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #ffffff38,0 12px 26px -10px #162a9999}.o-btn--primary:disabled{background:var(--o-line-soft);color:var(--o-faint);box-shadow:none}.o-btn--secondary{background:var(--o-surface);color:var(--o-ink-soft);border-color:var(--o-line);box-shadow:var(--o-shadow-sm)}.o-btn--secondary:hover:not(:disabled){border-color:var(--o-accent-soft);color:var(--o-accent-dark);background:#fff;transform:translateY(-1px);box-shadow:var(--o-shadow)}.o-btn--outline{background:var(--o-surface);color:var(--o-accent-dark);border-color:var(--o-accent-soft)}.o-btn--outline:hover:not(:disabled){background:var(--o-accent-light);border-color:var(--o-accent);transform:translateY(-1px)}.o-btn--danger-ghost{background:transparent;color:var(--o-muted);border-color:transparent}.o-btn--danger-ghost:hover{color:#a04848;background:#f5e8e8}.o-card{background:var(--o-surface);border:1px solid var(--o-line);border-radius:var(--o-radius);box-shadow:var(--o-shadow);transition:transform .2s var(--o-ease),box-shadow .2s var(--o-ease),border-color .2s ease}.o-card--hover:hover{transform:translateY(-2px);box-shadow:var(--o-shadow-lg);border-color:#dcd4c6}.o-card--flat{box-shadow:var(--o-shadow-sm)}.o-card--selected{border-color:var(--o-green);box-shadow:0 0 0 3px #3f6b4f1f,var(--o-shadow)}.o-store{position:relative;isolation:isolate}.o-store:not(.o-store--muted){background:linear-gradient(180deg,#fff,#fcfbf8);box-shadow:inset 0 1px #ffffffe6,var(--o-shadow)}.o-store--open{border-color:var(--o-accent-soft);box-shadow:0 0 0 3px #1f37c914,var(--o-shadow-lg)}.o-store--best{border-color:#3f6b4f73}.o-store--best:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:-1;background:linear-gradient(135deg,#edf2ecf2,#fff0 50%)}.o-store--muted{background:linear-gradient(180deg,#f8f4ec,#f3eee4);border-style:dashed;border-color:#ddd5c7;box-shadow:none}.o-store--muted:hover{transform:none;box-shadow:none}.o-price{font-variant-numeric:tabular-nums;letter-spacing:-.025em}.o-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--o-line);background:var(--o-surface);color:var(--o-ink-soft);font-family:inherit;font-weight:500;cursor:pointer;white-space:nowrap;box-shadow:var(--o-shadow-sm);transition:transform .18s var(--o-ease),box-shadow .18s var(--o-ease),border-color .18s ease,background .18s ease,color .18s ease}.o-chip:hover{transform:translateY(-1px);border-color:var(--o-accent-soft);color:var(--o-accent-dark);background:#fff;box-shadow:var(--o-shadow)}.o-chip--on{background:linear-gradient(180deg,var(--o-accent),var(--o-accent-dark));color:#fff;border-color:transparent;box-shadow:var(--o-shadow-accent)}.o-chip--on:hover{color:#fff;background:linear-gradient(180deg,var(--o-accent),var(--o-accent-dark));border-color:transparent}.o-chip--soft{background:var(--o-accent-light);border-color:transparent;color:var(--o-accent-dark);box-shadow:none}.o-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.4}.o-badge:before{content:"";width:5px;height:5px;border-radius:999px;background:currentColor;opacity:.85}.o-badge--green{background:var(--o-green-light);color:var(--o-green)}.o-badge--blue{background:var(--o-accent-light);color:var(--o-accent-dark)}.o-badge--amber{background:var(--o-amber-light);color:var(--o-amber)}.o-badge--neutral{background:var(--o-line-soft);color:var(--o-muted)}.o-badge--plain:before{display:none}.o-input{width:100%;box-sizing:border-box;border:1px solid var(--o-line);border-radius:var(--o-radius-sm);background:var(--o-surface);color:var(--o-ink);font-family:inherit;box-shadow:var(--o-shadow-sm);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.o-input:focus{border-color:var(--o-accent-soft);box-shadow:0 0 0 4px #1f37c91a,var(--o-shadow-sm)}.o-search-card{background:var(--o-surface);border:1px solid var(--o-line);border-radius:20px;box-shadow:var(--o-shadow-lg);transition:border-color .2s ease,box-shadow .2s ease,transform .2s var(--o-ease)}.o-search-card--focus{border-color:var(--o-accent-soft);box-shadow:0 0 0 4px #1f37c91a,var(--o-shadow-lg)}.o-search-card--drag{border-color:var(--o-accent);box-shadow:0 0 0 4px #1f37c929,var(--o-shadow-lg);transform:scale(1.005)}.o-eyebrow{display:inline-flex;align-items:center;gap:8px}.o-eyebrow:before{content:"";width:14px;height:2px;border-radius:2px;background:var(--o-accent)}.o-panel-head{background:linear-gradient(180deg,#faf7f1,#f4efe6)}.o-callout{border-radius:var(--o-radius-sm);box-shadow:var(--o-shadow-sm)}.o-actionbar{box-shadow:0 -12px 32px -20px #1b171440}@media(prefers-reduced-motion:reduce){.o-btn,.o-card,.o-chip,.o-search-card{transition:none}.o-btn:hover,.o-card--hover:hover,.o-chip:hover{transform:none}}
