:root{--gutter: clamp(16px, 3.5vw, 36px);--indent: clamp(10px, 2.2vw, 22px);--content-max: 1200px;--header-height: 72px;--brand: #111;--brand-accent: #6b8afd;--title-font: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--text-font: "Roboto", system-ui, -apple-system, Segoe UI, Helvetica, Arial, sans-serif;--title-size: clamp(24px, 5vw, 40px);--cat-size: clamp(12px, 3vw, 16px);--radius: 12px;--radius-sm: 10px;--radius-lg: 16px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--dur-1: .12s;--dur-2: .18s;--dur-3: .26s;--shadow-1: 0 1px 1px rgba(0,0,0,.04), 0 6px 18px rgba(0,0,0,.08);--shadow-2: 0 2px 2px rgba(0,0,0,.05), 0 14px 40px rgba(0,0,0,.12);--border-subtle: rgba(0,0,0,.08);--border-strong: rgba(0,0,0,.14);--ring: rgba(17, 17, 17, .85);--ring-soft: rgba(107, 138, 253, .55);--bg: #ffffff;--surface-0: #ffffff;--surface-1: #f7f7f8;--surface-2: #f1f2f4;--text: rgba(17,17,17,.92);--muted: rgba(17,17,17,.58);--overlay: rgba(0,0,0,.72);--selection: rgba(107, 138, 253, .22);--brand-size: clamp(28px, 5vw, 56px);--mark-ratio: .88;--brand-gap: clamp(8px, 1.2vw, 14px);--brand-kern: 112px;--brand-tint: 0 0% 0% / .06;--phi: 1.618;--frame-max: 980px;--scrollbar-thumb: rgba(0,0,0,.22);--scrollbar-track: rgba(0,0,0,.06)}@media(prefers-color-scheme:dark){:root{--bg: #0b0b0c;--surface-0: #0f1011;--surface-1: #141516;--surface-2: #1a1c1e;--text: rgba(255,255,255,.92);--muted: rgba(255,255,255,.62);--border-subtle: rgba(255,255,255,.1);--border-strong: rgba(255,255,255,.18);--overlay: rgba(0,0,0,.62);--scrollbar-thumb: rgba(255,255,255,.22);--scrollbar-track: rgba(255,255,255,.08);--selection: rgba(107, 138, 253, .3)}}*,*:before,*:after{box-sizing:border-box}html:focus-within{scroll-behavior:smooth}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--text-font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}img,picture,video,canvas,svg{display:block;max-width:100%}img{height:auto}input,button,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none;text-underline-offset:.18em;-webkit-tap-highlight-color:transparent}ul,ol{padding:0;margin:0}p{margin:0 0 1em}h1,h2,h3,h4,h5,h6{margin:0;font-weight:inherit}strong{font-weight:650}em{font-style:italic}small{font-size:.875em;color:var(--muted)}.hero-title,.project-title,.overlay .title{letter-spacing:-.012em}.page-body,.page-indent{text-wrap:pretty}p,li{hyphens:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus{outline:none}:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:8px}.u-focus-soft:focus-visible{outline-color:var(--ring-soft)}button,a{touch-action:manipulation}::selection{background:var(--selection)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:3px solid transparent;background-clip:padding-box}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--glass-bg: rgba(255,255,255,.72);--glass-border: rgba(0,0,0,.1);--glass-blur: 14px}@media(prefers-color-scheme:dark){:root{--glass-bg: rgba(20,21,22,.62);--glass-border: rgba(255,255,255,.14)}}:root{--card-radius: 16px;--card-bg: var(--surface-1);--card-border: var(--border-subtle);--overlay-strong: var(--overlay);--overlay-soft: rgba(0,0,0,.55);--grid-pad-x: clamp(16px, 2.6vw, 22px);--grid-gap: clamp(12px, 1.8vw, 16px);--mobile-caption-height: 42%;--pill-bg: color-mix(in srgb, var(--surface-0) 88%, var(--surface-1));--pill-border: var(--border-subtle);--pill-hover: color-mix(in srgb, var(--surface-2) 70%, transparent);--pill-active-bg: color-mix(in srgb, var(--text) 92%, transparent);--pill-active-fg: #fff}.filters{display:flex;flex-wrap:wrap;gap:10px;padding:10px var(--grid-pad-x) 18px}.filters a{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:var(--pill-bg);border:1px solid var(--pill-border);text-decoration:none;color:inherit;font-size:.95rem;line-height:1;transition:background var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}@media(hover:hover){.filters a:hover{background:var(--pill-hover);border-color:var(--border-strong);box-shadow:0 1px #00000008}}.filters a:active{transform:scale(.99)}.filters a:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.filters a.active{background:var(--pill-active-bg);border-color:color-mix(in srgb,var(--pill-active-bg) 90%,transparent);color:var(--pill-active-fg)}.grid{display:grid;grid-template-columns:1fr;gap:var(--grid-gap);padding:0 var(--grid-pad-x)}@media(min-width:600px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{position:relative;aspect-ratio:1 / 1;overflow:clip;border-radius:var(--card-radius);background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-1);transform:translateZ(0);transition:transform var(--dur-3) var(--ease-out),box-shadow var(--dur-3) var(--ease-out),border-color var(--dur-3) var(--ease-out)}@media(hover:hover){.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:color-mix(in srgb,var(--border-strong) 85%,transparent)}}.card .card-link{display:block;height:100%;position:relative}.card img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.001)}@media(hover:hover){.card:hover img{filter:saturate(108%) contrast(104%);transition:filter var(--dur-3) var(--ease-out)}}.card .overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0000,#00000038 36%,#000000b8);opacity:0;transition:opacity var(--dur-3) var(--ease-out);display:flex;align-items:flex-end;pointer-events:none}@media(hover:hover){.card:hover .overlay{opacity:1}}.overlay .inner{padding:clamp(16px,2.4vw,22px);width:100%}.overlay .title{margin:0 0 6px;font-size:var(--title-size);font-weight:320;color:#fff;font-family:var(--title-font);letter-spacing:-.014em;line-height:1.12}.overlay .category{display:inline-block;font:420 var(--cat-size) / 1.15 var(--text-font);color:#ffffffe0}.card.no-cover{display:flex;align-items:flex-end;justify-content:flex-start;background:color-mix(in srgb,var(--surface-0) 70%,var(--surface-1))}.card .fallback{padding:clamp(16px,2.4vw,22px)}.card.no-cover .title{font-family:var(--title-font);font-weight:650;font-size:clamp(18px,3vw,22px);margin:0 0 8px;letter-spacing:-.01em}.card.no-cover .category{font-family:var(--text-font);color:var(--muted);font-size:.95rem}@media(hover:none)and (pointer:coarse){.card .overlay{opacity:1;pointer-events:none;position:absolute;inset:auto 0 0;height:var(--mobile-caption-height);background:linear-gradient(180deg,#0000,#00000094 60%,#000000d1);display:flex;align-items:flex-end}.overlay .inner{padding:12px 14px}.overlay .title{font-size:16px;font-weight:650;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overlay .category{font-size:12px;opacity:.92}.card.preview .overlay{inset:0;height:auto;background:#000000b8}}.card-link:focus-visible{outline:2px solid var(--ring);outline-offset:4px;border-radius:var(--card-radius)}@media(prefers-reduced-motion:reduce){.filters a,.card,.card img,.card .overlay{transition:none!important}.card:hover{transform:none!important}}:root{--section-y: clamp(18px, 3vw, 34px);--section-y-tight: clamp(12px, 2.2vw, 22px);--measure: 70ch;--measure-wide: 78ch;--hairline: 1px;--header-pad-y: 12px;--header-pad-x: clamp(12px, 2vw, 18px);--footer-pad-y: clamp(14px, 2.4vw, 22px);--footer-pad-x: clamp(14px, 2.4vw, 22px)}.container{max-width:calc(var(--content-max) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:calc(980px + 2 * var(--gutter))}.site-main{padding-block:var(--section-y-tight)}.page-indent{padding-inline:var(--indent)}.page-indent p,.page-indent ul,.page-indent ol{max-width:var(--measure)}.grid.bleed,.hero-frame.bleed,.phase-slider.bleed{width:auto}.project-meta{top:var(--header-height)}.site-header,.site-footer{overflow:visible}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:var(--header-pad-y) var(--header-pad-x);border-bottom:var(--hairline) solid var(--border-subtle);background:color-mix(in srgb,var(--surface-0) 92%,transparent)}.site-header.container{padding-inline:var(--gutter)}.site-header svg{display:block;width:auto;height:49px;overflow:visible}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:var(--footer-pad-y) var(--footer-pad-x);color:var(--muted);font-size:.95rem;border-top:var(--hairline) solid var(--border-subtle);background:color-mix(in srgb,var(--surface-0) 94%,var(--surface-1))}.footer-inner{padding-block:var(--section-y)}.footer-grid{display:grid;gap:16px}@media(min-width:820px){.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:22px}}.f-block p{margin:6px 0 0;line-height:1.65}.f-title{margin:0 0 6px;font-weight:650;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.site-footer a{color:inherit;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--muted) 38%,transparent);transition:border-color var(--dur-2) var(--ease-out),opacity var(--dur-2) var(--ease-out)}.site-footer a:hover{border-color:color-mix(in srgb,var(--text) 48%,transparent)}.site-footer a:focus-visible{border-bottom-color:currentColor}.footer-meta{gap:6px 10px}.footer-meta>*{min-width:0}.footer-meta small{white-space:normal;opacity:.8;overflow-wrap:anywhere}.hero{padding:clamp(18px,2.6vw,30px) clamp(16px,2.6vw,22px);font-family:var(--title-font);font-weight:320;line-height:1.18}.hero--about{padding:clamp(18px,2.6vw,30px) clamp(16px,2.6vw,22px) 12px}.hero-title{font:520 clamp(1.55rem,3.1vw,2.2rem) / 1.18 var(--title-font);margin:0 0 8px;letter-spacing:-.012em}.lead{max-width:74ch;color:var(--muted);font-size:1.05rem;line-height:1.7}.page-body{padding:0 clamp(16px,2.6vw,22px) clamp(18px,2.8vw,28px);max-width:900px}@media(max-width:640px){.site-header{gap:16px}.site-footer{padding-inline:clamp(14px,4vw,18px)}}.site-header{backdrop-filter:saturate(140%) blur(0px);-webkit-backdrop-filter:saturate(140%) blur(0px)}.is-sticky.site-header{position:sticky;top:0;z-index:40;background:var(--glass-bg);border-bottom-color:var(--glass-border);backdrop-filter:saturate(160%) blur(var(--glass-blur));-webkit-backdrop-filter:saturate(160%) blur(var(--glass-blur))}.page-body{padding:0 clamp(16px,2.6vw,22px) clamp(20px,3vw,32px);max-width:900px;color:var(--text)}.page-body p{line-height:1.75}.page-body a{color:inherit;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--text) 30%,transparent);transition:border-color var(--dur-2) var(--ease-out),opacity var(--dur-2) var(--ease-out)}.page-body a:hover{border-color:color-mix(in srgb,var(--text) 55%,transparent)}.page-body a:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.page-body ul,.page-body ol{margin:0 0 1em;padding-left:1.2em}.page-body li{margin:.3em 0}.hero--about .lead{margin:8px 0 0}.contact-wrap{padding-inline:var(--indent)}.contact-grid{display:block;grid-template-columns:1fr;gap:24px}.contact-card{background:color-mix(in srgb,var(--surface-0) 92%,var(--surface-1));border:1px solid var(--border-subtle);border-radius:18px;box-shadow:var(--shadow-1);padding:16px;margin-bottom:16px}.contact-card .specs{display:grid;grid-template-columns:1fr;gap:6px 0;margin:0}.contact-card .specs dt{margin-top:10px;color:var(--muted);font-weight:650}.contact-card .specs dt:first-child{margin-top:0}.contact-card .specs dd{margin:0}.contact-card .specs a{color:inherit;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--text) 30%,transparent)}.contact-card .specs a:hover{border-color:color-mix(in srgb,var(--text) 55%,transparent)}.cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.chip{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--surface-0) 92%,var(--surface-1));text-decoration:none;color:inherit;transition:background var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}@media(hover:hover){.chip:hover{background:color-mix(in srgb,var(--surface-2) 70%,transparent);border-color:var(--border-strong)}}.chip:active{transform:scale(.98)}.chip:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.map-frame.frame{width:100%;aspect-ratio:var(--phi) / 1;margin:0;border-radius:16px;overflow:clip;border:1px solid var(--border-subtle);box-shadow:var(--shadow-1)}.map-frame iframe,.map-frame>#map{position:absolute;inset:0;width:100%!important;height:100%!important;border:0;border-radius:inherit;max-width:100%}@media(min-width:1024px){.contact-grid{display:grid;grid-template-columns:minmax(0,520px) 1fr;gap:28px}.contact-card{padding:20px 22px;margin-bottom:0}.contact-card .specs{grid-template-columns:120px 1fr;gap:8px 14px}}@media(prefers-reduced-motion:reduce){.page-body a,.chip{transition:none!important}}:root{--project-gap: clamp(20px, 3vw, 36px);--meta-w: 360px;--frame-radius: 16px;--cap-radius: 12px;--meta-surface: color-mix(in srgb, var(--surface-0) 92%, var(--surface-1))}.project-page,.project-page .project-layout{overflow:visible}.project-layout{display:grid;grid-template-columns:1fr;gap:var(--project-gap)}@media(min-width:1024px){.project-layout{grid-template-columns:minmax(0,1fr) var(--meta-w);gap:clamp(28px,4vw,44px);align-items:start}.project-images{min-height:120vh}.project-meta{position:sticky;top:var(--header-height, 72px);align-self:start;max-height:calc(100vh - var(--header-height, 72px));overflow:auto;padding-right:6px;z-index:1}}.project-title{width:min(78%,var(--frame-max));max-width:var(--frame-max);margin:4px 0 12px;font:650 clamp(22px,3.6vw,34px) / 1.12 var(--title-font);letter-spacing:-.014em;color:var(--text)}@media(min-width:1024px){.project-title{margin-top:2px}}.cat{font-weight:650;letter-spacing:.04em;margin:0 0 6px}.tags{margin:6px 0 14px}.tag{display:inline-block;margin:0 6px 6px 0;padding:5px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border-subtle);font-size:.9rem}.project-about-flow{margin:14px 0 18px}.info{display:grid;grid-template-columns:140px 1fr;gap:8px 14px;margin:12px 0 0}.info dt{color:var(--muted);font-size:.9rem}.info dd{margin:0}.project-images{display:grid;gap:clamp(14px,2.6vw,20px)}.phase-row{margin:clamp(18px,3vw,28px) 0 6px;position:relative}.phase-row:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:color-mix(in srgb,var(--text) 18%,transparent);border-radius:999px}` .phase-row .gallery-title{margin-top:14px;font-weight:520;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.hero-frame,.phase-slider{position:relative;width:min(78%,var(--frame-max));max-width:var(--frame-max);aspect-ratio:var(--phi) / 1;border-radius:var(--frame-radius);border:1px solid var(--border-subtle);box-shadow:var(--shadow-1);overflow:clip}@media(max-width:899px){.hero-frame,.phase-slider{width:100%}}.hero-frame>img,.hero-frame .fit,.phase-slider img,.phase-slider .fit{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1}.phase-row .phase-slider{justify-self:start}.phase-row:nth-of-type(2n) .phase-slider{justify-self:end}.phase-slider .slide{position:absolute;inset:0;opacity:0;transform:translate(var(--off, 0));transition:transform var(--dur-3) var(--ease-out),opacity var(--dur-3) var(--ease-out);z-index:1}.phase-slider .slide.current{opacity:1;transform:translate(0);z-index:2}.phase-slider .slide.out-left{--off: -12%}.phase-slider .slide.out-right{--off: 12%}@media(prefers-reduced-motion:reduce){.phase-slider .slide{transition:none!important;transform:none!important;opacity:1!important}}.frame{position:relative;overflow:hidden}.frame .cap,.phase-slider .slide .cap{left:16px;right:auto;bottom:16px;width:fit-content;max-width:calc(100% - 32px);padding:8px 12px;background:#ffffff2e;border:1px solid rgba(255,255,255,.24);border-radius:999px;backdrop-filter:saturate(170%) blur(10px);-webkit-backdrop-filter:saturate(170%) blur(10px);color:#ffffffeb;font:600 12px/1.1 var(--text-font);letter-spacing:.02em;box-shadow:0 8px 22px #0000002e;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}@media(max-width:420px){.frame .cap,.phase-slider .slide .cap{white-space:normal;line-height:1.2}}.cap--center{left:50%!important;transform:translate(-50%);right:auto!important}.phase-slider .ctrl{position:absolute;top:50%;z-index:10;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#14141447;color:#ffffffeb;backdrop-filter:saturate(170%) blur(10px);-webkit-backdrop-filter:saturate(170%) blur(10px);box-shadow:0 1px 1px #0000001a,0 12px 30px #00000038;display:grid;place-items:center;transform:translateY(-50%) scale(1);transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out);opacity:.72;margin:0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.phase-slider .prev{left:10px}.phase-slider .next{right:10px}@media(hover:hover){.phase-slider .ctrl{opacity:0}.phase-slider:hover .ctrl{opacity:.7}.phase-slider:hover .ctrl:hover{opacity:.96;transform:translateY(-50%) scale(1.03);background:#1414145c;border-color:#ffffff4d}}.phase-slider .ctrl:focus-visible{opacity:1!important;outline:2px solid rgba(255,255,255,.72);outline-offset:3px}.phase-slider .ctrl:active{transform:translateY(-50%) scale(.97)}.phase-slider .ctrl{font-size:20px;line-height:1}@media(prefers-reduced-motion:reduce){.phase-slider .ctrl,.frame .cap,.phase-slider .slide .cap{transition:none!important}}.more-section.bottom{grid-column:1 / -1!important;margin-top:52px;padding:0 clamp(16px,2.6vw,22px)}.more-section .section-title{margin:0 0 14px;font:550 clamp(1.1rem,2.2vw,1.4rem) / 1.2 var(--title-font)}.grid.projects{padding:0}.portfolio-section{margin:18px 0 24px}.about{margin:12px 0 16px}.card{position:relative}.card .card-link{position:relative;display:block}.card .card-overlay{position:absolute;inset:0;display:grid;align-content:end;gap:6px;padding:14px;opacity:0;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease;background:linear-gradient(to top,#000000a6,#0000 65%);color:#fff;pointer-events:none}.card .card-overlay-title{font-size:15px;font-weight:600;line-height:1.2}.card .card-overlay-meta{font-size:12px;opacity:.85}@media(hover:hover)and (pointer:fine){.card:hover .card-overlay{opacity:1;transform:translateY(0)}}.card.preview .card-overlay{opacity:1;transform:translateY(0)}.bleed{margin-inline:calc(-1 * var(--indent))}.full-bleed{margin-inline:calc(-1 * (var(--gutter) + var(--indent)))}.u-pad-xs{padding:6px!important}.u-pad-sm{padding:10px!important}.u-pad-md{padding:16px!important}.u-pad-lg{padding:24px!important}.u-mt-xs{margin-top:6px!important}.u-mt-sm{margin-top:10px!important}.u-mt-md{margin-top:16px!important}.u-mt-lg{margin-top:24px!important}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.aligncenter{text-align:center;margin-left:auto;margin-right:auto}.u-center{display:grid;place-items:center}.u-hidden{display:none!important}@media(max-width:640px){.u-hide-mobile{display:none!important}}@media(min-width:641px){.u-hide-desktop{display:none!important}}.u-surface{background:color-mix(in srgb,var(--surface-0) 92%,var(--surface-1));border:1px solid var(--border-subtle);border-radius:var(--radius);box-shadow:var(--shadow-1)}.u-surface-soft{background:var(--surface-1);border-radius:var(--radius)}.u-glass{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:saturate(160%) blur(var(--glass-blur));-webkit-backdrop-filter:saturate(160%) blur(var(--glass-blur))}.wp-block-image{margin:0 0 1em}.wp-block-image img{max-width:100%;height:auto}.wp-block-gallery{display:flex;flex-wrap:wrap;gap:16px;list-style:none;padding:0;margin:0 0 1em}.wp-block-gallery img{display:block;max-width:100%;height:auto}.wp-block-cover{position:relative;min-height:300px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;padding:1em}.wp-block-cover__inner-container{color:#fff;z-index:1}.u-focus-ring:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.u-focus-soft:focus-visible{outline:2px solid var(--ring-soft);outline-offset:3px}.u-disabled{pointer-events:none;opacity:.5}@media(prefers-reduced-motion:reduce){.u-no-motion,.u-no-motion *{transition:none!important;animation:none!important}}:root{--nav-hit: 40px;--nav-icon: 22px;--panel-w: min(90vw, 420px);--panel-pad: 18px;--nav-divider: color-mix(in srgb, var(--border-subtle) 90%, transparent);--panel-bg: color-mix(in srgb, var(--surface-0) 92%, var(--surface-1));--panel-shadow: 0 2px 2px rgba(0,0,0,.06), 0 20px 70px rgba(0,0,0,.22)}.brand-lockup{display:inline-flex;align-items:center;gap:var(--brand-gap);text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}.brand-lockup .logo{display:inline-flex;align-items:center;gap:var(--brand-gap)}.brand-lockup .logo svg{display:block;height:var(--brand-size);width:auto;overflow:visible}.brand-lockup .mark{display:block;height:calc(var(--brand-size) * var(--mark-ratio));width:auto;object-fit:contain;transform:translateY(1px);margin-left:var(--brand-kern);border-radius:10px;box-shadow:var(--shadow-1);filter:saturate(110%) contrast(106%);background:color-mix(in srgb,var(--surface-0) 86%,transparent)}@media(hover:hover){.brand-lockup:hover .mark{transform:translateY(1px) scale(1.02);box-shadow:var(--shadow-2);transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}}.brand-lockup:focus-visible .mark{outline:2px solid var(--ring-soft);outline-offset:3px}@media(max-width:640px){:root{--brand-size: 36px}.brand-lockup .mark{border-radius:8px}}.brand-lockup:after{content:"";width:1px;height:calc(var(--brand-size) * .68);background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--border-strong) 70%,transparent),transparent);margin:0 calc(var(--brand-gap) - 2px);border-radius:1px;display:none}.hamburger{width:var(--nav-hit);height:var(--nav-hit);display:grid;place-items:center;border:1px solid transparent;border-radius:999px;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}.hamburger span{width:var(--nav-icon);height:2px;background:color-mix(in srgb,var(--text) 88%,transparent);margin:3px 0;display:block;border-radius:999px;transition:transform var(--dur-2) var(--ease-out),opacity var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out)}@media(hover:hover){.hamburger:hover{background:color-mix(in srgb,var(--surface-1) 80%,transparent);border-color:var(--border-subtle)}}.hamburger:active{transform:scale(.98)}.hamburger:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.hamburger[aria-expanded=true] span:nth-child(1){transform:translateY(5px) rotate(45deg)}.hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.hamburger[aria-expanded=true] span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.menu-backdrop{position:fixed;inset:0;background:color-mix(in srgb,#000 42%,transparent);opacity:0;transition:opacity var(--dur-3) var(--ease-out);z-index:30}.menu-panel{position:fixed;top:0;right:0;bottom:0;width:var(--panel-w);background:var(--panel-bg);border-left:1px solid var(--border-subtle);box-shadow:var(--panel-shadow);transform:translate(100%);transition:transform var(--dur-3) var(--ease-out);z-index:31;backdrop-filter:saturate(160%) blur(var(--glass-blur));-webkit-backdrop-filter:saturate(160%) blur(var(--glass-blur))}.menu-panel a{text-decoration:none;color:inherit}.menu-inner{display:flex;flex-direction:column;height:100%;padding:var(--panel-pad);gap:10px}.menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--nav-divider);margin-bottom:2px}.menu-title{margin:0;font-size:1.05rem;font-weight:650;letter-spacing:-.01em}.menu-close{width:var(--nav-hit);height:var(--nav-hit);border:1px solid transparent;border-radius:999px;background:transparent;cursor:pointer;display:grid;place-items:center;font-size:20px;line-height:1;transition:background var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}@media(hover:hover){.menu-close:hover{background:color-mix(in srgb,var(--surface-1) 80%,transparent);border-color:var(--border-subtle)}}.menu-close:active{transform:scale(.98)}.menu-close:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.menu-level1{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:6px}.menu-level1>.menu-item{margin:0}.menu-level1>.menu-item>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 10px;border-radius:12px;transition:background var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}.menu-accordion{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1px solid transparent;background:transparent;font:inherit;padding:12px 10px;cursor:pointer;border-radius:12px;transition:background var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}@media(hover:hover){.menu-level1>.menu-item>a:hover,.menu-accordion:hover{background:color-mix(in srgb,var(--surface-1) 86%,transparent)}}.menu-level1>.menu-item>a:active,.menu-accordion:active{transform:scale(.99)}.menu-accordion[aria-expanded=true]{background:color-mix(in srgb,var(--surface-2) 72%,transparent);border-color:var(--border-subtle)}.menu-level1>.menu-item>a:focus-visible,.menu-accordion:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.menu-sub{list-style:none;padding:6px 0 6px 10px;margin:0;border-left:1px solid var(--nav-divider);display:grid;gap:4px}.menu-sub a{display:block;padding:10px;text-decoration:none;color:inherit;border-radius:10px;transition:background var(--dur-2) var(--ease-out)}@media(hover:hover){.menu-sub a:hover{background:color-mix(in srgb,var(--surface-1) 86%,transparent)}}.menu-sub a:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.menu-open #menuBackdrop{opacity:1}.menu-open #siteMenu{transform:none}.menu-open,.menu-open body{overflow:hidden}@media(prefers-reduced-motion:reduce){.menu-backdrop,.menu-panel,.hamburger,.hamburger span,.menu-close,.menu-level1>.menu-item>a,.menu-accordion,.menu-sub a{transition:none!important}}.menu-sub[hidden]{display:none!important}
