:root{--berry:#591936;--berry-deep:#341022;--plum:#48132f;--pink:#e77bd2;--pink-soft:#f1a3df;--cream:#fff5f8;--white:#fffafd;--dark:#1b1016;--muted:#6d5360;--line-light:rgba(255,250,253,.22);--line-dark:rgba(75,20,44,.15)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"DM Sans",sans-serif;background:var(--cream);color:var(--dark)}img{max-width:100%}a{color:inherit}.navbar{position:absolute;z-index:20;top:0;left:0;width:100%;padding:28px 6%;display:flex;justify-content:space-between;align-items:center}.logo{color:var(--white);text-decoration:none;font-size:21px;font-weight:700;letter-spacing:-.7px}.navbar nav{display:flex;gap:32px}.navbar nav a{color:#f8eaf1;text-decoration:none;font-size:14px;transition:.25s}.navbar nav a:hover{color:var(--pink-soft)}
.hero{min-height:100vh;padding:160px 7% 90px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 85% 15%,rgba(231,123,210,.22),transparent 35%),var(--berry);color:var(--white);overflow:hidden}.eyebrow{color:#a4487c;font-size:12px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase}.eyebrow.light{color:#f2addf}.hero h1{max-width:1110px;margin-top:28px;font-size:clamp(58px,7.3vw,112px);line-height:.98;letter-spacing:-4px;font-weight:500}.hero h1 span{font-weight:600;background:linear-gradient(90deg,#ffc1eb 0%,#f08bd8 45%,#e877cf 75%,#d961b9 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.hero-copy{max-width:720px;margin-top:42px;color:#f3dfe9;font-size:18px;line-height:1.7}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:42px}.button{padding:15px 24px;border-radius:100px;text-decoration:none;font-size:14px;font-weight:600;transition:.25s}.button:hover{transform:translateY(-3px)}.button.primary{background:var(--pink);color:var(--berry-deep)}.button.primary:hover{background:var(--pink-soft)}.button.ghost{border:1px solid var(--line-light);color:var(--white);background:rgba(255,255,255,.04)}
.section-light{background:var(--cream);color:var(--dark)}.section-dark{background:var(--berry-deep);color:var(--white)}.section-berry{background:var(--berry);color:var(--white)}.projects,.services,.contact{padding:120px 7% 140px}.section-intro{max-width:960px;margin-bottom:70px}.section-intro h2{margin-top:20px;font-size:clamp(38px,5vw,68px);line-height:1.06;letter-spacing:-2.5px;font-weight:500}
.project-list{display:flex;flex-direction:column}.project-row{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:7.5%;align-items:center;padding:68px 0;border-top:1px solid var(--line-dark)}.project-row:last-child{border-bottom:1px solid var(--line-dark)}.project-visual{display:block;overflow:hidden;border-radius:4px;background:var(--berry-deep);aspect-ratio:4/3}.project-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.project-visual:hover img{transform:scale(1.018)}.project-info{min-width:0}.project-kicker{display:flex;align-items:center;gap:16px;color:#9f3f77;font-size:11px;font-weight:700;letter-spacing:1.45px}.project-kicker span{color:#bd528f}.project-title{color:var(--dark);text-decoration:none}.project-title h3{margin-top:17px;font-size:clamp(34px,3.4vw,54px);line-height:1.02;letter-spacing:-2.2px;font-weight:500}.project-summary{max-width:670px;margin-top:27px;color:var(--muted);font-size:16px;line-height:1.72}.project-highlights{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:30px;padding:18px 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);color:#25141d;font-size:12px;font-weight:700}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.project-tags span{padding:8px 12px;border-radius:999px;background:#f0e5ea;color:#704b5e;font-size:11px;font-weight:600}.project-links{display:flex;flex-wrap:wrap;gap:25px;margin-top:25px}.project-links a{padding-bottom:4px;border-bottom:1px solid #b55b8c;color:#24131b;font-size:13px;font-weight:700;text-decoration:none}.project-links a:hover{color:#b33f80}
.split-heading{margin-bottom:70px;display:grid;grid-template-columns:2fr 1fr;gap:60px;align-items:end}.split-heading h2{margin-top:22px;max-width:800px;font-size:clamp(48px,6vw,86px);line-height:1;letter-spacing:-3px;font-weight:500}.split-heading>p{max-width:310px;color:#f3dfe9;font-size:15px;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:310px;padding:42px 38px;border-top:1px solid var(--line-light);border-right:1px solid var(--line-light);color:var(--white);text-decoration:none;transition:.3s}.service-card:nth-child(odd){border-left:1px solid var(--line-light)}.service-card:nth-last-child(-n+2){border-bottom:1px solid var(--line-light)}.service-card:hover{background:rgba(231,123,210,.09)}.service-card h3{margin-top:52px;font-size:27px;line-height:1.15;letter-spacing:-1px}.service-card p{max-width:500px;margin-top:20px;color:#f3dfe9;font-size:15px;line-height:1.7}.service-card b{display:inline-block;margin-top:28px;color:#f1a3df;font-size:12px;font-weight:600}
.approach{padding:130px 7% 145px;display:grid;grid-template-columns:.8fr 2.2fr;gap:80px}.approach aside>p:last-child{max-width:190px;margin-top:48px;color:#80606f;font-size:13px;line-height:1.6}.approach-main h2{max-width:1020px;font-size:clamp(42px,5.5vw,78px);line-height:1.03;letter-spacing:-3px;font-weight:500}.approach-main h2 em{font-family:"Newsreader",serif;font-weight:500;color:#bb3e84}.two-copy{max-width:880px;margin-top:60px;display:grid;grid-template-columns:repeat(2,1fr);gap:50px}.two-copy p{color:var(--muted);font-size:15px;line-height:1.75}
.about{padding:125px 7% 140px;display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.55fr);gap:90px;align-items:start}.portrait{position:sticky;top:40px;display:flex;justify-content:center}.portrait img{width:min(330px,80vw);aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:center 35%;border:1px solid rgba(255,255,255,.35)}.about-copy{max-width:820px}.about-copy h2{margin:22px 0 36px;font-size:clamp(44px,5vw,72px);line-height:1.02;letter-spacing:-2.5px;font-weight:500}.about-copy>p:not(.eyebrow):not(.availability){margin-top:18px;color:#f6e7ef;font-size:16px;line-height:1.75}.availability{margin-top:34px;padding-top:25px;border-top:1px solid var(--line-light);color:#f1cce2;font-size:13px}.text-link{display:inline-block;margin-top:25px;color:var(--pink-soft);font-size:14px;font-weight:600;text-decoration:none}.resume-placeholder{cursor:default;opacity:.68}
.contact{min-height:72vh;display:flex;flex-direction:column;justify-content:center}.contact h2{max-width:980px;margin-top:22px;font-size:clamp(56px,7vw,100px);line-height:.98;letter-spacing:-4px;font-weight:500}.contact h2 em{font-family:"Newsreader",serif;color:var(--pink-soft);font-weight:500}.contact-copy{max-width:590px;margin-top:36px;color:#f3dfe9;font-size:17px;line-height:1.7}.contact-links{display:flex;flex-wrap:wrap;gap:28px;margin-top:48px}.contact-links a,.contact-links span{color:var(--white);font-size:15px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:5px}.contact-links a:hover{color:var(--pink-soft)}.contact-links .resume-placeholder{border-bottom-color:rgba(255,255,255,.14)}.location{margin-top:70px;color:#d7bac9;font-size:13px}footer{padding:28px 7%;display:flex;justify-content:space-between;background:#250817;color:#d9bdca;font-size:12px}footer span:first-child{color:var(--white);font-size:18px;font-weight:700}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
.case-nav{position:relative;background:var(--berry-deep)}.case-hero{padding:150px 7% 90px;background:var(--berry);color:var(--white)}.case-hero h1{max-width:1050px;margin-top:20px;font-size:clamp(54px,7vw,104px);line-height:.98;letter-spacing:-4px;font-weight:500}.case-hero>p:last-of-type{max-width:760px;margin-top:34px;color:#f3dfe9;font-size:18px;line-height:1.7}.case-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.case-section{padding:100px 7%;background:var(--cream)}.case-section.alt{background:#fffafd}.case-layout{display:grid;grid-template-columns:.8fr 2fr;gap:70px}.case-layout h2{font-size:clamp(34px,4vw,58px);letter-spacing:-2px;font-weight:500}.case-copy p{margin-bottom:18px;color:var(--muted);font-size:16px;line-height:1.75}.case-copy ul{padding-left:20px;color:var(--muted);line-height:1.9}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:55px;background:var(--line-dark);border:1px solid var(--line-dark)}.fact{padding:28px;background:var(--white)}.fact span{display:block;color:#9f3f77;font-size:11px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}.fact strong{display:block;margin-top:10px;font-size:24px;font-weight:600}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:55px}.shot{overflow:hidden;border-radius:14px;border:1px solid var(--line-dark);background:#f0e5ea}.shot img{display:block;width:100%;height:auto}.shot.wide{grid-column:1/-1}.back-link{display:inline-block;margin-top:36px;color:#f1a3df;text-decoration:none;font-weight:600}
.service-page{background:var(--cream)}.service-page-hero{padding:150px 7% 90px;background:var(--berry);color:var(--white)}.service-page-hero h1{max-width:900px;margin-top:20px;font-size:clamp(54px,7vw,100px);line-height:.98;letter-spacing:-4px;font-weight:500}.service-detail{padding:95px 7%;display:grid;grid-template-columns:.75fr 1.65fr;gap:70px;border-bottom:1px solid var(--line-dark);scroll-margin-top:20px}.service-detail .number{color:#a44479;font-size:13px;font-weight:700}.service-detail h2{font-size:clamp(36px,4.6vw,65px);line-height:1.05;letter-spacing:-2px;font-weight:500}.service-detail p{margin-top:22px;color:var(--muted);line-height:1.75}.service-detail ul{margin:25px 0 0 20px;color:var(--muted);line-height:1.9}.service-detail a{display:inline-block;margin-top:28px;color:#a83f7d;font-weight:600;text-decoration:none}
@media(max-width:800px){.navbar{padding:22px 5%}.navbar nav{gap:14px}.navbar nav a{font-size:11px}.hero{padding:140px 6% 70px}.hero h1,.case-hero h1,.service-page-hero h1{letter-spacing:-2px}.hero-copy{font-size:16px}.projects,.services,.contact{padding:90px 6%}.project-row,.service-grid,.split-heading,.approach,.about,.case-layout,.service-detail{grid-template-columns:1fr}.project-row{gap:30px;padding:48px 0}.project-title h3{font-size:36px;letter-spacing:-1.5px}.project-summary{margin-top:20px}.project-highlights{gap:12px 20px}.service-card{border-left:1px solid var(--line-light);border-bottom:0}.service-card:last-child{border-bottom:1px solid var(--line-light)}.split-heading{gap:30px}.approach{padding:90px 6%;gap:50px}.approach aside>p:last-child{margin-top:18px}.approach-main h2{letter-spacing:-2px}.two-copy{grid-template-columns:1fr;gap:24px;margin-top:42px}.about{padding:90px 6%;gap:55px}.portrait{position:static}.portrait img{width:220px}.contact h2{letter-spacing:-2px}.gallery{grid-template-columns:1fr}.shot.wide{grid-column:auto}.facts{grid-template-columns:1fr}.case-hero,.service-page-hero{padding:135px 6% 70px}.case-section,.service-detail{padding:75px 6%}.case-layout,.service-detail{gap:35px}footer{padding:25px 6%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.project-visual img{transition:none}}
