:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#d8e9f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}html{scroll-behavior:smooth;scroll-padding-top:110px}button{font:inherit}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.main-content{width:min(100% - 80px,1120px);margin-inline:auto}.introduction{--intro-reveal-duration:.35s;--intro-secondary-text:var(--muted-text);--dot-color:var(--accent);--dot-opacity:.38;--dot-hover-opacity:.85;isolation:isolate;min-height:100svh;padding-top:calc(132px + env(safe-area-inset-top,0px));grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:36px 56px;padding-bottom:32px;display:grid;position:relative}.portfolio[data-theme=light] .introduction{--intro-secondary-text:color-mix(in srgb, var(--muted-text) 55%, var(--text));--dot-color:color-mix(in srgb, var(--accent) 85%, var(--text));--dot-opacity:.49;--dot-hover-opacity:.9}.intro-copy{padding-block:20px}.intro-copy:after{content:"";height:var(--intro-bio-space,0px);transition:height var(--intro-reveal-duration) ease-in-out;display:block}.introduction:before,.intro-interactive-dots{content:"";z-index:-1;pointer-events:none;height:min(100%,780px);color:var(--dot-color);opacity:var(--dot-opacity);transition:color var(--theme-duration) var(--theme-easing), opacity var(--theme-duration) var(--theme-easing);position:absolute;top:0;left:calc(-1*max(40px,50vw - 560px));right:24%;-webkit-mask-image:radial-gradient(at 0 0,#000,#0000 85%);mask-image:radial-gradient(at 0 0,#000,#0000 85%)}.introduction:before{background-image:radial-gradient(circle,currentColor .85px,#0000 1.25px);background-size:16px 16px}@property --dot-ripple-radius{syntax:"<length>";inherits:false;initial-value:0}.intro-interactive-dots{opacity:1}.intro-interactive-dots span{background-image:radial-gradient(circle,currentColor 1.5px,#0000 2px);background-size:16px 16px;position:absolute;inset:0}.intro-dot-hover{opacity:0;-webkit-mask-image:radial-gradient(circle 110px at var(--dot-x,-200px) var(--dot-y,-200px), #000 10%, transparent 100%);-webkit-mask-image:radial-gradient(circle 110px at var(--dot-x,-200px) var(--dot-y,-200px), #000 10%, transparent 100%);mask-image:radial-gradient(circle 110px at var(--dot-x,-200px) var(--dot-y,-200px), #000 10%, transparent 100%);transition:opacity .24s}.intro-interactive-dots[data-active=true] .intro-dot-hover{opacity:var(--dot-hover-opacity)}.intro-interactive-dots .intro-dot-ripple{opacity:0;-webkit-mask-image:radial-gradient(circle at var(--ripple-x) var(--ripple-y), transparent max(0px, calc(var(--dot-ripple-radius) - 28px)), #000 var(--dot-ripple-radius), transparent calc(var(--dot-ripple-radius) + 28px));-webkit-mask-image:radial-gradient(circle at var(--ripple-x) var(--ripple-y), transparent max(0px, calc(var(--dot-ripple-radius) - 28px)), #000 var(--dot-ripple-radius), transparent calc(var(--dot-ripple-radius) + 28px));mask-image:radial-gradient(circle at var(--ripple-x) var(--ripple-y), transparent max(0px, calc(var(--dot-ripple-radius) - 28px)), #000 var(--dot-ripple-radius), transparent calc(var(--dot-ripple-radius) + 28px));background-image:radial-gradient(circle,currentColor 2.25px,#0000 2.75px);animation:.85s ease-out both intro-dot-ripple}@keyframes intro-dot-ripple{0%{--dot-ripple-radius:0px;opacity:0}15%,55%{opacity:1}to{--dot-ripple-radius:180px;opacity:0}}.section-eyebrow{color:var(--muted-text);letter-spacing:2px;text-transform:uppercase;margin:0;font-size:12px;font-weight:500;line-height:1.5}.intro-copy h1{letter-spacing:-.05em;margin:20px 0 14px;font-size:clamp(42px,4.7vw,64px);font-weight:600;line-height:1.1}.intro-name-word{white-space:nowrap;display:inline-block;position:relative}.intro-name-reserve{visibility:hidden}.intro-name-typed{position:absolute;top:0;left:0}.intro-name-typed[data-cursor=true]:after{content:"";background:var(--accent);pointer-events:none;width:2px;height:.8em;animation:1s step-end infinite intro-name-cursor;position:absolute;top:.12em;right:-.07em}@keyframes intro-name-cursor{0%,49%{opacity:1}50%,to{opacity:0}}.intro-bio{transition:height var(--intro-reveal-duration) ease-in-out;position:relative;overflow:hidden}.intro-bio-panel{opacity:1;visibility:visible;width:100%;transition:opacity var(--intro-reveal-duration) ease-in-out, visibility 0s}.intro-bio-panel[aria-hidden=true]{opacity:0;visibility:hidden;transition:opacity var(--intro-reveal-duration) ease-in-out, visibility 0s var(--intro-reveal-duration);position:absolute;top:0;left:0}.intro-role{color:var(--accent);transition:color var(--theme-duration) var(--theme-easing);margin:0 0 26px;font-size:clamp(20px,2vw,24px);font-weight:500;line-height:1.4}.intro-description{max-width:450px;color:var(--intro-secondary-text);margin:0;font-size:16px;line-height:1.85}.intro-action{min-height:48px;color:var(--action-text);background:var(--action-background);transition:transform .2s ease, color var(--theme-duration) var(--theme-easing), background-color var(--theme-duration) var(--theme-easing);border-radius:10px;align-items:center;gap:30px;margin-top:30px;padding:14px 20px;font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}.intro-action:hover{transform:translateY(-2px)}.intro-location{color:var(--intro-secondary-text);align-items:center;gap:7px;margin:0;font-size:12px;line-height:1.5;display:flex}.portrait{text-align:center;justify-self:end;width:100%;max-width:450px;margin:0;container-type:inline-size}.portrait-toggle{width:150%;height:125cqw;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:16px;margin-left:-42%;padding:0;display:block}.portrait-cutout{width:100%;height:100%;display:block;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0% 72%,#000000eb 80%,#0009 88%,#0000002e 96%,#0000 100%);mask-image:linear-gradient(#000 0% 72%,#000000eb 80%,#0009 88%,#0000002e 96%,#0000 100%)}.portrait-edges{display:block;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.portrait-layer{transition:opacity var(--intro-reveal-duration) ease-in-out;display:block;position:absolute;transform:translate(-50%)}.portrait-layer img{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.portrait-layer--suit{opacity:1;width:100cqw;top:7.6%;left:calc(50% + 2cqw)}.portrait-layer--graduation{opacity:0;width:134cqw;top:-1.6%;left:50%}.portrait-toggle[data-revealed=true] .portrait-layer--suit{opacity:0}.portrait-toggle[data-revealed=true] .portrait-layer--graduation{opacity:1}.intro-scroll{border-top:1px solid var(--header-border);min-height:56px;color:var(--muted-text);grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;font-size:12px;line-height:1.5;text-decoration:none;display:flex}.intro-scroll svg{flex:none}.main-content a:focus-visible,.portrait-toggle:focus-visible{outline:3px solid var(--focus-color);outline-offset:6px}.section-eyebrow,.intro-description,.intro-location,.intro-scroll{transition:color var(--theme-duration) var(--theme-easing)}@media (width<=1180px){.introduction{grid-template-columns:minmax(0,1fr)}.introduction:before,.intro-interactive-dots{height:600px;right:0}.portrait{justify-self:center}.portrait-toggle{width:min(150cqw,100vw - 32px);margin-left:50%;transform:translate(-50%)}}@media (width<=760px){.main-content{width:calc(100% - 48px)}.introduction{padding-top:calc(112px + env(safe-area-inset-top,0px));grid-template-columns:minmax(0,1fr);gap:30px;padding-bottom:24px}.intro-copy{padding:0}.introduction:before,.intro-interactive-dots{left:-24px}.intro-copy h1{margin:16px 0 14px;font-size:clamp(42px,8vw,58px)}.intro-description{max-width:520px;font-size:15px;line-height:1.8}.intro-action{margin-top:24px}.portrait{justify-self:center;width:min(100%,380px)}.intro-scroll{padding-top:15px;font-size:11px}}@media (prefers-reduced-motion:reduce){.intro-name-reserve{visibility:visible}.intro-name-typed{display:none}.intro-copy:after,.intro-bio,.intro-bio-panel,.intro-bio-panel[aria-hidden=true],.intro-dot-hover{transition:none}.intro-dot-ripple{animation:none;display:none}.portrait-layer,.intro-action{transition:none;transform:none}.portrait-layer{transform:translate(-50%)}}.intro-background{border-top:1px solid var(--header-border);grid-column:1/-1;width:100%}.intro-background>summary{min-height:56px;color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding-block:16px;list-style:none;display:flex}.intro-background>summary::-webkit-details-marker{display:none}.intro-background>summary svg{transition:transform .2s}.intro-background[open]>summary svg{transform:rotate(180deg)}.intro-background>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.intro-background-content{padding-bottom:16px}@media (prefers-reduced-motion:reduce){.intro-background>summary svg{transition:none}}.intro-background-summary{max-width:70ch;color:var(--muted-text);white-space:pre-line;line-height:1.8}.intro-background-columns{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:40px;margin-top:16px;display:grid}.intro-background-columns h3{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted-text);font-size:14px;font-weight:500}.intro-background-columns article{border-top:1px solid var(--header-border);padding:20px 0}.intro-background-columns h4{margin:0 0 8px;font-size:18px;font-weight:500}.intro-background-columns p{color:var(--muted-text);white-space:pre-line;line-height:1.7}.intro-background-columns a{color:var(--accent)}.intro-copy{isolation:isolate;position:relative}.intro-socials{align-items:center;gap:12px;margin-top:20px;display:flex}.social-link{width:46px;height:46px;color:var(--muted-text);touch-action:manipulation;border-radius:50%;place-items:center;text-decoration:none;transition:transform .2s,color .35s,background-color .35s;display:inline-grid;position:relative}.social-link:hover{background:var(--control-hover);transform:translateY(-3px)}.social-link:active{transform:scale(.92)}.social-link[data-selected=true]{color:var(--action-text);background:var(--action-background)}.social-logo{width:22px;height:22px;-webkit-mask:var(--social-logo) center / contain no-repeat;mask:var(--social-logo) center / contain no-repeat;-webkit-mask:var(--social-logo) center / contain no-repeat;background:currentColor}.social-tooltip{border:1px solid var(--header-border);background:var(--header-background);color:var(--text);opacity:0;pointer-events:none;border-radius:7px;padding:5px 9px;font-size:11px;line-height:1.4;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%,4px)}.social-link:hover .social-tooltip,.social-link:focus-visible .social-tooltip{opacity:1;transform:translate(-50%)}.social-caption{max-width:340px;min-height:42px;color:var(--muted-text);transition:color var(--theme-duration) var(--theme-easing);margin:10px 0 0;font-size:12px;line-height:1.7}.social-watermark{z-index:-1;aspect-ratio:1;background:var(--accent);width:min(80%,340px);-webkit-mask:var(--social-logo) center / contain no-repeat;mask:var(--social-logo) center / contain no-repeat;-webkit-mask:var(--social-logo) center / contain no-repeat;opacity:0;transition:opacity var(--theme-duration) var(--theme-easing);pointer-events:none;position:absolute;top:8%;left:7%}.social-watermark[data-visible=true]{opacity:.09}.social-portal{z-index:-2;pointer-events:none;opacity:0;background:var(--accent);position:fixed;inset:0}.portfolio[data-theme][data-social=github]{--text:#24292f;--muted-text:#4c5764;--accent:#475569;--header-background:#f1f3f5;--header-border:#52617040;--control-hover:#dce3ea;--action-background:#303c4c;--action-text:#fafcff;--focus-color:#455e78}.portfolio[data-theme=dark][data-social=github]{--text:#f0f3f6;--muted-text:#b7c1cb;--accent:#c4d1df;--header-background:#202934;--header-border:#bbc9d438;--control-hover:#344456;--action-background:#d6e0eb;--action-text:#19222b;--focus-color:#c4d1df}.portfolio[data-theme][data-social=linkedin]{--text:#103451;--muted-text:#345977;--accent:#0866b0;--header-background:#eaf4fd;--header-border:#0a66c240;--control-hover:#cce4fa;--action-background:#0a66c2;--action-text:#fff;--focus-color:#0a66c2}.portfolio[data-theme=dark][data-social=linkedin]{--text:#ecf6ff;--muted-text:#b6d2e9;--accent:#8ecbff;--header-background:#123756;--header-border:#8fc9f43d;--control-hover:#214e72;--action-background:#afd9ff;--action-text:#10334e;--focus-color:#8ecbff}.portfolio[data-theme][data-social=gmail]{--text:#4b2529;--muted-text:#735158;--accent:#b83c36;--header-background:#fff1ef;--header-border:#ad555540;--control-hover:#f1d8d5;--action-background:#b83c36;--action-text:#fff8f7;--focus-color:#a92f30}.portfolio[data-theme=dark][data-social=gmail]{--text:#fff0f0;--muted-text:#e3bfc4;--accent:#ffaaa4;--header-background:#402328;--header-border:#eeb6b640;--control-hover:#60363c;--action-background:#ffc4bf;--action-text:#481b20;--focus-color:#ffaaa4}.social-wallpaper,.social-wallpaper:after{opacity:0;transition:opacity .6s var(--theme-easing);position:absolute;inset:0}.social-wallpaper{z-index:1}.social-wallpaper:after{content:""}.social-wallpaper--github{background:radial-gradient(at 72% 85%,#abbccc,#0000 72%),#e9edf1}.social-wallpaper--github:after{background:radial-gradient(at 72% 85%,#364c62,#0000 72%),#10161e}.social-wallpaper--linkedin{background:radial-gradient(at 72% 85%,#68afea,#0000 72%),#deefff}.social-wallpaper--linkedin:after{background:radial-gradient(at 72% 85%,#085e9d,#0000 72%),#071c30}.social-wallpaper--gmail{background:radial-gradient(at 72% 85%,#e4a5a1,#0000 72%),#f9e9e8}.social-wallpaper--gmail:after{background:radial-gradient(at 72% 85%,#873d45,#0000 72%),#25171c}[data-social=github] .social-wallpaper--github,[data-social=linkedin] .social-wallpaper--linkedin,[data-social=gmail] .social-wallpaper--gmail,[data-theme=dark] .social-wallpaper:after{opacity:1}.portfolio[data-social] .experience{--experience-selected-background:color-mix(in srgb, var(--header-background) 82%, var(--accent));--experience-selected-text:var(--text);--experience-selected-border:color-mix(in srgb, var(--header-background) 55%, var(--accent));--experience-hover-background:var(--header-background)}@media (prefers-reduced-motion:reduce){.social-link,.social-tooltip,.social-caption,.social-wallpaper,.social-wallpaper:after{transition:none}.social-link:hover,.social-link:active{transform:none}}.experience{--experience-selected-background:#cbdff1;--experience-selected-text:#173f66;--experience-selected-border:#8ab3d5;--experience-hover-background:#dcebf7;max-width:1040px;margin-inline:auto;padding:60px 0 44px;scroll-margin-top:-60px}.portfolio[data-theme=dark] .experience{--experience-selected-background:#163b59;--experience-selected-text:#deefff;--experience-selected-border:#3c7096;--experience-hover-background:#16344c}.experience-heading h2{letter-spacing:-.045em;margin:14px 0 32px;font-size:clamp(34px,4vw,46px);font-weight:500;line-height:1.13}.experience-heading,.experience-layout{transition:opacity .45s,transform .45s cubic-bezier(.22,.75,.23,1)}.experience[data-visible=false] .experience-heading,.experience[data-visible=false] .experience-layout{opacity:0;transform:translateY(14px)}.experience-layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:48px;display:grid}.experience-companies{border-left:1px solid var(--header-border);flex-direction:column;display:flex;position:relative}.experience-indicator{z-index:1;background:var(--accent);pointer-events:none;width:2px;transition:transform .26s cubic-bezier(.22, .75, .23, 1), height .26s ease, background-color var(--theme-duration) var(--theme-easing);border-radius:2px;position:absolute;top:0;left:-1px}.experience-tab{width:100%;min-height:88px;color:var(--muted-text);text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:0 10px 10px 0;grid-template-columns:minmax(0,1fr) 14px;align-items:center;gap:10px;padding:18px 16px;transition:color .22s,background-color .22s,box-shadow .22s;display:grid;box-shadow:inset 0 0 0 1px #0000}.experience-tab:hover{background:var(--experience-hover-background)}.experience-tab[aria-selected=true]{color:var(--experience-selected-text);background:var(--experience-selected-background);box-shadow:inset 0 0 0 1px var(--experience-selected-border)}.experience-tab[aria-selected=true] .experience-tab-meta{color:var(--experience-selected-text)}.experience-tab[aria-selected=true]:focus-visible{outline-color:var(--focus-color)}.experience-tab-name{font-size:14px;font-weight:500;line-height:1.4}.experience-tab-copy{gap:7px;min-width:0;display:grid}.experience-tab-arrow{opacity:0;transition:opacity .22s,transform .22s;transform:translate(-4px)}.experience-tab[aria-selected=true] .experience-tab-arrow{opacity:1;transform:translate(0)}.experience-tab-meta{color:var(--muted-text);font-variant-numeric:tabular-nums;font-size:11px;line-height:1.5;transition:color .22s}.experience-stage{min-width:0;transition:height .28s cubic-bezier(.22,.75,.23,1);position:relative;overflow:clip}.experience-panel{opacity:0;visibility:hidden;pointer-events:none;padding:4px 2px 8px;transition:opacity .24s,transform .26s,visibility 0s linear .26s;position:absolute;inset:0 0 auto;transform:translateY(7px)}.experience-panel[data-active=true]{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;position:relative;transform:translateY(0)}.experience-kind{color:var(--muted-text);margin:0;font-size:12px;line-height:1.5}.experience-meta{flex-wrap:wrap;align-items:baseline;gap:6px 18px;display:flex}.experience-panel h3{letter-spacing:-.035em;margin:13px 0 8px;font-size:clamp(24px,2.6vw,32px);font-weight:500;line-height:1.25}.experience-employer{color:var(--accent);margin:0;font-size:16px;line-height:1.6}.experience-department,.experience-period{color:var(--muted-text);margin:0;font-size:12px;line-height:1.6}.experience-department>span{margin-inline:6px}.experience-period{font-variant-numeric:tabular-nums;margin:0}.experience-summary{color:var(--text);margin:20px 0 0;font-size:15px;line-height:1.75}.experience-contributions{color:var(--muted-text);margin:22px 0 0;padding:0;font-size:14px;line-height:1.7;list-style:none;display:grid}.experience-contributions li{border-top:1px solid var(--header-border);grid-template-columns:150px minmax(0,1fr);gap:18px;padding:15px 0;display:grid}.experience-contributions li:last-child{padding-bottom:0}.experience-contributions strong{color:var(--text);font-size:13px;font-weight:500;line-height:1.7}.experience-contributions p{margin:0}.experience-details{border-top:1px solid var(--header-border);margin-top:24px;padding-top:18px}.experience-detail-label{color:var(--muted-text);letter-spacing:1.2px;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:500;line-height:1.5}.experience-languages{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.experience-languages li{color:var(--text);background:color-mix(in srgb, var(--header-background) 72%, transparent);border-radius:6px;padding:5px 12px;font-size:12px;line-height:1.5}.experience-tab:focus-visible,.experience-panel:focus-visible{outline:2px solid var(--focus-color);outline-offset:-2px}.experience-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.experience-kind,.experience-summary,.experience-contributions strong,.experience-detail-label,.experience-employer,.experience-department,.experience-period,.experience-contributions,.experience-languages li{transition:color var(--theme-duration) var(--theme-easing), background-color var(--theme-duration) var(--theme-easing)}@media (width<=900px){.experience-layout{grid-template-columns:210px minmax(0,1fr);gap:24px}.experience-contributions li{grid-template-columns:minmax(0,1fr);gap:4px}}@media (width<=760px){.experience{padding:40px 0 32px;scroll-margin-top:-40px}.experience-heading h2{margin-bottom:24px}.experience-layout{grid-template-columns:minmax(0,1fr);gap:32px}.experience-tab{min-height:70px;padding:12px 16px}.experience-tab-copy{gap:4px}.experience-summary{font-size:14px}.experience-contributions{font-size:14px;line-height:1.75}.experience-employer{font-size:15px}}@media (prefers-reduced-motion:reduce){.experience-heading,.experience-layout,.experience-indicator,.experience-tab,.experience-tab-arrow,.experience-tab-meta,.experience-stage,.experience-panel{transition:none}.experience-panel,.experience-tab-arrow,.experience[data-visible=false] .experience-heading,.experience[data-visible=false] .experience-layout{transform:none}.experience[data-visible=false] .experience-heading,.experience[data-visible=false] .experience-layout{opacity:1}}.projects-section{max-width:1040px;margin:auto;padding:60px 0 clamp(32px,4vw,48px);scroll-margin-top:-60px}.projects-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.projects-heading h2{letter-spacing:-.045em;margin:14px 0 0;font-size:clamp(34px,4vw,46px);font-weight:500;line-height:1.13}.projects-navigation{flex-direction:column;align-items:end;gap:12px;display:flex}.projects-arrows{white-space:nowrap;color:var(--muted-text);align-items:center;gap:12px;font-size:12px;display:flex}.project-arrow{border:1px solid var(--header-border);background:var(--header-background);width:44px;height:44px;color:var(--text);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;transition:background .2s,transform .2s;display:inline-grid}.project-arrow:hover{background:var(--control-hover);transform:translateY(-2px)}.project-gallery-title{text-align:center;margin:28px 0 0;font-size:20px;font-weight:500}.project-gallery{isolation:isolate;perspective:1200px;touch-action:pan-y;display:flow-root;position:relative;overflow:clip}.project-gallery:after{content:"";aspect-ratio:16/10;width:64%;max-width:620px;margin:24px auto 32px;display:block}.project-cover{width:64%;max-width:620px;color:var(--text);cursor:pointer;background:0 0;border:0;padding:0;transition:transform .4s cubic-bezier(.22,.8,.2,1),opacity .3s,visibility .4s;position:absolute;top:24px;left:50%}.project-cover[data-position=center]{z-index:3;opacity:1;transform:translate(-50%)}.project-cover[data-position=left]{z-index:1;opacity:.72;transform:translate(-94%)translateY(16px)scale(.75)rotate(-3deg)}.project-cover[data-position=right]{z-index:1;opacity:.72;transform:translate(-6%)translateY(16px)scale(.75)rotate(3deg)}.project-cover[data-position=hidden]{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%)scale(.6)}.project-image-frame{aspect-ratio:16/10;border:1px solid var(--header-border);background:var(--header-background);width:100%;box-shadow:0 24px 34px -24px var(--header-shadow);border-radius:16px;display:block;position:relative;overflow:hidden;container-type:inline-size}.project-photo-layer{opacity:0;pointer-events:none;transition:opacity .28s,transform .28s;position:absolute;inset:0;transform:translate(4px)}.project-photo-layer[data-active=true]{opacity:1;z-index:1;transform:none}.project-photo-layer>img{object-fit:cover;width:100%;height:100%;display:block}.project-enlarge{z-index:2;background:var(--header-background);opacity:0;border-radius:6px;padding:5px 9px;font-size:11px;transition:opacity .18s;position:absolute;bottom:12px;right:12px}.project-cover[data-position=center]:is(:hover,:focus-visible) .project-enlarge{opacity:1}.project-photo-caption{width:64%;max-width:620px;color:var(--muted-text);flex-wrap:wrap;justify-content:space-between;gap:5px 12px;margin:-17px auto 22px;font-size:11px;display:flex}.project-thumbnails{flex-wrap:wrap;justify-content:center;gap:12px;padding-bottom:26px;display:flex}.project-thumbnail{width:108px;max-width:calc(33.3333% - 8px);color:var(--muted-text);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.project-thumbnail-image{aspect-ratio:16/10;background:var(--header-background);opacity:.65;border:2px solid #0000;border-radius:8px;width:100%;min-height:44px;transition:opacity .18s,border-color .18s;display:block;overflow:hidden;container-type:inline-size}.project-thumbnail-image>img{object-fit:cover;width:100%;height:100%;display:block}.project-thumbnail>span:last-child{margin-top:8px;display:block}.project-thumbnail[aria-pressed=true]{color:var(--text)}.project-thumbnail[aria-pressed=true] .project-thumbnail-image{border-color:var(--accent);opacity:1}.project-thumbnail:hover .project-thumbnail-image{opacity:1}.project-descriptions{border-top:1px solid var(--header-border);padding-top:24px;display:grid;position:relative}.project-description-panel{opacity:0;visibility:hidden;grid-area:1/1;grid-template-columns:1fr 1.35fr;gap:32px;transition:opacity .28s,transform .28s,visibility .28s;display:grid;position:absolute;inset:24px 0 auto;transform:translateY(6px)}.project-description-panel[data-active=true]{opacity:1;visibility:visible;position:relative;inset:auto;transform:none}.project-description-panel .section-eyebrow{letter-spacing:1.4px;font-size:11px}.project-description-panel h3{letter-spacing:-.03em;margin:12px 0;font-size:28px;font-weight:500}.project-organization,.project-description-panel a{color:var(--muted-text);font-size:13px;line-height:1.7}.project-description-panel a{min-height:44px;color:var(--accent);align-items:center;display:inline-flex}.project-summary{color:var(--muted-text);margin:0;font-size:15px;line-height:1.8}.project-technologies{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.project-technologies li{background:var(--header-background);border-radius:6px;padding:5px 10px;font-size:12px}.projects-section button:focus-visible{outline:3px solid var(--focus-color);outline-offset:4px}.project-illustration{text-align:left;width:100%;height:100%;color:var(--text);background:var(--header-background);padding:5cqw;font-size:2.1cqw;line-height:1.6;display:flex}.project-illustration aside{border-right:1px solid var(--header-border);flex-direction:column;gap:3cqw;width:26%;margin-right:5cqw;display:flex}.project-illustration aside strong{color:var(--accent);font-size:3cqw}.project-dashboard{flex:1;min-width:0}.project-illustration h4{margin:2cqw 0 4cqw;font-size:4cqw;font-weight:500;line-height:1.2}.project-chart{border:1px solid var(--header-border);border-radius:1.5cqw;align-items:end;gap:2cqw;height:24cqw;padding:2cqw;display:flex}.project-chart i{background:var(--accent);opacity:.65;border-radius:1cqw 1cqw 0 0;flex:1}.project-chart i:nth-child(2n){opacity:.9}.project-report-list p{border-bottom:1px solid var(--header-border);padding-bottom:2cqw}.project-account-fields p{border:1px solid var(--header-border);border-radius:1cqw;margin:1cqw 0 3cqw;padding:2cqw}.project-illustration--golf{background:radial-gradient(ellipse at 70% 80%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 75%),var(--header-background);justify-content:center;padding:3cqw}.project-phone{border:1px solid var(--header-border);background:var(--header-background);border-radius:3cqw;width:44%;padding:2.5cqw;transform:rotate(-4deg)}.project-phone-speaker{background:var(--header-border);border-radius:1cqw;width:6cqw;height:.8cqw;margin:0 auto 2cqw;display:block}.project-phone strong{color:var(--accent);font-size:2.5cqw}.project-phone h4{margin:2cqw 0;font-size:3.5cqw}.project-course-art{background:linear-gradient(150deg,#a8cdb3 40%,#5e987b 41%,#568879 70%,#9bc8d6 71%);border-radius:2cqw;height:17cqw}.project-phone p{margin:2cqw 0 0}.project-viewer{width:min(100% - 64px,160svh - 116px);max-width:1600px;max-height:calc(100svh - 32px);color:var(--text);background:0 0;border:0;margin:auto;padding:0}.project-viewer::backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#d5e7f6e0}[data-theme=dark] .project-viewer::backdrop{background:#061423e6}.project-viewer[open] .project-viewer-content{animation:.24s cubic-bezier(.2,.7,.2,1) project-viewer-enter}.project-viewer-content{grid-template-columns:120px minmax(0,1fr);gap:12px 20px;display:grid}.project-viewer-heading{grid-area:1/2;justify-content:space-between;align-items:center;gap:16px;display:flex}.project-viewer-heading strong{font-size:16px;font-weight:500}.project-viewer-image{aspect-ratio:16/10;border:1px solid var(--header-border);background:color-mix(in srgb,var(--header-background) 45%,transparent);width:100%;height:auto;min-height:120px;box-shadow:0 16px 36px var(--header-shadow);border-radius:12px;grid-area:2/2;margin:0;position:relative;overflow:hidden;container-type:inline-size}.project-viewer-image .project-photo-layer{justify-content:center;align-items:center;display:flex;transform:translateY(3px)scale(1.007)}.project-viewer-image .project-photo-layer[data-active=true]{transform:none}.project-viewer-image .project-photo-layer>img{object-fit:contain}.project-viewer-image .project-illustration{aspect-ratio:16/10;width:100%;height:100%;max-height:100%;overflow:hidden;container-type:inline-size}.project-viewer-dock{background:0 0;border:0;grid-area:2/1;grid-template-columns:repeat(2,minmax(0,1fr));align-self:start;place-items:center;gap:18px 8px;width:100%;max-height:calc(100svh - 160px);padding:4px 8px 4px 4px;display:grid;overflow-y:auto}.project-viewer-dock>.project-arrow{background:0 0;border-color:#0000}.project-viewer-dock>.project-arrow:hover{background:var(--control-hover)}.project-viewer-previous{grid-area:2/1}.project-viewer-next{grid-area:2/2}.project-viewer-thumbnails{flex-direction:column;grid-area:1/1/auto/-1;gap:10px;width:100%;min-width:0;display:flex}.project-viewer-thumbnail{width:100%;color:var(--muted-text);cursor:pointer;background:0 0;border:0;border-radius:10px;max-width:100%;padding:5px;transition:background .18s,transform .18s}.project-viewer-thumbnail:hover{background:color-mix(in srgb,var(--accent) 7%,transparent);transform:translateY(-2px)}.project-viewer-thumbnail[aria-pressed=true] .project-thumbnail-image{border-color:var(--accent);opacity:1}.project-viewer-thumbnail:hover .project-thumbnail-image{opacity:1}.project-viewer-thumbnail-label{margin-top:5px;font-size:11px;line-height:1.4;display:block}.project-viewer-thumbnail[aria-pressed=true]{color:var(--text);background:color-mix(in srgb,var(--accent) 10%,transparent)}.project-viewer-footer{flex-wrap:wrap;grid-area:3/2;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.project-viewer-caption{text-align:left;color:var(--muted-text);align-items:baseline;gap:12px;margin:0;font-size:12px;line-height:1.5;display:flex}.project-viewer-caption strong{color:var(--text);font-weight:500}.project-viewer-caption span{font-variant-numeric:tabular-nums;font-size:11px}.project-viewer-note{text-align:right;color:var(--muted-text);margin:0;font-size:11px}@keyframes project-viewer-enter{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:none}}@media (width>=761px) and (width<=1100px){.project-cover[data-position=left]{transform:translate(-88%)translateY(16px)scale(.75)rotate(-3deg)}.project-cover[data-position=right]{transform:translate(-12%)translateY(16px)scale(.75)rotate(3deg)}}@media (width<=760px){.projects-section{padding:40px 0 32px;scroll-margin-top:-40px}.projects-heading{flex-direction:column;align-items:start}.projects-navigation{flex-flow:wrap;justify-content:space-between;align-items:center;width:100%}.project-gallery-title{margin-top:24px;font-size:19px}.project-gallery:after,.project-cover{width:86%}.project-cover[data-position=left]{transform:translate(-71%)translateY(12px)scale(.72)rotate(-3deg)}.project-cover[data-position=right]{transform:translate(-29%)translateY(12px)scale(.72)rotate(3deg)}.project-photo-caption{width:86%}.project-description-panel{grid-template-columns:minmax(0,1fr);gap:16px}.project-summary{font-size:14px}.project-viewer{width:calc(100% - 24px);padding:6px}.project-viewer-content{display:block}.project-viewer-heading strong{font-size:14px}.project-viewer-image{aspect-ratio:auto;height:min(68vw,52svh,100svh - 265px);margin-top:12px}.project-viewer-dock{border:1px solid var(--header-border);background:var(--header-background);width:min(100%,340px);max-height:none;box-shadow:0 12px 30px var(--header-shadow);border-radius:16px;grid-template-columns:44px minmax(0,1fr) 44px;gap:0 8px;margin:12px auto 0;padding:10px;overflow:visible}.project-viewer-thumbnails{flex-flow:wrap;grid-area:1/2;justify-content:center;gap:6px}.project-viewer-thumbnail{width:60px;max-width:calc(33.3333% - 4px);padding:0}.project-viewer-thumbnail-label{display:none}.project-viewer-previous,.project-viewer-next{grid-row:1}.project-viewer-next{grid-column:3}.project-viewer-footer{justify-content:center;margin-top:10px}.project-viewer-caption,.project-viewer-note{text-align:center}.project-enlarge{display:none}}@media (prefers-reduced-motion:reduce){.project-cover,.project-photo-layer,.project-description-panel,.project-arrow,.project-thumbnail-image,.project-viewer-thumbnail{transition:none}.project-viewer[open] .project-viewer-content{animation:none}}.contact-section{text-align:center;max-width:1040px;margin-inline:auto;padding:clamp(32px,4vw,48px) 0 clamp(96px,16svh,160px);scroll-margin-top:-24px}.contact-invitation{transition:opacity .45s,transform .45s cubic-bezier(.22,.75,.23,1)}.contact-section[data-visible=false] .contact-invitation{opacity:0;transform:translateY(14px)}.contact-section h2{letter-spacing:-.045em;text-wrap:balance;margin:20px 0 24px;font-size:clamp(36px,5.5vw,64px);font-weight:500;line-height:1.12}.contact-section h2 span{color:var(--accent)}.contact-description{color:var(--muted-text);margin:0;font-size:16px;line-height:1.8}.contact-email{max-width:100%;min-height:48px;color:var(--text);justify-content:center;align-items:center;gap:16px;margin-top:28px;padding-block:8px 12px;font-size:clamp(15px,2.5vw,26px);text-decoration:none;display:inline-flex;position:relative}.contact-email span{overflow-wrap:anywhere;min-width:0}.contact-email svg{width:24px;height:24px}.contact-section a svg{flex-shrink:0;transition:transform .24s}.contact-section a:hover svg,.contact-section a:focus-visible svg{transform:translate(3px,-3px)}.contact-email:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .28s cubic-bezier(.22, .7, .25, 1), background-color var(--theme-duration) var(--theme-easing);position:absolute;inset:auto 0 0;transform:scaleX(.22)}.contact-email:hover:after,.contact-email:focus-visible:after{transform:scaleX(1)}.contact-socials{flex-wrap:wrap;justify-content:center;gap:8px 28px;margin-top:20px;display:flex}.contact-socials a{min-height:44px;color:var(--muted-text);align-items:center;gap:6px;font-size:13px;text-decoration:none;display:inline-flex}.contact-socials a:hover,.contact-socials a:focus-visible{color:var(--accent)}.site-footer{border-top:1px solid var(--header-border);max-width:1040px;color:var(--muted-text);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-inline:auto;padding:24px 0 32px;font-size:12px;line-height:1.6;display:flex}.contact-section h2 span,.contact-description,.contact-section a,.site-footer{transition:color var(--theme-duration) var(--theme-easing), border-color var(--theme-duration) var(--theme-easing)}@media (width<=580px){.contact-section{padding-bottom:clamp(72px,12svh,104px)}.contact-description{font-size:14px}.contact-email{gap:8px}.contact-email svg{width:18px;height:18px}.contact-socials{gap:8px 20px}}@media (prefers-reduced-motion:reduce){.contact-invitation,.contact-email:after,.contact-section a svg{transition:none}.contact-section[data-visible=false] .contact-invitation{opacity:1;transform:none}}.contact-description{white-space:pre-line}.portfolio{--text:#143550;--muted-text:#3d5c76;--header-border:#365f8535;--header-background:#edf5fc;--header-shadow:#1435501c;--control-hover:#d7e7f5;--focus-color:#1559b7;--accent:#2466a6;--action-background:#173f66;--action-text:#f4f9ff;--theme-duration:.35s;--icon-duration:.3s;--theme-easing:cubic-bezier(.25, .1, .25, 1);isolation:isolate;min-height:100svh;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;transition:color var(--theme-duration) var(--theme-easing), background-color var(--theme-duration) var(--theme-easing);background:#dce9f7;position:relative;overflow:clip}.wallpaper{z-index:-1;pointer-events:none;background:radial-gradient(at 72% 85%,#4f97da 0,#8ebbe6 24%,#0000 62%),radial-gradient(at 14% 14%,#f1f8fc 0,#0000 68%),linear-gradient(140deg,#dce9f7,#a7cbe7);position:fixed;inset:0;overflow:hidden}.portfolio[data-theme=dark]{--text:#e5f0fa;--muted-text:#b0c9df;--header-border:#a6c6e035;--header-background:#162f46;--header-shadow:#020b1e40;--control-hover:#25465f;--focus-color:#8dc5ff;--accent:#a6d3ff;--action-background:#c6e4ff;--action-text:#12334f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#06111e}.wallpaper:after{content:"";opacity:0;transition:opacity var(--theme-duration) var(--theme-easing);background:radial-gradient(at 72% 85%,#145c9c 0,#103b66 25%,#0000 64%),radial-gradient(at 12% 12%,#132838 0,#0000 65%),#06111e;position:absolute;inset:0}[data-theme=dark] .wallpaper:after{opacity:1}.site-header{z-index:10;width:100%;padding:calc(18px + env(safe-area-inset-top,0px)) 30px 18px;border:1px solid #0000;border-bottom-color:var(--header-border);background:var(--header-background);transition:top .26s ease, width .26s ease, padding .26s ease, border-radius .26s ease, border-color var(--theme-duration) var(--theme-easing), box-shadow var(--theme-duration) var(--theme-easing), background-color var(--theme-duration) var(--theme-easing);border-radius:0;position:fixed;top:0;left:50%;transform:translate(-50%);box-shadow:0 0 #0000}.site-header[data-floating=true]{top:calc(16px + env(safe-area-inset-top,0px));border-color:var(--header-border);width:min(100% - 48px,1120px);box-shadow:0 12px 30px var(--header-shadow);border-radius:18px;padding:10px 24px}.header-content{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;max-width:1120px;margin-inline:auto;display:grid}.header-actions{align-items:center;gap:8px;display:flex}.wordmark{min-height:44px;color:var(--text);letter-spacing:-1px;transition:color var(--theme-duration) var(--theme-easing);justify-self:start;align-items:center;font-size:22px;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.site-nav{align-items:center;gap:21px;display:flex}.navigation-links{align-items:center;gap:21px;display:flex;position:relative}.navigation-underline{background:var(--accent);opacity:0;pointer-events:none;height:2px;transition:transform .28s cubic-bezier(.22, .7, .25, 1), width .28s cubic-bezier(.22, .7, .25, 1), opacity .16s ease, background-color var(--theme-duration) var(--theme-easing);border-radius:2px;position:absolute;top:0;left:0}.navigation-underline[data-visible=true]{opacity:1}.site-nav a,.mobile-nav a{min-height:44px;color:var(--muted-text);white-space:nowrap;transition:color var(--theme-duration) var(--theme-easing);align-items:center;font-size:13px;line-height:1.5;text-decoration:none;display:inline-flex}.site-nav a[aria-disabled=true],.mobile-nav a[aria-disabled=true]{cursor:default}.site-nav a[href]:hover,.mobile-nav a[href]:hover,.navigation-links a[aria-current=location],.navigation-links a[href]:focus-visible{color:var(--accent)}.theme-toggle,.menu-toggle{border:1px solid var(--header-border);width:44px;height:44px;color:var(--text);cursor:pointer;touch-action:manipulation;transition:color var(--theme-duration) var(--theme-easing), border-color var(--theme-duration) var(--theme-easing), background-color var(--theme-duration) var(--theme-easing);background:0 0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.menu-toggle,.mobile-nav{display:none}.theme-icon{pointer-events:none;transform-origin:50%;transition:opacity var(--icon-duration) ease, transform var(--icon-duration) ease;grid-area:1/1}.theme-icon--moon{opacity:1;transform:rotate(0)scale(1)}.theme-icon--sun{opacity:0;transform:rotate(-50deg)scale(.85)}[data-theme=dark] .theme-icon--moon{opacity:0;transform:rotate(50deg)scale(.85)}[data-theme=dark] .theme-icon--sun{opacity:1;transform:rotate(0)scale(1)}.theme-toggle:hover,.menu-toggle:hover{background:var(--control-hover)}.site-header a:focus-visible,.theme-toggle:focus-visible,.menu-toggle:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px}@media (width<=580px){.site-header{padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px}.site-header[data-floating=true]{top:calc(14px + env(safe-area-inset-top,0px));width:calc(100% - 28px);padding:8px 12px}.header-content{grid-template-columns:minmax(0,1fr) auto;gap:12px}.site-nav{display:none}.wordmark{font-size:20px}.header-actions{gap:4px}.theme-toggle,.menu-toggle{border-color:#0000}.menu-toggle{display:inline-grid}.mobile-nav:not([hidden]){top:calc(100% + 10px);max-height:calc(100svh - 100px - env(safe-area-inset-top,0px));border:1px solid var(--header-border);background:var(--header-background);box-shadow:0 12px 30px var(--header-shadow);transition:border-color var(--theme-duration) var(--theme-easing), background-color var(--theme-duration) var(--theme-easing), box-shadow var(--theme-duration) var(--theme-easing);border-radius:16px;padding:8px;display:grid;position:absolute;inset-inline:14px;overflow-y:auto}.site-header[data-floating=true] .mobile-nav{inset-inline:0}.mobile-nav a{padding:8px 12px;font-size:14px}.mobile-nav .navigation-links{flex-direction:column;align-items:stretch;gap:0}}@media (prefers-reduced-motion:reduce){.portfolio{--theme-duration:0s;--icon-duration:0s}.site-header,.navigation-underline{transition:none}}.portfolio-loading{color:var(--muted-text);padding:180px 24px}.admin-sign-in{--admin-field:#f3f8fc;--admin-dot:#3778aa;flex-direction:column;display:flex}.admin-sign-in[data-theme=dark]{--admin-field:#0d263b;--admin-dot:#9ccfff}.admin-sign-in__dots{z-index:-1;pointer-events:none;opacity:.32;background-image:radial-gradient(circle, var(--admin-dot) 1px, transparent 1.5px);transition:background-color var(--theme-duration) ease;background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(115deg,#000,#0000 57%);mask-image:linear-gradient(115deg,#000,#0000 57%)}.admin-sign-in__header,.admin-sign-in__footer{justify-content:space-between;align-items:center;gap:20px;width:min(100%,1440px);margin-inline:auto;padding-inline:clamp(24px,5vw,72px);display:flex}.admin-sign-in__header{min-height:104px}.admin-sign-in__header .wordmark{letter-spacing:-1.8px;font-size:29px}.admin-sign-in__main{flex:1;place-items:center;padding:42px 24px 56px;display:grid}.admin-sign-in__content{width:100%;max-width:380px}.admin-sign-in__eyebrow{color:var(--muted-text);letter-spacing:2.2px;text-transform:uppercase;margin:0;font-size:11px;font-weight:500}.admin-sign-in h1{letter-spacing:-1.9px;margin:16px 0 12px;font-size:clamp(34px,5vw,44px);font-weight:500;line-height:1.15}.admin-sign-in__intro{color:var(--muted-text);margin:0 0 32px;font-size:15px;line-height:1.6}.admin-sign-in__form{flex-direction:column;display:flex}.admin-sign-in__form label{margin-bottom:9px;font-size:13px;font-weight:500}.admin-sign-in__form>input{margin-bottom:22px}.admin-sign-in__form input{border:1px solid var(--header-border);width:100%;min-width:0;height:50px;color:var(--text);background:var(--admin-field);font:inherit;transition:color var(--theme-duration) ease, background-color var(--theme-duration) ease, border-color var(--theme-duration) ease;border-radius:10px;padding:0 15px;font-size:16px}.admin-sign-in__form input::placeholder{color:var(--muted-text);opacity:.8}.admin-sign-in__password{position:relative}.admin-sign-in__password input{padding-right:54px}.admin-sign-in__password button{width:44px;height:44px;color:var(--muted-text);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;transition:background-color .2s;display:grid;position:absolute;top:3px;right:3px}.admin-sign-in__password button:hover{background:var(--control-hover)}.admin-sign-in__submit{background:var(--action-background);min-height:50px;color:var(--action-text);transition:background-color var(--theme-duration) ease, color var(--theme-duration) ease;cursor:pointer;border:0;border:1px solid color-mix(in srgb, var(--action-text) 16%, var(--action-background));width:100%;transition:background-color var(--theme-duration) ease, color var(--theme-duration) ease, box-shadow .18s ease, transform .18s ease;border-radius:12px;justify-content:space-between;align-items:center;margin-top:24px;padding:0 18px;font-size:14px;font-weight:500;display:flex;box-shadow:inset 0 1px #ffffff1f,0 4px 14px #04132116}.admin-sign-in__submit>svg{flex-shrink:0;width:20px;height:20px;transition:transform .18s}.admin-sign-in__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #ffffff30,0 7px 20px #04132124}.admin-sign-in__submit:hover:not(:disabled)>svg{transform:translate(3px)}.admin-sign-in__submit:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.admin-sign-in button:disabled{opacity:.65}.admin-sign-in__enrollment{margin-bottom:24px}.admin-sign-in__qr{border-radius:12px;width:min(100%,240px);height:auto;margin:0 auto 16px;display:block}.admin-sign-in__enrollment details{color:var(--muted-text);font-size:13px;line-height:1.6}.admin-sign-in__enrollment summary{cursor:pointer;padding-block:8px}.admin-sign-in__enrollment code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;display:block}.admin-sign-in__form select{min-height:48px;font:inherit;color:var(--text);background:var(--admin-field);border:1px solid var(--header-border);border-radius:10px;margin-bottom:18px;padding:10px}.admin-sign-in__error{color:var(--text);border-left:3px solid var(--accent);padding-left:12px;font-size:14px;line-height:1.6}.admin-sign-in__identity{color:var(--muted-text);overflow-wrap:anywhere;font-size:14px;line-height:1.8}.admin-sign-in__identity strong{color:var(--text);font-weight:500;display:block}.admin-sign-in__form button:disabled{cursor:not-allowed}.admin-sign-in__notice{color:var(--muted-text);margin:12px 0 0;font-size:12px;line-height:1.6}.admin-sign-in__timeout{border:1px solid var(--header-border);background:var(--admin-field);color:var(--text);border-radius:10px;margin:20px 0;padding:14px 16px;font-size:14px;line-height:1.6}.admin-sign-in__footer{color:var(--muted-text);padding-block:22px 28px;font-size:12px}.admin-sign-in a:focus-visible,.admin-sign-in input:focus-visible,.admin-sign-in button:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px}@media (width<=580px){.admin-sign-in__header{min-height:88px}.admin-sign-in__main{padding-block:28px 40px}.admin-sign-in__footer{flex-wrap:wrap;gap:10px}}@media (prefers-reduced-motion:reduce){.admin-sign-in *,.admin-sign-in :after{transition:none!important}}.admin-sign-in__content--checking{text-align:center;max-width:460px}.admin-loading{padding-top:26px;animation:.26s ease-out both admin-loading-arrive}.admin-loading__illustration{place-items:center;width:144px;height:144px;margin:0 auto 26px;display:grid;position:relative}.admin-loading__halo{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 18%, transparent), transparent 70%);border-radius:50%;animation:2.8s ease-in-out infinite admin-loading-breathe;position:absolute;inset:0}.admin-loading__orbit{border:2px solid var(--header-border);border-top-color:var(--accent);border-right-color:#0000;border-radius:50%;animation:1.6s linear infinite admin-loading-orbit;position:absolute;inset:16px}.admin-loading__tile{border:1px solid var(--header-border);width:72px;height:72px;color:var(--accent);background:linear-gradient(145deg, var(--header-background), var(--control-hover));box-shadow:0 12px 30px var(--header-shadow), inset 0 1px 0 color-mix(in srgb, var(--text) 5%, transparent);border-radius:22px;place-items:center;display:grid;position:relative}.admin-sign-in .admin-loading h1{letter-spacing:-1.4px;margin:0 0 14px;font-size:clamp(28px,5vw,36px);line-height:1.2}.admin-loading__description{max-width:31ch;color:var(--muted-text);margin:0 auto;font-size:15px;line-height:1.7}.admin-sign-in__content:not(.admin-sign-in__content--checking){animation:.24s ease-out both admin-loading-arrive}.admin-dashboard{animation:.28s ease-out both admin-studio-arrive}@keyframes admin-loading-orbit{to{transform:rotate(360deg)}}@keyframes admin-loading-breathe{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}@keyframes admin-loading-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes admin-studio-arrive{0%{opacity:.5}to{opacity:1}}@media (prefers-reduced-motion:reduce){.admin-loading,.admin-loading__halo,.admin-loading__orbit,.admin-sign-in__content,.admin-dashboard{animation:none!important}}
