/* Lantern & Leaf · shared header and footer · v1.0 · 05Nov26
   Fonts self hosted, SIL Open Font Licence: Cormorant Garamond, Montserrat (brand board). */
@font-face{font-family:"Cormorant";src:url(assets/fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant";src:url(assets/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant";src:url(assets/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant";src:url(assets/fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant";src:url(assets/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant";src:url(assets/fonts/cormorant-garamond-latin-600-italic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:"Montserrat";src:url(assets/fonts/montserrat-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Montserrat";src:url(assets/fonts/montserrat-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Montserrat";src:url(assets/fonts/montserrat-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Montserrat";src:url(assets/fonts/montserrat-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Lettering";src:url(assets/fonts/comic-neue-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{--llp-midnight:#213B65;--llp-sky:#83C9D1;--llp-lilac:#B3A0DA;--llp-gold:#F3BD62;--llp-ivory:#FFF8EE;--llp-sage:#A7C1B6;--llp-ink:#16243F;--llp-night:#0A1430}

/* header */
.hdr{position:fixed;inset:14px 0 auto;z-index:50;pointer-events:none;transition:inset .4s cubic-bezier(.2,.7,.2,1)}
.hdr-in{pointer-events:auto;width:min(1320px,100% - 28px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 10px 8px 22px;border-radius:999px;background:#FFF8EEeb;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 10px 40px -14px #0009,inset 0 0 0 1px #ffffff90}
.hdr.is-scrolled{inset:8px 0 auto}
.hdr-logo{display:block;line-height:0}
.hdr-logo img{height:50px;width:auto}
.hdr-nav{display:flex;align-items:center;gap:clamp(12px,1.8vw,28px);font-family:Montserrat,system-ui,sans-serif}
.hdr-nav a{font-weight:600;font-size:.84rem;color:var(--llp-midnight);text-decoration:none;position:relative;padding:6px 0;letter-spacing:.01em}
.hdr-nav a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--llp-gold);border-radius:2px}
.hdr-nav a:not(.hdr-cta):hover{color:#9A6A22}
.hdr-cta{background:var(--llp-midnight);color:#fff!important;padding:12px 20px!important;border-radius:999px;box-shadow:0 8px 20px -10px #213B65}
.hdr-toggle{display:none;width:46px;height:46px;border:0;border-radius:50%;background:var(--llp-midnight);position:relative;cursor:pointer}
.hdr-toggle span{position:absolute;left:14px;right:14px;height:2px;background:#fff;border-radius:2px;transition:transform .3s}
.hdr-toggle span:first-child{top:18px}.hdr-toggle span:last-child{top:26px}
.hdr-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.hdr-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
@media (max-width:1060px){
  .hdr-toggle{display:block}
  .hdr-nav{position:absolute;top:calc(100% + 10px);left:14px;right:14px;flex-direction:column;align-items:stretch;gap:0;padding:12px;border-radius:24px;background:var(--llp-ivory);box-shadow:0 30px 60px -20px #000a;opacity:0;visibility:hidden;translate:0 -10px;transition:all .3s}
  .hdr-nav.open{opacity:1;visibility:visible;translate:0}
  .hdr-nav a{padding:14px 16px!important;font-size:1rem!important;border-radius:14px}
  .hdr-nav a[aria-current]{background:#F3E6CC}.hdr-nav a[aria-current]::after{display:none}
  .hdr-cta{text-align:center;margin-top:6px}
}
@media (max-width:560px){.hdr-logo img{height:40px}.hdr-in{padding-left:16px}}

/* footer v1.2: night lake scene over a torn parchment page */
.ftr{position:relative;font-family:Montserrat,system-ui,sans-serif;font-size:.92rem;line-height:1.7;color:#4A3A26;isolation:isolate}
.ftr-scene{position:relative;height:clamp(260px,30vw,380px);display:grid;place-items:center;text-align:center;color:#fff;background:url(assets/llp/footer-lake.webp) center 62%/cover;overflow:hidden}
.ftr-scene::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0A1430cc 0%,#0A143033 45%,#0A143022 75%,#0A143066 100%)}
.ftr-scene p{position:relative;margin:0;padding:0 24px 40px;font:italic 500 clamp(1.8rem,3.6vw,3rem)/1.15 Cormorant,Georgia,serif;text-shadow:0 4px 24px #000a}
.ftr-scene p span{display:block;font:700 .7rem Montserrat,sans-serif;font-style:normal;letter-spacing:.26em;text-transform:uppercase;color:var(--llp-gold);margin-bottom:14px}
.ftr-main{position:relative;margin-top:-29px;padding:60px 0 0;background:radial-gradient(120% 90% at 50% 40%,transparent 55%,#9C6B3433 100%),url(assets/em/parchment.webp) 0 0/620px auto,#EED9AE;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%271200%27%20height%3D%2730%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20d%3D%27M0%2030%20L0%2012.3%20L15%2012.3%20L37%2012.7%20L52%2016.7%20L58%2014.3%20L80%2015.1%20L86%206.8%20L92%2016.9%20L101%2013.3%20L107%2012.4%20L113%2015.9%20L125%206.4%20L131%2017.9%20L137%209.0%20L152%2019.7%20L161%2016.9%20L173%206.2%20L182%209.9%20L197%208.5%20L206%2019.8%20L221%207.6%20L233%2018.1%20L239%208.9%20L261%207.4%20L273%206.1%20L288%2011.7%20L297%206.2%20L306%2019.4%20L321%208.6%20L343%209.5%20L365%208.8%20L387%208.0%20L409%2019.5%20L421%2011.9%20L443%208.5%20L452%2012.7%20L458%209.9%20L464%207.0%20L470%208.5%20L479%2010.9%20L491%2015.2%20L500%2014.3%20L512%2015.8%20L518%2012.8%20L524%207.1%20L533%2017.1%20L548%2018.6%20L554%2018.1%20L569%2011.9%20L575%2015.0%20L587%2011.4%20L602%2012.5%20L624%206.4%20L633%2025.6%20L648%2012.0%20L670%208.8%20L685%2013.0%20L697%208.8%20L706%2018.3%20L718%2011.7%20L724%2016.0%20L733%207.6%20L748%2011.4%20L770%2012.6%20L792%206.6%20L804%2015.1%20L819%2019.0%20L828%2016.9%20L834%2012.3%20L846%2019.4%20L861%209.6%20L883%2016.0%20L895%2013.6%20L904%2011.5%20L910%2011.7%20L925%2012.3%20L940%2013.7%20L952%2012.5%20L958%209.0%20L970%2013.5%20L976%2014.4%20L998%2011.9%20L1007%2023.7%20L1016%2013.5%20L1031%208.1%20L1046%2019.2%20L1052%2016.6%20L1074%2014.9%20L1096%209.6%20L1118%208.9%20L1140%209.8%20L1146%2013.0%20L1152%2013.2%20L1174%209.0%20L1196%2012.4%20L1200%2012.3%20L1200%2030%20Z%27/%3E%3C/svg%3E") top/1200px 30px repeat-x,linear-gradient(#000 0 0) 0 29px/100% calc(100% - 29px) no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%271200%27%20height%3D%2730%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20d%3D%27M0%2030%20L0%2012.3%20L15%2012.3%20L37%2012.7%20L52%2016.7%20L58%2014.3%20L80%2015.1%20L86%206.8%20L92%2016.9%20L101%2013.3%20L107%2012.4%20L113%2015.9%20L125%206.4%20L131%2017.9%20L137%209.0%20L152%2019.7%20L161%2016.9%20L173%206.2%20L182%209.9%20L197%208.5%20L206%2019.8%20L221%207.6%20L233%2018.1%20L239%208.9%20L261%207.4%20L273%206.1%20L288%2011.7%20L297%206.2%20L306%2019.4%20L321%208.6%20L343%209.5%20L365%208.8%20L387%208.0%20L409%2019.5%20L421%2011.9%20L443%208.5%20L452%2012.7%20L458%209.9%20L464%207.0%20L470%208.5%20L479%2010.9%20L491%2015.2%20L500%2014.3%20L512%2015.8%20L518%2012.8%20L524%207.1%20L533%2017.1%20L548%2018.6%20L554%2018.1%20L569%2011.9%20L575%2015.0%20L587%2011.4%20L602%2012.5%20L624%206.4%20L633%2025.6%20L648%2012.0%20L670%208.8%20L685%2013.0%20L697%208.8%20L706%2018.3%20L718%2011.7%20L724%2016.0%20L733%207.6%20L748%2011.4%20L770%2012.6%20L792%206.6%20L804%2015.1%20L819%2019.0%20L828%2016.9%20L834%2012.3%20L846%2019.4%20L861%209.6%20L883%2016.0%20L895%2013.6%20L904%2011.5%20L910%2011.7%20L925%2012.3%20L940%2013.7%20L952%2012.5%20L958%209.0%20L970%2013.5%20L976%2014.4%20L998%2011.9%20L1007%2023.7%20L1016%2013.5%20L1031%208.1%20L1046%2019.2%20L1052%2016.6%20L1074%2014.9%20L1096%209.6%20L1118%208.9%20L1140%209.8%20L1146%2013.0%20L1152%2013.2%20L1174%209.0%20L1196%2012.4%20L1200%2012.3%20L1200%2030%20Z%27/%3E%3C/svg%3E") top/1200px 30px repeat-x,linear-gradient(#000 0 0) 0 29px/100% calc(100% - 29px) no-repeat}
.ftr{--sh:clamp(260px,30vw,380px);--pw:clamp(110px,10vw,150px)}
.ftr-scene{height:var(--sh)!important}
.ftr-pip{position:absolute;z-index:4;left:50%;top:calc(var(--sh) - var(--pw)*.803 + 6px);width:var(--pw);height:auto;translate:-50% 0;pointer-events:none;filter:drop-shadow(0 -4px 10px #0005);transition:translate .6s cubic-bezier(.3,1.5,.5,1)}
.ftr:hover .ftr-pip{translate:-50% -10px}
.ftr-wrap{width:min(1100px,100% - clamp(40px,8vw,120px));margin:auto}
.ftr-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;align-items:start;padding:30px 0 40px}
.ftr-brand img{width:250px;height:auto}
.ftr-brand p{margin:14px 0 0;font-size:.85rem;color:#6B5338}
.ftr h3{font:700 .72rem Montserrat,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#8A5A1C;margin:0 0 14px}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ftr a{color:var(--llp-midnight);text-decoration:none;font-weight:500}.ftr a:hover{color:#8A5A1C;text-decoration:underline}
.ftr .small{font-size:.8rem;color:#6B5338}
.ftr-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:20px 0 28px;border-top:1px solid #B48A4866;font-size:.76rem;color:#7A6346}
@media (max-width:900px){.ftr-top{grid-template-columns:1fr 1fr}.ftr-brand{grid-column:1/-1;text-align:center}.ftr-brand img{margin:auto}}
@media (max-width:520px){.ftr-top{grid-template-columns:1fr;text-align:center}.ftr-base{justify-content:center;text-align:center}}
@font-face{font-family:"Lettering";src:url(assets/fonts/comic-neue-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
/* v1.7 footer contact */
.ftr-top{grid-template-columns:1.1fr .8fr 1fr 1.5fr!important;gap:32px!important}
.ftr-mail{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:.84rem}
.ftr-mail svg{flex:none;color:#8A5A1C}
.ftr-btn{display:inline-block;margin-top:14px;padding:10px 18px;border-radius:999px;background:var(--llp-midnight);color:#fff!important;font-weight:600;font-size:.82rem}
.ftr-btn:hover{text-decoration:none!important;background:#2B4A80}
@media (max-width:1100px){.ftr-top{grid-template-columns:1fr 1fr!important}.ftr-brand{grid-column:1/-1;text-align:center}.ftr-brand img{margin:auto}}
@media (max-width:520px){.ftr-top{grid-template-columns:1fr!important}.ftr-mail{white-space:normal;word-break:break-all;justify-content:center}}
.hdr-logo img{height:56px}@media (max-width:560px){.hdr-logo img{height:44px}}
