:root{--cream:#f5f2e9;--ink:#353d31;--olive:#525b44;--muted:#79796c;--line:#d7d6c9;--serif:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}.draft{text-align:center;background:#414a37;color:#f5f2e9;font-size:9px;letter-spacing:1.8px;padding:9px}header{height:112px;display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:auto;padding:0 6%}.brand{font:30px var(--serif);white-space:nowrap}.brand span{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:5px;text-align:center;margin-top:5px}nav{display:flex;gap:38px}nav a,.client-link{font-size:11px;letter-spacing:1px}.client-link{border-bottom:1px solid var(--ink);padding-bottom:10px}.client-link span{margin-left:24px}.hero{position:relative;margin:0 3%;height:660px;min-height:520px;overflow:hidden;background:#777b64}.hero>img{height:100%;object-position:center 57%;filter:brightness(.7)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#20291b66,transparent)}.hero-content{position:absolute;z-index:1;left:7%;top:19%;color:#fff9ed;max-width:700px}.eyebrow{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;display:block;margin-bottom:24px}h1,h2,h3,p{margin-top:0}h1{font:normal clamp(58px,6.4vw,96px)/.98 var(--serif);letter-spacing:-2px;margin-bottom:28px}h1 em,h2 em{font-weight:400}p{line-height:1.85} .hero p{max-width:340px;color:#f0eee3;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;padding:17px 25px;background:var(--olive);border:1px solid var(--olive);color:var(--cream);font-size:10px;letter-spacing:1.3px;text-transform:uppercase}.button.light{background:var(--cream);border-color:var(--cream);color:var(--ink)}.button.outline{background:transparent;color:var(--ink)}.hero-note{position:absolute;right:30px;bottom:26px;z-index:1;color:white;font:italic 22px var(--serif)}.intro{max-width:880px;text-align:center;margin:95px auto 80px;padding:0 25px}h2{font:normal 56px/1.06 var(--serif);letter-spacing:-1px}.intro p{max-width:540px;margin:24px auto;color:var(--muted)}.section{max-width:1240px;margin:auto;padding:35px 35px 80px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-head h2{margin:0}.text-link{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;border-bottom:1px solid;padding-bottom:9px}.photo-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:24px}.photo-card:nth-child(2){margin-top:55px}.photo-card img{height:380px;transition:filter .3s}.photo-card:hover img{filter:brightness(.88)}.photo-caption{display:flex;justify-content:space-between;align-items:center;margin-top:15px;font:26px var(--serif)}.photo-caption span{font:10px 'DM Sans';letter-spacing:1px}.story{display:grid;grid-template-columns:1fr 1fr;background:#e7e7da;align-items:center}.story img{height:560px}.story-copy{padding:70px 15%;}.story-copy p{color:#737565}.cta{text-align:center;padding:95px 25px}.cta h2{max-width:640px;margin:0 auto 30px}footer{background:#343e30;color:#eaeadd;padding:55px 7% 25px;display:grid;grid-template-columns:1fr 1fr;gap:22px}footer p{text-align:right;font:italic 26px var(--serif)}footer>div{display:flex;gap:25px;font-size:11px}footer small{font-size:9px;color:#c4c9ba;text-align:right}.page-title{text-align:center;padding:65px 20px 45px}.page-title h1{font-size:76px}.page-title p{max-width:550px;margin:auto;color:var(--muted)}.filters{display:flex;justify-content:center;gap:15px;margin-bottom:40px}.filter{border:1px solid var(--line);padding:10px 22px;background:transparent;color:var(--ink);font-size:11px}.filter.active{background:var(--olive);color:white}.masonry{columns:3;column-gap:22px}.masonry button{display:block;width:100%;padding:0;border:0;background:none;margin-bottom:22px}.masonry img{height:360px}.masonry button:nth-child(3n) img{height:470px}.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;max-width:1100px;margin:auto;padding:0 35px 80px}.panel{border:1px solid var(--line);padding:32px;background:#faf8f1}.panel h3{font:32px var(--serif);margin-bottom:20px}label{display:block;font-size:11px;margin-bottom:18px}input,select,textarea{display:block;width:100%;border:1px solid var(--line);background:transparent;padding:13px;color:var(--ink);margin-top:8px;border-radius:0}textarea{min-height:120px;resize:vertical}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin:25px 0}.calendar-head button{border:0;background:transparent;font-size:20px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar span{text-align:center;font-size:10px;padding:10px 0}.calendar button{aspect-ratio:1;background:none;border:1px solid transparent;color:var(--ink)}.calendar button:disabled{opacity:.25;cursor:default}.calendar button.available{border-color:var(--line)}.calendar button.selected{background:var(--olive);color:white}.check{display:flex;gap:10px;align-items:start;line-height:1.6}.check input{width:auto;margin:3px 0}.notice{font-size:11px;color:var(--muted);line-height:1.8;margin-top:20px}.summary{padding:20px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between}.login-wrap{max-width:490px;margin:10px auto 95px;padding:0 20px}.login-wrap .button{width:100%}.demo-note{font-size:10px;text-align:center;color:var(--muted);margin:18px 0}.dashboard{max-width:1180px;margin:auto;padding:20px 30px 80px}.tabs{display:flex;gap:12px;margin-bottom:25px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.upload{border:1px dashed #a6ad98;padding:30px;text-align:center;margin:20px 0}.upload input{border:0;font-size:11px}.file-list{max-height:170px;overflow:auto;font-size:11px;line-height:2}.gallery-banner{height:420px;position:relative}.gallery-banner img{height:100%;filter:brightness(.65)}.gallery-banner>div{position:absolute;bottom:45px;left:7%;color:white}.gallery-banner h1{font-size:65px;margin:0}.client-tools{display:flex;gap:15px;align-items:center;justify-content:space-between;margin:30px 0}.client-tools p{margin:0;color:var(--muted);font-size:11px}dialog{border:0;padding:0;background:#171d17;max-width:90vw;max-height:90vh}dialog::backdrop{background:#172014d9}dialog img{max-height:85vh;max-width:85vw;object-fit:contain}.close{position:absolute;right:10px;top:10px;border:0;background:var(--cream);padding:8px 14px;font-size:22px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:15px 25px;z-index:5;display:none;max-width:90%;font-size:12px}@media(min-width:1600px){.hero{max-width:1500px;margin:auto}}@media(max-width:760px){header{height:95px;padding:0 5%;flex-wrap:wrap}.brand{font-size:23px}nav{gap:18px;order:3;width:100%;justify-content:center;padding-bottom:13px}.client-link{font-size:9px}.hero{height:610px}.hero-content{top:22%;left:8%;right:6%}h1{font-size:62px}.hero-note{font-size:17px}.intro{margin:65px auto 45px}h2{font-size:43px}.photo-grid{gap:12px;grid-template-columns:1fr}.photo-card:nth-child(2){margin:0}.photo-card img{height:410px}.photo-card{margin-bottom:18px}.section-head{gap:20px}.section-head h2{font-size:39px}.story{grid-template-columns:1fr}.story img{height:420px}.story-copy{padding:45px 9%}.section{padding:25px 20px 50px}.form-layout,.dashboard-grid{grid-template-columns:1fr;gap:25px}.form-layout{padding:0 20px 50px}.page-title{padding-top:45px}.page-title h1{font-size:56px}.masonry{columns:2}.masonry img,.masonry button:nth-child(3n) img{height:270px}.filters{flex-wrap:wrap;gap:8px}.filter{padding:9px 15px}footer{grid-template-columns:1fr}footer p,footer small{text-align:left}footer>div{flex-wrap:wrap}.client-tools{flex-wrap:wrap}.draft{font-size:8px;letter-spacing:.7px}.gallery-banner h1{font-size:50px}}

/* Warm espresso palette: deliberate dark styling across browsers. */
:root{color-scheme:dark;--cream:#211c18;--ink:#eee6d9;--olive:#322720;--muted:#b8aa99;--line:#514237}
body{background:#211c18;color:#eee6d9}.draft{background:#302820;color:#d9cdbb}.button{background:#322720;border-color:#79614c;color:#f3e8d7}.button:hover{background:#49372b}.button.light{background:#2c231d;border-color:#9c8269;color:#f5ead9}.button.outline{color:#eee6d9;border-color:#79614c}.story{background:#2b241e}.story-copy p{color:#c1b29f}.panel{background:#29221c}.filter.active{background:#4b382b;color:#fff1dd}.calendar button.selected{background:#624a37;color:#fff4e4}input,select,textarea{background:#251f1a;color:#eee6d9}input::placeholder,textarea::placeholder{color:#a99b8a}footer{background:#181410;color:#eee6d9}footer small{color:#b7a894}.close{background:#2c231d;color:#f5ead9}#toast{background:#eee6d9;color:#211c18}


:root{--surface:#29221c;--base:#211c18;--button:#322720;--button-hover:#49372b;--edge:#79614c;--button-text:#f3e8d7;--story:#2b241e;--footer:#181410}
:root[data-palette="linen"]{color-scheme:light;--base:#f1eadd;--ink:#3b342b;--muted:#736554;--line:#d1c4af;--surface:#faf4e9;--button:#463d30;--button-hover:#62533e;--edge:#78664c;--button-text:#fff4e3;--story:#e3dbc9;--footer:#373b2c}
:root[data-palette="clay"]{color-scheme:light;--base:#e6d6c7;--ink:#482e25;--muted:#78594b;--line:#bfa18b;--surface:#eedfd1;--button:#734934;--button-hover:#8b5b41;--edge:#9a7057;--button-text:#fff2df;--story:#d6bba6;--footer:#482f26}
:root[data-palette="forest"]{color-scheme:dark;--base:#202a23;--ink:#ede8d8;--muted:#b8bea9;--line:#4b5947;--surface:#29352b;--button:#354530;--button-hover:#4b5d3f;--edge:#7b8967;--button-text:#f4eedc;--story:#2b372b;--footer:#151e18}
body{background:var(--base);color:var(--ink)}.panel,input,select,textarea{background:var(--surface);color:var(--ink)}.button,.button.light{background:var(--button);border-color:var(--edge);color:var(--button-text)}.button:hover{background:var(--button-hover)}.button.outline{background:transparent;color:var(--ink)}.story{background:var(--story)}.story-copy p{color:var(--muted)}footer{background:var(--footer);color:#eee6d9}.draft{background:var(--button);color:var(--button-text)}.filter.active,.calendar button.selected{background:var(--button);color:var(--button-text)}.palette-label{margin:0;font-size:8px;text-transform:uppercase;letter-spacing:1.2px}.palette-label select{width:115px;margin:5px 0 0;padding:7px;font-size:10px;border:1px solid var(--line)}#toast{background:var(--ink);color:var(--base)}input::placeholder,textarea::placeholder{color:var(--muted)}
@media(max-width:760px){header{height:auto;min-height:115px;gap:12px;padding-top:15px}.palette-label{margin-left:auto}.palette-label select{width:92px}.client-link{font-size:8px}.client-link span{margin-left:8px}nav{padding-top:4px}.brand{font-size:21px}}

/* Coordinated earth-tone combinations, with independent accent and section colors. */
:root,:root[data-palette="espresso"]{--base:#211c18;--ink:#eee6d9;--muted:#b8aa99;--line:#5b5947;--surface:#2b3026;--button:#322720;--button-hover:#49372b;--edge:#9a8566;--button-text:#f3e8d7;--story:#48543b;--story-ink:#f3ecdd;--footer:#252d22;--accent:#c3ad88;--strip:#424c36}
:root[data-palette="darkolive"]{color-scheme:dark;--base:#25231b;--ink:#f1e8d6;--muted:#bcb8a1;--line:#555743;--surface:#302e24;--button:#29251d;--button-hover:#414832;--edge:#6e7155;--button-text:#f4ecd9;--story:#414a35;--story-ink:#f3ecdd;--footer:#303a2c;--accent:#c6cba3;--strip:#424c36}
:root[data-palette="linen"]{color-scheme:light;--base:#f1eadd;--ink:#3b342b;--muted:#736554;--line:#c5c4ad;--surface:#e4e6d5;--button:#47523a;--button-hover:#35402b;--edge:#6e7955;--button-text:#fff4e3;--story:#dfbca5;--story-ink:#453429;--footer:#343f2d;--accent:#87543a;--strip:#47523a}
:root[data-palette="clay"]{color-scheme:light;--base:#e9dfce;--ink:#3d3b2e;--muted:#706653;--line:#bdad91;--surface:#dce0ce;--button:#864d36;--button-hover:#6d3a28;--edge:#995f43;--button-text:#fff2df;--story:#354b3c;--story-ink:#f3ead6;--footer:#3b3026;--accent:#79452f;--strip:#354b3c}
:root[data-palette="forest"]{color-scheme:dark;--base:#1f2c25;--ink:#f0eadb;--muted:#c2bda6;--line:#5d6851;--surface:#303c2c;--button:#b6995f;--button-hover:#c9ad73;--edge:#c9ad73;--button-text:#21291e;--story:#ded1b8;--story-ink:#303d2e;--footer:#30231d;--accent:#d5b982;--strip:#3b4931}
.draft{background:var(--strip);color:#f3ecdd}.eyebrow,.text-link{color:var(--accent)}.hero .eyebrow,.gallery-banner .eyebrow{color:#f5efdf}.story-copy,.story-copy p{color:var(--story-ink)}.story-copy .eyebrow,.story-copy .text-link{color:var(--story-ink)}.story-copy p{opacity:.85}.panel[style*="--story"]{color:var(--story-ink)}.client-link{color:var(--accent)}.photo-caption span{color:var(--accent)}footer .text-link,footer .eyebrow{color:#eae0c8}
/* Compact persistent footer, with measured clearance below page content. */
body{padding-bottom:var(--footer-height,90px)}footer{position:fixed;bottom:0;left:0;right:0;z-index:4;padding:14px 4%;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #ffffff20}footer .brand{font-size:21px}footer .brand span{font-size:7px;letter-spacing:3px;margin-top:2px}footer>p{display:none}footer>div{display:flex;gap:16px;flex-wrap:wrap;font-size:10px}footer small{max-width:190px;font-size:8px;line-height:1.5;text-align:right}footer a:hover{text-decoration:underline}@media(max-width:760px){footer{padding:10px 4%;flex-wrap:wrap;gap:9px}footer .brand{font-size:18px}footer>div{order:3;width:100%;justify-content:space-between;gap:8px;font-size:9px}footer small{max-width:165px;font-size:7px}}
.brand{display:inline-flex;align-items:center;gap:13px}.brand .brand-emblem{display:block;margin:0;width:40px;height:48px;color:var(--accent)}.brand-emblem svg{height:100%;width:100%}.brand .brand-words{display:block;font:30px/1 var(--serif);letter-spacing:-.5px;margin:0;text-align:left}.brand .brand-sub{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:5px;margin-top:9px;text-align:center}.brand:hover{text-decoration:none}footer .brand{gap:8px}footer .brand-emblem{width:24px;height:31px;color:#c4bd9b}footer .brand-words{font-size:20px}footer .brand-sub{font-size:6px;letter-spacing:3px;margin-top:5px}@media(max-width:760px){header .brand{gap:7px}header .brand-emblem{width:28px;height:36px}header .brand-words{font-size:23px}header .brand-sub{font-size:6px;letter-spacing:4px;margin-top:7px}footer .brand-words{font-size:17px}footer .brand-emblem{width:20px;height:27px}}

/* Announcement ribbon and footer share one brand surface. */
.draft{background:var(--footer);color:#f3ecdd}

.schedule-notice{margin-bottom:26px;padding:20px 25px;border-left:3px solid var(--accent)}.schedule-notice p{margin:8px 0 0;font-size:12px;color:var(--muted)}.schedule-tabs{flex-wrap:wrap}.schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.schedule-row{padding:22px 0;border-top:1px solid var(--line)}.schedule-row p{font-size:12px;margin:10px 0;color:var(--muted)}.schedule-row .filter{font-size:10px;padding:8px 12px}.status{display:inline-block;text-transform:uppercase;font-size:9px;letter-spacing:1.5px;border:1px solid var(--line);padding:6px 9px;margin-right:8px}.schedule-row button:disabled{opacity:.4;cursor:default}@media(max-width:760px){.schedule-tabs{gap:8px}.schedule-tabs .filter{padding:10px 12px}.schedule-fields{grid-template-columns:1fr}}
#booking-flow{background:var(--base);color:var(--ink);border:1px solid var(--line);width:960px;max-width:94vw;max-height:92vh;padding:0}#booking-flow::backdrop{background:#17130fbd;backdrop-filter:blur(5px)}.booking-flow-head{display:flex;justify-content:space-between;align-items:center;padding:22px 32px;border-bottom:1px solid var(--line)}.booking-flow-head .eyebrow{margin:0}.flow-close{background:transparent;color:var(--ink);border:0;font-size:28px;padding:0 8px}.flow-steps{padding:20px 32px;display:flex;gap:10px;border-bottom:1px solid var(--line)}.flow-content{padding:32px;max-width:760px;margin:auto}.flow-content>h2{font-size:52px}.booking-details{margin:25px 0}.booking-details>div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.booking-details dt{color:var(--muted)}.booking-details dd{margin:0;overflow-wrap:anywhere}.agreement-preview{border-left:2px solid var(--accent);padding:16px 22px;margin:20px 0 30px;background:var(--surface)}.agreement-preview p{font-size:12px}.email-preview-toolbar h3{font:36px var(--serif);margin:0 0 20px}.email-preview-toolbar .filter{margin:0 8px 10px 0}.email-envelope{background:var(--surface);padding:18px 22px;margin:14px 0}.email-envelope p{font-size:11px;margin:3px 0;overflow-wrap:anywhere}.flow-actions{display:flex;gap:12px;margin:22px 0;flex-wrap:wrap}.flow-content>p{line-height:1.8}#booking-flow button:disabled{opacity:.5;cursor:default}@media(max-width:760px){.booking-flow-head,.flow-steps{padding:16px}.booking-flow-head .eyebrow{font-size:8px}.flow-steps{gap:5px;flex-wrap:wrap}.flow-steps .filter{padding:9px;font-size:9px}.flow-content{padding:24px 16px}.flow-content>h2{font-size:43px}}
