/* Art-first browsing and consistent navigation. */
.projects-cta{margin:18px auto 0;font-size:16px;min-height:48px;box-sizing:border-box}
@media(max-width:700px){
  .project-card-caption,.all-project-caption{display:none!important}
  .site-navigation .site-wordmark{display:none}
  .site-navigation{padding:12px 16px;display:block}
  .site-navigation nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;width:100%}
  .site-navigation nav a{font-size:14px;padding:10px 3px;min-height:44px}
  :root{--site-header-height:69px}
  .all-project-card{gap:0}
}
/* A continuous shop: heading, artwork, then availability and next action. */
.shop-panel.shop-editorial{display:block;padding:44px;min-height:0;background:linear-gradient(150deg,#1b1024,#0f0b14 70%);border-radius:30px;box-sizing:border-box}
.shop-introduction{margin-bottom:30px}
.shop-introduction h1,.shop-introduction h2{font-size:clamp(34px,4vw,56px);line-height:1.1;letter-spacing:-1.6px;font-weight:600;margin:14px 0}
.shop-introduction>p:last-child{color:#cbbbd4;font-size:17px;line-height:1.6}
.shop-editorial .shop-product-grid{gap:22px}
.shop-sample-product{min-width:0}
.sample-product-image{position:relative;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;border-radius:16px;overflow:hidden;background:#261c31}
.sample-tone-1{background:#1b2430}.sample-tone-2{background:#282022}.sample-tone-3{background:#232637}
.sample-product-badge{position:absolute;top:12px;left:12px;z-index:1;border-radius:20px;padding:6px 10px;font-size:12px;line-height:1;background:#0b0816b8;color:#e5d6ed}
.sample-print{display:block;width:78%;height:76%;object-fit:cover;background:#100b17;border:5px solid #ede4d9;box-shadow:7px 12px 18px #0006;box-sizing:border-box}
.sample-print-object{object-fit:contain;padding:12px;background:#24152d}
.sample-product-info{display:flex;justify-content:space-between;align-items:start;gap:8px;padding:17px 0 0}
.sample-product-info h3{font-size:17px;line-height:1.35;font-weight:600;margin:0 0 7px;color:#fff}
.sample-product-info p{font-size:13px;line-height:1.5;color:#ac9cb7}
.sample-price{font-size:15px;line-height:1.5;white-space:nowrap;color:#e8d4a8}
.shop-collection-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:36px}
.shop-collection-footer p{font-size:13px;line-height:1.5;color:#b4a4be;max-width:430px;margin-top:12px}
.shop-collection-footer .button-component{flex-shrink:0;font-size:14px;text-align:center}
@media(max-width:1000px){.shop-editorial .shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}}
@media(max-width:600px){
  .shop-panel.shop-editorial{padding:24px 18px;border-radius:24px}
  .shop-editorial .shop-product-grid{gap:25px 14px}
  .shop-introduction{margin-bottom:24px}
  .shop-introduction h1,.shop-introduction h2{font-size:38px}
  .sample-product-info{display:block;padding-top:13px}
  .sample-product-info h3{font-size:16px}
  .sample-product-info p{font-size:12px}
  .sample-price{display:block;margin-top:7px;font-size:14px}
  .sample-print{border-width:3px}.sample-print-object{padding:7px}
  .shop-collection-footer{align-items:flex-start;flex-direction:column;gap:22px;margin-top:30px}
  .shop-collection-footer .button-component{align-self:center}
}
/* The dedicated About page uses a résumé structure, distinct from home. */
.resume-page{padding-top:70px;max-width:1160px}
.resume-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:70px;align-items:center}
.resume-intro h1{font-size:clamp(44px,6vw,78px);letter-spacing:-3px;font-weight:600;line-height:1.04;margin:20px 0}
.resume-role{font-size:24px;line-height:1.4;color:#ead2f3;margin-bottom:12px}
.resume-location{font-size:14px;line-height:1.5;color:#bca9c8;margin-bottom:28px}
.resume-bio{font-size:18px;line-height:1.75;color:#d2c7da;margin-top:18px}
.resume-links{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px}
.resume-links>a:not(.button-component){color:#e4d0ec;font-size:16px;text-decoration:underline;text-underline-offset:5px}
.resume-photo-placeholder{aspect-ratio:4/5;border:1px solid #ffffff24;border-radius:20px;background:linear-gradient(150deg,#261b33,#100c17);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#ab99b9;font-size:14px}
.portrait-initials{font-size:96px;font-weight:300;letter-spacing:-5px;color:#5f4b70}
.resume-brands,.resume-experience,.resume-expertise{margin-top:80px;padding-top:42px;border-top:1px solid #ffffff20}
.resume-page h2{font-size:32px;line-height:1.25;font-weight:500;letter-spacing:-1px;margin-bottom:18px}
.resume-brands>p{font-size:15px;line-height:1.7;color:#bbaac7;max-width:760px;margin-bottom:30px}
.resume-logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.resume-logo-grid>div{min-width:0;min-height:100px;display:flex;align-items:center;justify-content:center;padding:18px;background:#ffffff04;border:1px solid #ffffff12;border-radius:12px}
.resume-logo-grid img{max-width:100%;width:120px;height:64px;object-fit:contain}
.resume-experience>header{margin-bottom:24px}.resume-experience .section-kicker{margin-bottom:12px}
.resume-job{display:grid;grid-template-columns:180px minmax(0,1fr) 110px;gap:32px;padding:30px 0;border-top:1px solid #ffffff12;align-items:start}
.resume-date{font-size:14px;line-height:1.6;color:#b7a4c5;padding-top:5px}
.resume-job h3{font-size:23px;line-height:1.3;font-weight:500;margin-bottom:8px}
.resume-company{font-size:17px;color:#d9b5e9;line-height:1.5;margin-bottom:14px}
.resume-job-copy>p:not(.resume-company){font-size:16px;line-height:1.7;color:#c5b9cf}
.resume-job-copy .resume-note{margin-top:12px;font-size:14px!important;color:#ab98ba!important}
.resume-job-logo{width:100%;max-height:70px;object-fit:contain}
.resume-expertise ul{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}
.resume-expertise li{font-size:16px;line-height:1.4;padding:12px 18px;border:1px solid #b68ac43d;border-radius:24px;color:#decae9}
@media(max-width:900px){.resume-intro{gap:36px;grid-template-columns:minmax(0,1.3fr) minmax(230px,1fr)}.resume-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.resume-job{grid-template-columns:145px minmax(0,1fr);gap:24px}.resume-job-logo{display:none}}
@media(max-width:600px){.resume-page{padding-top:38px}.resume-intro{grid-template-columns:1fr;gap:32px}.resume-intro h1{font-size:52px;letter-spacing:-2px}.resume-role{font-size:21px}.resume-bio{font-size:16px}.resume-photo-placeholder{max-width:400px;width:100%;aspect-ratio:5/4}.resume-brands,.resume-experience,.resume-expertise{margin-top:48px;padding-top:30px}.resume-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.resume-logo-grid>div{padding:12px;min-height:70px}.resume-logo-grid img{height:44px}.resume-job{display:block;padding:25px 0}.resume-date{margin-bottom:12px}.resume-page h2{font-size:29px}.resume-expertise li{font-size:14px;padding:10px 14px}}
.aboutme-gadgets{display:grid;grid-template-columns:23% 19% 32% 26%;max-width:760px;gap:0;align-items:end;padding-inline:12px;box-sizing:border-box;margin-bottom:-55px}
.aboutme-gadgets .gadget{position:relative;width:100%;min-width:0;height:270px;padding:0;border:0;background:transparent;align-items:center;appearance:none;border-radius:18px}
.aboutme-gadgets .gadget:hover{padding:0}
.aboutme-gadgets .gadget:focus-visible{outline:2px solid #eebc71;outline-offset:6px}
.aboutme-gadgets .gadget img{display:block;flex-shrink:0;width:140%;height:240px;max-width:none;max-height:none;object-fit:contain;transition:transform .35s ease,filter .35s ease;filter:drop-shadow(0 10px 16px #0006)}
.aboutme-gadgets .gadget .potion{height:270px}
.aboutme-gadgets .gadget .coin{height:220px}
.aboutme-gadgets .gadget:hover img,.aboutme-gadgets .gadget:focus-visible img{transform:translateY(-8px) rotate(-4deg);filter:drop-shadow(0 0 18px #d69e6940)}
.aboutme-gadgets .location-tooltip{left:auto;right:0;transform:none;font-size:16px;top:-35px}
@media(max-width:700px){.aboutme-gadgets{width:92%;gap:0;padding-inline:0;margin-bottom:-38px}.aboutme-gadgets .gadget{width:100%;height:155px}.aboutme-gadgets .gadget img{height:130px;max-height:none}.aboutme-gadgets .gadget .potion{height:155px}.aboutme-gadgets .gadget .coin{height:110px}}
@media(prefers-reduced-motion:reduce){.aboutme-gadgets .gadget{animation:none;opacity:1;transform:none}.aboutme-gadgets .gadget img{transition:none}}

.aboutme-gadgets .gadget:nth-child(1){z-index:1;top:7px}.aboutme-gadgets .gadget:nth-child(2){z-index:2;top:-9px}.aboutme-gadgets .gadget:nth-child(3){z-index:4;top:12px}.aboutme-gadgets .gadget:nth-child(4){z-index:3;top:-3px}.aboutme-gadgets .gadget:focus-visible,.aboutme-gadgets .gadget:hover{z-index:5}

/* Preserve the full headshot on every screen size. */
.resume-photo{width:100%;align-self:start;overflow:hidden;border:1px solid #ffffff24;border-radius:20px;background:#21112e;box-sizing:border-box}
.resume-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
@media(max-width:600px){.resume-photo{max-width:440px;justify-self:center}}
/* The same soft blur, scale and rise used by Wishes made real. */
.magic-title-reveal.magic-title-reveal{opacity:0;animation:none!important;transition:none!important}
.magic-title-reveal.magic-title-visible{opacity:1;animation:appearProjects 1.2s ease both!important}
@media(prefers-reduced-motion:reduce){.magic-title-reveal.magic-title-reveal{opacity:1;animation:none!important;filter:none;transform:none}}

img.project-card-image{display:block;object-fit:cover;object-position:center}

.footer-text .footer-headshot{display:block;width:120px;height:120px;object-fit:cover;border-radius:24px;border:1px solid #ffffff30;align-self:flex-start;box-shadow:0 8px 28px #10051d55}
@media(max-width:1090px){.footer-text .footer-headshot{align-self:center}}

.inquiry-panel{max-width:880px;margin:32px auto 70px;padding:clamp(24px,5vw,56px);border:1px solid #ffffff24;border-radius:28px;background:linear-gradient(145deg,#21152c,#0e0a13)}
.inquiry-intro h2{font-size:clamp(25px,3vw,34px);line-height:1.2;margin:0 0 14px}.inquiry-intro p{color:#cbbbd4;line-height:1.7;font-size:17px;max-width:620px}.inquiry-intro a{display:inline-block;color:#e5b6f2;margin-top:8px;text-underline-offset:5px;overflow-wrap:anywhere}.inquiry-form{display:grid;gap:24px;margin-top:34px}.inquiry-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.inquiry-field{display:grid;gap:10px;color:#f3e9f7;font-size:15px}.inquiry-field input,.inquiry-field textarea{box-sizing:border-box;width:100%;min-height:50px;padding:14px 16px;border-radius:12px;border:1px solid #ffffff30;background:#0b0712b3;color:#fff;font:inherit;line-height:1.5}.inquiry-field textarea{resize:vertical;min-height:150px}.inquiry-field textarea::placeholder{color:#9e8bab}.inquiry-field input:focus,.inquiry-field textarea:focus{outline:2px solid #dbadeb;outline-offset:2px}.inquiry-form button{justify-self:start;min-height:50px}.inquiry-panel>.button-component{margin-top:28px}
@media(max-width:600px){.inquiry-row{grid-template-columns:1fr;gap:24px}.inquiry-panel{border-radius:20px}.inquiry-form button{width:100%}}

@media(max-width:700px){.site-navigation nav{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* The entrance keeps the brand centered while the close icon stays easy to tap. */
@media(max-width:700px){
  .intro-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:16px 20px;gap:0}
  .intro-wordmark{grid-column:2;justify-self:center}
  .intro-wordmark img{width:clamp(125px,37vw,170px)}
  .intro-skip{grid-column:3;justify-self:end;width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;border-color:#e9d5e950;border-radius:50%;background:#140e1a99}
  .intro-enter-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .intro-enter-x{font-size:29px!important;line-height:1}
}
@media(min-width:701px){.intro-enter-x{font-size:22px!important;line-height:1}}

/* Keep the About card on the same curve and inset as its background. */
.aboutme-box,.about-page .aboutme-box{width:min(900px,calc(100% - 32px));max-width:none;border-radius:clamp(28px,5vw,56px)}
.aboutme-box:before,.aboutme-box:after{border-radius:inherit}
@media(max-width:700px){.aboutme-box,.about-page .aboutme-box{width:calc(100% - 32px);padding-inline:clamp(24px,6vw,36px);border-radius:32px}}

/* Give artwork the space and remove its separate enlargement action. */
.project-dialog{width:min(1320px,calc(100vw - 32px));background:#0b0810;border-color:#ffffff29}
.project-dialog-intro{max-width:960px;margin-bottom:28px}
.project-dialog-intro h2{margin:9px 0 12px}
.project-dialog-gallery{gap:12px}
.project-dialog-gallery figure{border:0;border-radius:13px;background:transparent}
.project-dialog-gallery img{width:100%;max-height:none;height:auto;object-fit:contain}
.project-dialog-gallery figcaption{display:none}
@media(max-width:700px){.project-dialog{width:calc(100vw - 12px)}.project-dialog-body{padding:20px 10px}.project-dialog-intro{padding-inline:8px}.project-dialog-gallery{gap:8px}}

/* Preserve the moving reel and glide its selected portrait to center. */
.endorsements-slide{--focus-shift:0px;translate:var(--focus-shift) 0;transition:translate .58s cubic-bezier(.22,1,.36,1)}
.endorsements-slide.is-centering{animation-play-state:paused!important}
@media(max-width:700px){
  .endorsements{overflow:hidden;margin-top:-330px}
  .endorsements-slide{gap:14px;padding:12px 0}
  .endorsement-card{flex:0 0 auto;width:min(260px,70vw);height:390px;transition:width .3s ease,transform .3s ease,box-shadow .3s ease}
  .endorsement-card.is-open,.endorsement-card:nth-child(6).is-open{width:min(310px,80vw);z-index:6;transform:translateY(-6px);box-shadow:0 18px 34px #0009,0 0 25px #a552cd48}
}
@media(prefers-reduced-motion:reduce){.endorsements-slide{animation:none!important;transition:none}}

/* Visitors pick a range and timeframe by tapping a card. */
.inquiry-options{min-width:0;margin:0;padding:0;border:0}
.inquiry-options legend{margin-bottom:12px;color:#f3e9f7;font-size:15px}
.inquiry-choice-grid{display:flex;flex-wrap:wrap;gap:10px}
.inquiry-choice{position:relative;cursor:pointer}
.inquiry-choice input{position:absolute;opacity:0;width:1px;height:1px}
.inquiry-choice span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 17px;border:1px solid #a98bb277;border-radius:14px;background:#110b19;color:#dfd3e7;font-size:15px;line-height:1.3;box-sizing:border-box;transition:background .2s,border-color .2s,transform .2s}
.inquiry-choice:hover span{border-color:#d4a4ec;transform:translateY(-2px)}
.inquiry-choice input:checked+span{background:#703a8b;border-color:#eed2fb;color:#fff;box-shadow:0 0 20px #b661da40}
.inquiry-choice input:focus-visible+span{outline:2px solid #f6b4ff;outline-offset:3px}
@media(max-width:600px){.inquiry-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.inquiry-choice span{padding:10px 8px;text-align:center;font-size:14px}}
/* Social-first editorial footer */
.editorial-footer{position:relative;z-index:2;background:#08070a;color:#f3edf8;padding:0 clamp(24px,7vw,120px) 58px;margin-top:100px;text-align:left}.editorial-footer-inner{max-width:1440px;margin:auto;border-top:5px solid #b787de}.editorial-social-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #38313e}.editorial-social-link{display:flex;align-items:flex-start;gap:18px;padding:46px 28px 44px;color:inherit;text-decoration:none!important;min-width:0;transition:background .2s}.editorial-social-link:first-child{padding-left:0}.editorial-social-link+.editorial-social-link{border-left:1px solid #38313e}.editorial-social-link:last-child{padding-right:0}.editorial-social-link:hover{background:#b787de0a}.editorial-social-link i{font-size:29px;line-height:1.25;flex-shrink:0}.editorial-social-link.linkedin i{color:#50a6d4}.editorial-social-link.behance i{color:#6c98ff}.editorial-social-link.instagram i{color:#d18be5}.editorial-social-copy{display:flex;flex-direction:column;gap:8px;min-width:0}.editorial-handle{font-size:clamp(15px,1.5vw,21px);font-weight:400;line-height:1.35;text-decoration:underline;text-decoration-color:#a276bd;text-underline-offset:7px;text-decoration-thickness:1px;overflow-wrap:anywhere}.editorial-platform{font-size:12px;color:#aaa0b1;letter-spacing:.2px}.editorial-footer-bottom{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12%;padding-top:34px}.editorial-footer-about{max-width:600px}.editorial-footer p{margin:0;line-height:1.75;font-size:16px;font-weight:400}.editorial-footer-colophon p,.editorial-footer-colophon a{font-size:12px;line-height:1.8}.editorial-footer-colophon{padding-top:3px}.editorial-footer-colophon>a{display:inline-block;margin-top:7px;color:#c9bed2;text-decoration:underline;text-decoration-color:#a276bd;text-underline-offset:5px}.editorial-page-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:25px}.editorial-page-links a{font-size:12px;line-height:1.8;color:#c9bed2;text-decoration:none}.editorial-page-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}.editorial-footer a:focus-visible{outline:2px solid #d0a7ee;outline-offset:6px;border-radius:2px}@media(max-width:1000px){.editorial-social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-social-link{padding:30px 24px}.editorial-social-link:nth-child(3){border-left:0;padding-left:0}.editorial-social-link:nth-child(-n+2){border-bottom:1px solid #38313e}.editorial-footer-bottom{gap:7%}.editorial-handle{font-size:19px}}@media(max-width:600px){.editorial-footer{padding:0 24px 36px;margin-top:60px}.editorial-footer-inner{border-top-width:3px}.editorial-social-link{padding:24px 13px;gap:10px}.editorial-social-link:nth-child(even){padding-right:0}.editorial-social-link i{font-size:22px}.editorial-handle{font-size:14px;text-underline-offset:5px}.editorial-platform{font-size:11px}.editorial-footer-bottom{grid-template-columns:1fr;gap:29px;padding-top:26px}.editorial-footer p{font-size:14px}.editorial-footer-colophon p,.editorial-footer-colophon a{font-size:11px}.editorial-page-links{gap:11px 20px;margin-top:20px}}@media(prefers-reduced-motion:reduce){.editorial-social-link{transition:none}}
