.cmps-page{
  --cmps-ink:#241a2d;
  --cmps-muted:#6d6173;
  --cmps-purple:#8324e4;
  --cmps-purple-dark:#5a2d78;
  --cmps-pink:#d66aa4;
  --cmps-line:rgba(67,41,81,.12);
  --cmps-soft:#f8f3fc;
  color:var(--cmps-ink);
  background:#fff;
}
.cmps-page *{box-sizing:border-box}
.cmps-shell{width:min(1120px,calc(100% - 40px));margin-inline:auto}
.cmps-kicker{
  margin:0 0 12px;
  color:var(--cmps-purple);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.cmps-page h1,.cmps-page h2,.cmps-page h3{color:var(--cmps-ink)}
.cmps-page h1{
  margin:0;
  font-size:clamp(3rem,6.4vw,6rem);
  line-height:.93;
  letter-spacing:-.06em;
}
.cmps-lead{
  max-width:700px;
  margin:24px 0 0;
  color:#5f5266;
  font-size:clamp(1.08rem,1.7vw,1.28rem);
  line-height:1.7;
}
.cmps-role{
  margin:15px 0 0;
  color:var(--cmps-purple);
  font-size:.94rem;
  font-weight:800;
}

/* ABOUT */
.cmps-about-hero{
  padding:72px 0 64px;
  background:
    radial-gradient(circle at 88% 12%,rgba(214,106,164,.12),transparent 24%),
    linear-gradient(135deg,#f1e4ff,#fff5fa 62%,#fff);
}
.cmps-about-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);
  gap:58px;
  align-items:center;
}
.cmps-about-photo{
  min-height:500px;
  border-radius:34px;
  overflow:hidden;
  background:#eee7f2;
  box-shadow:0 26px 64px rgba(52,31,62,.13);
}
.cmps-about-photo img{display:block;width:100%;height:100%;min-height:500px;object-fit:cover}
.cmps-photo-placeholder{position:relative;min-height:500px;background:linear-gradient(145deg,#efe2ff,#fff0f7)}
.cmps-photo-placeholder span{position:absolute;border-radius:50%;border:2px solid rgba(131,36,228,.2)}
.cmps-photo-placeholder span:nth-child(1){width:260px;height:260px;left:-60px;top:80px}
.cmps-photo-placeholder span:nth-child(2){width:200px;height:200px;right:-30px;top:35px}
.cmps-photo-placeholder span:nth-child(3){width:140px;height:140px;right:80px;bottom:40px;background:rgba(214,106,164,.12)}
.cmps-section{padding:72px 0}
.cmps-two-col{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:70px;
  align-items:start;
}
.cmps-two-col h2,.cmps-path-card h2,.cmps-contact-form-wrap h2,.cmps-company-card h2,.cmps-final h2{
  margin:0;
  font-size:clamp(2rem,4vw,3.35rem);
  line-height:1.04;
  letter-spacing:-.05em;
}
.cmps-prose{color:var(--cmps-muted);font-size:1.04rem;line-height:1.75}
.cmps-prose p{margin:0 0 16px}
.cmps-section--soft{
  background:#faf7fc;
  border-block:1px solid rgba(67,41,81,.06);
}
.cmps-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cmps-path-card{
  padding:34px;
  border:1px solid var(--cmps-line);
  border-radius:28px;
  background:#fff;
}
.cmps-path-card--accent{
  background:
    radial-gradient(circle at 90% 10%,rgba(214,106,164,.10),transparent 30%),
    linear-gradient(145deg,#f1e5ff,#fff);
}
.cmps-path-card h2{font-size:clamp(1.8rem,3vw,2.75rem);margin-bottom:20px}
.cmps-final{padding:72px 0}
.cmps-final-box{
  display:flex;align-items:center;justify-content:space-between;gap:34px;
  padding:38px 40px;border-radius:30px;
  background:linear-gradient(135deg,#efe1ff,#fff0f7);
  border:1px solid rgba(131,36,228,.1);
}
.cmps-final p:not(.cmps-kicker){max-width:650px;color:var(--cmps-muted);line-height:1.6}
.cmps-actions{display:flex;gap:9px;flex-wrap:wrap}
.cmps-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:12px 20px;
  border:0!important;border-radius:999px;
  background:var(--cmps-ink)!important;
  background-color:var(--cmps-ink)!important;
  color:#fff!important;
  font:inherit;font-weight:760;text-decoration:none!important;cursor:pointer;
  box-shadow:none!important;
}
.cmps-page .cmps-button:hover,
.cmps-page .cmps-button:focus{
  background:var(--cmps-purple)!important;
  background-color:var(--cmps-purple)!important;
  color:#fff!important;
  border-color:var(--cmps-purple)!important;
}
.cmps-contact-form button.cmps-button{
  width:auto!important;
  justify-self:start;
  appearance:none;
  -webkit-appearance:none;
}
.cmps-button--ghost{background:#fff!important;background-color:#fff!important;color:var(--cmps-purple-dark)!important;border:1px solid rgba(90,45,120,.18)!important}

/* CONTACT */
.cmps-contact-hero{
  padding:78px 0 66px;
  background:
    radial-gradient(circle at 82% 18%,rgba(214,106,164,.11),transparent 25%),
    linear-gradient(135deg,#f0e2ff,#fff3f8 62%,#fff);
}
.cmps-contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);
  gap:56px;
  align-items:center;
}
.cmps-contact-card{
  padding:30px;
  border:1px solid rgba(131,36,228,.12);
  border-radius:28px;
  background:rgba(255,255,255,.85);
  box-shadow:0 22px 60px rgba(52,31,62,.09);
}
.cmps-contact-icon{
  display:grid;place-items:center;width:60px;height:60px;border-radius:18px;
  background:linear-gradient(145deg,#efe2ff,#fff0f7);color:var(--cmps-purple);
}
.cmps-contact-icon svg{width:27px;height:27px}
.cmps-contact-card p{margin:22px 0 6px;color:var(--cmps-muted);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.cmps-contact-card>a{display:block;color:var(--cmps-purple)!important;font-size:1.16rem;font-weight:800;text-decoration:none!important}
.cmps-contact-card small{display:block;margin-top:14px;color:var(--cmps-muted);line-height:1.5}
.cmps-contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.7fr);gap:46px;align-items:start}
.cmps-contact-form-wrap h2,.cmps-company-card h2{font-size:clamp(1.8rem,3.2vw,2.8rem)}
.cmps-contact-form{display:grid;gap:16px;margin-top:26px}
.cmps-contact-form>label:not(.cmps-checkbox){display:grid;gap:7px}
.cmps-contact-form label>span:first-child{font-size:.83rem;font-weight:790;color:#4f4255}
.cmps-contact-form input[type="text"],
.cmps-contact-form input[type="email"],
.cmps-contact-form textarea{
  width:100%;padding:13px 14px;border:1px solid rgba(90,45,120,.18);
  border-radius:14px;background:#fff;color:var(--cmps-ink);font:inherit;outline:none;
}
.cmps-contact-form textarea{resize:vertical}
.cmps-contact-form input:focus,.cmps-contact-form textarea:focus{
  border-color:rgba(131,36,228,.55);
  box-shadow:0 0 0 3px rgba(131,36,228,.08);
}
.cmps-checkbox{display:flex;align-items:flex-start;gap:10px;color:var(--cmps-muted);font-size:.83rem;line-height:1.45}
.cmps-checkbox input{margin-top:3px}
.cmps-checkbox a{color:var(--cmps-purple)!important}
.cmps-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.cmps-notice{margin:18px 0;padding:12px 14px;border-radius:12px;background:#f3eef8;color:#594861;font-size:.9rem}
.cmps-notice--success{background:#eef8f1;color:#356348}
.cmps-notice--error{background:#fff0f2;color:#8b4851}
.cmps-company-card{
  padding:30px;border:1px solid var(--cmps-line);border-radius:26px;background:#faf7fc;
}
.cmps-company-card dl{margin:26px 0 0}
.cmps-company-card dl>div{padding:14px 0;border-bottom:1px solid rgba(67,41,81,.08)}
.cmps-company-card dt{margin-bottom:5px;color:#8a7d8f;font-size:.72rem;font-weight:820;text-transform:uppercase;letter-spacing:.07em}
.cmps-company-card dd{margin:0;color:#473a4d;line-height:1.5}
.cmps-company-card dd a{color:var(--cmps-purple)!important;text-decoration:none!important}
.cmps-company-note{margin:22px 0 0;color:var(--cmps-muted);font-size:.87rem;line-height:1.55}


.cmps-work-items{
  display:grid;
  gap:0;
  margin-top:24px;
}
.cmps-work-items>div{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:15px 0;
  border-bottom:1px solid rgba(67,41,81,.08);
}
.cmps-work-items>div:last-child{border-bottom:0}
.cmps-work-dot{
  flex:0 0 auto;
  width:10px;
  height:10px;
  margin-top:5px;
  border-radius:50%;
  background:linear-gradient(145deg,var(--cmps-purple),var(--cmps-pink));
  box-shadow:0 0 0 5px rgba(131,36,228,.07);
}
.cmps-work-items strong{
  display:block;
  margin-bottom:3px;
  color:var(--cmps-ink);
  font-size:.86rem;
}
.cmps-work-items p{
  margin:0;
  color:var(--cmps-muted);
  line-height:1.5;
}
.cmps-work-items a{
  color:var(--cmps-purple)!important;
  text-decoration:none!important;
}
.cmps-legal-strip{
  margin-top:34px;
  padding:18px 20px;
  border-top:1px solid rgba(67,41,81,.10);
  color:#8a7f8e;
  font-size:.72rem;
  line-height:1.48;
}
.cmps-legal-strip p{
  display:inline;
  margin:0;
}
.cmps-legal-strip p:not(:last-child)::after{
  content:" · ";
  color:#b0a5b3;
}
.cmps-legal-strip strong{color:#6f6275}

@media(max-width:900px){
  .cmps-about-hero-grid,.cmps-two-col,.cmps-contact-hero-grid,.cmps-contact-grid{grid-template-columns:1fr}
  .cmps-about-photo,.cmps-about-photo img,.cmps-photo-placeholder{min-height:420px}
  .cmps-path-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .cmps-shell{width:min(100% - 26px,1120px)}
  .cmps-about-hero,.cmps-contact-hero{padding:54px 0 48px}
  .cmps-page h1{font-size:clamp(2.8rem,15vw,4.4rem)}
  .cmps-section{padding:56px 0}
  .cmps-about-photo,.cmps-about-photo img,.cmps-photo-placeholder{min-height:340px}
  .cmps-path-card,.cmps-company-card{padding:25px 22px}
  .cmps-final{padding:56px 0}
  .cmps-final-box{align-items:flex-start;flex-direction:column;padding:28px 24px}
  .cmps-actions{width:100%;flex-direction:column}
  .cmps-button{width:100%}
  .cmps-contact-form button.cmps-button{width:100%!important}
  .cmps-legal-strip{font-size:.74rem;padding-inline:0}
  .cmps-legal-strip p{display:block;margin:0 0 5px}
  .cmps-legal-strip p:not(:last-child)::after{content:""}
}
