/* ==========================================================
   W32TM.COM - SITE-SPECIFIC STYLES
   ==========================================================
   This file is used with the Sembee Technical master template.
   Shared layout, typography, header, footer, article styling and
   responsive behaviour remain in /assets/css/global.css.
   ========================================================== */

:root{
  --site-accent:#31559a;
  --site-accent-text:#ffffff;
  --site-link:#294f91;
  --site-link-hover:#203f75;
}

/* ==========================================================
   W32TM LANDING-PAGE COMPONENTS
   Used by the small number of W32TM pages which define:
       <% Sub LandingPage : End Sub %>
   ========================================================== */

.introduction-copy{
  max-width:none;
  margin:0;
  color:#424743;
  font-size:1.05rem;
}

.task-section{
  padding:0 0 72px;
}

.task-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.task-card{
  display:flex;
  min-height:210px;
  flex-direction:column;
  background:var(--surface);
  border-top:4px solid var(--site-accent);
  padding:24px 26px;
  color:var(--ink);
  text-decoration:none;
}

.task-card:hover,
.task-card:focus{
  color:var(--ink);
  text-decoration:none;
}

.task-card h2{
  margin:0 0 10px;
  font-size:1.22rem;
  line-height:1.3;
}

.task-card p{
  margin:0 0 20px;
  color:#5c615d;
  font-size:.94rem;
}

.task-card .card-link{
  margin-top:auto;
}

.content-section{
  padding:0 0 72px;
}

.content-panel{
  width:100%;
  background:var(--surface);
  border-top:4px solid var(--site-accent);
  padding:28px 30px;
}

.content-panel > h2,
.content-panel > p,
.content-panel > aside{
  max-width:none;
}

.content-panel h2{
  margin:0 0 12px;
  font-size:1.35rem;
}

.content-panel p{
  margin:0 0 18px;
}

.content-panel p:last-child{
  margin-bottom:0;
}

.placeholder-note{
  padding:15px 18px;
  background:#eef1f6;
  border-left:4px solid var(--site-accent);
  color:#404642;
}

/* Existing W32TM generic feature-card components, retained for
   W32TM pages which use them. */
.resource-section{
  padding:0 0 68px;
}

.feature-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.feature-card{
  display:flex;
  min-height:190px;
  flex-direction:column;
  background:#fff;
  border-top:4px solid var(--site-accent);
  padding:24px 26px;
  color:var(--ink);
  text-decoration:none;
}

.feature-card:hover,
.feature-card:focus{
  color:var(--ink);
  text-decoration:none;
}

.feature-card.exchange{border-top-color:#745391}
.feature-card.office{border-top-color:#2f7357}
.feature-card.dos{border-top-color:#a66a1f}
.feature-card.w32tm{border-top-color:#c35e27}
.feature-card.legacy{border-top-color:#727875}

.feature-card h2{
  margin:0 0 8px;
  font-size:1.24rem;
  line-height:1.25;
}

.feature-card p{
  margin:0 0 20px;
  color:#5c615d;
  font-size:.94rem;
}

.card-link,
.card-status{
  margin-top:auto;
  color:#383c39;
  font-size:.9rem;
  font-weight:650;
}

.card-status{
  color:var(--muted);
}

.unavailable-card{
  background:#f0f1ee;
}

.related{
  background:#eceeeb;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.related-inner{
  padding-top:44px;
  padding-bottom:64px;
}

.corporate-section{
  padding:56px 0 84px;
}

.corporate-grid{
  grid-template-columns:1fr 1fr;
}

.feature-card.corporate{
  min-height:210px;
}

.feature-card.consultancy{
  border-top-color:#31559a;
}

.feature-card.blog{
  border-top-color:#5571a8;
}

.section-kicker a,
a.section-kicker,
.section-kicker a:visited,
a.section-kicker:visited{
  color:inherit;
  text-decoration:none;
}

.section-kicker a:hover,
a.section-kicker:hover,
.section-kicker a:focus-visible,
a.section-kicker:focus-visible{
  text-decoration:underline;
}

/* W32TM's newer article components, retained in case those pages
   are migrated unchanged to the master. */
.article-page{
  padding-top:62px;
  padding-bottom:78px;
}

.article-header{
  padding-bottom:30px;
  border-bottom:1px solid var(--line);
}

.article-header h1{
  margin:0 0 14px;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.12;
  letter-spacing:-.035em;
}

.article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 22px;
  margin:0 0 24px;
  color:var(--muted);
  font-size:.84rem;
}

.article-body{
  padding-top:34px;
}

.article-body h2{
  margin:42px 0 12px;
  font-size:1.38rem;
  line-height:1.3;
}

.article-body h2:first-child{
  margin-top:0;
}

.article-body p{
  margin:0 0 18px;
}

.article-note{
  margin:28px 0 32px;
  padding:16px 18px;
  background:#eef1f6;
  border-left:4px solid var(--site-accent);
  color:#404642;
}

.article-note strong{
  display:block;
  margin-bottom:3px;
}

.article-related{
  margin-top:48px;
  padding-top:26px;
  border-top:1px solid var(--line);
}

.article-related h2{
  margin:0 0 12px;
}

.article-related ul{
  margin:0;
  padding-left:22px;
}

.article-related li{
  margin:6px 0;
}

@media(max-width:900px){
  .task-grid{
    grid-template-columns:1fr 1fr;
  }
}

/* W32TM landing-page introduction spacing */
main > .page-introduction {
    padding-top:62px;
    padding-bottom:54px;
}

@media(max-width:680px) {
    main > .page-introduction {
        padding-top:42px;
        padding-bottom:42px;
    }
}

@media(max-width:680px){
  .task-grid,
  .feature-grid,
  .corporate-grid{
    grid-template-columns:1fr;
  }

  .content-panel{
    padding:24px 22px;
  }

  .article-page{
    padding-top:42px;
    padding-bottom:58px;
  }

  .article-header{
    padding-bottom:25px;
  }

  .article-body{
    padding-top:28px;
  }

  .article-body h2{
    margin-top:34px;
  }
}
