:root{--navy:#071528;--navy-2:#0c2038;--ink:#172131;--blue:#2b75a8;--gold:#cda55d;--cream:#f4f1e9;--line:#d9d9d4;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;background:#fafaf8}a{color:inherit;text-decoration:none}em{font-style:normal;color:var(--gold)}.site-header{height:86px;padding:0 4.5vw;display:flex;align-items:center;gap:48px;background:#fff;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:12px;font:600 23px "DM Sans",sans-serif;letter-spacing:-.03em;white-space:nowrap}.brand-mark{width:28px;height:36px;display:inline-block;position:relative;border:2px solid var(--gold);border-radius:16px 16px 6px 6px;transform:rotate(180deg)}.brand-mark:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--gold);left:8px;top:7px}.brand-mark i{position:absolute;height:12px;width:2px;background:var(--gold);left:11px;top:17px}.nav{margin-left:auto;display:flex;gap:30px;font-size:12px;font-weight:500}.nav a{transition:.2s}.nav a:hover{color:var(--blue)}.header-cta{height:86px;padding:0 28px;display:flex;align-items:center;gap:38px;background:var(--navy);color:#fff;font-size:13px}.header-cta span{color:var(--gold);font-size:18px}.menu-button,.mobile-nav{display:none}.hero{height:calc(100vh - 86px);min-height:620px;position:relative;overflow:hidden;color:#fff;background:var(--navy)}.hero-image{position:absolute;inset:0;background:url("assets/ac-lamp-hero.png") 55% center/cover no-repeat;animation:heroIn 1.8s ease both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,29,.95) 0%,rgba(3,14,29,.72) 36%,rgba(3,14,29,.12) 72%),linear-gradient(0deg,rgba(2,12,24,.35),transparent 45%)}.hero-content{position:relative;z-index:2;padding:13vh 7vw;max-width:780px}.eyebrow{font:500 11px "DM Sans",sans-serif;letter-spacing:.24em;display:flex;align-items:center;gap:12px}.eyebrow span{width:28px;height:1px;background:var(--gold)}.hero h1{font-size:clamp(38px,4.4vw,70px);font-weight:500;letter-spacing:.01em;line-height:1.35;margin:34px 0 24px}.hero-copy{font-size:15px;line-height:2;letter-spacing:.05em;color:rgba(255,255,255,.78)}.text-link{display:flex;align-items:center;gap:38px;margin-top:44px;font-size:13px}.text-link span{color:var(--gold);font-size:20px}.hero-index{position:absolute;right:4.5vw;bottom:50px;z-index:2;display:flex;align-items:center;gap:8px;font:400 10px "DM Sans"}.hero-index b{color:var(--gold)}.hero-index span{width:70px;height:1px;background:rgba(255,255,255,.5)}.section{padding:110px 7vw}.section-label{font:600 10px "DM Sans";letter-spacing:.22em;color:#68717b;display:flex;align-items:center;gap:15px;margin-bottom:70px}.section-label span{color:var(--gold)}.intro{background:#fafaf8}.intro-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:10vw}.kicker{font-size:clamp(30px,3.2vw,48px);line-height:1.55;font-weight:500;margin:0}.intro-body{max-width:620px}.intro-body .lead{font-size:21px;line-height:1.9;font-weight:500;margin-top:0}.intro-body p:not(.lead){font-size:14px;line-height:2.25;color:#5b626b}.insight-strip{margin-top:90px;padding-top:36px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.insight-strip div{padding:0 32px;border-left:1px solid var(--line)}.insight-strip div:first-child{padding-left:0;border:0}.insight-strip strong{display:block;font:500 15px "DM Sans";color:var(--blue);margin-bottom:10px}.insight-strip span{font-size:12px;color:#6e747b}.strengths{background:var(--navy);color:#fff}.on-dark{color:#8c98a6}.strengths-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.strengths-header h2{font:500 clamp(38px,4vw,62px)/1.2 "DM Sans",sans-serif;margin:0;letter-spacing:-.03em}.strengths-header p{font-size:14px;line-height:2;color:#aab4bf}.strength-cards{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.16)}.strength-card{min-height:430px;padding:32px 36px;position:relative;border-right:1px solid rgba(255,255,255,.16)}.strength-card:last-child{border:0}.strength-card.featured{background:var(--navy-2)}.number{font:500 10px "DM Sans";color:var(--gold)}.line-icon{height:80px;width:80px;margin:50px 0 34px;position:relative}.line-icon:before,.line-icon:after{content:"";position:absolute;border:1px solid var(--gold)}.line-icon.custom:before{inset:10px;border-radius:50%}.line-icon.custom:after{width:36px;height:36px;left:22px;top:22px;transform:rotate(45deg)}.line-icon.ai:before{inset:14px;border-radius:12px;box-shadow:0 0 20px rgba(205,165,93,.25)}.line-icon.ai:after{width:14px;height:14px;border-radius:50%;left:32px;top:32px;background:var(--gold)}.line-icon.support:before{width:54px;height:32px;border-radius:50%;left:13px;top:24px}.line-icon.support:after{width:32px;height:54px;border-radius:50%;left:24px;top:13px}.strength-card h3{font-size:20px;line-height:1.65;font-weight:500}.strength-card p{font-size:12px;line-height:2;color:#9eabb8;margin-top:20px}.philosophy{background:var(--cream)}.philosophy-lead{display:flex;justify-content:space-between;align-items:end;padding-bottom:55px}.philosophy-lead p{font-size:13px;color:#6e747b}.philosophy-lead h2{font-size:clamp(36px,4vw,58px);font-weight:500;margin:0}.principle{display:grid;grid-template-columns:70px 1fr auto;align-items:center;min-height:142px;border-top:1px solid #cecac0}.principle:last-child{border-bottom:1px solid #cecac0}.principle>span{font:500 11px "DM Sans";color:var(--gold)}.principle h3{font-size:19px;font-weight:500;margin:0 0 12px}.principle p{font-size:12px;color:#74787d;margin:0}.principle b{font:500 12px "DM Sans";color:#9a9891;letter-spacing:.08em}.company{background:#fafaf8}.company-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:10vw}.company-title p{font-size:13px;color:#777}.company-title h2{font:500 clamp(50px,6vw,86px)/1.05 "DM Sans";letter-spacing:-.04em;margin:20px 0;color:var(--navy)}.company-data{margin:0}.company-data div{display:grid;grid-template-columns:140px 1fr;padding:25px 0;border-top:1px solid var(--line);font-size:14px}.company-data div:last-child{border-bottom:1px solid var(--line)}.company-data dt{color:#777}.company-data dd{margin:0;font-weight:500;line-height:1.8}.contact{min-height:620px;background:linear-gradient(120deg,rgba(4,18,36,.97),rgba(8,31,55,.92)),url("assets/ac-lamp-hero.png") center/cover;color:#fff;display:flex;align-items:center;padding:100px 7vw}.contact-inner{max-width:740px}.contact h2{font-size:clamp(42px,5vw,70px);line-height:1.35;font-weight:500;margin:30px 0 20px}.contact p:not(.eyebrow){font-size:14px;line-height:2;color:#b8c2cc}.contact-button{margin-top:38px;width:min(100%,420px);height:78px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:#fff;color:var(--navy);font-size:14px;transition:.25s}.contact-button:hover{background:var(--gold)}.contact-button span{font-size:19px}.contact small{display:block;margin-top:12px;color:#788797;font-size:10px}footer{padding:46px 7vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#030d19;color:#fff}footer p{font-size:10px;color:#75808d}footer small{text-align:right;color:#75808d;font:400 9px "DM Sans"}.footer-brand{font-size:18px}.footer-brand .brand-mark{transform:rotate(180deg) scale(.8)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes heroIn{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.site-header{height:72px;padding:0 22px}.nav,.header-cta{display:none}.brand{font-size:20px}.brand-mark{transform:rotate(180deg) scale(.82);margin-left:-3px}.menu-button{display:flex;margin-left:auto;width:42px;height:42px;border:0;background:none;flex-direction:column;justify-content:center;gap:7px;padding:8px}.menu-button span{display:block;height:1px;background:var(--navy);transition:.2s}.menu-button.open span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button.open span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{display:flex;position:absolute;left:0;right:0;top:72px;background:#fff;padding:26px 24px 34px;flex-direction:column;gap:22px;font-size:14px;opacity:0;pointer-events:none;transform:translateY(-10px);transition:.25s;box-shadow:0 15px 30px rgba(5,17,32,.1)}.mobile-nav.open{opacity:1;pointer-events:auto;transform:none}.hero{height:calc(100svh - 72px);min-height:630px}.hero-image{background-position:65% center}.hero-shade{background:linear-gradient(90deg,rgba(3,14,29,.95),rgba(3,14,29,.4)),linear-gradient(0deg,rgba(2,12,24,.5),transparent)}.hero-content{padding:15vh 24px}.hero h1{font-size:clamp(35px,9.6vw,52px)}.hero-index{right:24px}.section{padding:82px 24px}.section-label{margin-bottom:48px}.intro-grid,.company-grid{grid-template-columns:1fr;gap:45px}.intro-body .lead{font-size:18px}.insight-strip{grid-template-columns:1fr;margin-top:60px}.insight-strip div,.insight-strip div:first-child{padding:22px 0;border:0;border-top:1px solid var(--line)}.strengths-header{display:block}.strengths-header p{margin-top:30px}.strength-cards{grid-template-columns:1fr}.strength-card{min-height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.16);padding:30px}.line-icon{margin:35px 0 25px}.philosophy-lead{display:block}.philosophy-lead h2{margin-top:16px}.principle{grid-template-columns:42px 1fr;padding:28px 0}.principle b{display:none}.company-title h2{font-size:56px}.contact{padding:82px 24px;min-height:580px}footer{grid-template-columns:1fr;gap:20px;text-align:left}footer small{text-align:left}.desktop-only{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Blue-white flame visual theme */
:root{--navy:#031426;--navy-2:#082440;--ink:#10243a;--blue:#168ed1;--gold:#78dcff;--cream:#eff9fd;--line:#cfe1e9}
body,.intro,.company{background:#f8fcfe}
.site-header{background:rgba(248,252,254,.97)}
.hero-image{background-image:url("assets/ac-lamp-hero-v2.png");background-position:56% center}
.hero-shade{background:linear-gradient(90deg,rgba(1,14,31,.96) 0%,rgba(1,16,36,.7) 40%,rgba(2,28,61,.04) 74%),linear-gradient(0deg,rgba(1,14,30,.42),transparent 45%)}
.line-icon.ai:before{box-shadow:0 0 28px rgba(120,220,255,.38)}
.principle{border-color:#c8dde7}.principle:last-child{border-color:#c8dde7}
.contact{background:linear-gradient(120deg,rgba(1,15,33,.97),rgba(3,32,65,.86)),url("assets/ac-lamp-hero-v2.png") center/cover}
.contact-button:hover{box-shadow:0 0 32px rgba(120,220,255,.35)}
.contact-button-disabled{cursor:not-allowed;opacity:.72}.contact-button-disabled:hover{background:#fff;box-shadow:none}
footer{background:#010b17}
.strength-cards{grid-template-columns:repeat(2,1fr)}
.strength-card{border-bottom:1px solid rgba(255,255,255,.16)}
.strength-card:nth-child(2){border-right:0}.strength-card:nth-child(n+3){border-bottom:0}
.line-icon.solution:before{width:58px;height:58px;left:11px;top:11px;border-radius:50%;box-shadow:0 0 26px rgba(120,220,255,.2)}
.line-icon.solution:after{width:28px;height:28px;left:25px;top:25px;border-radius:50%;background:radial-gradient(circle,#f7fdff 0 18%,#78dcff 22% 36%,transparent 40%)}
@media(max-width:900px){.strength-cards{grid-template-columns:1fr}.strength-card:nth-child(n){border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.strength-card:last-child{border-bottom:0}}
.contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1fr);gap:8vw}
.contact-form{display:grid;gap:24px;padding:38px;background:rgba(3,20,41,.7);border:1px solid rgba(120,220,255,.24);backdrop-filter:blur(14px)}
.contact-form label{display:grid;gap:10px;font-size:12px;color:#d5e8f1}.contact-form label span{color:#7894a4;font-size:10px}.contact-form label b{color:var(--gold);font-size:10px;font-weight:500}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(190,232,248,.35);border-radius:0;padding:12px 0;background:transparent;color:#fff;font:400 14px "Noto Sans JP";outline:none}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold)}
.contact-form .contact-button{border:0;margin-top:4px;cursor:pointer}.contact-form .contact-button:disabled{cursor:not-allowed;opacity:.5}.form-status{margin:0!important;font-size:10px!important;color:#8da8b8!important}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:900px){.contact{grid-template-columns:1fr}.contact-form{padding:26px 20px}.form-row{grid-template-columns:1fr}}
