:root{--paper:#f7f6f3;--ink:#19191b;--pink:#ee3e86;--line:#d8d7d3;--muted:#66645f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--pink);outline-offset:4px}::selection{background:var(--pink);color:white}.skip{position:absolute;left:-1000px;top:10px;z-index:10;background:white;padding:10px}.skip:focus{left:10px}.announcement{height:34px;background:var(--ink);color:#fff;text-align:center;font-size:10px;letter-spacing:.17em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:25px}.spark{color:var(--pink);font-size:17px}.site-header{max-width:1480px;margin:auto;padding:24px 4.5%;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:19px;font-weight:900;line-height:.87;letter-spacing:-.065em;display:flex;flex-direction:column}.mark,.period{color:var(--pink)}nav{display:flex;align-items:center;gap:36px;font-size:12px;font-weight:700;letter-spacing:.02em}nav a:not(.nav-cta):hover,footer a:hover{color:var(--pink)}.nav-cta{border:1px solid var(--ink);padding:13px 18px;display:flex;gap:22px;align-items:center;transition:.2s}.nav-cta:hover{background:var(--ink);color:white}.hero{max-width:1480px;margin:auto;min-height:690px;display:grid;grid-template-columns:54% 46%;padding:36px 4.5% 92px}.hero-copy{align-self:center;position:relative;z-index:1;padding:36px 0 0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;line-height:1.5}.hero .eyebrow{display:flex;gap:12px;align-items:center}.line{display:inline-block;width:25px;height:1px;background:var(--pink)}h1,h2,h3,p{margin-top:0}h1,h2,.contact-card h3{font-weight:500;letter-spacing:-.085em;line-height:.94}h1{font-size:clamp(72px,7.7vw,128px);margin:40px 0 30px}h1 em,h2 em,.contact-card em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.105em}h1 em{color:var(--pink)}.hero-lede{max-width:470px;font-size:19px;line-height:1.5;letter-spacing:-.02em;margin-bottom:29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-width:215px;padding:18px 22px;font-size:12px;font-weight:800}.primary{background:var(--ink);color:white}.primary:hover{background:var(--pink)}.hero-note{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#77736f;margin:70px 0 0}.hero-portrait{width:min(100%,520px);margin:0 0 0 auto;align-self:center}
.portrait-frame{width:100%;aspect-ratio:1122 / 1402;overflow:hidden;background:#e9e8e5;border-radius:46% 46% 0 0}
.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.hero-portrait figcaption{border-left:4px solid var(--pink);padding:20px 10px 3px 24px;display:flex;flex-direction:column;gap:10px}
.caption-label{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--pink)}
.caption-line{font-family:Georgia,serif;font-size:clamp(27px,2.3vw,36px);line-height:1.1;letter-spacing:-.045em}
.caption-line em{color:var(--pink)}
.section-pad{padding:115px max(4.5%,calc((100vw - 1348px)/2))}.work{background:#fff}.section-heading{display:grid;grid-template-columns: 28% 47% 25%;gap:0;align-items:start;margin-bottom:78px}.section-heading .eyebrow,.about .eyebrow{color:var(--pink)}h2{font-size:clamp(55px,5vw,86px);margin-bottom:0}h2 em{color:var(--pink)}.section-heading>p:last-child{font-size:17px;line-height:1.5;max-width:260px;margin:7px 0 0 25px}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:28% 1fr 50px;border-bottom:1px solid var(--line);padding:31px 0;align-items:start}.service-num{font-family:Georgia,serif;font-style:italic;font-size:20px;color:var(--pink)}.service h3{font-size:27px;letter-spacing:-.045em;margin-bottom:9px}.service p{font-size:15px;line-height:1.45;color:var(--muted);margin:0}.service-arrow{text-align:right;font-size:24px}.fit-strip{background:#f4e5eb;margin-top:75px;padding:29px 36px;display:grid;grid-template-columns:17% 1fr auto;gap:15px;align-items:center}.fit-star{font-size:65px;color:var(--pink);line-height:1}.fit-strip p{font-size:16px;line-height:1.5;margin:0;max-width:670px}.fit-strip strong{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.fit-strip a{font-size:12px;font-weight:800;white-space:nowrap;border-bottom:1px solid var(--ink);padding-bottom:6px}.fit-strip a:hover{color:var(--pink);border-color:var(--pink)}.about{display:grid;grid-template-columns:1fr .82fr;gap:10%;align-items:start}.about-main h2{margin:44px 0 37px}.about-main>p:not(.eyebrow){font-size:18px;line-height:1.55;max-width:560px;color:#484746}.about-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:33px}.about-tags span{border:1px solid #bbb8b4;border-radius:50px;padding:10px 13px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.contact-card{background:var(--ink);color:#fff;min-height:590px;padding:35px;display:flex;flex-direction:column;justify-content:space-between;scroll-margin-top:30px}.contact-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.13em;font-weight:800}.contact-top span:last-child{font-size:25px;line-height:.6}.contact-card h3{font-size:clamp(48px,4.2vw,75px);margin:0 0 24px}.contact-card em{color:var(--pink)}.contact-card p{font-size:16px;line-height:1.45;max-width:340px;margin:0}.contact-action{border-top:1px solid #666;padding-top:22px;display:flex;flex-direction:column;gap:8px}.contact-label{font-size:10px;letter-spacing:.13em;color:var(--pink);font-weight:800}.contact-link{font-size:16px;color:#fff;display:inline-flex;align-items:center;gap:14px;width:fit-content;text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:6px}.contact-link:hover{color:var(--pink)}footer{background:var(--ink);color:#bbb9b6;border-top:1px solid #444;display:flex;align-items:center;justify-content:space-between;padding:28px 4.5%;font-size:11px;letter-spacing:.05em}footer a{color:white}@media(max-width:900px){.hero{grid-template-columns:1fr;padding-bottom:70px;gap:50px}.hero-copy{padding:15px 0 0}.hero-portrait{margin:0 auto}.section-heading{grid-template-columns:1fr 1fr}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:23px}.section-heading>p:last-child{margin:6px 0 0 20px}.about{gap:5%}.contact-card{min-height:550px}.section-pad{padding:85px 5%}}@media(max-width:640px){.announcement{font-size:8px;gap:10px}.site-header{padding:19px 5%}.wordmark{font-size:16px}nav{gap:12px}nav a:not(.nav-cta){display:none}.nav-cta{padding:11px 12px;gap:12px;font-size:11px}.hero{padding:30px 5% 65px;gap:44px}.hero .eyebrow{font-size:8px}h1{font-size:clamp(64px,15vw,90px);margin:32px 0 25px}.hero-lede{font-size:17px}.hero-note{margin-top:39px;font-size:9px}.hero-portrait{width:min(100%,480px)}.section-pad{padding:75px 5%}.section-heading{display:block;margin-bottom:46px}.section-heading .eyebrow{margin-bottom:27px}h2{font-size:clamp(51px,12vw,72px)}.section-heading>p:last-child{margin:25px 0 0;font-size:16px}.service{grid-template-columns:43px 1fr 22px;padding:25px 0}.service h3{font-size:22px}.service p{font-size:14px}.service-arrow{font-size:19px}.fit-strip{margin-top:52px;padding:27px;grid-template-columns:40px 1fr}.fit-star{font-size:35px}.fit-strip p{font-size:14px}.fit-strip a{grid-column:2;justify-self:start}.about{display:block}.about-main h2{margin:30px 0}.about-main>p:not(.eyebrow){font-size:16px}.contact-card{margin-top:65px;min-height:530px}.contact-card h3{font-size:60px}footer{gap:20px;flex-wrap:wrap}footer span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Service details */
.service{display:block;padding:0}
.service-summary{display:grid;grid-template-columns:28% 1fr 50px;align-items:start;padding:31px 0;cursor:pointer;list-style:none}
.service-summary::-webkit-details-marker{display:none}
.service-summary:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.service-intro{display:flex;flex-direction:column;gap:9px}
.service-intro strong{font-size:27px;letter-spacing:-.045em;line-height:1.15}
.service-intro>span{font-size:15px;line-height:1.45;color:var(--muted)}
.service-toggle{text-align:right;font-size:29px;line-height:1;font-weight:300;transition:transform .2s ease,color .2s ease}
.service-summary:hover .service-intro strong,.service-summary:hover .service-toggle{color:var(--pink)}
.service[open] .service-toggle{transform:rotate(45deg);color:var(--pink)}
.service-detail{margin-left:28%;padding:28px 50px 40px 0;border-top:1px solid #e8e6e3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.service-detail h4{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--pink);margin:0 0 12px}
.service-detail p{font-size:14px;line-height:1.5;margin:0}
@media(max-width:900px){.service-detail{grid-template-columns:1fr 1fr;gap:22px}}
@media(max-width:640px){.service-summary{grid-template-columns:43px 1fr 22px;padding:25px 0}.service-intro strong{font-size:22px}.service-intro>span{font-size:14px}.service-toggle{font-size:24px}.service-detail{margin-left:43px;padding:22px 0 32px;grid-template-columns:1fr;gap:19px}.service-detail h4{margin-bottom:5px}.service-detail p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.service-toggle{transition:none}}
