/* Ponderhill Mortgages: big-type poster, dry-grass gold, charcoal, sage, rust call button.
   Motifs: tear-off calendar pages, thin hill contour lines between bands. */
:root{
  --gold:#E9B44C;
  --ink:#22201E;
  --sage:#5F7F5C;
  --sage-deep:#476444;
  --white:#FFFFFF;
  --rust:#A2431F;
  --rust-deep:#7E3015;
  --paper-edge:#D9D2C2;
  --gutter:clamp(16px,4vw,48px);
  --max:1320px;
  --pad:clamp(52px,7vw,108px);
  --hill:clamp(36px,6.5vw,96px);
  --focus:var(--ink);
  --display:"Archivo Black","Arial Black",Impact,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:12px}
body{margin:0;background:var(--gold);color:var(--ink);font:400 1.0625rem/1.6 var(--body);overflow-wrap:break-word}
img,svg{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:.09em}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.band-ink,.site-foot,.band-sage{--focus:var(--gold)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--gold);padding:12px 18px;font-weight:700;text-decoration:none}
.skip:focus{left:12px;top:12px;z-index:99}
.vh{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
bdi{unicode-bidi:isolate}

/* ---------- header ---------- */
.site-head{position:relative;z-index:20;background:var(--gold);border-bottom:3px solid var(--ink)}
.head-row{display:flex;align-items:center;gap:8px;min-height:72px;padding-block:8px}
.brand{display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;text-decoration:none}
.brand img{flex:none;width:38px;height:38px}
.brand-name{font:400 .8rem/1.05 var(--display);letter-spacing:.02em;text-transform:uppercase}
.nav-main{display:none}
.nav-main ul{display:flex;gap:2px;list-style:none}
.nav-main a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-weight:600;font-size:.95rem;text-decoration:none}
.nav-main a:hover{background:var(--ink);color:var(--gold)}
.head-tel{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:64px;padding:0 16px;background:var(--rust);color:var(--white);font-weight:700;text-decoration:none;border-radius:999px;white-space:nowrap}
.head-tel:hover{background:var(--rust-deep)}
.tel-num{display:none}
.lang,.mnav{flex:none}
.lang{position:relative}
.lang summary,.mnav summary{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 10px;cursor:pointer;list-style:none;font-weight:600;font-size:.95rem;border:2px solid var(--ink);background:transparent}
.lang summary::-webkit-details-marker,.mnav summary::-webkit-details-marker{display:none}
.lang summary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.lang[open] summary,.mnav[open] summary{background:var(--ink);color:var(--gold)}
.lang-text,.mnav-text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bars{width:18px;height:12px;border-block:2px solid currentColor;position:relative}
.bars::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:currentColor}
.lang-panel{position:absolute;right:0;top:calc(100% + 8px);width:260px;max-width:calc(100vw - 2*var(--gutter));background:var(--white);color:var(--ink);border:3px solid var(--ink);padding:14px;box-shadow:6px 6px 0 var(--ink)}
.mnav-panel{position:absolute;left:0;right:0;top:100%;background:var(--ink);padding:8px var(--gutter) 20px}
.mnav-panel ul{list-style:none}
.mnav-panel a{display:flex;align-items:center;min-height:52px;color:var(--gold);font:400 1.35rem/1.1 var(--display);text-transform:uppercase;text-decoration:none;border-bottom:2px solid rgba(233,180,76,.28)}
.mnav-panel{--focus:var(--gold)}

@media (min-width:560px){
  .brand-name{font-size:1rem}
  .lang-text,.mnav-text{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
  .tel-short{display:none}.tel-num{display:inline}
}
@media (min-width:1100px){
  .nav-main{display:block;margin-left:auto}
  .head-tel{margin-left:8px}
  .mnav{display:none}
}

/* ---------- shared pieces ---------- */
.band{position:relative;padding-block:var(--pad)}
.has-hill{padding-bottom:calc(var(--pad) + var(--hill))}
.band-ink{background:var(--ink);color:var(--white)}
.band-sage{background:var(--sage-deep);color:var(--white)}
.band-white{background:var(--white);color:var(--ink)}
.hill{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:var(--hill);pointer-events:none}
.hill .f{fill:var(--next)}
.hill .l{fill:none;stroke:var(--line);stroke-width:2;vector-effect:non-scaling-stroke}
.sec-head{margin-bottom:clamp(28px,4vw,56px)}
.kicker{display:inline-block;margin-bottom:16px;padding:6px 10px;border:2px solid currentColor;font:600 .8rem/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase}
.sec-title{font:400 clamp(2.1rem,6.6vw,5.25rem)/.98 var(--display);text-transform:uppercase;letter-spacing:-.005em}
.band-ink .sec-title{color:var(--gold)}
.area .sec-title{margin-bottom:28px;font-size:clamp(1.7rem,4vw,3rem)}
.sec-lede{margin-top:18px;max-width:62ch;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.55}
.btns{display:flex;gap:12px}
.btn{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:56px;padding:10px 14px;font:700 1.05rem/1.2 var(--body);text-decoration:none;border:3px solid var(--ink);background:var(--white);color:var(--ink);box-shadow:5px 5px 0 var(--ink);cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink)}
.btn-call{background:var(--rust);border-color:var(--ink);color:var(--white)}
.btn-call:hover{background:var(--rust-deep)}
.btn-line{background:transparent}
.btn-line:hover{background:var(--ink);color:var(--gold)}

/* ---------- hero ---------- */
.hero{position:relative;padding-top:clamp(28px,5vw,72px)}
.hero .kicker{border:0;padding:0;margin-bottom:14px;font-size:.85rem}
.poster{font:400 clamp(2.45rem,9.8vw,10rem)/.94 var(--display);text-transform:uppercase;letter-spacing:-.012em}
.hero-row{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-block:clamp(22px,3vw,40px)}
.lede{font-size:clamp(1.1rem,1.6vw,1.375rem);line-height:1.5;max-width:48ch}
.hero-photo img{width:100%;height:clamp(240px,40vw,580px);object-fit:cover;object-position:50% 58%}
@media (min-width:900px){
  .hero-row{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:end;gap:56px}
}

/* ---------- when to start: tear-off calendar pages ---------- */
.tear{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:34px}
.leaf{container-type:inline-size;position:relative;display:flex;flex-direction:column;min-width:0;background:var(--white);color:var(--ink);box-shadow:0 7px 0 -1px #E7E1D2,0 14px 0 -2px var(--paper-edge)}
.leaf:nth-child(odd){transform:rotate(-.9deg)}
.leaf:nth-child(even){transform:rotate(1deg)}
.leaf-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px 9px;background:var(--rust);color:var(--white);font:600 .78rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase}
.leaf-top::after{content:"";flex:none;width:48px;height:14px;background:radial-gradient(circle at 7px 7px,var(--ink) 0 6px,transparent 6.5px),radial-gradient(circle at 41px 7px,var(--ink) 0 6px,transparent 6.5px)}
.leaf-body{flex:1;padding:6px 18px 24px;border-top:2px dashed var(--paper-edge)}
.leaf .num{font:400 4rem/.95 var(--display);font-size:clamp(3.2rem,34cqw,6.5rem);margin:12px 0 10px;color:var(--ink)}
.leaf h3{font:700 1.15rem/1.25 var(--body);margin-bottom:8px}
.leaf p{font-size:.97rem;line-height:1.5}
.leaf-end .leaf-top{background:var(--sage-deep)}
.tear-note{margin-top:clamp(34px,4vw,52px);max-width:62ch;padding-left:16px;border-left:6px solid var(--gold);color:var(--white)}
@media (min-width:680px){.tear{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}}
@media (min-width:1120px){
  .tear{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:start}
  .leaf:nth-child(2){margin-top:22px}.leaf:nth-child(4){margin-top:22px}
  .leaf-body{padding-inline:14px}
}

/* ---------- stay or switch ---------- */
.compare{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
.cmp{min-width:0;background:var(--white);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:clamp(20px,3vw,38px)}
.cmp-word{font:400 clamp(2.6rem,8.4vw,5.6rem)/.92 var(--display);text-transform:uppercase}
.cmp-switch .cmp-word{color:var(--rust)}
.cmp-label{margin:22px 0 10px;font:600 .8rem/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep)}
.cmp ul{list-style:none;display:grid;gap:10px}
.cmp li{position:relative;padding-left:24px;line-height:1.5}
.cmp li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;background:var(--sage)}
.cmp-cost li::before{background:var(--rust)}
.ask{margin-top:clamp(30px,4vw,52px);display:grid;gap:22px;padding:clamp(22px,3.4vw,44px);background:var(--ink);color:var(--white);--focus:var(--gold)}
.ask h3{font:400 clamp(1.5rem,3.4vw,2.5rem)/1.05 var(--display);text-transform:uppercase;color:var(--gold)}
.checks{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:12px 36px}
.checks li{display:flex;gap:14px;align-items:flex-start;line-height:1.45}
.checks li::before{content:"";flex:none;width:22px;height:22px;margin-top:.1em;border:3px solid var(--gold)}
@media (min-width:860px){
  .compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px}
  .checks{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- what to have ready ---------- */
.ready{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(36px,5vw,64px);align-items:start}
.slip{position:relative;background:var(--white);color:var(--ink);padding:26px 22px 30px;margin-bottom:12px}
.slip::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12'%3E%3Cpath d='M0 0H24L12 12Z' fill='white'/%3E%3C/svg%3E") repeat-x 0 0/24px 12px}
.slip ol{list-style:none;display:grid;gap:22px;counter-reset:none}
.slip li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px}
.slip .tick{width:30px;height:30px;margin-top:2px;border:3px solid var(--sage-deep);display:grid;place-items:center}
.slip .tick svg{width:18px;height:18px;fill:none;stroke:var(--sage-deep);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.slip h3{font:700 1.2rem/1.25 var(--body);margin-bottom:4px}
.slip p{font-size:.98rem;line-height:1.5}
.keys{margin:0 16px 16px 0;position:relative}
.keys img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;box-shadow:16px 16px 0 var(--gold)}
@media (min-width:860px){
  .ready{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
  .keys{margin-top:clamp(0px,4vw,64px)}
  .slip{padding:34px 34px 40px}
}

/* ---------- who I am ---------- */
.about{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
.me{display:flex;align-items:center;gap:20px}
.mono{flex:none;display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:var(--sage-deep);color:var(--white);font:400 3.4rem/1 var(--display)}
.me-name{font:400 1.7rem/1 var(--display);text-transform:uppercase}
.me-role{margin-top:4px;font-weight:600;color:var(--sage-deep)}
.about-text{margin-top:22px;max-width:64ch;font-size:1.08rem}
.about-text p+p{margin-top:16px}
.referred{margin-top:28px;padding:20px 22px;border:3px dashed var(--ink)}
.referred .tiny{margin-top:12px}
.referred h3{font:600 .8rem/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.tags li{padding:6px 12px;border:2px solid var(--ink);font-weight:600;font-size:.95rem}
@media (min-width:860px){
  .about{grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr);gap:clamp(40px,6vw,96px)}
  .me{flex-direction:column;align-items:flex-start;gap:18px}
  .mono{width:min(100%,240px);height:auto;aspect-ratio:1;font-size:7.4rem}
  .me-name{font-size:2.3rem}
}

/* ---------- service area and hours ---------- */
.area{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(34px,5vw,64px)}
.towns{list-style:none;display:grid;gap:4px}
.towns li{display:flex;align-items:center;flex-wrap:wrap;gap:0 .3em;font:400 clamp(2.1rem,7.4vw,4.9rem)/1.02 var(--display);text-transform:uppercase}
.towns li::before{content:"";flex:none;width:.36em;height:.36em;margin-right:.12em;background:var(--sage-deep);clip-path:polygon(50% 0,100% 100%,0 100%)}
.towns small{margin-left:.5em;padding:3px 8px;font:600 .8rem/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--gold);align-self:center}
.area p.how{margin-top:22px;max-width:52ch;font-size:1.1rem}
.sign{background:var(--ink);color:var(--white);padding:26px 24px 24px;position:relative;--focus:var(--gold)}
.sign::before{content:"";position:absolute;left:50%;top:-14px;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:var(--gold);border:3px solid var(--ink)}
.sign h3{font:400 1.9rem/1 var(--display);text-transform:uppercase;color:var(--gold)}
.sign dl{margin-top:18px;display:grid;gap:14px}
.sign .row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 16px;padding-bottom:12px;border-bottom:2px dotted rgba(255,255,255,.35)}
.sign dt{font-weight:700}
.sign dd{color:#F3E6C6}
.sign .addr{margin-top:18px;font-size:.98rem;line-height:1.5}
@media (min-width:980px){.area{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);align-items:center}}

/* ---------- FAQ ---------- */
.faq{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(26px,4vw,64px)}
.qa{border-top:2px solid var(--gold)}
.qa:last-child{border-bottom:2px solid var(--gold)}
.qa summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:14px 0;cursor:pointer;list-style:none;font:600 clamp(1.1rem,2vw,1.4rem)/1.3 var(--body)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";flex:none;display:grid;place-items:center;width:40px;height:40px;border:2px solid var(--gold);color:var(--gold);font:700 1.5rem/1 var(--body)}
.qa[open] summary::after{content:"\2212";background:var(--gold);color:var(--ink)}
.qa .ans{padding:0 58px 22px 0;max-width:64ch;color:#F1EDE4}
@media (min-width:980px){.faq{grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr);align-items:start}.faq .sec-head{margin:0}}

/* ---------- request form ---------- */
.reqs{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(30px,5vw,64px);align-items:start}
.steps{margin-top:24px;list-style:none;display:grid;gap:12px;max-width:46ch}
.steps li{padding-left:22px;position:relative}
.steps li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;background:var(--rust)}
.form{background:var(--white);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:clamp(20px,3vw,36px);display:grid;gap:20px;min-width:0}
.field{display:grid;gap:8px;min-width:0}
.field label,.field legend{font-weight:700;padding:0}
.opt{font-weight:400;color:#5b564f}
fieldset.field{border:0;margin:0;padding:0}
input[type=text],input[type=tel],input[type=email]{width:100%;min-height:52px;padding:10px 14px;border:3px solid var(--ink);border-radius:0;background:var(--white);color:var(--ink);font:inherit}
input[type=text]:focus-visible,input[type=tel]:focus-visible,input[type=email]:focus-visible{outline:3px solid var(--rust);outline-offset:2px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative;display:block}
.chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.chip span{display:flex;align-items:center;min-height:48px;padding:0 16px;border:3px solid var(--ink);background:var(--white);font-weight:600}
.chip input:checked+span{background:var(--ink);color:var(--gold)}
.chip input:focus-visible+span{outline:3px solid var(--rust);outline-offset:3px}
.gen{padding:12px 16px;border-left:6px solid var(--sage);background:#EEF2EA;font-size:.95rem;line-height:1.5}
.form .btn{width:100%;flex:none;background:var(--rust);color:var(--white)}
.form .btn:hover{background:var(--rust-deep)}
.tiny{font-size:.92rem;line-height:1.5;color:#3a3631}
@media (min-width:980px){.reqs{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}

/* ---------- footer ---------- */
.site-foot{background:var(--ink);color:var(--white);padding:clamp(44px,6vw,80px) 0 40px}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:34px 40px}
.site-foot .brand-name{color:var(--gold);font-size:1rem}
.site-foot .brand img{background:var(--white);border-radius:10px}
.site-foot h2{font:600 .8rem/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.site-foot ul{list-style:none;display:grid;gap:2px}
.site-foot li a,.foot-contact a{display:inline-flex;align-items:center;min-height:44px}
.foot-contact{display:grid;gap:0}
.foot-about{margin-top:14px;max-width:34ch;color:#E8E3D8}
.foot-hours{color:#E8E3D8;line-height:1.55}
.foot-gen{margin-top:36px;padding-top:22px;border-top:2px solid rgba(233,180,76,.35);max-width:78ch;color:#E8E3D8;font-size:.92rem}
.copy{margin-top:14px;color:#CFC9BC;font-size:.9rem}

/* ---------- accessibility statement ---------- */
.page-hero{padding-block:clamp(40px,6vw,88px) clamp(30px,4vw,52px)}
.page-hero h1{font:400 clamp(2.3rem,8vw,6.5rem)/.96 var(--display);text-transform:uppercase}
.page-hero .lede{margin-top:20px}
.section{background:var(--white);padding-block:clamp(40px,6vw,88px)}
.statement{max-width:760px}
.statement h2{font:400 1.6rem/1.1 var(--display);text-transform:uppercase;margin:38px 0 12px}
.statement h2:first-child{margin-top:0}
.statement p,.statement li{max-width:66ch}
.statement p+p{margin-top:12px}
.statement ul{margin:0;padding-left:22px;display:grid;gap:8px}
.statement a{font-weight:600}
.reviewed{color:#3a3631;font-size:.95rem}

/* ---------- motion ---------- */
.reveal-pending{transform:translateY(14px)}
.reveal-in{opacity:1;transform:none;transition:opacity .5s,transform .5s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* hill divider colours */
.hill--ink{--next:var(--ink)}.hill--gold{--next:var(--gold)}.hill--white{--next:var(--white)}
.line-gold{--line:var(--gold)}.line-white{--line:var(--white)}
.btn bdi{white-space:nowrap}
.statement ul+p{margin-top:12px}
