:root{--green:#00853e;--forest:#174b35;--blue:#0069aa;--yellow:#d7c500;--ink:#17221c;--muted:#66716b;--cream:#f5f3eb;--paper:#fff;--line:#dfe4dd;--soft:#edf3ee;--max:1240px;--shadow:0 18px 50px rgba(24,42,31,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(var(--max),calc(100% - 64px));margin-inline:auto}
.site-header{position:fixed;z-index:100;top:12px;left:0;right:0;height:68px;pointer-events:none}.nav-shell{height:100%;width:min(var(--max),calc(100% - 48px));margin:auto;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(249,248,244,.78);border:1px solid rgba(255,255,255,.72);border-radius:18px;box-shadow:0 10px 35px rgba(22,38,29,.08);backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1);pointer-events:auto}.brand{width:118px;height:48px;display:flex;align-items:center;flex:0 0 auto}.brand img{width:118px;height:42px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:2px}.nav-links>a{font-size:12px;font-weight:700;letter-spacing:.01em;padding:8px 10px;border-radius:999px;white-space:nowrap}.nav-links>a:hover{background:rgba(0,133,62,.08);color:var(--green)}.nav-links .nav-cta{background:var(--green);color:#fff;padding:10px 15px;margin-left:6px}.nav-links .nav-cta:hover{background:var(--forest);color:#fff}.menu-toggle{display:none;border:0;background:transparent;font-weight:800;font-size:12px;color:var(--ink)}
.section{padding:105px 0}.cream{background:var(--cream)}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--green)}.eyebrow.light{color:var(--yellow)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:13px 19px;font-size:12px;font-weight:800;cursor:pointer;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(24,42,31,.12)}.button-green{background:var(--green);color:#fff}.button-dark{background:var(--ink);color:#fff}.text-link{display:inline-flex;gap:12px;margin-top:18px;font-weight:800;font-size:12px;border-bottom:1px solid currentColor;padding-bottom:5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px}.section h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,5.2vw,72px);line-height:1.02;font-weight:500;margin:14px 0 24px}.section h2 span,.section h2 em,.page-hero h1 em,.final-cta h2 em{color:var(--green);font-style:normal}.large{font-size:20px;line-height:1.55}.muted{color:var(--muted)}
/* Lightweight cinematic hero */
.cinematic{height:650vh;background:#e9eee8;position:relative}.cinematic-sticky{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden;background:#dfe7df}.photo-stage{position:absolute;inset:0;overflow:hidden;background:#d8e0d9}.photo-frame{position:absolute;inset:-5%;opacity:0;will-change:opacity,transform;backface-visibility:hidden}.photo-frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.035);transform-origin:center;filter:saturate(.92) contrast(.99);backface-visibility:hidden}.photo-frame:nth-child(1) img{object-position:center 47%}.photo-frame:nth-child(2) img{object-position:center 50%}.photo-frame:nth-child(3) img{object-position:center 52%}.photo-frame:nth-child(4) img{object-position:center 50%}.photo-frame:nth-child(5) img{object-position:center 50%}.photo-frame:nth-child(6) img{object-position:center 50%}.journey-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,248,243,.97) 0%,rgba(248,248,243,.88) 26%,rgba(248,248,243,.28) 55%,rgba(248,248,243,.04) 78%),linear-gradient(0deg,rgba(9,23,15,.16),transparent 48%);z-index:2;pointer-events:none}.journey-content{position:relative;height:100%;z-index:5}.journey-copy{position:absolute;left:0;top:50%;transform:translateY(-50%);width:min(530px,45%);padding-bottom:15px}.journey-copy .step{font-size:10px;font-weight:800;letter-spacing:.17em;color:var(--green);text-transform:uppercase}.journey-copy h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;line-height:.98;margin:14px 0 18px;font-size:clamp(48px,6.2vw,88px);letter-spacing:-.02em}.journey-copy h1 em{font-style:normal;color:var(--green)}.journey-copy p{font-size:16px;line-height:1.55;color:#4f5b54;max-width:480px;margin:0}.journey-copy .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.journey-marker{position:absolute;right:32px;top:102px;z-index:8;display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#53615a}.journey-marker b{color:var(--green)}.journey-marker strong{color:var(--forest)}.journey-progress{position:absolute;left:32px;bottom:28px;z-index:8;display:flex;align-items:center;gap:8px}.journey-progress i{display:block;width:24px;height:1px;background:#a9b4ac}.journey-progress span{font-size:9px;font-weight:800;color:#748078}.journey-progress .active{color:var(--green)}.cinematic-scroll-cue{position:absolute;z-index:8;right:32px;bottom:28px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#53615a}.cinematic-scroll-cue b{color:var(--green);font-size:16px;margin-left:6px}.photo-credit{position:absolute;right:32px;top:140px;z-index:8;font-size:8px;color:#68756d;background:rgba(255,255,255,.62);padding:6px 9px;border-radius:99px;backdrop-filter:blur(8px)}
.intro{background:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:42px}.section-head h2{max-width:780px;margin:10px 0 0}.section-head p{max-width:410px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.service-card{position:relative;min-height:390px;padding:34px;border-right:1px solid var(--line);background:#fff}.service-card:last-child{border-right:0}.service-card.featured{background:#eff5ef}.service-no{font-size:10px;color:var(--green);font-weight:800}.service-card h3{font-family:Georgia,serif;font-size:44px;line-height:1.02;margin:75px 0 16px}.service-card p{color:var(--muted);max-width:350px}.service-card>a{position:absolute;bottom:30px;color:var(--green);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{height:430px;position:relative;overflow:hidden;background:#24372d;color:#fff}.project img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project:hover img{transform:scale(1.045)}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 38%,rgba(0,0,0,.78))}.project>div{position:absolute;z-index:2;left:24px;right:24px;bottom:22px}.project small{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#d9e8dd;font-weight:800}.project h3{font-family:Georgia,serif;font-size:31px;margin:6px 0}.project b{font-size:11px}
.difference{background:var(--forest);color:#fff}.difference .eyebrow{color:var(--yellow)}.difference h2 span{color:#c9e4d1}.difference .section-head p{color:#d3ddd7}.difference-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.difference-grid article{border-top:1px solid rgba(255,255,255,.24);padding-top:19px}.difference-grid article>b{color:var(--yellow);font-size:11px;font-weight:800}.difference-grid h3{font-size:18px;margin:20px 0 9px}.difference-grid p{font-size:13px;color:#cbd8d0}.process{background:var(--cream)}.process-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.process-intro{position:sticky;top:100px;align-self:start}.process-list{border-top:1px solid var(--line)}.process-row{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.process-row>b{color:var(--green);font-size:11px;font-weight:800}.process-row h3{margin:0 0 7px;font-size:20px}.process-row p{margin:0;color:var(--muted)}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quote-grid blockquote,.testimonial-card{margin:0;padding:30px;background:#f2f4ef;min-height:300px;display:flex;flex-direction:column;justify-content:space-between}.quote-grid blockquote:before{content:'“';font-family:Georgia,serif;font-size:64px;color:var(--yellow);line-height:.5}.quote-grid p{font-size:14px}.quote-grid cite{font-style:normal;font-weight:800;color:var(--green)}.value-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.value-grid>div{padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.value-grid span{font-size:10px;color:var(--green);font-weight:800}.value-grid h3{font-family:Georgia,serif;font-size:22px;margin:12px 0}.team-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.team-detail-grid article{padding:35px;background:var(--soft)}.person-initial{width:58px;height:58px;border-radius:50%;background:#fff;color:var(--green);display:grid;place-items:center;font-family:Georgia,serif;font-size:27px;margin-bottom:18px}.team-detail-grid article>span,.team-list article>span{font-size:9px;color:var(--green);letter-spacing:.14em;font-weight:800}.team-detail-grid h2{font-size:43px;margin:8px 0 14px}.team-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.team-list article{padding:25px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.team-list article h3{font-family:Georgia,serif;font-size:27px;margin:8px 0}.team-list article p{font-size:13px;color:var(--muted)}.blog-grid,.blog-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.blog-grid>a,.blog-list>a{min-height:270px;padding:27px;background:#fff;border:1px solid var(--line);display:flex;align-items:end;transition:.2s}.blog-grid>a:hover,.blog-list>a:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.blog-grid small,.blog-list small{font-size:9px;color:var(--green);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.blog-grid h3,.blog-list h3{font-family:Georgia,serif;font-size:27px;line-height:1.1;margin:8px 0}.final-cta{background:#f0f4ef;padding:125px 0}.final-cta h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(50px,7vw,95px);line-height:.95;margin:15px 0 25px}.final-cta h2 em{color:var(--green);font-style:normal}.site-footer{background:#17211c;color:#d2d9d4;padding:60px 0 18px}.footer-top{width:min(var(--max),calc(100% - 64px));margin:auto;display:grid;grid-template-columns:1.35fr 1fr 1fr 1.3fr;gap:45px}.footer-logo{width:140px;margin-bottom:13px}.site-footer h4{color:#fff;margin:0 0 12px}.site-footer a,.site-footer span,.site-footer p{font-size:12px;color:#aeb9b2;display:block;margin:7px 0}.footer-bottom{width:min(var(--max),calc(100% - 64px));margin:40px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;font-size:10px;color:#87938b}
.page-hero{padding:145px 0 95px;background:var(--soft)}.page-hero.dark{background:var(--forest);color:#fff}.page-hero h1{font-family:Georgia,serif;font-size:clamp(50px,7vw,95px);line-height:.95;font-weight:500;margin:15px 0 20px}.page-hero p{max-width:650px;color:var(--muted);font-size:18px}.page-hero.dark p{color:#d3ddd7}.project-hero{height:70vh;min-height:520px;position:relative;color:#fff;overflow:hidden}.project-hero img{width:100%;height:100%;object-fit:cover}.project-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,20,14,.7),rgba(9,20,14,.12) 70%)}.project-hero-copy{position:absolute;left:50%;bottom:65px;transform:translateX(-50%)}.project-hero h1{font-family:Georgia,serif;font-size:clamp(50px,7vw,92px);line-height:.95;margin:10px 0}.project-detail{display:grid;grid-template-columns:1.4fr .6fr;gap:80px}.project-side{border-left:1px solid var(--line);padding-left:28px;display:grid;align-content:start;gap:5px}.project-side span{font-size:9px;color:var(--green);font-weight:800;letter-spacing:.14em;margin-top:12px}.project-side strong{font-size:15px}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px}.contact-card{background:var(--soft);padding:30px}.contact-card strong{display:block;margin-top:3px}.project-form{background:#fff;border:1px solid var(--line);padding:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.project-form label{display:block;font-size:11px;font-weight:800;margin:0 0 6px}.project-form input,.project-form select,.project-form textarea{width:100%;border:1px solid #ccd5ce;border-radius:6px;padding:12px;background:#fff;outline:none}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:var(--green)}.project-form textarea{min-height:140px;resize:vertical}.project-form .full{grid-column:1/-1}.radio{display:flex;gap:14px;flex-wrap:wrap}.radio label{font-weight:500}.form-message{margin-top:15px;color:var(--green);font-weight:700}.article-hero{padding:145px 0 70px;background:var(--cream)}.article-hero h1{font-family:Georgia,serif;font-size:clamp(44px,6vw,80px);line-height:1;margin:15px 0;max-width:900px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:70px}.article-body{font-size:17px}.article-body h2{font-family:Georgia,serif;font-size:35px;margin-top:45px}.article-body p{color:#4f5b54}.article-side{position:sticky;top:100px;align-self:start;padding:22px;background:var(--soft)}.article-lead{font-size:20px;color:#445149}.testimonial-masonry{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.testimonial-card{min-height:260px}.testimonial-card .stars{color:var(--yellow);letter-spacing:3px}
@media(max-width:1050px){.site-header{top:8px}.nav-shell{width:min(var(--max),calc(100% - 28px))}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:rgba(249,248,244,.96);border:1px solid rgba(255,255,255,.8);padding:10px;box-shadow:0 18px 50px rgba(24,42,31,.12);border-radius:16px;flex-direction:column;align-items:stretch;backdrop-filter:blur(18px)}.nav-links.open{display:flex}.nav-links>a{padding:11px 13px}.menu-toggle{display:block}.service-grid,.project-grid,.blog-grid,.blog-list{grid-template-columns:1fr 1fr}.difference-grid{grid-template-columns:repeat(2,1fr)}.value-grid{grid-template-columns:repeat(2,1fr)}.process-layout,.contact-layout,.project-detail,.article-layout{grid-template-columns:1fr}.process-intro,.article-side{position:static}.footer-top{grid-template-columns:1fr 1fr}.journey-copy{width:54%}.journey-copy h1{font-size:clamp(45px,6vw,72px)}}
@media(max-width:700px){.wrap,.nav-shell,.footer-top,.footer-bottom{width:calc(100% - 28px)}.site-header{height:62px;top:7px}.nav-shell{padding:0 10px;border-radius:15px}.brand,.brand img{width:96px;height:42px}.menu-toggle{font-size:11px;padding:8px}.nav-links{top:69px}.cinematic{height:600vh}.cinematic-sticky{height:100svh;min-height:560px}.journey-overlay{background:linear-gradient(180deg,rgba(248,248,243,.92) 0%,rgba(248,248,243,.72) 27%,rgba(248,248,243,.16) 58%,rgba(13,28,20,.18) 100%)}.journey-copy{left:14px;right:14px;width:auto;top:50%;transform:translateY(-50%);padding-bottom:45px}.journey-copy .step{font-size:9px}.journey-copy h1{font-size:clamp(38px,11.2vw,53px);line-height:.99;margin:10px 0 13px;max-width:470px}.journey-copy p{font-size:13.5px;line-height:1.48;max-width:430px}.journey-copy .actions{gap:8px;margin-top:17px}.button{padding:11px 14px;font-size:10.5px}.journey-marker{right:14px;top:82px;font-size:8px;gap:7px}.photo-credit{display:none}.journey-progress{left:14px;bottom:15px;gap:5px}.journey-progress i{width:12px}.journey-progress span{font-size:8px}.cinematic-scroll-cue{right:14px;bottom:14px;font-size:7px}.cinematic-scroll-cue b{font-size:13px}.section{padding:80px 0}.split,.team-detail-grid,.footer-top,.testimonial-masonry,.form-row{grid-template-columns:1fr}.section-head{display:block}.service-grid,.project-grid,.blog-grid,.blog-list,.difference-grid,.value-grid,.team-list{grid-template-columns:1fr}.service-card{border-right:0;min-height:330px}.service-card h3{margin-top:55px}.project{height:390px}.project-hero{height:58vh;min-height:440px}.project-hero-copy{width:calc(100% - 28px);bottom:35px}.page-hero{padding:115px 0 70px}.page-hero h1{font-size:50px}.article-hero{padding:115px 0 60px}}
@media(max-width:420px){.journey-copy h1{font-size:39px}.journey-copy p{font-size:13px}.journey-copy .actions{display:grid;grid-template-columns:1fr 1fr}.button{width:100%;padding:10px 9px}.brand,.brand img{width:88px}.journey-copy{padding-bottom:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-frame{transition:none}.project img,.button{transition:none}}

/* =========================================================
   GREEN-SHORE PREMIUM UI SYSTEM v2
   Responsive / glass / depth / motion / accessibility layer
   ========================================================= */
:root{
  --green:#00853e;
  --green-2:#00a451;
  --forest:#102d20;
  --forest-2:#173f2d;
  --ink:#132019;
  --muted:#64716a;
  --cream:#f4f2ea;
  --paper:#fbfcfa;
  --line:rgba(25,54,39,.13);
  --glass:rgba(247,250,247,.56);
  --glass-dark:rgba(12,28,20,.54);
  --shadow-soft:0 20px 60px rgba(14,35,24,.10);
  --shadow-deep:0 30px 90px rgba(10,28,19,.18);
  --radius:22px;
}

/* Global polish */
html{scroll-padding-top:92px}
body{
  background:
    radial-gradient(circle at 10% 10%,rgba(0,133,62,.035),transparent 24rem),
    var(--paper);
  text-rendering:optimizeLegibility;
}
::selection{background:rgba(0,133,62,.18);color:var(--ink)}
:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.wrap{max-width:1320px}

/* --- Crystal / mirror navigation --- */
.site-header{
  top:14px;
  height:70px;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s ease;
}
.site-header.scrolled{top:10px}
.nav-shell{
  position:relative;
  overflow:hidden;
  min-height:64px;
  padding:0 12px 0 18px;
  border:1px solid rgba(255,255,255,.68);
  border-top-color:rgba(255,255,255,.92);
  border-radius:20px;
  background:
    linear-gradient(120deg,rgba(255,255,255,.66),rgba(255,255,255,.27) 42%,rgba(230,244,235,.38));
  box-shadow:
    0 16px 45px rgba(12,33,22,.11),
    inset 0 1px 0 rgba(255,255,255,.9),
    inset 0 -1px 0 rgba(0,65,35,.07);
  backdrop-filter:blur(24px) saturate(1.35);
  -webkit-backdrop-filter:blur(24px) saturate(1.35);
}
.nav-shell:before{
  content:"";
  position:absolute;
  inset:-70% 25% 25% -10%;
  background:linear-gradient(115deg,rgba(255,255,255,.52),transparent 48%);
  transform:rotate(-6deg);
  pointer-events:none;
}
.nav-shell:after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);
  pointer-events:none;
}
.brand,.nav-links,.menu-toggle{position:relative;z-index:2}
.brand{width:128px;height:54px}
.brand img{width:128px;height:48px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.06))}
.nav-links{gap:3px}
.nav-links>a{
  position:relative;
  overflow:hidden;
  padding:9px 12px;
  color:#203128;
  transition:color .25s ease,background .25s ease,transform .25s ease;
}
.nav-links>a:before{
  content:"";
  position:absolute;
  left:12px;right:12px;bottom:5px;
  height:1px;
  background:var(--green);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .3s ease;
}
.nav-links>a:hover{background:rgba(255,255,255,.42);transform:translateY(-1px)}
.nav-links>a:hover:before{transform:scaleX(1)}
.nav-links .nav-cta{
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 8px 24px rgba(0,133,62,.18),inset 0 1px 0 rgba(255,255,255,.18);
  background:linear-gradient(135deg,#008d45,#006f36);
}
.nav-links .nav-cta:before{display:none}

/* --- Buttons --- */
.button{
  position:relative;
  overflow:hidden;
  min-height:44px;
  box-shadow:0 8px 22px rgba(15,38,25,.08);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,background .35s ease;
}
.button:after{
  content:"";
  position:absolute;
  top:-120%;left:-35%;
  width:28%;height:340%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);
  transform:rotate(18deg);
  transition:left .7s ease;
}
.button:hover:after{left:120%}
.button:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(15,38,25,.16)}
.button-green{background:linear-gradient(135deg,#008f45,#007437)}
.button-dark{background:linear-gradient(135deg,#18241d,#0d1712)}

/* --- Section rhythm + subtle architectural grid --- */
.section{position:relative;overflow:hidden}
.section>.wrap{position:relative;z-index:1}
.section:not(.difference):not(.cream):not(.final-cta):after{
  content:"";
  position:absolute;
  right:-9rem;
  top:12%;
  width:22rem;height:22rem;
  border:1px solid rgba(0,133,62,.045);
  border-radius:50%;
  transform:rotate(18deg);
  pointer-events:none;
}
.section h2{letter-spacing:-.025em}
.eyebrow{letter-spacing:.2em}

/* --- Cinematic hero: eliminate viewport gaps and add depth --- */
.cinematic{
  height:640vh;
  min-height:100svh;
  background:#dfe8e1;
}
.cinematic-sticky{
  height:100dvh;
  min-height:600px;
  isolation:isolate;
}
.photo-stage{
  inset:0;
  background:#cfdad1;
}
.photo-frame{inset:-2%;overflow:hidden}
.photo-frame img{
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  object-fit:cover;
}
.photo-stage:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 75% 30%,rgba(255,255,255,.12),transparent 26%),
    linear-gradient(180deg,rgba(0,0,0,.04),transparent 35%,rgba(7,22,14,.18));
  pointer-events:none;
}
.journey-overlay{
  background:
    linear-gradient(90deg,rgba(248,248,243,.985) 0%,rgba(248,248,243,.91) 24%,rgba(248,248,243,.48) 49%,rgba(248,248,243,.06) 77%),
    linear-gradient(0deg,rgba(5,20,12,.2),transparent 50%);
}
.journey-copy{
  width:min(580px,46vw);
  filter:drop-shadow(0 12px 24px rgba(255,255,255,.18));
}
.journey-copy h1{
  font-size:clamp(48px,6vw,90px);
  letter-spacing:-.035em;
}
.journey-copy h1 em{background:linear-gradient(90deg,#00853e,#00a451);-webkit-background-clip:text;background-clip:text;color:transparent}
.journey-marker,.photo-credit,.cinematic-scroll-cue{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.journey-marker{
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  background:rgba(255,255,255,.38);
}
.photo-credit{box-shadow:0 8px 25px rgba(0,0,0,.06)}
.journey-progress{
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:999px;
  background:rgba(255,255,255,.32);
  backdrop-filter:blur(10px);
}

/* --- 3D service cards --- */
.service-grid{gap:1px;border:0;background:var(--line);border-radius:var(--radius);overflow:visible}
.service-card{
  min-height:410px;
  border:0!important;
  border-radius:0;
  transform-style:preserve-3d;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,background .3s ease;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
}
.service-card:first-child{border-radius:var(--radius) 0 0 var(--radius)}
.service-card:last-child{border-radius:0 var(--radius) var(--radius) 0}
.service-card:before{
  content:"";
  position:absolute;
  width:150px;height:150px;
  right:-60px;top:-60px;
  border-radius:50%;
  border:1px solid rgba(0,133,62,.10);
  box-shadow:inset 0 0 0 18px rgba(0,133,62,.018);
  transition:transform .5s ease;
}
.service-card:after{
  content:"";
  position:absolute;
  width:90px;height:90px;
  right:24px;top:25px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.7);
  transform:rotate(22deg);
  opacity:.5;
}
.service-card:hover{
  z-index:2;
  transform:translateY(-10px) perspective(900px) rotateX(1.5deg) rotateY(-1.5deg);
  box-shadow:var(--shadow-deep);
}
.service-card:hover:before{transform:scale(1.15) rotate(20deg)}
.service-card h3{position:relative;z-index:1;font-size:clamp(38px,4vw,52px)}
.service-card p,.service-card>a{position:relative;z-index:1}

/* --- Project cards / masonry feel --- */
.project-grid{gap:18px}
.project{
  border-radius:18px;
  box-shadow:0 8px 30px rgba(15,32,23,.07);
  transform:translateZ(0);
  transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease;
}
.project:before{
  content:"";
  position:absolute;
  inset:12px;
  z-index:2;
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
}
.project:hover{
  transform:translateY(-8px) rotateX(1deg);
  box-shadow:0 28px 60px rgba(13,33,22,.2);
}
.project:hover:before{opacity:1}
.project img{transition:transform 1s cubic-bezier(.2,.8,.2,1),filter 1s ease}
.project:hover img{transform:scale(1.08);filter:saturate(1.04)}
.project>div{transition:transform .45s ease}
.project:hover>div{transform:translateY(-5px)}

/* --- Difference / process depth --- */
.difference{background:linear-gradient(135deg,#102d20,#174b35 58%,#0d261a)}
.difference-grid{gap:14px}
.difference-grid article{
  position:relative;
  min-height:220px;
  padding:22px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .4s ease,background .4s ease,box-shadow .4s ease;
}
.difference-grid article:hover{
  transform:translateY(-7px);
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));
  box-shadow:0 18px 45px rgba(0,0,0,.16);
}
.process-row{
  position:relative;
  transition:padding .35s ease,background .35s ease;
  border-radius:14px;
  padding-left:10px;padding-right:10px;
}
.process-row:hover{
  background:rgba(255,255,255,.72);
  padding-left:18px;
  box-shadow:0 12px 30px rgba(15,35,24,.05);
}
.process-row>b,.process-num{
  position:relative;
}
.process-row>b:before,.process-num:before{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:32px;height:32px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(0,133,62,.18);
  border-radius:50%;
}

/* --- Generic content cards used by sub-pages --- */
.benefit-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:38px;
}
.benefit-grid article{
  position:relative;
  min-height:155px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(145deg,#fff,#f3f7f2);
  overflow:hidden;
  transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease;
}
.benefit-grid article:after{
  content:"";
  position:absolute;
  right:-25px;bottom:-35px;
  width:100px;height:100px;
  border-radius:50%;
  border:1px solid rgba(0,133,62,.1);
}
.benefit-grid article:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);border-color:rgba(0,133,62,.22)}
.benefit-grid article>span{color:var(--green);font-size:10px;font-weight:800;letter-spacing:.14em}
.benefit-grid h3{font-family:Georgia,serif;font-size:25px;margin:28px 0 0;position:relative;z-index:1}

.project-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:36px;
}
.project-feature-grid.small{grid-template-columns:repeat(3,1fr)}
.project-tile{
  position:relative;
  min-height:390px;
  overflow:hidden;
  border-radius:20px;
  background:#183227;
  color:#fff;
  box-shadow:0 12px 35px rgba(16,37,26,.09);
  transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s ease;
}
.project-tile:nth-child(3n+2){transform:translateY(18px)}
.project-tile:hover{transform:translateY(-7px) scale(1.008);box-shadow:0 28px 65px rgba(16,37,26,.2)}
.project-tile:nth-child(3n+2):hover{transform:translateY(11px) scale(1.008)}
.project-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s ease,filter 1s ease}
.project-tile:hover img{transform:scale(1.08);filter:saturate(1.05)}
.tile-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,15,10,.02) 25%,rgba(4,14,9,.84) 100%)}
.tile-copy{position:absolute;z-index:2;left:25px;right:25px;bottom:23px}
.tile-copy span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#cce3d3;font-weight:800}
.tile-copy h3{font-family:Georgia,serif;font-size:31px;line-height:1;margin:7px 0 12px}
.tile-copy b{font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.project-feature-grid.full .project-tile:nth-child(3n+2){transform:none}
.project-feature-grid.full .project-tile:nth-child(3n+2):hover{transform:translateY(-7px) scale(1.008)}

/* --- Filters --- */
.filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 35px;
  padding:7px;
  width:max-content;
  max-width:100%;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(240,245,241,.7);
  backdrop-filter:blur(12px);
}
.filter{
  border:0;
  border-radius:999px;
  padding:10px 15px;
  background:transparent;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  transition:.3s ease;
}
.filter:hover{color:var(--green);background:#fff}
.filter.active{color:#fff;background:var(--forest);box-shadow:0 7px 18px rgba(16,45,32,.16)}
.project-tile.is-hidden{display:none}

/* --- Project detail pages --- */
.project-hero{
  height:min(78vh,820px);
  min-height:580px;
}
.project-hero:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(5,18,11,.06),transparent 40%,rgba(5,18,11,.28));
}
.project-hero-copy{z-index:3}
.project-hero h1{letter-spacing:-.03em;text-shadow:0 12px 35px rgba(0,0,0,.2)}
.project-detail{
  align-items:start;
}
.project-side{
  position:sticky;
  top:105px;
  padding:24px;
  border:1px solid var(--line);
  border-left:0;
  border-radius:18px;
  background:linear-gradient(145deg,#f4f8f4,#edf2ed);
  box-shadow:var(--shadow-soft);
}
.project-side:before{
  content:"PROJECT SNAPSHOT";
  display:block;
  color:var(--green);
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
  margin-bottom:10px;
}

/* --- Page heroes --- */
.page-hero{
  position:relative;
  overflow:hidden;
  min-height:470px;
  display:flex;
  align-items:flex-end;
}
.page-hero:after{
  content:"";
  position:absolute;
  right:-5rem;bottom:-8rem;
  width:25rem;height:25rem;
  border-radius:50%;
  border:1px solid rgba(0,133,62,.09);
  box-shadow:0 0 0 35px rgba(0,133,62,.025),0 0 0 70px rgba(0,133,62,.015);
  pointer-events:none;
}
.page-hero.dark:after{border-color:rgba(255,255,255,.09);box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.012)}
.page-hero>.wrap{position:relative;z-index:1}

/* --- Forms --- */
.contact-card,.project-form{
  border-radius:22px;
  box-shadow:var(--shadow-soft);
}
.contact-card{
  border:1px solid rgba(0,133,62,.08);
  background:linear-gradient(145deg,#eef5ef,#f8faf7);
}
.project-form{
  border:1px solid var(--line);
}
.project-form input,.project-form select,.project-form textarea{
  min-height:46px;
  border-radius:10px;
  background:#fbfdfb;
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}
.project-form input:focus,.project-form select:focus,.project-form textarea:focus{
  border-color:rgba(0,133,62,.55);
  box-shadow:0 0 0 4px rgba(0,133,62,.08);
}

/* --- Blog / testimonials --- */
.blog-grid>a,.blog-list>a,.testimonial-card{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 8px 28px rgba(14,34,23,.04);
  transition:transform .45s ease,box-shadow .45s ease,border-color .45s ease;
}
.blog-grid>a:before,.blog-list>a:before,.testimonial-card:before{
  content:"";
  position:absolute;
  width:120px;height:120px;
  right:-55px;top:-55px;
  border:1px solid rgba(0,133,62,.09);
  border-radius:50%;
}
.blog-grid>a:hover,.blog-list>a:hover,.testimonial-card:hover{
  transform:translateY(-7px);
  box-shadow:var(--shadow-soft);
  border-color:rgba(0,133,62,.18);
}
.testimonial-card .stars{font-size:14px}

/* --- CTA / footer --- */
.final-cta{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 35%,rgba(0,133,62,.10),transparent 20rem),
    linear-gradient(135deg,#eef4ee,#f7f6f0);
}
.final-cta:before{
  content:"";
  position:absolute;
  width:420px;height:420px;
  right:-130px;top:-150px;
  border-radius:50%;
  border:1px solid rgba(0,133,62,.09);
  box-shadow:0 0 0 45px rgba(0,133,62,.025),0 0 0 90px rgba(0,133,62,.015);
}
.cta-content{position:relative;z-index:1}
.site-footer{
  position:relative;
  background:linear-gradient(135deg,#0e1b14,#18251e);
}
.site-footer:before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
}
.footer-top{position:relative;z-index:1}
.site-footer a{transition:color .25s ease,transform .25s ease}
.site-footer a:hover{color:#fff;transform:translateX(3px)}

/* --- Scroll reveal --- */
.reveal-ready{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}
.reveal-ready.visible{opacity:1;transform:none}
.service-card.reveal-ready:nth-child(2),.project.reveal-ready:nth-child(2){transition-delay:.08s}
.service-card.reveal-ready:nth-child(3),.project.reveal-ready:nth-child(3){transition-delay:.16s}

/* --- Responsive: tablet --- */
@media (max-width:1100px){
  .nav-shell{width:min(100% - 28px,1320px)}
  .nav-links{gap:0}
  .nav-links>a{padding:9px 9px;font-size:11px}
  .project-feature-grid,.project-feature-grid.small{grid-template-columns:repeat(2,1fr)}
  .benefit-grid{grid-template-columns:repeat(2,1fr)}
  .project-tile:nth-child(3n+2){transform:none}
  .project-tile:hover,.project-tile:nth-child(3n+2):hover{transform:translateY(-7px) scale(1.008)}
}
@media (max-width:1050px){
  .site-header{top:8px}
  .nav-shell{min-height:60px}
  .nav-links{
    top:68px;
    padding:10px;
    border-radius:20px;
    background:rgba(241,247,243,.72);
    border:1px solid rgba(255,255,255,.82);
    box-shadow:0 25px 70px rgba(12,34,22,.17);
    backdrop-filter:blur(28px) saturate(1.4);
    -webkit-backdrop-filter:blur(28px) saturate(1.4);
  }
  .nav-links>a{padding:13px 14px}
  .nav-links .nav-cta{margin:5px 0 0}
}
@media (max-width:760px){
  html{scroll-padding-top:78px}
  .site-header{top:7px;height:60px}
  .nav-shell{
    width:calc(100% - 20px);
    min-height:58px;
    border-radius:17px;
    padding:0 9px 0 13px;
  }
  .brand,.brand img{width:100px}
  .brand{height:48px}
  .brand img{height:43px}
  .menu-toggle{
    display:flex;
    align-items:center;
    gap:7px;
    min-height:40px;
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.7);
    border-radius:999px;
    background:rgba(255,255,255,.3);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
  }
  .nav-links{
    left:0;right:0;top:65px;
    display:none;
    flex-direction:column;
    align-items:stretch;
  }
  .nav-links.open{display:flex;animation:menuIn .35s ease both}
  .nav-links>a{font-size:12px;padding:13px 14px}
  @keyframes menuIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
  .cinematic{height:600vh;min-height:100svh}
  .cinematic-sticky{height:100dvh;min-height:560px}
  .photo-frame{inset:0}
  .journey-overlay{
    background:
      linear-gradient(180deg,rgba(248,248,243,.82) 0%,rgba(248,248,243,.72) 24%,rgba(248,248,243,.18) 58%,rgba(8,24,15,.34) 100%);
  }
  .journey-copy{
    left:14px;right:14px;width:auto;top:auto;bottom:13%;
    transform:none;padding:0;
  }
  .journey-copy h1{font-size:clamp(39px,10.8vw,58px);max-width:620px}
  .journey-copy p{max-width:520px;font-size:14px}
  .journey-marker{right:14px;top:77px}
  .journey-progress{left:14px;bottom:15px}
  .cinematic-scroll-cue{right:14px;bottom:15px}
  .section{padding:78px 0}
  .section h2{font-size:clamp(38px,11vw,58px)}
  .split,.process-layout,.contact-layout,.project-detail,.article-layout,.team-detail-grid,.footer-top,.testimonial-masonry{grid-template-columns:1fr}
  .section-head{display:block}
  .section-head p{margin-top:18px}
  .service-grid,.project-grid,.blog-grid,.blog-list,.difference-grid,.value-grid,.team-list,.project-feature-grid,.project-feature-grid.small,.benefit-grid{grid-template-columns:1fr}
  .service-card{min-height:340px;border-radius:0!important}
  .service-card:first-child{border-radius:20px 20px 0 0!important}
  .service-card:last-child{border-radius:0 0 20px 20px!important}
  .project{height:390px}
  .difference-grid article{min-height:0}
  .process-intro,.article-side,.project-side{position:static}
  .project-side{border-left:0}
  .project-feature-grid{gap:14px}
  .project-tile,.project-feature-grid.small .project-tile{min-height:360px}
  .project-tile:nth-child(n){transform:none!important}
  .page-hero{min-height:410px;padding:125px 0 68px}
  .page-hero h1{font-size:clamp(48px,13vw,65px)}
  .project-hero{height:70svh;min-height:450px}
  .project-hero-copy{width:calc(100% - 28px);left:14px;transform:none;bottom:32px}
  .project-hero h1{font-size:clamp(48px,13vw,68px)}
  .article-hero{padding:125px 0 60px}
  .article-hero h1{font-size:clamp(42px,11vw,58px)}
  .form-row{grid-template-columns:1fr}
  .form-row .full{grid-column:auto}
  .filters{width:100%;border-radius:16px}
  .filter{flex:1 1 auto}
  .footer-bottom{flex-direction:column;gap:8px}
}
@media (max-width:430px){
  .brand,.brand img{width:88px}
  .journey-copy{bottom:12%}
  .journey-copy h1{font-size:38px}
  .journey-copy p{font-size:13px}
  .journey-copy .actions{display:grid;grid-template-columns:1fr 1fr}
  .journey-copy .button{width:100%;padding:10px 8px}
  .journey-marker strong{display:none}
  .cinematic-scroll-cue{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal-ready{opacity:1;transform:none}
}

@media(max-width:760px){body.menu-open{overflow:hidden}.nav-links{max-height:calc(100dvh - 82px);overflow:auto}}



/* =========================================================
   MOBILE HERO FINAL — viewport-safe full bleed
   Prevent the sticky hero from collapsing to a partial-height
   containing block on mobile browsers.
   ========================================================= */
@media (max-width: 760px){
  .cinematic{
    position:relative !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:600vh !important;
    min-height:100vh !important;
    min-height:100svh !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
  }

  .cinematic-sticky{
    position:sticky !important;
    top:0 !important;
    width:100% !important;
    height:100vh !important;
    height:100svh !important;
    height:100dvh !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#d8e0d9 !important;
  }

  .photo-stage{
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    overflow:hidden !important;
    background:#d8e0d9 !important;
  }

  .photo-frame{
    position:absolute !important;
    top:-2px !important;
    right:-2px !important;
    bottom:-2px !important;
    left:-2px !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .photo-frame img{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:scale(1.035) !important;
  }

  .photo-stage:after,
  .journey-overlay{
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    pointer-events:none !important;
  }

  .journey-content{
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    min-height:100% !important;
    margin:0 !important;
  }
}

/* --- Mobile menu reliability patch --- */
@media (max-width:760px){
  .site-header{
    z-index:10000 !important;
    pointer-events:auto !important;
  }
  .nav-shell{
    position:relative !important;
    z-index:10001 !important;
  }
  .menu-toggle{
    position:relative !important;
    z-index:10003 !important;
    cursor:pointer !important;
    pointer-events:auto !important;
  }
  .nav-links{
    position:fixed !important;
    z-index:10002 !important;
    top:76px !important;
    left:10px !important;
    right:10px !important;
    width:auto !important;
    max-height:calc(100dvh - 90px) !important;
    margin:0 !important;
    padding:10px !important;
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:3px !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    pointer-events:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(-8px) scale(.985) !important;
    transform-origin:top center !important;
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease !important;
  }
  .nav-links.open{
    display:flex !important;
    pointer-events:auto !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }
  .nav-links>a{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-height:48px !important;
    width:100% !important;
    box-sizing:border-box !important;
    border-radius:12px !important;
    padding:13px 14px !important;
    pointer-events:auto !important;
  }
  .nav-links>a:hover,.nav-links>a:focus-visible{
    background:rgba(0,133,62,.09) !important;
  }
  .nav-links .nav-cta{
    justify-content:center !important;
    margin:5px 0 0 !important;
  }
  body.menu-open{
    overflow:hidden !important;
    touch-action:none !important;
  }
}

/* =========================================================
   FINAL MOBILE NAV + MOTION REPAIR
   The glass nav shell uses overflow clipping for its reflection;
   on touch screens the dropdown must escape that clipping context.
   ========================================================= */
@media (max-width:760px){
  .nav-shell{
    overflow:visible !important;
  }
  .site-header,
  .nav-shell,
  .menu-toggle{
    pointer-events:auto !important;
  }
  .nav-links{
    position:fixed !important;
    top:76px !important;
    left:10px !important;
    right:10px !important;
    width:auto !important;
    max-height:calc(100dvh - 92px) !important;
    display:flex !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    transform:translate3d(0,-14px,0) scale(.985) !important;
    transform-origin:top center !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    background:rgba(241,247,243,.88) !important;
    backdrop-filter:blur(30px) saturate(1.5) !important;
    -webkit-backdrop-filter:blur(30px) saturate(1.5) !important;
    border:1px solid rgba(255,255,255,.9) !important;
    box-shadow:0 28px 80px rgba(10,30,19,.22), inset 0 1px 0 rgba(255,255,255,.85) !important;
    transition:opacity .28s ease,transform .35s cubic-bezier(.2,.8,.2,1),visibility .28s ease !important;
  }
  .nav-links.open{
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transform:translate3d(0,0,0) scale(1) !important;
  }
  .nav-links>a{
    position:relative !important;
    z-index:1 !important;
    flex:0 0 auto !important;
    min-height:50px !important;
    touch-action:manipulation !important;
    -webkit-tap-highlight-color:transparent !important;
  }
  .menu-toggle{
    touch-action:manipulation !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  /* Restore visible scroll motion on touch screens. */
  .reveal-ready{
    opacity:0 !important;
    transform:translate3d(0,32px,0) !important;
    transition:opacity .7s ease,transform .75s cubic-bezier(.2,.8,.2,1) !important;
    will-change:opacity,transform !important;
  }
  .reveal-ready.visible{
    opacity:1 !important;
    transform:none !important;
  }
  .service-card.reveal-ready:nth-child(2),
  .project.reveal-ready:nth-child(2){transition-delay:.08s !important}
  .service-card.reveal-ready:nth-child(3),
  .project.reveal-ready:nth-child(3){transition-delay:.16s !important}

  /* Touch-friendly component lift while scrolling into view. */
  .service-card,.project,.project-tile,.testimonial-card,.blog-grid>a,.blog-list>a{
    will-change:transform,opacity;
  }
}
