/* Geometry from the supplied 2514 × 1180 mockups.
   CSS correction 2026-09-25: no local text backplates and no text shadows. */
.home-template-active{--home-unit:calc(100vw / 2514)}
.home-template-active .portfolio-hero{
 width:100%;height:auto;min-height:0;aspect-ratio:2514 / 1180;
 background:#151515;color:#fff;overflow:hidden;
}
.home-template-active .hero-backgrounds{background:#151515}
.home-template-active .hero-background{object-fit:contain;filter:none}
.home-template-active .hero-shade{background:rgba(0,0,0,calc(var(--home-overlay) / 100));opacity:1}
.home-template-active .hero-identity{
 position:absolute;top:calc(var(--home-mark-top) * 1%);left:calc(var(--home-mark-left) * 1%);
 margin:0;padding:0;width:max-content;max-width:58%;text-align:left;z-index:3;
}
.home-template-active .hero-identity h1{
 font-family:var(--serif);font-size:max(16px,calc(var(--home-mark-size) * var(--home-unit)));
 font-weight:var(--wordmark-weight,400);font-synthesis:var(--wordmark-weight-synthesis,none);
 line-height:1.12;letter-spacing:calc(var(--home-mark-tracking) * var(--home-unit));
 text-transform:uppercase;margin:0;white-space:normal;overflow-wrap:anywhere;
}
.home-template-active .hero-identity h1 a{display:block;padding:.11em .1em .13em .22em;text-indent:0}
.home-template-active .hero-name{
 font-size:max(14px,calc(var(--home-name-size) * var(--home-unit)));line-height:1.12;
 font-weight:var(--hero-name-weight,400);font-synthesis:var(--hero-name-weight-synthesis,none);
 display:table;width:fit-content;max-width:100%;margin:calc(var(--home-name-gap) * var(--home-unit)) 0 0;
 padding:.1em .26em;letter-spacing:0;white-space:pre-line;
}
.home-template-active .hero-name.align-center{margin-left:auto;margin-right:auto;padding:.1em .26em;text-align:center}
.home-template-active .hero-name.align-left{margin-left:0;margin-right:auto;text-align:left}
.home-template-active .hero-tagline{
 left:auto;right:calc(var(--home-tag-right) * 1%);bottom:calc(var(--home-tag-bottom) * 1%);
 font-family:var(--serif);font-size:max(20px,calc(var(--home-tag-size) * var(--home-unit)));
 font-weight:var(--hero-tagline-weight,400);font-synthesis:var(--hero-tagline-weight-synthesis,none);
 line-height:1.12;letter-spacing:calc(var(--home-tag-tracking) * var(--home-unit));
 padding:.13em .24em .17em;max-width:49%;width:max-content;text-wrap:normal;text-align:right;z-index:3;
}
.bw-home-amp{font-family:var(--home-amp-family,"Times New Roman",Times,serif);font-size:calc(var(--home-amp-size,94) * 1%);font-style:normal;vertical-align:calc(var(--home-amp-shift,0) * .01em);letter-spacing:0}
.home-template-active .hero-foreground .site-header{
 position:absolute!important;inset:calc(var(--home-nav-top) * 1%) calc(var(--home-nav-right) * 1%) auto auto;
 padding:0;gap:0;max-width:48%;width:max-content;z-index:6;background:transparent;color:#fff;box-shadow:none;
}
.home-template-active .site-nav{
 font-size:max(14px,calc(var(--home-nav-size) * var(--home-unit)));line-height:1.2;
 letter-spacing:0;gap:calc(var(--home-nav-gap) * var(--home-unit));margin:0;
 padding:0 .3em;min-width:0;max-width:100%;flex-wrap:wrap;
}
.home-template-active .site-nav a{color:inherit;padding:.16em 0;min-height:32px;display:flex;align-items:center}
.home-template-active .hero-foreground .site-header.is-scrolled{
 position:fixed!important;inset:0 0 auto 0;width:100%;max-width:none;justify-content:space-between;
 padding:12px 5%;background:#faf9f6;color:#28332e;box-shadow:0 1px 0 #deded9;
}
.home-template-active .site-header.is-scrolled .site-nav{font-size:17px;gap:26px;background:transparent;padding:0}
.home-template-active .site-header.is-scrolled .compact-brand{font-size:15px;letter-spacing:.28em;background:transparent;color:#28332e}
.home-template-active .hero-bottom{left:5%;right:auto;bottom:3.8%;gap:0;margin:0;max-width:44%;z-index:3}
.home-template-active .scroll-link{display:none}
.home-template-active .slideshow-controls{gap:6px;flex-wrap:wrap;padding:2px 8px}
.home-template-active .slide-dot{width:32px;height:36px}
.home-template-active .slide-pause{width:36px;min-width:36px;height:36px;padding:0;border:0;border-radius:0;display:grid;place-items:center;background:transparent;color:#fff}
.home-template-active .slide-pause-label{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.home-template-active .slide-count{font:12px/1.4 Arial,sans-serif;letter-spacing:.06em;margin:0 5px}
/* Plain lettering in all existing contrast presets. Stored selections are kept;
   none of them adds a black/translucent backplate or a text shadow. */
.home-template-active :is(.hero-identity h1 a,.hero-name,.hero-tagline,.site-nav,.slideshow-controls){background-color:transparent;background-image:none;border-radius:2px;text-shadow:none}
.home-template-active .site-nav{color:inherit}
.home-template-active .hero-edit{top:24%;right:3%;z-index:8}
.home-template-active .hero-demo{bottom:0;background:transparent;padding:2px 8px;text-shadow:none}
/* On narrow displays preserve the WHOLE composition rather than cropping faces away. */
@media(max-width:760px){
 .home-template-active .portfolio-hero{aspect-ratio:auto;display:flex;flex-direction:column;overflow:hidden;padding:0 0 20px;min-height:0;height:auto}
 .home-template-active .hero-foreground{display:contents}
 .home-template-active .hero-shade{display:none}
 .home-template-active .hero-identity{position:relative;left:auto;top:auto;order:0;margin:26px 22px 0;padding:0;max-width:calc(100% - 44px);width:fit-content;align-self:flex-start}
 .home-template-active .hero-identity h1{font-size:clamp(16px,3.5vw,24px);letter-spacing:clamp(5px,1.85vw,13px);line-height:1.3}
 .home-template-active .hero-name,.home-template-active .hero-name.align-center,.home-template-active .hero-name.align-left{font-size:17px;line-height:1.4;margin-top:2px}
 .home-template-active .hero-foreground .site-header{position:relative!important;inset:auto;order:1;margin:13px 22px 17px;max-width:calc(100% - 44px);width:auto;align-self:stretch}
 .home-template-active .site-nav{font-size:17px;line-height:1.4;gap:24px;justify-content:flex-start;flex-wrap:wrap;padding:0}
 .home-template-active .site-nav a{min-height:36px}
 .home-template-active .hero-backgrounds{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:2514 / 1180;order:2;overflow:hidden}
 .home-template-active .hero-tagline{position:relative;inset:auto;order:3;margin:22px 22px 0;align-self:flex-end;max-width:calc(100% - 44px);font-size:clamp(24px,5.3vw,36px);line-height:1.3;letter-spacing:.015em}
 .home-template-active .hero-bottom{position:relative;inset:auto;order:4;margin:14px 22px 0;max-width:calc(100% - 44px);align-self:flex-start}
 .home-template-active .hero-foreground .site-header.is-scrolled{position:fixed!important;inset:0 0 auto;width:100%;max-width:none;margin:0;padding:10px 20px;gap:8px;flex-wrap:wrap}
 .home-template-active .site-header.is-scrolled .compact-brand{font-size:12px;letter-spacing:.2em}
 .home-template-active .site-header.is-scrolled .site-nav{font-size:16px;gap:18px;flex-wrap:wrap}
 .home-template-active .hero-demo{position:relative;inset:auto;order:5;margin:15px 22px 0;font-size:11px}
 .home-template-active .hero-edit{top:8px;right:10px;font-size:11px}
}
/* Large editorial copy can reflow instead of hiding beneath the other text regions. */
.home-template-active.home-layout-reflow .portfolio-hero{aspect-ratio:auto;min-height:calc(100vw * 1180 / 2514 + var(--home-flow-extra,0px));}
.home-layout-reflow .hero-identity{max-width:85%}
.home-layout-reflow .hero-foreground .site-header:not(.is-scrolled){top:var(--home-flow-nav,22%);left:5%;right:5%;max-width:90%;width:auto}
.home-layout-reflow .site-nav{justify-content:flex-end}
.home-template-active .hero-identity :focus-visible,.home-template-active .hero-tagline:focus-visible,.home-template-active .site-nav a:focus-visible{outline:2px solid #fff;outline-offset:4px;box-shadow:0 0 0 6px #151515}
@media(forced-colors:active){
 .home-template-active .portfolio-hero{background:Canvas;color:CanvasText}
 .home-template-active :is(.hero-identity h1 a,.hero-name,.hero-tagline,.site-nav,.slideshow-controls){background:Canvas;color:CanvasText}
 .home-template-active .hero-backgrounds{visibility:hidden}
}
