:root{--paper:#f0efe9;--ink:#262722;--white:#f8f7f2;--line:rgba(38,39,34,.2);--acid:#b8a469;--orange:#bd765a;--blue:#63738b;--pad:clamp(32px,5vw,84px);--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans","Noto Sans JP",sans-serif;font-weight:300;overflow-x:hidden}a{color:inherit;text-decoration:none}img,video{display:block;width:100%}button{font:inherit;color:inherit}::selection{background:var(--acid);color:#111}
body.admin-bar .site-header{top:32px}.journal li a{display:flex;flex-direction:column;gap:5px}.journal li small{font-size:10px;opacity:.7;letter-spacing:.12em}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:92px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;color:var(--white);pointer-events:none;transition:height .45s var(--ease),background .45s var(--ease),color .45s var(--ease),backdrop-filter .45s var(--ease)}.site-header>*{pointer-events:auto}.site-header.is-scrolled{height:76px;color:var(--ink);background:rgba(240,239,233,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(38,39,34,.08)}.wordmark{display:block;width:184px}.wordmark img{display:block;width:100%;height:auto;filter:grayscale(1) brightness(0) invert(1);transition:filter .4s var(--ease)}.site-header.is-scrolled .wordmark img{filter:none}.menu-button{display:none}.global-nav{display:flex;gap:30px;text-transform:uppercase;font-size:11px;letter-spacing:.13em}.global-nav a{position:relative}.global-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .35s}.global-nav a:hover:after{right:0}
.hero{position:relative;height:100svh;min-height:620px;background:#d7d6ce;overflow:hidden}.hero-video,.hero-end{position:absolute;inset:0;height:100%;object-fit:cover}.hero-video{z-index:2}.hero-end{z-index:1}.hero.video-ended .hero-video{opacity:0;transition:opacity 1.2s var(--ease)}.hero-shade{position:absolute;z-index:3;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 36%,rgba(0,0,0,.2));pointer-events:none}.hero-purpose{position:absolute;z-index:4;right:var(--pad);bottom:12%;margin:0;color:white;font-family:"Noto Sans JP",sans-serif;font-size:clamp(33px,4vw,67px);font-weight:300;letter-spacing:.12em}.hero-meta{position:absolute;z-index:4;bottom:4.5%;left:var(--pad);display:flex;gap:26px;color:white;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.movie-toggle{position:absolute;z-index:5;right:var(--pad);bottom:5%;border:0;background:none;color:white;font-size:9px;letter-spacing:.18em;padding:8px 0;cursor:pointer}.scroll-mark{position:absolute;z-index:4;left:18px;bottom:34px;color:white;font-size:8px;letter-spacing:.2em;writing-mode:vertical-rl}.scroll-mark i{display:block;width:1px;height:45px;margin:12px auto 0;background:rgba(255,255,255,.5);animation:scrollLine 2.4s infinite}@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.section-pad{padding:150px var(--pad)}.section-index{display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:.22em;font-weight:400;margin-bottom:100px}.section-index:after{content:"";width:64px;height:1px;background:currentColor;opacity:.45}.section-index span{color:var(--orange)}.section-index.light{color:var(--white)}.display-title{font-size:clamp(64px,9.5vw,154px);line-height:.83;letter-spacing:-.075em;font-weight:300;margin:0}.display-title em{font-family:Georgia,serif;font-weight:400}
.intro{position:relative;min-height:1800px}.intro-grid{display:grid;grid-template-columns:1fr 1.9fr 1.15fr;gap:5vw;align-items:start}.intro-kicker{font-family:Georgia,serif;font-style:italic;font-size:14px;line-height:1.5;margin:8px 0 0}.intro-title{font-family:"Noto Sans JP",sans-serif;font-weight:300;font-size:clamp(52px,6.2vw,96px);line-height:1.35;letter-spacing:-.06em;margin:0}.intro-title em{font-style:normal;white-space:nowrap;background:linear-gradient(90deg,var(--orange),var(--blue));-webkit-background-clip:text;color:transparent}.intro-copy{font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:2.25}.intro-copy p{margin:0 0 3em}.fragments{height:550px;margin:160px calc(var(--pad)*-1) 130px;position:relative}.fragment{position:absolute;margin:0;overflow:hidden}.fragment img{height:100%;object-fit:cover;filter:saturate(.8)}.fragment-a{left:8%;top:0;width:25%;height:390px;transform:rotate(-2deg)}.fragment-b{right:5%;top:105px;width:37%;height:305px;transform:rotate(2deg)}.fragments>p{position:absolute;z-index:2;left:39%;top:135px;margin:0;font-family:Georgia,serif;font-style:italic;font-size:clamp(56px,8vw,124px);line-height:.74;letter-spacing:-.06em;mix-blend-mode:multiply;color:var(--orange);transform:rotate(-5deg)}.intro-coda{margin-left:36%;display:grid;grid-template-columns:1fr 1fr;gap:10vw;font-family:"Noto Sans JP",sans-serif;font-size:20px;line-height:2.2}
.projects{background:var(--white)}.projects-head{padding-bottom:100px}.projects-head{display:grid;grid-template-columns:.7fr 2fr 1fr;gap:4vw}.projects-head .section-index{grid-column:1/-1}.projects-lead{align-self:end;font-family:"Noto Sans JP",sans-serif;font-size:16px;line-height:2;margin:0 0 5px}.project-card{display:grid;grid-template-columns:1.7fr 1fr;min-height:86vh;border-top:1px solid var(--ink)}.project-image{position:relative;overflow:hidden;min-height:680px}.project-image img{height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.project-image:hover img{transform:scale(1.025)}.project-no{position:absolute;top:24px;left:28px;color:white;font-size:10px;letter-spacing:.2em}.project-detail{padding:55px 6vw;display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid var(--ink)}.project-jp{font-family:"Noto Sans JP",sans-serif;margin:0 0 16px;letter-spacing:.15em}.project-detail h3{font-size:clamp(65px,7vw,110px);line-height:.78;letter-spacing:-.07em;font-weight:300;margin:0}.project-detail>p{font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:2}.project-detail ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.project-detail li{padding:12px 0;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.12em}
.philosophy{background:var(--ink);color:var(--white);position:relative;overflow:hidden}.philosophy:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;top:10%;right:-250px;background:linear-gradient(140deg,var(--orange),var(--blue));filter:blur(65px);opacity:.35}.philosophy-top{position:relative;z-index:1;max-width:1180px;margin:auto}.philosophy-top>p{font-size:10px;letter-spacing:.2em;color:#9a9a91;margin:70px 0 16px}.philosophy-top h2{font-family:"Noto Sans JP",sans-serif;font-size:clamp(46px,6vw,92px);font-weight:300;line-height:1.35;letter-spacing:-.04em;margin:0}.values{display:grid;grid-template-columns:repeat(4,1fr);margin-top:170px;border-top:1px solid rgba(255,255,255,.25)}.values article{min-height:390px;padding:28px 28px 35px;border-right:1px solid rgba(255,255,255,.25);display:flex;flex-direction:column}.values article:last-child{border-right:0}.values span{font-size:10px;color:var(--acid)}.values h3{font-family:Georgia,serif;font-weight:400;font-style:italic;font-size:clamp(26px,2.2vw,38px);line-height:1.1;margin:75px 0 auto}.values p{font-family:"Noto Sans JP",sans-serif;font-size:13px;line-height:1.9;color:#c8c8c0}
.statement{position:relative;min-height:1600px;overflow:hidden}.statement-lead{font-family:"Noto Sans JP",sans-serif;font-size:clamp(60px,7.5vw,122px);font-weight:300;letter-spacing:-.055em;white-space:nowrap;margin:0 0 170px}.statement-body{position:relative;z-index:2;margin-left:34%;display:grid;grid-template-columns:1fr 1.2fr;gap:10vw;font-family:"Noto Sans JP",sans-serif;font-size:17px;line-height:2.25}.statement-body p{margin:0 0 3em}.statement-mark{position:absolute;left:3vw;bottom:1vw;margin:0;font-family:Georgia,serif;font-style:italic;color:var(--acid);font-size:22vw;line-height:.64;letter-spacing:-.075em;transform:rotate(-6deg);mix-blend-mode:multiply;opacity:.88}
.people{background:var(--white)}.people .display-title{margin-bottom:130px}.people-list{margin-left:30%;border-top:1px solid var(--ink)}.people-list article{display:grid;grid-template-columns:1fr 1.6fr .8fr;align-items:baseline;gap:20px;padding:40px 0;border-bottom:1px solid var(--ink)}.people-list span{font-family:"Noto Sans JP",sans-serif;font-size:12px}.people-list h3{font-family:"Noto Sans JP",sans-serif;font-size:38px;font-weight:300;letter-spacing:.08em;margin:0}.people-list p{font-size:10px;letter-spacing:.13em}.pending-note{font-family:"Noto Sans JP",sans-serif;font-size:11px;color:#6f706a;margin:28px 0 0 30%}
.journal{background:#617188;color:var(--white)}.journal-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:12vw}.journal h2{font-family:"Noto Sans JP",sans-serif;font-size:clamp(50px,5.8vw,88px);line-height:1.42;font-weight:300;letter-spacing:-.045em;margin:0}.journal h2 span{white-space:nowrap}.journal ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.38)}.journal li{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.38);font-size:12px;letter-spacing:.12em}
.company-contact{display:grid;grid-template-columns:1fr 1fr}.company{background:var(--paper);min-height:770px}.company dl{display:grid;grid-template-columns:120px 1fr;border-top:1px solid var(--ink);padding-top:24px;font-family:"Noto Sans JP",sans-serif}.company dt{font-size:12px}.company dd{margin:0;font-size:22px}.company .pending-note{margin-left:0}.contact{background:#c47f62;color:var(--white);min-height:770px}.contact-label{font-size:10px;letter-spacing:.11em;line-height:1.8}.contact h2{font-size:clamp(62px,6.4vw,102px);line-height:.82;letter-spacing:-.068em;font-weight:300;margin:120px 0 60px}.contact h2 em{font-family:Georgia,serif}.contact>p:not(.contact-label){font-family:"Noto Sans JP",sans-serif;font-size:15px;line-height:2}.contact-status{margin-top:70px;border-top:1px solid rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.55);padding:18px 0;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.15em}.contact-status span{font-family:"Noto Sans JP",sans-serif;letter-spacing:.08em}
footer{background:#30312d;color:var(--white);padding:120px var(--pad) 45px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.wordmark-large{width:min(50vw,650px);white-space:nowrap}.wordmark-large img{filter:none}footer>p{justify-self:end;font-family:"Noto Sans JP",sans-serif;font-size:25px;letter-spacing:.12em}footer small{grid-column:1/-1;font-size:10px;letter-spacing:.14em}
.contact-status{width:100%;border-left:0;border-right:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.contact-form-wrap{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .7s var(--ease),opacity .45s var(--ease)}.contact-form-wrap>*{overflow:hidden}.contact-form-wrap.is-open{grid-template-rows:1fr;opacity:1}.luff-contact-form{padding-top:58px}.luff-contact-form label:not(.contact-consent){display:block;margin-bottom:34px}.luff-contact-form label>span:first-child,.contact-step-title{display:block;margin-bottom:11px;font-size:9px;letter-spacing:.14em}.luff-contact-form label b{margin-left:8px;font-family:"Noto Sans JP",sans-serif;font-size:8px;font-weight:300;letter-spacing:.05em;opacity:.75}.luff-contact-form input[type=text],.luff-contact-form input[type=email],.luff-contact-form select,.luff-contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.52);border-radius:0;padding:8px 0 12px;background:transparent;color:var(--white);font:300 15px/1.7 "Noto Sans JP",sans-serif;outline:none;appearance:none;transition:border-color .25s}.luff-contact-form textarea{resize:vertical;min-height:150px}.luff-contact-form select{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 10px) 52%,calc(100% - 5px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.luff-contact-form select option{color:var(--ink);background:var(--paper)}.luff-contact-form input:focus,.luff-contact-form select:focus,.luff-contact-form textarea:focus{border-color:var(--white)}.contact-consent{display:flex;align-items:flex-start;gap:12px;margin:4px 0 32px;font-family:"Noto Sans JP",sans-serif;font-size:11px;line-height:1.7}.contact-consent input{flex:0 0 auto;width:15px;height:15px;margin:2px 0 0;accent-color:var(--ink)}.contact-action{width:100%;border:1px solid rgba(255,255,255,.65);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;background:transparent;color:inherit;font-size:11px;letter-spacing:.12em;cursor:pointer;transition:background .3s,color .3s}.contact-action:hover{background:var(--white);color:var(--orange)}.contact-action i{font-family:Georgia,serif;font-size:12px}.contact-action:disabled{opacity:.55;cursor:wait}.contact-form-error{min-height:1.6em;margin:0 0 12px!important;font-family:"Noto Sans JP",sans-serif;font-size:11px!important}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-confirm-step[hidden],.contact-input-step[hidden]{display:none}.contact-step-title{margin-bottom:28px}.contact-review{margin:0 0 35px}.contact-review>div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:18px 0;border-top:1px solid rgba(255,255,255,.38)}.contact-review>div:last-child{border-bottom:1px solid rgba(255,255,255,.38)}.contact-review dt{font-size:9px;letter-spacing:.12em}.contact-review dd{margin:0;font-family:"Noto Sans JP",sans-serif;font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.contact-confirm-actions{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}.contact-back{border:0;background:none;color:inherit;padding:12px 0;font-family:"Noto Sans JP",sans-serif;font-size:11px;cursor:pointer}.contact-message{margin-top:45px;padding:22px 0;border-top:1px solid rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.5);font-family:"Noto Sans JP",sans-serif;font-size:12px;line-height:1.9}.contact-message strong{font-size:16px;font-weight:400}
.js-reveal{opacity:0;transform:translateY(35px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.js-reveal.is-visible{opacity:1;transform:none}.cursor{position:fixed;z-index:99;width:12px;height:12px;border-radius:50%;background:var(--acid);pointer-events:none;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .2s,height .2s;display:none}@media (pointer:fine){.cursor{display:block}}
@media (min-width:901px) and (max-width:1200px){.statement{min-height:1450px}.statement-body{margin-left:18%;grid-template-columns:.82fr 1.28fr;gap:5vw;font-size:15px;line-height:2.15}.statement-body p{margin-bottom:2.5em}.statement-mark{left:4vw;bottom:3vw;font-size:19vw}.journal-grid{grid-template-columns:1.65fr .9fr;gap:6vw}.journal h2{font-size:clamp(42px,5vw,56px);line-height:1.4}.journal li{font-size:11px}}
@media (max-width:900px){.global-nav{display:none}.site-header{height:68px}.site-header.is-scrolled{height:62px}.wordmark{width:142px}.menu-button{display:flex;align-items:center;gap:10px;border:0;background:none;color:inherit;font-size:10px;letter-spacing:.16em}.menu-button i{width:22px;height:1px;background:currentColor}.hero-purpose{font-size:28px;right:24px;bottom:14%;letter-spacing:.09em}.hero-meta{left:24px;bottom:5%;display:block;line-height:1.8}.movie-toggle{right:24px}.section-pad{padding:100px 24px}.section-index{margin-bottom:70px}.intro{min-height:0}.intro-grid{grid-template-columns:1fr}.intro-title{font-size:46px}.intro-copy{margin-top:30px}.fragments{height:620px;margin:100px -24px}.fragment-a{left:0;width:60%;height:310px}.fragment-b{right:0;top:300px;width:70%;height:265px}.fragments>p{left:28%;top:230px;font-size:72px}.intro-coda{margin-left:0;grid-template-columns:1fr;font-size:17px}.projects-head{grid-template-columns:1fr}.projects-head .section-index{grid-column:auto}.display-title{font-size:70px}.projects-lead{margin-top:35px}.project-card{grid-template-columns:1fr}.project-image{min-height:65vh}.project-detail{min-height:620px;border-left:0;border-top:1px solid var(--ink);padding:45px 24px}.project-detail h3{font-size:68px}.values{grid-template-columns:1fr 1fr;margin-top:110px}.values article{min-height:300px;border-bottom:1px solid rgba(255,255,255,.25)}.values article:nth-child(2){border-right:0}.statement{min-height:0}.statement-lead{font-size:clamp(42px,11vw,58px);white-space:normal;margin-bottom:110px}.statement-body{margin-left:0;grid-template-columns:1fr;gap:0;font-size:16px}.statement-mark{display:none}.people-list{margin-left:0}.people-list article{grid-template-columns:1fr;gap:8px}.people-list h3{font-size:30px}.pending-note{margin-left:0}.journal-grid{grid-template-columns:1fr}.journal h2{font-size:46px}.journal h2 span{white-space:normal}.company-contact{grid-template-columns:1fr}.company,.contact{min-height:650px}.contact h2{font-size:64px;margin-top:90px}footer{grid-template-columns:1fr;padding:90px 24px 35px}.wordmark-large{width:min(88vw,520px)}footer>p{justify-self:start;font-size:18px}}
@media (max-width:900px){body.admin-bar .site-header{top:46px}.site-header.nav-open{color:var(--ink);background:rgba(240,239,233,.97);backdrop-filter:blur(16px)}.site-header.nav-open .wordmark img{filter:none}.site-header.nav-open .global-nav{position:fixed;display:flex;inset:68px 0 0;min-height:calc(100svh - 68px);padding:70px 24px;background:rgba(240,239,233,.98);flex-direction:column;gap:25px;font-size:22px;color:var(--ink)}body.admin-bar .site-header.nav-open .global-nav{inset:114px 0 0}.site-header.nav-open .menu-button i{transform:rotate(45deg)}}
@media (max-width:900px){.contact-review>div{grid-template-columns:1fr;gap:6px}.contact-confirm-actions{grid-template-columns:1fr}.contact-back{order:2}}
.project-brand-logo{width:min(21vw,280px);height:auto}.project-card:hover .project-image img{transform:scale(1.025)}.project-link{align-self:flex-end;padding-top:18px;border-bottom:1px solid currentColor;font-size:10px;letter-spacing:.16em}@media (max-width:900px){.project-brand-logo{width:min(70vw,270px)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-reveal{opacity:1;transform:none}}

/* 1.3 — typography, responsive film framing and new content. */
.hero-film{position:absolute;inset:0;overflow:hidden}
.hero-purpose{font-size:clamp(28px,3.2vw,48px);letter-spacing:.08em}
.section-pad{padding-top:112px;padding-bottom:112px}
.section-index{margin-bottom:64px;font-size:10px;letter-spacing:.18em}
.display-title{font-size:clamp(48px,6.3vw,96px);line-height:1.02;letter-spacing:-.045em}
.intro{min-height:0}
.intro-grid{grid-template-columns:.8fr 1.7fr 1.25fr;gap:3.5vw}
.intro-title{font-size:clamp(34px,4.5vw,64px);line-height:1.5;letter-spacing:-.035em}
.intro-copy{font-size:14px;line-height:2.15}
.fragments{height:460px;margin-top:110px;margin-bottom:80px}
.fragments>p{font-size:clamp(48px,6vw,92px);line-height:.9}
.fragment-a{height:330px}.fragment-b{height:270px}
.intro-coda{font-size:16px;line-height:2.15;gap:6vw}
.projects-head{grid-template-columns:1.7fr 1fr;gap:3vw;padding-bottom:72px}
.projects-lead{font-size:14px;line-height:2.1}
.project-card{min-height:620px}
.project-image{min-height:580px}
.project-detail{padding:48px 4.5vw;gap:32px}
.project-detail h3{font-size:clamp(40px,5vw,72px);line-height:1.05;letter-spacing:-.04em}
.project-detail>p{font-size:14px}
.project-brand-logo{width:min(17vw,230px)}
.philosophy-top{max-width:1060px}
.philosophy-top>p{margin-top:50px}
.philosophy-top h2{font-size:clamp(32px,4.3vw,60px);line-height:1.55;letter-spacing:-.025em}
.values{margin-top:96px}.values article{min-height:310px;padding-left:24px;padding-right:24px}
.values h3{font-size:clamp(22px,1.9vw,30px);margin-top:48px;line-height:1.2}
.statement{min-height:0;padding-bottom:180px}
.statement-lead{font-size:clamp(38px,5.2vw,76px);letter-spacing:-.025em;margin-bottom:96px}
.statement-body{margin-left:28%;gap:6vw;font-size:15px;line-height:2.2}
.statement-body p{margin-bottom:2.3em}
.statement-mark{font-size:17vw;left:3vw;bottom:4vw;opacity:.65}
.people .display-title{margin-bottom:64px}
.representative{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:6vw;align-items:start}
.representative-photo{margin:0;position:sticky;top:104px;overflow:hidden}
.representative-photo img{width:100%;height:auto}
.representative-copy{border-top:1px solid var(--line);padding-top:28px}
.representative-name span{font-family:"Noto Sans JP",sans-serif;font-size:11px;letter-spacing:.08em}
.representative-name h3{font-family:"Noto Sans JP",sans-serif;font-size:28px;font-weight:300;letter-spacing:.1em;margin:18px 0 8px}
.representative-name p{font-size:10px;letter-spacing:.18em;margin:0}
.representative-copy h4{font-family:"Noto Sans JP",sans-serif;font-size:clamp(19px,1.7vw,25px);line-height:1.7;font-weight:400;letter-spacing:.015em;margin:46px 0 26px}
.representative-message{font-family:"Noto Sans JP",sans-serif;font-size:14px;line-height:2.15;letter-spacing:.025em;overflow-wrap:anywhere}
.representative-message p{margin:0 0 1.8em}.representative-message p:last-child{margin-bottom:0}
.people-list{margin-top:64px}.people-list h3{font-size:28px}
.journal h2{font-size:clamp(32px,3.7vw,52px);line-height:1.65;letter-spacing:-.025em}
.journal-grid{grid-template-columns:1.3fr 1fr;gap:7vw}
.company,.contact{min-height:0}
.company dl{grid-template-columns:80px minmax(0,1fr);gap:20px;padding-top:20px;margin-bottom:28px}
.company dd{font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.contact h2{font-size:clamp(46px,4.4vw,66px);line-height:1.08;letter-spacing:-.04em;margin:64px 0 40px}
.contact>p:not(.contact-label){font-size:14px}
footer{padding-top:88px;gap:48px}.wordmark-large{width:min(40vw,460px)}footer>p{font-size:20px}
.service-heading{display:grid;grid-template-columns:1.25fr 1fr;gap:6vw;align-items:end;margin-bottom:64px}
.service-intro h3{font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:21px;line-height:1.7;letter-spacing:.03em;margin:0 0 18px}
.service-intro p{font-family:"Noto Sans JP",sans-serif;font-size:14px;line-height:2.1;margin:0}
.web-work{background:var(--paper)}
.web-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.web-work-card{display:block;min-width:0}
.web-work-cover{position:relative;aspect-ratio:4/3;overflow:hidden;display:flex;align-items:center;justify-content:center}
.web-work-date>img:first-child{height:100%;object-fit:cover;filter:brightness(.7);transition:transform .6s var(--ease)}
.web-work-date .web-work-brand{position:absolute;width:32%;height:auto;filter:grayscale(1) brightness(0) invert(1)}
.web-work-card:hover .web-work-date>img:first-child{transform:scale(1.025)}
.web-work-cherie{background:#e7dedb;color:#6d494a}
.web-work-editorial{font-family:Georgia,serif;font-size:clamp(32px,3.5vw,54px);line-height:1.05;text-align:center;letter-spacing:-.025em}
.web-work-cover-label{position:absolute;bottom:22px;font-family:"Noto Sans JP",sans-serif;font-size:10px;letter-spacing:.15em}
.web-work-luff{background:#e5e3d9}.web-work-luff img{width:72%;height:auto;mix-blend-mode:multiply}
.web-work-caption{display:flex;justify-content:space-between;gap:12px;padding:24px 0;border-bottom:1px solid var(--line)}
.web-work-caption small{font-size:9px;letter-spacing:.14em;color:#6f706a}
.web-work-caption h3{font-family:"Noto Sans JP",sans-serif;font-size:18px;font-weight:400;margin:14px 0 8px;letter-spacing:.03em}
.web-work-caption p{font-size:11px;margin:0;color:#6f706a;letter-spacing:.04em}
.web-work-caption>span{font-size:21px;align-self:center;transition:transform .3s}.web-work-card:hover .web-work-caption>span{transform:translate(3px,-3px)}
.ai-service{background:#e6e8e4}.ai-service .section-index span{color:#63738b}
.ai-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ai-service-grid article{padding:28px 28px 34px 0}.ai-service-grid article+article{padding-left:28px;border-left:1px solid var(--line)}
.ai-service-grid article>span{font-size:10px;letter-spacing:.13em;color:#63738b}
.ai-service-grid h3{font-family:"Noto Sans JP",sans-serif;font-size:20px;font-weight:400;letter-spacing:.02em;margin:42px 0 20px}
.ai-service-grid p{font-family:"Noto Sans JP",sans-serif;font-size:14px;line-height:2.1;margin:0;max-width:28em}
.service-contact{display:flex;justify-content:space-between;gap:28px;align-items:center;width:fit-content;max-width:100%;margin:40px 0 0 auto;padding:14px 0;border-bottom:1px solid var(--ink);font-family:"Noto Sans JP",sans-serif;font-size:12px;letter-spacing:.05em}.service-contact span{font-size:19px}
@media(min-width:901px) and (max-width:1200px){
 .intro-grid{grid-template-columns:.7fr 1.5fr 1.25fr;gap:24px}.intro-title{font-size:40px}
 .statement-body{margin-left:20%;font-size:14px;gap:4vw}.representative{gap:4vw}
 .company-contact .section-pad{padding-left:36px;padding-right:36px}
}
@media(max-width:900px){
 .site-header,.site-header.is-scrolled{height:72px;padding-left:22px;padding-right:22px;color:var(--ink);background:rgba(240,239,233,.95)}
 .site-header .wordmark{width:136px;flex-shrink:0}.site-header .wordmark img{filter:none}
 .site-header.nav-open .global-nav{inset:72px 0 0;min-height:calc(100svh - 72px);font-size:19px}
 body.admin-bar .site-header.nav-open .global-nav{inset:118px 0 0}
 .hero{height:100svh;min-height:600px;padding:104px 0 160px;background:var(--paper);display:flex;flex-direction:column;justify-content:center;gap:40px}
 .hero-film{position:relative;inset:auto;flex:0 0 auto;width:calc(100% - 32px);aspect-ratio:910/512;margin:0 auto;background:#d7d6ce}
 .hero-video,.hero-end{height:100%;object-fit:contain}.hero-shade{display:none}
 .hero-purpose{position:relative;right:auto;bottom:auto;align-self:center;font-size:clamp(23px,5.7vw,34px);line-height:1.6;letter-spacing:.065em;color:var(--ink);margin:0 20px;text-align:center}
 .hero-meta{left:22px;bottom:36px;display:flex;flex-direction:column;gap:6px;color:var(--ink);font-size:8px;letter-spacing:.1em;line-height:1.5}
 .movie-toggle{right:22px;bottom:36px;color:var(--ink);padding:10px 0;font-size:9px}
 .scroll-mark{display:none}
 .section-pad{padding:76px 22px}.section-index{margin-bottom:44px;font-size:9px;gap:12px}
 .display-title{font-size:clamp(40px,10vw,64px);line-height:1.06;letter-spacing:-.045em}
 .intro-grid{grid-template-columns:1fr;gap:28px}.intro-title{font-size:clamp(32px,8.4vw,46px);line-height:1.55;letter-spacing:-.025em}
 .intro-copy{margin-top:0;font-size:14px}.intro-copy p{margin-bottom:2em}
 .fragments{height:460px;margin:64px -22px}.fragment-a{height:250px}.fragment-b{top:220px;height:220px}.fragments>p{top:180px;left:30%;font-size:58px}
 .intro-coda{margin-left:0;grid-template-columns:1fr;gap:16px;font-size:15px}
 .projects-head{grid-template-columns:1fr;gap:0;padding-bottom:52px}.projects-lead{font-size:14px;margin-top:28px}
 .project-card{min-height:0;grid-template-columns:1fr}.project-image{min-height:0;aspect-ratio:4/3}.project-image img{position:absolute;inset:0;width:100%;height:100%}
 .project-detail{min-height:0;padding:36px 22px;gap:32px}.project-brand-logo{width:180px}.project-detail h3{font-size:48px}.project-detail>p{font-size:14px;margin:0}
 .philosophy-top h2{font-size:clamp(27px,7.2vw,40px);line-height:1.65}.philosophy-top>p{margin-top:38px}
 .values{margin-top:64px}.values article{min-height:260px;padding:24px 16px}.values h3{font-size:23px;margin-top:32px}.values p{font-size:12px}
 .statement{min-height:0}.statement-lead{font-size:clamp(29px,8vw,42px);margin-bottom:52px;white-space:normal}.statement-body{margin-left:0;grid-template-columns:1fr;font-size:14px;gap:0}.statement-mark{display:none}
 .people .display-title{margin-bottom:40px}.representative{grid-template-columns:1fr;gap:32px}.representative-photo{position:static;max-width:560px;width:100%;margin:0 auto}
 .representative-name h3{font-size:25px}.representative-copy h4{font-size:19px;margin:32px 0 24px;letter-spacing:0}.representative-message{font-size:14px;line-height:2.05;letter-spacing:.015em}
 .people-list{margin-left:0;margin-top:40px}.people-list h3{font-size:25px}
 .journal-grid{grid-template-columns:1fr;gap:40px}.journal h2{font-size:clamp(28px,7.3vw,40px);line-height:1.65}.journal h2 span{white-space:normal}
 .company dl{grid-template-columns:70px minmax(0,1fr);gap:14px}.company dd{font-size:14px}.company dt{font-size:11px}
 .contact h2{font-size:clamp(42px,11vw,62px);line-height:1.08;margin:48px 0 30px}.contact-status{margin-top:40px}
 footer{padding:64px 22px 32px;gap:32px}.wordmark-large{width:min(78vw,380px)}footer>p{font-size:17px}
 .service-heading{grid-template-columns:1fr;gap:30px;margin-bottom:40px}.service-intro h3{font-size:19px;margin-bottom:14px}.service-intro p{font-size:14px}
 .web-work-grid{grid-template-columns:1fr;gap:32px}.web-work-cover{aspect-ratio:16/10}.web-work-editorial{font-size:52px}.web-work-caption{padding-top:20px;padding-bottom:20px}
 .ai-service-grid{grid-template-columns:1fr}.ai-service-grid article,.ai-service-grid article+article{padding:26px 0;border-left:0}.ai-service-grid article+article{border-top:1px solid var(--line)}.ai-service-grid h3{font-size:19px;margin:24px 0 14px}
 .luff-contact-form input[type=text],.luff-contact-form input[type=email],.luff-contact-form select,.luff-contact-form textarea{font-size:16px}
}
@media(max-width:360px){.hero{gap:28px;min-height:560px}.hero-purpose{font-size:22px}.representative-copy h4{font-size:18px}.values h3{font-size:21px}}
@media(max-width:900px) and (orientation:landscape){.hero{height:auto;min-height:0;padding-top:104px;padding-bottom:116px;gap:28px}.hero-film{width:min(70%,620px)}.hero-meta,.movie-toggle{bottom:24px}}

/* Keep rotated decorative fragments within the page at small widths. */
.fragments{overflow:clip}

/* 1.3.3: supplied logo, with its gold accent retained on both backgrounds. */
.site-header .wordmark{position:relative}
.site-header .wordmark img{filter:none}
.site-header .wordmark-dark{visibility:hidden}
.site-header .wordmark-light{position:absolute;inset:0}
.site-header.is-scrolled .wordmark-dark,.site-header.nav-open .wordmark-dark{visibility:visible}
.site-header.is-scrolled .wordmark-light,.site-header.nav-open .wordmark-light{visibility:hidden}
@media(max-width:900px){.site-header .wordmark-dark{visibility:visible}.site-header .wordmark-light{visibility:hidden}}
