@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#41232b;--paper:#f5f3ef;--lime:#b49b63;--line:#d8cdc8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a:hover{text-decoration:underline}header{padding:26px 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font-family:'Manrope',sans-serif;font-weight:800;font-size:40px;letter-spacing:-2px;line-height:.9;display:flex;align-items:flex-end;gap:10px}.logo span{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:2px;line-height:1.1;font-weight:500}nav{display:flex;align-items:center;gap:32px;font-size:14px}.nav-cta{border:1px solid var(--ink);border-radius:40px;padding:12px 24px}.hero{padding:25px 4.5% 0}.hero-top{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:600}.edition{font-size:14px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Manrope',sans-serif;font-weight:500;letter-spacing:-.065em;line-height:1.06}h1{font-size:clamp(65px,8.5vw,138px);margin:38px 0 46px}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}h1 em{position:relative}h1 em:after{content:'';position:absolute;left:0;bottom:3px;height:10px;width:100%;background:var(--lime);z-index:-1}.hero-image{height:520px;position:relative;background:var(--ink);overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero-caption{position:absolute;bottom:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:24px 30px;background:linear-gradient(transparent,rgba(0,0,0,.65));color:white}.hero-caption>span{font-family:Georgia,serif;font-style:italic;font-size:32px}.hero-caption a{font-size:14px;border-bottom:1px solid white}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:34px 0 68px}.hero-bottom p:first-child{font-size:23px;line-height:1.4}.hero-bottom p:last-child{max-width:430px;color:#695053}.section{padding:88px 4.5%;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:42px}h2{font-size:clamp(43px,5.2vw,76px);margin:20px 0 0}.section-heading>p{font-size:16px;max-width:400px;color:#695053}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px}.photo{padding:0;background:none;border:0;text-align:left;cursor:zoom-in;color:inherit}.photo.wide{grid-column:1/-1}.photo img{width:100%;height:420px;object-fit:cover;display:block}.photo.wide img{height:570px}.photo span{display:block;padding:15px 0;font-size:14px}.sample-note{font-size:12px;color:#695053;margin:16px 0 0}.approach{background:var(--ink);color:#fff}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin:20px 0}.approach h2{margin:0}.approach h2 em{color:var(--lime)}.intro{font-size:25px;line-height:1.4;max-width:500px}.approach-grid>div>p:not(.intro){color:#d8cec6;max-width:500px}.principles{margin-top:42px}.principles>div{display:grid;grid-template-columns:35px 1fr;gap:0 15px;border-top:1px solid #89696b;padding:21px 0}.principles span{font-size:12px;color:var(--lime)}h3{font-size:20px;font-weight:500;margin-bottom:10px}.principles p{grid-column:2;color:#d8cec6;margin-bottom:0;font-size:15px}.pill{font-size:12px;letter-spacing:1px;background:var(--lime);border-radius:30px;padding:12px 20px;white-space:nowrap}.service-row{display:grid;grid-template-columns:1fr 1.35fr .8fr;gap:8%;padding:30px 0;border-top:1px solid var(--line)}.service-row p{color:#695053}.service-row>span,.service-row>a{font-size:14px}.service-row>a{text-decoration:underline}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;border-top:1px solid var(--line);padding-top:40px;margin-top:10px}.steps span{font-size:12px;letter-spacing:1px}.steps p{margin:15px 0 0;max-width:280px}.inquiry{background:var(--lime);display:grid;grid-template-columns:1fr 1fr;gap:10%}.inquiry h2{margin-bottom:30px}.inquiry .small{font-size:13px;max-width:350px;margin-top:35px}form label{display:block;font-size:14px;margin-bottom:19px}input,textarea{width:100%;display:block;margin-top:8px;background:transparent;border:0;border-bottom:1px solid #927477;padding:10px 0;border-radius:0;color:var(--ink)}textarea{resize:vertical}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}.submit,.copy{background:var(--ink);color:white;border:0;padding:15px 26px;border-radius:30px;cursor:pointer}.submit{width:100%;margin-top:4px}.submit:hover,.copy:hover{background:#695053}#result{margin-top:25px}#summary{font-size:14px}#status{font-size:14px;margin-top:10px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:45px 4.5%}footer p,footer>span{font-size:12px;margin:0}dialog{border:0;padding:24px;background:var(--ink);color:white;max-width:90vw;max-height:92vh}dialog::backdrop{background:rgba(0,0,0,.8)}dialog img{display:block;max-width:100%;max-height:76vh;object-fit:contain}dialog p{margin:14px 0 0}#close{position:absolute;right:8px;top:0;font-size:32px;border:0;background:var(--ink);color:white;cursor:pointer}:focus-visible{outline:3px solid #4585f5;outline-offset:5px}@media(max-width:700px){header{padding:23px 6%}.logo{font-size:32px}.logo span{font-size:9px}nav{gap:15px}nav>a:not(.nav-cta){display:none}.nav-cta{padding:9px 17px;font-size:13px}.hero{padding:20px 6% 0}.edition{display:none}.eyebrow{font-size:11px;letter-spacing:1.1px}h1{font-size:clamp(56px,12vw,84px);margin:30px 0}.hero-image{height:390px}.hero-caption{padding:20px}.hero-caption>span{font-size:24px}.hero-caption a{font-size:12px}.hero-bottom{grid-template-columns:1fr;gap:10px;padding:28px 0 40px}.hero-bottom p:first-child{font-size:21px}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:25px}h2{font-size:43px}.gallery{gap:20px;grid-template-columns:1fr}.photo.wide{grid-column:auto}.photo img,.photo.wide img{height:300px}.approach-grid,.inquiry{grid-template-columns:1fr;gap:35px}.intro{font-size:22px}.service-row{grid-template-columns:1fr;gap:4px}.pill{display:inline-block;margin-top:25px}.steps{grid-template-columns:1fr;gap:25px}.steps p{max-width:none}.inquiry .small{margin-top:20px}.form-pair{gap:18px}footer{flex-wrap:wrap;padding:35px 6%}footer p{width:100%;order:3}dialog{max-width:95vw;padding:20px 12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Anima brand palette and original supplied wordmark */
header,footer{background:#41232b;color:#cdc5ba;border-color:#89696b}
.logo{position:relative;display:block;width:190px;height:86px;overflow:hidden;flex-shrink:0}
.logo img{position:absolute;width:182%;height:auto;max-width:none;left:-42%;top:-114%}
.nav-cta{border-color:#b49b63;color:#f5f3ef}
.nav-cta:hover{background:#b49b63;color:#41232b;text-decoration:none}
.hero h1 em{color:#695053}
h1 em:after{height:4px;bottom:0;z-index:0;opacity:.8}
.approach{color:#f5f3ef}
.approach h2 em,.principles span{color:#c9b17f}
.inquiry{background:#cdc5ba}
.inquiry h2 em{color:#695053}
.inquiry input,.inquiry textarea{border-color:#89696b}
.inquiry input::placeholder,.inquiry textarea::placeholder{color:#695053;opacity:1}
.pill{background:#41232b;color:#cdc5ba;border:1px solid #b49b63}
.submit,.copy{border:1px solid #b49b63}
footer{border-top:1px solid #b49b63}
@media(max-width:700px){.logo{width:145px;height:65px}header{gap:16px}footer .logo{width:165px;height:74px}}
/* Compact wordmark: show only the supplied anima lettering. */
.logo{width:160px;height:56px}
.logo img{top:-145%}
@media(max-width:700px){.logo,footer .logo{width:140px;height:49px}}

/* Navigation lockup: compact wordmark with a quiet service descriptor. */
header .brand-lockup{display:flex;align-items:center;gap:22px}
header .logo{width:120px;height:42px}
.brand-description{border-left:1px solid #89696b;padding-left:22px;font-size:14px;line-height:1.35;letter-spacing:.02em;color:#cdc5ba}
@media(max-width:700px){header{padding:22px 6%;flex-wrap:wrap;gap:20px}header .brand-lockup{gap:13px}header .logo{width:100px;height:35px}.brand-description{font-size:12px;padding-left:13px}.nav-cta{padding:8px 13px}header nav{margin-left:auto}}

/* Luxury editorial direction */
:root{--paper:#f7f5f1;--line:#ddd3cd;--lime:#b49b63}
body{font-weight:400}
header{padding:30px 6%;border-bottom:1px solid #75555b}
nav{gap:38px;font-size:14px}
.nav-cta{border-radius:0;padding:10px 23px;letter-spacing:.04em}
.brand-description{font-size:12px;letter-spacing:.08em;line-height:1.6}
.hero{padding:34px 6% 0}
.hero-top{border-bottom:1px solid var(--line);padding-bottom:16px}
.eyebrow{font-size:12px;font-weight:400;letter-spacing:.16em}
.edition{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:20px}
h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:1.04}
em{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:-.04em}
h1{font-size:clamp(72px,8.5vw,132px);text-align:center;margin:49px 0 57px;line-height:.96}
h1 em:after{display:none}
.hero h1 em{color:#41232b}
.hero-image{height:550px}
.hero-caption{padding:30px 38px;background:linear-gradient(transparent,rgba(35,20,23,.72))}
.hero-caption>span{font-family:'Cormorant Garamond',Georgia,serif;font-size:36px}
.hero-caption a{letter-spacing:.04em;font-size:12px;padding-bottom:3px}
.hero-bottom{padding:44px 3% 80px;gap:17%;grid-template-columns:1fr 1fr}
.hero-bottom p:first-child{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;line-height:1.2}
.hero-bottom p:last-child{font-size:16px;line-height:1.8}
.section{padding:100px 8%}
h2{font-size:clamp(50px,5.3vw,80px);margin-top:24px}
.section-heading{margin-bottom:54px;align-items:center}
.section-heading>p{font-size:15px;line-height:1.8;max-width:330px}
.gallery{grid-template-columns:1.15fr 1fr;gap:7%;align-items:start}
.photo:first-child img{height:520px}
.photo:nth-child(2){margin-top:110px}
.photo:nth-child(2) img{height:440px}
.photo span{font-size:12px;letter-spacing:.09em;padding:19px 0;border-bottom:1px solid var(--line)}
.sample-note{margin-top:28px}
.approach{position:relative;padding-top:110px;padding-bottom:110px}
.approach:before{content:'';position:absolute;left:8%;top:0;width:65px;height:2px;background:#b49b63}
.approach-grid{gap:14%;margin:28px 0 0}
.approach h2{line-height:1.06}
.intro{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;line-height:1.25}
.approach-grid>div>p:not(.intro){font-size:15px;line-height:1.85}
.principles{margin-top:40px}
.principles>div{padding:23px 0}
h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;font-weight:500}
.principles p{font-size:14px;line-height:1.8}
.pill{border-radius:0;background:transparent;color:var(--ink);font-size:11px;letter-spacing:.13em;padding:12px 18px}
.service-row{padding:34px 0;gap:7%;grid-template-columns:1fr 1.4fr .8fr}
.service-row p{font-size:15px;line-height:1.8}
.service-row>span,.service-row>a{font-size:13px}
.steps{padding-top:40px;gap:65px}
.steps span{font-size:11px;letter-spacing:.16em;color:#806541}
.steps p{font-size:15px;line-height:1.8}
.inquiry{background:#eee8e0;gap:12%;padding-top:105px;padding-bottom:105px}
.inquiry h2{font-size:clamp(49px,5vw,74px);margin-bottom:35px}
.inquiry h2 em{color:#695053}
form label{font-size:13px;margin-bottom:25px}
input,textarea{padding:12px 0}
.submit,.copy{border-radius:0;padding:17px 26px;letter-spacing:.06em;font-size:13px}
footer{padding:47px 6%;border-top:1px solid #b49b63}
footer p{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:21px}
footer>span{font-size:11px;letter-spacing:.04em}
@media(min-width:1600px){main,header,footer{max-width:1800px;margin:auto}}
@media(max-width:700px){header{padding:22px 6%}nav{gap:15px}.brand-description{font-size:11px}.nav-cta{padding:9px 13px;font-size:12px}.hero{padding:24px 6% 0}.hero-top{padding-bottom:12px}.eyebrow{font-size:11px;letter-spacing:.11em}h1{font-size:clamp(64px,13vw,90px);margin:40px 0}.hero-image{height:390px}.hero-caption{padding:22px}.hero-caption>span{font-size:29px}.hero-caption a{font-size:11px}.hero-bottom{grid-template-columns:1fr;gap:12px;padding:32px 0 48px}.hero-bottom p:first-child{font-size:29px}.section{padding:65px 6%}.section-heading{margin-bottom:35px}h2{font-size:53px}.gallery{grid-template-columns:1fr;gap:30px}.photo:first-child img,.photo:nth-child(2) img{height:350px}.photo:nth-child(2){margin-top:0}.approach:before{left:6%}.approach-grid{gap:38px}.intro{font-size:29px}.service-row{grid-template-columns:1fr;gap:5px;padding:26px 0}.steps{gap:28px}.inquiry{gap:35px}.inquiry h2{font-size:50px}footer{padding:38px 6%}footer p{font-size:20px}}

/* One continuous headline with an intentional mobile break. */
.hero h1{font-size:clamp(48px,6.1vw,108px);line-height:1.12;margin:49px 0 51px;letter-spacing:-.035em}
.hero h1>span{white-space:nowrap}
@media(max-width:700px){.hero h1{font-size:clamp(40px,9.8vw,64px);margin:35px 0 38px;line-height:1.05}.hero h1>span{display:block}}

/* Helvetica Neue supporting type and matching footer brand lockup. */
body{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
footer .brand-lockup{display:flex;align-items:center;gap:22px;flex-shrink:0}
footer .logo{width:120px;height:42px}
footer .brand-description{font-size:12px;letter-spacing:.08em;line-height:1.6}
@media(max-width:700px){footer .brand-lockup{gap:13px}footer .logo{width:100px;height:35px}footer .brand-description{font-size:11px;padding-left:13px}}

/* Refined navigation with a stacked signature and understated booking link. */
header{padding-top:25px;padding-bottom:25px}
header .brand-lockup{flex-direction:column;align-items:flex-start;gap:9px}
header .brand-description{border:0;padding:0;font-size:11px;letter-spacing:.085em;line-height:1.4;white-space:nowrap}
header nav{gap:27px}
header .nav-cta{padding:6px 0;border:0;border-bottom:1px solid #b49b63;color:#cdc5ba;font-size:14px;letter-spacing:0}
header .nav-cta:hover{background:transparent;color:#fff;border-bottom-color:#e1cd9e;text-decoration:none}
@media(max-width:700px){header{flex-wrap:nowrap;gap:16px;padding-top:22px;padding-bottom:22px}header .brand-lockup{gap:8px}header .brand-description{font-size:10px;letter-spacing:.04em}header nav{gap:0}header .nav-cta{font-size:13px;padding:5px 0;white-space:nowrap}}

/* Small MEDIA signature beside the navigation wordmark. */
header .brand-lockup{flex-direction:row;align-items:center;gap:17px}
header .brand-description{font-size:10px;letter-spacing:.28em;line-height:1;padding:0;margin-top:13px;color:#cdc5ba}
@media(max-width:700px){header .brand-lockup{gap:12px}header .brand-description{font-size:10px;letter-spacing:.2em;margin-top:10px}}

/* Standalone Anima wordmark with a compact, balanced header. */
header{padding:18px 8%}
header .brand-lockup{gap:0}
header .logo{width:138px;height:48.3px}
header nav{gap:25px}
@media(max-width:700px){header{padding:18px 6%}header .logo{width:114px;height:39.9px}header nav{gap:0}}

/* Service descriptor paired with Anima; location stands alone in the hero. */
header .brand-lockup{flex-direction:row;align-items:center;gap:22px}
header .brand-description{margin:0;padding:0 0 0 22px;border-left:1px solid #89696b;font-size:12px;line-height:1.5;letter-spacing:.04em;color:#cdc5ba}
@media(max-width:700px){header .brand-lockup{gap:12px}header .brand-description{padding-left:12px;font-size:11px;letter-spacing:0}header{gap:12px}header .nav-cta{font-size:12px}}
/* Prominent booking action in the brand's antique gold. */
header .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:#c9b17f;color:#41232b;border:1px solid #c9b17f;padding:11px 22px;font-size:14px;font-weight:500;letter-spacing:.025em;transition:background .18s,border-color .18s}
header .nav-cta:hover{background:#e0cba1;color:#41232b;border-color:#e0cba1;text-decoration:none}
@media(max-width:700px){header .nav-cta{padding:10px 13px;font-size:12px}header .logo{width:100px;height:35px}header .brand-lockup{gap:10px}header .brand-description{padding-left:10px}}
@media(prefers-reduced-motion:reduce){header .nav-cta{transition:none}}
