:root{--ink:#121212;--muted:#606060;--paper:#fff;--soft:#f5f3ef;--line:#e7e4de;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Manrope',Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.45}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.site-header{min-height:82px;display:grid;grid-template-columns:220px 1fr auto auto;align-items:center;gap:26px;padding:8px 4vw;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);position:sticky;top:0;z-index:50}.brand img{width:188px;height:62px;object-fit:contain}.nav{display:flex;gap:24px;font-size:13px;text-transform:uppercase;font-weight:600}.nav a{padding:10px 0}.nav a.active{border-bottom:2px solid #111}.header-contact{display:flex;flex-direction:column;font-size:13px;gap:2px}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border:1px solid #111;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.02em}.btn-dark{background:#111;color:#fff}.btn-light{background:#fff;color:#111}
.hero{
  min-height:620px;
  position:relative;
  background:url('assets/hero-v8-desktop.webp?v=14') center center/cover no-repeat;
  display:flex;
  align-items:center;
}
.hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,
    rgba(255,255,255,.93) 0%,
    rgba(255,255,255,.84) 22%,
    rgba(255,255,255,.55) 36%,
    rgba(255,255,255,.12) 50%,
    rgba(255,255,255,0) 68%);
}
.hero-copy{
  position:relative;
  width:min(620px,88vw);
  margin-left:5vw;
  padding:64px 0;
  z-index:1;
}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;margin:0 0 14px}.hero h1{
  font-family:'Manrope',Arial,Helvetica,sans-serif;
  font-size:clamp(48px,4.35vw,66px);
  line-height:1.08;
  letter-spacing:-.05em;
  margin:0 0 28px;
  max-width:590px;
  font-weight:600;
  color:#111;
  opacity:1;
  text-shadow:none;
}
.lead{
  font-size:25px;
  font-weight:500;
  margin-bottom:10px;
  color:#171717;
  opacity:1;
}
.support{
  font-size:17px;
  max-width:560px;
  color:#303030;
  opacity:1;
}
.actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.section{padding:60px 4vw}.section-title{max-width:var(--max);margin:0 auto 24px}.section-title h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.03em;margin:0;font-weight:600}.product-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.product-card{background:var(--soft);transition:transform .2s ease}.product-card:hover{transform:translateY(-3px)}.product-card img{width:100%;height:220px;object-fit:cover}.product-card div{padding:16px 18px 20px}.product-card h3{font-size:16px;text-transform:uppercase;margin:0 0 5px}.product-card p{margin:0;color:var(--muted)}
.process{background:var(--soft)}.steps{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:start;gap:18px}.step span{display:flex;width:46px;height:46px;border-radius:50%;align-items:center;justify-content:center;background:#e3e1dc;font-size:20px;font-weight:700;margin-bottom:18px}.step h3{text-transform:uppercase;font-size:14px;margin:0 0 8px}.step p{color:var(--muted);margin:0}.arrow{font-size:24px;margin-top:12px;color:#555}
.footer{padding:30px 5vw;display:grid;grid-template-columns:230px 1fr 1fr;gap:40px;align-items:center;border-top:1px solid var(--line)}.footer img{width:170px}.footer-contact,.footer-location,.footer.compact div{display:flex;flex-direction:column;gap:5px}.whatsapp{position:fixed;right:22px;bottom:22px;width:52px;height:52px;border-radius:50%;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 7px 20px #0003}
.page-hero{max-width:var(--max);margin:auto;padding:100px 4vw 65px}.page-hero.narrow{max-width:900px}.page-hero h1{font-size:clamp(46px,6vw,76px);line-height:1.02;letter-spacing:-.045em;margin:0 0 22px;font-weight:600}.page-hero p:not(.eyebrow){font-size:19px;color:#444;max-width:850px}.category{max-width:var(--max);margin:auto;padding:30px 4vw 70px;display:grid;grid-template-columns:1.05fr 1fr;gap:55px;align-items:center}.category.reverse img{order:2}.category img{height:430px;width:100%;object-fit:cover}.category h2{font-size:42px;letter-spacing:-.03em;margin:0 0 14px;font-weight:600}.category p{font-size:17px;color:#555}.category .brands{font-size:14px;line-height:1.8;color:#222}.project-grid{max-width:var(--max);margin:auto;padding:0 4vw 50px;display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.project-grid article{background:var(--soft)}.project-grid img{width:100%;height:480px;object-fit:cover}.project-grid h2{padding:18px 18px 0;margin:0}.project-grid p{padding:5px 18px 20px;margin:0;color:#666}.project-note{max-width:var(--max);margin:0 auto 60px;padding:0 4vw;color:#666}.values{max-width:var(--max);margin:0 auto 70px;padding:0 4vw;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.values div{padding:28px;background:var(--soft)}.values h2{margin-top:0}.contact-wrap{max-width:var(--max);margin:auto;padding:10px 4vw 80px;display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.contact-wrap h2{font-size:48px;margin:0 0 15px;font-weight:600}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form label{font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:.04em}.form input,.form select,.form textarea{width:100%;margin-top:7px;padding:13px;border:1px solid #ccc;background:#fff;font:inherit}.form textarea,.form label:nth-last-child(2),.form button{grid-column:1/-1}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto;padding:8px 5vw}.header-contact,.header-cta{display:none}.menu-toggle{display:block;background:#fff;border:1px solid #bbb;padding:8px 12px}.nav{display:none;grid-column:1/-1;flex-direction:column;padding:8px 0 18px}.nav.open{display:flex}.hero{min-height:600px}.product-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.arrow{display:none}.category,.contact-wrap{grid-template-columns:1fr}.category.reverse img{order:0}.values{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.footer{grid-template-columns:1fr;text-align:center}.footer img{margin:auto}.footer-contact,.footer-location,.footer.compact div{align-items:center}}
@media(max-width:640px){.brand img{width:145px}.hero{background-position:center}.hero-shade{background:linear-gradient(rgba(255,255,255,.84),rgba(255,255,255,.94))}.hero-copy{margin:auto;padding:60px 6vw}.hero h1{font-size:48px}.lead{font-size:22px}.product-grid,.steps,.form{grid-template-columns:1fr}.product-card img{height:260px}.category img,.project-grid img{height:340px}.form textarea,.form label:nth-last-child(2),.form button{grid-column:auto}}

/* V4 hero refinement */
.hero{
  min-height:630px;
  background-image:url('assets/hero-pool-olive-v4.jpg');
  background-position:center 58%;
  background-size:cover;
}
.hero-shade{
  background:linear-gradient(90deg,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.82) 25%,
    rgba(255,255,255,.50) 39%,
    rgba(255,255,255,.16) 56%,
    rgba(255,255,255,.02) 72%);
}
.hero-copy{
  width:min(610px,88vw);
}
.hero h1{
  font-size:clamp(48px,4.55vw,68px);
  line-height:1.08;
  max-width:590px;
  letter-spacing:-.05em;
  font-weight:600;
  color:#111;
  opacity:1;
}
.hero .lead{
  font-size:25px;
}
@media(max-width:980px){
  .hero{background-position:58% center}
}
@media(max-width:640px){
  .hero{background-position:63% center}
  .hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.76))}
  .hero h1{font-size:46px;line-height:1.08}
}

/* V5 — approved hero and product-card direction */
.hero{
  min-height:620px;
  background-image:url('assets/hero-v5-clean.jpg') !important;
  background-position:center 52%;
  background-size:cover;
}
.hero-shade{
  background:linear-gradient(90deg,
    rgba(255,255,255,.97) 0%,
    rgba(255,255,255,.91) 23%,
    rgba(255,255,255,.69) 37%,
    rgba(255,255,255,.25) 50%,
    rgba(255,255,255,.03) 67%) !important;
}
.hero-copy{width:min(620px,88vw)}
.hero h1{
  font-size:clamp(48px,4.35vw,66px);
  line-height:1.08;
  font-weight:600;
  color:#111 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.hero .lead,.hero .support,.hero .eyebrow{
  opacity:1 !important;
  text-shadow:none !important;
}
.products-preview{padding-top:54px}
.product-grid{gap:14px}
.product-card{background:#fff;border:1px solid #ece9e3}
.product-card img{height:180px}
.product-card div{padding:13px 15px 16px}
.product-card h3{font-size:14px}
@media(max-width:640px){
  .hero{background-position:62% center}
  .hero-shade{background:rgba(255,255,255,.80) !important}
}

/* V6 — approved photoreal hero direction */
.hero{
  min-height:620px;
  background-image:url('assets/hero-v6-clean.jpg') !important;
  background-position:center 54%;
  background-size:cover;
}
.hero-shade{
  background:linear-gradient(90deg,
    rgba(255,255,255,.96) 0%,
    rgba(255,255,255,.90) 22%,
    rgba(255,255,255,.67) 36%,
    rgba(255,255,255,.22) 50%,
    rgba(255,255,255,.02) 67%) !important;
}
.hero-copy{
  width:min(620px,88vw);
}
.hero h1{
  font-size:clamp(48px,4.35vw,66px);
  line-height:1.08;
  font-weight:600;
  color:#111 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.hero .lead,.hero .support,.hero .eyebrow{
  opacity:1 !important;
  text-shadow:none !important;
}
@media(max-width:980px){
  .hero{background-position:60% center}
}
@media(max-width:640px){
  .hero{background-position:66% center}
  .hero-shade{background:rgba(255,255,255,.80) !important}
}

/* V7 — farther-away villa / pool hero */
.hero{
  min-height:620px;
  background-image:url('assets/hero-v7-far.jpg') !important;
  background-position:center 54%;
  background-size:cover;
}
.hero-shade{
  background:linear-gradient(90deg,
    rgba(255,255,255,.96) 0%,
    rgba(255,255,255,.89) 22%,
    rgba(255,255,255,.64) 36%,
    rgba(255,255,255,.19) 50%,
    rgba(255,255,255,.01) 68%) !important;
}
.hero h1,.hero .lead,.hero .support,.hero .eyebrow{
  opacity:1 !important;
  text-shadow:none !important;
}
@media(max-width:980px){.hero{background-position:61% center}}
@media(max-width:640px){
  .hero{background-position:67% center}
  .hero-shade{background:rgba(255,255,255,.80) !important}
}

/* V8 — clean standalone photoreal hero, no baked-in UI/text */
.hero{
  min-height:620px;
  background-image:url('assets/hero-v8-mobile.webp?v=14') !important;
  background-position:center center;
  background-size:cover;
}
.hero-shade{
  background:linear-gradient(90deg,
    rgba(255,255,255,.94) 0%,
    rgba(255,255,255,.87) 22%,
    rgba(255,255,255,.59) 36%,
    rgba(255,255,255,.15) 50%,
    rgba(255,255,255,0) 67%) !important;
}
.hero h1,.hero .lead,.hero .support,.hero .eyebrow{
  color:#111 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
@media(max-width:980px){.hero{background-position:58% center}}
@media(max-width:640px){
  .hero{background-position:64% center}
  .hero-shade{background:rgba(255,255,255,.80) !important}
}

/* V9 final clean hero */
.hero .eyebrow,.hero .lead,.hero .support,.hero h1{
  filter:none !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.product-card{
  background:#fff;
  border:1px solid #ece9e3;
}
.product-card img{height:180px}
@media(max-width:980px){
  .hero{background-position:58% center}
}
@media(max-width:640px){
  .hero{
    background-position:64% center;
    min-height:600px;
  }
  .hero-shade{
    background:linear-gradient(90deg,
      rgba(255,255,255,.92) 0%,
      rgba(255,255,255,.82) 48%,
      rgba(255,255,255,.40) 100%);
  }
  .hero h1{font-size:46px;line-height:1.08}
}

/* FINAL HERO REFINEMENT */
.hero-copy{
  margin-left:6.2vw !important;
  width:min(610px,86vw) !important;
}
.hero h1{
  font-size:clamp(46px,4.15vw,63px) !important;
  line-height:1.08 !important;
}
.hero-shade{
  background:linear-gradient(90deg,
    rgba(255,255,255,.90) 0%,
    rgba(255,255,255,.79) 22%,
    rgba(255,255,255,.47) 36%,
    rgba(255,255,255,.10) 50%,
    rgba(255,255,255,0) 68%) !important;
}
@media(max-width:980px){
  .hero-copy{margin-left:5vw !important}
}
@media(max-width:640px){
  .hero-copy{margin-left:auto !important;margin-right:auto !important}
  .hero h1{font-size:44px !important}
  .hero-shade{
    background:linear-gradient(90deg,
      rgba(255,255,255,.88) 0%,
      rgba(255,255,255,.77) 50%,
      rgba(255,255,255,.34) 100%) !important;
  }
}

/* PRODUCTS PAGE V1 */
.products-intro{padding-bottom:45px}
.products-intro h1{max-width:950px}
.products-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.products-jump a{border:1px solid #d8d8d8;padding:10px 15px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.025em;background:#fff}
.product-feature{padding-top:55px;padding-bottom:85px;border-top:1px solid #e8e8e8}
.product-feature .product-photo{overflow:hidden;background:#f2f2f0}
.product-feature .product-photo img{transition:transform .5s ease}
.product-feature .product-photo:hover img{transform:scale(1.015)}
.product-feature .technical img{object-position:center}
.product-feature h2{max-width:580px}
.product-feature p:not(.eyebrow):not(.brands):not(.product-subline){max-width:600px;line-height:1.75}
.product-subline{margin:22px 0 8px;font-size:14px!important;font-weight:700;color:#222!important;letter-spacing:.015em}
.solar-placeholder{height:430px;background:linear-gradient(145deg,#ebe9e3,#d9d5ca);display:flex;flex-direction:column;justify-content:flex-end;padding:38px}
.solar-placeholder span{text-transform:uppercase;font-size:12px;letter-spacing:.11em;font-weight:700;margin-bottom:8px}
.solar-placeholder strong{font-size:28px;line-height:1.15;max-width:440px}
.solar-placeholder p{font-size:14px!important;max-width:430px;margin-bottom:0;color:#555!important}
.project-package{max-width:var(--max);margin:10px auto 90px;padding:55px 4vw;background:#f2f1ed;display:grid;grid-template-columns:1.35fr .65fr;gap:50px;align-items:end}
.project-package h2{font-size:clamp(36px,4vw,54px);letter-spacing:-.035em;line-height:1.05;margin:0 0 18px;font-weight:600}
.project-package p:not(.eyebrow){max-width:760px;color:#555;font-size:17px;line-height:1.7}
.package-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:980px){.project-package{grid-template-columns:1fr}.package-actions{justify-content:flex-start}}
@media(max-width:640px){.products-jump{gap:7px}.products-jump a{font-size:11px;padding:9px 10px}.product-feature{padding-top:38px;padding-bottom:55px}.solar-placeholder{height:340px;padding:25px}.project-package{margin-bottom:55px;padding:38px 6vw}}

/* PROJECT GALLERIES V2 */
.category-project-link{display:inline-flex;margin-top:24px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.045em;border-bottom:1px solid #222;padding-bottom:4px}
.projects-intro{padding-bottom:48px}.project-jump{margin-top:28px}
.gallery-section{max-width:var(--max);margin:0 auto;padding:70px 4vw;border-top:1px solid #e7e7e4}.gallery-section.gallery-alt{background:#f7f6f2;max-width:none;padding-left:max(4vw,calc((100vw - var(--max))/2 + 4vw));padding-right:max(4vw,calc((100vw - var(--max))/2 + 4vw))}
.gallery-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:30px}.gallery-heading h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.035em;line-height:1.05;margin:0;font-weight:600}.gallery-heading>p{max-width:640px;color:#5e5e5e;line-height:1.7;margin:0 0 3px}
.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-item{border:0;padding:0;background:#eee;cursor:zoom-in;overflow:hidden;aspect-ratio:4/3}.gallery-item:nth-child(4n+2),.gallery-item:nth-child(5n+3){aspect-ratio:3/4}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.gallery-item:hover img{transform:scale(1.025)}.technical-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}.technical-gallery .gallery-item{aspect-ratio:4/3}.gallery-item.wide{grid-column:span 2}
.gallery-coming-soon{min-height:260px;background:linear-gradient(145deg,#ebe9e3,#d9d5ca);display:flex;flex-direction:column;justify-content:flex-end;padding:34px}.gallery-coming-soon span{text-transform:uppercase;font-size:12px;letter-spacing:.1em;font-weight:700;margin-bottom:8px}.gallery-coming-soon strong{font-size:28px;font-weight:600}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:1000;display:none;align-items:center;justify-content:center;padding:4vw}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}.lightbox-close{position:absolute;top:18px;right:24px;border:0;background:transparent;color:#fff;font-size:44px;line-height:1;cursor:pointer}.lightbox.open{cursor:zoom-out}.lightbox img{cursor:default}
@media(max-width:900px){.gallery-heading{grid-template-columns:1fr}.photo-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.gallery-section,.gallery-section.gallery-alt{padding:48px 5vw}.photo-gallery,.technical-gallery{grid-template-columns:1fr}.gallery-item,.gallery-item:nth-child(4n+2),.gallery-item:nth-child(5n+3){aspect-ratio:4/3}.gallery-item.wide{grid-column:auto}.gallery-heading{gap:15px;margin-bottom:22px}}

/* About page v1 */
.about-hero{max-width:var(--max);margin:auto;padding:70px 4vw 80px;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.about-hero-copy h1{font-size:clamp(48px,5.7vw,78px);line-height:1.01;letter-spacing:-.05em;margin:0 0 24px;font-weight:600}.about-lead{font-size:19px;line-height:1.65;color:#454545;max-width:650px}.about-hero-image img{width:100%;height:560px;object-fit:cover}.about-intro{max-width:var(--max);margin:auto;padding:80px 4vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;border-top:1px solid #e7e7e4}.about-intro h2{font-size:clamp(36px,4.5vw,58px);line-height:1.08;letter-spacing:-.04em;margin:0;font-weight:600}.about-intro-copy p{font-size:18px;line-height:1.75;color:#4c4c4c;margin:0 0 18px}.about-values-grid{max-width:var(--max);margin:0 auto 80px;padding:0 4vw;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.about-values-grid article{background:#f5f4f0;padding:34px 30px;min-height:270px}.about-values-grid span{font-size:12px;font-weight:700;letter-spacing:.12em}.about-values-grid h2{font-size:31px;margin:55px 0 12px;letter-spacing:-.03em}.about-values-grid p{color:#555;line-height:1.65;margin:0}.about-split{max-width:var(--max);margin:auto;padding:25px 4vw 95px;display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center}.about-split-image img{width:100%;height:560px;object-fit:cover}.about-split-copy h2,.about-professionals h2,.about-cta h2{font-size:clamp(36px,4.4vw,58px);line-height:1.08;letter-spacing:-.04em;font-weight:600;margin:0 0 20px}.about-split-copy>p:not(.eyebrow),.about-professionals-copy>p:not(.eyebrow),.about-cta>p:not(.eyebrow){font-size:17px;line-height:1.72;color:#515151}.about-split-copy .btn{margin-top:14px}.about-professionals{background:#181818;color:#fff;padding:85px max(4vw,calc((100vw - var(--max))/2 + 4vw));display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-professionals .eyebrow{color:#cfcfcf}.about-professionals-copy>p:not(.eyebrow){color:#cfcfcf}.about-professional-points{border-top:1px solid #444}.about-professional-points div{padding:20px 0;border-bottom:1px solid #444;display:grid;grid-template-columns:180px 1fr;gap:25px}.about-professional-points strong{font-size:14px}.about-professional-points span{font-size:14px;color:#c7c7c7;line-height:1.55}.about-cta{max-width:900px;margin:auto;padding:95px 4vw;text-align:center}.about-cta>p:not(.eyebrow){max-width:650px;margin:0 auto 28px}.about-cta-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.btn-outline{border:1px solid #222;background:#fff;color:#222}.btn-outline:hover{background:#f2f2f2}
@media(max-width:980px){.about-hero,.about-intro,.about-split,.about-professionals{grid-template-columns:1fr;gap:36px}.about-hero{padding-top:45px}.about-hero-image img,.about-split-image img{height:480px}.about-values-grid{grid-template-columns:1fr}.about-values-grid article{min-height:0}.about-values-grid h2{margin-top:32px}.about-professionals{padding:65px 5vw}.about-professional-points div{grid-template-columns:1fr;gap:7px}}
@media(max-width:640px){.about-hero,.about-intro,.about-split{padding-left:5vw;padding-right:5vw}.about-hero{padding-bottom:55px}.about-hero-image img,.about-split-image img{height:360px}.about-intro{padding-top:55px;padding-bottom:55px}.about-values-grid{padding-left:5vw;padding-right:5vw;margin-bottom:55px}.about-split{padding-bottom:65px}.about-professionals{padding-top:55px;padding-bottom:55px}.about-cta{padding:65px 5vw}}

/* CONTACT / SEND YOUR PLANS V1 */
.contact-hero{max-width:var(--max);margin:auto;padding:72px 4vw 80px;display:grid;grid-template-columns:1fr .82fr;gap:70px;align-items:center}.contact-hero-copy h1{font-size:clamp(48px,5.7vw,76px);line-height:1.02;letter-spacing:-.05em;margin:0 0 25px;font-weight:600}.contact-lead{font-size:19px;line-height:1.7;color:#4b4b4b;max-width:700px}.contact-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.contact-hero-image img{width:100%;height:530px;object-fit:cover}.contact-path{max-width:var(--max);margin:0 auto;padding:0 4vw 85px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.contact-path>div{background:#f4f3ef;padding:28px 25px;min-height:205px}.contact-path span{font-size:11px;font-weight:700;letter-spacing:.12em}.contact-path strong{display:block;font-size:18px;line-height:1.3;margin:38px 0 9px}.contact-path p{font-size:13px;line-height:1.6;color:#666;margin:0}.project-enquiry{background:#f5f4f0;padding:85px max(4vw,calc((100vw - var(--max))/2 + 4vw));display:grid;grid-template-columns:.72fr 1.28fr;gap:75px;align-items:start}.project-enquiry-intro{position:sticky;top:115px}.project-enquiry-intro h2{font-size:clamp(38px,4.5vw,58px);line-height:1.06;letter-spacing:-.04em;margin:0 0 20px;font-weight:600}.project-enquiry-intro>p:not(.eyebrow){font-size:17px;line-height:1.72;color:#555;max-width:500px}.direct-contact{margin-top:48px;border-top:1px solid #d8d6d0;padding-top:25px}.direct-contact>a{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid #ddd9d2;font-size:13px}.direct-contact strong{font-weight:700}.direct-contact span{color:#555}.project-form{background:#fff;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}.field{display:flex;flex-direction:column}.field.full,.project-form>.full,.needs{grid-column:1/-1}.field label,.needs legend{font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.055em;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;padding:14px 13px;border:1px solid #cfcfcf;background:#fff;font:inherit;border-radius:0}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #222;outline-offset:1px}.needs{border:0;padding:6px 0 0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:9px}.needs legend{margin-bottom:9px}.needs label{display:flex;align-items:center;gap:10px;border:1px solid #d4d4d4;padding:12px 13px;font-size:13px;cursor:pointer}.needs input{width:16px;height:16px;margin:0}.upload-field{background:#faf9f6;padding:18px;border:1px dashed #c7c4bc}.upload-field input{border:0;padding:8px 0}.upload-field small{font-size:11px;color:#777;margin-top:6px}.form-note{font-size:11px;line-height:1.5;color:#777;margin:0}.contact-location{max-width:var(--max);margin:auto;padding:85px 4vw;display:grid;grid-template-columns:1fr 1fr;gap:80px;border-bottom:1px solid #e6e6e3}.contact-location h2{font-size:clamp(36px,4.5vw,56px);letter-spacing:-.04em;line-height:1.07;margin:0 0 18px;font-weight:600}.contact-location>div>p:not(.eyebrow){font-size:17px;line-height:1.7;color:#555;max-width:600px}.contact-location-details{align-self:end}.contact-location-details p{font-size:16px!important;color:#333!important}.text-link{display:block;width:max-content;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #222;margin-top:13px;padding-bottom:3px}
@media(max-width:980px){.contact-hero,.project-enquiry,.contact-location{grid-template-columns:1fr;gap:38px}.contact-hero-image img{height:450px}.contact-path{grid-template-columns:repeat(2,1fr)}.project-enquiry-intro{position:static}.project-form{padding:30px}}
@media(max-width:640px){.contact-hero{padding:50px 5vw 55px}.contact-hero-image img{height:350px}.contact-path{grid-template-columns:1fr;padding:0 5vw 55px}.contact-path>div{min-height:0}.contact-path strong{margin-top:22px}.project-enquiry{padding:55px 5vw}.project-form{grid-template-columns:1fr;padding:22px 18px}.field.full,.project-form>.full,.needs{grid-column:auto}.needs{grid-template-columns:1fr}.direct-contact>a{grid-template-columns:1fr;gap:4px}.contact-location{padding:60px 5vw}}
/* FINAL MOBILE HEADER & NAV REFINEMENT */
@media (max-width: 640px) {

  .site-header {
    min-height: 76px;
    padding: 7px 5vw;
    align-items: center;
  }

  .brand img {
    width: 138px;
    height: 54px;
    object-fit: contain;
  }

  .menu-toggle {
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 14px;
    border: 1px solid #bbb;
    background: #fff;
  }

  .nav {
    gap: 0;
    padding: 8px 0 12px;
    border-top: 1px solid #e7e7e7;
  }

  .nav a {
    padding: 14px 2px;
    font-size: 13px;
    border-bottom: 1px solid #ececec;
  }

  .nav a.active {
    border-bottom: 1px solid #222;
    font-weight: 700;
  }

  .nav a:last-child {
    border-bottom: 0;
  }
}
/* FINAL MOBILE HERO REFINEMENT */
@media (max-width: 640px) {

  .hero {
    min-height: 620px;
    background-position: 66% center !important;
  }

  .hero-shade {
    background: linear-gradient(
      90deg,
      rgba(255,255,255,.94) 0%,
      rgba(255,255,255,.84) 54%,
      rgba(255,255,255,.42) 100%
    ) !important;
  }

  .hero-copy {
    width: 100%;
    max-width: 520px;
    margin-left: 0 !important;
    margin-right: auto !important;
    padding: 54px 6vw 48px;
  }

  .hero h1 {
    font-size: 43px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em;
    max-width: 10ch;
    margin-bottom: 18px;
  }

  .hero .eyebrow {
    font-size: 11px;
    line-height: 1.5;
    margin-bottom: 13px;
  }

  .hero .lead {
    font-size: 20px;
    line-height: 1.35;
    margin-bottom: 12px;
  }

  .hero .support {
    font-size: 15px;
    line-height: 1.6;
    max-width: 35ch;
  }

  .hero .hero-actions {
    gap: 10px;
    margin-top: 24px;
  }

  .hero .hero-actions .btn {
    min-height: 46px;
    padding: 13px 16px;
  }
}
/* MOBILE HOMEPAGE FINAL COMPOSITION */
@media (max-width: 640px) {

  .site-header {
    min-height: 68px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  .brand img {
    width: 125px !important;
    height: 48px !important;
  }

  .hero {
    min-height: 560px !important;
  }

  .hero-copy {
    padding: 42px 6vw 38px !important;
  }

  .hero h1 {
    font-size: 38px !important;
    line-height: 1.04 !important;
    max-width: 12ch !important;
    margin-bottom: 16px !important;
  }

  .hero .lead {
    font-size: 18px !important;
    line-height: 1.35 !important;
  }

  .hero .support {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .hero .hero-actions {
    margin-top: 20px !important;
  }

  .hero .hero-actions .btn {
    padding: 12px 14px !important;
    font-size: 11px !important;
    min-height: 44px !important;
  }
}
/* MOBILE MENU BUTTON REFINEMENT */
@media (max-width: 640px) {

  .menu-toggle {
    display: inline-flex !important;
    align-items: center;
    gap: 9px;
    border: 0 !important;
    background: transparent !important;
    padding: 10px 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #111 !important;
  }

  .menu-toggle::before {
    content: "";
    width: 22px;
    height: 14px;
    display: inline-block;
    background:
      linear-gradient(#111,#111) top/100% 2px no-repeat,
      linear-gradient(#111,#111) center/100% 2px no-repeat,
      linear-gradient(#111,#111) bottom/100% 2px no-repeat;
  }
}
/* FINAL MOBILE LOGO & HEADER POSITION */
@media (max-width: 640px) {

  .site-header {
    position: sticky;
    grid-template-columns: 1fr auto 1fr !important;
    min-height: 92px !important;
    padding: 8px 5vw !important;
  }

  .brand {
    grid-column: 2;
    justify-self: center;
  }

  .brand img {
    width: 155px !important;
    height: 72px !important;
    object-fit: contain;
  }

  .menu-toggle {
    grid-column: 3;
    justify-self: end;
    white-space: nowrap;
  }

  .nav {
    grid-column: 1 / -1 !important;
    width: 100%;
  }
}
/* =========================================================
   FINAL MOBILE HEADER + HERO COMPOSITION
   ========================================================= */

@media (max-width: 640px) {

  /* HEADER */
  .site-header {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;

    min-height: 108px !important;
    padding: 10px 5vw !important;

    background: #fff !important;
    border-bottom: 1px solid #e5e5e5 !important;
  }

  /* CENTER LOGO */
  .brand {
    grid-column: 2 !important;
    justify-self: center !important;
    margin: 0 !important;
  }

  .brand img {
    width: 170px !important;
    height: 88px !important;
    object-fit: contain !important;
  }

  /* MENU ON RIGHT */
  .menu-toggle {
    grid-column: 3 !important;
    justify-self: end !important;

    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;

    border: 0 !important;
    background: transparent !important;

    padding: 10px 0 !important;

    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;

    color: #111 !important;
  }

  /* HAMBURGER */
  .menu-toggle::before {
    content: "" !important;

    display: inline-block !important;
    width: 23px !important;
    height: 16px !important;

    background:
      linear-gradient(#111,#111) top/100% 2px no-repeat,
      linear-gradient(#111,#111) center/100% 2px no-repeat,
      linear-gradient(#111,#111) bottom/100% 2px no-repeat !important;
  }

  /* OPEN MENU */
  .nav {
    grid-column: 1 / -1 !important;
    width: 100% !important;

    gap: 0 !important;
    padding: 8px 0 4px !important;
    margin-top: 4px !important;

    border-top: 1px solid #ececec !important;
  }

  .nav a {
    padding: 13px 2px !important;
    font-size: 12px !important;
    border-bottom: 1px solid #ececec !important;
  }

  .nav a:last-child {
    border-bottom: 0 !important;
  }

  /* HERO STARTS DIRECTLY UNDER HEADER */
  .hero {
    min-height: 585px !important;

    background-image: url("assets/hero-v8-clean.jpg") !important;
    background-size: cover !important;
    background-position: 64% center !important;
  }

  /* SOFTER LEFT FADE — KEEPS PHOTO VISIBLE */
  .hero-shade {
    background:
      linear-gradient(
        90deg,
        rgba(255,255,255,.96) 0%,
        rgba(255,255,255,.88) 35%,
        rgba(255,255,255,.55) 65%,
        rgba(255,255,255,.16) 100%
      ) !important;
  }

  /* HERO TEXT */
  .hero-copy {
    width: 100% !important;
    max-width: 520px !important;

    margin-left: 0 !important;
    margin-right: auto !important;

    padding: 44px 6vw 42px !important;
  }

  .hero .eyebrow {
    font-size: 10.5px !important;
    line-height: 1.55 !important;
    letter-spacing: .16em !important;
    margin-bottom: 15px !important;
  }

  .hero h1 {
    font-size: 38px !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;

    max-width: 11ch !important;
    margin: 0 0 18px !important;
  }

  .hero .lead {
    font-size: 18px !important;
    line-height: 1.38 !important;
    margin-bottom: 14px !important;
  }

  .hero .support {
    font-size: 14px !important;
    line-height: 1.6 !important;
    max-width: 36ch !important;
  }

  /* HERO BUTTONS */
  .hero .hero-actions {
    display: flex !important;
    gap: 10px !important;
    margin-top: 22px !important;
  }

  .hero .hero-actions .btn {
    min-height: 44px !important;
    padding: 12px 13px !important;
    font-size: 10.5px !important;
  }

}
/* SELECTED BRANDS REFINEMENT */

.brands {
  margin-top: 24px !important;
  padding: 20px 22px !important;
  background: #f5f4f0 !important;
  border-left: 3px solid #111 !important;

  font-size: 14px !important;
  line-height: 1.9 !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  color: #222 !important;
}

.brands::before {
  content: "SELECTED BRANDS";
  display: block;

  margin-bottom: 10px;

  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .16em;
  color: #777;
}

@media (max-width: 640px) {
  .brands {
    margin-top: 20px !important;
    padding: 18px 20px !important;
    font-size: 13px !important;
    line-height: 1.85 !important;
  }
}
/* BRAND NAMES — MORE VISIBLE */

.brand-card {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .015em !important;
  color: #111 !important;
}

@media (max-width: 640px) {
  .brand-card {
    font-size: 14px !important;
    font-weight: 700 !important;
  }
}

/* FINAL BRAND LIST DESIGN — GREY PANEL + CLEARER NAMES */
.brands {
  display: block !important;
  width: 100% !important;
  margin: 24px 0 18px !important;
  padding: 20px 24px !important;
  background: #f2f2f0 !important;
  border: 0 !important;
  color: #161616 !important;
  font-size: 15.5px !important;
  line-height: 1.8 !important;
  font-weight: 600 !important;
  letter-spacing: .005em !important;
}
.brands::before {
  content: none !important;
  display: none !important;
}
@media (max-width: 640px) {
  .brands {
    margin: 20px 0 16px !important;
    padding: 18px !important;
    font-size: 15px !important;
    line-height: 1.85 !important;
  }
}


/* PERFORMANCE V15 — HERO IMAGE IS HTML-DISCOVERABLE LCP; VISUAL DESIGN UNCHANGED */
.hero {
  background: none !important;
  overflow: hidden;
}
.hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.hero-media img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}
.hero-shade { z-index: 1; }
.hero-copy { z-index: 2; }
@media (max-width: 640px) {
  .hero { background: none !important; }
  .hero-media img { object-position: 64% center; }
}

/* Visible language link and Greek product overview */
.nav .language-link{color:#1c527d;border-left:1px solid #d7d7d7;padding-left:18px;font-weight:700}
.greek-hub{max-width:1220px;margin:auto;padding:80px 5vw}.greek-hub h1{font-size:clamp(36px,5vw,64px);line-height:1.12;max-width:900px}.greek-hub>p:not(.eyebrow){font-size:19px;max-width:800px;line-height:1.65}.greek-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:48px 0}.greek-product-card{border:1px solid #ddd;padding:28px;min-height:160px}.greek-product-card:hover{background:#f5f3ef}.greek-product-card h2{font-size:22px}.greek-product-card span{font-weight:700}.greek-delivery{background:#f0f4f6;padding:36px;margin:50px 0}.greek-delivery p{max-width:760px;line-height:1.7}@media(max-width:760px){.greek-grid{grid-template-columns:1fr}.nav .language-link{border-left:0;padding-left:0}.greek-hub{padding-top:50px}}
