*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f5f0e9;color:#302a25;font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #aa6246;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.06;letter-spacing:-2.5px}h1{font-size:clamp(60px,6.7vw,108px);max-width:680px}h2{font-size:clamp(36px,4.2vw,68px)}h2 em{font-weight:400;color:#9b5b43}img{display:block;max-width:100%;object-fit:cover}em{font-family:Georgia,serif}header{display:flex;align-items:center;justify-content:space-between}.header{padding:21px 5%;border-bottom:1px solid #d9d0c5;gap:25px}.brand{display:flex;align-items:center;gap:13px;line-height:1.2}.brand img{border-radius:50%;width:54px;height:54px}.brand>span{font-size:27px;letter-spacing:4px}.brand small{display:block;font-size:8px;letter-spacing:1.8px;margin-top:7px}.header nav{display:flex;align-items:center;gap:32px;font-size:12px}.nav-cta{border-bottom:1px solid #9b5b43;padding:10px 0}.nav-cta span{padding-left:20px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:680px}.hero-copy{padding:60px 9% 28px 10%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;line-height:1.6}.hero .eyebrow{margin-bottom:28px;text-transform:uppercase}.heart{color:#9b5b43;font-size:24px;padding-left:15px}.intro{font-size:15px;max-width:390px;color:#776a5e;margin:27px 0 30px;line-height:1.9}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:#352b25;color:white;padding:16px 22px;font-size:12px;border:1px solid transparent;transition:background .2s}.button:hover{background:#91563f}.button span{font-size:21px;line-height:1}.under-link{font-size:11px;color:#75685c;margin-top:18px}.hero-bottom{font-size:8px;letter-spacing:1.3px;display:flex;gap:25px;margin-top:60px}.hero-visual{position:relative;min-height:680px;background:#d4bd9f}.hero-visual>img{width:100%;height:100%;position:absolute;object-position:center}.hero-visual:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0008);pointer-events:none}.image-caption{position:absolute;bottom:28px;left:30px;right:30px;z-index:1;display:flex;align-items:center;justify-content:space-between;color:white;font-size:9px;letter-spacing:1px}.image-caption span:first-child{font-family:Georgia;font-style:italic;font-size:22px;letter-spacing:0}.love-stamp{position:absolute;z-index:2;left:-55px;top:68%;background:#eee3d6;width:110px;height:110px;border-radius:50%;text-align:center;display:flex;flex-direction:column;justify-content:center;font-size:10px;line-height:1.4;transform:rotate(-12deg)}.love-stamp em{font-size:22px}.ribbon{display:flex;justify-content:center;align-items:center;gap:6vw;padding:25px;border-top:1px solid #d9d0c5;border-bottom:1px solid #d9d0c5;font-size:10px;letter-spacing:2px}.ribbon i{font-style:normal;font-size:20px;color:#9b5b43}.section{padding:100px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:50px}.section-heading .eyebrow,.story .eyebrow,.team .eyebrow{margin-bottom:24px}.section-heading>p{max-width:270px;font-size:13px;color:#776a5e}.service-grid{display:grid;grid-template-columns:repeat(3,1fr)}.service{padding:25px 34px 15px;border-left:1px solid #d9d0c5;display:flex;flex-direction:column}.service:first-child{border-left:0;padding-left:0}.service-number{color:#9b5b43;font-family:Georgia;font-style:italic;font-size:22px;margin-bottom:32px}.service h3{font-family:Georgia;font-size:29px;font-weight:400}.service-subtitle{font-size:12px;margin:15px 0;color:#9b5b43}.service>p:not(.service-subtitle){font-size:13px;color:#776a5e;line-height:1.9;max-width:330px}.service-foot{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:auto;padding-top:35px;font-size:11px}.service-foot small{display:block;color:#776a5e}.service-foot a{font-size:25px;border:1px solid #cbbdaf;border-radius:50%;width:42px;height:42px;text-align:center}.story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;background:#ece4d9}.story-art{position:relative}.story-art img{width:100%;aspect-ratio:1;max-height:580px}.vertical-note{position:absolute;writing-mode:vertical-rl;right:-28px;top:0;font-size:8px;letter-spacing:2px}.story-copy h2{font-size:clamp(36px,3.6vw,58px)}.story-copy>p:not(.eyebrow){font-size:14px;color:#75685c;margin-top:25px;line-height:1.9}.signature{font-family:Georgia;font-style:italic;font-size:26px;color:#9b5b43;margin:28px 0}.signature span{padding-left:10px}.text-link{font-size:12px;border-bottom:1px solid #ae8a71;padding-bottom:7px;display:inline-block;white-space:nowrap}.spa{background:#3b4438;color:#f5f0e9;padding:85px 9%;position:relative;overflow:hidden;display:grid;grid-template-columns:2fr 1fr;gap:15%;align-items:center}.spa-copy{position:relative;z-index:1}.spa h2{font-style:italic;margin:25px 0;max-width:650px}.spa-copy>p:not(.eyebrow){font-size:14px;color:#d3d8ce;max-width:540px;line-height:1.9;margin-bottom:30px}.light{background:#f0e7db;color:#3b4438}.spa-decoration{position:absolute;right:0;top:-180px;font-family:Georgia;font-size:700px;line-height:1;color:#ffffff06;transform:rotate(-15deg)}.spa-note{display:flex;flex-direction:column;gap:20px;position:relative}.spa-note span{font-size:11px;letter-spacing:7px;color:#d3d8ce}.spa-note em{font-size:32px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.photo-open{border:0;padding:0;display:block;width:100%;background:#dfd3c5;cursor:zoom-in;position:relative;overflow:hidden}.photo-open img{width:100%;aspect-ratio:4/5;transition:transform .4s}.photo-open:hover img{transform:scale(1.04)}.photo-open span{position:absolute;bottom:13px;right:15px;background:#f5f0e9;width:34px;height:34px;border-radius:50%;font-size:22px}.gallery figcaption{font-size:10px;padding-top:10px;color:#75685c}.team{border-top:1px solid #d9d0c5;display:grid;grid-template-columns:1fr 1fr;gap:10%}.team-list article{display:flex;align-items:center;gap:24px;border-bottom:1px solid #d9d0c5;padding:25px 0}.initial{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:#e9dfd1;font-family:Georgia;font-style:italic;font-size:40px;flex-shrink:0;color:#9b5b43}.team-list h3{font-family:Georgia;font-size:30px;font-weight:400}.team-list p{font-size:12px;color:#776a5e}.team-list .heart{margin-left:auto}.team-list img{border-radius:50%;flex-shrink:0}.contact{text-align:center;background:#e8dccc}.contact h2{font-size:clamp(52px,6vw,90px);margin:25px 0 32px}.phone{font-family:Georgia;font-size:clamp(27px,3vw,45px);border-bottom:1px solid #b99e84;padding-bottom:12px;display:inline-block}.phone span{padding-left:25px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);text-align:left;margin-top:65px;padding-top:35px;border-top:1px solid #cbb7a0;gap:35px;font-size:13px}.contact-grid .eyebrow{margin-bottom:15px}.contact-grid a:not(.eyebrow){display:inline-block;margin-top:5px}.contact-grid div:first-child a{font-size:11px;text-decoration:underline;text-underline-offset:4px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:35px 7%;font-size:11px}.footer-logo{font-size:25px;letter-spacing:4px}.footer-logo span{font-size:22px;color:#9b5b43}.preserve{white-space:pre-line}dialog{padding:0;border:0;background:transparent;max-width:94vw;max-height:94vh}dialog::backdrop{background:#151410e8}dialog img{max-height:90vh;max-width:90vw;object-fit:contain}#close-lightbox{position:fixed;right:22px;top:15px;border:0;background:#f5f0e9;border-radius:50%;width:43px;height:43px;font-size:30px;cursor:pointer}.skip{position:absolute;left:10px;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}@media(min-width:1500px){body{max-width:1800px;margin:auto}}@media(max-width:900px){.header nav{gap:18px}.header nav>a:not(.nav-cta){display:none}.hero{min-height:560px}.hero-visual{min-height:560px}.hero-copy{padding-top:40px}.hero h1{font-size:65px}.hero-bottom{margin-top:35px;flex-direction:column;gap:3px}.section{padding:70px 6%}.service{padding:22px}.service h3{font-size:25px}.section-heading>p{max-width:220px}.story{gap:8%}.team{gap:6%}.photo-grid{gap:14px}.ribbon{gap:4vw}.love-stamp{width:90px;height:90px;left:-45px}.spa{padding:65px 7%;gap:6%}}@media(max-width:600px){html{scroll-padding-top:20px}.header{padding:15px 5%}.brand>span{font-size:21px}.brand img{width:43px;height:43px}.brand small{font-size:6px;letter-spacing:1px}.nav-cta{font-size:10px}.nav-cta span{padding-left:5px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 7% 36px}.hero h1{font-size:68px;max-width:360px}.intro{margin:22px 0;font-size:14px}.hero .eyebrow{margin-bottom:20px}.hero-bottom{display:none}.hero-visual{min-height:440px}.love-stamp{top:-45px;left:auto;right:25px}.image-caption{left:20px;right:20px}.image-caption span:first-child{font-size:19px}.image-caption span:last-child{font-size:7px}.ribbon{gap:14px;padding:20px 10px;font-size:7px;letter-spacing:1px}.ribbon i{font-size:15px}.section{padding:60px 7%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:100%;margin-top:22px}.section-heading>.text-link{margin-top:22px}.service-grid{grid-template-columns:1fr}.service,.service:first-child{padding:26px 0;border-left:0;border-top:1px solid #d9d0c5}.service-number{margin-bottom:10px}.service h3{font-size:29px}.service-foot{padding-top:22px}.story{grid-template-columns:1fr;gap:38px}.story-art{margin-right:20px}.story-copy h2{font-size:42px}.spa{display:block;padding:60px 7%}.spa h2{font-size:47px}.spa-note{margin-top:40px;gap:6px}.spa-note span{font-size:9px}.spa-note em{font-size:26px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:17px 12px}.gallery figcaption{font-size:8px}.team{grid-template-columns:1fr;gap:25px}.contact h2{font-size:62px}.contact-grid{grid-template-columns:1fr;gap:28px;margin-top:45px}.contact-grid .eyebrow{margin-bottom:8px}footer{flex-wrap:wrap;gap:20px}footer p{width:60%}footer small{margin-left:auto}h2{letter-spacing:-1.5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}