/* V2 header and responsive projects; preserve the original desktop artboard. */
.hero-v2-stage{position:relative;background:transparent}
.hero-v2{position:relative;width:81.75%;max-width:981px;margin:0 auto;padding:28px 0 24px;color:#161512}
.hero-nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 22px;border-bottom:0;margin-bottom:48px}
.hero-brand{display:inline-flex;align-items:center;gap:14px;font-family:inherit;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:inherit}
.hero-mark{display:block;width:28px;height:28px;object-fit:contain;flex:none}
.hero-nav-links{display:flex;align-items:center;gap:26px;font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.hero-nav a{transition:opacity 160ms ease}.hero-nav a:hover{opacity:.65}.hero-nav a:focus-visible{outline:2px solid #002d29;outline-offset:6px}
.hero-contact{padding:10px 14px;background:#002d29;color:#fff;border-radius:7px}
.hero-bento{display:grid;grid-template-columns:minmax(0,1.375fr) minmax(0,.9fr) minmax(0,1.05fr);grid-template-rows:168px 184px;grid-template-areas:"identity photo right" "statement photo right";gap:12px}
.hero-card{box-sizing:border-box;min-width:0;overflow:hidden;border:1px solid #244b43;border-radius:var(--portfolio-media-radius,14px);background:#ffffffa6}
.hero-identity{grid-area:identity;padding:24px;display:flex;flex-direction:column;justify-content:center;gap:18px}
.hero-identity h1{margin:0;font-size:clamp(28px,4.2vw,50px);line-height:.96;letter-spacing:-.025em;text-transform:uppercase}
.hero-identity p{margin:0;border-top:1px solid #244b4340;padding-top:13px;font-family:"Figtree",system-ui,sans-serif;font-size:calc(min(100vw,1200px) / 60);font-weight:500;line-height:1.35}
.hero-statement{grid-area:statement;background:#002d29;color:#fff;padding:22px 24px}
.hero-accent{display:block;width:26px;height:3px;background:#fff;margin-bottom:16px}
.hero-message{position:relative;margin:0;font-family:"Figtree",system-ui,sans-serif;font-size:clamp(19px,2.1vw,25px);font-weight:500;line-height:1.12;letter-spacing:-.015em}
.hero-v2 .typewriter-keyword.is-highlighted{color:inherit}.hero-v2 .typewriter-cursor{background:#fff;height:1em;width:2px}
.hero-photo{grid-area:photo;padding:10px;background:#ffffff8c}
.hero-photo img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:54% 50%;border-radius:5px}
.hero-right{grid-area:right;display:grid;grid-template-areas:"degree" "focus";grid-template-rows:117.6px minmax(0,1fr);gap:12px;min-width:0}
.hero-degree{grid-area:degree;display:flex;align-items:center;justify-content:center;gap:12px;background:#002d29;color:#fff;padding:20px 14px;font-family:"Figtree",system-ui,sans-serif}
.hero-degree svg{width:22px;height:22px;flex:none}
.hero-degree p{display:flex;align-items:center;gap:9px;white-space:nowrap;margin:0;font-size:clamp(16px,1.7vw,20px);font-weight:500}
.degree-dot{font-weight:400}
.hero-focus{grid-area:focus;padding:12px 16px;font-family:"Figtree",system-ui,sans-serif}
.hero-focus ul{display:grid;grid-template-rows:repeat(3,1fr);height:100%;list-style:none;padding:0;margin:0}
.hero-focus li{display:grid;grid-template-columns:minmax(0,1fr) 47px;align-items:center;gap:8px;border-bottom:1px solid #244b4330}
.hero-focus li:last-child{border-bottom:0}
.hero-metric-label{font-size:calc(min(100vw,1200px) / 60);font-weight:500;white-space:nowrap}

.hero-meter{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;height:11px}
.hero-meter i{border-radius:2px;background:#dcdedb}.hero-meter .is-filled{background:#07584a}
/* Remove only the original header's empty space from the retained artboard. */
.v2-projects-window{overflow:hidden;position:relative}
.v2-projects-window .paper-artboard{margin-top:calc(min(100vw,1200px) * -.6492 + 24px)}
.project-anchor{position:absolute;top:18.44%;left:0;scroll-margin-top:32px}
@media(min-width:768px) and (max-width:1000px){
 .hero-bento{grid-template-columns:minmax(0,1.375fr) minmax(0,.9fr) minmax(0,1.05fr);grid-template-rows:150px 170px;gap:10px}
 .hero-identity,.hero-statement{padding:18px}
 .hero-identity h1{font-size:clamp(26px,3.5vw,35px)}
 .hero-right{grid-template-rows:105px minmax(0,1fr);gap:10px}
 .hero-degree{flex-direction:column;gap:10px}.hero-degree p{font-size:17px}
 .hero-focus{padding:8px 12px}.hero-focus li{grid-template-columns:minmax(0,1fr) 36px;gap:8px}

}
@media(max-width:767px){
 .hero-v2{padding-top:22px;padding-bottom:12px}
 .hero-nav{align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:16px}
 .hero-brand{font-size:10px;gap:8px}.hero-mark{width:22px;height:22px}
 .hero-nav-links{gap:12px;font-size:10px;flex-wrap:wrap;justify-content:flex-end;max-width:58%}.hero-contact{padding:0;background:transparent;color:inherit;border-radius:0}
 .hero-bento{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"identity" "statement" "photo" "right";gap:12px}
 .hero-identity{padding:22px;gap:18px}.hero-identity h1{font-size:clamp(30px,8vw,48px)}.hero-identity p{font-size:16px}
 .hero-statement{padding:22px;min-height:160px}.hero-message{font-size:clamp(21px,5.6vw,28px)}
 .hero-photo{height:230px;padding:12px}.hero-photo img{object-position:50% 43%}
 .hero-right{grid-template-rows:62px 176px;gap:12px}
 .hero-degree{min-height:0;padding:12px 14px}.hero-degree p{font-size:20px}
 .hero-focus{height:176px;padding:8px 20px}.hero-focus li{grid-template-columns:minmax(0,1fr) 66px;gap:12px}.hero-metric-label{font-size:16px}
}

/* Project links match the header Contact button; scale with the artboard. */
.paper-artboard .learn-more-link{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;flex:none;width:auto!important;padding:.833333cqw 1.166667cqw;border-radius:.583333cqw;background:#002d29;color:#fff!important;font-family:"SF Pro Display","Avenir Next","Segoe UI",sans-serif!important;font-size:1cqw!important;font-weight:600!important;line-height:1.25;letter-spacing:.07em;text-decoration:none;white-space:nowrap;transition:opacity 160ms ease}
.paper-artboard .learn-more-link:hover{color:#fff!important;opacity:.65}
.paper-artboard .learn-more-link:focus-visible{outline:2px solid #002d29;outline-offset:4px}

/* Texture ends just above the first project title; its height is measured on resize. */
.paper-section::before{--texture-fade-distance:clamp(96px,13vw,160px);height:var(--v2-texture-height,min(69.167vw,830px));-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - var(--texture-fade-distance)),transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - var(--texture-fade-distance)),transparent 100%)}

/* Trim the original artboard's unused tail: leave ~32px after the final project. */
.v2-projects-window .paper-artboard{margin-bottom:calc(min(100vw,1200px) * -.0933333333)}

/* Reflow the desktop artboard into readable project sections on phones/tablets. */
@media(max-width:900px){
 .hero-v2{width:calc(100% - 40px);max-width:700px;padding:22px 0 24px}
 .hero-nav{align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px}
 .hero-brand{font-size:10px;gap:8px;white-space:nowrap;flex:none}
 .hero-mark{width:22px;height:22px}
 .hero-nav-links{gap:8px;font-size:10px;flex-wrap:nowrap;max-width:none}
 .hero-contact{padding:0;background:transparent;color:inherit;border-radius:0}
 .hero-bento{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:auto;grid-template-areas:"identity identity" "statement statement" "photo right";gap:12px}
 .hero-identity{padding:22px;gap:16px}.hero-identity h1{font-size:clamp(30px,8vw,48px)}.hero-identity p{font-size:16px}
 .hero-statement{padding:22px;min-height:150px}.hero-message{font-size:clamp(21px,5.6vw,28px);line-height:1.18}
 .hero-photo{height:230px;padding:8px}.hero-photo img{object-position:54% 43%}
 .hero-right{grid-template-rows:62px 156px;gap:12px}
 .hero-degree{padding:10px 8px;gap:7px;flex-direction:row;min-height:0}.hero-degree svg{width:17px;height:17px}.hero-degree p{font-size:15px;gap:5px}
 .hero-focus{height:auto;padding:8px 10px}.hero-focus li{grid-template-columns:minmax(0,1fr) 32px;gap:6px}.hero-metric-label{font-size:13px}.hero-meter{gap:1px;height:9px}
 .v2-projects-window{overflow:visible}
 .v2-projects-window .paper-artboard{width:calc(100% - 40px);max-width:700px;aspect-ratio:auto;height:auto;margin:0 auto!important;padding:28px 0 40px;display:flex;flex-direction:column;gap:56px;overflow:visible}
 .project-anchor{top:0;scroll-margin-top:24px}
 .home-project{position:static!important;inset:auto!important;width:100%!important;height:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:20px!important;min-width:0}
 .home-project .project-decoration{display:none}
 .home-project .project-title{position:static!important;inset:auto!important;width:100%!important;height:auto!important;margin:0;font-size:clamp(30px,7.5vw,38px)!important;line-height:1.03!important;letter-spacing:.01em!important;white-space:normal!important;overflow-wrap:normal}
 .home-project .project-description{position:static!important;inset:auto!important;width:100%!important;height:auto!important;font-size:16px!important;line-height:1.5!important;white-space:normal!important}
 .home-project .project-copy{position:static!important;inset:auto!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:16px!important;width:100%!important;height:auto!important}
 .home-project .learn-more-link{position:static!important;inset:auto!important;align-self:flex-start;padding:12px 18px;border-radius:7px;font-size:13px!important;line-height:1.3;min-height:42px}
 .home-project > .project-media{position:static!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:4/3;border-radius:12px;background-size:cover}
 .home-project-facebook > .project-media{order:0;aspect-ratio:1}
 .home-project-facebook > .project-title{order:1;color:#005bfe!important}
 .home-project-facebook > .project-copy{order:2}
 .home-project-tiktok .tiktok-peek-layer{position:relative!important;inset:auto!important;order:0;width:100%!important;height:auto!important;aspect-ratio:1;margin:0}
 .home-project-tiktok .tiktok-copy-layer{position:static!important;inset:auto!important;order:1;display:flex;flex-direction:column;align-items:stretch!important;width:100%!important;height:auto!important;gap:20px!important}
 .home-project-tiktok .tiktok-copy-layer > div:not(.project-title){gap:16px!important}
 .home-project [data-scroll-layer]{transform:none!important;opacity:1!important;will-change:auto}
 .home-project-ad > .project-title{order:1}.home-project-ad > .project-description{order:2}.home-project-ad > .learn-more-link{order:3}
 .home-project-ad .project-visual{position:relative;order:0;width:100%;aspect-ratio:4/3}
 .home-project-ad .project-media{left:0!important;top:0!important;width:84%!important;height:92%!important;border-radius:12px}
 .home-project-ad .project-media-secondary{left:auto!important;right:0;top:auto!important;bottom:0;width:30%!important;height:86%!important;border-radius:18px}
}
@media(max-width:360px){.hero-degree{gap:5px}.hero-degree p{font-size:13px;gap:4px}.hero-metric-label{font-size:12px}.hero-focus li{grid-template-columns:minmax(0,1fr) 26px;gap:4px}}

/* Match the name/role card radius for photographic and project media. */
.hero-photo img,.home-project .project-media,.home-project .project-media-secondary{border-radius:var(--portfolio-media-radius,14px)!important}
