@import url("https://fonts.googleapis.com/css2?family=Dosis:wght@300;400;500;600;700;800&display=swap");:root{--coral:#ec4d3a;--coral-dark:#d13b2a;--ink:#23201d;--muted:#6f665d;--bg:#fffdf9;--paper:#fff;--line:#efe7db;--max-width:1280px;--pad:4vw;--radius:16px;--font:"Dosis",ui-rounded,"Segoe UI",system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-weight:500;font-size:18px;-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:800;letter-spacing:-.01em;line-height:1.05;margin:0}a{color:inherit;text-decoration:none}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--pad)}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(255,253,249,.88);-webkit-backdrop-filter:saturate(1.1) blur(10px);backdrop-filter:saturate(1.1) blur(10px);border-bottom:1px solid var(--line)}.nav__inner{display:flex;align-items:center;justify-content:space-between;height:88px}.brand img{height:49px;width:auto;display:block}.nav__links{display:flex;align-items:center;gap:36px;font-weight:700;font-size:1.05rem}.nav__links a:not(.btn){color:var(--ink)}.nav__links a:not(.btn):hover{color:var(--coral)}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:999px;font-family:var(--font);font-weight:700;font-size:1.02rem;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease,color .15s ease}.btn--primary{background:var(--coral);color:#fff}.btn--primary:hover{background:var(--coral-dark);transform:translateY(-2px)}.btn--ghost{border-color:var(--ink);color:var(--ink)}.btn--ghost:hover{background:var(--ink);color:#fff}.hero{padding:110px 0 96px;text-align:center}.hero__inner{max-width:900px;margin:0 auto}.eyebrow{display:inline-block;font-weight:700;color:var(--coral);text-transform:uppercase;letter-spacing:.18em;font-size:.95rem;margin-bottom:26px}.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);max-width:15ch;margin:0 auto 26px}.hero p.lede{font-size:1.3rem;font-weight:500;color:var(--muted);max-width:60ch;margin:0 auto 36px}.hero__cta{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.section{padding:96px 0}.section__head{margin-bottom:52px}.section__head h2{font-size:clamp(2.1rem,4.5vw,3.2rem);margin:0 0 12px}.section__head p{color:var(--muted);margin:0;max-width:60ch;font-size:1.2rem}.about{display:grid;grid-template-columns:1fr 1.05fr;grid-gap:72px;gap:72px;align-items:center}.about p{font-size:1.18rem;margin:0 0 20px;color:var(--muted)}.about p strong{color:var(--ink);font-weight:700}.about__photo{border-radius:26px;overflow:hidden;box-shadow:0 40px 80px -45px rgba(35,32,29,.55)}.about__photo img{display:block;width:100%;height:auto}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:34px;gap:34px}.work{display:block}.work__media{position:relative;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;background:var(--line)}.work__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.work:hover .work__media img{transform:scale(1.06)}.work__media--solid{display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,var(--coral),var(--coral-dark));font-size:3.4rem}.work__title{margin:18px 2px 4px;font-size:1.35rem;font-weight:700}.work__blurb{margin:0 2px;color:var(--muted);font-size:1.02rem}.page-hero{padding:96px 0 8px;text-align:center}.page-hero .eyebrow{margin-bottom:20px}.page-hero h1{font-size:clamp(2.4rem,5vw,3.8rem);max-width:18ch;margin:0 auto 18px}.page-hero p{color:var(--muted);font-size:1.25rem;max-width:60ch;margin:0 auto}.project{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.project:hover{transform:translateY(-4px);box-shadow:0 28px 55px -32px rgba(35,32,29,.4)}.project__top{height:150px;display:flex;align-items:center;justify-content:center;font-size:3rem;overflow:hidden}.project__top img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.project:hover .project__top img{transform:scale(1.05)}.project__top--logo{background:#fff;border-bottom:1px solid var(--line)}.project__top--logo img{object-fit:contain;padding:30px 34px}.project:hover .project__top--logo img{transform:none}.p--coral{background:linear-gradient(140deg,#ec4d3a,#d13b2a)}.p--gold{background:linear-gradient(140deg,#f5a623,#e07b1a)}.p--ink{background:linear-gradient(140deg,#3a352f,#23201d)}.p--plum{background:linear-gradient(140deg,#7d4a63,#59324a)}.p--teal{background:linear-gradient(140deg,#2f7d72,#1f574f)}.p--sky{background:linear-gradient(140deg,#4a76a8,#315a86)}.project__body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1 1}.project__tag{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--coral);margin-bottom:8px}.project__body h3{font-size:1.3rem;font-weight:700;margin:0 0 8px}.project__body p{margin:0 0 16px;color:var(--muted);font-size:1.02rem;flex:1 1}.project__link{font-weight:700;color:var(--ink)}.project__link:hover{color:var(--coral)}.project__soon{font-weight:700;color:var(--muted);opacity:.7}.cta{background:var(--ink);border-radius:28px;padding:84px 40px;text-align:center;color:#fff}.cta h2{font-size:clamp(2.1rem,4.5vw,3.2rem);margin:0 0 14px}.cta p{margin:0 0 30px;opacity:.82;font-size:1.25rem;font-weight:500}.footer{padding:56px 0;color:var(--muted);border-top:1px solid var(--line);margin-top:40px}.footer__inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;align-items:center}.footer strong{color:var(--ink);font-weight:800}.form{display:grid;grid-gap:18px;gap:18px;max-width:580px}.form label{font-weight:700;display:grid;grid-gap:6px;gap:6px}.form input,.form textarea{font:inherit;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.form input:focus,.form textarea:focus{outline:2px solid var(--coral);border-color:transparent}.form textarea{min-height:150px;resize:vertical}@media (max-width:900px){.about{grid-template-columns:1fr;gap:40px}.grid{grid-template-columns:1fr 1fr}.nav__inner{height:72px}}@media (max-width:560px){:root{--pad:6vw}.grid{grid-template-columns:1fr}.nav__links{gap:18px}.nav__links a:not(.btn):first-child{display:none}}