/* Shared Sites / Astro visual system, 2026-10-01. Brand hues remain lapis + sakura. */
:root{--mn-bg:#080c18;--mn-surface:#111a2e;--mn-fg:#edf1fa;--mn-muted:#aebad1;--mn-blue:#a5bcff;--mn-pink:#e9a3bd;--mn-line:#2b3650;color-scheme:dark}
html{scroll-behavior:smooth;scroll-padding-top:100px;background:var(--mn-bg)}
body.mn-site,body.optiens-midnight{margin:0;background:var(--mn-bg);color:var(--mn-fg);font-family:Arial,'Yu Gothic',Meiryo,sans-serif;line-height:1.8;--surface:var(--mn-bg);--surface-2:var(--mn-surface);--surface-3:#19243d;--surface-card:var(--mn-surface);--text:var(--mn-fg);--heading:var(--mn-fg);--muted:var(--mn-muted);--border:var(--mn-line)}
.mn-site *,.optiens-midnight *{box-sizing:border-box}.mn-site a{color:inherit;text-decoration:none}.mn-site button,.mn-site input,.mn-site select,.mn-site textarea{font:inherit}.mn-site h1,.mn-site h2,.mn-site h3,.mn-site p{margin:0}.mn-site img{max-width:100%;height:auto}
.mn-header{display:flex;align-items:center;justify-content:space-between;padding:20px 5%;min-height:92px;border-bottom:1px solid var(--mn-line);background:#080c18f5;position:relative;z-index:40;gap:32px}.mn-logo{display:block;position:relative;width:146px}.mn-logo img{display:block;width:100%;height:auto;filter:brightness(1.35) saturate(1.1)}.mn-logo .mn-logo-white{position:absolute;inset:0;filter:brightness(0) invert(1);clip-path:inset(0 0 0 28.8%)}.mn-header nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}.mn-header nav a{color:var(--mn-muted);text-decoration:none}.mn-header nav a:hover,.mn-header nav a[aria-current=page]{color:var(--mn-blue)}.mn-header nav .mn-cta{border:1px solid var(--mn-line);padding:10px 24px;color:var(--mn-fg)}.mn-menu{display:none}.mn-skip{position:fixed;left:20px;top:-100px;background:var(--mn-blue);color:var(--mn-bg);padding:12px;z-index:100}.mn-skip:focus{top:10px}
.mn-content{overflow:clip}.mn-content a{text-decoration:none}.mn-hero{padding:90px max(6%,calc((100vw - 1240px)/2)) 80px;position:relative;border-bottom:1px solid var(--mn-line);isolation:isolate}.mn-hero-grid{position:absolute;z-index:-1;inset:0;background:linear-gradient(100deg,#080c18 20%,transparent),repeating-linear-gradient(90deg,transparent 0 99px,#a5bcff0b 100px),repeating-linear-gradient(0deg,transparent 0 99px,#a5bcff0b 100px);mask-image:linear-gradient(90deg,transparent,black);pointer-events:none}.mn-hero:after{content:'+';font:100px monospace;color:var(--mn-pink);position:absolute;right:9%;top:35%;transform:rotate(10deg);opacity:.65;z-index:-1}.mn-kicker{font:11px/1.4 Consolas,monospace;letter-spacing:.1em;color:var(--mn-blue);margin-bottom:26px!important}.mn-hero h1{font-size:clamp(38px,5.2vw,80px);line-height:1.24;letter-spacing:-.04em;font-weight:800;max-width:1050px}.mn-hero em,.mn-next em{font-style:normal;color:var(--mn-blue)}.mn-lead{color:var(--mn-muted);font-size:16px;line-height:2.1;margin-top:28px!important;max-width:760px}
.mn-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1300px;margin:75px auto;padding:0 30px}.mn-card{background:var(--mn-surface);border:1px solid var(--mn-line);padding:34px}.mn-card h2{font-size:25px;line-height:1.5;margin:32px 0 20px!important}.mn-card h3{font-size:22px;margin:0 0 20px}.mn-card p,.mn-split p,.mn-prose p{color:var(--mn-muted);font-size:15px;line-height:2}.mn-card ul{padding-left:22px;line-height:2.3}.mn-split{max-width:1240px;margin:auto;padding:70px 30px;display:grid;grid-template-columns:1fr 1fr;gap:80px;border-block:1px solid var(--mn-line)}.mn-split h2,.mn-prose h2{font-size:32px;line-height:1.6}.mn-split p+p{margin-top:20px}.mn-price{font-size:60px!important;font-weight:750;letter-spacing:-.04em;color:var(--mn-blue)!important;line-height:1.5!important}.mn-price small{font-size:14px;letter-spacing:0}.mn-prose{max-width:900px;padding:80px 30px;margin:auto}.mn-prose p{margin:24px 0}.mn-textlink{display:inline-flex;color:var(--mn-blue)!important;border-bottom:1px solid var(--mn-line);padding:14px 0;margin-top:16px}.mn-button{display:inline-flex;align-items:center;justify-content:center;gap:40px;background:var(--mn-blue);color:#080c18!important;padding:15px 25px;min-height:54px;border:1px solid transparent;font:600 14px/1.5 inherit;cursor:pointer;text-decoration:none;transition:background .2s,transform .2s;margin-top:25px}.mn-button:hover{background:#c0cfff;transform:translateY(-2px)}.mn-next{padding:80px 6%;border-top:1px solid var(--mn-line);background:radial-gradient(ellipse at 90% 110%,#243a652f,transparent 65%)}.mn-next h2{font-size:clamp(35px,5.3vw,68px);letter-spacing:-.04em;line-height:1.25}.mn-steps{list-style:none;max-width:1060px;margin:70px auto;padding:0 30px}.mn-steps li{display:grid;grid-template-columns:80px 1fr;gap:32px;border-bottom:1px solid var(--mn-line);padding:32px 0}.mn-steps li>span{font:50px/1.4 Consolas,monospace;color:var(--mn-pink)}.mn-steps h2{font-size:25px;margin-bottom:12px}.mn-steps p{color:var(--mn-muted)}.mn-company{max-width:1060px;padding:45px 30px 90px;margin:auto}.mn-company>div{display:grid;grid-template-columns:260px 1fr;border-bottom:1px solid var(--mn-line);padding:24px 0}.mn-company dt{color:var(--mn-muted);font-size:13px}.mn-company dd{margin:0;line-height:2}
.mn-contact-grid{max-width:1200px;margin:auto;padding:75px 30px 100px;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.mn-contact-grid aside h2{font-size:30px;line-height:1.5}.mn-contact-grid aside p{color:var(--mn-muted);margin:25px 0}.mn-contact-grid aside ol{padding-left:22px;line-height:2.5}.mn-form{position:relative;background:var(--mn-surface);border:1px solid var(--mn-line);padding:35px}.mn-form label{display:block;font-size:13px;color:var(--mn-fg);margin-bottom:24px}.mn-form label>span:not(:last-child){font-size:10px;color:var(--mn-pink);margin-left:8px}.mn-form label small{color:var(--mn-muted)}.mn-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mn-form input:not([type=checkbox]),.mn-form select,.mn-form textarea{display:block;width:100%;background:#080f21;color:var(--mn-fg);border:1px solid #526080;border-radius:4px;padding:12px;min-height:48px;margin-top:8px;font-size:16px}.mn-form textarea{resize:vertical}.mn-form input::placeholder,.mn-form textarea::placeholder{color:#8290ad;font-size:13px}.mn-form details{margin:10px 0 30px}.mn-form summary{cursor:pointer;color:var(--mn-muted);font-size:13px;margin-bottom:20px;min-height:40px}.mn-form .mn-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px}.mn-consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--mn-blue);margin:4px 0}.mn-consent a{color:var(--mn-blue);text-decoration:underline}.mn-form .mn-button{width:100%;margin-top:0}.mn-note{font-size:12px!important;color:var(--mn-muted)!important;line-height:1.9;margin-top:18px!important}.mn-honeypot{position:absolute;left:-9999px}.mn-form .mn-honeypot label{margin:0}.mn-legal{max-width:880px;margin:auto;padding:70px 30px 100px;font-size:15px;line-height:2}.mn-legal h1{font-size:clamp(28px,4vw,48px);margin-bottom:35px}.mn-legal h2{font-size:21px;margin:40px 0 16px}.mn-legal p,.mn-legal li{color:var(--mn-muted)}.mn-legal ul,.mn-legal ol{padding-left:23px}.mn-legal a{color:var(--mn-blue);text-decoration:underline}.mn-footer{padding:50px 6%;border-top:1px solid var(--mn-line);background:var(--mn-bg);color:var(--mn-muted)}.mn-footer>p{font:10px/1.5 Consolas,monospace;margin:20px 0 35px;letter-spacing:.06em}.mn-footer nav{display:flex;gap:15px 28px;flex-wrap:wrap;font-size:12px}.mn-footer a{color:inherit;text-decoration:none}.mn-footer small{display:block;font:10px/1.5 Consolas,monospace;margin-top:32px}.mn-site :focus-visible,.optiens-midnight :focus-visible{outline:2px solid var(--mn-blue)!important;outline-offset:4px}
/* Existing dynamic forms, blog and customer-result pages keep their DOM and behavior. */
body.optiens-midnight{--bg:var(--mn-bg);--bg-alt:var(--mn-surface);--ink:var(--mn-fg);--text-body:#d4ddef;--text-muted-2:var(--mn-muted);--line:var(--mn-line)}
.optiens-midnight .site-main .blog-detail-page :is(.category-badge,.post-body a){color:var(--mn-blue)!important;-webkit-text-fill-color:var(--mn-blue)!important}
.optiens-midnight .site-main .diagnosis-form{background:var(--mn-surface);border-color:var(--mn-line)}
.optiens-midnight .site-main .hero-overlay{background:rgba(8,12,24,.87)}
.optiens-midnight .site-main .hero-offer{padding:16px 20px;border:1px solid var(--mn-line)}
.optiens-midnight .site-main .hero-offer :is(span,small){color:var(--mn-muted)!important}
.optiens-midnight .site-main :is(main,section,article,header,.light-section,.content-wrapper,.page-container,.diagnosis-page,.blog-page,.blog-list,.post-content,.prose){background-color:var(--mn-bg);color:var(--mn-fg)}
.optiens-midnight .site-main :is(h1,h2,h3,h4,label,dt,strong){color:var(--mn-fg)}
.optiens-midnight .site-main :is(p,li,dd,.lead,.section-copy,.hero-lead,.optional,.form-note,.field-hint){color:var(--mn-muted)}
.optiens-midnight .site-main :is(.card,.post-card,.blog-card,.report-preview,.fit-lists,.hero-offer,.scope-card,.application-form,.form-card,.notice-box,.summary-card,.result-card,.policy-card){background:var(--mn-surface)!important;border-color:var(--mn-line)!important}
.optiens-midnight .site-main :is(input:not([type=checkbox]):not([type=radio]),textarea,select){background:#0b1224!important;color:var(--mn-fg)!important;border-color:#536080!important;min-height:44px}
.optiens-midnight .site-main :is(.eyebrow,.primary-link,.text-link,.blog-category,.category-tag,.prose a){color:var(--mn-blue)}
.optiens-midnight .site-main :is(.btn-primary,.primary-button,.submit-button){color:#080c18!important;background:var(--mn-blue)!important;border-color:var(--mn-blue)!important}
.optiens-midnight .site-main :is(.btn-secondary,.btn-outline){color:var(--mn-blue)!important;border-color:var(--mn-line)!important;background:transparent!important}
.optiens-midnight .site-main :is(table,th,td){border-color:var(--mn-line)!important}.optiens-midnight .site-main th{background:var(--mn-surface)!important;color:var(--mn-fg)!important}.optiens-midnight .site-main td{color:var(--mn-muted)}
.optiens-midnight .site-main .mn-card,.optiens-midnight .site-main .mn-form{background:var(--mn-surface)}.optiens-midnight .site-main .mn-price{color:var(--mn-blue)}.optiens-midnight .site-main .mn-hero em{color:var(--mn-blue)}
@media(max-width:900px){.mn-header{padding:15px 5%;min-height:76px}.mn-header nav{gap:17px;font-size:12px}.mn-logo{width:125px}.mn-cards{grid-template-columns:1fr}.mn-split,.mn-contact-grid{gap:35px}.mn-company>div{grid-template-columns:200px 1fr}}
@media(max-width:700px){.mn-menu{display:flex;gap:20px;align-items:center;border:1px solid var(--mn-line);background:transparent;color:var(--mn-fg);padding:9px 15px;font:11px Consolas,monospace;min-height:44px}.mn-menu span{font-size:20px}.mn-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#0c1223;border-bottom:1px solid var(--mn-line);padding:25px 6%;flex-direction:column;align-items:stretch;gap:0}.mn-header nav.is-open{display:flex}.mn-header nav a{padding:14px 0;min-height:48px}.mn-header nav .mn-cta{margin-top:15px;text-align:center}.mn-hero{padding:58px 24px}.mn-hero:after{right:20px;top:20px;font-size:60px;opacity:.2}.mn-hero h1{font-size:39px;line-height:1.35}.mn-lead{font-size:14px}.mn-cards{padding:0 22px;margin:40px 0;gap:16px}.mn-card{padding:25px}.mn-card h2{font-size:24px;margin-top:20px!important}.mn-split,.mn-contact-grid{grid-template-columns:1fr;padding:45px 24px;gap:30px}.mn-split h2,.mn-prose h2{font-size:27px}.mn-form{padding:24px 18px}.mn-form-row{grid-template-columns:1fr;gap:0}.mn-prose{padding:50px 24px}.mn-price{font-size:50px!important}.mn-company{padding:25px 24px 55px}.mn-company>div{grid-template-columns:1fr;gap:8px}.mn-company dd{font-size:14px;overflow-wrap:anywhere}.mn-steps{margin:35px auto;padding:0 24px}.mn-steps li{grid-template-columns:42px 1fr;gap:18px}.mn-steps li>span{font-size:28px}.mn-steps h2{font-size:21px}.mn-steps p{font-size:14px}.mn-next{padding:55px 24px}.mn-legal{padding:50px 24px;font-size:14px}.mn-footer{padding:40px 24px}.mn-footer nav{gap:15px 20px}}
.mn-journal{max-width:1300px;margin:auto;padding:55px 30px 90px}.mn-journal>label{display:block;font-size:13px;margin-bottom:10px}.mn-search-row{display:flex;gap:15px;margin-bottom:20px}.mn-search-row input,.mn-search-row select{background:var(--mn-surface);color:var(--mn-fg);border:1px solid #526080;padding:13px 16px;font-size:16px;min-height:48px}.mn-search-row input{flex:1;min-width:0}.mn-journal>p{font-size:12px;color:var(--mn-muted);margin:25px 0}.mn-journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.mn-journal-card{padding:30px;border:1px solid var(--mn-line);background:var(--mn-surface);display:flex;flex-direction:column}.mn-journal-card>div{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--mn-muted)}.mn-journal-card h2{font-size:19px;line-height:1.65;margin:25px 0 16px}.mn-journal-card p{font-size:12px;line-height:1.9;color:var(--mn-muted);margin-bottom:20px}.mn-journal-card .mn-textlink{margin-top:auto;font:11px Consolas,monospace;align-self:flex-start}.mn-journal [hidden]{display:none!important}
@media(max-width:950px){.mn-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.mn-journal{padding:40px 24px 60px}.mn-search-row{flex-direction:column}.mn-journal-grid{grid-template-columns:1fr}.mn-journal-card{padding:25px}}
/* Native contact and consent controls retain their original behavior. */
.optiens-midnight .site-main .contact-form{background:var(--mn-surface);border-color:var(--mn-line)}
.optiens-midnight .site-main .contact-page :is(.contact-hero,.contact-guide ul,.contact-guide li,.after-flow){border-color:var(--mn-line)}
.optiens-midnight .site-main .contact-page :is(.eyebrow,.flow-label,.contact-intent-note){color:var(--mn-blue)}
.optiens-midnight .site-main .contact-page .required{background:#442431;color:#ffbdce}
.optiens-midnight .site-main .contact-page .submit-button{background:var(--mn-blue);color:var(--mn-bg);border-color:var(--mn-blue)}
.optiens-midnight .site-main .contact-page .submit-button:hover{background:#c0cfff}
body.optiens-midnight #site-main .contact-page :is(p,li,.optional,.guide-note,.form-note){color:var(--mn-muted)}
body.optiens-midnight #site-main .contact-page label{color:var(--mn-fg)}
body.optiens-midnight #site-main .contact-page a{color:var(--mn-blue)}
body.optiens-midnight #site-main .contact-page .form-note a{display:inline-block}
body.optiens-midnight #site-main .contact-page :is(.eyebrow,.flow-label,.contact-intent-note){color:var(--mn-blue)}
.optiens-midnight #policy-modal .policy-modal__panel{background:var(--mn-surface);color:var(--mn-fg);border-color:var(--mn-line)}
.optiens-midnight #policy-modal :is(.policy-modal__header,.policy-modal__footer,.policy-modal__body,.policy-modal__content){background:var(--mn-surface);color:var(--mn-fg);border-color:var(--mn-line)}
.optiens-midnight #policy-modal :is(h2,h3,h4,strong){color:var(--mn-fg)}
.optiens-midnight #policy-modal :is(p,li,dd){color:var(--mn-muted)}
.optiens-midnight #policy-modal a{color:var(--mn-blue)}
.optiens-midnight #policy-modal .policy-modal__close{background:var(--mn-bg);color:var(--mn-fg);border-color:var(--mn-line)}
.optiens-midnight #policy-modal .policy-modal__ok{background:var(--mn-blue);color:var(--mn-bg);border-color:var(--mn-blue)}
/* Scoped legacy form/report styles use light-theme literals. Override presentation only. */
body.optiens-midnight #site-main :is(.diagnosis-page,.result-page) :is(p,li,dd,span,small){color:var(--mn-muted)}
body.optiens-midnight #site-main :is(.diagnosis-page,.result-page) :is(h1,h2,h3,h4,label,legend,dt,strong){color:var(--mn-fg)}
body.optiens-midnight #site-main :is(.diagnosis-page,.result-page) :is(.eyebrow,a,.axis-status){color:var(--mn-blue)}
body.optiens-midnight #site-main .diagnosis-page .field label span{color:var(--mn-pink)}
body.optiens-midnight #site-main :is(.diagnosis-page,.result-page) :is(.report-preview,.axis-item,.proposal-item,.proposal-facts>div,.proposal-steps li,.role-columns section,.effect-values>div,.expected-effect,.proposal-condition,.result-nav){background:var(--mn-surface);border-color:var(--mn-line)}
body.optiens-midnight #site-main :is(.diagnosis-page,.result-page) :is(.result-label,.preview-label,.recommendation-status,.means,.primary-tag){background:var(--mn-surface);color:var(--mn-blue);border-color:var(--mn-line)}
body.optiens-midnight #site-main :is(.diagnosis-page,.result-page) :is(.primary-link,.meeting-cta){background:var(--mn-blue);color:var(--mn-bg);border-color:var(--mn-blue)}
body.optiens-midnight #site-main .result-page :is(.privacy-band strong,.proposal-rank){color:var(--mn-pink)}
body.optiens-midnight #site-main .result-page :is(.decision-lead,.readiness-summary,.expected-effect,.proposal-condition){color:var(--mn-muted)!important}
body.optiens-midnight #site-main :is(.diagnosis-page,.result-page) :is(.report-meta,.report-meta>div,.outcome-grid,.outcome-grid article,.fit-lists>div,.report-contents,.report-contents>div,.application-intro dl,.application-intro dl>div,.diagnosis-form fieldset,.decision-metrics,.decision-metric,.proposal-facts,.proposal-steps,.effect-values,.cost-list,.cost-list>div,.summary-points li,.result-nav,.privacy-band){border-color:var(--mn-line)}
body.optiens-midnight #site-main .result-page :is(.proposal-facts,.proposal-steps,.effect-values,.role-columns){background:var(--mn-line)}
body.optiens-midnight #site-main .result-page .decision-section{--decision-accent:var(--mn-blue)}
body.optiens-midnight #site-main .result-page :is(.decision-section--confirm_first,.decision-section--hold){--decision-accent:var(--mn-pink)}
body.optiens-midnight #site-main .diagnosis-radar .radar-label{fill:var(--mn-muted)}
body.optiens-midnight #site-main .diagnosis-radar :is(.radar-grid,.radar-axis,.radar-legend,.radar-legend li){stroke:var(--mn-line);border-color:var(--mn-line)}
body.optiens-midnight #site-main .diagnosis-radar .radar-value{fill:#a5bcff20;stroke:var(--mn-blue)}
.optiens-home .studio-visit{color:var(--mn-muted);font-size:12px;text-align:right;max-width:170px;line-height:1.8}
@media(max-width:700px){.optiens-home .studio-info{align-items:flex-start;gap:20px}.optiens-home .studio-visit{max-width:95px;font-size:10px}.mn-header{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mn-button{transition:none}.mn-button:hover{transform:none}}
@media print{body.optiens-midnight{background:#fff;color:#172033;--mn-bg:#fff;--mn-surface:#fff;--mn-fg:#172033;--mn-muted:#455269;--mn-blue:#1f3a93;--mn-pink:#743247;--mn-line:#d7deea}.mn-header,.mn-footer,.mn-skip{display:none}}
