@charset "UTF-8";
:root{color-scheme:light;--graphite:#30363b;--red:#e21b23;--muted:#707575;--line:#e1e3de;--paper:#f8f8f5}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--graphite);font-family:"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--red);outline-offset:6px}::selection{background:#e21b2320}.top-line{height:3px;background:var(--red)}.wrap{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}.header{height:130px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:block;width:235px}.brand img{display:block;width:100%;height:auto}.header-link{display:flex;gap:24px;align-items:center;font-size:12px;font-weight:500}.header-link>span{font-size:22px;color:var(--red)}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#ffffff 0%,#ffffff80 34%,#ffffff00 70%)}.hero-content{position:relative;z-index:1;text-align:center;padding-top:64px;padding-bottom:66px}.eyebrow{display:inline-flex;gap:9px;align-items:center;font-size:9px;font-weight:600;letter-spacing:1.7px;color:#7e5556;background:#f9eeed;border:1px solid #efdddc;border-radius:30px;padding:10px 16px;margin:0 0 30px}.eyebrow>span{width:5px;height:5px;background:var(--red);border-radius:50%}h1{font-size:clamp(44px,5.5vw,78px);font-weight:600;line-height:1.13;letter-spacing:-4px;margin:0}.soft{color:#92958f;font-weight:500}.underlined{position:relative;white-space:nowrap;isolation:isolate}.underlined:after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:1px;height:8px;background:var(--red);transform:rotate(-1.8deg);transform-origin:left center;opacity:.88}.intro{font-size:15px;line-height:1.9;color:var(--muted);margin:31px 0 25px}.hero-contact{display:inline-flex;align-items:center;gap:9px;color:#646a6a;font-size:11px;padding:8px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.hero-contact:hover{color:var(--red);border-color:#e21b2344}.contact-dot{width:6px;height:6px;background:var(--red);border-radius:50%;box-shadow:0 0 0 4px #e21b230a}.arrow{color:var(--red);font-size:18px;margin-left:9px}.hero-caption{display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:1.7px;color:#969b95;padding-top:24px;padding-bottom:25px;border-bottom:1px solid var(--line)}.contact{display:grid;grid-template-columns:1.3fr 1.1fr .85fr;gap:45px;padding-top:35px;padding-bottom:34px}.label{display:block;font-size:8px;letter-spacing:1.7px;font-weight:600;color:#858a85;margin-bottom:15px}.company>.label{color:var(--red)}h2{font-size:12px;font-weight:600;line-height:1.9;letter-spacing:.1px;margin:0}address{font-size:13px;line-height:1.85;font-style:normal;color:#646b69}.map-link{font-size:10px;display:inline-block;margin-top:10px;color:#727872}.map-link>span{color:var(--red);margin-left:8px}.phone>a{font-size:21px;font-weight:500;letter-spacing:-.5px;white-space:nowrap}.phone>a>span{font-size:20px;color:var(--red);margin-left:12px}.phone-note{display:block;font-size:10px;color:#858b85;margin-top:10px}.map-link:hover,.phone>a:hover,.header-link:hover,footer a:hover{color:var(--red)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:23px;padding-bottom:27px;color:#8a8f89;font-size:9px;line-height:1.6}footer a{display:flex;align-items:center;gap:18px;color:#6e756f}footer a>span{font-size:17px;color:var(--red)}.footer-status{display:flex;align-items:center;gap:10px;font-size:8px}.footer-status i{display:block;width:25px;height:8px;background:repeating-linear-gradient(115deg,transparent 0 4px,#e21b2360 4px 5px,transparent 5px 7px)}
@media(min-width:1600px){.hero-content{padding-top:83px;padding-bottom:80px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}h1{letter-spacing:-2.6px}.contact{gap:30px;grid-template-columns:1.25fr 1fr .9fr}.phone>a{font-size:19px}.phone>a>span{margin-left:5px}h2{font-size:11px}address{font-size:12px}.intro{font-size:14px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:105px}.brand{width:200px}.header-link{font-size:10px;gap:12px}.header-link>span{font-size:19px}.hero-content{padding-top:52px;padding-bottom:58px}.eyebrow{font-size:8px;margin-bottom:25px}h1{font-size:clamp(36px,6.2vw,49px);letter-spacing:-2px;line-height:1.18}.underlined:after{height:5px;bottom:0}.intro{font-size:13px;line-height:1.9;margin:27px 0 20px}.hero-contact{font-size:10px}.hero-caption{font-size:6px;letter-spacing:1.2px;padding-top:20px;padding-bottom:22px}.contact{grid-template-columns:1fr 1fr;gap:29px 24px;padding-top:29px;padding-bottom:30px}.company{grid-column:1/-1}h2{font-size:12px}.label{font-size:7px;margin-bottom:12px}.phone>a{font-size:19px}.phone>a>span{font-size:17px;margin-left:5px}.phone-note{font-size:9px}.address{grid-row:2;grid-column:1}.phone{grid-row:2;grid-column:2}footer{font-size:8px;flex-wrap:wrap;gap:14px;padding-top:20px;padding-bottom:23px}.footer-status{display:none}}
@media(max-width:450px){.header{height:100px}.brand{width:170px}.header-link{font-size:9px;gap:8px}.hero-content{padding-top:44px;padding-bottom:50px}h1{font-size:37px;letter-spacing:-1.8px}.intro{font-size:12px;max-width:310px;margin-inline:auto}.hero-contact{font-size:9px}.hero-caption{padding-top:20px;font-size:6px;letter-spacing:.9px}.contact{gap:28px 18px}.phone>a{font-size:17px}.phone>a>span{font-size:15px;margin-left:2px}address{font-size:11px}.phone-note{font-size:8px}footer{font-size:7px}footer a{gap:9px}}
@media(max-width:360px){h1{font-size:32px}.brand{width:150px}.header-link{font-size:8px}.contact{grid-template-columns:1fr}.company,.phone,.address{grid-column:auto;grid-row:auto}.phone>a{font-size:23px}address{font-size:13px}.phone-note{font-size:10px}footer{flex-direction:column;align-items:flex-start;gap:10px}}


/* Subtle motion and circuit details; decorative layers never intercept links. */
.hero{isolation:isolate}.tech-background{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.tech-grid{position:absolute;inset:0;background-image:linear-gradient(#30363b06 1px,transparent 1px),linear-gradient(90deg,#30363b06 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at center,transparent 28%,#000 100%)}.tech-background:after{content:"";position:absolute;right:-180px;top:0;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,#e21b2308,transparent 68%);animation:ambient-drift 14s ease-in-out infinite alternate}.tech-circuit{position:absolute;inset:0;width:100%;height:100%}.circuit-signals{filter:drop-shadow(0 0 5px #e21b2370)}.hero-content{padding-bottom:61px}.hero-content>.eyebrow{animation:arrive .7s .05s both}.hero-content>h1{animation:arrive .85s .15s both}.hero-content>.intro{animation:arrive .8s .3s both}.hero-content>.hero-contact{animation:arrive .8s .4s both}.underlined:after{animation:underline-in .85s .65s both}.eyebrow>span,.contact-dot{animation:status-pulse 3s ease-in-out infinite}.top-line{position:relative;overflow:hidden}.top-line:after{content:"";position:absolute;inset:0;width:28%;background:linear-gradient(90deg,transparent,#ffffff80,transparent);animation:top-sweep 9s ease-in-out infinite}.signal-line{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;height:38px;max-width:180px}.signal-line>span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#d9ddda)}.signal-line>span:last-child{transform:rotate(180deg)}.signal-line>i{width:5px;height:5px;background:var(--red);border-radius:50%;box-shadow:0 0 0 5px #e21b2308;animation:status-pulse 3s 1s ease-in-out infinite}.hero-caption{position:relative;z-index:1;align-items:center;padding-top:16px}.motion-toggle{display:flex;gap:7px;align-items:center;font:inherit;font-size:8px;letter-spacing:.3px;color:#8a908b;background:transparent;border:0;padding:8px;cursor:pointer}.motion-toggle>span{font-size:10px;color:var(--red)}.motion-toggle:hover{color:var(--graphite)}.motion-toggle:focus-visible{outline:2px solid var(--red);outline-offset:3px}.header-link>span,.arrow,.map-link>span,.phone>a>span{display:inline-block;transition:transform .2s}.header-link:hover>span,.hero-contact:hover>.arrow,.map-link:hover>span,.phone>a:hover>span{transform:translate(2px,-2px)}
@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes underline-in{from{scale:0 1}to{scale:1 1}}
@keyframes status-pulse{0%,100%{box-shadow:0 0 0 3px #e21b2306}50%{box-shadow:0 0 0 7px #e21b2313}}
@keyframes ambient-drift{from{transform:translate(0,-40px)}to{transform:translate(-100px,100px)}}
@keyframes top-sweep{0%,20%{transform:translateX(-110%)}80%,100%{transform:translateX(460%)}}
.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
@media(max-width:760px){.hero-content{padding-bottom:43px}.tech-circuit{opacity:.7}.tech-grid{background-size:32px 32px}.signal-line{height:28px;max-width:130px}.hero-caption{padding-top:13px}.motion-toggle{font-size:7px;letter-spacing:0}}
@media(max-width:450px){.tech-circuit{opacity:.45}.hero-caption{gap:8px;font-size:5px;letter-spacing:.7px}.motion-toggle{font-size:6px;padding-inline:0}.hero-content{padding-bottom:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.circuit-signals,.motion-toggle{display:none}.hero-content>*{opacity:1;transform:none}}
/* Mobile readability and comfortable touch targets. */
@media(max-width:800px){
.header-link,.hero-contact,.motion-toggle,.map-link,.phone>a,footer a{min-height:44px;display:inline-flex;align-items:center}
.header-link{font-size:11px}.hero-contact{font-size:12px}.motion-toggle{font-size:10px}.map-link{font-size:12px}.phone>a{font-size:24px}.intro{font-size:14px}.label{font-size:9px}.phone-note{font-size:11px}address{font-size:14px}h2{font-size:13px}.hero-caption{font-size:8px}.contact{column-gap:30px}footer{font-size:10px}
}
@media(max-width:600px){
.header{height:98px}.header-link{gap:8px;font-size:11px}.brand{width:170px}
.hero-content{padding-top:36px;padding-bottom:30px}.intro{max-width:340px;line-height:1.85}.hero-contact{font-size:11px;gap:8px}
.hero-caption{display:grid;grid-template-columns:1fr 1fr;row-gap:2px;column-gap:12px;font-size:8px;letter-spacing:.8px;padding-top:10px;padding-bottom:12px}.hero-caption>span:last-child{grid-column:2;grid-row:1;text-align:right}.motion-toggle{grid-column:1/-1;grid-row:2;justify-self:center;font-size:10px;gap:9px;padding-inline:12px}
.contact{grid-template-columns:1fr;gap:25px;padding-top:26px}.company,.address,.phone{grid-column:auto;grid-row:auto}.company{padding-bottom:22px;border-bottom:1px solid var(--line)}h2{font-size:13px;line-height:1.9}.label{font-size:9px;margin-bottom:8px}.phone>a{font-size:25px;letter-spacing:-.5px}.phone>a>span{font-size:20px;margin-left:10px}.phone-note{font-size:12px;margin-top:3px}.map-link{margin-top:5px}address{font-size:14px;line-height:1.8}
footer{flex-direction:column;align-items:flex-start;gap:5px;font-size:10px;padding-top:19px;padding-bottom:18px}footer a{font-size:11px;gap:14px}
}
@media(max-width:360px){.brand{width:140px}.header-link{font-size:10px;gap:5px}.intro{font-size:13px}.hero-contact{font-size:10px}.hero-caption{font-size:7px}.eyebrow{font-size:8px}h2{font-size:12px}.address{padding:0;border:0}}
@media(prefers-reduced-motion:reduce){.motion-toggle{display:none!important}}
/* Compact logo header with balanced vertical spacing. */
.header{height:98px}
@media(max-width:760px){.header{height:84px}}
@media(max-width:600px){.header{height:76px}}

/* A unified, compact contact panel. */
.contact.contact-panel{display:block;position:relative;padding:20px 25px 6px;margin-top:24px;margin-bottom:24px;border:1px solid #e1e4dd;border-radius:12px;background:linear-gradient(115deg,#fff,#fdfdfb);box-shadow:0 4px 20px #30363b03}
.contact-heading{display:block;margin:0;padding:0 0 17px;border-bottom:1px solid #edf0e8}
.contact-heading>div{border-left:2px solid var(--red);padding-left:12px}
.section-kicker{display:block;font-size:8px;line-height:1.2;font-weight:600;letter-spacing:1.6px;color:var(--red);margin-bottom:7px}
.contact-heading h2{font-size:15px;font-weight:600;line-height:1.5;letter-spacing:.05px;color:#424b46;margin:0}
.contact-cards{display:grid;grid-template-columns:.95fr 1.15fr 1.2fr;gap:0}
.contact-card{display:grid;position:relative;grid-template-columns:34px minmax(0,1fr) 23px;grid-template-rows:auto auto;align-content:center;column-gap:12px;row-gap:5px;min-height:89px;min-width:0;padding:16px 21px;border-radius:6px;transition:background .2s}
.contact-card:first-child{padding-left:0}.contact-card:last-child{padding-right:0}
.contact-card+.contact-card:before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:1px;background:#e9ece5}
.card-top{display:contents}.contact-icon{grid-column:1;grid-row:1/3;align-self:center;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;color:#a34d4f;background:#fbefed;border:1px solid #f3e5e1;transition:background .2s,color .2s}
.contact-icon svg{width:17px;height:17px}.card-arrow{grid-column:3;grid-row:1/3;align-self:center;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;width:23px;height:23px;border-radius:50%;color:#a4aca4;transition:color .2s,background .2s,transform .2s}
.card-label{grid-column:2;grid-row:1;font-size:8px;font-weight:500;line-height:1.3;color:#8b938b;letter-spacing:1.1px}
.card-value{grid-column:2;grid-row:2;font-size:20px;font-weight:500;line-height:1.4;letter-spacing:-.45px;color:var(--graphite);overflow-wrap:anywhere}.email-card .card-value{font-size:17px;letter-spacing:-.25px}
.contact-card address{grid-column:2;grid-row:2;font-size:12px;line-height:1.65;color:#606b62;font-style:normal;margin:0}
.contact-card:hover{background:#fafbf8}.contact-card:hover .card-arrow{color:var(--red);background:#f9ece9;transform:translate(1px,-1px)}.contact-card:hover .contact-icon{color:var(--red);background:#f9e5e1}.contact-card:focus-visible{outline-offset:-3px}
@media(max-width:1100px){.contact.contact-panel{padding-inline:20px}.contact-card{padding-inline:15px;column-gap:10px;grid-template-columns:30px minmax(0,1fr) 20px}.contact-icon{width:30px;height:30px;border-radius:9px}.card-arrow{width:20px;height:20px}.card-value{font-size:18px}.email-card .card-value{font-size:15px}.contact-card address{font-size:11px}}
@media(max-width:900px){.contact-cards{grid-template-columns:1fr 1.15fr}.address-card{grid-column:1/-1;border-top:1px solid #edf0e8}.contact-card.address-card{padding-left:0}.address-card:before{display:none}.contact-card.email-card{padding-right:0}.contact-card{min-height:82px}.card-value{font-size:21px}.email-card .card-value{font-size:18px}.contact-card address{font-size:13px}.contact-heading h2{font-size:14px}}
@media(max-width:600px){.contact.contact-panel{padding:18px 18px 4px;margin-top:20px;margin-bottom:20px;border-radius:10px}.contact-heading{padding-bottom:15px}.contact-heading h2{font-size:13px;line-height:1.8}.section-kicker{font-size:8px;margin-bottom:6px}.contact-cards{grid-template-columns:1fr}.address-card{grid-column:auto;border-top:0}.contact-card,.contact-card:first-child,.contact-card:last-child{padding:16px 0;grid-template-columns:34px minmax(0,1fr) 23px;column-gap:12px;min-height:83px}.contact-card+.contact-card:before{display:block;left:0;right:0;top:0;bottom:auto;width:auto;height:1px}.contact-icon{width:34px;height:34px;border-radius:10px}.card-arrow{width:23px;height:23px;font-size:17px}.card-label{font-size:9px}.card-value{font-size:22px}.email-card .card-value{font-size:18px}.contact-card address{font-size:13px}}
@media(max-width:360px){.contact.contact-panel{padding-inline:14px}.contact-heading h2{font-size:12px}.contact-card,.contact-card:first-child,.contact-card:last-child{grid-template-columns:28px minmax(0,1fr) 18px;column-gap:9px}.contact-icon{width:28px;height:30px;border-radius:8px}.contact-icon svg{width:15px;height:15px}.card-arrow{width:18px;height:18px}.email-card .card-value{font-size:16px}.card-value{font-size:20px}.contact-card address{font-size:12px}}
/* Keep touch controls comfortable on phones held horizontally. */
@media(max-width:900px) and (orientation:landscape){.header-link,.hero-contact,.motion-toggle,footer a{min-height:44px;display:inline-flex;align-items:center}}
@media(prefers-reduced-motion:reduce){.motion-toggle{display:none!important}}
