:root{--niart-font:"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;--silver:#e6e6e3;--muted:#a4a5a6;--line:#343638;--accent:#b5cce0}
html,body{background:#0a0a0a;color:var(--silver)}
.page,.page *:not(canvas){font-family:var(--niart-font)!important}
.page{overflow:hidden}.page img{display:block;max-width:100%;height:auto}.page a{color:inherit}
.page button,.page input,.page textarea,.page select{font:inherit}
.page a:focus-visible,.page button:focus-visible,.page input:focus-visible,.page select:focus-visible,.page textarea:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.page .page-wheel{pointer-events:none;z-index:1}
.page .page-loading{z-index:100}.page .page-intro{z-index:99}
.page .page-loading>span,.page .page-intro>span{width:220px;height:220px}
.page .page-loading>span img,.page .page-intro>span img{width:100%;height:100%;object-fit:contain;filter:brightness(0)}
.page .page-intro{background:#fff;isolation:isolate}
.page .page-stars{position:fixed;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.page .page-stars.is-intro{z-index:99}
.page .page-intro > canvas{z-index:1;pointer-events:none}
.page .page-intro > span{z-index:3;pointer-events:none}
/* Foreground objects cover the ink and stars; the video remains behind them. */
.page .page-container .container-main,.page .page-footer{position:relative;z-index:3}
.skip-link{position:fixed;left:20px;top:-100px;z-index:150;background:white;color:black;padding:12px 20px}.skip-link:focus{top:15px}
.page .page-nav{z-index:20}.page .page-toggle{z-index:21}
.page h2{font-size:clamp(30px,3vw,48px)!important;line-height:1.3!important;font-weight:700!important;letter-spacing:.04em}
.page .content-header{margin-bottom:36px!important}
.page .section-note{font-size:15px;line-height:1.9;color:var(--muted);margin:0 0 32px}
.page :is(#news,#about,#projects,#services,#contact) .content-header{display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;height:auto;min-height:60px}
.page :is(#news,#about,#projects,#services,#contact) .header-title{position:static;top:auto;left:auto;width:auto;height:auto}
.page :is(#news,#about,#projects,#services,#contact) .header-archive{position:static;top:auto;left:auto;right:auto;width:auto}
.page :is(#news,#about,#projects,#services,#contact) .content-main{padding:0}
.page .swiper-button-next,.page .swiper-button-prev{font-size:14px!important;font-weight:500!important;letter-spacing:.1em}
.page .swiper-button-disabled{opacity:.25!important}
.page .solid-button,.page .outline-button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:14px 30px;letter-spacing:.08em;font-size:15px;cursor:pointer;transition:background .3s,color .3s}
.page .solid-button{background:var(--silver);color:#0a0a0a;border:1px solid var(--silver)}
.page .outline-button{border:1px solid #c8c8c8;background:transparent;color:var(--silver)}
.page .solid-button:hover{background:#adc6dc;border-color:#adc6dc}.page .outline-button:hover{background:#e6e6e3;color:#111}
.page .page-nav .items-item--brave .item-brave{width:auto;height:auto;font-size:12px;letter-spacing:.13em;color:#a7a7a7;white-space:nowrap}
.page .page-nav .item-link a{font-size:15px!important;font-weight:600;letter-spacing:.1em}
.page .page-nav .item-link a.is-focus{color:#fff}.page .page-nav .item-link a.is-focus::after{content:"";display:block;height:1px;background:#dadbdc;margin-top:7px}
.page #top{height:100svh;min-height:730px;background:#111;position:relative}
.page #top .header-video,.page #top .header-video>span{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;transform:none}
.page #top .header-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.6)}
.page #top .header-video::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.05) 75%),linear-gradient(0deg,rgba(0,0,0,.85),transparent 55%,rgba(0,0,0,.45))}
.page #top .header-logo{z-index:22;position:absolute;top:12px;left:50%;right:auto;width:115px;height:115px;transform:translateX(-50%);margin:0}
.page #top .header-logo picture,.page #top .header-logo img{width:100%;height:100%;object-fit:contain;filter:brightness(1.6)}
.page .hero-copy{position:absolute;left:5vw;right:5vw;bottom:150px;max-width:1300px;z-index:3}
.page .hero-copy .eyebrow{font-size:14px;letter-spacing:.27em;font-weight:500;margin-bottom:30px}
.page .hero-copy h1{font-size:clamp(54px,6.7vw,100px);line-height:1.2;letter-spacing:.06em;font-weight:650;text-shadow:0 3px 40px #0005}
.page .hero-copy h1 span{color:#e9ecef}
.page .hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:34px}
.page .hero-bottom p{font-size:17px;line-height:1.9;letter-spacing:.08em}
.page #top .header-release{height:64px;bottom:0;border-top:1px solid #d2d2d240;background:#0a0a0a80;padding:12px 0;z-index:3}
.page #top .header-release a div p span{width:auto;height:auto;padding-right:40px;font-size:28px;line-height:1.3;font-weight:500;letter-spacing:.14em}
.page #top .header-release a div p span::after{display:none}
.page #top .header-release em{font-style:normal;color:#91a9bc;padding:0 32px;font-size:19px}
.page #news,.page #about,.page #projects,.page #services,.page #contact{padding:115px 4vw 70px}
.page #news .header-archive a{font-size:15px;letter-spacing:.08em}
.page #news .swiper-pagination{display:flex;gap:35px;margin-bottom:32px;position:relative;top:auto;bottom:auto;left:auto;right:auto;justify-content:flex-start}
.page #news .swiper-pagination-bullet{font-size:15px;letter-spacing:.1em;margin:0;padding:0;white-space:nowrap}
.page #news .slide-items{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.page #news .items-item a{min-height:168px;height:auto;background:#111;padding:25px 22px;display:block;border-top:1px solid #3b3b3b;transition:background .3s}
.page #news .items-item a:hover{background:#202326}
.page #news .item-date{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;height:auto;font-size:12px;color:#aaa;line-height:1.5}
.page #news .item-date span{display:inline-block;width:auto!important;height:auto;white-space:nowrap;flex-shrink:0}
.page #news .item-date span:first-child{font-size:12px;font-weight:400;white-space:nowrap}
.page #news .item-date span:last-child{font-size:12px;background:#dededb;color:#111;padding:3px 8px;min-width:0;font-weight:500}
.page #news .item-title{margin-top:23px}.page #news .item-title p{font-size:18px;line-height:1.7;letter-spacing:.02em;text-align:left}
.page #about{padding-bottom:0}
.page #about .main-text{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:4vw;margin:20px 0 90px;align-items:start}
.page #about .main-text p{font-size:16px;line-height:2.1;margin:0;color:#b7b7b7;letter-spacing:.025em}
.page #about .main-text .about-lead{font-size:28px;line-height:1.6;font-weight:600;color:#e6e6e3}
.page #about .main-items{margin:0 -4vw;width:100vw}
.page #about .main-items .item-offset{position:relative}
.page #about .offset-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.65)}
.page #about .offset-photo picture{width:100%;height:100%;display:block}
.page #about .offset-logo .profile-word{font-size:clamp(40px,7vw,110px);font-weight:700;white-space:nowrap;letter-spacing:.03em;text-shadow:0 2px 35px #000}
.page #about .items-item--a .offset-logo{left:6vw;width:auto;height:auto}
.page #about .items-item--k .offset-logo{left:auto;right:6vw;width:auto;height:auto}
.page #about .offset-name{font-size:13px;letter-spacing:.2em}
.page #about .offset-text{font-size:15px;letter-spacing:.15em}
.page #projects .main-swiper{margin-top:25px}
.page #projects .swiper-slide{width:48vw;margin-right:24px}
.page #projects .slide-photo{aspect-ratio:1.2;overflow:hidden;position:relative}
.page #projects .slide-photo a,.page #projects .slide-photo a>div{width:100%;height:100%;display:block;position:relative}
.page #projects .slide-photo img{width:100%;height:100%;object-fit:cover}
.page #projects .sample-badge{position:absolute;top:18px;left:18px;font-size:12px;padding:7px 12px;border:1px solid #ffffff80;background:#0008;color:#eee;letter-spacing:.08em}
.page #projects .slide-meta{min-height:155px;padding:24px 22px;display:flex;align-items:flex-start;background:#141414;gap:24px}
.page #projects .meta-date{position:static;display:flex;flex-direction:column;gap:8px;width:42px;flex-shrink:0}
.page #projects .meta-date span:first-child{font-size:11px;white-space:nowrap}.page #projects .meta-date span:last-child{font-size:24px;line-height:1}
.page #projects .meta-title{width:100%;padding:0}.page #projects .meta-title strong{font-size:26px;line-height:1.4;display:block;font-weight:600}
.page #projects .project-category{font-size:13px;color:#a0a0a0;margin:9px 0 22px;letter-spacing:.1em}
.page #projects .meta-title ul{display:flex;gap:12px}.page #projects .meta-title ul li{flex:1;width:auto;margin:0}
.page #projects .meta-title ul li a{font-size:13px;padding:8px 12px;min-height:33px;font-weight:500;display:block}
.page #projects .meta-title ul li a::after{display:none}
.page #services .slide-photo{height:320px;overflow:hidden;position:relative}
.page #services .slide-photo a,.page #services .slide-photo a>div{height:100%;display:block}
.page #services .slide-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.6)}
.page #services .slide-meta{padding:27px 0;background:transparent}
.page #services .slide-meta dl{display:flex;gap:18px;align-items:flex-start}
.page #services .slide-meta dt{font-size:17px;line-height:1.5;color:#a2a2a2;flex:0 0 25px}
.page #services .slide-meta dd{width:auto;flex:1;padding:0}
.page #services h3{font-size:23px;line-height:1.45;font-weight:500;letter-spacing:.03em}
.page #services .slide-meta p{font-size:14px;line-height:1.8;color:#a8a8a8;margin-top:12px}
.page #services .slide-meta ul{margin:23px 0;font-size:15px;line-height:2.1}
.page #services .slide-meta li{padding-left:13px;position:relative}.page #services .slide-meta li:before{content:"·";position:absolute;left:0}
.page #services .service-link{font-size:13px;border-bottom:1px solid #838383;padding:0 0 5px;background:none;display:inline-block}
.page #contact{border-top:1px solid #333;margin-top:50px}
.page #contact .main-text{max-width:850px;margin:0 0 28px}
.page #contact .main-text .contact-lead{font-size:clamp(38px,4vw,64px);line-height:1.45;letter-spacing:.05em;font-weight:550;margin-bottom:30px}
.page #contact .main-text p{font-size:17px;line-height:1.9;color:#c7c7c7}
.page #contact .contact-note{font-size:13px;color:#8d8d8d;margin-top:16px;line-height:1.8}
.page #contact .main-swiper{margin-top:70px}
.page #contact .contact-photo{aspect-ratio:1.6;overflow:hidden}
.page #contact .contact-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.4)}
.page #contact figcaption{padding:25px 0}.page #contact figcaption dl{display:flex;gap:18px;align-items:flex-start}
.page #contact figcaption dt{font-size:17px;line-height:1.6;color:#888}
.page #contact figcaption dd{padding:0;flex:1}.page #contact figcaption strong{font-size:22px;font-weight:500;line-height:1.5}
.page #contact figcaption p{font-size:14px;line-height:1.8;color:#999;margin-top:10px}
body .page .page-footer{position:relative;min-height:580px;padding:100px 4vw 25px;background:#080808;margin-top:20px}
body .page .page-footer .footer-statement{position:relative;z-index:1;font-size:clamp(30px,3.5vw,56px);font-weight:500;letter-spacing:.08em;line-height:1.5}
body .page .page-footer .footer-logo{position:relative;left:auto;top:auto;width:210px;height:210px;margin:60px 0 60px auto}
body .page .page-footer .footer-logo .logo-front picture img{height:100%;width:100%;object-fit:contain;filter:brightness(1.45)}
body .page .page-footer .footer-copyright{position:relative;left:auto;top:auto;bottom:auto;width:auto;margin-top:30px;font-size:12px;line-height:1.8;color:#8e8e8e}
body .page .page-footer .footer-copyright p{margin-top:8px;font-size:12px;max-width:650px}
body .page .page-footer .footer-pagetop{right:4vw;bottom:52px;left:auto;font-size:13px;width:auto}
body .page .page-footer .footer-pagetop a{font-size:13px;letter-spacing:.05em}
.page[data-news] #top{height:130px;min-height:130px;background:#0a0a0a}
.page .niart-inner{padding:60px 5vw 100px;max-width:1440px;margin:auto}
.page .niart-inner>section{opacity:1}
.page .back-link{font-size:13px;color:#999;display:inline-block;margin-bottom:40px;border-bottom:1px solid #444;padding-bottom:7px}
.page .niart-inner h1{font-size:clamp(38px,4.8vw,70px);line-height:1.35;letter-spacing:.03em;font-weight:550;max-width:1120px;margin-bottom:28px}
.page .article-kicker{font-size:14px;color:#999;letter-spacing:.1em;margin:15px 0 25px}
.page .article-lead{font-size:20px;line-height:1.9;max-width:950px;color:#c6c6c6;margin-bottom:50px}
.page .article-image{width:100%;margin:30px 0 65px}.page .article-image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.page .article-image figcaption{color:#8e8e8e;font-size:12px;margin-top:14px;line-height:1.8}
.page .article-body{max-width:800px;margin:0 auto;font-size:17px;line-height:2.1}
.page .article-body p{margin:0 0 26px}.page .article-body h2{margin:55px 0 28px;font-size:28px!important}
.page .article-body ul{list-style:disc;margin-left:20px;margin-bottom:40px}
.page .news-list{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.page .news-list .items-item a{display:block;padding:35px;background:#141414;border-top:1px solid #4d4d4d;min-height:190px;transition:background .3s}
.page .news-list .items-item a:hover{background:#202326}
.page .news-list .item-date{display:flex;justify-content:space-between;color:#999;font-size:13px;gap:20px}
.page .news-list .item-title{font-size:21px;line-height:1.8;margin-top:30px}
.page .service-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;padding:50px 0;border-top:1px solid #353535;scroll-margin-top:110px}
.page .service-detail img{aspect-ratio:1.25;object-fit:cover;width:100%;height:100%}
.page .service-detail h2{font-size:32px!important;margin-bottom:25px}.page .service-detail p,.page .service-detail li{font-size:17px;line-height:2}
.page .service-detail ul{margin-top:25px}
.page dialog{position:fixed;inset:0;margin:auto;width:min(760px,calc(100vw - 32px));max-height:90svh;padding:36px;background:#151617;color:#ededeb;border:1px solid #555;overflow:auto}
.page dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}
.page .dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px;font-size:13px;color:#aaa;gap:20px}
.page .dialog-close{padding:8px;white-space:nowrap}
.page dialog h2{font-size:28px!important;margin-bottom:35px}
.page .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.page form label{display:flex;flex-direction:column;font-size:14px;gap:10px;margin-bottom:24px}
.page form input,.page form textarea,.page form select{width:100%;min-width:0;padding:13px;background:#222426;border:1px solid #56595b;color:#eee;border-radius:0;font-size:16px;color-scheme:dark}
.page .form-note{font-size:12px;line-height:1.8;color:#aaa;margin-bottom:25px}
.page #brief-status{margin-top:20px;font-size:14px;line-height:1.8;color:#c6d9e9}
.page #brief-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#0b0c0d;border:1px solid #393c3e;padding:20px;font-size:14px;line-height:1.9;margin:20px 0}
@media(min-width:1025px){
 /* Keep three links on each side of the logo; collapse its track on scroll. */
 .page .page-nav .nav-items{padding:26px 3.5vw 30px;top:0;grid-template-columns:repeat(3,minmax(0,1fr)) 195px repeat(3,minmax(0,1fr));grid-auto-flow:row;gap:0;align-items:start;background:linear-gradient(#090909d9,#09090900)}
 .page .page-nav.is-intop .nav-items{grid-template-columns:repeat(3,minmax(0,1fr)) 0px repeat(3,minmax(0,1fr))}
 .page .page-nav .nav-items > .items-item.items-item--link{margin:0;padding:0 7px}
 .page .page-nav .nav-items .items-item--logo,.page .page-nav .nav-items .items-item--brave,.page .page-nav .nav-items .items-item--copyright{display:none}
 .page .page-nav .nav-items .items-item--link{min-width:0;grid-row:1;justify-content:center}
 .page .page-nav .nav-items .items-item--link a{white-space:nowrap;line-height:1.5}
 .page .page-nav .nav-items .items-item--link:nth-child(2){grid-column:1}
 .page .page-nav .nav-items .items-item--link:nth-child(3){grid-column:2}
 .page .page-nav .nav-items .items-item--link:nth-child(4){grid-column:3}
 .page .page-nav .nav-items .items-item--link:nth-child(5){grid-column:5}
 .page .page-nav .nav-items .items-item--link:nth-child(6){grid-column:6}
 .page .page-nav .nav-items .items-item--link:nth-child(7){grid-column:7}
 .page .page-nav.is-intop{background:#0a0a0aeb;min-height:76px;backdrop-filter:blur(14px)}
 .page #top .header-logo{width:155px;height:155px;top:8px}
 .page #top .header-logo > a{display:block;opacity:1;visibility:visible;transition:opacity .25s ease,transform .35s ease,filter .35s ease,visibility 0s}
 .page #top.is-intop .header-logo > a{opacity:0;visibility:hidden;transform:translateY(-24px);filter:blur(6px);transition:opacity .25s ease,transform .35s ease,filter .35s ease,visibility 0s .35s}
 .page #services .swiper-wrapper,.page #contact .swiper-wrapper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;transform:none!important;width:100%}
 .page #services .swiper-slide,.page #contact .swiper-slide{width:auto;margin:0;min-width:0}
 .page #about .main-items .offset-photo{height:630px}
 .page #about .offset-photo>div,.page #about .offset-photo>div>span{height:100%}
 .page #about .offset-photo img{height:100%}
 .page #about .main-items .items-item{height:630px}
 .page #about .offset-text{bottom:45px;right:5vw;left:auto;top:auto}
 .page #about .offset-name{display:none}
 .page #about .items-item--a .offset-photo{left:auto;right:0;width:75%}
 .page #about .items-item--k .offset-photo{left:0;right:auto;width:75%}
}
@media(max-width:1024px){
 .page .page-nav .nav-items{padding:160px 8vw 70px;display:flex;flex-direction:column;gap:21px;align-items:flex-start;width:100%;height:100svh;overflow-y:auto;position:relative;top:0}
 .page .page-nav .nav-items .items-item--link,.page .page-nav .nav-items .items-item--logo,.page .page-nav .nav-items .items-item--brave,.page .page-nav .nav-items .items-item--copyright{position:static;margin:0;width:auto;height:auto;flex-shrink:0;line-height:1.5}
 .page .page-nav .nav-items .items-item--logo{position:absolute;top:24px;left:8vw}
 .page .page-nav .item-logo{width:105px;height:105px;margin:0}
 .page .page-nav .item-logo img{height:100%;width:100%;object-fit:contain;filter:brightness(1.5)}
 .page .page-nav .item-link a{font-size:25px!important;line-height:1.5}
 .page .page-nav .nav-items .items-item--brave{margin-top:12px}.page .page-nav .nav-items .items-item--copyright{margin-top:auto;padding-top:15px}
 .page .page-nav .item-copyright{font-size:12px}
 .page .page-toggle{top:27px;right:24px;width:38px;height:30px}
 .page .page-toggle button{width:38px;height:30px}
 .page .page-toggle button span:nth-of-type(1){height:2px;width:38px;left:0;top:10px}
 .page .page-toggle button span:nth-of-type(2){height:2px;width:38px;left:0;top:18px}
 .page .page-toggle button.is-active span:nth-of-type(1),.page .page-toggle button.is-active span:nth-of-type(2){top:14px;translate:0 0}
 .page #top{height:100svh;min-height:740px}
 .page #top .header-logo{left:20px;top:15px;width:100px;height:100px;transform:none;z-index:10}
 .page .hero-copy{left:6vw;right:6vw;bottom:175px}
 .page .hero-copy .eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:22px}
 .page .hero-copy h1{font-size:clamp(37px,8.3vw,75px);line-height:1.35;letter-spacing:.035em}
 .page .hero-bottom{display:block;margin-top:24px}
 .page .hero-bottom p{font-size:14px;line-height:1.9}
 .page .hero-bottom .outline-button{margin-top:25px;font-size:13px;padding:11px 24px;min-height:42px}
 .page #top .header-release{height:58px;padding:13px 0}
 .page #top .header-release a div p span{font-size:23px}
 .page #top .header-release em{font-size:16px;padding:0 20px}
 .page #news,.page #about,.page #projects,.page #services,.page #contact{padding:78px 5vw 35px}
 .page .content-header{margin-bottom:24px!important}
 .page h2{font-size:30px!important;letter-spacing:.04em}
 .page .section-note{font-size:13px;margin-bottom:27px;max-width:85%;line-height:1.8}
 .page #news .header-archive a{font-size:12px}
 .page #news .swiper-pagination{gap:0;justify-content:space-between;margin-bottom:20px;width:100%}
 .page #news .swiper-pagination-bullet{font-size:12px;letter-spacing:0}
 .page #news .slide-items{grid-template-columns:1fr;gap:12px}
 .page #news .items-item a{min-height:135px;padding:20px}
 .page #news .item-date,.page #news .item-date span:first-child,.page #news .item-date span:last-child{font-size:11px}
 .page #news .item-title{margin-top:18px}.page #news .item-title p{font-size:17px;line-height:1.6}
 .page #about .main-text{display:block;margin:0 0 50px}
 .page #about .main-text p{font-size:15px;line-height:2;margin-bottom:24px}
 .page #about .main-text .about-lead{font-size:27px;line-height:1.6;margin-bottom:30px}
 .page #about .main-items{margin:0 -5vw}
 .page #about .main-items .items-item{padding:0;margin:0;width:100%;height:auto}
 .page #about .offset-photo{width:100%;height:115vw;position:relative}
 .page #about .offset-photo>div,.page #about .offset-photo>div>span{height:100%;width:100%}
 .page #about .offset-photo img{height:100%;width:100%}
 .page #about .items-item .offset-logo{position:absolute;left:6vw;right:auto;top:auto;bottom:80px;width:auto;margin:0}
 .page #about .offset-logo .profile-word{font-size:12vw;line-height:1.2}
 .page #about .items-item .offset-text{position:absolute;left:6vw;top:auto;bottom:37px;font-size:13px;letter-spacing:.07em;line-height:1.5}
 .page #about .offset-name{display:none}
 .page #projects .swiper-slide{width:83vw;margin-right:16px}
 .page #projects .slide-photo{aspect-ratio:1.05}
 .page #projects .slide-meta{padding:20px 17px;gap:15px;min-height:175px}
 .page #projects .meta-date{width:29px}.page #projects .meta-date span:last-child{font-size:21px}
 .page #projects .meta-title strong{font-size:21px;line-height:1.5}
 .page #projects .project-category{font-size:12px;margin-bottom:19px}
 .page #projects .meta-title ul{gap:9px}.page #projects .meta-title ul li a{font-size:12px;padding:7px;min-height:31px}
 .page #projects .sample-badge{font-size:11px;top:14px;left:14px;padding:5px 9px}
 .page #projects .swiper-button-next,.page #projects .swiper-button-prev,.page #services .swiper-button-next,.page #services .swiper-button-prev,.page #contact .swiper-button-next,.page #contact .swiper-button-prev{top:-27px;font-size:12px!important}
 .page #projects .main-swiper,.page #services .main-swiper{margin-top:50px}
 .page #services .swiper-slide,.page #contact .swiper-slide{width:81vw;margin-right:20px}
 .page #services .slide-photo{height:280px}
 .page #services h3{font-size:22px}.page #services .slide-meta{padding:25px 0 0}
 .page #services .slide-meta p{font-size:14px}
 .page #services .slide-meta ul{font-size:14px;margin:19px 0}
 .page #contact{margin-top:35px}
 .page #contact .main-text .contact-lead{font-size:36px;line-height:1.45}
 .page #contact .main-text p{font-size:15px}.page #contact .contact-note{font-size:12px}
 .page #contact .main-swiper{margin-top:70px}
 .page #contact figcaption strong{font-size:20px}.page #contact figcaption p{font-size:13px}
 body .page .page-footer{padding:70px 5vw 25px;min-height:540px;margin-top:25px}
 body .page .page-footer .footer-statement{font-size:29px;letter-spacing:.035em}
 body .page .page-footer .footer-logo{width:180px;height:180px;margin:40px 0 70px auto}
 body .page .page-footer .footer-copyright{font-size:11px;max-width:100%}
 body .page .page-footer .footer-copyright p{font-size:11px;max-width:92%}
 body .page .page-footer .footer-pagetop{right:5vw;bottom:150px}
 .page[data-news] #top{height:145px;min-height:145px}
 .page .niart-inner{padding:25px 5vw 50px}
 .page .niart-inner h1{font-size:35px;line-height:1.45}
 .page .article-kicker{font-size:12px;line-height:1.8}
 .page .article-lead{font-size:17px;line-height:1.9;margin-bottom:30px}
 .page .article-body{font-size:16px;line-height:2}
 .page .article-image{margin-bottom:40px}.page .article-image img{aspect-ratio:1.25}
 .page .news-list{grid-template-columns:1fr}.page .news-list .items-item a{padding:25px;min-height:170px}
 .page .news-list .item-title{font-size:19px;line-height:1.7}.page .news-list .item-date{font-size:12px}
 .page .service-detail{grid-template-columns:1fr;gap:25px}
 .page .service-detail img{aspect-ratio:1.5}.page .service-detail h2{font-size:27px!important}
 .page dialog{padding:22px;max-height:92svh}.page dialog h2{font-size:24px!important}
 .page .dialog-head{font-size:12px;gap:8px;margin-bottom:25px}.page .form-grid{grid-template-columns:1fr;gap:0}
}
@media(prefers-reduced-motion:reduce){.page .page-intro,.page .page-loading,.page .page-wheel{display:none!important}.page [data-intersection],.page .hero-copy{opacity:1!important;filter:none!important;transform:none!important}.page *{scroll-behavior:auto!important}.page .page-nav .nav-items,.page #top .header-logo > a{transition:none!important}}
