:root { color-scheme:light; background:#f4ede4; scroll-behavior:smooth; }
:root[data-theme="dark"] { color-scheme:dark; background:#122238; }
body { margin:0; }
#ferdinand-site { position:relative; isolation:isolate; }
#ferdinand-site .particle-network { position:fixed; inset:0; z-index:0; pointer-events:none; color:var(--color); }
#ferdinand-site .fs-wrap { position:relative; z-index:1; }
#ferdinand-site .fs-footer { flex-wrap:wrap; align-items:center; gap:12px; }
#ferdinand-site .particle-toggle { border:0; background:none; color:inherit; font:inherit; min-height:44px; padding:0; text-decoration:underline; text-underline-offset:4px; }
#ferdinand-site .particle-toggle:hover { color:var(--color); }
@media print { #ferdinand-site .particle-network, #ferdinand-site .particle-toggle { display:none; } }
#ferdinand-site { --display-font:"IBM Plex Serif",Georgia,serif; --body-font:"IBM Plex Sans",Arial,sans-serif; --paper:#f4ede4; --ink:#20334a; --color:#365f8c; --quiet:#596777; --line:#d8d1c8; --panel:#e2e5e8; background:var(--paper); color:var(--ink); font-family:var(--body-font); font-size:15px; line-height:1.65; color-scheme:light; min-height:100vh; }
[data-theme="dark"] #ferdinand-site { --paper:#122238; --ink:#e9f1fa; --color:#8dbce8; --quiet:#abbfd5; --line:#31465f; --panel:#1d334c; color-scheme:dark; }
.skip-link { position:absolute; top:10px; left:10px; z-index:2; padding:12px 18px; background:#f4ede4; color:#20334a; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
#ferdinand-site :focus-visible { outline:2px solid var(--color); outline-offset:6px; }
#ferdinand-site section, #ferdinand-site main, #ferdinand-site :focus-visible { scroll-margin-top:calc(var(--nav-height, 99px) + 24px); }
      #ferdinand-site, #ferdinand-site * { box-sizing:border-box; }
      #ferdinand-site ::selection { background:var(--color); color:var(--paper); }
      #ferdinand-site a { color:inherit; text-decoration:none; }
      #ferdinand-site h1, #ferdinand-site h2, #ferdinand-site h3, #ferdinand-site p { margin:0; }
      #ferdinand-site .fs-wrap { margin:0 auto; padding:0 6.5%; max-width:1120px; }
      #ferdinand-site .fs-nav { position:sticky; top:0; z-index:1; background:var(--paper); display:flex; gap:26px; align-items:center; padding:27px 0; border-bottom:1px solid var(--line); font-family:var(--display-font,Georgia,serif); }
      #ferdinand-site .fs-name { font-size:23px; letter-spacing:-.04em; }
      #ferdinand-site .fs-slash { color:var(--color); font-size:27px; font-style:italic; }
      #ferdinand-site .fs-navlinks { display:flex; gap:24px; color:var(--quiet); font-size:18px; }
      #ferdinand-site .fs-nav a:hover { color:var(--color); text-decoration:underline; text-underline-offset:6px; }
      #ferdinand-site .fs-hero {
        min-height:calc(100vh - var(--nav-height, 99px));
        min-height:calc(100svh - var(--nav-height, 99px));
        display:grid;
        grid-template-rows:1fr auto;
        padding:56px 0 32px;
      }
      #ferdinand-site .fs-hero-copy { align-self:center; padding-bottom:32px; container-type:inline-size; text-align:center; }
      #ferdinand-site .fs-hero .fs-inscription {
        font-family:"Marcellus",Georgia,serif;
        font-size:clamp(28px,7.6cqw,54px);
        font-weight:400;
        line-height:1.12;
        letter-spacing:.06em;
        max-width:none;
      }
      #ferdinand-site .fs-first-name { display:block; white-space:nowrap; }
      #ferdinand-site .fs-last-name {
        display:block;
        margin-top:18px;
        font-size:18px;
        line-height:1.5;
        letter-spacing:.24em;
        color:var(--color);
      }
      #ferdinand-site .fs-statement {
        margin-top:42px;
        font:400 clamp(20px,3.6cqw,34px)/1.5 var(--display-font);
        letter-spacing:-.025em;
      }
      #ferdinand-site .fs-statement span,
      #ferdinand-site .fs-statement em { display:block; white-space:nowrap; }
      #ferdinand-site .fs-statement em { color:var(--color); }
      #ferdinand-site .fs-hero .fs-intro { margin:22px auto 0; max-width:52ch; }
      #ferdinand-site .fs-hero .fs-guide { justify-self:center; }
      @container(max-width:480px) {
        #ferdinand-site .fs-statement span,
        #ferdinand-site .fs-statement em { white-space:normal; }
        #ferdinand-site .fs-statement { margin-top:28px; font-size:20px; }
      }
      #ferdinand-site h1 { font-family:var(--display-font,Georgia,serif); font-size:clamp(32px,4.4vw,51px); font-weight:400; line-height:1.18; letter-spacing:-.035em; max-width:810px; text-wrap:balance; }
      #ferdinand-site h1 em { color:var(--color); font-weight:400; }
      #ferdinand-site .fs-intro { color:var(--quiet); margin-top:28px; font-size:16px; max-width:460px; }
      #ferdinand-site .fs-guide { display:inline-flex; gap:10px; align-items:center; margin-top:46px; color:var(--color); font-size:12px; }
      #ferdinand-site .fs-guide svg { width:14px; height:14px; }
      #ferdinand-site .fs-about { display:grid; grid-template-columns:1fr 2.5fr; gap:40px; padding:47px 0; border-top:1px solid var(--line); }
      #ferdinand-site h2 { font-family:var(--display-font,Georgia,serif); font-size:25px; line-height:1.3; letter-spacing:-.025em; font-weight:400; }
      #ferdinand-site .fs-bio { font-family:var(--display-font,Georgia,serif); font-size:20px; line-height:1.6; }
      #ferdinand-site .fs-bio strong { font-weight:400; color:var(--color); }
      #ferdinand-site .fs-projects { border-top:1px solid var(--line); padding:44px 0 34px; }
      #ferdinand-site .fs-section-head { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:26px; }
      #ferdinand-site .fs-placeholder { font-size:12px; color:var(--quiet); }
      #ferdinand-site .fs-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
      #ferdinand-site .fs-project { min-width:0; }
      #ferdinand-site .fs-art { height:136px; background:var(--panel); color:var(--color); display:flex; align-items:center; justify-content:center; margin-bottom:17px; overflow:hidden; }
      #ferdinand-site .fs-art-text { font-family:var(--display-font,Georgia,serif); font-size:30px; letter-spacing:-.03em; }
      #ferdinand-site .fs-art-text em { margin:0 8px; }
      #ferdinand-site .fs-art-matrix { display:grid; grid-template-columns:repeat(5,12px); gap:7px; }
      #ferdinand-site .fs-art-matrix span { height:12px; width:12px; background:var(--color); opacity:.18; }
      #ferdinand-site .fs-art-matrix span:nth-child(6n+1) { opacity:1; }
      #ferdinand-site .fs-art-matrix span:nth-child(4n+3) { opacity:.5; }
      #ferdinand-site .fs-motion { width:148px; height:86px; }
      #ferdinand-site h3 { font-family:var(--display-font,Georgia,serif); font-size:21px; font-weight:400; line-height:1.3; letter-spacing:-.025em; }
      #ferdinand-site .fs-project p { font-size:12px; color:var(--quiet); margin-top:8px; }
      #ferdinand-site details { margin-top:15px; font-size:12px; }
      #ferdinand-site summary { color:var(--color); padding:5px 0; }
      #ferdinand-site details .fs-description { margin-top:10px; color:var(--quiet); font-size:16px; line-height:1.65; }
      #ferdinand-site .fs-contact { border-top:1px solid var(--line); padding:38px 0; margin-top:17px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
      #ferdinand-site .fs-contact h2 { font-size:30px; }
      #ferdinand-site .fs-contact p { font-size:12px; color:var(--quiet); max-width:250px; }
      #ferdinand-site .fs-footer { display:flex; justify-content:space-between; padding:18px 0 24px; border-top:1px solid var(--line); color:var(--quiet); font-size:11px; }
      #ferdinand-site .fs-footer a { text-decoration:underline; text-underline-offset:4px; }
      @media(max-width:650px) {
        #ferdinand-site .fs-wrap { padding:0 7%; }
        #ferdinand-site .fs-nav { gap:15px; padding:22px 0; flex-wrap:wrap; }
        #ferdinand-site .fs-name { font-size:21px; }
        #ferdinand-site .fs-slash { font-size:22px; }
        #ferdinand-site .fs-navlinks { font-size:16px; gap:18px; }
        #ferdinand-site .fs-hero { padding:40px 0 28px; }
        #ferdinand-site h1 { font-size:37px; }
        #ferdinand-site .fs-intro { font-size:16px; }
        #ferdinand-site .fs-guide { margin-top:30px; }
        #ferdinand-site .fs-about { grid-template-columns:1fr; gap:19px; padding:32px 0; }
        #ferdinand-site .fs-bio { font-size:19px; }
        #ferdinand-site .fs-section-head { align-items:flex-start; flex-direction:column; gap:8px; }
        #ferdinand-site .fs-project-grid { grid-template-columns:1fr; gap:28px; }
        #ferdinand-site .fs-project { display:grid; grid-template-columns:90px minmax(0,1fr); column-gap:18px; }
        #ferdinand-site .fs-art { grid-row:1/4; height:100px; margin-bottom:0; }
        #ferdinand-site .fs-art-text { font-size:18px; }
        #ferdinand-site .fs-art-text em { margin:0 3px; }
        #ferdinand-site .fs-art-matrix { grid-template-columns:repeat(5,7px); gap:4px; }
        #ferdinand-site .fs-art-matrix span { width:7px; height:7px; }
        #ferdinand-site .fs-motion { width:76px; height:70px; }
        #ferdinand-site h3 { font-size:20px; }
        #ferdinand-site details { margin-top:7px; grid-column:2; }
        #ferdinand-site .fs-contact { flex-direction:column; align-items:flex-start; }
        #ferdinand-site .fs-footer { font-size:12px; }
      }
      @media(max-width:380px) { #ferdinand-site .fs-navlinks { width:100%; gap:25px; } #ferdinand-site h1 { font-size:32px; } }
      @media(pointer:coarse) { #ferdinand-site .fs-navlinks a, #ferdinand-site summary, #ferdinand-site .fs-guide { min-height:44px; display:inline-flex; align-items:center; } }
      #ferdinand-site a, #ferdinand-site button, #ferdinand-site summary { -webkit-tap-highlight-color:transparent; }
      #ferdinand-site summary, #ferdinand-site button { cursor:pointer; }
      #ferdinand-site .theme-toggle { margin-left:auto; display:inline-flex; gap:9px; align-items:center; justify-content:center; background:transparent; color:var(--quiet); border:1px solid var(--line); border-radius:30px; min-height:44px; padding:0 15px; font:400 13px var(--body-font); white-space:nowrap; }
      #ferdinand-site .theme-toggle:hover { color:var(--color); background:var(--panel); }
      #ferdinand-site .theme-toggle svg { width:17px; height:17px; flex-shrink:0; }
      #ferdinand-site .sun-icon { display:none; }
      [data-theme="dark"] #ferdinand-site .sun-icon { display:block; }
      [data-theme="dark"] #ferdinand-site .moon-icon { display:none; }
      #ferdinand-site .social-links { display:flex; flex-wrap:wrap; align-items:center; gap:30px; }
      #ferdinand-site .social-links a { display:inline-flex; align-items:center; gap:11px; min-height:44px; color:var(--ink); font:400 24px/1.3 var(--display-font); letter-spacing:-.025em; }
      #ferdinand-site .social-links svg { width:23px; height:23px; flex-shrink:0; }
      #ferdinand-site .social-links a:hover { color:var(--color); }
      #ferdinand-site .social-links a:hover span { text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; }
      @media(max-width:650px) {
        #ferdinand-site .fs-navlinks { order:3; width:100%; }
        #ferdinand-site .fs-slash { display:none; }
        #ferdinand-site .social-links { gap:28px; }
        #ferdinand-site .social-links a { font-size:23px; }
      }
      @media(prefers-reduced-motion:reduce) { :root { scroll-behavior:auto; } }
      #ferdinand-site .fs-navlinks a[aria-current="page"] { color:var(--color); text-decoration:underline; text-underline-offset:6px; }
      #ferdinand-site .fs-blog { min-height:calc(100svh - var(--nav-height, 99px) - 63px); padding:88px 0 100px; }
      #ferdinand-site .fs-blog-intro { margin-top:24px; max-width:52ch; font-size:18px; color:var(--quiet); }
      #ferdinand-site .fs-posts { margin-top:64px; padding-top:28px; border-top:1px solid var(--line); }
      #ferdinand-site .fs-posts p { color:var(--quiet); font-size:16px; }
      @media(max-width:850px) {
        #ferdinand-site .fs-nav { flex-wrap:wrap; gap:15px; }
        #ferdinand-site .fs-navlinks { order:3; width:100%; flex-wrap:wrap; gap:18px; }
        #ferdinand-site .fs-slash { display:none; }
      }
      @media(max-width:650px) {
        #ferdinand-site .fs-blog { padding:54px 0 70px; }
        #ferdinand-site .fs-posts { margin-top:44px; }
      }
      @media(max-width:380px) {
        #ferdinand-site .theme-label { display:none; }
        #ferdinand-site .theme-toggle { width:44px; padding:0; }
      }
      @media(prefers-reduced-motion:no-preference) {
        #ferdinand-site .fs-scroll-reveal > * {
          opacity:var(--reveal-opacity, 1);
          transform:translateY(var(--reveal-offset, 0px));
          transition:opacity 240ms ease-out, transform 240ms ease-out;
        }
        #ferdinand-site .fs-scroll-reveal:focus-within > * {
          opacity:1;
          transform:none;
          transition:none;
        }
      }
      @media print {
        #ferdinand-site .fs-scroll-reveal > * { opacity:1; transform:none; transition:none; }
      }
