:root{--violet:#633bb5;--violet-dark:#4f2b99;--ink:#26202d;--muted:#77717f;--line:#ece8f1;--lilac:#f4f0fa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.header{height:76px;width:min(1280px,calc(100% - 64px));margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0edf4}.brand{text-decoration:none;color:var(--ink);font:700 19px Arial,sans-serif;letter-spacing:-.7px;display:flex;align-items:center;gap:2px}.brand-icon{margin-right:7px;width:27px;height:27px;display:grid;place-items:center;background:var(--violet);color:white;font:700 19px Georgia,serif;border-radius:9px 9px 9px 3px}.x{color:var(--violet)}.header-link{font-size:12px;font-weight:700;color:var(--ink);text-decoration:none}.header-link span{color:var(--violet);margin-left:8px}.intro{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:55px;padding-top:69px;padding-bottom:72px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.6px;color:var(--violet);display:flex;align-items:center;gap:9px;margin:0}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--violet)}.intro h1{font:400 clamp(52px,6vw,75px)/1.02 Georgia,'Times New Roman',serif;letter-spacing:-2.3px;margin:23px 0 17px}.intro h1 em{font-weight:400;color:var(--violet)}.intro-text{max-width:390px;font:15px/1.8 Arial,Helvetica,sans-serif;color:var(--muted);margin:0}.browse-link{display:inline-flex;align-items:center;gap:16px;margin-top:22px;padding-bottom:8px;border-bottom:1px solid #d7cde8;text-decoration:none;color:var(--ink);font-size:12px;font-weight:700}.browse-link span{color:var(--violet)}.intro-photos{height:350px;position:relative}.intro-photo{position:absolute;object-fit:cover;box-shadow:0 16px 40px #27134319}.main-photo{width:78%;height:300px;right:0;top:0;border-radius:125px 12px 12px 12px}.small-photo{width:42%;height:150px;left:0;bottom:0;border:8px solid white;border-radius:10px}.intro-badge{position:absolute;right:0;bottom:10px;transform:translateX(18%);display:flex;align-items:center;gap:10px;background:var(--violet);color:white;padding:13px 17px;border-radius:6px;box-shadow:0 8px 24px #40217930}.intro-badge strong{font:400 30px Georgia,serif}.intro-badge small{font-size:8px;line-height:1.5;letter-spacing:.7px}.portfolio{padding:43px 0 82px;border-top:1px solid var(--line)}.portfolio-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px}.portfolio-top h2{font:400 36px/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.8px;margin:12px 0 0}.portfolio-note{font-size:11px;color:var(--muted);padding-bottom:4px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.project-card{display:flex;flex-direction:column;border:1px solid #eeeaf2;border-radius:9px;overflow:hidden;background:#fff;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}.project-card:hover{transform:translateY(-4px);border-color:#d6c8eb;box-shadow:0 15px 35px #38205914}.project-art{height:177px;position:relative;overflow:hidden;background:#f2eef7}.project-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s}.project-card:hover .project-art img{transform:scale(1.04)}.project-art:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#1710216b)}.art-number{position:absolute;z-index:1;left:12px;top:12px;display:grid;place-items:center;min-width:29px;height:25px;border-radius:16px;padding:0 8px;background:#fff;color:var(--violet-dark);font:700 10px Arial,sans-serif;box-shadow:0 3px 12px #21142a20}.project-info{padding:14px 15px 15px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;min-height:73px}.project-name{font:700 14px/1.3 Arial,Helvetica,sans-serif;margin:0;color:var(--ink)}.project-category{font-size:10px;color:var(--muted);margin:5px 0 0;line-height:1.3}.visit-arrow{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;color:var(--violet);background:var(--lilac);font-size:13px;transition:background .2s,color .2s}.project-card:hover .visit-arrow{background:var(--violet);color:#fff}.footer{height:74px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#817b88;font-size:10px}.footer-brand{color:var(--ink);font-size:16px}.footer-brand .brand-icon{width:23px;height:23px;font-size:16px}.footer>a:last-child{color:#6e6875;text-decoration:none}.footer>a:last-child:hover{color:var(--violet)}
@media(max-width:850px){.intro{gap:34px}.intro-photos{height:310px}.main-photo{height:265px}.project-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.wrap,.header{width:calc(100% - 36px)}.header{height:66px}.intro{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:35px}.intro h1{font-size:56px}.intro-text{font-size:13px}.intro-photos{height:290px;margin:0 10px}.main-photo{height:250px;width:82%}.small-photo{height:126px;width:43%}.portfolio{padding:34px 0 53px}.portfolio-top{display:block;margin-bottom:18px}.portfolio-top h2{font-size:30px}.portfolio-note{display:block;margin-top:10px;font-size:10px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-art{height:135px}.project-info{padding:11px;min-height:69px;gap:5px}.project-name{font-size:12px}.project-category{font-size:9px;line-height:1.3}.visit-arrow{width:23px;height:23px;font-size:11px}.footer{height:65px}.footer>span{display:none}}
@media(max-width:380px){.project-grid{grid-template-columns:1fr}.project-art{height:175px}.project-name{font-size:14px}}
.brand-image{display:block;width:190px;height:58px;overflow:hidden;flex:none}.brand-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.footer-brand.brand-image{width:150px;height:48px}
@media(max-width:560px){.brand-image{width:160px;height:52px}.footer-brand.brand-image{width:128px;height:42px}}

/* Responsive sizing and overflow protection across common screens */
img{max-width:100%}
.intro-copy,.project-info,.project-info>div{min-width:0}
.intro h1{font-size:clamp(2.9rem,6.3vw,4.7rem);overflow-wrap:break-word}
.intro-text{font-size:clamp(.82rem,1.2vw,.94rem)}
.portfolio-top h2{font-size:clamp(1.75rem,3.2vw,2.25rem)}
.project-name{font-size:clamp(.78rem,1.1vw,.9rem);overflow-wrap:anywhere}
.project-category{font-size:clamp(.58rem,.8vw,.68rem);overflow-wrap:anywhere}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-card{min-width:0}
.visit-arrow{width:32px;height:32px;flex:none}
.header-link,.browse-link,.footer a{min-height:40px;display:flex;align-items:center}
.header-link{gap:8px}
.footer{gap:16px}
.footer-brand.brand-image{display:block;min-height:0}
.brand-image img{object-position:center 50%}
.project-card:focus-visible,.header-link:focus-visible,.browse-link:focus-visible,.footer a:focus-visible{outline:3px solid #9272d0;outline-offset:4px}
@media(max-width:1000px){.wrap{width:min(100% - 52px,900px)}.intro{gap:35px;padding-top:58px;padding-bottom:58px}.intro-photos{height:clamp(260px,34vw,320px)}.main-photo{height:86%}.portfolio{padding-top:36px;padding-bottom:64px}.project-grid{gap:17px}.project-art{height:clamp(140px,19vw,175px)}}
@media(max-width:760px){.wrap,.header{width:calc(100% - 40px)}.header{height:68px}.intro{grid-template-columns:1fr;gap:30px;padding:48px 0 43px}.intro-copy{max-width:590px}.intro h1{font-size:clamp(3.25rem,9vw,4.4rem);margin:19px 0 14px}.intro-photos{width:min(100%,590px);height:clamp(245px,52vw,340px);margin:0 auto}.main-photo{height:88%;width:82%;border-top-left-radius:clamp(70px,18vw,125px)}.small-photo{height:43%;width:42%}.intro-badge{right:0;bottom:4px;transform:none}.portfolio-top{align-items:end}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.project-art{height:clamp(135px,27vw,190px)}.project-info{padding:12px;min-height:75px}.project-name{font-size:clamp(.82rem,2vw,.94rem)}.project-category{font-size:clamp(.63rem,1.5vw,.7rem)}.visit-arrow{width:30px;height:30px}}
@media(max-width:500px){.wrap,.header{width:calc(100% - 32px)}.header{height:62px}.brand-image{width:144px;height:47px}.header-link{font-size:11px}.intro{padding:39px 0 36px;gap:24px}.eyebrow{font-size:8px;letter-spacing:1.3px}.intro h1{font-size:clamp(2.75rem,11vw,3.45rem);letter-spacing:-1.4px}.intro-text{font-size:13px;line-height:1.65}.browse-link{font-size:11px;margin-top:16px}.intro-photos{height:clamp(220px,65vw,290px);margin:0 4px}.main-photo{width:83%;height:86%}.small-photo{width:44%;height:44%;border-width:6px}.intro-badge{padding:10px 12px;gap:8px}.intro-badge strong{font-size:25px}.intro-badge small{font-size:7px}.portfolio{padding:29px 0 43px}.portfolio-top{display:block;margin-bottom:17px}.portfolio-top h2{font-size:clamp(1.55rem,7.2vw,1.9rem);margin-top:9px}.portfolio-note{display:block;margin-top:8px;font-size:10px}.project-grid{grid-template-columns:1fr;gap:12px}.project-card{display:grid;grid-template-columns:minmax(100px,35%) minmax(0,1fr);grid-template-rows:1fr;min-height:98px}.project-art{height:100%;min-height:98px}.project-art img{position:absolute;inset:0}.art-number{left:7px;top:7px;min-width:26px;height:23px;font-size:9px}.project-info{min-height:98px;padding:12px;grid-template-columns:minmax(0,1fr) 30px;gap:7px}.project-name{font-size:14px;line-height:1.25}.project-category{font-size:10px;line-height:1.35;margin-top:5px}.visit-arrow{width:29px;height:29px}.footer{height:auto;min-height:60px;padding:9px 0;gap:8px}.footer-brand.brand-image{width:116px;height:39px}.footer>span{display:none}.footer>a:last-child{font-size:10px}}
@media(max-width:350px){.wrap,.header{width:calc(100% - 26px)}.brand-image{width:125px;height:42px}.header-link{font-size:10px}.intro h1{font-size:2.6rem}.project-card{grid-template-columns:96px minmax(0,1fr)}.project-info{padding:9px}.project-name{font-size:13px}.project-category{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Editorial bento rhythm and a purposeful image reveal */
.project-grid{gap:18px;align-items:stretch}
.project-card{position:relative;border-radius:13px;border-color:#e9e4ef;box-shadow:0 3px 12px #27134305;transition:box-shadow .35s ease,border-color .35s ease,transform .35s cubic-bezier(.2,.75,.25,1)}
.project-card::before{content:"";position:absolute;z-index:4;left:0;bottom:0;width:0;height:3px;background:var(--violet);transition:width .35s cubic-bezier(.2,.75,.25,1)}
.project-art{isolation:isolate;background:#eeeaf5}
.project-art::after{z-index:0;inset:25% 0 0;background:linear-gradient(180deg,transparent 28%,#1710218a 100%);opacity:.72;transition:opacity .35s ease}
.project-art img{position:relative;z-index:-1;transform:scale(1.001);transition:transform .7s cubic-bezier(.2,.7,.15,1),filter .7s ease;filter:saturate(.87)}
.art-number{left:13px;top:13px;min-width:31px;height:27px;font-size:10px;transition:background .3s,color .3s,transform .4s cubic-bezier(.2,.75,.25,1)}
.art-hover-label{position:absolute;z-index:2;left:15px;bottom:13px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.2px;display:flex;align-items:center;gap:10px;opacity:0;transform:translateY(7px);transition:opacity .3s ease,transform .35s cubic-bezier(.2,.75,.25,1)}
.art-hover-label>span{width:23px;height:23px;border:1px solid #ffffffb0;border-radius:50%;display:grid;place-items:center;font-size:12px}
.project-info{position:relative;z-index:1;padding:15px 16px 16px;min-height:78px;flex:1;background:#fff}
.project-name{transition:color .25s ease;font-size:15px}
.project-category{font-size:10px;letter-spacing:.12px}
.visit-arrow{transition:background .3s,color .3s,transform .4s cubic-bezier(.2,.75,.25,1);width:31px;height:31px}
.project-card:nth-child(1),.project-card:nth-child(7),.project-card:nth-child(11),.project-card:nth-child(17){grid-column:span 2}
.project-card:nth-child(1) .project-art,.project-card:nth-child(7) .project-art,.project-card:nth-child(11) .project-art,.project-card:nth-child(17) .project-art{height:245px}
.project-card:nth-child(18){grid-column:1/-1;display:grid;grid-template-columns:1.45fr 1fr;min-height:180px}
.project-card:nth-child(18) .project-art{height:100%;min-height:180px}
.project-card:nth-child(18) .project-info{align-self:stretch;min-height:180px;padding:25px;align-content:center}
.project-card:nth-child(18) .project-name{font:400 25px Georgia,'Times New Roman',serif}
@media(hover:hover){.project-card:hover{transform:translateY(-5px);border-color:#cbb9e7;box-shadow:0 18px 38px #3920611c}.project-card:hover::before{width:100%}.project-card:hover .project-art img{transform:scale(1.065);filter:saturate(1.05)}.project-card:hover .project-art::after{opacity:1}.project-card:hover .art-hover-label{opacity:1;transform:translateY(0)}.project-card:hover .art-number{background:var(--violet);color:#fff;transform:rotate(-7deg)}.project-card:hover .project-name{color:var(--violet-dark)}.project-card:hover .visit-arrow{background:var(--violet);color:#fff;transform:rotate(45deg)}}
.project-card:focus-visible{outline:3px solid #9172ca;outline-offset:4px}.project-card:focus-visible .art-hover-label{opacity:1;transform:translateY(0)}
@media(max-width:1000px){.project-card:nth-child(n){grid-column:auto;display:flex;min-height:0}.project-card:nth-child(n) .project-art{height:clamp(145px,23vw,200px);min-height:0}.project-card:nth-child(n) .project-info{min-height:78px;padding:13px 14px}.project-card:nth-child(18) .project-name{font:700 15px Arial,Helvetica,sans-serif}}
@media(max-width:760px){.project-grid{gap:14px}.project-card:nth-child(n) .project-art{height:clamp(135px,27vw,190px)}}
@media(max-width:500px){.project-grid{gap:12px}.project-card:nth-child(n){display:grid;grid-template-columns:minmax(100px,35%) minmax(0,1fr);min-height:98px}.project-card:nth-child(n) .project-art{height:100%;min-height:98px}.project-card:nth-child(n) .project-info{min-height:98px;padding:12px}.art-hover-label{display:none}.project-card:nth-child(18) .project-name{font:700 14px/1.25 Arial,Helvetica,sans-serif}}

/* Modern hero refresh */
.intro{padding-top:76px;padding-bottom:78px;gap:clamp(38px,6vw,78px)}
.intro-copy{position:relative;z-index:2}
.intro h1{font:800 clamp(3.65rem,6.3vw,5.4rem)/.94 Arial,Helvetica,sans-serif;letter-spacing:-.075em;margin:26px 0 20px;color:#231c2b;text-wrap:balance}
.intro h1 em{font-style:normal;font-weight:800;color:var(--violet);letter-spacing:-.08em}
.intro-text{font-size:clamp(.9rem,1.25vw,1rem);line-height:1.75;max-width:420px;color:#6d6675}
.browse-link{display:inline-flex;width:max-content;gap:14px;margin-top:21px;padding:0 0 9px;border-bottom:1px solid #d8cbea;font-size:12px;transition:color .2s,border-color .2s}
.browse-link:hover{color:var(--violet);border-color:var(--violet)}
.hero-footnote{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:600;color:#756e7d;margin:25px 0 0}
.hero-footnote span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#f1ebfa;color:var(--violet);font-size:9px}
.intro-photos{height:clamp(305px,34vw,390px);isolation:isolate}
.intro-photos::before{content:"";position:absolute;z-index:-1;right:-16px;top:-16px;width:85px;height:85px;border:1px solid #e0d5f0;border-radius:50%}
.main-photo{height:88%;width:82%;border-radius:155px 18px 18px 18px;filter:saturate(.88);box-shadow:0 24px 60px #281b3a1c}
.small-photo{width:43%;height:42%;bottom:0;border:7px solid #fff;border-radius:14px;transform:rotate(-2deg);box-shadow:0 15px 35px #24173924}
.photo-tag{position:absolute;z-index:2;left:clamp(20px,4vw,45px);top:18px;display:flex;align-items:center;gap:8px;background:#ffffffec;backdrop-filter:blur(12px);padding:9px 12px;border-radius:30px;color:#3e3747;font-size:8px;font-weight:700;letter-spacing:1px;box-shadow:0 4px 16px #24173912}
.photo-tag i{width:6px;height:6px;border-radius:50%;background:#8160c7;box-shadow:0 0 0 3px #ede7f7}
.intro-badge{right:0;bottom:9px;transform:none;border-radius:11px;padding:13px 17px;box-shadow:0 12px 30px #43227a30}
.intro-badge strong{font:700 31px Arial,Helvetica,sans-serif;letter-spacing:-1.5px}
.intro-badge small{font-size:8px;font-weight:700}
.hero-plus{position:absolute;right:5%;top:39%;z-index:3;width:38px;height:38px;border:1px solid #ffffffbf;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:23px;font-weight:300;backdrop-filter:blur(8px)}
@media(max-width:1000px){.intro{padding-top:58px;padding-bottom:58px;gap:38px}.intro h1{font-size:clamp(3.3rem,6.5vw,4.3rem)}.intro-photos{height:clamp(270px,33vw,330px)}}
@media(max-width:760px){.intro{padding:48px 0 43px;gap:27px}.intro h1{font-size:clamp(3.5rem,9vw,4.8rem);max-width:620px;margin:20px 0 16px}.intro-text{max-width:500px}.intro-photos{height:clamp(265px,55vw,350px)}.main-photo{height:88%;width:83%}.photo-tag{left:clamp(20px,7vw,45px)}}
@media(max-width:500px){.intro{padding:39px 0 36px;gap:24px}.intro h1{font-size:clamp(2.9rem,11vw,3.7rem);letter-spacing:-.07em;margin:18px 0 14px}.intro h1 em{letter-spacing:-.075em}.intro-text{font-size:13px;line-height:1.65}.browse-link{font-size:11px;margin-top:17px}.hero-footnote{margin-top:19px}.intro-photos{height:clamp(235px,68vw,310px);margin:0 4px}.main-photo{height:86%;width:84%;border-top-left-radius:105px}.small-photo{height:43%;width:44%}.photo-tag{left:18px;top:12px;font-size:7px;padding:8px 10px}.hero-plus{right:4%;top:43%;width:32px;height:32px}.intro-badge{right:0;bottom:3px;padding:10px 12px}.intro-badge strong{font-size:25px}}
@media(max-width:350px){.intro h1{font-size:2.6rem}.intro-photos{height:225px}}
.intro-photos::before{width:58px;height:58px;right:-6px;top:-9px;border-color:#e8e1f1}
.main-photo{width:82%;height:87%;top:10px;border-radius:128px 16px 16px 16px;box-shadow:0 20px 48px #281b3a16}
.small-photo{width:43%;height:43%;left:0;bottom:0;border:6px solid #fff;border-radius:12px;transform:none;box-shadow:0 12px 30px #2417391c}
.intro-badge{right:0;bottom:8px;transform:none;border-radius:10px;padding:12px 15px;box-shadow:0 10px 24px #43227a26}
.hero-plus{display:none}
@media(max-width:760px){.main-photo{width:83%;height:88%;top:8px;border-radius:clamp(76px,17vw,128px) 16px 16px 16px}.small-photo{width:43%;height:43%;transform:none}}
@media(max-width:500px){.main-photo{width:84%;height:86%;border-top-left-radius:100px}.small-photo{width:44%;height:43%;transform:none}.intro-badge{right:0;bottom:3px;padding:10px 12px}}

/* Equal-size, accessible flip cards */
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.project-card:nth-child(n){grid-column:auto;display:block;min-width:0;min-height:0;aspect-ratio:.92;perspective:1200px;border:0;border-radius:16px;overflow:visible;background:transparent;box-shadow:none}
.project-card::before{display:none}
.project-flip{position:relative;width:100%;height:100%;transform-style:preserve-3d;border-radius:16px;transition:transform .72s cubic-bezier(.2,.7,.15,1)}
.project-front,.project-back{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;border:1px solid #e8e1ef;border-radius:16px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.project-front{display:block;padding:0;background:#e9e3f0;color:#fff;text-align:left;cursor:pointer;font:inherit;box-shadow:0 9px 25px #311c4b10;transition:box-shadow .35s,border-color .35s}
.project-front img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.86);transition:transform .8s cubic-bezier(.2,.7,.15,1),filter .55s}
.project-front::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(180deg,transparent,#1b142988)}
.project-front .art-number{z-index:2;left:16px;top:16px;min-width:34px;height:30px;font-size:11px}
.front-cue{position:absolute;z-index:2;right:15px;bottom:15px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.2px;display:flex;align-items:center;gap:8px}
.front-cue span{width:27px;height:27px;border:1px solid #ffffffa6;border-radius:50%;display:grid;place-items:center;font-size:13px}
.project-back{transform:rotateY(180deg);background:radial-gradient(circle at 100% 0,#7652c8 0,transparent 44%),linear-gradient(145deg,#392069,#241334);color:#fff;padding:clamp(18px,2.2vw,29px);display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 14px 35px #2a153c21}
.project-back::before{content:"";position:absolute;right:-48px;bottom:-83px;width:190px;height:190px;border:1px solid #ffffff25;border-radius:50%;box-shadow:0 0 0 18px #ffffff08,0 0 0 42px #ffffff06;pointer-events:none}
.back-index{position:relative;z-index:1;display:flex;align-items:center;gap:9px;color:#d8c8f5;font-size:9px;font-weight:700;letter-spacing:1.1px}
.back-index i{width:17px;height:1px;background:#ac91dc}
.flip-back{position:absolute;z-index:2;right:15px;top:14px;width:34px;height:34px;border:1px solid #ffffff53;border-radius:50%;background:#ffffff12;color:#fff;font-size:17px;cursor:pointer;transition:background .25s,transform .35s}
.flip-back:hover{background:#ffffff28;transform:rotate(-35deg)}
.back-copy{position:relative;z-index:1;margin:24px 0}
.project-back .project-name{font:700 clamp(1.05rem,1.65vw,1.5rem)/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.04em;color:#fff;overflow-wrap:anywhere}
.project-back .project-category{font-size:11px;line-height:1.5;color:#d6c8ed;margin-top:9px}
.visit-project{position:relative;z-index:1;width:max-content;max-width:100%;min-height:42px;padding:0 15px;border:1px solid #ffffff75;border-radius:30px;display:inline-flex;align-items:center;gap:22px;color:#fff;text-decoration:none;font-size:11px;font-weight:700;transition:background .25s,border-color .25s,color .25s}
.visit-project span{font-size:15px;transition:transform .3s}
.visit-project:hover{background:#fff;color:var(--violet-dark);border-color:#fff}
.visit-project:hover span{transform:translate(2px,-2px)}
.project-front:focus-visible,.flip-back:focus-visible,.visit-project:focus-visible{outline:3px solid #c9b5f4;outline-offset:4px}
@media(hover:hover){.project-card:hover .project-flip{transform:rotateY(180deg)}.project-card:hover .project-front{box-shadow:0 18px 40px #311c4b20;border-color:#d4c4ea}.project-card:hover .project-front img{transform:scale(1.055);filter:saturate(1)}.project-card:hover .project-front .art-number{background:var(--violet);color:#fff;transform:rotate(-6deg)}}
.project-card.is-flipped .project-flip{transform:rotateY(180deg)}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card:nth-child(n){aspect-ratio:.98}}
@media(max-width:560px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-card:nth-child(n){aspect-ratio:.82}.project-back{padding:14px}.back-index{font-size:8px;letter-spacing:.7px}.flip-back{top:10px;right:10px;width:30px;height:30px}.project-back .project-name{font-size:clamp(.88rem,4vw,1.15rem)}.project-back .project-category{font-size:9px;margin-top:6px}.visit-project{min-height:36px;padding:0 11px;gap:11px;font-size:10px}.front-cue{right:9px;bottom:9px;font-size:9px}.front-cue span{width:23px;height:23px}.project-front .art-number{left:10px;top:10px;min-width:29px;height:26px}}
@media(max-width:370px){.project-grid{grid-template-columns:1fr;gap:14px}.project-card:nth-child(n){aspect-ratio:1.12}.project-back{padding:22px}.project-back .project-name{font-size:1.25rem}.project-back .project-category{font-size:10px}}
@media(prefers-reduced-motion:reduce){.project-flip,.project-front img,.project-front .art-number,.flip-back,.visit-project,.visit-project span{transition:none!important}}
.project-back{align-items:center;text-align:center;padding:clamp(22px,3vw,36px)}
.back-index{font-size:10px;color:#f0e8ff;justify-content:center;letter-spacing:1.2px}
.back-copy{width:100%;margin:auto 0}
.project-back .project-name{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.18;font-weight:700;color:#fff;text-wrap:balance}
.project-back .project-category{font-size:13px;line-height:1.5;font-weight:500;color:#f0e9fb;margin-top:12px}
.visit-project{align-self:center;justify-content:center;min-width:154px;min-height:48px;margin-top:20px;padding:0 22px;background:#fff;border:1px solid #fff;color:#42227c;font-size:13px;font-weight:700;letter-spacing:.1px}
.visit-project:hover{background:#e9ddfb;border-color:#e9ddfb;color:#32195f}
.visit-project span{display:none}
@media(max-width:560px){.project-back{padding:18px 14px}.back-index{font-size:9px}.project-back .project-name{font-size:clamp(1.05rem,4.6vw,1.35rem)}.project-back .project-category{font-size:11px;margin-top:8px}.visit-project{min-width:125px;min-height:42px;margin-top:14px;padding:0 16px;font-size:12px}}
@media(max-width:370px){.project-back{padding:20px}.project-back .project-name{font-size:1.35rem}.project-back .project-category{font-size:12px}}
.project-back{display:block;text-align:center;padding:0}
.back-index{position:absolute;top:7%;left:15%;right:15%;justify-content:center;color:#fff;font-size:10px}
.flip-back{position:absolute;z-index:2;top:4%;right:4%;width:auto;height:auto;min-height:32px;padding:0 12px;border:1px solid #ffffff86;border-radius:18px;background:#ffffff12;color:#fff;font:700 10px Arial,Helvetica,sans-serif;letter-spacing:.2px}
.flip-back:hover{background:#ffffff26;transform:none}
.back-copy{position:absolute;top:35%;left:8%;right:8%;width:auto;margin:0;transform:none}
.project-back .project-name,.project-card:hover .project-back .project-name{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.18;font-weight:700;color:#fff}
.project-back .project-category{font-size:13px;line-height:1.5;font-weight:500;color:#fff;margin-top:11px}
.visit-project{position:absolute;top:59%;left:50%;transform:translateX(-50%);align-self:auto;justify-content:center;min-width:160px;min-height:48px;margin:0;padding:0 22px;background:#ffffff10;border:1px solid #ffffffc9;border-radius:28px;color:#fff;font-size:13px;font-weight:700;white-space:nowrap}
.visit-project:hover{transform:translateX(-50%);background:#ffffff20;border-color:#fff;color:#fff}
.visit-project span{display:none}
@media(max-width:560px){.back-index{top:7%;font-size:9px}.flip-back{top:3.5%;right:4%;min-height:29px;padding:0 10px;font-size:9px}.back-copy{top:34%;left:7%;right:7%}.project-back .project-name,.project-card:hover .project-back .project-name{font-size:clamp(1rem,4.5vw,1.28rem)}.project-back .project-category{font-size:11px;margin-top:8px}.visit-project{top:60%;min-width:132px;min-height:41px;font-size:12px}}
@media(max-width:370px){.back-copy{top:33%}.visit-project{top:61%}}
@media(max-width:560px){.project-grid{grid-template-columns:minmax(0,1fr);gap:16px}.project-card:nth-child(n){width:100%;aspect-ratio:1.1}}
@media(max-width:370px){.project-card:nth-child(n){aspect-ratio:1.08}}
.back-index{font-size:14px;font-weight:800;letter-spacing:1.35px}
@media(max-width:560px){.back-index{font-size:12px;letter-spacing:1px}}
.header-link{min-height:42px;padding:0 19px;justify-content:center;border-radius:7px;background:var(--violet);color:#fff;font-size:11px;font-weight:700;letter-spacing:.15px;box-shadow:0 5px 14px #633bb526;transition:background .2s,transform .2s,box-shadow .2s}
.header-link span{display:none}
.header-link:hover{background:var(--violet-dark);color:#fff;transform:translateY(-1px);box-shadow:0 8px 18px #633bb538}
.header-link:focus-visible{outline:3px solid #bda8e4;outline-offset:3px}
@media(max-width:500px){.header-link{min-height:39px;padding:0 14px;font-size:10px}}
