@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&family=Lobster+Two:ital,wght@0,700;1,700&display=swap');
:root{--hand:'Caveat','Brush Script MT',cursive}
:root{--black:#0a0a0a;--white:#fff;--pink:#f3a6c2;--pale:#fdebf2;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--hand:'Patrick Hand','Comic Sans MS',cursive}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--black);background:var(--white);font-family:var(--sans);font-size:16px;line-height:1.55}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.ribbon{height:34px;background:var(--pink);overflow:hidden;white-space:nowrap;font-size:.7rem;font-weight:700;letter-spacing:.16em;display:flex;align-items:center}.ribbon div{min-width:max-content;animation:roll 28s linear infinite}@keyframes roll{to{transform:translateX(-50%)}}
.nav{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd}.logo{font:2.1rem/1 var(--serif);letter-spacing:-.06em}.logo span{color:var(--pink);font-family:var(--sans);font-size:1.1rem}.navlinks{display:flex;gap:30px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.tiny-cta{border-bottom:2px solid var(--pink);padding-bottom:4px;font:1.05rem var(--hand)}
.hero{overflow:hidden}.hero-grid{min-height:700px;display:grid;grid-template-columns:.91fr 1.09fr;align-items:center;gap:7vw}.hero-copy{position:relative;padding:70px 0}.kicker,.section-no{font-size:.72rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase}.hero h1,.section-head h2,.about h2,.process h2,.contact h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:.82;margin:25px 0}.hero h1{font-size:clamp(5.4rem,10.5vw,9.3rem)}em{font-weight:400;color:var(--pink)}.hero h1 em{font-family:var(--hand);display:block;font-size:.72em;line-height:.65;margin-left:14%;transform:rotate(-5deg)}.intro{max-width:480px;font-size:1.05rem;margin:45px 0 28px}.hero-actions{display:flex;align-items:center;gap:25px}.button{display:inline-block;padding:14px 20px;border:1.5px solid var(--black);font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:.2s}.button:hover{transform:translateY(-3px)}.button.pink{background:var(--pink)}.text-link{font:1.08rem var(--hand);border-bottom:1px solid}.doodle-heart{position:absolute;right:4%;top:8%;font:6rem/1 var(--hand);color:var(--pink);transform:rotate(13deg)}.note{position:absolute;right:-8%;bottom:13%;font:1.1rem/1.05 var(--hand);transform:rotate(-8deg)}
.hero-visual{position:relative;height:620px;margin-top:38px}.portrait{position:absolute;inset:0 30px 0 0;margin:0;background:#ddd;overflow:hidden}.portrait img{object-position:center 22%}.pink-shadow{position:absolute;inset:24px 0 -24px 30px;background:var(--pink)}.polaroid-label{position:absolute;left:-18px;bottom:32px;background:white;border:1px solid var(--black);padding:11px 22px;font:1.25rem var(--hand);transform:rotate(-5deg)}.round-stamp{position:absolute;right:-18px;top:45px;width:142px;aspect-ratio:1;border-radius:50%;background:var(--black);color:white;border:6px solid var(--pink);display:grid;place-content:center;text-align:center;font-size:.67rem;font-weight:700;letter-spacing:.12em;line-height:1.7;transform:rotate(9deg)}
section{padding:105px 0}.about{background:var(--pale)}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}.filmstrip{position:relative;background:var(--black);padding:48px 20px;display:grid;grid-template-columns:1fr 1fr;gap:12px;transform:rotate(-2deg);box-shadow:18px 18px 0 var(--pink);height:570px}.filmstrip img{min-width:0}.film-hole-row{position:absolute;top:13px;left:12px;right:12px;height:17px;background:repeating-linear-gradient(90deg,#fff 0 16px,transparent 16px 29px)}.film-hole-row.bottom{top:auto;bottom:13px}.about h2,.section-head h2{font-size:clamp(4rem,8vw,7.2rem)}.about h2 em,.section-head h2 em,.process h2 em,.contact h2 em{font-family:var(--hand);display:inline-block;transform:rotate(-3deg)}.about-copy p{max-width:575px}.signature{font:2.5rem var(--hand);color:#ce5f88;transform:rotate(-5deg);margin:18px 0}.identity-line{display:flex;flex-wrap:wrap;gap:12px}.identity-line span{border:1px solid;padding:7px 11px;font-size:.68rem;letter-spacing:.1em;font-weight:700}
.moodboard{background:var(--black);color:white}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-head>p{max-width:420px;margin:0 0 8px}.section-head.light em{color:var(--pink)}.editorial-grid{display:grid;grid-template-columns:1.1fr .85fr .85fr;grid-auto-rows:290px;gap:14px}.tile{position:relative;margin:0;overflow:hidden}.tile.tall{grid-row:span 2}.tile.wide{grid-column:span 2}.tile figcaption{position:absolute;left:0;bottom:0;background:white;color:black;padding:8px 12px;font-size:.66rem;letter-spacing:.12em;font-weight:700}.quote-card{background:var(--pink);color:var(--black);padding:28px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(1deg)}.quote-card>span{font:5rem/1 var(--serif)}.quote-card p{font:1.45rem/1.15 var(--hand);margin:0}.quote-card b{font-size:.66rem;letter-spacing:.15em}
.services{background:white}.scribble{font:1.3rem/1.05 var(--hand);transform:rotate(5deg);color:#c95d86}.service-list{border-top:1px solid}.service-list article{display:grid;grid-template-columns:70px 1fr 1fr;gap:30px;align-items:center;padding:28px 0;border-bottom:1px solid}.service-list article>span{font:1.5rem var(--serif);color:#c95d86}.service-list h3{font:clamp(2rem,4.6vw,4rem)/1 var(--serif);font-weight:400;margin:0}.service-list p{margin:0;max-width:440px}.service-list article:hover{background:var(--pale)}
.process{background:var(--pale)}.process-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}.phone-shot{height:680px;position:relative;transform:rotate(2deg);box-shadow:-20px 20px 0 var(--black)}.phone-shot span{position:absolute;right:-40px;top:35px;background:white;border:1px solid;padding:8px 18px;font:1.2rem var(--hand);transform:rotate(-8deg)}.process h2{font-size:clamp(4.5rem,8.5vw,8rem)}.process-copy ol{list-style:none;padding:0;margin:35px 0 0;border-top:1px solid}.process-copy li{display:grid;grid-template-columns:170px 1fr;gap:25px;padding:19px 0;border-bottom:1px solid}.process-copy li b{font-family:var(--serif);font-size:1.25rem;font-weight:400}
.contact{background:var(--pink);text-align:center;padding-bottom:72px}.contact-inner{position:relative}.hand-note{font:1.5rem var(--hand);transform:rotate(-3deg);margin:25px 0 -6px}.contact h2{font-size:clamp(5rem,11vw,10.5rem)}.contact h2 em{color:white}.contact>div>p:not(.hand-note){max-width:520px;margin:25px auto}.button.dark{background:var(--black);color:white}.socials{display:flex;justify-content:space-between;gap:20px;border-top:1px solid;margin-top:70px;padding-top:22px;font-size:.68rem;font-weight:700;letter-spacing:.13em}footer{background:var(--black);color:white;padding:24px 0;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}footer .wrap{display:flex;justify-content:space-between}
@media(max-width:760px){.wrap{width:min(100% - 28px,1180px)}.nav{height:72px}.navlinks{display:none}.tiny-cta{font-size:.9rem}.hero-grid,.about-grid,.process-grid{grid-template-columns:1fr}.hero-grid{gap:0}.hero-copy{padding:62px 0 25px}.hero h1{font-size:clamp(4.5rem,23vw,7rem)}.doodle-heart{right:0;top:5%;font-size:4rem}.note{display:none}.hero-visual{height:490px;margin:15px 0 40px}.portrait{right:12px}.pink-shadow{left:14px}.round-stamp{width:105px;right:-2px;top:20px;font-size:.52rem}.polaroid-label{left:-2px}.hero-actions{gap:16px}.filmstrip{height:480px;box-shadow:10px 12px 0 var(--pink)}section{padding:76px 0}.section-head{display:block}.section-head>p,.scribble{margin-top:25px}.editorial-grid{grid-template-columns:1fr 1fr;grid-auto-rows:235px}.tile.tall{grid-row:span 1}.tile.wide{grid-column:span 1}.quote-card p{font-size:1.15rem}.service-list article{grid-template-columns:40px 1fr}.service-list p{grid-column:2}.phone-shot{height:520px;box-shadow:-10px 12px 0 var(--black)}.phone-shot span{right:-4px}.process-copy{padding-top:40px}.process-copy li{grid-template-columns:1fr;gap:6px}.socials{display:grid;grid-template-columns:1fr 1fr;text-align:left}.contact h2{font-size:clamp(4.3rem,19vw,7rem)}footer .wrap{flex-direction:column;gap:8px}}
