/*
Theme Name: Tyler A Walters — Portfolio 2026 v.30
Theme URI: https://example.com
Author: Tyler A Walters
Description: Editorial portfolio theme (Source Serif 4). Custom post types for Projects, Essays, and Principles, driven by ACF Pro field groups registered in code. Classic PHP theme.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tyler-walters
*/

/* ============================================================
   Design tokens
   ============================================================ */
:root{
	--surface-page:#F7F3EF;
	--text-primary:#3A3A38;
	--text-secondary:#716F6D;
	--text-decorative:#345284;
	--text-link:#345284;
	--border-primary:#716F6D;
	--border-secondary:#ABA9A5;
	--border-tertiary:#E3E1DC;
	--border-decorative:#345284;
	--nav-bg:#716F6D;
	--nav-selected-text:#F7F3EF;
	--hero-text:#345284;
	--btn-border:#345284;
	--btn-bg:#F7F3EF;
	--btn-text:#345284;
	--btn-hover-bg:#716F6D;
	--btn-hover-text:#F7F3EF;
	--btn-active-bg:#3A3A38;
	--btn-active-text:#F7F3EF;
	--radius:8px;
	--bw:1px;
	--gutter:24px;
	--margin:24px;
	--maxw:1536px;
	--shadow-rest:0px 1px 3px 0px rgba(0,0,0,.12),0px 1px 1px 0px rgba(0,0,0,.14),0px 2px 1px 0px rgba(0,0,0,.20);
	--shadow-hover:0px 1px 10px 0px rgba(0,0,0,.12),0px 4px 5px 0px rgba(0,0,0,.14),0px 2px 4px 0px rgba(0,0,0,.20);
	--shadow-active:inset 0px 1px 3px 0px rgba(0,0,0,.12),inset 0px 1px 1px 0px rgba(0,0,0,.14),inset 0px 2px 1px 0px rgba(0,0,0,.20);
	--font:"Source Serif 4", Georgia, "Times New Roman", serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{
	background:var(--surface-page);
	color:var(--text-primary);
	font-family:var(--font);
	font-weight:400;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}
a{color:var(--text-link);}

/* ============================================================
   Full-bleed bands + grid
   ============================================================ */
.band{width:100%;}
.band__pad{max-width:var(--maxw);margin:0 auto;padding:0 var(--margin);}
.grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);max-width:var(--maxw);margin:0 auto;padding:0 var(--margin);}
.col-home{grid-column:1 / 13;}
.col-wide{grid-column:1 / 13;}
.col-read{grid-column:1 / 13;}

/* ============================================================
   Site header (brand left, nav right) — WP menu output
   ============================================================ */
.site-header{padding:36px 0 20px;border-bottom:var(--bw) solid var(--border-tertiary);}
.site-header__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;}
.brand{display:inline-flex;flex-direction:column;gap:6px;text-decoration:none;flex-shrink:0;}
.brand__name{font-weight:300;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);font-size:24px;line-height:1.1;white-space:nowrap;}
.brand__role{font-style:italic;font-weight:400;font-size:17px;line-height:1.2;color:var(--text-secondary);letter-spacing:.01em;}

.nav__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:26px;align-items:baseline;}
.nav__list li{margin:0;}
.nav__list a{font-family:var(--font);font-size:14px;font-weight:400;line-height:20px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);text-decoration:none;cursor:pointer;padding:3px 0;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;display:inline-block;}
.nav__list a:hover{color:var(--text-link);}
.nav__list .current-menu-item > a,
.nav__list .current_page_item > a,
.nav__list .current-menu-parent > a,
.nav__list a[aria-current]{color:var(--text-link);border-bottom-color:var(--text-link);}

/* ============================================================
   Buttons
   ============================================================ */
.btn{font-family:var(--font);font-size:16px;font-weight:400;line-height:24px;padding:11px 24px;border:var(--bw) solid var(--btn-border);border-radius:var(--radius);background:var(--btn-bg);color:var(--btn-text);text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .15s ease,color .15s ease;}
.btn:hover{background:var(--btn-hover-bg);color:var(--btn-hover-text);border-color:var(--btn-hover-bg);}
.btn:active{background:var(--btn-active-bg);color:var(--btn-active-text);border-color:var(--btn-active-bg);}

/* ============================================================
   Home — hero + selected work
   ============================================================ */
.hero{padding:48px 0 8px;}
.hero__primary{margin:0;color:var(--hero-text);font-weight:600;font-size:34px;line-height:48px;letter-spacing:-.005em;text-wrap:balance;text-shadow:0 1px 0 #FFF;}
.hero__primary > *{margin:0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;letter-spacing:inherit;}
.hero__primary .em{font-style:italic;}
.hero__primary em,.hero__secondary em{font-style:italic;}
.hero__secondary{margin:24px 0 0;color:var(--text-primary);font-weight:400;font-size:21px;line-height:32px;max-width:46ch;}
.hero__secondary > *{margin:0 0 1em;font-size:inherit;line-height:inherit;color:inherit;}
.hero__secondary > *:last-child{margin-bottom:0;}
.hero__secondary > *:empty{display:none;}
.hero__secondary .em{font-style:italic;}

.work{padding:48px 0 72px;}
.eyebrow{margin:0 0 24px;font-size:13px;line-height:16px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);display:flex;align-items:baseline;justify-content:space-between;gap:16px;}
.eyebrow span{color:var(--border-secondary);letter-spacing:.04em;}
.work__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:48px 24px;}
.project{display:block;text-decoration:none;color:inherit;}
.project__media{display:block;width:100%;aspect-ratio:3 / 2;border-radius:var(--radius);overflow:hidden;border:var(--bw) solid var(--border-tertiary);background:var(--border-tertiary);box-shadow:var(--shadow-rest);transition:box-shadow .18s ease,transform .18s ease;}
.project__media img{width:100%;height:100%;object-fit:cover;}
.project:hover .project__media{box-shadow:var(--shadow-hover);transform:translateY(-2px);}
.project:active .project__media{box-shadow:var(--shadow-active);transform:translateY(0);}
.project__name{margin:16px 0 0;font-size:21px;line-height:32px;font-weight:400;color:var(--text-primary);}
.project:hover .project__name{color:var(--text-link);}
.project__meta{margin:0;font-size:16px;line-height:24px;font-weight:400;color:var(--text-secondary);}

/* ============================================================
   Footer
   ============================================================ */
.foot{padding:32px 0 64px;border-top:var(--bw) solid var(--border-tertiary);display:flex;flex-wrap:wrap;gap:16px;align-items:baseline;justify-content:space-between;}
.foot__name{font-size:16px;line-height:24px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;}
.foot__link{font-size:16px;line-height:24px;color:var(--text-link);text-decoration:underline;text-underline-offset:3px;}

/* ============================================================
   Back link (case / principle)
   ============================================================ */
.back{padding:32px 0 0;}
.back a{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:8px;transition:color .15s ease;}
.back a:hover{color:var(--text-link);}

/* ============================================================
   Case study (single-project)
   ============================================================ */
.case-head{padding:32px 0 8px;}
.case-head__title{margin:0;color:var(--hero-text);font-weight:600;font-size:48px;line-height:60px;letter-spacing:-.005em;text-shadow:0 1px 0 #FFF;}
.case-head__tag{margin:16px 0 0;font-size:21px;line-height:32px;color:var(--text-primary);max-width:46ch;}
.case-head__tag .em{font-style:italic;}

.meta{padding:40px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:24px 24px;border-top:var(--bw) solid var(--border-tertiary);margin-top:40px;}
.meta__item dt{margin:0;font-size:13px;line-height:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);}
.meta__item dd{margin:8px 0 0;font-size:18px;line-height:28px;color:var(--text-primary);}

.lead{padding:48px 0 0;}
.lead__media{display:block;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius);overflow:hidden;border:var(--bw) solid var(--border-tertiary);background:var(--border-tertiary);box-shadow:var(--shadow-rest);}
.lead__media img{width:100%;height:100%;object-fit:cover;}

.section{padding:64px 0 0;}
.section__eyebrow{margin:0 0 16px;font-size:13px;line-height:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);}
.section__head{margin:0 0 20px;font-weight:400;font-size:30px;line-height:40px;color:var(--text-primary);letter-spacing:-.005em;text-wrap:balance;}

/* Prose: works for a single .prose <p> OR a WYSIWYG container of <p>s */
.prose{font-size:19px;line-height:32px;color:var(--text-primary);max-width:62ch;}
.prose,.prose > :first-child{margin-top:0;}
.prose > p{margin:0 0 20px;}
.prose > p:last-child{margin-bottom:0;}
.prose a{text-decoration:underline;text-underline-offset:3px;}

.figure{padding:40px 0 0;}
.figure__media{display:block;width:100%;aspect-ratio:3 / 2;border-radius:var(--radius);overflow:hidden;border:var(--bw) solid var(--border-tertiary);background:var(--border-tertiary);box-shadow:var(--shadow-rest);}
.figure__media img{width:100%;height:100%;object-fit:cover;}
/* Full-width figure: no fixed ratio — width fills the column, height follows the image. */
.figure__media--free{aspect-ratio:auto;line-height:0;background:transparent;}
.figure__media--free img{width:100%;height:auto;object-fit:fill;}
/* Text-width figure: capped to the PROSE measure (matches body text), height follows the image. */
.figure:has(.figure__media--tall){max-width:62ch;font-size:19px;}
.figure__media--tall{aspect-ratio:auto;line-height:0;background:transparent;border:0;box-shadow:none;overflow:visible;}
.figure__media--tall img{width:100%;height:auto;display:block;border-radius:var(--radius);border:var(--bw) solid var(--border-tertiary);}
/* Self-hosted video: prose-width, height follows the video's aspect ratio. */
.figure:has(.figure__media--video){max-width:62ch;font-size:19px;}
.figure__media--video{aspect-ratio:auto;line-height:0;background:#1A1A19;border-radius:var(--radius);overflow:hidden;border:var(--bw) solid var(--border-tertiary);box-shadow:var(--shadow-figure,none);}
.figure__media--video video{display:block;width:100%;height:auto;}
.figure__cap{margin:12px 0 0;font-size:15px;line-height:24px;color:var(--text-secondary);font-style:italic;}
.figure-pair{padding:40px 0 0;display:grid;grid-template-columns:1fr;gap:24px;}
.figure-trio{padding:40px 0 0;display:grid;grid-template-columns:1fr;gap:24px;}

.outcome{padding:48px 0 0;display:grid;grid-template-columns:1fr;gap:32px 24px;border-top:var(--bw) solid var(--border-tertiary);margin-top:64px;padding-top:48px;}
.stat__num{margin:0;font-weight:300;font-size:56px;line-height:64px;color:var(--hero-text);letter-spacing:-.01em;}
.stat__label{margin:8px 0 0;font-size:17px;line-height:26px;color:var(--text-secondary);max-width:34ch;}

.pull{padding:64px 0 0;}
.pull__q{margin:0;font-weight:300;font-style:italic;font-size:30px;line-height:44px;color:var(--text-primary);max-width:30ch;border-left:2px solid var(--border-decorative);padding-left:24px;}
.pull__by{margin:20px 0 0 26px;font-size:16px;line-height:24px;color:var(--text-secondary);}

.next{padding:72px 0 0;margin-top:72px;border-top:var(--bw) solid var(--border-tertiary);padding-top:48px;}
.next__label{margin:0 0 8px;font-size:13px;line-height:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);}
.next__link{font-size:30px;line-height:40px;color:var(--text-link);text-decoration:none;font-weight:400;}
.next__link:hover{text-decoration:underline;text-underline-offset:4px;}

.case-foot{padding:48px 0 64px;margin-top:48px;border-top:var(--bw) solid var(--border-tertiary);padding-top:32px;display:flex;flex-wrap:wrap;gap:16px;align-items:baseline;justify-content:space-between;}

/* ---------- NDA / password lock ---------- */
.lock{padding:48px 0 0;}
.lock__panel{border:var(--bw) solid var(--border-secondary);border-radius:var(--radius);padding:32px;background:rgba(113,111,109,.05);}
.lock__eyebrow{margin:0 0 12px;font-size:13px;line-height:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);}
.lock__h{margin:0 0 8px;font-weight:400;font-size:24px;line-height:32px;color:var(--text-primary);}
.lock__p{margin:0;font-size:17px;line-height:28px;color:var(--text-secondary);max-width:52ch;}
.lock__form{margin:24px 0 0;display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.lock__srlabel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}
.lock__input{font-family:var(--font);font-size:16px;line-height:24px;padding:10px 14px;border:var(--bw) solid var(--border-secondary);border-radius:var(--radius);background:var(--surface-page);color:var(--text-primary);min-width:220px;}
.lock__input:focus{outline:none;border-color:var(--border-decorative);box-shadow:0 0 0 2px rgba(71,112,179,.18);}

/* ============================================================
   Writing (archive + intro)
   ============================================================ */
.intro{padding:56px 0 8px;}
.intro__title{margin:0;color:var(--hero-text);font-weight:600;font-size:44px;line-height:56px;letter-spacing:-.005em;text-shadow:0 1px 0 #FFF;}
.intro__lede{margin:20px 0 0;font-size:21px;line-height:32px;color:var(--text-primary);max-width:52ch;}
.intro__lede .em{font-style:italic;}

.posts{padding:48px 0 72px;list-style:none;margin:0;}
.post{display:block;text-decoration:none;color:inherit;padding:32px 0;border-top:var(--bw) solid var(--border-tertiary);}
.post:last-child{border-bottom:var(--bw) solid var(--border-tertiary);}
.post--has-media{display:grid;grid-template-columns:1fr;gap:20px;align-items:start;}
.post__media{display:block;width:100%;aspect-ratio:3 / 2;border-radius:var(--radius);overflow:hidden;border:var(--bw) solid var(--border-tertiary);background:var(--border-tertiary);box-shadow:var(--shadow-rest);transition:box-shadow .18s ease,transform .18s ease;}
.post__media img{width:100%;height:100%;object-fit:cover;}
.post--has-media:hover .post__media{box-shadow:var(--shadow-hover);transform:translateY(-2px);}
.post__body{min-width:0;}
.post__meta{margin:0 0 10px;font-size:13px;line-height:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);display:flex;gap:14px;flex-wrap:wrap;align-items:baseline;}
.post__meta .dot{color:var(--border-secondary);}
.post__title{margin:0;font-weight:400;font-size:28px;line-height:38px;color:var(--text-primary);letter-spacing:-.005em;text-wrap:balance;transition:color .15s ease;}
.post:hover .post__title{color:var(--text-link);}
.post__excerpt{margin:12px 0 0;font-size:18px;line-height:30px;color:var(--text-secondary);max-width:64ch;}
.post__more{margin:14px 0 0;font-size:16px;line-height:24px;color:var(--text-link);display:inline-flex;align-items:center;gap:8px;}
.post:hover .post__more{text-decoration:underline;text-underline-offset:3px;}

/* ============================================================
   Single essay
   ============================================================ */
.essay{padding:40px 0 0;}
.essay__title{margin:0;color:var(--hero-text);font-weight:600;font-size:44px;line-height:56px;letter-spacing:-.005em;text-wrap:balance;text-shadow:0 1px 0 #FFF;}

/* ============================================================
   About
   ============================================================ */
.about{padding:56px 0 0;display:grid;grid-template-columns:1fr;gap:36px;align-items:start;}
.about__portrait{width:100%;aspect-ratio:4 / 5;border-radius:var(--radius);overflow:hidden;border:var(--bw) solid var(--border-tertiary);background:var(--border-tertiary);box-shadow:var(--shadow-rest);}
.about__portrait img{width:100%;height:100%;object-fit:cover;}
.about__title{margin:0;color:var(--hero-text);font-weight:600;font-size:40px;line-height:52px;letter-spacing:-.005em;text-wrap:balance;text-shadow:0 1px 0 #FFF;}
.about__title .em{font-style:italic;}
.about__bio{font-size:19px;line-height:32px;color:var(--text-primary);max-width:60ch;}
.about__bio > p{margin:0 0 20px;}
.about__bio > p:last-child{margin-bottom:0;}

.principles{padding:64px 0 0;margin-top:64px;border-top:var(--bw) solid var(--border-tertiary);padding-top:48px;}
.principles__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:32px 24px;}
.principles__grid li{display:flex;}
.principle{display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.principle__n{margin:0;font-weight:300;font-size:28px;line-height:1;color:var(--border-secondary);}
.principle__h{margin:14px 0 8px;font-weight:400;font-size:22px;line-height:30px;color:var(--text-primary);transition:color .15s ease;}
.principle__p{margin:0;font-size:17px;line-height:28px;color:var(--text-secondary);}
.principle__more{margin:16px 0 0;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-link);display:inline-flex;align-items:center;gap:7px;}
.principle:hover .principle__h{color:var(--text-link);}
.principle:hover .principle__more{text-decoration:underline;text-underline-offset:3px;}

.cv{padding:64px 0 0;margin-top:64px;border-top:var(--bw) solid var(--border-tertiary);padding-top:48px;}
.cv__list{list-style:none;margin:0;padding:0;}
.cv__row{display:grid;grid-template-columns:1fr;gap:4px 24px;padding:20px 0;border-top:var(--bw) solid var(--border-tertiary);}
.cv__row:first-child{border-top:0;}
.cv__role{margin:0;font-size:20px;line-height:28px;color:var(--text-primary);}
.cv__org{margin:0;font-size:17px;line-height:26px;color:var(--text-secondary);}
.cv__years{margin:0;font-size:14px;line-height:24px;letter-spacing:.08em;text-transform:uppercase;color:var(--border-secondary);}

.contact{padding:64px 0 96px;margin-top:64px;border-top:var(--bw) solid var(--border-tertiary);padding-top:48px;}
.contact__h{margin:0 0 16px;font-weight:400;font-size:30px;line-height:40px;color:var(--hero-text);letter-spacing:-.005em;}
.contact__p{margin:0 0 28px;font-size:19px;line-height:32px;color:var(--text-primary);max-width:52ch;}

/* ============================================================
   Principle detail (single-principle)
   ============================================================ */
.phead{padding:36px 0 0;}
.phead__kicker{margin:0 0 18px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);display:flex;gap:14px;align-items:baseline;}
.phead__kicker .num{color:var(--border-secondary);}
.phead__title{margin:0;color:var(--hero-text);font-weight:400;font-size:44px;line-height:56px;letter-spacing:-.005em;text-wrap:balance;}
.phead__lede{margin:24px 0 0;font-size:23px;line-height:36px;font-style:italic;color:var(--text-primary);max-width:34ch;}
.pbody{padding:48px 0 0;}
.pbody--essay{padding-bottom:96px;}
.pquote{padding:56px 0 0;}
.pquote__q{margin:0;font-weight:300;font-style:italic;font-size:28px;line-height:42px;color:var(--text-primary);max-width:32ch;border-left:2px solid var(--border-decorative);padding-left:24px;}
.pager{padding:56px 0 96px;margin-top:56px;border-top:var(--bw) solid var(--border-tertiary);padding-top:28px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.pager a{text-decoration:none;display:inline-flex;flex-direction:column;gap:5px;max-width:46%;}
.pager .lbl{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);}
.pager .ttl{font-size:20px;line-height:28px;color:var(--text-link);}
.pager a:hover .ttl{text-decoration:underline;text-underline-offset:3px;}
.pager .next{text-align:right;align-items:flex-end;margin-left:auto;}

/* ---------- Archive pagination (the_posts_pagination) ---------- */
.pagenav{padding:8px 0 96px;}
.pagenav .nav-links{padding-top:28px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.pagenav .page-numbers{font-size:16px;line-height:24px;min-width:40px;height:40px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text-link);border:var(--bw) solid var(--border-tertiary);border-radius:var(--radius);transition:border-color .15s ease,color .15s ease;}
.pagenav a.page-numbers:hover{border-color:var(--border-decorative);}
.pagenav .page-numbers.current{color:var(--nav-selected-text);background:var(--nav-bg);border-color:var(--nav-bg);cursor:default;}
.pagenav .page-numbers.dots{border-color:transparent;color:var(--text-secondary);}
.pagenav .prev.page-numbers,.pagenav .next.page-numbers{margin-top:0;padding:0 12px;letter-spacing:.08em;text-transform:uppercase;font-size:13px;}

/* ============================================================
   Editor admin notice helper
   ============================================================ */
.tw-admin-notice code{background:rgba(0,0,0,.06);padding:1px 5px;border-radius:3px;}

/* ============================================================
   Breakpoints
   ============================================================ */
@media(min-width:768px){
	.site-header{padding:44px 0 22px;}
	.brand__name{font-size:36px;}
	.brand__role{font-size:20px;}

	.col-home{grid-column:2 / 12;}
	.col-wide{grid-column:2 / 12;}
	.col-read{grid-column:2 / 12;}

	.hero{padding:64px 0 8px;}
	.hero__primary{font-size:64px;line-height:88px;}
	.hero__secondary{font-size:28px;line-height:44px;}
	.work__grid{grid-template-columns:1fr 1fr;}

	.case-head__title{font-size:72px;line-height:84px;}
	.case-head__tag{font-size:26px;line-height:40px;}
	.meta{grid-template-columns:repeat(4,1fr);}
	.figure-pair{grid-template-columns:1fr 1fr;}
	.figure-trio{grid-template-columns:repeat(3,1fr);}
	.outcome{grid-template-columns:repeat(3,1fr);}

	.intro__title{font-size:64px;line-height:80px;}
	.intro__lede{font-size:26px;line-height:40px;}
	.post--has-media{grid-template-columns:300px 1fr;gap:32px;}
	.post__title{font-size:34px;line-height:44px;}
	.essay__title{font-size:60px;line-height:74px;}

	.about{grid-template-columns:1fr;gap:48px;}
	.about__title{font-size:52px;line-height:64px;}
	.principles__grid{grid-template-columns:repeat(3,1fr);}
	.cv__row{grid-template-columns:1fr auto;align-items:baseline;}
	.cv__years{text-align:right;}

	.phead{padding:48px 0 0;}
	.phead__title{font-size:60px;line-height:74px;}
	.phead__lede{font-size:27px;line-height:42px;}
}
@media(min-width:1032px){
	.hero__primary{font-size:64px;line-height:88px;}
	.hero__secondary{font-size:28px;line-height:44px;}
}
@media(min-width:1284px){
	.col-home{grid-column:3 / 11;}
	.col-wide{grid-column:2 / 12;}
	.col-read{grid-column:3 / 10;}
	.hero__primary{font-size:64px;line-height:88px;}
	.hero__secondary{font-size:28px;line-height:44px;}
	.case-head__title{font-size:88px;line-height:104px;}
	.about{grid-template-columns:1fr;}
	.about .col-read,.about__title{}
}

/* ============================================================
   Image lightbox
   ============================================================ */
img.tw-zoom{cursor:zoom-in;}
.tw-lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:32px;background:rgba(33,32,31,.86);opacity:0;transition:opacity .18s ease;cursor:zoom-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.tw-lightbox.is-open{display:flex;opacity:1;}
.tw-lightbox__img{max-width:95vw;max-height:95vh;width:auto;height:auto;border-radius:var(--radius);box-shadow:0 24px 64px rgba(0,0,0,.5);cursor:zoom-out;transform:scale(.98);transition:transform .18s ease;}
.tw-lightbox.is-open .tw-lightbox__img{transform:scale(1);}
.tw-lightbox__close{position:fixed;top:20px;right:24px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(247,243,239,.12);color:#F7F3EF;font-family:system-ui,-apple-system,sans-serif;font-size:26px;font-weight:300;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;}
.tw-lightbox__close:hover{background:rgba(247,243,239,.24);}
