/* MOONLIGHT ANIME MV — Lunar Atelier / 2026 */
:root{
  --bg:#0d0819;--bg-deep:#090612;--bg-soft:#160d28;--bg-mist:#20132e;
  --ink:#fff8fb;--soft:#d7c5da;--muted:#ae9eb9;--faint:#82748f;
  --line:rgba(244,218,254,.13);--line-hi:rgba(255,223,239,.26);
  --rose:#efaac9;--rose-light:#ffe2ea;--gold:#e9c78b;--violet:#b4a2ec;--blue:#93c8ef;
  --font-main:'Outfit','DM Sans',system-ui,sans-serif;--font-text:'DM Sans',system-ui,sans-serif;
  --font-display:'Cormorant Garamond',Georgia,serif;--font-brand:'Cinzel',Georgia,serif;
  --width:1230px;--ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:103px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-main);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.6}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.30;background-image:radial-gradient(circle at 11% 13%,#ffdae3 0 1px,transparent 1.4px),radial-gradient(circle at 75% 37%,#e0d8fc 0 1px,transparent 1.5px),radial-gradient(circle at 39% 83%,#f8d4cf 0 1px,transparent 1.5px);background-size:510px 530px,680px 610px,760px 430px}
main,footer{position:relative;z-index:1}
.sky-ambient{pointer-events:none;position:fixed;inset:0;z-index:1;overflow:hidden}
.sky-star{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffe8fb;box-shadow:0 0 13px 3px rgba(239,170,201,.65);animation:starBlink 5s ease-in-out infinite alternate}
.sky-star.s1{top:18%;left:7%}.sky-star.s2{top:26%;left:55%;animation-delay:2s}.sky-star.s3{top:68%;left:88%;animation-delay:1s}.sky-star.s4{top:90%;left:32%;animation-delay:3s}.sky-star.s5{top:8%;left:81%;animation-delay:4s}.sky-star.s6{top:43%;left:91%;animation-delay:1.4s}.sky-star.s7{top:58%;left:4%;animation-delay:2.5s}
@keyframes starBlink{0%,100%{opacity:.14;transform:scale(.55)}50%{opacity:.75;transform:scale(1.1)}}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin-top:0}
::selection{background:var(--rose);color:#210d26}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.container{width:min(calc(100% - 104px),var(--width));margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:20px;z-index:999;padding:12px 20px;background:#fff;color:#111;border-radius:20px}.skip-link:focus{top:14px}
.scroll-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--violet),var(--rose),var(--gold));width:0;z-index:151;box-shadow:0 0 20px var(--rose);pointer-events:none}
/* navigation: a floating lunar capsule */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 0;transition:padding .45s var(--ease)}
.site-header.scrolled{padding:9px 0}
.nav-shell{height:70px;display:flex;align-items:center;justify-content:space-between;gap:17px;padding:0 22px 0 23px;background:rgba(22,13,37,.68);border:1px solid rgba(255,224,248,.14);border-radius:100px;box-shadow:0 18px 65px rgba(5,2,12,.24),inset 0 1px 0 rgba(255,255,255,.04);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);transition:background .35s,box-shadow .35s}
.scrolled .nav-shell{background:rgba(20,12,33,.90);box-shadow:0 20px 50px rgba(0,0,0,.3)}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;min-width:0}
.brand-mark{width:37px;height:37px;color:var(--gold);display:inline-flex;filter:drop-shadow(0 0 12px rgba(233,199,139,.35))}.brand-mark svg{width:100%;height:100%}
.brand-wordmark{font-family:var(--font-brand);font-weight:600;letter-spacing:.11em;font-size:13px;line-height:1.1;color:#fff3f5;white-space:nowrap}.brand-wordmark span{font-family:var(--font-main);display:block;font-size:9px;letter-spacing:.28em;color:var(--rose);margin-top:4px;font-weight:500}
.site-nav{display:flex;align-items:center;gap:clamp(10px,1.35vw,23px)}.site-nav a{font-size:11px;font-weight:500;white-space:nowrap;color:#c4b5ca;transition:color .25s;position:relative}.site-nav a:after{content:"";position:absolute;bottom:-9px;left:50%;height:3px;width:3px;border-radius:50%;background:var(--rose);opacity:0;transform:translateX(-50%);transition:opacity .25s}.site-nav a:hover,.site-nav a.active{color:#fff}.site-nav a.active:after{opacity:1}
.header-link{border:1px solid rgba(233,199,139,.4);display:flex;align-items:center;gap:12px;border-radius:100px;padding:11px 17px;color:var(--gold);font-weight:600;font-size:10px;letter-spacing:.10em;transition:background .35s,transform .35s,border-color .35s;flex-shrink:0}.header-link:hover{background:rgba(233,199,139,.1);transform:translateY(-2px);border-color:var(--gold)}.header-link span:last-child{font-size:16px;line-height:1}
.menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:43px;height:43px;border:1px solid var(--line-hi);background:rgba(255,255,255,.04);border-radius:50%;cursor:pointer}.menu-toggle span{width:18px;height:1.5px;background:var(--rose-light);transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.8px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.8px) rotate(-45deg)}
/* Hero: asymmetrical editorial collage */
.hero{position:relative;isolation:isolate;min-height:930px;padding:142px 0 100px;display:flex;align-items:center;overflow:hidden;background:radial-gradient(ellipse 50% 66% at 80% 38%,rgba(116,71,153,.26),transparent 90%),radial-gradient(ellipse 53% 76% at 10% 77%,rgba(97,39,87,.17),transparent 90%),var(--bg-deep)}
.hero-atmosphere{pointer-events:none;position:absolute;inset:0;background:radial-gradient(circle at 84% 41%,rgba(255,202,227,.06),transparent 28%);z-index:-1}
.hero-atmosphere:after{content:"";position:absolute;width:630px;height:630px;right:-380px;top:20%;border:1px solid rgba(239,170,201,.10);border-radius:50%;box-shadow:0 0 0 90px rgba(239,170,201,.015),0 0 0 180px rgba(239,170,201,.018)}
.hero-inner{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:4%;align-items:center;min-height:680px}
.hero-copy{position:relative;z-index:5;padding:0 0 15px;animation:softRise 1s var(--ease) .1s both}
@keyframes softRise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.eyebrow,.overline,.section-index{font-size:11px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;line-height:1.6}.eyebrow{color:var(--gold);display:flex;align-items:center;gap:10px}.eyebrow-star{font-size:17px;animation:starRotate 18s linear infinite}.tiny-line{width:36px;height:1px;background:var(--gold);opacity:.5}
@keyframes starRotate{to{transform:rotate(360deg)}}
.hero-kicker{margin:39px 0 0;letter-spacing:.23em;font-size:11px;color:var(--muted)}
.hero h1{font-family:var(--font-main);font-size:clamp(80px,8.0vw,125px);font-weight:500;letter-spacing:-.096em;line-height:.90;margin:16px 0 26px;position:relative}.hero h1 em{font-family:var(--font-display);font-size:1.23em;font-weight:500;letter-spacing:-.055em;color:var(--rose-light);text-shadow:0 3px 50px rgba(242,166,201,.19)}.hero-period{color:var(--gold)}
.hero-rule{display:flex;align-items:center;gap:13px;color:var(--gold);font-size:15px;margin:4px 0 25px}.hero-rule span:first-child{display:inline-block;width:42px;height:1px;background:var(--gold)}.hero-rule span:last-child{width:120px;height:1px;background:linear-gradient(90deg,rgba(233,199,139,.35),transparent)}
.hero-intro{font-size:clamp(21px,2vw,26px);letter-spacing:-.025em;font-weight:400;line-height:1.35;margin-bottom:10px;color:var(--ink)}.hero-intro i{font-family:var(--font-display);font-size:1.2em;color:var(--gold);font-weight:500}
.hero-description{font-size:15px;color:var(--muted);max-width:410px;line-height:1.78}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:27px;margin-top:35px}
.button{min-height:53px;display:inline-flex;justify-content:center;align-items:center;gap:30px;border-radius:90px;padding:12px 13px 12px 25px;font-weight:600;font-size:12px;letter-spacing:.025em;border:1px solid transparent;transition:transform .4s var(--ease),box-shadow .4s,background .4s}
.button-light{background:linear-gradient(125deg,#ffe5f0,#f5c7dc 60%,#edccaa);color:#291426;box-shadow:0 8px 38px rgba(255,173,208,.16)}.button-light:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(239,170,201,.28)}
.btn-arrow{display:grid;place-items:center;background:rgba(62,26,53,.13);width:31px;height:31px;border-radius:50%;font-size:17px;transition:transform .3s}.button:hover .btn-arrow{transform:rotate(45deg)}
.text-link{display:inline-flex;align-items:center;gap:14px;color:#e4d4e5;font-size:12px;font-weight:500;transition:color .25s}.text-link:hover{color:var(--rose-light)}.text-link span{font-size:16px}
.hero-mini{font-size:9px;letter-spacing:.15em;color:#9e87ac;display:flex;align-items:center;gap:11px;margin-top:65px;font-weight:500;white-space:normal}.mini-line{display:inline-block;width:28px;height:1px;background:var(--rose)}.mini-dot{width:3px;height:3px;border-radius:50%;background:var(--rose)}
.hero-visual{position:relative;min-height:685px;display:grid;place-items:center;isolation:isolate;animation:softRise 1.3s var(--ease) .28s both}
.hero-moon{position:absolute;width:470px;height:470px;right:15px;top:68px;border-radius:50%;z-index:-2;background:radial-gradient(circle at 40% 36%,#f5d7de 0%,#ccacd2 46%,#815e9a 85%);box-shadow:0 0 125px 18px rgba(217,151,215,.20),0 0 210px 75px rgba(135,80,157,.08);opacity:.75;animation:moonPulse 8s ease-in-out infinite}
@keyframes moonPulse{50%{transform:scale(1.04);filter:brightness(1.11)}}
.orbital-ring{position:absolute;border:1px solid rgba(243,205,235,.21);border-radius:50%;pointer-events:none;z-index:-1}.ring-one{width:630px;height:630px;top:30px;left:-28px;transform:rotate(-19deg);border-style:dashed;opacity:.50}.ring-two{width:545px;height:545px;top:79px;left:15px;opacity:.32}
.hero-image-frame{height:535px;width:86%;max-width:490px;position:absolute;z-index:1;right:8px;top:70px;overflow:hidden;background:#112e59;border:5px solid rgba(255,238,248,.86);border-radius:48% 47% 27% 31% / 24% 24% 20% 20%;box-shadow:0 22px 50px rgba(0,0,0,.42),0 0 48px rgba(174,145,237,.24);transform:rotate(3deg);transition:transform 1s var(--ease),box-shadow .6s}
.hero-image-frame:hover{transform:rotate(0) translateY(-8px);box-shadow:0 35px 70px rgba(0,0,0,.48),0 0 75px rgba(174,145,237,.35)}
.hero-image-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,5,20,.06),transparent 57%,rgba(12,9,32,.42));pointer-events:none}
.hero-image-frame img{height:100%;width:100%;object-fit:cover;object-position:24% center;transform:scale(1.1);transition:transform 1.5s var(--ease)}.hero-image-frame:hover img{transform:scale(1.025)}
.hero-image-caption{position:absolute;bottom:67px;right:3%;z-index:3;display:flex;gap:8px;align-items:center;flex-direction:column;font-size:9px;letter-spacing:.12em;color:#eee0f0;transform:rotate(-5deg);text-shadow:0 1px 6px #0e041e}.hero-image-caption b{font-family:var(--font-display);font-size:17px;color:var(--gold)}.hero-image-caption span:last-child{color:var(--gold)}
.hero-mini-art{position:absolute;z-index:3;bottom:57px;left:-4%;width:49%;max-width:250px;padding:7px 7px 0;background:#efe6e9;border-radius:24px 24px 33px 15px;box-shadow:0 20px 55px rgba(0,0,0,.45);transform:rotate(-10deg);transition:transform .65s var(--ease);animation:miniFloat 7s ease-in-out infinite}
.hero-mini-art:hover{animation-play-state:paused;transform:rotate(-5deg) translateY(-12px)}
.hero-mini-art img{width:100%;height:132px;object-fit:cover;border-radius:17px 17px 10px 9px}.hero-mini-art span{display:block;text-align:center;padding:7px 5px;color:#7a596f;font-size:11px;letter-spacing:.02em}.hero-mini-art em{font-family:var(--font-display);font-weight:600;font-size:14px}
@keyframes miniFloat{50%{translate:0 -8px}}
.hero-stamp{position:absolute;top:75px;left:3%;z-index:3;width:121px;height:121px;border:1px solid rgba(249,223,247,.4);border-radius:50%;display:grid;place-items:center;background:rgba(28,16,49,.56);box-shadow:0 0 25px rgba(238,174,227,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:stampFloat 7s ease-in-out infinite}
.hero-stamp span{font-size:8px;text-align:center;line-height:1.8;width:85px;letter-spacing:.13em;color:var(--gold)}.hero-stamp b{position:absolute;font-weight:400;bottom:19px;font-size:21px;color:var(--rose-light)}
@keyframes stampFloat{50%{transform:translateY(-9px)}}
.hero-vertical{position:absolute;right:-23px;top:47%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;color:#9d86ad}
.hero-scroll{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;letter-spacing:.17em;font-size:9px;color:#bda7cb}.scroll-arrow{font-size:18px;animation:arrowDrop 2s ease-in-out infinite}@keyframes arrowDrop{50%{transform:translateY(7px)}}
.marquee-band{position:relative;z-index:2;overflow:hidden;border-block:1px solid rgba(242,214,237,.14);background:linear-gradient(90deg,#23112d,#2d1737,#23112d);padding:14px 0}.marquee-track{display:flex;width:max-content;animation:marqueeMove 38s linear infinite}.marquee-track span{flex-shrink:0;white-space:nowrap;color:#dcc0d5;font-size:10px;letter-spacing:.28em;padding-right:24px}.marquee-track i{font-size:15px;padding:0 20px;color:var(--gold);font-style:normal}@keyframes marqueeMove{to{transform:translateX(-50%)}}
/* section rhythm */
.section{padding:120px 0;position:relative;isolation:isolate}.section-heading{margin-bottom:58px}.section-index{color:var(--gold);margin-bottom:19px}.section-index span{color:#8c719b;padding:0 10px}.section-heading h2,.goal-copy h2,.contact-layout h2{font-size:clamp(56px,6.5vw,93px);letter-spacing:-.075em;line-height:.93;font-weight:400;margin:0}.section-heading h2 em,.about-story h3 em,.subsection-intro h3 em,.goal-copy h2 em,.contact-layout h2 em{font-family:var(--font-display);font-weight:500;color:var(--rose);letter-spacing:-.035em;font-size:1.15em}
.section-heading.with-aside{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.with-aside>p{font-size:14px;color:var(--muted);max-width:344px;line-height:1.85;margin:0 0 2px;font-family:var(--font-text)}.overline{color:var(--gold)}
/* about / organic portrait and tools */
.about-section{background:radial-gradient(ellipse 50% 38% at 15% 16%,rgba(180,119,150,.09),transparent),linear-gradient(170deg,#150d26 0%,#110a22 85%)}
.about-layout{display:grid;grid-template-columns:minmax(0,.77fr) minmax(0,1.23fr);gap:clamp(64px,7vw,128px);align-items:start}
.about-sidebar{max-width:395px;position:relative}.portrait-orbit{position:relative;padding:14px;margin:0 auto 25px;max-width:356px}.portrait-orbit:before{content:"";position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(234,199,229,.3);animation:portraitRotate 64s linear infinite}@keyframes portraitRotate{to{transform:rotate(360deg)}}.orbit-star{position:absolute;top:5px;right:35px;font-size:36px;color:var(--gold);z-index:3;filter:drop-shadow(0 0 10px rgba(233,199,139,.5))}
.portrait-frame{width:100%;aspect-ratio:1;position:relative;overflow:hidden;border-radius:50%;background:#4e284a;border:7px solid #2b193d;box-shadow:0 0 0 1px rgba(249,210,242,.3),0 25px 55px rgba(0,0,0,.4)}.portrait-frame>img,.portrait-frame>[data-slot="portrait"]>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:transform 1.3s var(--ease)}.portrait-frame:hover>img,.portrait-frame:hover>[data-slot="portrait"]>img{transform:scale(1.07)}.portrait-frame:after{content:"";position:absolute;inset:58% 0 0;background:linear-gradient(transparent,rgba(15,6,29,.9))}.portrait-caption{position:absolute;z-index:2;bottom:25px;left:0;right:0;text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center;color:#fff6f8;font-size:9px;letter-spacing:.16em}.portrait-caption span{color:#d9b2c7}
.creator-detail{text-align:center;margin:0 0 32px}.creator-overline{font-size:10px;letter-spacing:.2em;color:var(--gold)}.creator-detail h3{font-family:var(--font-display);font-size:33px;font-weight:500;line-height:1.1;margin:8px 0 7px}.creator-detail p{font-size:12px;color:var(--muted);margin:0}.creator-detail p span{color:var(--rose);padding:0 5px}
.arsenal-box{padding:18px 22px 8px;border:1px solid rgba(249,222,247,.17);background:rgba(255,255,255,.025);border-radius:32px}.arsenal-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.17em;color:var(--rose-light);font-weight:600;padding:7px 0 12px}.arsenal-heading span{font-size:21px;color:var(--gold);line-height:1}.tool-row{display:flex;gap:20px;padding:12px 0;border-top:1px solid var(--line);font-size:14px;font-weight:500}.tool-number{color:var(--gold);font-size:11px}
.about-story{padding-top:17px}.about-story h3,.subsection-intro h3{font-size:clamp(41px,4vw,65px);line-height:1.03;letter-spacing:-.065em;font-weight:400;margin:20px 0 30px}.story-text{border-top:1px solid var(--line-hi);padding-top:28px}.story-text p{font-family:var(--font-text);font-size:15px;line-height:1.95;color:#c5b3c8;margin-bottom:18px}.story-text p:first-child{font-size:17px;color:var(--ink)}.story-text strong{color:#ffe4ef;font-weight:600}.signature{font-family:var(--font-display);font-size:29px;font-style:italic;margin-top:20px;color:var(--gold)}.signature span{font-family:var(--font-main);font-size:11px;letter-spacing:.09em;color:var(--muted);font-style:normal}
.milestones-block{padding-top:155px}.subsection-intro{margin-bottom:38px}.subsection-intro h3{margin:15px 0}.subsection-intro>p{color:var(--muted);font-size:14px}.milestone-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.milestone-panel{position:relative;background:linear-gradient(140deg,rgba(52,30,69,.68),rgba(29,15,43,.58));border:1px solid var(--line);border-radius:40px 40px 65px 40px;padding:34px 35px;overflow:hidden;transition:transform .6s var(--ease),border-color .35s,box-shadow .5s}.milestone-panel:nth-child(2){border-radius:60px 38px 38px 38px;background:linear-gradient(140deg,rgba(46,26,56,.6),rgba(29,16,48,.55))}.milestone-panel:hover{transform:translateY(-6px);border-color:var(--line-hi);box-shadow:0 24px 60px rgba(0,0,0,.22)}.milestone-panel:before{content:"";position:absolute;right:-52px;top:-83px;width:235px;height:235px;border-radius:50%;border:1px solid rgba(242,198,224,.09);box-shadow:0 0 0 33px rgba(242,198,224,.025)}
.milestone-panel-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:20px;position:relative}.milestone-panel-header h4{font-family:var(--font-display);font-weight:500;font-size:28px;margin:7px 0 0;line-height:1.15}.milestone-panel-header>a{border:1px solid var(--line-hi);border-radius:50%;width:37px;height:37px;display:grid;place-items:center;color:var(--rose)}
.platform-name{font-size:10px;letter-spacing:.16em;color:var(--muted);font-weight:600}.yt-symbol,.ig-symbol{color:var(--rose);padding-right:8px;font-size:13px}.milestone-list{list-style:none;margin:19px 0 0;padding:0}.milestone-item{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:13px;align-items:center;padding:16px 0;position:relative}.milestone-item+.milestone-item{border-top:1px solid var(--line)}.milestone-value{font-family:var(--font-display);font-size:34px;font-weight:600;line-height:1;color:var(--muted)}.milestone-item.achieved .milestone-value{color:var(--gold)}.milestone-item.current .milestone-value{color:var(--rose)}.milestone-info{font-size:12px;color:#f1deed;font-weight:500}.milestone-info small{display:block;color:var(--faint);font-size:11px;font-weight:400;margin-top:3px}.milestone-state{font-size:9px;letter-spacing:.10em;color:var(--faint);font-weight:600}.milestone-item.achieved .milestone-state{color:var(--gold)}.milestone-item.current .milestone-state{color:var(--rose)}
/* goal */
.goal-section{background:radial-gradient(ellipse 44% 80% at 84% 50%,rgba(190,125,192,.13),transparent),#0b0716}.goal-layout{display:grid;grid-template-columns:1fr minmax(0,.8fr);gap:13%;align-items:center}.goal-copy h2{margin:20px 0 22px}.goal-copy p{font-size:15px;line-height:1.9;color:var(--muted);max-width:435px}.goal-data-state{display:flex;gap:12px;align-items:center;color:#ad9abb;font-size:11px;margin:25px 0 33px}.status-dot{width:7px;height:7px;flex-shrink:0;background:var(--faint);border-radius:50%}.status-dot.live{background:#99d8ba;box-shadow:0 0 0 5px rgba(153,216,186,.15)}
.goal-stat{border:1px solid rgba(252,227,246,.22);border-radius:48% 48% 38px 38px / 29% 29% 38px 38px;min-height:492px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:48px 33px 37px;background:radial-gradient(circle at 50% 38%,rgba(163,117,177,.14),transparent 65%),rgba(33,16,47,.54);position:relative;box-shadow:0 0 0 10px rgba(255,255,255,.01)}.goal-stat:before{content:"";position:absolute;inset:12px;border:1px solid rgba(240,200,221,.075);border-radius:inherit;pointer-events:none}.goal-sparkle{position:absolute;right:12%;top:5%;font-size:31px;color:var(--gold);animation:starRotate 20s linear infinite}.goal-circle{width:min(100%,280px);aspect-ratio:1;position:relative}.goal-svg{width:100%;height:100%;transform:rotate(-90deg)}.goal-svg circle{fill:none;stroke-width:7}.track{stroke:rgba(255,255,255,.1)}.progress-circle{stroke:var(--rose);stroke-linecap:round;transition:stroke-dashoffset 1.8s var(--ease);filter:none}.goal-number-wrap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.goal-counter{font-family:var(--font-display);font-size:100px;line-height:.9;font-weight:500;letter-spacing:-.06em;color:#ffe6ef}.goal-small{font-size:10px;letter-spacing:.25em;color:var(--gold);margin-top:14px}.goal-stat-bottom{display:flex;justify-content:space-between;align-items:center;width:min(100%,350px);gap:20px;border-top:1px solid var(--line);padding-top:22px}.goal-stat-bottom>div{display:flex;flex-direction:column}.goal-stat-bottom strong{font-family:var(--font-display);font-size:35px;font-weight:500;line-height:1}.goal-stat-bottom span{color:var(--muted);font-size:10px}.goal-stat-target{text-align:right}.goal-stat-target strong{color:var(--gold)}
/* featured work: images, not boxy tiles */
.work-section{background:linear-gradient(180deg,#160c25 0%,#110a20 100%)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:37px}.work-card{min-width:0;position:relative}.work-card:nth-child(2){padding-top:84px}.artwork-link{display:block;position:relative;isolation:isolate}.artwork-image{aspect-ratio:1.28;position:relative;overflow:hidden;border-radius:46px 105px 46px 48px;background:#38253f;transition:border-radius .65s var(--ease)}.work-card:nth-child(2) .artwork-image{border-radius:100px 46px 53px 46px}.artwork-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(16,8,30,.29));pointer-events:none}.artwork-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .6s}.work-card:hover .artwork-image{border-radius:65px}.work-card:hover img{transform:scale(1.045)}.image-visit{position:absolute;right:23px;bottom:23px;width:52px;height:52px;display:grid;place-items:center;background:rgba(255,235,247,.91);border-radius:50%;color:#25142c;font-size:24px;z-index:2;transition:transform .35s}.artwork-link:hover .image-visit{transform:rotate(45deg)}
.work-card-head{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-top:25px}.work-card-head h3{font-family:var(--font-display);font-weight:500;font-size:39px;line-height:1.08;margin:8px 0 7px}.card-index{font-family:var(--font-display);font-size:40px;color:rgba(242,195,221,.37);line-height:1}.work-card>p{max-width:525px;font-family:var(--font-text);font-size:13px;line-height:1.85;color:var(--muted);margin-bottom:10px}.underlined-link{display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid rgba(232,198,226,.5);padding-bottom:6px;margin-top:12px;font-size:12px;font-weight:600;color:var(--rose-light);transition:gap .3s,color .3s}.underlined-link:hover{gap:26px;color:var(--gold)}
/* meps: beautiful large rounded panels */
.meps-section{background:#0d081a}.mep-intro{display:grid;grid-template-columns:1fr 1.5fr;gap:30px;align-items:start;margin:0 0 32px;padding:20px 0;border-top:1px solid var(--line)}.mep-intro p{color:var(--muted);font-size:14px;line-height:1.8;margin:0}.mep-grid{display:grid;grid-template-columns:1fr 1fr;gap:29px}.mep-card{background:linear-gradient(135deg,rgba(39,25,56,.83),rgba(25,14,37,.89));border:1px solid var(--line);border-radius:50px 50px 60px 25px;overflow:hidden;transition:transform .6s var(--ease),border-color .3s,box-shadow .5s}.mep-card:nth-child(2){border-radius:50px 50px 25px 60px}.mep-card:hover{transform:translateY(-8px);border-color:var(--line-hi);box-shadow:0 25px 70px rgba(0,0,0,.25)}.mep-image{display:block;aspect-ratio:16/10;position:relative;overflow:hidden;border-radius:0 0 40px 40px}.mep-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.05s var(--ease)}.mep-card:hover .mep-image img{transform:scale(1.07)}.mep-image>span{display:grid;place-items:center;position:absolute;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;background:rgba(255,235,246,.94);color:#2e1b32;font-size:23px}.mep-content{padding:30px 31px 37px}.mep-content h3{font-family:var(--font-display);font-size:38px;line-height:1.05;font-weight:500;margin:11px 0 15px}.mep-content p{font-size:13px;line-height:1.85;color:var(--muted);min-height:50px}
/* collaborations: circular artwork and sweeping dividers */
.collaboration-section{background:radial-gradient(ellipse 50% 70% at 100% 20%,rgba(129,82,128,.11),transparent),#130b23}.collab-label{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line-hi);padding-bottom:16px;font-size:11px;letter-spacing:.16em;color:var(--gold)}.collab-label span{color:var(--faint)}.collab-list{margin-top:8px}.collab-row{display:grid;grid-template-columns:245px minmax(0,1fr) 60px;gap:37px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);transition:padding .4s var(--ease)}.collab-row:hover{padding-left:10px}.collab-image{width:245px;height:165px;overflow:hidden;border-radius:85px 28px 85px 32px;background:#1f2446;transform:rotate(-2deg);transition:transform .6s var(--ease),border-radius .6s}.collab-row:nth-child(2) .collab-image{border-radius:28px 85px 32px 85px;transform:rotate(2deg)}.collab-row:hover .collab-image{transform:rotate(0);border-radius:50px}.collab-image img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease)}.collab-row:hover img{transform:scale(1.06)}.collab-body h3{font-family:var(--font-display);font-weight:500;font-size:clamp(29px,3vw,44px);line-height:1.05;margin:8px 0}.collab-body h3 em{color:var(--rose);font-weight:500}.collab-body p{font-size:13px;color:var(--muted);margin:0}.thin-divider{color:var(--gold);padding:0 5px}.collab-endmark{display:grid;place-items:center;width:47px;height:47px;border-radius:50%;border:1px solid var(--line-hi);color:var(--rose);font-size:21px;transition:transform .4s}.collab-row:hover .collab-endmark{transform:rotate(45deg)}.collab-endmark.muted{color:var(--faint)}.muted-note{display:inline-block;margin-top:16px;padding:7px 13px;background:rgba(233,199,139,.08);color:var(--gold);border:1px solid rgba(233,199,139,.2);font-size:10px;border-radius:40px}
.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:57px}.future-grid>div{border:1px solid var(--line);border-radius:80px 28px 35px 28px;padding:25px 24px;background:rgba(255,255,255,.02)}.future-grid>div:nth-child(2){border-radius:28px 80px 28px 35px}.future-grid>div:nth-child(3){border-radius:35px 28px 80px 28px}.future-grid span{color:var(--gold);font-size:11px}.future-grid h4{font-family:var(--font-display);font-size:29px;font-weight:500;margin:8px 0 4px}.future-grid p{margin:0;font-size:12px;color:var(--muted)}
/* socials: spacious animated pill tiles */
.socials-section{background:radial-gradient(ellipse 47% 68% at 10% 64%,rgba(142,86,149,.15),transparent),#0d0819}.social-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.social-item{display:flex;align-items:center;gap:16px;background:rgba(43,25,59,.47);border:1px solid var(--line);border-radius:100px;min-height:83px;padding:11px 15px 11px 13px;transition:transform .45s var(--ease),background .3s,border-color .35s,box-shadow .35s}.social-item:hover{transform:translateY(-5px);background:rgba(65,39,79,.76);border-color:var(--line-hi);box-shadow:0 16px 30px rgba(0,0,0,.16)}.social-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,rgba(245,174,213,.21),rgba(155,126,199,.18));border:1px solid rgba(252,212,237,.17);flex-shrink:0;color:var(--rose-light)}.social-icon svg{width:24px;height:24px}.social-name{display:flex;flex-direction:column;font-size:14px;font-weight:500;line-height:1.3;min-width:0}.social-name small{font-size:11px;font-weight:400;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.social-go{margin-left:auto;font-size:19px;color:var(--gold);padding-right:3px;transition:transform .3s}.social-item:hover .social-go{transform:translate(4px,-4px)}
/* contact / footer */
.contact-section{background:radial-gradient(circle at 92% 16%,rgba(247,186,219,.15),transparent 27%),radial-gradient(ellipse 70% 100% at 14% 80%,rgba(86,50,120,.18),transparent),linear-gradient(135deg,#251334 0%,#160d26 75%);padding:129px 0 135px;overflow:hidden}.contact-section:before{content:"";position:absolute;width:470px;height:470px;right:-160px;top:-190px;border-radius:50%;border:1px solid rgba(245,214,231,.12);box-shadow:0 0 0 45px rgba(245,214,231,.025),0 0 0 92px rgba(245,214,231,.02);pointer-events:none}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end}.contact-layout h2{margin:16px 0 25px}.contact-layout>div:first-child>p{font-size:15px;color:#cbbacb;line-height:1.85;max-width:440px}.contact-details{padding-bottom:12px}.contact-email{margin-top:14px;display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:clamp(20px,2.4vw,32px);font-family:var(--font-display);font-weight:500;overflow-wrap:anywhere;border-bottom:1px solid rgba(255,255,255,.3);padding:14px 0;transition:color .3s}.contact-email:hover{color:var(--rose)}.contact-email span{font-family:var(--font-main);font-size:24px;flex-shrink:0}.contact-bottom{display:flex;gap:21px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:22px}.copy-button{border:1px solid var(--line-hi);background:rgba(255,255,255,.04);border-radius:100px;padding:12px 20px;cursor:pointer;font-size:11px;color:var(--rose-light);transition:background .25s}.copy-button:hover{background:rgba(255,255,255,.11)}.copy-button span{padding-left:10px}.copy-message{font-size:11px;color:#b6deb8;min-height:20px;margin:12px 0 0}
.footer{background:#0a0613;border-top:1px solid var(--line)}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:43px 0 31px}.footer-brand{font-family:var(--font-brand);font-size:17px;letter-spacing:.035em;display:flex;align-items:center;gap:13px}.footer-moon{font-family:serif;color:var(--gold);font-size:35px;line-height:1}.to-top{font-size:11px;letter-spacing:.14em;color:var(--rose-light)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:24px 0 27px}.footer-bottom p{margin:0;color:var(--faint);font-size:11px}.footer-bottom span{color:var(--rose)}
/* calm, real scroll transitions */
.js .reveal{opacity:0;transform:translate3d(0,28px,0);filter:blur(4px);transition:opacity .9s var(--ease) var(--delay,0ms),transform .9s var(--ease) var(--delay,0ms),filter 1s var(--ease) var(--delay,0ms)}
.js .reveal.visible{opacity:1;transform:none;filter:blur(0)}
.reveal:nth-child(2){transition-delay:.07s}.reveal:nth-child(3){transition-delay:.13s}
/* desktop and tablet adjustments */
@media(max-width:1200px){.container{width:min(calc(100% - 72px),var(--width))}.site-nav{gap:12px}.nav-shell{padding:0 17px}.hero h1{font-size:clamp(80px,8.3vw,109px)}.hero-mini-art{left:-1%}}
@media(max-width:1070px){.site-nav{position:absolute;top:calc(100% + 4px);left:36px;right:36px;border:1px solid var(--line-hi);border-radius:27px;padding:11px 23px 16px;background:rgba(22,12,38,.98);-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);display:flex;flex-direction:column;align-items:stretch;gap:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .3s,transform .3s,visibility .3s;box-shadow:0 30px 60px rgba(0,0,0,.3)}.site-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.site-nav a{padding:12px 4px;border-bottom:1px solid var(--line);font-size:13px}.site-nav a:last-child{border:0}.site-nav a:after{display:none}.menu-toggle{display:flex}.header-link{margin-left:auto}.hero-inner{gap:0;grid-template-columns:1fr 1fr}.hero-image-frame{width:95%;right:-8px}.hero-stamp{left:-5%}.hero-mini-art{left:-7%}.hero-moon{right:0;width:420px;height:420px}.hero h1{font-size:clamp(68px,8.6vw,99px)}.about-layout{gap:56px}.milestone-panel{padding:28px 24px}.milestone-item{grid-template-columns:60px minmax(0,1fr) auto;gap:9px}.social-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.container{width:min(calc(100% - 44px),var(--width))}.site-header{padding:11px 0}.site-header.scrolled{padding:7px 0}.nav-shell{height:61px;padding:0 13px 0 15px}.brand-mark{width:32px;height:32px}.brand-wordmark{font-size:12px}.header-link{padding:9px 12px}.header-link span:first-child{display:none}.header-link span:last-child{font-size:19px}.menu-toggle{width:39px;height:39px}.site-nav{left:22px;right:22px}.hero{min-height:unset;padding:118px 0 84px}.hero-inner{display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:25px}.hero-copy{padding:0}.hero-kicker{margin-top:24px}.hero h1{font-size:clamp(76px,12vw,113px);max-width:600px;margin:15px 0 22px}.hero-description{max-width:560px}.hero-mini{margin-top:31px}.hero-visual{min-height:600px;max-width:600px;width:100%;margin-inline:auto}.hero-moon{width:min(76vw,470px);height:min(76vw,470px);left:18%;top:40px}.hero-image-frame{right:6%;top:37px;height:485px;width:78%;max-width:465px}.hero-mini-art{left:4%;bottom:10px;width:43%;max-width:240px}.hero-mini-art img{height:120px}.hero-stamp{left:4%;top:35px}.hero-image-caption{bottom:32px;right:5%}.hero-vertical{display:none}.orbital-ring.ring-one{width:520px;height:520px;left:5%;top:10px}.orbital-ring.ring-two{width:470px;height:470px;left:9%;top:30px}.hero-scroll{bottom:19px}.section{padding:84px 0}.section-heading{margin-bottom:38px}.section-heading.with-aside{display:block}.with-aside>p{margin-top:22px;max-width:570px}.section-heading h2,.goal-copy h2,.contact-layout h2{font-size:clamp(56px,10vw,76px)}.about-layout{grid-template-columns:1fr;gap:39px}.about-sidebar{max-width:none;display:grid;grid-template-columns:minmax(210px,300px) 1fr;align-items:center;gap:12px 24px}.portrait-orbit{grid-row:span 2;width:100%;margin:0}.creator-detail{text-align:left;margin:0}.arsenal-box{grid-column:2;align-self:start}.milestones-block{padding-top:100px}.milestone-grid{grid-template-columns:1fr}.goal-layout{grid-template-columns:1fr;gap:40px}.goal-stat{max-width:510px;margin-inline:auto;width:100%}.work-grid{grid-template-columns:1fr;gap:56px}.work-card:nth-child(2){padding-top:0}.artwork-image{aspect-ratio:1.6}.mep-intro{grid-template-columns:1fr;gap:10px}.mep-grid{grid-template-columns:1fr}.mep-image{aspect-ratio:16/9}.collab-row{grid-template-columns:170px minmax(0,1fr) 38px;gap:24px}.collab-image{width:170px;height:134px}.collab-body h3{font-size:32px}.collab-endmark{width:35px;height:35px}.future-grid{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1fr;gap:42px}.contact-section{padding:90px 0}.footer-main{padding:35px 0 25px}}
@media(max-width:520px){.container{width:calc(100% - 38px)}.brand-wordmark{font-size:11px}.hero{padding-top:104px;padding-bottom:78px}.hero-label{font-size:9px;letter-spacing:.12em}.hero-kicker{font-size:10px;margin-top:26px}.hero h1{font-size:clamp(73px,15vw,95px);letter-spacing:-.09em;margin-bottom:18px}.hero h1 em{font-size:1.14em}.hero-intro{font-size:21px}.hero-description{font-size:13px}.hero-actions{gap:21px;margin-top:27px}.button{font-size:11px;min-height:50px;padding-left:18px;gap:13px}.text-link{font-size:11px}.hero-mini{font-size:8px;line-height:1.4;gap:8px;letter-spacing:.06em}.hero-visual{min-height:440px;margin-top:0}.hero-moon{width:315px;height:315px;top:24px;left:12%}.hero-image-frame{width:82%;height:370px;max-width:350px;top:18px;right:2%;border-width:4px}.hero-mini-art{left:-1%;bottom:11px;width:45%;padding:5px 5px 0;border-radius:14px 14px 19px 10px}.hero-mini-art img{border-radius:10px;height:87px}.hero-mini-art span{font-size:8px;padding:4px 1px}.hero-mini-art em{font-size:11px}.hero-image-caption{bottom:4px;right:1%;font-size:7px}.hero-stamp{width:79px;height:79px;left:0;top:30px}.hero-stamp span{width:60px;font-size:5.8px;line-height:1.7}.hero-stamp b{bottom:8px;font-size:15px}.orbital-ring.ring-one{width:380px;height:380px;left:-12px;top:13px}.orbital-ring.ring-two{width:345px;height:345px;left:3px;top:27px}.hero-scroll{font-size:8px}.marquee-band{padding:10px 0}.marquee-track span{font-size:8px}.section{padding:75px 0}.section-heading h2,.goal-copy h2,.contact-layout h2{font-size:clamp(48px,11.5vw,64px)}.section-index{font-size:10px}.about-sidebar{display:flex;flex-direction:column;gap:12px;align-items:center}.portrait-orbit{width:min(100%,300px);margin-inline:auto}.creator-detail{text-align:center}.creator-detail h3{font-size:32px}.arsenal-box{width:100%;max-width:350px;margin-top:5px}.about-story h3,.subsection-intro h3{font-size:clamp(43px,11vw,55px)}.story-text p{font-size:13px}.milestones-block{padding-top:85px}.milestone-panel{border-radius:31px 31px 48px 31px;padding:23px 20px}.milestone-panel:nth-child(2){border-radius:48px 31px 31px 31px}.milestone-panel-header h4{font-size:25px}.milestone-item{grid-template-columns:56px minmax(0,1fr) auto;gap:7px;padding:13px 0}.milestone-value{font-size:29px}.milestone-info{font-size:11px}.milestone-state{font-size:8px;letter-spacing:0}.milestone-info small{font-size:10px}.goal-stat{min-height:0;padding:50px 25px 30px}.goal-circle{max-width:250px}.goal-counter{font-size:90px}.goal-stat-bottom strong{font-size:30px}.work-card-head h3{font-size:34px}.artwork-image{aspect-ratio:1.26;border-radius:25px 66px 25px 27px}.work-card:nth-child(2) .artwork-image{border-radius:65px 25px 27px 25px}.work-card-head{margin-top:20px}.work-card>p{font-size:12px}.mep-card{border-radius:34px 34px 45px 20px}.mep-card:nth-child(2){border-radius:34px 34px 20px 45px}.mep-content{padding:25px 22px 29px}.mep-content h3{font-size:33px}.mep-content p{font-size:12px}.collab-row{grid-template-columns:105px minmax(0,1fr);gap:15px;padding:23px 0}.collab-image{width:105px;height:113px;border-radius:40px 12px 40px 14px}.collab-row:nth-child(2) .collab-image{border-radius:14px 40px 14px 40px}.collab-body h3{font-size:clamp(24px,6vw,32px)}.collab-body p{font-size:11px}.collab-body .overline{font-size:9px}.collab-body .underlined-link{font-size:11px}.collab-endmark{display:none}.future-grid{grid-template-columns:1fr;gap:13px;margin-top:37px}.future-grid>div{padding:20px 24px}.social-list{grid-template-columns:1fr}.social-item{min-height:75px}.social-icon{width:50px;height:50px}.social-name small{font-size:11px}.contact-section{padding:78px 0}.contact-email{font-size:clamp(22px,5.9vw,29px)}.contact-bottom{align-items:flex-start;flex-direction:column}.footer-brand{font-size:15px}.footer-main,.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}.footer-bottom p{font-size:10px}}
@media(max-width:350px){.hero h1{font-size:65px}.hero-visual{min-height:385px}.hero-image-frame{height:321px}.hero-moon{width:275px;height:275px}.orbital-ring{display:none}.hero-mini-art{width:44%}.hero-mini-art img{height:71px}.milestone-item{grid-template-columns:51px minmax(0,1fr) auto}.milestone-value{font-size:27px}.milestone-state{font-size:7px}.site-nav{left:15px;right:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1!important;transform:none!important;filter:none!important}}

/* ========================================================================
   V3 detail polish - preserves the existing Moonlight V2 direction & layout
   ======================================================================== */
.link-arrow-icon{display:block;width:18px;height:18px;flex-shrink:0;transition:transform .38s cubic-bezier(.2,.75,.2,1);overflow:visible}
.header-link .link-arrow-icon{width:15px;height:15px}
.btn-arrow .link-arrow-icon{width:18px;height:18px}
.hero-scroll .link-arrow-icon{width:17px;height:17px}
.image-visit .link-arrow-icon{width:23px;height:23px}
.mep-image>span .link-arrow-icon{width:22px;height:22px}
.social-go .link-arrow-icon,.contact-outmark .link-arrow-icon{width:20px;height:20px}
.collab-endmark .link-arrow-icon{width:22px;height:22px}
.arsenal-heading .link-arrow-icon{width:17px;height:17px}
:is(a,button):hover .arrow-external{transform:translate(3px,-3px)}
:is(a,button):hover .arrow-down{transform:translateY(4px)}
:is(a,button):hover .arrow-up{transform:translateY(-4px)}
/* Avoid the 45 degree spin of the old unicode glyph; vector arrows should glide. */
.button:hover .btn-arrow,.artwork-link:hover .image-visit,.collab-row:hover .collab-endmark{transform:translateY(-2px)}
.mep-image>span{transition:transform .42s var(--ease),box-shadow .42s var(--ease)}
.mep-image:hover>span{transform:translateY(-3px);box-shadow:0 6px 27px rgba(12,5,25,.25)}
/* Link pills: equivalent language to the original gold-outlined YouTube pill. */
.underlined-link{min-height:45px;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;
  padding:10px 12px 10px 20px;margin-top:23px;border-radius:100px;
  border:1px solid rgba(233,199,139,.42);background:rgba(233,199,139,.035);color:var(--gold);
  font-family:var(--font-main);font-size:11px;font-weight:600;letter-spacing:.065em;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.012);
  transition:background .35s var(--ease),border-color .35s,box-shadow .4s,transform .4s var(--ease),color .35s}
.underlined-link>span[aria-hidden]{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;
  background:rgba(233,199,139,.08);border:1px solid rgba(233,199,139,.17)}
.underlined-link .link-arrow-icon{width:14px;height:14px}
.underlined-link:hover{gap:22px;transform:translateY(-3px);color:#f9d7ed;
  background:rgba(229,171,204,.105);border-color:rgba(255,221,236,.72);
  box-shadow:0 12px 26px rgba(0,0,0,.16)}
.underlined-link:focus-visible,.contact-instagram:focus-visible,.social-item:focus-visible,.header-link:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
/* Social icons are all genuine links. The JS observer bug that hid them is fixed below. */
.social-list{position:relative}
.social-item{position:relative;min-width:0}
.social-go{display:grid;place-items:center;flex-shrink:0}
.social-item:hover .social-go{transform:none}
.social-item:hover .social-go .link-arrow-icon{transform:translate(3px,-3px)}
/* Matching email and Instagram contact rows (both open real links). */
.contact-instagram-block{margin-top:27px}
.contact-instagram-block>.overline{display:block;font-size:10px}
.contact-instagram{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;padding:12px 0 16px;
  border-bottom:1px solid rgba(255,255,255,.3);color:#f4d0e1;text-decoration:none;
  transition:color .3s,border-color .3s}
.contact-instagram:hover{color:#ffe5ef;border-color:rgba(255,225,237,.85)}
.contact-instagram-handle{font-family:var(--font-display);font-weight:500;
  font-size:clamp(21px,2.35vw,31px);letter-spacing:-.025em;line-height:1.1;overflow-wrap:anywhere}
.contact-instagram-hint{font-size:11px;color:var(--muted);align-self:center}
.contact-outmark{margin-left:auto;color:var(--rose-light)}
.contact-bottom{justify-content:flex-start;padding-top:20px}
.contact-email>span[aria-hidden]{display:grid;place-items:center}
.copy-button{min-height:43px;display:inline-flex;align-items:center;gap:11px}
.copy-button span{padding-left:0}
.copy-button .link-arrow-icon{width:15px;height:15px}
/* Ring: a one-time progress sweep on first view plus a slow understated orbit. */
.goal-orbit{position:absolute;inset:3.7%;border:1px dashed rgba(246,203,225,.25);border-radius:50%;
  animation:moonGoalOrbit 32s linear infinite;pointer-events:none}
.goal-orbit-bead{position:absolute;left:50%;top:-4px;width:8px;height:8px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 9px rgba(241,198,153,.72),0 0 24px rgba(250,206,216,.4)}
@keyframes moonGoalOrbit{to{transform:rotate(360deg)}}
.goal-circle::after{content:"";position:absolute;inset:5.7%;border-radius:50%;pointer-events:none;
  box-shadow:0 0 14px rgba(236,160,204,.055),inset 0 0 20px rgba(236,160,204,.04);
  animation:moonGoalBreathe 5.2s ease-in-out infinite}
@keyframes moonGoalBreathe{50%{box-shadow:0 0 27px rgba(236,160,204,.18),inset 0 0 22px rgba(236,160,204,.1)}}
/* Clean circular neon halo: native circular shadows, no filter bitmap or clipping box. */
.goal-circle::before{
  content:"";position:absolute;inset:5.7%;border-radius:50%;pointer-events:none;
  border:3px solid rgba(248,177,214,.14);
  box-shadow:0 0 13px 3px rgba(239,170,201,.25),
             0 0 33px 9px rgba(239,170,201,.075),
             inset 0 0 14px 1px rgba(239,170,201,.12);
  z-index:0;
  animation:moonRingHalo 5.2s ease-in-out infinite;
}
@keyframes moonRingHalo{0%,100%{opacity:.65}50%{opacity:1}}
.goal-svg{position:relative;z-index:1;display:block}
.goal-number-wrap{z-index:2}
.goal-orbit{z-index:2}
.goal-circle::after{z-index:0}
.progress-circle{transition:stroke-dashoffset 2.1s cubic-bezier(.15,.95,.22,1);filter:none!important}
/* The progress sweep and the gold orbit stay animated, without SVG filters. */
.goal-counter{font-variant-numeric:lining-nums tabular-nums}
.back-to-top-icon{display:inline-grid;place-items:center;vertical-align:middle;margin-left:5px}
.back-to-top-icon .link-arrow-icon{width:15px;height:15px}
@media(max-width:520px){
  .underlined-link{min-height:43px;padding:8px 10px 8px 17px;font-size:10px;gap:14px}
  .underlined-link:hover{gap:14px}
  .contact-instagram-handle{font-size:clamp(20px,6vw,28px)}
  .contact-instagram-hint{font-size:10px}
  .contact-email .link-arrow-icon{width:17px;height:17px}
}
@media(prefers-reduced-motion:reduce){
 .goal-orbit,.goal-circle::before,.goal-circle::after,.goal-stat.ring-active .progress-circle{animation:none!important}
 .link-arrow-icon{transition:none!important}
}

/* V4: content-driven layout and usable no-JavaScript navigation. */
.hero-mini{white-space:normal}
.work-grid:empty,.mep-grid:empty,.collab-list:empty,.future-grid:empty{display:none}

.metric-note{font-size:10px;color:var(--muted);margin:14px 0 0;line-height:1.6}
.portrait-frame>[data-slot="portrait"]{width:100%;height:100%}
