@import "https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;700;800&family=DM+Sans:wght@300;400;500;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#060608;--bg2:#0c0c10;--text:#ede8e0;--muted:#6b6660;--accent:#c8a96e;--accent2:#8b6f47;--border:#c8a96e1f;--border2:#ffffff0f;--font-jp:"Shippori Mincho", serif;--font-en:"DM Sans", sans-serif}body:before{content:"";z-index:9999;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:fixed;inset:0}body{background:var(--bg);color:var(--text);font-family:var(--font-en);-webkit-font-smoothing:antialiased;line-height:1.75}#nav{z-index:200;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border2);background:#060608bf;padding:1.4rem 3rem;position:fixed;top:0;left:0;right:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.logo{font-family:var(--font-jp);letter-spacing:.08em;color:var(--text);background:linear-gradient(135deg, #ede8e0, var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.4rem;font-weight:800;text-decoration:none}nav a{color:var(--muted);letter-spacing:.06em;margin-left:2.5rem;font-size:.82rem;font-weight:500;text-decoration:none;transition:color .25s}nav a:hover{color:var(--text)}.nav-active{color:var(--accent)}.hamburger{cursor:pointer;z-index:200;background:0 0;border:none;flex-direction:column;gap:5px;padding:.4rem;display:none}.hamburger span{background:var(--text);transform-origin:50%;width:22px;height:1.5px;transition:all .3s;display:block}.hamburger.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}@media (width<=1100px){nav#nav-links{display:none}.hamburger{display:flex}}.mobile-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:150;opacity:0;pointer-events:none;background:#060608f7;justify-content:center;align-items:center;transition:opacity .35s;display:flex;position:fixed;inset:0}.mobile-menu.open{opacity:1;pointer-events:all}.mobile-menu-inner{flex-direction:column;align-items:center;gap:2rem;transition:transform .35s;display:flex;transform:translateY(16px)}.mobile-menu.open .mobile-menu-inner{transform:translateY(0)}.mobile-link{font-family:var(--font-jp);color:var(--text);letter-spacing:.05em;font-size:1.6rem;font-weight:700;text-decoration:none;transition:color .2s}.mobile-link:hover{color:var(--accent)}.mobile-cta{text-align:center;width:200px;margin-top:1rem}.btn{font-family:var(--font-en);letter-spacing:.08em;padding:.9rem 2.2rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary{background:var(--accent);color:#060608;font-weight:700}.btn-primary:hover{background:#d4b87a;transform:translateY(-1px);box-shadow:0 8px 32px #c8a96e4d}.btn-outline{color:var(--accent);border:1px solid #c8a96e59}.btn-outline:hover{border-color:var(--accent);background:#c8a96e14}#hero{text-align:center;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-video-bg{z-index:0;position:absolute;inset:0}.hero-video-bg video{object-fit:cover;width:100%;height:100%}.hero-overlay{background:linear-gradient(#06060899 0%,#06060833 50%,#060608d9 100%),radial-gradient(#0000 40%,#06060880 100%);position:absolute;inset:0}.hero-inner{z-index:1;justify-content:center;align-items:center;width:100%;min-width:0;max-width:none;min-height:100vh;padding:2rem;display:flex;position:relative}.hero-text-wrap{max-width:820px;margin:0 auto}#hero h1{font-family:var(--font-jp);letter-spacing:.04em;text-shadow:0 4px 40px #0009;margin-bottom:1.8rem;font-size:clamp(2.4rem,6vw,5rem);font-weight:800;line-height:1.2}#hero p{color:#ede8e0b8;text-shadow:0 2px 16px #000c;overflow-wrap:anywhere;max-width:680px;margin-bottom:3rem;margin-left:auto;margin-right:auto;font-size:1rem;font-weight:300;line-height:2}.hero-btns{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.initiative-preview-section{background:var(--bg);border-top:1px solid var(--border2)}.initiative-preview-head{grid-template-columns:minmax(0,.9fr) minmax(280px,.72fr);align-items:end;gap:clamp(2rem,6vw,5rem);margin-bottom:3rem;display:grid}.initiative-preview-head h2{margin-bottom:0}.initiative-preview-summary{flex-direction:column;align-items:flex-start;gap:.85rem;min-width:0;display:flex}.initiative-preview-summary p{max-width:520px;color:var(--muted);font-size:.92rem;font-weight:300;line-height:2}.initiative-list-link{color:var(--accent);letter-spacing:.05em;border-bottom:1px solid #c8a96e73;font-size:.78rem;font-weight:600;text-decoration:none}.initiative-list-link:hover{color:var(--text);border-bottom-color:#ede8e080}.initiative-preview-card{border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);color:var(--text);grid-template-columns:8rem minmax(0,1fr) minmax(240px,320px);align-items:center;gap:clamp(1.5rem,4vw,3rem);padding:2rem 0;text-decoration:none;transition:border-color .25s,background .25s;display:grid}.initiative-preview-card:hover{background:#c8a96e06;border-color:#c8a96e3d}.initiative-card-meta{min-width:0;color:var(--accent);font-family:var(--font-en);letter-spacing:.12em;text-transform:uppercase;flex-direction:column;gap:.45rem;font-size:.72rem;font-weight:700;display:flex}.initiative-card-meta span:last-child{color:var(--muted);letter-spacing:.08em;text-transform:none;font-weight:500}.initiative-card-main{min-width:0}.initiative-card-main h3{color:var(--text);font-family:var(--font-jp);margin-bottom:.9rem;font-size:clamp(1.35rem,2.4vw,2rem);font-weight:800;line-height:1.32}.initiative-card-main h3 span,.initiative-card-main p span{display:block}.initiative-card-main p{max-width:560px;color:var(--muted);font-size:.9rem;font-weight:300;line-height:1.9}.initiative-card-link{width:fit-content;color:var(--accent);letter-spacing:.04em;border-bottom:1px solid #c8a96e8c;margin-top:1.1rem;font-size:.82rem;font-weight:600;display:inline-block}.initiative-card-visual{aspect-ratio:16/9;border:1px solid var(--border2);background:var(--bg2);min-width:0;position:relative;overflow:hidden}.initiative-card-visual img{object-fit:cover;object-position:65% center;opacity:.88;width:100%;height:100%;transition:opacity .25s,transform .35s;display:block}.initiative-preview-card:hover .initiative-card-visual img{opacity:1;transform:scale(1.02)}.project-hero{background:linear-gradient(110deg, #060608f5 0%, #060608e6 48%, #0c0c10b8 100%), radial-gradient(circle at 84% 22%, #14a9e73d, transparent 24rem), radial-gradient(circle at 18% 82%, #c8a96e29, transparent 22rem), var(--bg);align-items:center;min-height:74vh;padding:10rem 3rem 7rem;display:flex;position:relative;overflow:hidden}.project-hero-inner{z-index:1;position:relative}.project-hero-copy{max-width:760px}.project-hero h1{font-family:var(--font-jp);letter-spacing:.03em;margin-bottom:1.6rem;font-size:clamp(2.3rem,5vw,4.6rem);font-weight:800;line-height:1.24}.project-hero h1 span,.project-section-head h2 span{display:block}.project-hero-copy p{color:#ede8e0bf;max-width:600px;margin-bottom:2.6rem;font-size:.98rem;font-weight:300;line-height:2}.project-hero .hero-btns{justify-content:flex-start}.project-feature-section,.project-approach-section{background:var(--bg)}.project-section-head{max-width:760px;margin-bottom:3rem}.project-section-head.compact{margin-bottom:2rem}.project-section-head h2{margin-bottom:1.4rem}.project-section-head p{color:var(--muted);font-size:.95rem;font-weight:300;line-height:2}.project-list{gap:2rem;display:grid}.project-groups{gap:4rem;display:grid}.project-group{gap:1.6rem;display:grid}.project-group-head{align-items:center;gap:1.2rem;display:flex}.project-group-head:after{content:"";background:var(--border2);flex:1;height:1px}.project-group-head h3{color:var(--text);font-family:var(--font-jp);letter-spacing:.04em;margin:0;font-size:1.1rem;font-weight:700}.project-year-block{grid-template-columns:5rem minmax(0,1fr);align-items:start;gap:1.6rem;display:grid}.project-year-label{border-top:1px solid var(--accent);color:var(--accent);font-family:var(--font-en);letter-spacing:.12em;padding-top:.8rem;font-size:.82rem;font-weight:700}.project-empty{border:1px solid var(--border2);padding:1.4rem 1.6rem}.project-empty p{color:var(--muted);font-size:.86rem;line-height:1.8}.project-card{--project-accent:var(--accent);--project-accent-2:#d4b87a;--project-ink:var(--text);--project-muted:var(--muted);--project-line:var(--border2);--project-surface:var(--bg2);--project-card-bg:var(--project-surface);--project-bg-position:center;--project-card-shadow:0 24px 80px #0000003d;--project-copy-bg:transparent;--project-primary-bg:var(--accent);--project-primary-hover-bg:#d4b87a;--project-primary-color:#060608;border:1px solid var(--project-line);background:var(--project-card-bg);background-position:var(--project-bg-position);min-height:420px;box-shadow:var(--project-card-shadow);background-size:cover;display:block;position:relative;overflow:hidden}.project-card:before{content:"";background:linear-gradient(90deg, var(--project-accent), var(--project-accent-2));z-index:1;height:3px;position:absolute;top:0;left:0;right:0}.project-card:after{content:"";opacity:.82;pointer-events:none;z-index:1;background:linear-gradient(#ffffff14,#0000 32%),repeating-linear-gradient(-7deg,#ffffff09 0 1px,#0000 1px 16px);position:absolute;inset:3px 0 0}.project-card-copy{z-index:2;background:var(--project-copy-bg);flex-direction:column;justify-content:center;width:min(100%,600px);min-height:420px;padding:clamp(2rem,5vw,3.6rem);display:flex;position:relative}.project-card-copy h3{color:var(--project-ink);font-family:var(--font-jp);letter-spacing:.02em;line-break:strict;margin-bottom:1.2rem;font-size:clamp(1.55rem,2.7vw,2.25rem);font-weight:800;line-height:1.28}.project-card-copy h3 span{white-space:nowrap;display:block}.project-card-copy p{max-width:520px;color:var(--project-muted);font-size:.94rem;font-weight:300;line-height:2}.project-card-copy p span{display:block}.project-card-link{background:var(--project-primary-bg);width:min(100%,180px);color:var(--project-primary-color);border:1px solid #ffffff6b;justify-content:space-between;align-items:center;margin-top:1.8rem;padding:.95rem 1rem;font-size:.82rem;font-weight:700;text-decoration:none;transition:background .25s,transform .25s;display:inline-flex;position:relative}.project-card-link:after{content:"→";font-family:var(--font-en);font-size:1rem}.project-card-link:hover{background:var(--project-primary-hover-bg);transform:translate(2px)}.project-card-link:focus-visible{outline:2px solid var(--project-accent-2);outline-offset:3px}.project-card-movie{--project-accent:#ef5b5b;--project-accent-2:#13aee8;--project-ink:#fffaf0;--project-muted:#fffaf0c7;--project-line:#66dcff4d;--project-surface:#10244c;--project-bg-position:center right;--project-card-bg:linear-gradient(90deg, #050f20f5 0%, #071f3ce6 32%, #083a6670 48%, #083a6614 66%, #083a6605 100%), linear-gradient(180deg, #06060814, #06060847), url(/images/movie-key-visual-bg.png);--project-card-shadow:0 28px 90px #13aee821;--project-copy-bg:radial-gradient(circle at 0% 0%, #fffaf01a, transparent 16rem);--project-primary-bg:#fffaf0;--project-primary-hover-bg:#ffd56b;--project-primary-color:#153052}.project-card-movie .project-card-copy h3{text-shadow:0 3px 18px #06060847}.project-principles{border:1px solid var(--border2);background:var(--border2);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.project-principle{background:var(--bg2);flex-direction:column;min-height:260px;padding:2.4rem 2rem;display:flex}.project-principle span{color:var(--accent);letter-spacing:.16em;opacity:.62;margin-bottom:1.4rem;font-size:.68rem;font-weight:700}.project-principle h3{font-family:var(--font-jp);margin-bottom:.9rem;font-size:1.02rem;line-height:1.5}.project-principle p{color:var(--muted);font-size:.86rem;font-weight:300;line-height:1.9}.hero-title{overflow:visible}.hero-line{opacity:0;animation:.9s cubic-bezier(.16,1,.3,1) forwards heroLineIn;display:block;transform:translateY(24px)}.hero-line:first-child{animation-delay:.2s}.hero-line:nth-child(2){animation-delay:.45s}.hero-sub{opacity:0;animation:.9s cubic-bezier(.16,1,.3,1) .7s forwards heroLineIn;transform:translateY(16px)}.hero-btns{opacity:0;animation:.9s cubic-bezier(.16,1,.3,1) .9s forwards heroLineIn;transform:translateY(12px)}@keyframes heroLineIn{to{opacity:1;transform:translateY(0)}}.scroll-indicator{z-index:1;flex-direction:column;align-items:center;gap:.6rem;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.scroll-indicator span{letter-spacing:.2em;color:#ede8e059;text-transform:uppercase;font-size:.65rem}.scroll-line{background:#ede8e01a;width:1px;height:48px;position:relative;overflow:hidden}.scroll-dot{background:var(--accent);width:1px;height:16px;animation:1.8s ease-in-out infinite scrollDown;position:absolute;top:-16px}@keyframes scrollDown{0%{opacity:1;top:-16px}80%{opacity:1;top:48px}to{opacity:0;top:48px}}section{padding:8rem 3rem}#about{background:var(--bg);position:relative;overflow:hidden}#about:before{content:"";opacity:.35;z-index:0;background-image:url(/images/about-bg.jpg);background-position:50%;background-size:cover;position:absolute;inset:0}#about:after{content:"";z-index:0;background:linear-gradient(90deg,#060608d9 0%,#06060866 50%,#060608d9 100%);position:absolute;inset:0}#about .section-inner{z-index:1;position:relative}#services{background:var(--bg2)}#news{background:var(--bg)}#cta{background:var(--bg2)}.section-inner{max-width:1200px;margin:0 auto}.section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:1.2rem;padding-bottom:.6rem;font-size:.7rem;font-weight:500;display:inline-block}section h2{font-family:var(--font-jp);letter-spacing:.02em;margin-bottom:3rem;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;line-height:1.3}.about-layout{grid-template-columns:1fr 1.4fr;align-items:start;gap:6rem;display:grid}.about-left h2{margin-bottom:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.25}.about-right{flex-direction:column;gap:1.5rem;display:flex}.about-body{color:#ede8e0d9;font-size:.97rem;font-weight:300;line-height:2.1}.service-block{border-top:1px solid var(--border2);padding:3.5rem 0}.service-block:last-child{border-bottom:1px solid var(--border2)}.service-block-header{align-items:baseline;gap:1.4rem;margin-bottom:1.4rem;display:flex}.service-num{color:var(--accent);letter-spacing:.15em;font-size:.68rem;font-weight:500}.service-block h3{font-family:var(--font-jp);letter-spacing:.02em;font-size:1.3rem;font-weight:700}.service-block>p{color:var(--muted);max-width:620px;margin-bottom:2.5rem;font-size:.92rem;font-weight:300;line-height:2}.demo-video{object-fit:cover;border:1px solid var(--border);width:100%;max-height:480px;margin-top:1.5rem}.gallery-grid{background:var(--border2);border:1px solid var(--border2);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:2rem;display:grid}.gallery-item{background:var(--bg);aspect-ratio:16/9;position:relative;overflow:hidden}.gallery-item video{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.gallery-item:hover video{transform:scale(1.03)}.gallery-label{letter-spacing:.1em;color:#ede8e0b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#06060899;padding:.3rem .7rem;font-size:.72rem;position:absolute;bottom:.8rem;left:.8rem}.persona-grid{background:var(--border2);border:1px solid var(--border2);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:2rem;display:grid}.persona-card{background:var(--bg2);flex-direction:column;gap:1rem;padding:2.5rem 2rem;transition:background .25s;display:flex;position:relative}.persona-card:hover{background:#c8a96e0a}.persona-card:before{content:"";background:linear-gradient(to right, var(--accent), transparent);opacity:0;height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.persona-card:hover:before{opacity:1}.persona-num{letter-spacing:.15em;color:var(--accent);opacity:.6;font-size:.68rem;font-weight:600}.persona-card h4{font-family:var(--font-jp);color:var(--text);font-size:1.1rem;font-weight:700}.persona-card p{color:var(--muted);flex:1;font-size:.85rem;font-weight:300;line-height:1.9}.persona-tags{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;padding:0;list-style:none;display:flex}.persona-tags li{letter-spacing:.08em;color:var(--accent);border:1px solid #c8a96e40;padding:.25rem .7rem;font-size:.72rem;font-weight:500;transition:all .2s}.persona-card:hover .persona-tags li{border-color:#c8a96e80}.features-grid{background:var(--border2);border:1px solid var(--border2);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;margin-top:2rem;display:grid}.feature-item{background:var(--bg2);padding:2rem 1.8rem;transition:background .25s}.feature-item:hover{background:#c8a96e0a}.feature-item h4{font-family:var(--font-jp);color:var(--text);margin-bottom:.7rem;font-size:.95rem;font-weight:700}.feature-item p{color:var(--muted);font-size:.84rem;font-weight:300;line-height:1.8}.steps{flex-wrap:nowrap;align-items:center;gap:0;margin-top:2.5rem;display:flex}.step{border:1px solid var(--border2);text-align:center;flex:1;padding:2.5rem 2rem;transition:border-color .3s,background .3s;position:relative}.step:hover{background:#c8a96e08;border-color:#c8a96e4d}.step-icon{color:var(--accent);opacity:.6;justify-content:center;margin-bottom:1.2rem;display:flex}.step-num{letter-spacing:.2em;color:var(--accent);opacity:.5;margin-bottom:.8rem;font-size:.65rem;font-weight:600;display:block}.step h4{font-family:var(--font-jp);color:var(--text);margin-bottom:.6rem;font-size:.95rem;font-weight:700}.step p{color:var(--muted);font-size:.8rem;font-weight:300;line-height:1.7}.step-connector{color:var(--accent);opacity:.3;flex-direction:column;flex-shrink:0;align-items:center;gap:.3rem;padding:0 .8rem;display:flex}.reasons{margin-top:2rem}.reason-item{border-bottom:1px solid var(--border2);cursor:default;grid-template-columns:80px 1fr auto;align-items:center;gap:2.5rem;padding:2.2rem 0;transition:background .3s;display:grid}.reason-item:first-child{border-top:1px solid var(--border2)}.reason-item:hover{background:#c8a96e08}.reason-left{flex-direction:column;align-items:center;gap:.8rem;display:flex}.reason-num{color:var(--accent);letter-spacing:.15em;font-size:.68rem;font-weight:500}.reason-line{background:linear-gradient(to bottom, var(--accent), transparent);opacity:.4;width:1px;height:32px}.reason-content h4{font-family:var(--font-jp);color:var(--text);margin-bottom:.5rem;font-size:1.05rem;font-weight:700}.reason-content p{color:var(--muted);max-width:520px;font-size:.87rem;font-weight:300;line-height:1.9}.reason-keyword{letter-spacing:.2em;color:var(--accent);opacity:.25;writing-mode:vertical-rl;text-orientation:mixed;font-size:.65rem;font-weight:700;transition:opacity .3s}.reason-item:hover .reason-keyword{opacity:.6}.news-desc{color:var(--muted);max-width:640px;margin-bottom:3rem;font-size:.92rem;font-weight:300;line-height:2}.news-item-placeholder{text-align:center;color:var(--muted);letter-spacing:.08em;border:1px dashed #c8a96e33;padding:4rem;font-size:.82rem}.news-list{border-top:1px solid var(--border2)}.news-item{border-bottom:1px solid var(--border2);grid-template-columns:9rem minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);padding:2rem 0;display:grid}.news-item-meta{color:var(--accent);font-family:var(--font-en);letter-spacing:.12em;flex-direction:column;gap:.45rem;font-size:.72rem;font-weight:700;display:flex}.news-item-meta span{color:var(--muted);letter-spacing:.08em;font-weight:500}.news-item-content{min-width:0;max-width:760px}.news-item-content h3{color:var(--text);font-family:var(--font-jp);margin-bottom:.8rem;font-size:clamp(1.15rem,2.2vw,1.6rem);font-weight:800;line-height:1.45}.news-item-content p{color:var(--muted);font-size:.9rem;font-weight:300;line-height:2}.news-item-link{width:fit-content;color:var(--accent);letter-spacing:.04em;border-bottom:1px solid #c8a96e8c;margin-top:1.2rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-block}.news-item-link:hover{color:var(--text);border-bottom-color:#ede8e080}#cta{text-align:center;position:relative;overflow:hidden}#cta:before{content:"";opacity:.08;z-index:0;background-image:url(/images/about-bg.jpg);background-position:50%;background-size:cover;position:absolute;inset:0}#cta:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#c8a96e12 0%,#0000 70%);width:700px;height:700px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cta-inner{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.cta-label-row{align-items:center;gap:1.5rem;width:100%;max-width:500px;margin-bottom:2.5rem;display:flex}.cta-line{background:linear-gradient(90deg,#0000,#c8a96e4d,#0000);flex:1;height:1px}#cta h2{font-family:var(--font-jp);letter-spacing:.03em;margin-bottom:1.2rem;font-size:clamp(1.8rem,4vw,3.2rem);font-weight:800;line-height:1.4}#cta p{color:var(--muted);margin-bottom:3rem;font-size:.95rem;font-weight:300}.cta-btns{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:2.5rem;display:flex}.cta-links{color:var(--muted);align-items:center;gap:1rem;font-size:.78rem;display:flex}.cta-links a{color:var(--muted);letter-spacing:.06em;text-decoration:none;transition:color .2s}.cta-links a:hover{color:var(--accent)}.cta-links span{opacity:.3}footer{border-top:1px solid var(--border2);padding:5rem 3rem 3rem;position:relative}footer:before{content:"";background:linear-gradient(90deg,#0000,#c8a96e4d,#0000);height:1px;position:absolute;top:0;left:0;right:0}.footer-inner{flex-direction:column;gap:4rem;display:flex}.footer-top{grid-template-columns:1fr 1.5fr;align-items:start;gap:4rem;display:grid}.footer-brand .logo{font-family:var(--font-jp);letter-spacing:.08em;background:linear-gradient(135deg, #ede8e0, var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.8rem;font-size:1.4rem;font-weight:800}.footer-tagline{font-family:var(--font-jp);color:var(--muted);letter-spacing:.05em;max-width:260px;font-size:.85rem;line-height:1.8}.footer-company-info{flex-direction:column;gap:.8rem;max-width:320px;margin-top:1.8rem;display:flex}.footer-company-info div{grid-template-columns:4.5rem 1fr;gap:.8rem;display:grid}.footer-company-info dt{color:var(--accent);letter-spacing:.12em;font-size:.68rem;font-weight:600}.footer-company-info dd{color:var(--muted);margin:0;font-size:.78rem;line-height:1.8}.footer-company-info a{color:var(--muted);text-decoration:none;transition:color .2s}.footer-company-info a:hover{color:var(--accent)}.footer-nav{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.footer-nav-col{flex-direction:column;gap:.9rem;display:flex}.footer-nav-label{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);opacity:.6;margin-bottom:.3rem;font-size:.68rem;font-weight:600}.footer-nav-col a{color:var(--muted);letter-spacing:.04em;font-size:.85rem;text-decoration:none;transition:color .2s}.footer-nav-col a:hover{color:var(--text)}.footer-bottom{border-top:1px solid var(--border2);justify-content:space-between;align-items:center;padding-top:2rem;display:flex}.copy{color:#3a3836;letter-spacing:.05em;font-size:.75rem}.footer-bottom-links{gap:1.5rem;display:flex}.footer-bottom-links a{color:#3a3836;letter-spacing:.05em;font-size:.75rem;text-decoration:none;transition:color .2s}.footer-bottom-links a:hover{color:var(--muted)}.nav-cta{letter-spacing:.08em;border:1px solid #c8a96e66;padding:.5rem 1.2rem;font-size:.82rem;font-weight:600;display:inline-block;color:var(--accent)!important;transition:all .25s!important}.nav-cta:hover{border-color:var(--accent)!important;background:#c8a96e1a!important}#nav{border-bottom:1px solid #0000;transition:background .4s,border-color .4s;background:#06060800!important}#nav.scrolled{border-bottom-color:var(--border2);background:#060608e0!important}@media (width>=1400px){.section-inner{max-width:1320px}#hero h1{font-size:5.5rem}}@media (width<=1199px){section{padding:6rem 2.5rem}.initiative-preview-card{grid-template-columns:7rem minmax(0,1fr) minmax(220px,280px);gap:2rem}.project-hero{padding:9rem 2.5rem 6rem}.project-card{min-height:380px}.project-card-copy{width:min(48%,440px);min-height:380px;padding:2.6rem 2.8rem}.project-card-copy h3{font-size:clamp(1.55rem,2.5vw,2rem)}.project-card-copy p{max-width:360px;font-size:.9rem}#nav{padding:1.2rem 2.5rem}.section-inner{max-width:100%}#hero h1{font-size:clamp(2rem,5vw,3.8rem)}.features-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=899px){section{padding:5rem 2rem}.initiative-preview-head{grid-template-columns:1fr;gap:.5rem}.initiative-preview-card{grid-template-columns:1fr minmax(220px,280px);gap:1.6rem}.initiative-card-meta{flex-flow:wrap;grid-column:1/-1;gap:.8rem}.project-hero{padding:8.5rem 2rem 5rem}.project-card{min-height:420px}.project-card-copy{width:min(52%,390px);min-height:420px;padding:2.2rem}.project-card:after{background:linear-gradient(#ffffff1a,#0000 36%),repeating-linear-gradient(-7deg,#ffffff09 0 1px,#0000 1px 16px)}.project-card-copy{min-height:420px}.project-card-link{width:min(100%,220px)}#nav{padding:1rem 2rem}nav a{margin-left:1.5rem;font-size:.78rem}#hero h1{font-size:clamp(1.9rem,5vw,3rem)}#hero p{font-size:.92rem}section h2{font-size:clamp(1.5rem,4vw,2.2rem)}.features-grid{grid-template-columns:repeat(2,1fr)}.step{padding:2rem 1.2rem}.step-connector{padding:0 .5rem}.reason-item{grid-template-columns:64px 1fr auto;gap:1.5rem}.demo-video{max-height:360px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item:last-child{grid-column:span 2}}@media (width<=768px){.initiative-preview-card{grid-template-columns:1fr}.initiative-card-visual{max-width:420px}.about-layout{grid-template-columns:1fr;gap:2rem}.persona-grid,.project-principles{grid-template-columns:1fr}.news-item{grid-template-columns:1fr;gap:.9rem}.news-item-meta{flex-flow:wrap;gap:.8rem}.steps{flex-direction:column;align-items:stretch}.step-connector{flex-direction:row;justify-content:center;padding:.5rem 0}footer{padding:4rem 1.5rem 2.5rem}.footer-top{grid-template-columns:1fr;gap:2.5rem}.footer-nav{grid-template-columns:repeat(2,1fr)}.footer-bottom{text-align:center;flex-direction:column;gap:1rem}}@media (width<=640px){section{padding:4rem 1.2rem}.project-hero{min-height:auto;padding:8rem 1.2rem 4rem}#nav{padding:1rem 1.2rem}nav{display:none}#hero h1{font-size:clamp(1.7rem,7vw,2.4rem);line-height:1.3}#hero p{margin-bottom:2rem;font-size:.88rem;line-height:1.85}.project-hero h1{font-size:clamp(2rem,9vw,2.7rem)}.project-hero-copy p{font-size:.9rem;line-height:1.9}.hero-btns{flex-direction:column;align-items:center}.scroll-indicator{bottom:1.5rem}.btn{text-align:center;width:100%;max-width:280px}.initiative-preview-head{margin-bottom:2.2rem}.initiative-preview-card{padding:1.6rem 0}.initiative-card-main h3{font-size:1.45rem}.initiative-card-main p span{display:inline}.initiative-card-link{margin-top:1rem}.project-groups{gap:3rem}.project-year-block{grid-template-columns:1fr;gap:1rem}.project-year-label{width:fit-content}.project-card{background-position:58%;min-height:460px}.project-card-copy{background:linear-gradient(90deg, #050f20db, #050f2080 72%, transparent), var(--project-copy-bg);width:min(100%,300px);min-height:460px;padding:1.8rem 1.6rem}.project-card-copy h3{font-size:1.65rem}.project-card-link{width:100%;max-width:280px}.project-principle{min-height:auto;padding:1.6rem}section h2{margin-bottom:2rem;font-size:1.5rem}.service-block{padding:2.5rem 0}.service-block h3{font-size:1.1rem}.features-grid{grid-template-columns:1fr;gap:1px}.feature-item{padding:1.5rem 1.2rem}.step{padding:2rem 1.2rem}.reason-item{grid-template-columns:40px 1fr;gap:1rem;padding:1.5rem 0}.reason-keyword{display:none}.reason-line{height:20px}.demo-video{max-height:240px}.gallery-grid{grid-template-columns:1fr}.gallery-item:last-child{grid-column:auto}#cta h2{font-size:1.5rem}.cta-btns{flex-direction:column;align-items:center}.cta-links{flex-wrap:wrap;justify-content:center}.footer-nav{grid-template-columns:1fr 1fr}.footer-company-info div{grid-template-columns:1fr;gap:.2rem}}@media (width<=380px){#hero h1{font-size:1.5rem}section h2{font-size:1.3rem}.btn{padding:.8rem 1.5rem;font-size:.82rem}}
