@import url('/assets/design-tokens.css');
@import url('/assets/operational-redesign.css');
:root{--shell-ivory:var(--pcg-shell-surface);--shell-green:var(--pcg-emerald);--shell-deep:var(--pcg-shell-deep);--shell-gold:var(--pcg-antique-gold)}
.site-header{position:relative;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:28px;width:100%;min-height:96px;margin:0!important;padding:14px clamp(24px,4.5vw,76px)!important;box-sizing:border-box;background:var(--shell-ivory)!important;border-bottom:1px solid rgba(169,126,27,.22);box-shadow:0 4px 20px rgba(0,40,32,.045);font-family:var(--pcg-shell-sans)}.site-header .brand{display:flex;align-items:center;gap:16px;color:var(--pcg-shell-ink)!important;text-decoration:none!important;white-space:nowrap}.site-header .brand img{display:block;width:66px!important;height:66px!important;object-fit:contain}.site-header .brand span{display:grid;gap:4px}.site-header .brand strong{font:600 clamp(21px,2vw,31px)/1 var(--pcg-shell-serif);letter-spacing:-.025em}.site-header .brand small{font:600 9px/1.2 var(--pcg-shell-sans);letter-spacing:.22em}.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(18px,2vw,32px);font:600 clamp(14px,1.05vw,17px)/1.2 var(--pcg-shell-sans)}.site-nav>a,.site-nav .nav-group>a{position:relative;padding:16px 0;color:var(--pcg-shell-ink)!important;text-decoration:none!important;white-space:nowrap}.site-nav>a::after,.site-nav .nav-group>a::after{content:'';position:absolute;left:0;right:100%;bottom:7px;height:1px;background:#a67b1c;transition:right .25s ease}.site-nav>a:hover::after,.site-nav a[aria-current="page"]::after,.site-nav .nav-group>a:hover::after{right:0}.nav-group{position:relative;display:flex;align-items:center;gap:6px}.nav-group>button{display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;background:transparent!important;color:#8e6817!important;font-size:15px;line-height:1;cursor:pointer;transition:transform .2s ease}.nav-group>button[aria-expanded="true"]{transform:rotate(180deg)}.dropdown{position:absolute;top:calc(100% - 2px);left:50%;display:grid;visibility:hidden;min-width:280px;padding:10px;opacity:0;transform:translate(-50%,10px);background:#fffdf7;border:1px solid rgba(166,123,28,.26);box-shadow:0 20px 45px rgba(0,36,29,.16);transition:.2s ease}.dropdown a{padding:11px 13px;color:#07382f!important;text-decoration:none!important;font-size:14px;line-height:1.3}.dropdown a:hover{background:#f2e8ce;color:#79570f!important}.nav-group:hover .dropdown,.nav-group:focus-within .dropdown,.nav-group.is-open .dropdown{visibility:visible;opacity:1;transform:translate(-50%,0)}.menu-toggle{display:none}.site-footer{display:grid;grid-template-columns:1.35fr .72fr 1fr;gap:34px;width:100%;margin:0!important;padding:66px clamp(24px,7vw,110px) 28px!important;box-sizing:border-box;color:#d8e0dd!important;background:var(--shell-deep)!important;border-top:1px solid rgba(213,166,44,.34);font:400 15px/1.55 var(--pcg-shell-sans)}.footer-brand{display:flex;align-items:flex-start;gap:20px}.footer-brand img{width:88px!important;height:88px!important;object-fit:contain}.footer-brand h3{margin:4px 0 8px!important;color:#fffaf0!important;font:600 22px/1.15 var(--pcg-shell-serif)}.footer-brand strong{color:var(--shell-gold)!important;font-size:12px}.footer-brand p,.footer-address p,.footer-contact p{margin:12px 0 0!important;color:#aebdb8!important}.site-footer a{color:#c8d2cf!important;text-decoration:none!important}.site-footer a:hover{color:#f0c853!important}.footer-address,.footer-contact{padding-left:34px;border-left:1px solid rgba(255,255,255,.12)}.socials{display:flex;gap:9px;margin-top:18px}.socials a{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.2);border-radius:50%;font-size:12px;font-weight:700}.copyright{grid-column:1/-1;margin:30px 0 0!important;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);color:#778c86!important;text-align:center;font-size:12px}.site-shell-ready .wp-site-blocks>*{margin-block-start:0}.site-shell-ready body>header:not(.site-header),.site-shell-ready body>footer:not(.site-footer){display:none!important}@media(max-width:1120px){.site-header{min-height:82px}.site-header .brand img{width:56px!important;height:56px!important}.site-header .brand strong{font-size:22px}.site-header .brand small{font-size:8px}.menu-toggle{display:grid;grid-template-columns:22px auto;align-items:center;column-gap:10px;padding:10px 13px;border:1px solid rgba(5,47,39,.22);background:transparent!important;color:var(--pcg-shell-ink)!important;font:700 11px var(--pcg-shell-sans);letter-spacing:.12em;text-transform:uppercase}.menu-toggle span{grid-column:1;width:22px;height:1px;background:var(--pcg-shell-ink)}.menu-toggle b{grid-column:2;grid-row:1/4;font:inherit}.site-nav{position:absolute;top:100%;left:0;right:0;display:none;max-height:calc(100vh - 82px);overflow:auto;padding:20px 28px 32px;background:#f9f5eb;border-top:1px solid rgba(166,123,28,.2);box-shadow:0 22px 40px rgba(0,35,28,.15)}.site-header.is-menu-open .site-nav{display:grid;align-items:stretch;gap:2px}.site-nav>a,.site-nav .nav-group>a{padding:13px 0;font-size:16px}.nav-group{display:grid;grid-template-columns:1fr 38px}.nav-group>button{width:38px;height:38px}.dropdown{position:static;grid-column:1/-1;display:none;visibility:visible;min-width:0;padding:5px 0 12px 16px;opacity:1;transform:none;background:transparent;border:0;border-left:1px solid #cf9f33;box-shadow:none}.nav-group.is-open .dropdown{display:grid;transform:none}.nav-group:hover .dropdown:not(:focus-within){visibility:visible}.site-footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-address{border-left:0;padding-left:0}.footer-contact{padding-left:28px}}@media(max-width:650px){.site-header{padding:12px 18px!important}.site-header .brand{gap:10px}.site-header .brand img{width:50px!important;height:50px!important}.site-header .brand strong{font-size:18px}.site-header .brand small{font-size:6.8px;letter-spacing:.16em}.menu-toggle{grid-template-columns:20px;padding:9px}.menu-toggle b{display:none}.site-footer{grid-template-columns:1fr;padding:50px 24px 24px!important}.footer-brand{display:grid;justify-items:start}.footer-address,.footer-contact{padding:22px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.1)}.copyright{margin-top:12px!important}}

/* Keep the shared brand lockup and menu inside narrow mobile viewports. */
@media(max-width:650px){.site-header{gap:8px;padding:12px 14px!important}.site-header .brand{min-width:0;gap:8px}.site-header .brand img{flex:0 0 auto;width:46px!important;height:46px!important}.site-header .brand span{min-width:0}.site-header .brand strong{font-size:clamp(14px,4.1vw,16px)}.site-header .brand small{font-size:6px;letter-spacing:.12em}.menu-toggle{box-sizing:border-box;flex:0 0 36px;width:36px;height:29px;min-height:29px;grid-template-columns:18px;grid-auto-rows:1px;align-content:center;row-gap:4px;padding:8px}.menu-toggle span{width:18px}}

/* Sticky navigation with a deliberately compact scroll state. */
.site-header{
  position:sticky;
  top:0;
  transition:min-height .28s ease,padding .28s ease,box-shadow .28s ease,background-color .28s ease;
  will-change:min-height,padding;
}
.site-header .brand img,
.site-header .brand strong,
.site-header .brand small,
.site-nav,
.site-nav>a,
.site-nav .nav-group>a{
  transition:width .28s ease,height .28s ease,font-size .28s ease,padding .28s ease,gap .28s ease,opacity .2s ease;
}
.site-header.is-scrolled{
  min-height:62px;
  padding-block:7px!important;
  background:color-mix(in srgb,var(--shell-ivory) 96%,transparent)!important;
  box-shadow:0 10px 28px rgba(0,40,32,.12);
  backdrop-filter:blur(14px);
}
.site-header.is-scrolled .brand{gap:10px}
.site-header.is-scrolled .brand img{width:43px!important;height:43px!important}
.site-header.is-scrolled .brand strong{font-size:clamp(17px,1.45vw,22px)}
.site-header.is-scrolled .brand small{font-size:7px;letter-spacing:.17em;margin-top:2px}
.site-header.is-scrolled .site-nav{gap:clamp(14px,1.55vw,25px);font-size:clamp(13px,.95vw,15px)}
.site-header.is-scrolled .site-nav>a,
.site-header.is-scrolled .site-nav .nav-group>a{padding-block:10px}
.site-header.is-scrolled .dropdown{top:calc(100% + 5px)}
@media(max-width:1120px){
  .site-header.is-scrolled{min-height:60px;padding-block:6px!important}
  .site-header.is-scrolled .brand img{width:40px!important;height:40px!important}
  .site-header.is-scrolled .brand strong{font-size:17px}
  .site-header.is-scrolled .brand small{font-size:6px}
  .site-header.is-scrolled .site-nav{top:100%;max-height:calc(100dvh - 60px)}
}
@media(max-width:650px){
  .site-header.is-scrolled{min-height:56px;padding-block:5px!important}
  .site-header.is-scrolled .brand img{width:36px!important;height:36px!important}
  .site-header.is-scrolled .brand strong{font-size:14px}
  .site-header.is-scrolled .brand small{font-size:5.5px}
  .site-header.is-scrolled .menu-toggle{padding:7px}
}
@media(prefers-reduced-motion:reduce){
  .site-header,.site-header *{transition:none!important}
}

/* Keep the compact mobile menu label available to assistive technology. */
@media(max-width:650px){
  .menu-toggle b{
    display:block;
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
}

/* Responsive submenus are controlled exclusively by their disclosure state. */
@media(max-width:1120px){
  .site-header{justify-content:space-between}
  .menu-toggle{order:0;margin:0}
  .site-nav,
  .nav-group>a,
  .dropdown a{text-align:left}
  .site-nav{width:100%;justify-content:stretch;justify-items:stretch}
  .site-nav>a,
  .nav-group{width:100%}
  .dropdown{width:100%;box-sizing:border-box;justify-items:stretch}
  .site-nav .nav-group:not(.is-open):not(.open)>.dropdown{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
  }
  .site-nav .nav-group.is-open>.dropdown,
  .site-nav .nav-group.open>.dropdown{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
  }
}

/* Desktop dropdowns wait for click or keyboard focus instead of pointer hover. */
.site-nav .nav-group:hover:not(.is-open):not(.open):not(:focus-within)>.dropdown{
  display:none;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
}
