/* Gullickson Lawyers homepage. Converted from the Claude Design export (28 Oct 2026). */

/* Brand tokens */
:root{
  --charcoal:#2f2f2d;
  --graphite:#565451;
  --hampton:#b6aea3;
  --porcelain:#f4f3f0;
  --white:#ffffff;
  --logo-ink:#262626;
  --space-1:4px;
  --space-2:8px;
  --space-4:16px;
  --space-6:24px;
  --space-8:32px;
  --space-12:48px;
  --space-16:64px;
  --space-24:96px;
  --radius-none:0px;
  --radius-sm:2px;
  --radius-md:4px;
  --font-serif:"Cormorant Garamond", Garamond, "Times New Roman", serif;
  --font-sans:"DM Sans", "Helvetica Neue", Arial, sans-serif;
  --text-display:500 64px/68px var(--font-serif);
  --text-h1:500 48px/54px var(--font-serif);
  --text-h2:500 36px/42px var(--font-serif);
  --text-h3:600 28px/34px var(--font-serif);
  --text-quote:italic 400 26px/36px var(--font-serif);
  --text-wordmark-caps:400 20px/28px var(--font-serif);
  --text-lead:300 20px/32px var(--font-sans);
  --text-body:400 17px/28px var(--font-sans);
  --text-small:400 14px/22px var(--font-sans);
  --text-label:500 15px/20px var(--font-sans);
  --text-eyebrow:500 12px/16px var(--font-sans);
}

/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtFmSqn7B6DxjY.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtMmSqn7B6DxjY.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtHmSqn7B6DxjY.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSqn7B6DxjY.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtFmSqn7B6DxjY.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtMmSqn7B6DxjY.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtHmSqn7B6DxjY.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSqn7B6DxjY.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKky2F7i6C.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKky2F7i6C.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKky2F7i6C.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKky2F7i6C.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKky2F7i6C.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKky2F7i6C.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKky2F7i6C.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKky2F7i6C.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKky2F7i6C.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKky2F7i6C.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKky2F7i6C.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKky2F7i6C.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/cormorant-garamond-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZ2IHTWEBlwu8Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/dm-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZ2IHTWEBlwu8Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/dm-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZ2IHTWEBlwu8Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/dm-sans-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body{margin:0;background:#ffffff}
*{box-sizing:border-box}
a{color:#2f2f2d;text-decoration:none}a:hover{color:#565451}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 32px}
.serif{font-family:'Cormorant Garamond',Georgia,serif}
.eyebrow{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}

/* Buttons — square, 48px, arrow swaps on hover (Thornhill) */
.btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 20px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;line-height:1;white-space:nowrap;border-radius:0;transition:background-color .35s ease,color .35s ease,border-color .35s ease;cursor:pointer}
.btn-dark{background:#2f2f2d;color:#ffffff}.btn-dark:hover{background:#565451;color:#ffffff}
.btn-light{background:#ffffff;color:#2f2f2d}.btn-light:hover{background:#f4f3f0;color:#2f2f2d}
.btn-ghost{background:transparent;color:#ffffff;border:1px solid rgba(255,255,255,.55)}.btn-ghost:hover{background:#ffffff;color:#2f2f2d;border-color:#ffffff}
.ico{position:relative;display:inline-block;width:15px;height:15px;overflow:hidden;flex:none}
.ico svg{position:absolute;left:3px;top:3px;width:9px;height:9px;transition:transform .5s cubic-bezier(.65,0,.35,1)}
.ico .a2{transform:translate(-15px,15px)}
.btn:hover .ico .a1,.svc:hover .ico .a1,.news-card:hover .ico .a1{transform:translate(15px,-15px)}
.btn:hover .ico .a2,.svc:hover .ico .a2,.news-card:hover .ico .a2{transform:translate(0,0)}

/* Hero line link */
.line-link{display:flex;align-items:center;justify-content:space-between;width:300px;padding:0 0 16px;border-bottom:1px solid rgba(255,255,255,.4);color:#ffffff;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:500;transition:border-color .35s ease}
.line-link:hover{color:#ffffff;border-color:#ffffff}
.harr{position:relative;width:14px;height:12px;overflow:hidden;display:inline-block}
.harr svg{position:absolute;left:1px;top:1px;width:12px;height:10px;transition:transform .5s cubic-bezier(.65,0,.35,1)}
.harr .a2{transform:translateX(-16px)}
.line-link:hover .harr .a1{transform:translateX(16px)}.line-link:hover .harr .a2{transform:translateX(0)}

/* Header + nav */
.nav-item{position:relative}
.nav-link{display:inline-flex;align-items:center;gap:6px;padding:18px 0;color:#ffffff;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;transition:opacity .3s ease}
.nav-link:hover{color:#ffffff;opacity:.65}
.chev{width:9px;height:6px;transition:transform .3s ease}
.nav-item:hover .chev{transform:rotate(180deg)}
.dd{position:absolute;top:100%;left:50%;min-width:250px;padding:12px 0;background:#ffffff;border:1px solid #e6e3de;opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:opacity .3s ease,transform .3s ease,visibility .3s;z-index:20;text-align:left}
.nav-item:hover .dd{opacity:1;visibility:visible;transform:translate(-50%,0)}
.dd a{display:block;padding:9px 22px;font-family:'DM Sans',sans-serif;font-size:14px;color:#2f2f2d;transition:background-color .25s ease}
.dd a:hover{background:#f4f3f0;color:#2f2f2d}
.dd a.sub{padding-left:38px;color:#565451;font-size:13px}
.dd-2{min-width:520px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.burger{display:none}
.h1-line{display:block;white-space:nowrap}

/* Services (Thornhill practice cards) */
.svc{position:relative;display:block;overflow:hidden;aspect-ratio:1/1;background:#2f2f2d;color:#ffffff}
.svc:hover{color:#ffffff}
.svc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.svc:hover img{transform:scale(1.04)}
.svc .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,28,27,0) 40%,rgba(28,28,27,.7) 100%);transition:background-color .6s ease}
.svc:hover .shade{background-color:rgba(28,28,27,.18)}
.svc-body{position:absolute;left:28px;right:28px;bottom:24px;display:flex;flex-direction:column}
.svc-title{font-size:30px;line-height:1.15;font-weight:400;letter-spacing:-0.02em}
.svc-desc{display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;transition:grid-template-rows .6s cubic-bezier(.65,0,.35,1),margin-top .6s cubic-bezier(.65,0,.35,1),opacity .5s ease}
.svc-desc > span{overflow:hidden;max-width:250px;font-size:15px;line-height:1.35;color:rgba(255,255,255,.92)}
.svc:hover .svc-desc{grid-template-rows:1fr;opacity:1;margin-top:18px}

/* Stat metrics (Thornhill In Numbers) */
.stat-row{display:grid;grid-template-columns:minmax(0,551fr) minmax(0,480fr);align-items:center;gap:24px;padding:36px 0;border-bottom:1px solid #e6e3de}
.stat-row:first-child{padding-top:0}
.stat-row:last-child{border-bottom:0;padding-bottom:0}
.stat-label{margin:0;font-size:17px;line-height:1.4;color:#75716b}
.stat-num{margin:0;font-size:92px;font-weight:300;line-height:1.05;letter-spacing:-0.05em;color:#2f2f2d}

/* USP slider */
.usp-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.usp-slide.is-on{opacity:1}
.usp-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 7s linear}
.usp-slide.is-on img{transform:scale(1)}
.usp-copy{position:absolute;inset:0;opacity:0;transform:translateY(14px);transition:opacity .8s ease .35s,transform .8s ease .35s;pointer-events:none}
.usp-copy.is-on{opacity:1;transform:translateY(0);pointer-events:auto}
.dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:background-color .3s ease,width .3s ease}
.dot.is-on{background:#ffffff}
.dot-hit{display:inline-flex;align-items:center;justify-content:center;width:22px;height:44px;padding:0;border:0;background:transparent;cursor:pointer}

/* Arrows */
.arrow-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #b6aea3;background:transparent;color:#2f2f2d;cursor:pointer;border-radius:0;transition:background-color .35s ease,color .35s ease,border-color .35s ease}
.arrow-btn:hover{background:#2f2f2d;border-color:#2f2f2d;color:#ffffff}
.arrow-btn.is-off{opacity:.35;pointer-events:none}

/* Testimonial fade */
.quote-swap{animation:qin .7s ease both}
@keyframes qin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* FAQ */
.faq{border-top:1px solid rgba(255,255,255,0.22)}
.faq:last-child{border-bottom:1px solid rgba(255,255,255,0.22)}
.faq-q{display:flex;width:100%;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;background:transparent;border:0;text-align:left;cursor:pointer;color:#ffffff;font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;font-weight:500;line-height:1.2}
.faq-q:hover .pm{color:#b6aea3}
.faq-q:focus-visible{outline-color:#ffffff}
.pm{position:relative;flex:none;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;transition:color .3s ease}
.pm .v{transition:transform .4s ease}
.faq.is-open .pm .v{transform:scaleY(0)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s ease}
.faq.is-open .faq-a{grid-template-rows:1fr}
.faq-a > div{overflow:hidden}

/* News */
.news-track{--card:calc((100% - 48px) / 3);display:flex;gap:24px;transition:transform .8s cubic-bezier(.65,0,.35,1)}
.news-card{flex:0 0 var(--card);display:block;color:#2f2f2d}
.news-card:hover{color:#2f2f2d}
.news-card .im{overflow:hidden;aspect-ratio:4/3;background:#e6e3de}
.news-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.news-card:hover img{transform:scale(1.05)}
.news-card .t{background-image:linear-gradient(#2f2f2d,#2f2f2d);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .5s ease}
.news-card:hover .t{background-size:100% 1px}

/* Footer */
.f-link{display:block;padding:5px 0;color:rgba(255,255,255,.78);font-family:'DM Sans',sans-serif;font-size:14px;transition:color .3s ease}
.f-link:hover{color:#ffffff}
.f-link.sub{padding-left:12px;font-size:13px;color:rgba(255,255,255,.6)}
.u-link{color:rgba(255,255,255,.7);transition:color .3s ease}.u-link:hover{color:#ffffff}
.field{height:48px;flex:1 1 220px;min-width:0;padding:0 16px;border:1px solid rgba(255,255,255,.35);border-radius:0;background:transparent;color:#ffffff;font-family:'DM Sans',sans-serif;font-size:15px}
.field::placeholder{color:rgba(255,255,255,.6)}
.field:focus{outline:2px solid #f4f3f0;outline-offset:2px}
a:focus-visible,button:focus-visible{outline:2px solid #2f2f2d;outline-offset:2px}

@media (max-width: 1080px){
.hide-m{display:none !important}
.burger{display:inline-flex !important}
.g-2{grid-template-columns:minmax(0,1fr) !important;gap:40px !important}
.g-4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.f-cols{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.h1{font-size:60px !important}
.h2{font-size:42px !important}
.stmt{font-size:30px !important}
.news-track{--card:85%}
.sec{padding-top:72px !important;padding-bottom:72px !important}
.usp-row{grid-template-columns:minmax(0,1fr) !important;gap:20px !important}
.hero-grid{grid-template-columns:minmax(0,1fr) !important}
.stat-num{font-size:60px !important}
.stat-row:first-child{padding-top:36px !important}
.hg-cta{grid-column:1 !important;grid-row:4 !important;margin:36px 0 0 !important}
.hg-rating{grid-column:1 !important;grid-row:5 !important;margin:24px 0 0 !important}
}
@media (max-width: 600px){
.g-4{grid-template-columns:minmax(0,1fr) !important}
.f-cols{grid-template-columns:minmax(0,1fr) !important}
.h1{font-size:46px !important}
.wrap{padding:0 16px}
.line-link{width:100%}
.h1-line{white-space:normal}
}

/* Static-build additions (replace the design tool's runtime) */
.news-track{transform:translateX(calc(var(--n, 0) * -1 * (var(--card) + 24px)))}
.t-slide{display:none}
.t-slide.is-on{display:block}
