:root{--coco-bg: #F5F0E8;--coco-bg-deep: #EDE5D5;--coco-surface: #FAF6F0;--coco-paper: #FFFEFA;--coco-text: #1A1A1A;--coco-text-soft: #555048;--coco-text-muted: #8A8175;--coco-accent: #8B6F47;--coco-accent-dark: #6B5435;--coco-sand: #E8DCC8;--coco-line: #D9CDB8;--coco-line-dim: #E5DCC9;--coco-ink: #2C2C2C;--coco-error: #A63A1F;--coco-serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;--coco-sans: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--coco-ease: cubic-bezier(.32, .72, .24, 1);--coco-ease-out: cubic-bezier(.16, 1, .3, 1)}.coco-room,.coco-room *{box-sizing:border-box}.coco-room{min-height:100vh;width:100%;background:var(--coco-bg);color:var(--coco-text);font-family:var(--coco-sans);font-weight:400;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html,body,#root{margin:0;padding:0;background:var(--coco-bg)}#root{min-height:100vh}.coco-room .display{font-family:var(--coco-serif);font-weight:400;letter-spacing:-.005em;line-height:1.05}.coco-room .eyebrow{font-family:var(--coco-sans);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--coco-accent)}.coco-room .body-soft{color:var(--coco-text-soft)}.coco-room .header{display:flex;justify-content:space-between;align-items:center;padding:28px 32px;width:100%;max-width:1240px;margin:0 auto;border-bottom:1px solid var(--coco-line)}.coco-room .wordmark{font-family:var(--coco-serif);font-weight:500;font-size:18px;letter-spacing:.32em;text-transform:uppercase;color:var(--coco-text)}.coco-room .header-meta{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--coco-text-muted)}.coco-room .shell{min-height:100vh;display:flex;flex-direction:column;position:relative}.coco-room .shell-inner{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px 64px;width:100%;max-width:1240px;margin:0 auto}.coco-room .intro{display:grid;grid-template-columns:1fr;gap:56px;width:100%;align-items:center}@media (min-width: 900px){.coco-room .intro{grid-template-columns:1.05fr .95fr;gap:96px}}.coco-room .intro-copy h1{margin:18px 0 24px;font-size:clamp(44px,6.5vw,88px)}.coco-room .intro-copy h1 em{font-style:italic;color:var(--coco-accent)}.coco-room .intro-copy p{font-size:17px;color:var(--coco-text-soft);max-width:48ch;margin:0 0 32px}.coco-room .intro-meta{display:flex;gap:32px;margin-top:32px;padding-top:28px;border-top:1px solid var(--coco-line)}.coco-room .intro-meta-item .label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--coco-text-muted);margin-bottom:4px}.coco-room .intro-meta-item .value{font-family:var(--coco-serif);font-size:24px;color:var(--coco-text)}.coco-room .intro-hero{position:relative;aspect-ratio:4 / 5;overflow:hidden;background:var(--coco-sand)}.coco-room .intro-hero img{width:100%;height:100%;object-fit:cover;display:block}.coco-room .intro-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 50%,rgba(26,26,26,.18));pointer-events:none}.coco-room .intro-hero-caption{position:absolute;bottom:24px;left:24px;right:24px;color:var(--coco-paper);font-family:var(--coco-serif);font-style:italic;font-size:20px}.coco-room .btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--coco-text);color:var(--coco-paper);font-family:var(--coco-sans);font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;padding:18px 36px;cursor:pointer;transition:background .24s var(--coco-ease),transform .24s var(--coco-ease);text-decoration:none;display:inline-flex;align-items:center;gap:14px;border-radius:0}.coco-room .btn:hover:not(:disabled){background:var(--coco-accent-dark)}.coco-room .btn:disabled{opacity:.35;cursor:not-allowed}.coco-room .btn-ghost{background:transparent;color:var(--coco-text);border:1px solid var(--coco-text);padding:17px 35px}.coco-room .btn-ghost:hover:not(:disabled){background:var(--coco-text);color:var(--coco-paper)}.coco-room .btn-link{background:none;border:none;color:var(--coco-text-soft);font-family:var(--coco-sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:8px 0;cursor:pointer;border-bottom:1px solid var(--coco-line);transition:color .2s var(--coco-ease)}.coco-room .btn-link:hover{color:var(--coco-text)}.coco-room .arrow{display:inline-block;transition:transform .24s var(--coco-ease)}.coco-room .btn:hover .arrow{transform:translate(4px)}.coco-room .build-strip-wrap{width:100%;max-width:880px;margin:0 auto 56px}.coco-room .build-strip-meta{display:flex;justify-content:space-between;align-items:baseline;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--coco-text-muted);margin-bottom:14px}.coco-room .build-strip-meta .strip-section{color:var(--coco-accent)}.coco-room .build-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;padding:14px;background:var(--coco-paper);border:1px solid var(--coco-line)}@media (max-width: 700px){.coco-room .build-strip{grid-template-columns:repeat(8,1fr);gap:4px;padding:8px}}.coco-room .build-slot{aspect-ratio:1 / 1;background:var(--coco-bg);border:1px solid var(--coco-line-dim);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;transition:all .3s var(--coco-ease)}.coco-room .build-slot.is-current{border-color:var(--coco-text);background:var(--coco-surface);box-shadow:0 0 0 1px var(--coco-text)}.coco-room .build-slot.is-filled{background:var(--coco-paper);border-color:var(--coco-line);animation:slotFill .36s var(--coco-ease-out)}@keyframes slotFill{0%{transform:scale(.9);opacity:0}60%{transform:scale(1.04);opacity:1}to{transform:scale(1)}}.coco-room .build-slot .slot-label{position:absolute;bottom:-22px;left:0;right:0;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--coco-text-muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 700px){.coco-room .build-slot .slot-label{display:none}}.coco-room .build-slot.is-current .slot-label{color:var(--coco-text)}.coco-room .build-slot-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.coco-room .build-slot-content svg{width:80%;height:80%;color:var(--coco-text)}.coco-room .build-slot-content.swatch,.coco-room .build-slot-content.pattern{width:100%;height:100%}.coco-room .build-slot-content .slot-number{font-family:var(--coco-serif);font-style:italic;font-size:18px;color:var(--coco-text-muted)}.coco-room .build-slot.is-current .slot-number{color:var(--coco-text)}.coco-room .build-strip-margin{height:36px}.coco-room .step{width:100%;max-width:1100px;margin:0 auto;animation:cocoFadeIn .48s var(--coco-ease-out)}@keyframes cocoFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.coco-room .step-header{text-align:center;margin-bottom:40px}.coco-room .step-header h2{font-family:var(--coco-serif);font-weight:400;font-size:clamp(28px,4vw,48px);line-height:1.1;margin:14px 0 12px;letter-spacing:-.005em}.coco-room .step-helper{color:var(--coco-text-muted);font-size:14px;font-style:italic}.coco-room .options-wide{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width: 700px){.coco-room .options-wide{grid-template-columns:repeat(5,1fr)}}.coco-room .options-tight{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:880px;margin:0 auto}@media (min-width: 700px){.coco-room .options-tight{grid-template-columns:repeat(4,1fr)}}.coco-room .tile{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--coco-line);background:var(--coco-paper);padding:0;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all .24s var(--coco-ease);font-family:var(--coco-sans);text-align:left}.coco-room .tile:hover{border-color:var(--coco-text);transform:translateY(-3px);box-shadow:0 14px 32px #1a1a1a1a}.coco-room .tile-visual{aspect-ratio:1 / 1;width:100%;background:var(--coco-surface);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.coco-room .tile-visual svg{width:70%;height:70%;color:var(--coco-text)}.coco-room .tile-body{padding:18px 18px 22px;border-top:1px solid var(--coco-line)}.coco-room .tile-label{font-family:var(--coco-serif);font-size:19px;line-height:1.2;margin-bottom:4px}.coco-room .tile-sublabel{font-size:12px;color:var(--coco-text-muted);letter-spacing:.01em;line-height:1.4}.coco-room .options-text{display:flex;flex-direction:column;gap:10px;max-width:640px;margin:0 auto}.coco-room .option-card-text{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;background:var(--coco-paper);border:1px solid var(--coco-line);padding:22px 28px;cursor:pointer;font-family:var(--coco-sans);font-size:17px;color:var(--coco-text);transition:all .22s var(--coco-ease);display:flex;align-items:center;justify-content:space-between;gap:16px}.coco-room .option-card-text:hover{border-color:var(--coco-text);background:var(--coco-surface);transform:translate(2px)}.coco-room .option-card-text .option-marker{font-family:var(--coco-serif);font-style:italic;font-size:18px;color:var(--coco-accent);opacity:0;transform:translate(-6px);transition:all .22s var(--coco-ease)}.coco-room .option-card-text:hover .option-marker{opacity:1;transform:translate(0)}.coco-room .reveal{width:100%;max-width:1240px;margin:0 auto;animation:cocoFadeIn .6s var(--coco-ease-out)}.coco-room .reveal-header{text-align:center;margin-bottom:56px}.coco-room .reveal-header h1{font-family:var(--coco-serif);font-weight:400;font-size:clamp(40px,6vw,80px);line-height:1.05;margin:16px 0 14px;letter-spacing:-.005em}.coco-room .reveal-header h1 em{font-style:italic;color:var(--coco-accent)}.coco-room .reveal-header p{font-family:var(--coco-serif);font-style:italic;font-size:22px;color:var(--coco-text-soft);max-width:48ch;margin:0 auto}.coco-room .moodboard-and-form{display:grid;grid-template-columns:1fr;gap:56px;align-items:start}@media (min-width: 980px){.coco-room .moodboard-and-form{grid-template-columns:1.05fr .95fr;gap:72px}}.coco-room .moodboard{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--coco-text);padding:8px;animation:moodboardReveal .8s var(--coco-ease-out)}@keyframes moodboardReveal{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.coco-room .moodboard-tile{aspect-ratio:1 / 1;position:relative;background:var(--coco-paper);overflow:hidden;display:flex;align-items:center;justify-content:center}.coco-room .moodboard-tile-visual{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.coco-room .moodboard-tile-visual svg{width:60%;height:60%;color:var(--coco-text)}.coco-room .moodboard-tile-caption{position:absolute;left:14px;bottom:14px;z-index:2;font-family:var(--coco-serif);font-size:13px;font-style:italic;color:var(--coco-text);background:#fffefad9;padding:4px 8px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.coco-room .moodboard-tile.is-dark .moodboard-tile-caption{color:var(--coco-paper);background:#1a1a1abf}.coco-room .moodboard-tile.is-dark .moodboard-tile-visual svg{color:var(--coco-paper)}.coco-room .moodboard-tile-index{position:absolute;top:12px;right:12px;z-index:2;font-family:var(--coco-serif);font-style:italic;font-size:12px;color:var(--coco-text);background:#fffefad9;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.coco-room .moodboard-tile.is-dark .moodboard-tile-index{color:var(--coco-paper);background:#1a1a1abf}.coco-room .recipe{margin-top:32px;border-top:1px solid var(--coco-line);padding-top:28px}.coco-room .recipe-line{display:flex;gap:16px;padding:10px 0;border-bottom:1px solid var(--coco-line-dim)}.coco-room .recipe-line:last-child{border-bottom:none}.coco-room .recipe-num{font-family:var(--coco-serif);font-style:italic;font-size:14px;color:var(--coco-accent);min-width:32px}.coco-room .recipe-text{font-family:var(--coco-serif);font-size:18px;line-height:1.45;color:var(--coco-text)}.coco-room .recipe-text em{font-style:italic;color:var(--coco-accent)}.coco-room .form-block h3{font-family:var(--coco-serif);font-weight:400;font-size:30px;margin:0 0 8px;line-height:1.15}.coco-room .form-block .lede{font-size:15px;color:var(--coco-text-soft);margin:0 0 24px;max-width:42ch}.coco-room .form{display:flex;flex-direction:column;gap:16px}.coco-room .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 600px){.coco-room .form-row{grid-template-columns:1fr}}.coco-room .field{display:flex;flex-direction:column;gap:6px}.coco-room .field-label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--coco-text-muted)}.coco-room .field-input,.coco-room .field-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--coco-paper);border:none;border-bottom:1px solid var(--coco-line);padding:12px 0;font-family:var(--coco-sans);font-size:16px;color:var(--coco-text);border-radius:0;transition:border-color .2s var(--coco-ease);width:100%}.coco-room .field-input:focus,.coco-room .field-select:focus{outline:none;border-bottom-color:var(--coco-text)}.coco-room .field-select{background-image:linear-gradient(45deg,transparent 50%,var(--coco-text) 50%),linear-gradient(135deg,var(--coco-text) 50%,transparent 50%);background-position:calc(100% - 16px) 22px,calc(100% - 11px) 22px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}.coco-room .field-error{color:var(--coco-error);font-size:12px;font-style:italic}.coco-room .checkbox-row{display:flex;align-items:flex-start;gap:12px;margin-top:8px;font-size:13px;color:var(--coco-text-soft);line-height:1.5;cursor:pointer}.coco-room .checkbox-row input[type=checkbox]{margin-top:3px;accent-color:var(--coco-text);cursor:pointer}.coco-room .form-actions{display:flex;flex-direction:column;gap:12px;margin-top:16px}.coco-room .form-note{font-size:12px;color:var(--coco-text-muted);font-style:italic;line-height:1.5}.coco-room .result{animation:cocoFadeIn .6s var(--coco-ease-out);width:100%}.coco-room .result-hero{position:relative;background:var(--coco-text);color:var(--coco-paper);padding:100px 32px}.coco-room .result-hero-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:48px;align-items:center}@media (min-width: 900px){.coco-room .result-hero-inner{grid-template-columns:1.1fr .9fr;gap:80px}}.coco-room .result-hero .eyebrow{color:var(--coco-sand)}.coco-room .result-hero h1{font-family:var(--coco-serif);font-weight:400;font-size:clamp(40px,6vw,72px);line-height:1.02;margin:16px 0 18px}.coco-room .result-hero h1 em{font-style:italic;color:var(--coco-sand)}.coco-room .result-hero .tagline{font-family:var(--coco-serif);font-style:italic;font-size:clamp(18px,2vw,22px);max-width:48ch;margin:0 0 28px;color:var(--coco-sand)}.coco-room .result-hero .description{max-width:48ch;font-size:16px;line-height:1.6;color:var(--coco-paper)}.coco-room .result-moodboard{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:6px;background:var(--coco-paper)}.coco-room .result-moodboard .moodboard-tile-caption,.coco-room .result-moodboard .moodboard-tile-index{font-size:11px}.coco-room .cta-block{background:var(--coco-bg-deep);padding:96px 32px}.coco-room .cta-block-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:48px;align-items:center}@media (min-width: 800px){.coco-room .cta-block-inner{grid-template-columns:1.2fr .8fr;gap:80px}}.coco-room .cta-block h2{font-family:var(--coco-serif);font-weight:400;font-size:clamp(34px,4.6vw,56px);line-height:1.05;margin:14px 0 18px}.coco-room .cta-block h2 em{font-style:italic;color:var(--coco-accent)}.coco-room .cta-block p{font-size:16px;color:var(--coco-text-soft);max-width:48ch;margin:0 0 28px;line-height:1.6}.coco-room .cta-actions{display:flex;flex-direction:column;gap:12px}.coco-room .cta-actions .btn{width:100%;justify-content:space-between}.coco-room .atmosphere{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;padding:0}.coco-room .atmosphere img{width:100%;height:100%;aspect-ratio:1 / 1;object-fit:cover;display:block}@media (max-width: 700px){.coco-room .atmosphere{grid-template-columns:1fr}}.coco-room .result-footer{padding:40px 32px 80px;text-align:center}.coco-room .result-footer p{font-size:13px;color:var(--coco-text-muted);font-style:italic;margin:0}@media (max-width: 600px){.coco-room .header{padding:20px}.coco-room .shell-inner{padding:28px 18px 56px}.coco-room .result-hero,.coco-room .cta-block{padding-left:20px;padding-right:20px}}
