:root { color-scheme: light; --ink:#13231d; --muted:#607069; --paper:#f6f7f2; --surface:#fff; --surface-soft:#edf1eb; --line:#dbe2da; --forest:#173f32; --forest-2:#0d2c23; --lime:#d9f36a; --lime-strong:#c8e957; --shadow:0 24px 70px rgba(26,54,44,.12); --radius:1.5rem; --max:1180px; }
[data-theme="dark"] { color-scheme:dark; --ink:#eff5ee; --muted:#aebbb4; --paper:#0b1713; --surface:#10221b; --surface-soft:#152b23; --line:#294238; --forest:#d9f36a; --forest-2:#07110e; --lime:#d9f36a; --lime-strong:#e5fa85; --shadow:0 24px 70px rgba(0,0,0,.28); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--paper); line-height:1.65; transition:color 180ms ease,background 180ms ease; }
a { color:inherit; }
img { display:block; max-width:100%; }
button,input,select,textarea { font:inherit; }
.site-header { position:sticky; top:0; z-index:20; padding:.75rem 1.25rem; background:color-mix(in srgb,var(--paper) 88%,transparent); backdrop-filter:blur(16px); border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent); }
.site-header-inner { max-width:var(--max); min-height:76px; margin:0 auto; display:flex; align-items:center; gap:1.5rem; }
.brand { display:flex; align-items:center; width:310px; margin-right:auto; text-decoration:none; }
.brand img { width:100%; height:auto; }
.nav-links a:hover { color:var(--forest); }
.nav-links { display:flex; align-items:center; gap:1.1rem; font-size:.86rem; font-weight:650; }
.nav-links a { text-decoration:none; white-space:nowrap; }
.header-actions { display:flex; align-items:center; gap:.55rem; }
.icon-button { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:var(--surface); cursor:pointer; }
.menu-button { display:none; }
.page { max-width:var(--max); margin:0 auto; padding:2rem 1.25rem 5rem; }
.page-hero { margin-bottom:4rem; padding:clamp(2rem,5vw,5rem); overflow:hidden; border-radius:calc(var(--radius) + .5rem); background:var(--surface); box-shadow:var(--shadow); }
.page-hero.grid-two { position:relative; grid-template-columns:minmax(0,1.45fr) minmax(270px,.75fr); gap:clamp(2rem,6vw,5rem); }
.page-hero.grid-two::after { content:""; position:absolute; right:-5rem; bottom:-7rem; width:17rem; height:17rem; border-radius:50%; background:var(--lime); opacity:.2; pointer-events:none; }
.page-hero h1,.home-hero h1 { max-width:850px; margin:0 0 1.25rem; font-size:clamp(2.5rem,6.5vw,5.7rem); line-height:.98; letter-spacing:-.065em; }
.page-hero:not(.grid-two) h1 { font-size:clamp(2.5rem,5vw,4.5rem); }
.lead { max-width:720px; margin:0 0 1.5rem; color:var(--muted); font-size:clamp(1.05rem,2vw,1.25rem); }
.tagline { margin:1rem 0 1.5rem; color:var(--forest); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.home-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); min-height:680px; margin-bottom:5rem; overflow:hidden; border-radius:2rem; background:var(--forest-2); color:#fff; box-shadow:var(--shadow); }
.home-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,6vw,5.5rem); }
.eyebrow { display:inline-flex; align-items:center; width:fit-content; gap:.5rem; margin:0 0 1.4rem; color:var(--lime); font-size:.78rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.eyebrow::before { content:""; width:1.75rem; height:2px; background:currentColor; }
.home-hero .lead { color:#c5d2cc; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.8rem; }
.hero-photo { position:relative; min-height:520px; }
.hero-photo img { width:100%; height:100%; object-fit:cover; }
.hero-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,20,16,.28),transparent 35%); }
.photo-note { position:absolute; z-index:2; right:1.25rem; bottom:1.25rem; max-width:210px; margin:0; padding:.75rem .9rem; border-radius:1rem; color:#dfe9e4; background:rgba(7,20,16,.78); backdrop-filter:blur(10px); font-size:.72rem; line-height:1.35; }
.grid-two { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.5rem; align-items:start; }
.section { margin-bottom:5rem; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:1.75rem; }
.section h2,.section-heading h2 { max-width:720px; margin:0 0 .75rem; font-size:clamp(2rem,4.5vw,3.7rem); line-height:1.05; letter-spacing:-.05em; }
.section-heading p { max-width:480px; color:var(--muted); }
.service-grid,.feature-grid,.area-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.service-card,.feature-card,.area-card { position:relative; min-height:260px; padding:1.6rem; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); text-decoration:none; transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
.service-card:hover,.area-card:hover { transform:translateY(-5px); border-color:var(--lime-strong); box-shadow:var(--shadow); }
.service-card h3,.feature-card h3,.area-card h3 { margin:0 0 .7rem; font-size:1.35rem; line-height:1.15; letter-spacing:-.025em; }
.service-card p,.feature-card p,.area-card p { margin:0; color:var(--muted); }
.card-number { display:block; margin-bottom:4rem; color:var(--forest); font-size:.76rem; font-weight:800; }
.card-arrow { position:absolute; right:1.5rem; bottom:1.5rem; font-size:1.4rem; }
.feature-card { min-height:190px; background:var(--surface-soft); }
.feature-card strong { display:block; margin-bottom:1rem; color:var(--forest); font-size:2.3rem; line-height:1; }
.image-band { display:grid; grid-template-columns:1.15fr .85fr; min-height:520px; overflow:hidden; border-radius:2rem; background:var(--forest-2); color:#fff; }
.image-band img { width:100%; height:100%; object-fit:cover; }
.image-band-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,4.5rem); }
.image-band-copy h2 { margin:0 0 1rem; font-size:clamp(2.2rem,4vw,4rem); line-height:1; letter-spacing:-.05em; }
.image-band-copy p { color:#bdcbc5; }
.cta-panel { position:relative; z-index:1; padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface-soft); }
.cta-panel h2 { margin-top:0; font-size:1.35rem; letter-spacing:-.025em; }
.button-primary,.button-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:.75rem 1.25rem; border:1px solid transparent; border-radius:999px; font-weight:800; text-decoration:none; cursor:pointer; }
.button-primary { color:#152019; background:var(--lime); }
.button-primary:hover { background:var(--lime-strong); }
.button-secondary { color:inherit; border-color:currentColor; background:transparent; }
ul { padding-left:1.25rem; } li + li { margin-top:.55rem; }
.small,.hint { font-size:.82rem; color:var(--muted); }
form { max-width:850px; padding:clamp(1.25rem,4vw,3rem); border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow); }
.form-group { margin-bottom:1.15rem; }
label { display:block; margin-bottom:.4rem; font-size:.88rem; font-weight:750; }
input[type="text"],input[type="email"],input[type="tel"],input[type="date"],select,textarea { width:100%; min-height:50px; padding:.75rem .85rem; border:1px solid var(--line); border-radius:.8rem; color:var(--ink); background:var(--paper); }
input:focus,select:focus,textarea:focus { outline:3px solid color-mix(in srgb,var(--lime) 45%,transparent); border-color:var(--forest); }
textarea { min-height:110px; resize:vertical; }
.form-row-inline { display:flex; gap:1rem; } .form-row-inline .form-group { flex:1; }
.notice { padding:.8rem 1rem; border:1px solid color-mix(in srgb,var(--lime) 55%,var(--line)); border-radius:.8rem; background:color-mix(in srgb,var(--lime) 13%,var(--surface)); font-size:.86rem; }
.success-message,.error-message { margin-top:1rem; font-size:.9rem; font-weight:700; } .success-message { color:#2d7a4b; } .error-message { color:#b33232; }
.hp-field { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.site-footer { padding:4rem 1.25rem 2rem; color:#c1cec8; background:var(--forest-2); font-size:.82rem; }
.site-footer-inner { max-width:var(--max); margin:0 auto; }
.site-footer-inner::before { content:"UK STOCKTAKERS"; display:block; margin-bottom:2rem; color:var(--lime); font-size:clamp(2rem,6vw,5rem); font-weight:850; letter-spacing:-.06em; line-height:1; }
@media (max-width:980px) { .brand{width:270px}.menu-button{display:grid}.nav-links{position:absolute;top:calc(100% + 1px);left:0;right:0;display:none;padding:1rem 1.25rem 1.5rem;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.nav-links.is-open{display:flex}.nav-links a{padding:.75rem 0;border-bottom:1px solid var(--line)}.home-hero,.image-band{grid-template-columns:1fr}.hero-photo{min-height:430px}.service-grid,.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid{grid-template-columns:1fr} }
@media (max-width:720px) { .site-header{padding:.55rem 1rem}.site-header-inner{min-height:66px}.brand{width:225px}.page{padding:1rem 1rem 3rem}.page-hero,.home-hero{margin-bottom:3.5rem;border-radius:1.35rem}.page-hero{padding:1.5rem}.page-hero.grid-two,.grid-two{grid-template-columns:1fr}.home-hero{min-height:0}.home-hero-copy{padding:2rem 1.35rem 2.5rem}.home-hero h1,.page-hero h1{font-size:clamp(2.55rem,14vw,4.2rem)}.hero-photo{min-height:340px}.section{margin-bottom:3.5rem}.section-heading{display:block}.service-grid,.area-grid{grid-template-columns:1fr}.service-card{min-height:220px}.form-row-inline{flex-direction:column;gap:0}form{padding:1.1rem}form .button-primary{width:100%}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions a{width:100%} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*,*::before,*::after{transition:none!important} }
