/* Golden Young boutique skin-care identity: pearl, champagne and warm copper. */
:root {
  --paper:#fff; --warm-white:#fcfbf8; --beige:#f5eee6; --beige-strong:#e9dacc;
  --blush:#f2e4d8; --rose:#b38b70; --rose-dark:#5b4938; --gold:#b18a65;
  --ink:#36342f; --body:#605c54; --muted:#777268; --line:#eadfd5;
  --bg:#f7f6f2; --sidebar:#fff; --panel:#fff;
}
html,body { background:#fcfbf8; }
body::before { display:none; }
.page-enter { animation:none; }
.topbar { width:calc(100% - 48px); max-width:1080px; min-height:102px; padding:16px 0; border-color:#e9dfd5; }
.brand { gap:2px; }
.gy-wordmark { width:215px; }
.gy-brand-caption { margin-top:0; color:#8d7765; font-size:10px; letter-spacing:.1em; gap:9px; }
.gy-brand-caption i { background:#c6a889; }
.topbar-note { color:#92775f; padding:9px 12px; border:1px solid #e8d9ca; border-radius:30px; background:#fffaf4; font-size:8px; }
.page-shell { width:calc(100% - 48px); max-width:1080px; margin:0 auto 40px; }
.button { min-height:52px; border-radius:12px; font-size:14px; letter-spacing:.03em; transition:background-color .15s ease,box-shadow .15s ease; }
.button-primary { color:#fff; background:#66523d; border-color:#66523d; box-shadow:0 6px 14px #76553f16; }
.button-primary:hover { background:#51412f; border-color:#51412f; }
.button-secondary { color:#87654c; border-color:#dfcbbb; background:#fffcf8; }
.button:focus-visible,a:focus-visible { outline:3px solid #c8a98c; outline-offset:4px; }
.text-link { color:#8f6d53; font-size:12px; }
.eyebrow,.gy-kicker { color:#a18369; }
.gy-kicker { gap:10px; font:9px/1.7 Georgia,serif; letter-spacing:.16em; }
.gy-kicker>span { width:25px; height:1px; background:#bea084; }
.gy-hero { position:relative; grid-template-columns:1.12fr .94fr; gap:55px; padding:45px 0 36px; align-items:center; }
.gy-hero-copy { position:relative; padding:18px 0; }
.gy-hero-label { margin:22px 0 0; color:#857763; font-size:12px; letter-spacing:.1em; }
.gy-hero h1 { margin:13px 0 20px; color:#373630; font:500 clamp(28px,3.2vw,38px)/1.5 "PingFang SC","Microsoft YaHei",sans-serif; letter-spacing:.025em; }
.gy-hero-subtitle { margin:0 0 22px; color:#59564e; font:400 25px/1.75 Georgia,"Songti SC","SimSun",serif; letter-spacing:.04em; }
.gy-hero .hero-lead { max-width:440px; margin:0; color:#6c675e; font-size:13px; line-height:2; }
.hero-actions { display:flex; align-items:center; justify-content:flex-start; max-width:none; gap:23px; margin:29px 0 0; }
.gy-hero .button { min-width:190px; justify-content:space-between; padding:0 22px; }
.gy-duration { display:flex; flex-wrap:wrap; align-items:center; gap:10px; color:#787164; font-size:10px; margin-top:19px; }
.gy-duration i { background:#d2bda8; }
.gy-assessment-index { position:relative; min-width:0; padding:27px; border:1px solid #f0e1d4; border-radius:26px; background:linear-gradient(145deg,#ffffff 2%,#f7ecdf 100%); box-shadow:0 18px 50px #8763420a,inset 0 1px #fff; overflow:hidden; }
.gy-index-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.gy-index-head>span { color:#857966; font:8px Georgia,serif; letter-spacing:.13em; }
.gy-index-head>b { color:#8f7655; font:12px Georgia,serif; letter-spacing:.1em; padding:6px 9px; border-radius:6px; border:1px solid #e9d6c3; background:#fffcf7; }
.gy-index-heading { padding:19px 2px 21px; }
.gy-index-heading>p { margin:0 0 9px; color:#8b7353; font-size:10px; letter-spacing:.18em; }
.gy-index-heading h2 { margin:0; color:#464238; font:400 26px/1.7 Georgia,"Songti SC","SimSun",serif; }
.gy-index-heading>span { display:block; margin-top:10px; color:#7c7465; font-size:10px; }
.gy-assessment-index ol { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0; padding:0; list-style:none; }
.gy-assessment-index li { position:relative; display:grid; grid-template-columns:30px 1fr; align-items:center; gap:9px 10px; padding:22px 17px 15px; min-height:113px; border:1px solid #efe2d5; border-radius:14px; background:#fffcf8cf; }
.gy-assessment-index li>span { position:absolute; right:12px; top:10px; color:#9b8d76; font:8px Georgia,serif; }
.gy-assessment-index li>svg { width:29px; height:29px; stroke:#a3875d; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
.gy-assessment-index li div { min-width:0; }
.gy-assessment-index li b { display:block; font-size:15px; font-weight:500; color:#504a3e; }
.gy-assessment-index li small { display:block; margin-top:4px; font:8px Georgia,serif; color:#8a7e68; }
.gy-assessment-index li em { grid-column:1/-1; padding:8px 0 0; margin:0; border-top:1px solid #f0e3d6; color:#907652; font:11px Georgia,serif; letter-spacing:.1em; }
.gy-index-footer { display:flex; align-items:center; justify-content:center; gap:9px; padding:17px 0 0; margin:0; border:0; color:#84765f; font:10px/1.7 "PingFang SC","Microsoft YaHei",sans-serif; letter-spacing:.04em; }
.gy-index-footer>span { color:#b78b62; font-size:17px; }
.gy-facts { display:grid; grid-template-columns:repeat(3,1fr); margin:0 0 0; padding:24px 10px; border:1px solid #efe3d7; border-radius:17px; background:#ffffff; box-shadow:0 8px 24px #805f3e04; text-align:center; }
.gy-facts span { color:#786f60; font-size:12px; }
.gy-facts span+span { border-left:1px solid #eee1d3; }
.gy-facts b { color:#8d6f48; font:31px Georgia,serif; margin-right:10px; }
.method-section { margin:0; padding:45px 0 28px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.section-heading { text-align:left; }
.section-heading>p { color:#8d795a; font:9px Georgia,serif; letter-spacing:.17em; }
.section-heading h2 { color:#464238; margin:12px 0 9px; font:400 26px/1.5 Georgia,"Songti SC","SimSun",serif; }
.section-heading>span { color:#756e61; font-size:12px; line-height:1.9; }
.method-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; margin-top:24px; }
.method-grid article { position:relative; display:block; padding:24px; border:1px solid #eee1d5; border-radius:17px; background:#ffffff; box-shadow:0 8px 22px #805f3e03; }
.method-grid article>span { display:block; width:auto; height:auto; padding:0; border-radius:0; background:none; color:#ad9674; font:21px Georgia,serif; text-align:left; }
.method-grid article>small { position:absolute; right:21px; top:29px; color:#93826b; font:8px Georgia,serif; letter-spacing:.1em; }
.method-grid h3 { color:#4c463b; margin:20px 0 10px; font-size:15px; font-weight:500; }
.method-grid p { color:#746c5d; margin:0; font-size:12px; line-height:1.9; }
.gy-brand-story { display:grid; grid-template-columns:1fr 1.28fr; gap:38px; margin-top:4px; padding:33px; border:1px solid #ebdac9; border-radius:22px; background:linear-gradient(120deg,#f4e7d9,#fbf4ea); }
.gy-brand-story h2 { color:#4f493b; margin:13px 0; font-size:20px; font-weight:500; }
.gy-since { color:#88775c; font-size:11px; }
.gy-brand-story>div>p:not(.gy-kicker) { color:#74695a; font-size:12px; line-height:2; margin:6px 0 11px; }
.gy-brand-description { color:#8a7b66!important; font-size:11px!important; }
.site-footer { width:calc(100% - 48px); max-width:1080px; margin:0 auto; padding:26px 0; border-top:1px solid #e8dcd0; background:transparent; }
.footer-lockup { justify-content:space-between; align-items:center; gap:24px; }
.gy-wordmark-footer { width:153px; }
.footer-lockup b { color:#655e50; font:11px Georgia,"Microsoft YaHei",sans-serif; letter-spacing:.02em; }
.footer-lockup small,.site-footer>p { color:#887b64; font-size:10px; line-height:1.8; }
.gy-flow-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:650px; gap:16px; padding:0; margin:28px auto 0; list-style:none; border:0; }
.gy-flow-steps li { display:flex; align-items:center; justify-content:center; gap:9px; padding:11px 0; border-bottom:2px solid #eee0d3; color:#8b8377; }
.gy-flow-steps span { display:grid; place-items:center; width:23px; height:23px; border-radius:7px; background:#f3eade; color:#92816a; font:11px Georgia,serif; }
.gy-flow-steps b { font-size:11px; font-weight:400; }
.gy-flow-steps .current { color:#6d5639; border-color:#b78f69; }
.gy-flow-steps .current span { border:0; padding:0; color:#fff; background:#b18c68; }
.gy-flow-steps .complete { color:#8f7755; }
.gy-access-layout { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding:45px 0 50px; }
.gy-access-story { padding:0 8px; }
.gy-access-story h1 { color:#4d463b; margin:18px 0; font:400 31px/1.8 Georgia,"Songti SC","SimSun",serif; }
.gy-access-story>p:not(.gy-kicker) { color:#796c59; font-size:13px; line-height:1.9; }
.gy-access-story dl { display:grid; gap:17px; margin:26px 0; padding:23px; border:1px solid #ebddcd; border-radius:14px; background:#f7eee3; }
.gy-access-story dt { color:#8b7a62; font-size:10px; }
.gy-access-story dd { color:#62523b; font-size:12px; line-height:1.8; margin:6px 0 0; }
.gy-access-story>span { color:#baa38c; font:8px Georgia,serif; letter-spacing:.12em; }
.form-card,.gy-access-layout .form-card { width:100%; max-width:680px; margin:0; padding:34px; border:1px solid #ebded1; border-radius:22px; background:#ffffff; box-shadow:0 14px 40px #805d3a06; }
.access-card .back-link { display:inline-flex; margin-bottom:24px; color:#8e7c62; font-size:11px; }
.form-card h1 { color:#4c463b; font-size:25px; font-weight:400; }
.section-lead { color:#726859; font-size:12px; line-height:1.9; }
.privacy-note { padding:16px 18px; border:0; border-radius:12px; background:#f8f0e6; color:#83745f; }
.privacy-note b { color:#7e6747; }
.text-input,.short-answer { border:1px solid #e4d6c8; border-radius:10px; background:#fff; color:#514c42; }
.text-input { min-height:52px; font-size:15px; }
.text-input::placeholder,.short-answer::placeholder { color:#9c9284; }
.text-input:focus,.short-answer:focus { border-color:#c5a17d; box-shadow:0 0 0 3px #f6ebdf; }
.code-input { font:500 19px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; }
.field-help { color:#8e7b62; font-size:11px; }
.gy-profile-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:50px; align-items:start; padding:38px 0 48px; }
.gy-profile-heading { position:sticky; top:26px; }
.gy-profile-heading h1 { color:#4b453b; font-size:29px; font-weight:400; margin:11px 0; }
.gy-profile-heading .eyebrow { color:#9a825f; margin-top:25px; }
.gy-profile-heading .section-lead { color:#7b705e; font-size:12px; line-height:2; }
.gy-profile-note { display:grid; grid-template-columns:25px 1fr; gap:19px 13px; align-items:start; margin:28px 0 0; padding:25px 20px; border:1px solid #e8d9c7; border-radius:16px; background:#f7eee2; }
.gy-profile-note>span { color:#ba9670; font:16px/1.6 Georgia,serif; }
.gy-profile-note p { margin:0; color:#837663; font-size:10px; line-height:1.9; }
.gy-profile-note b { display:block; color:#7a6445; font-size:11px; font-weight:500; }
.gy-profile-form { min-width:0; margin:0; padding:30px; border:1px solid #ecded0; border-radius:21px; background:#ffffff; box-shadow:0 12px 32px #805f3e04; gap:22px; }
.gy-form-divider { display:flex; align-items:center; gap:12px; padding:23px 0 0; margin:13px 0 5px; border-top:1px solid #efe1d3; }
.gy-form-divider:first-of-type { margin:0 0 6px; padding-top:0; border:0; }
.gy-form-divider>span { display:grid; place-items:center; height:31px; width:31px; border-radius:10px; color:#b28b63; background:#f7ecdf; font:13px Georgia,serif; }
.gy-form-divider h2 { color:#69563b; font-size:15px; font-weight:500; margin:0; }
.gy-form-divider>small { margin-left:auto; color:#94836b; font-size:9px; }
.field-label { color:#665945; font-size:12px; font-weight:500; }
.field-label small { color:#92836d; font-size:10px; font-weight:400; }
.choice-content { min-height:47px; min-width:0; border:1px solid #ebddcc; border-radius:9px; padding:11px 9px; gap:7px; background:#fff; color:#76664d; font-size:12px; overflow-wrap:anywhere; }
.choice-content i { width:11px; height:11px; border-radius:3px; border-color:#d5bfa3; }
.choice-card input:checked+.choice-content { border-color:#c7a37b; background:#fbf1e4; color:#6b5435; }
.choice-card input:checked+.choice-content i { background:#bb986e; border-color:#bb986e; }
.concern-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.routine-step-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.cleansing-grid,.evening-cleansing-grid { grid-template-columns:1fr; }
.cleansing-grid .choice-content { text-align:left; justify-content:flex-start; min-height:51px; font-size:12px; line-height:1.75; }
.consent-row { border:0; padding:12px 0; background:transparent; color:#877a65; font-size:11px; }
.gy-project-visual { align-self:stretch; display:grid; place-content:center; justify-items:center; padding:30px; border-right:1px solid #ecdbc6; background:linear-gradient(150deg,#fcf7ee,#f1e2cf); }
.gy-project-visual>b { color:#9b7c4f; font:44px Georgia,serif; letter-spacing:.08em; }
.gy-project-visual>div { display:grid; grid-template-columns:1fr 1fr; gap:18px 24px; padding-top:28px; color:#8d7857; font:11px Georgia,serif; }
.gy-project-visual>small { margin-top:20px; color:#8b7c62; font-size:8px; }
.project-card { display:grid; grid-template-columns:230px 1fr auto; gap:30px; padding:0; border:1px solid #eaddcb; border-radius:21px; background:#ffffff; box-shadow:0 12px 30px #805f3e04; overflow:hidden; }
.project-copy { padding:34px 0; }
.project-copy h2 { color:#665036; font-size:23px; font-weight:500; }
.project-copy>p { font-size:13px; color:#7b6c56; line-height:1.9; }
.project-card>.button { margin-right:30px; }
.availability { color:#8b7653; }.availability i { background:#c3a573; }
.project-meta dt { color:#968263; }.project-meta dd { color:#7b6342; font-size:12px; }
.questionnaire-shell { max-width:760px; }
.questionnaire-head { padding-top:33px; }
.questionnaire-head h1 { color:#584c39; font-size:25px; font-weight:500; }
.question-count b { color:#967b50; font-size:39px; }
.progress-track { height:5px; border-radius:4px; background:#efe2d0; }
.progress-track>span { background:#bb9c6e; }
.questionnaire-instruction { display:block; padding:16px 19px; margin:20px 0 22px; border:1px solid #e9d9c1; border-radius:13px; background:#faf3e7; color:#7c6b50; }
.questionnaire-instruction summary { list-style:none; cursor:pointer; color:#79633f; font-size:12px; font-weight:500; }
.questionnaire-instruction summary::-webkit-details-marker { display:none; }
.questionnaire-instruction summary small { float:right; color:#988564; font-size:9px; font-weight:400; }
.questionnaire-instruction[open] summary { margin-bottom:10px; }
.questionnaire-instruction>span { display:block; color:#7f6f55; font-size:11px; line-height:1.9; margin-top:4px; }
.question-card { min-width:0; width:100%; min-height:0; padding:27px; border:1px solid #eddfca; border-radius:20px; background:#ffffff; box-shadow:0 10px 25px #805f3e03; }
.question-card legend { float:left; width:100%; max-width:none; margin:0 0 8px; padding:0; }
.question-text { color:#4d4537; font-size:24px; font-weight:500; line-height:1.7; }
.dimension-tag { color:#9a815b; font-size:9px; }
.question-guidance { margin-top:15px; padding:10px 13px; border:0; border-radius:9px; background:#faf3e6; color:#7f6b4d; font-size:11px; line-height:1.9; }
.question-guidance b { color:#806840; }
.option-list { clear:both; gap:11px; padding-top:20px; }
.option-card { min-height:65px; padding:14px; border:1px solid #eaddc8; border-radius:11px; background:#fff; }
.option-letter { width:32px; height:32px; border-radius:9px; background:#f6ecdc; color:#9b8053; font-size:14px; }
.option-text { color:#655b49; font-size:13px; line-height:1.8; }
.option-card.is-selected,.option-card:has(input:checked) { border-color:#a88b5b; background:#fcf4e6; }
.option-card.is-selected .option-letter,.option-card:has(input:checked) .option-letter { color:#fff; background:#b39767; }
.option-check { color:#b39767; }
.question-actions { position:static; transform:none; width:100%; margin:17px 0 29px; padding:0; gap:12px; border:0; border-radius:0; background:none; box-shadow:none; }
.question-actions .button { min-height:51px; }
.report-page .page-shell,.report-page .topbar,.report-page .site-footer { max-width:900px; }
.report-header { padding:26px 0; margin:0; border:0; border-bottom:1px solid #ecdfca; border-radius:0; background:transparent; }
.report-access-card { margin:22px 0; padding:21px 23px; border:1px solid #e9d9bc; border-radius:16px; background:#ffffff; }
.report-access-card h2 { color:#8a6b3e; font-size:15px; }.report-access-card span { color:#88785f; }
.gy-report-nav { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:0 0 20px; border:0; color:#8d7653; font-size:11px; }
.gy-report-nav a { white-space:nowrap; padding:9px 13px; border:1px solid #e9ddc8; border-radius:9px; background:#ffffff; }
.result-card { display:grid; grid-template-columns:minmax(0,1fr) auto; margin:0 0 20px; padding:31px; border:1px solid #e9d7b7; border-radius:21px; background:linear-gradient(135deg,#fffaf1,#f6ead3); text-align:left; }
.result-card>.eyebrow,.result-card>h1,.result-card>.result-summary { grid-column:1; }
.result-code { grid-column:2; grid-row:1/4; margin:0 0 0 26px; align-self:center; font-size:70px; }
.result-card>h1 { color:#766039; font-size:23px; line-height:1.7; font-weight:500; }
.result-summary { color:#847254; font-size:12px; line-height:1.9; }
.result-token-row { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; gap:12px; margin-top:24px; }
.result-token-row span { padding:13px 0; border:1px solid #ebdcbf; border-radius:11px; background:#fffdf7; font-size:20px; text-align:center; }
.non-medical-note { grid-column:1/-1; margin:17px 0 0; padding:0; border:0; background:none; color:#90826b; font-size:10px; }
.report-customer-context { margin:0 0 20px; padding:19px 23px; border:1px solid #eee2cc; border-radius:14px; background:#ffffff; }
.report-customer-context dt { color:#958265; }.report-customer-context dd { color:#7c6848; }
.report-section { padding:25px; margin:15px 0; border:1px solid #ede0c7; border-radius:18px; box-shadow:none; background:#ffffff; }
.section-title { gap:13px; margin-bottom:19px; }
.section-title>span { display:grid; place-items:center; width:31px; height:31px; border-radius:10px; background:#f7edda; color:#a88b5b; font:12px Georgia,serif; }
.section-title h2 { color:#8b7047; font-size:17px; font-weight:500; }.section-title p { color:#a08b68; }
.dimension-grid { grid-template-columns:1fr 1fr; gap:12px; }
.dimension-card { display:grid; grid-template-columns:45px minmax(0,1fr) auto; gap:12px; padding:17px; border:1px solid #eee2c9; border-radius:12px; background:#fcf8ef; }
.dimension-symbol { text-align:center; margin:0; }
.dimension-copy h3 { font-size:13px; font-weight:500; }.dimension-copy p { color:#89775a; font-size:11px; line-height:1.85; }
.dimension-card em { color:#9a835b; font-size:12px; }
.manual-profile,.report-list p,.management-list p { color:#6c6353; font-size:13px; line-height:1.95; }
.reference-list { display:grid; gap:8px; }
.reference-list>div { padding:15px; border:1px solid #eee1c7; border-radius:11px; background:#fcf9f1; }
.reference-list dt { color:#8c6e40; font-size:12px; font-weight:500; }.reference-list dd { color:#85755a; font-size:12px; line-height:1.85; }
.caution-reference-list>div { background:#fcf6ed; border-color:#eedcc2; }
.management-list span { background:#f8efdc; color:#a88a55; border-radius:9px; }
.warm-note { background:#fbf3e2; border-color:#e9d5ac; }.warm-note>p { color:#887a60; }
.report-meta { padding-top:24px; border-color:#eadcc2; }
.empty-card { border-radius:20px; border-color:#eadbc1; }
/* Contrast for primary reading text; pale accents remain decorative. */
.hero-lead,.section-lead,.gy-hero .hero-lead,.method-grid p,.section-heading>span { color:#686156; }
.option-text,.reference-list dd,.manual-profile,.report-list p,.management-list p { color:#645e53; }
.field-label,.choice-content { color:#665b48; }
.result-summary,.dimension-copy p,.report-customer-context dd,.warm-note>p { color:#70634f; }
.gy-profile-heading .section-lead,.gy-access-story>p:not(.gy-kicker) { color:#746650; }
.gy-report-nav,.reference-list dt { color:#7f694b; }
.section-title h2 { color:#7a6144; }
.gy-brand-story>div>p:not(.gy-kicker) { color:#706452; }
.footer-lockup small,.site-footer>p { color:#8b7c65; font-size:10px; }
.admin-body { background:#f7f6f2; }
.admin-sidebar { border-right:1px solid #eadcc7; background:#ffffff; color:#6d604c; }
.gy-admin-logo { filter:none; mix-blend-mode:multiply; width:185px; }
.admin-brand small { color:#938369; }
.admin-nav a { color:#7b6a51; border-radius:9px; font-size:12px; }
.admin-nav a.active,.admin-nav a:hover { color:#715738; background:#f7ecda; box-shadow:none; }
.admin-nav i { color:#9c8157; }
.admin-sidebar-foot { border-color:#e9d9bf; }.admin-user>span { background:#bca06c; }
.admin-user small,.admin-sidebar-foot button { color:#968362; }
.admin-main { padding-top:30px; }
.admin-topbar { padding-bottom:22px; border-bottom:1px solid #e9d8b9; }
.admin-topbar h1 { color:#514738; font-size:24px; font-weight:500; }
.admin-topbar p { color:#a18b67; }
.admin-panel,.metric-grid article { border-color:#ebdbc0; border-radius:13px; box-shadow:0 6px 16px #805f3e03; }
.metric-grid article { border-top:2px solid #d5bb8f; }
.metric-grid strong { color:#927645; font-weight:400; }
.panel-head h2 { color:#7b613a; font-weight:500; }
.admin-button { border-radius:8px; }.admin-button.primary { color:#fff; background:#7c6441; }.admin-button.primary:hover { background:#665033; }
.admin-button.secondary { color:#8a7047; background:#fcf6e9; border-color:#e9d7b4; }
.table-link,.table-action { color:#8f7550; }.table-action { background:#fbf3e2; }
.admin-login-body { background:#fbf6ec; }.admin-login-card { border-radius:20px; border-color:#e9d6ae; box-shadow:0 15px 45px #805f3e07; }
.generated-list>div,.readonly-grid div,.score-grid article { background:#fcf7eb; }
.admin-form input:focus,.admin-form textarea:focus { border-color:#c4a36b; box-shadow:0 0 0 3px #fbf1dc; }
.code-generate-grid input:focus,.code-generate-grid select:focus { outline-color:#d5b783; }
@media(max-width:900px) {
  .gy-hero { gap:28px; grid-template-columns:1.08fr 1fr; }
  .gy-hero h1 { font-size:30px; }.gy-hero-subtitle { font-size:23px; }
  .gy-assessment-index { padding:22px; }.gy-index-heading h2 { font-size:24px; }
  .gy-assessment-index li { padding-inline:12px; grid-template-columns:25px 1fr; gap:8px; }.gy-assessment-index li>svg { width:25px; height:25px; }
  .gy-access-layout { gap:30px; }.gy-profile-layout { grid-template-columns:230px minmax(0,1fr); gap:28px; }
  .gy-profile-form { padding:24px; }.project-card { grid-template-columns:180px 1fr; gap:24px; }
  .project-card>.button { grid-column:2; margin:0 24px 24px 0; }.gy-project-visual { grid-row:1/3; }
  .concern-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:640px) {
  .page-shell,.topbar,.site-footer { width:calc(100% - 32px); }
  .topbar { min-height:91px; padding:13px 0; }.gy-wordmark { width:190px; }
  .gy-brand-caption { font-size:9px; letter-spacing:.08em; }.topbar-note { font-size:7px; padding:7px 9px; }
  .gy-hero { grid-template-columns:1fr; padding:21px 0 24px; gap:26px; }
  .gy-hero-copy { padding:5px 3px 0; }.gy-kicker { font-size:8px; }
  .gy-hero-label { margin-top:20px; font-size:11px; }
  .gy-hero h1 { font-size:26px; line-height:1.6; margin:11px 0 16px; letter-spacing:0; }
  .gy-hero-subtitle { font-size:22px; line-height:1.7; margin-bottom:16px; }
  .gy-hero .hero-lead { font-size:12px; line-height:1.95; }.hero-actions { margin-top:23px; gap:20px; }
  .gy-hero .button { min-width:178px; font-size:14px; }.gy-duration { font-size:9px; gap:8px; margin-top:16px; }
  .gy-assessment-index { padding:21px; border-radius:23px; }
  .gy-index-head>span { font-size:7px; }.gy-index-head>b { font-size:10px; }
  .gy-index-heading { padding:17px 1px 20px; }.gy-index-heading h2 { font-size:23px; }
  .gy-index-heading>p { font-size:9px; }.gy-index-heading>span { font-size:10px; }
  .gy-assessment-index ol { grid-template-columns:1fr 1fr; gap:10px; }
  .gy-assessment-index li { min-height:107px; padding:21px 13px 12px; grid-template-columns:26px 1fr; column-gap:9px; }
  .gy-assessment-index li>svg { width:26px; height:26px; }.gy-assessment-index li b { font-size:14px; }.gy-assessment-index li small { font-size:8px; }
  .gy-index-footer { padding-top:15px; font-size:9px; }
  .gy-facts { padding:20px 6px; border-radius:15px; }.gy-facts span { font-size:10px; }.gy-facts b { display:block; margin:0 0 6px; font-size:27px; }
  .method-section { padding:33px 0 24px; }.section-heading h2 { font-size:24px; }.section-heading>span { font-size:12px; }
  .method-grid { grid-template-columns:1fr; gap:11px; margin-top:21px; }
  .method-grid article { display:grid; grid-template-columns:31px 1fr; gap:0 13px; padding:21px 19px; border-radius:15px; }
  .method-grid article>span { grid-row:1/3; padding-top:0; font-size:19px; }.method-grid article>small { display:none; }
  .method-grid h3 { margin:0 0 8px; font-size:14px; }.method-grid p { grid-column:2; margin:0; font-size:11px; line-height:1.9; }
  .gy-brand-story { grid-template-columns:1fr; gap:12px; padding:25px 23px; border-radius:20px; }
  .gy-brand-story h2 { font-size:19px; }.gy-brand-story>div>p:not(.gy-kicker) { font-size:12px; }
  .footer-lockup { align-items:center; gap:15px; }.gy-wordmark-footer { width:130px; }.footer-lockup b { font-size:9px; }.footer-lockup small,.site-footer>p { font-size:9px; }
  .gy-flow-steps { margin-top:20px; gap:8px; }.gy-flow-steps li { gap:7px; padding:11px 0; }.gy-flow-steps b { font-size:10px; }.gy-flow-steps span { width:22px; height:22px; font-size:10px; }
  .gy-access-layout { display:block; padding:28px 0 36px; }.gy-access-story { margin-bottom:25px; padding:0 4px; }
  .gy-access-story h1 { font-size:25px; margin:13px 0; }.gy-access-story dl,.gy-access-story>span { display:none; }
  .gy-access-story>p:not(.gy-kicker) { font-size:12px; }.gy-access-layout .form-card { padding:26px 22px; border-radius:19px; }
  .form-card h1 { font-size:23px; }.section-lead { font-size:12px; }
  .gy-profile-layout { display:block; padding-top:25px; }.gy-profile-heading { position:static; padding:0 4px; }
  .gy-profile-heading h1 { font-size:27px; }.gy-profile-heading .eyebrow { margin:18px 0 9px; }.gy-profile-heading .section-lead { margin-bottom:24px; font-size:12px; }.gy-profile-note { display:none; }
  .gy-profile-form { padding:23px 19px; gap:20px; border-radius:18px; }.gy-form-divider { gap:9px; padding-top:22px; }.gy-form-divider h2 { font-size:14px; }
  .gy-form-divider>span { height:28px; width:28px; font-size:12px; }.gy-form-divider>small { font-size:8px; }
  .concern-grid,.routine-step-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.choice-content { min-height:47px; padding:10px 7px; font-size:11px; gap:5px; }
  .cleansing-grid .choice-content { font-size:12px; padding:12px; min-height:52px; }
  .project-card { display:block; border-radius:20px; }.gy-project-visual { padding:23px; border:0; border-bottom:1px solid #e6d1b5; }
  .gy-project-visual>b { font-size:39px; }.gy-project-visual>div { display:flex; gap:26px; padding-top:18px; }
  .project-copy { padding:25px; }.project-copy h2 { font-size:22px; }.project-copy>p { font-size:12px; }
  .project-card>.button { display:flex; width:calc(100% - 48px); margin:0 24px 24px; }
  .questionnaire-head { padding-top:27px; }.questionnaire-head h1 { font-size:22px; }.question-count b { font-size:33px; }
  .questionnaire-instruction { padding:14px 15px; border-radius:12px; }.questionnaire-instruction>span { font-size:11px; }
  .question-card { padding:22px 17px; border-radius:18px; }.question-text { font-size:21px; line-height:1.7; }
  .question-guidance { font-size:11px; padding:9px 11px; }.option-list { padding-top:16px; gap:10px; }
  .option-card { min-height:66px; padding:12px 10px; border-radius:10px; }.option-letter { width:30px; height:30px; border-radius:8px; }.option-text { font-size:13px; }
  .question-actions { margin-top:15px; gap:11px; }.question-actions .button { min-height:49px; }
  .report-header { padding:23px 0; }.report-access-card { padding:19px; border-radius:15px; }.report-access-card h2 { font-size:14px; }
  .report-access-actions { grid-template-columns:1fr 1fr; }.gy-report-nav { font-size:10px; gap:6px; padding-bottom:17px; }.gy-report-nav a { padding:8px 10px; border-radius:8px; }
  .result-card { display:flex; flex-direction:column; align-items:flex-start; padding:25px; border-radius:19px; }.result-code { margin:8px 0 5px; align-self:flex-start; font-size:61px; }
  .result-card>h1 { font-size:21px; }.result-token-row { gap:10px; margin-top:20px; }.result-token-row span { font-size:19px; padding:11px 0; }
  .non-medical-note { margin-top:15px; font-size:9px; width:100%; }.report-customer-context { padding:18px 20px; }
  .report-section { padding:23px 19px; margin:13px 0; border-radius:17px; }.section-title h2 { font-size:16px; }
  .dimension-grid { grid-template-columns:1fr; gap:10px; }.dimension-card { padding:16px; gap:12px; }.dimension-copy p { font-size:11px; }
  .reference-list>div { display:block; padding:14px; }.reference-list dd { margin-top:7px; font-size:12px; }.reference-list dt { font-size:12px; }
  .manual-profile,.report-list p,.management-list p { font-size:12px; }.warm-note { padding:23px 20px; }
}
@media(max-width:360px) {
  .page-shell,.topbar,.site-footer { width:calc(100% - 24px); }
  .gy-wordmark { width:176px; }.gy-brand-caption { font-size:8px; }.topbar-note { display:none; }
  .gy-hero h1 { font-size:24px; }.gy-hero-subtitle { font-size:21px; }.gy-hero .button { min-width:166px; }.hero-actions { gap:16px; }.text-link { font-size:11px; }
  .gy-assessment-index { padding:18px; }.gy-assessment-index li { padding-inline:10px; column-gap:7px; }.gy-assessment-index li small { font-size:7px; }
  .gy-profile-form { padding:22px 15px; }.concern-grid { grid-template-columns:1fr 1fr; }.gy-form-divider { gap:8px; }.gy-form-divider h2 { font-size:13px; }
  .gy-form-divider>small { font-size:7px; }.question-card { padding:21px 14px; }.question-text { font-size:20px; }
  .gy-report-nav { gap:5px; }.gy-report-nav a { padding-inline:8px; font-size:9px; }.result-card { padding:22px; }
}
.consultation-notice { padding:12px 14px; border:1px solid #e5d7c8; border-radius:12px; background:#fffaf4; color:#725640; font-size:12px; line-height:1.8; }
.consultation-notice small { font-size:11px; }

/* Final visual polish: clean ivory, readable ink and restrained champagne accents. */
.topbar { min-height:96px; border-bottom-color:#e7e3db; }
.gy-wordmark { width:210px; }
.topbar-note { border:0; background:transparent; color:#8d7c60; letter-spacing:.16em; }
.gy-brand-caption { color:#82745f; font-size:9px; letter-spacing:.1em; }
.gy-hero { gap:62px; padding:48px 0 36px; }
.gy-hero-copy { padding:4px 0; }
.gy-hero h1 { font-size:clamp(28px,3vw,35px); font-weight:500; letter-spacing:0; margin:17px 0 20px; }
.gy-hero-subtitle { font-size:26px; line-height:1.75; letter-spacing:.015em; }
.gy-hero .hero-lead { color:#6d675d; font-size:14px; line-height:1.95; }
.hero-actions { margin-top:28px; gap:24px; }
.button { border-radius:10px; font-weight:500; box-shadow:none; }
.button-primary { box-shadow:0 5px 12px #51412f0d; }
.button-secondary { border-color:#d8cdbd; color:#6b5940; background:#fff; }
.text-link,.back-link { color:#7b694f; }
.gy-duration { font-size:11px; }
.gy-assessment-index { padding:28px; border-radius:22px; border-color:#e8e1d5; background:linear-gradient(145deg,#fff 30%,#f6f1e7); box-shadow:0 14px 36px #51463106; }
.gy-index-head>b { background:#fff; border-color:#e3d6c1; }
.gy-index-heading { padding:19px 1px; }
.gy-index-heading h2 { color:#494338; font-size:25px; line-height:1.65; }
.gy-index-heading>span { font-size:11px; }
.gy-assessment-index ol { gap:10px; }
.gy-assessment-index li { min-height:103px; padding:19px 15px 13px; background:#ffffffb8; border-color:#e9e2d6; border-radius:12px; }
.gy-assessment-index li>svg { stroke:#a58a5e; }
.gy-assessment-index li b { font-size:15px; color:#585043; }
.gy-assessment-index li small { font-size:9px; color:#8d8069; }
.gy-assessment-index li em { border-color:#ede6d9; }
.gy-index-footer { font-size:11px; color:#84745b; }
.gy-facts { background:#fff; padding:21px 10px; border-color:#e7e2d8; border-radius:14px; box-shadow:none; }
.gy-facts b { font-size:29px; color:#927347; }
.method-section { padding:40px 0 28px; }
.section-heading h2 { font-size:27px; color:#4d463a; }
.section-heading>span { font-size:13px; color:#756c5d; }
.method-grid article { padding:25px; border-color:#e9e3d8; border-radius:15px; background:#fff; box-shadow:none; }
.method-grid article>span { color:#a9906b; font-size:24px; }
.method-grid article>small { color:#978364; }
.method-grid h3 { color:#564a38; margin-top:18px; font-size:16px; }
.method-grid p { color:#786d5c; font-size:13px; line-height:1.85; }
.gy-brand-story { padding:32px; gap:40px; border-color:#e7dfd0; border-left:3px solid #bda57b; border-radius:16px; background:#f5f1e8; }
.gy-brand-story h2 { color:#514738; font-size:20px; }
.gy-brand-story>div>p:not(.gy-kicker) { color:#756956; font-size:13px; line-height:1.95; }
.gy-brand-description { color:#84765f!important; font-size:12px!important; }
.site-footer { border-color:#e8e2d7; }
.footer-lockup small,.site-footer>p { color:#8a7c66; }
.form-card,.gy-access-layout .form-card,.gy-profile-form { border-color:#e7e0d5; background:#fff; box-shadow:0 8px 25px #64543d04; border-radius:18px; }
.gy-flow-steps li { color:#928777; border-bottom-color:#e6dfd3; }
.gy-flow-steps .current { color:#745c39; border-color:#ac8c5d; }
.gy-flow-steps .current span { background:#9a7c4d; }
.gy-flow-steps .complete { color:#7b775c; }
.gy-profile-heading h1,.form-card h1 { color:#514838; font-weight:500; }
.gy-profile-heading .section-lead,.section-lead { color:#7a705f; font-size:13px; }
.gy-profile-note,.gy-access-story dl { background:#f3efe5; border-color:#e5dbc9; }
.gy-profile-note p { color:#867860; font-size:11px; }
.gy-profile-note b { color:#6f5d42; font-size:12px; }
.gy-form-divider { border-color:#e9e2d7; }
.gy-form-divider h2 { color:#655239; font-size:16px; font-weight:500; }
.field-label { color:#655a47; font-size:13px; }
.text-input,.short-answer { color:#514a3e; border-color:#ded6ca; border-radius:9px; }
.text-input::placeholder,.short-answer::placeholder { color:#a39a8c; }
.field-help,.privacy-note { color:#82745e; font-size:12px; line-height:1.85; }
.choice-content { color:#6e604b; border-color:#e3dacb; border-radius:8px; min-height:49px; }
.choice-card input:checked+.choice-content { border-color:#b69a6e; color:#6c5332; background:#f7f1e5; }
.choice-card input:checked+.choice-content i { background:#a58854; border-color:#a58854; }
.consent-row { color:#877961; font-size:12px; line-height:1.85; }
.field-error,.question-error { color:#a34f4f; }
.project-card { border-color:#e5ddcf; border-radius:18px; background:#fff; box-shadow:0 8px 24px #5f4b3005; }
.gy-project-visual { background:linear-gradient(145deg,#f8f4eb,#eee4d0); border-color:#e5d8bf; }
.project-copy h2 { color:#645036; }
.project-copy>p { color:#827158; }
.project-meta dt { color:#9b8767; }
.questionnaire-head h1 { color:#655138; }
.questionnaire-instruction { border-color:#e4d9c6; background:#f6f1e6; }
.questionnaire-instruction summary { color:#77603e; font-weight:500; }
.questionnaire-instruction>span { color:#807056; font-size:12px; }
.questionnaire-instruction summary small { color:#978567; font-size:10px; }
.question-card { background:#fff; border-color:#e5ddce; border-radius:18px; box-shadow:0 8px 24px #65513304; }
.question-text { color:#504535; font-weight:500; }
.question-guidance { color:#897558; background:#f7f3e9; }
.question-guidance b { color:#7d6441; }
.option-card { border-color:#e3dacc; border-radius:10px; min-height:66px; }
.option-text { color:#635b4d; font-size:14px; line-height:1.75; }
.option-letter { background:#f1ebde; color:#a08860; }
.option-card.is-selected,.option-card:has(input:checked) { background:#f8f2e7; border-color:#b49664; }
.option-card.is-selected .option-letter,.option-card:has(input:checked) .option-letter { background:#a18757; }
.option-check { color:#967b4c; }
.question-actions { position:static; }
.report-access-card,.report-customer-context,.report-section { border-color:#e6ddce; background:#fff; }
.report-access-card h2 { color:#82653c; }.report-access-card span { color:#8b7a60; }
.result-card { background:linear-gradient(135deg,#fffdf7,#f2e9d7); border-color:#e3d4b8; }
.result-card>h1 { color:#78603b; }
.result-summary,.dimension-copy p,.manual-profile,.report-list p,.management-list p { color:#74664f; }
.result-summary,.manual-profile,.report-list p,.management-list p { font-size:13px; line-height:1.95; }
.non-medical-note { color:#90816a; }
.section-title h2 { color:#7f633c; font-weight:500; }
.section-title p { color:#a08a65; }
.section-title>span { background:#f3ecde; color:#ac905f; }
.reference-list>div { background:#faf8f2; border-color:#e9dfcb; }
.reference-list dt { color:#806440; font-weight:500; }
.reference-list dd { color:#7e6e54; }
.caution-reference-list>div { background:#faf4eb; border-color:#eadac1; }
.dimension-card { background:#faf8f1; border-color:#e9dfcb; }
.report-customer-context dt { color:#9a8665; }.report-customer-context dd { color:#7d6a4c; }
.warm-note { background:#f6efdf; border-color:#e6d5ae; }.warm-note>p { color:#87775a; }
.consultation-notice { grid-column:1/-1; color:#79613d; background:#fffaf0; border-color:#e8d9bb; }
.result-card.has-consultation>.consultation-notice { grid-row:1; margin:0 0 20px; }
.result-card.has-consultation>.eyebrow { grid-row:2; }
.result-card.has-consultation>h1 { grid-row:3; }
.result-card.has-consultation>.result-summary { grid-row:4; }
.result-card.has-consultation>.result-code { grid-row:2/5; }
.admin-body { background:#f7f6f2; }
.admin-sidebar { background:#fffefb; border-color:#e6e0d5; }
.admin-brand small { color:#8d7c62; }
.admin-nav a { color:#7b6c54; padding-block:11px; font-size:13px; }
.admin-nav a.active,.admin-nav a:hover { background:#f2ecdf; color:#6b5330; }
.admin-nav i { color:#a48b61; }
.admin-sidebar-foot { border-color:#e4dbcd; }
.admin-user b { color:#6b5940; }.admin-user small,.admin-sidebar-foot button { color:#95856b; }
.admin-topbar { border-color:#e5ddd0; }
.admin-topbar h1 { color:#514738; font-size:25px; font-weight:500; }
.admin-topbar p { color:#9a8460; }
.admin-panel,.metric-grid article { background:#fff; border-color:#e7dfd1; border-radius:14px; box-shadow:0 3px 12px #5d4c3003; }
.panel-head h2 { color:#73603e; font-weight:500; }
.admin-button.primary { background:#80683f; color:#fff; }
.admin-button.primary:hover { background:#695331; }
.admin-button.secondary { color:#80683f; border-color:#e2d5bd; background:#faf6ed; }
.admin-form label,.admin-table td { color:#71634e; }
.admin-form input,.admin-form textarea,.admin-form select { color:#5e5547; border-color:#ded6c9; }
.admin-table th { color:#9b8a6e; }
.ingredient-summary span { color:#78664b; background:#f5f0e6; }
@media(max-width:900px) {
  .gy-hero { gap:30px; }.gy-hero-subtitle { font-size:23px; }
}
@media(max-width:760px) {
  .admin-main { padding-top:72px; }.admin-topbar h1 { font-size:22px; }
}
@media(max-width:640px) {
  .topbar { min-height:90px; }.gy-wordmark { width:190px; }
  .gy-hero { padding:28px 0 25px; gap:27px; }
  .gy-hero h1 { font-size:26px; line-height:1.55; margin:15px 0 18px; }
  .gy-hero-subtitle { font-size:23px; margin-bottom:17px; }
  .gy-hero .hero-lead { font-size:13px; line-height:1.9; }
  .gy-duration { font-size:10px; }.gy-hero .button { min-width:178px; }
  .gy-assessment-index { padding:22px; border-radius:20px; }
  .gy-index-heading h2 { font-size:24px; }.gy-index-heading>span { font-size:11px; }
  .gy-assessment-index li { min-height:104px; padding:19px 12px 12px; }
  .gy-assessment-index li small { font-size:8px; }
  .gy-facts { padding:18px 6px; border-radius:12px; }.gy-facts b { font-size:28px; }
  .section-heading h2 { font-size:25px; }.section-heading>span { font-size:13px; }
  .method-grid article { padding:21px 18px; }.method-grid h3 { font-size:15px; }.method-grid p { font-size:12px; }
  .gy-brand-story { padding:25px 22px; gap:12px; border-radius:16px; }
  .gy-brand-story>div>p:not(.gy-kicker) { font-size:13px; }.gy-brand-story h2 { font-size:19px; }
  .gy-profile-form { padding:25px 20px; gap:22px; border-radius:16px; }
  .gy-profile-heading .section-lead { font-size:13px; }.gy-form-divider h2 { font-size:15px; }
  .choice-content { font-size:12px; }.cleansing-grid .choice-content { font-size:13px; }
  .question-text { font-size:22px; line-height:1.65; }.option-text { font-size:14px; }
  .questionnaire-instruction>span { font-size:12px; }.question-card { padding:23px 17px; }
  .result-card { border-radius:18px; }.result-card>h1 { font-size:21px; }
  .report-section { border-radius:15px; }.manual-profile,.report-list p,.management-list p { font-size:13px; }
  .footer-lockup { gap:16px; }.footer-lockup b { font-size:10px; }
}
@media(max-width:360px) {
  .gy-hero h1 { font-size:24px; }.gy-hero-subtitle { font-size:21px; }
  .gy-hero .button { min-width:161px; }.hero-actions { gap:15px; }
  .gy-assessment-index { padding:18px; }.gy-assessment-index li { padding-inline:10px; }
  .gy-profile-form { padding:22px 15px; }.question-text { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
