:root{
  --bg:#0b0d0f;--panel:#15181b;--text:#f5f2eb;--muted:#a9adb1;--line:#30353b;--accent:#d7b46a;--max:1360px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:92px;padding:9px clamp(16px,3vw,44px);background:rgba(11,13,15,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.brand-logo{display:block;flex:0 0 auto;width:clamp(220px,23vw,340px)}
.brand-logo img{width:100%;height:auto;max-height:74px;object-fit:contain;object-position:left center}
.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(11px,1.25vw,22px);flex-wrap:nowrap}
.site-nav a{color:#ddd;font-size:clamp(.73rem,.8vw,.9rem);white-space:nowrap}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--accent)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 12px;border-radius:7px;cursor:pointer}
.home-hero{position:relative;min-height:min(78vh,850px);height:clamp(520px,72vw,850px);overflow:hidden}
.home-hero>img,.section-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-hero>img{object-position:center 48%}
.home-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.08) 48%,rgba(0,0,0,.5) 100%)}
.home-hero-content{position:absolute;z-index:2;top:clamp(32px,5vw,72px);right:clamp(20px,5vw,74px);text-align:right}
.home-hero-content h1{margin:0;white-space:nowrap;font-family:"Segoe Script","Lucida Handwriting","Brush Script MT",cursive;font-weight:300;font-size:clamp(1.4rem,2.6vw,3rem);line-height:1.05;text-shadow:0 1px 7px rgba(0,0,0,.68)}
.home-hero-content p{margin:8px 0 0;font-size:clamp(.78rem,1vw,1rem);font-weight:300;letter-spacing:.04em;text-shadow:0 2px 8px rgba(0,0,0,.7)}
.section{width:min(var(--max),calc(100% - 40px));margin:0 auto;padding:90px 0}
.about-section{display:block;border-top:1px solid var(--line)}
.eyebrow{margin:0 0 10px;color:var(--accent);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.section h2,.page-heading h1,.section-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.section h2{margin:0;font-size:clamp(2.2rem,4.5vw,4.1rem);line-height:1.06}
.about-copy{color:var(--muted);max-width:980px}
.about-copy p{margin-top:0;margin-bottom:22px;font-size:1.08rem}
.section-hero{position:relative;height:clamp(340px,45vw,570px);overflow:hidden;border-bottom:1px solid var(--line)}
.section-hero>img{object-position:center center}
.section-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06) 20%,rgba(0,0,0,.72) 100%)}
.section-hero-title{position:absolute;z-index:2;left:clamp(20px,5vw,72px);bottom:clamp(22px,5vw,62px)}
.section-hero-title h1{margin:0;font-size:clamp(3rem,7vw,6.3rem);line-height:.95;text-shadow:0 3px 24px rgba(0,0,0,.55)}
.gallery-section{width:min(var(--max),calc(100% - 40px));margin:0 auto;padding:42px 0 86px}
.gallery{column-count:2;column-gap:18px}
.photo-card{display:inline-block;width:100%;margin:0 0 18px;break-inside:avoid;overflow:hidden;border-radius:10px;background:var(--panel);vertical-align:top}
.photo-button{display:block;width:100%;height:auto;padding:0;margin:0;border:0;background:transparent;cursor:zoom-in}
.photo-card img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
.photo-card figcaption{padding:11px 14px 13px;color:var(--muted);font-size:.82rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 21px;border:1px solid var(--accent);background:var(--accent);color:#151515;border-radius:999px;font-weight:700;cursor:pointer}
.button:hover{filter:brightness(1.06)}
.page-heading{max-width:980px;min-height:calc(100vh - 175px)}
.page-heading h1{margin:0 0 14px;font-size:clamp(3rem,7vw,5.6rem);line-height:1}
.page-heading>p{color:var(--muted)}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:850px;margin-top:38px}
.contact-form label{display:grid;gap:7px;color:#d7d7d7;font-size:.9rem}
.contact-form .full{grid-column:1/-1}
.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;padding:12px 13px;outline:none}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}
.hidden-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.site-footer{border-top:1px solid var(--line);padding:30px 20px;color:var(--muted);text-align:center;font-size:.85rem}
.lightbox{width:min(94vw,1500px);max-width:none;border:1px solid var(--line);border-radius:10px;padding:14px;background:#090a0b;color:var(--text)}
.lightbox::backdrop{background:rgba(0,0,0,.9)}
.lightbox img{display:block;max-width:100%;max-height:84vh;margin:auto;object-fit:contain}
.lightbox p{text-align:center;color:var(--muted);margin:12px 0 2px}
.lightbox-close{position:absolute;right:14px;top:10px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.6);font-size:1.7rem;line-height:1;cursor:pointer}
@media(max-width:1120px){
  .menu-toggle{display:block}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:18px 24px 24px;background:#111316;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:13px}
  .site-nav.open{display:flex}
  .site-nav a{font-size:.95rem}
  .brand-logo{width:min(62vw,330px)}
}
@media(max-width:780px){
  .gallery{column-count:1}
  .home-hero{min-height:62vh;height:620px}
  .section-hero{height:420px}
}
@media(max-width:560px){
  .site-header{min-height:76px;padding:8px 12px}
  .brand-logo{width:min(72vw,285px)}
  .brand-logo img{max-height:58px}
  .section{width:min(var(--max),calc(100% - 28px));padding:66px 0}
  .gallery-section{width:min(var(--max),calc(100% - 24px));padding:22px 0 66px}
  .home-hero{height:72vh;min-height:500px}
  .home-hero-content{top:20px;right:12px;max-width:94vw}
  .home-hero-content h1{font-size:clamp(1rem,4.4vw,1.45rem)}
  .home-hero-content p{font-size:.68rem}
  .section-hero{height:330px}
  .section-hero-title{left:18px;bottom:24px}
  .contact-form{grid-template-columns:1fr}
  .contact-form label,.contact-form .full{grid-column:1/-1}
}
