/* K. Murphy Law design system v1 — "modern and trustworthy"
   Ground: white and a cool, navy-biased grey. Ink: deep navy. Interactive: a clear blue. One bold: copper (from the mandala's gold), reserved for "call" actions.
   Type: Schibsted Grotesk (display) + Public Sans (body). 4px spacing base, 6/10/16 radii, hairline borders, almost no shadow. */
:root{
  /* neutrals (cool, navy-biased) */
  --gray-0:#ffffff; --gray-50:#f5f7fa; --gray-100:#eaeef3; --gray-300:#cfd6de; --gray-600:#5b6775; --gray-900:#14202c;
  /* brand */
  --navy-900:#0b1f36; --navy-700:#11365e; --navy-100:#dbe4ef; --blue-600:#1d5fb4; --blue-50:#e9f0f9;
  --copper-600:#b4651c; --copper-700:#94501a; --copper-300:#e3a657; --copper-50:#faefe2;
  /* semantic */
  --success:#1f7a4d; --warning:#b7791f; --danger:#b42318;
  /* roles (components use only these) */
  --paper:var(--gray-0); --paper-2:var(--gray-50); --ink:var(--gray-900); --muted:var(--gray-600); --rule:var(--gray-300);
  --navy:var(--navy-700); --navy-deep:var(--navy-900); --navy-ink:var(--navy-100); --tint:var(--blue-50); --link:var(--blue-600);
  --copper:var(--copper-600); --copper-bright:var(--copper-300); --copper-tint:var(--copper-50);
  --display:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif; --body:"Public Sans","Helvetica Neue",Arial,sans-serif;
  --r-sm:6px; --r-md:10px; --r-lg:16px;
  --shadow-sm:0 1px 2px rgba(10,31,58,.06); --shadow-md:0 12px 32px -16px rgba(10,31,58,.28);
  --w:72rem; --gutter:max(1.25rem,env(safe-area-inset-left,0px));
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.6;font-feature-settings:"ss01"}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-underline-offset:.15em}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--copper);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.1;margin:0;text-wrap:balance;letter-spacing:-.02em}
h1{font-size:clamp(2.4rem,5.5vw,4rem);line-height:1.02;font-weight:700}
h2{font-size:clamp(1.9rem,3.6vw,2.6rem)}
h3{font-size:1.35rem;line-height:1.25}
h4{font-size:1.05rem;font-family:var(--body);font-weight:600;letter-spacing:0}
p{margin:0 0 1rem}
.lede{font-size:1.25rem;line-height:1.5;color:var(--muted);max-width:40rem}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--copper);margin:0 0 .75rem}
.wrap{max-width:var(--w);margin-inline:auto;padding-left:var(--gutter);padding-right:max(1.25rem,env(safe-area-inset-right,0px))}
.prose{max-width:42rem}.prose h2{margin:2.5rem 0 .75rem;font-size:1.9rem}.prose h3{margin:1.75rem 0 .5rem}.prose ul,.prose ol{padding-left:1.25rem;margin:0 0 1rem}.prose li{margin:.35rem 0}.prose li::marker{color:var(--copper)}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:.6rem 1rem;z-index:100}.skip:focus{left:var(--gutter)}

/* header */
.site-head{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.site-head .wrap{display:flex;align-items:center;gap:1.5rem;min-height:4.25rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);font-family:var(--display);font-size:1.2rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.brand img{width:36px;height:36px}
.brand small{display:block;font-family:var(--body);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1}
.nav{margin-left:auto;display:flex;align-items:center;gap:.25rem}
.nav-link{text-decoration:none;color:var(--ink);font-size:.95rem;font-weight:500;padding:.5rem .7rem;border-radius:4px;white-space:nowrap}
.nav-link:hover{background:var(--paper-2)}
.nav-link[aria-current]{box-shadow:inset 0 -2px 0 var(--copper)}
.nav .btn{margin-left:.5rem;white-space:nowrap}
.menu{display:none}
@media (max-width:1160px){
  .nav{display:none}
  .menu{display:block}
  .menu summary{list-style:none;cursor:pointer;font-weight:600;font-size:.95rem;padding:.5rem .75rem;border:1px solid var(--rule);border-radius:4px}
  .menu summary::-webkit-details-marker{display:none}
  .menu[open] summary{background:var(--paper-2)}
  .menu-panel{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--rule);padding:.75rem var(--gutter) 1.25rem;display:grid;gap:.25rem;box-shadow:0 18px 30px -20px rgba(20,32,44,.35)}
  .menu-panel a{text-decoration:none;color:var(--ink);font-size:1.1rem;font-weight:500;padding:.6rem .25rem;border-bottom:1px solid var(--rule)}
}

/* global language switch */
.lang-switch{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto;padding:.3rem .55rem .3rem .5rem;border:1px solid var(--rule);border-radius:999px;background:var(--gray-0);text-decoration:none;color:var(--muted);font-size:.78rem;font-weight:600;letter-spacing:.06em;line-height:1;white-space:nowrap}
.lang-switch svg{width:15px;height:15px;color:var(--navy)}
.lang-switch .cur{background:var(--navy);color:#fff;padding:.3rem .45rem;border-radius:999px}
.lang-switch .alt{padding:.3rem .2rem .3rem .1rem}
.lang-switch:hover{border-color:var(--navy);color:var(--navy)}
.nav + .lang-switch{margin-left:.25rem}
.site-foot .legal-lang{grid-column:1/-1;display:flex;align-items:center;gap:.75rem;font-size:.82rem;color:#aab7c6;margin:0}
.site-foot .lang-switch{margin:0;background:transparent;border-color:rgba(255,255,255,.3);color:#aab7c6}
.site-foot .lang-switch svg{color:var(--copper-bright)}
.site-foot .lang-switch .cur{background:#fff;color:var(--navy-deep)}
.site-foot .lang-switch:hover{border-color:#fff;color:#fff}
@media (max-width:1160px){.menu{margin-left:.5rem}}
@media (max-width:600px){.brand{flex-shrink:0;font-size:1.05rem}.brand small{display:none}.site-head .wrap{gap:.75rem}.lang-switch{padding:.25rem .45rem .25rem .4rem;font-size:.72rem}.lang-switch .cur{padding:.25rem .4rem}.menu summary{padding:.5rem .6rem}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.25rem;border-radius:var(--r-sm);font-weight:600;font-size:1rem;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-family:var(--body);line-height:1.2}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-deep)}
.btn-call{background:var(--copper);color:#fff}.btn-call:hover{background:var(--copper-700)}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}.btn-ghost:hover{background:var(--paper-2)}
.on-dark .btn-ghost{border-color:var(--navy-ink);color:#fff}.on-dark .btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn svg{width:1.1em;height:1.1em}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.cta-note{font-size:.9rem;color:var(--muted);margin:0}

/* sticky phone bar on phones */
.callbar{display:none}
@media (max-width:720px){
  .callbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:.6rem var(--gutter) calc(.6rem + env(safe-area-inset-bottom,0px));gap:.5rem;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--rule)}
  .callbar .btn{justify-content:center}
  body{padding-bottom:5.5rem}
}

/* sections */
.section{padding-block:clamp(3.5rem,8vw,6.5rem)}
.section-tight{padding-block:clamp(2.5rem,5vw,4rem)}
.on-dark{background:var(--navy);color:var(--navy-ink)}
.on-dark h1,.on-dark h2,.on-dark h3{color:#fff}.on-dark a{color:#fff}.on-dark{--link:#fff}.on-dark .eyebrow{color:var(--copper-bright)}.on-dark .lede,.on-dark .cta-note{color:var(--navy-ink)}
.on-tint{background:var(--paper-2)}
.sec-head{display:grid;gap:.75rem;max-width:44rem;margin-bottom:2.25rem}
.sec-head .lede{margin:0}
.rule{border:0;border-top:1px solid var(--rule);margin:0}

/* hero */
.hero{padding-block:clamp(3rem,7vw,6rem) clamp(2.5rem,5vw,4rem)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,5rem);align-items:end}
.hero h1 em{font-style:normal;color:var(--link)}
.hero .lede{margin:1.25rem 0 1.75rem;color:var(--ink)}
.portrait{position:relative;margin:0;aspect-ratio:4/5;max-width:28rem;width:100%;justify-self:end;background:var(--navy-deep);border-radius:var(--r-lg);overflow:hidden;isolation:isolate}
.portrait::before{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(to top,var(--navy-deep),transparent);z-index:1}
.portrait img{position:absolute;inset:8% 0 0 0;width:100%;height:100%;object-fit:cover;object-position:top;filter:saturate(.92)}
.portrait figcaption{position:absolute;left:1.25rem;right:1.25rem;bottom:1.1rem;z-index:2;color:#fff;font-size:.9rem;line-height:1.35}
.portrait figcaption b{display:block;font-family:var(--display);font-size:1.2rem;font-weight:600}
.portrait .cap-rule{display:block;width:2.5rem;height:3px;background:var(--copper-bright);margin-bottom:.6rem}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.portrait{justify-self:start;max-width:min(22rem,100%);aspect-ratio:1/1}}
@media (max-width:520px){.facts{grid-template-columns:1fr}}

/* trust strip */
.trust{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--gray-50)}
.trust .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:0}
.trust div{padding:1.25rem 1rem 1.25rem 0;border-right:1px solid var(--rule);margin-right:1rem}
.trust div:last-child{border-right:0}
.trust b{display:block;font-family:var(--display);font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;color:var(--navy)}
.trust span{font-size:.85rem;color:var(--muted)}
.trust .stars{display:block;color:var(--copper);letter-spacing:.05em;font-size:.9rem;margin:.2rem 0 .1rem}
@media (max-width:720px){.trust .wrap{grid-template-columns:1fr 1fr}.trust div:nth-child(2n){border-right:0}}

/* steps */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.5rem 2.5rem;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;position:relative;padding-top:1rem;border-top:2px solid var(--navy)}
.steps li::before{content:"0" counter(s);font-family:var(--display);font-weight:600;font-size:1.4rem;color:var(--copper);display:block;margin-bottom:.4rem;font-variant-numeric:tabular-nums}
.steps h3{margin-bottom:.5rem}
.steps p{margin:0;color:var(--muted)}
.steps .when{font-size:.78rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--navy);display:block;margin-bottom:.35rem}

/* cards grid */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.25rem}
.card{display:block;background:var(--gray-0);border:1px solid var(--rule);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:1.5rem;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
a.card:hover{border-color:var(--navy);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.card h3{margin-bottom:.5rem}
.card p{margin:0;color:var(--muted);font-size:.98rem}
.card .more{display:inline-block;margin-top:1rem;font-weight:600;color:var(--navy);font-size:.95rem}
.card .more::after{content:" \2192"}
.card.ghost{background:transparent;border-style:dashed}

/* reviews */
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.25rem}
.review{background:var(--gray-0);border:1px solid var(--rule);border-radius:var(--r-md);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}
.review .stars{color:var(--copper);font-size:.9rem;letter-spacing:.08em}
.review blockquote{margin:0;font-family:var(--body);font-size:1.05rem;line-height:1.5}
.review blockquote strong{font-weight:500;color:var(--navy)}
.review footer{font-size:.85rem;color:var(--muted);margin-top:auto}
.review-wide{max-width:48rem}

/* endorsement band */
.quote-band blockquote{margin:0;font-family:var(--display);font-weight:500;font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.3;letter-spacing:-.01em;max-width:50rem;text-wrap:balance}
.quote-band cite{display:block;font-style:normal;font-family:var(--body);font-size:.95rem;margin-top:1.25rem;color:var(--navy-ink)}
.quote-band cite b{color:#fff;font-weight:600}

/* lists of links */
.linklist{list-style:none;padding:0;margin:0;display:grid;gap:0}
.linklist li{border-top:1px solid var(--rule)}
.linklist li:last-child{border-bottom:1px solid var(--rule)}
.linklist a{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:baseline;padding:1rem 0;text-decoration:none;color:var(--ink)}
.linklist a:hover b{color:var(--navy);text-decoration:underline}
.linklist b{font-family:var(--display);font-size:1.2rem;font-weight:600}
.linklist span{font-size:.9rem;color:var(--muted)}
.linklist .arrow{color:var(--copper);font-size:1.3rem}

/* logos row */
.logos{display:flex;flex-wrap:wrap;gap:.75rem 2rem;align-items:center;font-family:var(--display);font-weight:600;font-size:1rem;color:var(--muted)}
.logos span{white-space:nowrap}

/* two column page body */
.cols{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:3rem;align-items:start}
.aside{position:sticky;top:5.25rem;display:grid;gap:1rem}
.aside .panel{background:var(--gray-0);border:1px solid var(--rule);border-radius:var(--r-md);padding:1.25rem}
.aside .panel h4{margin:0 0 .5rem}
.aside .panel p{margin:0 0 .75rem;font-size:.95rem;color:var(--muted)}
.aside .panel .btn{width:100%;justify-content:center}
.aside .panel-dark{background:var(--navy);color:var(--navy-ink);border-color:var(--navy)}
.aside .panel-dark h4{color:#fff}.aside .panel-dark p{color:var(--navy-ink)}
.aside nav a{display:block;padding:.4rem 0;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--rule);font-size:.95rem}
.aside nav a[aria-current]{font-weight:600;color:var(--navy)}
@media (max-width:860px){.cols{grid-template-columns:1fr}.aside{position:static}}

/* page hero (interior) */
.page-hero{padding-block:clamp(2.5rem,6vw,4.5rem) clamp(2rem,4vw,3rem);border-bottom:1px solid var(--rule);background:var(--gray-50)}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.5rem);max-width:22ch}
.page-hero .lede{margin-top:1rem}
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:1.25rem}.crumbs a{color:var(--muted)}

/* callouts & facts */
.callout{border-left:3px solid var(--copper);background:var(--copper-tint);padding:1rem 1.25rem;border-radius:0 var(--r-sm) var(--r-sm) 0;margin:1.5rem 0}
.callout b{display:block;margin-bottom:.25rem}
.callout p:last-child{margin:0}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--r-md);overflow:hidden;margin:1.5rem 0}
.facts div{background:var(--gray-0);padding:1rem 1.1rem}
.facts b{display:block;font-family:var(--display);font-size:1.35rem;font-weight:600;letter-spacing:-.01em;line-height:1.15;color:var(--navy)}
.facts span{font-size:.85rem;color:var(--muted)}
table{border-collapse:collapse;width:100%;font-size:.95rem;margin:1rem 0 1.5rem}
th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--rule);vertical-align:top}
th{font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600}
.tscroll{overflow-x:auto}
.ladder{list-style:none;padding:0;margin:1.5rem 0;display:grid;gap:0}
.ladder li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--rule);align-items:start}
.ladder li:last-child{border-bottom:1px solid var(--rule)}
.ladder .rung{font-family:var(--display);font-weight:600;font-size:1.4rem;color:var(--copper);font-variant-numeric:tabular-nums}
.ladder b{display:block;font-family:var(--display);font-size:1.15rem;font-weight:600}
.ladder p{margin:.25rem 0 0;font-size:.95rem;color:var(--muted)}
.paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.25rem;margin:1.5rem 0}
.path{background:var(--gray-0);border:1px solid var(--rule);border-radius:var(--r-md);padding:1.5rem}
.path h3{margin-bottom:.25rem}.path .sub{color:var(--muted);font-size:.9rem;margin-bottom:1rem}
.path ul{padding-left:1.1rem;margin:0}.path li{margin:.4rem 0}
.faq details{border-top:1px solid var(--rule)}
.faq details:last-child{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;padding:1rem 0;font-family:var(--display);font-size:1.1rem;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--copper);font-size:1.5rem;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin:0 0 1rem;max-width:42rem;color:var(--muted)}

/* endorsements */
.endorse{columns:2;column-gap:1.5rem}
.endorse figure{break-inside:avoid;margin:0 0 1.5rem;background:var(--gray-0);border:1px solid var(--rule);border-radius:var(--r-md);padding:1.5rem}
.endorse blockquote{margin:0 0 .75rem;font-family:var(--body);font-size:1.05rem;line-height:1.5}
.endorse figcaption{font-size:.85rem;color:var(--muted)}.endorse figcaption b{color:var(--ink)}
@media (max-width:720px){.endorse{columns:1}}

/* contact */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:start}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
.contact-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.contact-list li{display:grid;gap:.15rem}
.contact-list span{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.contact-list a,.contact-list b{font-family:var(--display);font-size:1.4rem;font-weight:600;letter-spacing:-.01em;text-decoration:none;color:var(--navy)}
form{display:grid;gap:1rem;background:var(--gray-0);border:1px solid var(--rule);border-radius:var(--r-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}
label{display:grid;gap:.35rem;font-size:.9rem;font-weight:600}
input,textarea,select{font:inherit;padding:.7rem .8rem;border:1px solid var(--gray-300);border-radius:var(--r-sm);background:#fff;color:var(--ink);width:100%}
textarea{min-height:7rem;resize:vertical}
.form-note{font-size:.85rem;color:var(--muted);margin:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:520px){.row2{grid-template-columns:1fr}}

/* footer */
.site-foot{background:var(--navy-deep);color:var(--navy-ink);padding-block:3.5rem 2.5rem;font-size:.95rem;--link:#fff}
.site-foot a{color:#fff}
.site-foot .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem}
.site-foot h4{color:#fff;margin:0 0 .75rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.site-foot ul{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}
.site-foot .brand{color:#fff;margin-bottom:1rem}
.site-foot .brand small{color:var(--navy-ink)}
.site-foot address{font-style:normal;line-height:1.6}
.site-foot .legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:1.5rem;font-size:.82rem;color:#aab7c6;max-width:70rem}
@media (max-width:860px){.site-foot .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.site-foot .wrap{grid-template-columns:1fr}}
