@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Lato:wght@300;400;700&display=swap');
:root{--sage:#A8B5A2;--forest:#6B7D6A;--cream:#F7F3ED;--sand:#DDD3C4;--apricot:#E8B89C;--gold:#D6B37A;--ink:#263744;--white:#fff;--shadow:0 18px 50px rgba(38,55,68,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Lato,Arial,sans-serif;line-height:1.7}.site-header{position:fixed;top:18px;left:0;right:0;z-index:1000;padding:0 24px;transition:.25s}.header-inner{max-width:1760px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 28px;border:1px solid rgba(255,255,255,.55);border-radius:34px;background:rgba(247,243,237,.78);backdrop-filter:blur(14px);box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--forest);min-width:310px}.brand-mark{width:72px;height:72px;object-fit:cover;border-radius:50%;box-shadow:0 8px 20px rgba(0,0,0,.08)}.brand-title{display:block;font-family:'Cormorant Garamond',serif;font-size:2.25rem;line-height:.9;font-weight:700}.brand-subtitle{display:block;text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:.95rem}.brand-claim{display:block;text-transform:uppercase;letter-spacing:.22em;font-size:.66rem;color:#596b58}.main-navigation{display:flex;align-items:center;gap:26px}.main-navigation ul,.nav-menu{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}.main-navigation a{color:#31463f;text-decoration:none;font-weight:800;font-size:1rem}.main-navigation a:hover,.main-navigation .active>a{color:var(--forest)}.nav-cta,.button-primary{display:inline-flex;align-items:center;gap:12px;border-radius:18px;background:var(--apricot);color:#fff!important;text-decoration:none;font-weight:800;letter-spacing:.04em;padding:14px 24px;box-shadow:0 14px 35px rgba(232,184,156,.35);white-space:nowrap}.nav-cta:hover,.button-primary:hover{background:var(--gold);color:#fff!important}.nav-toggle{display:none;background:transparent;border:0;width:46px;height:42px;cursor:pointer}.nav-toggle span{display:block;height:2px;background:var(--forest);margin:8px 4px;border-radius:999px}.hero{min-height:100vh;background-size:cover;background-position:center center;display:flex;align-items:center;padding:165px 8vw 80px;position:relative}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,243,237,.42),rgba(247,243,237,.16) 48%,rgba(247,243,237,0) 72%);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:680px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.26em;color:#31463f;font-weight:800;font-size:.82rem}.hero h1,.intro-section h2,.values h2,.timeline h2,.contact-section h2{font-family:'Cormorant Garamond',serif;color:#5d715f;line-height:.92;margin:.12em 0 .25em}.hero h1{font-size:clamp(4rem,6.3vw,6.8rem)}.lead{font-size:1.45rem;color:#526858}.hero p:not(.eyebrow):not(.lead){max-width:670px}.site-main,.contact-section{max-width:1240px;margin:0 auto;padding:90px 24px}.intro-section{text-align:center;max-width:820px;margin:0 auto 54px}.intro-section h2,.values h2,.timeline h2,.contact-section h2{font-size:clamp(2.7rem,5vw,4.6rem)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.card{background:rgba(255,255,255,.6);border:1px solid rgba(107,125,106,.13);border-radius:28px;padding:34px;box-shadow:0 12px 36px rgba(38,55,68,.07)}.card-number{color:var(--gold);font-weight:800}.card h3{font-family:'Cormorant Garamond',serif;color:var(--forest);font-size:2.2rem;margin:.2em 0}.values{display:grid;grid-template-columns:1fr 1.4fr;gap:46px;margin-top:90px;padding:56px;background:var(--sand);border-radius:34px}.value-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.value-grid p{background:rgba(255,255,255,.55);border-radius:18px;padding:16px 18px;margin:0;font-weight:800;color:#405748}.timeline{margin-top:90px}.timeline ol{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:item;list-style:none;padding:0}.timeline li{background:#fff;border-radius:22px;padding:24px;font-weight:800;color:var(--forest)}.contact-section{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;background:#fff;border-radius:40px;margin-bottom:70px}.site-footer{padding:38px 24px;background:#eef0e8;text-align:center;color:#4f604e}.site-footer strong{font-family:'Cormorant Garamond',serif;font-size:2rem;display:block}.site-footer span{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem}@media(max-width:1050px){.header-inner{border-radius:24px}.brand{min-width:0}.brand-copy{display:none}.nav-toggle{display:block}.main-navigation{position:fixed;inset:0;background:rgba(247,243,237,.96);backdrop-filter:blur(16px);display:none;flex-direction:column;justify-content:center;gap:28px}.main-navigation.is-open{display:flex}.main-navigation ul,.nav-menu{flex-direction:column;gap:20px}.main-navigation a{font-size:1.45rem}.nav-cta{font-size:1rem}.cards,.values,.timeline ol,.contact-section{grid-template-columns:1fr}.hero{padding:140px 24px 60px;background-position:64% center}.hero h1{font-size:clamp(3.5rem,15vw,6rem)}}@media(max-width:560px){.site-header{top:10px;padding:0 10px}.header-inner{padding:10px 14px}.brand-mark{width:58px;height:58px}.hero p:not(.eyebrow):not(.lead){font-size:.98rem}.button-primary{width:100%;justify-content:center}.site-main,.contact-section{padding:60px 18px}.values{padding:32px 22px}}

.subpage-header{padding:185px 24px 78px;background:linear-gradient(135deg,rgba(247,243,237,.98),rgba(221,211,196,.55));text-align:center;border-bottom:1px solid rgba(107,125,106,.12)}.subpage-header h1{font-family:'Cormorant Garamond',serif;color:#5d715f;font-size:clamp(3.2rem,7vw,6rem);line-height:.95;margin:.12em 0 0}.is-subpage .site-main{padding-top:70px;min-height:46vh}.is-subpage .content-area{background:rgba(255,255,255,.55);border-radius:28px;padding:32px;box-shadow:0 12px 36px rgba(38,55,68,.05)}@media(max-width:560px){.subpage-header{padding:135px 18px 54px}.is-subpage .content-area{padding:22px 18px}}

/* Footer refinement */
.site-footer{padding:64px 24px 34px;background:#eef0e8;color:#4f604e;text-align:left;border-top:1px solid rgba(107,125,106,.12)}
.footer-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:28px 56px;align-items:start}
.footer-brand strong{font-family:'Cormorant Garamond',serif;font-size:2.4rem;line-height:1;display:block;color:#5d715f}
.footer-brand span{display:block;margin-top:10px;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:#526858}
.footer-menu{justify-self:end;text-align:right}
.footer-menu .moduletable,.footer-menu .moduletable_menu,.footer-menu .mod-menu,.footer-menu ul,.site-footer ul{margin:0;padding:0;list-style:none}
.footer-menu ul,.footer-menu .mod-menu{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 22px}
.footer-menu li{margin:0;padding:0;list-style:none}
.footer-menu li::marker{content:""}
.footer-menu a{color:#31463f;text-decoration:none;font-weight:800;font-size:.95rem}
.footer-menu a:hover{color:var(--forest);text-decoration:none}
.footer-legal{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:26px;margin-top:10px;border-top:1px solid rgba(107,125,106,.18);font-size:.9rem;color:#5e6c5c}
.footer-legal ul,.footer-legal .mod-menu{display:flex;gap:18px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.footer-legal a{color:#4f604e;text-decoration:none;font-weight:700}
.footer-legal a:hover{color:var(--forest)}
@media(max-width:760px){.footer-inner{grid-template-columns:1fr;text-align:center}.footer-menu{justify-self:center;text-align:center}.footer-menu ul,.footer-menu .mod-menu{justify-content:center;flex-direction:column;gap:10px}.footer-legal{flex-direction:column;justify-content:center}.footer-brand span{letter-spacing:.14em}}

/* Mobile navigation refinement v1.3.1 */
@media(max-width:1050px){
  body.nav-open{overflow:hidden}
  .site-header{z-index:2000}
  .header-inner{position:relative}
  .nav-toggle{position:relative;z-index:2100;border-radius:14px;background:rgba(255,255,255,.45)}
  .nav-toggle span{transition:transform .2s ease, opacity .2s ease}
  body.nav-open .nav-toggle span:nth-child(1){transform:translateY(10px) rotate(45deg)}
  body.nav-open .nav-toggle span:nth-child(2){opacity:0}
  body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}
  .main-navigation{
    position:fixed;
    left:12px;
    right:12px;
    top:104px;
    height:auto;
    max-height:calc(100dvh - 120px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:24px 18px 28px;
    border-radius:28px;
    border:1px solid rgba(255,255,255,.62);
    background:rgba(247,243,237,.97);
    box-shadow:0 24px 60px rgba(38,55,68,.18);
    backdrop-filter:blur(18px);
    display:none;
    flex-direction:column;
    justify-content:flex-start;
    align-items:stretch;
    gap:18px;
  }
  .main-navigation.is-open{display:flex}
  .main-navigation ul,.main-navigation .nav-menu{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .main-navigation li{width:100%}
  .main-navigation a:not(.nav-cta){
    display:block;
    width:100%;
    padding:13px 16px;
    border-radius:16px;
    background:rgba(255,255,255,.52);
    color:#31463f;
    text-align:center;
    font-size:1.18rem;
    line-height:1.25;
  }
  .main-navigation a:not(.nav-cta):hover,
  .main-navigation .active>a{
    background:rgba(168,181,162,.22);
    color:var(--forest);
  }
  .nav-cta{
    width:min(100%,330px);
    align-self:center;
    justify-content:center;
    margin-top:4px;
    padding:15px 18px;
    border-radius:18px;
    font-size:1rem;
    line-height:1.25;
    text-align:center;
    white-space:normal;
  }
}
@media(max-width:560px){
  .main-navigation{
    left:10px;
    right:10px;
    top:92px;
    max-height:calc(100dvh - 104px);
    padding:18px 12px 22px;
    border-radius:22px;
  }
  .main-navigation a:not(.nav-cta){font-size:1.06rem;padding:11px 14px}
  .nav-cta{font-size:.95rem;padding:14px 16px}
}


/* Mobile navigation refinement v1.3.2 - full overlay, no clipping */
@media(max-width:1050px){
  body.nav-open{overflow:hidden}
  .site-header{z-index:3000}
  .header-inner{position:relative;z-index:3001}
  .nav-toggle{position:relative;z-index:3002;border-radius:14px;background:rgba(255,255,255,.62)}
  .main-navigation{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    max-height:none !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
    z-index:2990 !important;
    padding:132px 18px 34px !important;
    border:0 !important;
    border-radius:0 !important;
    background:rgba(247,243,237,.97) !important;
    box-shadow:none !important;
    backdrop-filter:blur(18px);
    display:none !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:20px !important;
  }
  .main-navigation.is-open{display:flex !important}
  .main-navigation .moduletable,
  .main-navigation .moduletable_menu{
    width:min(100%,420px) !important;
    margin:0 auto !important;
  }
  .main-navigation ul,
  .main-navigation .nav-menu,
  .main-navigation .mod-menu{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:10px !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
  }
  .main-navigation li{width:100% !important;margin:0 !important;padding:0 !important;list-style:none !important}
  .main-navigation a:not(.nav-cta){
    display:block !important;
    width:100% !important;
    padding:13px 16px !important;
    border-radius:16px !important;
    background:rgba(255,255,255,.62) !important;
    color:#31463f !important;
    text-align:center !important;
    font-size:1.12rem !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    text-decoration:none !important;
  }
  .main-navigation a:not(.nav-cta):hover,
  .main-navigation .active>a{
    background:rgba(168,181,162,.24) !important;
    color:var(--forest) !important;
  }
  .nav-cta{
    width:min(100%,420px) !important;
    align-self:center !important;
    justify-content:center !important;
    margin:8px auto 0 !important;
    padding:15px 18px !important;
    border-radius:18px !important;
    font-size:1rem !important;
    line-height:1.25 !important;
    text-align:center !important;
    white-space:normal !important;
  }
}
@media(max-width:560px){
  .main-navigation{padding:112px 14px 28px !important}
  .main-navigation a:not(.nav-cta){font-size:1.02rem !important;padding:11px 14px !important}
  .nav-cta{font-size:.95rem !important;padding:14px 16px !important}
}
