/*
Theme Name: Norteclick
Theme URI: https://norteclick.com/
Author: ConnectWeb SD
Author URI: https://norteclick.com/
Description: Premium San Diego web design theme for Norteclick. Orange & white local-agency identity with clean sections, local SEO structure, and conversion-focused layouts. Self-healing pages — no manual setup required.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: norteclick
Tags: business, local-business, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, blog
*/

/* =============================================================
   NORTECLICK — Design tokens
   ============================================================= */
:root{
  --background: #ffffff;
  --foreground: #141a2a;
  --muted: #f7f1ec;
  --muted-foreground: #5d6677;
  --card: #ffffff;
  --border: #ecdfd3;
  --primary: #f26a1f;
  --primary-foreground: #ffffff;
  --primary-glow: #ff9c33;
  --primary-deep: #d65510;
  --accent: #ffe9d4;
  --accent-foreground: #b1480f;
  --navy: #141a2a;
  --navy-deep: #0c1120;
  --surface-warm: #fbf6f1;
  --radius: 1rem;

  --gradient-primary: linear-gradient(135deg,#f26a1f,#ff9c33);
  --gradient-warm: linear-gradient(180deg,#ffffff,#fbf6f1);
  --gradient-cta: linear-gradient(120deg,#d65510,#f26a1f 50%,#ff9c33);
  --gradient-hero:
    radial-gradient(1200px 600px at 80% -10%, rgba(255,200,150,.55), transparent 60%),
    radial-gradient(900px 500px at 0% 10%, rgba(255,180,140,.45), transparent 60%);

  --shadow-soft: 0 4px 20px -8px rgba(180,80,30,.10);
  --shadow-card: 0 10px 40px -15px rgba(180,80,30,.18);
  --shadow-glow: 0 20px 60px -20px rgba(242,106,31,.45);
  --shadow-pop: 0 30px 80px -30px rgba(180,60,20,.35);
}

/* =============================================================
   Base
   ============================================================= */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--foreground);
  background:var(--background);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{
  font-family:'Plus Jakarta Sans','Inter',sans-serif;
  color:var(--navy);
  letter-spacing:-.02em;
  margin:0 0 .5em;
  line-height:1.1;
}
p{margin:0 0 1em;}
ul,ol{margin:0 0 1em;padding-left:1.25em;}

/* =============================================================
   Layout helpers
   ============================================================= */
.container-wide{max-width:1280px;margin:0 auto;padding:0 1.25rem;}
@media(min-width:640px){.container-wide{padding:0 2rem;}}

.section{padding:4rem 0;}
.section-lg{padding:5rem 0;}
@media(min-width:768px){
  .section{padding:5rem 0;}
  .section-lg{padding:7rem 0;}
}

.bg-warm{background:var(--surface-warm);}
.bg-navy-deep{background:var(--navy-deep);color:#fff;}
.bg-navy-deep h1,.bg-navy-deep h2,.bg-navy-deep h3{color:#fff;}

/* Eyebrow tag */
.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--accent);color:var(--accent-foreground);
  padding:.35rem .85rem;border-radius:999px;
  font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
}
.eyebrow-light{
  background:rgba(255,255,255,.12);color:#fff;
}

/* Gradient text */
.gradient-text{
  background:var(--gradient-primary);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;
}

/* =============================================================
   Buttons
   ============================================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.85rem 1.5rem;border-radius:999px;
  font-weight:700;font-size:.95rem;
  border:0;cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  line-height:1;text-align:center;
}
.btn-hero{
  background:var(--gradient-primary);
  color:#fff;box-shadow:var(--shadow-glow);
}
.btn-hero:hover{transform:translateY(-2px);box-shadow:0 25px 70px -20px rgba(242,106,31,.55);}
.btn-outline{
  background:transparent;color:var(--primary);
  border:2px solid var(--primary);
}
.btn-outline:hover{background:var(--primary);color:#fff;}
.btn-white{background:#fff;color:var(--primary);}
.btn-white:hover{background:#f5f5f5;}
.btn-ghost-white{
  background:transparent;color:#fff;border:2px solid #fff;
}
.btn-ghost-white:hover{background:#fff;color:var(--primary);}
.btn-lg{padding:1rem 1.75rem;font-size:1rem;}
.btn-sm{padding:.6rem 1rem;font-size:.85rem;}

/* =============================================================
   Card
   ============================================================= */
.card-soft{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:1.25rem;
  padding:1.75rem;
  box-shadow:var(--shadow-soft);
  transition:transform .25s ease, box-shadow .25s ease, border-color .2s ease;
}
.card-soft:hover{transform:translateY(-3px);box-shadow:var(--shadow-card);}
.icon-square{
  width:48px;height:48px;border-radius:.85rem;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--gradient-primary);color:#fff;
  box-shadow:var(--shadow-glow);
  font-weight:800;
}
.icon-square svg{width:22px;height:22px;}
.icon-pill{
  width:40px;height:40px;border-radius:.75rem;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--accent);color:var(--primary);
}

/* =============================================================
   Header
   ============================================================= */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid transparent;
  transition:box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.site-header.scrolled{
  border-bottom:1px solid var(--border);
  box-shadow:var(--shadow-soft);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:80px;
}
.brand{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;font-size:1.35rem;color:var(--navy);
}
.brand-mark{
  width:34px;height:34px;border-radius:.65rem;
  background:var(--gradient-primary);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-weight:800;box-shadow:var(--shadow-glow);
}
.main-nav{display:none;align-items:center;gap:.25rem;}
@media(min-width:1024px){.main-nav{display:flex;}}
.main-nav a{
  padding:.55rem .85rem;border-radius:.5rem;
  font-size:.92rem;font-weight:600;color:rgba(20,26,42,.75);
  transition:color .15s ease;
}
.main-nav a:hover,.main-nav a.is-active{color:var(--primary);}
.header-cta{display:flex;align-items:center;gap:.5rem;}
.tap-call{
  display:none;align-items:center;gap:.4rem;
  font-weight:700;color:var(--navy);font-size:.9rem;
  padding:.5rem .85rem;border-radius:999px;
}
.tap-call svg{color:var(--primary);width:16px;height:16px;}
@media(min-width:1280px){.tap-call{display:inline-flex;}}
.menu-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border:0;background:transparent;cursor:pointer;color:var(--navy);
}
@media(min-width:1024px){.menu-toggle{display:none;}}
.menu-toggle svg{width:22px;height:22px;}
.mobile-nav{
  display:none;border-top:1px solid var(--border);background:#fff;
}
.mobile-nav.is-open{display:block;}
.mobile-nav .container-wide{padding-top:1rem;padding-bottom:1.25rem;}
.mobile-nav a{
  display:block;padding:.85rem 1rem;border-radius:.75rem;
  font-weight:600;color:var(--navy);
}
.mobile-nav a:hover,.mobile-nav a.is-active{background:var(--accent);color:var(--accent-foreground);}
.mobile-cta{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem;}
.btn-hide-md{display:inline-flex;}
@media(max-width:767px){.btn-hide-md{display:none;}}

/* =============================================================
   Hero
   ============================================================= */
.hero{position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:var(--gradient-hero);pointer-events:none;}
.hero-grid{
  position:relative;display:grid;gap:3rem;align-items:center;
  padding:4rem 0;
}
@media(min-width:768px){
  .hero-grid{grid-template-columns:1fr 1fr;padding:6rem 0;}
}
.hero h1{font-size:2.4rem;font-weight:800;line-height:1.05;}
@media(min-width:768px){.hero h1{font-size:3.6rem;}}
.hero .lead{font-size:1.05rem;color:var(--muted-foreground);max-width:36rem;}
@media(min-width:768px){.hero .lead{font-size:1.15rem;}}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;}
.hero-trust{
  margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;
  color:var(--muted-foreground);font-size:.88rem;
}
.hero-trust span{display:inline-flex;align-items:center;gap:.4rem;}
.hero-trust svg{color:var(--primary);width:16px;height:16px;}
.hero-image-wrap{position:relative;}
.hero-image-wrap::before{
  content:"";position:absolute;inset:-1.25rem;border-radius:2rem;
  background:var(--gradient-primary);opacity:.18;filter:blur(36px);
}
.hero-image-wrap img{
  position:relative;width:100%;border-radius:1.75rem;
  box-shadow:var(--shadow-pop);
  animation:float 6s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}

/* =============================================================
   PageHero
   ============================================================= */
.page-hero{position:relative;overflow:hidden;background:var(--gradient-warm);}
.page-hero .hero-bg{opacity:.9;}
.page-hero-inner{
  position:relative;text-align:center;max-width:48rem;margin:0 auto;
  padding:5rem 0;
}
@media(min-width:768px){.page-hero-inner{padding:7rem 0;}}
.page-hero h1{font-size:2.25rem;font-weight:800;line-height:1.1;margin-top:1.25rem;}
@media(min-width:768px){.page-hero h1{font-size:3.5rem;}}
.page-hero .lead{font-size:1.05rem;color:var(--muted-foreground);max-width:38rem;margin:1.25rem auto 0;}
@media(min-width:768px){.page-hero .lead{font-size:1.15rem;}}
.page-hero .cta-row{margin-top:1.75rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;}

/* =============================================================
   Value bar
   ============================================================= */
.value-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-warm);}
.value-bar .grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;
  padding:2rem 0;
}
@media(min-width:768px){.value-bar .grid{grid-template-columns:repeat(4,1fr);padding:2.5rem 0;}}
.value-bar .item{display:flex;align-items:center;gap:.75rem;}
.value-bar .label{font-weight:700;color:var(--navy);font-size:.95rem;}

/* =============================================================
   Section heading center
   ============================================================= */
.section-head{max-width:42rem;margin:0 auto;text-align:center;}
.section-head h2{font-size:1.85rem;font-weight:800;margin-top:1rem;}
@media(min-width:768px){.section-head h2{font-size:2.85rem;}}
.section-head p{color:var(--muted-foreground);margin-top:1rem;}

/* Grid utilities */
.grid-2{display:grid;gap:1.25rem;grid-template-columns:1fr;}
.grid-3{display:grid;gap:1.25rem;grid-template-columns:1fr;}
.grid-4{display:grid;gap:1.25rem;grid-template-columns:1fr;}
@media(min-width:640px){.grid-2{grid-template-columns:repeat(2,1fr);}.grid-3{grid-template-columns:repeat(2,1fr);}.grid-4{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr);}.grid-4{grid-template-columns:repeat(4,1fr);}}

.mt-10{margin-top:2.5rem;}
.mt-12{margin-top:3rem;}

/* Service cards on home */
.service-card h3{font-size:1.1rem;font-weight:800;margin-top:1rem;}
.service-card p{font-size:.92rem;color:var(--muted-foreground);margin-top:.5rem;}
.learn-link{
  display:inline-flex;align-items:center;gap:.25rem;margin-top:1rem;
  color:var(--primary);font-weight:700;font-size:.9rem;
}
.learn-link:hover{gap:.5rem;}

/* Industries chips */
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:2.5rem;}
.chip{
  background:#fff;border:1px solid var(--border);
  padding:.55rem 1.1rem;border-radius:999px;font-size:.88rem;
  font-weight:600;color:var(--navy);box-shadow:var(--shadow-soft);
  transition:border-color .15s ease, color .15s ease;
}
.chip:hover{border-color:var(--primary);color:var(--primary);}

/* Portfolio cards */
.portfolio-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;margin-top:2.5rem;}
@media(min-width:768px){.portfolio-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.portfolio-grid{grid-template-columns:repeat(3,1fr);}}
.proj-frame{
  aspect-ratio:16/10;border-radius:.85rem;
  border:1px solid var(--border);
  background:var(--gradient-warm);
  overflow:hidden;position:relative;
}
.proj-frame iframe{
  border:0;width:182%;height:182%;
  transform:scale(.55);transform-origin:top left;
  pointer-events:none;
}
.proj-cat{
  font-size:.72rem;font-weight:700;letter-spacing:.08em;
  color:var(--primary);text-transform:uppercase;
}
.proj-title{font-size:1.1rem;font-weight:800;margin-top:.25rem;color:var(--navy);}
.proj-desc{font-size:.9rem;color:var(--muted-foreground);margin-top:.5rem;}
.proj-link{
  display:inline-flex;align-items:center;gap:.25rem;margin-top:1rem;
  color:var(--primary);font-weight:700;font-size:.88rem;
}

/* Pricing */
.price-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;margin-top:3rem;}
@media(min-width:768px){.price-grid{grid-template-columns:repeat(3,1fr);}}
.price-card{
  position:relative;background:#fff;border:1px solid var(--border);
  border-radius:1.5rem;padding:2rem;box-shadow:var(--shadow-soft);
  transition:box-shadow .2s ease;
}
.price-card:hover{box-shadow:var(--shadow-card);}
.price-card.popular{
  background:var(--gradient-cta);color:#fff;border-color:transparent;
  box-shadow:var(--shadow-pop);
}
@media(min-width:768px){.price-card.popular{transform:translateY(-12px);}}
.price-card.popular h3,.price-card.popular .price{color:#fff;}
.price-badge{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:#fff;color:var(--primary);
  padding:.3rem .75rem;border-radius:999px;
  font-size:.72rem;font-weight:800;box-shadow:var(--shadow-soft);
}
.price-name{font-size:1.15rem;font-weight:800;color:var(--navy);}
.price{font-size:2.5rem;font-weight:800;color:var(--navy);margin-top:.6rem;display:block;}
.price-note{font-size:.78rem;color:var(--muted-foreground);}
.price-card.popular .price-note{color:rgba(255,255,255,.85);}
.feat-list{list-style:none;padding:0;margin:1.5rem 0;display:flex;flex-direction:column;gap:.6rem;}
.feat-list li{display:flex;gap:.55rem;font-size:.92rem;}
.feat-list svg{width:18px;height:18px;color:var(--primary);flex-shrink:0;margin-top:2px;}
.price-card.popular .feat-list svg{color:#fff;}
.price-card .btn{width:100%;margin-top:.5rem;}

/* Hosting cards */
.host-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;margin-top:3rem;}
@media(min-width:768px){.host-grid{grid-template-columns:repeat(2,1fr);}}
.host-card{position:relative;}
.host-card.recommended{border-color:var(--primary);}
.recommended-badge{
  position:absolute;top:-12px;left:1.5rem;
  background:var(--gradient-primary);color:#fff;
  padding:.3rem .75rem;border-radius:999px;
  font-size:.72rem;font-weight:800;box-shadow:var(--shadow-glow);
}

/* Why Norteclick */
.why-section{position:relative;overflow:hidden;}
.why-section::before{content:"";position:absolute;inset:0;background:var(--gradient-cta);opacity:.3;}
.why-grid{position:relative;display:grid;gap:3rem;grid-template-columns:1fr;align-items:center;padding:5rem 0;}
@media(min-width:768px){.why-grid{grid-template-columns:1fr 1fr;padding:7rem 0;}}
.why-grid h2{font-size:1.85rem;font-weight:800;color:#fff;}
@media(min-width:768px){.why-grid h2{font-size:2.85rem;}}
.why-grid p{color:rgba(255,255,255,.85);}
.why-cards{display:grid;gap:1rem;grid-template-columns:1fr;}
@media(min-width:640px){.why-cards{grid-template-columns:repeat(2,1fr);}}
.why-cards .card-soft{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);color:#fff;}
.why-cards .card-soft h3{color:#fff;font-size:.98rem;}
.why-cards .card-soft p{color:rgba(255,255,255,.8);font-size:.85rem;}

/* Steps */
.steps-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;margin-top:2.5rem;}
@media(min-width:640px){.steps-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.steps-grid{grid-template-columns:repeat(4,1fr);}}
.step-num{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;
  font-size:2rem;color:var(--primary);
}

/* FAQ accordion */
.faq-list{max-width:48rem;margin:2.5rem auto 0;display:flex;flex-direction:column;gap:.75rem;}
.faq-item{
  background:#fff;border:1px solid var(--border);border-radius:1rem;
  box-shadow:var(--shadow-soft);overflow:hidden;
  transition:box-shadow .2s ease;
}
.faq-item[open]{box-shadow:var(--shadow-card);}
.faq-item summary{
  list-style:none;cursor:pointer;
  padding:1.1rem 1.25rem;font-weight:700;color:var(--navy);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";font-size:1.5rem;color:var(--primary);font-weight:400;
  transition:transform .2s ease;
}
.faq-item[open] summary::after{content:"–";}
.faq-item .faq-body{padding:0 1.25rem 1.25rem;color:var(--muted-foreground);font-size:.95rem;}

/* Final CTA */
.final-cta{padding:4rem 0;}
@media(min-width:768px){.final-cta{padding:5rem 0;}}
.final-cta-inner{
  position:relative;overflow:hidden;
  background:var(--gradient-cta);color:#fff;
  border-radius:1.75rem;padding:3rem 1.5rem;text-align:center;
  box-shadow:var(--shadow-pop);
}
@media(min-width:768px){.final-cta-inner{padding:4.5rem 2.5rem;}}
.final-cta-inner h2{color:#fff;font-size:1.85rem;font-weight:800;max-width:42rem;margin:0 auto;}
@media(min-width:768px){.final-cta-inner h2{font-size:3rem;}}
.final-cta-inner p{color:rgba(255,255,255,.9);max-width:38rem;margin:1rem auto 0;}
.final-cta-inner .cta-row{margin-top:2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;}
.final-cta-inner::before,.final-cta-inner::after{
  content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.1);filter:blur(48px);
}
.final-cta-inner::before{top:-4rem;right:-4rem;width:16rem;height:16rem;}
.final-cta-inner::after{bottom:-5rem;left:-2.5rem;width:18rem;height:18rem;}

/* =============================================================
   Services page rows
   ============================================================= */
.svc-row{padding:4rem 0;}
@media(min-width:768px){.svc-row{padding:6rem 0;}}
.svc-row.alt{background:var(--surface-warm);}
.svc-grid{display:grid;gap:3rem;grid-template-columns:1fr;align-items:center;}
@media(min-width:768px){.svc-grid{grid-template-columns:1fr 1fr;}}
.svc-icon{
  width:56px;height:56px;border-radius:1rem;
  background:var(--gradient-primary);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-glow);margin-bottom:1.25rem;
}
.svc-icon svg{width:28px;height:28px;}
.svc-row h2{font-size:1.85rem;font-weight:800;}
@media(min-width:768px){.svc-row h2{font-size:2.25rem;}}
.svc-row .intro{color:var(--muted-foreground);margin-top:1rem;font-size:1.02rem;}
.svc-bullets{list-style:none;padding:0;margin:0;display:grid;gap:.75rem;}
.svc-bullets li{
  display:flex;gap:.75rem;align-items:flex-start;
  background:#fff;border:1px solid var(--border);border-radius:.85rem;
  padding:1rem;box-shadow:var(--shadow-soft);font-weight:600;font-size:.95rem;
}
.svc-bullets svg{width:20px;height:20px;color:var(--primary);flex-shrink:0;margin-top:2px;}
.svc-row.alt .image-side,.svc-row.alt .text-side{}

/* =============================================================
   Service Areas
   ============================================================= */
.cities-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;}
@media(min-width:640px){.cities-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.cities-grid{grid-template-columns:repeat(3,1fr);}}
.city-card h2{font-size:1.2rem;font-weight:800;color:var(--navy);}
.city-card .city-head{display:flex;align-items:center;gap:.75rem;}
.city-card p{font-size:.9rem;color:var(--muted-foreground);margin-top:.85rem;flex:1;}
.city-card{display:flex;flex-direction:column;}

.cta-card{
  background:#fff;border-radius:1.5rem;padding:3rem 1.5rem;text-align:center;
  box-shadow:var(--shadow-card);
}
@media(min-width:768px){.cta-card{padding:3.5rem;}}
.cta-card h2{font-size:1.85rem;font-weight:800;}
@media(min-width:768px){.cta-card h2{font-size:2.25rem;}}
.cta-card p{color:var(--muted-foreground);max-width:36rem;margin:1rem auto;}

/* =============================================================
   Contact page
   ============================================================= */
.contact-grid{display:grid;gap:2.5rem;grid-template-columns:1fr;}
@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1.3fr;}}
.contact-list{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem;}
.contact-row{
  display:flex;align-items:center;gap:1rem;
  background:#fff;border:1px solid var(--border);border-radius:1rem;
  padding:1.1rem 1.25rem;box-shadow:var(--shadow-soft);
  transition:border-color .2s ease, box-shadow .2s ease;
}
a.contact-row:hover{border-color:var(--primary);box-shadow:var(--shadow-card);}
.contact-row .label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);}
.contact-row .value{font-weight:700;color:var(--navy);}

.contact-form{
  background:#fff;border:1px solid var(--border);border-radius:1.5rem;
  padding:1.75rem;box-shadow:var(--shadow-card);
}
@media(min-width:768px){.contact-form{padding:2.5rem;}}
.contact-form h2{font-size:1.65rem;font-weight:800;}
@media(min-width:768px){.contact-form h2{font-size:1.95rem;}}
.contact-form .small{color:var(--muted-foreground);font-size:.9rem;}
.form-grid{display:grid;gap:1rem;grid-template-columns:1fr;margin-top:1.5rem;}
@media(min-width:640px){.form-grid{grid-template-columns:1fr 1fr;}}
.field{display:flex;flex-direction:column;gap:.4rem;}
.field label{font-size:.85rem;font-weight:600;color:var(--navy);}
.field input,.field textarea{
  padding:.7rem .85rem;border-radius:.6rem;border:1px solid var(--border);
  background:#fff;font:inherit;color:var(--foreground);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.field input:focus,.field textarea:focus{
  outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(242,106,31,.15);
}
.field textarea{min-height:140px;resize:vertical;}
.field-full{grid-column:1/-1;}
.form-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;}
@media(min-width:640px){.form-actions{flex-direction:row;}.form-actions .btn{flex:1;}}
.form-msg{margin-top:1rem;padding:.85rem 1rem;border-radius:.6rem;font-weight:600;font-size:.92rem;}
.form-msg.ok{background:#e8f6ee;color:#1e6b3a;}
.form-msg.err{background:#fde8e8;color:#9b1c1c;}

/* =============================================================
   Footer
   ============================================================= */
.site-footer{background:var(--navy-deep);color:rgba(255,255,255,.8);}
.footer-grid{
  display:grid;gap:2.5rem;grid-template-columns:1fr;
  padding:3.5rem 0;
}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(4,1fr);}}
.footer-grid h4{
  color:#fff;font-size:.78rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem;
  font-family:'Inter',sans-serif;
}
.footer-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem;font-size:.92rem;}
.footer-grid a:hover{color:var(--primary-glow);}
.footer-brand{font-family:'Plus Jakarta Sans',sans-serif;color:#fff;font-weight:800;font-size:1.5rem;display:inline-flex;align-items:center;gap:.5rem;}
.footer-brand .brand-mark{box-shadow:none;}
.footer-about{margin-top:1rem;font-size:.92rem;line-height:1.6;}
.footer-contact-row{display:flex;align-items:flex-start;gap:.55rem;}
.footer-contact-row svg{color:var(--primary-glow);width:16px;height:16px;margin-top:3px;flex-shrink:0;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
}
.footer-bottom .container-wide{
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  gap:.5rem;padding-top:1.25rem;padding-bottom:1.25rem;
  font-size:.78rem;color:rgba(255,255,255,.6);
}
@media(min-width:640px){.footer-bottom .container-wide{flex-direction:row;}}

/* =============================================================
   404 / generic page
   ============================================================= */
.notfound{padding:6rem 0;text-align:center;}
.notfound h1{font-size:5rem;color:var(--primary);}
.notfound p{color:var(--muted-foreground);max-width:32rem;margin:1rem auto 2rem;}

.entry{padding:4rem 0;max-width:48rem;margin:0 auto;}
.entry h1{font-size:2.25rem;font-weight:800;}
.entry .entry-meta{color:var(--muted-foreground);font-size:.85rem;margin:.5rem 0 1.5rem;}
.entry .entry-content > * + *{margin-top:1rem;}

.archive-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;}
@media(min-width:768px){.archive-grid{grid-template-columns:repeat(2,1fr);}}
.archive-item{display:flex;flex-direction:column;}
.archive-item h2{font-size:1.25rem;font-weight:800;}
.archive-item h2 a:hover{color:var(--primary);}
.archive-item .excerpt{color:var(--muted-foreground);font-size:.92rem;margin-top:.5rem;flex:1;}

/* Animations */
.animate-fade-up{animation:fadeUp .6s ease-out both;}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}

/* Screen reader */
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;
  margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important;
}
