/* Liquid glass portfolio — native type, compositor motion, no downloaded fonts. */
:root{font:100%/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--ice);font-synthesis:none;--ink:#142338;--muted:#53647a;--blue:#087aff;--ice:#f4f7fb;--glass:rgba(255,255,255,.72);--line:rgba(20,35,56,.12);--radius:1.8rem;--ease:cubic-bezier(.2,.75,.25,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,input{font:inherit}button{cursor:pointer}button,a,summary{color:inherit}button{border:0}a{text-decoration:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-optical-sizing:auto;font-weight:650}h1,h2{letter-spacing:-.055em;line-height:1.06}h3{letter-spacing:-.045em;line-height:1.11}p{color:var(--muted)}button:active,a:active,summary:active{filter:brightness(.95)}:focus-visible{outline:3px solid #0867d4;outline-offset:5px}img{display:block;max-width:100%;height:auto}button:disabled{opacity:.35;cursor:default}.container{width:min(100% - 7rem,1240px);margin-inline:auto}.icon{display:inline-block;width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.section-label,.quiet-label,.chapter-name,.specimen-label,.stage-caption,.code-label,.code-comment,.rail-count,.swipe-hint,.step-number,.hero-footer{font-size:.76rem;letter-spacing:.025em}.section-label{color:var(--muted);font-weight:600}.quiet-label{color:var(--muted)}.glass{background:var(--glass);backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);border:1px solid rgba(255,255,255,.9);box-shadow:0 8px 32px rgba(25,44,74,.08),inset 0 1px 0 white,inset 0 -1px 0 rgba(20,35,56,.035)}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:white;padding:.7rem 1rem;border-radius:.6rem}.skip-link:focus{top:1rem}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:70;pointer-events:none}.scroll-progress span{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left;will-change:transform}
/* Functional glass floats above the page, while project surfaces remain quiet. */
.site-header{position:fixed;z-index:50;top:1.1rem;left:50%;transform:translateX(-50%);width:min(100% - 3rem,1240px);height:4.1rem;border-radius:1.4rem;display:flex;align-items:center;justify-content:space-between;padding:0 1.4rem;gap:2rem}.monogram{font-size:1.9rem;font-weight:750;letter-spacing:-.1em;line-height:1;padding-right:.35rem}.monogram span{color:var(--blue)}.desktop-nav{display:flex;gap:2rem;font-size:.82rem;font-weight:550}.desktop-nav a{position:relative;padding:.5rem 0}.desktop-nav a::after{content:"";position:absolute;bottom:.2rem;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav a:hover::after{transform:scaleX(1)}.header-contact{display:flex;align-items:center;gap:1rem;border-radius:.9rem;background:var(--ink);color:#fff;padding:.65rem 1rem;font-size:.78rem;font-weight:600}.header-contact .icon{width:1rem;height:1rem}.menu-toggle{display:none}.mobile-menu[hidden]{display:none}
/* An actual workbench, not an abstract stock illustration. */
.hero{min-height:850px;min-height:min(900px,100svh);display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;position:relative;padding-top:8rem;padding-bottom:7rem;isolation:isolate}.hero::before{content:"";position:absolute;z-index:-1;width:58%;height:72%;right:-1rem;top:14%;background:radial-gradient(ellipse at 65% 35%,#dbe8ff 0%,#e9e3fb 30%,transparent 69%);pointer-events:none}.hero-copy{position:relative;z-index:2}.hero-identity{display:flex;gap:.8rem;align-items:center;margin-bottom:2.3rem}.identity-mark{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:50%;color:#3b6092;background:#dde8f5;font-size:1.15rem;font-weight:600}.hero-identity strong,.hero-identity small{display:block;font-size:.8rem;line-height:1.6}.hero-identity small{font-size:.7rem;color:var(--muted)}.hero h1{font-size:clamp(4rem,6.8vw,6.4rem);margin-bottom:1.6rem}.hero h1 span{color:#547dac}.hero-copy>p{max-width:24rem;font-size:1rem;line-height:1.8}.primary-button{display:inline-flex;align-items:center;gap:2.2rem;min-height:3.25rem;padding:.85rem 1.35rem;margin-top:2rem;border-radius:1rem;background:var(--ink);color:white;font-size:.86rem;font-weight:550;box-shadow:0 8px 20px #14233812}.primary-button .icon{width:1.1rem}.hero-note{display:flex;align-items:center;gap:.5rem;font-size:.7rem;color:var(--muted);margin-top:1.15rem}.mini-line{width:1.35rem;height:1px;background:#8a9bb0}.hero-workbench{position:relative;height:470px;min-width:0;align-self:center;margin-left:-1rem}.workbench-orbit{position:absolute;width:480px;height:480px;left:5%;top:-8%;border:1px solid #abc1d43b;border-radius:50%;transform:rotate(-20deg)}.workbench-orbit::after{content:"";position:absolute;inset:2.5rem;border:1px solid #abc1d426;border-radius:50%}.hero-browser{position:absolute;width:93%;left:0;top:16%;transform:translateY(var(--parallax-y,0px)) rotate(-7deg);transform-origin:bottom left}.browser-window{overflow:hidden;border-radius:1rem;background:#fff;border:1px solid rgba(255,255,255,.9);box-shadow:0 25px 50px -18px #14233835,0 4px 12px #1423380c}.window-toolbar{height:2rem;display:flex;align-items:center;justify-content:space-between;position:relative;padding:0 .7rem;font-size:.58rem;color:#59667a;background:#fff}.window-dots{display:flex;gap:.25rem}.window-dots i{width:.3rem;height:.3rem;background:#d6dce5;border-radius:50%}.window-toolbar>span:nth-child(2){position:absolute;left:50%;transform:translateX(-50%)}.window-toolbar>.icon{width:.7rem;height:.7rem;opacity:.65}.browser-screen{aspect-ratio:16/9;overflow:hidden;background:#f1f4f7}.preview-image{width:100%;height:auto}.specimen-label{display:flex;justify-content:space-between;align-items:center;margin-top:.6rem;font-size:.67rem;font-weight:500;color:#435773}.specimen-label span{font-size:.6rem;opacity:.7}.hero-phone{position:absolute;right:1%;top:9%;width:27%;max-width:178px;transform:translateY(var(--parallax-y,0px)) rotate(10deg);border-radius:1.3rem}.app-crop{aspect-ratio:297/643;position:relative;overflow:hidden;border-radius:1.15rem;background:#d8eafa}.app-source{position:absolute;width:646.4646%;max-width:none;height:auto;left:var(--crop-x);top:-63.7636%}.hero-phone .app-crop{border:4px solid #f8fbff;box-shadow:0 25px 45px -15px #14233845}.glass-lens{position:absolute;width:6.7rem;height:6.7rem;border-radius:50%;display:grid;place-items:center;top:62%;left:38%;transform:rotate(-10deg);box-shadow:0 12px 30px #19304916,inset 3px 4px 5px #fff,inset -3px -4px 7px #3b68942b}.glass-lens .icon{width:2.7rem;height:2.7rem;stroke-width:.9;color:#6286ac}.workbench-coordinate{position:absolute;bottom:5%;left:12%;right:0;display:flex;justify-content:space-between;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#69829d;font-size:.64rem}.hero-footer{position:absolute;bottom:2rem;width:100%;display:flex;align-items:center;justify-content:space-between;color:var(--muted);padding-top:1.5rem;border-top:1px solid var(--line)}.hero-footer a{display:grid;place-items:center;border:1px solid var(--line);width:2.2rem;height:2.2rem;border-radius:50%}.hero-footer span:last-child{text-align:right}
/* Large type introduces the portfolio; individual chapters vary their rhythm. */
.work-intro{padding-block:7rem 5rem}.intro-top,.chapter-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:6rem;align-items:end;margin-top:2.7rem}.intro-grid h2,.other-intro h2,.about-copy h2,.service-heading h2,.approach-heading h2,.faq h2{font-size:clamp(2.8rem,4.3vw,4.6rem)}.intro-grid h2 span,.other-intro h2 span,.approach-heading h2 span{color:#7191b5}.intro-grid p{max-width:27rem;font-size:1rem;line-height:1.8;padding-bottom:.4rem}.chapter-jump{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:3rem}.chapter-jump a{display:flex;align-items:center;gap:1.25rem;padding:.7rem 1rem;background:#e8edf4;border-radius:2rem;font-size:.73rem}.chapter-jump .icon{width:.8rem;height:.8rem}.chapter-jump a:hover{background:#dce7f4}.project-chapter{padding-block:2rem 5.5rem;--tone:#e8f3ed;--accent:#497959;background:var(--tone)}.tone-mint{--tone:#e8f3ed;--accent:#416c55}.tone-blue{--tone:#e9eff9;--accent:#456d9b}.tone-violet{--tone:#eeecfa;--accent:#7467a7}.tone-rose{--tone:#f4eaf1;--accent:#8d607e}.tone-sky{--tone:#e8f2f8;--accent:#4b819f}.tone-lilac{--tone:#edecf6;--accent:#77719a}.tone-sand{--tone:#f2efe7;--accent:#857554}.tone-peach{--tone:#f8eee5;--accent:#a57043}.chapter-top{padding-bottom:1.2rem;border-bottom:1px solid #14233812}.chapter-name{font-weight:550;color:var(--accent)}.chapter-grid{display:grid;grid-template-columns:.85fr 1.3fr;align-items:center;gap:5rem;padding-top:4.5rem}.chapter-copy{max-width:28rem}.project-name{font-size:.78rem;font-weight:650;color:var(--accent);display:block;margin-bottom:1.15rem}.chapter-copy h3,.collection-heading h3{font-size:clamp(2.5rem,3.6vw,3.7rem)}.project-lead{font-size:.92rem;line-height:1.85;margin-top:1.5rem;max-width:26rem}.feature-tags{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4rem;margin:1.35rem 0 1.5rem}.feature-tags li{font-size:.65rem;color:#415166;padding:.35rem .6rem;border-radius:.45rem;background:#ffffff80}.project-stage{min-width:0;padding-top:1rem}.project-visual{transform:translateY(var(--parallax-y,0px))}.stage-caption{display:flex;justify-content:space-between;gap:.6rem;font-size:.62rem;margin-top:1.2rem;color:#526277}.stage-caption span:first-child{display:flex;align-items:center;gap:.4rem}.stage-caption .icon{width:.8rem;height:.8rem}.reverse .chapter-copy{grid-column:2;grid-row:1}.reverse .project-stage{grid-column:1;grid-row:1}.reverse .chapter-grid{grid-template-columns:1.3fr .85fr}.wide .chapter-grid{gap:5rem}.wide .project-stage{padding-inline:0}.project-chapter:nth-child(4) .project-visual{transform:translateY(var(--parallax-y,0px)) rotate(2deg)}.project-chapter:nth-child(7) .project-visual{transform:translateY(var(--parallax-y,0px)) rotate(-2deg)}.app-showcase{display:flex;align-items:center;gap:1rem;padding:1rem 0 1.6rem;justify-content:center;min-width:0}.app-shot{width:30%;transform:translateY(var(--parallax-y,0px))}.app-shot-1{margin-top:-3rem}.app-shot-2{margin-top:2.5rem}.app-shot .app-crop{box-shadow:0 18px 24px -13px #14233824;border:4px solid #ffffffb8}.app-shot figcaption{text-align:center;margin-top:.8rem;color:#5b6681;font-size:.62rem}.app .project-stage{padding-top:2rem}
/* Native details remain usable without JavaScript. Enhanced height motion reverses. */
.disclosure{border-top:1px solid #14233820;font-size:.78rem}.disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.4rem;list-style:none;cursor:pointer;font-weight:550}.disclosure summary::-webkit-details-marker{display:none}.plus{width:.9rem;height:.9rem;position:relative;flex-shrink:0}.plus::before,.plus::after{content:"";position:absolute;background:currentColor;left:0;top:50%;width:100%;height:1px;transition:transform .25s var(--ease)}.plus::after{transform:rotate(90deg)}.disclosure[open] .plus::after,.disclosure[data-expanded="true"] .plus::after{transform:rotate(0)}.disclosure[data-expanded="false"] .plus::after{transform:rotate(90deg)}.disclosure-content{padding-bottom:1.1rem}.disclosure-content p{font-size:.8rem;line-height:1.8}.disclosure.is-animating .disclosure-content{overflow:hidden}
/* Swipe collections show a peek of the next work and never autoplay. */
.cleaning-section{background:var(--tone);padding-block:2rem 5rem}.collection-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-block:3.5rem 2rem}.collection-heading p{font-size:.91rem;line-height:1.8;max-width:32rem;margin-top:1.1rem}.rail-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.rail-count{min-width:3.1rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);margin-right:.25rem;white-space:nowrap}.round-button{width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:50%;flex-shrink:0;transition:transform .15s var(--ease)}.round-button:active{transform:scale(.93)}.round-button .icon{width:1.05rem;height:1.05rem}.project-rail{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:.3rem .2rem 1.5rem;scrollbar-width:none;outline-offset:3px}.project-rail::-webkit-scrollbar{display:none}.collection-card{flex:0 0 37%;scroll-snap-align:start;scroll-snap-stop:normal;background:#fff;border-radius:1.25rem;overflow:hidden;border:1px solid #14233809;min-width:0;align-self:start}.card-image{aspect-ratio:16/9;overflow:hidden;background:#e7edf4}.card-image .preview-image{height:100%;width:100%;object-fit:cover}.card-copy{padding:1.3rem 1.4rem .25rem}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.62rem;color:var(--muted);margin-bottom:.6rem}.card-meta>.icon{width:.8rem;height:.8rem;transform:rotate(45deg)}.card-copy h3{font-size:1.4rem;letter-spacing:-.03em;line-height:1.25;margin-bottom:1rem}.card-copy .disclosure{font-size:.7rem}.card-copy .disclosure summary{min-height:3rem}.card-copy .disclosure-content p{font-size:.77rem}.archive-badge{font-size:.58rem;padding:.15rem .4rem;border-radius:.3rem;background:#edf0f4}.swipe-hint{display:flex;align-items:center;gap:.5rem;color:#596b80;font-size:.65rem;margin-top:.5rem}.swipe-hint .icon{width:1.1rem;height:1.1rem}.cleaning-rail .collection-card{flex-basis:42%}.cleaning-rail .card-image{padding:.7rem .7rem 0;background:#d6e8df;aspect-ratio:16/9.7}.cleaning-rail .card-image img{height:auto;border-radius:.6rem .6rem 0 0}.other-intro{padding-top:7rem;padding-bottom:1rem}.other-intro h2{margin-block:1.7rem 1.5rem}.other-intro>p{max-width:30rem;font-size:.95rem}.collection{padding-block:2rem 3rem;content-visibility:auto;contain-intrinsic-size:auto 560px}.collection+.collection{border-top:1px solid var(--line)}.collection .collection-heading h3{font-size:clamp(1.7rem,2.5vw,2.5rem);margin-top:1rem}.collection .collection-heading{margin-top:1.5rem}.collection .collection-heading p{max-width:32rem;font-size:.88rem}
/* About, services and approach have their own pace between project collections. */
.about-section{padding-block:7rem;margin-top:4rem;background:#e9eef7}.about-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:7rem;align-items:center}.about-copy h2{margin-block:1.5rem}.about-copy>p{font-size:.95rem;line-height:1.85;margin-bottom:1rem}.skills{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.8rem}.skills span{font-size:.7rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;padding:.5rem .8rem;background:#ffffff88;border-radius:.5rem}.about-art{height:410px;position:relative;isolation:isolate}.about-monogram{position:absolute;right:5%;bottom:0;font-size:16rem;font-weight:700;letter-spacing:-.1em;color:#cad5e7;line-height:.85;z-index:-1}.code-sheet{position:absolute;left:0;top:8%;background:#f9fbff;border:1px solid white;box-shadow:0 25px 60px -22px #233a6733;padding:1.6rem 2rem;width:96%;border-radius:1rem;transform:rotate(-5deg);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.code-sheet span{display:block}.code-label{color:#66758b;padding-bottom:1rem;border-bottom:1px solid var(--line);margin-bottom:1.5rem;font-size:.64rem}.code-line{font-size:.78rem;margin-bottom:.65rem;white-space:nowrap}.code-line b{font-weight:500;color:#4c79b6}.code-comment{font-size:.72rem;color:#8090a5;margin-block:1.2rem}.about-tag{position:absolute;bottom:12%;left:1rem;border-radius:1rem;padding:.7rem 1rem;display:flex;align-items:center;gap:1rem;font-size:.7rem;color:#51637e;transform:rotate(3deg)}.services{padding-block:7rem;display:grid;grid-template-columns:.8fr 1.3fr;gap:6rem}.service-heading h2{margin-top:1.5rem}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:2rem 1fr;gap:1.25rem;padding-block:2rem;border-bottom:1px solid var(--line);position:relative}.service-row>.icon{width:1.5rem;height:1.5rem;margin-top:.25rem;color:#6388b4}.service-row h3{font-size:1.4rem;letter-spacing:-.03em;margin-bottom:.65rem}.service-row p{font-size:.88rem;max-width:27rem}.service-row>span{grid-column:2;font-size:.65rem;color:#596b82;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;margin-top:-.2rem}.approach-section{background:#e9e7f3;padding-block:6rem}.approach-section>.container{display:grid;grid-template-columns:1fr 1fr;gap:6rem}.approach-heading h2{margin-block:1.5rem}.approach-heading>p{max-width:26rem;font-size:.92rem;line-height:1.8}.process-item{border-color:#14233820}.process-item summary{font-size:1.1rem;min-height:5rem;justify-content:initial;gap:1.5rem;letter-spacing:-.02em}.process-item .plus{margin-left:auto}.step-number{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#6e6e90;font-size:.7rem}.process-item .disclosure-content{padding-left:2.6rem;padding-bottom:1.8rem}.process-item .disclosure-content p{font-size:.9rem}.faq{padding-block:7rem;display:grid;grid-template-columns:1fr 1fr;gap:6rem}.faq h2{margin-top:1.5rem}.faq-item summary{font-size:.87rem;min-height:4.6rem}.faq-item .disclosure-content p{font-size:.9rem}.contact-section{background:#dae6f5;padding-block:5rem 2rem}.contact-heading{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1.5rem}.contact-heading h2{font-size:clamp(3.5rem,7vw,7rem);letter-spacing:-.06em}.contact-heading h2 span{color:#6a88ad}.contact-arrow{width:8rem;height:8rem;stroke-width:.7;color:#6084b0}.contact-section>.container>p{margin-top:1.6rem;line-height:1.8;font-size:1rem}.contact-actions{display:flex;gap:1rem;margin-top:2.5rem;max-width:52rem}.contact-button{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-radius:1.3rem;padding:1.2rem 1.5rem;flex:1;text-align:left;transition:transform .15s var(--ease);min-width:0}.contact-button:active{transform:scale(.98)}.contact-button small,.contact-button strong{display:block}.contact-button small{font-size:.65rem;color:#435e80;margin-bottom:.2rem}.contact-button strong{font-size:1.1rem;font-weight:550;letter-spacing:-.025em}.contact-button>.icon{color:#55779e}.contact-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:5rem;padding-top:1.5rem;border-top:1px solid #14233820;font-size:.7rem;color:#526883}.text-button{display:inline-flex;gap:1rem;align-items:center;background:transparent;padding:.5rem 0;font-size:.7rem}.text-button .icon{width:.9rem;height:.9rem}
/* User-controlled motion. Nothing loops when the page is idle. */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.js .reveal.is-visible{opacity:1;transform:translateY(0)}.mobile-dock{display:none}.back-to-top{position:fixed;bottom:1.5rem;right:1.5rem;z-index:40;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s}.back-to-top.is-visible{opacity:1;transform:none;pointer-events:auto}.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%,15px);padding:.75rem 1.2rem;z-index:80;border-radius:1rem;font-size:.8rem;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 2rem);text-align:center}.toast.is-visible{opacity:1;transform:translate(-50%,0)}.cursor-halo{position:fixed;left:0;top:0;width:38px;height:38px;border:1px solid #5983b759;border-radius:50%;background:#91baff0c;pointer-events:none;z-index:90;opacity:0;transform:translate(-100px,-100px);transition:opacity .15s,width .2s,height .2s;margin-left:-19px;margin-top:-19px}.cursor-halo.is-active{opacity:1}.cursor-halo.over-control{width:54px;height:54px;margin-left:-27px;margin-top:-27px;background:#8cbfff15;border-color:#679cdf6b}
@media(min-width:1500px){.hero{min-height:860px}.hero-workbench{height:510px}.hero-phone{right:-1%}.hero-browser{width:100%}}
@media(max-width:1100px){.container{width:calc(100% - 4rem)}.hero{min-height:760px}.hero h1{font-size:5rem}.hero-workbench{height:400px}.hero-copy>p{max-width:22rem;font-size:.94rem}.workbench-orbit{width:390px;height:390px}.hero-phone{top:7%}.glass-lens{width:5.5rem;height:5.5rem}.chapter-grid,.wide .chapter-grid{gap:3rem}.chapter-copy h3{font-size:2.8rem}.intro-grid{gap:3rem}.about-grid,.services,.faq,.approach-section>.container{gap:3rem}.about-art{height:340px}.code-sheet{padding:1.5rem}.code-line{font-size:.7rem}.about-monogram{font-size:13rem}.collection-card{flex-basis:43%}.app-showcase{gap:.7rem}.stage-caption{font-size:.57rem}}
@media(max-width:800px){.container{width:calc(100% - 2.5rem)}html{scroll-padding-top:6rem}.site-header{width:calc(100% - 2rem);height:3.7rem;top:.8rem;padding-inline:1rem;border-radius:1.25rem;gap:1rem}.desktop-nav{display:none}.monogram{font-size:1.7rem}.header-contact{margin-left:auto;padding:.55rem .8rem;font-size:.7rem;border-radius:.8rem;gap:.7rem}.menu-toggle{display:flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:transparent;border-radius:.7rem}.menu-toggle span{height:1px;width:17px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.mobile-menu{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#f8fbfe;border:1px solid white;border-radius:1.3rem;padding:.75rem 1.25rem;box-shadow:0 20px 40px #14233820;transform-origin:top right}.mobile-menu a{display:block;font-size:1.3rem;letter-spacing:-.04em;padding:.8rem 0;border-bottom:1px solid var(--line)}.mobile-menu>span{display:block;font-size:.68rem;color:var(--muted);padding-block:1rem .5rem}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:initial;padding-top:7.4rem;padding-bottom:7rem}.hero::before{width:100%;height:50%;top:45%;right:0}.hero-identity{margin-bottom:1.8rem}.hero h1{font-size:clamp(3.7rem,10.5vw,5.5rem);margin-bottom:1.3rem}.hero-copy>p{font-size:.94rem;max-width:29rem}.primary-button{margin-top:1.5rem;min-height:3rem;font-size:.8rem}.hero-note{font-size:.67rem;margin-top:.8rem}.hero-workbench{height:370px;width:100%;max-width:600px;margin:2.5rem 0 0;align-self:center}.hero-browser{left:2%;top:15%;width:82%}.hero-phone{right:3%;top:5%;width:25%;max-width:150px}.workbench-orbit{height:340px;width:340px;left:18%;top:-5%}.glass-lens{width:5rem;height:5rem;top:65%;left:40%}.glass-lens .icon{width:2rem;height:2rem}.workbench-coordinate{bottom:1%;font-size:.58rem;left:4%;right:3%}.hero-footer{bottom:1.7rem;font-size:.64rem;gap:1rem}.hero-footer span{max-width:11rem}.hero-footer a{flex-shrink:0;width:2rem;height:2rem}.work-intro{padding-block:4rem 3rem}.intro-grid{display:block;margin-top:2rem}.intro-grid h2,.other-intro h2,.about-copy h2,.service-heading h2,.approach-heading h2,.faq h2{font-size:3.2rem}.intro-grid p{margin-top:1.5rem;max-width:33rem;font-size:.93rem}.intro-top .quiet-label{font-size:.65rem}.section-label{font-size:.68rem}.chapter-jump{gap:.45rem;margin-top:2rem}.chapter-jump a{font-size:.65rem;padding:.6rem .8rem;gap:.7rem}.project-chapter{padding-block:1.4rem 3.5rem}.chapter-top{padding-bottom:1rem}.chapter-name{font-size:.65rem;max-width:45%;text-align:right}.chapter-grid,.reverse .chapter-grid,.wide .chapter-grid{display:flex;flex-direction:column;align-items:stretch;gap:2.3rem;padding-top:2.5rem}.chapter-copy{max-width:100%}.project-name{margin-bottom:.8rem;font-size:.72rem}.chapter-copy h3,.collection-heading h3{font-size:2.85rem}.project-lead{font-size:.88rem;margin-top:1.1rem;max-width:30rem}.feature-tags{margin-block:1.1rem 1rem}.feature-tags li{font-size:.61rem}.chapter-copy .disclosure{max-width:33rem}.project-stage,.app .project-stage{padding-top:0}.stage-caption{font-size:.57rem;margin-top:1rem}.app-showcase{max-width:520px;margin-inline:auto;padding-top:1rem;padding-bottom:1rem;gap:.75rem}.app-shot{width:30%}.app-shot-1{margin-top:-1.5rem}.app-shot-2{margin-top:1.5rem}.app-shot .app-crop{border-width:3px;border-radius:1rem}.app-shot figcaption{font-size:.56rem}.cleaning-section{padding-block:1.4rem 3rem}.collection-heading{gap:1.4rem;flex-wrap:wrap;margin-block:2.3rem 1.2rem}.collection-heading p{font-size:.86rem;margin-top:1rem}.rail-controls{margin-left:auto}.rail-count{font-size:.67rem}.round-button{width:2.65rem;height:2.65rem}.collection-card{flex-basis:72%}.cleaning-rail .collection-card{flex-basis:78%}.project-rail{gap:.9rem;margin-right:-1.25rem;padding-right:1.25rem;padding-bottom:1rem}.card-copy{padding:1rem 1.1rem .1rem}.card-copy h3{font-size:1.25rem}.card-meta{font-size:.58rem}.card-copy .disclosure summary{font-size:.67rem}.other-intro{padding-top:4rem}.other-intro h2{margin-block:1.4rem 1.1rem}.other-intro>p{font-size:.89rem}.collection{padding-block:1.4rem 2rem;contain-intrinsic-size:auto 500px}.collection .collection-heading h3{font-size:1.9rem;max-width:25rem}.collection .collection-heading p{font-size:.85rem}.swipe-hint{font-size:.6rem}.about-section{padding-block:3.5rem;margin-top:2rem}.about-grid{display:flex;flex-direction:column-reverse;gap:2rem;align-items:stretch}.about-copy h2{margin-block:1.2rem}.about-copy>p{font-size:.91rem;max-width:33rem}.skills{margin-top:1.3rem;gap:.4rem}.skills span{font-size:.66rem;padding:.4rem .6rem}.about-art{height:300px;max-width:480px;margin-inline:auto;width:100%}.code-sheet{width:92%;max-width:380px;padding:1.3rem 1.5rem}.about-monogram{font-size:12rem}.code-line{font-size:.72rem}.code-label{margin-bottom:1rem}.about-tag{bottom:4%;padding:.65rem .85rem;font-size:.65rem}.services{display:block;padding-block:4rem}.service-heading h2{margin-top:1.2rem;margin-bottom:2rem}.service-row{padding-block:1.5rem;gap:.8rem}.service-row h3{font-size:1.3rem}.service-row p{font-size:.84rem}.service-row>span{font-size:.62rem}.approach-section{padding-block:3.5rem}.approach-section>.container{display:block}.approach-heading h2{margin-block:1.2rem}.approach-heading>p{font-size:.87rem}.process-list{margin-top:2rem}.process-item summary{font-size:1rem;min-height:4.5rem;gap:1rem}.process-item .disclosure-content{padding-left:2rem;padding-bottom:1.3rem}.process-item .disclosure-content p{font-size:.85rem}.faq{display:block;padding-block:4rem}.faq h2{margin-top:1.2rem;margin-bottom:2rem}.faq-item summary{font-size:.84rem;min-height:4.3rem}.faq-item .disclosure-content p{font-size:.85rem}.contact-section{padding-block:3.5rem 6.5rem}.contact-heading h2{font-size:4rem}.contact-arrow{width:3.5rem;height:3.5rem}.contact-section>.container>p{font-size:.9rem}.contact-actions{flex-direction:column;gap:.75rem;margin-top:1.8rem}.contact-button{padding:1rem 1.2rem;border-radius:1.15rem;min-height:5rem}.contact-button strong{font-size:1.04rem}.contact-button small{font-size:.63rem}.contact-footer{margin-top:3rem;flex-wrap:wrap;justify-content:space-between;font-size:.65rem;row-gap:.5rem}.contact-footer>span:nth-child(2){display:none}.text-button{font-size:.64rem}.mobile-dock{position:fixed;z-index:40;display:flex;align-items:center;bottom:max(1rem,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);border-radius:1.5rem;padding:.35rem;width:17rem;gap:.3rem}.mobile-dock a{display:flex;flex:1;flex-direction:column;align-items:center;gap:.15rem;padding:.45rem .4rem;border-radius:1.15rem;font-size:.56rem;color:#485e7a}.mobile-dock a .icon{width:1.13rem;height:1.13rem}.mobile-dock a.is-active{background:#dbe8f9;color:#1b4e8c}.back-to-top{right:.75rem;bottom:6.1rem;width:2.6rem;height:2.6rem}.toast{bottom:6.3rem;font-size:.74rem;min-width:13rem}.cursor-halo{display:none}}
@media(max-width:430px){.hero-workbench{height:270px;margin-top:2.2rem}.hero h1{font-size:3.85rem}.hero-copy>p{font-size:.88rem;line-height:1.75}.hero-browser{top:17%;width:86%;left:1%}.hero-phone{top:3%;right:0;width:27%;max-width:110px}.workbench-orbit{width:250px;height:250px;left:13%;top:-3%}.glass-lens{width:4.5rem;height:4.5rem;top:65%;left:38%}.hero-footer{font-size:.58rem}.hero-identity{margin-bottom:1.55rem}.identity-mark{width:2.5rem;height:2.5rem}.hero-identity strong{font-size:.75rem}.hero-identity small{font-size:.66rem}.hero-footer span{max-width:8.8rem}.intro-grid h2,.other-intro h2,.about-copy h2,.service-heading h2,.approach-heading h2,.faq h2{font-size:2.9rem}.chapter-copy h3,.collection-heading h3{font-size:2.6rem}.chapter-name{font-size:.6rem}.chapter-top .section-label{font-size:.62rem}.app-showcase{gap:.6rem}.app-shot .app-crop{border-width:2px;border-radius:.8rem}.app-shot figcaption{font-size:.5rem;letter-spacing:-.02em}.collection-card{flex-basis:84%}.cleaning-rail .collection-card{flex-basis:88%}.collection .collection-heading h3{font-size:1.75rem}.contact-heading h2{font-size:3.5rem}.contact-arrow{width:3rem;height:3rem}.contact-footer{font-size:.6rem}.about-art{height:280px}.code-line{font-size:.62rem}}
@media(max-width:350px){.container{width:calc(100% - 2rem)}.hero h1{font-size:3.4rem}.hero-workbench{height:235px}.header-contact{gap:.4rem;font-size:.65rem}.contact-heading h2{font-size:3.1rem}.chapter-copy h3{font-size:2.3rem}.project-rail{margin-right:-1rem;padding-right:1rem}.hero-footer{font-size:.53rem}.stage-caption{font-size:.51rem}.code-sheet{padding:1rem}.code-line{font-size:.59rem}.mobile-dock{width:16rem}}
@media(hover:none),(pointer:coarse){.cursor-halo{display:none}.desktop-nav a:hover::after{transform:scaleX(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}[data-parallax]{--parallax-y:0px!important}.cursor-halo{display:none}.project-chapter:nth-child(4) .project-visual,.project-chapter:nth-child(7) .project-visual{transform:none}.back-to-top{transform:none}}
@media(prefers-reduced-transparency:reduce){.glass{background:#f8fbfe;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-contrast:more){:root{--muted:#2e4057;--line:#14233870}.glass{background:#fff;border:1px solid #142338;backdrop-filter:none;-webkit-backdrop-filter:none}.chapter-name,.project-name{color:var(--ink)}.feature-tags li{background:white;color:var(--ink)}.hero h1 span,.contact-heading h2 span,.intro-grid h2 span,.other-intro h2 span,.approach-heading h2 span{color:#3b5c83}}
@supports not(backdrop-filter:blur(1px)){.glass{background:#f8fbfe}}
@media print{.site-header,.mobile-dock,.cursor-halo,.back-to-top,.toast,.rail-controls,.hero-workbench,.scroll-progress{display:none}.container{width:100%}.hero{min-height:0;padding:0 0 2rem}.hero-footer{position:static;margin-top:2rem}.project-chapter,.cleaning-section,.collection{break-inside:avoid;padding:2rem 0}.project-rail{overflow:visible;flex-wrap:wrap}.collection-card{flex-basis:45%}.js .reveal{opacity:1;transform:none}.project-chapter{background:#fff}.collection{content-visibility:visible}.contact-section{padding:2rem}}
/* Fade the workbench light before it reaches its rectangular bounds. */
.hero::before{background:radial-gradient(ellipse closest-side at 50% 50%,#dbe8ff 0%,#e9e3fb 48%,transparent 100%)}
.tone-violet{--accent:#665991}.tone-rose{--accent:#825473}.tone-sky{--accent:#376d8b}.tone-lilac{--accent:#635d83}.tone-sand{--accent:#716243}.tone-peach{--accent:#8b592f}
.step-number{color:#595979}.primary-button:active,.header-contact:active{transform:scale(.97)}
.hero-browser{transform:perspective(900px) translateY(var(--parallax-y,0px)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(-7deg)}
.hero-phone{transform:perspective(900px) translateY(var(--parallax-y,0px)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(10deg)}
h1,h2,h3{overflow-wrap:anywhere}
.disclosure summary{overflow-wrap:anywhere}
.process-item summary>span:nth-child(2){min-width:0}
.workbench-orbit{transform:none}
@media(max-width:350px){.hero-phone{right:.6rem}}
.code-sheet{overflow:hidden}
@media(max-width:800px){.mobile-dock{width:min(17rem,calc(100vw - 2rem))}.mobile-dock a{min-width:0;overflow-wrap:anywhere}.header-contact{min-width:0}.site-header{padding-inline:min(1rem,4vw);gap:min(1rem,3vw)}.menu-toggle,.monogram{flex-shrink:0}.toast{min-width:0;width:max-content}.hero-phone .specimen-label{flex-wrap:wrap;gap:.2rem}.hero-phone{right:.3rem}.contact-button{gap:min(2rem,5vw)}.contact-button>span{min-width:0}.contact-button strong{overflow-wrap:anywhere}}
@media(max-width:800px){.site-header{height:auto;min-height:3.7rem;padding-block:.4rem}}
@media(max-width:430px){.header-contact .icon{display:none}}
@media(min-width:801px){.cursor-halo.is-active{display:block}}
.js .disclosure-content{padding-bottom:0}
.disclosure-inner{padding-bottom:1.1rem}
.process-item .disclosure-inner{padding-bottom:1.8rem}
@media(max-width:800px){.process-item .disclosure-inner{padding-bottom:1.3rem}}
.services-lead{font-size:.9rem;line-height:1.8;max-width:24rem;margin-top:1.5rem}
@media(min-width:801px){.service-heading{position:sticky;top:8rem;align-self:start}.desktop-nav{gap:1.5rem}}
@media(max-width:800px){.services-lead{margin-top:-.7rem;margin-bottom:2rem;font-size:.86rem}}

/* Views share the same projects. The alternate collection stays compact on phones. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.work-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2.5rem}
.work-controls{flex-wrap:wrap}
.view-switch{max-width:100%;flex-wrap:wrap}
.view-switch{display:flex;gap:.25rem;padding:.3rem;border-radius:1rem}
.view-switch button{display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.75rem;padding:.5rem 1rem;border-radius:.75rem;background:transparent;font-size:.78rem;font-weight:550;color:var(--muted);transition:background .15s,color .15s}
.view-switch button[aria-selected=true]{background:#142338;color:#fff;box-shadow:0 3px 8px #14233816}
.view-switch .icon{width:1rem;height:1rem}
.project-grid-view{padding-bottom:4rem}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.project-grid .collection-card{width:100%;scroll-snap-align:unset}
.project-grid .card-copy{padding:1rem 1rem .1rem}
.project-grid .card-copy h3{font-size:1.1rem;min-height:2.75em;margin-bottom:.75rem}
.project-grid .disclosure summary{min-height:3rem}
.project-grid .disclosure-content p{font-size:.8rem}
@media(min-width:700px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){.project-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.work-controls{margin-top:1.7rem}.work-controls>.quiet-label{font-size:.65rem}.view-switch button{font-size:.73rem;padding:.5rem .8rem}.project-grid{gap:.7rem}.project-grid .collection-card{border-radius:.9rem}.project-grid .card-copy{padding:.75rem .7rem .05rem}.project-grid .card-copy h3{font-size:.92rem;min-height:3.75em;line-height:1.25;margin-bottom:.6rem}.project-grid .card-meta{font-size:.58rem;gap:.2rem;flex-wrap:wrap}.project-grid .card-copy .disclosure summary{font-size:.69rem;gap:.4rem}.project-grid .disclosure-content p{font-size:.75rem}.project-grid .archive-badge{font-size:.5rem}.project-grid-view{padding-bottom:2rem}}

/* Native snapshots make a circular theme reveal, anchored to the theme button. */
html{color-scheme:light;background:var(--ice)}
.theme-toggle{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;background:transparent;border:1px solid var(--line);color:var(--ink);transition:transform .15s}
.theme-toggle:active{transform:scale(.92)}
.theme-toggle .icon{width:1.2rem;height:1.2rem;max-width:25px;max-height:25px}
.theme-sun{display:none}
html[data-theme=dark]{color-scheme:dark;color:#e8eef7;--ink:#e8eef7;--muted:#aebed0;--blue:#85b8f8;--ice:#0f1723;--glass:rgba(29,43,61,.8);--line:rgba(223,236,255,.16)}
html[data-theme=dark] .theme-moon{display:none}
html[data-theme=dark] .theme-sun{display:block}
html[data-theme=dark] .glass{border-color:#5b71864d;box-shadow:0 8px 32px #0003,inset 0 1px 0 #adc5e524,inset 0 -1px 0 #0002}
html[data-theme=dark] .hero::before{background:radial-gradient(ellipse closest-side at 50% 50%,#1c3554 0%,#272c4b 48%,transparent 100%)}
html[data-theme=dark] .hero h1 span,html[data-theme=dark] .intro-grid h2 span,html[data-theme=dark] .other-intro h2 span,html[data-theme=dark] .approach-heading h2 span,html[data-theme=dark] .contact-heading h2 span{color:#9ebfe5}
html[data-theme=dark] .identity-mark{background:#213855;color:#b9d3f2}
html[data-theme=dark] .primary-button,html[data-theme=dark] .header-contact{background:#e1ecfa;color:#142338}
html[data-theme=dark] .browser-window{background:#253246;border-color:#61799166;box-shadow:0 25px 50px -18px #0007,0 4px 12px #0002}
html[data-theme=dark] .window-toolbar{background:#253246;color:#bed0e6}
html[data-theme=dark] .window-dots i{background:#667b99}
html[data-theme=dark] .hero-phone .app-crop,html[data-theme=dark] .app-shot .app-crop{border-color:#344b65}
html[data-theme=dark] .specimen-label,html[data-theme=dark] .workbench-coordinate{color:#adc3e0}
html[data-theme=dark] .glass-lens{box-shadow:0 12px 30px #0003,inset 3px 4px 5px #90b2d94d,inset -3px -4px 7px #0004}
html[data-theme=dark] .glass-lens .icon{color:#b6cdea}
html[data-theme=dark] .chapter-jump a{background:#213149;color:#bed1e8}
html[data-theme=dark] .chapter-jump a:hover{background:#2a3e58}
html[data-theme=dark] .tone-mint{--tone:#152620;--accent:#a1c6b1}
html[data-theme=dark] .tone-blue{--tone:#152336;--accent:#9dbbdc}
html[data-theme=dark] .tone-violet{--tone:#211f34;--accent:#c0b1e5}
html[data-theme=dark] .tone-rose{--tone:#2a1f2c;--accent:#d8b0ca}
html[data-theme=dark] .tone-sky{--tone:#142936;--accent:#9ac3da}
html[data-theme=dark] .tone-lilac{--tone:#211f31;--accent:#beb6d8}
html[data-theme=dark] .tone-sand{--tone:#2a271f;--accent:#d6c6a3}
html[data-theme=dark] .tone-peach{--tone:#2e251e;--accent:#e2bd97}
html[data-theme=dark] .feature-tags li{background:#ffffff10;color:#cbd9e8}
html[data-theme=dark] .disclosure,html[data-theme=dark] .chapter-top,html[data-theme=dark] .contact-footer{border-color:var(--line)}
html[data-theme=dark] .stage-caption,html[data-theme=dark] .app-shot figcaption,html[data-theme=dark] .swipe-hint{color:#b5c6d7}
html[data-theme=dark] .collection-card{background:#1a2738;border-color:#adc6e518}
html[data-theme=dark] .card-image{background:#253448}
html[data-theme=dark] .cleaning-rail .card-image{background:#223c33}
html[data-theme=dark] .archive-badge{background:#2e4057}
html[data-theme=dark] .about-section{background:#172437}
html[data-theme=dark] .code-sheet{background:#1b2d42;border-color:#5b71864d;box-shadow:0 25px 60px -22px #0006}
html[data-theme=dark] .code-line b{color:#9beddf}
html[data-theme=dark] .code-label,html[data-theme=dark] .code-comment{color:#b3c5dc}
html[data-theme=dark] .about-monogram{color:#2b405c}
html[data-theme=dark] .about-tag{color:#b8d0e8}
html[data-theme=dark] .skills span{background:#263950}
html[data-theme=dark] .service-row>.icon{color:#a1bfdf}
html[data-theme=dark] .approach-section{background:#211f34}
html[data-theme=dark] .step-number{color:#bbb5db}
html[data-theme=dark] .contact-section{background:#172d47}
html[data-theme=dark] .contact-arrow,html[data-theme=dark] .contact-button>.icon{color:#a2c3ea}
html[data-theme=dark] .contact-button small,html[data-theme=dark] .contact-footer{color:#c1d6ed}
html[data-theme=dark] .mobile-menu{background:#1b2b40;border-color:#5b71864d}
html[data-theme=dark] .mobile-dock a{color:#bed0e6}
html[data-theme=dark] .mobile-dock a.is-active{background:#29425f;color:#d1e6ff}
html[data-theme=dark] .view-switch button[aria-selected=true]{background:#405a7a;color:#fff}
html[data-theme=dark] .skip-link{background:#1b2b40}
html[data-theme=dark] :focus-visible{outline-color:#9acaef}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-old(root){z-index:1}
::view-transition-new(root){z-index:2}
@media(max-width:800px){.menu-toggle{max-width:44px}.header-contact{overflow-wrap:anywhere}}
@media(prefers-reduced-transparency:reduce){html[data-theme=dark] .glass{background:#1d2b3e;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-contrast:more){html[data-theme=dark]{--muted:#e1edf8}html[data-theme=dark] .glass{background:#172333;border-color:#b7c8dc}html[data-theme=dark] .feature-tags li{background:#1a2b3e;color:#fff}}
@supports not(backdrop-filter:blur(1px)){html[data-theme=dark] .glass{background:#1d2b3e}}

/* Keep enlarged system text inside small screens. */
body{overflow-x:clip}
.scroll-progress{width:100vw}
h1,h2,h3{overflow-wrap:anywhere}
.code-line{white-space:normal;overflow-wrap:anywhere}
@media(max-width:800px){.site-header{gap:clamp(6px,2vw,16px);padding-inline:clamp(10px,2.5vw,16px)}.header-contact{min-width:0}.menu-toggle,.monogram{flex-shrink:0}.primary-button{max-width:100%;gap:clamp(12px,3vw,35px);overflow-wrap:anywhere}.rail-controls{max-width:100%;gap:clamp(6px,2vw,8px)}.rail-count{min-width:0}.round-button{max-width:56px;max-height:56px}}
