.company-profile-page { min-height:calc(100vh - 82px); padding:34px clamp(32px,5vw,76px) 72px; background:#fff; }
.company-profile-head { max-width:760px; margin-top:44px; }
.company-section-nav + .company-profile-head { margin-top:34px; }
.company-profile-head h1 { margin:0; color:var(--cab-ink); font-size:clamp(42px,5vw,64px); font-weight:560; letter-spacing:-.045em; line-height:1; }
.company-profile-head p { margin:18px 0 0; color:var(--cab-copy); font-size:18px; line-height:1.5; }
.company-profile-form { max-width:1120px; margin-top:42px; border:1px solid var(--cab-line-strong); border-radius:12px; background:#fff; }
.company-profile-form section { padding:30px 32px; border-bottom:1px solid var(--cab-line); }
.company-profile-form h2 { margin:0 0 24px; color:var(--cab-ink); font-size:25px; line-height:1.2; }
.company-profile-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px; }
.company-profile-fields .is-wide { grid-column:1/-1; }
.company-profile-form label { display:grid; gap:9px; color:var(--cab-ink); font-size:15px; font-weight:650; }
.company-profile-copy { display:grid; gap:22px; }
.company-profile-copy label > small { color:var(--cab-muted); font-size:13px; font-weight:400; line-height:1.4; }
.company-profile-copy input[type="file"] { min-height:52px; padding:11px 15px; cursor:pointer; }
.company-profile-form input,.company-profile-form select,.company-profile-form textarea { width:100%; min-height:52px; padding:13px 15px; border:1px solid var(--cab-line-strong); border-radius:8px; background:#fff; color:var(--cab-ink); font:400 16px/1.4 'Finlandica Text',sans-serif; }
.company-profile-form textarea { min-height:124px; resize:vertical; }
.company-profile-form input::placeholder,.company-profile-form textarea::placeholder { color:var(--cab-muted); opacity:1; }
.company-profile-form input:focus,.company-profile-form select:focus,.company-profile-form textarea:focus { border-color:var(--cab-brand); outline:3px solid var(--cab-focus); }
.company-profile-form footer { display:flex; padding:30px 32px; align-items:flex-start; justify-content:flex-start; }
.company-profile-form footer p { margin:0 0 0 20px; color:var(--cab-success); font-size:15px; font-weight:650; align-self:center; }
.company-profile-form footer .cab-primary-action { margin:0; border:0; cursor:pointer; }
.company-completion { max-width:1120px; margin-top:24px; padding:18px 22px; border:1px solid var(--cab-line-strong); border-radius:10px; background:#fff; }
.company-completion > div { display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--cab-copy); font-size:15px; }
.company-completion strong { color:var(--cab-ink); font-size:17px; }
.company-completion > i { display:block; height:6px; margin-top:12px; overflow:hidden; border-radius:999px; background:var(--cab-line); }
.company-completion > i > b { display:block; width:82%; height:100%; border-radius:inherit; background:var(--cab-brand); }
@media (max-width:980px) { .company-profile-page { padding:26px 24px 54px; } .company-profile-head { margin-top:36px; } .company-profile-form { margin-top:34px; } }
@media (max-width:640px) { .company-profile-head h1 { font-size:40px; } .company-profile-fields { grid-template-columns:1fr; } .company-profile-fields .is-wide { grid-column:auto; } .company-profile-form section { padding:24px 20px; } .company-profile-form footer { padding:20px; align-items:stretch; flex-direction:column-reverse; } .company-profile-form footer p { margin:0; } }
