:root{--ink:#17201d;--muted:#66716d;--cream:#f7f7f2;--paper:#fff;--line:#dfe4de;--green:#174d3c;--lime:#c9f26a;--soft:#eaf0e9;--orange:#e68a54;--shadow:0 24px 70px rgba(25,40,34,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.site-shell{overflow:hidden}.announcement{height:36px;background:var(--green);color:#eaf5ed;text-align:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:12px}.announcement span{color:var(--lime)}.header{height:82px;padding:0 max(5vw,28px);display:flex;align-items:center;justify-content:space-between;background:rgba(247,247,242,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,32,29,.07);position:sticky;top:0;z-index:20}.logo{display:flex;align-items:center;gap:11px}.logo span{width:36px;height:36px;background:var(--ink);color:#fff;display:grid;place-items:center;border-radius:11px;font:800 12px Manrope}.logo strong{font:700 15px Manrope}.nav{display:flex;align-items:center;gap:34px;font-size:14px}.nav>a{color:#59635f;transition:.2s}.nav>a:hover,.nav>a.active{color:var(--ink)}.nav-cta{background:var(--ink)!important;color:#fff!important;padding:11px 17px;border-radius:9px}.nav-cta span{margin-left:8px}.menu-toggle{display:none;border:0;background:none}.section{padding:78px max(5vw,28px);max-width:1440px;margin:auto}.section-sm{padding:34px max(5vw,28px)}.hero{min-height:610px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:35px;padding:58px max(5vw,28px) 52px;max-width:1500px}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#68736f;font-weight:700}.status-dot{display:inline-block;width:8px;height:8px;background:#65ad72;border-radius:50%;margin-right:8px;box-shadow:0 0 0 5px rgba(101,173,114,.12)}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.05;margin:0}h1{font-size:clamp(56px,7vw,94px);letter-spacing:-.055em;margin-top:22px}em{font-style:normal;color:var(--green)}.hero-text{font-size:19px;line-height:1.62;color:var(--muted);max-width:590px;margin:24px 0 26px}.hero-actions{display:flex;align-items:center;gap:27px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 21px;border-radius:10px;font-weight:700;font-size:14px;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(20,50,40,.12)}.btn-primary{background:var(--green);color:#fff}.text-link{font-weight:700;font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:3px}.hero-meta{display:flex;gap:44px;margin-top:42px}.hero-meta div{display:flex;flex-direction:column}.hero-meta strong{font:800 21px Manrope}.hero-meta span{font-size:11px;color:var(--muted);margin-top:4px}.hero-visual{height:510px;position:relative;display:grid;place-items:center;perspective:1100px}.browser-card{width:min(520px,92%);height:390px;background:#fff;border-radius:18px;box-shadow:var(--shadow);transform:rotate(2.5deg);overflow:hidden;position:relative;z-index:2;border:1px solid #e9ede7}.browser-top{height:40px;background:#eef1ec;display:flex;align-items:center;gap:6px;padding:0 14px}.browser-top>span{width:7px;height:7px;border-radius:50%;background:#b9c1bc}.browser-top small{margin-left:auto;color:#9ba39f;font-size:9px}.browser-body{padding:23px 27px;background:#f9faf7;height:calc(100% - 40px)}.mock-nav{display:flex;align-items:center;gap:17px}.mock-nav b{color:var(--green);font:800 16px Manrope;margin-right:auto}.mock-nav i{width:27px;height:3px;background:#dce1db;border-radius:5px}.mock-content{margin-top:58px}.mini-label{font-size:8px;letter-spacing:.18em;color:#9aa39e}.mock-content h3{font-size:42px;letter-spacing:-.05em;margin-top:12px}.mock-content h3 span{color:var(--green)}.mock-line{width:120px;height:8px;background:var(--lime);margin-top:25px;border-radius:5px}.mock-grid{display:flex;gap:9px;margin-top:45px}.mock-grid div{height:44px;background:#e7ece6;flex:1;border-radius:6px}.float-card{position:absolute;background:#fff;border:1px solid #e2e7e1;border-radius:13px;box-shadow:0 15px 45px rgba(25,40,34,.12);z-index:3}.fc-one{left:-1%;top:17%;padding:15px 17px;display:flex;gap:10px;align-items:center;font-size:11px}.fc-one span{width:28px;height:28px;background:var(--lime);border-radius:50%;display:grid;place-items:center}.fc-two{right:0%;bottom:13%;padding:15px 18px;display:flex;flex-direction:column}.fc-two strong{font:800 21px Manrope;color:var(--green)}.fc-two small{font-size:9px;color:var(--muted)}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-a{width:250px;height:250px;background:#dff3bb;right:0;top:40px}.orb-b{width:100px;height:100px;background:#f5d4bd;left:3%;bottom:30px}.trusted{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trusted p{text-align:center;font-size:9px;letter-spacing:.18em;color:#929b96;margin:0 0 23px}.trusted div{display:flex;justify-content:center;flex-wrap:wrap;gap:60px;color:#79827e;font:800 12px Manrope;letter-spacing:.08em}.split-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;margin-top:18px;align-items:end}.split-heading h2{font-size:clamp(38px,4.4vw,62px);letter-spacing:-.05em}.split-heading p{color:var(--muted);max-width:420px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:42px}.service-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;min-height:315px;display:flex;flex-direction:column;transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-card.featured{background:var(--green);color:#fff;border-color:var(--green)}.service-card>span{font-size:10px;color:#9aa39e}.featured>span{color:#b5c7bf}.service-card .icon{font-size:28px;margin:30px 0 13px;color:var(--green)}.featured .icon{color:var(--lime)}.service-card h3{font-size:24px}.service-card p{color:var(--muted);font-size:14px;max-width:330px}.featured p{color:#c6d3ce}.service-card a{margin-top:auto;font-size:12px;font-weight:700}.section-kicker{display:flex;justify-content:space-between}.section-kicker a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.work-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin-top:28px}.project{display:block}.project-large{grid-row:span 2}.project-art{border-radius:16px;overflow:hidden;min-height:360px;position:relative}.project-large .project-art{min-height:590px}.art-one{background:#dce9dd}.art-two{background:#e9e3d5}.art-three{background:#f0cfae}.art-four{background:#d8d8cc}.art-five{background:#d9e6f0}.art-window{position:absolute;background:#fff;width:76%;height:78%;left:12%;top:13%;border-radius:12px;box-shadow:0 25px 60px rgba(30,45,38,.14);padding:25px}.art-nav{height:8px;width:55%;background:#e3e7e1;border-radius:4px}.art-hero{margin-top:65px}.art-hero small{font-size:8px;letter-spacing:.15em;color:#87908a}.art-hero b{display:block;font:800 45px Manrope;line-height:1.02;letter-spacing:-.06em;margin-top:12px}.art-hero i{display:block;width:90px;height:10px;background:var(--lime);margin-top:20px}.dashboard{position:absolute;inset:13%;background:#fff;border-radius:15px;padding:30px;box-shadow:0 25px 60px rgba(30,45,38,.12)}.dashboard small{font-size:9px;color:#929a95}.dashboard strong{display:block;font:800 38px Manrope;margin:20px 0}.bars{height:120px;display:flex;align-items:flex-end;gap:9px}.bars i{width:13%;background:#8fb19d;border-radius:5px 5px 0 0}.bars i:nth-child(1){height:40%}.bars i:nth-child(2){height:65%}.bars i:nth-child(3){height:52%}.bars i:nth-child(4){height:88%}.bars i:nth-child(5){height:72%}.bars i:nth-child(6){height:100%;background:var(--green)}.phone{position:absolute;width:48%;height:83%;left:26%;top:10%;border-radius:28px;background:#fbf8ef;padding:35px 25px;box-shadow:0 25px 50px rgba(70,45,20,.16);display:flex;flex-direction:column;justify-content:space-between}.phone b{font:800 32px Manrope;line-height:.95;letter-spacing:-.05em}.phone span{font-size:9px;letter-spacing:.12em}.real-estate{position:absolute;inset:0;padding:40px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,transparent 20%,rgba(20,30,25,.6))}.real-estate small{color:#fff;font-size:8px;letter-spacing:.16em}.real-estate b{color:#fff;font:800 34px Manrope;line-height:1;margin:10px 0 20px}.real-estate span{color:#fff;font-size:9px;letter-spacing:.12em}.phone-app{position:absolute;width:48%;height:88%;left:26%;top:6%;background:#fff;border-radius:22px;padding:30px;box-shadow:0 25px 55px rgba(30,50,70,.15)}.phone-app small{font-size:8px;color:#89949d}.phone-app strong{font:800 31px Manrope;line-height:1.02;display:block;margin:20px 0 50px}.app-row{height:52px;background:#e5edf2;border-radius:10px;margin-bottom:10px}.app-row.short{width:75%}.project-info{display:flex;justify-content:space-between;padding:18px 2px}.project-info h3{font-size:18px}.project-info p{font-size:11px;color:var(--muted);margin:4px 0}.project-info>span{font-size:22px}.cta-band{background:var(--green);color:#fff;padding:78px max(8vw,28px);display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band .eyebrow{color:#a8c0b5}.cta-band h2{font-size:clamp(40px,5vw,70px);letter-spacing:-.05em;margin-top:17px}.cta-band em{color:var(--lime)}.btn-light{background:var(--lime);color:var(--ink);white-space:nowrap}.footer{padding:55px max(6vw,28px);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.footer p{color:var(--muted);font-size:12px;margin:14px 0 0}.footer-links{display:flex;gap:25px;font-size:12px;font-weight:600}.footer small{grid-column:1/-1;color:#9aa29e;font-size:10px;border-top:1px solid var(--line);padding-top:22px}.page-hero{padding-top:78px;padding-bottom:48px}.page-hero h1{font-size:clamp(48px,6.3vw,84px);margin-top:20px}.page-hero>p{font-size:18px;color:var(--muted);max-width:600px;margin-top:28px}.about-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center;background:#fff;max-width:none}.about-photo{max-width:460px}.portrait-placeholder{aspect-ratio:4/5;border-radius:16px;background:linear-gradient(145deg,#dfe9dc,#bdcfc3);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.portrait-placeholder:before{content:"";position:absolute;width:260px;height:330px;background:#f7f5ed;border-radius:48% 48% 8% 8%;bottom:-60px;box-shadow:inset 0 0 0 1px #d9ded8}.portrait-placeholder>span{font:800 90px Manrope;color:var(--green);position:relative;z-index:2}.portrait-placeholder small{position:absolute;left:25px;top:25px;font-size:8px;letter-spacing:.15em;line-height:1.7;color:#607269}.about-copy h2{font-size:clamp(38px,4vw,58px);letter-spacing:-.05em;margin:22px 0}.about-copy p{color:var(--muted);max-width:590px}.signature{font:italic 700 26px Manrope;margin-top:38px}.signature span{color:var(--green)}.values{background:var(--cream)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:55px}.value-grid span{font-size:10px;color:#9ba39f}.value-grid h3{font-size:23px;margin:25px 0 12px}.value-grid p{color:var(--muted);font-size:14px}.skills{background:#fff}.skill-cloud{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.skill-cloud span{border:1px solid var(--line);padding:13px 17px;border-radius:50px;font-size:13px;background:var(--cream)}.portfolio-hero{padding-bottom:40px}.portfolio-section{padding-top:10px}.filter-row{display:flex;gap:8px;margin-bottom:35px}.filter{border:1px solid var(--line);background:transparent;padding:9px 16px;border-radius:50px;font-size:12px;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:45px 25px}.portfolio-card.wide{grid-column:1/-1}.portfolio-copy{display:flex;justify-content:space-between;padding:18px 2px}.portfolio-copy span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#8b9590}.portfolio-copy h2{font-size:23px;margin:7px 0}.portfolio-copy p{color:var(--muted);font-size:13px;max-width:560px;margin:0}.portfolio-copy>b{font-size:22px}.portfolio-card{transition:.25s}.portfolio-card:hover{transform:translateY(-4px)}.contact-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px;padding-top:20px}.contact-block{border-top:1px solid var(--line);padding:20px 0;margin-bottom:25px}.contact-block span{font-size:9px;letter-spacing:.15em;color:#89928d}.contact-block a{display:block;font:700 19px Manrope;margin-top:10px;color:var(--green)}.contact-block p{color:var(--muted);font-size:14px}.contact-note{display:flex;gap:12px;background:#eaf1e9;padding:16px;border-radius:10px;align-items:center}.contact-note span{color:var(--green)}.contact-note p{font-size:11px;margin:0;color:#5e6b64}.contact-form{background:#fff;border:1px solid var(--line);border-radius:15px;padding:35px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:block;margin-bottom:20px}.contact-form label>span{display:block;font-size:11px;font-weight:700;margin-bottom:8px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #d9dfd9;border-radius:8px;padding:13px 14px;outline:none;background:#fafbf8;color:var(--ink);resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,77,60,.08)}.submit-btn{margin-top:3px}.form-note{font-size:10px;color:#89928d;margin:13px 0 0}.form-success{display:none;background:#e6f4df;color:#37613e;padding:10px 13px;border-radius:7px;font-size:11px;margin-top:14px}.reveal{opacity:0;transform:translateY(18px);animation:rise .8s ease forwards}.delay-1{animation-delay:.15s}@keyframes rise{to{opacity:1;transform:none}}@media(max-width:900px){.nav{gap:18px}.hero{grid-template-columns:1fr;padding-top:65px}.hero-visual{height:460px}.service-grid,.value-grid{grid-template-columns:1fr}.work-grid{grid-template-columns:1fr}.project-large{grid-row:auto}.project-large .project-art{min-height:450px}.about-story{grid-template-columns:1fr;gap:50px}.about-photo{max-width:430px}.contact-section{grid-template-columns:1fr;gap:40px}.footer{grid-template-columns:1fr}.footer small{grid-column:auto}.portfolio-grid{grid-template-columns:1fr}.portfolio-card.wide{grid-column:auto}}@media(max-width:680px){.announcement{font-size:8px;letter-spacing:.08em}.header{height:70px}.menu-toggle{display:flex;flex-direction:column;gap:5px}.menu-toggle span{width:22px;height:2px;background:var(--ink)}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--cream);padding:20px 28px 28px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);gap:8px}.nav.open{display:flex}.nav>a{padding:10px}.nav-cta{text-align:center}.section{padding-top:75px;padding-bottom:75px}.hero{min-height:auto}.hero h1{font-size:49px}.hero-text{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.hero-meta{gap:22px;flex-wrap:wrap;margin-top:40px}.hero-visual{height:390px}.browser-card{height:290px}.mock-content{margin-top:35px}.mock-content h3{font-size:31px}.float-card{transform:scale(.88)}.fc-one{left:-3%}.fc-two{right:-2%}.trusted div{gap:20px 28px}.split-heading{grid-template-columns:1fr;gap:10px}.service-card{min-height:280px}.project-art,.project-large .project-art{min-height:310px}.page-hero{padding-top:70px}.page-hero h1{font-size:48px}.about-copy h2{font-size:40px}.field-row{grid-template-columns:1fr}.contact-form{padding:22px}.cta-band{flex-direction:column;align-items:flex-start;padding-top:75px;padding-bottom:75px}.cta-band h2{font-size:43px}.footer-links{flex-wrap:wrap}.art-window{padding:17px}.art-hero{margin-top:40px}.art-hero b{font-size:31px}.phone{width:58%;left:21%}.dashboard{inset:9%;padding:22px}.phone-app{width:58%;left:21%;padding:22px}}
/* Premium motion */
.hero-copy{position:relative;z-index:4}
.hero-copy h1{animation:heroTitle .9s cubic-bezier(.2,.8,.2,1) both}
.hero-copy .hero-text{animation:fadeUp .8s .12s ease both}
.hero-copy .hero-actions{animation:fadeUp .8s .22s ease both}
.hero-copy .hero-meta{animation:fadeUp .8s .32s ease both}
.hero-visual{animation:visualIn 1s .12s cubic-bezier(.2,.8,.2,1) both}
.browser-card{animation:browserFloat 6s ease-in-out infinite}
.fc-one{animation:floatOne 5s ease-in-out infinite}
.fc-two{animation:floatTwo 5.5s ease-in-out infinite}
.orb-a{animation:orbPulse 7s ease-in-out infinite}
.orb-b{animation:orbPulse 6s 1s ease-in-out infinite}
@keyframes heroTitle{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes visualIn{from{opacity:0;transform:translateX(35px) scale(.96)}to{opacity:1;transform:none}}
@keyframes browserFloat{0%,100%{transform:rotate(2.5deg) translateY(0)}50%{transform:rotate(1.4deg) translateY(-10px)}}
@keyframes floatOne{0%,100%{transform:translate(0,0) rotate(-2deg)}50%{transform:translate(-6px,-9px) rotate(1deg)}}
@keyframes floatTwo{0%,100%{transform:translate(0,0)}50%{transform:translate(5px,-8px)}}
@keyframes orbPulse{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.08);opacity:1}}
.service-card,.project,.portfolio-card,.skill-cloud span{will-change:transform}
.service-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.project-art{transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.project:hover .project-art,.portfolio-card:hover .project-art{transform:scale(1.018)}
.logo span{transition:transform .3s ease}
.logo:hover span{transform:rotate(-8deg) scale(1.06)}
.btn span{transition:transform .25s ease}
.btn:hover span{transform:translate(3px,-3px)}
.text-link span{display:inline-block;transition:transform .25s ease}
.text-link:hover span{transform:translateX(5px)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media(max-width:680px){
  .section{padding-top:58px;padding-bottom:58px}
  .hero{padding-top:48px;padding-bottom:32px;gap:8px}
  .hero h1{font-size:52px;line-height:.98}
  .hero-visual{height:360px}
  .browser-card{height:275px;width:94%}
  .hero-meta{margin-top:32px}
  .page-hero{padding-top:58px;padding-bottom:35px}
}

.scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--reveal-delay,0ms) ease,transform .7s var(--reveal-delay,0ms) cubic-bezier(.2,.8,.2,1)}
.scroll-reveal.is-visible{opacity:1;transform:none}

/* ===== HERO V2 — premium editorial composition ===== */
.hero{
  min-height:680px;
  grid-template-columns: .94fr 1.06fr;
  align-items:center;
  gap:28px;
  padding:62px max(5vw,28px) 46px;
  max-width:1500px;
}
.hero-copy{padding-bottom:8px}
.hero-copy h1{
  font-size:clamp(54px,6.25vw,88px);
  line-height:.93;
  letter-spacing:-.065em;
  max-width:760px;
  margin-top:19px;
}
.hero-copy h1 em{position:relative;display:inline-block}
.hero-copy h1 em:after{
  content:"";
  position:absolute;
  height:7px;
  left:5%;
  right:-4%;
  bottom:-2px;
  background:var(--lime);
  border-radius:100%;
  transform:rotate(-2deg);
  z-index:-1;
  opacity:.85;
}
.hero-text{font-size:17px;max-width:575px;line-height:1.68;margin:25px 0 27px}
.hero-text strong{color:var(--ink)}
.hero-actions{gap:12px}
.btn-outline{
  border:1px solid #d5dcd5;
  background:rgba(255,255,255,.7);
  color:var(--ink);
  padding:14px 19px;
}
.btn-outline:hover{background:#fff}
.chat-dot{font-size:20px;line-height:0}
.hero-meta{gap:0;margin-top:40px}
.hero-meta div{
  padding-right:27px;
  margin-right:27px;
  border-right:1px solid #d9dfd9;
}
.hero-meta div:last-child{border-right:0;margin-right:0;padding-right:0}
.hero-meta strong{font-size:22px}
.hero-visual{
  height:575px;
  min-width:0;
  position:relative;
  display:block;
  perspective:1200px;
  isolation:isolate;
  --mx:0px;
  --my:0px;
}
.hero-glow{
  position:absolute;
  border-radius:50%;
  filter:blur(2px);
  pointer-events:none;
}
.hero-glow-a{
  width:400px;height:400px;right:5%;top:30px;
  background:radial-gradient(circle at 35% 35%,#e5f5c7 0,#d5eac8 48%,rgba(213,234,200,0) 72%);
  animation:heroGlow 8s ease-in-out infinite;
}
.hero-glow-b{
  width:170px;height:170px;left:4%;bottom:50px;
  background:radial-gradient(circle,#f3d0b9 0,rgba(243,208,185,0) 70%);
  animation:heroGlow 7s 1s ease-in-out infinite reverse;
}
.hero-ring{
  position:absolute;
  border:1px solid rgba(23,77,60,.15);
  border-radius:50%;
  pointer-events:none;
}
.ring-one{width:390px;height:390px;right:9%;top:55px;transform:rotate(14deg);border-left-color:transparent;animation:ringSpin 18s linear infinite}
.ring-two{width:250px;height:250px;right:26%;top:130px;border-color:rgba(23,77,60,.09);animation:ringSpin 24s linear infinite reverse}
.hero-signature{
  position:absolute;
  left:14%;
  top:78px;
  z-index:5;
  font:italic 600 29px Georgia,serif;
  line-height:.8;
  transform:rotate(-8deg) translate(var(--mx),var(--my));
  transition:transform .25s ease-out;
  color:#18251f;
}
.hero-signature span{margin-left:25px}
.hero-signature i{
  display:block;width:52px;height:3px;background:var(--green);
  margin:11px 0 0 48px;transform:rotate(-4deg);border-radius:5px;
}
.hero-person{
  position:absolute;
  width:330px;height:470px;
  right:18%;top:47px;
  z-index:2;
  transform:translate(var(--mx),var(--my));
  transition:transform .18s ease-out;
}
.person-aura{
  position:absolute;inset:0;
  border-radius:48% 52% 40% 60%;
  background:linear-gradient(145deg,#edf6df,#cbdcc7);
  transform:rotate(12deg);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.8);
}
.person-head{
  position:absolute;width:130px;height:165px;
  left:101px;top:72px;
  border-radius:48% 52% 45% 45%;
  background:linear-gradient(145deg,#e6b995,#b87555);
  transform:rotate(5deg);
  box-shadow:inset -16px -12px 0 rgba(110,60,40,.12);
  z-index:3;
}
.person-hair{
  position:absolute;width:153px;height:130px;
  left:88px;top:51px;
  border-radius:58% 44% 42% 40%;
  background:#202725;
  transform:rotate(5deg);
  z-index:4;
  box-shadow:-12px 7px 0 #2a302d,8px -5px 0 #171c1a;
}
.person-neck{
  position:absolute;width:55px;height:60px;
  left:141px;top:204px;
  background:#c78967;border-radius:10px;z-index:2;
}
.person-body{
  position:absolute;width:265px;height:225px;
  left:33px;top:240px;
  border-radius:45px 45px 12px 12px;
  background:linear-gradient(145deg,#26312e,#101715);
  transform:rotate(4deg);
  z-index:3;
  box-shadow:35px 18px 0 rgba(23,77,60,.12);
}
.hero-device{
  position:absolute;
  width:475px;height:275px;
  right:1%;bottom:34px;
  z-index:6;
  transform:rotate(-7deg) translate(var(--mx),var(--my));
  transition:transform .2s ease-out;
  border-radius:17px 17px 25px 25px;
  background:linear-gradient(145deg,#d7dad8,#a9afab);
  padding:9px 9px 19px;
  box-shadow:0 35px 55px rgba(30,42,37,.2),0 8px 10px rgba(30,42,37,.1);
}
.hero-device:after{
  content:"";position:absolute;width:100px;height:7px;left:calc(50% - 50px);
  bottom:6px;background:#818884;border-radius:20px;
}
.device-top{height:24px;display:flex;align-items:center;gap:4px;padding:0 8px}
.device-top span{width:5px;height:5px;border-radius:50%;background:#7c8580}
.device-top small{margin-left:auto;font-size:6px;color:#737d78}
.device-screen{
  height:calc(100% - 24px);
  border-radius:10px 10px 16px 16px;
  background:linear-gradient(145deg,#10221d,#1b4c3e);
  position:relative;overflow:hidden;padding:18px 20px;color:#fff;
}
.device-nav{display:flex;align-items:center;gap:15px;position:relative;z-index:2}
.device-nav b{font:800 12px Manrope;margin-right:auto}.device-nav i{width:24px;height:3px;background:#6b8379;border-radius:4px}
.device-copy{position:relative;z-index:2;margin-top:34px}
.device-copy small{font-size:6px;letter-spacing:.18em;color:#a6bbb1}
.device-copy strong{display:block;font:800 31px Manrope;line-height:.98;letter-spacing:-.05em;margin:8px 0 18px}
.device-copy strong em{color:#bff064}
.device-copy>span{font-size:7px;border:1px solid #739188;padding:7px 9px;border-radius:5px}
.device-orb{
  position:absolute;width:230px;height:230px;right:-40px;bottom:-95px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#b8ed66,#245947 58%,#10231e 72%);
  box-shadow:0 0 60px rgba(188,240,104,.16);
  animation:orbFloat 6s ease-in-out infinite;
}
.hero-float{
  position:absolute;z-index:8;background:rgba(255,255,255,.94);
  border:1px solid rgba(210,218,211,.9);
  box-shadow:0 18px 45px rgba(35,50,43,.13);
  border-radius:15px;
  display:flex;align-items:center;gap:10px;
  backdrop-filter:blur(12px);
}
.hero-float small{display:block;font-size:8px;color:#7b8580;line-height:1.2}
.hero-float b{display:block;font:700 12px Manrope;margin-top:3px}
.float-icon,.globe-icon,.code-icon{
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:var(--lime);color:var(--green);font-weight:800;
}
.float-top{right:2%;top:83px;padding:12px 14px;transform:rotate(4deg);animation:floatCard 5.5s ease-in-out infinite}
.float-left{left:0;top:285px;padding:13px 15px;animation:floatCard 6s .4s ease-in-out infinite}
.float-left .globe-icon{background:#edf5eb}
.float-right{right:-1%;bottom:154px;padding:12px 14px;background:var(--green);color:#fff;animation:floatCard 5.8s .8s ease-in-out infinite}
.float-right small{color:#b6cbc1}.float-right .code-icon{background:#4f9277;color:#fff}
.scroll-cue{
  position:absolute;right:2%;bottom:28px;z-index:9;
  display:flex;flex-direction:column;align-items:center;gap:5px;
  color:#89938e;font-size:7px;letter-spacing:.16em;
}
.scroll-cue b{font-size:20px;font-weight:400;animation:scrollBounce 1.8s ease-in-out infinite}
@keyframes heroGlow{0%,100%{transform:scale(1) translateY(0);opacity:.8}50%{transform:scale(1.08) translateY(-8px);opacity:1}}
@keyframes ringSpin{to{transform:rotate(374deg)}}
@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-15px,-10px) scale(1.06)}}
@keyframes floatCard{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes scrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

@media(max-width:1050px){
  .hero{grid-template-columns:1fr 1fr;gap:5px}
  .hero-copy h1{font-size:clamp(49px,5.7vw,70px)}
  .hero-person{right:12%}
  .hero-device{width:420px}
  .float-left{left:-3%}
}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:54px}
  .hero-copy h1{font-size:clamp(55px,9vw,78px)}
  .hero-visual{height:545px;margin-top:5px}
}
@media(max-width:680px){
  .hero{padding-top:45px;padding-bottom:24px;gap:0}
  .hero-copy h1{font-size:50px;line-height:.96}
  .hero-text{font-size:15px}
  .hero-actions{flex-direction:row;flex-wrap:wrap}
  .hero-meta{gap:0;margin-top:30px}
  .hero-meta div{padding-right:14px;margin-right:14px}
  .hero-meta strong{font-size:18px}
  .hero-meta span{font-size:9px}
  .hero-visual{height:415px;margin-top:12px;transform:scale(.94);transform-origin:top center}
  .hero-person{width:245px;height:355px;right:14%;top:35px}
  .person-head{width:98px;height:125px;left:75px;top:55px}
  .person-hair{width:115px;height:99px;left:65px;top:40px}
  .person-neck{width:42px;height:47px;left:105px;top:158px}
  .person-body{width:205px;height:170px;left:24px;top:190px}
  .hero-device{width:350px;height:205px;right:-3%;bottom:31px}
  .device-copy{margin-top:22px}.device-copy strong{font-size:24px}
  .hero-signature{left:5%;top:56px;font-size:23px}
  .float-top{right:-3%;top:70px}.float-left{left:-7%;top:235px}.float-right{right:-7%;bottom:126px}
  .scroll-cue{display:none}
  .ring-one{width:290px;height:290px;right:4%;top:42px}
  .ring-two{width:180px;height:180px;right:25%;top:98px}
}

/* Supplied portfolio imagery + growth services */
.service-grid{grid-template-columns:repeat(3,1fr)}
.service-card{min-height:295px}
.image-art{padding:0;background:#e9eee8;overflow:hidden}
.image-art img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s ease}
.project:hover .image-art img,.portfolio-card:hover .image-art img{transform:scale(1.045);filter:saturate(1.04)}
.portfolio-image-link{display:block}
.portfolio-card .image-art{height:390px}
.portfolio-card.wide .image-art{height:520px}
.about-photo{position:relative}
.portrait-real{width:min(100%,460px);aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#e9eee8;box-shadow:0 25px 65px rgba(25,40,34,.13)}
.portrait-real img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.photo-badge{position:absolute;right:-22px;bottom:26px;background:var(--green);color:#fff;border-radius:14px;padding:14px 17px;box-shadow:0 18px 40px rgba(23,77,60,.22);display:grid;grid-template-columns:30px 1fr;column-gap:9px;align-items:center}
.photo-badge span{grid-row:span 2;width:28px;height:28px;border-radius:50%;background:var(--lime);color:var(--green);display:grid;place-items:center}
.photo-badge b{font:700 12px Manrope}.photo-badge small{font-size:8px;color:#bfd0c7}
.about-copy strong{color:var(--green)}
.skill-cloud span{transition:transform .25s ease,background .25s ease,border-color .25s ease}
.skill-cloud span:hover{transform:translateY(-3px);background:#eef5e9;border-color:#cddbc8}
@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr)}.portfolio-card .image-art,.portfolio-card.wide .image-art{height:400px}.photo-badge{right:12px}}
@media(max-width:680px){.service-grid{grid-template-columns:1fr}.portfolio-card .image-art,.portfolio-card.wide .image-art{height:300px}.portrait-real{max-width:100%}.photo-badge{right:10px;bottom:15px}}
