:root{
  --croma-navy:#30297f;
  --croma-navy-deep:#211c5c;
  --croma-magenta:#c30079;
  --croma-blue:#009cdf;
  --croma-green:#80b03d;
  --croma-yellow:#ffec00;
  --croma-red:#c42e17;
  --croma-gray:#c4c4c4;
  --ink:#24233a;
  --muted:#6f6d82;
  --paper:#f7f7fb;
  --white:#ffffff;
  --line:#e7e5ef;
  --shadow:0 24px 70px rgba(48,41,127,.13);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.6}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
img{max-width:100%;display:block}
.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:14px clamp(20px,4vw,64px);background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(231,229,239,.86)}
.brand{display:flex;align-items:center;gap:12px;min-width:180px}.brand img{width:150px;height:42px;object-fit:contain;object-position:left center}.brand-tag{font-size:.68rem;font-weight:900;letter-spacing:.28em;color:var(--croma-navy);padding-left:10px;border-left:1px solid var(--line)}
.nav{display:flex;gap:28px;font-size:.92rem;color:#514f67}.nav a{position:relative;padding:10px 0}.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--croma-magenta);transition:.2s ease}.nav a:hover::after{right:0}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--croma-navy);color:#fff;padding:14px 22px;font-weight:800;transition:.2s ease;box-shadow:0 12px 28px rgba(48,41,127,.16)}.btn:hover{transform:translateY(-2px);background:var(--croma-navy-deep)}.btn-small{padding:11px 18px;font-size:.9rem}.btn-ghost{background:transparent;color:var(--croma-navy);border:1px solid rgba(48,41,127,.22);box-shadow:none}.btn-ghost:hover{background:#f1f0f8}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(390px,.97fr);align-items:center;gap:64px;min-height:82vh;padding:92px clamp(24px,6vw,96px);background:linear-gradient(180deg,#fff 0%,#f7f6fc 100%);overflow:hidden}.hero::before{content:"";position:absolute;width:430px;height:430px;border:92px solid rgba(0,156,223,.055);border-radius:50%;right:-210px;top:-160px}.hero-copy{position:relative;z-index:2;max-width:780px}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.18em;font-weight:900;font-size:.72rem;color:var(--croma-navy);margin-bottom:18px}.hero h1{font-size:clamp(3rem,6vw,6.15rem);line-height:.94;letter-spacing:-.055em;margin:0 0 26px;max-width:920px;color:var(--croma-navy-deep)}.hero p{font-size:clamp(1.05rem,1.45vw,1.28rem);color:var(--muted);max-width:700px;margin:0 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-values{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.hero-values span{font-size:.78rem;font-weight:800;letter-spacing:.04em;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;color:#5a5870}.hero-values span:nth-child(1){border-bottom:3px solid var(--croma-blue)}.hero-values span:nth-child(2){border-bottom:3px solid var(--croma-green)}.hero-values span:nth-child(3){border-bottom:3px solid var(--croma-yellow)}.hero-values span:nth-child(4){border-bottom:3px solid var(--croma-magenta)}
.hero-art{position:relative;min-height:560px}.hero-card{position:absolute;inset:84px 46px 70px 20px;border-radius:38px;background:linear-gradient(145deg,var(--croma-navy-deep),var(--croma-navy));color:#fff;padding:42px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 34px 90px rgba(48,41,127,.28);overflow:hidden}.hero-card::before{content:"";position:absolute;width:360px;height:360px;border:76px solid rgba(255,255,255,.07);border-radius:50%;right:-100px;top:-100px}.hero-card-kicker{position:relative;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;opacity:.74}.hero-card strong{position:relative;font-size:clamp(2rem,3.4vw,3.5rem);line-height:1;max-width:420px;margin-top:10px}.spectrum-line{position:relative;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;height:7px;margin-top:30px;border-radius:99px;overflow:hidden}.spectrum-line i:nth-child(1){background:var(--croma-magenta)}.spectrum-line i:nth-child(2){background:var(--croma-yellow)}.spectrum-line i:nth-child(3){background:var(--croma-green)}.spectrum-line i:nth-child(4){background:var(--croma-blue)}
.iris{position:absolute;border-radius:52% 48% 58% 42% / 44% 58% 42% 56%;transform:rotate(28deg);z-index:2}.iris-1{width:185px;height:185px;right:0;top:0;background:var(--croma-magenta)}.iris-2{width:140px;height:140px;right:8px;bottom:36px;background:var(--croma-yellow);transform:rotate(84deg)}.iris-3{width:128px;height:128px;left:0;bottom:0;background:var(--croma-blue);transform:rotate(-22deg)}
.section{padding:104px clamp(24px,6vw,96px)}.section-soft{background:var(--paper)}.section-dark{background:var(--croma-navy-deep);color:#fff;position:relative;overflow:hidden}.section-dark::after{content:"";position:absolute;width:520px;height:520px;border:105px solid rgba(255,255,255,.035);border-radius:50%;right:-260px;bottom:-250px}.section-heading{max-width:800px;margin-bottom:46px;position:relative;z-index:2}.section-heading h2,.about h2,.cta h2{font-size:clamp(2.2rem,4vw,4.2rem);line-height:1.02;letter-spacing:-.045em;margin:0}.section-heading p{color:rgba(255,255,255,.72);font-size:1.05rem;max-width:680px}.on-dark h2{color:#fff}.split-heading{display:flex;justify-content:space-between;gap:34px;max-width:none;align-items:end}.section-note{max-width:470px;color:var(--muted);margin:0}.eyebrow-light{color:rgba(255,255,255,.72)}
.journey-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:20px}.journey-card{min-height:390px;border-radius:32px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.journey-card::before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-80px;top:-70px;background:rgba(255,255,255,.1)}.journey-graphic{background:linear-gradient(145deg,#39318f,#2e2877)}.journey-paper{background:#fff;color:var(--ink)}.journey-paper::before{background:rgba(195,0,121,.055)}.journey-number{font-size:.78rem;font-weight:900;letter-spacing:.16em;opacity:.7}.journey-label{display:inline-block;font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;font-weight:900;margin-bottom:12px}.journey-graphic .journey-label{color:#dcd8ff}.journey-paper .journey-label{color:var(--croma-magenta)}.journey-card h3{font-size:clamp(1.8rem,3vw,3rem);line-height:1.02;letter-spacing:-.035em;margin:0 0 16px;max-width:600px}.journey-card p{max-width:560px;opacity:.78;margin:0 0 24px}.journey-card a{font-weight:900;font-size:.92rem}.journey-paper a{color:var(--croma-navy)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{position:relative;border:1px solid var(--line);border-radius:24px;padding:30px;background:#fff;min-height:270px;overflow:hidden;box-shadow:0 10px 35px rgba(35,32,68,.035)}.service-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:7px;background:currentColor}.service-card span{font-size:.73rem;font-weight:900;letter-spacing:.16em}.service-card h3{font-size:1.38rem;line-height:1.15;margin:62px 0 12px;color:var(--ink)}.service-card p{margin:0;color:var(--muted)}.accent-magenta{color:var(--croma-magenta)}.accent-blue{color:var(--croma-blue)}.accent-yellow{color:#ad9f00}.accent-green{color:var(--croma-green)}
.search-box{width:min(430px,100%);display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:12px 18px;box-shadow:0 8px 26px rgba(48,41,127,.05)}.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filter-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;cursor:pointer;color:#56536b;font-weight:700}.filter-btn.active{background:var(--croma-navy);color:#fff;border-color:var(--croma-navy)}.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;min-height:292px;cursor:pointer;transition:.2s ease}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(48,41,127,.18)}.product-media{height:154px;background:linear-gradient(145deg,#efeff8,#fafafe);display:grid;place-items:center;font-size:2.5rem;position:relative}.product-media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--croma-magenta) 0 25%,var(--croma-yellow) 25% 50%,var(--croma-green) 50% 75%,var(--croma-blue) 75%)}.product-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}.product-category{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:var(--croma-navy);font-weight:900}.product-body h3{font-size:1.12rem;line-height:1.2;margin:0}.product-body p{color:var(--muted);font-size:.92rem;margin:0}.product-more{margin-top:auto;padding-top:12px;font-size:.9rem;font-weight:900;color:var(--croma-navy)}
.portfolio-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1.2fr;grid-auto-rows:245px;gap:18px}.portfolio-card{border-radius:28px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:26px;color:#fff;font-weight:900;font-size:1.12rem;box-shadow:0 14px 38px rgba(26,24,57,.08)}.portfolio-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(24,20,68,.72))}.portfolio-card span{position:relative;z-index:1}.portfolio-a{background:linear-gradient(140deg,#40388e,#211c5c);grid-row:span 2}.portfolio-b{background:linear-gradient(140deg,#d51b87,#96005c)}.portfolio-c{background:linear-gradient(140deg,#fff176,#e6d200);color:#332f00}.portfolio-d{background:linear-gradient(140deg,#10a8e9,#076ea2);grid-column:span 2}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:76px;align-items:start}.about-copy{max-width:720px}.about-copy p{font-size:1.08rem;color:var(--muted);margin:0 0 20px}.about-copy blockquote{margin:34px 0 0;padding:24px 28px;border-left:5px solid var(--croma-magenta);background:#f7f6fb;border-radius:0 18px 18px 0;color:var(--croma-navy);font-size:1.08rem;font-weight:750}
.brand-principles{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.brand-principles article{padding:38px clamp(22px,3vw,44px);border-right:1px solid var(--line)}.brand-principles article:last-child{border-right:0}.brand-principles strong{display:block;font-size:.72rem;letter-spacing:.16em;color:var(--croma-magenta);margin-bottom:35px}.brand-principles span{display:block;font-size:1.3rem;font-weight:900;color:var(--croma-navy);margin-bottom:8px}.brand-principles p{margin:0;color:var(--muted);font-size:.94rem}
.cta{margin:72px clamp(18px,4vw,64px) 64px;border-radius:34px;padding:68px clamp(28px,5vw,72px);background:linear-gradient(135deg,var(--croma-navy-deep),var(--croma-navy));color:#fff;display:flex;align-items:center;justify-content:space-between;gap:34px;position:relative;overflow:hidden}.cta::after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;border:70px solid rgba(255,255,255,.055);right:-120px;bottom:-160px}.cta h2{max-width:820px;position:relative;z-index:1}.btn-light{background:#fff;color:var(--croma-navy);box-shadow:none;white-space:nowrap;position:relative;z-index:2}.btn-light:hover{background:#f4f2fb}
.footer{padding:34px clamp(24px,6vw,96px);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;color:var(--muted);font-size:.88rem}.footer-brand img{width:140px}
.modal{width:min(620px,calc(100vw - 30px));border:0;border-radius:26px;padding:0;box-shadow:0 30px 100px rgba(31,27,86,.3)}.modal::backdrop{background:rgba(26,22,75,.55);backdrop-filter:blur(4px)}.modal-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:50%;background:#f1f0f7;cursor:pointer;font-size:1.4rem}.modal-inner{padding:36px}.modal-badge{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--croma-magenta);font-weight:900}.modal-inner h3{font-size:2rem;line-height:1.05;margin:10px 0 14px;color:var(--croma-navy)}.modal-inner p{color:var(--muted)}.empty-state{grid-column:1/-1;padding:40px;background:#fff;border:1px dashed #c9c6d6;border-radius:18px;text-align:center;color:var(--muted)}
@media(max-width:1100px){.nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-art{min-height:470px}.service-grid,.catalog-grid{grid-template-columns:repeat(2,1fr)}.portfolio-grid{grid-template-columns:1fr 1fr}.portfolio-a{grid-row:span 1}.portfolio-d{grid-column:span 1}.about{grid-template-columns:1fr}.brand-principles{grid-template-columns:1fr 1fr}.brand-principles article:nth-child(2){border-right:0}.brand-principles article:nth-child(-n+2){border-bottom:1px solid var(--line)}.cta{flex-direction:column;align-items:flex-start}}
@media(max-width:760px){.site-header{padding:12px 18px}.brand img{width:126px;height:36px}.site-header>.btn{display:none}.hero,.section{padding:72px 20px}.hero{gap:24px}.hero h1{font-size:clamp(2.8rem,15vw,4.7rem)}.hero-art{min-height:350px}.hero-card{inset:44px 28px 34px 8px;padding:28px;border-radius:28px}.hero-card strong{font-size:1.85rem}.iris-1{width:120px;height:120px}.iris-2{width:95px;height:95px;bottom:18px}.iris-3{width:92px;height:92px}.journey-grid{grid-template-columns:1fr}.journey-card{min-height:330px;padding:28px}.split-heading{display:block}.search-box{margin-top:24px}.service-grid,.catalog-grid,.portfolio-grid{grid-template-columns:1fr}.portfolio-grid{grid-auto-rows:205px}.brand-principles{grid-template-columns:1fr}.brand-principles article{border-right:0;border-bottom:1px solid var(--line)}.brand-principles article:last-child{border-bottom:0}.cta{margin:52px 14px 40px;padding:44px 24px}.footer{flex-direction:column;align-items:flex-start}.hero-values{display:grid;grid-template-columns:1fr 1fr}}
