@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&display=swap");:root{--ivory:#faf7f0;--ivory-deep:#f3eee3;--green:#205a4d;--green-dark:#17453b;--green-ink:#123a31;--sage:#b6cdbf;--sage-soft:#e3ece5;--charcoal:#26312c;--muted:#55645c;--line:#ddd6c6;--white:#fffdf8;--amber-bg:#fdf3e0;--amber-ink:#7a4d00;--red:#a12c1d;--red-bg:#fbeae6;--radius:14px;--radius-sm:10px;--shadow:0 2px 10px rgba(38,49,44,0.08);--font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Fraunces",Georgia,"Times New Roman",serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--font-body);font-size:16px;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);color:var(--green-ink);line-height:1.2;margin:0 0 .5em;font-weight:600}h1{font-size:clamp(1.9rem,5vw,3rem)}h2{font-size:clamp(1.45rem,3.5vw,2rem)}h3{font-size:1.2rem}p{margin:0 0 1em}a{color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--green);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-shell{min-height:100vh;display:flex;flex-direction:column}main{flex:1 1;width:100%}.container{max-width:1080px}.container,.container-narrow{margin:0 auto;padding:1.25rem 1rem 3rem}.container-narrow{max-width:640px}.page-loading{padding:4rem 1rem;text-align:center}.lede{font-size:1.125rem}.lede,.muted{color:var(--muted)}.small{font-size:.875rem}.stack>*+*{margin-top:1rem}.grid{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:700px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}}.site-nav{background:var(--ivory);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.nav-inner{max-width:1080px;margin:0 auto;padding:.6rem 1rem;justify-content:space-between;gap:1rem;flex-wrap:wrap}.brand,.nav-inner{display:flex;align-items:center}.brand{gap:.55rem;text-decoration:none;color:var(--green-ink)}.brand-text{font-family:var(--font-display);font-weight:700;font-size:1.15rem}.brand-sub{font-family:var(--font-body);font-weight:500;font-size:.78rem;color:var(--muted);display:block;line-height:1.1}.nav-links{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.nav-link{color:var(--charcoal);text-decoration:none;font-size:.95rem;font-weight:500;background:none;border:none;cursor:pointer;padding:.25rem 0;font-family:inherit}.nav-link:hover{color:var(--green);text-decoration:underline}.nav-link.active{color:var(--green);border-bottom:2px solid var(--green)}.lang-switcher{display:inline-flex;align-items:center;gap:.4rem}.lang-label{font-size:.85rem;color:var(--muted);font-weight:600}.lang-select{font:inherit;font-size:.9rem;padding:.3rem .5rem;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--charcoal)}.site-footer{border-top:1px solid var(--line);background:var(--ivory-deep);margin-top:2rem}.footer-inner{max-width:1080px;margin:0 auto;padding:1.75rem 1rem .5rem;display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.footer-note{color:var(--muted);max-width:42ch;font-size:.92rem}.footer-links{display:flex;flex-direction:column;gap:.4rem}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-fine{max-width:1080px;margin:0 auto;padding:0 1rem 1.5rem;color:var(--muted);font-size:.85rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body);font-weight:600;font-size:1rem;padding:.7rem 1.35rem;border-radius:999px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover:not(:disabled){background:var(--green-dark)}.btn-secondary{background:transparent;color:var(--green);border-color:var(--green)}.btn-secondary:hover:not(:disabled){background:var(--sage-soft)}.btn-ghost{background:transparent;color:var(--green)}.btn-ghost:hover:not(:disabled){background:var(--sage-soft)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover:not(:disabled){background:#8c2517}.btn-block{width:100%}.btn-small{padding:.45rem .95rem;font-size:.92rem}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.card h3{margin-top:0}.badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600}.badge-sage{background:var(--sage-soft);color:var(--green-ink)}.badge-green{background:var(--green);color:#fff}.badge-amber{background:var(--amber-bg);color:var(--amber-ink)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-neutral{background:var(--ivory-deep);color:var(--charcoal)}.notice{border-radius:var(--radius-sm);padding:.9rem 1rem;margin:1rem 0;border:1px solid var(--line);background:var(--white);font-size:.95rem}.notice-title{display:block;margin-bottom:.25rem}.notice-info{background:var(--sage-soft);border-color:var(--sage);color:var(--green-ink)}.notice-warning{background:var(--amber-bg);border-color:#e6c98a;color:var(--amber-ink)}.notice-error{background:var(--red-bg);border-color:#e5b3aa;color:var(--red)}.notice-success{background:var(--sage-soft);border-color:var(--green);color:var(--green-ink)}.spinner-wrap{display:inline-flex;align-items:center;gap:.6rem;color:var(--muted)}.spinner{width:20px;height:20px;border-radius:50%;border:3px solid var(--sage);border-top-color:var(--green);animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.empty-state{text-align:center;padding:2rem 1rem;border:1px dashed var(--sage);border-radius:var(--radius);background:var(--white)}.empty-state-leaf{font-size:1.8rem;margin-bottom:.4rem}.empty-state-body{color:var(--muted);margin-bottom:1rem}.field{display:block;margin-bottom:1rem}.field-label{display:block;font-weight:600;margin-bottom:.35rem}.field-hint{color:var(--muted)}.field-error,.field-hint{display:block;font-size:.85rem;margin-top:.3rem}.field-error{color:var(--red);font-weight:600}.input{width:100%;padding:.65rem .8rem;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--charcoal);font:inherit;font-size:1rem}.input:focus{border-color:var(--green)}.checkbox-row{display:flex;gap:.6rem;align-items:flex-start;margin:.7rem 0}.checkbox-row input{width:20px;height:20px;margin-top:.15rem;accent-color:var(--green);flex:none}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}.toggle-row:last-child{border-bottom:none}.toggle-row input[type=checkbox]{width:24px;height:24px;accent-color:var(--green);flex:none}.hero{padding:2.5rem 0 1.5rem;max-width:760px}.hero-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700;color:var(--green);margin-bottom:.75rem}.hero-cta{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.4rem 0}.section{padding:2.2rem 0 .5rem}.section-alt{background:var(--sage-soft);border-radius:var(--radius);padding:1.6rem 1.25rem;margin-top:2.2rem}.steps{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;grid-gap:1rem;gap:1rem}@media (min-width:700px){.steps{grid-template-columns:repeat(3,1fr)}}.steps li{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem}.steps li:before{counter-increment:step;content:counter(step);display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;align-items:center;justify-content:center;font-weight:700;margin-bottom:.6rem}.scan-stage{max-width:560px;margin:0 auto}.camera-frame{position:relative;border-radius:var(--radius);overflow:hidden;background:#101613;aspect-ratio:3/4;width:100%}.camera-frame img.preview,.camera-frame video{width:100%;height:100%;object-fit:cover;display:block}.tongue-guide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.tongue-guide svg{width:68%;height:auto;opacity:.95}.scan-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.qc-list{list-style:none;padding:0;margin:.5rem 0}.qc-list li{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.qc-list li:last-child{border-bottom:none}.progress-steps{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.25rem}.progress-steps span{font-size:.82rem;font-weight:600;padding:.25rem .7rem;border-radius:999px;background:var(--ivory-deep);color:var(--muted)}.progress-steps span.current{background:var(--green);color:#fff}.progress-steps span.done{background:var(--sage-soft);color:var(--green-ink)}.report-images{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:700px){.report-images{grid-template-columns:1fr 1fr}}.report-images figure{margin:0}.report-images img{width:100%;border-radius:var(--radius);border:1px solid var(--line);display:block}.report-images figcaption{color:var(--muted);font-size:.88rem;margin-top:.4rem}.evidence-grid{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:800px){.evidence-grid{grid-template-columns:1fr 1fr}}.feature-list{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:800px){.feature-list{grid-template-columns:1fr 1fr}}.meta-table{width:100%;border-collapse:collapse}.meta-table td,.meta-table th{text-align:left;padding:.45rem .5rem .45rem 0;border-bottom:1px solid var(--line);vertical-align:top}.meta-table tr:last-child td,.meta-table tr:last-child th{border-bottom:none}.meta-table th{color:var(--muted);font-weight:600;width:40%}.chat-log{display:flex;flex-direction:column;gap:.9rem;margin:1rem 0}.chat-msg{max-width:85%;padding:.8rem 1rem;border-radius:var(--radius)}.chat-msg.user{align-self:flex-end;background:var(--green);color:#fff}.chat-msg.assistant{align-self:flex-start;background:var(--white);border:1px solid var(--line)}.chat-msg p{margin:0;white-space:pre-wrap}.citations{margin-top:.6rem;font-size:.85rem;border-top:1px solid var(--line);padding-top:.5rem}.citations ul{margin:.3rem 0 0;padding-left:1.1rem}.chat-form{display:flex;gap:.6rem;align-items:flex-end}.chat-form textarea{flex:1 1;resize:vertical;min-height:52px}.list-rows{list-style:none;padding:0;margin:0}.list-rows>li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.list-rows>li:last-child{border-bottom:none}.search-row{display:flex;gap:.6rem;margin-bottom:1.25rem}.search-row .input{flex:1 1}.stat-row{display:flex;gap:1.5rem;flex-wrap:wrap}.stat strong{display:block;font-family:var(--font-display);font-size:1.6rem;color:var(--green-ink)}.stat span{color:var(--muted);font-size:.85rem}.quiz-option{display:flex;gap:.6rem;align-items:center;width:100%;text-align:left;padding:.7rem .9rem;margin:.35rem 0;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:#fff;font:inherit;cursor:pointer}.quiz-option.selected{border-color:var(--green);background:var(--sage-soft)}