/* Contact page uses the homepage's neutral surfaces, warm accents and type. */
.contact-page{background:#faf9f7;color:#20243a;--muted:#687084}
.contact-page main{width:calc(100% - 48px);max-width:1440px}
.contact-page .contact-hero{border:1px solid #e4dfd8;border-radius:26px;padding:28px 38px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;min-height:0;background:#eeece9 url('assets/560-degree-soft-wave-background.e676bcf03d.svg') center/cover no-repeat;overflow:hidden}
.contact-page .contact-hero::before{display:none}
.contact-page .contact-intro{max-width:440px;justify-self:center;text-align:left}
.contact-page .contact-intro .eyebrow{color:#b95819;font-size:10px;letter-spacing:3px;font-weight:600}
.contact-page .contact-intro h1{font-size:clamp(34px,3.5vw,50px);line-height:1.16;font-weight:600;letter-spacing:-2px;margin:14px 0}
.contact-page .contact-intro h1 em{color:#f87919;font-style:normal}
.contact-page .contact-intro>p:not(.eyebrow){color:#687084;font-size:16px;line-height:1.45;margin:16px 0 24px}
.contact-page .contact-scroll{display:inline-flex;gap:16px;background:#f87919;color:#20243a;border:1px solid #f87919;border-radius:30px;padding:11px 20px;letter-spacing:0;font-size:12px;font-weight:600;min-height:44px;margin:0}
.contact-page .contact-scroll span{width:auto;height:auto;border:0;background:none;color:inherit;font-size:20px}
.contact-page .contact-scroll:hover{background:#ffead7;border-color:#edb789}
.contact-page .contact-connect-orbit{width:100%;max-width:580px;justify-self:center}
.contact-page .connect-orbit-track .connect-orbit-item{background:linear-gradient(145deg,#fff,#f2f3f5);border:1px solid #d8dce3;border-bottom:3px solid #444a55;border-radius:18px;box-shadow:0 8px 24px #2027350a;color:#252a35}
.contact-page .connect-orbit-item .connect-node-icon{border-radius:50%;background:linear-gradient(145deg,#fff7ee,#ffead7);color:#bd6227}
.contact-page .connect-orbit-item .connect-node-title{font-weight:600;color:#252a35}
.contact-page .connect-orbit-item .connect-node-caption{color:#636b78}
.contact-page .connect-node-arrow{width:19px;height:19px;display:grid;place-items:center;background:#f87919;border-radius:50%;color:white;font-size:11px;right:7px;top:7px}
.contact-page .connect-orbit-track .connect-orbit-item:hover{background:linear-gradient(145deg,#fffaf5,#fff0e1);border-color:#edc49f;border-bottom-color:#e38842}
.contact-page .connect-orbit-center{background:linear-gradient(145deg,#fff,#f4f3f0);border-color:#dedbd6;box-shadow:0 8px 24px #2027350a,0 0 0 8px #ffffff40}
.contact-page .connect-orbit-ring{border-color:#d2bda8}
.contact-page .contact-detail-wrap{padding:44px 16px 32px}
.contact-page .contact-section-heading{margin-bottom:24px}
.contact-page :is(.contact-section-heading h2,.contact-faq h2,.company-sections h2){font-weight:600;letter-spacing:-1px;color:#20243a}
.contact-page .contact-section-heading>p:last-child{color:#687084;line-height:1.6}
.contact-page .contact-methods{gap:18px}
.contact-page .contact-methods .contact-glass{background:linear-gradient(145deg,#fff,#f2f3f5);border:1px solid #d8dce3;border-bottom:3px solid #444a55;border-radius:18px;padding:26px;box-shadow:0 8px 24px #20273508}
.contact-page .tile-icon{width:52px;height:52px;border-radius:50%;background:linear-gradient(145deg,#fff7ee,#ffead7);color:#bd6227}
.contact-page .contact-glass h3{font-weight:600;font-size:23px;color:#20243a}
.contact-page .contact-glass>p{color:#687084;line-height:1.65}
.contact-page .button.primary{border-radius:30px;background:#f87919;border-color:#f87919;color:#20243a}
.contact-page .button.primary:hover{background:#ffead7;border-color:#edb789;color:#20243a}
.contact-page .button.secondary{border-radius:30px;background:#fff;border-color:#d8dce3;color:#20243a}
.contact-page .button.secondary:hover{background:#fff0e1;border-color:#edc49f}
.contact-page .contact-location{border-color:#d8dce3;border-radius:20px;background:#fff;margin-top:36px}
.contact-page .contact-location .location-info{background:#f2f3f5;color:#20243a}
.contact-page .location-info :is(h2,address,.detail-link,.availability-note strong){color:#20243a}
.contact-page .location-info .eyebrow{color:#b95819}
.contact-page .location-info .availability-note{border-color:#d8dce3}
.contact-page .location-info .availability-note :is(p,span){color:#687084}
.contact-page .contact-faq{padding-block:40px}
.contact-page .faq-list details{border:1px solid #d8dce3;border-radius:14px;background:#fff;margin-bottom:10px;padding:16px 20px}
.contact-page .faq-list details[open]{background:#fff6ec;border-color:#e8c5a5}
.contact-page .company-nav{border:1px solid #dedbd6;border-radius:16px;background:#f4f3f0;padding:10px 18px}
.contact-page .company-nav a{color:#464e5e}
.contact-page .company-nav a:hover{color:#b95819}
.contact-page :is(.company-about,.company-customers,.company-proof){border:1px solid #d8dce3;border-radius:18px;background:linear-gradient(145deg,#fff,#f2f3f5)}
.contact-page .company-offerings article,.contact-page .company-value-grid article{border-color:#d8dce3;border-radius:16px;background:#fff}
@media(max-width:1100px){.contact-page .contact-hero{padding:24px;gap:20px}.contact-page .contact-intro h1{font-size:40px}}
@media(max-width:900px){.contact-page .contact-hero{grid-template-columns:minmax(0,1fr);gap:26px}.contact-page .contact-intro{text-align:center;max-width:620px}.contact-page .contact-intro h1 br{display:none}.contact-page .contact-intro>p:not(.eyebrow){margin:14px auto 20px}.contact-page .contact-connect-orbit{max-width:560px}}
@media(max-width:600px){
 .contact-page main{width:calc(100% - 24px)}
 .contact-page .contact-hero{padding:24px 14px 18px;border-radius:20px}
 .contact-page .contact-intro h1{font-size:35px;letter-spacing:-1.5px}
 .contact-page .contact-intro>p:not(.eyebrow){font-size:14px}
 .contact-page .contact-detail-wrap{padding:32px 6px 24px}
 .contact-page .contact-methods .contact-glass{padding:22px}
 .contact-page .connect-orbit-center{box-shadow:none}
 .contact-page .contact-faq{padding-block:30px}
 .contact-page .company-nav{padding:8px 12px}
}
@media(max-width:380px){.contact-page .contact-intro h1{font-size:31px}.contact-page .contact-intro .eyebrow{font-size:8px;letter-spacing:2px}}

/* A contained contact hub: fixed shortcuts around a decorative ellipse.
   Only the background moves, so links stay readable and easy to select. */
.contact-page .contact-hero{grid-template-columns:minmax(240px,.75fr) minmax(0,1.65fr);align-items:center;gap:28px;padding:28px;min-height:0}
.contact-page .contact-intro{max-width:360px;text-align:left;justify-self:start}
.contact-page .contact-intro h1{font-size:clamp(34px,3.2vw,46px);line-height:1.14;letter-spacing:-1.6px;margin:14px 0}
.contact-page .contact-intro h1 br{display:block}
.contact-page .contact-intro>p:not(.eyebrow){font-size:15px;margin:16px 0 22px}
.contact-page .contact-scroll{padding:11px 16px;gap:10px}
.contact-page .contact-connect-orbit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(112px,auto));gap:12px;width:100%;max-width:760px;aspect-ratio:auto;overflow:visible;justify-self:center}
.contact-page .contact-connect-orbit .connect-orbit-track{display:contents;position:static;transform:none!important;animation:none!important}
.contact-page .connect-orbit-track .connect-orbit-item{position:relative;inset:auto;width:100%;height:auto;min-height:112px;padding:12px 10px;transform:none!important;animation:none!important;box-shadow:0 5px 14px #20273508;border-radius:15px;border-bottom-width:2px;gap:0}
.contact-page .connect-orbit-item .connect-node-icon{width:32px;height:32px;margin-bottom:7px;flex-shrink:0}
.contact-page .connect-orbit-item .connect-node-icon svg{width:21px;height:21px}
.contact-page .connect-orbit-item .connect-node-title{font-size:16px;line-height:1.25;max-width:none}
.contact-page .connect-orbit-item .connect-node-caption{font-size:12px;line-height:1.35;margin-top:5px}
.contact-page :is(.connect-item-5,.connect-item-6) .connect-node-title{font-size:14px;line-height:1.25}
.contact-page .connect-node-arrow{display:none}
.contact-page .connect-item-0{grid-area:1/1}
.contact-page .connect-item-1{grid-area:1/2}
.contact-page .connect-item-2{grid-area:1/3}
.contact-page .connect-item-3{grid-area:2/3}
.contact-page .connect-item-4{grid-area:3/3}
.contact-page .connect-item-5{grid-area:3/2}
.contact-page .connect-item-6{grid-area:3/1}
.contact-page .connect-item-7{grid-area:2/1}
.contact-page .connect-orbit-center{grid-area:2/2;position:static;transform:none;width:100%;height:100%;aspect-ratio:auto;min-height:112px;box-shadow:none;border:0;background:transparent;border-radius:0;padding:8px}
.contact-page .connect-orbit-center img{width:64px;height:auto}
.contact-page .connect-orbit-center>span{font-size:9px;letter-spacing:1.5px;margin-top:3px}
.contact-page .connect-orbit-center small{font-size:11px;margin:5px 0 0;line-height:1.4}
.contact-page .connect-orbit-ring{display:block;inset:12% 4%;border-radius:50%;animation:none;background:none;pointer-events:none}
.contact-page .connect-orbit-ring::before{inset:16%;border-color:#d9cbbc}
.contact-page .connect-orbit-ring::after{inset:-9%;opacity:.4}
@media(max-width:1100px){
 .contact-page .contact-hero{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px}
 .contact-page .contact-intro{max-width:760px;text-align:center;justify-self:center}
 .contact-page .contact-intro h1{font-size:36px}
 .contact-page .contact-intro h1 br{display:block}
 .contact-page .contact-intro>p:not(.eyebrow){margin:12px auto 16px}
 .contact-page .contact-intro>p br{display:none}
 .contact-page .contact-connect-orbit{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto;max-width:none}
 .contact-page .connect-orbit-track .connect-orbit-item{grid-area:auto;min-height:126px}
 .contact-page .connect-orbit-center{display:none}
 .contact-page .connect-orbit-ring{display:none}
}
@media(max-width:650px){
 .contact-page .contact-hero{padding:24px 14px;gap:22px}
 .contact-page .contact-intro h1{font-size:33px;letter-spacing:-1px}
 .contact-page .contact-connect-orbit{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .contact-page .connect-orbit-track .connect-orbit-item{min-height:126px;padding:12px 8px}
 .contact-page .connect-orbit-item .connect-node-title{font-size:15px}
 .contact-page :is(.connect-item-5,.connect-item-6) .connect-node-title{font-size:13px}
 .contact-page .connect-orbit-item .connect-node-caption{font-size:11px}
}
@media(prefers-reduced-motion:no-preference){
 html:not([data-motion="off"]) .contact-page .connect-orbit-ring{animation:contact-hub-breathe 12s ease-in-out 3}
 @keyframes contact-hub-breathe{50%{opacity:.45}}
}

/* Brief motion along the contact routes; navigation cards stay in place. */
.contact-page .contact-connect-orbit{position:relative;isolation:isolate}
.contact-route-art{position:absolute;inset:0;width:100%;height:100%;color:#ed984e;opacity:.45;z-index:-1;pointer-events:none}
.contact-route-line{stroke-dasharray:32 1500;stroke-dashoffset:32;opacity:0}
.contact-route-points{opacity:.3}
.contact-page .connect-orbit-item{transition:background .22s,border-color .22s,box-shadow .22s}
.contact-page .connect-orbit-item:hover,.contact-page .connect-orbit-item:focus-visible{background:#fff2e3;border-color:#e8aa76;box-shadow:0 8px 22px #b8671612}
.contact-page .connect-node-icon{transition:background .2s,box-shadow .2s}
.contact-page .connect-orbit-item:hover .connect-node-icon{background:#ffe2bd;box-shadow:0 0 18px #fb9c3920}
@media(prefers-reduced-motion:no-preference){
 .contact-page .contact-route-line{animation:contact-route-flow 4.8s ease-out both}
 .contact-page .contact-route-second{animation-duration:4.3s}
 .contact-page .contact-route-points{animation:contact-point-light 4.5s ease-out both}
 .contact-page .contact-motion-seen{animation:contact-card-arrive .65s ease-out both;animation-delay:var(--contact-delay,0ms)}
 html:not([data-motion="off"]) .contact-page .connect-orbit-ring{animation:contact-point-light 4.8s ease-out both}
 .contact-page .connect-orbit-center img{animation:contact-logo-arrive 1.2s ease-out both}
}
@keyframes contact-route-flow{0%{stroke-dashoffset:32;opacity:0}18%{opacity:1}85%{opacity:.6}100%{stroke-dashoffset:-1400;opacity:0}}
@keyframes contact-point-light{0%{opacity:.15}50%{opacity:.65}100%{opacity:.3}}
@keyframes contact-card-arrive{from{opacity:.4}to{opacity:1}}
@keyframes contact-logo-arrive{from{opacity:.4;scale:.97}to{opacity:1;scale:1}}
@media(max-width:1000px){.contact-route-art{display:none}}
@media(prefers-reduced-motion:reduce){.contact-route-art{display:none}.contact-page .contact-soft-motion,.contact-page .connect-orbit-center img,.contact-page .connect-orbit-ring{animation:none!important}.contact-page .connect-orbit-item,.contact-page .connect-node-icon{transition:none}}

/* Business overview: four distinct, icon-led paths into the product catalogue. */
.contact-page #our-business .company-heading{max-width:900px;margin:0 auto;text-align:center}
.contact-page #our-business .company-heading>p:last-child{max-width:760px;margin:18px auto 0;line-height:1.75}
.contact-page #our-business .company-offerings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:32px 0}
.contact-page #our-business .business-solution{--business-ink:#3d6353;--business-soft:#eef6ef;display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:26px 22px;background:linear-gradient(155deg,var(--business-soft),#fff 65%);border:1px solid #e2e2dd;border-radius:20px;box-shadow:0 8px 22px #25293805;min-width:0;position:relative;overflow:hidden}
.contact-page #our-business .business-blue{--business-ink:#2459ad;--business-soft:#edf4ff}.contact-page #our-business .business-slate{--business-ink:#36566f;--business-soft:#edf2f6}.contact-page #our-business .business-teal{--business-ink:#08766e;--business-soft:#eaf8f5}
.business-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.business-card-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:white;border:1px solid #ffffff;color:var(--business-ink);box-shadow:0 5px 14px #25293808}.business-card-icon svg{width:28px;height:28px}.business-card-number{font-size:12px;color:#8b939b;letter-spacing:1px}
.contact-page #our-business .business-card-label{font-size:9px;letter-spacing:1.2px;color:var(--business-ink);font-weight:650}
.contact-page #our-business .business-solution h3{font-size:22px;line-height:1.2;letter-spacing:-.6px;color:#252938;margin:12px 0;min-height:54px}
.contact-page #our-business .business-solution p{font-size:14px;line-height:1.7;color:#626b77;margin:0 0 20px;flex:1}
.contact-page #our-business .business-card-tags{font-size:11px;color:var(--business-ink);line-height:1.6;margin-bottom:18px}
.contact-page #our-business .business-card-action{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #e4e8e5;padding-top:15px;color:#a34e16;font-size:13px;font-weight:600}
.business-card-action>span{display:grid;place-items:center;background:#fff0df;width:28px;height:28px;border-radius:50%;font-size:17px}
.contact-page #our-business .business-solution:focus-visible{outline:3px solid #d56b1c;outline-offset:4px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.business-card-icon{transition:transform .25s}.business-solution:hover .business-card-icon{transform:translateY(-3px)}.business-card-action>span{transition:background .2s}.business-solution:hover .business-card-action>span{background:#ffd2a4}}
@media(max-width:1100px){.contact-page #our-business .company-offerings{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-page #our-business .business-solution h3{min-height:0}}
@media(max-width:560px){.contact-page #our-business .company-heading{text-align:left}.contact-page #our-business .company-offerings{grid-template-columns:1fr;gap:14px;margin:24px 0}.contact-page #our-business .business-solution{padding:22px}.business-card-top{margin-bottom:18px}}

/* Compact company overview, impact and value sections. */
.contact-page .company-sections{gap:36px;margin-block:48px}
.contact-page #our-customers{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:32px;padding:28px 32px;background:linear-gradient(120deg,#fff3e5,#faf9f7 58%);border:1px solid #e8dacb;border-radius:22px}
.contact-page #our-customers h2{font-size:clamp(26px,2.5vw,36px);line-height:1.16;margin:12px 0 0;letter-spacing:-1px}
.contact-page #our-customers p:not(.eyebrow){font-size:14px;line-height:1.7;margin:0 0 12px}
.contact-page #our-customers .button{margin-top:4px;padding:12px 20px;font-size:13px}
.contact-page #company-impact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:26px;background:#fff;border:1px solid #e3ded6;border-radius:22px}
.contact-page #company-impact>header{grid-column:1/-1;padding:0 0 16px;margin:0;border-bottom:1px solid #eee5db;display:flex;justify-content:space-between;align-items:center;gap:20px}
.contact-page #company-impact>header .eyebrow{margin:0;white-space:nowrap;font-size:10px}
.contact-page #company-impact h2{font-size:24px;letter-spacing:-.6px;line-height:1.2;margin:0}
.contact-page #company-impact .impact-group{display:block;padding:0;min-width:0}
.contact-page #company-impact .impact-group h3{display:flex;align-items:center;gap:10px;font-size:14px;margin:0 0 12px}
.contact-page #company-impact .impact-group h3>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#fff0df;margin:0;font-size:10px;color:#ad551a}
.contact-page #company-impact dl{grid-template-columns:1fr;gap:8px}
.contact-page #company-impact .impact-metric{display:grid;grid-template-columns:38px 110px minmax(0,1fr);align-items:center;gap:12px;padding:13px 16px;border:1px solid #eee5dc;border-radius:12px;background:#faf9f7}
.contact-page #company-impact dt svg{grid-column:1;grid-row:1;margin:0;width:23px;height:23px;padding:6px}
.contact-page #company-impact dd{grid-column:2;grid-row:1;font-size:25px;margin:0;letter-spacing:-1px}
.contact-page #company-impact dt>span{grid-column:3;grid-row:1;margin:0;font-size:12px;line-height:1.45}
.contact-page #customer-value{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px 32px;background:linear-gradient(135deg,#f7f4ef,#fff);padding:30px;border:1px solid #e6ded3;border-radius:22px}
.contact-page #customer-value>.company-heading{margin:0;max-width:none;align-self:center}
.contact-page #customer-value h2{font-size:clamp(26px,2.5vw,36px);line-height:1.16;margin:14px 0;letter-spacing:-1px}
.contact-page #customer-value>.company-heading>p:not(.eyebrow){font-size:14px;line-height:1.7;margin:0;color:#666c78}
.contact-page #customer-value .company-value-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:0}
.contact-page #customer-value .company-value-grid article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px 14px;padding:17px 18px;border:1px solid #e8e0d6;border-radius:14px;background:#fff;min-height:0}
.contact-page #customer-value .company-value-grid article>span{grid-column:1;grid-row:1/3;display:grid;place-items:center;align-self:start;width:34px;height:34px;background:#fff0df;border-radius:10px;color:#af561a;font-size:11px}
.contact-page #customer-value .company-value-grid h3{grid-column:2;font-size:18px;line-height:1.25;margin:0;letter-spacing:-.4px}
.contact-page #customer-value .company-value-grid p{grid-column:2;font-size:13px;line-height:1.6;margin:0;color:#666c78}
.contact-page #customer-value .company-value-end{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0;padding:18px 0 0;border:0;border-top:1px solid #e5ddd2;background:transparent;border-radius:0}
.contact-page #customer-value .company-value-end h3{font-size:19px;line-height:1.3;margin:0}
.contact-page #customer-value .company-value-end .button{font-size:13px;padding:12px 20px;flex-shrink:0}
@media(max-width:1000px){.contact-page #company-impact .impact-metric{grid-template-columns:34px minmax(0,1fr);gap:4px 12px}.contact-page #company-impact dt svg{grid-row:1/3}.contact-page #company-impact dt>span{grid-column:2;grid-row:2}.contact-page #company-impact>header{display:block}.contact-page #company-impact h2{margin-top:8px}}
@media(max-width:700px){.contact-page .company-sections{gap:24px;margin-block:32px}.contact-page #our-customers,.contact-page #customer-value{grid-template-columns:1fr;padding:22px;gap:20px}.contact-page #company-impact{grid-template-columns:1fr;padding:20px;gap:18px}.contact-page #company-impact .impact-metric{grid-template-columns:34px 98px minmax(0,1fr)}.contact-page #company-impact dt svg{grid-row:1}.contact-page #company-impact dt>span{grid-row:1;grid-column:3}.contact-page #company-impact dd{font-size:23px}.contact-page #customer-value .company-value-end{flex-direction:column;align-items:flex-start}.contact-page #customer-value .company-value-end .button{white-space:normal;text-align:center;max-width:100%}}
@media(max-width:380px){.contact-page #company-impact .impact-metric{grid-template-columns:32px minmax(0,1fr)}.contact-page #company-impact dt svg{grid-row:1/3}.contact-page #company-impact dt>span{grid-column:2;grid-row:2}}
