/*
Theme Name: The Annechy
Theme URI: https://example.com/
Author: OpenAI
Description: Premium freelance writing services WordPress theme for The Annechy.
Version: 1.0.0
Text Domain: northline-writing
*/

* { box-sizing: border-box; }
:root{
  --bg:#f5f3ee;
  --surface:#ffffff;
  --ink:#08122f;
  --muted:#5e677d;
  --line:#dde2ee;
  --primary:#2341ff;
  --primary-dark:#1026ad;
  --accent:#d7c08a;
  --hero:#071033;
  --shadow:0 20px 60px rgba(8,18,47,.08);
  --radius:24px;
}
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
}
.container{ width:min(1120px, calc(100% - 40px)); margin:0 auto; }
.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(130%) blur(12px);
  background:rgba(246,244,239,.82);
  border-bottom:1px solid rgba(8,18,47,.06);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  min-height:80px; gap:20px;
}
.brand{ display:flex; align-items:center; gap:12px; color:var(--ink); text-decoration:none; font-weight:700; }
.brand-logo{ width:44px; height:44px; object-fit:contain; border-radius:12px; display:block; }
.nav-links{ display:flex; gap:28px; }
.nav-links a, .site-footer a{ color:var(--ink); text-decoration:none; }
.nav-links a:hover, .site-footer a:hover{ color:var(--primary); }
.hero{ padding:76px 0 40px; }
.hero-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:30px; align-items:center; }
.eyebrow{
  display:inline-flex; padding:10px 14px; border-radius:999px;
  background:rgba(215,192,138,.22); color:#866a26; font-weight:700; letter-spacing:.04em;
  text-transform:uppercase; font-size:12px; margin-bottom:18px;
}
h1, h2, h3{ margin:0 0 14px; line-height:1.06; }
h1{ font-size:clamp(44px, 7vw, 78px); max-width:780px; letter-spacing:-.04em; }
h2{ font-size:clamp(32px, 5vw, 52px); letter-spacing:-.03em; }
h3{ font-size:28px; letter-spacing:-.02em; }
.hero-copy, .section-copy{ font-size:20px; color:var(--muted); max-width:660px; margin-bottom:28px; }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:24px; }
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:54px; padding:0 22px; border-radius:999px; border:1px solid transparent;
  cursor:pointer; font-weight:700; font-size:16px; text-decoration:none;
  transition:transform .12s ease, box-shadow .12s ease, background .2s ease;
}
.btn:hover{ transform:translateY(-1px); }
.btn-primary{ background:var(--primary); color:#fff; box-shadow:0 18px 40px rgba(35,65,255,.24); }
.btn-primary:hover{ background:var(--primary-dark); }
.btn-secondary, .btn-outline{ background:transparent; border-color:rgba(8,18,47,.14); color:var(--ink); }
.full-width{ width:100%; }
.trust-row{ display:flex; gap:18px; flex-wrap:wrap; color:var(--muted); font-weight:600; font-size:14px; }
.trust-row span::before{ content:"•"; color:var(--accent); margin-right:8px; }
.hero-card{ background:linear-gradient(160deg, #0a153f 0%, #0f1d57 38%, #071033 100%); color:#fff; border-radius:32px; padding:26px; box-shadow:var(--shadow); }
.hero-card-inner{ border:1px solid rgba(255,255,255,.08); border-radius:24px; padding:24px; }
.mini-label{ color:#d9e0ff; font-weight:700; text-transform:uppercase; letter-spacing:.05em; font-size:12px; }
.feature-list{ list-style:none; margin:18px 0 24px; padding:0; }
.feature-list li{ padding:12px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.quote-box{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); border-radius:22px; padding:18px; color:#f3f5ff; }
.section{ padding:80px 0; }
.section-light{ background:#fff; }
.section-head{ margin-bottom:28px; }
.section-head p{ color:var(--muted); max-width:720px; }
.cards{ display:grid; gap:18px; }
.three-up{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.card, .price-card, .note-box, .notice{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow); }
.card p, .price-card p, .notice, .note-box{ color:var(--muted); }
.pricing-grid{ grid-template-columns:repeat(4, minmax(0, 1fr)); align-items:start; }
.price-card ul{ margin:20px 0 0; padding-left:18px; color:var(--muted); }
.price-label{ color:#866a26; font-weight:700; text-transform:uppercase; letter-spacing:.05em; font-size:12px; }
.featured{ background:linear-gradient(160deg, #0a153f 0%, #102160 100%); color:#fff; }
.featured .muted, .featured ul{ color:#d8def5; }
.featured .btn-primary{ background:#fff; color:var(--ink); box-shadow:none; }
.featured .btn-primary:hover{ background:#eef2ff; }
.notice{ margin-top:18px; }
.process-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.process-item{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px; }
.process-item span{ display:inline-grid; place-items:center; width:38px; height:38px; border-radius:999px; background:rgba(35,65,255,.1); color:var(--primary); font-weight:800; margin-bottom:14px; }
.book-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:26px; align-items:start; }
.lead-form{ background:#fff; border:1px solid var(--line); border-radius:32px; padding:24px; box-shadow:var(--shadow); }
.field-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
label{ display:block; }
label span{ display:block; margin-bottom:8px; font-weight:700; color:var(--ink); }
input, textarea, select{ width:100%; min-height:56px; border:1px solid var(--line); border-radius:18px; background:#fff; color:var(--ink); padding:14px 16px; font:inherit; }
textarea{ min-height:140px; resize:vertical; }
input:focus, textarea:focus, select:focus{ outline:none; border-color:var(--primary); box-shadow:0 0 0 4px rgba(35,65,255,.12); }
.form-actions{ display:flex; flex-direction:column; gap:12px; margin-top:18px; }
.fine-print{ font-size:13px; color:var(--muted); }
.site-footer{ padding:28px 0 40px; border-top:1px solid rgba(8,18,47,.08); background:#fff; }
.footer-row{ display:flex; justify-content:space-between; gap:20px; align-items:center; }
.footer-row div{ display:flex; gap:18px; }
.page-shell{ padding:70px 0 90px; }
.page-card{ background:#fff; border:1px solid var(--line); border-radius:32px; padding:32px; box-shadow:var(--shadow); }
.page-title{ font-size:clamp(34px, 5vw, 58px); letter-spacing:-.03em; margin-bottom:18px; }
.page-copy{ font-size:18px; color:var(--muted); max-width:740px; }
@media (max-width: 1080px){
  .three-up, .pricing-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .process-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-grid, .book-grid{ grid-template-columns:1fr; }
}
@media (max-width: 760px){
  .nav{ flex-wrap:wrap; justify-content:center; padding:12px 0; }
  .nav-links{ order:3; width:100%; justify-content:center; gap:18px; flex-wrap:wrap; }
  .field-grid, .three-up, .pricing-grid, .process-grid{ grid-template-columns:1fr; }
  .footer-row{ flex-direction:column; align-items:flex-start; }
  .hero{ padding-top:48px; }
}

.site-footer .footer-row div:empty{display:none;}
.page-copy a{color:var(--primary);text-decoration:none;}
.page-copy a:hover{text-decoration:underline;}
