/*
Theme Name: Fram Trak — Precision
Description: Responsive Fram Trak child theme and editable core Divi layouts. Requires the licensed Divi parent theme.
Author: Nu-Image Design
Template: Divi
Version: 1.0.0
Text Domain: framtrak-precision
*/
:root{--ft-navy:#082446;--ft-deep:#04182e;--ft-blue:#075cff;--ft-cyan:#00c6dc;--ft-ink:#0b2544;--ft-copy:#465770;--ft-muted:#eef3f7;--ft-line:#d9e2eb;--ft-white:#fff;--ft-width:1280px;--ft-gutter:clamp(20px,4vw,64px);--ft-space:clamp(56px,6vw,96px);--ft-font:Arial,Helvetica,sans-serif}
body.ft-site{margin:0;background:#fff;color:var(--ft-copy);font-family:var(--ft-font);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.ft-site *, .ft-site *:before,.ft-site *:after{box-sizing:border-box}
.ft-site img{max-width:100%;height:auto;vertical-align:middle}
.ft-site a{color:var(--ft-blue);text-decoration:none;text-underline-offset:5px}
.ft-site a:hover{text-decoration:underline}
.ft-site :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #008ca0;outline-offset:5px}
.ft-site :is(h1,h2,h3,h4){font-family:var(--ft-font);font-weight:750;line-height:1.12;letter-spacing:-.035em;color:var(--ft-ink);margin:0;padding:0 0 18px;overflow-wrap:break-word}
.ft-site h1{font-size:clamp(38px,5vw,70px)}
.ft-site h2{font-size:clamp(30px,3.5vw,48px)}
.ft-site h3{font-size:clamp(21px,2vw,25px);letter-spacing:-.025em}
.ft-site p{margin:0;padding:0 0 18px}
.ft-site p:last-child{padding-bottom:0}
.ft-shell{max-width:calc(var(--ft-width) + var(--ft-gutter)*2);margin:0 auto;padding-inline:var(--ft-gutter)}
.ft-skip{position:fixed;top:8px;left:12px;z-index:100000;background:#fff;padding:12px 20px;transform:translateY(-180%);color:var(--ft-navy)}
.ft-skip:focus{transform:translateY(0)}
.ft-utility{background:var(--ft-navy);color:#fff;font-size:12px;font-weight:600;letter-spacing:.015em}
.ft-utility .ft-shell{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.ft-utility a{color:#fff}
.ft-header{background:#fff;border-bottom:1px solid var(--ft-line);position:relative;z-index:30}
.ft-header-inner{min-height:100px;display:flex;align-items:center;gap:30px}
.ft-brand{display:inline-flex;flex-shrink:0;align-items:center;max-width:295px;line-height:1}
.ft-brand img{display:block;width:100%;height:auto;max-height:74px;object-fit:contain}
.ft-brand-text{font-size:26px;font-weight:800;letter-spacing:-.06em;color:var(--ft-navy)}
.ft-brand-text small{display:block;font-size:10px;letter-spacing:.45em;margin-top:8px}
.ft-nav{margin-left:auto;display:flex;align-items:center;gap:26px}
.ft-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:26px}
.ft-nav li{position:relative;padding:0;margin:0;list-style:none}
.ft-nav a{font-size:14px;line-height:1.45;font-weight:700;color:var(--ft-ink);padding:16px 0;display:block}
.ft-nav a:hover,.ft-nav .current-menu-item>a{color:var(--ft-blue);text-decoration:none}
.ft-nav li.menu-item-has-children>a:after{content:'⌄';margin-left:8px}
.ft-nav ul.sub-menu{display:block;position:absolute;top:100%;left:-20px;min-width:250px;background:#fff;box-shadow:0 12px 30px #08244620;border:1px solid var(--ft-line);padding:10px 18px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.15s ease}
.ft-nav .sub-menu a{padding:12px 0}
.ft-nav li:hover>ul.sub-menu,.ft-nav li:focus-within>ul.sub-menu{opacity:1;visibility:visible;transform:none}
.ft-nav .sub-menu .sub-menu{position:static;box-shadow:none;border:0;opacity:1;visibility:visible;transform:none;padding-left:15px}
.ft-site .ft-button,.ft-site .ft-btn .et_pb_button,.ft-site a.et_pb_button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:14px 24px!important;background:var(--ft-blue);border:1px solid var(--ft-blue)!important;border-radius:3px!important;color:#fff!important;font-size:15px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:0!important;text-decoration:none!important;transition:background .18s ease,box-shadow .18s ease}
.ft-site .ft-button:hover,.ft-site .ft-btn .et_pb_button:hover{background:#0348d2;border-color:#0348d2!important;box-shadow:0 6px 18px #075cff25}
.ft-site .ft-button:after,.ft-site .ft-btn .et_pb_button:after{content:'\2192'!important;font-family:Arial,sans-serif!important;font-size:20px!important;position:static!important;opacity:1!important;display:inline!important;margin:0!important;line-height:1!important}
.ft-site .ft-button--cyan,.ft-site .ft-btn--cyan .et_pb_button{background:var(--ft-cyan);border-color:var(--ft-cyan)!important;color:var(--ft-deep)!important}
.ft-site .ft-button--cyan:hover,.ft-site .ft-btn--cyan .et_pb_button:hover{background:#26d4e5;border-color:#26d4e5!important}
.ft-site .ft-btn--text .et_pb_button{background:transparent!important;border:0!important;padding:14px 0!important;color:var(--ft-ink)!important;text-decoration:underline!important;text-decoration-color:var(--ft-cyan)!important;text-underline-offset:8px}
.ft-site .ft-hero .ft-btn--text .et_pb_button{color:#fff!important}
.ft-menu-toggle{display:none;border:1px solid var(--ft-line);border-radius:3px;padding:10px 13px;background:#fff;color:var(--ft-ink);min-height:44px;font:700 14px var(--ft-font);cursor:pointer;margin-left:auto}
/* Classes are carried by the core modules through Divi 5 conversion. */
.ft-site .ft-section{padding:var(--ft-space) 0!important;background:#fff}
.ft-site .et_pb_row.ft-row,.ft-site .ft-row{width:calc(100% - var(--ft-gutter)*2)!important;max-width:var(--ft-width)!important;margin:0 auto!important;padding:0!important;float:none!important}
.ft-site .ft-row:after{display:none!important}
.ft-site .ft-row>.et_pb_column{min-width:0;margin:0!important;float:none!important;width:auto!important;padding:0!important}
.ft-site .ft-row .et_pb_module{margin-bottom:0!important}
.ft-site .ft-row .et_pb_module+.et_pb_module{margin-top:20px!important}
.ft-site .ft-eyebrow{color:#007f91;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:15px!important;line-height:1.6}
.ft-site .ft-eyebrow:before{content:'';display:inline-block;width:34px;height:3px;background:var(--ft-cyan);margin-right:13px;vertical-align:middle}
.ft-site .ft-hero{background:var(--ft-navy)!important;position:relative;overflow:hidden;padding:clamp(56px,7.5vw,112px) 0!important}
.ft-site .ft-hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(90deg,#04182ef7 0%,#04182ee6 40%,#04182e88 70%,#04182e40 100%),url('assets/images/hero-site.jpg');background-size:cover;background-position:center,right center}
.ft-site .ft-hero .ft-row{position:relative;z-index:1;display:block!important}
.ft-site .ft-hero .et_pb_column{max-width:760px}
.ft-site .ft-hero .ft-eyebrow{color:#3ce4f1}
.ft-site .ft-hero :is(h1,h2,p){color:#fff}
.ft-site .ft-hero h1{max-width:800px;font-size:clamp(38px,4.9vw,68px);line-height:1.04;letter-spacing:-.045em;padding-bottom:24px}
.ft-site .ft-hero .ft-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.65;max-width:610px;color:#e0e9f2}
.ft-site .ft-hero .ft-btn{display:inline-block;margin-right:26px}
.ft-site .ft-hero .ft-row .ft-btn+.ft-btn{margin-top:20px!important}
.ft-site .ft-stats{padding:30px 0!important;border-bottom:1px solid var(--ft-line)}
.ft-site .ft-grid-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.ft-site .ft-stats .et_pb_column+.et_pb_column{border-left:1px solid var(--ft-line);padding-left:32px!important}
.ft-site .ft-stat-title{display:block;color:var(--ft-ink);font-size:22px;font-weight:800;letter-spacing:-.03em;line-height:1.25;margin-bottom:6px}
.ft-site .ft-stats p{font-size:14px;line-height:1.5}
.ft-site .ft-intro{max-width:850px!important;margin-bottom:36px!important}
.ft-site .ft-grid-4{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.ft-site .ft-row+.ft-row{margin-top:34px!important}
.ft-site .ft-card .et_pb_image{overflow:hidden;background:#f0f4f7;border:1px solid var(--ft-line)}
.ft-site .ft-card .et_pb_image_wrap{display:block;width:100%}
.ft-site .ft-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;transition:transform .3s ease}
.ft-site .ft-card:hover img{transform:scale(1.025)}
.ft-site .ft-card h3{font-size:22px;padding-bottom:12px}
.ft-site .ft-card p{font-size:15px;line-height:1.65}
.ft-site .ft-card .ft-link a,.ft-site .ft-link a{font-size:14px;font-weight:750;text-decoration:underline;text-decoration-color:var(--ft-cyan);text-underline-offset:6px;display:inline-flex;align-items:center;min-height:44px}
.ft-site .ft-split{background:var(--ft-muted)!important}
.ft-site .ft-grid-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,76px);align-items:center}
.ft-site .ft-split .ft-feature-image img{width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:3px}
.ft-site .ft-checks ul{list-style:none;padding:0;margin:0}
.ft-site .ft-checks li{padding:9px 0 9px 30px;position:relative;font-size:16px;line-height:1.55}
.ft-site .ft-checks li:before{content:'✓';position:absolute;left:0;top:11px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--ft-cyan);color:var(--ft-deep);font-size:13px;font-weight:900}
.ft-site .ft-cta{background:var(--ft-navy)!important;padding:48px 0!important;position:relative;overflow:hidden}
.ft-site .ft-cta:before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 65%,#ffffff04 65%,#ffffff04 80%,transparent 80%);pointer-events:none}
.ft-site .ft-cta .ft-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center;position:relative}
.ft-site .ft-cta h2{color:#fff;font-size:clamp(30px,3.2vw,44px);padding-bottom:14px}
.ft-site .ft-cta p{color:#deebf7;max-width:760px;font-size:16px}
.ft-site .ft-subhero{padding:52px 0 68px!important}
.ft-site .ft-subhero .et_pb_column{max-width:900px}
.ft-site .ft-breadcrumb a,.ft-site .ft-breadcrumb{color:#d4e4f1;font-size:13px}
.ft-site .ft-breadcrumb{margin-bottom:28px!important}
.ft-site .ft-content-grid{display:grid!important;grid-template-columns:minmax(0,1fr) 320px;gap:64px;align-items:start}
.ft-site .ft-article h2{font-size:clamp(28px,3vw,40px)}
.ft-site .ft-article h3{padding-top:16px}
.ft-site .ft-article ul,.ft-site .ft-article ol{padding:0 0 20px 24px}
.ft-site .ft-article li{padding:5px 0}
.ft-site .ft-article .et_pb_image img{width:100%;max-height:520px;object-fit:contain;background:var(--ft-muted);padding:16px}
.ft-site .ft-sidebar{background:var(--ft-muted);border:1px solid var(--ft-line);padding:28px!important;border-top:3px solid var(--ft-cyan)}
.ft-site .ft-content-grid>.ft-sidebar{padding:28px!important}
.ft-site .ft-sidebar h3{font-size:22px}
.ft-site .ft-sidebar a{display:block;border-bottom:1px solid var(--ft-line);padding:12px 0;font-size:15px;color:var(--ft-ink);font-weight:650}
.ft-site .ft-sidebar .ft-btn a{border-bottom:0;width:100%;margin-top:12px}
.ft-site .ft-faq details{border-top:1px solid var(--ft-line);padding:20px 0}
.ft-site .ft-faq summary{cursor:pointer;font-weight:750;color:var(--ft-ink);font-size:18px;line-height:1.5}
.ft-site .ft-faq details p{padding-top:14px}
.ft-site .ft-contact a{overflow-wrap:anywhere}
.ft-site .ft-contact-card{padding:30px!important;background:var(--ft-muted);border:1px solid var(--ft-line)}
.ft-footer{padding:56px 0 22px;background:#fff;border-top:1px solid var(--ft-line)}
.ft-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:44px}
.ft-footer .ft-brand{max-width:275px;margin-bottom:22px}
.ft-footer .ft-tagline{font-size:15px;max-width:290px}
.ft-footer h2{font-size:14px;letter-spacing:0;padding-bottom:14px}
.ft-footer ul{padding:0;margin:0;list-style:none}
.ft-footer li{padding:0;list-style:none}
.ft-footer li a{display:inline-block;padding:5px 0;color:var(--ft-copy);font-size:14px}
.ft-footer address{font-style:normal;font-size:14px;line-height:1.8}
.ft-footer address a{color:var(--ft-copy);display:inline-block;min-height:30px}
.ft-footer-bottom{border-top:1px solid var(--ft-line);padding-top:22px;margin-top:40px;font-size:12px;color:#5c6d80;display:flex;justify-content:space-between;gap:20px}
.ft-site table{border-collapse:collapse;width:100%;font-size:15px}
.ft-site th,.ft-site td{padding:14px;border:1px solid var(--ft-line);text-align:left}
.ft-site th{background:var(--ft-muted);color:var(--ft-ink)}
.ft-table-scroll{overflow-x:auto}
.ft-site input:not([type=checkbox]):not([type=radio]):not([type=submit]),.ft-site textarea,.ft-site select{max-width:100%;width:100%;border:1px solid #a4b3c3;border-radius:3px;padding:14px 16px;font:inherit;color:var(--ft-ink);background:white;min-height:48px}
.ft-site textarea{min-height:160px;resize:vertical}
.ft-site label{display:block;color:var(--ft-ink);font-weight:650;margin-bottom:8px}
.ft-site button,.ft-site input[type=submit]{font-family:inherit;cursor:pointer}
@media(min-width:1600px){.ft-site .ft-hero:before{background-position:center,right 35%}}
@media(max-width:1100px){.ft-header-inner{gap:20px}.ft-brand{max-width:240px}.ft-nav,.ft-nav ul{gap:19px}.ft-nav a{font-size:13px}.ft-nav .ft-button{padding:12px 16px!important;font-size:13px!important}.ft-site .ft-grid-4{gap:20px}.ft-site .ft-content-grid{gap:40px;grid-template-columns:minmax(0,1fr) 280px}.ft-footer-grid{gap:28px}}
@media(max-width:980px){.ft-header-inner{min-height:82px;flex-wrap:wrap;padding-block:14px;gap:0}.ft-brand{max-width:245px}.ft-menu-toggle{display:block}.ft-nav{width:100%;margin:16px 0 0;display:flex;flex-direction:column;align-items:stretch;gap:16px;border-top:1px solid var(--ft-line);padding:18px 0 6px}.ft-nav.ft-js-collapsed{display:none}.ft-nav ul{display:block;width:100%}.ft-nav a{font-size:16px;padding:12px 0;min-height:48px}.ft-nav ul.sub-menu{position:static;display:block;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;padding:0 0 8px 18px;min-width:0;background:transparent}.ft-nav .sub-menu a{font-size:14px;padding:8px 0}.ft-nav .ft-button{align-self:flex-start}.ft-site .ft-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 26px}.ft-site .ft-content-grid{grid-template-columns:minmax(0,1fr) 260px;gap:32px}.ft-site .ft-hero .et_pb_column{max-width:700px}.ft-site .ft-hero:before{background-image:linear-gradient(90deg,#04182ef0,#04182eb8),url('assets/images/hero-site.jpg')}.ft-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.ft-site .ft-cta .ft-row{grid-template-columns:1fr}.ft-site .ft-cta .et_pb_column:last-child{justify-self:start}.ft-site .ft-stats .et_pb_column+.et_pb_column{padding-left:22px!important}.ft-site .ft-stats .ft-row{gap:22px}.ft-site .ft-stat-title{font-size:19px}}
@media(max-width:767px){body.ft-site{font-size:16px}.ft-utility .ft-shell{font-size:11px;gap:10px}.ft-utility .ft-location{display:none}.ft-utility .ft-shell{justify-content:center}.ft-header-inner{min-height:76px}.ft-brand{max-width:220px}.ft-site .ft-hero{padding:56px 0 60px!important}.ft-site .ft-subhero{padding:36px 0 48px!important}.ft-site .ft-hero h1{font-size:clamp(36px,8.6vw,54px)}.ft-site .ft-hero .ft-lead{font-size:17px}.ft-site .ft-hero .ft-btn{display:block;margin-right:0;max-width:340px}.ft-site .ft-btn .et_pb_button{max-width:100%;white-space:normal;text-align:center}.ft-site .ft-grid-2,.ft-site .ft-content-grid{grid-template-columns:1fr;gap:34px}.ft-site .ft-grid-3{grid-template-columns:1fr;gap:20px}.ft-site .ft-stats{padding:26px 0!important}.ft-site .ft-stats .et_pb_column+.et_pb_column{padding:20px 0 0!important;border-left:0;border-top:1px solid var(--ft-line)}.ft-site .ft-stats .ft-row{gap:20px}.ft-site .ft-stat-title{font-size:23px}.ft-site .ft-split .ft-feature-image img{aspect-ratio:4/3}.ft-site .ft-row .et_pb_module+.et_pb_module{margin-top:18px!important}.ft-site .ft-content-grid>.ft-sidebar{padding:26px!important}.ft-site .ft-cta{padding:42px 0!important}.ft-footer{padding-top:42px}.ft-footer-grid{gap:32px 24px}.ft-footer-bottom{display:block}.ft-footer-bottom span{display:block;margin-bottom:8px}.ft-site .ft-eyebrow{font-size:11px;letter-spacing:.09em}}
@media(max-width:480px){.ft-site .ft-grid-4{grid-template-columns:1fr;gap:34px}.ft-site .ft-card img{aspect-ratio:16/10}.ft-site .ft-card h3{font-size:24px}.ft-site .ft-card p{font-size:16px}.ft-site .ft-card .et_pb_module+.et_pb_module{margin-top:14px!important}.ft-footer-grid{grid-template-columns:1fr;gap:30px}.ft-brand{max-width:205px}.ft-menu-toggle{font-size:13px;padding:10px}.ft-site .ft-cta .ft-button,.ft-site .ft-cta .ft-btn .et_pb_button{width:100%}.ft-site .ft-cta .et_pb_column:last-child{justify-self:stretch}.ft-site .ft-hero .ft-btn .et_pb_button{width:100%}}
@media(prefers-reduced-motion:reduce){.ft-site *,.ft-site *:before,.ft-site *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.ft-utility,.ft-header,.ft-footer,.ft-site .ft-cta,.ft-sidebar,.ft-skip{display:none!important}.ft-site .ft-hero{background:white!important}.ft-site .ft-hero:before{display:none}.ft-site .ft-hero :is(h1,p){color:black!important}.ft-site .ft-section{padding:20px 0!important}.ft-site .ft-row{width:100%!important}.ft-site .ft-grid-4{grid-template-columns:repeat(2,1fr)}}
/* The source GIF has an opaque black background; preserve the original artwork. */
.ft-site .ft-brand{background:#000;border-radius:3px;padding:8px 10px}
.ft-site .ft-card img[src*="ftiflap"],.ft-site .ft-card img[src*="larry"]{object-fit:contain;background:#f2f5f8}
.ft-site .ft-split .ft-feature-image img{object-fit:contain;background:#e5ebf2;padding:22px}
.ft-site .ft-hero:before{background-size:cover,auto 100%;background-repeat:no-repeat;background-position:center,right center}

/* Canvas owns its header height; disable parent fixed-navigation offsets here. */
.ft-site #page-container,.ft-site #et-main-area{padding-top:0!important;margin-top:0!important}
