:root{
  --red:#e31f2b;
  --red-dark:#c71924;
  --ink:#101113;
  --muted:#6f7074;
  --line:#ece9e6;
  --soft:#f7f5f2;
  --card:#fff;
  --shadow:0 14px 38px rgba(24,20,18,.08);
  --shadow-soft:0 6px 22px rgba(24,20,18,.055);
  --safe-bottom:max(16px,env(safe-area-inset-bottom));
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:#f3f1ee;
}
*{box-sizing:border-box}
html{background:#f3f1ee;scroll-behavior:smooth}
body{margin:0;background:#f3f1ee;color:var(--ink);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit}
img{max-width:100%}
.app-shell{width:min(100%,720px);min-height:100dvh;margin:0 auto;background:#fff;position:relative;box-shadow:0 0 50px rgba(0,0,0,.04)}
.topbar{position:sticky;top:0;z-index:30;height:70px;padding:13px 18px 9px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.965);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(236,233,230,.6)}
.brand{display:flex;align-items:center}.brand img{display:block;width:146px;height:auto}
.city-label{font-size:17px;font-weight:760;letter-spacing:-.018em;white-space:nowrap}
.app-content{padding:12px 18px 108px;min-height:calc(100dvh - 70px)}
.dot{color:var(--red)}
.eyebrow{font-size:11px;letter-spacing:.095em;text-transform:uppercase;font-weight:850;color:var(--red);margin:0 0 8px}

/* Home: editorial cover */
.home-hero{padding-top:2px}
.home-cover{position:relative;overflow:hidden;border-radius:0 0 27px 27px;margin:0 -18px;background:#f7f4ef;min-height:438px}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%;display:block}
.home-cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 26%,rgba(255,255,255,.86) 40%,rgba(255,255,255,.38) 54%,rgba(255,255,255,.04) 68%,rgba(0,0,0,.05) 100%)}
.home-copy{position:relative;z-index:2;padding:22px 18px 0;max-width:360px}
.hero-title{font-size:clamp(45px,12.2vw,63px);line-height:.97;letter-spacing:-.052em;margin:0 0 12px;font-weight:820}
.lead{font-size:16.5px;line-height:1.34;letter-spacing:-.014em;color:#55575b;margin:0;max-width:31ch}
.trust-strip{margin:14px 0 20px;padding:12px 12px 12px 13px;border:1px solid var(--line);border-radius:19px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;box-shadow:var(--shadow-soft)}
.trust-copy{display:flex;align-items:center;gap:9px;min-width:0;font-size:11px;font-weight:720;line-height:1.23}.trust-copy img{width:25px;height:25px;flex:0 0 auto}
.source-pills{display:flex;gap:6px;align-items:center}.source-pill{display:flex;align-items:center;gap:5px;border:1px solid #e9e6e2;border-radius:999px;padding:7px 8px;font-size:10px;font-weight:760;white-space:nowrap;background:#fff}
.source-pill i{width:12px;height:12px;border-radius:50%;display:block}.source-pill.google i{background:conic-gradient(#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0)}.source-pill.trip i{background:#27b67a;position:relative}.source-pill.trip i:after{content:"";position:absolute;inset:3px;border:1.5px solid #fff;border-radius:50%}
.question-block h2,.section-title{font-size:27px;line-height:1.04;letter-spacing:-.036em;margin:0 0 14px;font-weight:820}
.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.option-card{position:relative;width:100%;min-width:0;border:1px solid var(--line);background:#fff;border-radius:22px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 10px 14px;min-height:148px;box-shadow:var(--shadow-soft);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .24s ease,background-color .18s ease}
.option-card:hover{border-color:#ddd8d3;box-shadow:0 10px 28px rgba(20,16,14,.08)}
.option-card:active,.option-card.is-selected{transform:scale(.972);border-color:rgba(227,31,43,.46);background:#fffafa;box-shadow:0 0 0 3px rgba(227,31,43,.07)}
.option-card.is-dimming{opacity:.17;transform:scale(.985)}
.option-icon{width:78px;height:78px;display:grid;place-items:center;margin-bottom:7px;overflow:hidden;border-radius:14px;background:#fff}
.option-icon img{width:100%;height:100%;display:block;object-fit:contain;mix-blend-mode:multiply}
.option-copy strong{display:block;font-size:16px;line-height:1.13;font-weight:790;letter-spacing:-.02em}
.home-hero .question-block{margin-top:0}

/* Journey */
.journey-page{padding-top:4px;min-height:65dvh}
.journey-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px}
.back-link{display:inline-flex;align-items:center;gap:5px;color:#55575b;text-decoration:none;font-weight:730;font-size:14px;background:none;border:0;padding:0;cursor:pointer}
.back-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.progress{display:flex;gap:5px;width:108px}.progress span{height:4px;flex:1;border-radius:10px;background:#eeebe7}.progress span.on{background:var(--red)}
.journey-page .question-block h2{font-size:39px;line-height:.99;max-width:10ch;margin-bottom:24px}
.journey-page .option-card{min-height:174px;padding:17px 10px 15px}.journey-page .option-icon{width:92px;height:92px;margin-bottom:10px}.journey-page .option-copy strong{font-size:17px}
.question-step-2 .option-card:last-child{grid-column:1/-1;min-height:126px;flex-direction:row;gap:12px;padding:12px 20px}.question-step-2 .option-card:last-child .option-icon{width:78px;height:78px;margin:0}.question-step-2 .option-card:last-child .option-copy strong{font-size:18px}
.transition-screen{min-height:62dvh;display:grid;place-items:center;text-align:center;padding:34px 0}.transition-inner{animation:soft-in .25s ease both}.transition-screen h2{font-size:29px;line-height:1.1;letter-spacing:-.03em;margin:17px 0 0;font-weight:820}.dots{display:flex;justify-content:center;gap:8px}.dots i{width:9px;height:9px;border-radius:50%;background:var(--red);display:block;animation:pulse 1s infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
@keyframes pulse{0%,60%,100%{transform:translateY(0);opacity:.3}30%{transform:translateY(-7px);opacity:1}}
@keyframes soft-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Result: image first */
.result-intro{padding:5px 0 16px}.result-intro h1{font-size:42px;line-height:.99;letter-spacing:-.047em;margin:0;font-weight:830;max-width:10.5ch}
.reveal-item{opacity:0;transform:translateY(8px);animation:reveal .32s ease forwards;animation-delay:var(--delay,0ms)}@keyframes reveal{to{opacity:1;transform:translateY(0)}}
.main-match{border-radius:27px;overflow:hidden;background:#fff;box-shadow:var(--shadow);border:1px solid var(--line)}
.match-media{position:relative;overflow:hidden;background:var(--soft)}.restaurant-photo{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;background:var(--soft)}.media-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),transparent 34%,transparent 63%,rgba(0,0,0,.36))}
.media-top-left{position:absolute;top:14px;left:14px}.media-top-right{position:absolute;top:14px;right:14px}.media-bottom{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.checkscore-badge{border:0;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;padding:7px 10px 7px 8px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 5px 18px rgba(0,0,0,.08);cursor:pointer;color:var(--ink)}.checkscore-badge img{width:20px;height:20px}.checkscore-badge strong{font-size:17px;line-height:1;color:var(--red)}
.favorite-btn{width:43px;height:43px;border:1px solid var(--line);border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer;flex:0 0 auto;transition:transform .18s ease,background .18s ease}.favorite-btn:active{transform:scale(.93)}.favorite-btn svg{width:21px;fill:none;stroke:#333;stroke-width:2}.favorite-btn.saved svg{fill:var(--red);stroke:var(--red)}.favorite-btn.overlay-control{background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.72);box-shadow:0 5px 18px rgba(0,0,0,.08)}
.tour-badge{border:0;background:var(--red);color:#fff;border-radius:999px;min-height:39px;padding:7px 11px 7px 8px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;box-shadow:0 6px 20px rgba(123,0,8,.24)}.tour-badge img{width:22px;height:22px;filter:brightness(0) invert(1)}.tour-badge span{font-size:12px;font-weight:760}.tour-badge strong{font-size:12px}
.experience-row{display:flex;gap:8px;flex-wrap:wrap}.experience-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:7px 10px;font-size:12px;font-weight:760;white-space:nowrap}.experience-pill img,.experience-pill svg{width:24px;height:24px;object-fit:contain;fill:none;stroke:currentColor;stroke-width:1.8}.experience-row.compact{justify-content:flex-end;gap:6px}.experience-row.compact .experience-pill{background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.75);padding:6px 8px;box-shadow:0 4px 14px rgba(0,0,0,.08)}.experience-row.compact .experience-pill img,.experience-row.compact .experience-pill svg{width:20px;height:20px}.experience-row.compact .experience-pill span{font-size:10px}
.match-content{padding:18px 17px 18px}.match-content h2{font-size:32px;line-height:1;letter-spacing:-.038em;margin:0 0 6px;font-weight:830}.meta{color:var(--muted);font-size:13px;line-height:1.4}.why-fit{font-size:15px;line-height:1.42;color:#3f4144;margin:13px 0 0}.match-actions,.detail-actions{display:grid;grid-template-columns:1.3fr 1fr;gap:9px;margin-top:17px}
.primary-btn,.secondary-btn,.ghost-btn{min-height:50px;border-radius:15px;padding:12px 14px;font-weight:820;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;cursor:pointer}.primary-btn{background:var(--red);border:1px solid var(--red);color:#fff}.primary-btn:hover{background:var(--red-dark)}.secondary-btn{background:#fff;border:1px solid #ddd9d5;color:var(--ink)}.ghost-btn{background:var(--soft);border:1px solid transparent;color:var(--ink)}
.alternatives{margin-top:31px}.alternatives h3{font-size:26px;line-height:1.05;letter-spacing:-.033em;margin:0 0 13px;font-weight:820}.alt-strip{display:grid;grid-auto-flow:column;grid-auto-columns:42%;gap:11px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 18px 6px 0;scrollbar-width:none}.alt-strip::-webkit-scrollbar{display:none}.alt-card{scroll-snap-align:start;text-decoration:none;color:inherit;display:block;min-width:0}.alt-media{position:relative;border-radius:18px;overflow:hidden;background:var(--soft);margin-bottom:8px}.alt-media img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.alt-score,.alt-360{position:absolute;top:8px;background:rgba(255,255,255,.94);border-radius:999px;padding:5px 7px;font-size:10px;font-weight:840}.alt-score{left:8px;color:var(--red)}.alt-360{right:8px;color:var(--ink)}.alt-card strong{display:block;font-size:15px;line-height:1.12;margin-bottom:3px}.alt-card>span{display:block;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Detail: editorial content */
.detail-view{padding-top:0}.detail-back{margin:0 0 12px}.detail-hero{position:relative;margin:0 -18px;overflow:hidden;background:var(--soft)}.detail-photo{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.detail-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.07),transparent 46%,rgba(0,0,0,.68) 100%)}.detail-controls{position:absolute;top:14px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.detail-control-right{display:flex;gap:8px;align-items:center}.detail-title{position:absolute;left:18px;right:18px;bottom:19px;color:#fff}.detail-title p{margin:0 0 5px;font-size:13px;font-weight:650;text-shadow:0 1px 8px rgba(0,0,0,.25)}.detail-title h1{font-size:43px;line-height:.96;letter-spacing:-.048em;margin:0;font-weight:840;text-shadow:0 2px 16px rgba(0,0,0,.24)}
.detail-summary{padding:18px 0 0}.detail-summary .why-fit{font-size:16px;max-width:34ch}.detail-actions{margin-top:18px}
.gallery-section{margin-top:31px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:11px}.section-head h2{font-size:25px;line-height:1;margin:0;font-weight:820;letter-spacing:-.03em}.section-head span{font-size:12px;color:var(--muted)}.gallery-strip{display:grid;grid-auto-flow:column;grid-auto-columns:62%;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;padding-right:20px;scrollbar-width:none}.gallery-strip::-webkit-scrollbar{display:none}.gallery-thumb{scroll-snap-align:start;border:0;padding:0;border-radius:18px;overflow:hidden;background:var(--soft);cursor:pointer}.gallery-thumb img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .2s ease}.gallery-thumb:active img{transform:scale(.985)}
.info-panel{margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.info-panel summary{list-style:none;cursor:pointer;padding:18px 0;display:flex;align-items:center;justify-content:space-between;font-size:20px;font-weight:810}.info-panel summary::-webkit-details-marker{display:none}.info-panel summary svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .2s ease}.info-panel[open] summary svg{transform:rotate(180deg)}.info-grid{display:grid;margin:0 0 12px}.info-row{display:grid;grid-template-columns:94px 1fr;gap:13px;padding:12px 0;border-top:1px solid var(--line);font-size:13px}.info-row dt{color:var(--muted)}.info-row dd{margin:0;font-weight:650;overflow-wrap:anywhere}.info-row a{color:var(--ink)}

/* Search + Saved: visual cards */
.page-head{padding:4px 0 18px}.page-head h1{font-size:42px;line-height:.98;letter-spacing:-.046em;margin:0 0 8px;font-weight:830}.page-head p{margin:0;color:var(--muted);font-size:15px}.search-box{position:relative}.search-box input{width:100%;height:54px;border:1px solid #ddd9d5;border-radius:17px;padding:0 18px 0 46px;background:#fff;outline:0}.search-box input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(227,31,43,.07)}.search-box svg{position:absolute;left:16px;top:16px;width:21px;fill:none;stroke:#555;stroke-width:2}.search-categories{display:flex;gap:7px;overflow-x:auto;padding:11px 0 3px;scrollbar-width:none}.search-categories::-webkit-scrollbar{display:none}.search-categories button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;white-space:nowrap;font-size:12px;font-weight:760;cursor:pointer}.search-categories button.active{background:var(--ink);border-color:var(--ink);color:#fff}.filter-panel{margin:8px 0 17px}.filter-panel summary{cursor:pointer;font-size:12px;font-weight:780;color:var(--muted);display:inline-flex;padding:6px 0}.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.filters select{width:100%;min-width:0;height:44px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:0 10px;color:#333;font-size:12px}.visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 10px}.visual-card{display:block;text-decoration:none;color:inherit;min-width:0}.visual-card-media{position:relative;border-radius:18px;overflow:hidden;background:var(--soft)}.visual-card-media>img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.visual-score,.visual-360{position:absolute;top:8px;border-radius:999px;background:rgba(255,255,255,.94);font-size:10px;font-weight:840;padding:5px 7px;display:flex;align-items:center;gap:4px}.visual-score{left:8px;color:var(--red)}.visual-score img{width:13px;height:13px}.visual-360{right:8px}.visual-card-copy{padding:8px 2px 2px}.visual-card h3{margin:0 0 3px;font-size:17px;line-height:1.08;letter-spacing:-.02em}.visual-card p{margin:0;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty{padding:34px 17px;text-align:center;color:var(--muted);border:1px dashed #ddd7d1;border-radius:19px}.empty .secondary-btn{margin-top:14px}.full-grid{grid-column:1/-1}

/* Bottom navigation */
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:40;width:min(100%,720px);display:grid;grid-template-columns:repeat(3,1fr);padding:9px 18px var(--safe-bottom);background:rgba(255,255,255,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid rgba(226,223,219,.9)}
.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;color:#696b6f;font-size:11px;font-weight:680;min-height:47px;justify-content:center}.bottom-nav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}.bottom-nav a.active{color:var(--red)}

/* Modal, CheckScore, gallery, 360 */
.modal{border:0;padding:0;background:transparent;width:min(92vw,520px);max-width:520px;overflow:visible}.modal::backdrop{background:rgba(0,0,0,.5);backdrop-filter:blur(4px)}.modal-card{background:#fff;border-radius:25px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.2);position:relative}.modal-close{position:absolute;right:12px;top:9px;z-index:10;border:0;background:rgba(255,255,255,.9);width:38px;height:38px;border-radius:50%;font-size:27px;line-height:1;color:#333;cursor:pointer;display:grid;place-items:center}.modal h2{font-size:28px;margin:0 40px 15px 0;line-height:1}.sheet-kicker{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--red);font-weight:840;margin-bottom:8px}.score-sheet-head{display:flex;align-items:center;gap:11px}.score-sheet-head img{width:39px;height:39px}.score-sheet-head strong{font-size:58px;line-height:.9;color:var(--red);letter-spacing:-.04em}.score-note{color:#555;margin:13px 0 17px;font-size:14px}.ratings-box{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rating-source{padding:13px;background:var(--soft);border-radius:15px}.rating-source span{display:block;color:var(--muted);font-size:10px}.rating-source strong{font-size:20px}.rating-source.pending strong{font-size:11px;color:#888}.source-date{font-size:11px;color:var(--muted);margin:10px 0 0}.panorama-window{height:330px;border-radius:18px;overflow:hidden;position:relative;background:#ddd;cursor:grab;touch-action:pan-y}.panorama-strip{position:absolute;top:0;bottom:0;width:300%;left:-100%;background-image:url('/assets/images/panorama-demo.svg');background-size:auto 100%;background-repeat:repeat-x;background-position:50% 50%;will-change:background-position}.panorama-help{font-size:12px;color:var(--muted);margin:10px 0 0}.gyro-btn{margin-top:10px}.tour-frame{width:100%;height:420px;border:0;border-radius:16px}
.modal.gallery-mode{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;background:#090909}.modal.gallery-mode .modal-card{width:100%;height:100%;border-radius:0;padding:0;background:#090909;box-shadow:none;display:grid;place-items:center}.modal.gallery-mode .modal-close{position:fixed;top:max(14px,env(safe-area-inset-top));right:14px;background:rgba(30,30,30,.66);color:#fff}.gallery-viewer{position:relative;width:100%;height:100%;display:grid;place-items:center;touch-action:pan-y}.gallery-viewer>img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.gallery-counter{position:absolute;top:max(20px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:3;color:#fff;background:rgba(0,0,0,.45);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:780}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.36);color:#fff;font-size:32px;line-height:1;display:grid;place-items:center;cursor:pointer}.gallery-arrow.prev{left:10px}.gallery-arrow.next{right:10px}
@media(max-width:600px){.modal.sheet{width:100%;max-width:720px;margin:auto auto 0;align-self:end}.modal.sheet .modal-card{border-radius:25px 25px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -20px 70px rgba(0,0,0,.18)}}

/* Installation / administration */
.install-card{max-width:720px;margin:60px auto;padding:34px;background:white;border-radius:24px;box-shadow:var(--shadow)}.install-logo{width:190px}.install-card h1{font-size:38px}.install-card code{background:#f5f3ef;padding:3px 6px;border-radius:6px}.danger-note{border-left:4px solid var(--red);padding:10px 14px;background:#fff4f4}.install-card .secondary-btn{margin-left:8px}
.admin-page{background:#f4f2ef;min-height:100vh}.admin-wrap{max-width:1180px;margin:0 auto;padding:28px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.admin-header img{width:190px}.admin-card{background:#fff;border:1px solid #e6e2de;border-radius:20px;padding:20px;box-shadow:0 6px 24px rgba(0,0,0,.04)}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:12px 10px;border-bottom:1px solid #eee9e5;font-size:14px;vertical-align:top}.admin-table th{font-size:12px;color:#777;text-transform:uppercase;letter-spacing:.04em}.status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef7ef;font-size:11px;font-weight:800}.status.off{background:#f5eeee}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label,.group-label{font-weight:800;font-size:13px}.field input,.field textarea,.field select{width:100%;border:1px solid #dcd8d3;border-radius:12px;padding:11px;background:#fff}.field textarea{min-height:96px;resize:vertical}.checkboxes{display:flex;flex-wrap:wrap;gap:8px}.checkboxes label{display:flex;gap:6px;align-items:center;border:1px solid #e6e1dc;border-radius:999px;padding:7px 10px;font-size:12px}.admin-login{max-width:430px;margin:90px auto}.alert{padding:12px 14px;border-radius:12px;background:#fff0f1;color:#8f1720;margin-bottom:14px}.success{background:#eef8ef;color:#286b32}.tiny{font-size:12px;color:var(--muted)}
.media-manager{display:grid;gap:10px;margin-top:10px}.media-item{display:grid;grid-template-columns:92px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:15px;background:#faf9f7}.media-item img{width:92px;aspect-ratio:3/2;object-fit:cover;border-radius:10px;background:#eee}.media-item-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.media-item-meta label{font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:5px}.media-move{display:flex;flex-direction:column;gap:4px}.media-move button{width:34px;height:28px;border:1px solid #ddd8d3;background:#fff;border-radius:8px;cursor:pointer}.admin-section-title{margin:30px 0 12px}.admin-help{margin:-5px 0 10px;color:var(--muted);font-size:12px}

@media(min-width:560px){
  .app-content,.topbar{padding-left:24px;padding-right:24px}.home-cover,.detail-hero{margin-left:-24px;margin-right:-24px}.home-copy{padding-left:24px}.detail-controls,.detail-title{left:24px;right:24px}.home-cover{min-height:500px}.option-card{min-height:165px}.option-icon{width:88px;height:88px}.detail-hero{border-radius:0 0 30px 30px}.alt-strip{grid-auto-columns:31%}.gallery-strip{grid-auto-columns:45%}
}
@media(min-width:720px){
  .app-content,.topbar{padding-left:30px;padding-right:30px}.home-cover,.detail-hero{margin-left:-30px;margin-right:-30px}.home-copy{padding-left:30px}.detail-controls,.detail-title{left:30px;right:30px}.home-cover{min-height:560px}.hero-art{object-position:50% 57%}.visual-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-grid.three{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){.admin-wrap{padding:16px}.admin-grid{grid-template-columns:1fr}.admin-header{align-items:flex-start;flex-direction:column}.admin-table{display:block;overflow-x:auto}.install-card{margin:20px;padding:22px}.install-card .secondary-btn{margin:8px 0 0}.media-item{grid-template-columns:72px 1fr auto}.media-item img{width:72px}}
@media(max-width:370px){
  .topbar{padding-left:15px;padding-right:15px}.brand img{width:137px}.city-label{font-size:16px}.app-content{padding-left:15px;padding-right:15px}.home-cover,.detail-hero{margin-left:-15px;margin-right:-15px}.home-copy{padding-left:15px;padding-right:15px}.detail-controls,.detail-title{left:15px;right:15px}.hero-title{font-size:43px}.home-cover{min-height:410px}.trust-strip{padding:10px}.source-pill{font-size:9px;padding:6px}.question-block h2{font-size:25px}.option-card{min-height:138px}.option-icon{width:70px;height:70px}.journey-page .question-block h2{font-size:35px}.journey-page .option-card{min-height:158px}.journey-page .option-icon{width:82px;height:82px}.result-intro h1{font-size:39px}.detail-title h1{font-size:39px}.alt-strip{grid-auto-columns:46%}.match-actions,.detail-actions{grid-template-columns:1fr}.experience-row.compact .experience-pill:nth-child(n+2){display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.dots i{animation:none!important}}
