:root{--rose:#a8665f;--rose2:#c58b83;--blush:#f4e6e1;--cream:#fbf8f5;--brown:#493532;--soft:#765c57;--line:#e5d6d0;--dark:#211b1a;--white:#fff;--shadow:0 25px 70px rgba(67,44,40,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--brown);font-family:Inter,Arial,sans-serif;line-height:1.65}img{display:block;width:100%;max-width:100%}a{text-decoration:none;color:inherit}.announcement{background:var(--brown);color:white;text-align:center;padding:9px;font-size:10px;letter-spacing:.2em}
header{height:78px;position:sticky;top:0;z-index:20;background:rgba(251,248,245,.95);backdrop-filter:blur(15px);border-bottom:1px solid #eee2dd;display:flex;align-items:center;justify-content:space-between;padding:0 6vw}.logo{display:flex;align-items:center;gap:11px}.monogram{width:43px;height:43px;border:1px solid var(--rose);border-radius:50%;display:grid;place-items:center;font:17px Georgia;color:var(--rose)}.logo-text b{display:block;font-size:12px;letter-spacing:.13em}.logo-text small{font-size:8px;letter-spacing:.22em;color:var(--rose)}
nav{display:flex;gap:28px;align-items:center;font-size:12px}nav a:hover{color:var(--rose)}.nav-btn{background:var(--rose);color:#fff;padding:10px 18px;border-radius:30px}.menu{display:none;border:0;background:none;font-size:25px}
.hero{max-width:1250px;margin:auto;min-height:720px;padding:75px 6vw;display:grid;grid-template-columns:1fr .82fr;gap:75px;align-items:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.24em;color:var(--rose);margin:0 0 17px}.hero h1,.section-head h2,.about h2,.story-copy h2,.closing h2,.contact h2{font:400 clamp(50px,6vw,85px)/1.04 Georgia,serif;margin:0}.hero h1 i,.section-head h2 i,.about h2 i,.story-copy h2 i,.closing h2 i,.contact h2 i{color:var(--rose);font-style:italic}.lead{font-size:17px;color:var(--soft);max-width:570px;margin:27px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;padding:14px 23px;border-radius:30px;font-size:12px;font-weight:700}.primary{background:var(--rose);color:#fff;box-shadow:0 12px 28px rgba(168,102,95,.2)}.primary:hover{background:#8e534d}.secondary{border:1px solid var(--line)}.mini-points{display:flex;gap:17px;flex-wrap:wrap;margin-top:25px;font-size:11px;color:var(--soft)}.hero-visual{position:relative}.hero-visual>img{height:650px;object-fit:cover;object-position:center top;border-radius:220px 220px 15px 15px;box-shadow:var(--shadow)}.hero-card{position:absolute;bottom:28px;left:-35px;background:#fff;padding:17px 23px;border-left:3px solid var(--rose);box-shadow:var(--shadow)}.hero-card strong{font:18px Georgia;display:block}.hero-card span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--rose)}
.statement{background:var(--rose);color:#fff;text-align:center;padding:65px 20px}.statement p{font:clamp(28px,4vw,49px)/1.15 Georgia;margin:0}.statement em{color:#f8ded8}
.services{max-width:1400px;margin:auto;padding:105px 6vw}.section-head{max-width:720px;margin-bottom:45px}.section-head h2{font-size:clamp(44px,5vw,68px)}.section-head>p:last-child{color:var(--soft);max-width:620px;margin-top:20px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-grid article{background:#fff;border:1px solid var(--line);padding:31px;min-height:275px;position:relative;transition:.25s}.service-grid article:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-grid article:nth-child(2){background:var(--brown);color:#fff}.service-grid article:nth-child(2) p,.service-grid article:nth-child(2) a{color:#ead8d3}.service-grid span{position:absolute;right:20px;top:18px;font-size:10px;color:var(--rose)}.service-grid h3{font:26px Georgia;margin:30px 0 12px}.service-grid p{font-size:13px;color:var(--soft);margin-bottom:20px}.service-grid a{font-size:11px;font-weight:700;color:var(--rose)}
.about{display:grid;grid-template-columns:.85fr 1fr;background:var(--blush);min-height:700px}.about-photo{min-height:700px}.about-photo img{height:100%;object-fit:cover;object-position:center top}.about-copy{padding:90px clamp(40px,8vw,115px);display:flex;flex-direction:column;justify-content:center}.about h2{font-size:clamp(45px,5vw,70px)}.about-copy p:not(.eyebrow){color:var(--soft);max-width:560px}.text-link{margin-top:15px;color:var(--rose);font-size:12px;font-weight:700}
.photo-story{max-width:1240px;margin:auto;padding:110px 6vw;display:grid;grid-template-columns:.8fr 1fr;gap:70px;align-items:center}.story-copy h2{font-size:clamp(42px,5vw,67px)}.story-copy>p:not(.eyebrow){color:var(--soft);margin:24px 0 30px}.story-photo img{height:650px;object-fit:cover;object-position:center;border-radius:15px;box-shadow:var(--shadow)}
.portrait-grid{max-width:1240px;margin:auto;padding:0 6vw 110px;display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.portrait{height:430px;overflow:hidden;position:relative}.portrait.large{height:560px}.portrait img{height:100%;object-fit:cover}.portrait:nth-child(2){height:560px}.portrait:nth-child(3){height:430px}.portrait:nth-child(4){height:430px}.portrait:nth-child(5){height:560px}.portrait:nth-child(6){height:430px}.dark .overlay{position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(40,24,22,.7));display:flex;flex-direction:column;justify-content:flex-end;padding:28px;color:#fff}.overlay span{font-size:9px;letter-spacing:.2em}.overlay strong{font:32px Georgia;line-height:1.1;margin-top:10px}
.closing{background:var(--brown);color:#fff;display:grid;grid-template-columns:1fr 1fr;min-height:650px}.closing-photo img{height:100%;min-height:650px;object-fit:cover;object-position:center top}.closing-copy{padding:80px clamp(40px,8vw,110px);display:flex;flex-direction:column;justify-content:center}.closing h2{font-size:clamp(45px,5vw,68px);color:#fff}.closing h2 i{color:var(--rose2)}.closing-copy>p:not(.eyebrow){color:#ead8d3;margin:25px 0 30px}.light{background:#fff;color:var(--rose)}
.contact{padding:100px 6vw;background:#efe0da}.contact-inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center}.contact h2{font-size:clamp(45px,5vw,67px)}.address{font-size:16px;color:var(--soft);margin:25px 0}.contact-links{display:flex;gap:18px;flex-wrap:wrap;color:var(--rose);font-size:12px;font-weight:700}.contact-box{background:#fff;padding:42px;box-shadow:var(--shadow);text-align:center}.contact-box span{display:block;font-size:9px;letter-spacing:.2em;color:var(--rose)}.contact-box strong{display:block;font:31px Georgia;margin:13px 0 25px}
footer{background:var(--dark);color:#ddd;padding:34px 6vw;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand b{display:block;font-size:10px;letter-spacing:.12em}.footer-brand small{font-size:7px;letter-spacing:.2em;color:var(--rose2)}footer>a{color:var(--rose2)}
.floating{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:27px;box-shadow:0 10px 30px #0003;z-index:30}
@media(max-width:900px){nav{gap:14px}.hero{grid-template-columns:1fr;min-height:auto}.hero-visual{max-width:600px;margin:auto;width:100%}.service-grid{grid-template-columns:repeat(2,1fr)}.about,.closing{grid-template-columns:1fr}.about-photo,.closing-photo{min-height:560px}.photo-story{grid-template-columns:1fr}.story-photo{max-width:600px}.portrait-grid{grid-template-columns:repeat(2,1fr)}.contact-inner{grid-template-columns:1fr}}
@media(max-width:650px){.announcement{font-size:8px}.menu{display:block}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:18px 6vw;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}nav.open{display:flex}.nav-btn{text-align:center}.hero{padding:50px 6vw 70px;gap:40px}.hero h1{font-size:54px}.hero-visual>img{height:560px}.hero-card{left:10px}.services,.photo-story{padding:75px 6vw}.service-grid{grid-template-columns:1fr}.about-copy,.closing-copy{padding:70px 8vw}.about-photo,.closing-photo{min-height:520px}.story-photo img{height:500px}.portrait-grid{padding:0 6vw 75px;grid-template-columns:1fr 1fr}.portrait,.portrait.large,.portrait:nth-child(n){height:330px}.portrait:nth-child(2),.portrait:nth-child(5){height:430px}.portrait:nth-child(6){grid-column:1/-1}.contact{padding:75px 6vw}.contact-box{padding:32px 20px}footer{flex-direction:column;align-items:flex-start}}
