@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-mono-400.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-mono-500.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-400.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-500.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: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/ibm-plex-sans-600.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: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/newsreader-500.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: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/newsreader-600.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: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/playfair-display-500.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{
  --bone:#F3F2EE;
  --bone-2:#E7E6E1;
  --char:#171A18;
  --char-2:#262925;
  --ink:#171A18;
  --steel:#5B625F;
  --steel-lt:#9A9C9E;
  --linec:#D8D6CF;
  --ox:#163229;
  --ox-lt:#1E4536;
  --ox-pale:#E6E9E5;
  --img1:url(/assets/img/loft-interior.jpg);
  --img2:url(/assets/img/worktable-plans.jpg);
  --img3:url(/assets/img/materials-desk.jpg);
  --img4:url(/assets/img/tierra-encantada-issue.jpg);
  --img5:url(/assets/img/horse-facility.jpg);
  --img6:url(/assets/img/main-street.jpg);
  --img7:url(/assets/img/renovation-open.jpg);
  --img8:url(/assets/img/renovation-arches.jpg);
  --img9:url(/assets/img/reva-in-truck.jpg);
  --img10:url(/assets/img/style-adobe.jpg);
  --img11:url(/assets/img/style-western.jpg);
  --img12:url(/assets/img/style-industrial.jpg);
  --img13:url(/assets/img/style-midcentury.jpg);
  --cognac:#754525;
  --walnut:#4A3426;
  --stone:#D8D6CF;
  --brass:#9EA8A3;
  --logo:'Playfair Display', Georgia, serif;
  --display:'Newsreader', Georgia, serif;
  --mono:'IBM Plex Mono', ui-monospace, monospace;
  --body:'IBM Plex Sans', Helvetica, Arial, sans-serif;
}
html{background:#B8BAB5;}
body{margin:0;font-family:var(--body);color:var(--ink);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;}
*{box-sizing:border-box;}
h1,h2,h3,h4{margin:0;font-weight:400;text-wrap:balance;}
p{margin:0;}
a{color:var(--ox);text-decoration:none;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ox);outline-offset:2px;}
img{max-width:100%;display:block;}

.kicker{color:#5B625F;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ox);margin-bottom:14px;}
.kicker.pale{color:var(--brass);}
.dsp{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;line-height:1.24;}


.site{max-width:1240px;margin:0 auto 16px;background:var(--bone);box-shadow:0 1px 0 rgba(23,21,19,.14), 0 18px 44px -22px rgba(23,21,19,.55);overflow:hidden;}

/* portfolio strip */
.pfbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:7px 44px;background:var(--char);border-bottom:1px solid #2C302D;}
.pfbar .grp{display:flex;gap:22px;flex-wrap:wrap;align-items:center;}
.pfbar .meta{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#9EA8A3;text-transform:uppercase;}
.pfbar a{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#8B928E;}
.pfbar a:hover{color:var(--bone);}

/* header */
.site-header{display:flex;justify-content:center;align-items:center;padding:26px 44px 20px;background:var(--ox);}
.lockup{position:relative;color:var(--bone);display:block;padding:14px 26px;}
.lockup .dl{position:absolute;inset:0;pointer-events:none;}
.lockup .dl i{position:absolute;background:rgba(243,242,238,.32);}
.lockup .dl .h1x{left:-12px;right:-12px;top:4px;height:1px;}
.lockup .dl .h2x{left:-12px;right:-12px;bottom:2px;height:1px;}
.lockup .dl .v1x{top:-4px;bottom:-4px;left:4px;width:1px;}
.lockup .dl .v2x{top:-4px;bottom:-4px;right:4px;width:1px;}
.lockup .tick{position:absolute;width:8px;height:8px;border-left:1.5px solid var(--bone);border-top:1.5px solid var(--bone);}
.lockup .t1{left:-2px;top:-2px;}.lockup .t2{right:-2px;top:-2px;transform:rotate(90deg);}
.lockup .t3{right:-2px;bottom:-2px;transform:rotate(180deg);}.lockup .t4{left:-2px;bottom:-2px;transform:rotate(270deg);}
.lockup .l1{position:relative;font-family:var(--logo);font-size:27px;letter-spacing:.24em;font-weight:500;display:block;line-height:1;text-transform:uppercase;background:var(--ox);padding:0 8px;width:fit-content;margin:0 auto;}
.lockup .l2{position:relative;font-family:var(--body);font-weight:600;font-size:9.5px;letter-spacing:.38em;color:rgba(243,242,238,.72);display:block;margin:4px auto 0;text-transform:uppercase;background:var(--ox);padding:0 8px;width:fit-content;}
.hdr-right{display:flex;align-items:center;gap:16px;}
.btn-login{font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--bone);background:transparent;border:1px solid rgba(216,214,207,.5);padding:11px 18px;}
.btn-login:hover{background:var(--bone);color:var(--ox);border-color:var(--bone);}
nav.main{display:flex;justify-content:center;gap:0;flex-wrap:nowrap;padding:10px 24px 0;background:var(--ox);border-bottom:1px solid rgba(216,214,207,.22);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
nav.main::-webkit-scrollbar{display:none;}
nav.main a{font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#CFD6D2;padding:12px 12px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;}
nav.main a:hover{color:var(--bone);}
nav.main a.active{border-bottom-color:var(--stone);color:var(--bone);}



/* ---------- layout blocks ---------- */
.wrap{max-width:1120px;margin:0 auto;padding:0 44px;}
.narrow{max-width:820px;margin:0 auto;padding:0 44px;}

.hero{position:relative;min-height:620px;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(23,26,24,.92) 0%,rgba(23,26,24,.72) 42%,rgba(23,26,24,.28) 74%,rgba(23,26,24,.10) 100%),var(--img1);
  background-size:cover;background-position:center right;}
.hero-inner{position:relative;max-width:1120px;width:100%;margin:0 auto;padding:74px 44px;}
.hero-inner .kicker{color:#5B625F;color:var(--brass);}
.hero h1{font-family:var(--display);font-size:clamp(28px,3.3vw,44px);color:var(--bone);letter-spacing:.04em;text-transform:uppercase;line-height:1.18;max-width:730px;}
.hero .rule-ox{background:var(--ox);margin:26px 0 22px;}
.hero p{color:#CDD3CF;font-size:17px;line-height:1.6;max-width:58ch;}
.hero p + p{margin-top:13px;}
.hero .cta-row{margin-top:32px;}

/* image plate: designed placeholder, swap src when photos arrive */
.plate{position:relative;width:100%;height:100%;min-height:280px;background:linear-gradient(150deg,#3B342E 0%,#2B2521 55%,#1E1A17 100%);}
.plate.photo{background-size:cover;background-position:center;}
.plate.photo .grid,.plate.photo .lbl{display:none;}
.plate .grid{position:absolute;inset:0;opacity:.13;
  background-image:linear-gradient(rgba(239,237,231,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(239,237,231,.5) 1px,transparent 1px);
  background-size:56px 56px;}
.plate .lbl{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;padding:0 24px;font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,237,231,.5);}
.plate.sm{min-height:220px;}
.plate.tall{min-height:380px;}

.band{padding:64px 0;}
.band.tight{padding:44px 0;}
.band.dark{position:relative;background:var(--char);color:#CDD2CE;}
.band.dark::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");opacity:.12;pointer-events:none;}
.band.dark > *{position:relative;z-index:1;}
.band.dark.bgphoto{background-image:linear-gradient(rgba(22,19,16,.86),rgba(22,19,16,.9)),var(--img1);background-size:cover;background-position:center 30%;}
.band.dark.bgphoto .card.dark{background:rgba(37,32,28,.72);backdrop-filter:blur(2px);border-color:rgba(216,214,207,.20);}
.band.dark h2,.band.dark h3{color:#F6F4EE;}
.band.dark p{color:#B9B6AE;}
.band.ox{position:relative;background:var(--cognac);color:#F3F2EE;}
.band.ox::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");opacity:.16;pointer-events:none;mix-blend-mode:overlay;}
.band.ox > *{position:relative;}
.band.ox h2{color:#FFF;}
.band.ox p{color:#DDD9D2;}
.band.pale{background:var(--bone-2);}
.band.oxpale{background:var(--ox-pale);}
.band.cognac{position:relative;background:var(--cognac);color:#F3F2EE;}
.band.cognac h2,.band.cognac .kicker{color:#5B625F;color:#F3F2EE;}
.band.cognac p,.band.cognac .body{color:#DDD9D2;}
.band.cognac::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");opacity:.18;pointer-events:none;mix-blend-mode:overlay;}
.band.cognac > *{position:relative;}

h2.sec-h{font-family:var(--display);font-size:clamp(22px,2.4vw,30px);text-transform:none;letter-spacing:0;font-weight:600;line-height:1.28;margin-bottom:18px;}
h3.sub-h{font-family:var(--body);font-weight:600;font-size:14px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;}
.lead{font-size:19.5px;line-height:1.6;color:#35342F;max-width:60ch;}
.body{font-size:16.5px;line-height:1.72;color:#403F3C;max-width:64ch;}
.body + .body{margin-top:14px;}
.rule-ox{width:52px;height:3px;background:var(--ox);margin-bottom:22px;}

.two{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;}
.two.wide-left{grid-template-columns:1.15fr .85fr;}
.two.wide-right{grid-template-columns:.85fr 1.15fr;}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;}
.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}

/* cards */
.card{background:#FBFAF6;border:1px solid var(--linec);border-top:3px solid var(--ox);padding:26px;display:flex;flex-direction:column;gap:11px;}
.card .n{font-family:var(--mono);font-size:13px;letter-spacing:.2em;color:var(--ox);}
.card h3{font-family:var(--display);font-size:19px;text-transform:uppercase;letter-spacing:.07em;}
.card p{font-size:16px;color:#4A4741;flex:1;}
.card .go{font-family:var(--body);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;align-self:flex-start;border-bottom:1px solid var(--ox);padding-bottom:2px;}
.card.dark{background:var(--char-2);border-color:#3A3630;border-top-color:var(--ox);}
.card.dark h3{color:#F6F4EE;}.card.dark p{color:#ADA9A1;}

/* criteria table */
.crit{width:100%;border-collapse:collapse;margin-top:8px;}
.crit th{text-align:left;font-family:var(--mono);font-weight:600;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--steel);padding:10px 14px;border-bottom:2px solid var(--char);}
.crit td{padding:15px 14px;border-bottom:1px solid var(--linec);font-size:16.5px;color:#3B3833;vertical-align:top;}
.crit td.k{font-family:var(--mono);font-weight:500;width:210px;color:var(--ink);}
.crit tr:last-child td{border-bottom:none;}
.table-scroll{overflow-x:auto;}

/* style grid */
.styles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--linec);border:1px solid var(--linec);}
.style{background:#FBFAF6;padding:0;}
.style .ph{height:150px;position:relative;background:linear-gradient(150deg,#3B403C 0%,#2B302C 55%,#1E2320 100%);background-size:cover;background-position:center;}
.style .ph .cap{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;padding:0 14px;font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,242,238,.45);}
.style .meta{padding:14px 16px 18px;}
.style .meta h4{font-family:var(--display);font-size:15px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;}
.style .meta p{font-size:14.5px;color:#57534C;}

.btn{display:inline-block;font-family:var(--body);font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:14px 26px;cursor:pointer;border:1px solid var(--char);}
.btn.primary{background:var(--char);color:var(--bone);}
.btn.primary:hover{background:var(--ox);border-color:var(--ox);}
.btn.ox{background:var(--ox);border-color:var(--ox);color:#F3F2EE;}
.btn.ox:hover{background:var(--ox-lt);}
.btn.ghost{background:transparent;color:var(--ink);}
.btn.ghost:hover{background:var(--bone-2);}
.btn.light{background:var(--bone);border-color:var(--bone);color:var(--char);}
.btn.light:hover{background:#fff;}
.btn.outline-light{background:transparent;border-color:#B9B6AE;color:#EFEDE7;}
.btn.outline-light:hover{background:rgba(255,255,255,.08);}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}

ul.list{margin:14px 0 0;padding-left:22px;}
ul.list li{margin-bottom:8px;font-size:17px;color:#3B3833;line-height:1.6;}
.band.dark ul.list li{color:#B9B6AE;}

/* page hero (interior) */
.phero{background:var(--char);color:#EFEDE7;padding:56px 0 50px;}
.phero h1{font-family:var(--display);font-size:clamp(26px,3vw,38px);color:var(--bone);letter-spacing:0;text-transform:none;font-weight:600;line-height:1.26;max-width:22ch;}
.phero p{color:#C2C0BB;margin-top:16px;font-size:17px;max-width:60ch;}
.phero .kicker{color:#5B625F;color:var(--brass);}

/* section nav on deep pages */
.secnav{background:var(--bone-2);border-bottom:1px solid var(--linec);}
.secnav-inner{max-width:1120px;margin:0 auto;padding:12px 44px;display:flex;gap:22px;flex-wrap:wrap;}
.secnav a{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--steel);}
.secnav a:hover,.secnav a.on{color:var(--ox);}

/* pull quote */
.pull{border-left:4px solid var(--ox);padding-left:24px;font-size:23px;line-height:1.45;color:#332F2A;max-width:44ch;}
.band.dark .pull{color:#E6E3DC;border-left-color:#9EA8A3;}

/* stat row */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;}
.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--bone-2);border-bottom:1px solid var(--linec);}
.strip .item{padding:30px 30px 26px;border-right:1px solid var(--linec);}
.strip .item:last-child{border-right:none;}
.strip .num{font-family:var(--mono);font-weight:600;font-size:11px;letter-spacing:.2em;color:var(--steel);}
.strip h3{font-family:var(--display);font-size:19px;text-transform:uppercase;letter-spacing:.07em;margin:10px 0 12px;}
.strip p{font-size:15px;color:#57534C;line-height:1.55;}
.strip .go{display:inline-block;margin-top:14px;font-family:var(--body);font-weight:600;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ox);}
@media(max-width:1000px){.strip{grid-template-columns:1fr 1fr;}.strip .item{border-bottom:1px solid var(--linec);}}
@media(max-width:620px){.strip{grid-template-columns:1fr;}.strip .item{border-right:none;}}
.stat .v{font-family:var(--display);font-size:30px;letter-spacing:.04em;color:var(--ox);}
.band.dark .stat .v{color:#D8D6CF;}
.stat .l{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--steel);margin-top:6px;}

/* forms */
.form-wrap{max-width:660px;}
.field{margin-bottom:18px;}
.field label{display:block;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--steel);margin-bottom:6px;}
.field .helper{font-size:13.5px;color:var(--steel);font-style:italic;margin-top:6px;}
.field input,.field select,.field textarea{width:100%;font-family:var(--body);font-size:17px;padding:12px 14px;border:1px solid var(--char);background:#FBFAF6;color:var(--ink);}
.field textarea{min-height:120px;resize:vertical;}
.two-f{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.success{display:none;background:var(--ox-pale);border-left:4px solid var(--ox);padding:16px 18px;color:#3B3833;font-size:16px;margin-top:16px;}
.subform{max-width:460px;margin-top:18px;display:flex;}
.subform input{flex:1;min-width:0;font-family:var(--body);font-size:16px;padding:13px 14px;border:1px solid var(--char);border-right:none;background:#FBFAF6;color:var(--ink);}
.band.dark .subform input{background:#2C2825;border-color:#4A453F;color:#EFEDE7;}
.subform .btn{border-left:none;}

/* footer */
.site-footer{position:relative;background:var(--char);color:#9AA29E;}
.site-footer::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");opacity:.14;pointer-events:none;}
.site-footer > *{position:relative;}
.f-rule{height:3px;background:var(--ox);}
.f-inner{max-width:1120px;margin:0 auto;padding:48px 44px 0;}
.footer-grid{display:grid;grid-template-columns:1.25fr .85fr .85fr 1.15fr;gap:40px;padding-bottom:36px;}
.f-lockup{font-family:var(--logo);font-size:19px;letter-spacing:.17em;text-transform:uppercase;color:#F0EEE8;}
.f-tag{font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.2em;color:#A8A49C;margin-top:8px;text-transform:uppercase;}
.site-footer h3{font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.2em;color:var(--brass);margin:0 0 13px;text-transform:uppercase;}
.site-footer p{font-size:14.5px;line-height:1.7;}
.f-links{list-style:none;margin:0;padding:0;font-family:var(--body);font-weight:600;font-size:11px;letter-spacing:.13em;text-transform:uppercase;line-height:2.3;}
.f-links a{color:#E4E1DA;}
.f-links a:hover{color:#fff;}
.footer-bottom{max-width:1120px;margin:0 auto;padding:15px 44px 22px;border-top:1px solid #2C302D;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.15em;color:#A8A49C;text-transform:uppercase;}
.footer-bottom a{color:#A8A49C;text-decoration:underline;text-underline-offset:3px;}

/* popup */
.popup-overlay{display:none;position:fixed;inset:0;background:rgba(23,21,19,.6);z-index:100;align-items:center;justify-content:center;padding:20px;}
.popup-overlay.on{display:flex;}
.popup{background:var(--bone);max-width:440px;width:100%;padding:32px 32px 26px;border-top:4px solid var(--ox);box-shadow:0 24px 60px rgba(0,0,0,.45);}
.popup h3{font-family:var(--logo);font-size:18px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;}
.popup p{color:var(--steel);font-size:16px;margin-bottom:16px;}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:#3B3833;margin-bottom:10px;}
.chk input{width:18px;height:18px;margin-top:3px;}
.popup .close-x{float:right;border:none;background:none;font-size:22px;cursor:pointer;color:var(--steel);line-height:1;}
.popup .pop-in{width:100%;font-family:var(--body);font-size:16px;padding:12px 14px;border:1px solid var(--char);background:#FBFAF6;color:var(--ink);}
.popup .actions{display:flex;gap:12px;align-items:center;margin-top:8px;}
.popup .close-txt{border:none;background:none;font-family:var(--body);font-size:14px;color:var(--steel);cursor:pointer;text-decoration:underline;text-underline-offset:3px;}

.legal p,.legal li{color:#3B3833;font-size:17px;line-height:1.7;}
.legal p{margin-bottom:15px;}
.legal ul{margin:0 0 15px;padding-left:22px;}
.legal li{margin-bottom:8px;}

@media (max-width:1000px){
  .site-header{padding:16px 22px 0;}
  nav.main{padding:12px 14px 0;gap:0;}
  nav.main a{padding:10px 9px;font-size:10px;letter-spacing:.06em;}
  .wrap,.narrow{padding:0 22px;}
  .hero{min-height:520px;background-image:linear-gradient(180deg,rgba(23,26,24,.88) 0%,rgba(23,26,24,.80) 55%,rgba(23,26,24,.62) 100%),var(--img1);background-position:center;}
  .hero-inner{padding:58px 22px;}
  .hero h1{max-width:100%;}
  .band{padding:44px 0;}
  .two,.two.wide-left,.two.wide-right{grid-template-columns:minmax(0,1fr);gap:30px;}
  .three,.four{grid-template-columns:minmax(0,1fr);}
  .phero{padding:40px 0 36px;}
  .secnav-inner{padding:11px 22px;gap:16px;}
  .crit td.k{width:auto;}
  .two-f{grid-template-columns:1fr;}
  .f-inner{padding:38px 22px 0;}
  .footer-grid{grid-template-columns:1fr;gap:26px;}
  .footer-bottom{padding:14px 22px 20px;}
}

/* --- record register -------------------------------------------------------
   An established office has files; a new brand has messaging. These are the
   typographic devices of a file: a schedule, and a dated field caption. */
.spec{width:100%;border-collapse:collapse;margin-top:20px;}
.spec th{width:150px;text-align:left;vertical-align:top;padding:13px 22px 13px 0;
  font-family:var(--mono);font-weight:500;font-size:11.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ox);border-top:1px solid var(--linec);
  white-space:nowrap;}
.spec td{vertical-align:top;padding:13px 0;font-size:15.5px;line-height:1.62;
  color:var(--char-2);border-top:1px solid var(--linec);}
.spec tr:last-child th,.spec tr:last-child td{border-bottom:1px solid var(--linec);}
.spec.wide th{width:210px;}
.band.dark .spec th{color:var(--brass);border-top-color:#332E29;}
.band.dark .spec td{color:#CFCCC5;border-top-color:#332E29;}

/* broker attribution: required disclosure, so it reads as a notice, not a footnote */
.trec-band{background:var(--bone-2);border-top:1px solid var(--linec);}
.trec{max-width:840px;border-left:3px solid var(--ox);padding:4px 0 4px 22px;}
.trec-h{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ox);margin-bottom:12px;}
.trec p{font-size:14.5px;line-height:1.68;color:var(--char-2);margin-bottom:11px;}
.trec-links{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;}
.trec .tbd{font-family:var(--mono);font-size:.92em;letter-spacing:.05em;color:var(--steel);
  background:var(--bone);border:1px dashed var(--stone);padding:1px 6px;white-space:nowrap;}

figure.field.portrait{margin:0 0 26px;}
figure.field.portrait .ph{width:100%;background-size:cover;background-position:center top;
  filter:saturate(.94);}
.trec figure.field.portrait{max-width:210px;float:right;margin:0 0 18px 26px;}
@media (max-width:820px){.trec figure.field.portrait{float:none;max-width:none;margin:0 0 20px;}}

.fieldnote{margin-top:20px;padding-top:14px;border-top:1px solid var(--linec);
  font-family:var(--mono);font-size:11.5px;line-height:1.72;letter-spacing:.02em;
  color:var(--steel);}

/* dated caption under a real field photograph. Only ever applied to an actual
   record: subject, place, year. Never attached to illustrative imagery. */
figure.field{margin:0;}
figure.field figcaption{margin-top:10px;padding-top:9px;border-top:1px solid var(--linec);
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--steel);}
.band.dark figure.field figcaption{color:var(--brass);border-top-color:#332E29;}

@media (max-width:820px){
  .spec th,.spec.wide th{display:block;width:auto;white-space:normal;
    padding:14px 0 2px;border-top:1px solid var(--linec);}
  .spec td{display:block;padding:0 0 14px;border-top:0;}
  .spec tr:last-child td{border-bottom:1px solid var(--linec);}
}

/* photo plates size to the picture, not to a fixed strip */
.plate.photo,.plate.photo.sm,.plate.photo.tall{height:auto;min-height:0;
  max-height:640px;background-position:center;}
.ph{aspect-ratio:4/3;height:auto;min-height:0;}
@media (max-width:820px){.plate.photo,.plate.photo.sm,.plate.photo.tall{max-height:none;}}
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ox);
  color:var(--bone);padding:12px 20px;font-size:14px;text-decoration:none;}
.skip-link:focus{left:0;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ox);
  outline-offset:2px;}
.site-header a:focus-visible,.pfbar a:focus-visible,.site-footer a:focus-visible,
nav.main a:focus-visible{outline-color:var(--bone);}
.form-error{display:none;margin-top:12px;font-size:14px;line-height:1.55;color:#171A18;
  border-left:3px solid #171A18;padding:9px 0 9px 13px;background:#E7E6E1;}
.site-footer .form-error{color:#EFEDE7;border-left-color:#9EA8A3;background:#2C2825;}
button[disabled],.btn[disabled]{opacity:.6;cursor:default;}
