:root{--cream:#f2f0e6;--green:#343f2e;--olive:#727b5b;--brown:#342d26}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:75px}body{margin:0;background:var(--cream);color:var(--brown);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{position:fixed;z-index:20;top:0;width:100%;height:74px;padding:0 4%;display:flex;justify-content:space-between;align-items:center;background:rgba(242,240,230,.95);border-bottom:1px solid #342d261a}.wordmark{font-size:18px;font-weight:700;letter-spacing:-.8px}#menuToggle{border:0;background:none;width:40px;height:40px;display:flex;flex-direction:column;justify-content:center;gap:6px}#menuToggle span{height:1px;width:26px;background:var(--brown);transition:transform .2s}body.menu-open #menuToggle span:first-child{transform:translateY(3.5px) rotate(45deg)}body.menu-open #menuToggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}#menu{position:fixed;inset:74px 0 0;background:var(--green);color:var(--cream);z-index:19;padding:7vh 9vw}.menu-inner{max-width:900px;margin:auto}.menu-inner>a{display:flex;justify-content:space-between;font-family:Georgia,serif;font-size:clamp(40px,7vw,88px);padding:20px 0;border-bottom:1px solid #f2f0e640}.menu-inner small{font:12px Arial;align-self:center}.menu-inner p{margin-top:50px;font-size:12px}.hero{height:100svh;min-height:700px;max-height:1200px;position:relative;background:#354f39;color:var(--cream);overflow:hidden;margin-top:74px}.hero-image{position:absolute;right:0;top:0;width:66%;height:100%;object-fit:cover;object-position:center 42%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#2d422eef 0%,#2d422e90 28%,transparent 63%);pointer-events:none}.hero-title{position:relative;z-index:1;padding:7vh 0 0 6vw}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.065em;font-size:clamp(65px,10vw,165px);line-height:.94;margin:0 0 35px}em{font-weight:400}h1 em{display:inline-block;padding-left:7vw}.hero-label{font-size:11px;font-weight:600;letter-spacing:2px;padding:11px 15px;background:var(--cream);color:var(--green)}.hero-bottom{position:absolute;bottom:35px;left:6%;right:4%;display:flex;justify-content:space-between;align-items:center;z-index:1;font-size:10px;letter-spacing:2px}.hero-bottom a span{font-size:25px;display:inline-block;margin-left:20px}.portfolio{padding:95px 4% 100px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:35px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px}h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(42px,6vw,85px);letter-spacing:-.055em;line-height:1.02;margin:20px 0}.section-top p{font-size:12px;line-height:1.6}.filters{display:flex;gap:24px;margin-bottom:32px}.filters button{border:0;background:none;color:#6e6b60;padding:8px 0;border-bottom:1px solid transparent;font-size:11px;letter-spacing:.5px}.filters button.active{border-color:var(--green);color:var(--green)}.gallery{columns:3;column-gap:16px}.photo{display:block;width:100%;border:0;padding:0;margin:0 0 16px;background:transparent;break-inside:avoid;overflow:hidden}.photo img{width:100%;height:auto;display:block;transition:transform .4s}.photo:hover img{transform:scale(1.025)}.about{padding:80px 7%;display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#e5e6d9;align-items:center}.about-image img{width:100%;max-height:780px;object-fit:cover;display:block}.about-copy h2{font-size:clamp(45px,6vw,90px)}.about-copy p{max-width:340px;font-size:14px;line-height:1.8}.about-copy .intro{font-family:Georgia,serif;font-size:23px;line-height:1.5;margin:30px 0}.text-link{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;border-bottom:1px solid #342d2680;max-width:280px;padding:20px 0;margin-top:30px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:100px 7%;align-items:center;background:var(--green);color:var(--cream)}.contact img{width:100%;display:block}.contact-copy p{font-size:13px;line-height:1.7}.contact-status{padding-top:25px;border-top:1px solid #f2f0e630;margin-top:35px;color:#dadbcf}footer{padding:35px 4%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px}footer>a:first-child{font-size:15px;font-weight:700;letter-spacing:-.5px}dialog{padding:0;border:0;background:transparent;max-width:100vw;max-height:100svh;width:100vw;height:100svh;color:white}dialog::backdrop{background:rgba(16,21,15,.97)}dialog[open]{display:flex;align-items:center;justify-content:center}dialog img{max-width:85vw;max-height:88svh;object-fit:contain}dialog button{position:absolute;border:0;background:#1c241c99;color:white;width:44px;height:44px;font-size:25px}.close{right:20px;top:20px}.prev{left:15px}.next{right:15px}#counter{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:2px}:focus-visible{outline:2px solid #939f75;outline-offset:5px}@media(max-width:700px){header{height:60px;padding:0 18px}.wordmark{font-size:16px}#menu{top:60px;padding:8vh 7vw}.hero{margin-top:60px;min-height:600px;height:calc(100svh - 60px)}.hero-image{width:100%;object-position:53% center}.hero:after{background:linear-gradient(180deg,#24392466,transparent 50%,#24392477)}.hero-title{padding:32px 20px}h1{font-size:clamp(61px,16vw,110px);line-height:.95;margin-bottom:25px}h1 em{padding-left:20px}.hero-label{font-size:9px;letter-spacing:1.2px}.hero-bottom{left:20px;right:20px;bottom:25px;font-size:8px;letter-spacing:1px}.portfolio{padding:55px 12px 50px}.section-top{padding:0 8px;margin-bottom:20px}.section-top p{display:none}.section-top h2{margin-top:15px;font-size:47px}.filters{gap:22px;padding:0 8px;margin-bottom:20px}.gallery{columns:2;column-gap:8px}.photo{margin-bottom:8px}.about{padding:45px 20px;grid-template-columns:1fr;gap:35px}.about-image img{max-height:640px}.about-copy h2{font-size:64px}.contact{padding:55px 20px;grid-template-columns:1fr;gap:35px}.contact h2{font-size:61px}footer{padding:28px 20px;flex-wrap:wrap;font-size:9px}footer>a:first-child{width:100%;font-size:16px}dialog img{max-width:100vw;max-height:80svh}.prev{left:5px;bottom:25px}.next{right:5px;bottom:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}

/* Keep Rose's complete name in the space above the portrait. */
.hero-title{padding:30px 4vw 0;text-align:center}.hero-title h1{font-size:clamp(38px,6.7vw,106px);letter-spacing:-.055em;line-height:1.1;white-space:nowrap;margin:0 0 18px}.hero-image{top:170px;height:calc(100% - 170px);object-position:center 30%}.hero{background:#354f39}.hero:after{background:linear-gradient(90deg,#2d422ec0 0%,#2d422e40 28%,transparent 63%)}.about-copy p{max-width:470px}
@media(max-width:700px){.hero-title{padding:25px 14px 0}.hero-title h1{font-size:clamp(22px,6.8vw,46px);margin-bottom:14px}.hero-image{top:120px;height:calc(100% - 120px);object-position:53% 32%}.hero:after{background:linear-gradient(180deg,transparent 60%,#24392477)}.about-copy p{font-size:14px;line-height:1.85}}

.header-actions{display:flex;align-items:center;gap:20px}.booking-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:13px 22px;background:var(--green);color:var(--cream);font-size:11px;font-weight:600;letter-spacing:.6px;border:1px solid var(--green);transition:background .2s}.booking-button:hover{background:#4a583f}.contact-actions{margin-top:30px}.contact-booking{background:var(--cream);color:var(--green);border-color:var(--cream);min-width:190px}.contact-booking:hover{background:#dfe2d2}.contact-copy .booking-note{font-size:11px;color:#dadbcf;max-width:310px;margin:14px 0 25px}.contact-email,.instagram-link{display:block;width:fit-content;font-size:13px;line-height:1.7;padding:8px 0;border-bottom:1px solid #f2f0e640;overflow-wrap:anywhere}.instagram-link{margin-top:10px}.instagram-link:hover,.contact-email:hover{text-decoration:underline}@media(max-width:700px){.header-actions{gap:6px}.header-booking{padding:10px 11px;font-size:10px;gap:6px}.wordmark{font-size:14px}header{padding:0 12px}#menuToggle{width:34px}.contact-email,.instagram-link{font-size:13px}}@media(prefers-reduced-motion:reduce){.booking-button{transition:none}}
