@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--ink:#153f43;--paper:#fffdf8;--muted:#53696a;--line:#d6ded8;--accent:#ad612c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #ad612c;outline-offset:5px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;padding:15px;z-index:9}header{display:flex;align-items:center;justify-content:space-between;padding:27px 5%;gap:25px;border-bottom:1px solid var(--line)}.brand{font:500 23px/1.2 'Playfair Display',Georgia,serif;letter-spacing:2px;white-space:nowrap}.brand span{display:block;font:10px/2.6 'DM Sans',sans-serif;letter-spacing:3px}nav{display:flex;gap:30px;font-size:14px}.button{display:inline-block;background:var(--ink);color:white;padding:16px 24px;font-size:14px;font-weight:600;border:1px solid var(--ink);transition:background .2s}.button:hover{background:#246166}.button.small{padding:11px 17px}.hero{display:grid;grid-template-columns:1fr 1.12fr;min-height:660px;padding:35px 5% 45px;gap:6%}.hero-copy{padding:35px 0 15px;align-self:center}.eyebrow{font-size:12px;letter-spacing:2.2px;font-weight:600;margin:0 0 23px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;margin:0;line-height:1.1}h1{font-size:clamp(48px,5.3vw,79px);letter-spacing:-2px}em{font-weight:400;color:var(--accent)}.intro{font-size:17px;max-width:410px;margin:28px 0}.quiet{font-size:13px;color:var(--muted)}.hero-photo{min-height:590px;background:#e0e6e2 center/cover;border-radius:250px 250px 0 0;position:relative;overflow:hidden}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:70px 30px 25px;color:white;background:linear-gradient(transparent,#102f37c9);letter-spacing:3px;font-size:12px}.photo-caption span{display:block;font-size:14px;letter-spacing:0;margin-top:4px}.facts{display:grid;grid-template-columns:repeat(4,1fr);margin:0 5%;padding:25px 0 35px;border-bottom:1px solid var(--line);gap:20px}.facts div{border-right:1px solid var(--line);text-align:center}.facts div:last-child{border:0}.facts strong{font:36px 'Playfair Display',Georgia,serif;display:block}.facts span{font-size:13px;color:var(--muted)}.section{padding:90px 7%}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%}h2{font-size:clamp(34px,3.3vw,49px);letter-spacing:-1px}p{margin-top:0}.split p{color:var(--muted)}.text-link{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:6px;display:inline-block}.experiences{background:#eaf0eb}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}.section-heading>p{font-size:15px;color:var(--muted)}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.feature{border-top:1px solid #94aba2;padding-top:25px}.index{font-size:11px;letter-spacing:2px}.feature h3{font-size:28px;margin:22px 0 18px;line-height:1.25}.feature p{font-size:15px;color:var(--muted)}.amenity-line{display:flex;flex-wrap:wrap;gap:12px 30px;border-top:1px solid #c5d4cb;margin-top:30px;padding-top:25px;font-size:13px}.location{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.location p{max-width:460px;margin:28px 0;color:var(--muted)}address{font-style:normal;margin:25px 0;font-size:15px}.location-note{background:var(--ink);padding:55px 40px;color:white;border-radius:150px 150px 0 0;padding-top:100px}.location-note span{font-size:11px;letter-spacing:2px}.location-note h3{font-size:33px;margin-top:25px}.location-note p{color:#d6e2df;font-size:15px;margin-bottom:0}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}details{border-bottom:1px solid var(--line)}summary{padding:20px 35px 20px 0;cursor:pointer;font-size:16px;font-weight:500;list-style:none;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:3px;font-size:24px;top:13px}details[open] summary:after{content:'−'}details p{font-size:15px;color:var(--muted);padding-right:20px}.booking{background:var(--ink);color:white;text-align:center;padding:75px 20px}.booking h2{font-size:clamp(38px,4.7vw,64px)}.booking em{color:#dfbb88}.booking p:not(.eyebrow){margin:20px 0 28px;color:#d6e2df}.light{background:#fffdf8;color:var(--ink);border-color:#fffdf8}.light:hover{background:#dbe5dc}footer{padding:45px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}footer p{font-size:13px;margin:0}footer .brand{font-size:20px}@media(max-width:800px){header{padding:20px 5%;flex-wrap:wrap;gap:16px}nav{order:3;width:100%;justify-content:center;gap:25px}header .brand{font-size:19px}.button.small{font-size:12px;padding:9px}.hero{gap:30px;min-height:0;grid-template-columns:1fr;padding-top:0}.hero-copy{padding-top:30px}h1{font-size:56px}.hero-photo{min-height:430px;border-radius:180px 180px 0 0}.hero .intro{max-width:100%}.facts{grid-template-columns:1fr 1fr;row-gap:30px}.facts div:nth-child(2){border:0}.section{padding:55px 6%}.split,.location,.faq{grid-template-columns:1fr;gap:30px}.section-heading{display:block}.section-heading>p{margin-top:20px}.experience-grid{grid-template-columns:1fr;gap:22px}.feature h3{margin-top:12px}.location-note{border-radius:100px 100px 0 0;padding:70px 30px 35px}.booking{padding:55px 20px}footer{flex-direction:column;align-items:start}.eyebrow{font-size:11px}h2{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:48% center}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:0 5% 70px}.gallery figure{margin:0}.gallery img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover}.gallery figcaption{font-size:13px;color:var(--muted);margin-top:8px}@media(max-width:800px){.gallery{grid-template-columns:1fr;padding-bottom:40px}}

h1{font-size:clamp(42px,4.5vw,67px);letter-spacing:-1.7px}.quiet,.facts span,.text-link,footer p,.gallery figcaption,.amenity-line{font-size:14px}.brand span,.eyebrow,.index,.location-note span{font-size:12px}.feature p,details p,.location-note p{font-size:16px}@media(max-width:800px){h1{font-size:clamp(38px,8vw,58px)}header .button.small{font-size:14px}nav{flex-wrap:wrap}}

/* Photo-led sections: preserve complete room views. */
.hero-photo{border-radius:160px 160px 0 0;min-height:520px}.hero-img{object-position:45% center}.rooms-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}.gallery img,.feature-photo img,.wellness-gallery img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}.gallery a,.feature-photo,.wellness-gallery a{display:block}.feature-photo{margin-bottom:22px}.wellness-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:35px}.wellness-gallery figure{margin:0}.wellness-gallery figcaption{font-size:14px;margin-top:8px}.more-photos{margin:0 7% 55px;border-top:1px solid var(--line)}.more-photos>summary{padding:22px 40px 22px 0}.extra-gallery{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 0 30px}.gallery figcaption{line-height:1.5}img{max-width:100%}@media(max-width:1000px){.rooms-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.rooms-gallery,.wellness-gallery,.extra-gallery{grid-template-columns:1fr}.hero-photo{min-height:0;aspect-ratio:3/2;border-radius:65px 65px 0 0}.hero-img{object-fit:cover}.hero{gap:15px}.photo-caption{padding:35px 20px 16px}.feature-photo img{aspect-ratio:3/2}.rooms-gallery{gap:25px}.more-photos{margin-bottom:40px}.extra-gallery{padding:0 0 20px}}

/* Approved Pearl Retreat identity and editorial updates. */
:root{--ink:#65483e;--paper:#fffdf8;--muted:#73625a;--line:#ded2c9;--accent:#916b56}.brand{display:block;white-space:normal;width:185px;flex-shrink:0}.logo-image{display:block;width:100%;height:auto;mix-blend-mode:multiply}.hero-brand{max-width:440px;margin:0 0 25px}.hero-copy h1{font-size:clamp(30px,3.2vw,48px);line-height:1.18;letter-spacing:-.7px;max-width:510px}.hero-copy .eyebrow{margin-bottom:18px}.hero-copy{padding-top:15px}.button:hover{background:#876353}.experiences{background:#f3ece4}.feature{border-color:var(--line)}.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.facts span{display:block;max-width:235px;margin:8px auto 0;font-size:14px;line-height:1.5;padding:0 12px}.signature-heading span,.signature-heading em{display:block}.signature-heading span{font-size:clamp(28px,2.8vw,42px);line-height:1.25}.signature-heading em{font-size:clamp(36px,3.8vw,56px);line-height:1.15;margin-top:20px}.stay-story{font-size:18px;line-height:1.85}.location-note p,.booking p:not(.eyebrow){color:#f0e5da}.booking em{color:#e8c8a8}.light:hover{background:#efe1d3}.photo-caption{background:linear-gradient(transparent,#473027c9)}.rooms-gallery>figure:last-child:nth-child(3n+1){grid-column:span 2}.rooms-gallery>figure:last-child:nth-child(3n+1) img{aspect-ratio:2/1}@media(max-width:800px){header .brand{width:150px}.hero-brand{max-width:360px}.hero-copy h1{font-size:36px}.signature-heading span{font-size:30px}.signature-heading em{font-size:42px}}@media(max-width:700px){.experience-grid{grid-template-columns:1fr}.rooms-gallery>figure:last-child:nth-child(3n+1){grid-column:auto}.rooms-gallery>figure:last-child:nth-child(3n+1) img{aspect-ratio:3/2}.hero-brand{max-width:310px}.hero-copy h1{font-size:32px}.facts span{font-size:14px}.stay-story{font-size:17px}footer .brand{width:175px}}

/* Even gallery and clean header logo. */
header .brand{overflow:hidden}header .logo-image{clip-path:inset(9% 7% 14% 7%);transform:scale(1.14)}.rooms-gallery>figure:last-child:nth-child(3n+1){grid-column:auto}.rooms-gallery img,.rooms-gallery>figure:last-child:nth-child(3n+1) img{aspect-ratio:3/2}.rooms-gallery figure{margin:0}.hero-copy h1{font-size:clamp(38px,4.5vw,64px)}footer .brand{font-size:22px;line-height:1.3;letter-spacing:0}@media(max-width:700px){.hero-copy h1{font-size:40px}}
