/* Asteria Capital — shared page chrome: tokens, paper, sheet frame, title-block header, footer.
   Accent: Aston Martin racing green. Used by every page (the land calculator loads only this file). */
:root{
  --paper:#ECE9E2; --paper-2:#E4E0D7; --vellum:#F4F2EC;
  --ink:#1E211F; --ink-2:#4A4F4B; --pencil:#8E8A80; --line:#C9C4B8;
  --moss:#38423E; --moss-2:#2C3430; --terra:#0F5A46; --terra-ink:#0B4636; --terra-lt:#8FD1B4; --leaf:#2F6B52; --leaf-2:#8DB5A2;
  --display:'Archivo','Helvetica Neue',Arial,sans-serif;
  --serif:'Spectral',Georgia,serif;
  --mono:'Geist Mono',ui-monospace,Menlo,monospace;
  --inset:14px; --pad:clamp(20px,4vw,56px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--display);font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased;overflow-x:hidden}
/* paper grain */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.07;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:20px;top:20px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 14px}

/* ---------- sheet frame */
.frame{position:fixed;inset:var(--inset);border:1px solid var(--line);pointer-events:none;z-index:50}
.cross{position:absolute;width:13px;height:13px}
.cross::before,.cross::after{content:"";position:absolute;background:var(--pencil)}
.cross::before{left:6px;top:0;width:1px;height:13px}.cross::after{top:6px;left:0;height:1px;width:13px}
.cross.tl{left:-7px;top:-7px}.cross.tr{right:-7px;top:-7px}.cross.bl{left:-7px;bottom:-7px}.cross.br{right:-7px;bottom:-7px}
main,.foot,.tb,.mnav{margin:0 calc(var(--inset) + 1px)}
/* ---------- title-block header */
.tb{position:sticky;top:var(--inset);z-index:40;display:flex;align-items:stretch;justify-content:space-between;margin-top:var(--inset);
  background:rgba(236,233,226,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);height:64px;box-shadow:0 calc(-1 * var(--inset) - 1px) 0 var(--paper)}
.tb__logo{display:flex;align-items:center;gap:12px;padding:0 var(--pad) 0 22px;text-decoration:none;font-size:15px;letter-spacing:.2em;text-transform:uppercase;font-weight:300}
.tb__logo svg{width:24px;height:24px;fill:none;stroke:var(--ink);stroke-width:1.3}
.tb__logo b{font-weight:600;margin-left:.45em}
.tb__nav{display:flex}
.tb__nav a{position:relative;display:flex;align-items:flex-end;min-width:150px;padding:0 16px 12px;border-left:1px solid var(--line);text-decoration:none;font-size:14px;font-weight:500;transition:background .2s}
.tb__nav a small{position:absolute;top:9px;left:16px;color:var(--pencil)}
.tb__nav a:hover{background:var(--vellum)}
.tb__nav .tb__cta{color:var(--terra-ink)}
.tb__nav .tb__cta::after{content:"";position:absolute;right:14px;top:12px;width:8px;height:8px;background:var(--terra)}
.tb__menu{display:none}
.mnav{display:none}
.tb__nav a[aria-current="page"]{background:var(--vellum)}
.tb__nav a[aria-current="page"]::before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--terra)}
.foot{padding:40px var(--pad) calc(var(--inset) + 28px)}
.foot__word{width:100%;height:auto;display:block}
.foot__word text{font:800 150px var(--display);font-variation-settings:"wdth" 125;letter-spacing:-.02em;fill:none;stroke:var(--ink);stroke-width:.8}
.foot__row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:20px 0;border-top:1px solid var(--line);margin-top:24px;font-size:13px;color:var(--ink-2)}
.foot__row nav{display:flex;gap:24px;flex-wrap:wrap}
.foot__row a{text-decoration:none}.foot__row a:hover{color:var(--terra-ink)}
.disc{font-size:12px;color:var(--pencil);max-width:90ch}
html{scroll-padding-top:96px}
.tb__nav a{white-space:nowrap}
@media (max-width:1180px){.tb__nav a{min-width:118px}}
/* five menu items need ~1000px on one line: below that the header switches to the "Menú" button */
@media (max-width:1023px){
  .tb{height:56px}
  .tb__nav{display:none}
  .tb__menu{display:block;border:0;border-left:1px solid var(--line);background:transparent;font:500 14px var(--display);color:var(--ink);padding:0 22px;min-width:96px;cursor:pointer}
  .mnav:not([hidden]){display:flex;flex-direction:column;position:sticky;top:calc(var(--inset) + 56px);z-index:39;background:var(--vellum);border-bottom:1px solid var(--line)}
  .mnav a{padding:16px 22px;border-top:1px solid var(--line);text-decoration:none;font-size:18px;font-weight:500}
}
@media (max-width:900px){
  :root{--inset:8px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.tb a,.mnav a,.foot a{color:inherit}
