:root{--ink:#173b35;--ink-soft:#47625d;--forest:#164b40;--forest-deep:#0f3b33;--sage:#789388;--mint:#e8f0eb;--cream:#f6f3eb;--paper:#fffef9;--gold:#b38c4f;--line:#d8ded9;--danger:#9a433b;--shadow:0 24px 70px rgba(25,56,48,0.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 15% 2%,rgba(173,194,181,.18),transparent 28rem),var(--cream);font-family:Hiragino Kaku Gothic ProN,Yu Gothic,YuGothic,Noto Sans JP,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}.site-header{width:min(1180px,calc(100% - 48px));height:92px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(22,75,64,.14)}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark{width:40px;height:40px;display:grid;place-items:center;color:var(--paper);background:var(--forest);border-radius:50%}.brand-mark svg{width:23px;fill:none;stroke:currentColor;stroke-width:1.4}.brand small,.brand strong{display:block}.brand strong{font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:16px;letter-spacing:.08em}.brand small{margin-top:3px;color:var(--sage);font-size:8px;letter-spacing:.16em}.header-note{color:var(--sage);font-size:12px;letter-spacing:.08em}.hero{width:min(1060px,calc(100% - 48px));margin:0 auto;padding:105px 0 80px}.eyebrow{display:flex;align-items:center;gap:12px;margin:0;color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.15em}.eyebrow>span{width:32px;height:1px;background:currentColor}.hero h1{margin:25px 0;color:var(--ink);font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(48px,6.5vw,84px);font-weight:500;line-height:1.25;letter-spacing:.03em}.hero h1 em{color:var(--forest);font-style:normal;background:linear-gradient(transparent 72%,rgba(179,140,79,.2) 0)}.hero-copy{margin:0;color:var(--ink-soft);font-size:16px;line-height:2}.step-row{display:flex;gap:0;margin-top:55px}.step{position:relative;display:flex;align-items:center;min-width:205px;gap:12px}.step span{width:38px;height:38px;display:grid;place-items:center;color:var(--forest);border:1px solid rgba(22,75,64,.3);border-radius:50%;font-family:Georgia,serif;font-size:11px}.step strong{font-size:13px;letter-spacing:.06em}.step i{position:absolute;right:26px;color:#a7b4ae;font-style:normal}.workspace{width:min(1180px,calc(100% - 48px));margin:0 auto 115px;padding:54px 60px 45px;background:var(--paper);border:1px solid rgba(22,75,64,.08);border-radius:3px;box-shadow:var(--shadow)}.workspace-intro{display:flex;align-items:flex-start;gap:20px;margin-bottom:38px}.section-number{color:var(--gold);font-family:Georgia,serif;font-size:12px;letter-spacing:.1em}.report-toolbar h2,.workspace h2{margin:-4px 0 7px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:27px;font-weight:500;letter-spacing:.05em}.workspace-intro p{margin:0;color:var(--sage);font-size:12px}.demo-only-notice{margin:-12px 0 32px;padding:16px 18px;color:var(--forest);background:#f3f7f2;border:1px solid #cedbd2;border-left:3px solid var(--forest)}.demo-only-notice strong{font-size:12px}.demo-only-notice p{margin:5px 0 0;color:var(--ink-soft);font-size:10px;line-height:1.7}.form-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px}.field label,.field-label,fieldset legend{display:block;margin-bottom:10px;color:var(--ink);font-size:13px;font-weight:700;letter-spacing:.04em}.field-label span,fieldset legend span{margin-left:8px;color:var(--paper);background:var(--forest)}.field-label span,.optional-label,fieldset legend span{padding:3px 7px;border-radius:2px;font-size:9px;font-weight:500}.optional-label{margin-left:6px}.optional-label,fieldset legend span{color:var(--forest);background:var(--mint)}.drop-zone{position:relative;height:300px;overflow:hidden;display:grid;place-items:center;background:#f9faf7;border:1px dashed #aabbb3;border-radius:3px;transition:.16s ease}.drop-zone.is-dragging{background:var(--mint);border-color:var(--forest);transform:scale(1.01)}.drop-action{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink);background:transparent;border:0;cursor:pointer}.upload-icon{width:54px;height:54px;display:grid;place-items:center;margin-bottom:18px;color:var(--forest);background:var(--mint);border-radius:50%}.upload-icon svg{width:25px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.drop-action strong{margin-bottom:8px;font-size:14px}.drop-action>span:not(.upload-icon){color:var(--sage);font-size:12px}.drop-action small{margin-top:20px;color:#95a39e;font-size:10px}.drop-zone img{width:100%;height:100%;object-fit:contain;background:#eef1ed}.preview-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:18px;background:linear-gradient(transparent 65%,rgba(10,32,27,.5))}.preview-overlay button{padding:10px 20px;color:var(--paper);background:rgba(15,59,51,.9);border:0;border-radius:2px;cursor:pointer}.file-name{margin:8px 0 0;overflow:hidden;color:var(--sage);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.details-column{display:flex;flex-direction:column;gap:28px}.field input,.field select{width:100%;height:48px;padding:0 14px;color:var(--ink);background:#fbfbf8;border:1px solid #d7ddd8;border-radius:2px;outline:0;transition:.14s ease}.field input:focus,.field select:focus{background:white;border-color:var(--forest);box-shadow:0 0 0 3px rgba(22,75,64,.08)}.field input::placeholder{color:#a4aca8}.field small{display:block;margin-top:7px;color:var(--sage);font-size:10px}fieldset{min-width:0;margin:0;padding:25px 0 0;border:0;border-top:1px solid var(--line)}.field-help{margin:0 0 18px;color:var(--sage);font-size:11px;line-height:1.7}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.privacy-note{margin:17px 0 0;padding:12px 14px;color:#6a766f;background:#f3f5f1;border-left:2px solid var(--sage);font-size:10px;line-height:1.65}.error-message{margin-top:28px;padding:14px 16px;color:var(--danger);background:#fbefed;border:1px solid #efd2cd;font-size:12px}.submit-row{display:flex;flex-direction:column;align-items:center;margin-top:42px;padding-top:35px;border-top:1px solid var(--line)}.submit-actions{display:flex;align-items:stretch;gap:12px}.primary-button{min-width:295px;height:58px;display:flex;align-items:center;justify-content:center;gap:28px;padding:0 32px;color:var(--paper);background:var(--forest);border:0;border-radius:2px;box-shadow:0 9px 25px rgba(22,75,64,.18);font-size:14px;letter-spacing:.06em}.primary-button,.sample-button{cursor:pointer;font-weight:700;transition:.16s ease}.sample-button{min-width:220px;padding:0 24px;color:var(--forest);background:transparent;border:1px solid rgba(22,75,64,.45);border-radius:2px;font-size:12px;letter-spacing:.04em}.sample-button small{display:block;margin-top:4px;color:var(--sage);font-size:8px;font-weight:500}.sample-button:hover:not(:disabled){background:var(--mint);border-color:var(--forest)}.sample-button:disabled{cursor:wait;opacity:.55}.primary-button:hover:not(:disabled){background:var(--forest-deep);transform:translateY(-2px)}.primary-button:disabled{cursor:wait;opacity:.72}.submit-row p{margin:14px 0 0;color:var(--sage);font-size:9px}.spinner{width:17px;height:17px;border:2px solid rgba(255,255,255,.35);border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}.analysis-progress{max-width:760px;margin:28px auto 0;padding:22px 24px;background:#f7f9f5;border:1px solid var(--line)}.analysis-progress ol{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0;padding:0;list-style:none}.analysis-progress li{display:flex;gap:9px;color:#99a39f}.analysis-progress li>span{width:24px;height:24px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #c9d0cc;border-radius:50%;font-size:9px}.analysis-progress li small,.analysis-progress li strong{display:block}.analysis-progress li strong{font-size:10px;line-height:1.5}.analysis-progress li small{margin-top:3px;font-size:8px;line-height:1.5}.analysis-progress li.is-active{color:var(--forest)}.analysis-progress li.is-active>span{color:white;background:var(--forest);border-color:var(--forest);animation:progressPulse 1.4s ease-in-out infinite}.analysis-progress li.is-complete{color:var(--sage)}.analysis-progress li.is-complete>span{color:white;background:var(--sage);border-color:var(--sage)}.analysis-progress .progress-note,.analysis-progress>p{display:block;margin:16px 0 0;color:var(--forest);font-size:9px;text-align:center}.analysis-progress .progress-note{margin-top:6px;color:var(--sage)}@keyframes progressPulse{50%{box-shadow:0 0 0 5px rgba(22,75,64,.1)}}@keyframes spin{to{transform:rotate(1turn)}}.report-wrap{width:min(1000px,calc(100% - 48px));margin:0 auto 120px;scroll-margin-top:30px}.report-toolbar{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.report-toolbar>div{display:flex;align-items:flex-start;gap:16px}.report-toolbar button{padding:11px 17px;color:var(--forest);background:transparent;border:1px solid var(--forest);cursor:pointer}.report{padding:65px 70px;background:var(--paper);border:1px solid #e0e2dc;box-shadow:var(--shadow)}.report-header{padding-bottom:30px;border-bottom:2px solid var(--forest)}.report-header p,.report-header span{margin:0;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.15em}.demo-badge{display:inline-block;margin-top:13px;padding:5px 9px;color:var(--forest);background:var(--mint);border:1px solid rgba(22,75,64,.2);font-size:9px;letter-spacing:.08em}.report-header h2{margin:14px 0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:27px;font-weight:500;line-height:1.5}.report-header span{color:var(--sage);letter-spacing:.05em}.report-overview{display:grid;grid-template-columns:260px 1fr;gap:35px;margin:40px 0}.report-overview img{width:100%;height:215px;object-fit:contain;background:#f1f2ee;border:1px solid var(--line)}.report-overview h3,.report-section>h3,.talk-track h3{margin:0 0 14px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:20px;font-weight:600}.concern-list p,.point-list p,.report-overview p,.talk-track blockquote{color:var(--ink-soft);font-size:12px;line-height:1.9}.report-overview dl{margin:22px 0 0}.report-overview dl div{display:grid;grid-template-columns:85px 1fr;padding:8px 0;border-top:1px solid var(--line);font-size:11px}.report-overview dt{color:var(--sage)}.report-overview dd{margin:0}.kua-card{display:grid;grid-template-columns:100px 170px 1fr;align-items:center;gap:15px;padding:20px 22px;background:var(--mint);border-left:3px solid var(--forest)}.north-verification{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:35px 0 0;padding:19px 22px;border-left:3px solid}.north-verification.needs-check{background:#fbf3df;border-color:var(--gold)}.north-verification.is-confirmed{background:var(--mint);border-color:var(--forest)}.north-verification strong{font-size:12px}.north-verification p{margin:6px 0 0;color:var(--ink-soft);font-size:10px;line-height:1.7}.north-verification button{flex:0 0 auto;padding:9px 13px;color:var(--forest);background:var(--paper);border:1px solid;cursor:pointer;font-size:10px}.kua-card>span{color:var(--sage);font-size:10px}.kua-card strong{font-family:Yu Mincho,serif;font-size:17px}.kua-card p{margin:0;font-size:11px}.kua-card small{grid-column:2/-1;color:var(--sage);font-size:9px}.report-section{margin-top:55px}.report-kicker{margin:0 0 8px;color:var(--gold);font-family:Georgia,serif;font-size:9px;letter-spacing:.18em}.direction-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.direction-grid>div{min-height:75px;padding:14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.direction-grid strong{color:var(--forest);font-family:Yu Mincho,serif;font-size:13px}.direction-grid p{margin:8px 0 0;color:var(--ink-soft);font-size:10px;line-height:1.6}.point-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.point-list article{display:flex;gap:14px;padding:20px;background:#f3f7f3}.point-list article>span{flex:0 0 27px;width:27px;height:27px;display:grid;place-items:center;color:white;background:var(--forest);border-radius:50%;font-size:12px}.concern-list h4,.point-list h4{margin:1px 0 6px;font-size:13px}.concern-list p,.point-list p{margin:0;font-size:10.5px}.point-list small{display:inline-block;margin-top:8px;color:var(--gold);font-size:9px}.concern-list{border-top:1px solid var(--line)}.concern-list>article{display:grid;grid-template-columns:1fr .9fr;gap:35px;padding:25px 0;border-bottom:1px solid var(--line)}.concern-copy{display:flex;gap:16px}.concern-copy>span{color:var(--gold);font-family:Georgia,serif;font-size:12px}.remedy-box{padding:17px 19px;background:#f7f4ec}.remedy-box strong{color:var(--gold);font-size:9px}.remedy-box ul{margin:10px 0 0;padding-left:17px;color:var(--ink-soft);font-size:10px;line-height:1.7}.talk-track{margin-top:55px;padding:30px 35px;background:var(--forest);color:white}.talk-track .report-kicker{color:#d8c49d}.talk-track h3{color:white}.talk-track blockquote{margin:0;color:rgba(255,255,255,.9);font-family:Yu Mincho,serif;font-size:14px}.disclaimer{margin-top:35px;padding-top:20px;border-top:1px solid var(--line)}.disclaimer strong{font-size:10px}.disclaimer p{margin:7px 0 0;color:var(--sage);font-size:8.5px;line-height:1.7}.principles{width:min(1060px,calc(100% - 48px));margin:0 auto 115px}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:35px;border-top:1px solid rgba(22,75,64,.2)}.principle-grid article{padding:33px 32px 10px 0}.principle-grid article+article{padding-left:32px;border-left:1px solid rgba(22,75,64,.15)}.principle-grid strong{color:var(--gold);font-family:Georgia,serif;font-size:11px}.principle-grid h3{margin:12px 0;font-family:Yu Mincho,serif;font-size:19px;font-weight:500}.principle-grid p{margin:0;color:var(--ink-soft);font-size:11px;line-height:1.8}footer{min-height:180px;display:flex;align-items:center;justify-content:center;gap:65px;padding:40px max(24px,calc((100% - 1060px) / 2));color:rgba(255,255,255,.82);background:var(--forest-deep)}footer .brand{flex:0 0 auto;color:white}footer .brand-mark{background:rgba(255,255,255,.12)}footer p{max-width:650px;margin:0;font-size:9px;line-height:1.9}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}@media (max-width:800px){.hero,.principles,.report-wrap,.site-header,.workspace{width:min(100% - 30px,680px)}.site-header{height:75px}.header-note{display:none}.hero{padding:70px 0 55px}.hero h1{font-size:clamp(40px,12vw,62px)}.hero-copy{font-size:14px}.desktop-only{display:none}.step-row{display:grid;gap:14px;margin-top:40px}.step{min-width:0}.step i{display:none}.workspace{margin-bottom:80px;padding:35px 22px}.form-grid{grid-template-columns:1fr;gap:35px}.drop-zone{height:260px}.analysis-progress ol{grid-template-columns:1fr;gap:15px}.report{padding:40px 22px}.concern-list>article,.report-overview{grid-template-columns:1fr}.report-overview img{height:260px}.kua-card{grid-template-columns:1fr}.north-verification{align-items:flex-start;flex-direction:column}.kua-card small{grid-column:auto}.point-list,.principle-grid{grid-template-columns:1fr}.principle-grid article+article{padding-left:0;border-left:0;border-top:1px solid rgba(22,75,64,.12)}footer{align-items:flex-start;flex-direction:column;gap:25px}}@media (max-width:480px){.brand strong{font-size:14px}.hero h1{font-size:38px}.inline-fields{grid-template-columns:1fr}.primary-button{width:100%;min-width:0}.submit-actions{width:100%;flex-direction:column}.sample-button{width:100%;min-height:55px}.direction-grid{grid-template-columns:repeat(2,1fr)}.report-toolbar{align-items:flex-start;flex-direction:column;gap:16px}}@media print{@page{size:A4;margin:12mm}body{background:white}.hero,.no-print,.principles,.site-header,.workspace,footer{display:none!important}.report-wrap{width:100%;margin:0}.report{padding:0;border:0;box-shadow:none}.concern-list>article,.point-list article,.report-section,.talk-track{page-break-inside:avoid;break-inside:avoid}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}