/* The reference composition is isolated to the homepage. */
.home-reference{--container:1320px;color:var(--reference-ink)}
.home-reference .container{width:min(var(--container),89.2%)}
.home-reference .hero{height:38vw;min-height:400px;max-height:660px}
.home-reference .hero:after{background:linear-gradient(90deg,#04386dd9 0%,#05386b99 35%,#073b701a 72%,transparent 100%)}
.home-reference .hero-slide:first-child img{object-position:center 54%}
.home-reference .hero .hero-content{height:100%;padding-block:0 12px;justify-content:center}
.home-reference .hero .eyebrow,.home-reference .hero-location,.home-reference .scroll-cue{display:none}
.home-reference .hero h1.hero-reference-title{display:block;font-family:var(--reference-serif);font-size:clamp(40px,4.6vw,70px);line-height:1.4;letter-spacing:1px;font-weight:700}
.home-reference .hero-description.hero-reference-subtitle{font-family:var(--reference-serif);font-size:clamp(20px,2.3vw,34px);font-weight:400;line-height:1.7;letter-spacing:1px;color:#fff;margin-top:4px}
.home-reference .hero-actions{gap:22px;margin-top:26px}
.home-reference .hero-actions a{display:flex;align-items:center;justify-content:center;min-height:60px;font-family:var(--reference-serif);font-size:17px;padding:14px 32px;border-radius:3px;font-weight:600}
.home-reference .hero-actions .button{background:var(--reference-blue);color:#fff;border:1px solid var(--reference-blue)}
.home-reference .hero-actions .hero-link{border:1px solid #ffffffa6;color:#fff;background:#073b7020}
.home-reference .hero-actions a:hover{background:#0683ff;border-color:#0683ff}
.home-reference .hero-bottom{bottom:10px;justify-content:flex-end}
.home-reference .hero-controls{flex-basis:auto;gap:4px}
.home-reference .hero-controls>button{width:28px;height:28px;border:0;background:#082d5140}
.home-reference .hero-controls>button>svg{width:13px}
.home-reference .hero-pagination button{height:28px;min-width:25px;padding:3px 7px 9px;font-size:0}
.home-reference .hero-pagination button:after{left:6px;right:6px;height:2px;bottom:9px}
.home-reference .reference-about{padding:36px 0;background:#fff}
.home-reference .reference-about-grid{display:grid;grid-template-columns:.78fr 1fr;gap:56px;align-items:center}
.home-reference .reference-company{display:inline-block;font-family:var(--reference-serif);font-size:clamp(24px,2.65vw,39px);font-weight:700;color:#0757ad;margin-top:34px;line-height:1.5}
.home-reference .reference-about-copy>p{font-family:var(--reference-serif);font-size:clamp(17px,1.95vw,28px);line-height:1.7;margin-top:13px;white-space:nowrap}
.home-reference .reference-about-image{display:block;aspect-ratio:2.05;overflow:hidden}
.home-reference .reference-about-image img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.home-reference .reference-business{padding:48px 0;background:var(--reference-pale)}
.home-reference .reference-business-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:26px 22px}
.home-reference .reference-business-card{flex:0 0 calc((100% - 66px)/4);min-width:0;background:#fff;color:var(--reference-ink);border:1px solid transparent;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}
.home-reference .reference-business-card:hover{transform:translateY(-3px);border-color:#9acbfd;box-shadow:0 8px 20px #0b315b0c}
.home-reference .reference-business-card>img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover}
.home-reference .reference-card-copy{padding:16px 24px 20px;display:flex;flex-direction:column;flex:1}
.home-reference .reference-card-copy h3{font-family:var(--reference-serif);font-size:24px;font-weight:700;line-height:1.5;letter-spacing:0}
.home-reference .reference-card-copy p{font-size:18px;line-height:1.7;color:#7d8691;margin-top:4px;min-height:31px}
.home-reference .reference-card-link{display:flex;align-items:center;gap:14px;font-family:var(--reference-serif);font-size:17px;color:#2b6ca7;font-weight:600;line-height:1.8;margin-top:12px}
.home-reference .reference-card-link svg{width:19px;height:19px}
.home-reference .reference-partners{padding:30px 0 28px;background:#fff}
.home-reference .reference-partners .reference-section-heading{margin-bottom:22px}
.home-reference .reference-partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.home-reference .reference-partner{min-height:152px;border:1px solid #d7dce1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#999;font-size:16px}
.home-reference .reference-partner img{width:46px;height:46px;object-fit:contain;opacity:.5;filter:grayscale(1)}
.home-reference .reference-partner-note{text-align:center;font-size:15px;color:#959ba3;margin-top:14px}
.home-reference .inquiry-dialog{width:720px;max-width:calc(100% - 32px);max-height:90svh;border:0;padding:0;color:var(--ink);overscroll-behavior:contain;background:#fff;box-shadow:0 20px 100px #001b4a40}
.home-reference .inquiry-dialog::backdrop{background:#031d39a3;backdrop-filter:blur(4px)}
.home-reference .inquiry-close{position:absolute;right:14px;top:13px;width:36px;height:36px;font-size:27px;line-height:1;text-align:center;color:#6c8396;background:#f2f6f9;z-index:1}
.home-reference .inquiry-dialog .contact-form{padding:42px;background:#fff;scroll-margin-top:0}
.home-reference .inquiry-dialog h2{font-size:26px;padding-right:25px}
.home-reference .inquiry-privacy{color:#56748e;font-size:11px;padding:12px 0 0}
.home-reference .hero h1.hero-reference-title{font-size:clamp(38px,4.15vw,62px)}
.home-reference .hero-description.hero-reference-subtitle{font-size:clamp(19px,2vw,29px)}
.home-reference .hero-actions a{font-size:15px;min-height:54px}
.home-reference .reference-company{font-size:clamp(23px,2.3vw,34px)}
.home-reference .reference-about-copy>p{font-size:clamp(16px,1.65vw,24px)}
.home-reference .reference-card-copy{padding:14px 20px 17px}
.home-reference .reference-card-copy h3{font-size:21px}
.home-reference .reference-card-copy p{font-size:15px}
.home-reference .reference-card-link{font-size:15px}
.home-reference .reference-partner{font-size:14px}
.home-reference .reference-partner-note{font-size:13px}
@media(max-width:1250px) and (min-width:1061px){
 .home-reference .reference-about-grid{gap:32px}
 .home-reference .reference-card-copy{padding:14px 17px 18px}
 .home-reference .reference-card-copy h3{font-size:21px}
 .home-reference .reference-card-copy p{font-size:15px}
}
@media(max-width:1060px){
 .home-reference .hero{height:420px;min-height:420px}
 .home-reference .hero-actions a{min-height:48px;font-size:15px;padding:11px 24px}
 .home-reference .reference-about-grid{gap:26px;grid-template-columns:.85fr 1fr}
 .home-reference .reference-company{margin-top:23px;font-size:24px}
 .home-reference .reference-about-copy>p{white-space:normal;font-size:17px}
 .home-reference .reference-business-grid{gap:22px}
 .home-reference .reference-business-card{flex-basis:calc((100% - 22px)/2)}
 .home-reference .reference-card-copy h3{font-size:21px}
 .home-reference .reference-card-copy p{font-size:15px}
}
@media(max-width:760px){
 .home-reference .container{width:calc(100% - 40px)}
 .home-reference .hero{height:430px;min-height:430px;max-height:none}
 .home-reference .hero:after{background:linear-gradient(90deg,#04386dc7,#05386b82 60%,#073b7030)}
 .home-reference .hero-slide:first-child img{object-position:56% center}
 .home-reference .hero .hero-content{padding-block:0 34px}
 .home-reference .hero h1.hero-reference-title{font-size:clamp(29px,7.5vw,48px);letter-spacing:0;white-space:nowrap}
 .home-reference .hero-description.hero-reference-subtitle{font-size:19px;letter-spacing:0;margin-top:14px}
 .home-reference .hero-actions{gap:12px;margin-top:24px}
 .home-reference .hero-actions a{min-height:44px;font-size:14px;padding:10px 18px}
 .home-reference .hero-controls{justify-content:flex-end}
 .home-reference .reference-about{padding:30px 0}
 .home-reference .reference-about-grid{grid-template-columns:1fr;gap:22px}
 .home-reference .reference-company{font-size:25px;margin-top:19px}
 .home-reference .reference-about-copy>p{font-size:16px;margin-top:8px}
 .home-reference .reference-about-image{aspect-ratio:1.8}
 .home-reference .reference-business{padding:30px 0}
 .home-reference .reference-business-grid{gap:18px}
 .home-reference .reference-business-card{flex-basis:100%;max-width:480px}
 .home-reference .reference-card-copy{padding:16px 20px 20px}
 .home-reference .reference-card-copy h3{font-size:21px}
 .home-reference .reference-card-copy p{font-size:15px;min-height:0}
 .home-reference .reference-card-link{font-size:16px;margin-top:9px}
 .home-reference .reference-partners{padding:28px 0}
 .home-reference .reference-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .home-reference .reference-partner{min-height:112px;font-size:12px}
 .home-reference .reference-partner img{width:36px;height:36px}
 .home-reference .reference-partner-note{font-size:11px;line-height:1.8;margin-top:12px}
 .home-reference .inquiry-dialog .contact-form{padding:32px 22px 24px}
 .home-reference .inquiry-dialog h2{font-size:23px}
 .home-reference .inquiry-dialog .form-row{grid-template-columns:1fr;gap:0}
}
@media(max-width:360px){
 .home-reference .hero-actions a{font-size:13px;padding-inline:15px}
 .home-reference .reference-company{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.home-reference .reference-business-card{transition:none}.home-reference .reference-business-card:hover{transform:none}}

/* The expanded company introduction keeps the home page informative while preserving its editorial rhythm. */
.home-reference .reference-about{padding:52px 0 58px}
.home-reference .reference-about-grid{align-items:stretch}
.home-reference .reference-about-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}
.home-reference .reference-about-copy>.reference-about-lead{font-family:var(--reference-serif);font-size:clamp(16px,1.25vw,18px);line-height:1.7;margin-top:12px;color:#39536d;white-space:normal}
.home-reference .reference-about-body{margin-top:18px;color:#657486;font-size:15px;line-height:1.9}
.home-reference .reference-about-body p+p{margin-top:10px}
.home-reference .reference-about-values{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:23px;padding-top:18px;border-top:1px solid #dce5ee}
.home-reference .reference-about-values>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.home-reference .reference-about-values strong{font-family:var(--reference-serif);font-size:16px;color:#1b4f80}
.home-reference .reference-about-values span{font-size:14px;line-height:1.65;color:#6f7f8e}
.home-reference .reference-about-image{aspect-ratio:auto;min-height:100%;height:auto}

@media(max-width:1060px){
 .home-reference .reference-about{padding:44px 0 48px}
 .home-reference .reference-about-body{font-size:14px;line-height:1.85}
 .home-reference .reference-about-values{gap:12px}
 .home-reference .reference-about-values span{font-size:13px}
}
@media(max-width:760px){
 .home-reference .reference-about{padding:30px 0}
 .home-reference .reference-about-body{margin-top:14px;font-size:14px;line-height:1.85}
 .home-reference .reference-about-values{grid-template-columns:1fr;gap:12px;margin-top:19px;padding-top:15px}
 .home-reference .reference-about-values>div+div{padding-top:12px;border-top:1px solid #e4ebf2}
 .home-reference .reference-about-values strong{font-size:15px}
 .home-reference .reference-about-values span{font-size:13px}
 .home-reference .reference-about-image{min-height:0;aspect-ratio:1.8;height:auto}
}
