/* Homepage sections only; shared chrome lives in site-shell.css. */
.home-introduction{display:block;position:relative;padding-top:2.5rem;padding-bottom:1.25rem}
.home-introduction>div{position:relative;z-index:1;width:100%;min-width:0;max-width:none}
.home-introduction h1{font-size:clamp(1.89rem,3.33vw,3.06rem);line-height:1.13;letter-spacing:-.048em;font-weight:700;max-width:none;text-wrap:wrap;margin:0 0 .8rem}
.home-intro-text{font-size:1rem;max-width:none;line-height:1.75;color:var(--site-muted);margin:0}
.home-intro-mark{position:absolute;inset-inline-end:1rem;inset-block-start:50%;z-index:0;font-size:10rem;line-height:.7;font-weight:200;color:#d9e9e8;margin:0;transform:translateY(-50%) rotate(-9deg);user-select:none;pointer-events:none}
.home-quick{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1.8rem}
.home-quick>span{font-size:.69rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--site-muted);margin-right:.5rem}
.home-quick a{display:inline-flex;gap:1.2rem;align-items:center;min-height:44px;font-size:.78rem;padding:.4rem .85rem;background:#f0f6f6;border:1px solid #e1ebeb;border-radius:30px;color:#356270;white-space:nowrap}
.home-quick a:hover{background:#ddeeee;border-color:#b7d4d6}
.home-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3.6rem 2.5rem;padding-bottom:5rem}
.home-section{grid-column:1/-1;min-width:0}
.home-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.6rem;padding-top:1.4rem;border-top:1px solid var(--site-line)}
.home-section-heading h2{font-size:1.65rem;font-weight:700;letter-spacing:-.035em;margin:0}
.home-section-heading p{font-size:.9rem;color:var(--site-muted);max-width:680px;margin:.6rem 0 0}
.home-hero-heading{border:0;padding:0;margin:0 0 1rem}
.home-hero-heading h2{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--site-muted);font-weight:700}
.home-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.65rem}
.home-card-grid.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-card{min-width:0;display:flex;flex-direction:column;background:#fff;border-bottom:1px solid var(--site-line);padding-bottom:1rem}
.home-card-image{display:block;overflow:hidden;aspect-ratio:1.65;background:#eaf1f5;border-radius:12px}
.home-card-image .content-picture,.home-card-image picture{display:block;width:100%;height:100%}
.home-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.home-card-text{padding-top:1rem;flex:1;display:flex;flex-direction:column;min-width:0}
.home-card-category{font-size:.64rem;font-weight:700;letter-spacing:.025em;color:var(--site-teal);margin-bottom:.55rem}
.home-card h3{font-size:1.04rem;line-height:1.45;letter-spacing:-.015em;font-weight:700;margin:0 0 1rem;overflow-wrap:anywhere}
.home-card-meta{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:auto;font-size:.65rem;color:#758795}
.home-card-meta>span:not(.home-card-arrow):before{content:'·';margin-right:.7rem}
.home-card-arrow{margin-left:auto;color:var(--site-blue);font-size:1.15rem;line-height:1}
.home-image-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(125deg,#e4eef2,#f7fafa);width:100%;height:100%;padding:2rem}
.home-image-placeholder img{width:85%;height:auto;object-fit:contain;opacity:.8}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.3rem;grid-template-rows:repeat(2,minmax(0,1fr))}
.home-hero-card{border:0;padding:0;background:var(--site-tint);border-radius:var(--site-radius);overflow:hidden;display:grid;grid-template-columns:43% minmax(0,1fr)}
.home-hero-card .home-card-image{border-radius:0;aspect-ratio:auto;height:100%;min-height:210px}
.home-hero-card .home-card-text{padding:1.4rem 1.2rem}
.home-hero-card h3{font-size:1.03rem;line-height:1.48}
.home-hero-card:first-child{grid-row:1/3;display:block;position:relative;min-height:475px;background:var(--site-deep)}
.home-hero-card:first-child .home-card-image{position:absolute;inset:0;height:100%;border-radius:0}
.home-hero-card:first-child .home-card-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#09263a00 5%,#09263a66 28%,#08283dd9 62%,#08273df5 100%)}
.home-hero-card:first-child .home-card-text{position:relative;justify-content:end;min-height:475px;padding:2.3rem;color:#fff;pointer-events:none}
.home-hero-card:first-child .home-card-text a{pointer-events:auto;color:#fff}
.home-hero-card:first-child h3{font-size:clamp(1.5rem,2.15vw,2rem);font-weight:650;line-height:1.22;letter-spacing:-.025em;margin-bottom:.8rem;max-width:670px}
.home-hero-card:first-child .home-card-category{color:#c7f2ed;background:#0f344bd9;border-radius:4px;padding:.18rem .45rem;align-self:flex-start}
.home-hero-card:first-child .home-card-meta{color:#c4d5e0;margin-top:1rem}
.home-hero-card:first-child .home-card-arrow{color:#fff}
.home-card-lead{font-size:.87rem;line-height:1.65;margin:0;color:#dbe7ee;max-width:620px}
.home-hero-grid.cards-1{grid-template-columns:1fr}
.home-hero-grid.cards-2{grid-template-columns:1.25fr 1fr;grid-template-rows:1fr}
.home-hero-grid.cards-2 .home-hero-card:first-child{grid-row:auto}
.home-hero-grid.cards-2 .home-hero-card:nth-child(2){grid-template-columns:1fr;grid-template-rows:240px 1fr}
.home-section-profile{display:grid;grid-template-columns:38% 1fr;gap:3.5rem;background:#eef4f3;border-radius:20px;overflow:hidden;min-height:405px}
.home-profile-image{align-self:end;height:405px;padding:1rem 1rem 0 2rem;background:radial-gradient(ellipse at 40% 90%,#bedad8 0%,#d9e8e500 65%)}
.home-profile-image img{height:100%;width:100%;object-fit:contain;object-position:center bottom}
.home-profile-text{padding:3rem 3rem 3rem 0;align-self:center}
.home-profile-text h2{font-size:2rem;line-height:1.2;letter-spacing:-.035em;font-weight:650;max-width:560px;margin-bottom:1.3rem}
.home-profile-text blockquote{font-size:1.06rem;line-height:1.7;color:#426574;max-width:570px;margin-bottom:1rem}
.home-profile-specialty{font-size:.76rem;color:var(--site-muted);margin-bottom:1.5rem}
.home-section-callout{display:grid;grid-template-columns:70px 1fr auto;gap:2rem;align-items:center;padding:2.4rem 2.7rem;border-radius:18px;background:var(--site-deep);color:#fff}
.home-callout-icon{width:70px;height:70px;color:#a3d7d3}
.home-section-callout h2{font-size:1.55rem;letter-spacing:-.025em;margin:0 0 .6rem}
.home-section-callout p{font-size:.84rem;max-width:560px;color:#c1d2dd;margin:0}
.home-section-compact{grid-column:span 1}
.home-section-compact .home-card-grid{grid-template-columns:1fr;gap:1.25rem}
.home-section-compact .home-card{display:grid;grid-template-columns:125px 1fr;gap:1.1rem;padding-bottom:1.25rem}
.home-section-compact .home-card-image{aspect-ratio:1.1}
.home-section-compact .home-card-text{padding-top:0}
.home-section-compact .home-card h3{font-size:1rem;margin-bottom:.65rem}
.home-section-compact .home-section-heading h2{font-size:1.35rem}
.home-section-compact .site-text-link{font-size:.69rem;gap:.5rem}
@media(min-width:1200px){
#site-navigation{width:100%}
#site-navigation .offcanvas-body{padding:0;width:100%}
}
@media(max-width:1199px){
#site-navigation{--bs-offcanvas-width:420px}
.home-introduction{padding-top:2rem}
.home-intro-mark{display:none}
.home-hero-grid{grid-template-columns:1.45fr 1fr;gap:1rem}
.home-hero-card{grid-template-columns:1fr}
.home-hero-card:not(:first-child) .home-card-image{min-height:0;height:120px}
.home-hero-card .home-card-text{padding:1rem}
.home-hero-card h3{font-size:.92rem}
.home-hero-card:first-child .home-card-text,.home-hero-card:first-child{min-height:520px}
.home-hero-card:first-child .home-card-text{padding:1.8rem}
.home-card-grid.cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-profile-text{padding:2rem 2rem 2rem 0}
.home-section-profile{gap:1.5rem}
.home-section-callout{gap:1.5rem;padding:2rem;grid-template-columns:55px 1fr}
.home-section-callout>.site-button{grid-column:2;justify-self:start}
.home-callout-icon{width:55px;height:55px}
.home-section-compact .home-section-heading{align-items:start;flex-direction:column;gap:.6rem}
}
@media(max-width:767px){
.home-introduction{padding-top:1.5rem;padding-bottom:.9rem}
.home-introduction h1{font-size:2.2rem;max-width:none}
.home-intro-text{font-size:.88rem;line-height:1.7}
.home-intro-mark{display:none}
.home-quick{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:.6rem;gap:.5rem;margin-bottom:1.1rem;scrollbar-width:thin}
.home-quick>span{display:none}
.home-quick a{font-size:.72rem;padding:.38rem .75rem;gap:.75rem}
.home-sections{display:block;padding-bottom:2.6rem}
.home-section{margin-bottom:2.3rem}
.home-hero-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:.9rem}
.home-hero-card:first-child{grid-column:1/-1;grid-row:auto;min-height:390px}
.home-hero-card:first-child .home-card-text{min-height:390px;padding:1.5rem}
.home-hero-card:first-child h3{font-size:1.55rem;line-height:1.28}
.home-card-lead{font-size:.78rem}
.home-hero-card:not(:first-child){display:flex}
.home-hero-card:not(:first-child) .home-card-image{height:auto;aspect-ratio:1.4;flex-shrink:0}
.home-hero-card:not(:first-child) .home-card-text{padding:.9rem}
.home-hero-card h3{font-size:.9rem}
.home-card-meta{font-size:.6rem;gap:.4rem}
.home-card-meta>span:not(.home-card-arrow):before{margin-right:.4rem}
.home-card-category{font-size:.59rem}
.home-hero-grid.cards-2{grid-template-columns:1fr}
.home-hero-grid.cards-2 .home-hero-card:nth-child(2){display:grid;grid-template-columns:40% 1fr;grid-template-rows:auto}
.home-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem}
.home-card h3{font-size:.91rem}
.home-card-text{padding-top:.8rem}
.home-section-heading{padding-top:1.15rem;margin-bottom:1.2rem;align-items:end}
.home-section-heading h2{font-size:1.35rem}
.home-section-hero .home-section-heading{padding:0}
.home-hero-heading h2{font-size:.6rem}
.home-section-profile{grid-template-columns:1fr;gap:0;display:flex;flex-direction:column-reverse}
.home-profile-image{height:285px;width:100%;padding:0 1rem}
.home-profile-text{padding:1.8rem 1.6rem .8rem}
.home-profile-text h2{font-size:1.65rem}
.home-profile-text blockquote{font-size:.91rem}
.home-profile-specialty{margin-bottom:1rem}
.home-section-callout{display:block;padding:1.8rem}
.home-callout-icon{width:45px;height:45px;margin-bottom:1.2rem}
.home-section-callout h2{font-size:1.35rem}
.home-section-callout .site-button{margin-top:1.5rem;font-size:.77rem}
.home-section-compact .home-section-heading{flex-direction:row;align-items:center}
.home-section-compact .home-card{grid-template-columns:110px 1fr;gap:.9rem}
.home-section-compact .home-card h3{font-size:.95rem}
.home-card-grid.cards-1{grid-template-columns:1fr}
}
@media(max-width:359px){
.home-introduction h1{font-size:1.9rem}
.home-card-grid,.home-card-grid.cards-4,.home-hero-grid{grid-template-columns:1fr}
.home-hero-card:first-child{grid-column:auto}
.home-hero-card:not(:first-child) .home-card-image{aspect-ratio:1.8}
}
@media(prefers-reduced-motion:no-preference){
.home-card-image img{transition:transform .3s}
.home-card:hover .home-card-image img{transform:scale(1.025)}
}
.home-hero-card.home-card-no-image{grid-template-columns:1fr}
.home-hero-card:first-child.home-card-no-image{background:linear-gradient(130deg,#123b53,#17666b)}
.home-section-compact .home-card-no-image{grid-template-columns:1fr}
.home-card h3 a:focus-visible{outline-offset:5px}
/* Long native section names must share the row without pushing its link out. */
.home-section-heading{flex-wrap:wrap}
.home-section-heading>div{min-width:0;flex:1 1 220px}
.home-section-heading .site-text-link{max-width:100%;white-space:normal;overflow-wrap:anywhere}
/* Every quick-link label remains visible and tappable on a narrow screen. */
@media(max-width:767px){.home-quick{flex-wrap:wrap;overflow-x:visible;gap:8px;padding-bottom:0}.home-quick a{max-width:100%;min-height:44px;white-space:normal;overflow-wrap:anywhere}}
