:root{
  --paper:#f7f5f0;
  --paper-2:#eeece6;
  --white:#fffefa;
  --ink:#17191c;
  --ink-soft:#66696d;
  --line:#d7d4cc;
  --blue:#234d68;
  --leaf:#a48c69;
  --night:#18242c;
}
body{background:var(--paper);letter-spacing:.015em}
.site-header{background:rgba(247,245,240,.94)}
.hero{padding-top:128px}
.hero-main{grid-template-columns:1.02fr .98fr;gap:72px;align-items:center;padding-top:56px}
.hero h1 .accent{color:var(--blue)}
.hero .hero-en{font-size:clamp(21px,2.8vw,35px)}
.btn:first-child{background:var(--blue);border-color:var(--blue)}
.btn:first-child:hover{background:transparent;color:var(--blue)}
.hero-photo{min-height:590px;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(24,36,44,.05),rgba(24,36,44,.24)),linear-gradient(135deg,#c5d0d6 0 15%,#e2e6e7 15% 27%,#a8b7c0 27% 38%,#778d9b 38% 52%,#d7dcda 52% 68%,#8e9fa8 68% 100%);box-shadow:0 24px 60px rgba(20,34,45,.12)}
.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 14%,rgba(255,255,255,.34) 14% 14.6%,transparent 14.6% 32%,rgba(255,255,255,.26) 32% 32.5%,transparent 32.5% 64%,rgba(255,255,255,.2) 64% 64.4%,transparent 64.4%),linear-gradient(180deg,transparent 0 60%,rgba(22,34,42,.28) 60%)}
.hero-photo:after{content:"TOKYO / JAPAN";position:absolute;right:24px;bottom:20px;color:#fff;font-size:11px;font-weight:900;letter-spacing:.18em}
.hero-photo .city{position:absolute;left:8%;right:8%;bottom:14%;height:38%;display:grid;grid-template-columns:repeat(9,1fr);gap:8px;align-items:end}
.hero-photo .city i{display:block;background:rgba(31,48,59,.82);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.hero-photo .city i:nth-child(1){height:45%}.hero-photo .city i:nth-child(2){height:70%}.hero-photo .city i:nth-child(3){height:54%}.hero-photo .city i:nth-child(4){height:92%}.hero-photo .city i:nth-child(5){height:62%}.hero-photo .city i:nth-child(6){height:78%}.hero-photo .city i:nth-child(7){height:52%}.hero-photo .city i:nth-child(8){height:88%}.hero-photo .city i:nth-child(9){height:66%}
.hero-photo .caption{position:absolute;left:26px;top:26px;max-width:280px;color:#fff;font-size:11px;line-height:1.6;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.latest-label{color:var(--blue)}.latest-arrow{color:var(--blue)}
.section-no{color:var(--leaf)}
.wordmark-meaning b{color:var(--blue)}
.challenge .n{color:var(--leaf)}.challenge .line{background:var(--blue)}
.solution-grid{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--night);color:#fff}
.solution-copy{padding:76px 64px}.solution-copy h2{color:#fff}.solution-copy .en-title{color:rgba(255,255,255,.55)}
.solution-photo{min-height:590px;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(18,34,45,.15),rgba(18,34,45,.45)),radial-gradient(circle at 26% 28%,rgba(164,140,105,.72) 0 7%,transparent 8%),linear-gradient(135deg,#304c5f 0 22%,#547184 22% 34%,#243946 34% 52%,#708891 52% 68%,#1c303c 68% 100%)}
.solution-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 38%,rgba(255,255,255,.08) 38% 38.4%,transparent 38.4%),linear-gradient(180deg,transparent 0 62%,rgba(4,10,14,.36) 62%)}
.solution-photo:after{content:"STRATEGY / EXECUTION";position:absolute;right:24px;bottom:20px;color:#fff;font-size:11px;font-weight:900;letter-spacing:.16em}
.flow-item .n{color:#c8b493}
.card-index,.industry-row .n,.step .step-no,.case .sector,.news-date,.leader .role{color:var(--leaf)}
.industry-row .arrow,.news-arrow{color:var(--blue)}
.strength .mark{color:var(--blue)}
.company-photo{min-height:450px;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(20,34,43,.22)),linear-gradient(135deg,#d8dbdc 0 26%,#9aa7ae 26% 39%,#c9ced0 39% 55%,#798b95 55% 68%,#dfe1de 68% 100%)}
.company-photo:after{content:"ATOR / TOKYO";position:absolute;right:20px;bottom:16px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.16em}
.company-photo .logo-on-photo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(340px,70%);padding:30px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px)}
.leader-mark{background:var(--blue)}
input:focus,select:focus,textarea:focus{border-color:var(--blue)}
@media(max-width:1050px){.hero-main,.solution-grid{grid-template-columns:1fr}.hero-photo,.solution-photo{min-height:440px}}
@media(max-width:720px){.hero-photo{min-height:390px}.solution-copy{padding:42px 26px}}
