:root{--blue: #2c58c9;--blue-dark: #173b91;--red: #e9364d;--green: #1ea76d;--logo-blue: #0000ff;--logo-red: #ff0000;--logo-green: #008000;--seiwa-blue: #005bab;--seiwa-green: #009178;--seiwa-red: #e62d20;--brand-focus: rgba(44, 88, 201, .42);--ink: #333333;--muted: #999999;--line: #eeeeee;--white: #ffffff;--footer: #333333;--font-display: Poppins, "Noto Sans JP", "Hiragino Kaku Gothic ProN", Arial, sans-serif;--font-japanese: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--font-japanese);font-feature-settings:"palt";letter-spacing:.02em;overflow-x:hidden}body.menu-open,body.modal-open{overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{border:0;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--brand-focus);outline-offset:3px}.site-shell{min-width:0}.content-container{width:1280px;max-width:100%;margin:0 auto}@keyframes ribbon-float{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(8px,-8px,0) scale(1.012)}}@keyframes hero-text-color-shift{0%{color:var(--white);opacity:0}18%{color:var(--white);opacity:0}34%{color:var(--logo-blue);opacity:1}54%{color:var(--logo-red);opacity:1}74%{color:var(--logo-green);opacity:1}to{color:var(--shift-final-color, var(--white));opacity:1}}.ribbon-field{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}.ribbon-field .ribbon{position:absolute;display:block;max-width:none;height:auto;mix-blend-mode:normal;opacity:.9;animation:ribbon-float 18s ease-in-out infinite alternate}.ribbon-field .ribbon-blue{animation-delay:-3s}.ribbon-field .ribbon-red{animation-delay:-7s}main{position:relative}.ribbon-stream{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}.ribbon-stream .ribbon{position:absolute;display:block;max-width:none;height:auto;mix-blend-mode:normal;opacity:.72;animation:ribbon-float 22s ease-in-out infinite alternate}.ribbon-stream-top-green{top:-520px;right:-480px;width:1560px}.ribbon-stream-top-blue{top:-430px;right:-300px;width:1520px;animation-delay:-3s!important}.ribbon-stream-top-red{top:360px;right:-430px;width:1580px;animation-delay:-7s!important}.ribbon-stream-middle-green{top:1050px;right:-760px;width:1540px;animation-delay:-5s!important}.ribbon-stream-middle-blue{top:1170px;right:-620px;width:1600px;animation-delay:-8s!important}.ribbon-stream-middle-red{top:1450px;left:-650px;width:1600px;animation-delay:-11s!important}.ribbon-stream-lower-green{top:2860px;right:-760px;width:1560px;animation-delay:-4s!important}.ribbon-stream-lower-blue{top:2980px;right:-620px;width:1600px;animation-delay:-7s!important}.ribbon-stream-lower-red{top:3290px;left:-650px;width:1600px;animation-delay:-10s!important}.section-blue{color:var(--ink);background:var(--white)}.section-white{background:var(--white)}.hero,.about-section,.service-section,.works-section,.news-section,.contact-section{position:relative;z-index:auto}.service-banner{position:relative;z-index:2}.site-header{position:fixed;z-index:100;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;width:100%;padding:30px;background:transparent}.brand{display:block;flex:none;width:270px;padding-block:3px;line-height:0}.brand img{display:block;width:100%;height:auto;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:20px;margin-left:auto}.desktop-nav a{position:relative;display:block;color:var(--ink);font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.1em;line-height:1;transition:color .18s ease}.desktop-nav a:hover{color:var(--red)}.nav-dot{position:absolute;top:-10px;right:-10px;width:4px;height:4px;border-radius:2px;background:var(--ink);opacity:0;transform:translate(5px,5px) scale(1);transition:opacity .1s linear,transform .1s linear}.desktop-nav a:hover .nav-dot{opacity:1;transform:translate(0) scale(1.3)}.header-contact{display:flex;align-items:center;justify-content:center;flex:none;width:160px;height:38px;margin-left:30px;border:2px solid var(--ink);border-radius:24px;color:var(--ink);background:var(--white);font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.1em;line-height:1;transition:color .2s ease,background .2s ease,border-color .2s ease}.header-contact:hover{color:var(--ink);background:var(--white);border-color:var(--ink)}.menu-toggle{display:none;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:32px;height:38px;padding:0;color:var(--ink);background:transparent}.menu-toggle span{display:block;width:20px;height:2px;background:currentColor}.menu-toggle span:last-child{width:12px;margin-left:8px}.hero{position:relative;z-index:auto;height:100svh;min-height:620px;padding:100px 0 30px 100px;overflow:hidden;background:var(--white)}.hero-frame{position:relative;z-index:2;width:100%;height:100%;overflow:hidden;border-radius:24px 0 0 24px}.hero-slideshow{position:absolute;z-index:0;inset:0;transform:scale(1.1);transition:opacity 1s ease var(--reveal-delay, 0ms),filter 1s ease var(--reveal-delay, 0ms),transform 3s ease}.hero-slide{position:absolute;inset:0;background-image:var(--image);background-position:center;background-size:cover;opacity:0;transform:scale(1.05);transition:opacity 1.2s ease,transform 6.5s ease}.hero-slide:after{position:absolute;inset:0;background:#00000038;content:""}.hero-slide.is-active{opacity:1;transform:scale(1)}.hero-slideshow.is-visible{filter:none;opacity:1;transform:scale(1)}.hero-wipe{position:absolute;z-index:1;inset:0;background:var(--white);transform:scaleX(1);transform-origin:right center;transition:transform 1.2s ease .6s}.hero-slideshow.is-visible .hero-wipe{transform:scaleX(0)}.hero-copy{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0 100px;color:var(--white)}.hero-copy h1{max-width:980px;margin:0 0 20px;font-family:var(--font-japanese);font-size:80px;font-weight:700;letter-spacing:.02em;line-height:1.3}.hero-copy p{max-width:650px;margin:0;font-family:var(--font-japanese);font-size:20px;font-weight:700;letter-spacing:.02em;line-height:1.8}.color-shift-text{--shift-final-color: var(--white)}.color-shift-text .hero-char{display:inline-block;white-space:pre;color:var(--white);opacity:0}.color-shift-text.is-visible .hero-char{animation:hero-text-color-shift 1.2s ease both;animation-delay:var(--hero-char-delay, 0ms)}.section-title-group{--shift-final-color: var(--ink)}.outline-button{display:inline-flex;align-items:center;justify-content:center;flex:none;gap:10px;height:40px;min-width:160px;padding:0 15px;border:2px solid currentColor;border-radius:20px;color:currentColor;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.02em;line-height:1;transition:color .18s ease,background .18s ease}.outline-button:hover{color:var(--ink);background:var(--white);border-color:var(--red)}.scroll-button{margin-top:50px}.chevron{display:inline-block;margin-top:-5px;font-family:Arial,sans-serif;font-size:25px;font-weight:400;line-height:.5}.follow-rail{position:absolute;z-index:4;bottom:0;left:0;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;width:auto;color:var(--ink);background:var(--white)}.follow-label{display:block;padding:24px 0 24px 24px;color:var(--ink);font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.1em;line-height:1}.follow-socials{display:flex;flex-direction:row;align-items:center;gap:16px;width:auto;margin-top:0;padding:24px;color:var(--ink);background:transparent}.follow-socials a,.mobile-socials a{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:inherit;font-family:Arial,sans-serif;font-size:20px;font-weight:700;line-height:1;transition:opacity .18s ease,transform .18s ease}.follow-socials a:hover,.mobile-socials a:hover{opacity:.65;transform:translateY(-2px)}.section-heading{position:relative;z-index:1}.section-heading.light,.section-heading.dark{color:var(--ink)}.section-heading.dark .section-eyebrow,.section-heading.dark h2,.service-card h3,.work-card h3,.news-item time{color:var(--ink)}.section-heading.dark .section-description{color:var(--ink)}.section-eyebrow{margin:0 0 18px -3px;font-family:var(--font-display);font-size:64px;font-weight:600;letter-spacing:.02em;line-height:1}.section-heading h2{margin:0 0 30px;font-size:28px;font-weight:900;letter-spacing:.02em;line-height:1}.section-description{margin:0;font-size:15px;font-weight:700;letter-spacing:.02em;line-height:1.8}.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease var(--reveal-delay, 0ms),transform .6s ease var(--reveal-delay, 0ms)}.reveal.is-visible{opacity:1;transform:none}.image-reveal{filter:blur(20px);opacity:0;transform:translateY(30px) scale(.96);transition:filter 1s ease var(--reveal-delay, 0ms),opacity 1s ease var(--reveal-delay, 0ms),transform 1s ease var(--reveal-delay, 0ms)}.image-reveal.is-visible{filter:blur(0);opacity:1;transform:none}.hero-slideshow.image-reveal{transform:scale(1.1);transition:filter 1s ease var(--reveal-delay, 0ms),opacity 1s ease var(--reveal-delay, 0ms),transform 3s ease}.hero-slideshow.image-reveal.is-visible{transform:scale(1)}.about-section{padding:120px 100px 150px}.about-inner{position:relative;z-index:2;display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between}.about-media{position:relative;flex:none;width:50%;height:500px}.about-main-image,.decor-image,.service-image,.service-banner,.work-image{background-image:var(--image);background-position:center;background-size:cover}.about-main-image{position:absolute;z-index:1;inset:0;border-radius:8px}.decor-image{position:absolute;z-index:2;border-radius:8px}.about-top-image{top:-30px;right:-30px;width:250px;height:160px}.about-bottom-image{bottom:-30px;left:-30px;width:200px;height:120px}.about-copy{flex:none;width:50%;padding:0}.about-copy .section-heading{padding:64px 72px 72px;background:var(--white);border-radius:24px;box-shadow:0 30px 72px #16161629}.about-copy .section-description{margin-bottom:50px}.service-section{position:relative;overflow:visible;padding:150px 100px}.service-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:stretch}.ribbon-field-service{opacity:.84}.ribbon-field-service .ribbon-green{top:-520px;right:-225px;width:1080px}.ribbon-field-service .ribbon-blue{top:-390px;right:-180px;width:1120px}.ribbon-field-service .ribbon-red{bottom:-560px;left:-370px;width:1200px}.service-cards{display:flex;gap:40px;justify-content:space-between;margin-top:50px}.service-card{flex:1 1 0;min-width:0;padding:10px 10px 30px;border-radius:8px;text-align:center;background:var(--white);box-shadow:0 20px 20px -20px #0003}.service-image{width:100%;height:220px;margin-bottom:20px;border-radius:8px}.service-card h3{margin:0 0 12px;color:var(--ink);font-size:18px;font-weight:900;letter-spacing:.02em;line-height:1.4}.service-card p{margin:0;color:var(--ink);font-size:13px;font-weight:500;line-height:1.5}.service-banner{position:relative;display:flex;align-items:flex-end;width:calc(100% - 100px);height:600px;padding:80px 100px;overflow:hidden;border-radius:0 24px 24px 0}.service-banner:after{position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,#000000b8,#00000014);content:""}.service-banner-wipe{position:absolute;z-index:1;inset:0;background:var(--white);transform:scaleX(1);transform-origin:right center;transition:transform 1.2s ease .6s}.service-banner.image-reveal{transform:scale(1.1);transition:filter 1s ease var(--reveal-delay, 0ms),opacity 1s ease var(--reveal-delay, 0ms),transform 3s ease}.service-banner.image-reveal.is-visible{transform:scale(1)}.service-banner.is-visible .service-banner-wipe{transform:scaleX(0)}.service-banner-copy{position:relative;z-index:2;max-width:650px;color:var(--white)}.service-banner-eyebrow{margin:0;font-family:var(--font-display);font-size:48px;font-weight:600;line-height:1}.service-banner-title-group h2{margin:0 0 30px;font-size:28px;font-weight:900;letter-spacing:.02em;line-height:1.2}.service-banner-copy>p:not(.service-banner-note){max-width:560px;margin:0 0 14px;font-size:15px;font-weight:700;line-height:1.8}.service-banner-note{margin:0 0 28px;color:#ffffffc2;font-family:var(--font-display);font-size:12px;font-weight:700;line-height:1.7}.service-banner-copy .outline-button{color:var(--white)}.works-section{position:relative;height:691px;padding:150px 100px 0;margin-top:30px;overflow:visible;background:var(--white)}.works-color-band{position:absolute;z-index:0;top:0;left:0;width:100%;height:456px;background:transparent}.ribbon-field-works{opacity:.28}.ribbon-field-works .ribbon-green{top:-460px;right:-230px;width:1040px}.ribbon-field-works .ribbon-blue{top:-350px;right:-160px;width:1060px}.ribbon-field-works .ribbon-red{bottom:-620px;left:-360px;width:1180px}.works-inner{position:relative;z-index:2}.works-carousel{position:relative;margin-top:45px}.carousel-viewport{width:100vw;margin-left:calc((100% - 100vw)/2);padding-left:clamp(30px,3.5vw,48px);box-sizing:border-box;overflow:hidden}.carousel-track{--works-marquee-duration: 36s;display:flex;width:max-content;padding-bottom:20px;animation:works-marquee var(--works-marquee-duration) linear infinite;will-change:transform}.works-marquee-set{display:flex;flex:none;gap:36px;padding-right:36px}@keyframes works-marquee{to{transform:translate3d(-50%,0,0)}}.works-carousel:hover .carousel-track{animation-play-state:paused}.work-card{flex:none;width:260px;color:var(--ink)}.work-image{position:relative;width:260px;height:198px;margin-bottom:20px;overflow:hidden;border-radius:8px}.work-type{position:absolute;top:20px;left:15px;display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:20px;padding:0 10px;border-radius:12px;color:var(--ink);background:var(--white);font-family:var(--font-display);font-size:11px;font-weight:700;line-height:1}.work-card h3{margin:0 0 12px;color:var(--ink);font-size:20px;font-weight:900;line-height:1.4}.work-card p{margin:0;color:var(--ink);font-size:13px;font-weight:500;line-height:1.5}.news-section{position:relative;overflow:visible;height:561px;padding:150px 100px}.news-inner{position:relative;z-index:2}.ribbon-field-news{opacity:.84}.ribbon-field-news .ribbon-green{top:-250px;right:-260px;width:980px}.ribbon-field-news .ribbon-blue{top:-140px;right:-220px;width:1010px}.ribbon-field-news .ribbon-red{bottom:-620px;left:-360px;width:1160px}.news-list{width:858px;max-width:100%;margin:45px auto 0}.news-item{display:grid;grid-template-columns:129px 1fr;gap:0;align-items:center;min-height:41px}.news-item time{color:var(--ink);font-family:var(--font-display);font-size:15px;font-weight:700;line-height:1.4}.news-item button{padding:0;color:var(--ink);text-align:left;background:transparent;font-size:15px;font-weight:500;line-height:1.4;transition:color .18s ease,opacity .18s ease}.news-item button:hover{color:var(--red)}.news-category{display:inline-block;margin-right:12px;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.02em}.contact-section{color:var(--ink);height:auto;min-height:860px;padding:150px 100px}.contact-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,400px) minmax(0,458px);justify-content:space-between;gap:70px}.contact-copy .section-description{margin-bottom:0}.contact-details{margin:35px 0 0;color:var(--ink);font-family:var(--font-display);font-size:14px;font-weight:700;line-height:2}.contact-copy{margin-top:30px}.contact-form{display:flex;flex-direction:column;width:100%;margin-top:10px;color:var(--ink)}.contact-form>label:not(.consent-label){margin:0 0 10px;font-size:15px;font-weight:700;line-height:1.4}.contact-form>label:not(.consent-label) span{color:var(--red)}.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form textarea{width:100%;padding:10px;border:1px solid var(--ink);border-radius:4px;color:var(--ink);outline:0;background:var(--white);font-size:15px;line-height:1.4;transition:border-color .18s ease,box-shadow .18s ease}.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel]{height:50px;margin-bottom:20px}.contact-form textarea{height:160px;margin-bottom:30px;resize:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--ink)}.contact-form input:focus,.contact-form textarea:focus{box-shadow:0 0 0 3px #16161629}.consent-label{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 12px;color:var(--ink);font-size:15px;line-height:1.4}.consent-label input{width:14px;height:14px;margin:0;accent-color:var(--blue-dark)}.privacy-link{align-self:center;margin-bottom:30px;color:var(--ink);font-size:12px;text-decoration:underline;transition:opacity .18s ease}.privacy-link:hover{opacity:.6}.submit-button{width:100%;height:50px;border:2px solid var(--ink);border-radius:24px;color:var(--ink);background:var(--white);font-size:15px;font-weight:700;transition:color .18s ease,background .18s ease,border-color .18s ease}.submit-button:hover{border-color:var(--ink);color:var(--ink);background:var(--white)}.form-status{min-height:22px;margin:14px 0 0;color:var(--ink);font-size:13px;line-height:1.5;text-align:center}.contact-section{min-height:0;padding:120px 100px 130px;background:#f3f3f3}.contact-inner{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0}.contact-card{display:flex;min-width:0;min-height:590px;flex-direction:column;padding:0 60px;background:transparent}.contact-card+.contact-card{border-left:1px solid #d3d3d3}.contact-card-header{display:flex;min-height:0;align-items:flex-start;padding:0}.contact-card-title-group{width:100%}.contact-card-body{display:flex;flex:1;flex-direction:column;padding:0;margin-top:46px}.contact-card-lead{margin:0;color:var(--ink);font-size:20px;font-weight:500;line-height:1.75}.recruit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:auto;padding-top:46px}.contact-card-button{display:inline-flex;min-height:86px;align-items:center;justify-content:center;padding:18px 20px;color:var(--white);background:#5a5a5a;font-size:18px;font-weight:500;line-height:1.5;text-align:center;transition:background .18s ease,transform .18s ease}.contact-card-button:hover{background:var(--ink);transform:translateY(-2px)}.recruit-action-wide{grid-column:1 / -1}.contact-numbers{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:38px}.contact-numbers a,.contact-fax{display:inline-flex;align-items:center;gap:12px;color:var(--ink)}.contact-numbers strong{font-family:var(--font-display);font-size:clamp(20px,2.1vw,31px);font-weight:700;letter-spacing:.02em;line-height:1}.contact-number-icon{display:inline-flex;min-width:48px;height:48px;align-items:center;justify-content:center;border-radius:50%;color:var(--white);background:var(--ink);font-family:Arial,sans-serif;font-size:25px;line-height:1}.contact-fax .contact-number-icon{font-size:13px;font-weight:700}.contact-mail-button{width:100%;min-height:86px;margin-top:auto;gap:16px}.contact-mail-icon{display:block;flex:none;width:24px;height:24px;filter:brightness(0) invert(1)}.contact-form-archive{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.instagram-section{position:relative;overflow:hidden;padding:150px 100px 130px;background:var(--white)}.instagram-inner{position:relative;z-index:2}.instagram-profile{display:inline-flex;align-items:center;margin-top:28px;color:var(--ink);transition:opacity .18s ease,transform .18s ease}.instagram-profile:hover{opacity:.78;transform:translateY(-2px)}.instagram-profile-id{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:.02em;line-height:1}@keyframes instagram-marquee{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.instagram-marquee{width:calc(100% + 200px);margin-top:45px;margin-left:-100px;overflow:hidden}.instagram-grid{display:flex;width:max-content;animation:instagram-marquee 42s linear infinite;will-change:transform}.instagram-marquee:hover .instagram-grid,.instagram-marquee:focus-within .instagram-grid{animation-play-state:paused}.instagram-marquee-group{display:flex;flex:none;gap:20px;padding-right:20px}.instagram-card{position:relative;display:block;flex:0 0 clamp(220px,21vw,300px);width:clamp(220px,21vw,300px);aspect-ratio:1;overflow:hidden;border-radius:8px;background:var(--line)}.instagram-card:after{position:absolute;z-index:0;inset:0;background:#0000;content:"";transition:background .22s ease}.instagram-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .36s ease}.instagram-card:hover img{transform:scale(1.04)}.instagram-card:hover:after{background:#00000024}.instagram-actions{display:flex;justify-content:center;gap:18px;margin-top:45px}.instagram-load-button,.instagram-follow-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border-radius:4px;font-size:15px;font-weight:700;transition:opacity .18s ease,transform .18s ease}.instagram-load-button{color:var(--white);background:var(--ink)}.instagram-follow-button{gap:10px;color:var(--white);background:#3f8fd5}.instagram-load-button:hover,.instagram-follow-button:hover{opacity:.86;transform:translateY(-2px)}.site-footer{position:relative;color:var(--ink);background:var(--white)}.footer-office{background:#f1f1f1}.footer-office-summary{display:flex;align-items:center;flex-direction:column;padding:48px 100px 38px}.footer-office-logo{display:block;width:min(460px,80vw);padding-block:4px;line-height:0}.footer-office-logo img{display:block;width:100%;height:auto;object-fit:contain}.footer-office-address{margin:18px 0 0;color:var(--ink);font-size:22px;font-weight:500;line-height:1.5;text-align:center}.footer-office-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:22px}.footer-office-phone,.footer-office-fax{display:inline-flex;align-items:center;gap:10px;color:var(--ink)}.footer-office-phone>span,.footer-office-fax>span{display:inline-flex;min-width:48px;height:48px;align-items:center;justify-content:center;border-radius:50%;color:var(--white);background:var(--ink);font-family:Arial,sans-serif;font-size:24px;line-height:1}.footer-office-fax>span{font-size:12px;font-weight:700}.footer-office-phone strong,.footer-office-fax strong{font-family:var(--font-display);font-size:clamp(20px,2.3vw,34px);font-weight:700;letter-spacing:.02em;line-height:1}.footer-office-contact,.footer-office-map-link{display:inline-flex;min-height:56px;align-items:center;justify-content:center;padding:0 26px;font-size:17px;font-weight:600;line-height:1;transition:background .18s ease,color .18s ease,transform .18s ease}.footer-office-contact{gap:12px;color:var(--white);background:#5a5a5a}.footer-office-contact .contact-mail-icon{width:18px;height:18px}.footer-office-map-link{border:2px solid var(--ink);color:var(--ink);background:transparent}.footer-office-contact:hover,.footer-office-map-link:hover{transform:translateY(-2px)}.footer-office-contact:hover{background:var(--ink)}.footer-office-map-link:hover{color:var(--white);background:var(--ink)}.footer-map{width:100%;height:460px;background:#dedede}.footer-map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(.25) contrast(.92)}.footer-bottom{position:relative;display:flex;min-height:90px;align-items:center;justify-content:center;padding:30px 90px 30px 30px;color:var(--white);background:var(--footer)}.footer-links{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:500;line-height:1.8}.footer-links a:hover{opacity:.6}.back-to-top{position:absolute;top:50%;right:25px;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;color:var(--ink);background:var(--white);box-shadow:0 10px 10px #0003;font-family:Arial,sans-serif;font-size:24px;line-height:1;transform:translateY(-50%);transition:color .18s ease,transform .18s ease}.back-to-top:hover{color:var(--ink);transform:translateY(calc(-50% - 2px))}.mobile-menu{position:fixed;z-index:200;inset:0;visibility:hidden;pointer-events:none}.mobile-menu.is-open{visibility:visible;pointer-events:auto}.mobile-menu-backdrop{position:absolute;z-index:-1;inset:0;width:100%;height:100%;padding:0;background:#0009;opacity:0;transition:opacity .3s ease}.mobile-menu-panel{position:absolute;z-index:0;top:0;right:0;display:flex;flex-direction:column;align-items:center;width:300px;max-width:calc(100% - 60px);height:100%;padding:87px 30px 30px;color:var(--ink);background:var(--white);transform:translate(100%);transition:transform .4s cubic-bezier(.4,.4,0,1)}.mobile-menu.is-open .mobile-menu-panel{transform:translate(0)}.mobile-menu.is-open .mobile-menu-backdrop{opacity:1}.mobile-menu-panel a{display:block;margin-bottom:36px;font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:.02em;line-height:1;transition:opacity .18s ease}.mobile-menu-panel a:hover{opacity:.6}.mobile-menu-panel>a,.mobile-socials a{color:var(--ink)}.mobile-menu-panel .mobile-menu-top{font-size:18px}.mobile-menu-rule{width:50px;height:1px;margin:22px 0 45px;background:var(--line)}.mobile-follow-label{margin-bottom:26px;color:var(--ink);font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.1em}.mobile-socials{display:flex;gap:16px;color:var(--ink)}.mobile-menu-close{position:absolute;z-index:2;top:20px;right:20px;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border:2px solid var(--ink);border-radius:50%;color:var(--ink);background:var(--white);opacity:0;transform:rotate(-90deg);transition:opacity .3s ease .12s,transform .4s ease .12s}.mobile-menu.is-open .mobile-menu-close{opacity:1;transform:rotate(0)}.mobile-menu-close span{position:absolute;width:20px;height:2px;background:currentColor}.mobile-menu-close span:first-child{transform:rotate(45deg)}.mobile-menu-close span:last-child{transform:rotate(-45deg)}.news-modal{position:fixed;z-index:300;inset:0;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}.news-modal.is-open{visibility:visible;opacity:1;pointer-events:auto}.news-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;background:#0009}.news-modal-card{position:absolute;top:50%;left:50%;width:600px;max-width:calc(100vw - 60px);height:600px;max-height:calc(100vh - 40px);overflow:visible;border-radius:12px;color:var(--white);background:var(--footer);transform:translate(-50%,-50%) scale(.96);transition:transform .3s cubic-bezier(.4,.4,0,1)}.news-modal.is-open .news-modal-card{transform:translate(-50%,-50%) scale(1)}.news-modal-content{height:100%;overflow-y:auto;padding:55px 50px 60px;scrollbar-color:rgba(255,255,255,.35) transparent;scrollbar-width:thin}.news-modal-content h2{margin:0 0 12px;font-size:24px;font-weight:900;line-height:1.4}.news-modal-content>time{display:block;margin-bottom:55px;color:#aaa;font-family:var(--font-display);font-size:12px;letter-spacing:.1em}.news-richtext h3{margin:0 0 20px;font-size:21px;font-weight:900;line-height:1.4}.news-richtext p{margin:0 0 25px;font-size:14px;font-weight:500;line-height:1.8}.news-richtext figure{margin:20px 0 55px}.news-richtext figure img{display:block;width:100%;height:auto}.news-richtext ul{margin:0;padding-left:20px;font-size:14px;line-height:1.8}.news-modal-close{position:absolute;z-index:2;top:-15px;right:-15px;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;color:var(--ink);background:var(--white);box-shadow:0 10px 10px #0003;transition:background .18s ease,transform .18s ease}.news-modal-close:hover{background:var(--white);transform:translateY(-2px)}.news-modal-close span{position:absolute;width:20px;height:2px;background:currentColor}.news-modal-close span:first-child{transform:rotate(45deg)}.news-modal-close span:last-child{transform:rotate(-45deg)}@media screen and (max-width:1000px){.desktop-nav a[href="#instagram"]{display:none}.hero{padding-left:50px}.follow-rail{width:auto}.follow-socials{gap:16px;padding:22px 18px}.service-image{height:160px}.service-banner{width:calc(100% - 50px);height:500px;padding:60px 50px}.instagram-section{padding:110px 50px 100px}.instagram-marquee{width:calc(100% + 100px);margin-left:-50px}.instagram-marquee-group{gap:16px;padding-right:16px}.instagram-card{flex-basis:clamp(210px,28vw,280px);width:clamp(210px,28vw,280px)}}@media screen and (max-width:780px){.site-header{padding:10px 20px}.desktop-nav,.header-contact{display:none}.menu-toggle{display:flex}.hero{min-height:700px;padding-top:60px}.ribbon-stream{opacity:.62}.ribbon-stream .ribbon{opacity:.78}.ribbon-stream-top-green{top:-330px;right:-700px;width:1120px}.ribbon-stream-top-blue{top:-250px;right:-610px;width:1100px}.ribbon-stream-top-red{top:330px;right:-820px;width:1260px}.ribbon-stream-middle-green{top:910px;right:-700px;width:1120px}.ribbon-stream-middle-blue{top:1030px;right:-620px;width:1140px}.ribbon-stream-middle-red{top:1310px;left:-760px;width:1160px}.ribbon-stream-lower-green{top:3600px;right:-700px;width:1120px}.ribbon-stream-lower-blue{top:3720px;right:-620px;width:1140px}.ribbon-stream-lower-red{top:4020px;left:-760px;width:1160px}.hero-copy{padding:0 50px}.hero-copy h1{max-width:780px;font-size:56px}.hero-copy p{max-width:600px;font-size:15px}.about-section{padding:70px 50px 100px}.about-inner{flex-direction:column;align-items:stretch}.about-media,.about-copy{width:100%;max-width:100%}.about-media{height:400px}.about-section{height:915px}.about-copy{margin-top:100px;padding:0}.about-copy .section-heading{padding:48px 40px 56px}.section-eyebrow{font-size:42px;margin-bottom:14px}.section-heading h2{margin-bottom:30px;font-size:18px}.service-section{height:auto;min-height:1650px;padding:100px 50px}.ribbon-field-service,.ribbon-field-news{opacity:.52}.ribbon-field-service .ribbon-green,.ribbon-field-news .ribbon-green{top:-390px;right:-425px;width:850px}.ribbon-field-service .ribbon-blue,.ribbon-field-news .ribbon-blue{top:-300px;right:-360px;width:880px}.ribbon-field-service .ribbon-red,.ribbon-field-news .ribbon-red{bottom:-500px;left:-520px;width:980px}.service-cards{flex-direction:column;gap:20px}.service-card{width:100%;padding-bottom:30px}.service-image{height:150px}.service-banner{width:calc(100% - 50px);height:430px;padding:50px}.service-banner-eyebrow{font-size:40px}.service-banner-title-group h2{font-size:18px}.service-banner-copy>p:not(.service-banner-note){font-size:14px}.works-section{height:482px;min-height:0;padding:70px 50px 0;margin-top:100px}.works-color-band{height:330px}.ribbon-field-works{opacity:.2}.carousel-track{--card-width: calc(100vw - 100px) ;--works-marquee-duration: 42s}.works-marquee-set{gap:20px;padding-right:20px}.work-card,.work-image{width:var(--card-width)}.work-image{height:150px;margin-bottom:20px}.work-card h3{font-size:15px}.work-card p{font-size:13px}.news-section{height:424px;min-height:0;padding:100px 50px}.news-list{margin-top:45px}.news-item{display:grid;grid-template-columns:129px 1fr;gap:0;align-items:center;min-height:41px;margin-bottom:0}.news-item button{font-size:15px}.contact-section{height:auto;min-height:0;padding:100px 50px}.contact-inner{display:flex;flex-direction:column;gap:56px}.contact-copy{margin-top:0}.contact-form{width:100%;margin-top:0}.contact-card{min-height:0;padding:0}.contact-card+.contact-card{padding-top:56px;border-top:1px solid #d3d3d3;border-left:0}.contact-card-body{margin-top:32px}.contact-card-lead{font-size:17px}.contact-numbers{gap:20px}.instagram-section{padding:100px 50px 90px}.instagram-marquee{width:calc(100% + 100px);margin-left:-50px}.instagram-marquee-group{gap:14px;padding-right:14px}.instagram-card{flex-basis:250px;width:250px}.footer-office-summary{padding:46px 50px 34px}.footer-office-address{font-size:17px}.footer-office-actions{gap:14px}.footer-map{height:360px}}@media screen and (max-width:600px){.hero{padding-left:30px}.ribbon-stream-lower-green{top:4000px}.ribbon-stream-lower-blue{top:4120px}.ribbon-stream-lower-red{top:4420px}.hero-copy{padding:0 30px}.hero-copy h1{font-size:48px}.hero-copy p{font-size:14px}.follow-rail{display:none}.about-section{height:942px;padding:70px 30px 100px}.about-copy .section-heading{padding:40px 28px 48px}.service-section{min-height:1850px;padding:100px 30px}.brand,.brand img{width:240px}.service-banner{width:calc(100% - 30px);height:430px;padding:30px}.service-banner-eyebrow{font-size:34px}.service-banner-title-group h2{margin-bottom:30px;font-size:18px}.service-banner-note{margin-bottom:20px;font-size:11px}.works-section{height:498.5px;padding-right:30px;padding-left:30px}.carousel-track{--card-width: calc(100vw - 60px) }.news-section{height:511px;min-height:0;padding:100px 30px}.news-item{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:0;margin-bottom:20px}.contact-section{height:auto;min-height:0;padding:100px 30px}.contact-details{margin-top:28px;font-size:13px}.contact-inner{gap:42px}.contact-card+.contact-card{padding-top:42px}.contact-card-body{margin-top:28px}.contact-card-lead{font-size:15px}.recruit-actions{grid-template-columns:1fr;gap:12px;padding-top:32px}.recruit-action-wide{grid-column:auto}.contact-numbers{align-items:flex-start;flex-direction:column;gap:16px;margin-top:28px}.contact-numbers strong{font-size:21px}.instagram-section{padding:80px 30px 70px}.instagram-profile-id{font-size:22px}.instagram-marquee{width:calc(100% + 60px);margin-top:30px;margin-left:-30px}.instagram-marquee-group{gap:12px;padding-right:12px}.instagram-card{flex-basis:min(72vw,260px);width:min(72vw,260px)}.instagram-actions{flex-direction:column;gap:10px}.instagram-load-button,.instagram-follow-button{width:100%}.footer-office-summary{padding:38px 30px 28px}.footer-office-logo{width:min(360px,100%)}.footer-office-address{font-size:14px}.footer-office-actions{display:grid;width:100%;grid-template-columns:1fr;gap:12px}.footer-office-phone,.footer-office-fax{justify-content:center}.footer-office-contact,.footer-office-map-link{width:100%}.footer-map{height:300px}.footer-bottom{min-height:110px;padding:28px 80px 28px 25px}.footer-links{flex-wrap:wrap;justify-content:center;text-align:center}.section-description{font-size:15px}.news-modal-card{width:calc(100vw - 40px);height:calc(100vh - 40px)}.news-modal-content{padding:45px 25px 40px}.news-modal-content h2{font-size:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ribbon-field .ribbon{animation:none!important}.instagram-grid{animation:none!important;transform:none!important}.color-shift-text .hero-char,.color-shift-text.is-visible .hero-char{animation:none!important;color:var(--shift-final-color, var(--white));opacity:1}}
