/* Life With Favour — base: tokens, reset, typography */
:root{
  --color-bg:#FBF8F3;--color-surface:#fff;--color-text:#1F1F1F;--color-muted:#6B6B6B;--color-primary:#C9892B;--color-secondary:#7A9E7E;--color-border:#E8E1D6;
  --color-danger:#B3261E;--color-success:#2F7A3D;--color-warning:#B26A00;--color-primary-ink:#fff;--color-soft:#F4EEE4;
  --font-heading:"Playfair Display",Georgia,serif;--font-body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius:16px;--radius-sm:12px;--radius-lg:24px;--container:1200px;--narrow:760px;
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;
  --shadow-sm:0 1px 2px rgba(60,40,10,.06),0 1px 1px rgba(60,40,10,.04);
  --shadow:0 4px 12px rgba(60,40,10,.06),0 12px 32px rgba(60,40,10,.06);
  --shadow-lg:0 8px 24px rgba(60,40,10,.10),0 24px 64px rgba(60,40,10,.10);
  --t:200ms ease;
  --fs-sm:clamp(.8rem,.78rem + .1vw,.875rem);--fs-base:clamp(1.0625rem,1rem + .2vw,1.125rem);
  --fs-h3:clamp(1.15rem,1.05rem + .4vw,1.35rem);--fs-h2:clamp(1.6rem,1.3rem + 1.2vw,2.25rem);--fs-h1:clamp(2.1rem,1.5rem + 2.6vw,3.6rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--fs-base);line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2;margin:0 0 .5em;font-weight:600;letter-spacing:-.01em}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}
p{margin:0 0 1em}
img,svg,video,iframe{max-width:100%}img{height:auto;display:block}
a{color:inherit;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px;transition:color var(--t)}
a:hover{color:var(--color-primary)}
ul,ol{margin:0;padding:0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
hr{border:0;border-top:1px solid var(--color-border);margin:var(--s4) 0}
:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;background:var(--color-primary);color:#fff;padding:10px 18px;border-radius:999px;transition:top var(--t)}
.skip-link:focus{top:12px;color:#fff}
.icon{width:1.25em;height:1.25em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-.25em}
.muted{color:var(--color-muted)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
[hidden]{display:none!important}
.mx-auto{margin-inline:auto}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
