/* Shared responsive refinements and error page, preserving the existing design. */
html{overflow-x:clip}body{min-width:0}img,video,svg{max-width:100%}img,video{height:auto}main,section,article,.shell,.method-content,.contact-refresh,.brief-card{min-width:0}.legal-page p,.method-step p,.footer-business,.footer-email{overflow-wrap:anywhere}.mail-dialog{max-width:calc(100vw - 24px);max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);overflow-y:auto;overscroll-behavior:contain}.error-page{min-height:72vh;display:flex;flex-direction:column;justify-content:center;padding:70px 0}.error-number{font-size:clamp(75px,16vw,180px);font-weight:600;letter-spacing:-.08em;line-height:1;color:#285e71;margin:0 0 25px}.error-page h1{font-size:clamp(32px,5vw,60px);line-height:1.1;letter-spacing:-.05em;margin:0 0 22px;max-width:800px}.error-page p{font-size:16px;line-height:1.8;max-width:550px;color:#526e77}.error-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:23px}.error-actions a{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;min-height:46px;border:1px solid #9bb4bc;border-radius:5px;font-size:14px}.error-actions a:first-child{background:#285e71;color:#fff;border-color:#285e71}.error-header{padding-top:25px;padding-bottom:25px;border-bottom:1px solid #bdcfd0}.error-footer{padding:25px 0;border-top:1px solid #bdcfd0;font-size:12px;color:#526e77}.error-footer a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.header a,.header button,.footer-bottom nav a{min-height:44px}.footer-business>span{white-space:normal}.brief-card input,.brief-card select,.brief-card textarea{font-size:16px}.method-step,.method-nav,.legal-page,.method-layout{min-width:0}.legal-page{overflow-wrap:anywhere}.error-page{min-height:70svh;padding:45px 0}.error-actions{align-items:stretch;flex-direction:column}.error-actions a{width:100%}.error-page p{font-size:15px}.mail-dialog{max-height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* A full, branded 404 composition. The scoped number selector avoids the generic paragraph rule above. */
.not-found-body{min-height:100svh;display:flex;flex-direction:column;background:#e9eef0;color:#172f38}
.error-header{width:min(100% - 48px,1160px);max-width:1160px;display:flex;align-items:center;justify-content:space-between;padding:25px 0 23px}
.error-home-link{font-size:10px;letter-spacing:.16em;font-weight:700;color:#285e71}
.error-home-link span{color:#e8653b;margin-left:12px;font-size:16px}
.error-page{width:min(100% - 48px,1160px);max-width:1160px;min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.9fr);align-items:center;gap:5vw;padding:70px 0 85px}
.error-copy{position:relative;z-index:1;padding:30px 0}
.error-kicker{display:flex;align-items:center;gap:11px;color:#285e71;font-size:11px;font-weight:700;letter-spacing:.16em}
.error-kicker i{display:block;width:8px;height:8px;background:#e8653b;border-radius:50%;box-shadow:0 0 0 5px rgba(232,101,59,.12)}
.error-page .error-copy h1{max-width:640px;margin:25px 0 21px;font-size:clamp(48px,6.2vw,82px);line-height:.99;letter-spacing:-.075em;color:#172f38}
.error-period{color:#e8653b}
.error-page .error-copy>p{max-width:500px;margin:0;color:#526e77;font-size:17px;line-height:1.75}
.error-actions{gap:10px;margin-top:32px}
.error-actions a{min-height:50px;padding:13px 18px;border-radius:3px;border-color:#b8c9cc;color:#244d5a;background:rgba(255,255,255,.24);transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.error-actions a:hover{transform:translateY(-2px);border-color:#285e71;background:#fff}
.error-actions .error-primary{justify-content:space-between;gap:28px;min-width:192px;background:#285e71;color:#fff;border-color:#285e71}
.error-actions .error-primary span{font-size:17px;color:#f0784a}
.error-actions .error-primary:hover{background:#173f4c}
.error-code-label{display:block;margin-top:46px;color:#82979b;font-size:9px;letter-spacing:.14em}
.error-art{position:relative;display:grid;place-items:center;min-height:430px;isolation:isolate;overflow:hidden}
.error-art-orbit{position:absolute;z-index:-1;width:min(35vw,410px);aspect-ratio:1;border:1px solid rgba(40,94,113,.19);border-radius:50%;transform:rotate(-20deg) scaleY(.73)}
.orbit-two{width:min(27vw,320px);border-color:rgba(232,101,59,.25);transform:rotate(34deg) scaleY(.73)}
.error-art::before{content:"";position:absolute;z-index:-2;width:min(25vw,290px);aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(197,218,220,.48));box-shadow:0 28px 70px rgba(25,65,77,.1)}
.error-art-line{position:absolute;width:115%;height:1px;background:linear-gradient(90deg,transparent,#8daab0 20%,#e8653b 50%,#8daab0 80%,transparent);transform:rotate(-23deg)}
.error-number{font-size:clamp(145px,21vw,280px);font-weight:700;letter-spacing:-.105em;line-height:.8;color:#285e71;margin:0;white-space:nowrap;text-shadow:0 14px 0 rgba(40,94,113,.08)}
.error-number span{color:#e8653b}
.error-art-cross{position:absolute;color:#e8653b;font-size:24px;font-weight:300}
.cross-one{top:15%;right:18%}.cross-two{bottom:18%;left:12%;color:#285e71}
.error-art-caption{position:absolute;right:0;bottom:12%;color:#607b82;font-size:9px;line-height:1.7;letter-spacing:.14em;text-align:right}
.not-found-body .error-footer{width:min(100% - 48px,1160px);max-width:1160px;display:flex;justify-content:space-between;gap:20px;margin:0 auto;padding:22px 0 27px;border-top:1px solid #bdcfd0;font-size:12px;color:#526e77}
.not-found-body .error-footer a{text-decoration:none;color:#285e71}
@media(max-width:760px){.error-header,.error-page,.not-found-body .error-footer{width:calc(100% - 40px)}.error-page{grid-template-columns:1fr;gap:0;padding:48px 0 30px}.error-copy{padding:10px 0}.error-page .error-copy h1{font-size:clamp(48px,12vw,72px)}.error-page .error-copy>p{font-size:15px}.error-actions{display:grid;grid-template-columns:1fr 1fr}.error-actions .error-primary{grid-column:1/-1}.error-art{min-height:270px;margin-top:0}.error-art-orbit{width:min(75vw,320px)}.orbit-two{width:min(58vw,250px)}.error-art::before{width:min(50vw,210px)}.error-number{font-size:clamp(150px,42vw,235px)}.error-art-caption{right:2%;bottom:6%}.error-code-label{margin-top:30px}}
@media(max-width:420px){.error-actions{grid-template-columns:1fr}.error-actions .error-primary{grid-column:auto}.error-actions a{width:100%}.not-found-body .error-footer{flex-direction:column;gap:7px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.error-actions a{transition:none}}
