:root {
  --wall-img:   image-set(url("assets/textures/texture-01-wall-yellow.webp") 1x);
  --corten-img: image-set(url("assets/textures/texture-02-corten.webp") 1x);
  
  --art-ratio: 4 / 5;   
  
  --tear: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1080 132' preserveAspectRatio='none'%3E%3Cfilter id='t' x='-12%25' y='-12%25' width='124%25' height='124%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012 0.05' numOctaves='4' seed='7' result='n'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='n' scale='22' xChannelSelector='R' yChannelSelector='G'/%3E%3C/filter%3E%3Cpolygon points='-40,44 430,18 1130,32 1130,200 -40,200' fill='%23000' filter='url(%23t)'/%3E%3C/svg%3E");
}
[data-page="404"]           { --art: image-set(url("assets/brand/web/banksy/art-01-index-sweep-alpha-460.webp") 1x, url("assets/brand/web/banksy/art-01-index-sweep-alpha-1100.webp") 2x); }
[data-page="index"]         { --art: image-set(url("assets/brand/web/banksy/art-01-index-sweep-alpha-460.webp") 1x, url("assets/brand/web/banksy/art-01-index-sweep-alpha-1100.webp") 2x); }
[data-page="pentest"]       { --art: image-set(url("assets/brand/web/banksy/art-02-pentest-photo-alpha-460.webp") 1x, url("assets/brand/web/banksy/art-02-pentest-photo-alpha-1100.webp") 2x); }
[data-page="red-team"]      { --art: image-set(url("assets/brand/web/motion/red-team-static-460.webp") 1x, url("assets/brand/web/motion/red-team-static-1100.webp") 2x); }
[data-page="audit-infra"]   { --art: image-set(url("assets/brand/web/motion/audit-infra-static-460.webp") 1x, url("assets/brand/web/motion/audit-infra-static-1100.webp") 2x); }
[data-page="audit-crypto"]  { --art: image-set(url("assets/brand/web/banksy/art-05-audit-crypto-chain-alpha-460.webp") 1x, url("assets/brand/web/banksy/art-05-audit-crypto-chain-alpha-1100.webp") 2x); }
[data-page="secure-dev"]    { --art: image-set(url("assets/brand/web/banksy/art-06-secure-dev-mortar-alpha-460.webp") 1x, url("assets/brand/web/banksy/art-06-secure-dev-mortar-alpha-1100.webp") 2x); }
[data-page="about"]         { --art: image-set(url("assets/brand/web/motion/about-static-460.webp") 1x, url("assets/brand/web/motion/about-static-1100.webp") 2x); }
[data-page="contacts"]      { --art: image-set(url("assets/brand/web/motion/contacts-static-460.webp") 1x, url("assets/brand/web/motion/contacts-static-1100.webp") 2x); }
[data-page="privacy"]       { --art: image-set(url("assets/brand/web/motion/privacy-static-460.webp") 1x, url("assets/brand/web/motion/privacy-static-1100.webp") 2x); }
[data-page="terms"]         { --art: image-set(url("assets/brand/web/motion/terms-static-460.webp") 1x, url("assets/brand/web/motion/terms-static-1100.webp") 2x); }
[data-page="index"]         { --hero-em: 10.1; }   
[data-page="pentest"]       { --hero-em: 9.0; }    
[data-page="red-team"]      { --hero-em: 4.2; }
[data-page="audit-infra"]   { --hero-em: 8.6; }    
[data-page="audit-crypto"]  { --hero-em: 8.3; }    
[data-page="secure-dev"]    { --hero-em: 5.75; }
[data-page="about"]         { --hero-em: 5.8; }    
[data-page="contacts"]      { --hero-em: 4.75; }
[data-page="privacy"]       { --hero-em: 10.5; }   
[data-page="terms"]         { --hero-em: 7.4; }    
@media (min-width: 1921px) and (max-resolution: 1.5dppx) {
  [data-page="404"]           { --art: image-set(url("assets/brand/web/banksy/art-01-index-sweep-alpha-700.webp") 1x, url("assets/brand/web/banksy/art-01-index-sweep-alpha-1100.webp") 2x); }
  [data-page="index"]         { --art: image-set(url("assets/brand/web/banksy/art-01-index-sweep-alpha-700.webp") 1x, url("assets/brand/web/banksy/art-01-index-sweep-alpha-1100.webp") 2x); }
  [data-page="pentest"]       { --art: image-set(url("assets/brand/web/banksy/art-02-pentest-photo-alpha-700.webp") 1x, url("assets/brand/web/banksy/art-02-pentest-photo-alpha-1100.webp") 2x); }
  [data-page="red-team"]      { --art: image-set(url("assets/brand/web/motion/red-team-static-700.webp") 1x, url("assets/brand/web/motion/red-team-static-1100.webp") 2x); }
  [data-page="audit-infra"]   { --art: image-set(url("assets/brand/web/motion/audit-infra-static-700.webp") 1x, url("assets/brand/web/motion/audit-infra-static-1100.webp") 2x); }
  [data-page="audit-crypto"]  { --art: image-set(url("assets/brand/web/banksy/art-05-audit-crypto-chain-alpha-700.webp") 1x, url("assets/brand/web/banksy/art-05-audit-crypto-chain-alpha-1100.webp") 2x); }
  [data-page="secure-dev"]    { --art: image-set(url("assets/brand/web/banksy/art-06-secure-dev-mortar-alpha-700.webp") 1x, url("assets/brand/web/banksy/art-06-secure-dev-mortar-alpha-1100.webp") 2x); }
  [data-page="about"]         { --art: image-set(url("assets/brand/web/motion/about-static-700.webp") 1x, url("assets/brand/web/motion/about-static-1100.webp") 2x); }
  [data-page="contacts"]      { --art: image-set(url("assets/brand/web/motion/contacts-static-700.webp") 1x, url("assets/brand/web/motion/contacts-static-1100.webp") 2x); }
  [data-page="privacy"]       { --art: image-set(url("assets/brand/web/motion/privacy-static-700.webp") 1x, url("assets/brand/web/motion/privacy-static-1100.webp") 2x); }
  [data-page="terms"]         { --art: image-set(url("assets/brand/web/motion/terms-static-700.webp") 1x, url("assets/brand/web/motion/terms-static-1100.webp") 2x); }
}
[data-page="contacts"]    { --art-video: url("assets/brand/web/motion/contacts.webm");
                           --art-video-hevc: url("assets/brand/web/motion/contacts.mp4"); }
[data-page="audit-infra"] { --art-video: url("assets/brand/web/motion/audit-infra.webm");
                           --art-video-hevc: url("assets/brand/web/motion/audit-infra.mp4"); }
[data-page="red-team"]    { --art-video: url("assets/brand/web/motion/red-team.webm");
                           --art-video-hevc: url("assets/brand/web/motion/red-team.mp4"); }
[data-page="about"]       { --art-video: url("assets/brand/web/motion/about.webm");
                           --art-video-hevc: url("assets/brand/web/motion/about.mp4"); }
[data-page="privacy"]                 { --art-video: url("assets/brand/web/motion/privacy.webm");
                           --art-video-hevc: url("assets/brand/web/motion/privacy.mp4"); }
.m-art > .m-video {
  position: absolute;
  
  --pad: var(--art-video-pad, 0%);
  top: calc(-1 * var(--pad));
  left: calc(-1 * var(--pad));
  width: calc(100% + 2 * var(--pad));
  height: calc(100% + 2 * var(--pad));
  object-fit: contain;
  object-position: right bottom;
  pointer-events: none;
  transition: opacity .32s linear;
}
[data-anim="video"] .m-art { background-image: none; }
[data-anim="video"][data-keep] .m-art { background-image: none; }
@media (prefers-reduced-motion: reduce) { .m-art > video.m-video { display: none } }
:root { --anim-dur: 6.2s; --anim-ease: cubic-bezier(.32, 0, .16, 1); }
.m-art > i { position: absolute; pointer-events: none; }
.m-art > .m-body, .m-art > .m-p1, .m-art > .m-p2 {
  inset: 0;
  background-image: var(--art);
  background-size: contain;
  background-position: right bottom;
  background-repeat: no-repeat;
  -webkit-mask-size: contain;         mask-size: contain;
  -webkit-mask-position: right bottom; mask-position: right bottom;
  -webkit-mask-repeat: no-repeat;      mask-repeat: no-repeat;
}
.m-art > .m-body { -webkit-mask-image: var(--m-body); mask-image: var(--m-body); }
.m-art > .m-p1   { -webkit-mask-image: var(--m-p1);   mask-image: var(--m-p1); }
.m-art > .m-p2   { -webkit-mask-image: var(--m-p2);   mask-image: var(--m-p2); }
[data-anim="cut"] .m-art { background-image: none; }
.m-art > [class^="m-g"] { opacity: 0; mix-blend-mode: screen; }
@media (prefers-reduced-motion: reduce) {
  [data-anim="cut"] .m-art, .m-art > i { animation: none !important; }  
}
[data-page="red-team"] { --m-body: url("assets/brand/web/banksy/mask-03-red-team-body.webp"); --m-p1: url("assets/brand/web/banksy/mask-03-red-team-climber.webp"); }
[data-page="audit-infra"] { --glows: 6; }
[data-page="about"] { --glows: 1; }
[data-page="contacts"] { --m-body: url("assets/brand/web/banksy/mask-08-contacts-body.webp"); --m-p1: url("assets/brand/web/banksy/mask-08-contacts-arm.webp"); --glows: 1; }
[data-page="privacy"] { --glows: 1; }
[data-page="terms"] { --m-body: url("assets/brand/web/banksy/mask-10-terms-body.webp"); --m-p1: url("assets/brand/web/banksy/mask-10-terms-panel.webp"); }
[data-anim="cut"][data-page="pentest"] .m-p1 { transform-origin: 77.95% 68.57%; animation: a-pull var(--anim-dur) var(--anim-ease) both; }
[data-anim="cut"][data-page="red-team"] .m-p1 { transform-origin: 46.7% 62.0%; animation: a-climb var(--anim-dur) var(--anim-ease) both; }
[data-anim="cut"][data-page="audit-infra"] .m-art { transform-origin: 50% 100%; animation: a-breath var(--anim-dur) var(--anim-ease) both; }
[data-anim="cut"][data-page="audit-infra"] .m-g1 { left: 22.47%; top: 35.71%; width: 16.44%; height: 12.0%; background: linear-gradient(rgba(255,150,60,0.5), rgba(255,150,60,0.5)); filter: blur(6px); animation: g-pulse var(--anim-dur) linear both; }
[data-anim="cut"][data-page="audit-infra"] .m-g2 { left: 19.45%; top: 27.71%; width: 4.93%; height: 2.0%; background: radial-gradient(farthest-side, rgba(255,214,140,0.95), rgba(255,214,140,0) 72%); animation: g-led0 var(--anim-dur) linear both; }
[data-anim="cut"][data-page="audit-infra"] .m-g3 { left: 19.45%; top: 29.43%; width: 4.93%; height: 2.0%; background: radial-gradient(farthest-side, rgba(255,214,140,0.95), rgba(255,214,140,0) 72%); animation: g-led1 var(--anim-dur) linear both; }
[data-anim="cut"][data-page="audit-infra"] .m-g4 { left: 19.45%; top: 31.14%; width: 4.93%; height: 2.0%; background: radial-gradient(farthest-side, rgba(255,214,140,0.95), rgba(255,214,140,0) 72%); animation: g-led2 var(--anim-dur) linear both; }
[data-anim="cut"][data-page="audit-infra"] .m-g5 { left: 19.45%; top: 32.86%; width: 4.93%; height: 2.0%; background: radial-gradient(farthest-side, rgba(255,214,140,0.95), rgba(255,214,140,0) 72%); animation: g-led3 var(--anim-dur) linear both; }
[data-anim="cut"][data-page="audit-infra"] .m-g6 { left: 19.45%; top: 34.57%; width: 4.93%; height: 2.0%; background: radial-gradient(farthest-side, rgba(255,214,140,0.95), rgba(255,214,140,0) 72%); animation: g-led4 var(--anim-dur) linear both; }
[data-anim="cut"][data-page="audit-crypto"] .m-p1 { transform-origin: 44.77% 26.0%; animation: a-weigh var(--anim-dur) var(--anim-ease) both; }
[data-anim="cut"][data-page="audit-crypto"] .m-g1 { left: 44.55%; top: 27.43%; width: 43.64%; height: 6.29%; background: radial-gradient(farthest-side, rgba(255,170,80,0.8), rgba(255,170,80,0) 72%); animation: g-count var(--anim-dur) linear both; }
[data-anim="cut"][data-page="audit-crypto"] .m-g1 { --t0: 27.43%; --t1: 85.43%; animation-name: g-count, g-travel; }
[data-anim="cut"][data-page="secure-dev"] .m-p1 { transform-origin: 38.98% 25.43%; animation: a-place var(--anim-dur) var(--anim-ease) both; }
[data-anim="cut"][data-page="about"] .m-art { transform-origin: 50% 100%; animation: a-breath var(--anim-dur) var(--anim-ease) both; }
[data-anim="cut"][data-page="about"] .m-g1 { left: 39.72%; top: 3.71%; width: 56.74%; height: 9.71%; background: radial-gradient(farthest-side, rgba(255,150,60,0.75), rgba(255,150,60,0) 72%); animation: g-count var(--anim-dur) linear both; }
[data-anim="cut"][data-page="about"] .m-g1 { --t0: 3.71%; --t1: 52.29%; animation-name: g-count, g-travel; }
[data-anim="cut"][data-page="contacts"] .m-p1 { transform-origin: 45.76% 37.71%; animation: a-press var(--anim-dur) var(--anim-ease) both; }
[data-anim="cut"][data-page="contacts"] .m-g1 { left: 17.8%; top: 27.14%; width: 7.2%; height: 4.29%; background: radial-gradient(farthest-side, rgba(255,214,120,0.95), rgba(255,214,120,0) 72%); animation: g-press var(--anim-dur) linear both; }
[data-anim="cut"][data-page="privacy"] .m-art { transform-origin: 50% 100%; animation: a-breath var(--anim-dur) var(--anim-ease) both; }
[data-anim="cut"][data-page="privacy"] .m-g1 { left: 51.72%; top: 49.43%; width: 20.69%; height: 13.14%; background: radial-gradient(farthest-side, rgba(255,190,90,0.8), rgba(255,190,90,0) 72%); animation: g-try var(--anim-dur) linear both; }
[data-anim="cut"][data-page="terms"] .m-p1 { transform-origin: 48.24% 29.43%; animation: a-tilt var(--anim-dur) var(--anim-ease) both; }
@keyframes a-press { 0%,8%{transform:translate(0,0)}14.5%{transform:translate(-1.23%,-.42%)}21%{transform:translate(0,0)}30%{transform:translate(0,0)}36.5%{transform:translate(-1.23%,-.42%)}43%{transform:translate(0,0)}52%{transform:translate(0,0)}58.5%{transform:translate(-1.23%,-.42%)}65%,100%{transform:translate(0,0)} }
@keyframes a-pull { 0%,10%{transform:translateX(0)}18%{transform:translateX(1.89%)}28%{transform:translateX(1.89%)}36%{transform:translateX(0)}48%{transform:translateX(0)}56%{transform:translateX(1.89%)}66%{transform:translateX(1.89%)}74%,100%{transform:translateX(0)} }
@keyframes a-place { 0%,12%{transform:translate(0,0)}22%{transform:translate(-1.21%,-.43%)}38%{transform:translate(-1.21%,-.43%)}46%{transform:translate(0,0)}58%{transform:translate(0,0)}68%{transform:translate(-1.21%,-.43%)}80%{transform:translate(-1.21%,-.43%)}86%,100%{transform:translate(0,0)} }
@keyframes a-climb { 0%,8%{transform:scaleY(1)}18%{transform:scaleY(1.045)}30%{transform:scaleY(1.045)}40%{transform:scaleY(1.015)}50%{transform:scaleY(1.015)}60%{transform:scaleY(1.045)}72%{transform:scaleY(1.045)}84%,100%{transform:scaleY(1.03)} }
@keyframes a-weigh { 0%,12%{transform:rotate(0)}20%{transform:rotate(-1.8deg)}34%{transform:rotate(-1.8deg)}42%{transform:rotate(0)}55%{transform:rotate(0)}63%{transform:rotate(1.4deg)}75%{transform:rotate(1.4deg)}83%,100%{transform:rotate(0)} }
@keyframes a-tilt { 0%,8%{transform:rotate(0)}18%{transform:rotate(2.4deg)}34%{transform:rotate(2.4deg)}44%{transform:rotate(0)}50%{transform:rotate(0)}60%{transform:rotate(-1.8deg)}76%{transform:rotate(-1.8deg)}86%,100%{transform:rotate(0)} }
@keyframes a-breath { 0%{transform:scaleY(1)}22%{transform:scaleY(1.008)}44%{transform:scaleY(1)}64%{transform:scaleY(1.006)}84%,100%{transform:scaleY(1)} }
@keyframes g-press { 0%,8%{opacity:0}14.5%{opacity:1}21%{opacity:0}30%{opacity:0}36.5%{opacity:1}43%{opacity:0}52%{opacity:0}58.5%{opacity:1}65%,100%{opacity:0} }
@keyframes g-pulse { 0%,15%{opacity:0}26%{opacity:1}39%{opacity:1}49%{opacity:0}58%{opacity:0}68%{opacity:.8}80%{opacity:.8}88%,100%{opacity:0} }
@keyframes g-try { 0%,12%{opacity:0}17%{opacity:1}22%{opacity:0}26%{opacity:0}31%{opacity:1}36%{opacity:0}55%{opacity:0}66%{opacity:.6}80%{opacity:.6}87%,100%{opacity:0} }
@keyframes g-count { 0%,10%{opacity:0}18%{opacity:1}82%{opacity:1}90%,100%{opacity:0} }
@keyframes g-led0 { 0%,10.0%{opacity:0}14.25%{opacity:1}18.5%{opacity:0}48.0%{opacity:0}52.25%{opacity:1}56.5%,100%{opacity:0} }
@keyframes g-led1 { 0%,15.5%{opacity:0}19.75%{opacity:1}24.0%{opacity:0}53.5%{opacity:0}57.75%{opacity:1}62.0%,100%{opacity:0} }
@keyframes g-led2 { 0%,21.0%{opacity:0}25.25%{opacity:1}29.5%{opacity:0}59.0%{opacity:0}63.25%{opacity:1}67.5%,100%{opacity:0} }
@keyframes g-led3 { 0%,26.5%{opacity:0}30.75%{opacity:1}35.0%{opacity:0}64.5%{opacity:0}68.75%{opacity:1}73.0%,100%{opacity:0} }
@keyframes g-led4 { 0%,32.0%{opacity:0}36.25%{opacity:1}40.5%{opacity:0}70.0%{opacity:0}74.25%{opacity:1}78.5%,100%{opacity:0} }
@keyframes g-travel { from { top: var(--t0) } to { top: var(--t1) } }
[data-page="index"]        { --drip-x: 15.5%; --drip-y: 63.0%; --drip-len: 20.0%; --drip-w: 0.40%; --drip-ink: #543F1A; }  
[data-page="index"]        { --drip2-x: 80.8%; --drip2-y: 73.2%; --drip2-len: 12.0%; --drip2-w: 0.41%; --drip2-ink: #644A17; }  
[data-page="red-team"]     { --drip-x: 90.2%; --drip-y: 28.9%; --drip-len: 16.9%; --drip-w: 0.68%; --drip-ink: #883C14; }
[data-page="red-team"]     { --drip2-x: 29.6%; --drip2-y: 95.0%; --drip2-len: 12.0%; --drip2-w: 0.68%; --drip2-ink: #883C14; }
[data-page="audit-infra"]  { --drip-x: 13.4%; --drip-y: 83.1%; --drip-len: 15.9%; --drip-w: 0.82%; }
[data-page="audit-infra"]  { --drip2-x: 86.3%; --drip2-y: 84.3%; --drip2-len: 14.7%; --drip2-w: 2.47%; }
[data-page="audit-crypto"] { --drip-x: 50.0%; --drip-y: 86.8%; --drip-len: 11.0%; --drip-w: 1.14%; --drip-ink: #794215; }
[data-page="audit-crypto"] { --drip2-x: 43.9%; --drip2-y: 77.6%; --drip2-len: 18.0%; --drip2-w: 1.36%; --drip2-ink: #834514; }
[data-page="secure-dev"]   { --drip-x: 70.8%; --drip-y: 78.7%; --drip-len: 12.0%; --drip-w: 0.81%; --drip-ink: #43290F; }
[data-page="secure-dev"]   { --drip2-x: 88.0%; --drip2-y: 68.6%; --drip2-len: 10.0%; --drip2-w: 1.10%; --drip2-ink: #894415; }
[data-page="about"]        { --drip-x: 41.8%; --drip-y: 28.0%; --drip-len: 19.1%; --drip-w: 2.60%; --drip-ink: #733F14; }
[data-page="about"]        { --drip2-x: 53.2%; --drip2-y: 61.9%; --drip2-len: 20.0%; --drip2-w: 0.71%; }
[data-page="contacts"]     { --drip-x: 20.1%; --drip-y: 54.4%; --drip-len: 20.0%; --drip-w: 0.85%; }
[data-page="contacts"]     { --drip2-x: 27.3%; --drip2-y: 43.4%; --drip2-len: 13.4%; --drip2-w: 1.06%; }
[data-page="privacy"]      { --drip-x: 12.3%; --drip-y: 15.0%; --drip-len: 12.0%; --drip-w: 0.99%; }
[data-page="privacy"]      { --drip2-x: 25.9%; --drip2-y: 92.7%; --drip2-len: 12.0%; --drip2-w: 1.23%; }
[data-page="terms"]        { --drip-x: 12.1%; --drip-y: 33.9%; --drip-len: 20.0%; --drip-w: 1.18%; }
[data-page="terms"]        { --drip2-x: 21.2%; --drip2-y: 79.4%; --drip2-len: 19.6%; --drip2-w: 0.88%; }
.m-art::before, .m-art::after {
  content: "";
  position: absolute;
  height: 0;
  opacity: 0;
  pointer-events: none;
  border-radius: 0 0 45% 45% / 0 0 70% 70%;   
}
.m-art::after  { left: var(--drip-x);  top: var(--drip-y);
                 width: clamp(2px, var(--drip-w, 1%), 1.4%);
                 transform: translateX(-50%);
                 filter: blur(.4px);
                 background: var(--drip-ink, var(--ink)); }
.m-art::before { left: var(--drip2-x); top: var(--drip2-y);
                 width: clamp(2px, var(--drip2-w, 1%), 1.4%);
                 transform: translateX(-50%);
                 filter: blur(.4px);
                 background: var(--drip2-ink, var(--ink)); }
[data-drip] .m-art::after,
[data-drip="2"] .m-art::before {
  animation: m-drip var(--drip-dur, 3.6s) cubic-bezier(.32, 0, .12, 1) forwards;
}
[data-drip="2"] .m-art::before { animation-delay: 1.9s; }
@keyframes m-drip {
  from { height: 0; opacity: 0 }
  5%   { opacity: 1 }
  to   { height: var(--drip-run, 100%); opacity: 1 }
}
[data-drip="1"] .m-art::after  { --drip-run: var(--drip-len,  14%); }
[data-drip="2"] .m-art::after  { --drip-run: calc(var(--drip-len,  14%) * 2.1); }
[data-drip="2"] .m-art::before { --drip-run: calc(var(--drip2-len, 14%) * 1.6); }
@media (prefers-reduced-motion: reduce) {
  [data-drip] .m-art::before, [data-drip] .m-art::after { animation: none }
}
:root {
  --wall-img:   url("assets/textures/texture-01-wall-yellow.webp");
  --wall-stack: var(--wall-img);
  --corten-img: url("assets/textures/texture-02-corten.webp");
  --bg:         #f7e343;   
  --panel:      #efd93a;   
  --line:       #cbb42c;   
  --dark:       #46281a;   
  
  --accent:      #7e2500;  
  --accent-dark: #f8aa6d;  
  --select:      #f8c98d;
  
  --on-dark:     #f7efe2;
  --on-dark-dim: #d8c3ab;
  
  --ink:     #181411;
  
  --ink-22:   rgba(24, 20, 17, .70);   
  --ink-24:   var(--ink);
  --ink-30:   rgba(24, 20, 17, .82);    
  --ink-30a:  rgba(24, 20, 17, .82);
  --ink-35:   rgba(24, 20, 17, .82);
  --ink-36:   rgba(24, 20, 17, .82);
  --ink-38:   rgba(24, 20, 17, .82);
  --ink-40:   rgba(24, 20, 17, .82);
  --ink-42:   rgba(24, 20, 17, .70);   
  --ink-44:   rgba(24, 20, 17, .70);   
  --ink-50:   rgba(24, 20, 17, .70);   
  
  --shade:   #3a3208;
  
  --measure: 48ch;
  --measure-text: 39em;   
  --transition: 0.2s ease;
  
  
  --m: calc(1.23rem + 0.4vw);
  
  --fs-micro: calc(var(--m) * 0.60);          
  --fs-body:  calc(var(--m) * 0.80);          
  --fs-lead:  calc(var(--fs-body) * 1.05);    
  --fs-sub:   calc(var(--fs-body) * 1.15);    
  --fs-h3:    calc(var(--fs-body) * 1.15);    
  --fs-h2:    calc(var(--fs-body) * 1.25);    
  --fs-h1:    calc(var(--m) * 1.75);          
  --fs-hero:  calc(var(--m) * 2.10);          
  
  --col: calc(var(--m) * 36);
  
  
  --vh-top:  max(22.2vh, var(--s6));
  
  --shade-h:   var(--s8);
  --shade-gap: 0px;
  --shade-bleed: 2px;
  
  --indent: 0px;
  
  
  --fs-nav:    var(--fs-body);
  --logo:      calc(var(--fs-nav) * 2);        
  --fs-logo:   calc(var(--fs-nav) * 1.3);      
  --logo-mark: var(--fs-logo);                 
  
  --lh-hero: 1.05;
  --lh-head: 1.2;
  --lh-text: 1.45;   
  
  --tr-display: -0.035em;   
  --tr-tight:   -0.02em;    
  --tr-wide:    0.02em;     
  --tr-caps:    0.14em;     
  
  --s1: calc(var(--m) * 0.25);
  --s2: calc(var(--m) * 0.5);
  --s3: calc(var(--m) * 0.75);
  --s4: var(--m);
  --s5: calc(var(--m) * 1.5);
  --s6: calc(var(--m) * 2);
  --s7: calc(var(--m) * 3);
  --s8: calc(var(--m) * 4);
}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  background-color: var(--bg);
  color: var(--ink);
}
.r-cta, .art-body pre { -webkit-font-smoothing: antialiased; }
a { color: var(--accent); text-decoration: none;
    transition: color var(--transition); }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.r-cta a:focus-visible { outline-color: var(--accent-dark); }
::selection { background: var(--select); }
@view-transition { navigation: auto; }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
}
::view-transition-old(root),
::view-transition-new(root) { animation-duration: .3s; }
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background-image: var(--wall-stack);
  background-size: cover;
  background-position: center top;
}
body { font-size: var(--fs-body); line-height: var(--lh-text); }
.r-logo svg { height: var(--logo-mark); width: auto; }
.r-nav, .r-nav a { font-size: var(--fs-nav); }
.r-nav a { min-height: var(--logo); font-weight: 600; }
.r-head  { flex-wrap: nowrap; align-items: center; }
.r-head { max-width: none; }
.r-nav   { flex: 1 1 auto; min-width: 0; }
.r-logo  { flex: 0 0 auto; }
summary::-webkit-details-marker { display: none; }
.foot { max-width: none; font-size: var(--fs-nav); }
.foot a,
.foot > span:last-child {
  color: var(--ink-30);
  font-size: var(--fs-nav);
  font-weight: 600;
  line-height: var(--logo);
}
.foot a {
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.foot > span:first-child { margin-left: -0.5em; }
.foot { padding-bottom: var(--s4); }
.r-wrap { align-items: flex-start; }
.r-wrap { padding-left: var(--s3); padding-right: var(--s3); }
.r-wrap > section:not(.r-cta) {
  margin-left: var(--indent);
  max-width: calc(var(--col) - var(--indent));
}
.m-shade { left: calc(-1 * (var(--s3) + var(--indent))); }
.r-head { padding-top: var(--s3); padding-bottom: var(--s3); }
.m-shade { position: absolute;  
           width: 100vw; top: auto; bottom: calc(var(--shade-gap) - var(--shade-bleed)); height: calc(var(--shade-h) + var(--shade-bleed));
           z-index: 0; pointer-events: none; mix-blend-mode: multiply;
           background-color: var(--shade);
           background-image: linear-gradient(color-mix(in srgb, var(--shade) 55%, transparent),
                                             color-mix(in srgb, var(--shade) 55%, transparent)),
                             var(--corten-img);
           background-size: cover;
           background-position: center;
           background-repeat: no-repeat;
           background-blend-mode: normal, multiply;
           -webkit-mask-image: var(--tear);
                   mask-image: var(--tear);
           -webkit-mask-size: 100% 100%;
                   mask-size: 100% 100%;
           -webkit-mask-repeat: no-repeat;
                   mask-repeat: no-repeat; }
.r-hero {
  position: relative;
  padding-bottom: calc(var(--shade-h) + var(--shade-gap) + var(--s2));
}
.m-wink-layer { display: none; }
.r-wrap > section:not(.r-hero):not(.r-cta) span,
.r-wrap > section:not(.r-hero):not(.r-cta) div { max-width: none; }
.r-wrap > section:not(.r-hero):not(.r-cta) p,
.r-wrap > section:not(.r-hero):not(.r-cta) li,
.r-wrap > section:not(.r-hero):not(.r-cta) .item-text,
.r-wrap > section:not(.r-hero):not(.r-cta) .item-text-plain,
.r-wrap > section:not(.r-hero):not(.r-cta) .row-note,
.r-wrap > section:not(.r-hero):not(.r-cta) .line-2 { max-width: var(--measure-text); }   
.r-row, .r-items, .r-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--s2);
}
.r-row, .r-items { padding-top: var(--s3); padding-bottom: var(--s3); }
.r-wrap > section:not(.r-hero):not(.r-cta) > h2 + * { margin-top: var(--s2); }
.r-wrap > section:not(.r-hero):not(.r-cta) > p + div { margin-top: var(--s4); }
.r-wrap > section:not(.r-hero):not(.r-cta) p:last-child { margin-bottom: 0; }
.r-hero + section { border-top: none; }
@supports (animation-timeline: scroll()) {
  .r-wrap::before {
    animation: band-in linear both;
    animation-timeline: scroll(root);
    animation-range: 0 calc(var(--head-band) - var(--head-h));
  }
  @keyframes band-in { from { opacity: 0 } to { opacity: 1 } }
}
:root { --paper: #efd93a; }   
body.paper { background-color: var(--paper); }
body.paper::before { background-image: none; background-color: var(--paper); }
body.paper .r-wrap {
  --bg: var(--paper);
  --panel: #e4cd33;                                             
  --wall-stack: linear-gradient(var(--paper), var(--paper));  
}
body.paper .r-wrap::before { background-image: linear-gradient(var(--paper), var(--paper)); }
.art { width: 100%; max-width: calc(var(--col) - var(--indent)); margin-left: var(--indent); padding-top: var(--s7); }
.art-head, .art-body, .art-list, .art-index-title, .art-cover { max-width: 48em; }
.art-title, .art-index-title { color: var(--ink); font-size: calc(var(--m) * 1.25); font-weight: 600; letter-spacing: var(--tr-display); line-height: var(--lh-head); margin: 0; text-wrap: balance; }
.art-lead { color: var(--ink-30); font-size: calc(var(--m) * 1.05); font-weight: 400; line-height: var(--lh-text); margin: var(--s3) 0 0; text-wrap: pretty; }
.art-crumb { color: var(--ink-50); display: inline-block; font-size: var(--fs-micro); font-weight: 600; letter-spacing: var(--tr-caps); margin-bottom: var(--s3); text-transform: uppercase; }   
.art-body, .art-list { --fs-body: max(16px, calc(var(--m) * 0.8)); }   
.art-cover { margin: var(--s6) 0 0; }
.art-cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.art-cover figcaption { color: var(--ink-50); font-size: var(--fs-micro); letter-spacing: var(--tr-wide); margin-top: var(--s2); }
.art-body { margin-top: var(--s7); }
.art-body h2 { color: var(--ink); font-size: calc(var(--m) * 1.1); font-weight: 600; letter-spacing: var(--tr-tight); line-height: var(--lh-head); margin: var(--s7) 0 0; text-wrap: balance; }   
.art-body h3 { color: var(--ink); font-size: var(--fs-sub); font-weight: 600; letter-spacing: var(--tr-tight); line-height: var(--lh-head); margin: var(--s5) 0 0; text-wrap: balance; }
.art-body h2 + *, .art-body h3 + * { margin-top: var(--s2); }
.art-body > :last-child { margin-bottom: 0; }
.art-body p, .art-body li { color: var(--ink-30); font-size: var(--fs-body); line-height: 1.5; text-wrap: pretty; }
.art-body p { margin: 0 0 calc(1.5 * 1.5em); }
.art-body a { color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: .12em; text-decoration-thickness: max(1px, .06em); }   
.art-body strong { color: var(--ink); font-weight: 600; }
.art-body ul, .art-body ol { margin: 0 0 var(--s4); padding-left: 1.4em; }
.art-body li { margin-top: var(--s1); }
.art-body li::marker { color: var(--ink); }
.art-body blockquote { margin: var(--s5) 0; padding: 0 0 0 var(--s4); border-left: 2px solid var(--ink); }
.art-body blockquote p { color: var(--ink); font-size: var(--fs-sub); margin: 0; }
.art-body code { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 0.9em; }
.art-body :not(pre) > code { background: var(--panel); padding: 0.05em 0.35em; }
.art-body pre { background: var(--dark); color: var(--on-dark); margin: 0 0 var(--s4); padding: var(--s3) var(--s4); overflow-x: auto; line-height: 1.5; tab-size: 4; }
.art-body pre code { font-size: calc(var(--fs-body) * 0.8); }
.art-body figure { margin: var(--s5) 0; }
.art-body img { display: block; max-width: 100%; max-height: 90vh; width: auto; height: auto; }
.art-body figcaption { color: var(--ink-50); font-size: var(--fs-micro); letter-spacing: var(--tr-wide); margin-top: var(--s2); }
.art-body .art-table { margin: 0 0 var(--s4); overflow-x: auto; }
.art-body table { border-collapse: collapse; width: 100%; font-size: var(--fs-body); line-height: var(--lh-text); }
.art-body th { border-bottom: 1px solid var(--ink); color: var(--ink); font-weight: 600; padding: var(--s2) var(--s3) var(--s2) 0; text-align: left; }
.art-body td { border-bottom: 1px solid var(--line); color: var(--ink-30); padding: var(--s2) var(--s3) var(--s2) 0; vertical-align: top; }
.art-body hr { border: 0; border-top: 1px solid var(--line); margin: var(--s6) 0; }
.art-list { margin-top: var(--s7); }
.art-item { display: block; color: var(--ink); margin-top: var(--s7); }   
.art-item:first-child { margin-top: 0; }
.art-item-title { font-size: calc(var(--m) * 1.1); font-weight: 600; letter-spacing: var(--tr-tight); line-height: var(--lh-head); margin: 0; text-wrap: balance; text-decoration: underline; text-underline-offset: .12em; text-decoration-thickness: max(1px, .06em); }
.art-item-lead { color: var(--ink-30); font-size: var(--fs-body); line-height: var(--lh-text); margin: var(--s2) 0 0; text-wrap: pretty; }
.r-cta {
  position: relative;
  background-color: var(--dark);
  background-image: var(--corten-img);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-blend-mode: multiply;
}
.r-cta::before { content: ""; position: absolute; inset: 0; background: #2a1206; opacity: .30; }
.r-cta > * { position: relative; }
.r-wrap { overflow-x: clip; }
.r-panel { background: none; padding: 0; }
.r-hero > p { position: relative; z-index: 3; }
.r-hero > p { font-size: calc(var(--fs-body) * 1.2); }
.r-cta {
  margin-top: var(--s6);
  width: 100vw;
  max-width: none;
  margin-left: calc(-1 * var(--s3));
  padding-top: var(--s6);
  padding-bottom: var(--s5);
  padding-left: calc(var(--s3) + var(--indent));
  padding-right: var(--s3);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  column-gap: var(--s5);
  row-gap: var(--s2);
}
.r-cta > h2  { grid-column: 1; grid-row: 1; font-size: calc(var(--fs-h2) * 0.85); }
.r-cta > p   { grid-column: 1; grid-row: 2; margin-top: 0; }
.r-cta > div { grid-column: 2; grid-row: 1; margin-top: 0; justify-self: end; }
.r-cta {
  --tear-h: var(--s7);
  -webkit-mask-image: var(--tear), linear-gradient(#000, #000);
          mask-image: var(--tear), linear-gradient(#000, #000);
  -webkit-mask-size: 100% var(--tear-h), 100% calc(100% - var(--tear-h) + 1px);
          mask-size: 100% var(--tear-h), 100% calc(100% - var(--tear-h) + 1px);
  -webkit-mask-position: top, bottom;
          mask-position: top, bottom;
  -webkit-mask-repeat: no-repeat, no-repeat;
          mask-repeat: no-repeat, no-repeat;
}
.m-art {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 0;
  background-image: var(--art, none);
  background-size: contain;
  background-position: right bottom;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 1;
}
.m-art .m-video { display: block; }
.m-wink { animation: m-wink var(--dur, 14s) linear infinite; animation-delay: var(--dl, 0s); }
@keyframes m-wink { 0%, 42% { opacity: 1 } 43%, 57% { opacity: 0 } 58%, 100% { opacity: 1 } }
.m-fade { animation: m-fade var(--dur, 17s) linear infinite; animation-delay: var(--dl, 0s); }
@keyframes m-fade { 0%, 38% { opacity: 1 } 40%, 60% { opacity: .12 } 62%, 100% { opacity: 1 } }
@media (prefers-reduced-motion: reduce) { .m-wink, .m-fade { animation: none } }
@media (min-width: 64em) and (hover: hover) and (pointer: fine) {
  :root { --indent: var(--s5); }
  
  .r-cta > h2, .r-cta > p, .r-cta > div a { white-space: nowrap; }
  :root {
    
    --m: min(calc(1.05rem + 1vw), 3.6vh);
    --fs-micro: calc(var(--m) * 0.50);
    --fs-body:  calc(var(--m) * 0.65);
    --fs-lead:  calc(var(--fs-body) * 1.10);
    --fs-sub:   calc(var(--fs-body) * 1.20);
    --fs-h3:    calc(var(--fs-body) * 1.20);
    --fs-h2:    calc(var(--fs-body) * 1.50);
    --fs-h1:    calc(var(--m) * 2.50);
    --fs-hero:  calc(var(--m) * 3.00);
    --fs-nav:   min(var(--fs-body), calc((100vw - var(--m) * 2) / 67.9));
  }
  html { scroll-padding-top: calc(var(--logo) + var(--s2) * 2); }
  
  .r-hero {
    box-sizing: border-box;
    padding-top: calc(var(--vh-top) - var(--logo) - var(--s3) * 2);
  }
  
  @media (min-aspect-ratio: 5/4) {
    .r-hero { min-height: calc(100dvh - var(--logo) - var(--s3) * 2); }
  }
  
  .r-hero {
    --art-bleed: min(
        max(0px, calc(100vw - var(--s3) * 2 - var(--col) - var(--s4))),
        calc((var(--col) - var(--indent)) * 0.2));
  }
  .m-art {
    position: absolute;
    top: var(--s3);
    bottom: auto;
    aspect-ratio: var(--art-ar, 0.55);
    max-height: calc(100% - var(--s3) * 2 - var(--shade-gap) - var(--shade-h));
    right: calc(-1 * var(--art-bleed));
    
    width: min(calc(var(--art-col, 60%) + var(--art-bleed)),
               calc(var(--art-wmax, 31%) + var(--art-bleed)),
               var(--art-wcap, 36%));
  }
  
  [data-page="404"]           { --art-ar: 0.6563; --art-wmax: 22%; }
  [data-page="index"]         { --art-ar: 0.6564; }  
  [data-page="pentest"]       { --art-ar: 0.7954; }
  [data-page="red-team"]      { --art-ar: 0.5914; }
  [data-page="audit-infra"]   { --art-ar: 0.5023; }
  [data-page="audit-crypto"]  { --art-ar: 0.6198; }
  [data-page="secure-dev"]    { --art-ar: 0.6968; }
  [data-page="about"]         { --art-ar: 0.5641; }
  [data-page="contacts"]      { --art-ar: 0.3793; }
  [data-page="privacy"]       { --art-ar: 0.4966; }
  [data-page="terms"]         { --art-ar: 0.4265; }
  
  [data-page="pentest"]      { --art-wmax: 25%; --art-wcap: 42%; }
  [data-page="about"]        { --art-wmax: 28%; }   
  [data-page="privacy"]      { --art-wmax: 26%; }
  [data-page="terms"]        { --art-wmax: 27%; }
  [data-page="audit-infra"]  { --art-wmax: 28%; }
  [data-page="audit-crypto"] { --art-wmax: 44%; --art-wcap: 46%; }
  [data-page="red-team"]     { --art-wmax: 29%; }
  [data-page="secure-dev"]   { --art-wmax: 40%; }
  
  [data-page="index"] .hero-title {
    font-size: min(var(--fs-hero),
                   calc(max((var(--col) - var(--indent)) * 0.69,
                            (var(--col) - var(--indent)) * 0.64 + var(--art-bleed)) / 9.44));
  }
  
  [data-page="contacts"] .m-art {
    max-height: 78%;   
  }
  @media (max-width: 79.99em) {
    [data-page="contacts"] .m-art { max-height: 58%; }
  }
  
  
  [data-page="contacts"] .r-hero { display: block; }
  [data-page="contacts"] .r-hero { display: flex; flex-direction: column; }
  [data-page="contacts"] .hero-aside { margin-top: auto; }
  [data-page="contacts"] .hero-aside > h2 { margin-bottom: var(--s3); }
  
  .hero-aside { margin-top: var(--s5); }
  .hero-aside > h2 { margin-bottom: var(--s3); }
  .hero-aside > div > div { max-width: none; }
  .hero-aside > div > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--s5);
  }
  .hero-aside > div > div > div {
    border-top: 1px solid var(--ink);
    border-bottom: none;
    padding: var(--s2) 0 0;
  }
  
  [data-page="pentest"] .hero-aside,
  [data-page="secure-dev"] .hero-aside,
  [data-page="red-team"] .hero-aside,
  [data-page="about"] .hero-aside {
    max-width: 66%;
    margin-top: var(--s3);
  }
  
  [data-page="pentest"] .hero-aside > div > div,
  [data-page="secure-dev"] .hero-aside > div > div,
  [data-page="red-team"] .hero-aside > div > div,
  [data-page="about"] .hero-aside > div > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  
  [data-page="pentest"] .hero-aside {
    max-width: 76%;
    margin-top: var(--s2);
  }
  [data-page="pentest"] .hero-aside > div > div { gap: var(--s4); }
  
  
  
  .r-wrap {
    --head-h:    calc(var(--logo) + 2 * var(--s3));
    --head-band: calc(var(--head-h) * 2.5);
  }
  .r-wrap::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 10;
    background-color: var(--bg);
    background-image: var(--wall-stack);
    background-size: cover;
    background-position: center top;
    -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(var(--head-h) * 0.9), transparent var(--head-band));
            mask-image: linear-gradient(to bottom, #000 0, #000 calc(var(--head-h) * 0.9), transparent var(--head-band));
    pointer-events: none;
  }
  .r-head {
    position: sticky; top: 0; z-index: 20; pointer-events: none;
  }
  .r-head > * { pointer-events: auto; }
  .r-head > a { align-self: center; }
  .r-nav a { padding-left: 0.5em; padding-right: 0.5em; }
  .r-nav a:first-child { margin-left: -0.5em; }
  
  .art-body p, .art-body li {
    text-align: justify;
    -webkit-hyphens: auto; hyphens: auto;
    -webkit-hyphenate-limit-lines: 3;
  }
  .art-body blockquote p { text-align: start; }
}
@media not all and (min-width: 64em) and (hover: hover) and (pointer: fine) {
  
  .art-head, .art-body, .art-list, .art-index-title, .art-cover { max-width: var(--measure-text); }
  
  .r-nav { display: none; }
  .r-menu { display: block; }
  
  .r-head { position: sticky; top: 0; z-index: 20; }
  .r-head > .r-logo { position: absolute; right: 0; top: var(--s3); }
  .r-menu > div { width: calc(100vw - 2 * var(--s3)); }
  
  .menu-rule ~ .menu-link { font-size: var(--fs-body); }
  
  .menu-rule { border-top-color: rgba(24, 20, 17, .12); }
  
  
  .r-wrap {
    --head-h:    calc(44px + 2 * var(--s3));
    --head-band: calc(var(--head-h) * 2.5);   
  }
  .r-wrap::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 10;
    background-image: var(--wall-stack);
    background-size: cover;
    background-position: center top;
    -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(var(--head-h) * 0.9), transparent var(--head-band));
    mask-image: linear-gradient(to bottom, #000 0, #000 calc(var(--head-h) * 0.9), transparent var(--head-band));
    pointer-events: none;
  }
  
  .r-wrap:has(.r-menu[open])::before {
    -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 var(--menu-h, 100%), transparent calc(var(--menu-h, 100%) + var(--head-h)));
    mask-image: linear-gradient(to bottom, #000 0, #000 var(--menu-h, 100%), transparent calc(var(--menu-h, 100%) + var(--head-h)));
    pointer-events: auto;
    animation: none;
    opacity: 1;
  }
  
  .r-head:has(.r-menu[open])::before {
    content: "";
    position: absolute;
    inset: 0 calc(-1 * var(--s3));
    z-index: -1;
    background: var(--on-dark);
    border-radius: 0 0 var(--s3) var(--s3);
  }
  
  .foot { flex-direction: column-reverse; gap: var(--s2); }
  .foot > span:first-child { display: none; }
  
  .hero-aside { margin-top: var(--s4); }
  .hero-aside > h2 { margin-bottom: var(--s3); }
  .hero-aside > div > div > div {
    border-top: 1px solid var(--line);
    padding: var(--s2) 0 var(--s3);
  }
  .hero-aside > div > div > div:last-child { padding-bottom: 0; }
  
  :root {
    --wall-stack: linear-gradient(rgba(247, 227, 67, .45), rgba(247, 227, 67, .45)),
                  var(--wall-img);
  }
  
  .r-head { align-items: flex-start; }
  .r-logo { min-height: 44px; }
  .m-art { display: none; }
  [data-page="contacts"] .r-hero { display: block; }
  
  .m-wink-layer { display: none; }
  
  h1 { -webkit-hyphens: manual; hyphens: manual; }
  h2, h3, p { -webkit-hyphens: auto; hyphens: auto; -webkit-hyphenate-limit-lines: 3; }   
  :root { --tr-display: -0.02em; }   
  .r-wrap {
    --hero-cap: calc((100vw - 2 * var(--s3)) / var(--hero-em, 6));
    --fs-hero: min(calc(var(--m) * 1.85), var(--hero-cap));
    --fs-h1:   min(calc(var(--m) * 1.75), var(--hero-cap));
  }
  .hero-title, .art-title, .art-index-title { overflow-wrap: break-word; }
  
  .r-grid, .r-row, .r-items {
    grid-template-columns: 1fr;
  }
  .r-row { gap: var(--s1); }
  .r-grid { gap: var(--s2); }
  
  .r-wrap { padding: 0 var(--s3); min-height: 100dvh; }
  .r-hero { padding-top: var(--s6); }
  .r-cta { padding-top: var(--s5); padding-bottom: var(--s5);
           grid-template-columns: minmax(0, 1fr);
           --tear-h: var(--s6); }
  .r-cta > div { grid-column: 1; grid-row: auto; justify-self: start; }
  .r-cta > h2 { font-size: calc(var(--fs-h2) * 0.75); }
}
@media (orientation: landscape) and (max-height: 32em) and (max-width: 63.99em) {
  :root {
    --m: min(calc(1.23rem + 0.4vw), 4.25vh);
    --fs-body:  max(16px, calc(var(--m) * 0.8));
    --fs-micro: max(12px, calc(var(--m) * 0.6));
  }
  .hero-aside { display: none; }
  .r-hero > p { max-width: none; font-size: calc(var(--fs-body) * 1.05); }
  .r-hero { padding-top: var(--s2); }
  .r-hero > p { margin-top: var(--s3); }
  .hero-kicker { margin-bottom: var(--s2); }
  .hero-cta-row { margin-top: var(--s2); }
  .r-wrap { --fs-hero: min(calc(var(--m) * 1.6), var(--hero-cap)); }
}
@media (prefers-contrast: more) {
  :root {
    --ink-22: var(--ink); --ink-30: var(--ink); --ink-30a: var(--ink); --ink-35: var(--ink);
    --ink-36: var(--ink); --ink-38: var(--ink); --ink-40: var(--ink); --ink-42: var(--ink);
    --ink-44: var(--ink); --ink-50: var(--ink); --on-dark-dim: var(--on-dark);
  }
}
@media print {
  @page { margin: .5cm; }
  figure, table { break-inside: avoid; }
  *, *::before, *::after { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  
  .r-wrap::before, body.paper::before { display: none; }
  
  .r-cta {
    background: none;
    -webkit-mask-image: none; mask-image: none;
    color: var(--ink);
    border-top: 1px solid var(--line);
    padding: var(--s4) 0 0;
    margin-top: var(--s5);
  }
  .r-cta::before, .r-cta::after { display: none; }
  .r-cta a, .cta-accent { color: var(--accent); }
  .r-cta .cta-text { color: var(--ink-30); }
  
  .r-head { position: static; }
  .r-menu { display: none; }
  
  h1, h2, h3, .art-title, .sec-title { break-after: avoid; }
  li, tr, blockquote { break-inside: avoid; }
  p { orphans: 2; widows: 2; }
}
