:root{--ink:#171522;--paper:#fffdf7;--purple:#8054d8;--pink:#f4568b;--orange:#ff6b31;--yellow:#ffd84d;--blue:#2f79df;--green:#6fcf97;--line:rgba(23,21,34,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}img{display:block;width:100%}a{color:inherit;text-decoration:none}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:rgba(255,253,247,.93);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.brand{width:112px;height:76px;overflow:hidden;display:flex;align-items:center}.brand img{transform:scale(1.38)}nav{display:flex;align-items:center;gap:2.2rem;font-weight:600}nav a{font-size:.94rem}.nav-cta{background:var(--ink);color:#fff;padding:.8rem 1.2rem;border-radius:100px}.menu-toggle{display:none;background:none;border:0;font:600 1rem inherit}.hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:1fr 1.08fr;overflow:hidden}.hero-copy{padding:7vw 5vw 5vw;display:flex;flex-direction:column;justify-content:center;background:var(--yellow);position:relative}.hero-copy:after{content:"";position:absolute;width:140px;height:140px;border:2px solid var(--ink);border-radius:50%;right:-70px;bottom:7%;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.76rem;display:inline-flex;align-items:center;gap:.7rem}.eyebrow:before{content:"";width:28px;height:3px;background:currentColor}.hero h1,.section h2{font-family:"Figtree",sans-serif;letter-spacing:-.06em;line-height:.91;margin:.75rem 0 1.5rem}.hero h1{font-size:clamp(4rem,7.4vw,8.7rem)}.hero h1 em{font-style:normal;color:var(--pink);-webkit-text-stroke:2px var(--ink);text-shadow:4px 4px 0 var(--ink)}.hero-copy>p{font-size:1.2rem;max-width:570px;line-height:1.55}.hero-actions{display:flex;align-items:center;gap:1.6rem;margin-top:1.2rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 1.45rem;border-radius:100px;font-weight:700;transition:.2s transform,.2s box-shadow}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--ink);color:white;box-shadow:5px 5px 0 var(--pink)}.text-link{font-weight:700;border-bottom:2px solid}.hero-image{position:relative;background:var(--purple);min-height:680px}.hero-image>img{height:100%;object-fit:cover}.hero-note{position:absolute;right:5%;top:8%;width:130px;height:130px;background:var(--pink);border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;text-align:center;font-weight:800;line-height:1.15;transform:rotate(8deg);box-shadow:7px 7px 0 var(--ink)}.numbers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.numbers>div{padding:2rem 5vw;display:flex;align-items:center;gap:1.2rem;border-right:1px solid var(--line)}.numbers>div:last-child{border:0}.numbers strong{font:800 clamp(2.1rem,4vw,4.2rem)/1 "Figtree"}.numbers span{line-height:1.25;font-weight:600}.section{padding:8rem 5vw}.section-heading{display:grid;grid-template-columns:1.1fr .65fr;align-items:end;gap:4rem;margin-bottom:3.5rem}.section-heading h2,.services h2{font-size:clamp(3.5rem,7vw,7.5rem)}.section-heading p{font-size:1.15rem;margin:0 0 1.6rem}.purple{color:var(--purple)}.orange{color:var(--orange)}.yellow{color:#a77800}.pink{color:var(--pink)}.featured{background:#efe8ff}.featured-grid{display:grid;grid-template-columns:1.5fr .75fr;grid-template-rows:1fr 1fr;gap:1.2rem}.featured-grid figure{margin:0;position:relative;overflow:hidden;border:2px solid var(--ink)}.featured-grid .feature-main{grid-row:span 2}.featured-grid img{height:100%;object-fit:cover;min-height:260px;transition:transform .5s}.featured-grid figure:hover img,.gallery figure:hover img{transform:scale(1.025)}figcaption{position:absolute;left:1rem;bottom:1rem;background:var(--paper);border:1px solid var(--ink);padding:.55rem .8rem;font-weight:700;line-height:1.2}.gallery{background:var(--paper)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:340px;gap:1.15rem}.gallery figure{margin:0;position:relative;overflow:hidden;background:#eee}.gallery figure.wide{grid-column:span 2}.gallery figure.tall{grid-row:span 2}.gallery img{height:100%;object-fit:cover;transition:transform .5s}.gallery figcaption{display:flex;flex-direction:column}.gallery figcaption span{font-size:.8rem;font-weight:500}.services{background:var(--orange);display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw}.services-intro{position:sticky;top:140px;align-self:start}.services-intro>p{font-size:1.16rem;max-width:480px}.services-list{border-top:2px solid var(--ink)}.services-list article{display:grid;grid-template-columns:56px 1fr;gap:1rem;padding:1.7rem 0;border-bottom:2px solid var(--ink)}.services-list article>span{font-weight:800}.services-list h3{font:800 clamp(1.6rem,3vw,2.7rem)/1.1 "Figtree";margin:0 0 .5rem}.services-list p{margin:0;max-width:620px}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:center;background:#b9e7cc}.about-image{position:relative}.about-image:before{content:"";position:absolute;inset:-18px 20px 20px -18px;background:var(--purple);border:2px solid var(--ink)}.about-image img{position:relative;min-height:560px;object-fit:cover;border:2px solid var(--ink)}.about h2{font-size:clamp(3rem,5.8vw,6rem)}.about-copy>p{font-size:1.08rem;max-width:720px}.about blockquote{font:700 1.45rem/1.35 "Figtree";margin:2rem 0 0;border-left:6px solid var(--pink);padding-left:1.2rem;max-width:620px}.budget{background:var(--purple);color:white;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.light{color:var(--yellow)}.budget h2{font-size:clamp(3.3rem,6vw,6.5rem)}.budget-title>p{font-size:1.15rem;max-width:580px}.button-light{margin-top:1.2rem;background:var(--yellow);color:var(--ink);box-shadow:6px 6px 0 var(--pink)}.budget-steps{list-style:none;padding:0;margin:0;border-top:1px solid rgba(255,255,255,.5)}.budget-steps li{display:grid;grid-template-columns:55px 1fr;gap:1rem;padding:1.5rem 0;border-bottom:1px solid rgba(255,255,255,.5)}.budget-steps li>span{width:38px;height:38px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font-weight:800}.budget-steps strong{font:700 1.25rem "Figtree"}.budget-steps p{margin:.25rem 0 0;color:rgba(255,255,255,.82)}footer{padding:3rem 5vw;display:grid;grid-template-columns:150px 1fr auto;gap:3rem;align-items:center;border-top:1px solid var(--line)}footer>img{height:115px;object-fit:contain}.footer-links{display:flex;gap:1.5rem;font-weight:700}footer p{margin:.15rem 0}.paint-stroke{display:none}
@media(max-width:900px){.site-header{height:76px}.brand{width:90px;height:62px}.menu-toggle{display:block}.site-header nav{position:absolute;left:0;right:0;top:76px;display:none;flex-direction:column;align-items:stretch;padding:1.2rem 5vw 1.6rem;background:var(--paper);border-bottom:1px solid var(--line);gap:1rem}.site-header nav.open{display:flex}.nav-cta{text-align:center}.hero{grid-template-columns:1fr}.hero-copy{padding:5rem 6vw 4rem}.hero-copy:after{display:none}.hero h1{font-size:clamp(3.8rem,16vw,6.7rem)}.hero-image{min-height:70vh}.numbers{grid-template-columns:1fr}.numbers>div{border-right:0;border-bottom:1px solid var(--line);padding:1.5rem 6vw}.section{padding:5rem 6vw}.section-heading,.services,.about,.budget{grid-template-columns:1fr;gap:3rem}.section-heading{align-items:start}.section-heading p{margin:0}.featured-grid{grid-template-columns:1fr;grid-template-rows:auto}.featured-grid .feature-main{grid-row:auto}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:300px}.gallery figure.wide{grid-column:span 2}.services-intro{position:static}.about-image img{min-height:420px}.budget{gap:4rem}footer{grid-template-columns:100px 1fr}.footer-links{grid-column:1/-1;flex-wrap:wrap}}
@media(max-width:560px){.hero-copy>p{font-size:1.05rem}.hero-image{min-height:58vh}.hero-note{width:108px;height:108px;font-size:.86rem}.numbers strong{font-size:2.5rem}.section-heading h2,.services h2{font-size:3.35rem}.gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-6vw;padding-right:6vw}.gallery figure,.gallery figure.wide,.gallery figure.tall{min-width:84vw;height:480px;scroll-snap-align:start}.featured-grid figure img{min-height:330px}.about-image img{min-height:390px}.footer-links{flex-direction:column;gap:.6rem}}
