/* FACILE CONTACT PAGE — fresh editorial design */
:root{--contact-orange:#f27600;--contact-orange-dark:#db5f00;--contact-ink:#171715;--contact-muted:#706d66;--contact-paper:#f5f2ec;--contact-line:rgba(23,23,21,.14);--contact-yellow:#ffd52a}
.contact-page{font-family:'Poppins',sans-serif;color:var(--contact-ink);background:#fff;overflow:hidden}
.contact-page *{box-sizing:border-box}
.contact-page a{text-decoration:none}
.contact-hero{position:relative;isolation:isolate;min-height:470px;padding:46px max(6.3%,calc((100% - 1320px)/2)) 55px;background:#f2eee7;overflow:hidden}
.contact-hero::before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(245,242,236,.98) 0%,rgba(245,242,236,.94) 48%,rgba(245,242,236,.28) 100%)}
.contact-hero-inner{position:relative;z-index:2;max-width:760px}
.contact-breadcrumb{display:flex;gap:11px;align-items:center;margin-bottom:42px;color:#817d75;font-size:11px;font-weight:500}.contact-breadcrumb a{color:var(--contact-ink)}.contact-breadcrumb span:last-child{color:var(--contact-orange)}
.contact-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 20px;color:var(--contact-orange);font-size:10px;font-weight:800;letter-spacing:3px}.contact-eyebrow>span{display:inline-block;width:34px;height:3px;background:var(--contact-orange)}
.contact-hero h1{max-width:780px;margin:0;font-size:clamp(45px,6.1vw,83px);font-weight:800;line-height:.99;letter-spacing:-4px}.contact-hero h1 em,.contact-info-column h2 em,.contact-form-column h2 em,.contact-bottom-cta h2 em{font-style:normal;color:var(--contact-orange)}
.contact-hero-description{max-width:510px;margin:24px 0 24px;color:#55524c;font-size:14px;line-height:1.9}
.contact-hero-note{display:flex;align-items:center;gap:13px;color:#37352f;font-size:11px;font-weight:600;line-height:1.8}.note-mark{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;background:var(--contact-orange);color:white;font-size:23px}
.contact-hero-art{position:absolute;z-index:0;right:7%;top:50%;width:min(36vw,440px);height:340px;transform:translateY(-46%)}
.art-ring{position:absolute;border:1px solid rgba(23,23,21,.22);border-radius:50%;transform:rotate(-28deg)}.ring-one{width:100%;height:62%;top:15%;left:0}.ring-two{width:78%;height:90%;top:0;left:12%;transform:rotate(36deg);border-color:rgba(242,118,0,.5)}
.art-square{position:absolute;left:22%;top:12%;width:58%;height:76%;display:flex;flex-direction:column;justify-content:flex-end;padding:25px;background:linear-gradient(145deg,#252521,#10100f);color:#fff;box-shadow:20px 24px 0 rgba(242,118,0,.17);transform:rotate(5deg)}.art-square::before{content:"";position:absolute;inset:12px;border:1px solid rgba(255,213,42,.55)}.art-square span,.art-square strong,.art-square i{position:relative}.art-square span{margin-bottom:auto;color:var(--contact-yellow);font-size:10px;font-weight:800;letter-spacing:4px}.art-square strong{font-size:clamp(22px,2.7vw,37px);line-height:1.02;letter-spacing:-1.5px}.art-square i{margin-top:15px;color:#bdbab2;font-size:7px;font-style:normal;letter-spacing:2px}.art-dot{position:absolute;width:12px;height:12px;background:var(--contact-orange);border-radius:50%}.dot-one{top:6%;right:14%}.dot-two{bottom:8%;left:7%;width:7px;height:7px;background:var(--contact-yellow)}.contact-hero-index{position:absolute;right:4%;bottom:25px;color:#77736b;font-size:9px;font-weight:700;letter-spacing:2px;writing-mode:vertical-rl}
.contact-main{width:min(1320px,calc(100% - 96px));margin:0 auto;padding:100px 0 110px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:9%;align-items:start}
.contact-section-kicker{display:flex;align-items:center;gap:13px;margin-bottom:27px;color:#77736b;font-size:9px;font-weight:800;letter-spacing:2px}.contact-section-kicker>span:first-child{color:var(--contact-orange)}.kicker-line{width:44px;height:1px;background:var(--contact-line)}
.contact-info-column h2{margin:0 0 20px;font-size:clamp(34px,4vw,55px);line-height:1.08;letter-spacing:-2.5px;font-weight:800}.contact-info-intro{max-width:465px;margin:0;color:var(--contact-muted);font-size:13px;line-height:2}
.contact-details-list{margin-top:35px;border-top:1px solid var(--contact-line)}.contact-detail{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:23px 0;border-bottom:1px solid var(--contact-line);align-items:start}.contact-detail-icon{width:46px;height:46px;display:grid;place-items:center;background:var(--contact-paper);color:var(--contact-orange);font-size:17px;transition:background .25s ease,color .25s ease,transform .25s ease}.contact-detail:hover .contact-detail-icon{background:var(--contact-orange);color:#fff;transform:translateY(-3px)}.detail-label{display:block;margin:0 0 7px;color:#858078;font-size:9px;font-weight:800;letter-spacing:1.8px}.contact-detail h3{margin:0 0 5px;font-size:15px;line-height:1.5;font-weight:700;overflow-wrap:anywhere}.contact-detail h3 a{color:var(--contact-ink)}.contact-detail h3 a:hover{color:var(--contact-orange)}.contact-detail p{margin:0;color:var(--contact-muted);font-size:11px;line-height:1.8}.contact-detail p small{font-size:10px}
.contact-social-block{margin-top:29px}.contact-socials{display:flex;gap:9px;margin-top:14px}.contact-socials a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--contact-line);color:var(--contact-ink);font-size:15px;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}.contact-socials a:hover{background:var(--contact-orange);border-color:var(--contact-orange);color:#fff;transform:translateY(-3px)}
.contact-side-note{display:flex;gap:13px;align-items:flex-start;margin-top:35px;padding:18px 20px;background:var(--contact-paper);border-left:3px solid var(--contact-orange)}.contact-side-note>span{color:var(--contact-orange);font-size:20px}.contact-side-note p{margin:0;color:#5f5b54;font-size:11px;line-height:1.9}
.contact-form-column{position:relative;padding:42px 42px 35px;background:#f7f5f0;border:1px solid rgba(23,23,21,.08);box-shadow:0 22px 65px rgba(30,26,18,.07)}.contact-form-column::before{content:"";position:absolute;left:-1px;top:0;width:90px;height:4px;background:var(--contact-orange)}.form-topline{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:29px;color:#77736b;font-size:9px;font-weight:800;letter-spacing:1.7px}.form-status{display:flex;align-items:center;gap:7px;color:#6b6a5e;font-size:8px;letter-spacing:1px}.form-status i{width:7px;height:7px;border-radius:50%;background:#78a75b;box-shadow:0 0 0 4px rgba(120,167,91,.13)}.contact-form-column h2{margin:0;font-size:clamp(32px,3.2vw,45px);line-height:1.1;letter-spacing:-2px;font-weight:800}.form-intro{margin:13px 0 28px;color:var(--contact-muted);font-size:12px;line-height:1.8}.contact-form{display:flex;flex-direction:column;gap:19px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{display:flex;flex-direction:column;gap:9px;min-width:0}.form-field label{color:#292824;font-size:14px;font-weight:700;letter-spacing:.2px}.form-field label span{color:var(--contact-orange)}.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;border:1px solid #dfdcd5;border-radius:0;background:#fff;padding:14px 15px;color:var(--contact-ink);font:400 11px 'Poppins',sans-serif;outline:none;transition:border-color .25s ease,box-shadow .25s ease}.form-field input,.form-field select{height:48px}.form-field textarea{min-height:125px;resize:vertical;line-height:1.8}.form-field input::placeholder,.form-field textarea::placeholder{color:#aaa69d}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--contact-orange);box-shadow:0 0 0 3px rgba(242,118,0,.1)}.select-wrap{position:relative}.select-wrap::after{content:'⌄';position:absolute;right:15px;top:12px;color:var(--contact-orange);pointer-events:none;font-size:18px}.form-field select{appearance:none;padding-right:40px;color:#77736b}.privacy-consent{display:flex;align-items:flex-start;gap:10px;color:#77736b;font-size:10px;line-height:1.7;cursor:pointer}.privacy-consent input{margin:3px 0 0;accent-color:var(--contact-orange);flex-shrink:0}.contact-submit{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 0 0 20px;border:0;background:var(--contact-orange);color:#fff;font:700 11px 'Poppins',sans-serif;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background .25s ease,transform .25s ease}.contact-submit:hover{background:var(--contact-orange-dark);transform:translateY(-2px)}.submit-arrow{align-self:stretch;min-width:57px;display:grid;place-items:center;background:rgba(150,53,0,.22);font-size:22px;font-weight:400}.form-footnote{display:flex;align-items:center;gap:8px;margin:0;color:#77736b;font-size:9px}.form-footnote i{color:var(--contact-orange)}.form-demo-notice{margin:0;color:#8b6c45;font-size:9px;line-height:1.7}
.contact-bottom-cta{background:#171715;color:#fff;padding:68px 0}.contact-bottom-inner{width:min(1320px,calc(100% - 96px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:35px}.contact-bottom-cta .contact-eyebrow{color:var(--contact-yellow);margin-bottom:15px}.contact-bottom-cta .contact-eyebrow>span{background:var(--contact-yellow)}.contact-bottom-cta h2{margin:0;font-size:clamp(34px,4.4vw,59px);line-height:1.04;letter-spacing:-2.5px}.contact-cta-button{display:inline-flex;align-items:center;gap:35px;min-height:56px;padding:0 0 0 23px;background:var(--contact-yellow);color:#171715;font-size:10px;font-weight:800;letter-spacing:1px;white-space:nowrap;transition:background .25s ease,transform .25s ease}.contact-cta-button span{height:56px;min-width:55px;display:grid;place-items:center;background:rgba(0,0,0,.08);font-size:20px}.contact-cta-button:hover{background:#fff;color:#171715;transform:translateY(-3px)}
/* Footer icon layout uses the existing site's footer styles from style.css. */
@media(max-width:1000px){.contact-hero{padding-left:5%;padding-right:5%;min-height:440px}.contact-hero-art{right:3%;width:37vw;opacity:.8}.contact-hero h1{font-size:clamp(43px,6vw,67px)}.contact-main{width:calc(100% - 60px);grid-template-columns:.9fr 1.1fr;gap:5%;padding:75px 0 85px}.contact-form-column{padding:32px 27px}.form-topline{align-items:flex-start;flex-direction:column;gap:9px}.contact-bottom-inner{width:calc(100% - 60px)}}
@media(max-width:700px){.contact-hero{min-height:0;padding:30px 22px 43px}.contact-breadcrumb{margin-bottom:36px}.contact-hero h1{font-size:clamp(42px,11vw,62px);letter-spacing:-2.5px}.contact-hero-description{font-size:13px;max-width:470px}.contact-hero-art{right:-105px;top:58%;width:300px;height:250px;opacity:.13}.contact-hero-index{right:15px;bottom:15px;font-size:7px}.contact-main{width:calc(100% - 36px);grid-template-columns:1fr;gap:48px;padding:65px 0 70px}.contact-info-column h2{font-size:clamp(35px,9vw,48px)}.contact-form-column{padding:31px 21px 25px}.contact-form-column h2{font-size:36px}.form-row{grid-template-columns:1fr;gap:19px}.form-topline{flex-direction:row;flex-wrap:wrap}.contact-bottom-cta{padding:52px 0}.contact-bottom-inner{width:calc(100% - 36px);align-items:flex-start;flex-direction:column;gap:27px}.contact-bottom-cta h2{font-size:40px}.contact-cta-button{width:100%;justify-content:space-between}.contact-cta-button span{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.contact-page *,.contact-page *::before,.contact-page *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ===== Subtle contact-page motion ===== */
@keyframes contactFadeUp {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes contactFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes contactArtFloat {
  0%, 100% { transform: translateY(-46%) translateX(0); }
  50%      { transform: translateY(calc(-46% - 8px)) translateX(3px); }
}
@keyframes contactRingRotate {
  from { rotate: 0deg; }
  to   { rotate: 360deg; }
}
@keyframes contactStatusPulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(120,167,91,.13); }
  50%      { box-shadow: 0 0 0 7px rgba(120,167,91,.04); }
}

.contact-hero-inner > * {
  animation: contactFadeUp .75s cubic-bezier(.2,.75,.25,1) both;
}
.contact-hero-inner .contact-breadcrumb { animation-delay: .05s; }
.contact-hero-inner .contact-eyebrow { animation-delay: .13s; }
.contact-hero-inner h1 { animation-delay: .21s; }
.contact-hero-inner .contact-hero-description { animation-delay: .29s; }
.contact-hero-inner .contact-hero-note { animation-delay: .37s; }
.contact-hero-art { animation: contactArtFloat 7s ease-in-out infinite; }
.contact-hero-art .ring-one { animation: contactRingRotate 36s linear infinite; }
.contact-hero-art .ring-two { animation: contactRingRotate 44s linear infinite reverse; }
.art-square { transition: transform .5s cubic-bezier(.2,.75,.25,1), box-shadow .5s ease; }
.contact-hero-art:hover .art-square { transform: rotate(1deg) translateY(-5px); box-shadow: 25px 30px 0 rgba(242,118,0,.2); }
.contact-info-column { animation: contactFadeUp .8s .15s both; }
.contact-form-column { animation: contactFadeUp .85s .28s both; transition: box-shadow .35s ease, border-color .35s ease; }
.contact-form-column:focus-within { border-color: rgba(242,118,0,.35); box-shadow: 0 28px 75px rgba(30,26,18,.11); }
.contact-detail { transition: padding-left .3s ease, background-color .3s ease; }
.contact-detail:hover { padding-left: 7px; }
.contact-status i, .form-status i { animation: contactStatusPulse 2.4s ease-in-out infinite; }
.contact-bottom-inner > div { animation: contactFadeUp .8s both; }
.contact-cta-button { animation: contactFadeIn 1s .2s both; }
.contact-socials a { transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease; }

@media (prefers-reduced-motion: reduce) {
  .contact-hero-inner > *, .contact-hero-art, .contact-hero-art .ring-one,
  .contact-hero-art .ring-two, .contact-info-column, .contact-form-column,
  .contact-bottom-inner > div, .contact-cta-button, .form-status i {
    animation: none !important;
  }
  .contact-detail, .art-square { transition: none !important; }
}

/* Heading scroll reveal */
h1,
h2,
h3 {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
}

h1.heading-visible,
h2.heading-visible,
h3.heading-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    h1,
    h2,
    h3 {
        opacity: 1;
        transform: none;
        transition: none;
    }
}


/* =====================================
   FACILE BRAND TICKER — MOBILE + DESKTOP
===================================== */

.contact-page .ticker {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
}

.contact-page .ticker .ticker-track {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;

    width: max-content;
    max-width: none;
    flex-shrink: 0;

    animation: contactBrandTicker 25s linear infinite;
    animation-play-state: running;

    will-change: transform;
}

.contact-page .ticker .ticker-track > span,
.contact-page .ticker .ticker-track > i {
    display: block;
    flex: 0 0 auto;
    white-space: nowrap;
}

@keyframes contactBrandTicker {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

/* Mobile */
@media screen and (max-width: 600px) {
    .contact-page .ticker .ticker-track {
        animation-duration: 20s;
    }
}

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
    .contact-page .ticker .ticker-track {
        animation: none;
    }
}
/* FIX: CONTACT PAGE TICKER */
.contact-page .ticker {
    display: block;
    width: 100%;
    overflow: hidden;
    position: relative;
    white-space: nowrap;
}

.contact-page .ticker .ticker-track {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    width: max-content;
    max-width: none;
    flex-shrink: 0;

    animation: contactTickerScroll 25s linear infinite !important;
    animation-play-state: running !important;
    will-change: transform;
}

.contact-page .ticker .ticker-track > span,
.contact-page .ticker .ticker-track > i {
    display: inline-block;
    flex: 0 0 auto;
    white-space: nowrap;
}

@keyframes contactTickerScroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@media (max-width: 600px) {
    .contact-page .ticker .ticker-track {
        animation-duration: 22s !important;
    }

    .contact-page .ticker .ticker-track > span {
        padding-left: 14px;
        padding-right: 14px;
        font-size: 11px;
    }
}

/* Keep ticker moving even when reduced motion is enabled */
@media (prefers-reduced-motion: reduce) {
    .contact-page .ticker .ticker-track {
        animation: contactTickerScroll 25s linear infinite !important;
    }
}