@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');

:root{--navy:#071a31;--navy-2:#0b2441;--navy-3:#102d4e;--gold:#c8a466;--gold-light:#e2c88f;--ivory:#f8f4eb;--warm:#efe9dc;--ink:#142238;--muted:#5e6671;--line:rgba(20,34,56,.14);--serif:"Noto Serif JP",YuMincho,"Yu Mincho",serif;--sans:"Noto Sans JP",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;left:12px;top:-100px;z-index:100;background:white;padding:10px 16px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-only{display:none}
.site-header{position:absolute;inset:0 0 auto;z-index:20;color:white;border-bottom:1px solid rgba(255,255,255,.13)}.site-header.is-scrolled{position:fixed;background:rgba(7,26,49,.94);backdrop-filter:blur(16px);animation:headerIn .3s ease}.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:43px;height:43px;fill:none;stroke:var(--gold-light);stroke-width:2}.brand strong{display:block;font-family:Georgia,serif;font-size:22px;letter-spacing:.18em;font-weight:400;line-height:1.15}.brand small{display:block;font-size:9px;letter-spacing:.25em;opacity:.72;margin-top:5px}.desktop-nav{display:flex;align-items:center;gap:35px;font-size:12px;letter-spacing:.08em}.desktop-nav a:not(.nav-contact){position:relative}.desktop-nav a:not(.nav-contact)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--gold);transition:.3s}.desktop-nav a:hover::after{right:0}.nav-contact{border:1px solid var(--gold);padding:10px 22px;color:var(--gold-light)}.menu-button,.mobile-nav{display:none}
.hero{position:relative;min-height:790px;height:100svh;max-height:980px;background:radial-gradient(circle at 75% 50%,#123b62 0,transparent 35%),linear-gradient(135deg,#06172b,#071c35 58%,#0d2945);color:white;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to right,transparent,black)}.hero-inner{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;padding-top:72px}.eyebrow{margin:0 0 25px;font-size:11px;font-weight:600;letter-spacing:.3em;color:#9b7743}.eyebrow.light{color:var(--gold-light)}.hero h1{font-family:var(--serif);font-size:clamp(46px,5.3vw,76px);font-weight:400;line-height:1.42;letter-spacing:.08em;margin:0}.hero h1 span{color:var(--gold-light)}.hero-lead{font-family:var(--serif);font-size:18px;letter-spacing:.08em;line-height:2;margin:28px 0 38px;color:rgba(255,255,255,.8)}.hero-actions{display:flex;gap:14px}.button{display:inline-flex;justify-content:space-between;align-items:center;min-width:190px;padding:15px 21px;font-size:12px;letter-spacing:.1em;transition:.3s;border:1px solid transparent}.button span{font-size:16px}.button-gold{background:linear-gradient(100deg,#b68b48,#e0c181);color:#071a31}.button-gold:hover{filter:brightness(1.08);transform:translateY(-2px)}.button-ghost{border-color:rgba(224,193,129,.75);color:white}.button-ghost:hover{background:rgba(255,255,255,.08)}.hero-symbol{display:flex;flex-direction:column;align-items:center;opacity:.8}.symbol-ring{width:min(330px,28vw);aspect-ratio:1;border:1px solid rgba(215,183,122,.24);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 70px rgba(89,145,194,.12),inset 0 0 70px rgba(89,145,194,.07);position:relative}.symbol-ring::before,.symbol-ring::after{content:"";position:absolute;border:1px solid rgba(215,183,122,.14);border-radius:50%;inset:11%}.symbol-ring::after{inset:-12%;border-style:dashed}.symbol-ring svg{width:43%;fill:none;stroke:var(--gold-light);stroke-width:1.3}.symbol-label{margin-top:40px;font-size:10px;letter-spacing:.3em;display:flex;align-items:center;gap:15px}.symbol-label i{width:45px;height:1px;background:var(--gold)}.hero-orb{position:absolute;border-radius:50%;filter:blur(2px);background:var(--gold);box-shadow:0 0 20px var(--gold)}.hero-orb-one{width:4px;height:4px;right:13%;top:22%}.hero-orb-two{width:3px;height:3px;right:39%;bottom:18%}.hero-lines{position:absolute;inset:auto -10% -17% 22%;height:48%;transform:rotate(-6deg);opacity:.28}.hero-lines i{position:absolute;inset:0;border-top:1px solid var(--gold);border-radius:50%}.hero-lines i:nth-child(2){top:16px}.hero-lines i:nth-child(3){top:32px}.hero-lines i:nth-child(4){top:48px}.scroll-hint{position:absolute;z-index:3;bottom:0;left:50%;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:8px;letter-spacing:.25em}.scroll-hint i{height:55px;width:1px;background:linear-gradient(var(--gold),transparent)}
.section{padding:140px 0}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.section h2{font-family:var(--serif);font-size:clamp(34px,3.5vw,52px);font-weight:500;line-height:1.65;letter-spacing:.06em;margin:0}.philosophy{background:#fbf8f1;position:relative}.philosophy::after{content:"L";position:absolute;right:5%;bottom:-4%;font-family:Georgia,serif;font-size:290px;color:rgba(200,164,102,.05);line-height:1}.philosophy-copy{padding-top:45px;border-top:1px solid var(--gold)}.philosophy-copy p{font-family:var(--serif);font-size:16px;line-height:2.3;margin:0 0 18px}.philosophy-copy .lead{font-size:24px;margin-bottom:36px}.philosophy-copy em{font-style:normal;color:#9b6d2d}.philosophy-copy .conclusion{font-weight:600;margin-top:32px}
.services{background:var(--warm)}.section-heading{display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:end;margin-bottom:70px}.section-heading>p{font-size:14px;color:var(--muted);margin:0 0 9px}.service-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(155,119,67,.35);border-bottom:1px solid rgba(155,119,67,.35)}.service-card{padding:42px 34px 45px;position:relative;display:grid;grid-template-columns:auto 1fr;gap:20px 22px}.service-card+article{border-left:1px solid rgba(155,119,67,.35)}.service-number{font-family:Georgia,serif;color:#9b7743;font-size:13px;letter-spacing:.12em}.service-icon{font-size:26px;color:#a47c42;line-height:1}.service-card>div:last-child{grid-column:1/-1}.service-card h3{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:.06em;line-height:1.75;margin:6px 0 20px}.service-card p{font-size:13px;color:var(--muted);line-height:2;margin-bottom:24px}.service-card ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:7px}.service-card li{font-size:10px;padding:5px 10px;border:1px solid rgba(20,34,56,.14);background:rgba(255,255,255,.3)}
.projects{background:var(--navy);color:white;overflow:hidden}.project-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}.project-copy h2{font-family:var(--serif);font-size:clamp(38px,4vw,58px);line-height:1.6;font-weight:400;margin:0 0 30px}.project-copy>p:not(.eyebrow):not(.project-note){font-family:var(--serif);font-size:14px;color:rgba(255,255,255,.7);line-height:2.2}.project-status{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.project-status span{font-size:10px;color:var(--gold-light);border:1px solid rgba(200,164,102,.5);padding:6px 10px}.project-note{font-size:11px!important;border-left:1px solid var(--gold);padding-left:14px;color:rgba(255,255,255,.53)!important}.project-visual{position:relative;min-height:430px;display:grid;place-items:center}.project-glow{position:absolute;width:80%;aspect-ratio:1;background:#1a5380;filter:blur(90px);opacity:.27;border-radius:50%}.window{position:relative;z-index:2;width:85%;aspect-ratio:1.4;background:rgba(8,25,45,.75);border:1px solid rgba(226,200,143,.38);box-shadow:0 25px 60px rgba(0,0,0,.35);transform:perspective(800px) rotateY(7deg) rotateX(2deg)}.window-bar{height:34px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;gap:6px;align-items:center;padding:0 12px}.window-bar i{width:5px;height:5px;border:1px solid var(--gold);border-radius:50%}.window-body{padding:40px;display:grid;grid-template-columns:1.2fr 1fr;gap:14px}.window-body span{display:block;border:1px solid rgba(226,200,143,.16);background:linear-gradient(110deg,rgba(255,255,255,.025),rgba(200,164,102,.08));height:90px}.window-body span:first-child{grid-row:span 2;height:auto}.window-body span:last-child{grid-column:1/-1;height:35px}
.contact{position:relative;background:#f9f5ec;text-align:center;overflow:hidden}.contact-inner{position:relative;z-index:2;max-width:820px}.contact h2{font-size:clamp(38px,4.3vw,60px);line-height:1.6}.contact-lead{font-family:var(--serif);font-size:20px;color:#9b6d2d;margin:30px 0}.contact-body{max-width:620px;margin:0 auto 38px;color:var(--muted);font-size:14px}.button-navy{background:var(--navy);color:white;min-width:270px}.button-navy:hover{background:var(--navy-3);transform:translateY(-2px)}.contact small{display:block;color:#7b7f83;font-size:10px;margin-top:17px}.contact-flare{position:absolute;width:650px;height:650px;border:1px solid rgba(200,164,102,.13);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.contact-flare::before,.contact-flare::after{content:"";position:absolute;border:inherit;border-radius:inherit;inset:9%}.contact-flare::after{inset:20%}
.site-footer{background:#06172b;color:white;padding:60px 0 34px}.footer-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:55px}.footer-brand small{letter-spacing:.08em}.footer-inner nav{display:flex;gap:26px;font-size:11px;color:rgba(255,255,255,.68)}.footer-inner>p{grid-column:1/-1;text-align:right;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;margin:0;font-size:9px;letter-spacing:.15em;color:rgba(255,255,255,.45)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}.service-card:nth-child(2){transition-delay:.1s}.service-card:nth-child(3){transition-delay:.2s}@keyframes headerIn{from{transform:translateY(-100%)}to{transform:none}}
@media(max-width:800px){.shell{width:min(100% - 40px,620px)}.desktop-nav{display:none}.site-header{position:absolute}.site-header.is-scrolled{position:fixed}.header-inner{height:72px}.brand-mark{width:35px;height:35px}.brand strong{font-size:18px}.brand small{font-size:7px}.menu-button{display:flex;width:40px;height:40px;border:0;background:transparent;padding:9px;flex-direction:column;justify-content:center;gap:5px}.menu-button span:not(.sr-only){display:block;width:22px;height:1px;background:var(--gold-light);transition:.25s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}.menu-button[aria-expanded=true] span:nth-child(2){opacity:0}.menu-button[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-nav{display:grid;position:absolute;top:72px;left:0;right:0;background:rgba(7,26,49,.98);padding:22px 20px 30px;border-bottom:1px solid rgba(200,164,102,.3)}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.09);font-family:var(--serif);font-size:13px}.mobile-only{display:block}.hero{min-height:740px;height:100svh;max-height:860px}.hero-inner{display:block;padding-top:clamp(145px,21vh,190px)}.hero h1{font-size:clamp(39px,11.2vw,52px);line-height:1.5;letter-spacing:.055em}.hero-lead{font-size:14px;line-height:2;margin:22px 0 29px}.hero-actions{flex-direction:column;align-items:flex-start;gap:10px}.button{width:218px;min-width:0;padding:13px 17px}.hero-symbol{position:absolute;right:-23%;bottom:7%;opacity:.24}.symbol-ring{width:240px}.symbol-label{display:none}.hero-lines{left:-20%;right:-30%;bottom:-9%;height:24%}.scroll-hint{left:auto;right:20px}.scroll-hint span{display:none}.scroll-hint i{height:38px}.section{padding:92px 0}.split-grid{grid-template-columns:1fr;gap:46px}.section h2{font-size:30px;line-height:1.7}.philosophy-copy{padding-top:30px}.philosophy-copy .lead{font-size:20px;line-height:1.9}.philosophy-copy p{font-size:14px;line-height:2.2}.philosophy::after{font-size:180px}.section-heading{grid-template-columns:1fr;gap:30px;margin-bottom:48px}.section-heading>p{font-size:13px}.service-list{grid-template-columns:1fr}.service-card{padding:34px 10px 38px}.service-card+article{border-left:0;border-top:1px solid rgba(155,119,67,.35)}.service-card h3{font-size:21px}.project-grid{grid-template-columns:1fr}.project-visual{min-height:280px;order:2;margin-top:30px}.window{width:95%}.window-body{padding:22px}.project-copy h2{font-size:36px}.contact h2{font-size:34px}.contact-lead{font-size:17px}.contact-flare{width:430px;height:430px}.footer-inner{grid-template-columns:1fr;gap:36px}.footer-inner nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.footer-inner>p{grid-column:1;text-align:left}.footer-brand .brand-mark{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.site-header.is-scrolled{animation:none}.button{transition:none}}
