[hidden]{display:none!important}
:root{--navy:#111b2a;--ink:#162940;--gold:#d8ae54;--light:#f4f7fa;--sky:#b7d5e8;--txt:#162940;--font:'Trebuchet MS',sans-serif;--title-max:64px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--light);color:var(--txt);font-family:var(--font);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #e7ad48;outline-offset:5px}img{display:block;max-width:100%}.skip{position:absolute;top:-100px;left:0;background:#fff;padding:14px;z-index:99}.skip:focus{top:0}#atmos{position:absolute;inset:0 0 auto 0;height:780px;width:100%;pointer-events:none;z-index:2;opacity:.45}.header{position:relative;z-index:6;background:var(--navy);color:#fff;border-bottom:1px solid #ffffff20}.navwrap{max-width:1420px;padding:18px clamp(18px,4vw,66px);margin:auto;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:13px;font-weight:900;font-size:20px;letter-spacing:.04em;line-height:1.07;white-space:nowrap}.brand small{display:block;color:var(--sky);letter-spacing:.22em;font-size:8px;margin-top:6px}.brand-emblem{display:grid;place-items:center;border:2px solid var(--gold);color:var(--gold);border-radius:50%;width:42px;height:42px;font-size:23px}.navwrap nav{display:flex;gap:30px;margin-left:auto;font-size:13px;font-weight:700}.navwrap nav a:hover{color:var(--gold)}.nav-action{border:1px solid #ffffff55;border-radius:50px;padding:13px 20px;font-size:12px;font-weight:700}.nav-action:hover{background:#ffffff17}.hero{background:var(--navy);color:#fff;min-height:700px;position:relative;isolation:isolate;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 30%,#2b4a62 0,transparent 55%),repeating-linear-gradient(118deg,transparent 0 130px,#ffffff05 131px 132px);pointer-events:none}.hero-inner{position:relative;max-width:1420px;margin:auto;min-height:670px;padding:68px clamp(20px,5vw,76px) 88px;display:grid;grid-template-columns:1fr 1.06fr;gap:6%;align-items:center}.micro,.overline{font-size:11px;color:var(--gold);font-weight:900;letter-spacing:.24em}.hero h1{font-size:clamp(45px,5.4vw,var(--title-max));letter-spacing:-.065em;line-height:1.05;max-width:690px;margin:26px 0 25px;font-weight:900}.hero-lead{color:#d5e1e8;font-size:clamp(17px,1.8vw,22px);max-width:550px;line-height:1.65}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;border-radius:999px;font-size:13px;font-weight:900;transition:transform .2s,background .2s;min-height:51px;text-align:center}.btn:hover{transform:translateY(-3px)}.btn.primary{background:var(--gold);color:#142133}.btn.outline{border:1px solid #91a2b5;color:white}.emergency{display:flex;align-items:center;gap:13px;letter-spacing:.16em;font-size:10px;font-weight:900;color:#d6e1e9;margin-top:38px}.emergency b{color:#f5c76b}.pulse{width:10px;height:10px;background:#ff6458;border-radius:50%;box-shadow:0 0 0 7px #ff645822;animation:pulse 2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 14px #ff645800}}.hero-visual{position:relative;min-width:0;perspective:1200px}.hero-photo-frame{position:relative;isolation:isolate;height:clamp(380px,42vw,620px);border-radius:180px 20px 180px 20px;overflow:hidden;transform:rotate(-2deg);box-shadow:28px 35px 0 #b7d5e815,0 28px 90px #0005;transition:transform .5s}.hero-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.hero-photo-frame:after{content:"";position:absolute;inset:0;border:1px solid #ffffff50;border-radius:inherit;pointer-events:none}.hero-photo-frame #hero-video{position:absolute;inset:0;display:none;background:#091829}.hero-photo-frame #hero-video iframe,.hero-photo-frame #hero-video video{width:100%;height:100%;border:0;object-fit:cover}.hero-stamp{position:absolute;bottom:12px;left:-45px;border:1px solid #d8ae54;background:#101e2de8;box-shadow:0 15px 35px #0005;color:var(--gold);font-size:10px;letter-spacing:.2em;text-align:center;padding:30px 23px;border-radius:50%;transform:rotate(-9deg);font-weight:900}.hero-stamp strong{font-size:25px}.scroll-hint{position:absolute;bottom:28px;left:5%;color:#9bb1c5;letter-spacing:.3em;font-size:9px}.scroll-hint span{font-size:19px;margin-left:15px}.section{padding:clamp(75px,9vw,140px) clamp(20px,5vw,76px)}.about{background:#e6edf1}.about-layout{max-width:1300px;margin:auto;display:grid;grid-template-columns:.87fr 1fr;align-items:center;gap:clamp(35px,8vw,130px)}.about-photo{border-radius:22px 180px 22px 100px;height:580px;overflow:hidden;box-shadow:28px 30px 0 #d0dce4}.about-photo img{width:100%;height:100%;object-fit:cover}.about-content h2,.section-head h2,.contact h2{font-size:clamp(35px,4.3vw,65px);line-height:1.07;letter-spacing:-.055em;max-width:740px;margin:20px 0 20px}.about-content p{font-size:clamp(18px,1.65vw,23px);line-height:1.7;max-width:575px}.about-micro{display:flex;align-items:center;gap:24px;margin-top:44px;border-top:1px solid #93a8ba;padding-top:24px;font-size:13px;max-width:400px}.mark-plus{font-size:45px;color:#af8433}.services{background:var(--light)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;max-width:1300px;margin:0 auto 42px}.section-head h2{margin-bottom:0}.section-head>p{max-width:310px;font-size:15px;line-height:1.8;color:#536477}.service-grid{max-width:1300px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{background:#fff;border-radius:19px;overflow:hidden;box-shadow:0 9px 38px #203c4e10;transition:transform .35s,box-shadow .35s;transform-style:preserve-3d}.service-card:hover{box-shadow:0 22px 50px #213b4e27}.service-img{background:#dfe8ed;aspect-ratio:1.18;display:grid;place-items:center;overflow:hidden}.service-img img{width:100%;height:100%;object-fit:contain}.service-img img.cover{object-fit:cover}.service-body{padding:24px 24px 28px}.service-body .line{height:3px;width:34px;background:var(--gold);margin-bottom:18px}.service-body h3{font-size:20px;margin:0 0 12px;letter-spacing:-.04em}.service-body p{margin:0 0 20px;font-size:14px;line-height:1.7;color:#52677a}.service-body a{font-size:12px;color:#886025;font-weight:900}.gallery-section{background:var(--navy);color:#fff;padding-right:0}.gallery-section .section-head{max-width:none;margin-right:clamp(20px,5vw,76px)}.gallery-section .overline{color:var(--gold)}.gallery-arrows{display:flex;gap:10px}.gallery-arrows button{border:1px solid #c2cfda66;background:transparent;color:white;border-radius:50%;width:48px;height:48px;cursor:pointer}.gallery-arrows button:hover{background:#ffffff1e}.gallery-track{display:flex;gap:19px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:15px 7vw 32px 0}.gallery-tile{flex:0 0 min(360px,75vw);height:420px;scroll-snap-align:center;background:#20354a;border-radius:15px;overflow:hidden;cursor:pointer;border:1px solid #ffffff22;color:white;text-align:left;position:relative;transition:transform .25s}.gallery-tile:hover{transform:translateY(-8px)}.gallery-tile img{height:100%;width:100%;object-fit:contain}.gallery-tile span{position:absolute;bottom:0;left:0;right:0;padding:36px 18px 18px;background:linear-gradient(transparent,#071321ed);font-weight:700}.promos{background:#e4ebf1}.promos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:25px;max-width:1300px;margin:auto}.promo-card{background:white;border-radius:20px;overflow:hidden}.promo-card img{width:100%;max-height:600px;object-fit:contain;background:#dae2e9}.promo-card div{padding:20px}.contact{background:linear-gradient(120deg,#18344c,#111b2a);color:#fff}.contact-inner{max-width:1300px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,8vw,130px)}.contact h2{margin-bottom:20px}.contact-copy p{color:#cdd7e0;line-height:1.7;font-size:18px;max-width:490px}.btn.gold{color:#102130;background:var(--gold);margin-top:28px}.contact-info{border-top:1px solid #ffffff40}.contact-info>div{display:flex;flex-direction:column;gap:9px;border-bottom:1px solid #ffffff30;padding:26px 0}.contact-info span{font-size:10px;color:var(--gold);font-weight:900;letter-spacing:.24em}.contact-info address{font-style:normal;font-size:21px;font-weight:700;line-height:1.5}.contact-info a{text-decoration:underline;text-decoration-color:#ffffff55;text-underline-offset:5px}.contact-info strong{font-size:23px}.footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:25px;background:#0a1320;color:#fff;padding:39px clamp(20px,5vw,76px);font-size:12px}.footer>div:first-child strong{font-size:15px;display:block}.footer small{display:block;color:#9caebd;margin-top:5px}.social-links{display:flex;gap:10px}.social-links a{border:1px solid #ffffff44;border-radius:30px;padding:10px 12px}.floating-wa{position:fixed;z-index:12;bottom:25px;right:24px;background:#20c263;color:white;width:62px;height:62px;display:grid;place-items:center;border-radius:50%;box-shadow:0 9px 30px #07351d59;transition:transform .2s}.floating-wa:hover{transform:scale(1.08)}dialog{border:0;padding:0;background:#08111bed;color:white;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}dialog::backdrop{background:#030a10e9}.lightbox-inner{height:100%;display:flex;align-items:center;justify-content:center;gap:clamp(2px,2vw,30px);padding:50px 10px}.lightbox-inner figure{max-width:min(1000px,77vw);margin:0;text-align:center}.lightbox-inner img{max-height:76dvh;max-width:100%;object-fit:contain;margin:auto}.lightbox-inner figcaption{margin-top:12px;font-size:14px}.lb-close,.lb-arrow{background:#ffffff22;border:1px solid #ffffff55;color:white;cursor:pointer;border-radius:40px;width:45px;height:45px;flex:none}.lb-close{position:absolute;top:20px;right:20px;font-size:24px}.js-reveal{opacity:1;transform:none}.has-js .js-reveal{opacity:0;transform:translateY(22px);transition:opacity .75s,transform .75s}.has-js .js-reveal.revealed{opacity:1;transform:translateY(0)}#cursor{display:none}body.has-cursor,body.has-cursor a,body.has-cursor button{cursor:none}body.has-cursor #cursor{display:grid;place-items:center;position:fixed;z-index:99;left:0;top:0;pointer-events:none;color:var(--gold);font-size:20px;filter:drop-shadow(0 0 5px #fff5);will-change:transform}body.has-cursor #cursor.hover{font-size:28px}@media(max-width:950px){.navwrap nav{display:none}.nav-action{margin-left:auto}.hero-inner{grid-template-columns:1fr;min-height:unset;padding-top:58px;padding-bottom:100px;gap:55px}.hero-copy{max-width:700px}.hero-visual{max-width:760px;width:100%;margin:auto}.hero-photo-frame{height:520px}.hero-stamp{left:0}.about-layout{grid-template-columns:1fr 1fr;gap:40px}.about-photo{height:490px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-inner{gap:40px}}@media(max-width:650px){.navwrap{padding:15px 18px}.brand{font-size:15px}.brand-emblem{width:36px;height:36px}.nav-action{font-size:11px;padding:11px}.hero-inner{padding:57px 22px 75px}.hero h1{font-size:clamp(43px,11vw,61px);margin:20px 0}.micro{font-size:10px}.hero-lead{font-size:17px}.hero-visual{width:calc(100% - 16px)}.hero-photo-frame{height:380px;border-radius:95px 12px 95px 12px;box-shadow:12px 15px 0 #b7d5e815}.hero-stamp{font-size:8px;left:-13px;bottom:-16px;padding:17px}.scroll-hint{display:none}.emergency{margin-top:25px;font-size:9px}.section{padding:76px 21px}.about-layout{grid-template-columns:1fr}.about-photo{height:375px;box-shadow:12px 14px 0 #d0dce4}.about-content h2,.section-head h2,.contact h2{font-size:38px}.section-head{display:block;margin-bottom:29px}.section-head>p{font-size:13px}.service-grid{grid-template-columns:1fr;gap:17px}.service-img{aspect-ratio:1.4}.gallery-section{padding-right:0}.gallery-section .section-head{display:flex;margin-right:20px}.gallery-tile{height:340px;flex-basis:80vw}.gallery-track{padding-right:25px}.contact-inner{grid-template-columns:1fr}.footer{align-items:start;flex-direction:column}.floating-wa{right:17px;bottom:18px;width:56px;height:56px}.lightbox-inner figure{max-width:calc(100vw - 110px)}.lightbox-inner img{max-height:72dvh}.lb-arrow{width:36px;height:36px}.btn{width:100%}.hero-actions{gap:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.has-js .js-reveal{opacity:1;transform:none}#atmos{display:none}}
