:root{--bg:#fdf1ec;--surface:#fff;--border:#f3dde6;--text:#4a3524;--text-soft:#5c4631;--pink:#d6005e;--pink-dark:#b3004f;--pink-chip:#fbd5e5;--pink-pill:#f8d3e4;--pink-circle:#e383af;--pink-circle-soft:#f6c9dd;--lavender:#b9a5e8;--lavender-soft:#e7ddfb;--gold:#f2c14e;--pink-wash:#fadce9;--font-heading:"Fraunces", Georgia, serif;--font-body:"Nunito", system-ui, sans-serif;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px;--space-8:64px;--radius-card:28px;--shadow-card:0 10px 30px #d6005e12}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;scroll-padding-top:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3{font-family:var(--font-heading);line-height:1.1}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{padding:0;list-style:none}.container{width:min(1112px,100% - 48px);margin-inline:auto}.chip{background:var(--pink-chip);border-radius:999px;padding:6px 14px;font-size:.9375rem;font-weight:500;display:inline-block}:focus-visible{outline:3px solid var(--lavender);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--pink-dark);font-size:.9375rem;font-weight:500}.section-title{letter-spacing:-.01em;margin-top:8px;font-size:clamp(2.5rem,5vw,4rem)}.section-title span{color:var(--pink)}body{overflow-x:clip}@media (pointer:coarse){.btn{min-height:44px}}.nav-wrap{z-index:100;pointer-events:none;position:fixed;top:28px;left:0;right:0}.nav{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:28px;justify-content:space-between;align-items:center;width:min(1112px,100% - 48px);height:56px;margin-inline:auto;padding:0 8px 0 28px;display:flex;position:relative;box-shadow:0 6px 20px #d6005e14}.nav__logo{font-family:var(--font-heading);font-size:1.625rem;font-weight:600}.nav__links{gap:8px;display:flex}.nav__link{border-radius:999px;padding:8px 20px;font-size:1.0625rem;font-weight:500;transition:background-color .2s;display:block}.nav__link:hover,.nav__link.is-active{background:var(--pink-pill)}.nav__cta{background:var(--pink);color:#fff;border-radius:999px;padding:9px 28px;font-weight:500;transition:background-color .2s,transform .2s}.nav__cta:hover{background:var(--pink-dark);transform:translateY(-2px)}.nav__cta:active{transform:scale(.97)}.nav__toggle,.nav__mobile-cta{display:none}@media (width<=760px){.nav-wrap{top:14px}.nav{width:calc(100% - 24px);height:52px;padding:0 6px 0 18px}.nav__logo{font-size:1.25rem}.nav__cta--bar{display:none}.nav__toggle{background:var(--pink-pill);width:44px;height:44px;color:var(--text);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.nav__links{background:var(--surface);border:1px solid var(--border);border-radius:24px;flex-direction:column;gap:4px;padding:12px;display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 12px 30px #d6005e24}.nav__links.is-open{display:flex}.nav__link{padding:12px 16px;font-size:1.0625rem}.nav__mobile-cta{margin-top:4px;display:block}.nav__mobile-cta .nav__cta{text-align:center;padding:12px 20px;display:block}}.btn{border-radius:999px;align-items:center;gap:8px;padding:14px 32px;font-size:1.125rem;font-weight:500;transition:transform .2s,background-color .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:scale(.97)}.btn--primary{background:var(--pink);color:#fff}.btn--primary:hover{background:var(--pink-dark)}.btn--ghost{border:2px solid var(--text);padding:12px 30px}.btn--ghost:hover{background:var(--pink-chip)}.hero{min-height:100svh;padding-top:84px;position:relative;overflow:hidden}.hero__moon{z-index:0;pointer-events:none;width:clamp(190px,min(27vw,36vh),380px);position:absolute;top:104px;left:12px}.hero__moon img{width:100%}.hero__inner{z-index:1;align-items:center;gap:var(--space-3);grid-template-columns:2fr 1fr;min-height:calc(100svh - 84px);display:grid;position:relative}.hero__text{text-align:center;padding:var(--space-6);margin-left:calc(clamp(0px,3vw,40px) + 20px)}.hero__hello{color:var(--pink-dark);font-size:1.125rem;font-weight:500}.hero__name{letter-spacing:-.02em;margin:4px 0 8px;font-size:clamp(2.75rem,6vw,4.75rem)}.hero__name span{color:var(--pink)}.hero__role{color:var(--text-soft);font-size:clamp(1rem,1.6vw,1.25rem)}.hero__actions{flex-wrap:wrap;justify-content:center;gap:12px;margin:28px 0 20px;display:flex}.hero .btn{padding:11px 26px;font-size:1rem}.hero .btn--ghost{padding:9px 24px}.hero .chip{padding:5px 12px;font-size:.875rem}.hero__art{place-self:end;width:min(100%,420px);position:relative}.hero__circle{aspect-ratio:1;background:var(--pink-circle-soft);border-radius:50%;width:105%;position:absolute;bottom:8%;right:-18%}.hero__cat{width:100%;position:relative}@media (width<=900px){.hero__inner{grid-template-columns:1fr}.hero__text{padding:var(--space-4);margin-left:0}.hero__art{justify-self:center;width:min(80%,340px)}.hero__moon{width:120px;top:96px}.hero,.hero__inner{min-height:0}.hero__moon{width:96px;top:92px;left:12px}.hero__text{padding:72px 8px 8px}.hero__art{width:min(78%,320px);margin-top:8px}}@media (width<=600px){.hero__name{font-size:2.75rem}.hero__role{font-size:1rem}.hero__actions{margin:20px 0 16px}}.about{background:linear-gradient(180deg, var(--bg) 0%, var(--pink-wash) 100%);min-height:100svh;padding:104px 0 32px;position:relative;overflow:hidden}.about__inner{z-index:2;gap:var(--space-6);grid-template-columns:1.25fr .75fr;align-items:center;min-height:calc(100svh - 136px);display:grid;position:relative}.about__text{flex-direction:column;gap:clamp(6px,1.4svh,12px);display:flex}.about .eyebrow{letter-spacing:.22em;font-size:.75rem}.about .section-title{margin:2px 0;font-size:clamp(1.75rem,5.4svh,3rem)}.about__lead{font-family:var(--font-heading);max-width:600px;font-size:clamp(1rem,2.7svh,1.35rem);font-weight:600;line-height:1.3}.about__p,.about__closing{max-width:600px;font-size:clamp(.8125rem,2.3svh,1rem);line-height:1.55}.about__p{color:var(--text-soft)}.about__closing{color:var(--pink);font-weight:600}.about__edu{grid-template-columns:repeat(2,1fr);gap:10px;max-width:600px;margin-top:6px;display:grid}.edu{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:16px;padding:10px 14px}.edu h3{font-family:var(--font-body);font-size:.875rem;font-weight:600;line-height:1.3}.edu p{color:var(--text-soft);margin-top:3px;font-size:.75rem;line-height:1.4}.about__actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.about .btn{padding:8px 22px;font-size:.875rem}.about .btn--ghost{padding:6px 20px}.about__art{--art-h:min(66svh, 620px);--lift:40px;margin-bottom:var(--lift);height:var(--art-h);justify-content:center;place-self:end center;align-items:flex-end;width:100%;display:flex;position:relative}.about__circle{left:50%;bottom:calc(var(--art-h) * .08);width:calc(var(--art-h) * .8);aspect-ratio:1;background:var(--pink-circle-soft);border-radius:50%;position:absolute;transform:translate(-50%)}.about__cat{height:var(--art-h);object-fit:contain;object-position:bottom;width:auto;max-width:100%;position:relative}@media (width<=900px){.about{padding-bottom:56px}.about__inner{grid-template-columns:1fr;min-height:0}.about__art{--art-h:60svh;--lift:0px}.about__edu{grid-template-columns:1fr}.about{padding:96px 0 0}.about__inner{gap:24px;min-height:0}.about .section-title{font-size:2.25rem}.about__lead{font-size:1.25rem}.about__p,.about__closing,.edu h3{font-size:1rem}.edu p{font-size:.875rem}.about .btn{padding:11px 24px;font-size:1rem}.about__art{--art-h:min(78vw, 400px);--lift:0px;align-self:center;margin-bottom:0}}.skills{background:linear-gradient(180deg, var(--pink-wash) 0%, var(--bg) 100%);min-height:100svh;padding:104px 0 32px;position:relative;overflow:hidden}.skills__inner{z-index:2;align-items:center;min-height:calc(100svh - 136px);display:flex;position:relative}.skills__grid{--rgap:clamp(18px, 3svh, 28px);--cgap:40px;gap:var(--rgap) var(--cgap);grid-template-columns:1fr minmax(280px,340px) 1fr;grid-template-areas:"title ai.""languages cat web"".tools.";align-items:center;width:100%;display:grid}.skills__title{grid-area:title}.skills .section-title{font-size:clamp(1.75rem,5svh,3rem)}.skills__cat{grid-area:cat;justify-content:center;display:flex}.skills__cat img{width:auto;height:clamp(140px,30svh,300px)}.skill--ai{grid-area:ai}.skill--languages{grid-area:languages}.skill--web{grid-area:web}.skill--tools{grid-area:tools}.skill{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:24px;padding:clamp(12px,2svh,20px) 20px;position:relative}.skill__head{align-items:center;gap:10px;font-size:clamp(1rem,2.6svh,1.375rem);line-height:1.2;display:flex}.skill__dot{border-radius:50%;flex:none;width:12px;height:12px}.skill__blurb{color:var(--text-soft);margin:6px 0 clamp(8px,1.6svh,12px);font-size:clamp(.8125rem,2svh,.9375rem)}.skill__chips{flex-wrap:wrap;gap:6px;display:flex}.skills .chip{padding:4px 11px;font-size:clamp(.75rem,1.9svh,.875rem)}.skill--ai:after,.skill--tools:before,.skill--languages:after,.skill--web:before{content:"";position:absolute}.skill--ai:after{height:var(--rgap);border-left:3px dotted var(--lavender);top:100%;left:50%}.skill--tools:before{height:var(--rgap);border-left:3px dotted var(--lavender);bottom:100%;left:50%}.skill--languages:after{width:var(--cgap);border-top:3px dotted var(--lavender);top:50%;left:100%}.skill--web:before{width:var(--cgap);border-top:3px dotted var(--lavender);top:50%;right:100%}@media (width<=900px){.skills__grid{grid-template-columns:1fr;grid-template-areas:"title""cat""ai""languages""web""tools"}.skills__inner{min-height:0}.skill:before,.skill:after{display:none}.skills{min-height:0;padding:96px 0 40px}.skills .section-title{font-size:2.25rem}.skills__grid{gap:16px}.skills__cat img{height:200px}.skill{padding:16px 18px}.skill__head{font-size:1.25rem}.skill__blurb{font-size:.9375rem}.skills .chip{font-size:.875rem}}.projects{--projects-top:clamp(116px, 19svh, 148px);--projects-bottom:clamp(24px, 4svh, 40px);min-height:100svh;padding:var(--projects-top) 0 var(--projects-bottom);background:var(--bg);position:relative;overflow:hidden}.projects__inner{z-index:2;height:calc(100svh - var(--projects-top) - var(--projects-bottom));align-items:stretch;min-height:460px;display:flex;position:relative}.projects__layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(180px,.34fr) minmax(0,1fr);align-items:stretch;gap:clamp(20px,3vw,48px);width:100%;height:100%;display:grid}.projects__side{flex-direction:column;min-height:0;display:flex;position:relative}.projects__head{flex:none}.projects .section-title{margin-top:2px;font-size:clamp(1.5rem,5.2svh,3rem)}.projects__cat{object-fit:contain;object-position:left bottom;width:calc(100% + clamp(20px,3vw,48px) - 8px);min-height:0;scale:var(--cat-scale,1);transform-origin:0 100%;pointer-events:none;flex:1 1 0;margin-top:clamp(16px,4svh,40px)}.carousel{flex-direction:column;min-height:0;display:flex}.carousel__card{background:var(--surface);border:1px solid var(--border);min-height:0;box-shadow:var(--shadow-card);border-radius:32px;flex:1 1 0;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);padding:clamp(18px,3.2svh,32px);display:grid;overflow:hidden}.carousel__card>*{grid-area:1/1;min-width:0;min-height:0}.project--sizer{visibility:hidden;pointer-events:none}.project{touch-action:pan-y;cursor:grab;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(16px,2.4vw,36px);height:100%;display:grid}.project:active{cursor:grabbing}.project__media{background:var(--lavender-soft);border-radius:20px;min-height:160px;position:relative;overflow:hidden}.project__media img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.project__placeholder{text-align:center;color:#6b4e9b;place-items:center;padding:16px;font-size:.875rem;display:grid;position:absolute;inset:0}.project__body{flex-direction:column;justify-content:center;gap:clamp(5px,1.2svh,10px);min-width:0;display:flex}.project .eyebrow{letter-spacing:.2em;font-size:.75rem}.project__title{letter-spacing:-.01em;font-size:clamp(1.2rem,3.8svh,2.25rem)}.project__summary{color:var(--text-soft);font-size:clamp(.8125rem,2.1svh,1rem);line-height:1.5}.project__facts{color:var(--text-soft);flex-direction:column;gap:2px;font-size:clamp(.75rem,1.8svh,.9rem);line-height:1.45;display:flex}.project__facts strong{color:var(--text)}.project__tech{flex-wrap:wrap;gap:6px;display:flex}.project .chip{padding:4px 11px;font-size:clamp(.75rem,1.8svh,.875rem)}.project__actions{flex-wrap:wrap;gap:10px;margin-top:2px;display:flex}.project .btn{padding:8px 22px;font-size:.875rem}.project .btn--ghost{padding:6px 20px}.carousel__controls{flex:none;justify-content:center;align-items:center;gap:14px;margin-top:clamp(8px,1.6svh,14px);display:flex}.arrow{border:2px solid var(--text);background:var(--surface);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;transition:transform .2s;display:grid}.arrow svg{width:16px;height:16px}.arrow--next{background:var(--pink);border-color:var(--pink);color:#fff}.arrow:hover{transform:scale(1.08)}.arrow:active{transform:scale(.94)}.dots{align-items:center;gap:8px;display:flex}.dot{background:var(--pink-circle);cursor:pointer;border:0;border-radius:999px;width:8px;height:8px;padding:0;transition:width .25s,background-color .25s;position:relative}.dot:after{content:"";position:absolute;inset:-10px}.dot.is-active{background:var(--pink);width:26px}@media (width<=900px){.projects__layout{grid-template-rows:auto;grid-template-columns:1fr;height:auto}.projects__side{display:block}.projects__cat{width:auto;max-width:100%;height:200px;margin-top:12px;display:block}.carousel__card{grid-template-rows:auto}.project{grid-template-columns:1fr;height:auto}.projects{--projects-top:96px;--projects-bottom:40px;min-height:0}.projects__inner{height:auto;min-height:0}.projects__layout{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);gap:20px;height:auto}.projects__side{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:12px}.projects .section-title{font-size:2rem}.projects__cat{object-position:right bottom;flex:none;width:auto;max-width:45%;height:130px;margin:0;scale:1}.carousel__card{border-radius:24px;flex:none;grid-template-rows:auto;padding:14px}.carousel__card>*{min-height:auto}.project{grid-template-columns:minmax(0,1fr);gap:16px;height:auto}.project__media{aspect-ratio:4/3;min-height:0}.project__body{justify-content:flex-start}.project__title{font-size:1.5rem}.project__summary{font-size:.9375rem}.project__facts{font-size:.875rem}.project .chip{font-size:.8125rem}.project .btn{padding:10px 22px;font-size:.9375rem}}@media (width>=601px) and (width<=900px){.project__media{aspect-ratio:16/9}}@media (width<=900px){.projects .projects__side{grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:14px;display:grid}.projects .projects__cat{object-position:left bottom;grid-area:1/1;justify-self:start;width:auto;max-width:none;height:120px;margin:0}.projects .projects__head{grid-area:1/2}.projects .section-title{font-size:clamp(1.5rem,7vw,2rem)}}.cert-slider .certs{touch-action:pan-y;grid-template-rows:repeat(2,minmax(44px,auto));grid-template-columns:1fr 1fr;align-content:start}.cert-slider__controls{align-items:center;gap:10px;margin-top:clamp(6px,1.2svh,12px);display:flex}.cert-arrow{border:2px solid var(--text);background:var(--surface);width:28px;height:28px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;transition:transform .2s;display:grid}.cert-arrow--next{background:var(--pink);border-color:var(--pink);color:#fff}.cert-arrow:hover{transform:scale(1.1)}.cert-arrow:active{transform:scale(.92)}.cert-dots{align-items:center;gap:7px;display:flex}.cert-dot{background:var(--pink-circle);cursor:pointer;border:0;border-radius:999px;width:8px;height:8px;padding:0;transition:width .25s;position:relative}.cert-dot:after{content:"";position:absolute;inset:-10px}.cert-dot.is-active{background:var(--pink);width:22px}@media (width<=600px){.cert-slider .certs{grid-template-rows:none;grid-template-columns:1fr}}.contact{background:var(--bg);min-height:100svh;padding:96px 0 12px;position:relative;overflow:hidden}.contact__inner{z-index:2;flex-direction:column;justify-content:center;gap:clamp(10px,2svh,24px);min-height:calc(100svh - 108px);display:flex;position:relative}.contact__top{gap:var(--space-4);grid-template-columns:1fr minmax(180px,.45fr);align-items:end;display:grid}.contact__text{flex-direction:column;gap:clamp(6px,1.3svh,14px);display:flex}.contact .section-title{margin-top:2px;font-size:clamp(1.5rem,5svh,3.25rem)}.contact__intro{color:var(--text-soft);font-size:clamp(.875rem,2.2svh,1.125rem)}.contact .chip{align-self:flex-start;padding:4px 12px;font-size:clamp(.75rem,1.9svh,.875rem)}.contact__cta{flex-wrap:wrap;align-items:center;gap:14px;margin-top:2px;display:flex}.contact .btn{padding:clamp(7px,1.4svh,10px) 22px;font-size:clamp(.875rem,2svh,1rem)}.contact__email{color:var(--pink-dark);font-size:clamp(.8125rem,1.9svh,.9375rem);font-weight:600}.contact__email:hover{text-decoration:underline}.contact__art{--h:clamp(110px, 26svh, 320px);width:100%;height:var(--h);justify-content:center;justify-self:center;align-items:flex-end;display:flex;position:relative}.contact__circle{width:calc(var(--h) * .92);aspect-ratio:1;background:var(--pink-circle-soft);border-radius:50%;position:absolute;bottom:6%;left:50%;transform:translate(-50%)}.contact__cat{height:var(--h);object-fit:contain;object-position:bottom;width:auto;max-width:100%;position:relative}.contact__cards{grid-template-columns:.8fr 1.2fr;gap:12px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:24px;padding:clamp(10px,1.8svh,22px) 24px}.panel .eyebrow{letter-spacing:.2em;font-size:.6875rem}.contact__links{flex-direction:column;gap:clamp(5px,1.2svh,11px);margin-top:clamp(6px,1.4svh,14px);font-size:clamp(.8125rem,1.9svh,.9375rem);display:flex}.contact__links a{transition:color .2s}.contact__links a:hover{color:var(--pink)}.contact__place{color:var(--text-soft)}.panel--featured{background:#fff6fa;border:2px solid #f2b5cf;flex-direction:column;justify-content:space-between;gap:clamp(6px,1.4svh,14px);display:flex}.panel__head{justify-content:space-between;align-items:center;display:flex}.badge{background:var(--pink);color:#fff;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600}.certs{grid-template-columns:1fr 1fr;gap:clamp(6px,1.4svh,14px) 20px;margin-top:clamp(6px,1.4svh,14px);display:grid}.cert{align-items:flex-start;gap:10px;display:flex}.cert__tick{background:var(--pink);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;margin-top:1px;display:grid}.cert__name{font-size:clamp(.75rem,1.9svh,.9375rem);font-weight:600;line-height:1.25}.cert__name:hover{color:var(--pink)}.cert__meta{color:var(--text-soft);font-size:clamp(.6875rem,1.6svh,.8125rem)}.panel--featured .btn{padding:7px 20px;font-size:.875rem}.contact__footer{color:var(--text-soft);border-top:1px solid #e8cbd8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:clamp(8px,1.4svh,16px);font-size:.8125rem;display:flex}.contact__pills{gap:8px;display:flex}.contact__pills a{border:2px solid var(--text);color:var(--text);border-radius:999px;padding:4px 16px;font-size:.875rem;font-weight:500;transition:background-color .2s}.contact__pills a:hover{background:var(--pink-chip)}@media (width>=901px) and (height<=780px){.certs{grid-template-columns:repeat(3,1fr);gap:8px 16px}.contact__links{grid-template-columns:1fr 1fr;gap:6px 16px;display:grid}.contact__cards{grid-template-columns:.75fr 1.25fr}}@media (width<=900px){.contact__inner{min-height:0}.contact__top{grid-template-columns:1fr}.contact__cards,.certs{grid-template-columns:1fr}.contact__links{display:flex}.contact{min-height:0;padding:96px 0 20px}.contact__inner{gap:20px;min-height:0}.contact .section-title{font-size:2.25rem}.contact__intro{font-size:1rem}.contact .btn{padding:11px 24px;font-size:1rem}.contact__email{overflow-wrap:anywhere;font-size:.9375rem}.contact__art{--h:200px}.panel{padding:18px 20px}.contact__links,.cert__name{font-size:.9375rem}.cert__meta{font-size:.8125rem}.contact__footer{text-align:center;flex-direction:column}}.pp{--pp-panel:#eef3f5;--pp-border:#b3ced6;z-index:2;min-height:100svh;padding:112px 0 72px;position:relative}.pp__back{color:var(--pink-dark);margin-bottom:16px;font-size:.9375rem;font-weight:700;display:inline-flex}.pp__back:hover{text-decoration:underline}.pp__panel{background:var(--pp-panel);border:2px solid var(--pp-border);box-shadow:var(--shadow-card);border-radius:32px;padding:clamp(20px,4vw,48px);animation:.7s cubic-bezier(.2,.9,.3,1) both pp-rise}@keyframes pp-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.pp__top{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(20px,4vw,56px);display:grid}.pp__head{flex-direction:column;gap:12px;max-width:760px;display:flex}.pp .eyebrow{font-size:.8125rem}.pp .section-title{margin-top:0;font-size:clamp(1.75rem,3.6vw,2.75rem)}.pp__summary{color:var(--text-soft);font-size:clamp(.95rem,1.5vw,1.0625rem);line-height:1.6}.pp__tech{flex-wrap:wrap;gap:8px;display:flex}.pp .chip{padding:5px 13px;font-size:.875rem}.pp__actions{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.pp .btn{padding:10px 24px;font-size:.9375rem}.pp .btn--ghost{padding:8px 22px}.pp__cat{place-items:center;display:grid;position:relative}.pp__cat:before{content:"";aspect-ratio:1;background:var(--pink-wash);border-radius:50%;height:78%;position:absolute}.pp__cat img{filter:drop-shadow(0 14px 16px #4a352440);width:auto;height:clamp(240px,42svh,420px);display:block;position:relative}.pp__block{border-top:1px solid var(--pp-border);max-width:760px;margin-top:clamp(24px,4svh,36px);padding-top:clamp(24px,4svh,36px)}.pp__block--wide{max-width:none}.pp__block h2{margin-bottom:12px;font-size:clamp(1.25rem,2.4vw,1.625rem)}.pp__block p{color:var(--text-soft);line-height:1.7}.pp__block p+p{margin-top:12px}.pp__list{color:var(--text-soft);gap:10px;padding-left:22px;line-height:1.6;list-style:outside;display:grid}.pp__list li::marker{color:var(--pink)}.pp__gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px;margin-top:16px;display:grid}.pp__figure{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:24px;margin:0;overflow:hidden}.pp__figure img,.pp__figure video{width:100%;height:auto;display:block}.pp__figure figcaption{color:var(--text-soft);padding:12px 18px;font-size:.9375rem}.pp__pdf{border:1px solid var(--border);width:100%;height:min(82svh,920px);box-shadow:var(--shadow-card);background:#fff;border-radius:24px;margin-top:16px;display:block}.pp__demo{border:1px solid var(--border);width:100%;height:min(80svh,760px);box-shadow:var(--shadow-card);background:#fff;border-radius:24px;margin-top:16px;display:block}.pp__note{margin-top:12px;font-size:.9375rem}.pp__note a{color:var(--pink-dark);text-decoration:underline}@media (width<=820px){.pp__top{grid-template-columns:1fr}.pp__cat{order:-1}.pp__cat img{height:200px}}@media (width<=600px){.pp{padding-top:96px}.pp__panel{border-radius:24px}.pp__pdf{height:70svh}}
