﻿:root{
  --nova-ink:#102f2b;
  --nova-paper:#fffaf0;
  --nova-sand:#e8e3d7;
  --nova-coral:#db5b3e;
  --nova-gold:#f3b541;
  --nova-blue:#9cc9d2;
  --nova-white:#ffffff;
  --nova-black:#081614;
  --nova-border:4px solid var(--nova-ink);
  --nova-shadow:10px 10px 0 var(--nova-ink);
  --nova-display:"Archivo Black","Noto Sans JP",sans-serif;
  --nova-body:"Noto Sans JP",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--nova-paper);color:var(--nova-ink);font-family:var(--nova-body);font-size:16px;line-height:1.85;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:2px;text-underline-offset:4px}
button,input{font:inherit}
button,a{touch-action:manipulation}
:focus-visible{outline:4px solid var(--nova-gold);outline-offset:4px}
.nova-skip{position:fixed;left:12px;top:-100px;z-index:9999;background:var(--nova-white);border:var(--nova-border);padding:12px 18px;font-weight:800}
.nova-skip:focus{top:12px}
.nova-header{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;min-height:82px;padding:10px 4vw;background:var(--nova-paper);border-bottom:var(--nova-border)}
.nova-brand{display:block;width:min(240px,55vw)}
.nova-brand img{width:100%;height:60px;object-fit:contain;object-position:left center}
.nova-menu-button{display:flex;align-items:center;gap:9px;border:3px solid var(--nova-ink);background:var(--nova-gold);padding:9px 14px;font-weight:900;box-shadow:5px 5px 0 var(--nova-ink);cursor:pointer}
.nova-menu-button span:first-child{font-size:1.5rem;line-height:1}
.nova-drawer{position:fixed;inset:82px 0 0 auto;width:min(480px,100%);padding:32px;background:var(--nova-coral);border-left:var(--nova-border);transform:translateX(105%);transition:transform .24s ease;overflow:auto}
.nova-drawer.is-open{transform:translateX(0)}
.nova-drawer a{display:block;border-bottom:2px solid var(--nova-ink);padding:10px 0;font-size:1.05rem;font-weight:800;text-decoration:none}
.nova-drawer a:hover{padding-left:10px;background:var(--nova-paper)}
.nova-drawer__label{font-family:var(--nova-display);font-size:.78rem;letter-spacing:.08em}
.nova-drawer__legal{margin-top:28px;background:var(--nova-paper);border:3px solid var(--nova-ink);padding:15px}
.nova-kicker{margin:0 0 10px;font-family:var(--nova-display);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.nova-number{display:grid;place-items:center;min-width:66px;height:66px;background:var(--nova-gold);border:var(--nova-border);font-family:var(--nova-display);font-size:1.2rem;box-shadow:5px 5px 0 var(--nova-ink)}
.nova-button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;border:4px solid var(--nova-ink);padding:10px 20px;font-weight:900;text-decoration:none;cursor:pointer;box-shadow:7px 7px 0 var(--nova-ink);transition:transform .15s ease,box-shadow .15s ease}
.nova-button:hover{transform:translate(4px,4px);box-shadow:3px 3px 0 var(--nova-ink)}
.nova-button--primary{background:var(--nova-gold)}
.nova-button--outline{background:var(--nova-paper)}
.nova-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px}.nova-hero{position:relative;display:grid;gap:28px;padding:44px 5vw 54px;background:var(--nova-blue);border-bottom:8px solid var(--nova-ink)}
.nova-hero__index{position:absolute;right:4vw;top:20px;font-family:var(--nova-display);font-size:.75rem;writing-mode:vertical-rl;letter-spacing:.14em}
.nova-hero h1{margin:0;font-family:var(--nova-display);font-size:clamp(3rem,12vw,8.8rem);line-height:.88;letter-spacing:-.055em;text-transform:uppercase}
.nova-hero h1 span{color:var(--nova-coral);-webkit-text-stroke:2px var(--nova-ink)}
.nova-hero__lead{max-width:760px;margin:20px 0 0;font-size:1.04rem;font-weight:600}
.nova-hero__media{position:relative;margin:10px 0 0;transform:rotate(-1.4deg)}
.nova-hero__media img{width:100%;border:var(--nova-border);box-shadow:var(--nova-shadow);filter:saturate(.78) contrast(1.05)}
.nova-hero__media figcaption{display:inline-block;margin:0 0 0 22px;padding:8px 12px;background:var(--nova-paper);border:3px solid var(--nova-ink);font-size:.82rem;font-weight:700}
.nova-hero__mark{position:absolute;right:-17px;bottom:-40px;width:130px;height:130px;background:var(--nova-gold);border:4px solid var(--nova-ink);padding:10px}
.nova-morph-path,.nova-icon__alt{fill:none;stroke:currentColor;stroke-width:5;stroke-linejoin:round;transition:opacity .22s ease,transform .22s ease}
.nova-morph-path--second{fill:var(--nova-coral)}
.nova-icon__alt{opacity:0;transform:scale(.7);transform-origin:center}
.nova-benefit:hover .nova-morph-path,.nova-benefit:focus-within .nova-morph-path{opacity:0;transform:scale(.7)}
.nova-benefit:hover .nova-icon__alt,.nova-benefit:focus-within .nova-icon__alt{opacity:1;transform:scale(1)}
.nova-trustline{display:grid;gap:8px;margin:16px 0 0;padding:0;list-style:none}
.nova-trustline li{background:var(--nova-paper);border:3px solid var(--nova-ink);padding:8px 12px;font-weight:800}
.nova-section{padding:70px 5vw;border-bottom:6px solid var(--nova-ink)}
.nova-section:nth-of-type(4n){background:var(--nova-sand)}
.nova-section:nth-of-type(4n+1){background:var(--nova-paper)}
.nova-section__head{display:flex;align-items:flex-start;gap:22px;margin-bottom:42px}
.nova-section__head h2{max-width:1050px;margin:0;font-family:var(--nova-display);font-size:clamp(2rem,6vw,4.8rem);line-height:1.08;letter-spacing:-.035em}
.nova-problem__grid,.nova-standards__grid,.nova-local__grid,.nova-timeline__grid,.nova-checklist__grid{display:grid;gap:24px}
.nova-problem article,.nova-standards article,.nova-local article,.nova-timeline article,.nova-checklist article{padding:26px;background:var(--nova-paper);border:var(--nova-border);box-shadow:var(--nova-shadow)}
.nova-problem article:nth-child(even),.nova-local article:nth-child(even){background:var(--nova-gold);transform:translateX(8px)}
.nova-problem h3,.nova-standards h3,.nova-local h3,.nova-timeline h3,.nova-checklist h3{margin-top:0;font-family:var(--nova-display);font-size:1.35rem;line-height:1.25}
.nova-strip{padding:28px 0;background:var(--nova-ink);color:var(--nova-paper);border-bottom:8px solid var(--nova-coral);overflow:hidden}
.nova-strip>h2{padding:0 5vw;font-family:var(--nova-display);font-size:clamp(1.8rem,5vw,3.5rem)}
.nova-strip__track{display:flex;gap:0;width:max-content}
.nova-strip__track article{width:min(82vw,430px);padding:24px;border:2px solid var(--nova-paper);background:var(--nova-ink)}
.nova-strip__track strong{display:block;color:var(--nova-gold);font-family:var(--nova-display);font-size:1.3rem}.nova-benefits__grid{display:grid;gap:26px}
.nova-benefit{position:relative;background:var(--nova-white);border:var(--nova-border);box-shadow:var(--nova-shadow);overflow:hidden}
.nova-benefit img{width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:4px solid var(--nova-ink);filter:grayscale(.2)}
.nova-benefit .nova-icon{width:68px;height:68px;margin:-36px 20px 0 auto;position:relative;background:var(--nova-gold);border:3px solid var(--nova-ink);padding:9px}
.nova-benefit h3,.nova-benefit p{margin-left:22px;margin-right:22px}
.nova-benefit h3{font-family:var(--nova-display);font-size:1.3rem}
.nova-benefit p:last-child{padding-bottom:20px}
.nova-table-wrap{overflow:auto;border:var(--nova-border);box-shadow:var(--nova-shadow)}
table{width:100%;min-width:760px;border-collapse:collapse;background:var(--nova-paper)}
th,td{padding:18px;text-align:left;vertical-align:top;border:2px solid var(--nova-ink)}
thead th{background:var(--nova-coral);font-family:var(--nova-display)}
tbody th{width:18%;background:var(--nova-gold);font-family:var(--nova-display)}
.nova-services__list{display:grid;gap:34px}
.nova-service{display:grid;background:var(--nova-paper);border:var(--nova-border);box-shadow:var(--nova-shadow)}
.nova-service img{width:100%;height:100%;max-height:390px;object-fit:cover;border-bottom:4px solid var(--nova-ink)}
.nova-service>div{padding:25px}
.nova-service span,.nova-timeline span{font-family:var(--nova-display);font-size:.78rem;letter-spacing:.1em;color:var(--nova-coral)}
.nova-service h3{margin:.25em 0;font-family:var(--nova-display);font-size:1.65rem;line-height:1.2}
.nova-service ul{display:flex;flex-wrap:wrap;gap:7px;padding:0;list-style:none}
.nova-service li{padding:4px 9px;background:var(--nova-gold);border:2px solid var(--nova-ink);font-size:.8rem;font-weight:800}
.nova-process__steps{display:grid;gap:0;margin:0;padding:0;list-style:none;border:var(--nova-border);box-shadow:var(--nova-shadow)}
.nova-process__steps li{display:grid;grid-template-columns:62px 1fr;border-bottom:3px solid var(--nova-ink)}
.nova-process__steps li:last-child{border-bottom:0}
.nova-process__steps li>span{display:grid;place-items:center;background:var(--nova-coral);border-right:3px solid var(--nova-ink);font-family:var(--nova-display);font-size:1.6rem}
.nova-process__steps div{padding:18px 22px}
.nova-process__steps h3{margin:0;font-family:var(--nova-display)}
.nova-timeline article:nth-child(3n+1){background:var(--nova-blue)}
.nova-timeline article:nth-child(3n+2){background:var(--nova-gold)}
.nova-scenarios__grid{display:grid;gap:35px}
.nova-scenarios article{background:var(--nova-paper);border:var(--nova-border);box-shadow:var(--nova-shadow)}
.nova-scenarios img{width:100%;aspect-ratio:16/10;object-fit:cover;border-bottom:4px solid var(--nova-ink)}
.nova-scenarios article>div{padding:25px}
.nova-scenarios span{font-family:var(--nova-display);color:var(--nova-coral)}
.nova-scenarios h3{font-family:var(--nova-display);font-size:1.55rem}.nova-about__layout{display:grid;border:var(--nova-border);box-shadow:var(--nova-shadow)}
.nova-about__layout>img{width:100%;height:100%;object-fit:cover;border-bottom:4px solid var(--nova-ink)}
.nova-about__copy{padding:28px;background:var(--nova-paper)}
.nova-about__copy p:first-child::first-letter{float:left;margin:.1em .12em 0 0;font-family:var(--nova-display);font-size:4.4rem;line-height:.75;color:var(--nova-coral)}
.nova-about__split{display:grid;gap:22px;margin-top:32px}
.nova-about__split article{padding:25px;border:var(--nova-border);background:var(--nova-gold)}
.nova-about__split h3{font-family:var(--nova-display);font-size:1.6rem}
.nova-glossary__grid{display:grid;gap:18px}
.nova-glossary__grid>div{border:var(--nova-border);background:var(--nova-paper);box-shadow:6px 6px 0 var(--nova-ink)}
.nova-glossary dt{padding:13px 18px;background:var(--nova-coral);border-bottom:3px solid var(--nova-ink);font-family:var(--nova-display);font-size:1.2rem}
.nova-glossary dd{margin:0;padding:18px}
.nova-checklist article>span{display:inline-grid;place-items:center;width:54px;height:54px;background:var(--nova-coral);border:3px solid var(--nova-ink);font-family:var(--nova-display)}
.nova-voices__grid{display:grid;gap:25px}
.nova-voice{margin:0;padding:22px;background:var(--nova-paper);border:var(--nova-border);box-shadow:var(--nova-shadow)}
.nova-voice img{width:105px;height:105px;object-fit:cover;border:3px solid var(--nova-ink);filter:grayscale(1)}
.nova-voice blockquote{margin:22px 0;font-size:1.08rem;font-weight:600}
.nova-voice figcaption{padding-top:12px;border-top:2px solid var(--nova-ink);font-size:.82rem}
.nova-resources__layout{display:grid;border:var(--nova-border);box-shadow:var(--nova-shadow);background:var(--nova-paper)}
.nova-resources__layout>img{width:100%;height:100%;object-fit:cover;border-bottom:4px solid var(--nova-ink)}
.nova-resources__layout>div{padding:25px}
.nova-resources article+article{margin-top:25px;padding-top:25px;border-top:3px solid var(--nova-ink)}
.nova-resources h3{font-family:var(--nova-display);font-size:1.4rem}
.nova-faq__grid{display:grid;gap:14px}
.nova-faq details{background:var(--nova-paper);border:3px solid var(--nova-ink);box-shadow:5px 5px 0 var(--nova-ink)}
.nova-faq summary{padding:18px 50px 18px 18px;font-weight:900;cursor:pointer}
.nova-faq details[open] summary{background:var(--nova-gold);border-bottom:3px solid var(--nova-ink)}
.nova-faq details p{padding:0 20px 18px}.nova-contact{display:grid;gap:35px;padding:75px 5vw;background:var(--nova-coral);border-bottom:8px solid var(--nova-ink)}
.nova-contact__intro h2{margin:.2em 0;font-family:var(--nova-display);font-size:clamp(2.8rem,8vw,7rem);line-height:.92}
.nova-next{margin-top:30px;padding:22px;background:var(--nova-gold);border:var(--nova-border);box-shadow:var(--nova-shadow)}
.nova-next h3{margin-top:0;font-family:var(--nova-display)}
.nova-next ol{padding-left:0;list-style:none}
.nova-form{padding:25px;background:var(--nova-paper);border:var(--nova-border);box-shadow:var(--nova-shadow)}
.nova-field{margin-bottom:18px}
.nova-field label{display:flex;justify-content:space-between;font-weight:900}
.nova-field label span,.nova-consent strong{color:#8c2215}
.nova-field input{width:100%;min-height:52px;padding:10px 12px;border:3px solid var(--nova-ink);background:var(--nova-white)}
.nova-phone{display:grid;grid-template-columns:auto 1fr;border:3px solid var(--nova-ink);background:var(--nova-white)}
.nova-phone span{display:grid;place-items:center;padding:0 14px;background:var(--nova-gold);border-right:3px solid var(--nova-ink);font-weight:900}
.nova-phone input{border:0}
.nova-field small{display:block;margin-top:4px;font-size:.78rem}
.nova-error{color:#9b1c0d;font-weight:800}
.nova-consent{display:grid;grid-template-columns:24px 1fr;gap:12px;margin:22px 0}
.nova-consent input{width:22px;height:22px;margin-top:5px;accent-color:var(--nova-ink)}
.nova-button--submit{width:100%;background:var(--nova-gold)}
.nova-form__privacy{font-size:.78rem}
.nova-form__status{margin-top:14px;padding:0;font-weight:900}
.nova-form__status.is-success,.nova-form__status.is-error{padding:12px;border:3px solid var(--nova-ink)}
.nova-form__status.is-success{background:#cae6bd}
.nova-form__status.is-error{background:#ffd2c9}
.nova-footer{display:grid;gap:32px;padding:55px 5vw 25px;background:var(--nova-ink);color:var(--nova-paper)}
.nova-footer__brand img{width:250px;background:var(--nova-paper);border:3px solid var(--nova-paper)}
.nova-footer h2{font-family:var(--nova-display);font-size:1.1rem;color:var(--nova-gold)}
.nova-footer nav a{display:block;margin:6px 0}
.nova-footer__operator{padding:22px;border:3px solid var(--nova-paper)}
.nova-footer__bottom{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;padding-top:22px;border-top:2px solid var(--nova-paper)}
.nova-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:1200;display:grid;gap:15px;max-width:880px;margin:auto;padding:20px;background:var(--nova-paper);border:var(--nova-border);box-shadow:var(--nova-shadow)}
.nova-cookie[hidden]{display:none}
.nova-cookie h2,.nova-cookie p{margin-top:0}@media(min-width:700px){
  .nova-trustline{grid-template-columns:repeat(4,1fr)}
  .nova-benefits__grid{grid-template-columns:repeat(2,1fr)}
  .nova-problem__grid,.nova-standards__grid,.nova-local__grid,.nova-timeline__grid,.nova-checklist__grid{grid-template-columns:repeat(2,1fr)}
  .nova-glossary__grid{grid-template-columns:repeat(2,1fr)}
  .nova-voices__grid{grid-template-columns:repeat(2,1fr)}
  .nova-about__split{grid-template-columns:1fr 1fr}
  .nova-footer{grid-template-columns:1.2fr 1.4fr 1fr 1fr}
  .nova-cookie{grid-template-columns:1fr auto;align-items:center}
}
@media(min-width:950px){
  .nova-hero{grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);align-items:center;min-height:calc(100vh - 82px);padding-top:70px}
  .nova-hero__media{align-self:end}
  .nova-hero__media img{min-height:610px;object-fit:cover}
  .nova-trustline{grid-column:1/-1}
  .nova-benefits__grid{grid-template-columns:repeat(4,1fr)}
  .nova-benefit:nth-child(2),.nova-benefit:nth-child(6){transform:translateY(28px)}
  .nova-service{grid-template-columns:minmax(320px,.8fr) 1.2fr}
  .nova-service:nth-child(even){grid-template-columns:1.2fr minmax(320px,.8fr)}
  .nova-service:nth-child(even) img{order:2;border-bottom:0;border-left:4px solid var(--nova-ink)}
  .nova-service:nth-child(odd) img{border-bottom:0;border-right:4px solid var(--nova-ink)}
  .nova-scenarios article{display:grid;grid-template-columns:.9fr 1.1fr}
  .nova-scenarios article:nth-child(even){grid-template-columns:1.1fr .9fr}
  .nova-scenarios article:nth-child(even) img{order:2;border-left:4px solid var(--nova-ink)}
  .nova-scenarios img{height:100%;border-bottom:0;border-right:4px solid var(--nova-ink)}
  .nova-about__layout{grid-template-columns:.85fr 1.15fr}
  .nova-about__layout>img{border-bottom:0;border-right:4px solid var(--nova-ink)}
  .nova-voices__grid{grid-template-columns:repeat(3,1fr)}
  .nova-voice:nth-child(2),.nova-voice:nth-child(5){transform:translateY(25px)}
  .nova-resources__layout{grid-template-columns:.8fr 1.2fr}
  .nova-resources__layout>img{border-bottom:0;border-right:4px solid var(--nova-ink)}
  .nova-faq__grid{grid-template-columns:1fr 1fr;align-items:start}
  .nova-contact{grid-template-columns:1fr minmax(430px,.8fr);align-items:start}
  .nova-contact__sticky{position:sticky;top:108px}
}
@media(min-width:1250px){
  .nova-section,.nova-contact{padding-left:max(5vw,calc((100vw - 1500px)/2));padding-right:max(5vw,calc((100vw - 1500px)/2))}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .nova-drawer{transition:none}
  .nova-benefit:hover .nova-morph-path,.nova-benefit:focus-within .nova-morph-path{opacity:1;transform:none}
  .nova-benefit:hover .nova-icon__alt,.nova-benefit:focus-within .nova-icon__alt{opacity:0;transform:none}
}
