:root{--ink: #1e1d1a;--ink-soft: rgba(30, 29, 26, .7);--paper: #f4efe7;--paper-strong: #fffaf3;--panel: rgba(255, 250, 243, .72);--panel-strong: rgba(255, 250, 243, .94);--panel-border: rgba(255, 255, 255, .45);--accent: #de6f4d;--accent-deep: #9d4128;--line: rgba(30, 29, 26, .12);--chip-bg: rgba(30, 29, 26, .05);--input-bg: rgba(255, 255, 255, .72);--shadow: 0 24px 80px rgba(38, 28, 17, .12);--radius-lg: 32px;--radius-md: 20px;--radius-sm: 14px;--font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-body: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;--page-bg: radial-gradient(circle at top left, rgba(222, 111, 77, .18), transparent 28%), radial-gradient(circle at 80% 15%, rgba(206, 168, 117, .18), transparent 24%), linear-gradient(180deg, #fbf6ed 0%, #f4efe7 44%, #ece4d8 100%)}html[data-mode=dark]{--ink: #e9eaee;--ink-soft: rgba(233, 234, 238, .66);--paper: #0f1013;--paper-strong: #17181c;--panel: rgba(23, 24, 28, .72);--panel-strong: #17181c;--panel-border: rgba(255, 255, 255, .07);--line: rgba(233, 234, 238, .12);--chip-bg: rgba(233, 234, 238, .07);--input-bg: rgba(255, 255, 255, .05);--shadow: 0 24px 80px rgba(0, 0, 0, .55);--page-bg: radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 34%), linear-gradient(180deg, #14151a 0%, #0f1013 48%, #0c0d10 100%);color-scheme:dark}html[data-font=modern]{--font-display: "Segoe UI", system-ui, "Helvetica Neue", Arial, sans-serif;--font-body: "Segoe UI", system-ui, "Helvetica Neue", Arial, sans-serif}html[data-font=editorial]{--font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-body: Georgia, "Times New Roman", serif}html[data-font=mono]{--font-display: ui-monospace, "Cascadia Code", "Fira Code", Menlo, monospace;--font-body: ui-monospace, "Cascadia Code", "Fira Code", Menlo, monospace}html[data-radius=sharp]{--radius-lg: 10px;--radius-md: 8px;--radius-sm: 6px}html[data-radius=round]{--radius-lg: 42px;--radius-md: 28px;--radius-sm: 18px}*,*:before,*:after{box-sizing:border-box}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.skip-link{position:absolute;left:-9999px;top:12px;z-index:100;padding:12px 18px;border-radius:999px;background:var(--ink);color:var(--paper);font-weight:700;text-decoration:none}.skip-link:focus{left:12px}html{scroll-behavior:smooth;font-size:calc(100% * var(--type-scale, 1))}body{margin:0;min-height:100vh;color:var(--ink);background:var(--page-bg);font-family:var(--font-body)}html[data-custom-bg] body{background:linear-gradient(180deg,#14120f8c,#14120fb8),var(--site-bg-image) center / cover fixed no-repeat}html[data-custom-bg]:not([data-mode=dark]) body{background:linear-gradient(180deg,#fbf6edd1,#f4efe7e6),var(--site-bg-image) center / cover fixed no-repeat}a{color:inherit}img{max-width:100%}.site-shell,.admin-auth-shell,.admin-shell{width:min(var(--content-width, 1120px),calc(100vw - 32px));margin:0 auto}.site-shell{padding:calc(28px * var(--space, 1)) 0 calc(72px * var(--space, 1))}.section-card,.admin-panel,.auth-card{background:var(--panel);backdrop-filter:blur(18px);border:1px solid var(--panel-border);box-shadow:var(--shadow)}.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);gap:48px;padding:56px 0 30px;position:relative}.hero-copy h1,.section-heading h2,.auth-card h1,.admin-topbar h1,.panel-heading h2{font-family:var(--font-display);letter-spacing:-.04em;line-height:.95}.hero-copy h1{font-size:calc(clamp(2.7rem,6.2vw,5.2rem) * var(--size-hero-heading, 1));margin:14px 0 18px;max-width:16ch;text-wrap:balance}.lead{color:var(--ink-soft);font-size:calc(1.16rem * var(--size-hero-body, 1));line-height:1.7;margin:0;max-width:58ch}.lead.compact{max-width:34ch}.hero-actions,.project-links,.contact-actions,.admin-topbar-actions,.form-actions,.editor-actions,.footer-links{display:flex;flex-wrap:wrap;gap:12px}.hero-actions{margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:calc(46px * var(--size-button, 1));padding:0 calc(18px * var(--size-button, 1));font-size:calc(1rem * var(--size-button, 1));border-radius:999px;border:1px solid transparent;font-weight:600;text-decoration:none;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--ink);color:var(--paper)}.button-secondary{background:transparent;border-color:var(--line);color:var(--ink)}.button-danger{background:transparent;border-color:#9d41283d;color:var(--accent-deep)}.hero-panel{display:flex;flex-direction:column;justify-content:space-between;gap:24px;border-radius:var(--radius-lg);padding:22px;background:linear-gradient(180deg,#1e1d1aeb,#1e1d1ac7);color:#f4efe7;position:relative;overflow:hidden;cursor:crosshair;touch-action:manipulation;min-height:340px}#hero-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero-panel-top,.hero-panel-bottom{position:relative;z-index:1}.hero-panel-bottom{display:grid;gap:14px}.panel-hint{margin:0;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.45}html[data-mode=dark] .hero-panel{background:linear-gradient(180deg,#1a1b20,#131418);color:var(--ink)}html[data-mode=dark] .insight-card[data-bg=ink]{background:linear-gradient(180deg,#1a1b20,#14151a)}html[data-mode=dark] .tile-placeholder{background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 55%),radial-gradient(circle at 85% 80%,color-mix(in srgb,var(--accent-deep) 26%,transparent),transparent 50%),linear-gradient(160deg,#1a1b20,#121317)}.panel-score{position:relative;z-index:1;display:grid;justify-items:center;gap:4px;pointer-events:none}.score-value{font-family:var(--font-display);font-size:clamp(2.6rem,5vw,4rem);font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:2px color-mix(in srgb,var(--accent) 80%,#fff 12%)}.score-label{font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;opacity:.55}.profile-chip{display:grid;gap:8px}.profile-chip span,.profile-grid dt,.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;font-weight:700}.profile-grid{display:grid;gap:16px;margin:0}.profile-grid div{padding-top:14px;border-top:1px solid rgba(244,239,231,.12)}.profile-grid dd{margin:6px 0 0;font-size:1rem;line-height:1.55}.section-card,.admin-panel{margin-top:24px;padding:28px;border-radius:var(--radius-lg)}.section-heading{display:grid;gap:10px;margin-bottom:18px}.section-heading h2{margin:0;font-size:clamp(2rem,5vw,3.4rem);max-width:12ch}.body-copy,.insight-card p,.project-summary,.project-details,.auth-copy,.status-text{color:var(--ink-soft);line-height:1.75}.insight-grid,.projects-grid{display:grid;gap:18px}.insight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-card,.project-card,.editor-card{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel-strong);padding:22px}.insight-card[data-bg=panel]{background:none;border:none;border-radius:0;border-top:1px solid var(--line);padding:20px 4px 0}.insight-card[data-bg=panel]:hover{border-top-color:var(--accent);box-shadow:none}.insight-card h3,.project-card h3,.editor-card h3{font-family:var(--font-display);font-size:calc(1.7rem * var(--size-tile-title, 1));line-height:1.05;margin:8px 0 14px}.inline-link,.project-links a,.footer-links a{text-decoration:none;color:var(--accent-deep);font-weight:600}.project-card{display:grid;gap:18px}.project-meta{display:flex;justify-content:space-between;gap:16px;color:var(--ink-soft);font-size:.92rem}.stack-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}.stack-list li{padding:8px 12px;border-radius:999px;background:var(--chip-bg);font-size:.9rem}.site-footer{padding:0 0 42px}.footer-links{width:min(var(--content-width, 1120px),calc(100vw - 32px));margin:0 auto;padding-top:12px;justify-content:flex-end}.admin-auth-shell{display:grid;min-height:100vh;place-items:center;padding:32px 0}.auth-card{width:min(560px,100%);padding:32px;border-radius:var(--radius-lg)}.auth-card h1{font-size:clamp(2.4rem,7vw,4rem);margin:0 0 14px}.stack-form,.admin-grid{display:grid;gap:16px}.stack-form{margin-top:24px}label{display:grid;gap:8px;font-weight:600}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--input-bg);padding:14px 16px;color:var(--ink);font:inherit}textarea{resize:vertical}.status-text{min-height:1.5em}.admin-shell{padding:28px 0 80px}.admin-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}.admin-topbar h1{margin:0;font-size:clamp(2.2rem,5vw,3.6rem)}.panel-heading,.editor-card-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.status-pill{min-width:72px;min-height:1.5rem;margin:0;color:var(--accent-deep);font-size:.9rem;font-weight:700}.editor-list{display:grid;gap:16px;margin-top:18px}.checkbox-row{display:flex;align-items:center;gap:10px;font-weight:600}.checkbox-row input{width:auto;margin:0}.hero.has-bg-image{background:linear-gradient(180deg,rgba(18,16,13,calc(var(--hero-overlay, 55) / 100)),rgba(18,16,13,calc(var(--hero-overlay, 55) / 100))),var(--hero-bg-image) center / cover no-repeat;border-radius:calc(var(--radius-lg) + 4px);padding:44px 38px 34px;overflow:hidden}.hero.has-bg-image .hero-copy h1,.hero.has-bg-image .eyebrow{color:#fffaf3}.hero.has-bg-image .lead{color:#fffaf3d9}.hero.has-bg-image .button-primary{background:#fffaf3;color:#1e1d1a}.hero.has-bg-image .button-secondary{border-color:#fffaf366;color:#fffaf3}.rich p{margin:0 0 12px}.rich p:last-child{margin-bottom:0}.rich ul,.rich ol{margin:0 0 12px;padding-left:22px;display:grid;gap:6px}.rich a{color:var(--accent-deep);font-weight:600}.rich code{font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:.92em;background:var(--chip-bg);padding:2px 6px;border-radius:6px}.insight-card{display:flex;flex-direction:column}.insight-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1}.insight-copy .inline-link{margin-top:auto;padding-top:12px}.insight-card[data-align=center] .insight-copy{align-items:center;text-align:center}.insight-card[data-bg=accent]{background:linear-gradient(160deg,var(--accent),var(--accent-deep));border-color:transparent}.insight-card[data-bg=ink]{background:linear-gradient(180deg,#1e1d1af0,#1e1d1adb);border-color:transparent}.insight-card[data-bg=image]{background:linear-gradient(180deg,rgba(18,16,13,calc(var(--block-overlay, 45) / 100)),rgba(18,16,13,calc(var(--block-overlay, 45) / 100))),var(--block-bg-image) center / cover no-repeat;border-color:transparent}.insight-card[data-bg=accent] h3,.insight-card[data-bg=ink] h3,.insight-card[data-bg=image] h3,.insight-card[data-bg=accent] .eyebrow,.insight-card[data-bg=ink] .eyebrow,.insight-card[data-bg=image] .eyebrow{color:#fffaf3}.insight-card[data-bg=accent] .rich,.insight-card[data-bg=ink] .rich,.insight-card[data-bg=image] .rich,.insight-card[data-bg=accent] .rich p,.insight-card[data-bg=ink] .rich p,.insight-card[data-bg=image] .rich p,.insight-card[data-bg=accent] .rich li,.insight-card[data-bg=ink] .rich li,.insight-card[data-bg=image] .rich li{color:#fffaf3e0}.insight-card[data-bg=accent] .rich a,.insight-card[data-bg=ink] .rich a,.insight-card[data-bg=image] .rich a,.insight-card[data-bg=accent] .inline-link,.insight-card[data-bg=ink] .inline-link,.insight-card[data-bg=image] .inline-link{color:#ffd9c9}.insight-card--banner,.insight-card--split{grid-column:1 / -1}.insight-card--banner{padding:38px}.insight-card--banner h3{font-size:clamp(1.9rem,4vw,2.8rem);max-width:22ch}.insight-card--split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:26px;align-items:center}.insight-card--split .split-media{border-radius:var(--radius-md);overflow:hidden;align-self:stretch;min-height:220px;background:var(--split-image) center / cover no-repeat}.insight-card--split[data-align=center]{text-align:left;align-items:center}.project-thumb{margin:-22px -22px 0;border-radius:var(--radius-md) var(--radius-md) 0 0;overflow:hidden;aspect-ratio:16 / 9}.project-thumb img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:900px){.hero,.contact-banner,.admin-topbar,.panel-heading,.editor-card-header{grid-template-columns:1fr;flex-direction:column;align-items:start}.insight-grid,.projects-grid,.insight-card--split{grid-template-columns:1fr}.insight-card--banner{padding:26px}}@media(max-width:720px){.site-shell,.admin-shell,.admin-auth-shell,.footer-links{width:min(100vw - 20px,1120px)}.section-card,.admin-panel,.auth-card{padding:22px;border-radius:24px}.hero{padding:26px 0 6px;gap:24px}.hero-copy h1,.section-heading h2{max-width:none}}.site-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px calc((100vw - min(var(--content-width, 1120px),100vw - 32px))/2);background:color-mix(in srgb,var(--paper) 78%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.nav-name{font-family:var(--font-display);font-weight:700;font-size:calc(1.15rem * var(--size-brand, 1));text-decoration:none;display:grid;gap:2px}.nav-name-row{display:inline-flex;align-items:center;gap:8px}.nav-tagline{font-family:var(--font-body);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.nav-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}.nav-links{display:flex;gap:22px}.nav-links a{text-decoration:none;font-weight:600;font-size:.92rem;letter-spacing:.04em;color:var(--ink-soft);transition:color .16s ease}.nav-links a:hover{color:var(--accent-deep)}.mode-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font-size:.95rem;line-height:1;transition:border-color .16s ease,transform .16s ease}.mode-toggle:hover{border-color:var(--accent);transform:rotate(15deg)}.mode-icon:before{content:"☾"}html[data-mode=dark] .mode-icon:before{content:"☀"}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;padding:calc(6px * var(--size-chip, 1)) calc(14px * var(--size-chip, 1));border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--accent-deep);font-size:calc(.74rem * var(--size-chip, 1));font-weight:700;letter-spacing:.16em;text-transform:uppercase}html[data-mode=dark] .chip{color:var(--accent)}.button-arrow{display:inline-block;transition:transform .2s ease}.button:hover .button-arrow{transform:translate(4px)}.ticker{margin-top:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:14px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.ticker-track{display:flex;width:max-content;animation:ticker-scroll 36s linear infinite}.ticker-run{display:flex;flex-shrink:0}.ticker-item{display:inline-flex;align-items:center;gap:18px;padding-right:18px;white-space:nowrap;font-size:.86rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.ticker-sep{color:var(--accent);font-size:.6rem}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.section-block.no-marker{grid-template-columns:1fr}.section-block{display:grid;grid-template-columns:132px minmax(0,1fr);gap:calc(26px * var(--space, 1));margin-top:calc(110px * var(--space, 1));padding:0;background:none;border:none;box-shadow:none;backdrop-filter:none}.section-marker{position:sticky;top:110px;align-self:start;display:grid;gap:8px;justify-items:start}.section-number{font-family:var(--font-display);font-size:3.6rem;line-height:.9;font-weight:700;color:transparent;-webkit-text-stroke:1.6px var(--accent);paint-order:stroke}.section-tag{font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);border-top:2px solid var(--accent);padding-top:8px}.section-body>h2{font-family:var(--font-display);letter-spacing:-.04em;line-height:.98;font-size:calc(clamp(2.2rem,5vw,3.6rem) * var(--size-section-heading, 1));margin:0 0 22px;max-width:18ch}.about-copy{font-size:calc(1.06rem * var(--size-body, 1));max-width:68ch}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}[data-reveal].is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}.ticker-track,.nav-dot{animation:none}.panel-score,.panel-hint{display:none}}.insight-card,.project-card{transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .32s ease,box-shadow .32s ease}.insight-card:hover,.project-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 20px 50px #140f0a24}.projects-grid{counter-reset:project}.project-card{counter-increment:project;overflow:hidden}.project-index:before{content:"0" counter(project);font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--accent);letter-spacing:.04em}.project-thumb img{transition:transform .5s cubic-bezier(.16,1,.3,1)}.project-card:hover .project-thumb img{transform:scale(1.045)}.project-links a:after{content:" ↗";font-size:.85em}.contact-banner{align-items:stretch}.contact-body{display:grid;gap:16px;justify-items:start;border-top:1px solid var(--line);padding-top:clamp(26px,5vw,44px)}.contact-heading{font-family:var(--font-display);letter-spacing:-.04em;line-height:.95;font-size:calc(clamp(2.6rem,7vw,4.6rem) * var(--size-section-heading, 1));margin:0}.contact-actions{margin-top:8px}.site-footer{margin-top:calc(90px * var(--space, 1));border-top:1px solid var(--line);padding:26px 0 42px}.footer-inner{width:min(var(--content-width, 1120px),calc(100vw - 32px));margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.footer-note{margin:0;color:var(--ink-soft);font-size:.9rem}.footer-links{width:auto;margin:0;padding:0}.featured-grid,.work-grid{display:grid;gap:20px}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:34px}.work-tile{display:flex;flex-direction:column;text-decoration:none;transition:transform .32s cubic-bezier(.16,1,.3,1)}.work-tile:hover{transform:translateY(-5px)}.work-tile:hover .tile-cover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 22px 55px #0a080633}.work-tile--feature{grid-column:1 / -1}.tile-cover{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--line);transition:border-color .32s ease,box-shadow .32s ease}.work-tile--feature .tile-cover{aspect-ratio:21 / 9}.tile-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.16,1,.3,1)}.work-tile:hover .tile-cover img{transform:scale(1.045)}.tile-placeholder{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 55%),radial-gradient(circle at 85% 80%,color-mix(in srgb,var(--accent-deep) 30%,transparent),transparent 50%),linear-gradient(160deg,#1e1d1aeb,#1e1d1ac7)}.tile-initial{font-family:var(--font-display);font-size:clamp(4rem,12vw,7rem);font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:2px color-mix(in srgb,var(--accent) 75%,#fff 10%);opacity:.9}.tile-year{position:absolute;top:12px;right:12px;padding:4px 12px;border-radius:999px;background:#14120f9e;color:#f4efe7;font-size:.76rem;font-weight:700;letter-spacing:.12em;backdrop-filter:blur(6px)}.tile-info{display:grid;gap:10px;padding:16px 2px 0}.tile-title-row{display:flex;align-items:baseline;gap:12px}.tile-title-row h3{font-family:var(--font-display);font-size:calc(1.5rem * var(--size-tile-title, 1));line-height:1.05;margin:0;flex:1}.work-tile--feature .tile-title-row h3{font-size:calc(clamp(1.8rem,4vw,2.6rem) * var(--size-tile-title, 1))}.tile-number{font-family:var(--font-display);font-weight:700;color:var(--accent);font-size:1rem}.tile-arrow{color:var(--accent-deep);font-size:1.3rem;transition:transform .25s ease}.work-tile:hover .tile-arrow{transform:translate(6px)}.tile-summary{margin:0;color:var(--ink-soft);line-height:1.6;font-size:calc(1rem * var(--size-body, 1))}.tile-stack li{font-size:.8rem;padding:6px 10px}.section-cta{margin-top:26px}.page-shell{padding-top:40px}.page-head{max-width:68ch}.page-kicker{margin:0 0 10px;font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-deep)}html[data-mode=dark] .page-kicker{color:var(--accent)}.page-head h1,.project-head h1{font-family:var(--font-display);letter-spacing:-.04em;line-height:.95;font-size:calc(clamp(2.8rem,8vw,5.4rem) * var(--size-hero-heading, 1));margin:0 0 16px}.crumb{margin:6px 0 26px}.crumb a{text-decoration:none;font-weight:700;font-size:.9rem;letter-spacing:.06em;color:var(--ink-soft)}.crumb a:hover{color:var(--accent-deep)}.project-head{max-width:72ch;margin-bottom:28px}.project-lead{font-size:1.15rem}.project-cover{margin:0 0 34px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.project-cover img{width:100%;display:block}.project-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:34px;align-items:start}.project-facts{position:sticky;top:96px;display:grid;gap:20px;padding:20px 0 0;border-top:2px solid var(--accent)}.fact{display:grid;gap:8px}.fact-label{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}.project-writeup{font-size:calc(1.05rem * var(--size-body, 1));line-height:1.8;color:var(--ink);max-width:68ch}.project-writeup p{color:var(--ink)}.project-gallery{margin-top:34px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gallery-item{margin:0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--line)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.project-pager{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.pager-link{display:grid;gap:6px;padding:18px 4px;text-decoration:none;border-top:1px solid var(--line);transition:border-color .25s ease,transform .25s ease}.pager-link:hover{border-top-color:var(--accent);transform:translateY(-3px)}.pager-next{text-align:right;justify-items:end}.pager-title{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.about-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);gap:34px;align-items:start;margin-top:10px}.about-main{font-size:calc(1.08rem * var(--size-body, 1));line-height:1.85}.about-side{position:sticky;top:96px;display:grid;gap:20px;justify-items:start;padding:20px 0 0;border-top:2px solid var(--accent)}.about-blocks{margin-top:80px}@media(max-width:900px){.section-block{grid-template-columns:1fr;gap:18px;margin-top:72px}.section-marker{position:static;grid-auto-flow:column;align-items:center;justify-content:start;gap:14px}.section-number{font-size:2.6rem}.section-tag{border-top:none;padding-top:0}.nav-links{gap:14px}.hero-panel{min-height:300px}.featured-grid,.work-grid,.project-gallery,.project-pager,.project-layout,.about-layout{grid-template-columns:1fr}.project-facts,.about-side{position:static}}#edit-toolbar{position:fixed;bottom:18px;left:18px;z-index:80;display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:.88rem;font-weight:600;box-shadow:0 16px 44px #0000004d}#edit-toolbar button{border:none;background:var(--accent);color:#fff;border-radius:999px;padding:7px 14px;font:inherit;cursor:pointer}#edit-toolbar a{color:var(--paper);text-decoration:none;opacity:.8}#edit-flash{min-width:0;opacity:.85;font-weight:500}body.editing [data-edit-setting],body.editing [data-edit-block-field]{outline:2px dashed color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:4px;cursor:text;border-radius:4px}body.editing [data-edit-setting]:focus,body.editing [data-edit-block-field]:focus{outline-style:solid}.hero.hero--no-panel{grid-template-columns:1fr}.hero.hero--no-panel .hero-copy{max-width:62ch}.hero-panel--photo{padding:0;overflow:hidden;background:none;border:none}.hero-panel--photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.cc-scope{min-width:0}.cc-scope img,.cc-scope video,.cc-scope iframe{max-width:100%}#ve-add-menu{position:fixed;bottom:72px;left:18px;z-index:86;width:300px;max-height:60vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);color:var(--ink);box-shadow:var(--shadow);font-family:var(--font-body);padding:10px}#ve-add-menu h4{margin:8px 6px 4px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}#ve-add-menu button{display:block;width:100%;text-align:left;border:none;background:none;color:inherit;font:inherit;font-size:.86rem;font-weight:600;padding:8px;border-radius:8px;cursor:pointer}#ve-add-menu button:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}#ve-add-menu button small{display:block;font-weight:500;font-size:.74rem;color:var(--ink-soft)}#ve-accent-wrap{display:inline-flex;align-items:center;gap:6px;cursor:pointer}#ve-accent-wrap input{inline-size:26px;block-size:26px;padding:0;border:2px solid rgba(255,255,255,.4);border-radius:50%;background:none;cursor:pointer}#ve-hover,#ve-selected{position:absolute;z-index:65;pointer-events:none;border:2px dashed color-mix(in srgb,var(--accent) 80%,transparent);border-radius:10px}#ve-selected{border-style:solid;z-index:66}#ve-hover-chip{position:absolute;top:-24px;left:0;white-space:nowrap;padding:2px 9px;border-radius:999px;background:var(--ink);color:var(--paper);font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.02em}.ve-chip{position:absolute;z-index:70;display:flex;align-items:center;gap:2px;padding:3px 6px;border-radius:999px;background:var(--ink);color:var(--paper);box-shadow:0 8px 24px #00000047;font-family:var(--font-body);font-size:.74rem}.ve-chip button{border:none;background:none;color:inherit;font:inherit;font-weight:700;padding:3px 6px;border-radius:999px;cursor:pointer}.ve-chip button:hover{background:#ffffff29}.ve-chip .ve-grip{cursor:grab;letter-spacing:-2px;touch-action:none}.ve-chip .ve-chip-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#ve-inspector{position:fixed;top:74px;right:16px;z-index:85;width:292px;max-height:calc(100vh - 110px);overflow:auto;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);color:var(--ink);box-shadow:var(--shadow);font-family:var(--font-body)}.ve-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);background:inherit;font-size:.92rem}.ve-head .ve-close{border:none;background:none;color:inherit;font-size:1.3rem;line-height:1;cursor:pointer;opacity:.7}.ve-body{display:grid;gap:12px;padding:14px}.ve-row{display:grid;grid-template-columns:82px 1fr auto;align-items:center;gap:8px;font-size:.8rem;font-weight:600}.ve-row-stack{grid-template-columns:1fr}.ve-row input[type=range]{width:100%;accent-color:var(--accent)}.ve-row output{min-width:40px;text-align:right;font-size:.76rem}.ve-row select,.ve-row input[type=text],.ve-row textarea{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg);color:inherit;font:inherit;font-weight:500;font-size:.82rem}.ve-row input[type=color]{inline-size:34px;block-size:26px;padding:0;border:1px solid var(--line);border-radius:6px;background:none;cursor:pointer}.ve-check{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;cursor:pointer}.ve-check input{accent-color:var(--accent)}.ve-move{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600}.ve-move button{flex:1;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--input-bg);color:inherit;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.ve-move button:hover{border-color:var(--accent);color:var(--accent)}.ve-hint{margin:0;font-size:.76rem;font-weight:500;line-height:1.5;color:var(--ink-soft)}.ve-action{padding:8px 12px;border:1.5px dashed var(--line);border-radius:10px;background:none;color:inherit;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;text-align:left}.ve-action:hover{border-color:var(--accent);color:var(--accent)}.ve-row textarea.ve-code{font-family:ui-monospace,Cascadia Code,Menlo,Consolas,monospace;font-size:.76rem;line-height:1.5;white-space:pre}.ve-link-rows{display:grid;gap:6px}.ve-link-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;gap:6px;align-items:center}.ve-link-row input{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg);color:inherit;font:inherit;font-size:.78rem}.ve-link-row button{border:none;background:none;color:inherit;font-size:.85rem;opacity:.6;cursor:pointer;padding:4px}.ve-link-row button:hover{opacity:1;color:var(--accent)}body.ve-on a[data-project-id],body.ve-on article[data-block-id]{cursor:grab}.ve-dragging{opacity:.45;outline:2px solid var(--accent);outline-offset:4px}body.ve-drag-active{cursor:grabbing;user-select:none}body.ve-map,body.ve-map a,body.ve-map button,body.ve-map summary{cursor:crosshair!important}body.ve-picking #main *,body.ve-picking .shell-zone *{cursor:crosshair!important}#ve-style.is-active{outline:2px solid #fff;outline-offset:-2px}.ve-group{margin:6px 0 -4px;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.shell-block{max-width:var(--content-width);margin:0 auto;padding:16px clamp(20px,4vw,44px)}@media(max-width:720px){#ve-inspector{inset:auto 10px 76px;width:auto;max-height:46vh}}
