:root{--white:#fff;--ink:#191919;--pink:#c90062;--muted:#62615f;--line:#deddda;--wash:#f7f6f4;--display:Didot,'Bodoni MT','Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--white);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}::selection{background:#ffd3e7;color:#191919}a{color:inherit;text-decoration:none}a:hover{color:var(--pink)}a:focus-visible{outline:2px solid var(--pink);outline-offset:6px}.wrap{width:calc(100% - 112px);max-width:1512px;margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.header{display:flex;align-items:center;justify-content:space-between;padding:34px 0 28px;gap:30px}.brand{display:inline-flex;flex-direction:column;color:var(--pink);font:normal 46px/.95 var(--display);letter-spacing:-2px}.signature{font:italic 20px/1.3 var(--display);letter-spacing:0;align-self:flex-end;margin-right:3px;margin-top:4px}.header nav{display:flex;gap:38px;align-items:center;font-size:13px}.nav-contact{border-bottom:1px solid var(--ink);padding-bottom:6px}.nav-contact span{margin-left:24px}h1,h2,h3,p,figure{margin:0;font-weight:normal}.hero-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:62px 0 42px;gap:50px}h1{font:normal clamp(48px,5.35vw,85px)/1.06 var(--display);letter-spacing:-2.8px}.hero-intro{padding-bottom:5px;min-width:245px}.hero-intro p{font-size:15px;line-height:1.6;margin-bottom:24px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:8px}.text-link span{font-size:18px}.hero-image{height:clamp(400px,49vw,760px);position:relative;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}.hero-image figcaption{position:absolute;bottom:26px;left:28px;color:white;font-size:13px;text-shadow:0 1px 8px #000;letter-spacing:.02em}.image-note{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding-top:13px}.approach{display:grid;grid-template-columns:1fr 2.15fr;padding-block:128px 120px;gap:50px}.section-label{font-size:12px;line-height:1.5;padding-top:8px;color:var(--muted)}h2{font:normal clamp(36px,3.5vw,56px)/1.12 var(--display);letter-spacing:-1.3px}.prose{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:38px;max-width:770px}.prose p,.services p,.about-copy p{color:var(--muted);font-size:15px;line-height:1.85}.services{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-block:84px 100px;border-top:1px solid var(--line)}.services-heading .section-label{margin-bottom:32px}.services-heading p{max-width:350px;margin-top:28px}.service-list article{padding:28px 0;border-top:1px solid var(--line)}.service-list article:first-child{padding-top:0;border-top:0}.service-list article:last-child{padding-bottom:0}h3{font:normal 31px/1.2 var(--display);letter-spacing:-.5px;margin-bottom:12px}.service-list p{max-width:440px}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12%;padding-bottom:120px}.detail-image{position:relative;max-height:650px;overflow:hidden}.detail-image img{display:block;width:100%;height:600px;object-fit:cover}.detail-image figcaption{position:absolute;bottom:20px;left:23px;color:white;font-size:11px;text-shadow:0 1px 6px #000}.about-copy{max-width:430px}.about-copy .section-label{margin-bottom:30px}.about-copy p{margin-top:26px}.about-copy .text-link{margin-top:32px}.contact{background:var(--wash)}.contact-inner{padding-block:95px 105px;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.contact .section-label{margin-bottom:30px}.contact h2{font-size:clamp(50px,5.5vw,82px);letter-spacing:-2px}.contact-copy p{color:var(--muted);font-size:17px;margin-bottom:28px}.inquire{display:flex;justify-content:space-between;gap:48px;align-items:center;width:fit-content;background:var(--pink);color:white;padding:17px 24px;font-size:14px}.inquire:hover{background:#a90051;color:white}.inquire span{font-size:20px}.email{display:block;width:fit-content;margin-top:23px;font-size:13px;color:var(--muted)}footer{padding-block:45px;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>a:last-child{font-size:11px;color:var(--muted)}.footer-brand{font-size:34px;letter-spacing:-1px}.footer-brand .signature{font-size:17px}@media(min-width:1700px){.hero-heading{padding-top:80px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero-heading{gap:30px}h1{font-size:58px}.hero-intro{min-width:210px}.approach{grid-template-columns:1fr 2.5fr;gap:28px;padding-block:90px}.services,.about,.contact-inner{gap:8%}.detail-image img{height:530px}.prose{gap:24px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{padding:24px 0}.brand{font-size:36px;letter-spacing:-1.5px}.signature{font-size:17px}.header nav{gap:0;font-size:12px}.header nav a:not(.nav-contact){display:none}.nav-contact span{margin-left:15px}.hero-heading{display:block;padding:38px 0 28px}h1{font-size:clamp(40px,9vw,60px);letter-spacing:-1.7px;line-height:1.1}.hero-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:25px}.hero-intro p{font-size:12px;margin:0}.hero-intro .text-link{font-size:11px;gap:12px;max-width:155px;padding-bottom:4px}.hero-image{height:440px}.hero-image img{object-position:53% 50%}.hero-image figcaption{font-size:11px;bottom:17px;left:17px}.image-note{font-size:9px;gap:15px}.approach{display:block;padding-block:65px}.approach .section-label{margin-bottom:25px}h2{font-size:36px;letter-spacing:-1px}.prose{display:block;margin-top:25px}.prose p+p{margin-top:18px}.services{grid-template-columns:1fr;gap:35px;padding-block:55px 65px}.services-heading .section-label{margin-bottom:23px}.services-heading p{max-width:100%;margin-top:20px}.service-list article:first-child{border-top:1px solid var(--line);padding-top:26px}h3{font-size:29px}.about{grid-template-columns:1fr;gap:38px;padding-bottom:65px}.detail-image img{height:430px}.about-copy{max-width:100%}.about-copy .section-label{margin-bottom:22px}.about-copy p{margin-top:20px}.contact-inner{grid-template-columns:1fr;gap:35px;padding-block:60px}.contact h2{font-size:56px}.contact .section-label{margin-bottom:24px}.contact-copy p{font-size:15px;margin-bottom:22px}footer{flex-wrap:wrap;padding-block:30px;gap:28px}footer p{font-size:10px}footer>a:last-child{width:100%;border-top:1px solid var(--line);padding-top:18px}.footer-brand{font-size:31px}.footer-brand .signature{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.brand{color:#ed087b}
/* Final composition: keep the invitation open and the accent consistent. */
.contact-inner{grid-template-columns:1.35fr 1fr;gap:8%}
.inquire{background:#ed087b;color:#191919}
.inquire:hover{background:#c90062;color:#fff}
.hero-image{background:#e6e2dc}
.detail-image{background:#e6e2dc}
@media(min-width:701px){.about{grid-template-columns:.95fr 1fr}.about-copy{padding-bottom:12px}.contact h2{font-size:clamp(50px,5.1vw,78px)}}
@media(max-width:700px){.contact-inner{grid-template-columns:1fr}}
/* Mobile finish: readable details and comfortable touch targets. */
.header nav a,.text-link,.email,footer>a:last-child{min-height:44px;display:inline-flex;align-items:center}
.hero-image img{display:block}
.hero-image::after,.detail-image::after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.32));pointer-events:none}
.hero-image figcaption,.detail-image figcaption{z-index:1;right:17px}
@media(min-width:701px) and (max-width:1000px){h1{font-size:clamp(44px,5.8vw,58px)}}
@media(max-width:700px){
.header{gap:18px;padding-block:22px}
.hero-heading{padding-top:30px}
.hero-intro{align-items:flex-start;flex-direction:column;gap:12px;margin-top:24px;padding-bottom:0}
.hero-intro p{font-size:14px;line-height:1.65}
.hero-intro .text-link{font-size:13px;max-width:none;gap:28px;padding-bottom:6px}
.hero-image{height:clamp(350px,110vw,480px)}
.hero-image figcaption,.detail-image figcaption{font-size:12px;line-height:1.5}
.image-note{font-size:11px;line-height:1.5;align-items:flex-start;gap:22px}
.image-note span:last-child{text-align:right;max-width:100px;flex-shrink:0}
.prose p,.services p,.about-copy p{font-size:16px;line-height:1.75}
.detail-image img{height:auto;aspect-ratio:4/5;object-fit:cover}
.contact h2{font-size:clamp(42px,11.5vw,56px);letter-spacing:-1.5px}
.contact-copy p{font-size:16px}
.inquire{width:100%;min-height:56px;font-size:15px;padding:15px 22px}
.email{font-size:14px;margin-top:15px}
footer p{font-size:11px}
footer>a:last-child{padding-block:15px 0}
}
