/*
Theme Name: Graeme Fordyce — Practice
Description: An editorial, block-based site for design and product leadership, with Work, About, and Contact.
Version: 2.6.0
Requires at least: 6.6
Requires PHP: 7.4
Author: Graeme Fordyce
License: GPL-2.0-or-later
Text Domain: graeme-fordyce-practice
*/

:root{--gf-ink:#15191f;--gf-muted:#515b68;--gf-blue:#5573b4;--gf-line:#cbd2dc;--gf-soft:#fafbfc;--gf-paper:#fff;--gf-serif:Georgia,'Times New Roman',serif;--gf-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--gf-paper);color:var(--gf-ink);font-family:var(--gf-sans);font-size:1.0625rem;line-height:1.65}
a{color:var(--gf-blue);text-underline-offset:.24em;text-decoration-thickness:.08em}
a:hover{text-decoration-thickness:.15em}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--gf-blue);outline-offset:5px}
img{max-width:100%;height:auto}
p{margin:0 0 1.2em}
h1,h2,h3,h4{font-family:var(--gf-serif);font-weight:400;letter-spacing:-.025em;line-height:1.12;text-wrap:balance}
h1{font-size:clamp(1.95rem,3.35vw,3.15rem);margin:0 0 .62em}
h2{font-size:clamp(1.55rem,2.65vw,2.2rem);margin:1.5em 0 .65em}
h3{font-size:1.45rem;margin:1.25em 0 .65em}
.gf-shell{width:min(1180px,calc(100% - 80px));margin-inline:auto}
.gf-header{padding-block:28px 24px;border-bottom:1px solid var(--gf-line);display:flex;justify-content:space-between;align-items:center;gap:24px}
.gf-brand-lockup{display:flex;align-items:center;gap:16px;min-width:300px}
.gf-brand{min-width:0}
.gf-logomark,.gf-logo-fallback,.gf-logo-preview{flex:0 0 64px;margin:0}
.gf-logomark img,.gf-logo-fallback img{display:block;width:64px!important;height:64px!important;border-radius:50%;object-fit:cover}
.gf-logo-preview{display:block;width:64px;height:64px;border-radius:50%;overflow:hidden;text-decoration:none}
.gf-logo-preview img{display:block;width:100%;height:100%;object-fit:cover}
.gf-brand-name{margin:0;font-family:var(--gf-serif);font-size:1.7rem;letter-spacing:-.035em;line-height:1.1}
.gf-brand-name a{color:var(--gf-ink);text-decoration:none}
.gf-brand-role{color:var(--gf-muted);font-size:.875rem;margin:.5rem 0 0}
.gf-nav,.gf-header .wp-block-navigation__container{display:flex;list-style:none;gap:26px;align-items:center;flex-wrap:wrap;margin:0;padding:0;font-size:1rem}
.gf-nav a,.gf-header .wp-block-navigation a{color:var(--gf-ink);text-decoration:none;padding:.45rem 0}
.gf-nav a:hover,.gf-header .wp-block-navigation a:hover{color:var(--gf-blue)}
.gf-nav [aria-current=page],.gf-header .current-menu-item>a{color:var(--gf-blue);text-decoration:underline;text-underline-offset:.5em}
.gf-kicker{font:500 .875rem/1.5 var(--gf-sans);color:var(--gf-blue);letter-spacing:.055em;margin:0 0 1.35rem}
.gf-home-hero{padding-block:64px 68px;display:grid;grid-template-columns:minmax(0,2.5fr) minmax(230px,1fr);gap:76px}
.gf-hero-title{font-size:clamp(2.1rem,3.65vw,3.25rem);max-width:21ch;line-height:1.12}
.gf-hero-main p:not(.gf-kicker){max-width:65ch}
.gf-lede{font-size:1.25rem;line-height:1.6}
.gf-hero-index{padding-top:20px;border-top:3px solid var(--gf-blue);align-self:start;margin-top:3rem}
.gf-hero-index h2{font-size:1.5rem;line-height:1.2;margin:0 0 1rem}
.gf-hero-index h2 a{color:var(--gf-ink);text-decoration:none}
.gf-hero-index h2 a:hover{color:var(--gf-blue)}
.gf-hero-index p{font-size:.94rem;line-height:1.5}
.gf-index-entry{border-top:1px solid var(--gf-line);padding-block:1rem}
.gf-index-entry p{margin:.2rem 0;font-size:.94rem;line-height:1.5}
.gf-index-entry a{font-family:var(--gf-serif);font-size:1.45rem;text-decoration:none}
.gf-actions{display:flex;align-items:baseline;gap:28px;flex-wrap:wrap;margin-top:1.8rem}
.gf-actions>p{margin:0!important}
.gf-actions a{display:inline-block;color:var(--gf-ink);font-weight:600;border:1px solid var(--gf-blue);text-decoration:none;padding:.6rem .6rem;border-radius:.6rem;transition: background-color .15s ease, color .15s ease,
              transform .1s ease;}
.gf-actions a:hover {
  background-color: var(--gf-blue);
  color: #fff;
}
.gf-actions a:active {
  background-color: var(--gf-blue);
  color: #fff;
  box-shadow: inset 0 0 0 100px rgb(0 0 0 / 15%);
  transform: translateY(1px);
}
/* Visible focus for keyboard navigation */
.gf-actions a:focus-visible {
  outline: 2px solid var(--gf-blue);
  outline-offset: 3px;
}

.gf-section{padding-block:45px 54px;border-top:1px solid var(--gf-line)}
.gf-section>h2{margin-top:0}
.gf-section .gf-kicker{margin-bottom:.9rem}
.gf-section p{max-width:73ch}
.gf-work-row{display:grid;grid-template-columns:62px minmax(0,1.1fr) minmax(0,1fr);gap:30px;padding:32px 0;border-top:1px solid var(--gf-line);align-items:start}
.gf-work-row h3{margin:0 0 .7rem;font-size:1.65rem}
.gf-work-row h3 a{color:var(--gf-ink);text-decoration:none}
.gf-work-row h3 a:hover{color:var(--gf-blue)}
.gf-work-number{font-family:var(--gf-serif);font-size:1.9rem;line-height:1.1;color:var(--gf-blue);margin:0}
.gf-work-group{padding-block:38px 42px}
.gf-work-group>h2{margin:0 0 1.2rem}
.gf-work-period{font-size:.9rem;color:var(--gf-blue);margin:0 0 .3rem}
.gf-work-meta{font-size:.9rem;color:var(--gf-muted);margin:.6rem 0}
.gf-work-description p{margin:0 0 1rem}
.gf-current{border-left:4px solid var(--gf-blue);padding-left:32px}
.gf-current h2{margin-top:0}
.gf-perspective{background:var(--gf-soft);padding:44px;margin-block:30px 60px}
.gf-perspective h2{margin-top:0}
.gf-invitation{padding:30px 0 60px;max-width:73ch;font-size:1.2rem}
.gf-invitation p{margin-bottom:1rem}
.gf-page,.gf-account{padding-block:56px 70px}
.gf-page-title{max-width:27ch;font-size:clamp(1.95rem,3.35vw,3.15rem);line-height:1.14}
.gf-page .wp-block-post-content>p,.gf-page .gf-reading{max-width:73ch}
.gf-page .wp-block-post-content>h2{max-width:32ch}
.gf-profile-photo{width:clamp(180px,20vw,208px);margin:.3rem 0 2.4rem}
.gf-profile-photo img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:32px;object-fit:cover}
.gf-account{max-width:850px;margin-inline:auto}
.gf-account .wp-block-post-content{max-width:76ch}
.gf-account h1{max-width:24ch}
.gf-standfirst{color:var(--gf-muted);font-size:1rem;line-height:1.6;padding-bottom:28px;border-bottom:1px solid var(--gf-line);margin-bottom:2rem}
.gf-question{background:var(--gf-soft);padding:28px 32px;margin-top:32px;border-left:4px solid var(--gf-blue)}
.gf-question h2{font:500 .875rem/1.4 var(--gf-sans);color:var(--gf-blue);margin:0 0 1rem;letter-spacing:.045em}
.gf-question p{font-family:var(--gf-serif);font-size:1.65rem;line-height:1.3;margin:0}
.gf-evidence{margin-top:2.5rem;padding-top:1rem;border-top:3px solid var(--gf-blue)}
.gf-evidence h2{font-size:1.7rem;margin-top:.6rem}
.wp-block-table{margin:1.5rem 0 2rem;overflow-x:auto;max-width:100%}
.wp-block-table table{border-collapse:collapse;width:100%;font-size:.98rem;line-height:1.6}
.wp-block-table td,.wp-block-table th{border:0;border-bottom:1px solid var(--gf-line);text-align:left;vertical-align:top;padding:14px 16px}
.wp-block-table th{font-weight:600;background:var(--gf-soft)}
.wp-block-table td:first-child{font-weight:600;width:29%}
.wp-block-table .has-fixed-layout{table-layout:auto}
.gf-disclosure{font-size:.875rem;color:var(--gf-muted);border-top:1px solid var(--gf-line);padding-top:22px;margin-top:40px}
.gf-backlink{margin-top:36px}
.gf-case-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:824px;margin:2.25rem 0 3rem}
.gf-case-gallery-wide{display:block!important;max-width:800px}
.gf-case-figure{margin:0;max-width:100%}
.gf-case-gallery-wide .gf-case-figure{margin-bottom:2rem}
.gf-case-figure img{display:block;width:100%;height:auto;border:1px solid var(--gf-line);border-radius:8px}
.gf-case-figure figcaption{font:400 .875rem/1.5 var(--gf-sans);color:var(--gf-muted);margin-top:.7rem}
.gf-quantic-gallery{display:block!important;max-width:824px}
.gf-quantic-gallery .gf-case-figure + .gf-case-figure{max-width:620px;margin-top:1.75rem}
.gf-case-image-crop{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--gf-line);border-radius:8px}
.gf-case-image-crop img{position:absolute;max-width:none;width:112%;height:auto;top:-10%;left:-3.4%;border:0;border-radius:0}
.gf-case-image-crop:focus-visible{outline:3px solid var(--gf-blue);outline-offset:4px}
.gf-supporting{margin-top:40px;padding-top:26px;border-top:1px solid var(--gf-line)}
.gf-supporting h2{margin-top:0}
.gf-supporting .wp-block-details{border-top:1px solid var(--gf-line);padding:18px 0}
.gf-supporting summary{font-family:var(--gf-serif);font-size:1.6rem;cursor:pointer;line-height:1.3}
.gf-supporting details p{margin:18px 0 5px;max-width:70ch}
.gf-page .wp-block-gallery{margin-block:40px;gap:30px}
.gf-page .wp-block-gallery img{object-fit:contain!important}
.gf-page .wp-block-gallery figcaption{position:static!important;background:none!important;color:var(--gf-muted)!important;font:400 .9375rem/1.5 var(--gf-sans)!important}
.gf-footer{border-top:1px solid var(--gf-line);padding-block:28px 34px;display:flex;justify-content:space-between;align-items:start;gap:30px;color:var(--gf-muted);font-size:.875rem}
.gf-footer p{margin:0}
.gf-footer a{color:var(--gf-muted)}
.gf-footer-links{display:flex;gap:24px;flex-wrap:wrap}
.gf-skip-link{position:absolute;left:16px;top:-90px;padding:12px 18px;background:var(--gf-ink);color:#fff;z-index:100;text-decoration:none}
.gf-skip-link:focus{top:12px}
.editor-styles-wrapper{font-family:var(--gf-sans);font-size:1.0625rem;line-height:1.65;color:var(--gf-ink)}
@media(max-width:900px){.gf-shell{width:calc(100% - 48px)}.gf-home-hero{grid-template-columns:1fr;gap:24px;padding-block:46px}.gf-hero-index{margin-top:0}.gf-work-row{grid-template-columns:48px minmax(0,1fr);gap:20px}.gf-work-description{grid-column:2}.gf-account{max-width:100%}}
@media(max-width:600px){.gf-shell{width:calc(100% - 36px)}.gf-header{display:block;padding-block:24px 18px}.gf-brand-lockup{min-width:0;gap:14px}.gf-logomark,.gf-logo-fallback,.gf-logo-preview{flex-basis:56px}.gf-logomark img,.gf-logo-fallback img,.gf-logo-preview{width:56px!important;height:56px!important}.gf-nav,.gf-header .wp-block-navigation__container{gap:22px;margin-top:20px}.gf-header .wp-block-navigation{margin-top:20px}.gf-header .wp-block-navigation__container{margin-top:0}.gf-brand-name{font-size:1.5rem}.gf-brand-role{font-size:.78rem}.gf-lede{font-size:1.12rem}.gf-hero-title{font-size:clamp(2.05rem,7vw,2.75rem)}.gf-home-hero{padding-block:34px}.gf-section{padding-block:28px 36px}.gf-work-row{grid-template-columns:32px minmax(0,1fr);gap:16px;padding-block:26px}.gf-work-row h3{font-size:1.5rem}.gf-work-number{font-size:1.6rem}.gf-work-description{grid-column:2}.gf-page,.gf-account{padding-block:36px 48px}.gf-question{padding:23px 20px}.gf-question p{font-size:1.4rem}.gf-case-gallery{grid-template-columns:1fr;gap:22px}.gf-footer{display:block}.gf-footer-links{margin-top:20px}.gf-actions{gap:22px}.gf-invitation{font-size:1.1rem;padding-bottom:38px}.gf-profile-photo{width:180px;margin-bottom:2rem}}
/* Read the site's two-column tables as labeled rows on phones. Preserve the header for assistive technology. */
@media(max-width:600px){
  .wp-block-table{overflow-x:visible}
  .wp-block-table table,.wp-block-table tbody,.wp-block-table tr,.wp-block-table td{display:block;width:100%}
  .wp-block-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .wp-block-table tbody tr{border-top:1px solid var(--gf-line);padding:14px 0 18px}
  .wp-block-table tbody tr:last-child{border-bottom:1px solid var(--gf-line)}
  .wp-block-table tbody td{border:0;padding:0;font-size:.98rem;overflow-wrap:normal;word-break:normal;hyphens:none}
  .wp-block-table tbody td:first-child{width:100%;margin-bottom:.35rem;font-weight:600}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.gf-nav,.wp-block-navigation,.gf-actions,.gf-footer,.gf-backlink{display:none}.gf-shell{width:100%}.gf-home-hero{display:block}.gf-hero-index{display:none}a{color:inherit}.gf-page,.gf-account{padding-block:20px}.gf-question{background:none;border:1px solid #aaa}.gf-header{padding-block:10px}}

/* Remove the extra divider without changing spacing. */
.gf-home-metrics.gf-home-metrics-native {
  border-bottom: 0 !important;
}