:root{--demo-ink:#24171f;--demo-paper:#fdf7ed;--demo-blue:#1e3a8a;--demo-red:#e34234;--demo-peach:#ffb483;--demo-plum:#4b1d3f}
.concept-page{margin:0;background:var(--demo-paper);color:var(--demo-plum);font:16px/1.6 "Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif}
.concept-page *{box-sizing:border-box}
.concept-page a{color:inherit}
.concept-page button,.concept-page input,.concept-page select{font:inherit}
.concept-page button,.concept-page input,.concept-page select,.concept-page a{touch-action:manipulation}
.concept-top{padding:.65rem 1rem;background:var(--demo-plum);color:var(--demo-paper);text-align:center;font-size:.88rem}
.concept-top a{color:var(--demo-peach);font-weight:700}
.concept-main{width:min(1120px,100% - 2rem);margin:0 auto;padding:clamp(1.25rem,4vw,3rem) 0 4rem}
.concept-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:end;margin:1.5rem 0 2rem}
.concept-kicker{text-transform:uppercase;letter-spacing:.15em;color:var(--demo-blue);font-size:.78rem;font-weight:700;margin:0 0 .65rem}
.concept-heading h1,.concept-heading h2{font-family:"Bodoni 72","Iowan Old Style","Times New Roman",serif;font-weight:500;letter-spacing:-.04em;line-height:1.02;margin:0;font-size:clamp(2.8rem,7vw,5.4rem)}
.concept-heading p{margin:0;max-width:34rem}
.concept-note{border-left:3px solid var(--demo-red);padding:.4rem 0 .4rem 1rem;font-size:.9rem}
.concept-home{display:inline-flex;min-height:44px;align-items:center;color:var(--demo-blue)!important;font-weight:700;text-decoration-thickness:1px;text-underline-offset:.2em}
.concept-page :focus-visible{outline:3px solid var(--demo-red);outline-offset:3px}
.concept-footer{padding:1.2rem max(1rem,calc((100% - 1120px)/2));background:var(--demo-plum);color:var(--demo-paper);font-size:.86rem}
.concept-footer a{color:var(--demo-peach)}
@media(max-width:700px){.concept-heading{grid-template-columns:1fr;gap:1rem}.concept-heading h1,.concept-heading h2{font-size:clamp(2.7rem,13vw,4rem)}}
@media(prefers-reduced-motion:reduce){.concept-page *, .concept-page *::before,.concept-page *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(prefers-reduced-motion:reduce){.wheel-result.wheel-arrive,.wheel-result.wheel-celebrate::after{animation:none!important}}

/* Family Wheel */
.wheel-app{--slice:#1e3a8a;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(17rem,.95fr);gap:1rem;align-items:start}
.wheel-card,.wheel-settings{background:#fffdf8;border:1px solid #d9cfc2;padding:clamp(.8rem,2vw,1.4rem)}
.wheel-card{text-align:center;overflow:hidden}
.wheel-modes{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem;justify-content:center}
.wheel-modes button,.wheel-actions button,.wheel-save{min-height:44px;padding:.45rem .8rem;border:1px solid #4b1d3f;background:transparent;color:#4b1d3f;cursor:pointer}
.wheel-modes button[aria-pressed=true],.wheel-actions .wheel-spin,.wheel-save{background:#1e3a8a;color:#fdf7ed}
.wheel-wrap{position:relative;width:min(100%,400px);margin:auto;aspect-ratio:1}
.wheel-canvas{width:100%;height:100%;display:block}
.wheel-pointer{position:absolute;z-index:2;top:-2px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:28px solid #e34234;filter:drop-shadow(0 2px 3px #4b1d3f)}
.wheel-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:20%;aspect-ratio:1;border:5px solid #ffb483;border-radius:50%;background:#fdf7ed;color:#4b1d3f;font-weight:800;display:grid;place-items:center;pointer-events:none}
.wheel-actions{display:grid;gap:.65rem;justify-items:center;margin-top:.8rem}
.wheel-actions button{width:min(100%,22rem)}
.wheel-result{position:relative;overflow:hidden;margin:1rem auto 0;max-width:28rem;padding:1rem;background:#ffb483;color:#24171f;border-left:4px solid #e34234;text-align:left}
.wheel-result[hidden]{display:none}
.wheel-result strong{display:block;font-family:"Bodoni 72","Iowan Old Style",serif;font-size:1.65rem;line-height:1.1}
.wheel-result.wheel-arrive{animation:wheel-reveal 520ms cubic-bezier(.2,.8,.2,1) both}
.wheel-result.wheel-celebrate::after{content:"✦   ✧";position:absolute;right:.7rem;top:.25rem;color:#e34234;font-size:1.4rem;animation:wheel-glint 850ms ease-out both;pointer-events:none}
@keyframes wheel-reveal{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes wheel-glint{0%{opacity:0;transform:translateY(8px) scale(.65)}35%{opacity:1;transform:translateY(0) scale(1.08)}100%{opacity:.82;transform:translateY(0) scale(1)}}
.wheel-list{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.5rem}
.wheel-item{display:grid;grid-template-columns:minmax(0,1fr) 50px 44px;gap:.4rem;align-items:center}
.wheel-item input[type=text]{min-width:0;width:100%;min-height:44px;padding:.4rem;border:1px solid #8d7a84;background:white}
.wheel-item input[type=color]{width:44px;height:44px;border:0;background:transparent;cursor:pointer}
.wheel-item button,.wheel-add,.wheel-history-clear{min-height:44px;border:1px solid #4b1d3f;background:#fff;color:#4b1d3f;cursor:pointer}
.wheel-settings h2{font:500 1.75rem/1.1 "Bodoni 72","Iowan Old Style",serif;margin:.2rem 0}
.wheel-settings p{font-size:.9rem}
.wheel-toggle{display:flex;gap:.65rem;align-items:center;min-height:44px}
.wheel-toggle input{width:20px;height:20px;accent-color:#1e3a8a}
.wheel-history{padding:0 0 0 1.2rem;font-size:.88rem}
.wheel-compact .concept-top,.wheel-compact .concept-heading,.wheel-compact .wheel-settings,.wheel-compact .concept-footer,.wheel-compact .concept-home,.wheel-compact .wheel-note,.wheel-compact .wheel-history-wrap,.wheel-compact .wheel-edit-toggle{display:none}
.wheel-compact .concept-main{width:100%;padding:.45rem}
.wheel-compact .wheel-app{display:block}
.wheel-compact .wheel-card{padding:.55rem;border:0;background:transparent}
.wheel-compact .wheel-modes{display:none}
.wheel-compact .wheel-wrap{width:min(68vw,280px)}
.wheel-compact .wheel-result{margin:.5rem auto;padding:.6rem;text-align:center}
.wheel-compact .wheel-result strong{font-size:1.25rem}
@media(max-width:800px){.wheel-app{grid-template-columns:1fr}.wheel-wrap{width:min(100%,340px)}}

/* Pool Care */
.pool-demo{background:#eef4f0}
.pool-comparison{--split:50%;position:relative;isolation:isolate;overflow:hidden;width:100%;aspect-ratio:16/10;background:#99b271;border:8px solid #fff;box-shadow:0 14px 34px #24171f28}
.pool-water,.pool-yard{position:absolute;inset:0}
.pool-water{background:linear-gradient(180deg,#789647 0 36%,#a1ac5a 37% 45%,#37533f 46% 100%)}
.pool-water::before{content:"";position:absolute;left:8%;right:8%;top:21%;height:61%;border:12px solid #d7d1bd;border-radius:48% 52% 6% 5%/14% 15% 8% 8%;background:repeating-linear-gradient(0deg,#78984a 0 18px,#6d8845 19px 21px);box-shadow:inset 0 8px 22px #242a224f}
.pool-water::after{content:"";position:absolute;inset:15% 10% 20%;background:radial-gradient(ellipse,#93aa53aa,transparent 70%);pointer-events:none}
.pool-yard{background:linear-gradient(180deg,#8caa69 0 22%,#d8c5a0 23% 28%,#afba71 29% 100%);clip-path:inset(0 0 0 var(--split));}
.pool-yard::before{content:"";position:absolute;left:8%;right:8%;top:21%;height:61%;border:12px solid #fdf7ed;border-radius:48% 52% 6% 5%/14% 15% 8% 8%;background:repeating-linear-gradient(0deg,#70c8de 0 18px,#83d4e5 19px 21px);box-shadow:inset 0 8px 22px #1e3a8a26}
.pool-yard::after{content:"";position:absolute;inset:28% 12% 23%;background:radial-gradient(ellipse,#fff9,transparent 66%);pointer-events:none}
.pool-label{position:absolute;top:.8rem;padding:.35rem .65rem;background:#24171f;color:#fdf7ed;font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.pool-label--before{left:.8rem}.pool-label--after{right:.8rem}
.pool-range{position:absolute;z-index:2;inset:auto 0 0;width:100%;height:44px;margin:0;appearance:none;background:linear-gradient(transparent 18px,#fdf7ed 18px 25px,transparent 25px);cursor:ew-resize}
.pool-range::-webkit-slider-thumb{appearance:none;width:22px;height:38px;border:3px solid #fdf7ed;border-radius:4px;background:#1e3a8a;box-shadow:0 1px 5px #24171f80}
.pool-range::-moz-range-thumb{width:18px;height:34px;border:3px solid #fdf7ed;border-radius:4px;background:#1e3a8a}
.pool-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:1.5rem 0;padding:0;list-style:none;counter-reset:steps}
.pool-stages li{padding:.9rem;border-top:2px solid #1e3a8a;background:#fff}
.pool-form{padding:clamp(1rem,3vw,2rem);background:#4b1d3f;color:#fdf7ed}
.pool-form label{display:block;font-size:.9rem;font-weight:700;margin:.9rem 0 .25rem}
.pool-form input,.pool-form select{display:block;width:100%;min-height:46px;padding:.55rem;border:2px solid #ffb483;background:#fff;color:#24171f}
.pool-form button{margin-top:1rem;min-height:48px;padding:.6rem 1rem;border:0;background:#ffb483;color:#24171f;font-weight:700;cursor:pointer}
.pool-success{padding:1rem;border:2px solid #ffb483;color:#fdf7ed}.pool-success[hidden]{display:none}
@media(max-width:700px){.pool-stages{grid-template-columns:1fr 1fr}.pool-comparison{aspect-ratio:4/3}.pool-water::before,.pool-yard::before{border-width:8px}.pool-label{font-size:.62rem;padding:.2rem .3rem;letter-spacing:0}.pool-label--before{left:.35rem}.pool-label--after{right:.35rem}}

/* Food Truck */
.truck-demo{background:#171411;color:#fdf7ed;--truck-line:#4d4032;--truck-gold:#ffb483}
.truck-demo .concept-kicker{color:#ffb483}
.truck-demo .concept-heading p{color:#d5cabb}
.truck-demo .concept-home{color:#ffb483!important}
.truck-board{padding:1.25rem;background:#241f1a;border:2px solid #ffb483}
.truck-menu{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.truck-menu article{padding:1rem;border-top:3px solid #e34234;background:#171411}
.truck-menu h3{margin:.2rem 0 .8rem;font:500 1.55rem/1.1 "Bodoni 72","Iowan Old Style",serif;color:#ffb483}
.truck-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .8rem;padding:.75rem 0;border-bottom:1px solid var(--truck-line)}
.truck-item label{font-weight:700}.truck-item span{color:#ffb483;font-variant-numeric:tabular-nums}.truck-item small{grid-column:1/-1;color:#d5cabb}
.truck-item input{grid-column:1/-1;width:6rem;min-height:42px;margin-top:.25rem;padding:.4rem;border:1px solid #8a7967;background:#fff;color:#171411}
.truck-schedule{margin-top:2rem}.truck-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;padding:0;list-style:none}
.truck-days li{padding:.7rem .5rem;border-top:2px solid var(--truck-line);color:#d5cabb}
.truck-days li[aria-current=date]{border-color:#ffb483;background:#3c2b22;color:#fff}
.truck-order{margin-top:2rem;padding:clamp(1rem,3vw,2rem);background:#fdf7ed;color:#24171f}
.truck-order h2{font:500 2rem/1.1 "Bodoni 72","Iowan Old Style",serif}
.truck-lines{list-style:none;padding:0;margin:0}.truck-lines li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px dashed #887a70}
.truck-total{display:flex;justify-content:space-between;font-weight:800;font-size:1.25rem;margin:1rem 0}
.truck-order button{min-height:46px;padding:.55rem .9rem;margin:.3rem .4rem .3rem 0;background:#1e3a8a;color:#fdf7ed;border:0;font-weight:700;cursor:pointer}
.truck-order .truck-quiet{background:transparent;color:#1e3a8a;border:1px solid #1e3a8a}
.truck-notice{margin:1rem 0 0;font-size:.9rem}
@media(max-width:760px){.truck-menu{grid-template-columns:1fr}.truck-days{grid-template-columns:1fr 1fr}.truck-days li:last-child{grid-column:1/-1}}
@media print{.concept-top,.concept-home,.concept-heading,.truck-board,.truck-schedule,.truck-order>button,.concept-footer{display:none!important}.truck-demo,.truck-order{background:white!important;color:#171411!important}.truck-order{margin:1rem;padding:0}.truck-order h2{font-size:22pt}.truck-order-status:after{content:" · Preview only — no order was placed."}}
