/* 
  Core page/layout stylesheet.
  This file contains most of the shared shell, header, hero, and page section structure.
  Prefer updating shared layout rules here before adding one-off fixes in page-level components.
*/
.page-shell{padding-top:96px;overflow-x:hidden}
.site-header{position:fixed;top:0;left:0;right:0;width:100%;z-index:100}
@media (max-width: 900px){
  .page-shell{padding-top:84px}
}
@media (min-width: 901px){
  .site-header .nav-wrap,
  .site-header .nav-wrap-premium,
  .site-header .nav-wrap-responsive,
  .site-header .nav-wrap-spacious{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    min-height:88px;
  }
  .site-header .brand{flex:0 0 auto;margin-right:8px}
  .site-header .brand img{height:66px}
  .site-header .nav-panel{display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0;gap:24px}
  .site-header .main-nav{flex:1;justify-content:center;gap:clamp(16px,1.7vw,34px)}
  .site-header .main-nav a{font-size:14px}
  .site-header .actions{margin-left:auto;justify-self:auto;flex:0 0 auto}
}
.form-field{display:grid;gap:8px;min-width:0}
.form-field-label{font-size:.92rem;font-weight:700;color:#fff}
.file-upload{position:relative;width:100%;min-width:0}
.file-upload [data-file-input]{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none;overflow:hidden}
.file-upload-ui{display:grid;grid-template-columns:1fr;justify-items:start;align-content:center;gap:8px;width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.94);color:#10253b;font:inherit;cursor:pointer;min-height:78px;box-sizing:border-box}
.file-upload-ui .file-upload-button,.file-upload-ui .file-upload-name,.contact-form-fields .file-upload-ui .file-upload-button,.contact-form-fields .file-upload-ui .file-upload-name{color:#10253b !important}
.file-upload-ui .file-upload-button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:10px;padding:10px 14px;background:#edf3f8;color:#10253b !important;font-weight:700;white-space:nowrap;line-height:1.1}
.file-upload-ui .file-upload-name{display:block;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4b5f73 !important;font-weight:500;line-height:1.25}
@media (max-width: 640px){.file-upload-ui{padding:12px;min-height:76px}.file-upload-button{padding:10px 12px}}


.site-header .nav-wrap,
.site-header .nav-wrap-premium,
.site-header .nav-wrap-responsive,
.site-header .nav-wrap-spacious{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:clamp(20px,3vw,48px);
  padding-right:clamp(20px,3vw,48px);
}

@media (min-width: 1200px){
  .site-header .nav-wrap,
  .site-header .nav-wrap-premium,
  .site-header .nav-wrap-responsive,
  .site-header .nav-wrap-spacious{
    grid-template-columns:auto minmax(0,1fr) auto;
  }
}

.form-status{display:none;padding:12px 16px;border-radius:14px;font-weight:600;font-size:.95rem}
.form-status.is-success{display:block;background:rgba(111,214,143,.18);border:1px solid rgba(111,214,143,.4);color:#e9fff0}
.form-status.is-error{display:block;background:rgba(255,109,109,.16);border:1px solid rgba(255,109,109,.45);color:#fff2f2}
.form-status.is-info{display:block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);color:#ffffff}

.header-user{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.header-user-chip{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;background:rgba(7,28,48,.06);border:1px solid #d4dee8;max-width:320px}
.header-avatar{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1d6cb4 0%,#5ec56b 100%);color:#fff;font-weight:800;font-size:.9rem;flex:0 0 36px}
.header-user-meta{display:grid;min-width:0}
.header-user-meta strong{font-size:.86rem;line-height:1.1;color:#123251}
.header-user-email{font-size:.78rem;color:#557089;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
@media (max-width:900px){.header-user-chip{max-width:none;width:100%}.header-user-email{max-width:none}}


.suggest-grid{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);align-items:start}
.suggest-form-card{display:flex;flex-direction:column;height:auto}
.suggest-media{height:auto;align-self:start;max-height:none}
.suggest-media img{width:100%;height:auto;min-height:0;display:block;object-fit:cover;aspect-ratio:4/5}
.auth-gate.auth-gate-compact{margin-bottom:18px}
.header-user-chip{max-width:360px;align-items:center}
.header-user-meta strong{font-size:.92rem;text-transform:none}
.header-user-email{font-size:.74rem;opacity:.9}
.why-home-shell{display:grid;gap:24px}
.why-home-top{align-items:start}
.why-visual-stack-alt{height:100%}
.visual-card-home{min-height:420px;max-height:520px}
.visual-card-home img{width:100%;height:100%;object-fit:cover;display:block}
.why-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width: 1100px){
  .why-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 900px){
  .suggest-grid{grid-template-columns:1fr}
  .suggest-media{max-height:440px}
  .visual-card-home{min-height:340px;max-height:420px}
}
@media (max-width: 640px){
  .why-mini-grid{grid-template-columns:1fr}
  .header-user{width:100%}
}


.header-auth-shell{display:flex;align-items:center;justify-content:flex-end;min-width:0}
.header-user{flex-wrap:nowrap}
.header-user-chip{background:rgba(255,255,255,.96);box-shadow:0 6px 16px rgba(8,24,41,.08)}
.header-logout{padding:10px 16px}

.auth-ok-rich{align-items:center;background:linear-gradient(135deg,#081829 0%,#123251 100%)}
.blog-session-chip{display:flex;align-items:center;gap:10px;min-width:0}
.blog-session-meta{display:grid;min-width:0}
.blog-session-meta strong{display:block;font-size:.95rem;margin:0;color:#fff}
.blog-session-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}

.suggest-grid{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:18px}
.suggest-form-card{padding-bottom:14px}
.suggest-media{height:clamp(430px,44vw,520px);align-self:start}
.suggest-media img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 18%;display:block}

@media (min-width: 901px){
  .suggest-media{position:sticky;top:118px}
}

@media (max-width: 1180px){
  .suggest-media{height:420px;position:static}
}

@media (max-width: 960px){
  .header-user{flex-wrap:wrap}
}

@media (max-width: 900px){
  .header-auth-shell,.header-user{width:100%}
  .auth-ok-rich{align-items:flex-start}
  .blog-session-meta span{max-width:none}
  .suggest-media{height:auto;max-height:420px}
}


.info-card.feature-card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:14px;
  min-height:auto;
  padding:28px 28px 24px;
  border:1px solid #dbe5ee;
  border-radius:30px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  box-shadow:0 14px 36px rgba(8,24,41,.06);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.info-card.feature-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg,rgba(31,95,158,.18),rgba(89,180,106,.22),rgba(31,95,158,0));
}
.info-card.feature-card::after{
  content:"";
  position:absolute;
  width:170px;
  height:170px;
  right:-62px;
  bottom:-72px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(31,95,158,.10),rgba(89,180,106,.06) 42%,transparent 70%);
  pointer-events:none;
}
.info-card.feature-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 54px rgba(8,24,41,.10);
  border-color:#cfdce8;
}
.info-card.feature-card > div{
  display:grid;
  align-content:start;
  gap:0;
}
.info-card.feature-card h3{
  margin:0;
  font-size:1.34rem;
  line-height:1.22;
  letter-spacing:-.02em;
  color:#0f2740;
}
.info-card.feature-card p{
  margin:0;
  font-size:.98rem;
  line-height:1.62;
  color:#5b7084;
  max-width:30ch;
}
.info-card.feature-card .kicker-line{
  width:56px;
  height:5px;
  margin-bottom:14px;
  box-shadow:0 8px 18px rgba(31,95,158,.18);
}
.value-card{
  min-height:224px;
}
.service-premium-card,
.service-grid-featured .service-feature-card,
.service-grid-featured .service-card-elevated{
  min-height:236px;
}
.service-grid-featured .service-feature-card{
  padding:30px 28px 24px;
}
.service-grid-featured .service-feature-card p{
  margin-bottom:0;
}
.value-grid .value-card,
.service-grid-premium .service-premium-card{
  backdrop-filter:blur(10px);
}
@media (max-width: 768px){
  .info-card.feature-card,
  .service-grid-featured .service-feature-card{
    padding:24px 22px 22px;
  }
  .info-card.feature-card h3{
    font-size:1.24rem;
  }
  .info-card.feature-card p{
    max-width:none;
  }
}


:root{
  --enterprise-navy:#0b1d31;
  --enterprise-slate:#17324f;
  --enterprise-ink:#0f2740;
  --enterprise-steel:#516579;
  --enterprise-line:#d6e0ea;
  --enterprise-glow:0 22px 54px rgba(7,19,31,.08);
}

.text-link.light{
  color:#cfe3ff;
  font-weight:700;
  letter-spacing:.01em;
  text-shadow:0 1px 0 rgba(0,0,0,.08);
}
.text-link.light:hover{
  color:#ffffff;
}

.featured-insight{
  background:linear-gradient(135deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,.08) 100%);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.18);
  border-radius:32px;
  padding:32px 34px;
  box-shadow:0 24px 56px rgba(7,19,31,.20);
}
.featured-insight h3{
  font-size:1.95rem;
  line-height:1.08;
  letter-spacing:-.03em;
  max-width:16ch;
}
.featured-insight p{
  color:rgba(255,255,255,.84);
  max-width:58ch;
  margin-bottom:16px;
}
.featured-insight .text-link.light{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 0 2px;
  color:#d8e8ff;
}
.featured-insight .text-link.light::after{
  content:"→";
  font-size:1rem;
  transform:translateY(1px);
  transition:transform .18s ease, opacity .18s ease;
  opacity:.92;
}
.featured-insight .text-link.light:hover::after{
  transform:translate(3px,1px);
}

.info-card.feature-card{
  gap:12px;
  padding:26px 26px 22px;
  border:1px solid var(--enterprise-line);
  border-radius:26px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 58%,#f4f8fc 100%);
  box-shadow:0 14px 34px rgba(7,19,31,.05);
}
.info-card.feature-card::before{
  height:2px;
  background:linear-gradient(90deg,#2e6da8,#6e8fb1 52%,rgba(46,109,168,0));
  opacity:.55;
}
.info-card.feature-card::after{
  width:150px;
  height:150px;
  right:-58px;
  bottom:-68px;
  background:radial-gradient(circle,rgba(31,95,158,.08),rgba(89,180,106,.03) 44%,transparent 72%);
}
.info-card.feature-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--enterprise-glow);
  border-color:#c9d5e2;
}
.info-card.feature-card h3{
  font-size:1.28rem;
  line-height:1.2;
  color:var(--enterprise-ink);
}
.info-card.feature-card p{
  font-size:.96rem;
  line-height:1.58;
  color:var(--enterprise-steel);
  max-width:34ch;
}
.info-card.feature-card .kicker-line{
  width:48px;
  height:4px;
  margin-bottom:12px;
  background:linear-gradient(90deg,#1f5f9e,#89a4bf);
  box-shadow:none;
}

.value-card,
.service-premium-card,
.service-grid-featured .service-feature-card,
.service-grid-featured .service-card-elevated{
  border-radius:26px;
}
.value-card{
  min-height:210px;
}
.service-premium-card,
.service-grid-featured .service-feature-card,
.service-grid-featured .service-card-elevated{
  min-height:220px;
}
.service-grid-featured .service-feature-card,
.service-grid-featured .service-card-elevated,
.service-grid-premium .service-premium-card{
  padding:28px 26px 22px;
}
.service-grid-featured .service-feature-card h3,
.service-grid-featured .service-card-elevated h3,
.service-grid-premium .service-premium-card h3{
  font-size:1.3rem;
}
.service-grid-featured .service-feature-card p,
.service-grid-featured .service-card-elevated p,
.service-grid-premium .service-premium-card p{
  color:var(--enterprise-steel);
}

@media (max-width: 768px){
  .featured-insight{
    padding:24px 22px;
  }
  .featured-insight h3{
    font-size:1.65rem;
    max-width:none;
  }
  .info-card.feature-card,
  .service-grid-featured .service-feature-card,
  .service-grid-featured .service-card-elevated,
  .service-grid-premium .service-premium-card{
    padding:22px 20px 20px;
  }
}

:root{
  --premium-accent:#8fd3ff;
  --premium-accent-strong:#e6f3ff;
  --premium-panel-line:rgba(255,255,255,.22);
}

.featured-insight{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.06) 100%);
  border:1px solid var(--premium-panel-line);
  box-shadow:0 28px 70px rgba(5,16,29,.22);
}
.featured-insight::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:220px;
  height:220px;
  border-radius:50%;
  transform:translate(-35%,-38%);
  background:radial-gradient(circle,rgba(143,211,255,.18),transparent 68%);
  pointer-events:none;
}
.featured-insight::after{
  content:"";
  position:absolute;
  right:-60px;
  bottom:-78px;
  width:210px;
  height:210px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(52,124,196,.22),transparent 66%);
  pointer-events:none;
}
.featured-insight span{
  color:rgba(255,255,255,.76);
  letter-spacing:.16em;
}
.featured-insight h3{
  font-size:2.05rem;
  line-height:1.05;
  margin-bottom:12px;
  max-width:15ch;
}
.featured-insight p{
  font-size:1.02rem;
  line-height:1.65;
  color:rgba(255,255,255,.86);
  max-width:60ch;
  margin-bottom:18px;
}
.featured-insight .text-link.light{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  color:var(--premium-accent-strong);
  background:linear-gradient(180deg,rgba(143,211,255,.14),rgba(143,211,255,.08));
  border:1px solid rgba(143,211,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.featured-insight .text-link.light:hover{
  color:#ffffff;
  background:linear-gradient(180deg,rgba(143,211,255,.20),rgba(143,211,255,.10));
  border-color:rgba(143,211,255,.32);
}

.info-card.feature-card,
.value-card,
.service-premium-card,
.service-grid-featured .service-feature-card,
.service-grid-featured .service-card-elevated{
  box-shadow:0 16px 38px rgba(8,24,41,.055);
}
.info-card.feature-card h3,
.value-card h3,
.service-grid-featured .service-feature-card h3,
.service-grid-featured .service-card-elevated h3,
.service-grid-premium .service-premium-card h3{
  font-weight:700;
  letter-spacing:-.025em;
}
.info-card.feature-card p,
.value-card p,
.service-grid-featured .service-feature-card p,
.service-grid-featured .service-card-elevated p,
.service-grid-premium .service-premium-card p{
  line-height:1.65;
}
.value-card,
.service-premium-card,
.service-grid-featured .service-feature-card,
.service-grid-featured .service-card-elevated{
  background:linear-gradient(180deg,#ffffff 0%,#f9fbfd 62%,#f3f7fb 100%);
  border:1px solid #d7e1ea;
}
.value-card:hover,
.service-premium-card:hover,
.service-grid-featured .service-feature-card:hover,
.service-grid-featured .service-card-elevated:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 58px rgba(8,24,41,.10);
  border-color:#cad8e6;
}

@media (max-width: 768px){
  .featured-insight .text-link.light{
    padding:9px 12px;
  }
  .featured-insight p{
    font-size:.98rem;
  }
}
