/* Editorial identity — warm paper, architectural lines, measured motion. */
:root{--paper:#faf8f3;--gold:#a8864d;--gold-light:#dec58f;--ease-out:cubic-bezier(.22,1,.36,1)}
body{background:var(--paper)}::selection{background:#b2945c;color:white}.page-width{width:min(1320px,calc(100% - 96px))}.site-header{position:sticky;top:0;background:rgba(250,248,243,.96);backdrop-filter:blur(16px);transition:box-shadow .35s,background .35s}.site-header.is-scrolled{background:rgba(250,248,243,.94);box-shadow:0 10px 35px #0e233312}.header-inner{width:min(1480px,calc(100% - 64px))}.brand-copy strong{letter-spacing:.08em}.primary-nav a:before{content:'';position:absolute;left:0;right:0;bottom:18px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}.primary-nav a:hover:before{transform:scaleX(1)}.primary-nav a:hover:after{display:none}.header-cta{border-radius:0;box-shadow:none}.button{position:relative;overflow:hidden;border-radius:0;transition:background .3s,transform .35s var(--ease-out),box-shadow .3s}.button:after{content:'';position:absolute;inset:-100% -60%;background:linear-gradient(110deg,transparent 40%,#ffffff28 50%,transparent 60%);transform:translateX(-90%);transition:transform .7s var(--ease-out);pointer-events:none}.button:hover:after{transform:translateX(90%)}.button span{transition:transform .35s var(--ease-out)}.button:hover span{transform:translateX(5px)}.button-gold:hover{box-shadow:0 10px 25px #876a4126}.reading-progress{position:fixed;z-index:100;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,#9a783e,#e1c788);transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero{min-height:650px;background:#0b1620;isolation:isolate}.hero-photograph{position:absolute;inset:-42px 0;background:url('demo-illustration.svg') center 27%/cover no-repeat;z-index:-2;animation:hero-focus 1.8s var(--ease-out) both}.hero-shade{z-index:-1;background:linear-gradient(90deg,#08131ee8 0%,#0a1522a3 36%,#0a15221a 68%,#09152025 100%)}.hero:after{content:'';position:absolute;inset:24px;z-index:-1;border:1px solid #e2c68d28;pointer-events:none}.hero-content{min-height:650px;justify-content:center;padding:40px 0 78px}.hero-edition{font-size:12px;font-family:Arial,sans-serif;letter-spacing:.25em;display:flex;gap:22px;align-items:center;color:#d3b780;margin-bottom:31px}.hero-edition:before{content:'';width:34px;height:1px;background:#bda16e}.hero-edition span{color:#e1d8ca;letter-spacing:.2em;font-family:var(--serif)}.hero-eyebrow{font-size:15px;letter-spacing:.21em;color:#e3ddd1;margin-bottom:15px}.hero h1{font-size:clamp(44px,4.7vw,74px);letter-spacing:.045em;line-height:1.3;margin-bottom:23px}.hero h1 .headline-line{display:block;color:#f8f6ef}.hero h1 strong{color:#d7bb80;font-weight:800;position:relative}.hero h1 strong:after{content:'';position:absolute;left:0;right:2px;bottom:-4px;height:1px;background:linear-gradient(90deg,#d7bb80aa,transparent);transform-origin:left;animation:line-draw 1.3s .5s var(--ease-out) both}.hero-intro{font-size:17px;max-width:500px;color:#e0e3e6;line-height:1.95;letter-spacing:.055em;margin-bottom:29px}.hero-actions{gap:15px}.hero-actions .button{min-height:53px;font-size:17px}.justice-seal{position:absolute;right:6%;bottom:48px;width:133px;height:133px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e4cf9f;border:1px solid #e4cf9f7d;border-radius:50%;background:#0b17272e;backdrop-filter:blur(4px)}.justice-seal>span{font:27px var(--serif);letter-spacing:.23em;padding-left:.23em}.justice-seal small{font:8px Arial,sans-serif;letter-spacing:.15em;margin-top:7px}.seal-orbit{position:absolute;inset:-9px;border:1px dashed #dec58f75;border-radius:50%;animation:orbit 65s linear infinite}.seal-orbit:before{content:'';position:absolute;top:5px;left:29px;width:6px;height:6px;border-radius:50%;background:#d2b780}.scroll-cue{position:absolute;left:max(48px,calc((100vw - 1320px)/2));bottom:26px;display:flex;align-items:center;gap:18px;color:#d5d2c9;font:9px Arial,sans-serif;letter-spacing:.2em}.scroll-cue i{font-style:normal;font-size:21px;color:#d4bb88;animation:scroll-nudge 2.8s ease-in-out infinite}.belief-ribbon{overflow:hidden;background:#b49a69;color:#182735;padding:13px 0;border-top:1px solid #dac69e}.ribbon-track{display:flex;width:max-content;animation:ribbon-drift 48s linear infinite}.ribbon-track>span{flex:none;white-space:nowrap;font:12px var(--serif);letter-spacing:.22em;padding-right:32px}.ribbon-track b{font-size:14px;font-weight:400;padding:0 26px}.service-strip{background:#faf8f3;box-shadow:none;border-bottom:1px solid #ded8cc}.service-strip-inner{height:126px}.service-shortcut{gap:12px;padding-left:20px}.service-shortcut strong{font-size:18px}.service-shortcut small{font-size:13px}.service-shortcut svg{width:33px;height:33px}.about-section{margin:80px auto;max-width:1440px;grid-template-columns:48% 52%;background:transparent;padding:0 48px}.about-image{min-height:510px;clip-path:polygon(0 0,91% 0,100% 9%,100% 100%,0 100%)}.about-image img{transition:transform 1.2s var(--ease-out)}.about-image:hover img{transform:scale(1.035)}.about-copy{padding:48px 8%}.about-copy h2{font-size:clamp(25px,2.1vw,33px)}.about-signature{font-size:46px;color:#ac8c5526;bottom:25px}.section-kicker{font-size:12px;letter-spacing:.22em}.section-padding{padding:95px 0}.home-intro{border-top:1px solid #e1dacb}.entry-card{background:transparent;border-top:1px solid #b9a17a;border-bottom:1px solid #ded7c9;padding:32px 25px 38px;overflow:hidden}.entry-card:nth-child(2){margin-top:28px}.entry-card:nth-child(3){margin-top:56px}.entry-card h3{font-size:29px}.entry-card:after,.service-card:after{content:'';position:absolute;inset:0;background:radial-gradient(260px circle at var(--spot-x,50%) var(--spot-y,0%),#bb98631f,transparent 75%);pointer-events:none;opacity:0;transition:opacity .4s}.entry-card:hover:after,.service-card:hover:after{opacity:1}
.inner-hero{background:#102239;min-height:340px;padding:27px 0 67px;isolation:isolate}.inner-hero:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,transparent calc(25% - 1px),#c7ad7830 25%,transparent calc(25% + 1px),transparent calc(75% - 1px),#c7ad781c 75%,transparent calc(75% + 1px));pointer-events:none}.inner-hero:after{content:'';position:absolute;z-index:-1;width:360px;height:360px;right:6%;top:33px;border:1px solid #c9b2804a;border-radius:50%;box-shadow:0 0 0 35px #c9b28008,0 0 0 70px #c9b28005;pointer-events:none;animation:architecture-in 1.6s var(--ease-out) both}.inner-hero h1{font-size:clamp(35px,4.1vw,61px);max-width:970px}.inner-lead{font-size:17px;max-width:750px}.hero-watermark{font-size:clamp(60px,9vw,145px);bottom:-17px;right:1%;color:#e6d5b008;font-style:italic}.breadcrumbs{margin-bottom:36px}.inner-hero .section-kicker:before{content:'';height:1px;width:35px;background:var(--gold)}.services-section,.insights-section{background:#f2eee5}.service-grid{gap:0;border-top:1px solid #c8bfae;border-left:1px solid #c8bfae}.service-card{padding:42px 33px 33px;min-height:268px;background:transparent;border:0;border-right:1px solid #c8bfae;border-bottom:1px solid #c8bfae;overflow:hidden;transition:background .4s,color .4s,box-shadow .4s}.service-card:hover{transform:none;background:#fffdf7;box-shadow:inset 0 3px #a98b57}.service-card h3{font-size:26px;margin-top:19px}.service-card .card-number{font:italic 48px Georgia,serif;top:13px;color:#b9a98c55}.service-card p{font-size:16px}.service-card a{position:relative;z-index:1}.service-card a span{display:inline-block;transition:transform .3s}.service-card:hover a span{transform:rotate(45deg)}.editorial-photo{clip-path:polygon(0 0,92% 0,100% 10%,100% 100%,0 100%);overflow:hidden}.editorial-photo img{transition:transform 1s var(--ease-out)}.editorial-photo:hover img{transform:scale(1.04)}.editorial-copy h2{font-size:clamp(28px,2.8vw,42px)}.values-section{background:#102239;position:relative;overflow:hidden}.values-section:before{content:'誠';position:absolute;right:-25px;bottom:-110px;font:380px var(--serif);color:#d1b98007;pointer-events:none}.principle-grid{gap:45px}.principle-grid article>span{font-style:italic;font-size:43px}.process-grid article:before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:#a98b57;box-shadow:0 0 0 6px #a98b5710}.process-grid article:hover:before{box-shadow:0 0 0 10px #a98b571c;transition:box-shadow .4s}.team-quote{position:relative;border:1px solid #c4af86;background:#f3eee4}.team-quote:after{content:'';position:absolute;inset:12px;border:1px solid #c4af8638;pointer-events:none}.team-card{border:0;background:transparent}.portrait-placeholder{background:linear-gradient(135deg,#ddd4c3,#f2ece1);border-radius:160px 160px 0 0;height:280px;border:1px solid #b9a88955}.team-card>div:last-child{padding-left:0}.team-grid{gap:45px}.team-card:nth-child(2){padding-top:36px}.team-card:nth-child(3){padding-top:72px}.case-card{background:#faf8f3;border:0;transition:transform .5s var(--ease-out)}.case-card:hover{transform:translateY(-6px)}.case-cover{height:235px;background:radial-gradient(circle at var(--spot-x,90%) var(--spot-y,20%),#40546d,#132840 65%)}.case-cover:after{transition:transform .8s var(--ease-out)}.case-card:hover .case-cover:after{transform:rotate(-12deg) scale(1.1)}.case-copy{border-bottom:1px solid #ccbfa9;padding-left:0;padding-right:0}.case-grid{gap:32px}.insight-cover{transition:filter .4s}.insight-cover:hover{filter:brightness(1.04)}.insight-cover strong{transition:transform .8s var(--ease-out)}.insight-cover:hover strong{transform:translate(-10px,-5px) rotate(-7deg)}.insight-card h2 a{background:linear-gradient(#ae8b53,#ae8b53) left bottom/0 1px no-repeat;transition:background-size .4s}.insight-card h2 a:hover{background-size:100% 1px}.faq-list summary:after{transition:transform .35s}.faq-list details[open] summary:after{transform:rotate(180deg)}.faq-list details[open] p{animation:faq-in .45s var(--ease-out)}.page-cta{position:relative;overflow:hidden;padding:70px 0;background:#e8e0d0}.page-cta:before{content:'';position:absolute;right:21%;top:-130px;width:370px;height:370px;border:1px solid #9d84583d;border-radius:50%;pointer-events:none}.page-cta>.page-width{position:relative}.page-cta h2{font-size:clamp(26px,2.7vw,40px)}.site-footer{padding:48px 0 26px;background:#091829}.footer-top{padding-bottom:35px}.footer-brand{font-size:28px}.contact-form{border-top:3px solid #b3996b;box-shadow:18px 18px 0 #b3996b15}.contact-form input,.contact-form select,.contact-form textarea{background:#fcfaf6;border:0;border-bottom:1px solid #c9c1b1;border-radius:0}.contact-info-grid article{background:transparent;border-bottom:1px solid #d7cebd}.article-body>p.section-kicker{font-size:12px;color:#a38656;letter-spacing:.2em}.article-body h2{letter-spacing:.03em}.detail-sidebar{top:115px;background:#f0eade}.motion-toggle{position:fixed;z-index:40;bottom:17px;left:17px;display:flex;align-items:center;gap:8px;border:1px solid #b39a704d;background:#faf8f3ec;backdrop-filter:blur(8px);color:#4a4b45;padding:9px 12px;border-radius:30px;font-size:12px;box-shadow:0 3px 15px #10213b0c}.motion-indicator{display:block;width:6px;height:6px;border-radius:50%;background:#a48650;box-shadow:0 0 0 3px #a486501b}.motion-toggle[aria-pressed=true] .motion-indicator{background:#8e9396;box-shadow:none}.motion-toggle:disabled{cursor:default}.motion-toggle:hover{border-color:#a48650}
@keyframes hero-focus{from{scale:1.065;filter:brightness(.8)}to{scale:1;filter:brightness(1)}}@keyframes line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes scroll-nudge{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}@keyframes ribbon-drift{to{transform:translateX(-25%)}}@keyframes architecture-in{from{opacity:0;transform:translateY(35px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes faq-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:761px){@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.18s}::view-transition-new(root){animation-duration:.28s}}
@media(max-width:1250px){.header-inner{width:calc(100% - 40px)}.primary-nav{gap:15px}.service-shortcut{padding-left:12px;gap:8px}.service-shortcut strong{font-size:16px}.service-shortcut small{font-size:12px}.service-shortcut svg{width:28px;height:28px}.page-width{width:calc(100% - 64px)}.justice-seal{right:5%;width:110px;height:110px}.hero h1{font-size:clamp(44px,5.1vw,66px)}}
@media(max-width:1120px){.service-strip-inner{height:auto}.primary-nav{background:#faf8f3}.primary-nav.open{animation:faq-in .3s var(--ease-out)}.primary-nav a:before{bottom:4px}.service-shortcut{height:55px}.hero-content{padding-left:10px}.justice-seal{right:5%;bottom:40px}}
@media(max-width:760px){.page-width{width:min(100% - 38px,540px)}.header-inner{width:calc(100% - 32px)}.site-header{height:74px}.hero{min-height:675px}.hero-photograph{inset:-20px 0;background-position:62% center;animation-duration:1.2s}.hero:after{inset:12px}.hero-shade{background:linear-gradient(180deg,#0a152217,#09132155 27%,#091321d9 63%,#091321f5 100%)}.hero-content{min-height:675px;justify-content:flex-end;padding:34px 0 78px}.hero-edition{font-size:10px;letter-spacing:.16em;gap:12px;margin-bottom:18px}.hero-edition:before{width:20px}.hero-edition span{font-size:11px}.hero-eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:14px}.hero h1{font-size:clamp(35px,9.7vw,53px);line-height:1.35;letter-spacing:0;margin-bottom:22px}.hero h1 .headline-line{white-space:nowrap}.hero-intro{font-size:14px;line-height:1.95;margin-bottom:22px;letter-spacing:.01em}.hero-actions{gap:10px}.hero-actions .button{min-height:47px;font-size:15px;padding:0 17px}.justice-seal{width:67px;height:67px;right:23px;top:29px;bottom:auto}.justice-seal>span{font-size:20px}.justice-seal small{font-size:6px;letter-spacing:.08em}.seal-orbit{inset:-6px}.seal-orbit:before{top:0;left:17px;width:4px;height:4px}.scroll-cue{left:20px;bottom:22px;font-size:10px}.belief-ribbon{padding:10px 0}.ribbon-track>span{font-size:12px}.ribbon-track b{padding:0 17px}.service-strip-inner{padding:8px 18px;width:100%}.service-shortcut,.service-shortcut:first-child,.service-shortcut:nth-child(4),.service-shortcut:last-child{height:77px;padding:0 8px}.service-shortcut:nth-child(even){padding-left:14px}.service-shortcut strong{font-size:15px}.service-shortcut small{font-size:12px}.about-section{display:block;margin:47px 0;padding:0 19px}.about-image{min-height:0;height:290px}.about-copy{padding:35px 0 45px;min-height:0}.about-copy h2{font-size:25px}.about-signature{font-size:33px;right:2%;bottom:0}.section-padding{padding:65px 0}.entry-card:nth-child(2),.entry-card:nth-child(3){margin-top:0}.entry-card{padding:25px 18px 32px}.entry-card h3{font-size:25px}.inner-hero{min-height:0;padding:24px 0 45px}.inner-hero h1{font-size:33px}.inner-hero:after{width:215px;height:215px;right:-80px;top:70px}.inner-hero .section-kicker{font-size:11px;letter-spacing:.16em}.inner-hero .section-kicker:before{width:22px}.inner-lead{font-size:15px;line-height:1.9}.hero-watermark{font-size:60px}.breadcrumbs{margin-bottom:30px}.service-card{min-height:240px;padding:30px 25px}.service-card h3{font-size:25px}.service-card .card-number{font-size:45px}.team-grid{gap:26px}.team-card{display:block}.team-card:nth-child(2),.team-card:nth-child(3){padding-top:0}.portrait-placeholder{height:210px;max-width:220px;margin:auto;border-radius:140px 140px 0 0}.team-card>div:last-child{padding:24px 0}.team-card>div:last-child h3{font-size:25px}.principle-grid{gap:24px}.case-cover{height:205px}.page-cta{padding:50px 0}.page-cta:before{right:-80px;top:-40px;width:280px;height:280px}.page-cta h2{font-size:28px}.footer-brand{font-size:23px}.site-footer{padding-bottom:65px}.contact-form{box-shadow:8px 8px 0 #b3996b15}.motion-toggle{bottom:12px;left:12px;font-size:11px;padding:8px 10px}.detail-sidebar{position:static}}
@media(max-width:370px){.hero h1{font-size:9.5vw}.hero-edition{gap:7px}.hero-edition span{font-size:10px}.service-shortcut strong{font-size:14px}.service-shortcut small{font-size:11px}}
html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-motion=off] .hero-photograph{translate:none!important}html[data-motion=off]::view-transition-old(root),html[data-motion=off]::view-transition-new(root){animation:none!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
