@font-face{font-family:RobotoLocal;src:url('assets/fonts/roboto-variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:RussoOne;src:url('assets/fonts/RussoOne-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--black:#080809;--panel:#131315;--paper:#ece9e3;--white:#f6f4ef;--muted:#aaa8a4;--red:#F25762;--red-action:#B51F2B;--ink:#101012;--edge:rgba(246,244,239,.17);--sans:RobotoLocal,Roboto,Arial,sans-serif;--display:RobotoLocal,Roboto,Arial,sans-serif;--gutter:clamp(22px,6vw,92px)}
html{scroll-padding-top:88px}body{background:var(--black);font-family:var(--sans);letter-spacing:.005em}.site-header{height:78px;background:rgba(8,8,9,.9);border-bottom:1px solid rgba(211,38,50,.5);margin-bottom:-78px;padding-inline:var(--gutter);backdrop-filter:blur(12px)}
.wordmark{font:400 21px/.9 var(--display);letter-spacing:.04em;transform:none;transform-origin:left center}.wordmark span{color:var(--red);font-weight:400;margin-left:4px;letter-spacing:.04em}.wordmark i{display:none}.site-nav{gap:clamp(24px,3vw,46px)}.site-nav a{font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#dedbd5;position:relative;padding:9px 0}.site-nav a::after{content:"";height:2px;position:absolute;left:0;right:100%;bottom:0;background:var(--red);transition:right .2s ease}.site-nav a:hover::after,.site-nav a:focus-visible::after{right:0}
.hero{height:min(100svh,1000px);min-height:690px;background:#080809}.hero-photo{inset:0 0 0 25%;overflow:hidden}.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080809 0%,rgba(8,8,9,.82) 13%,rgba(8,8,9,.05) 50%,rgba(8,8,9,.09)),linear-gradient(0deg,rgba(8,8,9,.62),transparent 26%)}.hero-photo img{object-position:57% 40%;filter:grayscale(1) contrast(1.12);transform:scale(1.025)}.hero-shade{background:linear-gradient(90deg,#080809 0%,#080809 24%,rgba(8,8,9,.94) 34%,rgba(8,8,9,.12) 62%,transparent 80%),linear-gradient(0deg,rgba(8,8,9,.72),transparent 31%)}
.hero-copy{left:var(--gutter);top:53%;transform:translateY(-37%);max-width:86vw}.eyebrow{font-size:10px;letter-spacing:.23em;color:#d3d0c9;gap:12px;margin-bottom:17px}.red-dot{background:var(--red);width:7px;height:7px;box-shadow:0 0 16px rgba(211,38,50,.48)}.hero h1{font:400 clamp(126px,20vw,330px)/.68 var(--display);letter-spacing:.005em;margin:0 0 26px;display:flex;flex-direction:column;align-items:flex-start;transform:scaleX(.86);transform-origin:left center}.hero-name-line{display:block;color:var(--white);white-space:nowrap}.hero h1 .hero-name-line{color:var(--white);-webkit-text-stroke:0}.hero h1 .hero-name-second{color:var(--red);margin-left:.31em}.hero-sub{font:500 12px/1.6 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#d0cdc7;margin:0 0 28px}.hero-actions{gap:24px}.button{min-height:48px;padding:0 17px;gap:24px;font:700 9px var(--sans);letter-spacing:.16em}.button-light{background:var(--red);border:1px solid var(--red);color:white;transition:background .2s,transform .2s,border-color .2s}.button-light:hover{background:#f13944;border-color:#f13944;color:#fff;transform:translateY(-2px)}.button-light span,.text-link span{color:#fff}.text-link{font:600 9px var(--sans);letter-spacing:.18em}.hero-index{right:var(--gutter);bottom:40px;font:500 9px var(--sans);letter-spacing:.22em;color:#e4e0d8}.hero-index b{color:var(--red);padding:0 6px}.scroll-cue span{background:var(--red);height:44px}
.section-pad{padding-inline:var(--gutter)}.section-label{font:500 9px var(--sans);letter-spacing:.22em;color:#7d7a75}.section-label>span{color:var(--red);font-weight:700}.about{position:relative;background:var(--paper);color:var(--ink);padding-top:clamp(82px,10vw,142px);padding-bottom:clamp(96px,12vw,166px);overflow:hidden}.about::after{content:"KR";position:absolute;right:-.05em;bottom:-.3em;font:400 clamp(300px,55vw,760px)/.7 var(--display);color:rgba(16,16,18,.035);pointer-events:none}.about-body{position:relative;z-index:1;grid-template-columns:1.1fr .9fr;gap:7vw;margin-top:64px}.about h2{font:400 clamp(76px,11.2vw,164px)/.76 var(--display);letter-spacing:.01em;text-transform:uppercase}.about h2 em{font-style:normal;color:var(--red);-webkit-text-stroke:0}.about-text{max-width:500px;padding-bottom:0}.about-text p{font:400 14px/1.8 var(--sans);color:#55534e;margin:0 0 18px}.about-text p.lead{font:400 clamp(18px,1.8vw,25px)/1.48 var(--sans);letter-spacing:-.025em;color:#171719}.about-text strong{font-weight:700;color:#111}.about-note{font:600 9px var(--sans);letter-spacing:.2em;color:#777168;margin-top:30px}.note-line{background:var(--red);width:34px;height:2px}
.projects{position:relative;background:var(--black);padding-top:clamp(84px,10vw,145px);padding-bottom:clamp(95px,12vw,168px);overflow:hidden}.projects::before{content:"";position:absolute;top:0;right:0;width:min(33vw,500px);height:3px;background:var(--red)}.projects-head{position:relative}.projects-head h2,.gallery-head h2{font:400 clamp(90px,14vw,200px)/.78 var(--display);letter-spacing:.015em;text-transform:uppercase;margin:42px 0 18px}.projects-head h2 .red-dot,.gallery-head h2 .red-dot{width:9px;height:9px;margin:0 0 15px 10px;background:var(--red);box-shadow:none}.projects-head>p,.gallery-head>p{font:400 13px/1.6 var(--sans);color:#b4b1aa;letter-spacing:.045em;margin:0}.project-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:repeat(2,minmax(275px,31vw));gap:12px;margin-top:52px}.project-card{min-height:0;padding:22px 25px 22px;background:#171719;border:1px solid rgba(255,255,255,.14);border-radius:0;box-shadow:inset 0 0 0 5px rgba(0,0,0,.09);transition:transform .35s ease,border-color .25s,filter .35s}.project-card:hover{transform:translateY(-4px);border-color:rgba(211,38,50,.75);filter:none}.project-card:focus-visible{outline:2px solid var(--red);outline-offset:3px}.project-card:before{content:"";position:absolute;z-index:-1;width:440px;height:440px;right:-180px;top:-215px;border:1px solid rgba(255,255,255,.1);border-radius:0;transform:rotate(38deg);transition:transform .4s}.project-card:hover:before{transform:rotate(38deg) scale(1.08)}.card-r48{grid-row:span 2;background:linear-gradient(145deg,#172528,#101315 68%)}.card-parchant{background:linear-gradient(145deg,#261819,#151315)}.card-vopecburt{background:linear-gradient(145deg,#27251e,#141413)}.card-podcast{grid-column:1/-1;min-height:270px;background:linear-gradient(100deg,#1d191b,#111113)}.card-podcast .project-logo{top:40%;left:75%;width:115px;max-height:115px}.project-number{font:600 8px var(--sans);letter-spacing:.2em;color:#c2beb7}.external{font:400 24px var(--sans);color:var(--red)}.project-logo{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);width:min(57%,400px);max-height:125px;object-fit:contain}.logo-r48{width:min(56%,380px)}.logo-podcast{width:150px;max-height:150px}.card-bottom h3{font:400 30px/.95 var(--display);letter-spacing:.055em;margin:0 0 8px;text-transform:uppercase}.card-bottom p{font:400 12px/1.6 var(--sans);color:rgba(255,255,255,.7);max-width:405px;margin:0 0 19px}.card-cta{border-top:1px solid rgba(255,255,255,.2);padding-top:13px;display:flex;justify-content:space-between;font:700 8px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#eee}.card-cta b{font:400 16px var(--sans);color:var(--red)}.project-card:hover .external,.project-card:hover .card-cta b{transform:translate(3px,-2px)}.external,.card-cta b{transition:transform .2s}
.gallery{background:#111113;color:var(--white);padding-top:clamp(84px,10vw,145px);padding-bottom:clamp(86px,10vw,150px)}.gallery-head{align-items:end}.gallery-head h2{margin-top:42px;margin-bottom:0}.gallery-head>p{padding-bottom:13px;color:#aaa7a0}.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(135px,15.2vw,218px);gap:7px;margin-top:44px}.gallery-item{background:#222;border:1px solid rgba(255,255,255,.09);box-shadow:none}.gallery-item:nth-child(6n+1){grid-row:span 2}.gallery-item:nth-child(8n+3){grid-column:span 2}.gallery-item img{filter:saturate(.8) contrast(1.04);transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .3s}.gallery-item:hover img,.gallery-item:focus-visible img{filter:saturate(1) contrast(1.08)}.gallery-item:after{color:white;text-shadow:0 2px 10px #000}.gallery-count{font:600 8px var(--sans);letter-spacing:.2em;color:#918e88}.gallery-count span{color:var(--white);font:400 18px var(--display)}.gallery-count i{background:var(--red)}
.contact{position:relative;background:var(--red);color:#fff;padding-top:clamp(72px,9vw,128px);padding-bottom:clamp(80px,10vw,145px);grid-template-columns:.72fr 1.28fr;gap:5vw;overflow:hidden}.contact::after{content:"KR";position:absolute;right:-.025em;bottom:-.3em;font:400 clamp(300px,55vw,750px)/.7 var(--display);color:rgba(0,0,0,.08);pointer-events:none}.contact .section-label{position:relative;z-index:1;color:rgba(255,255,255,.72)}.contact .section-label>span{color:#fff}.contact-main{position:relative;z-index:1}.contact-main h2{font:400 clamp(86px,12vw,170px)/.77 var(--display);letter-spacing:.005em;text-transform:uppercase;margin:0 0 25px}.contact-main h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.72)}.contact-main>p{color:rgba(255,255,255,.82);font:400 13px/1.7 var(--sans);max-width:390px}.contact-links{gap:22px 30px;margin-top:30px}.contact-links a{font:700 9px var(--sans);letter-spacing:.16em;color:white;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:9px}.contact-links a:hover{border-color:#fff}.contact-links span{color:#fff;margin-left:12px}.site-footer{min-height:82px;border-top:1px solid rgba(255,255,255,.16);background:#080809;color:#a5a29d;font:500 8px var(--sans);letter-spacing:.2em}.site-footer .wordmark{font:400 20px var(--display);letter-spacing:.04em}.site-footer .wordmark span{color:var(--red);font:inherit}.back-top{font:600 8px var(--sans);letter-spacing:.18em;color:#d0cdc7}.back-top:hover{color:white}
.lightbox{background:rgba(5,5,6,.98)}.lightbox-bar{top:20px}.lightbox-counter{font:400 20px var(--display);letter-spacing:.1em;color:#fff}.lightbox-close{font:600 9px var(--sans);letter-spacing:.18em}.lightbox-close b{color:var(--red)}.lightbox-prev,.lightbox-next{border:1px solid rgba(255,255,255,.45);font:400 22px var(--sans)}
.skip-link{z-index:30}
@media(min-width:1500px){.hero-copy{left:max(var(--gutter),calc((100vw - 1450px)/2))}.hero h1{font-size:330px}}
@media(max-width:900px){.hero{height:88svh;min-height:680px}.hero-photo{left:14%}.hero-shade{background:linear-gradient(90deg,#080809 0%,rgba(8,8,9,.9) 23%,rgba(8,8,9,.18) 67%,rgba(8,8,9,.08)),linear-gradient(0deg,rgba(8,8,9,.72),transparent 34%)}.hero h1{font-size:clamp(145px,27vw,250px)}.hero-copy{top:55%;transform:translateY(-33%)}.about-body{grid-template-columns:1fr;gap:42px}.about-text{max-width:620px}.project-grid{grid-template-rows:repeat(2,minmax(250px,37vw))}.project-card{padding:19px}.card-bottom h3{font-size:27px}.gallery-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(160px,24vw,220px)}.contact{grid-template-columns:.6fr 1.4fr}}
@media(max-width:620px){:root{--gutter:22px}html{scroll-padding-top:78px}.site-header{height:68px;margin-bottom:-68px}.wordmark{font-size:20px}.menu-toggle{display:flex;width:44px;height:44px;border:0;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:6px;z-index:12}.menu-toggle span{width:22px;height:2px;background:var(--white);transition:transform .2s,background .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg);background:var(--red)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg);background:var(--red)}.site-nav{position:absolute;display:none;top:68px;left:0;right:0;padding:10px var(--gutter) 22px;background:rgba(8,8,9,.99);border-bottom:1px solid rgba(211,38,50,.5);flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav a{font-size:11px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.09)}.hero{height:90svh;min-height:650px;max-height:850px}.hero-photo{inset:0}.hero-photo img{object-position:61% 37%}.hero-photo::after{background:linear-gradient(90deg,rgba(8,8,9,.35),transparent 78%),linear-gradient(0deg,#080809 1%,rgba(8,8,9,.8) 19%,rgba(8,8,9,.05) 62%)}.hero-shade{background:linear-gradient(90deg,rgba(8,8,9,.14),transparent 84%),linear-gradient(0deg,rgba(8,8,9,.76),transparent 55%)}.hero-copy{left:var(--gutter);top:auto;bottom:96px;transform:none;max-width:calc(100vw - 30px)}.eyebrow{font-size:8px;letter-spacing:.2em;margin-bottom:12px}.hero h1{font-size:clamp(126px,35vw,190px);line-height:.68;letter-spacing:0;margin-bottom:20px;transform:scaleX(.8)}.hero-name-second{margin-left:.25em}.hero-sub{font-size:9px;letter-spacing:.13em;margin-bottom:22px}.hero-actions{gap:17px}.button{min-height:44px;padding:0 13px;gap:15px;font-size:8px}.text-link{font-size:8px}.hero-index{right:var(--gutter);bottom:28px;font-size:8px}.scroll-cue{display:none}.about{padding-top:78px;padding-bottom:88px}.about-body{margin-top:42px;gap:29px}.about h2{font-size:clamp(86px,25vw,142px);line-height:.7}.about-text p{font-size:13px;line-height:1.75}.about-text p.lead{font-size:19px;line-height:1.48}.about-note{margin-top:22px;font-size:8px}.projects{padding-top:78px;padding-bottom:88px}.projects-head h2,.gallery-head h2{font-size:clamp(95px,28vw,145px);margin-top:36px}.projects-head>p,.gallery-head>p{font-size:11px}.project-grid{grid-template-columns:1fr;grid-template-rows:none;gap:10px;margin-top:34px}.project-card,.card-r48,.card-podcast{grid-column:auto;grid-row:auto;min-height:340px;padding:19px}.card-r48{min-height:390px}.card-podcast{min-height:320px}.card-podcast .project-logo{top:38%;left:50%;width:100px;max-height:100px}.project-logo{top:45%;max-height:92px;width:min(58%,330px)}.logo-r48{width:min(55%,330px)}.logo-podcast{width:125px;max-height:125px}.card-bottom h3{font-size:28px}.card-bottom p{font-size:11px;margin-bottom:16px}.gallery{padding-top:78px;padding-bottom:83px}.gallery-head{display:block}.gallery-head>p{padding:10px 0 0}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(130px,41vw,190px);gap:5px;margin-top:26px}.gallery-item:nth-child(8n+3){grid-column:span 1}.gallery-count{font-size:7px;gap:9px;margin-top:18px}.gallery-count span{font-size:17px}.contact{grid-template-columns:1fr;gap:33px;padding-top:70px;padding-bottom:78px}.contact-main h2{font-size:clamp(90px,28vw,144px);line-height:.73;margin-bottom:23px}.contact-main>p{font-size:12px}.contact-links{gap:18px 21px;margin-top:25px}.contact-links a{font-size:8px}.site-footer{min-height:72px}.site-footer>span{font-size:7px}.back-top{font-size:7px}.lightbox{padding:20px 42px}.lightbox figure{margin-top:35px}.lightbox-prev{left:4px}.lightbox-next{right:4px}.lightbox-prev,.lightbox-next{width:32px;height:32px;font-size:17px}.lightbox-bar{left:20px;right:20px;top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Compact project gallery and quieter luxury finish */
.projects{padding-top:clamp(54px,6.5vw,84px);padding-bottom:clamp(58px,7vw,92px)}
.projects-head h2{font-size:clamp(76px,9.4vw,136px);line-height:.82;margin:25px 0 10px;letter-spacing:.025em}
.projects-head>p{font-size:12px;color:#aaa8a4;letter-spacing:.035em}
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,clamp(180px,15vw,215px));gap:10px;margin-top:20px}
.project-card,.card-r48,.card-podcast{grid-column:auto;grid-row:auto;min-height:0;padding:17px 20px 16px;border-color:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);transition:transform .3s ease,border-color .25s,background .3s}
.project-card:hover{transform:translateY(-3px);border-color:rgba(211,38,50,.62)}
.project-card:before{width:42px;height:2px;right:auto;top:-1px;left:0;border:0;background:var(--red);transform:none;transition:width .28s ease}
.project-card:hover:before{width:76px;transform:none}
.card-r48{background:linear-gradient(130deg,#172326,#111315)}
.card-parchant{background:linear-gradient(130deg,#21191a,#151416)}
.card-vopecburt{background:linear-gradient(130deg,#25241f,#151514)}
.card-podcast{background:linear-gradient(130deg,#1c1a1d,#111113)}
.project-number{font-size:8px;letter-spacing:.19em;color:#aaa8a2}
.external{font-size:18px;color:#e13a43}
.project-logo{top:38%;max-height:82px;width:min(52%,310px);filter:none}
.logo-r48{width:min(48%,290px)}
.logo-podcast{width:78px;max-height:78px}
.card-podcast .project-logo{top:38%;left:50%;width:78px;max-height:78px}
.card-bottom h3{font-size:27px;letter-spacing:.07em;margin-bottom:4px}
.card-bottom p{font-size:10.5px;line-height:1.4;margin-bottom:12px;color:rgba(255,255,255,.68)}
.card-cta{padding-top:9px;font-size:7px;letter-spacing:.18em;border-top-color:rgba(255,255,255,.16)}
.card-cta b{font-size:14px}
.contact{background:#101012;color:var(--white);border-top:1px solid rgba(211,38,50,.55);border-bottom:1px solid rgba(255,255,255,.08);padding-top:clamp(70px,8vw,112px);padding-bottom:clamp(78px,9vw,124px)}
.contact::after{color:rgba(211,38,50,.055)}
.contact .section-label{color:#96938d}
.contact .section-label>span{color:var(--red)}
.contact-main h2{font-size:clamp(80px,10.7vw,148px);line-height:.8;letter-spacing:.025em}
.contact-main h2 em{color:var(--red);-webkit-text-stroke:0}
.contact-main>p{color:#aaa8a3}
.contact-links a{color:#ece9e3;border-bottom-color:rgba(255,255,255,.2)}
.contact-links a:hover{border-bottom-color:var(--red)}
.contact-links span{color:var(--red)}
.site-footer{border-top-color:rgba(255,255,255,.11)}
@media(max-width:900px){
  .project-grid{grid-template-rows:repeat(2,clamp(180px,22vw,210px));}
}
@media(max-width:620px){
  .projects{padding-top:72px;padding-bottom:78px}
  .projects-head h2{font-size:clamp(82px,22vw,116px);margin-top:32px}
  .project-grid{grid-template-columns:1fr;grid-template-rows:none;gap:9px;margin-top:28px}
  .project-card,.card-r48,.card-podcast{min-height:260px;padding:17px 18px 16px}
  .project-logo{top:39%;max-height:80px;width:min(54%,280px)}
  .logo-r48{width:min(52%,270px)}
  .logo-podcast{width:74px;max-height:74px}
  .card-podcast .project-logo{top:39%;left:50%;width:74px;max-height:74px}
  .card-bottom h3{font-size:25px}
  .contact-main h2{font-size:clamp(80px,23vw,122px)}
}

/* Broad, heavy display type and responsive navigation polish */
:root{--display:RobotoLocal,Roboto,Arial,sans-serif}
.hero h1,.about h2,.projects-head h2,.gallery-head h2,.contact-main h2,.card-bottom h3,.wordmark,.site-footer .wordmark{font-family:var(--display);font-weight:900;letter-spacing:-.065em}
.hero h1{transform:none;line-height:.76;letter-spacing:-.085em}
.hero h1 .hero-name-second{margin-left:.22em}
.about h2{line-height:.83;letter-spacing:-.085em}
.projects-head h2,.gallery-head h2{letter-spacing:-.075em}
.contact-main h2{letter-spacing:-.08em}
.card-bottom h3{letter-spacing:-.045em}
.wordmark,.site-footer .wordmark{letter-spacing:-.035em}
.logo-podcast{width:min(61%,380px);max-height:104px}
.card-podcast .project-logo{left:25%;top:50%;width:220px;max-height:160px}
.card-podcast .card-bottom{width:49%;margin-left:auto}
.podcast-platforms{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.podcast-platforms .card-cta{margin:0;min-width:0;align-items:center;gap:8px}
.contact-links{align-items:center;gap:clamp(20px,3vw,42px)}
.contact-links a.contact-logo{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;min-width:110px;max-width:180px;min-height:48px;padding:7px 10px;border:1px solid rgba(255,255,255,.17);transition:background .25s,border-color .25s,transform .25s}
.contact-logo img{width:100%;max-height:34px;object-fit:contain;filter:grayscale(1);opacity:.76;transition:filter .25s,opacity .25s}
.contact-logo span{font:400 14px var(--sans);color:var(--red);opacity:0;transform:translate(-4px,4px);transition:opacity .25s,transform .25s}
.contact-logo:hover,.contact-logo:focus-visible{background:rgba(255,255,255,.06);border-color:rgba(211,38,50,.75);transform:translateY(-3px)}
.contact-logo:hover img,.contact-logo:focus-visible img{filter:none;opacity:1}
.contact-logo:hover span,.contact-logo:focus-visible span{opacity:1;transform:none}
.site-nav a{overflow:hidden;transition:color .25s,letter-spacing .25s}
.site-nav a::before{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:linear-gradient(90deg,transparent,var(--red),#f6f4ef,transparent);transform:translateX(-105%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.site-nav a::after{height:2px;right:100%;transition:right .28s cubic-bezier(.2,.8,.2,1)}
.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current="location"]{color:#fff;letter-spacing:.19em}
.site-nav a:hover::before,.site-nav a:focus-visible::before,.site-nav a[aria-current="location"]::before{transform:translateX(0)}
.site-nav a[aria-current="location"]::after{right:0}
.site-header{border-bottom-color:rgba(211,38,50,.28);box-shadow:0 10px 36px rgba(0,0,0,.12)}
@media(max-width:900px){.hero h1{font-size:clamp(112px,19vw,200px)}}
@media(max-width:620px){
 .hero h1{font-size:clamp(78px,24vw,126px);line-height:.78;letter-spacing:-.09em}
 .hero h1 .hero-name-second{margin-left:.18em}
 .about h2{letter-spacing:-.08em}
 .projects-head h2,.gallery-head h2{letter-spacing:-.075em}
 .contact-main h2{letter-spacing:-.085em}
 .card-podcast .project-logo{left:50%;top:37%;width:min(66%,300px);max-height:88px}
 .card-podcast .card-bottom{width:100%;margin-left:0}
 .podcast-platforms{gap:8px}
 .podcast-platforms .card-cta{font-size:6.5px;letter-spacing:.1em}
 .contact-links{gap:10px;justify-content:space-between}
 .contact-links a.contact-logo{min-width:0;width:31%;padding:6px;min-height:44px;gap:3px}
 .contact-logo img{max-height:26px}
 .contact-logo span{font-size:11px}
 .site-nav{display:flex;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-12px) scale(.985);transform-origin:top;transition:opacity .24s ease,transform .35s cubic-bezier(.2,.8,.2,1),visibility .24s}
 .site-nav.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none}
 .site-nav a{opacity:0;transform:translateY(-7px);transition:opacity .25s ease,transform .3s ease,color .2s}
 .site-nav.is-open a{opacity:1;transform:none}
 .site-nav.is-open a:nth-child(1){transition-delay:.035s}
 .site-nav.is-open a:nth-child(2){transition-delay:.07s}
 .site-nav.is-open a:nth-child(3){transition-delay:.105s}
 .site-nav.is-open a:nth-child(4){transition-delay:.14s}
}
@media(prefers-reduced-motion:reduce){.site-nav,.site-nav a,.contact-logo,.contact-logo img,.contact-logo span{transition:none!important}}

/* Official podcast platform wordmarks */
.podcast-platforms{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.podcast-platform-link{display:flex;min-width:0;min-height:46px;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;border-top:1px solid rgba(255,255,255,.2);color:var(--white);transition:background .24s,border-color .24s,transform .24s}
.podcast-platform-link img{width:auto;height:28px;max-width:calc(100% - 20px);object-fit:contain;opacity:.88;transition:opacity .24s,transform .24s}
.podcast-platform-link span{font:400 14px var(--sans);color:var(--red);transition:transform .24s}
.podcast-platform-link:hover,.podcast-platform-link:focus-visible{background:rgba(255,255,255,.055);border-color:var(--red);transform:translateY(-2px)}
.podcast-platform-link:hover img,.podcast-platform-link:focus-visible img{opacity:1;transform:scale(1.035)}
.podcast-platform-link:hover span,.podcast-platform-link:focus-visible span{transform:translate(2px,-2px)}
@media(max-width:620px){.podcast-platforms{gap:8px}.podcast-platform-link{padding:7px 8px;min-height:44px}.podcast-platform-link img{height:24px;max-width:calc(100% - 16px)}}
@media(prefers-reduced-motion:reduce){.podcast-platform-link,.podcast-platform-link img,.podcast-platform-link span{transition:none!important}}

/* WCAG contrast tuning: brighter red on dark surfaces; deeper red on the paper section */
.about{--red:#B51F2B}
.about-quote{position:relative;margin:clamp(28px,4vw,48px) 0 0;padding:20px 0 0 22px;border-left:2px solid var(--red)}
.about-quote blockquote{margin:0;color:#181719;font:800 clamp(21px,2.25vw,30px)/1.25 var(--display);letter-spacing:-.035em}
.about-quote blockquote em{font-style:normal;color:var(--red)}
.about-quote figcaption{margin-top:16px;display:flex;align-items:center;gap:10px;font:700 9px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.quote-rule{width:18px;height:1px;background:var(--red);flex:none}
.about-quote figcaption a{color:#5c5953}
.about-quote figcaption a span{color:#827d75;font-weight:500}
.about-quote figcaption a:hover,.about-quote figcaption a:focus-visible{color:var(--red-action);text-decoration:underline;text-underline-offset:3px}
@media(max-width:620px){.about-quote{margin-top:26px;padding:16px 0 0 17px}.about-quote blockquote{font-size:clamp(20px,5.4vw,25px)}.about-quote figcaption{font-size:8px}}
.card-podcast .podcast-listen-label{margin:11px 0 8px;color:#f2f0eb;font:500 11px/1.45 var(--sans);letter-spacing:.01em}
.card-podcast .podcast-platforms{gap:10px}
.card-podcast .podcast-platform-link{min-height:48px;padding:8px 12px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.035);cursor:pointer}
.card-podcast .podcast-platform-link:hover,.card-podcast .podcast-platform-link:focus-visible{border-color:var(--red);background:rgba(242,87,98,.1);box-shadow:0 0 0 1px rgba(242,87,98,.18);transform:translateY(-2px)}
.card-podcast .podcast-platform-link span{width:22px;height:22px;display:grid;place-items:center;border:1px solid rgba(242,87,98,.65);border-radius:50%;font-size:13px;color:#ff737b;flex:none}
.card-podcast .podcast-platform-link img{max-width:calc(100% - 32px)}
@media(max-width:620px){.card-podcast .podcast-listen-label{font-size:10px;margin:8px 0 6px}.card-podcast .podcast-platforms{gap:7px}.card-podcast .podcast-platform-link{min-height:44px;padding:6px 8px}.card-podcast .podcast-platform-link img{max-width:calc(100% - 27px)}}
@media(forced-colors:active){.card-podcast .podcast-platform-link{border:1px solid ButtonText}}
.button-light{background:var(--red-action);border-color:var(--red-action);color:#fff}
.button-light:hover{background:#CE2633;border-color:#CE2633;color:#fff}
@media(forced-colors:active){
 :focus-visible{outline:2px solid Highlight!important;outline-offset:3px}
 .site-nav a,.text-link,.contact-links a{ text-decoration:underline }
 .project-card,.contact-logo,.podcast-platform-link{border:1px solid CanvasText}
 .button-light{border:2px solid ButtonText}
}

.not-found{min-height:100svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:128px var(--gutter) 80px;background:radial-gradient(ellipse at 78% 48%,rgba(211,38,50,.12),transparent 38%),var(--black)}
.not-found h1{font:900 clamp(72px,12vw,170px)/.82 var(--display);letter-spacing:-.085em;margin:35px 0 20px;color:var(--white)}
.not-found h1 em{font-style:normal;color:var(--red)}
.not-found>p:not(.section-label){font:400 15px/1.7 var(--sans);color:var(--muted);margin:0 0 28px}
@media(max-width:620px){.not-found{padding-top:100px}.not-found h1{font-size:clamp(62px,18vw,100px)}}

/* More intentional balance between the editorial title and the bio column. */
.about-body{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(40px,4.5vw,84px);align-items:center}
.about-text{max-width:560px}
@media(max-width:900px){.about-body{grid-template-columns:1fr;gap:34px;align-items:start}}
@media(max-width:620px){.about-body{gap:29px}}

/* Wordmark interaction: a small signature stroke reveals on hover and focus. */
.wordmark{position:relative;transition:transform .24s cubic-bezier(.2,.8,.2,1)}
.wordmark::after{content:"";position:absolute;left:0;right:auto;bottom:-8px;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.wordmark span{transition:color .24s ease}
.wordmark:hover,.wordmark:focus-visible{transform:translateY(-1px)}
.wordmark:hover::after,.wordmark:focus-visible::after{transform:scaleX(1);transform-origin:left}
.wordmark:hover span,.wordmark:focus-visible span{color:#ff6570}

/* Project cards borrow their accent from each identity and respond as a set. */
.project-card{--card-accent:#f25762;transition:transform .38s cubic-bezier(.2,.8,.2,1),border-color .28s,box-shadow .32s,background .32s}
.card-r48{--card-accent:#eedb00}
.card-vopecburt{--card-accent:#d9bd83}
.project-card::before{background:var(--card-accent);height:2px;width:46px;transition:width .42s cubic-bezier(.2,.8,.2,1)}
.project-card:hover,.project-card:focus-within{transform:translateY(-5px);border-color:var(--card-accent);box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 16px 38px rgba(0,0,0,.24)}
.project-card:hover::before,.project-card:focus-within::before{width:100%}
.project-card .project-logo{transition:transform .48s cubic-bezier(.2,.8,.2,1),filter .35s ease}
.project-card:hover .project-logo,.project-card:focus-within .project-logo{transform:translate(-50%,-52%) scale(1.045);filter:drop-shadow(0 10px 14px rgba(0,0,0,.2))}
.project-card:hover .project-number,.project-card:focus-within .project-number{color:var(--card-accent)}
.project-card:hover .card-cta b,.project-card:focus-within .card-cta b{color:var(--card-accent)}

/* Scroll entrances are opt-in from JS; content stays visible without motion support. */
.project-card.will-reveal:not(.is-visible){opacity:0;transform:translateY(22px)}
.project-card.will-reveal.is-visible{opacity:1;transform:translateY(0)}
.project-card.will-reveal.is-visible:hover,.project-card.will-reveal.is-visible:focus-within{transform:translateY(-5px)}
.project-card.will-reveal{transition:opacity .52s ease,transform .58s cubic-bezier(.2,.8,.2,1),border-color .28s,box-shadow .32s,background .32s}
.project-card.will-reveal:nth-child(2){transition-delay:.06s}
.project-card.will-reveal:nth-child(3){transition-delay:.12s}
.project-card.will-reveal:nth-child(4){transition-delay:.18s}
@media(prefers-reduced-motion:reduce){.wordmark,.wordmark::after,.wordmark span,.project-card,.project-card::before,.project-card .project-logo{transition:none!important;animation:none!important}.project-card.will-reveal:not(.is-visible){opacity:1;transform:none}}

/* Gallery title: keep the weight, refine the rhythm and give it more air. */
.gallery-head h2{font-family:RussoOne,var(--display);font-weight:400;font-size:clamp(86px,12.2vw,180px);line-height:.88;letter-spacing:-.035em}
.gallery-head h2 .red-dot{width:8px;height:8px;margin:0 0 .12em .16em}
@media(max-width:620px){.gallery-head h2{font-size:clamp(78px,23vw,128px);letter-spacing:-.035em;line-height:.9}.gallery-head h2 .red-dot{width:6px;height:6px}}

/* One bold signature display face across all primary headings. */
.hero h1,.about h2,.projects-head h2,.gallery-head h2,.contact-main h2{font-family:RussoOne,var(--display);font-weight:400;letter-spacing:-.035em}

/* Branded native scrollbar: keep browser scrolling and its accessibility intact. */
html{scrollbar-color:#d32632 #111113;scrollbar-width:thin}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:#111113;border-left:1px solid rgba(255,255,255,.07)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#f25762,#b51f2b);border:3px solid #111113;border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:#f25762}
::-webkit-scrollbar-corner{background:#111113}

/* Fixed back-to-top control appears once the visitor leaves the opening view. */
.back-top{position:fixed;z-index:12;right:clamp(16px,2.4vw,34px);bottom:calc(16px + env(safe-area-inset-bottom,0px));width:58px;height:70px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#fff;opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none;transition:opacity .25s,visibility .25s,transform .25s;filter:drop-shadow(0 8px 14px rgba(0,0,0,.35))}
.back-top.is-visible,.back-top:focus-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.back-top svg{display:block;width:100%;height:100%;overflow:visible;transition:transform .24s ease}
.back-top .pick-shape{fill:rgba(12,12,14,.96);stroke:rgba(255,255,255,.72);stroke-width:1.5;stroke-linejoin:round;transition:fill .24s,stroke .24s}
.back-top .pick-arrow{fill:none;stroke:#ff6570;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .24s}
.back-top:hover svg,.back-top:focus-visible svg{transform:translateY(-3px) rotate(-4deg)}
.back-top:hover .pick-shape,.back-top:focus-visible .pick-shape{fill:#b51f2b;stroke:#fff}
.back-top:hover .pick-arrow,.back-top:focus-visible .pick-arrow{stroke:#fff}
.back-top:focus-visible{outline:2px solid #ff6570;outline-offset:3px}
@media(max-width:620px){.back-top{right:14px;bottom:calc(13px + env(safe-area-inset-bottom,0px));width:52px;height:62px}}
@media(prefers-reduced-motion:reduce){.back-top,.back-top svg,.back-top .pick-shape,.back-top .pick-arrow{transition:none!important}}
@media(forced-colors:active){.back-top .pick-shape{fill:Canvas;stroke:ButtonText}.back-top .pick-arrow{stroke:ButtonText}.back-top:focus-visible{outline-color:Highlight}}

/* Name and venture links inside the light editorial biography block. */
.about-text p.lead strong.about-name{font-family:RussoOne,var(--display);font-weight:400;white-space:nowrap;color:var(--ink)}
.about-name em{font-style:normal;color:var(--red)}
.about-project-link{font-weight:700;color:#1a1919;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .2s,text-decoration-thickness .2s}
.about-project-link span{color:var(--red);font-size:.8em;white-space:nowrap}
.about-project-link:hover,.about-project-link:focus-visible{color:var(--red-action);text-decoration-thickness:2px}
.about-project-link:focus-visible{outline:2px solid var(--red-action);outline-offset:3px}
@media(forced-colors:active){.about-project-link{text-decoration:underline}}

/* Gallery photos reveal their color on hover; touch-first devices keep full color. */
@media (hover: hover) and (pointer: fine) {
  .gallery-item img {
    filter: grayscale(1) saturate(0) contrast(1.04);
    transition: transform .6s cubic-bezier(.2,.7,.2,1), filter .35s ease;
  }
  .gallery-item:hover img,
  .gallery-item:focus-visible img {
    filter: grayscale(0) saturate(1) contrast(1.08);
  }
}
@media (hover: none), (pointer: coarse) {
  .gallery-item img {
    filter: grayscale(0) saturate(1) contrast(1.04);
  }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-item img { transition: none !important; }
}
