/* AI for Good layer — loaded after the Data Angler-derived visual system.
   Brand, three-up outcomes, case studies, FAQ, privacy and the consultation scheduler. */
:root{--afg-navy:#102532;--afg-gold:#c69a5b;--afg-gold-ink:#86601f;--afg-clay:#e5bf91;--afg-sand:#ece5d9;--afg-card:#fffdf8}

/* Brand wordmark */
.afg-brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--serif);font-size:26px;font-weight:700;letter-spacing:-.6px;color:var(--afg-navy)}
.afg-brand em{font-style:italic;font-weight:400;color:var(--afg-gold-ink)}
.afg-brand .afg-mark{width:34px;height:34px;flex:none}
.afg-brand>span:last-child:after{content:'.';color:var(--afg-gold)}
.footer-brand{font-size:30px}.footer-brand .afg-mark{width:40px;height:40px}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:14px}
.footer-links [aria-current=page]{text-decoration:underline;text-underline-offset:6px}

/* Home: three outcome cards instead of five */
.lp-strip--three{grid-template-columns:repeat(3,1fr);max-width:1180px}
.lp-quotes{margin:26px 0 30px}
.lp-quotes li{font-family:var(--serif);font-size:clamp(19px,1.6vw,23px);line-height:1.35}
.lp-quotes a:hover{color:var(--afg-gold-ink)}
.lp-work-grid--four{grid-template-columns:repeat(2,1fr)}
.lp-work-media.is-shot img{object-fit:cover;object-position:top left}

/* Work: case studies */
.cases{padding:110px 0 120px}
.case{display:grid;grid-template-columns:1.05fr 1fr;gap:6%;align-items:center;margin-top:90px;scroll-margin-top:110px}
.case--flip .case-media{order:2}
.case-media{margin:0;border-radius:4px;overflow:hidden;box-shadow:0 30px 60px -35px rgba(16,37,50,.55);background:var(--afg-navy)}
.case-media img{aspect-ratio:4/3;object-fit:cover;width:100%}
.case-media.is-shot img{object-position:top left}
.case-copy h3{font-family:var(--serif);font-size:clamp(30px,3vw,44px);line-height:1.08;letter-spacing:-.03em;margin-top:12px}
.case-status{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--afg-gold-ink);margin-top:14px;font-weight:600}
.case-lesson{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.4;margin:22px 0 6px;padding-left:18px;border-left:2px solid var(--afg-gold)}
.case-copy h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin:24px 0 6px;color:#3f6a72}
.case-copy>p{color:#42535b}
.case-copy details{margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.case-copy summary{cursor:pointer;font-weight:600;font-size:14px}
.case-copy details p{font-size:14px;color:var(--muted);margin-top:10px}

/* FAQ and privacy */
.section{padding-top:100px;padding-bottom:100px}
.faq h2{margin:8px 0 34px}
.faq details{border-top:1px solid var(--line);padding:22px 0;max-width:900px}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:23px;letter-spacing:-.01em}
.faq details p{margin-top:12px;color:var(--muted);max-width:720px}
.privacy-content{max-width:880px}
.privacy-content h2{font-size:clamp(26px,2.4vw,34px);margin:44px 0 14px}
.privacy-content h2:first-child{margin-top:0}
.privacy-content p{color:#42535b}
.privacy-content a{text-decoration:underline;text-underline-offset:4px}

/* Consultation scheduler, in the Data Angler palette */
.booking-panel{padding:100px 0 30px}
.booking-panel .scheduler{width:calc(100% - 11%);max-width:1300px;margin:0 auto;padding:0}
.scheduler{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--afg-card);border:1px solid #e2dccf;border-radius:14px;overflow:hidden;box-shadow:0 40px 80px -50px rgba(16,37,50,.45)}
.appointment-summary{background:var(--afg-navy);color:#f6f1e7;padding:48px 40px}
.appointment-summary .eyebrow{color:var(--afg-clay);font-size:11px;letter-spacing:.16em}
.appointment-summary h2{font-family:var(--serif);font-size:clamp(30px,2.7vw,40px);line-height:1.1;margin:16px 0 22px;color:#fff}
.appointment-summary>p{font-size:15px;color:#d1dcdf}
.appointment-summary a{color:var(--afg-clay);text-decoration:underline;text-underline-offset:4px}
.appointment-facts{list-style:none;margin:30px 0;padding:22px 0;border-top:1px solid rgba(229,191,145,.35);border-bottom:1px solid rgba(229,191,145,.35);font-size:14px}
.appointment-facts li+li{margin-top:10px}
.appointment-facts strong{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--afg-clay)}
.booking-small{font-size:12px!important;color:var(--muted);line-height:1.6;margin-top:20px}
.appointment-summary .booking-small{color:#b9cacc}
.scheduler-main{padding:40px 44px;min-width:0}
.booking-message{padding:14px 18px;border-left:3px solid var(--afg-gold);background:#f4efe4;margin-bottom:26px;font-size:14px}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:15px}
.calendar-heading h3{font-family:var(--serif);font-size:26px;letter-spacing:-.02em}
.calendar-heading button{background:transparent;border:1px solid rgba(16,37,50,.25);border-radius:999px;width:40px;height:40px;color:var(--ink);cursor:pointer}
.calendar-heading button:hover:not(:disabled){border-color:var(--afg-navy)}
.calendar-heading button:disabled{opacity:.3;cursor:default}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.calendar-weekdays span{text-align:center;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:8px 0}
.calendar-days button{height:46px;border:1px solid #d9cdb7;background:#f6f1e7;border-radius:8px;color:var(--ink);cursor:pointer;font:inherit;font-weight:600}
.calendar-days button:hover:not(:disabled){border-color:var(--afg-gold)}
.calendar-days button:disabled{background:transparent;border-color:transparent;color:#a4a9a5;font-weight:400;cursor:default}
.calendar-days button[aria-pressed=true],.booking-times button[aria-pressed=true]{background:var(--afg-navy);color:#fff;border-color:var(--afg-navy)}
.timezone-label{display:block;font-size:12px;margin:24px 0 6px;font-weight:600}
#booking-timezone{width:100%;padding:12px;background:#f6f1e7;color:var(--ink);border:1px solid #d9cdb7;border-radius:8px;font:inherit;font-size:14px}
.time-picker{border-top:1px solid var(--line);padding-top:24px;margin-top:28px}
.time-picker h3,#booking-form h3,#booking-confirmation h3{font-family:var(--serif);font-size:24px;margin-bottom:12px}
.time-picker p{font-size:13px;color:var(--muted)}
.booking-times{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.booking-times button{font:inherit;font-size:14px;padding:12px 8px;background:transparent;border:1px solid rgba(16,37,50,.3);border-radius:999px;color:var(--ink);cursor:pointer}
.booking-times button:hover:not([aria-pressed=true]){border-color:var(--afg-gold);color:var(--afg-gold-ink)}
#booking-form{margin-top:30px;border-top:1px solid var(--line);padding-top:27px}
#booking-form label:not(.booking-consent){display:block;font-size:14px;font-weight:600;margin:18px 0 6px}
#booking-form label:not(.booking-consent) span{font-size:12px;font-weight:400;color:var(--muted)}
#booking-form input:not([type=checkbox]),#booking-form textarea{width:100%;padding:13px;border:1px solid #d9cdb7;border-radius:8px;background:#f6f1e7;color:var(--ink);font:inherit;font-size:15px}
#booking-form input:focus,#booking-form textarea:focus,#booking-timezone:focus{outline:2px solid var(--afg-gold);outline-offset:1px}
#booking-form .booking-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:400;line-height:1.6;margin:22px 0}
#booking-form input[type=checkbox]{flex-shrink:0;margin-top:5px;width:17px;height:17px;accent-color:var(--afg-navy)}
#confirm-booking{cursor:pointer;background:var(--afg-navy);color:#f6f1e7;border-color:var(--afg-navy)}
#confirm-booking:hover{background:#1c3a4c}
#confirm-booking:disabled{opacity:.6;cursor:wait}
.selected-time{font-size:14px;padding:12px 15px;background:#f4efe4;border-left:3px solid var(--afg-gold)}
.booking-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#booking-confirmation{margin-top:30px;padding:25px;background:#f4efe4;border-left:3px solid var(--afg-gold)}
#booking-confirmation p{font-size:14px}
#booking-form[hidden],#booking-confirmation[hidden]{display:none}

a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--afg-gold);outline-offset:4px}

@media(max-width:1000px){.case,.case--flip{grid-template-columns:1fr;gap:30px}.case--flip .case-media{order:0}.scheduler{grid-template-columns:1fr}.appointment-facts{display:flex;flex-wrap:wrap;gap:15px 26px;margin:22px 0}.appointment-facts li+li{margin:0}}
@media(max-width:760px){.lp-strip--three,.lp-work-grid--four{grid-template-columns:1fr}.afg-brand{font-size:22px}.afg-brand .afg-mark{width:28px;height:28px}.cases{padding:70px 0 80px}.case{margin-top:60px}.section{padding-top:70px;padding-bottom:70px}.booking-panel{padding:60px 0 10px}.booking-panel .scheduler{width:calc(100% - 32px)}.appointment-summary{padding:30px 22px}.scheduler-main{padding:26px 18px}.calendar-weekdays,.calendar-days{gap:4px}.calendar-days button{height:42px;font-size:14px}.booking-times{grid-template-columns:1fr}.appointment-facts{display:block}.appointment-facts li+li{margin-top:7px}.footer-links{gap:10px 20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(scripting:none){[data-reveal]{opacity:1!important;transform:none!important}}
.founder-links{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:26px}
.wrap.section{padding-left:5.5%;padding-right:5.5%}
.cx-scrolly{overflow-x:clip}
