@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#0b0b0b;--fg:#efefeb;--muted:#8b8b87;--line:#323230;--accent:#e2e0d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:'DM Sans','Helvetica Neue',Arial,'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:#f0f0e9;color:#0b0b0b}.header{position:fixed;z-index:40;left:0;right:0;top:0;height:84px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff22;background:#0b0b0bd9;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;width:185px;height:55px;overflow:hidden}.brand img{width:205px;max-width:none;filter:invert(1);mix-blend-mode:screen;transform:scale(1.32);transform-origin:left center}.header-right{display:flex;align-items:center;gap:65px}.header-meta,.menu-button,.eyebrow,.hero-top,.hero-footer,.section-head,.index,.work-info>span:first-child,.note,.contact-foot,.footer{font-size:10px;letter-spacing:.15em;font-weight:600}.header-meta{color:#9e9e99}.header-meta b{padding:0 7px;color:#555}.menu-button{background:none;border:0;color:var(--fg);cursor:pointer;display:flex;align-items:center;gap:19px;padding:15px 0}.hamburger{width:22px;display:grid;gap:6px}.hamburger i{display:block;height:1px;background:var(--fg);transition:transform .3s}.menu-button[aria-expanded=true] .hamburger i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true] .hamburger i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav{position:fixed;z-index:35;inset:84px 0 auto;background:#141414;display:flex;flex-direction:column;padding:45px 8%;transform:translateY(-140%);transition:transform .5s cubic-bezier(.2,.8,.2,1);border-bottom:1px solid var(--line)}.nav.open{transform:translateY(0)}.nav a{padding:14px 0;font-size:12px;color:#777;border-bottom:1px solid #333}.nav a span{font-size:clamp(30px,5vw,66px);font-weight:700;color:white;margin-left:35px}.hero{height:min(950px,100svh);min-height:690px;position:relative;overflow:hidden;padding:125px 4.5% 32px;display:flex;flex-direction:column;justify-content:space-between}.hero-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(to bottom,transparent 8%,black 55%,transparent 95%)}.hero:after{content:'';position:absolute;top:5%;right:8%;width:45vw;height:45vw;border-radius:50%;background:radial-gradient(circle,#ffffff0d,transparent 65%);pointer-events:none}.hero-top,.hero-footer{position:relative;z-index:2;display:flex;justify-content:space-between;color:#888}.hero-top .dot{display:inline-block;width:6px;height:6px;background:#eee;border-radius:50%;margin-right:11px}.hero-center{position:relative;z-index:2;margin-top:3vh}.eyebrow{color:#a8a8a2}.hero-title{font-family:'Space Grotesk',sans-serif;font-size:clamp(75px,12.6vw,220px);line-height:.85;letter-spacing:-.09em;font-weight:700;margin:27px 0 36px;white-space:nowrap}.hero-title em,.contact-title em{font-style:normal;font-weight:400;color:#777}.hero-title span{color:#d6d6d0}.hero-bottom{display:flex;align-items:end;justify-content:space-between;border-top:1px solid #ffffff40;padding-top:22px}.hero-bottom p{font-size:clamp(12px,1.2vw,16px);line-height:2;color:#b8b8b3;letter-spacing:.08em}.round-arrow{display:grid;place-items:center;width:65px;height:65px;border:1px solid #777;border-radius:50%;font-size:26px;transition:background .25s,color .25s,transform .25s}.round-arrow:hover{background:white;color:black;transform:rotate(45deg)}.hero-number{position:absolute;right:3%;bottom:10%;font-size:25vw;font-weight:800;letter-spacing:-.13em;color:#ffffff05;pointer-events:none}.section{padding:125px 6% 145px}.section-head{display:flex;justify-content:space-between;border-top:1px solid #666;padding-top:20px;margin-bottom:90px;color:#bcbcb6}.index{color:#aaa}.section-title{font-family:'Space Grotesk',sans-serif;font-size:clamp(48px,7vw,110px);line-height:1.16;letter-spacing:-.065em;font-weight:600;margin:0}.section-title span{color:#858581}.intro{background:#e8e7e1;color:#151515}.intro .section-head{color:#333}.intro-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:10%}.intro .section-title span{color:#92928d}.intro-copy{padding-top:15%;font-size:16px;line-height:2.3;letter-spacing:.04em}.intro-copy p{margin:0 0 24px}.text-link{display:flex;justify-content:space-between;border-bottom:1px solid #111;margin-top:70px;padding-bottom:15px;font-size:12px;letter-spacing:.12em;font-weight:700}.works{background:#101010}.works-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:65px}.works-heading p{color:#aaa;font-size:13px;line-height:2}.period{color:white!important}.work-list{display:grid;grid-template-columns:1fr 1fr;gap:65px 22px}.work-item:first-child{grid-column:span 2}.work-visual{height:390px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.work-item:first-child .work-visual{height:550px}.visual-one{background:radial-gradient(ellipse at 60% 50%,#343434,#151515 65%)}.visual-two{background:#e1dfd8;color:#111}.visual-three{background:linear-gradient(130deg,#4b4b4b,#171717 55%,#2a2a2a)}.work-art{font-size:clamp(60px,13vw,210px);letter-spacing:-.09em;font-weight:800;color:#eeeeea;z-index:1}.work-art span{font-weight:300;color:#555}.work-art-small{font-size:clamp(44px,5vw,80px);line-height:.92;color:#151515}.visual-lines{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 119px,#ffffff08 120px)}.orbit{position:absolute;width:300px;height:300px;border:1px solid #888;border-radius:50%;transform:rotate(-30deg) scaleX(.5)}.orbit span{position:absolute;width:20px;height:20px;background:#111;border-radius:50%;top:0;left:50%}.photo-frame{width:62%;height:75%;border:1px solid #aaa;position:relative;box-shadow:25px 25px 0 #0005}.photo-frame:before{content:'';position:absolute;inset:15%;border:1px solid #ffffff33}.photo-frame span{position:absolute;bottom:15px;left:15px;font-size:9px;letter-spacing:.2em;color:#ddd}.work-info{position:relative;display:flex;align-items:center;gap:30px;padding:22px 0;border-top:1px solid #555}.work-info>span:first-child{color:#8f8f8c;white-space:nowrap}.work-info h3{font-size:17px;font-weight:500;flex:1;margin:0}.work-arrow{font-size:22px}.note{color:#666;margin-top:45px;letter-spacing:0}.services{background:#171717}.services .section-title{margin-bottom:95px}.service-row{display:grid;grid-template-columns:65px 1fr 1fr 20px;gap:20px;align-items:center;border-top:1px solid #444;padding:32px 0;transition:padding .3s,background .3s}.service-row:last-child{border-bottom:1px solid #444}.service-row:hover{padding-left:15px;background:#ffffff06}.service-row>span{color:#999;font-size:12px}.service-row>span:last-child{font-size:22px}.service-row h3{font-size:clamp(20px,2.5vw,36px);letter-spacing:-.04em;font-weight:500;margin:0}.service-row p{color:#aaa;font-size:12px;margin:0}.contact{background:#e8e7e1;color:#111;padding-bottom:65px}.contact .section-head{color:#333}.contact .eyebrow{color:#777}.contact-title{font-family:'Space Grotesk',sans-serif;font-size:clamp(65px,11vw,180px);line-height:.9;letter-spacing:-.09em;margin:35px 0 75px;font-weight:700}.contact-title em{color:#999}.contact-title span{color:#171717}.contact-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #333;border-bottom:1px solid #333;padding:35px 0;font-size:clamp(18px,3.3vw,48px);letter-spacing:-.04em}.contact-link span{font-size:36px}.contact-foot{display:flex;justify-content:space-between;margin-top:60px;color:#666;letter-spacing:.05em}.footer{padding:35px 6%;display:flex;justify-content:space-between;color:#777}.loading{position:fixed;z-index:100;inset:0;background:#0b0b0b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;font-size:14px;letter-spacing:.3em;transition:opacity .6s,visibility .6s}.loading.done{opacity:0;visibility:hidden}.loadbar{width:190px;height:1px;background:#444}.loadbar i{display:block;width:100%;height:100%;background:white;transform-origin:left;animation:load .9s ease-in-out}@keyframes load{from{transform:scaleX(0)}to{transform:scaleX(1)}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}.cursor-light{position:fixed;z-index:1;pointer-events:none;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,#ffffff07,transparent 70%);transform:translate(-50%,-50%)}@media(max-width:800px){.header{height:70px}.header-meta{display:none}.nav{top:70px}.hero{padding-top:105px;min-height:650px;height:90svh}.hero-title{font-size:clamp(62px,12.5vw,110px)}.hero-footer .coordinates{display:none}.section{padding:80px 5% 95px}.section-head{margin-bottom:55px}.intro-layout{grid-template-columns:1fr;gap:35px}.intro-copy{padding:0}.works-heading{display:block}.works-heading p{margin-top:25px}.work-list{grid-template-columns:1fr;gap:30px}.work-item:first-child{grid-column:span 1}.work-item:first-child .work-visual,.work-visual{height:300px}.work-art{font-size:15vw}.work-info{gap:10px;flex-wrap:wrap}.work-info h3{font-size:15px}.service-row{grid-template-columns:30px 1fr 20px}.service-row p{grid-column:2;grid-row:2}.service-row>span:last-child{grid-column:3;grid-row:1}.contact-foot,.footer{gap:20px;flex-wrap:wrap}.contact-link{overflow-wrap:anywhere}.cursor-light{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.loading{display:none}*{animation-duration:.01ms!important}}

/* Header logo: transparent-cropped image, no scaling or clipping */
.header .brand{width:clamp(160px,19vw,248px);height:56px;overflow:visible;flex-shrink:0;display:flex;align-items:center}
.header .brand img{display:block;width:100%;height:auto;max-width:100%;max-height:54px;object-fit:contain;object-position:left center;transform:none;filter:invert(1);mix-blend-mode:normal}
.header-right{min-width:0;gap:clamp(16px,3vw,65px)}
@media(max-width:480px){.header{padding-inline:5%}.header .brand{width:clamp(150px,45vw,210px)}.menu-button{gap:10px}}
/* Portfolio media */
.work-item{min-width:0}
.work-visual{aspect-ratio:16/9;height:auto!important;background:#191919;overflow:hidden}
.work-item:first-child .work-visual{height:auto!important}
.work-media{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .45s ease}
.work-item:hover .work-media{transform:scale(1.025)}
.work-item a.work-open{display:block;cursor:pointer}
.work-item a.work-open:focus-visible{outline:2px solid #fff;outline-offset:4px}
.work-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;inset:0;color:#e2e2df;font-family:'Space Grotesk',sans-serif;font-size:clamp(30px,6vw,95px);font-weight:700;letter-spacing:-.06em;background:linear-gradient(135deg,#303030,#111)}
.work-item:nth-child(2) .work-placeholder{background:#e2e0da;color:#191919}
.work-item:nth-child(3) .work-placeholder{background:linear-gradient(135deg,#353535,#121212)}
.work-play{position:absolute;bottom:18px;right:18px;background:#0b0b0bcc;border:1px solid #ffffff70;padding:9px 13px;font-size:11px;letter-spacing:.1em}
.work-detail{color:#aaa;font-size:12px;line-height:1.8;margin:0 0 8px}
.work-info{flex-wrap:wrap}
.work-info h3{min-width:45%}
@media(max-width:800px){.work-visual{aspect-ratio:16/9}}

/* Featured 2026 portfolio on the home page */
.featured-film{background:#0b0b0b;padding-top:100px;padding-bottom:110px}.featured-film .section-head{margin-bottom:58px}.featured-film-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:42px}.featured-film-heading p:last-child{color:#a9a9a5;font-size:13px;line-height:2;letter-spacing:.035em}.featured-film-player{position:relative;width:100%;aspect-ratio:16/9;background:#181818;border:1px solid #363636;overflow:hidden}.featured-film-play{display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#151515;color:white;cursor:pointer;text-align:center}.featured-film-play img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s,filter .45s;filter:brightness(.72)}.featured-film-play:hover img{transform:scale(1.025);filter:brightness(.55)}.featured-film-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 42%)}.featured-film-play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border:1px solid #ffffffa6;border-radius:50%;display:grid;place-items:center;background:#0009;font-size:23px;padding-left:4px;transition:background .2s,scale .2s}.featured-film-play:hover .featured-film-play-icon{background:#fff;color:#111;scale:1.06}.featured-film-play-label{position:absolute;bottom:24px;left:28px;font-size:11px;letter-spacing:.14em;font-weight:700}.featured-film-player iframe{width:100%;height:100%;border:0;display:block}.featured-film-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:18px;font-size:11px;letter-spacing:.12em;color:#999}.featured-film-bottom a{color:#e6e6e6;border-bottom:1px solid #777;padding-bottom:4px}@media(max-width:800px){.featured-film{padding-top:70px;padding-bottom:75px}.featured-film-heading{display:block}.featured-film-heading p:last-child{margin-top:18px}.featured-film-play-icon{width:58px;height:58px;font-size:19px}.featured-film-play-label{left:12px;bottom:12px;font-size:9px}.featured-film-bottom{font-size:9px}}
/* 01 PRODUCTION — Motion Upgrade */

/* スクロール時に登場 */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s ease, transform .8s ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* 制作実績のホバー */
.work-item {
  transition: transform .45s ease;
}

.work-item:hover {
  transform: translateY(-5px);
}

/* ボタンの動き */
button,
.button,
a {
  transition:
    opacity .25s ease,
    transform .25s ease;
}

button:hover,
.button:hover {
  transform: translateY(-2px);
}

/* 動きを減らす設定への対応 */
@media (prefers-reduced-motion: reduce) {
  .reveal,
  .work-item,
  button,
  .button,
  a {
    transition: none !important;
    animation: none !important;
  }
}


/* Expandable WORKS categories and nested project previews */
.work-category-toggle{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}
.work-category-toggle .work-visual{position:relative}
.work-category-toggle .work-media{filter:brightness(.65)}
.work-category-overlay{position:absolute;inset:0;display:grid;place-items:center;font-family:'Space Grotesk',sans-serif;font-size:clamp(40px,8vw,120px);font-weight:700;letter-spacing:-.06em;color:#fff;text-shadow:0 2px 25px #0008;pointer-events:none}
.work-category-toggle:hover .work-media{transform:scale(1.025);filter:brightness(.48)}
.work-category-toggle:focus-visible{outline:2px solid #fff;outline-offset:5px}
.work-category-panel[hidden]{display:none}
.work-category-panel{padding:20px 0 35px;border-top:1px solid #444;animation:worksReveal .35s ease}
.work-project{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:25px;align-items:start;padding:22px 0;border-bottom:1px solid #333}
.work-project-media{display:block;position:relative;min-width:0}
.work-project-media .work-visual{aspect-ratio:16/9}
.work-project-copy{padding:5px 0}
.work-project-copy span{font-size:10px;color:#999;letter-spacing:.13em}
.work-project-copy h4{font-size:clamp(18px,2vw,28px);font-weight:500;margin:12px 0 20px}
.work-project-copy p{color:#aaa;font-size:12px;line-height:2;margin:0}
.work-empty{font-size:12px;color:#999;padding:10px 0}
@keyframes worksReveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.work-project{grid-template-columns:1fr;gap:15px}.work-category-overlay{font-size:clamp(38px,12vw,75px)}}
@media(prefers-reduced-motion:reduce){.work-category-panel{animation:none}}


/* Three category cards on the home page */
.work-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.work-category-card{display:block;min-width:0;color:inherit}
.work-category-cover{position:relative;aspect-ratio:4/5;background:linear-gradient(145deg,#30302f,#141414);display:grid;place-items:center;overflow:hidden}
.work-category-card:nth-child(2) .work-category-cover{background:#e2e0da;color:#161616}
.work-category-card:nth-child(3) .work-category-cover{background:linear-gradient(145deg,#393939,#111)}
.work-category-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45);transition:transform .6s ease}
.work-category-cover strong{position:relative;z-index:1;font-family:'Space Grotesk',sans-serif;font-size:clamp(24px,3.8vw,62px);font-weight:700;letter-spacing:-.07em;text-align:center;overflow-wrap:anywhere}
.work-category-card:hover .work-category-cover img{transform:scale(1.045)}
.work-category-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #555;padding:20px 0;font-size:10px;letter-spacing:.1em;color:#bdbdb9}
.work-category-footer span:last-child{font-size:24px;color:white}
.work-category-card:focus-visible{outline:2px solid #fff;outline-offset:5px}
/* Individual category listing pages */
.works-back-header{font-size:11px;letter-spacing:.12em;color:#ddd}
.works-page{max-width:1550px;margin:0 auto;padding:165px 6% 110px;min-height:80vh}
.works-page .section-head{margin-bottom:75px}
.works-page-title{font-family:'Space Grotesk',sans-serif;font-size:clamp(65px,12vw,175px);letter-spacing:-.09em;line-height:.95;margin:18px 0 25px;overflow-wrap:anywhere}
.works-page-description{color:#aaa;font-size:13px;line-height:2;margin:0 0 80px}
.works-page-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 24px}
.works-page-project{min-width:0}
.works-page-media{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:16/9;background:#252525;overflow:hidden;color:#fff;font-size:38px;font-weight:700}
.works-page-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.works-page-media:hover img{transform:scale(1.025)}
.works-page-details{border-top:1px solid #555;padding-top:20px}
.works-page-type{color:#999;font-size:10px;letter-spacing:.12em}
.works-page-details h2{font-size:clamp(18px,2vw,26px);font-weight:500;margin:12px 0}
.works-page-details p{font-size:12px;line-height:1.9;color:#aaa;margin:0}
.works-page-empty{grid-column:1/-1;color:#aaa;padding:55px 0}
.works-page-nav{display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid #555;margin-top:100px;padding-top:25px;font-size:12px;letter-spacing:.08em}
.works-page-nav a:hover,.works-page-return:hover{opacity:.65}
.works-page-return{display:inline-block;margin-top:60px;font-size:12px;letter-spacing:.12em}
@media(max-width:800px){.work-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.work-category-cover{aspect-ratio:3/5}.work-category-cover strong{font-size:clamp(12px,3.4vw,28px)}.work-category-footer{font-size:8px;padding:10px 0}.work-category-footer span:last-child{font-size:15px}.works-page{padding:120px 5% 80px}.works-page-list{grid-template-columns:1fr;gap:42px}.works-page-description{margin-bottom:45px}}


/* Inline YouTube playback on project listing pages */
button.works-page-media{padding:0;border:0;cursor:pointer;font:inherit;text-align:center;transform:none}
button.works-page-media:hover{transform:none}
.works-page-media:focus-visible{outline:2px solid #fff;outline-offset:4px}
.works-page-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.works-page-media.is-playing{cursor:default}
.works-page-media.is-playing:hover{transform:none}


/* 2026 visual identity: hero motion and founder portrait */
.hero-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.27;pointer-events:none;filter:grayscale(1) contrast(1.08)}
.hero:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0b0b0bba 0%,#0b0b0b77 48%,#0b0b0b8c 100%);pointer-events:none}
.hero-grid{z-index:1}
.founder-section{position:relative;display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1fr);gap:clamp(25px,6vw,110px);align-items:center;border-top:1px solid #bdbbb5;margin-top:clamp(65px,9vw,135px);padding-top:clamp(40px,6vw,80px)}
.founder-portrait{width:100%;aspect-ratio:1/1;overflow:hidden;background:#cecdc7}
.founder-portrait img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .7s ease}
.founder-portrait:hover img{transform:scale(1.035)}
.founder-copy{position:relative;z-index:1;min-width:0}
.founder-copy .eyebrow{color:#777}
.founder-copy h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(52px,7.8vw,130px);line-height:.92;letter-spacing:-.085em;font-weight:600;margin:25px 0 35px}
.founder-period{color:#8d8d89}
.founder-role{font-size:13px;letter-spacing:.04em;line-height:1.9;border-top:1px solid #bdbbb5;padding-top:18px}
.founder-caption{font-size:10px;letter-spacing:.22em;margin-top:42px;color:#777}
.founder-seal{position:absolute;right:0;bottom:0;width:clamp(70px,11vw,150px);aspect-ratio:1/1;opacity:.26;mix-blend-mode:multiply;pointer-events:none}
.founder-seal img{width:100%;height:100%;object-fit:contain}
@media(max-width:800px){.founder-section{grid-template-columns:1fr;gap:26px}.founder-portrait{max-width:520px}.founder-copy h3{font-size:clamp(54px,13vw,95px)}.founder-seal{width:75px;bottom:12px}.hero-background-video{opacity:.23}}
@media(prefers-reduced-motion:reduce){.hero-background-video{display:none}}


/* Collaboration philosophy — editorial layout */
.philosophy-section{display:grid;grid-template-columns:minmax(145px,.32fr) minmax(0,1fr);gap:clamp(30px,7vw,115px);border-top:1px solid #bdbbb5;margin-top:clamp(65px,9vw,130px);padding-top:28px}
.philosophy-index{display:flex;flex-direction:column;gap:10px;font-size:10px;letter-spacing:.14em;font-weight:600;color:#777}
.philosophy-content{max-width:950px}
.philosophy-content .eyebrow{color:#777}
.philosophy-content h3{font-family:'Space Grotesk','Noto Sans JP',sans-serif;font-size:clamp(40px,6vw,90px);line-height:1.35;letter-spacing:-.055em;font-weight:600;margin:20px 0 38px}
.philosophy-content h3 span{color:#858581}
.philosophy-lead{font-size:clamp(17px,2vw,26px)!important;font-weight:500;line-height:1.9!important;color:#161616!important}
.philosophy-content>p:not(.eyebrow){max-width:690px;font-size:14px;line-height:2.3;letter-spacing:.03em}
.philosophy-attribution{margin-top:30px;font-size:11px!important;color:#777!important}
.works-project-external{display:inline-block;margin-top:20px;padding-bottom:5px;border-bottom:1px solid #777;font-size:11px;letter-spacing:.05em;color:#ddd}
.works-project-external:hover{opacity:.65}
@media(max-width:800px){.philosophy-section{grid-template-columns:1fr;gap:25px}.philosophy-index{flex-direction:row;justify-content:space-between}.philosophy-content h3{font-size:clamp(38px,9vw,62px)}}


/* Interactive cinematic atmosphere — subtle stars and water ripples */
.hero-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;display:block;opacity:.88}
.hero-background-video{z-index:0}
.hero-ripple-hint{position:absolute;z-index:2;right:4.5%;top:49%;font-size:9px;letter-spacing:.2em;color:#ffffff55;pointer-events:none;writing-mode:vertical-rl}
.hero-grid{z-index:1}
.hero:before{z-index:1}
.interactive-cursor{position:fixed;top:0;left:0;z-index:95;width:34px;height:34px;border:1px solid #dededacc;border-radius:50%;pointer-events:none;opacity:0;mix-blend-mode:difference;transform:translate3d(-100px,-100px,0);transition:opacity .25s,width .2s,height .2s,margin .2s;background:#ffffff10}
.interactive-cursor span{position:absolute;top:50%;left:50%;width:3px;height:3px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}
.interactive-cursor.is-visible{opacity:1}
.interactive-cursor.is-hover{width:56px;height:56px;margin:-11px 0 0 -11px;background:#ffffff26}
.loading{perspective:800px}
.loading-3d-mark{width:112px;height:112px;display:grid;place-items:center;transform-style:preserve-3d;animation:logoRotate3d 2.6s cubic-bezier(.2,.75,.2,1) both}
.loading-3d-mark span{display:grid;place-items:center;width:90px;height:90px;border:2px solid #eaeae4;color:#f2f2ed;font-family:'Space Grotesk',sans-serif;font-size:51px;font-weight:700;letter-spacing:-.12em;padding-right:7px;box-shadow:0 0 0 1px #ffffff33 inset,9px 8px 0 #7777;backface-visibility:visible}
@keyframes logoRotate3d{0%{transform:rotateY(-110deg) rotateX(20deg) scale(.65);opacity:0}35%{opacity:1}100%{transform:rotateY(360deg) rotateX(0) scale(1);opacity:1}}
@media(pointer:coarse){.interactive-cursor{display:none}.hero-ripple-hint{display:none}}
@media(prefers-reduced-motion:reduce){.hero-atmosphere,.interactive-cursor,.loading-3d-mark{display:none!important}.hero-ripple-hint{display:none}}


/* Archival identity, inspired by the original 01 PRODUCTION graphics */
.identity{background:#d6d5d1;color:#171717;overflow:hidden}
.identity .section-head{border-color:#777;color:#333}
.identity-graphic{position:relative;isolation:isolate;min-height:clamp(260px,37vw,560px);background:#a4a4a1;overflow:hidden;border:1px solid #2a2a2a;margin-bottom:clamp(55px,8vw,110px);background-image:linear-gradient(135deg,#ffffff42,#00000021),repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#1b1b1b77 calc(25% - 1px),#1b1b1b77 25%),repeating-linear-gradient(0deg,transparent 0,transparent calc(50% - 2px),#1b1b1b99 calc(50% - 2px),#1b1b1b99 50%);background-blend-mode:normal}
.identity-graphic:before{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,#00000005 0px,#ffffff18 2px,#0000000b 4px);mix-blend-mode:multiply}
.identity-graphic:after{content:'';position:absolute;inset:0;border:12px solid #1111110b;pointer-events:none}
.identity-monogram{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%) rotate(-18deg) skewY(8deg);display:flex;gap:.04em;font-family:'Space Grotesk',sans-serif;font-size:clamp(140px,28vw,450px);line-height:1;font-weight:800;letter-spacing:-.16em;color:#181818;text-shadow:14px 14px 0 #66666666,26px 26px 0 #11111126;user-select:none}
.identity-monogram span:last-child{transform:translateY(13%)}
.identity-corner,.identity-serial{position:absolute;top:22px;font-size:12px;letter-spacing:.3em;color:#151515}
.identity-corner{left:25px}.identity-serial{right:25px}
.identity-graphic-bottom{position:absolute;left:4%;right:4%;bottom:5%;display:flex;justify-content:space-between;align-items:end;gap:20px;border-top:1px solid #252525;padding-top:15px}
.identity-graphic-bottom strong{font-size:clamp(19px,3.3vw,50px);letter-spacing:-.055em}
.identity-graphic-bottom span{font-size:9px;letter-spacing:.15em;max-width:220px;text-align:right}
.identity-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%}
.identity .section-title{font-size:clamp(52px,8vw,110px)}
.identity .section-title span{color:#777}
.identity-description{max-width:480px;font-size:14px;line-height:2.2;margin-top:40px}
.identity-details{margin:0}
.identity-details>div{display:grid;grid-template-columns:140px 1fr;gap:15px;border-top:1px solid #555;padding:23px 0}
.identity-details>div:last-child{border-bottom:1px solid #555}
.identity-details dt{font-size:10px;letter-spacing:.1em;color:#555;font-weight:700}
.identity-details dd{margin:0;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.identity-details small{font-size:11px;color:#666}
.identity-details a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.identity-layout{grid-template-columns:1fr;gap:45px}.identity-details>div{grid-template-columns:100px 1fr}.identity-graphic-bottom span{font-size:7px}.identity-graphic{min-height:270px}}


/* 01 name and logo philosophy */
.identity-concept{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;border-top:1px solid #555;padding:clamp(40px,6vw,80px) 0;margin-bottom:clamp(60px,9vw,120px)}
.identity-concept-heading .eyebrow{color:#666}
.identity-concept-heading h3{font-size:clamp(36px,4.5vw,68px);letter-spacing:-.055em;line-height:1.35;margin:22px 0 30px;font-weight:650}
.identity-concept-heading>p:last-child{max-width:390px;font-size:13px;line-height:2.1;color:#555}
.identity-concept-list article{border-top:1px solid #777;padding:26px 0 35px}
.identity-concept-list article:last-child{border-bottom:1px solid #777}
.identity-concept-list .concept-number{display:block;font-size:10px;letter-spacing:.17em;color:#777}
.identity-concept-list h4{font-size:clamp(23px,3vw,40px);letter-spacing:-.04em;margin:13px 0 18px}
.identity-concept-list ul{margin:0;padding-left:1.2em;font-size:13px;line-height:2.1}
.identity-concept-list li{padding-left:3px}
.identity-concept-list article>p{font-size:13px;line-height:2.2;margin:0;max-width:630px}
@media(max-width:800px){.identity-concept{grid-template-columns:1fr;gap:30px}.identity-concept-heading h3{font-size:clamp(36px,8vw,56px)}}

.exhibition-gallery{display:grid;grid-template-columns:1.6fr 1fr;gap:14px;margin:0 0 clamp(55px,8vw,110px)}.exhibition-gallery img{display:block;width:100%;height:clamp(240px,38vw,520px);object-fit:cover;filter:grayscale(1);transition:filter .5s,transform .5s}.exhibition-gallery img:hover{filter:grayscale(0)}@media(max-width:650px){.exhibition-gallery{grid-template-columns:1fr}.exhibition-gallery img{height:270px}}

/* Portfolio editor */
.works-editor-toolbar{margin:0 0 40px;padding:24px;border:1px solid #777;background:#202020;color:#eee}
.works-editor-toolbar strong{display:block;font-size:14px;letter-spacing:.1em}
.works-editor-toolbar p{max-width:850px;font-size:12px;line-height:1.9;color:#bbb}
.works-editor-actions,.works-editor-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
.works-editor-actions button,.works-editor-actions a,.works-editor-controls button{cursor:pointer;background:transparent;color:#fff;border:1px solid #777;padding:10px 14px;font-size:12px}
.works-editor-actions button:first-child{background:#e8e7e1;color:#111}
.works-editor-actions button:hover,.works-editor-controls button:hover{border-color:#fff}
.works-page-project.is-editor-hidden{opacity:.35}
.works-editor-controls{padding-top:18px}

/* Compact drag-and-drop portfolio editing */
body:has(.works-editor-toolbar) .works-page-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}
body:has(.works-editor-toolbar) .works-page-project{min-width:0;border:1px solid #444;padding:8px;cursor:grab}
body:has(.works-editor-toolbar) .works-page-media{width:100%;height:auto;aspect-ratio:16/9;min-height:0}
body:has(.works-editor-toolbar) .works-page-details{padding:12px 3px}
body:has(.works-editor-toolbar) .works-page-details h2{font-size:13px;line-height:1.4}
body:has(.works-editor-toolbar) .works-page-details p{font-size:10px;line-height:1.5}
body:has(.works-editor-toolbar) .works-editor-controls button{padding:6px 9px;font-size:10px}
body:has(.works-editor-toolbar) .works-page-project:active{cursor:grabbing}

/* Three portfolio cards per row on desktop; retain mobile responsiveness */
@media(min-width:1000px){body:not(:has(.works-editor-toolbar)) .works-page-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 20px}}
@media(min-width:650px) and (max-width:999px){body:not(:has(.works-editor-toolbar)) .works-page-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 18px}}
@media(max-width:649px){body:not(:has(.works-editor-toolbar)) .works-page-list{grid-template-columns:1fr}}

/* Loading: official team logo */
.loading-3d-mark{width:min(360px,75vw);height:140px;display:flex;align-items:center;justify-content:center}
.loading-3d-mark img{display:block;width:100%;max-height:140px;object-fit:contain;filter:invert(1);mix-blend-mode:screen}
@media(max-width:650px){.hero-bottom p{font-size:12px;line-height:1.9}}

/* 01 / GAME HUD BOOT SEQUENCE — replaces rotating logo */
.loading{overflow:hidden;isolation:isolate;gap:0;background:#07090b;color:#f0f2f2;perspective:none}
.loading:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 49.85%,#ffffff08 50%,transparent 50.15%),linear-gradient(0deg,transparent 49.85%,#ffffff07 50%,transparent 50.15%);background-size:72px 72px;mask-image:radial-gradient(ellipse at center,#000 10%,transparent 78%);animation:bootGrid 4s linear infinite}
.loading:after{content:"";position:absolute;inset:-100% -30%;pointer-events:none;background:linear-gradient(110deg,transparent 46%,#a8eaff00 48%,#bceeff13 50%,#bceeff00 52%,transparent 54%);animation:bootLightSweep 2.3s ease-in-out 1 both}
.boot-hud,.boot-bottom{position:absolute;left:clamp(22px,5vw,76px);right:clamp(22px,5vw,76px);display:flex;justify-content:space-between;gap:20px;font-family:monospace;font-size:10px;letter-spacing:.19em;color:#9babb4}
.boot-hud{top:clamp(25px,5vw,65px)}.boot-bottom{bottom:clamp(25px,5vw,65px)}
.boot-indicator{color:#a6f0dc;font-size:9px;animation:bootBlink .65s steps(1) infinite}
.boot-frame{position:relative;width:min(560px,84vw);height:clamp(160px,27vw,250px);display:flex;align-items:center;justify-content:center;border:1px solid #7ca1b43d;background:linear-gradient(140deg,#ffffff05,#0a131b44);box-shadow:0 0 70px #a3dfff08,inset 0 0 35px #a3dfff04;clip-path:polygon(0 0,calc(100% - 19px) 0,100% 19px,100% 100%,19px 100%,0 calc(100% - 19px))}
.boot-frame:before,.boot-frame:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#9ddbf67c,transparent);animation:bootBeam 1.8s ease-in-out infinite}
.boot-frame:before{top:0}.boot-frame:after{bottom:0;animation-delay:.8s}
.boot-logo{position:relative;width:65%;max-width:330px;z-index:2;animation:bootLogoReveal 1.15s cubic-bezier(.22,.7,.15,1) both}
.boot-logo img{display:block;width:100%;max-height:125px;object-fit:contain;filter:invert(1) drop-shadow(0 0 18px #a7e8ff6b)}
.boot-logo:after{content:"";position:absolute;inset:-20px;background:linear-gradient(110deg,transparent 34%,#d5f5ff90 49%,transparent 62%);mix-blend-mode:screen;transform:translateX(-180%);animation:bootLogoShine 1.4s .4s ease-out both;pointer-events:none}
.boot-scanline{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(to bottom,transparent 48%,#b8e9ff4f 50%,transparent 52%);background-size:100% 60px;opacity:.35;animation:bootScan 1.2s linear infinite}
.boot-crosshair{position:absolute;width:12px;height:12px;border-color:#a2dfff;border-style:solid;opacity:.9}.boot-crosshair-a{top:12px;left:12px;border-width:1px 0 0 1px}.boot-crosshair-b{bottom:12px;right:12px;border-width:0 1px 1px 0}
.boot-frame-id{position:absolute;bottom:16px;left:22px;font:9px monospace;letter-spacing:.18em;color:#91a9b7}
.boot-progress{width:min(560px,84vw);margin-top:22px;font:10px monospace;letter-spacing:.14em}
.boot-progress-label,.boot-progress-foot{display:flex;justify-content:space-between;gap:14px;color:#a9b7c1}
.boot-progress-track{height:3px;background:#27343c;margin:13px 0 10px;overflow:hidden}
.boot-progress-track i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#608ca0,#e0fbff,#a2d7ed);transform-origin:left;animation:bootProgress 1.45s cubic-bezier(.18,.8,.28,1) both;box-shadow:0 0 18px #b1ecff}
.boot-progress-foot{font-size:9px;color:#718792}
@keyframes bootLogoReveal{0%{opacity:0;filter:blur(16px);transform:translateY(12px) scale(.97)}55%{opacity:1}100%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
@keyframes bootLogoShine{to{transform:translateX(180%)}}
@keyframes bootLightSweep{0%{transform:translateX(-55%)}100%{transform:translateX(55%)}}
@keyframes bootProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes bootScan{to{background-position:0 60px}}
@keyframes bootGrid{to{background-position:72px 72px}}
@keyframes bootBeam{50%{opacity:.25}}
@keyframes bootBlink{50%{opacity:0}}
@media(max-width:650px){.boot-hud,.boot-bottom{font-size:8px;letter-spacing:.08em}.boot-frame{height:190px}.boot-progress-foot{font-size:8px}.boot-hud span:last-child{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.loading:before,.loading:after,.boot-indicator,.boot-frame:before,.boot-frame:after,.boot-logo,.boot-logo:after,.boot-scanline,.boot-progress-track i{animation:none!important}.boot-logo{opacity:1;filter:none;transform:none}.boot-progress-track i{transform:none}}

/* Unified monochrome creative-console UI */
.loading{background:#0b0b0b;perspective:none}
.loading:before,.loading:after{content:none!important;animation:none!important}
.simple-loader{width:min(320px,72vw);display:flex;flex-direction:column;align-items:center;gap:24px}
.simple-loader img{width:100%;max-height:100px;object-fit:contain;filter:invert(1);animation:simpleLogoAppear .65s ease-out both}
.simple-loader-line{width:100%;height:1px;background:#ffffff2b;overflow:hidden}
.simple-loader-line i{display:block;width:100%;height:100%;background:#e8e7e1;transform-origin:left;animation:simpleLoad 1.05s cubic-bezier(.3,.7,.2,1) both}
.simple-loader>span{font:10px monospace;letter-spacing:.22em;color:#aaa}
@keyframes simpleLogoAppear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes simpleLoad{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-grid{opacity:.42;background-size:100px 100px}
.hero:after{opacity:.45}
.hero-top,.hero-footer,.section-head{font-family:monospace;letter-spacing:.16em}
.section-head{position:relative;align-items:center}
.section-head:before{content:"";position:absolute;top:-3px;left:0;width:38px;height:3px;background:currentColor;opacity:.65}
.nav a{position:relative;transition:color .25s,padding-left .25s}
.nav a:hover{color:#fff;padding-left:14px}
.nav a:before{content:"+";position:absolute;left:0;opacity:0;transition:opacity .2s}
.nav a:hover:before{opacity:1}
.menu-button{border:1px solid #ffffff35;padding:11px 15px;transition:background .25s,border-color .25s}
.menu-button:hover{background:#ffffff12;border-color:#ffffffa0}
.round-arrow,.text-link,.works-page-media,.featured-film-play{transition:transform .3s,border-color .3s,box-shadow .3s,background .3s}
.round-arrow:hover{transform:translateY(-4px);box-shadow:0 0 0 5px #ffffff10}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.simple-loader img,.simple-loader-line i{animation:none!important}}

/* Fixed monochrome category graphics / reactive red accents */
.work-category-cover,.work-category-card:nth-child(2) .work-category-cover,.work-category-card:nth-child(3) .work-category-cover{background:#111;color:#e8e7e1}
.work-category-cover:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 49px,#ffffff0a 50px),repeating-linear-gradient(90deg,transparent 0 49px,#ffffff0a 50px);mask-image:linear-gradient(135deg,#0008,transparent 75%)}
.work-category-cover:after{content:"";position:absolute;inset:11%;border:1px solid #ffffff25;pointer-events:none;transition:border-color .35s,box-shadow .35s}
.work-category-cover strong{font-size:clamp(23px,3.3vw,53px);letter-spacing:-.065em;transition:color .3s,text-shadow .3s,transform .35s}
.work-category-card:nth-child(2) .work-category-cover:before{background:repeating-linear-gradient(135deg,transparent 0 34px,#ffffff09 35px)}
.work-category-card:nth-child(3) .work-category-cover:before{background:radial-gradient(circle at 50% 50%,transparent 0 25%,#ffffff0d 25.2% 25.4%,transparent 25.6% 43%,#ffffff0b 43.2% 43.4%,transparent 43.6%),linear-gradient(90deg,transparent 49.9%,#ffffff15 50%,transparent 50.1%)}
.work-category-card:hover .work-category-cover strong,.work-category-card:focus-visible .work-category-cover strong{color:#d94747;text-shadow:0 0 25px #d9474744;transform:translateY(-3px)}
.work-category-card:hover .work-category-cover:after,.work-category-card:focus-visible .work-category-cover:after{border-color:#e05050;box-shadow:0 0 18px #d9474740,inset 0 0 18px #d9474719}
.work-category-footer{position:relative;transition:border-color .3s}
.work-category-footer:after{content:"";position:absolute;top:-1px;left:0;width:0;height:1px;background:#ed5555;box-shadow:0 0 12px #ed5555;transition:width .5s ease}
.work-category-card:hover .work-category-footer:after,.work-category-card:focus-visible .work-category-footer:after{width:100%}
.work-category-card:hover .work-category-footer span:last-child{color:#e05050}
.section-head:after{content:"";position:absolute;top:-1px;left:0;width:0;height:1px;background:#df4b4b;box-shadow:0 0 12px #df4b4b;transition:width .6s ease}
.section:hover>.section-head:after{width:100%}
.service-row{transition:background .3s,color .3s,border-color .3s}
.service-row:hover{background:#ffffff06;border-color:#db4949}
.service-row:hover h3,.service-row:hover>span:last-child{color:#db4949}
@media(prefers-reduced-motion:reduce){.work-category-cover strong,.work-category-cover:after,.work-category-footer:after,.section-head:after{transition:none}}

/* Uploaded company identity visual */
.identity-graphic.identity-graphic-image{display:block;padding:0;overflow:hidden;min-height:0;height:auto;aspect-ratio:1618/539;background:#111}
.identity-graphic-image img{display:block;width:100%;height:100%;object-fit:cover}


/* COMPANY identity assets — quiet monochrome interactive gallery */
.identity-concept-list .concept-card{position:relative;min-height:260px;padding-right:clamp(130px,19vw,270px);transition:background .35s ease}
.identity-concept-list .concept-card:hover{background:rgba(0,0,0,.035)}
.identity-concept-list .concept-card::before{content:"";position:absolute;top:-1px;left:0;width:0;height:1px;background:#111;transition:width .55s ease}
.identity-concept-list .concept-card:hover::before{width:100%}
.concept-art{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:clamp(118px,17vw,240px);height:210px;background:#080808;overflow:hidden;pointer-events:none}
.concept-art .concept-img{display:block;width:100%;height:100%;object-fit:contain}
.concept-art-pair .concept-img{position:absolute;inset:0;transition:opacity .55s ease,transform .7s ease}
.concept-art-pair .concept-img-front{opacity:1;transform:scale(.93)}
.concept-art-pair .concept-img-angle{opacity:0;transform:scale(.88)}
.concept-card:hover .concept-art-pair .concept-img-front{opacity:0;transform:scale(1.04)}
.concept-card:hover .concept-art-pair .concept-img-angle{opacity:1;transform:scale(1)}
.concept-art-cube .concept-img{transition:transform .7s ease}
.concept-card:hover .concept-art-cube .concept-img{transform:scale(1.07)}
.concept-signature{background:#050505;display:flex;justify-content:center;align-items:center;min-height:160px;margin-top:22px;overflow:hidden}
.concept-signature-image{display:block;width:min(100%,650px);height:180px;object-fit:contain}
@media(max-width:620px){.identity-concept-list .concept-card{padding-right:0;padding-bottom:210px;min-height:0}.concept-art{top:auto;bottom:14px;right:auto;left:0;transform:none;width:100%;height:190px}.concept-signature{min-height:120px}.concept-signature-image{height:130px}}
@media(prefers-reduced-motion:reduce){.concept-art-pair .concept-img,.concept-art-cube .concept-img,.identity-concept-list .concept-card::before{transition:none}}

/* Company profile: details only after removing ZERO TO ONE introduction */
.identity-layout{grid-template-columns:1fr!important}
.identity-layout .identity-details{width:100%;max-width:none}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* WHAT WE DO: precise monochrome vector arrow, never emoji */
.text-link .text-link-arrow{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;line-height:1;color:inherit}
.text-link .text-link-arrow svg{display:block;width:100%;height:100%;stroke:currentColor}


/* 01 identity / balanced responsive editorial layout */
.identity-concept{grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);gap:clamp(36px,6vw,100px);align-items:start}
.identity-concept-list{min-width:0}
.identity-concept-list .concept-card{display:grid;grid-template-columns:minmax(0,1fr) clamp(160px,20vw,270px);grid-template-rows:auto auto 1fr;column-gap:clamp(20px,3vw,46px);align-items:start;min-height:0;padding:clamp(30px,3.6vw,52px) 0!important;background:transparent}
.identity-concept-list .concept-card>.concept-number{grid-column:1;grid-row:1;margin:0}
.identity-concept-list .concept-card>h4{grid-column:1;grid-row:2;margin:12px 0 20px;line-height:1.2}
.identity-concept-list .concept-card>ul,.identity-concept-list .concept-card>p{grid-column:1;grid-row:3;min-width:0}
.identity-concept-list .concept-card .concept-art{position:relative;grid-column:2;grid-row:1 / 4;right:auto;top:auto;bottom:auto;left:auto;transform:none;width:100%;height:auto;aspect-ratio:1/1;max-height:270px;align-self:center;overflow:hidden;border:1px solid rgba(0,0,0,.07);background:#080808}
.identity-concept-list .concept-card .concept-art img{width:100%;height:100%;object-fit:contain}
.identity-concept-list .concept-card .concept-art-pair img{position:absolute;inset:0}
.identity-concept-list .concept-card:first-child{padding-top:32px!important}
.identity-concept-list .concept-card:last-of-type{border-bottom:1px solid #777}
@media(max-width:1000px){.identity-concept{grid-template-columns:1fr;gap:clamp(26px,5vw,52px)}.identity-concept-heading>p:last-child{max-width:560px}.identity-concept-list .concept-card{grid-template-columns:minmax(0,1fr) minmax(180px,34%)}}
@media(max-width:620px){.identity-concept{padding-top:36px;margin-bottom:70px}.identity-concept-heading h3{margin:16px 0 20px}.identity-concept-list .concept-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:0;padding:30px 0 34px!important}.identity-concept-list .concept-card>.concept-number{grid-column:1;grid-row:1}.identity-concept-list .concept-card>h4{grid-column:1;grid-row:2;margin:14px 0 20px}.identity-concept-list .concept-card>ul,.identity-concept-list .concept-card>p{grid-column:1;grid-row:3;line-height:1.95}.identity-concept-list .concept-card .concept-art{grid-column:1;grid-row:4;margin-top:24px;width:100%;height:auto;max-height:none;aspect-ratio:16/10}.identity-concept-list .concept-card:first-child{padding-top:26px!important}.identity-concept-list ul{padding-left:1.3em}.identity-concept-list li{padding-left:0}.identity-concept-list .concept-card .concept-art img{object-fit:contain}}


/* Wix Studio embed mode: let the native Wix header own site navigation */
html.wix-embed .header{display:none!important}
html.wix-embed .loading{display:none!important}
html.wix-embed main{padding-top:0!important;margin-top:0!important}
html.wix-embed #top{padding-top:0!important;margin-top:0!important}
html.wix-embed .hero{min-height:min(850px,100svh)}
html.wix-embed .cursor-light{display:none!important}
html.wix-embed{scroll-padding-top:12px}
@media(max-width:767px){html.wix-embed .hero{min-height:75svh}}
