/* SABR LIVING — a slower, more intentional digital experience */
:root{--forest:#1b3429;--forest-dark:#12261e;--forest-2:#294938;--sage:#dce3d4;--moss:#697f6e;--cream:#f5f2e9;--paper:#ebe9de;--sand:#e6e4d8;--ivory:#fcf7ec;--gold:#d5c4a6;--ink:#20352b;--muted:#7a8379;--line:rgba(34,58,45,.17);--font-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--font-sans:'DM Sans','Helvetica Neue',Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:78px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-sans);font-size:15px;-webkit-font-smoothing:antialiased;line-height:1.6}
body.is-loading,body.dialog-open,body.menu-open{overflow:hidden}
img,video{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #b99864;outline-offset:5px}
::selection{color:#fff;background:#5a745d}
.container{width:min(1416px,calc(100% - 112px));margin-inline:auto}
.section-pad{padding-block:clamp(96px,12vw,184px)}
.eyebrow,.section-kicker{font-size:10px;line-height:1.4;letter-spacing:.28em;font-weight:600;text-transform:uppercase}
.section-kicker{display:flex;align-items:center;gap:15px;color:#738276;margin-bottom:33px}
.kicker-line,.eyebrow__line{display:inline-block;width:29px;height:1px;background:#a7a994;flex-shrink:0}
.section-kicker--light{color:#bfcab9}.section-kicker--light .kicker-line{background:#b5c1b4}
h1,h2,h3,p,blockquote{margin-top:0}
h1,h2,h3{font-weight:400}
h2{font-family:var(--font-serif);font-size:clamp(64px,7.7vw,124px);font-weight:300;line-height:.89;letter-spacing:-.048em;margin-bottom:0}
h2 em,h1 em,blockquote em{font-style:italic;font-weight:300}
.skip-link{position:fixed;z-index:500;top:12px;left:12px;background:#fff;color:#163225;padding:12px 18px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
/* The moving quill is the supplied feather graphic, not a generic icon. */
.feather-cursor{position:fixed;width:30px;height:42px;top:0;left:0;z-index:400;pointer-events:none;opacity:0;mix-blend-mode:difference;transform:translate3d(-100px,-100px,0) rotate(18deg);transition:width .28s,height .28s,opacity .2s;will-change:transform}
.feather-cursor img{width:100%;height:100%;object-fit:contain}
.feather-cursor.is-visible{opacity:1}.feather-cursor.is-hovering{width:41px;height:58px}
@media (hover:hover) and (pointer:fine){body,body a,body button,body input,body select,body textarea{cursor:none}}
/* --- Intro animation, exactly 2.5 seconds before transition --- */
.preloader{position:fixed;z-index:1000;inset:0;background:#254536;display:grid;place-items:center;color:var(--ivory);isolation:isolate;transition:opacity .66s ease,visibility .66s ease}
.preloader::before{content:"";position:absolute;inset:0;background:url('../assets/woven-texture.jpg') repeat;opacity:.3;mix-blend-mode:soft-light;z-index:-1}
.preloader::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(143,165,128,.23),transparent 64%),linear-gradient(120deg,rgba(2,22,13,.33),transparent 65%);z-index:-1}
.preloader.is-exiting{opacity:0;visibility:hidden;pointer-events:none}
.preloader__inner{width:min(590px,80vw);text-align:center;transform:translateY(-20px)}
.preloader__topline{margin-bottom:26px;color:#d5d7c8;opacity:0;animation:appear .6s ease forwards .12s}
.preloader__illustration{position:relative;width:100%;aspect-ratio:1820/984}
.preloader__reveal{width:100%;height:100%;overflow:hidden;clip-path:inset(0 100% 0 0);animation:drawMark 1.72s cubic-bezier(.18,.64,.25,.97) forwards .33s}
.preloader__reveal img{width:100%;height:100%;object-fit:contain;filter:sepia(.19) saturate(.7) brightness(.98)}
.preloader__writing-feather{position:absolute;width:10%;height:21%;object-fit:contain;left:0;top:37%;transform-origin:50% 95%;filter:drop-shadow(0 0 12px rgba(255,255,255,.25));animation:flyQuill 1.72s cubic-bezier(.18,.64,.25,.97) both .33s,featherVanish .24s ease forwards 2.05s;pointer-events:none}
.preloader__tagline{font-size:11px;letter-spacing:.41em;font-weight:400;opacity:0;transform:translateY(7px);animation:appear .5s ease forwards 1.83s}
.preloader__tagline span{padding-inline:7px;color:var(--gold)}
.preloader__line{height:1px;width:90px;margin:42px auto 0;background:rgba(252,247,236,.19)}.preloader__line span{display:block;height:100%;width:0;background:var(--ivory);animation:loadLine 2.3s linear forwards}
.preloader__counter{position:absolute;bottom:33px;right:44px;opacity:.6;font-size:10px;letter-spacing:.27em}
@keyframes drawMark{to{clip-path:inset(0 0 0 0)}}@keyframes flyQuill{0%{left:-5%;top:43%;transform:rotate(-18deg) scale(.95);opacity:0}8%{opacity:1}50%{top:29%;transform:rotate(10deg)}94%{opacity:1}100%{left:82%;top:13%;transform:rotate(28deg) scale(.72);opacity:.85}}@keyframes featherVanish{to{opacity:0}}@keyframes appear{to{opacity:1;transform:translateY(0)}}@keyframes loadLine{to{width:100%}}
/* --- Fixed glass navigation --- */
.site-header{position:fixed;z-index:100;inset:0 0 auto;height:108px;padding:0 4.7%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:26px;color:white;transition:height .5s var(--ease),background .4s,border-color .4s;isolation:isolate}
.site-header.is-scrolled{height:82px;background:rgba(24,48,36,.86);-webkit-backdrop-filter:blur(22px) saturate(130%);backdrop-filter:blur(22px) saturate(130%);border-bottom:1px solid rgba(255,255,255,.11)}
.site-header .brand{width:124px;max-width:100%;justify-self:start;display:block;transition:width .4s}.site-header.is-scrolled .brand{width:105px}
.site-header .brand img{display:block;width:100%;height:auto}
.nav-links{display:flex;align-items:center;gap:35px;white-space:nowrap;background:rgba(255,255,255,.085);border:1px solid rgba(255,255,255,.17);padding:14px 26px;border-radius:100px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.nav-links a{font-size:10px;letter-spacing:.075em;color:rgba(255,255,255,.86);transition:color .2s}.nav-links a:hover{color:white}
.header-cta{justify-self:end}.pill-link{border:1px solid rgba(255,255,255,.5);border-radius:50px;padding:15px 25px;color:#fff;background:rgba(255,255,255,.055);text-transform:uppercase;letter-spacing:.15em;font-size:10px;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}.pill-link span{font-size:17px;margin-left:21px;vertical-align:-1px}.pill-link:hover{background:var(--ivory);color:var(--forest);border-color:var(--ivory)}
.menu-toggle{display:none;border:0;background:none;width:40px;height:40px;align-items:center;justify-content:center;flex-direction:column;gap:7px;position:relative;z-index:102}.menu-toggle span{width:25px;height:1px;background:#fff;transition:transform .3s}.menu-toggle.is-active span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle.is-active span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:90;background:var(--forest);color:var(--ivory);padding:170px 8vw 42px;display:flex;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transform:translateY(-2%);transition:opacity .3s,visibility .3s,transform .3s}.mobile-menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-menu nav{display:flex;flex-direction:column;align-items:start;gap:14px}.mobile-menu nav a,.mobile-menu nav button{font:300 clamp(42px,9vw,72px)/1 var(--font-serif);border:0;background:none;color:inherit;padding:7px 0}.mobile-menu p{color:#aab8a9;font-size:12px;letter-spacing:.13em}
/* --- Full-bleed film hero --- */
.hero{position:relative;min-height:740px;height:100svh;max-height:1200px;background:#3b523d;overflow:hidden;color:#fff;isolation:isolate}
.hero__video,.hero__wash{position:absolute;inset:0;width:100%;height:100%}
.hero__video{object-fit:cover;object-position:center center;z-index:-3}
.hero__wash{z-index:-2;background:linear-gradient(90deg,rgba(12,31,23,.72) 0%,rgba(13,33,24,.47) 38%,rgba(14,32,24,.08) 87%),linear-gradient(0deg,rgba(7,20,14,.6) 0%,transparent 25%,transparent 70%,rgba(7,18,12,.32) 100%)}
.hero__frame{position:absolute;inset:28px;z-index:-1;border:1px solid rgba(255,255,255,.15);pointer-events:none}
.hero__content{height:100%;display:flex;align-items:center;padding-top:100px}
.hero__text{padding-top:12px;max-width:780px}
.hero__eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:40px;letter-spacing:.25em;color:rgba(255,255,255,.82)}
.hero .eyebrow__line{background:rgba(255,255,255,.77);width:42px}.middle-dot{font-size:16px;line-height:0}
.hero h1{font-family:var(--font-serif);font-size:clamp(94px,10.6vw,172px);line-height:.71;font-weight:300;letter-spacing:-.063em;margin:0 0 56px;max-width:900px;text-shadow:0 4px 36px rgba(0,0,0,.07)}.hero h1 em{display:inline-block;padding-top:12px}
.hero__fine-line{width:45px;height:1px;background:#ddd7c4;margin-bottom:25px}
.hero__subcopy{font-family:var(--font-serif);font-size:clamp(21px,2.3vw,29px);line-height:1.25;letter-spacing:.002em;color:#f5f4ec;margin-bottom:36px}
.round-arrow-link{display:inline-flex;gap:25px;align-items:center;text-transform:uppercase;letter-spacing:.19em;font-size:10px;font-weight:600}.round-arrow-link__icon,.circle-arrow{width:44px;height:44px;border:1px solid rgba(255,255,255,.66);border-radius:50%;display:grid;place-items:center;font:20px var(--font-sans);transition:background .3s,color .3s,transform .3s}.round-arrow-link:hover .round-arrow-link__icon{background:#fff;color:var(--forest);transform:rotate(45deg)}
.hero__bottom{position:absolute;bottom:62px;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}
.hero__scroll{display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:.19em;color:#e1e6da}.hero__scroll span{height:1px;background:rgba(255,255,255,.7);width:52px}
.hero__mantra{text-align:center;font-size:10px;letter-spacing:.23em}.hero__mantra b{font-size:10px;color:#d4be97;padding:0 8px;font-weight:400}
.video-toggle{justify-self:end;display:flex;align-items:center;gap:12px;background:none;border:none;color:#fff;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.pause-icon{width:27px;height:27px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;font-size:12px;line-height:1}
.hero__side-note{position:absolute;right:26px;top:50%;writing-mode:vertical-rl;display:flex;align-items:center;gap:25px;font-size:8px;letter-spacing:.2em;color:#fff}.hero__side-note span{font-size:20px}
/* --- Story --- */
.intro{position:relative;background:var(--cream);overflow:hidden}
.intro__grid{display:grid;grid-template-columns:1.02fr .75fr;column-gap:14%;align-items:start}
.intro__left h2{font-size:clamp(68px,8.6vw,138px)}.intro__small-feather{opacity:.12;width:65px;transform:rotate(17deg);margin-top:42px;filter:brightness(0) saturate(100%) invert(16%) sepia(20%) saturate(800%) hue-rotate(91deg)}
.intro__right{padding-top:64px;max-width:480px}.intro__right p{font-size:14px;line-height:1.95;color:#788276;margin-bottom:23px}.intro__right .intro__lead{font:300 clamp(28px,3vw,41px)/1.19 var(--font-serif);letter-spacing:-.02em;color:var(--ink);margin-bottom:28px}
.text-link{background:none;border:none;border-bottom:1px solid #536e58;padding:0 0 9px;text-align:left;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:600;color:#32533d;display:inline-flex;align-items:center;gap:28px;transition:gap .2s}.text-link:hover{gap:40px}.text-link span{font-size:16px}
.intro__footnote{position:absolute;bottom:30px;left:0;right:0;text-align:center;color:#afbaa9;font-size:9px;letter-spacing:.35em}
/* --- Cottage cards --- */
.cottages{background:var(--paper);padding-top:125px;padding-bottom:132px}
.cottages__heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.cottages__heading p{max-width:255px;margin:0 3px 10px 0;line-height:1.9;font-size:12px;color:#788176}.cottages__heading h2{font-size:clamp(73px,8vw,128px)}
.cottage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cottage-card{border:0;display:block;position:relative;overflow:hidden;aspect-ratio:.79;width:100%;padding:0;text-align:left;color:#fff;background:#5f7360;isolation:isolate}
.cottage-card::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(0deg,rgba(9,27,19,.91),rgba(11,31,21,.08) 53%,rgba(12,26,20,.25));transition:background .3s}
.cottage-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease)}.cottage-card:hover img,.cottage-card:focus-visible img{transform:scale(1.075)}
.cottage-card__index{position:absolute;z-index:1;top:26px;left:27px;font-size:10px;letter-spacing:.17em;color:#fff}.cottage-card__index span{padding-inline:6px;opacity:.6}
.cottage-card__bottom{position:absolute;z-index:1;bottom:31px;left:31px;right:31px;display:flex;align-items:end;justify-content:space-between;gap:9px}.cottage-card__bottom>span:first-child{max-width:calc(100% - 53px);display:flex;flex-direction:column}
.cottage-card__bottom small{font-size:8px;letter-spacing:.14em;color:#ebe9dc;line-height:1.5;font-weight:500;margin-bottom:9px}
.cottage-card__bottom strong{font:300 clamp(48px,4.8vw,75px)/.95 var(--font-serif);letter-spacing:-.025em}.cottage-card__subtitle{font-size:11px;font-weight:300;color:#eaeee7;margin-top:13px;line-height:1.5}
.cottage-card .circle-arrow{width:43px;height:43px;font-size:18px;flex-shrink:0}.cottage-card:hover .circle-arrow{transform:rotate(45deg);background:#fff;color:#223c2d}
.cottages__after{display:flex;justify-content:space-between;align-items:center;margin-top:27px;color:#8a9183;font:italic 23px var(--font-serif)}.subtle-link{border:0;background:none;border-bottom:1px solid #718476;padding:0 0 7px;color:#325441;font:500 10px var(--font-sans);text-transform:uppercase;letter-spacing:.13em}.subtle-link span{margin-left:22px}
/* --- Full-width philosophy editorial panel --- */
.image-story{display:grid;grid-template-columns:1fr 1fr;min-height:700px;background:var(--forest);color:var(--ivory)}
.image-story__visual{position:relative;min-height:700px;overflow:hidden}.image-story__visual img{height:100%;width:100%;object-fit:cover;object-position:center}.image-story__stamp{position:absolute;bottom:36px;left:39px;font-size:9px;letter-spacing:.23em;color:white;display:flex;align-items:center;gap:19px}.image-story__stamp span{font-size:20px}
.image-story__text{display:flex;flex-direction:column;justify-content:center;align-items:start;padding:105px clamp(55px,8vw,145px)}
.image-story__text h2{font-size:clamp(82px,8.5vw,139px);line-height:.79;margin-bottom:48px}
.image-story__text>p{font-size:13px;line-height:2;color:#bbc8ba;max-width:395px;margin-bottom:36px}.image-story__signature{border-top:1px solid rgba(255,255,255,.17);width:100%;padding-top:23px;font-size:9px;letter-spacing:.23em;color:#cad4c8}.mini-feather{font-size:18px;margin-right:12px}
/* --- The little things --- */
.rituals{background:#f6f3eb}
.rituals__heading{text-align:center;margin-bottom:72px}.rituals__heading .section-kicker{justify-content:center}.rituals__heading h2{font-size:clamp(67px,7.6vw,118px);margin-bottom:24px}.rituals__heading p{font:300 23px/1.3 var(--font-serif);color:#738074}
.rituals__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ritual{padding:38px 50px 44px;min-height:320px;position:relative}.ritual+.ritual{border-left:1px solid var(--line)}.ritual__number{font-size:10px;letter-spacing:.13em;color:#8b998c}.ritual__symbol{font:300 47px var(--font-serif);height:91px;display:flex;align-items:center;color:#607b64}.ritual h3{font:300 37px var(--font-serif);margin-bottom:8px;letter-spacing:-.018em}.ritual p{font-size:12px;color:#7d887d;line-height:1.9;max-width:290px}
/* --- Gallery --- */
.gallery{background:var(--cream)}.gallery__heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:47px}.gallery__heading h2{font-size:clamp(70px,8vw,123px)}.gallery__heading p{font:300 21px var(--font-serif);color:#788477;margin:0 0 12px;max-width:205px}
.gallery__grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-template-rows:270px 270px;gap:14px}
.gallery-tile{position:relative;overflow:hidden;border:0;padding:0;color:#fff;background:#617e64;text-align:left;isolation:isolate}
.gallery-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,26,17,.45),transparent 45%)}
.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.gallery-tile:hover img{transform:scale(1.06)}
.gallery-tile>span{position:absolute;z-index:1;bottom:22px;left:23px;font-size:9px;font-weight:500;letter-spacing:.2em;text-shadow:0 1px 15px #142719}.gallery-tile>i{position:absolute;z-index:1;right:20px;bottom:17px;font:21px var(--font-sans);font-style:normal;opacity:0;transform:translate(-6px,6px);transition:opacity .25s,transform .25s}.gallery-tile:hover>i{opacity:1;transform:translate(0,0)}
.gallery-tile--wide{grid-row:span 2}.gallery-tile--tall{grid-row:span 2}.gallery__note{font:italic 23px var(--font-serif);color:#8a958a;text-align:center;margin:37px 0 0}
/* --- Slow full-bleed pause --- */
.quote-panel{min-height:640px;position:relative;display:grid;place-items:center;isolation:isolate;color:#fff;text-align:center;overflow:hidden}
.quote-panel__image,.quote-panel__shade{position:absolute;inset:0;z-index:-1}.quote-panel__image{background:url('../assets/garden-quiet.jpg') center 62% /cover no-repeat;transform:scale(1.04)}.quote-panel__shade{background:rgba(12,34,21,.6)}
.quote-panel__content{padding:100px 20px}.quote-panel__content .section-kicker{justify-content:center;margin-bottom:42px}.quote-panel blockquote{font:300 clamp(47px,5.7vw,89px)/.99 var(--font-serif);letter-spacing:-.026em}.quote-panel__content img{width:45px;height:65px;object-fit:contain;margin:40px auto 0;opacity:.75;transform:rotate(15deg)}
/* --- Closing invitation and footer --- */
.invitation{background:#dce3d6;min-height:650px;position:relative;display:grid;place-items:center;text-align:center;isolation:isolate;overflow:hidden}
.invitation__glow{position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 50% 40%,rgba(248,250,235,.8),transparent 63%)}
.invitation__content{display:flex;flex-direction:column;align-items:center}.invitation .section-kicker{margin-bottom:13px}.invitation__feather{width:25px;height:38px;object-fit:contain;filter:brightness(0) saturate(100%) invert(33%) sepia(14%) saturate(820%) hue-rotate(83deg);opacity:.5;margin-bottom:20px;transform:rotate(18deg)}
.invitation h2{font-size:clamp(82px,10.4vw,163px);margin-bottom:14px}.invitation p{font:300 30px var(--font-serif);color:#657566;margin-bottom:31px}.invitation__button{border:1px solid #47604e;border-radius:40px;background:transparent;color:#274032;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:16px 31px;transition:background .2s,color .2s}.invitation__button span{padding-left:21px;font-size:18px}.invitation__button:hover{background:var(--forest);color:#fff}.invitation small{display:block;color:#889988;font-size:10px;margin-top:19px}
.footer{background:var(--forest-dark);color:#e6e8dc;padding:86px 0 25px}
.footer__top{display:flex;justify-content:space-between;gap:80px;margin-bottom:105px}.footer__brand img{width:190px;height:auto}.footer__brand p{margin:17px 0 0;font-size:12px;color:#a9b7a9;line-height:2}.footer__links{display:flex;gap:clamp(50px,10vw,160px);margin-top:11px}.footer__links>div{display:flex;flex-direction:column;align-items:start;gap:14px}.footer__links span{font-size:9px;letter-spacing:.23em;color:#a0b3a0;margin-bottom:13px}.footer__links a,.footer__links button{font-size:13px;color:#e4e8db;background:none;border:0;padding:0}.footer__links a:hover,.footer__links button:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
.footer__bottom{border-top:1px solid rgba(255,255,255,.16);padding-top:25px;display:flex;justify-content:space-between;gap:22px;color:#8d9f8c;font-size:9px;letter-spacing:.16em}.footer__bottom a{color:#e2e8dd}
/* --- Dialogs / functional interactions --- */
.overlay-dialog{position:fixed;inset:0;max-width:none;max-height:none;width:min(1080px,calc(100vw - 40px));height:min(780px,calc(100dvh - 50px));margin:auto;border:1px solid rgba(30,52,35,.15);box-shadow:0 28px 130px rgba(4,17,10,.4);background:var(--cream);color:var(--ink);padding:0;overflow:auto}
.overlay-dialog::backdrop{background:rgba(8,26,17,.83);-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}
.dialog-close{z-index:5;position:sticky;top:19px;margin:19px 20px -56px auto;display:grid;place-items:center;border:1px solid rgba(24,50,32,.2);width:43px;height:43px;border-radius:50%;background:rgba(249,248,242,.95);color:var(--forest);font-size:29px;line-height:1;transition:transform .2s}.dialog-close:hover{transform:rotate(90deg)}
.story-dialog{width:min(860px,calc(100vw - 36px));height:min(90dvh,890px)}.story-dialog__inner{padding:75px clamp(30px,7vw,95px) 90px}.story-dialog h2{font-size:clamp(66px,7vw,108px);margin-bottom:38px}.story-dialog__columns{column-count:2;column-gap:48px}.story-dialog__columns p{font:300 20px/1.43 var(--font-serif);margin:0 0 20px;break-inside:avoid}
.cottage-dialog{width:min(1160px,calc(100vw - 40px));height:min(790px,calc(100dvh - 48px));overflow-y:auto}.cottage-dialog__layout{display:grid;grid-template-columns:.95fr 1fr;min-height:100%}.cottage-dialog__visual{min-height:650px}.cottage-dialog__visual img{width:100%;height:100%;object-fit:cover;position:sticky;top:0}.cottage-dialog__body{padding:98px clamp(36px,5vw,80px) 70px}.cottage-dialog__body h2{font-size:clamp(70px,7vw,110px)}.cottage-dialog__subtitle{font:italic 28px var(--font-serif);margin:14px 0 28px}.cottage-dialog__description p{font-size:13px;color:#647265;line-height:1.9;margin-bottom:17px}.dark-button{background:var(--forest);color:#fff;border:1px solid var(--forest);border-radius:30px;padding:16px 25px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;transition:background .25s,color .25s}.dark-button:hover{background:transparent;color:var(--forest)}.dark-button span{margin-left:18px;font-size:16px}.cottage-dialog__body .dark-button{margin-top:19px}
.gallery-dialog{background:#112319;color:#fff;width:min(1380px,calc(100vw - 30px));height:min(900px,calc(100dvh - 35px));overflow:hidden}.dialog-close--light{background:rgba(16,40,26,.7);color:white;border-color:rgba(255,255,255,.3)}.gallery-dialog__stage{height:calc(100% - 45px);padding:60px 25px 12px;display:grid;grid-template-columns:75px minmax(0,1fr) 75px;gap:15px;align-items:center}.gallery-dialog__stage figure{height:100%;min-height:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.gallery-dialog__stage figure img{max-height:calc(100% - 36px);width:100%;height:100%;object-fit:contain}.gallery-dialog__stage figcaption{font:italic 24px var(--font-serif);margin-top:8px}.gallery-dialog__nav{border:1px solid rgba(255,255,255,.4);color:white;background:transparent;border-radius:50%;font-size:23px;width:50px;height:50px;justify-self:center}.gallery-dialog__nav:hover{background:white;color:var(--forest)}.gallery-dialog__counter{font-size:10px;letter-spacing:.25em;text-align:center;color:#9cb09c}
.enquiry-dialog{width:min(760px,calc(100vw - 30px));height:min(890px,calc(100dvh - 30px))}.enquiry-dialog__inner{padding:80px clamp(24px,7vw,92px) 74px}.enquiry-dialog h2{font-size:clamp(69px,8vw,113px)}.enquiry-dialog__lead{font-size:13px;max-width:530px;color:#6c7a6d;line-height:1.8;margin:22px 0 30px}#enquiryForm{display:grid;gap:15px}#enquiryForm label{display:flex;flex-direction:column;gap:7px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#5c715e}#enquiryForm input,#enquiryForm select,#enquiryForm textarea,.enquiry-result textarea{width:100%;background:rgba(255,255,255,.56);border:1px solid #cbd1c3;color:var(--forest);padding:13px 14px;border-radius:0;outline-offset:1px;letter-spacing:normal;font-size:14px;text-transform:none}#enquiryForm input:focus,#enquiryForm select:focus,#enquiryForm textarea:focus{border-color:#45674b;outline:1px solid #45674b}#enquiryForm textarea{resize:vertical}.enquiry-dialog__row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.enquiry-dialog__submit{margin-top:10px;justify-self:start}.enquiry-result{padding:22px 0}.enquiry-result h3{font:300 42px var(--font-serif);margin-bottom:6px}.enquiry-result p{font-size:13px;color:#6a786e}.enquiry-result textarea{height:175px;resize:vertical;line-height:1.5}.enquiry-result__actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:17px}.enquiry-result__whatsapp{padding:12px;color:var(--forest);border-bottom:1px solid var(--forest);font-size:11px;letter-spacing:.08em}.enquiry-result__back{margin-top:25px}
/* --- Scroll reveals --- */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.reveal.is-revealed{opacity:1;transform:translateY(0)}.cottage-card:nth-child(2),.ritual:nth-child(2),.gallery-tile:nth-child(2){transition-delay:.1s}.cottage-card:nth-child(3),.ritual:nth-child(3),.gallery-tile:nth-child(3){transition-delay:.2s}
/* --- Tablets --- */
@media(max-width:1100px){.container{width:min(100% - 74px,1416px)}.site-header{padding-inline:4%;grid-template-columns:1fr auto;gap:20px}.nav-links{display:none}.header-cta{justify-self:end}.intro__grid{column-gap:8%}.ritual{padding-inline:25px}.image-story__text{padding-inline:7vw}.image-story__text h2{font-size:10vw}.hero__side-note{display:none}}
@media(max-width:760px){html{scroll-padding-top:70px}.container{width:calc(100% - 42px)}.section-pad{padding-block:82px}.site-header,.site-header.is-scrolled{height:79px;padding:0 21px;grid-template-columns:1fr auto}.site-header .brand{width:102px}.site-header.is-scrolled .brand{width:90px}.site-header .header-cta,.site-header .nav-links{display:none}.menu-toggle{display:flex}.hero{min-height:690px;height:100svh;max-height:940px}.hero__video{object-position:56% center}.hero__wash{background:linear-gradient(90deg,rgba(11,30,20,.72),rgba(11,30,20,.17) 100%),linear-gradient(0deg,rgba(7,23,16,.72),transparent 33%,rgba(10,25,17,.13) 74%,rgba(9,22,16,.36))}.hero__frame{inset:12px}.hero__content{padding-top:70px;align-items:center}.hero__text{padding-top:25px}.hero__eyebrow{font-size:9px;margin-bottom:32px}.hero h1{font-size:clamp(73px,13vw,115px);line-height:.77;margin-bottom:40px}.hero__subcopy{font-size:22px}.hero__bottom{bottom:38px;grid-template-columns:1fr auto;gap:15px}.hero__scroll{display:none}.hero__mantra{text-align:left;letter-spacing:.12em;font-size:9px}.hero__mantra b{padding:0 3px}.video-toggle{justify-self:end}.video-toggle__label{display:none}.intro__grid{grid-template-columns:1fr;gap:32px}.intro__left h2{font-size:clamp(72px,13vw,106px)}.intro__small-feather{display:none}.intro__right{padding-top:0;max-width:610px}.intro__right .intro__lead{font-size:35px}.intro__footnote{bottom:12px}.cottages{padding-top:85px}.cottages__heading,.gallery__heading{align-items:start;flex-direction:column;gap:16px;margin-bottom:34px}.cottages__heading h2,.gallery__heading h2{font-size:clamp(73px,12vw,106px)}.cottages__heading p,.gallery__heading p{max-width:390px}.cottage-grid{grid-template-columns:1fr;gap:15px}.cottage-card{aspect-ratio:1.15}.cottage-card__bottom strong{font-size:65px}.cottages__after{gap:18px;flex-direction:column;align-items:start;font-size:20px}.image-story{grid-template-columns:1fr}.image-story__visual{min-height:460px;height:460px}.image-story__text{padding:85px 32px 95px}.image-story__text h2{font-size:clamp(95px,16vw,130px)}.rituals__heading{margin-bottom:44px}.rituals__heading h2{font-size:clamp(72px,11vw,108px)}.rituals__grid{grid-template-columns:1fr}.ritual{min-height:230px;padding:24px 11px 28px}.ritual+.ritual{border-left:0;border-top:1px solid var(--line)}.ritual__symbol{height:69px}.gallery__grid{grid-template-columns:1fr 1fr;grid-template-rows:240px 215px 215px}.gallery-tile--wide{grid-column:span 2;grid-row:span 1}.gallery-tile--tall{grid-row:span 2}.gallery-tile--landscape{grid-column:span 1}.gallery-tile>span{font-size:8px;left:15px;bottom:15px}.quote-panel{min-height:530px}.quote-panel blockquote{font-size:clamp(43px,8vw,68px)}.invitation{min-height:580px}.invitation h2{font-size:clamp(75px,12vw,117px)}.footer{padding-top:70px}.footer__top{flex-direction:column;gap:55px;margin-bottom:65px}.footer__links{margin-top:0;gap:40px}.footer__bottom{flex-wrap:wrap;font-size:8px}.footer__bottom>span:last-child{display:none}.story-dialog__columns{column-count:1}.cottage-dialog__layout{grid-template-columns:1fr}.cottage-dialog__visual{min-height:285px;height:300px}.cottage-dialog__body{padding:45px 30px 60px}.cottage-dialog__body h2{font-size:82px}.gallery-dialog__stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:4px;padding-inline:4px}.gallery-dialog__nav{width:35px;height:35px;font-size:18px}.preloader__inner{width:90vw}.preloader__tagline{font-size:9px;letter-spacing:.23em}}
@media(max-width:450px){.hero h1{font-size:clamp(62px,15.5vw,75px)}.hero__mantra{font-size:8px;letter-spacing:.08em}.hero__eyebrow{letter-spacing:.12em}.intro__left h2{font-size:70px}.cottages__heading h2,.gallery__heading h2{font-size:74px}.cottage-card{aspect-ratio:.86}.cottage-card__bottom{left:22px;bottom:25px;right:20px}.cottage-card__bottom strong{font-size:61px}.enquiry-dialog__row{grid-template-columns:1fr}.enquiry-dialog__inner{padding-top:74px}.invitation h2{font-size:70px}.image-story__text h2{font-size:87px}.gallery__grid{grid-template-rows:175px 190px 190px}.story-dialog__inner{padding:75px 25px 55px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.feather-cursor{display:none}.preloader__reveal{clip-path:none}.preloader__tagline{opacity:1}}
/* Honour the HTML hidden attribute even on explicitly grid-styled forms. */
[hidden]{display:none!important}
/* Five gallery images form one calm, complete two-row composition. */
@media(min-width:761px){.gallery-tile--tall{grid-row:span 1}}
@media(max-width:760px){.gallery-tile--tall{grid-row:span 1}}
@media (hover:hover) and (pointer:fine){
  .overlay-dialog,.overlay-dialog *{cursor:url('../assets/sabr-cursor-dark.png') 10 48,auto!important}
  .gallery-dialog,.gallery-dialog *{cursor:url('../assets/sabr-cursor-light.png') 10 48,auto!important}
}
@media(prefers-reduced-motion:reduce) and (hover:hover) and (pointer:fine){body,body a,body button,body input,body select,body textarea{cursor:auto!important}}
