/* DCSki homepage prototype 2C ------------------------------------------------
   A deliberately denser two-stream homepage: editorial coverage and Forum
   activity share the first screen, followed by a deep chronological catch-up. */

.homepage2-body{background:#fff}
.homepage2-shell{padding:24px 0 42px}
.homepage2-kicker{margin-bottom:4px;color:#0b69b0;font-size:.67rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.homepage2-stream-heading,.homepage2-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.homepage2-stream-heading{margin-bottom:13px;padding-bottom:9px;border-bottom:2px solid #17212b}
.homepage2-stream-heading h1,.homepage2-stream-heading h2,.homepage2-section-heading h2{margin:0;color:#17212b;font-weight:820;letter-spacing:-.035em}
.homepage2-stream-heading h1{font-size:clamp(1.7rem,2.6vw,2.45rem);line-height:1}
.homepage2-stream-heading h2{font-size:clamp(1.55rem,2.1vw,2rem);line-height:1}
.homepage2-stream-heading>a,.homepage2-section-heading>a{flex:0 0 auto;color:#17577e;font-size:.76rem;font-weight:780;text-decoration:none;white-space:nowrap}
.homepage2-stream-heading>a:hover,.homepage2-section-heading>a:hover{text-decoration:underline}

.homepage2-dashboard{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);gap:30px;align-items:start}
.homepage2-editorial,.homepage2-forum{min-width:0}

/* Lead story: deliberately horizontal so the entire story package can sit above the fold. */
.homepage2-lead{margin-bottom:17px}
.homepage2-lead .modern-story-card{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);gap:22px;align-items:start;padding-bottom:17px;border-bottom:1px solid #dfe4e8}
.homepage2-lead .modern-story-media{border-radius:10px;background:#eef1f3}
.homepage2-lead .modern-story-media img{width:100%;height:auto;max-height:335px;object-fit:contain;background:#eef1f3}
.homepage2-lead .modern-story-copy{padding:0}
.homepage2-lead .modern-story-date{margin-bottom:7px;font-size:.66rem}
.homepage2-lead .modern-story-title{font-size:clamp(1.75rem,2.6vw,2.65rem);line-height:1.02;letter-spacing:-.04em}
.homepage2-lead .modern-story-abstract{margin-top:10px;color:#53606b;font-size:.94rem;line-height:1.48}
.homepage2-lead .modern-comment-badge{font-size:.64rem}

.homepage2-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.homepage2-support-grid .modern-story-secondary{min-width:0}
.homepage2-support-grid .modern-story-media{display:flex;align-items:center;justify-content:center;border-radius:7px;background:#eef1f3}
.homepage2-support-grid .modern-story-media img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#eef1f3}
.homepage2-support-grid .modern-story-copy{padding-top:7px}
.homepage2-support-grid .modern-story-date{font-size:.58rem;margin-bottom:3px}
.homepage2-support-grid .modern-story-title{font-size:.97rem;line-height:1.2}
.homepage2-support-grid .modern-story-abstract{margin-top:6px;color:#66717d;font-size:.76rem;line-height:1.38}
.homepage2-support-grid .modern-new-badge{font-size:.57rem;padding:2px 5px}


.homepage2-story-comments{margin-top:7px;color:#17577e;font-size:.7rem;font-weight:750}
.homepage2-lead .homepage2-story-comments{font-size:.74rem}
.homepage2-support-grid .homepage2-story-comments{margin-top:5px;font-size:.64rem}
.homepage2-story-grid .homepage2-story-comments{margin-top:6px;font-size:.66rem}

/* Forum rail */
.homepage2-forum{padding-left:24px;border-left:1px solid #dfe4e8}
.homepage2-forum-heading{border-bottom-color:#71828d}
.homepage2-forum-list{border-top:0}
.homepage2-forum-list .modern-forum-card{display:block;padding:12px 2px;border:0;border-bottom:1px solid #dfe4e8;border-radius:0;box-shadow:none!important;background:#fff}
.homepage2-forum-list .modern-forum-card:hover{background:#f8fafb;border-color:#dfe4e8}
.homepage2-forum-list .modern-forum-card-yours{background:#f6faff}
.homepage2-forum-list .modern-forum-title-row{gap:7px}
.homepage2-forum-list .modern-forum-card h3{font-size:.92rem;line-height:1.22}
.homepage2-forum-list .modern-forum-badges{gap:4px}
.homepage2-forum-list .modern-yours-badge,.homepage2-forum-list .modern-new-badge{padding:2px 5px;font-size:.54rem}
.homepage2-forum-list .modern-forum-meta{gap:4px 10px;margin-top:5px;font-size:.67rem}
.homepage2-forum-list .modern-forum-update{margin-top:4px;font-size:.66rem}

.homepage2-ad-row{margin:28px 0 8px}
.homepage2-section{margin-top:38px}
.homepage2-section-heading{margin-bottom:18px;padding-bottom:9px;border-bottom:1px solid #cfd7dd}
.homepage2-section-heading h2{font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.05}
.homepage2-section-heading>span{padding-bottom:2px;color:#7a858e;font-size:.72rem}

.homepage2-story-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 22px}
.homepage2-story-grid .modern-story-card{padding-bottom:20px;border-bottom:1px solid #dfe4e8}
.homepage2-story-grid .modern-story-media{display:flex;align-items:center;justify-content:center;border-radius:8px;background:#eef1f3}
.homepage2-story-grid .modern-story-media img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#eef1f3}
.homepage2-story-grid .modern-story-date{font-size:.61rem}
.homepage2-story-grid .modern-story-title{font-size:1.05rem;line-height:1.22}
.homepage2-story-grid .modern-story-abstract{font-size:.82rem;line-height:1.43}
.homepage2-story-grid .modern-comment-badge{font-size:.6rem}

/* Deep chronological catch-up: 18 additional stories without turning them into giant cards. */
.homepage2-catchup{margin-top:35px}
.homepage2-catchup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dfe4e8;border-left:1px solid #dfe4e8}
.homepage2-catchup-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;align-items:center;min-height:106px;padding:12px;border-right:1px solid #dfe4e8;border-bottom:1px solid #dfe4e8;color:inherit;text-decoration:none!important}
.homepage2-catchup-row:hover{background:#f8fafb}
.homepage2-catchup-row>img{display:block;width:82px;height:62px;object-fit:contain;border-radius:6px;background:#eef1f3}
.homepage2-catchup-copy{min-width:0}
.homepage2-catchup-date{margin-bottom:4px;color:#7b858e;font-size:.56rem;font-weight:800;letter-spacing:.055em}
.homepage2-catchup-title-row{display:flex;gap:7px;align-items:flex-start}
.homepage2-catchup-title-row h3{margin:0;color:#263945;font-size:.86rem;line-height:1.25;font-weight:760}
.homepage2-catchup-title-row .modern-new-badge{font-size:.52rem;padding:2px 5px}
.homepage2-catchup-meta{margin-top:5px;color:#849099;font-size:.59rem}

.homepage2-explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.homepage2-explore-grid a{display:block;min-height:118px;padding:18px;border:1px solid #dfe4e8;border-radius:10px;background:#f7f9fa;color:inherit;text-decoration:none!important}
.homepage2-explore-grid a:hover{border-color:#b9ccd8;background:#fff}
.homepage2-explore-grid strong{display:block;margin-bottom:6px;color:#17577e;font-size:1rem}
.homepage2-explore-grid span{display:block;color:#66717d;font-size:.82rem;line-height:1.45}
.homepage2-footer-cta{margin-top:38px}

@media(max-width:1180px){
  .homepage2-dashboard{grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);gap:24px}
  .homepage2-lead .modern-story-card{grid-template-columns:1.08fr .92fr}
  .homepage2-story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .homepage2-catchup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:930px){
  .homepage2-dashboard{grid-template-columns:1fr}
  .homepage2-forum{padding-left:0;border-left:0}
  .homepage2-forum-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid #dfe4e8}
  .homepage2-forum-list .modern-forum-card{padding:12px;border-right:1px solid #dfe4e8}
  .homepage2-support-grid{gap:15px}
}

@media(max-width:700px){
  .homepage2-shell{padding-top:18px}
  .homepage2-stream-heading,.homepage2-section-heading{align-items:flex-start}
  .homepage2-lead .modern-story-card{grid-template-columns:1fr;gap:13px}
  .homepage2-lead .modern-story-media img{max-height:none}
  .homepage2-lead .modern-story-title{font-size:1.8rem}
  .homepage2-support-grid{grid-template-columns:1fr}
  .homepage2-support-grid .modern-story-secondary{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding-bottom:12px;border-bottom:1px solid #dfe4e8}
  .homepage2-support-grid .modern-story-secondary .modern-story-copy{padding:0}
  .homepage2-support-grid .modern-story-media{align-self:start}
  .homepage2-support-grid .modern-story-media img{width:100%;height:auto;max-height:none}
  .homepage2-forum-list{grid-template-columns:1fr}
  .homepage2-story-grid,.homepage2-catchup-grid,.homepage2-explore-grid{grid-template-columns:1fr}
  .homepage2-catchup-grid{border-left:0}
  .homepage2-catchup-row{border-left:0;border-right:0;padding-left:2px;padding-right:2px}
  .homepage2-section-heading>span{display:none}
}


/* Prototype 2B: image-safe responsive refinements -------------------------- */
@media(max-width:930px){
  .homepage2-dashboard{gap:34px}
  .homepage2-forum{padding-top:2px}
}

@media(max-width:700px){
  .homepage2-shell{padding-bottom:30px}
  .homepage2-stream-heading{margin-bottom:12px}
  .homepage2-stream-heading h1{font-size:1.85rem}
  .homepage2-stream-heading h2{font-size:1.65rem}
  .homepage2-stream-heading>a,.homepage2-section-heading>a{font-size:.72rem}
  .homepage2-lead{margin-bottom:18px}
  .homepage2-lead .modern-story-card{align-items:start}
  .homepage2-lead .modern-story-media{width:100%}
  .homepage2-lead .modern-story-media img{width:100%;height:auto;max-height:none;object-fit:contain}
  .homepage2-lead .modern-story-title{font-size:clamp(1.55rem,7vw,1.9rem);line-height:1.06}
  .homepage2-lead .modern-story-abstract{font-size:.9rem;line-height:1.45}
  .homepage2-support-grid .modern-story-secondary{grid-template-columns:minmax(92px,32vw) minmax(0,1fr);align-items:start}
  .homepage2-support-grid .modern-story-title{font-size:.96rem}
  .homepage2-support-grid .modern-story-abstract{margin-top:5px;font-size:.73rem;line-height:1.34}
  .homepage2-story-grid .modern-story-card{display:grid;grid-template-columns:minmax(105px,34vw) minmax(0,1fr);gap:13px;align-items:start;padding-bottom:14px}
  .homepage2-story-grid .modern-story-copy{padding-top:0}
  .homepage2-story-grid .modern-story-title{font-size:.98rem}
  .homepage2-story-grid .modern-story-abstract{font-size:.78rem;line-height:1.4}
  .homepage2-section{margin-top:31px}
  .homepage2-catchup{margin-top:29px}
}

@media(max-width:520px){
  .homepage2-stream-heading,.homepage2-section-heading{gap:10px}
  .homepage2-kicker{font-size:.61rem}
  .homepage2-stream-heading h1{font-size:1.7rem}
  .homepage2-stream-heading h2{font-size:1.55rem}
  .homepage2-lead .modern-story-title{font-size:1.62rem}
  .homepage2-lead .modern-story-abstract{font-size:.86rem}
  .homepage2-support-grid .modern-story-secondary{grid-template-columns:100px minmax(0,1fr);gap:11px}
  .homepage2-support-grid .modern-story-date{font-size:.54rem}
  .homepage2-support-grid .modern-story-title{font-size:.9rem;line-height:1.18}
  .homepage2-support-grid .modern-story-abstract{font-size:.69rem;line-height:1.3}
  .homepage2-forum-list .modern-forum-card{padding:11px 2px}
  .homepage2-story-grid .modern-story-card{grid-template-columns:106px minmax(0,1fr);gap:11px}
  .homepage2-story-grid .modern-story-abstract{display:block}
  .homepage2-catchup-row{grid-template-columns:72px minmax(0,1fr);gap:10px;min-height:92px}
  .homepage2-catchup-row>img{width:72px;height:54px}
  .homepage2-catchup-title-row h3{font-size:.82rem}
}

@media(max-width:380px){
  .homepage2-support-grid .modern-story-secondary,
  .homepage2-story-grid .modern-story-card{grid-template-columns:90px minmax(0,1fr)}
  .homepage2-stream-heading>a{font-size:.68rem}
}


/* Live DCSki depth metrics -------------------------------------------------- */
.homepage2-depth{margin-top:40px}
.homepage2-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #d9e1e6;border-radius:12px;overflow:hidden;background:#fff}
.homepage2-metric-card{display:flex;min-width:0;min-height:220px;flex-direction:column;padding:22px 20px;border-right:1px solid #dfe4e8;color:inherit;text-decoration:none!important;transition:background .15s ease}
.homepage2-metric-card:last-child{border-right:0}
.homepage2-metric-card:hover{background:#f7fafc}
.homepage2-metric-card>strong{display:block;color:#17212b;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1;font-weight:850;letter-spacing:-.04em}
.homepage2-metric-card>span{display:block;margin-top:6px;color:#0b69b0;font-size:.72rem;font-weight:850;letter-spacing:.075em;text-transform:uppercase}
.homepage2-metric-card>small{display:block;margin-top:14px;color:#65727c;font-size:.78rem;line-height:1.48}
.homepage2-metric-card>b{display:block;margin-top:auto;padding-top:18px;color:#17577e;font-size:.72rem;font-weight:800}
@media(max-width:930px){.homepage2-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.homepage2-metric-card{min-height:190px;border-bottom:1px solid #dfe4e8}.homepage2-metric-card:nth-child(2n){border-right:0}.homepage2-metric-card:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:520px){.homepage2-metric-grid{grid-template-columns:1fr}.homepage2-metric-card{min-height:0;padding:18px;border-right:0!important;border-bottom:1px solid #dfe4e8!important}.homepage2-metric-card:last-child{border-bottom:0!important}.homepage2-metric-card>strong{font-size:2rem}.homepage2-metric-card>small{margin-top:9px}.homepage2-metric-card>b{margin-top:13px;padding-top:0}}


/* Forum rail refinement ----------------------------------------------------- */
.homepage2-forum{
  padding:18px 18px 16px 22px;
  border:1px solid #d8e3ea;
  border-radius:14px;
  background:linear-gradient(180deg,#f7fbfe 0,#fff 120px);
}
.homepage2-forum-heading{
  margin-bottom:0;
  padding-bottom:10px;
  border-bottom:0;
}
.homepage2-forum-intro{
  margin:0 0 12px;
  padding:9px 11px;
  border-top:1px solid #d9e5ec;
  border-bottom:1px solid #e5edf2;
  color:#6b7883;
  font-size:.7rem;
  line-height:1.45;
}
.homepage2-forum-list{
  display:grid;
  gap:7px;
}
.homepage2-forum-list .modern-forum-card{
  position:relative;
  padding:11px 12px 11px 17px;
  border:1px solid #e1e8ed;
  border-radius:9px;
  background:#fff;
  transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease;
}
.homepage2-forum-list .modern-forum-card::before{
  position:absolute;
  left:7px;
  top:17px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#86a9bf;
  content:"";
}
.homepage2-forum-list .modern-forum-card:hover{
  transform:translateY(-1px);
  border-color:#bdd1de;
  background:#fff;
  box-shadow:0 5px 14px rgba(30,68,92,.07)!important;
}
.homepage2-forum-list .modern-forum-card-yours{
  border-color:#c7dce8;
  background:#f5faff;
}
.homepage2-forum-list .modern-forum-card-yours::before{
  background:#4d8cb3;
}
.homepage2-forum-list .modern-forum-card:has(.modern-new-badge)::before{
  background:#2d9b59;
  box-shadow:0 0 0 3px rgba(45,155,89,.10);
}
.homepage2-forum-list .modern-forum-card h3{
  color:#174f72;
  font-size:.92rem;
  line-height:1.22;
}
.homepage2-forum-list .modern-forum-meta{
  color:#5d6b75;
}
.homepage2-forum-list .modern-forum-meta strong{
  color:#344550;
}
.homepage2-forum-list .modern-forum-update{
  color:#7e8992;
}
@media(max-width:930px){
  .homepage2-forum{padding:16px;border-left:1px solid #d8e3ea}
  .homepage2-forum-list{grid-template-columns:repeat(2,minmax(0,1fr));border-left:0}
  .homepage2-forum-list .modern-forum-card{padding:12px 12px 12px 18px;border-right:1px solid #e1e8ed}
}
@media(max-width:700px){
  .homepage2-forum{padding:14px 12px}
  .homepage2-forum-list{grid-template-columns:1fr}
  .homepage2-forum-intro{font-size:.68rem}
}


/* Current homepage cleanup: forum previews and simpler story hierarchy -------- */
.homepage2-forum-summary{
  margin:6px 0 7px;
  color:#596974;
  font-size:.68rem;
  line-height:1.4;
}
.homepage2-catchup .homepage2-section-heading{
  margin-bottom:11px;
}
.homepage2-catchup-grid{
  border-radius:10px;
  overflow:hidden;
}
@media(max-width:930px){
  .homepage2-forum-summary{font-size:.7rem}
}
@media(max-width:700px){
  .homepage2-forum-summary{font-size:.72rem;line-height:1.42}
  .homepage2-catchup-grid{border-radius:0}
}

/* Forum readability pass ---------------------------------------------------- */
.homepage2-forum-list .modern-forum-card{
  padding:14px 14px 14px 20px;
}
.homepage2-forum-list .modern-forum-card h3{
  font-size:1rem;
  line-height:1.25;
}
.homepage2-forum-summary{
  margin:7px 0 9px;
  font-size:.84rem;
  line-height:1.48;
  color:#536570;
}
.homepage2-forum-list .modern-forum-meta{
  margin-top:7px;
  font-size:.76rem;
  gap:5px 12px;
}
.homepage2-forum-list .modern-forum-update{
  margin-top:5px;
  font-size:.74rem;
  line-height:1.35;
}
.homepage2-forum-intro{
  font-size:.78rem;
  line-height:1.5;
}
.homepage2-forum-list .modern-forum-card::before{
  top:20px;
}
@media(max-width:930px){
  .homepage2-forum-list .modern-forum-card{padding:14px 14px 14px 20px}
  .homepage2-forum-summary{font-size:.82rem}
  .homepage2-forum-list .modern-forum-meta{font-size:.75rem}
  .homepage2-forum-list .modern-forum-update{font-size:.73rem}
}
@media(max-width:700px){
  .homepage2-forum-list .modern-forum-card{padding:13px 13px 13px 19px}
  .homepage2-forum-list .modern-forum-card h3{font-size:1rem}
  .homepage2-forum-summary{font-size:.84rem;line-height:1.48}
  .homepage2-forum-list .modern-forum-meta{font-size:.75rem}
  .homepage2-forum-list .modern-forum-update{font-size:.73rem}
  .homepage2-forum-intro{font-size:.76rem}
}


/* Current homepage: six-discussion Forum rail and unified latest-story stream */
.homepage2-forum-more{display:block;margin-top:13px;padding:12px 10px 2px;border-top:1px solid #d9e5ec;color:#17577e;font-size:.84rem;font-weight:800;text-align:center;text-decoration:none!important}
.homepage2-forum-more:hover{text-decoration:underline!important}
.homepage2-popular-badge{display:inline-block;padding:3px 7px;border:1px solid #e3b65c;border-radius:999px;background:#fff6df;color:#8a5a00;font-size:.62rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}
.homepage2-latest-continuation{margin-top:30px;padding-top:28px;border-top:1px solid #cfd7dd}
@media(max-width:930px){.homepage2-latest-continuation{margin-top:34px}.homepage2-forum-more{font-size:.86rem}}
@media(max-width:700px){.homepage2-latest-continuation{margin-top:28px;padding-top:24px}.homepage2-forum-more{font-size:.86rem}.homepage2-popular-badge{font-size:.6rem}}


/* Curated homepage spotlight ------------------------------------------------ */
.homepage2-special{
  margin-top:42px;
  padding:26px;
  border:1px solid #d7e0e6;
  border-radius:16px;
  background:linear-gradient(135deg,#f1f7fb 0,#fff 48%,#f8f4ee 100%);
}
.homepage2-special-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
}
.homepage2-special-heading h2{
  margin:2px 0 6px;
  color:#17212b;
  font-size:clamp(1.65rem,2.5vw,2.25rem);
  line-height:1.05;
  letter-spacing:-.035em;
}
.homepage2-special-heading p{
  max-width:720px;
  margin:0;
  color:#65727c;
  font-size:.88rem;
  line-height:1.5;
}
.homepage2-special-label{
  color:#9a6418;
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.homepage2-special-heading>a{
  flex:0 0 auto;
  color:#17577e;
  font-size:.8rem;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.homepage2-special-heading>a:hover{text-decoration:underline}
.homepage2-special-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.homepage2-special-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #dfe5e9;
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 18px rgba(32,53,68,.045);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.homepage2-special-card:hover{
  transform:translateY(-2px);
  border-color:#c2d1da;
  box-shadow:0 9px 24px rgba(32,53,68,.08);
}
.homepage2-special-image{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:120px;
  max-height:190px;
  overflow:hidden;
  background:#edf1f3;
  text-decoration:none!important;
}
.homepage2-special-image img{
  display:block;
  width:100%;
  height:auto;
  max-height:190px;
  object-fit:contain;
}
.homepage2-special-copy{padding:14px 15px 16px}
.homepage2-special-date{margin-bottom:5px;color:#8a9197;font-size:.6rem;font-weight:800;letter-spacing:.055em}
.homepage2-special-card h3{margin:0;font-size:1rem;line-height:1.22;letter-spacing:-.015em}
.homepage2-special-card h3 a{color:#203746;text-decoration:none}
.homepage2-special-card h3 a:hover{color:#17577e}
.homepage2-special-abstract{margin-top:8px;color:#60707b;font-size:.79rem;line-height:1.45}
.homepage2-special-comments{margin-top:9px;color:#17577e;font-size:.7rem;font-weight:750}
@media(max-width:1180px){
  .homepage2-special-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .homepage2-special-image,.homepage2-special-image img{max-height:240px}
}
@media(max-width:700px){
  .homepage2-special{margin-top:32px;padding:20px 16px}
  .homepage2-special-heading{align-items:flex-start}
  .homepage2-special-grid{grid-template-columns:1fr}
  .homepage2-special-card{display:grid;grid-template-columns:minmax(110px,34vw) minmax(0,1fr);align-items:start}
  .homepage2-special-image{align-self:stretch;min-height:0;max-height:180px}
  .homepage2-special-image img{height:100%;max-height:180px;object-fit:contain}
  .homepage2-special-copy{padding:13px 14px}
  .homepage2-special-heading p{font-size:.84rem}
}
@media(max-width:480px){
  .homepage2-special-heading{display:block}
  .homepage2-special-heading>a{display:inline-block;margin-top:10px}
  .homepage2-special-card{grid-template-columns:105px minmax(0,1fr)}
  .homepage2-special-abstract{font-size:.76rem}
}

/* Authenticated-user homepage snapshot ------------------------------------ */
.homepage2-personal{
  margin-top:38px;
  padding:22px 24px 24px;
  border:1px solid #d8e3ea;
  border-radius:14px;
  background:#f7fafc;
}
.homepage2-personal-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:18px;
}
.homepage2-personal-intro h2{
  margin:0;
  color:#17212b;
  font-size:clamp(1.45rem,2.2vw,1.95rem);
  line-height:1.05;
  letter-spacing:-.03em;
}
.homepage2-personal-intro p{
  margin:7px 0 0;
  color:#687680;
  font-size:.83rem;
  line-height:1.45;
}
.homepage2-personal-intro>a{
  flex:0 0 auto;
  color:#17577e;
  font-size:.78rem;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.homepage2-personal-intro>a:hover{text-decoration:underline}
.homepage2-personal-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  overflow:hidden;
  border:1px solid #dce4e9;
  border-radius:11px;
  background:#fff;
}
.homepage2-personal-stat{
  display:block;
  min-width:0;
  min-height:150px;
  padding:18px 17px;
  border-right:1px solid #e2e8ec;
  color:inherit;
  text-decoration:none!important;
}
.homepage2-personal-stat:last-child{border-right:0}
.homepage2-personal-stat:hover{background:#f9fbfc}
.homepage2-personal-stat strong{
  display:block;
  color:#173f57;
  font-size:2rem;
  line-height:1;
  font-weight:850;
  letter-spacing:-.04em;
}
.homepage2-personal-stat span{
  display:block;
  margin-top:7px;
  color:#27617f;
  font-size:.75rem;
  line-height:1.3;
  font-weight:820;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.homepage2-personal-stat small{
  display:block;
  margin-top:9px;
  color:#74818a;
  font-size:.72rem;
  line-height:1.42;
}
@media(max-width:930px){
  .homepage2-personal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .homepage2-personal-stat{min-height:135px;border-bottom:1px solid #e2e8ec}
  .homepage2-personal-stat:nth-child(2n){border-right:0}
  .homepage2-personal-stat:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:600px){
  .homepage2-personal{padding:18px 15px}
  .homepage2-personal-intro{display:block}
  .homepage2-personal-intro>a{display:inline-block;margin-top:10px}
  .homepage2-personal-grid{grid-template-columns:1fr}
  .homepage2-personal-stat{min-height:0;border-right:0;border-bottom:1px solid #e2e8ec!important}
  .homepage2-personal-stat:last-child{border-bottom:0!important}
}


/* Featured Content variants ------------------------------------------------ */
.homepage2-special-placeholder{
  display:flex;
  min-height:150px;
  align-items:center;
  justify-content:center;
  padding:22px;
  border-radius:11px;
  background:linear-gradient(135deg,#dfeaf1,#f5f8fa 52%,#eee7dc);
  color:#526b7a!important;
  text-decoration:none!important;
}
.homepage2-special-placeholder span{
  padding:7px 10px;
  border:1px solid rgba(61,88,104,.18);
  border-radius:999px;
  background:rgba(255,255,255,.75);
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.homepage2-special-card-resort .homepage2-special-date,
.homepage2-special-card-lostarea .homepage2-special-date{
  text-transform:none;
  letter-spacing:.035em;
}


/* Authenticated-user quick access card ------------------------------------ */
.homepage2-rail{
  display:grid;
  gap:16px;
  min-width:0;
  align-content:start;
}
.homepage2-me-card{
  padding:17px 18px 18px;
  border:1px solid #cfdde6;
  border-radius:14px;
  background:linear-gradient(135deg,#f4f9fc 0,#fff 62%,#f8f5ef 100%);
  box-shadow:0 4px 16px rgba(32,53,68,.04);
}

.homepage2-me-heading-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.homepage2-me-icon{
  display:block;
  flex:0 0 auto;
  width:58px;
  height:58px;
  object-fit:contain;
}

.homepage2-me-copy h2{
  margin:1px 0 0;
  color:#17212b;
  font-size:1.28rem;
  line-height:1.1;
  letter-spacing:-.025em;
}
.homepage2-me-copy p{
  margin:7px 0 12px;
  color:#64727c;
  font-size:.78rem;
  line-height:1.45;
}
.homepage2-me-button{
  display:block;
  padding:10px 12px;
  border-radius:8px;
  background:#0b69b0;
  color:#fff!important;
  font-size:.8rem;
  font-weight:820;
  text-align:center;
  text-decoration:none!important;
  transition:background .14s ease,transform .14s ease;
}
.homepage2-me-button:hover,
.homepage2-me-button:focus{
  background:#074f86;
  transform:translateY(-1px);
}
@media(max-width:930px){
  .homepage2-rail{gap:18px}
  .homepage2-me-card{padding:18px}
  .homepage2-me-copy p{font-size:.82rem}
}
@media(max-width:700px){
  .homepage2-me-card{padding:16px 15px}
  .homepage2-me-copy h2{font-size:1.22rem}
  .homepage2-me-button{font-size:.86rem}
}

/* Authenticated dashboard card: slight vertical offset for visual balance */
.homepage2-me-card{
  margin-top:22px;
}

@media(max-width:930px){
  .homepage2-me-card{
    margin-top:0;
  }
}


/* Homepage Forum rail: simplify nested cards into a cleaner activity feed */
.homepage2-forum-list{
  gap:0;
}
.homepage2-forum-list .modern-forum-card{
  margin:0;
  padding:15px 12px 15px 20px;
  border:0;
  border-bottom:1px solid #dfe7ec;
  border-radius:0;
  background:transparent;
  box-shadow:none!important;
  transform:none!important;
}
.homepage2-forum-list .modern-forum-card:first-child{
  border-top:1px solid #dfe7ec;
}
.homepage2-forum-list .modern-forum-card:hover{
  border-color:#dfe7ec;
  background:#f8fbfd;
  box-shadow:none!important;
  transform:none;
}
.homepage2-forum-list .modern-forum-card-yours{
  background:#f4f9fc;
}
.homepage2-forum-list .modern-forum-card-yours:hover{
  background:#eef6fa;
}
.homepage2-forum-list .modern-forum-card::before{
  left:5px;
  top:22px;
}
@media(max-width:930px){
  .homepage2-forum-list .modern-forum-card{
    border-right:0;
    border-bottom:1px solid #dfe7ec;
    border-radius:0;
  }
}
@media(max-width:700px){
  .homepage2-forum-list .modern-forum-card{
    padding:14px 10px 14px 19px;
  }
}


/* Homepage Forum rail polish: single separators, unified badges, subtle "started by you" marker */
.homepage2-forum-list .modern-forum-card{
  background:transparent;
}
.homepage2-forum-list .modern-forum-card-yours,
.homepage2-forum-list .modern-forum-card-yours:hover{
  background:transparent;
}
.homepage2-forum-list .modern-forum-card-yours{
  position:relative;
}
.homepage2-forum-list .modern-forum-card-yours::after{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  width:4px;
  height:34px;
  border-radius:4px;
  background:#0b69b0;
}
.homepage2-forum-list .modern-yours-badge,
.homepage2-forum-list .modern-new-badge,
.homepage2-forum-list .homepage2-popular-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  font-size:.62rem;
  font-weight:850;
  line-height:1;
  letter-spacing:.03em;
  white-space:nowrap;
}
.homepage2-forum-list .modern-yours-badge{
  background:#edf3f7;
  border:1px solid #d7e3ea;
  color:#315f7e;
}
.homepage2-forum-list .modern-new-badge{
  background:#f3fbf6;
  border:1px solid #7fc99a;
  color:#248248;
}
.homepage2-forum-list .homepage2-popular-badge{
  background:#fff7e7;
  border:1px solid #e3b65c;
  color:#8a5a00;
}
.homepage2-forum-more{
  border-top:0;
  margin-top:0;
  padding-top:14px;
}
.homepage2-forum-list .modern-forum-card:last-child{
  border-bottom:1px solid #dfe7ec;
}

/* Homepage Forum rail final badge cleanup */
.homepage2-forum-list .modern-forum-card-yours::after{
  content:none;
  display:none;
}
.homepage2-forum-list .homepage2-popular-badge{
  text-transform:none;
  letter-spacing:.03em;
}
.homepage2-forum-list .modern-forum-badges{
  flex-direction:column;
  align-items:flex-end;
  gap:5px;
}


/* Homepage Forum rail: authoritative final cleanup */
.homepage2-forum-intro{
  display:none!important;
}

.homepage2-forum-heading{
  margin-bottom:0!important;
  padding-bottom:12px!important;
  border-bottom:1px solid #d9e5ec!important;
}

.homepage2-forum-list{
  gap:0!important;
  border-top:0!important;
}

.homepage2-forum-list .modern-forum-card{
  margin:0!important;
  padding:15px 16px!important;
  border:0!important;
  border-bottom:1px solid #dfe7ec!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}

.homepage2-forum-list .modern-forum-card:first-child{
  border-top:0!important;
}

.homepage2-forum-list .modern-forum-card:hover,
.homepage2-forum-list .modern-forum-card-yours,
.homepage2-forum-list .modern-forum-card-yours:hover{
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}

/* No decorative dots or bars beside discussion titles. */
.homepage2-forum-list .modern-forum-card::before,
.homepage2-forum-list .modern-forum-card::after,
.homepage2-forum-list .modern-forum-card-yours::before,
.homepage2-forum-list .modern-forum-card-yours::after{
  content:none!important;
  display:none!important;
}

/* Let titles use the full width. */
.homepage2-forum-list .modern-forum-title-row{
  display:block!important;
  position:static!important;
  padding-right:0!important;
}

.homepage2-forum-list .modern-forum-badges{
  position:static!important;
}

/* Badges live in their own horizontal row below the Updated line. */
.homepage2-forum-list .homepage2-forum-badge-row{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  margin:8px 0 0!important;
  padding:0!important;
}

.homepage2-forum-list .homepage2-forum-badge-row > *{
  flex:0 0 auto!important;
  margin:0!important;
}

/* Keep all Forum status pills visually consistent. */
.homepage2-forum-list .modern-yours-badge,
.homepage2-forum-list .modern-new-badge,
.homepage2-forum-list .homepage2-popular-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:24px!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  font-size:.62rem!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:.03em!important;
  text-transform:none!important;
  white-space:nowrap!important;
}

.homepage2-forum-more{
  border-top:0!important;
  margin-top:0!important;
  padding-top:14px!important;
}

@media(max-width:700px){
  .homepage2-forum-list .modern-forum-card{
    padding:14px 10px!important;
  }
}


/* Homepage Forum rail: align discussion typography with homepage story cards */
.homepage2-forum-list .modern-forum-update{
  margin:0 0 5px!important;
  color:var(--modern-muted, #68727d)!important;
  font-size:.76rem!important;
  font-weight:700!important;
  line-height:1.3!important;
  letter-spacing:.055em!important;
  text-transform:uppercase;
}
.homepage2-forum-list .modern-forum-card h3{
  margin:0!important;
  color:var(--modern-ink, #20262d)!important;
  font-size:1.05rem!important;
  line-height:1.22!important;
  font-weight:760!important;
  letter-spacing:-.015em!important;
  transition:color .14s ease;
}
.homepage2-forum-list .modern-forum-card:hover h3,
.homepage2-forum-list .modern-forum-card:focus h3{
  color:var(--modern-blue-dark, #074f86)!important;
}
.homepage2-forum-list .homepage2-forum-summary{
  margin-top:8px!important;
}


/* Match Forum update timestamp scale to homepage article dates */
.homepage2-forum-list .modern-forum-update{
  font-size:.61rem!important;
  line-height:1.25!important;
}

/* Homepage Forum: profile-linked update authors and article-style title links */
.homepage2-forum-list .homepage2-forum-title-link{
  color:var(--modern-ink,#20262d)!important;
  font:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  text-decoration:none!important;
}
.homepage2-forum-list .homepage2-forum-title-link:hover,
.homepage2-forum-list .homepage2-forum-title-link:focus{
  color:var(--modern-blue-dark,#074f86)!important;
  text-decoration:none!important;
}
.homepage2-forum-list .homepage2-forum-author{
  color:inherit!important;
  font:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  text-decoration:none!important;
}
.homepage2-forum-list .homepage2-forum-author:hover,
.homepage2-forum-list .homepage2-forum-author:focus{
  color:var(--modern-blue-dark,#074f86)!important;
  text-decoration:underline!important;
}

/* Authenticated dashboard: move out of the rail into a horizontal page-width band */
.homepage2-me-card-wide{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  margin:28px 0 0!important;
  padding:18px 20px;
}
.homepage2-me-card-wide .homepage2-me-icon{
  width:68px;
  height:68px;
}
.homepage2-me-card-wide .homepage2-me-copy h2{
  margin-top:2px;
}
.homepage2-me-card-wide .homepage2-me-copy p{
  margin:6px 0 0;
  max-width:700px;
}
.homepage2-me-card-wide .homepage2-me-button{
  min-width:210px;
  padding:11px 16px;
}
@media(max-width:700px){
  .homepage2-me-card-wide{
    grid-template-columns:auto minmax(0,1fr);
    gap:14px;
    margin-top:22px!important;
    padding:16px 15px;
  }
  .homepage2-me-card-wide .homepage2-me-icon{
    width:56px;
    height:56px;
  }
  .homepage2-me-card-wide .homepage2-me-button{
    grid-column:1/-1;
    min-width:0;
  }
}


/* Integrated authenticated-user homepage section */
.homepage2-me-integrated{
  display:block;
}
.homepage2-me-integrated-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
}
.homepage2-me-integrated-grid{
  margin-top:18px;
}
.homepage2-me-integrated .homepage2-personal-stat{
  min-height:130px;
}
@media(max-width:700px){
  .homepage2-me-integrated-head{
    grid-template-columns:auto minmax(0,1fr);
    gap:14px;
  }
  .homepage2-me-integrated-head .homepage2-me-button{
    grid-column:1/-1;
  }
  .homepage2-me-integrated-grid{
    margin-top:16px;
  }
}

/* Regional weather + discovery band --------------------------------------- */
.homepage2-weather-band{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr);
  gap:18px;
  margin-top:24px;
  align-items:stretch;
}
.homepage2-weather{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding:20px 22px;
  border:1px solid #d5e2ea;
  border-radius:14px;
  background:linear-gradient(135deg,#f2f8fc 0,#fff 58%,#f8fbfd 100%);
}
.homepage2-weather-icon-wrap{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  width:72px;
  height:72px;
}
.homepage2-weather-icon{
  display:block;
  width:72px;
  height:72px;
  max-width:72px;
  object-fit:contain;
}
.homepage2-weather-content{min-width:0}
.homepage2-weather-heading-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding-bottom:9px;
  border-bottom:1px solid #dbe5eb;
}
.homepage2-weather-heading-row h2{
  margin:0;
  color:#17212b;
  font-size:clamp(1.42rem,2vw,1.85rem);
  line-height:1.05;
  font-weight:820;
  letter-spacing:-.035em;
}
.homepage2-weather-updated{
  flex:0 0 auto;
  padding-bottom:2px;
  color:#74818a;
  font-size:.76rem;
  font-weight:750;
  white-space:nowrap;
}
.homepage2-weather-summary{
  padding-top:12px;
  color:#4f606b;
  font-size:1rem;
  line-height:1.55;
}
.homepage2-weather-summary p{margin:0 0 9px}
.homepage2-weather-summary p:last-child{margin-bottom:0}
.homepage2-weather-source{
  margin-top:10px;
  color:#7c8992;
  font-size:.76rem;
  line-height:1.45;
}
.homepage2-discover-card{
  padding:22px;
  border:1px solid #d8e2e8;
  border-radius:14px;
  background:#f8fafb;
}
.homepage2-discover-card h2{
  margin:3px 0 9px;
  color:#17212b;
  font-size:1.38rem;
  line-height:1.08;
  font-weight:820;
  letter-spacing:-.03em;
}
.homepage2-discover-card>p{
  margin:0 0 16px;
  color:#61717c;
  font-size:.94rem;
  line-height:1.5;
}
.homepage2-discover-links{
  border-top:1px solid #dce4e9;
}
.homepage2-discover-links a{
  display:block;
  padding:12px 2px;
  border-bottom:1px solid #dce4e9;
  text-decoration:none!important;
}
.homepage2-discover-links a:last-child{border-bottom:0}
.homepage2-discover-links strong{
  display:block;
  color:#174f72;
  font-size:.95rem;
  line-height:1.25;
}
.homepage2-discover-links span{
  display:block;
  margin-top:3px;
  color:#6e7d87;
  font-size:.82rem;
  line-height:1.35;
}
.homepage2-discover-links a:hover strong,
.homepage2-discover-links a:focus strong{color:#074f86}

/* Homepage readability pass ------------------------------------------------ */
.homepage2-lead .modern-story-abstract{
  font-size:1.02rem;
  line-height:1.52;
}
.homepage2-support-grid .modern-story-abstract{
  font-size:.88rem;
  line-height:1.45;
}
.homepage2-story-grid .modern-story-abstract{
  font-size:.92rem;
  line-height:1.48;
}
.homepage2-forum-summary{
  font-size:.92rem!important;
  line-height:1.5!important;
}
.homepage2-forum-list .modern-forum-meta{
  font-size:.82rem!important;
}
.homepage2-forum-intro{font-size:.84rem}
.homepage2-special-heading p{font-size:.95rem}
.homepage2-special-abstract{
  font-size:.89rem;
  line-height:1.48;
}
.homepage2-personal-intro p,
.homepage2-me-copy p{
  font-size:.91rem;
  line-height:1.5;
}
.homepage2-personal-stat small{
  font-size:.8rem;
  line-height:1.45;
}
.homepage2-explore-grid span{
  font-size:.9rem;
  line-height:1.48;
}
.homepage2-metric-card>small{
  font-size:.86rem;
  line-height:1.5;
}

@media(max-width:1050px){
  .homepage2-weather-band{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr)}
}
@media(max-width:930px){
  .homepage2-weather-band{grid-template-columns:1fr}
  .homepage2-discover-card{padding:20px 22px}
  .homepage2-discover-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dce4e9}
  .homepage2-discover-links a{padding:12px;border-right:1px solid #dce4e9;border-bottom:0}
  .homepage2-discover-links a:last-child{border-right:0}
}
@media(max-width:700px){
  .homepage2-weather-band{margin-top:22px;gap:14px}
  .homepage2-weather{
    grid-template-columns:58px minmax(0,1fr);
    gap:14px;
    padding:17px 15px;
  }
  .homepage2-weather-icon-wrap,
  .homepage2-weather-icon{width:58px;height:58px;max-width:58px}
  .homepage2-weather-heading-row{display:block;padding-bottom:8px}
  .homepage2-weather-heading-row h2{font-size:1.4rem}
  .homepage2-weather-updated{margin-top:5px;font-size:.72rem}
  .homepage2-weather-summary{grid-column:1/-1;padding-top:10px;font-size:.96rem;line-height:1.52}
  .homepage2-weather-source{grid-column:1/-1;font-size:.74rem}
  .homepage2-discover-card{padding:17px 15px}
  .homepage2-discover-card>p{font-size:.92rem}
  .homepage2-discover-links{grid-template-columns:1fr}
  .homepage2-discover-links a{padding:11px 2px;border-right:0;border-bottom:1px solid #dce4e9}
  .homepage2-support-grid .modern-story-abstract{font-size:.84rem;line-height:1.43}
  .homepage2-story-grid .modern-story-abstract{font-size:.86rem;line-height:1.45}
  .homepage2-forum-summary{font-size:.9rem!important}
}
@media(max-width:430px){
  .homepage2-weather{grid-template-columns:50px minmax(0,1fr);gap:11px;padding:15px 13px}
  .homepage2-weather-icon-wrap,
  .homepage2-weather-icon{width:50px;height:50px;max-width:50px}
  .homepage2-weather-heading-row h2{font-size:1.3rem}
}


/* Final account-registration CTA: align with bordered homepage modules */
.homepage2-footer-cta{
  border:1px solid #d8e3ea;
}


/* Weather resort links: use DCSki's restrained editorial blue */
.homepage2-weather-summary a{
  color:#17577e;
  font-weight:700;
  text-decoration:none;
}
.homepage2-weather-summary a:hover,
.homepage2-weather-summary a:focus{
  color:#074f86;
  text-decoration:underline;
}


/* Weather Fact of the Day -------------------------------------------------- */
.homepage2-weather-fact{margin-top:15px;padding:13px 15px;border:1px solid #dbe5eb;border-radius:10px;background:rgba(255,255,255,.72)}
.homepage2-weather-fact-label{margin-bottom:5px;color:#17577e;font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.homepage2-weather-fact-copy{color:#51636f;font-size:1rem;line-height:1.55}
@media(max-width:700px){.homepage2-weather-fact{grid-column:1/-1;margin-top:13px;padding:12px 13px}.homepage2-weather-fact-copy{font-size:.96rem;line-height:1.52}}


/* Ski History Fact of the Day ---------------------------------------------- */
.homepage2-ski-history-card{
  padding:22px;
  border:1px solid #d8e2e8;
  border-radius:14px;
  background:linear-gradient(145deg,#f8fafb 0,#fff 62%,#f8f4ee 100%);
}
.homepage2-ski-history-card h2{
  margin:3px 0 14px;
  color:#17212b;
  font-size:1.38rem;
  line-height:1.08;
  font-weight:820;
  letter-spacing:-.03em;
}
.homepage2-ski-history-copy{
  color:#51636f;
  font-size:1rem;
  line-height:1.55;
}
.homepage2-ski-history-copy p{margin:0 0 14px}
.homepage2-ski-history-copy p:last-child{margin-bottom:0}
@media(max-width:930px){
  .homepage2-ski-history-card{padding:20px 22px}
}
@media(max-width:700px){
  .homepage2-ski-history-card{padding:17px 15px}
  .homepage2-ski-history-copy{font-size:.96rem;line-height:1.52}
}


/* Elsewhere on the Web ------------------------------------------------------ */
.homepage2-elsewhere{
  margin-top:30px;
  padding:24px 26px 26px;
  border:1px solid #d7e1e7;
  border-radius:16px;
  background:linear-gradient(135deg,#f7fafc 0,#fff 48%,#f7f4ee 100%);
}
.homepage2-elsewhere-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:19px;
  padding-bottom:16px;
  border-bottom:1px solid #dce4e9;
}
.homepage2-elsewhere-title-wrap{
  display:flex;
  min-width:0;
  align-items:center;
  gap:16px;
}
.homepage2-elsewhere-icon{
  display:block;
  flex:0 0 auto;
  width:66px;
  height:66px;
  object-fit:contain;
}
.homepage2-elsewhere-heading h2{
  margin:2px 0 5px;
  color:#17212b;
  font-size:clamp(1.55rem,2.25vw,2rem);
  line-height:1.05;
  font-weight:820;
  letter-spacing:-.035em;
}
.homepage2-elsewhere-heading p{
  max-width:760px;
  margin:0;
  color:#65737d;
  font-size:.94rem;
  line-height:1.48;
}
.homepage2-elsewhere-updated{
  flex:0 0 auto;
  padding-bottom:3px;
  color:#7a858e;
  font-size:.76rem;
  font-weight:750;
  white-space:nowrap;
}
.homepage2-elsewhere-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  overflow:hidden;
  border:1px solid #dfe6ea;
  border-radius:12px;
  background:#fff;
}
.homepage2-elsewhere-card{
  display:flex;
  min-width:0;
  min-height:215px;
  flex-direction:column;
  padding:19px 20px 18px;
  border-right:1px solid #e2e8ec;
  border-bottom:1px solid #e2e8ec;
  background:#fff;
}
.homepage2-elsewhere-card:nth-child(3n){border-right:0}
.homepage2-elsewhere-card:nth-last-child(-n+3){border-bottom:0}
.homepage2-elsewhere-card-lead{
  grid-column:span 2;
  background:linear-gradient(135deg,#f5f9fc 0,#fff 72%);
}
.homepage2-elsewhere-card-lead + .homepage2-elsewhere-card{border-right:0}
.homepage2-elsewhere-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  margin-bottom:7px;
  color:#7d8991;
  font-size:.7rem;
  line-height:1.3;
  font-weight:760;
  letter-spacing:.025em;
}
.homepage2-elsewhere-publication{
  color:#35647e;
  font-weight:850;
}
.homepage2-elsewhere-card h3{
  margin:0;
  color:#203746;
  font-size:1.04rem;
  line-height:1.25;
  font-weight:780;
  letter-spacing:-.018em;
}
.homepage2-elsewhere-card-lead h3{font-size:1.24rem;line-height:1.2}
.homepage2-elsewhere-card h3 a{
  color:inherit;
  text-decoration:none!important;
}
.homepage2-elsewhere-card h3 a:hover,
.homepage2-elsewhere-card h3 a:focus{color:#075b91}
.homepage2-elsewhere-card p{
  margin:9px 0 14px;
  color:#596a75;
  font-size:.9rem;
  line-height:1.5;
}
.homepage2-elsewhere-card-lead p{font-size:.96rem;line-height:1.53}
.homepage2-elsewhere-read{
  display:inline-block;
  align-self:flex-start;
  margin-top:auto;
  color:#17577e!important;
  font-size:.78rem;
  line-height:1.3;
  font-weight:800;
  text-decoration:none!important;
}
.homepage2-elsewhere-read:hover,
.homepage2-elsewhere-read:focus{text-decoration:underline!important}
.homepage2-elsewhere-note{
  margin-top:12px;
  color:#879198;
  font-size:.72rem;
  line-height:1.4;
}
@media(max-width:1050px){
  .homepage2-elsewhere-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .homepage2-elsewhere-card{border-right:1px solid #e2e8ec;border-bottom:1px solid #e2e8ec}
  .homepage2-elsewhere-card:nth-child(3n){border-right:1px solid #e2e8ec}
  .homepage2-elsewhere-card:nth-child(2n){border-right:0}
  .homepage2-elsewhere-card:nth-last-child(-n+3){border-bottom:1px solid #e2e8ec}
  .homepage2-elsewhere-card:nth-last-child(-n+2){border-bottom:0}
  .homepage2-elsewhere-card-lead{grid-column:span 2}
}
@media(max-width:700px){
  .homepage2-elsewhere{margin-top:22px;padding:18px 15px 19px}
  .homepage2-elsewhere-heading{display:block;margin-bottom:14px;padding-bottom:13px}
  .homepage2-elsewhere-title-wrap{align-items:flex-start;gap:12px}
  .homepage2-elsewhere-icon{width:52px;height:52px}
  .homepage2-elsewhere-heading h2{font-size:1.45rem}
  .homepage2-elsewhere-heading p{font-size:.9rem}
  .homepage2-elsewhere-updated{margin-top:9px;font-size:.72rem}
  .homepage2-elsewhere-grid{grid-template-columns:1fr}
  .homepage2-elsewhere-card,
  .homepage2-elsewhere-card:nth-child(2n),
  .homepage2-elsewhere-card:nth-child(3n),
  .homepage2-elsewhere-card:nth-last-child(-n+2),
  .homepage2-elsewhere-card:nth-last-child(-n+3){
    grid-column:auto;
    min-height:0;
    padding:16px 15px;
    border-right:0;
    border-bottom:1px solid #e2e8ec;
  }
  .homepage2-elsewhere-card:last-child{border-bottom:0}
  .homepage2-elsewhere-card-lead h3{font-size:1.08rem}
  .homepage2-elsewhere-card p,
  .homepage2-elsewhere-card-lead p{font-size:.92rem;line-height:1.5}
  .homepage2-elsewhere-read{margin-top:0;font-size:.8rem}
}

/* Homepage section-divider consistency ------------------------------------- */
.homepage2-ski-history-card h2{
  margin-bottom:12px;
  padding-bottom:9px;
  border-bottom:1px solid #dbe5eb;
}

.homepage2-elsewhere-heading{
  padding-bottom:0;
  border-bottom:0;
}

/* Section headings followed by bordered/rounded content do not need a second divider. */
.homepage2-depth > .homepage2-section-heading,
.homepage2-catchup > .homepage2-section-heading{
  border-bottom:0;
}

/* Mobile weather: keep the icon with the heading, but let forecast copy use the full card width. */
@media(max-width:700px){
  .homepage2-weather-content{display:contents}
  .homepage2-weather-summary,
  .homepage2-weather-fact,
  .homepage2-weather-source{grid-column:1/-1}
}

/* Mobile Spotlight cards: stack media above copy and remove empty image wells. */
@media(max-width:700px){
  .homepage2-special-card{
    display:block;
  }

  .homepage2-special-image{
    display:flex;
    width:100%;
    height:clamp(160px,42vw,220px);
    margin-top:16px;
    min-height:0;
    max-height:220px;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#fff;
  }

  .homepage2-special-image img{
    display:block;
    width:100%;
    height:100%;
    max-height:220px;
    object-fit:contain;
  }

  .homepage2-special-copy{
    padding:15px 16px 17px;
  }
}

@media(max-width:480px){
  .homepage2-special-card{
    grid-template-columns:none;
  }
}

/* Mobile: omit the low-priority DCSki by the Numbers section to keep the homepage concise. */
@media(max-width:700px){
  .homepage2-depth{display:none}
}

/* Mobile: keep the dashboard invitation compact; detailed stats live on the dashboard itself. */
@media(max-width:700px){
  .homepage2-me-integrated-grid{
    display:none;
  }
}
