/* Static professional pages (generated by scripts/generate-professional-pages.js).
   Plain HTML without React/Tailwind that mirrors the main site: city exterior, glass panels, floor badges. */
@font-face{font-family:Montserrat;font-weight:400;font-display:swap;src:url(/fonts/montserrat/Montserrat-Regular.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-weight:500;font-display:swap;src:url(/fonts/montserrat/Montserrat-Medium.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-weight:700 800;font-display:swap;src:url(/fonts/montserrat/Montserrat-Bold.woff2) format("woff2")}

:root{
  --sky-top:#78a9c9;--sky-bottom:#e7dfcf;--skyline:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%221200%22 height=%22400%22><defs><pattern id=%22w%22 width=%2218%22 height=%2226%22 patternUnits=%22userSpaceOnUse%22><rect x=%225%22 y=%228%22 width=%228%22 height=%2212%22 fill=%22%23577888%22/></pattern></defs><rect x=%220%22 y=%22212%22 width=%22102%22 height=%22188%22 fill=%22%23899ca1%22/><rect x=%224%22 y=%22220%22 width=%2290%22 height=%22180%22 fill=%22url%28%23w%29%22/><rect x=%225%22 y=%22242%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%225%22 y=%22294%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%225%22 y=%22346%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22108%22 y=%22241%22 width=%2284%22 height=%22159%22 fill=%22%23b3ad9f%22/><rect x=%22112%22 y=%22249%22 width=%2272%22 height=%22151%22 fill=%22url%28%23w%29%22/><rect x=%22131%22 y=%22268%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22113%22 y=%22268%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22198%22 y=%22235%22 width=%22120%22 height=%22165%22 fill=%22%23c1ae99%22/><rect x=%22202%22 y=%22243%22 width=%22108%22 height=%22157%22 fill=%22url%28%23w%29%22/><rect x=%22221%22 y=%22372%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22324%22 y=%22103%22 width=%2266%22 height=%22297%22 fill=%22%23c1ae99%22/><rect x=%22328%22 y=%22111%22 width=%2254%22 height=%22289%22 fill=%22url%28%23w%29%22/><rect x=%22329%22 y=%22216%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22329%22 y=%22346%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22396%22 y=%22176%22 width=%2284%22 height=%22224%22 fill=%22%23899ca1%22/><rect x=%22400%22 y=%22184%22 width=%2272%22 height=%22216%22 fill=%22url%28%23w%29%22/><rect x=%22437%22 y=%22216%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22486%22 y=%22107%22 width=%22102%22 height=%22293%22 fill=%22%23c1ae99%22/><rect x=%22490%22 y=%22115%22 width=%2290%22 height=%22285%22 fill=%22url%28%23w%29%22/><rect x=%22491%22 y=%22372%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22594%22 y=%22155%22 width=%2284%22 height=%22245%22 fill=%22%23b3ad9f%22/><rect x=%22598%22 y=%22163%22 width=%2272%22 height=%22237%22 fill=%22url%28%23w%29%22/><rect x=%22635%22 y=%22216%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22635%22 y=%22190%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22635%22 y=%22268%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22684%22 y=%2276%22 width=%22120%22 height=%22324%22 fill=%22%23c1ae99%22/><rect x=%22688%22 y=%2284%22 width=%22108%22 height=%22316%22 fill=%22url%28%23w%29%22/><rect x=%22725%22 y=%22294%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22761%22 y=%22294%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22810%22 y=%22174%22 width=%22102%22 height=%22226%22 fill=%22%23b3ad9f%22/><rect x=%22814%22 y=%22182%22 width=%2290%22 height=%22218%22 fill=%22url%28%23w%29%22/><rect x=%22833%22 y=%22216%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22918%22 y=%22116%22 width=%22102%22 height=%22284%22 fill=%22%23899ca1%22/><rect x=%22922%22 y=%22124%22 width=%2290%22 height=%22276%22 fill=%22url%28%23w%29%22/><rect x=%22977%22 y=%22242%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%22923%22 y=%22164%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%221026%22 y=%22208%22 width=%22120%22 height=%22192%22 fill=%22%23899ca1%22/><rect x=%221030%22 y=%22216%22 width=%22108%22 height=%22184%22 fill=%22url%28%23w%29%22/><rect x=%221085%22 y=%22320%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%221152%22 y=%2279%22 width=%2266%22 height=%22321%22 fill=%22%23b3ad9f%22/><rect x=%221156%22 y=%2287%22 width=%2254%22 height=%22313%22 fill=%22url%28%23w%29%22/><rect x=%221175%22 y=%22242%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%221175%22 y=%22346%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/><rect x=%221175%22 y=%22346%22 width=%228%22 height=%2212%22 fill=%22%23d9c9a5%22/></svg>");
  --text:#3f3f46;--text-strong:#18181b;--muted:#52525b;
  --panel:rgba(255,255,255,.9);--card:rgba(255,255,255,.95);--border:rgba(212,212,216,.9);
  --accent:#1d4ed8;--accent-soft:rgba(59,130,246,.1);--accent-border:rgba(59,130,246,.3);
  --tag-bg:#f4f4f5;--tag-border:#e4e4e7;--tag-text:#3f3f46;--ok:#047857;
  --shadow:0 10px 30px rgba(24,24,27,.1);
  color-scheme:light;
}
/* Same theme source as the main site: html.dark (from localStorage 'theme'), system preference without JS */
html.dark{--sky-top:#091426;--sky-bottom:#48576b;--skyline:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%221200%22 height=%22400%22><defs><pattern id=%22w%22 width=%2218%22 height=%2226%22 patternUnits=%22userSpaceOnUse%22><rect x=%225%22 y=%228%22 width=%228%22 height=%2212%22 fill=%22%23172a38%22/></pattern></defs><rect x=%220%22 y=%22212%22 width=%22102%22 height=%22188%22 fill=%22%23263e4b%22/><rect x=%224%22 y=%22220%22 width=%2290%22 height=%22180%22 fill=%22url%28%23w%29%22/><rect x=%225%22 y=%22242%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%225%22 y=%22294%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%225%22 y=%22346%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22108%22 y=%22241%22 width=%2284%22 height=%22159%22 fill=%22%23293747%22/><rect x=%22112%22 y=%22249%22 width=%2272%22 height=%22151%22 fill=%22url%28%23w%29%22/><rect x=%22131%22 y=%22268%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22113%22 y=%22268%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22198%22 y=%22235%22 width=%22120%22 height=%22165%22 fill=%22%2341424b%22/><rect x=%22202%22 y=%22243%22 width=%22108%22 height=%22157%22 fill=%22url%28%23w%29%22/><rect x=%22221%22 y=%22372%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22324%22 y=%22103%22 width=%2266%22 height=%22297%22 fill=%22%2341424b%22/><rect x=%22328%22 y=%22111%22 width=%2254%22 height=%22289%22 fill=%22url%28%23w%29%22/><rect x=%22329%22 y=%22216%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22329%22 y=%22346%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22396%22 y=%22176%22 width=%2284%22 height=%22224%22 fill=%22%23263e4b%22/><rect x=%22400%22 y=%22184%22 width=%2272%22 height=%22216%22 fill=%22url%28%23w%29%22/><rect x=%22437%22 y=%22216%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22486%22 y=%22107%22 width=%22102%22 height=%22293%22 fill=%22%2341424b%22/><rect x=%22490%22 y=%22115%22 width=%2290%22 height=%22285%22 fill=%22url%28%23w%29%22/><rect x=%22491%22 y=%22372%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22594%22 y=%22155%22 width=%2284%22 height=%22245%22 fill=%22%23293747%22/><rect x=%22598%22 y=%22163%22 width=%2272%22 height=%22237%22 fill=%22url%28%23w%29%22/><rect x=%22635%22 y=%22216%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22635%22 y=%22190%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22635%22 y=%22268%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22684%22 y=%2276%22 width=%22120%22 height=%22324%22 fill=%22%2341424b%22/><rect x=%22688%22 y=%2284%22 width=%22108%22 height=%22316%22 fill=%22url%28%23w%29%22/><rect x=%22725%22 y=%22294%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22761%22 y=%22294%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22810%22 y=%22174%22 width=%22102%22 height=%22226%22 fill=%22%23293747%22/><rect x=%22814%22 y=%22182%22 width=%2290%22 height=%22218%22 fill=%22url%28%23w%29%22/><rect x=%22833%22 y=%22216%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22918%22 y=%22116%22 width=%22102%22 height=%22284%22 fill=%22%23263e4b%22/><rect x=%22922%22 y=%22124%22 width=%2290%22 height=%22276%22 fill=%22url%28%23w%29%22/><rect x=%22977%22 y=%22242%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22923%22 y=%22164%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%221026%22 y=%22208%22 width=%22120%22 height=%22192%22 fill=%22%23263e4b%22/><rect x=%221030%22 y=%22216%22 width=%22108%22 height=%22184%22 fill=%22url%28%23w%29%22/><rect x=%221085%22 y=%22320%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%221152%22 y=%2279%22 width=%2266%22 height=%22321%22 fill=%22%23293747%22/><rect x=%221156%22 y=%2287%22 width=%2254%22 height=%22313%22 fill=%22url%28%23w%29%22/><rect x=%221175%22 y=%22242%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%221175%22 y=%22346%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%221175%22 y=%22346%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/></svg>");
  --text:#d4d4d8;--text-strong:#fff;--muted:#a1a1aa;
  --panel:rgba(24,24,27,.85);--card:rgba(9,9,11,.55);--border:rgba(63,63,70,.7);
  --accent:#93c5fd;--accent-soft:rgba(96,165,250,.15);--accent-border:rgba(96,165,250,.3);
  --tag-bg:rgba(39,39,42,.6);--tag-border:#3f3f46;--tag-text:#d4d4d8;--ok:#6ee7b7;
  --shadow:0 20px 40px rgba(0,0,0,.35);
  color-scheme:dark;}
@media(prefers-color-scheme:dark){html:not(.light){--sky-top:#091426;--sky-bottom:#48576b;--skyline:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%221200%22 height=%22400%22><defs><pattern id=%22w%22 width=%2218%22 height=%2226%22 patternUnits=%22userSpaceOnUse%22><rect x=%225%22 y=%228%22 width=%228%22 height=%2212%22 fill=%22%23172a38%22/></pattern></defs><rect x=%220%22 y=%22212%22 width=%22102%22 height=%22188%22 fill=%22%23263e4b%22/><rect x=%224%22 y=%22220%22 width=%2290%22 height=%22180%22 fill=%22url%28%23w%29%22/><rect x=%225%22 y=%22242%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%225%22 y=%22294%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%225%22 y=%22346%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22108%22 y=%22241%22 width=%2284%22 height=%22159%22 fill=%22%23293747%22/><rect x=%22112%22 y=%22249%22 width=%2272%22 height=%22151%22 fill=%22url%28%23w%29%22/><rect x=%22131%22 y=%22268%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22113%22 y=%22268%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22198%22 y=%22235%22 width=%22120%22 height=%22165%22 fill=%22%2341424b%22/><rect x=%22202%22 y=%22243%22 width=%22108%22 height=%22157%22 fill=%22url%28%23w%29%22/><rect x=%22221%22 y=%22372%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22324%22 y=%22103%22 width=%2266%22 height=%22297%22 fill=%22%2341424b%22/><rect x=%22328%22 y=%22111%22 width=%2254%22 height=%22289%22 fill=%22url%28%23w%29%22/><rect x=%22329%22 y=%22216%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22329%22 y=%22346%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22396%22 y=%22176%22 width=%2284%22 height=%22224%22 fill=%22%23263e4b%22/><rect x=%22400%22 y=%22184%22 width=%2272%22 height=%22216%22 fill=%22url%28%23w%29%22/><rect x=%22437%22 y=%22216%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22486%22 y=%22107%22 width=%22102%22 height=%22293%22 fill=%22%2341424b%22/><rect x=%22490%22 y=%22115%22 width=%2290%22 height=%22285%22 fill=%22url%28%23w%29%22/><rect x=%22491%22 y=%22372%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22594%22 y=%22155%22 width=%2284%22 height=%22245%22 fill=%22%23293747%22/><rect x=%22598%22 y=%22163%22 width=%2272%22 height=%22237%22 fill=%22url%28%23w%29%22/><rect x=%22635%22 y=%22216%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22635%22 y=%22190%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22635%22 y=%22268%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22684%22 y=%2276%22 width=%22120%22 height=%22324%22 fill=%22%2341424b%22/><rect x=%22688%22 y=%2284%22 width=%22108%22 height=%22316%22 fill=%22url%28%23w%29%22/><rect x=%22725%22 y=%22294%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22761%22 y=%22294%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22810%22 y=%22174%22 width=%22102%22 height=%22226%22 fill=%22%23293747%22/><rect x=%22814%22 y=%22182%22 width=%2290%22 height=%22218%22 fill=%22url%28%23w%29%22/><rect x=%22833%22 y=%22216%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22918%22 y=%22116%22 width=%22102%22 height=%22284%22 fill=%22%23263e4b%22/><rect x=%22922%22 y=%22124%22 width=%2290%22 height=%22276%22 fill=%22url%28%23w%29%22/><rect x=%22977%22 y=%22242%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%22923%22 y=%22164%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%221026%22 y=%22208%22 width=%22120%22 height=%22192%22 fill=%22%23263e4b%22/><rect x=%221030%22 y=%22216%22 width=%22108%22 height=%22184%22 fill=%22url%28%23w%29%22/><rect x=%221085%22 y=%22320%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%221152%22 y=%2279%22 width=%2266%22 height=%22321%22 fill=%22%23293747%22/><rect x=%221156%22 y=%2287%22 width=%2254%22 height=%22313%22 fill=%22url%28%23w%29%22/><rect x=%221175%22 y=%22242%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%221175%22 y=%22346%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/><rect x=%221175%22 y=%22346%22 width=%228%22 height=%2212%22 fill=%22%23d7b77c%22/></svg>");
  --text:#d4d4d8;--text-strong:#fff;--muted:#a1a1aa;
  --panel:rgba(24,24,27,.85);--card:rgba(9,9,11,.55);--border:rgba(63,63,70,.7);
  --accent:#93c5fd;--accent-soft:rgba(96,165,250,.15);--accent-border:rgba(96,165,250,.3);
  --tag-bg:rgba(39,39,42,.6);--tag-border:#3f3f46;--tag-text:#d4d4d8;--ok:#6ee7b7;
  --shadow:0 20px 40px rgba(0,0,0,.35);
  color-scheme:dark;}}

*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;font-family:Montserrat,system-ui,sans-serif;color:var(--text);min-height:100%;background:linear-gradient(to bottom,var(--sky-top),var(--sky-bottom)) fixed var(--sky-bottom)}
body{margin:0;min-height:100vh;padding:1rem 1rem 14vh}
body:before{content:"";position:fixed;left:0;right:0;bottom:12vh;height:400px;z-index:-1;background:var(--skyline) repeat-x bottom/1200px 400px;pointer-events:none}
body:after{content:"";position:fixed;left:0;right:0;bottom:0;height:12vh;z-index:-1;background:linear-gradient(to bottom,#52525b,#27272a);border-top:6px solid #a1a1aa;pointer-events:none}

.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--panel);color:var(--text-strong);padding:.75rem 1rem;border-radius:.75rem}
.skip-link:focus{top:1rem}

body>header,main,footer{max-width:1100px;margin-inline:auto}
body>header{position:sticky;top:1rem;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.55rem .6rem .55rem 1.3rem;border-radius:999px;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow)}
.brand{font-weight:800;font-size:1.35rem;color:var(--text-strong);text-decoration:none;letter-spacing:-.03em}
.brand span{color:#3b82f6}
body>header nav{display:flex;flex-wrap:wrap;gap:.25rem}
body>header nav a{color:var(--muted);text-decoration:none;font-size:.85rem;font-weight:500;padding:.45rem .85rem;border-radius:999px;transition:background .2s,color .2s}
body>header nav a:hover{color:var(--text-strong);background:var(--accent-soft)}

main{margin-top:1.5rem;padding:clamp(1.25rem,4vw,3rem);border-radius:1.5rem;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow)}
main a{color:var(--accent);text-underline-offset:4px}
main p,main li{line-height:1.7;max-width:820px}
main h1,main h2,main h3{color:var(--text-strong);letter-spacing:-.025em}
main h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1.08;font-weight:800;margin:.9rem 0 1rem;max-width:950px}
main h2{font-size:clamp(1.35rem,2.6vw,1.85rem);line-height:1.2;font-weight:700;margin:0 0 1.1rem}
main h3{font-size:1.1rem;line-height:1.35;font-weight:700;margin:0 0 .4rem}
main ul:not(.tags){padding-left:1.2rem}
main li::marker{color:#3b82f6}

/* Floor badge, like the site's "Planta 0 · Vestíbulo" pill */
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin:0;padding:.3rem .8rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.02em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-border)}
.eyebrow:before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.25)}
.headline{font-size:clamp(1.05rem,2vw,1.3rem);font-weight:500;line-height:1.5;color:var(--muted)}
.outcome{font-weight:700;color:var(--ok)}

main>section,.project-page>section{padding:2.25rem 0;border-top:1px solid var(--border)}
main>section:first-child{border-top:0;padding-top:0}
.page-hero{padding-bottom:2.5rem!important}
.project-page>section:first-of-type{margin-top:1.5rem}
/* Section titles read like the site's "// 02 · PROYECTOS" labels */
main>section>h2:before,.project-page>section>h2:before{content:"// ";font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7em;color:#3b82f6;font-weight:600}

main>section>article{padding:1.25rem 1.4rem;margin-bottom:.9rem;border-radius:1rem;background:var(--card);border:1px solid var(--border)}
main>section>article p{margin:.35rem 0}
main>section>article h3 a{color:inherit;text-decoration:none}
main>section>article h3 a:hover{color:var(--accent)}
main>section>article.detail-card{padding:1.6rem 1.7rem;border-radius:1.25rem;transition:border-color .2s,transform .2s}
.detail-card:hover{border-color:var(--accent-border);transform:translateY(-2px)}
main .detail-card h2{font-size:1.35rem;margin:.9rem 0 .6rem}
main .detail-card h2:before{content:none}
.detail-card h2 a{color:inherit;text-decoration:none}
.detail-card h2 a:hover{color:var(--accent)}
.detail-card>p>a:only-child{display:inline-flex;align-items:center;gap:.4rem;margin-top:.4rem;padding:.55rem 1rem;border-radius:.6rem;font-size:.9rem;font-weight:600;text-decoration:none;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-border)}

main ul.tags{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:1rem 0 .6rem}
.tags li{font-size:.8rem;font-weight:500;line-height:1.2;padding:.4rem .8rem;border-radius:999px;background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--tag-text)}

.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2rem}
.actions a{display:inline-flex;align-items:center;padding:.7rem 1.2rem;border-radius:.6rem;font-size:.92rem;font-weight:600;text-decoration:none;color:var(--text-strong);background:var(--tag-bg);border:1px solid var(--tag-border)}
.actions a.button{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 8px 20px rgba(37,99,235,.3)}
.actions a:hover{filter:brightness(1.08)}

.project-page blockquote{margin:1.5rem 0 0;padding:.4rem 0 .4rem 1rem;border-left:3px solid #3b82f6;font-size:1.1rem;font-weight:700;color:var(--text-strong)}
time{font-variant-numeric:tabular-nums}

footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem 1.5rem;border-radius:1rem;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:.85rem;color:var(--muted)}
footer p{margin:0}
footer nav{display:flex;flex-wrap:wrap;gap:1.1rem}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--text-strong)}

@media(max-width:700px){
  body{padding:.6rem .6rem 14vh}
  body>header{top:.6rem;border-radius:1.1rem;padding:.55rem .7rem;gap:.5rem}
  body>header nav a{font-size:.78rem;padding:.4rem .5rem}
  main{margin-top:1rem;border-radius:1.1rem}
  main>section>article.detail-card{padding:1.2rem}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
