:root{
  --ink:#10202a;
  --muted:#64727c;
  --paper:#fffaf2;
  --white:#ffffff;
  --blue:#0f3f52;
  --blue2:#17677f;
  --gold:#c69a39;
  --orange:#df7b2d;
  --line:rgba(16,32,42,.14);
  --shadow:0 24px 60px rgba(16,32,42,.16);
  --radius:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fffaf2 0%,#ffffff 45%,#f7fbfc 100%);line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1160px,92%);margin:auto}
.header{position:sticky;top:0;z-index:50;background:rgba(255,250,242,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{width:min(1160px,92%);margin:auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:12px}
.logo-mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--blue2));color:white;font-weight:900;letter-spacing:-1px;box-shadow:0 10px 24px rgba(15,63,82,.25)}
.logo-text{display:flex;flex-direction:column;line-height:1.15}.logo-text strong{font-size:1.05rem}.logo-text small{color:var(--muted);font-size:.78rem}.nav-links{display:flex;align-items:center;gap:8px}.nav-links a{padding:10px 14px;border-radius:999px;font-weight:700;color:#20313b}.nav-links a:hover{background:rgba(198,154,57,.15)}.menu-btn{display:none;border:0;background:var(--blue);color:white;border-radius:12px;width:44px;height:44px;font-size:1.25rem}
.hero{position:relative;overflow:hidden;padding:82px 0 58px}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(223,123,45,.24),transparent 34%),radial-gradient(circle at 85% 15%,rgba(15,63,82,.22),transparent 32%);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.tag{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-size:.78rem}.tag:before{content:"";width:30px;height:2px;background:var(--gold);border-radius:99px}.hero h1{font-size:clamp(2.45rem,6vw,5.35rem);line-height:.96;margin:0 0 22px;letter-spacing:-.06em;color:var(--blue)}.lead{font-size:clamp(1.05rem,2vw,1.35rem);color:#31434d;margin:0 0 28px;max-width:680px}.hero-buttons{display:flex;flex-wrap:wrap;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 20px;border-radius:999px;font-weight:900;transition:.25s ease;border:2px solid transparent}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:white;box-shadow:0 14px 30px rgba(15,63,82,.22)}.btn-outline{border-color:var(--blue);color:var(--blue);background:white}.hero-photo{position:relative;background:white;border:1px solid var(--line);border-radius:34px;padding:12px;box-shadow:var(--shadow);min-height:520px;display:flex;align-items:center;justify-content:center}.hero-photo img{width:100%;height:520px;object-fit:contain;border-radius:24px;background:#f2eee7}.photo-label{position:absolute;left:28px;right:28px;bottom:28px;background:rgba(255,255,255,.94);padding:14px 16px;border-radius:18px;font-weight:900;color:var(--blue);box-shadow:0 14px 34px rgba(0,0,0,.12)}
.service-strip{padding:22px 0;background:var(--blue);color:white}.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.strip-grid div{border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:18px;background:rgba(255,255,255,.06)}.strip-grid span{display:block;color:#f3cd68;font-weight:900}.strip-grid strong{display:block;font-size:1rem}
.section{padding:82px 0}.section-title{max-width:760px;margin:0 auto 34px;text-align:center}.section-title h2,.feature-text h2,.cafeteria-text h2,.contact-box h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.02;margin:0;color:var(--blue);letter-spacing:-.04em}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 12px 34px rgba(16,32,42,.08);position:relative;overflow:hidden}.card:after{content:"";position:absolute;inset:auto -30px -50px auto;width:120px;height:120px;border-radius:50%;background:rgba(223,123,45,.10)}.icon{width:48px;height:48px;border-radius:16px;background:#f6ead1;color:var(--blue);display:grid;place-items:center;font-size:1.5rem;font-weight:900;margin-bottom:18px}.card h3{margin:0 0 10px;font-size:1.16rem}.card p{margin:0;color:var(--muted)}
.featured{background:linear-gradient(135deg,#f5efe4,#f9fcfd)}.feature-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:42px;align-items:center}.feature-image,.cafeteria-image{background:white;border-radius:32px;padding:12px;box-shadow:var(--shadow);border:1px solid var(--line)}.feature-image img,.cafeteria-image img{width:100%;height:560px;object-fit:contain;border-radius:22px;background:#f2eee7}.feature-text p:not(.tag),.cafeteria-text p:not(.tag){color:var(--muted);font-size:1.08rem}.text-link{display:inline-flex;margin-top:12px;color:var(--blue);font-weight:900;border-bottom:2px solid var(--gold)}
.gallery-section{background:#fff}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:265px;gap:16px}.gallery-item{border:0;padding:10px;background:#f4f0e8;border-radius:24px;box-shadow:0 12px 30px rgba(16,32,42,.08);cursor:pointer;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:contain;border-radius:16px;background:#eee7da;transition:transform .3s ease}.gallery-item:hover img{transform:scale(1.02)}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}
.cafeteria{background:linear-gradient(135deg,var(--blue),#0b2a38);color:white}.cafeteria-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:center}.cafeteria .tag,.cafeteria .tag:before{color:#f3cd68}.cafeteria .tag:before{background:#f3cd68}.cafeteria h2{color:white}.cafeteria-text p:not(.tag){color:rgba(255,255,255,.78)}
.contact{background:#fffaf2}.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px}.contact-box,.map-box{background:white;border:1px solid var(--line);border-radius:32px;padding:32px;box-shadow:0 16px 44px rgba(16,32,42,.1)}.contact-links{display:grid;gap:12px;margin-top:24px}.contact-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border-radius:18px;background:#f7fbfc;border:1px solid var(--line)}.contact-links span{color:var(--muted);font-weight:700}.contact-links strong{color:var(--blue);text-align:right}.map-box{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;background:linear-gradient(180deg,#ffffff,#f6fbfd)}.pin{width:74px;height:74px;border-radius:24px;display:grid;place-items:center;background:#f6ead1;color:var(--blue);font-size:2rem;font-weight:900}.map-box h3{font-size:2rem;margin:16px 0 0;color:var(--blue)}.map-box p{color:var(--muted)}
.footer{background:#071c25;color:white;padding:26px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer p{margin:0;font-weight:900}.footer a{color:#f3cd68;font-weight:900}.float-wa{position:fixed;right:22px;bottom:22px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#23bf63;color:white;font-weight:900;z-index:60;box-shadow:0 18px 40px rgba(35,191,99,.36)}
.lightbox{position:fixed;inset:0;background:rgba(7,28,37,.88);display:none;align-items:center;justify-content:center;padding:24px;z-index:100}.lightbox.active{display:flex}.lightbox img{max-width:min(980px,94vw);max-height:88vh;object-fit:contain;border-radius:22px;background:white}.lightbox-close{position:absolute;top:18px;right:18px;width:48px;height:48px;border:0;border-radius:50%;font-size:2rem;background:white;color:var(--blue);cursor:pointer}.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.reveal.show{opacity:1;transform:none}
@media (max-width:920px){.menu-btn{display:block}.nav-links{position:absolute;top:78px;left:4%;right:4%;display:none;flex-direction:column;align-items:stretch;background:white;border:1px solid var(--line);border-radius:22px;padding:12px;box-shadow:var(--shadow)}.nav-links.open{display:flex}.hero{padding-top:44px}.hero-grid,.feature-grid,.cafeteria-grid,.contact-grid{grid-template-columns:1fr}.hero-photo,.hero-photo img,.feature-image img,.cafeteria-image img{height:auto;max-height:720px}.strip-grid,.cards{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:245px}.gallery-item.wide{grid-column:span 2}.footer-inner{flex-direction:column;text-align:center}}
@media (max-width:560px){.container,.nav{width:min(100% - 28px,1160px)}.logo-text small{display:none}.hero h1{font-size:2.55rem}.hero-buttons,.btn{width:100%}.strip-grid,.cards,.gallery{grid-template-columns:1fr}.gallery{grid-auto-rows:360px}.gallery-item.tall,.gallery-item.wide{grid-column:auto;grid-row:auto}.contact-links a{flex-direction:column;align-items:flex-start}.contact-links strong{text-align:left}.section{padding:58px 0}.float-wa{width:56px;height:56px;right:16px;bottom:16px}.photo-label{position:static;margin-top:10px}.hero-photo{display:block}}
