:root{--gold:#f2aa00;--gold2:#ffc52f;--black:#111315;--ink:#1c2024;--muted:#687078;--cream:#fff9ec;--line:#e9e9e9;--radius:28px;--shadow:0 18px 55px rgba(12,18,24,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 40px));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;z-index:999;background:#fff;padding:10px}.topbar{background:linear-gradient(90deg,#e79b00,#ffc52f);font-size:13px}.topbar-inner{height:36px;display:flex;align-items:center;justify-content:space-between}.top-contact,.social{display:flex;gap:20px}.social a{font-weight:800}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{box-shadow:0 8px 25px rgba(0,0,0,.08);border-color:#eee}.nav-wrap{height:80px;display:flex;align-items:center;justify-content:space-between}.brand img{width:190px}.main-nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:800;text-transform:uppercase}.main-nav a{position:relative;padding:12px 0}.main-nav a.active:not(.nav-cta):after,.main-nav a:hover:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--gold)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 24px;background:var(--gold);color:#111;font-weight:800;border:0;cursor:pointer;transition:.25s}.nav-cta:hover,.btn:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(242,170,0,.3)}.btn-dark{background:var(--black);color:#fff}.btn-outline{background:#fff;border:1px solid #ccc}.menu-toggle{display:none;background:none;border:0}.hero{padding:52px 0 65px;position:relative;background:radial-gradient(circle at 75% 25%,#fff4d7 0,transparent 40%)}.hero-grid{display:grid;grid-template-columns:1fr 1.18fr;gap:48px;align-items:center}.eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#e89b00}.hero h1{font-size:clamp(46px,6vw,78px);line-height:.96;margin:10px 0 24px;letter-spacing:-.05em}.gold{color:var(--gold)}.hero p{font-size:18px;max-width:560px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.hero-visual{position:relative}.hero-visual img{width:100%;height:500px;object-fit:cover;border-radius:48% 8% 38% 12%;box-shadow:var(--shadow)}.hero-badge{position:absolute;right:-10px;bottom:22px;width:170px;height:170px;border-radius:50%;background:#fff;border:10px solid #fff3d5;box-shadow:var(--shadow);display:grid;place-items:center}.hero-badge img{width:120px;height:auto;object-fit:contain;border-radius:0;box-shadow:none}.section{padding:84px 0}.section-soft{background:linear-gradient(180deg,#fffdf8,#fff)}.section-dark{background:#111315;color:#fff}.section-head{text-align:center;max-width:780px;margin:0 auto 44px}.section-head h2,.page-hero h1{font-size:clamp(34px,4.3vw,54px);line-height:1.05;margin:8px 0 16px;letter-spacing:-.035em}.section-head p{color:var(--muted)}.page-hero{padding:70px 0;background:linear-gradient(120deg,#fff 45%,#fff3cf);border-bottom:1px solid #eee}.page-hero p{max-width:760px;font-size:18px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{background:#fff;border:1px solid #ececec;border-radius:24px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.05);transition:.25s}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.icon{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,var(--gold),var(--gold2));display:grid;place-items:center;font-size:26px;margin-bottom:18px}.card h3{margin:0 0 10px;line-height:1.2}.card p,.card li{color:#5f6870}.card ul{padding-left:18px;margin:12px 0 0}.service-card{min-height:350px}.benefit-strip{border-radius:44px;background:#fffaf0;padding:48px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#3a3d40;border-radius:28px;overflow:hidden}.stat{background:#151719;padding:35px;text-align:center}.stat strong{font-size:38px;color:var(--gold);display:block}.project-card{padding:0;overflow:hidden}.project-card img{width:100%;height:230px;object-fit:cover}.project-card .content{padding:24px}.project-card .tag{color:#d58f00;font-size:12px;font-weight:900;text-transform:uppercase}.cta{background:linear-gradient(105deg,#f3a900,#ffc52f);border-radius:54px;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:35px}.cta h2{font-size:36px;margin:0 0 8px}.pill-list{display:flex;flex-wrap:wrap;gap:10px}.pill{padding:10px 15px;border-radius:999px;background:#fff6db;border:1px solid #f5d77b;font-size:14px;font-weight:700}.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.value{padding:26px;border-left:5px solid var(--gold);background:#fff;border-radius:0 22px 22px 0;box-shadow:0 8px 25px rgba(0,0,0,.05)}.faq-list{max-width:900px;margin:auto}.faq-item{border:1px solid #e6e6e6;border-radius:18px;margin:14px 0;overflow:hidden;background:#fff}.faq-question{width:100%;border:0;background:#fff;padding:22px 24px;text-align:left;font-weight:800;font-size:17px;display:flex;justify-content:space-between;cursor:pointer}.faq-answer{display:none;padding:0 24px 22px;color:#5f6870}.faq-item.open .faq-answer{display:block}.faq-item.open .faq-question span{transform:rotate(45deg)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;padding:14px 16px;border:1px solid #d9d9d9;border-radius:13px;font:inherit}.field textarea{min-height:140px;resize:vertical}.notice{padding:14px 18px;border-radius:12px;margin-bottom:20px}.notice.success{background:#e9f8ed;color:#1f6b34}.notice.error{background:#fff0f0;color:#9c2020}.contact-panel{background:#111315;color:#fff;border-radius:28px;padding:38px}.contact-panel a{display:block;margin:12px 0;color:#ffd261}.article-card time{font-size:12px;color:#8a8f94;text-transform:uppercase;font-weight:800}.article-card a{color:#c98500;font-weight:800}.logo-marquee{overflow:hidden;border-top:1px solid #eee;border-bottom:1px solid #eee;background:#fff;padding:18px 0}.marquee-track{display:flex;width:max-content;animation:scroll 42s linear infinite}.logo-cell{width:180px;height:86px;padding:16px 24px;display:grid;place-items:center}.logo-cell img{max-height:54px;max-width:135px;object-fit:contain}.logo-marquee:hover .marquee-track{animation-play-state:paused}@keyframes scroll{to{transform:translateX(-50%)}}.footer{background:#f7f7f7;padding:52px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px}.footer-logo{width:190px;margin-bottom:15px}.footer h3{font-size:14px;text-transform:uppercase}.footer a,.footer span{display:block;color:#5f6870;margin:7px 0}.footer-bottom{border-top:1px solid #ddd;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;font-size:13px}.floating-call,.to-top{position:fixed;z-index:80;border:0;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;box-shadow:var(--shadow)}.floating-call{left:18px;bottom:18px;background:var(--gold);font-size:22px}.to-top{right:18px;bottom:18px;background:#111;color:#fff;opacity:0;pointer-events:none;transition:.2s}.to-top.show{opacity:1;pointer-events:auto}.reveal{opacity:0;transform:translateY(25px);transition:.65s}.reveal.in-view{opacity:1;transform:none}.honeypot{position:absolute!important;left:-9999px!important}
@media(max-width:980px){.main-nav{position:fixed;inset:116px 14px auto 14px;background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:22px;display:none;flex-direction:column;align-items:stretch;gap:4px}.main-nav.open{display:flex}.menu-toggle{display:flex;flex-direction:column;gap:5px;align-items:center}.menu-toggle span{width:27px;height:2px;background:#111}.menu-toggle b{font-size:9px;text-transform:uppercase}.hero-grid,.grid-2{grid-template-columns:1fr}.hero-visual{order:-1}.hero-visual img{height:400px}.grid-3{grid-template-columns:repeat(2,1fr)}.grid-4,.stats{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.topbar-inner{height:auto;padding:8px 0}.top-contact a:nth-child(n+2){display:none}.nav-wrap{height:70px}.brand img{width:155px}.main-nav{inset:106px 10px auto}.hero{padding-top:25px}.hero-grid{gap:28px}.hero-visual img{height:300px;border-radius:34% 8% 32% 8%}.hero-badge{width:110px;height:110px}.hero-badge img{width:80px}.hero h1{font-size:46px}.section{padding:60px 0}.grid-3,.grid-4,.stats,.values-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.benefit-strip,.cta{padding:30px;border-radius:28px}.cta{display:block}.cta .btn{margin-top:20px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.project-card img{height:210px}}

/* Homepage visual system — based on approved Unako layout */
.round-icon svg,.benefit-icon svg,.project-icon svg,.stat-icon>svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-hero{position:relative;padding:48px 0 28px;overflow:hidden;background:linear-gradient(90deg,#fff 0 43%,#fffdf8 70%,#fff 100%)}
.home-hero-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;min-height:520px}
.home-hero-copy{padding:30px 0;position:relative;z-index:3}.home-hero-copy h1{font-size:clamp(54px,6vw,88px);line-height:.94;letter-spacing:-.055em;text-transform:uppercase;margin:12px 0 24px}.home-hero-copy h1 span{display:block;color:var(--gold)}.home-hero-copy p{font-size:17px;max-width:520px}.home-hero-art{position:relative;height:520px;margin-right:-7vw}.hero-orbit-large{position:absolute;inset:0 0 50px 20px;border-radius:48% 0 35% 42%;overflow:hidden;border:3px solid #ffc036;background:#fff;box-shadow:0 26px 70px rgba(0,0,0,.12)}.hero-orbit-large img{width:100%;height:100%;object-fit:cover}.hero-swoosh{position:absolute;left:8%;right:0;bottom:12px;height:155px;background:#fff7e7;border-radius:0 0 0 90%/0 0 0 90%;border-top:8px solid var(--gold);transform:rotate(-4deg);transform-origin:right center}.hero-logo-medallion{position:absolute;right:8%;bottom:70px;width:190px;height:190px;background:#fff;border:12px solid #fff7e6;border-radius:50%;display:grid;place-items:center;box-shadow:0 18px 50px rgba(0,0,0,.2)}.hero-logo-medallion img{width:125px}
.home-about{border-top:1px solid #eee}.home-about-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:68px;align-items:center}.about-art{height:400px;position:relative}.about-orbit{position:absolute;left:0;top:20px;width:315px;height:315px;border-radius:50%;overflow:hidden;border:14px solid #fff;box-shadow:0 14px 40px rgba(0,0,0,.13)}.about-orbit img,.about-seed img{width:100%;height:100%;object-fit:cover}.about-seed{position:absolute;left:210px;bottom:30px;width:145px;height:190px;border-radius:50%;overflow:hidden;border:5px solid #fff;box-shadow:0 12px 32px rgba(0,0,0,.18)}.about-gold-stroke{position:absolute;left:0;bottom:12px;width:260px;height:85px;border-bottom:15px solid var(--gold);border-radius:0 0 0 100%;transform:rotate(9deg)}.about-copy h2{font-size:clamp(34px,4.2vw,56px);line-height:1.03;margin:8px 0 20px}
.home-services{padding-top:45px;border-top:1px solid #eee}.compact-head{margin-bottom:30px}.compact-head h2{font-size:clamp(28px,3vw,42px)}.service-ribbon{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.service-mini{background:#fff;border:1px solid #ededed;border-radius:24px;padding:22px 18px 18px;box-shadow:0 12px 32px rgba(0,0,0,.06);min-height:290px;position:relative;text-align:center;transition:.25s}.service-mini:hover{transform:translateY(-7px);box-shadow:0 22px 45px rgba(0,0,0,.12)}.round-icon,.benefit-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;margin:-4px auto 18px;color:#fff;border:5px solid #fff;box-shadow:0 8px 22px rgba(0,0,0,.16)}.tone-1{background:#ffb20b}.tone-2{background:#5c8a37}.tone-3{background:#3e78bd}.tone-4{background:#f07011}.tone-5{background:#174f87}.service-mini h3{font-size:15px;line-height:1.25;min-height:42px}.service-mini ul{padding:0;margin:14px 0 30px;list-style:none;text-align:left;font-size:12px;color:#59626a}.service-mini li{margin:7px 0;padding-left:10px;position:relative}.service-mini li:before{content:'•';position:absolute;left:0}.service-mini>a{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);width:28px;height:28px;border:1px solid #efb329;border-radius:50%;display:grid;place-items:center;font-size:20px}.center-action{text-align:center;margin-top:26px}
.home-benefits{padding-top:12px}.benefit-shell{background:linear-gradient(100deg,#fffaf1,#fff);border-radius:54px;padding:32px 40px 42px}.benefit-row{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;position:relative}.benefit-row:before{content:'';position:absolute;left:10%;right:10%;top:34px;border-top:2px dotted #b7b7b7}.benefit-item{text-align:center;position:relative;z-index:1}.benefit-icon{background:#fff;color:var(--gold);width:72px;height:72px}.benefit-item:nth-child(2) .benefit-icon{color:#5c8a37}.benefit-item:nth-child(3) .benefit-icon{color:#3e78bd}.benefit-item:nth-child(4) .benefit-icon{color:#8f37bd}.benefit-item:nth-child(5) .benefit-icon{color:#f07011}.benefit-item h3{font-size:15px;line-height:1.2}.benefit-item p{font-size:12px;color:#5f6870}
.home-projects{padding-top:30px}.project-showcase{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.project-tile{height:250px;border-radius:22px;overflow:hidden;position:relative;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.08)}.project-tile img{width:100%;height:70%;object-fit:cover}.project-icon{position:absolute;left:50%;top:61%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;background:#fff;display:grid;place-items:center;color:#111;border:1px solid #eee;box-shadow:0 8px 18px rgba(0,0,0,.15)}.project-tile h3{font-size:14px;line-height:1.15;text-align:center;margin:30px 8px 0}.project-dots{display:flex;justify-content:center;gap:9px;margin:20px 0}.project-dots i{width:9px;height:9px;border-radius:50%;background:#d8d8d8}.project-dots i.active{background:var(--gold)}
.home-stats{background:#0c0e10;color:#fff;padding:30px 0;position:relative;overflow:hidden}.home-stats:after{content:'';position:absolute;right:-80px;top:-140px;width:430px;height:430px;border:1px solid rgba(255,255,255,.03);border-radius:50%}.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.stat-icon{display:flex;align-items:center;gap:18px;padding:5px 30px;border-right:1px solid #a66d00}.stat-icon:last-child{border-right:0}.stat-icon>svg{width:50px;height:50px;color:var(--gold);flex:0 0 auto}.stat-icon span{text-transform:uppercase;font-size:14px;line-height:1.2}.stat-icon strong{display:block;color:var(--gold);font-size:25px}
.home-cta{background:linear-gradient(100deg,#f4a900,#ffc323);overflow:hidden}.cta-panel{min-height:190px;display:grid;grid-template-columns:280px 1fr 180px;align-items:center;gap:35px;position:relative}.cta-photo{height:170px;border-radius:80px 80px 20px 80px;overflow:hidden;border:5px solid #fff}.cta-photo img{width:100%;height:100%;object-fit:cover}.cta-copy{position:relative;z-index:2}.cta-copy h2{margin:0;font-size:32px}.cta-copy p{max-width:600px;margin:8px 0 15px}.cta-copy .btn{padding:11px 20px;font-size:12px}.cta-watermark{opacity:.18;filter:grayscale(1);align-self:stretch;display:grid;place-items:center}.cta-watermark img{width:170px}
.footer{border-radius:42px 42px 0 0;margin-top:0}
@media(max-width:1100px){.service-ribbon,.project-showcase{grid-template-columns:repeat(3,1fr)}.benefit-row{grid-template-columns:repeat(3,1fr)}.benefit-row:before{display:none}.home-hero-grid{grid-template-columns:1fr 1.15fr}.stats-bar{grid-template-columns:repeat(2,1fr);row-gap:22px}.stat-icon:nth-child(2){border-right:0}.cta-panel{grid-template-columns:230px 1fr}.cta-watermark{display:none}}
@media(max-width:800px){.home-hero{padding-top:20px}.home-hero-grid,.home-about-grid{grid-template-columns:1fr}.home-hero-copy{order:2}.home-hero-art{height:390px;margin-right:-20px}.hero-logo-medallion{width:125px;height:125px;right:5%;bottom:55px}.hero-logo-medallion img{width:82px}.about-art{height:350px}.service-ribbon,.project-showcase{grid-template-columns:repeat(2,1fr)}.benefit-row{grid-template-columns:repeat(2,1fr)}.cta-panel{grid-template-columns:1fr;padding:28px 0}.cta-photo{width:min(330px,100%)}.home-hero-copy h1{font-size:54px}}
@media(max-width:520px){.home-hero-art{height:310px}.hero-orbit-large{left:0}.hero-swoosh{height:90px}.hero-logo-medallion{width:100px;height:100px;bottom:28px}.hero-logo-medallion img{width:65px}.home-about{padding-top:50px}.about-art{height:290px}.about-orbit{width:245px;height:245px}.about-seed{left:165px;width:110px;height:150px}.service-ribbon,.project-showcase,.benefit-row,.stats-bar{grid-template-columns:1fr}.service-mini{min-height:auto;padding-bottom:48px}.project-tile{height:300px}.project-tile img{height:74%}.stat-icon{border-right:0;border-bottom:1px solid #805700;padding:16px 0}.stat-icon:last-child{border-bottom:0}.benefit-shell{padding:28px 18px}.cta-panel{padding:28px 0}.cta-copy h2{font-size:27px}}


/* Best of Ballito recognition */
.best-ballito-award{padding:58px 0 50px;background:linear-gradient(180deg,#fff 0%,#fffaf0 100%)}
.best-ballito-card{display:grid;grid-template-columns:320px 1fr;gap:44px;align-items:center;background:#fff;border:1px solid #f0dfad;border-radius:34px;padding:34px 42px;box-shadow:0 18px 50px rgba(12,18,24,.08);position:relative;overflow:hidden}
.best-ballito-card:after{content:'';position:absolute;right:-70px;top:-90px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(242,170,0,.16),rgba(242,170,0,0) 70%);pointer-events:none}
.best-ballito-logo-wrap{background:#fff;border-radius:24px;padding:24px;display:grid;place-items:center;min-height:140px;border:1px solid #eee}
.best-ballito-logo-wrap img{width:100%;max-width:280px;height:auto;object-fit:contain}
.best-ballito-copy{position:relative;z-index:1}
.best-ballito-copy .eyebrow{margin-bottom:8px}
.best-ballito-copy h2{font-size:clamp(28px,3.2vw,42px);line-height:1.08;letter-spacing:-.035em;margin:0 0 12px}
.best-ballito-copy p{margin:0;color:var(--muted);max-width:720px}
@media(max-width:800px){.best-ballito-card{grid-template-columns:1fr;gap:24px;padding:28px;text-align:center}.best-ballito-copy .eyebrow{display:inline-block}.best-ballito-logo-wrap{min-height:120px}.best-ballito-logo-wrap img{max-width:260px}}
@media(max-width:520px){.best-ballito-award{padding:42px 0 36px}.best-ballito-card{padding:22px;border-radius:26px}.best-ballito-logo-wrap{padding:18px}.best-ballito-copy h2{font-size:27px}}
