
:root{--paper:#fbf9f2;--white:#fff;--pine:#2b4522;--pine-d:#1d3117;--leaf:#5f854f;--sage:#eef0e4;--gold:#d9ae35;--gold-d:#b58e22;--ink:#28311f;--mut:#78806b;--line:#e5e2d3;--shadow:0 18px 50px -18px rgba(43,69,34,.22);--r:18px}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%}
body{font-family:'Karla',sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100%}
img,video,svg{max-width:100%;height:auto}
h1,h2,h3{font-family:'Fraunces',serif}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(18px,4vw,24px)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
.topbar{background:var(--pine-d);color:#e9efe2;font-size:13.5px;padding:9px 14px;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px 16px;flex-wrap:wrap}
.topbar-phones{display:inline-flex;align-items:center;justify-content:center;gap:10px 16px;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:700;border-bottom:1px solid rgba(255,255,255,.35);white-space:nowrap}
@media(max-width:640px){.topbar{font-size:12.5px;line-height:1.45;padding:8px 12px;gap:4px 10px}.topbar-phones{width:100%;gap:6px 14px}}
nav{position:-webkit-sticky;position:sticky;top:0;z-index:60;width:100%;background:rgba(251,249,242,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .22s ease,background .22s ease;isolation:isolate;transform:translateZ(0)}
nav.is-scrolled{background:rgba(251,249,242,.985);box-shadow:0 10px 28px -18px rgba(29,49,23,.55)}
header[id],section[id],.hero-anchor{scroll-margin-top:86px}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px clamp(18px,4vw,24px);max-width:1180px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand img{width:48px;height:48px;border-radius:12px;object-fit:cover;border:1px solid var(--line);flex:none}
.brand .bn{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(15px,2.2vw,18px);color:var(--pine);line-height:1.12;white-space:nowrap}
.brand .bt{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.nav-links{display:flex;gap:20px;font-weight:700;font-size:14px;flex-wrap:wrap}
.nav-links a{color:#43503a;transition:color .2s;padding:4px 0}
.nav-links a:hover,.nav-links a.on{color:var(--pine);border-bottom:2px solid var(--gold)}
.callbtn{background:var(--gold);color:var(--pine-d);font-weight:800;padding:11px 18px;border-radius:999px;font-size:14px;display:inline-flex;align-items:center;gap:8px;box-shadow:0 8px 20px -8px rgba(217,174,53,.6);transition:transform .2s;white-space:nowrap}
.callbtn:hover{transform:translateY(-2px)}
.burger{display:none;background:none;border:none;font-size:26px;color:var(--pine);cursor:pointer;padding:6px 10px}
.hero{position:relative;overflow:hidden;padding:clamp(48px,7vw,76px) 0 clamp(56px,8vw,88px)}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(900px 500px at 85% -10%,rgba(217,174,53,.10),transparent 60%),radial-gradient(700px 500px at -10% 110%,rgba(95,133,79,.12),transparent 60%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(40px,5vw,56px);align-items:center;position:relative}
.chip{display:inline-flex;align-items:center;gap:9px;background:var(--white);border:1px solid var(--line);padding:9px 16px;border-radius:999px;font-weight:800;font-size:13px;color:var(--pine);box-shadow:0 6px 18px -10px rgba(43,69,34,.25);margin-bottom:20px}
.hero h1{font-size:clamp(36px,5.2vw,62px);font-weight:600;line-height:1.06;color:var(--pine);letter-spacing:-.01em}
.hero h1 em{font-style:italic;color:var(--leaf)}
.hero .sub{margin:18px 0 28px;font-size:clamp(16px,2vw,18.5px);color:#57614c;max-width:480px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn-primary{background:var(--pine);color:#fff;font-weight:800;padding:16px 28px;border-radius:999px;font-size:16.5px;display:inline-flex;align-items:center;gap:10px;box-shadow:var(--shadow);transition:transform .2s,background .2s;min-height:48px}
.btn-primary:hover{transform:translateY(-2px);background:var(--pine-d)}
.btn-ghost{font-weight:700;color:var(--pine);padding:14px 8px;display:inline-flex;align-items:center;gap:8px;border-bottom:2px solid var(--gold);min-height:48px}
.hero-note{margin-top:16px;font-size:14px;color:var(--mut)}
.hero-note b{color:var(--pine)}
.hero-badges{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.hb{background:var(--sage);border:1px solid #dfe3ce;color:#3f5434;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:7px 13px;border-radius:999px}
.stats{background:var(--pine);color:#eef3e7;padding:clamp(32px,5vw,44px) 0}
.stats-in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stat .num{font-family:'Fraunces',serif;font-size:clamp(30px,4vw,40px);font-weight:600;color:var(--gold)}
.stat .lbl{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#c3d0b6;margin-top:4px}
section{padding:clamp(56px,8vw,88px) 0}
.kick{font-size:12.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);margin-bottom:12px}
.h2{font-size:clamp(28px,3.6vw,42px);font-weight:600;color:var(--pine);line-height:1.15;letter-spacing:-.01em}
.h1p{font-size:clamp(32px,4.4vw,52px);font-weight:600;color:var(--pine);line-height:1.1;letter-spacing:-.01em}
.lead{margin-top:14px;color:#57614c;font-size:clamp(15.5px,1.8vw,17px);max-width:640px}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.pagehead{padding:clamp(44px,6vw,64px) 0 clamp(28px,4vw,40px);background:linear-gradient(180deg,var(--sage),var(--paper));border-bottom:1px solid var(--line)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.6vw,26px);margin-top:clamp(32px,5vw,48px)}
.svc{background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 10px 30px -18px rgba(43,69,34,.18);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}
.svc:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.svc img{width:100%;height:210px;object-fit:cover}
.svc .pad{padding:20px 22px 24px}
.svc h3{font-size:20px;font-weight:600;color:var(--pine);margin-bottom:6px}
.svc p{font-size:15px;color:#5a6350;margin-bottom:12px}
.svc .go{font-weight:800;color:var(--gold-d);font-size:14px}
.cat-head{display:flex;align-items:center;gap:14px;margin:clamp(38px,5vw,52px) 0 20px}
.cat-head h3,.cat-head h2{font-size:clamp(20px,2.6vw,26px);font-weight:600;color:var(--pine);white-space:nowrap;font-family:'Fraunces',serif}
.cat-head::after{content:'';height:1px;background:var(--line);flex:1}
.cat-head .dot{width:10px;height:10px;border-radius:50%;background:var(--gold);flex:none}
.ba-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.6vw,26px)}
.ba-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 10px 30px -18px rgba(43,69,34,.18)}
.ba{position:relative;user-select:none;touch-action:none;overflow:hidden;aspect-ratio:4/4.4;cursor:ew-resize;background:var(--sage)}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba .after-img{clip-path:inset(0 0 0 50%)}
.ba .divider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:rgba(255,255,255,.95);box-shadow:0 0 10px rgba(0,0,0,.35)}
.ba .knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.96);display:flex;align-items:center;justify-content:center;color:var(--pine);box-shadow:0 4px 14px rgba(0,0,0,.3);border:1px solid rgba(43,69,34,.12)}
.ba .tag{position:absolute;top:12px;padding:5px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(29,49,23,.75);backdrop-filter:blur(4px)}
.ba .tag.b{left:12px}
.ba .tag.a{right:12px;background:rgba(29,49,23,.75)}
.ba-card .cap{padding:15px 18px;font-weight:800;color:var(--pine);font-size:15px}
.ba-card .cap span{display:block;font-weight:500;font-size:13px;color:var(--mut);margin-top:2px}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:clamp(24px,4vw,34px)}
.g-item{border-radius:14px;overflow:hidden;position:relative;aspect-ratio:4/4.3;border:4px solid var(--white);box-shadow:0 8px 24px -14px rgba(43,69,34,.28);background:var(--sage);cursor:zoom-in;padding:0}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.g-item:hover img{transform:scale(1.05)}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.6vw,26px);margin-top:clamp(32px,5vw,48px)}
.rev{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:0 10px 30px -18px rgba(43,69,34,.16)}
.rev .stars{color:var(--gold-d);letter-spacing:3px;margin-bottom:13px;font-size:15px}
.rev p{font-size:15.5px;color:#4a5340;font-style:italic}
.rev .who{margin-top:15px;font-weight:800;color:var(--pine);font-size:14px}
.rev .who span{display:block;font-weight:500;color:var(--mut);font-size:12.5px;margin-top:2px}
.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(44px,6vw,60px);align-items:center}
.about-visual{position:relative}
.about-photo{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:6px solid var(--white)}
.about-photo img{width:100%;height:clamp(320px,40vw,430px);object-fit:cover}
.card-img{position:absolute;right:-14px;bottom:-26px;width:50%;border-radius:14px;box-shadow:0 22px 50px -18px rgba(43,69,34,.4);border:5px solid var(--white);transform:rotate(2deg)}
.bio{margin-top:18px;color:#4a5340;font-size:15.5px}
.bros{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}
.bro{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:0 8px 22px -14px rgba(43,69,34,.2)}
.bro .nm{font-weight:800;color:var(--pine);font-size:16px}
.bro .rl{font-size:12.5px;color:var(--mut);margin:2px 0 10px}
.bro a{font-weight:800;color:var(--gold-d);font-size:15px}
.storm{background:linear-gradient(135deg,var(--pine-d),var(--pine));color:#eef3e7;text-align:center;border-radius:26px;padding:clamp(44px,7vw,64px) clamp(20px,4vw,30px);position:relative;overflow:hidden}
.storm::before{content:'';position:absolute;inset:0;background:radial-gradient(600px 300px at 80% 0%,rgba(217,174,53,.15),transparent 60%)}
.storm h2{font-size:clamp(26px,3.4vw,40px);font-weight:600;position:relative;font-family:'Fraunces',serif}
.storm p{margin:14px auto 28px;max-width:480px;color:#c3d0b6;position:relative}
.storm .btn-primary{background:var(--gold);color:var(--pine-d);position:relative}
.call-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.6vw,26px);margin:clamp(32px,5vw,48px) auto 0;max-width:820px}
.call-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:32px 28px;text-align:center;box-shadow:0 10px 30px -18px rgba(43,69,34,.18)}
.call-card .ic{width:56px;height:56px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;font-size:23px;margin:0 auto 14px}
.call-card .nm{font-weight:800;color:var(--pine);font-size:18px}
.call-card .rl{font-size:13px;color:var(--mut);margin:2px 0 16px}
.call-card a.ph{display:inline-block;background:var(--pine);color:#fff;font-weight:800;padding:14px 26px;border-radius:999px;font-size:16px;min-height:48px}
.call-card a.ph:hover{background:var(--pine-d)}
.areas{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:16px}
.area{background:var(--white);border:1px solid var(--line);padding:8px 16px;border-radius:999px;font-size:13.5px;font-weight:800;color:#4a5340}
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,24px);margin-top:clamp(28px,4vw,40px)}
.area-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:0 8px 24px -16px rgba(43,69,34,.2)}
.area-card h3{font-family:'Fraunces',serif;color:var(--pine);font-size:19px;margin-bottom:6px}
.area-card p{font-size:14px;color:#5a6350}
footer{background:var(--pine-d);color:#a9b89c;padding:44px 0;font-size:14px}
.foot{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}
.foot .fb{display:flex;align-items:center;gap:12px;color:#e9efe2;font-family:'Fraunces',serif;font-weight:600;font-size:17px;margin-bottom:10px}
.foot .fb img{width:42px;height:42px;border-radius:10px}
.foot a{color:#d6e0c9}
.foot h4{color:#e9efe2;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.foot ul{list-style:none}
.foot li{margin-bottom:7px}
.lightbox{position:fixed;inset:0;background:rgba(20,28,16,.93);z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(94vw,1100px);max-height:88vh;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lb-x{position:absolute;top:16px;right:20px;background:rgba(251,249,242,.95);border:1px solid rgba(43,69,34,.15);color:var(--pine);font-size:17px;font-weight:800;width:42px;height:42px;border-radius:50%;cursor:pointer}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(251,249,242,.9);border:none;color:var(--pine);font-size:22px;font-weight:900;width:46px;height:46px;border-radius:50%;cursor:pointer}
.lb-prev{left:16px}.lb-next{right:16px}
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
@media(max-width:1080px){.nav-links{display:none}.burger{display:block}.gal{grid-template-columns:repeat(3,1fr)}.callbtn{padding:10px 16px;font-size:13.5px}}
@media(max-width:900px){
.hero-grid{grid-template-columns:1fr;gap:64px}
.svc-grid,.ba-wrap,.rev-grid,.area-grid{grid-template-columns:1fr}
.gal{grid-template-columns:repeat(2,1fr);gap:11px}
.stats-in{grid-template-columns:repeat(2,1fr);gap:26px}
.about-grid{grid-template-columns:1fr;gap:60px}
.call-grid{grid-template-columns:1fr}
.card-img{right:0;bottom:-22px}
.foot{grid-template-columns:1fr}
.ba{aspect-ratio:4/4.2}
}


/* hero video */
.hero-video video{width:100%;height:clamp(340px,42vw,470px);object-fit:cover;display:block}
/* albums */
.alb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.alb{position:relative;border:none;padding:0;border-radius:16px;overflow:hidden;aspect-ratio:4/4.1;cursor:pointer;background:var(--sage);box-shadow:0 10px 28px -16px rgba(43,69,34,.3);border:4px solid var(--white);text-align:left;transition:transform .25s,box-shadow .25s}
.alb:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.alb img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.alb:hover img{transform:scale(1.05)}
.alb-info{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;background:linear-gradient(transparent,rgba(29,49,23,.88));color:#fff;display:block}
.alb-name{display:block;font-weight:800;font-size:14.5px;line-height:1.3}
.alb-count{display:block;font-size:11.5px;color:#d9e3cd;font-weight:700;margin-top:2px}
.alb-hide{display:none}
.fmore{border:1px solid var(--line);background:var(--white);padding:13px 26px;border-radius:999px;font-weight:800;font-size:14.5px;color:var(--pine);cursor:pointer;min-height:48px}
.fmore:hover{background:var(--pine);color:#fff;border-color:var(--pine)}
/* album modal */
.albox{position:fixed;inset:0;background:rgba(20,28,16,.55);backdrop-filter:blur(6px);z-index:150;display:none;align-items:flex-start;justify-content:center;padding:clamp(10px,3vw,34px);overflow-y:auto}
.albox.open{display:flex}
.albox-in{background:var(--paper);border-radius:22px;max-width:1040px;width:100%;box-shadow:0 40px 100px rgba(0,0,0,.45);overflow:hidden;margin:auto 0}
.albox-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:2}
.albox-title{font-family:'Fraunces',serif;color:var(--pine);font-size:clamp(19px,2.6vw,24px);font-weight:600}
.albox-x{background:var(--white);border:1px solid var(--line);color:var(--pine);font-size:16px;font-weight:800;width:40px;height:40px;border-radius:50%;cursor:pointer;flex:none}
.albox-body{padding:20px 22px 26px}
.albox-body .ba-card{max-width:520px;margin:0 auto 24px}
.albox-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.albox-grid .g-item{aspect-ratio:4/4.2}
@media(max-width:900px){.alb-grid{grid-template-columns:repeat(2,1fr);gap:11px}.albox-grid{grid-template-columns:repeat(2,1fr)}}

.ic-ph{vertical-align:-2px}
.btn-primary .ic-ph,.callbtn .ic-ph{margin-right:2px}
.call-card .ic{color:var(--pine)}
.lb-nav{background:rgba(251,249,242,.92);border:1px solid rgba(43,69,34,.12);color:var(--pine)}

/* mobile nav: keep brand and Call Now from colliding */
.brand > span{min-width:0;overflow:hidden}
@media(max-width:640px){
  .nav-in{gap:8px}
  .brand{gap:9px;flex:1;min-width:0}
  .brand img{width:40px;height:40px}
  .brand .bn{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}
  .brand .bt{display:none}
  .callbtn{padding:9px 13px;font-size:12.5px;flex:none}
  .burger{padding:4px 6px;font-size:23px}
}
@media(max-width:360px){
  .brand .bn{font-size:13.5px}
  .callbtn{padding:8px 11px;font-size:12px}
}

/* full screen mobile menu */
.m-menu{position:fixed;inset:0;z-index:300;background:var(--pine-d);background:linear-gradient(160deg,var(--pine-d) 0%,var(--pine) 100%);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-3%);transition:opacity .38s cubic-bezier(.4,0,.2,1),transform .38s cubic-bezier(.4,0,.2,1),visibility 0s .38s}
.m-menu.open{opacity:1;visibility:visible;transform:none;transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1)}
.m-menu-in{display:flex;flex-direction:column;height:100%;padding:calc(14px + env(safe-area-inset-top)) clamp(24px,7vw,44px) calc(28px + env(safe-area-inset-bottom))}
.m-links{flex:1;display:flex;flex-direction:column;justify-content:center;gap:2px}
.m-links a{font-family:'Fraunces',serif;font-size:clamp(26px,6.4vw,34px);font-weight:600;color:#eef3e7;padding:10px 0;border-bottom:1px solid rgba(233,239,226,.12);opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .4s ease,color .2s}
.m-links a:hover,.m-links a.on{color:var(--gold)}
.m-menu.open .m-links a{opacity:1;transform:none}
.m-menu.open .m-links a:nth-child(1){transition-delay:.06s}
.m-menu.open .m-links a:nth-child(2){transition-delay:.11s}
.m-menu.open .m-links a:nth-child(3){transition-delay:.16s}
.m-menu.open .m-links a:nth-child(4){transition-delay:.21s}
.m-menu.open .m-links a:nth-child(5){transition-delay:.26s}
.m-menu.open .m-links a:nth-child(6){transition-delay:.31s}
.m-menu.open .m-links a:nth-child(7){transition-delay:.36s}
.m-foot{display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(14px);transition:opacity .4s ease .4s,transform .4s ease .4s}
.m-menu.open .m-foot{opacity:1;transform:none}
.m-call{text-align:center;background:var(--gold);color:var(--pine-d);font-weight:800;padding:15px;border-radius:14px;font-size:15.5px}
.m-call.ghost{background:transparent;color:#eef3e7;border:1px solid rgba(233,239,226,.3)}
@media (prefers-reduced-motion:reduce){.m-menu,.m-links a,.m-foot{transition:none}}
/* burger to X animation */
.burger{position:relative;z-index:130;width:44px;height:44px;display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.burger span{display:block;width:22px;height:2.5px;background:var(--pine);border-radius:2px;transition:transform .32s cubic-bezier(.4,0,.2,1),background .32s}
.burger.x span{background:#eef3e7}
.burger.x span:first-child{transform:translateY(4.25px) rotate(45deg)}
.burger.x span:last-child{transform:translateY(-4.25px) rotate(-45deg)}
@media(max-width:1080px){.burger{display:flex}}

.m-top{display:flex;align-items:center;justify-content:space-between;padding:8px 0 14px;border-bottom:1px solid rgba(233,239,226,.14)}
.m-brand{display:flex;align-items:center;gap:11px;font-family:'Fraunces',serif;font-weight:600;font-size:17px;color:#eef3e7}
.m-brand img{width:40px;height:40px;border-radius:10px;object-fit:cover}
.m-x{background:rgba(233,239,226,.1);border:1px solid rgba(233,239,226,.25);color:#eef3e7;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,transform .2s}
.m-x:hover{background:rgba(233,239,226,.2);transform:rotate(90deg)}


/* Gallery accuracy rebuild */
.portfolio-group{margin-top:clamp(34px,5vw,54px);scroll-margin-top:96px}
.portfolio-group .cat-head{margin-bottom:8px}
.gallery-note{max-width:760px;color:#5a6350;font-size:15px;margin:0 0 22px}
.archive-group{margin-top:clamp(52px,7vw,76px);padding:clamp(26px,4vw,38px);border:1px solid var(--line);background:rgba(238,240,228,.58);border-radius:24px}
.archive-group .cat-head{margin-top:0}
.gallery-more{text-align:center;margin-top:22px}
.album-badge{position:absolute;top:10px;left:10px;z-index:1;background:rgba(29,49,23,.84);backdrop-filter:blur(6px);color:#fff;border:1px solid rgba(255,255,255,.18);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:999px;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alb.is-hidden{display:none}
.alb.image-missing{display:none}
.albox-meta{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin:0 auto 18px}
.albox-meta span{background:var(--sage);border:1px solid #dfe3ce;color:#3f5434;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:6px 11px;border-radius:999px}
.album-compare{max-width:620px!important}
.ba:focus-visible{outline:3px solid rgba(43,69,34,.55);outline-offset:4px}

@media(max-width:640px){
  .archive-group{padding:20px 14px;border-radius:18px}
  .gallery-note{font-size:14px;margin-bottom:16px}
  .album-badge{font-size:9px;padding:4px 7px;top:8px;left:8px}
  .alb-info{padding:28px 10px 9px}
  .alb-name{font-size:13px}
  .alb-count{font-size:10.5px}
  .ba .divider{background:rgba(255,255,255,.92)}
  .ba .knob{width:38px;height:38px;background:var(--pine);color:#fff;border:2px solid rgba(255,255,255,.9)}
  .ba .tag{background:rgba(29,49,23,.84)!important;color:#fff}
  .albox-body{padding:16px 14px 22px}
}
@media(max-width:420px){.alb-grid{grid-template-columns:1fr}.albox-grid{grid-template-columns:1fr 1fr}}


/* Mobile project cards matched to the approved desktop-inspired gallery reference */
@media(max-width:640px){
  .portfolio-group{margin-top:42px}
  .portfolio-group .cat-head{margin-bottom:20px;gap:12px}
  .portfolio-group .cat-head h3,
  .portfolio-group .cat-head h2{font-size:clamp(22px,6.1vw,29px);white-space:normal;line-height:1.14}
  .alb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
  .alb{aspect-ratio:0.82;border:5px solid #fff;border-radius:19px;box-shadow:0 12px 28px -16px rgba(43,69,34,.34)}
  .alb:hover{transform:none}
  .alb img{object-position:center}
  .alb-info{padding:62px 14px 14px;background:linear-gradient(180deg,transparent 22%,rgba(18,35,14,.18) 44%,rgba(18,35,14,.92) 100%)}
  .alb-name{font-size:clamp(16px,4.45vw,21px);line-height:1.12;letter-spacing:-.015em;text-shadow:0 2px 7px rgba(0,0,0,.35)}
  .alb-count{font-size:clamp(12px,3.45vw,16px);line-height:1.2;margin-top:4px;color:#fff;text-shadow:0 2px 7px rgba(0,0,0,.35)}
  .album-badge{display:none}
  .gallery-more{margin-top:30px}
  .fmore{min-width:min(100%,365px);padding:15px 28px;border-radius:999px;border:1px solid #d9d7ca;background:#fff;font-size:clamp(16px,4.4vw,21px);box-shadow:0 6px 18px -14px rgba(43,69,34,.25)}
}
@media(max-width:420px){
  .alb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}
  .alb{border-width:4px;border-radius:17px;aspect-ratio:.78}
  .alb-info{padding:54px 11px 12px}
  .alb-name{font-size:15px}
  .alb-count{font-size:11.5px}
  .albox-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:340px){
  .alb-grid{gap:9px 8px}
  .alb-name{font-size:13.5px}
  .alb-count{font-size:10.5px}
}


/* ============================================================
   FOUR CATEGORY ONE PAGE GALLERY
   Category membership comes only from the four supplied ZIPs.
   ============================================================ */
.category-nav-note{font-size:13px;color:var(--mut);margin-top:12px}
.gallery-intro{padding-bottom:20px}
.service-gallery{scroll-margin-top:96px;padding:clamp(58px,8vw,92px) 0;border-top:1px solid var(--line)}
.service-gallery:first-of-type{border-top:0}
.service-gallery:nth-child(even){background:rgba(238,240,228,.45)}
.service-gallery .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.service-gallery .section-heading .count{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-d);white-space:nowrap}
.service-gallery .h2{font-size:clamp(30px,4.4vw,48px)}
.category-comparisons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.8vw,28px);margin:0 0 clamp(28px,4vw,42px)}
.category-comparisons .ba-card{min-width:0}
.category-comparisons .ba{aspect-ratio:4/3.65}
.category-comparisons .cap{display:flex;align-items:center;justify-content:space-between;gap:12px}
.category-comparisons .cap span{margin:0;text-align:right}
.category-album{width:100%;border:6px solid var(--white);border-radius:24px;overflow:hidden;background:var(--pine);position:relative;min-height:clamp(300px,42vw,470px);box-shadow:var(--shadow);cursor:pointer;padding:0;text-align:left;display:block}
.category-album img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.category-album::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,27,11,.02) 30%,rgba(15,27,11,.88) 100%)}
.category-album:hover img{transform:scale(1.025)}
.category-album-content{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:clamp(24px,4vw,40px);color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:22px}
.category-album-name{font-family:'Fraunces',serif;font-size:clamp(27px,4vw,44px);font-weight:600;line-height:1.05;display:block}
.category-album-count{font-size:clamp(14px,1.8vw,17px);font-weight:800;margin-top:8px;display:block;color:#eef3e7}
.category-album-action{background:var(--gold);color:var(--pine-d);padding:13px 20px;border-radius:999px;font-weight:800;white-space:nowrap;box-shadow:0 10px 28px -14px rgba(0,0,0,.5)}
.category-source-note{margin-top:12px;color:var(--mut);font-size:13px;text-align:center}

/* Album modal with progressive thumbnail loading for the 175-photo removal album. */
.albox{display:none}
.albox.open{display:flex}
.albox-in{max-width:1120px}
.albox-head-copy{min-width:0}
.albox-title{line-height:1.1}
.albox-subtitle{font-size:12px;color:var(--mut);font-weight:700;margin-top:3px}
.albox-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.albox-grid .g-item{aspect-ratio:4/4.5}
.album-load-wrap{text-align:center;margin-top:24px}
.album-load-more{border:1px solid var(--line);background:var(--white);color:var(--pine);font-weight:800;border-radius:999px;padding:14px 26px;min-height:48px;cursor:pointer}
.album-load-more:hover{background:var(--pine);color:#fff;border-color:var(--pine)}
.album-progress{font-size:12px;color:var(--mut);margin-top:8px}
.lightbox-counter{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:3;background:rgba(251,249,242,.92);color:var(--pine);border:1px solid rgba(43,69,34,.15);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800}

/* Keep the site one page and make all four categories easy to reach. */
.nav-links{gap:15px}
.nav-links a{font-size:13px}

@media(max-width:900px){
  .category-comparisons{grid-template-columns:1fr 1fr}
  .albox-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .service-gallery .section-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .category-comparisons{grid-template-columns:1fr}
  .category-comparisons .ba{aspect-ratio:4/4.25}
  .category-album{min-height:380px;border-width:5px;border-radius:21px}
  .category-album-content{padding:25px 20px;display:block}
  .category-album-name{font-size:30px}
  .category-album-count{font-size:15px}
  .category-album-action{display:inline-flex;margin-top:16px;padding:12px 18px}
  .albox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
@media(max-width:420px){
  .service-gallery{padding:50px 0}
  .category-album{min-height:340px;border-width:4px;border-radius:18px}
  .category-album-name{font-size:26px}
  .category-album-content{padding:22px 17px}
  .category-album-action{font-size:13px}
  .albox-body{padding:14px 12px 20px}
  .albox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .albox-grid .g-item{border-width:3px;border-radius:11px}
}

/* ============================================================
   FAMILY OWNED INTRO
   One card: the work video on top (in the exact spot the photo
   used to sit), the review quote just below it, then the text.
   Much simpler than the old two-card layout: everything here is
   normal document flow, so there is no height-matching between
   columns to fight with at different screen sizes.
   ============================================================ */
.hero-anchor{position:absolute;top:-92px;left:0;width:1px;height:1px;pointer-events:none}

.owner-video-grid{display:block}

.owner-intro{
  max-width:920px;
  margin:0 auto;
  background:rgba(255,255,255,.74);
  border:1px solid var(--line);
  border-radius:clamp(18px,2.4vw,28px);
  overflow:hidden;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
}

/* Video: full card width, top corners clipped to match the card
   automatically because the card has overflow:hidden. */
.owner-media{width:100%}
.owner-media .hero-photo,.owner-media .hero-video video{
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  display:block;
  object-fit:cover;
  object-position:center;
}

/* Review quote: sits directly under the video, inside the same card. */
.owner-intro .float-review{
  margin:clamp(14px,2vw,20px) clamp(14px,2.6vw,34px) 0;
  background:var(--sage);
  border:1px solid var(--line);
  border-radius:clamp(12px,1.6vw,16px);
  padding:clamp(12px,1.5vw,16px) clamp(14px,1.8vw,18px);
}
.owner-intro .float-review .stars{font-size:clamp(11px,1vw,14px);color:var(--gold-d);letter-spacing:2px}
.owner-intro .float-review p{font-size:clamp(12px,1.05vw,14px);line-height:1.4;font-style:italic;color:#3d4a34}
.owner-intro .float-review .who{font-size:clamp(10.5px,.95vw,12px);font-weight:800;color:var(--pine);margin-top:4px}

.owner-copy{
  padding:clamp(14px,2.6vw,34px);
  display:flex;
  flex-direction:column;
}
.owner-copy .chip{align-self:flex-start;margin-bottom:clamp(8px,1.4vw,15px);font-size:clamp(10.5px,1.1vw,13px);padding:clamp(6px,.8vw,9px) clamp(10px,1.4vw,18px)}
.owner-copy h1{font-size:clamp(24px,4.2vw,46px);margin:0;color:var(--pine);line-height:1.05}
.owner-bio{margin-top:clamp(8px,1.4vw,16px);color:#44503d;font-size:clamp(13px,1.3vw,16px);line-height:1.6}
.owner-copy .hero-note{margin-top:clamp(8px,1.4vw,16px);font-size:clamp(11.5px,1.2vw,14px);line-height:1.5}
.owner-copy .hero-note a{color:var(--pine);text-decoration:underline;text-decoration-color:rgba(217,174,53,.72);text-underline-offset:3px}
.owner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(8px,1.2vw,14px);margin-top:clamp(10px,1.6vw,20px)}
.owner-actions .btn-primary,.owner-actions .btn-ghost{flex:1 1 auto;justify-content:center;text-align:center;min-height:44px;font-size:clamp(12.5px,1.15vw,15px);padding:11px clamp(10px,1.4vw,20px)}
.owner-copy .hero-badges{margin-top:clamp(14px,2vw,22px);display:flex;flex-wrap:wrap;gap:clamp(6px,.9vw,10px)}
.owner-copy .hb{font-size:clamp(9.5px,.95vw,12.5px);padding:clamp(5px,.7vw,7px) clamp(8px,1.1vw,13px);white-space:nowrap}

@media(max-width:460px){
  .owner-copy{padding:18px 16px 20px}
  .owner-copy .hero-badges{gap:7px}
  .owner-intro .float-review{margin:12px 16px 0}
}

@media(max-width:700px){
  .hero{padding:26px 0 44px}
  .owner-actions .btn-primary,.owner-actions .btn-ghost{flex:1 1 100%}
}

/* Sticky navigation reliability handled by the unconditional html/body rules above. */
@media(max-width:700px){header[id],section[id],.hero-anchor{scroll-margin-top:72px}}

/* ============================================================
   LEAVE A REVIEW FORM
   ============================================================ */
.review-form{
  max-width:640px;
  margin:clamp(28px,4vw,40px) auto 0;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 10px 30px -18px rgba(43,69,34,.18);
  padding:clamp(22px,3.4vw,36px);
  display:flex;
  flex-direction:column;
  gap:16px;
}
.review-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:14px;color:var(--pine);min-width:0}
.review-form input[type="text"],.review-form select,.review-form textarea{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  font-family:'Karla',sans-serif;
  font-weight:500;
  font-size:15px;
  color:var(--ink);
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px 14px;
  resize:vertical;
}
.review-form input[type="text"]:focus,.review-form select:focus,.review-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.rf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}
.rf-row label{min-width:0}
.rf-hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.review-form .btn-primary{align-self:flex-start;min-height:48px}
.rf-status{font-size:14px;font-weight:700;margin:0}
.rf-status.ok{color:var(--pine)}
.rf-status.err{color:#a33}
.rf-thanks{max-width:640px;margin:20px auto 0;background:var(--sage);border:1px solid var(--line);border-radius:16px;padding:20px 24px}
.rf-thanks .stars{color:var(--gold-d);letter-spacing:2px;margin-bottom:8px}
.rf-thanks p{font-style:italic;color:#3d4a34;font-size:15px;line-height:1.5}
.rf-thanks .who{margin-top:10px;font-weight:800;color:var(--pine);font-size:14px}
.rf-thanks .note{margin-top:10px;font-size:12.5px;color:var(--mut);font-style:normal}

@media(max-width:600px){
  .rf-row{grid-template-columns:1fr}
}


/* ============================================================
   STICKY NAVIGATION WITH A NORMAL ANNOUNCEMENT BANNER
   The storm banner stays in the page at the very top and scrolls
   away normally. The complete navbar then follows the visitor on
   both desktop and mobile without changing the site colors.
   ============================================================ */
html,body{overflow-x:clip}
html{
  background:var(--pine-d);
  overscroll-behavior-x:none;
  overscroll-behavior-y:auto;
  scroll-padding-top:calc(var(--site-nav-height,70px) + 12px);
}
body{
  min-height:100%;
  background:var(--paper);
  overscroll-behavior-y:auto;
}
.topbar{position:relative;z-index:1}
nav{position:relative !important;top:auto !important}
html.header-fixed nav{
  position:fixed !important;top:0 !important;left:0;right:0;z-index:260;width:100%;margin:0;
  transform:translateZ(0);-webkit-transform:translateZ(0);
  box-shadow:0 8px 24px -18px rgba(29,49,23,.48);
}
.mobile-nav-spacer{display:none;width:100%;pointer-events:none}
html.header-fixed .mobile-nav-spacer{display:block;height:var(--site-nav-height,70px)}
footer{padding-bottom:calc(44px + env(safe-area-inset-bottom,0px))}
header[id],section[id],.hero-anchor,.service-gallery,.portfolio-group{
  scroll-margin-top:calc(var(--site-nav-height,70px) + 12px) !important;
}

@media(max-width:1080px){
  .nav-in{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:8px;
    min-height:64px;
    padding:8px clamp(12px,3.5vw,20px);
  }
  .brand{min-width:0;width:100%;gap:9px}
  .brand > span{min-width:0;overflow:visible;line-height:1.05}
  .brand img{width:42px;height:42px;border-radius:11px}
  .brand .bn{display:block;max-width:none;overflow:visible;text-overflow:clip;white-space:normal;font-size:14.5px;line-height:1.05}
  .brand .bt{display:block;margin-top:3px;font-size:8.5px;line-height:1;letter-spacing:.105em;white-space:nowrap}
  .nav-call-hide{min-width:0;min-height:42px;padding:9px 13px;justify-content:center}
  .burger{width:42px;height:42px;padding:0;flex:none}
}

@media(max-width:430px){
  .nav-in{gap:6px;padding-left:10px;padding-right:10px}
  .brand{gap:7px}
  .brand img{width:38px;height:38px;border-radius:10px}
  .brand .bn{font-size:13.25px;line-height:1.03}
  .brand .bt{font-size:7.5px;letter-spacing:.08em;margin-top:2px}
  .nav-call-hide{width:40px;height:40px;min-height:40px;padding:0;border-radius:50%}
  .nav-call-hide span{display:none}
  .nav-call-hide .ic-ph{width:17px;height:17px;margin:0}
  .burger{width:40px;height:40px}
}

@media(max-width:340px){
  .nav-in{gap:4px;padding-left:7px;padding-right:7px}
  .brand img{width:35px;height:35px}
  .brand .bn{font-size:12.2px}
  .brand .bt{font-size:7px}
  .nav-call-hide,.burger{width:37px;height:37px;min-height:37px}
}


/* TRUE MOBILE BOTTOM CANVAS FIX
   The body/html canvas is the footer green, so iOS can never reveal cream or
   white beneath the footer. All normal page content remains on the original
   cream surface inside .page-surface. This adds zero height and zero spacing. */
html,
body{
  background-color:var(--pine-d) !important;
}
.page-surface{
  display:block;
  background-color:var(--paper);
}
footer{
  margin:0 !important;
  box-shadow:none !important;
}


/* Album viewer usability: keep the viewer above the sticky navigation,
   provide a large reachable close target, and lock the page behind it. */
html.modal-scroll-locked,
body.modal-scroll-locked{
  overflow:hidden !important;
  overscroll-behavior:none;
}
body.modal-scroll-locked{
  position:fixed !important;
  left:0;
  right:0;
  width:100%;
}
.albox{
  z-index:1000;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.albox-in{
  max-height:calc(100dvh - 20px);
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.albox-head{
  top:0;
  z-index:5;
  padding-top:max(14px, env(safe-area-inset-top));
}
.albox-x{
  width:52px;
  height:52px;
  min-width:52px;
  min-height:52px;
  font-size:21px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  box-shadow:0 8px 24px rgba(29,49,23,.18);
}
.lightbox{z-index:1100;overscroll-behavior:contain}
.lb-x{
  width:52px;
  height:52px;
  top:max(14px, env(safe-area-inset-top));
  right:max(14px, env(safe-area-inset-right));
  z-index:4;
  touch-action:manipulation;
}
@media(max-width:640px){
  .albox{padding:0;align-items:stretch;background:var(--paper)}
  .albox-in{max-height:100dvh;min-height:100dvh;border-radius:0;margin:0}
  .albox-head{padding-left:16px;padding-right:12px}
  .albox-head-copy{min-width:0;padding-right:8px}
  .albox-title,.albox-subtitle{overflow-wrap:anywhere}
}


/* Navbar call chooser: show both owners before opening the phone app. */
.call-choice{position:fixed;inset:0;z-index:1400;display:none;align-items:flex-end;justify-content:center;background:rgba(14,24,12,.62);backdrop-filter:blur(6px);padding:18px max(14px,env(safe-area-inset-right)) max(18px,calc(env(safe-area-inset-bottom) + 14px)) max(14px,env(safe-area-inset-left))}
.call-choice.open{display:flex}
.call-choice-card{position:relative;width:min(100%,430px);background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:28px 18px 18px;box-shadow:0 28px 80px rgba(0,0,0,.4)}
.call-choice-x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;border-radius:50%;background:var(--sage);color:var(--pine-d);font-size:19px;font-weight:900;display:grid;place-items:center;cursor:pointer}
.call-choice-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900;color:var(--gold-d);margin-bottom:5px}
.call-choice h3{font-family:'Lora',serif;color:var(--pine-d);font-size:clamp(22px,5vw,28px);line-height:1.2;margin:0 52px 18px 0}
.call-choice-option{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;margin-top:12px;padding:14px 17px;border-radius:17px;background:var(--pine);color:#fff;box-shadow:0 10px 24px -14px rgba(29,49,23,.65)}
.call-choice-option span{font-size:17px;font-weight:900}
.call-choice-option strong{font-size:16px;white-space:nowrap}
.call-choice-cancel{width:100%;min-height:52px;margin-top:12px;border:1px solid var(--line);border-radius:15px;background:var(--white);color:var(--pine-d);font-size:16px;font-weight:900;cursor:pointer}
@media(min-width:700px){.call-choice{align-items:center}.call-choice-card{padding:32px 22px 22px}}

/* business card section */
.bizcard-band{padding-top:0}
.bizcard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.8vw,30px);margin-top:clamp(28px,4vw,38px);align-items:start}
.bizcard-item{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 16px 40px -22px rgba(43,69,34,.24)}
.bizcard-frame{border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#f5f2e8 0%, #ede9da 100%);box-shadow:0 10px 28px -18px rgba(43,69,34,.28)}
.bizcard-frame img{display:block;width:100%;height:auto}
.bizcard-item figcaption{padding-top:14px;text-align:center;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--pine)}
@media(max-width:900px){.bizcard-grid{grid-template-columns:1fr}.bizcard-item{padding:14px}.bizcard-item figcaption{padding-top:12px}}
