
:root { --ink:#24332e; --cream:#f4f0e9; --sage:#839386; --gold:#bd9b69; --white:#fffdf9; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; } a { color:inherit; text-decoration:none; }
.site-header { position:fixed; z-index:50; top:0; left:0; width:100%; height:88px; display:flex; align-items:center; padding:0 4.5vw; color:white; border-bottom:1px solid rgba(255,255,255,.22); backdrop-filter:blur(12px); background:linear-gradient(180deg,rgba(23,40,34,.46),transparent); }
.brand { display:flex; align-items:center; gap:12px; min-width:230px; }.brand-mark { display:grid; place-items:center; width:39px; height:39px; border:1px solid rgba(255,255,255,.6); border-radius:50%; font:italic 25px Georgia,serif; }.brand strong,.brand small { display:block; }.brand strong { font:600 14px Georgia,serif; letter-spacing:.2em; }.brand small { margin-top:3px; font-size:8px; letter-spacing:.32em; text-transform:uppercase; opacity:.75; }
.nav { margin:auto; display:flex; gap:2.15vw; font-size:12px; }.nav a { opacity:.78; transition:.25s; }.nav a:hover { opacity:1; }.header-cta { min-width:176px; display:flex; justify-content:space-between; align-items:center; padding:13px 15px; border:1px solid rgba(255,255,255,.48); border-radius:2px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }.header-cta span { font-size:17px; }.menu-button { display:none; background:none; border:0; }
.hero { position:relative; min-height:100svh; padding:155px 7vw 72px; display:flex; align-items:center; background-size:cover; background-position:center 45%; color:white; overflow:hidden; }.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(22,40,34,.83) 0%,rgba(22,40,34,.58) 42%,rgba(22,40,34,.06) 77%),linear-gradient(0deg,rgba(15,28,24,.45),transparent 45%); }.hero-content { position:relative; z-index:2; width:min(690px,57vw); animation:rise .85s both; }
.eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 29px; font-size:10px; text-transform:uppercase; letter-spacing:.23em; }.eyebrow span { width:37px; height:1px; background:var(--gold); } h1 { margin:0; font:400 clamp(54px,7vw,105px)/.91 Georgia,serif; letter-spacing:-.045em; } h1 em { font-weight:400; color:#d8c4a5; }.hero-copy { max-width:575px; margin:30px 0 34px; font:300 16px/1.75 Arial,sans-serif; color:rgba(255,255,255,.82); }
.hero-actions { display:flex; gap:12px; }.button { display:inline-flex; align-items:center; gap:28px; padding:17px 20px; border-radius:2px; font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; transition:.25s; }.button span { font-size:17px; }.button.primary { background:var(--white); color:var(--ink); }.button.primary:hover { background:#d8c4a5; transform:translateY(-2px); }.button.secondary { border:1px solid rgba(255,255,255,.45); }.button.secondary:hover { background:rgba(255,255,255,.12); }
.hero-proof { display:flex; align-items:center; gap:16px; margin-top:42px; }.avatars { display:flex; }.avatars span { width:34px; height:34px; margin-right:-8px; display:grid; place-items:center; background:#cbb8a1; color:#35463f; border:2px solid rgba(255,255,255,.5); border-radius:50%; font-size:8px; }.hero-proof p { margin:0; font-size:9px; line-height:1.65; letter-spacing:.04em; text-transform:uppercase; color:rgba(255,255,255,.68); }.hero-proof b { font-size:12px; color:white; }.stars { color:#d7b47d; letter-spacing:1px; font-size:8px; }
.hero-card { position:absolute; z-index:2; right:4.5vw; bottom:62px; width:310px; padding:25px 25px 16px; background:rgba(33,52,45,.76); border:1px solid rgba(255,255,255,.2); backdrop-filter:blur(17px); animation:rise 1s .2s both; }.hero-card>p { margin:0 0 14px; color:#d5bd9a; font:italic 15px Georgia,serif; }.hero-card>div { display:grid; grid-template-columns:25px 1fr auto; gap:11px; align-items:center; padding:14px 0; border-top:1px solid rgba(255,255,255,.13); }.hero-card b { color:#cdb38d; font:400 10px Georgia,serif; }.hero-card span { font:14px Georgia,serif; }.hero-card small { display:block; margin-top:4px; font:8px Arial,sans-serif; color:rgba(255,255,255,.55); text-transform:uppercase; letter-spacing:.1em; }.hero-card i { font-style:normal; }.scroll-note { position:absolute; z-index:2; bottom:0; left:3.2vw; display:flex; flex-direction:column; align-items:center; gap:12px; font-size:7px; letter-spacing:.3em; }.scroll-note span { writing-mode:vertical-rl; }.scroll-note i { width:1px; height:35px; background:rgba(255,255,255,.5); }
@keyframes rise { from { opacity:0; transform:translateY(24px) } to { opacity:1; transform:none } }
@media (max-width:900px) { .site-header { height:74px; padding:0 22px; justify-content:space-between; }.brand { min-width:0; }.header-cta { display:none; }.menu-button { display:flex; width:42px; height:42px; flex-direction:column; justify-content:center; gap:7px; align-items:flex-end; z-index:3; }.menu-button span { width:26px; height:1px; background:#fff; }.menu-button span+span { width:18px; }.nav { position:fixed; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:26px; background:#24332e; opacity:0; pointer-events:none; transform:translateY(-12px); transition:.3s; font:28px Georgia,serif; }.nav.open { opacity:1; pointer-events:auto; transform:none; }.hero { min-height:820px; padding:128px 25px 54px; align-items:flex-start; background-position:61% center; flex-direction:column; }.hero-shade { background:linear-gradient(90deg,rgba(22,40,34,.88),rgba(22,40,34,.34)),linear-gradient(0deg,rgba(15,28,24,.7),transparent 55%); }.hero-content { width:100%; } h1 { font-size:clamp(51px,15vw,72px); }.hero-copy { font-size:14px; max-width:92%; }.hero-actions { flex-direction:column; align-items:stretch; }.button { justify-content:space-between; }.hero-proof { margin-top:28px; }.hero-card { position:relative; right:auto; bottom:auto; width:100%; margin-top:35px; padding:19px 20px 10px; }.scroll-note { display:none; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

.section { padding:120px 7vw; }.section-heading { display:grid; grid-template-columns:1.5fr .65fr; gap:80px; align-items:end; margin-bottom:58px; }.eyebrow.dark { color:#748178; }.eyebrow.dark span { background:#a58961; }.section h2,.philosophy h2,.results h2,.testimonials h2,.cta h2 { margin:0; font:400 clamp(46px,5.3vw,78px)/1 Georgia,serif; letter-spacing:-.04em; }.section h2 em,.philosophy h2 em,.results h2 em,.testimonials h2 em,.cta h2 em { font-weight:400; color:#a08764; }.section-heading>p { margin:0; padding-bottom:8px; color:#68736e; font-size:13px; line-height:1.75; }.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.service-card { border-bottom:1px solid #c9c5bb; padding-bottom:25px; }.service-image { position:relative; height:410px; background-size:cover; background-position:center; overflow:hidden; }.service-image:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(24,43,36,.28),transparent 45%); transition:.35s; }.service-card:hover .service-image:after { background:rgba(42,63,55,.08); }.service-card:hover .service-image { background-size:108%; }.service-image { transition:background-size .7s; }.service-image>span { position:absolute; z-index:2; top:18px; left:18px; color:white; font:13px Georgia,serif; }.service-image>a { position:absolute; z-index:2; right:18px; bottom:18px; width:43px; height:43px; display:grid; place-items:center; background:rgba(255,255,255,.9); border-radius:50%; transition:.25s; }.service-card:hover .service-image>a { transform:rotate(45deg); }.service-card h3 { margin:22px 0 10px; font:27px Georgia,serif; }.service-card p { margin:0; max-width:92%; color:#718078; font-size:12px; line-height:1.7; }
.philosophy { display:grid; grid-template-columns:1.08fr .92fr; min-height:820px; background:#e4ddd2; }.philosophy-image { position:relative; min-height:720px; background-size:cover; background-position:center; }.philosophy-image:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(26,46,39,.35),transparent 50%); }.philosophy-image>div { position:absolute; z-index:2; left:38px; bottom:36px; display:flex; align-items:center; gap:16px; color:white; }.philosophy-image b { font:52px Georgia,serif; }.philosophy-image span { padding-left:16px; border-left:1px solid rgba(255,255,255,.45); font-size:9px; line-height:1.5; letter-spacing:.12em; text-transform:uppercase; }.philosophy-copy { padding:95px 7vw 80px 6vw; }.philosophy-copy .lead { margin:30px 0 14px; font:italic 20px Georgia,serif; color:#8c7759; }.philosophy-copy>p:not(.eyebrow):not(.lead) { color:#68736e; font-size:12px; line-height:1.8; }.philosophy-copy ul { list-style:none; padding:10px 0; margin:24px 0; }.philosophy-copy li { display:grid; grid-template-columns:30px 1fr; padding:16px 0; border-top:1px solid rgba(67,82,75,.2); }.philosophy-copy li>span { grid-row:1/3; color:#9b805c; font:11px Georgia,serif; }.philosophy-copy li b { font:17px Georgia,serif; }.philosophy-copy li small { margin-top:5px; color:#788079; }.text-link { display:inline-flex; gap:32px; padding-bottom:9px; border-bottom:1px solid #526159; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.results { padding:110px 7vw 70px; background:#253831; color:white; overflow:hidden; }.results-head { display:grid; grid-template-columns:1.5fr .7fr; align-items:end; gap:80px; margin-bottom:55px; }.results-head>p { color:rgba(255,255,255,.58); font-size:12px; line-height:1.8; }.result-gallery { display:grid; grid-template-columns:1.45fr .75fr; gap:7vw; align-items:center; }.result-visual { overflow:hidden; }.result-track { display:flex; transition:transform .7s cubic-bezier(.68,0,.2,1); }.result-slide { min-width:100%; padding-right:10%; }.result-photo { position:relative; height:570px; background-size:cover; background-position:center; }.result-photo:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(20,35,30,.27),transparent 45%); }.result-photo>i { position:absolute; z-index:2; left:50%; top:0; height:100%; width:1px; background:rgba(255,255,255,.75); }.result-photo>i:after { content:'↔'; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:37px; height:37px; display:grid; place-items:center; border-radius:50%; background:white; color:#253831; font-style:normal; font-size:12px; }.result-photo>.before,.result-photo>.after { position:absolute; z-index:2; top:16px; padding:7px 10px; background:rgba(35,54,47,.63); font-size:8px; letter-spacing:.15em; }.result-photo>.before { left:16px; }.result-photo>.after { left:calc(50% + 16px); }.result-photo>b { position:absolute; z-index:2; right:20px; bottom:17px; font:38px Georgia,serif; color:rgba(255,255,255,.72); }.result-copy { animation:resultIn .55s both; }.result-tag { display:inline-block; margin-bottom:24px; padding:8px 11px; border:1px solid rgba(204,180,143,.45); color:#d1b790; font-size:8px; letter-spacing:.16em; text-transform:uppercase; }.result-copy h3 { margin:0; font:400 clamp(38px,4vw,60px)/1.02 Georgia,serif; letter-spacing:-.035em; }.result-copy h3 em { color:#d1b790; font-weight:400; }.result-copy>p { margin:25px 0; color:rgba(255,255,255,.62); font-size:12px; line-height:1.8; }.result-copy>small { display:block; margin-bottom:28px; color:#cbb58f; font-size:9px; text-transform:uppercase; letter-spacing:.09em; }.result-button { background:#f1ede6; color:#253831; }.result-controls { display:grid; grid-template-columns:44px 1fr auto 44px; align-items:center; gap:16px; margin-top:40px; }.result-controls button { width:44px; height:44px; border:1px solid rgba(255,255,255,.25); background:transparent; color:white; border-radius:50%; cursor:pointer; }.result-controls span { font:11px Georgia,serif; color:#d6c3a4; }.progress { height:1px; background:rgba(255,255,255,.18); }.progress i { display:block; height:1px; background:#d0b58c; transition:width .5s; } @keyframes resultIn { from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none} }
.testimonials { background:#f4f0e9; }.testimonials-top { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; margin-bottom:60px; }.testimonials-top>.eyebrow { align-self:start; }.testimonials-top h2 { grid-column:1/3; }.rating { display:flex; gap:13px; align-items:center; border-left:1px solid #c7c2b8; padding-left:28px; }.rating>b { font:48px Georgia,serif; }.rating>span { color:#b18d59; font-size:10px; letter-spacing:2px; }.rating small { display:block; margin-top:5px; color:#6c7771; font-size:8px; letter-spacing:.05em; text-transform:uppercase; }.quote-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.quote { position:relative; margin:0; padding:32px 28px 24px; background:#ece6dc; min-height:315px; display:flex; flex-direction:column; }.quote:nth-child(2) { background:#344a42; color:white; }.quote-mark { position:absolute; right:24px; top:8px; font:72px Georgia,serif; color:rgba(167,140,98,.22); }.quote blockquote { margin:30px 0; font:italic 17px/1.65 Georgia,serif; }.quote footer { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:17px; border-top:1px solid rgba(86,97,91,.18); }.quote footer>i { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:#b8a28a; color:white; font:9px Arial,sans-serif; }.quote footer p { margin:0; }.quote footer b,.quote footer small { display:block; font-size:10px; }.quote footer small { margin-top:4px; color:#849087; font-size:8px; }.quote footer>span { margin-left:auto; font:10px Georgia,serif; color:#9c8565; }
.cta { padding:120px 25px; text-align:center; background:linear-gradient(rgba(29,51,43,.86),rgba(29,51,43,.86)),url('../assets/images/facial.jpg') center/cover; color:white; }.cta .eyebrow { justify-content:center; }.cta>p:not(.eyebrow) { max-width:520px; margin:25px auto 30px; color:rgba(255,255,255,.7); font-size:13px; line-height:1.7; }
.footer-wrap { padding:70px 5vw 24px; background:#ede8df; }.footer-card { display:grid; grid-template-columns:1fr 1fr 1.05fr; gap:5vw; padding:60px; background:#263a33; color:white; border-radius:22px; box-shadow:0 30px 70px rgba(37,48,43,.14); }.footer-brand .brand { margin-bottom:27px; }.footer-brand>p { max-width:290px; color:rgba(255,255,255,.55); font-size:11px; line-height:1.8; }.socials { display:flex; gap:9px; margin-top:25px; }.socials a { width:32px; height:32px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; font-size:10px; }.footer-label { margin:0 0 20px; color:#c4a97e; font-size:8px; letter-spacing:.2em; }.footer-info h3 { margin:0 0 22px; font:27px/1.15 Georgia,serif; }.footer-info h3 em { color:#d4ba91; font-weight:400; }.footer-info ul { list-style:'✓  '; padding-left:14px; color:rgba(255,255,255,.6); font-size:9px; line-height:2.4; }.location { display:flex; align-items:center; gap:13px; margin-bottom:25px; }.location>span { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; }.location p { margin:0; }.location b,.location small { display:block; }.location b { font:17px Georgia,serif; }.location small { margin-top:4px; color:rgba(255,255,255,.5); font-size:8px; }.contact-line { display:flex; justify-content:space-between; align-items:center; padding:13px 0; border-top:1px solid rgba(255,255,255,.13); }.contact-line small { color:#bda57f; font-size:7px; }.contact-line b { font-size:9px; }.footer-button { margin-top:20px; display:flex; justify-content:space-between; background:#d7c19e; color:#263a33; }.footer-bottom { display:flex; justify-content:space-between; padding:22px 8px 0; color:#6c7771; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:900px) { .section { padding:80px 22px; }.section-heading,.results-head { grid-template-columns:1fr; gap:25px; }.service-grid,.quote-grid { grid-template-columns:1fr; }.service-image { height:420px; }.philosophy { grid-template-columns:1fr; }.philosophy-image { min-height:530px; }.philosophy-copy { padding:70px 24px; }.result-gallery { grid-template-columns:1fr; gap:38px; }.results { padding:80px 22px 55px; }.result-slide { padding-right:7%; }.result-photo { height:480px; }.result-copy h3 { font-size:45px; }.testimonials-top { grid-template-columns:1fr; gap:30px; }.testimonials-top h2 { grid-column:auto; }.rating { padding-left:0; border:0; }.footer-card { grid-template-columns:1fr; padding:38px 27px; }.footer-bottom { gap:15px; flex-direction:column; align-items:center; }.cta { padding:90px 22px; } }
@media (max-width:520px) { .section h2,.philosophy h2,.results h2,.testimonials h2,.cta h2 { font-size:43px; }.service-image { height:360px; }.result-photo { height:370px; }.result-slide { padding-right:12%; }.result-controls { grid-template-columns:42px 1fr auto 42px; gap:10px; }.quote { min-height:300px; }.footer-wrap { padding:45px 12px 18px; }.footer-card { border-radius:15px; }.footer-bottom span:nth-child(2) { display:none; } }
.brand-logo { width:175px; min-width:175px; height:58px; overflow:hidden; }
.brand-logo img { width:100%; height:100%; object-fit:contain; filter:brightness(.72) saturate(.68) sepia(.18); }
.service-grid { grid-template-columns:repeat(4,1fr); gap:20px; }
.professional-photo { background-position:center top; }
.footer-logo { width:210px; height:92px; min-width:0; overflow:hidden; }
.footer-logo img { width:100%; height:100%; object-fit:contain; filter:brightness(.78) saturate(.65) sepia(.18); }
@media (max-width:900px) { .service-grid { grid-template-columns:1fr; } .brand-logo { width:145px; min-width:145px; height:48px; } }
@media (max-width:520px) {
  .site-header { height:66px; padding:0 18px; }
  .brand-logo { width:124px; min-width:124px; height:42px; }
  .menu-button { width:36px; height:36px; }
  .menu-button span { width:23px; }
  .menu-button span + span { width:16px; }
  .hero { min-height:100svh; padding:96px 20px 28px; justify-content:center; background-position:60% center; }
  .hero-content { margin:auto 0; }
  .hero .eyebrow { margin-bottom:18px; font-size:8px; letter-spacing:.19em; }
  .hero .eyebrow span { width:28px; }
  .hero h1 { font-size:clamp(43px,12.4vw,52px); line-height:.93; }
  .hero-copy { margin:20px 0 22px; max-width:100%; font-size:12.5px; line-height:1.65; }
  .hero-actions { gap:9px; }
  .hero .button { padding:14px 17px; font-size:9px; }
  .hero-proof, .hero-card { display:none; }
}
