:root{color:#f5eadb;background:radial-gradient(circle at top left,rgba(160,70,79,.24),transparent 36%),radial-gradient(circle at top right,rgba(234,216,194,.12),transparent 30%),linear-gradient(180deg,#12090b,#1b0f12 55%,#12090b);font-family:Manrope,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;width:100%;background:radial-gradient(circle at 15% 18%,rgba(160,70,79,.2),transparent 0 28%),radial-gradient(circle at 85% 12%,rgba(234,216,194,.08),transparent 0 18%),linear-gradient(180deg,#12090b,#1b0f12 55%,#12090b);color:#f5eadb}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 85%)}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}#root,.app-shell{min-height:100vh}.app-main{display:flex;flex-direction:column;gap:40px;padding:132px 0 48px}@media(max-width:768px){.app-main{padding-top:112px;gap:28px}}.hero{width:min(1180px,100% - 48px);margin:0 auto;display:grid;gap:24px}@media(max-width:640px){.hero{width:min(100% - 24px,1180px)}}.hero-card,.about-panel{background:linear-gradient(180deg,#fff6eb0f,#fff6eb05),#2c171cd1;border:1px solid rgba(232,206,177,.22);border-radius:32px;box-shadow:0 18px 60px #00000047;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:28px;padding:clamp(28px,4vw,44px);position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;inset:auto -90px -120px auto;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(160,70,79,.32),transparent 68%)}.hero-content{position:relative;z-index:1}.hero-content h1{margin:14px 0 18px;color:#fff6eb;font-family:Cormorant Garamond,serif;font-size:clamp(3rem,7vw,5.3rem);line-height:.95;max-width:10.8ch}.hero-eyebrow,.panel-eyebrow,.profile-label{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.22em;font-size:.74rem;color:#d4b595}.hero-eyebrow:before,.panel-eyebrow:before,.profile-label:before{content:"";width:34px;height:1px;background:currentColor}.hero-lead,.about-me p,.profile-value,.hero-facts dd{color:#f5eadbc2;line-height:1.75;font-size:1rem}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.hero-button{display:inline-flex;align-items:center;justify-content:center;min-width:150px;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:700;letter-spacing:.01em;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.hero-button:hover{transform:translateY(-2px)}.hero-button.primary{background:linear-gradient(135deg,#a0464f,#7f2430);color:#fff6eb;box-shadow:0 16px 30px #7f243047}.hero-button.secondary{background:#fff6eb0d;border:1px solid rgba(232,206,177,.22);color:#f5eadb}.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:32px 0 0}.hero-facts div{padding:18px;border-radius:18px;background:#f4e8d914;border:1px solid rgba(232,206,177,.12)}.hero-facts dt{margin-bottom:10px;color:#fff6eb;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase}.hero-facts dd{margin:0}.hero-profile{position:relative;z-index:1;display:grid;gap:18px;align-content:start}.portrait-frame{border-radius:24px;padding:14px;background:linear-gradient(180deg,#fff6eb17,#fff6eb05);border:1px solid rgba(232,206,177,.12);box-shadow:0 24px 70px #06020357}.portrait-frame img{display:block;width:100%;height:clamp(320px,38vw,420px);object-fit:cover;border-radius:16px}.profile-card{padding:20px;border-radius:24px;background:#fff6eb0a;border:1px solid rgba(232,206,177,.12)}.profile-label{margin-bottom:12px}.profile-value{margin:0}.socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.socials a{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;background:#fff6eb0f;border:1px solid rgba(232,206,177,.14);text-decoration:none;color:#f5eadb;transition:transform .2s ease,background-color .2s ease}.socials a:hover{transform:translateY(-2px);background:#fff6eb1f}.socials i{font-size:1.35rem}.socials span{font-weight:700}.about-panel{padding:clamp(26px,4vw,38px)}.about-me{max-width:760px}.about-me h2{margin:12px 0 20px;color:#fff6eb;font-family:Cormorant Garamond,serif;font-size:clamp(2.4rem,4vw,4rem);font-weight:600;letter-spacing:.02em;font-size:clamp(2rem,3.4vw,3rem)}.about-me p{margin:0 0 16px}@media(max-width:960px){.hero-card{grid-template-columns:1fr}.hero-content h1{max-width:12ch}.hero-facts{grid-template-columns:1fr}}@media(max-width:640px){.hero-card,.about-panel{padding:22px}.hero-content h1{max-width:none}.hero-actions{flex-direction:column}.hero-button{width:100%}.socials a{width:100%;justify-content:center}}footer{width:min(1180px,100% - 48px);margin:0 auto;background:linear-gradient(180deg,#fff6eb0f,#fff6eb05),#2c171cd1;border:1px solid rgba(232,206,177,.22);border-radius:32px;box-shadow:0 18px 60px #00000047;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:clamp(28px,4vw,42px);color:#f5eadb;display:flex;justify-content:space-between;align-items:end;gap:24px}@media(max-width:640px){footer{width:min(100% - 24px,1180px)}}footer .footer-copy{max-width:620px}footer .footer-eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.22em;font-size:.74rem;color:#d4b595;margin:0}footer .footer-eyebrow:before{content:"";width:34px;height:1px;background:currentColor}footer .footer-header{margin:12px 0 18px;color:#fff6eb;font-family:Cormorant Garamond,serif;font-size:clamp(2.4rem,4vw,4rem);font-weight:600;letter-spacing:.02em}footer .contact-info h3{margin:0 0 6px;color:#fff6eb;font-size:1.15rem;letter-spacing:.03em}footer .contact-info p{margin:0;color:#f5eadbc2}footer .mail-footer{display:inline-flex;align-items:center;margin-top:20px;color:#d4b595;font-size:1.05rem;font-weight:700;text-decoration:none;transition:color .2s ease}footer .mail-footer:hover{color:#fff6eb}footer .footer-actions{display:flex;align-items:center;gap:14px}footer .social-links{display:flex;gap:12px}footer .social-links a{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid rgba(232,206,177,.18);background:#fff6eb0f;color:#fff6eb;font-size:1.6rem;text-decoration:none;transition:transform .2s ease,background-color .2s ease}footer .social-links a:hover{transform:translateY(-2px);background:#a0464f3d}footer .scroll-to-top{width:52px;height:52px;border-radius:50%;border:0;background:linear-gradient(135deg,#a0464f,#7f2430);color:#fff6eb;font-size:1.6rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 16px 28px #7f243047}footer .scroll-to-top:hover{transform:translateY(-2px)}@media(max-width:768px){footer{flex-direction:column;align-items:start;padding:22px}footer .footer-actions{width:100%;justify-content:space-between}}header{margin:0 auto;background:linear-gradient(180deg,#fff6eb0f,#fff6eb05),#2c171cd1;border:1px solid rgba(232,206,177,.22);border-radius:32px;box-shadow:0 18px 60px #00000047;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#f5eadb;display:flex;justify-content:space-between;align-items:center;padding:14px 22px;width:min(1180px,100% - 48px);z-index:1000;position:fixed;top:18px;left:50%;transform:translate(-50%)}@media(max-width:640px){header{width:min(100% - 24px,1180px)}}header.scrolled{background:linear-gradient(180deg,#fff6eb1a,#fff6eb08),#221115e6;box-shadow:0 24px 70px #06020357}header .brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none}header .brand .brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#a0464fe6,#5c1624e6);color:#fff6eb;font-family:Cormorant Garamond,serif;font-size:1.55rem;font-weight:600;box-shadow:inset 0 1px #ffffff2e}header .brand .brand-copy{display:flex;flex-direction:column}header .brand .brand-copy strong{font-size:1rem;font-weight:700;letter-spacing:.03em}header .brand .brand-copy span{color:#f5eadbc2;font-size:.85rem}header .header-toggle{display:none;flex-direction:column;justify-content:space-between;width:40px;height:28px;background:none;border:none;padding:0;cursor:pointer;z-index:1001}header .header-toggle span{display:block;height:4px;border-radius:4px;transition:.3s ease;background-color:#fff6eb}header .header-toggle.open span:nth-child(1){transform:rotate(45deg) translate(12px,5px)}header .header-toggle.open span:nth-child(2){opacity:0}header .header-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(12px,-5px)}header .header-nav ul{display:flex;gap:10px;margin:0;padding:0}header .header-nav ul li{list-style:none;cursor:pointer;font-size:1rem;font-family:Manrope,sans-serif;font-weight:500}header .header-nav ul li a{display:inline-block;padding:10px 16px;text-decoration:none;color:#f5eadbc2;border-radius:999px;border:1px solid transparent;transition:transform .2s ease,color .2s ease,background-color .2s ease,border-color .2s ease}header .header-nav ul li a:hover{color:#fff6eb;background:#fff6eb0d;border-color:#e8ceb124}header .header-nav ul li a.active{color:#fff6eb;background:linear-gradient(135deg,#a0464f42,#a0464f14);border-color:#e8ceb12e}@media(max-width:768px){header{flex-wrap:wrap;top:12px;width:min(100% - 24px,1180px);padding:14px 16px}header .brand{gap:10px}header .brand .brand-mark{width:46px;height:46px}header .brand .brand-copy strong{font-size:.92rem}header .brand .brand-copy span{font-size:.78rem}header .header-toggle{display:flex}header .header-nav{width:100%;display:none;text-align:center;margin-top:14px}header .header-nav ul{flex-direction:column;padding:8px 0 2px}header .header-nav.open{display:block}}.projects-wrapper{width:min(1180px,100% - 48px);margin:0 auto;background:linear-gradient(180deg,#fff6eb0f,#fff6eb05),#2c171cd1;border:1px solid rgba(232,206,177,.22);border-radius:32px;box-shadow:0 18px 60px #00000047;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:clamp(28px,4vw,42px)}@media(max-width:640px){.projects-wrapper{width:min(100% - 24px,1180px)}}.projects-intro{max-width:760px;margin-bottom:34px}.projects-eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.22em;font-size:.74rem;color:#d4b595}.projects-eyebrow:before{content:"";width:34px;height:1px;background:currentColor}.project-header{margin:12px 0 0;color:#fff6eb;font-family:Cormorant Garamond,serif;font-size:clamp(2.4rem,4vw,4rem);font-weight:600;letter-spacing:.02em}.projects-lead{margin:16px 0 0;color:#f5eadbc2;line-height:1.7;max-width:64ch}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.projects-footer{display:flex;justify-content:center;margin-top:28px}.show-more-projects{min-height:50px;padding:12px 24px;border:1px solid rgba(232,206,177,.18);border-radius:999px;background:linear-gradient(135deg,#a0464f,#7f2430);color:#fff6eb;font-family:Manrope,sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:0 18px 32px #7f24303d;transition:transform .2s ease,box-shadow .2s ease}.show-more-projects:hover{transform:translateY(-2px);box-shadow:0 22px 40px #7f243047}.project-card{background:linear-gradient(180deg,#fffaf4fa,#f1e4d4f5);border:1px solid rgba(100,42,49,.1);border-radius:24px;box-shadow:0 18px 40px #0803042e;width:100%;min-height:100%;display:flex;flex-direction:column;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}.project-card:hover{transform:translateY(-6px);box-shadow:0 26px 60px #0803043d}.project-card img{width:100%;height:210px;object-fit:cover;border-bottom:1px solid rgba(100,42,49,.12)}.project-card .project-content{display:flex;flex-direction:column;flex:1 1 auto;padding:24px}.project-card .project-content h3{margin:0 0 10px;color:#3b1f25;font-family:Cormorant Garamond,serif;font-size:2rem;line-height:1}.project-card .project-content p{margin:0 0 20px;color:#3b1f25db;font-family:Manrope,sans-serif;line-height:1.75;flex:1 1 auto}.project-card .project-content ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 20px}.project-card .project-content ul li{background:#ead8c2;color:#3b1f25;border-radius:999px;padding:7px 12px;font-size:.85rem;font-weight:700;letter-spacing:.03em}.project-card .project-content .project-buttons-row{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.project-card .project-content .project-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;background:#7f2430;color:#fff6eb;border-radius:999px;font-family:Manrope,sans-serif;font-weight:700;text-decoration:none;transition:background-color .2s ease,transform .2s ease}.project-card .project-content .project-button:hover{background:#58151f;transform:translateY(-1px)}@media(max-width:900px){.projects-grid{grid-template-columns:1fr}}@media(max-width:640px){.projects-wrapper{padding:22px}.project-card .project-content{padding:20px}}.skills{width:min(1180px,100% - 48px);margin:0 auto;background:linear-gradient(180deg,#fff6eb0f,#fff6eb05),#2c171cd1;border:1px solid rgba(232,206,177,.22);border-radius:32px;box-shadow:0 18px 60px #00000047;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:clamp(28px,4vw,42px)}@media(max-width:640px){.skills{width:min(100% - 24px,1180px)}}.skills h2{margin:12px 0 0;color:#fff6eb;font-family:Cormorant Garamond,serif;font-size:clamp(2.4rem,4vw,4rem);font-weight:600;letter-spacing:.02em}.skills-intro{max-width:760px;margin-bottom:32px}.skills-eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.22em;font-size:.74rem;color:#d4b595}.skills-eyebrow:before{content:"";width:34px;height:1px;background:currentColor}.skills-lead{margin:16px 0 0;color:#f5eadbc2;line-height:1.7}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.skills-wrapper{padding:22px;border-radius:24px;background:#fff6eb0a;border:1px solid rgba(232,206,177,.12)}.skills-wrapper h3{margin:0 0 16px;font-family:Cormorant Garamond,serif;font-size:2rem;color:#fff6eb}.skills-wrapper ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px;margin:0}.skills-wrapper ul li{background:#ead8c2f2;color:#3b1f25;border-radius:999px;padding:8px 14px;font-size:.92rem;font-weight:700;letter-spacing:.02em;box-shadow:inset 0 1px #ffffff59;transition:transform .2s ease,box-shadow .2s ease}.skills-wrapper ul li:hover{transform:translateY(-3px);box-shadow:0 10px 24px #00000029}@media(max-width:900px){.skills-grid{grid-template-columns:1fr}}@media(max-width:640px){.skills{padding:22px}.skills-wrapper{padding:20px}}
