@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/barlow-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/barlow-400-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/barlow-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/barlow-500-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/barlow-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/barlow-700-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/barlowcond-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/barlowcond-400-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/barlowcond-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/barlowcond-600-latinext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

:root{
  --color-bg:#f2f2f3; --color-surface:#e9e9ea; --color-text:#1d1f20;
  --color-accent:#5980a6; --color-accent-2:#728fab;
  --color-divider:color-mix(in srgb,#1d1f20 16%,transparent);
  --color-accent-100:#eef6ff; --color-accent-200:#d6ebff; --color-accent-300:#b5d9fd;
  --color-accent-400:#94bce3; --color-accent-500:#749dc4; --color-accent-600:#597ea3;
  --color-accent-700:#416180; --color-accent-800:#2c455d; --color-accent-900:#1d2d3d;
  --font-heading:"Barlow Condensed",system-ui,sans-serif; --font-heading-weight:600;
  --font-body:"Barlow",system-ui,sans-serif;
  --space-1:3.4px; --space-2:6.8px; --space-3:10.2px; --space-4:13.6px; --space-6:20.4px; --space-8:27.2px;
  --radius-md:4px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:1.12;letter-spacing:-0.015em;margin:0 0 var(--space-2);}
p{margin:0 0 var(--space-3);}
a{color:var(--color-accent-700);text-underline-offset:3px;}
a:hover{color:var(--color-accent-900);}
img{display:block;max-width:100%;}
[id]{scroll-margin-top:72px;}
:focus{outline:none;} :focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;}
::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent);}
.text-muted{color:color-mix(in srgb,var(--color-text) 55%,transparent);}
.mono{font:400 10px ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;}

/* blueprint frame + registration corners */
.blueprint{position:relative;border:1px solid var(--color-divider);border-radius:0;}
.corner{position:absolute;width:11px;height:11px;color:color-mix(in srgb,var(--color-text) 55%,transparent);pointer-events:none;}
.corner::before,.corner::after{content:"";position:absolute;background:currentColor;}
.corner::before{left:5px;top:0;width:1px;height:100%;}
.corner::after{top:5px;left:0;width:100%;height:1px;}
.corner.tl{top:-6px;left:-6px;} .corner.tr{top:-6px;right:-6px;}
.corner.bl{bottom:-6px;left:-6px;} .corner.br{bottom:-6px;right:-6px;}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-decoration:none;
  font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:14px;line-height:1.2;color:var(--color-text);
  background:transparent;border:1px solid var(--color-divider);padding:var(--space-2) calc(var(--space-3)*1.2);border-radius:0;}
.btn-primary{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent);}
.btn-primary:hover{background:var(--color-accent-600);border-color:var(--color-accent-600);}
.btn-primary:active{background:var(--color-accent-700);}
.btn-secondary{border-color:var(--color-divider);}
.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent);}
.btn-icon{width:36px;height:36px;padding:0;}

/* cards */
.card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:transparent;border:1px solid var(--color-divider);border-radius:0;}
.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2;}
.card-body{margin:0;font-size:13px;opacity:.8;flex:1;}

/* nav */
.nav{display:flex;align-items:center;gap:var(--space-4);}
.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:18px;margin-right:auto;}
.nav a{color:inherit;text-decoration:none;font-size:14px;}
.nav-links{display:flex;align-items:center;gap:var(--space-4);}

/* container */
.container{max-width:1160px;margin:0 auto;background:var(--color-bg);
  border-left:1px solid var(--color-divider);border-right:1px solid var(--color-divider);min-height:100vh;}

/* hero grid */
.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);}
.hero-media{position:relative;overflow:hidden;display:flex;align-items:flex-start;justify-content:center;min-height:100%;}

/* testimonial carousel */
.quotes-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px;flex-wrap:wrap;}
.q-viewport{overflow:hidden;}
.q-track{display:flex;gap:26px;transition:transform .45s cubic-bezier(.4,0,.2,1);}
.q-card{flex:0 0 calc(50% - 13px);padding:30px 28px;display:flex;flex-direction:column;justify-content:space-between;min-height:260px;}
.q-dots{display:flex;gap:8px;margin-top:22px;}
.q-dots button{width:38px;height:6px;padding:0;border:none;cursor:pointer;background:rgba(29,31,32,.18);}
.q-dots button[aria-current="true"]{background:var(--color-accent);}

@media(max-width:820px){
  .hero{grid-template-columns:1fr;}
  .hero-media{min-height:340px;order:-1;}
  .q-card{flex-basis:100%;}
}
@media(max-width:640px){
  .nav-links{display:none;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.q-track{transition:none;}}
