@font-face{font-family:DM Sans;src:url('./assets/dm-sans.woff2') format('woff2');font-display:swap;font-weight:100 900}
@font-face{font-family:Cormorant Garamond;src:url('./assets/cormorant-garamond.woff2') format('woff2');font-display:swap;font-weight:400 700}
@font-face{font-family:Caveat;src:url('./assets/caveat.woff2') format('woff2');font-display:swap;font-weight:400 700}
:root{--forest:#345044;--green:#597163;--sage:#becdc6;--pale:#e8eeE8;--yellow:#f4d35f;--sand:#e5d5b1;--paper:#faf9f3;--ink:#2c453c;--muted:#70766c;--line:#dedfd4;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--hand:'Caveat',cursive;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.2' filter='url(%23n)'/%3E%3C/svg%3E")}
button,input,textarea,select{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b99a23;outline-offset:5px}button,input,textarea{touch-action:manipulation}img{display:block;max-width:100%}svg.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.05}h1{font-size:clamp(42px,5vw,68px);letter-spacing:-1.7px}h2{font-size:clamp(34px,4vw,46px);letter-spacing:-.8px}h3{font-size:27px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase}.handwriting{font-family:var(--hand);font-weight:500}.subtext{color:var(--muted)}.skip-link{position:fixed;left:20px;top:-100px;z-index:99;background:var(--forest);color:white;padding:10px 20px}.skip-link:focus-visible{top:10px}.site-header{height:104px;max-width:1320px;margin:auto;padding:20px 44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:28px}.brand{display:flex;align-items:center;cursor:pointer;flex-shrink:0;background:transparent;padding:0}.brand img{width:146px;height:64px;object-fit:contain;mix-blend-mode:multiply}.header-nav{display:flex;align-items:center;gap:36px;font-size:13px}.nav-link{background:transparent;padding:9px 0;position:relative}.nav-link.active:after{position:absolute;content:'';height:2px;background:var(--forest);bottom:2px;left:0;right:0}.proto-badge{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;border:1px solid #ced5ca;border-radius:50px;padding:7px 13px;white-space:nowrap;display:flex;align-items:center;gap:7px}.proto-badge:before{content:'';width:6px;height:6px;border-radius:50%;background:#859c78}.menu-button{display:none;background:transparent;padding:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:52px;padding:13px 26px;border-radius:50px;font-weight:600;font-size:14px;transition:transform .2s,background .2s,box-shadow .2s}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn-primary{background:var(--forest);color:white;box-shadow:0 4px 0 #243c3210}.btn-primary:hover{background:#243f33}.btn-yellow{background:var(--yellow);color:#334a3c}.btn-yellow:hover{background:#f3ce40}.btn-outline{background:transparent;border:1px solid #bdc6b8}.btn-light{background:#fffdf5;border:1px solid var(--line)}.btn-small{min-height:42px;padding:9px 18px;font-size:12px}.arrow-disc{display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:50%;background:var(--forest);color:white;margin-left:14px}.arrow-disc .icon{width:17px;height:17px}.hero{max-width:1320px;padding:68px 44px 30px;margin:auto;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:36px}.hero-copy{padding:10px 0 24px}.intro-pill{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;border-radius:50px;background:#e9eee5;padding:8px 13px;margin-bottom:24px}.intro-pill .icon{width:15px;height:15px}.hero h1{font-size:clamp(62px,6.7vw,94px);line-height:.98;letter-spacing:-2.4px}.hero h1 em{position:relative;font-weight:500}.hero h1 em:after{content:'';position:absolute;height:10px;background:var(--yellow);opacity:.7;left:0;right:0;bottom:6px;z-index:-1;transform:rotate(-2deg)}.hero-description{font-size:16px;max-width:385px;margin:26px 0 28px;color:#667164;line-height:1.75}.hero .btn{font-size:15px;padding:12px 16px 12px 26px;min-height:59px}.microcopy{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center;margin-top:15px}.microcopy .icon{width:13px;height:13px}.hero-art{position:relative;padding:32px 10px 48px 12px;isolation:isolate}.hero-art:before{content:'';position:absolute;z-index:-1;background:#e8eddf;border-radius:50% 45% 49% 44%;inset:0 15px 7px -5px;transform:rotate(-8deg)}.hero-art:after{content:'';position:absolute;background:var(--yellow);z-index:-1;width:150px;height:170px;right:-12px;top:0;opacity:.5;clip-path:polygon(21% 4%,99% 1%,78% 100%,2% 92%);transform:rotate(15deg)}.hero-art .vision-board{transform:rotate(-3deg);filter:drop-shadow(0 16px 18px #263e3420)}.art-caption{position:absolute;bottom:-2px;left:65px;font:27px var(--hand);transform:rotate(-6deg)}.art-caption:after{display:none;content:'';font:55px var(--hand);position:absolute;right:-49px;top:-25px;transform:rotate(-15deg)}.hero-sun{position:absolute;right:-18px;bottom:26px;width:102px;mix-blend-mode:multiply;transform:rotate(15deg)}.art-tag{position:absolute;right:-4px;top:8px;z-index:4;background:#f7e8a7;width:106px;height:106px;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:50%;font:23px/1 var(--hand);transform:rotate(10deg);box-shadow:0 4px 9px #534f3210}.hero-bottom{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:22px;margin-top:9px;color:#73806f;font-size:10px;letter-spacing:2px}.hero-bottom:before,.hero-bottom:after{content:'';width:50px;height:1px;background:#b7c4b4}.start-section{max-width:1232px;margin:44px auto 0;padding:0 0 52px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.start-card{border-radius:14px;background:#e2eae0;display:flex;align-items:center;gap:20px;padding:27px 32px;text-align:left;border:1px solid #d9e1d5;transition:transform .2s}.start-card:hover{transform:translateY(-3px)}.start-card.gift{background:#f8efd0;border-color:#eddfb3}.start-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.start-icon .icon{width:37px;height:37px;stroke-width:1.2}.start-card h3{font-size:30px;margin-bottom:5px}.start-card p{font-size:12px;color:#6e7969}.start-card .circle-next{margin-left:auto;flex-shrink:0;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--forest);color:white}.soon-label{margin-left:auto;padding:5px 10px;border:1px solid #d4bf79;border-radius:30px;font-size:10px;white-space:nowrap}.steps-section{border-top:1px solid var(--line);padding:48px 30px 54px;text-align:center;max-width:1232px;margin:auto}.steps-section>.eyebrow{margin-bottom:15px}.steps-list{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:35px}.how-step>span{font:italic 25px var(--serif);color:#a3ad98}.how-step h3{font-size:24px;margin:10px 0}.how-step p{font-size:12px;max-width:245px;margin:auto;color:var(--muted)}.site-footer{max-width:1232px;margin:0 auto;border-top:1px solid var(--line);padding:23px 0 27px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-logo{width:104px;mix-blend-mode:multiply}.footer-links{display:flex;gap:22px;align-items:center}.footer-links button{background:none;padding:8px 0;font-size:10px}.footer-love{display:flex;align-items:center;gap:7px}.footer-love .icon{width:12px;height:12px;color:var(--green)}
.workspace{max-width:1120px;margin:0 auto;padding:38px 40px 60px;min-height:calc(100svh - 225px)}.flow-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;font-size:11px}.flow-label{display:flex;gap:9px;align-items:center;color:var(--green)}.flow-label .icon{width:16px;height:16px}.progress{height:4px;background:#e5e7dd;border-radius:10px;overflow:hidden;margin-bottom:35px}.progress>span{height:100%;display:block;background:var(--forest);border-radius:10px;transition:width .3s}.page-intro{margin-bottom:28px}.page-intro h1{font-size:49px;letter-spacing:-1px;max-width:700px}.page-intro p{margin-top:12px;color:var(--muted);font-size:14px}.page-intro .eyebrow{color:var(--green);margin-bottom:15px}.settings-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:start}.settings-group{margin-bottom:27px}.settings-group legend{font-size:13px;font-weight:600;margin-bottom:12px}.settings-group{border:0;padding:0}.group-number{width:23px;height:23px;background:#e7ecdf;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-right:7px;font-size:10px}.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.option-tile{position:relative;background:#fffdf7;border:1px solid var(--line);border-radius:10px;padding:7px;text-align:center;transition:border .15s,background .15s;min-width:0}.option-tile.selected{border:2px solid var(--forest);padding:6px;background:#f0f4e9;box-shadow:0 0 0 3px #bfcfc723}.option-tile .check{position:absolute;top:12px;right:12px;background:var(--forest);color:white;border-radius:50%;width:17px;height:17px;display:flex;align-items:center;justify-content:center;z-index:2}.check .icon{width:11px;height:11px;stroke-width:2.5}.tile-preview{height:76px;border-radius:5px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.option-name{display:block;font-size:10px;line-height:1.4;font-weight:500;margin-top:8px;margin-bottom:3px}.bg-cork{border:5px solid #b98b63;background-color:#bf9161;background-image:radial-gradient(#714c2c66 .7px,transparent .8px),radial-gradient(#d4ad7b .9px,transparent 1px);background-size:4px 5px,7px 9px;box-shadow:inset 0 1px 5px #5c321f44}.bg-white{background:#fafafa;border:4px solid #dddcd2;box-shadow:inset 1px 1px 5px #ddd}.bg-linen{border:4px solid #c2b8a5;background:repeating-linear-gradient(0deg,#d5cebd88 0px,#d5cebd88 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,#e9e2d5 0px,#e9e2d5 2px,#d4c9b8 2px,#d4c9b8 3px)}.mini-landscape{width:43%;height:65%;border:3px solid #fff;background:url('./assets/mountain.jpg') center/cover;transform:rotate(-9deg);box-shadow:1px 2px 3px #0002}.composition-preview{background:#e9e2d3;padding:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.composition-preview i{display:block;background:url('./assets/coast.jpg') center/cover;border:2px solid white;height:23px;box-shadow:1px 2px 2px #0002}.composition-preview i:nth-child(2),.composition-preview i:nth-child(5){background-image:url('./assets/nature.jpg')}.composition-preview i:nth-child(3),.composition-preview i:nth-child(4){background-image:url('./assets/friends.jpg')}.composition-preview.composition-free i:nth-child(2n){transform:rotate(17deg) scale(1.2)}.composition-preview.composition-free i:nth-child(2n+1){transform:rotate(-18deg) translate(2px,3px)}.composition-preview.composition-organic i:nth-child(2n){transform:rotate(7deg) translate(0,3px)}.composition-preview.composition-organic i:nth-child(3n){transform:rotate(-8deg)}.palette-preview{gap:0;height:48px;background:#faf7ef}.palette-preview i{width:24px;height:24px;border-radius:50%;margin-left:-3px}.orientation-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:310px}.orientation-tile{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px}.orientation-tile.selected{padding:12px}.orientation-tile .option-name{margin:0;font-size:11px}.orientation-symbol{width:28px;height:19px;border:1.5px solid #7b8a79;border-radius:2px;display:flex;align-items:center;justify-content:center}.orientation-symbol.portrait{width:17px;height:25px}.orientation-symbol .icon{width:15px;height:15px}.preview-aside{position:sticky;top:32px;text-align:center;margin-top:10px}.preview-aside .vision-board{margin:27px 0 20px;box-shadow:0 12px 25px #334f4418}.preview-aside>.eyebrow{font-size:10px;color:var(--green)}.preview-aside>p{font-size:11px;max-width:280px;margin:15px auto;color:var(--muted)}.preview-note{font:27px var(--hand);transform:rotate(-5deg);margin:18px 0}.flow-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}.flow-actions .btn{min-width:120px}.step-count{font-size:11px;color:var(--muted)}.question-layout{max-width:820px;margin:auto}.question-heading{position:relative;padding-right:60px}.question-heading .question-sun{position:absolute;width:68px;right:0;top:15px;mix-blend-mode:multiply}.question-heading h1{font-size:50px}.question-heading .subtext{font-size:13px;margin-top:13px}.optional-label{display:inline-block;border-radius:20px;background:#e8eddf;font-size:10px;padding:4px 10px;font-family:var(--sans);font-weight:500;margin-left:10px;vertical-align:middle;letter-spacing:0}.formulation-list{display:grid;gap:13px;margin-top:32px}.formulation-choice{background:#fffdf7;border:1px solid var(--line);border-radius:12px;padding:21px 24px;text-align:left;display:flex;gap:17px;align-items:center}.formulation-choice.selected{background:#eaf0e5;border:1.5px solid var(--forest);padding:20.5px 23.5px}.radio-circle{width:20px;height:20px;border:1px solid #aeb9a5;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.selected .radio-circle{border-color:var(--forest)}.selected .radio-circle:after{content:'';width:10px;height:10px;border-radius:50%;background:var(--forest)}.formulation-choice strong{display:block;font-size:14px;font-weight:600}.formulation-choice small{font-size:12px;color:var(--muted)}.gentle-note{font-size:11px;color:var(--muted);display:flex;align-items:flex-start;gap:8px;margin-top:23px}.gentle-note .icon{width:15px;height:15px;margin-top:2px}.choices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:27px}.choice-button{background:#fffdf7;border:1px solid #dedfd5;border-radius:11px;min-height:64px;text-align:left;padding:14px 15px;display:flex;align-items:center;gap:11px;font-size:12px;line-height:1.45;transition:background .15s,border-color .15s}.choice-button:hover{background:#f0f2e9}.choice-button.selected{background:#e5eddf;border-color:var(--forest);box-shadow:inset 0 0 0 .5px var(--forest)}.choice-marker{width:17px;height:17px;border:1px solid #b7c2af;border-radius:5px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.selected .choice-marker{background:var(--forest);border-color:var(--forest);color:white}.choice-marker .icon{width:12px;height:12px}.emotion-grid{grid-template-columns:repeat(4,1fr);gap:12px}.emotion-choice{padding:0;overflow:hidden;display:block;text-align:center;position:relative;min-height:0}.emotion-choice .emotion-img{height:87px;background-position:center;background-size:cover;display:block;position:relative}.emotion-choice .emotion-img:after{position:absolute;content:'';inset:0;background:linear-gradient(0deg,#334f4410,transparent)}.emotion-choice .emotion-label{display:block;padding:8px 4px;font-size:11px}.emotion-choice .choice-marker{position:absolute;top:9px;right:9px;background:#fffdf8df;border-radius:50%}.emotion-choice.selected .choice-marker{background:var(--forest)}.selected-count{font-size:11px;color:var(--green);display:flex;justify-content:space-between;align-items:center;margin:16px 0 7px;min-height:20px}.text-field{width:100%;border:1px solid #d8dccf;background:#fffdf7;color:var(--ink);border-radius:10px;padding:14px 16px;min-height:51px;transition:border-color .15s}.text-field::placeholder{color:#92988a;font-size:12px}.text-field:focus{border-color:var(--green)}textarea.text-field{resize:vertical;min-height:90px;line-height:1.7}.field-label{display:block;font-size:12px;font-weight:500;margin:21px 0 9px}.field-help{font-size:10px;color:var(--muted);margin-top:7px}.field-error{color:#9b4531;font-size:12px;margin-top:12px}.custom-response{margin-top:22px}.custom-response label{font-size:12px;display:block;margin-bottom:8px}.custom-line{display:flex;gap:8px}.custom-line .text-field{min-width:0}.custom-line .btn{padding:10px 16px;min-height:45px;font-size:11px}.custom-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.custom-tag{display:flex;gap:8px;align-items:center;border:1px solid var(--green);border-radius:30px;font-size:11px;padding:6px 11px;background:#e5eddf}.custom-tag .icon{width:12px;height:12px}.wish-fields{margin-top:28px;display:grid;gap:13px}.wish-row{display:flex;align-items:center;gap:12px}.wish-number{font:italic 22px var(--serif);width:22px;text-align:center;color:var(--green)}.wish-row .text-field{padding-right:40px}.wish-input-wrap{position:relative;flex:1}.remove-wish{position:absolute;right:8px;top:8px;background:none;padding:8px}.remove-wish .icon{width:15px;height:15px}.add-wish{margin:17px 0 0 34px;background:#e2ebe0;min-height:42px;padding:9px 17px;font-size:12px}.wish-note{display:flex;align-items:center;gap:14px;margin:30px 0 0 34px;background:#f5efdc;padding:16px 20px;border-radius:8px}.wish-note .icon{color:#ad8d35;width:26px;height:26px}.wish-note p{font:23px/1.2 var(--hand)}.checkbox-line{display:flex;gap:12px;align-items:flex-start;font-size:12px;padding:18px;border-radius:9px;background:#eaf0e4;margin-top:25px}.checkbox-line input{accent-color:var(--forest);width:17px;height:17px;margin-top:3px;flex-shrink:0}.checkbox-line small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.skip-button{background:none;font-size:11px;padding:10px;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}.generating{max-width:620px;margin:70px auto;text-align:center;padding:30px 50px;position:relative}.generating h1{font-size:58px;margin:25px 0 15px}.generating p{font-size:13px;color:var(--muted);max-width:350px;margin:auto}.generation-sun{width:110px;margin:auto;mix-blend-mode:multiply;animation:breathe 2s ease-in-out infinite}.loading-track{height:6px;background:#e5e8dd;border-radius:10px;margin:32px 0;overflow:hidden}.loading-track>span{height:100%;display:block;background:var(--forest);animation:progress 2.6s ease-out forwards}.generation-list{display:grid;gap:11px;text-align:left;max-width:260px;margin:auto;font-size:12px}.generation-list span{display:flex;align-items:center;gap:9px}.generation-list .icon{width:17px;height:17px}.simulation-chip{display:inline-flex;align-items:center;gap:7px;background:#f7edc9;padding:6px 12px;font-size:10px;border-radius:30px;letter-spacing:.2px}.simulation-chip .icon{width:13px;height:13px}.result-page{max-width:1190px}.result-top{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:30px}.result-top h1{font-size:51px;margin-top:12px}.result-top p{font-size:12px;color:var(--muted);margin-top:10px}.result-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:28px;align-items:start}.result-board-wrap .vision-board{box-shadow:0 15px 30px #334f4420}.result-board-wrap .vision-board[data-orientation='portrait']{max-width:460px;margin:auto}.result-aside{background:#edf0e6;border:1px solid #dfe5d5;border-radius:15px;padding:24px}.result-aside h3{font-size:27px;line-height:1.05;margin-bottom:18px}.action-button{background:#fffdf7;border:1px solid #dbe0d1;padding:15px 12px;border-radius:10px;display:flex;align-items:center;text-align:left;gap:11px;width:100%;margin-bottom:10px;transition:background .2s}.action-button:hover{background:white}.action-button>.icon{width:21px;height:21px}.action-button strong{font-size:11px;font-weight:600;display:block;line-height:1.5}.action-button small{font-size:10px;color:var(--muted);display:block;line-height:1.5;margin-top:2px}.revision-count{background:#f4e7b8;border-radius:50px;padding:10px 14px;font-size:10px;display:flex;align-items:center;justify-content:center;gap:8px;margin:17px 0}.revision-count .icon{width:15px;height:15px}.result-aside>.btn{width:100%;padding:12px 14px;font-size:12px}.result-disclaimer{font-size:10px;color:var(--muted);margin-top:19px;display:flex;align-items:flex-start;gap:7px}.result-disclaimer .icon{width:14px;height:14px;margin-top:2px}.result-caption{text-align:center;font:25px var(--hand);margin:20px 0;transform:rotate(-2deg)}.result-bottom{margin-top:24px;display:flex;justify-content:space-between;align-items:center;gap:10px}.result-bottom .btn{font-size:11px;min-height:42px}.download-note{max-width:850px;padding:17px 22px;background:#f1efdf;border-radius:9px;font-size:11px;margin-top:28px;color:#68715f}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:var(--forest);color:white;padding:13px 22px;border-radius:12px;z-index:100;max-width:calc(100vw - 36px);width:max-content;font-size:12px;box-shadow:0 10px 35px #0002;opacity:0;pointer-events:none;transition:.25s}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);border-radius:20px;padding:32px;max-width:480px;width:calc(100% - 32px);color:var(--ink);background:var(--paper);box-shadow:0 24px 80px #162f3930}dialog::backdrop{background:#233a2c66;backdrop-filter:blur(5px)}dialog h2{font-size:34px;padding-right:23px;margin-bottom:17px}dialog p{font-size:13px;color:var(--muted);margin-bottom:15px}dialog .dialog-close{position:absolute;top:18px;right:18px;border-radius:50%;background:#e9ecdf;width:30px;height:30px;display:flex;align-items:center;justify-content:center}dialog .dialog-close .icon{width:17px;height:17px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.download-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:23px 0}.download-option{background:#e8eedf;padding:22px 15px;text-align:center;border:1px solid #d1d9c5;border-radius:12px}.download-option .icon{width:31px;height:31px;margin:0 auto 12px;display:block}.download-option strong{font-size:12px}.download-option small{font-size:10px;color:var(--muted);display:block;margin-top:6px}.upload-label{display:block;background:#e8eedf;border:1px dashed #9bac92;border-radius:12px;padding:30px 20px;text-align:center;cursor:pointer;margin:20px 0}.upload-label .icon{margin:auto auto 12px;width:30px;height:30px}.upload-label input{display:block;max-width:100%;font-size:11px;margin:15px auto 0}.photo-preview{max-height:180px;width:100%;object-fit:contain;margin-top:15px;border-radius:8px}@keyframes breathe{50%{transform:rotate(8deg) scale(1.05)}}@keyframes progress{from{width:0}to{width:100%}}@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}main{animation:appear .35s ease}.hidden{display:none!important}
@media(min-width:1450px){.hero{padding-top:80px;padding-bottom:40px}.hero-art{padding-top:35px;padding-bottom:48px}.start-section{margin-top:50px}}
@media(max-width:1200px){.hero{padding-left:40px;padding-right:40px;gap:20px}.hero h1{font-size:78px}.start-section,.site-footer{margin-left:40px;margin-right:40px}.steps-section{margin-left:40px;margin-right:40px}.hero-art{padding-left:0}.art-tag{right:-10px}.settings-layout{gap:30px}.site-header{padding-left:40px;padding-right:40px}}
@media(max-width:900px){.hero{padding-top:45px;gap:10px}.hero h1{font-size:64px}.hero-description{font-size:14px}.hero-art{padding:30px 2px 45px}.art-caption{font-size:22px;left:24px}.art-tag{width:80px;height:80px;font-size:19px}.hero-sun{width:75px;right:-6px}.start-card{padding:24px 20px;gap:12px}.start-card p{font-size:11px}.start-card h3{font-size:27px}.soon-label{font-size:9px;padding:5px 7px}.header-nav{gap:23px}.workspace{padding:32px 28px 45px}.settings-layout{grid-template-columns:1.2fr 1fr;gap:24px}.tile-preview{height:62px}.option-name{font-size:9px}.preview-aside{margin-top:18px}.page-intro h1{font-size:45px}.choices-grid{gap:9px}.choice-button{font-size:11px;padding:12px}.emotion-choice{padding:0}.result-layout{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.result-aside{padding:20px}.result-top h1{font-size:45px}.footer-love{display:none}}
@media(max-width:680px){body{font-size:14px}.site-header{height:84px;padding:12px 21px;gap:15px}.brand img{width:120px;height:55px}.header-nav{gap:15px}.header-nav .nav-link{display:none}.proto-badge{font-size:8px;letter-spacing:.8px;padding:6px 9px}.menu-button{display:block;margin-right:-8px}.header-nav.mobile-open{position:absolute;right:18px;top:76px;padding:17px;background:#fffdf7;z-index:30;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 20px #0001;display:grid;gap:9px}.header-nav.mobile-open .nav-link{display:block}.hero{padding:34px 23px 20px;grid-template-columns:1fr;gap:12px}.hero-copy{padding:0}.intro-pill{font-size:9px;letter-spacing:1px;padding:6px 10px;margin-bottom:18px}.hero h1{font-size:66px;letter-spacing:-1.8px;max-width:330px}.hero-description{font-size:13px;line-height:1.65;max-width:310px;margin:18px 0 21px}.hero .btn{min-height:52px;font-size:13px;padding:9px 13px 9px 23px}.microcopy{font-size:10px;margin-top:11px}.hero-art{margin:7px 0 5px;padding:25px 9px 41px;max-width:440px;width:100%;justify-self:center}.hero-art:before{inset:10px 10px 8px}.hero-art:after{width:120px;height:130px;right:0;top:2px}.art-tag{width:78px;height:78px;top:5px;right:0;font-size:18px}.art-caption{font-size:23px;left:45px;bottom:1px}.hero-sun{width:65px;right:0;bottom:16px}.hero-bottom{font-size:8px;letter-spacing:1.3px;margin-top:7px;gap:12px}.hero-bottom:before,.hero-bottom:after{width:25px}.start-section{margin:20px 22px 0;padding-bottom:32px;gap:12px;grid-template-columns:1fr}.start-card{padding:19px 20px}.start-card h3{font-size:27px}.start-card p{font-size:11px}.start-icon{width:35px}.start-icon .icon{width:32px;height:32px}.start-card.gift{padding-top:17px;padding-bottom:17px}.soon-label{font-size:9px;padding:4px 9px}.steps-section{margin:0 23px;padding:32px 0}.steps-section h2{font-size:35px}.steps-section>.eyebrow{font-size:9px}.steps-list{grid-template-columns:1fr;gap:25px;margin-top:25px;text-align:left}.how-step{display:grid;grid-template-columns:40px 1fr;column-gap:10px}.how-step>span{grid-row:1/3;font-size:30px}.how-step h3{font-size:25px;margin:0 0 7px}.how-step p{max-width:none;margin:0;font-size:11px}.site-footer{margin:0 22px;display:grid;grid-template-columns:1fr auto;gap:13px;padding:20px 0}.footer-logo{width:90px}.footer-links{gap:15px;font-size:9px}.footer-links button{font-size:9px}.footer-copy{grid-column:1/-1;order:3;font-size:9px}.workspace{padding:25px 21px 34px;min-height:calc(100svh - 220px)}.flow-top{font-size:10px;margin-bottom:14px}.flow-label{gap:6px}.progress{margin-bottom:26px}.page-intro{margin-bottom:24px}.page-intro h1{font-size:39px;letter-spacing:-.7px}.page-intro p{font-size:12px;line-height:1.65;margin-top:10px}.page-intro .eyebrow{font-size:9px;margin-bottom:12px}.settings-layout{grid-template-columns:1fr;gap:0}.settings-group{margin-bottom:24px}.settings-group legend{font-size:12px}.option-grid{gap:8px}.option-tile{padding:6px}.option-tile.selected{padding:5px}.tile-preview{height:71px}.option-name{font-size:10px}.palette-preview{height:43px}.palette-preview i{width:24px;height:24px}.orientation-grid{max-width:none}.orientation-tile{padding:12px}.orientation-tile.selected{padding:11px}.preview-aside{position:static;margin-top:9px;background:#edf0e6;border-radius:12px;padding:20px 20px 3px}.preview-aside .vision-board{max-width:400px;margin:16px auto}.preview-aside .vision-board[data-orientation='portrait']{max-width:200px}.preview-note{font-size:24px;margin:14px 0 0}.preview-aside>p{font-size:10px;margin:9px auto 16px}.flow-actions{margin-top:26px;padding-top:19px;flex-wrap:wrap;gap:10px}.flow-actions .btn{min-height:47px;padding:10px 19px;font-size:12px;min-width:105px}.flow-actions .step-count{display:none}.question-heading{padding-right:15px}.question-heading h1{font-size:39px;letter-spacing:-.8px}.question-heading .question-sun{display:none}.question-heading .subtext{font-size:11px;margin-top:12px}.formulation-choice{padding:18px 17px}.formulation-choice.selected{padding:17.5px 16.5px}.formulation-choice strong{font-size:13px}.formulation-choice small{font-size:11px}.gentle-note{font-size:10px}.choices-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:23px}.choice-button{font-size:11px;min-height:68px;padding:12px 10px;gap:8px}.choice-marker{width:15px;height:15px}.emotion-grid{grid-template-columns:repeat(3,1fr);gap:8px}.emotion-choice{padding:0;min-height:0}.emotion-choice .emotion-img{height:74px}.emotion-choice .emotion-label{font-size:10px;padding:7px 2px}.emotion-choice .choice-marker{top:7px;right:7px}.selected-count{font-size:10px}.custom-response{margin-top:19px}.custom-response label{font-size:11px}.custom-line{gap:6px}.custom-line .btn{padding:9px 12px}.text-field{font-size:16px;padding:12px;min-height:48px}.text-field::placeholder{font-size:11px}.custom-tag{font-size:10px}.wish-fields{gap:11px}.wish-row{gap:7px}.wish-number{width:19px;font-size:20px}.add-wish{margin-left:26px;font-size:11px}.wish-note{margin-left:26px;padding:14px 16px;gap:11px}.wish-note p{font-size:21px}.field-label{font-size:11px}.field-help{font-size:10px}.skip-button{font-size:10px;padding:8px}.flow-actions .skip-button{order:3;width:100%}.generating{margin:35px auto 45px;padding:20px 10px}.generating h1{font-size:46px}.generating p{font-size:12px}.generation-sun{width:90px}.generation-list{font-size:11px}.result-top{display:block}.result-top h1{font-size:42px;margin-top:13px}.result-top p{font-size:11px}.result-top>.simulation-chip{margin-top:15px}.result-layout{grid-template-columns:1fr;gap:20px}.result-aside{padding:22px}.result-aside h3{font-size:29px}.result-aside .action-button{padding:14px}.action-button strong{font-size:12px}.action-button small{font-size:10px}.result-caption{font-size:24px;margin:16px 0 2px}.result-bottom{flex-wrap:wrap;gap:12px}.result-bottom .btn{font-size:10px;padding:9px 14px}.download-note{font-size:10px;padding:15px 17px}.toast{bottom:20px;font-size:11px;text-align:center;padding:12px 16px}dialog{padding:27px 23px}dialog h2{font-size:32px}dialog p{font-size:12px}.dialog-actions .btn{font-size:11px;padding:10px 16px}.download-option{padding:18px 10px}.download-option strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.loading-track>span{width:100%}}

/* Balance ta Vie — cartes légères et sélections solaires. */
.question-layout .progress{margin-bottom:23px}
.question-layout .page-intro{margin-bottom:20px}
.question-layout .question-heading h1{font-size:41px;letter-spacing:-.8px;line-height:1.07}
.question-layout .question-heading .eyebrow{margin-bottom:10px;display:flex;align-items:center;gap:9px}
.question-layout .question-heading .eyebrow:before{content:'';width:7px;height:7px;flex-shrink:0;background:var(--yellow);border-radius:50%;box-shadow:0 0 0 4px #f4d35f22}
.question-layout .question-heading .subtext{margin-top:10px}
.question-layout .question-sun{width:53px;top:4px}
.question-layout .choices-grid,.question-layout .emotion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:20px}
.question-layout .choice-button{min-height:53px;padding:11px 14px;gap:10px;background:#fffdf7;color:var(--forest);border-color:#dedfd4;font-size:12px;line-height:1.4;box-shadow:0 1px 0 #34504404}
.question-layout .choice-button:hover{background:#fff9df;border-color:#d9c978}
.question-layout .choice-button.selected{background:var(--yellow);color:var(--forest);border-color:#cfb44f;box-shadow:inset 0 0 0 .5px #cfb44f,0 3px 7px #c7a73312}
.question-layout .choice-button.selected:hover{background:#f4d35f;border-color:var(--forest)}
.question-layout .emotion-choice{position:relative;display:flex;text-align:left;overflow:visible}
.question-layout .emotion-img{display:none}
.question-layout .emotion-label{display:block;padding:0;font-size:12px;font-weight:500}
.question-layout .emotion-choice .choice-marker{position:static;border-radius:5px;background:transparent}
.question-layout .choice-marker{width:17px;height:17px;border-color:#aebaa3;background:#fffdf7}
.question-layout .selected .choice-marker{background:var(--forest);color:#fff;border-color:var(--forest)}
.question-layout .selected-count{margin:11px 0 5px;color:var(--forest)}
.question-layout .custom-response{margin-top:16px}
.question-layout .custom-tag{background:var(--yellow);color:var(--forest);border-color:#c8ae49}
.question-layout .flow-actions{margin-top:24px;padding-top:18px}
.question-layout .formulation-list{gap:10px;margin-top:22px}
.question-layout .formulation-choice{min-height:76px;padding:16px 21px;background:#fffdf7;color:var(--forest)}
.question-layout .formulation-choice.selected{padding:15.5px 20.5px;background:var(--yellow);border-color:#c7ae4a}
.question-layout .formulation-choice.selected small{color:#4e6048}
.question-layout .optional-label{background:#f8edbf;color:var(--forest);margin-left:3px;letter-spacing:0}
.question-layout .field-label{margin-top:17px;margin-bottom:7px}
.question-layout .wish-fields{margin-top:21px;gap:11px}
.question-layout .wish-note{margin-top:22px;background:#faf0c8}
.question-layout .add-wish{background:#f8edbf;color:var(--forest)}
.question-layout .checkbox-line{padding:15px;margin-top:20px;background:#fff9df}
.question-layout .checkbox-line:has(input:checked){background:var(--yellow);color:var(--forest)}
.question-layout .checkbox-line:has(input:checked) small{color:#4e6048}

/* Des vignettes qui montrent réellement les matières et compositions. */
.tile-preview.bg-cork{border:6px solid #a97243;background-color:#b78149;background-image:radial-gradient(#67401d80 .8px,transparent 1px),radial-gradient(#f0cd8f88 1.2px,transparent 1.5px),linear-gradient(120deg,#d5ad70,#aa773d);background-size:5px 7px,9px 11px,100% 100%;box-shadow:inset 0 2px 8px #69401b66,0 1px 2px #754b2026}
.tile-preview.bg-white{border:4px solid #d0d5d1;background:#fff;box-shadow:inset 0 0 0 2px #fff,0 1px 4px #52685d24}
.tile-preview.bg-linen{border:4px solid #b2aa91;background-color:#e3dcca;background-image:repeating-linear-gradient(0deg,#8d806333 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#fff8e8aa 0 1px,#ae9c7833 1px 2px,transparent 2px 4px);background-size:auto;box-shadow:inset 0 0 6px #81745b2b}
.bg-white .mini-landscape{width:42%;height:65%;transform:rotate(0);border:3px solid #fff;box-shadow:1px 3px 5px #34504425}
.bg-linen .mini-landscape{width:45%;height:64%;transform:rotate(5deg);border:3px solid #fffaf0}
.bg-cork .mini-landscape{transform:rotate(-10deg);border-color:#fffdf1}
.composition-preview{height:80px;background:#e5ddc9;isolation:isolate}
.composition-preview.composition-structured{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:5px;padding:10px;background:#f2f1e8}
.composition-preview.composition-structured i{height:25px;box-shadow:0 1px 2px #34504421}
.composition-preview.composition-free{display:block;padding:0;background:#e8d6b7}
.composition-preview.composition-free i{position:absolute;width:39%;height:42%;padding:0;border-width:3px}
.composition-preview.composition-free i:nth-child(1){left:8%;top:5%;transform:rotate(-17deg);z-index:1}
.composition-preview.composition-free i:nth-child(2){left:43%;top:2%;transform:rotate(17deg);z-index:2}
.composition-preview.composition-free i:nth-child(3){left:65%;top:37%;transform:rotate(-11deg);z-index:3}
.composition-preview.composition-free i:nth-child(4){left:9%;top:53%;transform:rotate(12deg);z-index:4}
.composition-preview.composition-free i:nth-child(5){left:35%;top:41%;transform:rotate(-9deg);z-index:5}
.composition-preview.composition-free i:nth-child(6){left:70%;top:1%;width:24%;height:32%;transform:rotate(14deg);z-index:0}
.composition-preview.composition-organic{display:block;padding:0;background:#e8eadd}
.composition-preview.composition-organic i{position:absolute;border-width:3px}
.composition-preview.composition-organic i:nth-child(1){left:7%;top:15%;width:40%;height:55%;transform:rotate(-5deg);z-index:2}
.composition-preview.composition-organic i:nth-child(2){left:47%;top:8%;width:33%;height:40%;transform:rotate(4deg);z-index:1}
.composition-preview.composition-organic i:nth-child(3){left:63%;top:47%;width:31%;height:41%;transform:rotate(-4deg);z-index:2}
.composition-preview.composition-organic i:nth-child(4){left:35%;top:52%;width:34%;height:40%;transform:rotate(3deg);z-index:3}
.composition-preview.composition-organic i:nth-child(5){left:7%;top:73%;width:23%;height:24%;transform:rotate(0);z-index:1}
.composition-preview.composition-organic i:nth-child(6){left:83%;top:10%;width:13%;height:28%;transform:rotate(8deg);z-index:0}
.palette-preview{height:54px;gap:0;background:#fffaf0;position:relative}
.palette-preview:after{content:'';position:absolute;left:21%;right:21%;bottom:5px;height:2px;background:#d7ccb2;opacity:.45;transform:rotate(-2deg)}
.palette-preview i{width:30px;height:30px;flex-shrink:0;margin-left:-5px;border:1.5px solid #fffdf5;box-shadow:1px 2px 4px #403f2820;z-index:1}
.palette-preview i:nth-child(2){transform:translateY(-3px);z-index:2}
.palette-preview i:nth-child(3){transform:translateY(2px);z-index:3}
.option-tile[data-key='palette'][data-value='soft'] .palette-preview{background:linear-gradient(130deg,#f3ead8,#f9f6ee)}
.option-tile[data-key='palette'][data-value='pastel'] .palette-preview{background:linear-gradient(130deg,#f4e1df,#e1eceb)}
.option-tile[data-key='palette'][data-value='vivid'] .palette-preview{background:linear-gradient(130deg,#fff0b3,#f8d7c2)}
.option-tile[data-key='palette'][data-value='vivid'] .palette-preview i{width:32px;height:32px}
.option-tile.selected{background:#fff9e3;border-color:var(--forest);box-shadow:0 0 0 3px #f4d35f27}
.group-number{background:#f7edc2;color:var(--forest)}

/* Emblème composé uniquement des deux signes officiels fournis. */
.generation-emblem{position:relative;width:138px;height:126px;margin:28px auto 9px;display:grid;place-items:center}
.generation-emblem .generation-sun{position:absolute;width:138px;top:0;left:0;margin:0;transform-origin:50% 90%}
.generation-emblem .generation-b{position:absolute;width:32px;height:auto;bottom:1px;left:53px;mix-blend-mode:multiply;transform:rotate(-5deg)}
.generating .generation-emblem+h1{font-size:52px;margin-top:16px}

@media(max-width:900px){
 .question-layout .question-heading h1{font-size:38px}
 .question-layout .choice-button{font-size:11px;padding:10px 12px;min-height:52px}
 .question-layout .emotion-label{font-size:11px}
 .composition-preview{height:69px}
 .composition-preview.composition-structured i{height:21px}
 .palette-preview{height:50px}
 .palette-preview i{width:27px;height:27px}
 .option-tile[data-key='palette'][data-value='vivid'] .palette-preview i{width:29px;height:29px}
}
@media(max-width:680px){
 .question-layout .progress{margin-bottom:19px}
 .question-layout .page-intro{margin-bottom:17px}
 .question-layout .question-heading h1{font-size:32px;letter-spacing:-.55px;line-height:1.08}
 .question-layout .question-heading .eyebrow{font-size:9px;gap:8px;margin-bottom:9px}
 .question-layout .question-heading .subtext{font-size:11px;margin-top:9px}
 .question-layout .choices-grid,.question-layout .emotion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:17px}
 .question-layout .choice-button{min-height:52px;padding:10px 11px;font-size:11px;gap:9px;border-radius:10px}
 .question-layout .choice-marker{width:15px;height:15px}
 .question-layout .emotion-label{font-size:11px}
 .question-layout .selected-count{font-size:10px;margin:10px 0 4px}
 .question-layout .custom-response{margin-top:13px}
 .question-layout .flow-actions{margin-top:21px;padding-top:17px}
 .question-layout .formulation-list{margin-top:19px;gap:9px}
 .question-layout .formulation-choice{min-height:73px;padding:15px 15px;gap:12px}
 .question-layout .formulation-choice.selected{padding:14.5px 14.5px}
 .question-layout .formulation-choice strong{font-size:12px}
 .question-layout .formulation-choice small{font-size:10px}
 .question-layout .gentle-note{margin-top:17px}
 .question-layout .wish-note{margin-top:19px}
 .composition-preview{height:73px}
 .composition-preview.composition-structured{padding:9px;gap:4px}
 .composition-preview.composition-structured i{height:23px;border-width:2px}
 .palette-preview{height:48px}
 .palette-preview i{width:27px;height:27px}
 .option-tile[data-key='palette'][data-value='vivid'] .palette-preview i{width:28px;height:28px}
 .generation-emblem{width:120px;height:113px;margin-top:22px}
 .generation-emblem .generation-sun{width:120px}
 .generation-emblem .generation-b{width:29px;left:46px;bottom:1px}
 .generating .generation-emblem+h1{font-size:43px;margin-top:13px}
}
