@charset "UTF-8";
:root{--ink:#152b36;--orange:#e95e16;--paper:#f8f8f4;--muted:#586770;--line:#d7dddb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.skip{position:fixed;top:-100px;background:white;padding:16px;z-index:20}.skip:focus{top:0}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 4.4%;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5}.brand{display:flex;gap:15px;align-items:center;font-size:19px;font-weight:700;letter-spacing:.05em}.brand img{width:48px;height:51px;object-fit:contain;mix-blend-mode:multiply}.brand small{display:block;font-size:9px;letter-spacing:.23em;margin-top:5px}nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:bold}nav a:hover{color:var(--orange)}.nav-contact{background:var(--ink);color:white;padding:17px 23px}.nav-contact span{margin-left:25px}.nav-contact:hover{background:var(--orange);color:white}.menu{display:none}.hero{min-height:690px;position:relative;display:grid;grid-template-columns:1fr 1fr;padding:60px 4.4% 70px;gap:2vw;overflow:hidden}.eyebrow{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.16em;font-weight:600;margin:0 0 32px;display:flex;align-items:center;gap:14px}.eyebrow>span:not(.number){width:7px;height:7px;background:var(--orange);display:inline-block}.number{color:var(--orange);font-size:11px;margin-left:12px}.hero h1{font-size:clamp(43px,4.7vw,76px);line-height:1.42;letter-spacing:-.055em;margin:35px 0 22px;font-weight:700}.outline{color:var(--orange)}.hero-desc{font-size:20px;font-weight:bold;line-height:1.8;letter-spacing:.06em}.hero-note{font-size:13px;line-height:2.1;color:var(--muted);margin:22px 0 30px}.text-link{display:inline-flex;align-items:center;gap:56px;font-size:13px;font-weight:bold;border-bottom:1px solid var(--ink);padding-bottom:14px}.text-link span{color:var(--orange);font-size:23px}.text-link:hover{color:var(--orange)}.hero-art{align-self:center;background:#e9eeec;position:relative;border:1px solid #d3dddc}.hero-art svg{display:block;width:100%;height:auto;max-height:550px}.art-heading,.art-bottom{display:flex;justify-content:space-between;font:9px Arial,sans-serif;letter-spacing:.1em;padding:18px 21px;color:#526b77}.art-heading{border-bottom:1px solid #d0d9d7}.art-bottom{border-top:1px solid #d0d9d7;align-items:center}.art-bottom>span:first-child{font:11px "Yu Gothic",sans-serif}.cross{font-size:22px}.scroll{position:absolute;bottom:21px;left:4.4%;font:9px Arial,sans-serif;letter-spacing:.16em;display:flex;gap:60px}.scroll span{color:var(--orange)}.signal{stroke-dasharray:12 5;animation:flow 12s linear infinite}@keyframes flow{to{stroke-dashoffset:-170}}.ticker{padding:25px 4.4%;background:var(--ink);color:#fff;font:600 clamp(20px,3.6vw,54px)/1 Arial,sans-serif;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;word-spacing:.16em}.ticker span{color:#90a1a7}.section{padding:110px 7%}h2{font-size:clamp(28px,3.2vw,46px);line-height:1.6;letter-spacing:-.045em;margin:0 0 30px}p{line-height:2}.intro{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-top:120px;padding-bottom:120px}.intro>.eyebrow{padding-top:15px}.intro>div{max-width:700px}.intro p:not(.eyebrow){font-size:15px;line-height:2.2;color:var(--muted)}.services{background:#fff}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-head p:not(.eyebrow){font-size:13px;color:var(--muted);margin-bottom:38px}.service-list{border-top:1px solid var(--ink)}.service-list article{padding:35px 0;display:grid;grid-template-columns:80px 1fr 70px;border-bottom:1px solid var(--line);gap:18px;align-items:start}.service-num{font:24px Arial,sans-serif;color:var(--orange);padding-top:3px}.service-list small{font:10px Arial,sans-serif;color:var(--muted);letter-spacing:.1em}h3{font-size:22px;line-height:1.6;letter-spacing:-.025em;margin:10px 0}.service-list p{font-size:13px;color:var(--muted);margin:12px 0 0}.service-symbol{font:42px Arial,sans-serif;color:var(--orange);text-align:right}.approach{background:var(--ink);color:white;position:relative;overflow:hidden}.approach:after{content:"W";position:absolute;right:-40px;top:-150px;font:900 600px Arial,sans-serif;color:#fff;opacity:.025;pointer-events:none}.approach .eyebrow{color:#b7c3c7}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:60px;position:relative;z-index:1}.approach-grid article{border-top:1px solid #5b6c73;padding-top:25px}.approach-grid span{font:10px Arial,sans-serif;letter-spacing:.1em;color:#f79761}.approach-grid h3{font-size:21px;margin:24px 0 20px}.approach-grid p{font-size:13px;color:#c5ced0;line-height:2.2}.flow{border-bottom:1px solid var(--line)}.flow h2{font-size:30px}.flow ol{display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:48px 0 0;list-style:none;gap:20px}.flow li{font-size:14px;font-weight:bold;border-top:2px solid var(--ink);padding-top:18px;position:relative}.flow li:not(:last-child):after{content:"→";position:absolute;right:-16px;top:27px;color:var(--orange)}.flow li span{display:block;font:10px Arial,sans-serif;color:var(--orange);margin-bottom:18px}.company{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.location{font:10px Arial,sans-serif;letter-spacing:.15em;color:var(--muted)}.location-art{height:170px;max-width:330px;margin-top:40px;background-image:linear-gradient(#d8deda 1px,transparent 1px),linear-gradient(90deg,#d8deda 1px,transparent 1px);background-size:22px 22px;position:relative;overflow:hidden}.location-art span{position:absolute;font:900 210px/.85 Arial,sans-serif;left:28px;top:0;color:var(--orange);opacity:.9}.location-art i{position:absolute;right:10px;bottom:12px;font:8px Arial,sans-serif;background:var(--paper);padding:5px}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:100px 1fr;border-bottom:1px solid var(--line);padding:22px 0;font-size:13px;line-height:1.9}.company dl>div:first-child{border-top:1px solid var(--ink)}dt{color:var(--muted)}dd{margin:0}.contact{display:grid;grid-template-columns:1.1fr 1fr;background:var(--orange);color:white;gap:50px;align-items:center;padding-top:80px;padding-bottom:80px}.contact .eyebrow{margin-bottom:23px}.contact h2{font-size:34px}.contact p{font-size:13px}.contact>a{display:block;border-top:1px solid #ffffff80;border-bottom:1px solid #ffffff80;padding:32px 0}.contact small{display:block;font-size:12px}.contact strong{font:clamp(23px,2.6vw,40px) Arial,sans-serif;display:flex;justify-content:space-between;align-items:center;margin:18px 0}.contact strong span{font-size:38px}.contact-person{font-size:12px}.contact>a:hover{color:var(--ink);border-color:var(--ink)}footer{padding:45px 4.4%;display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-brand{font-size:17px;font-weight:bold}.footer-brand span{display:block;font:8px Arial,sans-serif;letter-spacing:.13em;margin-top:8px}footer>p,footer>a:last-child{font:9px Arial,sans-serif;color:var(--muted);letter-spacing:.05em}
@media(min-width:1600px){.hero,.section,header,footer{padding-left:max(7%,calc((100vw - 1440px)/2));padding-right:max(7%,calc((100vw - 1440px)/2))}}
@media(max-width:1000px){nav{gap:16px;font-size:11px}.brand{font-size:16px}.hero{padding-top:40px;min-height:640px}.hero h1{font-size:47px}.hero-desc{font-size:18px}.section{padding:80px 6%}.approach-grid{gap:24px}.approach-grid h3{font-size:17px}.contact{gap:30px}.contact h2{font-size:29px}}
@media(max-width:760px){html{scroll-padding-top:25px}header{height:80px;padding:0 6%}.brand{font-size:15px;gap:10px}.brand img{width:36px;height:40px}.brand small{font-size:8px}.menu{display:flex;background:none;border:0;font:10px Arial,sans-serif;gap:14px;align-items:center;padding:15px 0 15px 15px;color:var(--ink)}.menu span{font-size:23px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:15px 6% 30px;box-shadow:0 20px 25px #152b3615}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:20px 0;border-top:1px solid var(--line);font-size:13px}nav .nav-contact{padding:20px;margin-top:10px}.hero{grid-template-columns:1fr;padding:38px 6% 55px;gap:38px}.eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:25px}.hero h1{font-size:clamp(39px,10vw,65px);margin-top:25px}.hero-desc{font-size:17px}.hero-note{font-size:12px;line-height:2}.hero-art{max-width:550px;width:100%;justify-self:center}.hero-art svg{max-height:420px}.art-heading{font-size:8px;padding:13px}.art-bottom{padding:10px 13px}.scroll{font-size:8px;bottom:18px;left:6%}.ticker{font-size:29px;padding:22px 6%}.section{padding:65px 7%}.intro{grid-template-columns:1fr;gap:5px}.intro h2{font-size:31px}.intro p:not(.eyebrow){font-size:13px}.section-head{display:block;margin-bottom:28px}.section-head h2{font-size:28px}.section-head p:not(.eyebrow){margin-bottom:0}.service-list article{grid-template-columns:34px 1fr 25px;gap:12px;padding:28px 0}.service-num{font-size:18px}.service-list h3{font-size:17px}.service-list p{font-size:12px}.service-symbol{font-size:27px}.service-list small{font-size:9px}.approach-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}.approach-grid h3{font-size:21px;margin:15px 0 10px}.approach-grid p{margin-bottom:0}.flow h2{font-size:23px}.flow ol{grid-template-columns:1fr;margin-top:30px;gap:0}.flow li{display:flex;gap:25px;align-items:center;border-top:1px solid var(--line);padding:20px 0;font-size:14px}.flow li span{margin:0}.flow li:not(:last-child):after{content:"↓";right:0;top:17px}.flow li:last-child{border-bottom:1px solid var(--line)}.company{grid-template-columns:1fr;gap:35px}.company h2{font-size:31px}.location-art{display:none}.company dl>div{grid-template-columns:85px 1fr;font-size:12px;padding:18px 0}.contact{grid-template-columns:1fr;gap:25px}.contact h2{font-size:29px}.contact strong{font-size:30px}.contact>a{padding:25px 0}footer{padding:35px 7%;flex-wrap:wrap;gap:26px}.footer-brand{width:100%}footer>p{margin:0}.desktop{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.signal{animation:none}}

/* WAKATO / informal street-poster direction */
:root{--ink:#20211f;--orange:#fa641d;--paper:#f1ecd9;--muted:#626258;--line:#b7b5a7}
body{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.035' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
header{border-bottom:2px solid var(--ink);background:var(--paper)}.brand{font-weight:900}.brand img{transform:rotate(-7deg)}
.nav-contact{transform:rotate(-2deg);border:1px solid var(--ink);box-shadow:3px 3px 0 var(--orange)}.hero{gap:3%;padding-top:65px;min-height:720px;align-items:center}.hero h1{font-weight:900;font-size:clamp(43px,4.9vw,77px);line-height:1.5;letter-spacing:-.07em;transform:rotate(-2deg);margin-top:28px}.outline{display:inline-block;background:var(--orange);color:var(--ink);padding:0 8px;box-shadow:5px 5px 0 var(--ink);transform:rotate(1deg)}.hero-desc{font-size:17px;line-height:2}.hero-note{font-size:12px}.text-link{border:2px solid var(--ink);background:var(--paper);box-shadow:4px 4px 0 var(--ink);padding:13px 20px;transform:rotate(-1deg);gap:25px}.text-link:hover{background:var(--orange);color:var(--ink)}
.street-art{transform:rotate(2deg);border:2px solid var(--ink);box-shadow:9px 9px 0 var(--ink);background:#f6f1e5;overflow:visible;margin-top:15px}.hero-illustration{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}.tape{position:absolute;top:-17px;left:20px;transform:rotate(-6deg);background:var(--orange);padding:10px 20px;font:900 12px Arial,sans-serif;letter-spacing:.08em;z-index:2;box-shadow:2px 2px 0 var(--ink)}.sticker{display:block;position:absolute;background:var(--orange);color:var(--ink);font:900 19px/.95 Arial,sans-serif;letter-spacing:-.04em;text-align:center;z-index:2}.sticker-one{right:-15px;top:-25px;border:2px solid var(--ink);border-radius:50%;width:100px;height:100px;display:flex;align-items:center;justify-content:center;transform:rotate(12deg);box-shadow:3px 3px 0 var(--ink)}.art-bottom{border-top:2px solid var(--ink);padding:13px 19px;color:var(--ink)}.art-bottom>span:first-child{font-weight:700;font-size:12px}.illustration-note{position:absolute;bottom:-26px;right:0;font:8px Arial,sans-serif;letter-spacing:.08em}.ticker{background:var(--orange);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);color:var(--ink);font-style:italic;transform:rotate(-1deg);width:100%;padding:20px 3%;font-weight:900}.ticker span{color:transparent;-webkit-text-stroke:1px var(--ink)}
h2{font-weight:900}.eyebrow{font-weight:900;letter-spacing:.1em}.intro h2{position:relative}.intro h2:after{content:"";display:block;width:150px;height:7px;background:var(--orange);transform:rotate(-3deg);margin-top:20px}.services{background:var(--paper);border-top:2px solid var(--ink)}.work-gallery{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:30px 0 55px;position:relative}.work-shot{margin:0;border:2px solid var(--ink);background:#faf5e8;box-shadow:5px 5px 0 var(--ink);transform:rotate(-2deg)}.work-shot:nth-child(2){transform:rotate(2deg);margin-top:30px}.work-shot img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}.work-shot figcaption{border-top:2px solid var(--ink);padding:16px;font-size:12px;font-weight:bold}.work-shot figcaption span{display:block;font:900 23px Arial,sans-serif;letter-spacing:-.04em;margin-bottom:8px}.gallery-note{grid-column:1/-1;margin:0;text-align:right;font-size:10px;color:var(--muted)}.service-list{border-top:2px solid var(--ink)}.service-num{font-weight:900}.service-list small{background:var(--ink);color:var(--paper);padding:4px 7px}.service-symbol{font-weight:900}.approach{background:var(--ink);color:var(--paper);border-top:2px solid var(--ink)}.approach h2{transform:rotate(-1deg)}.approach-grid article{border-top:2px solid #f1ecd977}.approach .number{background:var(--orange);color:var(--ink);padding:4px 6px}.approach-grid span{color:#ff9c68}.flow li{border-top-width:3px}.location-art{background:var(--orange);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);height:245px;width:250px;transform:rotate(-4deg)}.location-art span{font:900 52px/.9 Arial,sans-serif;letter-spacing:-.06em;color:var(--ink);opacity:1;left:18px;top:14px}.location-art i{background:var(--ink);color:var(--paper);font-size:9px;padding:7px}.contact{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);color:var(--ink)}.contact>a{border-color:var(--ink);border-width:2px}.contact strong{font-weight:900}.contact h2{font-weight:900;transform:rotate(-1deg)}footer{background:var(--ink);color:var(--paper)}footer>p,footer>a:last-child{color:#c3c2b5}
@media(max-width:1000px){.hero h1{font-size:48px}.hero{min-height:650px}.sticker-one{width:80px;height:80px;font-size:15px;right:-10px}.work-shot figcaption span{font-size:19px}}
@media(max-width:760px){.hero{padding-top:38px;gap:45px}.hero h1{font-size:clamp(37px,9.7vw,63px)}.hero-desc{font-size:15px}.street-art{width:94%;margin-bottom:18px}.sticker-one{right:-12px;top:-22px}.hero-illustration{max-height:none}.hero-note{font-size:12px}.work-gallery{grid-template-columns:1fr;gap:32px;margin-top:38px}.work-shot:nth-child(2){margin-top:0}.work-shot figcaption span{font-size:25px}.work-shot{width:96%;justify-self:center}.gallery-note{font-size:9px}.ticker{font-size:30px}.intro h2{font-size:29px}.approach h2{font-size:29px}.contact h2{font-size:29px}.contact strong{font-size:29px}.contact>a:hover{opacity:.7}nav{border-bottom:2px solid var(--ink)}.nav-contact{margin-right:4px}.service-list h3{font-size:16px}}


.contact .email-contact strong{font-size:clamp(18px,2vw,30px);gap:10px;overflow-wrap:anywhere;line-height:1.5}.email-contact strong span{flex-shrink:0;font-size:30px}@media(max-width:760px){.contact .email-contact strong{font-size:clamp(17px,4.3vw,26px)}}

/* Contact: email only, with a copy alternative. */
.contact-actions{min-width:0}.contact-actions>.email-contact{display:block;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:28px 0}.contact .email-contact #contact-email{font-size:inherit;line-height:inherit;flex-shrink:1;min-width:0}.contact .email-contact .mail-arrow{flex-shrink:0;font-size:30px}.contact-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.contact-tags span{font-size:11px;font-weight:bold;border:1px solid var(--ink);padding:5px 10px;background:#f1ecd92b}.contact-tags span:nth-child(even){transform:rotate(-3deg)}.email-tools{display:flex;align-items:center;gap:14px;margin-top:17px;flex-wrap:wrap}.copy-email{cursor:pointer;background:var(--ink);color:var(--paper);border:2px solid var(--ink);padding:11px 15px;font-size:11px;font-weight:bold;display:flex;gap:25px;align-items:center;box-shadow:3px 3px 0 #f1ecd9;transform:rotate(-1deg)}.copy-email:hover{background:var(--paper);color:var(--ink)}.copy-email span{font-size:18px}.copy-status{font-size:11px!important;line-height:1.6;margin:0}.mail-note{font-size:10px!important;line-height:1.8;margin-top:20px}.hero-copy,.hero-art{min-width:0}.hero-illustration{height:auto}.service-symbol{user-select:none}.contact .email-contact:hover{opacity:.75}
@media(max-width:400px){.brand{font-size:13px}.hero h1{font-size:9.6vw}.hero .eyebrow{font-size:8px;letter-spacing:.06em}.contact{padding-left:6%;padding-right:6%}.contact .email-contact strong{font-size:4.4vw}.contact .email-contact .mail-arrow{font-size:25px}.contact h2{font-size:27px}}

/* Decorative symbols: reduce visual weight. */
.brand img{width:40px;height:43px}.sticker-one{width:76px;height:76px;font-size:14px;right:-8px;top:-18px;box-shadow:2px 2px 0 var(--ink)}.cross{font-size:18px}.service-symbol{font-size:32px}.location-art{width:200px;height:205px}.location-art span{font-size:42px;left:16px;top:14px}.location-art i{font-size:8px}
@media(max-width:760px){.brand img{width:32px;height:35px}.sticker-one{width:64px;height:64px;font-size:12px;right:-7px;top:-17px}.service-symbol{font-size:23px}}

/* Keep tilted poster edges inside the viewport. */
body{overflow-x:clip}
