:root{color-scheme:dark;--navy:#050b17;--accent:#6eb4ff;--outline:rgba(163,201,249,.28);--serif:'Noto Serif CJK JP','Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Helvetica Neue',Arial,'Noto Sans CJK JP',sans-serif}
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:#040a14;color:#f5f8ff;font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
    a{color:inherit;text-decoration:none}
    button{font:inherit}
    :focus-visible{outline:2px solid #8accff;outline-offset:5px}
    .site-header{position:absolute;z-index:30;top:0;left:0;width:100%;height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(28px,5.8vw,95px);background:linear-gradient(180deg,rgba(2,6,15,.54),transparent);gap:26px}
    .brand{display:flex;align-items:center;gap:3px;min-width:242px;white-space:nowrap}
    .brand-flame{display:block;width:64px;height:66px;object-fit:contain;filter:drop-shadow(0 0 9px rgba(19,128,255,.38))}
    .brand-text{display:flex;flex-direction:column;gap:4px;transform:translateY(2px)}
    .brand-primary{display:flex;align-items:baseline;gap:13px}
    .brand-jp{font:500 24px/1.1 var(--serif);letter-spacing:.14em}
    .brand-en{font:400 11px/1.2 Georgia,'Times New Roman',serif;letter-spacing:.49em;padding-left:2px;color:#c1d7ff}
    .main-nav{display:flex;gap:clamp(20px,2.7vw,45px);align-items:center;margin:auto}
    .main-nav a{position:relative;font:400 11px/2 var(--sans);letter-spacing:.17em;color:#edf3ff;transition:color .2s}
    .main-nav a:hover{color:#9bd6ff}
    .main-nav a.active:after,.main-nav a:hover:after{content:"";position:absolute;bottom:-10px;left:0;right:0;height:1px;background:#86bdff;box-shadow:0 0 8px #68adff}
    .nav-contact{flex:0 0 auto;display:flex;align-items:center;gap:24px;font-size:11px;font-weight:600;letter-spacing:.09em;border:1px solid rgba(208,224,252,.8);padding:11px 21px;border-radius:60px;background:rgba(4,12,27,.27);backdrop-filter:blur(12px);transition:background .2s,box-shadow .2s}
    .nav-contact:hover{background:rgba(44,108,209,.22);box-shadow:0 0 22px rgba(75,155,255,.2)}
    .nav-contact span{font-size:19px;font-weight:300}
    .menu-button{display:none;width:38px;height:38px;background:transparent;border:0;color:#fff;position:relative;cursor:pointer}
    .menu-button::before,.menu-button::after,.menu-button span{content:"";position:absolute;left:6px;width:25px;height:1px;background:#d5e9ff;transition:transform .22s,top .22s,opacity .22s}
    .menu-button::before{top:12px}.menu-button span{top:19px}.menu-button::after{top:26px}
    .menu-button[aria-expanded=true]::before{top:19px;transform:rotate(45deg)}
    .menu-button[aria-expanded=true]::after{top:19px;transform:rotate(-45deg)}
    .menu-button[aria-expanded=true] span{opacity:0}

    .hero{position:relative;min-height:700px;height:min(770px,83vh);max-height:800px;overflow:hidden;isolation:isolate;background:#050b17}
    .hero::before{content:"";position:absolute;inset:0;z-index:-3;background-image:url('assets/hero-desktop.webp');background-size:cover;background-position:center 43%;transform:scale(1.012)}
    .hero::after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(2,8,20,.91) 0%,rgba(2,8,20,.71) 30%,rgba(2,8,20,.12) 54%,rgba(2,8,20,.02) 83%),linear-gradient(0deg,rgba(2,7,16,.9),transparent 19%,transparent 67%,rgba(1,5,13,.14));pointer-events:none}
    .hero-internal{width:min(100%,1680px);height:100%;margin:auto;padding:0 clamp(28px,6vw,100px);position:relative}
    .hero-copy{position:absolute;left:clamp(28px,6vw,100px);top:clamp(135px,15vh,176px);z-index:2;max-width:min(760px,57vw)}
    .eyebrow{margin:0 0 21px;color:#a3cfff;font-size:clamp(11px,.9vw,14px);font-weight:400;letter-spacing:.33em}
    .hero-title{font:500 clamp(60px,7.8vw,122px)/1.29 var(--serif);letter-spacing:.085em;margin:0;text-shadow:0 5px 16px rgba(0,5,16,.3)}
    .hero-title .line{display:block;white-space:nowrap}
    .fire-line{position:relative;isolation:isolate;display:inline-block;padding-bottom:.07em}
    .fire-letter{position:relative;display:inline-block;color:#d8edff;background:linear-gradient(110deg,#f8fbff 16%,#7bd6ff 45%,#327ff3 63%,#e1f8ff 90%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 25px rgba(45,151,255,.3);filter:drop-shadow(0 0 13px rgba(54,140,255,.7))}
    .fire-letter:after{content:"";position:absolute;left:25%;bottom:4%;height:72%;width:70%;z-index:-1;background:radial-gradient(ellipse at center,rgba(30,130,255,.47),transparent 67%);filter:blur(16px)}
    .fire-line .fire-spray{position:absolute;z-index:-1;left:-58px;top:-64px;width:180px;max-width:none;opacity:.28;pointer-events:none;mix-blend-mode:screen;transform:rotate(-19deg)}
    .hero-lead{font:400 clamp(15px,1.35vw,20px)/2.05 var(--serif);letter-spacing:.075em;margin:23px 0 32px;color:#f4f7ff;text-shadow:0 2px 12px #01040b}
    .hero-lead span{display:block}
    .hero-ctas{display:flex;align-items:center;gap:15px}
    .hero-btn{display:flex;align-items:center;justify-content:center;gap:25px;min-height:56px;padding:0 25px;min-width:232px;font-size:13px;letter-spacing:.09em;font-weight:600;transition:box-shadow .25s,transform .25s,background .25s}
    .hero-btn:hover{transform:translateY(-2px)}
    .hero-btn.primary{background:linear-gradient(95deg,#adf0ff -18%,#1867dc 19%,#082d83 74%,#092e7e);border:1px solid #9bccff;box-shadow:inset 0 0 13px rgba(188,230,255,.57),0 0 29px rgba(42,104,242,.2)}
    .hero-btn.primary:hover{box-shadow:inset 0 0 18px rgba(188,230,255,.67),0 0 33px rgba(42,134,252,.51)}
    .hero-btn.ghost{background:rgba(3,12,27,.5);border:1px solid rgba(189,218,255,.6);backdrop-filter:blur(4px)}
    .hero-btn.ghost:hover{background:rgba(25,65,136,.5)}
    .hero-btn .arrow{font:200 20px/1 var(--sans);transition:transform .22s}
    .hero-btn:hover .arrow{transform:translateX(5px)}
    .hero-mission{position:absolute;right:clamp(35px,6vw,100px);top:28%;z-index:2;text-align:left;min-width:255px;text-shadow:0 2px 20px #000;pointer-events:none}
    .hero-mission .m-label{font:400 12px/2 Georgia,serif;letter-spacing:.22em;color:#a2caff;display:flex;align-items:center;gap:15px;margin-top:8px}
    .hero-mission .m-label:after{content:"";width:67px;height:1px;background:#b2d0f7}
    .hero-mission .m-text{font:500 clamp(20px,1.67vw,27px)/1.7 var(--serif);letter-spacing:.09em}
    .hero-footer{position:absolute;bottom:25px;left:clamp(28px,6vw,100px);right:clamp(28px,6vw,100px);z-index:4;display:flex;justify-content:space-between;align-items:center;color:#afc7e9;font:400 11px/1.4 Georgia,serif;letter-spacing:.15em}
    .scroll-guide,.slide-status{display:flex;gap:20px;align-items:center}
    .scroll-guide:after{content:"";height:1px;width:110px;background:linear-gradient(90deg,#c8e1ff,#5475a8)}
    .progress-lines{display:flex;gap:7px;align-items:center}
    .progress-lines i{width:28px;height:1px;background:rgba(146,194,246,.45);display:block}
    .progress-lines i:first-child{width:34px;height:2px;background:#d7efff;box-shadow:0 0 6px #7ec2ff}

    .below{background:radial-gradient(ellipse at 50% -30%,rgba(17,67,148,.25),transparent 60%),#050b17;border-top:1px solid rgba(111,160,233,.36);position:relative}
    .section-shell{width:min(1400px,100%);margin:auto;padding:86px clamp(28px,6vw,100px)}
    .section-overline{margin:0 0 12px;color:#8cc2ff;font:400 12px/1.5 Georgia,serif;letter-spacing:.24em}
    .section-heading{margin:0 0 36px;font:400 clamp(25px,3.2vw,40px)/1.6 var(--serif);letter-spacing:.05em}
    .service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .service-card{display:flex;flex-direction:column;min-height:230px;padding:28px;position:relative;overflow:hidden;border:1px solid rgba(126,173,243,.24);background:linear-gradient(135deg,rgba(24,51,112,.3),rgba(2,8,21,.6));transition:border-color .22s,transform .22s}
    .service-card:hover{transform:translateY(-3px);border-color:#5ea6f7}
    .service-number{font:400 35px Georgia,serif;color:#7ab8ff}
    .service-card h3{font:400 26px var(--serif);margin:15px 0}
    .service-card p{color:#c3d2e8;font-size:13px;line-height:2;margin:0}
    .service-card .en{font:400 11px Georgia,serif;letter-spacing:.18em;color:#95bef4}
    .sub-section{border-top:1px solid var(--outline);min-height:230px}
    .simple-section{display:flex;align-items:center;justify-content:space-between;gap:40px}
    .simple-section p{line-height:1.9;color:#c0cee2;max-width:540px}
    .simple-section h2{font:400 27px var(--serif);margin:0}
    footer{border-top:1px solid var(--outline);padding:28px clamp(28px,6vw,100px);font:400 12px/1.4 Georgia,serif;color:#8da7c9;letter-spacing:.16em;display:flex;justify-content:space-between}
    @media (max-width:1150px){
      .main-nav{gap:20px}.brand{min-width:210px}.brand-jp{font-size:21px}.nav-contact{padding:9px 14px;gap:10px}
      .hero-title{font-size:clamp(65px,7vw,89px)}.hero-copy{max-width:65vw}.hero-mission{right:4vw;top:27%}.hero-mission .m-text{font-size:19px}
    }
    @media (max-width:850px){
      .site-header{height:82px;padding:0 26px}.brand{min-width:0}.brand-flame{width:56px;height:60px}.brand-jp{font-size:21px}.brand-en{font-size:9px}
      .main-nav{display:none;position:absolute;top:82px;right:16px;left:16px;background:rgba(2,9,23,.97);border:1px solid rgba(138,182,244,.45);padding:20px;gap:0;flex-direction:column;align-items:stretch;box-shadow:0 22px 52px #02050a;backdrop-filter:blur(20px)}
      .main-nav.open{display:flex}.main-nav a{font-size:13px;padding:13px 4px}.main-nav a.active::after,.main-nav a:hover::after{bottom:6px;right:auto;width:30px}
      .menu-button{display:block}.nav-contact{margin-left:auto}
      .hero{height:840px;max-height:none}.hero-copy{left:6vw;top:182px;max-width:85vw}.hero-title{font-size:clamp(54px,8vw,78px)}.hero-mission{top:auto;bottom:99px;left:6vw;right:auto}.hero-mission .m-text{font-size:20px}
      .hero::after{background:linear-gradient(90deg,rgba(1,7,17,.83) 0%,rgba(2,8,20,.4) 70%,rgba(2,8,20,.15)),linear-gradient(0deg,rgba(2,7,16,.82),transparent 36%,rgba(3,7,17,.2))}
      .hero-footer{bottom:20px}.service-grid{gap:10px}.service-card{padding:18px}.service-card h3{font-size:19px}
    }
    @media (max-width:600px){
      .site-header{height:70px;padding:0 17px;gap:8px}.brand{gap:0}.brand-flame{width:44px;height:52px}.brand-jp{font-size:17px}.brand-en{font-size:8px;letter-spacing:.32em}.brand-primary{gap:0}.nav-contact{display:none}.main-nav{top:70px}.menu-button{margin-left:auto}
      .hero{min-height:750px;height:100svh;max-height:none}.hero::before{background-image:url('assets/hero-mobile.webp');background-position:center 50%;opacity:.9;transform:scale(1.0)}
      .hero::after{background:linear-gradient(180deg,rgba(2,8,20,.69) 0%,rgba(3,8,20,.8) 15%,rgba(3,8,20,.58) 43%,rgba(3,8,20,.29) 68%,rgba(1,6,17,.97) 100%),linear-gradient(90deg,rgba(1,7,17,.57),transparent 88%)}
      .hero-internal{padding:0 22px}.hero-copy{left:22px;right:22px;max-width:none;top:clamp(129px,17vh,185px)}
      .eyebrow{font-size:9px;letter-spacing:.23em;margin-bottom:18px}
      .hero-title{font-size:clamp(43px,11vw,60px);letter-spacing:.03em;line-height:1.36}
      .fire-line .fire-spray{width:105px;top:-15px;left:-27px;opacity:.27}
      .hero-lead{font-size:13px;line-height:1.9;margin:25px 0 25px;letter-spacing:.02em}
      .hero-ctas{flex-wrap:wrap;gap:10px}.hero-btn{min-width:0;width:calc(50% - 5px);min-height:49px;gap:7px;padding:0 7px;font-size:11px}
      .hero-mission{left:22px;bottom:77px}.hero-mission .m-text{font-size:18px}.hero-mission .m-label{font-size:9px}
      .hero-footer{left:22px;right:22px;bottom:19px;font-size:9px}.scroll-guide{gap:10px}.scroll-guide:after{width:42px}.progress-lines i{width:12px}.progress-lines i:first-child{width:19px}
      .section-shell{padding:56px 22px}.section-heading{font-size:23px}.service-grid{grid-template-columns:1fr;gap:13px}.service-card{min-height:175px}.service-card h3{margin:9px 0}
      .simple-section{display:block}.simple-section h2{font-size:21px}footer{font-size:9px;padding:20px 22px}
    }
    @media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* SHIRANUI / Editorial Design System — all pages after approved hero */
:root{--azure:#75b9ff;--pale:#d7eaff;--sub:#a7b7d2;--divider:rgba(133,188,250,.26);--serif:'Noto Serif CJK JP','Yu Mincho','Hiragino Mincho ProN',serif}
body{background:#040914}img{max-width:100%;display:block}::selection{background:#2368c4;color:#fff}
.site-header{z-index:90}.main-nav a.active:after{display:block}.inner-site .site-header{position:absolute}
.page-grid-bg{position:relative;background:radial-gradient(ellipse at 90% 8%,rgba(24,66,143,.15),transparent 60%),linear-gradient(180deg,#030917,#071125 65%,#030815)}
.section-max{max-width:1510px;margin:auto;padding:0 clamp(24px,5.6vw,96px);position:relative;z-index:1}
.kicker{color:#7fbcff;font:400 11px/1.8 Georgia,serif;letter-spacing:.26em;text-transform:uppercase}
.headline{font:500 clamp(31px,3.8vw,56px)/1.55 var(--serif);letter-spacing:.045em;margin:12px 0 0}
.headline strong{font-weight:500;color:#c8e6ff}
.headline-centered{text-align:center}
.headline-small{font:500 clamp(25px,3vw,40px)/1.65 var(--serif);letter-spacing:.02em}
.text-body{font:400 15px/2.2 var(--serif);color:#c8d6ed;letter-spacing:.02em}
.text-muted{color:#9fb1cb}.section-rule{height:1px;background:linear-gradient(90deg,transparent,#6baeff 33%,#8fd7ff 60%,transparent);opacity:.45}
.spacious{padding-top:clamp(82px,9vw,150px);padding-bottom:clamp(84px,9vw,150px)}
.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:44px}
.gold-line{width:58px;height:1px;background:#7dbaff;box-shadow:0 0 9px #55a0ff;display:block;margin:28px 0}
.decor-number{font:400 17px Georgia,serif;color:#87c3ff;letter-spacing:.14em}
.micro-link{font:400 10px Georgia,serif;letter-spacing:.26em;border-bottom:1px solid #9dc8ff;padding-bottom:8px;display:inline-flex;gap:20px;align-items:center;width:max-content}
.micro-link:hover{color:#94ceff}
.action-link{display:inline-flex;gap:25px;justify-content:space-between;align-items:center;border:1px solid rgba(167,202,248,.62);background:linear-gradient(90deg,rgba(7,24,55,.88),rgba(10,41,89,.58));padding:17px 26px;font-size:12px;letter-spacing:.1em;min-width:210px;transition:background .24s,box-shadow .24s,transform .24s}
.action-link:hover{background:rgba(23,90,192,.62);box-shadow:0 0 24px rgba(46,126,236,.28);transform:translateY(-2px)}
/* HOME cinematic service lineup */
.services-display{position:relative;padding:94px 0 108px;background:radial-gradient(ellipse at 52% -10%,#0d2b59 0%,#050c1b 50%,#020815 90%);overflow:hidden}
.services-display:before{content:'';position:absolute;inset:-100px -5%;background:url('assets/flame-wave.svg') center top/115% auto no-repeat;opacity:.23;pointer-events:none}
.services-display .section-title-row{flex-direction:column;align-items:center;gap:8px;text-align:center;margin-bottom:45px}
.services-display .headline{font-size:clamp(23px,2.45vw,39px);line-height:1.65;margin:3px 0 0}
.services-showcase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.visual-service{min-height:345px;position:relative;border:1px solid rgba(131,194,255,.37);display:flex;overflow:hidden;align-items:flex-end;isolation:isolate;background:#0a1b38;transition:border-color .25s,transform .35s,box-shadow .35s}
.visual-service:before{content:'';position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transform:scale(1);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.visual-service:nth-child(1):before{background-image:url('assets/service-1.svg')}
.visual-service:nth-child(2):before{background-image:url('assets/service-2.svg')}
.visual-service:nth-child(3):before{background-image:url('assets/service-3.svg')}
.visual-service:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(1,6,18,.98) 0%,rgba(2,8,22,.78) 40%,rgba(3,12,33,.18) 100%),linear-gradient(90deg,rgba(4,16,40,.57),transparent 80%)}
.visual-service:hover{transform:translateY(-5px);border-color:#7cc9ff;box-shadow:0 10px 48px rgba(8,91,204,.16)}.visual-service:hover:before{transform:scale(1.09)}
.visual-service-content{padding:25px 28px 27px;width:100%}
.visual-service .service-numeral{position:absolute;top:16px;left:25px;font:400 clamp(40px,4.2vw,60px)/1 Georgia,serif;color:#a7d0ff;text-shadow:0 0 16px rgba(46,127,255,.6)}
.visual-service h3{font:500 clamp(24px,2.4vw,35px)/1.35 var(--serif);margin:9px 0 5px;letter-spacing:.04em}
.visual-service .english{font:400 11px Georgia,serif;letter-spacing:.14em;color:#9cc9ff}
.visual-service p{font:400 13px/1.95 var(--serif);color:#d6e0f5;min-height:54px;margin:17px 0 15px}
.visual-service .view-arrow{display:flex;justify-content:space-between;align-items:center;font:11px Georgia,serif;letter-spacing:.21em;border-bottom:1px solid rgba(165,201,248,.58);padding-bottom:9px;width:148px}
/* HOME mission wave */
.mission-wave{position:relative;overflow:hidden;padding:100px 0 125px;background:radial-gradient(ellipse at 66% 40%,rgba(19,88,176,.16),transparent 52%),#040b18;border-top:1px solid var(--divider)}
.mission-wave .section-max{display:grid;grid-template-columns:1fr 1.02fr;align-items:center;min-height:330px;gap:40px}
.mission-wave .headline{font-size:clamp(34px,4vw,61px)}
.mission-wave .flame-showpiece{height:410px;background:url('assets/flame-wave.svg') center/cover no-repeat;filter:drop-shadow(0 0 25px rgba(46,117,250,.42));position:relative;opacity:.92}
.mission-wave .flame-showpiece:after{content:'';position:absolute;inset:22%;background:radial-gradient(ellipse,rgba(46,128,252,.26),transparent 65%);filter:blur(38px)}
.mission-wave p{max-width:720px;margin:22px 0 0}
/* HOME approach and commitment */
.principles-band{border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);position:relative;overflow:hidden;background:#030a19}
.principles-band::before{content:'';position:absolute;inset:-50px 0;background:url('assets/flame-wave.svg') center/cover no-repeat;opacity:.10}
.principles-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.principle{padding:75px clamp(22px,5vw,90px) 83px 0;position:relative}
.principle+.principle{border-left:1px solid rgba(136,194,247,.4);padding:75px 0 83px clamp(22px,5vw,90px)}
.principle h2{font:500 clamp(25px,2.8vw,40px)/1.6 var(--serif);margin:19px 0}
.principle p{font:400 14px/2.1 var(--serif);color:#cbd8ed;margin:0}
/* closing full width cinematic banner */
.closing-banner{position:relative;min-height:320px;display:flex;align-items:center;border-top:1px solid rgba(143,202,255,.3);overflow:hidden;isolation:isolate;background:#06152c}
.closing-banner:before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/valley.webp') center 70%/cover no-repeat}
.closing-banner:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,8,20,.87),rgba(4,14,33,.43) 52%,rgba(2,6,18,.68)),linear-gradient(0deg,rgba(0,3,10,.88),transparent 70%)}
.closing-banner .section-max{width:100%;display:flex;align-items:center;justify-content:space-between;gap:35px}
.closing-banner h2{font:500 clamp(30px,3.9vw,57px)/1.6 var(--serif);letter-spacing:.04em;margin:14px 0}
/* Internal route mastheads */
.inner-hero{height:540px;min-height:500px;position:relative;overflow:hidden;isolation:isolate;background:#08182f;display:flex;align-items:center}
.inner-hero:before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/hero-desktop.webp') 58% 48%/cover no-repeat}
.inner-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,10,25,.95),rgba(3,10,25,.62) 43%,rgba(3,10,25,.15)),linear-gradient(0deg,rgba(3,9,23,.85),transparent 30%)}
.inner-hero.about-hero:before{background-image:url('assets/founder-concept.webp');background-position:75% 34%;background-size:cover}
.inner-hero.service-hero:before{background-position:75% 49%}
.inner-hero.works-hero:before{background-image:url('assets/works-header-city.webp');background-position:65% center}
.inner-hero.contact-hero:before{background-image:url('assets/valley.webp');background-position:54% 60%}
.inner-hero .section-max{width:100%;padding-top:75px}
.inner-hero h1{font:500 clamp(46px,5.8vw,90px)/1.35 var(--serif);letter-spacing:.045em;margin:24px 0 10px;text-shadow:0 4px 20px rgba(0,5,15,.5)}
.inner-hero h1.one-line{font-size:clamp(33px,4.4vw,66px);white-space:nowrap}
.inner-hero h1 em{font-style:normal;color:#9bc9ff;text-shadow:0 0 30px rgba(36,132,255,.4)}
.inner-hero .intro{font:400 clamp(14px,1.45vw,19px)/2 var(--serif);color:#d9e7fb;max-width:650px}
/* ABOUT manifesto / problems / solutions */
.manifesto{background:radial-gradient(ellipse at 82% 35%,rgba(26,75,172,.17),transparent 58%),#040b1b}
.manifesto-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:clamp(30px,7vw,120px)}
.manifesto-copy{font:400 16px/2.45 var(--serif);letter-spacing:.02em;color:#d2def1}
.manifesto-copy p{margin:0 0 23px}
.manifesto .headline{font-size:clamp(32px,3.7vw,53px)}
.sticky-side{align-self:start;position:sticky;top:36px}
.insight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:50px}
.insight-card{padding:40px;min-height:310px;border:1px solid var(--divider);background:linear-gradient(130deg,rgba(12,40,88,.74),rgba(4,13,32,.7));position:relative;overflow:hidden}
.insight-card:after{content:'';position:absolute;width:280px;height:280px;border:1px solid rgba(78,152,255,.15);border-radius:50%;right:-90px;top:-120px;box-shadow:0 0 80px rgba(19,95,209,.13)}
.insight-card h3{font:500 32px/1.6 var(--serif);margin:20px 0}.insight-card p{font:400 14px/2.2 var(--serif);color:#c9d5e9;margin:0;max-width:480px}
.solution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:50px}
.solution-card{padding:45px;border-top:1px solid #6daff3;border-left:1px solid var(--divider);background:linear-gradient(120deg,rgba(8,29,75,.5),rgba(3,10,30,.5));min-height:260px}
.solution-card h3{font:500 clamp(26px,2.75vw,38px)/1.6 var(--serif);margin:13px 0 20px}.solution-card p{font:400 14px/2.1 var(--serif);color:#cbd8ed}
.our-role{margin-top:53px;padding:44px 52px;border:1px solid rgba(125,184,244,.35);background:radial-gradient(ellipse at 90% 50%,rgba(30,108,255,.2),transparent 60%),rgba(7,22,52,.7)}
.our-role strong{font:500 clamp(22px,2.5vw,36px)/1.7 var(--serif)}
/* 5 value cards */
.values-section{background:linear-gradient(#050c1b,#020817)}.values-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-top:44px}
.value-card{height:360px;position:relative;border:1px solid rgba(121,176,255,.35);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:#071a3f}
.value-card::before{content:'';position:absolute;inset:0;z-index:-2;background-image:var(--value-bg);background-size:cover;background-position:center;transition:transform .5s}
.value-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(1,6,19,.98),rgba(2,10,26,.26) 65%)}
.value-card:hover::before{transform:scale(1.08)}.value-card div{padding:20px 18px;width:100%}
.value-card .value-num{font:36px/1 Georgia,serif;color:#8fbdff}.value-card h3{font:500 clamp(15px,1.4vw,20px)/1.5 var(--serif);white-space:nowrap;margin:13px 0 8px}
.value-card p{font:400 12px/1.65 var(--serif);color:#d5e2f3;margin:0;min-height:25px}
/* founder story editorial */
.founder-story{background:#030a18}.founder-layout{display:grid;grid-template-columns:.76fr 1.24fr;gap:clamp(40px,6.2vw,110px)}
.founder-pin{position:sticky;top:35px;align-self:start}.founder-art{height:480px;position:relative;overflow:hidden;margin-top:30px;border:1px solid rgba(142,185,239,.2)}
.founder-art:before{content:'';position:absolute;inset:0;background:url('assets/founder-concept.webp') 55% 41%/cover no-repeat;filter:saturate(1.2)}
.founder-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,9,24,.83),transparent 67%)}
.founder-art span{position:absolute;left:25px;bottom:24px;font:11px Georgia,serif;letter-spacing:.2em;color:#bedaff}
.story-prose{font:400 15px/2.45 var(--serif);color:#cbd7eb;letter-spacing:.025em}
.story-prose p{margin:0 0 26px}.story-prose .lead-quote{font-size:clamp(20px,2.2vw,31px);line-height:1.8;color:#f5faff;margin-bottom:30px}
.story-prose .emphasis{font-size:20px;color:#f4faff;border-left:2px solid #5ab6ff;padding:13px 0 13px 24px}
.signature{margin-top:48px;border-top:1px solid var(--divider);padding-top:30px;display:flex;gap:20px;justify-content:flex-end;align-items:end}
.signature-small{font:400 13px/2 var(--serif);color:#99b5d6}
.signature-name{font:italic 500 clamp(28px,3.3vw,44px)/1.5 'HanziPen SC','Klee','Yuji Syuku','Hiragino Mincho ProN',cursive;transform:rotate(-4deg);text-shadow:0 0 17px rgba(55,145,250,.27)}
.future-panel{position:relative;overflow:hidden;padding:95px 0;background:radial-gradient(circle at 84% 50%,rgba(42,107,229,.2),transparent 40%),#061329;border-top:1px solid var(--divider)}
.future-panel:after{content:'';position:absolute;inset:0;background:url('assets/flame-wave.svg') 100% center/55% auto no-repeat;opacity:.18;pointer-events:none}
.future-panel .section-max{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.future-panel p{font:400 15px/2.3 var(--serif);color:#cbdaf1}
/* Services detail and procedures */
.service-jump{display:flex;gap:12px;flex-wrap:wrap;padding:32px 0}.service-jump a{padding:12px 19px;border:1px solid var(--divider);font-size:12px;color:#c4d8f6;transition:background .2s}.service-jump a:hover{background:#0e3770}
.service-chapter{border-top:1px solid var(--divider);padding:94px 0;scroll-margin-top:20px;background:radial-gradient(ellipse at 80% 25%,rgba(17,55,130,.18),transparent 62%)}
.service-chapter:nth-of-type(odd){background:#050d1d}
.chapter-top{display:grid;grid-template-columns:.86fr 1.14fr;gap:45px;align-items:center;margin-bottom:50px}
.chapter-top h2{font:500 clamp(38px,4.5vw,64px)/1.45 var(--serif);margin:16px 0}.chapter-top h3{font:500 clamp(21px,2.6vw,34px)/1.6 var(--serif);margin:8px 0 15px}
.chapter-top p{font:400 14px/2.2 var(--serif);color:#c4d5ee}
.chapter-art{height:360px;background-size:cover;background-position:center;border:1px solid rgba(132,190,250,.4);box-shadow:0 20px 65px rgba(0,0,0,.22);position:relative}
.chapter-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,15,.12),rgba(3,8,22,.2))}
.chapter-cols{display:grid;grid-template-columns:1fr 1.28fr;gap:22px}.chapter-box{padding:30px;border:1px solid var(--divider);background:rgba(8,27,60,.34)}
.chapter-box h4{font:400 11px Georgia,serif;letter-spacing:.2em;color:#92c5ff;margin:0 0 25px}
.chapter-box li{list-style:none;border-bottom:1px solid rgba(129,177,232,.18);padding:12px 0;font:400 14px/1.7 var(--serif);color:#d5e2f5}
.chapter-box ul{padding:0;margin:0}.chapter-box li:before{content:'↗';color:#79bdff;padding-right:12px}
.chapter-flow{display:flex;justify-content:space-between;gap:10px;margin:42px 0 30px}
.flow-step{flex:1;border-top:1px solid #6aa6ee;padding:16px 6px 0 0;color:#e1edff;font:400 12px/1.7 var(--serif)}.flow-step b{display:block;font:22px Georgia,serif;color:#8cbfff;margin-bottom:7px}
/* Works honest, high-design previews */
.works-intro{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:end}.works-intro p{color:#cbd9ef;font:400 15px/2.25 var(--serif)}
.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.work-concept{border:1px solid var(--divider);overflow:hidden;background:#081832}.work-picture{height:250px;background-size:cover;background-position:center;position:relative}.work-picture:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#07132c,transparent 80%)}
.work-desc{padding:29px}.work-desc h3{font:500 23px var(--serif);margin:12px 0}.work-desc p{font:400 13px/2 var(--serif);color:#b7c9e4;margin:0 0 20px}
.work-tag{font:11px Georgia,serif;letter-spacing:.17em;color:#9bcbff}
.works-note{margin-top:48px;border-left:1px solid #79b8ff;padding-left:20px;color:#aebfdb;font-size:13px;line-height:2}
/* Contact form, real Netlify support */
.contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(40px,7vw,120px)}
.contact-aside h2{font:500 clamp(33px,3.1vw,46px)/1.55 var(--serif);margin:17px 0}
.contact-aside p{font:400 14px/2.25 var(--serif);color:#c2d0e5}
.contact-form{border:1px solid rgba(136,193,250,.36);padding:clamp(25px,4vw,55px);background:linear-gradient(140deg,rgba(11,35,77,.73),rgba(4,12,30,.65))}
.form-field{margin-bottom:24px}.form-field label{display:block;margin-bottom:9px;font-size:12px;color:#d8e6fa;letter-spacing:.08em}.form-field .req{font-size:10px;color:#7dbbff;margin-left:9px}
.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select{width:100%;background:rgba(3,10,26,.88);border:1px solid rgba(116,161,223,.42);color:#fff;font:400 14px var(--sans);padding:15px 16px;border-radius:0;outline:none;min-height:50px;appearance:none}
.contact-form select{cursor:pointer}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#81c5ff;box-shadow:0 0 0 2px rgba(45,127,253,.15)}
.contact-form textarea{min-height:150px;resize:vertical;line-height:1.7}.check-line{display:flex;gap:13px;align-items:flex-start;font:400 12px/1.8 var(--serif);color:#d1dfef}.check-line input{accent-color:#4398ff;min-width:17px;width:17px;height:17px;margin:4px 0 0}
.submit-button{margin-top:26px;border:1px solid #95cbff;background:linear-gradient(90deg,#115ac4,#072b79);color:#fff;font:500 13px var(--sans);letter-spacing:.12em;min-height:55px;padding:12px 35px;cursor:pointer;width:100%;box-shadow:inset 0 0 21px rgba(123,197,255,.25)}
.submit-button:hover{background:#2471db}.submit-button:disabled{opacity:.45;cursor:not-allowed}
.form-note{font:12px/1.8 var(--sans);color:#9cafca;margin-top:17px}.form-alert{margin-top:14px;color:#b8dcff;font-size:12px;line-height:1.8}
/* Shared footer */
.footer-full{border-top:1px solid rgba(143,185,239,.32);background:#020713;padding:72px 0 26px}
.footer-top{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:start;padding-bottom:65px}.footer-brand{display:flex;align-items:center;gap:16px}.footer-brand img{width:53px;height:62px;object-fit:contain}.footer-brand .ja{font:500 25px var(--serif);letter-spacing:.2em}.footer-brand .en{font:11px Georgia,serif;letter-spacing:.46em;color:#b7d3fc}
.footer-tagline{font:400 15px/2 var(--serif);color:#abc5e9;margin-top:28px}.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.footer-nav a{font:12px Georgia,serif;letter-spacing:.12em;color:#c4d6ee}.footer-nav a:hover{color:#89c8ff}
.footer-end{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(116,160,211,.18);padding-top:24px;color:#829bbd;font:11px Georgia,serif;letter-spacing:.16em}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .85s ease, transform .85s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){
 .values-grid{grid-template-columns:repeat(3,1fr)}.value-card{height:300px}.value-card h3{font-size:18px}
 .founder-layout{grid-template-columns:.62fr 1.38fr;gap:35px}.founder-art{height:350px}
 .visual-service{min-height:320px}.visual-service h3{font-size:23px}.visual-service-content{padding:21px}
}
@media(max-width:850px){
 .services-showcase{grid-template-columns:1fr 1fr}.visual-service:last-child{grid-column:span 2}.visual-service{min-height:310px}
 .mission-wave .section-max{grid-template-columns:1fr 1fr;gap:0}.mission-wave .flame-showpiece{height:310px}
 .values-grid{grid-template-columns:repeat(3,1fr)}.inner-hero{height:500px}
 .founder-layout{grid-template-columns:1fr}.founder-pin{position:static;display:grid;grid-template-columns:1fr 240px;gap:30px}.founder-art{height:270px;margin:0}
 .manifesto-grid{grid-template-columns:1fr;gap:25px}.sticky-side{position:static}
 .chapter-top{grid-template-columns:1fr}.chapter-art{height:320px}
 .works-grid{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1fr}
}
@media(max-width:600px){
 .section-max{padding:0 22px}.spacious{padding-top:75px;padding-bottom:76px}.headline{font-size:clamp(26px,7.3vw,38px)}
 .kicker{font-size:10px}.section-title-row{display:block;margin-bottom:27px}
 .services-display{padding:70px 0 75px}.services-display .headline{font-size:clamp(19px,5.3vw,25px);line-height:1.8}
 .services-showcase{grid-template-columns:1fr;gap:13px}.visual-service:last-child{grid-column:auto}.visual-service{min-height:300px}.visual-service h3{font-size:25px}.visual-service-content{padding:22px}
 .mission-wave{padding:75px 0}.mission-wave .section-max{grid-template-columns:1fr}.mission-wave .headline{font-size:35px}.mission-wave .flame-showpiece{height:210px;order:-1;margin-bottom:5px}
 .principles-grid{grid-template-columns:1fr}.principle,.principle+.principle{padding:40px 0;border-left:0}.principle+.principle{border-top:1px solid var(--divider)}.principle h2{font-size:28px}
 .closing-banner{min-height:350px}.closing-banner .section-max{display:block}.closing-banner h2{font-size:31px;margin:15px 0 30px}
 .inner-hero{height:480px;min-height:0}.inner-hero .section-max{padding-top:75px}.inner-hero h1{font-size:44px}.inner-hero h1.one-line{font-size:clamp(23px,6.2vw,35px);letter-spacing:-.03em;white-space:normal}.inner-hero .intro{font-size:13px}
 .manifesto-grid,.insight-grid,.solution-grid,.future-panel .section-max{grid-template-columns:1fr}.insight-grid{gap:15px}.insight-card{padding:29px;min-height:250px}.solution-card{padding:27px;min-height:0}.our-role{padding:28px}
 .values-grid{grid-template-columns:repeat(2,1fr);gap:9px}.value-card{height:310px}.value-card h3{font-size:15px;white-space:normal}.value-card div{padding:13px}.value-card p{font-size:11px}
 .founder-pin{grid-template-columns:1fr}.founder-art{height:250px;margin:4px 0 12px}.story-prose{font-size:14px;line-height:2.25}
 .chapter-top{gap:24px}.chapter-art{height:280px}.chapter-cols{grid-template-columns:1fr}.chapter-box{padding:26px}.chapter-flow{flex-wrap:wrap;gap:12px}.flow-step{flex:1 1 calc(50% - 12px)}
 .works-intro,.works-grid{grid-template-columns:1fr}.work-picture{height:235px}.contact-form{padding:25px}
 .footer-top{grid-template-columns:1fr;gap:42px}.footer-nav{gap:15px}.footer-end{font-size:9px}.footer-full{padding-top:55px}
}
@media(max-width:375px){.value-card{height:285px}.inner-hero h1.one-line{font-size:22px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}}

.footer-full{display:block}.footer-full>.section-max{width:100%}
.reveal,.reveal.visible{opacity:1;transform:none}
.visual-service:before{filter:brightness(1.32) saturate(1.4)}.visual-service:after{background:linear-gradient(0deg,rgba(1,6,18,.97) 0%,rgba(2,8,22,.56) 45%,rgba(2,8,22,.01) 100%)}

/* V7 requested revisions */
.home-site .fire-line .fire-spray{left:-40px;transform:rotate(-10deg)}
.home-site .visual-service:nth-child(1):before{background-image:url('assets/service-ax-ref.webp');background-position:right center}
.home-site .visual-service:nth-child(2):before{background-image:url('assets/service-sales-ref.webp');background-position:right center}
.home-site .visual-service:nth-child(3):before{background-image:url('assets/service-marketing-ref.webp');background-position:right center}
.home-site .mission-wave .flame-showpiece{background-image:url('assets/mission-wave-transparent.png');background-size:contain;background-color:transparent;mix-blend-mode:normal;filter:none}
.home-site .closing-banner:before{background-image:url('assets/home-footer-ref.webp');background-position:center 53%}
.about-site .about-hero:before{background-image:url('assets/about-header-reference.webp');background-position:75% center}
.about-site .closing-banner:before{background-image:url('assets/about-footer.webp')}
.service-site .service-hero:before{background-image:url('assets/service-header.webp')}
.service-site .closing-banner:before{background-image:url('assets/service-footer.webp')}
.about-site .founder-art:before,.about-site .founder-art:after{display:none}
.about-site .founder-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.signature{gap:24px;align-items:center}
.signature-name{font-family:'Yuji Syuku','Klee One','Klee','HanziPen SC','Yu Kyokasho','Hiragino Mincho ProN',cursive;letter-spacing:.12em;font-weight:400;transform:rotate(-3deg);font-style:normal}
@media(min-width:1024px){.visual-service:nth-child(3) h3{white-space:nowrap;font-size:clamp(19px,1.8vw,28px);letter-spacing:0}.about-site .one-line{white-space:nowrap}}
@media(max-width:700px){.home-site .fire-line .fire-spray{left:-27px}}

/* Targeted review adjustments — 2026-10-17 */
@font-face{font-family:Allura;src:url('assets/Allura-Regular.ttf') format('truetype');font-display:swap;font-style:normal;font-weight:400}
.home-site .mission-wave .flame-showpiece{-webkit-mask-image:radial-gradient(ellipse at center,#000 35%,rgba(0,0,0,.9) 53%,transparent 73%);mask-image:radial-gradient(ellipse at center,#000 35%,rgba(0,0,0,.9) 53%,transparent 73%)}
.about-site .manifesto-copy .thought-line{display:block;text-wrap:pretty}
.about-site .direction-title span{display:block}
.about-site .our-role{position:relative;margin-top:68px;padding:44px 0 12px;border:0;background:none;text-align:center}
.about-site .our-role:before{content:"";position:absolute;top:0;left:50%;width:96px;height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#a7d8ff,transparent);box-shadow:0 0 22px #579aff}
.about-site .our-role .kicker{margin-bottom:22px}
.about-site .our-role strong{font-size:clamp(21px,2.35vw,34px);line-height:1.9;letter-spacing:.025em}
.about-site .founder-art{height:auto;max-width:340px;width:100%;margin:30px auto 0;border:0;background:transparent;overflow:visible}
.about-site .founder-art img{width:100%;height:auto;object-fit:contain;object-position:center;filter:saturate(.85);-webkit-mask-image:linear-gradient(0deg,transparent,#000 16%,#000 92%,transparent);mask-image:linear-gradient(0deg,transparent,#000 16%,#000 92%,transparent)}
.about-site .signature{flex-direction:column;align-items:flex-end;gap:4px}
.about-site .signature-name{font:400 clamp(48px,4.3vw,66px)/1.2 Allura,cursive;letter-spacing:0;transform:none;color:#e3efff}
.about-site .signature-small{font-size:13px;letter-spacing:.16em}
.service-site .chapter-art{background-position:right center}
@media(max-width:1100px) and (min-width:601px){.about-site .direction-title{font-size:clamp(23px,2.4vw,30px)}}
@media(max-width:850px){.about-site .founder-art{max-width:240px;margin-top:0}}
@media(max-width:600px){.about-site .direction-title{font-size:clamp(21px,6vw,26px)}.about-site .our-role{margin-top:46px;padding:32px 0 0}.about-site .our-role strong{font-size:21px}.about-site .founder-art{max-width:280px;margin:14px auto 0}.about-site .manifesto-copy .thought-line{margin-bottom:.2em}}

/* Review: ABOUT details, WORKS and CONTACT — 2026-10-18 */
.about-site .solution-card{container-type:inline-size}
.about-site .direction-title{font-size:clamp(16px,5.7cqw,32px);white-space:nowrap;letter-spacing:0}
.about-site .direction-title span{display:inline}
.about-site .founder-art img{transform:translateX(10px)}
.works-site .work-picture{background-position:right center}
.works-site .closing-banner:before{background-image:url('assets/works-footer-bridge.webp');background-position:center 53%}
.contact-site .contact-hero:before{background-image:url('assets/contact-header-ocean.webp');background-position:65% center}
.contact-site .select-shell{position:relative}
.contact-site .select-shell:before{content:"";position:absolute;left:18px;top:19px;width:8px;height:8px;border-right:1.5px solid #9ecfff;border-bottom:1.5px solid #9ecfff;transform:rotate(45deg);pointer-events:none;z-index:1}
.contact-site .select-shell select{padding-left:44px}
@media(max-width:600px){.about-site .direction-title{white-space:normal;font-size:clamp(21px,6vw,26px)}.about-site .direction-title span{display:inline-block}.about-site .founder-art img{transform:translateX(7px)}.contact-site .contact-hero:before{background-position:68% center}.works-site .closing-banner:before{background-position:70% center}}
.service-site #marketing .chapter-top > div:first-child{container-type:inline-size}
.service-site #marketing .chapter-top h3{font-size:min(28px,4.7cqw);white-space:nowrap;letter-spacing:0}
