*{box-sizing:border-box}
:root{
  --bg:#f4f1eb;
  --ink:#191a1d;
  --muted:#77746d;
  --line:#d9d2c7;
  --blue:#113b6d;
  --soft-blue:#dfe9f2;
  --warm:#d8a259;
  --green:#556b57;
  --card:#fffaf2;
  --black:#101113;
}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:Inter, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", sans-serif;
  letter-spacing:-.02em;overflow-x:hidden;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;
  background:
    radial-gradient(circle at 15% 10%,rgba(17,59,109,.18),transparent 28%),
    radial-gradient(circle at 80% 35%,rgba(216,162,89,.16),transparent 24%),
    linear-gradient(transparent,rgba(255,255,255,.22));
}
a{color:inherit;text-decoration:none}
.topbar{
  position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;
  padding:22px 34px;background:rgba(244,241,235,.76);backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(25,26,29,.08);
}
.logo{font-size:22px;font-weight:900;letter-spacing:-.08em;border:1px solid var(--ink);border-radius:50%;width:48px;height:48px;display:grid;place-items:center}
nav{display:flex;gap:24px;font-size:14px;color:var(--muted);font-weight:650}
nav a:hover{color:var(--ink)}
.top-cta{border:1px solid var(--ink);border-radius:999px;padding:10px 18px;font-weight:700;background:#fff;box-shadow:4px 4px 0 var(--ink)}
main,footer{position:relative;z-index:1}
.hero{min-height:820px;width:min(1280px,calc(100% - 56px));margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding:70px 0 90px}
.eyebrow,.section-kicker{font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);font-weight:800;margin-bottom:18px}
h1,h2,h3,p{margin-top:0}
.hero h1{font-size:clamp(72px,13vw,168px);line-height:.82;letter-spacing:-.12em;margin:0 0 8px}
.hero h2{font-size:clamp(42px,6vw,86px);line-height:.92;letter-spacing:-.08em;margin:0 0 22px;font-weight:900}
.lead{font-size:24px;color:var(--blue);font-weight:800;margin-bottom:18px}
.body-text{font-size:18px;line-height:1.8;color:#4e4d49;max-width:690px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.btn{border:1.5px solid var(--ink);border-radius:999px;padding:14px 22px;background:#fff;font-weight:800;box-shadow:5px 5px 0 var(--ink);transition:.25s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}
.btn.primary{background:var(--black);color:#fff}
.hero-stage{position:relative;min-height:620px}
.hero-photo{position:absolute;right:40px;top:25px;width:390px;border-radius:34px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.18);transform:rotate(2.5deg);border:1px solid rgba(25,26,29,.2)}
.hero-photo img{width:100%;height:560px;object-fit:cover;display:block}
.floating-card{position:absolute;z-index:3;background:var(--card);border:1px solid var(--ink);border-radius:22px;padding:18px 20px;box-shadow:7px 7px 0 var(--ink);min-width:190px}
.floating-card span{font-size:11px;letter-spacing:.14em;color:var(--muted);font-weight:800}
.floating-card strong{font-size:42px;line-height:1;display:block;margin:8px 0;color:var(--blue)}
.floating-card small{font-weight:700;color:#555}
.card-a{left:15px;top:150px;transform:rotate(-5deg)}
.card-b{right:0;bottom:130px;background:var(--soft-blue);transform:rotate(4deg)}
.card-c{left:40px;bottom:44px;background:#efe4d1;transform:rotate(-2deg)}
.section{width:min(1280px,calc(100% - 56px));margin:0 auto;padding:105px 0;border-top:1px solid rgba(25,26,29,.12)}
.section-title-row{display:grid;grid-template-columns:1fr .75fr;gap:44px;align-items:end;margin-bottom:34px}
.section h2{font-size:clamp(42px,6vw,82px);line-height:.95;letter-spacing:-.075em;margin-bottom:30px}
.section-title-row h2{margin-bottom:0}
.section-title-row p,.ai-copy p{font-size:18px;line-height:1.75;color:#5a5750}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.metric-grid article{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;min-height:160px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}
.metric-grid article:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(0,0,0,.09)}
.metric-grid b{font-size:46px;letter-spacing:-.08em;color:var(--blue)}
.metric-grid span{font-weight:750;color:#555}
.system-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.system-card{background:#fff;border:1px solid var(--line);border-radius:34px;padding:30px;min-height:560px;display:flex;flex-direction:column}
.system-card.dark{background:var(--black);color:#fff}
.num{font-size:64px;font-weight:900;letter-spacing:-.08em;color:var(--warm);margin-bottom:32px}
.system-card h3{font-size:26px;line-height:1.15;letter-spacing:-.04em}
.system-card p,.system-card li{color:#5e5b55;line-height:1.7}
.system-card.dark p,.system-card.dark li{color:#d5d2cc}
.system-card ul{padding-left:18px;margin-bottom:24px}
.flow{margin-top:auto;border-top:1px solid rgba(125,120,112,.28);padding-top:18px;font-size:14px;color:var(--blue);font-weight:800;line-height:1.6}
.dark .flow{color:#f4d8a8}
.campaign-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.campaign-card{position:relative;overflow:hidden;border-radius:30px;background:#111;min-height:420px;grid-column:span 4;border:1px solid rgba(25,26,29,.15)}
.campaign-card.large{grid-column:span 8;min-height:520px}
.campaign-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:.7s}
.campaign-card:hover img{transform:scale(1.05)}
.campaign-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.72))}
.campaign-info{position:absolute;left:24px;right:24px;bottom:22px;z-index:2;color:#fff}
.campaign-info span{font-size:12px;letter-spacing:.16em;color:#ead0a4;font-weight:850}
.campaign-info h3{font-size:30px;line-height:1.05;margin:10px 0}
.campaign-info p{color:#e7e1d6;line-height:1.6;margin:0}
.ai-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px}
.tool-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.tool-tags span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:700}
.workflow{display:grid;gap:12px}
.workflow div{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 22px;font-size:20px;font-weight:750}
.workflow b{display:inline-block;margin-right:14px;color:var(--blue)}
.tabs{display:flex;gap:12px;margin:30px 0 24px}
.tab{border:1px solid var(--ink);border-radius:999px;background:transparent;padding:12px 18px;font-weight:800;cursor:pointer}
.tab.active{background:var(--ink);color:#fff}
.masonry{columns:4 240px;column-gap:16px;display:none}
.masonry.active{display:block}
.work-item{break-inside:avoid;margin:0 0 16px;border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--line);position:relative}
.work-item img{width:100%;display:block}
.work-caption{padding:14px 16px;color:#57534d;font-weight:700;font-size:13px}
.sop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}
.sop-grid article{background:#fff;border:1px solid var(--line);border-radius:28px;padding:26px;min-height:260px}
.sop-grid span{display:block;font-size:48px;font-weight:900;color:var(--warm);letter-spacing:-.08em}
.sop-grid h3{font-size:22px;line-height:1.15}
.sop-grid p{color:#5c5851;line-height:1.7}
.contact{background:var(--black);color:#fff;width:100%;padding-left:max(28px,calc((100vw - 1280px)/2));padding-right:max(28px,calc((100vw - 1280px)/2));border-top:0}
.contact h2{max-width:980px}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.contact-grid a,.contact-grid span{border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:22px;background:rgba(255,255,255,.06);font-weight:800;color:#fff}
footer{width:min(1280px,calc(100% - 56px));margin:0 auto;padding:36px 0 56px;display:flex;justify-content:space-between;color:var(--muted);font-weight:700}
.cursor-dot{position:fixed;width:10px;height:10px;background:var(--blue);border-radius:50%;pointer-events:none;z-index:999;opacity:.0}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:980px){
  nav{display:none}.hero,.section-title-row,.ai-layout{grid-template-columns:1fr}
  .hero-stage{min-height:560px}.hero-photo{left:50%;right:auto;transform:translateX(-50%) rotate(1deg);width:min(380px,80vw)}
  .metric-grid{grid-template-columns:repeat(2,1fr)}.system-list{grid-template-columns:1fr}
  .campaign-card,.campaign-card.large{grid-column:span 12}
  .sop-grid,.contact-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .topbar{padding:16px 18px}.top-cta{display:none}
  .hero,.section,footer{width:calc(100% - 28px)}
  .hero{padding-top:42px;gap:24px}.hero h1{font-size:78px}.hero h2{font-size:44px}
  .lead{font-size:19px}.metric-grid,.sop-grid,.contact-grid{grid-template-columns:1fr}
  .section{padding:72px 0}.section h2{font-size:44px}
  .campaign-card,.campaign-card.large{min-height:460px}
  footer{display:block}
}
