@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700;800&display=swap');
:root{
  --bg:#050913;--bg2:#081120;--panel:rgba(10,20,36,.72);--panel2:rgba(13,27,48,.86);
  --text:#f3f8ff;--muted:#91a5bf;--soft:#b9c9dc;--line:rgba(157,196,239,.16);
  --blue:#9ed2ff;--blue2:#5ea9ed;--blue3:#d8efff;--lav:#b9b9ff;--pink:#e6b8e9;
  --max:1180px;--ease:cubic-bezier(.16,1,.3,1);--shadow:0 24px 80px rgba(30,110,190,.16)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100svh;background:
radial-gradient(900px 620px at 78% 7%,rgba(82,156,232,.18),transparent 62%),
radial-gradient(650px 520px at 8% 82%,rgba(104,113,225,.10),transparent 64%),
linear-gradient(180deg,#060b15 0%,#07101d 55%,#050913 100%);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.55;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.23;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,black,transparent 82%);z-index:-3}
body:after{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,20%),rgba(125,194,255,.10),transparent 24rem);z-index:-2;}
a{color:inherit;text-decoration:none}.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.ambient{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.ambient:before,.ambient:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.5}.ambient:before{width:24rem;height:24rem;right:-8rem;top:12rem;background:radial-gradient(circle,rgba(83,168,255,.14),transparent 68%);animation:drift 13s ease-in-out infinite}.ambient:after{width:18rem;height:18rem;left:-7rem;bottom:8rem;background:radial-gradient(circle,rgba(185,185,255,.10),transparent 70%);animation:drift 17s 1s ease-in-out infinite reverse}
.topbar{height:78px;width:min(calc(100% - 40px),var(--max));margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:20}.wordmark{font:500 16px/1 'DM Mono',monospace;letter-spacing:.28em;position:relative}.wordmark:after{content:"";position:absolute;left:0;right:.28em;bottom:-9px;height:1px;background:linear-gradient(90deg,var(--blue),transparent);transform:scaleX(.3);transform-origin:left;transition:transform .5s var(--ease)}.wordmark:hover:after{transform:scaleX(1)}
.topbar nav{display:flex;gap:27px}.topbar nav a{font:400 11px 'DM Mono',monospace;color:var(--muted);transition:color .25s,transform .25s;position:relative}.topbar nav a:before{content:'| ';opacity:.25}.topbar nav a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:center;transition:transform .3s var(--ease)}.topbar nav a:hover,.topbar nav a.active{color:var(--text);transform:translateY(-1px)}.topbar nav a:hover:after,.topbar nav a.active:after{transform:scaleX(1)}
.menu{display:none;background:rgba(10,20,36,.8);border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.menu i{display:block;width:22px;height:1px;background:var(--text);margin:5px;transition:.3s}.menu[aria-expanded=true] i:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu[aria-expanded=true] i:nth-child(2){opacity:0}.menu[aria-expanded=true] i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.hero{min-height:720px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:60px;padding-block:70px;position:relative}.hero:before{content:"";position:absolute;width:180px;height:180px;left:-90px;top:110px;border:1px solid rgba(158,210,255,.08);border-radius:50%;animation:spin 24s linear infinite}.hero-copy,.hero-art{opacity:0;transform:translateY(24px);animation:reveal 1s .08s var(--ease) forwards}.hero-art{animation-delay:.18s}.micro,.art-note,.status,small,.card>span{font:400 10px 'DM Mono',monospace;color:var(--muted);letter-spacing:.12em}.micro{margin:0 0 22px}.micro:before{content:'✦ ';color:var(--blue);animation:twinkle 2s infinite}
.hero h1{font-size:clamp(58px,8.5vw,112px);line-height:.89;letter-spacing:-.075em;margin:0 0 28px;font-weight:700;text-wrap:balance}.hero h1 em{font-style:normal;color:var(--blue);font-weight:400;position:relative}.hero h1 em:after{content:"";position:absolute;left:5%;right:0;bottom:-7px;height:5px;border-radius:100%;background:linear-gradient(90deg,transparent,var(--lav),transparent);opacity:.45;filter:blur(3px);animation:sweep 3s ease-in-out infinite}
.lead{max-width:560px;color:#b3c2d4;font-size:clamp(16px,2vw,19px);margin:0 0 35px}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{min-height:48px;padding:13px 19px;border:1px solid var(--line);border-radius:10px;background:rgba(10,19,32,.5);backdrop-filter:blur(10px);font:500 11px 'DM Mono',monospace;position:relative;overflow:hidden;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s,background .35s}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.25) 45%,transparent 70%);transform:translateX(-120%);transition:transform .7s}.btn:hover{transform:translateY(-5px);border-color:rgba(158,210,255,.5);box-shadow:0 15px 38px rgba(65,145,218,.14)}.btn:hover:before{transform:translateX(120%)}.btn.fill{background:linear-gradient(135deg,var(--blue3),#a8d7ff);color:#07111e;border-color:transparent;box-shadow:0 12px 35px rgba(89,169,235,.18)}.btn span{margin-left:13px}
.status{display:flex;align-items:center;gap:9px;margin-top:29px}.status b{font-weight:400;color:#455a73}.dot{width:6px;height:6px;background:var(--blue);border-radius:50%;box-shadow:0 0 0 5px rgba(158,210,255,.08),0 0 20px rgba(158,210,255,.8);animation:pulse 2.2s infinite}
.hero-art{justify-self:center;position:relative}.hero-art:before{content:"";position:absolute;inset:-55px -40px;background:radial-gradient(circle,rgba(92,169,235,.18),transparent 64%);filter:blur(12px);animation:breathe 5s ease-in-out infinite}.frame{width:min(445px,70vw);aspect-ratio:3/4;position:relative;display:flex;align-items:end;justify-content:center;border:1px solid rgba(158,210,255,.22);border-radius:22px;background:linear-gradient(145deg,rgba(158,210,255,.09),rgba(11,21,36,.42) 60%);overflow:hidden;box-shadow:var(--shadow),inset 0 0 60px rgba(110,177,240,.06);transform:perspective(1000px) rotateY(-2deg);transition:transform .7s var(--ease),box-shadow .7s}.frame:before{content:"";position:absolute;inset:10px;border:1px solid rgba(190,220,255,.08);border-radius:15px;animation:borderPulse 4s ease-in-out infinite}.frame:after{content:"";position:absolute;left:-40%;top:-20%;width:35%;height:150%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:rotate(18deg);animation:shine 6s 1s ease-in-out infinite}.frame:hover{transform:perspective(1000px) rotateY(0) translateY(-7px);box-shadow:0 35px 100px rgba(40,132,219,.2),inset 0 0 70px rgba(110,177,240,.08)}.frame img{height:96%;width:100%;object-fit:contain;object-position:center bottom;filter:saturate(.9) contrast(1.02) drop-shadow(0 25px 30px rgba(0,0,0,.22));transition:transform .8s var(--ease);position:relative;z-index:1}.frame:hover img{transform:translateY(-9px) scale(1.025)}.corner{position:absolute;z-index:3;color:var(--blue);font:14px 'DM Mono';text-shadow:0 0 14px rgba(158,210,255,.45);animation:twinkle 2.5s infinite}.c1{top:13px;left:14px}.c2{bottom:13px;right:14px}.art-note{margin:13px 0 0;text-align:right}.art-note:after{content:' ✦';color:var(--pink);animation:twinkle 1.7s .3s infinite}
.rail{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:38px 0;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.rail:before{content:"";position:absolute;left:0;top:-1px;width:130px;height:1px;background:var(--blue);box-shadow:0 0 18px var(--blue);animation:scan 5s linear infinite}.rail h2{font-size:clamp(25px,4vw,41px);letter-spacing:-.05em;margin:3px 0}.rail p{color:var(--muted);max-width:560px;margin:0}.line-art{text-align:right;color:#6f8aa7;font:13px/1.7 'DM Mono';letter-spacing:.1em;animation:float 5s ease-in-out infinite}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:80px;margin-bottom:100px;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.14)}.card{background:linear-gradient(145deg,rgba(7,14,25,.95),rgba(9,20,35,.82));min-height:245px;padding:29px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:background .4s,transform .4s var(--ease),box-shadow .4s}.card:before{content:"";position:absolute;inset:0;background:radial-gradient(300px 180px at var(--gx,50%) var(--gy,20%),rgba(108,182,248,.13),transparent 70%);opacity:0;transition:opacity .35s}.card:after{content:"✦";position:absolute;right:22px;top:19px;color:rgba(158,210,255,.22);font-size:13px;transition:transform .5s var(--ease),color .4s}.card:hover{background:linear-gradient(145deg,rgba(9,21,38,.98),rgba(10,26,45,.9));transform:translateY(-8px);box-shadow:0 24px 55px rgba(42,130,211,.13);z-index:2}.card:hover:before{opacity:1}.card:hover:after{transform:rotate(90deg) scale(1.3);color:var(--blue)}.card>*{position:relative;z-index:1}.card h3{font-size:26px;margin:29px 0 8px;letter-spacing:-.04em}.card p{color:var(--muted);margin:0}.card strong{font:500 11px 'DM Mono';margin-top:auto;color:var(--blue);transition:transform .3s}.card:hover strong{transform:translateX(7px)}
.footer{border-top:1px solid var(--line);padding:24px 0 32px;display:flex;justify-content:space-between;color:#657991;font:10px 'DM Mono';position:relative}.footer:before{content:"";position:absolute;top:-1px;left:0;width:45px;height:1px;background:var(--blue);box-shadow:0 0 14px rgba(158,210,255,.5)}
/* subpages */
.subpage{min-height:calc(100svh - 150px);padding:90px 0}.subpage h1{font-size:clamp(55px,9vw,108px);line-height:.95;letter-spacing:-.075em;margin:0 0 55px}.subpage h1 span{color:var(--blue);animation:twinkle 2s infinite}.about-copy{max-width:760px;font-size:clamp(20px,3vw,32px);line-height:1.4}.about-copy p{opacity:0;transform:translateY(20px);animation:reveal .8s var(--ease) forwards}.about-copy p:nth-child(2){animation-delay:.1s}.about-copy p:nth-child(3){animation-delay:.2s}.about-copy .muted{color:var(--muted);font-size:.7em}.schedule-list,.link-list{max-width:850px;border-top:1px solid var(--line);position:relative}.schedule-list:before,.link-list:before{content:"";position:absolute;left:0;top:-1px;width:90px;height:1px;background:var(--blue);box-shadow:0 0 15px rgba(158,210,255,.45)}.schedule-list div{display:grid;grid-template-columns:150px 1fr auto;gap:20px;padding:23px 0;border-bottom:1px solid var(--line);font:12px 'DM Mono';color:var(--muted);opacity:0;transform:translateX(-15px);animation:slideIn .65s var(--ease) forwards}.schedule-list div:nth-child(2){animation-delay:.08s}.schedule-list div:nth-child(3){animation-delay:.16s}.schedule-list div:nth-child(4){animation-delay:.24s}.schedule-list b{color:var(--text);font-weight:500}.schedule-list em{font-style:normal;color:var(--blue)}.link-list a{display:grid;grid-template-columns:60px 1fr auto;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);font:16px 'DM Mono';transition:padding .35s var(--ease),color .35s,background .35s;position:relative;opacity:0;transform:translateX(-15px);animation:slideIn .65s var(--ease) forwards}.link-list a:nth-child(2){animation-delay:.07s}.link-list a:nth-child(3){animation-delay:.14s}.link-list a:nth-child(4){animation-delay:.21s}.link-list a:nth-child(5){animation-delay:.28s}.link-list a:hover{padding-left:14px;color:var(--blue);background:linear-gradient(90deg,rgba(101,170,235,.07),transparent)}.link-list a:before{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1px;background:var(--blue);transition:width .45s var(--ease);box-shadow:0 0 12px rgba(158,210,255,.6)}.link-list a:hover:before{width:80px}.link-list span{font-size:10px;color:#566f8a}.link-list b{font-weight:400}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.cursor-glow{position:fixed;left:0;top:0;width:170px;height:170px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(117,191,255,.10),transparent 68%);transform:translate(-50%,-50%);z-index:1;mix-blend-mode:screen;transition:opacity .3s}.spark{display:none}.progress{position:fixed;left:0;top:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--blue),var(--lav),var(--pink));z-index:100;box-shadow:0 0 12px rgba(158,210,255,.6)}
@keyframes reveal{to{opacity:1;transform:none}}@keyframes slideIn{to{opacity:1;transform:none}}@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(158,210,255,0),0 0 24px rgba(158,210,255,.8)}}@keyframes twinkle{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.18)}}@keyframes sweep{0%,100%{transform:translateX(-25%);opacity:.15}50%{transform:translateX(20%);opacity:.7}}@keyframes drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(20px,-30px,0)}}@keyframes breathe{0%,100%{transform:scale(.95);opacity:.55}50%{transform:scale(1.06);opacity:1}}@keyframes borderPulse{0%,100%{opacity:.45}50%{opacity:1}}@keyframes shine{0%,25%{transform:translateX(-160%) rotate(18deg)}55%,100%{transform:translateX(500%) rotate(18deg)}}@keyframes scan{0%{transform:translateX(-10px);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateX(1050px);opacity:0}}@keyframes float{50%{transform:translateY(-7px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sparkle{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,-90px) scale(1.4) rotate(45deg)}}

/* Performance pass: keep animation on transform/opacity, avoid layout-heavy effects. */
.card,.btn,.frame,.hero-copy,.hero-art,.rail,.reveal,.link-list a,.schedule-list div{will-change:transform,opacity}
.card:after{transition:opacity .25s ease;contain:paint}
.pointer-hot{transform:translateY(-4px)}
body.leaving{opacity:0;transition:opacity .14s ease}
body.ready [data-loading="true"]{min-height:0}
@media (max-width:760px){.cursor-glow{display:none}.card,.btn,.link-list a{will-change:auto}}

@media(max-width:760px){.shell,.topbar{width:min(calc(100% - 28px),var(--max))}.topbar{height:68px}.topbar nav{display:none;position:absolute;top:68px;left:0;right:0;background:rgba(7,14,25,.96);border:1px solid var(--line);border-radius:0 0 14px 14px;padding:9px;box-shadow:0 25px 50px rgba(0,0,0,.3)}.topbar nav.open{display:grid;animation:drop .3s var(--ease)}.topbar nav a{padding:13px 12px}.menu{display:block}.hero{grid-template-columns:1fr;gap:46px;min-height:auto;padding-block:58px}.hero-copy{order:1}.hero-art{order:2;justify-self:center}.frame{width:min(390px,88vw)}.hero h1{font-size:clamp(55px,17vw,84px)}.lead{font-size:16px}.rail{gap:25px}.line-art{display:none}.cards{grid-template-columns:1fr;margin-top:58px;margin-bottom:70px}.card{min-height:205px}.footer{flex-direction:column;gap:8px}.subpage{padding:60px 0;min-height:calc(100svh - 125px)}.subpage h1{margin-bottom:40px}.schedule-list div{grid-template-columns:90px 1fr auto}.link-list a{grid-template-columns:40px 1fr auto}.cursor-glow{display:none}}
@media(max-width:380px){.shell,.topbar{width:calc(100% - 22px)}.actions{display:grid}.btn{text-align:center}.hero{padding-top:42px}.frame{width:92vw}.subpage{padding-top:48px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.cursor-glow,.spark,.progress{display:none!important}}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}


/* JSON-driven link directory */
.contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0 22px}
.contact-pill{min-width:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px 16px;border:1px solid rgba(125,190,255,.16);border-radius:18px;background:rgba(10,25,45,.56);color:inherit;text-decoration:none;cursor:pointer;font:inherit;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}
.contact-pill:hover,.contact-pill.copied{transform:translateY(-2px);border-color:rgba(116,191,255,.55);background:rgba(20,43,73,.72);box-shadow:0 12px 30px rgba(31,126,255,.12)}
.contact-pill span{font:600 10px/1 'DM Mono',monospace;letter-spacing:.14em;color:#78bfff}
.contact-pill b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-pill i{font:10px/1 'DM Mono',monospace;color:#8fa9c7;font-style:normal}
.link-list a{display:grid;grid-template-columns:36px 48px minmax(0,1fr) 24px;align-items:center;gap:12px}
.link-list .link-num{font:10px/1 'DM Mono',monospace;color:#6383a5}
.link-list .link-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#247cff,#6baeff);color:#fff;font:700 9px/1 'DM Mono',monospace;letter-spacing:.03em;box-shadow:0 7px 20px rgba(54,115,252,.2)}
.link-list .link-copy{min-width:0;display:grid;gap:4px}
.link-list .link-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.link-list .link-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7190ad;font:11px/1.2 'DM Mono',monospace}
@media(max-width:600px){.contact-list{grid-template-columns:1fr}.link-list a{grid-template-columns:30px 42px minmax(0,1fr) 20px}.link-list .link-icon{width:32px;height:32px;border-radius:10px}.link-list .link-copy small{font-size:10px}}

/* V6 contact experience */
.contact-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(340px,1.2fr);gap:22px;margin-top:42px;align-items:start}
.contact-card{position:relative;overflow:hidden;border:1px solid rgba(132,174,255,.16);background:linear-gradient(145deg,rgba(15,31,55,.82),rgba(7,15,29,.88));border-radius:26px;padding:30px;box-shadow:0 24px 80px rgba(0,0,0,.18);transform:translateZ(0);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.contact-card::before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 15% 0%,rgba(110,170,255,.15),transparent 35%),radial-gradient(circle at 90% 100%,rgba(115,88,255,.1),transparent 32%);pointer-events:none}
.contact-card:hover{transform:translateY(-4px);border-color:rgba(132,174,255,.3);box-shadow:0 30px 90px rgba(20,75,180,.14)}
.contact-intro{min-height:390px}.contact-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;color:#9fc5ff;background:rgba(54,115,252,.12);border:1px solid rgba(122,171,255,.2);margin-bottom:30px}.contact-icon svg{width:34px;height:34px}
.eyebrow{font:600 11px/1 'DM Mono',monospace;letter-spacing:.18em;color:#7faeff;margin:0 0 10px}.contact-card h2{font-size:clamp(22px,3vw,32px);margin:0 0 14px;letter-spacing:-.03em}.contact-card p{color:#9aabc2;line-height:1.75}.contact-email{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:24px;padding:15px 17px;border-radius:15px;color:#d9e8ff;background:rgba(54,115,252,.08);border:1px solid rgba(116,164,255,.15);transition:.3s}.contact-email:hover{background:rgba(54,115,252,.15);transform:translateX(3px)}.contact-small{font-size:12px!important;margin-top:22px}.contact-small strong{color:#cfe1ff}
.contact-card form{position:relative;z-index:1;display:grid;gap:18px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-card label{display:grid;gap:8px;color:#b8c7dc;font-size:13px;font-weight:600}.contact-card input,.contact-card textarea{width:100%;box-sizing:border-box;border:1px solid rgba(126,165,225,.15);background:rgba(3,10,20,.55);color:#edf5ff;border-radius:13px;padding:13px 14px;outline:none;font:inherit;font-size:14px;transition:border-color .25s,box-shadow .25s,background .25s;resize:vertical}.contact-card input:focus,.contact-card textarea:focus{border-color:rgba(110,164,255,.7);box-shadow:0 0 0 4px rgba(54,115,252,.09);background:rgba(4,12,24,.78)}.submit-btn{border:0;cursor:pointer;font:inherit}.form-status{font-size:12px!important;min-height:18px;margin:0!important;color:#87b7ff!important}
@media (max-width:760px){.contact-layout{grid-template-columns:1fr;margin-top:30px}.contact-intro{min-height:0}.field-row{grid-template-columns:1fr}.contact-card{padding:22px;border-radius:21px}}


/* Shared header/footer components */
[data-header], [data-footer] { display:block; }
.footer {
  min-height:92px;
  padding:24px 0;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  color:var(--muted);
  font:10px/1.4 'DM Mono',monospace;
  letter-spacing:.04em;
}
.footer-main,.footer-links{display:flex;align-items:center;gap:18px;}
.footer-brand{color:var(--text);letter-spacing:.24em;font-weight:500;transition:color .25s ease,transform .25s ease;}
.footer-brand:hover{color:var(--blue);transform:translateY(-1px);}
.footer-links a{color:var(--soft);transition:color .25s ease,transform .25s ease;}
.footer-links a:hover{color:var(--blue);transform:translateX(2px);}
@media(max-width:760px){
  .footer{align-items:flex-start;flex-direction:column;gap:12px;padding:22px 0;}
  .footer-main,.footer-links{width:100%;justify-content:space-between;gap:12px;}
}
@media(max-width:380px){
  .footer-main,.footer-links{align-items:flex-start;flex-direction:column;gap:8px;}
}
