:root{--bg:#080808;--bg2:#111111;--bg3:#1a1a1a;--text:#f0ede8;--muted:#7a7672;--gold:#c8a96e;--gold-l:#e8d5a3;--gold-d:#9a7a40;--ease:cubic-bezier(0.22,1,0.36,1);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Geist','Helvetica Neue',sans-serif;font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden;}
body.dyslexia{font-family:'Lexend',sans-serif!important;}
a{color:var(--gold);text-decoration:none;}
a:hover{color:var(--gold-l);}
img{max-width:100%;display:block;}
button{cursor:pointer;font-family:inherit;}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--gold-d);border-radius:3px;}

#grain-overlay{position:fixed;inset:0;z-index:10;pointer-events:none;opacity:0.045;background-size:256px 256px;animation:grain 8s steps(1) infinite;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%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");}

@keyframes grain{0%,100%{transform:translate(0,0);}10%{transform:translate(-2%,-3%);}30%{transform:translate(-3%,1%);}50%{transform:translate(-1%,3%);}70%{transform:translate(-2%,2%);}90%{transform:translate(-3%,2%);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes truckDrive{from{transform:translateX(-220px);}to{transform:translateX(calc(100vw + 220px));}}

[data-reveal]{opacity:0;transform:translateY(36px);transition:opacity 0.8s var(--ease),transform 0.8s var(--ease);}
[data-reveal].revealed{opacity:1;transform:none;}
[data-reveal][data-delay="1"]{transition-delay:0.12s;}
[data-reveal][data-delay="2"]{transition-delay:0.24s;}
[data-reveal][data-delay="3"]{transition-delay:0.36s;}
[data-reveal][data-delay="4"]{transition-delay:0.48s;}
[data-reveal][data-delay="5"]{transition-delay:0.6s;}

#site-header{position:fixed;top:0;left:0;right:0;z-index:900;padding:0 32px;background:rgba(8,8,8,0.97);border-bottom:1px solid rgba(200,169,110,0.18);transition:border-color 0.4s var(--ease);}
#site-header::before{content:'';position:absolute;inset:0;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);background:transparent;z-index:-1;transition:background 0.4s var(--ease),backdrop-filter 0.5s var(--ease),-webkit-backdrop-filter 0.5s var(--ease);}
#site-header.scrolled::before{backdrop-filter:blur(24px) saturate(0.75);-webkit-backdrop-filter:blur(24px) saturate(0.75);background:rgba(8,8,8,0.88);}
#site-header.scrolled{border-bottom-color:rgba(200,169,110,0.18);}
.hdr-inner{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:72px;gap:0;}
.hdr-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;}
.hdr-nav{display:flex;align-items:center;justify-content:center;gap:28px;}
.hdr-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.nav-link{position:relative;color:var(--text);text-decoration:none;font-size:12px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;transition:color 0.3s var(--ease);white-space:nowrap;}
.nav-link::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--gold);transition:width 0.4s var(--ease);}
.nav-link:hover,.nav-link.active{color:var(--gold);}
.nav-link:hover::after,.nav-link.active::after{width:100%;}
.footer-link{position:relative;color:var(--muted);text-decoration:none;font-size:14px;transition:color 0.3s var(--ease);}
.footer-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--gold);transition:width 0.4s var(--ease);}
.footer-link:hover{color:var(--gold);}
.footer-link:hover::after{width:100%;}
.btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--gold);color:#000;font-weight:700;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;padding:14px 32px;border:none;cursor:pointer;text-decoration:none;transition:background 0.3s var(--ease),transform 0.3s var(--ease),box-shadow 0.3s var(--ease);}
.btn-gold:hover{background:var(--gold-l);color:#000;transform:translateY(-2px);box-shadow:0 8px 30px rgba(200,169,110,0.28);}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--gold);font-weight:600;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;padding:13px 32px;border:1px solid var(--gold);cursor:pointer;text-decoration:none;transition:all 0.3s var(--ease);}
.btn-outline:hover{background:var(--gold);color:#000;}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--muted);width:40px;height:40px;cursor:pointer;transition:color 0.3s var(--ease);flex-shrink:0;}
.btn-ghost:hover{color:var(--gold);}
.service-card{border:1px solid rgba(255,255,255,0.05);background:var(--bg2);transition:transform 0.35s var(--ease),box-shadow 0.35s var(--ease),border-color 0.35s var(--ease);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.service-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(0,0,0,0.7);border-color:rgba(200,169,110,0.22);}
.service-card .card-img{overflow:hidden;}
.service-card .card-img img{transition:transform 0.7s var(--ease);width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.08) saturate(1.15) brightness(1.03);}
.service-card:hover .card-img img{transform:scale(1.06);}
.arrow-icon{display:inline-block;transition:transform 0.3s var(--ease);}
.service-card:hover .arrow-icon{transform:translateX(4px);}
#hamburger{display:none;flex-direction:column;gap:5px;background:transparent;border:none;padding:0;cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center;flex-shrink:0;}
#hamburger span{width:22px;height:1.5px;background:var(--text);transition:all 0.3s var(--ease);display:block;}
#hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
#hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
#hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
#mobile-drawer{display:none;position:fixed;inset:0;z-index:950;background:rgba(8,8,8,0.98);overflow-y:auto;padding:80px 24px 60px;flex-direction:column;}
#mobile-drawer.open{display:flex;animation:fadeIn 0.25s var(--ease);}
#drawer-content{max-width:440px;margin:0 auto;width:100%;display:flex;flex-direction:column;}
#drawer-close{position:absolute;top:20px;right:20px;background:transparent;border:none;color:var(--muted);font-size:20px;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;transition:color 0.2s;}
#drawer-close:hover{color:var(--gold);}
.drawer-nav-item{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid rgba(255,255,255,0.06);color:var(--text);text-decoration:none;font-size:24px;font-weight:500;letter-spacing:-0.01em;transition:color 0.3s var(--ease);}
.drawer-nav-item:hover,.drawer-nav-item.active{color:var(--gold);}
.drawer-contact-row{display:flex;align-items:center;gap:14px;padding:13px 0;color:var(--text);text-decoration:none;font-size:16px;transition:color 0.3s var(--ease);}
.drawer-contact-row:hover{color:var(--gold);}
#search-panel{display:none;position:fixed;top:0;left:0;right:0;z-index:920;background:rgba(8,8,8,0.97);padding:22px 40px;border-bottom:1px solid rgba(200,169,110,0.15);align-items:center;gap:14px;}
#search-panel.open{display:flex;animation:fadeIn 0.25s var(--ease);}
#search-input{flex:1;background:transparent;border:none;border-bottom:1px solid var(--gold);color:var(--text);font-size:20px;font-family:'Geist','Helvetica Neue',sans-serif;padding:8px 0;outline:none;}
#search-input::placeholder{color:var(--muted);}
#search-results{display:none;position:fixed;top:76px;left:0;right:0;z-index:919;background:rgba(8,8,8,0.97);border-bottom:1px solid rgba(200,169,110,0.1);max-height:320px;overflow-y:auto;}
#settings-panel{display:none;position:fixed;top:0;right:0;bottom:0;width:320px;max-width:90vw;z-index:920;background:var(--bg2);border-left:1px solid rgba(200,169,110,0.12);overflow-y:auto;flex-direction:column;}
#settings-panel.open{display:flex;animation:fadeIn 0.3s var(--ease);}
.tog{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid rgba(255,255,255,0.05);}
.tog-sw{width:44px;height:24px;background:var(--bg3);border:1px solid rgba(200,169,110,0.25);border-radius:12px;position:relative;cursor:pointer;transition:background 0.3s;flex-shrink:0;}
.tog-sw.on{background:var(--gold);}
.tog-sw::before{content:'';position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform 0.3s var(--ease);}
.tog-sw.on::before{transform:translateX(20px);}
input,textarea,select{background:rgba(255,255,255,0.04);border:1px solid rgba(200,169,110,0.2);color:var(--text);font-family:'Geist','Helvetica Neue',sans-serif;font-size:16px;padding:14px 18px;outline:none;width:100%;transition:border-color 0.3s var(--ease);-webkit-appearance:none;}
input:focus,textarea:focus,select:focus{border-color:var(--gold);}
input::placeholder,textarea::placeholder{color:var(--muted);}
select option{background:var(--bg2);}
.tc-track{position:relative;overflow:visible;min-height:340px;}
.tc-card{position:absolute;left:0;right:0;margin:0 auto;width:min(700px,88vw);transform-style:preserve-3d;transition:transform 0.65s cubic-bezier(0.22,1,0.36,1),opacity 0.65s cubic-bezier(0.22,1,0.36,1),filter 0.65s cubic-bezier(0.22,1,0.36,1);opacity:0;pointer-events:none;transform:translateX(0) scale(0.7);z-index:1;}
.tc-card.tc-active{opacity:1;pointer-events:auto;transform:translateX(0) scale(1) rotateY(0deg);filter:none;z-index:3;}
.tc-card.tc-prev{opacity:0.35;pointer-events:none;transform:translateX(-112%) scale(0.82) rotateY(18deg);filter:blur(1px);z-index:2;}
.tc-card.tc-next{opacity:0.35;pointer-events:none;transform:translateX(112%) scale(0.82) rotateY(-18deg);filter:blur(1px);z-index:2;}
.tc-card.tc-hidden{opacity:0;pointer-events:none;transform:translateX(0) scale(0.7);z-index:1;}
@media(max-width:768px){.tc-card.tc-prev,.tc-card.tc-next{opacity:0.2;}}
@media(prefers-reduced-motion:reduce){.tc-card{transition:opacity 0.3s ease;}}
.tc-dot{width:8px;height:8px;border-radius:8px;border:none;background:rgba(200,169,110,0.3);cursor:pointer;transition:all 0.4s cubic-bezier(0.22,1,0.36,1);padding:0;flex-shrink:0;}
.tc-dot.tc-dot-active{width:22px;background:var(--gold);}
.tc-arrow{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(200,169,110,0.4);background:transparent;color:var(--gold);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.25s,border-color 0.25s;flex-shrink:0;}
.tc-arrow:hover{background:rgba(200,169,110,0.12);border-color:var(--gold);}
.tc-arrow svg{pointer-events:none;}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.section-label{font-size:11px;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:block;}
.section-heading{font-size:clamp(30px,4vw,54px);font-weight:700;letter-spacing:-0.02em;line-height:1.1;}
.hero-title{text-shadow:0 2px 32px rgba(0,0,0,0.85),0 1px 6px rgba(0,0,0,0.6);}
.hero-label{text-shadow:0 1px 12px rgba(0,0,0,0.9);letter-spacing:0.28em;font-size:11px;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:14px;}
.hero-sub{color:rgba(240,237,232,0.92)!important;text-shadow:0 1px 16px rgba(0,0,0,0.8);}
.hero-img{filter:contrast(1.1) saturate(1.22) brightness(1.04);}
.hero-cw{padding:0 40px 80px;position:relative;z-index:2;max-width:1440px;margin:0 auto;width:100%;}
.gal-item{break-inside:avoid;margin-bottom:4px;overflow:hidden;position:relative;cursor:pointer;}
.gal-item img{width:100%;display:block;transition:transform 0.6s var(--ease);filter:contrast(1.08) saturate(1.18) brightness(1.03);}
.gal-item:hover img{transform:scale(1.04);}
.gal-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.82));padding:36px 18px 14px;color:#f0ede8;font-size:13px;letter-spacing:0.04em;opacity:0;transition:opacity 0.35s var(--ease);}
.gal-item:hover .gal-caption{opacity:1;}
.map-frame{filter:grayscale(1) invert(0.9) contrast(0.9) brightness(0.8) sepia(0.15);}
@media(max-width:1024px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:900px){
  .r2c{grid-template-columns:1fr!important;gap:40px!important;}
  .r3c{grid-template-columns:1fr 1fr!important;}
  .r4c{grid-template-columns:1fr 1fr!important;}
  .rfootc{grid-template-columns:1fr 1fr!important;gap:36px!important;margin-bottom:40px!important;}
  .svc-row{grid-template-columns:1fr!important;padding:48px 0!important;}
}
@media(max-width:768px){
  #hamburger{display:flex;}
  .desktop-only{display:none!important;}
  #site-header{padding:0 20px;}
  .hero-title{font-size:clamp(36px,9vw,64px)!important;}
  .sp{padding:72px 24px!important;}
  .sp-t{padding-top:72px!important;}
  .sp-b{padding-bottom:72px!important;}
  .hero-cw{padding:0 20px 52px!important;}
  .hero-cw .btn-gold,.hero-cw .btn-outline{padding:14px 22px!important;font-size:11px!important;}
}
@media(min-width:769px){.mobile-only{display:none!important;}}
@media(max-width:640px){.r3c{grid-template-columns:1fr!important;}.rfootc{grid-template-columns:1fr!important;}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr;}}
@media(max-width:480px){.r4c{grid-template-columns:1fr!important;}}
@media(prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1!important;transform:none!important;transition:none!important;}
  #grain-overlay{animation:none!important;}
  *{transition-duration:0.01ms!important;animation-duration:0.01ms!important;}
}
