*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fff;color:#161616;font-family:"Avenir Next Condensed","Arial Narrow",Arial,sans-serif;font-size:20px;line-height:1.35}a{color:inherit;text-underline-offset:5px}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b94c12;outline-offset:6px}h1,h2,h3,p{margin:0}h2,h3{font-weight:400;line-height:1.04}h2{font-size:clamp(36px,4.5vw,64px)}h3{font-size:clamp(29px,3vw,39px)}p{margin-top:16px}img{display:block;max-width:100%}.header,.section,.footer{padding-inline:5.2%}.header{min-height:98px;background:#191919;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:5}.brand{font-family:Impact,"DIN Condensed",sans-serif;font-size:40px;line-height:1;text-decoration:none;letter-spacing:-1px}.header nav{display:flex;gap:clamp(16px,2.8vw,40px)}.header nav a{text-decoration:none;padding-block:14px}.header nav a:hover,.footer a:hover{text-decoration:underline}.menu-toggle{background:transparent;border:1px solid #777;color:#fff;padding:8px 12px}.hero{background:linear-gradient(90deg,#1b1b1a,#121212 67%,#343434 78%,#1b1b1b);color:#fff;min-height:580px;height:min(57vw,780px);position:relative;isolation:isolate;overflow:hidden}.hero h1{position:absolute;top:12%;inset-inline:4%;display:flex;justify-content:space-between;font:clamp(76px,19.2vw,290px)/1 Impact,"DIN Condensed",sans-serif;letter-spacing:-.035em;z-index:0}.hero h1 span:last-child{font-size:.98em}.portrait{position:absolute;z-index:1;left:28%;bottom:0;width:49%;height:100%;display:flex;align-items:flex-end;pointer-events:none;}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;}.hero-copy{position:absolute;z-index:2;bottom:7%;left:5.2%;max-width:29%;text-shadow:0 1px 8px #000}.hero-copy .occupation{font-size:clamp(21px,2.6vw,36px);line-height:1.2}.hero-copy>p+p{font-size:clamp(18px,2vw,27px);line-height:1.2}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 17px;margin-top:22px;text-decoration:none;text-transform:uppercase;font-size:17px;line-height:1.2;border:1px solid currentColor;min-height:46px}.button span,.text-link span{font-family:Arial,sans-serif;font-size:26px}.button:hover{background:#555;color:#fff}.light{background:#171717a6;color:#fff}.dark{background:#191919;color:#fff}.section{padding-block:56px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.24em;font-size:17px;margin-bottom:18px}.services{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:30px}.services h2{text-transform:uppercase;font-size:clamp(40px,5vw,68px)}.services article{padding-left:30px;border-left:1px solid #333;display:flex;flex-direction:column;align-items:flex-start}.service-symbol{font-size:40px;line-height:1;margin-bottom:20px}.services p{font-size:21px}.text-link{display:inline-flex;gap:12px;align-items:center;margin-top:24px;font-size:18px}.content{background:#f0f0ef;display:grid;grid-template-columns:1fr 1.35fr;gap:64px}.content article+article{border-left:1px solid #aaa;padding-left:48px}.content h2{max-width:640px}.content p{max-width:600px;font-size:23px}.status{font-size:17px!important;color:#595959;line-height:1.5}.diary,.about,.contact{display:grid;grid-template-columns:1fr 1fr;gap:64px}.diary{border-bottom:1px solid #ddd}.about{background:#f7f7f6}.contact{border-top:1px solid #ddd}.contact-options p:first-child{margin-top:0}.contact-options span{display:block;font-size:18px;color:#595959;margin-bottom:4px}.contact-options a{overflow-wrap:anywhere;font-size:clamp(22px,2.4vw,32px)}.footer{background:#191919;color:#fff;padding-block:40px;display:flex;gap:40px;justify-content:space-between;flex-wrap:wrap}.footer p{font-size:17px;color:#ddd}.footer nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap;max-width:620px}.footer nav a{font-size:18px}.preview-note{flex-basis:100%;border-top:1px solid #555;padding-top:20px}.skip{position:fixed;top:8px;left:8px;z-index:20;background:#fff;color:#111;padding:12px;transform:translateY(-160%)}.skip:focus{transform:translateY(0)}[hidden]{display:none!important}
@media(min-width:1600px){.header,.section,.footer{padding-inline:max(5.2%,calc((100vw - 1500px)/2))}.hero{max-height:800px}.hero h1{font-size:290px}.portrait{width:720px;left:calc(50% - 340px)}.hero-copy{left:max(5.2%,calc((100vw - 1500px)/2))}}
@media(max-width:1000px){.header{min-height:85px}.brand{font-size:32px}.header nav{gap:18px}.services{grid-template-columns:1fr 1fr;gap:40px}.services h2{align-self:center}.services article{padding-left:24px}.hero{min-height:520px}.hero-copy{max-width:33%}.portrait{left:30%;width:53%}.content,.diary,.about,.contact{gap:36px}.content article+article{padding-left:30px}}
@media(max-width:720px){body{font-size:20px}.header{flex-wrap:wrap;padding-block:22px;min-height:80px}.header nav{flex-basis:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px 16px}.header nav a{padding:10px 0}.hero{height:710px;min-height:0}.hero h1{top:7%;font-size:18.7vw;inset-inline:3%}.portrait{width:75%;height:67%;left:16%;bottom:23%}.hero-copy{max-width:none;left:6%;right:6%;bottom:5%;background:linear-gradient(0deg,#191919 50%,#19191900);padding-top:35px}.hero-copy .occupation{font-size:28px}.hero-copy>p+p{font-size:22px}.hero-copy br{display:none}.hero-copy .button{margin-top:16px}.section{padding-block:38px}.services{gap:30px 22px}.services h2{font-size:46px}.services article{padding-left:20px}.services h3{font-size:32px}.services p{font-size:20px}.eyebrow{font-size:15px;letter-spacing:.19em}.content,.diary,.about,.contact{grid-template-columns:1fr;gap:36px}.content article+article{border-left:0;border-top:1px solid #aaa;padding:32px 0 0}.content h2{font-size:46px}.content p{font-size:22px}.footer{gap:28px}.footer nav{gap:20px}.portrait img{object-position:center}}
@media(max-width:400px){.header .brand{font-size:30px}.hero{height:650px}.hero-copy .occupation{font-size:25px}.services{grid-template-columns:1fr}.services h2 br{display:none}.services article{border-left:0;border-top:1px solid #aaa;padding:24px 0 0}.service-symbol{margin-bottom:14px}.services h3 br{display:none}.portrait{width:90%;left:7%;height:64%;bottom:28%}.hero h1{top:6%;font-size:18.5vw}.content h2{font-size:40px}.section h2{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Visual refinement: centered reading areas; the header and hero stay full width. */
:root{--reading-width:1120px;--page-gutter:clamp(20px,4vw,52px);--section-space:clamp(64px,7vw,104px)}
body{font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;font-size:18px;line-height:1.6}
h2,h3{font-family:"Avenir Next Condensed","Arial Narrow",Arial,sans-serif;line-height:1.15}
h2{font-size:clamp(30px,3.1vw,42px)}h3{font-size:clamp(24px,2.2vw,30px)}
.section{max-width:calc(var(--reading-width) + 2 * var(--page-gutter));margin-inline:auto;padding:var(--section-space) var(--page-gutter)}
.hero{width:100%;max-width:none;margin-inline:0}
.hero-copy{font-family:"Avenir Next Condensed","Arial Narrow",Arial,sans-serif}
.hero-copy .occupation{font-size:clamp(23px,2.2vw,30px);line-height:1.3}
.hero-copy>p+p{font-size:clamp(18px,1.65vw,22px);line-height:1.4}
.eyebrow{font-size:12px;letter-spacing:.18em;margin-bottom:20px}
.button{font-size:14px;text-transform:none;letter-spacing:0;padding:12px 18px;gap:18px;line-height:1.35}
.button span,.text-link span{font-size:22px}
.services{grid-template-columns:1.05fr repeat(3,minmax(0,1fr));gap:28px}
.services h2{font-size:clamp(31px,3.2vw,44px);text-transform:none;line-height:1.12}
.services h3{font-size:27px}.services p,.content p{font-size:17px;line-height:1.65}
.services article{padding-left:24px;border-color:#d7d7d4}
.service-symbol{font-size:30px;margin-bottom:24px}
.text-link{font-size:15px;line-height:1.4;margin-top:25px}
.content{background:#f8f8f6;gap:56px;margin-block:20px}
.content article+article{border-color:#dededb;padding-left:44px}
.content h2{max-width:510px;font-size:clamp(30px,3.2vw,43px)}
.diary,.about,.contact{gap:60px}
.diary{border-bottom:0}.about{background:#fafaf8;margin-block:20px}.contact{border-color:#e3e3df}
.status{font-size:15px!important;line-height:1.6}
.contact-options span{font-size:15px}.contact-options a{font-size:clamp(18px,1.8vw,24px)}
.footer{padding-block:56px;padding-inline:max(var(--page-gutter),calc((100% - var(--reading-width))/2));gap:32px}
.footer .brand{font-size:32px}.footer p,.footer nav a{font-size:14px;line-height:1.6}.footer nav{gap:22px}.preview-note{padding-top:28px}
@media(max-width:1100px){.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 32px}}
@media(max-width:720px){body{font-size:17px}.section{padding-block:60px}.services{gap:36px 24px}.services h2{font-size:36px}.services h3{font-size:26px}.services article{padding-left:20px}.services p,.content p{font-size:17px}.content,.diary,.about,.contact{gap:36px}.content h2{font-size:34px}.content article+article{padding:34px 0 0}.hero-copy .occupation{font-size:25px}.hero-copy>p+p{font-size:20px}.footer{padding-block:44px}.eyebrow{font-size:12px}}
@media(max-width:440px){.services{grid-template-columns:1fr}.services h2 br{display:none}.services article{border-left:0;border-top:1px solid #dededb;padding:28px 0 0}.services h3 br{display:none}.section h2{font-size:32px}.content,.about{margin-block:12px}.section{padding-block:52px}.hero-copy .occupation{font-size:23px}}
/* A transparent asset can opt in after inspection; no blending or pixel filters. */
.portrait.is-cutout{mask-image:none;-webkit-mask-image:none}
.portrait.is-cutout img{object-fit:contain;object-position:center bottom;mask-image:none;-webkit-mask-image:none;filter:none;mix-blend-mode:normal}

/* Full viewport hero; in-flow copy can increase its height with text/zoom. */
.hero {
  display:grid;
  width:100%;
  height:auto;
  min-height:100vh;
  min-height:100svh;
  max-height:none;
}
.hero-copy {
  position:relative;
  align-self:end;
  left:auto;
  right:auto;
  bottom:auto;
  margin:clamp(320px,42vh,640px) 0 0 5.2%;
  padding-bottom:clamp(40px,7vh,90px);
  min-width:0;
}
@media(min-width:1600px) {
  .hero-copy {margin-left:max(5.2%,calc((100vw - 1500px)/2))}
}
@media(max-width:720px) {
  .hero h1 {top:32px}
  .portrait {top:50px;bottom:auto;height:clamp(290px,74vw,480px)}
  .hero-copy {
    max-width:none;
    margin:calc(clamp(290px,74vw,480px) + 44px) 6% 0;
    padding:24px 0 40px;
    background:none;
  }
}

/* Approved composition: separate name columns, smaller portrait, flat bands. */
.hero {
  background:#171717;
  isolation:isolate;
}
.hero::before,.hero::after {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  pointer-events:none;
  z-index:-1;
}
.hero::before {left:70%;width:7%;background:#242424}
.hero::after {left:77%;width:12%;background:#2d2d2d}
.hero h1 {
  display:grid;
  grid-template-columns:40% 32% 28%;
  align-items:center;
  top:calc(50% - 7vw);
  bottom:auto;
  inset-inline:4%;
  font-size:clamp(60px,11.6vw,190px);
  line-height:1;
  letter-spacing:-.025em;
}
.hero h1 span:first-child {grid-column:1;justify-self:start}
.hero h1 span:last-child {grid-column:3;justify-self:end;font-size:1em}
.hero .portrait.is-cutout {
  top:50%;
  bottom:auto;
  left:41%;
  width:30%;
  height:auto;
  aspect-ratio:1;
  transform:translateY(-50%);
}
.hero .portrait.is-cutout img {width:100%;height:100%;object-fit:contain;object-position:center}
.hero-copy {background:none;text-shadow:none}
/* Full-bleed gray backgrounds; existing inner measure and vertical spacing stay. */
.section.content,.section.about {
  width:100%;
  max-width:none;
  margin-inline:0;
  padding-inline:max(var(--page-gutter),calc((100% - var(--reading-width))/2));
}
@media(min-width:1640px) {
  .hero h1 {top:calc(50% - 115px)}
  .hero .portrait.is-cutout {width:490px;left:calc(56% - 245px)}
}
@media(max-width:720px) {
  .hero h1 {top:44px;font-size:11.6vw}
  .hero .portrait.is-cutout {
    top:130px;
    left:50%;
    width:64%;
    max-width:360px;
    height:auto;
    transform:translateX(-50%);
  }
  .hero-copy {
    margin-top:calc(min(64vw,360px) + 154px);
    padding-top:24px;
  }
}

/* Integrated hero: crop terminates at the banner base; one flat gray band. */
:root {--site-header-height:98px}
.hero {
  --portrait-size:min(46vw,calc((100svh - var(--site-header-height)) * .98));
  min-height:calc(100vh - var(--site-header-height));
  min-height:calc(100svh - var(--site-header-height));
  grid-template-rows:minmax(180px,1fr) auto;
  background:#171717;
}
.hero::before {left:70%;width:19%;background:#292929}
.hero::after {display:none}
.hero h1 {top:20%;font-size:clamp(60px,12.4vw,190px)}
.hero .portrait.is-cutout {
  top:auto;
  bottom:0;
  left:56%;
  width:var(--portrait-size);
  max-width:none;
  height:var(--portrait-size);
  transform:translateX(-50%);
}
.hero .portrait.is-cutout img {object-fit:contain;object-position:center bottom}
.hero-copy {
  grid-row:2;
  max-width:29%;
  margin:0 0 0 5.2%;
  padding:28px 0 clamp(32px,5vh,64px);
}
@media(max-width:1000px) and (min-width:721px) {.hero-copy{max-width:33%}}
@media(max-width:720px) {
  .hero {--portrait-size:min(74vw,380px);grid-template-rows:auto auto;min-height:calc(100svh - var(--site-header-height));padding-top:26px;padding-bottom:var(--portrait-size)}
  .hero h1 {position:relative;top:auto;inset-inline:auto;margin:0 4%;font-size:12.4vw;grid-row:1;align-self:start}
  .hero .portrait.is-cutout {left:56%;top:auto;bottom:0;width:var(--portrait-size);height:var(--portrait-size)}
  .hero-copy {grid-row:2;max-width:none;margin:20px 6% 0;padding:0 0 26px;align-self:start}
  .hero-copy .occupation {font-size:22px}
  .hero-copy>p+p {font-size:18px}
}

@media(max-width:720px){.hero{align-content:start}.hero-copy{margin-top:24px}}

/* Expanded portrait is 3:4. Preserve the entire frame and both shoulders. */
.hero {--portrait-width:min(46vw,calc((100svh - var(--site-header-height)) * .72));--portrait-size:calc(var(--portrait-width) * 4 / 3)}
.hero .portrait.is-cutout {width:var(--portrait-width);height:var(--portrait-size);aspect-ratio:3 / 4;overflow:visible}
.hero .portrait.is-cutout img {width:100%;height:100%;object-fit:contain;object-position:center bottom}
@media(max-width:720px){
  .hero {--portrait-width:min(82vw,340px);--portrait-size:calc(var(--portrait-width) * 4 / 3)}
  .hero .portrait.is-cutout {left:50%;width:var(--portrait-width);height:var(--portrait-size)}
  .hero-copy br {display:initial}
}

/* Definitive original photograph; its real aspect ratio controls every layout. */
.hero {--photo-ratio:0.6444444444;--portrait-size:calc((100svh - var(--site-header-height)) * .98);--portrait-width:calc(var(--portrait-size) * var(--photo-ratio))}
.hero .portrait.is-cutout {aspect-ratio:1160 / 1800;max-width:48%;height:var(--portrait-size);width:var(--portrait-width)}
.hero .portrait.is-cutout img {object-fit:contain;object-position:center bottom}
@media(max-width:1000px) {
 .header {flex-wrap:wrap;padding-block:20px;min-height:80px}
 .header nav {flex-basis:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px}
 .header nav a {padding:10px 0}
 .hero {display:flex;flex-direction:column;min-height:calc(100svh - var(--site-header-height));padding:26px 0 0;--portrait-width:min(70vw,380px);--portrait-size:calc(var(--portrait-width) / var(--photo-ratio))}
 .hero h1 {position:relative;inset:auto;order:1;flex:none;margin:0 4%;font-size:12.4vw;align-self:stretch}
 .hero-copy {order:2;position:relative;align-self:stretch;max-width:none;margin:24px 6% 0;padding:0 0 22px;left:auto;right:auto;bottom:auto}
 .hero-copy .occupation {font-size:22px;line-height:1.3}
 .hero-copy>p+p {font-size:18px;line-height:1.4;margin-top:12px}
 .hero-copy .button {margin-top:16px}
 .hero-copy br {display:initial}
 .hero .portrait.is-cutout {order:3;position:relative;flex:none;left:auto;right:auto;top:auto;bottom:auto;transform:none;width:var(--portrait-width);height:var(--portrait-size);max-width:none;margin:auto auto 0}
}
@media(max-width:1000px) and (max-height:540px) and (orientation:landscape) {
 .hero {display:grid;grid-template-rows:auto auto;min-height:420px;--portrait-size:clamp(280px,78svh,400px);--portrait-width:calc(var(--portrait-size) * var(--photo-ratio))}
 .hero h1 {grid-row:1;margin:0 4%;font-size:11vw}
 .hero-copy {grid-row:2;max-width:44%;margin:28px 0 0 5.2%;padding-bottom:30px}
 .hero .portrait.is-cutout {position:absolute;left:auto;right:9%;bottom:0;top:auto;margin:0;transform:none}
}

@media(max-width:400px) and (orientation:portrait){.hero{--portrait-width:min(86vw,340px)}}

/* Approved compact composition: unchanged original pixels, chest crop in CSS. */
.hero {--hero-gutter:max(var(--page-gutter),calc((100% - var(--reading-width))/2));--chest-height:calc((100svh - var(--site-header-height)) * .94)}
.hero h1 {inset-inline:var(--hero-gutter);top:19%;grid-template-columns:38% 29% 33%;font-size:clamp(94px,10.6vw,153px);letter-spacing:-.035em}
.hero h1 span:first-child {justify-self:end}
.hero h1 span:last-child {justify-self:start}
.hero .portrait.is-cutout {left:56%;width:calc(var(--chest-height) * .928);height:var(--chest-height);max-width:none;aspect-ratio:auto;overflow:hidden}
.hero .portrait.is-cutout img {position:absolute;top:0;left:0;width:100%;height:auto;max-width:none;object-fit:contain}
.hero-copy {margin-left:var(--hero-gutter);max-width:27%;padding-bottom:40px}
@media(max-width:1000px) {
 .hero {display:flex;min-height:0;height:auto;padding-top:24px;padding-bottom:0;gap:0}
 .hero h1 {display:flex;justify-content:center;gap:.13em;inset:auto;margin:0 var(--page-gutter);font-size:clamp(48px,13vw,104px);line-height:1;letter-spacing:-.025em}
 .hero h1 span {flex:none}
 .hero-copy {margin:18px var(--page-gutter) 12px;padding:0;max-width:none;text-align:center}
 .hero-copy .occupation {font-size:20px;line-height:1.25}
 .hero-copy>p+p {font-size:17px;line-height:1.35;margin-top:8px}
 .hero-copy .button {margin-top:12px;padding:9px 14px;min-height:42px}
 .hero-copy br {display:inline}
 .hero-copy br::after {content:" "}
 .hero .portrait.is-cutout {position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;margin:0 auto;width:min(90%,500px);height:auto;aspect-ratio:1160 / 1250;max-width:none}
}
@media(max-width:1000px) and (max-height:540px) and (orientation:landscape) {
 .hero {display:grid;grid-template-rows:auto 1fr;min-height:420px;padding-top:24px}
 .hero h1 {justify-content:flex-start;font-size:9vw;gap:.13em;grid-row:1}
 .hero-copy {grid-row:2;max-width:40%;text-align:left;margin:22px 0 28px var(--page-gutter);align-self:end}
 .hero .portrait.is-cutout {position:absolute;right:4%;left:auto;bottom:0;top:auto;width:43%;height:auto;aspect-ratio:1160 / 1250;margin:0}
}

@media(min-width:1001px){.hero h1 span:last-child{padding-left:22px}}

/* Mobile visual block ends at the chest; introduction follows in normal flow. */
@media(max-width:1000px) and (orientation:portrait) {
 .hero .portrait.is-cutout {order:2;margin:0 auto}
 .hero-copy {order:3;margin:0;max-width:none;width:100%;padding:24px var(--page-gutter) 32px;background:#171717}
 .hero-copy .occupation {margin-top:0}
}

/* Outlined name: left edge matches the introduction; both words end above the shoulders. */
.hero h1 svg {display:block;width:100%;height:100%;overflow:visible}
@media(min-width:1001px) {
 .hero {--name-gap:clamp(20px,1.8vw,34px);--name-width:calc(56vw - var(--chest-height) * .166 - var(--name-gap) - max(var(--page-gutter),calc((100vw - var(--reading-width))/2)));--name-height:calc(var(--name-width) / 2.12)}
 .hero h1 {display:block;inset:0;margin:0;font-size:inherit;pointer-events:none}
 .hero h1 span {position:absolute;top:calc(100% - var(--chest-height) * .55 - var(--name-height));height:var(--name-height);padding:0}
 .hero h1 span:first-child {left:var(--hero-gutter);right:auto;width:var(--name-width)}
 .hero h1 span:last-child {left:calc(56% + var(--chest-height) * .157 + var(--name-gap));width:calc(var(--name-height) * 1.4);padding-left:0}
}
@media(max-width:1000px) {
 .hero h1 {gap:3vw}
 .hero h1 span:first-child {width:49vw;height:23vw;max-width:424px;max-height:200px}
 .hero h1 span:last-child {width:32.4vw;height:23vw;max-width:280px;max-height:200px;padding:0}
}
@media(max-width:1000px) and (max-height:540px) and (orientation:landscape) {
 .hero h1 {gap:2vw}
 .hero h1 span:first-child {width:27.6vw;height:13vw}
 .hero h1 span:last-child {width:18.2vw;height:13vw}
}

/* Local composition trial: lift the name and place the larger introduction 20px below it. */
@media(min-width:1001px) {
 .hero h1 span {top:calc(100% - var(--chest-height) * .55 - var(--name-height) - 10px)}
 .hero-copy {position:absolute;top:calc(100% - var(--chest-height) * .55 - 10px + 20px);left:var(--hero-gutter);right:auto;bottom:auto;margin:0;padding:0;max-width:29%}
 .hero-copy .occupation {margin-top:0;font-size:clamp(28px,2.4vw,36px);line-height:1.25}
 .hero-copy>p+p {font-size:clamp(23px,1.9vw,28px);line-height:1.3;margin-top:14px}
 .hero-copy .button {font-size:18px;line-height:1.3;padding:13px 18px;margin-top:18px}
}

/* Responsive hero: introduction above portrait, one line per paragraph. */
@media(max-width:1000px) {
 .hero h1 {display:none}
 .hero-copy {order:1;grid-row:1;position:relative;inset:auto;align-self:stretch;max-width:none;width:100%;margin:0;padding:12px var(--page-gutter) 24px;text-align:center;background:transparent}
 .hero-copy br {display:none}
 .hero-copy .occupation {margin-top:0;font-size:clamp(14px,4.4vw,32px);line-height:1.35;white-space:nowrap}
 .hero-copy>p+p {font-size:clamp(13px,4vw,29px);line-height:1.4;white-space:nowrap;margin-top:10px}
 .hero-copy .button {margin-top:16px}
 .hero .portrait.is-cutout {order:2}
}
@media(max-width:1000px) and (max-height:540px) and (orientation:landscape) {
 .hero {display:flex;flex-direction:column;min-height:0}
 .hero .portrait.is-cutout {position:relative;inset:auto;transform:none;width:min(70vw,380px);height:auto;aspect-ratio:1160 / 1250;margin:0 auto}
}

/* Temporary public homepage: preserve the approved hero. */
.construction{position:relative;isolation:isolate;scroll-margin-top:20px;overflow:clip}
.construction-content{filter:blur(3px);opacity:.22;pointer-events:none;user-select:none}
.construction-overlay{position:absolute;inset:0;z-index:2;background:rgba(238,238,238,.48);padding:clamp(40px,8vw,100px) 24px}
.construction-label{position:sticky;top:35vh;max-width:620px;margin:0 auto;padding:32px 24px;background:#191919;color:#fff;text-align:center;border:1px solid #555;box-shadow:0 12px 40px #0002}
.construction-label h2{font-family:"Avenir Next Condensed","Arial Narrow",Arial,sans-serif;font-size:clamp(30px,6vw,60px);line-height:1.1;margin:0;text-transform:uppercase}

.quick-links{display:grid;gap:12px;margin-top:28px;text-align:left}
.quick-links a{display:block;border:1px solid #777;padding:12px 16px;text-decoration:none;font:16px/1.4 "Avenir Next",Arial,sans-serif;color:#fff;overflow-wrap:anywhere}
.quick-links a:hover,.quick-links a:focus-visible{background:#383838;outline:2px solid #fff;outline-offset:3px}

@media(max-width:720px){.construction-label{top:20px;padding:24px 18px}}

/* Responsive composition: photograph first, introduction and CTA below. */
@media(max-width:1000px) {
 .hero .portrait.is-cutout {order:1}
 .hero-copy {order:2;grid-row:auto;padding-top:24px;background:#171717}
}

/* Responsive preview: omit the occupation line. */
@media(max-width:1000px) {
 .hero-copy .occupation {display:none}
 .hero-copy>p+p {margin-top:0}
}

/* Responsive preview: blend the chest crop into the hero background. */
@media(max-width:1000px) {
 .hero .portrait.is-cutout::after {content:"";position:absolute;inset:auto 0 0;height:76px;background:linear-gradient(to bottom,rgba(23,23,23,0),#171717);pointer-events:none}
 .hero-copy {padding-top:18px}
}

/* Responsive subtitle enlarged to match the portrait's visual width. */
@media(max-width:1000px) {
 .hero-copy>p+p {font-size:clamp(15px,4.8vw,34px)}
}

/* Desktop gray band fades into the hero below the shoulders. */
@media(min-width:1001px) {
 .hero::before {background:linear-gradient(to bottom,#292929 0%,#292929 56%,#171717 100%)}
}

/* Desktop band follows the outlined E positions in LEME. */
@media(min-width:1001px) {
 .hero::before {left:calc(56% + var(--chest-height) * .157 + var(--name-gap) + var(--name-height) * 1.4 * .297734628);width:calc(var(--name-height) * 1.4 * .702265372)}
}

/* Mobile navigation floats below the toggle without moving the hero. */
@media(max-width:1000px) {
 .header {z-index:10}
 .header nav {position:absolute;top:calc(100% - 4px);right:5.2%;left:auto;bottom:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;width:min(260px,89.6vw);max-height:calc(100svh - 110px);overflow-y:auto;overscroll-behavior:contain;padding:8px;flex-basis:auto;background:rgba(35,35,35,.94);border:1px solid rgba(255,255,255,.14);border-radius:10px;box-shadow:0 14px 36px #0005;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);text-align:left}
 .header nav a {display:block;width:100%;padding:12px 16px;font-size:17px;line-height:1.35;text-align:left;border-radius:5px;min-height:46px}
 .header nav a+a {border-top:1px solid rgba(255,255,255,.08)}
 .header nav a:hover,.header nav a:focus-visible {background:rgba(255,255,255,.09);text-decoration:none}
 .header nav a:focus-visible {outline-offset:-3px}
 .menu-toggle[aria-expanded="true"] {background:rgba(255,255,255,.08);border-color:#aaa}
}
