/*
 * COMPANY final polish.
 * Shared typography, buttons, containers, detail hero and contact CTA come from
 * assets/css/business-detail.css. This file only defines company-page content.
 */

.page-company :where(.button,.text-link,.company-profile-contact-link):focus-visible{
  outline:3px solid rgba(42,135,158,.34);
  outline-offset:4px;
}

/* HERO: the canonical detail-page MV with a restrained, boundary-only fade. */
.page-company .detail-hero--company{
  --detail-hero-media-position:52% center;
  --detail-hero-safe-area:5%;
  --hero-media-boundary-width:clamp(48px,4.8vw,76px);
}
.page-company .detail-hero-button{align-self:flex-start;margin-top:24px}
.company-hero-description-line{display:block}
.page-company .detail-hero-media--company img{animation:company-hero-settle 1.05s cubic-bezier(.2,.7,.2,1) both}
.page-company .detail-hero-copy>*{animation:company-hero-copy-in .68s cubic-bezier(.22,.61,.36,1) both}
.page-company .detail-hero-copy>.detail-hero-meta{animation-delay:.05s}
.page-company .detail-hero-copy>h1{animation-delay:.1s}
.page-company .detail-hero-copy>.detail-hero-tagline{animation-delay:.15s}
.page-company .detail-hero-copy>.detail-hero-description{animation-delay:.2s}
.page-company .detail-hero-copy>.detail-hero-button{animation-delay:.25s}

@keyframes company-hero-settle{
  from{opacity:.86;transform:scale(1.012)}
  to{opacity:1;transform:scale(1)}
}
@keyframes company-hero-copy-in{
  from{opacity:0;translate:0 12px}
  to{opacity:1;translate:0 0}
}

/* Shared heading hierarchy for PROFILE, ACCESS and MESSAGE. */
.page-company :where(.section-intro h2,.company-access h2,.representative-section h2){
  margin:0;
  color:var(--ink);
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(34px,3vw,48px);
  font-weight:500;
  line-height:1.48;
  letter-spacing:.02em;
  line-break:strict;
  text-wrap:balance;
}
.page-company .short-rule{
  display:block;
  width:54px;
  height:1px;
  margin:18px 0 24px;
  background:linear-gradient(90deg,var(--green),var(--blue));
}

/* PROFILE: a wide, low-decoration corporate data sheet. */
.company-profile{
  padding:94px 0 98px;
  border-top:1px solid #edf2ef;
  background:linear-gradient(120deg,#fff 0%,#fdfcf9 68%,#f7faf8 100%);
}
.company-layout{
  display:grid;
  grid-template-columns:minmax(220px,.4fr) minmax(0,1fr);
  gap:clamp(46px,6vw,76px);
  align-items:start;
}
.section-intro{padding-top:7px}
.company-table{
  margin:0;
  border-top:1px solid #bfd0ca;
  border-bottom:1px solid #bfd0ca;
}
.company-table>div{
  display:grid;
  grid-template-columns:clamp(150px,15vw,186px) minmax(0,1fr);
  gap:clamp(22px,3vw,42px);
  padding:19px 4px;
  border-bottom:1px solid var(--line);
}
.company-table>div:last-child{border-bottom:0}
.company-table dt{
  color:#31494d;
  font-size:14px;
  font-weight:700;
  letter-spacing:.025em;
}
.company-table dd{
  min-width:0;
  margin:0;
  color:#5d6e72;
  font-size:14px;
  line-height:1.9;
  overflow-wrap:anywhere;
}
.company-data-list{display:flex;flex-wrap:wrap;align-items:baseline;margin:0;padding:0;list-style:none}
.company-data-list li{display:inline-block;white-space:nowrap}
.company-data-list li:not(:last-child)::after{content:"／";margin-inline:.58em;color:#8a9996;font-weight:400}
.company-profile-plain-value{display:inline-block;max-width:100%;color:inherit;font:inherit}
.company-profile-url{white-space:nowrap}
.company-profile-contact-row{align-items:center}
.company-profile-contact-row dd{display:flex;align-items:center}
.company-profile-contact-link{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:0;color:#397962;background:none;box-shadow:none;font-size:13px;font-weight:600;line-height:1.9;text-decoration:none}
.company-profile-contact-link span{display:inline-block;transition:transform .22s ease}

@media (hover:hover) and (pointer:fine){
  .company-profile-contact-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(57,121,98,.38);text-underline-offset:4px}
  .company-profile-contact-link:hover span{transform:translateX(3px)}
}

/* ACCESS: consistent left edge, measure and border treatment. */
.company-access{
  padding:90px 0 84px;
  border-top:1px solid #edf2ef;
  background:linear-gradient(120deg,#f8faf8 0%,#fbfbf8 68%,#f5f9f8 100%);
}
.company-access-layout{
  display:grid;
  grid-template-columns:minmax(220px,.4fr) minmax(0,1fr);
  gap:clamp(46px,6vw,76px);
  align-items:start;
}
.company-access-copy{padding-top:6px}
.company-access-address{
  margin:25px 0 12px;
  color:#56686c;
  font-size:14px;
  line-height:1.95;
}
.company-access-address span{display:block}
.company-access .text-link{border-bottom:1px solid rgba(57,121,98,.38)}
.access-map{
  overflow:hidden;
  border:1px solid rgba(91,137,127,.2);
  border-radius:10px;
  background:#f2f6f4;
}
.access-map iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0}

/* MESSAGE: one proportional 2048x840 PC canvas, then two stacked image modes. */
.representative-section{
  position:relative;
  padding:0;
  border-top:1px solid #edf2ef;
  background:#fff;
}
.message-mode{display:none}
@media (min-width:1200px){
  .message-desktop{display:block}
}
.representative-layout{
  --message-person-right:30.56cqw;
  --message-text-left:54.6cqw;
  --message-logo-width:16.25cqw;
  --message-logo-optical-shift:.25cqw;
  container-name:message-canvas;
  container-type:inline-size;
  display:grid;
  width:min(2048px,100%);
  aspect-ratio:2048/924;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  margin-inline:auto;
  overflow:hidden;
  isolation:isolate;
}
.representative-visual{
  grid-area:1/1;
  display:block;
  position:relative;
  z-index:0;
  min-width:0;
  width:100%;
  margin:0;
  background:#fff;
  pointer-events:none;
}
.representative-visual img{display:block;width:100%;height:auto}
.message-desktop .representative-visual{height:100%}
.message-desktop .representative-visual img{width:100%;height:100%;object-fit:cover;object-position:left center}
.representative-wall-logo{
  grid-area:1/1;
  z-index:1;
  align-self:start;
  justify-self:start;
  display:block;
  width:var(--message-logo-width);
  aspect-ratio:1425/308;
  margin:
    14.9cqw
    0
    0
    calc(
      (var(--message-person-right) + var(--message-text-left) - var(--message-logo-width)) / 2
      - var(--message-logo-optical-shift)
    );
  overflow:hidden;
  pointer-events:none;
}
.representative-wall-logo img{
  display:block;
  width:135.08772%;
  max-width:none;
  height:auto;
}
.representative-content{
  grid-area:1/1;
  z-index:2;
  align-self:start;
  justify-self:start;
  box-sizing:border-box;
  min-width:0;
  width:39cqw;
  max-width:800px;
  margin-left:var(--message-text-left);
  padding:2.7cqw 0 0;
  color:#2d4044;
}
.message-content{min-width:0}
.message-desktop .message-content{
  width:max-content;
  max-width:100%;
  font-size:clamp(12px,.88cqw,16.8px);
}
.representative-content>.section-kicker,
.message-content>.section-kicker{margin:0 0 .26cqw;font-size:clamp(9px,.63cqw,12px)}
.representative-section h2{font-size:clamp(31.5px,2.29cqw,44px);line-height:1.25}
.representative-lead{
  margin:.50cqw 0 0;
  color:#2f665e;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(15px,1.11cqw,21.5px);
  font-weight:500;
  line-height:1.53;
  letter-spacing:.015em;
  line-break:strict;
  text-wrap:balance;
}
.page-company .representative-content .short-rule{width:2.75cqw;height:1px;margin:.75cqw 0 1.05cqw}
.message-body{
  max-width:none;
  color:#46585d;
  font-size:clamp(12px,.88cqw,16.8px);
  line-height:1.88;
  line-break:strict;
  word-break:normal;
  overflow-wrap:break-word;
  text-wrap:pretty;
}
.message-desktop .message-body{font-size:1em}
.message-body p{margin:0 0 clamp(8px,.70cqw,13.5px)}
.message-body p:last-of-type{margin-bottom:0}
.message-pc-br{display:inline}
.message-principle{color:#344b50;font-weight:700}
.representative-signature{
  display:grid;
  width:max-content;
  max-width:100%;
  grid-template-columns:auto auto;
  grid-template-rows:auto auto;
  align-items:center;
  justify-content:end;
  margin:clamp(22px,1.25cqw,24px) 0 0 auto;
  column-gap:.68cqw;
  row-gap:1px;
  text-align:right;
}
.representative-signature strong{grid-column:1;grid-row:1;color:#33484d;font-size:clamp(11.5px,.84cqw,15.8px);line-height:1.4}
.representative-signature span{grid-column:1;grid-row:2;color:#718084;font-size:clamp(10.5px,.76cqw,14.4px);line-height:1.4}
.representative-signature-name{display:block;grid-column:2;grid-row:1/3;width:6.66cqw;height:auto;overflow:hidden}

.message-desktop .representative-signature strong{font-size:clamp(12.9px,.94cqw,17.7px);line-height:1.25}
.message-desktop .representative-signature span{font-size:clamp(11.75px,.85cqw,16.1px);line-height:1.25}

@media (min-width:1200px) and (max-width:1280px){
  .message-desktop .representative-layout{
    --message-person-right:calc(32.014vw - 4.67px);
    height:calc(47.26vw - 6.9px);
    aspect-ratio:auto;
  }
  .message-desktop .representative-wall-logo{margin-top:calc(15.687vw - 2.28px)}
  .message-desktop .representative-content{padding-top:2.8cqw}
  .message-desktop .message-content{font-size:clamp(11.5px,calc(.625vw + 4px),12px)}
  .message-desktop .message-body{
    line-height:clamp(21px,calc(1.95vw - 2.4px),22.56px);
  }
  .message-desktop .message-body p{margin-bottom:clamp(7px,calc(2.319vw - 20.83px),8.855px)}
}

@media (min-width:1281px) and (max-width:1400px){
  .message-desktop .representative-layout{
    --message-person-right:calc(21.3vw + 132.42px);
    height:calc(31.45vw + 195.47px);
    aspect-ratio:auto;
  }
  .message-desktop .representative-wall-logo{margin-top:calc(9.85vw + 72.4px)}
  .message-desktop .representative-content{padding-top:2.8cqw}
}

@media (min-width:1401px) and (max-width:1440px){
  .message-desktop .representative-layout{
    --message-person-right:calc(12.104vw + 261.2px);
    height:calc(17.87vw + 385.6px);
    aspect-ratio:auto;
  }
  .message-desktop .representative-wall-logo{margin-top:calc(4.84vw + 142.56px)}
}

/* The about-page observer supplies the same restrained fade/translate rule. */
.motion-ready .company-profile:not(.is-active) :is(.section-intro,.company-table),
.motion-ready .company-access:not(.is-active) :is(.company-access-copy,.access-map),
.motion-ready .representative-section:not(.is-active) :is(.representative-visual,.representative-wall-logo,.representative-content),
.motion-ready .detail-contact:not(.is-active) .detail-contact-inner{
  opacity:0;
  translate:0 18px;
}
.company-profile.is-active :is(.section-intro,.company-table),
.company-access.is-active :is(.company-access-copy,.access-map),
.representative-section.is-active :is(.representative-visual,.representative-wall-logo,.representative-content),
.detail-contact.is-active .detail-contact-inner{
  opacity:1;
  translate:0 0;
  transition:opacity .68s ease,translate .76s cubic-bezier(.22,.61,.36,1);
}
.company-profile.is-active .company-table,
.company-access.is-active .access-map,
.representative-section.is-active .representative-content{transition-delay:.1s}

@media (max-width:1100px){
  .company-layout,.company-access-layout{grid-template-columns:minmax(200px,.4fr) minmax(0,1fr);gap:48px}
  .company-table>div{grid-template-columns:150px minmax(0,1fr);gap:28px}
}

/* Medium mode: its approved logo-included image, then independent HTML copy. */
@media (min-width:768px) and (max-width:1199px){
  .message-desktop,.message-mobile{display:none}
  .message-medium{display:block;padding-bottom:clamp(40px,4vw,56px)}
  .representative-wall-logo{display:none}
  .message-medium .representative-visual{display:block;width:100%;margin:0;background:#fff}
  .message-medium .representative-visual img{display:block;width:100%;height:auto;max-width:none}
  .message-medium .representative-content{
    position:static;
    display:block;
    justify-self:center;
    width:min(640px,calc(100% - 48px));
    margin:44px auto 0;
    padding:0;
  }
  .message-medium .representative-content>.section-kicker{margin-bottom:8px;font-size:12px}
  .message-medium h2{font-size:clamp(34px,4.5vw,42px);line-height:1.42}
  .message-medium .representative-lead{max-width:28em;margin-top:14px;font-size:20px;line-height:1.65}
  .page-company .message-medium .representative-content .short-rule{margin:18px 0 24px}
  .message-medium .message-body{font-size:14.5px;line-height:1.95}
  .message-medium .message-body p{margin-bottom:20px}
  .message-medium .message-phrase{white-space:nowrap}
  .message-medium .representative-signature{margin-top:24px;column-gap:12px}
  .message-medium .representative-signature strong{font-size:13px}
  .message-medium .representative-signature span{font-size:12px}
  .message-medium .representative-signature-name{width:134px}
}

@media (max-width:820px){
  .page-company .detail-hero-button{margin-top:20px}
  .company-profile,.company-access{padding:78px 0 84px}
  .company-layout,.company-access-layout{grid-template-columns:1fr;gap:32px}
  .section-intro,.company-access-copy{padding-top:0}
  .company-table>div{grid-template-columns:170px minmax(0,1fr)}
  .access-map{width:100%}
  .company-hero-description-line{display:inline;white-space:normal}
}

@media (max-width:680px){
  .page-company .detail-hero-button{width:100%}
  .company-profile,.company-access{padding:68px 0 72px}
  .page-company :where(.section-intro h2,.company-access h2){font-size:clamp(31px,8.3vw,38px)}
  .company-table>div{grid-template-columns:1fr;gap:4px;padding:17px 2px}
  .company-table dt,.company-table dd{font-size:14px}
  .company-access-address{font-size:13.5px;overflow-wrap:anywhere}
  .access-map{border-radius:8px}
}

/* Mobile mode: its approved logo-included image, then independent HTML copy. */
@media (max-width:767px){
  .message-desktop,.message-medium{display:none}
  .message-mobile{display:block;padding-bottom:clamp(48px,13vw,54px)}
  .representative-wall-logo{display:none}
  .message-mobile .representative-visual{display:block;width:100%;margin:0;background:#fff}
  .message-mobile .representative-visual img{display:block;width:100%;height:auto;max-width:none}
  .message-mobile .representative-content{position:static;display:block;width:calc(100% - 32px);margin:38px auto 0;padding:0}
  .message-mobile .representative-content>.section-kicker{margin-bottom:7px;font-size:12px}
  .message-mobile h2{font-size:clamp(32px,8.5vw,40px)}
  .message-mobile .representative-lead{margin-top:11px;font-size:clamp(17px,4.7vw,19px);line-height:1.7}
  .page-company .message-mobile .representative-content .short-rule{margin:16px 0 20px}
  .message-mobile :is(.representative-lead,.message-body,.message-principle){line-break:strict;word-break:normal;overflow-wrap:break-word;text-wrap:pretty}
  .message-mobile .message-phrase{white-space:nowrap}
  .message-mobile .message-body{font-size:14.5px;line-height:1.96}
  .message-mobile .message-body p{margin-bottom:19px}
  .message-mobile .representative-signature{margin-top:24px;column-gap:10px}
  .message-mobile .representative-signature strong{font-size:13px}
  .message-mobile .representative-signature span{font-size:12px}
  .message-mobile .representative-signature-name{width:clamp(125px,32.64vw,134px)}
}

@supports (word-break:auto-phrase){
  @media (min-width:1200px){
    .message-desktop :is(.representative-lead,.message-body,.message-principle){word-break:auto-phrase}
  }
  @media (min-width:768px) and (max-width:1199px){
    .message-medium :is(.representative-lead,.message-body,.message-principle){word-break:auto-phrase}
  }
  @media (max-width:767px){
    .message-mobile :is(.representative-lead,.message-body,.message-principle){word-break:auto-phrase}
  }
}

/* CONTACT: keep the shared visual while aligning the copy group to the viewport edge. */
.page-company .detail-contact-inner{
  width:100%;
  max-width:none;
  margin:0;
  padding-inline:clamp(48px,4.8vw,92px);
}
.company-contact-copy-line{display:block}
.company-contact-copy-mobile{display:none}
.detail-contact-mobile-index{display:none}

@media (max-width:680px){
  .page-company .detail-hero-button{width:fit-content;min-height:49px;padding:11px 24px;font-size:14px}
  .company-profile .company-layout{width:calc(100% - 32px)}
  .company-profile .company-table>div{grid-template-columns:86px minmax(0,1fr);gap:12px;padding:16px 0}
  .company-profile .company-table dt{font-size:13px;line-height:1.78}
  .company-profile .company-table dd{font-size:14.25px;line-height:1.84}
  .company-profile .company-address-street,.company-profile .company-address-building{display:block}
  .company-profile .company-data-list{display:grid;gap:3px}
  .company-profile .company-data-list li{display:block;white-space:normal}
  .company-profile .company-data-list li::after{display:none}
  .company-profile-url{font-size:13.75px;white-space:normal;overflow-wrap:anywhere}
  .company-access-address{font-size:14.25px;line-height:1.92}
  .page-company .detail-contact{display:block;min-height:0;padding:0;background:#fff}
  .detail-contact-mobile-index{display:block;width:calc(100% - 44px);margin:18px auto 12px}
  .page-company .detail-contact-media{display:block;position:relative;inset:auto;width:100%;max-width:none;height:auto;aspect-ratio:3/2;margin:0;overflow:hidden}
  .page-company .detail-contact-media::after{content:"";position:absolute;inset:auto 0 0;height:72px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}
  .page-company .detail-contact-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}
  .page-company .detail-contact-inner{width:calc(100% - 44px);min-height:0;margin:0 auto;padding:0 0 48px}
  .page-company .detail-contact-inner>.section-kicker{display:none}
  .page-company .detail-contact h2{font-size:clamp(34px,9vw,40px);line-height:1.45}
  .page-company .detail-contact p:not(.section-kicker){max-width:none;margin-top:12px;font-size:14px;line-height:1.9}
  .page-company .detail-contact .button{width:fit-content;min-height:49px;margin-top:22px;padding:11px 24px;gap:12px;font-size:14px}
  .company-contact-copy-desktop{display:none}
  .company-contact-copy-mobile{display:block;font-feature-settings:"palt" 1;letter-spacing:-.01em}
  .company-contact-copy-mobile .company-contact-copy-line{white-space:nowrap}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .page-company .detail-hero-media--company img,
  .page-company .detail-hero-copy>*{animation:none}
  .motion-ready .company-profile:not(.is-active) :is(.section-intro,.company-table),
  .motion-ready .company-access:not(.is-active) :is(.company-access-copy,.access-map),
  .motion-ready .representative-section:not(.is-active) :is(.representative-visual,.representative-content),
  .motion-ready .detail-contact:not(.is-active) .detail-contact-inner{opacity:1;translate:0 0}
  .company-profile.is-active :is(.section-intro,.company-table),
  .company-access.is-active :is(.company-access-copy,.access-map),
  .representative-section.is-active :is(.representative-visual,.representative-content),
  .detail-contact.is-active .detail-contact-inner{transition:none}
}

/* Keep the postal address in two readable lines and email on one line. */
body.page-company .company-profile .company-address-row dd .company-address-line.company-address-line.company-address-line{display:block!important;white-space:nowrap!important;text-wrap:nowrap!important;letter-spacing:0!important}
body.page-company .company-profile .company-email-row :is(dt,dd){white-space:nowrap!important;text-wrap:nowrap!important}

/* A two-line quotation with the second line optically centered. */
body.page-company .representative-lead{
 width:max-content;max-width:100%;text-align:left!important;
}
body.page-company .representative-lead .message-lead-line{
 display:block!important;white-space:nowrap!important;text-wrap:nowrap!important;
 font:inherit!important;letter-spacing:inherit!important;
}
body.page-company .representative-lead .message-lead-line:last-child{text-align:center!important}
body.page-company :is(.message-mobile,.message-medium) .message-body>p{
 text-align:left!important;word-break:normal!important;text-wrap:wrap!important;
 overflow-wrap:normal!important;letter-spacing:0!important;
}
body.page-company :is(.message-mobile,.message-medium) .message-body .message-sentence{display:block!important}
body.page-company :is(.message-mobile,.message-medium) .message-body span.message-unit.message-unit{
 display:inline-block!important;white-space:nowrap!important;text-wrap:nowrap!important;
 word-break:keep-all!important;font:inherit!important;letter-spacing:inherit!important;
}
@media(min-width:1200px) and (max-width:1280px){body.page-company .message-desktop .representative-layout{height:calc(47.26vw + 25.1px)}}

/* Company introduction: two semantic lines. */
body.page-company .detail-hero-description .company-hero-description-line.company-hero-description-line{display:block!important;white-space:nowrap!important;text-wrap:nowrap!important;letter-spacing:0!important}
@media(max-width:820px){body.page-company .detail-hero .detail-hero-description.detail-hero-description{font-size:clamp(10px,3vw,15px)!important;max-width:100%!important;letter-spacing:0!important}body.page-company .detail-hero-description .company-hero-description-line .jp-phrase{font-size:inherit!important;letter-spacing:0!important}}

@media(max-width:680px){body.page-company .company-profile .company-address-row dd .company-address-line.company-address-line.company-address-line{font-size:clamp(10px,2.8vw,14px)!important}}

body.page-company .company-profile .company-business-row dd .company-business-line.company-business-line{display:block!important;white-space:nowrap!important;text-wrap:nowrap!important;letter-spacing:0!important}
@media(max-width:680px){body.page-company .company-profile .company-business-row dd{font-size:clamp(12px,3.4vw,14px)!important;line-height:1.85!important}}

/* Representative message: editorial paragraph and line breaks. */
body.page-company .message-body .message-editorial-line{display:block!important;text-align:left;white-space:normal!important;text-wrap:wrap!important;line-break:strict;word-break:normal}
body.page-company .message-body .message-editorial-unit{font:inherit!important;letter-spacing:inherit!important}
@media(max-width:1199px){body.page-company .message-body .message-editorial-unit{display:inline-block!important;white-space:nowrap!important;text-wrap:nowrap!important}}
@media(min-width:1200px) and (max-width:1280px){body.page-company .message-desktop .representative-layout{height:calc(47.26vw + 65.1px)}}
/* Desktop address stays on one line; mobile keeps its line grouping. */
@media(min-width:821px){body.page-company .company-profile .company-address-row dd{white-space:nowrap!important;text-wrap:nowrap!important;letter-spacing:0!important;font-size:clamp(12px,1vw,14px)!important}body.page-company .company-profile .company-address-row dd .company-address-line.company-address-line.company-address-line.company-address-line{display:inline!important;font:inherit!important}}

/* PC message subtitle: one continuous line. */
@media(min-width:821px){body.page-company .representative-lead{white-space:nowrap!important;text-wrap:nowrap!important}body.page-company .representative-lead .message-lead-line.message-lead-line{display:inline!important;text-align:left!important}}

/* Mobile final review: readable address and phrase-aligned quotation. */
@media(max-width:680px){
 body.page-company .company-profile .company-address-row dd .company-address-line.company-address-line.company-address-line{font-size:14px!important;line-height:1.85!important}
 body.page-company .company-profile .company-address-row dd .address-street-final,
 body.page-company .company-profile .company-address-row dd .address-building-final{display:block!important;font:inherit!important;letter-spacing:0!important}
 body.page-company .company-profile .company-address-row{grid-template-columns:82px minmax(0,1fr)!important}
 body.page-company .detail-contact-inner{width:calc(100% - 32px)!important}
 body.page-company .detail-contact p.company-contact-copy-mobile{font-size:clamp(10.5px,3.12vw,14px)!important;line-height:1.85!important;letter-spacing:0!important;white-space:nowrap!important;text-wrap:nowrap!important}
}
@media(max-width:767px){
 body.page-company .message-mobile .representative-lead{display:grid!important;grid-template-columns:max-content max-content;column-gap:0;font-size:clamp(14px,3.85vw,18px)!important;letter-spacing:0!important;width:max-content!important;max-width:100%!important}
 body.page-company .message-mobile .representative-lead .message-lead-line:first-child{display:contents!important}
 body.page-company .message-mobile .representative-lead .message-lead-line:last-child{grid-column:2;grid-row:2;text-align:left!important}
 body.page-company .message-mobile .message-body{font-size:14px!important;line-height:1.95!important}
 body.page-company .message-mobile .message-body .message-editorial-line{word-break:normal!important;line-break:strict!important;overflow-wrap:normal!important}
}

/* Postal code and full street address: two readable mobile rows. */
@media(max-width:680px){
 body.page-company .company-profile .company-address-row{grid-template-columns:86px minmax(0,1fr)!important;row-gap:2px}
 body.page-company .company-profile .company-address-row dt{grid-column:1;grid-row:1}
 body.page-company .company-profile .company-address-row dd{display:contents!important}
 body.page-company .company-profile .company-address-row dd>.company-address-line:first-child{grid-column:2;grid-row:1}
 body.page-company .company-profile .company-address-row dd>.company-address-line:last-child{grid-column:1/-1;grid-row:2}
 body.page-company .company-profile .company-address-row dd .address-street-final,
 body.page-company .company-profile .company-address-row dd .address-building-final{display:inline!important}
}

/* Mobile quotation stays on one line independently of desktop styles. */
@media(max-width:820px){
 body.page-company .representative-mobile-preserved .representative-lead{display:block!important;width:auto!important;max-width:100%!important;white-space:nowrap!important;text-wrap:nowrap!important;letter-spacing:0!important;font-size:clamp(10px,3.3vw,18px)!important;line-height:1.7!important}
}

@media(max-width:680px){
 body.page-company .company-profile .company-address-row dd>.company-address-line.company-address-line.company-address-line:last-child{grid-column:2!important;grid-row:2;font-size:clamp(10px,3.1vw,14px)!important;white-space:nowrap!important}
}
@media(max-width:350px){body.page-company .company-profile .company-address-row{grid-template-columns:72px minmax(0,1fr)!important}}

@media(max-width:820px){
 body.page-company .representative-mobile-preserved .representative-lead{font-size:clamp(12px,3.95vw,20px)!important}
 body.page-company .representative-mobile-preserved .message-three-lines{font-size:clamp(11px,3.55vw,14px)!important;letter-spacing:0!important}
 body.page-company .representative-mobile-preserved .message-three-lines>span{display:block;white-space:nowrap!important;text-wrap:nowrap!important}
}

@media(max-width:350px){body.page-company .representative-mobile-preserved .message-three-lines{font-size:10.8px!important}}
