
@font-face {
  font-family: 'Libre Caslon Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/LibreCaslonDisplay-regular.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;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/PublicSans-variable.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;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/PublicSans-variable.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;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/PublicSans-variable.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;
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/PublicSans-variable.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;
}
:root{--paper:oklch(96.6% .014 75);--ink:oklch(26% .025 20);--muted:oklch(46% .023 40);--brand:oklch(28% .065 15);--gold:oklch(75% .075 77);--tint:oklch(92.5% .022 75);--line:oklch(81% .025 75);--body:'Public Sans',sans-serif;--display:'Libre Caslon Display',serif;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:48px;--space-xl:96px;--page-width:1240px;--page-gutter:clamp(20px,4vw,48px);--grid-gap:32px;--section-space:clamp(64px,7vw,96px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-color:var(--gold)}a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.wrap{width:min(var(--page-width),calc(100% - 2 * var(--page-gutter)));margin-inline:auto}p,h1,h2,h3{margin-top:0}p{max-width:65ch}h1,h2,h3{font-family:var(--display);font-weight:400}h2{font-size:clamp(40px,4.4vw,60px);line-height:1.08;letter-spacing:-.025em;margin-bottom:24px}h3{font-size:28px;line-height:1.2;letter-spacing:-.015em;margin-bottom:16px}.skip{position:absolute;top:-100px}.skip:focus{top:8px;padding:12px;background:var(--paper);z-index:10}.utility{background:var(--brand);color:var(--paper);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.utility .wrap{display:flex;justify-content:space-between;gap:24px;padding:8px 0}.utility a{text-decoration:none}header .wrap{display:flex;align-items:center;gap:32px;min-height:104px}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;font-family:var(--display);font-size:25px;line-height:1.1;letter-spacing:-.03em}.brand small{display:block;font-family:var(--body);font-size:9px;letter-spacing:.24em;text-transform:uppercase;margin-top:8px;color:var(--muted)}.brand svg{width:64px;height:64px;color:var(--brand);flex:none}.brand .lock-core{fill:oklch(68% .105 72)}nav{margin-left:auto;display:flex;gap:32px;font-size:12px}nav a{text-decoration:none}.eyebrow{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--brand);margin:0 0 24px}.lede{font-size:16px;line-height:1.8;color:var(--muted)}.text-link{font-size:12px;text-decoration-thickness:1px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
/* Shared twelve-column grid. */
.hero,.section-head,.steps,.storage,.situations-inner,.contact .wrap,.footer-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}
.hero-ground{position:relative;isolation:isolate;overflow:hidden;background:oklch(22% .04 15);color:var(--paper)}
.hero{position:static;align-items:start;padding:64px 0 56px;row-gap:32px}
.hero>div:first-child{grid-column:1/8;position:relative;z-index:2;max-width:600px;padding-top:24px}
.hero h1{font-size:clamp(64px,6.2vw,88px);line-height:1.02;letter-spacing:-.035em;margin-bottom:32px}h1 span{color:var(--gold)}
.hero .eyebrow{color:var(--gold);margin-bottom:32px}.hero .lede{color:oklch(85% .025 60);max-width:42ch;font-size:15px;line-height:1.85;margin-bottom:32px}.hero-note{font-size:10px;letter-spacing:.025em;color:oklch(80% .025 60);margin:24px 0 0;max-width:40ch}
.hero-offer{grid-column:9/13;align-self:start;position:relative;z-index:2;padding:32px;background:var(--paper);color:var(--ink);border-top:2px solid var(--gold);min-width:0}
.motion-art{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.motion-art video{position:absolute;top:50%;left:50%;transform:translate(-56%,-50%);width:1400px;height:1634px;max-width:none;object-fit:cover;object-position:right center;opacity:.19;filter:saturate(.68);mask-image:radial-gradient(ellipse 49% 44% at 50% 49%,black 37%,transparent 100%)}
.hero-ground::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,oklch(22% .04 15 / .72),oklch(22% .04 15 / .34) 37%,transparent 65%)}
.motion-toggle{pointer-events:auto;position:absolute;right:max(var(--page-gutter),calc((100% - var(--page-width))/2));bottom:88px;min-height:44px;padding:8px 12px;border:0;background:oklch(22% .04 15 / .4);color:oklch(82% .025 60);font:9px var(--body);text-decoration:underline;text-underline-offset:4px;z-index:3;cursor:pointer}.motion-toggle[hidden]{display:none}.motion-toggle:hover{background:var(--brand)}
.benefits{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap);padding:24px 0;border-top:1px solid oklch(76% .06 75 / .26);font-size:11px;color:oklch(89% .02 65)}.benefits span{display:flex;align-items:center;gap:12px}.benefits b{font-weight:400;color:var(--gold)}
section{padding:var(--section-space) 0}.section-head{align-items:end;row-gap:24px}.section-head>div{grid-column:1/7}.section-head>p{grid-column:7/13;color:var(--muted);font-size:14px;max-width:45ch;margin-bottom:24px}.steps{row-gap:32px;margin-top:32px}.step{grid-column:span 4;padding-top:24px;border-top:1px solid var(--line)}.number{display:block;font-size:11px;letter-spacing:.1em;color:var(--muted);margin-bottom:32px}.step p{font-size:13px;color:var(--muted);max-width:36ch;margin:0}.storage{row-gap:32px;align-items:start}.storage>div:first-child{grid-column:1/5}.storage h2{font-size:clamp(38px,4vw,52px)}.storage .lede{font-size:14px;max-width:36ch;margin-bottom:0}.details{grid-column:6/13;display:grid;grid-template-columns:1fr 1fr;gap:32px}.detail{padding-top:24px;border-top:1px solid var(--line)}.detail h3{font-size:25px}.detail p{font-size:13px;color:var(--muted);margin:0}.situations-inner{row-gap:32px}.situations-inner>div:first-child{grid-column:1/5}.situations-inner>div:last-child{grid-column:6/13}.situations h2{font-size:clamp(38px,4vw,52px)}details{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;list-style:none;font-family:var(--display);font-size:26px;line-height:1.3}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-family:var(--body);font-size:17px;font-weight:300;color:var(--muted)}details[open] summary:after{content:'−'}details p{font-size:13px;color:var(--muted);padding-right:32px;margin-bottom:24px}.contact{padding:64px 0}.contact .wrap{align-items:center;row-gap:32px}.contact .wrap>div{grid-column:1/9}.contact .eyebrow{color:var(--gold);margin-bottom:24px}.contact h2{font-size:clamp(44px,5vw,64px);margin-bottom:16px;max-width:18ch}.contact p{font-size:13px;color:oklch(85% .025 60);margin-bottom:0}footer{padding:48px 0 24px}.footer-top{align-items:start;row-gap:32px}.footer-top>*{grid-column:span 4}.footer-top .brand{font-size:24px}.footer-top address{font-style:normal;font-size:11px;color:var(--muted);line-height:1.9}.links{display:flex;flex-direction:column;align-items:start;gap:8px;font-size:11px;overflow-wrap:anywhere}.fine{border-top:1px solid var(--line);padding-top:24px;margin:32px 0 0;font-size:9px;color:var(--muted);max-width:none;line-height:1.8}
@media(max-width:1100px){:root{--grid-gap:24px}nav{gap:24px}.hero>div:first-child{grid-column:1/7}.hero-offer{grid-column:8/13;padding:24px}.hero h1{font-size:68px}.storage>div:first-child,.situations-inner>div:first-child{grid-column:1/6}.storage h2,.situations h2{font-size:42px}.details,.situations-inner>div:last-child{grid-column:7/13}.details{grid-template-columns:1fr}.hero .lede{font-size:14px}.motion-art video{width:1220px;height:1424px}.footer-top .brand{font-size:22px}}
@media(max-width:800px){.hero{padding:48px 0 72px;row-gap:40px}.hero>div:first-child{grid-column:1/-1;padding-top:0;max-width:620px}.hero h1{font-size:clamp(54px,9vw,72px)}.hero .lede{max-width:52ch}.hero-offer{grid-column:1/-1;max-width:none;padding:32px}.motion-art video{top:280px;width:1000px;height:1167px;opacity:.14}.motion-toggle{bottom:116px}.benefits{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:10px}.section-head>div,.section-head>p{grid-column:1/-1}.section-head{row-gap:0}.section-head>p{max-width:55ch;margin-bottom:16px}.steps{row-gap:32px}.step{grid-column:1/-1;display:grid;grid-template-columns:32px 1fr;column-gap:16px}.step .number{grid-row:1/3;margin:6px 0}.step p{grid-column:2;max-width:55ch}.storage>div:first-child,.details,.situations-inner>div:first-child,.situations-inner>div:last-child{grid-column:1/-1}.details{grid-template-columns:1fr 1fr}.contact .wrap>div{grid-column:1/-1}.footer-top>.brand{grid-column:1/-1}.footer-top>address,.footer-top>.links{grid-column:span 6}}
@media(max-width:560px){:root{--grid-gap:20px}.utility .wrap{font-size:8px;letter-spacing:.04em;gap:16px}.utility .wrap>span{max-width:62%}header .wrap{min-height:88px;gap:16px}.brand{font-size:20px;gap:8px}.brand svg{width:46px;height:46px}.brand small{font-size:8px;letter-spacing:.15em}nav{gap:16px;font-size:11px}.hero h1{font-size:clamp(48px,11vw,62px)}.hero-offer{padding:24px}.details{grid-template-columns:1fr}.footer-top>address,.footer-top>.links{grid-column:1/-1}.contact h2{font-size:48px}.motion-art video{width:850px;height:992px;left:58%;opacity:.13}.motion-toggle{bottom:132px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Taste pass: reduce repeated labels and give each section its own cadence. */
header .wrap{min-height:84px}
.section-head{display:block;max-width:760px;margin-bottom:40px}
.section-head h2{max-width:14ch;margin-bottom:16px}
.section-head>p{max-width:54ch;margin:0;color:var(--muted);font-size:14px}
.steps{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px 32px;margin-top:56px}
.step{grid-column:span 4;position:relative;padding:22px 0 0;border-top:1px solid var(--line)}
.number{font:400 34px/1 var(--display);letter-spacing:-.03em;color:var(--brand);margin:0 0 26px}
.step h3{font-size:26px;margin-bottom:12px}
.step p{max-width:34ch}
.situations-inner{display:block}
.situations-inner>div:first-child{max-width:760px;margin-bottom:38px}
.situations-inner>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;max-width:960px}
.situations h2{max-width:15ch}
.benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:800px){
  .section-head{margin-bottom:32px}
  .steps{display:block;margin-top:40px}
  .step{display:grid;grid-template-columns:42px 1fr;column-gap:18px;padding:22px 0;border-top:1px solid var(--line)}
  .number{grid-row:1/3;margin:2px 0 0;font-size:28px}
  .step h3{margin:0 0 8px}
  .step p{grid-column:2;max-width:55ch}
  .situations-inner>div:last-child{grid-template-columns:1fr;max-width:100%}
  .benefits{display:flex}
}
/* Arrow icon: slides through on hover and focus, darts forward while pressed. */
.arrow{position:relative;display:inline-flex;flex:none;width:18px;height:18px;overflow:hidden;transition:transform .12s ease-out}
.arrow svg{flex:none;width:100%;height:100%;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.arrow svg+svg{position:absolute;inset:0;transform:translateX(-130%)}
@media(hover:hover){a:hover>.arrow svg{transform:translateX(130%)}a:hover>.arrow svg+svg{transform:none}}
a:focus-visible>.arrow svg{transform:translateX(130%)}a:focus-visible>.arrow svg+svg{transform:none}
a:active>.arrow{transform:translateX(6px)}
.text-link .arrow{width:15px;height:15px;margin-left:8px;vertical-align:-3px}

/* Liberty crest hero: copy, crest and offer share one centre line; the crest carries the scales, so no background motion. */
.hero-ground{background:radial-gradient(ellipse 34% 62% at 56% 46%,oklch(29% .06 15 / .85),transparent 72%),oklch(22% .04 15)}
.hero-ground::before{display:none}
.hero{align-items:center}
.hero>div:first-child{grid-column:1/6;grid-row:1;padding-top:0}
.hero-offer{grid-row:1;align-self:center}
.hero-crest{grid-column:6/9;grid-row:1;justify-self:center;align-self:center;position:relative;z-index:2;margin:0;pointer-events:none}
.hero-crest img{display:block;width:100%;max-width:300px;height:auto;filter:drop-shadow(0 26px 30px oklch(12% .03 15 / .5))}
@media(max-width:1100px){.hero>div:first-child{grid-column:1/6}.hero-crest{grid-column:6/8}.hero h1{font-size:60px}}
@media(max-width:800px){.hero>div:first-child,.hero-offer{grid-column:1/-1;grid-row:auto}.hero-crest{grid-column:1/-1;grid-row:auto}.hero-crest img{width:210px}.hero h1{font-size:clamp(54px,9vw,72px)}}
@media(max-width:560px){.hero h1{font-size:clamp(48px,11vw,62px)}.hero-crest img{width:180px}}

/* Liberty directions: emblem and typography form a single left column. */
.hero-ground{background:#301b21}
.hero{grid-template-columns:minmax(0,1fr) 360px;gap:64px;padding:48px 0 56px;align-items:center}
.hero>div:first-child{grid-column:1;grid-row:1;max-width:none;padding:0;display:grid;grid-template-columns:150px minmax(0,1fr);column-gap:28px;align-items:center}
.liberty-emblem{grid-column:1;grid-row:1/3;margin:0;align-self:center}
.liberty-emblem img{display:block;width:100%;height:auto}
.hero .eyebrow{grid-column:2;margin:0 0 20px;align-self:end;font-size:9px}
.hero h1{grid-column:2;font-size:clamp(46px,4.5vw,66px);margin:0;align-self:start;line-height:1.06}
.hero .lede{grid-column:1/-1;margin:32px 0 24px;max-width:51ch;font-size:15px}
.hero .actions{grid-column:1/-1}
.hero-offer{grid-column:2;grid-row:1;padding:32px;align-self:center}
@media(min-width:1250px){.hero>div:first-child{grid-template-columns:190px minmax(0,1fr);column-gap:32px}.hero{gap:72px}}
@media(max-width:1050px) and (min-width:801px){.hero{grid-template-columns:minmax(0,1fr) 320px;gap:32px}.hero>div:first-child{grid-template-columns:110px minmax(0,1fr);gap:16px}.hero h1{font-size:43px}.hero .eyebrow{font-size:8px}.hero-offer{padding:24px}}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:40px}.hero>div:first-child{grid-column:1;grid-row:1;grid-template-columns:150px minmax(0,1fr);gap:0 24px}.hero h1{font-size:clamp(42px,7vw,64px)}.hero-offer{grid-column:1;grid-row:2}.hero .lede{max-width:54ch}}
@media(max-width:480px){.hero>div:first-child{grid-template-columns:90px minmax(0,1fr);column-gap:16px}.hero h1{font-size:clamp(32px,8.6vw,42px)}.hero .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:14px}.hero .lede{font-size:14px;margin-top:28px}.hero-offer{padding:24px}}

/* Hero call card: the offer panel is one telephone link. */
a.hero-offer{display:flex;align-items:center;justify-content:space-between;gap:20px;text-decoration:none;color:var(--ink);transition:background .2s,transform .12s ease-out}
a.hero-offer:hover,a.hero-offer:focus-visible{background:var(--tint)}
a.hero-offer:active{transform:scale(.98)}
.discuss-copy{display:flex;flex-direction:column;gap:12px;min-width:0}
.discuss-title{font-family:var(--display);font-weight:400;font-size:28px;line-height:1.15;letter-spacing:-.02em;color:var(--brand);text-wrap:balance}
.discuss-body{font:13px/1.65 var(--body);color:var(--muted)}
a.hero-offer .arrow{color:var(--brand)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Alternating section bands. Light is the page cream; dark is the brand burgundy. */
.band-light{background:var(--paper);color:var(--ink)}
.band-dark{background:var(--brand);color:var(--paper)}
.band-dark :is(.lede,.section-head>p,.detail p,.step p,details p,address,.fine){color:oklch(85% .025 60)}
.band-dark :is(.detail,.step,details,.fine){border-color:oklch(76% .06 75 / .35)}
.band-dark .number,.band-dark .eyebrow{color:var(--gold)}
.band-dark summary:after{color:oklch(85% .025 60)}
