/*
Theme Name:  Wolf Utica Theme
Theme URI:   https://ljbmarketingagency.com/
Author:      LJB Marketing Agency
Author URI:  https://ljbmarketingagency.com/
Description: Custom dark, aggressive, modern WordPress theme for Wolf Utica. Gutenberg Custom HTML blocks with automatic page-specific CSS loading.
Version:     1.1.0
Requires at least: 6.0
Requires PHP:      8.0
Text Domain:       wolf-utica-theme
*/

/* =============================================================
   WOLF UTICA — GLOBAL DESIGN SYSTEM
   ============================================================= */
:root {
	--wolf-black: #0d0f11;
	--wolf-charcoal: #17191c;
	--wolf-charcoal-2: #202328;
	--wolf-charcoal-3: #292d32;
	--wolf-red: #e10600;
	--wolf-red-dark: #a90400;
	--wolf-red-bright: #ff2a22;
	--wolf-gray: #8b8c8e;
	--wolf-gray-light: #c7c8ca;
	--wolf-white: #ffffff;
	--wolf-off-white: #f2f2f2;
	--wolf-line: rgba(255,255,255,.11);
	--wolf-line-strong: rgba(255,255,255,.2);
	--wolf-red-line: rgba(225,6,0,.48);

	--wolf-gradient: linear-gradient(135deg, var(--wolf-red-bright) 0%, var(--wolf-red) 42%, var(--wolf-red-dark) 100%);
	--wolf-surface-gradient: linear-gradient(145deg, #202328 0%, #15171a 70%);
	--wolf-dark-gradient: linear-gradient(135deg, #202328 0%, #0d0f11 100%);

	--wolf-font-head: 'Bebas Neue', sans-serif;
	--wolf-font-body: 'Inter', sans-serif;

	--wolf-fs-eyebrow: 13px;
	--wolf-fs-body: 16px;
	--wolf-fs-lead: clamp(18px, 1.7vw, 21px);
	--wolf-fs-h3: clamp(25px, 2.6vw, 34px);
	--wolf-fs-h2: clamp(40px, 5vw, 68px);
	--wolf-fs-h1: clamp(54px, 8.5vw, 108px);

	--wolf-maxw: 1360px;
	--wolf-gutter: clamp(20px, 4vw, 58px);
	--wolf-radius: 2px;
	--wolf-radius-lg: 4px;
	--wolf-radius-pill: 2px;

	--wolf-shadow-sm: 0 12px 30px rgba(0,0,0,.3);
	--wolf-shadow-md: 0 25px 70px rgba(0,0,0,.48);
	--wolf-red-glow: 0 14px 40px rgba(225,6,0,.22);
	--wolf-ease: cubic-bezier(.22,.61,.36,1);

	--wolf-hollow-stroke-w: 1.5px;
	--wolf-hollow-stroke-color: var(--wolf-red);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--wolf-black)}
body{margin:0;font-family:var(--wolf-font-body);font-size:var(--wolf-fs-body);line-height:1.65;color:var(--wolf-white);background:var(--wolf-charcoal);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,#fff 3px);mix-blend-mode:overlay}
::selection{background:var(--wolf-red);color:#fff}
main{display:block;min-height:40vh}
h1,h2,h3,h4,h5,h6{font-family:var(--wolf-font-head);font-weight:400;line-height:.9;letter-spacing:.02em;text-transform:uppercase;margin:0 0 .42em}
h1{font-size:var(--wolf-fs-h1)}h2{font-size:var(--wolf-fs-h2)}h3{font-size:var(--wolf-fs-h3)}
p{margin:0 0 1em}p:last-child{margin-bottom:0}
a{color:var(--wolf-red);text-decoration:none;transition:color 180ms var(--wolf-ease),opacity 180ms var(--wolf-ease)}
a:hover{color:var(--wolf-red-bright)}
img{max-width:100%;height:auto;display:block}
ul,ol{margin:0;padding:0}
button,input,textarea,select{font:inherit}

.wolf-wrap{width:100%;max-width:var(--wolf-maxw);margin:0 auto;padding-left:var(--wolf-gutter);padding-right:var(--wolf-gutter)}
.wolf-section{position:relative;padding:clamp(76px,9vw,138px) 0;overflow:hidden}
.wolf-section-dark{background:var(--wolf-black)}
.wolf-section-charcoal{background:var(--wolf-charcoal)}
.wolf-section-surface{background:var(--wolf-surface-gradient)}
.wolf-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(34px,6vw,90px);align-items:center}
.wolf-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}

.wolf-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--wolf-font-head);font-size:var(--wolf-fs-eyebrow);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--wolf-gray-light)}
.wolf-eyebrow::before{content:"";width:34px;height:3px;background:var(--wolf-red);box-shadow:10px 0 0 rgba(225,6,0,.28);transform:skewX(-24deg)}
.wolf-kicker{font-family:var(--wolf-font-head);font-size:clamp(18px,2vw,25px);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--wolf-red)}
.wolf-lead{font-size:var(--wolf-fs-lead);line-height:1.55;color:var(--wolf-gray-light);max-width:760px}
.wolf-muted{color:var(--wolf-gray)}
.wolf-red{color:var(--wolf-red)}
.wolf-hollow{-webkit-text-fill-color:transparent;color:transparent;-webkit-text-stroke:var(--wolf-hollow-stroke-w) var(--wolf-hollow-stroke-color);paint-order:stroke fill}

.wolf-card{position:relative;padding:clamp(26px,3vw,42px);background:var(--wolf-surface-gradient);border:1px solid var(--wolf-line);box-shadow:var(--wolf-shadow-sm);overflow:hidden;transition:transform 220ms var(--wolf-ease),border-color 220ms var(--wolf-ease),box-shadow 220ms var(--wolf-ease)}
.wolf-card::before{content:"";position:absolute;top:0;left:0;width:78px;height:4px;background:var(--wolf-red);transform:skewX(-35deg);transform-origin:left}
.wolf-card:hover{transform:translateY(-5px);border-color:var(--wolf-red-line);box-shadow:var(--wolf-shadow-md)}

.wolf-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:14px 30px;font-family:var(--wolf-font-head);font-size:16px;font-weight:800;letter-spacing:.095em;text-transform:uppercase;border:1px solid transparent;border-radius:0;cursor:pointer;text-decoration:none;white-space:nowrap;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:transform 180ms var(--wolf-ease),box-shadow 180ms var(--wolf-ease),background 180ms var(--wolf-ease),color 180ms var(--wolf-ease),border-color 180ms var(--wolf-ease)}
.wolf-btn::after{content:"→";font-size:18px;line-height:1;transition:transform 180ms var(--wolf-ease)}
.wolf-btn:hover::after{transform:translateX(4px)}
.wolf-btn-primary{background:var(--wolf-gradient);color:#fff;box-shadow:var(--wolf-red-glow)}
.wolf-btn-primary:hover{color:#fff;transform:translateY(-3px);box-shadow:0 18px 48px rgba(225,6,0,.33)}
.wolf-btn-secondary{background:transparent;color:#fff;border-color:var(--wolf-line-strong)}
.wolf-btn-secondary:hover{color:#fff;border-color:var(--wolf-red);background:rgba(225,6,0,.08);transform:translateY(-3px)}
.wolf-btn-outline{background:transparent;color:var(--wolf-red);border-color:var(--wolf-red)}
.wolf-btn-outline:hover{background:var(--wolf-red);color:#fff;transform:translateY(-3px)}

.wolf-rule{height:1px;background:linear-gradient(90deg,var(--wolf-red),var(--wolf-line) 34%,transparent)}
.wolf-angle{clip-path:polygon(0 0,100% 0,calc(100% - 26px) 100%,0 100%)}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.screen-reader-text:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;padding:12px 20px;clip-path:none;background:var(--wolf-black);color:var(--wolf-white);z-index:100000;border:1px solid var(--wolf-red);font-size:14px}
:focus-visible{outline:3px solid var(--wolf-red);outline-offset:3px}
.wolf-form-fallback{padding:18px;border:1px dashed var(--wolf-red-line);color:var(--wolf-gray-light);font-size:14px;text-align:center;background:rgba(255,255,255,.025)}

/* Gravity Forms global baseline */
.gform_wrapper.gravity-theme .gfield_label{font-family:var(--wolf-font-head);font-size:15px!important;font-weight:700!important;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.gform_wrapper.gravity-theme input[type=text],.gform_wrapper.gravity-theme input[type=email],.gform_wrapper.gravity-theme input[type=tel],.gform_wrapper.gravity-theme textarea,.gform_wrapper.gravity-theme select{width:100%;padding:15px 16px!important;color:#fff!important;background:#111316!important;border:1px solid var(--wolf-line-strong)!important;border-radius:0!important;box-shadow:none!important}
.gform_wrapper.gravity-theme input:focus,.gform_wrapper.gravity-theme textarea:focus,.gform_wrapper.gravity-theme select:focus{border-color:var(--wolf-red)!important;outline:none!important;box-shadow:0 0 0 3px rgba(225,6,0,.13)!important}
.gform_wrapper.gravity-theme .gform_button{min-height:52px!important;padding:13px 30px!important;border:0!important;border-radius:0!important;background:var(--wolf-gradient)!important;color:#fff!important;font-family:var(--wolf-font-head)!important;font-size:16px!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important;cursor:pointer!important;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}

@media(max-width:900px){.wolf-grid-2,.wolf-grid-3{grid-template-columns:1fr}.wolf-grid-2{gap:42px}}
@media(max-width:640px){:root{--wolf-fs-h1:clamp(48px,17vw,76px);--wolf-fs-h2:clamp(38px,13vw,56px)}.wolf-section{padding:72px 0}.wolf-btn{width:100%}.wolf-card{padding:26px 22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
