 :root{--ivory:#fbf8f0;--paper:#fffdf8;--ink:#26372f;--muted:#637067;--brick:#a94e3a;--green:#315344;--sage:#e7eee6;--line:#e4dfd4}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.62 Arial,Helvetica,sans-serif}a{color:inherit}.wrap{width:min(1140px,calc(100% - 48px));margin:auto}.top{background:var(--green);color:#f7f3e8;font-size:12px;letter-spacing:.03em;padding:7px 0}.top .wrap{display:flex;justify-content:space-between}header{position:relative;z-index:5;background:#fbf8f0;border-bottom:1px solid var(--line)}.head{min-height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;gap:10px;align-items:center;text-decoration:none;font-size:18px}.brand i{display:grid;place-items:center;width:34px;height:34px;background:var(--brick);color:white;border-radius:50% 50% 50% 8px;font:20px Georgia}.nav{display:flex;align-items:center;gap:27px}.nav>a:not(.call),.services>button{border:0;background:none;font:14px Arial;text-decoration:none;padding:12px 0;cursor:pointer}.call{display:inline-flex;justify-content:center;align-items:center;min-height:47px;padding:0 21px;border-radius:999px;background:var(--brick);color:white;font-weight:bold;text-decoration:none;white-space:nowrap}.call:hover{background:#843a2d}.services{position:relative}.drop{position:absolute;left:-16px;top:100%;min-width:220px;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 15px 35px #27352d20;display:none}.drop a,footer .footgrid>div>a:not(.brand){display:block;padding:8px;text-decoration:none;font-size:14px}.services:hover .drop,.services:focus-within .drop,.services.is-open .drop{display:block}.hamb{display:none}.homehero,.servicehero,.simple{padding:55px 0;background:linear-gradient(130deg,#f3ebdc,#fbf8f0)}.two{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:55px}.homehero .two{grid-template-columns:.82fr 1.18fr}.homehero h1,.servicehero h1,.simple h1{font-size:clamp(38px,5vw,60px);line-height:1.04;letter-spacing:-.05em;max-width:14ch;margin:12px 0 20px}.servicehero h1{font-size:clamp(36px,4.6vw,54px);max-width:16ch}label{display:block;color:var(--brick);font-size:11px;letter-spacing:.14em;font-weight:bold;margin-bottom:12px}.homehero p:not(label),.servicehero p,.simple p{color:#58665d;max-width:55ch}.homehero figure,.servicehero figure{margin:0}.homehero img{height:440px;border-radius:44% 44% 18px 18px}.servicehero img{height:350px;border-radius:20px 72px 20px 20px}.homehero figcaption,.servicehero figcaption{font-size:12px;color:var(--muted);padding:7px}.homehero small,.servicehero small{display:block;color:var(--muted);font-size:12px;margin-top:12px}.section{padding:74px 0}.section h2,.mid h2,.closing h2{font-size:clamp(29px,3.7vw,42px);line-height:1.13;letter-spacing:-.04em;margin:0 0 14px}.section p{color:#59665d}.white{background:var(--paper)}.secthead{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.secthead>p{max-width:370px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.cards>a{background:var(--ivory);border:1px solid var(--line);border-radius:19px;min-height:211px;padding:24px;text-decoration:none;display:flex;flex-direction:column}.cards>a:nth-child(n+4){background:var(--sage)}.cards i{font-style:normal;font-size:11px;color:var(--brick);font-weight:bold}.cards h3{font-size:20px;line-height:1.2;margin:15px 0 7px}.cards p{font-size:14px;margin:0 0 14px}.cards b,.more{font-size:13px;color:#843a2d;margin-top:auto}.featurebox{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;background:#e9eee6;border-radius:23px;padding:45px 50px}.featurequote{border-left:1px solid #bdcbbf;padding:28px;text-align:center;font-size:35px;color:var(--brick)}.featurequote p{font:24px/1.3 Georgia;color:var(--green);max-width:15ch;margin:auto}.rooms{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.rooms article{border-top:2px solid var(--brick);padding:15px 6px 0 0}.rooms h3{font-size:17px;margin:0 0 7px}.rooms p{font-size:14px;margin:0}.photoextra img,.feature img{height:320px;border-radius:20px 20px 80px 20px;object-fit:cover}.photoextra h2{max-width:14ch}.faq{background:#f2eee4}.faqgrid{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px}.faqgrid details{border-bottom:1px solid #d8d4ca;padding:15px 0}.faqgrid summary{font-weight:bold;cursor:pointer}.faqgrid details p{font-size:14px;margin:9px 0 0}.opts{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.opts article{border-top:1px solid var(--line);min-height:150px;padding:22px 10px 18px 52px;position:relative}.opts article i{position:absolute;top:22px;left:5px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--sage);color:var(--green);font-size:12px;font-style:normal;font-weight:bold}.opts h3{font-size:18px;margin:0 0 7px}.opts p{font-size:14px;margin:0}.feature .call{margin-top:12px}.mid{background:#e9eee6;padding:40px 0}.midinner{display:flex;justify-content:space-between;align-items:center;gap:35px}.midinner p{margin:0;color:#5c6a60}.midinner h2{max-width:22ch}.mid .call,.closing .call{background:#f3d7c9;color:#723629}.closing{background:var(--green);color:white;padding:50px 0}.closing label{color:#edbba8}.closing p{color:#dce5dd}.simple h1{max-width:18ch}.prose{display:grid;grid-template-columns:1fr 1fr;gap:55px}.prose h2,.legalcopy h2{font-size:23px;margin-top:0}.prose p,.legalcopy p{color:#58665d}.legalcopy{max-width:830px}.legalcopy h2{margin:30px 0 9px}.footgrid{display:grid;grid-template-columns:1.35fr .9fr .8fr 1fr;gap:30px;padding:48px 0 36px}.footgrid p,.footgrid small{display:block;color:#68746b;font-size:12px;max-width:280px}.footgrid h3{font-size:13px;margin:0 0 10px}.footgrid>div>a:not(.brand){padding:4px 0!important;color:#667269}.footgrid .call{font-size:13px;min-height:42px;padding:0 16px}.legal{border-top:1px solid var(--line);padding:16px 0 10px}.legal p{font-size:10.5px;line-height:1.55;color:#687168;margin:0 0 10px}.footbottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:13px 0 18px;color:#737d75;font-size:11px}.footbottom a{text-decoration:none}.mobilecall{display:none}@media(max-width:850px){.nav{gap:17px}.rooms{grid-template-columns:1fr 1fr}.footgrid{grid-template-columns:1.1fr 1fr 1fr}.footgrid>div:last-child{grid-column:2/4}}@media(max-width:680px){body{padding-bottom:65px;font-size:15px}.wrap{width:calc(100% - 34px)}.top .wrap{justify-content:center}.top span{display:none}.head{min-height:67px}.hamb{display:flex;flex-direction:column;gap:5px;border:0;background:none;padding:10px}.hamb i{width:23px;height:2px;background:var(--ink)}.nav{display:none;position:absolute;left:0;right:0;top:100%;padding:10px 18px 18px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 10px 24px #27352d20;align-items:stretch;flex-direction:column;gap:0}.nav.is-open{display:flex}.nav>a:not(.call),.services>button{display:block;width:100%;text-align:left;padding:12px 3px}.services{width:100%}.drop{position:static;box-shadow:none;border:0;background:#f0f1e9;padding:4px 9px}.services.is-open .drop{display:block}.nav>.call{margin-top:9px}.homehero,.servicehero,.simple{padding:36px 0 42px}.two,.homehero .two{grid-template-columns:1fr;gap:25px}.homehero h1,.servicehero h1,.simple h1{font-size:clamp(35px,9.5vw,47px)}.homehero img{height:275px}.servicehero img{height:260px}.section{padding:53px 0}.secthead{display:block;margin-bottom:24px}.secthead>p{margin-top:10px}.cards{grid-template-columns:1fr 1fr;gap:10px}.cards>a{padding:16px;min-height:194px}.cards h3{font-size:17px}.cards p{font-size:12px}.featurebox{grid-template-columns:1fr;padding:28px 23px;gap:15px}.featurequote{border-left:0;border-top:1px solid #bdcbbf;padding:15px}.featurequote p{font-size:20px}.rooms{grid-template-columns:1fr 1fr;gap:20px 14px}.photoextra img,.feature img{height:250px}.faqgrid{grid-template-columns:1fr;gap:15px}.opts{grid-template-columns:1fr}.opts article{min-height:0;padding-bottom:20px}.midinner{align-items:flex-start;flex-direction:column;gap:20px}.mid h2,.closing h2{font-size:30px}.prose{grid-template-columns:1fr;gap:22px}.footgrid{grid-template-columns:1fr 1fr;gap:22px 14px;padding:34px 0 25px}.footgrid>div:first-child,.footgrid>div:last-child{grid-column:1/3}.legal p{font-size:10px}.mobilecall{display:block;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fbf8f0ed;padding:8px 15px;border-top:1px solid var(--line)}.mobilecall .call{width:100%;min-height:46px}}@media(max-width:380px){.wrap{width:calc(100% - 28px)}.cards{grid-template-columns:1fr}.rooms{grid-template-columns:1fr}.cards>a{min-height:165px}.footgrid{gap:18px 10px}}
/* Keep intrinsic photo and text widths inside responsive grid tracks. */
img,figure{min-width:0;max-width:100%}.homehero img,.servicehero img,.feature img,.photoextra img{display:block;width:100%;max-width:100%;min-width:0}.homehero figure,.servicehero figure,.two>*{min-width:0}.two,.homehero .two,.featurebox,.faqgrid,.prose{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.rooms{grid-template-columns:repeat(4,minmax(0,1fr))}.opts{grid-template-columns:repeat(2,minmax(0,1fr))}.footgrid{grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr) minmax(0,.8fr) minmax(0,1fr)}.homehero .two{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}.servicehero .two{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.homehero h1,.servicehero h1,.simple h1,.secthead h2,.section h2,label,p,figcaption{min-width:0;overflow-wrap:anywhere}@media(max-width:900px){.homehero .two,.servicehero .two{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:28px}.homehero img{height:380px}}@media(max-width:680px){.two,.homehero .two,.servicehero .two,.featurebox,.faqgrid,.prose{grid-template-columns:minmax(0,1fr)}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.rooms{grid-template-columns:repeat(2,minmax(0,1fr))}.opts{grid-template-columns:minmax(0,1fr)}.footgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:380px){.cards,.rooms{grid-template-columns:minmax(0,1fr)}}
@media(max-width:850px){.footgrid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr)}.footgrid>div:last-child{grid-column:2/4}}

/* Service page rhythm: concise cards, a distinct photo feature, and room notes. */
.service-options .opts{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.service-options .opts article{display:block;min-height:0;padding:20px 20px 19px 55px;background:var(--ivory);border:1px solid var(--line);border-radius:15px}.service-options .opts article i{left:15px;top:19px}.service-options .opts h3{font-size:17px;margin:0 0 5px}.service-options .opts p{font-size:13px;line-height:1.5;margin:0;color:#59665d}.service-body-photo{padding-top:58px;padding-bottom:58px}.service-body-photo .feature{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}.service-body-photo .feature>img{height:330px;object-fit:cover;border-radius:22px 22px 76px 22px}.service-body-photo .feature>div{background:#e9eee6;border-radius:20px;padding:30px}.service-body-photo .feature h2{font-size:clamp(27px,3vw,36px)}.service-body-photo .feature p{font-size:14px;line-height:1.65}.service-body-photo .feature .call{margin-top:9px}.service-rooms .secthead{margin-bottom:22px}.service-rooms .rooms{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.service-rooms .rooms article{padding:16px;background:var(--ivory);border:1px solid var(--line);border-top:2px solid var(--brick);border-radius:12px}.service-rooms .rooms h3{font-size:16px;margin:0 0 6px}.service-rooms .rooms p{font-size:13px;line-height:1.5;margin:0}.service-faq .faqgrid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.service-faq .faqgrid>div:first-child>label{margin-bottom:8px}.service-faq .faqgrid>div:first-child h2{font-size:31px}.service-faq .faqgrid details{padding:12px 0}.service-faq .faqgrid details p{font-size:13px;line-height:1.5}@media(max-width:900px){.service-body-photo .feature{gap:24px}.service-body-photo .feature>img{height:290px}.service-body-photo .feature>div{padding:23px}}@media(max-width:680px){.service-options .opts{grid-template-columns:minmax(0,1fr)}.service-body-photo .feature{grid-template-columns:minmax(0,1fr)}.service-body-photo .feature>img{height:245px}.service-body-photo .feature>div{padding:23px}.service-rooms .rooms{grid-template-columns:repeat(2,minmax(0,1fr))}.service-faq .faqgrid{grid-template-columns:minmax(0,1fr)}}@media(max-width:380px){.service-rooms .rooms{grid-template-columns:minmax(0,1fr)}}
