
:root{--navy:#071b2d;--navy2:#0b2a43;--ink:#12334b;--muted:#587489;--sky:#eaf8ff;--line:rgba(41,102,140,.16);--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#071b2d;color:#f5f9fc;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",system-ui,sans-serif;line-height:1.85;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-weight:400;line-height:1.4;margin-top:0}h1{font-size:clamp(44px,6vw,80px)}h2{font-size:clamp(30px,4vw,50px)}h3{font-size:23px}.kicker{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#9bd5f7}.muted{color:rgba(240,248,253,.72)}
.site-header{position:fixed;inset:0 0 auto;z-index:50}.site-header:before{content:"";position:absolute;inset:0;background:rgba(5,21,35,.82);backdrop-filter:blur(18px);opacity:0;transition:.3s;border-bottom:1px solid rgba(255,255,255,.08)}.site-header.scrolled:before{opacity:1}.header-in{height:88px;display:flex;align-items:center;gap:28px;position:relative}.logo{margin-right:auto;font-size:25px;font-weight:800;display:flex;gap:10px;align-items:center}.logo small{display:block;font-size:8px;letter-spacing:.15em;font-weight:500}.logo-mark{width:29px;height:29px;border:4px solid #c8edff;border-radius:55% 45% 55% 45%;transform:rotate(35deg)}.nav{display:flex;gap:23px;font-size:12px;font-weight:700}.nav a{padding:10px 0}.header-contact{border:1px solid rgba(255,255,255,.42);border-radius:999px;padding:9px 16px!important}.menu-btn,.mobile-nav{display:none}
.hero{min-height:850px;position:relative;padding:135px 0 105px;overflow:hidden}.hero-bg{position:absolute;inset:-3%;background:linear-gradient(180deg,rgba(4,18,31,.12),rgba(4,18,31,.22) 55%,#071b2d 100%),url("images/city-dusk.jpg") center 57%/cover;animation:cinema 18s ease-in-out infinite alternate;will-change:transform,filter}@keyframes cinema{from{transform:scale(1.02);filter:brightness(.95) saturate(.9)}to{transform:scale(1.055) translateY(-.3%);filter:brightness(1.03) saturate(1)}}.city-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 49% 58%,rgba(255,220,154,.12),transparent 18%),radial-gradient(circle at 74% 51%,rgba(167,221,255,.12),transparent 14%);animation:glow 5s ease-in-out infinite alternate}@keyframes glow{to{opacity:.58;filter:brightness(1.25)}}.hero-in{position:relative}.hero-top{display:grid;grid-template-columns:1.12fr .72fr;gap:85px;align-items:center;min-height:520px}.hero-copy{padding-left:48px;border-left:1px solid rgba(230,246,255,.56)}.hero-copy h1{margin:15px 0 22px;text-shadow:0 6px 28px rgba(0,0,0,.18)}.hero-lead{font:400 18px/1.9 "Yu Mincho",serif}.hero-desc{font-size:13px;color:rgba(245,250,253,.78);max-width:570px}.hero-panel{padding:32px;border:1px solid rgba(255,255,255,.28);border-radius:18px;background:rgba(13,42,65,.35);backdrop-filter:blur(18px);box-shadow:0 28px 70px rgba(0,0,0,.16)}.hero-panel h3{font-size:25px}.hero-panel p{font-size:13px;color:rgba(245,250,253,.78)}.video-link{display:flex;align-items:center;gap:14px;margin-top:24px;font-size:12px;font-weight:700}.play{width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.7);display:grid;place-items:center}.play:after{content:"";border-left:10px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}
.services{position:relative;margin-top:-92px;padding-bottom:32px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{position:relative;min-height:350px;border:1px solid rgba(225,242,253,.28);border-radius:17px;overflow:hidden;background:#0b2942;box-shadow:0 24px 65px rgba(0,10,20,.25);transition:.3s}.service-card:hover{transform:translateY(-5px);border-color:rgba(225,242,253,.58)}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.82);transition:.6s}.service-card:hover img{transform:scale(1.035)}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 12%,rgba(5,24,41,.3) 45%,rgba(5,24,41,.97) 85%)}.service-content{position:absolute;z-index:2;inset:auto 22px 22px}.service-no{font:42px/1 Georgia,serif;color:rgba(238,248,253,.68);margin-bottom:15px}.service-content p{font-size:12px;color:rgba(239,248,253,.76)}.more{font-size:12px;font-weight:700}
.transition-world{position:relative;background:linear-gradient(180deg,#071b2d 0,#174b6c 7%,#8fcfeb 17%,#e5f7ff 28%,#f8fdff 38%,#fff 52%);color:var(--ink);overflow:hidden}.transition-world:before,.transition-world:after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px);opacity:.42}.transition-world:before{width:620px;height:620px;left:-380px;top:17%;border:1px solid rgba(110,201,240,.28);box-shadow:0 0 130px rgba(110,201,240,.2);animation:float 18s ease-in-out infinite alternate}.transition-world:after{width:760px;height:760px;right:-500px;top:48%;border:1px solid rgba(110,201,240,.18);box-shadow:0 0 160px rgba(110,201,240,.15);animation:float 24s ease-in-out infinite alternate-reverse}@keyframes float{to{transform:translate(70px,-45px) scale(1.06)}}.transition-world>section{position:relative;z-index:2}
.stats-section{padding:0 0 70px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(225,242,253,.25);border-radius:16px;background:rgba(12,43,66,.56);backdrop-filter:blur(15px);overflow:hidden;color:white}.stat{padding:26px 28px;text-align:center}.stat:not(:last-child){border-right:1px solid rgba(255,255,255,.18)}.stat-label{font-size:11px;color:rgba(255,255,255,.68)}.stat-value{font:42px/1.2 Georgia,serif}.stat-value small{font:16px "Yu Mincho",serif}
.light-section{padding:88px 0}.section-head{max-width:750px;margin-bottom:38px}.section-head p,.body-copy{color:var(--muted)}.security-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:0;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.78);border:1px solid rgba(52,120,160,.15);box-shadow:0 30px 80px rgba(50,115,150,.12)}.security-photo{min-height:440px;background:url("images/security-hdd.jpg") center/cover}.security-copy{padding:48px}.security-copy p{color:var(--muted)}.feature{padding:17px 0;border-bottom:1px solid var(--line)}.feature:last-child{border:0}.feature b{display:block;font-family:"Yu Mincho",serif;font-size:19px}.feature span{font-size:12px;color:#688499}.outline-btn{display:inline-flex;border:1px solid rgba(34,92,129,.35);border-radius:999px;padding:10px 18px;font-size:11px;font-weight:700;margin-top:16px}
.sustain-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:55px;align-items:center}.sustain-copy p{color:var(--muted)}.sustain-media{min-height:300px;border-radius:18px;background:linear-gradient(90deg,rgba(11,58,64,.08),rgba(12,73,65,.32)),url("images/sustainability.jpg") center/cover;position:relative;box-shadow:0 28px 70px rgba(42,112,145,.12)}.sustain-message{position:absolute;right:30px;top:50%;transform:translateY(-50%);color:white;text-align:right;text-shadow:0 3px 18px rgba(0,0,0,.55);max-width:360px}.sustain-message h3{font-size:29px}.news-list{border-top:1px solid var(--line)}.news-row{display:grid;grid-template-columns:120px 100px 1fr auto;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.tag{border:1px solid rgba(40,100,140,.25);border-radius:4px;padding:2px 8px;width:max-content}
.cta{padding:75px 0;text-align:center;background:radial-gradient(circle at 20% 50%,rgba(112,205,247,.18),transparent 28%),#f3fbff;color:var(--ink);border-top:1px solid var(--line)}.cta p{color:var(--muted)}.cta-actions{display:flex;gap:15px;justify-content:center;margin-top:24px}.cta-btn{min-width:280px;padding:18px;border:1px solid rgba(34,92,129,.35);border-radius:7px}.cta-btn.primary{background:#123c59;color:white}.site-footer{position:relative;z-index:5;background:#071b2d;color:white;padding:34px 0 26px;border-top:1px solid rgba(255,255,255,.1)}.footer-top{display:grid;grid-template-columns:1fr 2fr;gap:40px}.footer-links{display:flex;flex-wrap:wrap;gap:14px 22px;justify-content:flex-end;font-size:11px}.footer-bottom{margin-top:24px;padding-top:17px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;font-size:9px;color:rgba(255,255,255,.45)}
.reveal{opacity:0;transform:translateY(18px);transition:.7s ease}.reveal.in{opacity:1;transform:none}
.page-hero{min-height:470px;padding:165px 0 75px;background:linear-gradient(180deg,rgba(5,23,39,.18),rgba(5,23,39,.86)),url("images/city-dusk.jpg") center 55%/cover}.page-hero p{max-width:720px;color:rgba(245,250,253,.8)}.page-content{background:linear-gradient(180deg,#e9f8ff,#fff 320px);color:var(--ink);padding:80px 0 100px}.prose{max-width:930px}.prose h2{font-size:38px;margin:62px 0 18px}.prose h3{font-size:24px;margin:36px 0 10px}.prose p,.prose li{color:var(--muted);font-size:14px}.prose ul{padding-left:1.2em}.summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:28px 0}.summary a,.info-card{padding:20px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.72)}.info-table{width:100%;border-collapse:collapse}.info-table th,.info-table td{padding:15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.info-table th{width:180px;color:#315d79}.timeline{border-left:1px solid #8bbbd7;padding-left:25px}.timeline p{margin-bottom:18px}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.flow div{padding:20px;border:1px solid var(--line);border-radius:12px;background:#f8fcff}.related{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:50px}.related a{padding:22px;border:1px solid var(--line);border-radius:13px;background:#f7fcff}.rules a{display:block;padding:13px 0;border-bottom:1px solid var(--line);color:#275f82}
@media(max-width:900px){.nav{display:none}.menu-btn{display:block;background:none;border:0}.menu-btn span{display:block;width:23px;height:1px;background:white;margin:6px}.mobile-nav.open{display:flex;position:fixed;z-index:45;inset:0;background:#071b2d;padding:110px 28px 30px;flex-direction:column}.mobile-nav a{font:25px "Yu Mincho",serif;padding:13px;border-bottom:1px solid rgba(255,255,255,.12)}.hero-top,.security-grid,.sustain-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr}.stat:not(:last-child){border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.flow{grid-template-columns:1fr 1fr}.footer-top{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}
@media(max-width:560px){.wrap{width:min(var(--max),calc(100% - 28px))}.header-in{height:72px}.hero{min-height:920px;padding-top:105px}.hero-top{gap:28px}.hero-copy{padding-left:25px}.hero-panel{padding:24px}.services{margin-top:-25px}.service-grid{grid-template-columns:1fr}.security-photo{min-height:300px}.security-copy{padding:30px}.summary,.related,.flow{grid-template-columns:1fr}.news-row{grid-template-columns:90px 1fr}.news-row .tag{grid-column:1}.news-row b{grid-column:2;grid-row:1/3}.cta-actions{flex-direction:column}.cta-btn{min-width:0}.footer-bottom{flex-direction:column;gap:10px}.info-table th{width:110px}.transition-world{background:linear-gradient(180deg,#071b2d 0,#286b91 7%,#bde9fb 17%,#f5fcff 28%,#fff 45%)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* ===== FINAL REQUESTED PATCHES ===== */
.logo-image{display:flex;align-items:center;margin-right:auto;width:142px;height:46px;overflow:visible}
.logo-image img{display:block;width:142px;height:auto;max-height:46px;object-fit:contain;object-position:left center}
.site-footer .logo-image{width:150px;height:48px}.site-footer .logo-image img{width:150px;max-height:48px}

/* High-resolution, vivid sustainability visual with no dark top shadow */
.sustain-media{
  background-image:url("images/sustainability-hq.jpg")!important;
  background-position:center!important;
  background-size:cover!important;
  min-height:330px;
  box-shadow:0 26px 70px rgba(42,112,145,.13);
  overflow:hidden;
}
.sustain-media::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.04) 0%,rgba(4,45,52,.02) 44%,rgba(4,42,45,.18) 100%);
}
.sustain-message{z-index:2;text-shadow:0 2px 12px rgba(0,25,30,.55)}

/* Third trust metric is deliberately static text, not a counter */
.stat-process .process-text{letter-spacing:.035em;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:35px;font-weight:500}
.stat-process .process-text small{font-size:21px;margin:0 4px}

/* Subtle moving bubbles / light particles from below hero to above footer */
main{position:relative;isolation:isolate;overflow:hidden}
main>.ambient-field{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
main>section,main>.transition-world{position:relative;z-index:1}
.ambient-field .bubble{position:absolute;border-radius:50%;border:1px solid rgba(119,205,245,.18);background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.52),rgba(166,224,250,.13) 36%,rgba(128,202,238,.035) 70%,transparent 72%);box-shadow:inset 0 0 20px rgba(255,255,255,.08),0 0 30px rgba(89,181,229,.08);opacity:.48;will-change:transform;animation:bubbleFloat 22s ease-in-out infinite alternate}
.ambient-field .b1{width:96px;height:96px;left:4%;top:10%;animation-duration:24s}
.ambient-field .b2{width:52px;height:52px;right:8%;top:19%;animation-duration:19s;animation-delay:-7s}
.ambient-field .b3{width:132px;height:132px;left:12%;top:42%;animation-duration:29s;animation-delay:-13s;opacity:.31}
.ambient-field .b4{width:68px;height:68px;right:5%;top:54%;animation-duration:21s;animation-delay:-4s}
.ambient-field .b5{width:42px;height:42px;left:47%;top:68%;animation-duration:17s;animation-delay:-9s}
.ambient-field .b6{width:115px;height:115px;right:18%;top:82%;animation-duration:27s;animation-delay:-15s;opacity:.28}
.ambient-field .spark{position:absolute;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.78);box-shadow:0 0 12px 4px rgba(115,205,247,.24);opacity:.44;animation:sparkDrift 13s ease-in-out infinite alternate}
.ambient-field .s1{left:18%;top:16%;animation-delay:-2s}.ambient-field .s2{right:21%;top:31%;animation-delay:-8s}.ambient-field .s3{left:34%;top:52%;animation-delay:-4s}.ambient-field .s4{right:12%;top:71%;animation-delay:-10s}.ambient-field .s5{left:72%;top:88%;animation-delay:-6s}
@keyframes bubbleFloat{0%{transform:translate3d(0,0,0) scale(.96)}50%{transform:translate3d(22px,-28px,0) scale(1.04)}100%{transform:translate3d(-13px,24px,0) scale(1)}}
@keyframes sparkDrift{0%{transform:translate3d(0,0,0);opacity:.22}50%{opacity:.55}100%{transform:translate3d(18px,-32px,0);opacity:.3}}
@media(max-width:560px){.logo-image{width:124px;height:40px}.logo-image img{width:124px;max-height:40px}.sustain-media{min-height:300px}.stat-process .process-text{font-size:30px}.ambient-field .bubble{opacity:.28}.ambient-field .spark{opacity:.28}}
@media(prefers-reduced-motion:reduce){.ambient-field .bubble,.ambient-field .spark{animation:none!important}}

/* === Final brand symbol + page-specific hero images === */
.brand{margin-right:auto;display:inline-flex;align-items:center;gap:10px;color:#fff;min-width:max-content}
.brand-symbol{width:36px;height:36px;object-fit:contain;display:block;filter:drop-shadow(0 3px 10px rgba(32,160,255,.22))}
.brand-text{display:flex;flex-direction:column;line-height:1.02}.brand-text strong{font-size:24px;letter-spacing:-.025em;font-weight:700}.brand-text small{margin-top:5px;font-size:8px;letter-spacing:.11em;font-weight:500;white-space:nowrap;color:rgba(255,255,255,.82)}
.site-footer .brand-symbol{width:38px;height:38px}.site-footer .brand-text strong{font-size:25px}
.page-hero{position:relative;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,24,41,.76) 0%,rgba(5,24,41,.48) 44%,rgba(5,24,41,.16) 76%,rgba(5,24,41,.28) 100%);z-index:0}
.page-hero>.wrap{position:relative;z-index:1}
.page-hero.hero-company{background-image:url("images/hero-company-clean.jpg")!important}
.page-hero.hero-hikari{background-image:url("images/hero-hikari-clean-final.jpg")!important}
.page-hero.hero-sustainability{background-image:url("images/hero-sustainability-clean.jpg")!important}
.page-hero.hero-data-leak{background-image:url("images/hero-data-leak-clean.jpg")!important}
.page-hero.hero-certificate{background-image:url("images/hero-certificate-clean.jpg")!important}
.page-hero.hero-data-erasure{background-image:url("images/hero-data-erasure-clean.jpg")!important}
@media(max-width:560px){.brand{gap:8px}.brand-symbol{width:31px;height:31px}.brand-text strong{font-size:21px}.brand-text small{font-size:7px}.page-hero{background-position:center!important}}

/* === FINAL PRODUCTION VISUAL CORRECTIONS === */
/* The four service cards begin completely below the hero. */
.services{margin-top:0!important;padding-top:30px!important;background:#071b2d}
.service-grid{align-items:stretch}
.service-card{min-height:390px!important}
.service-card img{
  inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center center!important;
}
.service-card:hover img{transform:scale(1.018)!important}
.service-card:after{
  background:linear-gradient(180deg,rgba(5,24,41,.03) 0%,rgba(5,24,41,.13) 35%,rgba(5,24,41,.91) 80%,rgba(5,24,41,.99) 100%)!important
}
/* All subpage hero images are clean background-only assets.
   Titles/navigation/logo are rendered separately as HTML. */
.page-hero{
  background-size:cover!important;background-repeat:no-repeat!important;
  background-position:center center!important
}
.page-hero.hero-company{background-position:center 42%!important}
.page-hero.hero-recruit{background-position:center 40%!important}
.page-hero.hero-hikari{background-position:center 50%!important}
.page-hero.hero-sustainability{background-position:center 47%!important}
.page-hero.hero-data-leak{background-position:center 48%!important}
.page-hero.hero-certificate{background-position:center 48%!important}
.page-hero.hero-data-erasure{background-position:center 46%!important}
.page-hero:before{
  background:linear-gradient(90deg,rgba(5,24,41,.80) 0%,rgba(5,24,41,.50) 43%,rgba(5,24,41,.17) 75%,rgba(5,24,41,.28) 100%)!important
}
@media(max-width:560px){
 .services{margin-top:0!important;padding-top:18px!important}
 .service-card{min-height:410px!important}
 .page-hero{background-position:center center!important}
}

.page-hero.hero-hikari{background-position:center 48%!important;background-size:cover!important}

/* FINAL: discontinued buyback removed; 3 service cards */
.service-grid{max-width:1040px;margin-inline:auto}

/* FINAL: contact CTA alignment */
.cta-btn{box-sizing:border-box;min-height:78px}
.cta-phone{display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:default;line-height:1.25}
.cta-phone small{margin-top:5px}
.cta-company{display:flex!important;align-items:center;justify-content:center;text-align:center;line-height:1.45}

/* FINAL: company access + map */
.access-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.55fr);gap:24px;align-items:stretch}
.access-address{display:flex;flex-direction:column;justify-content:center;min-height:360px;margin:0!important}
.map-frame{min-height:360px;border-radius:16px;overflow:hidden;border:1px solid rgba(21,80,118,.14);box-shadow:0 18px 45px rgba(20,67,95,.10);background:#eaf5fb}
.map-frame iframe{display:block;width:100%;height:100%;min-height:360px;border:0}

/* FINAL: recruitment-specific hero */
.page-hero.hero-recruit{background-position:center 46%!important}
@media(max-width:850px){
 .service-grid{grid-template-columns:1fr!important;max-width:560px}
 .access-grid{grid-template-columns:1fr}
 .access-address{min-height:auto}
}


.page-hero.hero-recruit{background-image:linear-gradient(90deg,rgba(5,24,41,.78),rgba(5,24,41,.46) 45%,rgba(5,24,41,.14)),url("images/hero-recruit-back-desktop.jpg")!important;background-position:center!important;background-size:cover!important}
@media(max-width:1024px){.page-hero.hero-recruit{background-image:linear-gradient(90deg,rgba(5,24,41,.78),rgba(5,24,41,.46) 50%,rgba(5,24,41,.16)),url("images/hero-recruit-back-tablet.jpg")!important}}
@media(max-width:600px){.page-hero.hero-recruit{background-image:linear-gradient(180deg,rgba(5,24,41,.54),rgba(5,24,41,.46) 48%,rgba(5,24,41,.76)),url("images/hero-recruit-back-mobile.jpg")!important;background-position:center!important}}


/* ===== WORDPRESS PRODUCTION FUNCTIONAL UI ===== */
:focus-visible{outline:3px solid rgba(64,176,235,.85);outline-offset:4px}
body.menu-open{overflow:hidden}
.news-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:none}
.news-head h2{margin-bottom:0}
.news-archive-link{font-size:12px;font-weight:700;color:#275f82;padding:9px 0;border-bottom:1px solid rgba(39,95,130,.25)}
.news-row{align-items:center;transition:background-color .2s ease,padding .2s ease}
.news-row:hover{background:rgba(70,154,199,.055);padding-left:10px;padding-right:10px}
.news-row time{font-variant-numeric:tabular-nums;color:#55758b}
.news-row b{font-size:13px;color:var(--ink)}
.news-arrow{font-size:18px;color:#5b8eaa;transition:transform .2s ease}
.news-row:hover .news-arrow{transform:translateX(4px)}
.news-empty{padding:28px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}
.news-hero{background-image:linear-gradient(180deg,rgba(5,23,39,.15),rgba(5,23,39,.84)),url("images/city-dusk.jpg")!important}
.news-detail-wrap{max-width:920px}
.news-article{padding:0 0 55px;border-bottom:1px solid var(--line)}
.news-detail-meta{display:flex;align-items:center;gap:18px;color:#668399;font-size:12px;margin-bottom:16px}
.news-detail-title{font-size:clamp(30px,4vw,46px);color:var(--ink);margin-bottom:34px}
.news-detail-body{font-size:15px;color:var(--muted)}
.news-detail-body p{margin:0 0 1.4em}
.news-detail-body a{color:#1e6c98;text-decoration:underline;text-underline-offset:3px}
.news-detail-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-top:28px;font-size:12px;color:#275f82}
.news-detail-nav>div:last-child{text-align:right}
.news-back{padding:9px 18px;border:1px solid var(--line);border-radius:999px}
.news-archive-list{max-width:1000px;margin:auto}
.pagination{display:flex;justify-content:center;margin-top:42px}
.pagination .page-numbers{list-style:none;display:flex;gap:8px;padding:0;margin:0;align-items:center}
.pagination .page-numbers a,.pagination .page-numbers span{display:grid;place-items:center;min-width:40px;min-height:40px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;font-size:12px}
.pagination .page-numbers .current{background:#123c59;color:#fff;border-color:#123c59}

.contact-wrap{max-width:1060px}
.contact-head{margin:0 auto 34px;text-align:center}
.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:28px;align-items:start;text-align:left}
.contact-side{display:flex;flex-direction:column;gap:14px}
.contact-side-card{padding:28px;border-radius:16px;background:#123c59;color:#fff;box-shadow:0 18px 50px rgba(18,60,89,.12)}
.contact-label{display:block;font-size:10px;letter-spacing:.24em;color:#9bd5f7;margin-bottom:8px}
.contact-side-card strong{display:block;font:30px/1.2 Georgia,serif;letter-spacing:.02em}
.contact-side-card small{display:block;margin-top:8px;color:rgba(255,255,255,.74)}
.contact-side-card p{margin:18px 0 0;color:rgba(255,255,255,.78);font-size:12px}
.contact-company-link{display:flex;align-items:center;justify-content:center;min-height:58px;border:1px solid rgba(34,92,129,.26);border-radius:10px;background:#fff;font-size:12px;font-weight:700;color:#315d79}
.contact-form{position:relative;padding:30px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 60px rgba(36,94,128,.08)}
.form-row{margin-bottom:18px}
.form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-row label{display:block}
.form-row label>span{display:block;font-size:12px;font-weight:700;color:#315d79;margin-bottom:6px}
.form-row em{font-style:normal;font-size:9px;color:#b73737;border:1px solid rgba(183,55,55,.25);border-radius:3px;padding:1px 5px;margin-left:5px}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"],.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(43,101,135,.22);border-radius:8px;background:#fbfdff;color:var(--ink);font:inherit;font-size:14px;padding:11px 12px;transition:border-color .2s ease,box-shadow .2s ease}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:#4b9bc6;box-shadow:0 0 0 3px rgba(75,155,198,.12)}
.contact-form textarea{resize:vertical;min-height:160px}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--muted);margin:6px 0 20px}
.consent input{margin-top:5px;flex:0 0 auto}
.contact-submit{width:100%;min-height:58px;border:0;border-radius:9px;background:#123c59;color:#fff;font:700 13px/1.2 inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:transform .2s ease,background-color .2s ease}
.contact-submit:hover{background:#0b2f49;transform:translateY(-1px)}
.contact-notice{max-width:800px;margin:0 auto 24px;padding:14px 18px;border-radius:9px;font-size:13px;text-align:left}
.contact-notice.success{background:#edf9f2;border:1px solid rgba(40,130,80,.22);color:#23663e}
.contact-notice.error{background:#fff3f3;border:1px solid rgba(175,55,55,.20);color:#8a3030}
.contact-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media(max-width:760px){
  .news-head{align-items:flex-start;flex-direction:column;gap:8px}
  .contact-grid{grid-template-columns:1fr}
  .form-row.two{grid-template-columns:1fr}
  .contact-form{padding:22px}
  .news-detail-nav{grid-template-columns:1fr 1fr;gap:14px}
  .news-back{grid-column:1/-1;grid-row:1;text-align:center}
}
@media(max-width:560px){
  .news-row{grid-template-columns:92px 1fr auto}
  .news-row .tag{grid-column:1;grid-row:2}
  .news-row b{grid-column:2;grid-row:1/3}
  .news-row .news-arrow{grid-column:3;grid-row:1/3}
  .contact-side-card strong{font-size:26px}
}

/* Generic WordPress fallback pages must clear the fixed header. */
.page-template-default .page-content,.single-post .page-content,.error404 .page-content,.search .page-content{padding-top:150px}


/* =========================================================
   CONTACT — dedicated corporate contact page
   ========================================================= */
.contact-page{background:#f7fbfd;color:var(--ink)}
.contact-page-hero{position:relative;overflow:hidden;padding:178px 0 102px;background:#071b2d;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.contact-page-hero:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;right:-160px;top:-330px;background:radial-gradient(circle,rgba(117,205,247,.20) 0,rgba(117,205,247,.07) 35%,transparent 68%)}
.contact-page-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(160,220,247,.36),transparent)}
.contact-page-hero-in{position:relative;z-index:1}
.contact-page-eyebrow{margin-bottom:17px;color:#8ed2f3;font-size:10px;font-weight:800;letter-spacing:.32em}
.contact-page-hero h1{margin:0;font:500 clamp(42px,5vw,72px)/1.06 Georgia,"Times New Roman",serif;letter-spacing:-.035em}
.contact-page-hero p{max-width:680px;margin:26px 0 0;color:rgba(255,255,255,.68);font-size:14px;line-height:2}
.contact-page-body{position:relative;padding:86px 0 110px;background:linear-gradient(180deg,#f7fbfd 0,#fff 58%,#fff 100%)}
.contact-page-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:64px;align-items:start}
.contact-page-aside{position:sticky;top:124px;padding:18px 0 0}
.contact-page-small{display:block;margin-bottom:18px;color:#7d9bad;font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase}
.contact-page-aside-head h2{margin:0;font:500 clamp(30px,3vw,44px)/1.3 Georgia,"Times New Roman",serif;letter-spacing:-.025em;color:#123c59}
.contact-page-aside-head p{margin:24px 0 0;max-width:360px;color:#698295;font-size:13px;line-height:2}
.contact-info-block{margin-top:42px;padding:24px 0;border-top:1px solid rgba(32,94,129,.16);border-bottom:1px solid rgba(32,94,129,.16)}
.contact-info-label{display:block;margin-bottom:9px;color:#6f99b2;font-size:9px;font-weight:800;letter-spacing:.24em}
.contact-info-block strong{display:block;color:#123c59;font:500 29px/1.2 Georgia,"Times New Roman",serif;letter-spacing:.01em}
.contact-info-block small{display:block;margin-top:8px;color:#8294a1;font-size:11px}
.contact-aside-links{margin-top:14px}
.contact-aside-links a{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid rgba(32,94,129,.12);color:#315d79;font-size:12px;font-weight:700;transition:color .2s ease,padding .2s ease}
.contact-aside-links a:hover{color:#0e3854;padding-left:4px}
.contact-aside-links b{font-weight:500}
.contact-page-form-panel{padding:46px 48px 50px;border:1px solid rgba(35,96,132,.13);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 24px 70px rgba(44,95,125,.08)}
.contact-form-intro{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:end;margin-bottom:30px;padding-bottom:22px;border-bottom:1px solid rgba(35,96,132,.13)}
.contact-form-intro>span{color:#75a7c3;font-size:9px;font-weight:800;letter-spacing:.25em}
.contact-form-intro h2{margin:0;color:#123c59;font:500 25px/1.25 Georgia,"Times New Roman",serif}
.contact-form-intro p{margin:0;color:#8798a4;font-size:10px}
.contact-form-intro em{color:#5a92b1;font-style:normal}
.contact-form-page{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.contact-form-page .form-row{margin-bottom:22px}
.contact-form-page .form-row>label>span{font-size:11px;letter-spacing:.02em;color:#375b70}
.contact-form-page input[type="text"],.contact-form-page input[type="email"],.contact-form-page input[type="tel"],.contact-form-page select,.contact-form-page textarea{border-radius:4px;border-color:rgba(38,91,122,.18);background:#f9fcfd;padding:13px 14px}
.contact-form-page textarea{min-height:190px}
.contact-form-page .consent{margin-top:5px;color:#718895}
.contact-form-page .contact-submit{margin-top:25px;min-height:62px;border-radius:4px;background:#123c59;letter-spacing:.08em}
.contact-form-page .contact-submit:hover{background:#0b2f49}
.contact-page-form-panel .contact-notice{max-width:none;margin:0 0 28px;border-radius:6px}
.contact-page-form-panel .contact-notice strong{display:inline-block;margin-bottom:3px}
@media(max-width:900px){
  .contact-page-hero{padding:145px 0 82px}
  .contact-page-layout{grid-template-columns:1fr;gap:42px}
  .contact-page-aside{position:static;padding:0;display:grid;grid-template-columns:1.15fr .85fr;column-gap:42px}
  .contact-page-aside-head{grid-row:1/3}
  .contact-info-block{margin-top:0}
  .contact-aside-links{margin-top:0}
  .contact-page-form-panel{padding:38px}
}
@media(max-width:600px){
  .contact-page-hero{padding:118px 0 66px}
  .contact-page-hero h1{font-size:42px}
  .contact-page-hero p{font-size:12px;line-height:1.9}
  .pc-only{display:none}
  .contact-page-body{padding:58px 0 72px}
  .contact-page-layout{gap:34px}
  .contact-page-aside{display:block}
  .contact-page-aside-head h2{font-size:31px}
  .contact-page-aside-head p{font-size:12px}
  .contact-info-block{margin-top:30px}
  .contact-page-form-panel{padding:26px 20px 30px;border-radius:14px}
  .contact-form-intro{grid-template-columns:1fr;gap:7px;align-items:start}
  .contact-form-intro h2{font-size:22px}
  .contact-form-intro p{margin-top:2px}
  .contact-form-page .form-row.two{grid-template-columns:1fr}
}
