
/* Embedded Noto Serif JP — font license
Google Inc.

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

*/
:root{--ink:#f0f1ef;--muted:#c5cbd1;--sand:#e8d5c3;--pad:clamp(24px,5.3vw,92px);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:#070c12;color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;-webkit-font-smoothing:antialiased;font-synthesis:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible{outline:2px solid #f5d9b9;outline-offset:6px}.skip{position:fixed;left:-900px;top:0;z-index:999;padding:14px;background:#fff;color:#000}.skip:focus{left:20px}
#experience,#world,#fallback,.art-atmosphere,.color-grade,.grain,.entry-flare{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}#experience{z-index:0;overflow:hidden;background:radial-gradient(ellipse at 70% 40%,#1b2734 0%,#080c14 70%)}#world{z-index:2;display:block}#fallback{z-index:1;background:radial-gradient(ellipse at 66% 40%,#1c3143 0%,transparent 55%);opacity:.5}.art-atmosphere{z-index:1;background:none;opacity:0}
.webgl-ready .art-atmosphere{opacity:0}.color-grade{z-index:3;background:linear-gradient(90deg,rgba(5,8,14,.79) 0%,rgba(5,8,14,.63) 28%,rgba(5,8,14,.13) 62%,rgba(5,8,14,.05) 100%),linear-gradient(0deg,rgba(5,8,14,.27),transparent 30%,rgba(5,8,14,.1) 78%);transition:background .3s}.grain{z-index:4;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")} .entry-flare{z-index:5;opacity:0;transition:opacity .1s;background:radial-gradient(ellipse at 66% 48%,rgba(252,241,221,.8),rgba(180,205,228,.3) 30%,transparent 75%);mix-blend-mode:screen}body.entering .entry-flare{opacity:var(--entry-luminance,0)}
.topbar{position:fixed;z-index:100;inset:0 0 auto;height:96px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;transition:color .5s}.wordmark{font:400 clamp(18px,1.55vw,24px) Georgia,'Times New Roman',serif;letter-spacing:.24em;white-space:nowrap}.wordmark>span,.footer-dot{color:#debfa8}.desktop-nav{display:flex;align-items:center;gap:clamp(23px,2.55vw,45px)}.desktop-nav a{font:10px Arial,sans-serif;letter-spacing:.21em;transition:opacity .25s;opacity:.8}.desktop-nav a:hover{opacity:1}.desktop-nav .nav-contact{border:1px solid rgba(255,255,255,.42);padding:13px 17px;opacity:1}.nav-contact span{margin-left:15px}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}.menu-toggle span{display:block;width:25px;height:1px;margin:7px auto;background:currentColor;transition:transform .2s}.mobile-nav{position:fixed;inset:0;z-index:90;background:#080e18;display:flex;flex-direction:column;justify-content:center;padding:90px 8vw;gap:0}.mobile-nav[hidden]{display:none}.mobile-nav a{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff2b;padding:15px 0;font:clamp(25px,7vw,43px) Georgia,serif}.mobile-nav a span{font:11px Arial,sans-serif;letter-spacing:.2em;color:#bfc8d2}
.rail{position:fixed;right:var(--pad);top:50%;transform:translateY(-50%);z-index:50;display:flex;align-items:flex-end;flex-direction:column;gap:12px;color:#fff9}.rail-top{display:flex;align-items:center;gap:13px;font:12px Georgia,serif}.rail-line{height:1px;width:34px;background:currentColor;opacity:.7}.rail-track{width:1px;height:125px;background:#ffffff58;margin-right:13px;position:relative}.rail-track #rail-fill{height:0;width:1px;background:#fff;position:absolute;left:0;top:0}.rail-label{font:8px Arial,sans-serif;letter-spacing:.2em;writing-mode:vertical-rl;margin-right:9px}.chapter-indicator,.scroll-hint{position:fixed;bottom:38px;z-index:50;display:flex;align-items:center;gap:13px;font:9px Arial,sans-serif;letter-spacing:.19em;color:#e8eaf0bb}.chapter-indicator{left:var(--pad)}.scroll-hint{right:var(--pad)}.chapter-line,.scroll-line{width:33px;height:1px;background:currentColor}.downarrow{font-size:15px}.prototype-stamp{position:fixed;z-index:50;bottom:15px;left:var(--pad);font:8px Arial,sans-serif;letter-spacing:.13em;color:#c2cbd580}
main{position:relative;z-index:10}.chapter{min-height:125svh;position:relative;padding:clamp(140px,16vh,210px) var(--pad) 110px}.chapter.hero{min-height:120svh}.chapter.name{min-height:125svh}.chapter.works{min-height:235svh}.chapter.services{min-height:145svh}.chapter.approach{min-height:145svh}.chapter.studio{min-height:130svh}.chapter.contact{min-height:200svh}.copy{position:sticky;top:22vh;width:min(630px,45vw);z-index:2}.hero .copy{top:27vh}.chapter.works>.copy{top:15vh}.chapter.contact .copy{top:25vh}.eyebrow{display:flex;align-items:center;gap:15px;color:#dcc8ba;font:10px Arial,sans-serif;letter-spacing:.22em;margin:0 0 28px}.eyebrow-line{width:19px;height:1px;background:#dac0aa}.copy h1,.copy h2{font-family:'Hiragino Mincho ProN','Yu Mincho','Noto Serif JP',serif;font-weight:400;font-size:clamp(48px,5.05vw,94px);line-height:1.48;letter-spacing:.075em;margin:0;text-shadow:0 4px 35px #0005}.copy h2{font-size:clamp(44px,4.35vw,78px)}.copy p{font-size:clamp(12px,1.05vw,15px);color:#e1e6eacb;line-height:2.2;letter-spacing:.085em;margin:25px 0 0}.hero-links{margin-top:46px;display:flex;align-items:center;flex-wrap:wrap;gap:32px}.line-link{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;border-bottom:1px solid #ffffff9a;padding-bottom:15px;letter-spacing:.14em;font:10px Arial,sans-serif;transition:gap .2s,opacity .2s;margin-top:32px}.line-link:hover{gap:36px}.line-link span{font-size:18px}.hero-links .line-link{margin-top:0}.quiet-link{font-size:11px;color:#f6f6f5ac;transition:color .2s}.quiet-link span{padding-left:4px}.quiet-link:hover{color:#fff}.hero-signature{position:absolute;right:12%;bottom:15vh;font:11px Georgia,serif;letter-spacing:.25em;color:#dbe2e8b0}.hero-signature span{margin:0 15px;color:#d5ad91}.chapter-side{position:absolute;right:clamp(45px,7vw,110px);bottom:21vh;writing-mode:vertical-rl;font:9px Arial,sans-serif;letter-spacing:.22em;color:#e9ebf066}
.origin{display:flex;align-items:center;gap:clamp(18px,2.1vw,36px);margin-top:38px}.origin>div{display:flex;flex-direction:column;gap:8px}.origin-latin{font:clamp(23px,2.7vw,42px) Georgia,serif;letter-spacing:.01em}.origin-definition{font:10px Arial,sans-serif;color:#aebdc5;letter-spacing:.06em}.origin b{font:300 26px Georgia,serif;color:#d8c0ad}
.works-showcase{position:relative;margin:40vh 5% 0 auto;width:min(56%,780px);display:grid;grid-template-columns:1fr 1fr;gap:35px 22px}.work-item{min-width:0}.work-item:first-child{grid-column:span 2}.work-image{height:clamp(235px,26vw,385px);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,255,255,.17);box-shadow:0 30px 80px #0004}.work-item:first-child .work-image{height:clamp(330px,35vw,495px)}.work-one{background:radial-gradient(ellipse at 65% 31%,#8a8e94 0%,transparent 36%),linear-gradient(125deg,#151923,#353c43 43%,#0f1621 98%)}.work-one:before{content:'';position:absolute;inset:8% 24%;border:1px solid #ffffff38;transform:perspective(300px) rotateY(-21deg);box-shadow:27px 7px 0 #ffffff0c,54px 14px 0 #ffffff0b}.work-two{background:radial-gradient(ellipse at 50% 20%,#dfbaa9 0%,transparent 60%),linear-gradient(135deg,#6c5d58,#2f3943)}.work-two:before{content:'';position:absolute;inset:-40%;border:1px solid #fff4;border-radius:50%;transform:scaleY(.42) rotate(-30deg)}.work-three{background:radial-gradient(ellipse at 65% 15%,#e0d8bf 0%,transparent 37%),linear-gradient(145deg,#121f25,#34474a 67%,#0f181d)}.work-three:before{content:'';position:absolute;width:32%;height:60%;border-radius:50%;border:14px solid #adc9c239;filter:blur(2px);transform:rotate(24deg)}.work-image>span{position:absolute;top:25px;left:25px;font:12px Georgia,serif;color:#fff9}.work-art-title{font:clamp(29px,5vw,80px) Georgia,serif;letter-spacing:.12em;z-index:2;text-align:center;text-shadow:0 2px 20px #0007;white-space:nowrap}.work-art-title.serif{font-style:italic;letter-spacing:.02em;font-size:clamp(26px,3.2vw,50px)}.work-art-title i{font-size:.55em;font-weight:400}.work-art-title .cross{font-size:.55em;margin-left:12px;color:#cce7e4}.work-image em{position:absolute;bottom:23px;left:25px;font:9px Arial,sans-serif;letter-spacing:.2em;font-style:normal;color:#fff9}.work-meta{display:flex;justify-content:space-between;gap:14px;margin-top:17px;padding-bottom:20px;border-bottom:1px solid #ffffff55}.work-meta>div{display:flex;flex-direction:column;gap:8px}.work-meta b{font:18px Georgia,serif;font-weight:400}.work-meta small{font:9px Arial,sans-serif;letter-spacing:.18em;color:#b9c8d1}.work-meta>span{font:11px Georgia,serif;color:#aebfc9}.work-disclaimer{grid-column:span 2;color:#fff8;font-size:9px;line-height:1.8;margin-top:2px}
.services .copy{max-width:600px}.services-list{position:relative;width:min(48%,690px);margin:22vh 3% 0 auto;border-top:1px solid #ffffff80}.service-row{display:grid;grid-template-columns:45px 1fr 22px;gap:12px;align-items:center;border-bottom:1px solid #ffffff60;padding:24px 0;transition:padding-left .3s;background:transparent}.service-row:hover{padding-left:8px}.service-row>span{font:11px Georgia,serif;color:#d6c4b4}.service-row h3{font:clamp(22px,2vw,33px) Georgia,serif;margin:0 0 8px}.service-row small{font:11px Arial,sans-serif;color:#e4e6e9b5}.service-row>b{font:15px Arial,sans-serif;font-weight:400}.approach-steps{position:relative;margin-top:32vh;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;border-top:1px solid #ffffff70;padding-top:20px}.approach-steps>div{display:flex;flex-direction:column;gap:16px}.approach-steps span{font:13px Georgia,serif;color:#e6cdbd}.approach-steps b{font:clamp(19px,2.1vw,32px) 'Hiragino Mincho ProN','Yu Mincho',serif;font-weight:400}.approach-steps small{font-size:10px;letter-spacing:.08em;color:#c5d0da}.studio-byline{margin-top:55px;display:flex;gap:22px;font:10px Arial,sans-serif;letter-spacing:.18em;color:#d9c9bc}.studio-mark{position:absolute;right:17%;top:44vh;font:200px Georgia,serif;line-height:1;letter-spacing:-.05em;color:#e0e5ef13;transform:rotate(-11deg)}.studio-mark span{font-size:.45em;padding:0 12px;color:#e3c8b427}
.contact .copy h2{font-size:clamp(43px,4.75vw,85px)}.contact-cta{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f5f5ecbd;width:min(420px,100%);margin-top:50px;padding-bottom:15px;font:clamp(24px,2.5vw,40px) Georgia,serif;letter-spacing:.06em;transition:padding-left .2s}.contact-cta:hover{padding-left:10px}.contact-cta span{font:23px Arial,sans-serif}.contact-note{display:block;margin-top:16px;color:#c2cbd0;font-size:10px}.portal-instruction{position:absolute;right:14%;bottom:51vh;display:flex;flex-direction:column;align-items:center;gap:13px;color:#c6cad1b3;font:9px Arial,sans-serif;letter-spacing:.24em}.portal-symbol{font-size:25px}.end-footer{position:absolute;left:var(--pad);right:var(--pad);bottom:38px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff55;padding-top:20px;font-size:10px;letter-spacing:.13em;color:#e7eaedbd}.end-footer span:first-child{font:18px Georgia,serif;letter-spacing:.17em}.end-footer a{font:9px Arial,sans-serif;letter-spacing:.15em}
body.beyond .contact .copy,body.beyond .end-footer,body.beyond .topbar{color:#102135}body.beyond .contact .copy p,body.beyond .contact .contact-note{color:#23354db9}body.beyond .eyebrow{color:#564d4e}body.beyond .eyebrow-line{background:#564d4e}body.beyond .contact-cta,body.beyond .end-footer{border-color:#152f44a4}body.beyond .rail,body.beyond .chapter-indicator{color:#1e3446}body.beyond .rail-track{background:#1e344677}body.beyond .rail-track #rail-fill{background:#1e3446}body.beyond .color-grade{opacity:.25}
@media(max-width:860px){:root{--pad:24px}.topbar{height:76px}.wordmark{font-size:19px}.desktop-nav{display:none}.menu-toggle{display:block}.rail{right:20px;top:auto;bottom:72px;transform:none;gap:9px}.rail-track{height:72px}.rail-line{width:21px}.rail-label{display:none}.chapter-indicator{bottom:29px}.scroll-hint{display:none}.chapter{min-height:117svh;padding:130px var(--pad) 50px}.chapter.hero{min-height:112svh}.chapter.works{min-height:244svh}.chapter.services{min-height:166svh}.chapter.approach{min-height:155svh}.chapter.contact{min-height:175svh}.copy,.hero .copy,.chapter.works>.copy,.chapter.contact .copy{top:18svh;width:calc(100% - 35px);max-width:100%}.hero .copy{top:26svh}.copy h1{font-size:clamp(37px,9vw,57px)}.copy h2,.contact .copy h2{font-size:clamp(36px,8.5vw,54px)}.eyebrow{font-size:8px;gap:9px;letter-spacing:.14em;margin-bottom:25px}.eyebrow-line{width:15px}.copy p{font-size:12px;line-height:2.1}.hero-links{flex-direction:column;gap:22px;align-items:flex-start;margin-top:35px}.hero-signature{font-size:8px;right:22px;bottom:10vh;letter-spacing:.08em}.chapter-side{display:none}.origin{gap:14px;flex-wrap:wrap}.origin-latin{font-size:27px}.origin-definition{font-size:9px}.works-showcase{width:100%;margin:52vh 0 0;grid-template-columns:1fr 1fr;gap:24px 11px}.work-image{height:180px}.work-item:first-child .work-image{height:260px}.work-art-title{font-size:clamp(22px,6.4vw,46px)}.work-art-title.serif{font-size:clamp(19px,5.2vw,30px)}.work-meta b{font-size:14px}.work-meta small,.work-disclaimer{font-size:8px}.work-image em{font-size:7px;left:12px}.work-image>span{left:12px;top:15px}.services-list{margin:48vh 0 0;width:100%}.service-row{padding:22px 0}.service-row h3{font-size:23px}.service-row small{font-size:10px}.approach-steps{grid-template-columns:repeat(2,1fr);gap:35px 16px;margin-top:50vh}.approach-steps b{font-size:24px}.studio-mark{font-size:100px;right:10%;top:73vh}.studio-byline{font-size:9px;gap:10px}.portal-instruction{right:9%;bottom:40vh;font-size:8px}.contact-cta{font-size:29px}.end-footer{bottom:79px;flex-wrap:wrap;gap:15px}.end-footer span:first-child{font-size:15px}.end-footer span:nth-child(2){display:none}.prototype-stamp{display:none}.color-grade{background:linear-gradient(180deg,rgba(5,8,14,.72) 0%,rgba(5,8,14,.46) 34%,rgba(5,8,14,.06) 72%,rgba(5,8,14,.15) 100%)}.art-atmosphere{background-position:58% 50%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.art-atmosphere{opacity:.23}}

body.menu-open .topbar{color:#ffffff!important}

/* v0.6 optical finish: retain the original typography and 7-chapter layout. */
#experience{background:#071018}
.color-grade{background:linear-gradient(90deg,rgba(5,9,14,.79),rgba(5,9,14,.61) 26%,rgba(5,9,14,.12) 57%,rgba(5,9,14,.04) 100%),linear-gradient(0deg,rgba(4,9,15,.25),transparent 35%,rgba(4,9,15,.11) 85%)}
.art-atmosphere{filter:blur(8px) saturate(.82);opacity:.25}
.grain{opacity:.077}
@media(max-width:760px){.color-grade{background:linear-gradient(180deg,rgba(6,10,17,.30),rgba(6,10,17,.58) 30%,rgba(6,10,17,.55) 60%,rgba(6,10,17,.20))}.grain{opacity:.05}}


/* v0.7 / Interaction and typography refinement (core cinematic world unchanged) */
html{scroll-padding-top:clamp(72px,9vh,112px)}
.desktop-nav a{position:relative;padding-block:10px}
.desktop-nav a:not(.nav-contact):after{content:"";height:1px;background:#e9ddd4;position:absolute;left:0;right:100%;bottom:2px;transition:right .38s cubic-bezier(.2,.7,.1,1)}
.desktop-nav a:not(.nav-contact):hover:after,.desktop-nav a:not(.nav-contact)[aria-current="location"]:after{right:0}
.desktop-nav .nav-contact{transition:background .35s,color .35s,border-color .35s}
.desktop-nav .nav-contact:hover{background:#f1e8df;color:#122130;border-color:#f1e8df}
.work-item{display:block;min-width:0;cursor:pointer;text-decoration:none;position:relative;outline-offset:6px}
.work-image{isolation:isolate;transition:transform .68s cubic-bezier(.17,.74,.2,1),border-color .6s,box-shadow .6s;will-change:transform}
.work-image:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#050b14a6,transparent 30%);opacity:.55;transition:opacity .4s}
.work-item:hover .work-image,.work-item:focus-visible .work-image{transform:translateY(-8px);border-color:#f0e4d1ad;box-shadow:0 45px 85px #0008}
.work-item:hover .work-image:after,.work-item:focus-visible .work-image:after{opacity:.9}
.work-visit{position:absolute;right:20px;top:20px;z-index:4;display:flex;align-items:center;justify-content:center;min-width:113px;height:38px;border:1px solid #fff9;border-radius:30px;background:#141f2d55;backdrop-filter:blur(13px);font:9px Arial,sans-serif;letter-spacing:.14em;opacity:0;transform:translateY(9px);transition:opacity .35s,transform .35s}
.work-item:hover .work-visit,.work-item:focus-visible .work-visit{opacity:1;transform:translateY(0)}
.work-detail{font-size:11px;color:#e0e5eacb;line-height:1.9;margin:12px 0 0;letter-spacing:.04em;max-width:540px}
.work-meta{transition:border-color .35s}
.work-item:hover .work-meta,.work-item:focus-visible .work-meta{border-color:#ebdac3}
.work-disclaimer{font-size:10px;line-height:1.8;color:#b4c5d2aa}
.service-row{color:inherit;text-decoration:none;position:relative;cursor:pointer;padding-right:5px}
.service-row::before{position:absolute;content:"";inset:0 -10px;z-index:-1;background:#f1e7db0c;opacity:0;transition:opacity .4s}
.service-row:hover::before,.service-row:focus-visible::before{opacity:1}
.service-row>b{transition:transform .3s;color:#e8cfb8}
.service-row:hover>b,.service-row:focus-visible>b{transform:translate(4px,-4px)}
.service-row:focus-visible{outline-offset:3px}
.chapter-next{margin-top:30px}
.contact-alt{display:inline-block;padding:8px 0 4px;margin-top:12px;font-size:11px;letter-spacing:.1em;border-bottom:1px solid currentColor;opacity:.7;transition:opacity .3s}
.contact-alt:hover{opacity:1}
body.beyond .contact-alt{color:#132a3d}
/* A purposefully quiet shift of information, rather than per-element 'AI style' animations. */
.js-enhanced .copy > .eyebrow,.js-enhanced .copy > h1,.js-enhanced .copy > h2,
.js-enhanced .copy > p,.js-enhanced .copy > .origin,.js-enhanced .copy > .hero-links,
.js-enhanced .copy > .line-link,.js-enhanced .copy > .chapter-next,
.js-enhanced .copy > .contact-cta,.js-enhanced .copy > .contact-note,
.js-enhanced .copy > .contact-alt,.js-enhanced .copy > .studio-byline{transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.16,1,.3,1)}
.js-enhanced .chapter:not(.chapter-visible) .copy>*{opacity:.15;transform:translate3d(0,20px,0)}
.js-enhanced .chapter.chapter-visible .copy>*{opacity:1;transform:translate3d(0,0,0)}
.js-enhanced .chapter .copy >:nth-child(2){transition-delay:.07s}
.js-enhanced .chapter .copy >:nth-child(3){transition-delay:.14s}
.js-enhanced .chapter .copy >:nth-child(4){transition-delay:.22s}
.js-enhanced .chapter .copy >:nth-child(5){transition-delay:.3s}
@media(max-width:860px){
 .works-showcase{grid-template-columns:1fr 1fr;margin-top:49vh}
 .work-visit{opacity:1;transform:none;right:12px;top:13px;min-width:82px;height:29px;font-size:7px;background:#0a19265c}
 .work-item:first-child .work-visit{height:35px;min-width:105px;font-size:8px}
 .work-detail{font-size:10px;line-height:1.6}
 .work-meta{padding-bottom:13px}
 .contact-alt{font-size:10px}
}
@media(max-width:480px){
 .works-showcase{grid-template-columns:1fr;gap:26px}
 .work-item:first-child{grid-column:auto}
 .work-image,.work-item:first-child .work-image{height:clamp(245px,65vw,390px)}
 .work-art-title{font-size:clamp(31px,10vw,58px)}
 .work-art-title.serif{font-size:clamp(30px,8vw,45px)}
 .work-item .work-detail{max-width:100%}
 .work-disclaimer{grid-column:auto}
 .chapter.works{min-height:340svh}
}
@media(prefers-reduced-motion:reduce){.js-enhanced .chapter:not(.chapter-visible) .copy>*{opacity:1;transform:none}}

/* Motion timing and final-scene decluttering */
.js-enhanced .chapter:not(.chapter-visible) .copy>*{opacity:.42;transform:translate3d(0,12px,0)}
.js-enhanced .copy > .eyebrow,.js-enhanced .copy > h1,.js-enhanced .copy > h2,
.js-enhanced .copy > p,.js-enhanced .copy > .origin,.js-enhanced .copy > .hero-links,
.js-enhanced .copy > .line-link,.js-enhanced .copy > .chapter-next,
.js-enhanced .copy > .contact-cta,.js-enhanced .copy > .contact-note,
.js-enhanced .copy > .contact-alt,.js-enhanced .copy > .studio-byline{transition-duration:.67s,.79s}
.portal-instruction{opacity:var(--portal-hint-opacity,1);transition:opacity .2s linear}
body.beyond .portal-instruction{opacity:0}

/* Keep large project previews outside the text column at desktop widths. */
@media(min-width:861px){.works-showcase{width:min(47%,700px)}}


/* v0.8 / consultation landing beyond the open door */
html{scroll-padding-top:94px}
.consultation-section{position:relative;z-index:12;min-height:100svh;padding:clamp(110px,14vh,170px) var(--pad) 36px;background:linear-gradient(125deg,rgba(240,243,245,.98),rgba(223,230,233,.96) 65%,rgba(245,239,228,.97));color:#182633;box-shadow:0 -40px 160px rgba(235,243,247,.11)}
.consultation-section:before{content:"";position:absolute;pointer-events:none;inset:0;background:radial-gradient(ellipse at 4% 36%,rgba(174,194,212,.37),transparent 48%),radial-gradient(ellipse at 97% 96%,rgba(193,164,142,.25),transparent 53%)}
.consultation-topline,.consultation-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(32,54,71,.22);padding-bottom:17px;font:10px Arial,sans-serif;letter-spacing:.2em;color:#516574}
.consultation-layout{position:relative;display:grid;grid-template-columns:minmax(310px,.92fr) minmax(480px,1.05fr);gap:clamp(46px,6.5vw,130px);max-width:1490px;margin:0 auto;padding:clamp(44px,8vh,100px) 0 clamp(70px,10vh,130px)}
.consultation-intro{position:relative}
.consultation-kicker{font:10px Arial,sans-serif;letter-spacing:.23em;color:#7b7170}
.consultation-intro h2{font:normal clamp(46px,5vw,87px)/1.44 'Hiragino Mincho ProN','Yu Mincho',serif;letter-spacing:.075em;margin:30px 0 30px}
.consultation-intro h2 em{font-style:normal;color:#7a8a95}
.consultation-intro>p{font-size:clamp(12px,1.05vw,15px);line-height:2.45;color:#536673;letter-spacing:.04em}
.consultation-promise{display:flex;align-items:center;gap:15px;margin-top:56px}.promise-line{width:30px;height:1px;background:#667988}.consultation-promise div{display:flex;flex-direction:column;gap:10px}.consultation-promise strong{font:11px Arial,sans-serif;letter-spacing:.16em}.consultation-promise small{font-size:12px;color:#536673}
.consultation-side-note{margin-top:120px;font:10px Georgia,serif;letter-spacing:.17em;color:#94a0a7}
.consultation-form-wrap{position:relative;background:rgba(255,255,255,.42);border:1px solid rgba(28,57,74,.22);padding:clamp(25px,3.5vw,53px);box-shadow:0 35px 95px rgba(59,79,92,.08);backdrop-filter:blur(14px)}
.form-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(41,61,74,.21);padding-bottom:23px;margin-bottom:23px;font:11px Arial,sans-serif;letter-spacing:.17em}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.field{min-width:0;display:flex;flex-direction:column;gap:12px}.field label{font-size:12px;letter-spacing:.07em;font-weight:600}.field label b,.field label i{font-style:normal;font-size:10px;font-weight:400;color:#946f61;margin-left:8px}.field label i{color:#7d8d98}.field input,.field select,.field textarea{appearance:none;width:100%;min-height:49px;background:rgba(250,252,253,.69);border:1px solid rgba(37,65,82,.23);border-radius:0;color:#192b38;font:13px 'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;padding:13px 15px;outline-offset:3px;transition:border-color .22s,background .22s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#324b5b;background:#fff;outline:1px solid #324b5b}.field input::placeholder,.field textarea::placeholder{color:#7f939f}.field select{cursor:pointer;padding-right:28px;background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="10" viewBox="0 0 16 10"%3E%3Cpath d="m1 1 7 7 7-7" fill="none" stroke="%23576c7c" stroke-width="1.5"/%3E%3C/svg%3E');background-repeat:no-repeat;background-position:right 13px center}.field-message{margin-top:29px}.field textarea{min-height:133px;resize:vertical;line-height:1.8}
.privacy-agree{display:flex;align-items:flex-start;gap:12px;margin-top:28px;font-size:12px;line-height:1.9;cursor:pointer}.privacy-agree input{margin-top:6px;accent-color:#284b5b;min-width:15px;min-height:15px}.privacy-agree a{border-bottom:1px solid #6b8091}
.send-controls{margin-top:26px}.send-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:66px;padding:0 23px;border:1px solid #162c3b;background:#182c3a;color:#faf8f4;cursor:pointer;font-size:13px;letter-spacing:.08em;transition:background .25s,transform .25s}.send-button:hover{background:#354e5e;transform:translateY(-2px)}.send-button span:last-child{font-size:23px;font-family:Arial,sans-serif}.form-caption{font-size:11px;line-height:1.85;color:#536572;margin:13px 0 0}.form-caption strong{font-weight:600;color:#344d61}.form-status{min-height:1.3em;font-size:12px;color:#344f5f;line-height:1.6}.form-alternative{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:25px;padding-top:22px;border-top:1px solid #334f642b}.form-alternative span{font-size:11px;color:#5b7180}.form-alternative a{font-size:12px;border-bottom:1px solid #506b7e;padding-bottom:6px}.consultation-bottom{border-bottom:0;border-top:1px solid rgba(32,54,71,.25);padding:20px 0 0}
.consultation-section :is(a,button,input,select,textarea):focus-visible{outline:2px solid #315c73;outline-offset:4px}
@media(max-width:1050px){.consultation-layout{grid-template-columns:1fr;gap:54px}.consultation-side-note{display:none}.consultation-intro h2{font-size:clamp(44px,7vw,76px);margin:18px 0}.consultation-promise{margin-top:28px}}
@media(max-width:600px){.consultation-section{padding:102px 22px 38px}.consultation-topline,.consultation-bottom{font-size:9px;gap:20px;letter-spacing:.1em}.consultation-topline span:last-child{display:none}.consultation-layout{padding:44px 0 60px;gap:40px}.consultation-intro h2{font-size:42px;line-height:1.5}.consultation-intro>p{font-size:12px;line-height:2.25}.consultation-form-wrap{padding:23px 19px}.field-grid{grid-template-columns:1fr;gap:22px}.field-message{margin-top:24px}.form-heading{font-size:10px}.send-button{min-height:64px;font-size:12px;padding:0 15px}.form-alternative{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.consultation-section{scroll-behavior:auto}}


/* v0.9 / overlap adjustments + full footer */
.chapter-indicator{bottom:56px}
.prototype-stamp{left:50%;right:auto;transform:translateX(-50%);bottom:15px;text-align:center;white-space:nowrap;max-width:60vw;overflow:hidden;text-overflow:ellipsis}
.approach .copy{width:min(560px,37vw)}
.chapter.approach{min-height:165svh}
.approach-steps{width:min(54%,780px);margin:34vh 0 0 auto;gap:20px 22px;padding-top:24px}
.approach-steps b{font-size:clamp(18px,1.95vw,30px);line-height:1.45}
.approach-steps small{max-width:14ch;line-height:1.8}

.site-footer{position:relative;margin-top:50px;padding-top:42px;border-top:1px solid rgba(32,54,71,.18)}
.footer-main{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(280px,.85fr);gap:42px;align-items:start}
.footer-wordmark{font:normal clamp(28px,2.8vw,44px)/1 Georgia,serif;letter-spacing:.18em;color:#142434}
.footer-wordmark span{color:#6f8393}
.footer-copy{margin:24px 0 0;font-size:13px;line-height:2.1;color:#536673;letter-spacing:.05em}
.footer-consult{display:inline-flex;align-items:center;gap:18px;margin-top:32px;padding-bottom:10px;border-bottom:1px solid rgba(38,58,72,.45);font:11px Arial,sans-serif;letter-spacing:.16em;color:#183140;transition:gap .25s,opacity .25s}
.footer-consult:hover{gap:24px;opacity:.85}
.footer-links-group{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:30px 36px;padding-top:10px}
.footer-links-block{display:flex;flex-direction:column;gap:18px}
.footer-heading{font:10px Arial,sans-serif;letter-spacing:.2em;color:#687b88}
.footer-links{display:flex;flex-direction:column;gap:14px}
.footer-links a{font-size:12px;letter-spacing:.08em;color:#183140;border-bottom:1px solid rgba(62,88,103,.22);padding-bottom:8px;transition:padding-left .25s,opacity .25s}
.footer-links a:hover{padding-left:6px;opacity:.85}
.footer-bottomline{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:48px;padding-top:18px;border-top:1px solid rgba(32,54,71,.12);font:10px Arial,sans-serif;letter-spacing:.16em;color:#6b7f8d}
.footer-bottomline a{color:#375568}

@media(max-width:1100px){
  .approach .copy{width:min(600px,42vw)}
  .approach-steps{width:min(50%,620px);margin-top:38vh}
}
@media(max-width:860px){
  .chapter-indicator{bottom:54px}
  .prototype-stamp{left:var(--pad);transform:none;right:auto;bottom:14px;max-width:calc(100vw - 2 * var(--pad));text-align:left}
  .chapter.approach{min-height:168svh}
  .approach-steps{width:100%;margin:58vh 0 0;grid-template-columns:repeat(2,1fr);gap:32px 16px}
  .approach-steps small{max-width:100%}
  .site-footer{margin-top:38px;padding-top:34px}
  .footer-main{grid-template-columns:1fr;gap:34px}
  .footer-links-group{grid-template-columns:1fr 1fr;gap:28px 20px}
  .footer-bottomline{flex-wrap:wrap;justify-content:flex-start}
}
@media(max-width:600px){
  .chapter-indicator{bottom:66px}
  .prototype-stamp{display:none}
  .chapter.approach{min-height:176svh}
  .approach .copy{width:100%}
  .approach-steps{margin-top:54vh;grid-template-columns:1fr;gap:26px;padding-top:18px}
  .approach-steps>div{padding-bottom:8px;border-bottom:1px solid rgba(47,70,84,.14)}
  .site-footer{margin-top:34px;padding-top:28px}
  .footer-wordmark{font-size:28px}
  .footer-copy{font-size:12px;line-height:2}
  .footer-links-group{grid-template-columns:1fr;gap:22px}
  .footer-bottomline{margin-top:34px;padding-top:15px;font-size:9px;letter-spacing:.11em}
}


/* ===============================================================
   v1.0 — CONTENT/UX FINISH + CREATIVE ART DIRECTION PASS
   The background engine, the 7-chapter narrative and door animation
   are preserved. Layout collision is solved structurally.
   =============================================================== */
/* Avoid ghosted content appearing behind current chapter as user scrolls. */
.js-enhanced .chapter:not(.chapter-visible) .copy>*{opacity:0;transform:translate3d(0,18px,0)}
/* Fixed UI stays above content only in the interactive world; the form has a dedicated header style. */
.prototype-stamp{display:none!important}
.chapter-indicator{bottom:32px}
.scroll-hint{bottom:32px}
/* APPROACH: two non-intersecting columns, with a deliberate visual rhythm.
   Prevents process labels from traveling through the sticky title. */
.chapter.approach{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);column-gap:clamp(72px,9vw,168px);align-items:start;min-height:164svh}
.approach .copy{grid-column:1;grid-row:1;position:sticky;top:23svh;align-self:start;width:100%;max-width:570px}
.approach .copy h2{font-size:clamp(48px,4.35vw,77px);line-height:1.5;letter-spacing:.09em}
.approach .copy p{max-width:460px;line-height:2.3;letter-spacing:.05em}
.approach .approach-steps{grid-column:2;grid-row:1;min-width:0;width:100%;margin:23svh 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 26px;border-top:0;padding-top:0;align-content:start}
.approach-steps>div{position:relative;min-width:0;min-height:176px;display:flex;flex-direction:column;justify-content:flex-start;gap:17px;padding:23px 8px 24px 0;border-top:1px solid rgba(238,244,248,.49)}
.approach-steps>div:after{content:"";position:absolute;left:0;top:-1px;width:34px;height:1px;background:#efd6c3}
.approach-steps span{color:#dfc6af;font:15px Georgia,serif;line-height:1}
.approach-steps b{font:normal clamp(20px,2vw,31px)/1.5 'Hiragino Mincho ProN','Yu Mincho',serif;letter-spacing:.06em}
.approach-steps small{font-size:11px;line-height:1.7;color:#d2dae0;letter-spacing:.04em;max-width:100%}
/* Remove secondary ornamental progress chrome once the actual form is active. */
body.in-consultation .topbar{color:#19303f;background:rgba(240,244,246,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(43,67,85,.14)}
body.in-consultation .topbar .nav-contact{border-color:rgba(42,69,87,.38)}
body.in-consultation .rail,body.in-consultation .chapter-indicator,body.in-consultation .scroll-hint{opacity:0!important;pointer-events:none}
body.in-consultation .topbar .wordmark>span{color:#a28072}
/* Form area: editorial clarity, not an oversized card nested in an overly pale slab. */
.consultation-section{min-height:unset;padding-bottom:clamp(72px,9vw,160px);background:linear-gradient(125deg,#e6edf0 0%,#f2f3f1 62%,#eee8e0 100%)}
.consultation-topline{max-width:1500px;margin:0 auto}
.consultation-layout{grid-template-columns:minmax(280px,.92fr) minmax(440px,1.03fr);gap:clamp(64px,7vw,144px);padding-bottom:0}
.consultation-intro h2{font-size:clamp(48px,5vw,80px);line-height:1.36;letter-spacing:.09em}
.consultation-intro>p{line-height:2.35;color:#4b6371}
.consultation-form-wrap{background:rgba(255,255,255,.73);border:1px solid rgba(37,68,87,.15);box-shadow:0 27px 85px rgba(43,67,84,.07);backdrop-filter:blur(8px)}
.field input,.field select,.field textarea{background:#fff;color:#17303c;border-color:#c6d0d6;min-height:53px}
.field input::placeholder,.field textarea::placeholder{color:#748c99}
.field label{color:#203542;letter-spacing:.045em}
.field-message{margin-top:32px}
.send-button{min-height:70px;letter-spacing:.09em}
.send-button:hover{background:#304858}
.form-caption{color:#566978}
/* Footer: visually separate next chapter; spacious composition with large typographic signature. */
.site-footer{position:relative;z-index:13;background:radial-gradient(ellipse at 90% 6%,rgba(55,80,96,.20),transparent 42%),linear-gradient(153deg,#0e1e2c,#08131e 75%);color:#f5f2ef;margin:0;padding:0 var(--pad);border-top:1px solid rgba(255,255,255,.13);overflow:hidden}
.footer-inner{max-width:1530px;margin:0 auto;padding:clamp(50px,6vw,90px) 0 30px}
.footer-topline{display:flex;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid rgba(235,240,244,.23);font:10px Arial,sans-serif;letter-spacing:.22em;color:#a8b6c2}
.footer-main{display:grid;grid-template-columns:minmax(390px,1.13fr) minmax(370px,.87fr);gap:clamp(70px,8vw,160px);padding:clamp(60px,8vw,112px) 0 70px;align-items:start}
.footer-brand{min-width:0}
.footer-eyebrow{font:10px Arial,sans-serif;letter-spacing:.22em;color:#c7a991;margin:0 0 24px}
.footer-brand h2{font:normal clamp(40px,4.65vw,75px)/1.48 'Hiragino Mincho ProN','Yu Mincho',serif;letter-spacing:.07em;margin:0}
.footer-brand h2 em{font-style:normal;color:#c0cad1}
.footer-copy{font-size:13px;line-height:2.2;color:#b6c5cd;letter-spacing:.04em;margin:28px 0 0}
.footer-consult{display:inline-flex;gap:36px;align-items:center;border-bottom:1px solid rgba(232,222,210,.6);margin-top:35px;padding-bottom:15px;color:#f1eee8;font:12px Arial,sans-serif;letter-spacing:.11em;transition:gap .25s}
.footer-consult:hover{gap:44px}
.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;padding-top:12px}
.footer-links-block{display:block}
.footer-heading{display:block;font:10px Arial,sans-serif;letter-spacing:.22em;color:#bc9882;margin:0 0 26px}
.footer-links{display:flex;flex-direction:column;gap:0}
.footer-links a{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid rgba(225,236,244,.18);padding:14px 0;color:#d8e0e4;font:11px Arial,sans-serif;letter-spacing:.10em;transition:color .25s,padding-left .25s}
.footer-links a:hover{color:white;padding-left:6px}
.footer-links a span{color:#8195a3;font:10px Georgia,serif}
.footer-large{font:normal clamp(64px,14vw,235px)/.8 Georgia,'Times New Roman',serif;letter-spacing:.07em;white-space:nowrap;color:rgba(222,233,240,.11);text-align:center;transform:translateX(.02em);user-select:none;padding:5px 0 32px}
.footer-large span{color:rgba(211,177,148,.30)}
.footer-bottomline{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:20px;margin:0;padding:26px 0 0;border-top:1px solid rgba(235,240,244,.22);font:10px Arial,sans-serif;letter-spacing:.1em;color:#a7b6c1}
.footer-bottomline a{color:#e8ebe9;white-space:nowrap}
/* Tablets: use independent vertical blocks rather than allowing column text to overlap. */
@media(max-width:1100px){
 .chapter.approach{display:block;min-height:145svh}
 .approach .copy{position:relative;top:auto;width:100%;max-width:680px}
 .approach .approach-steps{width:100%;max-width:780px;margin:clamp(160px,24svh,270px) 0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}
 .consultation-layout{grid-template-columns:1fr;gap:50px}
 .consultation-intro h2{margin:22px 0}
 .footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:55px}
 .footer-nav{grid-template-columns:1fr}
}
@media(max-width:860px){
 .chapter.approach{min-height:155svh}
 .approach .copy{position:relative;top:auto;max-width:670px}
 .approach .approach-steps{margin:clamp(120px,19svh,200px) 0 0}
 .approach-steps>div{min-height:135px}
 .consultation-section{padding-bottom:90px}
 .footer-main{gap:44px}
}
@media(max-width:600px){
 .topbar{height:74px}
 .chapter.approach{min-height:157svh}
 .approach .copy{width:100%;top:auto}
 .approach .copy h2{font-size:clamp(40px,10vw,54px)}
 .approach .approach-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 18px;margin:clamp(115px,19svh,200px) 0 0}
 .approach-steps>div{min-height:160px;gap:13px;padding:20px 2px 22px 0}
 .approach-steps b{font-size:clamp(20px,5.5vw,26px)}
 .approach-steps small{font-size:10px;line-height:1.7}
 .consultation-section{padding-top:102px;padding-bottom:72px}
 .consultation-layout{gap:42px;padding-bottom:0}
 .consultation-form-wrap{padding:24px 20px}
 .footer-inner{padding:45px 0 22px}
 .footer-topline{font-size:9px;line-height:1.5}
 .footer-topline span:last-child{display:none}
 .footer-main{display:block;padding:55px 0 35px}
 .footer-brand h2{font-size:clamp(37px,9.2vw,55px)}
 .footer-copy{font-size:12px;line-height:2.2}
 .footer-nav{margin-top:65px;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .footer-heading{font-size:9px}
 .footer-links a{font-size:9px;padding:13px 0;letter-spacing:.05em}
 .footer-large{font-size:14.3vw;padding:32px 0 20px;letter-spacing:.03em}
 .footer-bottomline{grid-template-columns:1fr auto;gap:12px;font-size:9px}
 .footer-bottomline>span:nth-child(2){display:none}
}
@media(prefers-reduced-motion:reduce){
 .js-enhanced .chapter:not(.chapter-visible) .copy>*{opacity:1;transform:none}
}


/* =====================================================================
   v1.1 VISUAL SYSTEM — editorial typography, exhibit-like portfolio,
   atmospheric depth. Preserves the 3D camera/veil/door engine untouched.
   ===================================================================== */
:root {--lgr-ivory:#f7f3ed;--lgr-moon:#c7dae6;--lgr-silk:#e1d5ca;--lgr-night:#080e16;--lgr-hairline:rgba(235,242,248,.42)}
/* Ligareve must use its registered/planned brand capitalization everywhere. */
.wordmark{font-family:Georgia,'Times New Roman',serif;font-size:clamp(23px,1.95vw,31px);font-weight:400;letter-spacing:-.022em;line-height:1.2;color:inherit;transition:opacity .25s}
.wordmark:hover{opacity:.78}
.footer-large{font-family:Georgia,'Times New Roman',serif;font-size:clamp(78px,17vw,272px);letter-spacing:-.064em;font-weight:400;line-height:.8;color:rgba(220,234,239,.16);text-transform:none}
.footer-large::first-letter{color:rgba(246,240,232,.28)}
/* True serif texture in Japanese: device-available Mincho first, avoid sans fallback. */
.copy h1,.copy h2,.contact .copy h2,.footer-brand h2,.consultation-intro h2,.approach-steps b{font-family:'Noto Serif CJK JP','Hiragino Mincho ProN','Yu Mincho','Noto Serif JP',serif;font-weight:400;font-synthesis:none}
.copy h1{font-size:clamp(52px,5.15vw,88px);line-height:1.5;letter-spacing:.055em}
.copy h2{line-height:1.5;letter-spacing:.048em}
.copy p{max-width:540px;line-height:2.35;letter-spacing:.053em}
.eyebrow{font-size:9px;letter-spacing:.25em;color:#e2c9b4}
.chapter .copy{isolation:isolate}
/* readability: soft radial shadow behind copy, no generic frosted card */
.chapter .copy::before{content:'';pointer-events:none;position:absolute;z-index:-1;inset:-90px -65px -80px -70px;background:radial-gradient(ellipse at 34% 45%,rgba(5,11,19,.47),rgba(5,11,19,.2) 57%,transparent 84%);opacity:.9}
.copy>.line-link,.hero-links>.line-link{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.2em;padding-bottom:17px}
.copy h1 + p,.copy h2 + p{margin-top:32px}
.hero .copy{top:23vh}
.hero-signature{right:clamp(70px,10vw,170px);bottom:12vh;font:11px Georgia,serif;letter-spacing:.19em;color:rgba(231,240,246,.62)}
.hero-signature-small{font-size:9px!important;letter-spacing:.18em;color:rgba(210,224,233,.65)!important}
.hero-signature-rule{color:rgba(224,200,178,.72)!important;margin:0 9px!important}
/* restrained section marker visual consistency */
.rail-top{font-size:11px;color:rgba(248,250,251,.8)}
.chapter-indicator,.scroll-hint{font-size:9px;letter-spacing:.20em;color:rgba(248,249,248,.72)}
/* works staging: curated exhibit instead of three gradient name cards */
.chapter.works{min-height:265svh}
.works-showcase{width:min(56%,780px);margin-top:43vh;gap:42px 24px}
.work-item{position:relative;outline-offset:7px}
.work-image{isolation:isolate;border:1px solid rgba(233,239,241,.33);box-shadow:0 32px 100px rgba(0,0,0,.43);transition:box-shadow .5s,border-color .5s,transform .7s cubic-bezier(.2,.75,.2,1)}
.work-item:hover .work-image,.work-item:focus-visible .work-image{transform:translateY(-7px);border-color:rgba(245,241,235,.72);box-shadow:0 40px 120px rgba(0,0,0,.57)}
.work-image::after{content:'';pointer-events:none;position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(6,11,15,.21) 0%,transparent 24%,transparent 72%,rgba(6,11,15,.43) 100%)}
.work-one{background:linear-gradient(135deg,#bbc6cd 0%,#727f88 40%,#17242e 100%)}
.work-one::before{display:none}
.work-two{background:linear-gradient(145deg,#c3afa1,#ece5da 44%,#4c555d 100%)}
.work-two::before{display:none}
.work-three{background:linear-gradient(145deg,#0f343c,#276671 49%,#142027)}
.work-three::before{display:none}
.work-editorial-decoration{position:absolute;z-index:1;inset:0;pointer-events:none;overflow:hidden}
.work-editorial-one{display:flex;align-items:center;justify-content:center;perspective:1600px}
.work-editorial-frame{width:67%;height:83%;background:#f0f0ee;box-shadow:16px 24px 40px rgba(14,25,35,.4);transform:rotateY(-17deg) rotateZ(-3deg) translate(9%,6%);overflow:hidden;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.work-item:hover .work-editorial-frame{transform:rotateY(-8deg) rotateZ(-1deg) translate(6%,3%)}
.mock-top{height:28px;display:flex;align-items:center;gap:4px;background:#1b2b31;padding:0 11px}
.mock-top i{height:4px;width:4px;background:#7f99a0;border-radius:50%}
.mock-top b{margin-left:auto;font:6px Arial,sans-serif;letter-spacing:.23em;color:#e1e6e5}
.mock-paper{padding:clamp(18px,3vw,43px);height:100%;background:linear-gradient(130deg,#e5e7e1,#f7f6f0 74%);color:#192a30}
.mock-paper>span{font:700 clamp(23px,4vw,56px)/.9 Arial,sans-serif;letter-spacing:-.065em;display:block}
.mock-paper-line{height:1px;width:82%;margin-top:clamp(12px,2vw,32px);background:rgba(18,34,42,.35)}
.mock-paper-grid{display:flex;margin-top:14px;gap:8px;height:38%}.mock-paper-grid i{flex:1;background:linear-gradient(150deg,#384e52,#a4b5ac)}.mock-paper-grid i:nth-child(2){background:linear-gradient(150deg,#a1a58f,#d5d9cc)}.mock-paper-grid i:nth-child(3){background:linear-gradient(150deg,#455e6c,#8b9c95)}
.work-editorial-two{display:flex;align-items:center;justify-content:center}
.work-two-circle{width:70%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.6);box-shadow:inset 0 0 65px #fff8,0 0 65px #efe8df61;transform:translate(18%,14%) rotate(-19deg)}
.work-two-ribbon{position:absolute;width:180%;height:35%;background:linear-gradient(180deg,transparent,#faf8f4b0 48%,#c8a6a081 62%,transparent);filter:blur(11px);transform:rotate(-33deg) translateY(18px)}
.work-two-monogram{position:absolute;font:italic clamp(100px,14vw,200px)/1 Georgia,serif;color:rgba(247,242,231,.33);transform:translate(2%,-3%)}.work-two-monogram span{font-size:.46em}
.work-editorial-three{background:radial-gradient(ellipse at 45% 40%,#6db9a449,transparent 52%)}
.work-editorial-three>span{position:absolute;font:clamp(130px,20vw,265px)/1 Georgia,serif;color:rgba(213,252,233,.12);top:-9%;left:6%;transform:rotate(-15deg)}
.work-editorial-three>span:nth-child(2){left:auto;right:-5%;top:25%;transform:rotate(11deg)}
.work-three-orbit{position:absolute;width:75%;aspect-ratio:1;top:0;left:12%;border:1px solid rgba(217,245,232,.35);border-radius:50%;box-shadow:0 0 0 27px rgba(221,249,239,.045),0 0 0 80px rgba(221,249,239,.025);transform:scaleX(.85) rotate(-25deg);transition:transform .85s}
.work-item:hover .work-three-orbit{transform:scaleX(1) rotate(12deg)}
.work-art-title{z-index:3;text-shadow:0 3px 18px rgba(0,0,0,.7);font-size:clamp(31px,4.5vw,65px);letter-spacing:.035em}
.work-one .work-art-title{position:absolute;right:2%;bottom:13%;font-size:clamp(30px,4.8vw,69px);color:#f7f8f6}
.work-two .work-art-title{font-family:Georgia,serif;color:#fff9f2;text-shadow:0 5px 30px #3d332aa8}
.work-three .work-art-title{letter-spacing:-.015em}
.work-image em,.work-image>span,.work-visit{z-index:5}
.work-meta{margin-top:23px;padding-bottom:16px}
.work-meta b{font-family:Georgia,serif;font-size:20px}
.work-visit{display:flex;align-items:center;justify-content:center;width:auto;min-width:104px}
.work-detail{color:#d2e0e6;line-height:2.0;font-size:12px}
.work-disclaimer{font-size:10px;color:#aabdc7}
/* Process work: controlled architectural rails and readable step content */
.approach-steps>div{backdrop-filter:blur(1px)}
.approach-steps b{line-height:1.55}
.approach-steps>div:after{width:44px}
/* Studio byline + calibrated side detail */
.studio-side-note{position:absolute;right:clamp(35px,7vw,115px);bottom:27vh;writing-mode:vertical-rl;font:9px Arial,sans-serif;letter-spacing:.2em;color:rgba(216,229,237,.5)}
.studio-byline span:first-child{font:italic 15px Georgia,serif;letter-spacing:.015em;text-transform:none}
/* Form and footer stay legible, while brand signature remains intentional */
.footer-large{padding-top:25px;padding-bottom:42px}
.footer-eyebrow{letter-spacing:.23em}
.footer-topline span:first-child{text-transform:none}
.footer-brand h2{letter-spacing:.06em}
.consultation-kicker{text-transform:none;letter-spacing:.17em}
/* Lighting, softly synced to story progress; unlike slide backgrounds, this is one continuous scene. */
#experience::after{content:'';position:absolute;z-index:4;inset:0;pointer-events:none;background:radial-gradient(ellipse 42% 53% at 65% 58%,rgba(141,185,206,.11),transparent 76%),radial-gradient(ellipse 36% 70% at 78% 7%,rgba(242,222,203,.055),transparent 90%);opacity:calc(.25 + var(--scene-light,0) * .50);mix-blend-mode:screen}
@media(max-width:1100px){
 .works-showcase{width:min(53%,700px)}
 .work-one .work-art-title{font-size:clamp(32px,4.2vw,60px)}
}
@media(max-width:860px){
 .wordmark{font-size:25px}
 .copy h1{font-size:clamp(40px,8.7vw,58px)}
 .chapter .copy::before{inset:-30px -15px -30px -24px}
 .works-showcase{width:100%;margin-top:54vh}
 .chapter.works{min-height:260svh}
 .work-editorial-frame{width:80%}
 .work-one .work-art-title{font-size:clamp(32px,6vw,56px)}
 .studio-side-note{display:none}
 .footer-large{font-size:14vw;letter-spacing:-.065em}
}
@media(max-width:600px){
 .wordmark{font-size:24px}
 .hero .copy{top:22svh}
 .copy h1{font-size:clamp(38px,9vw,53px)}
 .copy h2{font-size:clamp(36px,8.4vw,52px)}
 .hero-signature{right:25px;bottom:8vh;font-size:7px;letter-spacing:.11em;max-width:210px;text-align:right}
 .hero-signature-small{font-size:7px!important}
 .hero-signature-rule{margin:0 3px!important}
 .chapter.works{min-height:355svh}
 .works-showcase{margin-top:52vh;gap:32px}
 .work-editorial-frame{width:81%;height:76%}
 .mock-paper{padding:22px}.mock-paper>span{font-size:clamp(29px,9vw,47px)}
 .work-one .work-art-title{font-size:clamp(28px,8vw,44px)}
 .work-two-monogram{font-size:clamp(120px,45vw,175px)}
 .work-image,.work-item:first-child .work-image{height:clamp(260px,70vw,420px)}
 .work-meta b{font-size:17px}
 .work-detail{font-size:11px}
 .work-visit{min-width:96px}
 .footer-large{font-size:14.7vw}
 .footer-brand h2{font-size:clamp(35px,8.9vw,52px)}
}
@media(prefers-reduced-motion:reduce){.work-image,.work-editorial-frame,.work-three-orbit{transition:none!important;transform:none!important}}

/* v1.1 visual QA: case-study copy and exhibit MUST NOT collide. */
@media(min-width:1181px){
 .works .copy{width:min(480px,36vw)}
 .works .copy h2{font-size:clamp(45px,3.6vw,55px);line-height:1.48;letter-spacing:.025em}
 .works-showcase{width:min(48%,690px);margin:44vh 0 0 auto}
}
@media(max-width:1180px){
 .chapter.works>.copy{position:relative;top:auto;width:100%;max-width:750px}
 .works-showcase{position:relative;margin:clamp(75px,12vh,135px) 0 0 auto;width:100%;max-width:820px}
 .chapter.works{min-height:unset;padding-bottom:170px}
}
@media(max-width:860px){
 .chapter.works>.copy{position:relative;top:auto;width:100%;max-width:690px}
 .works-showcase{margin:85px 0 0;max-width:none}
 .chapter.works{min-height:unset;padding-bottom:140px}
}
@media(max-width:600px){
 .chapter.works>.copy{position:relative;top:auto;width:100%}
 .works-showcase{margin:62px 0 0;grid-template-columns:1fr;gap:34px}
 .chapter.works{min-height:unset;padding-bottom:110px}
}
/* Button overlay contained by card, never inherited from generic span pin. */
.work-image > .work-visit{left:auto;right:20px;top:20px;bottom:auto;width:auto;min-width:110px;max-width:calc(100% - 35px);padding:0 15px;text-align:center;white-space:nowrap}
@media(max-width:860px){.work-image > .work-visit{top:13px;right:12px;left:auto;min-width:90px;height:32px;padding:0 11px}}
/* Quiet navigation surface after the first fold; prevents previous chapter copy from showing through the wordmark. */
body.has-scrolled:not(.in-consultation) .topbar{background:linear-gradient(180deg,rgba(5,11,19,.93),rgba(5,11,19,.68) 74%,rgba(5,11,19,0));}
.hero .chapter-side{bottom:35vh}
@media(max-width:600px){.chapter-indicator,.rail{display:none!important}}


/* v1.7: SP Works gallery only. The v1.1 WebGL background remains unchanged. */
/* =============== LIGAREVE SELECTED WORKS — PINNED HORIZONTAL JOURNEY v1.5 =============== */
.chapter.works.works-responsive{height:520svh!important;min-height:0!important;padding:0!important;margin:0;overflow:clip;isolation:isolate;}
.hworks-stage{position:sticky;top:0;height:100svh;min-height:570px;overflow:hidden;background:linear-gradient(112deg,rgba(7,14,23,.95),rgba(15,32,46,.88) 56%,rgba(8,15,27,.96));z-index:12;}
.hworks-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.hworks-atmosphere::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 40% 50% at 80% 43%,rgba(114,151,181,.18),transparent 83%),linear-gradient(180deg,transparent 75%,rgba(4,10,17,.8));}
.hworks-silk{position:absolute;left:9%;top:24%;width:130%;height:25%;border-radius:50%;transform:rotate(-12deg) translateX(var(--hworks-silk-x,-5%));transition:transform .15s linear;background:linear-gradient(180deg,transparent 0%,rgba(213,237,252,.09) 30%,rgba(231,245,250,.27) 48%,rgba(184,212,228,.09) 65%,transparent 100%);filter:blur(12px);}
.hworks-mist{position:absolute;inset:20% -20%;background:radial-gradient(ellipse at 40% 65%,rgba(177,209,231,.09),transparent 58%);}
.hworks-header{position:absolute;z-index:4;left:var(--pad);right:var(--pad);top:clamp(96px,13vh,150px);display:flex;align-items:start;justify-content:space-between;gap:35px;pointer-events:none;}
.hworks-header h2{margin:14px 0 0;font:normal clamp(26px,3vw,48px)/1.45 'Noto Serif CJK JP','Hiragino Mincho ProN','Yu Mincho',serif;letter-spacing:.07em;color:#f3f1ea;}
.hworks-eyebrow{font:10px Arial,sans-serif;letter-spacing:.20em;color:#d6bea9;}
.hworks-current{display:flex;align-items:center;gap:12px;font:12px Georgia,serif;color:#cfdce5;letter-spacing:.07em;}
.hworks-count{font-size:20px;color:#fff;min-width:25px;}
.hworks-line{width:48px;height:1px;background:#bdcdd5;}
.hworks-viewport{position:absolute;top:clamp(220px,29svh,295px);bottom:clamp(58px,9svh,90px);left:0;right:0;overflow:visible;}
.hworks-track{display:flex;height:100%;width:400%;will-change:transform;transform:translate3d(0,0,0);}
.hworks-panel{flex:0 0 25%;width:25%;display:flex;justify-content:center;align-items:center;padding:0 max(8vw,35px);min-width:0;}
.hworks-project{width:min(76vw,1120px);height:100%;max-height:610px;display:grid;grid-template-columns:minmax(0,1.27fr) minmax(230px,.66fr);align-items:center;gap:clamp(24px,4vw,75px);}
.hworks-media{display:block;position:relative;overflow:hidden;aspect-ratio:16/10;min-height:230px;border:1px solid rgba(229,239,245,.29);box-shadow:0 38px 95px rgba(1,5,10,.55);transition:box-shadow .3s,transform .45s ease;}
a.hworks-media:hover,a.hworks-media:focus-visible{box-shadow:0 45px 120px #0009;transform:translateY(-5px);}
.hworks-art-one{background:radial-gradient(circle at 76% 20%,#a69a84 0,transparent 44%),linear-gradient(140deg,#232933,#54545a 46%,#181e27);}
.hworks-art-two{background:radial-gradient(circle at 25% 25%,#9daeb9,transparent 58%),linear-gradient(125deg,#10252b,#253e43 60%,#09121c);}
.hworks-art-three{background:radial-gradient(circle at 85% 18%,#baa68c,transparent 45%),linear-gradient(125deg,#242836,#455064 55%,#111d2d);}
.hworks-browser{position:absolute;inset:10% 8%;background:#f5f2ea;color:#13202b;box-shadow:0 15px 35px #04090e85;transform:perspective(1350px) rotateY(-8deg) rotateX(3deg);overflow:hidden;}
.hworks-browser-top{height:11%;padding:0 5%;display:flex;justify-content:space-between;align-items:center;background:#e5e5e2;font:clamp(7px,.72vw,10px) Arial,sans-serif;letter-spacing:.18em;}
.hworks-browser-top small{font:inherit;font-size:.8em;}
.hworks-browser-inner{height:89%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:4% 8%;background:linear-gradient(134deg,rgba(245,245,239,.96),rgba(220,227,226,.9));}
.hworks-browser-inner .art-micro{font:clamp(6px,.7vw,10px) Arial,sans-serif;letter-spacing:.2em;margin-bottom:4%;}
.hworks-browser-inner strong{font:normal clamp(34px,5.5vw,100px)/1.04 Georgia,serif;letter-spacing:-.04em;}
.hworks-browser-inner p{font:clamp(8px,1vw,14px) Georgia,serif;margin-top:4%;}
.art-line{width:60%;height:1px;background:#7c898d;margin-top:8%;}
.hworks-art-two .hworks-browser-inner{background:linear-gradient(130deg,#e3e6df,#f9f8f3);}
.hworks-art-two .hworks-browser-inner strong{font-family:Arial,sans-serif;font-weight:800;letter-spacing:-.07em;font-size:clamp(28px,5vw,87px);}
.hworks-art-three .hworks-browser-inner{background:linear-gradient(135deg,#e7ddcf,#e0e7ea 70%);}
.hworks-geometry{position:absolute;inset:0;pointer-events:none;}
.hworks-geometry i{position:absolute;top:-30%;left:13%;height:170%;width:12%;transform:rotate(26deg);background:#ffffff0e;}
.hworks-geometry i:nth-child(2){left:43%;transform:rotate(26deg);background:#ffffff1b;}
.hworks-geometry i:nth-child(3){left:73%;transform:rotate(26deg);}
.hworks-geometry-dots{position:absolute;inset:0;background-image:radial-gradient(#ffffff50 .5px,transparent .5px);background-size:12px 12px;opacity:.2;}
.hworks-media-tag{position:absolute;left:14px;bottom:14px;z-index:5;font:8px Arial,sans-serif;letter-spacing:.2em;color:#fff9;padding:6px 9px;background:#0006;}
.hworks-visit{position:absolute;right:12px;top:12px;padding:10px 13px;border:1px solid #fff8;background:#09162390;z-index:5;font:9px Arial,sans-serif;letter-spacing:.15em;color:white;}
.hworks-meta{min-width:0;color:#eaf0f3;display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.hworks-serial{color:#d6baa2;font:12px Georgia,serif;}
.hworks-category{font:10px Arial,sans-serif;letter-spacing:.16em;line-height:1.7;color:#b9cdd6;}
.hworks-meta h3{font:normal clamp(40px,4.3vw,78px)/1.2 Georgia,serif;letter-spacing:-.04em;margin:12px 0 16px;overflow-wrap:anywhere;}
.hworks-meta p{font-size:13px;line-height:2.0;letter-spacing:.035em;color:#c8d6df;max-width:31ch;margin:0;}
.hworks-case,.hworks-link-muted{font:10px Arial,sans-serif;letter-spacing:.17em;margin-top:24px;border-bottom:1px solid #ffffff6a;padding:0 0 11px;}
.hworks-link-muted{color:#a1b2bd;border-color:#ffffff2a;cursor:default;}
.hworks-footer{position:absolute;z-index:5;left:var(--pad);right:var(--pad);bottom:24px;display:flex;gap:34px;align-items:center;justify-content:space-between;color:#a9b9c5;font:9px Arial,sans-serif;letter-spacing:.2em;pointer-events:none;}
.hworks-footer b{font-size:15px;color:#cdb59e;}
.hworks-progress{height:1px;background:#ffffff40;flex:1;max-width:430px;}
.hworks-progress span{display:block;height:2px;background:#e5c5a9;width:0;}
.hworks-all-inner{position:relative;border:1px solid rgba(232,243,255,.28);background:linear-gradient(130deg,rgba(34,58,75,.84),rgba(12,22,35,.83));width:min(900px,80vw);padding:clamp(35px,5vw,80px);box-shadow:0 40px 85px #0006;}
.hworks-all-inner>span:first-child{color:#d5b59c;font:10px Arial,sans-serif;letter-spacing:.19em;}
.hworks-all-inner h3{font:normal clamp(33px,4.5vw,66px)/1.45 'Hiragino Mincho ProN','Yu Mincho',serif;margin:24px 0;color:white;}
.hworks-all-inner p{color:#bed0db;line-height:1.9;font-size:13px;}
.hworks-all-link{display:flex;align-items:center;justify-content:space-between;gap:25px;width:min(360px,100%);margin-top:35px;padding:17px 0;border-bottom:1px solid #eee1d4;font:11px Arial,sans-serif;letter-spacing:.18em;}
.hworks-all-link span{font-size:19px;}
.hworks-all-foot{display:block;color:#a3b8c6;font:9px Arial,sans-serif;letter-spacing:.18em;margin-top:50px;}
@media(max-width:979px){
.chapter.works.works-responsive{height:490svh!important;padding:0!important;min-height:0!important;}
.hworks-header{top:102px;left:24px;right:24px;}
.hworks-header h2{font-size:clamp(25px,6.2vw,38px)}
.hworks-viewport{top:clamp(228px,28svh,300px);bottom:65px;}
.hworks-panel{padding:0 24px;}
.hworks-project{width:100%;max-width:570px;display:flex;flex-direction:column;justify-content:center;gap:24px;align-items:stretch;}
.hworks-media{aspect-ratio:1.42;min-height:0;flex:none;}
.hworks-browser-inner strong{font-size:clamp(40px,11vw,70px)}
.hworks-art-two .hworks-browser-inner strong{font-size:clamp(30px,9.4vw,64px)}
.hworks-meta{gap:9px;}
.hworks-meta h3{font-size:clamp(35px,8vw,56px);margin:6px 0 6px}
.hworks-meta p{font-size:11px;line-height:1.8;max-width:36ch;}
.hworks-category{font-size:8px;}
.hworks-serial{font-size:10px;}
.hworks-case,.hworks-link-muted{margin-top:5px;}
.hworks-all-inner{width:100%;padding:26px;}
.hworks-all-inner h3{font-size:clamp(30px,7vw,46px)}
}
@media(max-width:600px){
.hworks-stage{min-height:0;}
.hworks-header{top:88px;}
.hworks-eyebrow{font-size:8px;}
.hworks-header h2{font-size:clamp(25px,7vw,33px)}
.hworks-viewport{top:clamp(188px,24svh,250px);bottom:52px;}
.hworks-project{gap:16px;max-width:420px;}
.hworks-media{aspect-ratio:1.37;}
.hworks-meta h3{font-size:clamp(34px,8vw,43px)}
.hworks-meta p{font-size:10px;}
.hworks-meta .hworks-category{font-size:8px;}
.hworks-media-tag{font-size:7px;letter-spacing:.1em;}
.hworks-visit{font-size:7px;letter-spacing:.05em;padding:8px;}
.hworks-footer{left:24px;right:24px;bottom:15px;font-size:8px;}
.hworks-footer .hworks-progress{max-width:105px;}
}
@media(prefers-reduced-motion:reduce){
.chapter.works.works-responsive{height:auto!important;overflow:visible;}
.hworks-stage{position:relative;height:auto;min-height:0;padding:155px 0 65px;}
.hworks-header{position:relative;top:0;margin-bottom:35px;}
.hworks-viewport{position:relative;top:0;bottom:0;}
.hworks-track{width:100%;display:flex;flex-direction:column;transform:none!important;gap:65px;}
.hworks-panel{width:100%;flex:auto;}
.hworks-footer{display:none;}
}

/* PC original composition and standard vertical scrolling. */
@media (min-width:861px){
  .works-responsive>.hworks-stage{display:none!important}
  .chapter.works.works-responsive{height:auto!important;min-height:265svh!important;overflow:visible!important;isolation:auto!important;padding:clamp(140px,16vh,210px) var(--pad) 110px!important}
}
/* SP gallery pins while the native vertical scroll controls horizontal movement. */
@media (max-width:860px){
  .chapter.works.works-responsive{height:490svh!important;min-height:0!important;overflow:clip!important;padding:0!important;margin:0!important;isolation:isolate}
  .works-responsive>.copy,.works-responsive>.works-showcase{display:none!important}
  .works-responsive>.hworks-stage{display:block!important;position:sticky;top:0;height:100svh;min-height:0!important;overflow:hidden;
     background:linear-gradient(120deg,rgba(5,13,22,.69),rgba(9,22,35,.66) 50%,rgba(5,13,22,.80))}
  .hworks-silk{opacity:.27}
  .hworks-header{top:max(90px,calc(env(safe-area-inset-top) + 66px))}
  .hworks-viewport{top:clamp(175px,23svh,260px);bottom:55px}
}
@media(max-width:600px){
  .hworks-header h2{font-size:clamp(24px,7vw,34px)}
  .hworks-panel{padding:0 22px}
  .hworks-project{max-width:430px}
  .hworks-media{aspect-ratio:1.42}
}
@media (max-width:860px) and (prefers-reduced-motion:reduce){
  .chapter.works.works-responsive{height:auto!important;overflow:visible!important}
  .works-responsive>.hworks-stage{position:relative;height:auto;min-height:unset;overflow:visible;padding-bottom:65px}
  .hworks-header{position:relative;top:auto;padding:90px 0 0;margin-bottom:32px}
  .hworks-viewport{position:relative;top:auto;bottom:auto}
  .hworks-track{transform:none!important;display:flex;flex-direction:column;width:100%;gap:54px}
  .hworks-panel{width:100%;flex:0 0 auto;min-height:0}
}
@media (max-width:860px) {
 html:not(.horizontal-ready) .chapter.works.works-responsive{height:auto!important;overflow:visible!important}
 html:not(.horizontal-ready) .works-responsive>.hworks-stage{position:relative!important;height:auto!important;overflow:visible;padding-bottom:80px}
 html:not(.horizontal-ready) .hworks-header{position:relative;top:auto;margin-bottom:40px}
 html:not(.horizontal-ready) .hworks-viewport{position:relative;top:auto;bottom:auto}
 html:not(.horizontal-ready) .hworks-track{display:flex;flex-direction:column;gap:38px;width:100%;transform:none!important}
 html:not(.horizontal-ready) .hworks-panel{width:100%;flex:auto}
}

/* Mobile readability QA: do not pin the narrative copy over subsequent blocks. */
@media(max-width:860px){
  .chapter:not(.works) > .copy,
  .chapter.hero > .copy,
  .chapter.contact > .copy,
  .chapter.services > .copy,
  .chapter.approach > .copy {
    position:relative!important;top:auto!important;left:auto!important;
    max-width:100%;width:100%!important;margin:0;
  }
  .chapter:not(.works){padding-top:clamp(128px,16svh,175px);padding-bottom:clamp(110px,17svh,170px)}
  .chapter.services{min-height:unset;padding-bottom:clamp(110px,16svh,175px)}
  .services-list{width:100%;max-width:none;margin:clamp(75px,12svh,115px) 0 0}
  .service-row{grid-template-columns:25px minmax(0,1fr) 20px;align-items:start;gap:12px;padding:23px 0}
  .service-row>div{min-width:0}
  .service-row h3{font-size:clamp(21px,6vw,32px);white-space:normal;line-height:1.2;margin:0 0 9px}
  .service-row small{display:block;white-space:normal;line-height:1.7}
  .chapter.approach{min-height:unset}
  .approach .approach-steps{width:100%;margin-top:clamp(100px,17svh,190px)}
  .chapter.contact{min-height:148svh;padding-bottom:clamp(185px,32svh,360px)}
  .contact .copy h2{font-size:clamp(38px,9vw,57px);line-height:1.4}
  .js-enhanced .chapter:not(.chapter-visible) .copy>*{opacity:1!important;transform:none!important}
  body.has-scrolled:not(.in-consultation) .topbar{background:rgba(7,17,29,.96)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
}
@media(max-width:600px){
  .chapter.services>.copy h2{font-size:clamp(35px,9vw,48px);line-height:1.42;max-width:100%}
  .services-list{margin-top:clamp(70px,11svh,105px)}
  .service-row{grid-template-columns:24px minmax(0,1fr) 18px;gap:10px}
  .service-row h3{font-size:clamp(19px,6.5vw,29px)}
  .chapter.contact{min-height:155svh}
  .portal-instruction{bottom:16svh}
}


/* v1.9 — return to the editorial footer without deleting its content.
   The large, faint Ligareve art wordmark is the ONLY removed footer element.
   Spacing is tightened, with the original words, links, and grid preserved. */
.site-footer .footer-inner{padding:clamp(32px,3.5vw,51px) 0 22px}
.site-footer .footer-topline{padding-bottom:15px}
.site-footer .footer-main{padding:clamp(32px,3.7vw,55px) 0 clamp(28px,3.7vw,56px);gap:clamp(40px,6vw,100px)}
.site-footer .footer-brand h2{font-size:clamp(37px,4vw,64px);line-height:1.42}
.site-footer .footer-brand .footer-copy{margin-top:19px;line-height:2}
.site-footer .footer-consult{margin-top:22px;padding-bottom:11px}
.site-footer .footer-heading{margin-bottom:14px}
.site-footer .footer-links a{padding:10px 0}
.site-footer .footer-bottomline{padding-top:18px}
@media(max-width:1100px){
 .site-footer .footer-main{gap:40px}
}
@media(max-width:600px){
 .site-footer .footer-inner{padding:27px 0 19px}
 .site-footer .footer-main{padding:32px 0 30px}
 .site-footer .footer-brand h2{font-size:clamp(33px,8.3vw,46px)}
 .site-footer .footer-brand .footer-copy{font-size:11px;line-height:2;margin-top:14px}
 .site-footer .footer-consult{margin-top:18px}
 .site-footer .footer-nav{margin-top:32px;gap:18px}
 .site-footer .footer-heading{margin-bottom:10px}
 .site-footer .footer-links a{padding:10px 0;font-size:9px}
 .site-footer .footer-bottomline{padding-top:17px}
}


/* =============================================================
   v2.0 / CRAFTED EXPERIENCE — VISUAL DESIGN PASS 01
   Visual-only adjustments. The approved narrative, background engine,
   PC vertical and SP horizontal behavior, and full footer are unchanged.
   ============================================================= */
:root { --art-white:#f2f1ef; --art-ivory:#e7d7c7; --art-muted:#b8cbd7; --art-line:rgba(233,237,239,.36); }
::selection{background:#d1b499;color:#0c1823}
.wordmark{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.034em;font-size:clamp(26px,2.25vw,36px);font-weight:400}
.topbar{border-bottom:1px solid transparent}
body.has-scrolled:not(.in-consultation) .topbar{border-bottom-color:rgba(225,235,240,.08)}
.desktop-nav a:not(.nav-contact){font-size:10px;font-weight:400;letter-spacing:.20em}
.desktop-nav .nav-contact{padding:14px 21px;transition:background .3s,border-color .3s,color .3s}
.copy h1,.copy h2{font-weight:400;line-height:1.52;letter-spacing:.065em;text-wrap:balance;text-shadow:0 7px 38px rgba(0,0,0,.42)}
.hero .copy h1{font-size:clamp(52px,5.35vw,92px);line-height:1.46;letter-spacing:.058em}
.hero .copy p{font-size:14px;letter-spacing:.09em;color:#e5e9e9}
.hero-links{margin-top:49px}
.eyebrow{color:#ddc7b6;letter-spacing:.235em;font-size:9px}
.eyebrow-line{width:23px;background:linear-gradient(90deg,#f2ddc6,#c5a889)}
.line-link{border-color:rgba(228,228,225,.60)}
.line-link span,.contact-cta span{transition:transform .3s ease}
.line-link:hover span,.contact-cta:hover span{transform:translate(4px,-4px)}
.hero-signature{color:rgba(230,229,223,.72)}
.name .origin{border-top:1px solid rgba(220,230,235,.3);border-bottom:1px solid rgba(220,230,235,.3);padding:21px 0;margin:39px 0 7px;max-width:510px;justify-content:space-between}
.name .origin-latin{font-size:clamp(27px,2.9vw,42px);font-style:italic;letter-spacing:-.025em}
.name .origin-definition{color:#c2cbd0}
.name .origin>b{font-style:italic;font-size:25px;color:#c5a68e}
.services-list{border-top-color:rgba(235,234,226,.55)}
.service-row{border-bottom-color:rgba(235,234,226,.34);padding-top:28px;padding-bottom:28px}
.service-row h3{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em}
.service-row>span{color:#d8b89f;font-style:italic}
.service-row>b{color:#e8d5c1;font-size:19px}
.approach-steps>div{border-top-color:rgba(239,239,236,.45)}
.approach-steps span{font-style:italic}
.contact .copy h2{line-height:1.42}
/* Collection cards: expressive previews IN their visual surfaces,
   rather than unsupported claims that the real FV is already available. */
.work-image{border-color:rgba(230,238,245,.30);isolation:isolate}
.work-image::after{z-index:7;opacity:.5;background:linear-gradient(0deg,rgba(3,12,21,.64),transparent 32%)}
.work-item:hover .work-image{border-color:rgba(231,218,202,.7);transform:translateY(-5px)}
.portfolio-art{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.portfolio-proof{position:absolute;z-index:6;bottom:20px;left:23px;font:8px Arial,sans-serif;letter-spacing:.15em;color:rgba(235,242,245,.72)}
/* NOBLE: a physical floating Web composition with fine material edges. */
.work-one{background:radial-gradient(ellipse at 74% 21%,#a3a9a9 0%,transparent 52%),radial-gradient(ellipse at 25% 73%,#4b6879 0%,transparent 48%),#142331}
.portfolio-art--noble:before{content:"";position:absolute;inset:-20%;background:linear-gradient(122deg,transparent 39%,rgba(240,238,222,.13) 50%,transparent 53%);transform:rotate(-7deg)}
.portfolio-orbit{position:absolute;border:1px solid rgba(239,236,223,.24);border-radius:50%;width:105%;aspect-ratio:1.3;left:-39%;top:29%;transform:rotate(-35deg)}
.portfolio-orbit--b{width:78%;left:44%;top:-40%;transform:rotate(19deg)}
.portfolio-device{position:absolute;inset:7% 10% 11% 25%;background:#182b38;border:1px solid rgba(232,237,239,.55);box-shadow:19px 23px 0 rgba(3,10,17,.19),27px 32px 45px rgba(3,10,17,.40);transform:perspective(900px) rotateY(-13deg) rotateZ(-2deg);overflow:hidden;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.work-item:hover .portfolio-device{transform:perspective(900px) rotateY(-7deg) rotateZ(0deg) translateY(-2px)}
.portfolio-device-bar{display:flex;align-items:center;justify-content:space-between;height:33px;padding:0 18px;border-bottom:1px solid rgba(226,227,223,.25);font:8px Arial,sans-serif;letter-spacing:.21em;color:#e5e5df}
.portfolio-device-body{position:relative;height:calc(100% - 33px);padding:6% 8%;background:radial-gradient(ellipse at 70% 40%,rgba(170,188,190,.31),transparent 45%),linear-gradient(155deg,#1a3441,#345062 57%,#091923)}
.portfolio-device-kicker{font:7px Arial,sans-serif;letter-spacing:.19em;color:#d8e1df}
.portfolio-device-identity{position:absolute;right:8%;top:15%;font:italic clamp(76px,9vw,140px)/1 Georgia,serif;color:rgba(237,231,218,.35);letter-spacing:-.12em}
.portfolio-device-identity span{color:#c7a98f}
.portfolio-device-caption{position:absolute;left:8%;bottom:19%;font:clamp(20px,3vw,39px)/1.25 Georgia,serif;color:#f1ede6;letter-spacing:.16em}
.portfolio-device-rule{position:absolute;bottom:14%;left:8%;right:8%;height:1px;background:rgba(236,230,218,.5)}
.work-one>.work-art-title{position:absolute;left:4%;bottom:10%;right:auto!important;font-size:clamp(36px,5.3vw,77px);letter-spacing:-.045em;z-index:8;text-shadow:0 4px 22px rgba(0,0,0,.65)}
.work-one>em{display:none}
.work-one>.portfolio-art .portfolio-proof{display:none}
/* RE START: contrasting editorial typography, warm photographic-paper feel. */
.work-two{background:linear-gradient(135deg,#ddd0bf,#948475 58%,#4a4542)}
.portfolio-art--restart{display:grid;place-items:center}
.portfolio-restart-type{position:absolute;left:-5%;top:2%;font:italic clamp(100px,15vw,240px)/.9 Georgia,serif;letter-spacing:-.15em;color:rgba(255,248,236,.16)}
.portfolio-restart-type span{color:rgba(94,49,45,.15)}
.portfolio-restart-surface{position:relative;width:82%;height:77%;background:#eee8e1;border:1px solid #fff8;box-shadow:15px 16px 31px rgba(33,27,28,.21);transform:perspective(600px) rotateY(9deg) rotateZ(3deg);padding:14px;transition:transform .8s}
.work-item:hover .portfolio-restart-surface{transform:perspective(600px) rotateY(0) rotateZ(0)}
.portfolio-restart-top{display:flex;justify-content:space-between;border-bottom:1px solid #48484c61;color:#4b4a49;padding-bottom:9px;font:7px Arial,sans-serif;letter-spacing:.14em}
.portfolio-restart-title{font:clamp(37px,5vw,72px)/.88 Georgia,serif;letter-spacing:-.08em;color:#3b474d;margin-top:18px}
.portfolio-restart-title span{color:#9b6459}
.portfolio-restart-baseline{height:1px;background:#58585855;width:72%;margin-top:20px}
.portfolio-restart-bottom{position:absolute;bottom:13px;color:#6e7574;left:14px;font:6px Arial,sans-serif;letter-spacing:.15em}
.work-two>.work-art-title{font-size:clamp(24px,3vw,42px);position:absolute;left:6%;bottom:11%;z-index:8;letter-spacing:-.03em}
.work-two>em{display:none}
/* Last slot: explicitly an unfinished commission, not a fictitious site. */
.work-three{background:radial-gradient(ellipse at 72% 33%,#829ea1 0%,transparent 43%),linear-gradient(150deg,#172e32,#0b2028 78%)}
.portfolio-next-grid{position:absolute;inset:10%;background-image:linear-gradient(#dae0de12 1px,transparent 1px),linear-gradient(90deg,#dae0de12 1px,transparent 1px);background-size:24px 24px;transform:perspective(400px) rotateY(22deg)}
.portfolio-next-shape{position:absolute;left:39%;top:10%;width:44%;height:70%;background:linear-gradient(125deg,#aac7c8bb,#36596280 40%,#17283090);clip-path:polygon(30% 0%,100% 14%,80% 100%,0 83%);box-shadow:0 30px 60px #080e14}
.portfolio-next-type{position:absolute;left:9%;bottom:16%;font:italic clamp(29px,4vw,52px)/1 Georgia,serif;color:#eff2ed;letter-spacing:-.025em}
.portfolio-next-type span{font:22px Arial,sans-serif;margin-left:8px;color:#ccb8a7}
.work-three>.work-art-title{display:none}
.work-three>em{display:none}
/* SP gallery keeps the exact same horizontal mechanics; presentation improved. */
@media(max-width:860px){
 .wordmark{font-size:27px}
 .hero .copy h1{font-size:clamp(39px,9.5vw,57px);line-height:1.48;letter-spacing:.048em}
 .hero .copy p{font-size:12px}
 .name .origin{margin:31px 0 8px;padding:15px 0}
 .name .origin-latin{font-size:clamp(25px,6vw,33px)}
 .hworks-stage{background:linear-gradient(123deg,rgba(4,12,21,.68),rgba(5,16,26,.62) 60%,rgba(4,12,21,.76))}
 .hworks-header{border-bottom:1px solid rgba(220,230,233,.20);padding-bottom:18px}
 .hworks-media{border:1px solid rgba(238,240,235,.40);box-shadow:0 18px 40px rgba(0,0,0,.38)}
 .hworks-project{gap:23px}
 .hworks-meta h3{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.025em}
 .hworks-all-inner{border:1px solid rgba(235,226,213,.36);background:rgba(6,18,29,.8)}
 .hworks-footer{color:#c0cbd3}
 .service-row{padding-block:23px}
 .service-row h3{letter-spacing:-.045em}
}
@media(max-width:600px){
 .work-one>.work-art-title{font-size:37px}
 .hworks-header{padding-bottom:12px}
 .hworks-project{gap:16px}
 .hworks-meta h3{letter-spacing:-.02em}
 .hworks-viewport{bottom:54px}
 .site-footer .footer-brand h2{line-height:1.48}
 .consultation-intro h2{line-height:1.4}
}
@media(prefers-reduced-motion:reduce){
 .portfolio-device,.portfolio-restart-surface{transition:none!important;transform:none!important}
}

/* v2.0 visual QA: use one project headline per concept preview. */
@media(min-width:861px){
 .work-one > .work-art-title,.work-two > .work-art-title{display:none}
}

/* v2.1 / Background art-direction only. All UI structure is unchanged. */
#experience{background-color:#080e17}
/* Increased atmospheric volume behind geometry without washing out typography. */
#experience .color-grade{background:linear-gradient(90deg,rgba(4,8,14,.80) 0%,rgba(5,9,16,.59) 29%,rgba(5,10,17,.17) 61%,rgba(6,12,19,.025) 100%),linear-gradient(180deg,rgba(5,8,14,.20),transparent 32%,rgba(3,7,13,.26) 100%)}
@media(max-width:760px){#experience .color-grade{background:linear-gradient(180deg,rgba(4,9,16,.39),rgba(5,10,17,.46) 36%,rgba(4,9,16,.42) 72%,rgba(4,9,16,.16))}}
\n/* v2.8: Reinstated original scroll-driven WebGL world, no scenic chapter images. */
#works a{color:inherit;text-decoration:none}#works button{color:inherit;font:inherit;cursor:pointer}#works button:focus-visible,#works a:focus-visible{outline:2px solid #ffe4be;outline-offset:4px}#works .before{height:58vh;min-height:300px;position:relative;background:linear-gradient(180deg,#07111a 0%,#142635 69%,#132431 100%);padding:clamp(20px,4.6vw,70px);display:flex;flex-direction:column;justify-content:space-between}#works .brandline{display:flex;justify-content:space-between;align-items:center;gap:20px}#works .brand{font:clamp(26px,3.6vw,43px)/1 var(--serif);letter-spacing:-.06em}#works .smallcaps{font-size:10px;letter-spacing:.24em}#works .before-intro{max-width:680px}#works .before-intro .eyebrow{font-size:12px;color:#b4c9d9;letter-spacing:.25em}#works .before-intro h1{font:clamp(30px,5vw,64px)/1.4 var(--serif);font-weight:400;letter-spacing:.06em;margin:14px 0}#works .before-intro p{line-height:1.9;color:#bccbd4;font-size:13px}#works .before-arrow{text-align:right;letter-spacing:.18em;font-size:11px;color:#b6c9d5}#works{position:relative;height:430svh;min-height:1900px;background:#101e2b}#works .stage{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden;isolation:isolate}#works .world{position:absolute;inset:-8%;z-index:-5;overflow:hidden;transform:scale(1.035);will-change:transform}#works .world img{width:100%;height:100%;object-fit:cover;filter:blur(7px) saturate(.78) brightness(.53);transform:scale(1.10);will-change:transform}#works .grade{position:absolute;inset:0;z-index:-4;pointer-events:none;background:linear-gradient(180deg,rgba(7,18,27,.64) 0%,rgba(10,23,34,.11) 32%,rgba(8,18,27,.15) 55%,rgba(7,17,27,.80) 100%),radial-gradient(ellipse at 75% 47%,rgba(255,220,176,.15),transparent 56%),linear-gradient(90deg,rgba(4,14,24,.55),transparent 40%,rgba(4,14,24,.23))}#works .reflection{position:absolute;left:0;right:0;bottom:0;height:18%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(3,9,15,.70));z-index:-3}#works .stage-header{position:absolute;top:clamp(20px,3.5vw,48px);left:clamp(20px,5.4vw,90px);right:clamp(20px,5.4vw,90px);display:flex;align-items:center;justify-content:space-between;z-index:20;pointer-events:none}#works .stage-logo{font:clamp(25px,2.55vw,37px)/1 var(--serif);letter-spacing:-.055em}#works .stage-nav{display:flex;gap:36px;align-items:center;font-size:10px;letter-spacing:.22em}#works .stage-nav .outline{border:1px solid #ffffff9c;padding:13px 20px}#works .title-block{position:absolute;left:clamp(22px,5.6vw,92px);top:clamp(98px,13vh,145px);width:min(530px,78%);z-index:12;pointer-events:none}#works .line-top{display:flex;gap:17px;align-items:center;color:#dae4eb;font-size:10px;letter-spacing:.27em}#works .line-top::after{content:"";width:44px;height:1px;background:#b4bec6a9}#works .title-block h2{font:400 clamp(30px,3.5vw,52px)/1.45 var(--serif);letter-spacing:.065em;margin:17px 0 9px;text-shadow:0 2px 20px #07111aad}#works .title-block p{color:#d0dae2;font-size:clamp(11px,1.1vw,13px);line-height:1.8;margin:0;text-shadow:0 3px 13px #000}#works .gallery{position:absolute;inset:0;perspective:1500px;transform-style:preserve-3d;pointer-events:none;z-index:4}#works .project{position:absolute;width:min(60vw,850px);top:clamp(255px,32%,330px);left:50%;opacity:0;transform-origin:center;will-change:transform,opacity,filter;pointer-events:none;transform-style:preserve-3d}#works .plane{position:relative;aspect-ratio:1.75;background:#101d28;transform-style:preserve-3d;box-shadow:0 2px 1px rgba(255,255,255,.09),0 36px 85px rgba(0,0,0,.55),-16px 16px 42px rgba(4,12,18,.4);border:1px solid rgba(246,250,253,.72);overflow:visible}#works .plane:after{content:"";position:absolute;top:1.7%;left:99.7%;width:2.4%;height:99%;background:linear-gradient(90deg,rgba(201,231,250,.29),rgba(17,29,39,.35));transform:skewY(-14deg);transform-origin:left;pointer-events:none;border-right:1px solid #d0dae288}#works .plane:before{content:"";position:absolute;top:100%;left:1%;height:5%;width:99%;background:linear-gradient(180deg,rgba(193,219,234,.34),rgba(6,10,18,.52));transform:skewX(-32deg);transform-origin:top;pointer-events:none;box-shadow:0 15px 29px #07111a5e}#works .fv{position:absolute;inset:0;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(18px,2.1vw,36px);box-shadow:inset 0 0 1px 2px rgba(255,255,255,.19)}#works .fv:before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;z-index:-2}#works .fv:after{content:"";position:absolute;inset:0;z-index:-1}#works .fv--noble:before{background-image:url("/v74/img/d6b09957e4.webp");background-position:71% center;filter:brightness(.72) saturate(.65)}#works .fv--noble:after{background:linear-gradient(90deg,rgba(5,15,25,.85),rgba(8,21,30,.1) 76%)}#works .fv--restart:before{background-image:url("/v74/img/4ea0557abd.webp");background-position:75% center;filter:brightness(1.17) saturate(.66)}#works .fv--restart:after{background:linear-gradient(90deg,rgba(14,37,50,.6),rgba(222,238,244,.16) 70%)}#works .fv--consultant:before{background-image:url("/v74/img/bc8b9393ae.webp");background-position:80% center;filter:brightness(1.08) saturate(.5)}#works .fv--consultant:after{background:linear-gradient(90deg,rgba(231,242,248,.88),rgba(242,246,246,.43) 65%)}#works .fv-nav{font-size:clamp(8px,.83vw,11px);letter-spacing:.22em;display:flex;justify-content:space-between;align-items:center;gap:5px}#works .fv-nav span:last-child{font-size:9px;letter-spacing:.1em}#works .fv-main{margin-bottom:9%;}#works .fv-kicker{font-size:clamp(7px,.8vw,10px);letter-spacing:.17em;line-height:1.7;margin-bottom:13px}#works .fv-main strong{font:normal clamp(33px,5.7vw,75px)/1.04 var(--serif);letter-spacing:.02em;display:block}#works .fv-main p{font-size:clamp(8px,.95vw,13px);line-height:1.85;letter-spacing:.04em}#works .fv--consultant{color:#14283a}#works .fv--consultant .fv-main strong{font-size:clamp(21px,3vw,41px);line-height:1.5}#works .fv--restart .fv-main strong{font-size:clamp(37px,5vw,65px)}#works .fv--consultant .fv-nav{border-bottom:1px solid #294a5a38;padding-bottom:10px}#works .fv-caption{font-size:clamp(8px,.9vw,11px);letter-spacing:.12em;opacity:.78}#works .meta{margin-top:30px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;text-shadow:0 4px 15px #000}#works .meta .count{font-size:10px;letter-spacing:.2em;opacity:.8}#works .meta h3{font:400 clamp(28px,3.4vw,44px)/1.2 var(--serif);margin:6px 0}#works .meta p{font-size:11px;letter-spacing:.09em;color:#d2dce3;line-height:1.5;margin:0}#works .detail{display:inline-flex;align-items:center;gap:13px;font-size:12px;border-bottom:1px solid #edf5f4ac;padding:14px 0;white-space:nowrap;letter-spacing:.12em;cursor:pointer}#works .detail:hover{color:#fff}#works .detail.is-pending{opacity:.75;border-bottom-style:dotted;cursor:default}#works .project.is-active{pointer-events:auto}#works .project.is-active .plane a{pointer-events:auto}#works .project .plane a.full-click{position:absolute;inset:0;z-index:8;display:block}#works .project .plane .full-click:focus-visible{outline-offset:7px}#works .fv .pending-marker{position:absolute;top:50px;right:21px;padding:7px 9px;background:rgba(9,21,32,.76);font:9px var(--sans);letter-spacing:.13em;color:#fff;border:1px solid #d9ebfa55}#works .project--all .plane{aspect-ratio:1.75;background:linear-gradient(110deg,rgba(19,34,48,.8),rgba(40,68,83,.33)),url("/v74/img/4ea0557abd.webp") center/cover}#works .all-inside{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;border:1px solid #e3f5ffaa;background:radial-gradient(ellipse at 52% 60%,rgba(234,246,254,.2),transparent 53%),linear-gradient(180deg,#08182730,#0b1b2b76)}#works .all-inside:before{content:"";position:absolute;inset:6%;border:1px solid rgba(222,240,247,.31)}#works .all-inside .sub{font-size:11px;letter-spacing:.32em}#works .all-inside h3{font:400 clamp(48px,6.6vw,96px)/1.1 var(--serif);letter-spacing:.05em;margin:24px 0 17px}#works .all-inside p{font-size:13px;letter-spacing:.13em;line-height:1.7}#works .all-inside .arrow{margin-top:28px;font-size:12px;letter-spacing:.15em;border-bottom:1px solid #fff;padding-bottom:10px}#works .all-inside a{position:absolute;inset:0;z-index:8}#works .stage-bottom{position:absolute;left:clamp(20px,5.5vw,90px);right:clamp(20px,5.5vw,90px);bottom:clamp(22px,4vh,45px);z-index:30;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}#works .progress-panel{display:flex;flex-direction:column;gap:14px}#works .progress-label{font-size:10px;letter-spacing:.24em;color:#cbd8e4;display:flex;gap:16px;align-items:center}#works .progress-label b{font-size:25px;font-family:var(--serif);font-weight:400;color:#fff}#works .ticks{display:flex;gap:6px}#works .ticks span{width:clamp(32px,5vw,75px);height:2px;background:#ffffff48;display:block;position:relative}#works .ticks span.active{background:#fff;box-shadow:0 0 9px #fff4}#works .step-buttons{display:flex;gap:8px;align-items:center;margin-top:5px}#works .step-buttons button{width:34px;height:32px;border:1px solid #edf4f37e;background:#0a17242a;font-size:15px}#works .stage-persistent{color:#fff;display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}#works .stage-persistent .hint{font-size:9px;color:#cfdee8;letter-spacing:.16em}#works .all-fixed{border:1px solid rgba(244,250,255,.72);background:rgba(4,16,29,.50);padding:16px 20px;font-size:11px;letter-spacing:.22em;display:flex;align-items:center;gap:33px;white-space:nowrap;transition:background .2s,color .2s}#works .all-fixed:hover{background:#f2f5f4;color:#102232}#works .stage-counter{position:absolute;right:clamp(20px,5.5vw,90px);top:clamp(122px,17vh,180px);font-size:10px;letter-spacing:.22em;color:#d5e2eb;z-index:14;text-align:right;pointer-events:none}#works .stage-counter b{display:block;font:normal clamp(40px,5vw,74px)/1 var(--serif);letter-spacing:-.02em;margin:6px 0;color:#fff}#works .after{background:linear-gradient(160deg,#0d1c29,#162d3d);padding:85px clamp(20px,5.5vw,92px) 100px}#works .after small{letter-spacing:.23em;font-size:10px;color:#bcd0df}#works .after h2{font:400 clamp(27px,3vw,43px)/1.5 var(--serif);margin:13px 0 30px}#works .after p{max-width:650px;line-height:2;color:#c5d0d8;font-size:13px}#works .after a{display:inline-block;margin-top:20px;padding:15px 25px;border:1px solid #dce9f0ad;font-size:12px;letter-spacing:.12em}#works .demo-legend{position:fixed;top:11px;left:50%;transform:translateX(-50%);z-index:999;padding:9px 14px;background:rgba(2,12,20,.81);border:1px solid #b9cbd358;backdrop-filter:blur(14px);font-size:10px;letter-spacing:.1em;color:#eaf2f6;pointer-events:none;white-space:nowrap}@media (max-width:760px){#works .before{height:38svh;min-height:270px;padding:26px 21px 16px}#works .before-intro h1{font-size:27px}#works .before-intro p{font-size:11px}#works .before-arrow{font-size:10px}#works .brand{font-size:29px}#works .stage{min-height:540px}#works .world{inset:-10%}#works .world img{object-fit:cover;object-position:57% center;filter:blur(7px) saturate(.77) brightness(.49)}#works .grade{background:linear-gradient(180deg,#071521d9 0%,#08192360 26%,#0b1c2650 56%,#071521e9 100%),radial-gradient(ellipse at 60% 35%,#f6e4c122,transparent 70%)}#works .stage-header{top:37px;left:21px;right:20px}#works .stage-logo{font-size:29px}#works .stage-nav{gap:10px}#works .stage-nav span:not(.outline){display:none}#works .stage-nav .outline{padding:9px 12px;font-size:9px}#works .title-block{top:101px;left:23px;width:calc(100% - 46px)}#works .title-block h2{font-size:clamp(25px,7.4vw,32px);line-height:1.42;margin:10px 0}#works .title-block p{font-size:10px;line-height:1.75;max-width:290px}#works .stage-counter{top:213px;right:25px}#works .stage-counter b{font-size:34px}#works .gallery{perspective:900px}#works .project{top:33%;width:min(85vw,420px)}#works .fv{padding:18px}#works .plane{aspect-ratio:1.17;min-height:280px}#works .fv-main strong,#works .fv--restart .fv-main strong{font-size:clamp(40px,10.4vw,57px)}#works .fv--consultant .fv-main strong{font-size:clamp(25px,6vw,35px)}#works .fv-kicker{font-size:8px}#works .fv-main p{font-size:9px}#works .fv-nav{font-size:8px}#works .fv-caption{font-size:8px}#works .meta{margin-top:20px;gap:9px}#works .meta h3{font-size:24px}#works .meta p{font-size:10px}#works .detail{font-size:10px;gap:6px;padding:9px 0}#works .all-inside h3{font-size:clamp(37px,10vw,58px)}#works .all-inside p{font-size:11px}#works .all-inside .sub{font-size:9px}#works .all-inside .arrow{font-size:10px;margin-top:22px}#works .stage-bottom{bottom:calc(env(safe-area-inset-bottom) + 21px);left:22px;right:22px;align-items:flex-end;gap:12px}#works .progress-label b{font-size:21px}#works .ticks span{width:33px}#works .progress-panel{gap:8px}#works .stage-persistent{gap:4px}#works .all-fixed{font-size:10px;letter-spacing:.1em;padding:13px 12px;gap:10px}#works .stage-persistent .hint{font-size:8px}#works .stage-bottom .step-buttons button{width:32px;height:30px}#works .demo-legend{font-size:9px;top:6px}#works .after{padding:50px 24px 80px}}@media (max-width:365px){#works .project{top:34%;width:83vw}#works .plane{min-height:258px}#works .stage-counter{top:207px}#works .title-block h2{font-size:26px}}@media (prefers-reduced-motion:reduce){#works .world,#works .world img,#works .project{will-change:auto}}

/* INTEGRATED WORKS — only this section; prior 7-section content and approved footer untouched */
#works.integrated-works{height:430svh;min-height:2250px;display:block!important;position:relative!important;margin:0!important;padding:0!important;background:#0e1c28!important;color:#eef3f5!important;overflow:visible!important;max-width:none!important;min-width:0!important;isolation:auto!important;}
#works.integrated-works .stage{position:sticky!important;top:0!important;height:100svh!important;min-height:0!important;overflow:hidden!important;display:block!important;background:transparent!important;isolation:isolate;}
#works .world{inset:-9%;}
#works .world img{filter:blur(3.2px) saturate(.88) brightness(.67);}
#works .title-block{top:clamp(107px,15vh,178px);left:clamp(22px,5.6vw,92px);width:min(530px,82%);}
#works .title-block h2{font-weight:400;max-width:24ch}
#works .project a{position:relative;}
#works .stage-bottom{bottom:clamp(15px,2.2vw,32px)}
#works .project--all a{pointer-events:auto}
#works .world,#works .grade,#works .reflection{pointer-events:none}
#works .project[aria-hidden="true"] a{pointer-events:none}
#works .project.is-active a{pointer-events:auto}
#works .always-all{z-index:30}
#works .project--all .plane{width:100%!important;max-width:100%!important;min-width:0!important;background:linear-gradient(130deg,rgba(9,24,39,.89),rgba(27,45,59,.94))}
@media(max-width:760px){
 #works.integrated-works{height:410svh;min-height:1900px;}
 #works .title-block{top:clamp(90px,12vh,125px);left:22px;width:calc(100% - 42px)}
 #works .title-block h2{font-size:clamp(23px,6.8vw,33px)}
 #works .title-block p{max-width:185px;}
 #works .stage-counter{top:215px;right:20px;}
 #works .project--all .all-inside h3{font-size:clamp(28px,8.1vw,40px);letter-spacing:.035em}
 #works .world img{filter:blur(2px) saturate(.90) brightness(.64)}
}
@media(prefers-reduced-motion:reduce){#works .project,#works .world{transition:none!important}}


/* v2.8 BACKGROUND ONLY — Works, navigation, copy and footer are untouched. */
#experience{background:#071019}
#experience #world{opacity:1!important;mix-blend-mode:normal!important;display:block!important}
#experience .art-atmosphere{opacity:0!important;background-image:none!important}
#experience .color-grade{opacity:var(--opening-grade,1);background:linear-gradient(90deg,rgba(3,7,13,.64) 0%,rgba(4,9,16,.31) 32%,rgba(4,9,16,.055) 70%,transparent 100%),linear-gradient(180deg,rgba(4,8,14,.09),transparent 31%,rgba(3,7,12,.11) 100%)}
#experience .grain{opacity:.035}
body.beyond #experience .color-grade{opacity:.25}
@media(max-width:760px){#experience .color-grade{background:linear-gradient(180deg,rgba(3,7,12,.37) 0%,rgba(4,9,15,.09) 24%,rgba(4,9,15,.04) 57%,rgba(3,7,12,.28) 100%)}}

/* v2.9 — PURE WEBGL WORLD: WORKS uses the SAME 3D environment as every other section.
   The WORKS static backdrop was removed from markup, not merely visually hidden. */
#works.integrated-works{background:transparent!important;}
#works.integrated-works .stage{background:transparent!important;isolation:auto!important;}
#works.integrated-works .grade{z-index:0;background:linear-gradient(180deg,rgba(4,11,21,.50) 0%,rgba(4,11,21,.06) 32%,rgba(4,11,21,.04) 67%,rgba(4,11,21,.64) 100%);}
#works.integrated-works .reflection{z-index:1;background:linear-gradient(180deg,transparent,rgba(3,10,17,.48));}
#works.integrated-works .gallery{z-index:12;}
#works.integrated-works .title-block,#works.integrated-works .stage-counter{z-index:22;}
#works.integrated-works .stage-bottom{z-index:50;}
/* Panes are objects within the modeled world: a glass edge, thickness, contact light,
   and reverse face are bound to each panel's original scroll transform. */
#works .plane{background:rgba(8,18,28,.78);border:1px solid rgba(224,237,242,.50);
 box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 40px 100px rgba(0,0,0,.48),0 0 85px rgba(172,210,236,.085);
 backface-visibility:hidden;}
#works .plane::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:6;
 box-shadow:inset 1px 1px 0 rgba(247,250,255,.39),inset -3px -3px 11px rgba(22,44,59,.28);
 background:linear-gradient(114deg,rgba(230,250,255,.16) 0%,transparent 15%,transparent 67%,rgba(216,235,247,.06) 100%);}
#works .project{transform-style:preserve-3d;}
#works .project .plane{transform:translateZ(6px)}
#works .project .plane::before{content:'';position:absolute;inset:9px -8px -8px 9px;z-index:-1;
 background:rgba(13,25,37,.58);border:1px solid rgba(210,225,233,.14);
 transform:translateZ(-14px);box-shadow:15px 16px 35px rgba(0,0,0,.23);pointer-events:none;}
#works.integrated-works .project.is-active .plane{box-shadow:0 0 0 1px rgba(255,255,255,.11) inset,0 42px 100px rgba(0,0,0,.42),0 0 74px rgba(159,205,230,.15)}
@media(max-width:760px){#works.integrated-works .grade{background:linear-gradient(180deg,rgba(4,11,21,.65),rgba(4,11,21,.04) 35%,rgba(4,11,21,.07) 68%,rgba(4,11,21,.58));}}

/* v3.1: after the camera crosses the existing WebGL door, the world becomes pure white.
   This is a composited light transition, not a background image or replacement for the 3D scene. */
#door-bloom,#door-whiteout{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;will-change:opacity;}
#door-bloom{z-index:8;background:radial-gradient(ellipse 78% 87% at 52% 53%,#fff 0%,rgba(255,255,255,.99) 18%,rgba(255,255,255,.80) 40%,rgba(255,255,255,0) 78%);}
#door-whiteout{z-index:9;background:#fff;}
/* The entrance is perfectly white once past the doorway; the form stays readable. */
.consultation-section{background:#fff!important;box-shadow:none!important;}
.consultation-section::before{display:none!important;}
body.in-consultation .topbar{background:rgba(255,255,255,.96);}
body.beyond .contact .copy,body.beyond .topbar{color:#172d3b;}
body.beyond .contact .copy p,body.beyond .contact .contact-note{color:#344b59;}
body.beyond .contact .eyebrow{color:#476274;}
body.beyond .contact .eyebrow-line{background:#476274;}
body.beyond .contact .contact-cta{border-color:#385568;}
/* Only the passage is white; keep the approved deep navy footer exactly as it was. */

/* v5.3 — continuous material and editorial finish */
:root{--finish-brass:#d8b994;--finish-line:rgba(233,230,219,.24)}
body{font-kerning:normal;text-rendering:optimizeLegibility}
.copy h1,.copy h2{font-feature-settings:"palt";line-height:1.48}
.copy p{max-width:39em;line-height:2.3;color:rgba(237,239,237,.86)}
.hero .eyebrow{margin-bottom:30px}
.hero .copy h1{letter-spacing:.07em;line-height:1.46}
.hero .copy p{margin-top:28px;font-size:clamp(12px,1.05vw,15px);letter-spacing:.115em}
.hero-links .line-link{min-height:46px;align-items:center;padding-bottom:12px;border-color:rgba(237,224,205,.65)}
.hero-links .line-link>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(231,216,195,.38);border-radius:50%;font-size:15px}
.hero-links .quiet-link{padding:12px 0;line-height:1.8;color:#e6e1d7}
body.has-scrolled:not(.in-consultation) .topbar{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(7,14,21,.48);border-bottom-color:rgba(222,231,232,.11)}
body.menu-open .topbar{background:#080e18!important}
.desktop-nav .nav-contact{border-color:rgba(233,218,196,.55)}
.eyebrow,.chapter-side,.chapter-indicator{font-variant-numeric:tabular-nums}
.services-list{border-top-color:rgba(234,230,215,.55)}
.service-row{padding-top:27px;padding-bottom:27px;border-bottom-color:rgba(231,232,226,.30)}
.service-row small{line-height:1.8;color:rgba(234,235,229,.76)}
.service-row>b{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(225,218,204,.22);border-radius:50%;font-size:13px}
.approach-steps>div{position:relative;padding:0 0 24px;border-bottom:1px solid var(--finish-line)}
.approach-steps span{font-style:italic;font-size:15px}
.approach-steps small{color:rgba(230,233,227,.78);line-height:1.95}
.studio-byline{padding-top:24px;border-top:1px solid var(--finish-line);width:fit-content}
.contact-cta{min-height:64px;border-color:rgba(239,225,202,.7)}
.consultation-form-wrap{box-shadow:0 20px 60px rgba(23,46,60,.045);border-color:rgba(28,57,74,.17)}
.field input,.field select,.field textarea{border-color:rgba(37,65,82,.19);background:#fafbfb;transition:border-color .2s,box-shadow .2s,background .2s}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 3px rgba(54,87,105,.08)}
.field label{font-weight:500}
.prototype-stamp{display:none}
@media(max-width:760px){
 .hero .copy h1{font-size:clamp(38px,9.6vw,64px);letter-spacing:.055em}
 .hero .eyebrow{font-size:7px;letter-spacing:.14em;line-height:1.8;margin-bottom:25px}
 .hero .copy p{font-size:12px;letter-spacing:.055em;line-height:2.1}
 .hero-links{gap:14px;margin-top:31px}
 .hero-links .line-link{font-size:9px;gap:22px}
 .copy p{line-height:2.2}
 .service-row{padding-top:24px;padding-bottom:24px}
 .service-row h3{font-size:24px}
 .service-row small{font-size:10px}
 .service-row>b{width:26px;height:26px}
 .field input,.field select,.field textarea{font-size:16px}
 .field input::placeholder,.field textarea::placeholder{font-size:13px}
 .approach-steps>div{padding-bottom:20px}
}
@media(prefers-reduced-motion:reduce){.topbar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}

@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/b23470284b.woff2) format('woff2'), url(/v74/fonts/8102136ecb.woff2) format('woff');
  unicode-range: U+2105,U+2109-210a,U+210f,U+2116,U+2121,U+2126-2127,U+212b,U+212e,U+2135,U+213b,U+2194-2199,U+21b8-21b9,U+21c4-21c6,U+21cb-21cc,U+21d0,U+21e6-21e9,U+21f5,U+2202-2203,U+2205-2206,U+2208-220b,U+220f,U+2211,U+2213,U+2215,U+221a,U+221d,U+2220,U+2223,U+2225-2226,U+2228,U+222a-222e,U+2234-2237,U+223d,U+2243,U+2245,U+2248,U+224c,U+2260,U+2262,U+2264-2265,U+226e-226f,U+2272-2273,U+2276-2277,U+2283-2287,U+228a-228b,U+2295-2299,U+22a0,U+22a5,U+22bf,U+22da-22db,U+22ef,U+2305-2307,U+2318,U+2329-232a,U+23b0-23b1,U+23be-23cc,U+23ce,U+23da-23db,U+2423,U+2469-24d0;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/45417e14d8.woff2) format('woff2'), url(/v74/fonts/10ff4f0e61.woff2) format('woff');
  unicode-range: U+2002,U+2025,U+4f8d,U+51e1,U+51f8,U+5507,U+5598,U+58f1,U+5983,U+59ac,U+5c3c,U+5de7,U+5e7d,U+5eca,U+5f61,U+606d,U+60f9,U+636e,U+64ec,U+67da,U+67ff,U+6813,U+68f2,U+693f,U+6b6a,U+6bbb,U+6ef4,U+7092,U+717d,U+7261,U+73c8,U+7432,U+7483,U+76fe,U+7709,U+78d0,U+81a3,U+81b3,U+82af,U+8305,U+8309,U+8870,U+88fe,U+8cd1,U+8d66,U+906e,U+971e,U+9812,U+ff79,U+ff90;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/aa8388bcf7.woff2) format('woff2'), url(/v74/fonts/0b1fcd73f8.woff2) format('woff');
  unicode-range: U+2010,U+2502,U+25b6,U+4f3a,U+514b,U+5265,U+52c3,U+5339,U+53ec,U+54c0,U+55b0,U+5854,U+5b8f,U+5cb3,U+5e84,U+60da,U+6247,U+6249,U+628a,U+62cd,U+65ac,U+6838,U+690e,U+6cf0,U+6f02,U+6f2c,U+6f70,U+708a,U+7434,U+75be,U+77ef,U+7c60,U+7c98,U+7d1b,U+7e2b,U+80a5,U+81e3,U+820c,U+8210,U+8475,U+862d,U+8650,U+8997,U+906d,U+91c8,U+9700,U+9727,U+9df9,U+ff3a,U+ff9a;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/d5225a5be7.woff2) format('woff2'), url(/v74/fonts/5bc833e1ca.woff2) format('woff');
  unicode-range: U+a5,U+4e80,U+4f34,U+4f73,U+4f75,U+511f,U+5192,U+52aa,U+53c8,U+570f,U+57cb,U+596e,U+5d8b,U+5f66,U+5fd9,U+62db,U+62f6,U+6328,U+633f,U+63a7,U+6469,U+6bbf,U+6c41,U+6c57,U+6d44,U+6dbc,U+706f,U+72c2,U+72ed,U+7551,U+75f4,U+7949,U+7e26,U+7fd4,U+8150,U+8af8,U+8b0e,U+8b72,U+8ca7,U+934b,U+9a0e,U+9a12,U+9b42,U+ff41,U+ff43,U+ff45,U+ff49,U+ff4f,U+ff62-ff63;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/4f7b787be7.woff2) format('woff2'), url(/v74/fonts/fb749b5eea.woff2) format('woff');
  unicode-range: U+60,U+2200,U+226b,U+2461,U+517c,U+526f,U+5800,U+5b97,U+5bf8,U+5c01,U+5d29,U+5e4c,U+5e81,U+6065,U+61d0,U+667a,U+6696,U+6843,U+6c99,U+6d99,U+6ec5,U+6f22,U+6f6e,U+6fa4,U+6fef,U+71c3,U+72d9,U+7384,U+78e8,U+7a1a,U+7a32,U+7a3c,U+7adc,U+7ca7,U+7d2b,U+7dad,U+7e4b,U+80a9,U+8170,U+81ed,U+820e,U+8a17,U+8afe,U+90aa,U+914e,U+963f,U+99c4,U+9eba,U+9f3b,U+ff38;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/115ed61ec0.woff2) format('woff2'), url(/v74/fonts/5253d992ab.woff2) format('woff');
  unicode-range: U+2015,U+2190,U+4e43,U+5019,U+5247,U+52e7,U+5438,U+54b2,U+55ab,U+57f7,U+5bd2,U+5e8a,U+5ef6,U+6016,U+60b2,U+6162,U+6319,U+6551,U+6607,U+66b4,U+675f,U+67d4,U+6b20,U+6b53,U+6ce3,U+719f,U+75b2,U+770b,U+7720,U+77ac,U+79d2,U+7af9,U+7d05,U+7dca,U+8056,U+80f8,U+81f3,U+8352,U+885d,U+8a70,U+8aa4,U+8cbc,U+900f,U+9084,U+91e3,U+9451,U+96c4,U+99c6,U+9ad4,U+ff70;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/66820a34cb.woff2) format('woff2'), url(/v74/fonts/d0eec2e6bb.woff2) format('woff');
  unicode-range: U+2193,U+25b2,U+4e4b,U+516d,U+51c4,U+529f,U+52c9,U+5360,U+5442,U+5857,U+5915,U+59eb,U+5a9b,U+5c3b,U+6012,U+61b6,U+62b1,U+6311,U+6577,U+65e2,U+65ec,U+6613,U+6790,U+6cb9,U+7372,U+76ae,U+7d5e,U+7fcc,U+88ab,U+88d5,U+8caf,U+8ddd,U+8ecd,U+8f38,U+8f9e,U+8feb,U+9063,U+90f5,U+93e1,U+968a,U+968f,U+98fe,U+9ec4,U+ff1d,U+ff27,U+ff2a,U+ff36,U+ff3b,U+ff3d,U+ffe5;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/91887b649f.woff2) format('woff2'), url(/v74/fonts/84304ac3ff.woff2) format('woff');
  unicode-range: U+4e03,U+4f38,U+50b7,U+5264,U+5348,U+5371,U+585a,U+58ca,U+5951,U+59b9,U+59d4,U+5b98,U+5f8b,U+6388,U+64cd,U+65e7,U+6803,U+6b6f,U+6d66,U+6e0b,U+6ecb,U+6fc3,U+72ac,U+773c,U+77e2,U+7968,U+7a74,U+7dba,U+7dd1,U+7e3e,U+808c,U+811a,U+8179,U+8239,U+8584,U+8a0e,U+8a72,U+8b66,U+8c46,U+8f29,U+90a3,U+9234,U+96f0,U+9769,U+9774,U+9aa8,U+ff26,U+ff28,U+ff9e-ff9f;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/d312b52fd4.woff2) format('woff2'), url(/v74/fonts/8ca19ad2c1.woff2) format('woff');
  unicode-range: U+7e,U+b4,U+25c6,U+2661,U+4e92,U+4eee,U+4ffa,U+5144,U+5237,U+5287,U+52b4,U+58c1,U+5bff,U+5c04,U+5c06,U+5e95,U+5f31,U+5f93,U+63c3,U+640d,U+6557,U+6614,U+662f,U+67d3,U+690d,U+6bba,U+6e6f,U+72af,U+732b,U+7518,U+7ae0,U+7ae5,U+7af6,U+822a,U+89e6,U+8a3a,U+8a98,U+8cb8,U+8de1,U+8e8d,U+95d8,U+961c,U+96a3,U+96ea,U+9bae,U+ff20,U+ff22,U+ff29,U+ff2b-ff2c;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/4ef879f445.woff2) format('woff2'), url(/v74/fonts/c6c80af4a9.woff2) format('woff');
  unicode-range: U+25cb,U+4e71,U+4f59,U+50d5,U+520a,U+5217,U+5230,U+523a-523b,U+541b,U+5439,U+5747,U+59c9,U+5bdf,U+5c31,U+5de8,U+5e7c,U+5f69,U+6050,U+60d1,U+63cf,U+663c,U+67c4,U+6885,U+6c38,U+6d6e,U+6db2,U+6df7,U+6e2c,U+6f5f,U+7532,U+76e3-76e4,U+7701,U+793c,U+79f0,U+7a93,U+7d00,U+7de0,U+7e54,U+8328,U+8840,U+969c,U+96e8,U+9811,U+9aea,U+9b5a,U+ff24,U+ff2e,U+ff57;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/1070557e68.woff2) format('woff2'), url(/v74/fonts/a4790e3e10.woff2) format('woff');
  unicode-range: U+2191,U+505c,U+52e4,U+5305,U+535a,U+56e0,U+59bb,U+5acc,U+5b09,U+5b87,U+5c90,U+5df1,U+5e2d,U+5e33,U+5f3e,U+6298,U+6383,U+653b,U+6697,U+6804,U+6a39,U+6cca,U+6e90,U+6f2b,U+702c,U+7206,U+7236,U+7559,U+7565,U+7591,U+75c7,U+75db,U+7b4b,U+7bb1,U+7d99,U+7fbd,U+8131,U+885b,U+8b1d,U+8ff7,U+9003,U+9045,U+96a0,U+9732,U+990a,U+99d0,U+9e97,U+9f62,U+ff25,U+ff2d;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/0da4cb39bc.woff2) format('woff2'), url(/v74/fonts/9f6324052e.woff2) format('woff');
  unicode-range: U+4e08,U+4f9d,U+5012,U+514d,U+51b7,U+5275,U+53ca,U+53f8,U+5584,U+57fc,U+5b9d,U+5bfa,U+5c3e,U+5f01,U+5fb4,U+5fd7,U+606f,U+62e1,U+6563,U+6674,U+6cb3,U+6d3e,U+6d74,U+6e1b,U+6e2f,U+718a,U+7247,U+79d8,U+7d14,U+7d66,U+7d71,U+7df4,U+7e41,U+80cc,U+8155,U+83d3,U+8a95,U+8ab2,U+8ad6,U+8ca1,U+9000,U+9006,U+9678,U+97d3,U+9808,U+98ef,U+9a5a,U+9b45,U+ff23,U+ff30;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/490bd7d1a9.woff2) format('woff2'), url(/v74/fonts/c431968391.woff2) format('woff');
  unicode-range: U+25bc,U+3012,U+4ef2,U+4f0a,U+516b,U+5373,U+539a,U+53b3,U+559c,U+56f0,U+5727,U+5742,U+5965,U+59ff,U+5bc6,U+5dfb,U+5e45,U+5ead,U+5fb3,U+6211,U+6253,U+639b,U+63a8,U+6545,U+6575,U+6628,U+672d,U+68a8,U+6bdb,U+6d25,U+707d,U+767e,U+7834,U+7b46,U+7bc9,U+8074,U+82e6,U+8349,U+8a2a,U+8d70,U+8da3,U+8fce,U+91cc,U+967d,U+97ff,U+9996,U+ff1c,U+ff2f,U+ff32,U+ff34;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/3a949e1af2.woff2) format('woff2'), url(/v74/fonts/89192d69ad.woff2) format('woff');
  unicode-range: U+3d,U+5e,U+25cf,U+4e0e,U+4e5d,U+4e73,U+4e94,U+4f3c,U+5009,U+5145,U+51ac,U+5238,U+524a,U+53f3,U+547c,U+5802,U+5922,U+5a66,U+5c0e,U+5de6,U+5fd8,U+5feb,U+6797,U+685c,U+6b7b,U+6c5f-6c60,U+6cc9,U+6ce2,U+6d17,U+6e21,U+7167,U+7642,U+76db,U+8001,U+821e,U+8857,U+89d2,U+8b1b,U+8b70,U+8cb4,U+8cde,U+8f03,U+8f2a,U+968e,U+9b54,U+9e7f,U+9ebb,U+ff05,U+ff33;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/d56c4b3a4c.woff2) format('woff2'), url(/v74/fonts/4b60df980a.woff2) format('woff');
  unicode-range: U+500d,U+5074,U+50cd,U+5175,U+52e2,U+5352,U+5354,U+53f2,U+5409,U+56fa,U+5a18,U+5b88,U+5bdd,U+5ca9,U+5f92,U+5fa9,U+60a9,U+623f,U+6483,U+653f,U+666f,U+66ae,U+66f2,U+6a21,U+6b66,U+6bcd,U+6d5c,U+796d,U+7a4d,U+7aef,U+7b56,U+7b97,U+7c4d,U+7e04,U+7fa9,U+8377,U+83dc,U+83ef,U+8535,U+8863,U+88cf,U+88dc,U+8907,U+8acb,U+90ce,U+91dd,U+ff0b,U+ff0d,U+ff19,U+ff65;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/15b4309909.woff2) format('woff2'), url(/v74/fonts/5ce049a2eb.woff2) format('woff');
  unicode-range: U+4e01,U+4e21,U+4e38,U+52a9,U+547d,U+592e,U+5931,U+5b63,U+5c40,U+5dde,U+5e78,U+5efa,U+5fa1,U+604b,U+6075,U+62c5,U+632f,U+6a19,U+6c0f,U+6c11,U+6c96,U+6e05,U+70ba,U+71b1,U+7387,U+7403,U+75c5,U+77ed,U+795d,U+7b54,U+7cbe,U+7d19,U+7fa4,U+8089,U+81f4,U+8208,U+8336,U+8457,U+8a33,U+8c4a,U+8ca0,U+8ca8,U+8cc0,U+9014,U+964d,U+9803,U+983c,U+98db,U+ff17,U+ff21;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/83e509331d.woff2) format('woff2'), url(/v74/fonts/b13e2df0ce.woff2) format('woff');
  unicode-range: U+25,U+25a0,U+4e26,U+4f4e,U+5341,U+56f2,U+5bbf,U+5c45,U+5c55,U+5c5e,U+5dee,U+5e9c,U+5f7c,U+6255,U+627f,U+62bc,U+65cf,U+661f,U+666e,U+66dc,U+67fb,U+6975,U+6a4b,U+6b32,U+6df1,U+6e29,U+6fc0,U+738b,U+7686,U+7a76,U+7a81,U+7c73,U+7d75,U+7dd2,U+82e5,U+82f1,U+85ac,U+888b,U+899a,U+8a31,U+8a8c,U+8ab0,U+8b58,U+904a,U+9060,U+9280,U+95b2,U+984d,U+9ce5,U+ff18;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/b93be81f5d.woff2) format('woff2'), url(/v74/fonts/1235ca175b.woff2) format('woff');
  unicode-range: U+30f6,U+50ac,U+5178,U+51e6,U+5224,U+52dd,U+5883,U+5897,U+590f,U+5a5a,U+5bb3,U+5c65,U+5e03,U+5e2b,U+5e30,U+5eb7,U+6271,U+63f4,U+64ae,U+6574,U+672b,U+679a,U+6a29-6a2a,U+6ca2,U+6cc1,U+6d0b,U+713c,U+74b0,U+7981,U+7a0b,U+7bc0,U+7d1a,U+7d61,U+7fd2,U+822c,U+8996,U+89aa,U+8cac,U+8cbb,U+8d77,U+8def,U+9020,U+9152,U+9244,U+9662,U+967a,U+96e3,U+9759,U+ff16;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/dbf6086655.woff2) format('woff2'), url(/v74/fonts/0f5724e57a.woff2) format('woff');
  unicode-range: U+23,U+3c,U+2192,U+4e45,U+4efb,U+4f50,U+4f8b,U+4fc2,U+5024,U+5150,U+5272,U+5370,U+53bb,U+542b,U+56db,U+56e3,U+57ce,U+5bc4,U+5bcc,U+5f71,U+60aa,U+6238,U+6280,U+629c,U+6539,U+66ff,U+670d,U+677e-677f,U+6839,U+69cb,U+6b4c,U+6bb5,U+6e96,U+6f14,U+72ec,U+7389,U+7814,U+79cb,U+79d1,U+79fb,U+7a0e,U+7d0d,U+85e4,U+8d64,U+9632,U+96e2,U+9805,U+99ac,U+ff1e;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/6193e6cb66.woff2) format('woff2'), url(/v74/fonts/7f6d2eafaa.woff2) format('woff');
  unicode-range: U+2605-2606,U+301c,U+4e57,U+4fee,U+5065,U+52df,U+533b,U+5357,U+57df,U+58eb,U+58f0,U+591c,U+592a-592b,U+5948,U+5b85,U+5d0e,U+5ea7,U+5ff5,U+6025,U+63a1,U+63a5,U+63db,U+643a,U+65bd,U+671d,U+68ee,U+6982,U+6b73,U+6bd4,U+6d88,U+7570,U+7b11,U+7d76,U+8077,U+8217,U+8c37,U+8c61,U+8cc7,U+8d85,U+901f,U+962a,U+9802,U+9806,U+9854,U+98f2,U+9928,U+99c5,U+9ed2;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/059ae1123f.woff2) format('woff2'), url(/v74/fonts/c0e00aa645.woff2) format('woff');
  unicode-range: U+266a,U+4f11,U+533a,U+5343,U+534a,U+53cd,U+5404,U+56f3,U+5b57-5b58,U+5bae,U+5c4a,U+5e0c,U+5e2f,U+5eab,U+5f35,U+5f79,U+614b,U+6226,U+629e,U+65c5,U+6625,U+6751,U+6821,U+6b69,U+6b8b,U+6bce,U+6c42,U+706b,U+7c21,U+7cfb,U+805e,U+80b2,U+82b8,U+843d,U+8853,U+88c5,U+8a3c,U+8a66,U+8d8a,U+8fba,U+9069,U+91cf,U+9752,U+975e,U+9999,U+ff0f-ff10,U+ff14-ff15;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/841e43902a.woff2) format('woff2'), url(/v74/fonts/6e7e1fec0f.woff2) format('woff');
  unicode-range: U+40,U+4e86,U+4e95,U+4f01,U+4f1d,U+4fbf,U+5099,U+5171,U+5177,U+53cb,U+53ce,U+53f0,U+5668,U+5712,U+5ba4,U+5ca1,U+5f85,U+60f3,U+653e,U+65ad,U+65e9,U+6620,U+6750,U+6761,U+6b62,U+6b74,U+6e08,U+6e80,U+7248,U+7531,U+7533,U+753a,U+77f3,U+798f,U+7f6e,U+8449,U+88fd,U+89b3,U+8a55,U+8ac7,U+8b77,U+8db3,U+8efd,U+8fd4,U+9031-9032,U+9580,U+9589,U+96d1,U+985e;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/1ae9bd8a60.woff2) format('woff2'), url(/v74/fonts/114647a382.woff2) format('woff');
  unicode-range: U+2b,U+d7,U+300e-300f,U+4e07,U+4e8c,U+512a,U+5149,U+518d,U+5236,U+52b9,U+52d9,U+5468,U+578b,U+57fa,U+5b8c,U+5ba2,U+5c02,U+5de5,U+5f37,U+5f62,U+623b,U+63d0,U+652f,U+672a,U+6848,U+6d41,U+7136,U+7537,U+754c,U+76f4,U+79c1,U+7ba1,U+7d44,U+7d4c,U+7dcf,U+7dda,U+7de8,U+82b1,U+897f,U+8ca9,U+8cfc,U+904e,U+9664,U+982d,U+9858,U+98a8,U+9a13,U+ff13,U+ff5c;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/aed01933c6.woff2) format('woff2'), url(/v74/fonts/e834b61d06.woff2) format('woff');
  unicode-range: U+4e16,U+4e3b,U+4ea4,U+4ee4,U+4f4d,U+4f4f,U+4f55,U+4f9b,U+5317,U+5358,U+53c2,U+53e4,U+548c,U+571f,U+59cb,U+5cf6,U+5e38,U+63a2,U+63b2,U+6559,U+662d,U+679c,U+6c7a,U+72b6,U+7523,U+767d,U+770c,U+7a2e,U+7a3f,U+7a7a,U+7b2c,U+7b49,U+7d20,U+7d42,U+8003,U+8272,U+8a08,U+8aac,U+8cb7,U+8eab,U+8ee2,U+9054-9055,U+90fd,U+914d,U+91cd,U+969b,U+97f3,U+984c,U+ff06;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/39b743fe77.woff2) format('woff2'), url(/v74/fonts/72064eb22e.woff2) format('woff');
  unicode-range: U+26,U+5f,U+2026,U+203b,U+4e09,U+4eac,U+4ed5,U+4fa1,U+5143,U+5199,U+5207,U+539f,U+53e3,U+53f7,U+5411,U+5473,U+5546,U+55b6,U+5929,U+597d,U+5bb9,U+5c11,U+5c4b,U+5ddd,U+5f97,U+5fc5,U+6295,U+6301,U+6307,U+671b,U+76f8,U+78ba,U+795e,U+7d30,U+7d39,U+7d9a,U+89e3,U+8a00,U+8a73,U+8a8d,U+8a9e,U+8aad,U+8abf,U+8cea,U+8eca,U+8ffd,U+904b,U+9650,U+ff11-ff12;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/2cbf1e44af.woff2) format('woff2'), url(/v74/fonts/048eff79ee.woff2) format('woff');
  unicode-range: U+3e,U+3005,U+4e0d,U+4e88,U+4ecb,U+4ee3,U+4ef6,U+4fdd,U+4fe1,U+500b,U+50cf,U+5186,U+5316,U+53d7,U+540c,U+544a,U+54e1,U+5728,U+58f2,U+5973,U+5b89,U+5c71,U+5e02,U+5e97,U+5f15,U+5fc3,U+5fdc,U+601d,U+611b,U+611f,U+671f,U+6728,U+6765,U+683c,U+6b21,U+6ce8,U+6d3b,U+6d77,U+7530,U+7740,U+7acb,U+7d50,U+826f,U+8f09,U+8fbc,U+9001,U+9053,U+91ce,U+9762,U+98df;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/a8c332ff5e.woff2) format('woff2'), url(/v74/fonts/d676b5a289.woff2) format('woff');
  unicode-range: U+7c,U+3080,U+4ee5,U+5148,U+516c,U+521d,U+5225,U+529b,U+52a0,U+53ef,U+56de,U+56fd,U+5909,U+591a,U+5b66,U+5b9f,U+5bb6,U+5bfe,U+5e73,U+5e83,U+5ea6,U+5f53,U+6027,U+610f,U+6210,U+6240,U+660e,U+66f4,U+66f8,U+6709,U+6771,U+697d,U+69d8,U+6a5f,U+6c34,U+6cbb,U+73fe,U+756a,U+7684,U+771f,U+793a,U+7f8e,U+898f,U+8a2d,U+8a71,U+8fd1,U+9078,U+9577,U+96fb,U+ff5e;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/9c63611e80.woff2) format('woff2'), url(/v74/fonts/568ce4edc4.woff2) format('woff');
  unicode-range: U+a9,U+3010-3011,U+30e2,U+4e0b,U+4eca,U+4ed6,U+4ed8,U+4f53,U+4f5c,U+4f7f,U+53d6,U+540d,U+54c1,U+5730,U+5916,U+5b50,U+5c0f,U+5f8c,U+624b,U+6570,U+6587,U+6599,U+691c,U+696d,U+6cd5,U+7269,U+7279,U+7406,U+767a-767b,U+77e5,U+7d04,U+7d22,U+8005,U+80fd,U+81ea,U+8868,U+8981,U+89a7,U+901a,U+9023,U+90e8,U+91d1,U+9332,U+958b,U+96c6,U+9ad8,U+ff1a,U+ff1f;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/4e33b7f6ac.woff2) format('woff2'), url(/v74/fonts/a3d81b2a94.woff2) format('woff');
  unicode-range: U+4e,U+a0,U+3000,U+300c-300d,U+4e00,U+4e0a,U+4e2d,U+4e8b,U+4eba,U+4f1a,U+5165,U+5168,U+5185,U+51fa,U+5206,U+5229,U+524d,U+52d5,U+5408,U+554f,U+5831,U+5834,U+5927,U+5b9a,U+5e74,U+5f0f,U+60c5,U+65b0,U+65b9,U+6642,U+6700,U+672c,U+682a,U+6b63,U+6c17,U+7121,U+751f,U+7528,U+753b,U+76ee,U+793e,U+884c,U+898b,U+8a18,U+9593,U+95a2,U+ff01,U+ff08-ff09;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/aceaa34612.woff2) format('woff2'), url(/v74/fonts/bb1eebf912.woff2) format('woff');
  unicode-range: U+21-22,U+27-2a,U+2c-3b,U+3f,U+41-4d,U+4f-5d,U+61-7b,U+7d,U+ab,U+ae,U+b2-b3,U+b7,U+bb,U+c9,U+cd,U+d6,U+d8,U+dc,U+e0-e5,U+e7-ed,U+ef,U+f1-f4,U+f6,U+f8,U+fa,U+fc-fd,U+103,U+14d,U+1b0,U+300-301,U+1ebf,U+1ec7,U+2013-2014,U+201c-201d,U+2039-203a,U+203c,U+2048-2049,U+2113,U+2122,U+65e5,U+6708,U+70b9;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/8148838296.woff2) format('woff2'), url(/v74/fonts/6708d92870.woff2) format('woff');
  unicode-range: U+20,U+2027,U+3001-3002,U+3041-307f,U+3081-308f,U+3091-3093,U+3099-309a,U+309d-309e,U+30a1-30e1,U+30e3-30ed,U+30ef-30f0,U+30f2-30f4,U+30fb-30fe,U+ff0c,U+ff0e;
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/v74/fonts/10ded3a97b.woff2) format('woff2'), url(/v74/fonts/a227ca47e9.woff2) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
.copy h1,.copy h2,.consultation-intro h2,.site-footer .footer-brand h2,.approach-steps b{font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif}

@media(min-width:861px){
 .services-list{margin-top:-17vh;width:min(46%,690px)}
 .services .copy{width:min(600px,43vw)}
}
@media(min-width:861px) and (max-width:1100px){.services-list{margin-top:-14vh}}

#works{--serif:Georgia,"Noto Serif JP","Hiragino Mincho ProN",serif;--sans:Arial,"Hiragino Kaku Gothic ProN",sans-serif}
#works .title-block h2{font-family:"Noto Serif JP","Hiragino Mincho ProN",serif;font-size:clamp(28px,2.6vw,42px);font-weight:400;line-height:1.5;max-width:none;letter-spacing:.04em}
#works .title-block{width:min(660px,72%)}
.service-row h3,.service-row small{text-shadow:0 2px 15px rgba(0,0,0,.65)}
.service-row>span{color:#e3c9ad}
@media(min-width:861px){#works .project{width:min(54vw,760px);top:30vh}#works .plane{aspect-ratio:1.85}#works .meta{margin-top:15px}#works .meta p{margin-top:8px}}
@media(max-width:760px){#works .title-block{width:calc(100% - 44px)}#works .title-block h2{font-size:26px;line-height:1.5;max-width:12em}}

.works-title-break{display:none}
body.in-works .rail,body.in-works .chapter-indicator,body.in-works .scroll-hint{opacity:0!important;pointer-events:none}
body.in-footer.in-consultation .topbar{background:rgba(7,17,27,.96);color:#f0f1ef;box-shadow:0 1px 0 rgba(232,233,224,.12)}
body.in-footer.in-consultation .topbar .nav-contact{border-color:rgba(233,218,196,.55)}
@media(max-width:760px){.works-title-break{display:block}}

.topbar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
@media(max-width:760px){.grain{opacity:.045}#works .project{will-change:transform,opacity}}

/* LIGAREVE / BEYOND — independent editorial pages */
html:has(body[data-subpage]){background:#f2f0e9;color-scheme:light}
body[data-subpage]{background:#f2f0e9;color:#243b45;--ink:#243b45;--muted:#65777a;--line:#243b452e;--accent:#8d7357;overflow-x:clip}
body[data-subpage]>:not(#inner-site):not(#topbar):not(#mobile-nav):not(script):not(style){display:none!important}
#inner-site{display:none}body[data-subpage] #inner-site{display:block;position:relative;z-index:10;font:14px/1.9 'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;letter-spacing:.035em}
#inner-site *{box-sizing:border-box}#inner-site a{color:inherit;text-decoration:none}#inner-site button,#inner-site input,#inner-site select,#inner-site textarea{font:inherit;color:inherit}#inner-site button{cursor:pointer}#inner-site :focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.ip-header{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;height:110px;padding:0 5.5vw;border-bottom:1px solid var(--line);background:#f2f0e9dc}.ip-logo{font:36px/1 Georgia,serif;letter-spacing:-.05em}.ip-nav{display:flex;gap:34px;align-items:center}.ip-nav a{font:10px/1.5 Arial,sans-serif;letter-spacing:.14em;padding:12px 0}.ip-nav a[aria-current=page]{border-bottom:1px solid var(--ink)}.ip-nav .ip-contact{border:1px solid var(--line);padding:15px 22px;font-size:11px;letter-spacing:.04em}.ip-menu{display:none;background:none;border:0;padding:10px}.ip-shell{max-width:1640px;margin:auto;padding:0 7vw}.ip-breadcrumb{font-size:10px;display:flex;gap:14px;padding-top:27px;color:var(--muted)}.ip-breadcrumb a{text-decoration:underline!important;text-underline-offset:4px}.ip-hero{min-height:660px;position:relative;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;padding:70px 0 95px;gap:30px}.ip-hero-copy{position:relative;z-index:2}.ip-kicker{font:10px/1.5 Arial,sans-serif;letter-spacing:.2em;color:var(--accent);display:flex;align-items:center;gap:15px;margin-bottom:25px}.ip-kicker:before{content:'';width:28px;height:1px;background:currentColor}.ip-hero h1,.ip-hero .ip-hero-h1{font:400 clamp(38px,4.35vw,76px)/1.65 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.06em;margin:0 0 25px}.ip-hero p{font-size:13px;line-height:2.3;max-width:490px;color:#52666e}.ip-page-number{position:absolute;right:0;bottom:45px;font:10px Arial,sans-serif;letter-spacing:.17em;color:var(--muted)}.ip-art{position:relative;height:520px;display:grid;place-items:center;isolation:isolate}.ip-art svg{width:125%;height:118%;max-width:none;overflow:visible;transform:rotate(-7deg);animation:ip-float 18s ease-in-out infinite alternate}.ip-art:before{content:'';position:absolute;inset:7% -20%;background:radial-gradient(ellipse,#ddc9a85c,transparent 65%);z-index:-1}.ip-art-caption{position:absolute;bottom:0;right:0;font:9px/2 Arial,sans-serif;letter-spacing:.15em;color:var(--muted)}
body[data-subpage=works]{--accent:#667e81}body[data-subpage=process]{--accent:#946c55}body[data-subpage=about]{--accent:#75816b}body[data-subpage=contact]{--accent:#7d7893}
.ip-art .ip-ring{stroke:var(--accent)}.ip-section{padding:95px 0;border-top:1px solid var(--line);scroll-margin-top:30px}.ip-section-heading{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-bottom:55px}.ip-section-heading h2{font:400 clamp(28px,2.6vw,44px)/1.7 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.05em;margin:0}.ip-label{font:11px/1.6 Georgia,serif;letter-spacing:.13em;color:var(--accent)}.ip-section-heading p{font-size:13px;line-height:2.2;color:var(--muted);max-width:640px;margin:12px 0 0}.ip-section-heading>div:first-child .ip-label{display:block;margin-bottom:12px}.ip-service{display:grid;grid-template-columns:70px 1fr 1fr;gap:35px;padding:57px 0;border-top:1px solid var(--line);scroll-margin-top:30px}.ip-no{font:italic 20px Georgia,serif;color:var(--accent)}.ip-service h3{font:38px/1.2 Georgia,serif;letter-spacing:-.03em;margin:0 0 15px}.ip-service h4{font-size:13px;font-weight:400;margin:0 0 20px}.ip-service p{font-size:13px;color:var(--muted);margin:0 0 22px}.ip-tags{display:flex;gap:8px;flex-wrap:wrap}.ip-tags span{font-size:10px;border:1px solid var(--line);padding:5px 10px}.ip-textlink{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid var(--ink);padding:12px 0;font-size:11px}.ip-textlink span{font-size:19px;transition:transform .3s}.ip-textlink:hover span{transform:translate(3px,-3px)}.ip-service-links{display:flex;flex-wrap:wrap;gap:15px 26px;margin-top:36px}.ip-service-links a{font-size:11px;border-bottom:1px solid var(--line);padding:5px 0}.ip-note{font-size:11px!important;color:var(--muted);line-height:2}.ip-band{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:60px;background:#e6e8df80}.ip-band h3{font:400 28px/1.8 'Noto Serif JP',serif;margin:0}.ip-band p{font-size:13px;color:var(--muted);margin:0 0 22px}.ip-faq details{border-top:1px solid var(--line);padding:24px 0}.ip-faq details:last-child{border-bottom:1px solid var(--line)}.ip-faq summary{cursor:pointer;display:flex;gap:20px;justify-content:space-between;font-size:14px;list-style:none}.ip-faq summary::-webkit-details-marker{display:none}.ip-faq summary:after{content:'+';font:22px Georgia,serif}.ip-faq details[open] summary:after{content:'−'}.ip-faq p{max-width:820px;font-size:13px;color:var(--muted);margin:22px 0 0}.ip-filter{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:45px}.ip-filter button{border:1px solid var(--line);background:none;border-radius:100px;padding:9px 22px;font-size:11px}.ip-filter button[aria-pressed=true]{background:var(--ink);color:#faf9f3}.ip-result{margin-left:auto;font:11px Arial,sans-serif;color:var(--muted)}.ip-work{display:grid;grid-template-columns:1.2fr 1fr;gap:6vw;align-items:center;padding:50px 0;border-top:1px solid var(--line)}.ip-work[hidden]{display:none}.ip-work:nth-child(even) .ip-work-picture{order:2}.ip-work-picture{position:relative;aspect-ratio:1.35;display:grid;place-items:center;background:#d7d6cd;padding:30px;overflow:hidden}.ip-work-picture:before{content:'';position:absolute;width:55%;height:140%;background:#f9f7ee5c;transform:rotate(30deg);left:10%}.ip-mock{position:relative;width:94%;min-height:240px;box-shadow:0 15px 35px #243b4520;background:#eeebe1;color:#1f3940;padding:25px;text-align:left}.ip-mock small{display:block;font:7px Arial,sans-serif;letter-spacing:.15em;border-bottom:1px solid #243b4533;padding-bottom:12px}.ip-mock strong{display:block;font:clamp(25px,3vw,48px)/1.3 Georgia,serif;padding:35px 0 20px}.ip-mock p{font-size:9px;line-height:1.9;white-space:pre-line}.ip-mock:after{content:'';position:absolute;right:10%;top:27%;width:23%;height:55%;border:1px solid #243b4533;border-radius:80% 80% 0 0;transform:rotate(12deg)}.ip-work-picture[data-project=noble]{background:#c9d3d5}.ip-work-picture[data-project=noble] .ip-mock{background:#1e3543;color:#e8e4d8}.ip-work-picture[data-project=consultant]{background:#ded2c1}.ip-work-picture[data-project=consultant] .ip-mock strong{font:400 29px/1.5 'Noto Serif JP',serif}.ip-work-status{display:inline-block;font-size:10px;padding:3px 10px;border:1px solid var(--line);margin-bottom:18px}.ip-work h3{font:42px/1.3 Georgia,'Noto Serif JP',serif;letter-spacing:-.03em;margin:12px 0}.ip-work p{font-size:12px;line-height:2.2;color:var(--muted)}.ip-work-caption{position:absolute;bottom:9px;left:16px;font-size:9px;letter-spacing:.03em}.ip-step{display:grid;grid-template-columns:90px 1fr 1fr;gap:30px;padding:45px 0;border-top:1px solid var(--line)}.ip-step h3{font:400 27px/1.7 'Noto Serif JP',serif;margin:5px 0 13px}.ip-step p{font-size:13px;color:var(--muted);margin:0}.ip-deliverable{border-left:1px solid var(--line);padding-left:30px}.ip-deliverable span{font:9px Arial,sans-serif;letter-spacing:.16em;color:var(--accent)}.ip-deliverable p{margin-top:16px}.ip-beliefs{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.ip-beliefs article{border-top:1px solid var(--line);padding-top:25px}.ip-beliefs h3{font:400 24px/1.7 'Noto Serif JP',serif;margin:28px 0 15px}.ip-beliefs p{font-size:13px;color:var(--muted)}.ip-profile{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.ip-monogram{aspect-ratio:1;max-width:420px;background:linear-gradient(145deg,#e1e6df,#ced6d2);display:flex;align-items:center;justify-content:center;font:150px Georgia,serif;color:#647a75;letter-spacing:-.09em;border-radius:50% 50% 2px 2px}.ip-profile h3{font:400 30px 'Noto Serif JP',serif;margin:15px 0}.ip-profile p{font-size:13px;color:var(--muted);line-height:2.3}.ip-facts{margin:35px 0 0}.ip-facts>div{display:grid;grid-template-columns:110px 1fr;border-top:1px solid var(--line);padding:17px 0;font-size:12px}.ip-facts dt{color:var(--muted)}.ip-facts dd{margin:0}.ip-contact-layout{display:grid;grid-template-columns:.75fr 1.3fr;gap:8vw;align-items:start}.ip-contact-aside{position:sticky;top:35px}.ip-contact-aside h2{font:400 29px/1.8 'Noto Serif JP',serif;margin:0 0 25px}.ip-contact-aside p{font-size:12px;color:var(--muted)}.ip-contact-aside ol{padding-left:20px;font-size:12px;line-height:2.4;margin:28px 0}.ip-form{display:grid;grid-template-columns:1fr 1fr;gap:26px 22px}.ip-field{display:flex;flex-direction:column;gap:10px;min-width:0}.ip-field label{font-size:12px;display:flex;align-items:center;gap:9px}.ip-field b{font:9px sans-serif;font-weight:400;color:var(--accent)}.ip-field input,.ip-field select,.ip-field textarea{width:100%;border:1px solid #243b4535;border-radius:0;background:#ffffff50;padding:14px 12px;min-height:51px;outline-offset:2px}.ip-field textarea{resize:vertical;min-height:180px}.ip-full{grid-column:1/-1}.ip-consent{font-size:11px;display:flex;align-items:flex-start;gap:10px}.ip-consent input{margin-top:5px}.ip-consent a{text-decoration:underline!important}.ip-submit{background:var(--ink);color:#faf9f5!important;border:0;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.ip-submit:hover{background:#3b545d}.ip-form-status{font-size:12px;margin:0}.ip-cta{position:relative;padding:100px 7vw;background:#dde3df;display:grid;grid-template-columns:1fr auto;gap:35px;align-items:end;overflow:hidden}.ip-cta h2{font:400 clamp(32px,3.7vw,60px)/1.7 'Noto Serif JP',serif;margin:15px 0 0;position:relative}.ip-cta .ip-textlink{min-width:230px}.ip-cta:before{content:'';position:absolute;inset:-130% -40% -130% 45%;border:1px solid #71898055;border-radius:50%;transform:rotate(-25deg)}.ip-footer{background:#243b45;color:#efeee5;padding:65px 7vw 25px}.ip-footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;padding-bottom:55px}.ip-footer .ip-logo{font-size:48px}.ip-footer p{font-size:11px;color:#d5dfdbb0;margin-top:20px}.ip-footer nav{display:flex;gap:28px;flex-wrap:wrap;font:10px/2 Arial,sans-serif;letter-spacing:.12em}.ip-footer-bottom{border-top:1px solid #d5dfdb38;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#d5dfdbb0}.ip-dialog{color:var(--ink);background:#f2f0e9;border:0;padding:45px;max-width:600px;width:calc(100% - 40px)}.ip-dialog::backdrop{background:#152d38a8}.ip-dialog h2{font:36px Georgia,serif}.ip-dialog p{font-size:13px;line-height:2.2}.ip-dialog button{border:1px solid var(--line);background:none;padding:10px 18px}.ip-close{float:right}.ip-skip{position:fixed;left:20px;top:-100px;background:white;padding:10px;z-index:100}.ip-skip:focus{top:10px}
@keyframes ip-float{to{transform:translate3d(0,-12px,0) rotate(-4deg)}}
@media(min-width:1800px){.ip-hero{min-height:750px}}@media(max-width:900px){.ip-nav{gap:20px}.ip-hero{grid-template-columns:1.2fr .8fr;min-height:600px}.ip-art{height:420px}.ip-service{grid-template-columns:40px 1fr 1fr;gap:20px}.ip-band{gap:35px;padding:35px}.ip-profile{gap:40px}.ip-contact-layout{gap:5vw}.ip-work{gap:35px}.ip-mock{padding:18px;min-height:220px}.ip-mock strong{font-size:32px}}
@media(max-width:760px){.ip-header{height:82px;padding:0 24px}.ip-logo{font-size:29px}.ip-menu{display:block;font-size:12px;letter-spacing:.08em}.ip-nav{display:none;position:absolute;top:82px;inset-inline:0;background:#f2f0e9;flex-direction:column;align-items:stretch;gap:0;padding:15px 24px 28px;border-bottom:1px solid var(--line)}.ip-nav[data-open]{display:flex}.ip-nav a{font-size:13px;padding:17px 0}.ip-nav .ip-contact{margin-top:10px;text-align:center}.ip-shell{padding:0 24px}.ip-breadcrumb{padding-top:23px;font-size:9px}.ip-hero{display:block;min-height:710px;padding:60px 0 70px}.ip-hero h1,.ip-hero .ip-hero-h1{font-size:clamp(32px,8.7vw,48px);line-height:1.7}.ip-hero p{font-size:12px;max-width:320px}.ip-kicker{font-size:9px;margin-bottom:21px}.ip-art{height:270px;width:65%;margin:0 -15px 0 auto}.ip-art svg{width:130%;height:130%}.ip-art-caption{font-size:7px;bottom:-5px;right:0}.ip-page-number{bottom:25px;font-size:8px}.ip-section{padding:60px 0}.ip-section-heading{grid-template-columns:1fr;gap:13px;margin-bottom:35px}.ip-section-heading h2{font-size:28px}.ip-section-heading p{font-size:12px}.ip-service{grid-template-columns:28px 1fr;gap:17px;padding:35px 0}.ip-service>div:last-child{grid-column:2}.ip-service h3{font-size:31px}.ip-service p{font-size:12px}.ip-service h4{font-size:12px}.ip-no{font-size:17px}.ip-band{grid-template-columns:1fr;padding:28px 24px;gap:25px}.ip-band h3{font-size:24px}.ip-band p{font-size:12px}.ip-faq summary{font-size:12px;gap:15px}.ip-faq p{font-size:12px}.ip-work{grid-template-columns:1fr;gap:25px;padding:30px 0 45px}.ip-work:nth-child(even) .ip-work-picture{order:0}.ip-work-picture{padding:22px;aspect-ratio:1.3}.ip-mock{min-height:205px;padding:20px}.ip-mock strong{font-size:32px;padding-top:25px}.ip-work h3{font-size:34px}.ip-filter{gap:8px;margin-bottom:30px}.ip-filter button{padding:8px 14px;font-size:10px}.ip-result{width:100%;margin-top:10px}.ip-step{grid-template-columns:30px 1fr;gap:15px;padding:30px 0}.ip-step h3{font-size:23px}.ip-step p{font-size:12px}.ip-deliverable{grid-column:2;padding-left:15px;margin-top:6px}.ip-beliefs{grid-template-columns:1fr;gap:30px}.ip-beliefs h3{margin:17px 0 10px;font-size:23px}.ip-beliefs p{font-size:12px}.ip-profile{grid-template-columns:1fr;gap:35px}.ip-monogram{width:70%;max-width:280px;font-size:115px}.ip-profile h3{font-size:27px}.ip-profile p{font-size:12px}.ip-facts>div{grid-template-columns:85px 1fr;font-size:11px;gap:15px}.ip-contact-layout{grid-template-columns:1fr;gap:40px}.ip-contact-aside{position:static}.ip-contact-aside h2{font-size:26px}.ip-form{grid-template-columns:1fr;gap:23px}.ip-field input,.ip-field select,.ip-field textarea{font-size:16px!important}.ip-field label{font-size:12px}.ip-cta{grid-template-columns:1fr;padding:65px 24px;gap:20px}.ip-cta h2{font-size:31px}.ip-cta .ip-textlink{min-width:0;width:100%}.ip-footer{padding:45px 24px 24px}.ip-footer-top{flex-direction:column;padding-bottom:35px;gap:25px}.ip-footer nav{gap:14px 22px;font-size:9px}.ip-footer-bottom{flex-wrap:wrap;font-size:9px}.ip-dialog{padding:25px}.ip-art svg{animation:none}}
@media(prefers-reduced-motion:reduce){#inner-site *,#inner-site *:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Editorial art direction / immersive inner worlds */
body[data-subpage]{background:#eeeee8;--ink:#253c48;--muted:#64767b;--line:#536c7330;--accent:#887457}
#inner-site{background:radial-gradient(ellipse at 90% 38%,#dce4de66,transparent 36%),#eeeee8}
.ip-header{position:absolute;top:0;left:0;width:100%;height:108px;padding-inline:5.4vw;background:transparent;border:0}.ip-logo{font-size:35px}.ip-nav{gap:35px}.ip-nav .ip-contact{background:#f5f4ed1a;border-color:#4c626b4a;backdrop-filter:blur(8px);padding:16px 23px}.ip-shell{position:relative;max-width:1640px;padding-inline:7vw}.ip-breadcrumb{position:absolute;top:133px;left:7vw;z-index:4;padding:0;font-size:9px;letter-spacing:.11em}.ip-hero{position:relative;left:50%;width:100vw;margin-left:-50vw;min-height:100svh;padding:180px 7vw 125px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#d8dedb}.ip-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f1f0e5a3 0%,#eef0e94d 36%,#eef0e900 65%),linear-gradient(0deg,#eeeee8 0%,#eeeee800 18%);pointer-events:none}.ip-hero-copy{width:65%;padding-top:42px}.ip-hero .ip-kicker{font-size:9px;letter-spacing:.22em;margin-bottom:31px;color:#79684d}.ip-hero .ip-kicker:before{width:26px}.ip-hero h1,.ip-hero .ip-hero-h1{font-size:clamp(48px,5.6vw,96px);line-height:1.55;letter-spacing:.055em;color:#243c49;text-shadow:0 2px 28px #f6f6e988;margin-bottom:30px}.ip-hero p{font-size:13px;line-height:2.35;color:#3f5964;letter-spacing:.08em;max-width:530px}.ip-art{position:absolute;inset:0;z-index:-2;height:100%;width:100%;margin:0;display:block;isolation:auto}.ip-art:before{display:none}.ip-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 50%;animation:ip-world-drift 25s ease-in-out infinite alternate;transform-origin:65% 55%;will-change:transform}.ip-art-caption{position:absolute;right:5.5vw;bottom:72px;font:8px/2 Arial,sans-serif;letter-spacing:.18em;color:#38505b;writing-mode:vertical-rl}.ip-page-number{left:7vw;right:auto;bottom:65px;font-size:8px;letter-spacing:.18em;color:#526870}.ip-hero-coordinate{position:absolute;right:5.4vw;top:153px;font:9px/1.8 Arial,sans-serif;letter-spacing:.13em;color:#61757b}.ip-hero-coordinate span{display:block;width:60px;height:1px;background:#6a7b7a55;margin-top:16px}.ip-hero-word{position:absolute;right:7vw;bottom:85px;font:italic clamp(65px,10vw,180px)/1 Georgia,serif;letter-spacing:-.055em;color:#3557621a;pointer-events:none}.ip-section{padding:125px 0;border-top:1px solid var(--line);max-width:1300px;margin-inline:auto}.ip-section:first-of-type{border-top:0}.ip-section-heading{grid-template-columns:.8fr 2fr;gap:8vw;margin-bottom:65px}.ip-label{font-family:Arial,sans-serif;font-size:9px;line-height:1.8;letter-spacing:.18em}.ip-section-heading h2{font-size:clamp(31px,3.15vw,50px);line-height:1.7;letter-spacing:.06em}.ip-section-heading p{font-size:12px;line-height:2.4;max-width:610px;margin-top:24px}.ip-service-links{padding-left:30%;gap:14px 30px;margin-top:50px}.ip-service-links a{font:12px Georgia,serif;letter-spacing:.03em}.ip-service{position:relative;grid-template-columns:55px 1.12fr 1fr;padding:70px 0;gap:35px;min-height:305px;align-items:start}.ip-service .ip-no{font-size:20px;padding-top:10px}.ip-service h3{font-size:clamp(34px,4vw,64px);font-weight:400;line-height:1.15;letter-spacing:-.045em;margin-bottom:23px}.ip-service h4{font-size:12px;margin-bottom:30px}.ip-service p{font-size:12px;line-height:2.45;padding-top:5px}.ip-tags{gap:8px 20px}.ip-tags span{border:0;padding:0;font-size:10px;color:#7b8787;position:relative}.ip-tags span+span:before{content:'/';position:absolute;left:-12px;color:#a1abaa}.ip-textlink{font-size:11px;padding:15px 0;min-width:200px;letter-spacing:.06em}.ip-textlink span{display:grid;place-items:center;width:31px;height:31px;border:1px solid #5f797d55;border-radius:50%;font-size:13px}.ip-band{padding:70px 6vw;gap:6vw;background:linear-gradient(120deg,#dbe2dc99,#e3dfd266);border:1px solid #d0d8cf99;position:relative;overflow:hidden}.ip-band:after{content:'';position:absolute;width:450px;height:650px;border:1px solid #718b7a20;border-radius:50%;right:-200px;top:-300px;transform:rotate(-35deg);pointer-events:none}.ip-band h3{font-size:31px;line-height:1.85}.ip-band p{font-size:12px;line-height:2.5}.ip-faq{padding-left:30%}.ip-faq details{padding:27px 0}.ip-faq summary{font-size:13px}.ip-faq p{font-size:12px;line-height:2.4}.ip-filter{padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:15px;gap:26px}.ip-filter button{border:0;border-radius:0;padding:10px 0;position:relative;font-size:11px;color:#758488}.ip-filter button[aria-pressed=true]{background:none;color:var(--ink)}.ip-filter button[aria-pressed=true]:after{content:'';position:absolute;bottom:0;inset-inline:0;height:1px;background:var(--ink)}.ip-result{font-size:9px;letter-spacing:.12em}.ip-work{padding:70px 0 90px;border-top:0;grid-template-columns:1.25fr 1fr;gap:6vw}.ip-work-picture{aspect-ratio:1.25;padding:9%;background:#d7ded9;isolation:isolate}.ip-work-picture:before{inset:0;width:100%;height:100%;transform:none;background:var(--gallery-image) center/cover;opacity:.65;z-index:-1}.ip-work-picture[data-project=noble],.ip-work-picture[data-project=consultant]{background:#d7ded9}.ip-mock{width:100%;min-height:310px;padding:30px;background:#ecece5ed;box-shadow:12px 24px 35px #233c4229;transform:perspective(1000px) rotateY(-8deg) rotateX(5deg);transition:transform .7s cubic-bezier(.2,.65,.25,1);border:1px solid #ffffff7a}.ip-work:hover .ip-mock{transform:perspective(1000px) rotateY(-2deg) rotateX(1deg) translateY(-7px)}.ip-work:nth-child(even) .ip-mock{transform:perspective(1000px) rotateY(8deg) rotateX(4deg)}.ip-work-picture[data-project=noble] .ip-mock{background:linear-gradient(130deg,#163344,#395768);color:#eae7da;border-color:#d5ded744}.ip-mock small{font-size:7px;letter-spacing:.2em}.ip-mock strong{font-size:clamp(30px,4vw,62px);line-height:1.15;padding:50px 0 25px;letter-spacing:-.04em}.ip-mock p{font-size:10px;max-width:75%;color:inherit!important}.ip-mock:after{border-color:currentColor;opacity:.16;width:30%;right:8%;height:60%;top:28%;border-radius:45% 45% 0 0}.ip-work-picture[data-project=consultant] .ip-mock{background:#eee8ddeb}.ip-work-picture[data-project=consultant] .ip-mock strong{font-size:clamp(25px,2.8vw,40px);line-height:1.6;padding-top:38px}.ip-work-caption{font-size:8px;bottom:12px;left:16px;color:#3e555c;background:#f0f0e888;padding:2px 6px}.ip-work-status{border:0;padding:0;margin-bottom:20px;font-size:10px;color:var(--accent)}.ip-work-status:before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor;margin-right:8px;vertical-align:middle}.ip-work h3{font-size:clamp(35px,3.8vw,57px);margin-top:20px;margin-bottom:22px}.ip-work p{font-size:12px;line-height:2.4}.ip-work>div:last-child{padding-block:15px}.ip-step{grid-template-columns:115px 1.1fr 1fr;padding:55px 0;gap:45px;align-items:center}.ip-step>.ip-no{font-size:90px;color:#9aab9c80;letter-spacing:-.075em;line-height:1}.ip-step h3{font-size:32px;margin-top:13px}.ip-step p{font-size:12px;line-height:2.4}.ip-deliverable{padding:25px 0 25px 35px}.ip-deliverable span{font-size:8px}.ip-beliefs{gap:5vw}.ip-beliefs article{padding-top:40px}.ip-beliefs .ip-no{font-size:42px;color:#8ca09388}.ip-beliefs h3{font-size:25px;line-height:1.9;margin-top:30px}.ip-beliefs p{font-size:12px;line-height:2.5}.ip-profile{grid-template-columns:1fr 1.2fr;gap:8vw;align-items:center}.ip-monogram{aspect-ratio:.82;max-width:none;width:100%;border-radius:0;background:var(--threshold-image) 68% center/cover;font-size:0!important;color:transparent;position:relative}.ip-monogram span{display:none}.ip-monogram:after{content:'LIGAREVE / HUMAN INSIGHT × DESIGN × TECHNOLOGY';position:absolute;bottom:25px;left:25px;right:15px;color:#405864;font:7px/2 Arial,sans-serif;letter-spacing:.13em}.ip-profile h3{font-size:32px;margin:25px 0 30px}.ip-profile p{font-size:12px;line-height:2.5}.ip-facts{margin-top:40px}.ip-facts>div{font-size:11px;padding-block:20px}.ip-contact-layout{grid-template-columns:.85fr 1.25fr;gap:9vw}.ip-contact-aside h2{font-size:34px;line-height:1.9}.ip-contact-aside p{font-size:12px;line-height:2.5}.ip-contact-aside ol{margin-block:35px;line-height:2.8}.ip-form{gap:35px 25px}.ip-field{gap:13px}.ip-field input,.ip-field select,.ip-field textarea{background:#ffffff30;border:0;border-bottom:1px solid #7f949b6b;padding:15px 4px;transition:background .3s}.ip-field input:focus,.ip-field select:focus,.ip-field textarea:focus{background:#ffffff90}.ip-field label{font-size:12px}.ip-field b{font-size:8px;border:1px solid #7c766b44;padding:1px 4px}.ip-submit{margin-top:10px;padding:24px 28px;background:#284552}.ip-note{font-size:10px!important}.ip-cta{padding:125px 7vw;background:linear-gradient(90deg,#dfe6dedc,#e1e7de77),var(--threshold-image) center 60%/cover;min-height:460px}.ip-cta h2{font-size:clamp(38px,4.6vw,70px);line-height:1.65}.ip-cta .ip-label{font-size:9px}.ip-cta .ip-textlink{min-width:270px;margin-bottom:10px}.ip-cta:before{display:none}.ip-footer{background:#213a47;padding-top:85px}.ip-footer .ip-logo{font-size:55px}.ip-footer-top{padding-bottom:70px}.ip-footer nav{font-size:9px;gap:30px}.ip-footer-bottom{font-size:9px;padding-top:27px}.ip-hero[data-scene=process] .ip-art img{object-position:70% center;animation:none}body[data-subpage=contact] .ip-hero{min-height:85svh}
@keyframes ip-world-drift{from{transform:scale(1.015)}to{transform:scale(1.055) translate3d(-.7%,0,0)}}
@media(max-width:1100px){.ip-hero h1,.ip-hero .ip-hero-h1{font-size:6.5vw}.ip-work{gap:4vw}.ip-mock{min-height:270px;padding:24px}.ip-work-picture{padding:8%}.ip-service{gap:25px}.ip-step{gap:30px;grid-template-columns:90px 1.1fr 1fr}.ip-step>.ip-no{font-size:72px}.ip-faq{padding-left:15%}.ip-nav{gap:25px}}
@media(max-width:760px){.ip-header{height:82px;padding:0 24px}.ip-logo{font-size:29px}.ip-nav{background:#f0f0e8f7;backdrop-filter:blur(15px);padding-bottom:25px}.ip-nav .ip-contact{padding:15px;margin-top:10px}.ip-menu{font-size:10px}.ip-breadcrumb{top:106px;left:24px;font-size:8px}.ip-shell{padding-inline:24px}.ip-hero{min-height:94svh;padding:175px 24px 180px;align-items:flex-start}.ip-hero-copy{width:100%;padding-top:22px}.ip-hero h1,.ip-hero .ip-hero-h1{font-size:clamp(28px,8.9vw,50px);line-height:1.72;letter-spacing:.045em;margin-bottom:24px}.ip-hero p{font-size:11px;line-height:2.4;max-width:96%;text-shadow:0 1px 12px #f4f4eb}.ip-hero .ip-kicker{font-size:8px;letter-spacing:.16em;margin-bottom:26px}.ip-hero:after{background:linear-gradient(180deg,#eef0e9a3,#eef0e96b 30%,#eef0e910 80%,#eeeee8),linear-gradient(90deg,#eef0e93d,#eef0e900)}.ip-art{width:100%;height:100%;inset:0;margin:0}.ip-art img{object-position:63% center;animation:none;will-change:auto}.ip-art-caption{bottom:65px;right:22px;font-size:6px}.ip-page-number{bottom:42px;left:24px;font-size:7px;max-width:85%;line-height:2}.ip-hero-coordinate{top:auto;bottom:115px;right:24px;font-size:7px}.ip-hero-coordinate span{width:35px}.ip-hero-word{font-size:68px;right:30px;bottom:72px;color:#35576226}.ip-section{padding:75px 0}.ip-section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.ip-section-heading h2{font-size:29px;line-height:1.8}.ip-section-heading p{font-size:11px;line-height:2.45;margin-top:20px}.ip-label{font-size:8px}.ip-service-links{padding-left:0;gap:12px 25px;margin-top:35px}.ip-service-links a{font-size:11px}.ip-service{grid-template-columns:27px 1fr;min-height:0;padding:42px 0;gap:17px}.ip-service h3{font-size:35px;line-height:1.15;margin-bottom:18px}.ip-service h4{font-size:11px;margin-bottom:20px}.ip-service p{font-size:11px;line-height:2.5}.ip-service .ip-no{font-size:17px;padding-top:5px}.ip-tags{gap:7px 18px}.ip-tags span{font-size:9px}.ip-textlink{font-size:10px;min-width:190px;padding:13px 0}.ip-textlink span{width:27px;height:27px}.ip-band{padding:30px 25px;gap:22px}.ip-band h3{font-size:25px}.ip-band p{font-size:11px}.ip-faq{padding-left:0}.ip-faq summary{font-size:12px;line-height:1.9}.ip-faq p{font-size:11px;line-height:2.4}.ip-filter{gap:24px;padding-bottom:17px;margin-bottom:10px}.ip-filter button{font-size:10px;padding:8px 0}.ip-result{font-size:8px;width:100%;margin-top:0}.ip-work{grid-template-columns:1fr;gap:30px;padding:35px 0 50px}.ip-work-picture{aspect-ratio:1.05;padding:10%}.ip-mock{min-height:245px;padding:22px}.ip-mock strong{font-size:37px;padding-top:38px}.ip-mock p{font-size:9px}.ip-work-picture[data-project=consultant] .ip-mock strong{font-size:28px}.ip-work h3{font-size:36px;margin:18px 0}.ip-work p{font-size:11px;line-height:2.4}.ip-work-caption{font-size:7px;left:8px;bottom:9px}.ip-work>div:last-child{padding:0}.ip-work-status{font-size:9px;margin-bottom:15px}.ip-step{grid-template-columns:48px 1fr;gap:20px;padding:38px 0}.ip-step>.ip-no{font-size:44px;align-self:start;margin-top:2px}.ip-step h3{font-size:26px;margin-top:12px}.ip-step p{font-size:11px;line-height:2.5}.ip-deliverable{grid-column:2;padding:4px 0 4px 18px}.ip-deliverable span{font-size:7px}.ip-beliefs{gap:35px}.ip-beliefs article{padding-top:25px}.ip-beliefs .ip-no{font-size:30px}.ip-beliefs h3{font-size:25px;margin-top:20px}.ip-beliefs p{font-size:11px}.ip-profile{grid-template-columns:1fr;gap:40px}.ip-monogram{aspect-ratio:1.05;width:100%;max-width:none}.ip-monogram:after{left:15px;bottom:16px;font-size:6px}.ip-profile h3{font-size:29px;margin:20px 0}.ip-profile p{font-size:11px}.ip-facts{margin-top:30px}.ip-facts>div{font-size:10px;grid-template-columns:65px 1fr}.ip-contact-layout{grid-template-columns:1fr;gap:50px}.ip-contact-aside h2{font-size:29px}.ip-contact-aside p{font-size:11px}.ip-form{gap:29px}.ip-submit{font-size:12px!important;padding:23px 19px}.ip-field label{font-size:11px}.ip-consent{font-size:10px}.ip-cta{padding:75px 24px;min-height:410px;background-position:65% center}.ip-cta h2{font-size:36px}.ip-cta .ip-textlink{min-width:0;width:100%;margin-top:15px}.ip-footer{padding:60px 24px 25px}.ip-footer .ip-logo{font-size:45px}.ip-footer-top{padding-bottom:40px;gap:32px}.ip-footer nav{gap:13px 25px;font-size:8px}.ip-footer-bottom{font-size:8px}.ip-hero[data-scene=process] .ip-art img{object-position:59% center}body[data-subpage=contact] .ip-hero{min-height:90svh}}
@media(prefers-reduced-motion:reduce){.ip-art img{animation:none!important;will-change:auto}.ip-mock,.ip-work:nth-child(even) .ip-mock,.ip-work:hover .ip-mock{transform:none}}

.ip-motion-ready .ip-reveal{opacity:0;transform:translate3d(0,18px,0);transition:opacity .85s ease,transform .95s cubic-bezier(.2,.65,.25,1)}.ip-motion-ready .ip-reveal.ip-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.ip-motion-ready .ip-reveal{opacity:1;transform:none}}
@media(max-width:360px){.ip-mock{min-height:205px;padding:18px}.ip-mock strong{font-size:30px}.ip-work-picture[data-project=consultant] .ip-mock strong{font-size:23px}.ip-hero p br{display:none}}
.ip-hero[data-scene=process] .ip-art img{object-position:60% center}@media(max-width:760px){.ip-hero[data-scene=process] .ip-art img{object-position:66% center}.ip-hero[data-scene=contact] .ip-art img{object-position:63% center}}
.ip-work-picture--real{padding:5%!important;background:#e3e5dd!important;aspect-ratio:1.15;display:grid;place-items:center}.ip-work-picture--real:before{display:none}.ip-official-work{width:100%;height:100%;min-height:0;object-fit:contain;display:block;filter:drop-shadow(0 15px 18px #263f4522);transition:transform .6s}.ip-work-picture--real:hover .ip-official-work{transform:translateY(-5px)}.ip-work-scope{font-size:10px!important;border-top:1px solid var(--line);padding-top:17px;margin-top:20px!important;line-height:2!important;color:#7b8788!important}.ip-pricing-scroll{overflow-x:auto}.ip-pricing{width:100%;border-collapse:collapse;font-size:13px;line-height:1.8}.ip-pricing caption{text-align:left;font-size:10px;letter-spacing:.1em;color:var(--muted);padding-bottom:22px}.ip-pricing th,.ip-pricing td{padding:23px 20px;border-bottom:1px solid var(--line);text-align:left;font-weight:400}.ip-pricing thead{font-size:10px;color:var(--muted);border-top:1px solid var(--line)}.ip-pricing td{font-size:23px;font-family:Georgia,'Yu Mincho',serif;white-space:nowrap}.ip-pricing tbody th{width:44%;font-size:12px}.ip-founder-photo{margin:0;position:relative;background:#dfe4de;align-self:start}.ip-founder-photo img{width:100%;display:block;aspect-ratio:.8;object-fit:cover}.ip-founder-photo figcaption{padding:16px 0;font:8px/2 Arial,sans-serif;letter-spacing:.16em;color:var(--muted)}.home-official-case{padding:0!important;background:#dce2df!important;position:relative;overflow:hidden}.home-official-case>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#dce2df}.home-official-case .full-click{position:absolute;inset:0;z-index:5}.home-official-case:before,.home-official-case:after{display:none!important}@media(max-width:760px){.ip-work-picture--real{aspect-ratio:1.05}.ip-pricing th,.ip-pricing td{padding:18px 10px}.ip-pricing td{font-size:18px}.ip-pricing tbody th{font-size:10px;min-width:130px}.ip-pricing thead{font-size:9px}.ip-work-scope{font-size:9px!important}.ip-founder-photo img{aspect-ratio:.85}.ip-pricing{min-width:310px}}

/* Native sticky columns: independent entry, equal pin/release bounds. */
@media(min-width:861px){
 #services>.copy,#services>.services-list,#approach>.copy,#approach>.approach-steps{min-height:var(--column-track-height,0px)}
 #services>.services-list{position:sticky;top:22vh;align-self:start;margin-top:calc(-17vh - var(--column-left-spacer,0px));translate:none;transform:none;will-change:auto;transition:none}
 #approach>.approach-steps{position:sticky;top:23svh;align-self:start;translate:none;transform:none;will-change:auto;transition:none}
}
@media(min-width:861px) and (max-width:1100px){#services>.services-list{margin-top:calc(-14vh - var(--column-left-spacer,0px))}}

/* Typography and spacing polish; scroll ranges and native column motion are retained. */
#main .copy h1,#main .copy h2{letter-spacing:.045em;line-break:strict;overflow-wrap:normal;text-wrap:balance}
#main .copy p{letter-spacing:.045em;line-height:2.05;margin-top:22px;text-wrap:pretty;line-break:strict}
#main .eyebrow{letter-spacing:.17em;margin-bottom:23px}
#main .hero-links{gap:24px;margin-top:35px}
#main .origin{gap:22px}
#main .studio-byline{gap:18px;margin-top:38px}
#main .chapter-next{margin-top:25px}
#main .approach-steps small{line-height:1.8;letter-spacing:.025em}
#main .consultation-intro h2{letter-spacing:.035em;line-height:1.5;text-wrap:balance}
#main .consultation-intro>p{line-height:2.1;letter-spacing:.025em;text-wrap:pretty}
#inner-site{letter-spacing:.025em;line-height:1.85}
#inner-site h1,#inner-site h2,#inner-site h3{line-break:strict;word-break:normal;overflow-wrap:normal;text-wrap:balance}
#inner-site p{line-break:strict;text-wrap:pretty;overflow-wrap:break-word}
.ip-hero h1,.ip-hero .ip-hero-h1{letter-spacing:.035em;line-height:1.5;margin-bottom:25px}
.ip-hero p{letter-spacing:.04em;line-height:2.1;max-width:520px}
.ip-hero-copy{padding-top:28px}
.ip-hero .ip-kicker{margin-bottom:25px;letter-spacing:.17em}
.ip-section{padding-block:clamp(64px,7vw,100px)}
.ip-section-heading{gap:6vw;margin-bottom:44px}
.ip-section-heading h2{line-height:1.6;letter-spacing:.04em}
.ip-section-heading p{line-height:2.1;margin-top:19px}
.ip-service-links{margin-top:32px;gap:12px 25px}
.ip-service{padding-block:48px;min-height:0}
.ip-service h3{margin-bottom:19px;letter-spacing:-.025em}
.ip-service h4{margin-bottom:23px;line-height:1.8}
.ip-service p{line-height:2.1;margin-bottom:18px}
.ip-tags{gap:6px 18px;line-height:1.8}
.ip-band{padding:48px 4.5vw;gap:4.5vw}
.ip-band h3{line-height:1.65}
.ip-band p{line-height:2.15;margin-bottom:18px}
.ip-faq details{padding-block:22px}
.ip-faq summary{line-height:1.8}
.ip-faq p{line-height:2.1;margin-top:17px}
.ip-work{padding-top:48px;padding-bottom:62px;gap:5vw}
.ip-work h3{line-height:1.5;font-size:clamp(30px,3.1vw,47px);letter-spacing:-.015em;margin:16px 0 18px}
.ip-work p{line-height:2.1}
.ip-work-scope{letter-spacing:.015em}
.ip-step{padding-block:38px;gap:34px}
.ip-step h3{line-height:1.6;margin-top:11px;margin-bottom:13px}
.ip-step p{line-height:2.1}
.ip-deliverable{padding-block:17px;padding-left:27px}
.ip-deliverable p{margin-top:12px}
.ip-beliefs{gap:3.5vw}
.ip-beliefs article{padding-top:28px}
.ip-beliefs h3{line-height:1.65;margin-top:24px}
.ip-beliefs p,.ip-profile p{line-height:2.15}
.ip-profile{gap:6vw}
.ip-profile h3{margin:20px 0 24px}
.ip-facts{margin-top:30px}
.ip-facts>div{padding-block:16px}
.ip-contact-aside h2{line-height:1.65;margin-bottom:22px}
.ip-contact-aside p{line-height:2.1}
.ip-contact-aside ol{margin-block:25px;line-height:2.35}
.ip-form{gap:28px 24px}
.ip-cta{padding-block:85px;min-height:380px}
.ip-cta h2{line-height:1.5}
.ip-footer{padding-top:65px}
.ip-footer-top{padding-bottom:48px}
@media(max-width:860px){
 #main .copy h1,#main .copy h2{letter-spacing:.035em}
 #main .copy p{line-height:2;letter-spacing:.025em;max-width:42em}
 #main .copy p br,#main .consultation-intro>p br{display:none}
 #main .eyebrow{margin-bottom:21px;letter-spacing:.12em}
 #main .hero-links{gap:20px;margin-top:29px}
 #main .studio-byline{margin-top:28px;gap:15px}
 #main .consultation-intro>p{line-height:2;letter-spacing:.025em}
}
@media(max-width:760px){
 .ip-hero h1,.ip-hero .ip-hero-h1{font-size:clamp(28px,8.65vw,49px);line-height:1.55;letter-spacing:.03em;margin-bottom:22px}
 .ip-hero p{max-width:100%;line-height:2.05;letter-spacing:.02em}
 .ip-hero p br{display:none}
 .ip-hero-copy{padding-top:17px}
 .ip-hero .ip-kicker{margin-bottom:22px;letter-spacing:.13em}
 .ip-section{padding-block:56px}
 .ip-section-heading{gap:15px;margin-bottom:30px}
 .ip-section-heading h2{font-size:28px;line-height:1.6;letter-spacing:.03em}
 .ip-section-heading p{line-height:2.05;margin-top:16px}
 .ip-service-links{margin-top:25px;gap:10px 22px}
 .ip-service{padding-block:32px;gap:14px}
 .ip-service h3{font-size:32px;margin-bottom:15px}
 .ip-service h4{margin-bottom:17px}
 .ip-service p{line-height:2.05}
 .ip-tags span{letter-spacing:.015em}
 .ip-band{padding:27px 23px;gap:20px}
 .ip-band h3{font-size:24px;line-height:1.65}
 .ip-band p{line-height:2.05}
 .ip-faq details{padding-block:20px}
 .ip-faq p{line-height:2.05}
 .ip-work{padding-top:29px;padding-bottom:42px;gap:24px}
 .ip-work h3{font-size:29px;line-height:1.45;margin:13px 0 16px}
 .ip-work p{line-height:2.05}
 .ip-step{padding-block:29px;gap:15px}
 .ip-step h3{font-size:24px;line-height:1.55}
 .ip-step p{line-height:2.05}
 .ip-deliverable{padding:3px 0 3px 15px}
 .ip-beliefs{gap:27px}
 .ip-beliefs article{padding-top:23px}
 .ip-beliefs h3{font-size:23px;margin-top:18px;line-height:1.65}
 .ip-beliefs p,.ip-profile p{line-height:2.05}
 .ip-profile{gap:29px}
 .ip-profile h3{font-size:27px;margin:18px 0}
 .ip-facts{margin-top:25px}
 .ip-facts>div{padding-block:15px;gap:13px}
 .ip-contact-layout{gap:35px}
 .ip-contact-aside h2{font-size:27px;line-height:1.6}
 .ip-contact-aside p{line-height:2.05}
 .ip-form{gap:24px}
 .ip-cta{padding-block:58px;min-height:340px}
 .ip-cta h2{font-size:34px;line-height:1.55}
 .ip-footer{padding-top:47px}
 .ip-footer-top{padding-bottom:32px;gap:25px}
}

/* One header and one mobile menu are shared by home, inner pages and journal. */
#topbar.topbar{position:fixed;inset:0 0 auto;height:96px;padding-inline:5.4vw;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:24px}
#topbar .wordmark{font:35px/1 Georgia,serif;letter-spacing:-.05em;flex-shrink:0}
#topbar .desktop-nav{gap:27px;align-items:center}
#topbar .desktop-nav>a{font:10px/1.5 Arial,'Yu Gothic',sans-serif;letter-spacing:.13em;white-space:nowrap}
#topbar .desktop-nav .nav-contact{padding:14px 21px;letter-spacing:.035em}
#topbar .desktop-nav>a[aria-current=page]:not(.nav-contact){text-decoration:underline;text-underline-offset:9px;text-decoration-thickness:1px}
body[data-subpage] #topbar.topbar{color:#253c48;background:#eeeee8e8;border-bottom:1px solid #526b7226;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:none}
body[data-subpage] #topbar .nav-contact{border-color:#526b7255;background:transparent}
body[data-subpage] #topbar .menu-toggle{color:#253c48}
body[data-subpage].menu-open #topbar.topbar{color:#f1f1eb!important;background:#0b1b27;border-bottom-color:#ffffff22}
body[data-subpage].menu-open #topbar .menu-toggle{color:#f1f1eb}
#mobile-nav{z-index:90}
#mobile-nav>a[aria-current=page]{color:#e6c6a4}
body[data-subpage=blog]{--accent:#8b785e}
.ip-journal-item{display:grid;grid-template-columns:48px 1fr 44px;gap:30px;align-items:start;padding:37px 0;border-top:1px solid var(--line)}
.ip-journal-item>.ip-no{font-size:18px;padding-top:3px}
.ip-journal-meta{display:flex;gap:18px 25px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:10px;line-height:1.8;letter-spacing:.04em}
.ip-journal-meta time{font-family:Arial,sans-serif;letter-spacing:.08em}
.ip-journal-meta .ip-tags span{font-size:9px}
.ip-journal-item h3{font:400 clamp(23px,2.1vw,34px)/1.7 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.025em;margin:18px 0 16px;text-wrap:pretty!important}
.ip-journal-item p{font-size:12px;line-height:2.1;color:var(--muted);max-width:860px}
.ip-journal-arrow{display:grid;place-items:center;width:39px;height:39px;border:1px solid var(--line);border-radius:50%;font-size:16px;margin-top:3px;transition:background .25s}
.ip-journal-arrow:hover{background:#dce3db}
.ip-journal-reading{max-width:850px;scroll-margin-top:115px}
.ip-journal-title{font:400 clamp(26px,3vw,44px)/1.7 'Noto Serif JP','Yu Mincho',serif;letter-spacing:.025em;margin:28px 0 45px;text-wrap:pretty!important}
.ip-journal-body{font-size:14px;line-height:2.15;color:#3c525c;overflow-wrap:break-word}
.ip-journal-body p{margin:0 0 24px}.ip-journal-body h2{font:400 27px/1.7 'Noto Serif JP','Yu Mincho',serif;margin:55px 0 25px;color:var(--ink);scroll-margin-top:120px;text-wrap:pretty!important}.ip-journal-body h3{font-size:19px;font-weight:500;line-height:1.8;margin:35px 0 17px;scroll-margin-top:120px}.ip-journal-body ul,.ip-journal-body ol{padding-left:24px;margin:20px 0 28px}.ip-journal-body li{margin-bottom:10px}.ip-journal-body strong{font-weight:600;color:#284650}.ip-journal-body a{border-bottom:1px solid #526b7280}.ip-journal-body hr{border:0;border-top:1px solid var(--line);margin:38px 0}.ip-journal-body table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;margin:28px 0;font-size:12px}.ip-journal-body th,.ip-journal-body td{min-width:135px;text-align:left;padding:15px;border:1px solid var(--line)}.ip-journal-body th{background:#dfe6df80;font-weight:500}.ip-journal-back{margin-top:55px;padding-top:24px;border-top:1px solid var(--line)}
@media(min-width:861px) and (max-width:1100px){#topbar.topbar{padding-inline:4vw;gap:18px}#topbar .desktop-nav{gap:18px}#topbar .wordmark{font-size:31px}#topbar .desktop-nav>a{font-size:9px}#topbar .desktop-nav .nav-contact{padding:12px 15px}}
@media(max-width:860px){#topbar.topbar{height:76px;padding-inline:24px;gap:20px}#topbar .wordmark{font-size:29px}#topbar .desktop-nav{display:none}#topbar .menu-toggle{display:block}}
@media(max-width:760px){.ip-journal-item{grid-template-columns:25px 1fr 28px;gap:12px;padding:28px 0}.ip-journal-item>.ip-no{font-size:15px}.ip-journal-item h3{font-size:21px;line-height:1.75;margin:14px 0}.ip-journal-item p{font-size:11px}.ip-journal-meta{gap:9px 15px;font-size:9px}.ip-journal-arrow{width:27px;height:27px;font-size:12px}.ip-journal-reading{scroll-margin-top:95px}.ip-journal-title{font-size:25px;line-height:1.8;margin:24px 0 32px}.ip-journal-body{font-size:12px;line-height:2.1}.ip-journal-body h2{font-size:22px;margin:40px 0 22px;scroll-margin-top:100px}.ip-journal-body h3{font-size:17px;margin-top:28px;scroll-margin-top:100px}.ip-journal-body p{margin-bottom:21px}.ip-journal-body th,.ip-journal-body td{padding:11px;min-width:120px;font-size:11px}}
