
/* Site-wide polish; original navy-and-gold layout preserved */
:root{color-scheme:light}
html{scroll-padding-top:18px}
a:focus-visible,button:focus-visible{outline:3px solid #e0bb73;outline-offset:3px}
.navrow a{white-space:nowrap}
.brand img{height:auto;width:min(320px,100%);max-height:95px;object-fit:contain}
.footer .flogo img{height:auto;max-height:92px;object-fit:contain}
/* Keep faces visible in large photographs; avoid accidental stretching. */
.wedding-photo img{object-position:center 35%}
.tile img{object-position:center 37%;image-rendering:auto}
.tile:nth-child(3) img{object-position:center center}
.tile:nth-child(4) img{object-position:center 55%}
.feature img{object-position:center 44%}
.feature:nth-child(2) img{object-position:center 55%}
.package-visual{background:#112741;overflow:hidden}
.package-visual img{object-position:center 30%}
body.wedding-page .package-visual img{object-fit:contain;object-position:center center;background:#112741}
.two-col img{object-position:center 37%}
body.about-page .two-col img{object-position:center 50%}
body.alterations-page .two-col img{object-position:center 45%}
.iggrid img{object-position:center 34%}
.cta,.visit,.wedding-secondary{transition:filter .15s ease}
.cta:hover,.visit:hover,.wedding-secondary:hover{filter:brightness(1.10)}
.img-caption{font-size:11px;color:#67717d;line-height:1.5;margin:9px 0 0}
/* The original CSS hid all navigation below 900px but supplied no mobile button. */
@media(max-width:1050px){
 .navrow{display:flex;gap:20px;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;justify-content:flex-start;padding:0 13px;scrollbar-width:thin}
 .navrow a{flex-shrink:0;padding:15px 2px}
 .header{gap:12px}
}
@media(max-width:900px){
 .navrow{display:flex;gap:21px}
 .menu-btn{display:none}
 .social{justify-content:flex-end}
 .two-col img{width:100%;height:350px;object-fit:cover}
 .package-visual{min-height:0;height:370px}
 .package-visual img{width:100%;height:100%;object-fit:cover}
 body.wedding-page .package-visual img{object-fit:contain}
}
@media(max-width:560px){
 .mainhero h1{font-size:clamp(44px,11vw,60px)}
 .mainhero-card{display:none}
 .header{grid-template-columns:1fr auto;min-height:75px}
 .brand img{width:min(210px,100%)}
 .social{padding-bottom:0;gap:7px}
 .social .visit{font-size:10px;padding:9px 10px}
 .social a.icon{height:30px;width:30px}
 .navrow{font-size:11px;gap:17px}
 .iggrid{grid-template-columns:repeat(3,1fr)}
 .package-visual{height:320px}
 .package-copy{padding:28px}
 .two-col img{height:290px}
 .footer .flogo img{max-width:265px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Matched Facebook link alongside Instagram */
.social a.facebook-icon svg{width:19px;height:19px;display:block}
.social a.icon:hover{background:#e0bb73}
.social-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}
.social-actions .igbtn{margin-top:0}
.social-actions .facebook-cta{background:#fff;border:1px solid #c89b46;color:#0d2744}

/* Navigation remains visibly scrollable on narrow viewports */
@media(max-width:1050px){nav{position:relative}.navrow{scroll-snap-type:x proximity;padding-right:32px}.navrow a{scroll-snap-align:start}nav:after{content:"";position:absolute;right:0;top:0;bottom:0;width:26px;pointer-events:none;background:linear-gradient(90deg,transparent,#0d2744)}}
@media(max-width:560px){.navrow a{min-height:44px;display:flex;align-items:center}}

.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;background:#fff;color:#0d2744;padding:12px 18px;border:2px solid #c89b46}.skip-link:focus{top:8px}
