
.portfolio-hero{padding:108px 0 74px;background:radial-gradient(circle at 84% 18%,rgba(127,190,116,.18),transparent 24%),radial-gradient(circle at 12% 12%,rgba(243,90,158,.12),transparent 22%),linear-gradient(145deg,#fffafc 0%,#f5fff6 100%)}
.portfolio-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.portfolio-hero-copy h1{font-size:clamp(3rem,6vw,5.4rem);line-height:.98;max-width:760px;margin-bottom:22px}
.portfolio-hero-copy p{font-size:1.12rem;max-width:650px;color:#506153}
.portfolio-hero-collage{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;min-height:520px}
.portfolio-hero-main,.portfolio-hero-stack>div{border-radius:28px;overflow:hidden;position:relative;box-shadow:0 24px 60px rgba(23,61,34,.12)}
.portfolio-hero-stack{display:grid;grid-template-rows:1fr 1fr;gap:12px}.portfolio-hero-collage img{width:100%;height:100%;object-fit:cover;display:block}
.portfolio-caption{position:absolute;left:18px;bottom:16px;z-index:2;color:#fff;font-weight:900;padding:8px 11px;border-radius:999px;background:rgba(12,33,19,.56);backdrop-filter:blur(6px)}
.portfolio-intro{padding:82px 0;background:#fff}.portfolio-intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.portfolio-intro-copy p{font-size:1.06rem;color:#566758;max-width:700px}.portfolio-note-card{margin-top:24px;padding:24px;border-radius:24px;background:#f7faf7;border:1px solid rgba(23,61,34,.10)}
.portfolio-grid-section{padding:86px 0;background:#fbf7f9}.portfolio-filter{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 34px}
.portfolio-filter span{padding:9px 13px;border-radius:999px;background:#fff;border:1px solid rgba(23,61,34,.10);color:var(--forest);font-size:.84rem;font-weight:900}
.portfolio-masonry{columns:3 320px;column-gap:18px}.portfolio-item{break-inside:avoid;margin:0 0 18px;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 18px 45px rgba(23,61,34,.09)}
.portfolio-item img{width:100%;display:block}.portfolio-item-copy{padding:18px 20px 20px}.portfolio-item-copy span{color:var(--pink);font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.portfolio-item-copy h3{font-size:1.28rem;margin:7px 0 6px}.portfolio-item-copy p{font-size:.94rem;color:#637064;margin:0}
.before-after{padding:90px 0;background:#fff}.before-after-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}.ba-card{border-radius:28px;overflow:hidden;background:#f8faf8;border:1px solid rgba(23,61,34,.10)}
.ba-images{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#fff}.ba-images figure{margin:0;position:relative;min-height:300px}.ba-images img{width:100%;height:100%;object-fit:cover;display:block}
.ba-label{position:absolute;left:14px;top:14px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--forest);font-size:.75rem;font-weight:900}.ba-copy{padding:20px 22px}
.portfolio-process{padding:88px 0;background:var(--forest);color:#fff}.portfolio-process h2{color:#fff}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.process-card{padding:28px;border-radius:24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}.process-card span{color:var(--mint);font-weight:900}.process-card h3{color:#fff}.process-card p{color:#c9d7cb}
.portfolio-final{padding:86px 0;background:linear-gradient(135deg,#f8edf3,#eff9f0)}.portfolio-final-box{background:#fff;border-radius:32px;padding:42px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;box-shadow:0 24px 55px rgba(23,61,34,.09)}
.portfolio-final-box h2{margin:0;max-width:720px;font-size:clamp(2rem,3.8vw,3.1rem);line-height:1.08}
@media(max-width:1000px){.portfolio-hero-grid,.portfolio-intro-grid{grid-template-columns:1fr}.portfolio-hero-collage{min-height:430px}.before-after-grid,.process-grid{grid-template-columns:1fr}}
@media(max-width:720px){.portfolio-hero-collage{grid-template-columns:1fr;min-height:auto}.portfolio-hero-main{min-height:320px}.portfolio-hero-stack{grid-template-columns:1fr 1fr;grid-template-rows:1fr;min-height:180px}.portfolio-final-box{grid-template-columns:1fr}.portfolio-final-box .btn{width:100%}.ba-images{grid-template-columns:1fr}}
:root{
      --pink:#f35a9e;
      --mint:#7fbe74;
      --forest:#173d22;
      --mist:#faeef4;
      --soft:#fffdfb;
      --ink:#16331d;
      --line:#d9e7dc;
      --shadow:0 20px 50px rgba(23,61,34,.12);
      --radius:28px;
    }
*{box-sizing:border-box}
body{margin:0;font-family:"Nunito Sans",sans-serif;color:var(--ink);background:var(--soft);line-height:1.55}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:14px 22px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:.2s ease;cursor:pointer}
.btn-primary{background:var(--pink);color:white;box-shadow:0 12px 30px rgba(243,90,158,.3)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(243,90,158,.34)}
.btn-secondary{border-color:var(--forest);color:var(--forest);background:transparent}
.eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--pink);margin-bottom:14px}
h1,h2,h3{margin:0 0 18px;font-family:"Bree Web","Bree","Bree Pro",sans-serif;line-height:1.05;color:var(--forest)}
h1{font-size:clamp(3.3rem,8vw,7rem)}
h2{font-size:clamp(2.2rem,5vw,4.2rem)}
h3{font-size:1.55rem}
p{margin:0 0 16px}
section{padding:96px 0}
header{position:sticky;top:0;z-index:30;background:rgba(255,253,251,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,61,34,.08)}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:1.25rem}
.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--pink);position:relative;box-shadow:inset -10px -10px 0 rgba(255,255,255,.1)}
.brand-mark:after{content:"";position:absolute;width:16px;height:22px;background:var(--mint);border-radius:60% 0 60% 0;left:-4px;bottom:-4px;transform:rotate(-18deg)}
.brand span:first-of-type{color:var(--pink)}
.brand span:last-of-type{color:var(--forest)}
.nav-links{display:flex;align-items:center;gap:26px;font-weight:700;font-size:.95rem}
.nav-cta{margin-left:8px}
.hero{padding:70px 0 90px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.hero p{font-size:1.16rem;max-width:650px;color:#36563f}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.trust{margin-top:28px;font-size:.95rem;font-weight:700;color:#56705e}
.hero-card{min-height:600px;border-radius:40px;background:linear-gradient(145deg,#fff 0%,#f9edf4 55%,#e7ffe9 100%);position:relative;overflow:hidden;box-shadow:var(--shadow)}
.hero-photo{position:absolute;inset:34px;border-radius:30px;background:
      radial-gradient(circle at 20% 10%, rgba(255,255,255,.95), transparent 34%),
      linear-gradient(180deg, rgba(255,255,255,.4), rgba(255,255,255,0)),
      linear-gradient(135deg,#f8f3ed,#dfeede 48%,#f7d7e8 100%);
    }
.room{position:absolute;inset:0;overflow:hidden}
.window{position:absolute;right:10%;top:9%;width:36%;height:46%;background:#f8fcff;border:10px solid #fff;box-shadow:inset 0 0 0 1px #dfe6e1}
.window:before,.window:after{content:"";position:absolute;background:#dfe6e1}.window:before{width:2px;height:100%;left:50%}.window:after{height:2px;width:100%;top:50%}
.sofa{position:absolute;left:8%;bottom:14%;width:63%;height:26%;background:#efe8df;border-radius:28px 28px 12px 12px;box-shadow:0 18px 30px rgba(0,0,0,.08)}
.sofa:before{content:"";position:absolute;left:12%;top:-22%;width:38%;height:42%;background:#fff;border-radius:18px;box-shadow:0 8px 14px rgba(0,0,0,.06)}
.plant{position:absolute;right:8%;bottom:10%;width:16%;height:42%}
.plant:before{content:"";position:absolute;bottom:0;left:26%;width:48%;height:28%;background:#d6b49b;border-radius:8px 8px 24px 24px}
.leaf{position:absolute;width:34px;height:78px;background:#5c9f64;border-radius:60% 0 60% 0;transform-origin:bottom center}
.leaf.l1{left:28%;bottom:24%;transform:rotate(-35deg)}.leaf.l2{left:45%;bottom:35%;transform:rotate(8deg)}.leaf.l3{left:57%;bottom:28%;transform:rotate(34deg)}.leaf.l4{left:38%;bottom:45%;transform:rotate(-12deg)}
.spark{position:absolute;width:18px;height:18px;background:var(--mint);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
.spark.s1{right:15%;top:14%}.spark.s2{left:14%;top:26%;background:var(--pink);transform:scale(.7)}
.metric{position:absolute;left:24px;bottom:24px;background:#fff;border-radius:20px;padding:18px 20px;box-shadow:var(--shadow);max-width:230px}
.metric strong{display:block;font-size:1.45rem;color:var(--forest)}
.value{background:var(--mist)}
.value-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.quote-card{background:var(--forest);color:white;border-radius:36px;padding:44px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.quote-card h2{color:white}
.quote-card .sig{font-size:1.1rem;font-weight:800;color:var(--mint)}
.quote-card:after{content:"";position:absolute;width:180px;height:180px;background:var(--pink);border-radius:50%;right:-60px;top:-60px;opacity:.9}
.services-grid,.diff-grid,.reviews-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:34px;background:#fff;transition:.2s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card .icon{width:54px;height:54px;border-radius:16px;background:var(--mist);display:grid;place-items:center;margin-bottom:22px;font-size:1.35rem}
.services .card{min-height:280px}
.diff{background:var(--forest);color:white}
.diff h2,.diff h3{color:white}
.diff .eyebrow{color:var(--mint)}
.diff .card{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12);color:#e5f3e9}
.diff .icon{background:rgba(85,237,134,.14)}
.review{background:#fff;border-radius:26px;padding:30px;border:1px solid var(--line)}
.stars{color:#ffb84d;letter-spacing:.08em;margin-bottom:16px}
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.step{padding:30px 24px;border-radius:24px;background:linear-gradient(180deg,#fff,#f7fbf8);border:1px solid var(--line)}
.step-num{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:#fff;font-weight:800;margin-bottom:20px}
.about-grid,.local-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.photo-block{height:460px;border-radius:36px;background:linear-gradient(135deg,#f3e9df,#d9efe0 55%,#f9d4e7);position:relative;overflow:hidden;box-shadow:var(--shadow)}
.uniform{position:absolute;left:22%;bottom:0;width:55%;height:72%;background:var(--forest);border-radius:48% 48% 14px 14px}
.uniform:before{content:"";position:absolute;left:28%;top:-18%;width:44%;height:28%;background:#d6a57f;border-radius:50% 50% 42% 42%}
.uniform:after{content:"PinkMinty";position:absolute;left:20%;top:20%;color:var(--pink);font-weight:900;font-size:1.2rem}
.cities{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.chip{padding:10px 16px;border-radius:999px;background:#eef8ef;border:1px solid #d6ead9;font-weight:700}
.cta{background:linear-gradient(135deg,var(--forest),#0e2d18);color:white;text-align:center;position:relative;overflow:hidden}
.cta h2{color:white;max-width:850px;margin-left:auto;margin-right:auto}
.cta p{max-width:680px;margin:0 auto 26px;color:#d7eadb;font-size:1.05rem}
.form{margin-top:42px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;background:#fff;padding:28px;border-radius:28px;text-align:left;color:var(--ink)}
.form .full{grid-column:1/-1}
label{display:block;font-size:.86rem;font-weight:800;margin-bottom:8px}
input,select,textarea{width:100%;padding:14px 15px;border:1px solid #d8e4da;border-radius:14px;font:inherit;background:#fcfdfc}
textarea{min-height:120px;resize:vertical}
footer{padding:36px 0;background:#0f2416;color:#dfeadf}
.footer-grid{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}
.mini{font-size:.88rem;color:#9eb1a1}
@media (max-width: 900px){
.nav-links{display:none}.hero-grid,.value-grid,.about-grid,.local-grid{grid-template-columns:1fr}.hero-card{min-height:480px}.how-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 640px){
section{padding:72px 0}.wrap{width:min(100% - 24px,1180px)}.services-grid,.diff-grid,.reviews-grid,.how-grid,.form{grid-template-columns:1fr}.form .full{grid-column:auto}.hero{padding-top:44px}.hero-card{min-height:410px}.btn{width:100%}.hero-actions{flex-direction:column}.quote-card{padding:30px}
}
.value-story{background:
      radial-gradient(circle at 8% 18%,rgba(243,90,158,.10),transparent 24%),
      radial-gradient(circle at 88% 82%,rgba(85,237,134,.16),transparent 25%),
      linear-gradient(135deg,#fff9fc 0%,#faeef4 50%,#f1fff4 100%);
      position:relative;overflow:hidden}
.value-story:before{content:"";position:absolute;left:-80px;top:60px;width:240px;height:240px;border:1px solid rgba(243,90,158,.22);border-radius:50%}
.value-story:after{content:"";position:absolute;right:-90px;bottom:-90px;width:300px;height:300px;border:1px solid rgba(23,61,34,.13);border-radius:50%}
.value-editorial{position:relative;z-index:1;display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:center}
.value-panel{min-height:520px;background:var(--forest);border-radius:42px;padding:48px;position:relative;overflow:hidden;box-shadow:0 30px 70px rgba(23,61,34,.18);display:flex;flex-direction:column;justify-content:space-between}
.value-panel h2{color:white;max-width:570px}
.value-panel .eyebrow{color:var(--mint)}
.value-panel:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--pink);right:-105px;top:-95px}
.value-panel:after{content:"✦";position:absolute;right:46px;top:50px;color:var(--mint);font-size:42px;transform:rotate(12deg)}
.value-signature{color:var(--mint);font-weight:900;font-size:1.1rem;letter-spacing:.02em}
.value-copy{padding:22px 0}
.value-lead{font-family:"Bree Web","Bree","Bree Pro",sans-serif;color:var(--forest);font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.22;margin-bottom:28px}
.value-copy p:not(.value-lead){font-size:1.08rem;color:#496452;max-width:650px}
.benefit-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}
.benefit{padding:18px 14px;border-top:1px solid rgba(23,61,34,.18);font-weight:800;color:var(--forest)}
.benefit span{display:block;color:var(--pink);font-size:.78rem;letter-spacing:.12em;margin-bottom:5px}
.services-grid.single{grid-template-columns:1fr}
.services-grid.single .card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;min-height:0;padding:36px 40px}
.services-grid.single .card .icon{margin:0}
.services-grid.single .card p{margin-bottom:0;max-width:720px}
.site-footer{padding:70px 0 28px;background:#0c2113;color:#dfeadf}
.footer-main{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:54px;padding-bottom:46px}
.footer-brand p{max-width:430px;color:#aebfaf;margin-top:18px}
.footer-title{color:white;font-weight:900;margin-bottom:16px}
.footer-links{display:grid;gap:10px;color:#b9c9bb}
.footer-links a:hover{color:var(--mint)}
.footer-bottom{
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
}
.footer-bottom-left{justify-self:start}
.footer-bottom-center{justify-self:center;text-align:center}
.footer-bottom-right{justify-self:end;text-align:right}
.footer-bottom-center a{
  color:inherit;
  font:inherit;
  text-decoration:none;
}
.footer-bottom-center a:hover,
.footer-bottom-center a:focus-visible{text-decoration:underline}
@media (max-width:900px){
.value-editorial,.footer-main{grid-template-columns:1fr}
.value-panel{min-height:420px}
.services-grid.single .card{grid-template-columns:auto 1fr}
.services-grid.single .card a{grid-column:2}
}
@media (max-width:640px){
.value-panel{padding:32px;min-height:390px;border-radius:30px}
.benefit-row{grid-template-columns:1fr}
.services-grid.single .card{grid-template-columns:1fr;padding:28px}
.services-grid.single .card a{grid-column:auto}
}
.header-actions{display:flex;align-items:center;gap:16px}
.header-socials{display:flex;align-items:center;gap:8px}
.social-icon{
      width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
      border:1px solid rgba(23,61,34,.14);background:#fff;color:var(--forest);
      transition:.2s ease;box-shadow:0 6px 18px rgba(23,61,34,.05)
    }
.social-icon:hover{transform:translateY(-2px);background:var(--forest);color:#fff;border-color:var(--forest)}
.social-icon svg{width:16px;height:16px;fill:currentColor}
.services-showcase{
      display:grid;grid-template-columns:.92fr 1.08fr;gap:36px;align-items:stretch;margin-top:34px
    }
.service-photo{
      min-height:430px;border-radius:34px;overflow:hidden;position:relative;
      box-shadow:0 28px 65px rgba(23,61,34,.13)
    }
.service-photo img{width:100%;height:100%;object-fit:cover;display:block}
.service-photo:after{
      content:"";position:absolute;inset:0;
      background:linear-gradient(180deg,transparent 50%,rgba(12,33,19,.52) 100%)
    }
.service-photo-label{
      position:absolute;left:28px;bottom:24px;z-index:2;color:white;font-weight:900;font-size:1.05rem
    }
.services-grid.single{margin-top:0 !important;height:100%}
.services-grid.single .card{
      height:100%;grid-template-columns:1fr;align-content:center;padding:48px;border-radius:34px;
      background:linear-gradient(145deg,#ffffff,#fff8fb)
    }
.services-grid.single .card .icon{width:58px;height:58px;font-size:26px}
.portfolio-strip{
      margin-top:38px;padding:28px 32px;border-radius:26px;background:var(--forest);color:white;
      display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;position:relative
    }
.portfolio-strip:after{
      content:"✦";position:absolute;right:180px;top:-20px;color:var(--mint);font-size:70px;opacity:.22
    }
.portfolio-strip p{margin:4px 0 0;color:#c9d7cb}
.btn-light{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:999px;
      background:white;color:var(--forest);font-weight:900;white-space:nowrap
    }
.footer-contact{display:grid;gap:10px;color:#b9c9bb}
.footer-contact a:hover{color:var(--mint)}
.footer-socials{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.footer-socials .social-icon{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:white}
.footer-socials .social-icon:hover{background:var(--pink);border-color:var(--pink)}
@media (max-width:1000px){
.header-socials{display:none}
.services-showcase{grid-template-columns:1fr}
.service-photo{min-height:360px}
}
@media (max-width:700px){
.portfolio-strip{align-items:flex-start;flex-direction:column}
.portfolio-strip:after{right:20px}
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:26px}
.nav-right{display:flex;align-items:center;gap:18px;margin-left:auto}
.nav-links{display:flex;align-items:center;gap:22px}
.header-socials{display:flex;align-items:center;gap:7px}
.header-socials .social-icon{
      width:30px;height:30px;box-shadow:none;background:transparent;
      border-color:rgba(23,61,34,.12)
    }
.nav-cta{margin-left:2px}
.portfolio-strip{display:none !important}
.portfolio-feature{
      margin-top:38px;border-radius:34px;overflow:hidden;position:relative;
      background:linear-gradient(135deg,#173d22 0%,#214d2c 56%,#173d22 100%);
      color:#fff;box-shadow:0 28px 65px rgba(23,61,34,.14)
    }
.portfolio-feature:before{
      content:"";position:absolute;width:300px;height:300px;border-radius:50%;
      border:1px solid rgba(85,237,134,.18);left:-105px;bottom:-170px
    }
.portfolio-feature-inner{
      position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;
      min-height:320px
    }
.portfolio-copy{
      padding:46px 46px 44px;display:flex;flex-direction:column;justify-content:center
    }
.portfolio-copy .eyebrow{color:var(--mint);margin-bottom:12px}
.portfolio-copy h3{
      font-family:"Bree Web","Bree","Bree Pro",sans-serif;font-size:clamp(2rem,4vw,3.15rem);
      line-height:1.05;margin:0 0 16px;max-width:500px;color:#fff
    }
.portfolio-copy p{color:#c9d7cb;max-width:500px;margin:0 0 26px}
.portfolio-copy .btn-light{align-self:flex-start}
.portfolio-gallery{
      display:grid;grid-template-columns:1.15fr .85fr;gap:10px;padding:10px
    }
.portfolio-main,.portfolio-side{border-radius:24px;overflow:hidden;position:relative;min-height:300px}
.portfolio-side{display:grid;grid-template-rows:1fr 1fr;gap:10px;background:transparent}
.portfolio-thumb{position:relative;overflow:hidden;border-radius:20px;min-height:0}
.portfolio-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.portfolio-main:hover img,.portfolio-thumb:hover img{transform:scale(1.035)}
.portfolio-main:after,.portfolio-thumb:after{
      content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(12,33,19,.42))
    }
.portfolio-note{
      position:absolute;left:22px;bottom:18px;z-index:2;font-weight:900;color:#fff
    }
@media (max-width:1080px){
.nav-links{gap:16px}
.nav-right{gap:12px}
.header-socials .social-icon{width:28px;height:28px}
}
@media (max-width:960px){
.header-socials{display:none}
.portfolio-feature-inner{grid-template-columns:1fr}
.portfolio-gallery{min-height:380px}
}
@media (max-width:700px){
.portfolio-copy{padding:34px 28px 30px}
.portfolio-gallery{grid-template-columns:1fr;min-height:auto}
.portfolio-main{min-height:260px}
.portfolio-side{grid-template-columns:1fr 1fr;grid-template-rows:1fr;min-height:160px}
}
.services-intro{
      max-width:640px;
      margin-left:0;
    }
.value-panel > div:first-child{
      position:relative;
      z-index:3;
    }
.value-panel h2{
      position:relative;
      z-index:3;
    }
.value-panel:before{
      z-index:1;
    }
#reviews{
      position:relative;
    }
#reviews:after{
      content:"";
      position:absolute;
      left:50%;
      bottom:0;
      width:min(1160px, calc(100% - 48px));
      height:1px;
      transform:translateX(-50%);
      background:rgba(23,61,34,.12);
    }
.home-service-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.home-service-tags span{
      display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;
      background:#f9e9f1;color:var(--forest);font-size:.82rem;font-weight:900;
      border:1px solid rgba(243,90,158,.13)
    }
.trust-facts{
      background:#fff;border-top:1px solid rgba(23,61,34,.08);border-bottom:1px solid rgba(23,61,34,.08);
      padding:0
    }
.trust-facts-grid{
      display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch
    }
.trust-fact{
      padding:27px 28px;text-align:center;position:relative
    }
.trust-fact:not(:last-child):after{
      content:"";position:absolute;right:0;top:25%;height:50%;width:1px;background:rgba(23,61,34,.12)
    }
.trust-fact strong{
      display:block;color:var(--forest);font-family:"Bree Web","Bree","Bree Pro",sans-serif;font-size:1.32rem;margin-bottom:4px
    }
.trust-fact span{font-size:.86rem;color:#647567}
.bilingual-note{
      display:inline-flex;align-items:center;gap:9px;margin-top:20px;
      padding:10px 14px;border-radius:999px;background:rgba(127,190,116,.13);
      color:var(--forest);font-size:.86rem;font-weight:900
    }
.bilingual-note:before{content:"●";color:var(--mint);font-size:.7rem}
@media(max-width:700px){
.trust-facts-grid{grid-template-columns:1fr}
.trust-fact:not(:last-child):after{right:15%;left:15%;top:auto;bottom:0;width:70%;height:1px}
}
.services-hero{
      padding:110px 0 84px;
      background:
        radial-gradient(circle at 82% 18%, rgba(127,190,116,.18), transparent 24%),
        radial-gradient(circle at 15% 10%, rgba(243,90,158,.12), transparent 22%),
        linear-gradient(145deg,#fffafc 0%,#f6fff7 100%);
      overflow:hidden;position:relative
    }
.services-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.services-hero-copy h1{font-size:clamp(3rem,6vw,5.5rem);line-height:.98;max-width:760px;margin-bottom:24px}
.services-hero-copy p{font-size:1.12rem;max-width:680px;color:#506153}
.services-hero-visual{min-height:520px;border-radius:40px;overflow:hidden;position:relative;box-shadow:0 30px 70px rgba(23,61,34,.14)}
.services-hero-visual img{width:100%;height:100%;object-fit:cover;display:block}
.services-hero-card{
      position:absolute;left:24px;bottom:24px;right:24px;padding:22px 24px;border-radius:22px;
      background:rgba(255,255,255,.93);backdrop-filter:blur(9px);color:var(--forest);
      box-shadow:0 18px 40px rgba(23,61,34,.12)
    }
.services-hero-card strong{display:block;font-family:"Bree Web","Bree","Bree Pro",sans-serif;font-size:1.4rem;margin-bottom:5px}
.service-index{
      padding:82px 0;background:#fff
    }
.service-index-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:32px}
.service-index-card{
      padding:20px 16px;border:1px solid rgba(23,61,34,.11);border-radius:20px;
      background:linear-gradient(180deg,#fff,#fffafd);min-height:132px
    }
.service-index-card span{display:block;color:var(--pink);font-size:.78rem;font-weight:900;letter-spacing:.08em;margin-bottom:8px}
.service-index-card strong{color:var(--forest);font-size:.98rem}
.service-detail{padding:86px 0}
.service-detail.tone-dark{background:linear-gradient(180deg,#faf3f7 0%,#f7eff4 100%)}
.service-detail.tone-light{background:linear-gradient(180deg,#ffffff 0%,#fcfffc 100%)}
.service-detail-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}
.service-detail-grid.reverse{grid-template-columns:1.1fr .9fr}
.service-detail-grid.reverse .service-copy{order:2}
.service-detail-grid.reverse .service-image{order:1}
.service-image{border-radius:34px;overflow:hidden;min-height:430px;box-shadow:0 26px 62px rgba(23,61,34,.12)}
.service-image img{width:100%;height:100%;object-fit:cover;display:block}
.service-copy .eyebrow{margin-bottom:12px}
.service-copy h2{font-size:clamp(2.2rem,4.5vw,3.8rem);max-width:650px}
.service-copy p{max-width:650px;color:#536454}
.service-benefits{display:grid;gap:12px;margin:24px 0 28px}
.service-benefit{display:flex;gap:12px;align-items:flex-start;color:var(--forest);font-weight:800}
.service-benefit:before{content:"✦";color:var(--mint);font-size:1rem;line-height:1.4}
.quote-section{
      padding:88px 0;background:var(--forest);color:#fff;position:relative;overflow:hidden
    }
.quote-section:before{
      content:"";position:absolute;width:340px;height:340px;border-radius:50%;
      border:1px solid rgba(127,190,116,.18);right:-120px;top:-130px
    }
.quote-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.quote-section h2{color:#fff;max-width:700px}
.quote-section p{color:#ced9d0;max-width:650px}
.quote-box{background:#fff;color:var(--forest);border-radius:30px;padding:34px}
.quote-box strong{font-family:"Bree Web","Bree","Bree Pro",sans-serif;font-size:1.55rem;display:block;margin-bottom:10px}
.quote-box p{color:#5b6d5f;margin-bottom:20px}
.why-services{padding:90px 0;background:#fff}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.why-card{padding:30px;border-radius:24px;background:#f8fbf8;border:1px solid rgba(23,61,34,.10)}
.why-card span{color:var(--pink);font-weight:900;font-size:.82rem;letter-spacing:.09em}
.why-card h3{margin-top:10px}
.faq{padding:88px 0;background:#fbf7f9}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px}
details{background:#fff;border:1px solid rgba(23,61,34,.1);border-radius:18px;padding:18px 20px}
details+details{margin-top:12px}
summary{cursor:pointer;font-weight:900;color:var(--forest)}
details p{margin-top:12px;color:#5b6b5e}
.services-final-cta{padding:88px 0;background:linear-gradient(135deg,#f8edf3,#eff9f0)}
.services-final-box{background:#fff;border-radius:32px;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:0 24px 55px rgba(23,61,34,.09)}
.services-final-box h2{margin:0;max-width:680px}
@media(max-width:1000px){
.services-hero-grid,.service-detail-grid,.service-detail-grid.reverse,.quote-grid,.faq-grid{grid-template-columns:1fr}
.service-detail-grid.reverse .service-copy,.service-detail-grid.reverse .service-image{order:initial}
.service-index-grid{grid-template-columns:repeat(2,1fr)}
.why-grid{grid-template-columns:1fr}
.services-hero-visual{min-height:420px}
}
@media(max-width:650px){
.service-index-grid{grid-template-columns:1fr}
.services-final-box{flex-direction:column;align-items:flex-start}
.services-hero{padding-top:84px}
}
.services-final-box{
      padding:38px 42px;
      align-items:center;
    }
.services-final-box > div:first-child{
      max-width:720px;
    }
.services-final-box h2{
      font-size:clamp(2rem,3.6vw,3.05rem);
      line-height:1.08;
      max-width:680px;
      margin-top:6px;
    }
.services-final-box .btn{
      flex:0 0 auto;
      padding:15px 24px;
      min-width:170px;
    }
@media(max-width:760px){
.services-final-box{
        padding:32px 28px;
      }
.services-final-box h2{
        font-size:clamp(1.9rem,8vw,2.55rem);
      }
.services-final-box .btn{
        width:100%;
      }
}
.about-hero{
  padding:108px 0 82px;
  background:
    radial-gradient(circle at 84% 16%,rgba(127,190,116,.18),transparent 24%),
    radial-gradient(circle at 12% 12%,rgba(243,90,158,.12),transparent 22%),
    linear-gradient(145deg,#fffafc 0%,#f5fff6 100%);
}
.about-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center}
.about-hero h1{font-size:clamp(3rem,6vw,5.35rem);line-height:.98;max-width:760px;margin-bottom:24px}
.about-hero p{font-size:1.12rem;color:#506153;max-width:670px}
.about-hero-visual{min-height:530px;border-radius:40px;overflow:hidden;position:relative;box-shadow:0 30px 70px rgba(23,61,34,.14)}
.about-hero-visual img{width:100%;height:100%;object-fit:cover;display:block}
.about-founder-tag{
  position:absolute;left:24px;right:24px;bottom:24px;padding:20px 22px;border-radius:22px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(8px);color:var(--forest)
}
.about-founder-tag strong{display:block;font-family:"Bree Web","Bree","Bree Pro",sans-serif;font-size:1.45rem}
.about-founder-tag span{color:#657367;font-size:.92rem}
.origin{padding:94px 0;background:#fff}
.origin-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:68px;align-items:start}
.origin-copy p{font-size:1.08rem;color:#566758;max-width:720px}
.origin-highlight{
  margin-top:28px;padding:26px 28px;border-radius:26px;background:#f9edf3;
  border:1px solid rgba(243,90,158,.12);font-family:"Bree Web","Bree","Bree Pro",sans-serif;
  font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.25;color:var(--forest)
}
.founder-section{padding:92px 0;background:#fbf7f9}
.founder-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.founder-photo{min-height:520px;border-radius:36px;overflow:hidden;position:relative;box-shadow:0 26px 60px rgba(23,61,34,.12)}
.founder-photo img{width:100%;height:100%;object-fit:cover;display:block}
.founder-copy p{color:#566758;max-width:650px}
.founder-signature{margin-top:24px;color:var(--pink);font-family:"Bree Web","Bree","Bree Pro",sans-serif;font-size:1.45rem;font-style:italic}
.growth-story{padding:92px 0;background:var(--forest);color:#fff;overflow:hidden;position:relative}
.growth-story:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(127,190,116,.17);border-radius:50%;right:-100px;top:-120px}
.growth-story h2{color:#fff;max-width:720px}
.growth-story>div>p{color:#cad8cd;max-width:720px}
.growth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px;position:relative;z-index:1}
.growth-card{padding:30px;border-radius:26px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.growth-card span{color:var(--mint);font-weight:900;font-size:.8rem;letter-spacing:.08em}
.growth-card h3{color:#fff;margin:10px 0 8px}
.growth-card p{color:#c8d5ca;margin:0}
.care-section{padding:92px 0;background:#fff}
.care-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.care-head p{font-size:1.08rem;color:#566758;max-width:700px}
.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.care-card{padding:30px;border-radius:26px;background:#f7faf7;border:1px solid rgba(23,61,34,.10)}
.care-card .num{color:var(--pink);font-weight:900;font-size:.8rem;letter-spacing:.08em}
.care-card h3{margin:10px 0 8px}
.care-card p{color:#617064;margin:0}
.about-proof{padding:76px 0;background:linear-gradient(135deg,#f8edf3,#eff9f0)}
.about-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(23,61,34,.10);border-radius:30px;overflow:hidden}
.about-proof-item{background:#fff;padding:34px;text-align:center}
.about-proof-item strong{display:block;font-family:"Bree Web","Bree","Bree Pro",sans-serif;color:var(--forest);font-size:1.55rem;margin-bottom:6px}
.about-proof-item span{color:#647567;font-size:.9rem}
.about-final{padding:88px 0;background:#fff}
.about-final-box{
  border-radius:34px;background:var(--forest);color:#fff;padding:46px 48px;
  display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;
  position:relative;overflow:hidden
}
.about-final-box:after{content:"✦";position:absolute;right:220px;top:-24px;color:var(--mint);font-size:84px;opacity:.17}
.about-final-box h2{color:#fff;margin:0;max-width:720px;font-size:clamp(2rem,3.8vw,3.1rem);line-height:1.08}
.about-final-box .eyebrow{color:var(--mint)}
@media(max-width:1000px){
.about-hero-grid,.origin-grid,.founder-grid,.care-head{grid-template-columns:1fr}
.growth-grid,.care-grid,.about-proof-grid{grid-template-columns:1fr}
.about-hero-visual,.founder-photo{min-height:430px}
}
@media(max-width:720px){
.about-final-box{grid-template-columns:1fr;padding:36px 28px}
.about-final-box .btn{width:100%}
}
.care-head > div:last-child{
  align-self:end;
  padding-bottom:6px;
}
.care-head > div:last-child p{
  margin-bottom:0;
}
@media(max-width:1000px){
.care-head > div:last-child{
    align-self:start;
    padding-bottom:0;
  }
}
.contact-hero{
  padding:106px 0 74px;
  background:
    radial-gradient(circle at 84% 18%,rgba(127,190,116,.18),transparent 24%),
    radial-gradient(circle at 12% 10%,rgba(243,90,158,.12),transparent 22%),
    linear-gradient(145deg,#fffafc 0%,#f5fff6 100%);
}
.contact-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.contact-hero h1{font-size:clamp(3rem,6vw,5.2rem);line-height:.98;max-width:760px;margin-bottom:24px}
.contact-hero p{font-size:1.12rem;color:#506153;max-width:650px}
.contact-card{
  background:#fff;border-radius:34px;padding:34px;box-shadow:0 28px 65px rgba(23,61,34,.12);
  border:1px solid rgba(23,61,34,.08)
}
.contact-card h3{font-size:1.65rem;margin-bottom:10px}
.contact-card p{color:#627063;margin-bottom:20px}
.contact-list{display:grid;gap:14px}
.contact-item{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid rgba(23,61,34,.08)}
.contact-item:last-child{border-bottom:0}
.contact-icon{
  width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#f9edf3;color:var(--pink);font-weight:900;flex:0 0 auto
}
.contact-item strong{display:block;color:var(--forest);margin-bottom:3px}
.contact-item span,.contact-item a{color:#617064}
.quote-form-section{padding:90px 0;background:#fff}
.quote-form-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:58px;align-items:start}
.quote-copy p{color:#566758;font-size:1.05rem;max-width:540px}
.quote-bullets{display:grid;gap:12px;margin-top:24px}
.quote-bullets div{display:flex;gap:10px;color:var(--forest);font-weight:800}
.quote-bullets div:before{content:"✦";color:var(--mint)}
.quote-form{
  background:#fbf7f9;border-radius:30px;padding:34px;border:1px solid rgba(23,61,34,.09)
}
.quote-form form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.quote-form .full{grid-column:1/-1}
.quote-form label{display:block;font-size:.82rem;font-weight:900;color:var(--forest);margin-bottom:7px}
.quote-form input,.quote-form select,.quote-form textarea{
  width:100%;padding:14px 15px;border-radius:14px;border:1px solid rgba(23,61,34,.14);
  background:#fff;color:var(--forest);font:inherit;outline:none
}
.quote-form textarea{min-height:150px;resize:vertical}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(127,190,116,.12)}
.form-note{font-size:.8rem;color:#748076;margin-top:10px}
.contact-trust{padding:82px 0;background:#fbf7f9}
.contact-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.contact-trust-card{background:#fff;border-radius:24px;padding:28px;border:1px solid rgba(23,61,34,.09)}
.contact-trust-card span{color:var(--pink);font-weight:900;font-size:.78rem;letter-spacing:.08em}
.contact-trust-card h3{margin:9px 0 8px}
.contact-trust-card p{color:#647064;margin:0}
.contact-area{padding:88px 0;background:var(--forest);color:#fff}
.contact-area-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:start}
.contact-area h2{color:#fff}
.contact-area p{color:#c9d7cb}
.city-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.city-pills span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#fff;font-weight:900}
.response-card{background:#fff;color:var(--forest);border-radius:28px;padding:30px}
.response-card h3{font-size:1.55rem}
.response-card p{color:#617064}
.response-card .mini{display:block;margin-top:12px;color:#7c887f;font-size:.82rem}
.contact-final{padding:84px 0;background:linear-gradient(135deg,#f8edf3,#eff9f0)}
.contact-final-box{
  background:#fff;border-radius:32px;padding:42px;display:grid;grid-template-columns:1fr auto;
  align-items:center;gap:30px;box-shadow:0 24px 55px rgba(23,61,34,.09)
}
.contact-final-box h2{margin:0;max-width:700px;font-size:clamp(2rem,3.8vw,3.1rem);line-height:1.08}
@media(max-width:1000px){
.contact-hero-grid,.quote-form-grid,.contact-area-grid{grid-template-columns:1fr}
.contact-trust-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
.quote-form form{grid-template-columns:1fr}
.quote-form .full{grid-column:auto}
.contact-final-box{grid-template-columns:1fr}
.contact-final-box .btn{width:100%}
}
.nav-links a[aria-current="page"]{
  color:var(--pink);
  font-weight:900;
}
.nav-links a[aria-current="page"]::after{
  content:"";
  display:block;
  height:2px;
  border-radius:99px;
  background:var(--pink);
  margin-top:4px;
}
html{scroll-behavior:smooth}
.home-services-pair{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:34px}
.home-service-block{display:grid;grid-template-rows:auto 1fr;gap:18px}
.home-service-block .service-photo{min-height:320px}
.home-service-block .services-grid.single,.home-service-block .services-grid.single .card{height:100%}
.service-index-grid.six{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px){.home-services-pair{grid-template-columns:1fr}.service-index-grid.six{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.service-index-grid.six{grid-template-columns:1fr}}
.footer-socials{
  display:flex;
  gap:10px;
  margin-top:18px;
  flex-wrap:wrap;
}
.footer-socials .social-icon{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
  color:white;
}
.footer-socials .social-icon:hover{
  background:var(--pink);
  border-color:var(--pink);
}
.home-services-pair{display:none}
.home-services-matrix{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-areas:
    "resphoto rescard"
    "comcard comphoto";
  gap:22px;
  margin-top:34px;
  align-items:stretch;
}
.matrix-residential-photo{grid-area:resphoto}
.matrix-residential-card{grid-area:rescard}
.matrix-commercial-card{grid-area:comcard}
.matrix-commercial-photo{grid-area:comphoto}
.home-services-matrix .service-photo{
  min-height:360px;
  height:100%;
}
.home-services-matrix .services-grid.single{
  margin-top:0 !important;
  height:100%;
}
.home-services-matrix .services-grid.single .card{
  height:100%;
  min-height:360px;
  align-content:center;
}
.service-index{
  background:
    radial-gradient(circle at 12% 18%,rgba(243,90,158,.07),transparent 24%),
    radial-gradient(circle at 88% 82%,rgba(127,190,116,.10),transparent 26%),
    #fff;
}
.service-index-grid.six{
  gap:16px;
}
.service-index-card{
  position:relative;
  overflow:hidden;
  min-height:150px;
  padding:24px 20px 22px;
  background:linear-gradient(145deg,#ffffff 0%,#fffafd 100%);
  box-shadow:0 14px 34px rgba(23,61,34,.06);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.service-index-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,var(--pink),var(--mint));
  opacity:.85;
}
.service-index-card span{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#f9edf3;
  color:var(--pink);
  margin-bottom:16px;
  letter-spacing:0;
}
.service-index-card strong{
  display:block;
  font-size:1.04rem;
  line-height:1.25;
}
.service-index-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 42px rgba(23,61,34,.10);
  border-color:rgba(127,190,116,.35);
}
@media(max-width:1000px){
.home-services-matrix{
    grid-template-columns:1fr;
    grid-template-areas:
      "resphoto"
      "rescard"
      "comcard"
      "comphoto";
  }
.home-services-matrix .service-photo,
  .home-services-matrix .services-grid.single .card{
    min-height:320px;
  }
}
.service-detail-grid{
  align-items:center;
}
.service-image{
  min-height:0;
  height:430px;
  aspect-ratio:4 / 3;
}
.service-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
#regular .service-image img{object-position:center 58%}
#deep .service-image img{object-position:center 46%}
#decluttering .service-image img{object-position:center 52%}
#move .service-image img{object-position:center 54%}
#post-construction .service-image img{object-position:center 52%}
#commercial .service-image img{object-position:center 45%}
.portfolio-grid-section{
  padding-bottom:68px;
}
.portfolio-masonry{
  columns:3 320px;
  column-gap:18px;
}
.portfolio-item{
  break-inside:avoid;
  display:inline-block;
  width:100%;
  vertical-align:top;
}
.portfolio-item img{
  width:100%;
  height:250px;
  object-fit:cover;
  object-position:center;
  display:block;
}
.portfolio-item-copy{
  min-height:122px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.portfolio-item-copy h3{
  margin-top:0;
}
.before-after{
  padding-top:76px;
}
@media(max-width:1000px){
.service-image{
    height:390px;
    aspect-ratio:auto;
  }
}
@media(max-width:700px){
.service-image{
    height:330px;
  }
.portfolio-grid-section{
    padding-bottom:58px;
  }
.before-after{
    padding-top:66px;
  }
}
.portfolio-masonry .portfolio-item:nth-of-type(1),
.portfolio-masonry .portfolio-item:nth-of-type(2){
  display:inline-block;
  width:100%;
  vertical-align:top;
}
.portfolio-masonry .portfolio-item:nth-of-type(1) img,
.portfolio-masonry .portfolio-item:nth-of-type(2) img{
  height:250px;
  object-fit:cover;
}
.portfolio-masonry .portfolio-item:nth-of-type(1) .portfolio-item-copy,
.portfolio-masonry .portfolio-item:nth-of-type(2) .portfolio-item-copy{
  min-height:122px;
  padding:18px 20px 20px;
}
.before-after-grid{
  align-items:stretch;
}
.before-after-grid .ba-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.before-after-grid .ba-images{
  flex:0 0 auto;
}
.before-after-grid .ba-copy{
  flex:1 1 auto;
  min-height:128px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.before-after-grid .ba-copy h3{
  margin-top:0;
}
.before-after-grid .ba-copy p{
  margin-bottom:0;
}
.portfolio-masonry{
  columns:auto !important;
  column-count:unset !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.portfolio-masonry .portfolio-item{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  margin:0 !important;
  break-inside:auto !important;
  height:100% !important;
  vertical-align:initial !important;
}
.portfolio-masonry .portfolio-item img{
  width:100% !important;
  height:250px !important;
  object-fit:cover !important;
  display:block !important;
  flex:0 0 250px !important;
}
.portfolio-masonry .portfolio-item-copy{
  min-height:0 !important;
  height:auto !important;
  flex:1 1 auto !important;
  padding:18px 20px 20px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}
.before-after-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:stretch !important;
}
.before-after-grid .ba-card{
  display:grid !important;
  grid-template-rows:300px 150px !important;
  height:450px !important;
}
.before-after-grid .ba-images{
  height:300px !important;
  min-height:300px !important;
}
.before-after-grid .ba-images figure{
  height:300px !important;
  min-height:300px !important;
}
.before-after-grid .ba-copy{
  box-sizing:border-box !important;
  height:150px !important;
  min-height:150px !important;
  max-height:150px !important;
  padding:20px 22px !important;
  overflow:hidden !important;
  display:block !important;
}
.before-after-grid .ba-copy h3{
  margin:0 0 6px !important;
}
.before-after-grid .ba-copy p{
  margin:0 !important;
}
@media(max-width:1000px){
.portfolio-masonry{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:720px){
.portfolio-masonry{
    grid-template-columns:1fr !important;
  }
.before-after-grid{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   PINKMINTY TECHNICAL V1
   Accessibility + mobile navigation + responsive hardening.
   No intended visual redesign on desktop.
   ========================================================= */

.skip-link{
  position:fixed;
  left:16px;
  top:-80px;
  z-index:9999;
  padding:12px 16px;
  border-radius:10px;
  background:var(--forest);
  color:#fff;
  font-weight:900;
  transition:top .18s ease;
}
.skip-link:focus{top:16px}

:focus-visible{
  outline:3px solid rgba(243,90,158,.55);
  outline-offset:3px;
  border-radius:6px;
}

.menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border:1px solid rgba(23,61,34,.14);
  border-radius:50%;
  background:#fff;
  color:var(--forest);
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex:0 0 auto;
}
.menu-toggle-lines,
.menu-toggle-lines::before,
.menu-toggle-lines::after{
  display:block;
  width:19px;
  height:2px;
  border-radius:99px;
  background:currentColor;
  position:relative;
  transition:transform .2s ease, opacity .2s ease;
}
.menu-toggle-lines::before,
.menu-toggle-lines::after{
  content:"";
  position:absolute;
  left:0;
}
.menu-toggle-lines::before{top:-6px}
.menu-toggle-lines::after{top:6px}

.menu-toggle[aria-expanded="true"] .menu-toggle-lines{background:transparent}
.menu-toggle[aria-expanded="true"] .menu-toggle-lines::before{top:0;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle-lines::after{top:0;transform:rotate(-45deg)}

.mobile-menu-backdrop{
  display:none;
  position:fixed;
  inset:0;
  z-index:899;
  background:rgba(12,33,19,.28);
  backdrop-filter:blur(2px);
}

@media(max-width:900px){
  header{z-index:950}
  .nav{
    min-height:72px;
    gap:14px;
  }
  .menu-toggle{display:inline-flex}

  .nav-right{
    display:none !important;
    position:fixed;
    z-index:951;
    top:82px;
    left:16px;
    right:16px;
    max-height:calc(100dvh - 98px);
    overflow:auto;
    padding:24px;
    border:1px solid rgba(23,61,34,.10);
    border-radius:26px;
    background:rgba(255,255,255,.98);
    box-shadow:0 26px 70px rgba(23,61,34,.18);
    flex-direction:column;
    align-items:stretch;
    gap:22px;
  }
  body.menu-open .nav-right{display:flex !important}
  body.menu-open .mobile-menu-backdrop{display:block}

  .nav-links{
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:4px !important;
  }
  .nav-links a{
    display:block;
    padding:12px 4px;
    font-size:1.05rem;
    border-bottom:1px solid rgba(23,61,34,.08);
  }
  .nav-links a[aria-current="page"]::after{display:none}

  .header-socials{
    display:flex !important;
    gap:10px;
    padding-top:2px;
  }
  .header-socials .social-icon{
    width:38px;
    height:38px;
  }

  .nav-cta{
    width:100%;
    justify-content:center;
    margin-left:0;
  }

  body.menu-open{overflow:hidden}

  .hero-grid,
  .services-hero-grid,
  .portfolio-hero-grid,
  .about-hero-grid,
  .contact-hero-grid,
  .quote-form-grid,
  .contact-area-grid,
  .origin-grid,
  .founder-grid,
  .care-head{
    min-width:0;
  }

  img{max-width:100%}
}

@media(max-width:640px){
  /* Clean 57: larger Home hero headline on mobile only.
     The headline block follows the same usable width as the paragraph below. */
  .hero h1{
    font-size:4.35rem;
    width:100%;
    max-width:650px;
    margin-left:0;
    margin-right:0;
  }
  .wrap{width:min(100% - 32px, 1180px)}
  section{overflow-wrap:anywhere}
  .btn{max-width:100%}
  input,select,textarea,button{font-size:16px}
}

/* Reduce motion when requested by the visitor. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto !important}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

/* V2 CLEAN — content-only integration. Technical V1 geometry remains authoritative. */
.brand-official{width:124px;height:38px;display:flex;align-items:center;overflow:visible;flex:0 0 auto}
.brand-official img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.footer-logo{height:38px}
.hero-photo-real{background:none}
.hero-photo-real img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.photo-block .meet-photo-real{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}

/* =========================================================
   V2 CLEAN 5 — image geometry isolation test
   Keep Technical V1 frames/layout authoritative.
   New photos fill the existing frames but do not participate
   in grid/row sizing calculations.
   ========================================================= */
.home-services-matrix .service-photo{
  position:relative;
  overflow:hidden;
}
.home-services-matrix .service-photo > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  display:block;
  z-index:0;
}
.home-services-matrix .service-photo::after{z-index:1}
.home-services-matrix .service-photo-label{z-index:2}

.portfolio-gallery .portfolio-main,
.portfolio-gallery .portfolio-thumb{
  position:relative;
  overflow:hidden;
}
.portfolio-gallery .portfolio-main > img,
.portfolio-gallery .portfolio-thumb > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  display:block;
  z-index:0;
}
.portfolio-gallery .portfolio-main::after,
.portfolio-gallery .portfolio-thumb::after{z-index:1}
.portfolio-gallery .portfolio-note{z-index:2}

/* =========================================================
   V2 CLEAN 6 — responsive frame isolation
   Desktop geometry from Clean 5 remains untouched.
   Once the Home Services grid stacks to one column, remove
   percentage-height dependency from auto-sized grid tracks.
   Images remain absolutely contained inside the V1 frames.
   ========================================================= */
/* Tablet (701–1000px): restore the Technical V1 percentage-height
   behavior. The absolutely positioned images remain isolated and
   therefore cannot influence the grid track size. */
@media (min-width:701px) and (max-width:1000px){
  .home-services-matrix .service-photo{
    height:100%;
    min-height:320px;
    min-width:0;
    width:100%;
  }
  .home-services-matrix .services-grid.single{
    height:100%;
    min-width:0;
    width:100%;
  }
  .home-services-matrix .services-grid.single .card{
    height:100%;
    min-height:320px;
    min-width:0;
    width:100%;
  }
}

/* Mobile: preserve the Clean 6 behavior that was already visually approved. */
@media (max-width:700px){
  .home-services-matrix .service-photo{
    height:auto;
    min-height:320px;
    min-width:0;
    width:100%;
  }
  .home-services-matrix .services-grid.single{
    height:auto;
    min-width:0;
    width:100%;
  }
  .home-services-matrix .services-grid.single .card{
    height:auto;
    min-height:320px;
    min-width:0;
    width:100%;
  }
}

/* Our Work: keep responsive V1 frame heights authoritative and
   make every real photo purely a fill layer at tablet/mobile widths. */
@media (max-width:960px){
  .portfolio-gallery,
  .portfolio-main,
  .portfolio-side,
  .portfolio-thumb{
    min-width:0;
    width:100%;
  }
}
@media (max-width:700px){
  .portfolio-main{
    height:auto;
    min-height:260px;
  }
  .portfolio-side{
    height:auto;
    min-height:160px;
  }
  .portfolio-thumb{
    height:auto;
    min-height:0;
  }
}

/* =========================================================
   V2 CLEAN 9 — tablet service-photo frame ratio
   Technical V1 stock photography rendered the stacked tablet
   service-photo frames at a landscape 3:2 proportion. Keep the
   replacement images isolated and crop them inside that frame.
   Desktop (>1000px) and mobile (<=700px) remain untouched.
   ========================================================= */
@media (min-width:701px) and (max-width:1000px){
  .home-services-matrix .service-photo{
    height:auto;
    aspect-ratio:3 / 2;
    min-height:320px;
  }
}

/* =========================================================
   V2 CLEAN 10 — tablet Our Work gallery frame ratio
   Preserve the Technical V1 tablet geometry independently of
   replacement-image intrinsic dimensions. Images remain absolute
   fill layers; only the gallery frame receives the visual ratio.
   Desktop (>960px) and mobile (<=700px) remain untouched.
   ========================================================= */
@media (min-width:701px) and (max-width:960px){
  .portfolio-gallery{
    height:auto;
    aspect-ratio:3 / 2;
    min-height:380px;
  }
  .portfolio-main,
  .portfolio-side{
    height:100%;
    min-height:0;
  }
  .portfolio-thumb{
    min-height:0;
  }
}

/* =========================================================
   V2 CLEAN 11 — tablet Our Work equal side frames
   Keep the overall tablet gallery geometry from Clean 10, but
   force the right-hand column into two exactly equal tracks.
   Replacement images stay isolated and cannot affect sizing.
   ========================================================= */
@media (min-width:701px) and (max-width:960px){
  .portfolio-side{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:minmax(0, 1fr) minmax(0, 1fr);
    gap:10px;
    height:100%;
    min-height:0;
  }
  .portfolio-side .portfolio-thumb{
    height:auto;
    min-height:0;
    min-width:0;
  }
}

/* V2 CLEAN 12 — remove the 100% height conflict from tablet side thumbnails.
   Each thumbnail now fills only its own equal grid track. */

/* =========================================================
   V2 CLEAN 13 — tablet Our Work visual geometry correction
   Technical V1 visual logic: each right-side thumbnail is 3:2;
   the main frame stretches to the combined height of both thumbs.
   Replacement images remain absolute fill layers and never size frames.
   Desktop (>960px) and mobile (<=700px) remain untouched.
   ========================================================= */
@media (min-width:701px) and (max-width:960px){
  .portfolio-gallery{
    height:auto;
    aspect-ratio:auto;
    min-height:380px;
    align-items:stretch;
  }

  .portfolio-main{
    height:auto;
    min-height:0;
    align-self:stretch;
  }

  .portfolio-side{
    height:auto;
    min-height:0;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    gap:10px;
    align-self:start;
  }

  .portfolio-side .portfolio-thumb{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:3 / 2;
  }
}

/* CLEAN14 — real reviews; preserve Technical V1 card language while balancing three testimonials */
@media (min-width:901px){
  .reviews-grid-real{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (min-width:641px) and (max-width:900px){
  .reviews-grid-real{grid-template-columns:repeat(2,minmax(0,1fr));}
  .reviews-grid-real .review:last-child{grid-column:1/-1;}
}

/* =========================================================
   V2 CLEAN 16 — HOME HERO BACKGROUND REFINEMENT ONLY
   Preserve Clean 15 geometry and all non-Hero sections.
   Remove decorative circles from the image frame; retain
   the highlighted frame and introduce a richer editorial
   background using soft diagonal layers + subtle linework.
   ========================================================= */
.hero{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(118deg, transparent 0 58%, rgba(127,190,116,.085) 58.1% 70%, transparent 70.1%),
    linear-gradient(132deg, rgba(243,90,158,.055) 0 17%, transparent 17.1% 73%, rgba(127,190,116,.05) 73.1% 100%),
    repeating-linear-gradient(90deg, rgba(23,61,34,.022) 0 1px, transparent 1px 46px),
    linear-gradient(180deg,#fffdfb 0%,#fffafc 48%,#f9fdf8 100%);
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  width:54%;
  height:145%;
  right:-20%;
  top:-24%;
  border-radius:54px;
  background:linear-gradient(145deg,rgba(243,90,158,.10),rgba(255,255,255,.12) 43%,rgba(127,190,116,.15));
  transform:rotate(-10deg);
  filter:blur(2px);
  pointer-events:none;
  z-index:0;
}
.hero::after{
  content:"";
  position:absolute;
  left:-7%;
  bottom:-28%;
  width:48%;
  height:70%;
  border-radius:48px;
  background:linear-gradient(132deg,rgba(127,190,116,.08),rgba(255,255,255,0) 66%);
  transform:rotate(8deg);
  pointer-events:none;
  z-index:0;
}
.hero-grid{position:relative;z-index:1}
.hero-card{
  background:
    linear-gradient(145deg,rgba(255,255,255,.97) 0%,rgba(250,237,244,.96) 53%,rgba(237,248,236,.98) 100%);
  box-shadow:
    0 26px 64px rgba(23,61,34,.14),
    0 0 0 1px rgba(23,61,34,.04),
    inset 0 1px 0 rgba(255,255,255,.72);
}
/* No decorative circles attached to the image frame. */
.hero-card::before,
.hero-card::after{content:none}
.hero-photo-real{
  overflow:hidden;
  z-index:1;
  box-shadow:0 18px 42px rgba(23,61,34,.14);
  border:1px solid rgba(255,255,255,.76);
}
.hero-photo-real img{border-radius:inherit}
.hero-photo-real::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,transparent 58%,rgba(23,61,34,.10) 100%);
  pointer-events:none;
}
.hero .metric{z-index:3}

@media(max-width:640px){
  .hero{
    background:
      linear-gradient(124deg, transparent 0 58%, rgba(127,190,116,.075) 58.1% 76%, transparent 76.1%),
      repeating-linear-gradient(90deg, rgba(23,61,34,.018) 0 1px, transparent 1px 34px),
      linear-gradient(180deg,#fffdfb 0%,#fffafc 52%,#f9fdf8 100%);
  }
  .hero::before{width:72%;height:118%;right:-44%;top:-15%;border-radius:40px}
  .hero::after{width:66%;height:52%;left:-30%;bottom:-20%;border-radius:36px}
}


/* Clean 21 — Services Hero: preserve Technical V1 geometry; image fills the frame without sizing it */
.services-hero-visual > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}
.services-hero-card{z-index:2;}

/* Clean 31 — Services Hero tablet-only card position */
@media (min-width:701px) and (max-width:1000px){
  .services-hero-card{
    top:24px;
    bottom:auto;
  }
}


/* Clean 33 — Portfolio real-work imagery.
   Technical V1 geometry remains authoritative; images only fill existing frames. */
.portfolio-hero-main,
.portfolio-hero-stack > div,
.portfolio-item,
.ba-images figure{
  position:relative;
  overflow:hidden;
}
.portfolio-hero-main > img,
.portfolio-hero-stack > div > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  display:block;
}
.portfolio-hero-main > img{object-position:center 52%;}
.portfolio-hero-stack > div:nth-child(1) > img{object-position:center 58%;}
.portfolio-hero-stack > div:nth-child(2) > img{object-position:center 58%;}
.portfolio-item > img{
  width:100% !important;
  height:250px !important;
  object-fit:cover !important;
  display:block !important;
  flex:0 0 250px !important;
}
.portfolio-item:nth-of-type(1) > img{object-position:center 52% !important;}
.portfolio-item:nth-of-type(2) > img{object-position:center 52% !important;}
.portfolio-item:nth-of-type(3) > img{object-position:center 54% !important;}
.portfolio-item:nth-of-type(4) > img{object-position:center 58% !important;}
.portfolio-item:nth-of-type(5) > img{object-position:center 48% !important;}
.portfolio-item:nth-of-type(6) > img{object-position:center 44% !important;}
.ba-images figure > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  display:block;
}
.before-after-grid .ba-card:nth-child(1) .ba-images figure > img{object-position:center 48%;}
.before-after-grid .ba-card:nth-child(2) .ba-images figure > img{object-position:center 52%;}

/* Clean 37 — align A Closer Look text columns on desktop only */
@media (min-width:1001px){
  .portfolio-intro-copy{
    padding-top:34px;
  }
}

/* Clean 38 — definitive A Closer Look alignment after note-card removal */
.portfolio-intro-grid{
  column-gap:60px;
  row-gap:0;
}
.portfolio-intro-grid > div:first-child h2{
  margin-bottom:0;
}
@media (min-width:1001px){
  .portfolio-intro-copy{
    padding-top:32px;
  }
}
@media (max-width:1000px){
  .portfolio-intro-grid{
    row-gap:24px;
  }
  .portfolio-intro-copy{
    padding-top:0;
  }
}
@media (max-width:700px){
  .portfolio-intro-grid{
    row-gap:20px;
  }
}

/* Clean 39 — About Us: real institutional imagery while preserving Technical V1 geometry */
.about-hero-visual,
.founder-photo{
  position:relative;
  overflow:hidden;
}
.about-hero-visual > img,
.founder-photo > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  display:block;
}
.about-hero-photo{
  object-position:center 24%;
}
.claudia-founder-photo{
  object-position:center 18%;
}
.founder-role{
  margin:-4px 0 20px;
  color:var(--pink);
  font-weight:900;
  letter-spacing:.04em;
  font-size:.92rem;
  text-transform:uppercase;
}
@media (min-width:701px) and (max-width:1000px){
  .about-hero-photo{object-position:center 20%}
  .claudia-founder-photo{object-position:center 16%}
}
@media (max-width:700px){
  .about-hero-photo{object-position:center 18%}
  .claudia-founder-photo{object-position:center 14%}
}

/* Clean 41 — definitive text-column alignment for Our Story + The PinkMinty Way */
.origin-grid,
.care-head{
  row-gap:0;
}

.origin-grid > div:first-child h2,
.care-head > div:first-child h2{
  margin-bottom:0;
}

/* Desktop: align body copy with the first line of the section title,
   not with the eyebrow above it. */
@media (min-width:1001px){
  .origin-copy,
  .care-head > div:last-child{
    align-self:start;
    padding-top:32px;
    padding-bottom:0;
  }

  .origin-copy > :first-child,
  .care-head > div:last-child > :first-child{
    margin-top:0;
  }
}

/* Tablet: once the grid stacks, use an intentional compact vertical gap. */
@media (max-width:1000px){
  .origin-grid,
  .care-head{
    row-gap:24px;
  }

  .origin-copy,
  .care-head > div:last-child{
    align-self:start;
    padding-top:0;
    padding-bottom:0;
  }

  .origin-copy > :first-child,
  .care-head > div:last-child > :first-child{
    margin-top:0;
  }
}

/* Mobile: slightly tighter separation while preserving hierarchy. */
@media (max-width:700px){
  .origin-grid,
  .care-head{
    row-gap:20px;
  }
}

/* Clean 44 — Contact content finalization + responsive hardening */
#quote-form{
  scroll-margin-top:96px;
}
.quote-form select,
.quote-form input,
.quote-form textarea{
  min-width:0;
}
@media (max-width:1000px){
  .contact-hero-grid,
  .quote-form-grid,
  .contact-area-grid{
    row-gap:32px;
  }
}
@media (max-width:700px){
  .contact-hero-grid,
  .quote-form-grid,
  .contact-area-grid{
    row-gap:24px;
  }
}

/* Clean 45 — Contact visual refinements */
.contact-icon svg{
  width:17px;
  height:17px;
  display:block;
  fill:currentColor;
}
.quote-form .form-actions{
  align-items:center;
}


/* Clean 46 — Contact form backend states */
.form-honeypot{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
#quote-request-form button[disabled]{
  opacity:.72;
  cursor:wait;
}
.form-status{
  margin-top:16px;
  padding:13px 15px;
  border-radius:14px;
  font-size:.92rem;
  font-weight:800;
  line-height:1.45;
}
.form-status.is-success{
  background:rgba(127,190,116,.14);
  border:1px solid rgba(73,132,67,.24);
  color:var(--forest);
}
.form-status.is-error{
  background:rgba(243,90,158,.09);
  border:1px solid rgba(190,49,105,.20);
  color:#8b274d;
}

/* =========================================================
   TYPOGRAPHY TEST — BREE WEBFONT (SELF-HOSTED)
   Licensed font files are expected in /assets/fonts/
   ========================================================= */

@font-face {
  font-family: "Bree Web";
  src: url("../fonts/BreeCYR-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Bree Web";
  src: url("../fonts/BreeCYR-Semibold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Bree Web";
  src: url("../fonts/BreeCYR-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

/* Preserve approved geometry; replace only display typography. */
html body h1,
html body h2,
html body h3,
html body .value-lead,
html body .portfolio-copy h3,
html body .services-hero-card strong,
html body .trust-fact strong,
html body .quote-box strong,
html body .about-founder-tag strong,
html body .origin-highlight,
html body .founder-signature,
html body .about-proof-item strong {
  font-family: "Bree Web", "Bree", "Bree Pro", sans-serif !important;
}

/* Brand hierarchy */
html body h1 {
  font-weight: 700 !important;
  letter-spacing: -0.012em;
}
html body h2 {
  font-weight: 600 !important;
  letter-spacing: -0.010em;
}
html body h3 {
  font-weight: 400 !important;
  letter-spacing: -0.015em;
}

/* Editorial/display exceptions mapped to Bree */
html body .value-lead,
html body .portfolio-copy h3 {
  font-weight: 400 !important;
}
html body .services-hero-card strong,
html body .trust-fact strong,
html body .quote-box strong,
html body .about-founder-tag strong,
html body .origin-highlight,
html body .founder-signature,
html body .about-proof-item strong {
  font-weight: 600 !important;
}

/* Official body/UI system */
html body,
html body button,
html body input,
html body select,
html body textarea {
  font-family: "Nunito Sans", sans-serif;
}



@media (max-width:640px){
  .footer-bottom{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }
  .footer-bottom-left,
  .footer-bottom-center,
  .footer-bottom-right{
    justify-self:center;
    text-align:center;
  }
}

/* =========================================================
   PRIVACY POLICY — SPACING + SUBTLE DIVIDERS
   ========================================================= */
.privacy-hero{
  padding-bottom:52px;
}

.privacy-hero h1{
  margin-bottom:18px;
}

.privacy-hero .section-lead{
  margin-top:0;
  margin-bottom:0;
}

.privacy-content{
  padding-top:28px;
}

.privacy-policy-list h2{
  margin-top:0;
}

.privacy-policy-list h2:not(:first-child){
  margin-top:34px;
  padding-top:30px;
  border-top:1px solid rgba(23,61,34,.12);
}

.privacy-policy-list p{
  margin-bottom:0;
}

@media(max-width:640px){
  .privacy-hero{
    padding-bottom:38px;
  }

  .privacy-content{
    padding-top:18px;
  }

  .privacy-policy-list h2:not(:first-child){
    margin-top:28px;
    padding-top:24px;
  }
}

