/*
Theme Name: Sutton Harbor Complete
Theme URI: https://suttonharbor.com/
Author: Perplexity
Description: Complete WordPress website for Sutton Harbor advisory and consulting.
Version: 1.0
Text Domain: suttonharborcomplete
*/

:root, [data-theme="light"] {
  --text-xs: clamp(0.75rem, 0.72rem + 0.18vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.82rem + 0.28vw, 1rem);
  --text-base: clamp(1rem, 0.96rem + 0.22vw, 1.125rem);
  --text-lg: clamp(1.1rem, 1rem + 0.55vw, 1.35rem);
  --text-xl: clamp(1.35rem, 1.18rem + 0.9vw, 1.95rem);
  --text-2xl: clamp(1.85rem, 1.4rem + 1.4vw, 2.7rem);
  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem; --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem; --space-16: 4rem; --space-20: 5rem;
  --color-bg:#f3f6fa; --color-surface:#fbfcfe; --color-surface-2:#f0f4f8; --color-surface-offset:#e5ebf2; --color-border:#c7d1de; --color-divider:#d8e0ea;
  --color-text:#112033; --color-text-muted:#50627d; --color-text-faint:#8392a6; --color-text-inverse:#f7f9fc;
  --color-primary:#112f57; --color-primary-hover:#0b213e; --color-primary-highlight:#dfe7f2; --color-accent:#b8c5d6;
  --radius-sm:.375rem; --radius-md:.55rem; --radius-lg:.85rem; --radius-xl:1.2rem; --radius-full:9999px;
  --shadow-sm:0 2px 8px rgba(17,32,51,.05); --shadow-md:0 12px 30px rgba(17,32,51,.08); --shadow-lg:0 22px 52px rgba(17,32,51,.12);
  --font-display:'Cabinet Grotesk','Inter',sans-serif; --font-body:'Satoshi','Inter',sans-serif; --content:1180px; --narrow:820px;
}
[data-theme="dark"] {
  --color-bg:#0c1420; --color-surface:#111b2a; --color-surface-2:#162234; --color-surface-offset:#1b2a40; --color-border:#2d3f59; --color-divider:#223349;
  --color-text:#e4ebf4; --color-text-muted:#b7c3d3; --color-text-faint:#8696ad; --color-text-inverse:#08111a;
  --color-primary:#c4d1e0; --color-primary-hover:#e2e9f1; --color-primary-highlight:#203149; --color-accent:#8ca3bf;
  --shadow-sm:0 2px 8px rgba(0,0,0,.2); --shadow-md:0 12px 30px rgba(0,0,0,.28); --shadow-lg:0 22px 52px rgba(0,0,0,.36);
}
*,:before,:after{box-sizing:border-box} html{-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth} body{margin:0;min-height:100vh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--color-text);background:var(--color-bg)}
a{text-decoration:none;color:inherit} img,svg{display:block;max-width:100%;height:auto} button,input,textarea{font:inherit;color:inherit} :focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;padding:.8rem 1rem;background:var(--color-primary);color:var(--color-text-inverse);z-index:999;border-radius:var(--radius-sm)}
.container{width:min(calc(100% - 2rem),var(--content));margin-inline:auto}.narrow{width:min(calc(100% - 2rem),var(--narrow));margin-inline:auto}.section{padding:clamp(3rem,6vw,5.5rem) 0}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--color-bg) 86%, transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--color-divider)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:92px}
.brand{display:flex;align-items:center;gap:1rem;flex:1}.brand-mark{width:66px;height:66px;padding:.8rem;border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 92%, white),var(--color-surface-offset));border:1px solid var(--color-border);box-shadow:var(--shadow-md);color:var(--color-primary)}
.brand-text small{display:block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);font-weight:700;margin-bottom:.15rem}.brand-text strong{display:block;font-family:var(--font-display);font-size:clamp(1.35rem,1.05rem + .9vw,2rem);line-height:1;color:var(--color-primary)}
.primary-nav{display:flex;align-items:center;gap:1.2rem}.primary-nav a{font-size:var(--text-sm);font-weight:700;color:var(--color-text-muted)}.primary-nav a:hover{color:var(--color-text)}.header-actions{display:flex;align-items:center;gap:.75rem}.nav-toggle,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.9rem 1.25rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:800;transition:.2s ease;border:1px solid transparent}.btn-primary{background:linear-gradient(180deg,var(--color-primary),var(--color-primary-hover));color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-1px)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-surface-offset)}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .85rem;border-radius:var(--radius-full);background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary-highlight) 92%, white),var(--color-primary-highlight));color:var(--color-primary-hover);font-size:var(--text-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hero{padding:clamp(3.2rem,6vw,5rem) 0 3rem}.hero-grid,.split,.contact-grid,.footer-grid,.services-grid,.proof-grid,.card-grid{display:grid;gap:1.25rem}.hero-grid{grid-template-columns:1.15fr .85fr;align-items:start}.hero h1{margin:.75rem 0 .95rem;font-family:var(--font-display);font-size:clamp(1.45rem,1.55vw,1.9rem);line-height:1.12;letter-spacing:-.015em;max-width:30ch}.hero p,.page-hero p,.section-heading p,.card p,.card li{color:var(--color-text-muted)}.hero-actions,.cta-panel{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.25rem}
.hero-card,.card{padding:1.45rem;border-radius:var(--radius-xl);background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary-highlight) 35%, var(--color-surface)),color-mix(in srgb,var(--color-primary-highlight) 70%, var(--color-surface-offset)));border:1px solid color-mix(in srgb,var(--color-primary) 18%, var(--color-border));box-shadow:var(--shadow-sm)}.hero-card{box-shadow:var(--shadow-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary-highlight) 45%, var(--color-surface)),color-mix(in srgb,var(--color-primary-highlight) 85%, var(--color-surface-offset)))}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}.stat{padding:1rem;border-radius:var(--radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary-highlight) 40%, var(--color-surface)),color-mix(in srgb,var(--color-primary-highlight) 72%, var(--color-surface-offset)));border:1px solid color-mix(in srgb,var(--color-primary) 16%, var(--color-border))}.stat strong{display:block;font-family:var(--font-display);font-size:var(--text-lg);line-height:1.1;margin-bottom:.3rem}
.section-heading{display:grid;gap:.8rem;margin-bottom:1.8rem;max-width:48rem}.section-heading h2,.page-hero h1{font-family:var(--font-display);letter-spacing:-.02em}.section-heading h2{font-size:var(--text-2xl);line-height:1.04}.services-grid{grid-template-columns:repeat(3,1fr)}.proof-grid{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(4,1fr)}
.kicker{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-weight:800}.metric{display:inline-block;margin-top:1rem;padding:.45rem .75rem;border-radius:var(--radius-full);background:var(--color-primary-highlight);color:var(--color-primary-hover);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.band{background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary-highlight) 35%, var(--color-surface-offset)),color-mix(in srgb,var(--color-primary-highlight) 65%, var(--color-bg)));border-block:1px solid var(--color-divider)}.page-hero{padding:2.5rem 0 1rem}.page-hero h1{font-size:clamp(1.7rem,2.1vw,2.35rem);line-height:1.08;max-width:17ch}.page-content{display:grid;gap:1rem}.contact-grid{grid-template-columns:.85fr 1.15fr}.contact-form{display:grid;gap:1rem}label{display:grid;gap:.45rem;font-size:var(--text-sm);font-weight:700}input,textarea{width:100%;padding:.95rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-2)}textarea{min-height:170px;resize:vertical}.notice{font-size:var(--text-xs)}.notice.success{color:#18652b}.notice.error{color:#b42318}
.site-footer{padding:2rem 0;background:var(--color-surface);border-top:1px solid var(--color-divider)}.footer-grid{grid-template-columns:1.2fr .8fr .8fr}.footer-links{display:grid;gap:.65rem}.footer-links a{color:var(--color-text-muted);font-size:var(--text-sm)}.mobile-only{display:none}
@media (max-width: 980px){.hero-grid,.split,.contact-grid,.footer-grid,.services-grid,.proof-grid,.card-grid,.stat-grid{grid-template-columns:1fr}.primary-nav{position:absolute;left:1rem;right:1rem;top:calc(100% + .5rem);display:none;flex-direction:column;align-items:flex-start;padding:1rem;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.primary-nav.open{display:flex}.mobile-only{display:inline-flex}.desktop-only{display:none}.header-actions .btn{display:none}.brand-mark{width:58px;height:58px;padding:.65rem}.header-inner{min-height:84px}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
