:root {
   --pareto-blue: #123b63;
   --pareto-blue-2: #0b2d4d;
   --pareto-blue-3: #1d5d91;
   --pareto-gold: #c7a24a;
   --pareto-gold-2: #e3c36c;
   --ink: #172333;
   --muted: #637083;
   --soft: #f5f8fb;
   --soft-blue: #eaf2f8;
   --white: #ffffff;
   --line: rgba(18,59,99,.14);
   --shadow: 0 22px 60px rgba(11,45,77,.16);
   --radius-lg: 28px;
   --radius-md: 18px;
   --radius-sm: 12px;
   --container: 1180px;
 }

 * {
   box-sizing: border-box;
 }

 html {
   scroll-behavior: smooth;
 }

 body {
   margin: 0;
   font-family: Arial, Helvetica, sans-serif;
   color: var(--ink);
   background: var(--white);
   line-height: 1.55;
 }

 img {
   max-width: 100%;
   display: block;
 }

 a {
   color: inherit;
 }

 .page-wrap {
   overflow: hidden;
   background:
     radial-gradient(circle at top right, rgba(199,162,74,.14), transparent 34rem),
     radial-gradient(circle at top left, rgba(29,93,145,.12), transparent 36rem),
     #fff;
 }

 .container {
   width: min(var(--container), calc(100% - 40px));
   margin: 0 auto;
 }

 .topbar {
   background: var(--pareto-blue-2);
   color: rgba(255,255,255,.88);
   font-size: 14px;
 }

 .topbar .container {
   display: flex;
   justify-content: center;
   gap: 14px;
   padding: 10px 0;
   text-align: center;
 }

 .nav {
   position: sticky;
   top: 0;
   z-index: 20;
   background: rgba(255,255,255,.92);
   backdrop-filter: blur(16px);
   border-bottom: 1px solid var(--line);
 }

 .nav-inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   min-height: 76px;
   gap: 24px;
 }

 .brand {
   display: flex;
   align-items: center;
   gap: 12px;
   text-decoration: none;
   min-width: max-content;
 }

 .nav-links {
   display: flex;
   gap: 26px;
   align-items: center;
   font-size: 14px;
   font-weight: 700;
   color: var(--pareto-blue);
 }

 .nav-links a {
   text-decoration: none;
   opacity: .88;
 }

 .nav-links a:hover {
   opacity: 1;
   color: var(--pareto-gold);
 }

 .btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 48px;
   padding: 14px 22px;
   border-radius: 999px;
   text-decoration: none;
   font-weight: 800;
   border: 0;
   cursor: pointer;
   transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
   text-align: center;
   line-height: 1.1;
 }

 .btn:hover {
   transform: translateY(-2px);
 }

 .btn-primary {
   background: linear-gradient(135deg, var(--pareto-gold), var(--pareto-gold-2));
   color: var(--pareto-blue-2);
   box-shadow: 0 15px 30px rgba(199,162,74,.28);
 }

 .btn-secondary {
   background: var(--pareto-blue);
   color: #fff;
   box-shadow: 0 15px 30px rgba(18,59,99,.22);
 }

 .btn-outline {
   border: 1px solid rgba(255,255,255,.55);
   color: #fff;
   background: rgba(255,255,255,.08);
 }

 .hero {
   position: relative;
   padding: 78px 0 64px;
 }

 .hero-grid {
   display: grid;
   grid-template-columns: minmax(0, 1.02fr) minmax(360px, .78fr);
   align-items: center;
   gap: 52px;
 }

 .eyebrow {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   color: var(--pareto-blue);
   background: rgba(199,162,74,.16);
   border: 1px solid rgba(199,162,74,.32);
   border-radius: 999px;
   padding: 9px 14px;
   font-size: 13px;
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: .08em;
   margin-bottom: 18px;
 }

 .eyebrow::before {
   content: "";
   width: 9px;
   height: 9px;
   border-radius: 50%;
   background: var(--pareto-gold);
   box-shadow: 0 0 0 5px rgba(199,162,74,.18);
 }

 h1, h2, h3, p {
   margin-top: 0;
 }

 h1 {
   font-size: clamp(42px, 6vw, 74px);
   line-height: .96;
   letter-spacing: -.055em;
   color: var(--pareto-blue-2);
   margin-bottom: 22px;
 }

 .hero-lede {
   font-size: clamp(18px, 2vw, 22px);
   color: #405064;
   max-width: 720px;
   margin-bottom: 28px;
 }

 .hero-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 14px;
   align-items: center;
   margin: 30px 0;
 }

 .hero-meta {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 12px;
   max-width: 760px;
   margin-top: 30px;
 }

 .meta-card {
   background: rgba(255,255,255,.76);
   border: 1px solid var(--line);
   border-radius: var(--radius-md);
   padding: 16px;
   box-shadow: 0 8px 24px rgba(11,45,77,.06);
 }

 .meta-card strong {
   display: block;
   color: var(--pareto-blue);
   font-size: 15px;
   margin-bottom: 4px;
 }

 .meta-card span {
   font-size: 14px;
   color: var(--muted);
 }

 .hero-visual {
   position: relative;
 }

 .portrait-card {
   position: relative;
   background: linear-gradient(155deg, var(--pareto-blue), var(--pareto-blue-2));
   border-radius: 38px;
   min-height: 650px;
   box-shadow: var(--shadow);
   overflow: hidden;
   isolation: isolate;
   display: flex;
   align-items: flex-end;
   justify-content: center;
   padding: 24px 24px 0;
 }

 .portrait-card::before {
   content: "";
   position: absolute;
   inset: 22px;
   border: 1px solid rgba(255,255,255,.18);
   border-radius: 30px;
   z-index: -1;
 }

 .portrait-card::after {
   content: "";
   position: absolute;
   width: 420px;
   height: 420px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(199,162,74,.46), rgba(199,162,74,.02) 68%);
   top: 18px;
   right: -135px;
   z-index: -1;
 }

 .duncan-img {
   width: min(88%, 500px);
   margin-bottom: -10px;
   filter: drop-shadow(0 18px 28px rgba(0,0,0,.22));
 }

 .nameplate {
   position: absolute;
   left: 24px;
   right: 24px;
   bottom: 24px;
   background: rgba(255,255,255,.94);
   backdrop-filter: blur(14px);
   border: 1px solid rgba(255,255,255,.75);
   border-radius: 22px;
   padding: 18px 20px;
   box-shadow: 0 18px 36px rgba(0,0,0,.16);
 }

 .nameplate .label {
   color: var(--pareto-gold);
   font-weight: 900;
   text-transform: uppercase;
   letter-spacing: .11em;
   font-size: 12px;
 }

 .nameplate .name {
   color: var(--pareto-blue-2);
   font-size: 24px;
   font-weight: 900;
   letter-spacing: -.03em;
   line-height: 1.1;
   margin-top: 4px;
 }

 .nameplate p {
   color: var(--muted);
   margin: 6px 0 0;
   font-size: 14px;
 }

 .section {
   padding: 78px 0;
 }

 .section-tight {
   padding: 56px 0;
 }

 .section-blue {
   background: linear-gradient(135deg, var(--pareto-blue), var(--pareto-blue-2));
   color: #fff;
   position: relative;
   overflow: hidden;
 }

 .section-blue::before {
   content: "";
   position: absolute;
   width: 620px;
   height: 620px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(199,162,74,.25), transparent 68%);
   top: -260px;
   right: -200px;
 }

 .section-blue .container {
   position: relative;
   z-index: 1;
 }

 .section-header {
   max-width: 820px;
   margin: 0 auto 40px;
   text-align: center;
 }

 .section-kicker {
   color: var(--pareto-gold);
   font-size: 13px;
   letter-spacing: .12em;
   text-transform: uppercase;
   font-weight: 900;
   margin-bottom: 10px;
 }

 .section h2 {
   font-size: clamp(32px, 4.4vw, 52px);
   line-height: 1.02;
   letter-spacing: -.045em;
   color: var(--pareto-blue-2);
   margin-bottom: 16px;
 }

 .section-blue h2,
 .section-blue h3 {
   color: #fff;
 }

 .section-header p,
 .text-large {
   color: #566578;
   font-size: 18px;
   margin-bottom: 0;
 }

 .section-blue .section-header p,
 .section-blue .text-large {
   color: rgba(255,255,255,.8);
 }

 .split {
   display: grid;
   grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
   gap: 48px;
   align-items: center;
 }

 .panel {
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-lg);
   padding: clamp(24px, 4vw, 44px);
   box-shadow: 0 18px 45px rgba(11,45,77,.08);
 }

 .quote-card {
   background: linear-gradient(180deg, #fff, #f9fbfd);
   border-left: 6px solid var(--pareto-gold);
   padding: 28px;
   border-radius: 22px;
   box-shadow: 0 15px 40px rgba(11,45,77,.08);
 }

 .quote-card p {
   font-size: 22px;
   line-height: 1.35;
   letter-spacing: -.02em;
   color: var(--pareto-blue-2);
   margin-bottom: 12px;
   font-weight: 800;
 }

 .quote-card span {
   color: var(--muted);
   font-weight: 700;
 }

 .question-list {
   display: grid;
   gap: 12px;
   margin: 24px 0 0;
 }

 .question-list div {
   padding: 16px 18px;
   background: var(--soft);
   border: 1px solid var(--line);
   border-radius: 16px;
   color: var(--pareto-blue-2);
   font-weight: 750;
 }

 .card-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
 }

 .feature-card {
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-md);
   padding: 24px;
   box-shadow: 0 12px 35px rgba(11,45,77,.07);
   min-height: 100%;
 }

 .feature-card .num {
   width: 42px;
   height: 42px;
   border-radius: 50%;
   background: rgba(199,162,74,.16);
   color: var(--pareto-blue);
   display: grid;
   place-items: center;
   font-weight: 900;
   margin-bottom: 16px;
   border: 1px solid rgba(199,162,74,.3);
 }

 .feature-card h3 {
   font-size: 21px;
   line-height: 1.18;
   letter-spacing: -.03em;
   color: var(--pareto-blue-2);
   margin-bottom: 10px;
 }

 .feature-card p {
   color: var(--muted);
   margin-bottom: 0;
 }

 .gold-band {
   background: linear-gradient(135deg, var(--pareto-gold), #d9bb65);
   color: var(--pareto-blue-2);
   border-radius: var(--radius-lg);
   padding: clamp(28px, 5vw, 54px);
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   gap: 30px;
   align-items: center;
   box-shadow: 0 22px 55px rgba(199,162,74,.24);
 }

 .gold-band h2 {
   color: var(--pareto-blue-2);
   margin-bottom: 10px;
 }

 .gold-band p {
   color: rgba(11,45,77,.86);
   font-size: 18px;
   margin-bottom: 0;
 }

 .timeline {
   display: grid;
   grid-template-columns: repeat(4, minmax(0,1fr));
   gap: 14px;
   margin-top: 34px;
 }

 .date-card {
   background: rgba(255,255,255,.1);
   border: 1px solid rgba(255,255,255,.18);
   border-radius: 18px;
   padding: 22px;
 }

 .date-card span {
   color: var(--pareto-gold-2);
   text-transform: uppercase;
   letter-spacing: .1em;
   font-size: 12px;
   font-weight: 900;
 }

 .date-card strong {
   display: block;
   font-size: 28px;
   line-height: 1;
   margin-top: 8px;
 }

 .module-list {
   display: grid;
   gap: 14px;
   counter-reset: module;
 }

 .module {
   display: grid;
   grid-template-columns: 58px 1fr;
   gap: 18px;
   align-items: start;
   padding: 20px;
   background: #fff;
   border: 1px solid var(--line);
   border-radius: 18px;
   box-shadow: 0 10px 28px rgba(11,45,77,.06);
 }

 .module::before {
   counter-increment: module;
   content: counter(module);
   width: 46px;
   height: 46px;
   border-radius: 50%;
   display: grid;
   place-items: center;
   background: var(--pareto-blue);
   color: #fff;
   font-weight: 900;
 }

 .module h3 {
   color: var(--pareto-blue-2);
   margin-bottom: 4px;
   font-size: 20px;
   letter-spacing: -.02em;
 }

 .module p {
   color: var(--muted);
   margin-bottom: 0;
 }

 .check-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0,1fr));
   gap: 14px;
   margin-top: 28px;
 }

 .check {
   display: flex;
   gap: 12px;
   align-items: flex-start;
   background: rgba(255,255,255,.1);
   border: 1px solid rgba(255,255,255,.16);
   border-radius: 16px;
   padding: 16px;
   color: rgba(255,255,255,.88);
 }

 .check::before {
   content: "✓";
   width: 26px;
   height: 26px;
   min-width: 26px;
   display: grid;
   place-items: center;
   border-radius: 50%;
   color: var(--pareto-blue-2);
   background: var(--pareto-gold-2);
   font-weight: 900;
   font-size: 14px;
   margin-top: 1px;
 }

 .resources-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0,1fr));
   gap: 16px;
 }

 .resource {
   display: flex;
   gap: 14px;
   align-items: flex-start;
   padding: 18px;
   background: #fff;
   border: 1px solid var(--line);
   border-radius: 18px;
   box-shadow: 0 10px 28px rgba(11,45,77,.06);
 }

 .resource-icon {
   width: 38px;
   height: 38px;
   min-width: 38px;
   border-radius: 50%;
   background: rgba(199,162,74,.17);
   display: grid;
   place-items: center;
   color: var(--pareto-blue);
   font-weight: 900;
 }

 .resource h3 {
   color: var(--pareto-blue-2);
   margin-bottom: 4px;
   font-size: 18px;
 }

 .resource p {
   color: var(--muted);
   margin: 0;
   font-size: 14px;
 }

 .pricing-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0,1fr));
   gap: 20px;
   align-items: stretch;
 }

 .price-card {
   background: #fff;
   border: 1px solid var(--line);
   border-radius: var(--radius-lg);
   padding: 34px;
   box-shadow: 0 16px 45px rgba(11,45,77,.08);
   position: relative;
   overflow: hidden;
 }

 .price-card.featured {
   border-color: rgba(199,162,74,.65);
   box-shadow: 0 22px 60px rgba(199,162,74,.18);
 }

 .badge {
   display: inline-flex;
   background: rgba(199,162,74,.18);
   color: var(--pareto-blue);
   border: 1px solid rgba(199,162,74,.32);
   border-radius: 999px;
   padding: 7px 11px;
   font-size: 12px;
   font-weight: 900;
   text-transform: uppercase;
   letter-spacing: .08em;
   margin-bottom: 16px;
 }

 .price-card h3 {
   font-size: 24px;
   color: var(--pareto-blue-2);
   margin-bottom: 10px;
 }

 .price {
   display: flex;
   align-items: flex-end;
   gap: 6px;
   margin: 18px 0;
   color: var(--pareto-blue-2);
 }

 .price strong {
   font-size: 56px;
   line-height: .9;
   letter-spacing: -.06em;
 }

 .price span {
   color: var(--muted);
   font-weight: 800;
   padding-bottom: 6px;
 }

 .price-card ul {
   padding-left: 0;
   list-style: none;
   display: grid;
   gap: 12px;
   margin: 24px 0 0;
 }

 .price-card li {
   display: flex;
   gap: 10px;
   color: var(--muted);
 }

 .price-card li::before {
   content: "✓";
   color: var(--pareto-gold);
   font-weight: 900;
 }


 .discount-sticker {
   position: absolute;
   top: 22px;
   right: 22px;
   width: 136px;
   min-height: 136px;
   border-radius: 50%;
   background: linear-gradient(135deg, var(--pareto-gold), var(--pareto-gold-2));
   color: var(--pareto-blue-2);
   display: grid;
   place-items: center;
   text-align: center;
   padding: 18px;
   box-shadow: 0 18px 34px rgba(199,162,74,.28);
   transform: rotate(7deg);
   border: 3px solid rgba(255,255,255,.9);
   z-index: 2;
 }

 .discount-sticker strong {
   display: block;
   font-size: 28px;
   line-height: .9;
   letter-spacing: -.05em;
   margin-bottom: 5px;
 }

 .discount-sticker span {
   display: block;
   font-size: 11px;
   line-height: 1.18;
   font-weight: 900;
   text-transform: uppercase;
   letter-spacing: .04em;
 }

 .price-card.has-sticker {
   padding-top: 46px;
 }

 .form-section {
   background: var(--soft);
 }

 .form-wrap {
   display: grid;
   grid-template-columns: minmax(0, .82fr) minmax(0, 1fr);
   gap: 36px;
   align-items: start;
 }

 .form-card {
   background: #fff;
   border-radius: var(--radius-lg);
   padding: clamp(24px, 4vw, 42px);
   border: 1px solid var(--line);
   box-shadow: 0 18px 45px rgba(11,45,77,.08);
 }

 form {
   display: grid;
   gap: 14px;
 }

 .field-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0,1fr));
   gap: 14px;
 }

 label {
   display: grid;
   gap: 7px;
   color: var(--pareto-blue-2);
   font-size: 13px;
   font-weight: 800;
 }

 input, select, textarea {
   width: 100%;
   border: 1px solid rgba(18,59,99,.2);
   border-radius: 14px;
   padding: 13px 14px;
   font: inherit;
   color: var(--ink);
   background: #fff;
   outline: none;
   transition: border .18s ease, box-shadow .18s ease;
 }

 input:focus, select:focus, textarea:focus {
   border-color: var(--pareto-gold);
   box-shadow: 0 0 0 4px rgba(199,162,74,.17);
 }

 textarea {
   min-height: 110px;
   resize: vertical;
 }

 .fine-print {
   color: var(--muted);
   font-size: 13px;
   margin: 12px 0 0;
 }
/*
 .footer {
   background: var(--pareto-blue-2);
   color: rgba(255,255,255,.76);
   padding: 36px 0;
   font-size: 14px;
 }

 .footer .container {
   display: flex;
   justify-content: space-between;
   gap: 18px;
   align-items: center;
 }

 .footer strong {
   color: #fff;
 }
*/

 .included-layout {
   display: grid;
   grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
   gap: 42px;
   align-items: center;
   margin-top: 32px;
 }
 
 /* Resources placeholder now holding a real image */
.resources-placeholder:has(img) {
  min-height: 0;            /* let the image set the height instead of forcing 520px */
  padding: 0;
  /*border: 1px solid var(--line);
  border-style: solid;
  background: #fff;*/
  overflow: hidden;
}

.resources-placeholder:has(img) .resources-placeholder-inner {
  max-width: 100%;         /* this is what was shrinking the image */
  width: 100%;
}

.resources-placeholder img {
  width: 100%;
  height: auto;            /* keeps the collage's aspect ratio */
  display: block;
}
/*
 .resources-placeholder {
   min-height: 520px;
   border-radius: 32px;
   border: 2px dashed rgba(18,59,99,.24);
   background:
     linear-gradient(135deg, rgba(18,59,99,.08), rgba(199,162,74,.1)),
     #ffffff;
   display: grid;
   place-items: center;
   padding: 32px;
   box-shadow: 0 18px 45px rgba(11,45,77,.08);
   text-align: center;
 }

 .resources-placeholder-inner {
   max-width: 360px;
 }

 .resources-placeholder-icon {
   width: 86px;
   height: 86px;
   border-radius: 24px;
   margin: 0 auto 18px;
   background: rgba(199,162,74,.18);
   border: 1px solid rgba(199,162,74,.34);
   display: grid;
   place-items: center;
   color: var(--pareto-blue);
   font-size: 34px;
   font-weight: 900;
 }

 .resources-placeholder h3 {
   color: var(--pareto-blue-2);
   font-size: 26px;
   letter-spacing: -.03em;
   margin-bottom: 8px;
 }

 .resources-placeholder p {
   color: var(--muted);
   margin-bottom: 0;
 }
*/
 .resources-list {
   display: grid;
   gap: 18px;
 }

 .resources-list-item {
   display: grid;
   grid-template-columns: 38px 1fr;
   gap: 14px;
   align-items: start;
 }

 .resources-list-number {
   width: 34px;
   height: 34px;
   border-radius: 50%;
   background: rgba(199,162,74,.18);
   border: 1px solid rgba(199,162,74,.34);
   color: var(--pareto-blue);
   display: grid;
   place-items: center;
   font-weight: 900;
   font-size: 14px;
   margin-top: 1px;
 }

 .resources-list-item h3 {
   color: var(--pareto-blue-2);
   font-size: 19px;
   letter-spacing: -.02em;
   margin-bottom: 3px;
 }

 .resources-list-item p {
   color: var(--muted);
   margin-bottom: 0;
   font-size: 15px;
 }

 @media (max-width: 980px) {
   .nav-links {
     display: none;
   }

   .hero-grid,
   .split,
   .form-wrap {
     grid-template-columns: 1fr;
   }

   .hero {
     padding-top: 52px;
   }


   .included-layout {
     grid-template-columns: 1fr;
   }

   .resources-placeholder {
     min-height: 380px;
   }

   .hero-visual {
     max-width: 560px;
     margin: 0 auto;
     width: 100%;
   }

   .portrait-card {
     min-height: 560px;
   }

   .card-grid,
   .timeline {
     grid-template-columns: repeat(2, minmax(0, 1fr));
   }
 }

 @media (max-width: 720px) {

   .container {
     width: min(100% - 28px, var(--container));
   }

   .topbar .container {
     font-size: 13px;
   }

   .nav-inner {
     min-height: 68px;
   }
 .hero {
     padding: 38px 0 46px;
   }

   .hero-meta,
   .card-grid,
   .timeline,
   .check-grid,
   .resources-grid,
   .pricing-grid,
   .field-grid {
     grid-template-columns: 1fr;
   }

   .hero-actions {
     align-items: stretch;
   }

   .hero-actions .btn {
     width: 100%;
   }

   .portrait-card {
     min-height: 510px;
     border-radius: 28px;
   }

   .nameplate {
     left: 14px;
     right: 14px;
     bottom: 14px;
   }

   .section {
     padding: 56px 0;
   }

   .section-tight {
     padding: 44px 0;
   }

   .gold-band {
     grid-template-columns: 1fr;
   }

   .gold-band .btn {
     width: 100%;
   }

   .module {
     grid-template-columns: 1fr;
   }

   .module::before {
     width: 42px;
     height: 42px;
   }


   .discount-sticker {
     width: 108px;
     min-height: 108px;
     top: 16px;
     right: 16px;
     padding: 14px;
   }

   .discount-sticker strong {
     font-size: 23px;
   }

   .discount-sticker span {
     font-size: 9px;
   }

   .price strong {
     font-size: 48px;
   }


   .resources-list-item {
     grid-template-columns: 32px 1fr;
   }

   .resources-placeholder {
     min-height: 300px;
     border-radius: 24px;
   }

   .footer .container {
     flex-direction: column;
     align-items: flex-start;
   }
 }

 @media (max-width: 440px) {

   h1 {
     font-size: 39px;
   }

   .portrait-card {
     min-height: 450px;
   }

   .nameplate .name {
     font-size: 21px;
   }
 }

 /* Forced header logo size */
 .nav .brand img.brand-logo {
   width: 200px !important;
   min-width: 200px !important;
   max-width: 200px !important;
   height: auto !important;
   display: block !important;
   object-fit: contain !important;
 }

 .nav .brand {
   width: 200px !important;
   min-width: 200px !important;
   max-width: 200px !important;
   overflow: visible !important;
   flex: 0 0 200px !important;
}