:root{
  --ink:#1F2C3D; --ink-2:#5a6573; --ink-3:#8c95a0;
  --sand:#b08850; --sand-2:#c9a572;
  --paper:#f4ecdb; --bone:#f6f2e7; --offwhite:#fbf8f1; --rule:#d8cfb8;
  --serif:'Source Serif 4', Georgia, serif;
  --sans:'IBM Plex Sans', system-ui, sans-serif;
  --mono:'IBM Plex Mono', ui-monospace, monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--offwhite);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a.in:hover{color:var(--sand)}
img{display:block;max-width:100%}

.a-logo-full{display:inline-block;background:url('logo_full.png') left center/contain no-repeat;aspect-ratio:1594/416}
.a-logo-full.on-dark{background-image:url('logo_full_dark.png')}

.display-1{font-family:var(--serif);font-weight:600;font-size:72px;line-height:.98;letter-spacing:-.02em;margin:0}
.display-3{font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.1;letter-spacing:-.005em;margin:0}
.lead{font-family:var(--serif);font-size:18px;line-height:1.55;color:var(--ink-2)}
.num-tag{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--sand);text-transform:uppercase}
em{font-style:italic}

main{max-width:1280px;margin:0 auto;background:var(--offwhite)}
.page-hero{background:var(--ink);color:var(--paper);padding:140px 96px 80px;width:100vw;margin-left:calc(50% - 50vw);position:relative;overflow:hidden}
.page-hero .inner{max-width:1280px;margin:0 auto}
.page-hero .display-1{color:var(--paper)}
.page-hero .display-1 em{color:var(--sand-2);font-weight:500}

.top-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 56px;border-bottom:1px solid rgba(176,136,80,.25);color:var(--paper);gap:16px;position:relative;z-index:3}
.top-nav.menu-open{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:0;background:transparent;padding:14px 22px}
.top-nav.menu-open > a:first-child{visibility:hidden}
.top-nav .links{display:flex;gap:28px;font-weight:500;font-size:13px;color:rgba(244,236,219,.85)}
.top-nav .links a:hover{color:var(--sand-2)}
.top-nav .tel{font-family:var(--serif);font-weight:600;font-size:16px;color:var(--paper)}
.top-nav .right{display:flex;align-items:center;gap:14px}

/* Hamburger (legal pages — paper-on-ink) */
.ham{display:none;width:40px;height:40px;border:0;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}
.ham span{display:block;width:22px;height:1.5px;background:var(--paper);transition:.25s}
.ham.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.ham.open span:nth-child(2){opacity:0}
.ham.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:49;padding:84px 32px 32px;display:flex;flex-direction:column;gap:6px;opacity:0;pointer-events:none;transition:opacity .3s;overflow-y:auto}
.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu a{font-family:var(--serif);font-size:30px;padding:14px 0;border-bottom:1px solid rgba(176,136,80,.25);color:var(--paper)}
.mobile-menu a.cta{margin-top:24px;border:0;background:var(--sand);color:var(--ink);padding:16px 22px;text-align:center;font-weight:600;font-family:var(--sans);font-size:16px}
.mobile-menu .tel-block{margin-top:24px;display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,236,219,.55)}
.mobile-menu .tel-block a{font-family:var(--serif);font-size:22px;padding:0;border:0;color:var(--sand-2);letter-spacing:0;text-transform:none}

.legal{padding:80px 96px;display:grid;grid-template-columns:240px 1fr;gap:80px;align-items:start}
.legal aside{position:sticky;top:32px}
.legal aside h5{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--sand);text-transform:uppercase;margin:0 0 14px}
.legal aside ol{list-style:none;padding:0;margin:0;counter-reset:t;font-family:var(--serif);font-size:14px;line-height:1.6}
.legal aside li{counter-increment:t;padding:6px 0;border-bottom:1px dashed var(--rule)}
.legal aside li::before{content:"§ " counter(t,decimal-leading-zero) " ";font-family:var(--mono);font-size:10px;color:var(--sand);letter-spacing:.1em;margin-right:8px}
.legal aside a:hover{color:var(--sand)}

.legal article h2{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.15;margin:48px 0 14px;letter-spacing:-.005em;border-top:1px solid var(--rule);padding-top:32px}
.legal article h2:first-of-type{border-top:0;padding-top:0;margin-top:0}
.legal article h3{font-family:var(--serif);font-weight:600;font-size:20px;margin:28px 0 8px}
.legal article p, .legal article li{font-family:var(--serif);font-size:16px;line-height:1.65;color:var(--ink)}
.legal article p{margin:0 0 14px}
.legal article ul, .legal article ol{padding-left:20px;margin:8px 0 16px}
.legal article li{margin-bottom:6px}
.legal article a.in{color:var(--sand);text-decoration:underline;text-underline-offset:2px}
.legal article .data-card{background:var(--bone);border:1px solid var(--rule);padding:24px 28px;margin:8px 0 28px;font-family:var(--serif);font-size:16px;line-height:1.7}
.legal article .data-card b{font-weight:600}
.legal article table{width:100%;border-collapse:collapse;font-family:var(--serif);font-size:15px;margin:8px 0 22px}
.legal article th, .legal article td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--rule);vertical-align:top}
.legal article th{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--sand);text-transform:uppercase;font-weight:500;background:var(--bone)}
.legal article .upd{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--ink-3);text-transform:uppercase;margin-bottom:48px}

footer .foot-col a{color:var(--paper);text-decoration:none;transition:color .2s}
footer .foot-col a:hover{color:var(--sand-2) !important}
footer{background:var(--ink);color:var(--paper);padding:56px 96px 32px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(176,136,80,.3)}
.foot-quote{font-family:var(--serif);font-style:italic;margin-top:24px;max-width:300px;color:rgba(244,236,219,.75);font-size:15px}
.foot-col h4{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.2em;color:rgba(176,136,80,.85);text-transform:uppercase;margin:0 0 12px}
.foot-col ul{list-style:none;padding:0;margin:0;font-size:13px;line-height:1.8;color:rgba(244,236,219,.85)}
.foot-base{display:flex;justify-content:space-between;margin-top:24px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:rgba(244,236,219,.5);text-transform:uppercase}

@media (max-width:980px){
  .top-nav{padding:14px 22px}
  .top-nav .links,.top-nav .tel{display:none}
  .ham{display:flex}
  .page-hero{padding:72px 22px 48px}
  .page-hero .display-1,.display-1{font-size:40px;line-height:1}
  .page-hero .lead{font-size:16px}
  .legal{padding:40px 22px 56px;grid-template-columns:1fr;gap:32px}
  .legal aside{position:static;background:var(--bone);border:1px solid var(--rule);padding:18px 20px}
  .legal aside h5{margin-bottom:10px}
  .legal aside ol{font-size:13px}
  .legal article h2{font-size:24px;margin:32px 0 10px;padding-top:24px}
  .legal article h3{font-size:18px;margin:20px 0 6px}
  .legal article p,.legal article li{font-size:15px;line-height:1.6}
  .legal article .data-card{padding:18px 20px;font-size:15px}
  .legal article table{font-size:14px}
  .legal article th,.legal article td{padding:8px 10px}
  .foot-grid{grid-template-columns:1fr;gap:28px}
  footer{padding:40px 22px 24px}
  .foot-base{flex-direction:column;gap:8px;align-items:flex-start}
}
@media (max-width:480px){
  .page-hero .display-1,.display-1{font-size:34px}
  .legal aside ol li{padding:5px 0;font-size:12px}
  .legal article{word-wrap:break-word;overflow-wrap:break-word}
  .legal article a.in{word-break:break-word}
}
