/* Abundant Living Estates — theme styles. Tokens from the design system. */
@font-face{font-family:"Newsreader";src:url("fonts/newsreader-latin-var.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Figtree";src:url("fonts/figtree-latin-var.woff2") format("woff2");font-weight:300 800;font-style:normal;font-display:swap}

:root{
--green-900:#23310f;--green-800:#374c1f;--green-700:#4b6529;--green-600:#5f7d3e;--green-500:#769354;--green-400:#9eb26c;--green-300:#bfcaa1;--green-200:#dce4c8;--green-100:#eef2e4;--green-050:#f7f9f1;
--gold-700:#a9762a;--gold-600:#c68f30;--gold-500:#d9a343;--gold-400:#efbb5b;--gold-300:#ffce6d;--gold-200:#fbe3b4;--gold-100:#fdf3df;
--lavender-600:#6f639b;--lavender-400:#a79bc4;--lavender-100:#f3f0f8;
--sand-050:#fdfbf6;--sand-100:#faf6ee;--sand-200:#f3ecdf;--sand-300:#e8dfcc;--sand-400:#d6c9af;
--stone-500:#a79a85;--stone-600:#7c7263;--stone-700:#5b5548;--ink-800:#3a3630;--ink-900:#221f1a;--white:#fff;
--danger-700:#8f3325;--danger-600:#b3402f;--danger-100:#fbeae7;
--brand:var(--green-700);--brand-hover:var(--green-800);--brand-soft:var(--green-100);
--page:var(--sand-100);--surface:var(--white);--surface-sunken:var(--sand-200);--surface-brand:var(--green-800);--surface-brand-soft:var(--green-050);--surface-accent-soft:var(--gold-100);
--text-heading:var(--green-800);--text-body:var(--ink-800);--text-muted:var(--stone-600);--text-on-brand:var(--sand-050);--text-link:var(--green-700);--text-link-hover:var(--gold-700);
--border:var(--sand-300);--border-strong:var(--sand-400);--border-focus:var(--green-600);
--overlay:color-mix(in oklab,var(--green-900) 62%,transparent);
--font-display:"Newsreader",Georgia,"Times New Roman",serif;
--font-sans:"Figtree","Helvetica Neue",Arial,sans-serif;
--text-2xs:.8125rem;--text-xs:.875rem;--text-sm:.9375rem;--text-base:1.0625rem;--text-md:1.1875rem;--text-lg:1.375rem;--text-xl:1.625rem;--text-2xl:2rem;--text-3xl:2.5rem;
--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.5;--leading-relaxed:1.65;
--tracking-eyebrow:.16em;
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;
--gutter:var(--space-6);--section-y:var(--space-24);--section-y-tight:var(--space-16);--card-pad:var(--space-8);
--container:1200px;--container-narrow:760px;
--radius-sm:6px;--radius-md:10px;--radius-lg:24px;--radius-xl:24px;--radius-card:14px;--radius-pill:999px;--radius-image:18px;
--radius-arch:50% 50% var(--radius-md) var(--radius-md) / 34% 34% var(--radius-md) var(--radius-md);
--shadow-sm:0 1px 3px color-mix(in oklab,var(--green-900) 7%,transparent),0 1px 2px color-mix(in oklab,var(--green-900) 4%,transparent);
--shadow-md:0 4px 14px color-mix(in oklab,var(--green-900) 8%,transparent);
--shadow-lg:0 12px 32px color-mix(in oklab,var(--green-900) 11%,transparent);
--shadow-card:var(--shadow-sm);
--dur:200ms;--dur-slow:320ms;--ease:cubic-bezier(.22,.61,.36,1);
--head-h:152px}

/* Neutralize inherited theme defaults without out-specificity-ing our own rules. */
:where(body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,figure,blockquote,fieldset,legend,button,input,select,textarea){margin:0;padding:0}
:where(ul,ol){list-style:none}
:where(button,input,select,textarea){font:inherit;color:inherit;background:none;border:0}
:where(img,svg,iframe){display:block;max-width:100%}
:where(table){border-collapse:collapse}
*,*::before,*::after{box-sizing:border-box}

body.al-site{background:var(--page);color:var(--text-body);font:var(--font-weight,400) var(--text-base)/var(--leading-relaxed) var(--font-sans);-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden}
.al-site h1,.al-site h2,.al-site h3,.al-site h4{color:var(--text-heading);font-family:var(--font-display);font-weight:400;line-height:var(--leading-snug)}
.al-site h4{font-family:var(--font-sans);font-weight:600;font-size:var(--text-lg)}
.al-site p{margin:0 0 var(--space-4)}
.al-site p:last-child{margin-bottom:0}
.al-site a{color:var(--text-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--dur) var(--ease)}
.al-site a:hover{color:var(--text-link-hover);text-decoration-thickness:2px}
.al-site a:focus-visible,.al-site button:focus-visible,.al-site input:focus-visible,.al-site select:focus-visible,.al-site textarea:focus-visible,.al-site summary:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}
.al-site ::selection{background:var(--gold-200);color:var(--green-900)}
.al-site blockquote{font:italic 300 var(--text-xl)/var(--leading-snug) var(--font-display);color:var(--green-700)}
.al-site strong{font-weight:600}
.al-icon{flex:0 0 auto}
.al-skip{position:absolute;left:-9999px}
.al-skip:focus{left:var(--space-4);top:var(--space-4);z-index:200;background:var(--white);padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm)}

/* Layout */
.al-wrap{max-width:var(--container);margin:0 auto;padding-inline:var(--space-6)}
.al-section{padding-block:var(--section-y)}
.al-section--tight{padding-block:var(--section-y-tight)}
.al-green{background:var(--surface-brand);color:var(--text-on-brand)}
.al-green h2,.al-green h3,.al-green h4{color:var(--sand-050)}
.al-cream{background:var(--surface)}
.al-gold{background:var(--surface-accent-soft)}
.al-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:var(--space-16);align-items:center}
.al-split--top{align-items:start}
.al-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:var(--gutter)}
.al-prose{max-width:var(--container-narrow)}
[id]{scroll-margin-top:calc(var(--head-h) + 16px)}

/* Type roles */
.al-eyebrow{margin:0 0 var(--space-4);font:600 var(--text-xs)/1.2 var(--font-sans);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--gold-700)}
.al-green .al-eyebrow,.al-eyebrow--light{color:var(--gold-300)}
.al-h2{margin:0;font:400 clamp(2rem,3.6vw,2.5rem)/var(--leading-snug) var(--font-display);color:var(--text-heading)}
.al-green .al-h2{color:var(--sand-050)}
.al-lead{font:400 var(--text-md)/var(--leading-relaxed) var(--font-sans);max-width:64ch}
.al-green .al-lead{color:var(--sand-100)}
.al-small{font:400 var(--text-sm)/var(--leading-normal) var(--font-sans);color:var(--text-muted)}
.al-rule{display:block;width:64px;height:4px;background:var(--gold-500);margin-top:var(--space-5)}

/* Buttons */
.al-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-6);border-radius:var(--radius-pill);font:600 var(--text-base)/1 var(--font-sans);text-decoration:none;cursor:pointer;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.al-btn:hover{text-decoration:none}
.al-btn--lg{min-height:56px;padding:0 var(--space-8);font-size:var(--text-md)}
.al-btn--primary{background:var(--brand);color:var(--sand-050)}
.al-btn--primary:hover{background:var(--brand-hover);color:var(--sand-050);transform:translateY(-2px)}
.al-btn--secondary{background:transparent;color:var(--green-700);box-shadow:inset 0 0 0 1px var(--green-600)}
.al-btn--secondary:hover{background:var(--green-100);color:var(--green-800);transform:translateY(-2px)}
.al-green .al-btn--secondary{color:var(--sand-050);box-shadow:inset 0 0 0 1px var(--green-400)}
.al-green .al-btn--secondary:hover{background:var(--green-700);color:var(--sand-050)}
.al-btn--accent{background:var(--gold-500);color:var(--green-900)}
.al-btn--accent:hover{background:var(--gold-400);color:var(--green-900);transform:translateY(-2px)}
.al-btn--full{width:100%}
.al-btns{display:flex;flex-wrap:wrap;gap:var(--space-4)}

/* Cards and furniture */
.al-card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--card-pad)}
.al-card--bordered{border:1px solid var(--border)}
.al-arch{width:56px;height:56px;border-radius:var(--radius-arch);background:var(--green-100);display:grid;place-items:center;color:var(--green-700)}
.al-badge{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--green-100);color:var(--green-800);font:600 var(--text-xs)/1 var(--font-sans)}
.al-tag{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px var(--border-strong);background:var(--white);color:var(--green-800);font:600 var(--text-sm)/1 var(--font-sans);cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.al-tag:hover{background:var(--green-100)}
.al-tag[aria-pressed="true"]{background:var(--green-700);color:var(--sand-050);box-shadow:none}
.al-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.al-tag--static{cursor:default}

/* Header */
.al-head{position:sticky;top:0;z-index:60}
.al-util{background:var(--surface-brand);color:var(--text-on-brand)}
.al-util .al-wrap{min-height:40px;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-8);font:400 var(--text-sm)/1.4 var(--font-sans);padding-block:var(--space-2)}
.al-util span{display:flex;align-items:center;gap:var(--space-2)}
.al-util a{color:var(--text-on-brand);text-decoration:none}
.al-util a:hover{color:var(--gold-300)}
.al-util .al-util__loc{margin-left:auto}
.al-bar{background:color-mix(in oklab,var(--sand-100) 92%,transparent);backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--border)}
.al-bar .al-wrap{display:flex;align-items:center;gap:var(--space-4) var(--space-8);padding-block:var(--space-3)}
.al-logo{display:block;line-height:0}
.al-logo img{height:96px;width:auto}
.al-nav{margin-left:auto;display:flex;align-items:center;gap:var(--space-4) var(--space-8)}
.al-nav a:not(.al-btn){font:600 var(--text-sm)/1.3 var(--font-sans);color:var(--text-heading);text-decoration:none;padding-block:var(--space-2)}
.al-nav a:not(.al-btn):hover{color:var(--gold-700)}
.al-nav a[aria-current="page"]{color:var(--gold-700);box-shadow:inset 0 -2px 0 var(--gold-500)}
.al-burger{display:none;margin-left:auto;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-sm);color:var(--text-heading);cursor:pointer}
.al-burger:hover{background:var(--green-100)}

/* Footer */
.al-foot{background:var(--surface-brand);color:var(--sand-100);padding:var(--space-20) 0 var(--space-10)}
.al-foot__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:var(--space-10)}
.al-foot a{color:var(--sand-050)}
.al-foot a:hover{color:var(--gold-300)}
.al-foot__logo{display:inline-block;background:var(--sand-050);border-radius:var(--radius-md);padding:var(--space-5)}
.al-foot__logo img{height:108px;width:auto}
.al-foot__eyebrow{margin:0 0 var(--space-4);font:600 var(--text-xs)/1.2 var(--font-sans);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--gold-300)}
.al-foot__lines{font:400 var(--text-base)/2 var(--font-sans);color:var(--sand-100)}
.al-foot__base{max-width:var(--container);margin:var(--space-10) auto 0;padding:var(--space-6) var(--space-6) 0;border-top:1px solid var(--green-700);font:400 var(--text-sm)/var(--leading-normal) var(--font-sans);color:var(--sand-300)}

/* Hero */
.al-hero{padding:var(--space-16) 0 var(--section-y-tight)}
.al-hero h1{margin:0;font:400 clamp(2.75rem,6.5vw,5rem)/.98 var(--font-display);letter-spacing:-.01em;text-wrap:balance}
.al-hero__copy p{font:400 clamp(1.2rem,1.9vw,1.4rem)/1.55 var(--font-sans);color:var(--text-body);max-width:38ch;margin:var(--space-5) 0 0}
.al-hero__img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-arch);box-shadow:var(--shadow-lg)}
.al-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:var(--space-8);padding-block:var(--space-10)}
.al-facts dt{font:600 var(--text-xs)/1.2 var(--font-sans);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--gold-300)}
.al-facts dd{margin:var(--space-2) 0 0;font:500 var(--text-xl)/var(--leading-snug) var(--font-display);color:var(--sand-050)}

/* Green pillar tiles */
.al-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:var(--space-5)}
.al-pillar{background:var(--green-700);border-radius:var(--radius-card);padding:var(--space-6)}
.al-pillar__icon{display:block;color:var(--gold-300)}
.al-pillar h3{margin:var(--space-4) 0 var(--space-2);font-family:var(--font-sans);font-weight:600;font-size:var(--text-lg);color:var(--sand-050)}
.al-pillar p{margin:0;font-size:var(--text-sm);color:var(--green-200)}

/* Service and feature lists */
.al-svc{display:flex;flex-direction:column;gap:var(--space-4)}
.al-svc h3{margin:0;font-family:var(--font-sans);font-weight:600;font-size:var(--text-lg)}
.al-svc p{margin:0}
.al-featlist{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}
.al-featlist li{display:flex;gap:var(--space-3);align-items:center}
.al-featlist .al-icon{color:var(--green-600)}

/* Rooms */
.al-rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:var(--gutter);align-items:stretch}
.al-rooms img{width:100%;height:100%;min-height:340px;object-fit:cover;border-radius:var(--radius-image);box-shadow:var(--shadow-card)}
.al-head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-8)}

/* Gallery */
.al-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:var(--gutter);margin-top:var(--space-12)}
.al-shot{display:block;text-align:left;cursor:pointer;transition:transform var(--dur-slow) var(--ease)}
.al-shot:hover{transform:translateY(-2px)}
.al-shot__frame{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-image);background:var(--surface-sunken);box-shadow:var(--shadow-card)}
.al-shot__frame img{width:100%;height:100%;object-fit:cover}
.al-shot__cap{display:block;margin-top:var(--space-3);font:600 var(--text-lg)/var(--leading-snug) var(--font-sans);color:var(--text-heading)}
.al-shot[hidden]{display:none}
.al-lightbox{position:fixed;inset:0;z-index:100;background:var(--overlay);backdrop-filter:blur(3px);display:flex;flex-direction:column;padding:var(--space-6)}
.al-lightbox[hidden]{display:none}
.al-lightbox__top{display:flex;align-items:center;gap:var(--space-6);color:var(--sand-050)}
.al-lightbox__cap{margin:0;font:600 var(--text-lg)/1.3 var(--font-sans);color:var(--sand-050)}
.al-lightbox__count{margin:0 auto 0 0;font-size:var(--text-sm);color:var(--sand-300)}
.al-lightbox__body{flex:1;min-height:0;display:flex;align-items:center;gap:var(--space-6);margin-top:var(--space-6)}
.al-lightbox__body img{flex:1;min-width:0;max-height:100%;margin:auto;object-fit:contain;border-radius:var(--radius-image)}
.al-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-pill);cursor:pointer;color:var(--sand-050);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--sand-050) 45%,transparent);transition:background-color var(--dur) var(--ease)}
.al-iconbtn:hover{background:color-mix(in oklab,var(--sand-050) 18%,transparent)}
.al-iconbtn--lg{width:56px;height:56px}

/* Accordion */
.al-acc{border-top:1px solid var(--border)}
.al-acc details{border-bottom:1px solid var(--border)}
.al-acc summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:56px;padding-block:var(--space-4);cursor:pointer;list-style:none;font:600 var(--text-lg)/var(--leading-snug) var(--font-sans);color:var(--text-heading)}
.al-acc summary::-webkit-details-marker{display:none}
.al-acc summary .al-icon{color:var(--green-600);transition:transform var(--dur) var(--ease)}
.al-acc details[open] summary .al-icon{transform:rotate(180deg)}
.al-acc__body{padding:0 0 var(--space-6);max-width:64ch}

/* Aside panel */
.al-panel{background:var(--surface-brand-soft);border:1px solid var(--green-200);border-radius:var(--radius-lg);padding:var(--space-10);align-self:start}
.al-panel__phone{font:400 var(--text-xl)/1.2 var(--font-display);color:var(--green-800);margin:0 0 var(--space-6)}
.al-panel__phone a{color:var(--green-800);text-decoration:none}

/* Contact list on green */
.al-contact{display:grid;gap:var(--space-6);margin-top:var(--space-10)}
.al-contact>div{display:flex;gap:var(--space-4);align-items:flex-start}
.al-contact__disc{flex:0 0 auto;width:44px;height:44px;border-radius:var(--radius-arch);background:var(--green-700);display:grid;place-items:center;color:var(--gold-300)}
.al-contact dt{font:600 var(--text-xs)/1.2 var(--font-sans);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--gold-300)}
.al-contact dd{margin:var(--space-2) 0 0;color:var(--sand-050)}
.al-contact dd a{color:var(--sand-050)}

/* Map block */
.al-map{border-radius:var(--radius-image);overflow:hidden;box-shadow:var(--shadow-card)}
.al-map iframe{width:100%;height:420px;border:0}

/* Closing band */
.al-close{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8);justify-content:space-between}
.al-close p{margin:0;font:400 clamp(1.75rem,3.2vw,2.5rem)/var(--leading-snug) var(--font-display);color:var(--text-heading);max-width:24ch}

/* Quote band */
.al-quote{max-width:var(--container-narrow);margin:0 auto;text-align:center}
.al-quote__mark{display:inline-flex;color:var(--gold-500);margin-bottom:var(--space-5)}
.al-quote blockquote{font-size:var(--text-2xl);color:var(--green-800)}
.al-quote p{margin:var(--space-6) 0 0;font:600 var(--text-sm)/1.3 var(--font-sans);color:var(--stone-700)}
.al-scripture{padding:var(--space-8) var(--space-10);background:var(--surface-accent-soft);border-radius:var(--radius-lg);max-width:var(--container-narrow);margin:var(--space-10) 0 0}
.al-scripture blockquote{font-size:var(--text-xl);color:var(--green-800)}
.al-scripture figcaption{margin-top:var(--space-4);font:600 var(--text-sm)/1.3 var(--font-sans);color:var(--gold-700)}

/* Founder */
.al-portrait{aspect-ratio:4/5;border-radius:var(--radius-image);overflow:hidden;background:var(--surface-sunken);box-shadow:var(--shadow-card)}
.al-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}

/* Fluent Forms, scoped to our form panel */
.al-form{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);min-width:0;padding:clamp(24px,3vw,40px)}
.al-form .ff-el-group{margin-bottom:var(--space-5)}
.al-form .ff-el-input--label label{display:block;margin-bottom:var(--space-2);font:600 var(--text-sm)/1.3 var(--font-sans);color:var(--text-heading)}
.al-form .ff-el-input--label .ff-el-is-required:after{content:" *";color:var(--danger-600)}
.al-form input[type=text],.al-form input[type=email],.al-form input[type=tel],.al-form input[type=number],.al-form select,.al-form textarea{width:100%;min-height:48px;padding:14px var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--white);color:var(--text-body);font:400 var(--text-base)/1.4 var(--font-sans);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.al-form textarea{min-height:120px}
.al-form input:focus,.al-form select:focus,.al-form textarea:focus{outline:0;border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in oklab,var(--green-500) 38%,transparent)}
.al-form .ff-el-form-check{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-sm);color:var(--text-muted)}
.al-form .ff-el-form-check input[type=checkbox]{flex:0 0 auto;width:22px;height:22px;margin-top:2px;accent-color:var(--green-700)}
.al-form .ff-el-help-message{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}
.al-form .ff-el-is-error input,.al-form .ff-el-is-error select,.al-form .ff-el-is-error textarea{border-color:var(--danger-600)}
.al-form .error.text-danger,.al-form .ff-el-is-error .error{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--danger-700)}
.al-form .ff-message-success{background:var(--green-100);border-left:4px solid var(--green-700);border-radius:var(--radius-sm);padding:var(--space-6);font-size:var(--text-md);color:var(--ink-800)}
.al-form .ff-errors-in-stack,.al-form .error-clear{background:var(--danger-100);border-left:4px solid var(--danger-600);border-radius:var(--radius-sm);padding:var(--space-4);color:var(--ink-800)}
.al-form .ff-btn-submit,.al-form button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 var(--space-8);border-radius:var(--radius-pill);background:var(--brand);color:var(--sand-050);font:600 var(--text-md)/1 var(--font-sans);cursor:pointer;transition:background-color var(--dur) var(--ease)}
.al-form .ff-btn-submit:hover,.al-form button[type=submit]:hover{background:var(--brand-hover)}
.al-form .ff-t-cell{padding:0}
.al-form .ff-t-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:0 var(--space-5)}

@media (max-width:1080px){
.al-nav{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;gap:var(--space-2);padding-bottom:var(--space-4)}
.al-nav.is-open{display:flex}
.al-nav a:not(.al-btn){padding:var(--space-3) 0;border-bottom:1px solid var(--border)}
.al-nav .al-btn{margin-top:var(--space-3);width:100%}
.al-burger{display:inline-flex}
.al-bar .al-wrap{flex-wrap:wrap}
:root{--head-h:120px}
}
@media (max-width:860px){
:root{--section-y:var(--space-16);--section-y-tight:var(--space-12)}
.al-split{gap:var(--space-10)}
.al-logo img{height:72px}
.al-panel{padding:var(--space-6)}
.al-scripture{padding:var(--space-6)}
.al-util .al-util__loc{margin-left:0}
.al-lightbox__body{gap:var(--space-2)}
.al-iconbtn--lg{width:44px;height:44px}
}
@media (prefers-reduced-motion:reduce){.al-site *{animation-duration:.01ms!important;transition-duration:.01ms!important}.al-shot:hover,.al-btn:hover{transform:none}}

/* --- Page-level roles ------------------------------------------------- */
.al-page-h1{margin:0;font:400 clamp(2.125rem,4.4vw,3.25rem)/1.1 var(--font-display);letter-spacing:-.01em;color:var(--text-heading);text-wrap:pretty}
.al-green .al-page-h1{color:var(--sand-050)}
.al-card__h{margin:var(--space-5) 0 var(--space-4);font:500 var(--text-xl)/var(--leading-snug) var(--font-display);color:var(--text-heading)}
.al-cards--care h3{font-size:var(--text-xl)}
.al-cards--two{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr))}
.al-stack{display:grid;gap:var(--space-6);align-content:start}
.al-card__lede{font:600 var(--text-lg)/var(--leading-snug) var(--font-sans);color:var(--text-heading)}
.al-svc{height:100%}

/* Captioned figure (rooms page) */
.al-figure{display:flex;flex-direction:column;gap:var(--space-4);margin:0}
.al-figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-image);box-shadow:var(--shadow-card)}
.al-figure figcaption{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-base);color:var(--text-body)}
.al-figure__title{font:600 var(--text-lg)/var(--leading-snug) var(--font-sans);color:var(--text-heading)}

/* Footer page list */
.al-foot__nav{display:flex;flex-direction:column;gap:var(--space-1)}
.al-foot__nav a{display:inline-flex;align-items:center;min-height:40px;font:400 var(--text-base)/1.4 var(--font-sans)}

/* Burger swaps glyph when open */
.al-burger__close{display:none}
.al-burger[aria-expanded="true"] .al-burger__open{display:none}
.al-burger[aria-expanded="true"] .al-burger__close{display:block}

.al-featlist li{align-items:flex-start}
.al-featlist li .al-icon{margin-top:3px}
.al-acc summary span{flex:1;min-width:0}

/* --- Tablet ----------------------------------------------------------- */
@media (max-width:1080px){
.al-hero{padding-top:var(--space-12)}
.al-rooms{grid-template-columns:1fr}
.al-rooms img{min-height:0;aspect-ratio:4/3}
}

/* --- Phone ------------------------------------------------------------ */
@media (max-width:860px){
.al-util .al-wrap{gap:var(--space-1) var(--space-5);font-size:var(--text-2xs)}
.al-util__hours{display:none}
.al-hero__img{aspect-ratio:4/3;max-height:52vh}
.al-facts{gap:var(--space-6);padding-block:var(--space-8)}
.al-facts dd{font-size:var(--text-lg)}
.al-portrait{aspect-ratio:4/5;max-width:520px}
.al-close{gap:var(--space-6)}
.al-btns .al-btn{flex:1 1 auto;justify-content:center}
}
@media (max-width:640px){
:root{--gutter:var(--space-4);--card-pad:var(--space-6);--section-y:var(--space-12);--section-y-tight:var(--space-10)}
.al-wrap{padding-inline:var(--space-4)}
.al-logo img{height:64px}
.al-hero{padding-top:var(--space-8)}
.al-hero__copy p{font-size:1.0625rem}
.al-btn{width:100%;padding-inline:var(--space-5)}
.al-btns{gap:var(--space-3)}
.al-nav .al-btn{width:100%}
.al-foot{padding-top:var(--space-12)}
.al-foot__logo img{height:84px}
.al-lightbox{padding:var(--space-3)}
.al-lightbox__body{flex-wrap:wrap;justify-content:center}
.al-lightbox__body img{order:-1;flex:1 1 100%;max-height:calc(100% - 72px)}
.al-lightbox__cap{font-size:var(--text-base)}
.al-scripture blockquote{font-size:var(--text-lg)}
.al-quote blockquote{font-size:var(--text-xl)}
}
@media (max-width:420px){
.al-util .al-wrap{justify-content:space-between}
.al-util__loc{margin-left:0}
}
/* --- Button ink ------------------------------------------------------- */
/* `.al-site a` (0,1,1) outranks `.al-btn--*` (0,1,0), so the link color was
   winning and putting green text on the green pill: invisible until :hover
   recolored it. These anchor-qualified rules restore the intended ink. */
.al-site a.al-btn{text-decoration:none}
.al-site a.al-btn--primary,.al-site a.al-btn--primary:hover,.al-site a.al-btn--primary:focus-visible{color:var(--sand-050)}
.al-site a.al-btn--accent,.al-site a.al-btn--accent:hover,.al-site a.al-btn--accent:focus-visible{color:var(--green-900)}
.al-site a.al-btn--secondary{color:var(--green-700)}
.al-site a.al-btn--secondary:hover{color:var(--green-800)}
.al-site .al-green a.al-btn--secondary,.al-site .al-green a.al-btn--secondary:hover{color:var(--sand-050)}
.al-site a.al-btn:hover{text-decoration:none}

@media (max-width:640px){
.al-hero__img{aspect-ratio:3/2;max-height:42vh}
}