:root { --links-deep:#07170d; --links-forest:#133322; --links-paper:#eee9dc; --links-ink:#14311f; --links-moss:#587443; --links-lime:#c8ff50; --links-line:rgb(20 49 31 / 20%); --links-mono:"DM Mono",monospace; --links-sans:"DM Sans",sans-serif; --links-serif:"Playfair Display",Georgia,serif; }
* { box-sizing:border-box; }.links-page { min-width:320px; min-height:100svh; margin:0; overflow-x:clip; background:radial-gradient(circle at 92% 8%,rgb(200 255 80 / 13%),transparent 23rem),radial-gradient(circle at 5% 85%,rgb(118 151 87 / 18%),transparent 24rem),var(--links-deep); color:var(--links-paper); font-family:var(--links-sans); }.links-page::before { content:""; position:fixed; z-index:0; inset:0; pointer-events:none; opacity:.18; background-image:linear-gradient(rgb(226 246 202 / 8%) 1px,transparent 1px),linear-gradient(90deg,rgb(226 246 202 / 8%) 1px,transparent 1px); background-size:4rem 4rem; mask-image:radial-gradient(ellipse at center,black,transparent 72%); }.links-shell { position:relative; z-index:1; width:min(100% - 3rem,59rem); margin:0 auto; padding:clamp(1.5rem,5vw,4.5rem) 0; }.links-paper { position:relative; padding:clamp(1.45rem,5vw,4.6rem); border:1px solid rgb(238 233 220 / 58%); background:var(--links-paper); color:var(--links-ink); box-shadow:1.25rem 1.35rem 0 rgb(0 0 0 / 18%),.25rem .32rem 0 rgb(200 255 80 / 19%); }.links-paper::after { content:""; position:absolute; z-index:-1; inset:.8rem -.8rem -.8rem .8rem; border:1px solid rgb(238 233 220 / 19%); background:#1a3b27; }
.links-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-bottom:clamp(3.5rem,9vw,7rem); border-bottom:1px solid var(--links-line); }.links-logo { display:block; width:clamp(4.4rem,10vw,5.8rem); }.links-logo img,.links-signature { display:block; width:100%; height:auto; }.links-index,.links-kicker,.links-discipline,.links-row-index,.links-paperwork > p,.links-contact > p:first-child,.links-socials > p,.links-footer strong,.links-footer small { font:500 .59rem/1.35 var(--links-mono); letter-spacing:.11em; text-transform:uppercase; }.links-index { margin:0; color:var(--links-moss); text-align:right; }
.links-intro { max-width:45rem; padding:clamp(3.5rem,9vw,7.5rem) 0 clamp(2.7rem,6vw,4.8rem); }.links-kicker { margin:0 0 1rem; color:var(--links-moss); }.links-intro h1 { margin:0; font:500 clamp(3.35rem,9vw,7.8rem)/.78 var(--links-serif); letter-spacing:-.085em; }.links-intro h1 em { color:var(--links-moss); font-weight:500; }.links-discipline { margin:2.1rem 0 0; color:var(--links-ink); }.links-discipline span { color:var(--links-lime); }.links-description { max-width:21rem; margin:1.1rem 0 0; color:#536452; font-size:.9rem; line-height:1.6; }
.links-menu { border-top:1px solid var(--links-line); }.links-row { display:grid; grid-template-columns:3.6rem minmax(0,1fr) auto; align-items:center; gap:1rem; min-height:clamp(5.7rem,10vw,7.2rem); padding:1rem .2rem; border-bottom:1px solid var(--links-line); color:var(--links-ink); text-decoration:none; transition:background-color .2s ease,padding .25s ease,color .2s ease,border-color .2s ease; }.links-row-index { color:var(--links-moss); }.links-row-copy { display:grid; gap:.38rem; }.links-row strong { font:500 clamp(1.18rem,2.5vw,1.58rem)/1.02 var(--links-serif); letter-spacing:-.04em; }.links-row small { color:#60705f; font-size:.73rem; line-height:1.4; }.links-link-arrow { display:block; width:1.28rem; height:1.28rem; flex:0 0 auto; color:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; transition:transform .25s ease,color .2s ease; }.links-row--featured { margin:-1px -1px 0; padding-right:1.15rem; padding-left:1.15rem; border:1px solid var(--links-ink); background:var(--links-ink); color:var(--links-paper); }.links-row--featured .links-row-index { color:var(--links-lime); }.links-row--featured small { color:#c6d5c1; }.links-row--featured .links-link-arrow { color:var(--links-lime); }.links-row--project { background:rgb(116 146 82 / 11%); }.links-row:hover,.links-row:focus-visible { padding-inline:1rem; border-color:rgb(20 49 31 / 52%); background:rgb(116 146 82 / 14%); outline:none; }.links-row--featured:hover,.links-row--featured:focus-visible { border-color:var(--links-ink); background:#234b31; }.links-row:hover .links-link-arrow,.links-row:focus-visible .links-link-arrow { color:var(--links-moss); transform:translate3d(4px,-3px,0); }.links-row--featured:hover .links-link-arrow,.links-row--featured:focus-visible .links-link-arrow { color:var(--links-lime); }
.links-paperwork { display:grid; grid-template-columns:minmax(8rem,.55fr) minmax(0,1.45fr); gap:clamp(1.5rem,5vw,5rem); margin-top:clamp(4rem,9vw,7.5rem); padding:clamp(1.4rem,4vw,2.4rem); border-top:2px solid var(--links-ink); border-bottom:1px solid var(--links-line); background:linear-gradient(115deg,rgb(116 146 82 / 18%),rgb(116 146 82 / 5%)); }.links-paperwork > p { margin:0; color:var(--links-moss); }.links-paperwork h2 { margin:0; font:500 clamp(1.7rem,3.7vw,2.85rem)/.92 var(--links-serif); letter-spacing:-.055em; }.links-paperwork div > p { max-width:30rem; margin:1rem 0 0; color:#50604f; font-size:.82rem; line-height:1.62; }.links-paperwork a { display:inline-flex; align-items:center; gap:.55rem; margin-top:1.35rem; padding-bottom:.3rem; border-bottom:1px solid var(--links-moss); color:var(--links-ink); font:500 .59rem/1.25 var(--links-mono); letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }.links-paperwork a .links-link-arrow { width:1rem; height:1rem; }.links-paperwork a:hover,.links-paperwork a:focus-visible { color:var(--links-moss); outline:none; }.links-paperwork a:hover .links-link-arrow,.links-paperwork a:focus-visible .links-link-arrow { transform:translate3d(3px,-2px,0); }
.links-paperwork--priority { margin-top:0; }
.links-contact { margin-top:clamp(4.5rem,10vw,8rem); padding:clamp(2rem,5vw,4.2rem) 0 0; border-top:1px solid var(--links-line); }.links-contact > p:first-child { margin:0; color:var(--links-moss); }.links-contact h2 { margin:1.1rem 0 0; font:500 clamp(2.25rem,5.3vw,4.8rem)/.84 var(--links-serif); letter-spacing:-.075em; }.links-contact-email { display:inline-flex; align-items:center; gap:.75rem; margin-top:2.1rem; padding:.85rem 1rem; background:var(--links-ink); color:var(--links-paper); font:500 .64rem/1.2 var(--links-mono); letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }.links-contact-email .links-link-arrow { color:var(--links-lime); }.links-contact-email:hover,.links-contact-email:focus-visible { background:#254d33; outline:none; }.links-contact-email:hover .links-link-arrow,.links-contact-email:focus-visible .links-link-arrow { transform:translate3d(4px,-3px,0); }.links-contact-address { display:block; width:max-content; max-width:100%; margin-top:1.25rem; color:var(--links-ink); font:500 clamp(1rem,2vw,1.28rem)/1.35 var(--links-sans); overflow-wrap:anywhere; text-decoration:none; }.links-contact-address:hover,.links-contact-address:focus-visible { color:var(--links-moss); outline:none; }.links-contact-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.15rem; color:#60705f; font:500 .57rem/1.5 var(--links-mono); letter-spacing:.05em; }.links-contact-bottom b { color:var(--links-moss); font-weight:400; }.links-copy-button { flex:0 0 auto; border:1px solid var(--links-ink); padding:.65rem .78rem; background:transparent; color:var(--links-ink); cursor:pointer; font:500 .56rem/1 var(--links-mono); letter-spacing:.09em; text-transform:uppercase; transition:background-color .2s ease,color .2s ease; }.links-copy-button:hover,.links-copy-button:focus-visible { background:var(--links-ink); color:var(--links-paper); outline:none; }
.links-socials { display:flex; align-items:baseline; justify-content:space-between; gap:1.5rem; margin-top:clamp(3.2rem,7vw,5.5rem); padding-top:1.2rem; border-top:1px solid var(--links-line); }.links-socials > p { flex:0 0 auto; margin:0; color:var(--links-moss); }.links-social-list { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.35rem 1rem; }.links-social-list a { color:#566654; font:500 .58rem/1.4 var(--links-mono); letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }.links-social-list a:not(:last-child)::after { content:"·"; margin-left:1rem; color:var(--links-moss); }.links-social-list a:hover,.links-social-list a:focus-visible { color:var(--links-ink); outline:none; }.links-footer { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1rem; margin-top:clamp(3.5rem,8vw,6rem); padding-top:1.2rem; border-top:1px solid var(--links-line); }.links-signature { width:2.4rem; }.links-footer p { display:grid; gap:.18rem; margin:0; color:#687667; font-size:.68rem; }.links-footer strong { color:var(--links-ink); }.links-footer a { color:var(--links-moss); font:500 .58rem/1.3 var(--links-mono); letter-spacing:.07em; text-decoration:none; text-transform:uppercase; }.links-footer small { grid-column:2 / -1; color:#758173; }
.links-logo:focus-visible,.links-row:focus-visible,.links-paperwork a:focus-visible,.links-contact-email:focus-visible,.links-contact-address:focus-visible,.links-copy-button:focus-visible,.links-social-list a:focus-visible,.links-footer a:focus-visible { outline:2px solid var(--links-moss); outline-offset:5px; }.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:600px) { .links-shell { width:min(100% - 1.35rem,59rem); padding:clamp(.65rem,3vw,1.25rem) 0; }.links-paper { padding:clamp(1.3rem,6vw,2rem); box-shadow:.7rem .75rem 0 rgb(0 0 0 / 17%),.15rem .18rem 0 rgb(200 255 80 / 18%); }.links-paper::after { inset:.45rem -.45rem -.45rem .45rem; }.links-header { padding-bottom:3.5rem; }.links-intro { padding:3.9rem 0 3rem; }.links-row { grid-template-columns:2.5rem minmax(0,1fr) auto; gap:.7rem; min-height:5.7rem; }.links-row--featured { padding-right:.9rem; padding-left:.9rem; }.links-paperwork { grid-template-columns:1fr; gap:1.1rem; margin-top:4.5rem; }.links-socials { align-items:flex-start; flex-direction:column; gap:.85rem; }.links-social-list { justify-content:flex-start; }.links-footer { grid-template-columns:auto 1fr; }.links-footer a { justify-self:end; }.links-footer small { grid-column:1 / -1; } }
@media (max-width:600px) { .links-row--project { margin-top:12px; } }
@media (max-width:390px) { .links-paper { padding:1.15rem; }.links-header { padding-bottom:3rem; }.links-index,.links-kicker,.links-discipline,.links-row-index,.links-paperwork > p,.links-contact > p:first-child,.links-socials > p,.links-footer strong,.links-footer small { font-size:.53rem; }.links-intro h1 { font-size:clamp(3rem,15vw,4.3rem); }.links-row { grid-template-columns:2rem minmax(0,1fr) 1rem; gap:.55rem; padding-inline:0; }.links-row--featured { padding-inline:.72rem; }.links-row strong { font-size:1.14rem; }.links-row small { font-size:.68rem; }.links-paperwork { padding:1.15rem; }.links-contact-bottom { align-items:flex-start; flex-direction:column; }.links-copy-button { min-height:2.4rem; }.links-social-list { gap:.45rem; }.links-social-list a:not(:last-child)::after { margin-left:.45rem; }.links-footer { gap:.7rem; } }
@media (max-width:320px) { .links-shell { width:calc(100% - 1rem); }.links-paper { padding:1rem; }.links-logo { width:4rem; }.links-index { font-size:.48rem; }.links-intro h1 { font-size:2.85rem; }.links-row { grid-template-columns:1.75rem minmax(0,1fr) 1rem; }.links-row--featured { padding-inline:.62rem; }.links-contact-email { width:100%; justify-content:space-between; }.links-footer { grid-template-columns:auto 1fr; }.links-footer a { grid-column:2; }.links-footer small { grid-column:1 / -1; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }

/* Let the project-experience insert breathe before the primary Hub action. */
.links-menu { margin-top:24px; }
@media (max-width:800px) { .links-menu { margin-top:18px; } }
@media (max-width:600px) { .links-menu { margin-top:14px; } }
