/*
Theme Name: CES LAGNAX Complete
Theme URI: https://coat-es.jp/
Author: Codex
Description: CES / LAGNAX のWordPressテーマ
Version: 1.1.0
Text Domain: ces-lagnax
*/

:root{
  --navy:#0d1b3d;
  --blue:#073f79;
  --ice:#f3f7fb;
  --line:#d8e0e9;
  --ink:#10264c;
  --muted:#637086;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
  background:#fff;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
p{line-height:1.9;margin:0 0 1rem}
h1,h2,h3,h4{letter-spacing:.04em;line-height:1.25;margin:0 0 .75rem}

.site-header{
  min-height:70px;
  padding:0 4vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:sticky;
  top:0;
  background:#fffc;
  backdrop-filter:blur(15px);
  z-index:99;
  border-bottom:1px solid #edf1f5;
}
.ces-logo{
  display:flex;
  align-items:center;
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
  line-height:1;
}
.ces-logo img{
  display:block;
  width:min(360px,28vw);
  min-width:170px;
  height:auto;
}
.site-header nav{
  display:flex;
  gap:2rem;
  align-items:center;
}
.site-header nav a{
  font-size:.82rem;
  font-weight:700;
  display:flex;
  align-items:center;
  height:70px;
  border-bottom:2px solid transparent;
}
.site-header nav a.current_page_item,
.site-header nav a:hover,
.site-header nav a.current-menu-item{
  border-color:var(--blue);
}
.menu-button{
  display:none;
  border:0;
  background:none;
  font-size:1.5rem;
  cursor:pointer;
}

.site-main{display:block}
.section-shell,.section{
  width:min(1200px,88vw);
  margin:auto;
  padding:5rem 0;
}
.eyebrow,.breadcrumb,.section-heading > p{
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.18em;
  color:var(--blue);
  text-transform:uppercase;
}
.home-hero-copy .eyebrow{
  text-transform:none;
  letter-spacing:.08em;
}

.button,
.action,
.button-link{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:1rem 1.4rem;
  border:0;
  border-radius:4px;
  background:var(--blue);
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.button.secondary,
.button-link.secondary{
  background:#fff;
  color:var(--blue);
  border:1px solid var(--blue);
}

.page-image{
  margin:0;
}
.page-image img{
  width:100%;
  display:block;
  border-radius:18px;
  box-shadow:0 18px 50px rgba(4,14,36,.18);
}
.brand-image{
  display:block;
  width:min(420px,100%);
  height:auto;
  margin-top:1rem;
}

.home-hero{
  min-height:760px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#f8fbff,#edf4fb);
}
.home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 16% 18%,rgba(255,255,255,.92),rgba(255,255,255,.72) 24%,transparent 46%),
    linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.72) 30%,rgba(255,255,255,.16) 54%,rgba(255,255,255,.02) 100%);
  pointer-events:none;
  z-index:1;
}
.home-hero-image{
  position:absolute;
  inset:0;
  margin:0;
}
.home-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.home-hero-copy{
  position:relative;
  z-index:2;
  width:min(760px,82vw);
  padding:4.2rem 0 3rem 6vw;
}
.home-hero h1{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(3.4rem,5.8vw,6.3rem);
  line-height:1.05;
  margin:.2rem 0 .8rem;
  letter-spacing:.02em;
  text-shadow:0 1px 0 rgba(255,255,255,.6);
}
.home-hero h1 span{display:block}
.home-lead{
  max-width:680px;
  font-size:1rem;
  font-weight:700;
  color:#142a57;
}
.home-lead span{
  display:block;
  margin-top:.7rem;
  font-weight:500;
  color:#4d5e7d;
}
.button-row,.buttons{
  display:flex;
  gap:1rem;
  margin-top:2rem;
  flex-wrap:wrap;
}

.home-band,.brand-band{
  width:min(1200px,88vw);
  margin:auto;
  padding:3rem;
  color:#fff;
  background:linear-gradient(115deg,#071c3e,#073d6b);
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:3rem;
  align-items:center;
}
.cta{
  width:100%;
  margin:0;
  padding:3rem max(5vw,32px);
  color:var(--ink);
  background:#fff;
  display:grid;
  grid-template-columns:minmax(0,1200px);
  justify-content:center;
  border-top:1px solid rgba(13,27,61,.08);
}
.cta > *{
  width:min(1200px,100%);
}
.cta{
  grid-template-columns:1fr auto;
  align-items:center;
  gap:3rem;
}
.home-band{
  border-radius:20px;
  box-shadow:0 24px 70px #06173433;
  margin-top:-3.2rem;
  position:relative;
  z-index:3;
}
.home-band small{letter-spacing:.18em;color:#aab9db;font-weight:800}
.home-band h2,
.brand-band h2,
.cta h2{margin:.2rem 0;font-size:2rem;color:#102b5c}
.home-band p,
.brand-band p{margin:0;color:#d8e3f4}
.cta p{margin:0;color:#102b5c}

.section-heading{
  text-align:center;
  max-width:820px;
  margin:0 auto 3rem;
}
.section-heading.left{text-align:left;margin-left:0}
.section-heading h2{font-size:clamp(1.8rem,3vw,2.8rem)}
.section-heading span{color:var(--muted)}

.material-visual{
  position:relative;
  width:min(680px,100%);
  height:420px;
  margin-left:auto;
}
.material-visual .city-lines{
  position:absolute;
  inset:22px 0 auto;
  height:52px;
  border-radius:18px;
  background:
    linear-gradient(90deg,transparent 0 10%,rgba(255,255,255,.75) 10% 11%,transparent 11% 20%,rgba(255,255,255,.75) 20% 22%,transparent 22% 34%,rgba(255,255,255,.75) 34% 35%,transparent 35% 52%,rgba(255,255,255,.75) 52% 54%,transparent 54% 66%,rgba(255,255,255,.75) 66% 67%,transparent 67% 100%),
    linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.1));
  opacity:.75;
  filter:blur(.2px);
}
.material-visual .sample{
  position:absolute;
  border-radius:10px;
  box-shadow:0 24px 50px rgba(0,0,0,.16);
}
.material-visual .concrete{
  left:7%;
  bottom:4%;
  width:78%;
  height:120px;
  background:linear-gradient(180deg,#d7dce3,#9ea7b0 65%,#848e98);
  transform:skewX(-20deg);
}
.material-visual .metal{
  left:22%;
  bottom:16%;
  width:62%;
  height:92px;
  background:linear-gradient(180deg,#f8fbff,#d7e3ee 48%,#98a9bb);
  transform:skewX(-20deg);
}
.material-visual .glass{
  left:34%;
  top:94px;
  width:60%;
  height:176px;
  background:linear-gradient(180deg,rgba(201,233,255,.8),rgba(120,192,230,.25));
  border:1px solid rgba(255,255,255,.6);
  backdrop-filter:blur(2px);
}
.material-visual .glass i{
  position:absolute;
  display:block;
  width:18px;height:18px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#fff,#c8e0ee 60%,#87b6cf);
  box-shadow:0 0 0 2px rgba(255,255,255,.35);
}
.material-visual .glass i:nth-child(1){left:10%;top:18%}
.material-visual .glass i:nth-child(2){left:24%;top:34%}
.material-visual .glass i:nth-child(3){left:45%;top:16%}
.material-visual .glass i:nth-child(4){left:60%;top:36%}
.material-visual .glass i:nth-child(5){left:76%;top:23%}
.material-visual .glass i:nth-child(6){left:84%;top:48%;width:26px;height:26px}
.material-visual .glass i:nth-child(7){left:56%;top:58%;width:24px;height:24px}
.material-visual .glass i:nth-child(8){left:18%;top:66%}
.material-visual .glass i:nth-child(9){left:35%;top:78%}
.material-visual .glass i:nth-child(10){left:72%;top:74%}
.material-visual .glass i:nth-child(11){left:12%;top:46%;width:14px;height:14px}
.material-visual .glass i:nth-child(12){left:43%;top:49%;width:14px;height:14px}

.business-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.2rem;
}
.business-card{
  min-height:210px;
  padding:2rem;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 10px 30px rgba(17,43,84,.06);
}
.business-card span{
  display:block;
  font-size:2rem;
  font-weight:900;
  color:var(--blue);
  margin-bottom:1rem;
}
.business-card p{color:var(--muted)}

.brand-band{
  margin-top:4rem;
}
.lagnax-mark{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-top:.4rem;
}
.lagnax-mark .molecule{
  width:78px;height:78px;
  position:relative;
  display:block;
}
.lagnax-mark .molecule i{
  position:absolute;
  width:16px;height:16px;border-radius:50%;
  background:linear-gradient(180deg,#e7e7e7,#9d9d9d);
  box-shadow:0 0 0 1px rgba(255,255,255,.6);
}
.lagnax-mark .molecule i:nth-child(1){left:4px;top:28px}
.lagnax-mark .molecule i:nth-child(2){left:26px;top:8px}
.lagnax-mark .molecule i:nth-child(3){left:48px;top:28px}
.lagnax-mark .molecule i:nth-child(4){left:26px;top:48px}
.lagnax-mark .shield{
  width:58px;height:58px;
  display:block;
  border-radius:30% 30% 38% 38%/20% 20% 60% 60%;
  background:linear-gradient(180deg,#1b2d5d,#0d1b3d 55%,#081126);
  border:3px solid #fff;
  box-shadow:0 0 0 4px #0f2a5e;
}
.lagnax-mark .wordmark{
  font-size:clamp(2rem,4vw,3.8rem);
  font-weight:900;
  letter-spacing:.05em;
  color:#fff;
}
.lagnax-mark.compact .wordmark{font-size:2.2rem}
.lagnax-mark .wordmark span{color:#d9e0ea}

.home-bottom,
.two-bases{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.4rem;
}
.home-bottom article,
.two-bases article{
  padding:2.5rem;
  background:var(--ice);
  border-top:3px solid var(--blue);
}
.text-link{
  border:0;
  background:none;
  color:var(--blue);
  font-weight:800;
  padding:0;
  cursor:pointer;
}

.page-hero{
  min-height:310px;
  padding:4rem 7vw;
  background:linear-gradient(100deg,#fff,#eaf6fc);
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:2rem;
  align-items:center;
}
.page-hero h1{
  font:clamp(3rem,5vw,5rem) "Yu Mincho","Hiragino Mincho ProN",serif;
  margin:.4rem 0;
}
.page-hero h2{font:1.3rem "Yu Mincho","Hiragino Mincho ProN",serif}
.page-hero-art{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:1rem;
  min-height:180px;
}
.page-hero-art span{
  display:block;
  width:100%;
  max-width:120px;
  height:80px;
  border-radius:16px;
  background:linear-gradient(180deg,#e8f2fb,#8cb7d8);
  border:1px solid rgba(13,27,61,.08);
  box-shadow:0 14px 28px rgba(13,27,61,.10);
}
.page-hero-art span:nth-child(1){height:120px;background:linear-gradient(180deg,#eef5fc,#cfe1f2)}
.page-hero-art span:nth-child(2){height:90px;background:linear-gradient(180deg,#dcecff,#7eb0d8)}
.page-hero-art span:nth-child(3){height:140px;background:linear-gradient(180deg,#edf4fb,#abc7dd)}
.page-hero-photo{
  min-height:220px;
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 18px 42px rgba(13,27,61,.12);
}
.page-hero-photo img{
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
  object-position:center;
  display:block;
}

.business-list{
  border-top:2px solid var(--navy);
}
.business-list article{
  display:grid;
  grid-template-columns:140px 1fr;
  align-items:center;
  padding:2rem 0;
  border-bottom:1px solid var(--line);
}
.business-scene{
  height:96px;
  border-radius:14px;
  background:linear-gradient(120deg,#e5eef8,#9cb9d3);
  margin-right:1rem;
  position:relative;
  overflow:hidden;
}
.business-scene.lab{background:linear-gradient(120deg,#edf4fb,#d7e4f1)}
.business-scene.infra{background:linear-gradient(120deg,#e8eef4,#8fb1ca)}
.business-scene.test{background:linear-gradient(120deg,#eef4f7,#b3c6d6)}
.business-scene.network{background:linear-gradient(120deg,#e3e9f0,#7e9dbc)}
.business-scene::before{
  content:"";
  position:absolute;
  inset:auto 10px 10px 10px;
  height:18px;
  border-radius:10px;
  background:rgba(13,27,61,.15);
}
.business-scene span,
.business-scene i,
.business-scene b{
  position:absolute;
  display:block;
  border-radius:50%;
  background:rgba(255,255,255,.65);
}
.business-scene span{width:20px;height:20px;left:16px;top:20px}
.business-scene i{width:14px;height:14px;left:52px;top:28px}
.business-scene b{width:28px;height:28px;right:16px;bottom:16px}
.business-photo{
  height:160px;
  overflow:hidden;
  border-radius:14px;
  background:#eef3f8;
}
.business-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.business-list .number{
  display:inline-block;
  font-size:3rem;
  font-weight:900;
  color:var(--blue);
  margin-bottom:.6rem;
}
.business-list p{color:var(--muted)}

.lagnax-hero{
  padding:6rem 7vw;
  color:#fff;
  background:radial-gradient(circle at 80% 20%,#1b668b,transparent 30%),var(--navy);
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);
  gap:3rem;
  align-items:center;
}
.lagnax-hero-left{
  align-self:start;
}
.lagnax-hero-copy{
  max-width:720px;
}
.lagnax-hero h1{
  font:clamp(2.5rem,5vw,5rem) "Yu Mincho","Hiragino Mincho ProN",serif;
  margin:0 0 .6rem;
}
.lagnax-hero h2{font-size:1.7rem}
.lagnax-hero p:last-child{
  max-width:700px;
  margin:1rem 0 0;
  line-height:2;
}
.master-badge{margin-top:1.2rem}
.master-badge img{display:block;width:min(360px,100%);height:auto}
.lagnax-intro{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:2rem;
  align-items:center;
}
.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.feature-grid article{
  padding:1.5rem;
  border:1px solid var(--line);
  background:#fff;
  border-radius:20px;
  box-shadow:0 10px 30px rgba(9,34,79,.06);
}
.feature-grid p{color:var(--muted)}
.feature-icon{
  display:block;
  width:62px;height:62px;
  margin-bottom:1rem;
  position:relative;
  border-radius:18px;
  background:linear-gradient(180deg,#f7fbff,#edf4ff);
  box-shadow:inset 0 0 0 1px rgba(13,59,109,.08);
}
.feature-icon.transparent::before,
.feature-icon.droplet::before,
.feature-icon.checklist::before{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:14px;
  border:2px solid rgba(13,59,109,.2);
}
.feature-icon.transparent::after{
  content:"";
  position:absolute;
  left:18px;
  top:12px;
  width:26px;
  height:34px;
  border-radius:9px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(209,229,249,.68)),
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(13,107,192,.14));
  border:2px solid rgba(13,107,192,.32);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.7),
    9px 7px 0 -5px rgba(13,107,192,.18);
  transform:skew(-10deg);
}
.feature-icon.droplet::after{
  content:"";
  position:absolute;
  width:24px;
  height:32px;
  left:19px;
  top:11px;
  background:linear-gradient(180deg,#eff8ff 0%,#8cc3ef 35%,#0d6bc0 100%);
  clip-path:path("M12 0 C18 8 24 14 24 21 C24 28 18.6 32 12 32 C5.4 32 0 28 0 21 C0 14 6 8 12 0 Z");
  box-shadow:inset 0 2px 4px rgba(255,255,255,.45);
}
.feature-icon.checklist::after{
  content:"";
  position:absolute;
  left:17px;
  top:17px;
  width:28px;
  height:20px;
  border-left:4px solid var(--blue);
  border-bottom:4px solid var(--blue);
  transform:rotate(-45deg);
}
.lagnax-infographic{
  padding-top:1rem;
}
.section-heading.center{
  text-align:center;
}
.section-heading.center p,
.section-heading.center h2{
  margin-left:auto;
  margin-right:auto;
}
.section-heading.center p:last-child{
  max-width:920px;
}
.lagnax-infographic-figure{
  margin:2rem 0 0;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 42px rgba(13,27,61,.08);
  border:1px solid rgba(13,27,61,.08);
}
.lagnax-infographic-figure img{
  display:block;
  width:100%;
  height:auto;
}

.fields{
  width:100%;
  padding-left:6vw;
  padding-right:6vw;
  background:var(--ice);
}
.field-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:.8rem;
}
.field-grid article{
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 2px 10px rgba(9,22,61,.08);
  border:1px solid rgba(13,27,61,.08);
  padding:0;
}
.field-grid article .thumb{
  margin:0;
  height:122px;
  background:#dce9f3;
}
.field-grid article .thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.field-grid article>div{padding:.8rem .8rem .95rem}
.field-grid span{
  display:block;
  font:700 1.5rem/1 "Yu Gothic",sans-serif;
  color:var(--blue);
  margin-bottom:.35rem;
}
.field-grid h3{margin:0;font-size:.98rem;line-height:1.35}

.flow{
  width:min(1200px,88vw);
}
.lagnax-products{
  padding-top:2rem;
}
.product-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.6rem;
}
.product-card{
  background:#fff;
  border:1px solid rgba(13,27,61,.08);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 14px 36px rgba(13,27,61,.08);
}
.product-photo{
  margin:0;
  background:#f6f8fb;
  aspect-ratio:4/3;
  overflow:hidden;
}
.product-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.product-copy{
  padding:1.4rem 1.4rem 1.6rem;
}
.product-copy h3{
  margin-bottom:.6rem;
  font-size:1.05rem;
}
.product-copy p{
  margin:0;
  color:var(--muted);
}
.steps{
  list-style:none;
  padding:0;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1.5rem;
}
.steps li{text-align:center}
.steps span{
  width:52px;height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 auto 1rem;
  background:var(--navy);
  color:#fff;
}
.note,.flow-note{
  text-align:center;
  background:var(--ice);
  padding:1rem;
}
.evaluation{
  padding:4rem 8vw;
  background:#fff;
  color:#102b5c;
}
.evaluation p{max-width:780px;color:#102b5c}
.evidence-tiles{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:.8rem;
  margin-top:1.5rem;
}
.evidence-tiles span{
  display:grid;
  place-items:center;
  min-height:94px;
  border-radius:12px;
  background:#f6f8fb;
  border:1px solid rgba(13,27,61,.10);
  color:#102b5c;
  font-weight:800;
  letter-spacing:.12em;
}

.profile{
  border-top:2px solid var(--navy);
}
.profile div{
  display:grid;
  grid-template-columns:220px 1fr;
  border-bottom:1px solid var(--line);
}
.profile dt,.profile dd{
  padding:1.5rem;
  margin:0;
}
.profile dt{
  font-weight:800;
  background:var(--ice);
}
.profile dd{line-height:1.8}
.message{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:5rem;
  border-top:1px solid var(--line);
}
.message-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:2.5rem;
  align-items:start;
}
.message-copy{
  min-width:0;
}
.message-photo{
  margin:0;
  position:sticky;
  top:120px;
}
.message-photo img{
  display:block;
  width:100%;
  height:auto;
  border-radius:20px;
  box-shadow:0 24px 60px rgba(7,21,46,.12);
  background:#f3f7fb;
}
.message>div:last-child p{
  line-height:2.2;
  color:#334760;
}
.signature{text-align:right;margin-top:3rem}
.signature strong{font:1.8rem "Yu Mincho","Hiragino Mincho ProN",serif}

.contact{
  display:grid;
  grid-template-columns:.7fr 1fr;
  gap:5rem;
}
.contact-copy{
  padding:1rem 0;
}
.contact-note{
  margin-top:1.5rem;
  padding:1.2rem;
  border:1px solid var(--line);
  background:#fff;
}
.contact aside{
  padding:1.5rem;
  background:var(--ice);
  border-left:4px solid var(--blue);
}
.mail-link{margin-top:1rem}
.mail-link a{
  font-weight:800;
  color:var(--blue);
  text-decoration:underline;
  text-underline-offset:.18em;
}
.contact form,
form{
  padding:2rem;
  background:var(--ice);
  display:grid;
  gap:1.2rem;
  border:1px solid #e0e7ef;
  border-radius:14px;
}
.form-message{
  padding:1rem 1.2rem;
  border-radius:12px;
  font-weight:700;
  line-height:1.7;
}
.form-message.success{
  background:#eaf6ee;
  color:#1d5b35;
  border:1px solid rgba(29,91,53,.16);
}
.form-message.error{
  background:#fff1f1;
  color:#8b2430;
  border:1px solid rgba(139,36,48,.14);
}
form label{
  display:grid;
  gap:.5rem;
  font-weight:700;
}
input,select,textarea{
  width:100%;
  padding:.9rem;
  border:1px solid #c7d2dc;
  background:#fff;
  font:inherit;
}
.consent{display:flex;align-items:center;gap:.6rem}
.consent input{width:auto}
.form-note{
  font-size:.78rem;
  color:var(--muted);
}
.policy{
  max-width:900px;
}
.policy>p:first-child{
  padding:1.2rem;
  background:var(--ice);
  border-left:4px solid var(--blue);
}
.policy h2{margin-top:2.5rem}
.date{text-align:right}

.page-body{
  max-width:900px;
}
.page-body h1{
  font:clamp(2.2rem,4vw,3.4rem) "Yu Mincho","Hiragino Mincho ProN",serif;
  margin-bottom:1rem;
}
.page-body p{
  color:#334760;
}
.coming-soon-box{
  margin-top:2rem;
  padding:2.2rem;
  border:1px solid var(--line);
  border-left:4px solid var(--blue);
  background:linear-gradient(180deg,#f8fbff,#eef4fa);
  border-radius:14px;
}
.coming-soon-box small{
  display:block;
  margin-bottom:.8rem;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.16em;
  color:var(--blue);
}
.coming-soon-box strong{
  display:block;
  margin-bottom:.8rem;
  font-size:1.5rem;
  color:var(--navy);
}

footer{
  padding:4rem 6vw 2rem;
  background:#07152e;
  color:#fff;
}
footer>div{
  display:flex;
  align-items:baseline;
  gap:1rem;
  border-bottom:1px solid #ffffff33;
  padding-bottom:2rem;
}
footer .footer-brand,
footer .footer-bottom{
  justify-content:space-between;
  flex-wrap:wrap;
}
footer strong{font-size:2rem}
footer .footer-nav{
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
  margin:2rem 0;
  font-size:.8rem;
}
footer small{color:#8494aa}

@media(max-width:900px){
  header nav{
    display:none;
    position:absolute;
    top:70px;
    left:0;
    right:0;
    height:auto;
    background:#fff;
    padding:.5rem 1rem 1rem;
    border-bottom:1px solid #e7edf4;
    box-shadow:0 14px 30px rgba(10,23,52,.08);
    gap:0;
  }
  header nav.open{display:grid}
  header nav a{
    height:auto;
    min-height:0;
    padding:1rem 0;
    border-bottom:1px solid #eef2f6;
  }
  header nav a:last-child{border-bottom:0}
  .menu-button{display:block}
  .home-hero,.brand-band,.contact,.message,.split-image,.lagnax-hero,.lagnax-intro,.profile div{
    grid-template-columns:1fr;
  }
  .home-hero{min-height:620px}
  .home-hero-copy{padding:3.8rem 6vw 2.4rem}
  .home-lead{font-size:.96rem}
  .home-band{grid-template-columns:1fr;display:grid;margin-top:-2rem}
  .business-card-grid,.feature-grid,.field-grid,.steps,.evidence-tiles,.home-bottom,.two-bases{
    grid-template-columns:1fr;
  }
  .product-grid{
    grid-template-columns:1fr;
  }
  .material-visual{height:320px}
  .brand-band{grid-template-columns:1fr}
  .profile dt,.profile dd{padding:1rem}
  .page-hero{
    grid-template-columns:1fr;
    padding:3rem 6vw;
  }
  .page-hero-photo{
    min-height:200px;
    order:2;
  }
  .page-hero>div:first-child{order:1}
  .business-list article{
    grid-template-columns:120px 1fr;
    gap:1rem;
  }
  .business-photo{height:120px}
  .field-grid article .thumb{height:112px}
  .contact{gap:2rem}
  .message{gap:2rem}
  .message-grid{
    grid-template-columns:1fr;
  }
  .message-photo{
    position:static;
    max-width:320px;
  }
  footer>div{
    flex-direction:column;
    align-items:flex-start;
  }
}
@media(max-width:600px){
  .home-hero{min-height:560px}
  .home-hero h1{font-size:2.45rem}
  .home-hero-copy{
    width:min(100%,88vw);
    padding:2.8rem 6vw 2rem;
  }
  .home-band,.brand-band,.cta{padding:1.5rem}
  .cta{padding:1.5rem max(5vw,20px)}
  .buttons,.split,.cta,.contact{display:grid;grid-template-columns:1fr}
  .button{width:100%}
  .section,.section-shell{padding:3rem 0}
  .section-shell,.section{width:min(1200px,90vw)}
  .field-grid{grid-template-columns:1fr}
  .business-list article{
    grid-template-columns:1fr;
    gap:1rem;
    padding:1.4rem 0;
  }
  .business-photo{
    height:180px;
    margin-right:0;
  }
  .business-list .number{
    font-size:2.4rem;
    margin-bottom:.4rem;
  }
  .page-hero{
    min-height:0;
    padding:2.4rem 5vw;
    gap:1.2rem;
  }
  .page-hero h1{
    font-size:2.3rem;
    line-height:1.18;
  }
  .page-hero p{line-height:1.75}
  .page-hero-photo{
    min-height:170px;
    border-radius:14px;
  }
  .brand-image.master{width:min(170px,58vw)}
  .feature-grid{grid-template-columns:1fr}
  .fields{
    padding-left:5vw;
    padding-right:5vw;
  }
  .field-grid article .thumb{height:180px}
  .steps li{text-align:left}
  .steps span{margin:0 0 .8rem}
  .evidence-tiles{grid-template-columns:1fr 1fr}
  .profile dt,.profile dd{padding:.95rem 0}
  .contact form,form{padding:1.3rem}
  .contact aside{padding:1.1rem}
  .policy h2{font-size:1.25rem}
  .page-body h1{font-size:2rem}
  .coming-soon-box{
    padding:1.4rem;
    margin-top:1.4rem;
  }
  .coming-soon-box strong{
    font-size:1.2rem;
  }
  footer{padding:3rem 5vw 2rem}
  footer strong{font-size:1.6rem}
}
@media(max-width:420px){
  .site-header{
    min-height:64px;
    padding:0 5vw;
  }
  .ces-logo img{
    width:min(250px,52vw);
    min-width:145px;
  }
  header nav{top:64px}
  .site-header nav a{font-size:.92rem}
  .home-hero h1{font-size:2.1rem}
  .home-lead{font-size:.9rem}
  .button,
  .action,
  .button-link{padding:.95rem 1.1rem}
  .page-hero h1{font-size:2rem}
  .brand-band h2,
  .cta h2{font-size:1.45rem}
  .field-grid article .thumb,
  .business-photo{height:160px}
  .evidence-tiles{grid-template-columns:1fr}
}