/* V97: fonts are hosted with the site, so opening a page does not contact a
   third-party font service. Font files and their licences live in assets/fonts. */
@font-face{font-family:"Manrope";font-style:normal;font-display:swap;font-weight:400;src:url("../fonts/manrope-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-display:swap;font-weight:500;src:url("../fonts/manrope-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-display:swap;font-weight:600;src:url("../fonts/manrope-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-display:swap;font-weight:700;src:url("../fonts/manrope-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-display:swap;font-weight:800;src:url("../fonts/manrope-latin-800-normal.woff2") format("woff2")}

:root{
  --ink:#11110f; --paper:#F3EFE6; --paper-2:#DDD8CD; --muted:#76736d;
  --accent:#D7A14B; --amber:#C46D43; --line:rgba(17,22,18,.16);
  --max:1440px; --pad:clamp(20px,4vw,64px); --header:86px;
  --ease:cubic-bezier(.2,.75,.2,1); --serif:var(--sans);
  --sans:"Manrope",Arial,sans-serif;
}


/* ==========================================================
   V96 — BRANDED ROUTE CURTAIN + PAINT-SAFE PHONE MOTION
   Built directly on the restored V92 checkpoint. Desktop scroll reveals keep
   their approved depth; touch layouts use one early, readable motion layer.
   ========================================================== */

body.v96-route-changing,body.v96-route-arriving{
  overflow:hidden!important;
}











































@media (max-width:760px), (hover:none) and (pointer:coarse){
  
  
  
  
  
  
  

  /* Before the phone controller arms, content defaults to visible. This also
     protects browser-restored scroll positions and very fast cached loads. */
  html.v96-motion-js:not(.v96-mobile-motion-ready) body .reveal,html.v96-motion-js:not(.v96-mobile-motion-ready) body .reveal-left,html.v96-motion-js:not(.v96-mobile-motion-ready) body .reveal-v16,html.v96-motion-js:not(.v96-mobile-motion-ready) body [data-v30-scroll-blur="true"]{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    visibility:visible!important;
  }
  html.v96-motion-js:not(.v96-mobile-motion-ready) body .stagger>*,html.v96-motion-js:not(.v96-mobile-motion-ready) body .stagger-v16>*{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
  }

  /* The old systems remain available to desktop but never gate phone content. */
  html.v96-mobile-motion-ready body .reveal,html.v96-mobile-motion-ready body .reveal-left,html.v96-mobile-motion-ready body .reveal-v16,html.v96-mobile-motion-ready body [data-v30-scroll-blur="true"]{
    content-visibility:visible!important;
    contain-intrinsic-size:none!important;
    filter:none!important;
  }
  html.v96-mobile-motion-ready body .stagger>*,html.v96-mobile-motion-ready body .stagger-v16>*{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }

  /* Pending items are intentionally still readable. This prevents an empty
     viewport even if iOS delays an observer callback during momentum scroll. */
  html.v96-mobile-motion-ready body .v96-mobile-reveal:not(.v96-mobile-in){
    opacity:.86!important;
    filter:none!important;
    transform:translate3d(0,17px,0) scale(.994)!important;
    transition:
      opacity 430ms cubic-bezier(.2,.78,.2,1) var(--v96-mobile-delay,0ms),
      transform 570ms cubic-bezier(.16,1,.3,1) var(--v96-mobile-delay,0ms)!important;
    content-visibility:visible!important;
    contain-intrinsic-size:none!important;
    backface-visibility:hidden;
  }
  html.v96-mobile-motion-ready body .v96-mobile-reveal[data-v96-mobile-motion="heading"]:not(.v96-mobile-in){
    opacity:.9!important;
    transform:translate3d(0,13px,0)!important;
  }
  html.v96-mobile-motion-ready body .v96-mobile-reveal[data-v96-mobile-motion="edge-left"]:not(.v96-mobile-in){
    transform:translate3d(-10px,13px,0)!important;
  }
  html.v96-mobile-motion-ready body .v96-mobile-reveal[data-v96-mobile-motion="edge-right"]:not(.v96-mobile-in){
    transform:translate3d(10px,13px,0)!important;
  }
  html.v96-mobile-motion-ready body .v96-mobile-reveal.v96-mobile-in{
    opacity:1!important;
    filter:none!important;
    transform:translate3d(0,0,0) scale(1)!important;
  }
  html.v96-mobile-motion-ready body .v96-mobile-reveal.v96-mobile-settled{
    will-change:auto!important;
  }

  /* Two calm full-screen gradient layers retain the visual identity while
     removing the redundant fixed/filter layers that competed with scrolling. */
  body::after{
    display:none!important;
  }
  .fx-orb-b{
    display:none!important;
  }
  
  
}

@media (prefers-reduced-motion:reduce){
  
  
  html.v96-mobile-motion-ready body .v96-mobile-reveal{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}
*{box-sizing:border-box} html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
 body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none} img,video{display:block;max-width:100%} button,input,textarea{font:inherit}
::selection{background:var(--accent);color:var(--ink)}
.container{width:min(var(--max),100%);margin:auto;padding-inline:var(--pad)}
.kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.display{font-size:clamp(58px,11vw,172px);line-height:.82;letter-spacing:-.065em;margin:0;font-weight:800}
.display-serif{font-family:var(--serif);font-style:normal;font-weight:600}
.h2{font-size:clamp(42px,7vw,104px);line-height:.92;letter-spacing:-.055em;margin:0}
.h3{font-size:clamp(28px,3.5vw,56px);line-height:1;letter-spacing:-.035em;margin:0}
.lead{font-size:clamp(18px,2vw,30px);line-height:1.35;max-width:900px}
.small{font-size:13px;line-height:1.6;color:var(--muted)}
.muted{color:var(--muted)}
.rule{height:1px;background:var(--line);width:100%}
.section{padding:clamp(90px,12vw,180px) 0}.section-tight{padding:clamp(60px,8vw,120px) 0}
.section-dark{background:var(--ink);color:var(--paper)}
.section-accent{background:var(--accent)}

/* loader + transition */







/* header */
.site-header{position:fixed;top:0;left:0;right:0;height:var(--header);z-index:500;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);mix-blend-mode:difference;color:#fff;transition:transform .45s var(--ease)}
.site-header.hide{transform:translateY(-110%)}.brand{font-weight:800;letter-spacing:-.08em;font-size:25px;border:1px solid currentColor;width:48px;height:48px;border-radius:50%;display:grid;place-items:center}
.desktop-nav{display:flex;gap:28px;align-items:center;font-size:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transition:.3s}.desktop-nav a:hover:after,.desktop-nav a[aria-current="page"]:after{transform:scaleX(1)}
.menu-toggle{display:none;background:none;color:inherit;border:0;padding:10px;cursor:pointer;text-transform:uppercase;letter-spacing:.15em;font-size:12px}
.menu-overlay{position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:450;display:grid;grid-template-columns:1fr 1fr;align-items:end;padding:calc(var(--header) + 40px) var(--pad) 60px;transform:translateY(-105%);transition:transform .8s var(--ease)}
.menu-open .menu-overlay{transform:translateY(0)}.menu-links a{display:flex;align-items:baseline;gap:18px;font-size:clamp(52px,8vw,124px);font-weight:800;letter-spacing:-.06em;line-height:.9;border-bottom:1px solid #353531;padding:.08em 0}.menu-links small{font-size:11px;letter-spacing:.2em;color:#8d8b84}.menu-meta{justify-self:end;max-width:330px}.menu-meta a{text-decoration:underline}

/* cursor */

.scroll-progress{position:fixed;left:0;top:0;height:3px;background:var(--accent);z-index:700;width:0}

/* buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;border-radius:999px;padding:0 24px;border:1px solid var(--ink);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;position:relative;overflow:hidden;transition:color .35s,border-color .35s,transform .35s}.button:before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(102%);transition:transform .35s var(--ease);z-index:-1}.button:hover{color:var(--paper)}.button:hover:before{transform:translateY(0)}.button-light{border-color:var(--paper);color:var(--paper)}.button-light:before{background:var(--paper)}.button-light:hover{color:var(--ink)}
.link-arrow{display:inline-flex;gap:10px;align-items:center;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:12px}.link-arrow span{transition:transform .3s}.link-arrow:hover span{transform:translateX(7px)}

/* hero */
.hero{min-height:100svh;padding:calc(var(--header) + 50px) var(--pad) 40px;position:relative;display:grid;grid-template-columns:1.35fr .65fr;gap:5vw;align-items:center;overflow:hidden}
.hero-copy{position:relative;z-index:2}.hero-eyebrow{display:flex;gap:16px;align-items:center;margin-bottom:30px}.hero-eyebrow:before{content:"";width:48px;height:1px;background:currentColor}.hero-name span{display:block;overflow:hidden}.hero-name i{display:block;font-style:normal;transform:translateY(110%);animation:rise 1.1s .45s var(--ease) forwards}.hero-name span:nth-child(2) i{animation-delay:.58s}@keyframes rise{to{transform:translateY(0)}}
.hero-sub{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-top:34px;max-width:980px}.hero-sub p{max-width:680px;margin:0}.hero-visual{height:min(70vh,760px);position:relative}.hero-photo-wrap{position:absolute;inset:0 0 0 8%;border-radius:45% 45% 4px 4px;overflow:hidden;clip-path:inset(100% 0 0);animation:unclip 1.2s .8s var(--ease) forwards;background:#d6d1ca}@keyframes unclip{to{clip-path:inset(0)}}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:saturate(.75) contrast(1.03)}
.hero-orbit{position:absolute;width:130px;height:130px;border:1px solid var(--ink);border-radius:50%;right:-30px;top:18%;display:grid;place-items:center;animation:spin 16s linear infinite;background:var(--accent)}.hero-orbit svg{width:84px}.hero-orbit:before{content:"AVAILABLE FOR SELECT PROJECTS";font-size:9px;font-weight:800;letter-spacing:.12em;text-align:center;width:80px}@keyframes spin{to{transform:rotate(360deg)}}
.scroll-cue{position:absolute;left:var(--pad);bottom:28px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:12px}.scroll-cue:before{content:"";width:55px;height:1px;background:currentColor;animation:pulse 1.5s infinite}@keyframes pulse{50%{width:25px;opacity:.4}}
.hero-ghost{position:absolute;right:-5vw;bottom:-4vw;font-family:var(--serif);font-style:normal;font-size:20vw;line-height:.6;color:rgba(17,22,18,.04);user-select:none}

/* stats */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{padding:34px 28px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat b{display:block;font-size:clamp(40px,5vw,76px);letter-spacing:-.06em}.stat span{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}

/* marquee */
.marquee{overflow:hidden;border-top:1px solid currentColor;border-bottom:1px solid currentColor;padding:18px 0}.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite;will-change:transform;transform:translate3d(0,0,0)}.marquee span{font-size:clamp(30px,5vw,72px);font-weight:800;letter-spacing:-.04em;white-space:nowrap;padding-right:36px}.marquee em{font-family:var(--serif);font-weight:600}@keyframes marquee{to{transform:translateX(-50%)}}

/* project list */
.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:65px}.section-head p{max-width:600px;margin:0}.project-list{border-top:1px solid var(--line)}
.project-row{display:grid;grid-template-columns:90px 1.2fr .8fr 60px;gap:20px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .35s}.project-row:hover{padding-left:18px}.project-index{font-size:11px;letter-spacing:.2em;color:var(--muted)}.project-title{font-size:clamp(30px,4.5vw,72px);font-weight:800;letter-spacing:-.05em}.project-meta{text-align:right;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.project-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:.35s}.project-row:hover .project-arrow{background:var(--ink);color:var(--paper);transform:rotate(-30deg)}
.project-preview{position:fixed;width:min(34vw,520px);aspect-ratio:4/3;z-index:300;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity .2s,transform .3s var(--ease);overflow:hidden;border-radius:4px;box-shadow:0 28px 90px rgba(0,0,0,.3)}.project-preview.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.project-preview img{width:100%;height:100%;object-fit:cover}

/* project cards */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 60px}.filter{border:1px solid var(--line);background:transparent;border-radius:999px;padding:12px 18px;cursor:pointer;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.filter.active{background:var(--ink);color:var(--paper)}
.cards{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(20px,3vw,42px)}.work-card{grid-column:span 6;display:block}.work-card.wide{grid-column:span 12}.work-card:nth-child(3n/**/+2){margin-top:10vw}.card-media{aspect-ratio:4/3;overflow:hidden;background:#d9d4cd;position:relative}.work-card.wide .card-media{aspect-ratio:16/7}.card-media img,.card-media video{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s}.work-card:hover .card-media img,.work-card:hover .card-media video{transform:scale(1.045)}.card-copy{display:flex;justify-content:space-between;gap:24px;padding:18px 0 35px;border-bottom:1px solid var(--line)}.card-copy h3{font-size:clamp(24px,3vw,45px);letter-spacing:-.04em;margin:0}.card-copy p{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);text-align:right}

/* inner hero */
.inner-hero{padding:calc(var(--header) + 80px) var(--pad) 70px;min-height:70vh;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.inner-hero .display{max-width:1250px}.breadcrumb{position:absolute;top:calc(var(--header) + 20px);left:var(--pad);font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.inner-meta{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:55px}.inner-meta p{margin:0;max-width:720px}.inner-labels{display:flex;gap:10px;flex-wrap:wrap;align-content:start}.pill{border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.project-hero-media{height:min(78vh,860px);overflow:hidden;background:#d6d1ca}.project-hero-media img,.project-hero-media video{width:100%;height:100%;object-fit:cover}
.case-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:40px}.case-block{grid-column:span 6}.case-block.full{grid-column:span 12}.case-block h3{font-size:13px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:16px}.case-block p{font-size:clamp(18px,2vw,28px);line-height:1.45;margin:0}.case-aside{grid-column:9/span 4}.case-main{grid-column:1/span 7}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,2vw,30px)}.gallery-item{grid-column:span 6;overflow:hidden;background:#d9d4cc;position:relative}.gallery-item.full{grid-column:span 12}.gallery-item.third{grid-column:span 4}.gallery-item.tall{aspect-ratio:3/4}.gallery-item.landscape{aspect-ratio:4/3}.gallery-item.wide{aspect-ratio:16/8}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.gallery-item:hover img{transform:scale(1.035)}.gallery-caption{font-size:11px;line-height:1.5;color:var(--muted);margin-top:10px}.media-frame{background:#000;position:relative}.media-frame video{width:100%;max-height:85vh;object-fit:contain}.media-frame .play-note{position:absolute;left:15px;bottom:15px;background:rgba(0,0,0,.7);color:#fff;border-radius:999px;padding:8px 12px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;pointer-events:none}
.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.outcome{background:var(--paper);padding:35px}.outcome b{font-size:clamp(40px,5vw,80px);letter-spacing:-.06em}.outcome p{margin:8px 0 0;color:var(--muted);font-size:13px}
.external-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.next-project{display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid currentColor;padding-top:35px}.next-project strong{font-size:clamp(42px,8vw,120px);letter-spacing:-.06em}

/* about */
.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(45px,8vw,130px);align-items:start}.portrait-sticky{position:sticky;top:110px}.portrait-sticky img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;filter:grayscale(.15)}
.bio-copy p{font-size:clamp(22px,3vw,42px);line-height:1.28;letter-spacing:-.03em}.timeline{margin-top:60px;border-top:1px solid var(--line)}.timeline-row{display:grid;grid-template-columns:150px minmax(220px,.8fr) 1.35fr;gap:34px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}.timeline-row strong{display:block;font-size:19px;color:var(--paper)}.timeline-row span{color:var(--muted);font-size:13px}.timeline-company-copy{display:grid;gap:6px}.timeline-company-copy span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#9e9a92}.timeline-detail{display:grid;gap:10px}.timeline-role{display:block;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--paper)}.timeline-detail p{margin:0;color:#bbb6ae;font-size:13px;line-height:1.75}.skills-cloud{display:flex;flex-wrap:wrap;gap:10px}.skills-cloud span{border:1px solid var(--line);border-radius:999px;padding:14px 18px;font-size:12px;font-weight:700}
.education-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.education-card{border:1px solid var(--line);padding:25px;display:flex;flex-direction:column;gap:20px}.education-card img{height:260px;width:100%;object-fit:contain;background:#fff}.education-card h3{font-size:22px;margin:0}

/* archive */
.archive-grid{columns:4 280px;column-gap:18px}.archive-card{break-inside:avoid;margin-bottom:18px;background:#ddd7cf;position:relative;overflow:hidden;cursor:zoom-in}.archive-card img{width:100%;height:auto;transition:transform .6s var(--ease)}.archive-card:hover img{transform:scale(1.03)}.archive-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:.3s}.archive-card:hover figcaption{opacity:1}.archive-card.hidden{display:none}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:9000;display:none;place-items:center;padding:40px}.lightbox.open{display:grid}.lightbox img{max-width:94vw;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;right:25px;top:20px;color:#fff;background:none;border:1px solid #555;border-radius:50%;width:46px;height:46px;font-size:22px;cursor:pointer}

/* contact */
.contact-hero{min-height:100svh;background:var(--ink);color:var(--paper);display:grid;align-content:center;padding:calc(var(--header) + 60px) var(--pad) 50px}.contact-hero h1{font-size:clamp(64px,13vw,210px);line-height:.78;letter-spacing:-.07em;margin:0}.contact-hero h1 em{font-family:var(--serif);font-weight:600}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;margin-top:80px}.contact-list{border-top:1px solid #444}.contact-line{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #444}.contact-line span:first-child{color:#999;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.copy-button{background:none;border:0;color:inherit;cursor:pointer;text-decoration:underline}
.contact-form{display:grid;gap:15px}.contact-form input,.contact-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #555;color:#fff;padding:15px 0;outline:0}.contact-form textarea{min-height:130px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}

/* footer */
.footer{background:var(--ink);color:var(--paper);padding:80px var(--pad) 25px}.footer-top{display:grid;grid-template-columns:1.4fr .6fr;gap:50px;align-items:end}.footer-cta{font-size:clamp(50px,9vw,140px);font-weight:800;letter-spacing:-.065em;line-height:.85}.footer-cta em{font-family:var(--serif);font-weight:600}.footer-links{display:grid;gap:12px;justify-items:start}.footer-bottom{border-top:1px solid #353531;margin-top:70px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#8e8c86}

/* reveal */
.reveal{opacity:0;transform:translateY(50px);transition:opacity .8s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}.reveal-left{opacity:0;transform:translateX(-50px);transition:opacity .8s var(--ease),transform .9s var(--ease)}.reveal-left.in{opacity:1;transform:none}.stagger>*{opacity:0;transform:translateY(25px)}.stagger.in>*{animation:stagger .7s var(--ease) forwards}.stagger.in>*:nth-child(2){animation-delay:.08s}.stagger.in>*:nth-child(3){animation-delay:.16s}.stagger.in>*:nth-child(4){animation-delay:.24s}.stagger.in>*:nth-child(5){animation-delay:.32s}.stagger.in>*:nth-child(6){animation-delay:.4s}@keyframes stagger{to{opacity:1;transform:none}}

@media (max-width:900px){
  :root{--header:72px}.desktop-nav{display:none}.menu-toggle{display:block}.menu-overlay{grid-template-columns:1fr;align-content:end}.menu-meta{justify-self:start;margin-top:50px}.hero{grid-template-columns:1fr;padding-top:calc(var(--header) + 80px);align-content:center}.hero-visual{position:absolute;right:var(--pad);top:18vh;width:38vw;height:38vh;opacity:.3}.hero-photo-wrap{border-radius:50%}.hero-sub{display:block;max-width:78%}.hero-sub .button{margin-top:25px}.scroll-cue{display:none}.stats-grid{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n/**/+2){border-bottom:1px solid var(--line)}
  .project-row{grid-template-columns:55px 1fr 45px}.project-meta{display:none}.project-preview{display:none}.cards{display:block}.work-card,.work-card.wide{display:block;margin:0 0 50px}.work-card:nth-child(3n/**/+2){margin-top:0}.card-copy{align-items:start}.section-head{display:block}.section-head p{margin-top:25px}.inner-meta{grid-template-columns:1fr}.case-grid{display:block}.case-block,.case-main,.case-aside{margin-bottom:45px}.gallery-item,.gallery-item.third{grid-column:span 12}.outcome-grid{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr}.portrait-sticky{position:relative;top:auto;max-width:520px}.timeline-row{grid-template-columns:100px 1fr}.timeline-row .timeline-detail{grid-column:2}.timeline-row span:last-child{grid-column:auto}.education-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}.archive-grid{columns:2 180px}
}
@media (max-width:560px){
  .display{font-size:clamp(50px,18vw,96px)}.h2{font-size:clamp(42px,14vw,76px)}.hero-sub{max-width:100%}.hero-visual{top:16vh;width:52vw;right:-10vw}.hero-orbit{width:90px;height:90px}.stats-grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)!important}.stat:last-child{border-bottom:0!important}.project-row{grid-template-columns:40px 1fr 40px;gap:8px}.project-title{font-size:30px}.card-copy{display:block}.card-copy p{text-align:left}.inner-hero{min-height:62vh}.project-hero-media{height:55vh}.gallery-grid{gap:24px}.archive-grid{columns:1}.footer-bottom{display:block;line-height:2}.menu-links a{font-size:15vw}.lightbox{padding:15px}.education-card img{height:200px}
}

@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal,.reveal-left,.stagger>*{opacity:1!important;transform:none!important}}
.section-dark .button{border-color:var(--paper);color:var(--paper)}
.section-dark .button:before{background:var(--paper)}
.section-dark .button:hover{color:var(--ink)}


/* 2026 content update */
.clients-section{overflow:hidden}.logo-marquee{overflow:hidden;border-top:1px solid #34342f;border-bottom:1px solid #34342f;position:relative}.logo-track{display:flex;align-items:center;gap:18px;width:max-content;padding:24px 0;animation:clientScroll 52s linear infinite;will-change:transform;transform:translate3d(0,0,0)}.logo-marquee:hover .logo-track,.marquee:hover .marquee-track{animation-play-state:paused}.logo-item{width:220px;height:110px;flex:0 0 220px;border:1px solid #3d3d37;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:16px;background:#171714;color:var(--paper);font-weight:800;text-align:center;overflow:hidden}.logo-item--wide{width:260px;flex-basis:260px}.logo-item img{max-width:100%;max-height:100%;object-fit:contain}.text-logo{font-size:18px;letter-spacing:-.02em}@keyframes clientScroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.startup-modal{position:fixed;inset:0;z-index:9990;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:.3s}.startup-modal.active{opacity:1;pointer-events:auto}.startup-modal-card{width:min(720px,100%);background:var(--paper);color:var(--ink);padding:clamp(26px,5vw,54px);border-radius:18px;position:relative}.startup-modal-card .h2{font-size:clamp(40px,7vw,82px)}.startup-modal-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:none;font-size:28px;cursor:pointer}.startup-modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button-ghost{border:1px solid var(--line);border-radius:999px;padding:14px 20px;background:transparent;cursor:pointer}.countup{display:inline-block}.section-note{margin-top:36px;border:1px solid currentColor;padding:24px;font-size:15px;line-height:1.75}.education-long{grid-template-columns:1fr}.education-long .education-card{display:grid;grid-template-columns:minmax(220px,34%) 1fr;gap:35px}.education-long .education-card img{height:auto;max-height:520px}.education-long .education-card .small{font-size:16px;line-height:1.8}.archive-card video{width:100%;height:auto;display:block;background:#000}.project-hero-media img[src*="The-Olive"],.card-media img[src*="The-Olive"]{object-fit:contain;background:#111;padding:8%}.card-media img[src*="oxyz-logo-new"]{object-fit:cover}.project-hero-media img[src*="oxyz-logo-new"]{object-fit:cover}
@media (max-width:900px){.education-long .education-card{grid-template-columns:1fr}.logo-item{width:170px;flex-basis:170px;height:90px}}

@media (prefers-reduced-motion:reduce){.marquee-track,.logo-track{animation-duration:28s!important;animation-iteration-count:infinite!important;transition-duration:0s!important}}

/* JAJ Consultant & PWRN case study */
.jaj-case-page{--jaj-green:#0a3b2d;--jaj-green-2:#0f5a45;--jaj-gold:#d9b75c;--jaj-cream:#f3efe6;background:#f3efe6}
.jaj-case-page .site-header{mix-blend-mode:difference}
.jaj-hero{min-height:92svh;background:#071712;color:#f5f1e9;padding:calc(var(--header) + 80px) var(--pad) 90px;isolation:isolate;display:block}
.jaj-hero .breadcrumb,.jaj-hero .kicker{color:#c9c5bb}
.jaj-grid-bg{position:absolute;inset:-20%;z-index:-3;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:68px 68px;transform:perspective(900px) rotateX(62deg) translateY(18%);transform-origin:center;animation:jajGridDrift 18s linear infinite}
.jaj-hero:after{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 15% 20%,rgba(217,183,92,.2),transparent 30%),radial-gradient(circle at 82% 52%,rgba(15,90,69,.55),transparent 34%),linear-gradient(120deg,transparent 0 45%,rgba(255,255,255,.03) 46% 48%,transparent 49%);background-size:auto,auto,320px 320px;animation:jajLightMove 15s ease-in-out infinite alternate}
.jaj-orb{position:absolute;border-radius:50%;filter:blur(2px);z-index:-1;opacity:.72;mix-blend-mode:screen}
.jaj-orb-one{width:32vw;height:32vw;right:-8vw;top:8vh;border:1px solid rgba(217,183,92,.4);box-shadow:inset 0 0 80px rgba(217,183,92,.1);animation:jajOrbit 18s linear infinite}
.jaj-orb-two{width:18vw;height:18vw;left:38%;bottom:-6vw;border:1px solid rgba(255,255,255,.16);animation:jajOrbit 12s linear infinite reverse}
.jaj-hero-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);gap:clamp(40px,7vw,120px);align-items:end;min-height:calc(92svh - var(--header) - 170px);position:relative;z-index:2}
.jaj-title{font-size:clamp(62px,10vw,156px);max-width:1100px}
.jaj-title-line{display:block;overflow:hidden;opacity:0;transform:translateY(110%);animation:jajTitleRise 1.2s .35s var(--ease) forwards}
.jaj-title-line:nth-child(2){animation-delay:.52s;color:var(--jaj-gold)}
.jaj-hero .inner-meta{grid-template-columns:1fr;margin-top:38px;max-width:900px}
.jaj-hero .inner-labels{margin-top:18px}.jaj-hero .pill{border-color:rgba(255,255,255,.22);color:#f4f0e8;background:rgba(255,255,255,.025);backdrop-filter:blur(10px)}
.jaj-logo-stage{position:relative;min-height:430px;border:1px solid rgba(255,255,255,.14);border-radius:28px;display:grid;place-items:center;padding:30px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.015));box-shadow:0 30px 100px rgba(0,0,0,.35);overflow:hidden;transform-style:preserve-3d;transition:transform .25s ease}
.jaj-logo-stage:before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent,rgba(217,183,92,.18),transparent 36%);animation:jajSpin 12s linear infinite}
.jaj-logo-stage img{width:min(74%,420px);position:relative;z-index:2;filter:drop-shadow(0 20px 30px rgba(0,0,0,.3));transform:translateZ(42px)}
.jaj-logo-stage>span{position:absolute;left:28px;bottom:22px;z-index:3;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#c7c2b8}
.jaj-logo-halo{position:absolute;width:70%;aspect-ratio:1;border:1px solid rgba(217,183,92,.3);border-radius:50%;animation:jajPulse 4s ease-in-out infinite}
.jaj-showcase-wrap{position:relative;background:#08150f;padding:clamp(50px,8vw,120px) var(--pad)}
.jaj-showcase-label{width:min(var(--max),100%);margin:0 auto 22px;color:#f3efe6;display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:18px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.jaj-showcase-label span{color:var(--jaj-gold)}.jaj-showcase-label em{font-style:normal;color:#8f9994}
.jaj-main-shot{width:min(var(--max),100%);height:auto;min-height:0;margin:auto;border-radius:26px;background:#eef2ee;padding:clamp(10px,1.4vw,20px);box-shadow:0 45px 140px rgba(0,0,0,.45);position:relative;overflow:hidden;transform-style:preserve-3d;transition:transform .25s ease}
.jaj-main-shot img{height:auto;object-fit:contain;border-radius:18px;position:relative;z-index:2;transform:translateZ(28px)}
.jaj-scan-line{position:absolute;left:0;right:0;top:-20%;height:28%;background:linear-gradient(180deg,transparent,rgba(217,183,92,.25),transparent);filter:blur(10px);animation:jajScan 6s ease-in-out infinite;z-index:3;pointer-events:none}
.jaj-context-section{background:#f3efe6;position:relative;overflow:hidden}
.jaj-context-section:before{content:"JAJ";position:absolute;right:-4vw;top:2vw;font-size:28vw;line-height:1;font-weight:800;color:rgba(10,59,45,.035);letter-spacing:-.08em;pointer-events:none}
.jaj-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(10,59,45,.18);border-bottom:1px solid rgba(10,59,45,.18)}
.jaj-metric-card{padding:38px 30px;border-right:1px solid rgba(10,59,45,.18);position:relative;overflow:hidden;background:rgba(255,255,255,.25)}.jaj-metric-card:last-child{border-right:0}
.jaj-metric-card:after{content:"";position:absolute;inset:auto -40% -65% -40%;height:180%;border-radius:50%;background:radial-gradient(circle,rgba(217,183,92,.18),transparent 66%);transform:scale(.7);transition:transform .6s var(--ease)}.jaj-metric-card:hover:after{transform:scale(1)}
.jaj-metric-card b{display:block;font-size:clamp(56px,7vw,100px);letter-spacing:-.07em;color:var(--jaj-green)}.jaj-metric-card>span{display:block;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.1em}.jaj-metric-card p{color:#68645e;line-height:1.65;max-width:300px}
.jaj-ui-section{position:relative;overflow:hidden}.jaj-section-glow{position:absolute;width:70vw;height:70vw;border-radius:50%;right:-35vw;top:5%;background:radial-gradient(circle,rgba(15,90,69,.42),transparent 62%);animation:jajGlow 8s ease-in-out infinite alternate;pointer-events:none}
.jaj-editorial-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2vw,28px);position:relative;z-index:2}
.jaj-ui-card{grid-column:span 4;border-radius:22px;overflow:hidden;background:#eef2ee;color:#111;box-shadow:0 20px 80px rgba(0,0,0,.24);transform-style:preserve-3d;transition:transform .25s ease,box-shadow .4s var(--ease)}
.jaj-ui-card-wide{grid-column:span 6}.jaj-ui-card:hover{box-shadow:0 35px 110px rgba(0,0,0,.38)}
.jaj-ui-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transform:translateZ(24px);transition:transform .8s var(--ease)}.jaj-ui-card:hover img{transform:translateZ(30px) scale(1.025)}
.jaj-ui-card figcaption{display:grid;grid-template-columns:44px 1fr;gap:6px 14px;padding:20px 22px 24px}.jaj-ui-card figcaption span{grid-row:1/3;color:var(--jaj-gold);font-weight:800}.jaj-ui-card figcaption strong{font-size:18px}.jaj-ui-card figcaption em{font-style:normal;color:#74716c;font-size:12px;line-height:1.5}
.jaj-brand-section{background:#e9e4dc;position:relative;overflow:hidden}.jaj-brand-section:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(10,59,45,.12) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);pointer-events:none}
.jaj-brand-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;position:relative;z-index:2}
.jaj-brand-card{min-height:520px;background:#f5f2ec;border-radius:26px;padding:30px;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;box-shadow:0 20px 70px rgba(17,22,18,.08);transform-style:preserve-3d;transition:transform .25s ease}.jaj-brand-card-dark{background:#080808}.jaj-brand-card img{max-width:80%;max-height:420px;object-fit:contain;transform:translateZ(24px)}.jaj-brand-card figcaption{margin-top:18px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#777}.jaj-brand-card-dark figcaption{color:#aaa}
.jaj-brand-banner{grid-column:span 2;min-height:auto;padding:18px}.jaj-brand-banner img{max-width:100%;max-height:none;width:100%;border-radius:16px}
.jaj-kinetic-section{padding-block:48px;background:linear-gradient(90deg,#071712,#0c2e24,#071712)}
.jaj-kinetic-section .marquee{border-color:rgba(255,255,255,.25)}.jaj-kinetic-section .marquee em{color:var(--jaj-gold)}
.jaj-live-section{position:relative;overflow:hidden}.jaj-live-section:before{content:"";position:absolute;inset:-30%;background:conic-gradient(from 45deg,transparent,rgba(217,183,92,.08),transparent 34%);animation:jajSpin 18s linear infinite;pointer-events:none}
.jaj-live-panel{position:relative;z-index:2;border:1px solid rgba(255,255,255,.15);border-radius:30px;padding:clamp(34px,6vw,78px);display:grid;grid-template-columns:1.2fr .8fr;gap:50px;background:rgba(255,255,255,.035);backdrop-filter:blur(12px)}
.jaj-live-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:14px}.jaj-live-actions .button{width:100%}
[data-split]{overflow:hidden}.split-word{display:inline-block;opacity:0;transform:translateY(1.1em) rotate(2deg);filter:blur(8px);transition:opacity .7s var(--ease),transform .8s var(--ease),filter .8s var(--ease);transition-delay:calc(var(--word-index)*55ms)}.split-visible .split-word{opacity:1;transform:none;filter:none}
@keyframes jajTitleRise{to{opacity:1;transform:translateY(0)}}
@keyframes jajGridDrift{to{background-position:68px 68px}}
@keyframes jajLightMove{to{background-position:8% 2%,90% 45%,160px 80px}}
@keyframes jajOrbit{to{transform:rotate(360deg)}}
@keyframes jajSpin{to{transform:rotate(360deg)}}
@keyframes jajPulse{50%{transform:scale(1.08);opacity:.45}}
@keyframes jajScan{0%,10%{top:-25%}60%,100%{top:110%}}
@keyframes jajGlow{to{transform:scale(1.12);opacity:.55}}
@media (max-width:1050px){.jaj-hero-layout{grid-template-columns:1fr}.jaj-logo-stage{max-width:620px;min-height:360px}.jaj-editorial-grid{grid-template-columns:1fr 1fr}.jaj-ui-card,.jaj-ui-card-wide{grid-column:auto}.jaj-live-panel{grid-template-columns:1fr}.jaj-brand-card{min-height:420px}}
@media (max-width:720px){.jaj-hero{padding-bottom:60px}.jaj-title{font-size:clamp(48px,16vw,92px)}.jaj-logo-stage{min-height:300px}.jaj-showcase-label{grid-template-columns:40px 1fr}.jaj-showcase-label em{display:none}.jaj-metric-grid{grid-template-columns:1fr}.jaj-metric-card{border-right:0;border-bottom:1px solid rgba(10,59,45,.18)}.jaj-metric-card:last-child{border-bottom:0}.jaj-editorial-grid{grid-template-columns:1fr}.jaj-brand-grid{grid-template-columns:1fr}.jaj-brand-banner{grid-column:auto}.jaj-brand-card{min-height:340px}.jaj-ui-card figcaption{grid-template-columns:36px 1fr}.jaj-live-panel{padding:28px 20px}.jaj-grid-bg{background-size:44px 44px}}


/* =========================================================
   Global cinematic enhancements expanded site-wide (v4)
   ========================================================= */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(rgba(17,22,18,.05) 1px,transparent 1px);background-size:28px 28px;opacity:.34;mask-image:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.12));animation:ambientGridDrift 28s linear infinite}
body::after{content:"";position:fixed;inset:-25vh -20vw auto -20vw;height:110vh;pointer-events:none;z-index:0;background:radial-gradient(circle at 16% 26%,rgba(215,161,75,.12),transparent 20%),radial-gradient(circle at 82% 18%,rgba(196,109,67,.11),transparent 24%),radial-gradient(circle at 55% 78%,rgba(17,22,18,.06),transparent 26%);filter:blur(8px);animation:ambientGlowShift 18s ease-in-out infinite alternate}
main,.footer{position:relative;z-index:1}
.section,.section-tight,.inner-hero,.contact-hero,.hero,.footer{isolation:isolate}
.fx-hero,.contact-hero{position:relative;overflow:hidden}
.fx-hero:before,.contact-hero:before{content:"";position:absolute;inset:-12% -10% auto -10%;height:90%;pointer-events:none;background:linear-gradient(135deg,rgba(215,161,75,.08),transparent 30%,rgba(196,109,67,.10) 68%,transparent 92%);filter:blur(10px);animation:ambientSweep 13s ease-in-out infinite alternate;z-index:0}
.fx-grid-bg{position:absolute;inset:auto -14% -26% -14%;height:62%;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(17,22,18,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(17,22,18,.10) 1px,transparent 1px);background-size:72px 72px;transform:perspective(1100px) rotateX(68deg);transform-origin:center;opacity:.42;animation:ambientGridDrift 20s linear infinite}
.section-dark .fx-grid-bg,.contact-hero .fx-grid-bg{background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);opacity:.22}
.fx-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0;opacity:.75;filter:blur(1px);mix-blend-mode:multiply}
.fx-orb-a{width:22vw;height:22vw;right:-7vw;top:9vh;border:1px solid rgba(196,109,67,.30);background:radial-gradient(circle,rgba(196,109,67,.16),transparent 70%);animation:ambientFloatA 14s ease-in-out infinite}
.fx-orb-b{width:16vw;height:16vw;left:14vw;bottom:-5vw;border:1px solid rgba(17,22,18,.10);background:radial-gradient(circle,rgba(17,22,18,.06),transparent 70%);animation:ambientFloatB 18s ease-in-out infinite}
.section-dark .fx-orb,.contact-hero .fx-orb{mix-blend-mode:screen}
.section-dark .fx-orb-a,.contact-hero .fx-orb-a{border-color:rgba(215,161,75,.24);background:radial-gradient(circle,rgba(215,161,75,.12),transparent 72%)}
.section-dark .fx-orb-b,.contact-hero .fx-orb-b{border-color:rgba(255,255,255,.14);background:radial-gradient(circle,rgba(255,255,255,.06),transparent 70%)}
.project-hero-media,.work-card,.education-card,.gallery-item,.timeline-row,.case-block,.contact-list,.contact-form,.outcome,.section-note,.logo-item,.stat,.archive-card,.project-row,.bio-copy,.portrait-sticky,.media-frame{position:relative;z-index:1}
.ambient-panel{overflow:hidden;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.10));box-shadow:0 18px 60px rgba(17,22,18,.06);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease)}
.ambient-panel:before{content:"";position:absolute;inset:-45% auto auto -15%;width:60%;height:180%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.30),transparent);transform:translateX(-140%) rotate(10deg);pointer-events:none;transition:transform .85s var(--ease);z-index:2}
.ambient-panel:hover{transform:translateY(-6px);box-shadow:0 30px 90px rgba(17,22,18,.12)}
.ambient-panel:hover:before{transform:translateX(230%) rotate(10deg)}
.section-dark .ambient-panel,.contact-hero .ambient-panel{background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.03));box-shadow:0 24px 80px rgba(0,0,0,.24)}
.project-hero-media.ambient-panel{padding:16px;background:linear-gradient(145deg,rgba(255,255,255,.34),rgba(255,255,255,.14));margin-inline:var(--pad)}
.project-hero-media.ambient-panel img,.project-hero-media.ambient-panel video{border-radius:18px}
.section-dark .project-hero-media.ambient-panel{background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03))}
.project-hero-media .fx-scan{position:absolute;left:0;right:0;top:-35%;height:32%;background:linear-gradient(180deg,transparent,rgba(215,161,75,.18),transparent);filter:blur(10px);pointer-events:none;animation:ambientScan 7s ease-in-out infinite;z-index:3}
.project-row{transition:transform .35s var(--ease),padding .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease)}
.project-row.ambient-panel{padding-inline:16px;border-radius:20px}
.project-row:hover{transform:translateX(10px)}
.project-row.ambient-panel:hover{transform:translateX(12px) translateY(-2px)}
.work-card .card-media,.education-card img,.gallery-item,.logo-item,.portrait-sticky,.media-frame,.archive-card,.case-block,.timeline-row,.contact-list,.contact-form,.outcome,.section-note{border-radius:20px}
.work-card .card-media:after,.gallery-item:after,.archive-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.03));pointer-events:none}
.timeline-row,.case-block,.contact-list,.contact-form,.outcome,.section-note,.bio-copy{padding:24px}
.timeline-row{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}
.timeline-row + .timeline-row{margin-top:14px}
.timeline{border-top:0}
.case-block,.bio-copy,.portrait-sticky{border:1px solid var(--line);background:rgba(255,255,255,.35)}
.contact-list,.contact-form{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);backdrop-filter:blur(10px)}
.contact-line:first-child{padding-top:0}.contact-line:last-child{padding-bottom:0;border-bottom:0}
.contact-form label{display:grid;gap:10px}.contact-form input,.contact-form textarea{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.03);color:var(--paper);border-radius:16px;padding:16px 18px;outline:none;transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(215,161,75,.09);transform:translateY(-1px)}
.contact-form textarea{min-height:150px;resize:vertical}
.footer{background:linear-gradient(180deg,#0d0d0c 0%,#11110f 55%,#090908 100%)}
.footer:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 20%,rgba(215,161,75,.08),transparent 18%),radial-gradient(circle at 85% 30%,rgba(196,109,67,.10),transparent 22%)}
.footer .footer-cta,.contact-hero h1{position:relative;z-index:1}
.section-dark:not(.jaj-ui-section):not(.jaj-live-section):not(.jaj-kinetic-section){background:linear-gradient(180deg,#121210 0%,#0f0f0e 100%)}
.filters .filter,.skills-cloud span,.pill{transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease)}
.filters .filter:hover,.skills-cloud span:hover,.pill:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(17,22,18,.08)}
.skills-cloud span{background:rgba(255,255,255,.42)}
.section-head .h2,.section-head .h3,.inner-hero .display,.contact-hero h1,.footer-cta,.card-copy h3,.education-card h3,.project-title{max-width:100%}
[data-split] .split-word{display:inline-block;line-height:inherit;will-change:transform,filter,opacity}
[data-split] br{content:"";display:block}
@keyframes ambientGridDrift{to{background-position:72px 72px}}
@keyframes ambientGlowShift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(3vw,2vh,0) scale(1.08)}}
@keyframes ambientSweep{0%{transform:translate3d(0,0,0) rotate(0deg)}100%{transform:translate3d(4vw,2vh,0) rotate(2deg)}}
@keyframes ambientFloatA{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-2vw,2vh,0)}}
@keyframes ambientFloatB{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(2vw,-2vh,0)}}
@keyframes ambientScan{0%,10%{top:-35%}60%,100%{top:108%}}
@media (max-width:900px){.fx-grid-bg{background-size:46px 46px}.fx-orb-a{width:34vw;height:34vw}.fx-orb-b{width:24vw;height:24vw}.project-hero-media.ambient-panel{padding:10px}.timeline-row,.case-block,.contact-list,.contact-form,.outcome,.section-note,.bio-copy{padding:20px}}
@media (max-width:720px){body::before{background-size:20px 20px}.project-row.ambient-panel{padding-inline:12px}.ambient-panel:hover{transform:none}.project-row:hover,.project-row.ambient-panel:hover{transform:none}}

/* JAJ/PWRN repaired identity assets */
.project-preview img[src*="jaj-new-logo"],.card-media img[src*="jaj-new-logo"],.logo-item img[src*="jaj-new-logo"]{object-fit:contain;background:#090909;padding:6%}
.jaj-brand-card img[src*="jaj-new-logo"],.jaj-brand-card img[src*="pwrn-revamped-logo"]{object-fit:contain}
.jaj-brand-banner img[src*="pwrn-banner"]{object-fit:cover}

/* Scroll-triggered gamified portfolio invitation */
body.modal-open{overflow:hidden}
#portfolio-choice-modal .startup-modal-card{overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.38);border:1px solid rgba(17,22,18,.12)}
#portfolio-choice-modal .startup-modal-card:before{content:"";position:absolute;inset:-35% -10% auto 35%;height:85%;background:radial-gradient(circle,rgba(215,161,75,.32),transparent 68%);pointer-events:none;animation:portfolioInviteGlow 5s ease-in-out infinite alternate}
#portfolio-choice-modal .startup-modal-card>*{position:relative;z-index:1}
#portfolio-choice-modal.active .startup-modal-card{animation:portfolioInviteIn .65s cubic-bezier(.16,1,.3,1) both}
@keyframes portfolioInviteIn{from{opacity:0;transform:translateY(28px) scale(.96);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes portfolioInviteGlow{to{transform:translate3d(-8%,12%,0) scale(1.15)}}


/* ===============================
   Adrian Chan HR portfolio overrides
   Built on the Anas portfolio motion foundation
   =============================== */
:root{
  --ink:#111612;
  --paper:#F3EFE6;
  --paper-2:#F3EFE6;
  --muted:#717b72;
  --accent:#A7B89F;
  --amber:#D7A14B;
  --line:rgba(17,22,18,.16);
}
html,body{cursor:auto!important;}

body{background:
  radial-gradient(circle at 18% 8%,rgba(215,161,75,.18),transparent 31vw),
  radial-gradient(circle at 88% 17%,rgba(167,184,159,.22),transparent 35vw),
  var(--paper);
}
.brand{letter-spacing:-.04em;background:rgba(238,232,221,.08);backdrop-filter:blur(12px)}
.button-sage{background:rgba(167,184,159,.22);border-color:rgba(17,22,18,.28)}
.button-sage:before{background:var(--accent)}
.button-sage:hover{color:var(--ink)}
.hero{grid-template-columns:minmax(0,1fr) minmax(420px,.82fr);gap:clamp(36px,5vw,90px);align-items:center;padding-top:calc(var(--header) + 50px)}
.hero-sub{align-items:flex-start;flex-wrap:wrap}.hero-sub>div{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:flex-start}.hero-sub .button{margin:0;white-space:nowrap}.lead{overflow-wrap:anywhere}
.hr-pill-grid{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;max-width:100%;overflow:visible}.hr-pill{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid rgba(17,22,18,.16);border-radius:999px;padding:0 18px;background:rgba(247,242,233,.58);backdrop-filter:blur(10px);font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;box-shadow:0 18px 55px rgba(17,22,18,.04)}
.hero-visual--logo{position:relative;display:grid;place-items:center;min-height:min(72vh,760px);isolation:isolate;overflow:visible}.hero-logo-stage{position:relative;width:min(45vw,560px);max-width:100%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.58),rgba(255,255,255,.23) 41%,rgba(167,184,159,.10) 63%,transparent 64%);box-shadow:inset 0 0 0 1px rgba(17,22,18,.08),0 45px 120px rgba(17,22,18,.08);animation:logoStageFloat 7.5s ease-in-out infinite;overflow:visible}.hero-logo-stage:before{content:"";position:absolute;inset:8%;border-radius:50%;border:1px solid rgba(17,22,18,.12);box-shadow:0 0 0 82px rgba(255,255,255,.28);animation:logoRingSpin 28s linear infinite;z-index:-1}.hero-logo-stage:after{display:none!important;content:none!important}.hero-logo{width:73%;height:auto;filter:drop-shadow(0 24px 30px rgba(17,22,18,.22));animation:logoBreathe 6.5s ease-in-out infinite;transform-origin:50% 50%;will-change:transform}
.hero-profile-badge{position:absolute;right:clamp(6px,3vw,48px);bottom:clamp(18px,5vh,78px);width:clamp(220px,22vw,340px);aspect-ratio:1;border-radius:50%;padding:9px;background:rgba(247,242,233,.96);box-shadow:0 34px 90px rgba(17,22,18,.22);z-index:5;animation:portraitFloat 6s ease-in-out infinite}.hero-profile-badge img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%}
@keyframes logoStageFloat{0%,100%{transform:translate3d(0,0,0) rotate(0deg)}50%{transform:translate3d(0,-16px,0) rotate(-1.2deg)}}
@keyframes logoBreathe{0%,100%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.045) rotate(1.8deg)}}
@keyframes logoRingSpin{to{transform:rotate(360deg)}}
@keyframes portraitFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-8px,-14px,0)}}
.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}.stat{min-width:0}.stat b{font-size:clamp(34px,4.8vw,72px)}
.logo-marquee{overflow:hidden}.logo-track{gap:22px}.logo-item{width:230px;flex:0 0 230px;height:112px;border-color:rgba(238,232,221,.16);border-radius:18px;background:linear-gradient(140deg,rgba(255,255,255,.08),rgba(255,255,255,.02));padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.18)}.logo-item img{width:100%;height:100%;object-fit:contain;filter:none}.logo-item.company-pspmh img{border-radius:10px}.logo-item.company-cbre{background:#00513d}.logo-item.company-habib{background:#861455}.logo-item.company-persol{background:#5d5d5d}.logo-item.company-posh{background:#090909}.logo-item.company-pspmh{background:#f3eeee}.logo-caption{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0)}
.profile-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:0 28px 28px 0;overflow:hidden;background:rgba(247,242,233,.52);backdrop-filter:blur(12px)}.profile-strip>div{padding:28px 24px;border-right:1px solid var(--line);min-width:0}.profile-strip>div:last-child{border-right:0}.profile-strip b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px}.profile-strip span{display:block;color:var(--muted);font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.skill-matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.skill-card,.impact-card,.resume-card{border:1px solid var(--line);border-radius:22px;padding:28px;background:rgba(247,242,233,.58);box-shadow:0 24px 70px rgba(17,22,18,.05)}.skill-card h3,.impact-card h3,.resume-card h3{margin:10px 0 14px;font-size:24px;letter-spacing:-.03em}.skill-card ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.65}.impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.impact-card.wide{grid-column:span 2}.metric{display:block;font-size:clamp(42px,5vw,74px);font-weight:800;letter-spacing:-.06em;color:var(--ink)}.quote-panel{font-size:clamp(28px,4vw,58px);line-height:1.08;letter-spacing:-.045em;border:1px solid var(--line);border-radius:28px;padding:clamp(28px,5vw,70px);background:rgba(247,242,233,.64)}.quote-panel em{font-family:var(--serif)}
.resume-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.resume-card ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.65}.resume-card h3 small{display:block;font-size:12px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:6px}.resume-download-panel{display:flex;justify-content:space-between;gap:24px;align-items:center;border:1px solid var(--line);border-radius:28px;padding:28px;background:rgba(247,242,233,.65)}
.contact-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:50px}.contact-card{border:1px solid rgba(238,232,221,.18);border-radius:20px;padding:22px;background:rgba(255,255,255,.04)}.contact-card b{display:block;margin-bottom:10px;text-transform:uppercase;letter-spacing:.14em;font-size:11px}.contact-card a{overflow-wrap:anywhere;text-decoration:underline}.contact-list a,.footer-links a{overflow-wrap:anywhere}.footer-bottom span:nth-child(2){color:#9faaa1}.footer-cta em{color:var(--accent)}
.section-head{align-items:flex-end}.project-row{min-width:0}.project-title,.project-meta{min-width:0}.project-title{overflow-wrap:anywhere}.project-meta{overflow-wrap:anywhere}.inner-labels{flex-wrap:wrap}.pill{white-space:normal}
@media (max-width:1100px){.hero{grid-template-columns:1fr}.hero-visual--logo{min-height:560px}.hero-logo-stage{width:min(72vw,560px)}.hero-profile-badge{width:clamp(190px,32vw,280px);right:10%;bottom:6%}.skill-matrix,.impact-grid,.contact-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-strip>div:nth-child(2){border-right:0}.profile-strip>div{border-bottom:1px solid var(--line)}.profile-strip>div:nth-child(n/**/+3){border-bottom:0}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.hero{padding-top:calc(var(--header) + 34px)}.hero-sub{display:block}.hero-sub>div{margin-top:22px}.hero-sub .button{width:100%;min-height:50px}.hr-pill-grid{gap:10px}.hr-pill{font-size:10px;padding:0 13px}.hero-visual--logo{min-height:480px}.hero-logo-stage{width:min(92vw,420px)}.hero-logo-stage:before{box-shadow:0 0 0 42px rgba(255,255,255,.23)}.hero-profile-badge{width:clamp(176px,48vw,230px);right:4%;bottom:4%}.stats-grid,.skill-matrix,.impact-grid,.resume-card-grid,.contact-card-grid,.profile-strip{grid-template-columns:1fr}.stat,.profile-strip>div{border-right:0}.profile-strip>div{border-bottom:1px solid var(--line)}.profile-strip>div:last-child{border-bottom:0}.impact-card.wide{grid-column:span 1}.logo-item{width:180px;flex-basis:180px;height:92px}.section-head{display:grid;gap:24px}.project-row{grid-template-columns:44px 1fr 44px}.project-meta{display:none}.project-index{font-size:10px}.footer-top{grid-template-columns:1fr}.footer-bottom{gap:10px;flex-wrap:wrap}.about-grid{grid-template-columns:1fr}.portrait-sticky{position:relative;top:auto}.inner-meta{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.desktop-nav{display:none}.menu-toggle{display:block}}

/* ===============================
   Adrian v4 refinements
   =============================== */

/* Intro curtain / typewriter loader */

















/* Hero focus swap: make Adrian the spotlight */
.hero{overflow:visible}
.hero-visual--logo{
  min-height:min(76vh,780px);
  display:block;
}
.hero-profile-badge{
  right:0;
  bottom:4%;
  width:clamp(280px,33vw,520px);
  padding:10px;
  background:rgba(247,242,233,.97);
  box-shadow:0 45px 110px rgba(17,22,18,.18);
  z-index:3;
}
.hero-profile-badge::before{
  content:"";
  position:absolute;
  inset:-18px;
  border-radius:50%;
  border:1px solid rgba(17,22,18,.08);
  opacity:.75;
}
.hero-logo-stage{
  position:absolute;
  left:clamp(6px,1.8vw,30px);
  bottom:clamp(36px,9vh,96px);
  width:clamp(160px,19vw,260px);
  aspect-ratio:1;
  border-radius:28px;
  padding:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.54), rgba(255,255,255,.2));
  backdrop-filter:blur(10px);
  box-shadow:0 26px 80px rgba(17,22,18,.1);
  animation:logoStageFloat 8s ease-in-out infinite;
  z-index:2;
}
.hero-logo-stage:before{display:none}
.hero-logo{width:100%;filter:drop-shadow(0 18px 22px rgba(17,22,18,.16))}

/* Safer display spacing to avoid clipped serif shapes */
.section-head .h2,.section-head .h3,.footer-cta,.inner-hero .display,.hero-name,.contact-hero h1{
  overflow:visible;
  padding-top:.14em;
  padding-bottom:.12em;
  margin-top:-.14em;
  margin-bottom:-.12em;
}
.footer-top,.section-head,.inner-hero,.contact-hero{overflow:visible}
.footer-cta{line-height:.96}
.footer-cta em,.display-serif{display:inline-block;padding-top:.04em;padding-bottom:.09em}

/* Rich project hover previews */
.project-preview{
  width:min(34vw,500px);
  min-width:320px;
  aspect-ratio:auto;
  min-height:360px;
  background:linear-gradient(180deg, rgba(247,242,233,.98), rgba(238,232,221,.98));
  color:var(--ink);
  border-radius:28px;
  border:1px solid rgba(17,22,18,.12);
  box-shadow:0 35px 110px rgba(17,22,18,.22);
  padding:22px;
}
.project-preview::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(215,161,75,.18), transparent 35%), radial-gradient(circle at bottom left, rgba(167,184,159,.16), transparent 38%);
  pointer-events:none;
}
.project-preview.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.preview-shell{position:relative;z-index:1;display:grid;gap:18px;height:100%}
.preview-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);font-weight:800}
.preview-heading{font-size:clamp(24px,2.2vw,38px);line-height:.96;letter-spacing:-.05em;font-weight:800}
.preview-caption{font-size:12px;line-height:1.65;color:var(--muted)}
.preview-chip-row,.preview-tag-row{display:flex;flex-wrap:wrap;gap:10px}
.preview-chip,.preview-tag{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(17,22,18,.12);background:rgba(255,255,255,.58);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.preview-card-soft{border:1px solid rgba(17,22,18,.08);border-radius:20px;padding:18px;background:rgba(255,255,255,.45);box-shadow:0 18px 40px rgba(17,22,18,.05)}
.preview-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.preview-metric{border:1px solid rgba(17,22,18,.08);border-radius:18px;padding:16px;background:rgba(255,255,255,.55)}
.preview-metric b{display:block;font-size:28px;letter-spacing:-.06em}
.preview-metric span{display:block;margin-top:6px;font-size:10px;line-height:1.4;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.resume-sheet{display:grid;gap:14px;border:1px solid rgba(17,22,18,.08);border-radius:22px;padding:18px;background:rgba(255,255,255,.62);box-shadow:0 18px 40px rgba(17,22,18,.07)}
.resume-sheet-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.resume-sheet-head b{font-size:20px;letter-spacing:-.04em}
.resume-sheet-head small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}
.preview-lines{display:grid;gap:9px}
.preview-line{height:9px;border-radius:999px;background:linear-gradient(90deg, rgba(17,22,18,.14), rgba(17,22,18,.04));transform-origin:left center;transform:scaleX(.2);opacity:0;transition:transform .55s var(--ease), opacity .35s ease}
.project-preview.show .preview-line{transform:scaleX(1);opacity:1}
.project-preview.show .preview-line:nth-child(2){transition-delay:.08s}
.project-preview.show .preview-line:nth-child(3){transition-delay:.16s}
.project-preview.show .preview-line:nth-child(4){transition-delay:.24s}
.preview-line.w92{width:92%}.preview-line.w80{width:80%}.preview-line.w68{width:68%}.preview-line.w56{width:56%}
.resume-badges{display:flex;gap:10px;flex-wrap:wrap}
.resume-badges span{padding:7px 10px;border-radius:999px;background:rgba(167,184,159,.16);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.about-coin-wrap{display:grid;place-items:center;min-height:235px}
.about-coin{width:230px;height:230px;perspective:1100px}
.about-coin-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:coinFlip 5.2s ease-in-out infinite}
.about-coin-face{position:absolute;inset:0;border-radius:50%;overflow:hidden;backface-visibility:hidden;border:10px solid rgba(247,242,233,.98);box-shadow:0 18px 50px rgba(17,22,18,.14);background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(247,242,233,.88));display:grid;place-items:center;text-align:center}
.about-coin-face img{width:100%;height:100%;object-fit:cover}
.about-coin-face.back{transform:rotateY(180deg);padding:24px;font-size:24px;line-height:1.06;font-weight:800;letter-spacing:-.05em}
.about-coin-face.back span{display:block;max-width:150px}
.contact-preview-grid{display:grid;gap:12px}
.contact-preview-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border-radius:16px;border:1px solid rgba(17,22,18,.08);background:rgba(255,255,255,.58)}
.contact-preview-item b{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.contact-preview-item span{font-size:14px;font-weight:700;letter-spacing:-.02em}
.expertise-preview .preview-tag{animation:floatTag 4s ease-in-out infinite}
.expertise-preview .preview-tag:nth-child(2){animation-delay:.35s}
.expertise-preview .preview-tag:nth-child(3){animation-delay:.7s}
.expertise-preview .preview-tag:nth-child(4){animation-delay:1.05s}
@keyframes coinFlip{0%,18%{transform:rotateY(0deg)}38%,72%{transform:rotateY(180deg)}100%{transform:rotateY(360deg)}}
@keyframes floatTag{50%{transform:translateY(-6px)}}

@media (max-width:1100px){
  .hero-profile-badge{width:clamp(260px,46vw,430px);right:8%;bottom:4%}
  .hero-logo-stage{width:clamp(145px,24vw,220px);left:2%;bottom:8%}
}
@media (max-width:760px){
  
  .hero-visual--logo{min-height:500px}
  .hero-profile-badge{position:relative;right:auto;bottom:auto;margin:60px auto 0;width:min(82vw,360px)}
  .hero-logo-stage{left:0;right:0;bottom:auto;top:18px;margin:auto;width:150px}
  .project-preview{display:none!important}
  .section-head .h2,.section-head .h3,.footer-cta,.inner-hero .display,.hero-name,.contact-hero h1{padding-top:.1em;padding-bottom:.08em;margin-top:-.1em;margin-bottom:-.08em}
}

/* v5 intro reliability: the curtain is now controlled by JS timing, not page load */







/* ==========================================================
   V6 guaranteed intro curtain animation
   CSS-only sequence so it still runs even if page assets load instantly.
   ========================================================== */
body{overflow-x:hidden;}























/* ==========================================================
   V7 intro curtain animation
   Slower, smoother, and staged: typewriter → logo reveal → curtain lift.
   ========================================================== */


























/* External fallback for Adrian intro v8: inline style in each HTML controls the actual intro. */


/* Adrian intro v9 uses inline CSS/JS in each HTML page to avoid loader conflicts. */


/* Adrian intro v10 uses inline transform-only CSS/JS in each HTML page for performance. */


/* Adrian intro v11 uses inline type/backspace overlay in each HTML page. */


/* Adrian v12 new logo polish */
.hero-logo-stage{
  background:linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.24));
}
.hero-logo{
  width:100%;
  filter:drop-shadow(0 18px 26px rgba(17,22,18,.24));
}
.section-dark .footer-cta em,.footer-cta em{color:var(--accent)}
/* Intro v12 is inline in each HTML page. */


/* Adrian v13 full portrait hero */
.hero-visual--portrait{
  position:relative;
  min-height:min(78vh,800px);
  display:grid;
  place-items:center;
  overflow:visible;
  isolation:isolate;
}
.hero-visual--portrait::before{
  content:"";
  position:absolute;
  width:min(48vw,680px);
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,255,255,.45), rgba(255,255,255,.22) 43%, rgba(167,184,159,.08) 62%, transparent 64%);
  box-shadow:inset 0 0 0 1px rgba(17,22,18,.08), 0 45px 120px rgba(17,22,18,.08);
  animation:portraitHaloDrift 8s ease-in-out infinite;
  z-index:-1;
}
.hero-photo-showcase{
  position:relative;
  width:clamp(320px,39vw,620px);
  aspect-ratio:1;
  padding:10px;
  border-radius:46px;
  background:linear-gradient(180deg, rgba(247,242,233,.96), rgba(255,255,255,.68));
  box-shadow:0 46px 120px rgba(17,22,18,.2);
  animation:portraitShowcaseFloat 6.5s ease-in-out infinite;
  overflow:hidden;
}
.hero-photo-showcase::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:36px;
  border:1px solid rgba(255,255,255,.7);
  z-index:2;
  pointer-events:none;
}
.hero-photo-showcase img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:36px;
  transform:scale(1.01);
  transition:transform .9s var(--ease), filter .9s var(--ease);
  filter:saturate(.95) contrast(1.02);
}
.hero-photo-showcase:hover img{
  transform:scale(1.045);
  filter:saturate(1.03) contrast(1.03);
}
@keyframes portraitShowcaseFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  50%{transform:translate3d(-8px,-15px,0) rotate(-.7deg)}
}
@keyframes portraitHaloDrift{
  0%,100%{transform:translate3d(-4%,2%,0) scale(1)}
  50%{transform:translate3d(3%,-3%,0) scale(1.045)}
}
@media (max-width:1100px){
  .hero-visual--portrait{min-height:620px}
  .hero-visual--portrait::before{width:min(76vw,620px)}
  .hero-photo-showcase{width:min(72vw,520px)}
}
@media (max-width:760px){
  .hero-visual--portrait{min-height:460px;margin-top:20px}
  .hero-visual--portrait::before{width:min(94vw,420px)}
  .hero-photo-showcase{width:min(86vw,380px);border-radius:34px}
  .hero-photo-showcase img,.hero-photo-showcase::before{border-radius:26px}
}


/* Adrian v14 refinements: once-per-visit intro support, page transitions, countups, interactive info cards */






@keyframes adrianPageLine{
  0%{transform:translate(-50%,-50%) scaleX(.18)}
  100%{transform:translate(-50%,-50%) scaleX(1)}
}

.countup{
  font-variant-numeric:tabular-nums;
  transition:filter .4s ease, transform .4s var(--ease);
}
.countup.counting{
  filter:drop-shadow(0 18px 32px rgba(17,22,18,.08));
  transform:translateY(-2px);
}

.interactive-profile-strip .profile-info-card{
  position:relative;
  cursor:pointer;
  transition:transform .35s var(--ease), background .35s var(--ease), box-shadow .35s var(--ease);
}
.interactive-profile-strip .profile-info-card:hover,.interactive-profile-strip .profile-info-card:focus,.interactive-profile-strip .profile-info-card.is-open{
  transform:translateY(-6px);
  background:rgba(255,255,255,.38);
  box-shadow:0 24px 70px rgba(17,22,18,.08);
  outline:none;
}
.profile-info-card b{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.profile-info-card b em{
  font-style:normal;
  font-size:9px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink);
  background:rgba(167,184,159,.28);
  border:1px solid rgba(17,22,18,.10);
  border-radius:999px;
  padding:7px 9px;
  white-space:nowrap;
}
.profile-info-card .info-reveal{
  margin:14px 0 0;
  color:var(--ink);
  font-size:13px;
  line-height:1.55;
  max-height:0;
  opacity:0;
  overflow:hidden;
  transform:translateY(8px);
  transition:max-height .45s var(--ease), opacity .35s ease, transform .45s var(--ease);
}
.profile-info-card:hover .info-reveal,.profile-info-card:focus .info-reveal,.profile-info-card.is-open .info-reveal{
  max-height:220px;
  opacity:1;
  transform:translateY(0);
}
.profile-info-card a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}
.profile-info-card.contact-info-card{
  background:rgba(167,184,159,.12);
}
@media (max-width:760px){
  .profile-info-card b{
    align-items:flex-start;
  }
  .profile-info-card b em{
    font-size:8px;
    padding:6px 8px;
  }
  .profile-info-card .info-reveal{
    max-height:0;
  }
  .profile-info-card.is-open .info-reveal{
    max-height:320px;
  }
}


/* Resume/card clickable contact links */
.resume-card a{color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;}


/* Adrian v15 explanation card refinements */
.profile-info-card .info-reveal strong{
  color:var(--ink);
  font-weight:800;
}
.profile-info-card b em{
  text-align:center;
  line-height:1.15;
}
.profile-info-card:not(:hover):not(:focus):not(.is-open) .info-reveal{
  max-height:0;
  opacity:0;
  transform:translateY(8px);
}
.profile-info-card.is-open .info-reveal{
  max-height:340px;
  opacity:1;
  transform:translateY(0);
}

/* ==========================================================
   ADRIAN CHAN PORTFOLIO — V16 FOREST / PARCHMENT SYSTEM
   ========================================================== */
:root{
  --forest-ink:#111612;
  --forest-charcoal:#1B211D;
  --charcoal-green:#2B322D;
  --parchment:#F3EFE6;
  --sandstone:#DDD8CD;
  --heritage-gold:#D7A14B;
  --amber-gold:#EDBC64;
  --soft-sage:#A7B89F;
  --deep-sage:#75866F;
  --terracotta:#C46D43;
  --dark-text:#1A201C;
  --muted-text:#666D67;
  --ink:var(--forest-ink);
  --paper:var(--parchment);
  --paper-2:var(--sandstone);
  --muted:var(--muted-text);
  --accent:var(--heritage-gold);
  --amber:var(--amber-gold);
  --sage:var(--soft-sage);
  --sage-deep:var(--deep-sage);
  --terracotta-accent:var(--terracotta);
  --line:rgba(43,50,45,.20);
  --line-dark:rgba(243,239,230,.14);
  --shadow-soft:0 22px 70px rgba(17,22,18,.09);
  --shadow-deep:0 34px 100px rgba(8,12,9,.28);
  --gold-sage-gradient:linear-gradient(105deg,var(--heritage-gold) 0%,var(--amber-gold) 38%,var(--soft-sage) 100%);
  --gold-reflection-gradient:linear-gradient(110deg,#9A6A29 0%,var(--heritage-gold) 26%,var(--amber-gold) 48%,#F5D993 55%,var(--heritage-gold) 75%,#8B5D25 100%);
  --sage-depth-gradient:linear-gradient(135deg,var(--soft-sage),var(--deep-sage));
  --warm-paper-gradient:linear-gradient(135deg,var(--parchment) 0%,#ECE6DA 48%,var(--sandstone) 100%);
  --cinematic-dark-gradient:linear-gradient(135deg,#0A0E0B 0%,var(--forest-ink) 32%,var(--forest-charcoal) 72%,#2A241A 100%);
  --ease:cubic-bezier(.19,1,.22,1);
  --cursor-x:50vw;
  --cursor-y:50vh;
  color-scheme:light;
}

html{background:var(--forest-ink);scroll-padding-top:calc(var(--header) + 24px)}
body{
  color:var(--dark-text);
  background:
    radial-gradient(circle at 12% 4%,rgba(215,161,75,.10),transparent 25vw),
    radial-gradient(circle at 92% 22%,rgba(167,184,159,.15),transparent 30vw),
    var(--warm-paper-gradient);
  background-attachment:fixed;
  position:relative;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:9990;
  pointer-events:none;
  opacity:.42;
  background:radial-gradient(420px circle at var(--cursor-x) var(--cursor-y),rgba(237,188,100,.11),transparent 66%);
  mix-blend-mode:multiply;
  transition:opacity .4s ease;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:9989;
  pointer-events:none;
  opacity:.045;
  background-image:radial-gradient(rgba(26,32,28,.8) .65px,transparent .65px);
  background-size:7px 7px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);
}
::selection{background:var(--amber-gold);color:var(--forest-ink)}

.section,.section-tight,.inner-hero,.hero,.contact-hero,.footer{position:relative;isolation:isolate}
.section:not(.section-dark),.section-tight:not(.section-dark){
  background:
    radial-gradient(circle at 8% 25%,rgba(167,184,159,.12),transparent 24vw),
    radial-gradient(circle at 92% 75%,rgba(215,161,75,.08),transparent 26vw),
    linear-gradient(145deg,rgba(243,239,230,.96),rgba(221,216,205,.86));
}
.section:nth-of-type(even):not(.section-dark),.section-tight:nth-of-type(even):not(.section-dark){
  background:
    radial-gradient(circle at 90% 10%,rgba(215,161,75,.10),transparent 26vw),
    linear-gradient(135deg,#ECE7DD,var(--sandstone));
}
.section-dark,.contact-hero,.footer,.menu-overlay{
  color:var(--parchment);
  background:var(--cinematic-dark-gradient)!important;
  overflow:hidden;
}
.section-dark::before,.contact-hero::before,.footer::before,.menu-overlay::before{
  content:"";
  position:absolute;
  inset:-30%;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 30%,rgba(215,161,75,.17),transparent 26%),
    radial-gradient(circle at 78% 18%,rgba(117,134,111,.20),transparent 28%),
    conic-gradient(from 180deg at 50% 50%,transparent,rgba(196,109,67,.07),transparent 40%,rgba(167,184,159,.08),transparent 75%);
  filter:blur(30px);
  animation:v16DarkDrift 18s ease-in-out infinite alternate;
}
.section-dark::after,.contact-hero::after,.footer::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(ellipse at center,transparent 30%,rgba(4,7,5,.48) 100%);
}

.site-header{
  mix-blend-mode:normal;
  color:var(--forest-ink);
  height:var(--header);
  transition:transform .45s var(--ease),background .45s ease,color .45s ease,box-shadow .45s ease,backdrop-filter .45s ease;
}
.site-header.is-scrolled{
  color:var(--parchment);
  background:rgba(17,22,18,.79);
  border-bottom:1px solid rgba(243,239,230,.10);
  box-shadow:0 15px 45px rgba(7,10,8,.15);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
  backdrop-filter:blur(18px) saturate(120%);
}
.page-contact .site-header,.menu-open .site-header{color:var(--parchment)}
.brand{
  position:relative;
  border-color:currentColor;
  background:rgba(243,239,230,.08);
  transition:color .35s ease,border-color .35s ease,box-shadow .35s ease,background .35s ease;
}
.brand::before{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:inherit;
  z-index:-1;
  opacity:0;
  background:conic-gradient(from 0deg,var(--heritage-gold),var(--amber-gold),var(--soft-sage),var(--heritage-gold));
  animation:v16RingSpin 7s linear infinite;
  transition:opacity .35s ease;
}
.brand:hover::before{opacity:1}.brand:hover{border-color:transparent;background:var(--forest-ink);color:var(--parchment);box-shadow:0 12px 40px rgba(215,161,75,.24)}
.desktop-nav a::after{background:var(--gold-sage-gradient);height:2px;transform-origin:left}
.menu-toggle{border:1px solid currentColor;border-radius:999px;padding:10px 14px;transition:background .3s,color .3s}
.menu-toggle:hover{background:var(--heritage-gold);color:var(--forest-ink);border-color:var(--heritage-gold)}
.menu-links a{border-color:rgba(243,239,230,.13);transition:color .35s ease,padding-left .4s var(--ease)}
.menu-links a:hover{color:var(--amber-gold);padding-left:.14em}
.menu-links small{color:var(--soft-sage)}

.scroll-progress{height:3px;background:var(--gold-sage-gradient);box-shadow:0 0 18px rgba(237,188,100,.45)}





.kicker{color:var(--deep-sage)}
.section-dark .kicker,.contact-hero .kicker,.footer .kicker{color:var(--soft-sage)}
.display-serif,.footer-cta em,.contact-hero h1 em{
  color:var(--heritage-gold);
  background:var(--gold-reflection-gradient);
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:v16GoldShimmer 7s ease-in-out infinite;
}
.display,.h2,.h3,.project-title,.contact-hero h1,.footer-cta{text-wrap:balance}
.lead{color:var(--muted-text)}
.section-dark .lead,.contact-hero .lead{color:rgba(243,239,230,.72)}
.rule{background:linear-gradient(90deg,transparent,var(--heritage-gold),var(--soft-sage),transparent)}

.hero{
  background:
    radial-gradient(circle at 74% 38%,rgba(215,161,75,.16),transparent 30vw),
    radial-gradient(circle at 10% 76%,rgba(167,184,159,.22),transparent 28vw),
    var(--warm-paper-gradient);
}
.hero::before{
  content:"";
  position:absolute;
  width:min(54vw,820px);
  aspect-ratio:1;
  right:-12%;
  top:8%;
  z-index:0;
  border-radius:50%;
  background:conic-gradient(from 90deg,rgba(215,161,75,.13),rgba(167,184,159,.16),transparent 45%,rgba(196,109,67,.08),rgba(215,161,75,.13));
  filter:blur(5px);
  animation:v16SlowOrbit 24s linear infinite;
}
.hero-copy,.hero-visual{z-index:2}
.hero-eyebrow::before{background:var(--gold-sage-gradient);height:2px}
.hero-ghost{color:rgba(117,134,111,.08)}
.hr-pill,.pill{
  border-color:rgba(43,50,45,.18);
  background:linear-gradient(135deg,rgba(243,239,230,.72),rgba(167,184,159,.19));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 14px 35px rgba(17,22,18,.05);
  transition:transform .35s var(--ease),background .35s ease,border-color .35s ease,color .35s ease;
}
.hr-pill:hover,.pill:hover{transform:translateY(-3px);background:var(--sage-depth-gradient);border-color:transparent;color:var(--parchment)}
.hero-photo-showcase{
  box-shadow:0 38px 110px rgba(17,22,18,.22),0 0 0 1px rgba(215,161,75,.18);
}
.hero-photo-showcase::before{background:conic-gradient(from 90deg,var(--heritage-gold),transparent,var(--soft-sage),transparent,var(--heritage-gold));animation-duration:15s}
.hero-photo-showcase::after{background:radial-gradient(circle at 50% 40%,transparent 38%,rgba(17,22,18,.25) 100%)}

.button{
  border-color:var(--forest-ink);
  color:var(--forest-ink);
  isolation:isolate;
  box-shadow:0 12px 34px rgba(17,22,18,.08);
  transition:color .4s ease,border-color .4s ease,transform .4s var(--ease),box-shadow .4s ease;
}
.button::before{background:var(--gold-sage-gradient);transform:translateY(105%);z-index:-2}
.button::after{
  content:"";
  position:absolute;
  inset:-70% -30%;
  z-index:-1;
  background:linear-gradient(110deg,transparent 37%,rgba(255,255,255,.55) 48%,transparent 59%);
  transform:translateX(-75%) rotate(8deg);
  transition:transform .8s var(--ease);
}
.button:hover{color:var(--forest-ink);border-color:var(--heritage-gold);transform:translateY(-3px);box-shadow:0 18px 48px rgba(215,161,75,.20)}
.button:hover::before{transform:translateY(0)}.button:hover::after{transform:translateX(75%) rotate(8deg)}
.button-light{border-color:rgba(243,239,230,.72);color:var(--parchment);background:rgba(243,239,230,.04)}
.button-light::before{background:var(--gold-sage-gradient)}.button-light:hover{color:var(--forest-ink)}
.button-sage{border-color:var(--deep-sage);background:linear-gradient(135deg,rgba(167,184,159,.25),rgba(117,134,111,.12))}
.link-arrow span{color:var(--heritage-gold)}

.stats-grid{border-color:var(--line);background:rgba(243,239,230,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.stat{position:relative;border-color:var(--line);overflow:hidden;transition:background .4s ease,transform .4s var(--ease)}
.stat::before{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--gold-sage-gradient);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.stat:hover{background:rgba(167,184,159,.16);transform:translateY(-5px)}.stat:hover::before{transform:scaleX(1)}
.stat b,.metric{color:var(--heritage-gold);background:var(--gold-reflection-gradient);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat span{color:var(--muted-text)}

.section-head{position:relative}
.section-head::after{content:"";position:absolute;left:0;bottom:-26px;width:min(290px,42vw);height:2px;background:var(--gold-sage-gradient);transform-origin:left;animation:v16LineBreathe 4.5s ease-in-out infinite}
.project-list{border-color:var(--line)}
.project-row{border-color:var(--line);transition:padding .45s var(--ease),background .45s ease,transform .45s var(--ease)}
.project-row::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(215,161,75,.10),rgba(167,184,159,.12),transparent);opacity:0;transform:scaleX(.92);transform-origin:left;transition:opacity .4s ease,transform .5s var(--ease);z-index:-1}
.project-row:hover::before{opacity:1;transform:scaleX(1)}
.project-row:hover{padding-inline:18px;transform:translateX(4px)}
.project-arrow{border-color:var(--line)}.project-row:hover .project-arrow{background:var(--heritage-gold);border-color:var(--heritage-gold);color:var(--forest-ink);transform:rotate(-12deg)}

.logo-marquee{position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-marquee::before,.logo-marquee::after{content:"";position:absolute;top:0;bottom:0;width:12%;z-index:4;pointer-events:none}
.logo-marquee::before{left:0;background:linear-gradient(90deg,var(--forest-ink),transparent)}
.logo-marquee::after{right:0;background:linear-gradient(-90deg,var(--forest-ink),transparent)}
.logo-item{border-color:rgba(243,239,230,.16);transition:transform .5s var(--ease),box-shadow .5s ease,filter .5s ease}
.logo-item:hover{transform:translateY(-8px) scale(1.025);box-shadow:0 28px 75px rgba(0,0,0,.28),0 0 0 1px rgba(237,188,100,.2);filter:saturate(1.08)}

.skill-card,.impact-card,.resume-card,.contact-card,.profile-strip,.quote-panel,.resume-download-panel,.bio-copy,.portrait-sticky,.case-block{
  border-color:var(--line);
  box-shadow:var(--shadow-soft);
}
.skill-card,.impact-card,.resume-card,.contact-card,.resume-download-panel,.quote-panel{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(243,239,230,.78),rgba(221,216,205,.52));
  transition:transform .5s var(--ease),box-shadow .5s ease,border-color .5s ease,background .5s ease;
}
.skill-card::before,.impact-card::before,.resume-card::before,.contact-card::before,.resume-download-panel::before,.quote-panel::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;
  border-radius:inherit;
  padding:1px;
  opacity:0;
  background:conic-gradient(from var(--card-angle,0deg),transparent 0 15%,var(--heritage-gold) 28%,var(--soft-sage) 44%,transparent 58% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  transition:opacity .45s ease;
  animation:v16CardBorder 8s linear infinite;
}
.skill-card::after,.impact-card::after,.resume-card::after,.contact-card::after{
  content:"";
  position:absolute;
  width:160px;
  height:160px;
  right:-85px;
  bottom:-95px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(215,161,75,.20),transparent 70%);
  transition:transform .7s var(--ease),opacity .5s ease;
  opacity:.55;
}
.skill-card:hover,.impact-card:hover,.resume-card:hover,.contact-card:hover,.resume-download-panel:hover,.quote-panel:hover{transform:translateY(-8px);box-shadow:0 32px 90px rgba(17,22,18,.14);border-color:rgba(215,161,75,.30)}
.skill-card:hover::before,.impact-card:hover::before,.resume-card:hover::before,.contact-card:hover::before,.resume-download-panel:hover::before,.quote-panel:hover::before{opacity:1}
.skill-card:hover::after,.impact-card:hover::after,.resume-card:hover::after,.contact-card:hover::after{transform:translate(-35px,-28px) scale(1.35);opacity:.9}
.skill-card ul,.resume-card ul{color:var(--muted-text)}

.inner-hero{
  background:
    radial-gradient(circle at 85% 28%,rgba(167,184,159,.20),transparent 28vw),
    radial-gradient(circle at 12% 88%,rgba(215,161,75,.10),transparent 26vw),
    var(--warm-paper-gradient);
}
.inner-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,transparent 36%,rgba(117,134,111,.11) 100%)}
.breadcrumb{color:var(--deep-sage)}
.inner-labels .pill{background:rgba(243,239,230,.56)}

.contact-hero .contact-card{background:linear-gradient(145deg,rgba(243,239,230,.075),rgba(167,184,159,.045));border-color:rgba(243,239,230,.16);box-shadow:0 25px 70px rgba(0,0,0,.18)}
.contact-card span{color:var(--soft-sage)}
.contact-card strong{color:var(--parchment)}
.contact-form input,.contact-form textarea{border-color:rgba(243,239,230,.26);color:var(--parchment);transition:border-color .3s ease,background .3s ease,padding .3s ease}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--amber-gold);background:rgba(243,239,230,.035);padding-inline:12px}
.contact-form label{color:var(--soft-sage)}

.profile-strip{background:linear-gradient(135deg,rgba(243,239,230,.72),rgba(167,184,159,.17));border-radius:28px}
.profile-info-card.contact-info-card{background:rgba(167,184,159,.18)}
.interactive-profile-strip .profile-info-card:hover,.interactive-profile-strip .profile-info-card:focus,.interactive-profile-strip .profile-info-card.is-open{background:linear-gradient(135deg,rgba(237,188,100,.18),rgba(167,184,159,.24));box-shadow:0 25px 70px rgba(17,22,18,.11)}
.profile-info-card b em{color:var(--forest-ink);background:var(--sage-depth-gradient);border-color:transparent}
.profile-info-card .info-reveal,.profile-info-card .info-reveal strong{color:var(--dark-text)}
.portrait-sticky{overflow:hidden;border-radius:30px;background:var(--forest-charcoal)}
.portrait-sticky img{transition:transform 1.1s var(--ease),filter .8s ease;filter:saturate(.82) contrast(1.03)}
.portrait-sticky:hover img{transform:scale(1.045);filter:saturate(1) contrast(1.04)}
.bio-copy{padding:clamp(26px,4vw,56px);border:1px solid var(--line);border-radius:30px;background:linear-gradient(145deg,rgba(243,239,230,.66),rgba(221,216,205,.42))}

.footer{padding-top:clamp(90px,10vw,150px)}
.footer-top,.footer-bottom{position:relative;z-index:2}
.footer-bottom{border-color:rgba(243,239,230,.13);color:rgba(243,239,230,.55)}
.footer-bottom span:nth-child(2){color:var(--soft-sage)}
.footer-links a{position:relative;padding-block:7px;transition:color .3s ease,transform .3s var(--ease)}
.footer-links a:hover{color:var(--amber-gold);transform:translateX(7px)}

/* Sticky scrollspy experience */
.experience-section{overflow:visible!important;background:linear-gradient(145deg,var(--parchment),#E9E3D8)!important}
.experience-section-head{margin-bottom:clamp(55px,8vw,110px)}
.experience-section-head .lead{max-width:560px;font-size:clamp(16px,1.5vw,22px)}
.experience-layout{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.55fr);gap:clamp(42px,7vw,110px);align-items:start}
.experience-index{min-width:0;align-self:stretch}
.experience-index-sticky{position:sticky;top:calc(var(--header) + 30px);max-height:calc(100vh - var(--header) - 52px);display:flex;flex-direction:column;min-height:520px;padding:26px;border:1px solid rgba(43,50,45,.18);border-radius:28px;background:linear-gradient(155deg,rgba(27,33,29,.98),rgba(17,22,18,.96));box-shadow:var(--shadow-deep);overflow:hidden;color:var(--parchment)}
.experience-index-sticky::before{content:"";position:absolute;inset:-40%;z-index:0;background:conic-gradient(from 150deg,rgba(215,161,75,.16),transparent 26%,rgba(117,134,111,.18),transparent 64%,rgba(196,109,67,.08));filter:blur(34px);animation:v16DarkDrift 14s ease-in-out infinite alternate}
.experience-index-sticky>*{position:relative;z-index:1}
.experience-index-sticky>.kicker{margin:0 0 18px;color:var(--soft-sage)}
.experience-nav{list-style:none;margin:0;padding:0 6px 0 0;display:grid;gap:4px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--heritage-gold) transparent}
.experience-nav::-webkit-scrollbar{width:4px}.experience-nav::-webkit-scrollbar-thumb{background:var(--heritage-gold);border-radius:99px}
.experience-tab{display:grid;grid-template-columns:28px minmax(0,1fr) 4px;gap:12px;align-items:center;padding:14px 10px;border-radius:14px;color:rgba(243,239,230,.50);transition:color .38s ease,background .38s ease,transform .45s var(--ease),box-shadow .38s ease}
.experience-tab:hover{color:var(--parchment);background:rgba(243,239,230,.055);transform:translateX(4px)}
.experience-tab-number{font-size:10px;letter-spacing:.15em;color:var(--deep-sage);transition:color .35s ease}
.experience-tab-copy{min-width:0;display:grid;gap:4px}
.experience-tab strong{font-size:clamp(13px,1vw,15px);line-height:1.25;letter-spacing:-.015em}
.experience-tab small{font-size:9px;line-height:1.35;letter-spacing:.05em;text-transform:uppercase;color:rgba(243,239,230,.34);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .35s ease}
.experience-tab-indicator{width:3px;height:14px;border-radius:999px;background:rgba(243,239,230,.12);transform:scaleY(.45);transition:height .45s var(--ease),transform .45s var(--ease),background .35s ease,box-shadow .35s ease}
.experience-tab.is-active{color:var(--parchment);background:linear-gradient(90deg,rgba(215,161,75,.18),rgba(167,184,159,.09));box-shadow:inset 0 0 0 1px rgba(237,188,100,.14);transform:translateX(5px)}
.experience-tab.is-active .experience-tab-number{color:var(--amber-gold)}
.experience-tab.is-active small{color:var(--soft-sage)}
.experience-tab.is-active .experience-tab-indicator{height:34px;transform:scaleY(1);background:var(--gold-reflection-gradient);box-shadow:0 0 18px rgba(237,188,100,.5)}
.experience-index-meter{height:3px;margin-top:18px;border-radius:999px;background:rgba(243,239,230,.10);overflow:hidden}
.experience-index-meter span{display:block;width:calc(var(--experience-progress,0) * 100%);height:100%;border-radius:inherit;background:var(--gold-sage-gradient);transition:width .45s var(--ease);box-shadow:0 0 16px rgba(237,188,100,.4)}
.experience-content{display:grid;gap:clamp(30px,5vw,68px);min-width:0}
.experience-panel{scroll-margin-top:calc(var(--header) + 60px);display:grid;grid-template-columns:minmax(110px,.27fr) minmax(0,1fr);gap:clamp(22px,4vw,52px);min-height:min(74vh,720px);align-content:center;padding:clamp(30px,4vw,62px);border:1px solid rgba(43,50,45,.16);border-radius:32px;background:linear-gradient(145deg,rgba(243,239,230,.86),rgba(221,216,205,.52));box-shadow:0 22px 72px rgba(17,22,18,.08);position:relative;overflow:hidden;transition:border-color .55s ease,box-shadow .55s ease,transform .55s var(--ease),background .55s ease}
.experience-panel::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 45%,rgba(237,188,100,.13) 52%,transparent 59%);transform:translateX(-110%);transition:transform 1.1s var(--ease)}
.experience-panel::after{content:"";position:absolute;width:300px;height:300px;right:-150px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(167,184,159,.22),transparent 68%);transition:transform .8s var(--ease)}
.experience-panel.is-current{border-color:rgba(215,161,75,.42);box-shadow:0 34px 105px rgba(17,22,18,.14),0 0 0 1px rgba(237,188,100,.10);background:linear-gradient(145deg,rgba(243,239,230,.98),rgba(221,216,205,.66));transform:translateY(-4px)}
.experience-panel.is-current::before{transform:translateX(110%)}
.experience-panel.is-current::after{transform:translate(-45px,45px) scale(1.25)}
.experience-panel time{position:relative;z-index:2;font-size:11px;line-height:1.45;text-transform:uppercase;letter-spacing:.14em;color:var(--deep-sage);padding-top:44px}
.experience-panel>div{position:relative;z-index:2}
.experience-panel-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:22px;color:var(--deep-sage);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.experience-panel-eyebrow span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sage-depth-gradient);color:var(--parchment);font-weight:800;box-shadow:0 12px 28px rgba(117,134,111,.20)}
.experience-panel h3{margin:0;font-size:clamp(32px,4.2vw,66px);line-height:.96;letter-spacing:-.05em;color:var(--dark-text);text-wrap:balance}
.experience-panel h4{margin:16px 0 28px;color:var(--terracotta);font-size:clamp(14px,1.45vw,20px);line-height:1.4;font-weight:700}
.experience-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:14px;color:var(--muted-text);line-height:1.68}
.experience-panel li{position:relative;padding-left:24px;transition:color .3s ease,transform .3s var(--ease)}
.experience-panel li::before{content:"";position:absolute;left:0;top:.68em;width:8px;height:8px;border-radius:50%;background:var(--gold-sage-gradient);box-shadow:0 0 0 4px rgba(215,161,75,.10)}
.experience-panel li:hover{color:var(--dark-text);transform:translateX(4px)}
.resume-support-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:22px;margin-top:clamp(70px,10vw,140px)}
.resume-support-card{height:100%}
.resume-support-card:nth-child(1){background:linear-gradient(145deg,rgba(215,161,75,.14),rgba(243,239,230,.72))}
.resume-support-card:nth-child(2){background:linear-gradient(145deg,rgba(167,184,159,.25),rgba(243,239,230,.68))}

/* Motion states applied by JS */
.reveal-v16{opacity:0;filter:blur(8px);transform:translate3d(0,46px,0) scale(.985);transition:opacity .9s var(--ease),transform 1.05s var(--ease),filter .9s ease}
.reveal-v16.reveal-left-v16{transform:translate3d(-54px,20px,0) rotate(-1deg)}
.reveal-v16.reveal-right-v16{transform:translate3d(54px,20px,0) rotate(1deg)}
.reveal-v16.is-visible-v16{opacity:1;filter:none;transform:none}
.stagger-v16>*{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .85s var(--ease)}
.stagger-v16.is-visible-v16>*{opacity:1;transform:none}
.stagger-v16.is-visible-v16>*:nth-child(2){transition-delay:.06s}.stagger-v16.is-visible-v16>*:nth-child(3){transition-delay:.12s}.stagger-v16.is-visible-v16>*:nth-child(4){transition-delay:.18s}.stagger-v16.is-visible-v16>*:nth-child(5){transition-delay:.24s}.stagger-v16.is-visible-v16>*:nth-child(6){transition-delay:.30s}.stagger-v16.is-visible-v16>*:nth-child(7){transition-delay:.36s}

@keyframes v16DarkDrift{0%{transform:translate3d(-2%,-1%,0) rotate(-2deg) scale(1)}100%{transform:translate3d(4%,3%,0) rotate(3deg) scale(1.08)}}
@keyframes v16RingSpin{to{transform:rotate(360deg)}}
@keyframes v16SlowOrbit{to{transform:rotate(360deg)}}
@keyframes v16GoldShimmer{0%,20%{background-position:100% 50%}55%,100%{background-position:-115% 50%}}
@keyframes v16LineBreathe{0%,100%{transform:scaleX(.38);opacity:.55}50%{transform:scaleX(1);opacity:1}}
@property --card-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes v16CardBorder{to{--card-angle:360deg}}

@media (max-width:1100px){
  .experience-layout{grid-template-columns:minmax(240px,.68fr) minmax(0,1.35fr);gap:38px}
  .experience-index-sticky{padding:20px;min-height:480px}
  .experience-tab{grid-template-columns:24px minmax(0,1fr) 3px;gap:9px;padding:12px 8px}
  .experience-tab small{font-size:8px}
  .experience-panel{grid-template-columns:1fr;min-height:auto;padding:clamp(28px,4vw,48px)}
  .experience-panel time{padding-top:0}
  .resume-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .resume-support-card:first-child{grid-column:span 2}
}

@media (max-width:760px){
  :root{--header:72px}
  body::before{display:none}
  .section,.section-tight{background-attachment:scroll}
  .site-header{color:var(--forest-ink)}
  .site-header.is-scrolled,.page-contact .site-header,.menu-open .site-header{color:var(--parchment)}
  .menu-overlay{padding-bottom:28px}
  .menu-links a{font-size:clamp(44px,14vw,76px)}
  .hero::before{width:110vw;right:-48%;top:18%;opacity:.7}
  .button{width:100%}
  .logo-marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
  .section-head::after{bottom:-16px}
  .experience-section{padding-top:78px}
  .experience-section-head{margin-bottom:34px}
  .experience-layout{display:block}
  .experience-index{position:sticky;top:var(--header);z-index:60;margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad);background:linear-gradient(180deg,rgba(243,239,230,.98),rgba(243,239,230,.91),transparent);padding-bottom:14px}
  .experience-index-sticky{position:relative;top:auto;min-height:0;max-height:none;padding:12px 14px;border-radius:18px;box-shadow:0 18px 48px rgba(17,22,18,.18)}
  .experience-index-sticky>.kicker{display:none}
  .experience-nav{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;padding:1px 1px 8px;scroll-snap-type:x proximity;scrollbar-width:none}
  .experience-nav::-webkit-scrollbar{display:none}
  .experience-nav li{flex:0 0 auto;scroll-snap-align:center}
  .experience-tab{display:flex;min-width:max-content;padding:10px 12px;border-radius:999px;gap:8px}
  .experience-tab-copy{display:block}.experience-tab strong{font-size:11px}.experience-tab small,.experience-tab-indicator{display:none}
  .experience-tab-number{color:var(--soft-sage)}
  .experience-tab.is-active{transform:none;background:var(--gold-sage-gradient);color:var(--forest-ink);box-shadow:0 10px 28px rgba(215,161,75,.24)}
  .experience-tab.is-active .experience-tab-number{color:var(--forest-ink)}
  .experience-index-meter{margin-top:4px;height:2px}
  .experience-content{gap:24px;padding-top:18px}
  .experience-panel{scroll-margin-top:calc(var(--header) + 92px);border-radius:24px;padding:27px 22px;min-height:auto}
  .experience-panel h3{font-size:clamp(31px,10vw,48px)}
  .experience-panel h4{margin:12px 0 22px}
  .experience-panel ul{font-size:14px;gap:13px}
  .experience-panel li{padding-left:20px}
  .resume-support-grid{grid-template-columns:1fr;margin-top:68px}
  .resume-support-card:first-child{grid-column:auto}
  .skill-card:hover,.impact-card:hover,.resume-card:hover,.contact-card:hover,.resume-download-panel:hover,.quote-panel:hover{transform:none}
  .project-row:hover{padding-inline:0;transform:none}
  .reveal-v16.reveal-left-v16,.reveal-v16.reveal-right-v16{transform:translate3d(0,32px,0)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal,.reveal-left,.stagger>*,.reveal-v16,.stagger-v16>*{opacity:1!important;filter:none!important;transform:none!important}
  body::before{display:none}
}

/* V16 overflow containment for ambient decoration */
html,body{max-width:100%;overflow-x:clip}
.fx-hero{overflow:hidden}
.fx-grid-bg{left:0!important;right:0!important;width:auto!important;max-width:100%!important}
.fx-orb-a{right:0!important}
.project-preview:not(.show){visibility:hidden}


/* ==========================================================
   ADRIAN CHAN PORTFOLIO — V17 DARK VISIBILITY & LAYOUT FIX
   Stable typography, compact page rhythm and unified dark mode.
   ========================================================== */
:root{
  --forest-ink:#080D0A;
  --forest-charcoal:#101813;
  --charcoal-green:#1B271F;
  --deep-panel:#142019;
  --deep-panel-2:#1A2820;
  --parchment:#EEE7D9;
  --sandstone:#C9C0AE;
  --heritage-gold:#D7A14B;
  --amber-gold:#EDBC64;
  --soft-sage:#A7B89F;
  --deep-sage:#75866F;
  --terracotta:#C46D43;
  --dark-text:#EEE7D9;
  --muted-text:#A6B0A8;
  --ink:var(--forest-ink);
  --paper:var(--deep-panel);
  --paper-2:var(--deep-panel-2);
  --muted:var(--muted-text);
  --accent:var(--heritage-gold);
  --amber:var(--amber-gold);
  --line:rgba(215,161,75,.18);
  --cinematic-dark-gradient:
    radial-gradient(circle at 78% 18%,rgba(117,134,111,.18),transparent 32vw),
    radial-gradient(circle at 12% 74%,rgba(196,109,67,.10),transparent 28vw),
    linear-gradient(135deg,#070B08 0%,#0D1510 42%,#142019 72%,#0A100C 100%);
  --panel-gradient:linear-gradient(145deg,rgba(27,39,31,.96),rgba(12,20,15,.98));
  --panel-gradient-soft:linear-gradient(145deg,rgba(31,45,36,.90),rgba(14,23,18,.96));
  --shadow-soft:0 24px 70px rgba(0,0,0,.26);
  --shadow-deep:0 36px 110px rgba(0,0,0,.42);
}

html{background:var(--forest-ink);color-scheme:dark}
body{
  background:var(--cinematic-dark-gradient);
  background-attachment:fixed;
  color:var(--parchment);
}
main{background:transparent;color:var(--parchment)}
body::before{
  background-image:linear-gradient(rgba(167,184,159,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(167,184,159,.025) 1px,transparent 1px);
  opacity:.42;
}
::selection{background:var(--amber-gold);color:var(--forest-ink)}

/* Typography must always remain readable, regardless of motion support. */
[data-split]{overflow:visible!important}
.split-word,.display-serif .split-word,.footer-cta em .split-word,.contact-hero h1 em .split-word{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  -webkit-text-fill-color:currentColor;
}
.reveal.in,.reveal-left.in,.stagger.in,.reveal-v16.is-visible-v16,.stagger-v16.is-visible-v16{visibility:visible}
.display-serif,.footer-cta em,.contact-hero h1 em{
  color:var(--amber-gold);
  background:linear-gradient(110deg,#A56E2B 0%,var(--heritage-gold) 28%,var(--amber-gold) 50%,#F0D391 58%,var(--heritage-gold) 78%,#986126 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.display,.h2,.h3,.project-title,.lead,p,li,strong,span{overflow-wrap:break-word}
.lead{color:var(--muted-text)}
.small,.muted{color:var(--muted-text)}
.kicker{color:var(--soft-sage)}

/* Consistent dark surfaces across every page. */
.section,.section-tight{
  color:var(--parchment);
  background:
    radial-gradient(circle at 90% 10%,rgba(117,134,111,.08),transparent 26vw),
    linear-gradient(180deg,rgba(8,13,10,.98),rgba(14,23,18,.98));
}
.section:nth-of-type(even),.section-tight:nth-of-type(even){
  background:
    radial-gradient(circle at 8% 90%,rgba(215,161,75,.055),transparent 25vw),
    linear-gradient(145deg,#101913,#0B120E);
}
.section-dark,.contact-hero,.footer,.menu-overlay{
  background:var(--cinematic-dark-gradient)!important;
  color:var(--parchment);
}
.section-dark::after,.contact-hero::after,.footer::after{background:radial-gradient(ellipse at center,transparent 20%,rgba(2,5,3,.58) 100%)}
.rule,.project-list,.stats-grid,.timeline,.contact-list{border-color:var(--line)}

/* Header stays legible on every dark page and at every scroll position. */
.site-header,.site-header.is-scrolled,.page-contact .site-header,.menu-open .site-header{
  color:var(--parchment);
  background:rgba(8,13,10,.72);
  border-bottom:1px solid rgba(215,161,75,.11);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
  backdrop-filter:blur(18px) saturate(120%);
  box-shadow:0 12px 38px rgba(0,0,0,.14);
}
.brand{background:rgba(167,184,159,.055)}

/* Homepage hero: dark, balanced and free from the artificial portrait halo. */
.hero{
  min-height:max(760px,100svh);
  color:var(--parchment);
  background:
    radial-gradient(circle at 76% 34%,rgba(215,161,75,.12),transparent 29vw),
    radial-gradient(circle at 13% 75%,rgba(117,134,111,.18),transparent 31vw),
    linear-gradient(135deg,#070C09 0%,#0F1812 48%,#15231B 72%,#090F0B 100%);
}
.hero::before{opacity:.28;filter:blur(16px);background:conic-gradient(from 90deg,rgba(215,161,75,.11),rgba(117,134,111,.13),transparent 47%,rgba(196,109,67,.065),rgba(215,161,75,.11))}
.hero-ghost{color:rgba(167,184,159,.045)}
.hero-sub p{color:var(--muted-text)}
.hr-pill,.pill{
  color:var(--parchment);
  border-color:rgba(167,184,159,.18);
  background:linear-gradient(135deg,rgba(27,39,31,.90),rgba(13,22,17,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 14px 36px rgba(0,0,0,.18);
}
.hero-visual--portrait::before{display:none!important}
.hero-photo-showcase{
  padding:8px;
  border-radius:38px;
  border:1px solid rgba(215,161,75,.30);
  background:linear-gradient(145deg,#1B2820,#0C130F);
  box-shadow:0 30px 82px rgba(0,0,0,.38)!important;
  animation:none!important;
  transform:none;
}
.hero-photo-showcase::before{
  inset:8px;
  border-radius:30px;
  border:1px solid rgba(238,231,217,.28);
  background:none!important;
  animation:none!important;
}
.hero-photo-showcase::after{display:none!important}
.hero-photo-showcase img{
  border-radius:30px;
  filter:none!important;
  transform:none;
}
.hero-photo-showcase:hover img{filter:none!important;transform:scale(1.018)}

/* Inner-page heroes: remove oversized empty zones while retaining impact. */
.inner-hero{
  min-height:auto!important;
  padding:calc(var(--header) + 72px) var(--pad) clamp(72px,8vw,116px)!important;
  justify-content:center;
  color:var(--parchment);
  background:
    radial-gradient(circle at 86% 24%,rgba(117,134,111,.16),transparent 27vw),
    radial-gradient(circle at 10% 88%,rgba(215,161,75,.07),transparent 24vw),
    linear-gradient(135deg,#080D0A 0%,#111B15 55%,#17251D 100%)!important;
  border-bottom:1px solid rgba(215,161,75,.12);
}
.inner-hero::before{background:radial-gradient(ellipse at center,transparent 28%,rgba(2,5,3,.34) 100%)}
.inner-hero>.breadcrumb,.inner-hero>.kicker,.inner-hero>.display,.inner-hero>.inner-meta{position:relative;z-index:3}
.inner-hero .display{max-width:1180px;font-size:clamp(68px,10.5vw,156px)}
.breadcrumb{color:var(--soft-sage)}
.inner-meta{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
  gap:clamp(30px,6vw,90px);
  margin-top:clamp(36px,5vw,68px);
}
.inner-meta>:only-child{grid-column:1/-1;max-width:920px}
.inner-meta p{color:var(--muted-text)}
.inner-labels{align-self:start}
.inner-labels .pill{background:linear-gradient(145deg,rgba(27,39,31,.92),rgba(13,21,16,.96));border-color:rgba(215,161,75,.15)}

/* Homepage sections shown in the supplied screenshots. */
.stats-grid{
  background:linear-gradient(145deg,rgba(24,36,29,.88),rgba(10,17,13,.95));
  border-color:var(--line);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow-soft);
}
.stat{border-color:var(--line)}
.stat span{color:var(--muted-text)}
.clients-section{padding-block:clamp(84px,9vw,128px)!important}
.clients-section .section-head,.page-home main>.section:last-of-type .section-head{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  align-items:start;
  gap:clamp(34px,7vw,100px);
  margin-bottom:clamp(48px,6vw,78px);
}
.clients-section .section-head p:last-child,.page-home main>.section:last-of-type .section-head>p{padding-top:8px;color:var(--muted-text)}
.section-head .h2{color:var(--parchment)}
.section-head::after{bottom:-20px}
.logo-item{
  background:linear-gradient(145deg,rgba(31,45,36,.92),rgba(13,21,16,.97));
  border-color:rgba(215,161,75,.16);
  box-shadow:0 18px 50px rgba(0,0,0,.25);
}
.logo-caption{color:var(--muted-text)}
.project-row{
  color:var(--parchment);
  border-color:var(--line);
  background:linear-gradient(90deg,rgba(27,39,31,.55),rgba(12,20,15,.22));
  margin-bottom:8px;
}
.project-index,.project-meta{color:var(--muted-text)}
.project-arrow{border-color:rgba(215,161,75,.25)}

/* Shared cards and panels. */
.ambient-panel,.skill-card,.impact-card,.resume-card,.contact-card,.profile-strip,.quote-panel,.resume-download-panel,.bio-copy,.portrait-sticky,.case-block,.education-card,.outcome{
  color:var(--parchment);
  border-color:rgba(215,161,75,.16)!important;
  background:var(--panel-gradient)!important;
  box-shadow:var(--shadow-soft)!important;
}
.ambient-panel::before{background:linear-gradient(115deg,transparent,rgba(237,188,100,.10),transparent)}
.skill-card ul,.resume-card ul,.impact-card p,.case-block p,.bio-copy p,.quote-panel,.education-card p,.outcome p{color:var(--muted-text)}
.skill-card h3,.impact-card h3,.resume-card h3,.case-block h3,.education-card h3{color:var(--parchment)}
.skill-card::after,.impact-card::after,.resume-card::after,.contact-card::after{background:radial-gradient(circle,rgba(215,161,75,.13),transparent 70%)}
.skill-card:hover,.impact-card:hover,.resume-card:hover,.contact-card:hover,.resume-download-panel:hover,.quote-panel:hover{box-shadow:0 34px 96px rgba(0,0,0,.38)!important}
.quote-panel em{color:var(--amber-gold)}
.bio-copy{padding:clamp(28px,4vw,54px)}
.portrait-sticky img{filter:none}
.timeline-row{border-color:var(--line)}
.timeline-row strong,.timeline-role{color:var(--parchment)}
.timeline-row span,.timeline-detail p,.timeline-company-copy span{color:var(--muted-text)}
.skills-cloud span{border-color:rgba(215,161,75,.17);background:rgba(27,39,31,.72)}
.profile-strip{background:var(--panel-gradient-soft)!important}
.profile-info-card,.profile-info-card.contact-info-card{background:rgba(167,184,159,.055)!important;color:var(--parchment)}
.profile-info-card b,.profile-info-card .info-reveal,.profile-info-card .info-reveal strong{color:var(--parchment)!important}
.profile-info-card b em{color:var(--forest-ink)!important}

/* Resume experience area remains sticky, now fully dark and readable. */
.experience-section{
  color:var(--parchment);
  background:
    radial-gradient(circle at 90% 10%,rgba(117,134,111,.10),transparent 28vw),
    linear-gradient(145deg,#0A110D,#121D16)!important;
}
.experience-section-head .lead{color:var(--muted-text)}
.experience-index-sticky{background:linear-gradient(155deg,rgba(22,34,27,.99),rgba(7,12,9,.99));border-color:rgba(215,161,75,.19)}
.experience-panel{
  color:var(--parchment);
  border-color:rgba(215,161,75,.16);
  background:linear-gradient(145deg,rgba(26,40,31,.96),rgba(10,17,13,.98));
  box-shadow:0 24px 76px rgba(0,0,0,.28);
}
.experience-panel.is-current{
  border-color:rgba(237,188,100,.42);
  background:linear-gradient(145deg,rgba(32,48,38,.98),rgba(12,20,15,.99));
  box-shadow:0 34px 104px rgba(0,0,0,.40),0 0 0 1px rgba(237,188,100,.08);
}
.experience-panel time,.experience-panel-eyebrow{color:var(--soft-sage)}
.experience-panel h3{color:var(--parchment)}
.experience-panel h4{color:var(--amber-gold)}
.experience-panel ul{color:var(--muted-text)}
.experience-panel li:hover{color:var(--parchment)}
.resume-support-card:nth-child(1),.resume-support-card:nth-child(2){background:var(--panel-gradient)!important}

/* Contact page: compact, readable and dark throughout. */
.contact-hero{
  min-height:auto!important;
  padding:calc(var(--header) + 76px) var(--pad) clamp(76px,8vw,118px)!important;
  align-content:start;
}
.contact-hero>.kicker,.contact-hero>h1,.contact-hero>.contact-grid{position:relative;z-index:3}
.contact-hero h1{font-size:clamp(72px,11vw,168px);line-height:.86}
.contact-grid{margin-top:clamp(52px,7vw,86px);gap:clamp(42px,7vw,100px);align-items:start}
.contact-grid .lead{color:var(--muted-text)}
.contact-card-grid{gap:16px}
.contact-card{background:linear-gradient(145deg,rgba(31,45,36,.90),rgba(12,20,15,.96))!important}
.contact-card span{color:var(--soft-sage)}
.contact-card strong,.contact-card a{color:var(--parchment)}
.contact-form{padding:clamp(24px,3vw,38px);border:1px solid rgba(215,161,75,.16);border-radius:24px;background:linear-gradient(145deg,rgba(27,39,31,.88),rgba(9,15,11,.96))}
.contact-form input,.contact-form textarea{color:var(--parchment);border-color:rgba(167,184,159,.24)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(166,176,168,.48)}

/* Footer and utility surfaces. */
.footer{border-top:1px solid rgba(215,161,75,.12)}
.footer-bottom{border-color:rgba(215,161,75,.12)}
.startup-modal-card{background:var(--deep-panel-2);color:var(--parchment);border:1px solid rgba(215,161,75,.18)}
.button{border-color:rgba(215,161,75,.55);color:var(--parchment);background:rgba(27,39,31,.72)}
.button-sage{color:var(--parchment)}
.button:hover{color:var(--forest-ink)}
.filter{color:var(--parchment);border-color:rgba(215,161,75,.22)}
.filter.active{background:var(--gold-sage-gradient);color:var(--forest-ink)}

/* Tablet and mobile: no absolute/ghost layouts and no oversized empty regions. */
@media (max-width:1100px){
  .hero{
    min-height:auto;
    grid-template-columns:1fr;
    padding-top:calc(var(--header) + 72px);
    padding-bottom:72px;
    gap:56px;
  }
  .hero-visual,.hero-visual--portrait{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:560px;
    opacity:1!important;
    right:auto!important;
    top:auto!important;
  }
  .hero-photo-showcase{width:min(72vw,560px)}
  .clients-section .section-head,.page-home main>.section:last-of-type .section-head{grid-template-columns:1fr;gap:28px}
  .inner-hero .display{font-size:clamp(64px,12vw,124px)}
}

@media (max-width:760px){
  body{background-attachment:scroll}
  .section{padding:72px 0}
  .section-tight{padding:56px 0}
  .hero{padding:calc(var(--header) + 54px) var(--pad) 64px;gap:42px}
  .hero-sub{max-width:100%;display:block}
  .hero-sub .button{margin-top:12px}
  .hero-visual,.hero-visual--portrait{min-height:410px;margin-top:0}
  .hero-photo-showcase{width:min(88vw,390px);border-radius:28px}
  .hero-photo-showcase img,.hero-photo-showcase::before{border-radius:22px}
  .inner-hero{padding:calc(var(--header) + 54px) var(--pad) 64px!important}
  .inner-hero .display{font-size:clamp(54px,16vw,82px);line-height:.88}
  .inner-meta{display:block;margin-top:34px}
  .inner-labels{margin-top:24px}
  .contact-hero{padding:calc(var(--header) + 58px) var(--pad) 68px!important}
  .contact-hero h1{font-size:clamp(60px,18vw,92px)}
  .contact-grid{margin-top:44px;display:block}
  .contact-grid>div+*{margin-top:36px}
  .section-head,.clients-section .section-head,.page-home main>.section:last-of-type .section-head{display:block;margin-bottom:48px}
  .section-head>p{margin-top:24px!important;padding-top:0!important}
  .section-head::after{bottom:-18px}
  .stats-grid{border-radius:18px}
  .project-row{margin-bottom:6px;background:linear-gradient(145deg,rgba(27,39,31,.76),rgba(10,17,13,.90))}
  .experience-index{background:linear-gradient(180deg,rgba(8,13,10,.98),rgba(8,13,10,.92),transparent)}
  .experience-panel{background:linear-gradient(145deg,rgba(26,40,31,.98),rgba(9,15,11,.99))}
  .bio-copy{padding:24px}
}

/* V17.1 specificity and final formatting corrections */
.section:not(.section-dark),.section-tight:not(.section-dark),.section:nth-of-type(even):not(.section-dark),.section-tight:nth-of-type(even):not(.section-dark){
  color:var(--parchment)!important;
  background:
    radial-gradient(circle at 88% 12%,rgba(117,134,111,.085),transparent 27vw),
    radial-gradient(circle at 10% 86%,rgba(215,161,75,.05),transparent 25vw),
    linear-gradient(145deg,#0F1812 0%,#0A110D 58%,#111C15 100%)!important;
}
.section:not(.section-dark)::after,.section-tight:not(.section-dark)::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(ellipse at center,transparent 28%,rgba(2,5,3,.28) 100%);
}
.inner-hero>.breadcrumb{
  position:absolute!important;
  z-index:4;
  top:calc(var(--header) + 22px);
  left:var(--pad);
}
.inner-hero>.kicker,.inner-hero>.display,.inner-hero>.inner-meta{position:relative;z-index:3}
.education-card img{background:var(--deep-panel-2)}

.contact-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-card{
  min-height:112px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:12px;
  padding:20px;
}
.contact-card b{margin:0;color:var(--soft-sage)}
.contact-card a{
  display:block;
  color:var(--parchment);
  font-size:clamp(13px,1.05vw,16px);
  line-height:1.35;
  overflow-wrap:anywhere;
  word-break:normal;
}

@media (max-width:760px){
  .inner-hero>.breadcrumb{top:calc(var(--header) + 16px)}
  .contact-card-grid{grid-template-columns:1fr}
  .contact-card{min-height:0}
}

/* Mobile reveal-state correction: visible elements must not retain directional offsets. */
@media (max-width:760px){
  .reveal-v16.is-visible-v16,.reveal-v16.reveal-left-v16.is-visible-v16,.reveal-v16.reveal-right-v16.is-visible-v16{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
  }
}


/* ==========================================================
   ADRIAN CHAN PORTFOLIO — V18 REFINED UI + STICKY ABOUT STORY
   Restrained accents, Apple-inspired interface surfaces,
   safer typography and a deliberate sticky biography sequence.
   ========================================================== */
:root{
  --champagne:#D8CCB5;
  --champagne-bright:#E9E1D3;
  --mist-sage:#B8C3B6;
  --ui-surface:rgba(25,37,29,.72);
  --ui-surface-strong:rgba(28,42,33,.90);
  --ui-border:rgba(238,231,217,.105);
  --ui-border-hover:rgba(216,204,181,.24);
  --ui-highlight:linear-gradient(135deg,rgba(184,195,182,.20),rgba(216,204,181,.09));
  --ui-shadow:0 18px 54px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.055);
}

/* Large type: restrained colour, safer descenders and less compressed rhythm. */
.display{
  line-height:.89;
  letter-spacing:-.047em;
  word-spacing:.012em;
  overflow:visible;
}
.h2{
  line-height:.98;
  letter-spacing:-.042em;
  word-spacing:.018em;
  overflow:visible;
  padding-bottom:.08em;
}
.h3,.project-title{
  line-height:1.04;
  letter-spacing:-.032em;
  word-spacing:.01em;
  overflow:visible;
}
.display-serif,.footer-cta em,.contact-hero h1 em{
  display:inline-block;
  color:var(--mist-sage)!important;
  background:none!important;
  background-image:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:currentColor!important;
  line-height:1.12!important;
  letter-spacing:-.026em!important;
  word-spacing:.015em;
  padding:.015em .018em .15em;
  margin-bottom:-.13em;
  overflow:visible!important;
  text-shadow:0 18px 48px rgba(0,0,0,.30),0 0 30px rgba(167,184,159,.055);
}
.hero-name .display-serif{
  color:var(--champagne)!important;
  padding-bottom:.09em;
  margin-bottom:-.08em;
}
.display-serif .split-word,.footer-cta em .split-word,.contact-hero h1 em .split-word{
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  overflow:visible!important;
}
.section-head>div,.section-head h2,.section-head .h2{overflow:visible}
.section-head{overflow:visible;padding-bottom:8px}

/* Keep bronze/gold as a small structural accent, not a dominant text colour. */
.link-arrow span,.experience-panel h4,.experience-tab.is-active .experience-tab-number{
  color:var(--champagne)!important;
}
.stat b,.metric{
  color:var(--champagne-bright)!important;
  background:none!important;
  background-image:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:0 12px 35px rgba(0,0,0,.26);
}
.experience-panel li::before{
  background:linear-gradient(135deg,var(--mist-sage),var(--champagne));
  box-shadow:0 0 0 4px rgba(184,195,182,.07);
}

/* Apple-inspired buttons: quiet capsules, no theatrical wipe or shimmer. */
.button{
  min-height:50px;
  border-radius:999px;
  padding:0 22px;
  gap:9px;
  border:1px solid var(--ui-border)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025))!important;
  color:var(--parchment)!important;
  box-shadow:var(--ui-shadow)!important;
  -webkit-backdrop-filter:blur(18px) saturate(120%);
  backdrop-filter:blur(18px) saturate(120%);
  font-size:13px;
  font-weight:650;
  text-transform:none;
  letter-spacing:.012em;
  isolation:isolate;
  transition:transform .28s var(--ease),background .28s ease,border-color .28s ease,box-shadow .28s ease,color .28s ease;
}
.button::before{
  inset:0!important;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(184,195,182,.20),rgba(216,204,181,.12))!important;
  opacity:0;
  transform:none!important;
  transition:opacity .28s ease!important;
  z-index:-1!important;
}
.button::after{display:none!important}
.button:hover{
  transform:translateY(-2px) scale(1.012);
  border-color:var(--ui-border-hover)!important;
  box-shadow:0 22px 62px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.09)!important;
  color:var(--champagne-bright)!important;
}
.button:hover::before{opacity:1;transform:none!important}
.button:active{transform:translateY(0) scale(.985)}
.button-sage{
  background:linear-gradient(180deg,rgba(167,184,159,.14),rgba(117,134,111,.07))!important;
}
.button-light{background:rgba(255,255,255,.035)!important}

/* Pills, filters and small controls use one consistent low-contrast system. */
.hr-pill,.pill,.filter,.skills-cloud span{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px!important;
  border:1px solid var(--ui-border)!important;
  background:rgba(255,255,255,.035)!important;
  color:var(--muted-text)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  font-weight:600;
  letter-spacing:.065em;
  transition:transform .26s var(--ease),background .26s ease,border-color .26s ease,color .26s ease,box-shadow .26s ease;
}
.hr-pill:hover,.pill:hover,.filter:hover,.skills-cloud span:hover,.filter.active{
  transform:translateY(-2px);
  background:var(--ui-highlight)!important;
  border-color:var(--ui-border-hover)!important;
  color:var(--parchment)!important;
  box-shadow:0 14px 36px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.065);
}

/* Statistics become separate soft glass tiles rather than one segmented bar. */
.stats-grid{
  gap:14px;
  padding:0;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.stat{
  min-height:190px;
  padding:30px 28px 26px;
  border:1px solid var(--ui-border)!important;
  border-radius:26px;
  background:
    radial-gradient(circle at 100% 0,rgba(184,195,182,.085),transparent 44%),
    linear-gradient(155deg,rgba(27,41,32,.92),rgba(11,19,14,.95));
  box-shadow:var(--ui-shadow);
  overflow:hidden;
  transition:transform .34s var(--ease),border-color .34s ease,box-shadow .34s ease,background .34s ease;
}
.stat:last-child{border-right:1px solid var(--ui-border)!important}
.stat::before{
  inset:auto 28px 22px 28px!important;
  width:auto;
  height:1px;
  border-radius:99px;
  background:linear-gradient(90deg,rgba(184,195,182,.72),rgba(216,204,181,.22),transparent)!important;
  transform:scaleX(.34)!important;
  transform-origin:left;
  opacity:.8;
}
.stat::after{
  content:"";
  position:absolute;
  right:-38px;
  top:-48px;
  width:130px;
  height:130px;
  border-radius:50%;
  border:1px solid rgba(216,204,181,.07);
  transition:transform .5s var(--ease),border-color .35s ease;
}
.stat:hover{
  transform:translateY(-5px);
  border-color:var(--ui-border-hover)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(184,195,182,.13),transparent 46%),
    linear-gradient(155deg,rgba(31,46,36,.96),rgba(12,21,15,.97));
  box-shadow:0 28px 76px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.075);
}
.stat:hover::before{transform:scaleX(1)!important}
.stat:hover::after{transform:translate(-12px,12px) scale(1.08);border-color:rgba(216,204,181,.13)}
.stat b{
  font-size:clamp(38px,4.6vw,68px);
  font-weight:650;
  line-height:1;
  letter-spacing:-.045em;
  margin-bottom:22px;
}
.stat span{font-size:11px;line-height:1.55;letter-spacing:.115em;color:var(--muted-text)}

/* Similar navigation/card controls share the same softer geometry. */
.project-list{border:0!important;display:grid;gap:12px}
.project-row{
  margin:0!important;
  padding:26px 24px!important;
  border:1px solid var(--ui-border)!important;
  border-radius:24px;
  background:linear-gradient(145deg,rgba(28,42,33,.66),rgba(12,20,15,.76))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
}
.project-row:hover{
  padding-inline:28px!important;
  transform:translateY(-3px)!important;
  border-color:var(--ui-border-hover)!important;
  box-shadow:0 22px 58px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.06);
}
.project-row::before{background:linear-gradient(90deg,rgba(184,195,182,.09),rgba(216,204,181,.045),transparent)!important}
.project-arrow{
  width:42px;height:42px;
  border-color:var(--ui-border)!important;
  background:rgba(255,255,255,.025);
}
.project-row:hover .project-arrow{
  background:rgba(184,195,182,.14)!important;
  border-color:var(--ui-border-hover)!important;
  color:var(--parchment)!important;
}
.profile-strip{
  gap:14px;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.profile-strip>div{
  border:1px solid var(--ui-border)!important;
  border-radius:22px;
  padding:24px 22px;
  background:linear-gradient(150deg,rgba(27,41,32,.84),rgba(12,20,15,.90))!important;
  box-shadow:var(--ui-shadow);
}
.profile-strip>div:last-child{border-bottom:1px solid var(--ui-border)!important}
.contact-card,.skill-card,.impact-card,.resume-card,.resume-download-panel,.quote-panel,.case-block,.education-card,.outcome{
  border-radius:24px!important;
  border-color:var(--ui-border)!important;
}
.experience-index-sticky,.experience-panel{border-radius:26px}
.experience-tab{border-radius:16px;padding:13px 11px}
.experience-tab.is-active{
  background:linear-gradient(90deg,rgba(184,195,182,.14),rgba(216,204,181,.055))!important;
  box-shadow:inset 0 0 0 1px var(--ui-border-hover)!important;
}
.experience-tab.is-active .experience-tab-indicator{
  background:linear-gradient(180deg,var(--mist-sage),var(--champagne))!important;
  box-shadow:0 0 14px rgba(184,195,182,.22)!important;
}

/* About biography: sticky portrait while the story panels move through the viewport. */
.about-story-section{overflow:visible!important;padding-top:clamp(72px,8vw,112px)!important}
.about-scroll-layout{
  display:grid;
  grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);
  gap:clamp(48px,8vw,120px);
  align-items:start;
}
.about-portrait-column{align-self:stretch;min-width:0}
.about-portrait-sticky{
  position:sticky;
  top:calc(var(--header) + 24px);
  min-height:calc(100svh - var(--header) - 48px);
  display:grid;
  align-content:center;
  gap:18px;
  padding-block:18px;
}
.about-portrait-frame{
  position:relative;
  width:min(100%,520px);
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:30px;
  border:1px solid var(--ui-border);
  background:var(--deep-panel-2);
  box-shadow:0 30px 84px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.06);
}
.about-portrait-frame::after{
  content:"";
  position:absolute;
  inset:0;
  display:block;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 68%,rgba(5,9,7,.12));
}
.about-portrait-frame img{
  width:100%;height:100%;object-fit:cover;object-position:50% 25%;
  filter:saturate(.92) contrast(1.02);
  transition:transform .8s var(--ease),filter .55s ease;
}
.about-portrait-sticky:hover .about-portrait-frame img{transform:scale(1.018);filter:saturate(1) contrast(1.025)}
.about-portrait-caption{display:grid;gap:4px;padding-inline:4px}
.about-portrait-caption span{font-size:16px;font-weight:650;color:var(--parchment)}
.about-portrait-caption small{font-size:10px;line-height:1.45;letter-spacing:.13em;text-transform:uppercase;color:var(--muted-text)}
.about-scroll-hint{display:flex;align-items:center;gap:11px;padding-inline:4px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(166,176,168,.62)}
.about-scroll-hint span{display:block;width:44px;height:1px;background:linear-gradient(90deg,var(--mist-sage),transparent)}
.about-story-stream{display:grid;gap:clamp(28px,4vw,54px);padding-bottom:10vh}
.about-story-panel{
  min-height:76svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:clamp(30px,5vw,64px);
  padding:clamp(34px,5vw,72px);
  border:1px solid var(--ui-border);
  border-radius:30px;
  background:
    radial-gradient(circle at 100% 0,rgba(184,195,182,.075),transparent 38%),
    linear-gradient(150deg,rgba(27,41,32,.88),rgba(10,17,13,.96));
  box-shadow:var(--ui-shadow);
}
.about-story-label{display:flex;align-items:center;gap:14px}
.about-story-label span{font-size:11px;letter-spacing:.18em;color:var(--champagne)}
.about-story-label small{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft-sage)}
.about-story-panel p{
  margin:0;
  max-width:24ch;
  font-size:clamp(28px,3.2vw,49px);
  line-height:1.26;
  letter-spacing:-.032em;
  word-spacing:.018em;
  color:var(--muted-text);
  text-wrap:pretty;
}

@media (max-width:1100px){
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-scroll-layout{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:46px}
  .about-story-panel{min-height:68svh;padding:38px}
  .about-story-panel p{font-size:clamp(25px,3.5vw,38px)}
}

@media (max-width:760px){
  .display{line-height:.92;letter-spacing:-.04em}
  .h2{line-height:1.01;letter-spacing:-.035em;padding-bottom:.12em}
  .display-serif,.footer-cta em,.contact-hero h1 em{line-height:1.13!important;padding-bottom:.17em;margin-bottom:-.14em}
  .button{width:100%;min-height:49px;font-size:13px}
  .stats-grid{grid-template-columns:1fr;gap:12px}
  .stat{min-height:158px;border-radius:22px;padding:25px 23px 22px}
  .stat b{font-size:clamp(42px,14vw,62px);margin-bottom:17px}
  .project-row{padding:22px 18px!important;border-radius:20px}
  .project-row:hover{padding-inline:18px!important;transform:none!important}
  .profile-strip{gap:12px}
  .profile-strip>div{border-radius:20px;padding:22px 19px}
  .about-story-section{padding-top:60px!important}
  .about-scroll-layout{display:block}
  .about-portrait-sticky{
    position:relative;
    top:auto;
    min-height:0;
    padding:0;
    margin-bottom:34px;
  }
  .about-portrait-frame{width:100%;max-width:520px;margin:auto;border-radius:24px;aspect-ratio:4/5}
  .about-portrait-caption,.about-scroll-hint{max-width:520px;width:100%;margin-inline:auto}
  .about-story-stream{gap:20px;padding-bottom:0}
  .about-story-panel{min-height:0;border-radius:24px;padding:30px 24px;gap:28px}
  .about-story-panel p{max-width:none;font-size:clamp(22px,7vw,31px);line-height:1.32;letter-spacing:-.025em}
}

@media (prefers-reduced-motion:reduce){
  .about-portrait-frame img{transition:none}
}

/* ==========================================================
   V19 — BALANCED CONTENT LAYOUTS + CLEAN PUBLIC-FACING COPY
   ========================================================== */

/* Fill large hero voids with relevant, existing profile content. */
.inner-hero--about,.inner-hero--expertise{
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(330px,.72fr);
  grid-template-areas:
    "kicker context"
    "title context"
    "meta context";
  align-content:center;
  align-items:end;
  column-gap:clamp(48px,7vw,118px);
  row-gap:18px;
  min-height:clamp(700px,84vh,940px)!important;
}
.inner-hero--about>.kicker,.inner-hero--expertise>.kicker{grid-area:kicker;align-self:end;margin:0}
.inner-hero--about>.display,.inner-hero--expertise>.display{grid-area:title;margin:0;align-self:start}
.inner-hero--about>.inner-meta,.inner-hero--expertise>.inner-meta{
  grid-area:meta;
  display:block;
  margin-top:clamp(20px,3vw,42px);
  max-width:760px;
}
.inner-hero--about>.inner-meta .lead,.inner-hero--expertise>.inner-meta .lead{max-width:30ch}
.hero-context-card{
  grid-area:context;
  align-self:center;
  position:relative;
  z-index:3;
  width:100%;
  padding:clamp(26px,3.2vw,44px);
  border:1px solid var(--ui-border);
  border-radius:30px;
  background:
    radial-gradient(circle at 100% 0,rgba(184,195,182,.10),transparent 42%),
    linear-gradient(145deg,rgba(28,43,33,.84),rgba(9,16,12,.92));
  box-shadow:0 28px 84px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.055);
  overflow:hidden;
}
.hero-context-card::after{
  content:"";
  position:absolute;
  right:-62px;
  bottom:-76px;
  width:190px;
  height:190px;
  border-radius:50%;
  border:1px solid rgba(216,204,181,.075);
  pointer-events:none;
}
.hero-context-card>.kicker,.hero-context-card>.context-card-label{
  margin:0 0 22px;
  color:var(--soft-sage);
  font-size:10px;
  line-height:1.3;
  font-weight:750;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.hero-context-card--profile{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.hero-context-card--profile>.context-card-label{grid-column:1/-1}
.hero-context-card--profile>.pill{
  min-height:64px;
  justify-content:flex-start;
  text-align:left;
  padding:14px 16px;
  line-height:1.45;
  white-space:normal;
  border-radius:18px!important;
  background:rgba(255,255,255,.028)!important;
}
.hero-capability-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.hero-capability-grid span{
  min-height:76px;
  display:flex;
  align-items:flex-end;
  padding:16px;
  border:1px solid rgba(238,231,217,.085);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  color:var(--parchment);
  font-size:13px;
  line-height:1.35;
  font-weight:650;
  letter-spacing:-.012em;
}

/* Section-heading support panels use the previously empty column. */
.section-head--supported{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  align-items:stretch!important;
  gap:clamp(44px,7vw,112px)!important;
}
.section-head--supported>div:first-child{align-self:center}
.section-support-card{
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  padding:clamp(26px,3vw,42px);
  border:1px solid var(--ui-border);
  border-radius:28px;
  background:
    linear-gradient(145deg,rgba(29,44,34,.80),rgba(10,17,13,.90));
  box-shadow:0 24px 72px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.045);
  overflow:hidden;
}
.section-support-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 100% 0,rgba(184,195,182,.09),transparent 45%);
}
.section-support-card>p,.section-support-card>dl,.section-support-card>div{position:relative;z-index:1}
.section-support-card>p:first-child{
  max-width:46ch!important;
  margin:0!important;
  padding:0!important;
  color:var(--muted-text)!important;
  font-size:clamp(15px,1.35vw,19px);
  line-height:1.6;
}
.support-label{
  margin:26px 0 12px!important;
  color:var(--soft-sage)!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:750;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.support-chip-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.support-chip-grid span{
  min-height:52px;
  display:flex;
  align-items:center;
  padding:12px 14px;
  border:1px solid rgba(238,231,217,.08);
  border-radius:16px;
  background:rgba(255,255,255,.027);
  color:var(--parchment);
  font-size:12px;
  line-height:1.35;
  font-weight:630;
}
.support-detail-list{
  display:grid;
  gap:0;
  margin:24px 0 0;
}
.support-detail-list>div{
  display:grid;
  grid-template-columns:minmax(112px,.38fr) minmax(0,1fr);
  gap:18px;
  padding:15px 0;
  border-top:1px solid rgba(238,231,217,.075);
}
.support-detail-list dt{
  color:var(--soft-sage);
  font-size:9px;
  line-height:1.45;
  font-weight:750;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.support-detail-list dd{
  margin:0;
  color:var(--parchment);
  font-size:13px;
  line-height:1.5;
}
.organisation-section-head{margin-bottom:clamp(40px,5vw,66px)!important}

/* About detail cards: real bullet structure and a quiet expansion affordance. */
.profile-info-card b em{
  flex:0 0 auto;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  padding:0!important;
  border-radius:50%!important;
  border:1px solid var(--ui-border)!important;
  background:rgba(255,255,255,.035)!important;
  color:var(--muted-text)!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:400;
  letter-spacing:0!important;
  transition:transform .3s var(--ease),background .3s ease,color .3s ease,border-color .3s ease;
}
.profile-info-card:hover b em,.profile-info-card:focus b em,.profile-info-card.is-open b em{
  transform:rotate(45deg);
  color:var(--parchment)!important;
  border-color:var(--ui-border-hover)!important;
  background:rgba(184,195,182,.11)!important;
}
.profile-info-card .info-reveal{
  list-style:disc;
  padding-left:20px;
  margin:12px 0 0;
  color:var(--muted-text)!important;
  font-size:13px;
  line-height:1.58;
}
.profile-info-card .info-reveal li{padding-left:4px}
.profile-info-card .info-reveal li+li{margin-top:15px}
.profile-info-card .info-reveal li::marker{color:var(--champagne)}
.profile-info-card .info-reveal strong{
  display:block;
  margin-bottom:4px;
  color:var(--parchment)!important;
  font-size:10px;
  line-height:1.35;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.profile-info-card .info-reveal span{
  display:block;
  color:var(--muted-text)!important;
  font-size:13px;
  line-height:1.58;
}
.profile-info-card:hover .info-reveal,.profile-info-card:focus .info-reveal,.profile-info-card.is-open .info-reveal{max-height:520px}

/* No internal feature label remains beside the sticky portrait. */
.about-portrait-sticky{gap:14px}

@media (max-width:1100px){
  .inner-hero--about,.inner-hero--expertise{
    grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
    column-gap:42px;
    min-height:760px!important;
  }
  .hero-context-card{padding:28px;border-radius:26px}
  .hero-capability-grid span{min-height:68px;padding:14px;font-size:12px}
  .section-head--supported{grid-template-columns:minmax(0,1fr) minmax(330px,.86fr)!important;gap:44px!important}
}

@media (max-width:760px){
  .inner-hero--about,.inner-hero--expertise{
    display:grid!important;
    grid-template-columns:1fr;
    grid-template-areas:
      "kicker"
      "title"
      "context"
      "meta";
    align-content:end;
    row-gap:0;
    min-height:auto!important;
  }
  .inner-hero--about>.inner-meta,.inner-hero--expertise>.inner-meta{margin-top:28px}
  .inner-hero--about>.inner-meta .lead,.inner-hero--expertise>.inner-meta .lead{max-width:none}
  .hero-context-card{
    margin-top:30px;
    padding:23px;
    border-radius:23px;
  }
  .hero-context-card--profile{grid-template-columns:1fr 1fr;gap:10px}
  .hero-context-card--profile>.pill{min-height:56px;border-radius:16px!important;padding:12px;font-size:9px}
  .hero-capability-grid{gap:9px}
  .hero-capability-grid span{min-height:62px;border-radius:15px;padding:12px;font-size:11px}
  .section-head--supported{display:block!important}
  .section-support-card{margin-top:30px;padding:24px;border-radius:23px}
  .support-chip-grid{grid-template-columns:1fr 1fr}
  .support-detail-list>div{grid-template-columns:1fr;gap:5px;padding:13px 0}
  .profile-info-card .info-reveal{padding-left:18px}
  .profile-info-card.is-open .info-reveal{max-height:640px}
}

@media (max-width:430px){
  .hero-context-card--profile,.hero-capability-grid,.support-chip-grid{grid-template-columns:1fr}
}


/* ==========================================================
   V20 — WIDE EDITORIAL HEROES
   Uses the hero width as one composition instead of filling
   open space with additional cards or stacked headline blocks.
   ========================================================== */
.inner-hero--editorial{
  min-height:clamp(610px,76svh,790px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto auto;
  align-content:center;
  gap:clamp(24px,3.2vw,44px);
  padding:calc(var(--header) + 58px) var(--pad) clamp(62px,6vw,92px)!important;
  overflow:hidden;
}
.inner-hero--editorial>.breadcrumb{top:calc(var(--header) + 20px)}
.editorial-hero-topline{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  gap:clamp(18px,2.5vw,38px);
  width:100%;
  margin:0;
}
.editorial-hero-topline::after{
  content:"";
  flex:1;
  height:1px;
  min-width:60px;
  background:linear-gradient(90deg,rgba(216,204,181,.36),rgba(184,195,182,.14),transparent);
}
.editorial-hero-topline .kicker{margin:0;white-space:nowrap}
.editorial-hero-axis{
  order:3;
  margin:0;
  color:rgba(184,195,182,.64);
  font-size:10px;
  line-height:1.4;
  font-weight:650;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
}
.inner-hero--editorial .editorial-hero-title{
  position:relative;
  z-index:3;
  width:100%;
  max-width:none!important;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  column-gap:.18em;
  row-gap:0;
  margin:0;
  padding:.03em 0 .13em;
  font-size:clamp(72px,7.45vw,128px)!important;
  line-height:.92!important;
  letter-spacing:-.058em!important;
  text-wrap:balance;
}
.inner-hero--impact .editorial-hero-title{font-size:clamp(68px,6.9vw,118px)!important}
.editorial-hero-title>span{display:inline-block;position:relative}
.editorial-hero-title>.display-serif{
  line-height:1.08!important;
  padding:0 0 .12em!important;
  margin:0 0 -.10em!important;
  color:var(--mist-sage);
}
.inner-hero--editorial .editorial-hero-meta{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(320px,.92fr) minmax(440px,1.08fr);
  align-items:end;
  gap:clamp(48px,8vw,140px);
  width:100%;
  margin:0;
}
.inner-hero--editorial .editorial-hero-meta .lead{
  max-width:39ch;
  margin:0;
  font-size:clamp(17px,1.55vw,24px);
  line-height:1.48;
  color:var(--muted-text);
  text-wrap:pretty;
}
.editorial-hero-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-self:end;
  border-top:1px solid rgba(216,204,181,.16);
  border-bottom:1px solid rgba(216,204,181,.10);
}
.editorial-hero-facts>span{
  min-height:54px;
  display:flex;
  align-items:center;
  padding:12px 18px;
  border-left:1px solid rgba(216,204,181,.12);
  color:rgba(216,204,181,.78);
  font-size:10px;
  line-height:1.45;
  font-weight:680;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.editorial-hero-facts>span:nth-child(odd){border-left:0}
.editorial-hero-facts>span:nth-child(n/**/+3){border-top:1px solid rgba(216,204,181,.10)}
.editorial-hero-facts--metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.editorial-hero-facts--metrics>span{
  min-height:72px;
  display:block;
  padding:14px 18px;
  border-top:0!important;
}
.editorial-hero-facts--metrics>span:not(:first-child){border-left:1px solid rgba(216,204,181,.12)}
.editorial-hero-facts--metrics strong{
  display:block;
  margin-bottom:5px;
  color:var(--parchment);
  font-size:clamp(19px,1.7vw,28px);
  line-height:1;
  letter-spacing:-.045em;
  text-transform:none;
}
.editorial-hero-sculpture{
  position:absolute;
  z-index:1;
  right:clamp(-120px,-4vw,-36px);
  top:15%;
  width:min(34vw,540px);
  aspect-ratio:1;
  opacity:.34;
  pointer-events:none;
  transform:rotate(-8deg);
}
.editorial-hero-sculpture i{
  position:absolute;
  inset:0;
  display:block;
  border:1px solid rgba(184,195,182,.075);
  border-radius:50%;
  animation:editorialOrbit 22s linear infinite;
}
.editorial-hero-sculpture i:nth-child(2){inset:15%;border-color:rgba(216,204,181,.085);animation-duration:29s;animation-direction:reverse}
.editorial-hero-sculpture i:nth-child(3){inset:34%;border-color:rgba(184,195,182,.10);animation-duration:17s}
.editorial-hero-sculpture i::after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  left:12%;
  top:18%;
  border-radius:50%;
  background:rgba(216,204,181,.42);
  box-shadow:0 0 24px rgba(216,204,181,.18);
}
.editorial-hero-sculpture b{
  position:absolute;
  left:-8%;
  right:10%;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(184,195,182,.22),transparent);
  transform:rotate(32deg);
}
@keyframes editorialOrbit{to{transform:rotate(360deg)}}

@media (max-width:1180px){
  .inner-hero--editorial{min-height:auto!important;padding-bottom:72px!important}
  .inner-hero--editorial .editorial-hero-title{font-size:clamp(66px,8.6vw,102px)!important}
  .inner-hero--impact .editorial-hero-title{font-size:clamp(62px,8vw,94px)!important}
  .inner-hero--editorial .editorial-hero-meta{grid-template-columns:minmax(280px,.88fr) minmax(360px,1.12fr);gap:42px}
  .editorial-hero-axis{display:none}
}
@media (max-width:820px){
  .inner-hero--editorial{
    gap:28px;
    padding:calc(var(--header) + 50px) var(--pad) 62px!important;
  }
  .editorial-hero-topline::after{margin-left:8px}
  .inner-hero--editorial .editorial-hero-title,.inner-hero--impact .editorial-hero-title{
    font-size:clamp(58px,12vw,84px)!important;
    line-height:.94!important;
    column-gap:.14em;
  }
  .inner-hero--editorial .editorial-hero-meta{grid-template-columns:1fr;gap:28px}
  .inner-hero--editorial .editorial-hero-meta .lead{max-width:46ch}
  .editorial-hero-sculpture{width:58vw;right:-26vw;top:20%;opacity:.24}
}
@media (max-width:560px){
  .inner-hero--editorial>.breadcrumb{top:calc(var(--header) + 14px)}
  .inner-hero--editorial{padding-top:calc(var(--header) + 46px)!important;gap:24px}
  .editorial-hero-topline .kicker{white-space:normal;line-height:1.5}
  .editorial-hero-topline::after{min-width:32px}
  .inner-hero--editorial .editorial-hero-title,.inner-hero--impact .editorial-hero-title{
    font-size:clamp(52px,15.8vw,72px)!important;
    letter-spacing:-.05em!important;
  }
  .editorial-hero-facts{grid-template-columns:1fr}
  .editorial-hero-facts>span,.editorial-hero-facts>span:nth-child(n){
    min-height:48px;
    border-left:0;
    border-top:1px solid rgba(216,204,181,.10);
    padding-inline:4px;
  }
  .editorial-hero-facts>span:first-child{border-top:0}
  .editorial-hero-facts--metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .editorial-hero-facts--metrics>span,.editorial-hero-facts--metrics>span:nth-child(n){
    min-height:70px;
    padding:12px 8px;
    border-top:0;
    border-left:1px solid rgba(216,204,181,.10);
    font-size:8px;
    letter-spacing:.055em;
  }
  .editorial-hero-facts--metrics>span:first-child{border-left:0}
  .editorial-hero-facts--metrics strong{font-size:19px}
}
@media (prefers-reduced-motion:reduce){
  .editorial-hero-sculpture i{animation:none}
}


/* ==========================================================
   V21 — ABOUT + EXPERTISE HEROES
   Aligns these pages with the editorial wide-hero approach
   used in E-Resume and HR Impact, without support panels.
   ========================================================== */
.inner-hero--about.inner-hero--editorial .editorial-hero-title{
  max-width:13ch;
}
.inner-hero--about.inner-hero--editorial .editorial-hero-meta .lead{
  max-width:38ch;
}
.inner-hero--about.inner-hero--editorial .editorial-hero-sculpture{
  right:clamp(-150px,-6vw,-56px);
  top:12%;
  width:min(36vw,560px);
  opacity:.30;
}
.inner-hero--expertise.inner-hero--editorial .editorial-hero-title{
  max-width:14ch;
}
.editorial-hero-facts--capability-scan{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.editorial-hero-facts--capability-scan>span{
  min-height:58px;
  border-left:1px solid rgba(216,204,181,.12);
}
.editorial-hero-facts--capability-scan>span:nth-child(3n/**/+1){border-left:0}
.editorial-hero-facts--capability-scan>span:nth-child(n/**/+4){border-top:1px solid rgba(216,204,181,.10)}
@media (max-width:1180px){
  .inner-hero--about.inner-hero--editorial .editorial-hero-title,.inner-hero--expertise.inner-hero--editorial .editorial-hero-title{max-width:11ch}
}
@media (max-width:820px){
  .inner-hero--about.inner-hero--editorial .editorial-hero-title,.inner-hero--expertise.inner-hero--editorial .editorial-hero-title{max-width:none}
  .editorial-hero-facts--capability-scan{grid-template-columns:repeat(2,minmax(0,1fr))}
  .editorial-hero-facts--capability-scan>span,.editorial-hero-facts--capability-scan>span:nth-child(n){border-left:1px solid rgba(216,204,181,.12);border-top:1px solid rgba(216,204,181,.10)}
  .editorial-hero-facts--capability-scan>span:nth-child(2n/**/+1){border-left:0}
  .editorial-hero-facts--capability-scan>span:nth-child(-n/**/+2){border-top:0}
}
@media (max-width:560px){
  .inner-hero--about.inner-hero--editorial .editorial-hero-title,.inner-hero--expertise.inner-hero--editorial .editorial-hero-title{max-width:none}
  .editorial-hero-facts--capability-scan{grid-template-columns:1fr}
  .editorial-hero-facts--capability-scan>span,.editorial-hero-facts--capability-scan>span:nth-child(n){border-left:0;border-top:1px solid rgba(216,204,181,.10)}
  .editorial-hero-facts--capability-scan>span:first-child{border-top:0}
}


/* ==========================================================
   V22 — OPEN EDITORIAL ABOUT + EXPERTISE
   Removes the grid/table treatment and balances each hero
   with concise copy and an unboxed editorial statement.
   ========================================================== */
.inner-hero--about.inner-hero--editorial .editorial-hero-title,.inner-hero--expertise.inner-hero--editorial .editorial-hero-title{
  max-width:none!important;
  width:100%;
  flex-wrap:wrap;
}
.inner-hero--about.inner-hero--editorial .editorial-hero-meta,.inner-hero--expertise.inner-hero--editorial .editorial-hero-meta{
  grid-template-columns:minmax(280px,.78fr) minmax(520px,1.22fr);
  gap:clamp(58px,9vw,154px);
  align-items:end;
}
.inner-hero--about.inner-hero--editorial .editorial-hero-meta .lead,.inner-hero--expertise.inner-hero--editorial .editorial-hero-meta .lead{
  max-width:32ch;
  font-size:clamp(17px,1.45vw,23px);
}
.editorial-hero-statement{
  position:relative;
  align-self:end;
  padding:clamp(16px,1.7vw,24px) 0 clamp(12px,1.3vw,18px);
  border-top:1px solid rgba(216,204,181,.22);
  border-bottom:1px solid rgba(216,204,181,.10);
}
.editorial-hero-statement::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:clamp(72px,9vw,150px);
  height:1px;
  background:linear-gradient(90deg,var(--heritage-gold),var(--soft-sage));
}
.editorial-hero-statement p{
  margin:0;
  color:var(--parchment);
  font-size:clamp(25px,2.65vw,46px);
  line-height:1.08;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.editorial-hero-statement p span{
  color:var(--mist-sage);
  font-family:var(--serif);
  font-style:normal;
  font-weight:500;
  letter-spacing:-.035em;
}
.editorial-hero-statement small{
  display:block;
  margin-top:clamp(12px,1.2vw,18px);
  color:rgba(184,195,182,.62);
  font-size:10px;
  line-height:1.55;
  font-weight:680;
  letter-spacing:.105em;
  text-transform:uppercase;
}
.inner-hero--about.inner-hero--editorial .editorial-hero-sculpture,.inner-hero--expertise.inner-hero--editorial .editorial-hero-sculpture{
  opacity:.22;
}
@media (max-width:1180px){
  .inner-hero--about.inner-hero--editorial .editorial-hero-meta,.inner-hero--expertise.inner-hero--editorial .editorial-hero-meta{
    grid-template-columns:minmax(260px,.78fr) minmax(420px,1.22fr);
    gap:46px;
  }
  .editorial-hero-statement p{font-size:clamp(24px,3.1vw,38px)}
}
@media (max-width:820px){
  .inner-hero--about.inner-hero--editorial .editorial-hero-meta,.inner-hero--expertise.inner-hero--editorial .editorial-hero-meta{
    grid-template-columns:1fr;
    gap:28px;
  }
  .inner-hero--about.inner-hero--editorial .editorial-hero-meta .lead,.inner-hero--expertise.inner-hero--editorial .editorial-hero-meta .lead{
    max-width:44ch;
  }
  .editorial-hero-statement{max-width:760px}
}
@media (max-width:560px){
  .editorial-hero-statement p{
    font-size:clamp(23px,7.7vw,32px);
    line-height:1.12;
  }
  .editorial-hero-statement small{
    font-size:8.5px;
    letter-spacing:.075em;
  }
}


/* ==========================================================
   V23 — PERSISTENT BACK TO TOP
   ========================================================== */
/* Persistent back-to-top control. It stays intentionally quiet while
   browsing, then becomes fully legible on interaction or near the page end. */
.back-top-v23{
  --back-top-scroll-opacity:.20;
  position:fixed;
  z-index:680;
  right:max(16px,calc(env(safe-area-inset-right) + 16px));
  bottom:max(17px,calc(env(safe-area-inset-bottom) + 17px));
  width:74px;
  min-height:88px;
  display:grid;
  justify-items:center;
  align-content:start;
  gap:7px;
  padding:0;
  border:0;
  color:var(--parchment);
  background:transparent;
  font:inherit;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(0,14px,0);
  transition:opacity .42s ease,transform .55s cubic-bezier(.22,1,.36,1),visibility 0s linear .55s;
}
.back-top-v23.is-present{
  opacity:var(--back-top-scroll-opacity);
  visibility:visible;
  pointer-events:auto;
  transform:none;
  transition-delay:0s;
}
.back-top-v23:is(:hover,:focus-visible),.back-top-v23.is-at-end,.back-top-v23.is-clicked{
  opacity:1;
}
.back-top-v23__disc{
  position:relative;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border:1px solid rgba(216,204,181,.24);
  border-radius:50%;
  background:linear-gradient(145deg,rgba(27,38,31,.78),rgba(9,15,11,.54));
  box-shadow:inset 0 1px 0 rgba(243,239,230,.09),0 14px 40px rgba(0,0,0,.18);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  backdrop-filter:blur(16px) saturate(120%);
  transition:border-color .35s ease,background .35s ease,box-shadow .35s ease,transform .35s ease;
}
.back-top-v23__disc::before{
  content:"";
  position:absolute;
  inset:5px;
  border-radius:inherit;
  border:1px solid rgba(184,195,182,.07);
}
.back-top-v23__arrow{
  width:18px;
  height:18px;
  transform:rotate(45deg);
  transform-origin:center;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.back-top-v23__arrow path{
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.back-top-v23__label{
  max-width:74px;
  color:rgba(243,239,230,.88);
  font-size:8px;
  line-height:1.2;
  font-weight:720;
  letter-spacing:.13em;
  text-align:center;
  text-transform:uppercase;
  opacity:0;
  transform:translate3d(0,-5px,0);
  transition:opacity .3s ease,transform .4s cubic-bezier(.22,1,.36,1);
}
.back-top-v23:is(:hover,:focus-visible) .back-top-v23__disc,.back-top-v23.is-at-end .back-top-v23__disc,.back-top-v23.is-clicked .back-top-v23__disc{
  border-color:rgba(216,204,181,.52);
  background:linear-gradient(145deg,rgba(38,50,41,.96),rgba(13,21,16,.90));
  box-shadow:inset 0 1px 0 rgba(243,239,230,.15),0 18px 50px rgba(0,0,0,.30),0 0 34px rgba(184,195,182,.07);
  transform:translateY(-2px);
}
.back-top-v23:is(:hover,:focus-visible) .back-top-v23__arrow,.back-top-v23.is-at-end .back-top-v23__arrow,.back-top-v23.is-clicked .back-top-v23__arrow{
  animation:backTopSpinV23 .72s cubic-bezier(.16,1,.3,1) both;
}
.back-top-v23:is(:hover,:focus-visible) .back-top-v23__label,.back-top-v23.is-at-end .back-top-v23__label,.back-top-v23.is-clicked .back-top-v23__label{
  opacity:1;
  transform:none;
}
.back-top-v23:focus-visible{outline:none}
.back-top-v23:focus-visible .back-top-v23__disc{outline:2px solid rgba(237,188,100,.72);outline-offset:4px}
@keyframes backTopSpinV23{
  0%{transform:rotate(45deg)}
  74%{transform:rotate(382deg)}
  100%{transform:rotate(360deg)}
}
@media (max-width:760px){
  .back-top-v23{
    right:max(10px,calc(env(safe-area-inset-right) + 10px));
    bottom:max(10px,calc(env(safe-area-inset-bottom) + 10px));
    width:64px;
    min-height:78px;
  }
  .back-top-v23__disc{width:48px;height:48px}
  .back-top-v23__label{font-size:7px;letter-spacing:.105em}
}
@media (prefers-reduced-motion:reduce){
  body:not(.page-home).adrian-intro-finished-v27 .site-header,body:not(.page-home).adrian-intro-finished-v27 .inner-hero>.breadcrumb,body:not(.page-home).adrian-intro-finished-v27 .editorial-hero-topline,body:not(.page-home).adrian-intro-finished-v27 .editorial-hero-topline::after,body:not(.page-home).adrian-intro-finished-v27 .editorial-hero-axis,body:not(.page-home).adrian-intro-finished-v27 .editorial-hero-title>span,body:not(.page-home).adrian-intro-finished-v27 .editorial-hero-meta>*,body:not(.page-home).adrian-intro-finished-v27 .editorial-hero-sculpture,body.page-contact.adrian-intro-finished-v27 .contact-hero>*,body.page-contact.adrian-intro-finished-v27 .contact-card-grid .contact-card{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    filter:none!important;
  }
  .back-top-v23__arrow{animation:none!important;transform:rotate(0deg)!important}
}

/* Ensure interaction/end state always overrides the intentionally quiet resting opacity. */
.back-top-v23.is-present:is(:hover,:focus-visible),.back-top-v23.is-present.is-at-end,.back-top-v23.is-present.is-clicked{
  opacity:1!important;
}

/* ==========================================================
   V26 — EXPLICIT, VISIBLE HERO ENTRANCES
   Initial state exists in the HTML before first paint. Every screenshot-
   referenced element receives its own transition and stagger.
   ========================================================== */

/* Hero wrappers with the site's generic .reveal class must remain visible;
   their individual contents now own the entrance sequence. */
body.page-load-pending-v26 .editorial-hero-topline,body.page-load-pending-v26 .editorial-hero-title,body.page-load-pending-v26 .editorial-hero-meta,body.page-load-pending-v26 .contact-hero>h1,body.page-load-pending-v26 .contact-grid,body.page-load-pending-v26 .hr-pill-grid,body.page-load-running-v26 .editorial-hero-topline,body.page-load-running-v26 .editorial-hero-title,body.page-load-running-v26 .editorial-hero-meta,body.page-load-running-v26 .contact-hero>h1,body.page-load-running-v26 .contact-grid,body.page-load-running-v26 .hr-pill-grid,body.page-load-complete-v26 .editorial-hero-topline,body.page-load-complete-v26 .editorial-hero-title,body.page-load-complete-v26 .editorial-hero-meta,body.page-load-complete-v26 .contact-hero>h1,body.page-load-complete-v26 .contact-grid,body.page-load-complete-v26 .hr-pill-grid{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  visibility:visible!important;
  transition:none!important;
}

body.page-load-pending-v26.page-home .hero-name i,body.page-load-running-v26.page-home .hero-name i,body.page-load-complete-v26.page-home .hero-name i{
  animation:none!important;
  transform:none!important;
}

/* Exact elements that must be invisible before their entrance begins. */
body.page-load-pending-v26 .site-header,body.page-load-pending-v26.page-home .hero-eyebrow,body.page-load-pending-v26.page-home .hero-name>span,body.page-load-pending-v26.page-home .hero-sub>.lead,body.page-load-pending-v26.page-home .hero-sub .button,body.page-load-pending-v26.page-home .hr-pill-grid>*,body.page-load-pending-v26.page-home .hero-photo-showcase,body.page-load-pending-v26.page-home .hero-ghost,body.page-load-pending-v26 .inner-hero>.breadcrumb,body.page-load-pending-v26 .editorial-hero-topline .kicker,body.page-load-pending-v26 .editorial-hero-topline .editorial-hero-axis,body.page-load-pending-v26 .editorial-hero-title>span,body.page-load-pending-v26 .editorial-hero-meta>.lead,body.page-load-pending-v26 .editorial-hero-statement>p,body.page-load-pending-v26 .editorial-hero-statement>small,body.page-load-pending-v26 .editorial-hero-facts>span,body.page-load-pending-v26 .editorial-hero-sculpture,body.page-load-pending-v26.page-contact .contact-hero>.kicker,body.page-load-pending-v26.page-contact .contact-hero>h1>span,body.page-load-pending-v26.page-contact .contact-hero>h1>em,body.page-load-pending-v26.page-contact .contact-grid .lead,body.page-load-pending-v26.page-contact .contact-card,body.page-load-pending-v26.page-contact .contact-form{
  opacity:0!important;
  transform:translate3d(var(--v26-x,0px),var(--v26-y,36px),0) scale(var(--v26-scale,.985))!important;
  filter:blur(var(--v26-blur,9px))!important;
  visibility:visible!important;
}

[data-v26-enter]{
  backface-visibility:hidden;
  transform-origin:center center;
  will-change:opacity,transform,filter;
  transition-property:opacity,transform,filter!important;
  transition-duration:var(--v26-duration,720ms)!important;
  transition-delay:var(--v26-delay,0ms)!important;
  transition-timing-function:cubic-bezier(.16,1,.3,1)!important;
}

body.page-load-running-v26 [data-v26-enter],body.page-load-complete-v26 [data-v26-enter]{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  filter:blur(0)!important;
  visibility:visible!important;
}

body.page-load-complete-v26 [data-v26-enter]{
  will-change:auto;
}

/* Contact title lines need explicit block geometry for separate motion. */
.contact-hero>h1>span,.contact-hero>h1>em{display:block}

/* Lines draw as part of the same staged entrance. */
body.page-load-pending-v26 .editorial-hero-topline::after,body.page-load-pending-v26.page-home .hero-eyebrow::before{
  opacity:0!important;
  transform:scaleX(0)!important;
  transform-origin:left center!important;
}
body.page-load-running-v26 .editorial-hero-topline::after{
  animation:v26LineDraw 620ms cubic-bezier(.22,1,.36,1) 180ms both!important;
}
body.page-load-running-v26.page-home .hero-eyebrow::before{
  animation:v26LineDraw 560ms cubic-bezier(.22,1,.36,1) 120ms both!important;
}
body.page-load-complete-v26 .editorial-hero-topline::after,body.page-load-complete-v26.page-home .hero-eyebrow::before{
  opacity:1!important;
  transform:scaleX(1)!important;
}
@keyframes v26LineDraw{
  from{opacity:0;transform:scaleX(0)}
  to{opacity:1;transform:scaleX(1)}
}

@media (prefers-reduced-motion:reduce){
  /* Keep the requested staged opacity sequence, but remove large spatial motion.
     Crucially, this targets only page-entrance elements and never the intro. */
  [data-v26-enter]{
    transform:translate3d(0,0,0) scale(1)!important;
    filter:none!important;
  }
  body.page-load-running-v26 .editorial-hero-topline::after,body.page-load-running-v26.page-home .hero-eyebrow::before{
    animation-duration:760ms!important;
  }
}


/* ==========================================================
   V28 — SCROLL BLUR REVEALS + CURSOR-TRACKING EDGE GLOW
   Kept separate from the intro and hero load sequences.
   ========================================================== */
.scroll-reveal-v28{
  --v28-reveal-delay:0ms;
  opacity:0;
  visibility:visible;
  filter:blur(12px);
  transform:translate3d(0,44px,0) scale(.985);
  transition:
    opacity 900ms cubic-bezier(.16,1,.3,1) var(--v28-reveal-delay),
    transform 1050ms cubic-bezier(.16,1,.3,1) var(--v28-reveal-delay),
    filter 900ms ease var(--v28-reveal-delay);
  will-change:opacity,transform,filter;
}
.scroll-reveal-v28.is-visible-v28{
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0) scale(1);
  will-change:auto;
}

/* Cursor-following glow foundation. Actual light position is supplied by JS. */
.cursor-glow-v28{
  --v28-glow-x:50%;
  --v28-glow-y:50%;
  position:relative;
  isolation:isolate;
}
.cursor-glow-v28__wash,.cursor-glow-v28__edge{
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  transition:opacity .28s ease;
}
.cursor-glow-v28__wash{
  z-index:0;
  background:
    radial-gradient(260px circle at var(--v28-glow-x) var(--v28-glow-y),
      rgba(237,188,100,.16) 0%,
      rgba(184,195,182,.09) 26%,
      transparent 66%);
}
.cursor-glow-v28__edge{
  z-index:5;
  padding:1px;
  background:
    radial-gradient(190px circle at var(--v28-glow-x) var(--v28-glow-y),
      rgba(255,220,148,.98) 0%,
      rgba(184,195,182,.78) 30%,
      rgba(117,134,111,.30) 48%,
      transparent 72%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}
.cursor-glow-v28.is-glow-active-v28 .cursor-glow-v28__wash{opacity:1}
.cursor-glow-v28.is-glow-active-v28 .cursor-glow-v28__edge{opacity:1}
.cursor-glow-v28.is-glow-active-v28{
  box-shadow:
    0 22px 64px rgba(0,0,0,.28),
    0 0 28px rgba(184,195,182,.055),
    inset 0 1px 0 rgba(243,239,230,.08)!important;
}
.cursor-glow-v28 > :not(.cursor-glow-v28__wash):not(.cursor-glow-v28__edge){
  position:relative;
  z-index:2;
}

/* Retire the old fixed corner glows and rotating borders on enhanced cards. */
.skill-card.cursor-glow-v28::before,.impact-card.cursor-glow-v28::before,.resume-card.cursor-glow-v28::before,.contact-card.cursor-glow-v28::before,.resume-download-panel.cursor-glow-v28::before,.quote-panel.cursor-glow-v28::before{
  opacity:0!important;
  animation:none!important;
}
.skill-card.cursor-glow-v28::after,.impact-card.cursor-glow-v28::after,.resume-card.cursor-glow-v28::after,.contact-card.cursor-glow-v28::after{
  display:none!important;
}
.project-row.cursor-glow-v28::before,.button.cursor-glow-v28::before{
  opacity:0!important;
}

/* Keep the light restrained on compact controls. */
.button.cursor-glow-v28 .cursor-glow-v28__wash,.filter.cursor-glow-v28 .cursor-glow-v28__wash,.experience-tab.cursor-glow-v28 .cursor-glow-v28__wash,.hr-pill.cursor-glow-v28 .cursor-glow-v28__wash{
  background:
    radial-gradient(150px circle at var(--v28-glow-x) var(--v28-glow-y),
      rgba(237,188,100,.18),rgba(184,195,182,.08) 34%,transparent 70%);
}

@media (pointer:coarse){
  .cursor-glow-v28__wash,.cursor-glow-v28__edge{display:none}
}
@media (prefers-reduced-motion:reduce){
  .scroll-reveal-v28{
    filter:none;
    transform:none;
    transition-duration:420ms;
  }
}


/* ==========================================================
   V30 — SCROLL BLUR REVEALS, REBUILT FROM SCRATCH
   This system is independent of .reveal, .reveal-v16 and all
   page-load / intro animation states.
   ========================================================== */
html.v30-scroll-blur-js body [data-v30-scroll-blur="true"]{
  --v30-delay:0ms;
  opacity:0!important;
  filter:blur(20px)!important;
  transform:translate3d(0,52px,0) scale(.982)!important;
  transform-origin:center top!important;
  visibility:visible!important;
  transition:
    opacity 560ms cubic-bezier(.16,1,.3,1) var(--v30-delay),
    filter 720ms cubic-bezier(.16,1,.3,1) var(--v30-delay),
    transform 680ms cubic-bezier(.16,1,.3,1) var(--v30-delay)!important;
  will-change:opacity,filter,transform;
}
html.v30-scroll-blur-js body [data-v30-scroll-blur="true"].v30-in-view{
  opacity:1!important;
  filter:blur(0)!important;
  transform:translate3d(0,0,0) scale(1)!important;
  will-change:auto;
}
/* A subtle glow of clarity during the transition makes the blur-to-focus
   change obvious without altering the final visual design. */
html.v30-scroll-blur-js body [data-v30-scroll-blur="true"]::selection{
  background:rgba(237,188,100,.24);
}
@media (max-width:760px){
  html.v30-scroll-blur-js body [data-v30-scroll-blur="true"]{
    filter:blur(16px)!important;
    transform:translate3d(0,40px,0) scale(.987)!important;
    transition-duration:500ms,650ms,620ms!important;
  }
  html.v30-scroll-blur-js body [data-v30-scroll-blur="true"].v30-in-view{
    filter:blur(0)!important;
    transform:translate3d(0,0,0) scale(1)!important;
  }
}
/* Keep a gentle blur/fade even when reduced motion is requested, while
   removing the larger translation. This prevents the requested effect from
   disappearing entirely due to an operating-system setting. */
@media (prefers-reduced-motion:reduce){
  html.v30-scroll-blur-js body [data-v30-scroll-blur="true"]{
    opacity:0!important;
    filter:blur(14px)!important;
    transform:none!important;
    transition:opacity 380ms ease var(--v30-delay),filter 460ms ease var(--v30-delay)!important;
  }
  html.v30-scroll-blur-js body [data-v30-scroll-blur="true"].v30-in-view{
    opacity:1!important;
    filter:blur(0)!important;
    transform:none!important;
  }
}


/* ==========================================================
   V31 — ANIMATION TIMING OPTIMISATION
   Faster header entrances and early scroll reveals prevent blank gaps when
   visitors navigate or scroll immediately after opening a page.
   ========================================================== */
body.page-load-running-v26 [data-v26-enter]{
  transition-timing-function:cubic-bezier(.2,.78,.2,1)!important;
}
@media (max-width:760px){
  html.v30-scroll-blur-js body [data-v30-scroll-blur="true"]{
    --v30-delay:0ms;
  }
}


/* ==========================================================
   V39 — MAGNETIC INTERACTIVE GRADIENT
   One continuously drifting gradient field reacts subtly to pointer, tap and
   scroll input. Autonomous motion is transform-only; interaction updates only
   six compositor transforms and one opacity value.
   ========================================================== */
































main,.footer{position:relative;z-index:1}
.site-header{z-index:100}
/* Transparent dark washes retain legibility while exposing the interactive field. */
.hero,.inner-hero{
  background:linear-gradient(135deg,rgba(5,10,7,.38),rgba(9,17,12,.28) 50%,rgba(12,22,16,.34))!important;
}
.section,.section-tight{
  background:linear-gradient(180deg,rgba(6,11,8,.38),rgba(10,18,13,.32))!important;
}
.section:nth-of-type(even),.section-tight:nth-of-type(even){
  background:linear-gradient(145deg,rgba(13,21,16,.34),rgba(7,13,9,.40))!important;
}
.section-dark,.contact-hero,.footer{
  background:linear-gradient(135deg,rgba(5,9,6,.43),rgba(10,18,13,.34) 48%,rgba(14,23,18,.37))!important;
}




/* ==========================================================
   V57 — BLOBBY DIRECT-CLICK RIPPLE + SIX-CLICK EASTER EGG
   ========================================================== */
















/* ==========================================================
   V58 — RELIABLE DIRECT BLOBBY CLICK INPUT
   ========================================================== */







/* ==========================================================
   V59 — BLOBBY RIPPLE, COLOR STAGES, EXPLOSION & LOCAL MESSAGE
   ========================================================== */








































/* ==========================================================
   V72 — LIGHTWEIGHT WHOLE-SITE ANIMATED GRADIENT
   The five independently rendered lava masses and their collision transforms
   have been removed. Four broad compositor-only gradient layers now drift in
   opposite directions, preserving the calm forest, sage and gold atmosphere
   without discrete moving objects or per-frame layout calculations.
   ========================================================== */









@keyframes v72GradientDriftA{
  0%{transform:translate3d(-4%,-3%,0) scale(1.03)}
  36%{transform:translate3d(3%,-6%,0) scale(1.09)}
  70%{transform:translate3d(6%,3%,0) scale(1.05)}
  100%{transform:translate3d(-2%,6%,0) scale(1.11)}
}
@keyframes v72GradientDriftB{
  0%{transform:translate3d(5%,-4%,0) scale(1.03);opacity:.29}
  48%{transform:translate3d(-6%,4%,0) scale(1.11);opacity:.37}
  100%{transform:translate3d(4%,7%,0) scale(1.06);opacity:.31}
}
@keyframes v72GradientDriftC{
  0%{transform:translate3d(-3%,-2%,0) scale(1.02);opacity:.42}
  45%{transform:translate3d(5%,-5%,0) scale(1.08);opacity:.49}
  100%{transform:translate3d(-1%,6%,0) scale(1.10);opacity:.44}
}
@keyframes v72GradientDriftD{
  0%{transform:translate3d(4%,-3%,0) scale(1.04);opacity:.18}
  52%{transform:translate3d(-5%,5%,0) scale(1.12);opacity:.25}
  100%{transform:translate3d(5%,7%,0) scale(1.06);opacity:.20}
}





/* ==========================================================
   V62 — PERFORMANCE OPTIMISATION WITHOUT VISUAL REDUCTION
   ========================================================== */
.scroll-progress{
  width:100%!important;
  transform:scaleX(0);
  transform-origin:left center;
  will-change:transform;
}

/* Off-screen card content remains fully animated when it approaches the
   viewport, but the browser may skip painting it while far away. */
.skill-card,.impact-card,.resume-card,.contact-card,.case-block,.archive-card{
  content-visibility:auto;
  contain-intrinsic-size:auto 320px;
}
/* Prevent accidental layer promotion of every static child while retaining
   the intended animation layers. */
.v62-performance-ready .ambient-panel:not(:hover):not(:focus-within){
  will-change:auto;
}

/* ==========================================================
   V63 — CLIENT FEEDBACK: PERSONAL STORY, DOCUMENTS, TOOLKIT
   ========================================================== */

/* Performance containment for new long-form content. */
.about-workbench-v63,.technical-toolkit-v63,.resume-skills-v63,.document-library-v63,.digital-card-section-v63{
  content-visibility:auto;
  contain-intrinsic-size:900px;
}
.workbench-card-v63,.tool-group-v63,.document-card-v63,.digital-card-showcase-v63,.notable-achievements-v63{
  contain:layout style;
}

/* Homepage portrait uses the more relaxed authentic image treatment. */
.hero-photo-showcase img[src*="adrian-relaxed"]{
  object-position:center 38%;
}

/* About: scroll-synchronised professional / personal portraits. */
.about-story-section-v63 .section-head{margin-bottom:clamp(48px,7vw,88px)}
.about-portrait-frame--swap{
  position:relative;
  isolation:isolate;
  background:#09120d;
}
.about-portrait-frame--swap::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  border:1px solid rgba(237,188,100,.18);
  border-radius:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -45px 80px rgba(4,10,7,.22);
}
.about-portrait-swap{
  position:absolute!important;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.045) translate3d(0,10px,0);
  filter:saturate(.88) contrast(1.01) brightness(.9);
  transition:opacity .72s ease,transform 1.05s cubic-bezier(.2,.8,.2,1),filter .9s ease!important;
  will-change:opacity,transform;
}
.about-portrait-swap.is-active{
  opacity:1;
  transform:scale(1) translate3d(0,0,0);
  filter:saturate(1) contrast(1.025) brightness(1);
  z-index:2;
}
.about-portrait-wash{
  position:absolute;
  inset:auto 0 0;
  height:38%;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(5,12,8,.58));
}
.about-portrait-caption--dynamic{
  min-height:52px;
  transition:opacity .24s ease,transform .24s ease;
}
.about-portrait-caption--dynamic.is-changing{opacity:.28;transform:translateY(4px)}
.about-chapter-progress{display:flex;gap:7px;padding:4px}
.about-chapter-progress i{display:block;width:22px;height:3px;border-radius:999px;background:rgba(167,184,159,.22);transition:width .45s ease,background .45s ease}
.about-chapter-progress i.is-active{width:44px;background:linear-gradient(90deg,var(--accent),var(--soft-sage))}
.about-story-panel{transition:border-color .45s ease,background .45s ease,transform .45s ease,opacity .45s ease}
.about-story-panel.is-active{border-color:rgba(237,188,100,.30);background:linear-gradient(145deg,rgba(31,50,38,.78),rgba(10,19,13,.86));transform:translateX(-5px)}
.about-story-panel>div:last-child{display:grid;gap:22px}
.about-story-points{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.about-story-points li{position:relative;padding-left:22px;color:var(--muted-text);font-size:14px;line-height:1.55}
.about-story-points li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--soft-sage));box-shadow:0 0 0 5px rgba(215,161,75,.07)}
.personal-interest-tags{display:flex;flex-wrap:wrap;gap:9px}
.personal-interest-tags span{padding:9px 12px;border:1px solid rgba(167,184,159,.18);border-radius:999px;background:rgba(167,184,159,.065);color:var(--soft-sage);font-size:10px;text-transform:uppercase;letter-spacing:.11em}

/* About: flexible workbench / random-material section. */
.about-workbench-v63{padding-top:clamp(90px,10vw,150px)}
.workbench-grid-v63{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.workbench-card-v63{min-height:430px;display:grid;grid-template-rows:minmax(190px,1fr) auto;overflow:hidden;border:1px solid rgba(167,184,159,.15);border-radius:30px;background:linear-gradient(145deg,rgba(26,42,32,.92),rgba(8,16,11,.96));box-shadow:0 28px 78px rgba(0,0,0,.22);transition:transform .55s cubic-bezier(.2,.8,.2,1),border-color .4s ease,box-shadow .5s ease}
.workbench-card-v63:hover{transform:translateY(-7px);border-color:rgba(237,188,100,.29);box-shadow:0 38px 95px rgba(0,0,0,.32)}
.workbench-card-v63--wide{grid-column:1/-1;grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr);grid-template-rows:1fr;min-height:390px}
.workbench-card-v63>div:last-child{padding:28px 30px 32px;align-self:end}
.workbench-card-v63 h3{margin:8px 0 12px;color:var(--parchment);font-size:clamp(23px,2.4vw,35px);line-height:1.08;letter-spacing:-.035em}
.workbench-card-v63 p:last-child{margin:0;color:var(--muted-text);line-height:1.65}
.workbench-visual-v63{position:relative;min-height:220px;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(215,161,75,.16),transparent 34%),linear-gradient(145deg,rgba(167,184,159,.12),rgba(8,16,11,.2))}
.records-map-v63{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-content:center;padding:48px}
.records-map-v63 span{height:140px;border:1px solid rgba(243,239,230,.14);border-radius:16px;background:linear-gradient(180deg,rgba(243,239,230,.10),rgba(167,184,159,.04));transform:translateY(var(--ry,0)) rotate(var(--rr,0deg));box-shadow:0 20px 35px rgba(0,0,0,.18)}
.records-map-v63 span:nth-child(1){--ry:24px;--rr:-4deg}.records-map-v63 span:nth-child(2){--ry:-8px;--rr:2deg}.records-map-v63 span:nth-child(3){--ry:14px;--rr:-1deg}.records-map-v63 span:nth-child(4){--ry:-18px;--rr:4deg}
.records-map-v63 i{position:absolute;left:12%;right:12%;top:50%;height:2px;background:linear-gradient(90deg,transparent,var(--accent),var(--soft-sage),transparent);box-shadow:0 0 24px rgba(215,161,75,.38)}
.er-flow-v63{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:center;padding:28px 22px}
.er-flow-v63 span{position:relative;display:grid;place-items:center;min-height:78px;border:1px solid rgba(243,239,230,.13);border-radius:16px;background:rgba(243,239,230,.05);color:var(--parchment);font-size:10px;text-transform:uppercase;letter-spacing:.1em;text-align:center}
.er-flow-v63 span:not(:last-child)::after{content:"";position:absolute;right:-12px;color:var(--accent);z-index:2}
.verification-v63{display:flex;align-items:center;justify-content:center;gap:20px;padding:30px}
.verification-v63 strong{font-size:clamp(30px,4vw,54px);letter-spacing:-.06em;color:var(--parchment)}
.verification-v63 strong:last-child{color:var(--accent)}
.verification-v63 i{font-style:normal;color:var(--soft-sage);font-size:26px}
.workbench-card-v63--personal{grid-template-rows:280px auto}
.workbench-card-v63--personal img{width:100%;height:100%;object-fit:cover;object-position:center 32%;filter:saturate(.9) contrast(1.03);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.workbench-card-v63--personal:hover img{transform:scale(1.035)}

/* Technical skills on Expertise and Resume. */
.technical-toolkit-v63{background:linear-gradient(180deg,transparent,rgba(3,9,6,.28),transparent)}
.tool-groups-v63{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tool-group-v63{position:relative;padding:30px;border:1px solid rgba(167,184,159,.15);border-radius:26px;background:linear-gradient(145deg,rgba(29,47,36,.72),rgba(8,16,11,.86));overflow:hidden}
.tool-group-v63>span{display:block;color:var(--accent);font-size:10px;letter-spacing:.17em;margin-bottom:28px}
.tool-group-v63 h3{margin:0 0 20px;color:var(--parchment);font-size:clamp(22px,2.2vw,31px);letter-spacing:-.03em}
.tool-group-v63>div{display:flex;flex-wrap:wrap;gap:8px}
.tool-group-v63 i{font-style:normal;padding:8px 11px;border:1px solid rgba(167,184,159,.14);border-radius:999px;background:rgba(167,184,159,.055);color:var(--muted-text);font-size:11px}
.tool-group-v63::after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-85px;top:-85px;background:radial-gradient(circle,rgba(215,161,75,.12),transparent 70%)}
.resume-skills-layout-v63{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:22px;align-items:stretch}
.core-skills-v63,.resume-tool-summary-v63{padding:clamp(28px,4vw,48px);border:1px solid rgba(167,184,159,.15);border-radius:30px;background:linear-gradient(145deg,rgba(25,42,31,.88),rgba(8,16,11,.94))}
.core-skills-v63 h2{margin:12px 0 28px;color:var(--parchment);font-size:clamp(38px,5vw,68px);line-height:.96;letter-spacing:-.05em}
.core-skill-pills-v63{display:flex;flex-wrap:wrap;gap:9px}
.core-skill-pills-v63 span{padding:10px 13px;border:1px solid rgba(167,184,159,.17);border-radius:999px;background:rgba(167,184,159,.06);color:var(--soft-sage);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.resume-tool-summary-v63 h3{margin:12px 0 30px;color:var(--parchment);font-size:clamp(27px,3vw,40px);line-height:1.06;letter-spacing:-.04em}
.resume-tool-summary-v63 dl{display:grid;gap:18px;margin:0}
.resume-tool-summary-v63 dl div{padding-top:16px;border-top:1px solid rgba(167,184,159,.12)}
.resume-tool-summary-v63 dt{margin-bottom:7px;color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.13em}
.resume-tool-summary-v63 dd{margin:0;color:var(--muted-text);font-size:13px;line-height:1.55}

/* Resume document section. */
.document-library-v63{scroll-margin-top:110px;padding-top:clamp(70px,9vw,120px)}
.document-library-head-v63{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:50px;align-items:end;margin-bottom:34px}
.document-library-head-v63 h2{margin:10px 0 0;color:var(--parchment);font-size:clamp(38px,5.6vw,76px);line-height:.94;letter-spacing:-.055em}
.document-library-head-v63>p{margin:0;color:var(--muted-text);font-size:16px;line-height:1.65}
.document-grid-v63{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.document-card-v63{display:grid;grid-template-columns:minmax(150px,.43fr) minmax(0,.57fr);min-height:420px;overflow:hidden;border:1px solid rgba(167,184,159,.15);border-radius:30px;background:linear-gradient(145deg,rgba(27,44,34,.92),rgba(7,15,10,.97));text-decoration:none;transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .4s ease,box-shadow .5s ease}
.document-card-v63:hover{transform:translateY(-7px);border-color:rgba(237,188,100,.30);box-shadow:0 36px 90px rgba(0,0,0,.3)}
.document-preview-v63{position:relative;min-height:100%;overflow:hidden;background:#e9e5dc}
.document-preview-v63 img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:saturate(.78);transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .6s ease}
.document-card-v63:hover .document-preview-v63 img{transform:scale(1.025);filter:saturate(1)}
.document-preview-v63 span{position:absolute;left:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(6,14,9,.86);color:var(--parchment);font-size:9px;text-transform:uppercase;letter-spacing:.12em}
.document-card-v63>div:last-child{display:flex;flex-direction:column;padding:30px}
.document-card-v63 h3{margin:8px 0 14px;color:var(--parchment);font-size:clamp(25px,2.5vw,36px);line-height:1.06;letter-spacing:-.04em}
.document-card-v63 p:not(.kicker){margin:0;color:var(--muted-text);line-height:1.6}
.document-card-v63 strong{margin-top:auto;padding-top:28px;color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.12em}

/* Resume notable achievements. */
.notable-achievements-v63{margin:clamp(70px,9vw,120px) 0 40px;padding:clamp(30px,5vw,56px);border:1px solid rgba(167,184,159,.16);border-radius:32px;background:linear-gradient(145deg,rgba(24,42,31,.88),rgba(8,16,11,.96))}
.notable-achievements-head-v63{display:grid;grid-template-columns:.8fr 1.2fr;align-items:end;gap:30px;margin-bottom:34px}
.notable-achievements-head-v63 h2{margin:0;color:var(--parchment);font-size:clamp(36px,5vw,68px);line-height:.95;letter-spacing:-.055em}
.achievement-grid-v63{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(167,184,159,.13);border:1px solid rgba(167,184,159,.08);border-radius:22px;overflow:hidden}
.achievement-grid-v63 article{display:grid;gap:10px;padding:28px;background:#0b1710}
.achievement-grid-v63 strong{color:var(--accent);font-size:clamp(25px,3vw,40px);line-height:1;letter-spacing:-.045em}
.achievement-grid-v63 span{color:var(--muted-text);font-size:13px;line-height:1.6}

/* Premium HiHello / digital business card. */
.digital-card-section-v63{padding-top:clamp(80px,10vw,140px)}
.digital-card-showcase-v63{display:grid;grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr);gap:clamp(34px,6vw,90px);align-items:center;padding:clamp(24px,4vw,54px);border:1px solid rgba(167,184,159,.15);border-radius:38px;background:linear-gradient(145deg,rgba(26,45,33,.86),rgba(7,15,10,.96));box-shadow:0 38px 110px rgba(0,0,0,.28);overflow:hidden}
.digital-card-visual-v63{position:relative;min-height:560px;display:flex;flex-direction:column;padding:30px;border-radius:28px;background:radial-gradient(circle at 82% 8%,rgba(215,161,75,.18),transparent 29%),radial-gradient(circle at 16% 86%,rgba(100,145,112,.19),transparent 33%),linear-gradient(145deg,#102519,#08110c);border:1px solid rgba(243,239,230,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 55px rgba(0,0,0,.25)}
.digital-card-top-v63{display:flex;justify-content:space-between;align-items:center;gap:20px}
.digital-card-top-v63 span{color:var(--soft-sage);font-size:9px;text-transform:uppercase;letter-spacing:.18em}
.digital-card-logo-v63{width:64px;height:64px;object-fit:contain}
.digital-card-person-v63{display:flex;align-items:center;gap:18px;margin-top:60px}
.digital-card-person-v63>img{width:86px;height:86px;border-radius:24px;object-fit:cover;object-position:center 35%;border:1px solid rgba(237,188,100,.25)}
.digital-card-person-v63 div{display:grid;gap:5px}
.digital-card-person-v63 strong{color:var(--parchment);font-size:28px;letter-spacing:-.04em}
.digital-card-person-v63 small{color:var(--soft-sage);font-size:11px;line-height:1.4}
.digital-card-details-v63{display:grid;gap:9px;margin-top:34px;color:var(--muted-text);font-size:12px}
.digital-card-qr-v63{margin-top:auto;display:flex;align-items:end;justify-content:space-between;gap:18px;padding-top:28px;border-top:1px solid rgba(167,184,159,.13)}
.digital-card-qr-v63 img{width:132px;height:132px;border-radius:16px;background:var(--parchment);padding:8px}
.digital-card-qr-v63 small{max-width:15ch;color:var(--soft-sage);font-size:9px;text-transform:uppercase;letter-spacing:.13em;line-height:1.5;text-align:right}
.digital-card-copy-v63 h2{margin:14px 0 24px;color:var(--parchment);font-size:clamp(42px,5.7vw,78px);line-height:.92;letter-spacing:-.06em}
.digital-card-copy-v63>p:not(.kicker){max-width:56ch;color:var(--muted-text);font-size:16px;line-height:1.7}
.digital-card-actions-v63{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

@media (max-width:1100px){
  .workbench-card-v63--wide{grid-template-columns:1fr 1fr}
  .resume-skills-layout-v63,.digital-card-showcase-v63{grid-template-columns:1fr}
  .digital-card-visual-v63{min-height:500px}
  .document-card-v63{grid-template-columns:190px 1fr}
}
@media (max-width:850px){
  .workbench-grid-v63,.tool-groups-v63,.document-grid-v63{grid-template-columns:1fr}
  .workbench-card-v63--wide{grid-column:auto;grid-template-columns:1fr;grid-template-rows:240px auto}
  .document-library-head-v63,.notable-achievements-head-v63{grid-template-columns:1fr;gap:22px}
  .document-card-v63{min-height:360px}
  .achievement-grid-v63{grid-template-columns:1fr}
}
@media (max-width:760px){
  .about-story-section-v63 .section-head{margin-bottom:34px}
  .about-story-panel.is-active{transform:none}
  .about-portrait-swap{transition-duration:.55s!important}
  .workbench-card-v63{min-height:0;border-radius:24px}
  .workbench-card-v63>div:last-child{padding:24px}
  .records-map-v63{padding:34px 24px;gap:8px}
  .er-flow-v63{grid-template-columns:repeat(2,1fr)}
  .er-flow-v63 span:nth-child(2)::after{display:none}
  .document-card-v63{grid-template-columns:112px 1fr;min-height:310px;border-radius:24px}
  .document-card-v63>div:last-child{padding:22px}
  .document-card-v63 p:not(.kicker){font-size:12px}
  .document-preview-v63 span{display:none}
  .core-skills-v63,.resume-tool-summary-v63{padding:26px 22px;border-radius:24px}
  .notable-achievements-v63{padding:24px 18px;border-radius:25px}
  .digital-card-showcase-v63{padding:16px;border-radius:28px}
  .digital-card-visual-v63{min-height:480px;padding:22px}
  .digital-card-person-v63{margin-top:46px}
  .digital-card-copy-v63{padding:12px 8px 18px}
  .digital-card-copy-v63 h2{font-size:clamp(38px,13vw,60px)}
  .digital-card-actions-v63 .button{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .about-portrait-swap,.about-story-panel,.workbench-card-v63,.document-card-v63{transition-duration:.01ms!important}
}
.workbench-card-v63--culture{grid-template-rows:280px auto}
.culture-map-v63{display:grid;place-items:center;isolation:isolate}
.culture-map-v63 span{position:absolute;display:grid;place-items:center;width:74px;height:74px;border-radius:50%;border:1px solid rgba(243,239,230,.14);background:rgba(243,239,230,.055);color:var(--parchment);font-size:17px;font-weight:650;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.culture-map-v63 span:nth-child(1){transform:translate(-105px,-38px)}
.culture-map-v63 span:nth-child(2){transform:translate(0,-72px)}
.culture-map-v63 span:nth-child(3){transform:translate(105px,-28px)}
.culture-map-v63 span:nth-child(4){transform:translate(-66px,68px)}
.culture-map-v63 span:nth-child(5){transform:translate(72px,65px)}
.culture-map-v63 i{width:250px;height:170px;border:1px solid rgba(215,161,75,.18);border-radius:50%;box-shadow:0 0 70px rgba(98,148,113,.08);transform:rotate(-7deg)}


/* ==========================================================
   V64 — ABOUT CONTENT, CONTACT AND INDEPENDENT CARD FIXES
   ========================================================== */

/* Keep supporting keywords and bullet points comfortably separated from copy. */
.about-story-panel>.about-story-label + div{display:grid!important;gap:0!important}
.about-story-panel>.about-story-label + div>p{margin:0!important}
.about-story-panel>.about-story-label + div>p + .personal-interest-tags,.about-story-panel>.about-story-label + div>p + .about-story-points{margin-top:clamp(22px,2vw,30px)!important}

/* Each qualification card owns its own height; opening one never stretches its siblings. */
.profile-strip.profile-strip--three-v64{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:start!important;
  gap:16px!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.profile-strip.profile-strip--three-v64>.profile-info-card{
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
  padding:26px 24px!important;
  border:1px solid rgba(167,184,159,.17)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(28,44,34,.91),rgba(10,18,13,.97))!important;
  box-shadow:0 24px 70px rgba(0,0,0,.16);
}
.profile-strip.profile-strip--three-v64>.profile-info-card:hover,.profile-strip.profile-strip--three-v64>.profile-info-card:focus,.profile-strip.profile-strip--three-v64>.profile-info-card.is-open{
  background:linear-gradient(145deg,rgba(38,57,44,.96),rgba(13,23,17,.99))!important;
  border-color:rgba(237,188,100,.28)!important;
}
.profile-strip.profile-strip--three-v64>.profile-info-card>span{color:var(--muted-text)!important}
.profile-strip.profile-strip--three-v64 .info-reveal{color:var(--muted-text)!important}
.profile-strip.profile-strip--three-v64 .info-reveal strong{color:var(--parchment)!important}

.profile-strip.profile-strip--three-v64 .profile-info-card:hover .info-reveal,.profile-strip.profile-strip--three-v64 .profile-info-card:focus .info-reveal,.profile-strip.profile-strip--three-v64 .profile-info-card.is-open .info-reveal{
  max-height:560px!important;
  opacity:1!important;
  transform:translateY(0)!important;
}
.profile-strip.profile-strip--three-v64 .profile-info-card:not(:hover):not(:focus):not(.is-open) .info-reveal{
  max-height:0!important;
  opacity:0!important;
  transform:translateY(8px)!important;
}

/* The resume area is deliberately one focused document instead of a document library. */
.document-grid-v63.document-grid-v63--single-v64{grid-template-columns:minmax(0,920px)!important;justify-content:center}
.document-grid-v63.document-grid-v63--single-v64 .document-card-v63{min-height:390px}

/* Contact information now closes the About page as a full section. */
.about-contact-v64{padding-top:clamp(86px,9vw,138px)!important}
.about-contact-panel-v64{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(420px,1.22fr);
  gap:clamp(44px,7vw,104px);
  align-items:end;
  padding:clamp(30px,5vw,68px);
  border:1px solid rgba(167,184,159,.16);
  border-radius:32px;
  background:linear-gradient(145deg,rgba(28,44,34,.91),rgba(8,16,11,.97));
  box-shadow:0 34px 100px rgba(0,0,0,.25);
}
.about-contact-copy-v64 h2{margin:10px 0 22px;color:var(--parchment);font-size:clamp(46px,6vw,86px);line-height:.94;letter-spacing:-.055em}
.about-contact-copy-v64>p:last-of-type{max-width:580px;margin:0;color:var(--muted-text);font-size:16px;line-height:1.7}
.about-contact-actions-v64{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.about-contact-grid-v64{margin:0!important;align-self:stretch}
.about-contact-grid-v64 .contact-card{min-height:126px}

@media (max-width:1100px){
  .profile-strip.profile-strip--three-v64{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .about-contact-panel-v64{grid-template-columns:1fr;align-items:start}
  .about-contact-grid-v64{margin-top:0!important}
}
@media (max-width:860px){
  .profile-strip.profile-strip--three-v64{grid-template-columns:1fr!important}
  .profile-strip.profile-strip--three-v64>.profile-info-card{width:100%}
}
@media (max-width:760px){
  .about-story-panel>.about-story-label + div>p + .personal-interest-tags,.about-story-panel>.about-story-label + div>p + .about-story-points{margin-top:22px!important}
  .document-library-head-v63{grid-template-columns:1fr!important;gap:22px!important}
  .document-grid-v63.document-grid-v63--single-v64 .document-card-v63{min-height:0}
  .about-contact-panel-v64{padding:26px 20px;border-radius:24px;gap:34px}
  .about-contact-actions-v64{display:grid;grid-template-columns:1fr}
  .about-contact-actions-v64 .button{width:100%;justify-content:center}
}


/* ==========================================================
   V65 — UPDATED ADRIAN LOGO + CLEAR INTERACTIVE CARD CUES
   ========================================================== */

/* The fixed header keeps its quiet circular frame, now using Adrian's actual mark. */
.brand{
  overflow:hidden;
  isolation:isolate;
}
.brand img{
  display:block;
  width:34px;
  height:34px;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.2));
  transition:transform .42s cubic-bezier(.2,.8,.2,1),filter .42s ease;
}
.brand:hover img,.brand:focus-visible img{
  transform:scale(1.075) rotate(-2deg);
  filter:drop-shadow(0 6px 15px rgba(0,0,0,.28));
}

/* The opening reveal uses the full logo lockup without changing the approved animation. */



/* The digital card has room to show the complete Adrian lockup. */
.digital-card-logo-v63.digital-card-logo-v65{
  width:112px;
  height:88px;
  margin:-12px 0 -10px -12px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.22));
}

/* More explicit, still restrained card affordance beyond the existing plus button. */
.profile-strip.profile-strip--three-v64>.profile-info-card{
  position:relative;
  cursor:pointer;
}
.profile-strip.profile-strip--three-v64>.profile-info-card::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(237,188,100,.58),transparent);
  transform:scaleX(.18);
  opacity:.35;
  transition:transform .48s cubic-bezier(.2,.8,.2,1),opacity .35s ease;
  pointer-events:none;
}
.profile-strip.profile-strip--three-v64>.profile-info-card:hover::after,.profile-strip.profile-strip--three-v64>.profile-info-card:focus::after,.profile-strip.profile-strip--three-v64>.profile-info-card.is-open::after{
  transform:scaleX(1);
  opacity:.9;
}
.profile-card-cue-v65{
  display:flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  margin-top:20px;
  padding-top:13px;
  border-top:1px solid rgba(167,184,159,.12);
  color:rgba(184,195,182,.75);
  font-size:9px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:color .32s ease,border-color .32s ease,transform .4s cubic-bezier(.2,.8,.2,1);
}
.profile-card-cue-v65::before{
  content:"";
  flex:0 0 auto;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 0 rgba(237,188,100,.22);
  animation:profileCardCuePulseV65 2.4s ease-out infinite;
}
.profile-card-cue-v65 span{
  display:block;
  color:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
}
.profile-card-cue-v65__active{display:none!important}
.profile-card-cue-v65 i{
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  margin-left:2px;
  border:1px solid rgba(167,184,159,.16);
  border-radius:50%;
  color:var(--accent);
  font-size:10px;
  font-style:normal;
  transition:transform .36s cubic-bezier(.2,.8,.2,1),border-color .3s ease,background .3s ease;
}
.profile-info-card:hover .profile-card-cue-v65,.profile-info-card:focus .profile-card-cue-v65,.profile-info-card.is-open .profile-card-cue-v65{
  color:var(--parchment);
  border-color:rgba(237,188,100,.22);
  transform:translateX(3px);
}
.profile-info-card:hover .profile-card-cue-v65 i,.profile-info-card:focus .profile-card-cue-v65 i,.profile-info-card.is-open .profile-card-cue-v65 i{
  transform:translate(2px,2px) rotate(45deg);
  border-color:rgba(237,188,100,.34);
  background:rgba(237,188,100,.08);
}
.profile-info-card.is-open .profile-card-cue-v65__default{display:none!important}
.profile-info-card.is-open .profile-card-cue-v65__active{display:block!important}
@keyframes profileCardCuePulseV65{
  0%{box-shadow:0 0 0 0 rgba(237,188,100,.25)}
  65%,100%{box-shadow:0 0 0 8px rgba(237,188,100,0)}
}

@media (max-width:760px){
  .brand img{width:32px;height:32px}
  
  .digital-card-logo-v63.digital-card-logo-v65{width:100px;height:78px}
  .profile-card-cue-v65{font-size:8px;letter-spacing:.11em}
}

@media (prefers-reduced-motion:reduce){
  .profile-card-cue-v65::before{animation:none}
}


/* Replace the former decorative AC initials with the real Adrian mark. */
.hero-ghost.hero-ghost-logo-v65{
  right:-4vw;
  bottom:-6vw;
  width:min(31vw,470px);
  height:min(31vw,470px);
  display:grid;
  place-items:center;
  color:transparent;
  opacity:.035;
  pointer-events:none;
  user-select:none;
}
.hero-ghost-logo-v65 img{
  width:100%;
  height:100%;
  object-fit:contain;
}
@media (max-width:760px){
  .hero-ghost.hero-ghost-logo-v65{width:68vw;height:68vw;right:-20vw;bottom:-16vw;opacity:.027}
}


/* ==========================================================
   V66 — HEADER IDENTITY TILE + DEDICATED FAVICON
   ========================================================== */

/* The supplied identity artwork replaces the former AC/header icon.
   It is presented as a compact identity tile rather than forcing the
   square artwork into the previous circular monogram frame. */
.brand{
  width:52px!important;
  height:52px!important;
  padding:0!important;
  border-radius:10px!important;
  border:1px solid rgba(237,188,100,.34)!important;
  background:#0b0e12!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.025)!important;
}
.brand::before{
  inset:-3px!important;
  border-radius:12px!important;
}
.brand img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:9px!important;
  filter:none!important;
  transform:none!important;
}
.brand:hover,.brand:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(237,188,100,.66)!important;
  box-shadow:0 13px 34px rgba(0,0,0,.28),0 0 0 1px rgba(237,188,100,.12)!important;
}
.brand:hover img,.brand:focus-visible img{
  transform:scale(1.025)!important;
  filter:none!important;
}

/* The decorative logo previously placed behind the homepage portrait
   has been removed from the HTML. This guard prevents legacy copies
   from rendering if an older page is restored later. */
.hero-ghost.hero-ghost-logo-v65{display:none!important}

@media (max-width:760px){
  .brand{width:48px!important;height:48px!important;border-radius:9px!important}
  .brand img{border-radius:8px!important}
}


/* ==========================================================
   V67 — DEDICATED HEADER MARK + FULL INTRO IDENTITY
   ========================================================== */

/* The uploaded compact gold-on-navy logo replaces the prior AC/header tile.
   Its own rounded tile, border and shadow are preserved without adding a
   second frame around the artwork. */
.brand{
  width:54px!important;
  height:54px!important;
  padding:0!important;
  border:0!important;
  border-radius:13px!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.brand::before{display:none!important}
.brand img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:0!important;
  filter:none!important;
  transform:translateZ(0)!important;
  transition:transform .42s cubic-bezier(.2,.8,.2,1),filter .42s ease!important;
}
.brand:hover,.brand:focus-visible{
  transform:translateY(-2px)!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.brand:hover img,.brand:focus-visible img{
  transform:translateZ(0) scale(1.055)!important;
  filter:drop-shadow(0 9px 17px rgba(0,0,0,.24))!important;
}

/* The full Adrian identity artwork now appears in the existing loading reveal.
   Only its presentation size changes; the approved entrance animation remains
   untouched. */



@media (max-width:760px){
  .brand{width:50px!important;height:50px!important}
  
}


/* ==========================================================
   V68 — RESTORED WHITE HEADER MARK + INTERACTIVE GLOW
   ========================================================== */

/* Restore Adrian's white icon-only mark in the compact circular header control.
   The full identity artwork used by the opening reveal remains unchanged. */
.brand{
  width:52px!important;
  height:52px!important;
  padding:0!important;
  border-radius:50%!important;
  border:1px solid rgba(243,239,230,.72)!important;
  background:rgba(8,13,10,.58)!important;
  -webkit-backdrop-filter:blur(14px) saturate(120%)!important;
  backdrop-filter:blur(14px) saturate(120%)!important;
  box-shadow:0 8px 28px rgba(0,0,0,.20),inset 0 0 0 1px rgba(255,255,255,.025)!important;
  overflow:visible!important;
  isolation:isolate!important;
  transform:translateZ(0);
}
.brand::before{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:-4px!important;
  border-radius:50%!important;
  z-index:-1!important;
  opacity:0!important;
  background:conic-gradient(from 0deg,var(--heritage-gold),var(--amber-gold),var(--soft-sage),var(--heritage-gold))!important;
  filter:blur(.2px);
  animation:v16RingSpin 7s linear infinite!important;
  transition:opacity .35s ease!important;
}
.brand img{
  width:35px!important;
  height:35px!important;
  object-fit:contain!important;
  border-radius:0!important;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.48))!important;
  transform:translateZ(0)!important;
  transition:transform .42s cubic-bezier(.2,.8,.2,1),filter .42s ease!important;
  pointer-events:none!important;
}
.brand:hover,.brand:focus-visible,.brand:active{
  transform:translateY(-2px)!important;
  border-color:transparent!important;
  background:rgba(8,13,10,.88)!important;
  box-shadow:
    0 14px 38px rgba(0,0,0,.32),
    0 0 24px rgba(237,188,100,.24),
    inset 0 0 0 1px rgba(255,255,255,.055)!important;
}
.brand:hover::before,.brand:focus-visible::before,.brand:active::before{
  opacity:1!important;
}
.brand:hover img,.brand:focus-visible img,.brand:active img{
  transform:translateZ(0) scale(1.09) rotate(-2deg)!important;
  filter:
    drop-shadow(0 0 8px rgba(255,255,255,.42))
    drop-shadow(0 0 15px rgba(237,188,100,.38))!important;
}
.brand:active img{
  transform:translateZ(0) scale(.98) rotate(0deg)!important;
}

@media (max-width:760px){
  .brand{width:48px!important;height:48px!important}
  .brand img{width:32px!important;height:32px!important}
}

@media (prefers-reduced-motion:reduce){
  .brand::before{animation:none!important}
}

/* ==========================================================
   V97 — PRIVACY-CLEAN, LOCAL-ONLY CONTACT NUDGE
   ========================================================== */
body.contact-nudge-open-v73{overflow:hidden}
.contact-nudge-v73{
  position:fixed;
  inset:0;
  z-index:2147482400;
  display:grid;
  place-items:center;
  padding:clamp(18px,3vw,42px);
  opacity:0;
  pointer-events:none;
  transition:opacity .32s ease;
  font-family:inherit;
}
.contact-nudge-v73[hidden]{display:none!important}
.contact-nudge-v73.is-open{opacity:1;pointer-events:auto}
.contact-nudge-v73__backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,8,5,.74);
  -webkit-backdrop-filter:blur(16px) saturate(112%);
  backdrop-filter:blur(16px) saturate(112%);
}
.contact-nudge-v73__dialog{
  position:relative;
  width:min(680px,100%);
  overflow:hidden;
  padding:clamp(30px,4.6vw,58px);
  border:1px solid rgba(218,190,122,.28);
  border-radius:clamp(26px,3.8vw,42px);
  background:
    radial-gradient(circle at 94% 4%,rgba(217,184,104,.15),transparent 31%),
    radial-gradient(circle at 2% 98%,rgba(89,145,111,.15),transparent 36%),
    linear-gradient(145deg,rgba(16,31,22,.975),rgba(7,17,11,.99));
  color:#eee6d7;
  box-shadow:0 38px 120px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.055);
  transform:translateY(24px) scale(.974);
  opacity:0;
  transition:transform .48s cubic-bezier(.16,1,.3,1),opacity .34s ease;
  isolation:isolate;
}
.contact-nudge-v73.is-open .contact-nudge-v73__dialog{transform:none;opacity:1}
.contact-nudge-v73__dialog::before{
  content:"";
  position:absolute;
  inset:1px;
  z-index:-1;
  border:1px solid rgba(255,255,255,.025);
  border-radius:inherit;
  pointer-events:none;
}
.contact-nudge-v73__glow{
  position:absolute;
  right:-90px;
  top:-120px;
  width:310px;
  height:310px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(216,183,105,.14),rgba(78,139,101,.06) 42%,transparent 70%);
  filter:blur(8px);
  pointer-events:none;
}
.contact-nudge-v73__brand{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin:0 0 25px;
  border:1px solid rgba(221,194,126,.25);
  border-radius:50%;
  background:rgba(255,255,255,.025);
  box-shadow:0 0 30px rgba(213,183,111,.08),inset 0 1px 0 rgba(255,255,255,.045);
}
.contact-nudge-v73__brand img{
  width:35px;
  height:35px;
  object-fit:contain;
  filter:drop-shadow(0 0 9px rgba(255,255,255,.18));
}
.contact-nudge-v73__close{
  position:absolute;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  border:1px solid rgba(232,221,200,.14);
  border-radius:50%;
  background:rgba(255,255,255,.025);
  cursor:pointer;
  transition:border-color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease;
}
.contact-nudge-v73__close span{position:absolute;left:12px;top:20px;width:17px;height:1px;background:#d9d1c2}
.contact-nudge-v73__close span:first-child{transform:rotate(45deg)}
.contact-nudge-v73__close span:last-child{transform:rotate(-45deg)}
.contact-nudge-v73__close:hover,.contact-nudge-v73__close:focus-visible{
  border-color:rgba(220,188,115,.7);
  background:rgba(220,188,115,.09);
  box-shadow:0 0 22px rgba(220,188,115,.16);
  transform:rotate(4deg);
}
.contact-nudge-v73__eyebrow{
  margin:0 0 12px;
  color:#cfb675;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.contact-nudge-v73 h2{
  margin:0;
  color:#f3ebdc;
  font-size:clamp(2.75rem,6vw,5.2rem);
  font-weight:440;
  line-height:.9;
  letter-spacing:-.06em;
}
.contact-nudge-v73__copy{
  max-width:575px;
  margin:24px 0 0;
  color:rgba(231,225,212,.74);
  font-size:clamp(.97rem,1.4vw,1.08rem);
  line-height:1.7;
}
.contact-nudge-v73__copy p{margin:0}
.contact-nudge-v73__copy p+p{margin-top:12px;color:rgba(242,234,219,.92)}
.contact-nudge-v73__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:30px;
}
.contact-nudge-v73__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:11px 18px;
  border:1px solid rgba(193,211,197,.2);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:rgba(242,236,223,.88);
  font-size:.81rem;
  font-weight:700;
  letter-spacing:.035em;
  text-decoration:none;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease,color .22s ease;
}
.contact-nudge-v73__button span{transition:transform .22s ease}
.contact-nudge-v73__button:hover,.contact-nudge-v73__button:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(153,187,160,.5);
  background:rgba(100,148,113,.09);
  color:#fff7e8;
  box-shadow:0 12px 30px rgba(0,0,0,.2),0 0 20px rgba(90,143,108,.09);
}
.contact-nudge-v73__button:hover span,.contact-nudge-v73__button:focus-visible span{transform:translate(2px,-2px)}
.contact-nudge-v73__button--primary{
  border-color:rgba(225,193,116,.82);
  background:linear-gradient(135deg,#e2c477,#cfa95d);
  color:#0a150e;
  box-shadow:0 10px 28px rgba(0,0,0,.22),0 0 22px rgba(218,184,104,.11);
}
.contact-nudge-v73__button--primary:hover,.contact-nudge-v73__button--primary:focus-visible{
  border-color:rgba(238,210,141,.94);
  background:linear-gradient(135deg,#ead18c,#d8b365);
  color:#08120c;
  box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 30px rgba(218,184,104,.2);
}

/* WhatsApp attention treatment for the local-only contact nudge. */
.contact-nudge-v75__attention-wrap{
  position:relative;
  display:inline-flex;
  align-items:stretch;
  border-radius:999px;
  transform:translate3d(0,0,0);
  transform-origin:center;
  will-change:transform;
  isolation:isolate;
}
.contact-nudge-v75__attention-wrap::before{
  content:"";
  position:absolute;
  inset:-7px;
  z-index:-1;
  border:1px solid rgba(232,199,116,.56);
  border-radius:inherit;
  opacity:0;
  transform:scale(.9);
  pointer-events:none;
}
.contact-nudge-v75__attention-wrap.is-attention-active::before{
  animation:contact-nudge-v76-gold-ring 1.2s ease-out infinite;
}
.contact-nudge-v75__attention-wrap .contact-nudge-v73__button{
  width:100%;
  will-change:transform,filter,box-shadow;
}
/* Fallback in the unlikely event Web Animations is unavailable. */
.contact-nudge-v75__attention-wrap.is-css-fallback{
  animation:contact-nudge-v76-fallback-shake 1.2s ease-in-out infinite;
}
@keyframes contact-nudge-v76-gold-ring{
  0%,44%,100%{opacity:0;transform:scale(.9)}
  7%{opacity:.72;transform:scale(.97)}
  25%{opacity:0;transform:scale(1.14)}
}
@keyframes contact-nudge-v76-fallback-shake{
  0%,42%,100%{transform:translate3d(0,0,0) rotate(0)}
  7%{transform:translate3d(-8px,0,0) rotate(-1.6deg)}
  13%{transform:translate3d(8px,0,0) rotate(1.6deg)}
  19%{transform:translate3d(-6px,0,0) rotate(-1.1deg)}
  25%{transform:translate3d(6px,0,0) rotate(1.1deg)}
  32%{transform:translate3d(-3px,0,0) rotate(-.5deg)}
  37%{transform:translate3d(3px,0,0) rotate(.5deg)}
}
@media (max-width:620px){
  .contact-nudge-v73{padding:12px;align-items:end}
  .contact-nudge-v73__dialog{width:100%;padding:30px 19px 23px;border-radius:27px 27px 18px 18px}
  .contact-nudge-v73__brand{width:48px;height:48px;margin-bottom:21px}
  .contact-nudge-v73__brand img{width:31px;height:31px}
  .contact-nudge-v73 h2{padding-right:42px;font-size:clamp(2.7rem,14vw,4rem)}
  .contact-nudge-v73__copy{margin-top:20px;font-size:.94rem;line-height:1.62}
  .contact-nudge-v73__actions{display:grid;grid-template-columns:1fr 1fr;margin-top:24px}
  .contact-nudge-v73__button{width:100%;padding-inline:13px}
  .contact-nudge-v75__attention-wrap{grid-column:1/-1;width:100%}
  .contact-nudge-v73__button--primary{grid-column:auto}
  .contact-nudge-v73__close{top:12px;right:12px}
}
@media (prefers-reduced-motion:reduce){
  .contact-nudge-v73,.contact-nudge-v73__dialog,.contact-nudge-v73__button{transition-duration:.01ms!important}
  .contact-nudge-v75__attention-wrap.is-attention-active::before{animation-duration:1.6s}
}


/* ==========================================================
   V77 — INTERACTIVE COMPANY WHEEL + EXPANDABLE SKILL CARDS
   ========================================================== */

/* Company wheel cards remain lightweight and pause only during interaction. */
.logo-marquee.company-card-active-v77 .logo-track,.logo-marquee:focus-within .logo-track{animation-play-state:paused!important}
.logo-track{align-items:center}
.logo-item.company-card-v77{
  position:relative;
  isolation:isolate;
  width:250px;
  flex-basis:250px;
  height:164px;
  padding:18px;
  text-decoration:none;
  cursor:pointer;
  overflow:hidden;
  transform:translateZ(0);
}
.logo-item.company-card-v77>img{
  position:relative;
  z-index:1;
  max-width:82%;
  max-height:78%;
  transition:opacity .38s ease,transform .55s cubic-bezier(.2,.8,.2,1),filter .38s ease;
}
.company-card-overlay-v77{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  padding:17px 18px 15px;
  color:var(--parchment);
  text-align:left;
  background:linear-gradient(145deg,rgba(8,17,12,.97),rgba(23,43,31,.96));
  opacity:0;
  transform:translateY(18px) scale(.985);
  transition:opacity .34s ease,transform .48s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.company-card-overlay-v77::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 84% 12%,rgba(237,188,100,.18),transparent 38%);
  pointer-events:none;
}
.company-card-overlay-v77>*{position:relative;z-index:1}
.company-card-name-v77{
  color:var(--champagne);
  font-size:11.5px;
  line-height:1.22;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.company-card-about-v77,.company-card-role-v77{
  display:block;
  color:rgba(243,239,230,.74);
  font-size:10px;
  font-weight:500;
  line-height:1.38;
  letter-spacing:0;
}
.company-card-role-v77{color:rgba(243,239,230,.9)}
.company-card-role-v77 b{color:var(--soft-sage);font-size:inherit}
.company-card-link-v77{
  margin-top:2px;
  color:var(--amber-gold);
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.logo-item.company-card-v77:hover>img,.logo-item.company-card-v77:focus-visible>img,.logo-item.company-card-v77.is-touch-open>img{
  opacity:.08;
  transform:scale(.92);
  filter:blur(2px);
}
.logo-item.company-card-v77:hover .company-card-overlay-v77,.logo-item.company-card-v77:focus-visible .company-card-overlay-v77,.logo-item.company-card-v77.is-touch-open .company-card-overlay-v77{
  opacity:1;
  transform:translateY(0) scale(1);
}
.logo-item.company-card-v77:focus-visible{
  outline:2px solid var(--champagne);
  outline-offset:3px;
}
.logo-item.company-card-v77:hover{
  transform:translateY(-5px) scale(1.018);
}

/* Skills sections use the established independent expanding-card interaction. */
.about-skills-v77{padding-top:clamp(70px,8vw,112px)!important}
.resume-skills-v77{
  margin-top:clamp(72px,9vw,128px);
  padding-top:clamp(52px,7vw,88px);
  border-top:1px solid rgba(43,50,45,.16);
}
.skills-heading-v77{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(320px,.62fr);
  gap:clamp(28px,6vw,86px);
  align-items:end;
  margin-bottom:clamp(28px,4vw,48px);
}
.skills-heading-v77 .kicker{grid-column:1/-1;margin:0}
.skills-heading-v77 h2{
  margin:0;
  color:var(--parchment);
  font-size:clamp(40px,5.4vw,76px);
  line-height:.96;
  letter-spacing:-.05em;
}
.resume-skills-v77 .skills-heading-v77 h2{color:var(--dark-text)}
.skills-heading-v77>p:last-child{
  margin:0;
  max-width:590px;
  color:var(--muted-text);
  font-size:15px;
  line-height:1.7;
}
.profile-strip.profile-strip--skills-v77{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:start!important;
  border:0!important;
  background:transparent!important;
}
.profile-strip.profile-strip--skills-v77>.profile-info-card{
  width:100%!important;
  align-self:start!important;
  min-height:116px!important;
}
.profile-skill-card-v77>b{
  font-size:clamp(17px,1.6vw,23px)!important;
  letter-spacing:-.015em!important;
}
.skill-chip-list-v77{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px!important;
  padding:0!important;
  list-style:none!important;
}
.skill-chip-list-v77 li{
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid rgba(167,184,159,.16);
  border-radius:999px;
  background:rgba(167,184,159,.055);
  color:var(--parchment);
  font-size:10px;
  line-height:1.3;
  text-align:center;
}
.skill-chip-list-v77 li::marker,.skill-chip-list-v77 li::before{content:none!important;display:none!important}
.skill-chip-list-v77 li span{
  display:block;
  color:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
}
.profile-skill-card-v77:hover .skill-chip-list-v77,.profile-skill-card-v77:focus .skill-chip-list-v77,.profile-skill-card-v77.is-open .skill-chip-list-v77{
  max-height:1250px!important;
  margin-top:22px!important;
}
.resume-skills-v77 .profile-strip.profile-strip--skills-v77>.profile-info-card{
  background:linear-gradient(145deg,rgba(28,44,34,.97),rgba(10,18,13,.99))!important;
}

@media (max-width:900px){
  .logo-item.company-card-v77{width:220px;flex-basis:220px;height:154px}
  .skills-heading-v77{grid-template-columns:1fr;gap:18px}
  .skills-heading-v77 .kicker{grid-column:auto}
}
@media (max-width:760px){
  .logo-item.company-card-v77{width:205px;flex-basis:205px;height:150px;padding:14px}
  .company-card-overlay-v77{padding:14px;gap:5px}
  .company-card-name-v77{font-size:9px}
  .company-card-about-v77,.company-card-role-v77{font-size:8px}
  .profile-strip.profile-strip--skills-v77{grid-template-columns:1fr!important}
  .skill-chip-list-v77{grid-template-columns:1fr 1fr}
}
@media (max-width:430px){
  .skill-chip-list-v77{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .company-card-overlay-v77,.logo-item.company-card-v77>img{transition-duration:.01ms!important}
}


/* ==========================================================
   V78 — REFINED COMPANY CAROUSEL + GROUPED SKILLS
   ========================================================== */
.company-wheel-v78{
  position:relative;
  isolation:isolate;
}
.company-wheel-v78 .logo-marquee{
  position:relative;
}
.company-wheel-v78.is-interacting-v78 .logo-track,.company-wheel-v78 .logo-item.company-card-v78:hover ~ *{
  animation-play-state:paused!important;
}
.logo-item.company-card-v78{
  position:relative;
  display:grid!important;
  place-items:center!important;
  width:238px!important;
  flex:0 0 238px!important;
  height:146px!important;
  padding:0!important;
  overflow:hidden!important;
  isolation:isolate;
  text-decoration:none;
  cursor:pointer;
  transform:translateZ(0);
  transition:transform .34s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .3s ease,filter .3s ease!important;
}
.company-logo-frame-v78{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:6px 8px;
  pointer-events:none;
}
.logo-item.company-card-v78 .company-logo-frame-v78>img{
  position:static!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:var(--company-logo-width,58%)!important;
  max-height:var(--company-logo-height,66%)!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:translateZ(0)!important;
  filter:none!important;
  border-radius:0!important;
  transition:transform .38s cubic-bezier(.2,.8,.2,1),filter .3s ease,opacity .3s ease!important;
}
.logo-item.company-cbre.company-card-v78{--company-logo-width:82%;--company-logo-height:64%}
.logo-item.company-persol.company-card-v78{--company-logo-width:56%;--company-logo-height:74%}
.logo-item.company-posh.company-card-v78{--company-logo-width:78%;--company-logo-height:90%}
.logo-item.company-pspmh.company-card-v78{--company-logo-width:96%;--company-logo-height:96%}
.logo-item.company-habib.company-card-v78{--company-logo-width:70%;--company-logo-height:76%}
.company-card-hint-v78{
  position:absolute;
  left:50%;
  bottom:10px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border:1px solid rgba(243,239,230,.13);
  border-radius:999px;
  color:rgba(243,239,230,.58)!important;
  background:rgba(5,11,8,.28);
  backdrop-filter:blur(8px);
  font-size:7.5px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.12em;
  text-transform:uppercase;
  transform:translate(-50%,7px);
  opacity:0;
  transition:opacity .28s ease,transform .34s cubic-bezier(.2,.8,.2,1),color .28s ease,border-color .28s ease;
  pointer-events:none;
  white-space:nowrap;
}
.company-card-hint-v78::after{content:"";color:var(--amber-gold)}
.logo-item.company-card-v78:hover,.logo-item.company-card-v78:focus-visible,.logo-item.company-card-v78.is-company-active-v78{
  transform:translateY(-4px) scale(1.012)!important;
  border-color:rgba(237,188,100,.58)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.28),0 0 0 1px rgba(237,188,100,.13)!important;
}
.logo-item.company-card-v78:hover .company-logo-frame-v78>img,.logo-item.company-card-v78:focus-visible .company-logo-frame-v78>img,.logo-item.company-card-v78.is-company-active-v78 .company-logo-frame-v78>img{
  transform:scale(1.045)!important;
  filter:drop-shadow(0 9px 16px rgba(0,0,0,.22))!important;
}
.logo-item.company-card-v78:hover .company-card-hint-v78,.logo-item.company-card-v78:focus-visible .company-card-hint-v78,.logo-item.company-card-v78.is-company-active-v78 .company-card-hint-v78{
  opacity:1;
  transform:translate(-50%,0);
  color:rgba(243,239,230,.9)!important;
  border-color:rgba(237,188,100,.25);
}
.logo-item.company-card-v78:focus-visible{
  outline:2px solid var(--champagne);
  outline-offset:3px;
}
.company-preview-v78{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(20px,4vw,54px);
  align-items:center;
  max-height:0;
  margin-top:0;
  padding:0 clamp(20px,3vw,34px);
  border:1px solid transparent;
  border-radius:24px;
  color:var(--parchment);
  background:linear-gradient(135deg,rgba(14,28,20,.96),rgba(26,45,33,.93));
  box-shadow:0 30px 90px rgba(0,0,0,.25);
  overflow:hidden;
  opacity:0;
  transform:translateY(-10px) scale(.99);
  transition:max-height .54s cubic-bezier(.2,.8,.2,1),margin .42s ease,padding .42s ease,opacity .28s ease,transform .48s cubic-bezier(.2,.8,.2,1),border-color .3s ease;
  pointer-events:none;
}
.company-preview-v78.is-open-v78{
  max-height:260px;
  margin-top:22px;
  padding-top:22px;
  padding-bottom:22px;
  border-color:rgba(237,188,100,.26);
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.company-preview-v78__copy{
  display:grid;
  grid-template-columns:minmax(190px,.55fr) minmax(220px,.75fr) minmax(280px,1.1fr);
  gap:clamp(18px,3vw,40px);
  align-items:center;
  min-width:0;
}
.company-preview-v78__eyebrow{
  grid-column:1/-1;
  color:var(--amber-gold)!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.company-preview-v78 h3{
  margin:0;
  color:var(--champagne);
  font-size:clamp(18px,2vw,26px);
  line-height:1.08;
  letter-spacing:-.025em;
}
.company-preview-v78 p{
  margin:0;
  color:rgba(243,239,230,.72);
  font-size:12px;
  line-height:1.55;
}
.company-preview-v78__role{
  display:grid;
  gap:4px;
  color:rgba(243,239,230,.9)!important;
}
.company-preview-v78__role strong{
  color:var(--soft-sage);
  font-size:8.5px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.company-preview-v78__role span{color:inherit!important;font-size:inherit!important;line-height:inherit!important}
.company-preview-v78__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border:1px solid rgba(237,188,100,.35);
  border-radius:999px;
  color:#0d1711;
  background:linear-gradient(135deg,#e7c779,#d7a14b);
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
  transition:transform .28s ease,box-shadow .28s ease,filter .28s ease;
}
.company-preview-v78__link:hover,.company-preview-v78__link:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(215,161,75,.23);
  filter:brightness(1.06);
  outline:none;
}

/* Skill cue text always reflects the visually expanded state, including hover. */
.profile-skill-card-v77:hover .profile-card-cue-v65__default,.profile-skill-card-v77:focus .profile-card-cue-v65__default,.profile-skill-card-v77.is-open .profile-card-cue-v65__default{display:none!important}
.profile-skill-card-v77:hover .profile-card-cue-v65__active,.profile-skill-card-v77:focus .profile-card-cue-v65__active,.profile-skill-card-v77.is-open .profile-card-cue-v65__active{display:block!important}
.skill-groups-v78{
  display:grid!important;
  grid-template-columns:1fr;
  gap:18px!important;
  padding:0!important;
}
.skill-group-v78{
  display:grid;
  gap:10px;
  padding-top:15px;
  border-top:1px solid rgba(167,184,159,.13);
}
.skill-group-v78:first-child{padding-top:0;border-top:0}
.skill-group-v78 h3{
  margin:0;
  color:var(--soft-sage);
  font-size:9px;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.skill-chip-list-v78{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px!important;
  margin:0!important;
  padding:0!important;
}
.profile-skill-card-v77:hover .skill-groups-v78,.profile-skill-card-v77:focus .skill-groups-v78,.profile-skill-card-v77.is-open .skill-groups-v78{
  max-height:1900px!important;
  margin-top:22px!important;
}

@media (max-width:980px){
  .company-preview-v78__copy{grid-template-columns:1fr 1fr}
  .company-preview-v78__role{grid-column:1/-1}
}
@media (max-width:760px){
  .logo-item.company-card-v78{width:205px!important;flex-basis:205px!important;height:136px!important}
  .company-logo-frame-v78{padding:16px 18px}
  .company-preview-v78{grid-template-columns:1fr;gap:16px;border-radius:20px}
  .company-preview-v78.is-open-v78{max-height:430px;margin-top:16px;padding:19px}
  .company-preview-v78__copy{grid-template-columns:1fr;gap:9px}
  .company-preview-v78__eyebrow,.company-preview-v78__role{grid-column:auto}
  .company-preview-v78__link{width:100%}
}
@media (max-width:430px){
  .skill-chip-list-v78{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .company-preview-v78,.logo-item.company-card-v78,.company-logo-frame-v78>img,.company-card-hint-v78{transition-duration:.01ms!important}
}


/* ==========================================================
   V79 — LARGER COMPANY MARKS + UNCROPPED READABLE SKILL CARDS
   ========================================================== */

/* The source logo canvases contained large internal margins. V79 uses tightly
   cropped assets and scales the visible artwork confidently without distorting
   its aspect ratio. */
.company-logo-frame-v78{
  padding:12px 16px!important;
}
.logo-item.company-card-v78 .company-logo-frame-v78>img{
  width:auto!important;
  height:auto!important;
  max-width:var(--company-logo-width-v79,84%)!important;
  max-height:var(--company-logo-height-v79,82%)!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:1!important;
}
.logo-item.company-cbre.company-card-v78{
  --company-logo-width-v79:86%;
  --company-logo-height-v79:68%;
}
.logo-item.company-persol.company-card-v78{
  --company-logo-width-v79:66%;
  --company-logo-height-v79:86%;
}
.logo-item.company-posh.company-card-v78{
  --company-logo-width-v79:72%;
  --company-logo-height-v79:86%;
}
.logo-item.company-pspmh.company-card-v78{
  --company-logo-width-v79:72%;
  --company-logo-height-v79:86%;
}
.logo-item.company-habib.company-card-v78{
  --company-logo-width-v79:78%;
  --company-logo-height-v79:74%;
}
.logo-item.company-card-v78:hover .company-logo-frame-v78>img,.logo-item.company-card-v78:focus-visible .company-logo-frame-v78>img,.logo-item.company-card-v78.is-company-active-v78 .company-logo-frame-v78>img{
  transform:scale(1.035)!important;
}

/* Skill sections must participate in normal document layout. Remove historic
   containment and max-height animation constraints that could make long cards
   visually stop before their content was finished. */
.about-skills-v77,.resume-skills-v77,.profile-strip.profile-strip--skills-v77,.profile-strip.profile-strip--skills-v77>.profile-info-card,.profile-skill-card-v77,.profile-skill-card-v77 .info-reveal,.skill-groups-v78{
  content-visibility:visible!important;
  contain:none!important;
}
.profile-strip.profile-strip--skills-v77{
  align-items:start!important;
  overflow:visible!important;
}
.profile-strip.profile-strip--skills-v77>.profile-info-card,.profile-skill-card-v77{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

/* Closed cards remain compact. Opened/hovered cards use their natural content
   height, allowing the page itself to scroll instead of clipping the list. */
.profile-skill-card-v77 .skill-groups-v78{
  display:none!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  margin-top:0!important;
  opacity:0!important;
  transform:translateY(8px)!important;
}
.profile-skill-card-v77:hover .skill-groups-v78,.profile-skill-card-v77:focus .skill-groups-v78,.profile-skill-card-v77:focus-within .skill-groups-v78,.profile-skill-card-v77.is-open .skill-groups-v78{
  display:grid!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  margin-top:24px!important;
  opacity:1!important;
  transform:none!important;
}

/* More legible grouping and skill labels. */
.skill-groups-v78{
  gap:24px!important;
  padding-bottom:2px!important;
}
.skill-group-v78{
  gap:13px!important;
  padding-top:20px!important;
  border-top-color:rgba(167,184,159,.18)!important;
}
.skill-group-v78:first-child{
  padding-top:0!important;
}
.skill-group-v78 h3{
  color:rgba(203,216,201,.92)!important;
  font-size:10.5px!important;
  line-height:1.45!important;
  letter-spacing:.12em!important;
}
.skill-chip-list-v77.skill-chip-list-v78{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.skill-chip-list-v77.skill-chip-list-v78 li{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:11px 14px!important;
  border-color:rgba(167,184,159,.23)!important;
  background:rgba(167,184,159,.075)!important;
  color:rgba(243,239,230,.88)!important;
  font-size:11.5px!important;
  font-weight:600!important;
  line-height:1.38!important;
  letter-spacing:.005em!important;
  text-wrap:balance;
}
.skill-chip-list-v77.skill-chip-list-v78 li span{
  overflow-wrap:anywhere!important;
}

@media (max-width:760px){
  .company-logo-frame-v78{padding:10px 13px!important}
  .logo-item.company-cbre.company-card-v78{--company-logo-width-v79:88%;--company-logo-height-v79:70%}
  .logo-item.company-persol.company-card-v78,.logo-item.company-posh.company-card-v78,.logo-item.company-pspmh.company-card-v78{--company-logo-width-v79:70%;--company-logo-height-v79:86%}
  .logo-item.company-habib.company-card-v78{--company-logo-width-v79:82%;--company-logo-height-v79:76%}
  .skill-chip-list-v77.skill-chip-list-v78{grid-template-columns:1fr!important}
  .skill-chip-list-v77.skill-chip-list-v78 li{
    justify-content:flex-start!important;
    min-height:44px!important;
    padding:12px 15px!important;
    text-align:left!important;
    font-size:12px!important;
  }
}

/* V79 final specificity repair: the About/Resume skill strip inherits a
   historic 560px !important reveal cap. Override that exact selector so the
   card border grows around every category and the document remains scrollable. */
.profile-strip.profile-strip--three-v64.profile-strip--skills-v77 > .profile-info-card.profile-skill-card-v77:hover .info-reveal.skill-groups-v78,.profile-strip.profile-strip--three-v64.profile-strip--skills-v77 > .profile-info-card.profile-skill-card-v77:focus .info-reveal.skill-groups-v78,.profile-strip.profile-strip--three-v64.profile-strip--skills-v77 > .profile-info-card.profile-skill-card-v77:focus-within .info-reveal.skill-groups-v78,.profile-strip.profile-strip--three-v64.profile-strip--skills-v77 > .profile-info-card.profile-skill-card-v77.is-open .info-reveal.skill-groups-v78{
  display:grid!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  opacity:1!important;
  transform:none!important;
  margin-top:24px!important;
}

/* Keep tall square marks confident but safely inside their cards. */
.logo-item.company-persol.company-card-v78{
  --company-logo-width-v79:64%;
  --company-logo-height-v79:78%;
}
.logo-item.company-posh.company-card-v78,.logo-item.company-pspmh.company-card-v78{
  --company-logo-width-v79:70%;
  --company-logo-height-v79:80%;
}

/* Pixel-safe vertical limits keep the enlarged marks fully inside the 146px
   carousel card regardless of how each browser resolves percentage max-height
   values for replaced elements inside an absolutely positioned grid. */
.logo-item.company-cbre.company-card-v78 .company-logo-frame-v78>img{max-height:58px!important}
.logo-item.company-persol.company-card-v78 .company-logo-frame-v78>img,.logo-item.company-posh.company-card-v78 .company-logo-frame-v78>img,.logo-item.company-pspmh.company-card-v78 .company-logo-frame-v78>img{max-height:108px!important}
.logo-item.company-habib.company-card-v78 .company-logo-frame-v78>img{max-height:82px!important}
@media (max-width:760px){
  .logo-item.company-cbre.company-card-v78 .company-logo-frame-v78>img{max-height:52px!important}
  .logo-item.company-persol.company-card-v78 .company-logo-frame-v78>img,.logo-item.company-posh.company-card-v78 .company-logo-frame-v78>img,.logo-item.company-pspmh.company-card-v78 .company-logo-frame-v78>img{max-height:96px!important}
  .logo-item.company-habib.company-card-v78 .company-logo-frame-v78>img{max-height:72px!important}
}

/* ==========================================================
   V81 — SIMPLE CENTRED COMPANY LOGOS
   ========================================================== */
/* Revert the experimental per-logo balancing. Every company mark now uses the
   same visual height and the same exact horizontal/vertical centre line. */
.company-logo-frame-v78{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:14px 18px!important;
  overflow:hidden!important;
}
.logo-item.company-card-v78 .company-logo-frame-v78>img{
  position:static!important;
  display:block!important;
  width:auto!important;
  height:74px!important;
  max-width:84%!important;
  max-height:74px!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  transform-origin:center center!important;
}
.logo-item.company-card-v78:hover .company-logo-frame-v78>img,.logo-item.company-card-v78:focus-visible .company-logo-frame-v78>img,.logo-item.company-card-v78.is-company-active-v78 .company-logo-frame-v78>img{
  transform:scale(1.035)!important;
  filter:drop-shadow(0 9px 16px rgba(0,0,0,.22))!important;
}
@media (max-width:760px){
  .company-logo-frame-v78{padding:12px 15px!important}
  .logo-item.company-card-v78 .company-logo-frame-v78>img{
    height:66px!important;
    max-height:66px!important;
    max-width:84%!important;
  }
}


/* ==========================================================
   V83 — RELIABLE BLOBBY EASTER-EGG HINT
   ========================================================== */










/* ==========================================================
   V84 — PROGRESSIVE BLOBBY TEXT CLUE
   ========================================================== */







/* ==========================================================
   V86 — FINALISATION: SCROLL-SYNCED ABOUT PHOTOS + RESUME CTA
   ========================================================== */

/* The four supplied photographs now change by chapter without zooming.
   Each image retains a deliberate crop so Adrian remains visible while the
   sticky frame keeps one consistent size. */
.about-portrait-swap{
  transform:none!important;
  transition:opacity .72s ease,filter .72s ease!important;
  will-change:opacity;
}
.about-portrait-swap.is-active{
  transform:none!important;
}
.about-portrait-sticky:hover .about-portrait-frame img,.about-portrait-sticky:hover .about-portrait-swap,.about-portrait-frame:hover .about-portrait-swap{
  transform:none!important;
}
.about-portrait-swap[data-about-portrait="professional"]{object-position:50% 48%}
.about-portrait-swap[data-about-portrait="career"]{object-position:40% 52%}
.about-portrait-swap[data-about-portrait="personal"]{object-position:38% 54%}
.about-portrait-swap[data-about-portrait="goals"]{object-position:50% 56%}

/* Give the credentials section a clean opening now that the removed
   workbench section no longer sits above it. */
.about-credentials-v64{
  padding-top:clamp(72px,9vw,124px);
}

/* Resume introduction: clearly prioritise reading the interactive page. */
.document-library-head-v86>p{
  max-width:52ch;
}
.resume-view-emphasis-v86{
  color:var(--champagne);
  font-weight:760;
  text-decoration:underline;
  text-decoration-color:rgba(237,188,100,.62);
  text-decoration-thickness:1px;
  text-underline-offset:5px;
}
.document-card-v86{
  cursor:default;
}
.document-card-v86:hover{
  transform:translateY(-4px);
}
.resume-choice-v86{
  display:grid;
  gap:18px;
  margin-top:auto;
  padding-top:26px;
}
.resume-choice-v86>p{
  margin:0!important;
  padding:16px 18px;
  border:1px solid rgba(237,188,100,.2);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(237,188,100,.11),rgba(167,184,159,.055));
  color:var(--soft-sage)!important;
  font-size:13px;
  line-height:1.55!important;
}
.resume-choice-v86>p span{
  display:block;
  margin-bottom:6px;
  color:var(--champagne);
  font-size:9px;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.resume-choice-actions-v86{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.resume-choice-actions-v86 .button{
  min-height:50px;
  padding-inline:20px;
  white-space:nowrap;
}
.resume-view-button-v86{
  flex:1 1 250px;
  border-color:rgba(237,188,100,.9)!important;
  background:linear-gradient(135deg,#e9c36d,#b7c5ae)!important;
  color:#08110c!important;
  box-shadow:0 14px 34px rgba(215,161,75,.18);
}
.resume-view-button-v86::before{
  background:linear-gradient(135deg,#f1d38a,#c8d2c2)!important;
}
.resume-view-button-v86:hover{
  color:#07100b!important;
  box-shadow:0 18px 46px rgba(215,161,75,.28);
}
.resume-download-button-v86{
  flex:0 1 auto;
  min-width:178px;
  color:var(--parchment)!important;
  background:rgba(167,184,159,.07)!important;
  border-color:rgba(167,184,159,.3)!important;
}
#career-resume{
  scroll-margin-top:calc(var(--header) + 26px);
}

/* Extra work replaces the former outcome-statistics block with genuine
   adjacent experience from Adrian's CV. */
.extra-work-v86{
  margin:clamp(72px,9vw,124px) 0 42px;
  padding:clamp(30px,5vw,56px);
  border:1px solid rgba(167,184,159,.16);
  border-radius:32px;
  background:
    radial-gradient(circle at 92% 8%,rgba(215,161,75,.11),transparent 32%),
    linear-gradient(145deg,rgba(24,42,31,.88),rgba(8,16,11,.96));
  box-shadow:0 30px 90px rgba(0,0,0,.2);
}
.extra-work-head-v86{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(280px,.7fr);
  gap:clamp(28px,6vw,84px);
  align-items:end;
  margin-bottom:34px;
}
.extra-work-head-v86 h2{
  margin:10px 0 0;
  color:var(--parchment);
  font-size:clamp(38px,5.2vw,70px);
  line-height:.95;
  letter-spacing:-.055em;
}
.extra-work-head-v86>p{
  margin:0;
  color:var(--muted-text);
  font-size:15px;
  line-height:1.7;
}
.extra-work-grid-v86{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.extra-work-grid-v86 article{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:270px;
  padding:26px;
  overflow:hidden;
  border:1px solid rgba(167,184,159,.13);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(16,31,22,.94),rgba(8,17,12,.98));
  transition:transform .35s var(--ease),border-color .35s ease,background .35s ease;
}
.extra-work-grid-v86 article::after{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-84px;
  bottom:-92px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(167,184,159,.12),transparent 68%);
  pointer-events:none;
}
.extra-work-grid-v86 article:hover{
  transform:translateY(-4px);
  border-color:rgba(237,188,100,.27);
  background:linear-gradient(145deg,rgba(22,40,29,.96),rgba(8,17,12,.99));
}
.extra-work-meta-v86{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-bottom:30px;
  color:var(--soft-sage);
  font-size:9px;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.extra-work-meta-v86 span:first-child{color:var(--champagne)}
.extra-work-grid-v86 h3{
  max-width:18ch;
  margin:0 0 13px;
  color:var(--parchment);
  font-size:clamp(23px,2.4vw,34px);
  line-height:1.05;
  letter-spacing:-.04em;
}
.extra-work-grid-v86 article>p{
  max-width:58ch;
  margin:0;
  color:var(--muted-text);
  font-size:13px;
  line-height:1.65;
}
.extra-work-tags-v86{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:auto;
  padding-top:24px;
}
.extra-work-tags-v86 span{
  padding:7px 10px;
  border:1px solid rgba(167,184,159,.15);
  border-radius:999px;
  background:rgba(167,184,159,.055);
  color:var(--soft-sage);
  font-size:9px;
  letter-spacing:.06em;
}

@media (max-width:850px){
  .extra-work-head-v86{grid-template-columns:1fr;gap:20px}
  .extra-work-grid-v86{grid-template-columns:1fr}
  .extra-work-grid-v86 article{min-height:240px}
}
@media (max-width:760px){
  .about-portrait-swap[data-about-portrait="career"]{object-position:40% 50%}
  .about-portrait-swap[data-about-portrait="personal"]{object-position:37% 52%}
  .document-card-v86{grid-template-columns:1fr!important}
  .document-card-v86 .document-preview-v63{min-height:360px}
  .resume-choice-actions-v86{display:grid}
  .resume-choice-actions-v86 .button{width:100%;min-width:0}
  .extra-work-v86{padding:24px 18px;border-radius:25px}
  .extra-work-grid-v86 article{min-height:0;padding:23px 20px}
  .extra-work-meta-v86{margin-bottom:23px}
}


/* V87 — make the highlighted website-viewing sentence behave like the link it looks like. */
.resume-view-emphasis-v86{
  cursor:pointer;
  transition:color .22s ease,text-decoration-color .22s ease,filter .22s ease;
}
.resume-view-emphasis-v86:hover,.resume-view-emphasis-v86:focus-visible{
  color:var(--accent);
  text-decoration-color:currentColor;
  filter:brightness(1.12);
}
.resume-view-emphasis-v86:focus-visible{
  outline:1px solid rgba(237,188,100,.72);
  outline-offset:5px;
  border-radius:2px;
}


/* ==========================================================
   V88 — MOBILE MOTION RELIABILITY + TOUCH-SCROLL PERFORMANCE
   Desktop motion remains unchanged. Phones use one lightweight reveal layer,
   paint long sections normally, and pause unrelated ambience only while a
   touch-scroll gesture is active.
   ========================================================== */
@media (max-width:760px), (hover:none) and (pointer:coarse){
  html,body{
    background-attachment:scroll!important;
  }

  /* Mobile engines can postpone painting content-visibility sections while
     their parents are transformed. That interaction caused the blank gaps. */
  .skill-card,.impact-card,.resume-card,.contact-card,.case-block,.archive-card,.about-workbench-v63,.technical-toolkit-v63,.resume-skills-v63,.document-library-v63,.digital-card-section-v63{
    content-visibility:visible!important;
    contain-intrinsic-size:none!important;
  }

  /* V16 is retained for desktop, but no longer stacks a second blur and
     transform on top of the phone-specific V30 reveal. */
  .reveal-v16,.reveal-v16.reveal-left-v16,.reveal-v16.reveal-right-v16{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
  }
  .stagger-v16>*{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
  }

  /* Elements that only use the original reveal keep a compact, smooth rise. */
  .reveal:not([data-v30-scroll-blur="true"]),.reveal-left:not([data-v30-scroll-blur="true"]){
    opacity:0;
    filter:none!important;
    transform:translate3d(0,24px,0);
    transition:
      opacity 460ms cubic-bezier(.2,.78,.2,1),
      transform 560ms cubic-bezier(.16,1,.3,1);
    will-change:auto;
  }
  .reveal.in:not([data-v30-scroll-blur="true"]),.reveal-left.in:not([data-v30-scroll-blur="true"]){
    opacity:1;
    transform:translate3d(0,0,0);
  }
  .stagger:not([data-v30-scroll-blur="true"])>*{
    filter:none!important;
    transform:translate3d(0,18px,0);
  }
  .stagger.in:not([data-v30-scroll-blur="true"])>*{
    animation-duration:540ms;
  }

  /* V30 is the single below-the-fold motion owner on phones. Filter blur and
     scale are removed because they force expensive full-card rasterisation. */
  html.v30-scroll-blur-js body [data-v30-scroll-blur="true"]{
    --v30-delay:0ms;
    content-visibility:visible!important;
    contain-intrinsic-size:none!important;
    opacity:0!important;
    filter:none!important;
    transform:translate3d(0,28px,0)!important;
    transition:
      opacity 460ms cubic-bezier(.2,.78,.2,1),
      transform 560ms cubic-bezier(.16,1,.3,1)!important;
    will-change:auto!important;
    backface-visibility:hidden;
  }
  html.v30-scroll-blur-js body [data-v30-scroll-blur="true"].v30-in-view{
    opacity:1!important;
    filter:none!important;
    transform:translate3d(0,0,0)!important;
    will-change:auto!important;
  }

  /* The hero still enters in stages, but avoids mobile filter compositing. */
  [data-v26-enter]{
    --v26-blur:0px!important;
    transition-property:opacity,transform!important;
    will-change:opacity,transform;
  }
  body.page-load-pending-v26 [data-v26-enter][data-v26-enter][data-v26-enter][data-v26-enter],body.page-load-running-v26 [data-v26-enter][data-v26-enter][data-v26-enter][data-v26-enter],body.page-load-complete-v26 [data-v26-enter][data-v26-enter][data-v26-enter][data-v26-enter]{
    filter:none!important;
  }

  /* Fixed blurred paint layers remain visually present but do not use the
     costly fixed-background path on mobile browsers. */
  body::after{
    background-attachment:scroll!important;
  }
}


/* ==========================================================
   V91 — MOBILE HOME COMPOSITION + UNAMBIGUOUS PHONE CONTROLS
   The portrait now belongs to the opening identity composition instead of
   arriving as a detached block after the calls to action and capability tags.
   The back-to-top arrow rests upright, and Blobby remains desktop-only.
   ========================================================== */
.hero-mobile-portrait-v91{display:none}

@media (max-width:760px), (hover:none) and (pointer:coarse){
  body.page-home .hero{
    min-height:auto;
    gap:0;
    padding-top:calc(var(--header) + 38px);
  }
  body.page-home .hero-copy{width:100%;min-width:0}
  body.page-home .hero-eyebrow{margin-bottom:22px}
  body.page-home .hero-identity-v91{
    display:grid;
    grid-template-columns:minmax(0,1fr) clamp(112px,35vw,152px);
    align-items:center;
    gap:clamp(10px,3.4vw,16px);
    width:100%;
  }
  body.page-home .hero-name{
    min-width:0;
    font-size:clamp(48px,14.5vw,80px);
    line-height:.86;
    letter-spacing:-.07em;
  }
  body.page-home .hero-mobile-portrait-v91{
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:.82;
    padding:5px;
    border:1px solid rgba(215,161,75,.48);
    border-radius:24px;
    overflow:hidden;
    background:linear-gradient(155deg,rgba(237,188,100,.28),rgba(167,184,159,.14) 52%,rgba(7,14,10,.72));
    box-shadow:0 20px 50px rgba(0,0,0,.28),inset 0 1px 0 rgba(243,239,230,.16);
  }
  body.page-home .hero-mobile-portrait-v91::after{
    content:"";
    position:absolute;
    inset:5px;
    border:1px solid rgba(243,239,230,.24);
    border-radius:18px;
    pointer-events:none;
  }
  body.page-home .hero-mobile-portrait-v91 img{
    display:block;
    width:100%;
    height:100%;
    border-radius:18px;
    object-fit:cover;
    object-position:50% 34%;
  }
  body.page-home .hero-sub{margin-top:30px}
  body.page-home .hero-sub>div{margin-top:24px}
  body.page-home .hr-pill-grid{margin-top:28px}
  body.page-home .hero-visual--portrait{display:none!important}

  /* The resting symbol is always a literal upward arrow. Feedback is reserved
     for a click or reaching the end of the document. */
  .back-top-v23__arrow{
    transform:rotate(0deg);
    animation:none!important;
  }
  .back-top-v23:not(.is-clicked):not(.is-at-end):is(:hover,:focus-visible) .back-top-v23__arrow{
    transform:rotate(0deg);
    animation:none!important;
  }
  .back-top-v23.is-at-end .back-top-v23__arrow,.back-top-v23.is-clicked .back-top-v23__arrow{
    animation:backTopMobileFeedbackV91 .72s cubic-bezier(.16,1,.3,1) both!important;
  }

  /* Blobby and every click/reaction surface are desktop-only. Ambient colour
     flows remain, so the approved background still has depth on mobile. */
  
}

@keyframes backTopMobileFeedbackV91{
  0%{transform:rotate(0deg) scale(1)}
  72%{transform:rotate(382deg) scale(1.08)}
  100%{transform:rotate(360deg) scale(1)}
}

@media (max-width:390px){
  body.page-home .hero-identity-v91{
    grid-template-columns:minmax(0,1fr) clamp(108px,34vw,132px);
  }
  body.page-home .hero-name{font-size:clamp(46px,14.1vw,55px)}
}

@media (max-width:760px) and (prefers-reduced-motion:reduce),
       (hover:none) and (pointer:coarse) and (prefers-reduced-motion:reduce){
  .back-top-v23.is-at-end .back-top-v23__arrow,.back-top-v23.is-clicked .back-top-v23__arrow{
    animation:none!important;
    transform:rotate(0deg)!important;
  }
}

/* Free compositor time for the foreground reveal while the finger is moving.
   Every ambient animation resumes roughly 150ms after scrolling stops. */
@media (max-width:760px), (hover:none) and (pointer:coarse){
  /* Keep the menu control above its full-screen panel. A late legacy header
     rule otherwise drops it below the overlay and blocks touch-to-close. */
  .site-header{
    z-index:500!important;
  }
  html.v88-mobile-scrolling body::after,html.v88-mobile-scrolling .fx-hero::before,html.v88-mobile-scrolling .contact-hero::before,html.v88-mobile-scrolling .fx-grid-bg,html.v88-mobile-scrolling .fx-orb,html.v88-mobile-scrolling .section-head::after,html.v88-mobile-scrolling .experience-index-sticky::before,html.v88-mobile-scrolling .editorial-hero-sculpture i,html.v88-mobile-scrolling .hero-logo-stage,html.v88-mobile-scrolling .hero-logo,html.v88-mobile-scrolling .hero-profile-badge,html.v88-mobile-scrolling .logo-track,html.v88-mobile-scrolling .marquee-track,html.v88-mobile-scrolling .scroll-cue::before{
    animation-play-state:paused!important;
  }
  
}

@media (max-width:760px) and (prefers-reduced-motion:reduce){
  html.v30-scroll-blur-js body [data-v30-scroll-blur="true"]{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
  }
}


/* ==========================================================
   V89 — MOBILE VECTOR ARROWS + E-RESUME SCROLL STABILITY
   Desktop presentation is unchanged. Phone arrows are drawn in CSS so the
   operating system cannot substitute coloured emoji, and the long career
   sequence never uses opacity or full-card motion as a visibility gate.
   ========================================================== */
@media (max-width:760px), (hover:none) and (pointer:coarse){
  /* One restrained, line-based arrow language across links, buttons, cards
     and dynamically mounted popups. */
  html.v89-mobile-arrows .ui-arrow-v89{
    --ui-arrow-v89-rotation:0deg;
    position:relative;
    display:inline-block;
    flex:0 0 auto;
    width:1.35em;
    height:1.35em;
    min-width:14px;
    min-height:14px;
    color:currentColor;
    vertical-align:-.2em;
    pointer-events:none;
    transform-origin:50% 50%;
    animation:uiArrowDriftV89 3.2s cubic-bezier(.22,1,.36,1) infinite;
  }
  html.v89-mobile-arrows .ui-arrow-v89::before{
    content:"";
    position:absolute;
    left:14%;
    top:50%;
    width:68%;
    height:1.5px;
    border-radius:999px;
    background:currentColor;
    transform:translateY(-50%);
  }
  html.v89-mobile-arrows .ui-arrow-v89::after{
    content:"";
    position:absolute;
    right:12%;
    top:29%;
    width:38%;
    height:38%;
    border-top:1.5px solid currentColor;
    border-right:1.5px solid currentColor;
    transform:rotate(45deg);
    transform-origin:62% 38%;
  }
  html.v89-mobile-arrows .ui-arrow-v89--ne{--ui-arrow-v89-rotation:-45deg}
  html.v89-mobile-arrows .ui-arrow-v89--se{--ui-arrow-v89-rotation:45deg}
  html.v89-mobile-arrows .ui-arrow-v89--s{--ui-arrow-v89-rotation:90deg}
  html.v89-mobile-arrows .ui-arrow-v89--sw{--ui-arrow-v89-rotation:135deg}
  html.v89-mobile-arrows .ui-arrow-v89--w{--ui-arrow-v89-rotation:180deg}
  html.v89-mobile-arrows .ui-arrow-v89--nw{--ui-arrow-v89-rotation:-135deg}
  html.v89-mobile-arrows .ui-arrow-v89--n{--ui-arrow-v89-rotation:-90deg}

  html.v89-mobile-arrows :is(a,button,[role="button"]):active .ui-arrow-v89,html.v89-mobile-arrows :is(a,button,[role="button"]):focus-visible .ui-arrow-v89{
    animation:uiArrowPressV89 .46s cubic-bezier(.16,1,.3,1) both;
  }

  /* Existing circular/icon wrappers retain their approved shape while their
     inner arrow now owns direction and motion. */
  html.v89-mobile-arrows .project-row:hover .project-arrow{transform:none!important}
  html.v89-mobile-arrows .profile-info-card:hover .profile-card-cue-v65 i,html.v89-mobile-arrows .profile-info-card:focus .profile-card-cue-v65 i,html.v89-mobile-arrows .profile-info-card.is-open .profile-card-cue-v65 i{
    transform:translate(2px,2px)!important;
  }

  /* CSS-generated diagram/hint arrows use the same geometric treatment. */
  .er-flow-v63 span:not(:last-child)::after,.company-card-hint-v78::after{
    content:""!important;
    display:inline-block;
    width:13px;
    height:10px;
    background:currentColor;
    clip-path:polygon(0 43%,68% 43%,68% 8%,100% 50%,68% 92%,68% 57%,0 57%);
  }
  .er-flow-v63 span:not(:last-child)::after{
    animation:uiCssArrowEastV89 3.2s cubic-bezier(.22,1,.36,1) infinite;
  }
  .company-card-hint-v78::after{
    position:relative;
    right:auto;
    color:var(--amber-gold);
    transform-origin:center;
    animation:uiCssArrowSouthEastV89 3.2s cubic-bezier(.22,1,.36,1) infinite;
  }

  /* The chapter strip now moves only on its own horizontal axis. Removing
     snap points avoids queued corrections while the page is being swiped. */
  .page-resume .experience-nav{
    scroll-snap-type:none!important;
    scroll-behavior:smooth;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  .page-resume .experience-nav li{scroll-snap-align:none!important}

  /* Strong phone-only contrast for the role title in the sticky ribbon. */
  .page-resume .experience-tab{
    border:1px solid transparent;
  }
  .page-resume .experience-tab.is-active{
    color:var(--parchment)!important;
    background:linear-gradient(135deg,rgba(237,188,100,.23),rgba(184,195,182,.16))!important;
    border-color:rgba(237,188,100,.44)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 9px 24px rgba(0,0,0,.24)!important;
    text-shadow:0 1px 10px rgba(0,0,0,.38);
  }
  .page-resume .experience-tab.is-active strong{color:var(--parchment)!important}
  .page-resume .experience-tab.is-active .experience-tab-number{color:var(--amber-gold)!important}

  /* The long cards are always paint-ready on phones. The sticky ribbon still
     updates and the progress meter still animates, but no resume content can
     disappear or arrive late during a fast swipe. */
  html.v30-scroll-blur-js body.page-resume .experience-section [data-v30-scroll-blur="true"],body.page-resume .experience-section .experience-panel.reveal,body.page-resume .experience-section .experience-panel.reveal-v16{
    content-visibility:visible!important;
    contain-intrinsic-size:none!important;
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
  }
  body.page-resume .experience-panel,body.page-resume .experience-panel.is-current{
    transform:none!important;
    background:linear-gradient(145deg,rgba(26,40,31,.98),rgba(9,15,11,.99))!important;
    box-shadow:0 20px 58px rgba(0,0,0,.28)!important;
    transition:border-color .24s ease!important;
  }
  body.page-resume .experience-panel.is-current{
    border-color:rgba(237,188,100,.36)!important;
  }
  body.page-resume .experience-panel::before{display:none!important}
  body.page-resume .experience-panel::after{
    opacity:.42;
    transform:none!important;
    transition:none!important;
  }
  body.page-resume .experience-index-sticky::before{display:none!important}
}

@keyframes uiArrowDriftV89{
  0%,64%,100%{transform:rotate(var(--ui-arrow-v89-rotation)) translateX(0);opacity:.86}
  76%{transform:rotate(var(--ui-arrow-v89-rotation)) translateX(2.5px);opacity:1}
  88%{transform:rotate(var(--ui-arrow-v89-rotation)) translateX(0);opacity:.92}
}
@keyframes uiArrowPressV89{
  0%{transform:rotate(var(--ui-arrow-v89-rotation)) translateX(0)}
  55%{transform:rotate(var(--ui-arrow-v89-rotation)) translateX(4px)}
  100%{transform:rotate(var(--ui-arrow-v89-rotation)) translateX(0)}
}
@keyframes uiCssArrowEastV89{
  0%,64%,100%{transform:translateX(0);opacity:.82}
  76%{transform:translateX(2px);opacity:1}
  88%{transform:translateX(0);opacity:.9}
}
@keyframes uiCssArrowSouthEastV89{
  0%,64%,100%{transform:rotate(45deg) translateX(0);opacity:.82}
  76%{transform:rotate(45deg) translateX(2px);opacity:1}
  88%{transform:rotate(45deg) translateX(0);opacity:.9}
}

@media (max-width:760px) and (prefers-reduced-motion:reduce),
       (hover:none) and (pointer:coarse) and (prefers-reduced-motion:reduce){
  html.v89-mobile-arrows .ui-arrow-v89{
    animation:none!important;
    transform:rotate(var(--ui-arrow-v89-rotation))!important;
  }
  .er-flow-v63 span:not(:last-child)::after{animation:none!important}
  .company-card-hint-v78::after{animation:none!important;transform:rotate(45deg)!important}
  .page-resume .experience-nav{scroll-behavior:auto}
}


/* ==========================================================
   V90 — SOURCE-LEVEL ARROWS + SCROLL-SAFE MOBILE CAREER MAP
   Arrow icons are real interface elements in the HTML and popup templates,
   never operating-system glyphs. On phones the career index is a normal-flow
   interactive map, removing the sticky/sideways-scroll layer that could fight
   vertical swipes in mobile Safari.
   ========================================================== */
.ui-arrow-v90{
  --ui-arrow-v90-rotation:0deg;
  position:relative;
  display:inline-block;
  flex:0 0 auto;
  width:1.18em;
  height:1.18em;
  min-width:14px;
  min-height:14px;
  color:currentColor;
  vertical-align:-.2em;
  pointer-events:none;
  transform:rotate(var(--ui-arrow-v90-rotation));
  transform-origin:50% 50%;
  animation:uiArrowDriftV90 3.4s cubic-bezier(.22,1,.36,1) infinite;
}
.ui-arrow-v90::before{
  content:"";
  position:absolute;
  left:13%;
  top:50%;
  width:69%;
  height:1.5px;
  border-radius:999px;
  background:currentColor;
  transform:translateY(-50%);
}
.ui-arrow-v90::after{
  content:"";
  position:absolute;
  right:12%;
  top:28%;
  width:38%;
  height:38%;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
  transform:rotate(45deg);
  transform-origin:62% 38%;
}
.ui-arrow-v90--ne{--ui-arrow-v90-rotation:-45deg}
.ui-arrow-v90--se{--ui-arrow-v90-rotation:45deg}
.ui-arrow-v90--s{--ui-arrow-v90-rotation:90deg}
.ui-arrow-v90--sw{--ui-arrow-v90-rotation:135deg}
.ui-arrow-v90--w{--ui-arrow-v90-rotation:180deg}
.ui-arrow-v90--nw{--ui-arrow-v90-rotation:-135deg}
.ui-arrow-v90--n{--ui-arrow-v90-rotation:-90deg}

:is(a,button,[role="button"]):active .ui-arrow-v90,:is(a,button,[role="button"]):focus-visible .ui-arrow-v90{
  animation:uiArrowPressV90 .46s cubic-bezier(.16,1,.3,1) both;
}
.project-arrow .ui-arrow-v90{width:17px;height:17px;min-width:17px;min-height:17px}
.link-arrow:hover .ui-arrow-v90,.contact-nudge-v73__button:hover .ui-arrow-v90,.contact-nudge-v73__button:focus-visible .ui-arrow-v90{
  transform:rotate(var(--ui-arrow-v90-rotation))!important;
}
.profile-info-card:hover .profile-card-cue-v65 i.ui-arrow-v90,.profile-info-card:focus .profile-card-cue-v65 i.ui-arrow-v90,.profile-info-card.is-open .profile-card-cue-v65 i.ui-arrow-v90{
  transform:rotate(var(--ui-arrow-v90-rotation)) translateX(2px)!important;
  animation:none!important;
}

/* Remove the last two CSS-generated text arrows as well. */
.er-flow-v63 span:not(:last-child)::after,.company-card-hint-v78::after{
  content:""!important;
  display:inline-block;
  width:13px;
  height:10px;
  background:currentColor;
  clip-path:polygon(0 43%,68% 43%,68% 8%,100% 50%,68% 92%,68% 57%,0 57%);
}
.company-card-hint-v78::after{
  position:relative;
  right:auto;
  color:var(--amber-gold);
  transform:rotate(45deg);
}

@keyframes uiArrowDriftV90{
  0%,64%,100%{transform:rotate(var(--ui-arrow-v90-rotation)) translateX(0);opacity:.86}
  76%{transform:rotate(var(--ui-arrow-v90-rotation)) translateX(2.5px);opacity:1}
  88%{transform:rotate(var(--ui-arrow-v90-rotation)) translateX(0);opacity:.92}
}
@keyframes uiArrowPressV90{
  0%{transform:rotate(var(--ui-arrow-v90-rotation)) translateX(0)}
  55%{transform:rotate(var(--ui-arrow-v90-rotation)) translateX(4px)}
  100%{transform:rotate(var(--ui-arrow-v90-rotation)) translateX(0)}
}

@media (max-width:760px), (hover:none) and (pointer:coarse){
  body.page-resume .experience-section{
    overflow:visible!important;
  }
  body.page-resume .experience-layout{
    display:block!important;
  }
  body.page-resume .experience-index{
    position:relative!important;
    inset:auto!important;
    z-index:1!important;
    margin-inline:0!important;
    padding:0!important;
    background:none!important;
    contain:none!important;
    transform:none!important;
    filter:none!important;
  }
  body.page-resume .experience-index-sticky{
    position:relative!important;
    inset:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:18px!important;
    border:1px solid rgba(237,188,100,.24)!important;
    border-radius:24px!important;
    background:linear-gradient(145deg,rgba(29,44,34,.98),rgba(8,14,10,.99))!important;
    box-shadow:0 20px 58px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.055)!important;
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
    touch-action:pan-y;
  }
  body.page-resume .experience-index-sticky>.kicker{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 14px;
    color:var(--amber-gold)!important;
  }
  body.page-resume .experience-index-sticky>.kicker::after{
    content:"Tap a role to jump";
    color:var(--soft-sage);
    font-size:8px;
    font-weight:700;
    letter-spacing:.11em;
    white-space:nowrap;
  }
  body.page-resume .experience-nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%;
    overflow:visible!important;
    padding:0!important;
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
    overscroll-behavior:auto!important;
    -webkit-overflow-scrolling:auto!important;
    touch-action:pan-y;
  }
  body.page-resume .experience-nav li{
    width:100%;
    min-width:0;
    scroll-snap-align:none!important;
  }
  body.page-resume .experience-tab{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 7px!important;
    align-items:center;
    gap:10px!important;
    width:100%;
    min-width:0!important;
    padding:12px!important;
    border:1px solid rgba(184,195,182,.13)!important;
    border-radius:15px!important;
    color:var(--parchment)!important;
    background:rgba(255,255,255,.025)!important;
    box-shadow:none!important;
    text-shadow:none!important;
    transform:none!important;
    touch-action:manipulation;
  }
  body.page-resume .experience-tab-number{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border:1px solid rgba(237,188,100,.24);
    border-radius:50%;
    color:var(--amber-gold)!important;
    background:rgba(237,188,100,.045);
  }
  body.page-resume .experience-tab-copy{
    display:block!important;
    min-width:0;
  }
  body.page-resume .experience-tab strong{
    display:block;
    min-width:0;
    color:var(--parchment)!important;
    -webkit-text-fill-color:var(--parchment)!important;
    background:none!important;
    -webkit-background-clip:border-box!important;
    background-clip:border-box!important;
    opacity:1!important;
    font-size:12px!important;
    line-height:1.25;
    overflow-wrap:anywhere;
  }
  body.page-resume .experience-tab small{display:none!important}
  body.page-resume .experience-tab-indicator{
    display:block!important;
    width:6px;
    height:6px;
    border-radius:50%;
    background:rgba(184,195,182,.28)!important;
    box-shadow:none!important;
  }
  body.page-resume .experience-tab.is-active{
    color:var(--parchment)!important;
    background:linear-gradient(135deg,rgba(44,68,52,.98),rgba(18,31,23,.99))!important;
    border-color:rgba(237,188,100,.5)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 26px rgba(0,0,0,.22)!important;
  }
  body.page-resume .experience-tab.is-active strong{
    color:#fffaf0!important;
    -webkit-text-fill-color:#fffaf0!important;
  }
  body.page-resume .experience-tab.is-active .experience-tab-number{
    color:#fff6df!important;
    -webkit-text-fill-color:#fff6df!important;
    border-color:rgba(237,188,100,.62);
    background:rgba(237,188,100,.12);
  }
  body.page-resume .experience-tab.is-active .experience-tab-indicator{
    background:var(--amber-gold)!important;
    box-shadow:0 0 0 4px rgba(237,188,100,.09),0 0 16px rgba(237,188,100,.28)!important;
  }
  body.page-resume .experience-index-meter{
    display:block;
    height:2px;
    margin-top:14px;
  }
  body.page-resume .experience-content{
    position:relative;
    gap:24px!important;
    padding-top:30px!important;
  }
  body.page-resume .experience-panel{
    scroll-margin-top:calc(var(--header) + 14px)!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .ui-arrow-v90{
    animation:none!important;
    transform:rotate(var(--ui-arrow-v90-rotation))!important;
  }
}


/* ==========================================================
   V92 — PERSISTENT MOBILE EXPANSION CARDS
   Phone cards remain open until their own control is tapped again. Focus and
   synthetic touch-hover states no longer collapse or reopen content while the
   reader continues down the page.
   ========================================================== */
@media (max-width:760px), (hover:none) and (pointer:coarse){
  html.v30-scroll-blur-js body.page-resume .resume-achievements-v92[data-v30-scroll-blur="true"]{
    content-visibility:visible!important;
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
  }

  .interactive-profile-strip .profile-info-card:not(.is-open),.interactive-profile-strip .profile-info-card:not(.is-open):hover,.interactive-profile-strip .profile-info-card:not(.is-open):focus,.interactive-profile-strip .profile-info-card:not(.is-open):focus-within{
    background:linear-gradient(145deg,rgba(28,44,34,.91),rgba(10,18,13,.97))!important;
    border-color:rgba(167,184,159,.17)!important;
  }

  .interactive-profile-strip .profile-info-card:not(.is-open) b em,.interactive-profile-strip .profile-info-card:not(.is-open):hover b em,.interactive-profile-strip .profile-info-card:not(.is-open):focus b em{
    transform:none!important;
  }

  .profile-strip.profile-strip--three-v64 > .profile-info-card:not(.is-open) > .info-reveal,.profile-strip.profile-strip--three-v64 > .profile-info-card:not(.is-open):hover > .info-reveal,.profile-strip.profile-strip--three-v64 > .profile-info-card:not(.is-open):focus > .info-reveal,.profile-strip.profile-strip--three-v64 > .profile-info-card:not(.is-open):focus-within > .info-reveal{
    max-height:0!important;
    margin-top:0!important;
    opacity:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
    transform:translateY(8px)!important;
  }

  .profile-strip.profile-strip--three-v64 > .profile-info-card.is-open > .info-reveal{
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
  }

  .profile-strip.profile-strip--three-v64.profile-strip--skills-v77 > .profile-info-card.profile-skill-card-v77:not(.is-open) > .info-reveal.skill-groups-v78,.profile-strip.profile-strip--three-v64.profile-strip--skills-v77 > .profile-info-card.profile-skill-card-v77:not(.is-open):hover > .info-reveal.skill-groups-v78,.profile-strip.profile-strip--three-v64.profile-strip--skills-v77 > .profile-info-card.profile-skill-card-v77:not(.is-open):focus > .info-reveal.skill-groups-v78,.profile-strip.profile-strip--three-v64.profile-strip--skills-v77 > .profile-info-card.profile-skill-card-v77:not(.is-open):focus-within > .info-reveal.skill-groups-v78{
    display:none!important;
  }

  .profile-strip.profile-strip--three-v64.profile-strip--skills-v77 > .profile-info-card.profile-skill-card-v77.is-open > .info-reveal.skill-groups-v78{
    display:grid!important;
    max-height:none!important;
    height:auto!important;
    margin-top:24px!important;
    overflow:visible!important;
  }

  .profile-skill-card-v77:not(.is-open) .profile-card-cue-v65__default{
    display:block!important;
  }
  .profile-skill-card-v77:not(.is-open) .profile-card-cue-v65__active{
    display:none!important;
  }
  .profile-skill-card-v77.is-open .profile-card-cue-v65__default{
    display:none!important;
  }
  .profile-skill-card-v77.is-open .profile-card-cue-v65__active{
    display:block!important;
  }
}

.resume-achievements-v92{
  margin-top:clamp(56px,8vw,110px);
  padding:clamp(28px,5vw,58px);
  border:1px solid rgba(167,184,159,.16);
  border-radius:32px;
  background:linear-gradient(145deg,rgba(25,42,31,.9),rgba(8,16,11,.97));
  box-shadow:0 28px 86px rgba(0,0,0,.23);
}
.resume-achievements-head-v92{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:clamp(20px,5vw,76px);
  align-items:end;
  margin-bottom:clamp(28px,5vw,52px);
}
.resume-achievements-head-v92 .kicker{margin:0}
.resume-achievements-head-v92 h2{
  margin:0;
  color:var(--parchment);
  font-size:clamp(36px,5vw,70px);
  line-height:.98;
  letter-spacing:-.05em;
}
.resume-achievements-list-v92{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
}
.resume-achievements-list-v92>li{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:clamp(22px,3vw,32px);
  border:1px solid rgba(184,195,182,.13);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(39,58,45,.56),rgba(10,18,13,.72));
}
.resume-achievements-list-v92>li>span{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(237,188,100,.34);
  border-radius:50%;
  color:var(--amber-gold);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}
.resume-achievements-list-v92 strong{
  display:block;
  margin-bottom:10px;
  color:var(--parchment);
  font-size:clamp(17px,1.7vw,22px);
  line-height:1.2;
}
.resume-achievements-list-v92 p{
  margin:0;
  color:var(--muted-text);
  font-size:14px;
  line-height:1.7;
}
.resume-achievements-list-v92 small{
  display:block;
  margin-top:14px;
  color:var(--soft-sage);
  font-size:9px;
  font-weight:800;
  line-height:1.4;
  letter-spacing:.11em;
  text-transform:uppercase;
}

@media (max-width:860px){
  .resume-achievements-head-v92{grid-template-columns:1fr;align-items:start}
  .resume-achievements-list-v92{grid-template-columns:1fr}
}
@media (max-width:520px){
  .resume-achievements-v92{padding:24px 18px;border-radius:24px}
  .resume-achievements-list-v92>li{grid-template-columns:34px minmax(0,1fr);gap:12px;padding:20px 16px}
  .resume-achievements-list-v92>li>span{width:32px;height:32px}
}

/* ==========================================================
   V97 — PRIVACY NOTICE
   ========================================================== */
.footer-privacy-link-v97{
  color:inherit;
  text-decoration:underline;
  text-decoration-color:rgba(218,184,104,.45);
  text-underline-offset:3px;
  transition:color .2s ease,text-decoration-color .2s ease;
}
.footer-privacy-link-v97:hover,.footer-privacy-link-v97:focus-visible{
  color:var(--parchment);
  text-decoration-color:var(--amber-gold);
}
.privacy-hero-v97 .inner-meta a{
  color:inherit;
  text-decoration:underline;
  text-decoration-color:rgba(218,184,104,.42);
  text-underline-offset:4px;
}
.privacy-section-v97{overflow:hidden}
.privacy-grid-v97{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:clamp(38px,6vw,76px);
}
.privacy-card-v97{
  position:relative;
  min-height:280px;
  padding:clamp(24px,3.4vw,42px);
  border:1px solid rgba(25,55,40,.13);
  border-radius:26px;
  background:
    radial-gradient(circle at 96% 4%,rgba(197,158,81,.1),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.72),rgba(232,238,229,.54));
  box-shadow:0 22px 64px rgba(28,48,35,.07);
}
.privacy-card-v97>span{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  margin-bottom:clamp(30px,4vw,52px);
  border:1px solid rgba(168,126,49,.3);
  border-radius:50%;
  color:#8e6726;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}
.privacy-card-v97 h2{
  max-width:480px;
  margin:0 0 15px;
  color:#12251a;
  font-size:clamp(23px,2.8vw,34px);
  line-height:1.05;
  letter-spacing:-.035em;
}
.privacy-card-v97 p{
  max-width:620px;
  margin:0;
  color:#4a574e;
  font-size:14px;
  line-height:1.78;
}
.privacy-card-v97 a{
  color:#24573c;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:rgba(36,87,60,.32);
  text-underline-offset:3px;
}
.privacy-summary-v97>div{max-width:1000px}
.privacy-summary-v97 .lead{max-width:720px;margin:32px 0;color:rgba(238,232,221,.74)}
.privacy-summary-v97 .button{margin-top:2px}
@media (max-width:760px){
  .privacy-grid-v97{grid-template-columns:1fr;gap:12px;margin-top:34px}
  .privacy-card-v97{min-height:0;padding:25px 20px;border-radius:22px}
  .privacy-card-v97>span{margin-bottom:25px}
  .privacy-card-v97 p{font-size:13.5px;line-height:1.72}
  .privacy-summary-v97 .lead{margin:24px 0 28px}
}

/* ==========================================================
   V101 — HOME CTA EMPHASIS + MOBILE ORGANISATION TYPOGRAPHY
   Keeps the approved desktop composition and dark visual system while making
   the two primary resume actions unmistakable and the organisation summary
   calmer and more readable on phones.
   ========================================================== */
body.page-home .hero-resume-actions-v101{
  gap:16px;
}
body.page-home .hero-resume-actions-v101 .button{
  min-height:58px;
  padding-inline:30px;
  font-size:14px;
  font-weight:750;
  letter-spacing:.005em;
  border-width:1px!important;
}
body.page-home .hero-resume-primary-v101{
  color:#0B140F!important;
  border-color:rgba(243,239,230,.86)!important;
  background:linear-gradient(135deg,#F3EFE6 0%,#DDD2BF 100%)!important;
  box-shadow:
    0 16px 44px rgba(216,204,181,.22),
    inset 0 1px 0 rgba(255,255,255,.78)!important;
}
body.page-home .hero-resume-secondary-v101{
  color:var(--parchment)!important;
  border-color:rgba(216,204,181,.52)!important;
  background:linear-gradient(135deg,rgba(167,184,159,.30),rgba(88,108,90,.18))!important;
  box-shadow:
    0 14px 38px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.10)!important;
}
body.page-home .hero-resume-primary-v101:hover,body.page-home .hero-resume-primary-v101:focus-visible{
  color:#07100B!important;
  border-color:#FFFDF8!important;
  background:linear-gradient(135deg,#FFFDF8 0%,#E8DDC9 100%)!important;
  box-shadow:
    0 20px 56px rgba(216,204,181,.30),
    inset 0 1px 0 rgba(255,255,255,.88)!important;
}
body.page-home .hero-resume-secondary-v101:hover,body.page-home .hero-resume-secondary-v101:focus-visible{
  color:#07100B!important;
  border-color:rgba(243,239,230,.82)!important;
  background:linear-gradient(135deg,#D8E0D5 0%,#B8C3B6 100%)!important;
  box-shadow:
    0 20px 54px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.50)!important;
}
body.page-home .hero-resume-actions-v101 .button:focus-visible{
  outline:3px solid rgba(237,188,100,.72);
  outline-offset:4px;
}

@media (max-width:760px), (hover:none) and (pointer:coarse){
  body.page-home .hero-resume-actions-v101{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    width:100%;
  }
  body.page-home .hero-resume-actions-v101 .button{
    width:100%;
    min-height:60px;
    margin-top:0;
    padding-inline:24px;
    font-size:15px;
  }
}

@media (max-width:760px){
  body.page-home .organisation-section-head{
    margin-bottom:42px!important;
  }
  body.page-home .organisation-section-head .kicker{
    margin-bottom:17px;
    font-size:11px;
    line-height:1.5;
    letter-spacing:.18em;
  }
  body.page-home .organisation-section-head .h2{
    max-width:none;
    padding-bottom:.08em;
    font-family:var(--sans);
    font-size:clamp(38px,10.3vw,48px);
    font-weight:700;
    line-height:1.04;
    letter-spacing:-.038em;
    word-spacing:normal;
    text-wrap:balance;
  }
  body.page-home .organisation-section-head .display-serif{
    font-family:inherit!important;
    font-size:1em;
    font-style:normal;
    font-weight:inherit;
    line-height:inherit!important;
    letter-spacing:inherit!important;
    word-spacing:inherit;
    padding:0!important;
    margin:0!important;
    color:var(--mist-sage)!important;
    text-shadow:none;
  }
  body.page-home .organisation-support-card{
    margin-top:28px;
    padding:26px 23px;
  }
  body.page-home .organisation-support-card>p:first-child{
    font-size:17px;
    line-height:1.65;
  }
  body.page-home .organisation-support-card .support-detail-list{
    margin-top:26px;
  }
  body.page-home .organisation-support-card .support-detail-list>div{
    gap:7px;
    padding:16px 0;
  }
  body.page-home .organisation-support-card .support-detail-list dt{
    font-size:10px;
    line-height:1.5;
    letter-spacing:.14em;
  }
  body.page-home .organisation-support-card .support-detail-list dd{
    font-size:15.5px;
    line-height:1.62;
  }
}

/* ==========================================================
   V102 — COMPLETE MOBILE ORGANISATION SECTION REWORK
   Rebuilds the section as a clear heading, a scannable experience summary
   and an explicit introduction to the interactive company carousel.
   ========================================================== */
.organisation-title-line{display:block}
.organisation-mobile-summary,.organisation-company-intro{display:none}
.support-token-list{
  margin:0;
  padding:0;
  list-style:none;
}
@media (min-width:761px){
  .support-token-list li{display:inline}
  .support-token-list li+li::before{
    content:" · ";
    color:var(--soft-sage);
  }
}

@media (max-width:760px){
  body.page-home .clients-section{
    padding-block:76px 92px!important;
  }
  body.page-home .organisation-section-head{
    display:block!important;
    margin-bottom:0!important;
  }
  body.page-home .organisation-section-head::after{
    display:none;
  }
  body.page-home .organisation-heading-copy{
    max-width:540px;
  }
  body.page-home .organisation-section-head .kicker{
    margin:0 0 16px;
    color:var(--soft-sage);
    font-size:12px;
    line-height:1.45;
    font-weight:750;
    letter-spacing:.15em;
  }
  body.page-home .organisation-section-head .h2{
    max-width:540px;
    margin:0;
    padding:0;
    font-family:var(--sans);
    font-size:clamp(35px,9.5vw,42px);
    font-weight:700;
    line-height:1.07;
    letter-spacing:-.035em;
    text-wrap:balance;
  }
  body.page-home .organisation-title-line+ .organisation-title-line{
    margin-top:4px!important;
  }
  body.page-home .organisation-section-head .display-serif{
    display:block;
    padding:0!important;
    margin:0!important;
    color:var(--mist-sage)!important;
    font-family:inherit!important;
    font-size:1em;
    font-style:normal;
    font-weight:inherit;
    line-height:inherit!important;
    letter-spacing:inherit!important;
    text-shadow:none;
  }
  body.page-home .organisation-mobile-summary{
    display:block;
    max-width:37ch;
    margin:20px 0 0;
    color:rgba(243,239,230,.72);
    font-size:16px;
    line-height:1.62;
  }
  /* V104: high-contrast mobile experience summary.
     The old dark-on-dark card was visually elegant but too subdued on phones.
     This version uses bright editorial panels, larger type and clear grouping. */
  body.page-home .organisation-support-card{
    min-height:0;
    display:block;
    margin:20px 0 0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
    counter-reset:organisation-summary;
  }
  body.page-home .organisation-support-card::before{
    display:none;
  }
  body.page-home .organisation-support-card>p.organisation-support-intro{
    position:relative;
    margin:0!important;
    padding:24px 22px 23px 27px!important;
    border:1px solid rgba(215,161,75,.50);
    border-radius:20px;
    background:linear-gradient(135deg,#fffdf7 0%,#f3ecdf 100%);
    color:var(--forest-ink)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.9);
    font-size:18px;
    line-height:1.5;
    font-weight:720;
    letter-spacing:-.025em;
  }
  body.page-home .organisation-support-card>p.organisation-support-intro::before{
    content:"Experience summary";
    display:block;
    margin:0 0 10px;
    color:#93611e;
    font-size:10.5px;
    line-height:1.3;
    font-weight:850;
    letter-spacing:.15em;
    text-transform:uppercase;
  }
  body.page-home .organisation-support-card>p.organisation-support-intro::after{
    content:"";
    position:absolute;
    top:18px;
    bottom:18px;
    left:0;
    width:5px;
    border-radius:0 5px 5px 0;
    background:linear-gradient(180deg,var(--heritage-gold),#f1cb78);
  }
  body.page-home .organisation-support-card .support-detail-list{
    display:grid;
    gap:13px;
    margin:14px 0 0;
  }
  body.page-home .organisation-support-card .support-detail-list>div{
    counter-increment:organisation-summary;
    position:relative;
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    min-width:0;
    padding:21px 18px 20px 66px;
    border:1px solid rgba(215,161,75,.34);
    border-radius:18px;
    background:linear-gradient(145deg,#f7f2e8 0%,#eee6d7 100%);
    box-shadow:0 13px 32px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.82);
  }
  body.page-home .organisation-support-card .support-detail-list>div::before{
    content:counter(organisation-summary,decimal-leading-zero);
    position:absolute;
    top:20px;
    left:18px;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--forest-ink);
    color:#f2cf86;
    box-shadow:0 7px 16px rgba(17,32,23,.20);
    font-size:10px;
    line-height:1;
    font-weight:850;
    letter-spacing:.08em;
  }
  body.page-home .organisation-support-card .support-detail-list dt{
    color:#6f4918;
    font-size:12px;
    line-height:1.35;
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  body.page-home .organisation-support-card .support-detail-list dd{
    margin:0;
    color:var(--forest-ink);
    font-size:17px;
    line-height:1.45;
    font-weight:620;
  }
  body.page-home .support-token-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  body.page-home .support-token-list--focus,body.page-home .support-token-list--environments{
    grid-template-columns:1fr;
  }
  body.page-home .support-token-list li{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
    min-height:43px;
    padding:9px 10px;
    border:1px solid rgba(43,67,51,.16);
    border-radius:11px;
    background:rgba(255,255,255,.68);
    color:var(--forest-ink);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
  }
  body.page-home .support-token-list li::before{
    content:"";
    flex:0 0 7px;
    width:7px;
    height:7px;
    margin:0;
    border-radius:50%;
    background:var(--heritage-gold);
    box-shadow:0 0 0 4px rgba(215,161,75,.14);
  }
  body.page-home .organisation-company-intro{
    display:block;
    margin:38px 0 18px;
    padding-top:26px;
    border-top:1px solid rgba(238,231,217,.11);
  }
  body.page-home .organisation-company-intro p{
    margin:0 0 8px;
    color:var(--parchment);
    font-size:12px;
    line-height:1.4;
    font-weight:750;
    letter-spacing:.13em;
    text-transform:uppercase;
  }
  body.page-home .organisation-company-intro span{
    display:block;
    color:rgba(243,239,230,.66);
    font-size:14.5px;
    line-height:1.55;
  }
  body.page-home .logo-item.company-card-v78{
    width:190px!important;
    flex-basis:190px!important;
    height:126px!important;
  }
  body.page-home .company-preview-v78 h3{
    font-size:21px;
    line-height:1.16;
  }
  body.page-home .company-preview-v78 p{
    font-size:14px;
    line-height:1.62;
  }
  body.page-home .company-preview-v78__eyebrow,body.page-home .company-preview-v78__role strong{
    font-size:10px!important;
  }
}

@media (max-width:360px){
  body.page-home .support-token-list--regions,body.page-home .support-token-list--focus{
    grid-template-columns:1fr;
  }
}

/* ==========================================================
   V107 — APAC TITLE COLOUR ONLY
   Keeps the section's original structure and placement while applying a
   readable heritage-gold colour to the heading.
   ========================================================== */
body.page-home .organisation-section-head .h2,body.page-home .organisation-section-head .display-serif{
  color:#E4B45D!important;
}

/* ==========================================================
   V110 — REBALANCED COMPANY WHEEL LOGO SCALE
   Makes denser logos more legible while keeping the carousel visually aligned.
   ========================================================== */
.logo-item.company-posh.company-card-v78 .company-logo-frame-v78>img{
  max-height:128px!important;
}
.logo-item.company-pspmh.company-card-v78 .company-logo-frame-v78>img{
  max-height:134px!important;
}

/* ==========================================================
   V112 — FULL-BRAND COMPANY CARDS
   Each logo now sits directly on a full matching brand background rather than
   appearing as a small image tile inside a second empty-looking container.
   Logo scales are balanced individually; PSPMH receives the strongest fill.
   ========================================================== */
body.page-home .logo-item.company-card-v78{
  padding:0!important;
  overflow:hidden!important;
}

body.page-home .company-logo-frame-v78{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  overflow:hidden!important;
}

body.page-home .logo-item.company-card-v78 .company-logo-frame-v78>img{
  position:static!important;
  display:block!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:0!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  max-width:none!important;
  max-height:none!important;
}

/* Match each complete card to the source logo background so no inner square
   or secondary image container remains visible. */
body.page-home .logo-item.company-cbre.company-card-v78{
  background:#044d37!important;
}
body.page-home .logo-item.company-habib.company-card-v78{
  background:#7c1254!important;
}
body.page-home .logo-item.company-persol.company-card-v78{
  background:#58595b!important;
}
body.page-home .logo-item.company-posh.company-card-v78{
  background:#000!important;
}
body.page-home .logo-item.company-pspmh.company-card-v78{
  background:#f3eeee!important;
}

/* Balanced visible fills. */
body.page-home .logo-item.company-cbre.company-card-v78 .company-logo-frame-v78>img{
  width:88%!important;
  height:auto!important;
  max-width:88%!important;
  max-height:82%!important;
}
body.page-home .logo-item.company-habib.company-card-v78 .company-logo-frame-v78>img{
  width:84%!important;
  height:auto!important;
  max-width:84%!important;
  max-height:88%!important;
}
body.page-home .logo-item.company-persol.company-card-v78 .company-logo-frame-v78>img{
  width:auto!important;
  height:88%!important;
  max-width:90%!important;
  max-height:88%!important;
}
body.page-home .logo-item.company-posh.company-card-v78 .company-logo-frame-v78>img{
  width:auto!important;
  height:94%!important;
  max-width:92%!important;
  max-height:94%!important;
}
body.page-home .logo-item.company-pspmh.company-card-v78 .company-logo-frame-v78>img{
  width:94%!important;
  height:auto!important;
  max-width:94%!important;
  max-height:96%!important;
}

/* Preserve the existing interaction without allowing old fixed-height rules to
   shrink the artwork again. */
body.page-home .logo-item.company-card-v78:hover .company-logo-frame-v78>img,body.page-home .logo-item.company-card-v78:focus-visible .company-logo-frame-v78>img,body.page-home .logo-item.company-card-v78.is-company-active-v78 .company-logo-frame-v78>img{
  filter:brightness(1.035) drop-shadow(0 8px 15px rgba(0,0,0,.17))!important;
}

@media (max-width:760px){
  body.page-home .logo-item.company-persol.company-card-v78 .company-logo-frame-v78>img{
    height:90%!important;
    max-height:90%!important;
  }
  body.page-home .logo-item.company-posh.company-card-v78 .company-logo-frame-v78>img{
    height:96%!important;
    max-height:96%!important;
  }
  body.page-home .logo-item.company-pspmh.company-card-v78 .company-logo-frame-v78>img{
    width:96%!important;
    max-width:96%!important;
    max-height:98%!important;
  }
}

/* ==========================================================
   V114 — SLOW, FREELY SCROLLABLE COMPANY CAROUSEL
   Native horizontal scrolling works with touch, trackpads and mouse dragging.
   Automatic movement yields temporarily to manual interaction, then resumes.
   ========================================================== */
body.page-home .company-wheel-guide-v114{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:18px 0 14px;
  padding:13px 15px 13px 17px;
  border:1px solid rgba(215,161,75,.22);
  border-radius:17px;
  color:var(--parchment);
  background:
    radial-gradient(circle at 0 50%,rgba(215,161,75,.10),transparent 34%),
    linear-gradient(135deg,rgba(15,34,23,.92),rgba(8,23,15,.94));
  box-shadow:0 14px 38px rgba(0,0,0,.16);
}

body.page-home .company-wheel-guide-v114__prompt{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

body.page-home .company-wheel-guide-v114__prompt>span:last-child{
  display:grid;
  gap:3px;
  min-width:0;
}

body.page-home .company-wheel-guide-v114__prompt strong{
  color:#F1C36F;
  font-size:12px;
  line-height:1.3;
  font-weight:850;
  letter-spacing:.075em;
  text-transform:uppercase;
}

body.page-home .company-wheel-guide-v114__prompt small{
  color:rgba(238,231,217,.74);
  font-size:12px;
  line-height:1.45;
}

body.page-home .company-wheel-gesture-v114{
  position:relative;
  flex:0 0 46px;
  width:46px;
  height:28px;
  border:1px solid rgba(237,188,100,.30);
  border-radius:999px;
  background:rgba(237,188,100,.065);
  overflow:hidden;
}

body.page-home .company-wheel-gesture-v114::before,body.page-home .company-wheel-gesture-v114::after{
  content:"";
  position:absolute;
  top:50%;
  width:7px;
  height:7px;
  border-top:1.5px solid #E8B65E;
  border-right:1.5px solid #E8B65E;
}

body.page-home .company-wheel-gesture-v114::before{
  left:8px;
  transform:translateY(-50%) rotate(-135deg);
}

body.page-home .company-wheel-gesture-v114::after{
  right:8px;
  transform:translateY(-50%) rotate(45deg);
}

body.page-home .company-wheel-gesture-v114 i{
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#F0BE63;
  box-shadow:0 0 13px rgba(240,190,99,.42);
  transform:translate(-50%,-50%);
  animation:companyGestureV114 2.8s ease-in-out infinite;
}

@keyframes companyGestureV114{
  0%,100%{transform:translate(-50%,-50%) translateX(-7px)}
  50%{transform:translate(-50%,-50%) translateX(7px)}
}

body.page-home .company-wheel-controls-v114{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

body.page-home .company-wheel-controls-v114__label{
  color:rgba(238,231,217,.60);
  font-size:9px;
  line-height:1;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}

body.page-home .company-wheel-button-v114{
  appearance:none;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid rgba(237,188,100,.31);
  border-radius:50%;
  color:#F4D18A;
  background:rgba(237,188,100,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
  cursor:pointer;
  transition:
    transform .24s ease,
    border-color .24s ease,
    color .24s ease,
    background .24s ease,
    box-shadow .24s ease;
}

body.page-home .company-wheel-button-v114 span{
  display:block;
  margin-top:-2px;
  font-family:Arial,sans-serif;
  font-size:28px;
  font-weight:300;
  line-height:1;
}

body.page-home .company-wheel-button-v114:hover,body.page-home .company-wheel-button-v114:focus-visible{
  color:#FFF1D0;
  border-color:rgba(237,188,100,.66);
  background:rgba(237,188,100,.16);
  box-shadow:0 9px 23px rgba(0,0,0,.22);
  transform:translateY(-2px);
}

body.page-home .company-wheel-button-v114:focus-visible{
  outline:2px solid rgba(240,190,99,.82);
  outline-offset:3px;
}

/* The original CSS-transform marquee is replaced by a genuine scroller. */
body.page-home .company-wheel-v78 .logo-marquee{
  position:relative;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:manipulation;
  cursor:grab;
  box-shadow:
    inset 26px 0 25px -27px rgba(237,188,100,.35),
    inset -26px 0 25px -27px rgba(237,188,100,.35);
}

body.page-home .company-wheel-v78 .logo-marquee::-webkit-scrollbar{
  display:none;
  width:0;
  height:0;
}

body.page-home .company-wheel-v78 .logo-marquee.is-dragging-v114{
  cursor:grabbing;
  user-select:none;
}

body.page-home .company-wheel-v78 .logo-track{
  animation:none!important;
  animation-play-state:paused!important;
  transform:none!important;
  will-change:auto!important;
  width:max-content!important;
  min-width:max-content!important;
  padding-inline:clamp(12px,2.2vw,30px)!important;
}

body.page-home .company-wheel-v78 .logo-item.company-card-v78{
  user-select:none;
  -webkit-user-select:none;
  -webkit-user-drag:none;
  touch-action:manipulation;
}

body.page-home .company-wheel-v78 .logo-item.company-card-v78 img{
  pointer-events:none;
  -webkit-user-drag:none;
}

body.page-home .company-wheel-v78.is-user-browsing-v114 .logo-item.company-card-v78{
  transition-duration:.18s!important;
}

@media (max-width:760px){
  body.page-home .company-wheel-guide-v114{
    align-items:stretch;
    gap:11px;
    margin-top:15px;
    padding:12px 12px 12px 14px;
  }

  body.page-home .company-wheel-guide-v114__prompt{
    gap:10px;
  }

  body.page-home .company-wheel-guide-v114__prompt strong{
    font-size:10px;
    letter-spacing:.065em;
  }

  body.page-home .company-wheel-guide-v114__prompt small{
    max-width:27ch;
    font-size:10.5px;
  }

  body.page-home .company-wheel-gesture-v114{
    flex-basis:40px;
    width:40px;
    height:26px;
  }

  body.page-home .company-wheel-controls-v114{
    gap:6px;
  }

  body.page-home .company-wheel-controls-v114__label{
    display:none;
  }

  body.page-home .company-wheel-button-v114{
    width:35px;
    height:35px;
  }

  body.page-home .company-wheel-v78 .logo-track{
    padding-inline:14px!important;
  }
}

@media (max-width:480px){
  body.page-home .company-wheel-guide-v114{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
  }

  body.page-home .company-wheel-guide-v114__prompt small{
    max-width:22ch;
  }
}

@media (prefers-reduced-motion:reduce){
  body.page-home .company-wheel-gesture-v114 i{
    animation:none!important;
  }
}

/* ==========================================================
   V115 — CLEARER CAROUSEL BROWSING CUE
   Strengthens the instruction without changing the carousel layout or cards.
   ========================================================== */
body.page-home .company-wheel-guide-v114{
  position:relative;
  padding:15px 16px 15px 18px;
  border-color:rgba(231,181,92,.42);
  background:
    radial-gradient(circle at 0 50%,rgba(231,181,92,.16),transparent 38%),
    linear-gradient(135deg,rgba(19,42,28,.98),rgba(8,24,16,.98));
  box-shadow:
    0 15px 42px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.055);
}

body.page-home .company-wheel-guide-v114::before{
  content:"Interactive carousel";
  position:absolute;
  top:-9px;
  left:17px;
  padding:3px 8px;
  border:1px solid rgba(231,181,92,.38);
  border-radius:999px;
  color:#F5D18A;
  background:#10291B;
  font-size:8px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

body.page-home .company-wheel-guide-v114__prompt{
  gap:14px;
}

body.page-home .company-wheel-guide-v114__prompt strong{
  color:#FFD78A;
  font-size:13px;
  letter-spacing:.055em;
}

body.page-home .company-wheel-guide-v114__prompt small{
  max-width:58ch;
  color:rgba(246,240,227,.84);
  font-size:12.5px;
  line-height:1.5;
}

body.page-home .company-wheel-gesture-v114{
  flex-basis:52px;
  width:52px;
  height:31px;
  border-color:rgba(240,190,99,.46);
  background:rgba(240,190,99,.11);
  box-shadow:0 0 0 4px rgba(240,190,99,.035);
}

body.page-home .company-wheel-gesture-v114 i{
  width:9px;
  height:9px;
  background:#FFD078;
  box-shadow:0 0 16px rgba(255,208,120,.58);
}

@media (max-width:760px){
  body.page-home .company-wheel-guide-v114{
    padding:14px 12px 13px 14px;
  }

  body.page-home .company-wheel-guide-v114::before{
    left:14px;
    font-size:7px;
  }

  body.page-home .company-wheel-guide-v114__prompt strong{
    font-size:10.5px;
  }

  body.page-home .company-wheel-guide-v114__prompt small{
    max-width:25ch;
    font-size:10.75px;
    line-height:1.45;
  }

  body.page-home .company-wheel-gesture-v114{
    flex-basis:43px;
    width:43px;
    height:28px;
  }
}

/* ==========================================================
   V116 — RELIABLE AUTO-MOVEMENT + CLEAN LOGO ROW
   ========================================================== */
body.page-home .company-wheel-v78 .logo-marquee::before,body.page-home .company-wheel-v78 .logo-marquee::after{
  content:none!important;
  display:none!important;
  background:none!important;
}

body.page-home .company-wheel-v78 .logo-marquee{
  box-shadow:none!important;
}

body.page-home .company-wheel-v78 .logo-item.company-card-v78{
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    border-color .24s ease!important;
}

body.page-home .company-wheel-v78 .logo-item.company-card-v78:hover,body.page-home .company-wheel-v78 .logo-item.company-card-v78:focus,body.page-home .company-wheel-v78 .logo-item.company-card-v78:focus-visible,body.page-home .company-wheel-v78 .logo-item.company-card-v78.is-company-active-v78{
  border-color:rgba(237,188,100,.66)!important;
  box-shadow:none!important;
  filter:none!important;
}

body.page-home .company-wheel-v78 .logo-item.company-card-v78 .company-logo-frame-v78,body.page-home .company-wheel-v78 .logo-item.company-card-v78 .company-logo-frame-v78>img,body.page-home .company-wheel-v78 .logo-item.company-card-v78:hover .company-logo-frame-v78>img,body.page-home .company-wheel-v78 .logo-item.company-card-v78:focus .company-logo-frame-v78>img,body.page-home .company-wheel-v78 .logo-item.company-card-v78:focus-visible .company-logo-frame-v78>img,body.page-home .company-wheel-v78 .logo-item.company-card-v78.is-company-active-v78 .company-logo-frame-v78>img{
  box-shadow:none!important;
  filter:none!important;
  text-shadow:none!important;
}

/* ==========================================================
   V118 — BRIGHT HUMAN-CENTRED HR PALETTE
   Warm cream canvas, trustworthy blue hierarchy, restrained sage and a
   human warm accent. Recolours shared surfaces, interactions, popups,
   transitions and decorative systems without changing layout or behaviour.
   ========================================================== */
:root{
  --hr-canvas:#F7F3EA;--hr-canvas-2:#F2EEE6;--hr-surface:#FFFDF9;--hr-surface-strong:#FFFFFF;
  --hr-surface-blue:#EAF2F6;--hr-surface-blue-2:#DDEAF0;--hr-surface-sage:#EDF3EE;
  --hr-ink:#243B4A;--hr-ink-strong:#183347;--hr-copy:#425C6C;--hr-muted:#687C88;
  --hr-blue:#2B6E92;--hr-blue-dark:#1F5675;--hr-blue-bright:#3E82A5;--hr-blue-soft:#D7E7EF;
  --hr-sage:#7F9F8B;--hr-sage-dark:#5F7E6B;--hr-warm:#C67E4F;--hr-warm-soft:#F2E1D4;
  --hr-line:rgba(31,86,117,.16);--hr-line-strong:rgba(31,86,117,.30);
  --hr-shadow:0 18px 54px rgba(36,59,74,.10);--hr-shadow-hover:0 25px 70px rgba(36,59,74,.15);
  --hr-shadow-deep:0 34px 100px rgba(36,59,74,.18);
  --forest-ink:var(--hr-canvas);--forest-charcoal:var(--hr-surface-blue);--charcoal-green:var(--hr-surface-blue-2);
  --deep-panel:var(--hr-surface);--deep-panel-2:var(--hr-surface-blue);--parchment:var(--hr-ink);
  --sandstone:var(--hr-surface-blue-2);--heritage-gold:var(--hr-blue);--amber-gold:var(--hr-blue-dark);
  --soft-sage:var(--hr-sage);--deep-sage:var(--hr-sage-dark);--terracotta:var(--hr-warm);
  --dark-text:var(--hr-ink);--muted-text:var(--hr-muted);--ink:var(--hr-ink);--paper:var(--hr-surface);
  --paper-2:var(--hr-surface-blue);--muted:var(--hr-muted);--accent:var(--hr-blue);--amber:var(--hr-blue-dark);
  --sage:var(--hr-sage);--sage-deep:var(--hr-sage-dark);--terracotta-accent:var(--hr-warm);
  --line:var(--hr-line);--line-dark:var(--hr-line);--shadow-soft:var(--hr-shadow);--shadow-deep:var(--hr-shadow-deep);
  --gold-sage-gradient:linear-gradient(105deg,var(--hr-blue-dark),var(--hr-blue),var(--hr-sage));
  --gold-reflection-gradient:linear-gradient(110deg,var(--hr-blue-dark),var(--hr-blue) 48%,#77A8BF 62%,var(--hr-blue-dark));
  --sage-depth-gradient:linear-gradient(135deg,var(--hr-sage),var(--hr-sage-dark));
  --warm-paper-gradient:linear-gradient(135deg,var(--hr-canvas),var(--hr-surface-blue) 58%,var(--hr-canvas-2));
  --cinematic-dark-gradient:radial-gradient(circle at 82% 16%,rgba(43,110,146,.12),transparent 34vw),radial-gradient(circle at 12% 78%,rgba(127,159,139,.13),transparent 30vw),linear-gradient(135deg,var(--hr-canvas),var(--hr-surface-blue) 52%,var(--hr-canvas-2));
  --panel-gradient:linear-gradient(145deg,rgba(255,253,249,.98),rgba(238,245,247,.98));
  --panel-gradient-soft:linear-gradient(145deg,rgba(255,255,255,.94),rgba(237,243,238,.96));
  --champagne:var(--hr-surface-blue-2);--champagne-bright:var(--hr-surface);--mist-sage:var(--hr-sage);
  --ui-surface:rgba(255,253,249,.82);--ui-surface-strong:rgba(255,255,255,.96);--ui-border:var(--hr-line);
  --ui-border-hover:var(--hr-line-strong);--ui-highlight:linear-gradient(135deg,rgba(43,110,146,.10),rgba(127,159,139,.09));
  --ui-shadow:var(--hr-shadow);color-scheme:light!important;
}
html{background:var(--hr-canvas)!important;color-scheme:light!important}
body{color:var(--hr-ink)!important;background:radial-gradient(circle at 10% 4%,rgba(198,126,79,.09),transparent 25vw),radial-gradient(circle at 92% 18%,rgba(43,110,146,.11),transparent 32vw),radial-gradient(circle at 62% 88%,rgba(127,159,139,.10),transparent 36vw),linear-gradient(145deg,var(--hr-canvas),var(--hr-surface-blue) 52%,var(--hr-canvas-2))!important;background-attachment:fixed!important}
main{color:var(--hr-ink)!important;background:transparent!important}
body::before{z-index:0!important;opacity:.38!important;mix-blend-mode:multiply!important;background:radial-gradient(440px circle at var(--cursor-x) var(--cursor-y),rgba(43,110,146,.075),transparent 68%)!important}
body::after{z-index:0!important;opacity:.18!important;background-image:radial-gradient(rgba(36,59,74,.26) .55px,transparent .65px)!important;background-size:10px 10px!important}
::selection{background:var(--hr-blue)!important;color:#fff!important}

/* Ambient background and Blobby */











/* Global typography and hierarchy */
body,button,input,textarea,select{color:var(--hr-ink)}
p,li,.lead,.small,.muted,.inner-meta p,.hero-sub p{color:var(--hr-copy)!important}
strong,h3,h4,.h3,.project-title{color:var(--hr-ink)!important}
.kicker,.breadcrumb,.support-label,.project-index,.project-meta,.editorial-hero-axis,.editorial-hero-facts,.editorial-hero-topline{color:var(--hr-blue-dark)!important}
.display-serif,.footer-cta em,.contact-hero h1 em{color:var(--hr-blue)!important;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important;text-shadow:none!important}
.h2,.section-head .h2,.editorial-hero-title,.experience-section-head .h2,.document-library-head-v63 h2,.core-skills-v63 h2,.notable-achievements-head-v63 h2,.about-contact-copy-v64 h2,.digital-card-copy-v63 h2,.privacy-card-v97 h2,.contact-nudge-v73 h2{color:var(--hr-blue)!important;text-shadow:none!important}
.link-arrow,.footer-links a,.desktop-nav a,.contact-card a{color:var(--hr-blue-dark)!important}
.rule,.project-list,.stats-grid,.timeline,.contact-list{border-color:var(--hr-line)!important}

/* Header, menu, page transitions and loaders */
.site-header,.site-header.is-scrolled,.page-contact .site-header,.menu-open .site-header{color:var(--hr-ink)!important;background:rgba(255,253,249,.88)!important;border-bottom:1px solid var(--hr-line)!important;-webkit-backdrop-filter:blur(18px) saturate(115%)!important;backdrop-filter:blur(18px) saturate(115%)!important;box-shadow:0 10px 34px rgba(36,59,74,.08)!important}
.brand{background:var(--hr-surface)!important;border-color:rgba(43,110,146,.28)!important;box-shadow:0 8px 24px rgba(36,59,74,.10),inset 0 1px 0 rgba(255,255,255,.88)!important}
.brand:hover,.brand:focus-visible{background:#fff!important;border-color:var(--hr-blue)!important;box-shadow:0 13px 34px rgba(36,59,74,.15),0 0 0 1px rgba(43,110,146,.08)!important}
.desktop-nav a::after{background:var(--hr-blue)!important}.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:var(--hr-blue-dark)!important}
.menu-toggle{color:var(--hr-blue-dark)!important;border:1px solid var(--hr-line)!important;border-radius:999px!important;background:rgba(255,255,255,.72)!important}
.menu-toggle:hover{background:var(--hr-blue)!important;color:#fff!important;border-color:var(--hr-blue)!important}
.menu-overlay{color:var(--hr-ink)!important;background:radial-gradient(circle at 78% 12%,rgba(43,110,146,.12),transparent 30vw),linear-gradient(145deg,var(--hr-surface),var(--hr-surface-blue))!important}
.menu-overlay::before,.menu-overlay::after{opacity:.22!important;filter:none!important}.menu-links a{color:var(--hr-ink)!important;border-color:var(--hr-line)!important}.menu-links a:hover{color:var(--hr-blue)!important}.menu-links small,.menu-meta .kicker{color:var(--hr-blue-dark)!important}.menu-meta{color:var(--hr-copy)!important}
.scroll-progress{background:linear-gradient(90deg,var(--hr-blue-dark),var(--hr-blue),var(--hr-sage))!important}





/* Sections and heroes */
.section,.section-tight,.section-light{color:var(--hr-ink)!important;background:radial-gradient(circle at 90% 10%,rgba(43,110,146,.055),transparent 27vw),linear-gradient(180deg,rgba(255,253,249,.96),rgba(247,243,234,.98))!important}
.section:nth-of-type(even),.section-tight:nth-of-type(even){background:radial-gradient(circle at 8% 90%,rgba(127,159,139,.07),transparent 25vw),linear-gradient(145deg,var(--hr-surface-blue),var(--hr-canvas))!important}
.section-dark,.contact-hero,.footer{color:var(--hr-ink)!important;background:radial-gradient(circle at 82% 18%,rgba(43,110,146,.09),transparent 30vw),linear-gradient(145deg,var(--hr-surface-blue),var(--hr-surface))!important}
.section-dark::before,.section-dark::after,.contact-hero::before,.contact-hero::after,.footer::before,.footer::after{background:none!important;opacity:0!important}
.hero{color:var(--hr-ink)!important;background:radial-gradient(circle at 78% 30%,rgba(43,110,146,.12),transparent 30vw),radial-gradient(circle at 12% 76%,rgba(127,159,139,.13),transparent 32vw),linear-gradient(135deg,var(--hr-canvas),var(--hr-surface-blue) 56%,var(--hr-surface-sage))!important}
.hero::before{opacity:.45!important;filter:blur(20px)!important;background:conic-gradient(from 90deg,rgba(43,110,146,.10),rgba(127,159,139,.11),transparent 47%,rgba(198,126,79,.06),rgba(43,110,146,.10))!important}.hero-name,.hero .display{color:var(--hr-ink)!important}.hero-eyebrow{color:var(--hr-blue-dark)!important}
.hero-photo-showcase{border-color:rgba(43,110,146,.28)!important;background:linear-gradient(145deg,#FFFFFF,#EAF2F6)!important;box-shadow:0 30px 82px rgba(36,59,74,.17)!important}.hero-photo-showcase::before{border-color:rgba(255,255,255,.78)!important}
.inner-hero{color:var(--hr-ink)!important;background:radial-gradient(circle at 86% 24%,rgba(43,110,146,.13),transparent 28vw),radial-gradient(circle at 10% 88%,rgba(198,126,79,.07),transparent 25vw),linear-gradient(135deg,var(--hr-canvas),var(--hr-surface-blue),var(--hr-surface-sage))!important;border-bottom:1px solid var(--hr-line)!important}.inner-hero::before{background:radial-gradient(ellipse at center,transparent 32%,rgba(31,86,117,.04))!important}.editorial-hero-sculpture{color:var(--hr-blue)!important;opacity:.12!important}.editorial-hero-statement{border-color:var(--hr-line)!important}.editorial-hero-statement::before{background:linear-gradient(90deg,var(--hr-blue),var(--hr-sage))!important}.editorial-hero-statement p{color:var(--hr-ink)!important}.editorial-hero-statement p span{color:var(--hr-blue)!important}.editorial-hero-statement small{color:var(--hr-muted)!important}

/* Buttons, pills and links */
.button,.button-light,.button-ghost,.filter,.company-wheel-button-v114,.resume-view-button-v86,.resume-download-button-v86{color:var(--hr-blue-dark)!important;border-color:rgba(43,110,146,.35)!important;background:rgba(255,255,255,.78)!important;box-shadow:0 8px 24px rgba(36,59,74,.07)!important}.button::before,.button-light::before{background:var(--hr-blue)!important}.button:hover,.button:focus-visible,.button-light:hover,.button-light:focus-visible,.button-ghost:hover,.button-ghost:focus-visible,.filter:hover,.filter:focus-visible,.company-wheel-button-v114:hover,.company-wheel-button-v114:focus-visible,.resume-view-button-v86:hover,.resume-download-button-v86:hover{color:#fff!important;border-color:var(--hr-blue)!important;background:var(--hr-blue)!important;box-shadow:0 14px 34px rgba(43,110,146,.18)!important}
.button-sage,.filter.active,.hero-resume-primary-v101{color:#fff!important;border-color:var(--hr-blue)!important;background:linear-gradient(135deg,var(--hr-blue-dark),var(--hr-blue))!important;box-shadow:0 14px 36px rgba(43,110,146,.18)!important}
.hr-pill,.pill,.core-skill-pills-v63 span,.skills-cloud span{color:var(--hr-blue-dark)!important;border-color:rgba(43,110,146,.18)!important;background:rgba(255,255,255,.72)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 10px 24px rgba(36,59,74,.06)!important}.hr-pill:hover,.pill:hover,.core-skill-pills-v63 span:hover{color:#fff!important;border-color:var(--hr-blue)!important;background:var(--hr-blue)!important}.project-arrow{color:var(--hr-blue)!important;border-color:rgba(43,110,146,.25)!important}.project-row:hover .project-arrow{color:#fff!important;background:var(--hr-blue)!important;border-color:var(--hr-blue)!important}

/* Shared cards and surfaces */
.ambient-panel,.skill-card,.impact-card,.resume-card,.contact-card,.profile-strip,.quote-panel,.resume-download-panel,.bio-copy,.portrait-sticky,.case-block,.education-card,.outcome,.tool-group-v63,.workbench-card-v63,.resume-support-card,.section-support-card,.document-card-v63,.about-story-panel,.about-contact-panel-v64,.privacy-card-v97,.digital-card-showcase-v63,.resume-achievements-v92,.company-preview-v78,.organisation-support-card,.contact-form,.startup-modal-card{color:var(--hr-ink)!important;border-color:var(--hr-line)!important;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(246,249,249,.98))!important;box-shadow:var(--hr-shadow)!important}
.skill-card:hover,.impact-card:hover,.resume-card:hover,.contact-card:hover,.resume-download-panel:hover,.quote-panel:hover,.case-block:hover,.tool-group-v63:hover,.document-card-v63:hover,.about-story-panel:hover,.privacy-card-v97:hover{border-color:var(--hr-line-strong)!important;box-shadow:var(--hr-shadow-hover)!important}.skill-card::after,.impact-card::after,.resume-card::after,.contact-card::after{background:radial-gradient(circle,rgba(43,110,146,.08),transparent 70%)!important}
.skill-card ul,.resume-card ul,.impact-card p,.case-block p,.bio-copy p,.quote-panel,.education-card p,.outcome p,.contact-card span,.tool-group-v63 p,.about-story-panel p,.privacy-card-v97 p{color:var(--hr-copy)!important}.quote-panel em,.experience-panel h4{color:var(--hr-warm)!important}.profile-info-card,.profile-info-card.contact-info-card{color:var(--hr-ink)!important;border-color:var(--hr-line)!important;background:rgba(234,242,246,.72)!important}.profile-info-card b,.profile-info-card .info-reveal,.profile-info-card .info-reveal strong{color:var(--hr-ink)!important}.profile-info-card b em{color:#fff!important;border-color:transparent!important;background:linear-gradient(135deg,var(--hr-blue-dark),var(--hr-blue))!important}.cursor-glow-v28__wash{background:radial-gradient(circle at var(--v28-glow-x) var(--v28-glow-y),rgba(43,110,146,.08),transparent 58%)!important}.cursor-glow-v28__edge{background:linear-gradient(120deg,rgba(43,110,146,.18),rgba(127,159,139,.10))!important}

/* Homepage */
.stats-grid{background:linear-gradient(145deg,#FFFFFF,#EEF4F7)!important;border-color:var(--hr-line)!important;box-shadow:var(--hr-shadow)!important}.stat{border-color:var(--hr-line)!important}.stat b,.countup{color:var(--hr-blue)!important}.stat span{color:var(--hr-muted)!important}
.clients-section{background:radial-gradient(circle at 88% 14%,rgba(43,110,146,.07),transparent 30vw),linear-gradient(145deg,var(--hr-surface-blue),var(--hr-canvas))!important}.organisation-section-head .h2,.organisation-section-head .display-serif{color:var(--hr-blue)!important}.organisation-support-card{background:linear-gradient(145deg,#FFFFFF,#EEF4F7)!important}.organisation-support-intro{color:var(--hr-ink)!important}.support-detail-list>div{border-color:var(--hr-line)!important;background:rgba(255,255,255,.82)!important}.support-detail-list dt{color:var(--hr-blue-dark)!important}.support-detail-list dd{color:var(--hr-copy)!important}.support-token-list li{color:var(--hr-ink)!important;border-color:var(--hr-line)!important;background:#fff!important}.support-token-list li::before{background:var(--hr-warm)!important;box-shadow:0 0 0 4px rgba(198,126,79,.12)!important}.organisation-support-card .support-detail-list>div::before{color:#fff!important;background:var(--hr-blue)!important;box-shadow:0 7px 16px rgba(43,110,146,.18)!important}.organisation-company-intro{border-color:var(--hr-line)!important}.organisation-company-intro p{color:var(--hr-blue-dark)!important}.organisation-company-intro span{color:var(--hr-copy)!important}
.company-wheel-guide-v114{color:var(--hr-ink)!important;border-color:rgba(43,110,146,.28)!important;background:radial-gradient(circle at 0 50%,rgba(43,110,146,.08),transparent 38%),linear-gradient(135deg,#FFFFFF,#EAF2F6)!important;box-shadow:var(--hr-shadow)!important}.company-wheel-guide-v114::before{color:#fff!important;border-color:var(--hr-blue)!important;background:var(--hr-blue)!important}.company-wheel-guide-v114__prompt strong{color:var(--hr-blue-dark)!important}.company-wheel-guide-v114__prompt small{color:var(--hr-copy)!important}.company-wheel-gesture-v114{border-color:rgba(43,110,146,.35)!important;background:rgba(43,110,146,.08)!important;box-shadow:0 0 0 4px rgba(43,110,146,.035)!important}.company-wheel-gesture-v114::before,.company-wheel-gesture-v114::after{border-color:var(--hr-blue)!important}.company-wheel-gesture-v114 i{background:var(--hr-blue)!important;box-shadow:0 0 14px rgba(43,110,146,.34)!important}.company-wheel-controls-v114__label{color:var(--hr-muted)!important}.company-wheel-v78 .logo-marquee{box-shadow:none!important}.logo-item.company-card-v78{border-color:rgba(31,86,117,.18)!important;box-shadow:0 12px 34px rgba(36,59,74,.10)!important}.logo-item.company-card-v78:hover,.logo-item.company-card-v78:focus-visible,.logo-item.company-card-v78.is-company-active-v78{border-color:var(--hr-blue)!important;box-shadow:0 16px 42px rgba(36,59,74,.16)!important}.company-preview-v78__eyebrow,.company-preview-v78__role strong{color:var(--hr-blue-dark)!important}.company-preview-v78 h3{color:var(--hr-blue)!important}.company-preview-v78__link{color:var(--hr-blue-dark)!important}.project-row{color:var(--hr-ink)!important;border-color:var(--hr-line)!important;background:rgba(255,255,255,.62)!important}.project-row:hover{background:#fff!important;box-shadow:var(--hr-shadow)!important}

/* Resume */
.document-library-v63,.resume-skills-v63,.experience-section{color:var(--hr-ink)!important;background:radial-gradient(circle at 90% 10%,rgba(43,110,146,.06),transparent 28vw),linear-gradient(145deg,var(--hr-surface-blue),var(--hr-canvas))!important}.document-preview-v63{border-color:var(--hr-line)!important;background:var(--hr-surface-blue)!important}.document-preview-v63 span{color:#fff!important;background:rgba(31,86,117,.88)!important}.resume-choice-v86,.resume-view-emphasis-v86{border-color:var(--hr-line)!important;background:rgba(234,242,246,.76)!important}.experience-index-sticky{color:var(--hr-ink)!important;border-color:var(--hr-line)!important;background:linear-gradient(155deg,#FFFFFF,#EAF2F6)!important;box-shadow:var(--hr-shadow)!important}.experience-index-meter{background:rgba(43,110,146,.10)!important}.experience-index-meter::after{background:linear-gradient(var(--hr-blue),var(--hr-sage))!important}.experience-tab{color:var(--hr-copy)!important;border-color:transparent!important}.experience-tab:hover{color:var(--hr-blue-dark)!important;background:rgba(43,110,146,.07)!important}.experience-tab.is-active{color:#fff!important;background:linear-gradient(90deg,var(--hr-blue-dark),var(--hr-blue))!important;box-shadow:0 10px 28px rgba(43,110,146,.18)!important}.experience-tab.is-active *{color:#fff!important}.experience-panel{color:var(--hr-ink)!important;border-color:var(--hr-line)!important;background:linear-gradient(145deg,#FFFFFF,#F4F8F9)!important;box-shadow:var(--hr-shadow)!important}.experience-panel.is-current{border-color:rgba(43,110,146,.42)!important;background:linear-gradient(145deg,#FFFFFF,#EAF2F6)!important;box-shadow:var(--hr-shadow-hover)!important}.experience-panel time,.experience-panel-eyebrow{color:var(--hr-blue-dark)!important}.experience-panel h3{color:var(--hr-blue)!important}.experience-panel ul{color:var(--hr-copy)!important}.experience-panel li:hover{color:var(--hr-blue-dark)!important}.experience-panel-eyebrow span:first-child{color:#fff!important;background:linear-gradient(135deg,var(--hr-blue-dark),var(--hr-blue))!important}.resume-achievements-v92{background:linear-gradient(145deg,var(--hr-surface-sage),#FFFFFF)!important}

/* Impact, expertise and about */
.metric,.impact-card b,.verification-v63 strong{color:var(--hr-blue)!important}.case-support-card,.support-chip-grid span,.er-flow-v63 span{color:var(--hr-ink)!important;border-color:var(--hr-line)!important;background:rgba(255,255,255,.74)!important}.tool-group-v63 h3,.workbench-card-v63 h3,.resume-tool-summary-v63 h3{color:var(--hr-blue)!important}.tool-group-v63 li,.workbench-card-v63 p,.resume-tool-summary-v63 p{color:var(--hr-copy)!important}
.about-story-section,.about-credentials-v64,.about-skills-v77{color:var(--hr-ink)!important;background:radial-gradient(circle at 88% 12%,rgba(127,159,139,.07),transparent 28vw),linear-gradient(145deg,var(--hr-canvas),var(--hr-surface-blue))!important}.about-portrait-sticky,.about-portrait-frame{border-color:var(--hr-line)!important;background:#fff!important;box-shadow:var(--hr-shadow)!important}.about-portrait-wash{background:linear-gradient(180deg,transparent,rgba(31,86,117,.08))!important}.about-portrait-caption{color:var(--hr-ink)!important}.about-portrait-caption span{color:var(--hr-blue-dark)!important}.about-story-panel.is-active{border-color:rgba(43,110,146,.36)!important;background:linear-gradient(145deg,#FFFFFF,#EAF2F6)!important}.about-story-label{color:var(--hr-blue-dark)!important}.about-chapter-progress{background:rgba(43,110,146,.10)!important}.about-chapter-progress::after{background:var(--hr-blue)!important}.profile-skill-card-v77,.skill-group-v78{border-color:var(--hr-line)!important;background:rgba(255,255,255,.76)!important}.skill-chip-list-v77 li,.skill-chip-list-v78 li,.personal-interest-tags span{color:var(--hr-ink)!important;border-color:var(--hr-line)!important;background:#fff!important}.about-contact-v64{color:var(--hr-ink)!important;background:linear-gradient(145deg,var(--hr-surface-blue),var(--hr-surface-sage))!important}

/* Contact and privacy */
.contact-hero{color:var(--hr-ink)!important;background:radial-gradient(circle at 82% 16%,rgba(43,110,146,.12),transparent 32vw),linear-gradient(145deg,var(--hr-canvas),var(--hr-surface-blue))!important}.contact-hero h1{color:var(--hr-ink)!important}.contact-card span{color:var(--hr-blue-dark)!important}.contact-card strong,.contact-card a{color:var(--hr-ink)!important}.contact-form input,.contact-form textarea{color:var(--hr-ink)!important;border-color:var(--hr-line)!important;background:rgba(255,255,255,.86)!important}.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(66,92,108,.52)!important}.digital-card-section-v63{color:var(--hr-ink)!important;background:linear-gradient(145deg,var(--hr-surface-sage),var(--hr-canvas))!important}.digital-card-person-v63 strong{color:var(--hr-blue)!important}.digital-card-qr-v63 img{background:#fff!important;box-shadow:var(--hr-shadow)!important}
.privacy-page-v97,.privacy-section-v97{color:var(--hr-ink)!important;background:linear-gradient(145deg,var(--hr-canvas),var(--hr-surface-blue))!important}.privacy-summary-v97{color:var(--hr-ink)!important;background:linear-gradient(145deg,var(--hr-surface-blue),var(--hr-surface-sage))!important}.privacy-card-v97 strong,.privacy-card-v97 h2{color:var(--hr-blue)!important}

/* Footer and utilities */
.footer{color:var(--hr-ink)!important;border-top:1px solid var(--hr-line)!important;background:radial-gradient(circle at 82% 18%,rgba(43,110,146,.09),transparent 30vw),linear-gradient(145deg,var(--hr-surface-blue),var(--hr-canvas))!important}.footer-cta,.footer-cta a{color:var(--hr-blue)!important}.footer-links a{color:var(--hr-blue-dark)!important}.footer-bottom{color:var(--hr-muted)!important;border-color:var(--hr-line)!important}.footer-privacy-link-v97{color:var(--hr-blue-dark)!important}
.startup-modal{background:rgba(31,52,68,.28)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}.startup-modal-card{color:var(--hr-ink)!important;border-color:var(--hr-line)!important;background:#fff!important;box-shadow:var(--hr-shadow-deep)!important}.startup-modal-close{color:var(--hr-blue-dark)!important;border-color:var(--hr-line)!important;background:var(--hr-surface-blue)!important}
.contact-nudge-v73__backdrop{background:rgba(31,52,68,.25)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}.contact-nudge-v73__dialog{color:var(--hr-ink)!important;border-color:var(--hr-line)!important;background:linear-gradient(145deg,#FFFFFF,#EEF4F7)!important;box-shadow:var(--hr-shadow-deep)!important}.contact-nudge-v73__dialog::before{border-color:rgba(43,110,146,.06)!important}.contact-nudge-v73__glow{background:radial-gradient(circle,rgba(43,110,146,.12),rgba(127,159,139,.06) 42%,transparent 70%)!important}.contact-nudge-v73__brand{border-color:rgba(43,110,146,.24)!important;background:#fff!important;box-shadow:0 12px 30px rgba(36,59,74,.10)!important}.contact-nudge-v73__brand img{filter:none!important}.contact-nudge-v73__close{border-color:var(--hr-line)!important;background:var(--hr-surface-blue)!important}.contact-nudge-v73__close span{background:var(--hr-blue-dark)!important}.contact-nudge-v73__eyebrow{color:var(--hr-blue-dark)!important}.contact-nudge-v73__copy,.contact-nudge-v73__copy p{color:var(--hr-copy)!important}.contact-nudge-v73__copy p+p{color:var(--hr-ink)!important}.contact-nudge-v73__button{color:var(--hr-blue-dark)!important;border-color:var(--hr-line)!important;background:#fff!important;box-shadow:0 8px 22px rgba(36,59,74,.07)!important}.contact-nudge-v73__button:hover,.contact-nudge-v73__button:focus-visible{color:#fff!important;border-color:var(--hr-blue)!important;background:var(--hr-blue)!important;box-shadow:0 12px 30px rgba(43,110,146,.18)!important}.contact-nudge-v73__button--primary{color:#fff!important;border-color:var(--hr-blue)!important;background:linear-gradient(135deg,var(--hr-blue-dark),var(--hr-blue))!important;box-shadow:0 12px 30px rgba(43,110,146,.20)!important}.contact-nudge-v75__attention-wrap::before{border-color:rgba(43,110,146,.48)!important}
.back-top-v23{color:var(--hr-blue-dark)!important}.back-top-v23__disc{border-color:var(--hr-line)!important;background:rgba(255,255,255,.88)!important;box-shadow:0 12px 34px rgba(36,59,74,.12)!important}.back-top-v23__disc::before{border-color:rgba(43,110,146,.08)!important}.back-top-v23__label{color:var(--hr-blue-dark)!important}.back-top-v23:is(:hover,:focus-visible) .back-top-v23__disc,.back-top-v23.is-at-end .back-top-v23__disc,.back-top-v23.is-clicked .back-top-v23__disc{border-color:var(--hr-blue)!important;background:#fff!important;box-shadow:0 16px 42px rgba(36,59,74,.16)!important}.project-preview{color:var(--hr-ink)!important;border-color:var(--hr-line)!important;background:#fff!important;box-shadow:var(--hr-shadow-deep)!important}.lightbox{background:rgba(31,52,68,.88)!important}.lightbox button{color:#fff!important;border-color:rgba(255,255,255,.42)!important}

@media (max-width:760px){
  .site-header,.site-header.is-scrolled,.page-contact .site-header,.menu-open .site-header{background:rgba(255,253,249,.94)!important}
  .hero-mobile-portrait-v91{border-color:var(--hr-line)!important;background:#fff!important;box-shadow:var(--hr-shadow)!important}
  .experience-tab.is-active{color:#fff!important;background:linear-gradient(90deg,var(--hr-blue-dark),var(--hr-blue))!important}
  body.page-home .organisation-support-card .support-detail-list>div{border-color:var(--hr-line)!important;background:#fff!important;box-shadow:0 12px 30px rgba(36,59,74,.08)!important}
  body.page-home .organisation-support-card .support-detail-list dt{color:var(--hr-blue-dark)!important}
  body.page-home .organisation-support-card .support-detail-list dd{color:var(--hr-ink)!important}
  body.page-home .company-wheel-guide-v114{background:linear-gradient(145deg,#FFFFFF,#EAF2F6)!important}
}

/* ==========================================================
   V118.1 — HIGH-SPECIFICITY BRIGHT THEME COMPLETION
   Overrides legacy late-stage dark selectors that otherwise win through
   specificity, and completes the bright treatment for dense resume/contact
   components.
   ========================================================== */

/* Exact match for the legacy V17.1 specificity rule. */
.section:not(.section-dark),.section-tight:not(.section-dark),.section:nth-of-type(even):not(.section-dark),.section-tight:nth-of-type(even):not(.section-dark){
  color:var(--hr-ink)!important;
  background:
    radial-gradient(circle at 88% 12%,rgba(43,110,146,.055),transparent 28vw),
    radial-gradient(circle at 10% 88%,rgba(198,126,79,.045),transparent 25vw),
    linear-gradient(145deg,var(--hr-surface),var(--hr-canvas) 60%,var(--hr-surface-blue))!important;
}
.section:nth-of-type(even):not(.section-dark),.section-tight:nth-of-type(even):not(.section-dark){
  background:
    radial-gradient(circle at 10% 86%,rgba(127,159,139,.075),transparent 28vw),
    radial-gradient(circle at 90% 12%,rgba(43,110,146,.065),transparent 28vw),
    linear-gradient(145deg,var(--hr-surface-blue),var(--hr-canvas) 62%,var(--hr-surface-sage))!important;
}
.section:not(.section-dark)::after,.section-tight:not(.section-dark)::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  opacity:0!important;
  background:none!important;
}

/* Resume cards, skills and outcome areas. */
.core-skills-v63,.resume-tool-summary-v63,.notable-achievements-v63,.workbench-card-v63,.digital-card-showcase-v63{
  color:var(--hr-ink)!important;
  border-color:var(--hr-line)!important;
  background:linear-gradient(145deg,#FFFFFF,#EEF4F7)!important;
  box-shadow:var(--hr-shadow)!important;
}
.core-skills-v63 h2,.resume-tool-summary-v63 h3,.notable-achievements-head-v63 h2,.digital-card-copy-v63 h2{
  color:var(--hr-blue)!important;
}
.resume-tool-summary-v63 dl div{
  border-color:var(--hr-line)!important;
}
.resume-tool-summary-v63 dt{
  color:var(--hr-blue-dark)!important;
}
.resume-tool-summary-v63 dd{
  color:var(--hr-copy)!important;
}
.achievement-grid-v63{
  gap:1px!important;
  border-color:var(--hr-line)!important;
  background:var(--hr-line)!important;
}
.achievement-grid-v63 article{
  color:var(--hr-ink)!important;
  background:#FFFFFF!important;
}
.achievement-grid-v63 strong{
  color:var(--hr-blue)!important;
}
.achievement-grid-v63 span{
  color:var(--hr-copy)!important;
}

/* Expertise process visuals. */
.workbench-visual-v63{
  border:1px solid var(--hr-line)!important;
  background:
    radial-gradient(circle at 20% 20%,rgba(43,110,146,.10),transparent 34%),
    radial-gradient(circle at 78% 82%,rgba(127,159,139,.11),transparent 35%),
    linear-gradient(145deg,#FFFFFF,#EAF2F6)!important;
}
.records-map-v63 span{
  border-color:var(--hr-line)!important;
  background:linear-gradient(180deg,#FFFFFF,#EAF2F6)!important;
  box-shadow:0 18px 36px rgba(36,59,74,.11)!important;
}
.tool-group-v63 i{
  color:var(--hr-blue-dark)!important;
  border-color:var(--hr-line)!important;
  background:#FFFFFF!important;
  box-shadow:0 8px 20px rgba(36,59,74,.06)!important;
}

/* Complete HiHello / digital-card conversion. */
.digital-card-visual-v63{
  color:var(--hr-ink)!important;
  border-color:var(--hr-line)!important;
  background:
    radial-gradient(circle at 82% 8%,rgba(43,110,146,.12),transparent 31%),
    radial-gradient(circle at 16% 86%,rgba(127,159,139,.15),transparent 35%),
    linear-gradient(145deg,#FFFFFF,#EAF2F6)!important;
  box-shadow:0 24px 60px rgba(36,59,74,.13),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.digital-card-top-v63 span,.digital-card-person-v63 small,.digital-card-details-v63,.digital-card-qr-v63 small{
  color:var(--hr-muted)!important;
}
.digital-card-person-v63 strong{
  color:var(--hr-blue)!important;
}
.digital-card-person-v63>img{
  border-color:rgba(43,110,146,.24)!important;
  box-shadow:0 10px 26px rgba(36,59,74,.10)!important;
}
.digital-card-qr-v63{
  border-color:var(--hr-line)!important;
}
.digital-card-qr-v63 img{
  background:#FFFFFF!important;
  box-shadow:0 12px 30px rgba(36,59,74,.10)!important;
}

/* Mobile late-stage dark component overrides. */
@media (max-width:760px){
  .project-row{
    background:rgba(255,255,255,.76)!important;
  }
  .experience-index{
    background:linear-gradient(180deg,rgba(255,253,249,.98),rgba(234,242,246,.95),transparent)!important;
  }
  .experience-panel{
    background:linear-gradient(145deg,#FFFFFF,#EEF4F7)!important;
  }
}

/* V118.2 — stronger homepage name contrast */
body.page-home .hero-name .display-serif{
  color:var(--hr-blue)!important;
}
/* ==========================================================
   V119 — REFINED LIGHT HR SYSTEM
   Restores contrast, hierarchy, depth and personality across the bright theme.
   The palette uses layered off-whites, HR blues and restrained sage. Gold and
   orange interface accents are removed; company logos retain brand colours.
   ========================================================== */
:root{
  --hr-canvas:#F2F5F6!important;
  --hr-canvas-2:#ECEFF0!important;
  --hr-surface:#F9FBFC!important;
  --hr-surface-strong:#FFFFFF!important;
  --hr-surface-blue:#E5EEF3!important;
  --hr-surface-blue-2:#D6E5EC!important;
  --hr-surface-sage:#E7EEEA!important;
  --hr-ink:#203746!important;
  --hr-ink-strong:#153247!important;
  --hr-copy:#486372!important;
  --hr-muted:#6A808D!important;
  --hr-blue:#236A91!important;
  --hr-blue-dark:#174F70!important;
  --hr-blue-bright:#3A82A5!important;
  --hr-blue-soft:#CFE1EA!important;
  --hr-sage:#718F80!important;
  --hr-sage-dark:#587565!important;
  --hr-warm:#3A82A5!important;
  --hr-warm-soft:#DCEAF0!important;
  --hr-line:rgba(23,79,112,.23)!important;
  --hr-line-strong:rgba(23,79,112,.42)!important;
  --hr-shadow:0 15px 42px rgba(28,57,75,.13),0 2px 8px rgba(28,57,75,.05)!important;
  --hr-shadow-hover:0 24px 62px rgba(28,57,75,.18),0 5px 14px rgba(28,57,75,.07)!important;
  --hr-shadow-deep:0 34px 90px rgba(28,57,75,.22),0 8px 24px rgba(28,57,75,.08)!important;
  --heritage-gold:var(--hr-blue)!important;
  --amber-gold:var(--hr-blue-dark)!important;
  --terracotta:var(--hr-blue-bright)!important;
  --terracotta-accent:var(--hr-blue-bright)!important;
  --amber:var(--hr-blue-dark)!important;
  --champagne:var(--hr-surface-blue-2)!important;
  --champagne-bright:var(--hr-surface)!important;
  --gold-sage-gradient:linear-gradient(105deg,var(--hr-blue-dark),var(--hr-blue),var(--hr-sage))!important;
  --gold-reflection-gradient:linear-gradient(110deg,var(--hr-blue-dark),var(--hr-blue) 55%,var(--hr-sage))!important;
  --ui-border:var(--hr-line)!important;
  --ui-border-hover:var(--hr-line-strong)!important;
  --ui-shadow:var(--hr-shadow)!important;
}

html,body{background:#F2F5F6!important;color:var(--hr-ink)!important}
body{
  background:
    radial-gradient(circle at 88% 12%,rgba(35,106,145,.12),transparent 31vw),
    radial-gradient(circle at 11% 82%,rgba(113,143,128,.10),transparent 28vw),
    linear-gradient(145deg,#F5F3EE 0%,#EDF3F6 52%,#F2F5F3 100%)!important;
}
body::before{opacity:.55!important;background:radial-gradient(520px circle at var(--cursor-x) var(--cursor-y),rgba(35,106,145,.095),transparent 68%)!important}
body::after{opacity:.10!important;background-image:radial-gradient(rgba(23,79,112,.34) .55px,transparent .7px)!important}

/* Layered page sections: bright, but not flat or pure white. */
.section:not(.section-dark),.section-tight:not(.section-dark),.section-light,.document-library-v63,.resume-skills-v63,.experience-section,.about-story-section,.about-credentials-v64,.about-skills-v77,.digital-card-section-v63,.privacy-section-v97{
  color:var(--hr-ink)!important;
  border-top:1px solid rgba(23,79,112,.08)!important;
  border-bottom:1px solid rgba(23,79,112,.08)!important;
  background:
    radial-gradient(circle at 88% 12%,rgba(35,106,145,.08),transparent 27vw),
    radial-gradient(circle at 10% 88%,rgba(113,143,128,.065),transparent 26vw),
    linear-gradient(145deg,rgba(249,251,252,.94),rgba(230,239,243,.92) 62%,rgba(242,245,243,.94))!important;
  -webkit-backdrop-filter:blur(10px) saturate(108%)!important;
  backdrop-filter:blur(10px) saturate(108%)!important;
}
.section:nth-of-type(even):not(.section-dark),.section-tight:nth-of-type(even):not(.section-dark){
  background:
    radial-gradient(circle at 12% 16%,rgba(113,143,128,.085),transparent 26vw),
    radial-gradient(circle at 90% 84%,rgba(35,106,145,.075),transparent 28vw),
    linear-gradient(145deg,rgba(229,238,243,.94),rgba(247,249,249,.93) 58%,rgba(231,239,235,.94))!important;
}
.section-dark,.clients-section,.contact-hero,.footer{
  color:var(--hr-ink)!important;
  border-color:rgba(23,79,112,.12)!important;
  background:
    radial-gradient(circle at 82% 12%,rgba(35,106,145,.13),transparent 30vw),
    radial-gradient(circle at 10% 86%,rgba(113,143,128,.10),transparent 28vw),
    linear-gradient(145deg,rgba(216,230,237,.96),rgba(244,247,248,.95) 58%,rgba(226,237,232,.96))!important;
}

/* Stronger surface hierarchy and depth. */
.ambient-panel,.skill-card,.impact-card,.resume-card,.contact-card,.profile-strip,.quote-panel,.resume-download-panel,.bio-copy,.portrait-sticky,.case-block,.education-card,.outcome,.tool-group-v63,.workbench-card-v63,.resume-support-card,.section-support-card,.document-card-v63,.about-story-panel,.about-contact-panel-v64,.privacy-card-v97,.digital-card-showcase-v63,.resume-achievements-v92,.company-preview-v78,.organisation-support-card,.contact-form,.startup-modal-card,.core-skills-v63,.resume-tool-summary-v63,.notable-achievements-v63,.workbench-visual-v63,.digital-card-visual-v63,.experience-index-sticky,.experience-panel{
  color:var(--hr-ink)!important;
  border:1px solid var(--hr-line)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(35,106,145,.075),transparent 38%),
    linear-gradient(150deg,#FCFDFD 0%,#EDF3F6 100%)!important;
  box-shadow:var(--hr-shadow)!important;
}
.skill-card:hover,.impact-card:hover,.resume-card:hover,.contact-card:hover,.resume-download-panel:hover,.quote-panel:hover,.case-block:hover,.tool-group-v63:hover,.document-card-v63:hover,.about-story-panel:hover,.privacy-card-v97:hover,.experience-panel.is-current{
  border-color:var(--hr-line-strong)!important;
  box-shadow:var(--hr-shadow-hover)!important;
}

/* Typography: blue carries importance; no gold editorial copy. */
.h2,.section-head .h2,.editorial-hero-title,.experience-section-head .h2,.document-library-head-v63 h2,.core-skills-v63 h2,.notable-achievements-head-v63 h2,.about-contact-copy-v64 h2,.digital-card-copy-v63 h2,.privacy-card-v97 h2,.contact-nudge-v73 h2,.organisation-section-head .h2,body.page-home .organisation-section-head .h2,body.page-home .organisation-section-head .display-serif,body.page-home .organisation-title-line,.editorial-hero-title em,.experience-panel h4,.quote-panel em{
  color:var(--hr-blue)!important;
  -webkit-text-fill-color:currentColor!important;
  background:none!important;
  text-shadow:none!important;
}
body.page-home .organisation-section-head .display-serif{color:var(--hr-blue-dark)!important}
.kicker,.support-label,.project-index,.project-meta,.breadcrumb{color:var(--hr-blue-dark)!important}
p,li,.lead,.muted,.small{color:var(--hr-copy)!important}

/* Buttons: a visible primary and a visible secondary system. */
.button::before,.button-light::before,.button-sage::before{display:none!important}
.button,.button-light,.button-ghost,.filter,.resume-view-button-v86,.resume-download-button-v86{
  color:var(--hr-blue-dark)!important;
  border:1px solid rgba(23,79,112,.34)!important;
  background:linear-gradient(145deg,#F9FBFC,#DCE9EF)!important;
  box-shadow:0 10px 26px rgba(28,57,75,.12),inset 0 1px 0 rgba(255,255,255,.94)!important;
  overflow:hidden!important;
}
.button:hover,.button:focus-visible,.button-light:hover,.button-light:focus-visible,.button-ghost:hover,.button-ghost:focus-visible,.filter:hover,.filter:focus-visible{
  color:#fff!important;
  border-color:var(--hr-blue)!important;
  background:linear-gradient(135deg,var(--hr-blue-dark),var(--hr-blue))!important;
  box-shadow:0 16px 38px rgba(23,79,112,.24)!important;
}
.button-sage,.filter.active,.hero-resume-primary-v101,.contact-nudge-v73__button--primary{
  color:#fff!important;
  border-color:var(--hr-blue-dark)!important;
  background:linear-gradient(135deg,var(--hr-blue-dark),var(--hr-blue))!important;
  box-shadow:0 14px 34px rgba(23,79,112,.25),inset 0 1px 0 rgba(255,255,255,.15)!important;
}
body.page-home .hero-resume-primary-v101{color:#fff!important}
body.page-home .hero-resume-secondary-v101{
  color:var(--hr-blue-dark)!important;
  border-color:rgba(23,79,112,.34)!important;
  background:linear-gradient(145deg,#F8FAFB,#D7E5EC)!important;
  box-shadow:0 12px 30px rgba(28,57,75,.14),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
body.page-home .hero-resume-secondary-v101:hover{color:#fff!important;background:linear-gradient(135deg,var(--hr-blue),var(--hr-blue-dark))!important}

/* Pills now read as purposeful filters rather than white cut-outs. */
.hr-pill,.pill,.core-skill-pills-v63 span,.skills-cloud span,.filter{
  color:var(--hr-blue-dark)!important;
  border:1px solid rgba(23,79,112,.24)!important;
  background:linear-gradient(145deg,rgba(248,251,252,.98),rgba(216,230,237,.94))!important;
  box-shadow:0 8px 20px rgba(28,57,75,.10),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.hr-pill:hover,.pill:hover,.core-skill-pills-v63 span:hover,.skills-cloud span:hover{
  color:#fff!important;background:var(--hr-blue)!important;border-color:var(--hr-blue)!important;
}

/* Statistics: individual raised tiles with visible frames. */
body.page-home .stats-grid{
  gap:16px!important;
  padding:0!important;
  border:0!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.page-home .stat{
  min-height:190px!important;
  padding:30px 28px 27px!important;
  border:1px solid var(--hr-line)!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(35,106,145,.10),transparent 42%),
    linear-gradient(150deg,#FCFDFD,#E7F0F4)!important;
  box-shadow:0 18px 44px rgba(28,57,75,.14),inset 0 1px 0 rgba(255,255,255,.96)!important;
}
body.page-home .stat:last-child{border-right:1px solid var(--hr-line)!important}
body.page-home .stat::before{
  inset:auto 28px 22px 28px!important;
  width:auto!important;height:2px!important;
  background:linear-gradient(90deg,var(--hr-blue),var(--hr-sage),transparent)!important;
  transform:scaleX(.55)!important;transform-origin:left!important;
}
body.page-home .stat b{color:var(--hr-blue)!important;text-shadow:0 6px 18px rgba(35,106,145,.10)!important}
body.page-home .stat span{color:var(--hr-muted)!important}

/* HR/APAC summary: clear layered card and real chips; remove orange bars. */
body.page-home .organisation-support-card{
  border-color:rgba(23,79,112,.28)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(35,106,145,.10),transparent 40%),
    linear-gradient(150deg,#F7FAFB,#DCE9EF)!important;
  box-shadow:0 24px 58px rgba(28,57,75,.16),inset 0 1px 0 rgba(255,255,255,.96)!important;
}
body.page-home .organisation-support-intro{color:var(--hr-copy)!important}
body.page-home .support-detail-list{gap:11px!important;margin-top:24px!important}
body.page-home .support-detail-list>div{
  padding:15px 16px!important;
  border:1px solid rgba(23,79,112,.18)!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(231,240,244,.88))!important;
  box-shadow:0 8px 20px rgba(28,57,75,.08),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
body.page-home .support-detail-list dt{color:var(--hr-blue-dark)!important}
body.page-home .support-detail-list dd{color:var(--hr-copy)!important}
body.page-home .support-token-list{display:flex!important;flex-wrap:wrap!important;gap:7px!important}
body.page-home .support-token-list li{
  display:inline-flex!important;align-items:center!important;
  min-height:30px!important;padding:5px 10px!important;
  color:var(--hr-blue-dark)!important;
  border:1px solid rgba(23,79,112,.20)!important;
  border-radius:999px!important;
  background:linear-gradient(145deg,#F9FBFC,#DCE9EF)!important;
  box-shadow:0 5px 12px rgba(28,57,75,.07)!important;
}
body.page-home .support-token-list li::before{display:none!important;content:none!important}

/* Carousel instructions and preview: clear, dimensional, and readable. */
body.page-home .company-wheel-guide-v114{
  border-color:rgba(23,79,112,.28)!important;
  background:linear-gradient(145deg,#F8FAFB,#D9E7ED)!important;
  box-shadow:0 16px 40px rgba(28,57,75,.13),inset 0 1px 0 rgba(255,255,255,.96)!important;
}
body.page-home .company-wheel-guide-v114::before{color:#fff!important;background:var(--hr-blue-dark)!important;border-color:var(--hr-blue-dark)!important}
body.page-home .company-wheel-guide-v114__prompt strong{color:var(--hr-blue-dark)!important}
body.page-home .company-wheel-guide-v114__prompt small{color:var(--hr-copy)!important}
body.page-home .company-wheel-gesture-v114{border-color:rgba(23,79,112,.34)!important;background:rgba(35,106,145,.11)!important}
body.page-home .company-wheel-gesture-v114 i{background:var(--hr-blue)!important;box-shadow:0 0 14px rgba(35,106,145,.36)!important}
body.page-home .company-wheel-button-v114{
  color:var(--hr-blue-dark)!important;border-color:rgba(23,79,112,.28)!important;
  background:linear-gradient(145deg,#FCFDFD,#DCE9EF)!important;
  box-shadow:0 8px 18px rgba(28,57,75,.11)!important;
}
body.page-home .company-wheel-button-v114:hover{color:#fff!important;background:var(--hr-blue)!important}
body.page-home .company-card-hint-v78{
  color:#fff!important;
  background:rgba(23,79,112,.92)!important;
  border:1px solid rgba(255,255,255,.26)!important;
  box-shadow:0 7px 18px rgba(15,48,67,.22)!important;
}
body.page-home .company-preview-v78{
  border-color:rgba(23,79,112,.28)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(35,106,145,.10),transparent 42%),
    linear-gradient(145deg,#F9FBFC,#DDEAF0)!important;
  box-shadow:0 22px 54px rgba(28,57,75,.16),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
body.page-home .company-preview-v78__eyebrow,body.page-home .company-preview-v78__role strong{color:var(--hr-blue-dark)!important}
body.page-home .company-preview-v78 h3{color:var(--hr-blue)!important}
body.page-home .company-preview-v78 p,body.page-home .company-preview-v78__role,body.page-home .company-preview-v78__role span{color:var(--hr-copy)!important}
body.page-home .company-preview-v78__link{
  color:#fff!important;
  border-color:var(--hr-blue-dark)!important;
  background:linear-gradient(135deg,var(--hr-blue-dark),var(--hr-blue))!important;
  box-shadow:0 12px 28px rgba(23,79,112,.23)!important;
}
body.page-home .company-preview-v78__link:hover{background:linear-gradient(135deg,var(--hr-blue),var(--hr-blue-bright))!important}

/* Resume index and career cards: remove leftover white/gold text. */
.experience-index-sticky{
  background:linear-gradient(155deg,#F8FAFB,#DCE9EF)!important;
  box-shadow:0 20px 48px rgba(28,57,75,.14),inset 0 1px 0 rgba(255,255,255,.96)!important;
}
.experience-tab{color:var(--hr-copy)!important}
.experience-tab:not(.is-active) strong{color:var(--hr-ink)!important}
.experience-tab:not(.is-active) small{color:var(--hr-muted)!important}
.experience-tab:not(.is-active) .experience-tab-number{color:var(--hr-blue)!important}
.experience-tab:not(.is-active) .experience-tab-indicator{background:rgba(23,79,112,.18)!important}
.experience-tab.is-active{
  color:#fff!important;
  background:linear-gradient(90deg,var(--hr-blue-dark),var(--hr-blue))!important;
  box-shadow:0 11px 26px rgba(23,79,112,.22)!important;
}
.experience-tab.is-active strong,.experience-tab.is-active small,.experience-tab.is-active .experience-tab-number{color:#fff!important}
.experience-tab.is-active .experience-tab-indicator{background:#fff!important;box-shadow:0 0 14px rgba(255,255,255,.46)!important}
.experience-index-meter{background:rgba(23,79,112,.14)!important}
.experience-index-meter span{background:linear-gradient(90deg,var(--hr-blue-dark),var(--hr-blue),var(--hr-sage))!important;box-shadow:none!important}
.experience-panel h4{color:var(--hr-blue-bright)!important}
.experience-panel li::before{background:linear-gradient(135deg,var(--hr-blue),var(--hr-sage))!important;box-shadow:0 0 0 4px rgba(35,106,145,.10)!important}
.experience-panel::before{background:linear-gradient(115deg,transparent 0 45%,rgba(35,106,145,.11) 52%,transparent 59%)!important}

/* Supporting cards, forms and tables receive visible contrast. */
.resume-choice-v86,.resume-view-emphasis-v86,.profile-info-card,.profile-skill-card-v77,.skill-group-v78,.support-chip-grid span,.case-support-card,.er-flow-v63 span,.skill-chip-list-v77 li,.skill-chip-list-v78 li,.personal-interest-tags span{
  color:var(--hr-ink)!important;
  border:1px solid rgba(23,79,112,.20)!important;
  background:linear-gradient(145deg,#F9FBFC,#E1EBF0)!important;
  box-shadow:0 9px 24px rgba(28,57,75,.09),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.contact-form input,.contact-form textarea{
  color:var(--hr-ink)!important;
  border:1px solid rgba(23,79,112,.26)!important;
  background:linear-gradient(145deg,#FCFDFD,#EAF1F4)!important;
  box-shadow:inset 0 1px 2px rgba(28,57,75,.05),0 7px 18px rgba(28,57,75,.07)!important;
}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--hr-blue)!important;box-shadow:0 0 0 4px rgba(35,106,145,.12),0 10px 24px rgba(28,57,75,.10)!important}

/* Remove remaining gold/orange decorative interface traces. */
.records-map-v63 i,.editorial-hero-statement::before,.rule::after,.project-row::before{
  background:linear-gradient(90deg,var(--hr-blue-dark),var(--hr-blue),var(--hr-sage))!important;
  box-shadow:none!important;
}
.tool-group-v63::after,.experience-panel::after,.skill-card::after,.impact-card::after,.resume-card::after,.contact-card::after{
  background:radial-gradient(circle,rgba(35,106,145,.11),transparent 70%)!important;
}

/* Blobby: visible again on the light canvas, with blue/sage glass depth. */













/* Popups, navigation and footer use the same raised light system. */
.site-header,.site-header.is-scrolled,.page-contact .site-header,.menu-open .site-header{
  background:rgba(247,250,251,.90)!important;
  border-bottom:1px solid rgba(23,79,112,.18)!important;
  box-shadow:0 10px 34px rgba(28,57,75,.11)!important;
}
.menu-overlay{background:radial-gradient(circle at 80% 12%,rgba(35,106,145,.15),transparent 31vw),linear-gradient(145deg,#F6F8F8,#DFEAF0)!important}
.contact-nudge-v73__dialog,.startup-modal-card{
  border-color:rgba(23,79,112,.30)!important;
  background:linear-gradient(145deg,#FAFCFD,#DCE9EF)!important;
  box-shadow:0 36px 96px rgba(28,57,75,.25),inset 0 1px 0 rgba(255,255,255,.96)!important;
}
.back-top-v23__disc{border-color:rgba(23,79,112,.28)!important;background:linear-gradient(145deg,#FAFCFD,#DCE9EF)!important;box-shadow:0 13px 34px rgba(28,57,75,.14)!important}
.footer{box-shadow:inset 0 1px 0 rgba(255,255,255,.70)!important}

@media (max-width:760px){
  body.page-home .stats-grid{gap:12px!important}
  body.page-home .stat{min-height:150px!important;padding:25px 23px 23px!important}
  body.page-home .support-detail-list>div{grid-template-columns:1fr!important;gap:8px!important}
  body.page-home .organisation-support-card{background:linear-gradient(150deg,#F8FAFB,#DCE9EF)!important}
  .experience-index{background:linear-gradient(180deg,rgba(247,250,251,.98),rgba(222,234,240,.96),transparent)!important}
  
}
/* V119.1 — final specificity and list-depth corrections */
body.page-home .hero-resume-primary-v101{
  color:#fff!important;
  border-color:var(--hr-blue-dark)!important;
  background:linear-gradient(135deg,var(--hr-blue-dark),var(--hr-blue))!important;
  box-shadow:0 15px 36px rgba(23,79,112,.26),inset 0 1px 0 rgba(255,255,255,.16)!important;
}
body.page-home .hero-resume-primary-v101:hover,body.page-home .hero-resume-primary-v101:focus-visible{
  color:#fff!important;
  border-color:var(--hr-blue)!important;
  background:linear-gradient(135deg,var(--hr-blue),var(--hr-blue-bright))!important;
  box-shadow:0 19px 46px rgba(23,79,112,.30),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
body.page-home .hero-resume-actions-v101 .button:focus-visible{outline-color:rgba(35,106,145,.48)!important}
body.page-home .project-list{display:grid!important;gap:12px!important;border:0!important}
body.page-home .project-row{
  border:1px solid rgba(23,79,112,.18)!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,rgba(249,251,252,.94),rgba(225,235,240,.90))!important;
  box-shadow:0 10px 28px rgba(28,57,75,.09),inset 0 1px 0 rgba(255,255,255,.92)!important;
}
body.page-home .project-row:hover{
  border-color:rgba(23,79,112,.34)!important;
  background:linear-gradient(145deg,#FCFDFD,#DCE9EF)!important;
  box-shadow:0 18px 44px rgba(28,57,75,.14)!important;
}
/* V119.2 — visible ambient character and translucent light layers */
body.page-home .hero{
  background:
    radial-gradient(circle at 78% 30%,rgba(35,106,145,.13),transparent 30vw),
    radial-gradient(circle at 12% 76%,rgba(113,143,128,.12),transparent 32vw),
    linear-gradient(135deg,rgba(243,247,249,.86),rgba(220,233,239,.84) 56%,rgba(232,239,235,.86))!important;
  -webkit-backdrop-filter:blur(7px) saturate(108%)!important;
  backdrop-filter:blur(7px) saturate(108%)!important;
}
.section:not(.section-dark),.section-tight:not(.section-dark),.section-light{
  background:
    radial-gradient(circle at 88% 12%,rgba(35,106,145,.08),transparent 27vw),
    radial-gradient(circle at 10% 88%,rgba(113,143,128,.065),transparent 26vw),
    linear-gradient(145deg,rgba(249,251,252,.88),rgba(230,239,243,.86) 62%,rgba(242,245,243,.88))!important;
}
.section-dark,.clients-section,.contact-hero,.footer{
  background:
    radial-gradient(circle at 82% 12%,rgba(35,106,145,.13),transparent 30vw),
    radial-gradient(circle at 10% 86%,rgba(113,143,128,.10),transparent 28vw),
    linear-gradient(145deg,rgba(216,230,237,.90),rgba(244,247,248,.88) 58%,rgba(226,237,232,.90))!important;
}



/* V119.3 — ensure Blobby remains visibly present on desktop */

/* V119.4 — balance Blobby visibility without obscuring content */


/* ==========================================================
   V120 — MUTED, DIMENSIONAL LIGHT HR SYSTEM
   A soft blue-grey and stone foundation replaces stark white. The system
   restores editorial depth, stronger surfaces and complete text contrast.
   ========================================================== */
:root{
  --hr-canvas:#DCE4E6!important;
  --hr-canvas-2:#D1DCDF!important;
  --hr-surface:#E7ECEE!important;
  --hr-surface-strong:#EEF2F2!important;
  --hr-surface-blue:#C9DCE3!important;
  --hr-surface-blue-2:#B6CED8!important;
  --hr-surface-sage:#D0DDD7!important;
  --hr-stone:#E1DED6!important;
  --hr-stone-deep:#D2D0C8!important;
  --hr-ink:#1C3444!important;
  --hr-ink-strong:#102D40!important;
  --hr-copy:#3D5968!important;
  --hr-muted:#5D7683!important;
  --hr-blue:#1F668C!important;
  --hr-blue-dark:#124A6B!important;
  --hr-blue-bright:#3B82A3!important;
  --hr-blue-soft:#BDD4DE!important;
  --hr-sage:#6D8C7B!important;
  --hr-sage-dark:#506F60!important;
  --hr-line:rgba(18,74,107,.29)!important;
  --hr-line-strong:rgba(18,74,107,.47)!important;
  --hr-shadow:
    0 18px 42px rgba(24,48,62,.18),
    0 5px 14px rgba(24,48,62,.08),
    inset 0 1px 0 rgba(255,255,255,.68)!important;
  --hr-shadow-hover:
    0 28px 66px rgba(24,48,62,.23),
    0 8px 20px rgba(24,48,62,.10),
    inset 0 1px 0 rgba(255,255,255,.72)!important;
  --hr-shadow-deep:
    0 38px 100px rgba(24,48,62,.28),
    0 10px 26px rgba(24,48,62,.12),
    inset 0 1px 0 rgba(255,255,255,.72)!important;

  --heritage-gold:var(--hr-blue)!important;
  --amber-gold:var(--hr-blue-dark)!important;
  --terracotta:var(--hr-blue-bright)!important;
  --terracotta-accent:var(--hr-blue-bright)!important;
  --amber:var(--hr-blue-dark)!important;
  --champagne:var(--hr-blue-soft)!important;
  --champagne-bright:var(--hr-surface)!important;
  --parchment:var(--hr-ink)!important;
  --soft-sage:var(--hr-copy)!important;
  --mist-sage:var(--hr-blue-bright)!important;
  --forest-ink:var(--hr-canvas)!important;
  --deep-panel:var(--hr-surface)!important;
  --deep-panel-2:var(--hr-surface-blue)!important;
  --gold-sage-gradient:
    linear-gradient(105deg,var(--hr-blue-dark),var(--hr-blue),var(--hr-sage))!important;
  --gold-reflection-gradient:
    linear-gradient(110deg,var(--hr-blue-dark),var(--hr-blue) 54%,var(--hr-sage))!important;
  --ui-border:var(--hr-line)!important;
  --ui-border-hover:var(--hr-line-strong)!important;
  --ui-shadow:var(--hr-shadow)!important;
  color-scheme:light!important;
}

html{
  background:var(--hr-canvas)!important;
  color-scheme:light!important;
}
body{
  color:var(--hr-ink)!important;
  background:
    radial-gradient(circle at 88% 10%,rgba(31,102,140,.18),transparent 33vw),
    radial-gradient(circle at 10% 82%,rgba(109,140,123,.16),transparent 30vw),
    radial-gradient(circle at 48% 42%,rgba(225,222,214,.52),transparent 38vw),
    linear-gradient(145deg,#D9E1E3 0%,#E3E4DE 43%,#CFDEE3 72%,#D8E2DE 100%)!important;
  background-attachment:fixed!important;
}
body::before{
  opacity:.72!important;
  background:
    radial-gradient(
      560px circle at var(--cursor-x) var(--cursor-y),
      rgba(31,102,140,.13),
      transparent 68%
    )!important;
}
body::after{
  opacity:.16!important;
  background-image:
    radial-gradient(rgba(18,74,107,.38) .55px,transparent .72px)!important;
  background-size:10px 10px!important;
}

/* Layered sections: no pure-white page fields. */
.section:not(.section-dark),.section-tight:not(.section-dark),.section-light,.document-library-v63,.resume-skills-v63,.experience-section,.about-story-section,.about-credentials-v64,.about-skills-v77,.digital-card-section-v63,.privacy-section-v97{
  color:var(--hr-ink)!important;
  border-top:1px solid rgba(18,74,107,.13)!important;
  border-bottom:1px solid rgba(18,74,107,.13)!important;
  background:
    radial-gradient(circle at 90% 10%,rgba(31,102,140,.12),transparent 28vw),
    radial-gradient(circle at 8% 90%,rgba(109,140,123,.10),transparent 26vw),
    linear-gradient(145deg,#E4E9EA 0%,#D6E2E6 58%,#E0E5E1 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.44),
    inset 0 -1px 0 rgba(18,74,107,.07)!important;
}
.section:nth-of-type(even):not(.section-dark),.section-tight:nth-of-type(even):not(.section-dark){
  background:
    radial-gradient(circle at 12% 16%,rgba(109,140,123,.13),transparent 28vw),
    radial-gradient(circle at 90% 84%,rgba(31,102,140,.11),transparent 30vw),
    linear-gradient(145deg,#CEDDE2 0%,#E0E5E3 55%,#D2DFDA 100%)!important;
}
.section-dark,.clients-section,.contact-hero,.footer{
  color:var(--hr-ink)!important;
  border-color:rgba(18,74,107,.16)!important;
  background:
    radial-gradient(circle at 82% 12%,rgba(31,102,140,.18),transparent 31vw),
    radial-gradient(circle at 10% 86%,rgba(109,140,123,.14),transparent 29vw),
    linear-gradient(145deg,#C9DCE3 0%,#DFE5E4 58%,#CCDCD5 100%)!important;
}

/* Header and navigation remain light, but now have material separation. */
.site-header,.site-header.is-scrolled,.page-contact .site-header,.menu-open .site-header{
  color:var(--hr-ink)!important;
  background:rgba(226,233,234,.92)!important;
  border-bottom:1px solid rgba(18,74,107,.23)!important;
  box-shadow:
    0 12px 36px rgba(24,48,62,.16),
    inset 0 1px 0 rgba(255,255,255,.55)!important;
  -webkit-backdrop-filter:blur(18px) saturate(112%)!important;
  backdrop-filter:blur(18px) saturate(112%)!important;
}
.brand,.menu-toggle{
  background:linear-gradient(145deg,#EBEFEF,#CCDCE2)!important;
  border-color:rgba(18,74,107,.32)!important;
  box-shadow:
    0 8px 22px rgba(24,48,62,.14),
    inset 0 1px 0 rgba(255,255,255,.72)!important;
}
.desktop-nav a,.menu-toggle{
  color:var(--hr-blue-dark)!important;
}
.desktop-nav a::after{background:var(--hr-blue)!important}
.menu-overlay{
  background:
    radial-gradient(circle at 80% 12%,rgba(31,102,140,.22),transparent 32vw),
    linear-gradient(145deg,#D9E3E5,#C7D9E0 58%,#D1DDD7)!important;
}

/* Heroes have a richer mist-and-stone atmosphere. */
.hero,.inner-hero,.contact-hero{
  color:var(--hr-ink)!important;
  background:
    radial-gradient(circle at 82% 16%,rgba(31,102,140,.20),transparent 31vw),
    radial-gradient(circle at 10% 86%,rgba(109,140,123,.16),transparent 29vw),
    radial-gradient(circle at 50% 34%,rgba(225,222,214,.55),transparent 34vw),
    linear-gradient(135deg,#DCE3E4 0%,#E4E2DB 42%,#C8DBE2 72%,#D4E0DB 100%)!important;
  border-bottom:1px solid rgba(18,74,107,.24)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.50),
    inset 0 -26px 50px rgba(18,74,107,.05)!important;
}
.inner-hero::before{
  opacity:.78!important;
  background:
    radial-gradient(ellipse at center,transparent 28%,rgba(18,74,107,.055) 100%)!important;
}
.hero::before{
  opacity:.62!important;
  filter:blur(18px)!important;
  background:
    conic-gradient(
      from 90deg,
      rgba(31,102,140,.16),
      rgba(109,140,123,.15),
      transparent 45%,
      rgba(225,222,214,.20),
      rgba(31,102,140,.16)
    )!important;
}

/* Dimensional editorial headings. */
.hero-name,.editorial-hero-title,.h2,.section-head .h2,.experience-section-head .h2,.document-library-head-v63 h2,.core-skills-v63 h2,.notable-achievements-head-v63 h2,.about-contact-copy-v64 h2,.digital-card-copy-v63 h2,.privacy-card-v97 h2,.contact-nudge-v73 h2,.organisation-section-head .h2{
  color:var(--hr-blue-dark)!important;
  background:none!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.58),
    0 3px 0 rgba(18,74,107,.08),
    0 10px 22px rgba(18,74,107,.18),
    0 24px 44px rgba(18,74,107,.10)!important;
}
.hero-name .display-serif,.editorial-hero-title>.display-serif,.editorial-hero-title em,.h2 .display-serif,.section-head .display-serif,.organisation-section-head .display-serif,.footer-cta em,.contact-hero h1 em{
  color:var(--hr-blue)!important;
  background:none!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.52),
    0 4px 0 rgba(18,74,107,.07),
    0 12px 24px rgba(18,74,107,.20),
    0 28px 52px rgba(18,74,107,.12)!important;
}
.editorial-hero-title>span:first-child,.hero-name>span:first-child{
  color:var(--hr-blue-dark)!important;
}

/* All editorial hero metadata is fully readable. */
.editorial-hero-topline,.editorial-hero-axis,.editorial-hero-topline .kicker,.inner-hero .breadcrumb{
  color:var(--hr-blue-dark)!important;
  opacity:1!important;
}
.inner-hero--editorial .editorial-hero-meta .lead{
  color:var(--hr-copy)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.34)!important;
}
.inner-hero--editorial .editorial-hero-facts{
  overflow:hidden!important;
  border:1px solid rgba(18,74,107,.28)!important;
  border-radius:18px!important;
  background:
    linear-gradient(145deg,rgba(229,236,238,.88),rgba(197,216,224,.84))!important;
  box-shadow:
    0 16px 36px rgba(24,48,62,.15),
    inset 0 1px 0 rgba(255,255,255,.60)!important;
}
.inner-hero--editorial .editorial-hero-facts>span,.inner-hero--editorial .editorial-hero-facts>span:nth-child(n){
  color:var(--hr-blue-dark)!important;
  border-color:rgba(18,74,107,.19)!important;
  background:rgba(229,236,238,.36)!important;
  opacity:1!important;
  text-shadow:none!important;
}
.inner-hero--editorial .editorial-hero-facts>span:hover{
  color:var(--hr-ink-strong)!important;
  background:rgba(238,242,242,.52)!important;
}
.inner-hero--editorial .editorial-hero-facts--metrics strong{
  color:var(--hr-blue-dark)!important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.55),
    0 7px 16px rgba(18,74,107,.13)!important;
}
.editorial-hero-sculpture{
  color:var(--hr-blue)!important;
  opacity:.28!important;
  filter:drop-shadow(0 18px 34px rgba(18,74,107,.10))!important;
}
.editorial-hero-sculpture i{
  border-color:rgba(18,74,107,.15)!important;
}
.editorial-hero-sculpture i:nth-child(2){
  border-color:rgba(109,140,123,.18)!important;
}
.editorial-hero-sculpture i:nth-child(3){
  border-color:rgba(31,102,140,.19)!important;
}
.editorial-hero-sculpture i::after{
  background:rgba(31,102,140,.46)!important;
  box-shadow:0 0 24px rgba(31,102,140,.24)!important;
}
.editorial-hero-sculpture b{
  background:
    linear-gradient(90deg,transparent,rgba(18,74,107,.30),transparent)!important;
}

/* Raised surfaces use tinted materials rather than white cards. */
.ambient-panel,.skill-card,.impact-card,.resume-card,.contact-card,.profile-strip,.quote-panel,.resume-download-panel,.bio-copy,.portrait-sticky,.case-block,.education-card,.outcome,.tool-group-v63,.workbench-card-v63,.resume-support-card,.section-support-card,.document-card-v63,.about-story-panel,.about-contact-panel-v64,.privacy-card-v97,.digital-card-showcase-v63,.resume-achievements-v92,.company-preview-v78,.organisation-support-card,.contact-form,.startup-modal-card,.core-skills-v63,.resume-tool-summary-v63,.notable-achievements-v63,.workbench-visual-v63,.digital-card-visual-v63,.experience-index-sticky,.experience-panel,.profile-info-card,.profile-skill-card-v77,.skill-group-v78{
  color:var(--hr-ink)!important;
  border:1px solid var(--hr-line)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(31,102,140,.12),transparent 39%),
    linear-gradient(150deg,#E9EEEE 0%,#D4E1E6 100%)!important;
  box-shadow:var(--hr-shadow)!important;
}
.skill-card:hover,.impact-card:hover,.resume-card:hover,.contact-card:hover,.resume-download-panel:hover,.quote-panel:hover,.case-block:hover,.tool-group-v63:hover,.document-card-v63:hover,.about-story-panel:hover,.privacy-card-v97:hover,.experience-panel.is-current{
  border-color:var(--hr-line-strong)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(31,102,140,.16),transparent 40%),
    linear-gradient(150deg,#EEF1F1 0%,#CFDEE4 100%)!important;
  box-shadow:var(--hr-shadow-hover)!important;
}

/* Body copy and small labels cannot inherit pale legacy colours. */
p,li,.lead,.small,.muted,.inner-meta p,.hero-sub p,.document-card-v63 p,.about-story-panel p,.privacy-card-v97 p,.company-preview-v78 p{
  color:var(--hr-copy)!important;
}
.kicker,.breadcrumb,.support-label,.project-index,.project-meta,.about-story-label span,.about-story-label small,.profile-card-cue-v65,.profile-card-cue-v65 span,.profile-card-cue-v65__default,.profile-card-cue-v65__active{
  color:var(--hr-blue-dark)!important;
  opacity:1!important;
}
.profile-card-cue-v65{
  border-color:rgba(18,74,107,.22)!important;
}
.profile-card-cue-v65::before{
  background:var(--hr-blue)!important;
  box-shadow:0 0 0 0 rgba(31,102,140,.25)!important;
}
.profile-card-cue-v65 i{
  color:var(--hr-blue-dark)!important;
  border-color:rgba(18,74,107,.28)!important;
  background:rgba(201,220,227,.52)!important;
}

/* Buttons retain clear primary / secondary depth. */
.button::before,.button-light::before,.button-sage::before{
  display:none!important;
}
.button,.button-light,.button-ghost,.filter,.resume-view-button-v86,.resume-download-button-v86,.company-wheel-button-v114{
  color:var(--hr-blue-dark)!important;
  border:1px solid rgba(18,74,107,.38)!important;
  background:
    linear-gradient(145deg,#E9EEEE,#C8DCE4)!important;
  box-shadow:
    0 12px 28px rgba(24,48,62,.16),
    inset 0 1px 0 rgba(255,255,255,.70)!important;
}
.button:hover,.button:focus-visible,.button-light:hover,.button-light:focus-visible,.button-ghost:hover,.button-ghost:focus-visible,.filter:hover,.filter:focus-visible,.company-wheel-button-v114:hover,.company-wheel-button-v114:focus-visible{
  color:#fff!important;
  border-color:var(--hr-blue-dark)!important;
  background:
    linear-gradient(135deg,var(--hr-blue-dark),var(--hr-blue))!important;
  box-shadow:
    0 18px 40px rgba(18,74,107,.27),
    inset 0 1px 0 rgba(255,255,255,.16)!important;
}
.button-sage,.filter.active,.hero-resume-primary-v101,.contact-nudge-v73__button--primary,.company-preview-v78__link{
  color:#fff!important;
  border-color:var(--hr-blue-dark)!important;
  background:
    linear-gradient(135deg,#103F5C,var(--hr-blue))!important;
  box-shadow:
    0 16px 36px rgba(18,74,107,.28),
    inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.hero-resume-secondary-v101{
  color:var(--hr-blue-dark)!important;
  background:
    linear-gradient(145deg,#DCE7E8,#BFD4DC)!important;
}
.hero-resume-secondary-v101:hover{
  color:#fff!important;
  background:
    linear-gradient(135deg,var(--hr-sage-dark),var(--hr-blue))!important;
}

/* Pills are blue-tinted and visibly raised. */
.hr-pill,.pill,.core-skill-pills-v63 span,.skills-cloud span,.skill-chip-list-v77 li,.skill-chip-list-v78 li,.personal-interest-tags span{
  color:var(--hr-blue-dark)!important;
  border:1px solid rgba(18,74,107,.27)!important;
  background:
    linear-gradient(145deg,#E7ECEC,#C7DAE2)!important;
  box-shadow:
    0 9px 22px rgba(24,48,62,.13),
    inset 0 1px 0 rgba(255,255,255,.72)!important;
}

/* Statistics, summary rows and supporting cards. */
body.page-home .stats-grid{
  gap:16px!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.page-home .stat{
  border:1px solid var(--hr-line)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(31,102,140,.15),transparent 42%),
    linear-gradient(150deg,#E8EDED,#C9DBE2)!important;
  box-shadow:
    0 20px 46px rgba(24,48,62,.18),
    inset 0 1px 0 rgba(255,255,255,.72)!important;
}
body.page-home .stat:nth-child(even){
  background:
    radial-gradient(circle at 100% 0,rgba(109,140,123,.15),transparent 42%),
    linear-gradient(150deg,#E6EBE8,#CADAD5)!important;
}
body.page-home .stat b{
  color:var(--hr-blue-dark)!important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.55),
    0 9px 20px rgba(18,74,107,.17)!important;
}
body.page-home .stat span{color:var(--hr-muted)!important}

body.page-home .organisation-support-card{
  background:
    radial-gradient(circle at 100% 0,rgba(31,102,140,.14),transparent 39%),
    linear-gradient(150deg,#E7ECEC,#C7D9E0)!important;
}
body.page-home .support-detail-list>div{
  border:1px solid rgba(18,74,107,.24)!important;
  background:
    linear-gradient(145deg,#E4EAEB,#C5D8DF)!important;
  box-shadow:
    0 11px 26px rgba(24,48,62,.13),
    inset 0 1px 0 rgba(255,255,255,.64)!important;
}
body.page-home .support-detail-list dt{
  color:var(--hr-blue-dark)!important;
}
body.page-home .support-detail-list dd{
  color:var(--hr-ink)!important;
}
body.page-home .support-token-list li{
  color:var(--hr-blue-dark)!important;
  border:1px solid rgba(18,74,107,.24)!important;
  background:
    linear-gradient(145deg,#E5EBEB,#C4D8DF)!important;
  box-shadow:0 6px 15px rgba(24,48,62,.09)!important;
}

/* Company-carousel support UI and preview. */
body.page-home .company-wheel-guide-v114{
  border-color:rgba(18,74,107,.34)!important;
  background:
    linear-gradient(145deg,#E6EBEB,#C2D6DE)!important;
  box-shadow:
    0 18px 42px rgba(24,48,62,.17),
    inset 0 1px 0 rgba(255,255,255,.68)!important;
}
body.page-home .company-wheel-guide-v114::before{
  color:#fff!important;
  background:var(--hr-blue-dark)!important;
  border-color:var(--hr-blue-dark)!important;
}
body.page-home .company-wheel-guide-v114__prompt strong{
  color:var(--hr-blue-dark)!important;
}
body.page-home .company-wheel-guide-v114__prompt small{
  color:var(--hr-copy)!important;
}
body.page-home .company-preview-v78{
  background:
    radial-gradient(circle at 100% 0,rgba(31,102,140,.16),transparent 42%),
    linear-gradient(145deg,#E7ECEC,#C4D8DF)!important;
}
body.page-home .company-preview-v78__eyebrow,body.page-home .company-preview-v78__role strong{
  color:var(--hr-blue-dark)!important;
}
body.page-home .company-preview-v78 h3{
  color:var(--hr-blue)!important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.50),
    0 8px 18px rgba(18,74,107,.14)!important;
}
body.page-home .company-preview-v78__role,body.page-home .company-preview-v78__role span,body.page-home .company-preview-v78 p{
  color:var(--hr-copy)!important;
}

/* Resume documents and experience controls. */
.document-preview-v63{
  border-color:rgba(18,74,107,.28)!important;
  background:var(--hr-surface-blue)!important;
  box-shadow:0 14px 34px rgba(24,48,62,.16)!important;
}
.document-preview-v63 span{
  color:#fff!important;
  background:rgba(18,74,107,.92)!important;
}
.resume-choice-v86{
  border:1px solid rgba(18,74,107,.24)!important;
  border-radius:20px!important;
  padding:18px!important;
  background:
    linear-gradient(145deg,#E2E9E9,#C4D8DF)!important;
  box-shadow:
    0 12px 28px rgba(24,48,62,.13),
    inset 0 1px 0 rgba(255,255,255,.66)!important;
}
.resume-choice-v86>p{
  color:var(--hr-copy)!important;
  border-color:rgba(18,74,107,.24)!important;
  background:rgba(230,236,237,.65)!important;
}
.resume-choice-v86>p span{
  color:var(--hr-blue-dark)!important;
}
.resume-view-emphasis-v86{
  color:var(--hr-blue-dark)!important;
  text-decoration-color:var(--hr-blue)!important;
}

.experience-index-sticky{
  background:
    linear-gradient(155deg,#E7ECEC,#C4D8DF)!important;
}
.experience-tab{
  color:var(--hr-copy)!important;
}
.experience-tab:not(.is-active) strong{
  color:var(--hr-ink)!important;
}
.experience-tab:not(.is-active) small,.experience-tab:not(.is-active) .experience-tab-number{
  color:var(--hr-muted)!important;
}
.experience-tab.is-active{
  color:#fff!important;
  background:
    linear-gradient(90deg,var(--hr-blue-dark),var(--hr-blue))!important;
}
.experience-tab.is-active *{
  color:#fff!important;
}
.experience-panel h4{
  color:var(--hr-blue-bright)!important;
  text-shadow:0 7px 16px rgba(18,74,107,.12)!important;
}

/* About-page story labels and expandable cards. */
.about-story-label span{
  color:var(--hr-blue)!important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.50),
    0 6px 14px rgba(18,74,107,.13)!important;
}
.about-story-label small{
  color:var(--hr-blue-dark)!important;
}
.about-story-panel.is-active{
  border-color:var(--hr-line-strong)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(31,102,140,.16),transparent 40%),
    linear-gradient(150deg,#E9EEEE,#CADCE3)!important;
}

/* Forms and popups. */
.contact-form input,.contact-form textarea{
  color:var(--hr-ink)!important;
  border:1px solid rgba(18,74,107,.30)!important;
  background:
    linear-gradient(145deg,#E9EEEE,#D0DFE4)!important;
  box-shadow:
    inset 0 2px 5px rgba(24,48,62,.06),
    0 8px 20px rgba(24,48,62,.10)!important;
}
.contact-form input::placeholder,.contact-form textarea::placeholder{
  color:rgba(61,89,104,.62)!important;
}
.contact-nudge-v73__dialog,.startup-modal-card{
  color:var(--hr-ink)!important;
  border-color:rgba(18,74,107,.34)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(31,102,140,.16),transparent 39%),
    linear-gradient(145deg,#E8EDED,#C6DAE1)!important;
  box-shadow:var(--hr-shadow-deep)!important;
}

/* Blobby regains a clear glassy presence against the richer canvas. */








/* Footer and floating controls. */
.footer{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.48),
    0 -16px 44px rgba(24,48,62,.08)!important;
}
.back-top-v23__disc{
  color:var(--hr-blue-dark)!important;
  border-color:rgba(18,74,107,.32)!important;
  background:
    linear-gradient(145deg,#E7ECEC,#C4D8DF)!important;
  box-shadow:
    0 14px 34px rgba(24,48,62,.17),
    inset 0 1px 0 rgba(255,255,255,.66)!important;
}

/* Mobile keeps the same hierarchy and readability. */
@media (max-width:760px){
  .site-header,.site-header.is-scrolled,.page-contact .site-header,.menu-open .site-header{
    background:rgba(226,233,234,.96)!important;
  }
  .inner-hero--editorial .editorial-hero-facts{
    border-radius:16px!important;
  }
  .inner-hero--editorial .editorial-hero-facts>span{
    color:var(--hr-blue-dark)!important;
    background:rgba(229,236,238,.42)!important;
  }
  body.page-home .organisation-support-card .support-detail-list>div{
    background:
      linear-gradient(145deg,#E4EAEB,#C5D8DF)!important;
  }
}

/* ==========================================================
   V121 — LAYERING, DEPTH AND TEXT-CONTRAST CORRECTION
   Keeps the muted blue-grey / stone HR palette from V120 while restoring the
   correct content stack, making Blobby visible behind the website rather than
   covering it, and eliminating pale legacy text across the light theme.
   ========================================================== */

/* The ambient field must remain behind the actual website. V119's desktop
   override placed it above the page, and V120 then gave it an opaque
   background. Together those rules could hide every page behind the field. */

main,.footer{
  position:relative!important;
  z-index:1!important;
}
.site-header{z-index:100!important}
.menu-overlay{z-index:2147482400!important}



/* Blobby remains visible as an ambient glass form, but the content always sits
   above it. */



/* Use translucent materials over the ambient field instead of creating a
   stark, opaque white sheet. */
body.page-home .hero,.inner-hero,.contact-hero{
  background:
    radial-gradient(circle at 82% 16%,rgba(31,102,140,.17),transparent 31vw),
    radial-gradient(circle at 10% 86%,rgba(109,140,123,.13),transparent 29vw),
    radial-gradient(circle at 50% 34%,rgba(225,222,214,.43),transparent 34vw),
    linear-gradient(
      135deg,
      rgba(220,227,228,.84) 0%,
      rgba(228,226,219,.84) 42%,
      rgba(200,219,226,.82) 72%,
      rgba(212,224,219,.84) 100%
    )!important;
  -webkit-backdrop-filter:blur(8px) saturate(106%)!important;
  backdrop-filter:blur(8px) saturate(106%)!important;
}

/* Reinforce depth on every major title. */
.hero-name,.editorial-hero-title,.h2,.section-head .h2,.experience-section-head .h2,.document-library-head-v63 h2,.core-skills-v63 h2,.notable-achievements-head-v63 h2,.about-contact-copy-v64 h2,.digital-card-copy-v63 h2,.privacy-card-v97 h2,.contact-nudge-v73 h2,.organisation-section-head .h2{
  text-shadow:
    0 1px 0 rgba(255,255,255,.62),
    0 3px 0 rgba(18,74,107,.09),
    0 10px 22px rgba(18,74,107,.20),
    0 25px 48px rgba(18,74,107,.12)!important;
}
.hero-name .display-serif,.editorial-hero-title>.display-serif,.editorial-hero-title em,.h2 .display-serif,.section-head .display-serif,.organisation-section-head .display-serif,.footer-cta em,.contact-hero h1 em{
  text-shadow:
    0 1px 0 rgba(255,255,255,.58),
    0 4px 0 rgba(18,74,107,.08),
    0 13px 26px rgba(18,74,107,.22),
    0 30px 56px rgba(18,74,107,.13)!important;
}

/* Global light-theme text fallbacks. These selectors cover the old hard-coded
   cream, gold and pale-sage colours while preserving white text only on dark
   blue active controls. */
main p,main li,main dt,main dd,main small,main .lead,main .muted,main .inner-meta p,main .hero-sub p,footer p,footer small{
  color:var(--hr-copy)!important;
}
main h1,main h2,main h3,main h4,main h5,main h6,main strong{
  color:var(--hr-ink)!important;
}
.kicker,.breadcrumb,.support-label,.project-index,.project-meta,.editorial-hero-topline,.editorial-hero-axis,.editorial-hero-topline .kicker,.inner-hero .breadcrumb,.about-story-label span,.about-story-label small,.profile-card-cue-v65,.profile-card-cue-v65 span{
  color:var(--hr-blue-dark)!important;
  opacity:1!important;
}

/* Specific metadata from the screenshot: all four facts stay readable. */
.inner-hero--editorial .editorial-hero-facts{
  border-color:rgba(18,74,107,.31)!important;
  background:
    linear-gradient(145deg,rgba(229,236,238,.90),rgba(190,211,220,.88))!important;
  box-shadow:
    0 17px 38px rgba(24,48,62,.17),
    inset 0 1px 0 rgba(255,255,255,.65)!important;
}
.inner-hero--editorial .editorial-hero-facts>span,.inner-hero--editorial .editorial-hero-facts>span:nth-child(n){
  color:var(--hr-blue-dark)!important;
  border-color:rgba(18,74,107,.22)!important;
  background:rgba(226,234,236,.46)!important;
  opacity:1!important;
  text-shadow:none!important;
}
.inner-hero--editorial .editorial-hero-facts>span:hover{
  color:var(--hr-ink-strong)!important;
  background:rgba(236,240,240,.65)!important;
}

/* Preserve intended white type on the dark-blue interface states. */
.button-sage,.button-sage *,.hero-resume-primary-v101,.hero-resume-primary-v101 *,.filter.active,.filter.active *,.experience-tab.is-active,.experience-tab.is-active *,.company-preview-v78__link,.company-preview-v78__link *,.contact-nudge-v73__button--primary,.contact-nudge-v73__button--primary *,.document-preview-v63 span,.experience-panel-eyebrow span:first-child,.profile-info-card b em,.company-card-hint-v78{
  color:#fff!important;
}

/* Ensure the secondary controls and all non-active experience entries never
   inherit the old white type. */
.hero-resume-secondary-v101,.hero-resume-secondary-v101 *,.button:not(.button-sage),.button:not(.button-sage) *,.filter:not(.active),.filter:not(.active) *,.experience-tab:not(.is-active),.experience-tab:not(.is-active) *,.company-wheel-button-v114,.company-wheel-button-v114 *{
  color:var(--hr-blue-dark)!important;
}

/* Keep the homepage portrait above its decorative frame layers. */
.hero-photo-showcase img{
  position:relative!important;
  z-index:3!important;
}

/* Supporting areas use clearly separated blue-grey materials rather than
   near-white cards. */
.stats-grid{background:transparent!important;box-shadow:none!important}
.stat,.organisation-support-card,.support-detail-list>div,.company-wheel-guide-v114,.company-preview-v78,.document-card-v63,.experience-panel,.skill-card,.impact-card,.resume-card,.contact-card,.about-story-panel,.privacy-card-v97{
  border-color:rgba(18,74,107,.31)!important;
  box-shadow:
    0 19px 44px rgba(24,48,62,.18),
    0 5px 14px rgba(24,48,62,.08),
    inset 0 1px 0 rgba(255,255,255,.66)!important;
}
.stat,.support-detail-list>div,.company-wheel-guide-v114{
  background:
    radial-gradient(circle at 100% 0,rgba(31,102,140,.15),transparent 42%),
    linear-gradient(150deg,#E5EBEB,#C4D8DF)!important;
}
.stat:nth-child(even){
  background:
    radial-gradient(circle at 100% 0,rgba(109,140,123,.15),transparent 42%),
    linear-gradient(150deg,#E4E9E6,#C8D9D3)!important;
}

/* Mobile follows the same contrast hierarchy. */
@media (max-width:760px){
  
  
  .inner-hero--editorial .editorial-hero-facts>span{
    color:var(--hr-blue-dark)!important;
    background:rgba(226,234,236,.55)!important;
  }
}

/* ==========================================================
   V122 — PROFESSIONAL PEOPLE & HR PALETTE
   Calm slate-blue, muted teal, sage and warm stone replace the overly white
   treatment. Depth is retained through restrained material shadows rather than
   oversized text shadows. Arrow colours follow their actual control surfaces.
   ========================================================== */
:root{
  --hr-canvas:#CFDADB!important;
  --hr-canvas-2:#C3D1D3!important;
  --hr-surface:#DFE5E2!important;
  --hr-surface-strong:#E8EAE5!important;
  --hr-surface-blue:#BCD1D8!important;
  --hr-surface-blue-2:#A9C3CC!important;
  --hr-surface-sage:#C4D1C9!important;
  --hr-stone:#D6D0C6!important;
  --hr-stone-deep:#C8C4BA!important;
  --hr-ink:#173646!important;
  --hr-ink-strong:#0D2B3B!important;
  --hr-copy:#385665!important;
  --hr-muted:#58717D!important;
  --hr-blue:#256D89!important;
  --hr-blue-dark:#154D68!important;
  --hr-blue-bright:#3F8198!important;
  --hr-teal:#477D80!important;
  --hr-sage:#708B7E!important;
  --hr-sage-dark:#536F63!important;
  --hr-accent:#477D80!important;
  --hr-line:rgba(21,77,104,.27)!important;
  --hr-line-strong:rgba(21,77,104,.44)!important;
  --hr-shadow:0 16px 34px rgba(20,47,61,.16),0 5px 13px rgba(20,47,61,.07),inset 0 1px 0 rgba(255,255,255,.56)!important;
  --hr-shadow-hover:0 23px 52px rgba(20,47,61,.21),0 7px 18px rgba(20,47,61,.09),inset 0 1px 0 rgba(255,255,255,.62)!important;
  --hr-shadow-deep:0 32px 80px rgba(20,47,61,.24),0 9px 23px rgba(20,47,61,.11),inset 0 1px 0 rgba(255,255,255,.62)!important;
  --heritage-gold:var(--hr-teal)!important;
  --amber-gold:var(--hr-blue-dark)!important;
  --terracotta:var(--hr-blue-bright)!important;
  --terracotta-accent:var(--hr-teal)!important;
  --amber:var(--hr-blue-dark)!important;
  --champagne:var(--hr-surface-blue)!important;
  --champagne-bright:var(--hr-surface)!important;
  --parchment:var(--hr-ink)!important;
  --soft-sage:var(--hr-sage)!important;
  --mist-sage:var(--hr-blue)!important;
  --gold-sage-gradient:linear-gradient(105deg,var(--hr-blue-dark),var(--hr-blue),var(--hr-teal))!important;
  --gold-reflection-gradient:linear-gradient(110deg,var(--hr-blue-dark),var(--hr-blue) 55%,var(--hr-teal))!important;
}
html{background:var(--hr-canvas)!important;color-scheme:light!important}
body{
  color:var(--hr-ink)!important;
  background:
    radial-gradient(circle at 85% 10%,rgba(37,109,137,.17),transparent 34vw),
    radial-gradient(circle at 10% 84%,rgba(112,139,126,.15),transparent 31vw),
    radial-gradient(circle at 50% 40%,rgba(214,208,198,.42),transparent 38vw),
    linear-gradient(140deg,#CED9DA 0%,#D8DBD5 45%,#BDD0D6 73%,#CAD8D2 100%)!important;
}
body::before{opacity:.60!important;background:radial-gradient(560px circle at var(--cursor-x) var(--cursor-y),rgba(37,109,137,.11),transparent 67%)!important}

/* Calm HR page fields: blue-grey, sage and stone rather than white. */
.section:not(.section-dark),.section-tight:not(.section-dark),.section-light,.document-library-v63,.resume-skills-v63,.experience-section,.about-story-section,.about-credentials-v64,.about-skills-v77,.digital-card-section-v63,.privacy-section-v97{
  color:var(--hr-ink)!important;
  background:
    radial-gradient(circle at 91% 8%,rgba(37,109,137,.10),transparent 29vw),
    linear-gradient(145deg,#DDE4E2 0%,#CBD9DC 58%,#D6DDD7 100%)!important;
  border-color:rgba(21,77,104,.14)!important;
}
.section:nth-of-type(even):not(.section-dark),.section-tight:nth-of-type(even):not(.section-dark){
  background:
    radial-gradient(circle at 10% 88%,rgba(112,139,126,.13),transparent 27vw),
    linear-gradient(145deg,#C5D6DA 0%,#DADDD7 55%,#C9D7D0 100%)!important;
}
.section-dark,.clients-section,.footer,.contact-hero{
  color:var(--hr-ink)!important;
  background:
    radial-gradient(circle at 82% 12%,rgba(37,109,137,.15),transparent 31vw),
    linear-gradient(145deg,#BFD3D9 0%,#D8DEDA 58%,#C6D5CF 100%)!important;
}
.hero,.inner-hero,.contact-hero{
  color:var(--hr-ink)!important;
  background:
    radial-gradient(circle at 82% 15%,rgba(37,109,137,.17),transparent 31vw),
    radial-gradient(circle at 9% 87%,rgba(112,139,126,.14),transparent 28vw),
    radial-gradient(circle at 51% 35%,rgba(214,208,198,.43),transparent 35vw),
    linear-gradient(135deg,rgba(211,221,221,.91),rgba(218,216,208,.90) 43%,rgba(190,211,218,.89) 74%,rgba(203,216,210,.90))!important;
  border-bottom:1px solid rgba(21,77,104,.22)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),inset 0 -22px 45px rgba(21,77,104,.05)!important;
}

/* Material surfaces with visible but controlled depth. */
.ambient-panel,.skill-card,.impact-card,.resume-card,.contact-card,.profile-strip,.quote-panel,.resume-download-panel,.bio-copy,.portrait-sticky,.case-block,.education-card,.outcome,.tool-group-v63,.workbench-card-v63,.resume-support-card,.section-support-card,.document-card-v63,.about-story-panel,.about-contact-panel-v64,.privacy-card-v97,.digital-card-showcase-v63,.resume-achievements-v92,.company-preview-v78,.organisation-support-card,.contact-form,.startup-modal-card,.core-skills-v63,.resume-tool-summary-v63,.notable-achievements-v63,.workbench-visual-v63,.digital-card-visual-v63,.experience-index-sticky,.experience-panel,.profile-info-card,.profile-skill-card-v77,.skill-group-v78{
  color:var(--hr-ink)!important;
  border:1px solid var(--hr-line)!important;
  background:radial-gradient(circle at 100% 0,rgba(37,109,137,.10),transparent 40%),linear-gradient(150deg,#E2E7E4,#C7D7DA)!important;
  box-shadow:var(--hr-shadow)!important;
}
.skill-card:hover,.impact-card:hover,.resume-card:hover,.contact-card:hover,.resume-download-panel:hover,.quote-panel:hover,.case-block:hover,.tool-group-v63:hover,.document-card-v63:hover,.about-story-panel:hover,.privacy-card-v97:hover,.experience-panel.is-current{
  border-color:var(--hr-line-strong)!important;
  background:radial-gradient(circle at 100% 0,rgba(37,109,137,.14),transparent 40%),linear-gradient(150deg,#E7EAE6,#C2D5D9)!important;
  box-shadow:var(--hr-shadow-hover)!important;
}

/* Editorial depth without the large offset shadows that were being clipped. */
.hero-copy,.hero-name,.editorial-hero-title,.section-head,.h2{overflow:visible!important}
body.page-load-complete-v26 .hero-name>span,body.adrian-intro-finished-v27 .hero-name>span,body.page-load-complete-v26 .hero-name i,body.adrian-intro-finished-v27 .hero-name i{
  overflow:visible!important;
}
.hero-name>span{
  padding:.045em .055em .13em!important;
  margin:-.045em -.055em -.13em!important;
}
.hero-name,.editorial-hero-title,.h2,.section-head .h2,.experience-section-head .h2,.document-library-head-v63 h2,.core-skills-v63 h2,.notable-achievements-head-v63 h2,.about-contact-copy-v64 h2,.digital-card-copy-v63 h2,.privacy-card-v97 h2,.contact-nudge-v73 h2,.organisation-section-head .h2{
  color:var(--hr-blue-dark)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.55),0 3px 6px rgba(13,43,59,.15),0 10px 20px rgba(13,43,59,.10)!important;
  filter:drop-shadow(0 7px 12px rgba(13,43,59,.08))!important;
}
.hero-name i,.hero-name .display-serif,.editorial-hero-title>span,.editorial-hero-title>.display-serif,.editorial-hero-title em,.h2 .display-serif,.section-head .display-serif,.organisation-section-head .display-serif,.footer-cta em,.contact-hero h1 em{
  color:var(--hr-blue-dark)!important;
  background:linear-gradient(180deg,#123E55 0%,#256D89 62%,#174F69 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:none!important;
  filter:drop-shadow(0 2px 0 rgba(255,255,255,.38)) drop-shadow(0 7px 11px rgba(13,43,59,.16))!important;
}
.editorial-hero-title>span{padding:.03em .035em .12em!important;margin:-.03em -.035em -.12em!important;overflow:visible!important}

/* Complete readable text hierarchy. */
main :is(p,li,dt,dd,small,.lead,.muted,.inner-meta p,.hero-sub p),footer :is(p,small){color:var(--hr-copy)!important}
main :is(h1,h2,h3,h4,h5,h6,strong){color:var(--hr-ink)!important}
.kicker,.breadcrumb,.support-label,.project-index,.project-meta,.editorial-hero-topline,.editorial-hero-axis,.editorial-hero-topline .kicker,.inner-hero .breadcrumb,.about-story-label span,.about-story-label small,.profile-card-cue-v65,.profile-card-cue-v65 span{
  color:var(--hr-blue-dark)!important;opacity:1!important
}
.inner-hero--editorial .editorial-hero-facts{
  border:1px solid rgba(21,77,104,.29)!important;border-radius:18px!important;
  background:linear-gradient(145deg,rgba(222,230,230,.90),rgba(179,203,212,.87))!important;
  box-shadow:0 14px 31px rgba(20,47,61,.14),inset 0 1px 0 rgba(255,255,255,.58)!important;
}
.inner-hero--editorial .editorial-hero-facts>span,.inner-hero--editorial .editorial-hero-facts>span:nth-child(n){
  color:var(--hr-blue-dark)!important;background:rgba(218,228,229,.43)!important;
  border-color:rgba(21,77,104,.19)!important;opacity:1!important;text-shadow:none!important
}

/* Clear button hierarchy. */
.button,.button-light,.button-ghost,.filter,.resume-view-button-v86,.resume-download-button-v86,.company-wheel-button-v114{
  color:var(--hr-blue-dark)!important;border:1px solid rgba(21,77,104,.35)!important;
  background:linear-gradient(145deg,#DEE6E4,#BCD1D8)!important;
  box-shadow:0 10px 23px rgba(20,47,61,.14),inset 0 1px 0 rgba(255,255,255,.60)!important
}
.button-sage,.filter.active,body.page-home .hero-resume-primary-v101,.contact-nudge-v73__button--primary,.company-preview-v78__link{
  color:#fff!important;border-color:#123F58!important;
  background:linear-gradient(135deg,#123F58,#28728E)!important;
  box-shadow:0 14px 30px rgba(18,63,88,.24),inset 0 1px 0 rgba(255,255,255,.16)!important
}
body.page-home .hero-resume-secondary-v101{
  color:var(--hr-blue-dark)!important;border-color:rgba(21,77,104,.34)!important;
  background:linear-gradient(145deg,#DDE5E2,#B9CED5)!important;
  box-shadow:0 11px 25px rgba(20,47,61,.14),inset 0 1px 0 rgba(255,255,255,.60)!important
}
.button:hover,.button:focus-visible,.button-light:hover,.button-light:focus-visible,.button-ghost:hover,.button-ghost:focus-visible,.filter:hover,.filter:focus-visible,.company-wheel-button-v114:hover,.company-wheel-button-v114:focus-visible{
  color:#fff!important;border-color:var(--hr-blue-dark)!important;
  background:linear-gradient(135deg,var(--hr-blue-dark),var(--hr-blue))!important;
  box-shadow:0 16px 36px rgba(18,63,88,.24)!important
}

/* Arrow colours are now explicit and cannot inherit the wrong rule. */
body.page-home .hero-resume-primary-v101 .ui-arrow-v90,.button-sage .ui-arrow-v90,.filter.active .ui-arrow-v90,.company-preview-v78__link .ui-arrow-v90,.contact-nudge-v73__button--primary .ui-arrow-v90{
  color:#fff!important;opacity:1!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))!important
}
body.page-home .hero-resume-secondary-v101 .ui-arrow-v90,.button:not(.button-sage) .ui-arrow-v90,.link-arrow .ui-arrow-v90,.company-wheel-button-v114 .ui-arrow-v90,.profile-card-cue-v65 .ui-arrow-v90,.back-top-v23 .ui-arrow-v90{
  color:var(--hr-blue-dark)!important;opacity:1!important;filter:none!important
}
.project-arrow{
  color:var(--hr-blue-dark)!important;border-color:rgba(21,77,104,.31)!important;
  background:linear-gradient(145deg,#DCE5E3,#B7CDD5)!important;
  box-shadow:0 8px 18px rgba(20,47,61,.12)!important
}
.project-row:hover .project-arrow{color:#fff!important;background:var(--hr-blue-dark)!important;border-color:var(--hr-blue-dark)!important}
.project-row:hover .project-arrow .ui-arrow-v90{color:#fff!important}
.link-arrow{color:var(--hr-blue-dark)!important}.link-arrow .ui-arrow-v90{color:currentColor!important}

/* Raised chips and support rows. */
.hr-pill,.pill,.core-skill-pills-v63 span,.skills-cloud span,.skill-chip-list-v77 li,.skill-chip-list-v78 li,.personal-interest-tags span,.support-token-list li{
  color:var(--hr-blue-dark)!important;border:1px solid rgba(21,77,104,.24)!important;
  background:linear-gradient(145deg,#DCE5E2,#BBD0D7)!important;
  box-shadow:0 7px 17px rgba(20,47,61,.11),inset 0 1px 0 rgba(255,255,255,.58)!important
}
.stats-grid{background:transparent!important;box-shadow:none!important;gap:16px!important}
.stat,.support-detail-list>div,.company-wheel-guide-v114{
  border-color:rgba(21,77,104,.28)!important;
  background:radial-gradient(circle at 100% 0,rgba(37,109,137,.13),transparent 42%),linear-gradient(150deg,#DEE6E4,#BCD1D8)!important;
  box-shadow:0 16px 35px rgba(20,47,61,.16),inset 0 1px 0 rgba(255,255,255,.58)!important
}
.stat:nth-child(even){background:radial-gradient(circle at 100% 0,rgba(112,139,126,.14),transparent 42%),linear-gradient(150deg,#DDE5E0,#C0D1CA)!important}
.stat b{color:var(--hr-blue-dark)!important;text-shadow:0 1px 0 rgba(255,255,255,.48),0 6px 13px rgba(13,43,59,.12)!important}

/* Ambient Blobby uses professional teal/sage glass tones. */

main,.footer{position:relative!important;z-index:1!important}



@media (max-width:760px){
  body.page-load-complete-v26 .hero-name>span,body.adrian-intro-finished-v27 .hero-name>span{overflow:visible!important}
  .hero-name>span{padding:.04em .04em .12em!important;margin:-.04em -.04em -.12em!important}
  .hero-name,.editorial-hero-title{filter:drop-shadow(0 5px 9px rgba(13,43,59,.07))!important}
  
}

/* ==========================================================
   V123 — COMPONENT COLOUR AUDIT AND LEGACY OVERRIDE REPAIR
   Corrects highly-specific dark-theme rules that survived the palette change.
   ========================================================== */

.profile-strip.profile-strip--three-v64 > .profile-info-card,.profile-strip.profile-strip--three-v64 > .profile-info-card.profile-skill-card-v77,.profile-strip.profile-strip--three-v64.profile-strip--skills-v77 > .profile-info-card.profile-skill-card-v77{
  color:var(--hr-ink)!important;
  border:1px solid rgba(21,77,104,.34)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(37,109,137,.15),transparent 42%),
    linear-gradient(145deg,#D9E4E3 0%,#B8CED4 100%)!important;
  box-shadow:
    0 18px 40px rgba(20,47,61,.18),
    0 5px 14px rgba(20,47,61,.08),
    inset 0 1px 0 rgba(255,255,255,.68)!important;
}
.profile-strip.profile-strip--three-v64 > .profile-info-card:hover,.profile-strip.profile-strip--three-v64 > .profile-info-card:focus-visible,.profile-strip.profile-strip--three-v64 > .profile-info-card.is-open{
  border-color:rgba(21,77,104,.55)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(37,109,137,.19),transparent 43%),
    linear-gradient(145deg,#E0E8E6 0%,#B2CBD2 100%)!important;
  box-shadow:
    0 26px 58px rgba(20,47,61,.23),
    0 8px 19px rgba(20,47,61,.10),
    inset 0 1px 0 rgba(255,255,255,.72)!important;
}

.profile-info-card > b,.profile-skill-card-v77 > b{
  color:#123F58!important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.55),
    0 6px 14px rgba(20,47,61,.12)!important;
}
.profile-info-card > b em,.profile-skill-card-v77 > b em{
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:linear-gradient(135deg,#154D68,#28728E)!important;
  box-shadow:
    0 8px 18px rgba(18,63,88,.25),
    inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.profile-info-card.is-open > b em,.profile-skill-card-v77.is-open > b em{
  color:#fff!important;
  background:linear-gradient(135deg,#456F68,#256D89)!important;
}

.profile-card-cue-v65{
  color:#1B5A77!important;
  border-top-color:rgba(21,77,104,.24)!important;
}
.profile-card-cue-v65::before{
  background:#28728E!important;
  box-shadow:0 0 0 0 rgba(40,114,142,.24)!important;
}
.profile-card-cue-v65 i.ui-arrow-v90{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:23px!important;
  height:23px!important;
  min-width:23px!important;
  min-height:23px!important;
  color:#154D68!important;
  border:1px solid rgba(21,77,104,.35)!important;
  border-radius:50%!important;
  background:rgba(223,234,235,.72)!important;
  box-shadow:
    0 5px 12px rgba(20,47,61,.12),
    inset 0 1px 0 rgba(255,255,255,.65)!important;
  transform:none!important;
  animation:none!important;
}
.profile-card-cue-v65 i.ui-arrow-v90::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:43%!important;
  width:7px!important;
  height:7px!important;
  border:0!important;
  border-right:2px solid currentColor!important;
  border-bottom:2px solid currentColor!important;
  border-radius:1px!important;
  background:none!important;
  transform:translate(-50%,-50%) rotate(45deg)!important;
}
.profile-card-cue-v65 i.ui-arrow-v90::after{
  content:none!important;
  display:none!important;
}
.profile-info-card:hover .profile-card-cue-v65 i.ui-arrow-v90,.profile-info-card:focus .profile-card-cue-v65 i.ui-arrow-v90,.profile-info-card.is-open .profile-card-cue-v65 i.ui-arrow-v90{
  color:#fff!important;
  border-color:#256D89!important;
  background:#256D89!important;
  transform:none!important;
}
.profile-info-card.is-open .profile-card-cue-v65 i.ui-arrow-v90::before{
  top:57%!important;
  transform:translate(-50%,-50%) rotate(225deg)!important;
}

.profile-skill-card-v77 .skill-groups-v78{
  gap:16px!important;
  padding:0 0 3px!important;
}
.profile-skill-card-v77 .skill-group-v78,.profile-strip.profile-strip--three-v64.profile-strip--skills-v77
  > .profile-info-card.profile-skill-card-v77
  .skill-group-v78{
  display:grid!important;
  gap:14px!important;
  padding:20px!important;
  border:1px solid rgba(21,77,104,.25)!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(37,109,137,.10),transparent 42%),
    linear-gradient(145deg,#D4E0DF,#BDD1D6)!important;
  box-shadow:
    0 11px 25px rgba(20,47,61,.12),
    inset 0 1px 0 rgba(255,255,255,.60)!important;
}
.profile-skill-card-v77 .skill-group-v78:first-child{
  padding-top:20px!important;
  border-top:1px solid rgba(21,77,104,.25)!important;
}
.profile-skill-card-v77 .skill-group-v78 h3,.profile-strip.profile-strip--three-v64.profile-strip--skills-v77
  > .profile-info-card.profile-skill-card-v77
  .skill-group-v78 h3{
  margin:0!important;
  color:#154D68!important;
  font-size:10.5px!important;
  font-weight:850!important;
  line-height:1.4!important;
  letter-spacing:.105em!important;
  text-shadow:0 1px 0 rgba(255,255,255,.50)!important;
}
.profile-skill-card-v77 .skill-chip-list-v77.skill-chip-list-v78 li,.profile-strip.profile-strip--three-v64.profile-strip--skills-v77
  > .profile-info-card.profile-skill-card-v77
  .skill-chip-list-v77.skill-chip-list-v78 li{
  color:#294B5A!important;
  border:1px solid rgba(21,77,104,.22)!important;
  background:linear-gradient(145deg,#E2E8E6,#C9D8DA)!important;
  box-shadow:
    0 7px 16px rgba(20,47,61,.10),
    inset 0 1px 0 rgba(255,255,255,.70)!important;
}
.profile-skill-card-v77 .skill-chip-list-v77.skill-chip-list-v78 li span{
  color:inherit!important;
}

.resume-achievements-v92{
  border-color:rgba(21,77,104,.30)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(37,109,137,.13),transparent 37%),
    linear-gradient(145deg,#D8E3E1,#BFD2D6)!important;
  box-shadow:
    0 24px 58px rgba(20,47,61,.19),
    inset 0 1px 0 rgba(255,255,255,.65)!important;
}
.resume-achievements-list-v92>li{
  border:1px solid rgba(21,77,104,.30)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(37,109,137,.12),transparent 42%),
    linear-gradient(145deg,#CEDDDA,#AFC7CD)!important;
  box-shadow:
    0 14px 31px rgba(20,47,61,.15),
    inset 0 1px 0 rgba(255,255,255,.58)!important;
}
.resume-achievements-list-v92>li:nth-child(even){
  background:
    radial-gradient(circle at 100% 0,rgba(112,139,126,.13),transparent 42%),
    linear-gradient(145deg,#D1DDD7,#B5CBC7)!important;
}
.resume-achievements-list-v92>li:hover{
  border-color:rgba(21,77,104,.48)!important;
  box-shadow:
    0 20px 43px rgba(20,47,61,.20),
    inset 0 1px 0 rgba(255,255,255,.64)!important;
}
.resume-achievements-list-v92>li>span{
  color:#154D68!important;
  border:1px solid rgba(21,77,104,.40)!important;
  background:rgba(222,233,232,.58)!important;
}
.resume-achievements-list-v92 strong{
  color:#123F58!important;
  text-shadow:0 1px 0 rgba(255,255,255,.45)!important;
}
.resume-achievements-list-v92 p{color:#385665!important}
.resume-achievements-list-v92 small{color:#1E617C!important}

.privacy-card-v97>span{
  color:#154D68!important;
  border-color:rgba(21,77,104,.37)!important;
  background:rgba(203,220,222,.58)!important;
}
.privacy-card-v97 a{color:#174F70!important}

.profile-info-card .info-reveal,.profile-info-card .info-reveal p,.profile-info-card .info-reveal span,.profile-info-card .info-reveal a{
  color:#385665!important;
}
.profile-info-card .info-reveal strong{color:#123F58!important}

@media (max-width:760px){
  .profile-skill-card-v77 .skill-group-v78{padding:17px!important}
  .resume-achievements-list-v92>li{padding:21px 17px!important}
}

/* ==========================================================
   V124 — FINAL COMPONENT CONTRAST AND COLOUR CONSISTENCY PASS
   Completes the V123 component repair with stronger small-text contrast,
   consistent labels, footer details and inactive navigation states.
   ========================================================== */
:root{
  --hr-muted:#456270!important;
  --hr-sage:#557565!important;
}

/* Footer copy was still using the old pale sage/grey values. */
.footer-bottom,.footer-bottom span,.footer-bottom small{
  color:#3F5C69!important;
}
.footer-bottom a,.footer-privacy-link-v97{
  color:#154D68!important;
}

/* Contact labels and digital-card details. */
.contact-form label{
  color:#154D68!important;
  font-weight:750!important;
}
.digital-card-top-v63 span,.digital-card-person-v63 small,.digital-card-details-v63,.digital-card-details-v63 span,.digital-card-qr-v63 small{
  color:#3E5A68!important;
}

/* Small homepage labels and carousel guidance. */
body.page-home .stat span,.company-wheel-controls-v114__label{
  color:#456270!important;
}
.company-wheel-controls-v114__label{
  font-weight:750!important;
}

/* Resume navigation labels must remain readable when inactive. */
.experience-tab:not(.is-active) .experience-tab-number,.experience-tab:not(.is-active) small{
  color:#456270!important;
}
.experience-tab:not(.is-active) strong{
  color:#173F56!important;
}

/* Editorial supporting copy on inner heroes. */
.inner-hero--editorial .editorial-hero-meta .lead,.inner-hero--editorial .editorial-hero-statement small{
  color:#3E5A68!important;
}

/* About-page credentials and supporting descriptions. */
.about-credentials-v64 p,.about-credentials-v64 li,.about-credentials-v64 small{
  color:#3E5A68!important;
}

/* Keep numbered accents blue rather than inherited white/gold. */
.resume-achievements-list-v92>li>span,.privacy-card-v97>span{
  color:#154D68!important;
}

/* Strengthen secondary copy in cards without flattening hierarchy. */
.resume-achievements-list-v92 p,.resume-achievements-list-v92 small,.profile-info-card .info-reveal,.profile-info-card .info-reveal p,.profile-info-card .info-reveal span,.profile-info-card .info-reveal a{
  color:#3B5866!important;
}

/* Ensure skill-card headings and cue labels never inherit pale legacy colours. */
.profile-card-cue-v65,.profile-card-cue-v65 span,.profile-skill-card-v77 .skill-group-v78 h3{
  color:#154D68!important;
}

/* Arrow glyphs follow their control background. */
.button-sage .ui-arrow-v90,.hero-resume-primary-v101 .ui-arrow-v90,.contact-nudge-v73__button--primary .ui-arrow-v90,.company-preview-v78__link .ui-arrow-v90{
  color:#fff!important;
}
.button:not(.button-sage) .ui-arrow-v90,.hero-resume-secondary-v101 .ui-arrow-v90,.company-wheel-button-v114 .ui-arrow-v90,.link-arrow .ui-arrow-v90{
  color:#154D68!important;
}

/* ==========================================================
   V125 — VISIBLE MOUSE-FOLLOWING BLOBBY
   The physics were still running, but opaque page layers hid the character.
   This simplifies the ambient stack and keeps Blobby behind readable content.
   ========================================================== */

/* Keep one restrained ambient field behind the website. */


/* Remove unnecessary visual density from the old stacked ambient layers. */




/* Blobby is deliberately stronger than the passive ambient layers. */







/* Website content remains above Blobby. The surfaces are translucent enough
   to reveal him without reducing text contrast or blocking controls. */
main,.footer{
  position:relative!important;
  z-index:1!important;
}
body.page-home .hero,.inner-hero,.contact-hero{
  background:
    radial-gradient(circle at 82% 16%,rgba(31,102,140,.09),transparent 31vw),
    radial-gradient(circle at 10% 86%,rgba(109,140,123,.07),transparent 29vw),
    linear-gradient(
      135deg,
      rgba(220,227,228,.60) 0%,
      rgba(228,226,219,.59) 42%,
      rgba(200,219,226,.58) 72%,
      rgba(212,224,219,.60) 100%
    )!important;
  -webkit-backdrop-filter:blur(4px) saturate(104%)!important;
  backdrop-filter:blur(4px) saturate(104%)!important;
}
.section:not(.section-dark),.section-tight:not(.section-dark),.section-light,.document-library-v63,.resume-skills-v63,.experience-section,.about-story-section,.about-credentials-v64,.about-skills-v77,.digital-card-section-v63,.privacy-section-v97{
  background:
    radial-gradient(circle at 88% 12%,rgba(35,106,145,.06),transparent 27vw),
    radial-gradient(circle at 10% 88%,rgba(113,143,128,.05),transparent 26vw),
    linear-gradient(
      145deg,
      rgba(216,227,228,.70),
      rgba(193,212,218,.69) 62%,
      rgba(213,223,218,.70)
    )!important;
}
.section-dark,.clients-section,.footer{
  background:
    radial-gradient(circle at 82% 12%,rgba(35,106,145,.08),transparent 30vw),
    linear-gradient(
      145deg,
      rgba(191,211,217,.74),
      rgba(217,225,222,.72)
    )!important;
}

/* The desktop pointer interaction remains enabled. Mobile stays intentionally
   disabled because it has no mouse-follow interaction model. */


/* ==========================================================
   V126 — PERFORMANCE WITHOUT FEATURE LOSS
   Keeps every visual and interaction while reducing unnecessary layout,
   off-screen painting and large-area backdrop compositing.
   ========================================================== */
body::before{
  opacity:0!important;
}

main,.site-header,.footer{position:relative}

/* Below-fold layout and painting are deferred until they approach view. */
main > section:not(.hero):not(.inner-hero):not(.contact-hero):not(.clients-section),.footer{
  content-visibility:auto;
  contain-intrinsic-size:auto 900px;
}

/* Localise component invalidation and paint. */
.stat,.project-row,.logo-item,.contact-card,.skill-card,.impact-card,.resume-card,.resume-download-panel,.quote-panel,.case-block,.profile-info-card,.about-story-panel,.experience-tab,.experience-panel,.organisation-support-card,.section-support-card,.contact-form,.document-card-v63,.resume-achievements-list-v92>li{
  contain:layout style;
}

/* Large full-width translucent surfaces keep the same colour mix without an
   expensive live backdrop blur on every scroll frame. */
body.page-home .hero,.inner-hero,.contact-hero,.section:not(.section-dark),.section-tight:not(.section-dark),.section-light,.document-library-v63,.resume-skills-v63,.experience-section,.about-story-section,.about-credentials-v64,.about-skills-v77,.digital-card-section-v63,.privacy-section-v97{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

.project-preview{
  will-change:transform,opacity;
}


/* Pause decorative CSS timelines only while their entire section is outside
   the viewport. The observer restores them before the section is visible. */
.v126-offscreen .fx-grid-bg,.v126-offscreen .fx-orb,.v126-offscreen .fx-scan,.v126-offscreen .marquee-track,.v126-offscreen .logo-track,.v126-offscreen .hero-orbit,.v126-offscreen .hero-logo-stage,.v126-offscreen .hero-logo{
  animation-play-state:paused!important;
}

@media (max-width:760px),(hover:none) and (pointer:coarse){
  body{background-attachment:scroll!important}
  
  main > section:not(.hero):not(.inner-hero):not(.contact-hero):not(.clients-section),.footer{
    contain-intrinsic-size:auto 760px;
  }
}

html.v126-page-hidden .fx-grid-bg,html.v126-page-hidden .fx-orb,html.v126-page-hidden .fx-scan,html.v126-page-hidden .marquee-track,html.v126-page-hidden .logo-track,html.v126-page-hidden .hero-orbit,html.v126-page-hidden .hero-logo-stage,html.v126-page-hidden .hero-logo{
  animation-play-state:paused!important;
}

/* ==========================================================
   V127 — PERFORMANCE REGRESSION CORRECTIONS
   Restores correct positioning for the table-of-contents preview and centres
   transform-driven pointer layers without removing the V126 optimisations.
   ========================================================== */



/* ==========================================================
   V128 — SINGLE-BODY BLOBBY CORRECTION
   The V125 visibility fallback remained visible behind the real liquid body,
   which made Blobby appear to have a second detached torso. The actual
   five-mass goo body is retained; only the duplicate fallback silhouette is
   removed.
   ========================================================== */


/* ==========================================================
   V129 — MOBILE IDENTITY PARITY, CONTRAST AND LAYOUT REPAIR
   Brings the phone layout into the same muted slate/teal/sage HR identity as
   desktop. Overrides legacy mobile-only dark panels, repairs APAC summary
   spacing, restores readable career cards and prevents badge/text overlap.
   ========================================================== */
@media (max-width:760px){
  :root{
    --mobile-canvas:#CDD9DA;
    --mobile-surface:#DCE5E4;
    --mobile-surface-blue:#C4D7DD;
    --mobile-surface-sage:#CCDAD4;
    --mobile-ink:#173646;
    --mobile-copy:#385866;
    --mobile-muted:#4B6874;
    --mobile-blue:#236A89;
    --mobile-blue-dark:#154D68;
    --mobile-teal:#4F7A70;
    --mobile-line:rgba(21,77,104,.30);
    --mobile-shadow:0 16px 34px rgba(20,47,61,.15),inset 0 1px 0 rgba(255,255,255,.62);
  }

  html,body{
    color:var(--mobile-ink)!important;
    background:
      radial-gradient(circle at 88% 9%,rgba(35,106,137,.14),transparent 34vw),
      radial-gradient(circle at 8% 88%,rgba(79,122,112,.11),transparent 33vw),
      linear-gradient(145deg,#D4DEDF,#C5D7DC 58%,#D2DDD8)!important;
  }
  body{background-attachment:scroll!important}
  main{overflow:clip!important}

  /* Mobile surfaces use the same identity as desktop, never the old forest UI. */
  .section:not(.section-dark),.section-tight:not(.section-dark),.section-light,.section-dark,.clients-section,.document-library-v63,.resume-skills-v63,.experience-section,.about-story-section,.about-credentials-v64,.about-skills-v77,.digital-card-section-v63,.privacy-section-v97,.footer{
    color:var(--mobile-ink)!important;
    border-color:rgba(21,77,104,.14)!important;
    background:
      radial-gradient(circle at 90% 10%,rgba(35,106,137,.08),transparent 32vw),
      linear-gradient(145deg,rgba(215,226,227,.92),rgba(191,210,216,.91) 62%,rgba(207,221,215,.92))!important;
  }

  .ambient-panel,.skill-card,.impact-card,.resume-card,.contact-card,.profile-strip,.quote-panel,.resume-download-panel,.bio-copy,.portrait-sticky,.case-block,.education-card,.outcome,.tool-group-v63,.workbench-card-v63,.resume-support-card,.section-support-card,.document-card-v63,.about-story-panel,.about-contact-panel-v64,.privacy-card-v97,.digital-card-showcase-v63,.digital-card-visual-v63,.resume-achievements-v92,.company-preview-v78,.organisation-support-card,.contact-form,.startup-modal-card,.core-skills-v63,.resume-tool-summary-v63,.notable-achievements-v63,.profile-info-card,.profile-skill-card-v77,.skill-group-v78{
    color:var(--mobile-ink)!important;
    border-color:var(--mobile-line)!important;
    background:
      radial-gradient(circle at 100% 0,rgba(35,106,137,.10),transparent 42%),
      linear-gradient(145deg,var(--mobile-surface),var(--mobile-surface-blue))!important;
    box-shadow:var(--mobile-shadow)!important;
  }
  main p,main li,main dt,main dd,main small,main .lead,main .muted,.footer p,.footer small{color:var(--mobile-copy)!important}
  main h1,main h2,main h3,main h4,main strong{color:var(--mobile-ink)!important}
  .kicker,.breadcrumb,.support-label,.project-index,.project-meta{color:var(--mobile-blue-dark)!important}

  /* Buttons and arrows preserve their desktop hierarchy. */
  .button,.button-light,.button-ghost,.filter,.company-wheel-button-v114,.resume-view-button-v86,.resume-download-button-v86{
    color:var(--mobile-blue-dark)!important;
    border-color:rgba(21,77,104,.36)!important;
    background:linear-gradient(145deg,#DDE7E6,#BED3DA)!important;
    box-shadow:0 11px 24px rgba(20,47,61,.14),inset 0 1px 0 rgba(255,255,255,.68)!important;
  }
  .button-sage,.hero-resume-primary-v101,.filter.active,.contact-nudge-v73__button--primary,.company-preview-v78__link{
    color:#fff!important;
    border-color:var(--mobile-blue-dark)!important;
    background:linear-gradient(135deg,var(--mobile-blue-dark),var(--mobile-blue))!important;
  }
  .button-sage *,.hero-resume-primary-v101 *,.filter.active *,.contact-nudge-v73__button--primary *,.company-preview-v78__link *{color:#fff!important}
  .button:not(.button-sage) .ui-arrow-v90,.hero-resume-secondary-v101 .ui-arrow-v90,.company-wheel-button-v114 .ui-arrow-v90{color:var(--mobile-blue-dark)!important}

  /* ---------- Homepage: HR work across APAC and beyond ---------- */
  body.page-home .clients-section{overflow:hidden!important}
  body.page-home .organisation-section-head{
    display:block!important;
    gap:0!important;
  }
  body.page-home .organisation-heading-copy{min-width:0!important}
  body.page-home .organisation-section-head .kicker{
    color:var(--mobile-blue-dark)!important;
    font-size:11px!important;
    letter-spacing:.14em!important;
  }
  body.page-home .organisation-section-head .h2{
    margin-top:13px!important;
    color:var(--mobile-blue-dark)!important;
    font-size:clamp(38px,11.4vw,52px)!important;
    line-height:.98!important;
    letter-spacing:-.055em!important;
    text-shadow:0 1px 0 rgba(255,255,255,.52),0 9px 20px rgba(21,77,104,.14)!important;
  }
  body.page-home .organisation-section-head .display-serif{
    color:var(--mobile-blue)!important;
    -webkit-text-fill-color:currentColor!important;
  }
  body.page-home .organisation-support-card{
    display:block!important;
    min-height:0!important;
    margin:24px 0 0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:none!important;
    box-shadow:none!important;
    overflow:visible!important;
    counter-reset:organisation-summary!important;
  }
  body.page-home .organisation-support-card::before{display:none!important}
  body.page-home .organisation-support-card>p.organisation-support-intro{
    position:relative!important;
    margin:0!important;
    padding:24px 21px 22px 27px!important;
    border:1px solid rgba(21,77,104,.29)!important;
    border-radius:22px!important;
    color:var(--mobile-ink)!important;
    background:
      radial-gradient(circle at 100% 0,rgba(35,106,137,.10),transparent 43%),
      linear-gradient(145deg,#E1E7E5,#C7D9DD)!important;
    box-shadow:0 16px 35px rgba(20,47,61,.15),inset 0 1px 0 rgba(255,255,255,.68)!important;
    font-size:18px!important;
    line-height:1.48!important;
    font-weight:690!important;
    letter-spacing:-.022em!important;
  }
  body.page-home .organisation-support-card>p.organisation-support-intro::before{
    content:"Experience summary"!important;
    display:block!important;
    margin:0 0 10px!important;
    color:var(--mobile-blue-dark)!important;
    font-size:10.5px!important;
    line-height:1.3!important;
    font-weight:850!important;
    letter-spacing:.15em!important;
    text-transform:uppercase!important;
  }
  body.page-home .organisation-support-card>p.organisation-support-intro::after{
    content:""!important;
    position:absolute!important;
    top:18px!important;
    bottom:18px!important;
    left:0!important;
    width:5px!important;
    border-radius:0 5px 5px 0!important;
    background:linear-gradient(180deg,var(--mobile-blue),var(--mobile-teal))!important;
  }
  body.page-home .organisation-support-card .support-detail-list{
    display:grid!important;
    gap:14px!important;
    margin:15px 0 0!important;
  }
  body.page-home .organisation-support-card .support-detail-list>div{
    counter-increment:organisation-summary!important;
    position:relative!important;
    display:block!important;
    min-width:0!important;
    padding:16px!important;
    border:1px solid rgba(21,77,104,.26)!important;
    border-radius:20px!important;
    background:
      radial-gradient(circle at 100% 0,rgba(35,106,137,.09),transparent 43%),
      linear-gradient(145deg,#DCE5E4,#C1D5DB)!important;
    box-shadow:0 13px 29px rgba(20,47,61,.13),inset 0 1px 0 rgba(255,255,255,.64)!important;
  }
  body.page-home .organisation-support-card .support-detail-list>div::before{
    content:counter(organisation-summary,decimal-leading-zero)!important;
    position:absolute!important;
    top:15px!important;
    left:16px!important;
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
    color:#fff!important;
    background:linear-gradient(135deg,var(--mobile-blue-dark),var(--mobile-blue))!important;
    box-shadow:0 8px 17px rgba(21,77,104,.23)!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:850!important;
    letter-spacing:.08em!important;
  }
  body.page-home .organisation-support-card .support-detail-list dt{
    display:flex!important;
    align-items:center!important;
    min-height:38px!important;
    margin:0 0 12px!important;
    padding:0 0 0 50px!important;
    color:var(--mobile-blue-dark)!important;
    font-size:11.5px!important;
    line-height:1.3!important;
    font-weight:850!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
  }
  body.page-home .organisation-support-card .support-detail-list dd{
    margin:0!important;
    color:var(--mobile-ink)!important;
    font-size:16px!important;
    line-height:1.42!important;
    font-weight:620!important;
  }
  body.page-home .support-token-list{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:stretch!important;
    gap:9px!important;
    width:100%!important;
  }
  body.page-home .support-token-list li{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex:1 1 134px!important;
    min-width:0!important;
    min-height:42px!important;
    padding:8px 12px!important;
    border:1px solid rgba(21,77,104,.24)!important;
    border-radius:999px!important;
    color:var(--mobile-blue-dark)!important;
    background:linear-gradient(145deg,#E1E8E6,#C8D8DA)!important;
    box-shadow:0 6px 14px rgba(20,47,61,.09),inset 0 1px 0 rgba(255,255,255,.69)!important;
    font-size:16px!important;
    line-height:1.25!important;
    overflow-wrap:anywhere!important;
  }
  body.page-home .support-token-list li::before{display:none!important;content:none!important}
  body.page-home .support-token-list--environments li{flex-basis:100%!important}
  body.page-home .organisation-company-intro{
    margin:34px 0 18px!important;
    padding-top:24px!important;
    border-top-color:rgba(21,77,104,.22)!important;
  }
  body.page-home .organisation-company-intro p{color:var(--mobile-blue-dark)!important}
  body.page-home .organisation-company-intro span{color:var(--mobile-copy)!important}

  /* ---------- E-resume: career index and role cards ---------- */
  body.page-resume .experience-section{overflow:visible!important}
  body.page-resume .experience-layout{display:block!important}
  body.page-resume .experience-index{
    position:relative!important;
    inset:auto!important;
    z-index:1!important;
    margin:0!important;
    padding:0!important;
    background:none!important;
    contain:none!important;
  }
  body.page-resume .experience-index-sticky{
    position:relative!important;
    inset:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:18px!important;
    border:1px solid rgba(21,77,104,.31)!important;
    border-radius:24px!important;
    color:var(--mobile-ink)!important;
    background:
      radial-gradient(circle at 100% 0,rgba(35,106,137,.12),transparent 42%),
      linear-gradient(145deg,#D9E4E3,#B9CFD5)!important;
    box-shadow:0 18px 42px rgba(20,47,61,.17),inset 0 1px 0 rgba(255,255,255,.68)!important;
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    touch-action:pan-y!important;
  }
  body.page-resume .experience-index-sticky::before{display:none!important}
  body.page-resume .experience-index-sticky>.kicker{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin:0 0 14px!important;
    color:var(--mobile-blue-dark)!important;
  }
  body.page-resume .experience-index-sticky>.kicker::after{
    content:"Tap a role to jump"!important;
    color:var(--mobile-muted)!important;
    font-size:8px!important;
    font-weight:750!important;
    letter-spacing:.10em!important;
    white-space:nowrap!important;
  }
  body.page-resume .experience-nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    width:100%!important;
    overflow:visible!important;
    padding:0!important;
    touch-action:pan-y!important;
  }
  body.page-resume .experience-nav li{width:100%!important;min-width:0!important}
  body.page-resume .experience-tab,body.page-resume .experience-tab:not(.is-active){
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 8px!important;
    align-items:center!important;
    gap:11px!important;
    width:100%!important;
    min-width:0!important;
    min-height:58px!important;
    padding:10px 12px!important;
    border:1px solid rgba(21,77,104,.22)!important;
    border-radius:16px!important;
    color:var(--mobile-ink)!important;
    background:linear-gradient(145deg,#DCE5E4,#C5D7DB)!important;
    box-shadow:0 7px 16px rgba(20,47,61,.08),inset 0 1px 0 rgba(255,255,255,.64)!important;
    text-shadow:none!important;
    transform:none!important;
  }
  body.page-resume .experience-tab-number,body.page-resume .experience-tab:not(.is-active) .experience-tab-number{
    display:grid!important;
    place-items:center!important;
    width:34px!important;
    height:34px!important;
    border:1px solid rgba(21,77,104,.28)!important;
    border-radius:50%!important;
    color:var(--mobile-blue-dark)!important;
    background:rgba(229,237,236,.68)!important;
    font-weight:800!important;
  }
  body.page-resume .experience-tab strong,body.page-resume .experience-tab:not(.is-active) strong{
    display:block!important;
    min-width:0!important;
    color:var(--mobile-ink)!important;
    -webkit-text-fill-color:currentColor!important;
    font-size:12.5px!important;
    line-height:1.25!important;
    overflow-wrap:anywhere!important;
  }
  body.page-resume .experience-tab small{display:none!important}
  body.page-resume .experience-tab-indicator{
    display:block!important;
    width:7px!important;
    height:7px!important;
    border-radius:50%!important;
    background:rgba(21,77,104,.24)!important;
    box-shadow:none!important;
  }
  body.page-resume .experience-tab.is-active{
    color:#fff!important;
    border-color:rgba(21,77,104,.65)!important;
    background:linear-gradient(135deg,var(--mobile-blue-dark),var(--mobile-blue))!important;
    box-shadow:0 12px 26px rgba(21,77,104,.22),inset 0 1px 0 rgba(255,255,255,.15)!important;
  }
  body.page-resume .experience-tab.is-active strong,body.page-resume .experience-tab.is-active .experience-tab-number{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  body.page-resume .experience-tab.is-active .experience-tab-number{
    border-color:rgba(255,255,255,.45)!important;
    background:rgba(255,255,255,.13)!important;
  }
  body.page-resume .experience-tab.is-active .experience-tab-indicator{
    background:#fff!important;
    box-shadow:0 0 0 4px rgba(255,255,255,.10)!important;
  }
  body.page-resume .experience-index-meter{
    display:block!important;
    height:3px!important;
    margin-top:15px!important;
    background:rgba(21,77,104,.13)!important;
  }
  body.page-resume .experience-index-meter span{
    background:linear-gradient(90deg,var(--mobile-blue-dark),var(--mobile-blue),var(--mobile-teal))!important;
    box-shadow:none!important;
  }
  body.page-resume .experience-content{
    position:relative!important;
    display:grid!important;
    gap:18px!important;
    padding-top:24px!important;
  }
  body.page-resume .experience-panel,body.page-resume .experience-panel.is-current{
    display:block!important;
    min-height:0!important;
    padding:24px 20px!important;
    border:1px solid rgba(21,77,104,.29)!important;
    border-radius:24px!important;
    color:var(--mobile-ink)!important;
    background:
      radial-gradient(circle at 100% 0,rgba(35,106,137,.11),transparent 42%),
      linear-gradient(145deg,#D9E4E3,#BFD3D8)!important;
    box-shadow:0 17px 39px rgba(20,47,61,.15),inset 0 1px 0 rgba(255,255,255,.66)!important;
    transform:none!important;
    transition:border-color .24s ease,box-shadow .24s ease!important;
    scroll-margin-top:calc(var(--header) + 16px)!important;
  }
  body.page-resume .experience-panel.is-current{
    border-color:rgba(21,77,104,.49)!important;
    box-shadow:0 20px 46px rgba(20,47,61,.19),inset 0 1px 0 rgba(255,255,255,.70)!important;
  }
  body.page-resume .experience-panel::before{display:none!important}
  body.page-resume .experience-panel::after{
    opacity:.24!important;
    background:radial-gradient(circle,rgba(35,106,137,.17),transparent 68%)!important;
  }
  body.page-resume .experience-panel time{
    display:block!important;
    padding:0!important;
    color:var(--mobile-muted)!important;
    font-size:10.5px!important;
    line-height:1.4!important;
    font-weight:750!important;
    letter-spacing:.12em!important;
  }
  body.page-resume .experience-panel-eyebrow{
    margin:18px 0 19px!important;
    color:var(--mobile-blue-dark)!important;
    font-size:9.5px!important;
    letter-spacing:.14em!important;
  }
  body.page-resume .experience-panel-eyebrow span:first-child{
    width:38px!important;
    height:38px!important;
    color:#fff!important;
    background:linear-gradient(135deg,var(--mobile-blue-dark),var(--mobile-blue))!important;
    box-shadow:0 9px 20px rgba(21,77,104,.21)!important;
  }
  body.page-resume .experience-panel h3{
    margin:0!important;
    color:var(--mobile-blue-dark)!important;
    font-size:clamp(34px,10.5vw,46px)!important;
    line-height:.98!important;
    letter-spacing:-.052em!important;
    text-shadow:0 1px 0 rgba(255,255,255,.50),0 8px 18px rgba(21,77,104,.12)!important;
    overflow-wrap:anywhere!important;
  }
  body.page-resume .experience-panel h4{
    margin:14px 0 23px!important;
    color:var(--mobile-blue)!important;
    font-size:15.5px!important;
    line-height:1.42!important;
    font-weight:750!important;
    text-shadow:none!important;
  }
  body.page-resume .experience-panel ul{
    display:grid!important;
    gap:16px!important;
    margin:0!important;
    color:var(--mobile-copy)!important;
    font-size:15px!important;
    line-height:1.62!important;
  }
  body.page-resume .experience-panel li{
    color:var(--mobile-copy)!important;
    padding-left:22px!important;
  }
  body.page-resume .experience-panel li::before{
    top:.66em!important;
    width:8px!important;
    height:8px!important;
    background:linear-gradient(135deg,var(--mobile-blue),var(--mobile-teal))!important;
    box-shadow:0 0 0 4px rgba(35,106,137,.09)!important;
  }

  /* Mobile skill and achievement components retain the light identity. */
  .interactive-profile-strip .profile-info-card:not(.is-open),.interactive-profile-strip .profile-info-card:not(.is-open):hover,.interactive-profile-strip .profile-info-card:not(.is-open):focus,.interactive-profile-strip .profile-info-card:not(.is-open):focus-within,.profile-strip.profile-strip--three-v64>.profile-info-card,.resume-achievements-list-v92>li{
    color:var(--mobile-ink)!important;
    border-color:var(--mobile-line)!important;
    background:
      radial-gradient(circle at 100% 0,rgba(35,106,137,.10),transparent 42%),
      linear-gradient(145deg,#D9E4E3,#BDD2D7)!important;
    box-shadow:var(--mobile-shadow)!important;
  }
  .profile-info-card>b,.profile-skill-card-v77>b,.resume-achievements-list-v92 strong{color:var(--mobile-blue-dark)!important}
  .profile-card-cue-v65,.profile-card-cue-v65 span,.profile-skill-card-v77 .skill-group-v78 h3{color:var(--mobile-blue-dark)!important}
  .resume-achievements-list-v92 p,.resume-achievements-list-v92 small{color:var(--mobile-copy)!important}

  /* Avoid horizontal clipping on narrow phones. */
  .container,.experience-layout,.experience-content,.experience-index,.organisation-support-card,.support-detail-list,.company-wheel-guide-v114,.company-preview-v78{max-width:100%!important;min-width:0!important}
}

@media (max-width:360px){
  body.page-home .support-token-list li{flex-basis:100%!important}
  body.page-home .organisation-section-head .h2{font-size:38px!important}
  body.page-resume .experience-panel h3{font-size:34px!important}
  body.page-resume .experience-index-sticky>.kicker::after{font-size:7.2px!important}
}

/* ==========================================================
   V133 — MOBILE ABOUT IMMERSIVE STORY STAGE
   Full-bleed sticky image at the top; chapter copy scrolls underneath and is
   naturally masked by the image. A bottom indicator tracks the active chapter.
   Desktop layout is unchanged.
   ========================================================== */

/* Small descriptive heading for the transferable-skill tags. */
.personal-interest-title{
  margin:0 0 12px;
  color:#154D68;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.12em;
  text-transform:uppercase;
}

@media (max-width:760px){
  :root{
    --about-mobile-image-height:clamp(236px,35svh,306px);
    --about-mobile-indicator-space:104px;
  }

  body.page-about{
    overflow-x:clip!important;
    overflow-y:visible!important;
  }
  body.page-about main,body.page-about .about-story-section,body.page-about .about-story-section>.container,body.page-about .about-scroll-layout--mobile-stage,body.page-about .about-story-stream{
    overflow:visible!important;
  }

  .about-scroll-layout--mobile-stage .about-portrait-column{
    display:none!important;
  }

  /* Let the immersive stage reach both sides of the phone viewport. */
  .about-story-section-v63>.container{
    width:100%!important;
    max-width:none!important;
    padding-inline:0!important;
  }
  .about-story-section-v63 .section-head{
    padding-inline:var(--pad)!important;
  }
  .about-scroll-layout--mobile-stage,.about-scroll-layout--mobile-stage .about-story-stream{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  .about-scroll-layout--mobile-stage .about-story-stream{
    position:relative!important;
    padding:0 0 calc(var(--about-mobile-indicator-space) + env(safe-area-inset-bottom,0px))!important;
  }

  /* The image is first in normal flow, then sticks flush to the top. Because it
     is opaque and above the copy, text disappears cleanly behind it. */
  .about-scroll-layout--mobile-stage .about-portrait-sticky--mobile-stage{
    position:sticky!important;
    top:0!important;
    z-index:80!important;
    display:block!important;
    width:100vw!important;
    max-width:none!important;
    min-height:0!important;
    margin:0 calc(50% - 50vw)!important;
    padding:0!important;
    border:0!important;
    border-radius:0 0 28px 28px!important;
    isolation:isolate!important;
    overflow:visible!important;
    background:#BFD1D6!important;
    box-shadow:
      0 22px 50px rgba(25,56,72,.24),
      0 7px 18px rgba(25,56,72,.12)!important;
  }

  /* A solid lower mask and soft fade prevent any copy from peeking above or
     through the image while it scrolls underneath. */
  .about-scroll-layout--mobile-stage .about-portrait-sticky--mobile-stage::before{
    content:"";
    position:absolute;
    inset:-2px -2px auto;
    height:18px;
    z-index:5;
    pointer-events:none;
    background:#C9D9DC;
  }
  .about-scroll-layout--mobile-stage .about-portrait-sticky--mobile-stage::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-46px;
    height:58px;
    z-index:5;
    pointer-events:none;
    background:linear-gradient(180deg,#BED1D6 0 66%,rgba(190,209,214,.94) 78%,transparent 100%);
  }

  .about-scroll-layout--mobile-stage .about-portrait-sticky--mobile-stage .about-portrait-frame{
    width:100vw!important;
    max-width:none!important;
    height:var(--about-mobile-image-height)!important;
    margin:0!important;
    aspect-ratio:auto!important;
    border:0!important;
    border-radius:0 0 28px 28px!important;
    overflow:hidden!important;
    background:#BFD1D6!important;
    box-shadow:none!important;
  }
  .about-scroll-layout--mobile-stage .about-portrait-swap{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 36%!important;
  }
  .about-scroll-layout--mobile-stage .about-portrait-swap[data-about-portrait="career"]{
    object-position:center 42%!important;
  }
  .about-scroll-layout--mobile-stage .about-portrait-swap[data-about-portrait="personal"]{
    object-position:center 40%!important;
  }
  .about-scroll-layout--mobile-stage .about-portrait-swap[data-about-portrait="goals"]{
    object-position:center 34%!important;
  }
  .about-scroll-layout--mobile-stage .about-portrait-caption,.about-scroll-layout--mobile-stage .about-chapter-progress{
    display:none!important;
  }

  /* Each chapter behaves like the lower portion of a full-screen story rather
     than a separate floating card. */
  .about-scroll-layout--mobile-stage .about-story-panel,.about-scroll-layout--mobile-stage .about-story-panel.is-active{
    position:relative!important;
    z-index:2!important;
    display:block!important;
    width:100vw!important;
    min-width:0!important;
    min-height:calc(100svh - var(--about-mobile-image-height))!important;
    margin:0 calc(50% - 50vw)!important;
    padding:clamp(34px,8vw,46px) max(24px,var(--pad)) calc(var(--about-mobile-indicator-space) + 28px + env(safe-area-inset-bottom,0px))!important;
    border:0!important;
    border-radius:0!important;
    background:
      radial-gradient(circle at 100% 0,rgba(37,109,137,.10),transparent 44%),
      linear-gradient(160deg,#DCE7E7 0%,#C7DADD 54%,#D5E1DD 100%)!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.62),
      inset 0 -1px 0 rgba(21,77,104,.12)!important;
    transform:none!important;
  }
  .about-scroll-layout--mobile-stage .about-story-panel.is-active{
    background:
      radial-gradient(circle at 100% 0,rgba(37,109,137,.14),transparent 44%),
      linear-gradient(160deg,#E1E9E8 0%,#C2D7DC 54%,#D2DFDA 100%)!important;
  }
  .about-scroll-layout--mobile-stage .about-story-label{
    display:none!important;
  }
  .about-scroll-layout--mobile-stage .about-story-panel>div:last-child{
    display:grid!important;
    align-content:start!important;
    gap:22px!important;
  }
  .about-scroll-layout--mobile-stage .about-story-panel p{
    max-width:none!important;
    margin:0!important;
    color:#294B5A!important;
    font-size:clamp(17px,4.75vw,20px)!important;
    line-height:1.56!important;
    letter-spacing:-.012em!important;
  }
  .about-scroll-layout--mobile-stage .about-story-points{
    gap:12px!important;
    margin:2px 0 0!important;
  }
  .about-scroll-layout--mobile-stage .about-story-points li{
    color:#315564!important;
    font-size:14.5px!important;
    line-height:1.5!important;
  }

  /* Smaller, organised transferable-skill tags. */
  .about-scroll-layout--mobile-stage .personal-interest-title{
    margin:4px 0 -8px!important;
    color:#154D68!important;
    font-size:10.5px!important;
    font-weight:850!important;
    line-height:1.35!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
  }
  .about-scroll-layout--mobile-stage .personal-interest-tags{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(126px,1fr))!important;
    gap:8px!important;
    margin:0!important;
  }
  .about-scroll-layout--mobile-stage .personal-interest-tags span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:38px!important;
    padding:7px 10px!important;
    color:#294F60!important;
    border:1px solid rgba(21,77,104,.24)!important;
    border-radius:13px!important;
    background:linear-gradient(145deg,#DDE7E6,#C3D6D9)!important;
    box-shadow:
      0 6px 14px rgba(25,56,72,.09),
      inset 0 1px 0 rgba(255,255,255,.66)!important;
    font-size:11.5px!important;
    font-weight:690!important;
    line-height:1.25!important;
    text-align:center!important;
  }

  .about-mobile-section-indicator{
    position:fixed;
    left:14px;
    right:14px;
    bottom:calc(12px + env(safe-area-inset-bottom,0px));
    z-index:2147481800;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:13px;
    min-height:68px;
    padding:11px 17px;
    color:#154D68;
    border:1px solid rgba(21,77,104,.42);
    border-radius:999px;
    background:linear-gradient(145deg,rgba(235,241,240,.97),rgba(197,216,221,.97));
    box-shadow:
      0 20px 48px rgba(20,47,61,.26),
      0 6px 16px rgba(20,47,61,.12),
      inset 0 1px 0 rgba(255,255,255,.80);
    -webkit-backdrop-filter:blur(14px) saturate(112%);
    backdrop-filter:blur(14px) saturate(112%);
    opacity:0;
    visibility:hidden;
    transform:translate3d(0,calc(100% + 28px),0);
    transition:opacity .24s ease,visibility .24s ease,transform .34s cubic-bezier(.22,.8,.25,1);
    pointer-events:none;
  }
  .about-mobile-section-indicator.is-visible{
    opacity:1;
    visibility:visible;
    transform:translate3d(0,0,0);
  }
  .about-mobile-section-indicator__number{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    color:#fff;
    border-radius:50%;
    background:linear-gradient(135deg,#154D68,#28728E);
    box-shadow:0 8px 18px rgba(21,77,104,.25),inset 0 1px 0 rgba(255,255,255,.18);
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
  }
  .about-mobile-section-indicator__title{
    min-width:0;
    color:#154D68;
    font-size:clamp(14px,4vw,17px);
    font-weight:780;
    line-height:1.18;
    letter-spacing:.025em;
    text-transform:uppercase;
  }
  body.about-mobile-stage-active .back-top-v23{
    bottom:calc(94px + env(safe-area-inset-bottom,0px))!important;
  }
}

@media (max-width:350px){
  :root{
    --about-mobile-image-height:clamp(218px,33svh,264px);
    --about-mobile-indicator-space:96px;
  }
  .about-scroll-layout--mobile-stage .about-story-panel,.about-scroll-layout--mobile-stage .about-story-panel.is-active{
    padding-inline:19px!important;
  }
  .about-scroll-layout--mobile-stage .about-story-panel p{
    font-size:16.5px!important;
    line-height:1.52!important;
  }
  .about-scroll-layout--mobile-stage .personal-interest-tags{
    grid-template-columns:1fr 1fr!important;
  }
  .about-scroll-layout--mobile-stage .personal-interest-tags span{
    font-size:10.5px!important;
    padding-inline:7px!important;
  }
  .about-mobile-section-indicator{
    left:10px;
    right:10px;
    min-height:62px;
    padding:9px 13px;
  }
  .about-mobile-section-indicator__number{
    width:39px;
    height:39px;
  }
}

/* ==========================================================
   V134 — MOBILE ABOUT STORY FLOW AND MASK CORRECTION
   Removes forced full-height chapter gaps and confines the image mask to the
   actual image boundary so copy disappears only when it reaches the image.
   ========================================================== */
@media (max-width:760px){
  /* Chapters now connect continuously instead of each reserving an empty
     screen-height block after its content. */
  .about-scroll-layout--mobile-stage .about-story-stream{
    gap:0!important;
    padding-bottom:calc(var(--about-mobile-indicator-space) + 22px + env(safe-area-inset-bottom,0px))!important;
  }

  .about-scroll-layout--mobile-stage .about-story-panel,.about-scroll-layout--mobile-stage .about-story-panel.is-active{
    min-height:0!important;
    margin:0 calc(50% - 50vw)!important;
    padding:clamp(26px,6.8vw,36px) max(24px,var(--pad)) clamp(28px,7vw,38px)!important;
  }

  .about-scroll-layout--mobile-stage .about-story-panel + .about-story-panel{
    border-top:1px solid rgba(21,77,104,.14)!important;
  }

  /* The sticky image itself is already opaque and sits above the chapter
     copy. Keep only a small internal edge treatment; never extend the mask
     below the image, which previously cropped text too early. */
  .about-scroll-layout--mobile-stage .about-portrait-sticky--mobile-stage::after{
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:18px!important;
    background:linear-gradient(180deg,transparent,rgba(190,209,214,.46))!important;
  }

  .about-scroll-layout--mobile-stage .about-story-panel>div:last-child{
    gap:18px!important;
  }

  .about-scroll-layout--mobile-stage .about-story-points{
    margin:0!important;
  }

  .about-scroll-layout--mobile-stage .personal-interest-title{
    margin:2px 0 -6px!important;
  }

  /* The final chapter alone leaves a comfortable clearing above the fixed
     indicator; earlier chapters transition directly into the next chapter. */
  .about-scroll-layout--mobile-stage .about-story-panel:last-child{
    padding-bottom:calc(var(--about-mobile-indicator-space) + 30px + env(safe-area-inset-bottom,0px))!important;
  }
}


/* ==========================================================
   V135 — MOBILE ABOUT STORY SPACING, LABEL CONSISTENCY, AND
   TAG OVERLAP CORRECTION
   Removes remaining dead space, adds consistent section subtitles,
   and restores clear separation between paragraph copy and keyword tags.
   ========================================================== */
@media (max-width:760px){
  .about-scroll-layout--mobile-stage .about-story-stream{
    gap:0!important;
    padding-bottom:calc(var(--about-mobile-indicator-space) + 8px + env(safe-area-inset-bottom,0px))!important;
  }

  .about-scroll-layout--mobile-stage .about-story-panel,.about-scroll-layout--mobile-stage .about-story-panel.is-active{
    min-height:auto!important;
    padding:clamp(20px,5.6vw,30px) max(24px,var(--pad)) clamp(18px,5vw,26px)!important;
  }

  .about-scroll-layout--mobile-stage .about-story-panel:last-child{
    padding-bottom:calc(var(--about-mobile-indicator-space) + 12px + env(safe-area-inset-bottom,0px))!important;
  }

  .about-scroll-layout--mobile-stage .about-story-panel>div:last-child{
    gap:14px!important;
  }

  .about-scroll-layout--mobile-stage .about-story-panel p{
    margin:0!important;
  }

  .about-scroll-layout--mobile-stage .about-story-subtitle,.about-scroll-layout--mobile-stage .personal-interest-title{
    display:block!important;
    margin:4px 0 0!important;
    color:#154D68!important;
    font-size:10.5px!important;
    font-weight:850!important;
    line-height:1.42!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
  }

  .about-scroll-layout--mobile-stage .about-story-points{
    display:grid!important;
    gap:10px!important;
    margin:0!important;
    padding:0!important;
  }

  .about-scroll-layout--mobile-stage .about-story-points li{
    margin:0!important;
  }

  .about-scroll-layout--mobile-stage .personal-interest-tags{
    margin-top:0!important;
    gap:10px!important;
  }

  .about-scroll-layout--mobile-stage .personal-interest-tags span{
    min-height:42px!important;
    padding:9px 10px!important;
  }
}

@media (max-width:350px){
  .about-scroll-layout--mobile-stage .about-story-panel,.about-scroll-layout--mobile-stage .about-story-panel.is-active{
    padding-top:18px!important;
    padding-bottom:18px!important;
  }

  .about-scroll-layout--mobile-stage .about-story-panel:last-child{
    padding-bottom:calc(var(--about-mobile-indicator-space) + 10px + env(safe-area-inset-bottom,0px))!important;
  }

  .about-scroll-layout--mobile-stage .about-story-subtitle,.about-scroll-layout--mobile-stage .personal-interest-title{
    font-size:10px!important;
  }
}

/* ==========================================================
   V136 — MOBILE ABOUT: UNIFIED SKILL CARDS AND TRUE END-OF-STORY FLOW
   Uses one consistent skills treatment in every chapter, creates deliberate
   spacing around the skills heading, and removes the two residual bottom
   spacers that produced the persistent blank area after the final chapter.
   ========================================================== */
@media (max-width:760px){
  /* The fixed chapter indicator does not need separate space after the story.
     Let the following section begin exactly when the final chapter ends. */
  body.page-about .about-story-section{
    padding-bottom:0!important;
  }

  .about-scroll-layout--mobile-stage .about-story-stream{
    gap:0!important;
    padding-bottom:0!important;
  }

  .about-scroll-layout--mobile-stage .about-story-panel,.about-scroll-layout--mobile-stage .about-story-panel.is-active{
    padding:clamp(22px,5.8vw,30px) max(24px,var(--pad)) clamp(22px,5.8vw,30px)!important;
  }

  .about-scroll-layout--mobile-stage .about-story-panel:last-child{
    padding-bottom:clamp(24px,6vw,32px)!important;
  }

  /* Explicit spacing prevents the heading from visually attaching itself to
     either the paragraph above or the cards below. */
  .about-scroll-layout--mobile-stage .about-story-panel>div:last-child{
    display:block!important;
  }

  .about-scroll-layout--mobile-stage .about-story-panel p{
    margin:0 0 clamp(22px,5.7vw,30px)!important;
  }

  .about-scroll-layout--mobile-stage .about-story-subtitle,.about-scroll-layout--mobile-stage .personal-interest-title{
    display:block!important;
    margin:0 0 12px!important;
    padding:0!important;
    color:#154D68!important;
    font-size:10.5px!important;
    font-weight:850!important;
    line-height:1.45!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
  }

  /* All four chapters now use the same visual language. The existing semantic
     lists remain lists, but visually become the same organised cards as the
     creative-experience tags. */
  .about-scroll-layout--mobile-stage .about-story-points,.about-scroll-layout--mobile-stage .personal-interest-tags{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }

  .about-scroll-layout--mobile-stage .about-story-points li,.about-scroll-layout--mobile-stage .personal-interest-tags span{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    min-height:48px!important;
    margin:0!important;
    padding:10px 12px!important;
    color:#294F60!important;
    border:1px solid rgba(21,77,104,.25)!important;
    border-radius:14px!important;
    background:linear-gradient(145deg,#DDE7E6,#C3D6D9)!important;
    box-shadow:
      0 7px 16px rgba(25,56,72,.10),
      inset 0 1px 0 rgba(255,255,255,.68)!important;
    font-size:12px!important;
    font-weight:690!important;
    line-height:1.3!important;
    text-align:center!important;
  }

  .about-scroll-layout--mobile-stage .about-story-points li::before{
    content:none!important;
    display:none!important;
  }

  /* A third, unmatched card spans the row instead of leaving an awkward hole. */
  .about-scroll-layout--mobile-stage .about-story-points li:last-child:nth-child(odd),.about-scroll-layout--mobile-stage .personal-interest-tags span:last-child:nth-child(odd){
    grid-column:1 / -1!important;
  }

  .about-scroll-layout--mobile-stage .about-story-panel + .about-story-panel{
    margin-top:0!important;
  }
}

@media (max-width:350px){
  .about-scroll-layout--mobile-stage .about-story-panel,.about-scroll-layout--mobile-stage .about-story-panel.is-active{
    padding-top:20px!important;
    padding-bottom:20px!important;
  }

  .about-scroll-layout--mobile-stage .about-story-panel:last-child{
    padding-bottom:22px!important;
  }

  .about-scroll-layout--mobile-stage .about-story-panel p{
    margin-bottom:20px!important;
  }

  .about-scroll-layout--mobile-stage .about-story-points,.about-scroll-layout--mobile-stage .personal-interest-tags{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .about-scroll-layout--mobile-stage .about-story-points li,.about-scroll-layout--mobile-stage .personal-interest-tags span{
    min-height:44px!important;
    font-size:11.5px!important;
  }
}

/* ==========================================================
   V136.1 — MOBILE ABOUT SAFARI PAINT AND CHAPTER-TIMING FINISH
   ========================================================== */
@media (max-width:760px){
  /* Avoid Safari reserving an intrinsic blank region while the sticky story
     hands off to the following About section. */
  body.page-about .about-story-section,body.page-about .about-credentials-v64{
    content-visibility:visible!important;
    contain-intrinsic-size:none!important;
  }

  /* Override the older, more specific zero-margin paragraph rule. */
  .about-scroll-layout--mobile-stage
    .about-story-panel>.about-story-label + div>p{
    margin:0 0 clamp(22px,5.7vw,30px)!important;
  }

  .about-scroll-layout--mobile-stage .personal-interest-tags span::before,.about-scroll-layout--mobile-stage .personal-interest-tags span::after{
    content:none!important;
    display:none!important;
  }
}

@media (max-width:760px){
  body.page-about,body.page-about main{
    max-width:100vw!important;
    overflow-x:hidden!important;
  }
  body.page-about .inner-hero{
    overflow:hidden!important;
  }
}

/* ==========================================================
   V137 — MOBILE ABOUT STICKY PHOTO RESTORATION
   V136's final horizontal-overflow safeguard used overflow-x:hidden on main.
   CSS then computed overflow-y:auto, creating a non-scrolling containing block
   that caused the sticky photo to move off-screen. Use overflow:clip/visible
   instead and remove the legacy reveal transform from the sticky stage only.
   ========================================================== */
@media (max-width:760px){
  html,body.page-about{
    max-width:100%!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
  }

  body.page-about main{
    max-width:100%!important;
    overflow:visible!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
  }

  body.page-about .about-story-section,body.page-about .about-story-section>.container,body.page-about .about-scroll-layout--mobile-stage,body.page-about .about-story-stream{
    overflow:visible!important;
    overflow-x:clip!important;
    overflow-y:visible!important;
  }

  .about-scroll-layout--mobile-stage .about-portrait-sticky--mobile-stage{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:0!important;
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    filter:none!important;
    animation:none!important;
    transition:none!important;
    will-change:auto!important;
  }

  .about-scroll-layout--mobile-stage .about-portrait-sticky--mobile-stage .about-portrait-frame{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
  }
}

/* ==========================================================
   V138 — PRE-LAUNCH VISUAL POLISH AND RESPONSIVE QA PASS
   Final alignment, hierarchy, typography, contrast and touch-target tuning.
   This pass preserves the established HR palette, animations and interactions.
   ========================================================== */

/* ---------- Global editorial rhythm ---------- */
:root{
  --launch-ink:#173E54;
  --launch-copy:#3C5967;
  --launch-muted:#54707D;
  --launch-blue:#1D6484;
  --launch-blue-deep:#124A67;
  --launch-line:rgba(18,74,103,.24);
}

main :is(h1,h2,h3,h4,h5,h6){
  text-wrap:balance;
}
main :is(p,li,dd){
  text-wrap:pretty;
}

.section-head,.experience-section-head,.document-library-head-v63,.notable-achievements-head-v63{
  align-items:end;
}

.section-head .h2,.experience-section-head .h2,.document-library-head-v63 h2,.notable-achievements-head-v63 h2{
  line-height:.98!important;
  letter-spacing:-.045em!important;
}

/* ---------- Consistent buttons and arrows ---------- */
.button,.button-light,.button-ghost,.button-sage,.resume-view-button-v86,.resume-download-button-v86,.company-preview-v78__link,.company-wheel-button-v114,.contact-nudge-v73__button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:48px!important;
  line-height:1.2!important;
  text-align:center!important;
}

.button .ui-arrow-v90,.button-light .ui-arrow-v90,.button-ghost .ui-arrow-v90,.button-sage .ui-arrow-v90,.company-preview-v78__link .ui-arrow-v90,.company-wheel-button-v114 .ui-arrow-v90{
  flex:0 0 auto!important;
  margin:0!important;
}

/* ---------- Resume / impact editorial hero metadata ---------- */
.inner-hero--editorial .editorial-hero-facts{
  overflow:hidden!important;
  align-self:stretch!important;
  border:1px solid rgba(18,74,103,.30)!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 100% 0,rgba(37,109,137,.10),transparent 44%),
    linear-gradient(145deg,rgba(226,235,235,.94),rgba(190,210,217,.91))!important;
  box-shadow:
    0 16px 36px rgba(22,52,68,.16),
    inset 0 1px 0 rgba(255,255,255,.66)!important;
}

.inner-hero--editorial .editorial-hero-facts>span,.inner-hero--editorial .editorial-hero-facts>span:nth-child(n){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:62px!important;
  padding:14px 18px!important;
  color:var(--launch-blue-deep)!important;
  border-color:rgba(18,74,103,.18)!important;
  background:rgba(230,237,237,.32)!important;
  font-size:10.5px!important;
  font-weight:800!important;
  line-height:1.38!important;
  letter-spacing:.075em!important;
  text-align:center!important;
  text-transform:uppercase!important;
  opacity:1!important;
}

.inner-hero--editorial .editorial-hero-facts>span:hover{
  color:#0D3850!important;
  background:rgba(240,244,243,.56)!important;
}

/* Impact metrics keep their numerical hierarchy. */
.inner-hero--editorial .editorial-hero-facts--metrics>span,.inner-hero--editorial .editorial-hero-facts--metrics>span:nth-child(n){
  min-height:86px!important;
  padding:16px 12px!important;
  font-size:9px!important;
}
.inner-hero--editorial .editorial-hero-facts--metrics strong{
  margin-bottom:7px!important;
  color:var(--launch-blue-deep)!important;
  font-size:clamp(21px,2vw,30px)!important;
  line-height:1!important;
}

/* ---------- Card content consistency ---------- */
:is(.stat,.impact-card,.skill-card,.resume-card,.contact-card,.document-card-v63,
    .privacy-card-v97,.resume-achievements-list-v92>li,.profile-info-card,
    .skill-group-v78,.company-preview-v78,.experience-panel){
  color:var(--launch-ink)!important;
}

:is(.stat,.impact-card,.skill-card,.resume-card,.contact-card,.document-card-v63,
    .privacy-card-v97,.resume-achievements-list-v92>li,.profile-info-card,
    .skill-group-v78,.company-preview-v78,.experience-panel)
:is(p,li,dd,small){
  color:var(--launch-copy)!important;
}

:is(.impact-card,.skill-card,.resume-card,.contact-card,.document-card-v63,
    .privacy-card-v97,.resume-achievements-list-v92>li,.profile-info-card,
    .skill-group-v78,.company-preview-v78,.experience-panel)
:is(h2,h3,h4,strong){
  color:var(--launch-ink)!important;
  line-height:1.18!important;
}

/* Labels should feel deliberate rather than incidental. */
:is(.kicker,.breadcrumb,.support-label,.project-index,.project-meta,
    .experience-panel-eyebrow,.company-preview-v78__eyebrow,
    .document-card-v63__eyebrow,.about-story-subtitle){
  color:var(--launch-blue-deep)!important;
  font-weight:800!important;
}

/* Forms and interactive fields. */
.contact-form label{
  display:block!important;
  margin-bottom:8px!important;
  color:var(--launch-blue-deep)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
.contact-form :is(input,textarea){
  min-height:50px!important;
  padding:14px 16px!important;
  color:var(--launch-ink)!important;
  font-size:16px!important;
  line-height:1.45!important;
}
.contact-form textarea{min-height:150px!important}

/* Keyboard-visible states for launch accessibility. */
:is(a,button,[tabindex]):focus-visible{
  outline:3px solid rgba(29,100,132,.42)!important;
  outline-offset:4px!important;
}

/* ---------- Mobile polish ---------- */
@media (max-width:760px){
  body{
    font-size:16px!important;
  }

  main :is(p,li,dd){
    color:var(--launch-copy)!important;
    line-height:1.58!important;
  }

  .section,.section-tight,.section-light,.section-dark{
    scroll-margin-top:calc(var(--header) + 14px)!important;
  }

  .section-head,.experience-section-head,.document-library-head-v63,.notable-achievements-head-v63{
    gap:12px!important;
    align-items:start!important;
  }

  .section-head .h2,.experience-section-head .h2,.document-library-head-v63 h2,.notable-achievements-head-v63 h2{
    font-size:clamp(40px,12.2vw,54px)!important;
    line-height:.94!important;
    max-width:12ch!important;
  }

  .inner-hero--editorial{
    gap:22px!important;
    padding-bottom:clamp(50px,13vw,68px)!important;
  }

  .inner-hero--editorial .editorial-hero-meta{
    gap:22px!important;
  }

  .inner-hero--editorial .editorial-hero-meta .lead{
    max-width:none!important;
    color:var(--launch-copy)!important;
    font-size:clamp(16.5px,4.5vw,19px)!important;
    line-height:1.55!important;
  }

  /* A balanced 2 × 2 credential grid gives each fact equal visual importance. */
  .inner-hero--editorial .editorial-hero-facts:not(.editorial-hero-facts--metrics){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    border-radius:20px!important;
  }

  .inner-hero--editorial .editorial-hero-facts:not(.editorial-hero-facts--metrics)>span,.inner-hero--editorial .editorial-hero-facts:not(.editorial-hero-facts--metrics)>span:nth-child(n){
    min-height:78px!important;
    padding:13px 10px!important;
    border-top:0!important;
    border-left:0!important;
    border-right:1px solid rgba(18,74,103,.17)!important;
    border-bottom:1px solid rgba(18,74,103,.17)!important;
    font-size:clamp(9.5px,2.8vw,11px)!important;
    line-height:1.38!important;
    letter-spacing:.055em!important;
  }

  .inner-hero--editorial .editorial-hero-facts:not(.editorial-hero-facts--metrics)>span:nth-child(2n){
    border-right:0!important;
  }
  .inner-hero--editorial .editorial-hero-facts:not(.editorial-hero-facts--metrics)>span:nth-last-child(-n/**/+2){
    border-bottom:0!important;
  }

  .inner-hero--editorial .editorial-hero-facts--metrics{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .inner-hero--editorial .editorial-hero-facts--metrics>span,.inner-hero--editorial .editorial-hero-facts--metrics>span:nth-child(n){
    min-height:82px!important;
    padding:13px 7px!important;
    border-top:0!important;
    border-left:1px solid rgba(18,74,103,.17)!important;
    font-size:8.5px!important;
    line-height:1.3!important;
  }
  .inner-hero--editorial .editorial-hero-facts--metrics>span:first-child{
    border-left:0!important;
  }
  .inner-hero--editorial .editorial-hero-facts--metrics strong{
    font-size:clamp(19px,6vw,24px)!important;
  }

  /* Cards: consistent readable padding and separation. */
  :is(.impact-card,.skill-card,.resume-card,.contact-card,.document-card-v63,
      .privacy-card-v97,.resume-achievements-list-v92>li,.profile-info-card,
      .company-preview-v78,.experience-panel){
    border-radius:22px!important;
  }

  :is(.impact-card,.skill-card,.resume-card,.contact-card,.document-card-v63,
      .privacy-card-v97,.resume-achievements-list-v92>li,.company-preview-v78){
    padding:clamp(20px,5.5vw,28px)!important;
  }

  :is(.impact-card,.skill-card,.resume-card,.contact-card,.document-card-v63,
      .privacy-card-v97,.resume-achievements-list-v92>li,.company-preview-v78)
  :is(h2,h3,h4,strong){
    line-height:1.18!important;
  }

  .button,.button-light,.button-ghost,.button-sage,.resume-view-button-v86,.resume-download-button-v86,.company-preview-v78__link,.contact-nudge-v73__button{
    min-height:50px!important;
    padding:13px 18px!important;
    font-size:13px!important;
  }

  /* Touch controls remain large and aligned. */
  :is(.menu-toggle,.company-wheel-button-v114,.back-top-v23__disc){
    min-width:46px!important;
    min-height:46px!important;
  }

  /* Career index and experience panels. */
  .experience-index-sticky{
    padding:clamp(22px,6vw,30px)!important;
  }
  .experience-tab{
    min-height:64px!important;
    padding:12px 14px!important;
  }
  .experience-tab strong{
    line-height:1.22!important;
  }
  .experience-panel{
    padding:clamp(26px,7vw,36px) clamp(22px,6vw,30px)!important;
  }
  .experience-panel h3{
    line-height:1.02!important;
  }
  .experience-panel li{
    line-height:1.55!important;
  }

  /* APAC summary and token cards. */
  body.page-home .support-detail-list>div{
    padding:20px!important;
  }
  body.page-home .support-detail-list dt{
    margin-bottom:12px!important;
    line-height:1.3!important;
  }
  body.page-home .support-token-list{
    gap:9px!important;
  }
  body.page-home .support-token-list li{
    min-height:42px!important;
    padding:9px 12px!important;
    line-height:1.25!important;
  }

  /* Avoid floating controls covering the final line of card copy. */
  .back-top-v23{
    bottom:max(88px,calc(76px + env(safe-area-inset-bottom,0px)))!important;
  }
}

@media (max-width:350px){
  .inner-hero--editorial .editorial-hero-facts:not(.editorial-hero-facts--metrics)>span,.inner-hero--editorial .editorial-hero-facts:not(.editorial-hero-facts--metrics)>span:nth-child(n){
    min-height:74px!important;
    padding:11px 8px!important;
    font-size:9px!important;
  }

  .section-head .h2,.experience-section-head .h2,.document-library-head-v63 h2,.notable-achievements-head-v63 h2{
    font-size:clamp(37px,12vw,46px)!important;
  }
}

/* Final small-label legibility adjustments discovered during the launch audit. */
.company-card-hint-v78{
  font-size:9px!important;
  line-height:1.2!important;
  letter-spacing:.055em!important;
}
.profile-card-cue-v65,.profile-card-cue-v65__default,.profile-card-cue-v65__active{
  font-size:9.5px!important;
  line-height:1.35!important;
  letter-spacing:.075em!important;
}
@media (max-width:760px){
  .company-card-hint-v78{font-size:9px!important}
  .profile-card-cue-v65,.profile-card-cue-v65__default,.profile-card-cue-v65__active{font-size:9.5px!important}
}

/* Credential facts read as meaningful profile highlights rather than tiny labels. */
.inner-hero--editorial .editorial-hero-facts:not(.editorial-hero-facts--metrics)>span,.inner-hero--editorial .editorial-hero-facts:not(.editorial-hero-facts--metrics)>span:nth-child(n){
  font-size:12px!important;
  font-weight:760!important;
  line-height:1.34!important;
  letter-spacing:.012em!important;
  text-transform:none!important;
}
@media (max-width:760px){
  .inner-hero--editorial .editorial-hero-facts:not(.editorial-hero-facts--metrics)>span,.inner-hero--editorial .editorial-hero-facts:not(.editorial-hero-facts--metrics)>span:nth-child(n){
    font-size:clamp(11.5px,3.15vw,12.5px)!important;
    letter-spacing:.008em!important;
  }
}
@media (max-width:350px){
  .inner-hero--editorial .editorial-hero-facts:not(.editorial-hero-facts--metrics)>span,.inner-hero--editorial .editorial-hero-facts:not(.editorial-hero-facts--metrics)>span:nth-child(n){
    font-size:10.8px!important;
  }
}

/* ==========================================================
   V139 — ABOUT CHAPTER SYNC AND IMPACT METRIC POLISH
   ========================================================== */
.inner-hero--editorial .editorial-hero-facts--metrics>span,.inner-hero--editorial .editorial-hero-facts--metrics>span:nth-child(n){
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.inner-hero--editorial .editorial-hero-facts--metrics strong{
  display:block!important;
  margin:0!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  text-align:center!important;
}

.inner-hero--editorial .editorial-hero-facts--metrics small{
  display:block!important;
  width:100%!important;
  margin:0!important;
  color:var(--launch-blue-deep)!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1.28!important;
  letter-spacing:.055em!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}

@media (max-width:760px){
  .inner-hero--editorial .editorial-hero-facts--metrics{
    overflow:visible!important;
  }

  .inner-hero--editorial .editorial-hero-facts--metrics>span,.inner-hero--editorial .editorial-hero-facts--metrics>span:nth-child(n){
    min-height:96px!important;
    padding:14px 5px!important;
    gap:7px!important;
  }

  .inner-hero--editorial .editorial-hero-facts--metrics strong{
    font-size:clamp(20px,6.4vw,26px)!important;
  }

  .inner-hero--editorial .editorial-hero-facts--metrics small{
    max-width:12ch!important;
    font-size:clamp(7.6px,2.25vw,9px)!important;
    line-height:1.24!important;
    letter-spacing:.035em!important;
  }

  /* A two-item final skills set should remain balanced after removing the
     unwanted language item. */
  .about-scroll-layout--mobile-stage [data-about-state="goals"] .about-story-points{
    grid-template-columns:1fr 1fr!important;
  }
  .about-scroll-layout--mobile-stage [data-about-state="goals"] .about-story-points li{
    grid-column:auto!important;
    min-height:58px!important;
  }
}

@media (max-width:350px){
  .inner-hero--editorial .editorial-hero-facts--metrics>span,.inner-hero--editorial .editorial-hero-facts--metrics>span:nth-child(n){
    min-height:92px!important;
    padding-inline:3px!important;
  }

  .inner-hero--editorial .editorial-hero-facts--metrics strong{
    font-size:clamp(18px,6.2vw,22px)!important;
  }

  .inner-hero--editorial .editorial-hero-facts--metrics small{
    font-size:7.3px!important;
  }
}

/* ==========================================================
   V141 — RELIABLE SMART PERSISTENT NAVIGATION
   The hidden state uses margin movement plus clipping, rather than transform.
   This prevents reduced-motion or entrance-animation rules from leaving a
   visible navbar whose pointer events have already been disabled.
   ========================================================== */
.site-header,.site-header.is-scrolled,.page-contact .site-header,body.menu-open .site-header{
  --smart-nav-hidden-offset:-128px;
  position:fixed!important;
  top:0!important;
  right:0!important;
  left:0!important;
  z-index:500!important;
  margin-top:0!important;
  transform:none!important;
  clip-path:inset(0 0 0 0)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  backface-visibility:hidden;
  will-change:margin-top,opacity,clip-path;
  transition:
    margin-top .22s cubic-bezier(.2,.75,.25,1),
    clip-path .22s cubic-bezier(.2,.75,.25,1),
    opacity .16s ease,
    background-color .28s ease,
    border-color .28s ease,
    box-shadow .28s ease!important;
}

.site-header.hide,body.page-home .site-header.hide,body:not(.page-home) .site-header.hide{
  margin-top:var(--smart-nav-hidden-offset)!important;
  transform:none!important;
  clip-path:inset(0 0 100% 0)!important;
  opacity:0!important;
  visibility:visible!important;
  pointer-events:none!important;
}

body.menu-open .site-header,.site-header:focus-within,.site-header:not(.hide){
  margin-top:0!important;
  transform:none!important;
  clip-path:inset(0 0 0 0)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

@media (max-width:760px){
  .site-header,.site-header.is-scrolled,.page-contact .site-header,body.menu-open .site-header{
    --smart-nav-hidden-offset:-112px;
  }
}

@media (prefers-reduced-motion:reduce){
  .site-header,.site-header.is-scrolled,.page-contact .site-header,body.menu-open .site-header{
    transform:none!important;
    transition:
      margin-top .12s linear,
      clip-path .12s linear,
      opacity .10s linear,
      background-color .12s linear,
      border-color .12s linear,
      box-shadow .12s linear!important;
  }
}


/* ==========================================================
   V142 — RESILIENT ROUTE CURTAIN + SMOOTHER SMART NAVIGATION
   ========================================================== */




.site-header,.site-header.is-scrolled,.page-contact .site-header,body.menu-open .site-header{
  transition:
    margin-top 420ms cubic-bezier(.22,1,.36,1),
    clip-path 420ms cubic-bezier(.22,1,.36,1),
    opacity 280ms ease,
    background-color 300ms ease,
    border-color 300ms ease,
    box-shadow 300ms ease!important;
}
.site-header.hide,body.page-home .site-header.hide,body:not(.page-home) .site-header.hide{
  transition:
    margin-top 330ms cubic-bezier(.4,0,.2,1),
    clip-path 330ms cubic-bezier(.4,0,.2,1),
    opacity 230ms ease,
    background-color 260ms ease,
    border-color 260ms ease,
    box-shadow 260ms ease!important;
}

@media (prefers-reduced-motion:reduce){
  
  .site-header,.site-header.is-scrolled,.page-contact .site-header,body.menu-open .site-header,.site-header.hide,body.page-home .site-header.hide,body:not(.page-home) .site-header.hide{
    transition:
      margin-top 180ms ease,
      clip-path 180ms ease,
      opacity 140ms ease,
      background-color 180ms ease,
      border-color 180ms ease,
      box-shadow 180ms ease!important;
  }
}


/* ==========================================================
   V143 — ABOUT PORTRAIT STABILITY + COMPOSITOR-SAFE SMART NAV
   The fixed navbar now animates only on its own GPU layer instead of changing
   margin and clip geometry. This prevents the sticky About portrait layer from
   being repainted and repositioned during header hide/show transitions.
   ========================================================== */
.site-header,.site-header.is-scrolled,.page-contact .site-header,body.menu-open .site-header{
  margin-top:0!important;
  clip-path:none!important;
  transform:translate3d(0,0,0)!important;
  backface-visibility:hidden!important;
  will-change:transform,opacity!important;
  transition:
    transform 420ms cubic-bezier(.22,1,.36,1),
    opacity 260ms ease,
    background-color 300ms ease,
    border-color 300ms ease,
    box-shadow 300ms ease!important;
}

.site-header.hide,body.page-home .site-header.hide,body:not(.page-home) .site-header.hide{
  margin-top:0!important;
  clip-path:none!important;
  transform:translate3d(0,calc(-100% - 18px),0)!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:
    transform 330ms cubic-bezier(.4,0,.2,1),
    opacity 220ms ease,
    background-color 260ms ease,
    border-color 260ms ease,
    box-shadow 260ms ease!important;
}

body.menu-open .site-header,.site-header:focus-within,.site-header:not(.hide){
  margin-top:0!important;
  clip-path:none!important;
  transform:translate3d(0,0,0)!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* Keep the desktop portrait and frame on a stable paint layer as the fixed
   navigation animates independently above them. */
body.page-about .about-portrait-sticky,body.page-about .about-portrait-frame{
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}

/* The portrait is a persistent scroll reference, not an entrance card. Remove
   the generic blur/reveal transform from this one element on both desktop and
   mobile so scrolling or header movement can never shift its sticky layer. */
html.v30-scroll-blur-js body.page-about .about-portrait-sticky[data-v30-scroll-blur="true"],body.page-about .about-portrait-sticky[data-v30-scroll-blur="true"]{
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  transform:translate3d(0,0,0)!important;
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
}

@media (max-width:760px){
  .about-scroll-layout--mobile-stage .about-portrait-sticky--mobile-stage{
    transform:translate3d(0,0,0)!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
    contain:paint!important;
    will-change:auto!important;
  }

  .about-scroll-layout--mobile-stage .about-portrait-sticky--mobile-stage .about-portrait-frame{
    transform:translate3d(0,0,0)!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
    contain:paint!important;
  }

  /* Mobile chapter changes use a clean opacity crossfade. Removing filter and
     geometry interpolation avoids the brief jump that looked like image jitter. */
  .about-scroll-layout--mobile-stage .about-portrait-swap,.about-scroll-layout--mobile-stage .about-portrait-swap.is-active{
    transform:translate3d(0,0,0)!important;
    filter:none!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
    will-change:opacity!important;
    transition:opacity 320ms cubic-bezier(.22,1,.36,1)!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .site-header,.site-header.is-scrolled,.page-contact .site-header,body.menu-open .site-header{
    transform:translate3d(0,0,0)!important;
    transition:
      transform 180ms ease,
      opacity 140ms ease,
      background-color 180ms ease,
      border-color 180ms ease,
      box-shadow 180ms ease!important;
  }
  .site-header.hide,body.page-home .site-header.hide,body:not(.page-home) .site-header.hide{
    transform:translate3d(0,calc(-100% - 18px),0)!important;
    opacity:0!important;
  }
  .about-scroll-layout--mobile-stage .about-portrait-swap,.about-scroll-layout--mobile-stage .about-portrait-swap.is-active{
    transition:opacity 120ms linear!important;
  }
}


/* ==========================================================
   V144 — MOBILE ABOUT PORTRAIT GEOMETRY LOCK
   The sticky portrait now uses only stable inline geometry. It no longer
   depends on svh, 100vw offsets, transformed sticky wrappers or paint
   containment, all of which can move by a few pixels while mobile browser
   chrome and the smart navbar change compositor state during scrolling.
   ========================================================== */
@media (max-width:760px){
  .about-scroll-layout--mobile-stage{
    --about-mobile-locked-image-height:clamp(244px,68vw,300px);
  }

  .about-scroll-layout--mobile-stage .about-story-stream{
    width:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
    transform:none!important;
    contain:none!important;
  }

  .about-scroll-layout--mobile-stage .about-portrait-sticky--mobile-stage{
    position:-webkit-sticky!important;
    position:sticky!important;
    inset:auto!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    max-width:100%!important;
    height:var(--about-mobile-locked-image-height)!important;
    min-height:var(--about-mobile-locked-image-height)!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    translate:none!important;
    scale:none!important;
    rotate:none!important;
    contain:none!important;
    will-change:auto!important;
    backface-visibility:visible!important;
    -webkit-backface-visibility:visible!important;
    isolation:auto!important;
    overflow:hidden!important;
    border-radius:0 0 28px 28px!important;
  }

  .about-scroll-layout--mobile-stage .about-portrait-sticky--mobile-stage::before{
    inset:0 0 auto!important;
  }

  .about-scroll-layout--mobile-stage .about-portrait-sticky--mobile-stage::after{
    inset:auto 0 0!important;
  }

  .about-scroll-layout--mobile-stage .about-portrait-sticky--mobile-stage .about-portrait-frame{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:100%!important;
    margin:0!important;
    transform:none!important;
    translate:none!important;
    contain:none!important;
    will-change:auto!important;
    backface-visibility:visible!important;
    -webkit-backface-visibility:visible!important;
    border-radius:0 0 28px 28px!important;
  }

  .about-scroll-layout--mobile-stage .about-portrait-swap,.about-scroll-layout--mobile-stage .about-portrait-swap.is-active{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    transform:none!important;
    translate:none!important;
    scale:none!important;
    contain:none!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
  }

  /* The navbar remains smooth, but the About portrait is kept in a separate,
     non-transformed sticky formatting context. */
  body.page-about.about-mobile-stage-active .site-header{
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
  }
}

@media (max-width:350px){
  .about-scroll-layout--mobile-stage{
    --about-mobile-locked-image-height:clamp(224px,70vw,258px);
  }
}

/* V144 supplementary stability: prevent scroll anchoring from compensating
   when the active portrait opacity changes. */
@media (max-width:760px){
  .about-scroll-layout--mobile-stage,.about-scroll-layout--mobile-stage .about-story-stream,.about-scroll-layout--mobile-stage .about-portrait-sticky--mobile-stage,.about-scroll-layout--mobile-stage .about-portrait-frame,.about-scroll-layout--mobile-stage .about-portrait-swap{
    overflow-anchor:none!important;
  }
}

/* ==========================================================
   V145 — LIGHTWEIGHT CV-FIRST HOMEPAGE + PERFORMANCE CLEANUP
   Blobby, the blocking intro and branded route curtain are removed.
   ========================================================== */
html{scroll-padding-top:calc(var(--header) + 18px)}
body.page-ready-v145{animation:v145PageIn .22s ease-out both;background-attachment:scroll!important}
@keyframes v145PageIn{from{opacity:.001}to{opacity:1}}
@media (prefers-reduced-motion:reduce){body.page-ready-v145{animation:none!important}}

/* The removed decorative systems must never reserve paint or interaction work. */


/* Persistent CV access. */
.desktop-nav{gap:clamp(14px,1.7vw,28px)!important}
.desktop-nav .nav-cv-download-v145{
  display:inline-flex;align-items:center;justify-content:center;min-height:38px;
  padding:0 17px;border:1px solid rgba(31,86,117,.30);border-radius:999px;
  color:#fff!important;background:linear-gradient(135deg,var(--hr-blue-dark),var(--hr-blue));
  box-shadow:0 8px 22px rgba(31,86,117,.17);letter-spacing:.09em;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease!important
}
.desktop-nav .nav-cv-download-v145::after{display:none!important}
.desktop-nav .nav-cv-download-v145:hover,.desktop-nav .nav-cv-download-v145:focus-visible{
  color:#fff!important;transform:translateY(-2px);box-shadow:0 13px 28px rgba(31,86,117,.24)
}
.menu-links .menu-cv-download-v145{color:var(--hr-blue)!important}
.menu-links .menu-cv-download-v145::after{content:"PDF";margin-left:auto;font-size:10px;letter-spacing:.18em;color:var(--hr-blue-dark)}

/* Home landing screen. */
.page-home main{overflow:clip}
.home-landing-v145{
  position:relative;min-height:100svh;padding:calc(var(--header) + 42px) var(--pad) 52px;
  display:grid;align-items:center;isolation:isolate;
  background:
    radial-gradient(circle at 88% 18%,rgba(43,110,146,.13),transparent 34vw),
    radial-gradient(circle at 8% 86%,rgba(127,159,139,.11),transparent 30vw),
    linear-gradient(145deg,#F7F3EA 0%,#EAF2F6 58%,#EDF3EE 100%)
}
.home-landing-v145::before{
  content:"";position:absolute;inset:var(--header) 0 auto;height:1px;
  background:linear-gradient(90deg,var(--hr-blue-dark) 0 20%,rgba(31,86,117,.12) 20% 100%)
}
.home-landing-inner-v145{
  width:min(1420px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.72fr);
  gap:clamp(48px,7vw,112px);align-items:center
}
.home-landing-copy-v145{position:relative;z-index:2;max-width:900px}
.home-landing-kicker-v145{margin:0 0 24px}
.home-landing-welcome-v145{margin:0 0 11px;color:var(--hr-blue-dark)!important;font-size:clamp(17px,1.55vw,23px);font-weight:700;letter-spacing:-.02em}
.home-landing-title-v145{margin:0;color:var(--hr-ink-strong);font-size:clamp(56px,7.2vw,118px);font-weight:800;line-height:.91;letter-spacing:-.064em;text-wrap:balance}
.home-landing-title-v145 .display-serif{display:inline-block;color:var(--hr-blue)!important}
.home-landing-lead-v145{max-width:760px;margin:clamp(27px,3vw,42px) 0 0;color:var(--hr-copy)!important;font-size:clamp(18px,1.7vw,26px);line-height:1.48;text-wrap:pretty}
.home-landing-actions-v145{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:34px}
.home-cv-primary-v145{color:#fff!important;border-color:var(--hr-blue-dark)!important;background:linear-gradient(135deg,var(--hr-blue-dark),var(--hr-blue));box-shadow:0 15px 34px rgba(31,86,117,.20);z-index:0}
.home-cv-primary-v145::before{background:var(--hr-ink-strong)!important}
.home-explore-v145{z-index:0}
.home-contact-link-v145{display:inline-flex;align-items:center;gap:8px;padding:13px 8px;color:var(--hr-blue-dark);font-size:12px;font-weight:800;letter-spacing:.10em;text-transform:uppercase}
.home-contact-link-v145 span{transition:transform .25s ease}.home-contact-link-v145:hover span{transform:translate(3px,-3px)}
.home-landing-meta-v145{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;max-width:680px;margin:38px 0 0;padding:0;overflow:hidden;border:1px solid var(--hr-line);border-radius:20px;background:var(--hr-line);list-style:none;box-shadow:var(--hr-shadow)}
.home-landing-meta-v145 li{display:grid;gap:4px;padding:18px 20px;background:rgba(255,255,255,.76)}
.home-landing-meta-v145 strong{color:var(--hr-blue-dark);font-size:12px;letter-spacing:.10em;text-transform:uppercase}
.home-landing-meta-v145 span{color:var(--hr-copy);font-size:13px;line-height:1.35}
.home-landing-portrait-v145{position:relative;margin:0;align-self:center;justify-self:end;width:min(100%,480px)}
.home-landing-portrait-v145::before{content:"";position:absolute;inset:8% -7% -7% 9%;z-index:-1;border-radius:46% 46% 28px 28px;background:linear-gradient(145deg,rgba(43,110,146,.18),rgba(127,159,139,.24))}
.home-landing-portrait-v145 img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:46% 46% 24px 24px;box-shadow:0 34px 85px rgba(36,59,74,.20)}
.home-landing-portrait-v145 figcaption{position:absolute;right:-18px;bottom:24px;padding:11px 15px;border:1px solid rgba(31,86,117,.18);border-radius:999px;color:var(--hr-blue-dark);background:rgba(255,255,255,.90);box-shadow:0 14px 34px rgba(36,59,74,.14);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.home-continue-v145{position:absolute;left:var(--pad);bottom:24px;display:flex;align-items:center;gap:12px;color:var(--hr-blue-dark);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.home-continue-v145 i{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--hr-line-strong);border-radius:50%;font-style:normal}

/* Calm, book-like homepage sections. */
.home-section-v145{position:relative;display:flex;align-items:center;min-height:min(900px,88svh);padding:clamp(86px,9vw,138px) 0;border-top:1px solid var(--hr-line)}
.home-section-v145:nth-of-type(even){background:linear-gradient(145deg,rgba(234,242,246,.96),rgba(247,243,234,.97))}
.home-section-v145:nth-of-type(odd){background:linear-gradient(145deg,rgba(255,253,249,.97),rgba(237,243,238,.96))}
.home-section-heading-v145{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.72fr);gap:clamp(38px,7vw,110px);align-items:end;margin-bottom:clamp(44px,5vw,72px)}
.home-section-heading-v145 h2,.home-final-cta-v145 h2{margin:0;color:var(--hr-blue);font-size:clamp(46px,6vw,90px);line-height:.94;letter-spacing:-.055em}
.home-section-heading-v145 .kicker,.home-final-cta-v145 .kicker{margin:0 0 17px}
.home-section-heading-v145>p{max-width:560px;margin:0;color:var(--hr-copy)!important;font-size:clamp(16px,1.45vw,21px);line-height:1.55}
.home-snapshot-grid-v145{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--hr-line-strong);border-radius:26px;background:rgba(255,255,255,.66);box-shadow:var(--hr-shadow)}
.home-snapshot-grid-v145 article{min-height:180px;padding:27px 25px;border-right:1px solid var(--hr-line);display:flex;flex-direction:column;justify-content:space-between}
.home-snapshot-grid-v145 article:last-child{border-right:0}.home-snapshot-grid-v145 article>span{color:var(--hr-blue);font-size:11px;font-weight:800;letter-spacing:.16em}
.home-snapshot-grid-v145 strong{display:block;margin-top:32px;color:var(--hr-ink-strong);font-size:clamp(22px,2.2vw,34px);letter-spacing:-.035em}
.home-snapshot-grid-v145 p{margin:7px 0 0;color:var(--hr-copy)!important;font-size:13px;line-height:1.45}
.home-inline-link-v145{display:inline-flex;gap:8px;margin-top:28px;color:var(--hr-blue-dark);font-size:12px;font-weight:800;letter-spacing:.10em;text-transform:uppercase}
.home-evidence-grid-v145{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.home-evidence-grid-v145 article{min-height:240px;padding:30px 26px;border:1px solid var(--hr-line);border-radius:24px;background:rgba(255,255,255,.72);box-shadow:0 12px 35px rgba(36,59,74,.07);display:flex;flex-direction:column;justify-content:space-between}
.home-evidence-grid-v145 b{color:var(--hr-blue);font-size:clamp(46px,4.8vw,76px);line-height:.9;letter-spacing:-.065em}
.home-evidence-grid-v145 span{max-width:220px;color:var(--hr-copy);font-size:13px;font-weight:650;line-height:1.45}
.home-secondary-cta-v145{margin-top:30px;z-index:0}
.home-focus-grid-v145{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-focus-grid-v145>a{position:relative;min-height:350px;padding:30px 29px;border:1px solid var(--hr-line);border-radius:26px;background:linear-gradient(150deg,rgba(255,255,255,.90),rgba(221,234,240,.76));box-shadow:0 14px 40px rgba(36,59,74,.08);display:flex;flex-direction:column;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.home-focus-grid-v145>a:hover{transform:translateY(-6px);border-color:var(--hr-line-strong);box-shadow:0 23px 55px rgba(36,59,74,.13)}
.home-focus-grid-v145 small{color:var(--hr-blue);font-size:11px;font-weight:800;letter-spacing:.16em}
.home-focus-grid-v145 h3{margin:58px 0 18px;color:var(--hr-ink-strong)!important;font-size:clamp(27px,2.5vw,40px);line-height:1.04;letter-spacing:-.045em}
.home-focus-grid-v145 p{margin:0;color:var(--hr-copy)!important;font-size:15px;line-height:1.58}
.home-focus-grid-v145>a>span{margin-top:auto;padding-top:28px;color:var(--hr-blue-dark);font-size:11px;font-weight:800;letter-spacing:.10em;text-transform:uppercase}
.home-organisations-v145{min-height:auto;padding-block:clamp(90px,10vw,150px)}
.home-organisations-v145 .company-wheel-guide-v114{margin-top:0}
.home-organisations-v145 .company-wheel-v78{margin-top:28px}
.home-final-cta-v145{padding:clamp(90px,10vw,150px) 0;border-top:1px solid var(--hr-line);background:linear-gradient(140deg,var(--hr-surface-blue),var(--hr-surface-sage))}
.home-final-cta-inner-v145{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:end}
.home-final-actions-v145{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}

@media (max-width:1100px){
  .home-landing-inner-v145{grid-template-columns:minmax(0,1fr) minmax(280px,.58fr);gap:42px}
  .home-landing-title-v145{font-size:clamp(52px,7.7vw,82px)}
  .home-snapshot-grid-v145,.home-evidence-grid-v145{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-snapshot-grid-v145 article:nth-child(2){border-right:0}.home-snapshot-grid-v145 article:nth-child(-n/**/+2){border-bottom:1px solid var(--hr-line)}
  .home-focus-grid-v145{grid-template-columns:1fr}
  .home-focus-grid-v145>a{min-height:260px}
}

@media (max-width:760px){
  .home-landing-v145{min-height:auto;padding:calc(var(--header) + 32px) var(--pad) 42px}
  .home-landing-inner-v145{display:flex;flex-direction:column;gap:28px}
  .home-landing-copy-v145{max-width:none}
  .home-landing-kicker-v145{margin-bottom:17px;font-size:10px;line-height:1.55}
  .home-landing-welcome-v145{font-size:17px}
  .home-landing-title-v145{font-size:clamp(43px,13.5vw,62px);line-height:.94}
  .home-landing-lead-v145{margin-top:22px;font-size:17px;line-height:1.52}
  .home-landing-actions-v145{display:grid;grid-template-columns:1fr;margin-top:26px}
  .home-landing-actions-v145 .button{width:100%;min-height:52px}
  .home-contact-link-v145{justify-content:center}
  .home-landing-meta-v145{margin-top:27px}
  .home-landing-meta-v145 li{padding:14px}
  .home-landing-portrait-v145{order:-1;width:min(76vw,330px);align-self:center;justify-self:center}
  .home-landing-portrait-v145 img{aspect-ratio:4/4.45;object-position:center 27%}
  .home-landing-portrait-v145 figcaption{right:50%;bottom:12px;transform:translateX(50%);white-space:nowrap}
  .home-continue-v145{display:none}
  .home-section-v145{display:block;min-height:0;padding:78px 0}
  .home-section-heading-v145{display:block;margin-bottom:36px}
  .home-section-heading-v145 h2,.home-final-cta-v145 h2{font-size:clamp(40px,12vw,56px)}
  .home-section-heading-v145>p{margin-top:24px;font-size:16px}
  .home-snapshot-grid-v145,.home-evidence-grid-v145{grid-template-columns:1fr}
  .home-snapshot-grid-v145 article{min-height:128px;border-right:0;border-bottom:1px solid var(--hr-line)}
  .home-snapshot-grid-v145 article:nth-child(2){border-bottom:1px solid var(--hr-line)}
  .home-snapshot-grid-v145 article:last-child{border-bottom:0}
  .home-snapshot-grid-v145 strong{margin-top:20px}
  .home-evidence-grid-v145 article{min-height:185px}
  .home-evidence-grid-v145 span{max-width:none}
  .home-focus-grid-v145>a{min-height:290px;padding:25px}
  .home-focus-grid-v145 h3{margin-top:42px}
  .home-final-cta-inner-v145{display:block}
  .home-final-actions-v145{display:grid;grid-template-columns:1fr;margin-top:32px}
  .home-final-actions-v145 .button{width:100%}
  .menu-links .menu-cv-download-v145::after{display:none}
}

@media (max-width:390px){
  .home-landing-meta-v145{grid-template-columns:1fr}
  .home-landing-title-v145{font-size:clamp(40px,13vw,51px)}
  .home-landing-portrait-v145{width:min(84vw,310px)}
}

/* V145 mobile priority correction: the CV hook must appear before the portrait. */
@media (max-width:760px){
  .home-landing-portrait-v145{order:initial!important;width:min(72vw,300px)!important;margin-top:10px}
  .home-landing-portrait-v145 figcaption{display:none}
}

/* The simplified homepage is small enough to paint immediately; never leave a
   blank placeholder while a visitor scrolls quickly through it. */
.page-home .home-section-v145,.page-home .home-final-cta-v145{
  content-visibility:visible!important;
  contain-intrinsic-size:none!important;
}

/* CV is the unmistakable primary action. */
.home-cv-primary-v145{
  color:#fff!important;
  border-color:var(--hr-blue-dark)!important;
  background:linear-gradient(135deg,var(--hr-blue-dark),var(--hr-blue))!important;
  box-shadow:0 15px 34px rgba(31,86,117,.20)!important;
}
.home-cv-primary-v145:hover,.home-cv-primary-v145:focus-visible{
  color:#fff!important;background:var(--hr-ink-strong)!important;border-color:var(--hr-ink-strong)!important;
}
body.page-home .button.home-cv-primary-v145,body.page-home .button.home-cv-primary-v145:visited{
  color:#fff!important;
  border-color:var(--hr-blue-dark)!important;
  background:linear-gradient(135deg,var(--hr-blue-dark),var(--hr-blue))!important;
}
body.page-home .button.home-cv-primary-v145:hover,body.page-home .button.home-cv-primary-v145:focus-visible{
  color:#fff!important;background:var(--hr-ink-strong)!important;border-color:var(--hr-ink-strong)!important;
}


/* ==========================================================
   V146 — RELAXED LANDING PORTRAIT + CLEAR CTA HIERARCHY
   Restores the wider portrait treatment and makes the CV, full
   E-Resume and contact actions visually unmistakable.
   ========================================================== */
.home-landing-portrait-v145{
  width:min(100%,510px)!important;
  padding:clamp(12px,1.5vw,18px)!important;
  border:1px solid rgba(31,86,117,.18)!important;
  border-radius:34px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(224,236,239,.82))!important;
  box-shadow:0 30px 76px rgba(36,59,74,.16)!important;
}
.home-landing-portrait-v145::before{
  inset:7% -6% -6% 10%!important;
  border-radius:36px!important;
  opacity:.72!important;
}
.home-landing-portrait-v145 img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:24px!important;
  box-shadow:none!important;
  transform:none!important;
}
.home-landing-portrait-v145 figcaption{
  right:18px!important;
  bottom:18px!important;
}

.home-landing-actions-v145{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:12px!important;
  width:min(100%,720px)!important;
  margin-top:36px!important;
}
.home-cv-primary-v146{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  width:100%!important;
  min-height:78px!important;
  padding:17px 23px!important;
  border-radius:18px!important;
  text-align:left!important;
  overflow:hidden!important;
}
.home-cv-primary-v146::after{
  content:"↓"!important;
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:50%!important;
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  font-size:19px!important;
  line-height:1!important;
  transition:transform .25s ease,background .25s ease!important;
}
.home-cv-primary-v146:hover::after,
.home-cv-primary-v146:focus-visible::after{
  transform:translateY(3px)!important;
  background:rgba(255,255,255,.18)!important;
}
.home-cv-primary-v146__label{
  display:block!important;
  color:#fff!important;
  font-size:clamp(17px,1.35vw,21px)!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.015em!important;
  text-transform:none!important;
}
.home-cv-primary-v146 small{
  grid-column:1!important;
  display:block!important;
  margin-top:5px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.25!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.home-secondary-actions-v146{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.home-cta-secondary-v146,
.home-section-cta-v146{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:54px!important;
  padding:14px 20px!important;
  border:1px solid rgba(31,86,117,.30)!important;
  border-radius:15px!important;
  color:var(--hr-blue-dark)!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 9px 24px rgba(36,59,74,.08)!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:.055em!important;
  text-align:center!important;
  text-transform:uppercase!important;
  transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease!important;
}
.home-cta-secondary-v146:hover,
.home-cta-secondary-v146:focus-visible,
.home-section-cta-v146:hover,
.home-section-cta-v146:focus-visible{
  transform:translateY(-2px)!important;
  border-color:var(--hr-blue)!important;
  color:var(--hr-blue-dark)!important;
  background:#fff!important;
  box-shadow:0 14px 30px rgba(36,59,74,.13)!important;
}
.home-contact-cta-v146{
  border-color:rgba(77,115,94,.34)!important;
  color:#315C4C!important;
  background:linear-gradient(145deg,rgba(239,246,241,.96),rgba(216,232,221,.90))!important;
}
.home-contact-cta-v146:hover,
.home-contact-cta-v146:focus-visible{
  border-color:#4D735E!important;
  color:#254B3D!important;
}
.home-section-cta-v146{
  width:max-content!important;
  max-width:100%!important;
  margin-top:30px!important;
}
.home-final-actions-v145{
  display:grid!important;
  grid-template-columns:minmax(210px,1.2fr) minmax(190px,1fr)!important;
  gap:12px!important;
  width:min(100%,620px)!important;
}
.home-final-actions-v145 .home-final-primary-v146{
  grid-column:1/-1!important;
  min-height:60px!important;
}
.home-final-actions-v145 .home-cta-secondary-v146{
  width:100%!important;
}

@media(max-width:1100px){
  .home-landing-portrait-v145{width:min(100%,440px)!important}
  .home-final-cta-inner-v145{grid-template-columns:minmax(0,1fr) minmax(420px,.8fr)!important}
}

@media(max-width:760px){
  .home-landing-portrait-v145{
    width:min(82vw,330px)!important;
    margin-top:12px!important;
    padding:10px!important;
    border-radius:27px!important;
  }
  .home-landing-portrait-v145 img{border-radius:19px!important}
  .home-landing-actions-v145{margin-top:28px!important}
  .home-cv-primary-v146{
    min-height:74px!important;
    padding:15px 17px!important;
    border-radius:16px!important;
  }
  .home-cv-primary-v146::after{width:38px!important;height:38px!important}
  .home-secondary-actions-v146{grid-template-columns:1fr!important}
  .home-cta-secondary-v146,.home-section-cta-v146{width:100%!important;min-height:54px!important}
  .home-final-actions-v145{grid-template-columns:1fr!important;width:100%!important}
  .home-final-actions-v145 .home-final-primary-v146{grid-column:auto!important}
}

/* V146 colour lock: older generic non-sage button rules target all child
   elements. The primary CV CTA must keep white text in every state. */
body.page-home .button.home-cv-primary-v146,
body.page-home .button.home-cv-primary-v146:visited,
body.page-home .button.home-cv-primary-v146 *,
body.page-home .button.home-cv-primary-v146:visited *{
  color:#fff!important;
}
body.page-home .button.home-cv-primary-v146 small{
  color:rgba(255,255,255,.78)!important;
}
.home-cv-primary-v146::after{display:none!important}
.home-cv-primary-v146__icon{
  grid-column:2!important;
  grid-row:1/3!important;
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:50%!important;
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  font-size:19px!important;
  line-height:1!important;
  transition:transform .25s ease,background .25s ease!important;
}
.home-cv-primary-v146:hover .home-cv-primary-v146__icon,
.home-cv-primary-v146:focus-visible .home-cv-primary-v146__icon{
  transform:translateY(3px)!important;
  background:rgba(255,255,255,.18)!important;
}
@media(max-width:760px){
  .home-cv-primary-v146__icon{width:38px!important;height:38px!important}
}


/* ==========================================================
   V147 — SITE-WIDE CTA COLOUR + COMFORTABLE SPACING PASS
   Keeps real actions consistently blue and prevents controls,
   cards and section transitions from feeling visually cramped.
   ========================================================== */
:root{
  --cta-blue:#2B6E92;
  --cta-blue-dark:#1F5675;
  --cta-blue-hover:#174760;
  --cta-focus:rgba(43,110,146,.34);
}

/* Every genuine .button action uses the same blue visual language. */
a.button,
button.button,
input.button,
.resume-view-button-v86,
.resume-download-button-v86,
.home-cta-secondary-v146,
.home-section-cta-v146,
.contact-nudge-v73__button,
.company-preview-v78__link{
  min-height:54px!important;
  padding:14px 22px!important;
  border:1px solid var(--cta-blue)!important;
  border-radius:15px!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--cta-blue-dark),var(--cta-blue))!important;
  box-shadow:0 10px 25px rgba(31,86,117,.18)!important;
  line-height:1.25!important;
  text-align:center!important;
}
a.button *,
button.button *,
.resume-view-button-v86 *,
.resume-download-button-v86 *,
.home-cta-secondary-v146 *,
.home-section-cta-v146 *,
.contact-nudge-v73__button *,
.company-preview-v78__link *{
  color:#fff!important;
}
a.button:hover,
a.button:focus-visible,
button.button:hover,
button.button:focus-visible,
.resume-view-button-v86:hover,
.resume-view-button-v86:focus-visible,
.resume-download-button-v86:hover,
.resume-download-button-v86:focus-visible,
.home-cta-secondary-v146:hover,
.home-cta-secondary-v146:focus-visible,
.home-section-cta-v146:hover,
.home-section-cta-v146:focus-visible,
.contact-nudge-v73__button:hover,
.contact-nudge-v73__button:focus-visible,
.company-preview-v78__link:hover,
.company-preview-v78__link:focus-visible{
  color:#fff!important;
  border-color:var(--cta-blue-hover)!important;
  background:var(--cta-blue-hover)!important;
  box-shadow:0 15px 34px rgba(31,86,117,.25)!important;
}
a.button:focus-visible,
button.button:focus-visible,
.contact-nudge-v73__button:focus-visible,
.company-preview-v78__link:focus-visible{
  outline:3px solid var(--cta-focus)!important;
  outline-offset:3px!important;
}

/* The CV download remains the strongest action through size and depth. */
.home-cv-primary-v145,
.home-cv-primary-v146,
.home-final-primary-v146,
.desktop-nav .nav-cv-download-v145{
  color:#fff!important;
  border-color:var(--cta-blue-dark)!important;
  background:linear-gradient(135deg,#174760 0%,#236585 52%,#3180A8 100%)!important;
  box-shadow:0 16px 38px rgba(23,71,96,.26)!important;
}
.home-cv-primary-v145 *,
.home-cv-primary-v146 *,
.home-final-primary-v146 *{
  color:#fff!important;
}

/* Remove the one-off green Contact treatment so actions remain recognisably blue. */
.home-contact-cta-v146,
.home-contact-cta-v146:hover,
.home-contact-cta-v146:focus-visible{
  color:#fff!important;
  border-color:var(--cta-blue)!important;
  background:linear-gradient(135deg,var(--cta-blue-dark),var(--cta-blue))!important;
}

/* Give related controls a predictable gap instead of allowing tight clusters. */
.home-landing-actions-v145,
.home-secondary-actions-v146,
.home-final-actions-v145,
.resume-choice-actions-v86,
.digital-card-actions-v63,
.about-contact-actions-v64,
.jaj-live-actions,
.hero-resume-actions-v101,
.hero-sub>div{
  gap:16px!important;
}
.resume-choice-v86,
.digital-card-copy-v63,
.about-contact-copy-v64{
  row-gap:18px!important;
}
.resume-choice-actions-v86,
.digital-card-actions-v63,
.about-contact-actions-v64{
  margin-top:32px!important;
}

/* Reserve an intentional lower band for the desktop landing continuation CTA. */
@media(min-width:761px){
  .home-landing-v145{
    min-height:max(100svh,860px)!important;
    padding-bottom:clamp(132px,14vh,172px)!important;
  }
  .home-landing-inner-v145{
    padding-bottom:20px!important;
  }
  .home-landing-meta-v145{
    margin-top:42px!important;
  }
  .home-continue-v145{
    left:var(--pad)!important;
    bottom:36px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    min-height:50px!important;
    max-width:calc(100% - (var(--pad) * 2))!important;
    padding:8px 9px 8px 20px!important;
    border:1px solid var(--cta-blue)!important;
    border-radius:999px!important;
    color:#fff!important;
    background:linear-gradient(135deg,var(--cta-blue-dark),var(--cta-blue))!important;
    box-shadow:0 12px 30px rgba(31,86,117,.20)!important;
    line-height:1.25!important;
    transition:transform .25s ease,background .25s ease,box-shadow .25s ease!important;
  }
  .home-continue-v145 span{color:#fff!important}
  .home-continue-v145 i{
    flex:0 0 auto!important;
    width:34px!important;
    height:34px!important;
    border-color:rgba(255,255,255,.40)!important;
    color:#fff!important;
    background:rgba(255,255,255,.10)!important;
  }
  .home-continue-v145:hover,
  .home-continue-v145:focus-visible{
    transform:translateY(-2px)!important;
    background:var(--cta-blue-hover)!important;
    box-shadow:0 16px 36px rgba(31,86,117,.27)!important;
  }
}

/* Consistent breathing room inside the homepage content cards. */
.home-snapshot-grid-v145 article{
  padding:30px 27px!important;
}
.home-evidence-grid-v145 article,
.home-focus-grid-v145>a{
  padding:32px 29px!important;
}
.home-final-cta-inner-v145{
  gap:clamp(42px,6vw,76px)!important;
}

@media(max-width:760px){
  a.button,
  button.button,
  .resume-view-button-v86,
  .resume-download-button-v86,
  .home-cta-secondary-v146,
  .home-section-cta-v146,
  .contact-nudge-v73__button,
  .company-preview-v78__link{
    width:100%!important;
    min-height:56px!important;
    padding:15px 18px!important;
  }
  .home-landing-actions-v145,
  .home-secondary-actions-v146,
  .home-final-actions-v145,
  .resume-choice-actions-v86,
  .digital-card-actions-v63,
  .about-contact-actions-v64{
    gap:14px!important;
  }
  .home-snapshot-grid-v145 article,
  .home-evidence-grid-v145 article,
  .home-focus-grid-v145>a{
    padding:26px 22px!important;
  }
  .home-section-heading-v145{
    margin-bottom:40px!important;
  }
}

/* V147 colour specificity lock: later legacy selectors previously recoloured
   secondary CTA text while leaving the new blue backgrounds in place. */
html body a.button,
html body button.button,
html body .resume-view-button-v86,
html body .resume-download-button-v86,
html body .home-cta-secondary-v146,
html body .home-section-cta-v146,
html body .contact-nudge-v73__button,
html body .company-preview-v78__link,
html body a.button:visited{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body a.button *,
html body button.button *,
html body .resume-view-button-v86 *,
html body .resume-download-button-v86 *,
html body .home-cta-secondary-v146 *,
html body .home-section-cta-v146 *,
html body .contact-nudge-v73__button *,
html body .company-preview-v78__link *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Absolute CTA text-colour lock across page-specific legacy themes. */
html body.page-ready-v145[class] a.button[class],
html body.page-ready-v145[class] button.button[class],
html body.page-ready-v145[class] .contact-nudge-v73__button[class],
html body.page-ready-v145[class] .company-preview-v78__link[class]{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body.page-ready-v145[class] a.button[class] *,
html body.page-ready-v145[class] button.button[class] *,
html body.page-ready-v145[class] .contact-nudge-v73__button[class] *,
html body.page-ready-v145[class] .company-preview-v78__link[class] *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}


/* ==========================================================
   V148 — HOMEPAGE CTA ALIGNMENT CONSISTENCY
   Centres the landing continuation control so it reads as an intentional
   section transition rather than an offset edge control.
   ========================================================== */
@media(min-width:761px){
  .home-continue-v145{
    left:50%!important;
    right:auto!important;
    bottom:38px!important;
    width:max-content!important;
    max-width:calc(100% - (var(--pad) * 2))!important;
    min-width:clamp(300px,24vw,380px)!important;
    transform:translateX(-50%)!important;
    justify-content:center!important;
    margin:0!important;
  }
  .home-continue-v145:hover,
  .home-continue-v145:focus-visible{
    transform:translateX(-50%) translateY(-2px)!important;
  }
}

/* Keep CTA groups visually anchored to their own content blocks. */
.home-section-cta-v146{
  align-self:flex-start!important;
}
.home-final-actions-v145{
  align-self:end!important;
}


/* ==========================================================
   V149 — INTERACTION CLARITY + FOOTER VISUAL BALANCE
   Makes action-oriented links read as deliberate controls and brings the
   footer headline/actions into one consistent visual hierarchy.
   ========================================================== */

/* The three homepage practice cards are clickable as a whole, but the action
   labels now look like real controls rather than quiet metadata. */
.home-focus-grid-v145>a{
  cursor:pointer!important;
}
.home-focus-grid-v145>a>span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:flex-start!important;
  width:max-content!important;
  min-height:44px!important;
  margin-top:auto!important;
  padding:11px 16px!important;
  border:1px solid var(--cta-blue)!important;
  border-radius:999px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,var(--cta-blue-dark),var(--cta-blue))!important;
  box-shadow:0 10px 24px rgba(31,86,117,.18)!important;
  font-size:11px!important;
  font-weight:820!important;
  line-height:1.15!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease!important;
}
.home-focus-grid-v145>a:hover>span,
.home-focus-grid-v145>a:focus-visible>span{
  transform:translateY(-2px)!important;
  background:var(--cta-blue-hover)!important;
  box-shadow:0 14px 30px rgba(31,86,117,.25)!important;
}
.home-focus-grid-v145>a:focus-visible{
  outline:3px solid rgba(43,110,146,.26)!important;
  outline-offset:4px!important;
}

/* Footer: reduce the oversized headline, give it its own contact affordance,
   and raise the utility links to the same visual importance. */
.footer{
  padding-top:clamp(72px,7vw,108px)!important;
}
.footer-top{
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  gap:clamp(46px,6vw,96px)!important;
  align-items:center!important;
  max-width:1600px!important;
  margin-inline:auto!important;
}
.footer-cta{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:24px!important;
  width:100%!important;
  max-width:820px!important;
  padding:30px 32px!important;
  border:1px solid rgba(43,110,146,.22)!important;
  border-radius:28px!important;
  color:var(--hr-blue)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.58),rgba(224,236,240,.56))!important;
  box-shadow:0 16px 42px rgba(36,59,74,.08)!important;
  font-size:clamp(42px,5.1vw,78px)!important;
  font-weight:800!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease!important;
}
.footer-cta::after{
  content:"Contact me  ↗";
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:12px 18px!important;
  border-radius:999px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,var(--cta-blue-dark),var(--cta-blue))!important;
  box-shadow:0 10px 24px rgba(31,86,117,.18)!important;
  font-family:var(--sans)!important;
  font-size:12px!important;
  font-style:normal!important;
  font-weight:820!important;
  line-height:1!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}
.footer-cta:hover,
.footer-cta:focus-visible{
  transform:translateY(-3px)!important;
  border-color:rgba(43,110,146,.46)!important;
  box-shadow:0 22px 52px rgba(36,59,74,.13)!important;
}
.footer-cta:focus-visible{
  outline:3px solid rgba(43,110,146,.25)!important;
  outline-offset:5px!important;
}
.footer-cta:hover::after,
.footer-cta:focus-visible::after{
  background:var(--cta-blue-hover)!important;
}

.footer-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  justify-items:stretch!important;
  align-content:center!important;
}
html body .footer-links a.link-arrow,
html body .footer-links a.link-arrow:visited{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  width:100%!important;
  min-height:62px!important;
  padding:15px 18px!important;
  border:1px solid var(--cta-blue)!important;
  border-radius:16px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,var(--cta-blue-dark),var(--cta-blue))!important;
  box-shadow:0 10px 26px rgba(31,86,117,.16)!important;
  font-size:13px!important;
  font-weight:780!important;
  line-height:1.2!important;
  letter-spacing:.045em!important;
  text-transform:none!important;
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease!important;
}
html body .footer-links a.link-arrow .ui-arrow-v90{
  flex:0 0 auto!important;
  color:#fff!important;
  border-color:currentColor!important;
}
html body .footer-links a.link-arrow:hover,
html body .footer-links a.link-arrow:focus-visible{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  transform:translateY(-2px)!important;
  background:var(--cta-blue-hover)!important;
  box-shadow:0 14px 32px rgba(31,86,117,.23)!important;
}
html body .footer-links a.link-arrow:focus-visible{
  outline:3px solid rgba(43,110,146,.25)!important;
  outline-offset:3px!important;
}
.footer-bottom{
  max-width:1600px!important;
  margin:clamp(48px,5vw,70px) auto 0!important;
}

/* A conventional pointer and strong keyboard focus are added to the other
   card-style interactive surfaces without changing their layout. */
.logo-item,
.experience-tab,
.company-wheel-button-v114,
.home-section-cta-v146,
.resume-view-emphasis-v86{
  cursor:pointer!important;
}
.logo-item:focus-visible,
.experience-tab:focus-visible,
.company-wheel-button-v114:focus-visible,
.resume-view-emphasis-v86:focus-visible{
  outline:3px solid rgba(43,110,146,.26)!important;
  outline-offset:4px!important;
}

@media(max-width:980px){
  .footer-top{
    grid-template-columns:1fr!important;
    gap:32px!important;
  }
  .footer-cta{
    max-width:none!important;
    font-size:clamp(40px,7.2vw,68px)!important;
  }
}

@media(max-width:760px){
  .home-focus-grid-v145>a>span{
    width:100%!important;
    min-height:48px!important;
    padding:12px 16px!important;
  }
  .footer{
    padding-top:64px!important;
  }
  .footer-top{
    gap:24px!important;
  }
  .footer-cta{
    gap:20px!important;
    padding:26px 22px!important;
    border-radius:22px!important;
    font-size:clamp(38px,12vw,56px)!important;
  }
  .footer-cta::after{
    width:100%!important;
    min-height:52px!important;
  }
  .footer-links{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  html body .footer-links a.link-arrow,
  html body .footer-links a.link-arrow:visited{
    min-height:56px!important;
    padding:14px 16px!important;
    border-radius:14px!important;
  }
  .footer-bottom{
    margin-top:40px!important;
  }
}


/* ==========================================================
   V150 — CTA BREATHING-ROOM CONSISTENCY
   Ensures action controls never crowd the copy that introduces them.
   This is intentionally limited to content-to-action boundaries so the
   established card sizing and responsive layouts remain unchanged.
   ========================================================== */

/* Practice cards: keep a deliberate content/action buffer while retaining
   bottom alignment between cards of different copy lengths. */
.home-focus-grid-v145>a>p{
  margin-bottom:clamp(28px,2.2vw,36px)!important;
}

/* Standalone section CTAs already use a top margin; strengthen it slightly so
   grids/cards and the following action never visually merge. */
.home-section-cta-v146{
  margin-top:34px!important;
}

/* The privacy summary was the only legacy content block intentionally using a
   near-zero button margin. Bring it in line with the rest of the site. */
.privacy-summary-v97 .button{
  margin-top:26px!important;
}

/* Preserve clear separation whenever these reusable action groups follow
   explanatory copy. */
.resume-choice-actions-v86,
.digital-card-actions-v63,
.about-contact-actions-v64,
.home-final-actions-v145{
  margin-top:clamp(30px,3vw,38px)!important;
}

@media(max-width:760px){
  .home-focus-grid-v145>a>p{
    margin-bottom:26px!important;
  }
  .home-section-cta-v146{
    margin-top:30px!important;
  }
  .privacy-summary-v97 .button{
    margin-top:24px!important;
  }
}

/* ==========================================================
   V151 — FULL RESPONSIVE FOOTER + ACTION LAYOUT QA
   Replaces the footer's pseudo-button construction with real controls,
   keeps action sizing consistent, and prevents the floating back-to-top
   control from covering footer actions on small screens.
   ========================================================== */
.footer{
  padding:clamp(64px,7vw,104px) var(--pad) clamp(24px,3vw,34px)!important;
}
.footer-top-v151{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  align-items:stretch!important;
  gap:clamp(36px,5vw,78px)!important;
  width:min(100%,1600px)!important;
  margin-inline:auto!important;
}
.footer-message-v151{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:clamp(28px,3vw,38px)!important;
  min-width:0!important;
  padding:clamp(28px,3.2vw,44px)!important;
  border:1px solid rgba(43,110,146,.22)!important;
  border-radius:clamp(24px,2vw,32px)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.66),rgba(224,236,240,.60))!important;
  box-shadow:0 18px 46px rgba(36,59,74,.09)!important;
}
.footer-message-title-v151{
  margin:0!important;
  max-width:11ch!important;
  color:var(--hr-blue)!important;
  font-size:clamp(44px,4.7vw,72px)!important;
  font-weight:800!important;
  line-height:.97!important;
  letter-spacing:-.055em!important;
}
.footer-message-title-v151 em{
  display:inline!important;
  color:var(--hr-blue)!important;
  font-family:var(--serif)!important;
  font-style:normal!important;
  font-weight:600!important;
  line-height:1.04!important;
}
html body .footer-contact-button-v151,
html body .footer-contact-button-v151:visited{
  width:auto!important;
  min-width:210px!important;
  min-height:54px!important;
  margin:0!important;
  padding:14px 22px!important;
  border:1px solid var(--cta-blue)!important;
  border-radius:999px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,var(--cta-blue-dark),var(--cta-blue))!important;
  box-shadow:0 12px 28px rgba(31,86,117,.20)!important;
  font-size:12px!important;
  font-weight:820!important;
  line-height:1.15!important;
  letter-spacing:.085em!important;
  text-transform:uppercase!important;
}
html body .footer-contact-button-v151:hover,
html body .footer-contact-button-v151:focus-visible{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:var(--cta-blue-hover)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 16px 34px rgba(31,86,117,.26)!important;
}
.footer-contact-button-v151 .ui-arrow-v90{
  flex:0 0 auto!important;
  color:#fff!important;
  border-color:currentColor!important;
}
.footer-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-content:center!important;
  gap:14px!important;
  width:100%!important;
  min-width:0!important;
}
html body .footer-links a.link-arrow,
html body .footer-links a.link-arrow:visited{
  min-width:0!important;
  min-height:64px!important;
  padding:16px 19px!important;
  border-radius:17px!important;
  font-size:14px!important;
  font-weight:760!important;
  line-height:1.2!important;
}
.footer-bottom{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px 32px!important;
  width:min(100%,1600px)!important;
  margin:clamp(44px,5vw,66px) auto 0!important;
  padding-top:22px!important;
  line-height:1.45!important;
}
.footer-bottom>span:nth-child(2){
  min-width:0!important;
  text-align:center!important;
}
.footer-back-top-v151,
.footer-back-top-v151:visited{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:42px!important;
  padding:9px 14px!important;
  border:1px solid rgba(43,110,146,.28)!important;
  border-radius:999px!important;
  color:var(--hr-blue-dark)!important;
  background:rgba(255,255,255,.58)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  transition:background .2s ease,border-color .2s ease,transform .2s ease!important;
}
.footer-back-top-v151:hover,
.footer-back-top-v151:focus-visible{
  border-color:var(--cta-blue)!important;
  background:#fff!important;
  transform:translateY(-2px)!important;
}

/* The floating utility should never sit on top of footer CTAs. A permanent,
   accessible Back to top link now lives inside the footer itself. */
body.footer-visible-v151 .back-top-v23{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translate3d(0,12px,0)!important;
}

/* Shared action rows: maintain a predictable content-to-action separation. */
:is(.digital-card-actions-v63,.about-contact-actions-v64,.resume-choice-actions-v86,
    .home-final-actions-v145,.home-secondary-actions-v146){
  row-gap:14px!important;
  column-gap:14px!important;
}
:is(.digital-card-actions-v63,.about-contact-actions-v64,.resume-choice-actions-v86) .button{
  min-height:52px!important;
}

@media(max-width:980px){
  .footer-top-v151{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .footer-message-title-v151{
    max-width:13ch!important;
    font-size:clamp(42px,7.2vw,64px)!important;
  }
}

@media(max-width:760px){
  .footer{
    padding:54px max(20px,var(--pad)) calc(24px + env(safe-area-inset-bottom,0px))!important;
  }
  .footer-top-v151{
    gap:24px!important;
  }
  .footer-message-v151{
    gap:24px!important;
    padding:26px 22px!important;
    border-radius:22px!important;
  }
  .footer-message-title-v151{
    max-width:10.5ch!important;
    font-size:clamp(40px,11.5vw,52px)!important;
    line-height:1!important;
  }
  html body .footer-contact-button-v151,
  html body .footer-contact-button-v151:visited{
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    padding:14px 18px!important;
  }
  .footer-links{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  html body .footer-links a.link-arrow,
  html body .footer-links a.link-arrow:visited{
    min-height:58px!important;
    padding:15px 18px!important;
  }
  .footer-bottom{
    grid-template-columns:1fr!important;
    justify-items:start!important;
    gap:12px!important;
    margin-top:34px!important;
    padding-top:20px!important;
    font-size:9.5px!important;
  }
  .footer-bottom>span,
  .footer-bottom>span:nth-child(2){
    display:block!important;
    width:100%!important;
    text-align:left!important;
    line-height:1.5!important;
  }
  .footer-back-top-v151{
    margin-top:4px!important;
  }
}

@media(max-width:350px){
  .footer-message-v151{
    padding:23px 18px!important;
  }
  .footer-message-title-v151{
    font-size:clamp(38px,11.2vw,46px)!important;
  }
  html body .footer-links a.link-arrow,
  html body .footer-links a.link-arrow:visited{
    font-size:13px!important;
  }
}

/* 320 px resume regression discovered during the V151 audit: allow the long
   website-view label to wrap instead of overflowing its action button. */
@media(max-width:380px){
  .resume-choice-actions-v86 .button{
    white-space:normal!important;
    text-align:center!important;
    line-height:1.25!important;
  }
}


/* ==========================================================
   V152 — SINGLE-FAMILY TYPOGRAPHY + HOMEPAGE AVAILABILITY EDIT
   Adrian review: use one readable type family throughout. Hierarchy now comes
   from weight, size and spacing rather than a separate italic serif face.
   ========================================================== */
:root{--serif:var(--sans)!important}

/* All editorial emphasis now uses the same Manrope family and upright forms. */
.display-serif,
main em,
footer em,
.hero-ghost,
.marquee em,
.quote-panel em,
.editorial-hero-statement p span,
.contact-hero h1 em,
.footer-message-title-v151 em{
  font-family:var(--sans)!important;
  font-style:normal!important;
}

/* Use weight, not font switching, to preserve the editorial hierarchy. */
.display-serif,
.editorial-hero-title>.display-serif,
.h2 .display-serif,
.section-head .display-serif,
.organisation-section-head .display-serif,
.contact-hero h1 em,
.privacy-page-v97 h1 em,
.privacy-page-v97 .h2 em{
  font-weight:500!important;
  letter-spacing:-.045em!important;
}
.editorial-hero-statement p span,
main p em,
main li em,
main .lead em{
  font-weight:750!important;
  letter-spacing:inherit!important;
}
.footer-message-title-v151 em,
.footer-cta em{
  font-weight:600!important;
  letter-spacing:-.045em!important;
}

/* The homepage snapshot now contains three genuinely useful, non-visa facts. */
@media(min-width:761px){
  .home-snapshot-grid-v145{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .home-snapshot-grid-v145 article{
    border-right:1px solid var(--hr-line)!important;
    border-bottom:0!important;
  }
  .home-snapshot-grid-v145 article:last-child{
    border-right:0!important;
  }
}
@media(max-width:760px){
  .home-snapshot-grid-v145{grid-template-columns:1fr!important}
  .home-snapshot-grid-v145 article{
    border-right:0!important;
    border-bottom:1px solid var(--hr-line)!important;
  }
  .home-snapshot-grid-v145 article:last-child{border-bottom:0!important}
}

/* Manrope is slightly wider than the former display serif; keep long hero
   phrases readable and contained on small screens without altering structure. */
@media(max-width:760px){
  .editorial-hero-title,
  .home-landing-title-v145,
  .contact-hero h1,
  .privacy-hero-v97 h1{
    overflow-wrap:normal!important;
    word-break:normal!important;
    text-wrap:balance!important;
  }
  .editorial-hero-title .display-serif,
  .home-landing-title-v145 .display-serif,
  .contact-hero h1 em{
    line-height:1.02!important;
  }
}
\n\n/* ==========================================================\n   V153 — HOMEPAGE HERO CLEANUP AFTER WORK-RIGHTS REMOVAL\n   The former two-cell hero metadata strip became redundant once work-rights\n   messaging was removed. Amsterdam already appears in the Professional\n   Snapshot below, so the whole strip is removed rather than leaving a shell.\n   ========================================================== */\n.home-landing-copy-v145 .home-landing-actions-v145{\n  margin-bottom:0!important;\n}\n\n/* Defensive layout rule: if a single-item landing metadata strip is ever\n   reintroduced, it must render as one complete card rather than a split grid. */\n.home-landing-meta-v145{\n  grid-template-columns:1fr!important;\n  background:rgba(255,255,255,.76)!important;\n}\n.home-landing-meta-v145 li{\n  border:0!important;\n}\n