:root{
--bg:#f6f8fb;
--panel:#ffffff;
--panel2:#f1f5f9;
--text:#0b1220;
--muted:#4b5563;
--line:rgba(10,20,40,.10);
--brand:#c7d008;
--brand2:#0ea5a8;
--accent:#fbbf24;
--radius:18px;
--shadow:0 16px 40px rgba(2,6,23,.12); --max:1280px;
--font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:var(--font);background:radial-gradient(1000px 600px at 20% 0%, rgba(0,179,179,.14), transparent 55%),radial-gradient(900px 600px at 80% 0%, rgba(255,90,122,.10), transparent 55%), var(--bg); color:var(--text);}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.zoomable{cursor:zoom-in}
.zoomable:hover{transform:translateY(-1px);transition:.15s ease;box-shadow:0 10px 24px rgba(2,6,23,.18)}
.container{max-width:var(--max);margin:0 auto;padding:0 14px}
.navbar{position:sticky;top:0;z-index:50;background:#ffffff;border-bottom:1px solid var(--line)}
.nav-cta{display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;border-radius:14px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-weight:650;font-size:14px;cursor:pointer}
.btn:hover{transform:translateY(-1px);transition:.15s ease;box-shadow:0 10px 24px rgba(2,6,23,.18)}
.btn.primary{background:linear-gradient(90deg,var(--brand),var(--brand2));border-color:rgba(14,165,168,.35);color:#06121a}
.btn.secondary{background:linear-gradient(90deg,var(--brand2),#ffb703);border-color:rgba(255,90,122,.35);color:#14050a}
.btn.ghost{background:transparent}
.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}
.hero{padding:58px 0 28px} .hero-stage-section{padding:10px 0 0}
.scroll-stage{height:200vh;width:100%}
.scroll-sticky{position:sticky;top:var(--nav-offset,88px);height:calc(100vh - var(--nav-offset,88px));display:flex;align-items:center;justify-content:center}
.hero-media-frame{width:100%;max-width:980px;height:62vh;margin:0 auto;border-radius:28px;overflow:hidden;border:1px solid rgba(10,20,40,.10);box-shadow:0 18px 45px rgba(2,6,23,.16);background:#fff;transform:translateZ(0);will-change:width,height,border-radius,opacity,transform}
.hero-media-frame img{width:100%;height:100%;object-fit:cover;display:block}
.intro-copy-section{padding:24px 0 0;margin-top:-22vh}
.intro-copy{padding:22px 0;max-width:860px;margin:0 auto;text-align:center}
.intro-copy h1{font-size:54px;line-height:1.03;letter-spacing:-.02em;margin:12px 0 10px}
.intro-copy .lead{font-size:18px;color:var(--muted);max-width:62ch;margin:0 auto}
.intro-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;justify-content:center}
@media (max-width: 920px){
.intro-copy h1{font-size:40px}
.intro-copy-section{margin-top:-16vh}
.scroll-sticky{top:var(--nav-offset,74px);height:calc(100vh - var(--nav-offset,74px))}
.hero-media-frame{max-width:100%;height:58vh}
}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:stretch}
.hero-card{border:1px solid var(--line);background:linear-gradient(180deg, var(--panel), var(--panel2));border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.hero-media{position:relative;min-height:360px;background:rgba(255,255,255,.03)}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.hero-copy{padding:26px}
h1{font-size:44px;line-height:1.05;margin:0 0 12px}
.lead{color:var(--muted);font-size:17px;line-height:1.6;margin:0 0 18px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:18px}
.card h3{margin:0 0 8px;font-size:16px}
.card p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.section{padding:34px 0}
.section h2{font-size:26px;margin:0 0 14px}
.section p{color:var(--muted);line-height:1.7;margin:0 0 14px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.kpi{display:flex;gap:12px;flex-wrap:wrap}
.kpi .pill{background:rgba(255,255,255,.03)}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.g-main{grid-column:span 8}
.g-side{grid-column:span 4;display:grid;grid-template-rows:1fr 1fr;gap:14px}
.g-img{border-radius:22px;overflow:hidden;border:1px solid var(--line);background:var(--panel);box-shadow:0 12px 30px rgba(0,0,0,.35)}
.g-img img{width:100%;height:100%;object-fit:cover}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tile{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.03)} .tile img{width:100%;height:220px;object-fit:cover;object-position:center 18%;border-radius:18px;display:block}
.tile .cap{display:none}
.form{display:grid;gap:10px}
.field{display:grid;gap:6px}
label{font-size:13px;color:var(--muted)}
input,textarea,select{width:100%;padding:12px 12px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--text);outline:none}
textarea{min-height:110px;resize:vertical}
.small{font-size:12px;color:var(--muted)}
.footer{padding:30px 0;border-top:1px solid var(--line);margin-top:36px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:start}
.footer a{color:var(--muted)}
.footer a:hover{color:var(--text)}
.mobile-toggle{display:none}
.badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;background:rgba(0,179,179,.12);border:1px solid rgba(0,179,179,.25);color:var(--text);font-size:12px}
.note{padding:14px;border-radius:16px;border:1px dashed rgba(255,255,255,.18);color:var(--muted);background:rgba(255,255,255,.02)}
hr.sep{border:0;border-top:1px solid var(--line);margin:18px 0}
@media (max-width: 920px){
.brand img{height:58px}
h1{font-size:36px}
.hero-grid{grid-template-columns:1fr}
.gallery{grid-template-columns:1fr}
.g-main,.g-side{grid-column:auto}
.g-side{grid-template-columns:1fr 1fr;grid-template-rows:none}
.tiles{grid-template-columns:1fr 1fr}
.split{grid-template-columns:1fr}
.nav-links{display:none}
.mobile-toggle{display:inline-flex}
.nav-inner{gap:10px}
}
@media (max-width: 560px){
.brand img{height:52px}
.tiles{grid-template-columns:1fr}
.g-side{grid-template-columns:1fr}
.brand{min-width:auto}
}
.btn.primary:hover{filter:brightness(1.02)} button, .btn, .button {background:#D0D56C !important; border-color:#D0D56C !important;}
button:hover, .btn:hover, .button:hover {filter: brightness(0.9);}
} .page-content365 .hero-card.hero-media { background: #ffffff !important; }
.page-content365 .hero-card.hero-media .hero-bg { object-fit: contain !important; padding: 18px !important; background:#ffffff !important; } .hero-media .hero-bg{width:100%;height:100%;object-fit:cover;display:block;} .content-365,
.content-365 .image-wrapper,
.content-365 .image-placeholder,
.content-365 img {
background-color: #F5F1EA !important;
} .page-content365 .hero-card.hero-media{background:#F5F1EA !important;}
.page-content365 .hero-card.hero-media .hero-bg{background:#F5F1EA !important; padding:0 !important; object-fit:cover !important;}
.page-content365 .hero-card.hero-media .hero-content{background:#F5F1EA !important;} .hero-media-placeholder{width:100%;height:100%;min-height:360px;border-radius:var(--radius);background:linear-gradient(135deg,#F5F1EA,rgba(245,241,234,.65));border:1px solid rgba(0,0,0,.06);} .navbar{background:#fff !important}
.nav-links a{
text-decoration:none;
padding:10px 12px;
border-radius:999px;
line-height:1;
display:inline-flex;
align-items:center;
gap:8px;
border:1px solid transparent;
}
.nav-links a:hover{
background:rgba(0,0,0,.04);
border-color:rgba(0,0,0,.08);
}
.nav-links a[aria-current="page"]{
background:rgba(0,0,0,.06);
border-color:rgba(0,0,0,.12);
font-weight:600;
}
@media (max-width: 768px){
.nav-links{gap:10px}
.nav-links a{padding:9px 10px}
} .site-header nav a {
padding: 10px 18px;
border-radius: 30px;
background: #D0D56C;
color: #1a1a1a !important;
font-weight: 600;
margin-right: 10px;
text-decoration: none !important;
transition: all 0.25s ease;
}
.site-header nav a:hover {
filter: brightness(0.9);
}
.site-header nav a.current-menu-item,
.site-header nav a.active {
background: #D0D56C;
} .uniform-grid{
display:grid !important;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
gap: 14px !important;
}
.uniform-grid a{
display:block;
}
.uniform-grid img{
width:100% !important;
height: 220px !important;
object-fit: cover !important;
border-radius: 14px;
display:block;
} .navbar .brand img{
max-height: 92px;
}
@media (max-width:768px){
.navbar .brand img{ max-height: 72px; }
} .gallery-grid{
display:grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 18px;
}
.gallery-grid a{ display:block; }
.gallery-grid img{
width:100%;
aspect-ratio: 16 / 9;
object-fit: cover;
object-position: 50% 20%; border-radius: 18px;
display:block;
}
@media (max-width: 768px){
.gallery-grid{
grid-template-columns: 1fr;
gap: 14px;
}
} .cta-group{
display: flex;
align-items: flex-end;
gap: 16px;
} .grid-3 .card{
display:flex;
flex-direction:column;
}
.grid-3 .card .card-cta{
margin-top:auto;
padding-top:12px;
} #content365-grid, .content365-grid, .gallery-grid.content365-grid{
display:grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 18px;
}
#content365-grid a, .content365-grid a{
display:block;
}
#content365-grid img, .content365-grid img, .gallery-grid img{
width:100%;
aspect-ratio: 16 / 9;
object-fit: cover;
object-position: 50% 20%;
border-radius: 18px;
display:block;
} .what-we-do .cards,
.what-we-do .card-grid{
display:grid; }
.what-we-do .card,
.what-we-do .service-card,
.what-we-do .feature-card{
display:flex;
flex-direction:column;
height:100%;
}
.what-we-do .card .btn,
.what-we-do .service-card .btn,
.what-we-do .feature-card .btn{
margin-top:auto;
}
.what-we-do .card .btn + .btn,
.what-we-do .service-card .btn + .btn,
.what-we-do .feature-card .btn + .btn{
margin-top:10px;
} .what-we-do .card{
display:flex;
flex-direction:column;
height:100%;
}
.what-we-do .card > div{
margin-top:auto !important;
} .navbar .container{position:relative} .nav-inner{display:grid !important;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:14px 0;justify-content:stretch}
.nav-links{display:none !important} .brand{justify-self:center;min-width:auto}
.nav-cta{justify-self:end}
.hamburger{
width:40px;
height:40px;
border:0;
background:none;
display:inline-flex;
align-items:center;
justify-content:center;
cursor:pointer;
position:relative;
padding:0;
}
.hamburger:hover{transform:translateY(-1px);transition:.15s ease} .hamburger span{
position:absolute;
left:9px;
right:9px;
height:2px;
background:#6f6f6f;
border-radius:2px;
transition:transform .28s ease, top .28s ease, opacity .18s ease;
}
.hamburger span:nth-child(1){top:12px}
.hamburger span:nth-child(2){top:19px}
.hamburger span:nth-child(3){top:26px}
.hamburger.open span:nth-child(1){top:19px;transform:rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){top:19px;transform:rotate(-45deg)} .menu-overlay{
position:fixed;
inset:0;
background:rgba(2,6,23,.45);
backdrop-filter:blur(4px);
-webkit-backdrop-filter:blur(4px);
opacity:0;
pointer-events:none;
transition:opacity .22s ease;
z-index:9998;
}
.menu-overlay.open{
opacity:1;
pointer-events:auto;
}
#mobileMenu{
position:fixed;
top:0;
left:0;
height:100vh;
width:min(360px, 86vw);
background:#fff;
border-right:1px solid var(--line);
box-shadow:0 26px 90px rgba(2,6,23,.22);
transform:translateX(-110%);
transition:transform .28s ease;
z-index:9999;
padding:16px;
display:block;
}
#mobileMenu.open{transform:translateX(0)}
#mobileMenu a{
display:block;
padding:12px 12px;
border-radius:14px;
border:1px solid rgba(10,20,40,.10);
margin-bottom:10px;
color:var(--text) !important;
text-decoration:none;
}
#mobileMenu a:hover{background:rgba(2,6,23,.04) !important}
body.menu-open{overflow:hidden}
@media (max-width: 920px){
.brand img{height:58px}
}
@media (max-width: 560px){
.brand img{height:52px}
.nav-cta .btn.ghost{display:none}
} .scoped-section{
margin-top: 24px;
} .video-embed{
position: relative;
width: 100%;
padding-top: 56.25%; border-radius: 18px;
overflow: hidden;
box-shadow: 0 22px 60px rgba(2,6,23,.16);
background: #000;
}
.video-embed iframe{
position:absolute;
inset:0;
width:100%;
height:100%;
border:0;
}
.vs-logo{
max-width: 260px;
width: 100%;
height: auto;
display:block;
margin-top: 18px;
opacity: .95;
}
@media (max-width: 860px){
.vs-logo{max-width: 220px;}
} .video-embed.js-yt{
background: #000;
cursor: pointer;
}
.video-embed.js-yt::before{
content:"";
position:absolute;
inset:0;
background-image: var(--yt-thumb);
background-size: cover;
background-position: center;
filter: none;
opacity: .95;
}
.video-embed.js-yt .yt-play{
position:absolute;
inset:0;
background: transparent;
border:0;
cursor:pointer;
}
.video-embed.js-yt .yt-play-icon{
position:absolute;
left:50%;
top:50%;
width:78px;
height:54px;
transform:translate(-50%,-50%);
border-radius:14px;
background: rgba(255,255,255,.18);
backdrop-filter: blur(6px);
box-shadow: 0 18px 50px rgba(0,0,0,.35);
}
.video-embed.js-yt .yt-play-icon::before{
content:"";
position:absolute;
left:50%;
top:50%;
transform:translate(-40%,-50%);
width:0;height:0;
border-left:18px solid rgba(255,255,255,.95);
border-top:12px solid transparent;
border-bottom:12px solid transparent;
}
.video-embed.js-yt:hover .yt-play-icon{
background: rgba(255,255,255,.24);
} .team-grid{
display:grid;
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
gap: 22px;
margin-top: 22px;
}
.team-card{
background:#fff;
border-radius: 14px;
border: 1px solid rgba(148,163,184,.35);
box-shadow: 0 16px 40px rgba(15,23,42,.12);
overflow:hidden;
transition: transform .15s ease, box-shadow .15s ease;
}
.team-card:hover{
transform: translateY(-2px);
box-shadow: 0 20px 48px rgba(15,23,42,.18);
}
.team-card img{
width:100%;
height: 250px;
object-fit: cover;
display:block;
background:#f1f5f9;
}
.team-card .team-meta{
padding: 14px 14px 16px;
}
.team-card .team-meta h3{
margin: 0;
font-size: 16px;
}
.team-card .team-meta p{
margin: 6px 0 0;
color: rgba(15,23,42,.65);
font-size: 13px;
}
@media (min-width: 1100px){
.team-grid{ grid-template-columns: repeat(6, minmax(0, 1fr)); }
.team-card img{ height: 220px; }
} .team-grid{
display:grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 26px;
margin-top: 22px;
}
.team-card{
background:#fff;
border:1px solid rgba(0,0,0,.08);
box-shadow: 0 8px 18px rgba(0,0,0,.12);
border-radius: 4px;
overflow:hidden;
}
.team-card__img{
width:100%;
height: 260px;
object-fit: cover;
display:block;
background:#f2f4f7;
}
.team-card__body{
padding: 14px 14px 16px;
min-height: 72px;
}
.team-card__name{
font-size: 16px;
font-weight: 700;
margin: 0 0 6px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
min-height: 2.3em;
}
.team-card__role{
font-size: 13px;
color: rgba(0,0,0,.6);
margin:0;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
} .section-lead{max-width:72ch;color:var(--muted);margin:10px 0 0 0;font-size:1.02rem;line-height:1.6}
.section-media{margin:24px 0 0 0}
.section-media img{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 10px 30px rgba(2,6,23,.10)} .vs-logo-center{display:flex;justify-content:center;}
.vs-btns{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}  .gallery-card,
.thumb,
.grid-item {
aspect-ratio: 4 / 3;
overflow: hidden;
border-radius: 18px;
} .gallery-card img,
.thumb img,
.grid-item img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.4s ease;
} .gallery-card:hover img,
.thumb:hover img,
.grid-item:hover img {
transform: scale(1.05);
} .portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.portal-card{border:1px solid var(--line);background:var(--panel);border-radius:24px;padding:24px;box-shadow:var(--shadow);height:100%}
.portal-card h3{font-size:24px;margin:0 0 8px}
.portal-card p{color:var(--muted);margin:0 0 14px;line-height:1.7}
.portal-icon{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(208,213,108,.25);font-size:24px;margin-bottom:14px}
.portal-list{margin:0 0 18px;padding-left:18px;color:var(--muted);line-height:1.8}
.portal-note{margin-top:18px}
.video-embed,.order-visual{border:1px solid var(--line);background:var(--panel);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.order-visual{min-height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg, rgba(208,213,108,.18), rgba(255,255,255,.9))}
.order-visual-inner{padding:28px;width:100%}
.order-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.order-step{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line)}
.order-step:first-of-type{border-top:0}
.order-step-num{flex:0 0 34px;width:34px;height:34px;border-radius:999px;background:#D0D56C;display:flex;align-items:center;justify-content:center;font-weight:700}
@media (max-width: 920px){
.portal-grid{grid-template-columns:1fr}
}