:root{--brand:#00acb2;--teal:#007c83;--teal-d:#05656b;--deep:#0e3a3f;--tint:#e8f6f6;--bg:#fbfdfd;--ink:#16292c;--txt:#455a5e;--line:#d8e6e7;--r:16px;--h:'Plus Jakarta Sans','Open Sans',Arial,sans-serif;--b:'Open Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.7 var(--b);color:var(--txt);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:var(--teal)}a:hover{color:var(--teal-d)}
h1,h2,h3{font-family:var(--h);color:var(--ink);line-height:1.12;margin:0 0 .5em;letter-spacing:-.025em}
h1{font-size:clamp(2.3rem,5.4vw,3.9rem);font-weight:800}h2{font-size:clamp(1.65rem,3.2vw,2.4rem);font-weight:800}h3{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}.c{text-align:center}
.eyebrow{font:700 .78rem var(--h);letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin:0 0 14px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
header.top{position:sticky;top:0;z-index:20;background:rgba(251,253,253,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px}
nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0;align-items:center}nav li{position:relative}
nav a{display:block;padding:8px 12px;color:var(--ink);text-decoration:none;font:600 .92rem var(--h);border-radius:8px}
nav a:hover,nav a[aria-current]{color:var(--teal);background:var(--tint)}
nav ul ul{display:none;position:absolute;left:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:12px;min-width:190px;padding:6px;flex-direction:column;box-shadow:0 12px 30px rgba(14,58,63,.12)}
nav li:hover>ul,nav li:focus-within>ul{display:flex}
.menu{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font:600 .9rem var(--h);color:var(--ink)}
:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.btn{display:inline-block;background:var(--teal);color:#fff!important;padding:14px 28px;border-radius:99px;font:700 .98rem var(--h);text-decoration:none;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{background:var(--teal-d);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,124,131,.3)}
.btn.ghost{background:transparent;color:var(--teal)!important;box-shadow:inset 0 0 0 2px var(--teal)}.btn.ghost:hover{background:var(--tint);box-shadow:inset 0 0 0 2px var(--teal)}
nav a.btn{color:#fff;padding:10px 20px}nav a.btn:hover{color:#fff;background:var(--teal-d)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero{padding:64px 0 48px;background:radial-gradient(900px 400px at 85% 0,var(--tint),transparent 70%)}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero h1 span{color:var(--brand)}.hero .lead{font-size:1.2rem;max-width:32em}
.hero .note{font-size:.92rem;margin-top:18px}
.portrait{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:1;background:var(--deep);box-shadow:0 24px 60px rgba(14,58,63,.22)}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:100% 40%;mix-blend-mode:luminosity;opacity:.92}
.portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,172,178,.35),rgba(14,58,63,.15))}
.chip{position:absolute;left:16px;bottom:16px;z-index:2;background:#fff;border-radius:99px;padding:8px 16px;font:700 .85rem var(--h);color:var(--ink)}
.trust{padding:28px 0;border-block:1px solid var(--line);background:#fff}.trust p{margin:0 0 16px;font:600 .85rem var(--h);color:var(--txt)}
.logos{display:flex;flex-wrap:wrap;gap:20px 36px;justify-content:center;align-items:center}.logos img{height:42px;width:auto;filter:grayscale(1);opacity:.65;transition:.2s}.logos img:hover{filter:none;opacity:1}
section{padding:84px 0}.alt{background:var(--tint)}.dark{background:var(--deep);color:#c9dfe1}.dark h2,.dark h3{color:#fff}.dark .eyebrow{color:#63d3d8}
.head{max-width:640px;margin:0 auto 44px;text-align:center}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;transition:.25s}.card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(14,58,63,.1)}
.card .ico{width:44px;height:44px;border-radius:12px;background:var(--tint);color:var(--teal);display:grid;place-items:center;font:800 1rem var(--h);margin-bottom:16px}
.card p{margin:0;font-size:.98rem}.card a.more{display:inline-block;margin-top:12px;font-weight:700;text-decoration:none}
.work{display:grid;gap:22px;grid-template-columns:repeat(3,1fr)}
.proj{position:relative;display:block;border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:.25s}
.proj:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(14,58,63,.14)}
.proj img{aspect-ratio:1;object-fit:cover;width:100%;transition:transform .5s}.proj:hover img{transform:scale(1.04)}
.proj div{padding:16px 18px}.proj b{display:block;font:700 1rem var(--h)}.proj small{font-size:.88rem;color:var(--txt)}
.steps{counter-reset:s;display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.steps div{counter-increment:s;border-top:2px solid #2e6b71;padding-top:18px}.steps div:before{content:"0" counter(s);font:800 2rem var(--h);color:#63d3d8;display:block;margin-bottom:6px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.quote{font:600 clamp(1.2rem,2.4vw,1.6rem)/1.5 var(--h);color:var(--ink);letter-spacing:-.01em}.quote cite{display:block;margin-top:16px;font:600 .95rem var(--b);font-style:normal;color:var(--txt)}
.lead-mag{display:grid;grid-template-columns:220px 1fr;gap:36px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px}
.posts .card{padding:0;overflow:hidden}.posts img{aspect-ratio:16/9;object-fit:cover;width:100%}.posts .card div{padding:20px}.posts h3 a{color:var(--ink);text-decoration:none}.posts h3 a:hover{color:var(--teal)}
details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px 20px;margin-bottom:12px}
summary{cursor:pointer;font:700 1.02rem var(--h);color:var(--ink);padding:14px 0;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:"+";float:right;color:var(--teal);font-size:1.3rem;line-height:1}details[open] summary:after{content:"–"}details p{margin:0 0 16px}
.final{background:linear-gradient(135deg,var(--teal),#00a0a6);color:#fff;text-align:center;border-radius:28px;padding:64px 24px}.final h2{color:#fff}.final p{max-width:32em;margin:0 auto 26px;color:#e8fafa}.final .btn{background:#fff;color:var(--teal-d)!important}.final .btn:hover{background:var(--tint)}
.pagehead{padding:72px 0 40px;background:radial-gradient(800px 300px at 80% 0,var(--tint),transparent 70%)}.pagehead p{max-width:34em;font-size:1.15rem}
ul.check{list-style:none;padding:0;margin:0}ul.check li{padding-left:26px;position:relative;margin:.45em 0}ul.check li:before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800}
label{display:block;font:600 .92rem var(--h);margin:16px 0 6px;color:var(--ink)}
input,select,textarea{width:100%;padding:13px 14px;border:1.5px solid #b9cfd1;border-radius:10px;font:inherit;background:#fff}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px var(--tint)}
footer{background:var(--deep);color:#a9c6c8;padding:56px 0 90px;font-size:.92rem}footer a{color:#fff;text-decoration:none}footer a:hover{color:#63d3d8}footer h3{color:#63d3d8;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em}
footer .grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.sticky{display:none}
@media(max-width:860px){.hero .wrap,.split,.lead-mag{grid-template-columns:1fr}.work{grid-template-columns:1fr 1fr}.portrait{max-width:420px}section{padding:60px 0}
.menu{display:block}nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);display:none;padding:10px 22px 18px}nav.open{display:block}nav ul{flex-direction:column;align-items:stretch}nav ul ul{display:flex;position:static;box-shadow:none;border:0;padding:0 0 0 12px}
.sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--line);padding:10px 16px}.sticky .btn{display:block;text-align:center}}
@media(max-width:520px){.work{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}
.prose{max-width:780px;margin:0 auto}.prose h2{font-size:1.5rem;margin-top:1.8em}.prose h3{margin-top:1.4em}.prose p,.prose li{font-size:1.02rem}.prose ul{padding-left:1.2em}
.crumbs{font-size:.88rem;margin:0 0 14px}.crumbs a{text-decoration:none}
.gal{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.gal a{display:block;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#fff}.gal img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .4s}.gal a:hover img{transform:scale(1.03)}
.gal.cat{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.gal.cat img{aspect-ratio:1}
.gal.big{grid-template-columns:1fr}.gal.big img{aspect-ratio:auto;height:auto}
.tgrid{columns:2 320px;column-gap:22px}.tg{break-inside:avoid;margin:0 0 22px}.tg h3{margin-bottom:.4em}.tg p{margin:.4em 0;font-size:.98rem}.tg cite{font-style:normal;font-weight:600;color:var(--ink);font-size:.95rem;display:block}.tg cite a{font-weight:400}
.pn{display:flex;justify-content:space-between;gap:12px;margin-top:36px;flex-wrap:wrap}
.meta{font-size:.9rem;color:var(--txt);margin:0 0 1.2em}
.two{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card img.fe{border-radius:10px;margin-bottom:14px}
.fgrid{display:grid;gap:0 16px;grid-template-columns:1fr 1fr}.fgrid>div.full{grid-column:1/-1}@media(max-width:600px){.fgrid{grid-template-columns:1fr}}
.proj.wide img{aspect-ratio:16/9}.proj small{display:block;line-height:1.5}
.logos .nm{font:700 1.05rem var(--h);color:var(--ink);opacity:.85;letter-spacing:-.01em;text-align:center;max-width:210px}

/* Testimonials (from LinkedIn recommendations) */
  .hrg-testimonials{--hrg-teal:#00acb2;--hrg-teal-dark:#05656b;--hrg-ink:#1d2b2d;--hrg-muted:#4f6366;background:var(--tint);padding:64px 16px}
  .hrg-testimonials__inner { max-width: 1160px; margin: 0 auto; }
  .hrg-testimonials__eyebrow {
    display: block; text-align: center; color: var(--hrg-teal-dark);
    font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 10px;
  }
  .hrg-testimonials__title {
    text-align: center; margin: 0 auto 12px; max-width: 720px;
    font-size: clamp(1.7rem, 3.2vw, 2.4rem); line-height: 1.2; color: var(--hrg-ink);
  }
  .hrg-testimonials__intro {
    text-align: center; margin: 0 auto 48px; max-width: 620px; color: var(--hrg-muted); line-height: 1.6;
  }

  /* Featured quote */
  .hrg-featured {
    background: #fff; border-radius: 16px; padding: 40px clamp(24px, 5vw, 56px);
    box-shadow: 0 6px 24px rgba(0, 60, 62, .08); border-top: 5px solid var(--hrg-teal);
    margin-bottom: 28px; position: relative;
  }
  .hrg-featured blockquote {
    margin: 0; font-size: clamp(1.1rem, 2vw, 1.35rem); line-height: 1.6; color: var(--hrg-ink);
  }

  /* Grid */
  .hrg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .hrg-card {
    background: #fff; border-radius: 14px; padding: 30px 28px 26px;
    box-shadow: 0 4px 18px rgba(0, 60, 62, .06);
    display: flex; flex-direction: column; position: relative;
    transition: transform .2s ease, box-shadow .2s ease;
  }
  .hrg-card:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(0, 60, 62, .1); }
  .hrg-card blockquote { margin: 0 0 22px; line-height: 1.65; color: var(--hrg-ink); flex: 1; }

  .hrg-mark {
    display: block; font-family: Georgia, "Times New Roman", serif; font-size: 3.6rem; line-height: .8;
    color: var(--hrg-teal); height: 30px; margin-bottom: 8px;
  }
  .hrg-cite { display: flex; align-items: center; gap: 12px; font-style: normal; }
  .hrg-initials {
    flex: none; width: 44px; height: 44px; border-radius: 50%;
    background: var(--hrg-teal); color: #fff; font-weight: 700; font-size: .95rem;
    display: grid; place-items: center;
  }
  .hrg-cite strong { display: block; color: var(--hrg-ink); }
  .hrg-cite span { display: block; font-size: .875rem; color: var(--hrg-muted); line-height: 1.4; }

  .hrg-testimonials__more { text-align: center; margin-top: 40px; }
  .hrg-testimonials__more a {
    display: inline-block; padding: 12px 26px; border-radius: 999px;
    border: 2px solid var(--hrg-teal); color: var(--hrg-teal-dark); font-weight: 600; text-decoration: none;
    transition: background .2s ease, color .2s ease;
  }
  .hrg-testimonials__more a:hover { background: var(--hrg-teal); color: #fff; }

  @media (max-width: 900px) { .hrg-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 600px) {
    .hrg-testimonials { padding: 56px 16px; }
    .hrg-grid { grid-template-columns: 1fr; }
  }
.hrg-cite .hrg-initials{display:grid;place-items:center;color:#fff;font-size:.95rem;line-height:1}
.hrg-cite>span:last-child{flex:1}
.video{position:relative;aspect-ratio:16/9;max-width:860px;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(0,60,62,.15);background:#0e3a3f}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Hero photo */
.hero-photo{margin:0;justify-self:center;width:100%;max-width:460px;text-align:center}
.hero-photo .frame{border-radius:28px;overflow:hidden;background:#fefdfb;box-shadow:0 24px 60px rgba(14,58,63,.18);border:1px solid rgba(0,124,131,.12)}
.hero-photo img{display:block;width:100%;height:auto}
.hero-photo figcaption{margin-top:18px;line-height:1.35}
.hero-photo strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:1.3rem;color:var(--deep)}
.hero-photo figcaption span{display:block;color:#4f6366}
.hero-photo .cert{margin-top:8px;font-size:.88rem;font-weight:600;color:var(--teal-d)}
@media(max-width:860px){.hero-photo{max-width:380px}}
/* 5-card service grid: 3 + 2 centered */
.g5{grid-template-columns:repeat(6,1fr)}
.g5>.card{grid-column:span 2}
.g5>.card:nth-child(4){grid-column:2/span 2}
.g5>.card:nth-child(5){grid-column:4/span 2}
@media(max-width:900px){.g5{grid-template-columns:repeat(2,1fr)}.g5>.card,.g5>.card:nth-child(4),.g5>.card:nth-child(5){grid-column:auto}.g5>.card:nth-child(5){grid-column:1/-1}}
@media(max-width:600px){.g5{grid-template-columns:1fr}.g5>.card:nth-child(5){grid-column:auto}}
.why{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.why h3{margin-bottom:6px}

html{scroll-padding-top:84px}
#contact .card{margin:0}

.hrg-g5{grid-template-columns:repeat(6,1fr)}
.hrg-g5>.hrg-card{grid-column:span 2}
.hrg-g5>.hrg-card:nth-child(4){grid-column:2/span 2}
.hrg-g5>.hrg-card:nth-child(5){grid-column:4/span 2}
@media(max-width:900px){.hrg-g5{grid-template-columns:repeat(2,1fr)}.hrg-g5>.hrg-card,.hrg-g5>.hrg-card:nth-child(4){grid-column:auto}.hrg-g5>.hrg-card:nth-child(5){grid-column:1/-1}}
@media(max-width:600px){.hrg-g5{grid-template-columns:1fr}.hrg-g5>.hrg-card:nth-child(5){grid-column:auto}}

/* Footer */
footer .fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:32px}
footer .fabout p{margin:0 0 14px;line-height:1.6}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin:0 0 10px}
footer h3{margin:0 0 14px}
footer .fbottom{border-top:1px solid rgba(255,255,255,.14);padding-top:22px;font-size:.85rem;color:#8fb0b3}
@media(max-width:700px){footer .fgrid{grid-template-columns:1fr;gap:26px}}

/* Full-size portfolio images */
.stack{display:flex;flex-direction:column;gap:28px;align-items:center}
.stack img{display:block;width:auto;max-width:100%;height:auto;max-height:92vh;border-radius:var(--r);box-shadow:0 10px 30px rgba(14,58,63,.12)}
/* Flip-book */
.fbwrap{background:var(--deep);border-radius:20px;padding:28px 16px 18px;max-width:1100px;margin:0 auto}
.fbwrap:fullscreen{border-radius:0;display:flex;flex-direction:column;justify-content:center}
#book{margin:0 auto}
.fbwrap .pg{background:#fff}.fbwrap .pg img{display:block;width:100%;height:100%;object-fit:contain}
.fbbar{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:18px;flex-wrap:wrap;color:#a9c6c8;font-size:.92rem}
.fbbar button{background:#fff;color:var(--teal-d);border:0;border-radius:999px;padding:10px 20px;font:700 .92rem var(--h);cursor:pointer}
.fbbar button:hover{background:var(--tint)}
.fbnote{text-align:center;margin-top:14px;font-size:.9rem}
