:root{--paper: #f7f0e3;--paper-2: #efe3cf;--paper-3: #fdfaf3;--ink: #1b1815;--ink-soft: #433c34;--muted: #6d6257;--coral: #ff5c57;--mustard: #ffc233;--teal: #20b9a6;--pink: #ff9ecb;--lilac: #c3a5ff;--lime: #d4f56a;--blue: #4d6bff;--display: "Fraunces", Georgia, "Times New Roman", serif;--sans: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--hand: "Caveat", "Segoe Script", cursive;--shadow: 6px 6px 0 var(--ink);--shadow-sm: 3px 3px 0 var(--ink);--radius: 14px;--admin-bg: #f5f7fa;--admin-surface: #ffffff;--admin-border: #dce2ea;--admin-text: #111827;--admin-muted: #5b6675;--admin-accent: #2f52c8;--admin-accent-dark: #24409c;--admin-danger: #b42318;--admin-success: #17663f;--admin-warn: #7a4b00}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;font-family:var(--sans);color:var(--ink);background-color:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.handwriting{font-family:var(--hand);font-size:1.35rem;line-height:1.2}.muted{color:var(--muted)}.inline-icon{display:inline-block;vertical-align:-.2em}.container{width:min(1180px,100% - 3rem);margin-inline:auto}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:300;padding:.65rem 1rem;background:var(--ink);color:var(--paper-3);border-radius:8px;font-weight:600;transform:translateY(-160%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.72rem 1.25rem;border:2px solid var(--ink);border-radius:999px;background:var(--paper-3);color:var(--ink);font-weight:600;font-size:.95rem;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease}.btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}.btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.btn--ink{background:var(--ink);color:var(--paper-3)}.btn--paper{background:var(--mustard)}.btn--ghost{background:transparent;box-shadow:none;border-style:dashed}.btn--ghost:hover{background:#1b18150f;box-shadow:none;transform:none}.tape{position:absolute;top:-13px;left:50%;width:112px;height:26px;background:#ffc233c7;border:1px solid rgba(27,24,21,.14);clip-path:polygon(2% 10%,98% 0,100% 90%,0 100%);transform:translate(-50%) rotate(-4deg);mix-blend-mode:multiply;pointer-events:none}.tape--teal{background:#20b9a6b3}.tape--pink{background:#ff9ecbcc}.tape--coral{background:#ff5c57b8}.sticker{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border:2px solid var(--ink);border-radius:999px;background:var(--paper-3);box-shadow:2px 2px 0 var(--ink);font-size:.76rem;font-weight:700;letter-spacing:.03em;line-height:1.3}.sticker--mustard{background:var(--mustard)}.sticker--teal{background:var(--teal)}.sticker--pink{background:var(--pink)}.sticker--lilac{background:var(--lilac)}.sticker--coral{background:var(--coral);color:#fff}.sticker--paper{background:var(--paper-3)}.sticker--rotate{transform:rotate(-4deg)}.paper-card{position:relative;background-color:var(--paper-3);background-image:repeating-linear-gradient(0deg,rgba(27,24,21,.022) 0,rgba(27,24,21,.022) 1px,transparent 1px,transparent 4px);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.9rem}.marker{background-image:linear-gradient(transparent 58%,var(--mustard) 58%);background-repeat:no-repeat;padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.marker--teal{background-image:linear-gradient(transparent 58%,#20b9a699 58%)}.toast-stack{position:fixed;top:1rem;right:1rem;z-index:400;display:grid;gap:.6rem;width:min(380px,calc(100vw - 2rem))}.toast{display:flex;align-items:flex-start;gap:.75rem;justify-content:space-between;padding:.85rem 1rem;background:var(--paper-3);border:2px solid var(--ink);border-radius:10px;box-shadow:var(--shadow-sm);font-size:.92rem;font-weight:500}.toast--success{border-left:8px solid var(--teal)}.toast--error{border-left:8px solid var(--coral)}.toast--info{border-left:8px solid var(--blue)}.toast-close{border:0;background:transparent;font-size:1.2rem;line-height:1;padding:0 .15rem}.loading-screen{min-height:100vh;display:grid;place-items:center;background-color:#fff;background-image:radial-gradient(38% 34% at 14% 16%,#f5e7a066,#f5e7a000 72%),radial-gradient(34% 30% at 86% 84%,#f5e7a042,#f5e7a000 72%),radial-gradient(rgba(23,23,23,.05) 1.2px,transparent 1.2px),repeating-linear-gradient(104deg,rgba(23,23,23,.018) 0 1px,transparent 1px 9px);background-size:auto,auto,22px 22px,150px 150px;color:#171717}.loading-sticker{background:#fff;border:3px solid #171717;box-shadow:8px 8px #171717,12px 12px #f5e7a0;padding:2rem 2.5rem;transform:rotate(-2deg);text-align:center}.loading-star{display:block;font-size:2.4rem;color:#171717;animation:spin 1.6s linear infinite}.loading-sticker .handwriting{margin-top:.5rem;font-size:1.6rem;color:#171717}.fatal-error{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:1rem;padding:2rem;text-align:center;font-family:var(--sans)}.fatal-error h1{font-family:var(--display);font-size:clamp(1.8rem,5vw,3rem)}.fatal-error__code{font-family:var(--display);font-size:clamp(4rem,18vw,9rem);line-height:.9;color:var(--coral);-webkit-text-stroke:2px var(--ink)}.fatal-error button,.fatal-error a{padding:.7rem 1.2rem;background:var(--ink);color:var(--paper-3);border:2px solid var(--ink);border-radius:999px;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.container{width:calc(100% - 2rem)}.paper-card{padding:1.35rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.public-site{position:relative;isolation:isolate;overflow-x:clip;background-color:var(--paper);background-image:radial-gradient(rgba(27,24,21,.09) 1px,transparent 1px),linear-gradient(rgba(27,24,21,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(27,24,21,.035) 1px,transparent 1px),repeating-linear-gradient(102deg,rgba(32,32,42,.018) 0 1px,transparent 1px 7px),repeating-linear-gradient(14deg,rgba(255,255,255,.32) 0 1px,transparent 1px 9px);background-size:24px 24px,96px 96px,96px 96px,150px 150px,110px 110px}.site-nav{position:sticky;top:0;z-index:80;background:#f7f0e3f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid var(--ink)}.site-nav__inner{position:relative;width:min(1240px,100% - 2rem);margin-inline:auto;min-height:74px;display:flex;align-items:center;gap:1.5rem}.site-brand{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:700;font-size:1.25rem;letter-spacing:-.02em;white-space:nowrap}.site-brand__spark{color:var(--coral);transform:rotate(-12deg)}.site-nav__links{display:flex;align-items:center;gap:1.15rem;margin-inline:auto}.site-nav__link{position:relative;font-size:.86rem;font-weight:600;letter-spacing:.02em;padding:.25rem 0}.site-nav__link:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.site-nav__link:hover:after,.site-nav__link:focus-visible:after{transform:scaleX(1)}.site-nav__link--admin{color:var(--muted)}.site-nav__actions{display:flex;align-items:center;gap:.5rem}.nav-pill{display:inline-flex;align-items:center;padding:.45rem .85rem;border:2px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--paper-3);font-size:.78rem;font-weight:700;white-space:nowrap}.nav-pill--cv{background:var(--mustard);color:var(--ink)}.nav-toggle{display:none;align-items:center;gap:.45rem;margin-left:auto;padding:.45rem .75rem;border:2px solid var(--ink);border-radius:8px;background:var(--paper-3);font-size:.8rem;font-weight:700}.nav-toggle__bars{width:16px;height:2px;background:var(--ink);box-shadow:0 5px 0 var(--ink),0 -5px 0 var(--ink)}.hero{position:relative;padding:clamp(2.5rem,6vw,5rem) 0 0;overflow:hidden}.hero__paper{position:absolute;top:-18%;right:-12%;width:min(640px,70vw);aspect-ratio:1;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),transparent 60%),var(--mustard);border-radius:44% 56% 61% 39%/52% 38% 62% 48%;opacity:.42;transform:rotate(12deg)}.hero__inner{position:relative;z-index:2;width:min(1180px,100% - 3rem);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);padding-bottom:clamp(3rem,6vw,5rem)}.hero__hello{display:inline-block;font-size:clamp(1.5rem,2.5vw,2rem);color:var(--ink-soft);transform:rotate(-2deg);margin-bottom:.35rem}.hero__name{font-family:var(--display);font-size:clamp(3.3rem,9vw,7.4rem);font-weight:900;line-height:.88;letter-spacing:-.045em;margin-bottom:1rem;text-wrap:balance}.hero__dot{color:var(--coral);-webkit-text-stroke:2px var(--ink)}.hero__headline{font-size:clamp(1.15rem,2vw,1.55rem);font-weight:500;line-height:1.35;max-width:34ch;margin-bottom:.9rem}.hero__tagline{font-size:1rem;line-height:1.7;color:var(--muted);max-width:44ch;margin-bottom:1.6rem}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.6rem}.hero__facts{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-size:.84rem;font-weight:500;color:var(--ink-soft)}.hero__facts li{display:inline-flex;align-items:center;gap:.35rem}.hero__facts a{border-bottom:2px solid var(--mustard)}.hero__portrait{position:relative;justify-self:center;width:min(360px,100%);padding:1rem 1.5rem 2rem}.polaroid{position:relative;background:#fffdf8;border:2px solid var(--ink);box-shadow:10px 10px 0 var(--ink);padding:.85rem .85rem 3rem}.hero__polaroid{transform:rotate(3deg)}.hero__photo{width:100%;aspect-ratio:4 / 5;object-fit:cover;border:2px solid var(--ink);background:var(--paper-2);filter:saturate(1.05) contrast(1.02)}.hero__photo--empty{display:grid;place-content:center;gap:.4rem;text-align:center;background:repeating-linear-gradient(45deg,var(--paper-2),var(--paper-2) 14px,var(--paper-3) 14px,var(--paper-3) 28px)}.hero__photo--empty span{font-family:var(--display);font-size:clamp(3rem,8vw,5rem);font-weight:900;line-height:1}.hero__photo--empty small{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.hero__caption{position:absolute;bottom:.4rem;left:0;right:0;text-align:center;font-size:1.4rem;transform:rotate(-3deg)}.hero__sticker{position:absolute;left:-1.4rem;bottom:3.2rem;transform:rotate(-7deg);z-index:3}.hero__sticker--two{left:auto;right:-1.2rem;top:2rem;bottom:auto;transform:rotate(6deg);background:var(--pink)}.hero__star{position:absolute;top:-.8rem;left:.2rem;color:var(--coral);transform:rotate(-14deg)}.hero__arrow{position:absolute;right:-2.2rem;top:42%;color:var(--ink);transform:rotate(12deg)}.hero__sparkle{position:absolute;color:var(--lilac);z-index:1}.hero__sparkle--one{top:18%;left:4%}.hero__sparkle--two{bottom:22%;left:46%;color:var(--teal)}.hero__flower{position:absolute;right:6%;bottom:8%;z-index:1;transform:rotate(9deg)}.hero__ticker{position:relative;z-index:3;padding:.7rem 0;background:var(--ink);color:var(--paper-3);border-block:2px solid var(--ink);overflow:hidden;transform:rotate(-1.2deg) scale(1.03)}.ticker__track{display:flex;width:max-content;animation:marquee 26s linear infinite}.ticker__group{display:inline-flex;align-items:center;gap:1.4rem;padding-right:1.4rem;font-family:var(--display);font-size:1.02rem;font-weight:700;letter-spacing:.12em;white-space:nowrap}.ticker__group b{color:var(--mustard)}@keyframes marquee{to{transform:translate(-50%)}}.section{position:relative;padding:clamp(3.5rem,8vw,6.5rem) 0}.section--tint{background:#fdfaf338;border-block:2px dashed rgba(27,24,21,.28)}.section--tint:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(27,24,21,.08) 1px,transparent 1px);background-size:18px 18px;opacity:.32;pointer-events:none}.section>.container{position:relative}.section-heading{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-bottom:clamp(2rem,4vw,3.25rem)}.section-index{width:62px;height:62px;display:grid;place-items:center;font-family:var(--display);font-size:1.45rem;font-weight:900;transform:rotate(-7deg);flex-shrink:0;box-shadow:3px 3px 0 var(--ink)}.section-kicker{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}.section-title{font-family:var(--display);font-size:clamp(2.4rem,5.5vw,4.2rem);font-weight:900;line-height:.95;letter-spacing:-.035em}.section-squiggle{width:180px;height:16px;margin-top:.4rem;color:var(--coral)}.section-note{margin-left:auto;max-width:210px;font-size:1.4rem;color:var(--ink-soft);transform:rotate(-2deg);text-align:right}.about-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr);gap:clamp(1.8rem,4vw,3rem);align-items:start}.about-copy{transform:rotate(-.6deg);padding-top:2.4rem}.about-lead{font-size:clamp(1.45rem,2.4vw,1.9rem);line-height:1.25;margin-bottom:1.2rem}.about-paragraph{font-size:1rem;line-height:1.8;margin-bottom:.95rem;max-width:62ch}.about-sign{text-align:right;font-size:1.6rem;margin-top:1.2rem;transform:rotate(-2deg)}.about-sparkle{position:absolute;top:1.1rem;right:1.2rem;color:var(--mustard)}.about-side{display:grid;gap:1.4rem}.about-facts{transform:rotate(1.2deg)}.card-title{font-family:var(--display);font-size:1.5rem;font-weight:700;margin-bottom:.9rem}.fact-list__row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:.75rem;padding:.6rem 0;border-bottom:1px dashed rgba(27,24,21,.3);font-size:.9rem}.fact-list__row:last-child{border-bottom:0}.fact-list dt{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:.15rem}.fact-list dd{overflow-wrap:anywhere}.fact-list a{border-bottom:2px solid var(--mustard)}.social-cloud{display:flex;flex-wrap:wrap;gap:.55rem}.social-chip{font-size:.78rem}.note-card{padding:1rem 1.1rem;border:2px dashed var(--ink);border-radius:10px;background:var(--lime);font-size:.88rem;line-height:1.55;transform:rotate(-1.6deg)}.note-card .handwriting{font-size:1.5rem;margin-right:.2rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:2rem 1.8rem}.skill-card{padding:2.5rem 1.5rem 1.5rem}.skill-card--1{transform:rotate(-1deg)}.skill-card--2{transform:rotate(.9deg)}.skill-card--3{transform:rotate(-.7deg)}.skill-card--4{transform:rotate(1.1deg)}.skill-card__label{position:absolute;top:-15px;left:1.2rem}.skill-list{display:grid;gap:1.05rem}.skill-row__top{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin-bottom:.3rem}.skill-name{font-weight:600;font-size:.98rem}.skill-level{font-size:1.2rem;color:var(--muted)}.skill-meter{height:10px;background:var(--paper-2);border:1.5px solid var(--ink);border-radius:999px;overflow:hidden}.skill-meter__fill{display:block;height:100%;background:var(--teal);border-right:2px solid var(--ink)}.skill-card--2 .skill-meter__fill{background:var(--coral)}.skill-card--3 .skill-meter__fill{background:var(--lilac)}.skill-card--4 .skill-meter__fill{background:var(--mustard)}.empty-note{padding:1.2rem 1.4rem;border:2px dashed var(--ink);border-radius:10px;background:var(--paper-3);max-width:520px}.education-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem 1.8rem}.education-card{padding-top:2.4rem}.education-card--1{transform:rotate(-.8deg)}.education-card--2{transform:rotate(1deg)}.education-card--3{transform:rotate(-1.2deg)}.education-card__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.education-card__logo{max-height:42px;width:auto;max-width:120px;object-fit:contain}.education-card__badge{font-size:1.9rem;line-height:1}.education-card__degree{font-family:var(--display);font-size:1.4rem;font-weight:700;line-height:1.1}.education-card__school{margin-top:.45rem;font-weight:600}.education-card__field{margin-top:.2rem;font-size:.9rem;color:var(--muted)}.education-card__description{margin-top:.7rem;font-size:.92rem;line-height:1.65}.timeline{position:relative;max-width:980px;margin-inline:auto;padding:.5rem 0}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:2px dashed rgba(27,24,21,.4)}.timeline__item{position:relative;width:50%;padding-right:2.6rem;margin-bottom:2.2rem}.timeline__item.is-flipped{margin-left:50%;padding-right:0;padding-left:2.6rem}.timeline__dot{position:absolute;top:32px;right:-10px;width:18px;height:18px;border:2px solid var(--ink);border-radius:50%;background:var(--mustard);z-index:2}.timeline__item.is-flipped .timeline__dot{right:auto;left:-10px;background:var(--teal)}.timeline__card{transform:rotate(-.8deg)}.timeline__item.is-flipped .timeline__card{transform:rotate(.9deg)}.timeline__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.7rem}.timeline__role{font-family:var(--display);font-size:1.45rem;font-weight:700;line-height:1.1}.timeline__company{margin-top:.35rem;font-size:.92rem;font-weight:600}.timeline__company span{color:var(--muted);font-weight:400}.timeline__company a{border-bottom:2px solid var(--mustard)}.timeline__description{margin-top:.55rem;font-size:.94rem;line-height:1.7}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.2rem 1.8rem}.project-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.project-card--1{transform:rotate(-.7deg)}.project-card--2{transform:rotate(.6deg)}.project-card--3{transform:rotate(-.5deg)}.project-card--4{transform:rotate(.8deg)}.project-card__media{position:relative;border-bottom:2px solid var(--ink);background:var(--paper-2)}.project-card__image{width:100%;aspect-ratio:16 / 10;object-fit:cover}.project-art{aspect-ratio:16 / 10;display:grid;place-content:center;gap:.25rem;text-align:center;padding:1rem}.project-art--1{background:repeating-linear-gradient(45deg,rgba(27,24,21,.09) 0,rgba(27,24,21,.09) 10px,transparent 10px,transparent 20px),var(--mustard)}.project-art--2{background:radial-gradient(rgba(27,24,21,.14) 2px,transparent 2px),var(--teal);background-size:16px 16px}.project-art--3{background:repeating-linear-gradient(90deg,rgba(27,24,21,.1) 0,rgba(27,24,21,.1) 2px,transparent 2px,transparent 22px),var(--pink)}.project-art--4{background:repeating-linear-gradient(-45deg,rgba(27,24,21,.1) 0,rgba(27,24,21,.1) 12px,transparent 12px,transparent 24px),var(--lilac)}.project-art__number{font-family:var(--display);font-size:4rem;font-weight:900;line-height:.9;color:#1b1815d9}.project-art__label{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.project-card__flag{position:absolute;top:.8rem;left:.8rem;transform:rotate(-4deg);z-index:2}.project-card__body{padding:1.4rem;display:flex;flex-direction:column;flex:1}.project-card__heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.project-card__title{font-family:var(--display);font-size:1.5rem;font-weight:700;line-height:1.08}.project-card__date{font-size:1.1rem;color:var(--muted);white-space:nowrap}.project-card__summary{margin-top:.6rem;font-size:.93rem;line-height:1.65}.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}.tag{padding:.16rem .55rem;border:1.5px solid var(--ink);border-radius:999px;background:var(--paper);font-size:.7rem;font-weight:600}.project-card__links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:auto;padding-top:1rem}.text-link{font-size:.86rem;font-weight:700;border-bottom:2px solid var(--ink);transition:color .15s ease}.text-link:hover{color:var(--coral)}.certificates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem 1.8rem}.certificate-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.certificate-card--1{transform:rotate(-.7deg)}.certificate-card--2{transform:rotate(.8deg)}.certificate-card--3{transform:rotate(-.4deg)}.certificate-card__media{border-bottom:2px solid var(--ink);background:var(--paper-2)}.certificate-card__media img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.certificate-art{aspect-ratio:4 / 3;display:grid;place-content:center;gap:.3rem;text-align:center;background:repeating-linear-gradient(-45deg,rgba(27,24,21,.08) 0,rgba(27,24,21,.08) 10px,transparent 10px,transparent 20px),var(--lilac)}.certificate-art span{font-size:2.4rem;line-height:1}.certificate-art small{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.certificate-card__body{padding:1.3rem;display:flex;flex-direction:column;flex:1}.certificate-card__title{font-family:var(--display);font-size:1.25rem;font-weight:700;line-height:1.15;margin-top:.55rem}.certificate-card__issuer{margin-top:.3rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.certificate-card__description{margin-top:.6rem;font-size:.9rem;line-height:1.6}.certificate-card__id{margin-top:.6rem;font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}.certificate-card__id span{font-weight:700;text-transform:uppercase;letter-spacing:.08em}.certificate-card__links{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:auto;padding-top:1rem}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.2rem;align-items:start}.contact-card{background-color:#fff4d6;transform:rotate(-.6deg);padding-top:2.4rem}.contact-hello{font-size:2.1rem;color:var(--coral);transform:rotate(-2deg);display:inline-block}.contact-title{font-family:var(--display);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:900;line-height:1.05;letter-spacing:-.025em;margin:.35rem 0 .8rem}.contact-copy{font-size:.95rem;line-height:1.7}.contact-details{margin-top:1.2rem}.contact-details__row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:.7rem;padding:.6rem 0;border-bottom:1px dashed rgba(27,24,21,.3);font-size:.9rem}.contact-details dt{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:.15rem}.contact-details dd{overflow-wrap:anywhere}.contact-details a{border-bottom:2px solid var(--coral)}.social-cloud--contact{margin-top:1.2rem}.contact-calendly{margin-top:1.3rem}.contact-sparkle{position:absolute;top:1rem;right:1.1rem;color:var(--teal)}.contact-arrow{position:absolute;bottom:-1.4rem;right:1.2rem;transform:rotate(-8deg);opacity:.7}.contact-form{transform:rotate(.7deg);padding-top:2.2rem}.form-intro{font-size:.9rem;color:var(--muted);margin-top:-.4rem;margin-bottom:1.1rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.field{margin-bottom:1rem}.field label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.04em;margin-bottom:.35rem}.field input,.field textarea{width:100%;padding:.65rem .8rem;border:2px solid var(--ink);border-radius:8px;background:var(--paper);box-shadow:2px 2px #1b18152e;font-size:.92rem}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{background:#fffdf8;outline:3px solid var(--teal);outline-offset:1px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.turnstile-wrap{margin:.6rem 0 .2rem;min-height:65px}.contact-submit{width:100%;margin-top:.3rem}.form-status{margin-top:.9rem;padding:.65rem .85rem;border:2px solid var(--ink);border-radius:8px;font-size:.86rem;font-weight:500}.form-status--sending{background:var(--paper-2)}.form-status--success{background:#20b9a647}.form-status--error{background:#ff5c5740}.site-footer{position:relative;overflow:hidden;padding:3rem 0 2.5rem;background-color:var(--ink);color:var(--paper-3);border-top:2px solid var(--ink);background-image:radial-gradient(rgba(253,250,243,.12) 1px,transparent 1px);background-size:20px 20px}.site-footer__inner{display:grid;grid-template-columns:1fr auto;gap:1.5rem 2rem;align-items:start}.site-footer__name{font-family:var(--display);font-size:2rem;font-weight:900;letter-spacing:-.02em}.site-footer__note{margin-top:.35rem;font-size:.85rem;opacity:.7;max-width:40ch}.site-footer__links{display:flex;flex-wrap:wrap;gap:.7rem 1.3rem;justify-content:flex-end;font-size:.86rem;font-weight:600}.site-footer__links a{border-bottom:2px solid var(--mustard)}.site-footer__copy{grid-column:1 / -1;margin-top:1rem;padding-top:1.2rem;border-top:1px dashed rgba(253,250,243,.3);font-size:.8rem;opacity:.8}.dev-note{position:fixed;left:.75rem;bottom:.75rem;z-index:120;max-width:340px;padding:.55rem .75rem;background:var(--paper-3);border:2px solid var(--ink);border-radius:8px;box-shadow:var(--shadow-sm);font-size:.72rem;line-height:1.45}@media (min-width: 900px){.project-card.is-featured{grid-column:span 2}.project-card.is-featured .project-card__image,.project-card.is-featured .project-art{aspect-ratio:21 / 9}}@media (max-width: 1000px){.hero__arrow{display:none}.about-grid{grid-template-columns:1fr}.about-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.note-card{grid-column:1 / -1}}@media (max-width: 900px){.hero__inner{grid-template-columns:1fr;gap:2.5rem;padding-top:1rem}.hero__copy{text-align:left}.hero__portrait{max-width:330px;margin-inline:auto}.hero__flower{display:none}.contact-grid,.site-footer__inner{grid-template-columns:1fr}.site-footer__links{justify-content:flex-start}}@media (max-width: 820px){.nav-toggle{display:inline-flex}.site-nav__actions{display:none}.site-nav__links{position:absolute;top:calc(100% + 2px);left:-1rem;right:-1rem;display:none;flex-direction:column;align-items:flex-start;gap:.2rem;padding:1rem 1.5rem 1.4rem;background:var(--paper-3);border-bottom:2px solid var(--ink);box-shadow:0 12px #1b181514;margin-inline:0}.site-nav__links.is-open{display:flex}.site-nav__link{width:100%;padding:.6rem 0;border-bottom:1px dashed rgba(27,24,21,.25)}.site-nav__link:after{display:none}.site-nav__link--admin{border-bottom:0;color:var(--coral)}.timeline:before{left:9px}.timeline__item,.timeline__item.is-flipped{width:100%;margin-left:0;padding-left:2.6rem;padding-right:0}.timeline__dot,.timeline__item.is-flipped .timeline__dot{left:0;right:auto;background:var(--mustard)}}@media (max-width: 640px){.hero__name{font-size:clamp(3rem,17vw,4.6rem)}.hero__facts{flex-direction:column;gap:.4rem}.section-index{width:52px;height:52px;font-size:1.2rem}.section-note{display:none}.about-side{grid-template-columns:1fr}.fact-list__row,.contact-details__row{grid-template-columns:92px minmax(0,1fr)}.field-row{grid-template-columns:1fr;gap:0}.projects-grid,.certificates-grid{gap:2rem 1rem}.hero__sticker{left:-.5rem}.hero__sticker--two{right:-.5rem}.ticker__group{font-size:.88rem}}@media (max-width: 420px){.hero__portrait{max-width:270px}.hero__actions{gap:.5rem}.btn{padding:.65rem 1rem;font-size:.88rem}}.public-site:before,.public-site:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.public-site:before{top:-24vmax;right:-24vmax;bottom:-24vmax;left:-24vmax;z-index:-2;background-image:radial-gradient(42% 38% at 18% 22%,#c6b5e842,#c6b5e800 70%),radial-gradient(38% 34% at 82% 16%,#f5f0e8b3,#f5f0e800 72%),radial-gradient(46% 42% at 74% 82%,#30266f14,#30266f00 70%),radial-gradient(40% 36% at 24% 78%,#c6b5e82e,#c6b5e800 72%);opacity:.8;animation:living-light 52s ease-in-out infinite alternate;will-change:transform,opacity}.public-site:after{top:-20%;right:-20%;bottom:-20%;left:-20%;background-image:radial-gradient(rgba(32,32,42,.05) .6px,transparent .9px),radial-gradient(rgba(255,255,255,.65) .6px,transparent .9px),repeating-linear-gradient(101deg,rgba(32,32,42,.016) 0 1px,transparent 1px 6px),repeating-linear-gradient(11deg,rgba(255,255,255,.26) 0 1px,transparent 1px 8px);background-size:4px 4px,7px 7px,130px 130px,100px 100px;background-position:0 0,2px 3px,0 0,0 0;opacity:.5;animation:living-grain 34s linear infinite;will-change:transform}.site-footer:before{content:"";position:absolute;top:-15%;right:-15%;bottom:-15%;left:-15%;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(253,250,243,.16) .6px,transparent .9px),repeating-linear-gradient(107deg,rgba(253,250,243,.05) 0 1px,transparent 1px 8px);background-size:5px 5px,120px 120px;opacity:.5;animation:footer-grain 44s linear infinite;will-change:transform}.site-footer__inner,.site-footer__copy{position:relative;z-index:1}.hero__sparkle,.hero__flower,.about-sparkle,.contact-sparkle{animation:living-float 22s ease-in-out infinite;will-change:transform}.hero__sparkle,.about-sparkle,.contact-sparkle{--float-rot: 0deg}.hero__sparkle--one{animation-duration:19s;animation-delay:-3s}.hero__sparkle--two{animation-duration:25s;animation-delay:-11s}.hero__flower{--float-rot: 9deg;animation-duration:28s;animation-delay:-7s}.about-sparkle{animation-duration:23s;animation-delay:-14s}.contact-sparkle{animation-duration:21s;animation-delay:-5s}.hero__paper{animation:living-blob 42s ease-in-out infinite alternate;will-change:transform}@keyframes living-light{0%{transform:translate3d(-2%,-1%,0) scale(1) rotate(0);opacity:.55}50%{transform:translate3d(2%,1.5%,0) scale(1.06) rotate(1.5deg);opacity:.8}to{transform:translate3d(1%,-1.5%,0) scale(1.02) rotate(-1deg);opacity:.65}}@keyframes living-grain{0%{transform:translateZ(0)}25%{transform:translate3d(-6px,4px,0)}50%{transform:translate3d(4px,-5px,0)}75%{transform:translate3d(-3px,-3px,0)}to{transform:translateZ(0)}}@keyframes footer-grain{0%,to{transform:translateZ(0)}50%{transform:translate3d(-5px,4px,0)}}@keyframes living-float{0%,to{transform:translateZ(0) rotate(var(--float-rot, 0deg))}50%{transform:translate3d(0,-7px,0) rotate(var(--float-rot, 0deg))}}@keyframes living-blob{0%{transform:rotate(12deg) scale(1)}to{transform:rotate(14deg) scale(1.045)}}@media (max-width: 640px){.public-site:before{opacity:.58;animation-duration:72s}.public-site:after{opacity:.4;background-size:5px 5px,9px 9px,150px 150px,120px 120px;animation-duration:48s}.site-footer:before{opacity:.38;animation-duration:60s}.hero__paper{animation-duration:58s}}@media (prefers-reduced-motion: reduce){.public-site:before,.public-site:after,.site-footer:before,.hero__paper,.hero__sparkle,.hero__flower,.about-sparkle,.contact-sparkle{animation:none!important;will-change:auto}}html.scrapbook-loader-open,html.scrapbook-loader-open body{overflow:hidden;overscroll-behavior:none}html.scrapbook-loader-open body{padding-right:var(--scrapbook-scrollbar-gap, 0px)}.scrapbook-loader{--loader-black: #171717;--loader-white: #ffffff;--loader-yellow: #f5e7a0;--loader-gray: #f1f1f1;--ink: #171717;position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:grid;place-items:center;overflow:hidden;color:var(--loader-black);background-color:var(--loader-white);isolation:isolate;pointer-events:auto}.scrapbook-loader__texture{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-color:var(--loader-white);background-image:radial-gradient(rgba(23,23,23,.045) .8px,transparent 1px),radial-gradient(rgba(23,23,23,.022) .9px,transparent 1.2px),repeating-linear-gradient(104deg,rgba(23,23,23,.016) 0 1px,transparent 1px 8px),repeating-linear-gradient(13deg,rgba(23,23,23,.012) 0 1px,transparent 1px 9px);background-size:4px 4px,7px 7px,150px 150px,120px 120px}.scrapbook-loader:before{content:"";position:absolute;top:-15%;right:-15%;bottom:-15%;left:-15%;z-index:1;pointer-events:none;background-image:radial-gradient(32% 28% at 12% 14%,#f5e7a06b,#f5e7a000 72%),radial-gradient(28% 26% at 88% 86%,#f5e7a047,#f5e7a000 72%),radial-gradient(44% 42% at 52% 50%,#fffffff5,#fff0 74%);animation:scrapbook-ambient 8s ease-in-out infinite alternate}.scrapbook-loader:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background-image:radial-gradient(rgba(23,23,23,.12) .6px,transparent 1px);background-size:5px 5px;opacity:.3;mix-blend-mode:multiply}.scrapbook-loader__decor{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;animation:scrapbook-decor-in .7s ease both}.scrapbook-loader__tape{position:absolute;width:clamp(82px,10vw,148px);height:clamp(22px,2.6vw,34px);background-color:var(--loader-yellow);background-image:repeating-linear-gradient(45deg,transparent 0 7px,rgba(23,23,23,.12) 7px 8px);border:2px solid var(--loader-black);clip-path:polygon(2% 10%,98% 0,100% 90%,0 100%);box-shadow:3px 3px #17171724;opacity:.96}.scrapbook-loader__tape--one{top:8%;left:5%;transform:rotate(-12deg)}.scrapbook-loader__tape--two{top:17%;right:4%;background-color:var(--loader-white);transform:rotate(8deg)}.scrapbook-loader__tape--three{bottom:12%;left:11%;transform:rotate(5deg)}.scrapbook-loader__scrap{position:absolute;border:2px solid var(--loader-black);box-shadow:4px 4px #17171729}.scrapbook-loader__scrap--one{width:clamp(64px,8vw,108px);height:clamp(48px,6vw,80px);top:13%;right:11%;background-color:var(--loader-yellow);background-image:repeating-linear-gradient(0deg,rgba(23,23,23,.06) 0 1px,transparent 1px 9px);transform:rotate(8deg)}.scrapbook-loader__scrap--two{width:clamp(58px,7vw,94px);height:clamp(42px,5vw,68px);bottom:15%;left:6%;background-color:var(--loader-black);background-image:radial-gradient(var(--loader-yellow) 1.2px,transparent 1.5px);background-size:8px 8px;transform:rotate(-9deg)}.scrapbook-loader__scrap--three{width:clamp(46px,5.5vw,72px);height:clamp(46px,5.5vw,72px);top:29%;left:8%;background-color:var(--loader-white);background-image:repeating-linear-gradient(135deg,rgba(245,231,160,.95) 0 7px,transparent 7px 15px);transform:rotate(12deg)}.scrapbook-loader__dot-grid{position:absolute;width:clamp(62px,7vw,94px);height:clamp(48px,5.5vw,70px);right:18%;bottom:27%;background-image:radial-gradient(var(--loader-black) 1.4px,transparent 1.7px);background-size:10px 10px;opacity:.55;transform:rotate(-5deg)}.scrapbook-loader__line{position:absolute;background:var(--loader-black);opacity:.55}.scrapbook-loader__line--one{width:clamp(70px,13vw,190px);height:3px;top:24%;left:4%;transform:rotate(-5deg)}.scrapbook-loader__line--two{width:3px;height:clamp(56px,12vh,116px);right:6%;bottom:22%;transform:rotate(4deg)}.scrapbook-loader__ring{position:absolute;width:clamp(54px,7vw,92px);aspect-ratio:1;right:12%;bottom:17%;border:3px dashed rgba(23,23,23,.55);border-radius:50%;transform:rotate(-8deg)}.scrapbook-loader__sparkle,.scrapbook-loader__star{position:absolute}.scrapbook-loader__sparkle{color:var(--loader-black)}.scrapbook-loader__sparkle--one{top:11%;left:28%;transform:rotate(-12deg);animation:scrapbook-twinkle 4.2s ease-in-out infinite}.scrapbook-loader__sparkle--two{right:27%;bottom:13%;transform:rotate(14deg);animation:scrapbook-twinkle 5.2s ease-in-out -1.6s infinite}.scrapbook-loader__star{top:72%;left:5%;color:var(--loader-yellow);transform:rotate(-14deg);animation:scrapbook-twinkle 5.8s ease-in-out -.8s infinite}.scrapbook-loader__squiggle{position:absolute;width:clamp(120px,16vw,210px);right:26%;bottom:9%;opacity:.7;transform:rotate(-6deg)}.scrapbook-loader__arrow{position:absolute;left:20%;bottom:8%;opacity:.7;transform:rotate(-8deg)}.scrapbook-loader__stamp{position:absolute;right:4%;bottom:22%;padding:.4rem .6rem;border:2px solid var(--loader-black);background:var(--loader-black);color:var(--loader-yellow);box-shadow:3px 3px 0 var(--loader-yellow);font-family:var(--sans);font-size:.58rem;font-weight:700;letter-spacing:.18em;line-height:1;text-transform:uppercase;transform:rotate(-8deg)}.scrapbook-loader__card{position:relative;z-index:4;width:min(720px,calc(100vw - 2.5rem));padding:clamp(1.7rem,4vw,2.6rem) clamp(1.4rem,4vw,3rem) clamp(1.5rem,3.6vw,2.3rem);border:3px solid var(--loader-black);outline:1px dashed rgba(23,23,23,.22);outline-offset:-11px;background-color:var(--loader-white);background-image:repeating-linear-gradient(0deg,rgba(23,23,23,.028) 0 1px,transparent 1px 5px),radial-gradient(rgba(23,23,23,.045) .7px,transparent 1px);background-size:auto,5px 5px;box-shadow:10px 10px 0 var(--loader-black);text-align:center;transform:rotate(-.8deg);animation:scrapbook-card-in .62s cubic-bezier(.22,.8,.24,1) both}.scrapbook-loader__card:before{content:"PAGE 01";position:absolute;top:.65rem;right:.9rem;font-family:var(--sans);font-size:.55rem;font-weight:700;letter-spacing:.2em;opacity:.55}.scrapbook-loader__card-tape{position:absolute;top:-14px;left:50%;width:clamp(92px,12vw,132px);height:27px;background-color:var(--loader-yellow);background-image:repeating-linear-gradient(45deg,transparent 0 7px,rgba(23,23,23,.12) 7px 8px);border:2px solid var(--loader-black);clip-path:polygon(2% 10%,98% 0,100% 90%,0 100%);transform:translate(-50%) rotate(-3deg)}.scrapbook-loader__kicker,.scrapbook-loader__eyebrow,.scrapbook-loader__caption{font-family:var(--sans);font-weight:700;text-transform:uppercase}.scrapbook-loader__kicker{display:block;font-size:clamp(.58rem,1.4vw,.7rem);letter-spacing:.34em}.scrapbook-loader__name{max-width:100%;margin-top:.15rem;font-family:var(--hand);font-size:clamp(3rem,9vw,6rem);font-weight:700;line-height:.95;letter-spacing:-.01em;color:var(--loader-black);overflow-wrap:anywhere;text-wrap:balance}.scrapbook-loader__rule{display:block;width:min(250px,46vw);height:3px;margin:.8rem auto .55rem;background:var(--loader-black);transform:rotate(-.6deg)}.scrapbook-loader__eyebrow{font-size:clamp(.68rem,1.6vw,.82rem);letter-spacing:.4em}.scrapbook-loader__progress{display:flex;align-items:center;gap:clamp(.55rem,1.6vw,.9rem);margin-top:clamp(1.4rem,4vh,2.1rem)}.scrapbook-loader__track{position:relative;flex:1;height:clamp(18px,2.2vw,26px);overflow:hidden;border:3px solid var(--loader-black);background-color:var(--loader-gray);background-image:linear-gradient(90deg,rgba(23,23,23,.1) 1px,transparent 1px);background-size:10% 100%;box-shadow:4px 4px 0 var(--loader-black),7px 7px 0 var(--loader-yellow)}.scrapbook-loader__fill{display:block;height:100%;width:0;background-color:var(--loader-black);transition:width .16s linear}.scrapbook-loader--complete .scrapbook-loader__fill{transition:width .55s cubic-bezier(.22,.8,.24,1)}.scrapbook-loader__percent{display:inline-flex;align-items:center;justify-content:center;min-width:4.8rem;padding:.35rem .55rem;border:2px solid var(--loader-black);background:var(--loader-white);color:var(--loader-black);box-shadow:3px 3px 0 var(--loader-yellow);font-family:var(--sans);font-size:clamp(.95rem,2.2vw,1.2rem);font-weight:700;font-variant-numeric:tabular-nums;line-height:1;transform:rotate(2deg)}.scrapbook-loader--complete .scrapbook-loader__percent{animation:scrapbook-percent-pop .5s cubic-bezier(.22,.8,.24,1)}.scrapbook-loader__caption{margin-top:clamp(.85rem,2.4vh,1.15rem);font-size:clamp(.62rem,1.5vw,.76rem);letter-spacing:.24em}.scrapbook-loader--complete{animation:scrapbook-loader-out .45s ease .55s forwards}.scrapbook-loader--complete .scrapbook-loader__card{animation:scrapbook-card-out .5s ease forwards}.public-site.is-loader-revealing{animation:scrapbook-site-in .75s cubic-bezier(.22,.8,.24,1) both;transform-origin:50% 40%}@keyframes scrapbook-ambient{0%{transform:translate3d(-1.5%,-1%,0) scale(1) rotate(0)}to{transform:translate3d(1.5%,1%,0) scale(1.035) rotate(1deg)}}@keyframes scrapbook-decor-in{0%{opacity:0}to{opacity:1}}@keyframes scrapbook-card-in{0%{opacity:0;transform:translateY(18px) rotate(-2deg) scale(.97)}to{opacity:1;transform:translateY(0) rotate(-.8deg) scale(1)}}@keyframes scrapbook-card-out{0%{opacity:1;transform:translateY(0) rotate(-.8deg) scale(1)}to{opacity:0;transform:translateY(-8px) rotate(-.2deg) scale(.98)}}@keyframes scrapbook-percent-pop{0%{transform:rotate(2deg) scale(1)}45%{transform:rotate(-3deg) scale(1.16)}to{transform:rotate(2deg) scale(1)}}@keyframes scrapbook-twinkle{0%,to{opacity:.55}50%{opacity:1}}@keyframes scrapbook-loader-out{to{opacity:0}}@keyframes scrapbook-site-in{0%{opacity:.45;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@media (max-width: 700px){.scrapbook-loader__card{width:calc(100vw - 1.5rem);padding:1.5rem 1.1rem 1.35rem;box-shadow:7px 7px 0 var(--loader-black)}.scrapbook-loader__name{font-size:clamp(2.8rem,13vw,4.6rem)}.scrapbook-loader__kicker{letter-spacing:.24em}.scrapbook-loader__eyebrow{letter-spacing:.3em}.scrapbook-loader__progress{gap:.5rem}.scrapbook-loader__percent{min-width:3.9rem;padding:.3rem .4rem;font-size:.9rem}.scrapbook-loader__tape--one{top:4%;left:2%}.scrapbook-loader__tape--two{top:10%;right:1%}.scrapbook-loader__tape--three{display:none}.scrapbook-loader__scrap--one{top:8%;right:4%}.scrapbook-loader__scrap--two{bottom:8%;left:2%}.scrapbook-loader__scrap--three,.scrapbook-loader__dot-grid,.scrapbook-loader__line--one,.scrapbook-loader__arrow{display:none}.scrapbook-loader__line--two{right:3%;bottom:18%}.scrapbook-loader__ring{right:4%;bottom:16%;width:54px}.scrapbook-loader__sparkle--one{top:6%;left:12%}.scrapbook-loader__sparkle--two{right:10%;bottom:12%}.scrapbook-loader__star{top:82%;left:3%;width:32px;height:32px}.scrapbook-loader__squiggle{right:8%;bottom:6%;width:110px}.scrapbook-loader__stamp{right:2%;bottom:7%;font-size:.5rem}}@media (max-height: 560px){.scrapbook-loader__card{padding:.9rem 1.2rem}.scrapbook-loader__name{font-size:clamp(2.2rem,8vh,3.4rem)}.scrapbook-loader__progress{margin-top:.8rem}.scrapbook-loader__caption{margin-top:.55rem}.scrapbook-loader__scrap--two,.scrapbook-loader__scrap--three,.scrapbook-loader__dot-grid,.scrapbook-loader__ring,.scrapbook-loader__star,.scrapbook-loader__squiggle,.scrapbook-loader__arrow{display:none}}@media (prefers-reduced-motion: reduce){.scrapbook-loader{display:none!important}.public-site.is-loader-revealing{animation:none!important}html.scrapbook-loader-open,html.scrapbook-loader-open body{overflow:auto;padding-right:0}}.admin-shell{display:flex;min-height:100vh;background:var(--admin-bg);color:var(--admin-text);font-family:var(--sans)}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}.admin-sidebar{position:sticky;top:0;height:100vh;width:264px;flex-shrink:0;display:flex;flex-direction:column;background:#101828;color:#e7ecf4;overflow-y:auto;z-index:90}.admin-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:1.35rem 1.25rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.12)}.admin-brand__link{display:flex;align-items:center;gap:.7rem}.admin-brand__mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#3b5bdb;color:#fff;font-size:1.1rem;flex-shrink:0}.admin-brand__link strong{display:block;font-size:.98rem;line-height:1.2}.admin-brand__link small{display:block;font-size:.72rem;color:#98a4b7;margin-top:.15rem}.admin-sidebar__close{display:none;border:0;background:transparent;color:#e7ecf4;font-size:1.5rem;line-height:1;padding:.1rem .3rem}.admin-nav{display:grid;gap:.15rem;padding:1rem .7rem}.admin-nav__link{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:8px;color:#c4cdda;font-size:.88rem;font-weight:500;transition:background .12s ease,color .12s ease}.admin-nav__link:hover{background:#ffffff12;color:#fff}.admin-nav__link.is-active{background:#2f52c8;color:#fff;font-weight:600}.admin-nav__glyph{width:18px;text-align:center;font-size:.95rem;opacity:.9}.admin-sidebar__footer{margin-top:auto;padding:1rem 1.1rem 1.3rem;border-top:1px solid rgba(255,255,255,.12)}.admin-sidebar__hint{font-size:.72rem;line-height:1.55;color:#98a4b7;margin-bottom:.75rem}.admin-scrim{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;border:0;background:#0f172a80}.admin-topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:.75rem;min-height:64px;padding:.6rem clamp(1rem,3vw,2rem);background:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--admin-border)}.admin-topbar__spacer{flex:1}.admin-topbar__user{font-size:.8rem;color:var(--admin-muted);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-menu-toggle{display:none;align-items:center;gap:.4rem;padding:.45rem .7rem;border:1px solid var(--admin-border);border-radius:8px;background:#fff;font-size:.82rem;font-weight:600}.admin-content{width:100%;max-width:1220px;margin-inline:auto;padding:clamp(1.2rem,3vw,2.2rem) clamp(1rem,3vw,2rem) 3rem}.admin-h1{font-family:var(--sans);font-size:clamp(1.5rem,2.6vw,1.9rem);font-weight:700;letter-spacing:-.02em;line-height:1.2}.admin-h2{font-size:1.02rem;font-weight:700;letter-spacing:-.01em}.admin-eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--admin-accent);margin-bottom:.3rem}.admin-muted{font-size:.84rem;color:var(--admin-muted);line-height:1.55}.admin-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.4rem}.admin-page-header__desc{margin-top:.4rem;max-width:68ch;font-size:.88rem;line-height:1.6;color:var(--admin-muted)}.admin-page-header__actions{display:flex;gap:.5rem;flex-wrap:wrap}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.58rem .95rem;border:1px solid transparent;border-radius:8px;font-size:.85rem;font-weight:600;line-height:1.3;transition:background .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap}.admin-btn:disabled{opacity:.55;cursor:not-allowed}.admin-btn--primary{background:var(--admin-accent);color:#fff}.admin-btn--primary:hover:not(:disabled){background:var(--admin-accent-dark)}.admin-btn--secondary{background:#fff;border-color:var(--admin-border);color:var(--admin-text)}.admin-btn--secondary:hover:not(:disabled){background:#f3f6fb;border-color:#b9c4d3}.admin-btn--ghost{background:transparent;color:var(--admin-muted)}.admin-btn--ghost:hover:not(:disabled){background:#eef1f6;color:var(--admin-text)}.admin-btn--danger{background:var(--admin-danger);color:#fff}.admin-btn--danger:hover:not(:disabled){background:#8f1b13}.admin-btn--soft{background:#ffffff1a;color:#e7ecf4;border-color:#fff3}.admin-btn--soft:hover:not(:disabled){background:#ffffff2e}.admin-btn--small{padding:.36rem .6rem;font-size:.76rem;border-radius:6px}.admin-btn--full{width:100%}.admin-link-btn{display:inline;padding:0;border:0;background:none;color:var(--admin-accent);font-size:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}.admin-link{font-size:.82rem;font-weight:600;color:var(--admin-accent);text-decoration:underline;text-underline-offset:3px}.admin-card{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:12px;padding:1.35rem;margin-bottom:1.25rem;box-shadow:0 1px 2px #1018280a}.admin-card--flush{padding:0;overflow:hidden}.admin-card--narrow{width:min(520px,100%);margin:0}.admin-card__head{margin-bottom:1.1rem}.admin-card__head .admin-muted{margin-top:.25rem}.admin-card__head:has(.admin-link){display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.admin-grid{display:grid;gap:0 1rem}.admin-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-field{margin-bottom:1.1rem}.admin-field>label,.admin-field__label{display:block;font-size:.82rem;font-weight:600;margin-bottom:.38rem;color:var(--admin-text)}.admin-required{color:var(--admin-danger)}.admin-field input,.admin-field textarea,.admin-field select,.admin-form input,.admin-form textarea,.admin-form select{width:100%;padding:.6rem .7rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:.88rem;line-height:1.45;transition:border-color .12s ease,box-shadow .12s ease}.admin-field textarea{resize:vertical;min-height:90px}.admin-field input:hover,.admin-field textarea:hover,.admin-field select:hover{border-color:#a8b6c8}.admin-field input:focus,.admin-field textarea:focus,.admin-field select:focus{outline:none;border-color:var(--admin-accent);box-shadow:0 0 0 3px #2f52c82e}.admin-field input:disabled,.admin-field textarea:disabled{background:#f1f4f8;color:#7c8798}.admin-hint{margin-top:.32rem;font-size:.75rem;line-height:1.5;color:var(--admin-muted)}.admin-error-text{margin-top:.32rem;font-size:.78rem;font-weight:600;color:var(--admin-danger)}.admin-check{display:flex;align-items:flex-start;gap:.55rem;font-size:.85rem;line-height:1.45;margin-bottom:1.1rem;cursor:pointer}.admin-check input{width:17px;height:17px;margin-top:.1rem;accent-color:var(--admin-accent);flex-shrink:0}.admin-check-row{display:flex;gap:1.5rem;flex-wrap:wrap}.admin-form{display:block}.admin-range{display:flex;align-items:center;gap:.75rem}.admin-range input[type=range]{flex:1;accent-color:var(--admin-accent);padding:0;border:0;box-shadow:none}.admin-range__number{width:74px!important;flex-shrink:0}.admin-switch{display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;font-size:.8rem;font-weight:500;-webkit-user-select:none;user-select:none}.admin-switch input{position:absolute;width:1px;height:1px;opacity:0}.admin-switch__track{position:relative;width:38px;height:22px;border-radius:999px;background:#c7d0dc;transition:background .15s ease;flex-shrink:0}.admin-switch__thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #10182840;transition:transform .15s ease}.admin-switch input:checked+.admin-switch__track{background:#1c7f4d}.admin-switch input:checked+.admin-switch__track .admin-switch__thumb{transform:translate(16px)}.admin-switch input:focus-visible+.admin-switch__track{outline:3px solid rgba(47,82,200,.35);outline-offset:2px}.admin-switch__label{color:var(--admin-muted)}.admin-badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.66rem;font-weight:700;letter-spacing:.03em;white-space:nowrap}.admin-badge--live{background:#e3f5ea;color:#15603c}.admin-badge--draft{background:#eef1f5;color:#5b6675}.admin-badge--feature{background:#fff3cf;color:#7a5200;margin-left:.45rem}.admin-badge--count{background:#e8edfb;color:var(--admin-accent);margin-left:.35rem}.admin-alert{padding:.7rem .85rem;border:1px solid transparent;border-radius:8px;font-size:.83rem;line-height:1.55;margin-bottom:1rem}.admin-alert a{font-weight:600;text-decoration:underline}.admin-alert--error{background:#fdeceb;border-color:#f3b6b1;color:#8a1c14}.admin-alert--success{background:#e8f6ee;border-color:#a9dcbe;color:#145c39}.admin-alert--warning{background:#fff6e5;border-color:#f2d49a;color:var(--admin-warn)}.admin-alert--info{background:#eaf1fd;border-color:#b9cdf2;color:#1c3a78}.admin-auth,.admin-auth-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:2rem 1rem;background:radial-gradient(circle at 15% 10%,rgba(47,82,200,.1),transparent 45%),radial-gradient(circle at 85% 90%,rgba(32,185,166,.12),transparent 45%),var(--admin-bg);color:var(--admin-text)}.admin-auth-loading{flex-direction:row;font-size:.9rem;color:var(--admin-muted)}.admin-auth__panel{width:min(460px,100%);background:#fff;border:1px solid var(--admin-border);border-radius:14px;padding:clamp(1.4rem,4vw,2.1rem);box-shadow:0 12px 32px #10182814}.admin-auth__brand{display:flex;align-items:center;gap:.7rem;margin-bottom:1.4rem}.admin-auth__brand>span{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--admin-accent);color:#fff}.admin-auth__brand strong{display:block;font-size:.98rem}.admin-auth__brand small{display:block;font-size:.74rem;color:var(--admin-muted)}.admin-auth__panel .admin-h1{font-size:1.4rem;margin-bottom:.4rem}.admin-auth__panel>.admin-muted{margin-bottom:1.2rem}.admin-auth__switch{margin-top:1rem;text-align:center;font-size:.82rem}.admin-auth__back{font-size:.82rem;color:var(--admin-muted)}.admin-auth__back a{text-decoration:underline;text-underline-offset:3px}.admin-setup ol{margin:1rem 0;padding-left:1.2rem;list-style:decimal;font-size:.85rem;line-height:1.65;color:var(--admin-muted)}.admin-setup li{margin-bottom:.5rem}.admin-setup code{padding:.08rem .3rem;border-radius:4px;background:#eef1f6;color:#24324a;font-size:.82em}.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;margin-bottom:1.4rem}.admin-stat{display:flex;flex-direction:column;gap:.15rem;padding:1rem 1.05rem;background:#fff;border:1px solid var(--admin-border);border-radius:12px;transition:border-color .12s ease,transform .12s ease}.admin-stat:hover{border-color:#a9b8cf;transform:translateY(-1px)}.admin-stat--accent{border-color:#b9cdf2;background:#f3f7ff}.admin-stat__label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--admin-muted)}.admin-stat__value{font-size:1.75rem;font-weight:700;line-height:1.15}.admin-stat__meta{font-size:.72rem;color:var(--admin-muted)}.admin-dashboard-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1.25rem}.admin-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.admin-quick{display:flex;flex-direction:column;gap:.1rem;padding:.85rem;border:1px solid var(--admin-border);border-radius:10px;transition:border-color .12s ease,background .12s ease}.admin-quick:hover{border-color:var(--admin-accent);background:#f7f9ff}.admin-quick>span{font-size:1.1rem;color:var(--admin-accent)}.admin-quick strong{font-size:.85rem}.admin-quick small{font-size:.72rem;color:var(--admin-muted)}.admin-message-list{display:grid;gap:.75rem}.admin-message-preview{display:flex;gap:.6rem;align-items:flex-start;padding-bottom:.7rem;border-bottom:1px solid #eef1f5}.admin-message-preview:last-child{border-bottom:0;padding-bottom:0}.admin-message-preview__subject{font-size:.85rem;font-weight:600;line-height:1.35}.admin-message-preview .admin-muted{font-size:.74rem;margin-top:.1rem}.admin-dot{display:inline-block;width:8px;height:8px;margin-right:.4rem;border-radius:50%;background:var(--admin-accent);flex-shrink:0;margin-top:.35rem}.admin-dot.is-read{background:#c4cdda}.admin-checklist{display:grid;gap:.65rem;font-size:.84rem;line-height:1.55;color:var(--admin-ink, var(--admin-text))}.admin-checklist li{display:flex;gap:.55rem;align-items:flex-start}.admin-checklist li>span{color:var(--admin-success);font-weight:700;flex-shrink:0}.admin-editor{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.4rem;align-items:start}.admin-editor__side{position:sticky;top:84px}.admin-savebar{position:sticky;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 -1px 1.25rem;padding:.9rem 1rem;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--admin-border);border-radius:10px;box-shadow:0 -4px 16px #1018280f}.admin-savebar__actions{display:flex;gap:.5rem}.admin-footnote{margin-top:.9rem}.admin-upload{margin-bottom:1.1rem}.admin-upload__preview{width:100%;max-width:360px;margin-bottom:.6rem;border:1px dashed #b9c4d3;border-radius:10px;background:#f8fafc;overflow:hidden}.admin-upload__preview--portrait{max-width:220px;aspect-ratio:4 / 5}.admin-upload__preview--square{max-width:220px;aspect-ratio:1}.admin-upload__preview--wide{aspect-ratio:16 / 9}.admin-upload__preview img{width:100%;height:100%;object-fit:cover}.admin-upload__empty{min-height:120px;height:100%;display:grid;place-content:center;gap:.25rem;text-align:center;color:#8a97aa;font-size:.78rem}.admin-upload__empty span{font-size:1.8rem}.admin-upload__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.35rem}.admin-file{display:flex;align-items:center;gap:.7rem;padding:.75rem .85rem;border:1px dashed #b9c4d3;border-radius:10px;background:#f8fafc;margin-bottom:.6rem;max-width:520px}.admin-file__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:#e8edfb;color:var(--admin-accent);font-size:1.1rem;flex-shrink:0}.admin-file__meta{min-width:0;font-size:.83rem}.admin-file__meta a{display:block;font-weight:600;color:var(--admin-accent);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.admin-file__meta small{display:block;font-size:.72rem;color:var(--admin-muted);margin-top:.1rem}.admin-table-wrap{width:100%;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.84rem;min-width:720px}.admin-table th{text-align:left;font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--admin-muted);background:#f8fafc;padding:.65rem .9rem;border-bottom:1px solid var(--admin-border);white-space:nowrap}.admin-table td{padding:.75rem .9rem;border-bottom:1px solid #edf0f4;vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:#fafbfd}.admin-row-title{display:flex;flex-direction:column;gap:.12rem;min-width:180px}.admin-row-title strong{font-size:.86rem;font-weight:600;line-height:1.35}.admin-row-title .admin-muted{font-size:.75rem;line-height:1.4}.admin-row-actions{display:flex;gap:.35rem;justify-content:flex-end;flex-wrap:wrap}.admin-visibility{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.admin-sort{display:inline-flex;gap:.2rem}.admin-icon-btn{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--admin-border);border-radius:6px;background:#fff;font-size:.8rem;line-height:1}.admin-icon-btn:hover:not(:disabled){border-color:var(--admin-accent);color:var(--admin-accent)}.admin-icon-btn:disabled{opacity:.35;cursor:not-allowed}.admin-project-cell{display:flex;align-items:center;gap:.7rem}.admin-thumb{width:58px;height:42px;flex-shrink:0;border-radius:6px;border:1px solid var(--admin-border);background:#eef1f6;overflow:hidden;display:grid;place-items:center;color:#8a97aa}.admin-thumb img{width:100%;height:100%;object-fit:cover}.admin-thumb--cert span{font-size:1.2rem}.admin-tags{display:flex;flex-wrap:wrap;gap:.25rem;max-width:200px}.admin-tag{padding:.1rem .4rem;border-radius:999px;background:#eef1f6;color:#4b5768;font-size:.66rem;font-weight:600}.admin-level{display:flex;align-items:center;gap:.45rem}.admin-level__bar{display:block;width:70px;height:8px;border-radius:999px;background:#e6ebf2;overflow:hidden}.admin-level__bar span{display:block;height:100%;border-radius:999px;background:var(--admin-accent)}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:1rem;background:#0f172a8c;overflow-y:auto}.admin-modal{width:100%;max-height:calc(100vh - 2rem);display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 24px 64px #0f172a47;animation:modal-in .14s ease-out}.admin-modal--sm{max-width:430px}.admin-modal--md{max-width:620px}.admin-modal--lg{max-width:840px}.admin-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.3rem .9rem;border-bottom:1px solid var(--admin-border)}.admin-modal__header h2{font-size:1.12rem;font-weight:700}.admin-modal__header .admin-muted{margin-top:.25rem}.admin-modal__close{border:0;background:transparent;font-size:1.5rem;line-height:1;padding:0 .2rem;color:var(--admin-muted);flex-shrink:0}.admin-modal__close:hover{color:var(--admin-text)}.admin-modal__body{padding:1.2rem 1.3rem;overflow-y:auto}.admin-modal__footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.9rem 1.3rem;border-top:1px solid var(--admin-border);background:#fbfcfd;border-radius:0 0 14px 14px}.admin-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.4rem;padding-top:1rem;border-top:1px solid var(--admin-border)}@keyframes modal-in{0%{opacity:0;transform:translateY(6px) scale(.99)}}.admin-empty{display:grid;justify-items:center;gap:.5rem;padding:3rem 1.5rem;text-align:center;background:#fff;border:1px dashed #c4cdda;border-radius:12px;margin-bottom:1.25rem}.admin-empty__mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#eef3fb;color:var(--admin-accent);font-size:1.3rem}.admin-empty h3{font-size:1rem;font-weight:700}.admin-empty .admin-btn{margin-top:.5rem}.admin-loading{display:flex;align-items:center;gap:.65rem;padding:1.4rem;color:var(--admin-muted);font-size:.85rem}.admin-spinner{width:18px;height:18px;border:2px solid #d3dbe6;border-top-color:var(--admin-accent);border-radius:50%;animation:admin-spin .7s linear infinite;flex-shrink:0}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-inbox__list{display:grid;gap:.8rem}.admin-inbox__item{padding:.9rem 1rem;border:1px solid var(--admin-border);border-left:3px solid var(--admin-accent);border-radius:10px;background:#fbfcfe}.admin-inbox__item.is-read{border-left-color:#d3dbe6;background:#fff}.admin-inbox__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.admin-inbox__subject{font-size:.9rem;font-weight:700;line-height:1.35;display:flex;align-items:flex-start}.admin-inbox__head .admin-muted{font-size:.76rem;margin-top:.2rem;overflow-wrap:anywhere}.admin-inbox__head .admin-muted a{color:var(--admin-accent);text-decoration:underline}.admin-inbox__body{margin-top:.65rem;padding-top:.65rem;border-top:1px solid #edf0f4;font-size:.84rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width: 1080px){.admin-editor{grid-template-columns:minmax(0,1fr) 280px}}@media (max-width: 940px){.admin-sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .2s ease;box-shadow:12px 0 32px #0f172a40}.admin-sidebar.is-open{transform:translate(0)}.admin-sidebar__close,.admin-scrim{display:block}.admin-menu-toggle{display:inline-flex}.admin-editor{grid-template-columns:1fr}.admin-editor__side{position:static}.admin-dashboard-grid{grid-template-columns:1fr}}@media (max-width: 720px){.admin-grid--2,.admin-grid--3{grid-template-columns:1fr}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-quick-actions{grid-template-columns:1fr}.admin-topbar__user{display:none}.admin-page-header__actions{width:100%}.admin-savebar{align-items:stretch}.admin-savebar__actions{width:100%}.admin-savebar__actions .admin-btn{flex:1}}@media (max-width: 480px){.admin-stat-grid{grid-template-columns:1fr}.admin-inbox__head{align-items:stretch}.admin-inbox__head .admin-row-actions{justify-content:flex-start}}@media (prefers-reduced-motion: reduce){.admin-modal{animation:none}}
