/* US Open-inspired digital court palette, with Sherwood crest gold. */
:root{--green:#39734b;--green-2:#285638;--court-blue:#19669b;--blue-deep:#124b75;--cream:#f4f8fb;--lime:#d4bd7c;--ink:#183344;--muted:#496171;--line:#c9d8e1;--white:#fff}
body{background:var(--cream)}
a:focus-visible,summary:focus-visible,button:focus-visible{outline-color:var(--lime)}
.site-header{height:104px;background:var(--green);border-bottom:2px solid var(--lime)}
.brand-lockup{gap:15px;color:#fff;min-width:0}
.brand-lockup-image{width:80px;height:80px;object-fit:contain;flex:none}
.brand-name{display:flex;flex-direction:column;font:700 16px/1.15 'DM Sans',Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;color:#fff}
.brand-name span{font-size:10px;letter-spacing:.14em;line-height:1.4;color:#dac995;margin-top:5px}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:#e0d0a0;border-color:var(--lime)}
.site-header .button,.button.lime{background:var(--lime);color:var(--green)}
.hero-compact{background:var(--green);border-bottom:5px solid var(--lime)}
.hero-intro{background:linear-gradient(145deg,var(--green),var(--green-2))}
.hero-crest{display:block;width:clamp(112px,11vw,164px);height:auto;margin:0 0 18px}
.hero-compact h1,.inquiry-band h2,.library-contact h2{color:#fff}
.hero-compact em,.hero-compact .eyebrow,.inquiry-band .eyebrow,.library-heading .eyebrow{color:#d8c48e}
.hero-compact .hero-description,.inquiry-band p{color:#ecf1ec}
.hero-compact .hero-trailer{background:var(--green-2);border-left:1px solid rgba(182,161,102,.5)}
.hero-intro:after{background:var(--lime)}
.coach-story{background:#fff}
.coach-story-photo img{border-radius:46% 46% 4px 4px;border-bottom:5px solid var(--lime)}
.credential-row span{background:var(--green);color:#fff}
.proof-strip{background:var(--lime);border-color:#a78f53}
.content-hub,.library-content{background:var(--cream)}
.service-card,.perspective-grid span{background:#fff}
.service-card{border-bottom-color:var(--lime)}
.service-card:nth-child(2){background:var(--green);color:#fff}
.service-card:nth-child(2) h3,.service-card:nth-child(2) .text-link{color:#fff}
.service-card:nth-child(2) strong{color:#d8c48e}
.perspective-block{background:#e8f0f6;border-left-color:var(--lime)}
.tab-button[aria-selected="true"],.category-filters button[aria-pressed="true"],.library-pagination button[aria-current="page"]{background:var(--green);color:#fff}
.inquiry-band,.site-footer,.library-heading,.library-contact{background:var(--green)}
.social-band{background:#e8f0f6}
.social-card:hover{background:#dcecf5;border-color:var(--lime)}
.library-heading{border-bottom:5px solid var(--lime)}
.library-heading p:last-child{color:#ecf1ec}
.library-stat strong{color:#d8c48e}
.library-card{background:#fff;border-bottom:3px solid var(--lime)}
.library-card-content > .embedded-meta{color:var(--muted)}
.library-card-content > .embedded-category{color:var(--green)}
.site-footer{border-top:2px solid var(--lime)}
.site-footer .brand-lockup-image{width:94px;height:94px}
.site-footer .brand-name{font-size:17px}
.site-footer small{color:#ecf1ec}
@media(max-width:1050px){.hero-compact .hero-trailer{border-left:0;border-top:1px solid rgba(182,161,102,.5)}}
@media(max-width:760px){
  .site-header{height:78px;gap:12px;padding:0 16px}
  .brand-lockup{gap:9px}
  .brand-lockup-image{width:60px;height:60px}
  .brand-name{font-size:13px;letter-spacing:.09em}
  .brand-name span{font-size:8px;letter-spacing:.07em}
  .site-header .header-cta{margin-left:auto}
  .hero-intro{min-height:0;padding-top:36px}
  .hero-crest{width:120px;margin-bottom:16px}
  .site-footer .brand-lockup-image{width:78px;height:78px}
}
@media(max-width:440px){
  .site-header{gap:8px;padding:0 12px}
  .brand-lockup-image{width:52px;height:52px}
  .brand-name{font-size:12px;letter-spacing:.06em}
  .site-header .brand-name span{display:none}
  .site-header .header-cta{font-size:10px;padding:9px 10px}
  .hero-crest{width:108px}
}

/* Allow the full coaching invitation to wrap on smaller screens. */
.site-header .header-cta{white-space:normal;max-width:260px;line-height:1.3;flex-shrink:1}
@media(max-width:760px){.site-header .header-cta{max-width:180px;min-width:0;font-size:14px}}

/* A single homepage crest with a more prominent brand name. */
.homepage .site-header{height:224px}
.homepage .site-header .brand-lockup-image{width:200px;height:200px}
.homepage .site-header .brand-name{font-size:48px;letter-spacing:.1em}
.homepage .site-header .brand-name span{font-size:26px;letter-spacing:.08em}
.homepage .hero-intro>.eyebrow{font-size:clamp(26px,2.6vw,36px);line-height:1.4;letter-spacing:.08em;margin-bottom:28px}
@media(max-width:1400px){.homepage .site-nav{display:none}.homepage .header-cta{margin-left:auto}}
@media(max-width:760px){
  .homepage .site-header{height:auto;min-height:104px;flex-wrap:wrap;padding:12px 16px;gap:12px}
  .homepage .site-header .brand-lockup-image{width:144px;height:144px}
  .homepage .site-header .brand-name{font-size:36px}
  .homepage .site-header .brand-name span{display:block;font-size:20px;white-space:normal}
  .homepage .site-header .brand-lockup{flex:1 1 270px}
  .homepage .site-header .header-cta{flex:1 1 240px;max-width:none}
}

.homepage .coach-story-photo span{font-size:14px;line-height:1.5;letter-spacing:.08em}
@media(max-width:380px){.homepage .site-header .brand-name{white-space:normal;overflow-wrap:anywhere}}

/* Readable, distinct links to coaching profiles, articles, and videos. */
.bio-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:24px;margin-top:24px;border-top:2px solid var(--lime);font-size:18px}
.bio-sources>span{grid-column:1/-1;font-size:20px;line-height:1.4;letter-spacing:.06em;margin-bottom:4px;color:var(--green)}
.bio-sources>a{display:flex;align-items:center;min-height:60px;padding:14px 18px;border:1px solid var(--green);border-radius:8px;background:var(--green);color:#fff;font-size:18px;font-weight:700;line-height:1.4;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.bio-sources>a:hover{background:var(--green-2);border-color:var(--lime)}
.bio-sources>a:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
@media(max-width:760px){.bio-sources{grid-template-columns:1fr}}

.bio-sources{align-items:start}
.bio-sources .rspa-videos{border:0;padding:0;min-width:0}
.bio-sources .rspa-videos summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:14px 18px;border:1px solid var(--green);border-radius:8px;background:var(--green);color:#fff;font-size:18px;font-weight:700;line-height:1.4;cursor:pointer}
.bio-sources .rspa-videos summary:after{content:none}
.bio-sources .rspa-videos summary:hover{background:var(--green-2);border-color:var(--lime)}
.bio-sources .rspa-videos summary:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.bio-sources .rspa-hint{font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;white-space:nowrap;color:#fff}
.bio-sources .rspa-hint:after{content:' +'}
.bio-sources .rspa-videos[open] .rspa-hint:after{content:' −'}
.rspa-video-links{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:0 0 8px 8px;background:#fff}
.rspa-video-links a{display:block;padding:12px 8px;font-size:16px;font-weight:700;line-height:1.4;color:var(--green);text-decoration:underline;text-underline-offset:4px}

@media(max-width:480px){
  .homepage .site-header .brand-lockup{flex-direction:column;width:100%;gap:10px;text-align:center}
  .homepage .site-header .brand-name{font-size:36px;white-space:normal;overflow-wrap:normal}
  .homepage .site-header .brand-name span{font-size:18px}
}

/* Court green surrounds, blue playing surfaces, and white court-line contrast. */
.site-header .button,.button.lime{color:#183344}
.brand-name span{color:#fff}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:#fff;border-color:#fff}
.hero-compact,.hero-intro{background:var(--court-blue)}
.hero-compact .hero-trailer{background:var(--blue-deep);border-color:rgba(255,255,255,.3)}
.hero-compact .hero-description,.hero-compact .trailer-footer{color:#fff}
.hero-compact .eyebrow,.hero-compact em,.inquiry-band .eyebrow,.library-heading .eyebrow{color:#fff}
.hero-compact .trailer-footer a{color:#f3dfa5}
.proof-strip{background:var(--green);color:#fff;border-color:var(--green-2)}
.proof-strip span{border-color:rgba(255,255,255,.3)}
.credential-row span{font-size:14px;letter-spacing:.035em;line-height:1.5;max-width:100%}
h3,.eyebrow,.bio-sources>span,.perspective-grid strong{color:var(--blue-deep)}
.service-card{border-bottom-color:var(--court-blue)}
.service-card:nth-child(2){background:var(--court-blue)}
.service-card:nth-child(2) strong{color:#fff}
.principle{border-top-color:var(--court-blue)}
.perspective-block{border-left-color:var(--court-blue)}
.tab-button,.category-filters button,.library-pagination button{color:var(--blue-deep)}
.tab-button[aria-selected="true"],.category-filters button[aria-pressed="true"],.library-pagination button[aria-current="page"]{background:var(--court-blue);border-color:var(--court-blue);color:#fff}
.bio-sources>a,.bio-sources .rspa-videos summary{background:var(--court-blue);border-color:var(--court-blue)}
.bio-sources>a:hover,.bio-sources .rspa-videos summary:hover{background:var(--blue-deep)}
.rspa-video-links a{color:var(--blue-deep)}
.inquiry-band,.library-heading,.dialog-head{background:var(--court-blue)}
.library-contact{background:var(--green)}
.library-stat strong{color:#fff}
.library-card{border-bottom-color:var(--court-blue)}
.library-card-content>.embedded-category{color:var(--blue-deep)}
.dialog-head p{color:#fff}
.dialog-close{border-color:#fff}
.form-field input,.form-field select,.form-field textarea,.prepared-message{border-color:#839dab}
.social-card:hover{color:var(--blue-deep);border-color:var(--court-blue)}
.site-footer{background:var(--green-2)}
:focus-visible{outline:3px solid var(--court-blue);outline-offset:3px}
.site-header :focus-visible,.hero-compact :focus-visible,.inquiry-band :focus-visible,.library-heading :focus-visible,.library-contact :focus-visible,.site-footer :focus-visible,.dialog-head :focus-visible{outline-color:#fff}

/* Preserve the full supplied portrait and shirt crest at every screen size. */
.coach-story-photo img{height:auto;max-height:none}

/* Secondary armadillo badge anchors the coaching program and footer. */
.secondary-brand-mark{display:block;width:100%;height:auto;object-fit:contain}
.hub-head{display:grid;grid-template-columns:156px minmax(0,1fr) minmax(200px,.55fr);align-items:center;gap:28px}
.program-brand{padding:10px;background:#fff;border-radius:16px;border:1px solid var(--line)}
.site-footer .footer-brand{gap:22px;min-width:0;max-width:100%}
.footer-brand .secondary-brand-mark{width:112px;height:auto;flex:none;background:#fff;padding:7px;border-radius:12px}
@media(max-width:1050px){.hub-head{grid-template-columns:130px minmax(0,1fr)}.hub-head>p{grid-column:1/-1;max-width:650px;margin:0}}
@media(max-width:760px){.hub-head{grid-template-columns:1fr;gap:22px}.program-brand{width:140px}.hub-head>p{grid-column:auto}.site-footer .footer-brand{gap:16px}.footer-brand .secondary-brand-mark{width:90px}.site-footer .brand-name{white-space:normal}}

/* Guidance and travel coaching match the small-group court-blue card. */
.service-card:nth-child(3),.service-card:nth-child(6){background:var(--court-blue);color:#fff}
.service-card:nth-child(3) h3,.service-card:nth-child(3) strong,.service-card:nth-child(3) .text-link,
.service-card:nth-child(6) h3,.service-card:nth-child(6) strong,.service-card:nth-child(6) .text-link{color:#fff}
