/* WordPress extras: admin bar offset, price list, blog */
.admin-bar .nav{top:46px}
@media (min-width:783px){.admin-bar .nav{top:46px}}
@media (max-width:600px){.admin-bar .nav{top:14px}#wpadminbar{position:fixed!important}}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.alignleft{float:left;margin:0 1.5em 1em 0}.alignright{float:right;margin:0 0 1em 1.5em}.aligncenter{display:block;margin-inline:auto}

/* price list */
.prices{background:var(--cream)}
.prices .head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:clamp(32px,5vw,56px);flex-wrap:wrap}
.ptabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.ptabs button{font:500 14px var(--sans);padding:11px 20px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--stone);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.ptabs button:hover{border-color:var(--ink);color:var(--ink)}
.ptabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.pgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.pgrid[hidden]{display:none}
.pgrid .pcard{flex:0 1 calc((100% - 36px)/3)}
.pgrid.pc4 .pcard{flex-basis:calc((100% - 54px)/4)}
.pextra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.pbox{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:clamp(24px,3vw,36px)}
.pbox h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.4vw,30px);margin-bottom:18px}
.pchecks{list-style:none;display:grid;gap:11px;font-size:15px}
.pchecks li{position:relative;padding-left:24px}
.pchecks li::before{content:"";position:absolute;left:2px;top:.45em;width:9px;height:5px;border-left:2px solid var(--clay);border-bottom:2px solid var(--clay);transform:rotate(-45deg)}
.prows div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-top:1px solid var(--line);font-size:15px}
.prows div:first-child{border-top:0;padding-top:0}
.prows dt{color:#4a433c}.prows dd{text-align:right;font-weight:500;white-space:nowrap}
.pcta{text-align:center;margin:clamp(48px,7vw,88px) auto 0;max-width:640px}
.pcta .h2{font-size:clamp(32px,4.4vw,56px)}
.pcta p{margin:18px 0 26px;color:#4a433c}
.pcard{display:flex;flex-direction:column;gap:16px;padding:clamp(24px,3vw,36px);background:var(--paper);border:1px solid var(--line);border-radius:18px}
.pcard h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.6vw,34px);line-height:1.1}
.pcard h3 em{color:var(--clay)}
.pprice{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pprice span{font-family:var(--serif);font-size:clamp(34px,4vw,48px);line-height:1;letter-spacing:-.01em}
.pprice small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.ptext{color:#4a433c;font-size:15px}
.pcard ul{list-style:none;display:grid;gap:9px;padding-top:16px;border-top:1px solid var(--line);font-size:15px}
.pcard li{position:relative;padding-left:20px}
.pcard li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--clay)}
.pcard .btn{margin-top:auto;align-self:flex-start}
.pcard ul+.btn,.ptext+.btn,.pprice+.btn{margin-top:auto}
.pcard.hl{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pcard.hl .ptext,.pcard.hl li{color:#e6dfd3}
.pcard.hl .pprice small{color:#c9bfaf}
.pcard.hl ul{border-color:rgba(255,255,255,.18)}
.pcard.hl h3 em{color:#F1DCC8}
.pcard.hl .btn.solid{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.pcard.hl .btn.solid:hover{background:var(--clay);border-color:var(--clay);color:#fff}
.pnote{margin-top:28px;max-width:70ch;font-size:14px;color:var(--stone)}
@media (max-width:1000px){.pgrid .pcard,.pgrid.pc4 .pcard{flex-basis:calc((100% - 18px)/2)}}
@media (max-width:700px){.pgrid .pcard,.pgrid.pc4 .pcard{flex-basis:100%}.pextra{grid-template-columns:minmax(0,1fr)}.prices .head{align-items:flex-start}.prows div{flex-direction:column;gap:2px}.prows dd{text-align:left}}

/* blog */
.blog{padding-top:clamp(112px,14vw,170px);padding-bottom:clamp(64px,9vw,120px)}
.bhead{padding-bottom:clamp(28px,5vw,56px)}
.bhead .wrap{display:grid;gap:18px}
.bhead h1{max-width:18ch}
.bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,36px)}
.bcard{display:flex;flex-direction:column;gap:10px}
.bimg{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--cream);border-radius:4px}
.bimg img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.bcard:hover .bimg img{transform:scale(1.03)}
.bph{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-family:var(--serif);font-size:56px;color:var(--sand)}
.bcard h2{font-family:var(--serif);font-weight:400;font-size:clamp(23px,2.2vw,29px);line-height:1.15}
.bcard h2 a{text-decoration:none}
.bcard h2 a:hover{color:var(--clay)}
.bcard p{color:#4a433c;font-size:15px}
.bmore{font-size:13.5px;font-weight:500;text-decoration:none;color:var(--clay)}
.bmore:hover{text-decoration:underline}
.bpager{margin-top:48px}
.bpager .nav-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.bpager a,.bpager span{padding:9px 16px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-size:13.5px}
.bpager .current{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.bempty{padding:40px 0;color:var(--stone)}
.narrow{max-width:820px}
.narrow.wide{max-width:1040px}
.pimg{margin:0 0 clamp(28px,4vw,48px)}
.pimg img{width:100%;height:auto;border-radius:6px}
.entry{font-size:clamp(17px,1.5vw,19px);line-height:1.75;color:#3a342d}
.entry>*+*{margin-top:1.15em}
.entry h2,.entry h3{font-family:var(--serif);font-weight:400;line-height:1.15;margin-top:1.8em}
.entry h2{font-size:clamp(30px,3.4vw,40px)}.entry h3{font-size:clamp(24px,2.6vw,30px)}
.entry a{color:var(--clay)}
.entry img{height:auto;border-radius:4px}
.entry figure{margin-inline:0}
.entry figcaption{font-size:13px;color:var(--stone);margin-top:6px}
.entry ul,.entry ol{padding-left:1.3em}
.entry blockquote{border-left:2px solid var(--clay);padding-left:1.2em;font-family:var(--serif);font-size:1.25em;line-height:1.4}
.back{margin-top:56px}
@media (max-width:900px){.bgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.bgrid{grid-template-columns:minmax(0,1fr)}}

/* modern font set: no italics, accent colour only */
.f-up em,.f-up blockquote,.f-up .fq{font-style:normal}
.f-up .entry em{font-style:italic}
.f-up .h2,.f-up .hero h1{letter-spacing:-.03em}

/* edit pencils (only shown to people who may edit) */
.hero,.ab2,#work,.services,.prices,#video,.social{position:relative}
.abbar{position:absolute;z-index:30;display:flex;flex-wrap:wrap;gap:6px;right:var(--gut);max-width:calc(100% - 2*var(--gut));justify-content:flex-end}
.abbar-hero{top:96px}
.abbar-sec{top:14px}
.abp{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px 0 9px;border-radius:999px;background:#fff;color:#1d2327!important;font:500 12px/1 var(--sans);text-decoration:none!important;box-shadow:0 1px 6px rgba(0,0,0,.22);border:1px solid rgba(0,0,0,.08);transition:background .2s,color .2s}
.abp:hover{background:#B86A4B;color:#fff!important;border-color:#B86A4B}
.abp svg{flex:none}
.ab-nopencil .abbar{display:none}
.contact .abbar{top:14px}
@media (max-width:700px){.abp span{display:none}.abp{width:34px;height:34px;padding:0;justify-content:center}.abbar-hero{top:84px}}

/* compact price list */
.prices{padding-block:clamp(56px,6vw,84px)}
.prices .head{margin-bottom:clamp(18px,2.4vw,28px);gap:20px}
.prices .h2{font-size:clamp(34px,4vw,52px)}
.prices .lead{font-size:15px;max-width:46ch}
.ptabs{margin-bottom:18px}
.ptabs button{padding:9px 18px;font-size:13.5px}
.pgrid{gap:12px}
.pgrid .pcard{flex:0 1 calc((100% - 24px)/3);gap:10px;padding:20px 22px;border-radius:16px}
.pgrid.pc4 .pcard{flex-basis:calc((100% - 36px)/4)}
.pgrid.pc5 .pcard{flex-basis:calc((100% - 48px)/5)}
.pcard h3{font-size:clamp(20px,1.7vw,24px)}
.pprice span{font-size:clamp(30px,3vw,38px)}
.pcard ul{padding-top:12px;gap:6px;font-size:14px}
.pcard li{padding-left:16px}
.pcard li::before{width:5px;height:5px}
.pextra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;align-items:start}
.pbox{padding:0;border-radius:14px;overflow:hidden}
.pbox summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:15px 20px;font-family:var(--serif);font-size:20px;line-height:1.2}
.pbox summary::-webkit-details-marker{display:none}
.pbox summary i{position:relative;flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--ink);transition:background .2s,transform .3s}
.pbox summary i::before,.pbox summary i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%);transition:background .2s}
.pbox summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s,background .2s}
.pbox summary:hover i{background:var(--ink)}
.pbox summary:hover i::before,.pbox summary:hover i::after{background:var(--paper)}
.pbox[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.pbox>ul,.pbox>dl{padding:4px 20px 20px}
.pbox .prows div{padding:9px 0;font-size:14.5px}
.pnote{margin-top:16px;font-size:12.5px}
.pcta{margin-top:clamp(36px,5vw,60px)}
.pcta .h2{font-size:clamp(28px,3.4vw,44px)}
.pcta p{margin:12px 0 20px;font-size:15px}
@media (max-width:1100px){.pgrid .pcard,.pgrid.pc4 .pcard,.pgrid.pc5 .pcard{flex-basis:calc((100% - 24px)/3)}}
@media (max-width:800px){.pgrid .pcard,.pgrid.pc4 .pcard,.pgrid.pc5 .pcard{flex-basis:calc((100% - 12px)/2)}.pextra{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.pgrid .pcard,.pgrid.pc4 .pcard,.pgrid.pc5 .pcard{flex-basis:100%}}
