/*
Theme Name: Ashley Elem
Theme URI: https://ashleyelem.com
Author: Ashley Elem
Description: A modern professional biography, real estate, and publishing theme for AshleyElem.com.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: ashley-elem
*/

:root {
  --ink: #1e1916;
  --bone: #f4f0e8;
  --paper: #fbf9f4;
  --bronze: #a68156;
  --plum: #2b1726;
  --mushroom: #d8cec0;
  --coral: #ed6c5c;
  --yellow: #f2c94c;
  --pink: #e6a4bf;
  --purple: #6f4b70;
  --line: rgba(30, 25, 22, .2);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bone); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
body.admin-bar .site-header { top: 32px; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
em { color: var(--bronze); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
h1, h2, h3, p { overflow-wrap: break-word; }
.skip-link { position: fixed; left: 12px; top: -100px; z-index: 999; padding: 12px 18px; background: #fff; }
.skip-link:focus { top: 12px; }
.section { padding: 110px 7vw; }
.overline, .promise-label { margin: 0 0 25px; font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.pale { color: #dfd5ca; }
.utility { min-height: 34px; padding: 0 3.4vw; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; background: var(--plum); color: #ede7dc; font-size: 8px; letter-spacing: .2em; }
.utility span:nth-child(2) { text-align: center; }
.utility a { justify-self: end; border-bottom: 1px solid rgba(237,231,220,.55); padding-bottom: 3px; }
.site-header { height: 100px; padding: 0 3.4vw; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; position: sticky; top: 0; z-index: 20; background: rgba(251,249,244,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.brand { display: flex; align-items: center; gap: 15px; }
.brand > span { width: 46px; height: 46px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--ink); border-radius: 50%; font-family: Georgia, serif; font-size: 17px; font-style: italic; }
.brand div { font-family: Georgia, serif; font-size: 18px; letter-spacing: .08em; white-space: nowrap; }
.brand small { display: block; margin-top: 4px; font-family: Arial, sans-serif; font-size: 7px; letter-spacing: .25em; }
.site-header nav, .site-header nav ul { display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; }
.site-header nav a { font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.site-header nav a:hover { color: var(--bronze); }
.nav-cta, .pop-button { min-height: 48px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; justify-self: end; background: var(--ink); color: white; font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.menu-toggle { display: none; }

.brand-hero { min-height: 760px; display: grid; grid-template-columns: 1.05fr .95fr; position: relative; background: var(--paper); overflow: hidden; }
.brand-hero-copy { padding: 90px 5vw 120px 7vw; display: flex; flex-direction: column; justify-content: center; }
.identity-list { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-bottom: 45px; font-size: 7px; font-weight: 800; letter-spacing: .16em; }
.identity-list span { padding-bottom: 6px; border-bottom: 1px solid var(--ink); }
.brand-hero h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(84px, 9.2vw, 150px); line-height: .78; letter-spacing: -.06em; font-weight: 400; }
.brand-intro { max-width: 700px; margin: 45px 0 30px; font-family: Georgia, serif; font-size: clamp(20px, 2vw, 29px); line-height: 1.5; }
.brand-actions { display: flex; align-items: center; gap: 28px; }
.pop-button-dark { background: var(--ink); color: white; }
.pop-button-light { background: var(--bone); color: var(--ink); }
.pop-text-link, .line-link { display: inline-block; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.brand-hero-image { min-height: 760px; position: relative; overflow: hidden; background: var(--mushroom); }
.brand-hero-image > img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.hero-stamp { width: 160px; height: 160px; display: flex; flex-direction: column; align-items: center; justify-content: center; position: absolute; right: 32px; bottom: 52px; border-radius: 50%; background: var(--yellow); border: 2px solid var(--ink); transform: rotate(6deg); }
.hero-stamp span, .hero-stamp small { font-size: 7px; font-weight: 800; letter-spacing: .13em; }
.hero-stamp b { margin: 5px 0; font-family: Georgia, serif; font-size: 46px; font-style: italic; font-weight: 400; }
.hero-identity-strip { min-height: 48px; padding: 0 4vw; display: flex; align-items: center; justify-content: space-around; grid-column: 1 / -1; background: var(--coral); border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); font-size: 8px; font-weight: 900; letter-spacing: .16em; }

.big-promise { padding: 125px 12vw; text-align: center; background: var(--bone); }
.big-promise h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(62px, 7.8vw, 118px); line-height: .95; font-weight: 400; letter-spacing: -.05em; }
.big-promise h3 { margin: 35px 0 20px; font-family: Georgia, serif; font-size: clamp(23px, 2.2vw, 34px); font-weight: 400; }
.big-promise > p { max-width: 780px; margin: 0 auto; font-size: 13px; line-height: 1.85; color: #554c46; }
.pathways { padding: 110px 7vw; background: var(--paper); }
.pathways-heading { display: grid; grid-template-columns: .7fr 1.3fr; gap: 5vw; align-items: end; }
.pathways-heading > p, .founder-heading > p, .journal-home-head p, .limelight > div:first-child > p, .statement-banner > p { font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.pathways-heading h2, .founder-heading h2, .journal-home-head h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(55px, 6vw, 92px); line-height: .98; font-weight: 400; }
.pathway-grid { margin-top: 70px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 2px solid var(--ink); border-left: 2px solid var(--ink); }
.pathway-card { min-height: 475px; padding: 34px; display: flex; flex-direction: column; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }
.pathway-law { background: var(--yellow); }
.pathway-estate { background: var(--pink); }
.pathway-voice { background: var(--purple); color: var(--paper); }
.pathway-card > span { font-size: 8px; font-weight: 900; letter-spacing: .16em; }
.pathway-card h3 { margin: 80px 0 22px; font-family: Georgia, serif; font-size: clamp(30px, 2.6vw, 43px); line-height: 1.08; font-weight: 400; }
.pathway-card p { font-size: 12px; line-height: 1.75; }
.pathway-card a { margin-top: auto; padding-top: 20px; border-top: 1px solid currentColor; font-size: 8px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.statement-banner { padding: 110px 7vw; text-align: center; background: var(--plum); color: #f5eee6; }
.statement-banner h2 { margin: 25px 0 0; font-size: clamp(52px, 7vw, 112px); line-height: .95; letter-spacing: -.045em; }
.statement-banner h2 span { color: var(--coral); }
.limelight { padding: 110px 7vw; display: grid; grid-template-columns: 1.1fr .9fr; gap: 10vw; align-items: end; background: var(--mushroom); }
.limelight h2 { margin: 25px 0 0; font-family: Georgia, serif; font-size: clamp(48px, 5vw, 78px); line-height: 1.02; font-weight: 400; }
.limelight > div:last-child p { font-family: Georgia, serif; font-size: 18px; line-height: 1.7; }
.limelight a { display: inline-block; margin-top: 20px; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.meet-feature { min-height: 760px; display: grid; grid-template-columns: .95fr 1.05fr; background: var(--plum); color: #f4ede4; }
.meet-feature-image { min-height: 760px; position: relative; overflow: hidden; }
.meet-feature-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.meet-feature-image span { position: absolute; left: 30px; bottom: 25px; padding: 10px 14px; background: var(--paper); color: var(--ink); font-size: 8px; font-weight: 800; letter-spacing: .15em; }
.meet-feature-copy { padding: 100px 8vw; display: flex; flex-direction: column; justify-content: center; }
.meet-feature-copy h2 { margin: 0 0 30px; font-family: Georgia, serif; font-size: clamp(54px, 6vw, 90px); line-height: .95; font-weight: 400; }
.meet-feature-copy > p:not(.overline) { max-width: 700px; font-size: 13px; line-height: 1.8; color: #d4c8bd; }
.meet-feature-copy .feature-lede { font-family: Georgia, serif; font-size: 21px; color: #fff; }
.meet-feature-copy .pop-button { align-self: flex-start; margin-top: 20px; }
.credential-marquee { min-height: 75px; padding: 0 3vw; display: flex; align-items: center; justify-content: space-around; gap: 30px; background: var(--coral); border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); font-family: Georgia, serif; font-size: clamp(16px, 2vw, 26px); }
.founder-world { padding: 110px 7vw; background: var(--bone); }
.founder-heading { display: grid; grid-template-columns: .65fr 1.35fr; align-items: end; gap: 7vw; }
.founder-grid { margin-top: 70px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.founder-grid article { min-height: 320px; padding: 30px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.founder-grid span { font-size: 8px; font-weight: 800; letter-spacing: .15em; }
.founder-grid h3 { margin: 75px 0 20px; font-family: Georgia, serif; font-size: 35px; font-weight: 400; }
.founder-grid p { font-size: 12px; line-height: 1.75; }
.journal-home { padding: 110px 7vw; background: var(--paper); }
.journal-home-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.journal-home-head > a { padding-bottom: 5px; border-bottom: 1px solid; font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.journal-pop-grid { margin-top: 65px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.journal-card { min-width: 0; display: flex; flex-direction: column; }
.journal-card-image { aspect-ratio: 4 / 3; margin-bottom: 24px; overflow: hidden; background: var(--mushroom); }
.journal-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.journal-card:hover img { transform: scale(1.025); }
.journal-card > span { font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.journal-card h3 { margin: 20px 0 12px; font-family: Georgia, serif; font-size: 29px; line-height: 1.18; font-weight: 400; }
.journal-card p { font-size: 12px; line-height: 1.7; color: #5b534e; }
.journal-card b { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.firm-split { display: grid; grid-template-columns: 1fr 1fr; }
.firm-split > div { min-height: 470px; padding: 80px 7vw; display: flex; flex-direction: column; justify-content: center; }
.firm-split > div:first-child { background: var(--yellow); }
.firm-split > div:last-child { background: var(--pink); }
.firm-split p { font-size: 8px; font-weight: 800; letter-spacing: .17em; }
.firm-split h2 { max-width: 650px; margin: 25px 0; font-family: Georgia, serif; font-size: clamp(38px, 4vw, 60px); line-height: 1.05; font-weight: 400; }
.firm-split .pop-button { align-self: flex-start; }
.firm-split small { margin-top: 18px; font-size: 8px; }

.page-hero { min-height: 650px; padding: 8vw 7vw 7vw; display: grid; grid-template-columns: 1.35fr .65fr; gap: 9vw; align-items: center; background: var(--paper); border-bottom: 1px solid var(--line); }
.compact-hero { min-height: 430px; }
.breadcrumb { display: flex; gap: 12px; margin: 0 0 32px; color: #756b63; font-size: 7px; font-weight: 800; letter-spacing: .18em; }
.breadcrumb a { border-bottom: 1px solid currentColor; }
.page-hero h1 { max-width: 1100px; margin: 0; font-family: Georgia, serif; font-size: clamp(58px, 6.6vw, 104px); line-height: .95; letter-spacing: -.052em; font-weight: 400; }
.page-intro { max-width: 780px; margin: 36px 0 0; font-family: Georgia, serif; font-size: 19px; line-height: 1.7; color: #514843; }
.page-hero aside { min-height: 300px; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--ink); background: var(--mushroom); }
.page-hero aside > span { font-family: Georgia, serif; font-size: 55px; font-style: italic; color: var(--bronze); }
.page-hero aside p { max-width: 230px; margin: 0; font-size: 8px; line-height: 1.8; font-weight: 800; letter-spacing: .16em; }
.sub-consult { min-height: 510px; padding: 105px 8vw; display: grid; grid-template-columns: 1.2fr .8fr; gap: 10vw; align-items: center; background: var(--plum); color: #f0e9df; }
.sub-consult h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(50px, 5.6vw, 86px); line-height: 1; font-weight: 400; }
.sub-consult > div:last-child > p { max-width: 520px; font-family: Georgia, serif; font-size: 17px; line-height: 1.7; color: #cbbfb5; }
.sub-consult .pop-button { margin-top: 20px; }

.meet-hero { min-height: 760px; display: grid; grid-template-columns: 1.08fr .92fr; background: var(--paper); }
.meet-hero-copy { padding: 110px 7vw 90px; display: flex; flex-direction: column; justify-content: center; }
.meet-hero .breadcrumb { margin-bottom: 70px; }
.meet-hero h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(60px, 6.6vw, 100px); line-height: .95; letter-spacing: -.046em; font-weight: 400; }
.meet-intro { max-width: 690px; margin: 34px 0; font-family: Georgia, serif; font-size: 19px; line-height: 1.65; color: #4e4641; }
.meet-hero .line-link { align-self: flex-start; }
.meet-portrait { min-height: 760px; overflow: hidden; background: var(--mushroom); }
.meet-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.meet-story { display: grid; grid-template-columns: .82fr 1.18fr; gap: 10vw; }
.meet-story h2, .meet-approach h2, .meet-credentials h2, .standards h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(48px, 5vw, 78px); line-height: 1.03; letter-spacing: -.038em; font-weight: 400; }
.meet-story-copy > p:not(.detail-lead) { max-width: 780px; font-size: 14px; line-height: 1.9; color: #514943; }
.detail-lead { margin: 0 0 35px; font-family: Georgia, serif; font-size: clamp(24px, 2.5vw, 37px); line-height: 1.45; }
.ashley-note { margin-top: 45px; padding: 34px 0 8px; border-top: 1px solid var(--ink); }
.ashley-note > span { font-size: 7px; font-weight: 800; letter-spacing: .18em; }
.ashley-note blockquote { margin: 25px 0 0; font-family: Georgia, serif; font-size: clamp(24px, 2.5vw, 38px); line-height: 1.45; color: var(--plum); }
.career-rail { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--plum); color: #f0e9df; }
.career-rail article { min-height: 310px; padding: 38px; display: flex; flex-direction: column; border-right: 1px solid rgba(240,233,223,.22); }
.career-rail span { color: var(--bronze); font-family: Georgia, serif; font-size: 22px; font-style: italic; }
.career-rail h3 { margin: auto 0 12px; font-family: Georgia, serif; font-size: 45px; font-weight: 400; }
.career-rail p { max-width: 230px; margin: 0; font-size: 10px; line-height: 1.7; color: #c9bdb2; }
.meet-approach, .standards { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9vw; background: var(--paper); }
.approach-list, .standards-list { border-top: 1px solid var(--ink); }
.approach-list article { min-height: 145px; padding: 25px 0; display: grid; grid-template-columns: 65px 1fr; border-bottom: 1px solid var(--line); }
.approach-list article > span, .standards-list article > span { color: var(--bronze); font-family: Georgia, serif; font-style: italic; }
.approach-list h3, .standards-list h3 { margin: 0; font-family: Georgia, serif; font-size: 27px; font-weight: 400; }
.approach-list p, .standards-list p { max-width: 620px; margin: 12px 0 0; font-size: 12px; line-height: 1.75; color: #5b534e; }
.personal-life-head { display: grid; grid-template-columns: .9fr 1.15fr .75fr; gap: 6vw; align-items: end; }
.personal-life-head h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(48px, 5vw, 78px); line-height: 1.03; font-weight: 400; }
.personal-life-head > p:last-child { margin: 0; font-family: Georgia, serif; font-size: 16px; line-height: 1.75; }
.personal-life-grid { margin-top: 65px; border-top: 2px solid var(--ink); }
.personal-life-grid article { padding: 24px 4px; display: grid; grid-template-columns: 68px minmax(240px, .65fr) 1fr; gap: 28px; align-items: center; border-bottom: 2px solid var(--ink); }
.personal-life-grid article > span { width: 42px; height: 42px; display: grid; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--yellow); font-size: 10px; font-weight: 900; }
.personal-life-grid article:nth-child(2) > span { background: var(--coral); }
.personal-life-grid article:nth-child(3) > span { background: var(--pink); }
.personal-life-grid article:nth-child(4) > span { background: var(--purple); color: white; }
.personal-life-grid h3 { margin: 0; font-family: Georgia, serif; font-size: 30px; font-weight: 400; }
.personal-life-grid p { margin: 0; font-size: 12px; line-height: 1.7; }
.meet-credentials { display: grid; grid-template-columns: .72fr 1.28fr; gap: 9vw; background: #ddd4c8; }
.meet-credentials > div:first-child > p:last-child { margin-top: 30px; font-family: Georgia, serif; font-size: 17px; line-height: 1.7; }
.credential-columns { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.credential-columns article { min-height: 450px; padding: 28px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.credential-columns article > span { display: block; margin-bottom: 65px; font-size: 7px; font-weight: 800; letter-spacing: .18em; }
.credential-columns p { padding-top: 18px; border-top: 1px solid var(--line); font-family: Georgia, serif; font-size: 14px; line-height: 1.7; }
.credential-columns b { font-size: 18px; font-weight: 400; }
.signature-quote { padding: 105px 10vw; text-align: center; background: var(--plum); color: #f0e9df; }
.signature-quote p { max-width: 1100px; margin: 0 auto 30px; font-family: Georgia, serif; font-size: clamp(38px, 4.7vw, 70px); line-height: 1.15; }
.signature-quote span { font-size: 8px; letter-spacing: .17em; }
.standards-list article { min-height: 155px; padding: 26px 0; display: grid; grid-template-columns: 55px .7fr 1fr; gap: 24px; align-items: center; border-bottom: 1px solid var(--line); }
.standards-list p { margin: 0; }
.privacy-facts { padding: 110px 12vw; text-align: center; background: #b9a88f; }
.privacy-facts h2 { max-width: 1150px; margin: 0 auto; font-family: Georgia, serif; font-size: clamp(40px, 4.5vw, 68px); line-height: 1.15; font-weight: 400; }
.privacy-facts > p:not(.overline) { max-width: 780px; margin: 30px auto; font-size: 13px; line-height: 1.8; }
.privacy-facts a { display: inline-block; padding-bottom: 5px; border-bottom: 1px solid; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

.publication-grid { display: grid; grid-template-columns: 1.3fr 1fr; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.publication-grid > a { min-height: 450px; padding: 32px; display: flex; flex-direction: column; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.publication-feature { grid-row: span 2; min-height: 850px !important; background: var(--plum); color: #f0e9df; }
.publication-image { aspect-ratio: 16 / 8; margin: -32px -32px 28px; overflow: hidden; background: var(--mushroom); }
.publication-image img { width: 100%; height: 100%; object-fit: cover; }
.publication-grid > a > span { font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.publication-grid h2 { margin: 60px 0 20px; font-family: Georgia, serif; font-size: clamp(32px, 3.4vw, 52px); line-height: 1.14; font-weight: 400; }
.publication-feature h2 { margin-top: auto; font-size: clamp(44px, 5vw, 76px); }
.publication-grid p { max-width: 600px; font-size: 12px; line-height: 1.75; }
.publication-cta { margin-top: auto; padding-top: 20px; border-top: 1px solid currentColor; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.editorial-note { padding: 40px 7vw; text-align: center; background: var(--mushroom); }
.editorial-note p { margin: 0 auto; max-width: 850px; font-size: 11px; line-height: 1.7; }
.article-hero h1 { font-size: clamp(50px, 6vw, 90px); }
.article-body { max-width: 1000px; margin: 0 auto; padding: 95px 5vw 120px; }
.article-image { margin: 0 0 65px; }
.article-image img { width: 100%; max-height: 650px; object-fit: cover; }
.article-content { max-width: 760px; margin: 0 auto; }
.article-content .article-intro { font-family: Georgia, serif; font-size: 25px; line-height: 1.55; }
.article-content h2 { margin: 58px 0 20px; font-family: Georgia, serif; font-size: 38px; line-height: 1.2; font-weight: 400; }
.article-content p, .article-content li { font-size: 15px; line-height: 1.85; color: #514943; }
.article-content li { margin-bottom: 8px; }
.legal-note { max-width: 760px; margin: 70px auto 0; padding: 25px; border: 1px solid var(--ink); font-size: 11px; line-height: 1.7; }

.legal-content { display: grid; grid-template-columns: .65fr 1.35fr; gap: 8vw; }
.legal-summary { position: sticky; top: 150px; align-self: start; }
.legal-summary > p:last-child { font-family: Georgia, serif; font-size: 23px; line-height: 1.55; }
.legal-sections { border-top: 1px solid var(--ink); }
.legal-sections article { padding: 35px 0; display: grid; grid-template-columns: 60px 1fr; gap: 20px; border-bottom: 1px solid var(--line); }
.legal-sections article > span { color: var(--bronze); font-family: Georgia, serif; font-style: italic; }
.legal-sections h2 { margin: 0 0 15px; font-family: Georgia, serif; font-size: 30px; font-weight: 400; }
.legal-sections p { margin: 0; font-size: 13px; line-height: 1.8; color: #514943; }
.legal-review-note { grid-column: 2; padding: 20px; border: 1px solid var(--ink); font-size: 11px; line-height: 1.7; }

.site-footer { min-height: 220px; padding: 45px 3.4vw; display: grid; grid-template-columns: 1.35fr .8fr 1fr 1fr; align-items: center; gap: 30px; background: var(--ink); color: #f0e9df; }
.footer-brand > span { border-color: #f0e9df; }
.site-footer p { margin: 7px 0; font-size: 7px; letter-spacing: .15em; }
.footer-links a, .footer-meta a { display: inline-block; padding-bottom: 2px; border-bottom: 1px solid transparent; }
.footer-links a:hover, .footer-meta a:hover { border-color: currentColor; }
.footer-meta a { margin-top: 14px; font-size: 7px; font-weight: 800; letter-spacing: .14em; }

@media (max-width: 1100px) {
  .site-header { grid-template-columns: 1fr auto; }
  .menu-toggle { display: block; justify-self: end; padding: 11px 14px; border: 1px solid var(--ink); background: transparent; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
  .site-header nav { display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 25px 4vw; background: var(--paper); border-bottom: 1px solid var(--ink); }
  .site-header nav.is-open { display: block; }
  .site-header nav ul { display: grid; gap: 18px; }
  .nav-cta { display: none; }
  .brand-hero { grid-template-columns: 1fr 1fr; }
  .pathway-card { padding: 25px; }
  .career-rail { grid-template-columns: repeat(2, 1fr); }
  .credential-columns { grid-template-columns: 1fr; }
  .credential-columns article { min-height: auto; }
  .site-footer { grid-template-columns: 1.2fr .8fr 1fr; }
  .footer-meta { grid-column: 1 / -1; }
}

@media (max-width: 800px) {
  body.admin-bar .site-header { top: 46px; }
  .utility { display: flex; justify-content: space-between; padding: 9px 18px; }
  .utility span:nth-child(2) { display: none; }
  .site-header { height: 82px; padding: 0 18px; }
  .brand div { font-size: 15px; }
  .brand small { font-size: 6px; }
  .brand > span { width: 40px; height: 40px; }
  .section { padding: 75px 22px; }
  .brand-hero { display: flex; flex-direction: column; }
  .brand-hero-copy { padding: 75px 22px; }
  .brand-hero h1 { font-size: clamp(78px, 24vw, 116px); }
  .brand-hero-image { min-height: 570px; }
  .hero-identity-strip { min-height: 70px; flex-wrap: wrap; gap: 10px 20px; padding: 15px; }
  .big-promise, .pathways, .statement-banner, .founder-world, .journal-home { padding: 80px 22px; }
  .pathways-heading, .founder-heading, .limelight, .meet-story, .meet-approach, .standards, .meet-credentials, .legal-content, .sub-consult { grid-template-columns: 1fr; }
  .pathway-grid, .founder-grid, .journal-pop-grid { grid-template-columns: 1fr; }
  .pathway-card { min-height: 420px; }
  .limelight { padding: 80px 22px; }
  .meet-feature { grid-template-columns: 1fr; }
  .meet-feature-image { min-height: 600px; }
  .meet-feature-copy { padding: 80px 22px; }
  .credential-marquee { min-height: 110px; flex-wrap: wrap; padding: 20px; text-align: center; }
  .firm-split { grid-template-columns: 1fr; }
  .page-hero { min-height: auto; padding: 80px 22px; grid-template-columns: 1fr; }
  .page-hero aside { min-height: 220px; }
  .meet-hero { grid-template-columns: 1fr; }
  .meet-hero-copy { padding: 80px 22px; }
  .meet-hero .breadcrumb { margin-bottom: 45px; }
  .meet-portrait { min-height: 640px; }
  .personal-life-head { grid-template-columns: 1fr; align-items: start; }
  .personal-life-grid article { grid-template-columns: 55px 1fr; }
  .personal-life-grid article p { grid-column: 2; }
  .publication-grid { grid-template-columns: 1fr; }
  .publication-feature { grid-row: auto; min-height: 700px !important; }
  .legal-summary { position: static; }
  .legal-review-note { grid-column: 1; }
  .site-footer { grid-template-columns: 1fr 1fr; align-items: start; }
  .footer-brand, .footer-meta { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .utility { font-size: 6px; }
  .brand-actions { align-items: flex-start; flex-direction: column; }
  .hero-stamp { width: 125px; height: 125px; right: 18px; bottom: 25px; }
  .career-rail { grid-template-columns: 1fr; }
  .career-rail article { min-height: 245px; }
  .standards-list article { grid-template-columns: 35px 1fr; }
  .standards-list article p { grid-column: 2; }
  .site-footer { grid-template-columns: 1fr; }
  .footer-brand, .footer-meta { grid-column: auto; }
}

