:root{--teal: #439288;--teal-dark: #2f7a70;--footer-dark: #223938;--text: #1c2422;--text-soft: #5a6663;--bg-soft: #f5faf9;--border: #e1e8e6;--radius: 14px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);line-height:1.55;background:#fff;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.wrap{max-width:1160px;margin:0 auto;padding:0 24px}.nav{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--border);padding:14px 0}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}.brand-group{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px}.brand img{height:36px;width:36px;object-fit:contain}.brand span{font-size:20px;font-weight:800;color:var(--text);white-space:nowrap}.brand-divider{width:1px;height:28px;background:var(--border);flex-shrink:0}.openlab-brand{display:flex;align-items:center;transition:opacity .2s ease}.openlab-brand:hover{opacity:.8}.openlab-brand img{height:32px;width:auto;object-fit:contain;border-radius:4px}.nav-links{display:flex;gap:28px;align-items:center}.nav-links a{font-size:15px;font-weight:600;color:var(--text-soft);padding-bottom:4px;border-bottom:2px solid transparent;white-space:nowrap}.nav-links a.active,.nav-links a:hover{color:var(--teal);border-bottom-color:var(--teal)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px}.nav-toggle span{display:block;width:22px;height:2px;background:var(--text);border-radius:1px;transition:transform .25s ease,opacity .25s ease}.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:64px 0 56px}.eyebrow{color:var(--teal);font-weight:800;letter-spacing:.14em;font-size:13px;text-transform:uppercase;margin-bottom:14px}.hero h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin:0 0 20px;font-weight:800}.hero h1 .accent{color:var(--teal)}.hero p.lead{font-size:17px;color:var(--text-soft);max-width:480px;margin:0 0 28px}.btn-primary{display:inline-block;background:var(--teal);color:#fff;font-weight:700;padding:14px 28px;border-radius:999px;font-size:15px;border:none;cursor:pointer;transition:background .2s ease}.btn-primary:hover{background:var(--teal-dark)}.btn-outline{display:inline-block;border:1.5px solid var(--teal);color:var(--teal);font-weight:700;padding:12px 24px;border-radius:999px;font-size:14px}.carousel{position:relative;display:flex;justify-content:center;align-items:center;min-height:420px;width:100%}.carousel img{position:absolute;max-height:420px;width:auto;max-width:100%;opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .7s ease;border-radius:28px;object-fit:contain}.carousel img.active{opacity:1;transform:translateY(0)}.carousel-dots{position:absolute;bottom:-28px;display:flex;gap:8px}.carousel-dots span{width:7px;height:7px;border-radius:50%;background:var(--border)}.carousel-dots span.active{background:var(--teal)}.feature-row{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding:48px 0;border-top:1px solid var(--border)}.feature-row .item svg,.feature-row .item .icon{color:var(--teal);margin-bottom:12px}.feature-row .item h4{font-size:15px;margin:0 0 8px;font-weight:700}.feature-row .item p{font-size:13.5px;color:var(--text-soft);margin:0}.section-title{text-align:center;font-size:clamp(26px,4vw,34px);font-weight:800;margin:0 0 40px}.card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;padding:16px 0 56px}.card{border:1px solid var(--border);border-radius:var(--radius);padding:22px 18px}.card .icon-box{width:40px;height:40px;background:var(--bg-soft);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--teal);margin-bottom:14px}.card h4{font-size:15px;margin:0 0 8px;font-weight:700}.card p{font-size:13px;color:var(--text-soft);margin:0}.william{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center;padding:56px 0;border-top:1px solid var(--border)}.william-photo{background:linear-gradient(160deg,#e7f4f1,#cfe9e3);border-radius:24px;display:flex;align-items:center;justify-content:center;padding:40px;min-height:260px}.william-photo img{width:120px;height:120px;object-fit:contain}.william h2{font-size:clamp(24px,3.5vw,30px);margin:0 0 14px;font-weight:800}.william p.desc{color:var(--text-soft);font-size:15.5px;margin:0 0 20px}.william-points{display:flex;flex-direction:column;gap:12px;margin-bottom:0}.william-points div{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;font-weight:600}.william-points .icon{color:var(--teal);flex-shrink:0;margin-top:2px}.quote-box{border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px;font-size:15px;color:var(--text-soft);position:relative;margin-top:16px}.quote-box .mark{font-size:34px;color:var(--teal);line-height:0;display:block;margin-bottom:8px;font-family:Georgia,serif}.openlab-strip{display:grid;grid-template-columns:1fr 1.6fr auto;gap:28px;align-items:center;padding:40px 0;border-top:1px solid var(--border)}.openlab-strip .label{font-size:13px;color:var(--text-soft);margin-bottom:10px}.openlab-strip img{height:44px;width:auto;border-radius:8px;object-fit:contain}.openlab-strip .desc{font-size:14.5px;color:var(--text-soft);margin:0}.trust-badges{display:flex;gap:20px;flex-wrap:wrap}.trust-badges div{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;line-height:1.3}.trust-badges .icon-frame{width:34px;height:34px;border:1.5px solid var(--teal);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--teal);flex-shrink:0}.steps-wrap{padding:56px 0 64px;border-top:1px solid var(--border)}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;position:relative}.step{text-align:center;padding:0 6px}.step .num{width:42px;height:42px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;margin:0 auto 12px;font-size:15px}.step h4{font-size:14px;margin:0 0 8px;font-weight:700}.step p{font-size:12.5px;color:var(--text-soft);margin:0}.step-arrow{display:none}footer{background:var(--footer-dark);color:#cfe0dc;padding:48px 0 28px;margin-top:20px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.4fr;gap:36px}.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:12px}.footer-brand img{height:30px;width:30px;object-fit:contain}.footer-brand span{color:#fff;font-weight:800;font-size:18px}.footer-tag{font-size:14px;color:#a9c2bd;margin:0}footer h5{color:#fff;font-size:14px;margin:0 0 14px}footer .links{display:flex;flex-direction:column;gap:10px;font-size:14px}footer .links a:hover{color:#fff}.footer-contact p{margin:0 0 6px;font-size:14px}.footer-bottom{border-top:1px solid #395550;margin-top:36px;padding-top:20px;font-size:12.5px;color:#8fada7;text-align:right}.mission{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding:56px 0 48px}.mission .eyebrow{margin-bottom:10px}.mission h1{font-size:clamp(28px,4vw,40px);margin:0 0 16px;font-weight:800}.mission p{color:var(--text-soft);font-size:16px}.mission-icon{background:var(--bg-soft);border-radius:50%;width:min(240px,70vw);height:min(240px,70vw);margin:0 auto;display:flex;align-items:center;justify-content:center;color:var(--teal)}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 20px;padding:16px 0 56px}.team-card{text-align:center}.team-card img{width:100px;height:100px;border-radius:50%;object-fit:cover;margin:0 auto 12px}.team-card h4{margin:0 0 4px;font-size:15px;font-weight:700}.team-card p{margin:0;font-size:13px;color:var(--teal);font-weight:600}.team-sub{text-align:center;color:var(--text-soft);font-size:15px;margin:-12px 0 36px}.team-sub a{color:var(--teal);text-decoration:underline;font-weight:600}.contact-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding:56px 0 48px}.contact-hero h1{font-size:clamp(28px,4vw,42px);margin:0 0 16px;font-weight:800}.contact-hero h1 .accent{color:var(--teal)}.contact-hero p{color:var(--text-soft);font-size:16px;max-width:440px}.contact-icons{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;width:160px;margin-left:auto}.contact-icons .icon-square{width:70px;height:70px;border-radius:16px;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;color:var(--teal)}.contact-icons .icon-square.filled{background:var(--teal);color:#fff}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:10px 0 64px}.contact-details h4{font-size:15px;margin:22px 0 10px;font-weight:700}.contact-details h4:first-child{margin-top:0}.contact-details p{margin:0;color:var(--text-soft);font-size:15px}.contact-details .row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.map-link-btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--teal);color:var(--teal);padding:10px 18px;border-radius:999px;font-size:13.5px;font-weight:700;white-space:nowrap}.map-link-btn:hover{background:var(--teal);color:#fff}.map-box{background:var(--bg-soft);border-radius:var(--radius);min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--teal);gap:8px;text-align:center;font-size:14px;font-weight:600;padding:20px}.map-box .icon{margin-bottom:4px}.map-box a{color:var(--teal)}.map-box span.sub{color:var(--text-soft);font-weight:400;font-size:13px}@media (max-width: 1024px){.feature-row,.card-grid{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:repeat(3,1fr);gap:20px}.team-grid{grid-template-columns:repeat(3,1fr)}.openlab-strip{grid-template-columns:1fr;gap:20px;text-align:left}.trust-badges{justify-content:flex-start}}@media (max-width: 900px){.hero,.william,.mission,.contact-hero{grid-template-columns:1fr;gap:36px}.hero>div:first-child{order:1}.hero>.carousel{order:2}.william>.william-photo{order:1}.william>div:last-child{order:2}.feature-row,.card-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr);gap:24px}.team-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.contact-details{grid-template-columns:1fr}.contact-icons{margin-left:0;margin-right:auto}.carousel{min-height:360px}.carousel img{max-height:360px}}@media (max-width: 640px){.wrap{padding:0 16px}.nav{padding:10px 0}.brand span{font-size:17px}.brand img{height:32px;width:32px}.openlab-brand img{height:26px}.brand-divider{height:22px}.nav-toggle{display:flex}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--border);box-shadow:0 8px 24px #00000014;padding:8px 0}.nav-links.open{display:flex}.nav-links a{padding:14px 20px;border-bottom:none;font-size:16px}.nav-links a.active,.nav-links a:hover{background:var(--bg-soft);border-bottom:none}.hero{padding:40px 0 48px;gap:28px}.hero h1{font-size:30px}.hero p.lead{font-size:15.5px}.carousel{min-height:300px}.carousel img{max-height:300px;border-radius:20px}.feature-row{grid-template-columns:1fr;gap:28px;padding:36px 0}.card-grid{grid-template-columns:1fr;gap:14px}.steps{grid-template-columns:1fr;gap:28px}.step{text-align:left;display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;padding:0}.step .num{margin:0}.step h4{margin-top:4px}.william{padding:40px 0;gap:28px}.william-photo{min-height:200px;padding:28px}.openlab-strip{padding:32px 0}.trust-badges{flex-direction:column;gap:14px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-bottom{text-align:left}.team-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.mission,.contact-hero{padding:40px 0 36px}.contact-icons{width:140px}.contact-icons .icon-square{width:64px;height:64px}}@media (max-width: 380px){.brand span{font-size:15px}.openlab-brand img{height:22px}.team-grid{grid-template-columns:1fr}}
