@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--yellow:#ffdf00;--ink:#22231f;--line:#d6d7d0;--muted:#65675e;--soft:#f7f7f3;--paper:#fff;--font:'Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;font:16px/1.9 var(--font);color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #266bda;outline-offset:6px}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(28px,3.1vw,46px);font-weight:900;line-height:1.65;letter-spacing:.015em;margin-bottom:25px}h3{font-size:24px;line-height:1.6;font-weight:800}em{font-style:normal;background:linear-gradient(transparent 65%,var(--yellow) 65%)}.skip{position:fixed;left:15px;top:-100px;z-index:50;background:white;padding:12px}.skip:focus{top:10px}.header{height:112px;padding:16px 4%;display:flex;justify-content:space-between;align-items:center;gap:30px;background:white;position:relative;z-index:10}.brand{display:block;flex-shrink:0}.brand-logo{display:block;width:225px;height:auto}.header nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700}.header nav a{white-space:nowrap;position:relative}.header nav a:not(.nav-contact):after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:4px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a:hover:after,.header nav a[aria-current=page]:after{transform:scaleX(1)}.nav-contact{background:var(--yellow);border:1px solid var(--ink);border-radius:30px;padding:12px 23px;display:inline-flex;align-items:center;gap:20px}.nav-contact span{font-size:22px}.menu-button{display:none}.hero{position:relative;max-width:1600px;min-height:680px;margin:auto;padding:70px 5% 80px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:0;overflow:hidden;background-image:radial-gradient(#dadbd3 1px,transparent 1px);background-size:19px 19px}.hero-copy{position:relative;z-index:2}.eyebrow{font:700 13px/1.5 Arial,sans-serif;letter-spacing:.16em;margin-bottom:25px}.hero h1{font-size:clamp(38px,4.55vw,70px);line-height:1.7;letter-spacing:.035em;font-weight:900;margin:0 0 22px;transform:rotate(-3deg);transform-origin:left center}.hero h1 span{display:inline;padding:1px 13px 8px;background:white;box-decoration-break:clone;-webkit-box-decoration-break:clone;border:1.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}.hero h1 span.yellow-word{background:var(--yellow)}.hero-description{font-size:16px;font-weight:600;line-height:2;margin:28px 0 24px}.round-link{display:inline-flex;gap:40px;align-items:center;justify-content:space-between;background:white;border:1px solid var(--ink);border-radius:50px;padding:14px 17px 14px 28px;min-width:225px;font-size:15px;font-weight:700;transition:background .2s,transform .2s}.round-link>span{display:grid;place-items:center;background:var(--yellow);width:34px;height:34px;border-radius:50%;font-size:23px;line-height:1}.round-link:hover{background:var(--yellow);transform:translateY(-3px)}.hero-art{position:relative;align-self:center;transform:rotate(2deg);margin-left:-35px;padding:38px 0 20px}.hero-art:before{content:'';position:absolute;inset:7% 0 0 1%;background:var(--yellow);border-radius:49% 51% 45% 55%;transform:rotate(-13deg)}.hero-art img{position:relative;display:block;mix-blend-mode:multiply;width:100%;animation:art-arrive 1.2s ease-out both}.art-caption{display:inline-block;position:absolute;right:8%;top:0;z-index:2;background:white;border:1px solid var(--ink);padding:9px 19px;transform:rotate(7deg);font-weight:800;font-size:18px}.art-index{position:relative;display:block;text-align:right;padding-right:7%;font:700 11px Arial;letter-spacing:.11em}.hero-scroll{position:absolute;bottom:25px;left:5%;display:flex;gap:20px;align-items:center;font:700 11px Arial;letter-spacing:.12em}.hero-scroll span{font-size:25px}.ticker{position:relative;overflow:hidden;white-space:nowrap;border-block:1px solid var(--ink);background:var(--yellow);padding:17px 0;transform:rotate(-1.5deg);width:100%;margin:0 0 15px}.ticker-track{display:flex;width:max-content;animation:ticker-scroll 32s linear infinite}.ticker-group{display:flex;align-items:center;gap:32px;padding-right:32px;flex-shrink:0;font:900 34px/1.3 Arial,sans-serif;letter-spacing:-.025em}@keyframes ticker-scroll{to{transform:translateX(-25%)}}@keyframes art-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.section{max-width:1200px;margin:auto;padding:100px 45px}.section-label>span,.small-label{display:block;font:700 12px/1.5 Arial,sans-serif;letter-spacing:.15em;margin-bottom:24px}.section-label>span:before{content:'';display:inline-block;width:20px;height:7px;background:var(--yellow);margin-right:12px;transform:rotate(-12deg)}.home-intro,.detail-intro{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.home-intro{padding-top:120px;padding-bottom:110px}.home-intro h2{font-size:37px}.lead{font-size:20px;font-weight:700;line-height:2}.intro-copy p:last-child{margin-bottom:0}.feature-section{max-width:1300px;margin:0 auto 100px;padding:40px 60px;display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;position:relative}.feature-art{position:relative;overflow:hidden}.feature-art img{display:block;width:100%;mix-blend-mode:multiply}.service-feature{background:var(--soft);border-radius:5px 100px 5px 100px}.service-feature .feature-art{transform:rotate(-3deg)}.company-feature{grid-template-columns:1fr 1.1fr}.company-feature .feature-art{background:var(--yellow);border-radius:48% 52% 38% 60%}.feature-number{font:900 32px/1.2 Arial,sans-serif;letter-spacing:-.02em;margin-bottom:28px}.feature-number span{font:700 12px Arial,sans-serif;letter-spacing:.13em;margin-left:14px;vertical-align:middle}.feature-copy h2{font-size:39px;line-height:1.8;transform:rotate(-2deg);margin-bottom:25px}.feature-copy h2 span{background:white;border-bottom:2px solid var(--ink);padding:2px 8px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.feature-copy p:not(.feature-number){line-height:2.2;font-size:16px;margin-bottom:25px}.field-story{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-top:0;padding-bottom:110px}.field-copy h2{font-size:60px;line-height:1.55;margin:32px 0}.field-copy>p:not(.feature-number){line-height:2.2}.field-copy>.small-label{margin-top:40px;color:var(--muted)}.film-frame{position:relative;background:var(--ink);max-width:350px;margin:auto;border:1px solid var(--ink);border-radius:160px 160px 12px 12px;overflow:hidden;box-shadow:16px 16px 0 var(--yellow);width:100%;aspect-ratio:9/16}.hero-video{display:block;width:100%;height:100%;object-fit:contain}.film-label{position:absolute;left:12px;top:42%;background:white;padding:9px 10px;border:1px solid var(--ink);writing-mode:vertical-rl;letter-spacing:.1em;font-size:16px;font-weight:800}.home-works{border-top:1px solid var(--ink);display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.home-works h2{font-size:38px}.home-works p:not(.feature-number){color:var(--muted)}.works-announcement{background:var(--yellow);border:1px solid var(--ink);padding:35px;text-align:center;transform:rotate(3deg);box-shadow:8px 8px 0 white,9px 9px 0 var(--ink)}.works-announcement>span{font:900 58px/1 Arial;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px var(--ink)}.works-announcement strong{display:block;font-size:30px;line-height:1.6;margin:25px 0}.works-announcement p{font:700 12px Arial;letter-spacing:.14em;margin:0;color:var(--ink)!important}
.breadcrumb{max-width:1300px;padding:20px 45px;margin:auto;display:flex;gap:15px;font-size:13px;color:var(--muted)}.breadcrumb a:hover{text-decoration:underline}.page-heading{max-width:1300px;min-height:245px;margin:0 auto;position:relative;background:var(--yellow);border:1px solid var(--ink);border-radius:4px 70px 4px 4px;padding:48px 60px;overflow:hidden}.page-heading>div{position:relative;z-index:1}.page-heading p{font:700 13px Arial;letter-spacing:.15em;margin:0 0 18px}.page-heading h1{font-size:48px;font-weight:900;line-height:1.55;margin:0;transform:rotate(-2deg);display:inline-block;background:white;padding:0 15px;border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}.page-number{position:absolute;right:-10px;bottom:-20px;font:900 clamp(80px,11vw,160px)/1 Arial,sans-serif;color:transparent;-webkit-text-stroke:1px #22231f30;letter-spacing:-.06em;pointer-events:none}.wide-illustration{max-width:740px;margin:-45px auto 60px;padding:0 30px}.wide-illustration img{width:100%;display:block}.services{background:var(--soft);padding-bottom:70px}.service-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;padding-top:65px;padding-bottom:40px}.service-heading>p{margin:0 0 12px;font-size:15px}.service-grid{max-width:1110px;display:grid;grid-template-columns:repeat(3,1fr);margin:auto;gap:25px}.service-card{background:white;border:1px solid var(--ink);border-radius:8px;padding:30px 26px;box-shadow:5px 5px 0 var(--yellow)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.card-top>span:first-child{font:700 43px Arial}.service-symbol{background:var(--yellow);border:1px solid var(--ink);width:55px;height:55px;border-radius:50%;display:grid;place-items:center;font-size:33px;line-height:1}.card-en{font:700 12px Arial;letter-spacing:.1em;margin-bottom:10px}.service-card h3{margin:0 0 16px}.service-card>p:last-child{font-size:16px;line-height:2;color:var(--muted);margin:0}.service-note{max-width:1110px;margin:30px auto 0;font-size:13px;color:var(--muted)}.consideration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}.consideration-grid article{border-top:3px solid var(--yellow);padding-top:25px}.consideration-grid article>span{font-size:14px;font-weight:700}.consideration-grid h3{font-size:22px;margin:18px 0}.consideration-grid p{color:var(--muted)}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;padding-bottom:30px}.about-body p{line-height:2.2;margin-bottom:28px}.signature{font-size:19px;font-weight:700;margin-top:30px}.company-illustration{display:block;width:100%;margin-top:20px}.values{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px}.value-list article{display:flex;gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}.value-list article:first-child{padding-top:0}.value-list article>span{font:700 14px/38px Arial;text-align:center;min-width:38px;height:38px;border:1px solid var(--ink);background:var(--yellow);border-radius:50%}.value-list h3{font-size:22px;margin:0 0 10px}.value-list p{color:var(--muted);margin:0}.company{border-top:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.1fr;gap:65px}.company-aside{font-size:15px;color:var(--muted)}dl{margin:0}dl>div{display:grid;grid-template-columns:135px 1fr;padding:23px 0;border-bottom:1px solid var(--line);font-size:16px}dt{font-weight:700}dd{margin:0}.pending{color:var(--muted)}.works-intro>p{max-width:650px;margin:20px 0 45px}.works-empty{background:var(--soft);border:1px solid var(--ink);border-radius:10px;padding:65px 35px;text-align:center;box-shadow:9px 9px 0 var(--yellow)}.works-empty .small-label{display:inline-block;background:var(--yellow);padding:8px 15px;transform:rotate(-3deg);margin-bottom:25px}.works-empty h3{font-size:25px}.works-empty p{color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:30px;font-weight:700;border-bottom:2px solid var(--ink);padding:12px 0;margin-top:10px}.text-link:hover{border-color:var(--yellow)}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.work-card{border:1px solid var(--ink);border-radius:10px;overflow:hidden}.work-card>img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.work-card>div{padding:28px}.work-card h3{font-size:23px}.work-card dl>div{font-size:14px;grid-template-columns:100px 1fr}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:65px}.contact-notice{border:1px solid var(--ink);background:var(--soft);border-radius:10px;padding:35px;align-self:start;box-shadow:7px 7px 0 var(--yellow)}.contact-notice h2{font-size:28px}.contact-notice dl>div{display:block;font-size:15px}.contact-notice dd{margin-top:5px}.inquiry-guide h2{font-size:32px}.inquiry-guide ol{padding:0;list-style:none;counter-reset:inquiry}.inquiry-guide li{counter-increment:inquiry;position:relative;padding:20px 0 20px 47px;border-bottom:1px solid var(--line)}.inquiry-guide li:before{content:'0' counter(inquiry);position:absolute;left:0;top:23px;font:700 13px/29px Arial;width:29px;text-align:center;background:var(--yellow);border:1px solid var(--ink);border-radius:50%}.inquiry-guide strong,.inquiry-guide li span{display:block}.inquiry-guide li span{font-size:14px;color:var(--muted);margin-top:5px}.guide-note{font-size:14px;color:var(--muted)}
.site-contact{background:var(--yellow);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:55px max(45px,calc((100vw - 1110px)/2));display:flex;justify-content:space-between;align-items:center;gap:35px}.site-contact .small-label{margin-bottom:18px}.site-contact h2{font-size:31px;margin:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-radius:40px;border:1px solid var(--ink);padding:18px 26px;min-width:260px;font-size:15px;font-weight:700;background:white}.button span{font-size:24px;line-height:1}.button:hover{background:var(--ink);color:white}.corporate-footer{padding:45px max(45px,calc((100vw - 1110px)/2)) 24px;background:white}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px}.footer-nav{display:flex;gap:23px;flex-wrap:wrap;font-size:14px;font-weight:700}.footer-nav .nav-contact{background:none;padding:0;border:0;border-radius:0;display:block}.footer-nav .nav-contact span{display:none}.footer-nav a:hover{text-decoration:underline;text-underline-offset:5px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:35px;padding-top:20px;gap:20px}.footer-bottom small{font:11px Arial;letter-spacing:.07em;color:var(--muted)}.to-top{width:43px;height:43px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font-size:23px;flex-shrink:0}.to-top:hover{background:var(--yellow)}
@media(min-width:1600px){.hero{padding-left:85px;padding-right:85px}.hero-art{margin-left:0}}
@media(max-width:1200px){.header{padding-inline:30px}.header nav{gap:20px}.brand-logo{width:210px}.hero{padding-top:55px;padding-bottom:75px;min-height:590px}.hero h1{font-size:4.4vw}.hero-art{margin-left:-20px}.hero-description{font-size:15px}.feature-section{margin-inline:35px;padding:40px;gap:40px}.feature-copy h2{font-size:32px}.service-grid{margin-inline:45px}.service-note{margin-inline:45px}.page-heading{margin-inline:30px}.field-story{gap:65px}.home-intro h2{font-size:32px}.home-intro,.detail-intro{gap:40px}.footer-nav{gap:18px}.corporate-footer .brand-logo{width:190px}}
@media(max-width:1000px){.header{height:98px}.header nav{font-size:13px;gap:16px}.nav-contact{padding:10px 18px;gap:10px}.brand-logo{width:190px}.hero{min-height:560px}.hero-art{margin-left:0}.hero h1{font-size:4.5vw}.art-caption{font-size:15px;right:5%}.section{padding:75px 35px}.home-intro{padding-top:90px}.home-intro h2{font-size:29px}.home-intro .lead,.detail-intro .lead{font-size:18px}.feature-section{padding:35px;gap:35px;margin-bottom:75px}.feature-copy h2{font-size:29px}.field-copy h2{font-size:48px}.film-frame{max-width:300px}.home-works{gap:45px}.home-works h2{font-size:31px}.works-announcement{padding:28px}.works-announcement>span{font-size:47px}.page-heading{padding:40px;min-height:210px}.page-heading h1{font-size:41px}.services{padding-bottom:50px}.service-grid{margin-inline:35px;gap:18px}.service-card{padding:25px 20px}.service-card h3{font-size:21px}.service-note{margin-inline:35px}.consideration-grid{gap:25px}.consideration-grid h3{font-size:20px}.about,.values,.company{gap:40px}.value-list h3{font-size:20px}.contact-page{gap:35px}.contact-notice{padding:28px}.contact-notice h2{font-size:24px}.site-contact{padding:45px 35px}.site-contact h2{font-size:28px}.corporate-footer{padding:35px}.footer-nav{gap:18px;justify-content:flex-end;max-width:380px}}
@media(max-width:900px){.header{height:90px;padding:12px 25px}.menu-button{display:flex;align-items:center;gap:10px;background:var(--yellow);border:1px solid var(--ink);border-radius:30px;padding:10px 17px;min-height:44px;font-size:12px;font-weight:700}.menu-button span{font-size:22px;line-height:1}.header nav{display:none;position:absolute;top:90px;left:20px;right:20px;padding:20px;background:white;border:1px solid var(--ink);border-radius:12px;box-shadow:6px 6px 0 var(--yellow)}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:5px}.header nav a{padding:12px 15px;font-size:15px}.header nav .nav-contact{margin-top:7px}.hero{grid-template-columns:1fr 1fr;padding:40px 30px 65px;min-height:540px}.hero h1{font-size:4.7vw}.hero h1 span{padding-inline:7px}.hero-description{font-size:14px}.hero-art{margin-left:-15px}.art-caption{font-size:13px;right:0;padding:8px 12px}.round-link{min-width:195px;gap:20px;padding:11px 13px 11px 22px;font-size:14px}.hero-scroll{left:30px}.feature-copy h2{font-size:26px}.feature-copy p:not(.feature-number){font-size:15px}.feature-number{font-size:27px}.feature-number span{font-size:11px}.company-feature{gap:30px}.field-story{gap:45px}.field-copy h2{font-size:43px}.home-intro{gap:30px}.home-intro h2{font-size:27px}.service-grid{gap:14px}.service-card>p:last-child{font-size:15px}.card-top>span:first-child{font-size:32px}.service-symbol{width:42px;height:42px;font-size:26px}.works-announcement strong{font-size:26px}.footer-top{align-items:flex-start}.footer-nav{display:grid;grid-template-columns:1fr 1fr;max-width:330px;gap:18px 25px}.contact-notice{padding:24px}.contact-notice h2{font-size:22px}.contact-notice .small-label{font-size:11px}}
@media(max-width:680px){h2{font-size:29px}.header{height:84px;padding:10px 20px}.brand-logo{width:175px}.menu-button{font-size:0;gap:0;width:44px;height:44px;padding:0;justify-content:center}.header nav{top:84px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:34px 25px 60px;gap:20px;background-size:17px 17px}.hero-copy{z-index:2}.eyebrow{font-size:11px;margin-bottom:20px}.hero h1{font-size:clamp(31px,8.8vw,53px);line-height:1.75;margin-bottom:20px;letter-spacing:.02em}.hero h1 span{padding:0 9px 4px;box-shadow:3px 3px 0 var(--ink)}.hero-description{font-size:14px;line-height:1.95;margin:22px 0 18px}.hero-art{width:100%;max-width:440px;margin:-6px auto 0;padding-top:25px}.hero-art img{width:100%}.art-caption{font-size:13px;top:-3px;right:10px}.art-index{font-size:9px}.hero-scroll{bottom:15px;left:25px;font-size:9px}.ticker{padding:13px 0;margin-bottom:0}.ticker-group{font-size:26px;gap:23px;padding-right:23px}.section{padding:65px 25px}.section-label>span,.small-label{font-size:11px;margin-bottom:22px}.home-intro,.detail-intro,.about,.values,.company,.contact-page{display:block}.home-intro{padding-top:75px}.home-intro h2{font-size:29px}.intro-copy,.detail-intro>div+div{margin-top:32px}.home-intro .lead,.detail-intro .lead{font-size:17px}.intro-copy p{font-size:15px;line-height:2.1}.intro-copy br{display:none}.feature-section,.company-feature{display:flex;flex-direction:column;margin:0 20px 65px;padding:30px 24px 38px;gap:20px;border-radius:5px 65px 5px 65px}.feature-art{width:100%;max-width:450px}.feature-copy{width:100%}.feature-copy h2{font-size:29px;margin-bottom:20px}.feature-copy p:not(.feature-number){font-size:15px;line-height:2}.feature-number{font-size:26px;margin-bottom:23px}.company-feature{background:white;padding:5px 10px;flex-direction:column-reverse}.company-feature .feature-art{margin-bottom:15px}.field-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px;padding:0 25px 65px;align-items:center}.field-copy .feature-number{font-size:18px}.field-copy .feature-number span{display:block;margin:12px 0 0;font-size:10px}.field-copy h2{font-size:31px;margin:23px 0;white-space:nowrap}.field-copy>p:not(.feature-number){font-size:13px;line-height:2}.field-copy>p:not(.feature-number) br{display:none}.field-copy>.small-label{font-size:9px;margin-top:20px}.film-frame{box-shadow:8px 8px 0 var(--yellow);border-radius:95px 95px 8px 8px}.film-label{display:none}.home-works{display:block;padding-top:45px}.home-works h2{font-size:29px}.home-works p:not(.feature-number){font-size:15px}.works-announcement{margin:45px 10px 10px;padding:28px}.works-announcement>span{font-size:48px}.works-announcement strong{font-size:27px;margin:20px 0}.breadcrumb{padding:17px 25px;font-size:12px}.page-heading{margin:0 15px;padding:30px 25px 45px;min-height:180px;border-radius:4px 45px 4px 4px}.page-heading p{font-size:11px;margin-bottom:16px}.page-heading h1{font-size:29px;padding:2px 10px;box-shadow:3px 3px 0 var(--ink)}.page-number{font-size:73px;bottom:-8px;right:-5px}.wide-illustration{margin:-35px auto 30px;padding:0 25px}.service-heading{display:block;padding:45px 25px 25px}.service-heading>p{font-size:14px;margin-top:20px}.service-grid{grid-template-columns:1fr;margin-inline:25px;gap:24px}.service-card{padding:25px}.card-top{margin-bottom:20px}.card-top>span:first-child{font-size:32px}.service-card h3{font-size:25px}.service-card>p:last-child{font-size:16px}.service-note{margin:28px 25px 0;font-size:12px}.consideration-grid{display:block;margin-top:30px}.consideration-grid article+article{margin-top:30px}.consideration-grid h3{font-size:22px}.about-body{margin-top:30px}.about-body .lead{font-size:17px}.about-body p{font-size:15px;line-height:2.2}.company-illustration{margin-top:20px}.about{padding-bottom:10px}.value-list{margin-top:35px}.value-list h3{font-size:19px}.value-list p{font-size:15px}.value-list article{gap:15px}.company dl{margin-top:25px}dl>div{grid-template-columns:110px 1fr;font-size:15px}.works-intro>p{font-size:15px;margin:20px 0 30px}.works-empty{padding:35px 22px;box-shadow:6px 6px 0 var(--yellow)}.works-empty h3{font-size:21px}.works-empty p{font-size:15px}.works-empty .text-link{font-size:14px;gap:15px}.works-grid{grid-template-columns:1fr}.contact-notice{padding:30px 22px}.contact-notice h2{font-size:23px}.contact-notice p{font-size:15px}.inquiry-guide{margin-top:50px}.inquiry-guide h2{font-size:29px}.inquiry-guide p{font-size:15px}.site-contact{display:block;padding:38px 25px}.site-contact h2{font-size:26px}.site-contact .button{width:100%;min-width:0;margin-top:28px;padding:17px 24px}.corporate-footer{padding:35px 25px 20px}.footer-top{display:block}.corporate-footer .brand-logo{width:200px}.footer-nav{margin-top:30px;font-size:14px;gap:18px;max-width:none}.footer-bottom{margin-top:30px}.footer-bottom small{font-size:9px}.to-top{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.hero-art img{animation:none}.ticker-track{animation-play-state:paused}}
/* Keep the illustrated scenes crisp and frame the moving strip within the page. */
main{overflow:clip}
.hero-art{padding:36px 13px 20px}
.hero-art img{mix-blend-mode:normal;border:1px solid var(--ink);border-radius:5px;box-shadow:8px 8px 0 #ffffff,9px 9px 0 var(--ink)}
.hero-art:before{inset:0 -3% -3% -3%}
.art-index{margin-top:20px}
.company-feature .feature-art{background:white;border:1px solid var(--ink);border-radius:50% 45% 45% 48%;box-shadow:12px 10px 0 var(--yellow)}
@media(max-width:680px){.hero-art{padding:30px 10px 15px}.art-index{margin-top:15px}.company-feature .feature-art{box-shadow:8px 8px 0 var(--yellow)}}

/* Form controls and a centered, consistently dark mobile menu icon. */
.menu-button{color:var(--ink);-webkit-appearance:none;appearance:none}
.menu-button .menu-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:20px;height:20px;flex:0 0 20px;line-height:0}
.menu-icon i{display:block;width:20px;height:2px;background:currentColor;border-radius:1px}
.contact-page{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
.contact-form-panel{min-width:0}
.form-availability{font-size:14px;background:var(--soft);border-left:4px solid var(--yellow);padding:14px 17px}
.form-field{margin-top:25px}
.form-field label{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700;margin-bottom:10px}
.required-label,.optional-label{font-size:11px;line-height:1.7;padding:2px 8px;border-radius:4px;background:var(--yellow)}
.optional-label{background:var(--soft);color:var(--muted)}
.form-field input,.form-field textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #8b8d82;border-radius:6px;padding:14px 15px;font:400 16px/1.7 var(--font);background:white;color:var(--ink);-webkit-appearance:none;appearance:none}
.form-field textarea{resize:vertical;min-height:180px}
.form-field input::placeholder,.form-field textarea::placeholder{color:#74766e}
.form-field input:focus-visible,.form-field textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;border-color:var(--ink)}
.form-confirm{margin-top:30px;background:var(--yellow);color:var(--ink)}
.inquiry-preview{margin-top:35px;padding:25px;background:var(--soft);border:1px solid var(--ink);border-radius:8px}
.inquiry-preview[hidden]{display:none}
.inquiry-preview dl>div{display:block}
.inquiry-preview dd{margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}
.inquiry-preview .text-link{background:none;border:0;border-bottom:2px solid var(--ink);color:var(--ink)}
@media(max-width:680px){.service-feature .feature-copy{order:0}.service-feature .feature-art{order:1}.company-feature{flex-direction:column}.company-feature .feature-copy{order:0}.company-feature .feature-art{order:1;margin-top:15px;margin-bottom:0}.form-confirm{width:100%;min-width:0}.inquiry-preview{padding:20px}.contact-form-panel h2{font-size:29px}}

/* Compact contact links and a single-column inquiry form. */
.site-contact .small-label{margin-bottom:0}
.contact-page{display:block;max-width:850px}
/* The hero builds like a scaffold: structure, scene, then settled type. */
.hero-build{isolation:isolate;min-height:700px;padding:65px 5% 90px;grid-template-columns:1fr 1.08fr;background-image:radial-gradient(#22231f1c .8px,transparent .8px);background-size:24px 24px}
.hero-blueprint{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.hero-blueprint:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,#22231f08 50%,transparent 50.1%),linear-gradient(0deg,transparent 49.9%,#22231f08 50%,transparent 50.1%);background-size:144px 144px}
.hero-blueprint>span{position:absolute;bottom:-.09em;left:-.025em;font:900 clamp(180px,25vw,395px)/.8 Arial,sans-serif;letter-spacing:-.075em;color:transparent;-webkit-text-stroke:1px #22231f10;white-space:nowrap}
.hero-build .hero-copy{z-index:3}
.hero-build .eyebrow{font-size:11px;letter-spacing:.22em;margin-bottom:22px}
.hero-build h1{font-size:clamp(38px,4.45vw,70px);line-height:1.4;letter-spacing:.015em;transform:rotate(-3deg);margin:0}
.hero-build h1 .headline-row{display:block;background:none;border:0;box-shadow:none;padding:0 0 12px;animation:none}
.hero-build h1 .headline-row>span{display:inline-block;padding:3px 14px 9px;white-space:nowrap;transform-origin:0 100%;border:1.5px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}
.hero-build h1 .yellow-word{position:relative;isolation:isolate;background:var(--yellow)}
.hero-build .hero-description{margin:25px 0 0;font-size:15px;line-height:2.1}
.hero-build .hero-art{width:100%;padding:55px 0 45px;margin:0 0 0 -10px;transform:rotate(0);perspective:1100px;z-index:1}
.hero-build .hero-art:before{inset:0 -15% 0 -2%;border-radius:50%;transform:rotate(-12deg) scale(1);background:var(--yellow);z-index:-1}
.hero-orbit{position:absolute;inset:-6% -9% -6% -9%;pointer-events:none;transform:rotate(-12deg);z-index:-1}
.orbit-turn{width:100%;height:100%;border:1px dashed #22231f5e;border-radius:50%;position:relative}
.orbit-turn:before{content:'';position:absolute;inset:13px;border:1px solid #22231f15;border-radius:50%}
.orbit-turn i{position:absolute;width:15px;height:15px;background:var(--ink);left:15%;top:11%;border:4px solid white;transform:rotate(45deg)}
.orbit-turn i+i{left:auto;top:auto;right:15%;bottom:11%;width:10px;height:10px;border:2px solid var(--ink);background:var(--yellow)}
.hero-scene{position:relative;transform:translate3d(0,0,0);transform-style:preserve-3d}
.scaffold-frame{position:absolute;width:127%;height:auto;left:-12%;top:-21%;overflow:visible;pointer-events:none;color:#22231f65}
.frame-energy{stroke-dasharray:.08 .92;stroke-dashoffset:0}
.hero-build .hero-art-float{position:relative;transform:rotate(2deg);margin:0 10px}
.hero-build .hero-art-reveal{position:relative;background:white;border:1px solid var(--ink);border-radius:2px;box-shadow:9px 9px 0 white,10px 10px 0 var(--ink);overflow:hidden}
.hero-build .hero-art img{border:0;border-radius:0;box-shadow:none;mix-blend-mode:normal;width:100%;animation:none;transform:scale(1.025)}
.hero-build .art-caption{top:-22px;right:3%;padding:10px 18px;font-size:16px;transform:rotate(7deg);box-shadow:3px 3px 0 var(--yellow)}
.hero-build .art-index{margin-top:20px;padding-right:0;font-size:10px;letter-spacing:.15em}
.build-tick{position:absolute;left:-6%;bottom:-5%;width:40px;height:9px;background:var(--ink);transform:rotate(-45deg);pointer-events:none}
.build-tick-b{left:auto;bottom:auto;right:-5%;top:-13%;width:65px;background:white;border:1px solid var(--ink)}
.hero-build .hero-scroll{bottom:30px;gap:25px}
@media(prefers-reduced-motion:no-preference){
 .hero-build .hero-art:before{animation:build-sun 1.7s cubic-bezier(.16,1,.3,1) .1s both}
 .hero-build .hero-orbit{animation:build-orbit-in 1.8s ease-out .2s both}
 .hero-build .orbit-turn{animation:build-orbit 48s linear infinite}
 .hero-build .hero-blueprint>span{animation:build-wordmark 1.6s cubic-bezier(.16,1,.3,1) both}
 .hero-build .eyebrow{animation:build-copy .7s ease-out .1s both}
 .hero-build h1 .headline-row>span{animation:build-title 1s cubic-bezier(.16,1,.3,1) .22s both}
 .hero-build h1 .headline-row:nth-child(2)>span{animation-delay:.4s}
 .hero-build h1 .headline-row:nth-child(3)>span{animation-delay:.58s}
 .hero-build .yellow-word:after{content:'';position:absolute;inset:0;background:white;z-index:-1;transform-origin:right;animation:build-highlight .8s cubic-bezier(.77,0,.18,1) .72s both}
 .hero-build .hero-description{animation:build-copy .85s ease-out .9s both}
 .frame-line{stroke-dasharray:1;stroke-dashoffset:0;animation:build-line 1.6s cubic-bezier(.4,0,.2,1) both}
 .frame-level{animation-delay:.15s}.frame-brace{animation-delay:.4s}
 .frame-joints{animation:build-copy .7s ease-out .8s both}
 .frame-energy{animation:build-current 7s linear 2s infinite}
 .hero-build .hero-art-reveal{animation:build-scene 1.4s cubic-bezier(.16,1,.3,1) .5s both}
 .hero-build .hero-art img{animation:build-image 1.8s cubic-bezier(.16,1,.3,1) .45s both}
 .hero-build .hero-art-float{animation:build-float 7s ease-in-out 2s infinite}
 .hero-build .art-caption{animation:build-caption 1s cubic-bezier(.16,1,.3,1) 1.15s both}
 .hero-build .art-index{animation:build-copy .7s ease-out 1.2s both}
 .build-tick{animation:build-tick .9s cubic-bezier(.16,1,.3,1) .7s both}
 .build-tick-b{animation-delay:1s}
 .hero-build .hero-scroll span{animation:build-scroll 2.8s ease-in-out infinite}
 .hero-build.motion-rest .orbit-turn,.hero-build.motion-rest .frame-energy,.hero-build.motion-rest .hero-art-float,.hero-build.motion-rest .hero-scroll span{animation-play-state:paused}
}
@keyframes build-title{from{opacity:0;transform:translate3d(-55px,50px,0) rotate(8deg);clip-path:inset(0 100% 0 0)}70%{opacity:1}to{opacity:1;transform:translate3d(0,0,0) rotate(0);clip-path:inset(-10% -10% -15% -10%)}}
@keyframes build-highlight{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes build-sun{from{opacity:0;transform:translate(24%,18%) rotate(-30deg) scale(.12)}to{opacity:1;transform:translate(0,0) rotate(-12deg) scale(1)}}
@keyframes build-orbit-in{from{opacity:0;transform:rotate(-65deg) scale(.65)}to{opacity:1;transform:rotate(-12deg) scale(1)}}
@keyframes build-orbit{to{transform:rotate(360deg)}}
@keyframes build-wordmark{from{opacity:0;transform:translateY(65%)}to{opacity:1;transform:translateY(0)}}
@keyframes build-line{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes build-current{from{stroke-dashoffset:1}to{stroke-dashoffset:-1}}
@keyframes build-scene{from{opacity:0;clip-path:inset(100% -3% -5% -3%);transform:translateY(50px) rotate(-5deg)}to{opacity:1;clip-path:inset(-5% -5% -5% -5%);transform:translateY(0) rotate(0)}}
@keyframes build-image{from{transform:scale(1.18) translateY(15px)}to{transform:scale(1.025) translateY(0)}}
@keyframes build-float{0%,100%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-9px) rotate(.5deg)}}
@keyframes build-caption{from{opacity:0;transform:translate(30px,-25px) rotate(18deg)}to{opacity:1;transform:translate(0,0) rotate(7deg)}}
@keyframes build-copy{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes build-tick{from{opacity:0;transform:translateY(30px) rotate(-90deg) scaleX(.1)}to{opacity:1;transform:translateY(0) rotate(-45deg) scaleX(1)}}
@keyframes build-scroll{0%,100%{transform:translateY(-3px)}50%{transform:translateY(5px)}}
@media(min-width:1600px){.hero-build{padding-inline:85px}}
@media(min-width:681px) and (max-width:1000px){.hero-build{min-height:570px;padding:60px 30px 85px;grid-template-columns:1fr 1fr}.hero-build h1{font-size:4.65vw}.hero-build h1 .headline-row>span{padding:3px 8px 7px;box-shadow:4px 4px 0 var(--ink)}.hero-build .hero-art{margin-left:0;padding:45px 0}.hero-build .art-caption{font-size:12px;padding:7px 10px}.hero-build .hero-description{font-size:13px}.hero-build .hero-orbit{inset:0 -8%}.hero-build .scaffold-frame{top:-16%}}
@media(max-width:680px){
 .hero-build{min-height:0;padding:26px 25px 52px;gap:20px;background-size:22px 22px}
 .hero-build .eyebrow{font-size:10px;margin-bottom:16px}
 .hero-build h1{font-size:clamp(28px,8.8vw,51px);line-height:1.35;letter-spacing:.005em}
 .hero-build h1 .headline-row{padding-bottom:9px}
 .hero-build h1 .headline-row>span{padding:3px 9px 6px;box-shadow:3px 3px 0 var(--ink)}
 .hero-build .hero-description{font-size:13px;line-height:1.9;margin:14px 0 0}
 .hero-build .hero-art{width:91%;max-width:420px;padding:33px 0 20px;margin:4px auto 0}
 .hero-build .hero-art:before{inset:0 -13% -1% -9%}
 .hero-build .hero-orbit{inset:-3% -14% -4% -14%}
 .hero-build .hero-art-float{margin:0}
 .hero-build .hero-art-reveal{box-shadow:5px 5px 0 white,6px 6px 0 var(--ink)}
 .hero-build .art-caption{font-size:12px;top:-21px;right:0;padding:7px 12px}
 .hero-build .art-index{margin-top:17px;font-size:8px}
 .hero-build .scaffold-frame{width:122%;left:-11%;top:-17%}
 .hero-build .hero-blueprint>span{font-size:44vw;bottom:7%}
 .hero-build .hero-scroll{bottom:12px;left:25px;font-size:8px}
 .build-tick{width:24px;height:6px;left:-7%;bottom:0}.build-tick-b{left:auto;right:-6%;top:-8%;width:34px}
 .orbit-turn i{width:10px;height:10px;border-width:2px}
}
@media(prefers-reduced-motion:reduce){.hero-build .hero-scene{transform:none!important}.hero-build .frame-energy{display:none}.hero-build .hero-art-float{transform:rotate(2deg)}}
