:root{
  --bg:#293146;
  --surface:#354058;
  --line:rgba(255,255,255,.12);
  --ink:#eceff4;
  --muted:#abb4c4;
  --accent:#87d1f5;
  --accent-hi:#a9defa;
  --accent-ink:#061018;
  --brand:#87d1f5;
  --brand-hi:#a9defa;
  --brand-ink:#061018;
  --string:#a3be8c;
  --font-display:"Space Grotesk",system-ui,-apple-system,sans-serif;
  --font-body:"DM Sans",system-ui,-apple-system,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --sp-xs:8px;
  --sp-sm:16px;
  --sp-md:32px;
  --sp-lg:64px;
  --sp-xl:clamp(72px,10vw,112px);
  --wrap:1320px;
  --gutter:clamp(16px,4vw,56px);
  --radius-control:3px;
  --radius-surface:5px;
  --shadow-surface:0 1px 2px rgba(6,16,24,.12),0 10px 28px rgba(6,16,24,.10);
  --shadow-raised:0 2px 4px rgba(6,16,24,.16),0 16px 38px rgba(6,16,24,.14);
}


@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/space-grotesk-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/space-grotesk-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/space-grotesk-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/dm-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/dm-sans-latin-500-normal.woff2) format("woff2")}


*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
:where(h1,h2,h3,h4,h5,h6){
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.08;
  margin:0;
  text-wrap:balance;
  color:var(--ink);
}
:where(p,li){text-wrap:pretty}
:where(p){margin:0 0 var(--sp-sm)}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent-hi)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:var(--radius-control)}
::selection{background:var(--accent);color:var(--accent-ink)}
[aria-current="page"]{color:var(--accent)}

.hjw-wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);width:100%}
.hjw-section{padding-block:clamp(44px,5vw,72px);border-top:1px solid var(--line)}
.hjw-section:first-of-type{border-top:0}
.mono{font-family:var(--font-mono)}
.hjw-measure{max-width:65ch}


.hjw-label{
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 var(--sp-sm);
  display:block;
}
.hjw-label::before{content:"// ";color:var(--accent)}


.hjw-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 22px;
  font-family:var(--font-mono);font-size:14px;font-weight:500;
  border-radius:var(--radius-control);border:1px solid var(--accent);
  background:var(--brand);color:var(--brand-ink);
  text-decoration:none;cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.hjw-btn:hover{background:var(--brand-hi);border-color:var(--accent-hi);color:var(--brand-ink)}
.hjw-btn--ghost{background:transparent;color:var(--accent);border-color:var(--line)}
.hjw-btn--ghost:hover{background:transparent;color:var(--accent-hi);border-color:var(--accent)}
.hjw-btn--text{border:0;background:none;padding:0;min-height:44px;color:var(--accent);text-decoration:underline}
.hjw-btn--text:hover{background:none;color:var(--accent-hi)}


.t-icon{position:relative;width:40px;height:40px;display:grid;place-items:center;flex-shrink:0}
.t-icon::before,.t-icon::after{content:"";position:absolute;width:10px;height:10px}
.t-icon::before{top:0;left:0;border-top:2px solid var(--accent);border-left:2px solid var(--accent)}
.t-icon::after{bottom:0;right:0;border-bottom:2px solid var(--accent);border-right:2px solid var(--accent)}
.t-icon .t-corner-tr{position:absolute;top:0;right:0;width:10px;height:10px;border-top:2px solid var(--accent);border-right:2px solid var(--accent)}
.t-icon .t-corner-bl{position:absolute;bottom:0;left:0;width:10px;height:10px;border-bottom:2px solid var(--accent);border-left:2px solid var(--accent)}
.t-icon .t-icon-glyph{position:relative;z-index:1;font-family:var(--font-mono);font-size:15px;font-weight:600;color:var(--accent)}


.code-win{background:var(--surface);border:1px solid var(--line);font-family:var(--font-mono);font-size:14px;line-height:1.7}
.code-win .cw-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.code-win .cw-name{font-size:12.5px;color:var(--muted)}
.code-win pre{margin:0;padding:20px 22px;overflow-x:auto;color:var(--ink);font-size:13.5px}
.term-dots{display:inline-flex;gap:6px}
.term-dots span{width:9px;height:9px;border-radius:50%;background:var(--line);display:block}
.tok-k{color:var(--accent)}
.tok-s{color:var(--string)}
.tok-c{color:var(--muted)}


.grid-bg{
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:100% 64px,64px 100%;
}
.scanlines{
  position:fixed;inset:0;z-index:45;pointer-events:none;
  opacity:.16;mix-blend-mode:overlay;
  background-image:repeating-linear-gradient(to bottom,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 1px,transparent 1px,transparent 3px);
}


.hjw-prompt{
  font-family:var(--font-mono);font-size:14px;color:var(--muted);
  margin:0 0 var(--sp-sm);
  min-height:1.7em;line-height:1.7;
}
.hjw-prompt .p-path{color:var(--accent)}
.hjw-prompt .p-cmd{color:var(--ink)}
.cursor-blink{display:inline-block;width:.5em;height:1em;vertical-align:text-bottom;background:var(--accent);animation:hjw-blink 1.1s steps(1) infinite}
@keyframes hjw-blink{0%,45%{opacity:1}50%,95%{opacity:0}100%{opacity:1}}


.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.js [data-reveal].is-in{opacity:1;transform:none}


@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  html{scroll-behavior:auto}
  .js [data-reveal]{opacity:1;transform:none}
  .cursor-blink{animation:none;opacity:1}
  .scanlines{opacity:.1}
}



.hjw-header{position:sticky;top:0;z-index:40;background:rgba(41,49,70,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hjw-header__inner{display:flex;align-items:center;gap:var(--sp-md);min-height:72px}
.hjw-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);margin-right:auto}
.hjw-brand__mark{width:38px;height:38px}
.hjw-brand__name{font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:-.01em}
.hjw-brand__name b{font-weight:600;color:var(--accent)}
.hjw-nav{display:flex;align-items:center;gap:4px}
.hjw-nav a{
  font-family:var(--font-mono);font-size:13.5px;color:var(--muted);text-decoration:none;
  padding:12px 12px;min-height:44px;display:inline-flex;align-items:center;
}
.hjw-nav a:hover{color:var(--ink)}
.hjw-nav a[aria-current="page"]{color:var(--accent)}
.hjw-nav-toggle{display:none;align-items:center;gap:8px;min-height:44px;padding:0 12px;background:none;border:1px solid var(--line);color:var(--ink);font-family:var(--font-mono);font-size:13px;cursor:pointer}
@media (max-width:900px){
  .hjw-nav-toggle{display:inline-flex}
  .hjw-nav{display:none;flex-direction:column;align-items:stretch;width:100%;padding-bottom:var(--sp-sm)}
  .hjw-nav[data-open="true"]{display:flex}
  .hjw-header__inner{flex-wrap:wrap}
}


.hjw-hero{position:relative;padding-block:clamp(56px,8vw,96px) var(--sp-xl);overflow:hidden}
.hjw-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:center}
.hjw-hero h1{font-size:clamp(38px,6.4vw,82px);font-weight:700;letter-spacing:-.03em;line-height:1.02;margin:0 0 var(--sp-md)}
.hjw-hero__lede{font-size:clamp(16px,1.5vw,19px);color:var(--muted);max-width:56ch;margin:0 0 var(--sp-md)}
.hjw-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
@media (max-width:900px){.hjw-hero__grid{grid-template-columns:1fr}}


.hjw-proof{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.hjw-proof__item{padding:var(--sp-md);border-right:1px solid var(--line)}
.hjw-proof__item:last-child{border-right:0}
.hjw-proof__n{font-family:var(--font-display);font-size:clamp(30px,3.4vw,46px);font-weight:700;letter-spacing:-.03em;color:var(--accent);line-height:1;display:block}
.hjw-proof__t{font-family:var(--font-mono);font-size:13px;color:var(--muted);margin-top:10px;display:block;line-height:1.5}
@media (max-width:820px){.hjw-proof{grid-template-columns:repeat(2,1fr)}.hjw-proof__item:nth-child(2n){border-right:0}.hjw-proof__item:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:460px){.hjw-proof{grid-template-columns:1fr}.hjw-proof__item{border-right:0;border-bottom:1px solid var(--line)}.hjw-proof__item:last-child{border-bottom:0}}


.hjw-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-md);margin-bottom:var(--sp-lg);flex-wrap:wrap}
.hjw-head h2{font-size:clamp(28px,3.4vw,44px);font-weight:600;letter-spacing:-.025em}


.hjw-work{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.hjw-card{background:var(--bg);padding:var(--sp-md);display:flex;flex-direction:column;gap:14px;transition:background .18s ease}
.hjw-card:hover{background:var(--surface)}
.hjw-card__shot{aspect-ratio:16/10;border:1px solid var(--line);background-color:var(--surface);background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 8px,rgba(255,255,255,.015) 8px 16px);display:grid;place-items:center}
.hjw-card__shot span{font-family:var(--font-mono);font-size:12px;color:var(--muted)}
.hjw-card h3{font-size:21px;font-weight:600}
.hjw-card__domain{font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}
.hjw-card__desc{font-size:15px;color:var(--muted);margin:0;line-height:1.6}
.hjw-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px}
.hjw-tag{font-family:var(--font-mono);font-size:11.5px;color:var(--muted);border:1px solid var(--line);padding:4px 9px}
.hjw-card__link{font-family:var(--font-mono);font-size:13.5px;color:var(--accent);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.hjw-card__link:hover{color:var(--accent-hi);text-decoration:underline}


.hjw-caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.hjw-cap{background:var(--bg);padding:var(--sp-md);display:flex;flex-direction:column;gap:14px}
.hjw-cap h3{font-family:var(--font-mono);font-size:15px;font-weight:600;color:var(--accent);letter-spacing:.02em}
.hjw-cap p{font-size:15px;color:var(--muted);margin:0;line-height:1.6}
.hjw-cap ul{margin:0;padding-left:18px;font-size:14.5px;color:var(--muted);line-height:1.75}


.hjw-log{border-left:1px solid var(--line);padding-left:var(--sp-md);display:flex;flex-direction:column;gap:var(--sp-lg)}
.hjw-log__item{position:relative}
.hjw-log__item::before{content:"";position:absolute;left:calc(-1 * var(--sp-md) - 5px);top:9px;width:9px;height:9px;background:var(--accent)}
.hjw-log__meta{font-family:var(--font-mono);font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px}
.hjw-log__hash{color:var(--accent)}
.hjw-log__item h3{font-size:22px;font-weight:600;margin-bottom:4px}
.hjw-log__org{font-family:var(--font-mono);font-size:13.5px;color:var(--muted);margin-bottom:var(--sp-sm);display:block}
.hjw-log__item ul{margin:0;padding-left:18px;color:var(--muted);font-size:15.5px;line-height:1.7}
.hjw-log__item li{margin-bottom:8px}


.hjw-footer{border-top:1px solid var(--line);padding-block:var(--sp-lg) var(--sp-md);margin-top:var(--sp-xl)}
.hjw-footer__top{display:flex;justify-content:space-between;gap:var(--sp-md);flex-wrap:wrap;margin-bottom:var(--sp-lg)}
.hjw-footer__links{display:flex;flex-wrap:wrap;gap:var(--sp-md)}
.hjw-footer__links a{font-family:var(--font-mono);font-size:13.5px;color:var(--muted);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.hjw-footer__links a:hover{color:var(--accent)}
.hjw-footer__bottom{border-top:1px solid var(--line);padding-top:var(--sp-md);font-family:var(--font-mono);font-size:12.5px;color:var(--muted);display:flex;justify-content:space-between;gap:var(--sp-sm);flex-wrap:wrap}


.hjw-skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:var(--accent-ink);padding:12px 18px;font-family:var(--font-mono);font-size:14px}
.hjw-skip:focus{left:var(--gutter);top:12px}


@media print{
  .scanlines,.hjw-header,.hjw-footer__links,.hjw-nav-toggle,.hjw-btn{display:none !important}
  html,body{background:#fff !important;color:#111 !important;font-size:11pt}
  :where(h1,h2,h3,h4){color:#111 !important}
  a{color:#111 !important;text-decoration:none}
  .hjw-label{color:#555 !important}
  .hjw-label::before{color:#555 !important}
  .hjw-section{border-top:1px solid #ccc;padding-block:18pt;break-inside:avoid}
  .hjw-log{border-left:1px solid #ccc}
  .hjw-log__item::before{background:#111}
  .hjw-log__meta,.hjw-log__org,.hjw-log__item ul,.hjw-cap p,.hjw-cap ul{color:#333 !important}
  .hjw-log__hash{color:#555 !important}
  .code-win{border:1px solid #ccc;background:#f6f6f6}
  .tok-k,.tok-s,.tok-c{color:#333 !important}
  .hjw-proof{border-color:#ccc}
  .hjw-proof__item{border-color:#ccc}
  .hjw-proof__n{color:#111 !important}
  .hjw-proof__t{color:#444 !important}
}




.hjw-form{max-width:720px}
.hjw-form .wsf-form,
.hjw-form .wsf-form *{font-family:var(--font-body)}

.hjw-form .wsf-field-wrapper{margin-bottom:var(--sp-md)}

.hjw-form label,
.hjw-form .wsf-label{
  display:block;
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:lowercase;
  color:var(--muted);
  margin-bottom:8px;
}
.hjw-form label::before{content:"// ";color:var(--accent)}
.hjw-form .wsf-field-checkbox label::before{content:none}

.hjw-form input[type=text],
.hjw-form input[type=email],
.hjw-form input[type=tel],
.hjw-form input[type=url],
.hjw-form textarea,
.hjw-form select{
  width:100%;
  min-height:52px;
  padding:14px 16px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:0;
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px; 
  line-height:1.5;
  transition:border-color .18s ease;
  -webkit-appearance:none;
  appearance:none;
}
.hjw-form textarea{min-height:170px;resize:vertical;padding-top:14px}

.hjw-form input::placeholder,
.hjw-form textarea::placeholder{color:var(--muted);opacity:1}

.hjw-form input:focus,
.hjw-form textarea:focus,
.hjw-form select:focus{border-color:var(--accent);outline:3px solid var(--accent);outline-offset:2px}


.hjw-form .wsf-field-checkbox .wsf-field-wrapper-checkbox,
.hjw-form .wsf-checkbox{display:flex;align-items:flex-start;gap:12px;min-height:44px}
.hjw-form input[type=checkbox]{
  appearance:none;-webkit-appearance:none;
  width:20px;height:20px;flex-shrink:0;margin-top:3px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:0;
  cursor:pointer;
  display:grid;place-content:center;
}
.hjw-form input[type=checkbox]::after{
  content:"";width:10px;height:10px;transform:scale(0);
  background:var(--accent);transition:transform .12s ease;
}
.hjw-form input[type=checkbox]:checked::after{transform:scale(1)}
.hjw-form input[type=checkbox]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.hjw-form .wsf-field-checkbox label,
.hjw-form input[type=checkbox] + label{
  text-transform:none;font-family:var(--font-body);font-size:15px;
  color:var(--muted);letter-spacing:0;margin:0;cursor:pointer;
}


.hjw-form input[type=submit],
.hjw-form button[type=submit],
.hjw-form .wsf-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 26px;
  font-family:var(--font-mono);font-size:14px;font-weight:500;
  background:var(--brand);color:var(--brand-ink);
  border:1px solid var(--accent);border-radius:0;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease;
  -webkit-appearance:none;appearance:none;
}
.hjw-form input[type=submit]:hover,
.hjw-form button[type=submit]:hover,
.hjw-form .wsf-button:hover{background:var(--brand-hi);border-color:var(--accent-hi)}


.hjw-form .wsf-field-help,
.hjw-form .wsf-help{font-size:13.5px;color:var(--muted);margin-top:6px}
.hjw-form .wsf-invalid-feedback,
.hjw-form .invalid-feedback{
  font-family:var(--font-mono);font-size:13px;
  color:#e5a3a3;margin-top:8px;display:block;
}
.hjw-form input:invalid:not(:placeholder-shown),
.hjw-form textarea:invalid:not(:placeholder-shown){border-color:#e5a3a3}
.hjw-form .wsf-message,
.hjw-form .alert{
  border:1px solid var(--line);
  background:var(--surface);
  padding:var(--sp-sm) var(--sp-md);
  font-family:var(--font-mono);font-size:14px;color:var(--ink);
  border-radius:0;
}
.hjw-form .alert-success,
.hjw-form .wsf-message-success{border-color:var(--accent);color:var(--ink)}
.hjw-form .alert-success::before,
.hjw-form .wsf-message-success::before{content:"[ ok ] ";color:var(--accent)}


.hjw-form .wsf-required{color:var(--accent);margin-left:4px}


.hjw-contact{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,6vw,88px);align-items:start}
@media (max-width:900px){.hjw-contact{grid-template-columns:1fr}}
.hjw-contact__direct{border:1px solid var(--line);padding:var(--sp-md)}
.hjw-contact__direct dt{font-family:var(--font-mono);font-size:12.5px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.hjw-contact__direct dd{margin:0 0 var(--sp-md);font-size:16px}
.hjw-contact__direct dd:last-child{margin-bottom:0}


.hjw-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}


.hjw-portrait{border:1px solid var(--line);display:block;width:100%;height:auto}
.hjw-about{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:820px){.hjw-about{grid-template-columns:1fr;max-width:560px}}



.hjw-form .wsf-form,
.wsf-form{
  --wsf-form-color-accent:#87d1f5;
  --wsf-form-color-primary:var(--brand);
  --wsf-form-color-secondary:#abb4c4;
  --wsf-form-color-neutral:#abb4c4;
  --wsf-form-color-success:#a3be8c;
  --wsf-form-color-info:#87d1f5;
  --wsf-form-color-warning:#ebcb8b;
  --wsf-form-color-danger:#e5a3a3;
  --wsf-form-background-color:transparent;
  --wsf-form-color:#eceff4;
  --wsf-form-border-radius:0px;
  --wsf-form-border-color:rgba(255,255,255,.12);
  --wsf-field-background-color:#354058;
  --wsf-field-color:#eceff4;
  --wsf-field-border-color:rgba(255,255,255,.12);
  --wsf-field-border-radius:0px;
  --wsf-label-color:#abb4c4;
  --wsf-button-border-radius:0px;
}
.wsf-form{background:transparent!important}



.hjw-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--sp-sm)}
.hjw-filter{
  font-family:var(--font-mono);font-size:13px;
  min-height:44px;padding:0 16px;
  background:transparent;color:var(--muted);
  border:1px solid var(--line);border-radius:0;cursor:pointer;
  transition:color .18s ease,border-color .18s ease;
}
.hjw-filter:hover{color:var(--ink);border-color:var(--muted)}
.hjw-filter.is-on,.hjw-filter[aria-pressed="true"]{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}
.hjw-filter-status{font-size:12.5px;color:var(--muted);margin:0 0 var(--sp-md);min-height:1.5em}

.hjw-card__img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top center;border:1px solid var(--line);display:block}
.hjw-card__h{font-size:21px;font-weight:600;margin:0}
.hjw-card[hidden]{display:none}


.hjw-back{display:inline-flex;align-items:center;min-height:44px;font-size:13.5px;color:var(--muted);text-decoration:none;margin-bottom:var(--sp-md)}
.hjw-back:hover{color:var(--accent)}
.hjw-project__sub{font-size:15px;color:var(--muted);margin:10px 0 0}
.hjw-project__lede{font-size:clamp(16px,1.4vw,19px);color:var(--muted);margin:var(--sp-md) 0 0}
.hjw-project__shot{margin:var(--sp-lg) 0 0;border:1px solid var(--line);max-height:620px;overflow:hidden}
.hjw-project__shot img{width:100%;height:auto;display:block;object-fit:cover;object-position:top center}

.hjw-project__body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(32px,5vw,72px);margin-top:var(--sp-xl);align-items:start}
@media (max-width:900px){.hjw-project__body{grid-template-columns:1fr}}

.hjw-project__content h2{font-size:clamp(22px,2.4vw,30px);font-weight:600;margin:var(--sp-lg) 0 var(--sp-sm)}
.hjw-project__content h2:first-child{margin-top:0}
.hjw-project__content p{color:var(--muted);font-size:16.5px;line-height:1.75;max-width:65ch}
.hjw-attrib{margin-top:var(--sp-lg);padding-top:var(--sp-sm);border-top:1px solid var(--line);font-size:13px;color:var(--muted)}

.hjw-project__meta{border:1px solid var(--line);padding:var(--sp-md);position:sticky;top:96px}
@media (max-width:900px){.hjw-project__meta{position:static}}
.hjw-project__meta dl{margin:0}
.hjw-project__meta dt{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.hjw-project__meta dd{margin:0 0 var(--sp-md);font-size:15px;color:var(--muted);line-height:1.6}
.hjw-project__meta dd:last-child{margin-bottom:0}

.hjw-more{margin-top:var(--sp-xl);padding-top:var(--sp-lg);border-top:1px solid var(--line)}
.hjw-more .hjw-label{margin-bottom:var(--sp-md)}


.screen-reader-text{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}


.hjw-log__list{list-style:none;padding:0;margin:0}
.hjw-cta{border:1px solid var(--line);padding:var(--sp-xl) var(--sp-md);text-align:center}
.hjw-cta h2{font-size:clamp(26px,3.2vw,40px);margin-bottom:var(--sp-sm)}
.hjw-cta p{color:var(--muted);max-width:52ch;margin-inline:auto;margin-bottom:var(--sp-md)}
.hjw-cta__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

.hjw-skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.hjw-skill{background:var(--bg);padding:var(--sp-md)}
.hjw-skill h3{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--accent);margin-bottom:12px}
.hjw-skill ul{list-style:none;margin:0;padding:0}
.hjw-skill li{font-size:14.5px;color:var(--muted);padding:5px 0;line-height:1.5}

.hjw-cap__head{display:flex;align-items:center;gap:14px;margin-bottom:4px}


@media print{
  .hjw-filters,.hjw-filter-status,.hjw-more,.hjw-back{display:none!important}
  .hjw-project__meta{border-color:#ccc;position:static}
  .hjw-project__meta dt{color:#111!important}
  .hjw-project__meta dd,.hjw-project__content p{color:#333!important}
  .hjw-card,.hjw-work{background:#fff!important;border-color:#ccc}
}




:root{--control-line:#8995a8;--light:#e5e9f0;--light-ink:#293146;--light-muted:#4c566a;--light-accent:#17688d;--wrap:1480px;--sp-xl:clamp(64px,7vw,104px)}
html{scroll-padding-top:96px;scrollbar-color:var(--muted) var(--bg)}
body{overflow-wrap:break-word}
main:focus{outline:none}
main :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-display);color:var(--ink);font-weight:600;line-height:1.15}
main h1{font-size:clamp(36px,4.4vw,64px);letter-spacing:-.03em}
main h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.025em}
main h3{font-size:clamp(21px,2vw,26px)}
:is(a,button,input,textarea,select){scroll-margin-block:104px 32px}
:is(a,button,input,textarea,select):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.hjw-btn{padding-block:12px;line-height:1.5;max-width:100%;text-align:center}
.hjw-btn--ghost,.hjw-filter,.hjw-nav-toggle{border-color:var(--control-line)}
.hjw-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hjw-menu li{list-style:none;margin:0;padding:0}
.hjw-nav a{font-size:14px;padding-inline:11px}
.hjw-nav li:last-child a{background:var(--brand);color:var(--brand-ink);padding-inline:18px;margin-left:10px}
.hjw-nav li:last-child a:hover{background:var(--brand-hi)}
.hjw-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.hjw-header{background:var(--bg);backdrop-filter:none}
.hjw-header__inner{gap:24px}
.hjw-hero{padding-block:clamp(40px,5vw,72px);overflow:visible}
.hjw-hero__grid{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:clamp(28px,4vw,64px)}
.hjw-hero h1{font-size:clamp(38px,4.7vw,70px);line-height:1.08;margin-bottom:24px}
.hjw-hero__lede{font-size:18px;max-width:48ch;margin-bottom:28px}
.hjw-prompt{font-size:12px;max-width:55ch}
.hjw-hero .code-win pre{font-family:var(--font-mono);background:transparent;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11.5px;line-height:1.9;padding:24px 20px}
.hjw-proof-section{padding-block:40px;background:var(--surface)}
.hjw-proof{border:0}
.hjw-proof__item{padding:12px 28px}
.hjw-proof__item:first-child{padding-left:0}
.hjw-proof__n{font-size:clamp(32px,3vw,44px)}
.hjw-proof__t{font-family:var(--font-body);font-size:15px;max-width:25ch}
.hjw-head{margin-bottom:32px}
.hjw-head h2{max-width:24ch}
.hjw-work-context{max-width:65ch;color:var(--muted);font-size:15px;margin-bottom:28px}
.hjw-work{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:24px;background:none;border:0}
.hjw-card{padding:24px;border:1px solid var(--line);background:var(--surface);gap:12px;min-width:0}
.hjw-card:hover{border-color:var(--muted);background:var(--surface)}
.hjw-card :is(h2,h3){font-size:23px;margin:8px 0 0}
.hjw-card__img{aspect-ratio:16/10;margin:0}
.hjw-card__link{margin-top:auto;text-decoration:underline;text-underline-offset:5px}
.hjw-card__domain{overflow-wrap:anywhere}
.hjw-card__desc{font-size:16px}
.hjw-work--featured{grid-template-columns:repeat(3,minmax(0,1fr))}
.hjw-work--featured .hjw-card:first-child{grid-column:span 2}
.hjw-work--featured .hjw-card:first-child .hjw-card__img{aspect-ratio:2.15}
.hjw-work--featured .hjw-card:last-child{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;align-content:start}
.hjw-work--featured .hjw-card:last-child .hjw-card__img{grid-row:span 4;height:100%;min-height:240px}
.hjw-caps{grid-template-columns:repeat(2,minmax(0,1fr));background:none;gap:0;border:0}
.hjw-cap{padding:32px 32px 32px 0;border-top:1px solid var(--line);background:none}
.hjw-cap:nth-child(even){padding-left:32px;border-left:1px solid var(--line)}
.hjw-cap h3{font-family:var(--font-display);font-size:26px;color:var(--ink)}
.hjw-cap p{font-size:18px;max-width:44ch}
.hjw-cap ul{font-size:16px}
.hjw-capabilities{background:var(--bg)}
.hjw-light{--ink:var(--light-ink);--muted:var(--light-muted);--accent:var(--light-accent);--accent-hi:var(--light-accent);--line:rgba(41,49,70,.25);--control-line:var(--light-accent);background:var(--light);color:var(--ink)}
.hjw-light .hjw-btn--ghost{color:var(--light-accent)}
.hjw-about{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:center}
.hjw-portrait{max-height:540px;object-fit:cover;object-position:center 25%}
.hjw-about h2{max-width:20ch}
.hjw-about p{font-size:18px}
.hjw-cta{border:0;padding:24px 0;text-align:left}
.hjw-cta h2{max-width:23ch;font-size:clamp(32px,4vw,56px)}
.hjw-cta p{margin-left:0;font-size:19px;max-width:56ch}
.hjw-cta__actions{justify-content:flex-start}
.hjw-connect{background:var(--surface)}
.hjw-connect__inner{display:flex;justify-content:space-between;align-items:center;gap:32px}
.hjw-connect p{color:var(--muted);margin:16px 0 0}
.hjw-content>p,.hjw-content>ul,.hjw-content>ol{max-width:68ch;color:var(--muted);font-size:18px}
.hjw-content>h2{margin:48px 0 20px;max-width:28ch}
.hjw-content>h3{margin:32px 0 16px}
.hjw-content>.hjw-log{max-width:85ch;margin-top:40px}
.hjw-log h2{font-size:clamp(23px,2.5vw,32px);margin-bottom:12px}
.hjw-log__hash{display:none}
.hjw-log__item ul{font-size:17px}
.hjw-content>p:first-child{font-size:clamp(19px,1.6vw,22px);margin-bottom:32px}
.hjw-skills{grid-template-columns:repeat(3,minmax(0,1fr))}
.hjw-skill{min-width:0}
.hjw-skill h3{font-size:18px}
.hjw-skill li{font-size:16px}
.hjw-archive-intro{margin-top:24px;color:var(--muted);font-size:18px}
.post-type-archive-hjw_project main>.hjw-section:first-child{padding-bottom:32px}
.post-type-archive-hjw_project main>.hjw-section:nth-child(2){padding-top:32px;border-top:0}
.hjw-project__shot{margin:40px 0 0}
.hjw-project__body{margin-top:48px}
.hjw-project__meta{position:static;min-width:0;background:var(--surface)}
.hjw-project__meta dd{overflow-wrap:anywhere}
.hjw-footer{margin-top:0;background:var(--bg);padding-top:48px}
.hjw-footer__top{margin-bottom:32px}
.hjw-footer__links .hjw-menu{gap:8px 24px}
.hjw-footer__links a{font-size:13px}
.hjw-contact{margin-top:32px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px}
.hjw-contact__direct{background:var(--surface);padding:32px;min-width:0}
.hjw-contact__direct a{overflow-wrap:anywhere}
.hjw-contact__direct h2{font-size:24px;margin:0 0 20px}
.hjw-contact__direct p{color:var(--muted);font-size:16px}

body .hjw-form form.wsf-form label,body .hjw-form .wsf-label{color:var(--ink)!important;font-family:var(--font-body)!important;font-size:16px!important;letter-spacing:0;text-transform:none}
body .hjw-form label::before{content:none}
body .hjw-form form.wsf-form :is(input[type=text],input[type=email],input[type=tel],input[type=url],textarea,select){background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--control-line)!important;border-radius:0!important;min-height:52px;font-family:var(--font-body)!important;font-size:17px!important;box-shadow:none!important}
body .hjw-form form.wsf-form select{appearance:auto;padding-right:32px}
body .hjw-form form.wsf-form :is(input,textarea)::placeholder{color:var(--muted)!important;opacity:1}
body .hjw-form form.wsf-form :is(input,textarea,select,button):focus-visible{outline:3px solid var(--accent)!important;outline-offset:3px!important}
body .hjw-form form.wsf-form :is(.wsf-help,.wsf-field-help,.wsf-invalid-feedback,.invalid-feedback){color:var(--ink)!important;font-size:15px!important}
body .hjw-form form.wsf-form :is(button[type=submit],input[type=submit]){background:var(--brand)!important;color:var(--brand-ink)!important;border:1px solid var(--accent)!important;min-height:52px;border-radius:0!important;font-family:var(--font-mono)!important}
body .hjw-form form.wsf-form :is(button[type=submit],input[type=submit]):hover{background:var(--brand-hi)!important}
body .hjw-form form.wsf-form input[type=checkbox]{appearance:auto;accent-color:var(--accent);width:24px;height:24px;border-color:var(--control-line)}
body .hjw-form form.wsf-form input[type=checkbox]+label{min-height:44px;display:flex;align-items:center}
body .hjw-form .wsf-required{color:var(--ink)!important}
.hjw-form :is(input,textarea):invalid:not(:placeholder-shown){border-color:var(--control-line)}

.js [data-reveal],[data-reveal]{opacity:1;transform:none;transition:none}
.cursor-blink{animation:none}
.scanlines{display:none}
@media(min-width:1800px){:root{--wrap:1600px}.hjw-hero h1{font-size:76px}.hjw-hero__grid{gap:80px}.hjw-hero .code-win pre{font-size:13px}}
@media(max-width:1100px){.hjw-work--featured{grid-template-columns:repeat(2,minmax(0,1fr))}.hjw-work--featured .hjw-card:first-child,.hjw-work--featured .hjw-card:last-child{grid-column:auto;display:flex}.hjw-work--featured .hjw-card:first-child .hjw-card__img,.hjw-work--featured .hjw-card:last-child .hjw-card__img{aspect-ratio:16/10;height:auto;min-height:0}.hjw-skills{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.hjw-header{position:relative}.hjw-nav{display:flex;width:100%}.hjw-nav .hjw-menu{width:100%;align-items:stretch;flex-direction:column}.hjw-nav li:last-child a{margin-left:0}.hjw-nav a{width:100%}.hjw-nav-toggle{display:none}.nav-ready .hjw-nav-toggle{display:inline-flex}.nav-ready .hjw-nav{display:none}.nav-ready .hjw-nav[data-open=true]{display:flex}.hjw-header__inner{gap:12px;padding-block:12px;min-height:72px}.hjw-hero__grid{grid-template-columns:1fr;max-width:760px}.hjw-hero h1{font-size:clamp(38px,7vw,62px)}.hjw-hero .code-win{max-width:600px}.hjw-hero .code-win pre{font-size:13px}.hjw-contact{grid-template-columns:1fr}.hjw-connect__inner{align-items:flex-start;flex-direction:column}.hjw-about{grid-template-columns:.7fr 1.3fr;max-width:none}.hjw-proof__item:nth-child(odd){padding-left:0}.hjw-project__body{grid-template-columns:1fr}}
@media(max-width:600px){.hjw-work,.hjw-work--featured,.hjw-skills,.hjw-caps,.hjw-about{grid-template-columns:1fr}.hjw-hero h1{font-size:clamp(34px,8.6vw,48px)}.hjw-hero__lede{font-size:17px}.hjw-hero__actions{gap:12px}.hjw-hero__actions .hjw-btn{padding-inline:14px;font-size:12px}.hjw-proof{grid-template-columns:repeat(2,minmax(0,1fr))}.hjw-proof__item{padding:20px 12px;border-bottom:1px solid var(--line)}.hjw-proof__item:nth-child(2n){border-right:0}.hjw-proof__item:nth-child(n+3){border-bottom:0}.hjw-proof__t{font-size:14px}.hjw-proof__n{font-size:32px}.hjw-card,.hjw-skill{padding:20px}.hjw-cap,.hjw-cap:nth-child(even){padding:28px 0;border-left:0}.hjw-portrait{max-width:340px;max-height:400px}.hjw-about{gap:32px}.hjw-contact__direct{padding:24px}.hjw-section{padding-block:44px}.hjw-proof-section{padding-block:20px}.hjw-head{margin-bottom:24px}.hjw-log{padding-left:24px;gap:40px}.hjw-log__item::before{left:-29px}.hjw-hero .code-win pre{font-size:11px;padding:16px}.hjw-footer__links .hjw-menu{gap:4px 20px}}
@media print{html,body,main,.hjw-section,.hjw-light,.hjw-skill,.hjw-card{background:white!important;color:#293146!important}.hjw-connect,.hjw-cta,.hjw-hero__actions,.hjw-footer{display:none!important}[data-reveal]{opacity:1!important;transform:none!important}.hjw-content,.hjw-content p,.hjw-content li,.hjw-skill li{color:#293146!important}.hjw-wrap{max-width:none;padding:0}.hjw-section{padding-block:16pt;border:0}.hjw-skills{display:block}.hjw-skill,.hjw-log__item{break-inside:avoid}.hjw-content h2{break-after:avoid}.hjw-log__item ul{color:#293146!important}}
@media(prefers-reduced-motion:no-preference){
  .hjw-hero .code-win{animation:hjw-intro .55s ease-out both}
  .hjw-card__img{transition:filter .2s ease}
  .hjw-card:hover .hjw-card__img{filter:brightness(1.06)}
  .hjw-btn{transition:background .18s ease,border-color .18s ease,transform .18s ease}
  .hjw-btn:hover{transform:translateY(-2px)}
  @keyframes hjw-intro{from{transform:translateY(12px)}to{transform:translateY(0)}}
}

.hjw-contact>.wp-block-group__inner-container{display:contents}
.hjw-contact.wp-block-group,.hjw-form.wp-block-group{padding:0}
.hjw-contact__direct.wp-block-group{padding:32px}
.hjw-form .wsf-required-wrapper{color:var(--ink)!important}

.grid-bg{background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px)}

.hjw-card__shot.ph{display:none}
@media(min-width:1101px){.hjw-work--featured .hjw-card:last-child{grid-column:1/-1}}


.hjw-light{--accent-ink:#eceff4}
.hjw-light.hjw-proof-section,.hjw-light.hjw-connect,.hjw-light.hjw-contact__direct{background:var(--light)}
.hjw-light .hjw-btn--ghost{transition:border-color .18s ease,transform .18s ease}
.hjw-light .hjw-btn--ghost:is(:hover,:focus-visible){background:var(--light-accent);border-color:var(--light-accent);color:#eceff4}
.hjw-about-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(32px,5vw,72px);align-items:center;margin-bottom:64px}
.hjw-about-intro>.wp-block-group__inner-container{display:contents}
.hjw-about-intro.wp-block-group{padding:0}
.hjw-about-intro p{font-size:clamp(20px,2vw,28px);line-height:1.65;color:var(--muted);max-width:38ch;margin:0}
.hjw-about-intro figure{margin:0;width:100%;max-width:400px;justify-self:end}
.hjw-about-intro img{display:block;width:100%;height:auto;max-height:480px;object-fit:cover;object-position:center 25%}
.hjw-story-panel.wp-block-group{padding:clamp(28px,5vw,64px);margin:56px 0}
.hjw-story-panel h2{margin:40px 0 20px}
.hjw-story-panel h2:first-child{margin-top:0}
.hjw-story-panel p{color:var(--muted);font-size:18px;max-width:68ch}
.hjw-story-panel p:last-child{margin-bottom:0}
.hjw-contact__direct figure{max-width:190px;margin:0 0 32px}
.hjw-contact__direct img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 25%}
@media(max-width:600px){.hjw-about-intro{grid-template-columns:1fr;margin-bottom:40px}.hjw-about-intro figure{justify-self:start;max-width:300px}.hjw-about-intro p{font-size:20px}.hjw-story-panel.wp-block-group{padding:28px 24px;margin-block:40px}}

.hjw-resume-nav{display:flex;gap:12px 28px;flex-wrap:wrap;padding:24px 0;border-block:1px solid var(--line);margin:40px 0}.hjw-resume-nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px}.hjw-resume-skills h3{margin:32px 0 12px;font-size:23px}.hjw-resume-skills p{max-width:76ch}.hjw-content [id]{scroll-margin-top:112px}


.hjw-motion-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--bg)}
.hjw-ambient{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(110deg,#293146 18%,#2d3a4d 50%,#293146 82%)}
.hjw-ambient__ribbon{position:absolute;inset:-42% -22%;background:radial-gradient(ellipse at 72% 62%,rgba(135,209,245,.34) 0,rgba(135,209,245,.18) 24%,rgba(94,129,172,.10) 46%,transparent 72%),radial-gradient(ellipse at 48% 44%,rgba(94,129,172,.14),transparent 68%);filter:blur(26px);transform:rotate(-6deg) scale(1.08)}
.hjw-motion-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#293146 8%,rgba(41,49,70,.96) 38%,rgba(41,49,70,.15) 80%)}
.hjw-showcase{background:#293146;border-color:#8995a8;min-width:0}
.hjw-showcase-tabs{display:flex;border-bottom:1px solid var(--line);padding-inline:24px;gap:24px;flex-wrap:wrap}
.hjw-showcase-tabs a{font-family:var(--font-mono);font-size:13px;min-height:52px;display:flex;align-items:center;color:var(--muted);border-bottom:2px solid transparent;text-decoration:none}
.hjw-showcase-tabs a[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}
.hjw-showcase-panel{padding:28px;scroll-margin-top:120px}
.hjw-showcase-panel[hidden]{display:none}
.hjw-showcase-panel h2{font-size:clamp(25px,2.3vw,34px);letter-spacing:-.025em;max-width:20ch;margin:0 0 16px}
.hjw-showcase-panel>p{color:var(--muted);font-size:16px;line-height:1.7;margin:0 0 24px}
.hjw-showcase-example{border-top:1px solid var(--line);padding-top:20px}
.hjw-showcase-example h3{font-size:18px;margin:0 0 8px}
.hjw-showcase-example p{font-size:14px;color:var(--muted);line-height:1.65;margin:0 0 14px}
.hjw-showcase-example a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.hjw-showcase-signal{display:flex;align-items:end;height:26px;gap:5px;margin-bottom:20px}
.hjw-showcase-signal span{background:var(--accent);width:18px;height:6px}
.hjw-showcase-signal span:nth-child(2){height:11px}.hjw-showcase-signal span:nth-child(3){height:16px}.hjw-showcase-signal span:nth-child(4){height:21px}.hjw-showcase-signal span:nth-child(5){height:26px}
.hjw-motion-toggle{display:block;margin:24px 0 0 auto;background:#293146;color:var(--muted);border:1px solid var(--control-line);font-family:var(--font-mono);font-size:12px;min-height:44px;padding:8px 14px}
.hjw-motion-toggle[hidden]{display:none}.hjw-motion-toggle:hover{background:var(--surface);color:var(--ink)}
.hjw-card{position:relative;isolation:isolate;overflow:hidden}
.hjw-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(280px circle at var(--spot-x,50%) var(--spot-y,30%),rgba(135,209,245,.035),transparent 75%)}
.hjw-card:is(:hover,:focus-within)::before{opacity:1}.hjw-card:focus-within{border-color:var(--accent)}
.hjw-btn{position:relative}
.hjw-btn::before,.hjw-btn::after{content:"";position:absolute;width:10px;height:10px;pointer-events:none;opacity:0;border-color:var(--accent);border-style:solid}
.hjw-btn::before{left:-5px;top:-5px;border-width:2px 0 0 2px;transform:translate(4px,4px)}
.hjw-btn::after{right:-5px;bottom:-5px;border-width:0 2px 2px 0;transform:translate(-4px,-4px)}
.hjw-btn:is(:hover,:focus-visible)::before,.hjw-btn:is(:hover,:focus-visible)::after{opacity:1;transform:translate(0,0)}
@media(prefers-reduced-motion:no-preference){
 .hjw-ambient__ribbon{animation:hjw-ambient-drift 8s cubic-bezier(.16,1,.3,1) 1 both}
 .hjw-card::before{transition:opacity .25s ease}
 .hjw-btn::before,.hjw-btn::after{transition:transform .25s ease,opacity .2s ease}
 .hjw-btn::after{transition-delay:.06s}
 .motion-running .hjw-card:hover .hjw-card__img{transform:scale(1.018);transition:transform .4s ease,filter .2s ease}
 .motion-running .hjw-showcase-panel.is-active .hjw-showcase-signal span{animation:hjw-signal .45s ease-out both;transform-origin:bottom}
 .hjw-showcase-signal span:nth-child(2){animation-delay:.04s}.hjw-showcase-signal span:nth-child(3){animation-delay:.08s}.hjw-showcase-signal span:nth-child(4){animation-delay:.12s}.hjw-showcase-signal span:nth-child(5){animation-delay:.16s}
 @keyframes hjw-ambient-drift{to{transform:translate(3%,2%) rotate(5deg) scale(1.12)}}
 @keyframes hjw-signal{from{transform:scaleY(.3)}to{transform:scaleY(1)}}
}

html:not(.motion-running) .hjw-btn,html:not(.motion-running) .hjw-btn::before,html:not(.motion-running) .hjw-btn::after{transition:none;transform:none}
html:not(.motion-running) .hjw-hero .code-win{animation:none}
@media(min-width:901px){.hjw-showcase-panel{min-height:383px}}
@media(max-width:600px){.hjw-showcase-panel{padding:24px 20px;min-height:405px}.hjw-showcase-tabs{padding-inline:20px;gap:20px}.hjw-motion-hero::after{background:linear-gradient(180deg,#293146 5%,rgba(41,49,70,.92) 42%,rgba(41,49,70,.2))}.hjw-motion-toggle{margin-top:20px}}
@media print{.hjw-ambient,.hjw-motion-toggle,.hjw-showcase-tabs{display:none!important}.hjw-showcase-panel[hidden]{display:block!important}}

.hjw-showcase-panel p,.hjw-showcase-example a{font-family:var(--font-body)}
.hjw-showcase-stage{display:grid}
.hjw-showcase-stage>.hjw-showcase-panel{grid-area:1/1;min-width:0}
.hjw-showcase-stage>.hjw-showcase-panel[hidden]{display:block;visibility:hidden;pointer-events:none}
@media print{.hjw-showcase-stage{display:block}.hjw-showcase-stage>.hjw-showcase-panel[hidden]{visibility:visible}}


.hjw-motion-hero>.hjw-wrap{position:relative;z-index:1}
.hjw-motion-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px}
.hjw-showcase-tabs{gap:20px;padding-inline:24px}
.hjw-hero .hjw-profile-panel pre{padding:0;margin:0;font-size:12px;line-height:1.95}
.hjw-profile-panel .hjw-terminal-command{font-family:var(--font-mono);font-size:13px;color:var(--accent);margin:0 0 20px}
body:not(.home) main>.hjw-section:first-child{position:relative;isolation:isolate;background-image:none}
body:not(.home) main>.hjw-section:first-child::before{content:"";position:absolute;inset:0 0 auto;height:min(680px,100%);z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px),radial-gradient(ellipse at 100% 0%,rgba(135,209,245,.06),transparent 65%);background-size:48px 48px,48px 48px,100% 100%;mask-image:linear-gradient(#000 35%,transparent)}
.hjw-light.hjw-connect{background-image:linear-gradient(rgba(41,49,70,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(41,49,70,.035) 1px,transparent 1px),linear-gradient(110deg,var(--light) 35%,#d8e5eb);background-size:48px 48px,48px 48px,100% 100%}
.hjw-head h1::after,body.single-hjw_project main h1::after{content:"";display:block;width:40px;height:12px;margin-top:24px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent)}
@media(max-width:600px){.hjw-showcase-tabs{gap:0;padding-inline:12px;justify-content:space-between}.hjw-showcase-tabs a{padding-inline:8px;font-size:12px}.hjw-hero .hjw-profile-panel pre{font-size:11px;line-height:1.9}}
@media(prefers-reduced-motion:reduce){.hjw-ambient__ribbon{animation:none}}


.hjw-fit-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:0;margin-top:30px;border-block:1px solid rgba(41,49,70,.24);font:600 12px/1.45 var(--font-mono);text-transform:uppercase;letter-spacing:.04em}
.hjw-fit-bar :is(span,a){display:flex;align-items:center;min-height:58px;padding:12px 18px;border-right:1px solid rgba(41,49,70,.24)}
.hjw-fit-bar :is(span,a):first-child{padding-left:0}.hjw-fit-bar a{border-right:0;color:var(--light-accent);text-decoration:underline;text-underline-offset:5px}
.hjw-site-proof{background:#252b35;border-block:1px solid var(--line)}
.hjw-site-proof__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(40px,7vw,112px);align-items:center}
.hjw-site-proof h2{font-size:clamp(34px,4.5vw,66px);max-width:11ch;margin:18px 0 24px}.hjw-site-proof p{color:var(--muted);font-size:19px;line-height:1.75;max-width:52ch}
.hjw-build-log{position:relative;overflow:hidden}.hjw-build-log::after{content:"";position:absolute;inset:38px 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.55;transform:translateX(-110%)}
.hjw-build-log ul{list-style:none;margin:0;padding:10px 28px 24px}.hjw-build-log li{display:grid;grid-template-columns:42px minmax(0,.75fr) minmax(0,1.25fr);gap:18px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}
.hjw-build-log li:last-child{border-bottom:0}.hjw-build-log li>span{font:12px var(--font-mono);color:var(--accent)}.hjw-build-log :is(strong,.hjw-build-log__title){font:600 17px var(--font-display);color:var(--ink)}.hjw-build-log :is(em,.hjw-build-log__meta){font:normal 14px/1.55 var(--font-mono);color:var(--muted)}
.hjw-team-section{background:var(--bg)}.hjw-team-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(40px,7vw,112px);margin-top:28px;align-items:start}.hjw-team-grid>h2{font-size:clamp(34px,4vw,60px);line-height:1.05;position:sticky;top:130px}
.hjw-team-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.hjw-team-list li{display:grid;grid-template-columns:56px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.hjw-team-list li>span{font:13px var(--font-mono);color:var(--accent)}.hjw-team-list strong{display:block;font:600 22px/1.25 var(--font-display);color:var(--ink);margin-bottom:10px}.hjw-team-list p{margin:0;color:var(--muted);font-size:17px;line-height:1.65}
.hjw-scroll-progress{position:fixed;z-index:9999;left:0;top:0;width:100%;height:2px;pointer-events:none;transform:scaleX(var(--page-progress,0));transform-origin:left;background:var(--accent)}

@media(prefers-reduced-motion:no-preference){
 html.motion-ready [data-reveal]{opacity:0;transform:translate3d(var(--reveal-x,0),28px,0);transition:opacity .72s cubic-bezier(.16,1,.3,1),transform .82s cubic-bezier(.16,1,.3,1)}
 html.motion-ready [data-reveal].is-in{opacity:1;transform:none}
 .hjw-work .hjw-card:nth-child(3n+1){--reveal-x:-18px}.hjw-work .hjw-card:nth-child(3n){--reveal-x:18px}
 .hjw-hero .hjw-prompt{animation:hjw-hero-step .55s .08s both}.hjw-hero h1{animation:hjw-hero-step .8s .16s cubic-bezier(.16,1,.3,1) both}.hjw-hero__lede{animation:hjw-hero-step .7s .3s both}.hjw-hero__actions{animation:hjw-hero-step .7s .42s both}.hjw-hero .code-win{animation:hjw-panel-arrive .95s .24s cubic-bezier(.16,1,.3,1) both}
 .hjw-proof__item{animation:hjw-proof-in .62s calc(.5s + var(--motion-order)*.09s) cubic-bezier(.16,1,.3,1) both}
 .hjw-card{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .2s ease}
 .hjw-card:hover{transform:perspective(1000px) translateY(-6px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
 .hjw-build-log.is-in::after{animation:hjw-scan 1.25s .3s cubic-bezier(.16,1,.3,1) 1 both}.hjw-build-log.is-in li{animation:hjw-line-in .55s calc(.22s + var(--motion-order)*.1s) both}
 .hjw-team-list li.is-in>span{animation:hjw-index-pulse .55s calc(var(--motion-order)*.08s) both}
 .hjw-scroll-progress{transition:transform .08s linear}
 @keyframes hjw-hero-step{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
 @keyframes hjw-panel-arrive{from{opacity:0;transform:translate3d(34px,18px,0) rotate(.7deg);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
 @keyframes hjw-proof-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
 @keyframes hjw-scan{0%{transform:translateX(-110%)}100%{transform:translateX(110%)}}
 @keyframes hjw-line-in{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
 @keyframes hjw-index-pulse{0%{opacity:.2;transform:translateX(-10px)}65%{color:var(--ink)}100%{opacity:1;transform:none}}
}
@media(max-width:900px){.hjw-fit-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.hjw-fit-bar :is(span,a):nth-child(2){border-right:0}.hjw-site-proof__grid,.hjw-team-grid{grid-template-columns:1fr}.hjw-team-grid>h2{position:static;max-width:17ch}.hjw-site-proof h2{max-width:15ch}}
@media(max-width:600px){.hjw-fit-bar{grid-template-columns:1fr}.hjw-fit-bar :is(span,a){padding-inline:0;border-right:0;border-bottom:1px solid rgba(41,49,70,.24)}.hjw-fit-bar a{border-bottom:0}.hjw-build-log ul{padding-inline:20px}.hjw-build-log li{grid-template-columns:34px 1fr}.hjw-build-log :is(em,.hjw-build-log__meta){grid-column:2}.hjw-team-list li{grid-template-columns:40px 1fr;gap:12px}.hjw-team-list strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.hjw-scroll-progress{display:none}.hjw-build-log::after{display:none}.hjw-card{transform:none!important;transition:none!important}}


.hjw-about-practice.wp-block-group{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:clamp(32px,4vw,64px);align-items:start;padding:0;margin-top:56px}
.hjw-about-practice>.wp-block-group__inner-container{display:contents}
.hjw-practice-copy.wp-block-group{padding:0;min-width:0}
.hjw-practice-copy h2{margin:48px 0 20px}
.hjw-practice-copy h2:first-child{margin-top:0}
.hjw-practice-copy p{font-size:18px;color:var(--muted);max-width:68ch}
.hjw-about-showcase.hjw-light{background:var(--light);border-color:var(--light-muted);margin-top:8px;font-family:var(--font-body)}
.hjw-about-showcase .cw-head{background:transparent;border-color:var(--line)}
.hjw-about-showcase .cw-name{color:var(--muted)}
.hjw-about-showcase .term-dots span{background:var(--muted)}
.hjw-about-showcase .hjw-showcase-panel{padding:32px;min-height:440px}
.hjw-about-showcase .hjw-showcase-panel h2{font-size:clamp(26px,2.3vw,36px)}
.hjw-about-showcase .hjw-showcase-panel>p{font-size:17px}
.hjw-about-showcase .hjw-showcase-example p{font-size:16px}
.hjw-about-showcase .hjw-showcase-example a{font-size:16px}
@media(prefers-reduced-motion:no-preference){.motion-running .hjw-about-showcase .is-active .hjw-showcase-example{animation:hjw-example-in .28s ease-out both}@keyframes hjw-example-in{from{transform:translateY(6px)}to{transform:translateY(0)}}}
@media(max-width:1000px){.hjw-about-practice.wp-block-group{grid-template-columns:1fr}.hjw-about-showcase{max-width:680px;width:100%}.hjw-about-showcase .hjw-showcase-panel{min-height:0}}
@media(max-width:600px){.hjw-about-showcase .hjw-showcase-panel{padding:28px 24px}.hjw-about-practice.wp-block-group{margin-top:40px}}


.hjw-wrap{box-sizing:border-box;max-width:var(--wrap);width:100%;margin-inline:auto;padding-inline:var(--gutter)}
.hjw-content,.hjw-content>.hjw-log,.hjw-hero__grid,.hjw-hero .code-win,.hjw-about-showcase{max-width:none;width:100%}
.hjw-content>h2,.hjw-head h2,.hjw-about h2,.hjw-cta h2{max-width:none}
.hjw-measure,.hjw-work-context,.hjw-archive-intro,.hjw-project__content p,.hjw-practice-copy p,.hjw-about-intro p,.hjw-cap p{max-width:none}
.hjw-content>p,.hjw-content>ul,.hjw-content>ol{max-width:none}
.hjw-story-panel p{max-width:none}
.hjw-resume-skills>.wp-block-group__inner-container{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);column-gap:48px;row-gap:24px;align-items:start}
.hjw-resume-skills h2{grid-column:1/-1}
.hjw-resume-skills h3,.hjw-resume-skills p{margin:0;padding-block:20px;border-top:1px solid var(--line)}
.hjw-resume-skills h3{font-size:22px}
@media(min-width:1001px){
.page-id-14 .hjw-content>p:first-child{column-count:2;column-gap:64px;font-size:20px}
.hjw-content>.hjw-log{padding-left:0;border-left:0;gap:48px}
.hjw-log__item{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);grid-template-rows:auto auto auto 1fr;column-gap:64px;row-gap:12px;padding-top:28px;border-top:1px solid var(--line)}
.hjw-log__item::before{display:none}
.hjw-log__item>.hjw-log__meta{grid-column:1;grid-row:1;margin:0}
.hjw-log__item>h3{grid-column:1;grid-row:2;margin:0}
.hjw-log__item>.hjw-log__org{grid-column:1;grid-row:3;margin:0}
.hjw-log__item>ul{grid-column:2;grid-row:1/5;margin:0}
.page-id-15 .hjw-story-panel:not(.hjw-resume-skills)>.wp-block-group__inner-container{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);column-gap:56px}
.page-id-15 .hjw-story-panel h2{grid-column:1;margin:0;padding-top:28px}
.page-id-15 .hjw-story-panel p{grid-column:2;margin:0 0 24px}
.page-id-15 .hjw-story-panel h2:first-child{grid-row:1/3;padding-top:0}
.page-id-15 .hjw-story-panel h2:nth-of-type(2){grid-row:3/5}
}
@media(max-width:1000px){
.hjw-resume-skills>.wp-block-group__inner-container{display:block}
.hjw-resume-skills h3{margin-top:32px;padding-bottom:0}
.hjw-resume-skills p{border-top:0;padding-top:12px}
}
@media print{.hjw-wrap{max-width:none;padding:0}.hjw-log__item,.hjw-resume-skills>.wp-block-group__inner-container{display:block}.page-id-14 .hjw-content>p:first-child{column-count:1}}


.hjw-icon{display:inline-block;width:22px;height:22px;min-width:22px;max-width:none;flex-shrink:0;vertical-align:middle;color:currentColor}
.hjw-has-icon>.hjw-icon{margin-right:12px}
.hjw-menu a{display:inline-flex;align-items:center}
.hjw-menu a>.hjw-icon{width:16px;height:16px;min-width:16px;margin-right:8px}
.hjw-has-icon:is(h2,h3){position:relative}
.hjw-has-icon:is(h2,h3)>.hjw-icon{width:.85em;height:.85em;min-width:.85em;color:var(--accent);vertical-align:baseline}
.hjw-project__meta dt>.hjw-icon{width:17px;height:17px;min-width:17px;color:var(--accent)}
.hjw-icon-action{display:inline-flex;align-items:center;gap:12px}
.hjw-icon-action>.hjw-icon{width:18px;height:18px;min-width:18px}
.hjw-service-icon{height:48px;margin-bottom:24px}
.hjw-service-icon>.hjw-icon{width:48px;height:48px;color:var(--accent)}
.t-icon-glyph>.hjw-icon{width:24px;height:24px;color:var(--accent)}
.hjw-contact__direct .hjw-has-icon{display:flex;align-items:center}
@media(prefers-reduced-motion:no-preference){
 .motion-running :is(.hjw-cap:hover,.hjw-about-showcase .is-active) .hjw-icon path{animation:hjw-icon-draw .6s ease-out both}
 .motion-running .hjw-icon-action:hover>.hjw-icon,.motion-running .hjw-icon-action:focus-visible>.hjw-icon{transform:translateX(3px)}
 .hjw-icon-action>.hjw-icon{transition:transform .2s ease}
 @keyframes hjw-icon-draw{from{stroke-dasharray:70;stroke-dashoffset:70}to{stroke-dasharray:70;stroke-dashoffset:0}}
}

@media(max-width:600px){.hjw-hero__actions .hjw-btn{gap:8px}.hjw-has-icon:is(h2,h3)>.hjw-icon{margin-right:9px}}


body:not(.home) main>.hjw-section:first-child::before{content:none}
.hjw-inner-hero-surface.hjw-motion-hero{position:absolute;inset:0 0 auto;height:min(720px,100%);z-index:-1;pointer-events:none;mask-image:linear-gradient(#000 0%,#000 65%,transparent 100%)}
.hjw-inner-hero-surface.hjw-motion-hero::before{background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(41,49,70,.55),rgba(41,49,70,.55));background-size:48px 48px,48px 48px,100% 100%}
@media print{.hjw-inner-hero-surface{display:none!important}}


.hjw-card__image-link{display:block;min-width:0;overflow:hidden;color:var(--accent)}
.hjw-card__image-link:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(min-width:1101px){.hjw-work--featured .hjw-card:last-child .hjw-card__image-link{grid-row:span 4;height:100%}.hjw-work--featured .hjw-card:last-child .hjw-card__image-link img{height:100%;object-fit:cover}}


.hjw-header__inner{min-height:100px}
.hjw-header .hjw-brand__name{font-size:30px;line-height:1.15;white-space:nowrap}
.hjw-header .hjw-brand__mark{width:52px;height:52px}
.hjw-nav a{font-size:16px;font-weight:600;letter-spacing:.01em}
.hjw-header.is-compact .hjw-header__inner{min-height:74px}
.hjw-header.is-compact .hjw-brand__name{font-size:22px}
.hjw-header.is-compact .hjw-brand__mark{width:38px;height:38px}
.hjw-footer .hjw-brand__name{font-size:28px;line-height:1.2}
.hjw-footer__links a{font-size:15px}
.hjw-footer__bottom{font-size:14px;line-height:1.6}
.hjw-resume-skills.wp-block-group{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);width:auto}
@media(min-width:1001px){.hjw-resume-skills>.wp-block-group__inner-container{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);column-gap:64px}}
@media(max-width:1100px){
 .hjw-header{position:sticky;top:0}
 .hjw-header__inner{flex-wrap:wrap;gap:12px;padding-block:12px;min-height:88px}
 .hjw-header .hjw-brand__name{font-size:26px}
 .hjw-nav{display:flex;width:100%}
 .hjw-nav .hjw-menu{width:100%;align-items:stretch;flex-direction:column}
 .hjw-nav li:last-child a{margin-left:0}
 .hjw-nav a{width:100%}
 .hjw-nav-toggle{display:none}
 .nav-ready .hjw-nav-toggle{display:inline-flex}
 .nav-ready .hjw-nav{display:none}
 .nav-ready .hjw-nav[data-open=true]{display:flex}
}
@media(max-width:600px){
 .hjw-header .hjw-brand__name{font-size:22px}
 .hjw-header .hjw-brand__mark{width:42px;height:42px}
 .hjw-header.is-compact .hjw-brand__name{font-size:20px}
 .hjw-footer .hjw-brand__name{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.hjw-header__inner,.hjw-header .hjw-brand__name,.hjw-header .hjw-brand__mark{transition:none}}

@media(max-width:600px){.hjw-nav-toggle{font-size:11px;min-width:44px;padding-inline:6px;gap:0}.hjw-nav-toggle span{display:none}}


.hjw-about-showcase .hjw-showcase-example{display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);gap:20px;align-items:start}
.hjw-about-showcase .hjw-showcase-thumbnail{margin:0;min-width:0}
.hjw-about-showcase .hjw-showcase-thumbnail a{display:block;min-height:0}
.hjw-about-showcase .hjw-showcase-thumbnail img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;border:0}
.hjw-about-showcase .hjw-showcase-project-copy{min-width:0}
@media(max-width:600px){.hjw-about-showcase .hjw-showcase-example{grid-template-columns:minmax(64px,.3fr) minmax(0,.7fr);gap:12px}}


.hjw-has-icon:is(h1,h2,h3,h4,h5,h6){display:block}
.hjw-has-icon:is(h1,h2,h3,h4,h5,h6)>:is(.gb-shape,.hjw-icon){display:inline-flex!important;margin:0 0 0 10px!important;color:var(--accent);vertical-align:.08em}
.hjw-has-icon:is(h1,h2,h3,h4,h5,h6)>.gb-shape svg{display:block;width:.85em!important;height:.85em!important}
.hjw-has-icon:is(h1,h2,h3,h4,h5,h6)>.hjw-icon{width:.85em;height:.85em}
.hjw-about-showcase .hjw-showcase-panel.is-active{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:start}
.hjw-about-showcase .hjw-showcase-panel>.hjw-showcase-signal{grid-column:2;grid-row:1;align-self:center;height:auto;margin:0}
.hjw-about-showcase .hjw-showcase-panel>h2{grid-column:1;grid-row:1;margin-bottom:16px}
.hjw-about-showcase .hjw-showcase-panel>:not(.hjw-showcase-signal):not(h2){grid-column:1/-1}

.hjw-card__image-link{display:block;aspect-ratio:8/5;height:auto!important;padding:0;overflow:hidden;border:0;background:transparent}
.hjw-card__img,.hjw-work--featured .hjw-card:first-child .hjw-card__img,.hjw-work--featured .hjw-card:last-child .hjw-card__img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:contain;object-position:center;border:0;margin:0}
.hjw-work--featured .hjw-card:last-child .hjw-card__image-link img{height:100%;object-fit:contain}
.hjw-work--featured .hjw-card:last-child{display:flex}

.hjw-fit-bar--dark{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(210px,.72fr);border:0;background:var(--light);color:var(--light-ink);text-transform:none;letter-spacing:0;margin-top:40px}
.hjw-fit-bar--dark>:is(span,a){min-height:104px;padding:20px 28px;border-right:1px solid rgba(41,49,70,.22);border-bottom:0}
.hjw-fit-bar--dark>:is(span,a):first-child{padding-left:28px}
.hjw-fit-bar--dark .hjw-fit-stat{display:grid;align-content:center;gap:8px}
.hjw-fit-bar--dark .hjw-fit-stat strong{font:700 clamp(30px,3vw,44px)/1 var(--font-display);letter-spacing:-.03em;color:var(--light-accent)}
.hjw-fit-bar--dark .hjw-fit-stat span,.hjw-fit-bar--dark .hjw-fit-resume span{min-height:0;padding:0;border:0;font:500 13px/1.45 var(--font-mono);letter-spacing:.02em;color:var(--light-muted)}
.hjw-fit-bar--dark .hjw-fit-resume{justify-content:space-between;gap:16px;border:0;background:var(--accent);color:var(--accent-ink);font:600 13px/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.04em;text-decoration:none}
.hjw-fit-bar--dark .hjw-fit-resume :is(.gb-shape,.hjw-icon,span){color:inherit;border:0;margin:0;padding:0;min-height:0}

.hjw-writing-hero{position:relative;overflow:hidden;min-height:min(680px,72vh);display:grid;align-items:end}
.hjw-writing-hero>.hjw-wrap{position:relative;z-index:1;padding-bottom:0}
.hjw-writing-title{max-width:14ch;font-size:clamp(46px,7.4vw,108px);line-height:.96;letter-spacing:-.055em;margin:22px 0 28px}
.hjw-writing-lede{font-size:clamp(18px,1.5vw,22px);color:var(--muted);max-width:64ch}
.hjw-writing-topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.hjw-writing-topics>span{font:600 12px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--accent);border:1px solid var(--line);padding:12px 14px}
.hjw-writing-index{background:var(--surface)}
.hjw-head--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);gap:12px 48px;align-items:end}
.hjw-head--split>.hjw-label{grid-column:1/-1}
.hjw-head--split h2{margin:0;max-width:18ch}
.hjw-writing-intro{color:var(--muted);font-size:17px;margin:0 0 4px}
.hjw-writing-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px!important;background:var(--line);border:1px solid var(--line);list-style:none;padding:0;margin:40px 0 0}
.hjw-writing-card{height:100%;padding:24px;background:var(--bg);display:flex;flex-direction:column;align-items:stretch}
.hjw-writing-card__image{margin:-24px -24px 24px;overflow:hidden;border-bottom:1px solid var(--line)}
.hjw-writing-card__image img{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.hjw-writing-card:hover .hjw-writing-card__image img{transform:scale(1.025)}
.hjw-writing-card__date{font:600 12px/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}
.hjw-writing-card__title{font-size:clamp(23px,2vw,31px);margin:14px 0 12px}
.hjw-writing-card__title a{color:var(--ink);text-decoration:none}
.hjw-writing-card__excerpt{color:var(--muted);margin-top:auto}
.hjw-writing-card__excerpt .wp-block-post-excerpt__more-link{display:inline-flex;margin-top:22px;color:var(--accent);font-family:var(--font-mono);text-underline-offset:5px}
.hjw-writing-pagination{margin-top:32px;font-family:var(--font-mono)}
.hjw-writing-empty{margin-top:40px;padding:clamp(32px,5vw,72px);border:1px solid var(--line);background:var(--bg);position:relative;overflow:hidden}
.hjw-writing-empty::before{content:"01";position:absolute;right:24px;top:12px;font:700 clamp(70px,10vw,150px)/1 var(--font-display);color:rgba(135,209,245,.055);pointer-events:none}
.hjw-writing-empty h3{font-size:clamp(28px,3vw,44px);max-width:18ch}
.hjw-writing-empty p{color:var(--muted);max-width:56ch}


.hjw-home-writing{position:relative;overflow:hidden;background:var(--light);color:var(--light-ink)}
.hjw-home-writing__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 64px;align-items:end;margin-bottom:40px}
.hjw-home-writing__intro{max-width:760px}
.hjw-home-writing__heading{font-size:clamp(38px,5vw,72px);line-height:1;letter-spacing:-.045em;margin:20px 0 18px;color:var(--light-ink)}
.hjw-home-writing__lede{max-width:62ch;margin:0;color:var(--light-muted);font-size:18px}
.hjw-home-writing__head>.hjw-btn{align-self:end;color:var(--light-accent);border-color:var(--light-accent);white-space:nowrap}
.hjw-home-writing__grid{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:1px!important;list-style:none;margin:0;padding:1px;background:rgba(41,49,70,.28)}
.hjw-home-writing__grid>li{min-width:0;margin:0}
.hjw-home-writing__grid>li:first-child{grid-row:1/3}
.hjw-home-writing__card{height:100%;background:var(--light);overflow:hidden}
.hjw-home-writing__card>.wp-block-group__inner-container{height:100%;display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,.58fr)}
.hjw-home-writing__grid>li:first-child .hjw-home-writing__card>.wp-block-group__inner-container{display:flex;flex-direction:column}
.hjw-home-writing__image{height:100%;margin:0;overflow:hidden;background:#d8e5eb}
.hjw-home-writing__image a{display:block;height:100%}
.hjw-home-writing__image img{display:block;width:100%;height:100%;min-height:220px;object-fit:cover;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.hjw-home-writing__grid>li:first-child .hjw-home-writing__image{height:auto;aspect-ratio:16/8.4}
.hjw-home-writing__copy{align-self:stretch;max-width:none!important;margin:0!important;padding:clamp(22px,2.5vw,34px)}
.hjw-home-writing__copy>.wp-block-group__inner-container{height:100%;display:flex;flex-direction:column;align-items:flex-start}
.hjw-home-writing__copy>.wp-block-group__inner-container>:where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:none;margin-left:0!important;margin-right:0!important}
.hjw-home-writing__date{font:600 11px/1.4 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--light-accent)}
.hjw-home-writing__title{font-size:clamp(22px,2.1vw,32px);line-height:1.12;letter-spacing:-.025em;margin:13px 0 16px}
.hjw-home-writing__title a{position:relative;color:var(--light-ink);text-decoration:none;text-underline-offset:5px}
.hjw-home-writing__excerpt{margin-top:auto;color:var(--light-muted);font-size:15px;line-height:1.6}
.hjw-home-writing__excerpt p{margin-bottom:0}
.hjw-home-writing__excerpt .wp-block-post-excerpt__more-link{display:inline-flex;margin-top:18px;color:var(--light-accent);font-family:var(--font-mono);text-underline-offset:5px}
.hjw-home-writing__empty{padding:32px;border:1px solid rgba(41,49,70,.28);color:var(--light-muted)}
@media(prefers-reduced-motion:no-preference){.hjw-home-writing__card:hover .hjw-home-writing__image img{transform:scale(1.035)}.hjw-home-writing__title a:hover{text-decoration:underline}}
@media(max-width:1000px){.hjw-home-writing__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.hjw-home-writing__grid>li:first-child{grid-column:1/-1;grid-row:auto}.hjw-home-writing__grid>li:not(:first-child) .hjw-home-writing__card>.wp-block-group__inner-container{display:flex;flex-direction:column}.hjw-home-writing__grid>li:not(:first-child) .hjw-home-writing__image{height:auto;aspect-ratio:16/9}}
@media(max-width:700px){.hjw-home-writing__head{grid-template-columns:1fr;align-items:start}.hjw-home-writing__head>.hjw-btn{justify-self:start}.hjw-home-writing__grid{grid-template-columns:1fr}.hjw-home-writing__grid>li:first-child{grid-column:auto}.hjw-home-writing__card>.wp-block-group__inner-container{display:flex;flex-direction:column}.hjw-home-writing__image,.hjw-home-writing__grid>li:first-child .hjw-home-writing__image{height:auto;aspect-ratio:16/10}}


.hjw-article{background:var(--bg);color:var(--ink)}
.hjw-article__post{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);column-gap:clamp(40px,6vw,96px);align-items:center;margin:0;padding-inline:max(var(--gutter),calc((100vw - var(--wrap))/2 + var(--gutter)))}
.hjw-article__header{min-width:0;padding:clamp(44px,5vw,72px) 0;border:0}
.hjw-article__header>.hjw-wrap{max-width:none;padding-inline:0}
.hjw-article__header h1{max-width:13ch;font-size:clamp(42px,5vw,76px);line-height:1;letter-spacing:-.05em;margin:24px 0}
.hjw-article__meta{display:flex;flex-wrap:wrap;gap:8px 18px;font:600 12px/1.5 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.hjw-article__meta a{color:inherit;text-underline-offset:5px}
.hjw-article__featured.hjw-wrap{min-width:0;max-width:none;margin:0;padding:0}
.hjw-article__featured img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border:1px solid var(--line)}
.hjw-article__content{grid-column:1/-1;width:100%;max-width:1080px;margin:0}
.hjw-article-body{max-width:1080px;margin:0;padding:clamp(44px,5vw,72px) 0}
.hjw-article-body.is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:none;margin-left:0!important;margin-right:0!important}
.hjw-article-body>p,.hjw-article-body>ul,.hjw-article-body>ol{font-size:clamp(18px,1.25vw,20px);line-height:1.75;color:var(--muted)}
.hjw-article-body>p:first-child{font-size:clamp(21px,2vw,28px);line-height:1.55;color:var(--ink)}
.hjw-article-body>h2{font-size:clamp(30px,4vw,48px);line-height:1.08;letter-spacing:-.035em;margin:72px 0 24px}
.hjw-article-body>h3{font-size:clamp(23px,2.4vw,32px);margin:44px 0 18px}
.hjw-article-body>blockquote{margin:56px 0;padding:28px 0 28px 28px;border-left:3px solid var(--accent);font-size:clamp(22px,2.4vw,32px);color:var(--ink)}
.hjw-article-body a{color:var(--accent);text-underline-offset:5px}
.hjw-article-body a:is(:hover,:focus-visible){color:var(--accent-hi)}
@media(max-width:900px){.hjw-article__post{display:block;padding-inline:0}.hjw-article__header{padding:56px var(--gutter) 36px}.hjw-article__header h1{max-width:16ch}.hjw-article__featured.hjw-wrap{width:auto;max-width:720px;margin-inline:var(--gutter)}.hjw-article__content{max-width:none;padding-inline:var(--gutter)}}
@media(max-width:600px){.hjw-article__header{padding-top:48px}.hjw-article__header h1{font-size:clamp(38px,13vw,58px);margin:18px 0 22px}.hjw-article__featured img{aspect-ratio:4/3}.hjw-article-body>h2{margin-top:56px}}

.hjw-footer{position:relative;isolation:isolate;overflow:hidden;padding:0;background:#293146;border-top:0}
.hjw-footer::before{content:"JW";position:absolute;right:max(var(--gutter),calc((100% - var(--wrap))/2 + var(--gutter)));bottom:-.08em;z-index:-1;font:700 clamp(180px,28vw,420px)/.78 var(--font-display);letter-spacing:-.06em;color:rgba(135,209,245,.04);pointer-events:none}

.hjw-footer__signal{position:relative;display:block;width:100%;height:2px;margin:0;background:var(--brand);flex-shrink:0}
.hjw-footer__signal::before,.hjw-footer__signal::after{content:"";position:absolute;top:0;width:2px;height:12px;background:inherit;pointer-events:none}
.hjw-footer__signal::before{left:max(var(--gutter),calc((100% - var(--wrap))/2 + var(--gutter)))}
.hjw-footer__signal::after{right:max(var(--gutter),calc((100% - var(--wrap))/2 + var(--gutter)))}
.hjw-footer>.hjw-wrap{padding-top:clamp(48px,5vw,72px);padding-bottom:32px}
.hjw-footer__lead{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(460px,.95fr);gap:clamp(48px,6vw,96px);align-items:end;padding-bottom:clamp(44px,5vw,64px)}
.hjw-footer__title{font-size:clamp(42px,5.6vw,78px);line-height:.98;letter-spacing:-.05em;max-width:none;margin:22px 0 26px}
.hjw-footer__title>span{display:block}
.hjw-footer__lede{max-width:58ch;color:var(--muted);font-size:18px}
.hjw-footer__actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:30px}
.hjw-footer__email{color:var(--ink);font-size:14px;text-underline-offset:6px;overflow-wrap:anywhere}
.hjw-footer__map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding-left:clamp(28px,4vw,56px)}
.hjw-footer__column{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.hjw-footer__column h3{font:600 12px/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 8px}
.hjw-footer__column a{font-size:16px;color:var(--muted);text-decoration:none;min-height:32px}
.hjw-footer__column a:hover{color:var(--ink)}
.hjw-footer__bottom{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:24px 0 0;border-top:1px solid var(--line);font-size:12px}
.hjw-footer__bottom p{margin:0}
.hjw-footer__disclaimer{font:inherit;color:var(--muted);max-width:none;overflow-wrap:normal}
@media(min-width:768px){.hjw-footer__disclaimer{white-space:nowrap}}


.hjw-service-page p{font-size:18px;line-height:1.7}
.hjw-service-page h2{font-size:clamp(32px,3.6vw,52px);line-height:1.1;letter-spacing:-.03em;margin:0 0 24px}
.hjw-service-page h3{font-size:clamp(23px,2.2vw,30px);line-height:1.2;letter-spacing:-.02em}
.hjw-service-page a:not(.hjw-btn){text-underline-offset:5px}
.hjw-service-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(32px,4vw,64px)}
.hjw-service-hero__copy h1{font-size:clamp(38px,4.1vw,64px);line-height:1.05;letter-spacing:-.035em;text-wrap:balance;margin:0 0 26px}
.hjw-service-hero__copy p{color:var(--muted);max-width:50ch;margin:0}
.hjw-service-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:30px}
.hjw-service-text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.hjw-service-hero__visual{margin:0;min-width:0}
.hjw-service-hero__visual img{display:block;width:100%;height:auto}
.hjw-service-hero__visual figcaption{font-size:13px;line-height:1.6;color:var(--muted);margin-top:16px}
.hjw-service-scope>.hjw-wrap>p,.hjw-service-proof>.hjw-wrap>p{max-width:68ch}
.hjw-service-rows{margin:40px 0}
.hjw-service-row{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:24px 56px;padding:30px 0;border-top:1px solid var(--line)}
.hjw-service-row:last-child{border-bottom:1px solid var(--line)}
.hjw-service-row h3,.hjw-service-row p{margin:0}
.hjw-service-scope__note{font-size:16px!important}
.hjw-service-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,72px);margin-top:36px}
.hjw-service-project{min-width:0}
.hjw-service-project__image{display:block}
.hjw-service-project__image img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain}
.hjw-service-project h3{margin:24px 0 14px}
.hjw-service-project p{color:var(--muted)}
.hjw-service-attribution{font-size:14px!important;line-height:1.6!important}
.hjw-service-process__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,100px)}
.hjw-service-process__intro p,.hjw-service-process__steps p{color:var(--muted)}
.hjw-service-process__steps h3{margin:32px 0 12px}
.hjw-service-process__steps h3:first-child{margin-top:0}
.hjw-service-faq__body{max-width:76ch}
.hjw-service-faq__body h3{margin:36px 0 14px}
.hjw-service-faq__body>p:last-child{margin-top:36px}
.hjw-article__featured img.hjw-migration-guide-image{aspect-ratio:8/5;object-fit:contain;border:0}
.hjw-migration-guide-caption{font-size:13px;line-height:1.6;color:var(--muted);margin:16px 0 0}
.hjw-article__meta>.wp-block{margin:0}
@media(max-width:900px){.hjw-service-hero__grid,.hjw-service-process__grid{grid-template-columns:1fr}.hjw-service-hero__visual{max-width:640px}.hjw-service-hero__copy h1{max-width:20ch}.hjw-service-hero__copy p{max-width:65ch}}
@media(max-width:600px){.hjw-service-projects,.hjw-service-row{grid-template-columns:1fr}.hjw-service-row{gap:14px}.hjw-service-projects{gap:48px}.hjw-service-hero__copy h1{font-size:38px}.hjw-service-page p{font-size:17px}.hjw-service-hero__visual figcaption{font-size:13px}}


@media(max-width:1100px){.hjw-footer__lead{grid-template-columns:1fr}.hjw-footer__map{border-left:0;border-top:1px solid var(--line);padding:32px 0 0}}
@media(max-width:900px){.hjw-fit-bar--dark{grid-template-columns:repeat(2,minmax(0,1fr))}.hjw-fit-bar--dark>:is(span,a):nth-child(2){border-right:0}.hjw-fit-bar--dark>:is(span,a):nth-child(-n+2){border-bottom:1px solid rgba(41,49,70,.22)}.hjw-writing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hjw-head--split{grid-template-columns:1fr}.hjw-head--split>.hjw-label{grid-column:auto}}
@media(max-width:600px){.hjw-fit-bar--dark{grid-template-columns:1fr}.hjw-fit-bar--dark>:is(span,a){min-height:92px;border-right:0;border-bottom:1px solid rgba(41,49,70,.22)!important}.hjw-fit-bar--dark>a:last-child{border-bottom:0!important}.hjw-writing-hero{min-height:560px}.hjw-writing-grid{grid-template-columns:1fr}.hjw-footer__map{grid-template-columns:1fr 1fr;gap:24px}.hjw-footer__bottom{display:grid}}
@media(max-width:430px){.hjw-footer__map{grid-template-columns:1fr;gap:32px}}
@media print{.hjw-footer__signal,.hjw-writing-topics{display:none!important}}


:is(.code-win,.hjw-card,.hjw-skill,.hjw-about-showcase,.hjw-writing-grid,.hjw-writing-empty,.hjw-gallery-card,.hjw-preview-dialog,.hjw-contact-card,.hjw-article__featured img,.hjw-service-project__image,.hjw-card__image-link){border-radius:var(--radius-surface)}
:is(.code-win,.hjw-card,.hjw-about-showcase,.hjw-writing-grid,.hjw-writing-empty,.hjw-gallery-card,.hjw-contact-card){box-shadow:var(--shadow-surface)}
.hjw-preview-dialog{border-radius:var(--radius-surface);box-shadow:var(--shadow-raised)}
:is(.hjw-btn,.hjw-filter,.hjw-preview-close,.hjw-nav-toggle,.hjw-writing-topics>span,.hjw-writing-pagination a,.hjw-writing-pagination .current,.wp-block-button__link){border-radius:var(--radius-control)}
.hjw-card{transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .2s ease,box-shadow .25s ease}
.hjw-card:is(:hover,:focus-within){box-shadow:var(--shadow-raised)}
.hjw-writing-card__image{border-radius:var(--radius-surface) var(--radius-surface) 0 0}
.hjw-writing-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.hjw-writing-pagination :is(a,.current){display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--line);color:var(--ink);text-decoration:none}
.hjw-writing-pagination a:hover{border-color:var(--accent);color:var(--accent)}
.hjw-writing-pagination .current{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}


.hjw-showcase-tabs a:focus:not(:focus-visible){outline:0;box-shadow:none}
.hjw-about-showcase .hjw-showcase-panel.is-active{grid-template-rows:auto auto 1fr;row-gap:18px;column-gap:20px}
.hjw-about-showcase .hjw-showcase-panel>h2{margin:0;align-self:center}
.hjw-about-showcase .hjw-showcase-panel>.hjw-showcase-signal.hjw-service-icon{display:grid;place-items:center;width:44px;height:44px;min-height:44px;margin:0;align-self:center}
.hjw-about-showcase .hjw-showcase-panel>.hjw-showcase-signal .hjw-icon{width:38px;height:38px;min-width:38px}
.hjw-about-showcase .hjw-showcase-panel>p{grid-row:2;margin:0}
.hjw-about-showcase .hjw-showcase-panel>.hjw-showcase-example{grid-row:3;margin-top:4px}
@media(min-width:901px){.hjw-about-showcase .hjw-showcase-panel{min-height:400px}}


body .hjw-form form[data-resume-message] textarea[name="field_187518"]~.wsf-help{display:none}
body .hjw-form form[data-resume-message].hjw-resume-request-active textarea[name="field_187518"]~.wsf-help{display:block}


body .hjw-form form.wsf-form [data-type=checkbox] [data-row-checkbox]>.wsf-label{font-size:16px!important;line-height:1.55!important;text-wrap:balance;max-width:62ch}


body .hjw-form form.wsf-form :is(input[type=text],input[type=email],input[type=tel],input[type=url],textarea,select,button[type=submit],input[type=submit]){border-radius:var(--radius-control)!important}
.hjw-form :is(input,textarea,select,.wsf-message,.alert){border-radius:var(--radius-control)}
.hjw-form input[type=checkbox]{border-radius:2px}

@media print{
 :is(.code-win,.hjw-card,.hjw-skill,.hjw-about-showcase,.hjw-writing-grid,.hjw-writing-empty,.hjw-gallery-card,.hjw-contact-card){box-shadow:none!important}
}



.hjw-writing-hero{min-height:0;align-items:start;padding-top:clamp(64px,7vw,104px);padding-bottom:clamp(40px,4vw,64px)}
.hjw-writing-hero .hjw-writing-lede{margin-bottom:0}
.hjw-category-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 36px;padding:0 0 24px;border-bottom:1px solid var(--line)}
.hjw-category-tabs .hjw-category-list{display:contents;list-style:none;margin:0;padding:0}
.hjw-category-tabs .hjw-category-list li{display:contents;list-style:none;margin:0;padding:0}
.hjw-category-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:3px;font-family:var(--font-mono);font-size:13px;line-height:1.5;color:var(--ink);text-decoration:none;transition:background-color .15s,border-color .15s}
.hjw-category-tabs a:hover{background:var(--surface);border-color:var(--accent)}
.hjw-category-tabs a[aria-current=page],.hjw-category-tabs .current-cat>a{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.hjw-category-tabs a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.hjw-prompt .hjw-type-char{position:relative}
.hjw-prompt .hjw-type-caret:after{content:'';position:absolute;left:100%;top:0;width:.5em;height:1.1em;background:var(--accent);opacity:.8}
.hjw-prompt .hjw-type-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.hjw-writing-hero{min-height:0;padding-top:48px;padding-bottom:32px}.hjw-category-tabs{gap:8px;margin-bottom:28px;padding-bottom:20px}.hjw-category-tabs a{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.hjw-category-tabs a{transition:none}.hjw-prompt .hjw-type-caret:after{display:none}}

.hjw-video-hero .hjw-prompt{max-width:none}
.hjw-prompt .hjw-type-word{white-space:nowrap}
@media(min-width:1101px){.hjw-video-hero .hjw-prompt{white-space:nowrap}}

.hjw-grid-light{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;background:radial-gradient(220px circle at var(--grid-x,50%) var(--grid-y,50%),rgba(135,209,245,.035),transparent 75%);transition:opacity .3s ease}
.hjw-grid-light.is-lit{opacity:1}
.hjw-preview-media{position:relative;min-width:0;overflow:visible}
.hjw-preview-open{position:absolute;right:12px;bottom:12px;z-index:2;background:#293146;color:#eceff4;border:1px solid #87d1f5;padding:10px 16px;min-height:44px;font:13px var(--font-mono)}
.hjw-preview-open[hidden]{display:none}
.hjw-preview-open:hover{background:#354058}
.hjw-preview-open::before,.hjw-preview-open::after{content:"";position:absolute;width:9px;height:9px;border-color:var(--accent);border-style:solid;opacity:0;pointer-events:none}
.hjw-preview-open::before{left:-5px;top:-5px;border-width:2px 0 0 2px;transform:translate(4px,4px)}
.hjw-preview-open::after{right:-5px;bottom:-5px;border-width:0 2px 2px 0;transform:translate(-4px,-4px)}
@media(prefers-reduced-motion:no-preference){.motion-running .hjw-preview-open{transition:transform .24s cubic-bezier(.22,1,.36,1),background .2s ease}.motion-running .hjw-preview-open::before,.motion-running .hjw-preview-open::after{transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .18s ease}.motion-running .hjw-preview-open:is(:hover,:focus-visible){transform:translateY(-3px)}.motion-running .hjw-preview-open:is(:hover,:focus-visible)::before,.motion-running .hjw-preview-open:is(:hover,:focus-visible)::after{opacity:1;transform:translate(0,0)}}
.hjw-preview-close,.hjw-filter,.hjw-nav-toggle,.hjw-showcase-tabs a,.wp-block-button__link{position:relative}
.hjw-preview-close::before,.hjw-preview-close::after,.hjw-filter::before,.hjw-filter::after,.hjw-nav-toggle::before,.hjw-nav-toggle::after,.hjw-showcase-tabs a::before,.hjw-showcase-tabs a::after,.wp-block-button__link::before,.wp-block-button__link::after{content:"";position:absolute;width:9px;height:9px;border-color:var(--accent);border-style:solid;opacity:0;pointer-events:none}
.hjw-preview-close::before,.hjw-filter::before,.hjw-nav-toggle::before,.hjw-showcase-tabs a::before,.wp-block-button__link::before{left:-5px;top:-5px;border-width:2px 0 0 2px;transform:translate(4px,4px)}
.hjw-preview-close::after,.hjw-filter::after,.hjw-nav-toggle::after,.hjw-showcase-tabs a::after,.wp-block-button__link::after{right:-5px;bottom:-5px;border-width:0 2px 2px 0;transform:translate(-4px,-4px)}
@media(prefers-reduced-motion:no-preference){.motion-running :is(.hjw-preview-close,.hjw-filter,.hjw-nav-toggle,.hjw-showcase-tabs a,.wp-block-button__link){transition:transform .24s cubic-bezier(.22,1,.36,1),background .2s ease,border-color .2s ease}.motion-running :is(.hjw-preview-close,.hjw-filter,.hjw-nav-toggle,.hjw-showcase-tabs a,.wp-block-button__link)::before,.motion-running :is(.hjw-preview-close,.hjw-filter,.hjw-nav-toggle,.hjw-showcase-tabs a,.wp-block-button__link)::after{transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .18s ease}.motion-running :is(.hjw-preview-close,.hjw-filter,.hjw-nav-toggle,.hjw-showcase-tabs a,.wp-block-button__link):is(:hover,:focus-visible){transform:translateY(-3px)}.motion-running :is(.hjw-preview-close,.hjw-filter,.hjw-nav-toggle,.hjw-showcase-tabs a,.wp-block-button__link):is(:hover,:focus-visible)::before,.motion-running :is(.hjw-preview-close,.hjw-filter,.hjw-nav-toggle,.hjw-showcase-tabs a,.wp-block-button__link):is(:hover,:focus-visible)::after{opacity:1;transform:translate(0,0)}}
.hjw-fit-resume{position:relative}
.hjw-fit-resume::before,.hjw-fit-resume::after{content:"";position:absolute;width:9px;height:9px;border-color:currentColor;border-style:solid;opacity:0;pointer-events:none}
.hjw-fit-resume::before{left:-5px;top:-5px;border-width:2px 0 0 2px;transform:translate(4px,4px)}
.hjw-fit-resume::after{right:-5px;bottom:-5px;border-width:0 2px 2px 0;transform:translate(-4px,-4px)}
@media(prefers-reduced-motion:no-preference){.motion-running .hjw-fit-resume{transition:transform .24s cubic-bezier(.22,1,.36,1),filter .2s ease}.motion-running .hjw-fit-resume::before,.motion-running .hjw-fit-resume::after{transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .18s ease}.motion-running .hjw-fit-resume:is(:hover,:focus-visible){transform:translateY(-3px);filter:brightness(1.06)}.motion-running .hjw-fit-resume:is(:hover,:focus-visible)::before,.motion-running .hjw-fit-resume:is(:hover,:focus-visible)::after{opacity:1;transform:translate(0,0)}}
@media(min-width:1101px){.hjw-work--featured .hjw-card:last-child .hjw-preview-media{grid-row:span 4;height:100%}.hjw-work--featured .hjw-card:last-child .hjw-card__image-link{height:100%}}
.hjw-preview-dialog{width:min(1240px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #8995a8;background:#293146;color:#eceff4;overflow:auto}
.hjw-preview-dialog::backdrop{background:rgba(15,20,28,.88)}
.hjw-preview-top{position:sticky;top:0;z-index:3;background:#293146;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;border-bottom:1px solid #8995a8}
.hjw-preview-top h2{font:600 clamp(23px,2vw,32px)/1.15 var(--font-display);margin:0;max-width:32ch;color:#eceff4}
.hjw-preview-close{background:#354058;color:#eceff4;border:1px solid #8995a8;min-height:44px;padding:10px 14px;font:13px var(--font-mono);flex-shrink:0}
.hjw-preview-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
.hjw-preview-viewport{display:grid;place-items:center;width:100%;aspect-ratio:1680/1104;min-height:0;overflow:hidden;background:var(--bg)}
.hjw-preview-video,.hjw-preview-full{display:block;width:100%;height:100%;max-width:none;object-fit:contain;background:var(--bg)}
.hjw-preview-video[hidden],.hjw-preview-full[hidden]{display:none}
.hjw-preview-notes{padding:28px;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.hjw-preview-notes p{margin:0;color:#abb4c4;font-size:17px;line-height:1.7}
.hjw-preview-notes .hjw-preview-help,.hjw-preview-notes .hjw-preview-status{font-size:14px}
.hjw-preview-case{margin-top:auto}
.hjw-pixel-unit{display:flex;align-items:center;gap:20px;min-width:0}
.hjw-pixel-unit img{width:144px;height:180px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}
.hjw-pixel-unit p{font:14px/1.6 var(--font-body);color:var(--muted);margin:0 0 10px}
.hjw-pixel-hello{background:none;color:var(--accent);border:1px solid var(--control-line);font:12px var(--font-mono);min-height:44px;padding:8px 12px}
.hjw-pixel-hello[hidden]{display:none}.hjw-pixel-status{min-height:44px;max-width:25ch}
.hjw-pixel-terminal{border-top:1px solid var(--line);padding:12px 24px;background:#293146}
.hjw-pixel-contact{padding:0 0 48px;background:#293146}.hjw-pixel-contact .hjw-pixel-unit{justify-content:center}
@media(prefers-reduced-motion:no-preference){.hjw-pixel-unit.is-greeting img{animation:hjw-pixel-nod .65s steps(4) 1}@keyframes hjw-pixel-nod{25%{transform:translateY(-5px) rotate(-2deg)}65%{transform:translateY(1px) rotate(1deg)}100%{transform:none}}.hjw-preview-dialog[open]{animation:hjw-preview-enter .2s ease-out}@keyframes hjw-preview-enter{from{opacity:.7;transform:translateY(8px)}to{opacity:1;transform:none}}}
@media(max-width:760px){.hjw-preview-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.hjw-preview-layout{grid-template-columns:1fr}.hjw-preview-top{padding:16px;gap:12px;align-items:flex-start}.hjw-preview-close{font-size:11px;padding:8px}.hjw-preview-notes{padding:20px}.hjw-pixel-terminal{padding:12px 16px}.hjw-pixel-unit{gap:12px}.hjw-pixel-unit img{width:100px;height:125px}.hjw-pixel-unit p{font-size:13px}}
@media print{.hjw-grid-light,.hjw-preview-open,.hjw-preview-dialog,.hjw-pixel-unit{display:none!important}}

.hjw-pixel-hero{margin-top:24px}.hjw-pixel-hero img{width:112px;height:140px}.hjw-pixel-hero .hjw-pixel-status{margin:8px 0 0;min-height:24px}.hjw-pixel-hero p{font-size:13px}

@media(prefers-reduced-motion:reduce){.hjw-grid-light{display:none;transition:none}}

.hjw-contact__direct img.wp-image-113{aspect-ratio:auto;object-fit:contain;image-rendering:pixelated}


.hjw-project__hero-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(420px,1.22fr);gap:clamp(32px,5vw,72px);align-items:center;margin-top:var(--sp-md)}
.hjw-project__intro{min-width:0}
.hjw-project__hero-media{min-width:0;background:transparent;overflow:visible}
.hjw-project__hero-media figure,.hjw-project-gallery figure{margin:0}
.hjw-project__hero-media video,.hjw-project__hero-media img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;background:transparent}
.hjw-project-hero-image img{object-fit:contain}
.hjw-project-hero-image{opacity:1}
.motion-running .hjw-project-hero-image{animation:hjw-project-hero-fade .8s cubic-bezier(.16,1,.3,1) both}
@keyframes hjw-project-hero-fade{from{opacity:0}to{opacity:1}}
.hjw-project-gallery{margin-top:clamp(44px,5vw,64px);padding-top:clamp(32px,3vw,40px);border-top:1px solid var(--line)}
.hjw-project-gallery__heading{font-size:clamp(28px,4vw,48px);margin-bottom:var(--sp-md)}
.hjw-project-gallery__hint{margin:calc(var(--sp-sm) * -1) 0 var(--sp-md);color:var(--muted);font-size:13px}
.hjw-project-gallery__track{display:flex;gap:var(--sp-md);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-color:var(--accent) var(--surface);padding:0 0 var(--sp-sm)}
.hjw-project-gallery__track>figure{flex:0 0 min(82%,960px);display:grid;place-items:center;scroll-snap-align:start;border:1px solid var(--line);background:var(--surface);margin:0}
.hjw-project-gallery__track>.hjw-project-gallery__tablet{flex-basis:min(52%,580px)}
.hjw-project-gallery__track>.hjw-project-gallery__phone{flex-basis:min(34%,380px)}
.hjw-project-gallery__track img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;background:var(--surface)}
.hjw-project-walkthrough{margin-top:var(--sp-lg);padding:var(--sp-md);border:1px solid var(--line);background:var(--surface)}
.hjw-project-walkthrough__intro{display:flex;align-items:end;justify-content:space-between;gap:var(--sp-md);margin-bottom:var(--sp-md)}
.hjw-project-walkthrough__heading{font-size:clamp(24px,3vw,38px)}
.hjw-project-walkthrough__copy{max-width:38ch;margin:0;color:var(--muted)}
.hjw-project-walkthrough video{display:block;width:100%;height:auto;background:var(--bg)}
.hjw-project-detail{margin-top:var(--sp-lg);padding-top:var(--sp-md);border-top:1px solid var(--line)}
.hjw-project-detail__heading{font-size:clamp(24px,3vw,38px);margin-bottom:var(--sp-md)}
.hjw-project-detail__image{margin:0;max-width:1100px;margin-inline:auto}
.hjw-project-detail__image img{display:block;width:100%;height:auto;object-fit:contain;background:transparent}
@media(max-width:1000px){.hjw-project__hero-grid{grid-template-columns:1fr}.hjw-project__hero-media{max-width:900px}}
@media(max-width:760px){.hjw-project-gallery__track{gap:var(--sp-sm)}.hjw-project-gallery__track>figure{flex-basis:88%}.hjw-project-gallery__track>.hjw-project-gallery__tablet{flex-basis:74%}.hjw-project-gallery__track>.hjw-project-gallery__phone{flex-basis:62%}.hjw-project-walkthrough{padding:var(--sp-sm)}.hjw-project-walkthrough__intro{display:block}.hjw-project-walkthrough__copy{margin-top:var(--sp-sm)}}
@media(prefers-reduced-motion:reduce){.hjw-project-hero-image{animation:none!important;opacity:1!important}}
@media print{.hjw-project__hero-grid{grid-template-columns:1fr}.hjw-project-gallery__track{display:grid;grid-template-columns:1fr;overflow:visible}.hjw-project-gallery__track>figure{max-width:none}.hjw-project-walkthrough{display:none!important}}


.hjw-project-detail__video{margin:0;max-width:1100px;margin-inline:auto}
.hjw-project-detail__video video{display:block;width:100%;height:auto;aspect-ratio:1680/1104;object-fit:contain;background:transparent}


.hjw-video-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:max(492.8px,44vw);background:var(--bg);padding-block:32px}
.hjw-video-hero .hjw-hero-background{position:absolute;inset:0;width:100%;z-index:-2;pointer-events:none}
.hjw-video-hero .hjw-hero-video{margin:0;width:100%;height:100%;max-width:none}
.hjw-video-hero .hjw-hero-video video{display:block;width:100%;height:100%;object-fit:cover;object-position:right top}
.hjw-video-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,var(--bg) 0%,rgba(41,49,70,.98) 20%,rgba(41,49,70,.9) 36%,rgba(41,49,70,.55) 48%,rgba(41,49,70,.12) 60%,rgba(41,49,70,0) 72%)}
.hjw-video-hero>.hjw-wrap{width:100%}
.hjw-video-hero .hjw-hero__grid{grid-template-columns:1fr;gap:0}
.hjw-video-hero .hjw-hero__copy{width:46%;max-width:620px}
.hjw-hero-video-toggle{position:absolute;right:24px;bottom:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:12px;border:0;background:transparent;color:var(--control-line);cursor:pointer;z-index:2}
.hjw-hero-video-toggle[hidden]{display:none}
.hjw-hero-video-toggle>:not(.gb-shape){display:none}
.hjw-hero-video-toggle:hover{color:var(--muted)}
.hjw-hero-video-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;color:var(--ink)}
.hjw-hero-video-toggle .hjw-hero-toggle-icon,.hjw-hero-video-toggle svg{display:block;width:20px;height:20px;flex:none}
.hjw-hero-video-toggle .hjw-video-play{display:none}
.hjw-hero-video-toggle[data-state="paused"] .hjw-video-play{display:block}
.hjw-hero-video-toggle[data-state="paused"] .hjw-video-pause{display:none}

@media(min-width:700px) and (max-width:1100px){
 .hjw-video-hero{min-height:max(520px,52vw);padding-block:32px;align-items:center}
 .hjw-video-hero .hjw-hero__copy{width:48%;max-width:none}
 .hjw-video-hero .hjw-hero-background{inset:50% 0 auto auto;width:52%;height:52vw;transform:translateY(-50%)}
 .hjw-video-hero .hjw-hero-video video{object-fit:cover;object-position:right top}
 .hjw-video-hero::after{background:linear-gradient(90deg,var(--bg) 0%,var(--bg) 44%,rgba(41,49,70,0) 53%)}
 .hjw-video-hero h1{font-size:clamp(32px,4vw,44px);line-height:1.08}
 .hjw-video-hero .hjw-hero__lede{font-size:16px;line-height:1.65}
 .hjw-video-hero .hjw-hero__actions{gap:12px}
 .hjw-video-hero .hjw-hero__actions .hjw-btn{font-size:12px;padding-inline:14px}
 .hjw-hero-video-toggle{right:8px;bottom:8px}
}
@media(max-width:699px){
 .hjw-video-hero{min-height:0;padding:32px 0 calc(100vw + 24px);align-items:flex-start}
 .hjw-video-hero .hjw-hero__copy{width:100%;max-width:none}
 .hjw-video-hero .hjw-hero-background{inset:auto 0 0;width:100%;height:100vw;clip-path:none}
 .hjw-video-hero .hjw-hero-video video{object-fit:cover;object-position:right top}
 .hjw-video-hero::after{background:linear-gradient(180deg,var(--bg) 0%,rgba(41,49,70,0) 12%);inset:auto 0 0;height:100vw}
 .hjw-hero-video-toggle{right:4px;bottom:0}
}
@media print{.hjw-video-hero{min-height:0;padding-bottom:32px}.hjw-hero-background,.hjw-hero-video-toggle{display:none}.hjw-video-hero .hjw-hero__copy{width:100%}}


.hjw-project-grid .hjw-project-gallery__hint{margin:16px 0 24px;max-width:65ch}
.hjw-project-grid__filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.hjw-project-grid :is(.hjw-project-grid__filter,.hjw-project-grid__close,.hjw-project-grid__previous,.hjw-project-grid__next){display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--control-line);background:transparent;color:var(--ink);font:13px/1.4 var(--font-mono);cursor:pointer}
.hjw-project-grid .hjw-project-grid__filter[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.hjw-project-grid :is(button,a):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.hjw-project-grid :is(.hjw-project-grid__filter,.hjw-project-grid__close,.hjw-project-grid__previous,.hjw-project-grid__next):hover{border-color:var(--accent);color:var(--accent)}
.hjw-project-grid .hjw-project-grid__filter[aria-pressed=true]:hover{background:var(--accent-hi);color:var(--accent-ink)}
.hjw-project-grid .hjw-project-gallery__track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;overflow:visible;scroll-snap-type:none;padding:0}
.hjw-project-grid .hjw-project-gallery__track>.hjw-project-gallery__item{display:flex;flex-direction:column;min-width:0;max-width:none;margin:0;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.hjw-project-grid .hjw-project-gallery__item[hidden]{display:none!important}
.hjw-project-grid .hjw-project-grid__open{position:relative;display:grid;place-items:center;aspect-ratio:1;width:100%;min-width:0;color:var(--ink);text-decoration:none;overflow:hidden}
.hjw-project-grid .hjw-project-grid__open img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:contain;padding:24px;background:transparent}
.hjw-project-grid .hjw-project-grid__zoom{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(41,49,70,.84);color:var(--ink);font:13px var(--font-mono);opacity:0;pointer-events:none}
.hjw-project-grid .hjw-project-grid__zoom .gb-shape{display:flex;width:32px;height:32px;color:var(--accent)}
.hjw-project-grid .hjw-project-grid__zoom svg{width:32px;height:32px}
.hjw-project-grid .hjw-project-grid__open:is(:hover,:focus-visible) .hjw-project-grid__zoom{opacity:1}
.hjw-project-grid .hjw-project-grid__caption{margin:0;padding:16px 20px;border-top:1px solid var(--line);font:14px/1.5 var(--font-mono);color:var(--ink)}
.hjw-project-grid .hjw-project-gallery__item:has(.hjw-project-grid__open:is(:hover,:focus-visible)){border-color:var(--accent)}
.hjw-project-grid .hjw-project-grid__dialog{position:fixed;inset:0;width:min(1120px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);height:auto;margin:auto;padding:24px;border:1px solid var(--control-line);background:var(--bg);color:var(--ink);overflow:auto;z-index:1000}
.hjw-project-grid .hjw-project-grid__dialog:not([open]){display:none}
.hjw-project-grid .hjw-project-grid__dialog[open]{display:flex;flex-direction:column;gap:16px}
.hjw-project-grid .hjw-project-grid__dialog::backdrop{background:rgba(15,20,28,.92)}
.hjw-project-grid__shell{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--ink)}
.hjw-project-grid__shell::backdrop{background:rgba(15,20,28,.92)}
.hjw-project-grid__shell:focus{outline:none}
.hjw-project-grid__dialog-head,.hjw-project-grid__dialog-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none}
.hjw-project-grid .hjw-project-grid__title{margin:0;font:600 clamp(20px,2.5vw,28px)/1.25 var(--font-display);color:var(--ink)}
.hjw-project-grid .hjw-project-grid__dialog .hjw-project-grid__full{display:block;width:100%;height:min(65dvh,720px);max-height:none;min-height:0;object-fit:contain;background:transparent}
.hjw-project-grid .hjw-project-grid__status{margin:0;font:13px/1.5 var(--font-mono);color:var(--muted);text-align:center}
.hjw-project-grid .hjw-project-grid__dialog button:disabled{opacity:.4;cursor:default}
.hjw-project-grid .hjw-project-grid__dialog.is-editing-lightbox{position:relative;inset:auto;width:100%;max-height:none;margin-top:32px;z-index:auto}
@media(min-width:1101px){.hjw-project-grid .hjw-project-gallery__track:has(>.hjw-project-gallery__item:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.hjw-project-grid .hjw-project-gallery__track{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){.hjw-project-grid .hjw-project-gallery__track{grid-template-columns:minmax(0,1fr);gap:20px}.hjw-project-grid .hjw-project-grid__dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:16px}.hjw-project-grid .hjw-project-grid__dialog .hjw-project-grid__full{height:55dvh}.hjw-project-grid__dialog-head{align-items:flex-start}}
@media(hover:none){.hjw-project-grid .hjw-project-grid__zoom{inset:auto 12px 12px auto;display:flex;flex-direction:row;gap:8px;padding:8px 10px;opacity:1;background:var(--bg)}.hjw-project-grid .hjw-project-grid__zoom :is(.gb-shape,svg){width:18px;height:18px}}
@media(prefers-reduced-motion:no-preference){.hjw-project-grid .hjw-project-grid__open img{transition:transform .25s ease}.hjw-project-grid .hjw-project-grid__zoom{transition:opacity .2s ease}.hjw-project-grid .hjw-project-grid__open:is(:hover,:focus-visible) img{transform:scale(1.035)}.hjw-project-grid .hjw-project-grid__dialog:modal{animation:hjw-preview-enter .2s ease-out}}
@media print{.hjw-project-grid .hjw-project-grid__filters,.hjw-project-grid .hjw-project-grid__dialog,.hjw-project-grid .hjw-project-grid__zoom{display:none!important}.hjw-project-grid .hjw-project-gallery__item[hidden]{display:flex!important}.hjw-project-grid .hjw-project-gallery__track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}


.hjw-gallery .hjw-head{align-items:flex-end;gap:32px;margin-bottom:24px}
.hjw-gallery .hjw-head>div{max-width:860px}
.hjw-gallery .hjw-work-context{margin:20px 0 0;max-width:65ch}
.hjw-gallery-controls{display:flex;justify-content:flex-end;gap:10px;margin-bottom:20px}
.hjw-gallery-control{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid var(--control-line,#8995a8);background:transparent;color:var(--ink);cursor:pointer}
.hjw-gallery-control>:is(.gb-text,.block-editor-rich-text__editable){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hjw-gallery-control .gb-shape{display:flex;width:20px;height:20px}
.hjw-gallery-control svg{width:20px;height:20px}
.hjw-gallery-prev .gb-shape{transform:rotate(180deg)}
.hjw-gallery-control[aria-disabled=true]{opacity:.4;cursor:default}
.hjw-gallery-control:not([aria-disabled=true]):hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.hjw-gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(430px,36%);grid-template-columns:none;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-color:var(--accent) var(--surface);scrollbar-width:thin;padding:0 0 18px;min-width:0;max-width:100%}
.hjw-gallery-card{position:relative;isolation:isolate;display:block;min-width:0;height:520px;overflow:hidden;border:1px solid var(--line);background:var(--surface);scroll-snap-align:start}
.hjw-gallery-card .hjw-preview-media{position:absolute;inset:0 0 90px;margin:0;display:grid;align-items:center}
.hjw-gallery-card .hjw-card__image-link{display:block;width:100%;height:100%!important;aspect-ratio:auto;padding:20px;transform-origin:50% 15%;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.hjw-gallery-card .hjw-card__img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center;margin:0;transform:none}
.hjw-gallery-copy{position:absolute;inset:auto 0 0;padding:24px;display:flex;flex-direction:column;gap:12px;background:var(--surface);transform:translateY(calc(100% - 90px));transition:transform .45s cubic-bezier(.22,1,.36,1)}
.hjw-gallery-copy .hjw-card__h{font-family:var(--font-display);font-size:24px;line-height:1.12;letter-spacing:-.02em;min-height:54px;margin:0;color:var(--ink)}
.hjw-gallery-copy .hjw-card__domain{font-family:var(--font-mono);font-size:11px;line-height:1.5;color:var(--accent);overflow-wrap:anywhere}
.hjw-gallery-copy .hjw-card__desc{font-size:15px;line-height:1.55;margin:0;color:var(--muted)}
.hjw-gallery-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.hjw-gallery-actions .hjw-card__link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0;font-size:12px;color:var(--accent)}
.hjw-gallery-actions .hjw-preview-open{position:static;display:inline-flex;align-items:center;min-height:44px;margin:0;padding:8px 12px;border:1px solid var(--control-line,#8995a8);background:transparent;color:var(--ink);font:12px var(--font-mono)}
.hjw-gallery-card:is(:hover,:focus-within) .hjw-gallery-copy{transform:translateY(0)}
.hjw-gallery-card:is(:hover,:focus-within) .hjw-card__image-link{transform:translateY(-68px) scale(.76)}
.hjw-gallery :is(button,a,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
@media(max-width:1000px){.hjw-gallery-track{grid-auto-columns: min(430px,70%)}.hjw-gallery .hjw-head{align-items:flex-start;flex-direction:column;gap:24px}}
@media(max-width:600px){.hjw-gallery-track{grid-auto-columns:88%;gap:16px}.hjw-gallery-card{height:550px}.hjw-gallery-copy{padding:20px}.hjw-gallery-copy .hjw-card__h{font-size:22px}.hjw-gallery-controls{margin-top:-4px}.hjw-gallery .hjw-head{margin-bottom:24px}}
@media(max-width:1000px),(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.hjw-gallery-card .hjw-gallery-copy{transform:none;transition:none}.hjw-gallery-card .hjw-card__image-link,.hjw-gallery-card:is(:hover,:focus-within) .hjw-card__image-link{transform:translateY(-68px) scale(.76);transition:none}}
@media print{.hjw-gallery-track{display:grid;grid-auto-flow:row;grid-template-columns:1fr 1fr;overflow:visible}.hjw-gallery-card .hjw-gallery-copy{transform:none}.hjw-gallery-controls{display:none}}

@media(max-width:1000px){
.hjw-gallery-card{display:flex;flex-direction:column;height:auto;min-height:550px}
.hjw-gallery-card .hjw-preview-media{position:relative;inset:auto;flex:0 0 220px;height:220px}
.hjw-gallery-card .hjw-card__image-link,.hjw-gallery-card:is(:hover,:focus-within) .hjw-card__image-link{transform:none}
.hjw-gallery-card .hjw-gallery-copy{position:relative;inset:auto;flex:1;transform:none}
.hjw-gallery-actions{margin-top:auto;padding-top:8px}
}

.hjw-editorial{--editorial-bg:var(--bg);--editorial-border:var(--line);--editorial-fill:var(--brand);--editorial-button-ink:var(--brand-ink)}
.hjw-editorial.hjw-light{--editorial-bg:var(--light);--editorial-border:rgba(41,49,70,.22);--editorial-fill:var(--brand);--editorial-button-ink:var(--brand-ink)}
.hjw-editorial-query{margin:0;max-width:none}
.hjw-writing-index .hjw-editorial-query{margin-top:40px}
.hjw-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0}
.hjw-editorial-grid:has(>li:nth-child(3 of :not([style*="display: none"])):nth-last-child(1 of :not([style*="display: none"]))){grid-template-columns:repeat(2,minmax(0,1fr))}
.hjw-editorial-grid>li{min-width:0;margin:0;display:flex;align-items:stretch}
.hjw-editorial-grid>li:first-child{grid-column:1/-1}
.hjw-editorial-card{height:100%;width:100%;min-width:0;margin:0;overflow:hidden;border:1px solid var(--editorial-border);background:var(--editorial-bg);color:var(--ink)}
.hjw-editorial-card__image{display:none;margin:0;min-width:0;overflow:hidden;background:var(--surface)}
.hjw-editorial-card__image a{display:block;width:100%;height:100%}
.hjw-editorial-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.hjw-editorial-card__copy{height:100%;min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(24px,3vw,40px);gap:0}
.hjw-editorial-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:0 0 22px;color:var(--muted);font:500 11px/1.5 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.hjw-editorial-card__category{display:flex;flex-wrap:wrap;gap:8px}
.hjw-editorial-card__category a{display:inline-block;color:var(--accent);border:1px solid var(--editorial-border);padding:6px 9px;text-decoration:none}
.hjw-editorial-card__date{white-space:nowrap}
.hjw-editorial-card__meta>*{margin:0}
.hjw-editorial-card__copy>.block-list-appender,.hjw-editorial-card__meta>.block-list-appender,.hjw-editorial-card__action>.block-list-appender{position:absolute;right:0;bottom:0}
.hjw-editorial-card__title{font:600 clamp(24px,2.3vw,32px)/1.15 var(--font-display);letter-spacing:-.025em;text-wrap:balance;margin:0 0 18px;max-width:26ch}
.hjw-editorial-card__title a{color:inherit;text-decoration:none;text-underline-offset:5px}
.hjw-editorial-card__excerpt{margin:0 0 28px;color:var(--muted);font:400 16px/1.65 var(--font-body);max-width:58ch}
.hjw-editorial-card__excerpt p{margin:0}
.hjw-editorial-card__excerpt .wp-block-post-excerpt__more-text{display:none}
.hjw-editorial-card__action{position:relative;display:inline-flex;align-items:center;gap:16px;margin-top:auto;color:var(--accent);font:500 13px/1.5 var(--font-mono)}
.hjw-editorial-card__read{display:inline-block;max-width:none;margin:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:5px}
.hjw-editorial-card__read::after{content:"";position:absolute;inset:0}
.hjw-editorial-card__arrow{display:flex;width:20px;height:20px;flex-shrink:0;pointer-events:none}
.hjw-editorial-card__arrow svg{width:20px;height:20px}
.hjw-editorial-grid>li:first-child .hjw-editorial-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hjw-editorial-grid>li:first-child .hjw-editorial-card__image{display:block;min-height:380px}
.hjw-editorial-grid>li:first-child .hjw-editorial-card__copy{padding:clamp(28px,4vw,56px)}
.hjw-editorial-grid>li:first-child .hjw-editorial-card__title{font-size:clamp(28px,3vw,44px);line-height:1.08;max-width:23ch}
.hjw-editorial-grid>li:first-child .hjw-editorial-card__action{background:var(--editorial-fill);color:var(--editorial-button-ink);padding:15px 18px}
.hjw-editorial-grid>li:first-child .hjw-editorial-card__read{text-decoration:none}
.hjw-editorial-grid>li:first-child .hjw-editorial-card:not(:has(.hjw-editorial-card__image)){grid-template-columns:1fr}
.hjw-editorial-card a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.hjw-editorial-card__action:focus-within{outline:2px solid var(--accent);outline-offset:5px}
.hjw-editorial-card__category a:hover,.hjw-editorial-card__title a:hover{text-decoration:underline}
@media(prefers-reduced-motion:no-preference){.hjw-editorial-card:hover .hjw-editorial-card__image img{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.hjw-editorial-card__image img{transition:none}}
@media(max-width:1100px){.hjw-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hjw-editorial-card__meta{gap:10px}.hjw-editorial-grid>li:first-child .hjw-editorial-card__copy{padding:28px}}
@media(max-width:800px){.hjw-editorial-grid>li:first-child .hjw-editorial-card{grid-template-columns:1fr}.hjw-editorial-grid>li:first-child .hjw-editorial-card__image{min-height:0;aspect-ratio:16/9}.hjw-editorial-grid>li:first-child .hjw-editorial-card__image img{aspect-ratio:16/9}.hjw-editorial-grid>li:first-child .hjw-editorial-card__title{font-size:clamp(28px,4.5vw,38px);max-width:30ch}}
@media(max-width:600px){.hjw-editorial-grid,.hjw-editorial-grid:has(>li:nth-child(3 of :not([style*="display: none"])):nth-last-child(1 of :not([style*="display: none"]))){grid-template-columns:1fr;gap:18px}.hjw-editorial-card__copy,.hjw-editorial-grid>li:first-child .hjw-editorial-card__copy{padding:24px}.hjw-editorial-card__title{font-size:26px}.hjw-editorial-card__excerpt{font-size:16px}.hjw-editorial-card__meta{margin-bottom:18px}.hjw-editorial-card__action{font-size:12px;gap:12px}}

.hjw-stats.hjw-proof-section{padding-block:48px;background:var(--light)}
.hjw-stats .hjw-proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;border:0}
.hjw-stats .hjw-proof>.hjw-proof__item{display:flex;flex-direction:column;justify-content:space-between;gap:36px;min-width:0;min-height:236px;margin:0;padding:26px;border:1px solid rgba(41,49,70,.13);background:#dbe2e9}
.hjw-stats .hjw-stats__label{display:block;margin:0;color:var(--light-muted);font:500 12px/1.5 var(--font-mono);letter-spacing:.02em}
.hjw-stats .hjw-stats__metric{margin:0;min-width:0}
.hjw-stats .hjw-proof__n{display:block;margin:0;color:var(--light-accent);font:600 clamp(36px,4.2vw,64px)/1 var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap}
.hjw-stats .hjw-proof__t{display:block;max-width:27ch;min-height:3em;margin:12px 0 0;color:var(--light-ink);font:400 15px/1.5 var(--font-body)}
.hjw-stats__footer{display:flex;align-items:center;justify-content:space-between;gap:24px 48px;margin-top:28px;padding-top:24px;border-top:1px solid rgba(41,49,70,.2)}
.hjw-stats__context{display:flex;align-items:center;flex-wrap:wrap;gap:6px 20px;min-width:0;color:var(--light-muted)}
.hjw-stats__context>span{margin:0;font:400 14px/1.5 var(--font-body)}
.hjw-stats__context>span:first-child{flex-basis:100%;color:var(--light-ink);font:600 18px/1.3 var(--font-display);letter-spacing:-.01em}
.hjw-stats__context>span:nth-child(3){padding-left:20px;border-left:1px solid rgba(41,49,70,.25)}
.hjw-stats .hjw-stats__resume{flex-shrink:0;margin:0;padding:14px 18px;border:1px solid var(--light-accent);background:transparent;color:var(--light-accent);font:500 13px/1.5 var(--font-mono);text-decoration:none;white-space:nowrap}
.hjw-stats .hjw-stats__resume:hover{background:var(--light-accent);color:var(--light)}
.hjw-stats .hjw-stats__resume:focus-visible{outline:2px solid var(--light-accent);outline-offset:4px}
.hjw-stats__context>.block-list-appender,.hjw-stats__metric>.block-list-appender{position:absolute;right:0;bottom:0}
@media(max-width:1100px){.hjw-stats .hjw-proof{grid-template-columns:repeat(2,minmax(0,1fr))}.hjw-stats .hjw-proof>.hjw-proof__item{min-height:216px}.hjw-stats .hjw-proof__n{font-size:56px}}
@media(max-width:700px){.hjw-stats__footer{align-items:flex-start;flex-direction:column;gap:20px}.hjw-stats__context{gap:6px 14px}.hjw-stats__context>span:nth-child(3){padding-left:14px}}
@media(max-width:600px){.hjw-stats.hjw-proof-section{padding-block:28px}.hjw-stats .hjw-proof{gap:12px}.hjw-stats .hjw-proof>.hjw-proof__item{min-height:220px;padding:18px 16px;gap:28px}.hjw-stats .hjw-stats__label{font-size:11px;min-height:3em}.hjw-stats .hjw-proof__n{font-size:clamp(32px,8.6vw,44px);letter-spacing:-.04em}.hjw-stats .hjw-proof__t{font-size:14px;min-height:6em;margin-top:10px}.hjw-stats__context{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.hjw-stats__context>span:nth-child(3){padding:0;border:0}.hjw-stats__footer{margin-top:24px;padding-top:24px}}


.hjw-editorial-grid>li:first-child .hjw-editorial-card__action{border:1px solid var(--accent)}
.hjw-editorial-grid>li:first-child .hjw-editorial-card__action:hover{background:var(--brand-hi)}
.hjw-light ::selection{background:var(--light-accent);color:#ffffff}


.hjw-card .hjw-preview-media,.hjw-gallery-card .hjw-preview-media,.hjw-project-grid .hjw-project-grid__open{
 background-color:var(--surface);
 background-image:linear-gradient(180deg,transparent 58%,var(--surface) 100%),linear-gradient(rgba(169,222,250,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(169,222,250,.055) 1px,transparent 1px),radial-gradient(ellipse at 50% 36%,rgba(135,209,245,.17),transparent 72%);
 background-size:100% 100%,64px 64px,64px 64px,100% 100%;
 background-position:center;
}
@media print{.hjw-card .hjw-preview-media,.hjw-gallery-card .hjw-preview-media,.hjw-project-grid .hjw-project-grid__open{background:none}}


.hjw-editorial-query:has(.wp-block-post-template .wp-block-post)>.wp-block-query-no-results:not(.is-selected):not(.has-child-selected){display:none}


.hjw-walkthrough-stage{position:relative;isolation:isolate;width:100%;max-width:1100px;margin-inline:auto}
.hjw-walkthrough-stage::after{content:"";position:absolute;inset:0 0 48px;z-index:1;background:rgba(33,39,52,.62);pointer-events:none;opacity:0;backdrop-filter:saturate(.72)}
.hjw-walkthrough-stage.is-awaiting-play::after{opacity:1}
.hjw-walkthrough-play{display:none;position:absolute;inset:0 0 48px;z-index:2;width:100%;margin:0;padding:24px;border:0;border-radius:var(--radius-surface);background:transparent;color:var(--ink);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:14px;font:600 15px/1.5 var(--font-mono)}
.hjw-walkthrough-stage.is-awaiting-play .hjw-walkthrough-play:not([hidden]){display:flex}
.hjw-walkthrough-play .gb-shape{display:grid;place-items:center;width:76px;height:76px;margin:0;padding:22px;background:rgba(236,239,244,.12);color:var(--ink);border:1px solid rgba(236,239,244,.78);border-radius:var(--radius-surface);box-shadow:0 10px 30px rgba(6,16,24,.24)}
.hjw-walkthrough-stage .hjw-walkthrough-play .gb-shape svg{display:block;width:32px;height:32px}
.hjw-walkthrough-play .gb-text{display:block;flex:none;margin:0;padding:0;background:transparent;color:#fff;text-shadow:0 2px 10px rgba(6,16,24,.7)}
.hjw-walkthrough-play:hover{background:transparent;color:var(--ink)}
.hjw-walkthrough-play:hover .gb-shape{background:rgba(236,239,244,.22);border-color:#fff}
.hjw-walkthrough-play:focus-visible{outline:2px solid var(--accent);outline-offset:-6px}
.hjw-walkthrough-play:focus-visible .gb-shape{outline:3px solid var(--ink);outline-offset:4px}
.hjw-walkthrough-stage video:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.hjw-walkthrough-template{display:none}
.hjw-walkthrough-template:is(.is-selected,.has-child-selected){display:block;position:relative;min-height:240px}
.hjw-walkthrough-template:is(.is-selected,.has-child-selected) .hjw-walkthrough-play{display:flex}
.hjw-preview-viewport.hjw-walkthrough-stage{max-width:none;align-self:start}
@media(max-width:600px){.hjw-walkthrough-play{gap:8px;font-size:12px;padding:12px}.hjw-walkthrough-play .gb-shape{width:64px;height:64px;padding:16px}}
@media print{.hjw-walkthrough-play,.hjw-walkthrough-stage::after{display:none}}


@media(max-width:1100px){
.hjw-nav-toggle{width:44px;height:44px;min-width:44px;min-height:44px;padding:9px;gap:0;justify-content:center;flex-shrink:0}
.hjw-nav-toggle .gb-text{display:none}
.hjw-nav-toggle .gb-shape{display:flex;width:24px;height:24px;margin:0}
.hjw-header .hjw-nav-toggle .gb-shape svg{width:24px;height:24px}
.hjw-nav-toggle .hjw-menu-line{transform-origin:12px 12px}
.hjw-nav-toggle[aria-expanded="true"] .hjw-menu-line--top{transform:translateY(6px) rotate(45deg);transform-origin:12px 6px}
.hjw-nav-toggle[aria-expanded="true"] .hjw-menu-line--middle{opacity:0}
.hjw-nav-toggle[aria-expanded="true"] .hjw-menu-line--bottom{transform:translateY(-6px) rotate(-45deg);transform-origin:12px 18px}
}


.hjw-contact__direct.hjw-contact-card.wp-block-group{padding:0;border:1px solid var(--line);background:var(--light);overflow:hidden}
.hjw-contact-card__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.hjw-contact-card .hjw-contact-portrait{position:relative;isolation:isolate;width:100%;max-width:none;aspect-ratio:1.25;max-height:380px;margin:0;overflow:hidden;border-bottom:1px solid rgba(135,209,245,.45);background-color:var(--bg);background-image:linear-gradient(rgba(169,222,250,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(169,222,250,.065) 1px,transparent 1px),radial-gradient(ellipse at 50% 38%,rgba(135,209,245,.22),transparent 72%);background-size:48px 48px,48px 48px,100% 100%;background-position:center}
.hjw-contact-card .hjw-contact-portrait img.wp-image-113{position:absolute;top:12px;left:50%;transform:translateX(-50%);display:block;width:84%;max-width:380px;height:auto;aspect-ratio:auto;object-fit:contain;object-position:top center;image-rendering:auto;margin:0}
.hjw-contact-card__details{min-width:0;padding:28px;display:flex;flex-direction:column;gap:18px}
.hjw-contact-card .hjw-contact-card__details h2{margin:0 0 4px;font-size:clamp(22px,2vw,26px);line-height:1.25;text-wrap:balance}
.hjw-contact-card .hjw-contact-card__details p{margin:0;font-size:16px;line-height:1.65}
.hjw-contact-card .hjw-contact-card__details a{max-width:100%;overflow-wrap:anywhere}
@media(min-width:700px) and (max-width:900px){
 .hjw-contact-card__layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
 .hjw-contact-card .hjw-contact-portrait{aspect-ratio:auto;min-height:340px;max-height:none;border-bottom:0;border-right:1px solid rgba(135,209,245,.45)}
 .hjw-contact-card .hjw-contact-portrait img.wp-image-113{width:100%;max-width:380px;top:20px}
 .hjw-contact-card__details{justify-content:center;padding:28px}
}
@media(max-width:699px){.hjw-contact-card__details{padding:24px;gap:16px}.hjw-contact-card .hjw-contact-card__details h2{font-size:24px}}


.hjw-editorial-card__action .hjw-editorial-card__read:is(:link,:visited,:hover,:focus,:active){color:inherit}
.hjw-btn--ghost:is(:focus,:active){color:var(--accent);background:transparent}
.hjw-light .hjw-btn--ghost:is(:focus,:active){color:var(--light-accent)}
.hjw-light .hjw-btn--ghost:is(:hover,:focus-visible){background:var(--light-accent);color:var(--light);border-color:var(--light-accent)}
.hjw-btn--text:is(:focus,:active){color:var(--accent);background:none}


html:has(body.home.hjw-block-canvas),body.home.hjw-block-canvas{overflow-x:clip}




.hjw-block-canvas .hjw-menu{list-style:none}
.hjw-block-canvas .hjw-brand p{margin:0}
.hjw-block-canvas .hjw-card__img[src=""]{display:none}
.hjw-block-canvas .hjw-preview-open[data-preview-image=""]{display:none}

.term-dots >div{width:9px;height:9px;min-height:0;border-radius:50%;background:var(--line);display:block}
.hjw-block-canvas .gb-shape{display:inline-flex;flex-shrink:0;line-height:0}
.hjw-block-canvas .gb-shape svg{width:22px;height:22px}
.hjw-block-canvas .hjw-btn .gb-shape svg{width:17px;height:17px}
.hjw-block-canvas .hjw-nav .gb-shape svg{width:16px;height:16px}
.hjw-block-canvas .hjw-has-icon{gap:10px}
.hjw-block-canvas .hjw-has-icon>.gb-shape{margin-right:12px;vertical-align:baseline}
.hjw-block-canvas .hjw-nav .hjw-has-icon>.gb-shape{margin-right:0}
.hjw-block-canvas .hjw-has-icon:is(h2,h3)>.gb-shape svg{width:.85em;height:.85em}
.hjw-project__meta dd:last-of-type{margin-bottom:0}
.hjw-block-canvas .wp-block-group__inner-container{padding:0;max-width:none}
.hjw-block-canvas .hjw-service-icon>.gb-shape svg{width:48px;height:48px;min-width:48px;color:var(--accent)}
.hjw-block-canvas .hjw-has-icon:is(h2,h3)>.gb-shape svg{min-width:.85em}

.hjw-block-canvas .hjw-has-icon:is(h1,h2,h3,h4,h5,h6)>.gb-shape{margin-right:0;margin-left:12px;vertical-align:baseline}

