:root{
  --p-paper:oklch(0.96 0.005 90);--p-paper-2:oklch(0.935 0.006 90);--p-ink:oklch(0.21 0.008 280);--p-ink-2:oklch(0.28 0.01 280);--p-muted:oklch(0.61 0.018 350);--p-accent:oklch(0.66 0.21 28);--p-accent-dark:oklch(0.52 0.18 28);--p-line:oklch(0.84 0.008 90);
  --surface:var(--p-paper);--surface-alt:var(--p-paper-2);--text:var(--p-ink);--text-muted:oklch(0.43 0.012 280);--accent:var(--p-accent);--accent-hover:var(--p-accent-dark);--border:var(--p-line);--dark:var(--p-ink);--on-dark:oklch(0.94 0.006 90);--header-h:76px;
  --font-body:"Noto Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--font-display:"Arial Narrow","Noto Sans SC","Source Han Sans SC","PingFang SC",sans-serif;
  --step--1:clamp(.78rem,.76rem + .1vw,.84rem);--step-0:clamp(1rem,.96rem + .15vw,1.08rem);--step-1:clamp(1.2rem,1.08rem + .45vw,1.5rem);--step-2:clamp(1.55rem,1.25rem + 1.1vw,2.25rem);--step-3:clamp(2.15rem,1.45rem + 2.5vw,3.9rem);--step-4:clamp(2.8rem,1.5rem + 5vw,6.4rem);
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--container:1320px;
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:100px}body{min-height:100dvh;font-family:var(--font-body);font-size:var(--step-0);line-height:1.7;color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;width:100%;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:var(--dark)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:750;line-height:1.14;letter-spacing:-.025em;text-wrap:balance}p{max-width:72ch}ul{list-style:none}.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}.narrow{width:min(880px,calc(100% - 48px));margin-inline:auto}.section{padding-block:var(--space-9)}.section-sm{padding-block:var(--space-8)}.section-alt{background:var(--surface-alt)}.section-dark{background:var(--dark);color:var(--on-dark)}.muted{color:var(--text-muted)}.accent{color:var(--accent)}.small{font-size:var(--step--1)}.eyebrow{display:flex;align-items:center;gap:12px;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.eyebrow:before{content:"";width:32px;height:1px;background:currentColor}.section-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:var(--space-7);align-items:end;margin-bottom:var(--space-8)}.section-heading h2{font-size:var(--step-3);margin-top:16px}.section-heading p{color:var(--text-muted)}.section-dark .section-heading p{color:var(--on-dark)}
.skip-link{position:fixed;left:16px;top:8px;z-index:100;background:var(--accent);color:var(--dark);padding:10px 16px;transform:translateY(-160%);transition:transform .2s}.skip-link:focus{transform:translateY(0)}
.utility{background:var(--dark);color:var(--on-dark);font-size:.75rem;letter-spacing:.04em}.utility .container{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:16px}.utility span:last-child{color:oklch(0.83 0.01 90)}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in oklch,var(--surface) 94%,transparent);border-bottom:1px solid var(--border);backdrop-filter:blur(14px)}.nav-shell{min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;flex:none}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--accent);color:var(--dark);font-family:var(--font-display);font-size:1.05rem;font-weight:900;letter-spacing:-.08em;clip-path:polygon(0 0,100% 0,100% 76%,76% 100%,0 100%)}.brand-text{display:grid;line-height:1.2}.brand-text strong{font-size:.96rem;letter-spacing:.04em}.brand-text span{font-size:.61rem;letter-spacing:.16em;color:var(--text-muted);margin-top:4px}.nav-list{display:flex;align-items:center;gap:clamp(14px,1.7vw,28px)}.nav-list a{position:relative;display:flex;align-items:center;min-height:44px;font-size:.9rem;font-weight:600;white-space:nowrap}.nav-list a:after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:2px;background:var(--accent);transition:right .2s ease-out}.nav-list a:hover:after,.nav-list a[aria-current=page]:after{right:0}.nav-list a[aria-current=page]{color:var(--accent-hover)}.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;background:var(--dark);color:var(--on-dark);font-size:.86rem;font-weight:700;transition:background .2s,transform .2s}.nav-cta:hover{background:var(--accent);color:var(--dark);transform:translateY(-2px)}.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--border);background:transparent;color:var(--text);align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{width:21px;height:1px;background:currentColor;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.hero{position:relative;isolation:isolate;min-height:min(820px,calc(100dvh - 110px));display:grid;align-items:end;overflow:hidden;background:var(--dark);color:var(--on-dark)}.hero-media{position:absolute;inset:0;z-index:-2}.hero-media img{height:112%;object-fit:cover;object-position:center 58%;transform:translateY(var(--parallax,0px)) scale(1.02);will-change:transform}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,oklch(0.16 0.01 280/.92) 0%,oklch(0.18 0.01 280/.68) 45%,oklch(0.18 0.01 280/.12) 78%),linear-gradient(0deg,oklch(0.15 0.01 280/.8),transparent 58%)}.hero-grid{position:absolute;inset:0;z-index:-1;opacity:.13;background-image:linear-gradient(90deg,transparent calc(100% - 1px),var(--on-dark) 1px);background-size:calc(100% / 6) 100%;pointer-events:none}.hero-content{padding-top:120px;padding-bottom:56px}.hero h1{max-width:900px;font-size:var(--step-4);line-height:1.02;margin:24px 0}.hero h1 span{display:block;color:oklch(0.78 0.13 45)}.hero-lead{max-width:620px;font-size:var(--step-1);color:oklch(0.9 0.008 90)}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:36px;flex-wrap:wrap}.hero-side{position:absolute;right:24px;top:50%;writing-mode:vertical-rl;font-size:.65rem;letter-spacing:.25em;color:oklch(0.85 0.01 90);display:flex;align-items:center;gap:16px}.hero-side:after{content:"";height:64px;width:1px;background:var(--accent)}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid oklch(0.9 0.01 90/.35);margin-top:56px;padding-top:24px;max-width:860px;gap:24px}.hero-facts strong{display:block;font-family:var(--font-display);font-size:1.3rem}.hero-facts span{font-size:.78rem;color:oklch(0.83 0.01 90)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:0 24px;border:1px solid transparent;background:var(--accent);color:var(--dark);font-weight:750;line-height:1.2;transition:transform .2s,background .2s,color .2s}.btn:hover{background:oklch(0.74 0.17 45);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-dark{background:var(--dark);color:var(--on-dark)}.btn-dark:hover{background:var(--accent);color:var(--dark)}.btn-outline{border-color:currentColor;background:transparent;color:inherit}.btn-outline:hover{background:var(--on-dark);color:var(--dark)}.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:700;border-bottom:1px solid currentColor;transition:color .2s,gap .2s}.text-link:hover{color:var(--accent);gap:16px}.arrow{font-family:Arial,sans-serif;font-size:1.2em;line-height:1}
.intro-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-9);align-items:start}.intro-title h2{font-size:var(--step-3);margin-top:20px}.intro-copy{padding-top:44px}.intro-copy p+p{margin-top:20px}.service-explorer{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:var(--space-8);align-items:start}.service-list{border-top:1px solid var(--border)}.service-item{display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:center;min-height:80px;border-bottom:1px solid var(--border);transition:background .2s,padding .2s}.service-item:hover,.service-item:focus-visible,.service-item.is-active{background:var(--surface-alt);padding-left:12px}.service-item .num{font-family:var(--font-display);font-size:.72rem;color:var(--text-muted)}.service-item strong{font-size:var(--step-1);font-weight:650}.service-item .arrow{color:var(--accent)}.service-preview{position:sticky;top:110px}.preview-frame{aspect-ratio:4/5;overflow:hidden;background:var(--dark)}.preview-frame img{height:100%;object-fit:cover;transition:opacity .2s,transform .25s}.preview-frame img.changing{opacity:.35;transform:scale(1.03)}.preview-caption{display:flex;justify-content:space-between;gap:16px;padding-top:16px;font-size:.82rem}.preview-caption span:last-child{color:var(--text-muted)}
.project-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--space-5)}.project-stack{display:grid;gap:var(--space-5)}.project-card{position:relative;isolation:isolate;min-height:360px;overflow:hidden;color:var(--on-dark);display:flex;align-items:end;background:var(--dark)}.project-card.tall{min-height:740px}.project-card img{position:absolute;inset:0;z-index:-2;height:100%;object-fit:cover;transition:transform .3s ease-out,opacity .3s}.project-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,oklch(0.15 0.01 280/.9),transparent 70%)}.project-card:hover img{transform:scale(1.035);opacity:.86}.project-info{padding:28px;width:100%}.project-info h3{font-size:var(--step-2);margin:8px 0}.project-info p{font-size:.88rem;color:oklch(0.86 0.01 90)}.project-tag{font-size:.7rem;letter-spacing:.14em;color:oklch(0.8 0.12 45)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid oklch(0.8 0.01 90/.28)}.process-step{padding:28px 28px 0 0;position:relative}.process-step:before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--accent)}.process-step .step-no{font-family:var(--font-display);font-size:.72rem;letter-spacing:.15em;color:oklch(0.72 0.01 90)}.process-step h3{font-size:1.25rem;margin:18px 0 12px}.process-step p{font-size:.88rem;color:oklch(0.8 0.01 90)}
.cta-band{position:relative;overflow:hidden;padding-block:var(--space-8);background:var(--accent);color:var(--dark)}.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:32px}.cta-band h2{font-size:var(--step-3);max-width:760px}.cta-band .btn{flex:none}.cta-band:after{content:"WM";position:absolute;right:18%;top:-70px;font-family:var(--font-display);font-size:240px;font-weight:900;line-height:1;color:oklch(0.7 0.18 28/.35);pointer-events:none}
.page-hero{position:relative;padding:88px 0 64px;background:var(--dark);color:var(--on-dark);overflow:hidden}.page-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 50%,oklch(0.66 0.21 28/.12)),repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5% - 1px),oklch(0.9 0.01 90/.06) calc(12.5% - 1px),oklch(0.9 0.01 90/.06) 12.5%)}.page-hero .container{position:relative;z-index:1}.page-hero h1{font-size:var(--step-3);margin:20px 0 16px;max-width:850px}.page-hero p{color:oklch(0.82 0.01 90);max-width:680px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;list-style:none;font-size:.76rem;color:oklch(0.75 0.01 90)}.breadcrumbs a:hover{color:var(--accent)}.breadcrumbs li+li:before{content:"/";margin-right:8px;color:var(--accent)}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}.filter-btn{min-height:44px;padding:8px 18px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:.88rem;font-weight:650;transition:background .2s,color .2s,border-color .2s}.filter-btn:hover,.filter-btn.is-active{background:var(--dark);border-color:var(--dark);color:var(--on-dark)}.service-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.service-card{background:var(--surface);padding:36px;min-height:300px;display:flex;flex-direction:column;transition:background .2s}.service-card:hover{background:var(--surface-alt)}.service-card[hidden]{display:none}.service-card-top{display:flex;justify-content:space-between;gap:16px;color:var(--text-muted);font-size:.75rem}.service-card h2{font-size:var(--step-2);margin:32px 0 16px}.service-card p{font-size:.92rem;color:var(--text-muted)}.service-card .text-link{margin-top:auto;align-self:flex-start;padding-top:20px}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.tag-list li{font-size:.72rem;border:1px solid var(--border);padding:4px 9px;color:var(--text-muted)}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-8);align-items:start}.detail-main h2{font-size:var(--step-2);margin:48px 0 20px}.detail-main h2:first-child{margin-top:0}.detail-main p+p{margin-top:16px}.detail-main ul.check-list{display:grid;gap:12px;margin-top:20px}.check-list li{position:relative;padding-left:24px}.check-list li:before{content:"";position:absolute;left:0;top:.72em;width:10px;height:2px;background:var(--accent)}.detail-image{margin:32px 0;aspect-ratio:16/9;object-fit:cover}.detail-aside{position:sticky;top:110px;border-top:3px solid var(--accent);background:var(--surface-alt);padding:28px}.detail-aside h2{font-size:1.35rem;margin-bottom:16px}.detail-aside p{font-size:.88rem;color:var(--text-muted);margin-bottom:20px}.aside-nav{display:grid;margin-top:24px;border-top:1px solid var(--border)}.aside-nav a{padding:12px 0;border-bottom:1px solid var(--border);font-size:.84rem}.aside-nav a:hover{color:var(--accent)}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 20px}.case-card[hidden]{display:none}.case-card .image-wrap{aspect-ratio:4/3;overflow:hidden;background:var(--surface-alt)}.case-card img{height:100%;object-fit:cover;transition:transform .25s,opacity .25s}.case-card:hover img{transform:scale(1.035);opacity:.85}.case-card h2{font-size:1.35rem;margin:18px 0 8px}.case-card p{font-size:.86rem;color:var(--text-muted)}.case-meta{display:flex;justify-content:space-between;gap:16px;margin-top:16px;font-size:.72rem;color:var(--text-muted);border-top:1px solid var(--border);padding-top:12px}.notice{border-left:2px solid var(--accent);padding:16px 20px;background:var(--surface-alt);font-size:.86rem;margin-bottom:32px}
.article{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:72px}.article-body{font-size:1.02rem}.article-body h2{font-size:var(--step-2);margin:48px 0 20px}.article-body h3{font-size:1.25rem;margin:32px 0 12px}.article-body p+p{margin-top:20px}.article-body ul{list-style:disc;padding-left:24px;margin:20px 0}.article-body li+li{margin-top:8px}.article-body blockquote{margin:32px 0;padding:24px 28px;background:var(--surface-alt);border-left:2px solid var(--accent);font-size:1.08rem}.article-aside{border-top:1px solid var(--border);padding-top:20px;height:max-content}.article-aside h2{font-size:1rem;margin-bottom:16px}.article-aside a{display:block;padding:10px 0;font-size:.82rem;color:var(--text-muted)}.article-aside a:hover{color:var(--accent)}.article-hero-image{aspect-ratio:16/8;object-fit:cover;margin-bottom:48px}.table-wrap{overflow-x:auto;margin:28px 0}.data-table{width:100%;border-collapse:collapse;min-width:600px;font-size:.88rem}.data-table th,.data-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:top}.data-table th{background:var(--dark);color:var(--on-dark)}
.faq-list{border-top:1px solid var(--border)}.faq-list details{border-bottom:1px solid var(--border)}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 0;font-weight:700;font-size:1.08rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-family:Arial,sans-serif;font-size:1.6rem;font-weight:400;color:var(--accent);transition:transform .2s}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-answer{padding:0 60px 24px 0;color:var(--text-muted)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-9)}.contact-info h2{font-size:var(--step-3);margin-bottom:24px}.contact-lines{margin-top:40px;border-top:1px solid var(--border)}.contact-line{padding:20px 0;border-bottom:1px solid var(--border)}.contact-line strong{display:block;font-size:.78rem;letter-spacing:.1em;color:var(--text-muted);margin-bottom:6px}.inquiry-form{display:grid;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:grid;gap:8px}.field label{font-size:.82rem;font-weight:700}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--text-muted);border-radius:0;background:transparent;color:var(--text);padding:12px 0;min-height:48px;outline:none;transition:border-color .2s}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-bottom:2px solid var(--accent)}.field input::placeholder,.field textarea::placeholder{color:oklch(0.55 0.01 280)}.form-note{font-size:.78rem;color:var(--text-muted)}.form-result{display:none;background:var(--dark);color:var(--on-dark);padding:24px;margin-top:24px}.form-result.is-visible{display:block}.form-result h3{margin-bottom:12px}.form-result pre{white-space:pre-wrap;font-family:var(--font-body);font-size:.85rem;line-height:1.7;max-height:260px;overflow:auto}.result-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.toast{position:fixed;left:50%;bottom:24px;z-index:80;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--dark);color:var(--on-dark);padding:12px 20px;font-size:.85rem;transition:opacity .2s,transform .2s}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
.contact-person{font-size:1.35rem;font-weight:750}.contact-phone{display:inline-flex;align-items:center;min-height:44px;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;letter-spacing:.02em;color:var(--accent-hover)}.contact-phone:hover{color:var(--accent)}.license-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-9);align-items:start}.registration-list{margin-top:32px;border-top:1px solid var(--border)}.registration-list>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--border)}.registration-list dt{color:var(--text-muted);font-size:.82rem}.registration-list dd{font-weight:600}.license-document{display:block;background:var(--surface);padding:20px;border:1px solid var(--border);transition:transform .2s,border-color .2s}.license-document:hover{transform:translateY(-3px);border-color:var(--accent)}.license-document img{max-height:720px;object-fit:contain;background:oklch(0.98 0.003 90)}.license-document span{display:flex;justify-content:space-between;gap:16px;padding-top:16px;font-size:.82rem;font-weight:700}.footer-phone{font-family:var(--font-display);font-size:1.15rem!important;font-weight:750;color:var(--on-dark)!important;min-height:44px!important;margin-bottom:8px}.guide-steps{counter-reset:guide;display:grid;gap:0}.guide-step{counter-increment:guide;display:grid;grid-template-columns:100px 1fr;gap:24px;padding:32px 0;border-top:1px solid var(--border)}.guide-step:before{content:"0" counter(guide);font-family:var(--font-display);font-size:2.4rem;color:var(--accent)}.guide-step h2{font-size:1.4rem;margin-bottom:12px}.guide-step p{color:var(--text-muted)}
.sitemap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.sitemap-group h2{font-size:1.3rem;border-bottom:2px solid var(--accent);padding-bottom:12px;margin-bottom:16px}.sitemap-group a{display:block;padding:8px 0;color:var(--text-muted)}.sitemap-group a:hover{color:var(--accent)}
.site-footer{background:oklch(0.17 0.008 280);color:var(--on-dark);padding-top:64px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr 1fr;gap:48px;padding-bottom:56px}.footer-brand .brand-text span{color:oklch(0.7 0.01 90)}.footer-brand p{font-size:.84rem;color:oklch(0.72 0.01 90);margin-top:24px}.footer-col h2{font-size:.85rem;letter-spacing:.1em;margin-bottom:20px}.footer-col a{display:block;min-height:34px;font-size:.82rem;color:oklch(0.72 0.01 90)}.footer-col a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid oklch(0.5 0.01 280/.35);padding:20px 0;display:flex;justify-content:space-between;gap:20px;font-size:.72rem;color:oklch(0.64 0.01 90)}.footer-bottom a:hover{color:var(--accent)}.site-footer .muted{color:oklch(0.76 0.01 90)}
.reveal{opacity:1;transform:none}.js .reveal{opacity:1;transform:translateY(12px) scale(.99);transition:transform .6s ease-out}.js .reveal.is-visible{opacity:1;transform:none}.js .hero .reveal{transform:translateY(20px) scale(.98)}.js .hero .reveal.is-visible{transform:none}
@media(max-width:1100px){.nav-list{gap:14px}.nav-list a{font-size:.82rem}.nav-cta{display:none}.service-explorer{gap:32px}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-col:last-child{grid-column:1/-1}.case-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){:root{--header-h:68px;--space-9:72px}.container,.narrow{width:min(100% - 32px,var(--container))}.utility span:last-child{display:none}.menu-toggle{display:flex}.nav-list{position:fixed;inset:calc(var(--header-h) + 34px) 0 0;background:var(--surface);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:24px 24px 48px;transform:translateY(-110%);opacity:0;visibility:hidden;transition:transform .25s ease-out,opacity .2s,visibility .25s;overflow-y:auto}.nav-list.is-open{transform:translateY(0);opacity:1;visibility:visible}.nav-list a{font-size:1.25rem;min-height:58px;border-bottom:1px solid var(--border)}.nav-list a:after{display:none}.section-heading,.intro-split,.detail-layout,.article,.contact-grid,.license-grid{grid-template-columns:1fr;gap:32px}.section-heading{margin-bottom:40px}.intro-copy{padding-top:0}.service-explorer{grid-template-columns:1fr}.service-preview{display:none}.project-grid{grid-template-columns:1fr}.project-card.tall{min-height:520px}.process-grid{grid-template-columns:repeat(2,1fr);gap:32px 0}.cta-band .container{align-items:flex-start;flex-direction:column}.cta-band:after{right:-20px}.service-cards{grid-template-columns:1fr}.detail-aside{position:static}.article-aside{display:none}.contact-grid{gap:56px}.sitemap-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.hero-side{display:none}.hero-content{padding-top:100px}.hero h1{font-size:clamp(3rem,10vw,5.4rem)}}
@media(max-width:540px){.brand-text strong{font-size:.83rem}.brand-text span{font-size:.52rem}.brand-mark{width:38px;height:38px}.utility{font-size:.67rem}.hero{min-height:700px}.hero-content{padding-top:72px;padding-bottom:32px}.hero h1{font-size:clamp(2.75rem,13vw,4.1rem)}.hero-lead{font-size:1.05rem}.hero-facts{grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}.hero-facts>div:last-child{grid-column:1/-1}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.page-hero{padding:64px 0 48px}.service-item{grid-template-columns:30px 1fr auto;min-height:72px}.service-item strong{font-size:1.05rem}.project-card,.project-card.tall{min-height:400px}.process-grid{grid-template-columns:1fr}.process-step{padding-right:0}.case-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.guide-step{grid-template-columns:56px 1fr;gap:16px}.guide-step:before{font-size:1.8rem}.sitemap-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 24px}.footer-bottom{flex-direction:column}.service-card{padding:28px 24px}.article-hero-image{aspect-ratio:4/3}.cta-band h2{font-size:2rem}.filter-bar{gap:6px}.filter-btn{padding:8px 13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-media img{transform:none!important}.js .reveal{opacity:1;transform:none}}
@media print{.utility,.site-header,.site-footer,.cta-band,.filter-bar,.btn,.article-aside{display:none!important}.page-hero{background:none;color:var(--text);padding:20px 0}.page-hero p{color:var(--text)}.section{padding:20px 0}.detail-layout,.article{display:block}.detail-aside{display:none}body{background:white}}
