*,::before,::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#07080A;--bg2:#0D0F12;--bg3:#131519;--surface:#1A1C20;--amber:#D4A853;--amber2:#F0C46A;--amber-dim:#d4a8531f;--amber-glow:#d4a8530f;--cream:#F2ECD8;--cream2:#C8BFA6;--muted:#6B6760;--line:#d4a8532e;--line2:#f2ecd812;--font-disp:'Playfair Display',Georgia,serif;--font-head:Syne,sans-serif;--font-body:'Cabinet Grotesk',sans-serif}
html{scroll-behavior:smooth;cursor:none}
body{background:var(--bg);color:var(--cream);font-family:var(--font-body);font-weight:300;line-height:1.65;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.032;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px}
#cur{position:fixed;z-index:30000;pointer-events:none;width:10px;height:10px;background:var(--amber);border-radius:50%;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s,opacity .3s;mix-blend-mode:difference}
#cur2{position:fixed;z-index:29999;pointer-events:none;width:36px;height:36px;border:1px solid var(--amber);border-radius:50%;transform:translate(-50%,-50%);transition:width .35s ease,height .35s ease,transform .1s linear,opacity .3s;opacity:.5}
.cursor-big #cur{width:56px;height:56px;opacity:.1}
.cursor-big #cur2{width:56px;height:56px;opacity:0}
#nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:68px;border-bottom:1px solid transparent;transition:background .4s,border-color .4s,height .3s;background:#07080a00;backdrop-filter:blur(0px)}
#nav.stuck{background:#07080af5;border-color:var(--line2);backdrop-filter:blur(18px);height:60px}
.nav-logo{display:flex;align-items:center;gap:.8rem;text-decoration:none;flex-shrink:0;cursor:pointer}
.nav-logo-mark{width:36px;height:36px;border:1.5px solid var(--amber);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}
.nav-logo-mark::before{content:'G';font-family:var(--font-disp);font-size:1rem;font-style:italic;color:var(--amber)}
.nav-logo-text{display:flex;flex-direction:column;gap:1px}
.nav-logo-name{font-family:var(--font-head);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cream);line-height:1}
.nav-logo-sub{font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);line-height:1}
.nav-links{display:flex;align-items:center;gap:.25rem;list-style:none;position:absolute;left:50%;transform:translateX(-50%)}
.nav-links a{font-family:var(--font-head);font-size:.8rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--cream2);text-decoration:none;cursor:pointer;padding:.5rem .85rem;position:relative;transition:color .25s}
.nav-links a::after{content:'';position:absolute;bottom:.35rem;left:.85rem;right:.85rem;height:1px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav-links a:hover{color:var(--cream)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-links a.active{color:var(--cream)}
.nav-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}
.nav-phone{font-family:var(--font-head);font-size:.8rem;font-weight:500;letter-spacing:.06em;color:var(--muted);text-decoration:none;cursor:pointer;transition:color .25s;display:flex;align-items:center;gap:.4rem}
.nav-phone::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--amber);flex-shrink:0;animation:pulse 2s infinite}
@keyframes pulse {
0%,100%{opacity:1;transform:scale(1)}
50%{opacity:.4;transform:scale(.7)}
}
.nav-phone:hover{color:var(--cream)}
.nav-btn{font-family:var(--font-head);font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--bg);background:var(--amber);cursor:pointer;padding:.5rem 1.3rem;text-decoration:none;border:none;border:1.5px solid var(--amber);transition:background .25s,color .25s}
.nav-btn:hover{background:transparent;color:var(--amber)}
.navbar-toggle{display:none;flex-direction:column;gap:.35rem;background:none;border:none;cursor:pointer;padding:.5rem;z-index:501}
.navbar-toggle span{width:24px;height:2px;background:var(--cream);transition:all .3s ease;display:block}
.navbar-toggle.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}
.navbar-toggle.active span:nth-child(2){opacity:0}
.navbar-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
.mobile-menu-overlay{position:fixed;inset:0;background:#0009;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:498}
.mobile-menu-overlay.active{opacity:1;pointer-events:all}
.mobile-menu{position:fixed;top:68px;right:0;bottom:0;width:100%;max-width:540px;background:#07080af5;backdrop-filter:blur(18px);border-left:1px solid var(--line2);overflow-y:auto;transform:translateX(100%);transition:transform .3s ease;z-index:499;display:flex;flex-direction:column;max-height:calc(100vh - 68px)}
.mobile-menu.active{transform:translateX(0)}
.mobile-nav-links{list-style:none;display:flex;flex-direction:column;padding:1rem 0}
.mobile-nav-links li{border-bottom:1px solid var(--line2)}
.mobile-nav-links a{display:block;padding:1rem 1.5rem;color:var(--cream2);text-decoration:none;font-family:var(--font-head);font-size:.9rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;transition:all .25s}
.mobile-nav-links a:hover,.mobile-nav-links a.active{color:var(--amber);background:var(--amber-dim)}
.mobile-menu-footer{padding:1.5rem;border-top:1px solid var(--line2);display:flex;flex-direction:column;gap:1rem;margin-top:auto}
.mobile-phone{display:flex;align-items:center;gap:.4rem;color:var(--muted);text-decoration:none;font-family:var(--font-head);font-size:.8rem;font-weight:500;letter-spacing:.06em;transition:color .25s}
.mobile-phone::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--amber);flex-shrink:0;animation:pulse 2s infinite}
.mobile-phone:active{color:var(--cream)}
.mobile-btn{font-family:var(--font-head);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--bg);background:var(--amber);cursor:pointer;padding:.7rem 1.2rem;text-decoration:none;border:1.5px solid var(--amber);transition:all .25s;border-radius:3px;text-align:center}
.mobile-btn:active{background:transparent;color:var(--amber)}
#hero{height:100vh;padding-top:68px;display:grid;grid-template-columns:52% 48%;grid-template-rows:1fr auto;position:relative;overflow:hidden}
.hero-ambient{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse 50% 70% at 30% 50%,#d4a8530f 0%,transparent 65%),radial-gradient(ellipse 40% 40% at 80% 80%,#d4a85308 0%,transparent 60%)}
.hero-content{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:10}
.hero-image-wrap{grid-column:2;grid-row:1;position:relative;overflow:hidden}
.hero-image{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.82) saturate(.9);transition:filter .6s ease}
.hero-image-wrap:hover .hero-image{filter:brightness(.9) saturate(1)}
.hero-image-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--bg) 0%,transparent 28%),linear-gradient(to top,var(--bg) 0%,transparent 25%)}
.hero-kicker{font-family:var(--font-head);font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:.9rem;display:flex;align-items:center;gap:.6rem}
.hero-kicker::before{content:'';width:24px;height:1px;background:var(--amber);flex-shrink:0}
.hero-heading{margin-bottom:1.1rem}
.h-solid{font-family:var(--font-disp);font-weight:700;font-size:clamp(2.2rem,4.8vw,3.8rem);color:var(--cream);margin:0;line-height:1.06}
.h-outline{-webkit-text-fill-color:transparent;-webkit-text-stroke:1.5px var(--amber);font-family:var(--font-disp);font-weight:700;font-size:clamp(2.2rem,4.8vw,3.8rem);margin:0;line-height:1.06}
.hero-desc{font-size:.97rem;color:var(--cream2);margin-bottom:1.8rem;line-height:1.78}
.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}
.btn-primary{font-family:var(--font-head);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:var(--amber);color:var(--bg);padding:.85rem 2rem;border:1.5px solid var(--amber);transition:all .3s;border-radius:3px;text-decoration:none;display:inline-block}
.btn-primary:hover{background:transparent;color:var(--amber)}
.btn-secondary{font-family:var(--font-head);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:transparent;color:var(--amber);padding:.85rem 2rem;border:1.5px solid #d4a85359;transition:all .3s;border-radius:3px;text-decoration:none;display:inline-block}
.btn-secondary:hover{border-color:var(--amber);background:var(--amber);color:var(--bg)}
.stats-section{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);position:relative;z-index:10;background:#07080a99;backdrop-filter:blur(12px);position:absolute;bottom:20px;width:100%}
.stat-block{text-align:center;padding:1.3rem 1rem;border-right:1px solid var(--line)}
.stat-block:last-child{border-right:none}
.stat-num{font-family:var(--font-disp);font-size:2rem;font-weight:700;color:var(--amber);margin-bottom:.2rem;line-height:1}
.stat-label{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
section{padding:6rem 3rem;position:relative;overflow:hidden}
section.fade{opacity:0;animation:fadeIn .8s forwards}
@keyframes fadeIn {
to{opacity:1}
}
.sec-kicker{font-family:var(--font-head);font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:1rem}
.sec-h{font-family:var(--font-disp);font-size:clamp(2rem,6vw,2.5rem);font-weight:700;margin-bottom:1.5rem;color:var(--cream);line-height:1.2}
.sec-h em{font-style:italic;color:var(--amber)}
.sec-desc{font-size:1.05rem;color:var(--cream2);max-width:700px;line-height:1.8;margin-bottom:2rem}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}
.svc-item{padding:2rem;border:1px solid var(--line);background:var(--surface);transition:all .3s;cursor:pointer;border-radius:6px}
.svc-item:hover{border-color:var(--amber);background:var(--amber-dim);transform:translateY(-4px)}
.svc-icon{font-size:2rem;margin-bottom:1rem;color:var(--amber)}
.svc-h{color:var(--cream);font-family:var(--font-head);font-size:1.2rem;font-weight:600;margin-bottom:.5rem}
.svc-p{color:var(--cream2);font-size:.95rem;line-height:1.6}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2rem}
.gal-item{border:2px solid transparent;overflow:hidden;position:relative;cursor:pointer;background:var(--surface);transition:border-color .3s,box-shadow .3s;border-radius:8px;height:220px;display:block;text-decoration:none}
.gal-item:hover{border-color:var(--amber);box-shadow:0 0 0 3px rgba(212,168,83,.18)}
.gal-lightbox-item{border:2px solid transparent;overflow:hidden;position:relative;cursor:pointer;background:var(--surface);transition:border-color .3s,box-shadow .3s;border-radius:8px;height:220px;display:block;text-decoration:none}
.gal-lightbox-item:hover{border-color:var(--amber);box-shadow:0 0 0 3px rgba(212,168,83,.18)}
.gal-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease;display:block}
.gal-item:hover .gal-img{transform:scale(1.08);filter:brightness(.45)}
.gal-lightbox-item:hover .gal-img{transform:scale(1.08);filter:brightness(.45)}
.gal-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:baseline;justify-content:flex-end;gap:.5rem;padding:1rem;opacity:0;transition:opacity .35s ease;text-align:center}
.gal-item:hover .gal-overlay{opacity:1}
.gal-lightbox-item:hover .gal-overlay{opacity:1}
.gal-title{font-family:var(--font-head);font-size:.95rem;font-weight:700;color:#fff;line-height:1.35;text-shadow:0 2px 8px rgba(0,0,0,.9)}
.gal-cat{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);text-shadow:0 1px 4px rgba(0,0,0,.9)}
.gal-img-count{position:absolute;top:.6rem;right:.6rem;background:rgba(0,0,0,.72);color:#fff;font-size:.65rem;font-weight:700;padding:.28rem .6rem;border-radius:20px;display:flex;align-items:center;gap:.3rem;letter-spacing:.03em;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);z-index:2}
.gal-img-count i{color:var(--amber);font-size:.6rem}
.gal-tabs-bar{display:flex;gap:1rem;margin:2rem 0 3rem;flex-wrap:wrap}
.gal-tab-btn{font-family:var(--font-head);font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:.7rem 1.5rem;border:1.5px solid var(--line);background:transparent;color:var(--cream2);cursor:pointer;transition:all .3s;border-radius:6px;display:flex;align-items:center;gap:.5rem}
.gal-tab-btn:hover{border-color:var(--amber);color:var(--cream)}
.gal-tab-btn.active{border-color:var(--amber);background:var(--amber-dim);color:var(--amber)}
.gal-main-area{display:flex;flex-direction:column;gap:2rem;width:100%}
.gal-tab-content{display:none}
.gal-tab-content.active{display:block}
.gal-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.gal-tab-label{display:flex;align-items:center;gap:.6rem;color:var(--cream);font-weight:600;font-family:var(--font-head);font-size:.95rem}
.gal-tab-label i{color:var(--amber)}
.gal-tab-count-label{font-size:.8rem;color:var(--muted)}
.gal-filtered-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}
.gal-item.gal-hidden{display:none}
.gal-viewall-bar{display:flex;justify-content:center}
.gal-viewall-btn{font-family:var(--font-head);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.85rem 2.5rem;border:1.5px solid var(--amber);background:var(--amber);color:var(--bg);cursor:pointer;transition:all .3s;border-radius:3px;display:flex;align-items:center;gap:.8rem}
.gal-viewall-btn:hover:not(.gal-viewall-disabled){background:transparent;color:var(--amber)}
.gal-viewall-btn.gal-viewall-disabled{opacity:.5;cursor:not-allowed}
.gal-viewall-btn.gal-viewall-disabled:hover{background:var(--amber);color:var(--bg)}
.gal-btn-icon{transition:transform .3s}
.gal-viewall-btn:hover:not(.gal-viewall-disabled) .gal-btn-icon{transform:translateX(4px)}
.clt-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.5rem;margin-top:2rem;align-items:center}
.clt-logo{display:flex;align-items:center;justify-content:center;padding:1.2rem;background:#fff;border:1px solid var(--line);border-radius:6px;transition:all .3s;cursor:pointer}
.clt-logo img{max-width:90%;max-height:90%;object-fit:contain;filter:grayscale(1)}
.clt-logo:hover{border-color:var(--amber);transform:scale(1.05)}
.clt-logo:hover img{filter:grayscale(0)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}
.testi-item{border:1px solid var(--line);padding:2.5rem;background:var(--surface);border-radius:6px}
.testi-stars{color:var(--amber);margin-bottom:1rem;font-size:.9rem}
.testi-text{color:var(--cream2);font-style:italic;margin-bottom:1.5rem;line-height:1.8;font-size:.95rem}
.testi-author{color:var(--cream);font-weight:600;font-family:var(--font-head)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:2rem}
.contact-box{display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:2rem}
.contact-icon{width:50px;height:50px;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--amber);border-radius:6px;font-size:1.2rem}
.contact-content h4{color:var(--cream);font-weight:600;margin-bottom:.5rem;font-family:var(--font-head)}
.contact-content p,.contact-content a{color:var(--cream2);font-size:.95rem}
.contact-content a{color:var(--amber);text-decoration:none;font-weight:600}
.contact-content a:hover{color:var(--amber2)}
.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}
.form-group label{font-family:var(--font-head);font-size:.85rem;font-weight:600;color:var(--cream);letter-spacing:.08em}
.form-group input,.form-group select,.form-group textarea{background:#1a1c2080;border:1px solid var(--line);color:var(--cream);padding:.8rem;border-radius:6px;font-family:var(--font-body);font-size:.95rem;transition:border-color .25s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--amber);background:#1a1c20cc}
.form-submit{font-family:var(--font-head);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:var(--amber);color:var(--bg);padding:.8rem;border:none;margin-top:1rem;border-radius:6px;transition:all .3s;width:100%}
.form-submit:hover{background:var(--amber2)}
.field-error{border-color:#f87171 !important;background:#2b0d0d80 !important}
.field-ok{border-color:#4ade8066 !important}
.field-err-msg{display:block;color:#f87171;font-size:.78rem;margin-top:.35rem;font-family:var(--font-body)}
.date-input-wrap{position:relative}
.date-input-wrap input[type="text"]{width:100%;padding-right:2.5rem;cursor:pointer}
.date-icon{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);color:var(--amber);font-size:.9rem;cursor:pointer;pointer-events:all}
.form-success-msg{display:flex;align-items:flex-start;gap:1rem;background:#0d2b1a;border:1px solid #2a7a4a;border-radius:8px;padding:1.2rem 1.5rem;margin-bottom:1.5rem;color:#4ade80}
.form-success-msg i{font-size:1.4rem;margin-top:.1rem;flex-shrink:0}
.form-success-msg strong{display:block;font-size:1rem;margin-bottom:.25rem;color:#4ade80}
.form-success-msg p{margin:0;font-size:.9rem;color:#86efac}
.form-error-msg{display:flex;align-items:center;gap:.75rem;background:#2b0d0d;border:1px solid #7a2a2a;border-radius:8px;padding:1rem 1.5rem;margin-bottom:1.5rem;color:#f87171;font-size:.9rem}
.form-error-msg i{font-size:1.1rem;flex-shrink:0}
footer{background:#1a1c20cc;border-top:1px solid var(--line);padding:3rem 3rem 1rem}
.footer-content{display:grid;grid-template-columns:repeat(4,1fr);gap:3rem;margin-bottom:1rem;padding-bottom:2rem;border-bottom:1px solid var(--line)}
.footer-col{display:flex;flex-direction:column}
.footer-col-title{font-family:var(--font-head);font-size:1rem;font-weight:700;color:var(--cream);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem}
.footer-col-desc{color:var(--cream2);font-size:.9rem;line-height:1.7}
.footer-col-head{font-family:var(--font-head);font-size:.85rem;font-weight:700;color:var(--cream);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.2rem}
.footer-col-nav{display:flex;flex-direction:column;gap:.6rem}
.footer-col-nav a{color:var(--cream2);text-decoration:none;font-size:.9rem;transition:color .25s;cursor:pointer;line-height:1.6}
.footer-col-nav a:hover{color:var(--amber)}
.footer-col-contact{display:flex;flex-direction:column;gap:.8rem}
.footer-col-contact p{color:var(--cream2);font-size:.9rem;margin:0;line-height:1.6}
.footer-col-contact a{color:var(--cream2);text-decoration:none;transition:color .25s}
.footer-col-contact a:hover{color:var(--amber)}
.footer-social{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}
.footer-social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);color:var(--cream2);font-size:.9rem;text-decoration:none;transition:all .3s}
.footer-social-link:hover{border-color:var(--amber);color:var(--amber);background:var(--amber-dim)}
.footer-bottom{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-copy{color:var(--muted);font-size:.85rem;margin:0}
.page-hero{height:60vh;padding-top:68px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-left:3rem;padding-right:3rem;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.page-hero-bg{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse 55% 65% at 25% 55%,#d4a8530e 0%,transparent 65%)}
.page-hero-content{position:relative;z-index:10;max-width:700px}
.page-hero-kicker{font-family:var(--font-head);font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:.9rem;display:flex;align-items:center;gap:.6rem}
.page-hero-kicker-line{width:24px;height:1px;background:var(--amber);flex-shrink:0}
.page-hero-heading{font-family:var(--font-disp);font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--cream);margin:0;line-height:1.06;margin-bottom:1.5rem}
.page-hero-heading .accent{color:var(--amber)}
.page-hero-desc{font-size:1.05rem;color:var(--cream2);line-height:1.8;margin-bottom:0}
.section-padded{padding:6rem 3rem;position:relative;overflow:hidden}
.grid-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}
.grid-4col{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:2rem}
.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.grid-2col-equal{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.grid-2col-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.step-num{font-family:var(--font-disp);font-size:3rem;font-weight:700;color:var(--amber);margin-bottom:1rem}
.about-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.about-stat-box{padding:2rem;border:1px solid var(--line);background:var(--surface);border-radius:6px;text-align:center}
.about-stat-box-num{font-family:var(--font-disp);font-size:2.8rem;font-weight:700;color:var(--amber);margin-bottom:.4rem}
.about-stat-box-label{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.mv-card{padding:3rem;border:1px solid var(--line);background:var(--surface);border-radius:8px;position:relative;overflow:hidden}
.mv-card-deco{position:absolute;top:-20px;right:-10px;font-family:var(--font-disp);font-size:8rem;font-weight:700;color:#d4a8530d;line-height:1;user-select:none}
.mv-card-kicker{margin-bottom:.75rem}
.mv-card-h{font-family:var(--font-disp);font-size:1.8rem;font-weight:700;color:var(--cream);margin-bottom:1rem;line-height:1.3}
.mv-card-h em{font-style:italic;color:var(--amber)}
.mv-card-p{color:var(--cream2);line-height:1.9}
.team-card{padding:2.5rem;border:1px solid var(--line);background:var(--surface);border-radius:8px;text-align:center}
.team-avatar{width:80px;height:80px;border-radius:50%;background:var(--amber-dim);border:1.5px solid var(--amber);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-family:var(--font-disp);font-size:1.8rem;font-weight:700;color:var(--amber)}
.team-avatar-img{width:120px;height:120px;border-radius:50%;border:2px solid var(--amber);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;overflow:hidden;background:var(--surface)}
.team-avatar-img img{width:100%;height:100%;object-fit:cover;display:block}
.team-name{font-family:var(--font-head);font-size:1.1rem;font-weight:700;color:var(--cream);margin-bottom:.3rem}
.team-role{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:1rem}
.team-bio{color:var(--cream2);font-size:.9rem;line-height:1.75}
.story-text{color:var(--cream2);line-height:1.9;margin-bottom:1.5rem}
.story-text-last{color:var(--cream2);line-height:1.9}
.section-bg2{background:var(--bg2);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.cta-section{text-align:center;background:var(--bg2);border-top:1px solid var(--line2)}
.cta-desc{margin:0 auto 2.5rem}
.cta-buttons{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}
.contact-page-grid{padding:0;display:grid;grid-template-columns:1fr 1fr;min-height:70vh}
.contact-form-side{padding:4rem 3rem;border-right:1px solid var(--line2);background:var(--bg2)}
.contact-form-kicker{font-family:var(--font-head);font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:.8rem}
.contact-form-heading{font-family:var(--font-disp);font-size:1.8rem;font-weight:700;color:var(--cream);margin-bottom:2rem;line-height:1.2}
.contact-form-heading em{color:var(--amber);font-style:italic}
.contact-info-side{display:flex;flex-direction:column}
.map-wrap{position:relative;flex:1;min-height:380px}
.map-iframe{width:100%;height:100%;border:none;filter:grayscale(1) invert(1) contrast(.9) brightness(.75) sepia(.2) hue-rotate(175deg)}
.map-overlay-card{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;background:#07080aeb;border:1px solid var(--line);border-radius:8px;padding:1.4rem 1.6rem;backdrop-filter:blur(16px);display:flex;align-items:center;gap:1.2rem}
.map-overlay-icon{width:44px;height:44px;background:var(--amber);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.map-overlay-icon i{color:var(--bg);font-size:1.1rem}
.map-overlay-name{font-family:var(--font-head);font-size:.85rem;font-weight:700;color:var(--cream);margin-bottom:.2rem}
.map-overlay-addr{font-size:.8rem;color:var(--cream2)}
.map-directions-btn{margin-left:auto;font-family:var(--font-head);font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);text-decoration:none;white-space:nowrap;border:1px solid var(--amber);padding:.45rem .9rem;border-radius:4px;transition:all .25s}
.map-directions-btn:hover{background:var(--amber);color:var(--bg)}
.office-strip{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line2)}
.office-cell{padding:1.8rem 2rem;border-right:1px solid var(--line2)}
.office-cell-last{padding:1.8rem 2rem;border-top:1px solid var(--line2)}
.office-cell-top{padding:1.8rem 2rem;border-right:1px solid var(--line2);border-top:1px solid var(--line2)}
.office-cell-row{display:flex;align-items:center;gap:.8rem;margin-bottom:.6rem}
.office-icon-box{width:34px;height:34px;background:var(--amber-dim);border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.office-icon-box i{color:var(--amber);font-size:.8rem}
.office-label{font-family:var(--font-head);font-size:.72rem;font-weight:700;color:var(--cream);letter-spacing:.08em;text-transform:uppercase}
.office-link{color:var(--amber);text-decoration:none;font-weight:600;font-size:.9rem;display:block;margin-bottom:.2rem}
.office-link-email{color:var(--amber);text-decoration:none;font-weight:600;font-size:.8rem;display:block;word-break:break-all;margin-bottom:.2rem}
.office-link-website{color:var(--amber);text-decoration:none;font-weight:600;font-size:.85rem;display:block;margin-bottom:.2rem}
.office-muted{font-size:.75rem;color:var(--muted)}
.office-addr{color:var(--cream2);font-size:.85rem;line-height:1.5}
.trust-strip{margin-top:1.8rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;gap:2rem;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:.5rem}
.trust-item i{color:var(--amber);font-size:.8rem}
.trust-item span{font-size:.75rem;color:var(--muted)}
.req{color:var(--amber)}
.textarea-resizable{resize:vertical;min-height:110px}
.testi-section{margin-top:5rem;padding-top:3rem;border-top:1px solid var(--line)}
.about-page-h1{font-family:var(--font-disp);font-size:clamp(2.2rem,4.8vw,3.8rem);font-weight:700;color:var(--cream);margin:0;line-height:1.06;margin-bottom:1.5rem}
.about-page-h1 .accent{color:var(--amber)}
.about-page-intro{font-size:1.05rem;color:var(--cream2);line-height:1.8;margin-bottom:1.6rem;max-width:600px}

/* Hero Slider Styles */
.hero-slider{position:relative;width:100%;height:100%;overflow:hidden}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .4s ease-in-out;display:flex;align-items:center;justify-content:center}
.hero-slide.active{opacity:1;z-index:10}
.hero-slide .hero-image{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.82) saturate(.9);transition:filter .6s ease}
.hero-slide:hover .hero-image{filter:brightness(.9) saturate(1)}
.hero-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--bg) 0%,transparent 28%),linear-gradient(to top,var(--bg) 0%,transparent 25%);z-index:5}
.hero-dots{position:absolute;bottom:35px;right:20px;display:flex;gap:1rem;z-index:20;background:rgba(0,0,0,.4);padding:10px 15px;border-radius:50px;backdrop-filter:blur(8px)}
.hero-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:all .3s ease;border:2px solid rgba(255,255,255,.2);flex-shrink:0}
.hero-dot:hover{background:rgba(255,255,255,.7);transform:scale(1.2)}
.hero-dot.active{background:var(--amber);width:32px;border-radius:6px;border-color:var(--amber);transform:scale(1)}

@media(max-width:1024px) {
.navbar-toggle{display:flex}
.nav-links{display:none}
.nav-right{display:none}
#nav{padding:0 2rem}
#hero{grid-template-columns:1fr}
.hero-image-wrap{display:none}
.gal-grid{grid-template-columns:repeat(2,1fr)}
.gal-filtered-grid{grid-template-columns:repeat(2,1fr)}
.clt-grid{grid-template-columns:repeat(4,1fr)}
.svc-grid{grid-template-columns:repeat(2,1fr)}
.testi-grid{grid-template-columns:repeat(2,1fr)}
.stats-section{grid-template-columns:repeat(4,1fr)}
.contact-grid{grid-template-columns:1fr}
.about-2col{grid-template-columns:1fr!important}
.contact-page-grid{grid-template-columns:1fr}
.grid-2col{grid-template-columns:1fr}
.grid-2col-equal{grid-template-columns:1fr}
.grid-3col{grid-template-columns:repeat(2,1fr)}
.grid-4col{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px) {
#nav{padding:0 1.5rem;height:60px}
.nav-right{gap:.6rem}
.nav-phone{display:none}
.mobile-menu{max-width:100%;top:60px}
.mobile-nav-links{padding:.8rem 0}
.mobile-nav-links a{padding:.85rem 1.2rem;font-size:.85rem}
.mobile-menu-footer{padding:1.2rem;gap:.8rem}
.mobile-phone{font-size:.75rem}
.mobile-btn{font-size:.65rem;padding:.6rem 1rem}
section{padding:3rem 1.5rem}
.svc-grid{grid-template-columns:1fr}
.gal-grid{grid-template-columns:1fr}
.gal-filtered-grid{grid-template-columns:1fr}
.gal-tabs-bar{flex-direction:column;gap:.8rem}
.gal-tab-btn{width:100%;justify-content:center}
.clt-grid{grid-template-columns:repeat(2,1fr)}
.testi-grid{grid-template-columns:1fr}
.stats-section{grid-template-columns:repeat(2,1fr)}
.nav-links{display:none}
.h-solid,.h-outline{font-size:2.2rem}
.grid-3col{grid-template-columns:1fr}
.grid-4col{grid-template-columns:1fr}
.grid-2col-form{grid-template-columns:1fr}
.about-stats-grid{grid-template-columns:1fr}
.office-strip{grid-template-columns:1fr}
.page-hero{padding-left:1.5rem;padding-right:1.5rem}
}
.evd-meta-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1rem 3rem;border-bottom:1px solid var(--line2);background:var(--bg2)}
.evd-back-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-head);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);text-decoration:none;border:1.5px solid var(--line);padding:.5rem 1.1rem;border-radius:4px;transition:all .25s}
.evd-back-btn:hover{border-color:var(--amber);background:var(--amber-dim)}
.evd-meta-info{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.evd-meta-info span{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted);font-family:var(--font-head);letter-spacing:.06em}
.evd-meta-info span i{color:var(--amber);font-size:.75rem}
.evd-section{padding:4rem 3rem}
.evd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.evd-card{position:relative;overflow:hidden;border-radius:8px;border:1px solid var(--line);cursor:pointer;background:var(--surface);aspect-ratio:4/3;transition:border-color .3s,transform .3s}
.evd-card:hover{border-color:var(--amber);transform:translateY(-3px)}
.evd-card:focus{outline:2px solid var(--amber);outline-offset:2px}
.evd-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.evd-card:hover .evd-card-img{transform:scale(1.07)}
.evd-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,#07080ad9 0%,transparent 55%);display:flex;align-items:flex-end;justify-content:space-between;padding:1rem;opacity:0;transition:opacity .3s}
.evd-card:hover .evd-card-overlay{opacity:1}
.evd-card-caption{font-family:var(--font-head);font-size:.8rem;font-weight:600;color:var(--cream);letter-spacing:.04em}
.evd-card-zoom{width:32px;height:32px;background:var(--amber);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.evd-card-zoom i{color:var(--bg);font-size:.75rem}
.evd-lightbox{position:fixed;inset:0;z-index:20000;background:#07080af5;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.evd-lightbox.active{opacity:1;pointer-events:all}
.evd-lb-inner{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:.75rem}
.evd-lb-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:6px;display:block;box-shadow:0 20px 60px #0009}
.evd-lb-caption{font-family:var(--font-head);font-size:.85rem;color:var(--cream2);letter-spacing:.06em;text-align:center}
.evd-lb-counter{font-size:.75rem;color:var(--muted);font-family:var(--font-head);letter-spacing:.1em}
.evd-lb-close,.evd-lb-prev,.evd-lb-next{position:fixed;background:#07080ab3;border:1px solid var(--line);color:var(--cream);cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .25s;z-index:20001}
.evd-lb-close{top:1.5rem;right:1.5rem;width:44px;height:44px;font-size:1rem}
.evd-lb-prev{left:1.5rem;top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:1.1rem}
.evd-lb-next{right:1.5rem;top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:1.1rem}
.evd-lb-close:hover,.evd-lb-prev:hover,.evd-lb-next:hover{background:var(--amber);border-color:var(--amber);color:var(--bg)}
.evd-related{padding:4rem 3rem;border-top:1px solid var(--line2);background:var(--bg2)}
.evd-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}
.evd-rel-card{text-decoration:none;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface);transition:all .3s;display:block}
.evd-rel-card:hover{border-color:var(--amber);transform:translateY(-4px)}
.evd-rel-img-wrap{height:180px;overflow:hidden}
.evd-rel-img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.evd-rel-card:hover .evd-rel-img{transform:scale(1.06)}
.evd-rel-info{padding:1.2rem 1.4rem}
.evd-rel-cat{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:.4rem;font-family:var(--font-head)}
.evd-rel-title{font-family:var(--font-head);font-size:.95rem;font-weight:700;color:var(--cream);margin-bottom:.5rem;line-height:1.3}
.evd-rel-count{font-size:.75rem;color:var(--muted);display:flex;align-items:center;gap:.35rem}
.evd-rel-count i{color:var(--amber);font-size:.7rem}
@media(max-width:1024px) {
.evd-grid{grid-template-columns:repeat(3,1fr)}
.evd-related-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px) {
.evd-meta-bar{padding:1rem 1.5rem;flex-direction:column;align-items:flex-start}
.evd-section{padding:3rem 1.5rem}
.evd-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}
.evd-related{padding:3rem 1.5rem}
.evd-related-grid{grid-template-columns:1fr}
.evd-lb-prev{left:.5rem}
.evd-lb-next{right:.5rem}
}
@media(max-width:540px) {
#hero{padding-top:100px;height:auto}
section,.section-padded{padding:3rem 1rem}
.stats-section{position:initial;bottom:-20px}
.hero-buttons{margin-bottom:20px;flex-wrap:nowrap;flex-direction:column;}
.hero-buttons a{padding:.85rem 1rem;width:100%;white-space:nowrap;text-align:center}
.svc-grid,.grid-4col,.gal-grid,.about-stats-grid,.grid-2col-equal,.grid-3col,.gal-filtered-grid,.clt-grid,.testi-grid{gap:1rem}
.svc-item{padding:1rem}
.svc-icon{margin-bottom:0}
.step-num{margin:0;line-height:4rem}
footer{padding:1rem}
.footer-content{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:1rem;padding:2rem 0}

.about-stat-box,.mv-card,.testi-item {padding:1rem;}
.cta-buttons {gap: 1rem;}
.cta-buttons a{width:100%;}

}

