*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;scroll-padding-top:76px;}
:root{
color-scheme:light;
--bg-body:#f0f2f7;
--bg-body-alt:#e8ebf3;
--card-bg:#ffffff;
--card-bg-alt:#f7f9fc;
--glass-bg:rgba(255,255,255,0.72);
--glass-border:rgba(255,255,255,0.9);
--text-main:#0f1728;
--text-muted:#5a6480;
--text-on-dark:#ffffff;
--accent-red:#d91a2a;
--accent-red-bright:#ff2236;
--accent-red-glow:rgba(217,26,42,0.35);
--header-bar-red:#d91a2a;
--accent-blue:#1a3fa8;
--accent-blue-bright:#2455d4;
--nav-bg:#060a12;
--footer-bg:#060a12;
--footer-text:#e8eaf0;
--shadow-card:0 2px 24px rgba(15,23,40,0.09),0 1px 4px rgba(15,23,40,0.06);
--shadow-card-hover:0 12px 48px rgba(15,23,40,0.16),0 4px 16px rgba(15,23,40,0.10);
--shadow-3d:0 8px 32px rgba(15,23,40,0.18),0 2px 8px rgba(15,23,40,0.12);
--border-subtle:rgba(15,23,40,0.10);
--border-strong:rgba(15,23,40,0.22);
--service-num:#d91a2a;
--hours-bg:#ffffff;
--contact-bg:#ffffff;
--map-border:rgba(15,23,40,0.12);
--service-card-bg:#f4f5f8;
--service-card-border:rgba(15,23,40,0.11);
--service-card-shadow:0 2px 10px rgba(15,23,40,0.07),0 1px 3px rgba(15,23,40,0.04);
--service-num-fill:#0f1728;
--service-num-outline:var(--accent-red);
--corner-bracket-color:#0f1728;
}
html[data-theme="dark"]{
color-scheme:dark;
--bg-body:#080c14;
--bg-body-alt:#0d1220;
--card-bg:#0f1524;
--card-bg-alt:#141b2e;
--glass-bg:rgba(15,21,38,0.80);
--glass-border:rgba(255,255,255,0.08);
--text-main:#e8edf8;
--text-muted:#7a87a8;
--text-on-dark:#ffffff;
--accent-red:#ff2236;
--accent-red-bright:#ff3d4f;
--accent-red-glow:rgba(255,34,54,0.40);
--accent-blue:#3a6aff;
--accent-blue-bright:#5580ff;
--nav-bg:#04070f;
--footer-bg:#04070f;
--footer-text:#c8d0e8;
--shadow-card:0 2px 24px rgba(0,0,0,0.40),0 1px 6px rgba(0,0,0,0.30);
--shadow-card-hover:0 16px 56px rgba(0,0,0,0.55),0 4px 16px rgba(0,0,0,0.40);
--shadow-3d:0 8px 40px rgba(0,0,0,0.40),0 2px 12px rgba(0,0,0,0.50);
--border-subtle:rgba(255,255,255,0.07);
--border-strong:rgba(255,255,255,0.15);
--service-num:#ff2236;
--hours-bg:#0f1524;
--contact-bg:#0f1524;
--map-border:rgba(255,255,255,0.10);
--service-card-bg:#1a2236;
--service-card-border:rgba(255,255,255,0.09);
--service-card-shadow:0 2px 14px rgba(0,0,0,0.32),0 1px 4px rgba(0,0,0,0.22);
--service-num-fill:#ffffff;
--service-num-outline:var(--accent-red);
--corner-bracket-color:#ffffff;
}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]){
color-scheme:dark;
--bg-body:#080c14;--bg-body-alt:#0d1220;--card-bg:#0f1524;--card-bg-alt:#141b2e;
--glass-bg:rgba(15,21,38,0.80);--glass-border:rgba(255,255,255,0.08);
--text-main:#e8edf8;--text-muted:#7a87a8;--text-on-dark:#ffffff;
--accent-red:#ff2236;--accent-red-bright:#ff3d4f;--accent-red-glow:rgba(255,34,54,0.40);
--accent-blue:#3a6aff;--accent-blue-bright:#5580ff;--nav-bg:#04070f;--footer-bg:#04070f;
--footer-text:#c8d0e8;--shadow-card:0 2px 24px rgba(0,0,0,0.40),0 1px 6px rgba(0,0,0,0.30);
--shadow-card-hover:0 16px 56px rgba(0,0,0,0.55),0 4px 16px rgba(0,0,0,0.40);
--shadow-3d:0 8px 40px rgba(0,0,0,0.40),0 2px 12px rgba(0,0,0,0.50);
--border-subtle:rgba(255,255,255,0.07);--border-strong:rgba(255,255,255,0.15);
--service-num:#ff2236;--hours-bg:#0f1524;--contact-bg:#0f1524;--map-border:rgba(255,255,255,0.10);
--service-card-bg:#1a2236;--service-card-border:rgba(255,255,255,0.09);--service-card-shadow:0 2px 14px rgba(0,0,0,0.32),0 1px 4px rgba(0,0,0,0.22);
--service-num-fill:#ffffff;--service-num-outline:var(--accent-red);--corner-bracket-color:#ffffff;
}}

body{font-family:'Montserrat',sans-serif;background-color:var(--bg-body);color:var(--text-main);line-height:1.6;overflow-x:hidden;width:100%;position:relative;display:flex;flex-direction:column;min-height:100vh;transition:background-color 0.35s ease,color 0.35s ease;}
a{color:inherit;text-decoration:none;}

.reveal{opacity:1;transform:none;}
.reveal.is-visible{opacity:1;transform:none;}
.reveal-delay-1{transition-delay:0s;}
.reveal-delay-2{transition-delay:0s;}
.reveal-delay-3{transition-delay:0s;}

.navbar{position:fixed;top:0;left:0;width:100%;background-color:var(--nav-bg);box-shadow:0 1px 0 rgba(255,255,255,0.06),0 4px 24px rgba(0,0,0,0.45);z-index:1000;border-bottom:2px solid var(--header-bar-red);}
.nav-container{display:flex;justify-content:space-between;align-items:center;height:72px;max-width:1280px;margin:0 auto;padding:0 28px;}
.logo{display:flex;align-items:center;text-decoration:none;flex-shrink:1;min-width:0;overflow:visible;transition:filter 0.2s;}
.logo-svg{display:block;height:58px;width:auto;max-width:340px;min-width:0;flex-shrink:1;overflow:visible;}
.nav-right-group{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:0;}
.nav-links{display:flex;gap:18px;align-items:center;flex-wrap:nowrap;}
.nav-links a{color:#ffffff !important;text-decoration:none;font-weight:600;font-size:17px;text-transform:uppercase;letter-spacing:0.6px;transition:color 0.2s;line-height:1;white-space:nowrap;position:relative;padding-bottom:3px;}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent-red);border-radius:2px;transition:width 0.25s ease;}
.nav-links a:hover,.nav-links a.active{color:#ffffff !important;}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-right-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.theme-toggle{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);border-radius:8px;color:#ffffff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:7px;outline:none;transition:background 0.2s,border-color 0.2s;}
.theme-toggle:hover{background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.22);}
.theme-toggle svg{width:22px !important;height:22px !important;}
.icon-sun,.icon-moon{display:none;}
.hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;z-index:1200;outline:none;position:relative;padding:8px;flex-shrink:0;width:44px;height:44px;box-sizing:border-box;touch-action:manipulation;overflow:visible;margin-right:4px;border-radius:8px;}
.hamburger span{display:block;width:24px;height:2px;background-color:#ffffff;border-radius:2px;transition:transform 0.35s cubic-bezier(0.23,1,0.32,1),opacity 0.25s ease,width 0.35s cubic-bezier(0.23,1,0.32,1);transform-origin:center center;pointer-events:none;}
.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;transform:scaleX(0);}
.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.main-gui-container{flex:1;display:flex;flex-direction:column;width:100%;max-width:1280px;margin:0 auto;background-color:var(--card-bg);border-left:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);box-shadow:0 0 80px rgba(0,0,0,0.07);transition:background-color 0.35s ease,border-color 0.35s ease,box-shadow 0.35s ease;}
html[data-theme="dark"] .main-gui-container{box-shadow:0 0 80px rgba(0,0,0,0.5);}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .main-gui-container{box-shadow:0 0 80px rgba(0,0,0,0.5);}}


body::before,body::after{content:'';position:fixed;top:0;bottom:0;width:calc((100vw - 1280px)/2);z-index:0;pointer-events:none;}
body::before{left:0;background:linear-gradient(180deg,#e8e9ec 0%,#d8dade 20%,#cdd0d5 40%,#d8dade 60%,#e8e9ec 80%,#f0f1f3 100%);}
body::after{right:0;background:linear-gradient(180deg,#e8e9ec 0%,#d8dade 20%,#cdd0d5 40%,#d8dade 60%,#e8e9ec 80%,#f0f1f3 100%);}
html[data-theme="dark"] body::before,html[data-theme="dark"] body::after{background:linear-gradient(180deg,#15191f 0%,#1c2129 20%,#242a33 40%,#1c2129 60%,#15191f 80%,#0f1216 100%);}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) body::before,html:not([data-theme="light"]) body::after{background:linear-gradient(180deg,#0a0002 0%,#120003 20%,#1a0005 40%,#120003 60%,#0a0002 80%,#050001 100%);}}
.hero{position:relative;height:auto;min-height:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#ffffff;padding-top:110px;padding-bottom:36px;overflow:hidden;width:100%;z-index:1;margin:0;border-bottom:1px solid var(--border-subtle);}
.hero-content{position:relative;z-index:2;width:100%;max-width:860px;padding:0 28px;}
.hero-title-red{font-size:52px;font-weight:900;color:#ffffff !important;letter-spacing:6px;margin-bottom:10px;line-height:1;font-family:'Poppins',sans-serif;}
.hero-title-red span{color:var(--accent-red);}
.hero-subtitle-bold{font-size:18px;font-weight:600;margin-bottom:28px;letter-spacing:1px;color:#ffffff;}
.hero-buttons{display:flex;justify-content:center;align-items:center;gap:14px;width:100%;}
.hero-buttons .btn{display:inline-flex;align-items:center;justify-content:center;min-width:150px;height:50px;padding:0 24px;font-weight:700;text-decoration:none;border-radius:10px;transition:transform 0.22s,box-shadow 0.22s;font-size:14px;letter-spacing:0.3px;outline:none;position:relative;overflow:hidden;}
.btn-primary{background:linear-gradient(145deg,#ff2236 0%,#d91a2a 45%,#a01220 100%);color:#ffffff !important;border:none;box-shadow:0 2px 8px rgba(0,0,0,0.18),inset 0 1px 0 rgba(255,255,255,0.2),inset 0 -2px 0 rgba(0,0,0,0.2);text-shadow:0 1px 2px rgba(0,0,0,0.3);}
.btn-primary::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.20),transparent);transition:left 0.4s;}
.btn-primary:hover::before{left:100%;}
.btn-primary:hover{box-shadow:0 10px 30px rgba(217,26,42,0.55),0 4px 12px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.25);transform:translateY(-2px);}
.btn-primary:active{transform:translateY(0);box-shadow:0 3px 10px rgba(217,26,42,0.35),inset 0 2px 4px rgba(0,0,0,0.2);}
.btn-secondary{background:linear-gradient(145deg,#ffc933 0%,#f0a800 45%,#b87800 100%);backdrop-filter:none;-webkit-backdrop-filter:none;color:#1a0204 !important;border:1.5px solid rgba(255,255,255,0.35) !important;box-shadow:0 2px 8px rgba(0,0,0,0.18),inset 0 1px 0 rgba(255,255,255,0.35),inset 0 -2px 0 rgba(0,0,0,0.15);text-shadow:none;}
.btn-secondary:hover{background:linear-gradient(145deg,#ffd75c 0%,#f0a800 60%,#b87800 100%);border-color:rgba(255,255,255,0.55) !important;transform:translateY(-2px);box-shadow:0 10px 28px rgba(240,168,0,0.55),0 4px 12px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.4);}
.btn-secondary:active{transform:translateY(0);}

.section{padding:64px 0;margin:0;width:100%;overflow:visible;position:relative;background-color:var(--card-bg);transition:background-color 0.35s ease;}
.section:not(:last-child){border-bottom:1px solid var(--border-subtle);}
.section-alt{background-color:var(--card-bg-alt);}
.container{width:100%;padding:0 48px;position:relative;z-index:2;}
.section-header{text-align:center;margin-bottom:28px;}
.section-eyebrow{display:none;}
.section-title{font-size:28px;font-weight:900;text-align:center;text-transform:uppercase;letter-spacing:0.4px;display:block;width:100%;color:var(--text-main);position:relative;padding-bottom:14px;}
.section-title::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);height:3px;background:linear-gradient(90deg,var(--accent-red),var(--accent-red-bright));border-radius:2px;width:var(--scroll-width,0px);max-width:160px;transition:width 0.12s ease-out;}
.gallery-page-title{font-size:28px;font-weight:900;text-align:center;text-transform:uppercase;letter-spacing:0.4px;display:block;width:100%;color:var(--text-main);position:relative;padding-bottom:14px;margin-bottom:40px;}
.gallery-page-title::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);height:3px;background:linear-gradient(90deg,var(--accent-red),var(--accent-red-bright));border-radius:2px;width:var(--scroll-width,0px);max-width:160px;transition:width 0.12s ease-out;}

.about-card{background:var(--card-bg-alt);padding:36px 40px;border:1px solid var(--border-strong) !important;border-radius:16px;box-shadow:var(--shadow-card) !important;width:100%;max-width:860px;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;gap:0;}
html[data-theme="dark"] .about-card{border-color:rgba(255,255,255,0.65) !important;}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .about-card{border-color:rgba(255,255,255,0.65) !important;}}
.about-card p{font-size:15.5px;line-height:1.82;color:var(--text-main);margin-bottom:1.25rem;}
.about-card p:last-of-type{margin-bottom:0;}
.text-red{color:var(--accent-red) !important;font-weight:700;}
.about-invite{font-weight:700;margin-top:1.5rem !important;margin-bottom:1rem !important;font-size:15.5px;}
.about-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;width:100%;font-weight:600;}
.about-list li{font-size:15px;padding:6px 0;display:flex;align-items:center;justify-content:flex-start;gap:10px;}
.about-list li::before{content:'';width:10px;height:10px;background:#E31818;flex-shrink:0;}

.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;width:100%;background:var(--service-card-border);border:1px solid var(--service-card-border);box-shadow:var(--shadow-card);}
.service-card{background:var(--service-card-bg);padding:30px 22px 26px;display:flex;flex-direction:column;gap:16px;position:relative;align-items:flex-start;text-align:left;transition:background 0.3s ease;isolation:isolate;}
.corner-bracket{position:absolute;width:14px;height:14px;z-index:2;pointer-events:none;}
.corner-bracket--tl{top:9px;left:9px;border-top:2px solid var(--corner-bracket-color);border-left:2px solid var(--corner-bracket-color);}
.corner-bracket--tr{top:9px;right:9px;border-top:2px solid var(--corner-bracket-color);border-right:2px solid var(--corner-bracket-color);}
.corner-bracket--bl{bottom:9px;left:9px;border-bottom:2px solid var(--corner-bracket-color);border-left:2px solid var(--corner-bracket-color);}
.corner-bracket--br{bottom:9px;right:9px;border-bottom:2px solid var(--corner-bracket-color);border-right:2px solid var(--corner-bracket-color);}
.service-card:hover{background-color:var(--card-bg-alt);}
.service-card:hover .service-card__title{transform:translateX(2px);}
.service-card__number{font-family:'Poppins',sans-serif;font-size:38px;font-weight:800;letter-spacing:-1px;line-height:1;color:var(--service-num-fill);position:relative;z-index:2;}
.service-card__title{font-size:14.5px;font-weight:700;color:var(--text-main);line-height:1.45;position:relative;z-index:2;transition:transform 0.3s ease;}

.hours-open-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;width:100%;}
.hours-open-card{background:var(--bg-body-alt);border-radius:16px;border:1.5px solid #000000;box-shadow:none;padding:36px 30px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;transition:all 0.25s;position:relative;overflow:hidden;}
html[data-theme="dark"] .hours-open-card{border-color:rgba(255,255,255,0.65);}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .hours-open-card{border-color:rgba(255,255,255,0.65);}}
.hours-open-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover);}
.hours-open-days{font-size:14px;font-weight:800;color:#000000;letter-spacing:0.3px;}
html[data-theme="dark"] .hours-open-days{color:#ffffff;}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .hours-open-days{color:#ffffff;}}
.hours-open-time{font-size:28px;font-weight:900;color:var(--text-main);letter-spacing:0.5px;font-family:'Poppins',sans-serif;}
.hours-open-closed{font-size:24px;font-weight:900;color:var(--accent-red) !important;font-family:'Poppins',sans-serif;}

.contact-wrapper{display:grid;grid-template-columns:1.15fr 0.85fr;gap:24px;width:100%;}
.contact-details{display:flex;flex-direction:column;gap:14px;}
.contact-item{background:var(--bg-body-alt);border-radius:14px;border:1.5px solid #000000;box-shadow:none;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:14px;transition:all 0.22s;}
html[data-theme="dark"] .contact-item{border-color:rgba(255,255,255,0.65);}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .contact-item{border-color:rgba(255,255,255,0.65);}}
.contact-item:hover{box-shadow:var(--shadow-card-hover);}
.contact-item-phone,.contact-item-email{padding:9px 22px;}
.contact-item-address{flex-direction:column;align-items:stretch;gap:14px;}
.contact-address-top{display:flex;justify-content:space-between;align-items:center;gap:14px;}
.contact-route-wrap{display:flex;width:100%;justify-content:center;}
.contact-text-block{display:flex;flex-direction:column;flex:1;min-width:0;}
.contact-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:rgba(217,26,42,0.10);color:var(--accent-red);transition:all 0.2s;flex-shrink:0;}
.contact-icon-btn:hover{background:var(--accent-red);color:#ffffff;transform:scale(1.08);}
.contact-label{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:none;color:#000000;margin-bottom:4px;}
html[data-theme="dark"] .contact-label{color:#ffffff;}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .contact-label{color:#ffffff;}}
.contact-value{font-size:15px;font-weight:700;color:#000000;}
html[data-theme="dark"] .contact-value{color:#ffffff;}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .contact-value{color:#ffffff;}}
.contact-value--address{word-break:break-word;}
.addr-line1{display:inline;}.addr-line1::after{content:' ';}
.addr-line2{display:inline;}
.contact-value--phone{user-select:text;-webkit-user-select:text;cursor:text;}
.btn-route{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(145deg,#2455d4 0%,#1a3fa8 50%,#132f80 100%);color:#ffffff !important;padding:13px 22px;font-size:14px;font-weight:700;border-radius:10px;transition:transform 0.22s,box-shadow 0.22s;width:max-content;box-shadow:0 2px 8px rgba(0,0,0,0.15),inset 0 1px 0 rgba(255,255,255,0.18),inset 0 -2px 0 rgba(0,0,0,0.15);letter-spacing:0.2px;text-shadow:0 1px 2px rgba(0,0,0,0.25);}
.btn-route::before{content:'';width:14px;height:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5'%3E%3Cpolygon points='3 11 22 2 13 21 11 13 3 11'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;}
.btn-route:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(26,63,168,0.50),0 4px 12px rgba(0,0,0,0.25),inset 0 1px 0 rgba(255,255,255,0.22);}
.btn-route:active{transform:translateY(0);box-shadow:0 3px 10px rgba(26,63,168,0.35),inset 0 2px 4px rgba(0,0,0,0.20);}
.contact-map-wrapper{width:100%;border-radius:16px;overflow:hidden;border:1px solid var(--map-border);box-shadow:none;}
.contact-map{width:100%;height:100%;}
.contact-map iframe{width:100%;height:100%;min-height:320px;display:block;}

.footer{background-color:var(--footer-bg);color:var(--footer-text);padding:40px 0;text-align:center;font-size:13px;width:100%;border-top:2px solid var(--accent-red);position:relative;z-index:2;}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:12px;}
.footer-brand{font-size:22px;font-weight:900;letter-spacing:3px;color:#ffffff;}
.footer-brand span{color:var(--accent-red);}
.legal-footer-links{display:flex;justify-content:center;align-items:center;gap:4px;}
.legal-footer-links a{color:rgba(255,255,255,0.75);text-decoration:underline;transition:color 0.2s;font-size:12px;}
.legal-footer-links a:hover{color:var(--accent-red);}
.legal-sep{color:rgba(255,255,255,0.30);margin:0 8px;}
.footer-copy{color:rgba(255,255,255,0.60);font-size:12px;}

.legal-view-wrapper{max-width:860px;width:100%;margin:0 auto;padding:104px 48px 48px 48px;overflow-wrap:break-word;word-break:normal;}
.legal-content h1{font-size:28px;font-weight:900;margin-bottom:8px;color:var(--text-main);}
.legal-content .legal-date{display:block;font-size:13px;color:var(--text-muted);margin-bottom:28px;}
.legal-content h3{font-size:15px;font-weight:800;margin-top:26px;margin-bottom:10px;color:var(--text-main);}
.legal-content p{font-size:15px;line-height:1.80;color:var(--text-main);margin-bottom:12px;hyphens:none;-webkit-hyphens:none;}
.legal-section-box{background:var(--bg-body-alt);border:1px solid var(--border-subtle);border-radius:12px;padding:20px 24px;margin-bottom:16px;}
html[data-theme="dark"] .legal-section-box{border-color:rgba(255,255,255,0.08);}
.legal-section-box h3{margin-top:0 !important;}
.legal-section-box p:last-child{margin-bottom:0;}

.gallery-page-wrapper{max-width:1280px;width:100%;margin:0 auto;padding:104px 48px 48px 48px;flex:1;}
.gallery-header-wrap{margin-bottom:40px;}
.gallery-coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:72px 32px;background:var(--bg-body-alt);border-radius:20px;border:1px solid var(--border-subtle);box-shadow:none;}
.gallery-coming-soon-icon{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,var(--accent-red),#8a0f1c);display:flex;align-items:center;justify-content:center;margin-bottom:24px;box-shadow:none;}
.gallery-coming-soon-icon svg{stroke:#fff;width:36px;height:36px;}
.gallery-coming-soon h2{font-size:26px;font-weight:900;color:var(--text-main);margin-bottom:12px;letter-spacing:0.3px;}
.gallery-coming-soon p{font-size:15.5px;color:var(--text-muted);max-width:440px;line-height:1.7;}
.gallery-coming-soon-badge{display:inline-flex;align-items:center;gap:7px;background:var(--accent-red);border:none;border-radius:100px;padding:6px 16px;font-size:12px;font-weight:800;color:#ffffff;letter-spacing:1.5px;text-transform:uppercase;margin-top:24px;}
.gallery-coming-soon-badge::before{content:'';width:7px;height:7px;border-radius:50%;background:#ffffff;animation:pulse-dot 1.6s infinite;}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.5;transform:scale(1.4);}}

.back-wrap{display:flex;justify-content:center;margin-top:28px;}
.btn-back{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 30px;background:linear-gradient(145deg,#ff2236 0%,#d91a2a 50%,#a01220 100%);color:#ffffff !important;font-weight:700;border-radius:10px;text-decoration:none;transition:transform 0.22s,box-shadow 0.22s;font-size:14px;box-shadow:0 2px 8px rgba(0,0,0,0.15),inset 0 1px 0 rgba(255,255,255,0.18),inset 0 -2px 0 rgba(0,0,0,0.18);text-shadow:0 1px 2px rgba(0,0,0,0.25);}
.btn-back:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.25),inset 0 1px 0 rgba(255,255,255,0.22);}
.btn-back:active{transform:translateY(0);box-shadow:0 3px 10px rgba(217,26,42,0.30),inset 0 2px 4px rgba(0,0,0,0.20);}

@media(max-width:991px){
.services-grid{grid-template-columns:repeat(2,1fr);gap:1px;}
.contact-wrapper{grid-template-columns:1fr;}
}
.service-break{display:inline;}
@media(max-width:768px){
.container{padding:0 20px;}
body::before,body::after{display:none;}
.service-break{display:block;}
.main-gui-container{border-left:none;border-right:none;}
.logo{overflow:visible;}
.logo-svg{height:92px;width:auto;max-width:340px;min-width:0;}
.nav-container{height:86px;padding:0 16px;gap:0;}
.nav-right-group{margin-left:0;gap:0;}
.nav-right-actions{gap:0;margin-left:0;margin-right:0;}
.theme-toggle{padding:6px;z-index:1200;position:relative;transition:opacity 0.2s,visibility 0.2s;}
.theme-toggle.hidden{opacity:0;visibility:hidden;pointer-events:none;}
.hamburger{display:flex;padding:6px;margin-right:0;width:44px;height:44px;overflow:visible;}
.nav-links{display:flex;visibility:hidden;pointer-events:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#04070f !important;flex-direction:column;justify-content:center;align-items:center;gap:36px;z-index:1100;opacity:0;transform:scale(0.97);transition:opacity 0.3s cubic-bezier(0.23,1,0.32,1),transform 0.3s cubic-bezier(0.23,1,0.32,1),visibility 0.3s;}
.nav-links.active{visibility:visible;pointer-events:auto;opacity:1;transform:scale(1);}
.nav-links a{font-size:24px;font-weight:700;color:#ffffff !important;letter-spacing:1px;padding:6px 0;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--accent-red);border-radius:2px;transition:width 0.25s ease;}
.nav-links a:hover::after{width:80%;}
.hero{height:auto;min-height:0;padding-top:118px;padding-bottom:48px;}
.hero-title-red{font-size:40px;letter-spacing:4px;margin-bottom:14px;}
.hero-subtitle-bold{font-size:15px;margin-bottom:32px;}
.hero-buttons .btn{min-width:130px;height:52px;font-size:13px;}
.section{padding:44px 0;}
.section-title,.gallery-page-title{font-size:22px;margin-bottom:32px;}
.about-card{padding:22px 20px;}
.services-grid{grid-template-columns:1fr;gap:1px;}
.service-card{padding:22px 20px 20px;}
.service-card__number{font-size:30px;}
.hours-open-grid{grid-template-columns:1fr;gap:14px;}
.addr-line1::after{content:'';}
.addr-line2{display:block;}
.legal-view-wrapper{padding:104px 20px 32px 20px;}
.legal-content h1{font-size:22px;}
.gallery-page-wrapper{padding:104px 16px 32px 16px;}
}
@media(max-width:400px){
.logo-svg{height:74px;max-width:230px;min-width:0;}
.nav-container{height:82px;padding:0 12px;}
.hero{padding-top:100px;}
.legal-view-wrapper{padding:98px 16px 28px 16px;}
.gallery-page-wrapper{padding:98px 14px 28px 14px;}
}

.rgr-notice{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--nav-bg);border-top:2px solid var(--accent-red);box-shadow:0 -4px 32px rgba(0,0,0,0.45);padding:20px 32px;display:flex;flex-direction:column;align-items:center;gap:14px;transform:translateY(100%);transition:transform 0.4s cubic-bezier(0.22,1,0.36,1);opacity:0;pointer-events:none;}
.rgr-notice.rgr-notice-visible{transform:translateY(0);opacity:1;pointer-events:auto;}
.rgr-notice__text{color:rgba(255,255,255,0.88);font-size:13.5px;line-height:1.6;text-align:center;white-space:normal;max-width:760px;}
.rgr-notice__text a{color:var(--accent-red);text-decoration:underline;font-weight:600;}
.rgr-notice__text a:hover{color:var(--accent-red-bright);}
.rgr-notice__actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;}
.rgr-notice-btn-accept,.rgr-notice-btn-reject,.rgr-notice-btn-settings{min-width:172px;text-align:center;}
.rgr-notice-btn-reject{order:1;}
.rgr-notice-btn-settings{order:2;}
.rgr-notice-btn-accept{order:3;}
.rgr-notice-btn-accept{background:linear-gradient(145deg,#ff2236 0%,#d91a2a 50%,#a01220 100%);color:#ffffff;border:none;border-radius:8px;padding:10px 24px;font-size:13px;font-weight:700;cursor:pointer;transition:box-shadow 0.2s,transform 0.2s;letter-spacing:0.2px;white-space:nowrap;}
.rgr-notice-btn-accept:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(217,26,42,0.50);}
.rgr-notice-btn-reject{background:transparent;color:rgba(255,255,255,0.75);border:1px solid rgba(255,255,255,0.22);border-radius:8px;padding:10px 24px;font-size:13px;font-weight:600;cursor:pointer;transition:background 0.2s,border-color 0.2s,color 0.2s;white-space:nowrap;}
.rgr-notice-btn-reject:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.35);color:#fff;}
.rgr-notice-btn-settings{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.80);border:1px solid rgba(255,255,255,0.18);border-radius:8px;padding:10px 24px;font-size:13px;font-weight:600;cursor:pointer;transition:background 0.2s,border-color 0.2s;white-space:nowrap;}
.rgr-notice-btn-settings:hover{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.30);color:#fff;}
.rgr-notice-overlay{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,0.65);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity 0.3s;}
.rgr-notice-overlay.rgr-notice-open{opacity:1;pointer-events:auto;}
.rgr-notice-modal{background:var(--card-bg);border-radius:18px;border:1px solid var(--border-strong);border-top:1px solid var(--border-strong);box-shadow:0 24px 80px rgba(0,0,0,0.40);max-width:520px;width:100%;padding:32px;display:flex;flex-direction:column;gap:20px;max-height:90vh;overflow-y:auto;}
.rgr-notice__title{font-size:20px;font-weight:900;color:var(--text-main);letter-spacing:0.3px;}
.rgr-notice__desc{font-size:14px;color:var(--text-muted);line-height:1.65;}
.rgr-toggle-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--border-subtle);}
.rgr-toggle-row:last-of-type{border-bottom:none;}
.rgr-toggle-info{flex:1;}
.rgr-toggle-label{font-size:14px;font-weight:700;color:var(--text-main);display:block;margin-bottom:4px;}
.rgr-toggle-desc{font-size:12.5px;color:var(--text-muted);line-height:1.5;}
.rgr-switch{position:relative;width:44px;height:24px;flex-shrink:0;margin-top:2px;}
.rgr-switch input{opacity:0;width:0;height:0;}
.rgr-switch-track{position:absolute;inset:0;background:rgba(255,255,255,0.15);border-radius:100px;border:1px solid var(--border-subtle);cursor:pointer;transition:background 0.25s;}
.rgr-switch input:checked+.rgr-switch-track{background:var(--accent-red);border-color:var(--accent-red);}
.rgr-switch-track::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform 0.25s;box-shadow:0 1px 4px rgba(0,0,0,0.3);}
.rgr-switch input:checked+.rgr-switch-track::after{transform:translateX(20px);}
.rgr-switch input:disabled+.rgr-switch-track{opacity:0.55;cursor:not-allowed;}
.rgr-notice__btns{display:flex;gap:10px;flex-wrap:nowrap;}
.rgr-notice__btns .rgr-notice-btn-accept{flex:1;text-align:center;}
.rgr-notice-modal__btn-reject{flex:1;text-align:center;background:transparent;color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s;white-space:nowrap;}
.rgr-notice-modal__btn-reject:hover{border-color:var(--border-strong);color:var(--text-main);}
@media(max-width:600px){
.rgr-notice{padding:16px 20px;}
.rgr-notice__actions{width:100%;flex-direction:column;align-items:stretch;}
.rgr-notice-btn-accept,.rgr-notice-btn-reject,.rgr-notice-btn-settings{min-width:0;width:100%;box-sizing:border-box;order:initial;}
.rgr-notice-modal{padding:22px 18px;}
.rgr-notice__btns{flex-wrap:wrap;}
.rgr-notice__btns .rgr-notice-btn-accept,.rgr-notice-modal__btn-reject{white-space:normal;flex:1 1 100%;box-sizing:border-box;}
}
.gallery-grid{display:grid;grid-template-columns:1fr;gap:16px;padding:0 0 32px 0;}
.gallery-item{margin:0;padding:0;overflow:hidden;border-radius:10px;background:var(--card-bg);border:1px solid var(--border-subtle);position:relative;}
.gallery-item img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;color:transparent;font-size:0;text-indent:-9999px;opacity:0;transition:opacity 0.35s ease,transform 0.3s ease;}
.gallery-item img.is-loaded{opacity:1;}
.gallery-item:hover img{transform:scale(1.025);}
@media(min-width:769px){.gallery-grid{grid-template-columns:1fr 1fr;gap:20px;}}