/* V7: clear business identity, a visible official phone, and a measured company introduction. */
.header-inner { gap:22px; }
.header nav { gap:22px; }
.header nav a { white-space:nowrap; font-size:13px; }
.header-phone {
  display:inline-flex;
  align-items:center;
  gap:9px;
  flex:none;
  min-height:48px;
  color:#123BCB;
  white-space:nowrap;
  line-height:1.25;
}
.header-phone>svg { display:block; width:19px; height:19px; flex:none; }
.header-phone>span { display:flex; flex-direction:column; gap:3px; }
.header-phone small { color:#6A8096; font-size:10px; font-weight:500; }
.header-phone strong { color:#123BCB; font-size:18px; font-weight:750; letter-spacing:-.035em; }
.header-quote { flex:none; padding:12px 16px; }
.header .mobile-nav[hidden] { display:none!important; }
.header-phone:hover strong,.footer-phone:hover,.about-phone:hover { color:#0B2B9F; }
.mobile-nav a[aria-current="page"] { color:#123BCB; font-weight:700; }
.header .mobile-phone {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
  min-height:52px;
  padding:14px 16px;
  border:1px solid #DFE8F7;
  border-radius:10px;
  background:#F2F6FC;
  color:#123BCB;
}
.mobile-phone svg { width:19px; height:19px; flex:none; }
.mobile-phone strong { margin-left:auto; font-size:16px; letter-spacing:-.035em; }

.hero-statement h1 { font-size:clamp(68px,5.75vw,88px); letter-spacing:-.07em; line-height:1.14; }
.hero-statement h1 span { display:block; }
.hero-statement .hero-service { margin-bottom:17px; font-size:clamp(27px,2.55vw,39px); font-weight:600; line-height:1.35; letter-spacing:-.06em; }
.hero-statement .hero-brand { color:#123BCB; }
.hero-intro .hero-brand-message { margin:0 0 16px; color:#102B46; font-size:23px; font-weight:600; line-height:1.5; letter-spacing:-.05em; }
.hero-location { margin-bottom:24px; }
.footer-phone { display:inline-flex; align-items:baseline; gap:6px; min-height:35px; padding:3px 0; color:#294967; }
.footer-phone strong { font-size:16px; letter-spacing:-.025em; }

.contact-panel a.contact-channel {
  display:flex;
  align-items:center;
  gap:13px;
  width:100%;
  min-width:0;
  min-height:68px;
  margin:0;
  padding:12px 14px;
  border:1px solid #E4ECFA;
  border-radius:12px;
  background:#F2F6FF;
  color:#304E69;
  font:inherit;
  font-size:13px;
  font-weight:500;
  line-height:1.7;
  letter-spacing:-.025em;
  text-align:left;
  text-decoration:none;
  transition:background-color .16s,border-color .16s;
}
.contact-panel a.contact-channel:hover { background:#EAF1FC; border-color:#CBDCF4; }
.contact-panel a.contact-channel>span:not(.channel-icon) { flex:1; min-width:0; overflow-wrap:anywhere; }
.contact-panel a.contact-channel [data-phone-label] { display:block; margin-top:1px; color:#123BCB; font-size:14px; font-weight:700; line-height:1.4; }
.contact-panel a.contact-channel>svg:last-child { display:block; width:18px; height:18px; flex:none; margin-left:auto; color:#8194A8; }

.about-intro-section { padding:82px 0 98px; background:#fff; }
.about-intro { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); align-items:center; gap:100px; }
.about-intro-copy { max-width:570px; min-width:0; }
.about-intro-copy h2 { margin:19px 0 27px; font-size:clamp(35px,3.1vw,47px); line-height:1.36; letter-spacing:-.065em; }
.about-intro-copy>p:not(.section-context) { margin-top:15px; max-width:525px; color:#607387; font-size:15px; line-height:2; }
.about-intro-copy>.text-link { margin-top:25px; color:#123BCB; font-size:13px; }
.about-brand-card {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:384px;
  padding:52px 30px 42px;
  border:1px solid #E7EDF5;
  border-radius:72px 12px 72px 12px;
  background:#F7F9FC;
}
.about-brand-symbol { color:#123BCB; width:74px; height:74px; }
.about-brand-symbol svg { display:block; width:100%; height:100%; }
.about-brand-name { margin-top:23px; color:#102B46; font-size:32px; font-weight:700; letter-spacing:-.065em; overflow-wrap:anywhere; text-align:center; }
.about-brand-service { margin-top:8px; color:#607387; font-size:13px; }
.about-brand-regions { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; margin-top:34px; padding-top:22px; border-top:1px solid #E2E9F2; }
.about-brand-regions span { padding:4px 15px; border-radius:20px; background:#fff; color:#6C8094; font-size:12px; }
.about-services { background:#F7F9FC; }
.about-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.about-service { min-width:0; padding:29px 0 4px; border-top:1px solid #CBD7E7; }
.about-service-top { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.about-service-top>span { color:#7E93A8; font-size:12px; letter-spacing:.08em; }
.about-service-top svg { color:#123BCB; width:30px; height:30px; }
.about-service h3 { margin:27px 0 12px; color:#102B46; font-size:20px; font-weight:600; letter-spacing:-.04em; }
.about-service p { color:#607387; font-size:14px; line-height:1.95; }
.about-contact-section { padding:104px 0 112px; background:#fff; }
.about-contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.13fr); gap:100px; }
.about-contact-layout h2 { margin-top:17px; font-size:39px; line-height:1.45; letter-spacing:-.06em; }
.about-contact-intro { margin-top:22px; color:#607387; font-size:14px; line-height:1.95; }
.about-contact-details { min-width:0; }
.about-contact-details dl { margin:0; }
.about-contact-details dl>div { display:grid; grid-template-columns:105px minmax(0,1fr); align-items:center; gap:20px; padding:20px 0; border-bottom:1px solid #E6EDF5; }
.about-contact-details dl>div:first-child { border-top:1px solid #CBD7E7; }
.about-contact-details dt { color:#778B9E; font-size:12px; }
.about-contact-details dd { margin:0; color:#28465F; font-size:14px; overflow-wrap:anywhere; }
.about-phone { display:inline-flex; align-items:center; min-height:40px; color:#123BCB; }
.about-phone>span { display:none; }
.about-phone strong { font-size:24px; letter-spacing:-.035em; font-weight:650; }
.about-contact-details .sample-note { font-size:11px; line-height:1.8; }
.about-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; }
.about-actions .btn { min-height:50px; padding:14px 20px; font-size:12px; }

@media(min-width:1600px) {
  .header nav { gap:30px; }
  .header nav a { font-size:14px; }
  .hero-statement h1 { font-size:92px; }
  .hero-statement .hero-service { font-size:40px; }
}
@media(max-width:1200px) {
  .header-inner { gap:18px; }
  .header .logo { font-size:21px; gap:10px; }
  .header .logo svg { width:34px; height:34px; }
  .header nav { gap:18px; }
  .header nav a { font-size:12px; }
  .header-phone { gap:7px; }
  .header-phone strong { font-size:17px; }
  .header-quote { padding:11px 14px; font-size:12px; }
  .hero-statement h1 { font-size:72px; }
  .hero-statement .hero-service { font-size:30px; }
  .hero-intro .hero-brand-message { font-size:20px; }
  .about-intro,.about-contact-layout { gap:60px; }
}
@media(max-width:1100px) {
  .header nav { display:none; }
  .header-quote { display:none; }
  .header-phone { margin-left:auto; }
  .header .menu-btn { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0; font-size:23px; }
  .header .mobile-nav:not([hidden]) { display:block!important; }
}
@media(min-width:1101px) {
  .header .mobile-nav { display:none!important; }
}
@media(max-width:900px) {
  .hero-statement h1 { font-size:62px; }
  .hero-statement .hero-service { font-size:26px; margin-bottom:16px; }
  .hero-intro .hero-brand-message { font-size:18px; }
  .about-intro,.about-contact-layout { gap:38px; }
  .about-intro-copy>p:not(.section-context) { font-size:14px; }
  .about-brand-card { min-height:340px; padding:35px 23px; }
  .about-brand-name { font-size:27px; }
  .about-service-grid { gap:24px; }
  .about-service h3 { font-size:18px; }
  .about-service p { font-size:13px; }
}
@media(max-width:760px) {
  .header-inner { height:72px; gap:12px; }
  .header .logo { font-size:20px; gap:8px; }
  .header .logo svg { width:30px; height:30px; }
  .header-phone { min-height:44px; gap:7px; }
  .header-phone small { display:none; }
  .header-phone strong { font-size:16px; }
  .header-phone>svg { width:17px; height:17px; }
  .header .menu-btn { min-width:38px; min-height:44px; font-size:22px; }
  .hero-statement h1 { font-size:56px; line-height:1.18; }
  .hero-statement .hero-service { font-size:27px; line-height:1.4; margin-bottom:13px; }
  .hero-location { margin-bottom:22px; }
  .hero-intro .hero-brand-message { font-size:20px; line-height:1.5; margin-bottom:12px; }
  .hero-intro .hero-brand-message br { display:none; }
  .about-intro-section { padding:47px 0 62px; }
  .about-intro { grid-template-columns:minmax(0,1fr); gap:36px; }
  .about-intro-copy h2 { margin:17px 0 22px; font-size:34px; }
  .about-intro-copy>p:not(.section-context) { font-size:13px; line-height:1.95; }
  .about-intro-copy>.text-link { margin-top:20px; font-size:12px; }
  .about-brand-card { min-height:292px; padding:34px 26px; border-radius:50px 10px 50px 10px; }
  .about-brand-symbol { width:59px; height:59px; }
  .about-brand-name { margin-top:19px; font-size:28px; }
  .about-brand-service { font-size:12px; }
  .about-brand-regions { margin-top:27px; padding-top:20px; }
  .about-service-grid { grid-template-columns:minmax(0,1fr); gap:27px; }
  .about-service { padding:23px 0 0; }
  .about-service h3 { margin-top:20px; margin-bottom:9px; font-size:19px; }
  .about-service p { font-size:13px; }
  .about-contact-section { padding:66px 0 76px; }
  .about-contact-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .about-contact-layout h2 { margin-top:16px; font-size:33px; }
  .about-contact-intro { margin-top:18px; font-size:13px; }
  .about-contact-details dl>div { grid-template-columns:77px minmax(0,1fr); gap:16px; padding:17px 0; }
  .about-contact-details dd { font-size:13px; }
  .about-phone strong { font-size:22px; }
  .about-actions { gap:10px; }
  .about-actions .btn { flex:1; min-width:0; padding:14px 12px; font-size:11px; }
}
@media(max-width:390px) {
  .header-inner { gap:8px; }
  .header .logo { font-size:18px; gap:7px; }
  .header .logo svg { width:28px; height:28px; }
  .header-phone { gap:0; }
  .header-phone>svg { display:none; }
  .header-phone strong { font-size:15px; }
  .header .menu-btn { min-width:34px; }
  .hero-statement h1 { font-size:48px; }
  .hero-statement .hero-service { font-size:24px; }
  .hero-intro .hero-brand-message { font-size:18px; }
}
@media(max-width:360px) {
  .header .logo { font-size:17px; }
  .header .logo svg { width:26px; height:26px; }
  .header-phone strong { font-size:14px; }
  .hero-statement h1 { font-size:44px; }
  .hero-statement .hero-service { font-size:22px; }
  .contact-panel a.contact-channel { gap:11px; padding:12px; }
  .about-intro-copy h2,.about-contact-layout h2 { font-size:30px; }
  .about-actions { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) {
  .contact-panel a.contact-channel { transition:none; }
}


/* Compact first screen: clear rental copy, a nearby copier image, and real model prices. */
.atelier-hero.rental-hero { padding:26px 0 30px; background:#fff; }
.rental-hero-main { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:44px; }
.rental-hero-copy { min-width:0; padding:10px 0; }
.rental-hero h1 { margin:0; color:#102B46; font-size:43px; font-weight:600; line-height:1.32; letter-spacing:-.06em; }
.rental-hero-service { display:block; margin-bottom:17px; color:#123BCB; font-size:21px; font-weight:600; letter-spacing:-.04em; line-height:1.5; }
.rental-hero-heading { display:block; }
.rental-hero-heading strong { display:block; color:#123BCB; font-weight:750; }
.rental-hero-description { margin-top:20px; color:#607387; font-size:13px; line-height:1.9; letter-spacing:-.02em; }
.rental-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:25px; }
.rental-hero-actions .btn { min-height:48px; padding:14px 21px; font-size:12px; }
.rental-hero-finder { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:8px 0; border:0; background:transparent; color:#466078; font-size:12px; font-weight:500; line-height:1.6; }
.rental-hero-finder:hover { color:#123BCB; }
.rental-hero-photo { position:relative; min-width:0; height:390px; margin:0; overflow:hidden; border-radius:14px 14px 58px 14px; background:#EBF0F4; }
.rental-hero-photo>img { display:block; width:100%; height:100%; object-fit:cover; object-position:58% 28%; }
.rental-hero-photo figcaption { position:absolute; left:18px; bottom:16px; margin:0; padding:5px 8px; border-radius:4px; background:rgba(255,255,255,.86); color:#597082; font-size:9px; line-height:1.6; letter-spacing:0; }
.hero-offers { margin-top:26px; }
.hero-offers-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:13px; }
.hero-offers-heading h2 { margin:0; color:#38516A; font-size:15px; font-weight:600; letter-spacing:-.025em; line-height:1.5; }
.hero-offers-heading>a { display:inline-flex; align-items:center; gap:10px; min-height:32px; color:#718599; font-size:11px; white-space:nowrap; }
.hero-offers-heading>a:hover { color:#123BCB; }
.hero-offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.hero-offer { display:flex; align-items:center; gap:17px; min-width:0; min-height:132px; padding:17px 18px; border:1px solid #E2EAF3; border-radius:12px; background:#F7F9FC; transition:border-color .18s,background-color .18s; }
.hero-offer:hover { border-color:#BFCEEA; background:#F2F6FC; }
.hero-offer-image { display:flex; align-items:center; justify-content:center; flex:none; width:76px; height:94px; }
.hero-offer-image img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.hero-offer-image .product-no-photo { padding:3px; background:none; min-height:0; font-size:9px; overflow-wrap:anywhere; }
.hero-offer-image .product-no-photo strong { font-size:10px; }
.hero-offer-image .product-no-photo small { display:none; }
.hero-offer-copy { display:flex; flex-direction:column; flex:1; min-width:0; }
.hero-offer-copy>small { color:#8191A2; font-size:10px; line-height:1.7; }
.hero-offer-copy>strong { margin-top:3px; color:#29465F; font-size:17px; font-weight:600; line-height:1.5; letter-spacing:-.035em; overflow-wrap:anywhere; }
.hero-offer-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:3px; margin-top:7px; color:#6F8397; font-size:11px; line-height:1.4; }
.hero-offer-price b { color:#123BCB; font-size:22px; font-weight:700; letter-spacing:-.04em; }
.hero-offer-arrow { flex:none; color:#8599AD; font-size:17px; }
.hero-offers-note { margin-top:11px; color:#8293A4; font-size:10px; line-height:1.75; }
@media(min-width:1600px) {
  .rental-hero-main { gap:60px; }
  .rental-hero h1 { font-size:46px; }
  .rental-hero-photo { height:405px; }
}
@media(max-width:1100px) {
  .atelier-hero.rental-hero { padding-top:23px; }
  .rental-hero-main { gap:32px; }
  .rental-hero h1 { font-size:36px; }
  .rental-hero-service { font-size:18px; margin-bottom:15px; }
  .rental-hero-description { font-size:12px; margin-top:16px; }
  .rental-hero-actions { gap:14px; margin-top:21px; }
  .rental-hero-actions .btn { padding:13px 17px; font-size:11px; }
  .rental-hero-finder { font-size:11px; }
  .rental-hero-photo { height:352px; border-bottom-right-radius:45px; }
  .hero-offer { padding:15px 13px; gap:12px; min-height:119px; }
  .hero-offer-image { width:65px; height:87px; }
  .hero-offer-copy>strong { font-size:16px; }
  .hero-offer-price b { font-size:21px; }
}
@media(min-width:761px) and (max-width:900px) {
  .rental-hero-main { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:26px; }
  .rental-hero h1 { font-size:30px; }
  .rental-hero-service { font-size:16px; }
  .rental-hero-description br { display:none; }
  .rental-hero-photo { height:328px; }
  .rental-hero-actions { gap:8px; }
  .rental-hero-actions .btn { padding:13px 14px; }
  .rental-hero-finder { font-size:10px; }
  .hero-offer-grid { gap:10px; }
  .hero-offer { padding:14px 12px; gap:9px; }
  .hero-offer-image { width:55px; height:78px; }
  .hero-offer-copy>strong { font-size:15px; }
  .hero-offer-copy>small { font-size:9px; }
  .hero-offer-price { font-size:10px; }
  .hero-offer-price b { font-size:19px; }
  .hero-offer-arrow { display:none; }
}
@media(max-width:760px) {
  .atelier-hero.rental-hero { padding:20px 0 25px; }
  .rental-hero-main { grid-template-columns:minmax(0,1fr); gap:20px; }
  .rental-hero-copy { padding:0; }
  .rental-hero h1 { font-size:32px; line-height:1.29; letter-spacing:-.055em; }
  .rental-hero-service { margin-bottom:10px; font-size:18px; line-height:1.5; letter-spacing:-.04em; }
  .rental-hero-description { margin-top:13px; font-size:12px; line-height:1.8; }
  .rental-hero-description br { display:none; }
  .rental-hero-actions { gap:18px; margin-top:15px; }
  .rental-hero-actions .btn { min-height:44px; padding:12px 17px; font-size:11px; }
  .rental-hero-finder { min-height:44px; padding:8px 0; font-size:11px; }
  .rental-hero-photo { height:clamp(188px,54vw,270px); border-radius:10px 10px 35px 10px; }
  .rental-hero-photo>img { object-position:58% 30%; }
  .rental-hero-photo figcaption { left:12px; bottom:11px; padding:4px 7px; font-size:8px; }
  .hero-offers { margin-top:20px; }
  .hero-offers-heading { margin-bottom:10px; gap:12px; }
  .hero-offers-heading h2 { font-size:14px; }
  .hero-offers-heading>a { font-size:10px; min-height:30px; gap:7px; }
  .hero-offer-grid { grid-template-columns:minmax(0,1fr); gap:10px; }
  .hero-offer { min-height:99px; padding:12px 17px; gap:18px; border-radius:10px; }
  .hero-offer-image { width:62px; height:76px; }
  .hero-offer-copy>small { font-size:10px; line-height:1.6; }
  .hero-offer-copy>strong { margin-top:1px; font-size:16px; }
  .hero-offer-price { margin-top:3px; font-size:10px; }
  .hero-offer-price b { font-size:21px; }
  .hero-offer-arrow { font-size:17px; }
  .hero-offers-note { font-size:9px; margin-top:10px; line-height:1.75; }
}
@media(max-width:390px) {
  .rental-hero h1 { font-size:29px; }
  .rental-hero-service { font-size:17px; }
  .rental-hero-description { font-size:11px; }
  .rental-hero-actions { gap:15px; margin-top:13px; }
}
@media(max-width:360px) {
  .rental-hero h1 { font-size:26px; }
  .rental-hero-service { font-size:16px; }
  .rental-hero-main { gap:18px; }
  .rental-hero-actions { gap:12px; }
  .rental-hero-actions .btn { padding:12px 13px; font-size:10px; }
  .rental-hero-finder { gap:5px; font-size:10px; }
  .hero-offer { padding:11px 14px; gap:14px; }
  .hero-offer-copy>strong { font-size:15px; }
  .hero-offer-price b { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) { .hero-offer { transition:none; } }
