:root{--char:#23262B;--gold:#E8A317;--ivory:#F3EBD3;--paper:#FBF7EA;--sage:#5E7A5B;--orange:#F26B1D}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--char);font-family:Georgia,"Times New Roman",serif;font-size:1.125rem;line-height:1.7}
.tape{height:18px;background:repeating-linear-gradient(-45deg,var(--gold) 0 16px,var(--char) 16px 32px)}
header.site{background:var(--char);padding:14px 20px}
header.site .in{max-width:44rem;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
header.site a{color:var(--ivory);text-decoration:none}
header.site .brand{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:1.5rem;letter-spacing:.04em;color:var(--gold)}
header.site nav a{margin-left:18px;font-size:1rem}
header.site a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
main{max-width:44rem;margin:0 auto;padding:36px 20px 60px}
h1{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-weight:400;font-size:clamp(2rem,7vw,3rem);line-height:1.1;letter-spacing:.02em;margin:0 0 8px}
h2{font-size:1.5rem;line-height:1.25;margin:2.2rem 0 .4rem}
.meta{color:#5b5d62;font-size:.95rem;margin:0 0 1.6rem}
a{color:var(--sage)}
a:hover{color:var(--orange)}
.post-list{list-style:none;padding:0;margin:1.5rem 0 0}
.post-list li{padding:1.1rem 0;border-top:2px solid var(--char)}
.post-list h2{margin:0 0 .2rem;font-size:1.4rem}
.post-list p{margin:.2rem 0}
footer{background:var(--char);color:var(--ivory);text-align:center;padding:22px 20px;font-size:.95rem}
footer a{color:var(--gold)}

header.site nav a[aria-current="page"]{color:var(--gold)}
.lede{font-size:1.2rem}
.btn{display:inline-block;background:var(--gold);color:var(--char);padding:12px 22px;border-radius:6px;text-decoration:none;font-family:Georgia,serif;font-size:1.05rem;font-weight:bold;border:2px solid var(--char);cursor:pointer}
.btn:hover{background:var(--char);color:var(--gold)}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.service{border-top:4px solid var(--char);padding:1.6rem 0 .6rem;margin-top:2rem}
.service.big{background:var(--ivory);border:3px solid var(--char);border-radius:8px;padding:1.4rem 1.4rem 1.2rem;margin-top:2rem}
.service h2{margin-top:0}
.tag{display:inline-block;background:var(--orange);color:#fff;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;letter-spacing:.06em;font-size:.85rem;padding:3px 10px;border-radius:4px;margin-bottom:.5rem}
.service ul{padding-left:1.2rem}
.service li{margin:.25rem 0}
.price{color:#5b5d62;font-size:.98rem;font-style:italic}
.note{background:var(--ivory);border-left:6px solid var(--orange);padding:12px 16px;margin:1.4rem 0;font-size:1rem}
.toc{display:flex;flex-wrap:wrap;gap:10px;margin:1.2rem 0 0;padding:0;list-style:none}
.toc a{display:inline-block;border:2px solid var(--char);border-radius:6px;padding:6px 12px;text-decoration:none;color:var(--char);font-size:.98rem}
.toc a:hover{background:var(--char);color:var(--gold)}
form{margin-top:1.4rem}
label{display:block;font-weight:bold;margin:1.1rem 0 .3rem}
input,select,textarea{width:100%;font:inherit;font-size:1rem;padding:11px 12px;border:2px solid var(--char);border-radius:6px;background:#fff;color:var(--char)}
textarea{min-height:150px;resize:vertical}
.hint{font-size:.92rem;color:#5b5d62;margin:.3rem 0 0}
.status{margin-top:1rem;font-size:1rem}

.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center;padding:8px 0 12px}
.hero h1{font-size:clamp(2.1rem,7.5vw,3.4rem)}
.hero .bee{width:100%;max-width:320px;height:auto;justify-self:center}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin:1.2rem 0 0}
.btn.alt{background:transparent;color:var(--char)}
.btn.alt:hover{background:var(--char);color:var(--gold)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:1.2rem}
.card{border:3px solid var(--char);border-radius:8px;padding:16px 18px;background:#fff}
.card h3{margin:.1rem 0 .3rem;font-size:1.2rem}
.card p{margin:.2rem 0 .6rem;font-size:1rem;line-height:1.55}
.card.big{background:var(--ivory)}
.band{background:var(--char);color:var(--ivory);border-radius:8px;padding:26px 22px;margin-top:2.4rem;text-align:center}
.band h2{margin:0 0 .4rem;color:var(--gold)}
.band p{margin:.3rem 0 1rem}
.band .btn{border-color:var(--gold)}
.band .btn:hover{background:var(--ivory);color:var(--char)}
.bob{animation:bob 3.2s ease-in-out infinite;transform-origin:center}
.wing{animation:flap .18s ease-in-out infinite alternate;transform-box:fill-box}
.wing.l{transform-origin:100% 100%}
.wing.r{transform-origin:0% 100%}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes flap{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}
@media (prefers-reduced-motion:reduce){.bob,.wing{animation:none}}
.photo{margin:1.4rem 0}
.photo img{width:100%;height:auto;display:block;border:3px solid var(--char);border-radius:8px}
.photo figcaption{font-size:.92rem;color:#5b5d62;margin-top:.4rem}
@media (max-width:640px){.hero{grid-template-columns:1fr}.hero .bee{max-width:240px;order:-1}}

.hero-img{width:100%;height:auto;max-width:360px;justify-self:center;border:3px solid var(--char);border-radius:8px;display:block}
.about{display:grid;grid-template-columns:200px 1fr;gap:22px;align-items:center;margin:.6rem 0}
.about img{width:100%;height:auto;border:3px solid var(--char);border-radius:8px;display:block}
.about p{margin:.2rem 0 .8rem}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:1rem}
.gallery figure{margin:0}
.gallery img{width:100%;height:260px;object-fit:cover;border:3px solid var(--char);border-radius:8px;display:block}
.gallery figcaption{font-size:.9rem;color:#5b5d62;margin-top:.3rem}
.logo{display:block;max-width:240px;width:100%;height:auto;margin:0 auto 1rem;mix-blend-mode:multiply}
.photo.narrow{max-width:360px}
@media (max-width:640px){.about{grid-template-columns:1fr}.about img{max-width:260px}.hero-img{max-width:280px;order:-1}}

/* bigger, attention grabbing navigation */
header.site{padding:16px 20px;border-bottom:4px solid var(--gold)}
header.site .in{max-width:60rem;gap:14px}
header.site .brand{font-size:clamp(1.7rem,5vw,2.2rem);letter-spacing:.05em}
header.site nav{display:flex;flex-wrap:wrap;gap:10px}
header.site nav a{margin:0;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 22px;border:2px solid var(--gold);border-radius:6px;color:var(--ivory);font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:1.2rem;letter-spacing:.07em;text-transform:uppercase;line-height:1}
header.site nav a:hover{background:var(--gold);color:var(--char)}
header.site nav a[aria-current="page"]{background:var(--gold);color:var(--char)}
header.site nav a.cta{background:var(--orange);border-color:var(--orange);color:#fff}
header.site nav a.cta:hover{background:var(--ivory);border-color:var(--ivory);color:var(--char)}
@media (max-width:640px){
  header.site .in{flex-direction:column;align-items:stretch;text-align:center}
  header.site nav a{flex:1 1 44%}
  header.site nav a.cta{flex:1 1 100%}
}

/* ===== v9: warm honey look ===== */
:root{--orange:#C2410C;--honey:#F2C98C;--honey-lt:#FBEBD0}
body{background:#fff;color:#23262B;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1.0625rem;line-height:1.7;padding-bottom:84px}
h1,h2,h3,header.site .brand{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif}
h1{font-weight:700;letter-spacing:0;text-transform:none}
h2{font-weight:700}
.tape{display:none}
header.site{background:#fff;border-bottom:1px solid #e6dcc3;padding:14px 20px}
header.site a{color:#23262B}
header.site .brand{color:#23262B;font-size:clamp(1.5rem,5vw,2rem);font-weight:700;letter-spacing:0}
header.site nav a{border:2px solid #23262B;color:#23262B;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.09em}
header.site nav a:hover,header.site nav a[aria-current="page"]{background:var(--honey);border-color:#23262B;color:#23262B}
header.site nav a.cta{background:var(--orange);border-color:var(--orange);color:#fff}
header.site nav a.cta:hover{background:#23262B;border-color:#23262B;color:#fff}
header.site{border-bottom:4px solid var(--honey)}
.btn{background:var(--orange);color:#fff;border-color:var(--orange);font-family:inherit}
.btn:hover{background:#23262B;border-color:#23262B;color:#fff}
.btn.alt{background:#fff;color:#23262B;border-color:#23262B}
.btn.alt:hover{background:var(--honey);color:#23262B}
.band .btn{border-color:var(--orange)}
.service.big{background:var(--honey);border-color:#23262B}
.note{background:var(--honey-lt);border-left-color:var(--orange)}
.card{border-color:#23262B}
.card.big{background:var(--honey-lt)}
footer{background:#23262B}
main.full{max-width:none;padding:0}
/* hero */
.hero-full{position:relative;min-height:min(80vh,700px);display:flex;align-items:flex-end;overflow:hidden;background:#23262B}
.hero-full .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.hero-full::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,22,26,.08) 0%,rgba(20,22,26,.30) 45%,rgba(20,22,26,.82) 100%)}
.hero-copy{position:relative;z-index:2;max-width:60rem;margin:0 auto;padding:40px 20px 44px;width:100%;color:#fff}
.hero-copy h1{color:#fff;font-size:clamp(2.2rem,6.5vw,3.8rem);line-height:1.08;margin:0 0 .6rem;max-width:18ch}
.hero-copy p{font-size:clamp(1.05rem,2.6vw,1.3rem);max-width:34rem;margin:0 0 1.2rem;color:#fff}
.hero-copy .btns{margin:0}
.hero-copy .btn{font-size:1.1rem;padding:14px 26px}
/* sections */
.sec{padding:52px 20px}
.sec.tan{background:var(--honey)}
.sec .wrap{max-width:60rem;margin:0 auto}
.sec h2{font-size:clamp(1.7rem,4.5vw,2.3rem);margin:0 0 .6rem}
.sec .gallery figcaption{color:#23262B}
.sec .post-list li{border-top-color:#23262B}
.sec.dark{background:#23262B;color:#F3EBD3;text-align:center}
.sec.dark h2{color:var(--honey)}
.sec.dark .btn{background:var(--orange);border-color:var(--orange)}
.sec.dark .btn:hover{background:#fff;border-color:#fff;color:#23262B}
.sec .about{max-width:none}
.sec .gallery img{height:300px}
.callrow{display:flex;flex-wrap:wrap;gap:12px;margin:1rem 0 0}
.phone-big{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:1.5rem;font-weight:700}
.phone-big a{color:#23262B}
/* floating contact buttons */
.float{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));display:flex;gap:8px;z-index:50}
.float a{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-weight:700;font-size:1rem;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.28)}
.float .f-text{background:var(--orange);color:#fff}
.float .f-call{background:#23262B;color:#fff}
.float a:focus-visible{outline:3px solid var(--honey);outline-offset:2px}
@media (max-width:640px){.sec{padding:40px 18px}.hero-full{min-height:min(78vh,620px)}.sec .gallery img{height:240px}}
/* mobile tightening */
@media (max-width:640px){
  header.site{padding:10px 12px}
  header.site .in{gap:8px}
  header.site nav{gap:6px;flex-wrap:nowrap}
  header.site nav a{flex:1 1 0;min-width:0;padding:8px 2px;min-height:44px;font-size:.74rem;letter-spacing:.04em}
  header.site nav a.cta{display:none}
  .hero-copy .btn.alt{display:none}
  .hero-copy{padding-bottom:84px}
}
