/* Notion reference: paper surfaces, strong sans-serif hierarchy, blue actions. */
:root{--bg:#f6f5f4;--ink:#191918;--muted:#615d59;--line:#e6e6e6;--orange:#615d59;--green:#0075de;--peach:#d6b6f6;--serif:Inter,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Segoe UI',sans-serif;--primary:#0075de;--primary-active:#005bab;--surface:#fff}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Segoe UI',sans-serif;font-feature-settings:'lnum','locl'}
h1,h2,h3{font-weight:700;color:var(--ink);letter-spacing:-.04em}h1{line-height:1.16}h2{font-size:40px;line-height:1.2}h3{letter-spacing:-.025em}p{color:var(--muted)}
.header{height:80px;max-width:none;padding:0 max(32px,calc((100vw - 1160px)/2));background:#fff;border-bottom:1px solid var(--line);gap:24px}
.brand{color:#191918;letter-spacing:-1px}.brand span{font-family:inherit;font-size:10px;letter-spacing:1px;color:#615d59}.brand img{border-radius:5px}nav{font-size:14px;gap:26px}.nav-pill{border:1px solid #e6e6e6;border-radius:8px;padding:8px 14px;background:#fff;min-height:44px;display:flex;align-items:center}nav a:hover{color:#0075de}
.hero{margin:32px -24px 0;padding:56px 48px 64px;gap:24px;background:#213183;border-radius:16px;position:relative;overflow:hidden}.hero h1{color:#fff;font-size:clamp(40px,4.25vw,62px);letter-spacing:-2px;line-height:1.2;margin-bottom:24px}.hero-copy{position:relative;z-index:1}.hero-copy>p{color:#e0e3f4;font-size:16px;line-height:1.7}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.6px;color:#e0e3f4;margin-bottom:24px}.eyebrow:before{display:none}.hero-note{color:#e0e3f4;font-size:12px}.hero-art{padding:0 12px;max-width:420px}.hero-art>img{border-radius:12px}.art-tag{background:#fff;border:1px solid #e6e6e6;border-radius:8px;box-shadow:0 4px 18px #0000000a;left:-12px;bottom:76px;transform:rotate(-4deg);color:#191918;padding:16px 20px}.art-tag small{font-family:inherit;color:#615d59;letter-spacing:.5px;font-size:10px;font-weight:600}.art-orbit{background:#ffbce8;color:#391c57;font-family:inherit;font-weight:650;font-size:11px;right:0;top:22px;box-shadow:none}.art-caption{color:#e0e3f4;font-size:11px;bottom:-30px;right:14px;letter-spacing:0}
.button{background:var(--primary);color:#fff;border-radius:9999px;font-size:16px;font-weight:550;padding:13px 24px;min-height:48px;gap:20px;transition:background .15s,transform .15s}.button:hover{background:var(--primary-active);transform:none}.button:active{transform:scale(.97)}.button.secondary{background:#fff;color:#191918;border:1px solid #e6e6e6;box-shadow:0 2px 7px #00000005}.button.secondary:hover{background:#f6f5f4}.button.small{border-radius:8px}.text-link{color:#0075de;border-bottom:0;font-size:14px;font-weight:550}.text-link:hover{text-decoration:underline}.button:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-color:#0075de}
.intro-strip{margin-top:28px;border-top:0;border-bottom:1px solid #e6e6e6;padding:20px 0;color:#615d59;font-size:13px}.intro-strip b{color:#191918}.overline{font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.6px;color:#615d59}.section{padding-top:80px;padding-bottom:64px}.section-heading p{font-size:16px}.steps{gap:20px;margin-top:36px}.step{background:#fff;border:1px solid #e6e6e6;border-radius:12px;padding:24px}.step-number{font-family:inherit;font-size:14px;font-style:normal;font-weight:650;color:#615d59;margin-bottom:30px}.step-symbol{width:44px;height:44px;border-radius:8px;background:#d6b6f6;color:#391c57;text-align:center;line-height:44px;margin-top:-4px}.step:nth-child(2) .step-symbol{background:#f9d4bb;color:#793400}.step:nth-child(3) .step-symbol{background:#d2eae7;color:#176460}.step h3{font-size:21px;font-weight:700}.step p{font-size:14px;line-height:1.7}
.story-section{background:#fff;border:1px solid #e6e6e6;border-radius:12px;padding:44px;gap:48px;margin-bottom:72px}.story-section h2{font-size:36px;line-height:1.3}.story-section p{font-size:15px;line-height:1.75}.sample-card{background:#f6f5f4;border:1px solid #e6e6e6;border-radius:12px;padding:28px;transform:none;box-shadow:none}.sample-card .flower,.result-head .flower{color:#191918}.sample-card .flower{background:#d6b6f6;width:44px;height:44px;display:grid;place-items:center;border-radius:8px;margin-bottom:16px}.sample-card h3{font-weight:700;font-size:25px;line-height:1.35}.sample-card p{font-size:14px}.sample-card small{color:#615d59;font-size:11px}.pill{background:#fff;color:#31302e;border:1px solid #e6e6e6;font-size:12px;border-radius:5px;padding:4px 9px}.pill:before{content:'';display:inline-block;width:6px;height:6px;background:#2a9d99;border-radius:50%;margin-right:6px;vertical-align:middle}.pill:nth-child(2):before{background:#dd5b00}.pill:nth-child(3):before{background:#a172d3}.example-label{color:#615d59;font-size:12px}.faq h2{font-size:32px;font-weight:700}.faq summary{font-size:15px;font-weight:550;min-height:26px}.faq details p{font-size:14px;color:#615d59}.faq summary:after{color:#191918}
footer{background:#f6f5f4;border-top:1px solid #e6e6e6;max-width:1160px;padding-top:32px}footer p,footer button,footer a,footer small{color:#615d59}footer .brand{color:#191918}footer p{font-size:13px}footer div{align-items:center;gap:20px;margin:12px 0}footer button{min-height:44px;font-size:12px}footer small{font-size:11px}
.page{margin-top:40px}.page-title h1{font-weight:700;letter-spacing:-1px;font-size:36px}.page-title p{font-size:14px}.back{color:#615d59;min-height:32px}.back:hover{color:#0075de}.progress-steps{color:#615d59;font-size:12px;gap:24px}.progress-steps .active{color:#0075de;font-weight:650}.panel{background:#fff;border-color:#e6e6e6;border-radius:12px;padding:24px}.mode-banner{background:#fff;border:1px solid #e6e6e6;border-left:3px solid #191918;color:#615d59;border-radius:4px;font-size:12px}.mode-banner strong{color:#191918}.upload-zone{background:#f6f5f4;border:1px dashed #a39e98;border-radius:8px}.upload-zone strong{font-weight:600}.upload-zone small{font-size:12px;color:#615d59}.upload-zone:focus-within{outline-color:#0075de}.upload-icon{color:#191918}.capture-tip{background:#f6f5f4;color:#615d59;border-radius:4px;font-size:12px}.field{font-size:14px;font-weight:550}.field small{color:#615d59;font-size:12px;font-weight:400}.field input{border:1px solid #ddd;border-radius:4px;background:#fff;padding:10px 12px;min-height:44px;font-size:16px;font-weight:400;color:#191918}.field input::placeholder{color:#817c77}.consent{font-size:12px;color:#615d59}.consent input{accent-color:#0075de}.caption{font-size:12px;color:#615d59}.error{border:1px solid #e8b4ac;background:#fff6f4;color:#982d20;border-radius:4px}.loading img{border-radius:8px}.loading h2{font-weight:700}.loading small{color:#615d59}
.result-head h1{font-size:36px;font-weight:700;line-height:1.3}.result-head p{font-size:16px;line-height:1.85}.result-head .flower{display:inline-grid;place-items:center;background:#d6b6f6;width:64px;height:64px;border-radius:12px}.chapter{background:#fff;border:1px solid #e6e6e6;border-radius:8px;padding:24px;margin-bottom:12px}.chapter summary{font-size:18px;font-weight:600}.chapter-number{font-family:inherit;font-weight:500;font-style:normal;color:#615d59;font-size:14px;margin-right:16px}.chapter p{font-size:15px;line-height:1.85;color:#31302e}.locked{font-size:16px;font-weight:550}.lock{color:#615d59;border-color:#e6e6e6;background:#f6f5f4;border-radius:5px;font-size:11px;font-weight:400}.pay-card{background:#fff;border:1px solid #e6e6e6;border-radius:12px;padding:32px}.pay-card h3{font-weight:700;font-size:26px}.pay-card p{font-size:14px}.price{font-weight:700}.price small{color:#615d59;font-weight:400}.result-actions{gap:16px;flex-wrap:wrap}.result-actions button{color:#615d59;min-height:44px}.result-actions button:hover{color:#0075de}.saved-item{background:#fff;border:1px solid #e6e6e6;border-radius:8px;padding:24px}.saved-item h3{font-weight:600}.saved-item .button{border-radius:8px;font-size:14px}.empty p{font-size:14px}dialog{background:#fff;border:1px solid #e6e6e6;border-radius:16px;box-shadow:0 23px 52px #0000000d}dialog::backdrop{background:#0005;backdrop-filter:none}dialog h2{font-weight:700}dialog p{font-size:14px}.dialog-close{color:#615d59;width:44px;height:44px;top:4px;right:4px}.modal-actions .button{font-size:14px;min-height:44px}#toast{background:#fff;border:1px solid #e6e6e6;color:#191918;border-radius:12px;box-shadow:0 4px 18px #0000000a;font-size:14px}
@media(max-width:1000px) and (min-width:761px){.hero{padding:40px 30px;gap:16px}.hero h1{font-size:44px}.hero-art{max-width:350px}.art-tag{left:-6px;font-size:11px}.art-orbit{width:68px;height:68px;font-size:10px}}
@media(max-width:760px){.header{height:72px;padding:0 20px}.nav-pill{font-size:12px;padding:8px 12px;min-height:44px}.wrap{padding:0 20px}.hero{margin:20px 0 0;padding:32px 24px 52px;gap:34px;border-radius:12px}.hero h1{font-size:40px;line-height:1.2;letter-spacing:-1.5px}.hero-copy{padding:0}.hero-copy>p{font-size:14px;line-height:1.75}.hero .eyebrow{font-size:9px;letter-spacing:.25px;margin-bottom:20px}.hero-note{font-size:10px;gap:10px;flex-wrap:wrap}.hero .button{font-size:14px;width:100%;padding:13px 16px;gap:16px}.hero-art{max-width:300px;padding:0 12px}.art-orbit{width:64px;height:64px;font-size:9px;right:-5px}.art-tag{font-size:11px;left:-6px;bottom:50px;padding:12px 14px}.art-tag small{font-size:8px}.art-caption{font-size:9px;right:10px;bottom:-25px}.intro-strip{font-size:10px;gap:6px;flex-wrap:wrap;margin-top:16px;padding:18px 0}.intro-strip b{font-size:14px}.section{padding-top:52px;padding-bottom:40px}.section h2{font-size:30px;line-height:1.25}.section-heading p{font-size:14px}.steps{gap:12px;margin-top:28px}.step{padding:24px}.step h3{font-size:20px}.step p{font-size:14px}.step-number{font-size:13px;margin-bottom:24px}.story-section{padding:26px 22px;gap:28px;margin-bottom:52px}.story-section h2{font-size:30px}.story-section p{font-size:14px}.sample-card{padding:22px;transform:none}.sample-card h3{font-size:23px}.sample-card small{font-size:10px}.faq{padding:0}.faq h2{font-size:28px}.faq summary{font-size:14px;min-height:28px}.faq details p{font-size:14px}.page{margin-top:24px;padding:0 20px}.page-title h1{font-size:30px}.page-title p{font-size:14px}.progress-steps{font-size:10px;gap:14px}.panel{padding:20px}.button{font-size:14px}.result-head h1{font-size:29px}.result-head p{font-size:15px}.chapter{padding:20px}.chapter summary{font-size:16px}.chapter-number{font-size:12px;margin-right:12px}.locked{font-size:14px}.pay-card{padding:24px 20px}.pay-card h3{font-size:24px}.saved-item{padding:18px}.saved-item .button{font-size:12px}.caption{font-size:11px}.modal-actions{gap:8px}.modal-actions .button{font-size:13px}.intro-strip span{white-space:normal}footer{padding:28px 24px}}
@media(max-width:360px){.hero{padding:28px 18px 48px}.hero h1{font-size:35px}.hero .eyebrow{font-size:8px}.art-tag{left:-4px;padding:10px}.intro-strip{justify-content:flex-start;gap:10px 14px}.progress-steps{gap:8px;font-size:9px}.chapter{padding:16px}.chapter-number{margin-right:8px}.lock{padding:3px 7px;font-size:10px}}
@media print{body{background:#fff}.chapter{border-color:#ddd}.result-head .flower{background:none}}


.photo-observations{text-align:left;background:#fff;border:1px solid #e6e6e6;border-radius:8px;padding:18px 22px;margin:20px 0;font-size:14px;color:#615d59}.photo-observations strong{color:#31302e;font-weight:600}.photo-observations ul{margin:10px 0 0;padding-left:18px}.photo-observations li{margin:5px 0;line-height:1.7}
