@charset "UTF-8";

.company-page{background:#f6f7f9;}
.company-page main{display:block;}
.company-page .section{padding:96px 0; position:relative;}
.company-page .section--white{background:#fff;}
.company-page .section--tint{background:linear-gradient(180deg,#fffaf6 0%, #fff6ef 100%);}
.company-page .section--dark{background:linear-gradient(180deg,#161d29 0%, #0f1622 100%); color:#f5f7fb;}
.company-page .section--cta{padding-top:72px; background:linear-gradient(180deg,#fffaf6 0%, #fff6ef 100%);}
.company-page .section-label{margin:0 0 10px; color:rgba(242,106,33,.78); font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;}
.company-page .section-title{margin:0; font-size:clamp(28px,3vw,44px); line-height:1.2; letter-spacing:.02em; color:#18212f;}
.company-page .section--dark .section-title{color:#fff;}
.company-page .section-copy{margin:18px 0 0; font-size:clamp(22px,2vw,30px); line-height:1.5; color:#18212f;}
.company-page .section-heading{margin-bottom:36px;}
.company-page .section-heading--center{text-align:center; max-width:820px; margin:0 auto 42px;}
.company-page .richtext{display:grid; gap:18px;}
.company-page .richtext p{margin:0; color:rgba(24,33,47,.76); line-height:2; font-size:clamp(15px,1.04vw,16px);}
.company-page .section--dark .richtext p{color:rgba(255,255,255,.74);}
.eyebrow{display:inline-flex; align-items:center; margin:0 0 18px; color:rgba(255,255,255,.90); letter-spacing:.18em; font-size:.78rem; font-weight:800; text-transform:uppercase;}

.company-hero{position:relative; min-height:min(76vh,760px); overflow:hidden; background:#111927; display:grid; align-items:end;}
.company-hero__media,.company-hero__media img{position:absolute; inset:0; width:100%; height:100%;}
.company-hero__media img{object-fit:cover; object-position:center; filter:saturate(.98) contrast(1.02);} 
.company-hero__overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(7,12,20,.12) 0%, rgba(7,12,20,.24) 48%, rgba(7,12,20,.38) 100%);} 
.company-hero__content{position:relative; z-index:1; padding:clamp(96px,14vw,148px) 0 56px; color:#fff;}
.company-hero__content h1{margin:0 0 18px; font-size:clamp(2.4rem, 5.2vw, 4.8rem); line-height:1.04; letter-spacing:.05em; text-shadow:0 10px 26px rgba(0,0,0,.20);} 
.company-hero__lead{margin:0; max-width:720px; font-size:clamp(1rem, 1.4vw, 1.12rem); line-height:1.95; color:rgba(255,255,255,.88); text-shadow:0 8px 22px rgba(0,0,0,.20);} 

.message-block{max-width:1040px;}
.message-richtext{margin-top:24px;}
.message-richtext p{max-width:none;}
.message-signoff{display:flex; justify-content:flex-end; margin-top:34px;}
.message-signoff img{display:block; width:min(100%, 300px); height:auto; object-fit:contain; filter:drop-shadow(0 10px 24px rgba(18,24,39,.06));}

.yesican{margin:16px 0 10px; font-size:clamp(36px,4vw,58px); font-weight:900; letter-spacing:.06em; color:var(--ss-accent);} 
.philosophy-principles{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:34px;}
.philosophy-principles article{padding:26px 24px; border-radius:24px; background:#fff; border:1px solid rgba(24,33,47,.08); box-shadow:0 16px 40px rgba(18,24,39,.06);} 
.philosophy-principles span{display:inline-flex; width:38px; height:38px; border-radius:999px; align-items:center; justify-content:center; background:rgba(242,106,33,.10); color:var(--ss-accent); font-weight:800; margin-bottom:14px;}
.philosophy-principles p{margin:0; color:rgba(24,33,47,.78); line-height:1.85;}

.philosophy-visual{margin:0 auto; max-width:820px; text-align:center;}
.philosophy-visual__frame{display:block;}
.philosophy-visual__img{display:block; width:min(100%, 760px); margin:0 auto; height:auto; filter:drop-shadow(0 16px 32px rgba(18,24,39,.08));}


.profile-grid{display:grid; grid-template-columns:minmax(0,1.06fr) minmax(320px,.94fr); gap:40px; align-items:start;}
.profile-list{display:grid; gap:0; border-top:1px solid rgba(24,33,47,.08);}
.profile-list__row{display:grid; grid-template-columns:220px 1fr; gap:18px; padding:18px 0; border-bottom:1px solid rgba(24,33,47,.08);} 
.profile-list__row dt{font-weight:800; color:#18212f;}
.profile-list__row dd{margin:0; color:rgba(24,33,47,.76); line-height:1.9;}
.chip{display:inline-flex; margin-left:10px; padding:2px 10px; border-radius:999px; background:rgba(242,106,33,.10); color:var(--ss-accent); font-size:12px; font-weight:800; letter-spacing:.1em;}
.profile-visual-card{position:sticky; top:calc(var(--ss-header-h) + 120px); border-radius:30px; overflow:hidden; background:#fff; border:1px solid rgba(24,33,47,.08); box-shadow:var(--ss-shadow);} 
.profile-visual-card img{width:100%; aspect-ratio:4/3; object-fit:cover;}
.since{position:absolute; inset:22px auto auto 22px; z-index:1; display:inline-flex; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.86); color:#18212f; font-size:12px; font-weight:800; letter-spacing:.16em;}

.timeline{position:relative; display:grid; gap:18px;}
.timeline::before{content:""; position:absolute; left:232px; top:0; bottom:0; width:1px; background:rgba(255,255,255,.14);} 
.timeline-era{display:inline-flex; align-items:center; justify-content:center; width:86px; min-height:36px; border-radius:999px; background:rgba(242,106,33,.16); color:#ffd7c3; font-weight:800; letter-spacing:.14em; margin:10px 0 4px 190px;}
.timeline-item{position:relative; display:grid; grid-template-columns:190px 24px minmax(0,1fr); gap:18px; align-items:start;}
.timeline-item__date{color:rgba(255,255,255,.72); font-weight:700; padding-top:2px;}
.timeline-item__dot{width:14px; height:14px; border-radius:999px; margin-top:8px; background:var(--ss-accent); box-shadow:0 0 0 6px rgba(242,106,33,.16);} 
.timeline-item__content{color:rgba(255,255,255,.82); line-height:1.9;}
.timeline-item__content strong{color:#fff;}

.tabs{display:grid; gap:22px;}
.tabs__nav{display:flex; flex-wrap:wrap; gap:10px;}
.tabs__button{display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px; border-radius:12px; border:1px solid rgba(24,33,47,.08); background:#fff; color:rgba(24,33,47,.68); font-weight:800; cursor:pointer; transition:.18s ease;}
.tabs__button.is-active,.tabs__button:hover{background:rgba(242,106,33,.10); color:var(--ss-accent); border-color:rgba(242,106,33,.18);} 
.tabs__panel{display:none;}
.tabs__panel.is-active{display:block;}
.declaration-card{padding:40px 40px 36px; border-radius:30px; background:linear-gradient(180deg,#fff 0%, #fffaf6 100%); border:1px solid rgba(24,33,47,.08); box-shadow:var(--ss-shadow);} 
.declaration-card h3{margin:0 0 18px; font-size:clamp(24px,2vw,34px); letter-spacing:.02em;}
.declaration-card__lead,.declaration-card__footer{margin:0; color:rgba(24,33,47,.74); line-height:2;}
.declaration-card__lead{display:grid; gap:12px;}
.declaration-list{counter-reset:declaration; list-style:none; margin:28px 0; padding:0; display:grid; gap:16px;}
.declaration-list li{position:relative; margin:0; padding:16px 18px 16px 64px; border-left:3px solid rgba(242,106,33,.78); background:rgba(255,255,255,.72); border-radius:0 18px 18px 0; color:#18212f; line-height:1.95; box-shadow:0 8px 20px rgba(18,24,39,.04);}
.declaration-list li::before{counter-increment:declaration; content:counter(declaration, decimal-leading-zero); position:absolute; left:18px; top:15px; color:var(--ss-accent); font-size:13px; font-weight:800; letter-spacing:.12em;}
.declaration-card__footer{padding-top:18px; border-top:1px solid rgba(24,33,47,.08);}

.iso-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.9fr); gap:42px; align-items:start;}
.iso-grid__gallery{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px;}
.iso-card{padding:16px; border:none; border-radius:26px; background:#fff; box-shadow:0 18px 42px rgba(18,24,39,.08); cursor:pointer; text-align:left;}
.iso-card img{width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:18px; border:1px solid rgba(24,33,47,.08);} 
.iso-card span{display:block; margin-top:12px; font-weight:800; color:#18212f;}
.iso-meta{display:grid; gap:14px; margin:24px 0 0;}
.iso-meta div{display:grid; grid-template-columns:120px 1fr; gap:18px; padding:14px 0; border-bottom:1px solid rgba(24,33,47,.08);} 
.iso-meta dt{font-weight:800; color:#18212f;} .iso-meta dd{margin:0; color:rgba(24,33,47,.76);} 

.location-list{display:grid; gap:28px;}
.location-card{display:grid; grid-template-columns:minmax(300px,.96fr) minmax(0,1.04fr); gap:28px; padding:24px; border-radius:30px; background:linear-gradient(180deg,#fff 0%, #fffaf5 100%); border:1px solid rgba(24,33,47,.08); box-shadow:var(--ss-shadow); align-items:stretch; overflow:hidden;} 
.location-card__photo{position:relative; overflow:hidden; border-radius:24px; min-height:320px; min-width:0; height:100%; background:#eef1f4;}
.location-card__photo img{display:block; width:100%; height:100%; max-width:100%; object-fit:cover; object-position:center;}
.location-card--photo-contain .location-card__photo{background:linear-gradient(180deg,#f4f7fa 0%, #eef2f6 100%); min-height:auto; aspect-ratio:4 / 3;}
.location-card--photo-contain .location-card__photo img{object-fit:contain; object-position:center center; padding:12px;}
.location-tag{position:absolute; top:18px; left:18px; z-index:1; display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:0 12px; border-radius:999px; background:rgba(242,106,33,.92); color:#fff; font-size:12px; font-weight:800; letter-spacing:.12em;}
.location-card__body{display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.82fr); gap:20px 24px; align-items:stretch; align-content:start; min-width:0;}
.location-card__contactWrap,.location-card__map{align-self:stretch; min-width:0;}
.location-card__contactWrap > *, .location-card__map > *{min-width:0;}
.location-card__head{grid-column:1 / -1;}
.location-card__head h3{margin:0 0 10px; font-size:clamp(24px,2vw,32px);}
.location-card__address{margin:0; color:rgba(24,33,47,.74); line-height:1.85;}
.location-card__contactWrap{min-width:0;} 
.location-card__contact,.contact-group dl{display:grid; gap:10px; margin:0;} 
.location-card__contact div,.contact-group dl div{display:grid; grid-template-columns:54px 1fr; gap:12px;} 
.location-card__contact dt,.contact-group dt{font-weight:800;} 
.location-card__contact dd,.contact-group dd{margin:0;} 
.contact-groups{display:grid; gap:16px;}
.contact-groups--single{grid-template-columns:1fr;}
.contact-group{padding:16px 18px; border-radius:18px; background:#fff; border:1px solid rgba(24,33,47,.08); box-shadow:0 8px 22px rgba(24,33,47,.04);} 
.contact-group h4{margin:0 0 10px; font-size:16px;}
.contact-group--single{padding:16px 18px;}
.contact-panel{height:100%; padding:16px 18px; border-radius:18px; background:#fff; border:1px solid rgba(24,33,47,.08); box-shadow:0 8px 22px rgba(24,33,47,.04);}
.contact-panel__title{display:none;}
.contact-panel__rows{display:grid; gap:14px;}
.contact-panel__row{display:grid; gap:6px; align-items:start; padding:0; border-top:none;}
.contact-panel__group{font-size:15px; font-weight:800; line-height:1.45;}
.contact-panel__contacts{display:grid; gap:4px; min-width:0; padding-left:14px;}
.contact-panel__meta{display:grid; grid-template-columns:34px 1fr; gap:8px; align-items:center; min-width:0;}
.contact-panel__label{font-size:13px; font-weight:800;}
.contact-panel__meta span:last-child,.contact-panel__meta a{font-size:15px; line-height:1.45; min-width:0; overflow-wrap:normal; word-break:normal; white-space:nowrap;}
.location-card__map{display:grid; gap:12px; align-self:stretch;}
.location-card__map iframe{display:block; width:100%; height:100%; min-height:260px; border:none; border-radius:22px; box-shadow:inset 0 0 0 1px rgba(24,33,47,.08);} 
.map-link,.btn-primary{display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 22px; border-radius:16px; background:rgba(242,106,33,.10); border:1px solid rgba(242,106,33,.18); color:var(--ss-accent); font-weight:800; transition:.18s ease;}
.map-link:hover,.btn-primary:hover{background:var(--ss-accent); color:#fff; border-color:var(--ss-accent);} 

.cta-block{padding:36px 40px; border-radius:32px; background:linear-gradient(180deg,#fff 0%, #fffaf6 100%); border:1px solid rgba(24,33,47,.08); box-shadow:var(--ss-shadow); display:flex; align-items:center; justify-content:space-between; gap:24px;}
.cta-block h2{margin:8px 0 0; font-size:clamp(24px,2.4vw,40px); line-height:1.4;} 
.cta-block__eyebrow{margin:0; color:rgba(242,106,33,.78); font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase;}

.lightbox{position:fixed; inset:0; z-index:5000; display:grid; place-items:center; background:rgba(7,12,20,.74); padding:28px;}
.lightbox__inner{max-width:min(980px,100%); max-height:calc(100vh - 56px);}
.lightbox__inner img{max-width:100%; max-height:calc(100vh - 56px); border-radius:18px;}
.lightbox__close{position:absolute; top:18px; right:18px; width:48px; height:48px; border:none; border-radius:999px; background:rgba(255,255,255,.14); color:#fff; font-size:28px; cursor:pointer;}

.reveal{opacity:1; transform:none; transition:opacity .64s ease, transform .64s ease;}
.reveal.is-visible{opacity:1; transform:none;}
.reveal-delay-2{transition-delay:.12s;}


@media (max-width: 640px){
  .message-signoff{margin-top:26px; justify-content:flex-end;}
  .message-signoff img{width:min(72vw,240px);}
  .philosophy-visual__img{width:min(100%, 92vw);}
}

@media (max-width: 980px){
  .company-page .section{padding:78px 0;}
  .profile-columns,.iso-grid,.location-card,.location-card__body{grid-template-columns:1fr;}
  .philosophy-principles{grid-template-columns:1fr;}
  .timeline::before{left:112px;}
  .timeline-era{margin-left:70px;}
  .timeline-item{grid-template-columns:90px 24px minmax(0,1fr);} 
  .contact-panel__row{gap:8px;}
}


@media (max-width: 768px){
  .company-hero{min-height:auto;}
  .company-hero__content{padding:112px 0 34px;}
  .company-hero__content h1{font-size:clamp(2.1rem, 10vw, 3rem);} 
.profile-list__row,.iso-meta div{grid-template-columns:1fr; gap:8px;}
  .location-card{padding:18px; border-radius:24px;}
  .location-card__photo{width:100%; min-width:0; height:auto; min-height:0; aspect-ratio:16 / 10;}
  .location-card__photo img{width:100%; max-width:100%; height:100%;}
  .location-card__map iframe{min-height:220px;}
  .cta-block{padding:28px 24px; flex-direction:column; align-items:flex-start;}
  .cta-block .btn-primary{width:100%;}
  .contact-panel__meta{grid-template-columns:42px 1fr;}
}



.section-copy--compact{
  max-width: 760px;
  margin-top: 10px;
}

.csr-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}

.csr-gallery__item{
  margin:0;
  border-radius:18px;
  overflow:hidden;
  background:#f4f4f1;
  border:1px solid rgba(20,20,20,.08);
  aspect-ratio: 4 / 3;
}

.csr-gallery__item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media (max-width: 767px){
  .csr-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .csr-gallery__item:first-child{
    grid-column:1 / -1;
  }
}
