/* ===== v8 — cinematic layer (warm tinted black, film grain, scroll reveals, scene-cut page transitions) ===== */
/* 1. Warm vintage black + grain: lives BEHIND the content, so text, photos, graphics and the showreel stay untouched */
html{background:#131212;}
body{background:transparent !important;}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:
  radial-gradient(130% 90% at 50% -10%,rgba(128,112,104,.075),transparent 62%),
  radial-gradient(100% 80% at 92% 100%,rgba(100,84,90,.05),transparent 60%),
  radial-gradient(150% 120% at 50% 50%,transparent 55%,rgba(0,0,0,.36) 100%),
  #141313;}
body::after{content:"";position:fixed;inset:-50%;z-index:-1;pointer-events:none;opacity:.085;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .97 0 0 0 0 .93 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:220px 220px;animation:v8grain 1.2s steps(1) infinite;}
@keyframes v8grain{0%{transform:translate(0,0)}12%{transform:translate(-3%,2%)}25%{transform:translate(2%,-3%)}37%{transform:translate(-2%,-1%)}50%{transform:translate(3%,3%)}62%{transform:translate(-1%,2%)}75%{transform:translate(2%,-2%)}87%{transform:translate(-3%,-3%)}}
/* hero photos now fade to *transparent* instead of to a solid colour, so the tinted black shows through */
.hero::after,.story-hero::after{display:none !important;}
.hero img,.hero video{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 58%,rgba(0,0,0,.55) 80%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 58%,rgba(0,0,0,.55) 80%,transparent 100%);}
.story-hero img{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.6) 88%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 70%,rgba(0,0,0,.6) 88%,transparent 100%);}
/* header bar when scrolled: soft translucent dark with blur instead of a solid block */
header.scrolled{background:rgba(19,18,18,.62) !important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}

/* 2. Page transition: every page fades up out of black, links fade to black like a cut between scenes */
#v8fade{position:fixed;inset:0;z-index:9999;background:#131212;pointer-events:none;opacity:0;animation:v8in .9s ease .05s both;}
@keyframes v8in{from{opacity:1}to{opacity:0}}
html.v8-leave #v8fade{animation:none;opacity:1;transition:opacity .42s ease;}

/* 3. Scroll reveals */
.v8js .rv{opacity:0;translate:0 24px;transition:opacity 1s ease,translate 1s cubic-bezier(.2,.7,.2,1);}
.v8js .rv.in{opacity:1;translate:0 0;}
.v8js .hl{transition:color 1.5s ease;}
.v8js .hl:not(.lit){color:#f3ede4;}

@media (max-width:700px){body::after{animation:none;}}
@media (prefers-reduced-motion:reduce){body::after{animation:none;}#v8fade{animation:none;}.v8js .rv{opacity:1;translate:none;transition:none;}}

/* ===== header: fully transparent, no bar. Name = soft vintage neon tube that switches on ===== */
header.scrolled{background:transparent !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;}
header.scrolled .nav-side a{text-shadow:0 1px 10px rgba(10,8,7,.7);}
header .brand{transition:color .35s ease;}
header.scrolled .brand{
  color:#fff3dc !important;font-weight:500;
  text-shadow:0 0 2px rgba(255,244,224,.95),0 0 7px rgba(255,214,160,.75),0 0 18px rgba(255,170,95,.5),0 0 38px rgba(255,140,70,.28);
  }
@keyframes v8neon-on{0%{opacity:0}6%{opacity:.9}9%{opacity:.15}16%{opacity:.8}19%{opacity:.25}24%{opacity:1}30%{opacity:.5}34%{opacity:1}100%{opacity:1}}
@keyframes v8neon-flick{0%,52%,100%{opacity:1}53%{opacity:.62}53.6%{opacity:1}54.4%{opacity:.8}55%{opacity:1}
  81%{opacity:1}81.5%{opacity:.7}82%{opacity:1}}
@media(prefers-reduced-motion:reduce){header.scrolled .brand{animation:none;}}

/* ===== resume as a film-credit sheet ===== */
.cv-group{margin-bottom:3.2rem;}
.cv-head{display:grid;grid-template-columns:0.45fr 1.6fr 1fr 1.4fr;gap:1rem;padding:0.7rem 0 0.55rem;border-bottom:1px solid var(--line);font-size:0.6rem;letter-spacing:0.26em;text-transform:uppercase;color:var(--sand-deep);opacity:.8;}
.cv-group:has(.cv-row.edu) .cv-head{grid-template-columns:0.45fr 1.6fr 2.4fr;}
.cv-row{transition:background .35s ease;padding-left:0.1rem;}
.cv-row:hover{background:rgba(243,237,228,.035);}
.cv-row .year{font-variant-numeric:tabular-nums;letter-spacing:0.08em;font-size:0.8rem;}
.cv-row .title{text-transform:uppercase;letter-spacing:0.1em;font-size:0.84rem;font-weight:400;}
.cv-row .title small{text-transform:none;letter-spacing:0.03em;display:block;margin:0.25rem 0 0;font-size:0.74rem;}
.cv-row .role{color:#e9e0d3;}
.cv-row .dir{color:var(--muted,#b9afa3);}
@media(max-width:700px){.cv-head{display:none;}.cv-row .title{font-size:0.8rem;}}

/* feathered fade (not a bar) so scrolling text doesn't collide with the menu and name */
header.scrolled::before{content:"";position:absolute;left:0;right:0;top:0;height:calc(100% + 34px);z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(19,18,18,.74) 0%,rgba(19,18,18,.42) 58%,rgba(19,18,18,0) 100%);}

/* ===== neon contact icons (steady glow, no flicker) + neon "Get in touch" ===== */
.sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.contact .links.neon-icons{gap:clamp(2.6rem,7vw,5rem);align-items:center;margin-top:2.4rem;}
.contact a.ni{display:inline-flex;width:58px;height:58px;padding:0;border:0;color:#fff3dc;position:relative;transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.ni svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 0 1.5px rgba(255,244,224,.95)) drop-shadow(0 0 6px rgba(255,214,160,.75)) drop-shadow(0 0 15px rgba(255,170,95,.5)) drop-shadow(0 0 30px rgba(255,140,70,.28));
  transition:filter .5s ease;}
.contact a.ni:hover,.contact a.ni:focus-visible{transform:scale(1.07);}
.ni:hover svg,.ni:focus-visible svg{filter:drop-shadow(0 0 2px rgba(255,248,235,1)) drop-shadow(0 0 9px rgba(255,220,170,.9)) drop-shadow(0 0 22px rgba(255,175,100,.65)) drop-shadow(0 0 44px rgba(255,140,70,.4));}
.about-foot a{border:0 !important;text-decoration:none;font-family:var(--brandfont);font-weight:500;font-size:1rem;letter-spacing:0.2em;text-transform:uppercase;color:#fff3dc !important;
  text-shadow:0 0 2px rgba(255,244,224,.95),0 0 7px rgba(255,214,160,.75),0 0 18px rgba(255,170,95,.5),0 0 38px rgba(255,140,70,.28);transition:text-shadow .5s ease;}
.about-foot a:hover,.about-foot a:focus-visible{text-shadow:0 0 2px rgba(255,248,235,1),0 0 9px rgba(255,220,170,.9),0 0 22px rgba(255,175,100,.65),0 0 44px rgba(255,140,70,.4);}
html.v8-smooth{scroll-behavior:auto !important;}

/* ===== looping hero video ===== */
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 35%;background:#131212;}
@media(max-width:700px){.hero video{object-position:49% 35%;}}

/* ===== smaller neon contact icons + "Get in touch" (40% smaller) ===== */
.contact .links.neon-icons{gap:clamp(1.8rem,4.5vw,3.2rem);margin-top:1.8rem;}
.contact a.ni{width:35px;height:35px;}
.ni svg{stroke-width:2.7;filter:drop-shadow(0 0 1px rgba(255,244,224,.95)) drop-shadow(0 0 4px rgba(255,214,160,.75)) drop-shadow(0 0 9px rgba(255,170,95,.5)) drop-shadow(0 0 18px rgba(255,140,70,.28));}
.ni:hover svg,.ni:focus-visible svg{filter:drop-shadow(0 0 1.5px rgba(255,248,235,1)) drop-shadow(0 0 5px rgba(255,220,170,.9)) drop-shadow(0 0 13px rgba(255,175,100,.65)) drop-shadow(0 0 26px rgba(255,140,70,.4));}
.about-foot a{font-size:0.62rem;letter-spacing:0.22em;text-shadow:0 0 1px rgba(255,244,224,.95),0 0 4px rgba(255,214,160,.75),0 0 11px rgba(255,170,95,.5),0 0 22px rgba(255,140,70,.28);}
.about-foot a:hover,.about-foot a:focus-visible{text-shadow:0 0 1px rgba(255,248,235,1),0 0 5px rgba(255,220,170,.9),0 0 13px rgba(255,175,100,.65),0 0 26px rgba(255,140,70,.4);}

/* ===== showreel player: black (not white) bars around slimmer / ultrawide videos ===== */
.stage iframe{color-scheme:light;background:#000;border:0;}
.stage.playing{background:#000 !important;}

/* ===== hover / click accent: the same warm white as the neon name, flat (no glow) ===== */
:root{--warm:#fff3dc;}
.index a:hover,.index a:active,.index a:focus-visible{color:var(--warm) !important;background:rgba(255,243,220,.06);}
.index a:hover .arrow,.index a:active .arrow{color:var(--warm) !important;}
header.scrolled .nav-side a:hover,header.scrolled .nav-side a:active,header.scrolled .nav-side a:focus-visible{color:var(--warm) !important;}
.lb-btn:hover,.reel-close:hover{color:var(--warm);}
.legal-links a:hover,.fine a:hover{color:var(--warm);border-color:var(--warm);}


/* ===== quiet buttons: no boxes, just a fine line under the words ===== */
.pill,.films .pill{border:0 !important;border-bottom:1px solid rgba(243,237,228,.3) !important;background:none !important;padding:0.5rem 0.1rem 0.6rem !important;font-size:0.7rem !important;letter-spacing:0.26em !important;color:#e9e0d3 !important;border-radius:0 !important;transition:color .45s ease,border-color .45s ease !important;}
.pill:hover,.pill:active,.pill:focus-visible,.films .pill:hover,.films .pill:active{background:none !important;border-bottom-color:var(--warm) !important;color:var(--warm) !important;}
.pill .ico{width:0.62em;height:0.72em;margin-right:0.9em;vertical-align:-0.02em;}
.links-row,.shortcuts,.films{gap:2.6rem !important;}

/* ===== typography: lighter, more spaced headlines; clear size steps ===== */
h1:not(.statement h1){font-weight:300;font-size:clamp(1.8rem,3.4vw,2.7rem);letter-spacing:0.42em;}
.block-head h2{font-size:0.74rem;letter-spacing:0.36em;color:#cfc5b8;}
.project h3{font-size:clamp(1.05rem,1.9vw,1.35rem);letter-spacing:0.2em;font-weight:300;}
.index a .name{font-size:clamp(1.25rem,3vw,1.85rem) !important;letter-spacing:0.32em !important;font-weight:300 !important;}
.contact h2{font-size:clamp(1rem,2vw,1.25rem) !important;letter-spacing:0.44em !important;}
.eyebrow{font-size:0.68rem;letter-spacing:0.38em;}
.prose p,.intro p{line-height:1.95;}

/* ===== calmer glow everywhere (name, Get in touch, contact icons) ===== */
header.scrolled .brand{text-shadow:0 0 1px rgba(255,244,224,.55),0 0 8px rgba(255,205,150,.28),0 0 22px rgba(255,160,90,.13) !important;animation:none !important;}
header.scrolled .brand.v8-flick{animation:v8neon-on 1.6s linear .45s 1 both !important;}
.about-foot a{text-shadow:0 0 1px rgba(255,244,224,.5),0 0 7px rgba(255,205,150,.25),0 0 18px rgba(255,160,90,.11) !important;}
.about-foot a:hover,.about-foot a:focus-visible{text-shadow:0 0 1px rgba(255,248,235,.65),0 0 9px rgba(255,215,165,.34),0 0 22px rgba(255,165,95,.16) !important;}
.contact a.ni{width:38px;height:38px;}
.ni svg{stroke-width:1.5 !important;filter:drop-shadow(0 0 .6px rgba(255,244,224,.7)) drop-shadow(0 0 4px rgba(255,210,160,.32)) drop-shadow(0 0 11px rgba(255,160,90,.14)) !important;}
.ni:hover svg,.ni:focus-visible svg{filter:drop-shadow(0 0 .8px rgba(255,248,235,.85)) drop-shadow(0 0 5px rgba(255,215,165,.42)) drop-shadow(0 0 13px rgba(255,165,95,.2)) !important;}

.intro > .shortcuts{margin:0 0 4.2rem !important;justify-content:center}
.intro > .training{margin-top:1.4rem !important}
.intro > .shortcuts .pill{font-size:.91rem !important}
.intro > .shortcuts .pill .ico{width:.95em;height:1.14em}

/* ===== plum accents (selection, credit rows, lightbox) ===== */
::selection{background:#6a2b57;color:#fff3dc;}
::-moz-selection{background:#6a2b57;color:#fff3dc;}
.cv-row{margin-left:-.9rem;margin-right:-.9rem;padding-left:.9rem !important;padding-right:.9rem !important;transition:background .5s ease;}
.cv-row:not(.cv-head):hover{background:linear-gradient(90deg,rgba(106,43,87,.34),rgba(106,43,87,.12));}
.lb{background:radial-gradient(ellipse at 40% 45%,#2d1325 0%,#1a0b16 55%,#0f060d 100%) !important;}

/* ===== landing menu: numbered, lighter, plum hairline draws in ===== */
.index{border-top:0 !important;counter-reset:n;}
.index a{position:relative;align-items:center !important;padding:1.9rem 1.2rem !important;border-bottom:1px solid rgba(243,237,228,.1) !important;transition:color .5s ease,background .5s ease !important;}
.index a::before{counter-increment:n;content:"0" counter(n);font-size:.68rem;letter-spacing:.32em;color:rgba(197,139,181,.8);width:3.4rem;flex:none;}
.index a::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:linear-gradient(90deg,#9a4a82,rgba(154,74,130,0));transition:width .8s cubic-bezier(.2,.7,.2,1);}
.index a:hover::after,.index a:focus-visible::after{width:100%;}
.index a .name{margin-right:auto;font-size:clamp(1.05rem,2.4vw,1.45rem) !important;letter-spacing:.42em !important;transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.index a:hover{padding-left:1.2rem !important;}
.index a:hover .name{transform:translateX(.7rem);}
.index a .arrow{font-size:0 !important;width:34px;height:1px;background:currentColor;opacity:.55;position:relative;transition:width .6s cubic-bezier(.2,.7,.2,1),opacity .4s ease !important;transform:none !important;}
.index a .arrow::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);}
.index a:hover .arrow{width:58px;opacity:.95;}
.index a:hover,.index a:active,.index a:focus-visible{background:linear-gradient(90deg,rgba(106,43,87,.30),rgba(106,43,87,0)) !important;}

/* ===== "Show details" link on About stills (shown like the copyright) ===== */
.pair .more{position:absolute;top:0;right:0;padding:.85rem .95rem 2.2rem 2.2rem;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:#fff3dc;background:linear-gradient(to bottom left,rgba(8,7,6,.72),rgba(8,7,6,0) 75%);opacity:0;transition:opacity .35s ease,color .3s ease;z-index:2;}
.pair .more::after{content:" \2192";}
.pair .imgwrap:hover .more,.pair .imgwrap:focus-within .more{opacity:1;}
.pair .more:hover,.pair .more:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:.35em;text-decoration-thickness:1px;}
.pair .more{font-size:.5rem !important;letter-spacing:.2em !important;padding:.6rem .7rem 1.6rem 1.6rem !important;}
.pair .more::after{content:" \2192";font-size:.6em;letter-spacing:0;}
/* refined: tighter scrim, hairline-underlined link */
.pair .more{top:.35rem !important;right:.35rem !important;padding:.5rem .75rem .75rem 1rem !important;background:radial-gradient(ellipse 100% 100% at 100% 0,rgba(8,7,6,.5) 0%,rgba(8,7,6,.22) 45%,rgba(8,7,6,0) 75%) !important;font-weight:300;text-decoration:underline;text-decoration-color:rgba(255,243,220,.38);text-decoration-thickness:1px;text-underline-offset:.55em;transition:opacity .35s ease,text-decoration-color .4s ease,color .3s ease !important;}
.pair .more::after{content:"\2192";margin-left:.55em;font-size:.7em;display:inline-block;transition:transform .4s cubic-bezier(.2,.7,.2,1);}
.pair .more:hover,.pair .more:focus-visible{text-decoration-color:#fff3dc;text-underline-offset:.55em;}
.pair .more:hover::after{transform:translateX(3px);}
.pair .more{top:0 !important;right:0 !important;padding:.85rem 1.05rem 1.1rem 1.4rem !important;}

/* copyright + "Show details": hover on desktop, tap on phone */
.pair .more{pointer-events:none;}
.pair .imgwrap:hover .more,.pair .imgwrap:focus-within .more,.pair .imgwrap.tap .more{opacity:1;pointer-events:auto;}
.pair .imgwrap.tap .copy{opacity:1;}

/* ===== bottom overview (replaces the mid-page menu): quiet three-column sitemap, no lines ===== */
.contact.foot{text-align:left;padding:8rem clamp(1.5rem,6vw,4rem) 3.2rem;}
.foot-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem clamp(2rem,6vw,5rem);max-width:1100px;margin:0 auto;}
.contact.foot .foot-col h2{font-family:var(--body,'Jost',sans-serif) !important;font-weight:400 !important;font-size:.7rem !important;letter-spacing:.42em !important;text-transform:uppercase;color:rgba(233,224,211,.5) !important;margin:0 0 1.9rem !important;text-shadow:none !important;}
.contact.foot ul{list-style:none;margin:0;padding:0;}
.contact.foot li{margin:0 0 1.15rem;}
.contact.foot .foot-col ul a{display:inline-block;border:0 !important;padding:0 !important;font-size:.82rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(243,237,228,.86) !important;text-decoration:none;transition:color .4s ease,transform .5s cubic-bezier(.2,.7,.2,1);}
.contact.foot .foot-col ul a:hover,.contact.foot .foot-col ul a:focus-visible{color:var(--warm) !important;transform:translateX(.35rem);}
.contact.foot .links.neon-icons{justify-content:flex-start !important;margin-top:0 !important;}
.contact.foot .fine{max-width:1100px;margin:6.5rem auto 0;text-align:left;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(233,224,211,.38) !important;}
@media(max-width:720px){.foot-grid{grid-template-columns:1fr;gap:3.2rem;}.contact.foot{padding-top:6rem;}.contact.foot .fine{margin-top:4rem;}}
.contact.foot .fine,.contact.foot .fine.rv{opacity:1 !important;translate:none !important;}

/* ===== footer: two centred columns ===== */
.contact.foot{text-align:center;}
.foot-grid{grid-template-columns:1fr !important;justify-items:center;max-width:520px !important;gap:3.2rem !important;}
.foot-col{text-align:left;}
.contact.foot .fine{text-align:center !important;}
@media(max-width:720px){.foot-grid{grid-template-columns:1fr !important;justify-items:center;}.foot-col{text-align:center;}.contact.foot .links.neon-icons{justify-content:center !important;}}

/* ===== champagne accent (resume, active-scene underline, footer headings only) ===== */
:root{--champ:#c9ae80;--champ-dim:rgba(201,174,128,.62);}
.cv-row .year{color:var(--champ) !important;}
.thumb.active{box-shadow:inset 0 -3px 0 var(--champ) !important;}
.cv-head{color:var(--champ-dim) !important;}
.contact.foot .foot-col h2{color:var(--champ-dim) !important;}
.contact.foot .fine{color:rgba(233,224,211,.38) !important;}

/* ===== resume typography: champagne tabular years, small-caps roles & directors ===== */
.cv-row .year{font-variant-numeric:tabular-nums lining-nums;letter-spacing:.14em;font-size:.8rem !important;font-weight:400;}
.cv-row .title{font-weight:400;letter-spacing:.01em;font-size:1.06rem !important;}
.cv-row .role,.cv-row .dir{font-size:.7rem !important;letter-spacing:.2em !important;text-transform:uppercase;font-weight:400;color:rgba(233,224,211,.62) !important;}
.cv-row .title small{font-size:.66rem !important;letter-spacing:.2em !important;text-transform:uppercase;color:var(--champ-dim) !important;}
.cv-row:not(.cv-head):hover .title{color:var(--warm);}

/* footer: single centred column everywhere; desktop text a touch smaller */
.foot-col{text-align:center !important;}
.contact.foot .links.neon-icons{justify-content:center !important;}
.contact.foot .foot-col ul a:hover,.contact.foot .foot-col ul a:focus-visible{transform:none;}
@media(min-width:721px){
  .contact.foot{padding-top:6.5rem;padding-bottom:2.6rem;}
  .contact.foot .foot-col h2{font-size:.6rem !important;margin-bottom:1.5rem !important;letter-spacing:.4em !important;}
  .contact.foot li{margin-bottom:.95rem;}
  .contact.foot .foot-col ul a{font-size:.7rem;letter-spacing:.24em;}
  .contact.foot .fine{margin-top:4.5rem;font-size:.6rem;}
  .foot-grid{gap:2.8rem !important;}
}
/* contact icons 30% smaller */
.contact a.ni{width:27px !important;height:27px !important;}
.contact .links.neon-icons{gap:clamp(1.4rem,3.4vw,2.4rem) !important;}

/* ===== Josefin Sans: top bar (name + menu) and "Get in touch" ===== */
@font-face{font-family:'Josefin Sans';font-weight:200;font-style:normal;font-display:swap;src:url(fonts/josefin-200.woff2) format('woff2');}
@font-face{font-family:'Josefin Sans';font-weight:300;font-style:normal;font-display:swap;src:url(fonts/josefin-300.woff2) format('woff2');}
@font-face{font-family:'Josefin Sans';font-weight:400;font-style:normal;font-display:swap;src:url(fonts/josefin-400.woff2) format('woff2');}
@font-face{font-family:'Josefin Sans';font-weight:500;font-style:normal;font-display:swap;src:url(fonts/josefin-500.woff2) format('woff2');}
header .brand{font-family:'Josefin Sans','Jost','Helvetica Neue',sans-serif !important;font-weight:400 !important;}
header .nav-side a{font-family:'Josefin Sans','Jost','Helvetica Neue',sans-serif !important;font-weight:400 !important;}
.about-foot a{font-family:'Josefin Sans','Jost','Helvetica Neue',sans-serif !important;font-weight:300 !important;}

/* ===== resume: headings in champagne ===== */
.cv-group .eyebrow,.block-head h2.champ{color:var(--champ) !important;}

/* ===== deep plum at the bottom of every page ===== */
.plumfoot,.contact.foot{background:linear-gradient(to bottom,rgba(66,24,52,0) 0%,rgba(66,24,52,.5) 45%,rgba(78,28,62,.88) 100%) !important;}
.plumfoot{margin-top:5rem;padding-top:5rem;}
.plumfoot .about-foot{margin-top:0;}
.plumfoot .about-foot{border-top:0 !important;}
.plumfoot{margin-top:2rem;}
/* deep plum bottom block: solid #381c37 with a sharp top edge (no fade) */
.plumfoot,.contact.foot{background:#1f191d !important;}
.plumfoot{margin-top:3rem;}

/* ===== landing: full-screen stills from The Art of Survival ===== */
.fs-stills{display:flex;flex-direction:column;gap:.9rem;margin:3rem 0 0;}
.fs{position:relative;width:100%;height:100vh;height:100svh;overflow:hidden;background:#0d0c0c;}
.fs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.fs .fs-cap{position:absolute;left:clamp(1rem,3vw,2.2rem);bottom:clamp(1rem,3vw,2rem);font-size:.62rem;letter-spacing:.24em;color:#fff3dc;opacity:0;transition:opacity .4s ease;text-shadow:0 0 14px rgba(0,0,0,.7);pointer-events:none;z-index:2;}
.fs::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(to top,rgba(8,7,6,.5),rgba(8,7,6,0));opacity:0;transition:opacity .4s ease;pointer-events:none;}
.fs .more{position:absolute;top:0;right:0;padding:1.1rem clamp(1rem,3vw,2.2rem) 1.4rem 1.6rem;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;text-decoration:underline;text-decoration-color:rgba(255,243,220,.38);text-decoration-thickness:1px;text-underline-offset:.55em;color:#fff3dc;font-weight:300;background:radial-gradient(ellipse 100% 100% at 100% 0,rgba(8,7,6,.5) 0%,rgba(8,7,6,.22) 45%,rgba(8,7,6,0) 75%);opacity:0;pointer-events:none;transition:opacity .4s ease,text-decoration-color .4s ease;z-index:3;}
.fs .more::after{content:"\2192";margin-left:.55em;font-size:.7em;}
.fs:hover .fs-cap,.fs:focus-within .fs-cap,.fs.tap .fs-cap,.fs:hover::after,.fs:focus-within::after,.fs.tap::after{opacity:1;}
.fs:hover .more,.fs:focus-within .more,.fs.tap .more{opacity:1;pointer-events:auto;}
.fs .more:hover,.fs .more:focus-visible{text-decoration-color:#fff3dc;}
@media(max-width:700px){.fs{height:78svh;}.fs .fs-cap{font-size:.5rem;letter-spacing:.2em;}}
.fs .more{top:auto !important;bottom:0;right:0;padding:1.4rem clamp(1rem,3vw,2.2rem) clamp(1rem,3vw,2rem) 1.6rem !important;background:radial-gradient(ellipse 100% 100% at 100% 100%,rgba(8,7,6,.5) 0%,rgba(8,7,6,.22) 45%,rgba(8,7,6,0) 75%) !important;}

/* photoshoot stills: seamless, no gaps */
.fs-stills{gap:0 !important;}
.fs .fs-cap{letter-spacing:.26em;font-size:.62rem;}
.fs .more{display:none !important;}

/* resume: height / eyes / hair in the same soft white as the credits */
.stats{color:rgba(233,224,211,.62) !important;font-size:.7rem !important;letter-spacing:.2em !important;text-transform:uppercase;font-weight:400;}

/* ===== neon: stronger glow, more noticeable power-on flicker ===== */
header.scrolled .brand{text-shadow:0 0 1px rgba(255,244,224,.9),0 0 7px rgba(255,208,150,.6),0 0 18px rgba(255,165,90,.38),0 0 38px rgba(255,140,70,.2) !important;animation:none !important;}
header.scrolled .brand.v8-flick{animation:v8neon-on2 2.6s linear .35s 1 both !important;}
@keyframes v8neon-on2{
  0%{opacity:.04;text-shadow:none}
  5%{opacity:1;text-shadow:0 0 2px #fff6e6,0 0 12px rgba(255,214,160,.95),0 0 30px rgba(255,170,95,.75),0 0 60px rgba(255,140,70,.45)}
  8%{opacity:.08;text-shadow:none}
  13%{opacity:.95;text-shadow:0 0 2px #fff6e6,0 0 10px rgba(255,214,160,.9),0 0 26px rgba(255,170,95,.65),0 0 52px rgba(255,140,70,.4)}
  16%{opacity:.18;text-shadow:0 0 1px rgba(255,244,224,.4)}
  21%{opacity:1;text-shadow:0 0 2px #fff6e6,0 0 12px rgba(255,214,160,.95),0 0 30px rgba(255,170,95,.75),0 0 60px rgba(255,140,70,.45)}
  26%{opacity:.35;text-shadow:0 0 3px rgba(255,214,160,.5)}
  30%{opacity:1;text-shadow:0 0 2px #fff6e6,0 0 11px rgba(255,214,160,.9),0 0 28px rgba(255,170,95,.7),0 0 56px rgba(255,140,70,.42)}
  34%{opacity:.55}
  37%{opacity:1}
  44%{opacity:.8}
  47%{opacity:1;text-shadow:0 0 2px #fff6e6,0 0 11px rgba(255,214,160,.85),0 0 26px rgba(255,170,95,.6),0 0 50px rgba(255,140,70,.34)}
  100%{opacity:1;text-shadow:0 0 1px rgba(255,244,224,.9),0 0 7px rgba(255,208,150,.6),0 0 18px rgba(255,165,90,.38),0 0 38px rgba(255,140,70,.2)}
}
.ni svg{filter:drop-shadow(0 0 .8px rgba(255,244,224,.95)) drop-shadow(0 0 5px rgba(255,210,160,.62)) drop-shadow(0 0 13px rgba(255,160,90,.36)) drop-shadow(0 0 26px rgba(255,140,70,.18)) !important;}
.ni:hover svg,.ni:focus-visible svg{filter:drop-shadow(0 0 1px rgba(255,248,235,1)) drop-shadow(0 0 7px rgba(255,215,165,.8)) drop-shadow(0 0 17px rgba(255,165,95,.5)) drop-shadow(0 0 32px rgba(255,140,70,.28)) !important;}
.about-foot a{text-shadow:0 0 1px rgba(255,244,224,.85),0 0 7px rgba(255,208,150,.5),0 0 17px rgba(255,160,90,.3),0 0 34px rgba(255,140,70,.16) !important;}
.about-foot a:hover,.about-foot a:focus-visible{text-shadow:0 0 1px rgba(255,248,235,1),0 0 9px rgba(255,215,165,.7),0 0 22px rgba(255,165,95,.42),0 0 40px rgba(255,140,70,.24) !important;}
