*{box-sizing:border-box}
:root{
  --white:#fff;
  --soft:#f5f7f8;
  --soft-2:#eef2f4;
  --text:#15191d;
  --muted:#68737d;
  --line:#dce3e7;
  --dark:#101316;
  --dark-2:#1a2025;
  --accent:#c62828;
  --accent-dark:#a91d1d;
  --shadow:0 18px 45px rgba(0,0,0,.14);
}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  color:var(--text);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
h1,h2,h3,p{margin-top:0}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}

.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.header-row{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand img{height:42px;width:auto}
.main-nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:600}
.main-nav a{transition:.2s}
.main-nav a:hover{color:var(--accent)}
.header-actions{display:flex;align-items:center;gap:14px}
.text-phone{font-size:14px;font-weight:700}
.menu-toggle{display:none;border:0;background:none;font-size:24px;cursor:pointer}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:12px 18px;border-radius:12px;
  font-size:14px;font-weight:800;transition:.2s;
}
.btn:hover{transform:translateY(-1px)}
.btn-dark{background:var(--dark);color:#fff}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-dark)}
.btn-glass{border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.06);color:#fff}
.btn-light-dark{background:#fff;color:var(--dark)}

.hero{
  position:relative;
  min-height:560px;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
}
.hero-bg{
  position:absolute;inset:0;
  background:
    url("https://images.unsplash.com/photo-1503376780353-7e6692767b70?auto=format&fit=crop&w=2200&q=88")
    center/cover no-repeat;
  transform:scale(1.01);
}
.hero-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(8,11,14,.96) 0%,rgba(8,11,14,.88) 43%,rgba(8,11,14,.36) 70%,rgba(8,11,14,.18) 100%),
    linear-gradient(0deg,rgba(8,11,14,.48),transparent 48%);
}
.hero-layout{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:40px;
  align-items:center;
  padding:52px 0 42px;
}
.eyebrow{
  display:inline-block;
  margin-bottom:15px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#ffb2b2;
}
.eyebrow.dark{color:var(--accent)}
.hero h1{
  max-width:730px;
  margin-bottom:18px;
  font-size:clamp(38px,4.5vw,58px);
  line-height:1.05;
  letter-spacing:-.035em;
}
.hero-copy>p{
  max-width:650px;
  font-size:16px;
  line-height:1.8;
  color:rgba(255,255,255,.76);
}
.hero-actions{display:flex;gap:12px;margin:22px 0 24px}
.hero-proof{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px;
  max-width:690px;
}
.hero-proof div{
  padding:15px 16px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(7px);
}
.hero-proof strong{display:block;margin-bottom:5px;font-size:14px}
.hero-proof span{font-size:11px;line-height:1.45;color:rgba(255,255,255,.64)}
.hero-feature{display:flex;justify-content:flex-end;align-self:end}
.feature-card{
  max-width:270px;
  margin-bottom:8px;
  padding:17px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:17px;
  background:rgba(15,18,21,.76);
  box-shadow:0 14px 38px rgba(0,0,0,.24);
  backdrop-filter:blur(10px);
}
.feature-card small{
  display:block;margin-bottom:7px;
  font-size:10px;font-weight:800;letter-spacing:.13em;color:#ffb2b2
}
.feature-card strong{display:block;margin-bottom:8px;font-size:16px;line-height:1.35}
.feature-card span{font-size:12px;line-height:1.6;color:rgba(255,255,255,.67)}

.trust-strip{border-bottom:1px solid var(--line);background:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:18px 0}
.trust-grid div{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.trust-grid strong{display:block;margin-bottom:5px;font-size:14px}
.trust-grid span{font-size:12px;color:var(--muted)}

.section{padding:68px 0}
.section-soft{background:var(--soft)}
.section-dark{background:var(--dark);color:#fff}
.section-head{max-width:800px;margin-bottom:28px}
.section-head h2,.process-intro h2,.about-copy h2,.contact-copy h2{
  margin-bottom:13px;
  font-size:clamp(31px,3.6vw,46px);
  line-height:1.15;
  letter-spacing:-.025em;
}
.section-head p,.process-intro p,.about-copy p,.contact-copy>p{
  font-size:15px;line-height:1.82;color:var(--muted)
}
.section-head.light p{color:rgba(255,255,255,.68)}

.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service-card{
  min-height:235px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:17px;
  background:#fff;
  transition:.22s;
}
.service-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.07)}
.service-number{display:block;margin-bottom:44px;font-size:11px;font-weight:800;color:var(--accent)}
.service-card h3{margin-bottom:10px;font-size:21px}
.service-card p{margin:0;font-size:14px;line-height:1.72;color:var(--muted)}

.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.video-card{overflow:hidden;border-radius:18px;background:#fff;color:var(--text)}
.native-video-card{position:relative;background:#0b0e11}
.poster-button{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;position:relative}
.poster-real{width:100%;height:330px;object-fit:cover}
.poster-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.52))}
.play-button{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:62px;height:62px;border-radius:50%;
  display:grid;place-items:center;
  padding-left:4px;background:rgba(255,255,255,.94);color:var(--text);
  font-size:22px;box-shadow:0 12px 28px rgba(0,0,0,.24)
}
.poster-caption{position:absolute;left:18px;right:18px;bottom:18px;color:#fff;text-align:left}
.poster-caption small{
  display:block;margin-bottom:5px;
  font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase
}
.poster-caption strong{font-size:20px;line-height:1.2}
.native-video{display:block;width:100%;height:330px;object-fit:cover;background:#000}
.video-copy{padding:13px 16px 15px}
.video-copy p{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}

.process-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:38px;align-items:start}
.process-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.process-list article{
  display:flex;gap:14px;
  padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff
}
.process-list article>span{
  flex:0 0 34px;width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;background:var(--dark);color:#fff;font-size:12px;font-weight:800
}
.process-list h3{margin-bottom:7px;font-size:17px}
.process-list p{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}

.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:30px;align-items:start}
.about-copy{
  padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff
}
.about-values{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.about-values article{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}
.about-values strong{display:block;margin-bottom:7px;font-size:15px}
.about-values span{font-size:13px;line-height:1.65;color:var(--muted)}

.contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:28px;align-items:start}
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.contact-cards a{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.contact-cards small{display:block;margin-bottom:6px;font-size:10px;font-weight:800;letter-spacing:.09em;color:var(--muted)}
.contact-cards strong{font-size:14px;line-height:1.55;overflow-wrap:anywhere}

.estimate-form{
  display:grid;gap:15px;
  padding:28px;border:1px solid var(--line);border-radius:19px;background:var(--soft);
  box-shadow:0 16px 36px rgba(0,0,0,.06)
}
.form-heading small{
  display:block;margin-bottom:5px;
  font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--accent)
}
.form-heading h3{margin:0;font-size:27px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.estimate-form label{font-size:12px;font-weight:700;color:var(--muted)}
.estimate-form input,.estimate-form textarea{
  width:100%;margin-top:7px;padding:13px 14px;
  border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);
  outline:none;transition:.2s
}
.estimate-form input:focus,.estimate-form textarea:focus{
  border-color:var(--accent);box-shadow:0 0 0 3px rgba(198,40,40,.1)
}
.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-actions button{
  min-height:47px;border:0;border-radius:11px;
  font-size:13px;font-weight:800;cursor:pointer
}
.submit-email{background:var(--dark);color:#fff}
.submit-whatsapp{background:#25d366;color:#fff}
.form-note{margin:0;font-size:11px;line-height:1.5;color:var(--muted)}

.cta-band{padding:48px 0;background:var(--dark);color:#fff}
.cta-row{display:flex;align-items:center;justify-content:space-between;gap:28px}
.cta-row small{display:block;margin-bottom:7px;font-size:10px;font-weight:800;letter-spacing:.13em;color:#ffb2b2}
.cta-row h2{margin:0;font-size:30px}
.cta-actions{display:flex;gap:12px;flex-shrink:0}

.site-footer{border-top:1px solid var(--line);background:#fff}
.footer-row{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-logo{height:35px;width:auto}
.footer-contact{display:flex;gap:9px;align-items:center;font-size:13px;color:var(--muted)}
.footer-row>p{margin:0;font-size:12px;color:var(--muted)}

.floating-wa{
  position:fixed;right:22px;bottom:22px;z-index:120;
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  background:#25d366;color:#fff;font-size:13px;font-weight:800;
  box-shadow:0 10px 28px rgba(0,0,0,.22)
}

@media(max-width:1024px){
  .hero-layout,.process-grid,.about-grid,.contact-grid{grid-template-columns:1fr}
  .hero-feature{justify-content:flex-start}
  .feature-card{max-width:420px}
  .service-grid,.video-grid,.trust-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:760px){
  .main-nav,.header-actions{display:none}
  .main-nav.open{
    display:flex;position:absolute;top:76px;left:0;right:0;
    padding:22px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column
  }
  .menu-toggle{display:block}
  .container{width:min(100% - 28px,1180px)}
  .hero{min-height:540px}
  .hero-layout{padding:40px 0 34px}
  .hero h1{font-size:38px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-proof,.service-grid,.video-grid,.trust-grid,.process-list,.about-values,.contact-cards,.field-row,.form-actions{
    grid-template-columns:1fr
  }
  .hero-feature{display:none}
  .section{padding:58px 0}
  .poster-real,.native-video{height:300px}
  .cta-row{align-items:flex-start;flex-direction:column}
  .cta-actions{width:100%;flex-direction:column}
  .footer-row{padding:22px 0;align-items:flex-start;flex-direction:column}
  .footer-contact{align-items:flex-start;flex-direction:column}
  .footer-contact span{display:none}
}

/* Final compact proportion refinements */
.hero-copy{max-width:720px}
.hero-feature{align-self:center}
.video-card{box-shadow:0 10px 28px rgba(0,0,0,.10)}
.poster-real,.native-video{aspect-ratio:4/3}
@media(max-width:1024px){
  .poster-real,.native-video{height:320px}
}
@media(max-width:760px){
  .poster-real,.native-video{height:280px}
}

/* Corrected featured-work card content */
.video-card{
  background:#171b1f;
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:none;
}
.video-copy{
  min-height:128px;
  padding:16px 18px 18px;
  background:#171b1f;
  border-top:1px solid rgba(255,255,255,.08);
}
.video-label{
  display:block;
  margin-bottom:6px;
  color:#ff9f9f;
  font-size:10px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.video-copy h3{
  margin:0 0 7px;
  color:#fff;
  font-size:17px;
  line-height:1.3;
}
.video-copy p{
  margin:0;
  color:rgba(255,255,255,.64);
  font-size:12px;
  line-height:1.55;
}
.poster-caption{
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
@media(max-width:760px){
  .video-copy{
    min-height:auto;
  }
}

/* Fixed video-media area so poster/video always fill the card correctly */
.native-video-card{
  position:relative;
  background:#171b1f;
}
.video-media{
  position:relative;
  height:300px;
  overflow:hidden;
  background:#0b0e11;
}
.poster-button,
.native-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.poster-button{
  display:block;
  border:0;
  padding:0;
  background:none;
  cursor:pointer;
}
.poster-button[hidden],
.native-video[hidden]{
  display:none !important;
}
.poster-real{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.native-video{
  object-fit:cover;
  background:#000;
  display:block;
}
.poster-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.5));
}
.play-button{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:64px;
  height:64px;
  border-radius:50%;
  display:grid;
  place-items:center;
  padding-left:4px;
  background:rgba(255,255,255,.94);
  color:var(--text);
  font-size:22px;
  box-shadow:0 12px 28px rgba(0,0,0,.24);
}
.poster-caption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  color:#fff;
  text-align:left;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
.poster-caption small{
  display:block;
  margin-bottom:5px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.poster-caption strong{
  font-size:20px;
  line-height:1.2;
}
.video-copy{
  min-height:auto;
}
@media(max-width:1024px){
  .video-media{
    height:280px;
  }
}
@media(max-width:760px){
  .video-media{
    height:260px;
  }
}

.language-toggle{
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  border-radius:9px;
  padding:8px 10px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.video-status{
  position:absolute;
  inset:auto 14px 14px 14px;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(198,40,40,.94);
  color:#fff;
  font-size:12px;
  font-weight:700;
  text-align:center;
  z-index:5;
}


/* Private preview watermark */
.preview-watermark{
  position:fixed;
  inset:0;
  z-index:9999;
  pointer-events:none;
  user-select:none;
  overflow:hidden;
  display:grid;
  place-items:center;
}

.preview-watermark::before,
.preview-watermark::after{
  content:"PRIVATE PREVIEW • LORETO BODY SHOP • CYBERLINK TECHNOLOGIES LLC";
  position:absolute;
  left:50%;
  top:50%;
  width:170vw;
  transform:translate(-50%,-50%) rotate(-28deg);
  text-align:center;
  font-size:clamp(28px,5vw,78px);
  font-weight:800;
  letter-spacing:.12em;
  color:rgba(255,255,255,.055);
  text-shadow:0 1px 1px rgba(0,0,0,.05);
  white-space:nowrap;
}

.preview-watermark::after{
  transform:translate(-50%,105%) rotate(-28deg);
}

.preview-watermark > div{
  position:absolute;
  left:50%;
  transform:translateX(-50%) rotate(-28deg);
  white-space:nowrap;
  color:rgba(255,255,255,.075);
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-shadow:0 1px 2px rgba(0,0,0,.08);
}

.preview-watermark > div:nth-child(1){
  top:24%;
  font-size:clamp(24px,3.5vw,54px);
}

.preview-watermark > div:nth-child(2){
  top:50%;
  font-size:clamp(18px,2.7vw,40px);
}

.preview-watermark > div:nth-child(3){
  top:76%;
  font-size:clamp(16px,2.1vw,30px);
}

@media(max-width:760px){
  .preview-watermark::before,
  .preview-watermark::after{
    width:220vw;
    font-size:34px;
    color:rgba(255,255,255,.06);
  }

  .preview-watermark > div{
    max-width:160vw;
  }
}


/* Alternative professional color direction:
   deep petrol blue, warm copper and soft ivory */
:root{
  --white:#fffdfa;
  --soft:#f4f1eb;
  --soft-2:#e9eeed;
  --text:#173036;
  --muted:#687a7d;
  --line:#d7e0de;
  --dark:#0f3f46;
  --dark-2:#163f44;
  --accent:#c56a3a;
  --accent-dark:#a94f24;
}

body{
  background:var(--white);
}

.site-header{
  background:rgba(255,253,250,.96);
}

.btn-dark{
  background:var(--dark);
}

.hero-shade{
  background:
    linear-gradient(90deg,rgba(5,36,42,.96) 0%,rgba(5,36,42,.88) 43%,rgba(5,36,42,.38) 70%,rgba(5,36,42,.18) 100%),
    linear-gradient(0deg,rgba(5,36,42,.50),transparent 48%);
}

.eyebrow,
.feature-card small,
.cta-row small{
  color:#f0b08d;
}

.eyebrow.dark,
.service-number,
.video-label{
  color:var(--accent);
}

.hero-proof div,
.feature-card{
  border-color:rgba(255,255,255,.14);
}

.section-dark,
.cta-band{
  background:var(--dark);
}

.play-button{
  color:var(--dark);
}

.service-card:hover{
  box-shadow:0 14px 34px rgba(15,63,70,.11);
}

.contact-cards a,
.trust-grid div{
  background:#f4f1eb;
}

.estimate-form{
  background:#f4f1eb;
}

.submit-email{
  background:var(--dark);
}

.preview-watermark::before,
.preview-watermark::after,
.preview-watermark > div{
  color:rgba(15,63,70,.07);
  text-shadow:none;
}

/* Keep watermark visible over dark sections too */
.hero .preview-watermark,
.section-dark .preview-watermark{
  color:rgba(255,255,255,.06);
}

/* Transparent-logo presentation */
.brand img,
.footer-logo{
  object-fit:contain;
  background:transparent;
}


/* Alternative color version 2:
   midnight navy, electric blue and metallic silver */
:root{
  --white:#f8fafc;
  --soft:#eef3f8;
  --soft-2:#e4ebf2;
  --text:#152230;
  --muted:#647485;
  --line:#d3dde7;
  --dark:#0b1f33;
  --dark-2:#102a43;
  --accent:#1f78d1;
  --accent-dark:#155ca4;
}

body{
  background:#f8fafc;
}

.site-header{
  background:rgba(248,250,252,.96);
  border-bottom-color:#d3dde7;
}

.btn-dark,
.submit-email{
  background:#0b1f33;
}

.hero-shade{
  background:
    linear-gradient(90deg,rgba(5,22,38,.97) 0%,rgba(5,22,38,.90) 43%,rgba(5,22,38,.42) 70%,rgba(5,22,38,.20) 100%),
    linear-gradient(0deg,rgba(5,22,38,.52),transparent 48%);
}

.eyebrow,
.feature-card small,
.cta-row small{
  color:#9dcfff;
}

.eyebrow.dark,
.service-number,
.video-label{
  color:#1f78d1;
}

.section-dark,
.cta-band{
  background:#0b1f33;
}

.service-card,
.about-copy,
.about-values article,
.process-list article{
  background:#ffffff;
}

.trust-grid div,
.contact-cards a,
.estimate-form{
  background:#eef3f8;
}

.video-card,
.video-copy{
  background:#102a43;
}

.play-button{
  color:#0b1f33;
}

.btn-accent{
  background:#1f78d1;
}

.btn-accent:hover{
  background:#155ca4;
}

.preview-watermark::before,
.preview-watermark::after,
.preview-watermark > div{
  color:rgba(31,120,209,.075);
}

.language-toggle{
  border-color:#c7d5e2;
  background:#f8fafc;
  color:#0b1f33;
}

.floating-wa{
  background:#1f78d1;
}

.service-card:hover{
  box-shadow:0 14px 34px rgba(11,31,51,.12);
}


/* Alternative color version 3:
   charcoal gray, burnt orange and warm light gray */
:root{
  --white:#faf9f7;
  --soft:#f1efeb;
  --soft-2:#e7e3dc;
  --text:#232629;
  --muted:#6f7478;
  --line:#dad7d2;
  --dark:#1c1f22;
  --dark-2:#2a2f33;
  --accent:#d96b2b;
  --accent-dark:#b94f16;
}

body{
  background:#faf9f7;
  color:var(--text);
}

.site-header{
  background:rgba(250,249,247,.96);
  border-bottom-color:#d8d4cf;
}

.btn-dark,
.submit-email{
  background:#1c1f22;
}

.hero-shade{
  background:
    linear-gradient(90deg,rgba(20,22,24,.97) 0%,rgba(20,22,24,.91) 42%,rgba(20,22,24,.48) 70%,rgba(20,22,24,.22) 100%),
    linear-gradient(0deg,rgba(20,22,24,.54),transparent 48%);
}

.eyebrow,
.feature-card small,
.cta-row small{
  color:#f2a36f;
}

.eyebrow.dark,
.service-number,
.video-label{
  color:#d96b2b;
}

.section-dark,
.cta-band{
  background:#1c1f22;
}

.video-card,
.video-copy{
  background:#2a2f33;
}

.trust-grid div,
.contact-cards a,
.estimate-form{
  background:#f1efeb;
}

.service-card,
.about-copy,
.about-values article,
.process-list article{
  background:#fff;
}

.btn-accent{
  background:#d96b2b;
}

.btn-accent:hover{
  background:#b94f16;
}

.play-button{
  color:#1c1f22;
}

.language-toggle{
  border-color:#d2cec8;
  background:#faf9f7;
  color:#1c1f22;
}

.floating-wa{
  background:#d96b2b;
}

.service-card:hover{
  box-shadow:0 14px 34px rgba(28,31,34,.13);
}

.preview-watermark::before,
.preview-watermark::after,
.preview-watermark > div{
  color:rgba(217,107,43,.075);
}

/* Slightly warmer hero treatment */
.hero-bg{
  filter:saturate(.82) contrast(1.03);
}

.hero-proof div,
.feature-card{
  border-color:rgba(255,255,255,.13);
}


/* Improved right side of hero */
.hero-feature{
  position:relative;
  min-height:380px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.hero-panel{
  border-radius:20px;
  box-shadow:0 18px 42px rgba(0,0,0,.20);
  backdrop-filter:blur(10px);
}

.panel-main{
  width:min(100%, 380px);
  padding:24px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(42,47,51,.90), rgba(28,31,34,.94));
  color:#fff;
  position:relative;
  z-index:2;
}

.panel-main small,
.panel-floating small{
  display:block;
  margin-bottom:8px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  color:#f2a36f;
}

.panel-main h3{
  margin:0 0 10px;
  font-size:28px;
  line-height:1.18;
  letter-spacing:-.02em;
  color:#fff;
}

.panel-main p{
  margin:0 0 18px;
  font-size:13px;
  line-height:1.7;
  color:rgba(255,255,255,.72);
}

.hero-panel-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.hero-panel-points div{
  padding:14px;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}

.hero-panel-points strong{
  display:block;
  margin-bottom:6px;
  font-size:15px;
  color:#fff;
}

.hero-panel-points span{
  display:block;
  font-size:11px;
  line-height:1.45;
  color:rgba(255,255,255,.66);
}

.panel-floating{
  position:absolute;
  padding:16px 18px;
  background:rgba(250,249,247,.96);
  color:var(--text);
  border:1px solid rgba(255,255,255,.18);
  max-width:220px;
  z-index:3;
}

.panel-contact{
  top:26px;
  left:20px;
}

.panel-whatsapp{
  right:-8px;
  bottom:24px;
}

.panel-floating strong{
  display:block;
  margin-bottom:4px;
  font-size:18px;
  line-height:1.3;
  color:var(--dark);
}

.panel-floating span{
  display:block;
  font-size:12px;
  line-height:1.55;
  color:var(--muted);
}

@media(max-width:1024px){
  .hero-feature{
    justify-content:flex-start;
    min-height:340px;
  }
  .panel-contact{
    left:auto;
    right:18px;
    top:14px;
  }
  .panel-whatsapp{
    right:8px;
    bottom:12px;
  }
}

@media(max-width:760px){
  .hero-feature{
    min-height:auto;
    margin-top:6px;
  }
  .panel-main{
    width:100%;
    padding:20px;
  }
  .panel-main h3{
    font-size:24px;
  }
  .hero-panel-points{
    grid-template-columns:1fr;
  }
  .panel-floating{
    position:relative;
    top:auto;
    right:auto;
    left:auto;
    bottom:auto;
    max-width:none;
    width:100%;
    margin-top:12px;
  }
}


/* Definitive redesigned right side of hero */
.hero-feature-redesigned{
  position:relative;
  min-height:420px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:34px 0 26px 34px;
}

.hero-showcase{
  position:relative;
  z-index:2;
  width:min(100%, 410px);
  padding:26px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  background:
    linear-gradient(145deg,rgba(42,47,51,.95),rgba(25,28,31,.96));
  box-shadow:0 22px 55px rgba(0,0,0,.28);
  backdrop-filter:blur(12px);
}

.showcase-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}

.showcase-kicker{
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  color:#f2a36f;
}

.showcase-badge{
  padding:7px 10px;
  border:1px solid rgba(242,163,111,.35);
  border-radius:999px;
  background:rgba(217,107,43,.14);
  color:#ffc49e;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}

.hero-showcase h3{
  margin:0 0 12px;
  font-size:31px;
  line-height:1.14;
  letter-spacing:-.025em;
  color:#fff;
}

.hero-showcase>p{
  margin:0 0 20px;
  font-size:13px;
  line-height:1.72;
  color:rgba(255,255,255,.70);
}

.showcase-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:14px;
}

.showcase-stats>div{
  padding:14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.055);
}

.showcase-stats strong{
  display:block;
  margin-bottom:5px;
  color:#fff;
  font-size:14px;
}

.showcase-stats span{
  color:rgba(255,255,255,.60);
  font-size:11px;
  line-height:1.4;
}

.showcase-contact-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.showcase-contact{
  display:block;
  padding:13px 14px;
  border-radius:13px;
  background:#f6f3ef;
  color:#1c1f22;
  transition:.2s ease;
}

.showcase-contact:hover{
  transform:translateY(-2px);
}

.showcase-contact small{
  display:block;
  margin-bottom:4px;
  color:#7b7f82;
  font-size:9px;
  font-weight:800;
  letter-spacing:.10em;
}

.showcase-contact strong{
  display:block;
  font-size:13px;
  line-height:1.35;
}

.accent-contact{
  background:#d96b2b;
  color:#fff;
}

.accent-contact small{
  color:rgba(255,255,255,.72);
}

.hero-mini-card{
  position:absolute;
  z-index:3;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:15px;
  background:rgba(250,249,247,.97);
  box-shadow:0 14px 34px rgba(0,0,0,.20);
}

.hero-mini-card small{
  display:block;
  margin-bottom:5px;
  color:#8a8e91;
  font-size:9px;
  font-weight:800;
  letter-spacing:.11em;
}

.hero-mini-card strong{
  display:block;
  color:#1c1f22;
  font-size:12px;
  line-height:1.4;
}

.mini-card-email{
  top:6px;
  left:0;
  max-width:230px;
}

.mini-card-quality{
  right:-10px;
  bottom:0;
  display:flex;
  align-items:center;
  gap:10px;
}

.quality-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:#d96b2b;
  box-shadow:0 0 0 6px rgba(217,107,43,.14);
}

@media(max-width:1024px){
  .hero-feature-redesigned{
    justify-content:flex-start;
    padding-left:0;
  }
  .mini-card-email{
    left:280px;
  }
}

@media(max-width:760px){
  .hero-feature-redesigned{
    display:block;
    min-height:auto;
    padding:12px 0 0;
  }

  .hero-showcase{
    width:100%;
    padding:21px;
  }

  .hero-showcase h3{
    font-size:25px;
  }

  .showcase-stats,
  .showcase-contact-row{
    grid-template-columns:1fr;
  }

  .hero-mini-card{
    position:relative;
    inset:auto;
    margin-top:12px;
    max-width:none;
    width:100%;
  }
}


/* Simplified right side of hero */
.hero-feature-simple{
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.hero-simple-card{
  position:relative;
  width:min(100%, 350px);
  padding:28px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:20px;
  background:rgba(28,31,34,.84);
  box-shadow:0 20px 46px rgba(0,0,0,.24);
  backdrop-filter:blur(11px);
  overflow:hidden;
}

.hero-simple-line{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:#d96b2b;
}

.hero-simple-kicker{
  display:block;
  margin-bottom:12px;
  color:#f2a36f;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}

.hero-simple-card h3{
  margin:0 0 11px;
  color:#fff;
  font-size:29px;
  line-height:1.16;
  letter-spacing:-.025em;
}

.hero-simple-card>p{
  margin:0 0 21px;
  color:rgba(255,255,255,.68);
  font-size:13px;
  line-height:1.72;
}

.hero-simple-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:16px;
}

.hero-simple-info>div{
  padding:13px 0;
  border-top:1px solid rgba(255,255,255,.10);
}

.hero-simple-info strong{
  display:block;
  margin-bottom:5px;
  color:#fff;
  font-size:14px;
}

.hero-simple-info span{
  display:block;
  color:rgba(255,255,255,.55);
  font-size:10px;
  line-height:1.45;
}

.hero-simple-contact{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 15px;
  border-radius:13px;
  background:#f6f3ef;
  color:#1c1f22;
  transition:.2s ease;
}

.hero-simple-contact:hover{
  transform:translateY(-2px);
}

.hero-simple-contact span{
  font-size:11px;
  color:#72777a;
}

.hero-simple-contact strong{
  font-size:14px;
}

@media(max-width:1024px){
  .hero-feature-simple{
    justify-content:flex-start;
  }
}

@media(max-width:760px){
  .hero-feature-simple{
    min-height:auto;
    margin-top:12px;
  }

  .hero-simple-card{
    width:100%;
    padding:22px;
  }

  .hero-simple-card h3{
    font-size:25px;
  }

  .hero-simple-info{
    grid-template-columns:1fr;
  }
}


/* Keep hero dimensions identical in English and Spanish */
.hero{
  min-height:560px;
}

.hero-layout{
  min-height:480px;
  align-items:center;
}

.hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:430px;
}

.hero-copy h1{
  min-height:122px;
  display:flex;
  align-items:flex-end;
}

.hero-copy > p{
  min-height:88px;
  margin-bottom:0;
}

.hero-actions{
  min-height:46px;
}

.hero-proof{
  min-height:82px;
}

.hero-feature-simple{
  min-height:430px;
}

.hero-simple-card{
  min-height:355px;
  display:flex;
  flex-direction:column;
}

.hero-simple-card h3{
  min-height:68px;
  display:flex;
  align-items:flex-end;
}

.hero-simple-card > p{
  min-height:68px;
}

.hero-simple-info{
  margin-top:auto;
}

@media(max-width:1024px){
  .hero{
    min-height:auto;
  }

  .hero-layout{
    min-height:auto;
  }

  .hero-copy,
  .hero-feature-simple{
    min-height:auto;
  }

  .hero-copy h1,
  .hero-copy > p,
  .hero-actions,
  .hero-proof,
  .hero-simple-card h3,
  .hero-simple-card > p{
    min-height:0;
  }

  .hero-simple-card{
    min-height:auto;
  }
}

@media(max-width:760px){
  .hero-copy h1,
  .hero-copy > p,
  .hero-simple-card h3,
  .hero-simple-card > p{
    min-height:0;
  }
}


/* JS-controlled equal hero height support */
.hero-copy,
.hero-simple-card{
  box-sizing:border-box;
}


/* Additional portfolio gallery under work section */
.more-work-wrap{
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.08);
}
.more-work-intro{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:24px;
  align-items:end;
  margin-bottom:20px;
}
.more-work-intro h3{
  margin:8px 0 0;
  color:#fff;
  font-size:26px;
  line-height:1.2;
}
.more-work-intro p{
  margin:0;
  color:rgba(255,255,255,.66);
  font-size:14px;
  line-height:1.75;
}
.more-work-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.more-work-card{
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:#22282d;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}
.more-work-card img{
  display:block;
  width:100%;
  height:230px;
  object-fit:cover;
  object-position:center;
}
.more-work-copy{
  padding:16px 16px 18px;
}
.more-work-copy small{
  display:block;
  margin-bottom:7px;
  color:#d96b2b;
  font-size:10px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.more-work-copy h4{
  margin:0 0 8px;
  color:#fff;
  font-size:18px;
  line-height:1.25;
}
.more-work-copy p{
  margin:0;
  color:rgba(255,255,255,.66);
  font-size:12px;
  line-height:1.65;
}
@media(max-width:1024px){
  .more-work-intro{
    grid-template-columns:1fr;
  }
  .more-work-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:760px){
  .more-work-grid{
    grid-template-columns:1fr;
  }
  .more-work-card img{
    height:220px;
  }
}


/* Hero right-side redesign inspired by provided reference */
.hero-feature-simple{
  min-height:440px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.hero-reference-card{
  width:min(100%, 390px);
  padding:24px 24px 18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(180deg, rgba(10,11,13,.82) 0%, rgba(16,18,21,.90) 100%);
  box-shadow:0 24px 58px rgba(0,0,0,.30);
  backdrop-filter:blur(10px);
}

.hero-reference-card .hero-simple-kicker{
  margin-bottom:10px;
  color:#ffffff;
  opacity:.92;
  letter-spacing:.08em;
}

.hero-reference-card h3{
  min-height:0;
  margin:0 0 12px;
  display:block;
  color:#fff;
  font-size:42px;
  line-height:1.03;
  letter-spacing:-.03em;
  text-transform:uppercase;
}

.hero-reference-card .hero-title-emphasis{
  display:block;
  margin-top:6px;
  color:#d96b2b;
}

.hero-reference-card > p{
  min-height:0;
  margin:0 0 18px;
  color:rgba(255,255,255,.78);
  font-size:13px;
  line-height:1.52;
  max-width:320px;
}

.hero-reference-list{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin:0 0 20px;
}

.hero-reference-list .hero-info-item{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  align-items:start;
  padding:0;
  border-top:none;
}

.hero-info-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.04);
  color:#fff;
  font-size:15px;
  line-height:1;
}

.hero-reference-list strong{
  display:block;
  margin-bottom:2px;
  color:#d96b2b;
  font-size:15px;
  line-height:1.25;
}

.hero-reference-list span{
  color:rgba(255,255,255,.74);
  font-size:12px;
  line-height:1.35;
}

.hero-reference-contact{
  display:grid;
  grid-template-columns:52px 1fr;
  align-items:center;
  gap:0;
  padding:0;
  overflow:hidden;
  border-radius:14px;
  background:#fff;
  color:#1c1f22;
  min-height:0;
}

.hero-reference-contact::before{
  content:"☎";
  display:grid;
  place-items:center;
  height:100%;
  min-height:58px;
  background:#d96b2b;
  color:#fff;
  font-size:24px;
  font-weight:700;
}

.hero-reference-contact span{
  display:block;
  grid-column:2;
  margin:0;
  padding:10px 16px 0;
  color:#7a7f84;
  font-size:11px;
  font-weight:800;
  letter-spacing:.03em;
  line-height:1.2;
}

.hero-reference-contact strong{
  display:block;
  grid-column:2;
  padding:0 16px 12px;
  font-size:17px;
  color:#d96b2b;
  line-height:1.1;
}

@media(max-width:760px){
  .hero-reference-card{
    width:100%;
    padding:22px 20px 18px;
  }
  .hero-reference-card h3{
    font-size:34px;
  }
}

/* More work redesign */
.more-work-wrap{
  margin-top:42px;
  padding:34px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

.more-work-intro{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:28px;
  align-items:end;
  margin-bottom:24px;
}

.more-work-intro h3{
  margin:8px 0 0;
  color:#fff;
  font-size:30px;
  line-height:1.15;
}

.more-work-intro p{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:14px;
  line-height:1.75;
  max-width:540px;
}

.more-work-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:22px;
}

.more-work-card{
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  background:#23292e;
  transition:transform .2s ease, box-shadow .2s ease;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}

.more-work-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(0,0,0,.18);
}

.more-work-card img{
  display:block;
  width:100%;
  height:240px;
  object-fit:cover;
  object-position:center;
}

.more-work-copy{
  padding:18px 18px 20px;
}

.more-work-copy small{
  display:block;
  margin-bottom:7px;
  color:#f2a36f;
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.more-work-copy h4{
  margin:0 0 8px;
  color:#fff;
  font-size:19px;
  line-height:1.25;
}

.more-work-copy p{
  margin:0;
  color:rgba(255,255,255,.66);
  font-size:12px;
  line-height:1.65;
}

@media(max-width:1024px){
  .more-work-wrap{
    padding:28px;
  }
  .more-work-intro{
    grid-template-columns:1fr;
  }
  .more-work-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:760px){
  .more-work-wrap{
    margin-top:34px;
    padding:22px;
    border-radius:22px;
  }
  .more-work-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .more-work-card img{
    height:220px;
  }
}


/* Compact, properly aligned hero information card */
.hero-feature-simple{
  min-height:390px;
}

.hero-reference-card{
  width:min(100%, 350px);
  padding:20px 20px 16px;
  border-radius:21px;
}

.hero-reference-card h3{
  font-size:34px;
  line-height:1.02;
  margin-bottom:10px;
}

.hero-reference-card > p{
  margin-bottom:14px;
  font-size:12px;
  line-height:1.48;
}

.hero-reference-list{
  gap:10px;
  margin-bottom:15px;
}

.hero-reference-list .hero-info-item{
  grid-template-columns:32px minmax(0,1fr);
  gap:11px;
  align-items:center;
}

.hero-info-icon{
  width:32px;
  height:32px;
  border:0;
  background:transparent;
  color:#fff;
}

.hero-info-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.hero-reference-list strong{
  margin-bottom:1px;
  font-size:14px;
}

.hero-reference-list span{
  font-size:10.5px;
}

.hero-reference-contact{
  grid-template-columns:48px 1fr;
  border-radius:12px;
}

.hero-reference-contact::before{
  min-height:52px;
  font-size:21px;
}

.hero-reference-contact span{
  padding:8px 14px 0;
  font-size:9px;
}

.hero-reference-contact strong{
  padding:0 14px 9px;
  font-size:16px;
}

/* Real horizontal carousel for More Work */
.more-work-wrap{
  position:relative;
  padding:30px;
}

.more-work-intro{
  padding-right:112px;
}

.more-work-controls{
  position:absolute;
  top:28px;
  right:30px;
  display:flex;
  gap:10px;
  z-index:3;
}

.carousel-arrow{
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.07);
  color:#fff;
  cursor:pointer;
  transition:.2s ease;
}

.carousel-arrow:hover{
  background:#d96b2b;
  border-color:#d96b2b;
  transform:translateY(-1px);
}

.carousel-arrow:disabled{
  opacity:.35;
  cursor:default;
  transform:none;
}

.carousel-arrow svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.more-work-viewport{
  overflow:hidden;
  width:100%;
}

.more-work-grid{
  display:flex;
  gap:20px;
  transition:transform .38s ease;
  will-change:transform;
}

.more-work-card{
  flex:0 0 calc((100% - 40px)/3);
  min-width:0;
}

@media(max-width:1024px){
  .hero-reference-card{
    width:min(100%, 340px);
  }

  .more-work-wrap{
    padding:26px;
  }

  .more-work-intro{
    padding-right:104px;
  }

  .more-work-controls{
    top:24px;
    right:26px;
  }

  .more-work-card{
    flex-basis:calc((100% - 20px)/2);
  }
}

@media(max-width:760px){
  .hero-feature-simple{
    min-height:auto;
  }

  .hero-reference-card{
    width:100%;
    padding:20px 18px 16px;
  }

  .hero-reference-card h3{
    font-size:30px;
  }

  .more-work-wrap{
    padding:20px;
  }

  .more-work-intro{
    padding-right:0;
    margin-bottom:72px;
  }

  .more-work-controls{
    top:auto;
    right:auto;
    left:20px;
    bottom:auto;
    transform:translateY(-58px);
  }

  .more-work-card{
    flex-basis:100%;
  }
}


/* Phone CTA framing fix */
.hero-reference-contact{
  display:grid;
  grid-template-columns:52px 1fr;
  align-items:stretch;
  gap:0;
  padding:0;
  min-height:74px;
  overflow:hidden;
  background:#fff;
  border-radius:14px;
}

.hero-reference-contact::before{
  content:"☎";
  display:grid;
  place-items:center;
  height:100%;
  min-height:74px;
  background:#d96b2b;
  color:#fff;
  font-size:23px;
  font-weight:700;
}

.hero-reference-contact-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:12px 16px 12px;
}

.hero-reference-contact span{
  display:block;
  margin:0 0 6px;
  padding:0;
  color:#7a7f84;
  font-size:10px;
  font-weight:800;
  letter-spacing:.03em;
  line-height:1.15;
}

.hero-reference-contact strong{
  display:block;
  padding:0;
  color:#d96b2b;
  font-size:18px;
  line-height:1.05;
}

@media(max-width:760px){
  .hero-reference-contact{
    min-height:70px;
  }

  .hero-reference-contact::before{
    min-height:70px;
    font-size:21px;
  }

  .hero-reference-contact-copy{
    padding:11px 14px;
  }

  .hero-reference-contact span{
    margin-bottom:5px;
    font-size:9px;
  }

  .hero-reference-contact strong{
    font-size:16px;
  }
}


/* Compact More Work section */
.more-work-wrap{
  margin-top:30px;
  padding:22px;
  border-radius:22px;
}

.more-work-intro{
  gap:18px;
  margin-bottom:16px;
  padding-right:96px;
}

.more-work-intro h3{
  font-size:24px;
  margin-top:5px;
}

.more-work-intro p{
  font-size:12px;
  line-height:1.55;
}

.more-work-controls{
  top:20px;
  right:22px;
  gap:8px;
}

.carousel-arrow{
  width:38px;
  height:38px;
}

.carousel-arrow svg{
  width:18px;
  height:18px;
}

.more-work-grid{
  gap:16px;
}

.more-work-card{
  flex-basis:calc((100% - 32px)/3);
  border-radius:17px;
}

.more-work-card img{
  height:185px;
}

.more-work-copy{
  padding:13px 14px 15px;
}

.more-work-copy small{
  margin-bottom:5px;
  font-size:9px;
}

.more-work-copy h4{
  margin-bottom:6px;
  font-size:16px;
}

.more-work-copy p{
  font-size:11px;
  line-height:1.5;
}

/* Slightly shorter phone CTA */
.hero-reference-contact{
  min-height:62px;
  grid-template-columns:46px 1fr;
}

.hero-reference-contact::before{
  min-height:62px;
  font-size:20px;
}

.hero-reference-contact-copy{
  padding:9px 14px;
}

.hero-reference-contact span{
  margin-bottom:4px;
  font-size:9px;
}

.hero-reference-contact strong{
  font-size:16px;
}

@media(max-width:1024px){
  .more-work-wrap{
    padding:20px;
  }

  .more-work-intro{
    padding-right:90px;
  }

  .more-work-controls{
    top:18px;
    right:20px;
  }

  .more-work-card{
    flex-basis:calc((100% - 16px)/2);
  }

  .more-work-card img{
    height:180px;
  }
}

@media(max-width:760px){
  .more-work-wrap{
    padding:18px;
  }

  .more-work-intro{
    margin-bottom:62px;
  }

  .more-work-controls{
    left:18px;
    transform:translateY(-50px);
  }

  .more-work-card{
    flex-basis:100%;
  }

  .more-work-card img{
    height:190px;
  }

  .hero-reference-contact{
    min-height:60px;
    grid-template-columns:44px 1fr;
  }

  .hero-reference-contact::before{
    min-height:60px;
  }

  .hero-reference-contact-copy{
    padding:8px 12px;
  }

  .hero-reference-contact strong{
    font-size:15px;
  }
}


/* Complete redesign: lighter, softer More Work section */
.more-work-wrap{
  margin-top:30px;
  padding:24px;
  border:none;
  border-radius:24px;
  background:#f6f2ec;
  box-shadow:0 14px 34px rgba(0,0,0,.14);
}

.more-work-intro{
  grid-template-columns:1fr .8fr;
  gap:22px;
  align-items:end;
  margin-bottom:18px;
  padding-right:92px;
}

.more-work-intro .eyebrow{
  color:#c9622b;
  margin-bottom:6px;
}

.more-work-intro h3{
  margin:0;
  color:#25282b;
  font-size:24px;
  line-height:1.18;
}

.more-work-intro p{
  margin:0;
  color:#6d7378;
  font-size:12px;
  line-height:1.58;
}

.more-work-controls{
  top:20px;
  right:24px;
  gap:8px;
}

.carousel-arrow{
  width:38px;
  height:38px;
  border:1px solid #d8d2ca;
  background:#fff;
  color:#25282b;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
}

.carousel-arrow:hover{
  background:#d96b2b;
  border-color:#d96b2b;
  color:#fff;
}

.more-work-grid{
  gap:14px;
}

.more-work-card{
  flex-basis:calc((100% - 28px)/3);
  overflow:hidden;
  border:1px solid #ddd7cf;
  border-radius:16px;
  background:#fff;
  box-shadow:none;
}

.more-work-card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 22px rgba(0,0,0,.09);
}

.more-work-card img{
  height:170px;
}

.more-work-copy{
  padding:13px 14px 15px;
}

.more-work-copy small{
  color:#c9622b;
  font-size:9px;
  margin-bottom:5px;
}

.more-work-copy h4{
  color:#25282b;
  font-size:15px;
  margin-bottom:5px;
}

.more-work-copy p{
  color:#73797d;
  font-size:10.5px;
  line-height:1.45;
}

@media(max-width:1024px){
  .more-work-wrap{
    padding:22px;
  }

  .more-work-intro{
    grid-template-columns:1fr;
    padding-right:86px;
  }

  .more-work-controls{
    top:18px;
    right:22px;
  }

  .more-work-card{
    flex-basis:calc((100% - 14px)/2);
  }

  .more-work-card img{
    height:165px;
  }
}

@media(max-width:760px){
  .more-work-wrap{
    padding:18px;
    border-radius:20px;
  }

  .more-work-intro{
    padding-right:0;
    margin-bottom:58px;
  }

  .more-work-controls{
    left:18px;
    right:auto;
    top:auto;
    transform:translateY(-48px);
  }

  .more-work-card{
    flex-basis:100%;
  }

  .more-work-card img{
    height:180px;
  }
}


/* Move More Work into its own light section for a softer transition */
.section-more-work{
  padding:48px 0 54px;
  background:#f2f0ec;
  color:#25282b;
}

.section-more-work .more-work-wrap{
  margin-top:0;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.section-more-work .more-work-intro{
  margin-bottom:20px;
}

.section-more-work .more-work-intro .eyebrow{
  color:#c9622b;
}

.section-more-work .more-work-intro h3{
  color:#25282b;
}

.section-more-work .more-work-intro p{
  color:#6f7478;
}

.section-more-work .more-work-card{
  background:#fff;
  border-color:#ddd7cf;
  box-shadow:0 8px 22px rgba(0,0,0,.07);
}

.section-more-work .more-work-card:hover{
  box-shadow:0 12px 28px rgba(0,0,0,.10);
}

.section-more-work .carousel-arrow{
  background:#fff;
  border-color:#d7d1ca;
  color:#25282b;
}

.section-more-work .carousel-arrow:hover{
  background:#d96b2b;
  border-color:#d96b2b;
  color:#fff;
}

@media(max-width:760px){
  .section-more-work{
    padding:40px 0 44px;
  }
}


/* Cleaner hero benefit cards with non-duplicated information */
.hero-benefits{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  max-width:760px;
  min-height:0;
}

.hero-benefit-card{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:11px;
  align-items:start;
  min-height:92px;
  padding:14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(7px);
}

.hero-benefit-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(217,107,43,.16);
  color:#f2a36f;
}

.hero-benefit-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.hero-benefit-card strong{
  display:block;
  margin-bottom:4px;
  color:#fff;
  font-size:12px;
  line-height:1.3;
}

.hero-benefit-card span{
  color:rgba(255,255,255,.62);
  font-size:10px;
  line-height:1.45;
}

.section-more-work .more-work-intro{
  grid-template-columns:1fr;
  max-width:700px;
}

@media(max-width:1024px){
  .hero-benefits{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .hero-benefits{
    grid-template-columns:1fr;
  }

  .hero-benefit-card{
    min-height:auto;
  }
}


/* Compact hero after removing duplicated benefit cards */
.hero{
  min-height:500px;
}

.hero-layout{
  min-height:420px;
  padding-top:44px;
  padding-bottom:36px;
}

.hero-copy{
  min-height:auto;
  justify-content:center;
}

.hero-copy h1{
  min-height:0;
  margin-bottom:16px;
}

.hero-copy > p{
  min-height:0;
  max-width:620px;
}

.hero-actions{
  margin:22px 0 0;
}

.hero-feature-simple{
  min-height:360px;
}

@media(max-width:1024px){
  .hero{
    min-height:auto;
  }

  .hero-layout{
    min-height:auto;
    padding-top:42px;
    padding-bottom:38px;
  }

  .hero-feature-simple{
    min-height:auto;
  }
}

@media(max-width:760px){
  .hero-layout{
    padding-top:34px;
    padding-bottom:30px;
  }
}


/* Flag-based language selector */
.language-toggle{
  display:flex;
  align-items:center;
  gap:7px;
  height:38px;
  padding:5px 9px;
  border:1px solid #d4d0ca;
  border-radius:999px;
  background:#fff;
  color:#25282b;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(0,0,0,.04);
}

.language-current,
.language-other{
  display:flex;
  align-items:center;
  gap:5px;
}

.language-other{
  opacity:.48;
}

.language-switch{
  color:#a1a5a8;
  font-size:12px;
}

.flag{
  width:23px;
  height:16px;
  display:block;
  overflow:hidden;
  border-radius:3px;
  box-shadow:0 0 0 1px rgba(0,0,0,.12);
}

.flag svg{
  display:block;
  width:100%;
  height:100%;
}

.language-code{
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
}

.language-toggle:hover{
  border-color:#d96b2b;
}

/* Stronger area below hero */
.trust-strip{
  padding:42px 0 46px;
  border-bottom:1px solid #ded9d2;
  background:
    linear-gradient(180deg,#fff 0%,#f4f1ec 100%);
}

.trust-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:22px;
}

.trust-heading h2{
  max-width:660px;
  margin:0;
  color:#25282b;
  font-size:27px;
  line-height:1.2;
}

.trust-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  padding:0;
}

.trust-grid .trust-card{
  position:relative;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  align-items:start;
  min-height:132px;
  padding:22px 18px 20px;
  overflow:hidden;
  border:1px solid #ddd7cf;
  border-radius:18px;
  background:#fff;
  box-shadow:0 9px 24px rgba(28,31,34,.07);
  transition:transform .2s ease, box-shadow .2s ease;
}

.trust-grid .trust-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:#d96b2b;
}

.trust-grid .trust-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(28,31,34,.10);
}

.trust-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#f8e8dc;
  color:#c65c22;
}

.trust-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.trust-grid .trust-card strong{
  display:block;
  margin:2px 0 7px;
  color:#25282b;
  font-size:15px;
  line-height:1.25;
}

.trust-grid .trust-card > div > span{
  display:block;
  color:#70767b;
  font-size:11.5px;
  line-height:1.55;
}

@media(max-width:1024px){
  .trust-heading{
    display:block;
  }

  .trust-heading .eyebrow{
    display:block;
    margin-bottom:8px;
  }

  .trust-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:760px){
  .language-toggle{
    padding:5px 7px;
  }

  .language-other,
  .language-switch{
    display:none;
  }

  .trust-strip{
    padding:34px 0 38px;
  }

  .trust-heading h2{
    font-size:23px;
  }

  .trust-grid{
    grid-template-columns:1fr;
  }

  .trust-grid .trust-card{
    min-height:auto;
  }
}


/* Simplified trust heading */
.trust-heading-simple{
  display:block;
  margin-bottom:16px;
}

.trust-heading-simple .eyebrow{
  margin:0;
}


/* Complete site review — final visual polish */
html{
  scroll-behavior:smooth;
  scroll-padding-top:88px;
}

body{
  overflow-x:hidden;
}

.section{
  padding-top:74px;
  padding-bottom:74px;
}

.section-head{
  margin-bottom:34px;
}

.section-head h2{
  max-width:760px;
}

.section-head p{
  max-width:720px;
}

/* Reduce visual noise in the four cards below the hero */
.trust-strip{
  padding:34px 0 38px;
}

.trust-heading-simple{
  margin-bottom:13px;
}

.trust-grid{
  gap:13px;
}

.trust-grid .trust-card{
  min-height:116px;
  padding:18px 16px 17px;
  border-radius:15px;
  box-shadow:0 7px 19px rgba(28,31,34,.055);
}

.trust-grid .trust-card::before{
  height:3px;
}

.trust-icon{
  width:38px;
  height:38px;
  border-radius:10px;
}

.trust-icon svg{
  width:21px;
  height:21px;
}

/* Featured video cards */
.video-card{
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  overflow:hidden;
}

.video-media{
  background:#202428;
}

.video-availability{
  position:absolute;
  left:15px;
  top:15px;
  z-index:3;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(20,22,24,.58);
  color:#fff;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  backdrop-filter:blur(7px);
}

.video-copy{
  padding-top:17px;
  padding-bottom:19px;
}

/* More Work — lighter and functional carousel */
.section-more-work{
  padding:48px 0 52px;
  border-top:1px solid #e1ddd7;
  border-bottom:1px solid #e1ddd7;
  background:#f4f2ee;
}

.section-more-work .more-work-intro{
  max-width:none;
  padding-right:104px;
}

.section-more-work .more-work-card{
  flex-basis:calc((100% - 16px)/2);
}

.section-more-work .more-work-card img{
  height:210px;
}

.section-more-work .more-work-copy{
  padding:15px 16px 17px;
}

.section-more-work .more-work-copy h4{
  font-size:17px;
}

.section-more-work .carousel-arrow:disabled{
  opacity:.3;
}

/* Process section: improve hierarchy without adding weight */
.process-list{
  gap:14px;
}

.process-list article{
  border:1px solid #e1ddd7;
  box-shadow:none;
}

.process-list article > span{
  background:#f7e6da;
  color:#bd5722;
}

/* About section */
.about-values{
  gap:13px;
}

.about-values article{
  border:1px solid #ded9d2;
}

/* Contact area */
.contact-section{
  padding-top:78px;
  padding-bottom:78px;
}

.contact-cards{
  gap:11px;
}

.contact-cards a{
  border:1px solid #dfdad3;
  transition:transform .18s ease, border-color .18s ease;
}

.contact-cards a:hover{
  transform:translateY(-2px);
  border-color:#d96b2b;
}

.estimate-form{
  border:1px solid #dfdad3;
  box-shadow:0 18px 42px rgba(28,31,34,.08);
}

.estimate-form input,
.estimate-form textarea{
  transition:border-color .18s ease, box-shadow .18s ease;
}

.estimate-form input:focus,
.estimate-form textarea:focus{
  border-color:#d96b2b;
  box-shadow:0 0 0 3px rgba(217,107,43,.12);
  outline:none;
}

/* Language button */
.language-toggle{
  transition:border-color .18s ease, box-shadow .18s ease;
}

.language-toggle:focus-visible,
.carousel-arrow:focus-visible,
.btn:focus-visible,
.menu-toggle:focus-visible{
  outline:3px solid rgba(217,107,43,.30);
  outline-offset:3px;
}

/* Footer */
.site-footer{
  border-top:1px solid rgba(255,255,255,.08);
}

@media(max-width:1024px){
  .section{
    padding-top:62px;
    padding-bottom:62px;
  }

  .section-more-work .more-work-card{
    flex-basis:calc((100% - 14px)/2);
  }
}

@media(max-width:760px){
  .section{
    padding-top:48px;
    padding-bottom:48px;
  }

  .trust-strip{
    padding:29px 0 34px;
  }

  .section-more-work{
    padding:40px 0 44px;
  }

  .section-more-work .more-work-card{
    flex-basis:100%;
  }

  .section-more-work .more-work-card img{
    height:200px;
  }

  .contact-section{
    padding-top:52px;
    padding-bottom:52px;
  }
}


/* More Work: compact header and 3-card desktop carousel */
.section-more-work{
  padding-top:38px;
  padding-bottom:44px;
}

.section-more-work .more-work-wrap{
  width:100%;
}

.more-work-topbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:17px;
}

.section-more-work .more-work-intro{
  display:block;
  max-width:none;
  margin:0;
  padding:0;
}

.section-more-work .more-work-intro .eyebrow{
  display:block;
  margin-bottom:5px;
}

.section-more-work .more-work-intro h3{
  margin:0;
  font-size:23px;
}

.section-more-work .more-work-controls{
  position:static;
  display:flex;
  flex:0 0 auto;
  gap:8px;
}

.section-more-work .more-work-card{
  flex-basis:calc((100% - 28px)/3);
}

.section-more-work .more-work-card img{
  height:185px;
}

.section-more-work .more-work-copy{
  min-height:118px;
}

@media(max-width:1024px){
  .section-more-work .more-work-card{
    flex-basis:calc((100% - 14px)/2);
  }

  .section-more-work .more-work-card img{
    height:180px;
  }
}

@media(max-width:760px){
  .section-more-work{
    padding-top:34px;
    padding-bottom:40px;
  }

  .more-work-topbar{
    align-items:center;
    margin-bottom:15px;
  }

  .section-more-work .more-work-intro h3{
    font-size:21px;
  }

  .section-more-work .more-work-controls{
    position:static;
    transform:none;
  }

  .section-more-work .carousel-arrow{
    width:36px;
    height:36px;
  }

  .section-more-work .more-work-card{
    flex-basis:100%;
  }

  .section-more-work .more-work-card img{
    height:195px;
  }
}


/* Full redesign of About and Contact balance */
#about.section-soft{
  padding-top:62px;
  padding-bottom:62px;
}

.about-grid{
  grid-template-columns:1.04fr .96fr;
  gap:22px;
  align-items:stretch;
}

.about-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:32px 34px;
  border-radius:20px;
}

.about-copy h2{
  font-size:38px;
  line-height:1.12;
  max-width:640px;
}

.about-copy p{
  max-width:650px;
  font-size:14px;
  line-height:1.72;
}

.about-values{
  height:100%;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:12px;
}

.about-values article{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:0;
  padding:22px;
  border-radius:18px;
  background:#fff;
}

.about-values strong{
  font-size:16px;
}

.about-values span{
  font-size:12px;
  line-height:1.55;
}

/* Contact section: left panel now fills the column */
.contact-section{
  padding-top:62px;
  padding-bottom:62px;
}

.contact-grid{
  grid-template-columns:.78fr 1.22fr;
  gap:24px;
  align-items:stretch;
}

.contact-copy{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:30px;
  border:1px solid #ddd8d1;
  border-radius:20px;
  background:#f4f1ec;
}

.contact-copy h2{
  max-width:520px;
  font-size:38px;
  line-height:1.12;
}

.contact-copy > p{
  font-size:13px;
  line-height:1.65;
}

.contact-cards{
  grid-template-columns:1fr;
  gap:9px;
  margin-top:20px;
}

.contact-cards a{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:14px 15px;
  border-radius:12px;
  background:#fff;
}

.contact-cards small{
  margin:0;
  color:#a95122;
}

.contact-cards strong{
  font-size:13px;
  text-align:right;
}

.contact-direct-cta{
  margin-top:auto;
  padding-top:20px;
}

.contact-direct-cta > span{
  display:block;
  margin-bottom:6px;
  color:#c35e28;
  font-size:10px;
  font-weight:800;
  letter-spacing:.10em;
}

.contact-direct-cta > strong{
  display:block;
  margin-bottom:13px;
  color:#25282b;
  font-size:16px;
  line-height:1.35;
}

.contact-direct-cta a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border-radius:11px;
  background:#25d366;
  color:#fff;
  font-size:12px;
  font-weight:800;
}

.estimate-form{
  height:100%;
  align-content:start;
  padding:30px;
  border-radius:20px;
}

.form-heading h3{
  font-size:29px;
}

@media(max-width:1024px){
  .about-grid,
  .contact-grid{
    grid-template-columns:1fr;
  }

  .about-values{
    grid-template-rows:auto;
  }

  .contact-copy{
    height:auto;
  }

  .contact-cards{
    grid-template-columns:1fr 1fr;
  }

  .contact-cards a{
    display:block;
  }

  .contact-cards strong{
    text-align:left;
  }

  .contact-direct-cta{
    margin-top:20px;
  }
}

@media(max-width:760px){
  #about.section-soft,
  .contact-section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .about-copy,
  .contact-copy,
  .estimate-form{
    padding:22px;
  }

  .about-copy h2,
  .contact-copy h2{
    font-size:30px;
  }

  .about-values,
  .contact-cards{
    grid-template-columns:1fr;
  }

  .about-values article{
    min-height:auto;
  }
}


/* Cleaner contact information design */
.contact-grid{
  grid-template-columns:.88fr 1.12fr;
  gap:26px;
}

.contact-copy{
  padding:28px;
  border-radius:20px;
  background:#f7f4ef;
}

.contact-copy h2{
  max-width:520px;
  margin-bottom:16px;
  font-size:40px;
  line-height:1.08;
}

.contact-copy > p{
  margin-bottom:22px;
  font-size:14px;
  line-height:1.65;
}

.contact-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:0;
}

.contact-cards a{
  display:block;
  min-height:0;
  padding:17px 18px;
  border-radius:14px;
  background:#fff;
  border:1px solid #ddd7cf;
  box-shadow:0 5px 14px rgba(28,31,34,.045);
}

.contact-cards small{
  display:block;
  margin-bottom:7px;
  color:#b85a28;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}

.contact-cards strong{
  display:block;
  color:#1f2326;
  font-size:16px;
  line-height:1.38;
  text-align:left;
  overflow-wrap:anywhere;
}

.contact-cards a:hover{
  transform:translateY(-2px);
  border-color:#d96b2b;
  box-shadow:0 9px 20px rgba(28,31,34,.075);
}

.estimate-form{
  padding:28px;
}

.form-heading{
  margin-bottom:18px;
}

.form-heading h3{
  font-size:30px;
}

@media(max-width:1024px){
  .contact-grid{
    grid-template-columns:1fr;
  }

  .contact-copy{
    padding:26px;
  }

  .contact-cards{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:760px){
  .contact-copy{
    padding:22px;
  }

  .contact-copy h2{
    font-size:31px;
  }

  .contact-copy > p{
    font-size:13px;
  }

  .contact-cards{
    grid-template-columns:1fr;
  }

  .contact-cards a{
    padding:15px 16px;
  }

  .contact-cards strong{
    font-size:15px;
  }
}


/* More graphic About and Contact sections */
#about.section-soft{
  background:
    radial-gradient(circle at top right, rgba(217,107,43,.10), transparent 28%),
    #f5f2ed;
}

.about-grid{
  gap:24px;
  align-items:stretch;
}

.about-copy{
  position:relative;
  overflow:hidden;
  padding:34px 36px;
  border:1px solid #e2ddd6;
  background:linear-gradient(180deg, rgba(255,255,255,.92) 0%, #fff 100%);
  box-shadow:0 14px 34px rgba(28,31,34,.06);
}

.about-copy::after{
  content:"";
  position:absolute;
  top:-55px;
  right:-55px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(217,107,43,.16) 0%, rgba(217,107,43,0) 68%);
}

.about-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0 18px;
}

.about-badges span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  background:#fff6ef;
  border:1px solid #f1d8c6;
  color:#b85a28;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}

.about-copy h2{
  font-size:39px;
}

.about-copy p{
  font-size:14px;
  line-height:1.72;
}

.about-values{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.about-values article{
  position:relative;
  display:grid;
  grid-template-columns:52px 1fr;
  gap:14px;
  align-items:start;
  min-height:154px;
  padding:20px 18px;
  border:none;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 28px rgba(28,31,34,.07);
}

.about-values article:nth-child(1),
.about-values article:nth-child(4){
  background:linear-gradient(180deg, #fffaf6 0%, #fff 100%);
}

.about-values article:nth-child(2),
.about-values article:nth-child(3){
  background:linear-gradient(180deg, #ffffff 0%, #f9f7f4 100%);
}

.about-values article::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  border-radius:18px 18px 0 0;
  background:#d96b2b;
}

.about-value-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#1f2327;
  color:#fff;
  box-shadow:0 10px 22px rgba(31,35,39,.20);
}

.about-value-icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.about-values strong{
  display:block;
  margin:4px 0 8px;
  color:#25282b;
  font-size:17px;
  line-height:1.25;
}

.about-values span{
  color:#6d7378;
  font-size:12.5px;
  line-height:1.62;
}

/* Graphic contact panel */
.contact-section{
  background:
    radial-gradient(circle at top left, rgba(217,107,43,.10), transparent 22%),
    #fff;
}

.contact-grid{
  grid-template-columns:.9fr 1.1fr;
  gap:28px;
  align-items:stretch;
}

.contact-copy{
  position:relative;
  overflow:hidden;
  padding:30px;
  border:none;
  border-radius:24px;
  background:linear-gradient(150deg, #1e2226 0%, #111418 100%);
  color:#fff;
  box-shadow:0 20px 46px rgba(17,20,24,.16);
}

.contact-copy::after{
  content:"";
  position:absolute;
  right:-40px;
  bottom:-40px;
  width:160px;
  height:160px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(217,107,43,.20) 0%, rgba(217,107,43,0) 70%);
}

.contact-copy .eyebrow.dark{
  color:#f0a26e;
}

.contact-copy h2{
  color:#fff;
  font-size:39px;
  margin-bottom:14px;
}

.contact-copy > p{
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.68;
  margin-bottom:20px;
}

.contact-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:11px;
}

.contact-cards a{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:14px;
  align-items:center;
  padding:14px 15px;
  min-height:86px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.06);
  box-shadow:none;
  backdrop-filter:blur(6px);
}

.contact-card-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(217,107,43,.18);
  color:#f3b283;
}

.contact-card-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.contact-card-copy small{
  display:block;
  margin-bottom:6px;
  color:#f1a673;
  font-size:10px;
  font-weight:800;
  letter-spacing:.10em;
}

.contact-card-copy strong{
  display:block;
  color:#fff;
  font-size:15px;
  line-height:1.45;
}

.contact-cards a:hover{
  transform:translateY(-2px);
  border-color:rgba(243,178,131,.34);
  box-shadow:0 10px 22px rgba(0,0,0,.12);
}

.estimate-form{
  border-radius:24px;
  box-shadow:0 18px 42px rgba(28,31,34,.08);
}

@media(max-width:1024px){
  .about-values{
    grid-template-columns:1fr 1fr;
  }

  .contact-grid{
    grid-template-columns:1fr;
  }

  .contact-cards{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:760px){
  .about-copy,
  .contact-copy{
    padding:24px 22px;
  }

  .about-copy h2,
  .contact-copy h2{
    font-size:31px;
  }

  .about-values{
    grid-template-columns:1fr;
  }

  .about-values article{
    min-height:auto;
  }

  .contact-cards{
    grid-template-columns:1fr;
  }

  .contact-cards a{
    min-height:80px;
  }
}


/* Denser About cards on the right */
.about-values{
  gap:12px;
  align-content:start;
}

.about-values article{
  min-height:132px;
  padding:18px 18px 16px;
  grid-template-columns:46px 1fr;
  gap:13px;
}

.about-value-icon{
  width:42px;
  height:42px;
  border-radius:12px;
}

.about-value-icon svg{
  width:22px;
  height:22px;
}

.about-values strong{
  margin:2px 0 6px;
  font-size:16px;
}

.about-values span{
  display:block;
  font-size:12.5px;
  line-height:1.55;
}

.about-values small{
  display:inline-flex;
  align-items:center;
  margin-top:10px;
  padding:5px 9px;
  border-radius:999px;
  background:#fff4eb;
  color:#b75a27;
  font-size:10px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1;
}

@media(max-width:760px){
  .about-values article{
    min-height:auto;
    padding:18px 16px;
  }
}


/* Compact Contact and Estimate section after markup fix */
.contact-section{
  padding-top:46px;
  padding-bottom:46px;
}

.contact-grid{
  grid-template-columns:.92fr 1.08fr;
  gap:22px;
  align-items:start;
}

.contact-copy{
  padding:24px;
  border-radius:20px;
}

.contact-copy h2{
  margin-bottom:12px;
  font-size:34px;
  line-height:1.08;
}

.contact-copy > p{
  margin-bottom:16px;
  font-size:12.5px;
  line-height:1.55;
}

.contact-cards{
  gap:8px;
}

.contact-cards a{
  min-height:68px;
  padding:11px 12px;
  grid-template-columns:40px 1fr;
  gap:11px;
  border-radius:13px;
}

.contact-card-icon{
  width:38px;
  height:38px;
  border-radius:10px;
}

.contact-card-icon svg{
  width:19px;
  height:19px;
}

.contact-card-copy small{
  margin-bottom:3px;
  font-size:8.5px;
}

.contact-card-copy strong{
  font-size:13px;
  line-height:1.32;
}

/* Shorter form */
.estimate-form{
  height:auto;
  min-height:0;
  padding:24px;
  border-radius:20px;
}

.form-heading{
  margin-bottom:14px;
}

.form-heading small{
  font-size:9px;
}

.form-heading h3{
  margin-top:4px;
  font-size:26px;
}

.estimate-form label{
  gap:5px;
  margin-bottom:11px;
  font-size:12px;
}

.estimate-form input{
  min-height:44px;
  padding:10px 12px;
}

.estimate-form textarea{
  min-height:104px;
  padding:11px 12px;
}

.field-row{
  gap:12px;
}

.form-actions{
  gap:10px;
  margin-top:4px;
}

.form-actions .btn,
.form-actions button{
  min-height:46px;
}

.form-note{
  margin-top:10px;
  font-size:10.5px;
}

@media(max-width:1024px){
  .contact-grid{
    grid-template-columns:1fr;
  }

  .contact-cards{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:760px){
  .contact-section{
    padding-top:38px;
    padding-bottom:38px;
  }

  .contact-copy,
  .estimate-form{
    padding:20px;
  }

  .contact-copy h2{
    font-size:29px;
  }

  .contact-cards{
    grid-template-columns:1fr;
  }
}


/* Extra compact contact section: remove unused space below */
.contact-section{
  padding-top:34px;
  padding-bottom:34px;
}

.contact-grid{
  align-items:start;
  gap:20px;
}

.contact-copy{
  height:auto;
  min-height:0;
  align-self:start;
  padding:20px;
}

.contact-copy h2{
  margin-bottom:9px;
  font-size:31px;
}

.contact-copy > p{
  margin-bottom:12px;
  font-size:11.5px;
  line-height:1.48;
}

.contact-cards{
  gap:7px;
}

.contact-cards a{
  min-height:58px;
  padding:9px 10px;
  grid-template-columns:35px 1fr;
  gap:9px;
}

.contact-card-icon{
  width:34px;
  height:34px;
}

.contact-card-icon svg{
  width:17px;
  height:17px;
}

.contact-card-copy small{
  margin-bottom:2px;
  font-size:8px;
}

.contact-card-copy strong{
  font-size:12px;
  line-height:1.25;
}

/* Make form fit its content instead of stretching */
.estimate-form{
  height:auto;
  min-height:0;
  align-self:start;
  padding:20px;
}

.form-heading{
  margin-bottom:10px;
}

.form-heading h3{
  font-size:24px;
}

.estimate-form label{
  margin-bottom:8px;
  gap:4px;
  font-size:11px;
}

.estimate-form input{
  min-height:40px;
  padding:8px 10px;
}

.estimate-form textarea{
  min-height:88px;
  padding:9px 10px;
}

.field-row{
  gap:10px;
}

.form-actions .btn,
.form-actions button{
  min-height:42px;
}

.form-note{
  margin-top:7px;
  font-size:9.5px;
}

@media(max-width:760px){
  .contact-section{
    padding-top:30px;
    padding-bottom:30px;
  }

  .contact-copy,
  .estimate-form{
    padding:18px;
  }

  .contact-copy h2{
    font-size:27px;
  }
}


/* Balance contact panel and form to nearly equal height */
.contact-grid{
  grid-template-columns:.95fr 1.05fr;
  gap:20px;
  align-items:stretch;
}

.contact-copy,
.estimate-form{
  height:100%;
}

/* Make left contact panel slightly denser */
.contact-copy{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:19px;
}

.contact-copy h2{
  font-size:30px;
  margin-bottom:8px;
}

.contact-copy > p{
  margin-bottom:10px;
}

.contact-cards{
  gap:6px;
}

.contact-cards a{
  min-height:55px;
  padding:8px 9px;
}

/* Compress form vertically */
.estimate-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:10px;
  row-gap:7px;
  align-content:start;
  padding:18px;
}

.form-heading{
  grid-column:1 / -1;
  margin-bottom:3px;
}

.form-heading h3{
  margin-top:3px;
  font-size:23px;
  line-height:1.08;
}

.estimate-form > .field-row{
  display:contents;
}

.estimate-form > label{
  margin:0;
}

.estimate-form > label:nth-of-type(1),
.estimate-form > label:nth-of-type(2){
  grid-column:auto;
}

.estimate-form > label:nth-of-type(3){
  grid-column:1 / -1;
}

.estimate-form > label:nth-of-type(4){
  grid-column:1 / -1;
}

.estimate-form > label:nth-of-type(5){
  grid-column:1 / -1;
}

.estimate-form label{
  gap:3px;
  font-size:10.5px;
}

.estimate-form input{
  min-height:37px;
  padding:7px 9px;
}

.estimate-form textarea{
  min-height:72px;
  max-height:72px;
  padding:8px 9px;
  resize:vertical;
}

.form-actions{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:1px;
}

.form-actions .btn,
.form-actions button{
  min-height:39px;
  padding:8px 10px;
  font-size:11px;
}

.form-note{
  grid-column:1 / -1;
  margin-top:2px;
  font-size:9px;
  line-height:1.35;
}

@media(max-width:1024px){
  .contact-grid{
    grid-template-columns:1fr;
  }

  .contact-copy,
  .estimate-form{
    height:auto;
  }
}

@media(max-width:760px){
  .estimate-form{
    grid-template-columns:1fr;
  }

  .estimate-form > label,
  .estimate-form > label:nth-of-type(1),
  .estimate-form > label:nth-of-type(2),
  .estimate-form > label:nth-of-type(3),
  .estimate-form > label:nth-of-type(4),
  .estimate-form > label:nth-of-type(5),
  .form-actions,
  .form-note,
  .form-heading{
    grid-column:1;
  }

  .form-actions{
    grid-template-columns:1fr;
  }
}


/* Watermark cleanup: separated rows without overlap */
.preview-watermark{
  position:fixed;
  inset:0;
  z-index:9999;
  pointer-events:none;
  user-select:none;
  overflow:hidden;
  display:block;
}

.preview-watermark::before,
.preview-watermark::after{
  content:none !important;
  display:none !important;
}

.preview-watermark > div{
  position:absolute;
  left:50%;
  width:max-content;
  max-width:none;
  transform:translateX(-50%) rotate(-24deg);
  white-space:nowrap;
  color:rgba(217,107,43,.065);
  font-weight:800;
  line-height:1;
  letter-spacing:.10em;
  text-transform:uppercase;
  text-shadow:none;
}

.preview-watermark > div:nth-child(1){
  top:18%;
  font-size:clamp(22px,3.5vw,52px);
}

.preview-watermark > div:nth-child(2){
  top:49%;
  font-size:clamp(19px,3vw,44px);
}

.preview-watermark > div:nth-child(3){
  top:80%;
  font-size:clamp(16px,2.4vw,34px);
}

@media(max-width:760px){
  .preview-watermark > div{
    transform:translateX(-50%) rotate(-28deg);
    letter-spacing:.08em;
  }

  .preview-watermark > div:nth-child(1){
    top:20%;
    font-size:25px;
  }

  .preview-watermark > div:nth-child(2){
    top:51%;
    font-size:21px;
  }

  .preview-watermark > div:nth-child(3){
    top:82%;
    font-size:17px;
  }
}


/* Play video across the complete project card */
.video-card{
  position:relative;
  isolation:isolate;
}

.video-card.is-playing{
  background:#000;
}

.video-card.is-playing .native-video-card{
  position:absolute;
  inset:0;
  z-index:10;
  width:100%;
  height:100%;
  background:#000;
}

.video-card.is-playing .video-media{
  width:100%;
  height:100%;
  min-height:100%;
  background:#000;
}

.video-card.is-playing .native-video{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#000;
}

.video-card.is-playing .video-copy{
  visibility:hidden;
  pointer-events:none;
}

/* Keep native video controls comfortably inside the card */
.video-card.is-playing video::-webkit-media-controls-panel{
  background-image:linear-gradient(transparent,rgba(0,0,0,.72));
}

@media(max-width:760px){
  .video-card.is-playing{
    min-height:420px;
  }
}




/* Video detach toggle */
.detach-toggle{
  position:absolute;
  top:14px;
  right:14px;
  z-index:25;
  width:42px;
  height:42px;
  border:none;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  font-weight:700;
  color:#fff;
  background:rgba(18,23,31,.88);
  box-shadow:0 10px 24px rgba(0,0,0,.28);
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.detach-toggle:hover{
  transform:translateY(-1px);
  background:rgba(35,41,52,.95);
  box-shadow:0 14px 28px rgba(0,0,0,.32);
}

.detach-toggle[hidden]{
  display:none !important;
}

/* Keep the in-card player style, but allow a detached version above the same card */
.video-card.is-detached{
  margin-top:270px;
  background:#fff;
}

.video-card.is-detached .native-video-card{
  position:absolute;
  left:0;
  right:0;
  top:auto;
  bottom:calc(100% + 14px);
  inset-inline:0;
  width:100%;
  height:250px;
  z-index:18;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
  background:#000;
}

.video-card.is-detached .video-media{
  width:100%;
  height:100%;
  min-height:100%;
  background:#000;
}

.video-card.is-detached .native-video{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#000;
}

.video-card.is-detached .video-copy{
  visibility:visible;
  pointer-events:auto;
}

@media(max-width:1024px){
  .video-card.is-detached{
    margin-top:230px;
  }

  .video-card.is-detached .native-video-card{
    height:210px;
  }
}

@media(max-width:760px){
  .video-card.is-detached{
    margin-top:0;
  }

  .video-card.is-detached .native-video-card{
    position:fixed;
    left:50%;
    right:auto;
    top:50%;
    bottom:auto;
    width:min(92vw,640px);
    height:auto;
    aspect-ratio:4/3;
    transform:translate(-50%,-50%);
    z-index:1200;
  }
}


/* Fix detached video popout so it is visible and anchored above its own card */
.video-card.is-detached{
  overflow: visible !important;
  z-index: 30;
}

.video-card.is-detached .native-video-card{
  overflow: hidden;
}

.video-card.is-detached .detach-toggle{
  z-index: 40;
}

.video-card.is-playing .detach-toggle{
  display:inline-flex;
}

@media(max-width:760px){
  .video-card.is-detached{
    overflow: visible !important;
  }
}


/* Robust detached player anchored directly above its original card */
.video-card.is-detached{
  margin-top:0 !important;
}

.video-card.is-detached .native-video-card{
  position:static !important;
}

.detached-video-shell{
  position:absolute;
  z-index:10000;
  overflow:hidden;
  border-radius:18px;
  background:#000;
  box-shadow:0 22px 54px rgba(0,0,0,.38);
}

.detached-video-shell .native-video-card,
.detached-video-shell .video-media,
.detached-video-shell .native-video{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
}

.detached-video-shell .native-video{
  display:block;
  object-fit:contain !important;
  object-position:center;
  background:#000;
}

.detached-video-shell .detach-toggle{
  display:inline-flex !important;
  z-index:10002;
}

.detached-video-shell .poster-button,
.detached-video-shell .video-status{
  position:absolute;
}

@media(max-width:760px){
  .detached-video-shell{
    width:calc(100vw - 24px) !important;
    left:12px !important;
    height:auto !important;
    aspect-ratio:4/3;
  }
}


/* Larger detached video presentation */
.detached-video-shell{
  border-radius:20px;
  box-shadow:0 26px 70px rgba(0,0,0,.46);
}

.detached-video-shell .native-video{
  object-fit:contain !important;
  background:#000;
}

.detached-video-shell .detach-toggle{
  top:16px;
  right:16px;
  width:46px;
  height:46px;
}

@media(max-width:760px){
  .detached-video-shell{
    border-radius:16px;
  }

  .detached-video-shell .detach-toggle{
    top:10px;
    right:10px;
    width:42px;
    height:42px;
  }
}


/* Full-size detached video overlay */
body.video-overlay-open{
  overflow:hidden;
}

body.video-overlay-open::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:9998;
  background:rgba(5,7,10,.82);
  backdrop-filter:blur(6px);
}

.detached-video-shell{
  position:fixed !important;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  border-radius:22px;
  background:#000;
  box-shadow:0 32px 90px rgba(0,0,0,.60);
  overflow:hidden;
}

.detached-video-shell .native-video-card,
.detached-video-shell .video-media{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#000;
}

.detached-video-shell .native-video{
  width:100% !important;
  height:100% !important;
  max-width:100%;
  max-height:100%;
  object-fit:contain !important;
  object-position:center;
  background:#000;
}

.detached-video-shell .detach-toggle{
  position:absolute;
  top:16px;
  right:16px;
  z-index:10002;
  width:48px;
  height:48px;
  display:inline-flex !important;
}

@media(max-width:760px){
  .detached-video-shell{
    width:calc(100vw - 16px) !important;
    height:calc(100vh - 24px) !important;
    padding:10px;
    border-radius:16px;
  }

  .detached-video-shell .detach-toggle{
    top:10px;
    right:10px;
    width:44px;
    height:44px;
  }
}


/* Natural-size detached video positioned above its own card */
body.video-overlay-open::before{
  content:none !important;
  display:none !important;
}

.detached-video-shell{
  position:absolute !important;
  display:block;
  padding:0;
  border-radius:16px;
  background:#000;
  box-shadow:0 22px 58px rgba(0,0,0,.48);
  overflow:hidden;
}

.detached-video-shell .native-video-card,
.detached-video-shell .video-media,
.detached-video-shell .native-video{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
}

.detached-video-shell .native-video{
  object-fit:contain !important;
  object-position:center;
  background:#000;
}

.detached-video-shell .detach-toggle{
  top:12px;
  right:12px;
  width:44px;
  height:44px;
}

@media(max-width:760px){
  .detached-video-shell{
    position:absolute !important;
    border-radius:14px;
  }
}


/* Center detached video in the viewport */
.detached-video-shell{
  position:fixed !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
  z-index:10001;
}

body::before{
  pointer-events:none;
}

body.video-detached-open::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(7,9,12,.72);
  backdrop-filter:blur(4px);
  pointer-events:auto;
}

@media(max-width:760px){
  .detached-video-shell{
    max-width:calc(100vw - 20px);
    max-height:calc(100vh - 20px);
  }
}


/* Move return/detach button away from the video logo */
.detached-video-shell .detach-toggle{
  left:14px !important;
  right:auto !important;
  top:14px !important;
}

@media(max-width:760px){
  .detached-video-shell .detach-toggle{
    left:10px !important;
    right:auto !important;
    top:10px !important;
  }
}


/* Editorial Services redesign — breaks the repeated card pattern */
.services-editorial{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,#f7f4ef 0%,#ffffff 100%);
}

.services-editorial::before{
  content:"";
  position:absolute;
  width:380px;
  height:380px;
  right:-160px;
  top:-180px;
  border-radius:50%;
  border:1px solid rgba(194,89,42,.12);
}

.services-editorial-head{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:clamp(32px,6vw,80px);
  align-items:end;
  margin-bottom:44px;
}

.services-editorial-head h2{
  max-width:780px;
  margin-bottom:0;
}

.services-editorial-head > p{
  margin:0 0 8px;
  max-width:560px;
  color:var(--muted);
  font-size:17px;
  line-height:1.75;
}

.services-editorial-layout{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);
  gap:clamp(34px,5vw,72px);
  align-items:stretch;
}

.services-visual{
  position:relative;
  min-height:560px;
  overflow:hidden;
  border-radius:28px 28px 84px 28px;
  background:#15191e;
}

.services-visual img{
  width:100%;
  height:100%;
  min-height:560px;
  object-fit:cover;
  display:block;
  filter:saturate(.92) contrast(1.02);
}

.services-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(10,13,17,.76) 100%);
}

.services-visual-badge{
  position:absolute;
  left:26px;
  bottom:26px;
  z-index:2;
  width:min(230px,calc(100% - 52px));
  padding:20px 22px;
  border-left:4px solid var(--accent);
  background:rgba(17,21,26,.80);
  backdrop-filter:blur(8px);
  color:#fff;
}

.services-visual-badge strong{
  display:block;
  font-size:26px;
  line-height:1;
  margin-bottom:7px;
}

.services-visual-badge span{
  display:block;
  color:rgba(255,255,255,.78);
  font-size:13px;
  line-height:1.45;
}

.services-list{
  border-top:1px solid rgba(20,25,31,.18);
}

.service-line{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 42px;
  gap:20px;
  align-items:start;
  padding:26px 0 28px;
  border-bottom:1px solid rgba(20,25,31,.18);
  transition:padding-left .22s ease, background .22s ease;
}

.service-line:hover{
  padding-left:14px;
  background:linear-gradient(90deg,rgba(194,89,42,.07),transparent 70%);
}

.service-line-number{
  color:var(--accent);
  font-size:13px;
  font-weight:800;
  letter-spacing:.14em;
  padding-top:7px;
}

.service-line-content h3{
  margin:0 0 9px;
  font-size:clamp(22px,2.2vw,31px);
  letter-spacing:-.02em;
}

.service-line-content p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}

.service-line-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(20,25,31,.22);
  color:var(--accent);
  font-size:18px;
  transition:background .22s ease,color .22s ease,transform .22s ease;
}

.service-line:hover .service-line-icon{
  background:var(--accent);
  color:#fff;
  transform:translate(2px,-2px);
}

@media(max-width:980px){
  .services-editorial-head,
  .services-editorial-layout{
    grid-template-columns:1fr;
  }

  .services-visual{
    min-height:430px;
  }

  .services-visual img{
    min-height:430px;
  }
}

@media(max-width:640px){
  .services-editorial-head{
    margin-bottom:30px;
  }

  .services-visual{
    min-height:340px;
    border-radius:22px 22px 58px 22px;
  }

  .services-visual img{
    min-height:340px;
  }

  .service-line{
    grid-template-columns:42px minmax(0,1fr);
    gap:14px;
  }

  .service-line-icon{
    display:none;
  }

  .service-line-content h3{
    font-size:23px;
  }
}


/* Compact refinement for Services section */
.services-editorial{
  padding-top:72px;
  padding-bottom:72px;
}

.services-editorial-head{
  margin-bottom:30px;
  gap:clamp(28px,4vw,58px);
}

.services-editorial-head > p{
  font-size:16px;
  line-height:1.62;
}

.services-editorial-layout{
  gap:clamp(28px,4vw,54px);
}

.services-visual{
  min-height:420px;
  border-radius:24px 24px 64px 24px;
}

.services-visual img{
  min-height:420px;
}

.services-visual-badge{
  left:22px;
  bottom:22px;
  padding:16px 18px;
}

.services-visual-badge strong{
  font-size:22px;
}

.service-line{
  grid-template-columns:48px minmax(0,1fr) 20px;
  gap:16px;
  padding:18px 0 20px;
}

.service-line:hover{
  padding-left:8px;
}

.service-line-content h3{
  margin-bottom:6px;
  font-size:clamp(20px,1.9vw,27px);
}

.service-line-content p{
  line-height:1.55;
  font-size:15px;
}

.service-line-marker{
  width:9px;
  height:9px;
  margin-top:11px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 5px rgba(194,89,42,.10);
  transition:transform .2s ease, box-shadow .2s ease;
}

.service-line:hover .service-line-marker{
  transform:scale(1.15);
  box-shadow:0 0 0 7px rgba(194,89,42,.12);
}

@media(max-width:980px){
  .services-editorial{
    padding-top:60px;
    padding-bottom:60px;
  }

  .services-visual,
  .services-visual img{
    min-height:360px;
  }
}

@media(max-width:640px){
  .services-editorial{
    padding-top:50px;
    padding-bottom:50px;
  }

  .services-visual,
  .services-visual img{
    min-height:300px;
  }

  .service-line{
    grid-template-columns:38px minmax(0,1fr) 14px;
    padding:16px 0 18px;
  }

  .service-line-marker{
    margin-top:9px;
  }
}


/* Refined Services heading alignment */
.services-editorial-head{
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
  align-items:start;
}

.services-editorial-head > div{
  max-width:760px;
}

.services-editorial-head h2{
  max-width:680px;
  margin-top:10px;
  line-height:1.03;
  text-wrap:balance;
}

.services-editorial-head > p{
  max-width:440px;
  justify-self:end;
  padding-top:28px;
  line-height:1.58;
  text-wrap:pretty;
}

@media(max-width:980px){
  .services-editorial-head > p{
    justify-self:start;
    padding-top:0;
    max-width:700px;
  }

  .services-editorial-head h2{
    max-width:720px;
  }
}

@media(max-width:640px){
  .services-editorial-head h2{
    line-height:1.08;
  }
}


/* Alternative Services heading — cleaner and more intentional */
.services-editorial-head-clean{
  display:block;
  margin-bottom:34px;
}

.services-editorial-head-clean .eyebrow{
  display:inline-flex;
  margin-bottom:14px;
}

.services-title-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.68fr);
  gap:clamp(34px,5vw,72px);
  align-items:end;
}

.services-title-row h2{
  max-width:760px;
  margin:0;
  font-size:clamp(38px,5vw,66px);
  line-height:.98;
  letter-spacing:-.045em;
  text-wrap:balance;
}

.services-intro-note{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding-bottom:5px;
}

.services-intro-line{
  display:block;
  height:2px;
  margin-top:11px;
  background:var(--accent);
}

.services-intro-note p{
  margin:0;
  max-width:430px;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.58;
  text-wrap:pretty;
}

@media(max-width:980px){
  .services-title-row{
    grid-template-columns:1fr;
    gap:20px;
  }

  .services-title-row h2{
    max-width:780px;
  }

  .services-intro-note{
    max-width:700px;
  }
}

@media(max-width:640px){
  .services-editorial-head-clean{
    margin-bottom:26px;
  }

  .services-title-row h2{
    font-size:clamp(34px,10vw,46px);
    line-height:1.02;
  }

  .services-intro-note{
    grid-template-columns:28px minmax(0,1fr);
    gap:12px;
  }

  .services-intro-note p{
    font-size:15px;
  }
}


/* Compact services heading variant */
.services-editorial-head-compact{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
  gap:clamp(28px,4vw,58px);
  align-items:end;
  margin-bottom:28px;
}

.services-heading-copy{
  max-width:650px;
}

.services-heading-copy .eyebrow{
  margin-bottom:10px;
}

.services-heading-copy h2{
  margin:0;
  max-width:620px;
  font-size:clamp(32px,3.8vw,48px);
  line-height:1.04;
  letter-spacing:-.035em;
  text-wrap:balance;
}

.services-heading-text{
  margin:0 0 4px;
  max-width:430px;
  justify-self:end;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.55;
  text-wrap:pretty;
}

@media(max-width:980px){
  .services-editorial-head-compact{
    grid-template-columns:1fr;
    gap:14px;
    align-items:start;
  }

  .services-heading-text{
    justify-self:start;
    max-width:680px;
  }
}

@media(max-width:640px){
  .services-editorial-head-compact{
    margin-bottom:24px;
  }

  .services-heading-copy h2{
    font-size:clamp(30px,9vw,40px);
  }

  .services-heading-text{
    font-size:15px;
  }
}


/* Minimal single-column services heading */
.services-editorial-head-minimal{
  display:block;
  max-width:760px;
  margin-bottom:26px;
}

.services-editorial-head-minimal .eyebrow{
  margin-bottom:9px;
}

.services-editorial-head-minimal h2{
  margin:0;
  max-width:720px;
  font-size:clamp(30px,3.3vw,44px);
  line-height:1.06;
  letter-spacing:-.03em;
  text-wrap:balance;
}

.services-editorial-head-minimal p{
  margin:12px 0 0;
  max-width:650px;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.55;
  text-wrap:pretty;
}

@media(max-width:640px){
  .services-editorial-head-minimal{
    margin-bottom:22px;
  }

  .services-editorial-head-minimal h2{
    font-size:clamp(28px,8vw,38px);
  }

  .services-editorial-head-minimal p{
    font-size:15px;
  }
}


/* Final aligned Services heading */
.services-editorial-head-aligned{
  display:grid !important;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr) !important;
  gap:clamp(28px,4vw,54px) !important;
  align-items:end !important;
  width:100%;
  max-width:none !important;
  margin:0 0 26px !important;
}

.services-head-left,
.services-head-right{
  width:100%;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.services-head-left .eyebrow{
  display:inline-flex;
  margin:0 0 9px !important;
}

.services-head-left h2{
  margin:0 !important;
  max-width:560px !important;
  font-size:clamp(31px,3.25vw,44px) !important;
  line-height:1.04 !important;
  letter-spacing:-.035em !important;
  text-wrap:balance;
}

.services-head-right{
  display:flex;
  align-items:flex-end;
}

.services-head-right p{
  margin:0 0 3px !important;
  max-width:620px !important;
  color:var(--muted);
  font-size:15.5px !important;
  line-height:1.55 !important;
  text-wrap:pretty;
}

@media(max-width:980px){
  .services-editorial-head-aligned{
    grid-template-columns:1fr !important;
    gap:12px !important;
    align-items:start !important;
  }

  .services-head-left h2{
    max-width:720px !important;
  }

  .services-head-right p{
    max-width:720px !important;
    margin-bottom:0 !important;
  }
}

@media(max-width:640px){
  .services-editorial-head-aligned{
    margin-bottom:22px !important;
  }

  .services-head-left h2{
    font-size:clamp(29px,8.5vw,38px) !important;
  }

  .services-head-right p{
    font-size:15px !important;
  }
}


/* Final clean Services heading */
.services-editorial-head-final{
  display:grid !important;
  grid-template-columns:auto minmax(120px,1fr) !important;
  gap:24px !important;
  align-items:end !important;
  width:100%;
  max-width:none !important;
  margin:0 0 24px !important;
}

.services-final-title{
  width:auto;
  max-width:none !important;
}

.services-final-title .eyebrow{
  display:inline-flex;
  margin:0 0 8px !important;
}

.services-final-title h2{
  margin:0 !important;
  max-width:none !important;
  font-size:clamp(30px,3vw,42px) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
  white-space:nowrap;
}

.services-title-rule{
  display:block;
  height:1px;
  margin-bottom:8px;
  background:linear-gradient(90deg,rgba(194,89,42,.65),rgba(20,25,31,.12));
}

@media(max-width:760px){
  .services-editorial-head-final{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-bottom:20px !important;
  }

  .services-final-title h2{
    white-space:normal;
    font-size:clamp(28px,8vw,36px) !important;
  }

  .services-title-rule{
    width:72px;
    height:2px;
    margin-bottom:0;
  }
}


/* Lighter Services title treatment */
.services-final-title h2{
  max-width:760px !important;
  font-size:clamp(28px,2.65vw,38px) !important;
  line-height:1.12 !important;
  font-weight:600 !important;
  letter-spacing:-.022em !important;
  white-space:normal !important;
  text-wrap:balance;
}

.services-editorial-head-final{
  grid-template-columns:minmax(0,auto) minmax(100px,1fr) !important;
  gap:20px !important;
  margin-bottom:22px !important;
}

.services-title-rule{
  margin-bottom:7px;
  opacity:.75;
}

@media(max-width:760px){
  .services-final-title h2{
    font-size:clamp(27px,7.5vw,34px) !important;
    line-height:1.14 !important;
    font-weight:600 !important;
  }
}


/* Remove the empty right-side line and balance the heading */
.services-editorial-head-final{
  display:block !important;
  width:100%;
  max-width:none !important;
  margin:0 0 22px !important;
}

.services-final-title{
  width:100%;
  max-width:820px !important;
}

.services-final-title h2{
  max-width:820px !important;
  margin:0 !important;
  font-size:clamp(28px,2.65vw,38px) !important;
  line-height:1.12 !important;
  font-weight:600 !important;
  letter-spacing:-.022em !important;
  white-space:normal !important;
  text-wrap:balance;
}

.services-title-rule{
  display:none !important;
}

@media(max-width:760px){
  .services-editorial-head-final{
    margin-bottom:20px !important;
  }

  .services-final-title h2{
    font-size:clamp(27px,7.5vw,34px) !important;
  }
}


/* Classic gold luxury car — fixed visual dimensions in both languages */
.services-editorial-layout{
  align-items:start !important;
}

.services-visual{
  width:100%;
  height:420px !important;
  min-height:420px !important;
  max-height:420px !important;
  align-self:start;
}

.services-visual img{
  width:100%;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:cover;
  object-position:center 58%;
  display:block;
}

@media(max-width:980px){
  .services-visual{
    height:360px !important;
    min-height:360px !important;
    max-height:360px !important;
  }
}

@media(max-width:640px){
  .services-visual{
    height:310px !important;
    min-height:310px !important;
    max-height:310px !important;
  }

  .services-visual img{
    object-position:center 56%;
  }
}


/* Make the classic gold image more present and ensure it fills the area down to the base */
.services-editorial-layout{
  align-items:stretch !important;
}

.services-visual{
  width:100%;
  height:100% !important;
  min-height:470px !important;
  max-height:none !important;
  align-self:stretch !important;
  display:flex;
}

.services-visual img{
  width:100%;
  height:100% !important;
  min-height:470px !important;
  object-fit:cover;
  object-position:center 62%;
  display:block;
  filter:saturate(1.05) contrast(1.04);
  flex:1 1 auto;
}

@media(max-width:980px){
  .services-visual{
    min-height:390px !important;
  }

  .services-visual img{
    min-height:390px !important;
    object-position:center 60%;
  }
}

@media(max-width:640px){
  .services-visual{
    min-height:320px !important;
  }

  .services-visual img{
    min-height:320px !important;
    object-position:center 58%;
  }
}


/* Balanced fit for the classic gold image:
   - not too tall
   - full car visible
   - logo visible
   - image anchored to the base of the area */
.services-editorial-layout{
  align-items:start !important;
}

.services-visual{
  width:100%;
  height:400px !important;
  min-height:400px !important;
  max-height:400px !important;
  align-self:start !important;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  background:
    radial-gradient(circle at top left, rgba(201,146,55,.10), transparent 36%),
    linear-gradient(180deg, #1a1b1d 0%, #191715 100%);
  overflow:hidden;
}

.services-visual img{
  width:100%;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  display:block;
  padding:0;
  filter:saturate(1.02) contrast(1.03);
  background:transparent;
}

/* Keep the image bottom-aligned while preserving the full composition */
.services-visual::after{
  background:linear-gradient(180deg, rgba(10,13,17,.06) 0%, rgba(10,13,17,.26) 100%);
}

@media(max-width:980px){
  .services-visual{
    height:340px !important;
    min-height:340px !important;
    max-height:340px !important;
  }
}

@media(max-width:640px){
  .services-visual{
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
  }
}


/* Mid-fit adjustment:
   - slightly taller than balanced-fit
   - still contained
   - visually reaches the base better */
.services-editorial-layout{
  align-items:start !important;
}

.services-visual{
  height:430px !important;
  min-height:430px !important;
  max-height:430px !important;
  align-self:start !important;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
}

.services-visual img{
  width:100%;
  height:100% !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  transform:scale(1.07);
  transform-origin:center bottom;
  display:block;
}

@media(max-width:980px){
  .services-visual{
    height:365px !important;
    min-height:365px !important;
    max-height:365px !important;
  }

  .services-visual img{
    transform:scale(1.05);
  }
}

@media(max-width:640px){
  .services-visual{
    height:315px !important;
    min-height:315px !important;
    max-height:315px !important;
  }

  .services-visual img{
    transform:scale(1.03);
  }
}


/* New wide classic-gold image fitted to the Services column */
.services-editorial-layout{
  align-items:stretch !important;
}

.services-visual{
  width:100%;
  height:auto !important;
  min-height:100% !important;
  max-height:none !important;
  align-self:stretch !important;
  display:flex;
  overflow:hidden;
}

.services-visual img{
  width:100%;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  display:block;
}

@media(max-width:980px){
  .services-visual{
    min-height:390px !important;
  }

  .services-visual img{
    min-height:390px !important;
  }
}

@media(max-width:640px){
  .services-visual{
    min-height:320px !important;
  }

  .services-visual img{
    min-height:320px !important;
  }
}


/* Process redesign: connected horizontal timeline instead of cards */
.process-section{
  position:relative;
  padding:82px 0 88px;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 15%,rgba(201,105,49,.16),transparent 28%),
    linear-gradient(135deg,#171a1f 0%,#23272d 100%);
  color:#fff;
}

.process-section::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:42px 42px;
  pointer-events:none;
}

.process-section .container{
  position:relative;
  z-index:1;
}

.process-heading{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr);
  gap:clamp(36px,6vw,90px);
  align-items:end;
  margin-bottom:48px;
}

.process-heading .eyebrow{
  color:#e59a68;
  margin-bottom:12px;
}

.process-heading h2{
  max-width:720px;
  margin:0;
  color:#fff;
  font-size:clamp(34px,4.1vw,58px);
  line-height:1.02;
  letter-spacing:-.045em;
  text-wrap:balance;
}

.process-heading > p{
  max-width:480px;
  margin:0 0 6px;
  justify-self:end;
  color:rgba(255,255,255,.68);
  font-size:16px;
  line-height:1.65;
}

.process-timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  padding-top:8px;
}

.process-timeline::before{
  content:"";
  position:absolute;
  top:35px;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,rgba(229,154,104,.15),rgba(229,154,104,.85),rgba(229,154,104,.15));
}

.process-step{
  position:relative;
  padding:0 28px 0 0;
  min-height:230px;
}

.process-step:not(:first-child){
  padding-left:28px;
}

.process-step:not(:last-child){
  border-right:1px solid rgba(255,255,255,.10);
}

.process-step-top{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:34px;
}

.process-step-number{
  color:#e59a68;
  font-size:14px;
  font-weight:800;
  letter-spacing:.14em;
}

.process-step-dot{
  width:14px;
  height:14px;
  margin-right:-7px;
  border:4px solid #22262c;
  border-radius:50%;
  background:#e59a68;
  box-shadow:0 0 0 1px rgba(229,154,104,.8);
}

.process-step:last-child .process-step-dot{
  margin-right:0;
}

.process-step h3{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(20px,2vw,28px);
  line-height:1.14;
}

.process-step p{
  margin:0;
  color:rgba(255,255,255,.64);
  font-size:14.5px;
  line-height:1.65;
}

@media(max-width:980px){
  .process-section{
    padding:68px 0 72px;
  }

  .process-heading{
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:38px;
  }

  .process-heading > p{
    justify-self:start;
    max-width:720px;
  }

  .process-timeline{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:34px 0;
  }

  .process-timeline::before{
    display:none;
  }

  .process-step{
    min-height:210px;
  }

  .process-step:nth-child(2){
    border-right:0;
  }

  .process-step:nth-child(3){
    padding-left:0;
  }

  .process-step-top{
    margin-bottom:22px;
    padding-bottom:14px;
    border-bottom:1px solid rgba(229,154,104,.35);
  }

  .process-step-dot{
    margin-right:0;
  }
}

@media(max-width:640px){
  .process-section{
    padding:56px 0 60px;
  }

  .process-heading h2{
    font-size:clamp(31px,9vw,42px);
  }

  .process-timeline{
    grid-template-columns:1fr;
    gap:0;
  }

  .process-step,
  .process-step:not(:first-child){
    min-height:0;
    padding:22px 0 24px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.11);
  }

  .process-step:first-child{
    padding-top:0;
  }

  .process-step:last-child{
    padding-bottom:0;
    border-bottom:0;
  }

  .process-step-top{
    margin-bottom:14px;
  }
}


/* Compact, lighter process section */
.process-section-compact{
  padding:62px 0 66px !important;
  background:#f6f3ef !important;
  color:var(--text) !important;
  overflow:hidden;
}

.process-section-compact::before{
  display:none !important;
}

.process-compact-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);
  gap:clamp(28px,5vw,70px);
  align-items:end;
  margin-bottom:28px;
}

.process-compact-head .eyebrow{
  margin-bottom:8px;
}

.process-compact-head h2{
  max-width:680px;
  margin:0;
  color:var(--text);
  font-size:clamp(30px,3.4vw,44px);
  line-height:1.05;
  letter-spacing:-.035em;
  text-wrap:balance;
}

.process-compact-head > p{
  max-width:430px;
  margin:0 0 4px;
  justify-self:end;
  color:var(--muted);
  font-size:15px;
  line-height:1.55;
}

.process-compact-track{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(24,29,35,.16);
  border-bottom:1px solid rgba(24,29,35,.16);
}

.process-compact-step{
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:14px;
  min-height:132px;
  padding:22px 22px 20px 0;
}

.process-compact-step:not(:first-child){
  padding-left:22px;
}

.process-compact-step:not(:last-child){
  border-right:1px solid rgba(24,29,35,.14);
}

.process-compact-number{
  color:var(--accent);
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
  padding-top:4px;
}

.process-compact-step h3{
  margin:0 0 7px;
  color:var(--text);
  font-size:clamp(18px,1.65vw,23px);
  line-height:1.15;
}

.process-compact-step p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}

@media(max-width:980px){
  .process-section-compact{
    padding:54px 0 58px !important;
  }

  .process-compact-head{
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:24px;
  }

  .process-compact-head > p{
    justify-self:start;
    max-width:680px;
  }

  .process-compact-track{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .process-compact-step:nth-child(2){
    border-right:0;
  }

  .process-compact-step:nth-child(-n+2){
    border-bottom:1px solid rgba(24,29,35,.14);
  }

  .process-compact-step:nth-child(3){
    padding-left:0;
  }
}

@media(max-width:640px){
  .process-section-compact{
    padding:46px 0 50px !important;
  }

  .process-compact-head h2{
    font-size:clamp(28px,8vw,36px);
  }

  .process-compact-track{
    grid-template-columns:1fr;
  }

  .process-compact-step,
  .process-compact-step:not(:first-child){
    min-height:0;
    padding:17px 0;
    border-right:0;
    border-bottom:1px solid rgba(24,29,35,.14);
  }

  .process-compact-step:last-child{
    border-bottom:0;
  }
}


/* Slim process band — visually distinct and much shorter */
.process-slim-section{
  padding:42px 0 46px;
  background:#20242a;
  color:#fff;
  border-top:4px solid var(--accent);
}

.process-slim-wrap{
  display:grid;
  grid-template-columns:minmax(220px,.7fr) minmax(0,2.3fr);
  gap:38px;
  align-items:stretch;
}

.process-slim-intro{
  padding-right:30px;
  border-right:1px solid rgba(255,255,255,.14);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.process-slim-intro .eyebrow{
  margin-bottom:8px;
  color:#e8a06f;
}

.process-slim-intro h2{
  margin:0;
  max-width:300px;
  color:#fff;
  font-size:clamp(25px,2.4vw,34px);
  line-height:1.08;
  letter-spacing:-.03em;
}

.process-slim-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.process-slim-step{
  position:relative;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:11px;
  padding:10px 20px;
  min-height:116px;
  align-content:center;
}

.process-slim-step:not(:last-child){
  border-right:1px solid rgba(255,255,255,.12);
}

.process-slim-number{
  color:#e8a06f;
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  padding-top:3px;
}

.process-slim-step h3{
  margin:0 0 5px;
  color:#fff;
  font-size:18px;
  line-height:1.15;
}

.process-slim-step p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:13px;
  line-height:1.45;
}

/* Reduce the large separation above Our Services */
.services-editorial{
  padding-top:46px !important;
}

@media(max-width:980px){
  .process-slim-section{
    padding:38px 0 40px;
  }

  .process-slim-wrap{
    grid-template-columns:1fr;
    gap:24px;
  }

  .process-slim-intro{
    padding-right:0;
    padding-bottom:18px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
  }

  .process-slim-intro h2{
    max-width:520px;
  }

  .process-slim-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .process-slim-step:nth-child(2){
    border-right:0;
  }

  .process-slim-step:nth-child(-n+2){
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .services-editorial{
    padding-top:40px !important;
  }
}

@media(max-width:640px){
  .process-slim-section{
    padding:34px 0 36px;
  }

  .process-slim-list{
    grid-template-columns:1fr;
  }

  .process-slim-step,
  .process-slim-step:not(:last-child){
    min-height:0;
    padding:14px 0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.11);
  }

  .process-slim-step:last-child{
    border-bottom:0;
  }

  .services-editorial{
    padding-top:34px !important;
  }
}


/* Contact form adjustment after removing the email-address note */
.estimate-form{
  align-content:center !important;
  row-gap:8px !important;
  padding:20px !important;
}

.form-heading{
  margin-bottom:5px !important;
}

.estimate-form textarea{
  min-height:82px !important;
  max-height:82px !important;
}

.form-actions{
  margin-top:4px !important;
}

.form-note{
  display:none !important;
}

@media(max-width:1024px){
  .estimate-form{
    align-content:start !important;
  }
}

@media(max-width:760px){
  .estimate-form{
    padding:18px !important;
  }
}


/* Final Our Services close-up image */
.services-editorial-layout{
  align-items:stretch !important;
}

.services-visual{
  min-height:100% !important;
  height:auto !important;
  align-self:stretch !important;
  overflow:hidden;
}

.services-visual img{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
}

@media(max-width:980px){
  .services-visual,
  .services-visual img{
    min-height:390px !important;
  }
}

@media(max-width:640px){
  .services-visual,
  .services-visual img{
    min-height:320px !important;
  }
}


/* Keep Our Services at the English-language height in both languages */
@media(min-width:981px){
  .services-editorial-layout{
    height:650px !important;
    min-height:650px !important;
    max-height:650px !important;
    align-items:stretch !important;
  }

  .services-visual,
  .services-list{
    height:650px !important;
    min-height:650px !important;
    max-height:650px !important;
  }

  .services-visual img{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .services-list{
    display:grid !important;
    grid-template-rows:repeat(4,1fr) !important;
    overflow:hidden;
  }

  .service-line{
    min-height:0 !important;
    height:auto !important;
    padding-top:17px !important;
    padding-bottom:17px !important;
    align-content:center;
  }

  .service-line-content p{
    font-size:14.5px !important;
    line-height:1.48 !important;
  }
}

/* Tablet and mobile keep a stable image height independent of language */
@media(min-width:641px) and (max-width:980px){
  .services-visual{
    height:390px !important;
    min-height:390px !important;
    max-height:390px !important;
  }

  .services-visual img{
    height:100% !important;
    min-height:0 !important;
  }
}

@media(max-width:640px){
  .services-visual{
    height:320px !important;
    min-height:320px !important;
    max-height:320px !important;
  }

  .services-visual img{
    height:100% !important;
    min-height:0 !important;
  }
}


/* Corrected compact fixed height for Our Services */
@media(min-width:981px){
  .services-editorial-layout{
    height:510px !important;
    min-height:510px !important;
    max-height:510px !important;
  }

  .services-visual,
  .services-list{
    height:510px !important;
    min-height:510px !important;
    max-height:510px !important;
  }

  .services-visual img{
    height:100% !important;
    min-height:0 !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .services-list{
    grid-template-rows:repeat(4,1fr) !important;
  }

  .service-line{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }

  .service-line-content h3{
    margin-bottom:4px !important;
    font-size:clamp(19px,1.55vw,24px) !important;
  }

  .service-line-content p{
    font-size:13.5px !important;
    line-height:1.42 !important;
  }
}

@media(min-width:641px) and (max-width:980px){
  .services-visual{
    height:350px !important;
    min-height:350px !important;
    max-height:350px !important;
  }
}

@media(max-width:640px){
  .services-visual{
    height:290px !important;
    min-height:290px !important;
    max-height:290px !important;
  }
}


/* Extra-compact Our Services section */
.services-editorial{
  padding-top:34px !important;
  padding-bottom:42px !important;
}

.services-editorial-head-final{
  margin-bottom:16px !important;
}

.services-final-title .eyebrow{
  margin-bottom:6px !important;
}

.services-final-title h2{
  max-width:720px !important;
  font-size:clamp(25px,2.25vw,33px) !important;
  line-height:1.1 !important;
}

.services-editorial-layout{
  gap:clamp(22px,3vw,40px) !important;
}

@media(min-width:981px){
  .services-editorial-layout{
    height:440px !important;
    min-height:440px !important;
    max-height:440px !important;
  }

  .services-visual,
  .services-list{
    height:440px !important;
    min-height:440px !important;
    max-height:440px !important;
  }

  .service-line{
    grid-template-columns:42px minmax(0,1fr) 16px !important;
    gap:12px !important;
    padding-top:7px !important;
    padding-bottom:7px !important;
  }

  .service-line-content h3{
    margin-bottom:3px !important;
    font-size:clamp(17px,1.35vw,21px) !important;
  }

  .service-line-content p{
    font-size:12.5px !important;
    line-height:1.38 !important;
  }

  .service-line-number{
    font-size:12px !important;
    padding-top:4px !important;
  }

  .service-line-marker{
    width:7px !important;
    height:7px !important;
    margin-top:8px !important;
  }
}

@media(min-width:641px) and (max-width:980px){
  .services-editorial{
    padding-top:30px !important;
    padding-bottom:36px !important;
  }

  .services-visual{
    height:310px !important;
    min-height:310px !important;
    max-height:310px !important;
  }

  .services-final-title h2{
    font-size:clamp(25px,4vw,32px) !important;
  }
}

@media(max-width:640px){
  .services-editorial{
    padding-top:28px !important;
    padding-bottom:32px !important;
  }

  .services-editorial-head-final{
    margin-bottom:14px !important;
  }

  .services-visual{
    height:255px !important;
    min-height:255px !important;
    max-height:255px !important;
  }

  .services-final-title h2{
    font-size:clamp(24px,7vw,30px) !important;
  }

  .service-line{
    padding-top:12px !important;
    padding-bottom:12px !important;
  }
}


/* Keep the Services heading aligned identically in English and Spanish */
.services-editorial-head-final{
  min-height:78px !important;
  display:flex !important;
  align-items:flex-end !important;
}

.services-final-title{
  width:100%;
  min-height:78px !important;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.services-final-title .eyebrow{
  min-height:18px;
}

.services-final-title h2{
  min-height:42px;
  display:flex;
  align-items:flex-end;
  margin:0 !important;
}

@media(max-width:760px){
  .services-editorial-head-final,
  .services-final-title{
    min-height:72px !important;
  }

  .services-final-title h2{
    min-height:40px;
  }
}


/* Services slogan: identical two-line structure in both languages */
#services-slogan{
  display:block;
  width:100%;
  line-height:1.1;
}

.services-final-title h2{
  min-height:72px !important;
  align-items:flex-end !important;
}


/* Animated video popup — slightly larger than its original card */
body.video-detached-open{
  overflow:hidden;
}

body.video-detached-open::before{
  content:"" !important;
  display:block !important;
  position:fixed !important;
  inset:0 !important;
  z-index:10000 !important;
  background:rgba(20,22,25,.54) !important;
  backdrop-filter:blur(7px) saturate(.85);
  -webkit-backdrop-filter:blur(7px) saturate(.85);
  pointer-events:auto !important;
  animation:videoBackdropIn .28s ease both;
}

.detached-video-shell{
  position:fixed !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-46%) scale(.88) !important;
  z-index:10001 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:22px !important;
  background:transparent !important;
  box-shadow:
    0 34px 90px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,255,255,.16) !important;
  opacity:0;
  transition:
    transform .42s cubic-bezier(.2,.82,.2,1),
    opacity .28s ease;
}

.detached-video-shell.is-visible{
  transform:translate(-50%,-50%) scale(1) !important;
  opacity:1;
}

.detached-video-shell .native-video-card,
.detached-video-shell .video-media{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  background:transparent !important;
  border-radius:inherit;
  overflow:hidden;
}

.detached-video-shell .native-video{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  background:transparent !important;
  border-radius:inherit;
}

/* Compact floating close/return control */
.detached-video-shell .detach-toggle{
  position:absolute !important;
  left:14px !important;
  right:auto !important;
  top:14px !important;
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  color:#fff !important;
  background:rgba(17,19,22,.68) !important;
  border:1px solid rgba(255,255,255,.24) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.25) !important;
  backdrop-filter:blur(8px);
}

.detached-video-shell .detach-toggle:hover{
  transform:scale(1.06) !important;
  background:rgba(17,19,22,.86) !important;
}

@keyframes videoBackdropIn{
  from{opacity:0}
  to{opacity:1}
}

@media(max-width:760px){
  .detached-video-shell{
    max-width:calc(100vw - 20px) !important;
    max-height:calc(100vh - 28px) !important;
    border-radius:16px !important;
  }

  .detached-video-shell .detach-toggle{
    left:10px !important;
    top:10px !important;
    width:40px !important;
    height:40px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .detached-video-shell,
  body.video-detached-open::before{
    animation:none !important;
    transition:none !important;
  }
}


/* First click: keep the video over its own area and lift it slightly */
.video-card,
.native-video-card,
.video-media{
  overflow:visible !important;
}

.video-card{
  position:relative;
  z-index:1;
}

.video-card.is-playing{
  z-index:30;
}

.video-card.is-playing .native-video-card{
  position:relative;
  z-index:31;
  transform:translateY(-10px) scale(1.035);
  transform-origin:center center;
  border-radius:18px;
  box-shadow:
    0 24px 48px rgba(20,22,25,.24),
    0 8px 18px rgba(20,22,25,.16),
    0 0 0 1px rgba(255,255,255,.28);
  transition:
    transform .42s cubic-bezier(.2,.82,.2,1),
    box-shadow .42s ease;
}

.video-card.is-playing .native-video-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}

.video-card.is-playing .video-media,
.video-card.is-playing .native-video{
  border-radius:18px !important;
  overflow:hidden !important;
}

.video-card.is-playing .native-video{
  object-fit:cover !important;
  background:transparent !important;
}

/* Enlargement button remains available after playback starts */
.video-card.is-playing .detach-toggle{
  z-index:35 !important;
  right:14px !important;
  top:14px !important;
  width:43px !important;
  height:43px !important;
  border-radius:999px !important;
  background:rgba(17,19,22,.72) !important;
  border:1px solid rgba(255,255,255,.25) !important;
  box-shadow:0 10px 25px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.video-card.is-playing .detach-toggle:hover{
  transform:scale(1.08) !important;
  background:rgba(17,19,22,.9) !important;
}

/* Once enlarged, remove the small in-place lift so only the popup transform applies */
.detached-video-shell .native-video-card{
  transform:none !important;
  box-shadow:none !important;
}

@media(max-width:760px){
  .video-card.is-playing .native-video-card{
    transform:translateY(-6px) scale(1.018);
    border-radius:14px;
  }

  .video-card.is-playing .video-media,
  .video-card.is-playing .native-video{
    border-radius:14px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .video-card.is-playing .native-video-card{
    transition:none !important;
  }
}


/* First click uses the original detached-video presentation */
.video-card.is-playing .native-video-card{
  transform:none !important;
  box-shadow:none !important;
}

/* Keep only the video itself visible in detached mode */
.detached-video-shell{
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  overflow:hidden !important;
}

.detached-video-shell .native-video-card,
.detached-video-shell .video-media{
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  overflow:hidden !important;
}

.detached-video-shell .native-video{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  border:none !important;
  object-fit:cover !important;
  background:transparent !important;
}


/* Keep the original project area showing its normal image while video plays centrally */
.video-poster-placeholder{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  pointer-events:none !important;
}

.video-poster-placeholder .poster-button{
  display:block !important;
  width:100% !important;
  height:100% !important;
  pointer-events:none !important;
}

.video-poster-placeholder .poster-button img,
.video-poster-placeholder img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.video-poster-placeholder .native-video,
.video-poster-placeholder .detach-toggle,
.video-poster-placeholder .video-status{
  display:none !important;
}

/* Only the detached video is visible in the center */
.detached-video-shell .poster-button{
  display:none !important;
}

.detached-video-shell .native-video{
  cursor:zoom-out;
}


/* Mobile video playback refinements */
@media(max-width:760px){
  body.video-detached-open{
    overflow:hidden !important;
    overscroll-behavior:none;
    touch-action:none;
  }

  .detached-video-shell{
    width:auto !important;
    max-width:calc(100vw - 20px) !important;
    max-height:calc(100dvh - 32px) !important;
    border-radius:14px !important;
  }

  .detached-video-shell .native-video-card,
  .detached-video-shell .video-media{
    width:100% !important;
    height:100% !important;
    max-height:calc(100dvh - 32px) !important;
    border-radius:inherit !important;
    overflow:hidden !important;
  }

  .detached-video-shell .native-video{
    width:100% !important;
    height:100% !important;
    max-height:calc(100dvh - 32px) !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:transparent !important;
  }

  .detached-video-shell .detach-toggle{
    left:10px !important;
    top:10px !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    border-radius:999px !important;
  }

  .detached-video-shell .detach-toggle svg{
    width:20px !important;
    height:20px !important;
  }
}

/* Fallback for mobile browsers without dynamic viewport units */
@supports not (height:100dvh){
  @media(max-width:760px){
    .detached-video-shell,
    .detached-video-shell .native-video-card,
    .detached-video-shell .video-media,
    .detached-video-shell .native-video{
      max-height:calc(100vh - 32px) !important;
    }
  }
}


/* Refined About Loreto — editorial panel + clean value list */
#about.section-soft{
  padding-top:52px !important;
  padding-bottom:52px !important;
  background:
    radial-gradient(circle at 86% 10%, rgba(217,107,43,.10), transparent 24%),
    linear-gradient(180deg,#f6f3ee 0%,#f1eee8 100%) !important;
}

#about .about-grid{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr) !important;
  gap:22px !important;
  align-items:stretch !important;
}

/* Left editorial block */
#about .about-copy{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:500px;
  padding:46px 48px 44px !important;
  overflow:hidden;
  border:none !important;
  border-radius:26px !important;
  color:#fff;
  background:
    radial-gradient(circle at 88% 14%,rgba(217,107,43,.23),transparent 25%),
    linear-gradient(145deg,#24282c 0%,#171a1e 100%) !important;
  box-shadow:0 24px 55px rgba(25,28,31,.16) !important;
}

#about .about-copy::before{
  content:"";
  position:absolute;
  left:0;
  top:40px;
  bottom:40px;
  width:5px;
  border-radius:0 999px 999px 0;
  background:#d96b2b;
}

#about .about-copy::after{
  content:"LORETO";
  position:absolute;
  right:-12px;
  bottom:-28px;
  width:auto;
  height:auto;
  border-radius:0;
  background:none;
  color:rgba(255,255,255,.035);
  font-size:112px;
  font-weight:900;
  letter-spacing:-.07em;
  line-height:1;
  pointer-events:none;
}

#about .about-copy .eyebrow.dark{
  position:relative;
  z-index:1;
  margin-bottom:16px;
  color:#f0a16c !important;
}

#about .about-copy h2{
  position:relative;
  z-index:1;
  max-width:760px;
  margin:0 0 22px !important;
  color:#fff !important;
  font-size:clamp(34px,3vw,49px) !important;
  line-height:1.08 !important;
  letter-spacing:-.035em;
}

#about .about-copy p{
  position:relative;
  z-index:1;
  max-width:760px;
  margin:0 0 14px !important;
  color:rgba(255,255,255,.73) !important;
  font-size:14.5px !important;
  line-height:1.72 !important;
}

#about .about-copy p:last-child{
  margin-bottom:0 !important;
}

/* Right side becomes one unified panel instead of four floating cards */
#about .about-values{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:repeat(4,1fr);
  gap:0 !important;
  min-height:500px;
  padding:10px 28px !important;
  border:1px solid #e2ddd5;
  border-radius:26px;
  background:rgba(255,255,255,.88);
  box-shadow:0 18px 42px rgba(28,31,34,.08);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

#about .about-values article{
  position:relative;
  display:grid !important;
  grid-template-columns:54px minmax(0,1fr) auto !important;
  gap:16px !important;
  align-items:center !important;
  min-height:0 !important;
  padding:20px 2px !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

#about .about-values article + article{
  border-top:1px solid #e9e4dc !important;
}

#about .about-values article::before{
  display:none !important;
}

#about .about-value-icon{
  width:48px !important;
  height:48px !important;
  border-radius:15px !important;
  background:#22262a !important;
  color:#f0a16c !important;
  box-shadow:0 10px 22px rgba(31,35,39,.14) !important;
}

#about .about-value-icon svg{
  width:23px !important;
  height:23px !important;
  stroke-width:1.75 !important;
}

#about .about-values article > div{
  min-width:0;
}

#about .about-values strong{
  display:block;
  margin:0 0 6px !important;
  color:#25282b !important;
  font-size:17px !important;
  line-height:1.25 !important;
}

#about .about-values span{
  display:block;
  max-width:330px;
  color:#70767b !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

#about .about-values small{
  align-self:center;
  justify-self:end;
  max-width:170px;
  margin:0 !important;
  padding:8px 12px !important;
  border:1px solid #f1d9c8;
  border-radius:999px !important;
  background:#fff6ef !important;
  color:#b65a28 !important;
  font-size:10.5px !important;
  font-weight:800 !important;
  line-height:1.3 !important;
  text-align:center;
  white-space:normal;
}

/* Tablet */
@media(max-width:1024px){
  #about .about-grid{
    grid-template-columns:1fr !important;
  }

  #about .about-copy,
  #about .about-values{
    min-height:auto !important;
  }

  #about .about-copy{
    padding:40px 38px !important;
  }

  #about .about-values{
    grid-template-columns:1fr 1fr !important;
    grid-template-rows:auto !important;
    padding:10px 22px !important;
  }

  #about .about-values article{
    grid-template-columns:48px 1fr !important;
    padding:22px 14px !important;
  }

  #about .about-values article + article{
    border-top:none !important;
  }

  #about .about-values article:nth-child(odd){
    border-right:1px solid #e9e4dc !important;
  }

  #about .about-values article:nth-child(n+3){
    border-top:1px solid #e9e4dc !important;
  }

  #about .about-values small{
    grid-column:2;
    justify-self:start;
    margin-top:8px !important;
  }
}

/* Mobile */
@media(max-width:680px){
  #about.section-soft{
    padding-top:34px !important;
    padding-bottom:34px !important;
  }

  #about .about-copy{
    min-height:auto;
    padding:32px 26px 30px !important;
    border-radius:20px !important;
  }

  #about .about-copy::before{
    top:28px;
    bottom:28px;
    width:4px;
  }

  #about .about-copy::after{
    right:-6px;
    bottom:-14px;
    font-size:68px;
  }

  #about .about-copy h2{
    font-size:clamp(30px,9vw,38px) !important;
  }

  #about .about-copy p{
    font-size:13.5px !important;
  }

  #about .about-values{
    grid-template-columns:1fr !important;
    padding:6px 18px !important;
    border-radius:20px;
  }

  #about .about-values article{
    grid-template-columns:48px 1fr !important;
    padding:18px 2px !important;
    border-right:none !important;
  }

  #about .about-values article + article{
    border-top:1px solid #e9e4dc !important;
  }

  #about .about-values small{
    grid-column:2;
    justify-self:start;
    max-width:none;
    margin-top:8px !important;
  }
}


/* Lighter About Loreto revision */
#about.section-soft{
  background:
    radial-gradient(circle at 88% 12%, rgba(217,107,43,.08), transparent 24%),
    linear-gradient(180deg,#f7f4ef 0%,#f2efe9 100%) !important;
}

/* Replace the dark left panel with a light editorial card */
#about .about-copy{
  color:#25282b !important;
  background:
    radial-gradient(circle at 88% 14%,rgba(217,107,43,.08),transparent 24%),
    linear-gradient(145deg,#ffffff 0%,#fbf7f2 100%) !important;
  border:1px solid #e3ddd5 !important;
  box-shadow:0 18px 42px rgba(28,31,34,.08) !important;
}

#about .about-copy::before{
  background:#d96b2b !important;
}

#about .about-copy::after{
  color:rgba(217,107,43,.045) !important;
}

#about .about-copy .eyebrow.dark{
  color:#bf5f2a !important;
}

#about .about-copy h2{
  color:#25282b !important;
}

#about .about-copy p{
  color:#6f7478 !important;
}

/* Remove the black icon blocks */
#about .about-value-icon{
  width:46px !important;
  height:46px !important;
  border:1px solid #efcdb7 !important;
  border-radius:14px !important;
  background:#fff5ee !important;
  color:#c7612c !important;
  box-shadow:none !important;
}

#about .about-value-icon svg{
  stroke:#c7612c !important;
  opacity:1 !important;
}

/* Softer unified values panel */
#about .about-values{
  background:rgba(255,255,255,.92) !important;
  border:1px solid #e3ddd5 !important;
  box-shadow:0 16px 38px rgba(28,31,34,.07) !important;
}

#about .about-values strong{
  color:#2b2e31 !important;
}

#about .about-values span{
  color:#73787c !important;
}

#about .about-values small{
  border-color:#f0d7c7 !important;
  background:#fff7f1 !important;
  color:#b95b28 !important;
}


/* Make About Loreto shorter and more compact */
#about.section-soft{
  padding-top:36px !important;
  padding-bottom:36px !important;
}

#about .about-grid{
  gap:18px !important;
}

#about .about-copy{
  min-height:390px !important;
  padding:32px 38px 30px !important;
  border-radius:22px !important;
}

#about .about-copy::before{
  top:28px !important;
  bottom:28px !important;
}

#about .about-copy::after{
  bottom:-18px !important;
  font-size:88px !important;
}

#about .about-copy .eyebrow.dark{
  margin-bottom:10px !important;
}

#about .about-copy h2{
  margin-bottom:16px !important;
  font-size:clamp(31px,2.65vw,43px) !important;
  line-height:1.06 !important;
}

#about .about-copy p{
  margin-bottom:9px !important;
  font-size:13.5px !important;
  line-height:1.58 !important;
}

#about .about-values{
  min-height:390px !important;
  padding:6px 24px !important;
  border-radius:22px !important;
}

#about .about-values article{
  padding:12px 2px !important;
  grid-template-columns:48px minmax(0,1fr) auto !important;
  gap:13px !important;
}

#about .about-value-icon{
  width:42px !important;
  height:42px !important;
  border-radius:12px !important;
}

#about .about-value-icon svg{
  width:20px !important;
  height:20px !important;
}

#about .about-values strong{
  margin-bottom:3px !important;
  font-size:15.5px !important;
}

#about .about-values span{
  font-size:12.25px !important;
  line-height:1.38 !important;
}

#about .about-values small{
  max-width:150px !important;
  padding:6px 10px !important;
  font-size:9.5px !important;
}

@media(max-width:1024px){
  #about .about-copy,
  #about .about-values{
    min-height:auto !important;
  }

  #about .about-copy{
    padding:32px 32px !important;
  }

  #about .about-values article{
    padding:16px 12px !important;
  }
}

@media(max-width:680px){
  #about.section-soft{
    padding-top:28px !important;
    padding-bottom:28px !important;
  }

  #about .about-copy{
    padding:27px 23px 25px !important;
    border-radius:18px !important;
  }

  #about .about-copy h2{
    font-size:clamp(28px,8vw,35px) !important;
  }

  #about .about-copy p{
    font-size:13px !important;
    line-height:1.52 !important;
  }

  #about .about-values{
    padding:4px 16px !important;
    border-radius:18px !important;
  }

  #about .about-values article{
    padding:14px 0 !important;
  }
}


/* Refined Why Choose Loreto — brighter and more connected to the page */
.trust-strip{
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(217,107,43,.12) !important;
  border-bottom:1px solid rgba(217,107,43,.16) !important;
  background:
    radial-gradient(circle at 88% 12%,rgba(217,107,43,.12),transparent 23%),
    linear-gradient(180deg,#fffaf6 0%,#f8f3ed 100%) !important;
}

.trust-strip::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0 72%,rgba(217,107,43,.035) 72% 100%);
}

.trust-strip .container{
  position:relative;
  z-index:1;
  padding-top:26px !important;
  padding-bottom:30px !important;
}

.trust-heading-simple{
  display:flex !important;
  align-items:center;
  gap:14px;
  margin-bottom:14px !important;
}

.trust-heading-simple::after{
  content:"";
  width:74px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#d96b2b,rgba(217,107,43,.12));
}

.trust-heading-simple .eyebrow{
  color:#b95626 !important;
  letter-spacing:.18em !important;
}

.trust-grid{
  gap:12px !important;
  padding:0 !important;
}

.trust-grid .trust-card{
  position:relative;
  display:grid !important;
  grid-template-columns:46px 1fr !important;
  gap:14px !important;
  align-items:center !important;
  min-height:118px !important;
  padding:18px 17px !important;
  overflow:hidden;
  border:1px solid #eadfd5 !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.9) !important;
  box-shadow:0 12px 28px rgba(45,38,32,.07) !important;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.trust-grid .trust-card::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  right:0 !important;
  width:auto !important;
  height:3px !important;
  border-radius:0 !important;
  background:linear-gradient(90deg,#d96b2b,#ef9a60) !important;
  opacity:1 !important;
}

.trust-grid .trust-card::after{
  content:"";
  position:absolute;
  right:-24px;
  bottom:-28px;
  width:82px;
  height:82px;
  border-radius:50%;
  background:rgba(217,107,43,.055);
  pointer-events:none;
}

.trust-grid .trust-card:hover{
  transform:translateY(-4px) !important;
  border-color:#e8c9b4 !important;
  box-shadow:0 18px 34px rgba(45,38,32,.11) !important;
}

.trust-icon{
  width:44px !important;
  height:44px !important;
  border:1px solid #efcdb7 !important;
  border-radius:14px !important;
  color:#c45e29 !important;
  background:#fff4ec !important;
  box-shadow:none !important;
}

.trust-icon svg{
  width:21px !important;
  height:21px !important;
  stroke:#c45e29 !important;
  stroke-width:1.8 !important;
}

.trust-grid .trust-card strong{
  margin-bottom:5px !important;
  color:#282b2e !important;
  font-size:15.5px !important;
  line-height:1.22 !important;
}

.trust-grid .trust-card > div > span{
  color:#6e7478 !important;
  font-size:12.25px !important;
  line-height:1.45 !important;
}

/* Small accent dot ties the cards to the orange visual language */
.trust-grid .trust-card > div::after{
  content:"";
  display:block;
  width:22px;
  height:3px;
  margin-top:10px;
  border-radius:999px;
  background:rgba(217,107,43,.28);
}

@media(max-width:980px){
  .trust-strip .container{
    padding-top:24px !important;
    padding-bottom:26px !important;
  }

  .trust-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:620px){
  .trust-strip .container{
    padding-top:22px !important;
    padding-bottom:24px !important;
  }

  .trust-heading-simple{
    margin-bottom:12px !important;
  }

  .trust-heading-simple::after{
    width:44px;
  }

  .trust-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .trust-grid .trust-card{
    min-height:0 !important;
    padding:15px 15px !important;
    border-radius:16px !important;
  }

  .trust-icon{
    width:42px !important;
    height:42px !important;
  }
}


/* Compact Why Choose Loreto and unify section-title tones */
.trust-strip .container{
  padding-top:18px !important;
  padding-bottom:20px !important;
}

.trust-heading-simple{
  margin-bottom:10px !important;
  gap:12px !important;
}

.trust-grid{
  gap:9px !important;
}

.trust-grid .trust-card{
  min-height:94px !important;
  padding:13px 14px !important;
  grid-template-columns:40px 1fr !important;
  gap:11px !important;
  border-radius:15px !important;
}

.trust-icon{
  width:38px !important;
  height:38px !important;
  border-radius:12px !important;
}

.trust-icon svg{
  width:18px !important;
  height:18px !important;
}

.trust-grid .trust-card strong{
  margin-bottom:3px !important;
  font-size:14.5px !important;
}

.trust-grid .trust-card > div > span{
  font-size:11.5px !important;
  line-height:1.38 !important;
}

.trust-grid .trust-card > div::after{
  width:18px !important;
  height:2px !important;
  margin-top:7px !important;
}

/* Use the same warm burnt-orange tone for all section labels/titles */
:root{
  --section-accent-unified:#b95626;
}

.services-final-title .eyebrow,
.services-final-title .eyebrow *,
.trust-heading-simple .eyebrow,
.trust-heading-simple .eyebrow *,
#about .about-copy .eyebrow.dark,
#about .about-copy .eyebrow.dark *,
.section-heading .eyebrow,
.section-heading .eyebrow *,
.eyebrow{
  color:var(--section-accent-unified) !important;
}

/* Match decorative title lines to the same tone */
.trust-heading-simple::after{
  background:linear-gradient(
    90deg,
    var(--section-accent-unified),
    rgba(185,86,38,.14)
  ) !important;
}

.services-final-title h2,
.trust-heading-simple h2,
#about .about-copy h2{
  color:#282b2e !important;
}

@media(max-width:980px){
  .trust-strip .container{
    padding-top:18px !important;
    padding-bottom:20px !important;
  }

  .trust-grid .trust-card{
    min-height:90px !important;
  }
}

@media(max-width:620px){
  .trust-strip .container{
    padding-top:17px !important;
    padding-bottom:18px !important;
  }

  .trust-grid{
    gap:8px !important;
  }

  .trust-grid .trust-card{
    padding:12px 13px !important;
    min-height:0 !important;
  }
}


/* Remove the final line and tighten the bottom of Why Choose Loreto */
.trust-strip{
  border-bottom:none !important;
}

.trust-strip .container{
  padding-bottom:12px !important;
}

.trust-grid{
  margin-bottom:0 !important;
}

.trust-grid .trust-card{
  margin-bottom:0 !important;
}

@media(max-width:980px){
  .trust-strip .container{
    padding-bottom:12px !important;
  }
}

@media(max-width:620px){
  .trust-strip .container{
    padding-bottom:10px !important;
  }
}


/* Why Loreto cleanup: remove leftover line and recover section separation */
.trust-strip{
  border-top:none !important;
  border-bottom:none !important;
  box-shadow:none !important;
  background:
    radial-gradient(circle at 86% 14%, rgba(217,107,43,.10), transparent 22%),
    linear-gradient(180deg, #fbf5ef 0%, #f6efe7 100%) !important;
}

/* Remove the faint band/line that was still appearing */
.trust-strip::before,
.trust-strip::after{
  border:none !important;
  box-shadow:none !important;
}

.trust-strip .container{
  padding-top:18px !important;
  padding-bottom:10px !important;
}

/* Add separation from Our Services without using a hard line */
.trust-heading-simple{
  margin-top:4px !important;
  margin-bottom:10px !important;
}

.trust-heading-simple .eyebrow{
  color:#b95626 !important;
}

.trust-heading-simple::after{
  width:58px !important;
  height:2px !important;
  background:linear-gradient(90deg,#b95626,rgba(185,86,38,.18)) !important;
}

/* Make the section visually distinct again */
.trust-grid{
  gap:9px !important;
}

.trust-grid .trust-card{
  border:1px solid #e7d9cc !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 10px 24px rgba(41,36,31,.06) !important;
}

.trust-grid .trust-card::before{
  background:linear-gradient(90deg,#d96b2b,#ebb182) !important;
}

@media(max-width:980px){
  .trust-strip .container{
    padding-top:17px !important;
    padding-bottom:10px !important;
  }
}

@media(max-width:620px){
  .trust-strip{
    background:
      radial-gradient(circle at 86% 10%, rgba(217,107,43,.09), transparent 24%),
      linear-gradient(180deg, #fbf5ef 0%, #f6efe7 100%) !important;
  }

  .trust-strip .container{
    padding-top:16px !important;
    padding-bottom:9px !important;
  }

  .trust-heading-simple{
    margin-bottom:9px !important;
  }
}

/* Final cleanup for Why Choose Loreto:
   - remove stray orange line above last card
   - remove rectangular shadow/overlay on the right side */
.trust-heading-simple::after{
  display:none !important;
  content:none !important;
}

.trust-strip::before,
.trust-strip::after{
  display:none !important;
  content:none !important;
  background:none !important;
}

.trust-strip{
  background:linear-gradient(180deg,#fbf5ef 0%,#f7f0e8 100%) !important;
}

/* Further compact Why Choose Loreto so its spacing matches the section rhythm better */
.trust-strip .container{
  padding-top:14px !important;
  padding-bottom:4px !important;
}

.trust-heading-simple{
  margin-top:0 !important;
  margin-bottom:8px !important;
}

.trust-grid{
  gap:8px !important;
}

.trust-grid .trust-card{
  min-height:106px !important;
  padding:14px 15px !important;
}

.trust-grid .trust-card > div::after{
  margin-top:8px !important;
}

@media(max-width:980px){
  .trust-strip .container{
    padding-top:13px !important;
    padding-bottom:4px !important;
  }
}

@media(max-width:620px){
  .trust-strip .container{
    padding-top:12px !important;
    padding-bottom:3px !important;
  }

  .trust-heading-simple{
    margin-bottom:7px !important;
  }

  .trust-grid{
    gap:8px !important;
  }

  .trust-grid .trust-card{
    padding:13px 14px !important;
  }
}


/* Refined main navigation */
.site-header{
  position:sticky !important;
  top:0;
  z-index:1000 !important;
  border-bottom:1px solid rgba(45,48,51,.08) !important;
  background:rgba(255,253,250,.88) !important;
  box-shadow:0 10px 30px rgba(34,31,28,.055) !important;
  backdrop-filter:blur(16px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(16px) saturate(1.12) !important;
}

.site-header::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:3px;
  background:linear-gradient(90deg,#b95626 0%,#dc7b43 38%,rgba(220,123,67,.12) 72%,transparent 100%);
}

.header-row{
  min-height:80px !important;
  gap:18px !important;
}

.brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  padding:5px 0;
}

.brand img{
  height:46px !important;
  width:auto;
  transition:transform .25s ease,filter .25s ease;
}

.brand:hover img{
  transform:translateY(-1px);
  filter:drop-shadow(0 7px 12px rgba(185,86,38,.12));
}

.main-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px !important;
  margin-left:auto;
  padding:5px !important;
  border:1px solid rgba(72,67,62,.09);
  border-radius:999px;
  background:rgba(255,255,255,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
}

.main-nav a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:38px;
  padding:9px 13px;
  border-radius:999px;
  color:#4d5053 !important;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:-.01em;
  white-space:nowrap;
  transition:color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease;
}

.main-nav a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:5px;
  width:18px;
  height:2px;
  border-radius:999px;
  background:#c76531;
  opacity:0;
  transform:translateX(-50%) scaleX(.45);
  transition:opacity .22s ease,transform .22s ease;
}

.main-nav a:hover,
.main-nav a.is-active{
  color:#24272a !important;
  background:#fff;
  box-shadow:0 6px 16px rgba(43,38,34,.08);
  transform:translateY(-1px);
}

.main-nav a:hover::after,
.main-nav a.is-active::after{
  opacity:1;
  transform:translateX(-50%) scaleX(1);
}

.header-actions{
  gap:10px !important;
  flex:0 0 auto;
}

.text-phone{
  display:flex;
  align-items:center;
  min-height:38px;
  padding:0 4px;
  color:#34383b;
  font-size:12.5px !important;
  font-weight:800 !important;
  white-space:nowrap;
}

.text-phone::before{
  content:"";
  width:7px;
  height:7px;
  margin-right:8px;
  border-radius:50%;
  background:#c76531;
  box-shadow:0 0 0 4px rgba(199,101,49,.10);
}

.header-actions .btn-dark{
  min-height:40px !important;
  padding:10px 15px !important;
  border-radius:999px !important;
  background:#24282c !important;
  color:#fff !important;
  box-shadow:0 9px 20px rgba(28,31,34,.16);
}

.header-actions .btn-dark:hover{
  background:#b95626 !important;
  box-shadow:0 11px 24px rgba(185,86,38,.22);
}

.language-toggle{
  height:40px !important;
  padding:5px 8px !important;
  border-color:rgba(72,67,62,.12) !important;
  background:rgba(255,255,255,.72) !important;
  box-shadow:none !important;
}

.menu-toggle{
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(72,67,62,.12) !important;
  border-radius:13px;
  background:#fff !important;
  box-shadow:0 8px 20px rgba(43,38,34,.08);
  cursor:pointer;
}

.menu-toggle span{
  display:block;
  width:19px;
  height:2px;
  margin:4px auto;
  border-radius:999px;
  background:#292d30;
  transition:transform .25s ease,opacity .2s ease;
}

.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:1120px) and (min-width:761px){
  .main-nav a{padding-left:10px;padding-right:10px;font-size:11.5px}
  .text-phone{display:none}
  .brand img{height:42px !important}
}

@media(max-width:760px){
  .site-header::before{height:2px}
  .header-row{min-height:70px !important}
  .brand img{height:39px !important}

  .main-nav.open{
    top:70px !important;
    left:14px !important;
    right:14px !important;
    padding:10px !important;
    gap:4px !important;
    border:1px solid rgba(72,67,62,.10) !important;
    border-radius:18px !important;
    background:rgba(255,253,250,.98) !important;
    box-shadow:0 20px 44px rgba(38,34,30,.16) !important;
    backdrop-filter:blur(16px);
  }

  .main-nav.open a{
    width:100%;
    min-height:44px;
    padding:11px 14px;
    border-radius:12px;
    font-size:13px;
  }

  .main-nav.open a::after{
    left:14px;
    bottom:7px;
    transform:none;
  }

  .main-nav.open a:hover::after,
  .main-nav.open a.is-active::after{
    transform:none;
  }

  .menu-toggle{display:block !important}
}


/* Header revision: replace the thin line with a useful information band */
.site-header::before{
  display:none !important;
  content:none !important;
}

.header-top-band{
  height:28px;
  color:#fff;
  background:
    linear-gradient(90deg,#a94f24 0%,#be5d2b 48%,#d07843 100%);
}

.header-top-band-inner{
  height:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:9.5px;
  font-weight:600;
  letter-spacing:.105em;
  text-transform:uppercase;
  white-space:nowrap;
}

.header-top-band-inner > span{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.header-top-band-inner strong{
  font-weight:800;
}

.top-band-separator{
  opacity:.56;
}

.header-top-band-inner a{
  flex:0 0 auto;
  font-weight:800;
  transition:opacity .2s ease;
}

.header-top-band-inner a:hover{
  opacity:.78;
}

/* Keep the menu row at the same height while making the logo visually larger */
.header-row{
  min-height:80px !important;
  height:80px;
}

.brand{
  height:80px;
  padding:0 !important;
  overflow:visible;
}

.brand img{
  height:54px !important;
  width:auto;
  max-width:none;
  transform:scale(1.08);
  transform-origin:left center;
}

.brand:hover img{
  transform:scale(1.08) translateY(-1px);
}

/* Compensate horizontally without increasing the menu-row height */
.main-nav{
  margin-left:auto;
}

@media(max-width:1120px) and (min-width:761px){
  .brand img{
    height:49px !important;
    transform:scale(1.05);
  }

  .brand:hover img{
    transform:scale(1.05) translateY(-1px);
  }

  .header-top-band-inner{
    font-size:8.8px;
  }
}

@media(max-width:760px){
  .header-top-band{
    height:25px;
  }

  .header-top-band-inner{
    height:25px;
    justify-content:center;
    font-size:8.2px;
    letter-spacing:.08em;
  }

  .header-top-band-inner > span{
    justify-content:center;
  }

  .header-top-band-inner a,
  .top-band-separator,
  .header-top-band-inner > span > span:last-child{
    display:none;
  }

  .header-row{
    min-height:70px !important;
    height:70px;
  }

  .brand{
    height:70px;
  }

  .brand img{
    height:45px !important;
    transform:scale(1.06);
  }

  .brand:hover img{
    transform:scale(1.06);
  }

  .main-nav.open{
    top:95px !important;
  }
}


/* Slightly taller Request Estimate / Contact area */
@media(min-width:1025px){
  .contact-copy,
  .estimate-form{
    min-height:470px !important;
  }

  .contact-copy{
    padding-top:24px !important;
    padding-bottom:24px !important;
  }

  .estimate-form{
    padding-top:24px !important;
    padding-bottom:24px !important;
    row-gap:9px !important;
  }

  .estimate-form textarea{
    min-height:92px !important;
    max-height:92px !important;
  }
}

@media(min-width:761px) and (max-width:1024px){
  .contact-copy,
  .estimate-form{
    min-height:440px !important;
  }
}

/* More breathing room between Why Choose Loreto heading and the cards */
.trust-heading-simple{
  margin-bottom:16px !important;
}

@media(max-width:980px){
  .trust-heading-simple{
    margin-bottom:14px !important;
  }
}

@media(max-width:620px){
  .trust-heading-simple{
    margin-bottom:12px !important;
  }
}


/* Contact form: email-only action and less unused space below */
.form-actions{
  grid-template-columns:1fr !important;
}

.form-actions .submit-email{
  width:100% !important;
}

@media(min-width:1025px){
  .contact-copy,
  .estimate-form{
    min-height:438px !important;
  }

  .contact-copy{
    padding-bottom:18px !important;
  }

  .estimate-form{
    padding-bottom:18px !important;
    row-gap:8px !important;
  }

  .estimate-form textarea{
    min-height:84px !important;
    max-height:84px !important;
  }
}

@media(min-width:761px) and (max-width:1024px){
  .contact-copy,
  .estimate-form{
    min-height:410px !important;
  }
}

@media(max-width:760px){
  .form-actions{
    grid-template-columns:1fr !important;
  }
}


/* Move the detached-video Return to Card control to the right */
.detached-video-shell .detach-toggle{
  left:auto !important;
  right:14px !important;
  top:14px !important;
}

@media(max-width:760px){
  .detached-video-shell .detach-toggle{
    left:auto !important;
    right:10px !important;
    top:10px !important;
  }
}


/* Hide native fullscreen control on desktop video players */
@media (min-width: 761px){
  .native-video::-webkit-media-controls-fullscreen-button{
    display:none !important;
  }
  .native-video::-webkit-media-controls-overflow-button{
    margin-right:0 !important;
  }
}


/* Floating WhatsApp button with proper WhatsApp icon */
.floating-wa{
  display:grid !important;
  place-items:center !important;
  text-decoration:none;
}
.floating-wa svg{
  width:26px;
  height:26px;
  display:block;
}
.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}


/* WhatsApp floating button hover effect */
.floating-wa{
  transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease;
}

.floating-wa:hover{
  background:#1ebe5d !important;
  transform: translateY(-3px) scale(1.06);
  box-shadow:0 14px 30px rgba(0,0,0,.28);
}

.floating-wa:hover svg{
  transform: scale(1.06);
}

.floating-wa svg{
  transition: transform .22s ease;
}

/* Final mobile polish */
html, body{
  max-width:100%;
  overflow-x:hidden;
}

@media(max-width:760px){
  .header-row{
    display:grid !important;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:10px !important;
  }

  .brand{
    justify-self:start;
    min-width:0;
  }

  .brand img{
    height:43px !important;
    transform:none !important;
  }

  .header-actions{
    display:flex !important;
    justify-content:flex-end;
    align-items:center;
    gap:0 !important;
  }

  .header-actions .text-phone,
  .header-actions .btn{
    display:none !important;
  }

  .language-toggle{
    display:inline-flex !important;
    min-width:auto !important;
    height:40px !important;
    padding:6px 9px !important;
    border-radius:12px !important;
    gap:5px !important;
  }

  .language-toggle .language-switch,
  .language-toggle .language-other{
    display:none !important;
  }

  .language-toggle .language-current{
    gap:5px !important;
  }

  .language-toggle .flag svg{
    width:24px !important;
    height:16px !important;
  }

  .language-toggle .language-code{
    font-size:11px !important;
  }

  .menu-toggle{
    justify-self:end;
    width:42px !important;
    height:42px !important;
  }

  .main-nav.open{
    max-height:calc(100dvh - 108px) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
  }

  .hero{
    min-height:auto !important;
  }

  .hero-layout{
    padding:34px 0 30px !important;
    gap:16px !important;
  }

  .hero-copy h1,
  .hero h1{
    font-size:clamp(31px,9vw,38px) !important;
    line-height:1.08 !important;
  }

  .hero-copy > p,
  .hero-lead{
    font-size:14px !important;
    line-height:1.62 !important;
  }

  .hero-actions{
    gap:10px !important;
  }

  .hero-actions .btn{
    width:100%;
  }

  .section{
    padding:50px 0 !important;
  }

  .section-head,
  .services-editorial-head-final{
    margin-bottom:18px !important;
  }

  .video-media,
  .poster-real,
  .native-video{
    height:248px !important;
  }

  .video-copy{
    padding:14px 15px 16px !important;
  }

  .detached-video-shell{
    max-width:calc(100vw - 20px) !important;
    max-height:calc(100dvh - 20px) !important;
  }

  .contact-copy,
  .estimate-form{
    min-height:unset !important;
    padding:22px 18px !important;
  }

  .field-row{
    gap:12px !important;
  }

  .floating-wa{
    width:52px !important;
    height:52px !important;
    right:14px !important;
    bottom:14px !important;
  }

  .floating-wa svg{
    width:24px !important;
    height:24px !important;
  }
}

/* Prevent hover-only effects from sticking on touch screens */
@media(hover:hover) and (pointer:fine){
  .floating-wa:hover{
    background:#1ebe5d !important;
    transform:translateY(-3px) scale(1.06);
    box-shadow:0 14px 30px rgba(0,0,0,.28);
  }
}

@media(hover:none){
  .floating-wa:hover{
    transform:none !important;
  }

  .floating-wa:active{
    transform:scale(.96) !important;
  }
}

@media(max-width:760px){
  .main-nav{
    display:none !important;
  }

  .main-nav.open{
    display:flex !important;
    position:absolute !important;
    top:95px !important;
    left:14px !important;
    right:14px !important;
    z-index:1100 !important;
  }

  .site-header{
    overflow:visible !important;
  }

  .menu-toggle{
    position:static !important;
  }
}


/* Pending third project video */
.video-pending .play-button{
  opacity:.76;
}

.video-pending .poster-caption::after{
  content:"VIDEO PENDING";
  display:inline-flex;
  margin-top:8px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
}


/* Modern moving top information band */
.header-top-band{
  overflow:hidden !important;
}

.header-marquee{
  width:100%;
  height:100%;
  overflow:hidden;
  mask-image:linear-gradient(
    90deg,
    transparent 0,
    #000 4%,
    #000 96%,
    transparent 100%
  );
  -webkit-mask-image:linear-gradient(
    90deg,
    transparent 0,
    #000 4%,
    #000 96%,
    transparent 100%
  );
}

.header-marquee-track{
  width:max-content;
  height:100%;
  display:flex;
  align-items:center;
  animation:loreto-header-marquee 27s linear infinite;
  will-change:transform;
}

.header-marquee-group{
  min-width:max-content;
  height:100%;
  display:flex;
  align-items:center;
  gap:17px;
  padding-right:17px;
  color:#fff;
  font-size:9.5px;
  font-weight:650;
  letter-spacing:.105em;
  text-transform:uppercase;
  white-space:nowrap;
}

.header-marquee-group strong{
  font-weight:850;
}

.header-marquee-group a{
  color:inherit;
  font-weight:800;
  transition:opacity .2s ease;
}

.header-marquee-group a:hover{
  opacity:.78;
}

.header-marquee-dot{
  opacity:.48;
  font-size:11px;
}

.header-top-band:hover .header-marquee-track{
  animation-play-state:paused;
}

@keyframes loreto-header-marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@media(max-width:760px){
  .header-marquee-group{
    gap:14px;
    padding-right:14px;
    font-size:8.2px;
    letter-spacing:.08em;
  }

  .header-marquee-track{
    animation-duration:23s;
  }
}

@media(prefers-reduced-motion:reduce){
  .header-marquee{
    mask-image:none;
    -webkit-mask-image:none;
  }

  .header-marquee-track{
    width:100%;
    animation:none !important;
    justify-content:center;
  }

  .header-marquee-group:first-child{
    justify-content:center;
  }

  .header-marquee-group:first-child > *:nth-child(n+4),
  .header-marquee-group[aria-hidden="true"]{
    display:none;
  }
}


/* Quiet premium utility bar — fixed, subtle and non-distracting */
.header-top-band-subtle{
  height:27px !important;
  overflow:visible !important;
  color:#5f5a54 !important;
  background:#f3eee8 !important;
  border-bottom:1px solid rgba(88,76,66,.08);
}

.header-top-band-subtle-inner{
  height:27px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  font-size:9.5px;
  font-weight:650;
  letter-spacing:.095em;
  text-transform:uppercase;
}

.top-bar-left{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
}

.top-bar-item{
  display:inline-flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
}

.top-bar-item strong{
  color:#423d38;
  font-weight:800;
}

.top-bar-dot{
  width:5px;
  height:5px;
  flex:0 0 5px;
  border-radius:50%;
  background:#c86832;
  box-shadow:0 0 0 3px rgba(200,104,50,.10);
}

.top-bar-divider{
  width:1px;
  height:11px;
  background:rgba(71,62,55,.16);
}

.top-bar-location{
  color:#7a746e;
}

.top-bar-contact{
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  color:#6a625c;
  font-weight:750;
  white-space:nowrap;
  transition:color .2s ease, transform .2s ease;
}

.top-bar-contact svg{
  width:13px;
  height:13px;
  fill:none;
  stroke:#bd6434;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.top-bar-contact:hover{
  color:#bd6434;
  transform:translateY(-1px);
}

/* Disable obsolete marquee elements if any cached CSS remains */
.header-marquee,
.header-marquee-track,
.header-marquee-group{
  animation:none !important;
}

@media(max-width:760px){
  .header-top-band-subtle{
    height:25px !important;
  }

  .header-top-band-subtle-inner{
    height:25px;
    justify-content:center;
    font-size:8.2px;
    letter-spacing:.075em;
  }

  .top-bar-location,
  .top-bar-divider{
    display:none;
  }

  .top-bar-left{
    gap:0;
  }

  .top-bar-contact{
    display:none;
  }

  .top-bar-dot{
    width:4px;
    height:4px;
    flex-basis:4px;
    box-shadow:0 0 0 2px rgba(200,104,50,.10);
  }
}


/* Clean header direction: no top information band */
.header-top-band,
.header-top-band-subtle,
.header-marquee,
.header-marquee-track,
.header-marquee-group{
  display:none !important;
}

/* Keep the header elegant with a subtle accent integrated into the menu itself */
.site-header{
  position:sticky !important;
  top:0 !important;
  overflow:visible;
  background:
    linear-gradient(180deg,rgba(255,253,250,.98),rgba(255,253,250,.94)) !important;
  border-bottom:1px solid rgba(54,49,44,.09) !important;
  box-shadow:0 9px 26px rgba(35,31,27,.055) !important;
}

.site-header::before{
  content:"" !important;
  display:block !important;
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(205,101,48,.10) 18%,
    rgba(205,101,48,.34) 50%,
    rgba(205,101,48,.10) 82%,
    transparent 100%
  );
}

/* Small decorative accent attached to the logo instead of a full strip */
.brand{
  position:relative;
}

.brand::after{
  content:"";
  position:absolute;
  left:7px;
  bottom:9px;
  width:34px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#c6602d,#e3a170);
  opacity:.82;
  transform:scaleX(.72);
  transform-origin:left center;
  transition:transform .24s ease,opacity .24s ease;
}

.brand:hover::after{
  transform:scaleX(1);
  opacity:1;
}

/* Restore menu positioning now that the upper band is gone */
.header-row{
  min-height:80px !important;
  height:80px !important;
}

.main-nav.open{
  top:80px !important;
}

@media(max-width:760px){
  .header-row{
    min-height:70px !important;
    height:70px !important;
  }

  .main-nav.open{
    top:70px !important;
  }

  .brand::after{
    left:5px;
    bottom:7px;
    width:28px;
    height:2px;
  }
}


/* Remove the orange accent line beneath the logo */
.brand::after{
  display:none !important;
  content:none !important;
}


/* Fixed header on scroll */
:root{
  --header-fixed-height: 80px;
}

html{
  scroll-padding-top: calc(var(--header-fixed-height) + 16px);
}

body{
  padding-top: var(--header-fixed-height) !important;
}

.site-header{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 2500 !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

section[id],
.hero,
.services-section,
.about-section,
.contact-section,
footer{
  scroll-margin-top: calc(var(--header-fixed-height) + 16px);
}

@media (max-width:760px){
  :root{
    --header-fixed-height: 70px;
  }
}


/* Final mobile check for the fixed header */
@media(max-width:760px){
  .site-header{
    background:#fffdfa !important;
    box-shadow:0 8px 22px rgba(35,31,27,.08) !important;
  }

  .main-nav.open{
    background:#fffdfa !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    box-shadow:0 18px 40px rgba(38,34,30,.18) !important;
    max-height:calc(100vh - 84px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }

  .main-nav.open a{
    color:#34383b !important;
  }

  .main-nav.open a:hover,
  .main-nav.open a.is-active{
    background:#f4eee8 !important;
    color:#b95626 !important;
  }

  body.mobile-menu-open{
    overflow:hidden !important;
    touch-action:none;
  }
}

/* Readability refinement: slightly larger small text without changing the layout significantly */
body{
  font-size:17px;
}

.main-nav,
.text-phone,
.btn{
  font-size:15px;
}

.hero-copy > p,
#about .about-copy p,
#contact .contact-copy > p{
  font-size:16px;
}

.trust-grid .trust-card strong,
#about .about-values strong,
.process-step h3,
.service-line-content h3,
.contact-cards strong{
  font-size:16px;
}

.trust-grid .trust-card > div > span,
#about .about-values span,
#about .about-values small,
.process-step p,
.service-line-content p,
.contact-cards small,
.estimate-form label,
.form-note,
.video-copy p,
.footer-contact,
.footer-row > p{
  font-size:14px !important;
}

.estimate-form input,
.estimate-form textarea,
.language-toggle,
.video-copy h3{
  font-size:15px;
}

@media(max-width:760px){
  .hero-copy > p,
  #about .about-copy p,
  #contact .contact-copy > p{
    font-size:17px;
  }

  .trust-grid .trust-card strong,
  #about .about-values strong,
  .process-step h3,
  .service-line-content h3,
  .contact-cards strong,
  .video-copy h3{
    font-size:17px;
  }

  .trust-grid .trust-card > div > span,
  #about .about-values span,
  #about .about-values small,
  .process-step p,
  .service-line-content p,
  .contact-cards small,
  .estimate-form label,
  .form-note,
  .video-copy p,
  .footer-contact,
  .footer-row > p,
  .language-toggle{
    font-size:15px !important;
  }

  .estimate-form input,
  .estimate-form textarea,
  .btn,
  .text-phone{
    font-size:16px;
  }
}


/* Complete readability increase for the More Work section */
.section-more-work .more-work-intro .eyebrow{
  font-size:12px !important;
}

.section-more-work .more-work-copy small{
  font-size:12px !important;
}

.section-more-work .more-work-copy h4{
  font-size:17px !important;
}

.section-more-work .more-work-copy p{
  font-size:14px !important;
  line-height:1.65;
}

@media(max-width:760px){
  .section-more-work .more-work-intro .eyebrow{
    font-size:13px !important;
  }

  .section-more-work .more-work-copy small{
    font-size:13px !important;
  }

  .section-more-work .more-work-copy h4{
    font-size:18px !important;
  }

  .section-more-work .more-work-copy p{
    font-size:15px !important;
  }
}


/* Formspree submission feedback */
.form-status{
  min-height:20px;
  margin:0;
  font-size:14px;
  line-height:1.5;
  font-weight:650;
  color:var(--muted);
}

.form-status.is-sending{
  color:var(--muted);
}

.form-status.is-success{
  color:#267a45;
}

.form-status.is-error{
  color:#b33a32;
}

.submit-email:disabled{
  cursor:wait;
  opacity:.68;
  transform:none !important;
}

@media(max-width:760px){
  .form-status{
    font-size:15px;
  }
}


/* Formspree Vanilla JS Ajax SDK */
.field-error{
  display:block;
  margin-top:6px;
  font-size:13px;
  line-height:1.45;
  font-weight:650;
  color:#b33a32;
}

.field-error:empty{
  display:none;
}

[data-fs-success]:empty,
[data-fs-error=""]:empty{
  display:none;
}

[data-fs-field][aria-invalid="true"]{
  border-color:#b33a32 !important;
  box-shadow:0 0 0 3px rgba(179,58,50,.10) !important;
}

[data-fs-submit-btn]:disabled{
  cursor:wait;
  opacity:.68;
  transform:none !important;
}

@media(max-width:760px){
  .field-error{
    font-size:14px;
  }
}


/* Refine form typography: lighter labels and input/placeholder text */
.estimate-form label{
  font-weight:600 !important;
  color:#6f7478 !important;
}

.estimate-form input,
.estimate-form textarea{
  font-weight:400 !important;
  color:#2f3336 !important;
}

.estimate-form input::placeholder,
.estimate-form textarea::placeholder{
  font-weight:400 !important;
  color:#8a8e92 !important;
  opacity:1;
}

.form-heading small{
  font-weight:700 !important;
}

.form-heading h3{
  font-weight:700 !important;
}

@media(max-width:760px){
  .estimate-form label{
    font-weight:600 !important;
  }

  .estimate-form input,
  .estimate-form textarea,
  .estimate-form input::placeholder,
  .estimate-form textarea::placeholder{
    font-weight:400 !important;
  }
}


/* Refine the "Request an Estimate" form title */
.estimate-form .form-heading h3{
  font-weight:600 !important;
  letter-spacing:-0.015em;
}


/* Refine the white contact information text on the left panel */
.contact-card-copy strong,
.contact-cards strong{
  font-weight:600 !important;
  letter-spacing:-0.01em;
}

@media(max-width:760px){
  .contact-card-copy strong,
  .contact-cards strong{
    font-weight:600 !important;
  }
}


/* Clearly lighten the white contact details */
.contact-card-copy strong,
.contact-card-copy strong span,
.contact-cards strong,
.contact-cards strong span{
  font-weight:500 !important;
  color:rgba(255,255,255,.88) !important;
  letter-spacing:0 !important;
}

/* Restore the form title; only the contact information should be lighter */
.estimate-form .form-heading h3{
  font-weight:700 !important;
}

@media(max-width:760px){
  .contact-card-copy strong,
  .contact-card-copy strong span,
  .contact-cards strong,
  .contact-cards strong span{
    font-weight:500 !important;
    color:rgba(255,255,255,.88) !important;
  }
}


/* Google reviews section */
.reviews-section{
  position:relative;
  padding:64px 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 10%, rgba(217,107,43,.08), transparent 28%),
    #faf9f7;
  border-top:1px solid rgba(35,38,41,.07);
  border-bottom:1px solid rgba(35,38,41,.07);
}

.reviews-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:24px;
}

.reviews-heading h2{
  max-width:650px;
  margin:0;
  font-size:clamp(30px,3.2vw,43px);
  line-height:1.12;
  letter-spacing:-.025em;
  color:#232629;
}

.reviews-google-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
  padding:11px 14px;
  border:1px solid #d8d4cf;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#44484b;
  font-size:13px;
  font-weight:700;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}

.reviews-google-link:hover{
  transform:translateY(-2px);
  border-color:rgba(217,107,43,.45);
  background:#fff;
}

.google-g{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.10);
  color:#4285f4;
  font-size:13px;
  font-weight:800;
}

.reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.review-card{
  min-height:292px;
  padding:22px;
  border:1px solid #ddd8d1;
  border-radius:18px;
  background:rgba(255,255,255,.88);
  box-shadow:0 12px 30px rgba(35,38,41,.055);
}

.review-card-featured{
  border-color:rgba(217,107,43,.28);
  box-shadow:0 16px 36px rgba(35,38,41,.08);
}

.review-card-top{
  display:flex;
  align-items:center;
  gap:12px;
}

.review-avatar{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  background:#2a2f33;
  color:#fff;
  font-size:16px;
  font-weight:700;
}

.review-card-featured .review-avatar{
  background:#d96b2b;
}

.review-card-top strong{
  display:block;
  margin-bottom:3px;
  font-size:15px;
  font-weight:700;
  color:#272a2d;
}

.review-card-top div > span{
  display:block;
  font-size:12px;
  color:#7b7f83;
}

.review-stars{
  margin:17px 0 13px;
  color:#f5b841;
  font-size:17px;
  letter-spacing:.06em;
}

.review-card blockquote{
  margin:0;
  color:#555a5e;
  font-size:14px;
  line-height:1.72;
  font-weight:400;
}

.reviews-note{
  margin:15px 0 0;
  color:#8a8e92;
  font-size:11px;
  text-align:right;
}

@media(max-width:960px){
  .reviews-grid{
    grid-template-columns:1fr;
  }

  .review-card{
    min-height:0;
  }
}

@media(max-width:760px){
  .reviews-section{
    padding:52px 0;
  }

  .reviews-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:17px;
  }

  .reviews-google-link{
    font-size:14px;
  }

  .review-card{
    padding:20px;
  }

  .review-card-top strong{
    font-size:16px;
  }

  .review-card-top div > span{
    font-size:13px;
  }

  .review-stars{
    font-size:18px;
  }

  .review-card blockquote{
    font-size:15px;
    line-height:1.7;
  }

  .reviews-note{
    font-size:12px;
    text-align:left;
  }
}


/* Make the customer reviews section more compact */
.reviews-section{
  padding:48px 0 !important;
}

.reviews-heading{
  margin-bottom:18px !important;
}

.reviews-grid{
  gap:14px !important;
}

.review-card{
  min-height:248px !important;
  padding:18px !important;
}

.review-stars{
  margin:13px 0 10px !important;
}

.review-card blockquote{
  line-height:1.6 !important;
}

.reviews-note{
  margin-top:11px !important;
}

@media(max-width:960px){
  .review-card{
    min-height:0 !important;
  }
}

@media(max-width:760px){
  .reviews-section{
    padding:42px 0 !important;
  }

  .reviews-heading{
    margin-bottom:16px !important;
  }

  .review-card{
    padding:18px !important;
  }

  .review-stars{
    margin:12px 0 9px !important;
  }
}


/* Slightly more compact reviews + inline contact map */
.reviews-section{
  padding:40px 0 !important;
}

.reviews-heading{
  margin-bottom:16px !important;
}

.review-card{
  min-height:228px !important;
  padding:17px !important;
}

.review-card-top{
  gap:10px !important;
}

.review-stars{
  margin:11px 0 9px !important;
  font-size:16px !important;
}

.review-card blockquote{
  font-size:13.5px !important;
  line-height:1.56 !important;
}

.reviews-note{
  margin-top:9px !important;
}

.contact-mini-map{
  margin-top:16px;
  padding:14px;
  border:1px solid rgba(35,38,41,.10);
  border-radius:18px;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 24px rgba(35,38,41,.05);
}

.contact-mini-map-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.contact-mini-map-head small{
  display:block;
  margin-bottom:4px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  color:var(--accent);
}

.contact-mini-map-head strong{
  display:block;
  color:#232629;
  font-size:14px;
  line-height:1.35;
}

.mini-map-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(35,38,41,.12);
  background:#fff;
  color:#232629;
  font-size:12px;
  font-weight:700;
  transition:transform .2s ease, border-color .2s ease, background .2s ease;
}

.mini-map-link:hover{
  transform:translateY(-1px);
  border-color:rgba(217,107,43,.45);
  background:#fff8f3;
}

.mini-map-frame{
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(35,38,41,.08);
  background:#f2f0ed;
}

.mini-map-frame iframe{
  display:block;
  width:100%;
  height:190px;
  border:0;
}

@media(max-width:760px){
  .reviews-section{
    padding:36px 0 !important;
  }

  .review-card{
    padding:16px !important;
  }

  .review-card blockquote{
    font-size:14px !important;
  }

  .contact-mini-map{
    margin-top:14px;
    padding:13px;
  }

  .contact-mini-map-head{
    flex-direction:column;
    align-items:flex-start;
    margin-bottom:10px;
  }

  .mini-map-link{
    width:100%;
  }

  .mini-map-frame iframe{
    height:180px;
  }
}


/* Final balance: tighter reviews and a smaller integrated map */
.reviews-section{
  padding:36px 0 !important;
}

.review-card{
  min-height:214px !important;
  padding:16px !important;
}

.review-card blockquote{
  line-height:1.52 !important;
}

.contact-mini-map{
  padding:12px !important;
}

.contact-mini-map-head{
  margin-bottom:9px !important;
}

.mini-map-frame iframe{
  height:160px !important;
}

@media(max-width:760px){
  .reviews-section{
    padding:32px 0 !important;
  }

  .mini-map-frame iframe{
    height:150px !important;
  }
}


/* Rebalanced contact section: lighter contact side, stronger form side */
.contact-section{
  padding:64px 0 !important;
  background:
    radial-gradient(circle at top right, rgba(217,107,43,.08), transparent 24%),
    linear-gradient(180deg,#faf8f5 0%,#f7f3ed 100%) !important;
}

.contact-grid{
  grid-template-columns:.95fr 1.05fr !important;
  gap:24px !important;
  align-items:stretch !important;
}

.contact-copy,
.estimate-form{
  border-radius:28px !important;
  border:1px solid rgba(35,38,41,.10) !important;
  box-shadow:0 18px 42px rgba(19,26,34,.07) !important;
}

.contact-copy{
  position:relative !important;
  overflow:hidden !important;
  background:linear-gradient(180deg,#fffdf9 0%,#f7f1e8 100%) !important;
  color:#1e2329 !important;
  padding:28px !important;
}

.contact-copy::after{
  content:"" !important;
  position:absolute !important;
  right:-54px !important;
  bottom:-58px !important;
  width:210px !important;
  height:210px !important;
  border-radius:50% !important;
  background:radial-gradient(circle, rgba(217,107,43,.16) 0%, rgba(217,107,43,0) 68%) !important;
  pointer-events:none !important;
}

.contact-copy .eyebrow.dark{
  color:#d96b2b !important;
}

.contact-copy h2{
  color:#1b2128 !important;
  font-size:clamp(2rem,2.55vw,3rem) !important;
  line-height:1.04 !important;
  margin-bottom:12px !important;
}

.contact-copy > p{
  color:#62707a !important;
  font-size:15px !important;
  line-height:1.64 !important;
  max-width:44ch !important;
  margin-bottom:0 !important;
}

.contact-cards{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:24px !important;
}

.contact-cards a{
  display:flex !important;
  align-items:center !important;
  gap:13px !important;
  min-height:96px !important;
  padding:16px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(35,38,41,.08) !important;
  box-shadow:0 8px 18px rgba(19,26,34,.05) !important;
}

.contact-card-icon{
  flex:0 0 44px !important;
  width:44px !important;
  height:44px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:14px !important;
  color:#d96b2b !important;
  background:rgba(217,107,43,.10) !important;
}

.contact-card-icon svg{
  width:20px !important;
  height:20px !important;
  stroke:currentColor !important;
  fill:none !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.contact-card-copy small{
  display:block !important;
  margin-bottom:4px !important;
  font-size:10px !important;
  letter-spacing:.1em !important;
  font-weight:800 !important;
  color:#d96b2b !important;
}

.contact-card-copy strong,
.contact-card-copy strong span{
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:600 !important;
  color:#1e2329 !important;
}

.contact-visit-card{
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:16px;
  margin-top:14px;
  padding:14px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(35,38,41,.08);
  box-shadow:0 10px 24px rgba(19,26,34,.05);
}

.contact-visit-copy{
  padding:6px 4px 6px 4px;
}

.contact-visit-copy small{
  display:block;
  margin-bottom:6px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  color:#d96b2b;
}

.contact-visit-copy strong{
  display:block;
  color:#1e2329;
  font-size:18px;
  line-height:1.25;
}

.contact-visit-copy p{
  margin:10px 0 14px;
  color:#5f6b74;
  font-size:14px;
  line-height:1.56;
}

.contact-visit-map{
  min-height:180px;
}

.contact-visit-map iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:180px;
  border:0;
  border-radius:16px;
}

.mini-map-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(35,38,41,.10) !important;
  background:#fff8f2 !important;
  color:#1e2329 !important;
  font-size:12px !important;
  font-weight:700 !important;
  transition:transform .2s ease, background .2s ease, border-color .2s ease !important;
}

.mini-map-link:hover{
  transform:translateY(-1px) !important;
  background:#fff !important;
  border-color:rgba(217,107,43,.35) !important;
}

.estimate-form{
  position:relative !important;
  overflow:hidden !important;
  background:linear-gradient(180deg,#ffffff 0%,#fcfaf7 100%) !important;
  padding:30px !important;
}

.estimate-form::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  right:0 !important;
  height:4px !important;
  background:linear-gradient(90deg,#d96b2b 0%,#efb182 58%,rgba(239,177,130,0) 100%) !important;
}

.form-heading{
  margin-bottom:8px !important;
}

.estimate-form .form-heading small{
  color:#d96b2b !important;
}

.estimate-form .form-intro{
  margin:0 0 20px !important;
  color:#63707a !important;
  font-size:15px !important;
  line-height:1.62 !important;
  max-width:54ch !important;
}

.estimate-form label{
  color:#5c6670 !important;
}

.estimate-form input,
.estimate-form textarea{
  background:#fcfbf8 !important;
  border:1px solid rgba(35,38,41,.12) !important;
  box-shadow:none !important;
}

.estimate-form input:focus,
.estimate-form textarea:focus{
  background:#fff !important;
  border-color:rgba(217,107,43,.45) !important;
  box-shadow:0 0 0 4px rgba(217,107,43,.08) !important;
}

.form-actions{
  margin-top:18px !important;
}

.submit-email{
  width:100% !important;
  min-height:52px !important;
  border:0 !important;
  border-radius:14px !important;
  background:linear-gradient(90deg,#171b21 0%,#232a33 100%) !important;
  color:#fff !important;
  font-weight:800 !important;
  box-shadow:0 10px 22px rgba(10,15,20,.12) !important;
}

.submit-email:hover{
  transform:translateY(-1px) !important;
}

.form-status{
  margin-top:12px !important;
}

@media(max-width:1100px){
  .contact-cards{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:980px){
  .contact-grid{
    grid-template-columns:1fr !important;
  }

  .contact-visit-card{
    grid-template-columns:1fr !important;
  }

  .contact-visit-map,
  .contact-visit-map iframe{
    min-height:170px !important;
  }
}

@media(max-width:760px){
  .contact-section{
    padding:52px 0 !important;
  }

  .contact-copy,
  .estimate-form{
    padding:22px !important;
    border-radius:24px !important;
  }

  .contact-copy h2{
    font-size:clamp(1.9rem,9vw,2.5rem) !important;
  }

  .contact-cards{
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:20px !important;
  }

  .contact-cards a{
    min-height:auto !important;
    padding:14px !important;
  }

  .contact-visit-card{
    padding:12px !important;
    gap:12px !important;
  }

  .contact-visit-copy strong{
    font-size:17px !important;
  }

  .contact-visit-map,
  .contact-visit-map iframe{
    min-height:158px !important;
  }

  .estimate-form .form-intro{
    font-size:14px !important;
    margin-bottom:18px !important;
  }
}


/* ==== Contact section cleanup: ordered layout ==== */
#contact .contact-grid{
  display:grid !important;
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr) !important;
  gap:34px !important;
  align-items:stretch !important;
}

#contact .contact-copy,
#contact .estimate-form{
  min-width:0 !important;
  padding:34px 38px !important;
  border-radius:30px !important;
}

#contact .contact-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}

#contact .contact-copy > p{
  max-width:34rem !important;
  margin-bottom:22px !important;
}

#contact .contact-cards{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  margin-top:0 !important;
}

#contact .contact-cards a{
  display:grid !important;
  grid-template-columns:52px minmax(0,1fr) !important;
  align-items:center !important;
  gap:14px !important;
  min-height:84px !important;
  padding:16px 18px !important;
  border-radius:20px !important;
}

#contact .contact-card-icon{
  width:52px !important;
  height:52px !important;
  border-radius:16px !important;
}

#contact .contact-card-copy{
  min-width:0 !important;
}

#contact .contact-card-copy small{
  margin-bottom:3px !important;
}

#contact .contact-card-copy strong,
#contact .contact-card-copy strong span{
  display:block !important;
  font-size:15px !important;
  line-height:1.45 !important;
  font-weight:650 !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

#contact .contact-visit-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(220px,.9fr) !important;
  align-items:stretch !important;
  gap:16px !important;
  margin-top:14px !important;
  padding:16px !important;
  border-radius:24px !important;
}

#contact .contact-visit-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
}

#contact .contact-visit-copy strong{
  margin-bottom:6px !important;
}

#contact .visit-address{
  margin:0 0 16px !important;
}

#contact .visit-address .address-line{
  display:block !important;
}

#contact .contact-visit-map,
#contact .contact-visit-map iframe{
  min-height:196px !important;
  height:100% !important;
  width:100% !important;
}

#contact .mini-map-link{
  align-self:flex-start !important;
}

#contact-form{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:16px 16px !important;
  align-content:start !important;
}

#contact-form > .form-heading,
#contact-form > .form-intro,
#contact-form > .field-row,
#contact-form > .form-actions,
#contact-form > .form-status,
#contact-form > .is-success,
#contact-form > .is-error{
  grid-column:1 / -1 !important;
}

#contact-form > .form-heading{
  margin-bottom:2px !important;
}

#contact-form > .form-intro{
  margin:0 0 8px !important;
  max-width:none !important;
}

#contact-form > label,
#contact-form .field-row > label{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  min-width:0 !important;
  margin:0 !important;
}

#contact-form .field-row{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:16px !important;
}

#contact-form > label:last-of-type{
  grid-column:1 / -1 !important;
}

#contact-form input,
#contact-form textarea{
  width:100% !important;
  min-width:0 !important;
}

#contact-form textarea{
  min-height:116px !important;
}

#contact-form .form-actions{
  margin-top:6px !important;
}

#contact-form .submit-email{
  width:100% !important;
}

#contact-form .form-status{
  margin-top:0 !important;
}

@media (max-width: 1180px){
  #contact .contact-copy,
  #contact .estimate-form{
    padding:30px 30px !important;
  }
}

@media (max-width: 980px){
  #contact .contact-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
}

@media (max-width: 760px){
  #contact .contact-copy,
  #contact .estimate-form{
    padding:24px 22px !important;
    border-radius:24px !important;
  }

  #contact .contact-cards{
    grid-template-columns:1fr !important;
  }

  #contact .contact-cards a{
    min-height:78px !important;
    padding:14px 15px !important;
  }

  #contact .contact-card-copy strong,
  #contact .contact-card-copy strong span{
    font-size:14px !important;
  }

  #contact .contact-visit-card{
    grid-template-columns:1fr !important;
    padding:14px !important;
  }

  #contact .contact-visit-map,
  #contact .contact-visit-map iframe{
    min-height:180px !important;
  }

  #contact-form{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  #contact-form .field-row{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  #contact-form > label,
  #contact-form > label:last-of-type,
  #contact-form > .field-row,
  #contact-form > .form-heading,
  #contact-form > .form-intro,
  #contact-form > .form-actions,
  #contact-form > .form-status{
    grid-column:auto !important;
  }
}


/* Minimal balanced contact layout:
   allow each panel to keep its natural height */
#contact .contact-grid{
  align-items:start !important;
}

#contact .contact-copy,
#contact .estimate-form{
  height:auto !important;
  min-height:0 !important;
}

#contact .estimate-form{
  align-self:start !important;
  padding-bottom:28px !important;
}

#contact-form{
  align-content:start !important;
}

#contact-form .form-actions{
  margin-top:4px !important;
}

#contact-form .form-status:empty{
  display:none !important;
}

@media(max-width:760px){
  #contact .estimate-form{
    padding-bottom:22px !important;
  }
}


/* Final compact form correction */
#contact .contact-grid{
  align-items:start !important;
}

#contact .estimate-form{
  display:flex !important;
  flex-direction:column !important;
  align-self:start !important;
  height:auto !important;
  min-height:0 !important;
  padding:28px 30px 24px !important;
  gap:14px !important;
}

#contact-form > *{
  width:100% !important;
  min-width:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

#contact-form .form-heading{
  margin-bottom:0 !important;
}

#contact-form .form-intro{
  margin:0 0 2px !important;
}

#contact-form .field-row{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:14px !important;
}

#contact-form > label,
#contact-form .field-row > label{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
}

#contact-form textarea{
  min-height:108px !important;
}

#contact-form .form-actions{
  margin-top:2px !important;
}

#contact-form .form-status{
  min-height:0 !important;
  margin:0 !important;
}

#contact-form .form-status[hidden],
#contact-form .field-error:empty{
  display:none !important;
}

@media(max-width:760px){
  #contact .estimate-form{
    padding:22px 20px 20px !important;
    gap:13px !important;
  }

  #contact-form .field-row{
    grid-template-columns:1fr !important;
    gap:13px !important;
  }

  #contact-form textarea{
    min-height:102px !important;
  }
}


/* Equal-height contact panels with a more compact left side */
#contact .contact-grid{
  align-items:stretch !important;
}

#contact .contact-copy,
#contact .estimate-form{
  height:100% !important;
  min-height:0 !important;
}

/* Reduce the left panel so both sides finish at the same height */
#contact .contact-copy{
  padding:26px 28px !important;
}

#contact .contact-copy h2{
  margin-bottom:10px !important;
}

#contact .contact-copy > p{
  margin-bottom:16px !important;
  line-height:1.55 !important;
}

#contact .contact-cards{
  gap:9px !important;
}

#contact .contact-cards a{
  min-height:68px !important;
  padding:11px 14px !important;
  border-radius:16px !important;
}

#contact .contact-card-icon{
  width:42px !important;
  height:42px !important;
  border-radius:13px !important;
}

#contact .contact-card-copy small{
  margin-bottom:2px !important;
}

#contact .contact-card-copy strong,
#contact .contact-card-copy strong span{
  font-size:13px !important;
  line-height:1.35 !important;
}

#contact .contact-visit-card{
  grid-template-columns:minmax(0,1fr) minmax(180px,.82fr) !important;
  gap:12px !important;
  margin-top:10px !important;
  padding:11px !important;
  border-radius:18px !important;
}

#contact .contact-visit-copy{
  padding:2px !important;
}

#contact .contact-visit-copy small{
  margin-bottom:4px !important;
}

#contact .contact-visit-copy strong{
  font-size:15px !important;
  line-height:1.2 !important;
}

#contact .visit-address{
  margin:7px 0 10px !important;
  font-size:12px !important;
  line-height:1.4 !important;
}

#contact .mini-map-link{
  padding:8px 11px !important;
  font-size:11px !important;
}

#contact .contact-visit-map,
#contact .contact-visit-map iframe{
  min-height:132px !important;
  height:132px !important;
}

@media(max-width:980px){
  #contact .contact-copy,
  #contact .estimate-form{
    height:auto !important;
  }
}

@media(max-width:760px){
  #contact .contact-copy{
    padding:22px 20px !important;
  }

  #contact .contact-cards a{
    min-height:64px !important;
  }

  #contact .contact-visit-card{
    grid-template-columns:1fr !important;
  }

  #contact .contact-visit-map,
  #contact .contact-visit-map iframe{
    min-height:150px !important;
    height:150px !important;
  }
}


/* Align the bottom of the map block with the Send Request button */
@media(min-width:981px){
  #contact .contact-copy{
    display:flex !important;
    flex-direction:column !important;
  }

  #contact .contact-cards{
    flex:0 0 auto !important;
  }

  #contact .contact-visit-card{
    margin-top:auto !important;
  }

  #contact .estimate-form{
    display:flex !important;
    flex-direction:column !important;
  }

  #contact-form .form-actions{
    margin-top:auto !important;
  }

  #contact-form .form-status:empty,
  #contact-form [data-fs-success]:empty,
  #contact-form [data-fs-error=""]:empty{
    display:none !important;
  }
}

/* Fine alignment of both lower edges */
#contact .contact-copy{
  padding-bottom:24px !important;
}

#contact .estimate-form{
  padding-bottom:24px !important;
}

#contact .contact-visit-card{
  margin-bottom:0 !important;
}

#contact-form .form-actions{
  margin-bottom:0 !important;
}


/* Fill the space between WhatsApp and the map with a useful compact note */
#contact .contact-bridge-note{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:12px;
  padding:13px 14px;
  border-radius:16px;
  background:rgba(217,107,43,.07);
  border:1px solid rgba(217,107,43,.14);
}

#contact .contact-bridge-icon{
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#d96b2b;
  background:#fff;
  box-shadow:0 5px 14px rgba(35,38,41,.06);
}

#contact .contact-bridge-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#contact .contact-bridge-note strong{
  display:block;
  margin-bottom:3px;
  color:#232629;
  font-size:13px;
  line-height:1.35;
}

#contact .contact-bridge-note div > span{
  display:block;
  color:#6f7478;
  font-size:12px;
  line-height:1.45;
}

@media(max-width:760px){
  #contact .contact-bridge-note{
    padding:12px 13px;
  }

  #contact .contact-bridge-note strong{
    font-size:14px;
  }

  #contact .contact-bridge-note div > span{
    font-size:13px;
  }
}


/* Exact anchor positioning below the fixed header */
html{
  scroll-padding-top: var(--header-fixed-height) !important;
}

section[id],
.hero,
.services-section,
.about-section,
.contact-section,
footer{
  scroll-margin-top: var(--header-fixed-height) !important;
}


/* Compact About redesign */
#about.section-soft{
  padding:54px 0 !important;
  background:linear-gradient(180deg,#f7f4ef 0%,#f4f1ec 100%) !important;
}

.about-compact-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:22px;
  align-items:stretch;
}

.about-compact-copy,
.about-compact-features{
  border:1px solid #e3ddd5;
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 28px rgba(28,31,34,.05);
}

.about-compact-copy{
  position:relative;
  padding:30px 32px 28px 38px;
  overflow:hidden;
}

.about-compact-copy::before{
  content:"";
  position:absolute;
  left:0;
  top:24px;
  bottom:24px;
  width:5px;
  border-radius:0 8px 8px 0;
  background:#d96b2b;
}

.about-compact-copy h2{
  margin:8px 0 14px;
  max-width:13ch;
  font-size:clamp(30px,3vw,44px);
  line-height:1.04;
  letter-spacing:-.03em;
}

.about-compact-copy p{
  max-width:52ch;
  margin:0;
  color:#6b7278;
  font-size:14px;
  line-height:1.68;
}

.about-compact-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:20px;
  min-height:42px;
  padding:0 16px;
  border-radius:11px;
  background:#1f2327;
  color:#fff;
  font-size:13px;
  font-weight:700;
}

.about-compact-features{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  padding:10px 18px;
}

.about-compact-features article{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:12px;
  align-items:center;
  padding:18px 14px;
  min-height:112px;
}

.about-compact-features article:nth-child(odd){
  border-right:1px solid #ece5dd;
}

.about-compact-features article:nth-child(-n+2){
  border-bottom:1px solid #ece5dd;
}

.about-compact-features .about-value-icon{
  width:42px;
  height:42px;
  border-radius:13px;
  background:#fff7f1;
  border:1px solid #efd3bf;
  color:#cf713b;
  box-shadow:none;
}

.about-compact-features .about-value-icon svg{
  width:20px;
  height:20px;
}

.about-compact-features strong{
  display:block;
  margin-bottom:5px;
  color:#2b3035;
  font-size:15px;
  line-height:1.25;
}

.about-compact-features span{
  display:block;
  color:#71787e;
  font-size:12.5px;
  line-height:1.5;
}

@media(max-width:900px){
  .about-compact-grid{
    grid-template-columns:1fr;
  }

  .about-compact-copy h2{
    max-width:none;
  }
}

@media(max-width:640px){
  #about.section-soft{
    padding:44px 0 !important;
  }

  .about-compact-copy{
    padding:26px 22px 24px 28px;
  }

  .about-compact-features{
    grid-template-columns:1fr;
    padding:8px 16px;
  }

  .about-compact-features article{
    min-height:auto;
    padding:16px 6px;
    border-right:none !important;
    border-bottom:1px solid #ece5dd !important;
  }

  .about-compact-features article:last-child{
    border-bottom:none !important;
  }
}


/* Dense compact About section */
#about.section-soft{
  padding:46px 0 !important;
  background:linear-gradient(180deg,#f7f3ee 0%,#f5f1ec 100%) !important;
}

.about-dense-card{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:26px;
  padding:30px 32px;
  border:1px solid #e5ddd4;
  border-radius:26px;
  background:#fff;
  box-shadow:0 14px 32px rgba(28,31,34,.05);
}

.about-dense-copy{
  padding-right:10px;
}

.about-dense-copy h2{
  max-width:16ch;
  margin:8px 0 16px;
  font-size:clamp(2.35rem,3.2vw,4rem);
  line-height:1.04;
  letter-spacing:-.025em;
  color:#23272b;
}

.about-dense-text{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.about-dense-text p{
  margin:0;
  color:#6c7379;
  font-size:1.42rem;
  line-height:1.62;
}

.about-dense-features{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-content:center;
}

.about-dense-features article{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:11px;
  align-items:start;
  padding:15px;
  border:1px solid #ece3da;
  border-radius:17px;
  background:linear-gradient(180deg,#fffdfb 0%,#fbf7f2 100%);
}

.about-dense-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#fff4ec;
  color:#c96b35;
  border:1px solid #efd5c1;
}

.about-dense-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.about-dense-features strong{
  display:block;
  margin-bottom:4px;
  color:#2a2f34;
  font-size:1.38rem;
  line-height:1.25;
}

.about-dense-features article div > span{
  display:block;
  color:#72787d;
  font-size:1.18rem;
  line-height:1.45;
}

@media(max-width:980px){
  .about-dense-card{
    grid-template-columns:1fr;
  }

  .about-dense-copy h2{
    max-width:none;
  }
}

@media(max-width:720px){
  #about.section-soft{
    padding:36px 0 !important;
  }

  .about-dense-card{
    padding:24px 20px;
    border-radius:22px;
  }

  .about-dense-copy h2{
    font-size:2.6rem;
  }

  .about-dense-text,
  .about-dense-features{
    grid-template-columns:1fr;
  }

  .about-dense-text{
    gap:12px;
  }

  .about-dense-text p{
    font-size:1.35rem;
  }
}


/* Complete compact rebuild of the About section */
.about-strip-section{
  padding:42px 0;
  background:#f7f3ee;
  border-top:1px solid rgba(35,38,41,.06);
  border-bottom:1px solid rgba(35,38,41,.06);
}

.about-strip{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:34px;
  align-items:center;
}

.about-strip-copy{
  padding-left:22px;
  border-left:4px solid #d96b2b;
}

.about-strip-copy h2{
  max-width:560px;
  margin:8px 0 12px;
  color:#232629;
  font-size:clamp(28px,3vw,42px);
  line-height:1.08;
  letter-spacing:-.025em;
}

.about-strip-copy p{
  max-width:610px;
  margin:0;
  color:#697178;
  font-size:15px;
  line-height:1.65;
}

.about-strip-points{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid #e4ddd5;
  border-radius:20px;
  background:#e4ddd5;
  box-shadow:0 12px 26px rgba(28,31,34,.045);
}

.about-strip-points article{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:92px;
  padding:16px 18px;
  background:#fff;
}

.about-strip-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:1px solid #efd5c2;
  background:#fff7f1;
  color:#c96a35;
}

.about-strip-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.about-strip-points strong{
  display:block;
  margin-bottom:3px;
  color:#292e33;
  font-size:14px;
  line-height:1.25;
}

.about-strip-points article div > span{
  display:block;
  color:#737a80;
  font-size:12px;
  line-height:1.45;
}

@media(max-width:900px){
  .about-strip-section{padding:36px 0;}
  .about-strip{grid-template-columns:1fr;gap:22px;}
  .about-strip-copy h2{max-width:none;}
}

@media(max-width:620px){
  .about-strip-section{padding:32px 0;}
  .about-strip-copy{padding-left:16px;}
  .about-strip-copy h2{font-size:27px;}
  .about-strip-copy p{font-size:14px;}
  .about-strip-points{grid-template-columns:1fr;}
  .about-strip-points article{min-height:78px;padding:14px 15px;}
}


/* Balance About title and description */
#about .about-strip-copy h2{
  max-width:15ch !important;
  font-size:clamp(28px,3vw,40px) !important;
  line-height:1.08 !important;
  margin-bottom:14px !important;
}

#about .about-strip-copy p{
  max-width:62ch !important;
  font-size:15px !important;
  line-height:1.68 !important;
}

@media(max-width:760px){
  #about .about-strip-copy h2{
    max-width:none !important;
    font-size:30px !important;
  }

  #about .about-strip-copy p{
    font-size:14px !important;
  }
}


/* The Loreto Standard — compact, stronger and non-repetitive */
.trust-strip-standard{
  padding:38px 0 !important;
  background:#fff !important;
  border-top:1px solid rgba(35,38,41,.07) !important;
  border-bottom:1px solid rgba(35,38,41,.07) !important;
}

.trust-strip-standard::before,
.trust-strip-standard::after{
  display:none !important;
}

.trust-heading-standard{
  display:grid !important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;
  gap:34px !important;
  align-items:end !important;
  margin-bottom:20px !important;
}

.trust-heading-standard::after{
  display:none !important;
}

.trust-heading-standard h2{
  margin:7px 0 0 !important;
  max-width:520px !important;
  font-size:clamp(25px,2.5vw,36px) !important;
  line-height:1.08 !important;
  letter-spacing:-.025em !important;
  color:#232629 !important;
}

.trust-heading-standard > p{
  margin:0 !important;
  max-width:620px !important;
  color:#6e7479 !important;
  font-size:14px !important;
  line-height:1.68 !important;
}

.trust-grid-standard{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
}

.trust-grid-standard .trust-card{
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:start !important;
  min-height:0 !important;
  padding:16px !important;
  border:1px solid rgba(35,38,41,.09) !important;
  border-radius:16px !important;
  background:#faf9f7 !important;
  box-shadow:none !important;
}

.trust-grid-standard .trust-card::before,
.trust-grid-standard .trust-card::after,
.trust-grid-standard .trust-card > div::after{
  display:none !important;
}

.trust-grid-standard .trust-icon{
  width:40px !important;
  height:40px !important;
  border-radius:12px !important;
  background:#fff3ea !important;
  color:#cf7139 !important;
  box-shadow:none !important;
}

.trust-grid-standard .trust-icon svg{
  width:19px !important;
  height:19px !important;
}

.trust-grid-standard .trust-card strong{
  display:block !important;
  margin:1px 0 5px !important;
  font-size:14px !important;
  line-height:1.3 !important;
  color:#262a2e !important;
}

.trust-grid-standard .trust-card > div > span{
  display:block !important;
  color:#70767b !important;
  font-size:12px !important;
  line-height:1.52 !important;
}

@media(max-width:960px){
  .trust-heading-standard{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .trust-grid-standard{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:620px){
  .trust-strip-standard{
    padding:32px 0 !important;
  }

  .trust-grid-standard{
    grid-template-columns:1fr !important;
  }

  .trust-grid-standard .trust-card{
    padding:15px !important;
  }
}


/* Streamlined page: remove repeated sections and join the portfolio visually */
.trust-strip-standard,
.cta-band{
  display:none !important;
}

#work.section-dark{
  padding-bottom:34px !important;
}

.work-continuation{
  margin-top:0 !important;
  padding-top:18px !important;
  padding-bottom:54px !important;
  background:#171b1f !important;
  color:#fff !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}

.work-continuation .more-work-wrap{
  padding-top:0 !important;
}

.work-continuation .more-work-topbar{
  margin-bottom:18px !important;
}

.work-continuation .more-work-intro .eyebrow,
.work-continuation .more-work-intro h3{
  color:#fff !important;
}

.work-continuation .more-work-intro h3{
  margin-top:6px !important;
}

.work-continuation .more-work-card{
  background:#fff !important;
  color:#232629 !important;
}

.work-continuation .carousel-arrow{
  border-color:rgba(255,255,255,.18) !important;
  color:#fff !important;
  background:rgba(255,255,255,.07) !important;
}

.work-continuation .carousel-arrow:hover{
  background:rgba(255,255,255,.13) !important;
}

/* Contact is now the single final call to action */
#contact.contact-section{
  margin-bottom:0 !important;
}

.site-footer{
  margin-top:0 !important;
}

@media(max-width:760px){
  #work.section-dark{
    padding-bottom:26px !important;
  }

  .work-continuation{
    padding-top:14px !important;
    padding-bottom:44px !important;
  }
}


/* Softer transition from Services into the dark project gallery */
.services-editorial{
  position:relative !important;
  overflow:hidden !important;
  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #ffffff 82%,
      #f2efeb 93%,
      #e9e5e0 100%
    ) !important;
}

.services-editorial::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:26px !important;
  background:linear-gradient(
    180deg,
    rgba(23,27,31,0) 0%,
    rgba(23,27,31,.045) 100%
  ) !important;
  pointer-events:none !important;
}

#work.section-dark{
  position:relative !important;
  isolation:isolate !important;
  padding-top:54px !important;
  background:
    radial-gradient(circle at 82% 0%, rgba(217,107,43,.10), transparent 24%),
    linear-gradient(180deg,#20252a 0%,#171b1f 16%,#171b1f 100%) !important;
  border-top:1px solid rgba(23,27,31,.08) !important;
}

#work.section-dark::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  height:34px !important;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,.07) 0%,
    rgba(255,255,255,0) 100%
  ) !important;
  pointer-events:none !important;
  z-index:-1 !important;
}

#work.section-dark .section-head{
  position:relative !important;
}

#work.section-dark .section-head::before{
  content:"" !important;
  position:absolute !important;
  left:-18px !important;
  top:4px !important;
  width:4px !important;
  height:58px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#d96b2b,#f1b07e) !important;
}

.work-continuation{
  background:
    linear-gradient(180deg,#171b1f 0%,#15191d 100%) !important;
}

@media(max-width:760px){
  #work.section-dark{
    padding-top:44px !important;
  }

  #work.section-dark .section-head::before{
    left:-12px !important;
    height:48px !important;
  }

  .services-editorial::after{
    height:20px !important;
  }
}


/* =========================================================
   Unified site color system
   Warm light sections + charcoal visual sections + one orange
   ========================================================= */
:root{
  --white:#ffffff !important;
  --soft:#f7f4ef !important;
  --soft-2:#efeae4 !important;
  --text:#232629 !important;
  --muted:#6d7479 !important;
  --line:#e3ddd5 !important;
  --dark:#171b1f !important;
  --dark-2:#20252a !important;
  --accent:#d96b2b !important;
  --accent-dark:#b95622 !important;
}

/* Informational sections use the same warm-light family */
.services-editorial{
  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #ffffff 82%,
      #f4f0eb 94%,
      #ece7e1 100%
    ) !important;
}

.reviews-section{
  background:
    radial-gradient(circle at 12% 10%, rgba(217,107,43,.055), transparent 27%),
    #fbfaf8 !important;
  border-top:1px solid rgba(35,38,41,.065) !important;
  border-bottom:1px solid rgba(35,38,41,.065) !important;
}

.process-slim-section{
  background:#f3efe9 !important;
  border-top:1px solid rgba(35,38,41,.06) !important;
  border-bottom:1px solid rgba(35,38,41,.06) !important;
}

.process-slim-wrap,
.process-slim-list article{
  border-color:#dfd8cf !important;
}

.about-strip-section{
  background:#fbfaf8 !important;
  border-top:1px solid rgba(35,38,41,.06) !important;
  border-bottom:1px solid rgba(35,38,41,.06) !important;
}

.about-strip-points{
  background:#e4ddd5 !important;
  border-color:#e4ddd5 !important;
}

/* Keep all portfolio content in one charcoal family */
#work.section-dark{
  background:
    radial-gradient(circle at 82% 0%, rgba(217,107,43,.09), transparent 24%),
    linear-gradient(180deg,#20252a 0%,#171b1f 16%,#171b1f 100%) !important;
}

.work-continuation{
  background:linear-gradient(180deg,#171b1f 0%,#15191d 100%) !important;
}

/* Contact remains light, but uses the same warm surface colors */
#contact.contact-section{
  background:
    radial-gradient(circle at top right, rgba(217,107,43,.07), transparent 25%),
    #f7f3ee !important;
  border-top:1px solid rgba(35,38,41,.06) !important;
}

#contact .contact-copy{
  background:linear-gradient(180deg,#fffdfa 0%,#f8f2ea 100%) !important;
  border-color:#e1d9cf !important;
}

#contact .estimate-form{
  background:linear-gradient(180deg,#ffffff 0%,#fcfaf7 100%) !important;
  border-color:#e1d9cf !important;
}

#contact .contact-cards a,
#contact .contact-visit-card{
  background:#ffffff !important;
  border-color:#e7dfd6 !important;
}

#contact .contact-bridge-note{
  background:#fff3e9 !important;
  border-color:#efd5c2 !important;
}

/* Footer returns to the same charcoal used in the gallery */
.site-footer{
  background:#171b1f !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  color:rgba(255,255,255,.78) !important;
}

.site-footer a,
.site-footer p,
.site-footer span{
  color:rgba(255,255,255,.78) !important;
}

.site-footer a:hover{
  color:#ffffff !important;
}

/* Use the same orange everywhere instead of mixing red and orange */
.btn-accent,
.submit-email{
  background:#d96b2b !important;
  color:#ffffff !important;
}

.btn-accent:hover,
.submit-email:hover{
  background:#b95622 !important;
}

.eyebrow,
.eyebrow.dark{
  color:#c96a35 !important;
}

/* Keep neutral buttons charcoal */
.btn-dark{
  background:#171b1f !important;
  color:#ffffff !important;
}

/* Mobile keeps the same sequence without abrupt shifts */
@media(max-width:760px){
  .process-slim-section{
    background:#f3efe9 !important;
  }

  #contact.contact-section{
    background:#f7f3ee !important;
  }
}


/* Stronger contrast for How It Works */
.process-slim-section{
  background:
    radial-gradient(circle at 88% 8%, rgba(217,107,43,.10), transparent 24%),
    linear-gradient(180deg,#e6dfd7 0%,#ddd5cc 100%) !important;
  border-top:1px solid rgba(35,38,41,.10) !important;
  border-bottom:1px solid rgba(35,38,41,.10) !important;
}

.process-slim-wrap{
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(35,38,41,.10) !important;
  box-shadow:0 16px 34px rgba(35,38,41,.07) !important;
}

.process-slim-intro h2{
  color:#25292d !important;
}

.process-slim-intro p{
  color:#62696f !important;
}

.process-slim-step{
  background:#ffffff !important;
  border-color:#d4ccc3 !important;
}

.process-slim-number{
  color:#c96531 !important;
}

.process-slim-step h3{
  color:#25292d !important;
}

.process-slim-step p{
  color:#697076 !important;
}

@media(max-width:760px){
  .process-slim-section{
    background:linear-gradient(180deg,#e7e0d8 0%,#ddd5cc 100%) !important;
  }

  .process-slim-wrap{
    background:rgba(255,255,255,.78) !important;
  }
}


/* Open, softer How It Works layout */
.process-slim-section{
  padding:52px 0 56px !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(217,107,43,.10), transparent 24%),
    linear-gradient(180deg,#e7e0d8 0%,#ded6cd 100%) !important;
}

.process-slim-wrap{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  grid-template-columns:minmax(230px,.72fr) minmax(0,2.28fr) !important;
  gap:46px !important;
  align-items:center !important;
}

.process-slim-intro{
  padding-right:34px !important;
  border-right:1px solid rgba(35,38,41,.14) !important;
}

.process-slim-intro h2{
  max-width:310px !important;
  color:#25292d !important;
}

.process-slim-list{
  gap:14px !important;
}

.process-slim-step{
  min-height:142px !important;
  padding:22px 20px !important;
  border:1px solid rgba(35,38,41,.09) !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.86) !important;
  box-shadow:0 10px 24px rgba(35,38,41,.055) !important;
}

.process-slim-step:not(:last-child){
  border-right:1px solid rgba(35,38,41,.09) !important;
}

.process-slim-number{
  color:#c96531 !important;
}

.process-slim-step h3{
  color:#25292d !important;
}

.process-slim-step p{
  color:#697076 !important;
  line-height:1.55 !important;
}

@media(max-width:980px){
  .process-slim-wrap{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  .process-slim-intro{
    padding-right:0 !important;
    padding-bottom:20px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(35,38,41,.14) !important;
  }

  .process-slim-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .process-slim-step,
  .process-slim-step:nth-child(-n+2){
    border-bottom:1px solid rgba(35,38,41,.09) !important;
  }
}

@media(max-width:640px){
  .process-slim-section{
    padding:42px 0 46px !important;
  }

  .process-slim-list{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .process-slim-step,
  .process-slim-step:not(:last-child){
    min-height:0 !important;
    padding:18px !important;
    border:1px solid rgba(35,38,41,.09) !important;
    border-radius:18px !important;
  }
}


/* Refined How It Works: clean horizontal timeline */
.process-slim-section{
  padding:46px 0 50px !important;
  background:
    radial-gradient(circle at 86% 12%, rgba(217,107,43,.08), transparent 22%),
    linear-gradient(180deg,#e9e2da 0%,#e1d9d0 100%) !important;
}

.process-slim-wrap{
  display:block !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.process-slim-intro{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:28px !important;
  padding:0 0 22px !important;
  margin:0 0 8px !important;
  border:0 !important;
}

.process-slim-intro h2{
  margin:6px 0 0 !important;
  max-width:560px !important;
  font-size:clamp(28px,3vw,40px) !important;
  line-height:1.08 !important;
  color:#25292d !important;
}

.process-slim-list{
  position:relative !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:0 !important;
  padding-top:18px !important;
}

.process-slim-list::before{
  content:"" !important;
  position:absolute !important;
  left:7% !important;
  right:7% !important;
  top:39px !important;
  height:2px !important;
  background:linear-gradient(90deg,#d96b2b 0%,#d96b2b 82%,rgba(217,107,43,.35) 100%) !important;
}

.process-slim-step{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  min-height:0 !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:center !important;
}

.process-slim-step:not(:last-child){
  border:0 !important;
}

.process-slim-number{
  display:grid !important;
  place-items:center !important;
  width:44px !important;
  height:44px !important;
  margin:0 auto 16px !important;
  border:5px solid #e5ddd4 !important;
  border-radius:50% !important;
  background:#d96b2b !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  box-shadow:0 0 0 1px rgba(35,38,41,.06),0 6px 16px rgba(35,38,41,.08) !important;
}

.process-slim-step h3{
  margin:0 0 7px !important;
  color:#25292d !important;
  font-size:17px !important;
  line-height:1.25 !important;
}

.process-slim-step p{
  max-width:230px !important;
  margin:0 auto !important;
  color:#666d72 !important;
  font-size:13px !important;
  line-height:1.55 !important;
}

@media(max-width:900px){
  .process-slim-intro{
    display:block !important;
  }

  .process-slim-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:24px 0 !important;
  }

  .process-slim-list::before{
    display:none !important;
  }

  .process-slim-step{
    padding:0 16px !important;
  }
}

@media(max-width:620px){
  .process-slim-section{
    padding:38px 0 42px !important;
  }

  .process-slim-list{
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding-top:8px !important;
  }

  .process-slim-step{
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr) !important;
    gap:14px !important;
    align-items:start !important;
    padding:14px 0 !important;
    text-align:left !important;
    border-top:1px solid rgba(35,38,41,.10) !important;
  }

  .process-slim-step:first-child{
    border-top:0 !important;
  }

  .process-slim-number{
    width:40px !important;
    height:40px !important;
    margin:0 !important;
    border-width:4px !important;
  }

  .process-slim-step h3{
    margin-top:2px !important;
  }

  .process-slim-step p{
    max-width:none !important;
    margin:0 !important;
  }
}


/* Compact proportions for the How It Works timeline */
.process-slim-section{
  padding:30px 0 34px !important;
}

.process-slim-intro{
  display:grid !important;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr) !important;
  align-items:end !important;
  gap:30px !important;
  padding:0 0 12px !important;
  margin:0 !important;
}

.process-slim-intro h2{
  margin:4px 0 0 !important;
  max-width:420px !important;
  font-size:clamp(24px,2.45vw,33px) !important;
  line-height:1.06 !important;
}

.process-slim-list{
  padding-top:10px !important;
}

.process-slim-list::before{
  top:29px !important;
}

.process-slim-step{
  padding:0 14px !important;
}

.process-slim-number{
  width:38px !important;
  height:38px !important;
  margin-bottom:10px !important;
  border-width:4px !important;
  font-size:11px !important;
}

.process-slim-step h3{
  margin-bottom:4px !important;
  font-size:15px !important;
}

.process-slim-step p{
  max-width:210px !important;
  font-size:12px !important;
  line-height:1.45 !important;
}

@media(max-width:900px){
  .process-slim-section{
    padding:34px 0 38px !important;
  }

  .process-slim-intro{
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding-bottom:14px !important;
  }

  .process-slim-list{
    gap:18px 0 !important;
  }
}

@media(max-width:620px){
  .process-slim-section{
    padding:30px 0 34px !important;
  }

  .process-slim-intro h2{
    font-size:27px !important;
  }

  .process-slim-step{
    grid-template-columns:40px minmax(0,1fr) !important;
    gap:12px !important;
    padding:10px 0 !important;
  }

  .process-slim-number{
    width:36px !important;
    height:36px !important;
  }

  .process-slim-step h3{
    font-size:15px !important;
  }

  .process-slim-step p{
    font-size:13px !important;
  }
}


/* Corrected How It Works layout */
.process-slim-section{
  padding:34px 0 38px !important;
}

.process-slim-wrap{
  display:block !important;
  max-width:1180px !important;
  margin:0 auto !important;
}

.process-slim-intro{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:24px !important;
  padding:0 0 18px !important;
  margin:0 !important;
}

.process-slim-intro .eyebrow{
  flex:0 0 auto !important;
  margin-bottom:5px !important;
}

.process-slim-intro h2{
  margin:0 !important;
  max-width:520px !important;
  font-size:clamp(26px,2.7vw,38px) !important;
  line-height:1.03 !important;
  text-align:right !important;
}

.process-slim-list{
  position:relative !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:22px !important;
  padding-top:16px !important;
}

.process-slim-list::before{
  content:"" !important;
  position:absolute !important;
  left:9% !important;
  right:9% !important;
  top:34px !important;
  height:2px !important;
  background:rgba(217,107,43,.55) !important;
}

.process-slim-step{
  position:relative !important;
  z-index:1 !important;
  min-height:0 !important;
  padding:0 8px !important;
  text-align:center !important;
}

.process-slim-number{
  width:40px !important;
  height:40px !important;
  margin:0 auto 12px !important;
  border:4px solid #e8e0d7 !important;
  border-radius:50% !important;
  background:#d96b2b !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:800 !important;
  box-shadow:0 5px 12px rgba(35,38,41,.08) !important;
}

.process-slim-step h3{
  margin:0 0 5px !important;
  font-size:16px !important;
  line-height:1.25 !important;
}

.process-slim-step p{
  margin:0 auto !important;
  max-width:220px !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
}

@media(max-width:900px){
  .process-slim-intro{
    display:block !important;
  }

  .process-slim-intro h2{
    margin-top:6px !important;
    max-width:none !important;
    text-align:left !important;
  }

  .process-slim-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px 18px !important;
  }

  .process-slim-list::before{
    display:none !important;
  }
}

@media(max-width:620px){
  .process-slim-section{
    padding:30px 0 34px !important;
  }

  .process-slim-intro{
    padding-bottom:12px !important;
  }

  .process-slim-intro h2{
    font-size:28px !important;
  }

  .process-slim-list{
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding-top:4px !important;
  }

  .process-slim-step{
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:start !important;
    padding:12px 0 !important;
    text-align:left !important;
    border-top:1px solid rgba(35,38,41,.10) !important;
  }

  .process-slim-step:first-child{
    border-top:0 !important;
  }

  .process-slim-number{
    width:36px !important;
    height:36px !important;
    margin:0 !important;
  }

  .process-slim-step p{
    max-width:none !important;
    margin:0 !important;
    font-size:13px !important;
  }
}


/* Reviews now flow directly into About */
.reviews-section{
  border-bottom:0 !important;
}

#about{
  border-top:1px solid rgba(35,38,41,.07) !important;
}


/* Footer logo visible over dark final band */
.site-footer .footer-logo{
  filter: brightness(0) invert(1) !important;
  opacity: .98 !important;
}


/* Compact business hours inside the location card */
#contact .business-hours{
  margin:12px 0 14px;
  padding:12px 13px;
  border:1px solid rgba(35,38,41,.08);
  border-radius:14px;
  background:#fffaf6;
}

#contact .business-hours-title{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:8px;
  color:#c96531;
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em;
}

#contact .business-hours-title svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#contact .business-hours-lines{
  display:grid;
  gap:5px;
}

#contact .business-hours-lines > span{
  display:flex;
  justify-content:space-between;
  gap:14px;
  color:#5f676d;
  font-size:11px;
  line-height:1.35;
}

#contact .business-hours-lines b{
  color:#2a2f33;
  font-weight:700;
}

#contact .business-hours-lines em{
  font-style:normal;
  text-align:right;
}

@media(max-width:760px){
  #contact .business-hours-lines > span{
    font-size:12px;
  }
}


/* Business hours moved out of the contact columns */
#contact .business-hours{
  display:none !important;
}

.hours-strip{
  background:#efe8df;
  border-top:1px solid rgba(35,38,41,.08);
  border-bottom:1px solid rgba(35,38,41,.10);
}

.hours-strip-inner{
  min-height:92px;
  display:grid;
  grid-template-columns:minmax(220px,.85fr) minmax(0,1.45fr) auto;
  align-items:center;
  gap:28px;
}

.hours-strip-title{
  display:flex;
  align-items:center;
  gap:12px;
}

.hours-strip-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  border-radius:13px;
  background:#fff7f0;
  color:#d96b2b;
  border:1px solid #ecd2be;
}

.hours-strip-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.hours-strip-title small{
  display:block;
  margin-bottom:3px;
  color:#c96531;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
}

.hours-strip-title strong{
  display:block;
  color:#272b2f;
  font-size:16px;
  line-height:1.25;
}

.hours-strip-times{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.hours-strip-times > span{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
  padding-left:14px;
  border-left:1px solid rgba(35,38,41,.12);
}

.hours-strip-times b{
  color:#2b3034;
  font-size:12px;
  font-weight:700;
}

.hours-strip-times em{
  color:#697076;
  font-size:12px;
  font-style:normal;
  white-space:nowrap;
}

.hours-strip-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 15px;
  border-radius:999px;
  background:#171b1f;
  color:#fff;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

.hours-strip-link:hover{
  background:#d96b2b;
}

@media(max-width:900px){
  .hours-strip-inner{
    grid-template-columns:1fr;
    gap:16px;
    padding-top:20px;
    padding-bottom:20px;
  }

  .hours-strip-times{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .hours-strip-link{
    justify-self:start;
  }
}

@media(max-width:620px){
  .hours-strip-times{
    grid-template-columns:1fr;
    gap:8px;
  }

  .hours-strip-times > span{
    flex-direction:row;
    justify-content:space-between;
  }

  .hours-strip-link{
    width:100%;
  }
}


/* Polished business-hours band integrated with the dark footer */
.hours-strip{
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(217,107,43,.16), transparent 28%),
    linear-gradient(180deg,#20252a 0%,#191d21 100%) !important;
  border-top:1px solid rgba(255,255,255,.07) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  color:#fff !important;
}

.hours-strip::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:1px !important;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(217,107,43,.20) 20%,
    rgba(217,107,43,.52) 50%,
    rgba(217,107,43,.20) 80%,
    transparent 100%
  ) !important;
}

.hours-strip-inner{
  min-height:84px !important;
  grid-template-columns:minmax(210px,.8fr) minmax(0,1.55fr) auto !important;
  gap:30px !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
}

.hours-strip-icon{
  width:44px !important;
  height:44px !important;
  flex-basis:44px !important;
  border-radius:14px !important;
  background:rgba(217,107,43,.13) !important;
  border:1px solid rgba(217,107,43,.32) !important;
  color:#f0a16f !important;
  box-shadow:0 8px 20px rgba(0,0,0,.12) !important;
}

.hours-strip-title small{
  color:#efa06e !important;
}

.hours-strip-title strong{
  color:#fff !important;
  font-size:17px !important;
}

.hours-strip-times{
  gap:0 !important;
  border-left:1px solid rgba(255,255,255,.10) !important;
  border-right:1px solid rgba(255,255,255,.10) !important;
}

.hours-strip-times > span{
  min-height:44px !important;
  justify-content:center !important;
  gap:4px !important;
  padding:0 18px !important;
  border-left:1px solid rgba(255,255,255,.10) !important;
}

.hours-strip-times > span:first-child{
  border-left:0 !important;
}

.hours-strip-times b{
  color:#fff !important;
  font-size:12px !important;
}

.hours-strip-times em{
  color:rgba(255,255,255,.66) !important;
  font-size:12px !important;
}

.hours-strip-times > span:last-child em{
  color:#f0a16f !important;
}

.hours-strip-link{
  min-height:42px !important;
  padding:0 17px !important;
  background:#d96b2b !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(0,0,0,.14) !important;
  transition:transform .2s ease,background .2s ease !important;
}

.hours-strip-link:hover{
  background:#b95622 !important;
  transform:translateY(-1px) !important;
}

.site-footer{
  background:#15191d !important;
}

@media(max-width:900px){
  .hours-strip-inner{
    grid-template-columns:1fr !important;
    gap:14px !important;
    padding-top:20px !important;
    padding-bottom:20px !important;
  }

  .hours-strip-times{
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:14px !important;
    overflow:hidden !important;
  }

  .hours-strip-link{
    justify-self:start !important;
  }
}

@media(max-width:620px){
  .hours-strip-inner{
    gap:13px !important;
  }

  .hours-strip-times{
    grid-template-columns:1fr !important;
  }

  .hours-strip-times > span{
    min-height:40px !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:0 14px !important;
    border-left:0 !important;
    border-top:1px solid rgba(255,255,255,.09) !important;
  }

  .hours-strip-times > span:first-child{
    border-top:0 !important;
  }

  .hours-strip-link{
    width:100% !important;
  }
}


/* Instagram link in footer */
.footer-instagram{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  color:rgba(255,255,255,.82) !important;
}
.footer-instagram svg{
  width:17px !important;
  height:17px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
}
.footer-instagram:hover{
  color:#efa06e !important;
}
@media(max-width:760px){
  .footer-contact{gap:7px !important;}
  .footer-contact > span{display:none !important;}
}


/* Clean integrated footer with compact business hours */
.hours-strip{
  display:none !important;
}

.site-footer{
  background:
    radial-gradient(circle at 8% 0%, rgba(217,107,43,.10), transparent 25%),
    #171b1f !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}

.footer-main{
  display:grid !important;
  grid-template-columns:1.05fr 1.15fr .9fr !important;
  gap:42px !important;
  align-items:start !important;
  padding-top:38px !important;
  padding-bottom:30px !important;
}

.footer-brand-block .footer-logo{
  height:40px !important;
  width:auto !important;
  margin-bottom:14px !important;
  filter:brightness(0) invert(1) !important;
}

.footer-brand-block p{
  max-width:320px !important;
  margin:0 !important;
  color:rgba(255,255,255,.58) !important;
  font-size:12.5px !important;
  line-height:1.65 !important;
}

.footer-info-label{
  margin-bottom:13px !important;
  color:#e59a69 !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
}

.footer-hours-compact{
  display:grid !important;
  gap:0 !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
}

.footer-hours-compact > div{
  display:flex !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:10px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

.footer-hours-compact strong{
  color:rgba(255,255,255,.92) !important;
  font-size:12px !important;
}

.footer-hours-compact span{
  color:rgba(255,255,255,.58) !important;
  font-size:12px !important;
  text-align:right !important;
}

.footer-contact-block{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:9px !important;
}

.footer-contact-block > a{
  color:rgba(255,255,255,.72) !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
}

.footer-contact-block > a:hover{
  color:#fff !important;
}

.footer-contact-block .footer-instagram{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
}

.footer-contact-block .footer-instagram svg{
  width:16px !important;
  height:16px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.7 !important;
}

.footer-directions{
  margin-top:5px !important;
  display:inline-flex !important;
  min-height:36px !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 13px !important;
  border:1px solid rgba(217,107,43,.55) !important;
  border-radius:9px !important;
  color:#f0a16f !important;
  font-weight:700 !important;
}

.footer-directions:hover{
  background:#d96b2b !important;
  border-color:#d96b2b !important;
  color:#fff !important;
}

.footer-bottom{
  padding-top:14px !important;
  padding-bottom:18px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}

.footer-bottom p{
  margin:0 !important;
  color:rgba(255,255,255,.42) !important;
  font-size:11px !important;
}

@media(max-width:900px){
  .footer-main{
    grid-template-columns:1fr 1fr !important;
    gap:28px 36px !important;
  }

  .footer-contact-block{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:center !important;
  }

  .footer-directions{
    justify-self:start !important;
  }
}

@media(max-width:620px){
  .footer-main{
    grid-template-columns:1fr !important;
    gap:24px !important;
    padding-top:30px !important;
    padding-bottom:24px !important;
  }

  .footer-brand-block p{
    max-width:none !important;
  }

  .footer-contact-block{
    grid-column:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  .footer-directions{
    width:100% !important;
  }

  .footer-bottom{
    padding-bottom:22px !important;
  }
}


/* Compact footer revision */
.footer-main{
  grid-template-columns:.95fr 1.1fr .95fr !important;
  gap:30px !important;
  padding-top:24px !important;
  padding-bottom:18px !important;
}

.footer-brand-block .footer-logo{
  height:34px !important;
  margin-bottom:9px !important;
}

.footer-brand-block p{
  max-width:285px !important;
  font-size:11.5px !important;
  line-height:1.5 !important;
}

.footer-info-label{
  margin-bottom:8px !important;
  font-size:9px !important;
}

.footer-hours-compact > div{
  padding:7px 0 !important;
}

.footer-hours-compact strong,
.footer-hours-compact span{
  font-size:11px !important;
}

.footer-contact-block{
  gap:6px !important;
}

.footer-contact-block > a{
  font-size:11.5px !important;
}

.footer-directions{
  min-height:32px !important;
  margin-top:3px !important;
  padding:0 11px !important;
  font-size:11px !important;
}

.footer-bottom{
  padding-top:10px !important;
  padding-bottom:12px !important;
}

.footer-bottom p{
  font-size:10px !important;
}

@media(max-width:900px){
  .footer-main{
    gap:22px 28px !important;
    padding-top:22px !important;
    padding-bottom:18px !important;
  }
}

@media(max-width:620px){
  .footer-main{
    gap:18px !important;
    padding-top:24px !important;
    padding-bottom:18px !important;
  }

  .footer-brand-block .footer-logo{
    height:32px !important;
  }

  .footer-hours-compact > div{
    padding:7px 0 !important;
  }

  .footer-bottom{
    padding-top:9px !important;
    padding-bottom:16px !important;
  }
}


/* Gmail SMTP image attachment field */
.photo-upload-field{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid #e4ddd5;
  border-radius:13px;
  background:#fff;
}

.upload-label{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  color:#3a3d40;
  font-size:12px;
  font-weight:700;
}

.upload-label small{
  color:#858b90;
  font-size:10px;
  font-weight:500;
  text-align:right;
}

.photo-upload-field input[type="file"]{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  clip-path:inset(50%);
}

.photo-upload-button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:44px;
  margin:0 !important;
  padding:10px 14px;
  border:1px dashed rgba(217,107,43,.55);
  border-radius:10px;
  background:#fff8f2;
  color:#b95622 !important;
  font-size:12px !important;
  font-weight:800 !important;
  cursor:pointer;
  transition:.18s ease;
}

.photo-upload-button:hover{
  border-color:#d96b2b;
  background:#fff2e8;
}

.photo-upload-button svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.selected-files{
  padding-top:2px;
}

.selected-files-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
  color:#555b60;
  font-size:10.5px;
}

.selected-files-head button{
  padding:0;
  border:0;
  background:none;
  color:#b95622;
  font-size:10.5px;
  font-weight:700;
  cursor:pointer;
}

.selected-files ul{
  display:grid;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
}

.selected-files li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  padding:7px 9px;
  border-radius:8px;
  background:#f5f2ee;
  color:#4d5357;
  font-size:10.5px;
}

.selected-file-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.selected-file-size{
  flex:0 0 auto;
  color:#8b9195;
}

.upload-error{
  margin:0;
  color:#a53d27;
  font-size:10.5px;
  line-height:1.45;
}

.submit-email[disabled]{
  opacity:.62;
  cursor:wait;
}

.form-status[hidden]{
  display:none !important;
}

@media(max-width:620px){
  .upload-label{
    display:block;
  }

  .upload-label small{
    display:block;
    margin-top:4px;
    text-align:left;
  }
}


/* Better multi-file attachment list */
.selected-files li{
  align-items:center;
}

.selected-file-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  flex:1;
}

.selected-file-remove{
  flex:0 0 26px;
  width:26px;
  height:26px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#a64b28;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}

.selected-file-remove:hover{
  background:#f5e8df;
}


/* VIN field */
#vin{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.field-help{
  display:block;
  margin-top:6px;
  color:#7b8186;
  font-size:10px;
  font-weight:500;
  line-height:1.4;
}
\n\n/* Final contact-section balance after VIN and image upload fields */
@media(min-width:981px){
  #contact .contact-grid{
    align-items:stretch !important;
  }

  #contact .contact-copy{
    display:flex !important;
    flex-direction:column !important;
    height:100% !important;
  }

  #contact .contact-visit-card{
    margin-top:auto !important;
    grid-template-columns:minmax(0,.78fr) minmax(250px,1.22fr) !important;
    align-items:stretch !important;
  }

  #contact .contact-visit-map,
  #contact .contact-visit-map iframe{
    min-height:230px !important;
    height:100% !important;
  }
}

#contact .contact-bridge-note{
  margin-bottom:14px !important;
}

#contact .contact-visit-map iframe{
  display:block !important;
  width:100% !important;
}

@media(max-width:980px){
  #contact .contact-visit-map,
  #contact .contact-visit-map iframe{
    min-height:210px !important;
    height:210px !important;
  }
}

@media(max-width:760px){
  #contact .contact-visit-map,
  #contact .contact-visit-map iframe{
    min-height:190px !important;
    height:190px !important;
  }
}


/* Contact section: remove empty gap and let the map fill the left column */
@media (min-width:981px){
  #contact .contact-grid{
    align-items:stretch !important;
  }

  #contact .contact-copy{
    display:flex !important;
    flex-direction:column !important;
    min-height:100% !important;
  }

  #contact .contact-visit-card{
    flex:1 1 auto !important;
    min-height:320px !important;
    margin-top:18px !important;
    grid-template-columns:minmax(0,.72fr) minmax(300px,1.28fr) !important;
    align-items:stretch !important;
  }

  #contact .contact-visit-copy{
    align-self:center !important;
  }

  #contact .contact-visit-map{
    min-height:320px !important;
    height:100% !important;
  }

  #contact .contact-visit-map iframe{
    min-height:320px !important;
    height:100% !important;
  }
}


/* Final contact-card correction: preserve the previous design and never clip details */
#contact .contact-card-copy,
#contact .contact-card-copy strong,
#contact .contact-card-copy strong span{
  min-width:0 !important;
  max-width:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

#contact .contact-cards a{
  min-width:0 !important;
  overflow:visible !important;
}

#contact .contact-card-copy strong,
#contact .contact-card-copy strong span{
  display:block !important;
  font-size:13px !important;
  line-height:1.38 !important;
}

#contact .contact-cards{
  grid-template-columns:1fr !important;
}

@media(min-width:761px){
  #contact .contact-cards a{
    grid-template-columns:48px minmax(0,1fr) !important;
  }
}
