/* AWSCF — page-level rules. Generated by tools/build.py from the design references;
   tokens and components live in tokens.css. */

    html{scroll-behavior:smooth}
    body{margin:0;text-wrap:pretty;-webkit-font-smoothing:antialiased}
    body::before{content:"";position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.055;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:260px 260px}
    a{color:var(--color-accent)} a:hover{color:var(--color-accent-600)}
    @keyframes rise{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
    @keyframes lineUp{from{transform:translateY(112%)}to{transform:none}}
    @keyframes curtain{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
    @keyframes curtainUp{from{transform:translateY(0)}to{transform:translateY(-101%)}}
    @keyframes growX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
    @keyframes parallax{from{transform:translateY(-6%)}to{transform:translateY(6%)}}
    @keyframes strip{to{transform:translateX(calc(100vw - 100% - 2 * clamp(20px,5vw,72px)))}}
    @keyframes marquee{to{transform:translateX(-50%)}}
    @keyframes cue{from{transform:translateY(-100%)}to{transform:translateY(200%)}}
    @keyframes wordIn{from{opacity:.14}to{opacity:1}}
    @media (max-width:760px){
      [data-m~="hide"]{display:none!important}
      [data-m~="show"]{display:inline-flex!important}
      [data-m~="mcontact"]{display:flex!important}
      [data-m~="nosticky"]{position:static!important;top:auto!important}
      [data-m~="left"]{text-align:start!important;hyphens:manual!important}
      [data-m~="stack"]{grid-template-columns:minmax(0,1fr)!important}
      [data-m~="two"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
      [data-m~="tight"]{padding-top:72px!important;padding-bottom:64px!important}
      [data-m~="h1"]{font-size:clamp(34px,10vw,46px)!important}
      [data-m~="heroart"]{justify-self:stretch!important;width:100%!important;padding:0 0 56px 36px!important}
      [dir="rtl"] [data-m~="heroart"]{padding:0 36px 56px 0!important}
      [data-m~="cards"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
      [data-m~="cards"]>*{min-height:0!important;padding:18px 16px!important}
      [data-m~="cards"] .card-title{font-size:20px!important}
      [data-m~="brand"]{font-size:15px!important}
      [data-m~="menu"]{display:none!important}
      [data-m~="menu"][data-open="true"]{display:flex!important;flex-direction:column;align-items:stretch;flex-basis:100%;padding:6px 0 18px;max-height:calc(100svh - 96px);overflow-y:auto}
      [data-m~="menu"][data-open="true"]>a{padding:13px 0!important;border-top:1px solid var(--color-divider);font-size:15px!important;letter-spacing:.08em!important;line-height:22px!important}
      [data-m~="menu"][data-open="true"]>.btn{margin-top:14px;justify-content:center;padding:13px 20px!important;border-top:1px solid var(--color-accent)}
      [aria-expanded="true"]>[data-ico="menu"]{display:none!important}
      [aria-expanded="true"]>[data-ico="close"]{display:block!important}
      [data-sticky]{height:100svh!important}
    }
    @media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important}}
    @keyframes strip-rtl{to{transform:translateX(calc(100% - 100vw + 2 * clamp(20px,5vw,72px)))}}
    @keyframes marquee-rtl{to{transform:translateX(50%)}}

    /* footer (SiteFooter) */
    @media (max-width:760px){
      [data-m~="fstack"]{flex-direction:column!important;align-items:flex-start!important;gap:22px!important}
      [data-m~="fnav"]{width:100%;gap:0 20px!important}
      [data-m~="fnav"]>a{padding:9px 0!important}
      [data-m~="fnav"]>.btn{flex-basis:100%;justify-content:center;margin-top:10px;padding:12px 18px!important}
      [data-m~="fcontact"]{flex-direction:column!important;align-items:flex-start!important;gap:6px!important}
      [data-m~="fcontact"] a,[data-m~="fcontact"]>span{padding:5px 0}
      [data-m~="fbottom"]{flex-direction:column!important;align-items:flex-start!important}
    }

/* hover states (style-hover in the design files) */
.hv1:hover{color:var(--color-accent-700) !important}
.hv2:hover{background-size:100% 1px !important}
.hv3:hover{color:var(--color-accent) !important}
.hv4:hover{color:var(--color-accent-400) !important}
.hv5:hover{border-color:var(--color-accent) !important}
.hv6:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent) !important}
.hv7:hover{transform:translateY(-6px) !important}

/* ── WordPress additions (not in the design files) ───────────────────────── */

/* Logged-in admin bar: keep the sticky header below it. */
.admin-bar .awscf-sticky{top:32px!important}
@media (max-width:782px){.admin-bar .awscf-sticky{top:46px!important}}
@media (max-width:600px){.admin-bar .awscf-sticky{top:0!important}}

/* Contact form (Contact Form 7 or the built-in fallback) */
.awscf-form form{display:flex;flex-direction:column;gap:18px;margin:0}
.awscf-form .wpcf7-form-control-wrap{display:block}
.awscf-form .wpcf7-spinner,.awscf-form .ajax-loader,.awscf-form .screen-reader-response,.awscf-form .hidden-fields-container{display:none!important}
.awscf-form fieldset.hidden-fields-container{border:0;margin:0;padding:0}
.awscf-form .wpcf7-not-valid-tip{display:block;font-size:12px;line-height:18px;margin-top:5px;color:var(--color-accent-700)}
.awscf-form .wpcf7-not-valid{border-color:var(--color-accent)}
.awscf-form .wpcf7 form .wpcf7-response-output,.awscf-form .awscf-form-notice{margin:0;padding:12px 16px;border:1px solid var(--color-accent);border-radius:var(--radius-md);font-size:14px;line-height:22px}
.awscf-form .awscf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Scroll reveals where CSS scroll-driven animations are unavailable:
   an IntersectionObserver in site.js toggles .is-visible. */
.no-sda [data-sr]{animation:none!important}
.no-sda [data-sr="rise"]{opacity:0;transform:translateY(36px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),border-color .35s,background .35s!important}
.no-sda [data-sr="rise"].is-visible{opacity:1;transform:none}
.no-sda [data-sr="grow"]{transform:scaleX(0);transition:transform .9s cubic-bezier(.2,.7,.2,1)!important}
.no-sda [data-sr="grow"].is-visible{transform:scaleX(1)}
.no-sda [data-sr="progress"]{transform:scaleX(0)}
/* Pinned strips become ordinary horizontal scrollers (also used for reduced motion). */
.awscf-unpinned{height:auto!important}
.awscf-unpinned [data-sticky]{position:static!important;height:auto!important;overflow:auto!important;padding:84px 0}
.awscf-unpinned [data-row]{animation:none!important;padding-right:40px}
[dir="rtl"] .awscf-unpinned [data-row]{padding-right:0;padding-left:40px}
@media (prefers-reduced-motion:reduce){
  .no-sda [data-sr="rise"],.no-sda [data-sr="grow"]{opacity:1!important;transform:none!important;transition:none!important}
}

/* Generic pages, posts and 404 (content that has no dedicated design). */
.awscf-prose{font-size:17px;line-height:28px;max-width:70ch;color:color-mix(in srgb, var(--color-text) 84%, transparent)}
.awscf-prose h2,.awscf-prose h3,.awscf-prose h4{font-weight:400;margin:1.6em 0 .5em;color:var(--color-text)}
.awscf-prose h2{font-size:clamp(30px,3vw,42px)}
.awscf-prose h3{font-size:28px}
.awscf-prose p{margin:0 0 18px}
.awscf-prose img{height:auto}
.awscf-prose ul,.awscf-prose ol{padding-left:1.2em;margin:0 0 18px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}

/* Contact form pieces (the design's inline styles, as classes) */
.awscf-form-kicker{display:block;font-size:13px;line-height:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-700);margin:0 0 4px}
.awscf-form input.input{min-height:42px}
.awscf-form textarea.input{min-height:150px}
.awscf-form-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:4px}
.awscf-form .btn{font-size:15px;padding:9px 20px}
.awscf-form-note{font-size:13px;line-height:20px;color:color-mix(in srgb, var(--color-text) 70%, transparent)}

/* News card lift on the home page */
.awscf-lift:hover{transform:translateY(-6px)}
