/* Homepage: one continuous navy canvas with a clear video-to-navigation flow. */
.home-only{background:#fff}
.home-only main{max-width:1280px;margin:auto;padding:56px 40px 32px}
.home-only .home-video{padding:0;background:transparent;border:0}
.home-only .home-video .video-player{max-width:none;aspect-ratio:2.2;border:1px solid #344966}
.home-only .video-poster{object-position:50% 46%}
.home-only .home-gateway.three-paths{padding:20px 0 0;gap:14px;max-width:none}
.home-only .home-gateway.three-paths .gateway-link{position:relative;min-height:164px;padding:22px 24px;grid-template-columns:1fr 28px;grid-template-rows:auto 1fr;gap:16px 12px;align-items:end;border:1px solid var(--line);background:#fff}
.home-only .home-gateway.three-paths .gateway-link>span{grid-column:1;align-self:start;font-size:14px;letter-spacing:.08em;color:#846021}
.home-only .home-gateway.three-paths .gateway-link strong{grid-column:1;grid-row:2;font-size:24px;line-height:1.3;letter-spacing:-.025em;max-width:290px}
.home-only .gateway-link i{grid-column:2;grid-row:2;align-self:end;font-size:26px;color:var(--navy)}
.home-only .home-gateway.three-paths .gateway-link:hover{background:#e8eef5;border-color:#e8eef5;color:var(--navy)}
.home-only .home-gateway>a:not(.gateway-link){color:var(--navy);font-size:14px;border-bottom:1px solid var(--line);margin-top:4px;padding:5px 0}
@media(max-width:1050px){.home-only .home-gateway.three-paths{grid-template-columns:repeat(3,minmax(0,1fr))}.home-only .home-gateway.three-paths .gateway-link{padding:20px;min-height:162px}.home-only .home-gateway.three-paths .gateway-link strong{font-size:20px}}
@media(max-width:700px){.home-only main{padding:32px 16px 24px}.home-only .home-video .video-player{aspect-ratio:16/10}.home-only .home-gateway.three-paths{grid-template-columns:1fr;gap:10px;padding-top:14px}.home-only .home-gateway.three-paths .gateway-link{min-height:100px;padding:20px;grid-template-columns:26px 1fr 24px;grid-template-rows:1fr;gap:12px;align-items:center}.home-only .home-gateway.three-paths .gateway-link>span{align-self:center}.home-only .home-gateway.three-paths .gateway-link strong{grid-column:2;grid-row:1;font-size:20px}.home-only .gateway-link i{grid-column:3;grid-row:1;align-self:center}.home-only .home-gateway>a:not(.gateway-link){margin-top:0}}
/* Editorial sections beneath the original video and navigation. */
.home-perspective{padding:72px 0 56px;text-align:center;border-top:1px solid var(--line);margin-top:48px}
.home-perspective h1{font-size:clamp(30px,3.6vw,48px);line-height:1.4;letter-spacing:-.025em;color:var(--navy);margin:16px 0}.home-perspective h1 span{color:#42617e}.home-section-lead{font-size:18px;color:var(--slate);max-width:760px;margin:18px auto 36px;line-height:1.85}
.home-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:left}.home-principles>div{background:#f1f4f7;padding:28px}.home-principles span{font-size:12px;font-weight:700;letter-spacing:.07em;color:#846021}.home-principles h2{font-size:24px;line-height:1.4;color:var(--navy);margin:24px 0 10px}.home-principles p{font-size:16px;color:var(--slate);margin:0;line-height:1.8}
.home-learning{padding:48px 0 64px}.home-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px}.home-section-head h2{font-size:clamp(28px,3vw,38px);line-height:1.4;color:var(--navy);margin:0}.home-section-head>a{flex-shrink:0;font-size:14px;border-bottom:1px solid var(--navy);padding-bottom:5px}.home-course-note{font-size:13px;color:var(--slate);margin:16px 0 24px}.home-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.home-course{display:flex;flex-direction:column;min-height:300px;background:#f3f6f9;border:1px solid var(--line);padding:30px;transition:background .2s}.home-course:first-child{background:var(--navy);color:white;border-color:var(--navy)}.home-course-top{display:flex;justify-content:space-between;align-items:center;color:#846021}.home-course-top>span{font-family:"Sarabun",Tahoma,sans-serif;font-size:32px}.home-course-top small{font-size:12px;letter-spacing:.08em}.home-course:first-child .home-course-top{color:#d3b57e}.home-course h3{font-size:26px;line-height:1.45;margin:20px 0 12px;color:var(--navy)}.home-course p{font-size:16px;line-height:1.8;margin:0 0 26px;color:var(--slate)}.home-course:first-child h3{color:white}.home-course:first-child p{color:#ced9e6}.home-course-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid #c8d2df;font-size:14px}.home-course-bottom>span:first-child{font-size:20px;font-weight:650}.home-course:hover{background:#e7edf4}.home-course:first-child:hover{background:#183b63}
.home-approach{display:grid;grid-template-columns:1fr 1fr;gap:72px;padding:56px 0;border-top:1px solid var(--line)}.home-approach h2{font-size:clamp(30px,3.1vw,42px);line-height:1.4;color:var(--navy);margin:16px 0 30px}.home-signature{font-size:14px;font-weight:750;letter-spacing:.1em}.home-approach-copy p{font-size:17px;line-height:1.9;color:var(--slate);margin:0 0 20px}.home-approach-copy a{display:inline-block;font-size:15px;color:var(--navy);border-bottom:1px solid var(--navy);padding-bottom:5px;margin-top:8px}.home-only .home-footer{display:flex;justify-content:space-between;gap:20px;background:var(--navy);color:white;border:0;padding-top:28px;padding-bottom:28px}.home-footer>a:first-child{font-weight:750;letter-spacing:.07em}.home-footer>a{font-size:14px}
@media(max-width:700px){.home-perspective{padding:40px 0 24px;margin-top:32px;text-align:left}.home-section-lead{font-size:16px}.home-principles,.home-course-grid,.home-approach{grid-template-columns:1fr}.home-principles{gap:10px}.home-principles>div{padding:22px}.home-principles h2{margin-top:12px}.home-section-head{align-items:start;flex-direction:column;gap:14px}.home-learning{padding:32px 0 40px}.home-course{min-height:0;padding:24px}.home-course h3{font-size:24px}.home-approach{gap:24px;padding:36px 0}.home-approach h2{margin-bottom:20px}.home-only .home-footer{padding:24px 16px}.home-approach-copy p{font-size:16px}}
.home-approach{grid-template-columns:1.08fr 1fr;gap:44px;align-items:center}.approach-photo{margin:0}.approach-photo img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:65% center}.approach-content{min-width:0}.home-approach h2{font-size:clamp(28px,3vw,38px);margin:12px 0 18px}.home-signature{display:block;margin-bottom:24px}.home-approach-copy p{font-size:16px;line-height:1.85}@media(max-width:700px){.home-approach{grid-template-columns:1fr;gap:28px}.approach-photo img{aspect-ratio:16/10;object-position:65% center}}
/* Working principles: photo and introduction alongside five readable subsections. */
.home-approach.approach-principles{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:64px;margin-top:28px}.approach-intro{position:sticky;top:116px}.approach-intro .approach-photo{margin:28px 0 20px}.approach-intro .home-signature{font-size:13px}.approach-principle-list{list-style:none;padding:0;margin:0}.approach-principle-list li{display:grid;grid-template-columns:32px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid var(--line)}.approach-principle-list li:first-child{padding-top:0}.principle-number{font-size:14px;color:#846021;font-weight:700;line-height:2.2}.approach-principle-list h3{color:var(--navy);font-size:24px;line-height:1.5;margin:0 0 12px;letter-spacing:-.02em}.approach-principle-list p{color:#526174;font-size:16px;line-height:1.9;margin:0}.approach-service-link{display:inline-block;margin-top:28px;padding-bottom:5px;font-size:14px;color:var(--navy);border-bottom:1px solid var(--navy)}
@media(max-width:900px){.home-approach.approach-principles{grid-template-columns:1fr;gap:32px}.approach-intro{position:static}.approach-intro .approach-photo{max-width:560px}.approach-intro h2 br{display:none}.approach-principle-list h3{font-size:22px}}
@media(max-width:560px){.home-approach.approach-principles{margin-top:20px}.approach-principle-list li{grid-template-columns:24px 1fr;gap:12px;padding:22px 0}.approach-principle-list h3{font-size:21px}}

.approach-personal-intro{font-size:16px;line-height:1.85;color:var(--slate);margin:0 0 28px;padding-bottom:24px;border-bottom:1px solid var(--line)}


/* Strategic signals: visible editorial cards with distinct visual anchors. */
.home-strategy-signals{border-top:1px solid var(--line);padding:64px 0 24px}.signals-heading{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:40px}.signals-heading h2{font-size:clamp(30px,3vw,42px);line-height:1.4;letter-spacing:-.025em;color:var(--navy);margin:16px 0}.signals-lead{font-size:17px;line-height:1.8;color:var(--slate);margin:0}.signals-heading figure{margin:0}.signals-heading img{display:block;width:100%;height:auto;aspect-ratio:1.9;object-fit:cover;object-position:65% 45%;border-radius:4px}.signals-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.signal-card{display:flex;flex-direction:column;padding:28px;background:#f7f9fc;border:1px solid #e4eaf1;border-radius:6px}.signal-card-top{display:flex;align-items:center;gap:12px;margin-bottom:22px}.signal-icon{width:46px;height:46px;background:#e8eef6;color:var(--navy);border-radius:12px;display:grid;place-items:center;flex-shrink:0}.signal-icon svg{width:32px;height:32px}.signal-category{font-size:12px;font-weight:600;color:#586b82}.signal-index{margin-left:auto;font-size:12px;color:#957035}.signal-card h3{font-size:23px;line-height:1.5;letter-spacing:-.025em;color:var(--navy);margin:0 0 12px;text-wrap:balance}.signal-card>p{font-size:16px;line-height:1.85;color:#526174;margin:0 0 24px}.signal-question{margin-top:auto;padding-top:18px;border-top:1px solid #dbe3ed}.signal-question>span{font-size:11px;color:#846021;font-weight:600}.signal-question p{font-size:15px;line-height:1.7;color:var(--navy);margin:5px 0 0;font-weight:500}.signals-takeaway{display:flex;align-items:center;gap:24px;margin-top:32px;padding:28px 32px;background:var(--navy);color:white;border-radius:6px}.signals-takeaway>span{font-size:36px;color:#d5b475}.signals-takeaway p{margin:0;font-size:15px;line-height:1.8}.signals-takeaway strong{font-size:19px;font-weight:600}.signals-takeaway .signals-context{margin-left:auto;font-size:14px;color:#c7d4e4}@media(max-width:1050px){.signals-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.signals-heading{gap:32px}.signals-heading h2{font-size:32px}.signals-takeaway{flex-wrap:wrap}.signals-takeaway .signals-context{margin-left:0}}@media(max-width:600px){.home-strategy-signals{padding:40px 0 8px}.signals-heading{grid-template-columns:1fr;gap:24px;margin-bottom:24px}.signals-heading h2{font-size:29px}.signals-lead{font-size:16px}.signals-cards{grid-template-columns:1fr;gap:16px}.signal-card{padding:24px}.signal-card-top{margin-bottom:16px}.signal-card h3{font-size:23px;text-wrap:initial}.signals-takeaway{padding:24px;gap:16px}.signals-takeaway>span{display:none}.signals-takeaway strong{font-size:18px}.signals-takeaway .signals-context br{display:none}}

/* About Joe: one photo column and one continuous narrative. */
.home-about{padding:64px 0 8px;margin-top:32px;border-top:1px solid var(--line)}.home-about .about-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:56px;align-items:start}.home-about figure{margin:0;position:sticky;top:116px}.home-about img{display:block;width:100%;height:auto;border-radius:4px}.home-about .about-intro{display:block;padding:0;margin:0;min-width:0}.home-about h2{font-size:clamp(28px,3vw,40px);line-height:1.4;color:var(--navy);margin:12px 0 4px}.home-about h2 span{color:#937038}.home-about .about-role{font-size:16px;color:#846021;margin:0 0 26px}.home-about .about-intro>p:not(.eyebrow):not(.about-role){font-size:16px;line-height:1.9;color:#526174;margin:0 0 20px}.home-about strong{font-weight:600;color:var(--navy)}.home-about .about-quote{margin:28px 0 0;padding:0 0 0 20px;border-left:2px solid var(--bronze);background:none}.home-about .about-quote p{margin:0;color:var(--navy);font-size:19px;line-height:1.85}@media(max-width:800px){.home-about .about-opening{grid-template-columns:1fr;gap:28px}.home-about figure{position:static}.home-about{padding-top:36px;margin-top:28px}.home-about h2{font-size:30px}.home-about .about-quote p{font-size:18px}}

/* Alternate image positions across homepage sections. */
@media(min-width:901px){.home-approach.approach-principles{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.approach-principles .approach-content{grid-column:1;grid-row:1}.approach-principles .approach-intro{grid-column:2;grid-row:1}.approach-principles .approach-intro .approach-photo{margin-top:0}}
@media(min-width:601px){.signals-heading>figure{grid-column:1;grid-row:1}.signals-heading>div{grid-column:2;grid-row:1}}
@media(max-width:900px){.approach-principles .approach-content{grid-row:1}.approach-principles .approach-intro{grid-row:2}}
/* A continuous reading path for the five working principles. */
.home-approach.approach-principles{gap:56px;padding:64px 0;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.approach-principles .approach-content h2{font-size:clamp(28px,2.6vw,36px);line-height:1.45;margin:12px 0 16px}
.approach-principles .approach-content h2 br{display:none}
.approach-principles .approach-personal-intro{border:0;padding:0;margin:0 0 36px;max-width:520px;font-size:16px;line-height:1.85}
.approach-principles .approach-intro{padding-top:8px}
.approach-principles .approach-photo img{display:block;aspect-ratio:4/3;object-position:65% center;border-radius:4px}
.approach-principles .home-signature{font-size:11px;letter-spacing:.16em;font-weight:500;color:#6b7a8d;margin-top:16px}
.approach-principles .approach-principle-list li{position:relative;grid-template-columns:36px minmax(0,1fr);gap:20px;padding:0 0 30px;border:0}
.approach-principles .approach-principle-list li:not(:last-child):before{content:"";position:absolute;left:17px;top:42px;bottom:6px;width:1px;background:#dce4ed}
.approach-principles .principle-number{display:grid;place-items:center;width:36px;height:36px;background:#edf2f7;border-radius:50%;font-size:12px;color:#846021;line-height:1;font-weight:600}
.approach-principles .approach-principle-list h3{font-size:21px;line-height:1.6;margin:1px 0 8px;letter-spacing:-.015em}
.approach-principles .approach-principle-list p{font-size:16px;line-height:1.9;color:#526174}
.approach-principles .approach-service-link{margin:0 0 0 56px;font-size:14px}
@media(max-width:900px){.home-approach.approach-principles{grid-template-columns:1fr;gap:28px;padding:40px 0}.approach-principles .approach-intro{padding:0}.approach-principles .approach-photo{max-width:none}.approach-principles .approach-photo img{aspect-ratio:16/10}.approach-principles .approach-principle-list h3{font-size:21px}}
@media(max-width:560px){.approach-principles .approach-principle-list li{gap:14px;grid-template-columns:30px minmax(0,1fr);padding-bottom:28px}.approach-principles .principle-number{width:30px;height:30px;font-size:11px}.approach-principles .approach-principle-list li:not(:last-child):before{left:14px;top:36px}.approach-principles .approach-service-link{margin-left:44px}.approach-principles .approach-principle-list h3{font-size:20px}.approach-principles .approach-personal-intro{margin-bottom:28px}}
/* Full-height portrait alongside all five principles on desktop. */
@media(min-width:901px){.approach-principles .approach-intro{position:static;align-self:stretch;padding-top:0;display:flex;flex-direction:column;min-height:0}.approach-principles .approach-intro .approach-photo{position:relative;flex:1;min-height:0;margin:0}.approach-principles .approach-photo img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:64% center}.approach-principles .home-signature{margin:16px 0 0}}
/* About portrait matches the full height of the adjacent biography. */
@media(min-width:801px){.home-about .about-opening>figure{position:relative;top:auto;align-self:stretch;min-height:0}.home-about .about-opening>figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}}

@media(min-width:901px){.approach-principles .approach-photo img{object-position:60% center}}
@media(min-width:801px){.home-about .about-opening>figure img{object-position:64% center}}

/* Long-form personal story: readable paragraphs with a companion portrait. */
.home-about .about-intro h3{font-size:23px;line-height:1.6;color:var(--navy);margin:36px 0 18px;letter-spacing:-.015em}.home-about .about-story-signature{margin-top:8px}
@media(min-width:801px){.home-about .about-opening>figure{position:sticky;top:108px;align-self:start;height:calc(100vh - 140px);min-height:420px;max-height:860px}.home-about .about-opening>figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% center}}
@media(max-width:600px){.home-about .about-intro h3{font-size:21px;margin-top:30px}}

.home-current-work{border-top:1px solid var(--line);padding:64px 0 32px}.home-current-work h2{font-size:clamp(30px,3vw,40px);line-height:1.45;color:var(--navy);margin:14px 0 20px}.current-work-lead{max-width:800px;font-size:17px;line-height:1.9;color:#526174;margin:0 0 36px}.current-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.current-work-grid article{display:flex;flex-direction:column;border-top:1px solid var(--line);padding:28px 0 0}.current-work-grid svg{width:36px;height:36px;color:#846021;margin-bottom:22px}.current-work-grid h3{font-size:25px;line-height:1.5;color:var(--navy);margin:0 0 16px}.current-work-grid p{font-size:16px;line-height:1.85;color:#526174;margin:0 0 28px}.current-work-grid a{align-self:flex-start;margin-top:auto;color:var(--navy);font-size:15px;padding-bottom:6px;border-bottom:1px solid #b8c5d4}.current-work-grid a:hover{color:#846021;border-color:#846021}.current-work-grid a:focus-visible{outline:2px solid var(--navy);outline-offset:5px}@media(max-width:700px){.home-current-work{padding:40px 0 16px}.current-work-grid{grid-template-columns:1fr;gap:28px}.current-work-grid h3{font-size:23px}.current-work-grid h3 br{display:none}.current-work-grid svg{margin-bottom:16px}.current-work-lead{font-size:16px;margin-bottom:28px}}
/* Center the current-work section and its three paths. */
.home-current-work{text-align:center}.home-current-work .current-work-lead{margin-left:auto;margin-right:auto}.current-work-grid article{align-items:center}.current-work-grid a{align-self:center}.current-work-grid p{max-width:360px}
