/* COPPER FOX SOLUTIONS · shared design system v3
   All shared fonts, colors, sizing, buttons, nav and motion live here.
   Both index.html and about.html use this single file. */
:root {
  --navy: #132233;
  --navy-deep: #0c1b29;
  --navy-soft: #203f54;
  --copper: #e99a58;
  --copper-dark: #c36b3b;
  --cream: #f7f5f0;
  --paper: #fffcf7;
  --ink: #26333b;
  --muted: #5f6870;
  --line: #ddd9d0;
  --serif: 'DM Serif Display', Georgia, 'Times New Roman', serif;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --gutter: clamp(1.25rem, 5.2vw, 5.25rem);
  --radius: 12px;
  --ease: cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--copper);outline-offset:4px}
::selection{background:var(--copper);color:var(--navy-deep)}
.shell{width:min(100%,1540px);padding-inline:var(--gutter);margin-inline:auto}
.section{padding-block:clamp(5rem,8vw,8.5rem)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.08}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.027em}
h1 em,h2 em{font-style:normal;color:var(--copper-dark)}
h2{font-size:clamp(2.65rem,4.6vw,5.2rem)}
h3{font-size:1.25rem}
p{margin-bottom:1.2rem}
.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.22em;line-height:1.7;text-transform:uppercase}
.copper-label{color:var(--copper-dark)}
.eyebrow-line{width:24px;height:2px;display:inline-block;vertical-align:middle;background:var(--copper);margin-right:.7rem}
.skip-link{position:absolute;top:-110px;left:16px;padding:10px 16px;background:var(--paper);z-index:90;color:var(--ink)}
.skip-link:focus{top:10px}
/* Header always uses the selected raster logo on matching navy. */
.site-header{height:104px;background:var(--navy);position:relative;z-index:20}
.nav-shell{display:flex;align-items:center;justify-content:space-between;height:100%;gap:2rem}
.brand{display:block;width:200px;flex:0 0 auto;overflow:hidden}
.brand img{width:100%;height:auto;object-fit:contain;mix-blend-mode:lighten}
.site-nav{display:flex;align-items:center;gap:clamp(1.5rem,3vw,3.5rem)}
.site-nav>a:not(.nav-action){color:#f1f4f4;font-size:.84rem;font-weight:500;transition:color .2s}
.site-nav>a:hover{color:var(--copper)}
.site-nav a[aria-current="page"]{color:var(--copper)}
.nav-action{background:var(--copper);color:var(--navy-deep);padding:.73rem 1.3rem;border-radius:6px;font-size:.84rem;font-weight:700;display:inline-flex;align-items:center;gap:1.4rem;transition:background .2s,transform .2s}
.nav-action:hover,.button-copper:hover{background:#f0ab74;transform:translateY(-2px)}
.menu-toggle{display:none}
/* Shared interactions */
.button{display:inline-flex;gap:2rem;align-items:center;justify-content:space-between;min-height:54px;padding:.92rem 1.4rem;border-radius:7px;font-weight:700;font-size:.9rem;white-space:nowrap;transition:transform .25s,background .25s}
.button-copper{background:var(--copper);color:var(--navy-deep);box-shadow:0 5px 18px rgba(9,21,31,.08)}
.text-button{display:inline-flex;align-items:center;gap:.9rem;font-size:.85rem;font-weight:700;color:var(--navy);border-bottom:1px solid currentColor;padding-block:.5rem;transition:color .2s,gap .2s}
.text-button:hover{color:var(--copper-dark);gap:1.3rem}
.button-group{display:flex;align-items:center;gap:clamp(1.4rem,2.6vw,2.5rem);flex-wrap:wrap}
/* Homepage */
.hero{background:var(--cream);position:relative;overflow:hidden}
.hero:before{content:"";pointer-events:none;position:absolute;width:820px;height:820px;border:1px solid rgba(195,107,59,.09);border-radius:50%;left:-640px;bottom:-590px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.09fr) minmax(0,.91fr);align-items:center;gap:clamp(3rem,6.5vw,8rem);padding-block:clamp(5.25rem,8vw,9rem) clamp(5.25rem,7vw,8rem)}
.hero-copy{position:relative;z-index:1}
.hero-copy .eyebrow{color:var(--copper-dark);margin-bottom:2.15rem}
.hero h1{font-size:clamp(3.8rem,6.25vw,7.2rem);line-height:1.035;color:var(--navy);max-width:800px;margin-bottom:1.6rem}
.hero h1 em{color:var(--copper-dark)}
.hero-description{max-width:550px;color:#49535b;font-size:clamp(1rem,1.26vw,1.18rem);line-height:1.72;margin-bottom:2rem}
.hero-footnote{color:#71767a;font-size:.76rem;margin:2.8rem 0 0;letter-spacing:.025em}
.small-star{color:var(--copper-dark);margin-right:.5rem;font-size:1rem}
/* Hero on right: a small, clear demonstration, NOT fabricated customer proof */
.hero-proof{max-width:550px;width:100%;margin-left:auto;transform:rotate(.25deg)}
.example-label{margin:0 0 1rem;font-size:.64rem;letter-spacing:.17em;font-weight:800;color:#60686c;display:flex;align-items:center;gap:.8rem}
.status-dot{width:7px;height:7px;flex:none;border-radius:100%;background:var(--copper-dark)}
.example-panel{background:var(--navy);color:var(--paper);border:1px solid #28445a;border-radius:13px;box-shadow:0 28px 55px rgba(18,35,50,.2);overflow:hidden}
.panel-header{height:56px;border-bottom:1px solid rgba(247,245,240,.13);display:flex;align-items:center;justify-content:space-between;padding-inline:1.6rem;color:#d5dedf;font-size:.65rem;font-weight:700;letter-spacing:.12em}
.panel-icons{display:flex;gap:5px}.panel-icons i{width:7px;height:7px;border-radius:100%;background:#637786}
.journey{padding:1.75rem 1.8rem}
.journey-item{display:grid;grid-template-columns:42px minmax(0,1fr) 26px;gap:1rem;align-items:center;padding:.5rem 0}
.journey-number{font-family:var(--serif);color:var(--copper);font-size:1.3rem;align-self:start;line-height:1.5}
.journey-item strong{font-size:1.1rem;letter-spacing:-.025em;font-weight:650}
.journey-item p{margin:.25rem 0 0;color:#b7c7cf;line-height:1.5;font-size:.85rem}
.journey-icon{color:var(--copper);font-size:1.5rem;align-self:center}
.journey-link{height:21px;margin:0 0 0 20px;border-left:1px dashed #6c7781}
.panel-end{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(247,245,240,.13);padding:1rem 1.7rem;color:var(--copper);font-weight:650;font-size:.77rem}
.tiny-fox img{width:25px;height:25px}
.example-disclaimer{text-align:right;font-size:.69rem;color:#74797c;margin:.9rem .2rem 0}
.trust-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.trust-inner{min-height:82px;display:flex;align-items:center;justify-content:center;gap:clamp(1.7rem,4vw,5rem);text-align:center;color:#455059;font-size:.83rem;font-weight:650}
.trust-inner i{display:block;background:#c8bcb0;height:4px;width:4px;border-radius:100%;flex:none}
/* What we fix - no photos and no noisy card grid */
.what-section{background:var(--cream)}
.intro-grid{display:grid;grid-template-columns:1fr .68fr;gap:4rem;align-items:end;margin-bottom:3.7rem}
.intro-grid h2{margin-bottom:0;color:var(--navy)}
.intro-grid .eyebrow{margin-bottom:1.3rem}
.section-intro{font-size:1.05rem;line-height:1.8;color:#5b6065;max-width:480px;margin:0 0 .3rem auto}
.offer-list{border-top:1px solid #c9c7c2}
.offer{display:grid;grid-template-columns:75px 1fr 30px;align-items:start;gap:2.6rem;padding:2.25rem 1rem 2.25rem .15rem;border-bottom:1px solid #c9c7c2;transition:background .25s,padding-left .25s}
.offer:hover{background:rgba(255,255,255,.5);padding-left:1rem}
.offer-number{font-family:var(--serif);color:var(--copper-dark);font-size:1.4rem;line-height:1.1}
.offer h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.1vw,2.25rem);color:var(--navy);margin-bottom:.5rem}
.offer p{font-size:.95rem;line-height:1.7;color:#5f676d;max-width:730px;margin:0}
.offer-arrow{color:var(--copper-dark);font-size:1.5rem;font-weight:300}
/* Dark approach */
.approach-section{background:var(--navy);color:#f8f5ee;position:relative;overflow:hidden}
.approach-section:after{content:"";pointer-events:none;position:absolute;right:-300px;bottom:-380px;width:760px;height:760px;border-radius:50%;border:1px solid #284153;opacity:.7}
.approach-grid{display:grid;grid-template-columns:.95fr 1fr;gap:clamp(4rem,9vw,10rem);position:relative;z-index:1}
.approach-grid h2{font-size:clamp(3.2rem,5vw,5.5rem);line-height:1.06;margin:1.6rem 0 1.4rem}
.approach-grid h2 em{color:var(--copper)}
.approach-grid>.reveal>p:last-child{max-width:460px;color:#c6d1d7;line-height:1.85}
.steps{border-top:1px solid #3a5566;margin-top:2rem}
.step{display:grid;grid-template-columns:65px 1fr;gap:1.5rem;padding:2rem 0;border-bottom:1px solid #3a5566}
.step>span{font-family:var(--serif);font-size:1.5rem;color:var(--copper)}
.step h3{font-size:1.1rem;color:#faf8f3;margin-bottom:.35rem}
.step p{color:#bdcbd4;font-size:.89rem;line-height:1.7;margin:0}
/* Portrait a small trustworthy bridge, not motorcycle business homepage hero */
.founder-strip{background:var(--paper)}
.founder-grid{display:grid;grid-template-columns:.78fr 1fr;gap:clamp(3rem,7vw,7rem);align-items:center;padding-block:clamp(4rem,6vw,6rem)}
.founder-photo{width:100%;height:clamp(280px,32vw,395px);overflow:hidden;border-radius:7px}
.founder-photo img{width:100%;height:100%;object-fit:cover;object-position:38% 43%}
.founder-copy h2{font-size:clamp(2.4rem,3.55vw,4rem);color:var(--navy);margin:1.1rem 0 1.2rem}
.founder-copy p:not(.eyebrow){font-size:.96rem;line-height:1.85;color:#576066;max-width:620px}
.text-button-dark{color:var(--navy);margin-top:.75rem}
/* Last request: single, friendly CTA */
.contact-section{background:var(--navy-deep);color:var(--paper);padding-block:clamp(5rem,7vw,8rem)}
.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(2.5rem,5vw,7rem);align-items:center}
.contact-grid h2{font-size:clamp(2.8rem,4.6vw,5rem);line-height:1.09;max-width:850px;margin:1.15rem 0 1rem}
.contact-grid h2 em{color:var(--copper)}
.contact-grid p:not(.eyebrow){color:#c5ced5;margin:0;max-width:610px;line-height:1.75}
.contact-action{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;justify-self:center}
.contact-email{color:var(--paper);font-size:.87rem;border-bottom:1px solid #6d7b84}
.contact-note{color:#9eacb6;font-size:.71rem;max-width:260px}
/* Shared footer */
.site-footer{background:#071521;color:#d8e0e6;border-top:1px solid #2e4351;padding-block:2.4rem}
.footer-grid{display:grid;grid-template-columns:1fr 1.1fr auto;gap:.7rem 2rem;align-items:center}
.footer-brand{font-family:var(--serif);color:var(--copper);font-size:1.3rem;letter-spacing:.035em;white-space:nowrap}
.footer-brand span{font-family:var(--sans);color:#ebedf0;font-size:.6rem;letter-spacing:.22em;margin-left:.3rem}
.footer-grid p{color:#9eabb4;font-size:.83rem;margin:0}
.footer-links{display:flex;align-items:center;gap:1.5rem;font-size:.75rem}
.footer-links a:hover{color:var(--copper)}
.footer-grid small{grid-column:1/-1;color:#788995;font-size:.7rem;margin-top:1.35rem}
/* About page: shared nav, fonts, buttons, and design values */
.about-hero{background:var(--cream)}
.about-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,7rem);align-items:center;padding-block:clamp(4rem,5.5vw,7rem)}
.about-hero-text .eyebrow{margin-bottom:2rem}
.about-hero h1{font-size:clamp(3.7rem,5.3vw,6.2rem);color:var(--navy);margin-bottom:1.5rem}
.about-hero-text>p:not(.eyebrow){max-width:500px;color:#48545b;font-size:1.09rem;line-height:1.75;margin-bottom:1.8rem}
.about-hero-photo{height:clamp(440px,41vw,630px);border-radius:7px;overflow:hidden;position:relative}
.about-hero-photo>img{height:100%;width:100%;object-fit:cover;object-position:47% 48%}
.photo-tag{position:absolute;bottom:0;left:0;right:0;padding:1.4rem 2rem;background:linear-gradient(transparent,rgba(11,25,37,.83));font-size:.6rem;color:#fff;letter-spacing:.17em;font-weight:700}
.about-story-grid{display:grid;grid-template-columns:.75fr 1fr;gap:clamp(3rem,8vw,9rem)}
.about-story{background:var(--paper)}
.about-story h2{color:var(--navy);margin:1rem 0}
.story-prose p{font-size:.98rem;line-height:1.93;color:#465058;margin-bottom:1.4rem}
.story-prose strong{color:var(--navy)}
.story-prose blockquote{font-family:var(--serif);font-size:clamp(1.45rem,2vw,2.1rem);line-height:1.4;color:var(--copper-dark);margin:2.3rem 0 0;padding-left:1.5rem;border-left:2px solid var(--copper)}
.principle-section{background:#edeae3}
.section-top h2{color:var(--navy);margin:1rem 0 2.7rem}
.principle-rows{border-top:1px solid #c8c2b9}
.principle-row{display:grid;grid-template-columns:60px 1fr 1.1fr;align-items:center;gap:2rem;border-bottom:1px solid #c8c2b9;padding:1.8rem 0}
.principle-row span{font-family:var(--serif);color:var(--copper-dark);font-size:1.35rem}
.principle-row h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.4rem,2vw,2rem);color:var(--navy);margin:0}
.principle-row p{margin:0;color:#58626a;font-size:.91rem;line-height:1.65}
.track-section{background:var(--cream)}
.track-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(3rem,7vw,8rem);padding-block:clamp(5rem,7vw,7rem)}
.track-image{overflow:hidden;border-radius:7px;height:clamp(300px,32vw,470px)}
.track-image img{width:100%;height:100%;object-fit:cover;object-position:46% center}
.track-text h2{font-size:clamp(2.4rem,3.4vw,4rem);color:var(--navy);margin:1rem 0 1.3rem}
.track-text p:not(.eyebrow){color:#5a6269;line-height:1.85;font-size:.95rem}
/* Progressive enhancement: content never hidden if JS fails */
.js-motion .reveal{opacity:0;transform:translateY(20px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.js-motion .reveal.in-view{opacity:1;transform:none}
@media (max-width:1050px){
  .site-nav{gap:1.4rem}.brand{width:165px}
  .hero-grid{gap:3rem}.hero h1{font-size:clamp(3.5rem,6vw,6.3rem)}
  .contact-grid{gap:2rem}.founder-grid{gap:3rem}
}
@media (max-width:780px){
  :root{--gutter:clamp(1.2rem,5vw,2rem)}
  html{scroll-padding-top:76px}
  .site-header{height:78px}.brand{width:137px}
  .menu-toggle{width:42px;height:42px;padding:10px;border:1px solid #5e7180;border-radius:5px;display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;background:none;cursor:pointer}
  .menu-toggle span{height:2px;width:19px;background:var(--cream);border-radius:1px}
  .site-nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--navy);padding:1rem var(--gutter) 1.6rem;border-top:1px solid #435768;box-shadow:0 18px 18px rgba(0,0,0,.2);flex-direction:column;align-items:stretch;gap:0}
  .site-nav.open{display:flex}
  .site-nav>a:not(.nav-action){padding:.8rem 0;border-bottom:1px solid #334a5e;font-size:.95rem}
  .nav-action{margin-top:1.1rem;align-self:flex-start}
  .hero-grid,.intro-grid,.approach-grid,.founder-grid,.contact-grid,.about-hero-grid,.about-story-grid,.track-grid{grid-template-columns:1fr}
  .hero-grid{padding-block:4.5rem;gap:3rem}
  .hero h1{font-size:clamp(3.6rem,9vw,5.8rem);max-width:710px}
  .hero-proof{margin:0 auto;max-width:620px}
  .trust-inner{gap:1.5rem;justify-content:space-between;flex-wrap:wrap;padding-block:1.4rem;min-height:auto;font-size:.77rem}
  .intro-grid{gap:1.5rem;margin-bottom:2.4rem}.section-intro{margin:0;max-width:650px}
  .offer{gap:1.2rem;grid-template-columns:44px 1fr 25px}
  .approach-grid{gap:1.7rem}.steps{margin-top:0}
  .founder-grid{padding-block:4.2rem;gap:2.5rem}.founder-photo{height:420px;max-width:650px}
  .contact-action{justify-self:start}
  .about-hero-grid{gap:2.5rem;padding-block:3.7rem}.about-hero-photo{height:500px}
  .about-story-grid{gap:2rem}.track-grid{gap:3rem}
  .footer-grid{grid-template-columns:1fr auto}.footer-grid p{grid-column:1/-1;grid-row:2}
}
@media (max-width:520px){
  .section{padding-block:4.4rem}
  .hero-grid{padding-block:3.5rem 4rem;gap:2.6rem}
  .hero h1{font-size:clamp(3.15rem,12.3vw,4.3rem)}
  .hero-copy .eyebrow{margin-bottom:1.3rem}
  .hero-description{font-size:.96rem}
  .button-group{align-items:flex-start;flex-direction:column;gap:1rem}
  .button{width:100%;justify-content:space-between;gap:.7rem;font-size:.84rem}
  .hero-footnote{margin-top:2rem}
  .example-label{font-size:.58rem}
  .journey{padding:1.1rem}.journey-item{grid-template-columns:31px 1fr 18px;gap:.7rem}
  .journey-item strong{font-size:.92rem}.journey-item p{font-size:.77rem}
  .journey-link{margin-left:14px}
  .panel-header{padding-inline:1rem;font-size:.53rem}.panel-end{padding-inline:1rem}
  .trust-inner{justify-content:center;gap:.8rem;font-size:.7rem}
  .trust-inner span{white-space:nowrap}
  .offer{grid-template-columns:28px 1fr 15px;gap:.85rem;padding:1.6rem 0}
  .offer h3{font-size:1.5rem}.offer p{font-size:.87rem}
  .approach-grid h2{font-size:clamp(3.1rem,10.5vw,4.3rem)}
  .founder-photo{height:300px}.founder-copy h2{font-size:2.5rem}
  .contact-grid h2{font-size:clamp(2.75rem,10vw,4rem)}
  .contact-action{width:100%}.contact-email{font-size:.81rem}
  .footer-grid{grid-template-columns:1fr;gap:1rem}.footer-grid p{grid-column:auto;grid-row:auto}.footer-links{flex-wrap:wrap}
  .about-hero h1{font-size:clamp(3.2rem,11vw,5rem)}.about-hero-photo{height:340px}
  .principle-row{grid-template-columns:28px 1fr;gap:.7rem 1rem}.principle-row p{grid-column:2;max-width:500px}
  .track-image{height:290px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}
  .js-motion .reveal{opacity:1;transform:none}
}
