/* ════════════════════════════════════════════════════════════
   Inishowen IT — Luke Harris, Greencastle Co. Donegal
   Warm Professional Light Theme  ·  v4.0
   Audience: Irish SMEs — solicitors, accountants, hotels,
             medical practices, family businesses
════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,500;0,600;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

/* ── TOKENS ─────────────────────────────────────────────── */
:root {
  /* Backgrounds — warm, not clinical */
  --bg:       #FAF8F5;
  --bg-white: #FFFFFF;
  --bg-warm:  #F3EFE8;
  --bg-dark:  #1A2A38;

  /* Brand palette */
  --green:     #2A5C45;   /* deep Irish green — trustworthy, local */
  --green-mid: #3A7D5E;
  --green-lt:  #4A9E75;
  --green-tint:#EDF4EF;
  --green-ring:rgba(42,92,69,0.14);

  --slate:     #2C3E50;   /* near-black — headings */
  --slate-mid: #3D5166;

  --amber:     #C87533;   /* warm amber — secondary accent */
  --amber-tint:#FBF1E8;

  /* Borders */
  --rule:      #E6E0D8;
  --rule-md:   #D4CCС0;

  /* Text */
  --tx-hi:  #1A2A38;
  --tx-md:  #4A5E6A;
  --tx-lo:  #8A9BA8;
  --tx-inv: #EEF2F0;

  /* Status */
  --ok:  #276749;
  --err: #B83232;
  --wrn: #B86A1A;

  /* Type */
  --serif: 'Lora', Georgia, serif;
  --sans:  'DM Sans', 'Segoe UI', sans-serif;

  /* Radius */
  --r1: 3px;  --r2: 6px;  --r3: 12px;  --r4: 20px;

  /* Motion */
  --ease: cubic-bezier(.4,0,.2,1);
  --t: 200ms;
}

/* ── RESET ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{background:var(--bg);color:var(--tx-md);font-family:var(--sans);line-height:1.7;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font-family:inherit}

/* ── LAYOUT ─────────────────────────────────────────────── */
.wrap{width:100%;max-width:1140px;margin:0 auto;padding:0 48px;position:relative}
.sec{padding:84px 0}
.sec-sm{padding:52px 0}
.sec-warm{background:var(--bg-warm);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.sec-dark{background:var(--bg-dark)}

/* ── TYPE ───────────────────────────────────────────────── */
h1,h2,h3{font-family:var(--serif);color:var(--tx-hi);line-height:1.18}
h1{font-size:clamp(32px,4.8vw,54px);font-weight:600}
h2{font-size:clamp(24px,3.2vw,38px);font-weight:600}
h3{font-size:clamp(17px,1.8vw,21px);font-weight:500}
h4{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--tx-hi)}
p{color:var(--tx-md);line-height:1.8}

em.hl     {font-style:normal;color:var(--green)}
em.hl-amb {font-style:normal;color:var(--amber)}

.tag{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--sans);font-size:11px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--green);
  margin-bottom:12px;
}
.tag::before{content:'';width:18px;height:2px;background:var(--green);border-radius:2px;flex-shrink:0}

.intro{margin-bottom:48px}
.intro h2{margin-bottom:10px}
.intro p{font-size:16px;max-width:520px}
.intro.ctr{text-align:center}
.intro.ctr .tag{justify-content:center}
.intro.ctr p{margin:0 auto}

/* ── NAV ────────────────────────────────────────────────── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  background:rgba(250,248,245,.97);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--rule);
  transition:box-shadow var(--t) var(--ease);
}
.nav.scrolled{box-shadow:0 2px 18px rgba(26,42,56,.08)}

.nav-in{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:13px 48px;max-width:1140px;margin:0 auto;
}

/* Logo */
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}
.logo-sq{
  width:36px;height:36px;background:var(--green);border-radius:var(--r1);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-weight:600;font-size:15px;color:#fff;flex-shrink:0;
}
.logo-name{font-family:var(--sans);font-weight:600;font-size:14px;color:var(--tx-hi);display:block;line-height:1.1}
.logo-by  {font-size:10px;letter-spacing:.1em;color:var(--tx-lo);text-transform:uppercase;display:block}

.nav-links{display:flex;align-items:center;gap:2px;list-style:none}
.nav-links a{
  font-size:13px;font-weight:500;color:var(--tx-md);
  text-decoration:none;padding:8px 13px;border-radius:var(--r2);
  transition:color var(--t),background var(--t);
}
.nav-links a:hover {color:var(--tx-hi);background:var(--bg-warm)}
.nav-links a.on    {color:var(--green);font-weight:600}
.nav-links .cta{
  background:var(--green);color:#fff!important;
  font-weight:600;padding:9px 20px;border-radius:var(--r1);
  box-shadow:0 2px 10px rgba(42,92,69,.22);
  transition:background var(--t),box-shadow var(--t),transform var(--t)!important;
}
.nav-links .cta:hover{background:var(--green-mid)!important;box-shadow:0 4px 18px rgba(42,92,69,.3)!important;transform:translateY(-1px)}

.nav-tog{
  display:none;background:none;border:1px solid var(--rule-md);
  color:var(--tx-md);padding:8px 14px;border-radius:var(--r2);
  font-size:12px;font-weight:600;cursor:pointer;
  transition:border-color var(--t),color var(--t);
}
.nav-tog:hover{border-color:var(--green);color:var(--green)}

.nav-mob{
  display:none;border-top:1px solid var(--rule);
  background:var(--bg-white);padding:12px 48px;
  flex-direction:column;gap:2px;
}
.nav-mob.open{display:flex}
.nav-mob a{
  font-size:14px;font-weight:500;color:var(--tx-md);
  text-decoration:none;padding:10px 12px;border-radius:var(--r2);
  transition:all var(--t);
}
.nav-mob a:hover{color:var(--green);background:var(--green-tint)}
.nav-mob a.on   {color:var(--green);font-weight:600}
.nav-mob .mob-cta{
  margin-top:8px;background:var(--green);color:#fff!important;
  font-weight:600;text-align:center;border-radius:var(--r1);
}

/* ── BUTTONS ────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--sans);font-weight:600;font-size:14px;
  text-decoration:none;padding:13px 26px;
  border-radius:var(--r1);border:none;cursor:pointer;
  transition:all var(--t) var(--ease);white-space:nowrap;
}
.btn-solid{background:var(--green);color:#fff;box-shadow:0 3px 12px rgba(42,92,69,.25)}
.btn-solid:hover{background:var(--green-mid);box-shadow:0 5px 20px rgba(42,92,69,.35);transform:translateY(-1px)}
.btn-line {background:transparent;color:var(--tx-hi);border:1.5px solid var(--rule-md)}
.btn-line:hover{border-color:var(--green);color:var(--green);background:var(--green-tint)}
.btn-inv {background:transparent;color:var(--tx-inv);border:1.5px solid rgba(238,242,240,.28)}
.btn-inv:hover{background:rgba(255,255,255,.08);border-color:rgba(238,242,240,.55)}
.btn-grp{display:flex;align-items:center;gap:14px;flex-wrap:wrap}

/* ── HERO ───────────────────────────────────────────────── */
.hero{
  min-height:100vh;display:grid;
  grid-template-columns:1fr 420px;
  padding-top:64px;overflow:hidden;
}

/* Left — cream content */
.hero-l{
  display:flex;align-items:center;
  padding:80px 56px 80px 48px;
  background:var(--bg);position:relative;
}
/* Subtle dot-grid bottom-right corner */
.hero-l::after{
  content:'';position:absolute;bottom:48px;right:48px;
  width:150px;height:150px;
  background-image:radial-gradient(circle,var(--rule-md) 1.2px,transparent 1.2px);
  background-size:18px 18px;opacity:.6;pointer-events:none;
}
.hero-text{max-width:540px;position:relative;z-index:2}

.hero-pill{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--green-tint);border:1px solid var(--green-ring);
  border-radius:100px;padding:6px 14px 6px 10px;margin-bottom:22px;
  font-size:12px;font-weight:600;color:var(--green);
}
.hero-pill-dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}

.hero-text h1{margin-bottom:18px}
.hero-sub{font-size:17px;line-height:1.75;margin-bottom:34px;max-width:460px}

/* Right — green panel with Luke's intro */
.hero-r{
  background:var(--green);
  display:flex;flex-direction:column;justify-content:center;
  padding:80px 44px;position:relative;overflow:hidden;
}
/* Diagonal reveal from left */
.hero-r::before{
  content:'';position:absolute;top:0;left:-48px;bottom:0;width:72px;
  background:var(--bg);
  clip-path:polygon(0 0,52px 0,0 100%);
  z-index:1;
}
/* Decorative circle */
.hero-r::after{
  content:'';position:absolute;bottom:-70px;right:-70px;
  width:260px;height:260px;border-radius:50%;
  border:1px solid rgba(255,255,255,.07);pointer-events:none;
}
.hero-r-in{position:relative;z-index:2}

/* Luke avatar initials */
.avatar{
  overflow: hidden;
  width:62px;height:62px;border-radius:50%;
  background:rgba(255,255,255,.14);
  border:2px solid rgba(255,255,255,.28);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:20px;font-weight:600;
  color:#fff;margin-bottom:14px;flex-shrink:0;
}

.avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;  /* keeps face centred — adjust if needed */
}
.luke-name {font-family:var(--serif);font-size:21px;font-weight:600;color:#fff;margin-bottom:2px}
.luke-role {font-size:12px;color:rgba(255,255,255,.58);margin-bottom:14px}
.luke-bio  {
  font-size:14px;color:rgba(255,255,255,.78);line-height:1.75;
  border-left:2px solid rgba(255,255,255,.2);padding-left:14px;margin-bottom:28px;
}

/* Credential items */
.creds{display:flex;flex-direction:column;gap:9px}
.cred{
  display:flex;align-items:center;gap:12px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r3);padding:11px 14px;
}
.cred-ic{
  width:32px;height:32px;border-radius:var(--r2);
  background:rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;flex-shrink:0;
}
.cred-lbl{font-size:13px;font-weight:600;color:#fff;line-height:1.2}
.cred-sub{font-size:11px;color:rgba(255,255,255,.48)}

/* ── SERVICE CARDS ──────────────────────────────────────── */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

.scard{
  background:var(--bg-white);border:1px solid var(--rule);
  border-radius:var(--r3);padding:30px 26px;
  display:flex;flex-direction:column;gap:13px;
  position:relative;overflow:hidden;
  transition:border-color var(--t),box-shadow var(--t),transform var(--t);
}
.scard:hover{border-color:var(--rule-md);box-shadow:0 8px 28px rgba(26,42,56,.09);transform:translateY(-3px)}
/* Left-edge colour accent on hover */
.scard::before{
  content:'';position:absolute;top:0;left:0;bottom:0;width:3px;
  border-radius:3px 0 0 3px;opacity:0;transition:opacity var(--t);
}
.scard:hover::before{opacity:1}
.scard.g::before {background:var(--green)}
.scard.a::before {background:var(--amber)}
.scard.sl::before{background:var(--slate-mid)}
.scard.comm::before{background:#6B7FD7}

.scard-n{
  position:absolute;top:18px;right:20px;
  font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--rule-md);
}
.scard-ico{
  width:48px;height:48px;border-radius:var(--r2);
  display:flex;align-items:center;justify-content:center;
}
.scard.g  .scard-ico{background:var(--green-tint)}
.scard.a  .scard-ico{background:var(--amber-tint)}
.scard.sl .scard-ico{background:rgba(44,62,80,.07)}
.scard.comm .scard-ico{background:rgba(107,127,215,.1)}
.scard-ico svg{width:21px;height:21px;stroke-width:1.75}
.scard.g  .scard-ico svg{stroke:var(--green)}
.scard.a  .scard-ico svg{stroke:var(--amber)}
.scard.sl .scard-ico svg{stroke:var(--slate-mid)}
.scard.comm .scard-ico svg{stroke:#6B7FD7}

.scard-t{font-family:var(--serif);font-size:18px;color:var(--tx-hi)}
.scard-d{font-size:14px;color:var(--tx-md);line-height:1.75;flex:1}

.scard-ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.scard-ul li{display:flex;gap:9px;font-size:13px;color:var(--tx-md);align-items:flex-start}
.scard-ul li::before{
  content:'';width:5px;height:5px;border-radius:50%;
  margin-top:7px;flex-shrink:0;display:inline-block;
}
.scard.g  .scard-ul li::before{background:var(--green)}
.scard.a  .scard-ul li::before{background:var(--amber)}
.scard.sl .scard-ul li::before{background:var(--slate-mid)}
.scard.comm .scard-ul li::before{background:#6B7FD7}

.scard-lnk{
  display:inline-flex;align-items:center;gap:6px;margin-top:auto;
  font-size:13px;font-weight:600;text-decoration:none;
  transition:gap var(--t);
}
.scard-lnk:hover{gap:10px}
.scard.g  .scard-lnk{color:var(--green)}
.scard.a  .scard-lnk{color:var(--amber)}
.scard.sl .scard-lnk{color:var(--slate-mid)}
.scard.comm .scard-lnk{color:#6B7FD7}

/* ── TRUST / WHY CARDS ──────────────────────────────────── */
.grid-why{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}

.why{
  background:var(--bg-white);border:1px solid var(--rule);
  border-radius:var(--r3);padding:24px 22px;
  transition:border-color var(--t),transform var(--t);
}
.why:hover{border-color:var(--rule-md);transform:translateY(-2px)}
.why-ico {font-size:26px;margin-bottom:11px;display:block}
.why-t   {font-family:var(--sans);font-size:14px;font-weight:600;color:var(--tx-hi);margin-bottom:6px}
.why-d   {font-size:13px;color:var(--tx-md);line-height:1.75}

/* ── ABOUT (how it works / Luke section) ────────────────── */
.about-grid{display:grid;grid-template-columns:420px 1fr;gap:68px;align-items:center}

/* Visual card stack */
.about-visual{position:relative;height:440px}

.about-main {
  position: absolute; top: 0; left: 0; right: 36px; bottom: 36px;
  background: linear-gradient(145deg, var(--green) 0%, var(--bg-dark) 100%);
  border-radius: var(--r4);
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}

.about-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  position: relative;
  z-index: 1;
}

.about-main::after {
  content: 'LH';
  font-family: var(--serif); font-size: 130px; font-weight: 600;
  color: rgba(255,255,255,.08); pointer-events: none;
  position: absolute;
  z-index: 0;   /* sits behind the image */
}

.about-badge{
  position:absolute;bottom:0;right:0;
  background:var(--bg-white);border:1px solid var(--rule);
  border-radius:var(--r3);padding:15px 18px;
  box-shadow:0 8px 24px rgba(26,42,56,.12);
  z-index:2;
}
.badge-name{font-family:var(--serif);font-size:15px;color:var(--tx-hi);margin-bottom:3px}
.badge-loc {font-size:12px;color:var(--tx-lo);display:flex;align-items:center;gap:5px}

/* Text side */
.about-txt h2{margin-bottom:16px}
.about-txt p {font-size:15px;line-height:1.82;margin-bottom:16px}
.about-txt p:last-of-type{margin-bottom:24px}

/* Inline value chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chip{
  font-size:12px;font-weight:600;color:var(--green);
  background:var(--green-tint);border:1px solid var(--green-ring);
  padding:5px 12px;border-radius:100px;
}

/* ── HOW IT WORKS — steps ───────────────────────────────── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative}

/* Dashed connector */
.steps::before{
  content:'';position:absolute;top:38px;left:calc(12.5% + 9px);right:calc(12.5% + 9px);
  height:0;border-top:2px dashed var(--rule-md);z-index:0;
}

.step{
  background:var(--bg-white);border:1px solid var(--rule);
  border-radius:var(--r3);padding:26px 20px;
  position:relative;z-index:1;
  transition:border-color var(--t),transform var(--t),box-shadow var(--t);
}
.step:hover{border-color:var(--green-ring);transform:translateY(-3px);box-shadow:0 6px 20px rgba(42,92,69,.1)}

.step-n{
  font-family:var(--serif);font-size:36px;font-weight:600;
  color:var(--rule);line-height:1;margin-bottom:14px;
  transition:color var(--t);
}
.step:hover .step-n{color:rgba(42,92,69,.25)}
.step-t{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--tx-hi);margin-bottom:6px}
.step-d{font-size:13px;color:var(--tx-md);line-height:1.7}

/* ── SERVICES DETAIL PAGE ───────────────────────────────── */
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}

.svc-card{
  background:var(--bg-white);border:1px solid var(--rule);
  border-radius:var(--r3);padding:36px;position:relative;overflow:hidden;
}
/* Top colour bar */
.svc-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
}
.svc-card.g::before {background:var(--green)}
.svc-card.a::before {background:var(--amber)}
.svc-card.sl::before{background:var(--slate-mid)}
.svc-card.comm::before{background:#6B7FD7}

.svc-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.svc-ico{
  width:52px;height:52px;border-radius:var(--r2);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.svc-card.g  .svc-ico{background:var(--green-tint)}
.svc-card.a  .svc-ico{background:var(--amber-tint)}
.svc-card.sl .svc-ico{background:rgba(44,62,80,.07)}
.svc-card.comm .svc-ico{background:rgba(107,127,215,.1)}
.svc-ico svg{width:24px;height:24px;stroke-width:1.75}
.svc-card.g  .svc-ico svg{stroke:var(--green)}
.svc-card.a  .svc-ico svg{stroke:var(--amber)}
.svc-card.sl .svc-ico svg{stroke:var(--slate-mid)}
.svc-card.comm .svc-ico svg{stroke:#6B7FD7}

.svc-num{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--tx-lo);margin-bottom:3px}
.svc-title{font-family:var(--serif);font-size:21px;color:var(--tx-hi)}

.svc-body{font-size:14px;line-height:1.85;margin-bottom:20px}

.svc-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.svc-list li{display:flex;gap:10px;font-size:13px;color:var(--tx-md);align-items:flex-start}
.svc-list li::before{
  content:'';width:5px;height:5px;border-radius:50%;
  margin-top:7px;flex-shrink:0;display:inline-block;
}
.svc-card.g  .svc-list li::before{background:var(--green)}
.svc-card.a  .svc-list li::before{background:var(--amber)}
.svc-card.sl .svc-list li::before{background:var(--slate-mid)}
.svc-card.comm .svc-list li::before{background:#6B7FD7}

.svc-aside{display:flex;flex-direction:column;gap:16px}

.aside-box{
  background:var(--bg-white);border:1px solid var(--rule);
  border-radius:var(--r3);padding:22px;
}
.aside-ttl{
  font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--tx-lo);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--rule);
}
.aside-row{
  display:flex;justify-content:space-between;align-items:flex-start;
  padding:8px 0;border-bottom:1px solid var(--rule);font-size:13px;gap:12px;
}
.aside-row:last-child{border-bottom:none}
.aside-k{color:var(--tx-lo)}
.aside-v{color:var(--tx-hi);font-weight:500;text-align:right}
.aside-note{font-size:13px;color:var(--tx-md);line-height:1.75}

.tier{
  border:1px solid var(--rule);border-radius:var(--r2);
  padding:12px 14px;margin-bottom:8px;
}
.tier:last-child{margin-bottom:0}
.tier-lbl{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--green);margin-bottom:4px}
.tier-d  {font-size:13px;color:var(--tx-lo)}

/* ── CONTACT ────────────────────────────────────────────── */
.contact-wrap{display:grid;grid-template-columns:1fr 320px;gap:44px;align-items:start}

.form-card{background:var(--bg-white);border:1px solid var(--rule);border-radius:var(--r3);overflow:hidden}
.form-top {
  padding:13px 28px;background:var(--bg-warm);
  border-bottom:1px solid var(--rule);
  display:flex;align-items:center;gap:9px;
}
.form-top-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.form-top-lbl{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-lo)}
.form-in{padding:28px}
.frow2{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:13px}
.fg{margin-bottom:13px}
.flbl{
  display:block;font-size:11px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--tx-lo);margin-bottom:5px;
}
.flbl .opt{font-weight:400;text-transform:none;letter-spacing:0;color:var(--rule-md)}
.finput,.fsel,.fta{
  width:100%;background:var(--bg);border:1.5px solid var(--rule);
  border-radius:var(--r1);color:var(--tx-hi);
  padding:11px 13px;font-size:14px;outline:none;
  -webkit-appearance:none;
  transition:border-color var(--t),box-shadow var(--t);
}
.finput:focus,.fsel:focus,.fta:focus{
  border-color:var(--green);box-shadow:0 0 0 3px rgba(42,92,69,.09);
}
.finput::placeholder,.fta::placeholder{color:var(--rule-md)}
.fsel{
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A9BA8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;padding-right:34px;
}
.fta{resize:vertical;min-height:112px}
.fcheck{
  display:flex;gap:10px;align-items:flex-start;padding:13px;
  background:var(--green-tint);border:1px solid var(--green-ring);
  border-radius:var(--r1);margin-bottom:13px;
}
.fcheck input[type=checkbox]{margin-top:3px;accent-color:var(--green);flex-shrink:0;width:15px;height:15px}
.fcheck label{font-size:13px;color:var(--tx-md);line-height:1.6;cursor:pointer}
.fnote{font-size:11px;color:var(--tx-lo);text-align:center;margin-top:10px}

.contact-side{display:flex;flex-direction:column;gap:13px}
.cside-box{background:var(--bg-white);border:1px solid var(--rule);border-radius:var(--r3);padding:20px}
.cside-ttl{
  font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tx-lo);margin-bottom:13px;padding-bottom:9px;border-bottom:1px solid var(--rule);
}
.cside-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 0;border-bottom:1px solid var(--rule);font-size:13px;
}
.cside-row:last-child{border-bottom:none}
.cside-k  {color:var(--tx-lo)}
.cside-ok {color:var(--ok);  font-weight:700}
.cside-wrn{color:var(--wrn); font-weight:700}
.cside-err{color:var(--err); font-weight:700}

/* Luke sidebar box */
.luke-box{
  background:var(--green);border-radius:var(--r3);
  padding:22px;color:#fff;
}
.luke-box-name{font-family:var(--serif);font-size:17px;font-weight:600;margin-bottom:2px}
.luke-box-role{font-size:11px;opacity:.6;margin-bottom:12px;letter-spacing:.04em}
.luke-box-body{font-size:13px;line-height:1.75;opacity:.82}

/* Form success */
.form-ok{padding:48px 28px;text-align:center}
.ok-ico{
  width:58px;height:58px;border-radius:50%;
  border:2px solid var(--ok);background:var(--green-tint);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
}
.form-ok h3{font-size:22px;margin-bottom:8px}
.form-ok p {font-size:14px;color:var(--tx-lo);max-width:320px;margin:0 auto 22px;line-height:1.8}

/* ── PAGE BANNER ────────────────────────────────────────── */
.banner{background:var(--bg-warm);border-bottom:1px solid var(--rule);padding:78px 0 58px}
.banner h1{font-size:clamp(26px,4vw,46px);margin-bottom:13px}
.banner p {font-size:16px;max-width:540px;line-height:1.8}

/* ── CTA BAND ───────────────────────────────────────────── */
.cta-band{
  background:var(--bg-dark);padding:76px 0;
  text-align:center;position:relative;overflow:hidden;
}
.cta-band::before{
  content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);
  width:560px;height:280px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(42,92,69,.28) 0%,transparent 70%);
}
.cta-band .wrap{position:relative;z-index:1}
.cta-band h2{color:var(--tx-inv);margin-bottom:12px}
.cta-band p {color:rgba(238,242,240,.62);font-size:16px;max-width:460px;margin:0 auto 30px;line-height:1.78}

/* ── FOOTER ─────────────────────────────────────────────── */
footer{background:var(--bg-dark);border-top:1px solid rgba(255,255,255,.06);padding:52px 0 28px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:52px;margin-bottom:40px}
.foot-brand .logo-name{color:var(--tx-inv)}
.foot-brand .logo-by  {color:rgba(238,242,240,.38)}
.foot-brand .logo-sq  {background:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}
.foot-brand p{font-size:13px;color:rgba(238,242,240,.48);line-height:1.8;max-width:264px;margin-top:13px}
.foot-col h4{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(238,242,240,.32);margin-bottom:13px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.foot-col a {font-size:13px;color:rgba(238,242,240,.52);text-decoration:none;transition:color var(--t)}
.foot-col a:hover{color:var(--tx-inv)}
.foot-btm{border-top:1px solid rgba(255,255,255,.06);padding-top:18px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.foot-copy{font-size:12px;color:rgba(238,242,240,.28)}
.foot-seo {font-size:11px;color:rgba(238,242,240,.18)}

/* ── ANIM ───────────────────────────────────────────────── */
.fu{opacity:0;transform:translateY(18px);animation:fu .5s var(--ease) forwards}
@keyframes fu{to{opacity:1;transform:none}}
.d1{animation-delay:.07s}.d2{animation-delay:.14s}.d3{animation-delay:.21s}.d4{animation-delay:.28s}

/* ── RESPONSIVE ─────────────────────────────────────────── */
@media(max-width:1100px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-l{padding:80px 48px 60px}
  .hero-r{padding:56px 48px}
  .hero-r::before{display:none}
  .steps{grid-template-columns:1fr 1fr}
  .steps::before{display:none}
  .about-grid{grid-template-columns:1fr;gap:44px}
  .about-visual{display:none}
}
@media(max-width:1024px){
  .grid3{grid-template-columns:1fr 1fr}
  .grid4{grid-template-columns:1fr 1fr}
  .grid-why{grid-template-columns:1fr 1fr}
  .contact-wrap{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .svc-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .nav-links{display:none}
  .nav-tog{display:block}
  .wrap,.nav-in,.nav-mob{padding-left:24px;padding-right:24px}
  .hero-l{padding:64px 24px 48px}
  .hero-r{padding:48px 24px}
}
@media(max-width:640px){
  .grid3{grid-template-columns:1fr}
  .grid4{grid-template-columns:1fr}
  .grid-why{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .frow2{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:22px}
}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg-warm)}
::-webkit-scrollbar-thumb{background:var(--rule-md);border-radius:3px}
