/* Hosting Stack UK — global design system */
:root {
  --green: #10b981; --green-dark: #047857; --blue: #2563eb; --blue-dark: #1d4ed8;
  --white: #fff; --charcoal: #111827; --text: #4b5563; --muted: #6b7280; --border: #e5e7eb;
  --surface: #f8fafc; --green-soft: #ecfdf5; --blue-soft: #eff6ff; --footer: #0f172a;
  --font: Manrope, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --step--1: 1rem; --step-0: clamp(1rem, .96rem + .2vw, 1.125rem); --step-1: clamp(1.25rem, 1.1rem + .7vw, 1.5rem);
  --step-2: clamp(1.75rem, 1.45rem + 1.4vw, 2.5rem); --step-3: clamp(2.25rem, 1.75rem + 2.5vw, 3.25rem);
  --space-1: .5rem; --space-2: .75rem; --space-3: 1rem; --space-4: 1.5rem; --space-5: 2rem; --space-6: 3rem; --space-7: clamp(4rem, 8vw, 7rem);
  --radius-sm: .5rem; --radius: .875rem; --radius-lg: 1.25rem;
  --shadow-sm: 0 8px 24px rgba(15,23,42,.07); --shadow: 0 20px 50px rgba(15,23,42,.11);
  --transition: 180ms ease; --container: 75rem;
}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;color:var(--charcoal);font:400 var(--step-0)/1.7 var(--font);background:var(--white);overflow-x:hidden}body.menu-open{overflow:hidden}img,svg{display:block;max-width:100%}a{color:var(--blue-dark);text-underline-offset:.2em}button,input,textarea,select{font:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.12;letter-spacing:-.035em}h1{font-size:var(--step-3);max-width:13ch}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}h4{font-size:1.25rem}p{color:var(--text)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.container{width:min(100% - 2rem,var(--container));margin-inline:auto}.section{padding-block:var(--space-7)}.section--soft{background:var(--surface)}.section-heading{max-width:47rem;margin-bottom:var(--space-6)}.section-heading p{max-width:43rem}.eyebrow{display:inline-flex;gap:.5rem;align-items:center;margin-bottom:var(--space-3);color:var(--green-dark);font-size:.875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.eyebrow::before{content:"";width:1.5rem;height:2px;background:currentColor}.skip-link{position:fixed;z-index:1000;top:.5rem;left:.5rem;transform:translateY(-150%);padding:.75rem 1rem;color:var(--white);background:var(--charcoal);border-radius:var(--radius-sm)}.skip-link:focus{transform:none}
/* Header and navigation */
.site-header{position:sticky;z-index:100;top:0;background:rgba(255,255,255,.9);border-bottom:1px solid transparent;backdrop-filter:blur(14px);transition:box-shadow var(--transition),border-color var(--transition)}.site-header.is-scrolled{border-color:var(--border);box-shadow:0 5px 20px rgba(15,23,42,.06)}.nav-row{min-height:4.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--charcoal);font-weight:800;text-decoration:none;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:2.25rem;height:2.25rem;color:var(--white);background:linear-gradient(135deg,var(--green-dark),var(--blue));border-radius:.65rem}.desktop-nav{display:none}.nav-links{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}.nav-link{display:flex;min-height:2.75rem;align-items:center;padding:.5rem .7rem;color:#374151;font-size:.9rem;font-weight:700;text-decoration:none;border-radius:var(--radius-sm)}.nav-link:hover,.nav-link[aria-current="page"]{color:var(--blue-dark);background:var(--blue-soft)}.menu-toggle{display:none;place-items:center;width:2.75rem;height:2.75rem;color:var(--charcoal);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.has-js .menu-toggle{display:grid}.menu-toggle svg:last-child,.menu-toggle[aria-expanded="true"] svg:first-child{display:none}.menu-toggle[aria-expanded="true"] svg:last-child{display:block}.mobile-menu{position:absolute;inset:100% 0 auto;padding:1rem;background:var(--white);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}.has-js .mobile-menu{display:none}.has-js .mobile-menu.is-open{display:block}.mobile-menu .nav-links{align-items:stretch;flex-direction:column}.mobile-menu .nav-link,.mobile-menu .button{width:100%}
/* Buttons */
.button{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;gap:.55rem;padding:.7rem 1.1rem;border:1px solid transparent;border-radius:var(--radius-sm);font-size:1rem;font-weight:800;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition)}.button svg,.text-link svg{width:1.1rem;transition:transform var(--transition)}.button:hover,.card:hover{transform:translateY(-3px)}.button:hover svg,.text-link:hover svg{transform:translateX(3px)}.button--primary{color:var(--white);background:linear-gradient(115deg,var(--green-dark),var(--blue));box-shadow:0 8px 18px rgba(37,99,235,.18)}.button--primary:hover{box-shadow:0 12px 24px rgba(37,99,235,.24)}.button--secondary{color:var(--charcoal);background:var(--white);border-color:#cbd5e1}.button--secondary:hover{color:var(--blue-dark);border-color:var(--blue);background:var(--blue-soft)}.text-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--blue-dark);font-weight:800;text-decoration-thickness:2px}.button-row{display:flex;flex-wrap:wrap;gap:.75rem}
.button-row+.form-note{margin-top:var(--space-4)}
/* Hero */
.hero{position:relative;padding-block:clamp(4rem,9vw,7.5rem);background:linear-gradient(145deg,#fff 20%,#f0fdf8 60%,#eff6ff);overflow:hidden}.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(#94a3b8 1px,transparent 1px);background-size:24px 24px;opacity:.13;mask-image:linear-gradient(to right,transparent,black)}.hero-grid{position:relative;display:grid;gap:3rem;align-items:center}.hero-copy{max-width:43rem}.hero-copy>p{max-width:39rem;margin-bottom:2rem;font-size:clamp(1.08rem,1rem + .35vw,1.25rem)}.dashboard{position:relative;padding:1rem;background:rgba(255,255,255,.96);border:1px solid rgba(148,163,184,.35);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.dashboard-top{display:flex;align-items:center;justify-content:space-between;padding:.3rem .2rem 1rem;border-bottom:1px solid var(--border);font-size:.875rem;font-weight:800}.status{display:inline-flex;gap:.4rem;align-items:center;color:var(--green-dark)}.status::before{content:"";width:.55rem;height:.55rem;background:var(--green);border-radius:50%}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding-top:1rem}.metric{min-height:7rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.metric-icon,.icon-box{display:grid;place-items:center;width:2.5rem;height:2.5rem;margin-bottom:.8rem;color:var(--blue-dark);background:var(--blue-soft);border-radius:.65rem}.metric-icon svg,.icon-box svg{width:1.25rem}.metric strong{display:block;font-size:.95rem}.metric span{color:var(--muted);font-size:.8rem}.dashboard-chart{height:3.5rem;margin-top:.75rem;color:var(--green-dark)}
/* Cards and sections */
.trust-strip{border-block:1px solid var(--border);background:var(--white)}.trust-grid{display:grid;gap:1rem;padding-block:1.25rem}.trust-item{display:flex;align-items:center;gap:.6rem;color:#374151;font-size:.9rem;font-weight:700}.trust-item svg{width:1.2rem;color:var(--green-dark);flex:none}.card-grid{display:grid;gap:1rem}.card{padding:1.5rem;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px rgba(15,23,42,.03);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.card:hover{border-color:#bfdbfe;box-shadow:var(--shadow-sm)}.card p:last-child{margin-bottom:0}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}.feature-card .icon-box{color:var(--green-dark);background:var(--green-soft)}.recommendation{display:grid;gap:2rem;align-items:center}.benefit-list{list-style:none;padding:0;margin:1.5rem 0;display:grid;gap:.75rem}.benefit-list li{display:flex;gap:.7rem;align-items:flex-start;color:#374151}.benefit-list svg{width:1.25rem;color:var(--green-dark);flex:none;margin-top:.25rem}.recommend-panel{padding:clamp(1.5rem,4vw,2.5rem);background:linear-gradient(145deg,#0f172a,#172554);border-radius:var(--radius-lg);color:var(--white);box-shadow:var(--shadow)}.recommend-panel p{color:#cbd5e1}.disclosure{padding:1rem;border-left:4px solid var(--green);background:rgba(255,255,255,.08);font-size:.9rem}.path-grid{display:grid;gap:1.25rem}.path-card{position:relative;min-height:18rem;padding:clamp(1.5rem,4vw,2.5rem);overflow:hidden}.path-card::after{content:"";position:absolute;width:11rem;height:11rem;right:-4rem;bottom:-5rem;background:linear-gradient(135deg,var(--green),var(--blue));border-radius:50%;opacity:.12}.path-card:nth-child(2){background:var(--blue-soft)}.final-cta{padding:clamp(2rem,7vw,4.5rem);color:var(--white);background:linear-gradient(120deg,#064e3b,#1e3a8a);border-radius:var(--radius-lg)}.final-cta h2{max-width:17ch}.final-cta p{max-width:43rem;color:#dbeafe}.final-cta .button--secondary{border-color:rgba(255,255,255,.55)}
/* Inner pages, forms and future components */
.page-hero{padding-block:clamp(3.5rem,8vw,6rem);background:linear-gradient(145deg,var(--surface),var(--blue-soft))}.page-hero h1{max-width:18ch}.page-hero p{max-width:44rem;font-size:1.15rem}.starter-content{max-width:48rem}.notice{padding:1rem 1.25rem;background:var(--green-soft);border:1px solid #a7f3d0;border-radius:var(--radius)}.form-grid{display:grid;gap:1.25rem}.field{display:grid;gap:.4rem}.field label{font-weight:800}.field input,.field textarea,.field select{width:100%;min-height:2.9rem;padding:.75rem;color:var(--charcoal);background:var(--white);border:1px solid #94a3b8;border-radius:var(--radius-sm)}.field textarea{min-height:10rem;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--blue);outline:3px solid #bfdbfe}.form-note{font-size:.9rem}.table-wrap{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse}.comparison-table th,.comparison-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border)}.comparison-table th{background:var(--surface)}details.faq{padding:1rem 0;border-bottom:1px solid var(--border)}details.faq summary{font-weight:800;cursor:pointer}.testimonial-card{padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius)}
/* Editorial review components */
.snapshot-list{margin:0}.snapshot-list div{display:grid;gap:.2rem;padding:.85rem 0;border-top:1px solid var(--border)}.snapshot-list dt{color:var(--muted);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.snapshot-list dd{margin:0;color:var(--charcoal);font-weight:700}.review-disclosure{max-width:64rem;margin:0;padding-block:1.25rem;font-size:.9rem}.review-list{display:grid;gap:.7rem;list-style:none;padding:0;margin:1.25rem 0 0}.review-list li{position:relative;padding-left:1.7rem}.review-list li::before{position:absolute;left:0;top:0;color:var(--green-dark);font-weight:800;content:"✓"}.review-list--neutral li::before{color:var(--blue-dark);content:"—"}.recommend-panel .review-list li{color:#e2e8f0}.comparison-panel{padding:clamp(1.5rem,4vw,2.5rem);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.comparison-panel>h3{padding-bottom:1rem;border-bottom:3px solid var(--green)}.comparison-panel--neutral>h3{border-color:var(--blue)}.comparison-panel>div{padding-top:1.25rem;border-top:1px solid var(--border)}.comparison-panel>h3+div{border-top:0}.comparison-panel div h3{margin-bottom:.5rem;font-size:1.1rem}.profile-list{display:grid;gap:1rem}.profile-card{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:start}.profile-number{color:var(--green-dark);font-size:var(--step-2);font-weight:800;line-height:1}.suitability-label{display:inline-flex;margin-bottom:.5rem;padding:.2rem .55rem;color:var(--green-dark);background:var(--green-soft);border-radius:var(--radius-sm);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.pricing-factors{border-block:1px solid var(--border)}.pricing-factors article{padding:1.25rem 0;border-bottom:1px solid var(--border)}.pricing-factors article:last-child{border-bottom:0}.pricing-factors h3{margin-bottom:.35rem;font-size:1.1rem}.pricing-factors p{margin-bottom:0}.pricing-assessment,.path-grid+.notice,.profile-list+.notice,.recommendation+.notice,.notice+.button-row{margin-top:var(--space-5)}
/* Footer */
.footer-about .brand+p{margin-top:var(--space-4)}
.site-footer{padding-block:4rem 2rem;color:#e2e8f0;background:var(--footer)}.footer-grid{display:grid;gap:2.5rem}.site-footer .brand{color:var(--white)}.footer-about p,.footer-disclosure{max-width:30rem;color:#94a3b8;font-size:.9rem}.footer-heading{margin-bottom:1rem;color:var(--white);font-size:1rem;letter-spacing:0}.footer-links{display:grid;gap:.45rem;list-style:none;padding:0;margin:0}.footer-links a{color:#cbd5e1;text-decoration:none}.footer-links a:hover{color:var(--white);text-decoration:underline}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid #334155;color:#94a3b8;font-size:.875rem}
/* Progressive enhancement and responsive rules */
.has-js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity 500ms ease,transform 500ms ease}.has-js [data-reveal].is-visible{opacity:1;transform:none}
@media(min-width:40rem){.container{width:min(100% - 3rem,var(--container))}.trust-grid{grid-template-columns:repeat(2,1fr)}.path-grid{grid-template-columns:repeat(2,1fr)}.profile-list{grid-template-columns:repeat(2,1fr)}.profile-card:last-child{grid-column:1/-1}.footer-grid{grid-template-columns:2fr 1fr 1fr}.form-grid--two{grid-template-columns:repeat(2,1fr)}.field--full{grid-column:1/-1}}
@media(min-width:64rem){.desktop-nav{display:flex;align-items:center;gap:1rem}.menu-toggle,.mobile-menu{display:none!important}.hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(25rem,.96fr);gap:4.5rem}.trust-grid{grid-template-columns:repeat(4,1fr)}.recommendation{grid-template-columns:1fr 1fr}.profile-list{grid-template-columns:1fr}.profile-card{grid-template-columns:5rem 1fr}.profile-card:nth-child(even){margin-left:4rem}.profile-card:last-child{grid-column:auto}.card{padding:2rem}.footer-grid{grid-template-columns:2fr 1fr 1fr 1.25fr}}
@media(max-width:39.99rem){.button-row .button{width:100%}.metric{min-height:6.5rem;padding:.8rem}.brand-text{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.has-js [data-reveal]{opacity:1;transform:none}}
