/* additions for the SmugMug-integrated preview */
.menu{flex-wrap:wrap;justify-content:flex-end}
.menu a{padding:.5rem .6rem;font-size:.92rem}
@media (max-width:1180px){.brand span{display:none}}
.masonry a{display:block;width:100%;height:100%}
.masonry a img{transition:transform .25s,filter .25s}
.masonry a:hover img{filter:brightness(1.08)}
.footer-contact{margin-top:.9rem!important}
.footer-contact a{color:var(--text)}
.bbb img{max-width:170px;border-radius:8px;background:#fff;padding:6px}
/* 360 tours */
.tour-viewer{position:relative;aspect-ratio:16/9;max-height:75vh;width:100%;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#000}
.tour-viewer iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tour-grid{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.tour-btn{display:block;text-decoration:none;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.tour-btn img{width:100%;aspect-ratio:1;object-fit:cover}
.tour-btn span{display:block;padding:.55rem .7rem;font-weight:600;font-size:.92rem}
.tour-btn:hover,.tour-btn[aria-current=true]{border-color:var(--accent)}
.tours-h2{margin-top:2.5rem}
@media (max-width:700px){.tour-viewer{aspect-ratio:4/5}}
/* client list (live links kept) */
.client-links a{color:var(--text);text-decoration:none}
.client-links a:hover{color:var(--accent)}
/* contact */
.team{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.team-card{display:flex;gap:1.25rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.25rem}
.team-card img{width:150px;border-radius:10px}
.team-card h2{font-size:1.4rem;margin:0}
.team-card p{margin:.15rem 0 .6rem}
.team-card .email{font-weight:700;text-decoration:none;word-break:break-all}
.phones{list-style:none;padding:0;margin:.7rem 0 0}
.phones li{margin:.2rem 0}.phones a{color:var(--text);text-decoration:none}
@media (max-width:520px){.team-card{flex-direction:column}.team-card img{width:100%;max-width:260px}}
/* client time-lapse (same crop as live theme) */
#client-timelapse-frame-container{margin:0 auto;width:782px;max-width:100%;height:620px;overflow:hidden;background:#193957;border-radius:var(--r)}
iframe#client-timelapse-frame{width:1300px;max-width:none;height:751px;margin-left:-474px;margin-top:-82px;border:0}
/* blog */
.prose{max-width:820px}.prose img{display:inline-block;vertical-align:middle;margin-right:.4rem}
/* lightbox */
.lbx{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center}
.lbx img{max-width:94vw;max-height:88vh;border-radius:6px}
.lbx button{position:absolute;background:rgba(0,0,0,.5);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;width:46px;height:46px;font-size:1.4rem;cursor:pointer}
.lbx .x{top:1rem;right:1rem}.lbx .p{left:1rem;top:50%}.lbx .n{right:1rem;top:50%}
.site-header .wrap{max-width:1380px}
.menu{flex-wrap:nowrap;gap:.1rem}
@media (max-width:1240px) and (min-width:981px){.brand span{display:none}.brand img{width:100px}}
/* property tours grid on /360-tours/ */
.prop-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));margin-top:1.5rem}
.prop-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--text);transition:border-color .15s,transform .15s}
.prop-card:hover{border-color:var(--accent);transform:translateY(-2px);color:var(--text)}
.prop-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.prop-body{padding:.85rem 1rem 1rem}
.prop-body strong{display:block;font-size:1.05rem}
.prop-body span{color:var(--muted);font-size:.88rem}
@media (max-width:520px){.prop-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.prop-body{padding:.6rem .7rem .75rem}.prop-body strong{font-size:.95rem}}
/* two-row header: brand + phone (top right) on row 1, merged nav on row 2 */
.nav2{flex-wrap:wrap;row-gap:0}
.nav-actions{display:flex;align-items:center;gap:.6rem;margin-left:auto}
.header-phone{white-space:nowrap}
.nav2 .menu{order:3;flex-basis:100%;justify-content:center;flex-wrap:wrap;border-top:1px solid var(--line);padding:.3rem 0;gap:.1rem}
.nav2 .menu a{padding:.45rem .65rem}
.nav2 .brand span{display:inline}
@media (max-width:980px){
 .nav2 .menu{display:none;position:static;flex-direction:column;align-items:stretch;padding:.4rem 0 .8rem;background:transparent;border-bottom:0}
 .nav2 .menu.open{display:flex}
 .nav2 .brand span{display:none}
}
@media (max-width:420px){.hp-call{display:none}.header-phone{padding:.45rem .7rem;font-size:.85rem}.nav2 .brand img{width:96px}.nav2 .menu-toggle{padding:.45rem .6rem}}
@media (max-width:1200px) and (min-width:981px){.nav2 .menu a{padding:.4rem .42rem;font-size:.85rem}}
/* Video Production page */
.vid-grid{display:grid;gap:1.4rem 1.1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.vid-frame{position:relative;aspect-ratio:16/9;background-size:cover;background-position:center;border-radius:12px;overflow:hidden;background:#000;border:1px solid var(--line)}
.vid-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid figcaption{font-size:.95rem;font-weight:600;color:var(--text);padding:.55rem .1rem 0}
.vid-more{margin-top:2rem}
/* contact form (/contact/ -> /contact.php) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-form-section{padding-top:0}
.cf-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.25rem,4vw,2.2rem);max-width:860px;margin:0 auto}
.cf-card h2{margin:0 0 .3rem;font-size:1.6rem}
.cf-intro{margin:0 0 1.3rem}
.cf{display:grid;gap:1rem}
.cf-row{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.cf-field{display:flex;flex-direction:column;gap:.35rem}
.cf label{font-weight:600;font-size:.95rem;color:var(--text)}
.cf .req{color:var(--accent)}
.cf .opt{color:var(--muted);font-weight:400;font-size:.88rem}
.cf input,.cf textarea{width:100%;box-sizing:border-box;background:var(--bg);color:var(--text);border:1px solid #3a4450;border-radius:10px;padding:.75rem .9rem;font:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}
.cf textarea{resize:vertical;min-height:150px}
.cf input:hover,.cf textarea:hover{border-color:#56616e}
.cf input:focus,.cf textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(242,165,22,.35)}
.cf input:user-invalid,.cf textarea:user-invalid{border-color:#e5484d}
.cf-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.cf-submit{justify-self:start;font:inherit;font-weight:700;cursor:pointer;padding:.85rem 2.2rem}
.cf-status{border-radius:10px;padding:.85rem 1rem;margin:0 0 1.2rem;border:1px solid var(--line);font-weight:600}
.cf-status.ok{background:rgba(46,160,67,.15);border-color:#2ea043;color:#b8f0c4}
.cf-status.err{background:rgba(229,72,77,.15);border-color:#e5484d;color:#ffc9cb}
.cf-status.note{background:rgba(242,165,22,.12);border-color:var(--accent);color:#ffe2a8}
@media (max-width:520px){.cf-submit{justify-self:stretch;justify-content:center}}
.cf input,.cf textarea,.cf-status{scroll-margin-top:150px}
/* YouTube click-to-play facade (video page + property tour pages); overrides site.css .yt button */
.yt .yt-play{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:#000;cursor:pointer;display:block}
.yt .yt-play::before{content:none}
.yt .yt-play img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .2s,transform .3s}
.yt .yt-play:hover img,.yt .yt-play:focus-visible img{opacity:1;transform:scale(1.02)}
.yt .yt-play:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.yt-icon{position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;border-radius:12px;background:rgba(20,20,20,.8);transition:background .15s;display:grid;place-items:center}
.yt-icon::before{content:"";border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff;margin-left:4px}
.yt .yt-play:hover .yt-icon,.yt .yt-play:focus-visible .yt-icon{background:#e62117}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid-frame.yt{border-radius:12px}
.yt-file-note{border:1px solid var(--accent);background:rgba(242,165,22,.1);color:#ffe2a8;border-radius:10px;padding:.7rem 1rem;margin:0 0 1.4rem;font-size:.95rem}
.yt + .yt-file-note{margin-top:1rem}
/* aerials page (/aerials/) */
.aer-hero{min-height:min(80vh,680px)}
.aer-hero picture{position:absolute;inset:0}
.aer-hero picture img{width:100%;height:100%;object-fit:cover}
.aer-hero .crumbs,.aer-hero .crumbs a{color:#d5dbe1}
.aer-services{margin-top:1.5rem}
.aer-services h3{margin:0 0 .4rem}
.aer-note{margin-top:1.75rem;color:var(--muted);max-width:75ch}
.aer-gallery{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.aer-gallery figure{margin:0}
.aer-gallery a{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.aer-gallery img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .3s,filter .2s}
.aer-gallery a:hover img{transform:scale(1.03);filter:brightness(1.08)}
.aer-video-h{margin-top:3rem}
.aer-video{max-width:900px}

/* breathing room above header content */
.nav2{padding-top:1.6rem}
