
:root{--ink:#282e31;--paper:#f7f2ea;--plum:#493740;--rose:#c8a8a1;--teal:#315c5a;--muted:#655d59;--line:#d8cbc1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(3.3rem,6.5vw,6.4rem)}h2{font-size:clamp(2.6rem,4.7vw,4.6rem)}h3{font-size:clamp(1.8rem,2.7vw,2.6rem)}p+p{margin-top:20px}img{display:block;max-width:100%}.wrap{width:min(1280px,calc(100% - 80px));margin:auto}.eyebrow{font-size:.875rem;letter-spacing:.13em;text-transform:uppercase;line-height:1.4;margin-bottom:24px}.muted{color:var(--muted)}.skip{position:absolute;left:-9999px;z-index:100;padding:12px;background:var(--ink);color:var(--paper)}.skip:focus{left:10px}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.header{border-bottom:1px solid var(--line);position:relative;z-index:20;background:var(--paper)}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{text-decoration:none;white-space:nowrap;font:400 1.85rem/1 Georgia,serif;letter-spacing:-.035em}.brand span{display:block;font:400 .875rem/1.5 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}.nav{display:flex;align-items:center;gap:25px}.nav a{font-size:.875rem;text-decoration:none;padding:12px 0;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current=page]{border-color:var(--ink)}.menu-toggle{display:none;border:1px solid var(--ink);background:none;font:inherit;padding:10px 16px;cursor:pointer}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 24px;font-size:.9rem;text-decoration:none;border:1px solid currentColor;line-height:1.4}.btn.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn:hover{background:var(--plum);border-color:var(--plum);color:var(--paper)}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.text-link{display:inline-block;margin-top:26px;font-size:.9rem}.hero{background:var(--ink);color:var(--paper)}.hero-grid{display:grid;grid-template-columns:1.02fr 1fr;min-height:680px}.hero-copy{padding:90px 55px 86px 0;align-self:center}.hero-copy h1{max-width:650px}.hero-copy h1 em{font-weight:400;color:var(--rose)}.hero-copy p{max-width:470px;margin-top:30px;font-size:1.1rem;color:#e1d9d2}.hero .btn.solid{background:var(--paper);border-color:var(--paper);color:var(--ink)}.hero .btn:hover{background:var(--rose);border-color:var(--rose);color:var(--ink)}.hero-photo{position:relative;min-height:680px;overflow:hidden}.hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center top}.photo-label{position:absolute;left:28px;bottom:25px;background:var(--paper);color:var(--ink);padding:10px 18px;font:italic 1.05rem Georgia,serif}.brand-band{padding:32px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;align-items:center}.brand-band p{font:italic clamp(1.3rem,2.2vw,2rem)/1.3 Georgia,serif}.brand-band span{font-size:.875rem;color:var(--muted)}.section{padding:100px 0}.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:48px}.section-head p{max-width:430px}.paths{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.path{padding:42px 34px 42px 0;display:flex;flex-direction:column;align-items:start}.path+.path{border-left:1px solid var(--line);padding-left:34px}.path h3{margin:24px 0}.path p{color:var(--muted)}.path .text-link{margin-top:auto;padding-top:26px}.path-number{font:italic 1.35rem Georgia,serif;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1.1fr;gap:85px;align-items:center}.portrait{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 28%}.split h2{margin-bottom:30px}.lead{font:400 1.5rem/1.45 Georgia,serif;margin-bottom:25px}.cause{background:var(--plum);color:var(--paper)}.cause-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:85px;align-items:center}.cause h2{max-width:600px}.cause p{color:#eee2df}.cause-note{margin-top:25px;font-size:.9rem}.feature{background:#e8dcd1}.feature-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px}.feature h2{margin:12px 0 28px}.feature .eyebrow{color:var(--muted)}.feature p{max-width:720px}.footer{background:var(--ink);color:var(--paper);padding:56px 0 30px}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-links{display:flex;gap:22px;flex-wrap:wrap;align-items:start}.footer-links a{font-size:.875rem}.footer-bottom{margin-top:50px;padding-top:20px;border-top:1px solid #ffffff33;font-size:.875rem;color:#d0c8c3;display:flex;justify-content:space-between;gap:25px}.page-intro{padding:90px 0 70px;border-bottom:1px solid var(--line)}.page-intro h1{max-width:960px}.page-intro p{max-width:710px;margin-top:28px;font-size:1.13rem}.narrow{width:min(760px,calc(100% - 80px));margin:auto}.prose h2{font-size:2.4rem;margin:52px 0 24px}.prose p{margin-top:20px}.prose li{margin:12px 0}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose td,.prose th{padding:14px;text-align:left;border:1px solid var(--line);vertical-align:top}.table-scroll{overflow-x:auto}.resource{border-top:1px solid var(--line);padding:28px 0}.resource h3{margin-bottom:15px}.resource p{max-width:700px}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.service-list article{border-top:1px solid var(--line);padding-top:30px}.service-list h3{margin-bottom:20px}.service-list p{color:var(--muted)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.work-card{min-width:0}.video-shell{aspect-ratio:9/14;background:var(--ink)}video{width:100%;height:100%;object-fit:cover}.work-meta{padding:22px 0}.work-meta h3{font-size:1.75rem;margin:16px 0}.work-meta p{font-size:1rem;color:var(--muted)}.label-row{display:flex;gap:10px;flex-wrap:wrap}.pill{font-size:.875rem;border-bottom:1px solid var(--line);padding-bottom:6px}.skill-line{font-size:.875rem!important;margin-top:12px!important}.contact-panel{max-width:750px}.contact-panel h2{margin-bottom:25px}.contact-panel li{margin-top:18px}.contact-panel ol{padding-left:23px}.small{font-size:.9rem}.quote{font:italic clamp(2rem,3.5vw,3.3rem)/1.25 Georgia,serif;max-width:970px}.back-link{margin-top:36px;display:inline-block}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.nav{gap:16px}.hero-copy{padding-right:30px}.hero-grid,.hero-photo{min-height:600px}.split,.cause-grid{gap:45px}.section-head{gap:35px}.feature-grid{gap:40px}.path{padding-right:22px}.path+.path{padding-left:22px}.work-grid{gap:18px}}@media(max-width:780px){.header-inner{min-height:80px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:80px;left:0;right:0;padding:22px 24px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:4px}.nav.open{display:flex}.nav a{font-size:1rem}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:62px 0 58px}.hero h1{font-size:clamp(3.4rem,9.5vw,5.5rem)}.hero-photo{min-height:0;aspect-ratio:5/4}.hero-photo img{object-position:center top}.section{padding:65px 0}.section-head,.split,.cause-grid,.feature-grid{grid-template-columns:1fr;gap:32px}.paths{grid-template-columns:1fr}.path,.path+.path{padding:30px 0;border-left:0}.path+.path{border-top:1px solid var(--line)}.path h3{margin:14px 0}.path .text-link{padding-top:0}.brand-band{display:block}.brand-band span{display:block;margin-top:10px}.portrait{max-height:580px}.service-list{grid-template-columns:1fr}.work-grid{grid-template-columns:1fr;gap:38px}.video-shell{max-width:430px}.footer-top,.footer-bottom{flex-direction:column;display:flex;gap:25px}.footer-links{gap:16px 25px}.page-intro{padding:65px 0 50px}.narrow{width:calc(100% - 48px)}.prose h2{font-size:2rem}.prose table{min-width:620px}.quote{font-size:2rem}}@media(max-width:420px){.wrap,.narrow{width:calc(100% - 36px)}.brand{font-size:1.65rem}.hero .actions .btn{width:100%}.hero-photo{aspect-ratio:1}.hero h1{font-size:3.2rem}.footer-links{flex-direction:column}.page-intro h1{font-size:3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.about-story{align-items:start}.about-details{margin-top:64px}.about-details h2{font-size:clamp(2rem,3.5vw,3rem)}

.story-choice{margin:2.5rem 0;padding:clamp(1.25rem,4vw,2rem);border-left:4px solid currentColor;background:#f7f2ea;border-radius:0 .5rem .5rem 0;scroll-margin-top:6rem}.story-choice h2{margin-top:.75rem}.story-choice p{font-size:1rem;line-height:1.75}.story-choice p:last-child{margin-bottom:0}

.section-nav{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:38px;padding-top:24px;border-top:1px solid var(--line)}.section-nav a{font-size:1rem}.initiative-prose h2{font-size:clamp(2rem,3.5vw,3rem);margin:0 0 26px}.initiative-prose h2:not(:first-child){margin-top:48px}[id]{scroll-margin-top:30px}

.paths-two{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:780px){.paths-two{grid-template-columns:1fr}}

/* Personal photographs retain their wider story and natural proportions. */
.hero-photo-personal{min-height:0;align-self:center;aspect-ratio:1206/1596}.hero-photo-personal img{position:relative;height:auto;object-fit:contain}.portrait[src="/nicki-black-and-white.jpg"]{aspect-ratio:9/16;object-position:center;max-height:none}.younger-self{margin:32px 0 0}.younger-self img{width:100%;height:auto}.younger-self figcaption{font-size:.9rem;line-height:1.5;margin-top:14px;max-width:520px}.closing-gap>.younger-self{margin:0}.closing-gap-heading{margin:28px 0 20px}@media(max-width:780px){.hero-photo-personal{aspect-ratio:1206/1596}.closing-gap{align-items:start}}

/* About portrait: mobile only; desktop rules stay unchanged. */
@media (max-width: 767px) {
  #about .about-story {
    gap: 16px;
  }

  #about .about-story > img.portrait {
    display: block;
    width: min(100%, 56vh);
    width: min(100%, 56svh);
    height: auto;
    max-height: 70vh;
    max-height: 70svh;
    min-height: 0;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: 50% 40%;
    margin-inline: auto;
  }
}

/* Keep the portrait beside the start of the expanded About copy. */
#about .about-story{align-items:start}

/* Bound the About portrait on desktop independently of its HTML dimensions. */
@media (min-width: 768px) {
  .portrait[src="/nicki-black-and-white.jpg"] {
    width: min(100%, 448px, 56vh);
    height: min(560px, 70vh);
    max-height: 70vh;
    min-height: 0;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: 50% 40%;
    justify-self: center;
  }
}
