/*
Theme Name: OBANS Professional
Theme URI: https://obanstruckandtrailer.com
Author: OBANS Truck & Trailer Services LLC
Description: Professional WordPress theme for OBANS mobile truck and trailer repair services, with responsive design, rotating hero media, service-area content, and accessible navigation.
Version: 1.4.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: obans-professional
License: GPL-2.0-or-later
*/
:root{--navy:#0b1828;--navy2:#12283f;--blue:#194b70;--ice:#eaf1f6;--silver:#d4dce3;--white:#fff;--ink:#1a2836;--muted:#576473;--line:#dae2e8;--gold:#e4c188;--max:1200px;--radius:18px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,'Segoe UI',Arial,sans-serif;line-height:1.6;font-size:16px}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #409acc;outline-offset:4px}.skip-link{position:absolute;top:-100px;left:12px;padding:12px;background:#fff;color:#111;z-index:10000}.skip-link:focus{top:12px}.container{width:min(calc(100% - 42px),var(--max));margin:auto}.top-strip{background:#07111d;color:#e1e9ef;font-size:.78rem;letter-spacing:.01em}.top-strip .container{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:36px}.top-strip a{font-weight:750}.top-strip a:hover{color:var(--gold)}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40;box-shadow:0 6px 24px rgba(6,23,44,.045)}.nav-row{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:13px;min-width:0;text-decoration:none}.brand img{height:78px;width:80px;object-fit:contain}.brand-text{display:flex;flex-direction:column;line-height:1.07;letter-spacing:.025em}.brand-text strong{font-size:clamp(1.3rem,2.1vw,1.85rem);color:var(--navy);font-weight:950}.brand-text span{font-size:.70rem;font-weight:800;letter-spacing:.16em;color:var(--blue);margin-top:7px}.primary-nav{display:flex;align-items:center;gap:23px}.primary-nav ul{list-style:none;display:flex;align-items:center;gap:22px;margin:0;padding:0}.primary-nav li a{font-size:.89rem;font-weight:800;color:#314153}.primary-nav li.current-menu-item>a,.primary-nav li a:hover{color:#12527a;text-decoration:none}.button,.wp-block-button__link{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:14px 22px;min-height:49px;border:1px solid transparent;border-radius:5px;background:var(--navy);color:#fff!important;font-size:.88rem;font-weight:900;letter-spacing:.03em;text-decoration:none!important;line-height:1.25;transition:transform .18s,background .18s}.button:hover,.wp-block-button__link:hover{background:#1c5277;transform:translateY(-1px)}.button--silver{background:#fff;color:var(--navy)!important}.button--silver:hover{background:#e9eff4}.button--outline{border-color:#acc6da;background:transparent;color:#fff!important}.button--outline:hover{background:#fff;color:var(--navy)!important}.button--nav{padding:13px 18px;white-space:nowrap}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;padding:11px 13px;border-radius:7px;color:var(--navy);font-weight:800}.section{padding:88px 0}.section--tint{background:#f3f6f9}.eyebrow{display:inline-flex;gap:10px;align-items:center;margin:0 0 14px;color:#265f83;font-size:.76rem;letter-spacing:.14em;font-weight:950;text-transform:uppercase}.eyebrow::before{content:'';display:block;width:24px;height:3px;background:#b49b6e}.section-title{font-family:'Arial Narrow','Segoe UI',sans-serif;font-stretch:condensed;font-weight:950;letter-spacing:-.045em;line-height:1.08;font-size:clamp(2.1rem,4.2vw,3.55rem);margin:0 0 17px;color:var(--navy)}.lead{font-size:clamp(1.05rem,1.5vw,1.2rem);color:var(--muted);line-height:1.75;max-width:760px}.hero{background:radial-gradient(circle at 82% 45%,#265778 0%,transparent 31%),linear-gradient(115deg,#081521 3%,#122e46 62%,#07131f 100%);position:relative;color:white;overflow:hidden}.hero::after{content:'';position:absolute;right:-150px;top:-290px;width:760px;height:760px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 68px rgba(255,255,255,.018),0 0 0 140px rgba(255,255,255,.025);pointer-events:none}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center;min-height:660px;padding:80px 0}.hero h1{font-size:clamp(2.8rem,5.6vw,5.8rem);letter-spacing:-.055em;line-height:1.01;margin:15px 0 23px;font-weight:950;max-width:800px}.hero h1 span{display:block;color:#c8d9e7}.hero .eyebrow{color:#dce5ed}.hero .lead{color:#d2dee9;max-width:670px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-aside{position:relative;display:flex;justify-content:center;align-items:center;min-width:0}.hero-aside img{width:min(100%,490px);filter:drop-shadow(0 20px 34px rgba(0,0,0,.3))}.hero-note{position:absolute;bottom:0;right:0;background:#fff;color:var(--navy);border-left:5px solid #ba9f72;padding:13px 18px;font-size:.78rem;font-weight:850;max-width:230px;box-shadow:0 8px 30px rgba(0,0,0,.15)}.trust-strip{background:#e8edf1;padding:20px 0}.trust-strip .container{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.trust-strip div{padding:5px 15px;border-left:3px solid #8eacbf;color:#1a3449;font-size:.89rem;font-weight:850}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.panel-dark{background:var(--navy);color:#f2f7fa;padding:48px;border-radius:var(--radius);box-shadow:18px 18px 0 #e1e9ee}.panel-dark p{color:#d1e0ea}.panel-dark h3{font-size:1.8rem;line-height:1.2;margin-top:0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-top:36px}.service-card{background:#fff;border:1px solid var(--line);padding:29px 26px 27px;box-shadow:0 7px 23px rgba(19,37,58,.035);border-top:4px solid #315f80;display:flex;flex-direction:column}.service-card .number{font-weight:950;letter-spacing:.11em;font-size:.85rem;color:#7493a6}.service-card h3{font-size:1.35rem;letter-spacing:-.025em;line-height:1.22;color:var(--navy);margin:21px 0 10px}.service-card p{font-size:.93rem;color:var(--muted);line-height:1.68;margin:0 0 18px}.service-card a{margin-top:auto;font-weight:850;color:#1c587e;font-size:.88rem}.service-card ul{padding-left:19px;margin:4px 0 20px;color:#516474;font-size:.91rem}.service-card li+li{margin-top:7px}.split-list{margin:22px 0 30px;padding:0;list-style:none}.split-list li{border-bottom:1px solid var(--line);padding:11px 0 11px 27px;position:relative;font-weight:700}.split-list li::before{content:'✓';position:absolute;left:0;color:#2476a0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}.step{padding:28px;border:1px solid var(--line);border-radius:9px;background:#fff}.step strong{font-size:2.1rem;color:#789db3}.step h3{font-size:1.21rem;color:var(--navy);margin:12px 0}.step p{color:var(--muted);margin:0}.area-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.area-list span{background:#f0f4f6;border:1px solid #dbe4ea;border-radius:4px;padding:7px 12px;font-size:.85rem;font-weight:800;color:#24465f}.cta-band{background:linear-gradient(107deg,#102b42,#0b1828);color:#fff;padding:58px 0}.cta-band .container{display:flex;gap:28px;align-items:center;justify-content:space-between}.cta-band h2{color:white;font-size:clamp(1.7rem,3vw,2.65rem);line-height:1.1;margin:0 0 10px}.cta-band p{color:#d6e2ea;max-width:710px;margin:0}.cta-actions{display:flex;gap:11px;flex-wrap:wrap}.inner-hero{background:linear-gradient(107deg,#091725,#183a54);color:#fff;padding:75px 0 68px}.inner-hero h1{margin:5px 0 14px;font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.045em;line-height:1.1}.inner-hero p{color:#d3e1eb;font-size:1.08rem;max-width:770px;margin:0}.content-area{min-height:350px}.feature-board{background:linear-gradient(130deg,#142d43,#2b5672);border-radius:14px;color:#fff;padding:55px;min-height:360px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.feature-board img{height:250px;width:250px;object-fit:contain}.feature-board p{font-weight:800;letter-spacing:.08em}.faq{max-width:820px;margin:25px auto 0}.faq details{padding:18px 0;border-bottom:1px solid var(--line)}.faq summary{font-size:1.07rem;font-weight:850;color:var(--navy);cursor:pointer}.faq details p{color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:28px}.gallery-placeholder{background:linear-gradient(145deg,#10283e,#2a5978);border-radius:8px;min-height:240px;display:flex;flex-direction:column;justify-content:flex-end;padding:23px;color:#fff}.gallery-placeholder span{color:#aec9dc;font-weight:850;font-size:.73rem;letter-spacing:.12em;text-transform:uppercase}.gallery-placeholder h3{margin:4px 0 0;color:#fff;font-size:1.45rem}.gallery-placeholder p{font-size:.83rem;color:#d6e4ed}.contact-grid{display:grid;grid-template-columns:.77fr 1.23fr;gap:47px}.contact-panel{border:1px solid var(--line);background:#f5f8fa;padding:26px;border-radius:10px}.contact-panel h2{margin-top:0;font-size:1.45rem}.contact-panel p{margin:11px 0}.contact-panel a{color:#14567d;font-weight:800}.hours{border-collapse:collapse;width:100%;margin-top:18px}.hours td{padding:9px 0;border-bottom:1px solid #dce4e9;font-size:.91rem}.hours td+td{text-align:right;font-weight:800}.notice{font-size:.82rem;color:#6a7580}.form-wrap{background:#fff;border:1px solid var(--line);padding:30px;border-radius:10px;box-shadow:0 10px 28px rgba(5,24,44,.04)}.form-wrap h2{font-size:1.6rem;margin:0 0 8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:.86rem;font-weight:850;color:#283c4f}.field input,.field select,.field textarea{width:100%;border:1px solid #bdcbd5;background:#fff;border-radius:5px;color:#182c3d;padding:11px 12px;min-height:47px}.field textarea{min-height:140px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#23638c}.form-alert{padding:14px 18px;border-radius:5px;margin:10px 0 22px;border:1px solid #b7d2c3;background:#edf9f1;color:#1c5136;font-size:.93rem}.form-alert--error{background:#fff0ec;border-color:#e0b8a7;color:#8d3520}.checkbox-field{display:flex;align-items:flex-start;gap:9px;margin-bottom:19px;font-size:.87rem}.checkbox-field input{margin-top:5px}.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;width:1px!important;height:1px!important}.site-footer{background:#081724;color:#cddbe4;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.25fr .8fr 1.1fr;gap:50px}.footer-logo{display:flex;align-items:center;gap:15px}.footer-logo img{height:105px;width:108px;object-fit:contain}.footer-logo strong{font-size:1.4rem;font-weight:950;line-height:1.05;display:block;color:white}.footer-logo small{font-size:.68rem;letter-spacing:.1em;color:#bdd1df;font-weight:850}.site-footer h2{color:white;font-size:1rem;margin:4px 0 15px}.site-footer p,.site-footer li{font-size:.87rem;line-height:1.8}.site-footer ul{padding:0;margin:0;list-style:none}.site-footer a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #2d4151;margin-top:48px;padding-top:20px;font-size:.8rem}.footer-bottom a{text-decoration:underline}.mobile-cta{display:none}.provisional{color:#a6bfd0;font-size:.78rem}.site-main{overflow:hidden}
@media(max-width:1050px){.nav-row{min-height:80px}.brand img{width:68px;height:67px}.primary-nav{gap:12px}.primary-nav ul{gap:12px}.primary-nav li a{font-size:.8rem}.button--nav{padding:11px 12px}.hero-grid{min-height:570px}}
@media(max-width:850px){.menu-toggle{display:inline-flex}.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:17px 21px 25px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.12);flex-direction:column;align-items:stretch}.primary-nav.is-open{display:flex}.primary-nav ul{align-items:stretch;flex-direction:column;gap:0}.primary-nav li a{display:block;padding:12px 4px;font-size:1rem}.button--nav{width:100%}.hero-grid{grid-template-columns:1fr;gap:5px;padding:65px 0 40px}.hero-aside img{width:260px}.hero-note{right:8%}.hero h1{font-size:clamp(2.9rem,8vw,5rem)}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.contact-grid{grid-template-columns:1fr;gap:33px}.steps,.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.cta-band .container{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.container{width:min(calc(100% - 30px),var(--max))}.top-strip .container{justify-content:center}.top-strip .area-short{display:none}.nav-row{min-height:75px}.brand img{width:57px;height:59px}.brand-text strong{font-size:1.2rem}.brand-text span{font-size:.55rem;letter-spacing:.1em}.hero-grid{padding:55px 0 43px}.hero-aside img{width:240px}.hero-note{font-size:.69rem;right:0}.section{padding:60px 0}.section-title{font-size:2.15rem}.service-grid,.steps,.gallery-grid,.trust-strip .container,.form-row{grid-template-columns:1fr}.trust-strip .container{gap:9px}.panel-dark{padding:30px;box-shadow:9px 9px 0 #e1e9ee}.inner-hero{padding:55px 0}.footer-grid{grid-template-columns:1fr;gap:27px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column}.form-wrap{padding:18px}.hero-actions .button{width:100%}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:39;background:#fff;padding:9px 12px;gap:8px;box-shadow:0 -4px 18px rgba(0,0,0,.11)}.mobile-cta a{flex:1;text-align:center;justify-content:center;padding:11px 8px;min-height:43px;font-size:.8rem}.site-footer{padding-bottom:96px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* OBANS Motion Hero 1.4: mobile-repair photo crossfade, subtle pan and accessible controls */
.hero--motion{isolation:isolate;background:#0b1e2f}
.hero--motion .motion-backdrops,.hero--motion .motion-backdrop,.hero--motion .motion-shade{position:absolute;inset:0;pointer-events:none}
.hero--motion .motion-backdrops{z-index:-2;overflow:hidden}
.hero--motion .motion-backdrop{opacity:0;visibility:hidden;transition:opacity 1.15s ease,visibility 1.15s ease;background:radial-gradient(circle at 70% 50%,#315c7b,#0b1828 74%)}
.hero--motion .motion-backdrop:nth-child(2){background:linear-gradient(125deg,#0d2132,#295577)}
.hero--motion .motion-backdrop:nth-child(3){background:linear-gradient(135deg,#101b2b,#294764)}
.hero--motion .motion-backdrop.is-active{opacity:1;visibility:visible}
.hero--motion .motion-backdrop img{height:100%;width:100%;object-fit:cover;display:block;opacity:.78;transform:scale(1.035);transition:transform 7.2s ease}
.hero--motion .motion-backdrop.is-active img{transform:scale(1.11)}
.hero--motion .motion-backdrop img.is-failed{display:none}
.hero--motion .motion-shade{z-index:-1;background:linear-gradient(90deg,rgba(5,16,27,.96) 0%,rgba(5,16,27,.81) 43%,rgba(7,20,33,.61) 72%,rgba(7,20,33,.65) 100%)}
.hero--motion::after{z-index:-1}
.hero--motion .hero-grid{min-height:665px;padding-bottom:122px}
.hero--motion .hero-aside:before{content:'';position:absolute;inset:6% 5%;background:radial-gradient(circle,rgba(17,40,64,.79) 0%,rgba(17,40,64,.42) 57%,transparent 77%);border-radius:50%;z-index:-1}
.hero--motion .hero-note{bottom:10px}
.motion-controls-wrap{position:absolute;bottom:0;left:0;right:0;z-index:3;border-top:1px solid rgba(255,255,255,.19);background:rgba(5,16,27,.33);backdrop-filter:blur(7px)}
.motion-controls{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:20px}
.motion-caption{font-size:.74rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:#e5edf3}
.motion-controls-group{display:flex;align-items:center;gap:9px}
.motion-control{background:rgba(11,24,40,.45);border:1px solid rgba(255,255,255,.6);border-radius:50%;width:39px;height:39px;display:inline-flex;align-items:center;justify-content:center;color:white;font-size:1.12rem;line-height:1;cursor:pointer}
.motion-control:hover{background:#fff;color:#0b1828}
.motion-dots{display:flex;align-items:center;gap:9px;padding:0 5px}
.motion-dot{width:12px;height:12px;border:1px solid #dce6ed;background:transparent;border-radius:50%;padding:0;cursor:pointer}
.motion-dot[aria-current="true"]{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.2)}
.motion-control:focus-visible,.motion-dot:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(max-width:850px){.hero--motion .hero-grid{min-height:640px;padding-bottom:95px}.motion-controls{min-height:64px}}
@media(max-width:560px){.hero--motion .hero-grid{min-height:720px;padding-top:45px;padding-bottom:105px}.hero--motion .hero-aside img{width:200px}.hero--motion .hero-note{position:relative;right:auto;bottom:auto;max-width:none;padding:8px 12px}.motion-caption{font-size:.61rem;letter-spacing:.06em}.motion-controls{gap:8px}.motion-controls-group{gap:6px}.motion-control{width:35px;height:35px}.motion-dots{gap:7px}.motion-dot{width:11px;height:11px}}
@media(prefers-reduced-motion:reduce){.hero--motion .motion-backdrop,.hero--motion .motion-backdrop img{transition:none!important;transform:none!important}.has-js .service-card.obans-prepare{opacity:1!important;transform:none!important}}
@media(prefers-reduced-motion:no-preference){.has-js .service-card.obans-prepare{opacity:0;transform:translateY(19px);transition:opacity .7s ease,transform .7s ease}.has-js .service-card.obans-prepare.obans-visible{opacity:1;transform:none}}

/* OBANS representative mobile-service gallery */
.obans-photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px}
.obans-gallery-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(6,27,45,.08);transition:transform .28s ease,box-shadow .28s ease}
.obans-gallery-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(6,27,45,.13)}
.obans-gallery-image{aspect-ratio:3/2;overflow:hidden;background:#10283e}
.obans-gallery-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s ease}
.obans-gallery-card:hover .obans-gallery-image img{transform:scale(1.045)}
.obans-gallery-card figcaption{padding:20px 20px 22px}
.obans-gallery-card figcaption span{display:block;color:#24658d;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.obans-gallery-card h3{font-size:1.28rem;margin:0 0 8px;color:var(--navy)}
.obans-gallery-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}
.gallery-disclaimer{margin:28px 0 0;padding:16px 18px;border:1px solid #d3e0e8;background:#f4f8fa;border-radius:8px;color:#536574;font-size:.84rem;line-height:1.6}
@media(max-width:850px){.obans-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.obans-photo-gallery{grid-template-columns:1fr;gap:16px}.obans-gallery-card figcaption{padding:17px}}
@media(prefers-reduced-motion:reduce){.obans-gallery-card,.obans-gallery-image img{transition:none!important}.obans-gallery-card:hover{transform:none}.obans-gallery-card:hover .obans-gallery-image img{transform:none}}
