*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* HIGH-CONTRAST INDUSTRIAL PALETTE */
  --ink:#0A0E1A;                 /* near-black navy, deeper than before */
  --ink-2:#13182A;
  --bone:#F4EFE6;                /* warm off-white, paper feel */
  --bone-2:#EBE5D7;
  --orange:#1E7BD9;              /* metallic cobalt — industrial blue with punch */
  --orange-deep:#0A4D8C;
  --acid:#00E5A0;                /* electric teal-green accent */
  --steel:#2A3447;
  --muted:#6B7280;
  --line:#0A0E1A;
  --white:#FFFFFF;

  --display:'Archivo Black','Arial Black',sans-serif;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Inter',-apple-system,sans-serif;
  --mono:'JetBrains Mono',Menlo,monospace;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:500;color:var(--ink);background:var(--bone);line-height:1.6;-webkit-font-smoothing:antialiased;font-size:17px}

/* ─── LAYOUT ─────────────────────────────────────────── */
.wrap{max-width:1480px;margin:0 auto;padding:0 3.5rem}
.page{display:none}
.page.active{display:block}

/* ─── NAV ────────────────────────────────────────────── */
nav{position:sticky;top:0;z-index:500;background:var(--ink);color:var(--bone);border-bottom:3px solid var(--orange)}
.nav-inner{max-width:1480px;margin:0 auto;padding:0 3.5rem;display:flex;align-items:center;justify-content:space-between;height:88px}
.logo{display:flex;align-items:center;gap:12px;cursor:pointer;text-decoration:none}
.logo-img{height:64px;width:auto;display:block}
.logo-mark{width:44px;height:44px;background:var(--orange);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-text{display:flex;flex-direction:column;gap:1px}
.logo-name{font-family:var(--display);font-size:21px;color:var(--bone);line-height:1;letter-spacing:.5px}
.logo-tag{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);font-weight:600}
.nav-links{display:flex;gap:0;list-style:none;align-items:center}
.nav-links>li{position:relative}
.nav-links>li::after{content:'';position:absolute;top:100%;left:0;right:0;height:10px;pointer-events:auto}
.nav-links>li>a{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(244,239,230,.75);padding:11px 22px;cursor:pointer;text-decoration:none;transition:color .15s;white-space:nowrap}
.nav-links>li>a:hover,.nav-links>li>a.active-link{color:var(--orange)}
.dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;background:var(--ink-2);border:2px solid var(--orange);padding:8px;display:none;z-index:600}
.nav-links>li:hover .dropdown{display:block}
.dropdown a{display:block;font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:rgba(244,239,230,.8);padding:13px 18px;text-decoration:none;cursor:pointer;transition:all .15s;border-left:2px solid transparent}
.dropdown a:hover{background:var(--ink);color:var(--orange);border-left-color:var(--orange)}
.nav-cta{background:var(--orange)!important;color:var(--ink)!important;padding:16px 26px!important;font-size:14px!important;font-weight:800!important;letter-spacing:.1em!important;border:2px solid var(--orange);transition:all .2s!important}
.nav-cta:hover{background:transparent!important;color:var(--orange)!important}
.ham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
.ham span{width:24px;height:3px;background:var(--bone);transition:all .25s}
.mobile-menu{display:none;position:fixed;top:88px;left:0;right:0;bottom:0;background:var(--ink);z-index:490;overflow-y:auto;padding:2rem}
.mobile-menu.open{display:block}
.mob-link{display:block;font-family:var(--display);font-size:20px;color:var(--bone);padding:16px 0;border-bottom:1px solid var(--steel);cursor:pointer;text-decoration:none;text-transform:uppercase;letter-spacing:.5px}
.mob-sub{padding-left:1rem;background:var(--ink-2)}
.mob-sub a{display:block;font-family:var(--mono);font-size:12px;color:rgba(244,239,230,.7);padding:12px;cursor:pointer;text-decoration:none;text-transform:uppercase;letter-spacing:.08em}

/* ─── HERO ───────────────────────────────────────────── */
.hero{background:var(--ink);color:var(--bone);position:relative;overflow:hidden;border-bottom:3px solid var(--orange);isolation:isolate}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;z-index:0;filter:grayscale(15%) contrast(1.08) brightness(.9);transition:opacity 1.4s ease-in-out}
.hero-slide.active{opacity:.9}
.hero-slide-1{background-image:url('https://canyoninternational.com/dry/wp-content/uploads/2026/05/gears-and-bearing-against-a-white-background-2026-01-11-09-06-23-utc-scaled-e1778785318676.jpg')}
.hero-slide-2{background-image:url('https://canyoninternational.com/dry/wp-content/uploads/2026/05/rollers-1-scaled.jpg')}
.hero-slide-3{background-image:url('https://canyoninternational.com/dry/wp-content/uploads/2026/05/Blue-2-scaled-e1778785511117.jpg')}
.hero-slide-4{background-image:url('https://canyoninternational.com/dry/wp-content/uploads/2026/05/pins-1-scaled.jpg')}
.hero-slide-5{background-image:url('https://canyoninternational.com/dry/wp-content/uploads/2026/05/brown-1-scaled.jpg')}
.hero-indicators{position:absolute;bottom:2.5rem;right:3.5rem;display:flex;gap:14px;z-index:3}
.hero-indicator{width:48px;height:4px;background:rgba(244,239,230,.22);border:none;padding:0;cursor:pointer;transition:background .35s,width .35s}
.hero-indicator:hover{background:rgba(244,239,230,.55)}
.hero-indicator.active{background:var(--orange);width:72px}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,26,.88) 0%,rgba(10,14,26,.55) 45%,rgba(10,14,26,.2) 100%);z-index:1;pointer-events:none}
.hero-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.09) 1.3px,transparent 1.5px);background-size:12px 12px;pointer-events:none;z-index:1;mix-blend-mode:screen}
.hero-inner{max-width:1480px;margin:0 auto;padding:3rem 3.5rem 3.5rem;position:relative;z-index:2}
.hero-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem;gap:2rem;flex-wrap:wrap}
.hero-meta{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);font-weight:600;display:flex;align-items:center;gap:14px}
.hero-meta::before{content:'';width:32px;height:2px;background:var(--orange)}
.hero-since{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,239,230,.45);font-weight:600}
.hero h1{font-family:var(--display);font-size:clamp(3rem,7.5vw,7rem);line-height:.88;letter-spacing:-.025em;color:var(--bone);margin-bottom:1.5rem;text-transform:uppercase}
.hero h1 .red{color:var(--orange)}
.hero-sub{font-family:var(--serif);font-size:clamp(1.25rem,1.7vw,1.6rem);font-weight:600;color:var(--bone);max-width:780px;line-height:1.3;margin-bottom:2rem;letter-spacing:-.01em}
.hero-sub em{font-style:italic;color:var(--orange)}
.hero-cta-row{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem}
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:18px 32px;border:2px solid;cursor:pointer;text-decoration:none;transition:all .15s}
.btn-primary{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.btn-primary:hover{background:var(--ink);color:var(--orange)}
.btn-ghost{background:transparent;color:var(--bone);border-color:var(--bone)}
.btn-ghost:hover{background:var(--bone);color:var(--ink)}
.btn svg{transition:transform .15s}
.btn:hover svg{transform:translateX(4px)}

.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--orange)}
.hero-stat{padding:1.3rem 0;padding-right:2rem;border-right:1px solid rgba(244,239,230,.1)}
.hero-stat:last-child{border-right:none}
.hero-stat-n{font-family:var(--display);font-size:clamp(2rem,3.5vw,3.2rem);color:var(--orange);line-height:1;margin-bottom:.4rem;letter-spacing:-.02em}
.hero-stat-l{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,230,.55);font-weight:600}

/* ─── SECTIONS ───────────────────────────────────────── */
section{padding:7rem 0;border-bottom:1px solid rgba(10,14,26,.08);position:relative}
section.dark{background:var(--ink);color:var(--bone);border-bottom:3px solid var(--orange)}
section.bone-2{background:var(--bone-2)}
.section-tag{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:1.5rem}
.section-tag::before{content:'';width:28px;height:2px;background:var(--orange)}
.section-num{font-family:var(--display);font-size:clamp(4rem,8vw,7rem);color:var(--orange);line-height:1;letter-spacing:-.03em;position:absolute;right:2rem;top:7rem;opacity:.08;pointer-events:none}
section h2{font-family:var(--display);font-size:clamp(2.5rem,5vw,4.5rem);line-height:.95;letter-spacing:-.025em;color:var(--ink);margin-bottom:1.5rem;text-transform:uppercase;max-width:900px}
section.dark h2{color:var(--bone)}
section h2 .accent{color:var(--orange)}
.section-lead{font-family:var(--serif);font-size:1.3rem;font-weight:600;line-height:1.5;color:var(--ink);max-width:720px;margin-bottom:4rem;letter-spacing:-.01em}
section.dark .section-lead{color:rgba(244,239,230,.85)}

/* ─── SERVICES GRID ──────────────────────────────────── */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:3px solid var(--ink)}
a.svc{text-decoration:none;color:inherit;display:block}
.svc{padding:2.75rem 2rem;border-right:3px solid var(--ink);position:relative;background:var(--bone);cursor:pointer;transition:all .25s}
.svc:last-child{border-right:none}
.svc:hover{background:var(--ink);color:var(--bone)}
.svc-num{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--orange);margin-bottom:2rem;display:block}
.svc h3{font-family:var(--display);font-size:1.75rem;line-height:1;letter-spacing:-.01em;color:var(--ink);margin-bottom:1rem;text-transform:uppercase;transition:color .25s}
.svc:hover h3{color:var(--bone)}
.svc p{font-size:15.5px;line-height:1.6;color:var(--muted);margin-bottom:2rem;transition:color .25s}
.svc:hover p{color:rgba(244,239,230,.7)}
.svc-arrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.svc-arrow svg{transition:transform .2s}
@media(max-width:1200px){.svc-grid{grid-template-columns:repeat(2,1fr)}.svc:nth-child(2n){border-right:none}.svc:nth-child(-n+2){border-bottom:3px solid var(--ink)}}
.svc:hover .svc-arrow svg{transform:translateX(6px)}

/* ─── PROBLEM/SOLUTION ──────────────────────────────── */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.duo-col h3{font-family:var(--display);font-size:2rem;line-height:1;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:1rem}
.duo-col p{font-size:17px;line-height:1.65;color:rgba(244,239,230,.75);margin-bottom:1rem}
.duo-prob h3{color:#FF6347}
.duo-sol h3{color:var(--acid)}
.duo-list{list-style:none;margin-top:1.5rem}
.duo-list li{padding:.7rem 0;border-bottom:1px solid var(--steel);display:flex;align-items:flex-start;gap:14px;font-size:16px;color:rgba(244,239,230,.85)}
.duo-list li::before{content:'';width:8px;height:8px;background:var(--orange);margin-top:8px;flex-shrink:0}
.duo-sol .duo-list li::before{background:var(--acid)}

/* ─── PRODUCT BRANDS ─────────────────────────────────── */
.brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:3px solid var(--ink)}
.brand-block{padding:3rem;border-right:3px solid var(--ink);display:flex;flex-direction:column}
.brand-block:last-child{border-right:none}
.brand-block-1{background:var(--ink);color:var(--bone)}
.brand-block-2{background:var(--orange);color:var(--ink)}
.brand-label{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:.5rem}
.brand-block-1 .brand-label{color:var(--orange)}
.brand-name{font-family:var(--display);font-size:clamp(2.5rem,4vw,3.5rem);line-height:1;letter-spacing:-.02em;text-transform:uppercase;margin-bottom:1.5rem}
.brand-desc{font-size:15.5px;line-height:1.65;margin-bottom:2rem;max-width:380px}
.brand-block-1 .brand-desc{color:rgba(244,239,230,.75)}
.brand-block-2 .brand-desc{color:rgba(10,14,26,.8)}
.brand-products{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.brand-chip{display:inline-block;padding:8px 14px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:2px solid;transition:all .15s;cursor:default}
.brand-block-1 .brand-chip{border-color:rgba(244,239,230,.3);color:rgba(244,239,230,.85)}
.brand-block-1 .brand-chip:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.brand-block-2 .brand-chip{border-color:var(--ink);color:var(--ink)}
.brand-block-2 .brand-chip:hover{background:var(--ink);color:var(--orange)}

/* Teflon authorized applicator badge */
.auth-badge{display:inline-flex;align-items:center;gap:14px;background:var(--bone);border:2px solid var(--ink);padding:10px 18px 10px 14px;margin-bottom:1.5rem;align-self:flex-start}
.auth-badge img{height:38px;width:auto;display:block}
.auth-badge-text{display:flex;flex-direction:column;gap:2px;line-height:1}
.auth-badge-label{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);font-weight:700}
.auth-badge-name{font-family:var(--display);font-size:13px;color:var(--ink);text-transform:uppercase;letter-spacing:.02em}
.brand-block-1 .auth-badge{background:var(--bone);border-color:var(--bone)}
.brand-block-2 .auth-badge{background:var(--ink);border-color:var(--ink)}
.brand-block-2 .auth-badge-name{color:var(--bone)}
.brand-block-2 .auth-badge-label{color:var(--orange)}

/* ─── WORK CAROUSEL ──────────────────────────────────── */
.work-carousel{height:350px;overflow:hidden;background:var(--ink);position:relative;border-top:3px solid var(--orange);border-bottom:3px solid var(--orange)}
.work-track{display:flex;height:100%;width:max-content;transition:transform .7s cubic-bezier(.65,.05,.36,1)}
.work-item{height:100%;width:580px;flex-shrink:0;background-size:cover;background-position:center;background-repeat:no-repeat;border-right:3px solid var(--ink);filter:grayscale(8%) contrast(1.05) brightness(.95)}
.work-tag{position:absolute;top:1.5rem;left:1.5rem;font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--bone);background:rgba(10,14,26,.78);backdrop-filter:blur(8px);border:2px solid rgba(244,239,230,.18);padding:10px 16px;text-transform:uppercase;font-weight:700;z-index:5;display:flex;align-items:center;gap:12px}
.work-tag::before{content:'';display:inline-block;width:22px;height:2px;background:var(--orange)}
.work-overlay{position:absolute;top:0;bottom:0;width:100px;z-index:4;pointer-events:none}
.work-overlay-l{left:0;background:linear-gradient(90deg,rgba(10,14,26,.5) 0%,transparent 100%)}
.work-overlay-r{right:0;background:linear-gradient(270deg,rgba(10,14,26,.5) 0%,transparent 100%)}
.work-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:48px;height:48px;background:rgba(10,14,26,.65);border:2px solid rgba(244,239,230,.25);color:var(--bone);cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);transition:all .2s;padding:0}
.work-arrow:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.work-arrow-prev{left:1.5rem}
.work-arrow-next{right:1.5rem}
.work-play{position:absolute;top:1.5rem;right:1.5rem;z-index:6;width:42px;height:42px;background:rgba(10,14,26,.78);backdrop-filter:blur(8px);border:2px solid rgba(244,239,230,.18);color:var(--bone);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}
.work-play:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.work-play .play-icon{display:none}
.work-play.paused .play-icon{display:block}
.work-play.paused .pause-icon{display:none}

/* ─── INDUSTRY GRID ──────────────────────────────────── */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-left:3px solid var(--ink);border-top:3px solid var(--ink)}
.ind{padding:2.5rem 2rem;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);background:var(--bone)}
.ind-num{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--orange);margin-bottom:1.5rem;display:block}
.ind h4{font-family:var(--display);font-size:1.3rem;line-height:1;letter-spacing:.01em;color:var(--ink);margin-bottom:.75rem;text-transform:uppercase}
.ind p{font-size:13.5px;line-height:1.55;color:var(--muted)}

/* ─── BIG QUOTE / CALLOUT ───────────────────────────── */
.callout{background:var(--orange);color:var(--ink);padding:5rem 0;text-align:center}
.callout-quote{font-family:var(--display);font-size:clamp(2rem,4.5vw,4rem);line-height:.95;letter-spacing:-.02em;text-transform:uppercase;max-width:1100px;margin:0 auto 2rem}
.callout-by{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}

/* ─── CTA BLOCK ──────────────────────────────────────── */
.cta-block{background:linear-gradient(90deg,rgba(10,14,26,.92) 0%,rgba(10,14,26,.72) 50%,rgba(10,14,26,.5) 100%),url('https://canyoninternational.com/dry/wp-content/uploads/2026/05/head-1-scaled.jpg') center/cover no-repeat,var(--ink);color:var(--bone);padding:6rem 0;position:relative;overflow:hidden;border-top:3px solid var(--orange);border-bottom:3px solid var(--orange)}
.cta-block::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1.3px,transparent 1.5px);background-size:14px 14px;pointer-events:none;mix-blend-mode:screen}
.cta-inner{position:relative;z-index:2;max-width:920px}
.cta-eyebrow{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:1rem;display:flex;align-items:center;gap:12px}
.cta-eyebrow::before{content:'';width:28px;height:2px;background:var(--orange)}
.cta-block h2{font-family:var(--display);font-size:clamp(2.5rem,5.5vw,5.5rem);line-height:.92;color:var(--bone);text-transform:uppercase;letter-spacing:-.02em;margin-bottom:1.5rem}
.cta-block h2 .accent{color:var(--orange)}
.cta-block p{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:rgba(244,239,230,.85);max-width:680px;line-height:1.5;margin-bottom:3rem}

/* ─── FOOTER ─────────────────────────────────────────── */
footer{background:var(--ink);color:var(--bone);padding:5rem 0 2rem;border-top:3px solid var(--orange)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:4rem}
.footer-brand{font-family:var(--display);font-size:2rem;line-height:1;text-transform:uppercase;color:var(--bone);margin-bottom:1rem;letter-spacing:-.01em}
.footer-tag{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:1.5rem}
.footer-desc{font-size:15px;color:rgba(244,239,230,.6);max-width:340px;line-height:1.6}
.footer-col h5{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:1.25rem}
.footer-col a,.footer-col p{display:block;font-size:14.5px;color:rgba(244,239,230,.75);text-decoration:none;line-height:1.9;cursor:pointer;transition:color .15s}
.footer-col a:hover{color:var(--orange)}
.footer-bottom{padding-top:2rem;border-top:1px solid var(--steel);display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(244,239,230,.5);flex-wrap:wrap;gap:1rem}

/* ─── INTERIOR PAGE STYLES ──────────────────────────── */
.page-head{background:var(--ink);color:var(--bone);padding:5rem 0 4rem;border-bottom:3px solid var(--orange);position:relative;overflow:hidden}
#highperf .page-head{background:linear-gradient(90deg,rgba(10,14,26,.92) 0%,rgba(10,14,26,.7) 50%,rgba(10,14,26,.5) 100%),url('https://canyoninternational.com/dry/wp-content/uploads/2026/05/drips-1-scaled.jpg') center/cover no-repeat,var(--ink)}
#highperf .page-head::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1.3px,transparent 1.5px);background-size:14px 14px;pointer-events:none;mix-blend-mode:screen;z-index:0}
#highperf .page-head .wrap{position:relative;z-index:1}
#solidfilm .page-head{background:linear-gradient(90deg,rgba(10,14,26,.92) 0%,rgba(10,14,26,.7) 50%,rgba(10,14,26,.5) 100%),url('https://canyoninternational.com/dry/wp-content/uploads/2026/05/drill-2-scaled.jpg') center/cover no-repeat,var(--ink)}
#solidfilm .page-head::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1.3px,transparent 1.5px);background-size:14px 14px;pointer-events:none;mix-blend-mode:screen;z-index:0}
#solidfilm .page-head .wrap{position:relative;z-index:1}
#teflon .page-head{background:linear-gradient(90deg,rgba(10,14,26,.92) 0%,rgba(10,14,26,.7) 50%,rgba(10,14,26,.5) 100%),url('https://canyoninternational.com/dry/wp-content/uploads/2026/05/spray-1-scaled.jpg') center/cover no-repeat,var(--ink)}
#teflon .page-head::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1.3px,transparent 1.5px);background-size:14px 14px;pointer-events:none;mix-blend-mode:screen;z-index:0}
#teflon .page-head .wrap{position:relative;z-index:1}
#about .page-head{background:linear-gradient(90deg,rgba(10,14,26,.92) 0%,rgba(10,14,26,.7) 50%,rgba(10,14,26,.5) 100%),url('https://canyoninternational.com/dry/wp-content/uploads/2026/05/guy-1-scaled.jpg') center/cover no-repeat,var(--ink);padding:6rem 0 7rem;min-height:680px;display:flex;align-items:center}
#about .page-head::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1.3px,transparent 1.5px);background-size:14px 14px;pointer-events:none;mix-blend-mode:screen;z-index:0}
#about .page-head .wrap{position:relative;z-index:1;width:100%}
#about .page-head h1{font-size:clamp(3.5rem,8vw,7.5rem);line-height:.9;margin-bottom:2rem;max-width:1100px}
#about .page-head .lead{font-size:clamp(1.3rem,1.9vw,1.75rem);max-width:820px;line-height:1.5}
#resources .page-head{background:linear-gradient(90deg,rgba(10,14,26,.92) 0%,rgba(10,14,26,.7) 50%,rgba(10,14,26,.5) 100%),url('https://canyoninternational.com/dry/wp-content/uploads/2026/05/air-1-scaled.jpg') center/cover no-repeat,var(--ink)}
#resources .page-head::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1.3px,transparent 1.5px);background-size:14px 14px;pointer-events:none;mix-blend-mode:screen;z-index:0}
#resources .page-head .wrap{position:relative;z-index:1}
#faq .page-head{background:linear-gradient(90deg,rgba(10,14,26,.92) 0%,rgba(10,14,26,.7) 50%,rgba(10,14,26,.5) 100%),url('https://canyoninternational.com/dry/wp-content/uploads/2026/05/Blue-2-scaled-e1778785511117.jpg') center/cover no-repeat,var(--ink)}
#faq .page-head::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1.3px,transparent 1.5px);background-size:14px 14px;pointer-events:none;mix-blend-mode:screen;z-index:0}
#faq .page-head .wrap{position:relative;z-index:1}
#ai .page-head{background:linear-gradient(90deg,rgba(10,14,26,.92) 0%,rgba(10,14,26,.7) 50%,rgba(10,14,26,.5) 100%),url('https://canyoninternational.com/dry/wp-content/uploads/2026/05/drips-1-scaled.jpg') center/cover no-repeat,var(--ink)}
#ai .page-head::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1.3px,transparent 1.5px);background-size:14px 14px;pointer-events:none;mix-blend-mode:screen;z-index:0}
#ai .page-head .wrap{position:relative;z-index:1}
.breadcrumb{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,239,230,.5);margin-bottom:1.5rem;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.breadcrumb a{color:var(--orange);text-decoration:none;cursor:pointer}
.page-head h1{font-family:var(--display);font-size:clamp(3rem,7vw,6rem);line-height:.92;color:var(--bone);text-transform:uppercase;letter-spacing:-.02em;margin-bottom:1.5rem;max-width:1100px}
.page-head h1 .accent{color:var(--orange)}
.page-head .lead{font-family:var(--serif);font-size:clamp(1.2rem,1.8vw,1.6rem);font-weight:600;color:rgba(244,239,230,.85);max-width:780px;line-height:1.45;letter-spacing:-.005em}

.body-content{padding:5rem 0}
.body-content h3{font-family:var(--display);font-size:clamp(1.6rem,2.8vw,2.4rem);line-height:1;text-transform:uppercase;letter-spacing:-.01em;color:var(--ink);margin:3rem 0 1rem}
.body-content h3:first-child{margin-top:0}
.body-content p{font-size:17.5px;line-height:1.7;color:var(--ink);margin-bottom:1.25rem;max-width:780px}
.body-content ul{list-style:none;margin-bottom:2rem}
.body-content li{padding:.75rem 0 .75rem 1.5rem;font-size:17px;line-height:1.65;color:var(--ink);position:relative;border-bottom:1px solid var(--bone-2)}
.body-content li::before{content:'';position:absolute;left:0;top:1.2rem;width:14px;height:2px;background:var(--orange)}
.body-content li strong{color:var(--ink);font-weight:700}
.body-content p a,.body-content li a{color:var(--orange);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(30,123,217,.45);transition:color .15s,text-decoration-color .15s}
.body-content p a:hover,.body-content li a:hover{color:var(--orange-deep);text-decoration-color:var(--orange-deep)}
.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:2rem 0;border:3px solid var(--ink)}
.spec{padding:1.5rem 1.75rem;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.spec:nth-child(even){border-right:none}
.spec:nth-last-child(-n+2){border-bottom:none}
.spec-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:.4rem}
.spec-value{font-family:var(--display);font-size:1.6rem;color:var(--ink);text-transform:uppercase;letter-spacing:-.01em;line-height:1}

/* Contact / form */
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:0;border:3px solid var(--ink)}
.contact-info{padding:3.5rem;background:var(--ink);color:var(--bone)}
.contact-form{padding:3.5rem;background:var(--bone);border-left:3px solid var(--ink)}
.contact-info h3{font-family:var(--display);font-size:2rem;color:var(--bone);text-transform:uppercase;margin-bottom:1rem;line-height:1}
.contact-info p{font-size:16px;color:rgba(244,239,230,.75);margin-bottom:2rem;line-height:1.6}
.contact-item{padding:1.25rem 0;border-bottom:1px solid var(--steel);display:flex;flex-direction:column;gap:4px;text-decoration:none}
.contact-item-label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);font-weight:700}
.contact-item-value{font-family:var(--display);font-size:1.1rem;color:var(--bone);text-transform:uppercase;letter-spacing:-.005em;cursor:pointer}
a.contact-item:hover .contact-item-value{color:var(--orange)}
.contact-form h3{font-family:var(--display);font-size:2rem;color:var(--ink);text-transform:uppercase;margin-bottom:.5rem;line-height:1}
.contact-form .form-sub{font-size:14.5px;color:var(--muted);margin-bottom:2rem}
.form-row{margin-bottom:1.25rem}
.form-row label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:700;margin-bottom:.5rem}
.form-row input,.form-row select,.form-row textarea{width:100%;padding:14px 16px;border:2px solid var(--ink);background:var(--bone);font-family:var(--sans);font-size:15px;font-weight:500;color:var(--ink);outline:none;transition:border-color .15s}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--orange)}
.form-row textarea{resize:vertical;min-height:120px}
.form-submit{background:var(--orange);color:var(--ink);border:2px solid var(--orange);padding:16px 28px;font-family:var(--mono);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;width:100%;margin-top:1rem;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;gap:12px}
.form-submit:hover{background:var(--ink);color:var(--orange)}

.leaders{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:3rem 0;border:3px solid var(--ink)}
.leader{padding:3rem;background:var(--bone);border-right:3px solid var(--ink)}
.leader:last-child{border-right:none;background:var(--ink);color:var(--bone)}
.leader-photo{position:relative;width:100%;aspect-ratio:1/1;margin:0 0 1.75rem;overflow:hidden;border:3px solid var(--ink);background:var(--orange)}
.leader:last-child .leader-photo{border-color:var(--bone)}
.leader-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.leader-initials{position:absolute;left:0;bottom:0;width:64px;height:64px;background:var(--orange);color:var(--ink);font-family:var(--display);font-size:1.3rem;display:flex;align-items:center;justify-content:center;letter-spacing:.05em}
.leader-name{font-family:var(--display);font-size:2rem;text-transform:uppercase;letter-spacing:-.01em;line-height:1;margin-bottom:.5rem}
.leader-role{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--orange);margin-bottom:1.5rem}
.leader-bio{font-size:15.5px;line-height:1.65}
.leader:last-child .leader-bio{color:rgba(244,239,230,.75)}

.article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:3px solid var(--ink)}
a.article{text-decoration:none;color:inherit;display:block}
.article{padding:2.5rem;background:var(--bone);border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);cursor:pointer;transition:all .2s}
.article:nth-child(even){border-right:none}
.article:nth-last-child(-n+2){border-bottom:none}
.article:hover{background:var(--ink);color:var(--bone)}
.article-cat{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:1rem}
.article h3{font-family:var(--display);font-size:1.7rem;line-height:1.05;text-transform:uppercase;letter-spacing:-.01em;color:var(--ink);margin-bottom:1rem;transition:color .2s}
.article:hover h3{color:var(--bone)}
.article p{font-size:14.5px;line-height:1.55;color:var(--muted);transition:color .2s}
.article:hover p{color:rgba(244,239,230,.7)}
.article-read{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);font-weight:700;margin-top:1.5rem;display:flex;align-items:center;gap:10px}

/* ─── MOBILE ─────────────────────────────────────────── */
@media(max-width:900px){
  .nav-links{display:none}
  .ham{display:flex}
  .hero h1{font-size:14vw}
  .hero-stats{grid-template-columns:repeat(2,1fr)}
  .hero-stat{border-bottom:1px solid rgba(244,239,230,.1)}
  .hero-stat:nth-child(2n){border-right:none}
  .svc-grid,.brand-grid,.contact-grid,.leaders,.article-grid{grid-template-columns:1fr}
  .svc,.brand-block,.leader,.article{border-right:none;border-bottom:3px solid var(--ink)}
  .svc:last-child,.brand-block:last-child,.leader:last-child,.article:last-child{border-bottom:none}
  .leader-photo{max-width:340px}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .duo{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .spec-grid{grid-template-columns:1fr}
  .spec{border-right:none}
  .spec:not(:last-child){border-bottom:3px solid var(--ink)}
  section{padding:4rem 0}
  .contact-form{border-left:none;border-top:3px solid var(--ink)}
}

/* ─── FAQ ACCORDION ──────────────────────────────────── */
.faq-cat{margin-bottom:3.5rem}
.faq-cat-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:3px solid var(--ink);padding-bottom:1rem;margin-bottom:1rem}
.faq-cat-title{font-family:var(--display);font-size:clamp(1.4rem,2.2vw,2rem);text-transform:uppercase;letter-spacing:-.01em;color:var(--ink);line-height:1}
.faq-cat-count{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);font-weight:700}
.faq-item{border-bottom:1px solid var(--bone-2)}
.faq-q{width:100%;background:transparent;border:none;padding:1.5rem 0;display:flex;align-items:center;justify-content:space-between;gap:2rem;cursor:pointer;text-align:left;font-family:var(--serif);font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:700;color:var(--ink);transition:color .15s;letter-spacing:-.005em}
.faq-q:hover{color:var(--orange)}
.faq-icon{flex-shrink:0;width:36px;height:36px;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:18px;color:var(--ink);font-weight:700;transition:all .25s;line-height:1}
.faq-item.open .faq-icon{background:var(--orange);border-color:var(--orange);color:var(--bone);transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease-out}
.faq-item.open .faq-a{max-height:600px;transition:max-height .5s ease-in}
.faq-a-inner{padding:0 0 1.75rem 0;max-width:780px}
.faq-a-inner p{font-size:16.5px;color:var(--muted);line-height:1.7;margin-bottom:.75rem}
.faq-a-inner p:last-child{margin-bottom:0}
.faq-a-inner strong{color:var(--ink);font-weight:700}

/* ─── AI SELECTOR TOOL ───────────────────────────────── */
.ai-intro{background:var(--ink);color:var(--bone);padding:5rem 0;border-bottom:3px solid var(--orange);position:relative;overflow:hidden}
.ai-intro::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1.3px,transparent 1.5px);background-size:14px 14px;pointer-events:none;mix-blend-mode:screen;z-index:0}
.ai-intro .wrap{position:relative;z-index:1}
.ai-intro h2{font-family:var(--display);font-size:clamp(2.2rem,4.5vw,4rem);text-transform:uppercase;line-height:.95;color:var(--bone);letter-spacing:-.025em;margin-bottom:1.5rem;max-width:900px}
.ai-intro h2 .accent{color:var(--orange)}
.ai-intro-lead{font-family:var(--serif);font-size:clamp(1.15rem,1.6vw,1.45rem);font-weight:600;color:rgba(244,239,230,.85);max-width:760px;line-height:1.5;margin-bottom:0}

.selector{padding:5rem 0;background:var(--bone)}
.selector-howto{background:var(--bone-2);border-left:6px solid var(--orange);padding:1.75rem 2rem;margin-bottom:3rem}
.selector-howto-tag{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:1.1rem}
.selector-howto-list{list-style:none;margin:0 0 1.1rem;counter-reset:howto}
.selector-howto-list li{counter-increment:howto;position:relative;padding-left:2.4rem;margin-bottom:.65rem;font-size:16px;line-height:1.55;color:var(--ink)}
.selector-howto-list li:last-child{margin-bottom:0}
.selector-howto-list li::before{content:counter(howto);position:absolute;left:0;top:1px;width:22px;height:22px;background:var(--ink);color:var(--bone);font-family:var(--mono);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.selector-howto-note{font-size:14.5px;line-height:1.6;color:var(--muted);margin:0}
@media(max-width:640px){.selector-howto{padding:1.35rem 1.25rem;margin-bottom:2.25rem}.selector-howto-list li{font-size:15px}}
.selector-frame{max-width:1100px;margin:0 auto;background:var(--white);border:3px solid var(--ink);padding:2.5rem}
.selector-step{margin-bottom:2rem}
.selector-step:last-of-type{margin-bottom:0}
.selector-step-num{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:.5rem;display:flex;align-items:center;gap:14px}
.selector-step-num::before{content:'';width:28px;height:2px;background:var(--orange)}
.selector-step h3{font-family:var(--display);font-size:1.5rem;line-height:1;text-transform:uppercase;letter-spacing:-.01em;color:var(--ink);margin-bottom:1.25rem}
.selector-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.selector-opt{background:var(--bone);border:2px solid var(--ink);padding:14px 16px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:all .15s;text-align:left;line-height:1.3}
.selector-opt:hover{background:var(--ink);color:var(--bone)}
.selector-opt.active{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.selector-submit{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:2.5rem}
.selector-hint{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted);text-align:center;margin:0}
.selector-hint.ready{color:var(--orange)}
.selector-btn{background:var(--orange);color:var(--ink);border:2px solid var(--orange);padding:18px 38px;font-family:var(--mono);font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:14px;transition:all .2s}
.selector-btn:hover:not(:disabled){background:var(--ink);color:var(--orange);border-color:var(--ink)}
.selector-btn:disabled{opacity:.4;cursor:not-allowed}
.selector-btn svg{transition:transform .15s}
.selector-btn:hover:not(:disabled) svg{transform:translateX(4px)}

.result{display:none;padding:5rem 0;background:var(--ink);color:var(--bone);border-top:3px solid var(--orange);border-bottom:3px solid var(--orange)}
.result.show{display:block}
.result-frame{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}
.result-label{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:1rem;display:flex;align-items:center;gap:14px}
.result-label::before{content:'';width:28px;height:2px;background:var(--orange)}
.result-coating-name{font-family:var(--display);font-size:clamp(2rem,4vw,3.5rem);text-transform:uppercase;line-height:.95;color:var(--bone);letter-spacing:-.02em;margin-bottom:1rem}
.result-coating-tagline{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:rgba(244,239,230,.75);line-height:1.4;margin-bottom:2rem}
.result-coating-cta{display:inline-flex;align-items:center;gap:12px;background:var(--orange);color:var(--ink);border:2px solid var(--orange);padding:14px 24px;font-family:var(--mono);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .15s}
.result-coating-cta:hover{background:transparent;color:var(--orange)}
.result-detail-block{background:rgba(244,239,230,.07);border:1px solid rgba(244,239,230,.18);padding:1.5rem}
.result-detail-block + .result-detail-block{margin-top:1rem}
.result-detail-label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:.5rem;display:block}
.result-detail-text{font-family:var(--sans);font-size:14.5px;color:rgba(244,239,230,.85);line-height:1.6}
.result-detail-text strong{color:var(--bone);font-weight:700}
@media (max-width:900px){
  .result-frame{grid-template-columns:1fr}
}

/* AI features blocks */
.ai-features{padding:5rem 0;background:var(--bone-2)}
.ai-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:3px solid var(--ink)}
.ai-feat{padding:2.5rem 2rem;background:var(--bone);border-right:3px solid var(--ink)}
.ai-feat:last-child{border-right:none}
.ai-feat-num{font-family:var(--display);font-size:3.5rem;color:var(--orange);line-height:1;margin-bottom:1rem;letter-spacing:-.02em}
.ai-feat h4{font-family:var(--display);font-size:1.3rem;line-height:1.05;text-transform:uppercase;letter-spacing:-.005em;color:var(--ink);margin-bottom:.75rem}
.ai-feat p{font-size:14.5px;color:var(--muted);line-height:1.6}
@media (max-width:900px){
  .ai-features-grid{grid-template-columns:1fr}
  .ai-feat{border-right:none;border-bottom:3px solid var(--ink)}
  .ai-feat:last-child{border-bottom:none}
  .selector-frame{padding:1.75rem}
}


/* ─── SLIDE-OUT QUOTE FORM ───────────────────────────── */
.quote-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);background:#F59E0B;color:#1a1a1a;border:none;cursor:pointer;z-index:800;padding:1.6rem 1.1rem;font-family:var(--mono);font-size:15px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;gap:14px;transition:padding-right .25s,background .15s,color .15s;box-shadow:-4px 0 24px rgba(0,0,0,.3)}
.quote-tab:hover{padding-right:1.4rem;background:#FB923C;color:var(--ink)}
.quote-tab svg{transform:rotate(180deg);flex-shrink:0}
@media (max-width:600px){.quote-tab{padding:1.2rem .9rem;font-size:13px}}

.quote-backdrop{position:fixed;inset:0;background:rgba(10,14,26,.7);backdrop-filter:blur(4px);z-index:900;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.quote-backdrop.open{opacity:1;visibility:visible}

.quote-panel{position:fixed;top:0;right:0;bottom:0;width:520px;max-width:100vw;background:var(--ink);color:var(--bone);z-index:950;transform:translateX(100%);transition:transform .4s cubic-bezier(.5,0,.25,1);display:flex;flex-direction:column;border-left:3px solid var(--orange);overflow:hidden}
.quote-panel.open{transform:translateX(0)}

.quote-head{padding:2rem 2.5rem 1.5rem;border-bottom:1px solid rgba(244,239,230,.12);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-shrink:0;position:relative}
.quote-head::before{content:'';position:absolute;top:0;left:0;width:64px;height:6px;background:var(--orange)}
.quote-head-text{padding-top:.5rem}
.quote-head-label{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:.5rem;display:flex;align-items:center;gap:12px}
.quote-head-label::before{content:'';width:24px;height:2px;background:var(--orange)}
.quote-head h2{font-family:var(--display);font-size:1.9rem;line-height:.95;text-transform:uppercase;letter-spacing:-.01em;color:var(--bone);margin-bottom:.6rem}
.quote-head p{font-size:14px;color:rgba(244,239,230,.7);line-height:1.5;max-width:380px}
.quote-close{background:transparent;border:2px solid rgba(244,239,230,.25);color:var(--bone);width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .15s;padding:0}
.quote-close:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}

.quote-body{padding:2rem 2.5rem;overflow-y:auto;flex:1}
.quote-field{margin-bottom:1.2rem}
.quote-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.quote-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,230,.55);font-weight:700;margin-bottom:.45rem;display:block}
.quote-label .req{color:var(--orange);margin-left:3px}
.quote-input,.quote-select,.quote-textarea{width:100%;background:transparent;border:none;border-bottom:2px solid rgba(244,239,230,.2);padding:.7rem 0;color:var(--bone);font-family:var(--sans);font-size:15px;font-weight:500;transition:border-color .15s;outline:none}
.quote-textarea{min-height:90px;resize:vertical;font-family:var(--sans);line-height:1.5}
.quote-input:focus,.quote-select:focus,.quote-textarea:focus{border-bottom-color:var(--orange)}
.quote-input::placeholder,.quote-textarea::placeholder{color:rgba(244,239,230,.3)}
.quote-select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%23F4EFE6' stroke-width='2'/></svg>");background-repeat:no-repeat;background-position:right .25rem center;padding-right:1.5rem;cursor:pointer}
.quote-select option{background:var(--ink);color:var(--bone)}

.quote-submit{width:100%;background:var(--orange);color:var(--ink);border:2px solid var(--orange);padding:1.1rem 1.5rem;font-family:var(--mono);font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:14px;transition:all .2s;margin-top:1.5rem}
.quote-submit:hover{background:transparent;color:var(--orange)}
.quote-submit svg{transition:transform .15s}
.quote-submit:hover svg{transform:translateX(4px)}

.quote-foot{padding:1.5rem 2.5rem;border-top:1px solid rgba(244,239,230,.12);background:var(--ink-2);flex-shrink:0}
.quote-foot-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,239,230,.5);font-weight:700;margin-bottom:.6rem}
.quote-foot-info{display:flex;gap:1.5rem;flex-wrap:wrap}
.quote-foot-info a{font-family:var(--mono);font-size:13px;color:var(--bone);font-weight:600;text-decoration:none;letter-spacing:.04em;transition:color .15s}
.quote-foot-info a:hover{color:var(--orange)}

.quote-success{display:none;padding:3rem 2.5rem;text-align:center;flex:1;flex-direction:column;align-items:center;justify-content:center}
.quote-success.show{display:flex}
.quote-success-icon{width:72px;height:72px;border:3px solid var(--orange);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}
.quote-success h3{font-family:var(--display);font-size:2rem;text-transform:uppercase;letter-spacing:-.01em;line-height:1;margin-bottom:1rem}
.quote-success p{font-size:15px;color:rgba(244,239,230,.75);line-height:1.6;max-width:340px;margin-bottom:1.5rem}

@media (max-width:600px){
  .quote-panel{border-left:none}
  .quote-head{padding:1.5rem 1.5rem 1.25rem}
  .quote-body{padding:1.5rem}
  .quote-foot{padding:1.25rem 1.5rem}
  .quote-field-row{grid-template-columns:1fr;gap:0}
}


/* ─── FREE SAMPLE PAGE ───────────────────────────────── */
#free-sample .page-head{background:linear-gradient(90deg,rgba(10,14,26,.92) 0%,rgba(10,14,26,.72) 50%,rgba(10,14,26,.5) 100%),url('https://canyoninternational.com/dry/wp-content/uploads/2026/05/head-1-scaled.jpg') center/cover no-repeat,var(--ink);padding:6rem 0 7rem;min-height:640px;display:flex;align-items:center;border-bottom:3px solid var(--orange)}
#free-sample .page-head::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1.3px,transparent 1.5px);background-size:14px 14px;pointer-events:none;mix-blend-mode:screen;z-index:0}
#free-sample .page-head .wrap{position:relative;z-index:1;width:100%}
#free-sample .page-head .breadcrumb{margin-bottom:1.5rem}
#free-sample .sample-tag{display:inline-flex;align-items:center;gap:14px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:1.5rem;padding:8px 0}
#free-sample .sample-tag::before{content:'';width:36px;height:2px;background:var(--orange)}
#free-sample .page-head h1{font-size:clamp(3.5rem,8vw,7.5rem);line-height:.88;margin-bottom:1.5rem;max-width:1100px}
#free-sample .page-head .lead{font-size:clamp(1.3rem,1.9vw,1.75rem);max-width:780px;line-height:1.4;margin-bottom:2rem}
#free-sample .sample-cta-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}
#free-sample .sample-cta-row .btn{font-size:14px;padding:18px 32px}

/* Steps section */
.sample-steps{padding:5rem 0;background:var(--bone)}
.sample-steps-header{text-align:left;margin-bottom:3.5rem;max-width:880px}
.sample-steps-header h2{font-family:var(--display);font-size:clamp(2.2rem,4.5vw,4rem);line-height:.95;text-transform:uppercase;color:var(--ink);letter-spacing:-.025em;margin-bottom:1.25rem}
.sample-steps-header h2 .accent{color:var(--orange)}
.sample-steps-header p{font-family:var(--serif);font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:600;color:var(--muted);line-height:1.5}
.sample-steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:3px solid var(--ink)}
.sample-step{padding:2.5rem 2rem;background:var(--bone);border-right:3px solid var(--ink);position:relative}
.sample-step:last-child{border-right:none}
.sample-step-num{font-family:var(--display);font-size:3.5rem;color:var(--orange);line-height:1;margin-bottom:1.5rem;letter-spacing:-.02em}
.sample-step h4{font-family:var(--display);font-size:1.3rem;line-height:1.05;text-transform:uppercase;letter-spacing:-.005em;color:var(--ink);margin-bottom:.75rem}
.sample-step p{font-size:14.5px;color:var(--muted);line-height:1.6}

/* Offer block */
.sample-offer{padding:5rem 0;background:var(--ink);color:var(--bone);border-top:3px solid var(--orange);border-bottom:3px solid var(--orange);position:relative;overflow:hidden}
.sample-offer::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1.3px,transparent 1.5px);background-size:14px 14px;pointer-events:none;mix-blend-mode:screen;z-index:0}
.sample-offer .wrap{position:relative;z-index:1}
.sample-offer-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:start}
.sample-offer h2{font-family:var(--display);font-size:clamp(2.2rem,4.5vw,4rem);line-height:.95;text-transform:uppercase;color:var(--bone);letter-spacing:-.025em;margin-bottom:1.5rem}
.sample-offer h2 .accent{color:var(--orange)}
.sample-offer-lead{font-family:var(--serif);font-size:clamp(1.15rem,1.65vw,1.5rem);font-weight:600;color:rgba(244,239,230,.85);line-height:1.5;margin-bottom:2rem}
.sample-offer-list{list-style:none;padding:0;margin:0}
.sample-offer-list li{display:flex;align-items:flex-start;gap:14px;padding:1rem 0;border-bottom:1px solid rgba(244,239,230,.12);font-size:15px;color:rgba(244,239,230,.85);line-height:1.5}
.sample-offer-list li::before{content:'';width:18px;height:2px;background:var(--orange);flex-shrink:0;margin-top:.7rem}
.sample-offer-list li strong{color:var(--bone);font-weight:700;margin-right:6px}
.sample-offer-side{background:rgba(244,239,230,.06);border:2px solid rgba(244,239,230,.2);padding:2.5rem 2rem}
.sample-offer-side-label{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:1rem;display:block}
.sample-offer-side h3{font-family:var(--display);font-size:1.6rem;line-height:1.05;text-transform:uppercase;color:var(--bone);margin-bottom:.75rem}
.sample-offer-side p{font-size:14.5px;color:rgba(244,239,230,.75);line-height:1.6;margin-bottom:1.5rem}
.sample-offer-side ul{list-style:none;padding:0;margin:0}
.sample-offer-side ul li{font-family:var(--mono);font-size:12px;color:var(--bone);padding:.55rem 0;border-bottom:1px solid rgba(244,239,230,.1);letter-spacing:.04em}
.sample-offer-side ul li:last-child{border-bottom:none}
.sample-offer-side ul li::before{content:'·';color:var(--orange);margin-right:8px;font-weight:700}

/* Final CTA block */
.sample-final{padding:5rem 0;background:var(--bone-2);text-align:center}
.sample-final h2{font-family:var(--display);font-size:clamp(2.2rem,5vw,4.5rem);line-height:.95;text-transform:uppercase;color:var(--ink);letter-spacing:-.025em;margin-bottom:1rem}
.sample-final p{font-family:var(--serif);font-size:clamp(1.15rem,1.6vw,1.45rem);font-weight:600;color:var(--muted);line-height:1.5;margin-bottom:2.5rem;max-width:680px;margin-left:auto;margin-right:auto}
.sample-final .btn{font-size:14px;padding:20px 40px}

@media (max-width:900px){
  .sample-steps-grid{grid-template-columns:1fr}
  .sample-step{border-right:none;border-bottom:3px solid var(--ink)}
  .sample-step:last-child{border-bottom:none}
  .sample-offer-grid{grid-template-columns:1fr}
}


/* ─── MOBILE RESPONSIVENESS PASS ─────────────────────── */
/* Lock viewport horizontally and prevent any rogue element from
   creating a horizontal scrollbar. `clip` is preferred over `hidden`
   because it does NOT create a scroll container, which keeps the
   sticky <nav> working correctly. */
html, body{overflow-x:clip;max-width:100%}

/* Responsive media: any image/video/iframe collapses to its container */
img, video, iframe, svg, embed, object{max-width:100%;height:auto}
.logo-img{height:64px;width:auto}        /* preserve original logo sizing */
.auth-badge img{height:38px;width:auto}  /* preserve auth badge sizing */

/* Allow long uppercase headings (SEIZING, FLUOROGISTX, MANUFACTURERS…)
   to break across lines instead of bursting out of their containers. */
h1, h2, h3, h4, h5, h6,
.hero h1, .page-head h1, .callout-quote, .brand-name,
.result-coating-name, .footer-brand{overflow-wrap:break-word;word-wrap:break-word;hyphens:auto}

/* Grid items need min-width:0 so their content (long words, long URLs)
   doesn't force the track wider than the viewport. */
.svc-grid > *, .brand-grid > *, .ind-grid > *, .leaders > *,
.article-grid > *, .contact-grid > *, .duo > *, .footer-grid > *,
.spec-grid > *, .ai-features-grid > *, .sample-steps-grid > *,
.sample-offer-grid > *{min-width:0}

/* ── Tablet / large phone: ≤900px ───────────────────── */
@media (max-width:900px){
  /* Tighten the outer container padding — was 3.5rem on each side
     (112px total), now 1.5rem (48px total). Extra right-side padding
     (2.75rem) gives clearance for the fixed "GET A QUOTE" tab so it
     doesn't sit on top of body copy. */
  .wrap, .nav-inner{padding:0 2.75rem 0 1.5rem}
  .hero-inner{padding:2.5rem 2.75rem 3rem 1.5rem}
  /* But nav doesn't need the tab clearance since the tab is below the nav */
  .nav-inner{padding-right:1.5rem}

  /* Hero indicators were anchored at right:3.5rem; match the new padding. */
  .hero-indicators{right:1.5rem;bottom:1.75rem;gap:10px}
  .hero-indicator{width:36px}
  .hero-indicator.active{width:54px}

  /* Hide the huge decorative section numbers — they're opacity:.08
     so they're easy to lose, but their absolute right:2rem positioning
     plus large font can poke past content on narrow screens. */
  .section-num{display:none}

  /* Inner block padding was 3rem / 3.5rem — way too aggressive after
     grids collapse to a single column. */
  .svc{padding:2.25rem 1.5rem}
  .brand-block{padding:2rem 1.5rem}
  .leader{padding:2rem 1.5rem}
  .article{padding:1.75rem 1.5rem}
  .contact-info, .contact-form{padding:2rem 1.5rem}
  .ind{padding:1.75rem 1.25rem}
  .ai-feat{padding:2rem 1.5rem}
  .sample-step{padding:2rem 1.5rem}
  .selector-frame{padding:1.75rem 1.25rem}

  /* Work carousel: each tile was 580px wide. Switch to a viewport-relative
     width so users see (and can swipe through) full tiles instead of one
     half-tile dominating the screen. */
  .work-carousel{height:280px}
  .work-item{width:85vw;max-width:480px}
  .work-tag{font-size:10px;padding:8px 12px;top:1rem;left:1rem;letter-spacing:.14em}
  .work-arrow{width:40px;height:40px}
  .work-arrow-prev{left:1rem}
  .work-arrow-next{right:1rem}
  .work-play{top:1rem;right:1rem;width:36px;height:36px}
  .work-overlay{width:50px}

  /* Big blocks — reduce vertical breathing room too. */
  .callout{padding:3.5rem 0}
  .cta-block{padding:4rem 0}
  footer{padding:3.5rem 0 1.5rem}
  .footer-grid{margin-bottom:2.5rem}
  .page-head{padding:3.5rem 0 3rem}
  #about .page-head, #free-sample .page-head{padding:4rem 0 4.5rem;min-height:0}
  .body-content{padding:3.5rem 0}
  .body-content h3{margin:2rem 0 .75rem}
  .ai-intro, .selector, .result, .ai-features, .sample-steps,
  .sample-offer, .sample-final{padding:3.5rem 0}

  /* Tame oversized minimum heading sizes. The original clamps had a
     3-3.5rem floor that doesn't fit narrow phones. */
  .hero h1{font-size:clamp(2.4rem,11vw,4rem);line-height:.95}
  .page-head h1{font-size:clamp(2.2rem,9vw,3.6rem)}
  #about .page-head h1, #free-sample .page-head h1{font-size:clamp(2.4rem,10vw,4rem)}
  section h2{font-size:clamp(2rem,8vw,3.2rem);line-height:1}
  .callout-quote{font-size:clamp(1.5rem,6.5vw,2.4rem);line-height:1.05}
  .cta-block h2{font-size:clamp(2rem,8vw,3.2rem)}
  .brand-name{font-size:clamp(2rem,7.5vw,3rem)}
  .ai-intro h2{font-size:clamp(1.9rem,7.5vw,3rem)}
  .sample-steps-header h2, .sample-offer h2, .sample-final h2{font-size:clamp(1.9rem,7.5vw,3rem)}

  /* Hero stats inner padding was eating space in 2-col layout. */
  .hero-stat{padding:1rem 0;padding-right:1rem}
  .hero-stat:nth-child(2n){padding-right:0}

  /* Page-head h1 max-width was 1100px which is fine, but lead text
     was hugging the right edge. */
  .page-head .lead{font-size:clamp(1.05rem,3.6vw,1.35rem)}
  .hero-sub{font-size:clamp(1.05rem,3.6vw,1.3rem)}
  .section-lead{font-size:1.05rem;margin-bottom:2.5rem}

  /* Quote slide-out: width was 520px; clamp to viewport. */
  .quote-panel{width:100%}

  /* The fixed "Get Quote" vertical tab — shrink it so it doesn't
     dominate the right edge on small screens. */
  .quote-tab{padding:1rem .7rem;font-size:12px;letter-spacing:.16em;box-shadow:-2px 0 12px rgba(0,0,0,.25)}
}

/* ── Phone: ≤600px ──────────────────────────────────── */
@media (max-width:600px){
  .wrap{padding:0 2.5rem 0 1.25rem}
  .nav-inner{padding:0 1.25rem;height:72px}
  .hero-inner{padding:2rem 2.5rem 2.5rem 1.25rem}
  .hero-indicators{right:1.25rem;bottom:1.25rem}
  .mobile-menu{top:72px}
  .logo-img{height:48px}
  .nav-cta{padding:12px 18px!important;font-size:12px!important}

  .hero-top{margin-bottom:1.5rem;gap:1rem}
  .hero-cta-row{margin-bottom:2rem;gap:.75rem}
  .hero-cta-row .btn{padding:14px 22px;font-size:11px;letter-spacing:.12em;flex:1 1 auto;justify-content:center;min-width:140px}
  .btn{padding:14px 22px;font-size:11px}

  /* On the smallest phones, hero stats often look better in one column,
     but they were balanced at 2 cols — keep 2 but tighten further. */
  .hero-stat-n{font-size:1.9rem}
  .hero-stat-l{font-size:9px;letter-spacing:.12em}

  .svc, .brand-block, .leader, .article, .ai-feat,
  .contact-info, .contact-form, .sample-step{padding:1.75rem 1.25rem}
  .selector-frame{padding:1.25rem 1rem}
  .ind{padding:1.25rem 1rem}

  .callout-quote{font-size:clamp(1.35rem,6vw,2rem)}

  .footer-grid{grid-template-columns:1fr;gap:1.75rem}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:.5rem;font-size:10px}

  /* Spec grid: was already 1 column at 900px, but the spec value
     font-size 1.6rem could still be wide for long values. */
  .spec{padding:1.25rem 1.25rem}
  .spec-value{font-size:1.3rem}

  /* Tables, code blocks, anything with potential overflow. */
  pre, code, table{max-width:100%;overflow-x:auto}
  table{display:block}
}

/* ── Tiny phone: ≤380px ─────────────────────────────── */
@media (max-width:380px){
  .wrap{padding:0 2.25rem 0 1rem}
  .nav-inner{padding:0 1rem}
  .hero-inner{padding:1.75rem 2.25rem 2.25rem 1rem}
  .nav-cta{padding:10px 14px!important;font-size:11px!important}
  .logo-img{height:42px}
  .hero-cta-row{flex-direction:column}
  .hero-cta-row .btn{width:100%}
  .hero-stat-n{font-size:1.6rem}
  .work-carousel{height:240px}
}

/* ─── FILE UPLOAD FIELD ──────────────────────────────── */
.quote-upload-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,230,.55);font-weight:700;margin-bottom:.6rem;display:block}
.quote-upload-area{border:2px dashed rgba(244,239,230,.2);padding:1.2rem 1rem;text-align:center;cursor:pointer;transition:border-color .2s;position:relative;margin-bottom:.5rem}
.quote-upload-area:hover,.quote-upload-area.drag-over{border-color:var(--orange)}
.quote-upload-area input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.quote-upload-icon{font-size:22px;margin-bottom:.4rem;color:rgba(244,239,230,.3)}
.quote-upload-text{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(244,239,230,.35)}
.quote-upload-text span{color:var(--orange)}
.quote-upload-hint{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;color:rgba(244,239,230,.25);text-align:center}
.quote-file-list{margin-top:.5rem}
.quote-file-item{display:flex;align-items:center;justify-content:space-between;padding:.4rem .5rem;background:rgba(244,239,230,.06);border:1px solid rgba(244,239,230,.1);margin-bottom:4px}
.quote-file-name{font-family:var(--mono);font-size:10px;color:rgba(244,239,230,.7);letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}
.quote-file-remove{background:none;border:none;color:rgba(244,239,230,.35);cursor:pointer;font-size:14px;padding:0 4px;line-height:1;flex-shrink:0}
.quote-file-remove:hover{color:var(--orange)}

/* File upload for light-bg contact form */
.form-upload-area{border:2px dashed rgba(10,14,26,.2);padding:1.4rem 1rem;text-align:center;cursor:pointer;transition:border-color .2s;position:relative;margin-bottom:.5rem;background:var(--bone)}
.form-upload-area:hover,.form-upload-area.drag-over{border-color:var(--orange);border-style:solid}
.form-upload-area input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.form-upload-icon{font-size:22px;margin-bottom:.4rem;color:rgba(10,14,26,.25)}
.form-upload-text{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(10,14,26,.4)}
.form-upload-text span{color:var(--orange)}
.form-upload-hint{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;color:rgba(10,14,26,.3);text-align:center;margin-top:.3rem}
.form-file-list{margin-top:.5rem}
.form-file-item{display:flex;align-items:center;justify-content:space-between;padding:.4rem .6rem;background:rgba(10,14,26,.04);border:1px solid rgba(10,14,26,.1);margin-bottom:4px}
.form-file-name{font-family:var(--mono);font-size:10px;color:rgba(10,14,26,.6);letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}
.form-file-remove{background:none;border:none;color:rgba(10,14,26,.3);cursor:pointer;font-size:14px;padding:0 4px;line-height:1;flex-shrink:0}
.form-file-remove:hover{color:var(--orange)}


/* ─── VIDEO PAGE-HEAD (hard-masking) ─────────────────── */
#masking .page-head{background:linear-gradient(90deg,rgba(10,14,26,.92) 0%,rgba(10,14,26,.7) 50%,rgba(10,14,26,.5) 100%),var(--ink)}
#masking .page-head::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1.3px,transparent 1.5px);background-size:14px 14px;pointer-events:none;mix-blend-mode:screen;z-index:1}
#masking .page-head .wrap{position:relative;z-index:2}
/* ── Quote form status + validation states ───────────────── */
.quote-status{display:none;margin-top:1.25rem;padding:.85rem 1rem;border-left:3px solid var(--orange);background:rgba(255,255,255,.05);font-family:var(--mono);font-size:12px;line-height:1.6;letter-spacing:.03em}
.quote-status.show{display:block}
.quote-status a{color:var(--orange);text-decoration:underline}
.quote-input.field-error,.quote-textarea.field-error,.quote-select.field-error{border-color:#E0533D}
.quote-submit:disabled{opacity:.55;cursor:not-allowed}
.quote-submit:disabled:hover{background:var(--orange);color:var(--ink)}

/* ── Contact page form status + success ──────────────────── */
.contact-status{display:none;margin-top:1.25rem;padding:.85rem 1rem;border-left:3px solid var(--orange);background:rgba(255,255,255,.05);font-family:var(--mono);font-size:12px;line-height:1.6;letter-spacing:.03em}
.contact-status.show{display:block}
.contact-status a{color:var(--orange);text-decoration:underline}
.contact-form input.field-error,.contact-form textarea.field-error,.contact-form select.field-error{border-color:#E0533D}
.form-submit:disabled{opacity:.55;cursor:not-allowed}
.contact-success{display:none;text-align:center;padding:3rem 2rem}
.contact-success.show{display:block}
.contact-success-icon{margin-bottom:1rem}
.contact-success h3{margin-bottom:.75rem}
.contact-form .req{color:var(--orange)}
