/* Patient journey refinements: readable choices, compact upload, safe touch areas. */
.roadmap,.roadmap button,.roadmap .result-step{color:#626262}
.roadmap .current{color:#bd1422}.roadmap i{color:#777}.panel-heading>span{color:#626262}
.choice-button.nose-choice{text-align:right;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;position:relative;padding:14px 16px;min-height:82px}
.nose-choice strong{font-size:15px;font-weight:750;color:#272428}.nose-choice small{font-size:12px;line-height:1.85;color:#666;font-weight:400}
.nose-choice.selected{border-color:#e51b29;background:#fff5f6;box-shadow:inset 0 0 0 1px #e51b29}
.nose-choice.selected strong{color:#b31524}.nose-choice.selected small{color:#6e3940}
.login-card #authCode::placeholder{font-size:16px;letter-spacing:0;color:#777}
.login-card input:focus-visible{outline:3px solid #e51b2940;outline-offset:2px;border-color:#bd1422}
.contact-footer{padding-bottom:max(26px,calc(env(safe-area-inset-bottom) + 18px))}
@media(max-width:760px){
 .header{padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right))}
 #createScreen .create-heading .section-kicker{display:none}
 #createScreen .create-heading{margin:4px 0 12px}
 #createScreen .create-heading h1{font-size:21px;line-height:1.6;margin:0 0 5px}
 #createScreen .create-heading p{font-size:12px;line-height:1.9;margin:0}
 #createScreen .upload-panel{padding:15px}
 #createScreen .upload-box{min-height:145px;padding:14px}
 #createScreen .upload-box .upload-icon{height:37px;width:37px;font-size:25px;margin-bottom:6px}
 #createScreen .upload-box>small{display:none}
 #createScreen .photo-requirement{margin:0 0 12px;font-size:12px;line-height:1.8}
 #createScreen .panel-heading{margin-bottom:10px}
 #createScreen .sample-row{margin-top:6px}
 #createScreen .continue-button{margin-top:8px;min-height:50px}
 .roadmap button{min-height:44px}.roadmap button[aria-disabled="true"]{color:#626262}
 .choice-grid:has(.nose-choice){grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .choice-button.nose-choice{min-height:82px;padding:11px 12px;gap:4px}
 .nose-choice strong{font-size:14px}.nose-choice small{font-size:11px;line-height:1.8}
 .settings-panel:has(#transferArea:not([hidden])) #choiceButtons{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .settings-panel:has(#transferArea:not([hidden])) #choiceButtons .contour-option{font-size:13px;min-height:52px;padding:10px 12px;gap:9px}
 .settings-panel:has(#transferArea:not([hidden])) #choiceButtons .contour-check{width:20px;height:20px;flex-shrink:0}
 .generate-button{bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px))}
 .back-button,.sample-row .text-button,.settings-context .text-button{min-height:44px}
 .settings-context .text-button{font-size:12px}.settings-context{gap:8px;align-items:center}
 .contact-footer h2{font-size:20px;line-height:1.8}.contact-footer p{font-size:13px;line-height:2}
 .category-copy small,.service-card p,.upload-privacy{color:#626262}
 .upload-privacy{font-size:11px;line-height:1.8}
}
@media(max-width:370px){
 #createScreen .create-heading h1{font-size:20px}
 .choice-button.nose-choice{padding:10px;min-height:84px}.nose-choice small{font-size:11px}
 .roadmap{gap:5px}.roadmap .result-step{font-size:11px}
 .contact-footer h2{font-size:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Lightweight brand decoration; no animation loop or overlay over photos. */
body{background-color:#faf9f9;background-image:url('/simulator/assets/simulator-pattern.svg?v=5740dbcca4bd875c0eb7f250');background-position:center 120px;background-size:960px 820px;background-repeat:repeat-y}
.header{background:#171719;border-bottom:2px solid #e51b29;box-shadow:0 5px 22px #18181b14;backdrop-filter:none;color:#fff}
.header .brand{gap:12px}.header .brand img{width:62px;height:62px;padding:5px;background:#fff;border:1px solid #ffffff24;border-radius:15px;object-fit:contain;flex-shrink:0}
.header .brand b{color:#fff}.header .brand small{color:#d2cbd0}
.header .history-nav{background:#2c2b2f;color:#fff;border:1px solid #ffffff35;min-height:44px;border-radius:12px}
.header .history-nav:hover{background:#3b3033;border-color:#f46a73}
.header .header-categories a{background:#242326;color:#e7e3e5;border-color:#ffffff26}
.header .header-categories a.active{background:#e51b29;border-color:#e51b29;color:#fff}
.header .header-categories a:hover{border-color:#f46a73}
.header :focus-visible{outline-color:#ff8b93}
#catalogScreen .catalog-heading{margin:3px 0 18px;padding:0 14px 0 0;border-right:3px solid #e51b29}
#catalogScreen .catalog-heading h1{margin:3px 0 6px}
.catalog-meta:has(#clearFilter[hidden]){display:none}
.service-grid{margin-top:12px}
@media(max-width:760px){
 body{background-size:100% auto;background-position:center 150px}
 .header{gap:8px;padding-top:10px;padding-bottom:0}
 .header .brand{gap:9px}.header .brand img{width:52px;height:52px;padding:4px;border-radius:12px}
 .header .brand b{font-size:12px;line-height:1.65;max-width:240px}.header .brand small{font-size:10px}
 .header .history-nav{min-width:80px;padding:8px 9px;font-size:11px}
 .header .header-categories{padding:6px 0 10px;gap:6px}
 #catalogScreen .catalog-heading{margin:9px 0 14px;padding-right:11px}
 #catalogScreen .catalog-heading h1{font-size:22px;line-height:1.65}
 #catalogScreen .catalog-heading p{font-size:12px;line-height:1.9;margin:0}
 #catalogScreen .section-kicker{font-size:10px}
}
@media(max-width:370px){.header .brand img{width:46px;height:46px}.header .brand b{font-size:11px}.header .history-nav{min-width:70px;font-size:10px;padding:8px 6px}}

/* Clear card lanes: the action and icon never overlap the photograph. */
.header{background:linear-gradient(125deg,transparent 57%,#ffffff05 57%,#ffffff05 72%,transparent 72%),radial-gradient(ellipse at 90% 0,#3b2227,transparent 48%),#171719}
.category-tiles{gap:14px}
.category-tiles .category-tile,.category-tiles:has(>.category-tile:nth-child(3):last-child)>.category-tile:first-child{display:grid;grid-template-columns:82px minmax(0,1fr) 86px;align-items:center;gap:12px;min-height:140px;padding:16px;grid-column:auto;isolation:isolate;background:#fff;border:1px solid #e9dde0;box-shadow:0 4px 15px #29121a06}
.category-visual{width:82px;height:104px;position:relative;border-radius:15px;overflow:hidden;background:#f9f0f1;z-index:1}
.category-tiles .category-tile .category-photo,.category-tiles:has(>.category-tile:nth-child(3):last-child)>.category-tile:first-child .category-photo{position:static;inset:auto;width:100%;height:100%;object-fit:cover;opacity:.74;filter:grayscale(.4);mask-image:none;-webkit-mask-image:none;transform:none}
.category-tiles .category-copy{position:relative;z-index:1;min-width:0}.category-tiles .category-copy strong{font-size:15px;line-height:1.8}.category-tiles .category-copy small{font-size:11px;line-height:1.9;margin-top:5px}
.category-tiles .category-tile .category-count,.category-tiles:has(>.category-tile:nth-child(3):last-child)>.category-tile:first-child .category-count{position:relative;inset:auto;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:center;gap:6px;width:86px;min-height:94px;margin:0;padding:9px 6px;border:1px solid #f0c9cf;border-radius:15px;background:#fff5f6;color:#b91627;font-size:11px;box-shadow:none}
.category-tiles .category-tile .category-art,.category-tiles:has(>.category-tile:nth-child(3):last-child)>.category-tile:first-child .category-art{position:static;inset:auto;display:grid;place-items:center;width:31px;height:31px;margin:0;background:transparent;border:0;box-shadow:none;color:#b91627;border-radius:0}
.category-tiles .category-art svg{width:29px;height:29px}.category-tiles .category-count b{font-size:20px;line-height:1}
.category-tile:hover .category-count{background:#e51b29;color:#fff;border-color:#e51b29}.category-tile:hover .category-art{color:#fff}
.service-card{isolation:isolate;position:relative;background:#fff;border-color:#eadfe2;box-shadow:0 4px 16px #29121a05}
.service-art{overflow:hidden;border:1px solid #eee6e8}.service-art .service-photo{mask-image:none;-webkit-mask-image:none;opacity:.75}
.service-card .service-copy{position:relative;z-index:1;min-width:0}
.service-card .service-open{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:58px;padding:10px 7px;background:#fff4f5;border:1px solid #f1cbd0;border-radius:14px;color:#b91627;box-shadow:none}
.service-card .service-open .service-icon{position:static;inset:auto;width:26px;height:26px;background:transparent;border:0;border-radius:0;color:inherit;box-shadow:none;transform:none}
.service-card .service-open .service-icon:before{display:none}.service-card .service-open .service-icon svg{width:26px;height:26px}
.service-card .service-open small{font-size:11px}.service-card .service-open b{font-size:20px;line-height:1}
.service-card:hover .service-open{background:#e51b29;color:#fff;border-color:#e51b29}
.card-motif{position:absolute;left:16%;bottom:-25px;width:120px;height:120px;pointer-events:none;color:#b91627;opacity:.045;z-index:0;transform:rotate(-14deg)}
.card-motif svg{width:100%;height:100%;stroke-width:.6}
.service-card[data-art-tone="1"],.category-body{background:linear-gradient(135deg,#fff 50%,#fbf4f5)}
.service-card[data-art-tone="1"] .card-motif{left:22%;bottom:auto;top:-30px;transform:rotate(18deg);opacity:.055}
.service-card[data-art-tone="2"],.category-breast{background:linear-gradient(35deg,#fff 50%,#f7f5f6)}
.service-card[data-art-tone="2"] .card-motif{color:#262326;transform:rotate(-5deg);left:21%}
.header .brand-mark{position:relative;display:grid;place-items:center;flex-shrink:0;width:72px;height:72px;overflow:visible}
.header .brand .brand-mark img{width:68px;height:68px;border-radius:18px}
.header .brand-mark:before{content:'';position:absolute;inset:-3px;border:1px solid #ffffff20;border-top-color:#ff5a67;border-bottom-color:#ff5a67;border-radius:50%;animation:brand-orbit 7s linear 2;pointer-events:none}
.header .brand-mark:after{content:'✦';position:absolute;right:-3px;top:-6px;color:#ff7380;font-size:17px;line-height:1;text-shadow:0 0 9px #e51b2930;animation:brand-spark 3.5s ease-in-out 3;pointer-events:none}
@keyframes brand-orbit{to{transform:rotate(360deg)}}@keyframes brand-spark{0%,100%{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.12)}}
@media(max-width:1050px) and (min-width:761px){.category-tiles .category-tile,.category-tiles:has(>.category-tile:nth-child(3):last-child)>.category-tile:first-child{grid-template-columns:62px minmax(0,1fr) 64px;gap:9px;padding:12px}.category-visual{width:62px;height:96px}.category-tiles .category-copy strong{font-size:13px}.category-tiles .category-tile .category-count{width:64px;font-size:10px}}
@media(max-width:760px){
 .category-tiles,.category-tiles:has(>.category-tile:nth-child(3):last-child){grid-template-columns:1fr;gap:10px}
 .category-tiles .category-tile,.category-tiles:has(>.category-tile:nth-child(3):last-child)>.category-tile:first-child{grid-template-columns:64px minmax(0,1fr) 78px;min-height:110px;gap:11px;padding:12px}
 .category-visual{width:64px;height:84px;border-radius:12px}
 .category-tiles .category-copy strong{font-size:14px}.category-tiles .category-copy small,.category-tiles:has(>.category-tile:nth-child(3):last-child)>.category-tile:first-child .category-copy small{font-size:10px}
 .category-tiles .category-tile .category-count,.category-tiles:has(>.category-tile:nth-child(3):last-child)>.category-tile:first-child .category-count{width:78px;min-height:84px;padding:7px 4px;font-size:10px;gap:4px}
 .service-card{grid-template-columns:64px minmax(0,1fr) 52px;gap:10px;padding:12px 10px;min-height:120px}.service-art{width:64px;height:88px}
 .service-card .service-open{min-width:52px;padding:8px 5px;gap:5px}.service-card .service-open .service-icon,.service-card .service-open .service-icon svg{width:23px;height:23px}
 .header .brand-mark{width:61px;height:61px;margin:2px}.header .brand .brand-mark img{width:58px;height:58px;border-radius:15px}.header .brand-mark:after{font-size:14px;top:-3px}
 .header .brand{gap:10px}.header .brand b{font-size:11px}
}
@media(max-width:370px){.category-tiles .category-tile,.category-tiles:has(>.category-tile:nth-child(3):last-child)>.category-tile:first-child{grid-template-columns:53px minmax(0,1fr) 68px;gap:8px;padding:10px}.category-visual{width:53px;height:82px}.category-tiles .category-copy strong{font-size:12px}.category-tiles .category-tile .category-count,.category-tiles:has(>.category-tile:nth-child(3):last-child)>.category-tile:first-child .category-count{width:68px;font-size:9px}.service-card{grid-template-columns:50px minmax(0,1fr) 46px;gap:8px}.service-art{width:50px;height:82px}.service-card .service-open{min-width:46px}.header .brand-mark{width:53px;height:53px}.header .brand .brand-mark img{width:50px;height:50px}.header .brand b{font-size:10px}.header .brand{gap:8px}}
@media(prefers-reduced-motion:reduce){.header .brand-mark:before,.header .brand-mark:after{animation:none}}
.body-privacy-hint{margin:0 0 14px;padding:10px 12px;border-inline-start:2px solid #d92037;border-radius:10px;background:#fff4f5;color:#5e3940;font-size:12px;line-height:1.9}
.body-privacy-hint strong{display:block;color:#972033;margin-bottom:2px;font-weight:700}
.quota-notice{margin:0 0 16px;padding:12px 16px;border:1px solid #eee0e2;border-radius:14px;background:#fff7f8;color:#66333a;font-size:13px;line-height:1.9}
.quota-notice p{margin:0}.quota-notice a{display:inline-block;margin-top:4px;color:#af1731;font-weight:700;text-decoration:none}.quota-exhausted{border-color:#efb8c1;background:#fff1f3}

/* Local preview: visible sample-photo choice. No animation or external dependency. */
.header .brand-mark{width:80px;height:80px;background:#fff;border-radius:50%}
.header .brand .brand-mark img{width:76px;height:76px;border-radius:50%;object-fit:contain}
@media(max-width:760px){.header .brand-mark{width:68px;height:68px}.header .brand .brand-mark img{width:64px;height:64px}}
@media(max-width:370px){.header .brand-mark{width:60px;height:60px}.header .brand .brand-mark img{width:56px;height:56px}}
.visible-sample.sample-row{display:block;margin:14px 0}
.sample-choice{display:flex;align-items:center;gap:16px;width:100%;padding:12px;text-align:right;background:linear-gradient(115deg,#fff 58%,#fff3f4);border:1px solid #ebc9ce;border-radius:16px;color:#222;transition:border-color .16s,box-shadow .16s}
.sample-choice:hover,.sample-choice:focus-visible{border-color:#d51b30;box-shadow:0 0 0 3px #d51b3012;outline:none}
.sample-choice:disabled{opacity:.6;cursor:wait}
.sample-thumbnail{position:relative;display:block;flex:0 0 72px;width:72px;height:88px;overflow:hidden;background:#eee;border:1px solid #fff;border-radius:11px}
.sample-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.sample-thumbnail>span{position:absolute;bottom:0;inset-inline:0;background:#191919c9;color:white;font-size:10px;text-align:center;padding:2px}
.sample-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.sample-copy strong{font-size:14px;font-weight:750;line-height:1.7}.sample-copy small{font-size:11px;color:#757575}
.sample-action{display:flex;align-items:center;gap:14px;margin-top:5px;color:#be1930;font-size:12px;font-weight:750}
@media(max-width:760px){#photoPanel .upload-box{min-height:170px;padding:18px 12px}#photoPanel .upload-icon{width:42px;height:42px;font-size:27px;margin-bottom:9px}#photoPanel .upload-box small{margin-top:9px}.sample-choice{gap:12px;padding:10px}.sample-thumbnail{flex-basis:64px;width:64px;height:78px}.sample-copy strong{font-size:12px}.sample-action{font-size:11px}}
@media(max-width:760px){#createScreen .create-heading{margin-bottom:14px}#createScreen .create-heading h1{font-size:24px;line-height:1.6}#createScreen .roadmap{margin:12px 0 18px}#photoPanel .upload-box{min-height:142px}#createScreen .photo-requirement{margin-bottom:12px}}
@media(max-width:760px){#createScreen .create-heading h1{font-size:22px;line-height:1.5}#createScreen .roadmap{margin-bottom:12px}#photoPanel .upload-box{min-height:124px;padding:14px 12px}.sample-choice{padding:8px 10px}.sample-thumbnail{height:70px}.sample-thumbnail img{object-fit:contain}}
