/* Refined floral visual system. Existing behavior and form semantics stay intact. */
h1[tabindex="-1"]:focus{outline:none}
:root{--ink:#322b35;--wine:#69354f;--pink:#f2e9ef;--line:#e4dfe3;--muted:#766b77;--cream:#fcfbfd;--green:#355b4e;--gold:#a57d4e}
body{background:radial-gradient(ellipse at 90% 0%,#f6edf4 0,transparent 45%),var(--cream);letter-spacing:.02em}
header{height:104px;max-width:1240px;border-bottom-color:#ddd3dd;padding:0 48px}.brand strong{font-family:'Noto Serif JP',serif;font-weight:600;font-size:30px;letter-spacing:.13em}.brand span{font-family:'Noto Sans JP',sans-serif;font-size:13px;font-weight:500;letter-spacing:.1em;margin-top:4px}.header-note{letter-spacing:.08em;font-size:13px;color:var(--wine)}
main{max-width:1180px;padding:46px 48px 55px;min-height:calc(100vh - 200px)}.hero{grid-template-columns:1.08fr 1fr;gap:40px;min-height:470px}.hero h1{font-size:clamp(30px,3.1vw,43px);line-height:1.8;letter-spacing:.04em;margin:18px 0 24px;font-weight:500}.hero>div:first-child{position:relative;z-index:1}.hero p{line-height:2.1;font-size:15px;margin-bottom:25px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.19em;color:var(--gold)}.hero .primary{max-width:360px}.primary{background:var(--wine);border:1px solid transparent;border-radius:4px;font-weight:500;letter-spacing:.045em;min-height:56px;box-shadow:0 8px 24px #69354f14;transition:background .2s,transform .2s,box-shadow .2s}.primary:hover{background:#4d2339;box-shadow:0 10px 25px #69354f24;transform:translateY(-1px)}.primary:disabled{transform:none}.back{border-radius:4px;border-color:#d6ccd7;color:var(--wine)}
.visual{border-radius:8px;min-height:470px;background:radial-gradient(circle at 50% 40%,#eee2ee 0,#f5eef5 45%,#f9f5f9 78%);overflow:hidden;border:1px solid #e9dfe9;padding:18px 18px 28px}.visual::before{content:'';position:absolute;inset:18px;border:1px solid #cdb7c266;pointer-events:none}.flower-icon{font-size:0;line-height:0;filter:none;display:block}.bouquet-image{display:block;object-fit:contain;width:100%;height:auto;aspect-ratio:1;filter:drop-shadow(0 12px 13px #48223f12)}.visual .flower-icon{width:min(100%,400px);margin-top:-12px}.visual .stamp{font-size:17px;letter-spacing:.13em;z-index:1;margin-top:-10px}.visual small{font-size:10px;letter-spacing:.21em;color:#927982;z-index:1;margin-top:7px}.under-hero{border:0;gap:0;margin-top:40px;padding:26px 0;background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.under-hero>div{padding:0 25px;border-right:1px solid var(--line)}.under-hero>div:first-child{padding-left:0}.under-hero>div:last-child{border:0}.under-hero .number{color:var(--gold);font-size:11px;letter-spacing:.1em}.under-hero b{font-weight:500;margin:6px 0 3px}.under-hero p{font-size:13px}.disclaimer{margin-top:22px;margin-bottom:8px}.prototype{background:none;padding:0;color:#8c818e;font-size:12px}
.progress{max-width:740px;gap:10px;margin-bottom:38px}.progress span{border-top:2px solid #e4dce6;font-size:12px;padding-top:10px;letter-spacing:.02em}.progress .active{border-color:var(--wine)}.flow{max-width:740px}.flow h1{font-size:30px;letter-spacing:.025em;margin:12px 0 15px}.lead{font-size:15px;line-height:1.9;margin-bottom:26px}.choices{gap:18px}.choice{position:relative;border-radius:8px;border:1px solid #e0d5e1;background:white;box-shadow:0 5px 22px #3e294907;transition:transform .2s,box-shadow .2s,border-color .2s}.choice:hover{transform:translateY(-3px);border-color:#bfa6ba;box-shadow:0 10px 26px #3e29490d}.choice.selected{border:1px solid var(--wine);box-shadow:inset 0 0 0 1px var(--wine),0 8px 24px #69354f12}.choice.selected::after{content:'✓';position:absolute;top:12px;right:12px;border-radius:50%;width:26px;height:26px;text-align:center;line-height:26px;background:var(--wine);color:white;font-size:15px}.choice .art{height:210px;background:linear-gradient(140deg,#ffffff9c,var(--tint));overflow:hidden;font-size:0;border-bottom:1px solid #e7dfe84d}.choice .art .bouquet-image{width:195px;height:195px;object-fit:contain;transition:transform .25s}.choice:hover .bouquet-image{transform:scale(1.04)}.choice .details{padding:18px 22px}.choice b{font-size:16px;font-weight:500;color:var(--ink)}.choice small{font-size:13px;margin-top:6px;line-height:1.7}.choice:last-child{min-height:165px;background:linear-gradient(100deg,#f7f1f9,white)}.choice:last-child .art{height:165px;width:200px;background:transparent;border:0}.choice:last-child .art .bouquet-image{width:160px;height:160px}.choice:last-child .details{padding:20px 26px}.category{border-radius:6px;padding:17px 20px;box-shadow:0 2px 10px #3e294904;transition:background .2s}.category.selected{background:#f3eaf2;border-color:var(--wine)}input,select,textarea{border-radius:5px;border-color:#d4cad6;box-shadow:0 2px 7px #3e294902;padding:15px;color:var(--ink)}.recipient,.notice{background:#f1edf3;border-radius:6px;border:1px solid #e7e0e9}.review{border-radius:8px;box-shadow:0 8px 28px #3e294909}.review-top{background:linear-gradient(140deg,#faf7fa,#f1e5ef)!important;padding:18px 0 25px}.review-top .flower-icon{width:210px;margin:0 auto 6px}.review-top b{font-family:'Noto Serif JP',serif;font-weight:500;font-size:19px}.review dl{padding:5px 28px}.review dl>div{padding:20px 0}.review dt{font-size:13px;color:var(--gold)}.success .flower-icon{background:radial-gradient(circle,#efe2ed,transparent 68%);border-radius:0;width:285px;height:auto;margin:14px auto 5px;display:block}.success h1{line-height:1.9;font-size:29px;font-weight:500}.receipt{padding:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0;color:var(--wine)}
.demo-nav{max-width:1240px;background:#f4f0f6;border-top:1px solid var(--line);padding:20px 48px;gap:12px 28px}.demo-nav>a{font-size:13px;color:var(--wine);text-decoration:none;border-bottom:1px solid #ccb9cc}.demo-nav>span{font-size:11px;letter-spacing:.08em}footer{max-width:1240px;padding:25px 48px;color:var(--muted)}footer>span{font-size:10px;letter-spacing:.14em}.workspace h1{color:var(--ink)}.workspace h2{font-weight:500}.stats>div{border-radius:6px;background:linear-gradient(130deg,#fff,#faf8fb);padding:22px}.stats strong{color:var(--wine);font-weight:500}.post-card{border-radius:8px;border-color:#e1d8e3;box-shadow:0 5px 20px #3e294906}.post-flower{width:78px;height:78px;border-radius:8px;background:#f5eff6!important;font-size:0}.post-flower .bouquet-image{width:78px;height:78px}.post-tags span{background:#f3eaf2;color:var(--wine)}.empty-state{border-color:#dbcfdf;border-radius:8px}.empty-state>span.empty-flower{width:120px;margin:0 auto 10px}.filter-tabs button.selected{background:var(--wine);border-color:var(--wine)}.filter-tabs button{border-color:var(--line)}.csv-box{background:#f2edf5;border:1px solid #e4dce8}.table-scroll th{background:#f2eaf3;color:var(--wine)}.tenant-table input{box-shadow:none}.tenant-summary,.registry-link{color:var(--wine)}.email-paper{background:#f2edf5}.email-paper .email-body{box-shadow:0 4px 12px #3e294905}.error{background:#fff1f1}.review-checks{background:#f2edf5}.text-button{color:var(--muted)}dialog{border-radius:8px;box-shadow:0 20px 80px #32213522}dialog h2{color:var(--wine);font-weight:500}
@media(max-width:800px){header{padding:0 28px}main{padding:35px 28px 42px}.hero{gap:22px}.hero h1{font-size:32px}.visual{min-height:385px;padding:15px}.visual .flower-icon{width:310px}.visual .stamp{font-size:14px}.visual small{font-size:9px}.demo-nav,footer{padding-left:28px;padding-right:28px}}
@media(max-width:650px){header{height:84px;padding:0 22px}.brand strong{font-size:25px}.brand span{font-size:12px}.header-note{font-size:11px;letter-spacing:.01em}main{padding:25px 22px 38px}.hero{display:flex;gap:25px}.visual{order:-1;margin:0;min-height:0;padding:8px 10px 23px;border-radius:7px;height:275px}.visual::before{inset:12px}.visual .flower-icon{width:245px;margin-top:-8px}.visual .stamp{font-size:14px;margin-top:-11px}.visual small{display:block;font-size:9px;margin-top:4px}.hero h1{font-size:29px;line-height:1.75;margin:11px 0 18px;letter-spacing:.025em}.hero .eyebrow{font-size:10px;letter-spacing:.12em}.hero p{font-size:14px;line-height:2}.hero .primary{max-width:none}.hero .hint{font-size:12px}.under-hero{margin-top:27px;padding:21px 0}.under-hero>div{padding:0 10px}.under-hero b{font-size:12px;margin-top:6px}.under-hero p{font-size:11px;line-height:1.8}.under-hero .number{font-size:9px;letter-spacing:0}.flow h1{font-size:25px;line-height:1.7}.flow .eyebrow{font-size:10px}.progress{gap:7px;margin-bottom:27px}.progress span{font-size:11px;padding-top:8px}.lead{font-size:14px;margin-bottom:22px}.choices{gap:12px}.choice .art{height:165px}.choice .art .bouquet-image{width:158px;height:158px}.choice .details{padding:14px 12px}.choice b{font-size:14px;line-height:1.7}.choice small{font-size:12px;line-height:1.75}.choice:last-child{min-height:140px}.choice:last-child .art{height:140px;width:136px}.choice:last-child .art .bouquet-image{width:135px;height:135px}.choice:last-child .details{padding:15px 12px}.choice.selected::after{width:22px;height:22px;line-height:22px;top:8px;right:8px;font-size:13px}.actions{gap:12px}.back{padding:12px 17px}.primary{padding:15px 18px}.category{font-size:15px}.review-top .flower-icon{width:190px}.review dl{padding:0 22px}.success .flower-icon{width:245px}.success h1{font-size:25px}.demo-nav,footer{padding:20px 22px}.demo-nav>a{font-size:12px}.stats>div{padding:15px}.post-flower{width:68px;height:68px}.post-flower .bouquet-image{width:68px;height:68px}}
@media(max-width:360px){.header-note{display:none}.hero h1{font-size:26px}.choice .art{height:140px}.choice .art .bouquet-image{width:135px;height:135px}.choice:last-child .art{width:110px}.choice:last-child .art .bouquet-image{width:110px;height:110px}.choice b{font-size:13px}.under-hero p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.choice:hover,.choice:hover .bouquet-image,.primary:hover{transform:none}*{transition:none!important}}
