.company-page { --company-muted:#65788e; --company-line:#dce5ee; }
.company-page figure { margin:0; }
.company-page .shop-kicker { font-size:11px; letter-spacing:.12em; }
.company-hero-wrap { background:linear-gradient(115deg,#f5f8fb,#eef5fa); border-bottom:1px solid #e5edf4; }
.company-intro { display:grid; align-items:center; gap:7%; padding-block:33px 78px; }
.company-intro h1 { font-size:clamp(42px,4.8vw,66px); font-weight:650; line-height:1.1; letter-spacing:-.055em; margin-top:21px; }
.company-intro h1>span { color:var(--blue); }
.company-lead { color:var(--company-muted); font-size:17px; line-height:1.85; }
.company-intro-copy>.company-lead { margin-top:27px; max-width:490px; }
.company-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:31px; }
.company-page .button { min-height:54px; font-size:13px; }
.company-photo img { width:100%; object-fit:cover; }
.company-photo figcaption { display:flex; justify-content:space-between; gap:14px; color:var(--company-muted); font-size:10px; line-height:1.7; margin-top:14px; }
.company-section { padding-block:91px; }
.company-section-intro h2 { font-size:clamp(32px,3.2vw,43px); margin-top:18px; font-weight:650; }
.company-section-intro>p { margin-top:23px; font-size:15px; line-height:1.9; color:var(--company-muted); }
.about-intro { grid-template-columns:1.06fr 1fr; }
.about-intro-location { display:flex; align-items:center; gap:10px; margin-top:30px; color:#6c7e92; font-size:12px; }
.about-intro-location .icon { width:17px; height:17px; color:var(--blue); }
.about-salon-photo { position:relative; }
.about-salon-photo>img { height:495px; border-radius:18px 76px 18px 18px; }
.about-experience { display:flex; align-items:center; gap:18px; position:absolute; bottom:59px; left:-34px; padding:21px 29px; background:#fff; box-shadow:0 15px 45px #264c7220; border-radius:12px; border-left:3px solid var(--cyan); }
.about-experience>strong { color:var(--blue); font:650 44px/1 var(--display); letter-spacing:-.06em; }
.about-experience>strong>span { font-size:26px; color:#26b6df; vertical-align:top; }
.about-experience>span { font-size:12px; line-height:1.55; color:#536b85; }
.about-approach { display:grid; grid-template-columns:.86fr 1.14fr; gap:10%; }
.about-approach .company-section-intro { padding-top:19px; }
.about-approach-list article { display:grid; grid-template-columns:29px minmax(0,1fr) 23px; gap:23px; padding:26px 0; border-bottom:1px solid var(--company-line); }
.about-approach-list article:first-child { border-top:1px solid var(--company-line); }
.company-step-number { font:500 12px/1.7 var(--display); color:#2bafd5; padding-top:4px; }
.about-approach-list h3 { font-size:22px; font-weight:600; letter-spacing:-.03em; line-height:1.3; }
.about-approach-list p { font-size:14px; color:var(--company-muted); line-height:1.85; margin-top:10px; }
.about-approach-list article>.icon { width:21px; height:21px; color:#5375a2; margin-top:3px; }
.about-approach-list .text-link { font-size:12px; gap:12px; margin-top:12px; }
.about-owner-section { background:#f3f7fa; padding-block:74px; }
.about-owner-grid { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:7%; }
.about-owner-photo img { height:540px; border-radius:16px; object-position:72% 20%; }
.about-owner-copy h2 { font-size:48px; font-weight:650; margin-top:18px; }
.about-owner-role { margin-top:13px; color:var(--blue); font-size:13px; line-height:1.7; }
.about-owner-text { margin-top:25px; }
.about-owner-text p { font-size:15px; line-height:1.9; color:var(--company-muted); }
.about-owner-text p+p { margin-top:16px; }
.about-owner-copy>.text-link { margin-top:25px; }
.about-invitation { display:grid; grid-template-columns:1.2fr .8fr; gap:50px; align-items:center; }
.about-invitation h2 { font-size:clamp(31px,3.1vw,42px); margin-top:17px; }
.about-invitation p { font-size:14px; line-height:1.9; margin-top:21px; }
.company-invitation-contact { justify-self:end; }
.company-phone { display:flex; align-items:center; gap:18px; }
.company-phone-icon { display:grid; place-items:center; width:62px; height:62px; flex-shrink:0; border-radius:50%; background:var(--blue); color:#fff; box-shadow:0 0 0 7px #e9f6fb; }
.company-phone-icon .icon { width:25px; height:25px; }
.company-phone small { display:block; color:#6b7d92; font-size:12px; margin-bottom:4px; }
.company-phone strong { display:block; font:650 34px/1.2 var(--display); letter-spacing:-.04em; color:var(--blue); white-space:nowrap; }
.company-phone:hover strong { color:#183c8e; }
.company-invitation-contact>.text-link { margin:21px 0 0 80px; font-size:12px; gap:13px; }
.contact-intro { grid-template-columns:1.28fr 1fr; padding-bottom:49px; gap:11%; }
.contact-intro h1 { font-size:clamp(42px,4.8vw,64px); }
.contact-intro-copy { padding-top:23px; }
.contact-intro-copy>.company-lead { max-width:400px; }
.contact-opening-note { display:flex; align-items:center; gap:11px; margin-top:24px; font-size:12px; line-height:1.8; color:#61778f; }
.contact-opening-note>.icon { width:17px; height:17px; color:#3d638e; }
.contact-opening-note>span>span { margin-inline:7px; color:#9fabb9; }
.contact-direct-links { display:grid; grid-template-columns:1fr 1.12fr; gap:7%; border-top:1px solid #d7e2ec; padding-block:32px 40px; }
.contact-main-phone { gap:19px; }
.contact-main-phone strong { font-size:clamp(32px,3.3vw,43px); }
.contact-direct-arrow { margin-left:auto; color:var(--blue); width:21px; height:21px; transition:transform .2s; }
.contact-direct-links a:hover .contact-direct-arrow { transform:translateX(4px); }
.contact-email { display:flex; align-items:center; gap:17px; padding-left:30px; border-left:1px solid #d7e2ec; }
.contact-email-icon { display:grid; place-items:center; flex-shrink:0; width:48px; height:48px; background:#e0eef7; border-radius:50%; color:var(--blue); }
.contact-email small { display:block; font-size:12px; color:#6b7d92; margin-bottom:7px; }
.contact-email strong { display:block; font-size:clamp(13px,1.4vw,17px); font-weight:600; color:#294d7c; overflow-wrap:anywhere; }
.contact-main-layout { display:grid; grid-template-columns:1.35fr 1fr; gap:9%; align-items:start; }
.contact-form-column .company-section-intro h2 { font-size:40px; }
.contact-form-column .company-section-intro>p { max-width:580px; font-size:14px; margin-top:20px; }
.contact-form { margin-top:31px; }
.contact-field-optional { font-size:11px; font-weight:400; color:#718297; }
.contact-field-hint { font-size:11px; line-height:1.7; color:#748598; margin-top:9px; }
.contact-form-footer { display:flex; align-items:center; flex-wrap:wrap; gap:19px; margin-top:23px; }
.contact-form-footer>p { font-size:10px; line-height:1.8; color:#718297; }
.contact-form textarea { resize:vertical; min-height:155px; }
.contact-salon { background:#f1f6fa; border:1px solid #dfE8f0; border-radius:16px; overflow:hidden; }
.contact-salon-photo { position:relative; }
.contact-salon-photo>img { width:100%; height:255px; object-fit:cover; object-position:center 39%; }
.contact-salon-photo>span { position:absolute; display:flex; align-items:center; gap:8px; left:23px; bottom:20px; padding:9px 13px; background:#fffffff2; border-radius:6px; font-size:11px; font-weight:600; color:#315784; }
.contact-salon-photo .icon { width:15px; height:15px; }
.contact-salon-body { padding:31px 34px 34px; }
.contact-salon h2 { margin-top:15px; font-size:34px; }
.contact-salon address { font-style:normal; font-size:15px; line-height:1.85; color:#546c86; margin-top:21px; }
.contact-salon address strong { color:#2d4869; font-weight:600; }
.contact-salon-hours { margin:24px 0; padding-block:17px; border-block:1px solid #d7e3ed; }
.contact-salon-hours>div { display:flex; justify-content:space-between; gap:20px; font-size:12px; line-height:1.8; }
.contact-salon-hours>div+div { margin-top:8px; }
.contact-salon-hours dt { color:#61788f; }
.contact-salon-hours dd { margin:0; font-weight:600; color:#2f4b70; white-space:nowrap; }
.contact-salon .button { width:100%; justify-content:space-between; color:var(--blue); background:#fff; border-color:#cbd9e7; padding-inline:19px; font-size:12px; }
.contact-salon-note { font-size:12px; line-height:1.85; color:#6e8195; margin-top:20px; }
.contact-help-section { background:#f5f8fb; border-block:1px solid #e6edf4; padding-block:56px; }
.contact-help-layout { display:grid; grid-template-columns:1.15fr 1fr; gap:10%; align-items:center; }
.contact-help-layout h2 { font-size:34px; margin-top:16px; }
.contact-help-layout p { font-size:14px; line-height:1.85; margin-top:16px; }
.contact-help-links>a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:20px; border-bottom:1px solid #d7e2ed; color:var(--blue); font:600 17px/1.5 var(--display); }
.contact-help-links>a:first-child { border-top:1px solid #d7e2ed; }
.contact-help-links small { display:block; margin-top:5px; color:#71849a; font:400 12px/1.7 var(--font); }
.contact-help-links .icon { width:20px; }
.contact-help-links>a:hover { color:#1b3b7e; }
@media(min-width:701px) and (max-width:1100px) {
  .company-intro { gap:6%; }
  .company-intro h1 { font-size:49px; }
  .company-lead { font-size:15px; }
  .about-salon-photo>img { height:440px; }
  .about-experience { left:-20px; padding:19px 22px; gap:14px; }
  .about-experience>strong { font-size:36px; }
  .about-experience>span { font-size:11px; }
  .company-actions { gap:9px; }
  .company-actions .button { padding-inline:18px; font-size:12px; }
  .about-approach { gap:7%; }
  .about-approach-list article { gap:15px; }
  .about-approach-list h3 { font-size:20px; }
  .about-owner-grid { gap:6%; }
  .about-owner-copy h2 { font-size:40px; }
  .about-owner-text p { font-size:14px; }
  .company-phone strong { font-size:30px; }
  .about-invitation { gap:35px; }
  .contact-intro { grid-template-columns:1.1fr 1fr; gap:7%; }
  .contact-direct-links { gap:4%; }
  .contact-email { padding-left:22px; gap:12px; }
  .contact-email-icon { display:none; }
  .contact-main-phone .company-phone-icon { width:50px; height:50px; }
  .contact-main-layout { grid-template-columns:1.2fr 1fr; gap:6%; }
  .contact-salon-body { padding:27px; }
  .contact-form-footer { gap:12px; }
}
@media(max-width:800px) {
  .company-section { padding-block:65px; }
  .about-approach { grid-template-columns:1fr; gap:33px; }
  .about-approach .company-section-intro { max-width:500px; padding-top:0; }
  .about-owner-copy h2 { font-size:36px; }
  .about-invitation { grid-template-columns:1fr; gap:32px; }
  .company-invitation-contact { justify-self:start; }
  .contact-main-layout { grid-template-columns:1fr; gap:45px; }
  .contact-salon { display:grid; grid-template-columns:1fr 1.1fr; }
  .contact-salon-photo>img { height:100%; min-height:360px; }
  .contact-salon h2 { font-size:31px; }
  .contact-help-layout { gap:7%; }
  .contact-help-layout h2 { font-size:30px; }
}
@media(max-width:700px) {
  .company-intro { grid-template-columns:1fr; gap:40px; padding-block:23px 45px; }
  .company-intro h1 { font-size:clamp(39px,8.8vw,53px); max-width:540px; margin-top:18px; }
  .company-page .shop-kicker { font-size:10px; }
  .company-lead { font-size:15px; line-height:1.85; }
  .company-intro-copy>.company-lead { margin-top:22px; max-width:520px; }
  .company-actions { margin-top:25px; }
  .company-actions .button { padding:14px 18px; min-height:51px; font-size:12px; gap:16px; }
  .about-intro-location { margin-top:25px; font-size:11px; }
  .about-salon-photo>img { height:390px; border-radius:13px 55px 13px 13px; }
  .about-experience { left:18px; bottom:55px; padding:16px 20px; gap:14px; }
  .about-experience>strong { font-size:36px; }
  .about-experience>span { font-size:11px; }
  .company-photo figcaption { font-size:9px; gap:8px; }
  .company-section { padding-block:51px; }
  .company-section-intro h2 { font-size:33px; margin-top:16px; }
  .company-section-intro>p { font-size:14px; margin-top:20px; }
  .about-approach-list article { grid-template-columns:24px minmax(0,1fr) 20px; gap:15px; padding-block:23px; }
  .about-approach-list h3 { font-size:21px; }
  .about-approach-list p { font-size:13px; }
  .about-approach-list .text-link { font-size:11px; gap:10px; }
  .about-owner-section { padding-block:45px; }
  .about-owner-grid { grid-template-columns:1fr; gap:33px; }
  .about-owner-photo img { height:420px; border-radius:12px; }
  .about-owner-copy h2 { font-size:40px; }
  .about-owner-text { margin-top:22px; }
  .about-owner-text p { font-size:14px; }
  .about-owner-copy>.text-link { margin-top:20px; font-size:12px; }
  .about-invitation h2 { font-size:32px; }
  .about-invitation p { font-size:13px; }
  .company-phone { gap:17px; }
  .company-phone-icon { width:53px; height:53px; }
  .company-phone strong { font-size:32px; }
  .company-phone small { font-size:11px; }
  .company-invitation-contact>.text-link { margin-left:70px; font-size:11px; }
  .contact-intro { gap:20px; padding-bottom:30px; }
  .contact-intro-copy { padding-top:0; }
  .contact-intro-copy>.company-lead { max-width:510px; }
  .contact-opening-note { font-size:11px; margin-top:18px; }
  .contact-direct-links { grid-template-columns:1fr; gap:25px; padding-block:28px 34px; }
  .contact-main-phone { padding:0 4px; }
  .contact-main-phone strong { font-size:35px; }
  .contact-email { padding:23px 4px 0; border-left:0; border-top:1px solid #d7e2ec; gap:18px; }
  .contact-email-icon { width:50px; height:50px; }
  .contact-email strong { font-size:13px; }
  .contact-email small { font-size:11px; margin-bottom:4px; }
  .contact-direct-arrow { width:18px; }
  .contact-form-column .company-section-intro h2 { font-size:34px; }
  .contact-form-column .company-section-intro>p { font-size:13px; }
  .contact-form-footer { align-items:flex-start; flex-direction:column; gap:12px; }
  .contact-form-footer>.button { width:100%; justify-content:space-between; }
  .contact-salon { grid-template-columns:1fr; }
  .contact-salon-photo>img { height:260px; min-height:0; }
  .contact-salon-body { padding:27px; }
  .contact-salon h2 { font-size:33px; }
  .contact-salon-hours { margin-block:21px; }
  .contact-help-section { padding-block:43px; }
  .contact-help-layout { grid-template-columns:1fr; gap:28px; }
  .contact-help-layout h2 { font-size:30px; }
  .contact-help-layout p { font-size:13px; }
  .contact-help-links>a { font-size:16px; padding-block:19px; }
}
@media(max-width:380px) {
  .company-intro h1 { font-size:37px; }
  .company-actions { flex-direction:column; align-items:stretch; }
  .about-salon-photo>img { height:330px; }
  .company-photo figcaption { flex-direction:column; gap:0; }
  .about-experience { bottom:65px; }
  .company-phone strong,.contact-main-phone strong { font-size:30px; }
  .contact-main-phone>.contact-direct-arrow { display:none; }
  .contact-email-icon { display:none; }
  .contact-email strong { font-size:13px; }
}
