/* Concept 02 — supplied logo is the source of the visual identity. */
:root{--paper:#fff;--ink:#281e1a;--red:#ed001b;--blue:#007bab;--ocean:#009bdc;--acid:#ffe336;--line:rgba(237,0,27,.25);--cream:#fff8e9}
::selection{background:var(--red);color:white}
button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:var(--ocean)}
.header{height:108px;padding:0 36px;border-bottom:2px solid var(--red);background:white}
.brand{gap:20px}.brand-logo{display:block;width:126px;height:92px;object-fit:contain}.brand-name{font-size:14px;line-height:1.05;font-weight:700;letter-spacing:-.025em;color:var(--red)}.brand-name span{font-size:8px;line-height:1.5;letter-spacing:.055em;margin-top:9px;color:var(--ink)}
.header nav{color:var(--red)}.header .nav-contact{background:var(--red);padding:13px 22px;border-radius:0 18px 0 18px}.menu-toggle{color:var(--red)}
.hero{height:calc(100svh - 108px);min-height:660px;max-height:1050px;padding:22px 36px 0;background:white}
.hero-topline{color:var(--red);font-size:10px;letter-spacing:.055em}.hero-topline span:nth-child(2){color:var(--ink)}
.hero-type{position:absolute;left:36px;top:65px;right:auto;z-index:2;pointer-events:none;transform:none!important;will-change:auto}
.hero-overline{font:700 14px/1.5 var(--jp);letter-spacing:.08em;display:block;margin-bottom:14px}
.hero-type h1{font:900 clamp(60px,6.6vw,108px)/1.15 var(--jp);letter-spacing:-.075em;color:var(--red);transform:rotate(-3deg);transform-origin:left center}
.hero-type h1>span{color:var(--red)}.hero-english{display:block;margin-top:22px;font-size:12px;letter-spacing:.12em;color:var(--red);font-weight:600}
.logo-stage{position:absolute;left:53%;top:55px;width:32vw;max-width:485px;z-index:2;pointer-events:none;background:white}
.logo-stage>img{display:block;width:100%;height:auto}.logo-stage>span{display:block;text-align:center;font-size:8px;letter-spacing:.21em;color:var(--red);margin-top:5px;font-weight:600}
.collage{inset:0 0 122px;z-index:3}.postcard{padding:7px 7px 9px;box-shadow:3px 6px 0 #e9e5dd,0 12px 24px -17px #281e1a80;border:1px solid #e9e3d5;background:#fffdf6}.postcard-caption{color:var(--red);font-size:8px}.postcard:hover{box-shadow:4px 8px 0 #e9e5dd,0 24px 30px -18px #281e1a80}
.card-a{left:auto;right:2%;top:12%;width:13.2vw;max-width:218px;--rotation:10deg}.card-a .photo{aspect-ratio:.9}
.card-b{left:31.5%;top:59%;width:14vw;max-width:220px;--rotation:-10deg}.card-b .photo{aspect-ratio:1.12}
.card-c{right:2.5%;top:61%;width:15.5vw;max-width:250px;--rotation:-8deg}.card-c .photo{aspect-ratio:1.6}
.card-d{left:10%;top:75%;width:10.3vw;max-width:166px;--rotation:8deg}.card-d .photo{aspect-ratio:1.3}
.souvenir-stamp{position:absolute;left:45%;top:23%;font-size:18px;font-weight:700;line-height:.95;text-align:center;border:2px solid var(--ocean);color:var(--ocean);border-radius:50%;width:104px;height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-15deg)}.souvenir-stamp span{font:600 8px var(--jp);display:block;margin-top:9px}
.hero-tools{bottom:139px;left:36px;right:36px}.drag-hint{color:var(--red);background:white;font-size:9px;padding:7px 0}.hero-tools button{background:var(--cream);border:1px solid var(--red);color:var(--red);font:600 11px var(--jp);padding:6px 11px;box-shadow:2px 2px 0 var(--red)}
.hero-bottom{border-top:1px solid var(--red);padding:21px 0 23px;min-height:112px;left:36px;right:36px;background:white}.hero-signoff{font:800 clamp(19px,1.75vw,29px)/1.6 var(--jp);letter-spacing:-.05em;color:var(--red)}.hero-signoff span{color:var(--ink)}.hero-bottom p{font:500 14px/1.9 var(--jp)}.scroll-link{color:var(--red)}
.statement{background:var(--red);color:#fff;padding-top:34px}.statement .section-kicker{border-color:#ffffff80}.statement h2{font-weight:900}.word-highlight{color:var(--acid)}.statement-foot{gap:60px}.attitude-seal{font:800 52px/1.08 var(--jp);display:block;flex-shrink:0;text-align:center;width:175px;padding:22px 0;border:3px solid var(--acid);border-radius:50%;color:var(--acid);transform:rotate(-10deg)}.attitude-seal>span{display:block;font:600 10px var(--sans);letter-spacing:.12em;margin-top:14px}.ticker{font-family:var(--jp);font-size:40px;font-weight:700;padding:23px 0;color:var(--acid)}
.works{background:var(--cream)}.works .section-kicker{color:var(--red)}.works-heading{gap:8vw}.works-heading h2{font:900 clamp(55px,6.5vw,102px)/1.3 var(--jp);letter-spacing:-.07em;transform:rotate(-2deg);color:var(--red)}.works-heading h2>span{color:var(--red)}.works-heading p{font-size:23px}.works-heading>div>span{font-size:14px}.filters button.active{color:var(--red)}.filters button.active:after{background:var(--red)}.work-image{background:white}.image-tag{background:var(--cream);color:var(--red);border:1px solid #ed001b44}.work-meta{color:var(--red)}.work-title{font-weight:900}.work-open{background:var(--red);color:white}.all-works{color:var(--red);border-color:var(--red)}.all-works span:first-child{font-family:var(--jp);font-weight:800;font-size:clamp(25px,3.5vw,52px);letter-spacing:-.06em}
.services{background:#e5f5fc;color:#123c4d}.services .section-kicker{color:var(--blue);border-color:#007bab66}.services-intro h2{font-weight:900;color:#123c4d}.services-intro h2>span{color:var(--blue)}.service{border-color:#007bab66}.service:last-of-type{border-color:#007bab66}.service-heading>span:first-child{font-weight:600;color:var(--blue)}.service-detail{border-color:#007bab33}.service-detail p{color:#123c4d}.service-detail li:before{color:var(--red)}.service[open] .plus{color:var(--red)}.service-tail{color:var(--blue)}
.contact{background:var(--red);color:white}.contact .section-kicker{border-color:#ffffff88}.contact-pre{font-weight:700}.contact-main .contact-it{color:var(--acid)}.contact-foot>a{border-color:white}.contact-foot>a:hover{color:var(--acid)}
footer{background:white;color:var(--red);border-top:2px solid var(--red)}.footer-name img{width:212px;height:145px;object-fit:contain;mix-blend-mode:multiply}.footer-name{display:block}.concept-note{opacity:.8}.project-dialog{background:var(--cream)}.dialog-close{background:var(--red);border-radius:0 12px 0 12px}.project-category{color:var(--red)}.project-info h2{color:var(--red);font-weight:900}.project-source{color:var(--red)}.mobile-menu:not([hidden]){background:var(--red);top:108px}
@media(min-width:1500px){.hero{min-height:780px}.hero-type{top:80px}.logo-stage{top:75px}.card-d{top:73%}.card-b{top:62%}}
@media(min-width:701px) and (max-height:800px){.hero{min-height:615px}.hero-type{top:59px}.hero-type h1{font-size:min(6.6vw,12vh);line-height:1.12}.hero-overline{margin-bottom:12px;font-size:13px}.hero-english{margin-top:15px}.logo-stage{top:52px;width:min(32vw,57vh)}.card-a{width:12.3vw;top:12%}.card-b{width:13vw;top:56%}.card-c{width:15vw;top:58%}.card-d{width:10vw;top:73%}.souvenir-stamp{width:90px;height:90px;font-size:16px}.souvenir-stamp span{font-size:7px}}
@media(min-width:701px) and (max-width:1050px){.header{padding:0 24px}.brand-logo{width:108px;height:86px}.brand-name{font-size:11px}.brand-name span{font-size:6px}.brand{gap:12px}.header nav{gap:24px;font-size:12px}.hero{padding-left:24px;padding-right:24px;min-height:640px}.hero-type{left:24px;top:85px}.hero-type h1{font-size:6.8vw}.hero-overline{font-size:12px}.logo-stage{top:90px;left:51%;width:34vw}.souvenir-stamp{top:64%;left:56%;width:90px;height:90px;font-size:16px}.card-d{left:5%;top:65%;width:15vw}.card-b{left:27%;top:57%;width:18vw}.card-c{right:2%;top:65%;width:18vw}.card-a{right:1%;top:7%;width:15vw}.hero-bottom{left:24px;right:24px}.hero-tools{left:24px;right:24px}.hero-bottom p{font-size:12px}.hero-signoff{font-size:20px}.statement-foot{gap:35px}.attitude-seal{font-size:40px;width:145px;padding:22px 0}.works-heading p{font-size:18px}.works-heading>div>span{font-size:12px}}
@media(max-width:700px){
  .header{height:90px;padding:0 18px}.brand{gap:10px}.brand-logo{width:104px;height:78px}.brand-name{font-size:10px;line-height:1.08}.brand-name span{display:none}.menu-toggle{font-size:11px;gap:5px}.mobile-menu:not([hidden]){top:90px}.hero{height:auto;min-height:825px;max-height:none;padding:17px 20px 0}.hero-topline{font-size:8px}.hero-type{top:52px;left:20px;right:auto}.hero-overline{font-size:10px;letter-spacing:.04em;margin-bottom:13px}.hero-type h1{font-size:clamp(42px,10.8vw,65px);line-height:1.2;letter-spacing:-.065em;transform:rotate(-4deg)}.hero-english{font-size:8px;letter-spacing:.05em;margin-top:16px}.logo-stage{width:61%;left:auto;right:0;top:295px;max-width:none}.logo-stage>span{font-size:5px;margin-top:0;letter-spacing:.16em}.collage{inset:0 0 222px}.postcard{padding:5px 5px 7px}.postcard-caption{font-size:6px;padding-top:6px}.card-a{left:auto;right:4%;top:10%;width:32%;max-width:none;--rotation:9deg}.card-a .photo{aspect-ratio:1.06}.card-b{left:6%;top:50%;width:32%;max-width:none;--rotation:-10deg}.card-b .photo{aspect-ratio:1.08}.card-c{right:3%;top:86%;width:37%;max-width:none;--rotation:-7deg}.card-c .photo{aspect-ratio:1.7}.card-d{left:8%;top:77%;width:27%;max-width:none;--rotation:7deg}.card-d .photo{aspect-ratio:1.3}.souvenir-stamp{left:auto;right:8%;top:36%;width:77px;height:77px;font-size:14px;border-width:1.5px}.souvenir-stamp span{font-size:6px;margin-top:6px}.hero-tools{left:20px;right:20px;bottom:174px}.hero-tools button{font-size:9px;padding:5px 8px}.hero-bottom{display:block;left:20px;right:20px;bottom:0;padding:19px 0 20px;min-height:156px}.hero-signoff{font-size:19px;line-height:1.5}.hero-signoff br{display:none}.hero-signoff span{display:block}.hero-bottom p{font-size:12px;line-height:1.9;margin:11px 28px 0 0}.scroll-link{bottom:25px}.statement{padding:25px 20px 0}.statement-foot{gap:22px}.attitude-seal{width:62px;font-size:20px;padding:13px 0;border-width:1.5px;margin-top:5px}.attitude-seal>span{font-size:5px;letter-spacing:.03em;margin-top:6px}.statement-foot p{font-size:13px;line-height:2.1}.statement h2{font-size:9.7vw}.ticker{font-size:25px;padding:18px 0}.works-heading h2{font-size:12.5vw;line-height:1.38}.works-heading>div{margin-top:28px}.works-heading p{font-size:17px}.works-heading>div>span{font-size:10px}.work-title{font-size:24px}.all-works span:first-child{font-size:30px}.footer-name img{width:168px;height:114px}footer{gap:16px}.contact-foot p{font-size:13px}
}
@media(max-width:360px){.brand-logo{width:88px}.brand-name{font-size:9px}.hero{min-height:795px}.logo-stage{top:285px}.hero-type h1{font-size:40px}.hero-overline{font-size:9px}.card-c{top:84%}.card-d{top:76%}.hero-signoff{font-size:18px}.statement-foot{gap:15px}.statement-foot p{font-size:12px}.attitude-seal{width:55px}.hero-bottom p{font-size:11px}.card-a{top:13%}}
@media(prefers-reduced-motion:reduce){.souvenir-stamp{transform:rotate(-15deg)!important}}
.hero-english{display:none}
@media(min-width:1051px){.card-d{top:71%;width:9vw}.hero-tools{justify-content:flex-end;gap:18px}}

/* Show the entire project KV in cards without cropping its lettering. */
.works .work.work-kv .work-image{aspect-ratio:auto;background:#fff}
.works .work.work-kv .work-image img{display:block;width:100%;height:auto;object-fit:contain}
.works .work.work-kv:hover .work-image img,.works .work.work-kv:focus-visible .work-image img{transform:none}
