:root{--char:#0a1428;--char2:#14223f;--amber:#2fa8ff;--amber2:#7fd4ff;--wood:#2b5d8f;--cream:#eef4fb;--ink:#1b2538}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 Inter,Arial,sans-serif;color:var(--ink);background:var(--cream)}
h1,h2{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.02em;line-height:.95}
h3,.tag{font-family:Fraunces,Georgia,serif}
a{color:var(--wood)}
.nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.8rem 1.2rem;background:rgba(10,20,40,.94);backdrop-filter:blur(6px);border-bottom:1px solid #2fa8ff33}
.logo{font-family:Anton,sans-serif;color:var(--cream);text-decoration:none;font-size:1.4rem;letter-spacing:.08em}.logo span{color:var(--amber);margin-left:.3em}
.nav nav a{color:var(--cream);text-decoration:none;margin-left:1rem;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em}
.nav nav a:hover{color:var(--amber2)}
.hero{position:relative;overflow:hidden;padding:5rem 1.5rem 5.5rem;color:var(--cream);background:radial-gradient(ellipse at 85% 10%,#2fa8ff26,transparent 55%),repeating-linear-gradient(90deg,transparent 0 79px,#ffffff08 79px 80px),var(--char)}
.hero>*{position:relative;max-width:1050px;margin-left:auto;margin-right:auto}
.mark{position:absolute;right:-60px;top:40px;width:340px;color:var(--amber);opacity:.12;max-width:none}
.eyebrow{display:block;letter-spacing:.35em;text-transform:uppercase;font-size:.78rem;font-weight:600;color:var(--amber2)}
h1{font-size:clamp(4rem,17vw,10rem);margin:.4rem auto .2rem}h1 span{color:transparent;-webkit-text-stroke:2px var(--cream)}
.laser{height:3px;width:min(420px,70%);margin-left:0;background:linear-gradient(90deg,var(--amber),var(--amber2),transparent);box-shadow:0 0 14px var(--amber),0 0 30px #2fa8ff88;border-radius:2px}
.hero .laser{margin:1rem auto 1rem calc(max(0px,(100% - 1050px)/2))}
.tag{font-style:italic;font-size:clamp(1.4rem,4vw,2.1rem);margin:.6rem auto .6rem}.sub{opacity:.8}
.btn{display:inline-block;margin-top:1.4rem;padding:1rem 2rem;background:var(--amber);color:#04101f;border:0;border-radius:2px;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;font-size:.95rem;box-shadow:6px 6px 0 var(--cream);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--cream)}
.hero .btn{margin-left:max(0px,calc((100% - 1050px)/2))}
.wrap{padding:4.5rem 1.3rem;max-width:1100px;margin:0 auto}
.wrap h2{font-size:clamp(2.8rem,9vw,5rem);margin:0 0 1.6rem;color:var(--char)}
.wrap h2::after{content:"";display:block;width:70px;height:4px;margin-top:.7rem;background:var(--amber);box-shadow:0 0 10px #2fa8ff99}
.alt{max-width:none;background:linear-gradient(#eef4fbe8,#eef4fbe8),repeating-linear-gradient(100deg,#2b5d8f 0 2px,#a3aebb 2px 7px,#8b97a5 7px 9px,#b4bec9 9px 16px)}
.alt>*{max-width:calc(1100px - 2.6rem);margin-left:auto;margin-right:auto}
.grid{display:grid;gap:1.4rem;grid-template-columns:1fr}
.card{background:#fff;padding:1.8rem 1.5rem;border-left:5px solid var(--wood);box-shadow:0 2px 0 #0000000d;transition:transform .2s,box-shadow .2s,border-color .2s}
.card:hover{transform:translateY(-4px);border-color:var(--amber);box-shadow:0 14px 30px #00000018}
.card h3{font-size:1.5rem;margin:0 0 .4rem;color:var(--char)}.card p{margin:0}
.note{font-style:italic;opacity:.75}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.ph{aspect-ratio:1;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.85rem;font-weight:600;color:#eef4fbb0;background:var(--char2);border:1px solid #2fa8ff40;transition:border-color .2s}
.ph:hover{border-color:var(--amber)}
.prices{width:100%;border-collapse:collapse;background:var(--char);color:var(--cream)}
.prices td{padding:1rem 1.1rem;border-bottom:1px solid #ffffff14}
.prices td:last-child{text-align:right;font-family:Anton,sans-serif;font-size:1.25rem;color:var(--amber2);white-space:nowrap}
.prices tr:hover td{background:#ffffff08}
#about p{font-family:Fraunces,Georgia,serif;font-size:1.3rem}
.two{display:grid;gap:2rem}
form{background:var(--char);padding:1.6rem;color:var(--cream)}
label{display:block;margin-bottom:1rem;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
input,select,textarea{display:block;width:100%;margin-top:.35rem;padding:.75rem;font:inherit;text-transform:none;letter-spacing:0;font-weight:400;font-size:1rem;background:#18263f;color:var(--cream);border:1px solid #ffffff22;border-radius:2px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--amber);border-color:transparent}
form .btn{box-shadow:6px 6px 0 var(--wood)}
footer{text-align:center;padding:2rem 1rem;background:var(--char);color:#eef4fb99;font-size:.85rem;border-top:3px solid var(--amber)}
@media(min-width:760px){
.grid{grid-template-columns:1fr 1fr}.grid .card:nth-child(even){transform:translateY(2.5rem)}.grid .card:nth-child(even):hover{transform:translateY(calc(2.5rem - 4px))}
#services{padding-bottom:7rem}
.gallery{grid-template-columns:repeat(3,1fr)}.ph:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.two{grid-template-columns:1fr 1.2fr;align-items:start}}
@media(max-width:560px){.nav nav a{margin:0 .9rem 0 0}.mark{width:220px;right:-70px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.alt>h2{margin-left:auto;margin-right:auto;margin-bottom:1.6rem}
.ph{aspect-ratio:4/3}
@media(max-width:560px){.prices td{display:block;border:0;padding:.2rem 1rem}.prices tr{display:block;padding:.7rem 0;border-bottom:1px solid #ffffff14}.prices td:last-child{text-align:left}}
/* logo */
.logo img{display:block;height:40px;width:auto}
.hero{text-align:center}
.hero .laser,.hero .btn{margin-left:auto;margin-right:auto}
.hero-logo{margin:0 auto 1rem;line-height:0}
.hero-logo img{display:block;width:min(640px,88vw);height:auto;margin:0 auto;filter:drop-shadow(0 0 24px #2fa8ff33)}
.hero .btn{display:inline-block}
@media(max-width:560px){.logo img{height:34px}.hero{padding-top:3rem}}
@media(max-width:560px){.nav{justify-content:center}.nav nav{width:100%;text-align:center}.nav nav a{margin:0 .55rem}}
