/* Fuller-site overrides, isolated from the landing page. */
#site-menu{gap:4px}
#site-menu button{min-height:46px;padding-top:9px;padding-bottom:9px}

/* Spatial journeys: the network remains visible while the content is in transit. */
main{transition:opacity .35s ease}
body[data-spatial-state]:not([data-spatial-state="RESTING"]) main{opacity:0}
#information{transition:opacity .22s ease,transform .22s ease}
#information::backdrop{background:#eeedeb35;backdrop-filter:blur(2px);transition:opacity .22s ease}
#information:not(.is-open){pointer-events:none}
.card-navigation button:disabled{opacity:.4;cursor:default}
@media(prefers-reduced-motion:reduce){main,#information,#information::backdrop{transition:none}}
/* Avoid scrollbar gutters and rounding overflow; preserve touch scrolling if needed. */
#card-content{scrollbar-gutter:auto;scrollbar-width:none}
#card-content::-webkit-scrollbar{display:none;width:0;height:0}
@media(max-width:480px){
  #information .panel{padding:50px 24px 22px}
  #information .panel-label{margin-bottom:16px}
  #information .panel h2{font-size:24px;line-height:1.3;margin-bottom:18px}
  #panel-copy p{font-size:15px;line-height:1.65;margin-bottom:14px}
  #panel-copy p:last-child{margin-bottom:0}
}
.social-links{position:fixed;top:22px;right:24px;z-index:4;display:flex;flex-direction:column;gap:4px}
.social-links a,.social-links button{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;border:0;border-radius:12px;background:transparent;color:#111;transition:background .2s,transform .2s}
.social-links img{display:block;width:20px;height:20px;object-fit:contain}
.social-links a:hover,.social-links button:hover{background:#ffffff85;transform:translateY(-1px)}
.social-links a:focus-visible{outline:2px solid #6330bd;outline-offset:2px}
.contact-form{display:grid;gap:14px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form label{display:grid;gap:6px;font-size:12px;color:#484b4d}
.contact-form input,.contact-form textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #20202030;border-radius:9px;background:#ffffff70;padding:10px 12px;font:inherit;font-size:16px;color:#191b1c}
.contact-form textarea{resize:vertical;min-height:86px;max-height:180px}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #00bce880;outline-offset:1px}
.contact-actions{display:flex;gap:16px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.contact-form .contact-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;pointer-events:none}
.contact-actions button{min-width:120px;background:#202323;color:#faf9f6;border-radius:10px;padding:10px 17px;font-size:16px}
.contact-actions button:disabled{opacity:.5;cursor:wait}
.contact-actions a{color:#484b4d;font-size:12px;text-underline-offset:3px}
#panel-copy .contact-status{font-size:12px;line-height:1.5;margin:0}
#panel-copy .contact-status:empty{display:none}
#information.is-contact .panel-label{margin-bottom:12px}
#information.is-contact h2{font-size:28px;margin-bottom:20px}
@media(max-width:480px){.social-links{top:16px;right:16px;gap:2px}.contact-fields{grid-template-columns:1fr;gap:10px}.contact-form{gap:10px}#information.is-contact h2{font-size:24px;margin-bottom:14px}.contact-form textarea{min-height:72px}.contact-actions{gap:10px}}
@media(prefers-reduced-motion:reduce){.social-links a,.social-links button{transition:none}}
.contact-form input[aria-invalid="true"],.contact-form textarea[aria-invalid="true"]{border-color:#b53232;background:#fff1f1;outline-color:#b5323280;box-shadow:0 0 0 1px #b5323233}

/* Match the front-facing wordmark typography. */
#site-menu button{font-family:Comfortaa,Arial,sans-serif;font-weight:400;text-transform:lowercase}

/* Touch selection gets a calm color reveal before departure. */
#site-menu button.is-tapped{background:transparent;color:#000;box-shadow:none}
#site-menu button.is-tapped::after{opacity:1;transition:opacity .55s ease}
#site-menu button.is-tapped .menu-item-icon{filter:brightness(0)}
@media(prefers-reduced-motion:reduce){#site-menu button.is-tapped::after{transition:none}}

/* A close charcoal shadow gives colored section labels a little definition. */
#information .panel-label{text-shadow:0 1px 1.5px rgba(47,52,54,.24)}

/* Scale the desktop navigation together, respecting the usable viewport. */
@media(min-width:769px) and (hover:hover) and (pointer:fine){
 .menu-shell{--menu-unit:clamp(1.08px,min(.065vw,.14dvh),1.65px);top:calc(24 * var(--menu-unit));left:calc(24 * var(--menu-unit))}
 .menu-toggle{width:calc(48 * var(--menu-unit));height:calc(48 * var(--menu-unit));padding:calc(12 * var(--menu-unit));gap:calc(5 * var(--menu-unit))}
 .menu-toggle img{width:calc(24 * var(--menu-unit));height:calc(24 * var(--menu-unit))}
 .menu-toggle span{width:calc(21 * var(--menu-unit));height:var(--menu-unit)}
 .menu-toggle[aria-expanded="true"] span:first-of-type{transform:translateY(calc(6 * var(--menu-unit))) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(calc(-6 * var(--menu-unit))) rotate(-45deg)}
 #site-menu{width:calc(267.75 * var(--menu-unit));padding:calc(17 * var(--menu-unit));gap:calc(4 * var(--menu-unit));margin-top:calc(10 * var(--menu-unit));border-radius:calc(18 * var(--menu-unit));max-height:calc(100dvh - 106 * var(--menu-unit));max-width:calc(100vw - 48 * var(--menu-unit))}
 #site-menu button{font-size:calc(18.0625 * var(--menu-unit));min-height:calc(46 * var(--menu-unit));padding:calc(9 * var(--menu-unit)) calc(28 * var(--menu-unit)) calc(9 * var(--menu-unit)) calc(18.0625 * var(--menu-unit));gap:calc(17 * var(--menu-unit));border-radius:calc(9 * var(--menu-unit))}
 #site-menu .menu-item-icon{width:calc(22.3125 * var(--menu-unit));height:calc(22.3125 * var(--menu-unit));flex-basis:calc(22.3125 * var(--menu-unit))}
 #site-menu button::after{border-width:calc(2 * var(--menu-unit));border-right-width:calc(40 * var(--menu-unit))}
}

/* Optional retro treatment: remove this rule to disable the trial. */
.network-filter-defs{position:absolute;overflow:hidden;pointer-events:none}
#network canvas{filter:url("#network-chromatic");clip-path:inset(1px)}

/* Give the Contact form room below its send button on both viewport sizes. */
#information.is-contact{height:min(547px,calc(100dvh - 48px))}
#information.is-contact #card-content{padding-bottom:4px}
@media(max-width:480px){
  #information.is-contact{height:fit-content;max-height:calc(100dvh - 28px)}
  #information.is-contact .panel{height:auto;max-height:calc(100dvh - 28px);box-sizing:border-box}
  #information.is-contact #card-content{flex:0 1 auto;padding-bottom:8px;overflow-y:auto}
}
@media(max-width:480px) and (max-height:650px){#information.is-contact .panel{padding-top:34px}}
