:root{--cream:#f8f4ec;--paper:#fffaf3;--stone:#e8ded2;--brick:#8f3d2b;--brick-dark:#57251b;--ink:#211f1b;--text:#3c3832;--muted:#6d665c;--line:rgba(33,31,27,.14);--max:1180px;--shadow:0 24px 70px rgba(57,45,31,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip;background:var(--cream)}body{margin:0;min-width:320px;overflow-x:clip;color:var(--text);background:linear-gradient(90deg,rgba(33,31,27,.025) 1px,transparent 1px) 0 0/92px 92px,linear-gradient(rgba(33,31,27,.02) 1px,transparent 1px) 0 0/92px 92px,var(--cream);font-family:"Aptos","Segoe UI","Helvetica Neue",Arial,sans-serif;letter-spacing:0}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.page-progress{position:fixed;inset:0 auto auto 0;z-index:100;width:var(--scroll,0%);height:3px;background:linear-gradient(90deg,#c79a63,#b0895a)}
.site-header{position:fixed;inset:16px 22px auto;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;max-width:1380px;margin:0 auto;padding:12px 16px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;backdrop-filter:blur(12px);transition:background .22s ease,box-shadow .22s ease,color .22s ease,border-color .22s ease}.site-header.is-scrolled,.site-header.menu-open{background:rgba(255,255,255,.92);color:var(--ink);border-color:rgba(255,255,255,.8);box-shadow:0 14px 40px rgba(57,45,31,.12)}.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content}.brand img{width:42px;height:42px;object-fit:contain;border-radius:50%;background:rgba(255,255,255,.86);box-shadow:0 8px 22px rgba(0,0,0,.16)}.brand span{display:grid;line-height:1;text-transform:uppercase}.brand small{font-size:10px;font-weight:850;letter-spacing:1.8px}.brand strong{font-size:22px;font-weight:850}.nav-links{display:flex;justify-content:center;gap:4px}.nav-links a,.quick-contact,.button,.contact-form button,.project-dot,.hero-dot{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid transparent;border-radius:999px;background:transparent;color:inherit;font-size:12px;font-weight:820;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.nav-links a:hover,.quick-contact:hover,.button:hover,.contact-form button:hover,.project-dot:hover,.project-dot.is-active{transform:translateY(-2px);border-color:rgba(143,61,43,.34);background:rgba(143,61,43,.1);color:var(--brick-dark)}.quick-contact{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.12)}.site-header.is-scrolled .quick-contact,.site-header.menu-open .quick-contact{border-color:var(--line);background:rgba(255,255,255,.65)}.menu-toggle{display:none;width:44px;height:42px;border:1px solid currentColor;border-radius:999px;background:rgba(255,255,255,.12);color:inherit}.menu-toggle span{display:block;width:18px;height:2px;margin:5px auto;background:currentColor;transition:transform .18s ease}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.hero{position:relative;display:grid;grid-template-columns:minmax(24px,1fr) minmax(0,var(--max)) minmax(24px,1fr);align-items:end;min-height:100svh;padding:154px 0 64px;color:#fff;overflow:hidden;isolation:isolate}.hero:before{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,18,15,.76),rgba(20,18,15,.34) 45%,rgba(20,18,15,.2)),linear-gradient(0deg,rgba(20,18,15,.78),rgba(20,18,15,.16) 54%,rgba(20,18,15,.4));content:""}.hero-carousel{position:absolute;inset:0;z-index:-2;background:#221c17}.hero-slide{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:0;transform:scale(1.035);transition:opacity .85s ease,transform 2.6s cubic-bezier(.16,1,.3,1)}.hero-slide.is-active{opacity:1;transform:scale(1)}.hero-copy{grid-column:2;max-width:610px;padding-bottom:38px}.kicker{margin:0 0 12px;color:var(--brick-dark);font-size:12px;font-weight:850;letter-spacing:2px;line-height:1.2;text-transform:uppercase}.hero .kicker,.hero h1,.hero .lead{color:#fff;text-shadow:0 2px 28px rgba(0,0,0,.42)}h1,h2,h3,p{margin-top:0}h1{max-width:620px;margin:0 0 22px;color:var(--ink);font-size:54px;font-weight:820;letter-spacing:-.4px;line-height:.98}h2{margin-bottom:0;color:var(--ink);font-size:34px;font-weight:780;letter-spacing:-.2px;line-height:1.08}h3{margin:0;color:var(--ink);font-size:22px;font-weight:780;line-height:1.1}p{color:var(--muted);font-size:16px;line-height:1.72}.lead{max-width:560px;margin-bottom:28px;font-size:18px}.button.primary,.contact-form button{border-color:var(--ink);background:var(--ink);color:#fff}.hero .button.primary{border-color:#fff;background:#fff;color:var(--ink)}.hero .button.secondary{border-color:rgba(255,255,255,.54);background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(12px)}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.hero-meta{position:absolute;right:max(24px,calc((100vw - var(--max))/2));bottom:72px;z-index:2;display:grid;gap:5px;width:min(310px,calc(100% - 48px));padding:18px 20px;border-left:4px solid var(--brick);background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(16px);box-shadow:0 18px 48px rgba(0,0,0,.18)}.hero-meta span{color:rgba(255,255,255,.78)}.hero-carousel-controls{position:absolute;left:max(24px,calc((100vw - var(--max))/2));bottom:28px;z-index:3;display:flex;gap:8px}.hero-dot{width:46px;height:34px;border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(12px)}.hero-dot:hover,.hero-dot.is-active{border-color:#fff;background:#fff;color:var(--ink)}
.section,.services,.projects,.gallery,.reviews,.partners,.contact,.footer{width:min(var(--max),calc(100% - 48px));margin:0 auto}.section{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center;padding:86px 0;border-bottom:1px solid var(--line)}.section-media{min-height:470px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.section-media img{width:100%;height:470px;object-fit:cover}.section-copy p:not(.kicker){max-width:560px}.fact-card{display:grid;gap:6px;max-width:360px;margin-top:24px;padding:18px;border-left:4px solid var(--brick);background:#fff;box-shadow:0 12px 36px rgba(57,45,31,.08)}.fact-card span{color:var(--muted)}
.services{padding:90px 0;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:.7fr 1fr;gap:36px;margin-bottom:28px}.section-head p:not(.kicker){max-width:520px;margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{min-height:260px;padding:24px;border:1px solid var(--line);background:#fff;box-shadow:0 14px 38px rgba(57,45,31,.07);transition:transform .2s ease,box-shadow .2s ease}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-card span{display:block;margin-bottom:54px;color:var(--brick);font-size:13px;font-weight:900}.service-card p{margin:12px 0 0}
.tool-pop{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;width:min(var(--max),calc(100% - 48px));min-height:560px;margin:76px auto;overflow:hidden;background:#fff;box-shadow:0 20px 70px rgba(57,45,31,.1)}.tool-pop:before{position:absolute;inset:0 auto 0 0;width:38%;background:linear-gradient(180deg,rgba(143,61,43,.2),rgba(143,61,43,.05)),var(--brick-soft,#efe1d8);content:""}.tool-stage{position:relative;overflow:hidden;min-height:560px}.drill-cutout{position:absolute;left:-265px;top:50%;width:900px;max-width:none;transform:translateY(-50%) rotate(-12deg);filter:drop-shadow(0 32px 42px rgba(33,31,27,.24))}.tool-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:72px 86px}.tool-copy h2{max-width:620px;margin-bottom:20px}
.specialty{position:relative;width:100%;margin:70px 0;padding:132px 0;background:radial-gradient(circle at 80% 22%,rgba(255,255,255,.14),transparent 28rem),linear-gradient(135deg,#743323,#8f3d2b 58%,#6f2f22);color:#fff;overflow:hidden}.wave{position:absolute;left:0;width:100%;height:82px;background:var(--cream);z-index:1}.wave-top{top:-1px;clip-path:polygon(0 0,100% 0,100% 42%,82% 54%,65% 36%,48% 56%,30% 38%,14% 54%,0 42%)}.wave-bottom{bottom:-1px;clip-path:polygon(0 58%,14% 46%,30% 62%,48% 44%,65% 64%,82% 46%,100% 58%,100% 100%,0 100%)}.specialty-inner{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center;width:min(var(--max),calc(100% - 48px));margin:0 auto}.specialty .kicker,.specialty h2,.specialty p{color:#fff}.specialty h2{font-size:42px}.specialty p{max-width:500px}.specialty-image{height:420px}.specialty-image img{width:100%;height:100%;object-fit:cover;border:10px solid rgba(255,255,255,.9);box-shadow:0 24px 70px rgba(32,17,12,.28)}
.projects{position:relative;min-height:245vh;padding:100px 0}.projects:before{position:absolute;inset:0 calc(50% - 50vw);background:#eee6da;content:"";z-index:-1}.project-pin{position:sticky;top:110px;display:grid;grid-template-columns:.72fr 1fr;gap:52px;align-items:center;min-height:calc(100svh - 140px)}.project-copy p:not(.kicker){max-width:460px}.project-controls{display:flex;gap:8px;margin-top:24px}.project-dot{background:#fff;border-color:var(--line)}.project-stage{position:relative;min-height:560px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.project-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:translateX(34px) scale(1.02);transition:opacity .5s ease,transform .7s cubic-bezier(.16,1,.3,1)}.project-image.is-active{opacity:1;transform:translateX(0) scale(1)}.project-steps{position:absolute;inset:0;pointer-events:none}.project-step{height:25%}
.gallery{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:190px;gap:14px;padding:76px 0}.gallery figure{margin:0;overflow:hidden;background:#fff;box-shadow:0 14px 42px rgba(57,45,31,.08)}.gallery figure.wide{grid-column:span 3}.gallery figure.tall{grid-row:span 2;grid-column:span 2}.gallery figure:not(.wide):not(.tall){grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gallery figure:hover img{transform:scale(1.04)}
.reviews{width:100%;max-width:none;padding:92px max(24px,calc((100vw - var(--max))/2));background:#fff;overflow:hidden;border-top:8px solid transparent;border-image:linear-gradient(90deg,#4285f4 0 25%,#ea4335 25% 50%,#fbbc05 50% 75%,#34a853 75%) 1}.reviews-head{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;margin-bottom:28px}.google-logo{font-size:26px;font-weight:850;letter-spacing:-.5px}.blue{color:#4285f4}.red{color:#ea4335}.yellow{color:#fbbc05}.green{color:#34a853}.rating{color:#fbbc05;letter-spacing:2px}.review-flow{display:grid;grid-template-columns:repeat(4,minmax(260px,1fr));gap:14px}.review-card{display:grid;grid-template-columns:48px 1fr;gap:14px;min-height:230px;padding:22px;border:1px solid rgba(66,133,244,.14);border-top:4px solid #4285f4;background:#fff;box-shadow:0 16px 44px rgba(57,45,31,.08)}.review-card:nth-child(2){border-top-color:#ea4335}.review-card:nth-child(3){border-top-color:#fbbc05}.review-card:nth-child(4){border-top-color:#34a853}.review-card span{display:block;margin:4px 0 10px;color:#fbbc05;font-size:13px}.review-card p{margin:0;font-size:15px}.avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:#fff;font-weight:850}.avatar.photo{background:linear-gradient(135deg,#346b48,#ad2734)}.avatar.purple{background:#7b2cbf}.avatar.orange{background:#e85d2a}.avatar.green{background:#368f78}
.partners{padding:86px 0;border-bottom:1px solid var(--line)}.logo-flow{overflow:hidden;border:1px solid var(--line);background:#fff}.logo-track{display:flex;align-items:center;gap:32px;width:max-content;padding:22px;animation:logoFlow 34s linear infinite}.logo-track img{width:160px;height:78px;object-fit:contain;filter:none}.contact{display:grid;grid-template-columns:1fr .9fr;gap:34px;padding:92px 0}.contact-copy,.contact-form{padding:44px;border:1px solid var(--line);background:#fff;box-shadow:0 18px 52px rgba(57,45,31,.09)}address{display:grid;gap:10px;margin-top:28px;color:var(--muted);font-style:normal}.contact-form{display:grid;gap:16px}.contact-form label{display:grid;gap:8px}.contact-form label span{font-size:11px;font-weight:850;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted)}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);padding:14px;background:#fff;color:var(--ink);resize:vertical}.form-note{min-height:22px;margin:0}.footer{display:flex;justify-content:space-between;gap:24px;padding:28px 0 42px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.footer div{display:flex;gap:18px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .68s cubic-bezier(.16,1,.3,1),transform .68s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes logoFlow{to{transform:translateX(-50%)}}
@media(max-width:1040px){.site-header{grid-template-columns:auto auto}.quick-contact{display:none}.menu-toggle{display:block;justify-self:end}.nav-links{position:fixed;inset:70px 18px auto;display:none;grid-column:1/-1;grid-template-columns:1fr;padding:10px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 22px 54px rgba(57,45,31,.15);color:var(--ink)}.nav-links.is-open{display:grid}.nav-links a{justify-content:flex-start}.hero{grid-template-columns:24px 1fr 24px}.hero-copy{grid-column:2;padding-bottom:142px}.hero-meta{left:24px;right:auto;bottom:70px}.section,.tool-pop,.specialty-inner,.project-pin,.contact{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.tool-pop:before{width:100%;height:42%}.tool-stage{min-height:370px}.drill-cutout{left:-190px;width:720px}.project-pin{position:relative;top:auto;min-height:auto}.projects{min-height:auto}.project-steps{display:none}.project-stage{min-height:500px}.review-flow{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.gallery figure,.gallery figure.wide,.gallery figure.tall{grid-column:auto;grid-row:auto}}
@media(max-width:640px){body{background:var(--cream)}.site-header{inset:10px 10px auto;padding:10px}.brand img{width:36px;height:36px}.brand strong{font-size:20px}.brand small{font-size:9px}.hero{grid-template-columns:18px 1fr 18px;padding-top:118px;padding-bottom:34px}h1,.hero h1{font-size:38px}h2{font-size:28px}h3{font-size:20px}p,.lead{font-size:15px}.hero-actions,.button{width:100%}.hero-copy{padding-bottom:174px}.hero-meta{left:18px;bottom:76px;width:min(310px,calc(100% - 36px))}.hero-carousel-controls{left:18px;bottom:28px}.section,.services,.projects,.gallery,.partners,.contact,.footer{width:calc(100% - 32px)}.section{grid-template-columns:1fr;gap:28px;padding:62px 0}.section-media,.section-media img{min-height:340px;height:340px}.section-head{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-card{min-height:210px}.tool-pop{width:calc(100% - 32px);grid-template-columns:1fr;margin:52px auto}.tool-stage{min-height:290px}.drill-cutout{left:-150px;width:560px}.tool-copy{padding:32px 24px}.specialty{padding:108px 0}.specialty-inner{grid-template-columns:1fr;width:calc(100% - 32px)}.specialty h2{font-size:30px}.specialty-image{height:280px}.projects{padding:70px 0}.project-stage{min-height:360px}.gallery{grid-template-columns:1fr;grid-auto-rows:250px}.reviews{padding:76px 16px}.reviews-head,.review-flow{grid-template-columns:1fr}.contact{grid-template-columns:1fr;padding:64px 0}.contact-copy,.contact-form{padding:26px}.footer{flex-direction:column}.logo-track img{width:140px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}

/* Targeted rebuild pass requested in the latest review */
.hero:before{background:linear-gradient(90deg,rgba(20,18,15,.62),rgba(20,18,15,.26) 45%,rgba(20,18,15,.12)),linear-gradient(0deg,rgba(20,18,15,.64),rgba(20,18,15,.08) 54%,rgba(20,18,15,.32))}
.hero-slide{transform:scale(1.012)}
.hero .kicker,.hero h1,.hero .lead{text-shadow:0 2px 20px rgba(0,0,0,.34)}
.services{padding:92px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,.1))}
.service-board{display:grid;grid-template-columns:.82fr 1.18fr;gap:34px;align-items:stretch}
.service-visual{margin:0;min-height:520px;overflow:hidden;box-shadow:var(--shadow);background:#fff}
.service-visual img{width:100%;height:100%;object-fit:cover}
.service-lines{display:grid;border-top:1px solid var(--line);background:#fff;box-shadow:0 16px 44px rgba(57,45,31,.08)}
.service-line{display:grid;grid-template-columns:72px 1fr;gap:22px;align-items:center;min-height:130px;padding:24px 30px;border-bottom:1px solid var(--line);transition:background .2s ease,transform .2s ease}
.service-line:hover{background:rgba(143,61,43,.075);transform:translateX(8px)}
.service-line span{color:var(--brick);font-size:13px;font-weight:900}
.service-line p{margin:8px 0 0;max-width:520px}
.tool-pop{position:relative;width:100%;min-height:620px;margin:84px 0;overflow:hidden;background:linear-gradient(90deg,var(--stone) 0 38%,#fffaf3 38%);box-shadow:none}
.tool-pop:before{position:absolute;inset:0 auto 0 0;width:38%;background:linear-gradient(180deg,rgba(143,61,43,.24),rgba(143,61,43,.06));content:""}
.drill-cutout{position:absolute;z-index:3;left:-340px;top:50%;width:1040px;max-width:none;transform:translateY(-50%) rotate(-10deg)!important;filter:drop-shadow(0 38px 44px rgba(33,31,27,.28));opacity:1}
.tool-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;width:min(var(--max),calc(100% - 48px));min-height:620px;margin:0 auto;padding-left:44%;padding-right:40px}
.tool-copy h2{max-width:640px;margin-bottom:20px}
.specialty{min-height:860px;margin:86px 0;padding:184px 0}
.specialty .wave{position:absolute;left:0;width:100%;height:128px;z-index:1;background:none;clip-path:none}
.specialty .wave path{fill:var(--cream)}
.wave-top{top:-1px}.wave-bottom{bottom:-1px}
.specialty-inner{grid-template-columns:minmax(0,.72fr) minmax(520px,1.28fr);gap:64px;min-height:520px}
.specialty-image{height:560px;margin-right:calc((var(--max) - 100vw)/2);box-shadow:0 24px 70px rgba(32,17,12,.28)}
.specialty-image img{border:0;width:100%;height:100%;object-fit:cover}
.projects{height:400vh;min-height:0;padding:0}
.project-pin{position:sticky;top:0;display:grid;grid-template-columns:minmax(24px,1fr) minmax(0,420px) minmax(0,720px) minmax(24px,1fr);gap:52px;align-items:center;height:100svh;min-height:0}
.project-copy{grid-column:2}
.project-stage{grid-column:3;height:min(72svh,620px);min-height:0}
.project-steps{position:absolute;inset:0;display:grid;grid-template-rows:repeat(4,1fr);pointer-events:none}
.project-step{height:auto;min-height:100vh}
@media(max-width:1040px){
  .service-board,.specialty-inner{grid-template-columns:1fr}
  .project-pin{position:relative;top:auto;grid-template-columns:1fr;height:auto;width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:90px 0}
  .projects{height:auto;padding:0}
  .project-copy,.project-stage{grid-column:auto}
  .project-steps{display:none}
  .tool-copy{padding-left:40%;padding-right:28px}
  .drill-cutout{left:-260px;width:820px}
}
@media(max-width:640px){
  .service-board{gap:18px}
  .service-visual{min-height:300px}
  .service-line{grid-template-columns:1fr;min-height:auto;padding:22px}
  .tool-pop{min-height:520px}
  .tool-copy{min-height:520px;padding:250px 24px 34px}
  .drill-cutout{left:-180px;top:145px;width:600px}
  .specialty{min-height:auto;margin:54px 0;padding:132px 0}
  .specialty-inner{grid-template-columns:1fr;min-height:0;width:calc(100% - 32px)}
  .specialty-image{height:330px;margin-right:0}
  .project-pin{width:calc(100% - 32px);padding:70px 0}
  .project-stage{height:360px}
}

/* Open drill hero: no inner box, stronger object pop */
.tool-pop{
  width:100%;
  min-height:720px;
  margin:90px 0;
  overflow:visible;
  background:transparent;
  box-shadow:none;
  isolation:isolate;
}
.tool-pop:before{
  display:none;
}
.tool-pop:after{
  position:absolute;
  left:-170px;
  top:50%;
  z-index:0;
  width:620px;
  height:620px;
  border-radius:50%;
  background:
    radial-gradient(circle at 58% 42%, rgba(255,255,255,.68), rgba(255,255,255,0) 38%),
    radial-gradient(circle, rgba(143,61,43,.24), rgba(143,61,43,.10) 48%, rgba(143,61,43,0) 70%);
  content:"";
  transform:translateY(-50%);
  pointer-events:none;
}
.drill-cutout,
.drill-cutout.reveal,
.drill-cutout.reveal.is-visible{
  position:absolute;
  z-index:4;
  left:-235px;
  top:50%;
  width:1120px;
  max-width:none;
  opacity:1;
  transform:translateY(-50%) rotate(-9deg) scale(1)!important;
  filter:drop-shadow(0 42px 48px rgba(33,31,27,.30));
}
.drill-cutout.reveal{
  opacity:0;
  transform:translateY(-44%) translateX(-90px) rotate(-14deg) scale(.88)!important;
  transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);
}
.drill-cutout.reveal.is-visible{
  opacity:1;
  transform:translateY(-50%) translateX(0) rotate(-9deg) scale(1)!important;
}
.tool-copy{
  width:min(var(--max),calc(100% - 48px));
  min-height:720px;
  padding-left:min(58%,690px);
  padding-right:0;
}
.tool-copy:before{
  display:block;
  width:78px;
  height:5px;
  margin-bottom:26px;
  background:var(--brick);
  content:"";
}

@media(max-width:1040px){
  .tool-pop{
    min-height:650px;
    overflow:hidden;
  }
  .tool-pop:after{
    left:-190px;
    width:520px;
    height:520px;
  }
  .drill-cutout,
  .drill-cutout.reveal,
  .drill-cutout.reveal.is-visible{
    left:-230px;
    width:880px;
  }
  .tool-copy{
    min-height:650px;
    padding-left:42%;
    padding-right:28px;
  }
}

@media(max-width:640px){
  .tool-pop{
    width:100%;
    min-height:660px;
    margin:58px 0;
    overflow:hidden;
  }
  .tool-pop:after{
    left:-140px;
    top:190px;
    width:360px;
    height:360px;
  }
  .drill-cutout,
  .drill-cutout.reveal,
  .drill-cutout.reveal.is-visible{
    left:-165px;
    top:190px;
    width:620px;
  }
  .tool-copy{
    width:calc(100% - 32px);
    min-height:660px;
    padding:360px 0 50px;
  }
}

/* Reference-inspired fill pass: fuller split sections, right-shifted drill copy */
.tool-copy{
  padding-left:66%;
  padding-right:24px;
  max-width:none;
}
.tool-copy h2{font-size:38px;max-width:480px}
.tool-copy p{max-width:430px}
.drill-cutout,.drill-cutout.reveal,.drill-cutout.reveal.is-visible{left:-250px;width:1080px}

.section.substance{
  width:100%;
  max-width:none;
  grid-template-columns:minmax(0,54vw) minmax(380px,1fr);
  gap:0;
  min-height:78svh;
  padding:0;
  border-bottom:1px solid var(--line);
  background:var(--cream);
}
.section.substance .section-media{
  width:100%;
  height:78svh;
  min-height:640px;
  box-shadow:none;
}
.section.substance .section-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.section.substance .section-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:78svh;
  padding:80px max(48px,calc((100vw - var(--max))/2)) 80px 72px;
}
.section.substance .section-copy h2{font-size:42px;max-width:560px}
.section.substance .section-copy p{max-width:560px;font-size:17px}

.owner-section{
  min-height:72svh;
  align-items:stretch;
}
.owner-section .section-media{
  min-height:560px;
}
.owner-section .section-media img{
  height:100%;
  min-height:560px;
}
.owner-section .section-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

@media(max-width:1040px){
  .tool-copy{padding-left:52%;padding-right:28px}
  .drill-cutout,.drill-cutout.reveal,.drill-cutout.reveal.is-visible{left:-260px;width:850px}
  .section.substance{grid-template-columns:1fr;width:100%}
  .section.substance .section-media{height:520px;min-height:520px}
  .section.substance .section-copy{min-height:auto;padding:56px 32px;width:min(var(--max),calc(100% - 48px));margin:0 auto}
}
@media(max-width:640px){
  .tool-copy{padding:360px 0 52px;width:calc(100% - 32px)}
  .tool-copy h2{font-size:29px}
  .drill-cutout,.drill-cutout.reveal,.drill-cutout.reveal.is-visible{left:-170px;width:610px}
  .section.substance .section-media{height:390px;min-height:390px}
  .section.substance .section-copy{width:calc(100% - 32px);padding:34px 0 58px}
  .section.substance .section-copy h2{font-size:30px}
}

/* Final density pass: closer to the full split editorial reference */
main{
  overflow-x:clip;
}

.owner-section,
.services{
  width:100%;
  max-width:none;
  margin:0;
  border-bottom:1px solid var(--line);
}

.owner-section{
  grid-template-columns:minmax(0,52vw) minmax(380px,1fr);
  gap:0;
  min-height:76svh;
  padding:0;
  background:#fffaf3;
}

.owner-section .section-media{
  min-height:76svh;
  height:76svh;
  box-shadow:none;
}

.owner-section .section-media img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
}

.owner-section .section-copy{
  min-height:76svh;
  padding:78px max(48px,calc((100vw - var(--max))/2)) 78px 74px;
  background:linear-gradient(90deg,#fffaf3,rgba(255,250,243,.92));
}

.owner-section .section-copy h2{
  max-width:610px;
  font-size:42px;
}

.services{
  display:block;
  padding:0;
  background:#fff;
}

.services .section-head{
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto;
  padding:84px 0 34px;
}

.service-board{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,52%) minmax(0,48%);
  gap:0;
  border-top:1px solid var(--line);
}

.service-visual{
  min-height:690px;
  height:calc(100svh - 120px);
  margin:0;
  box-shadow:none;
}

.service-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.service-lines{
  justify-content:center;
  min-height:690px;
  height:calc(100svh - 120px);
  padding:54px max(48px,calc((100vw - var(--max))/2)) 54px 64px;
  box-shadow:none;
  border-top:0;
  background:linear-gradient(180deg,#fffaf3,#f7efe4);
}

.service-line{
  min-height:132px;
  padding:24px 0;
  background:transparent;
}

.service-line:hover{
  transform:none;
  background:transparent;
}

.tool-pop{
  display:block;
  min-height:760px;
  margin:0;
  padding:40px 0 28px;
  border-bottom:1px solid var(--line);
}

.tool-pop:after{
  left:-170px;
  width:680px;
  height:680px;
}

.drill-cutout,
.drill-cutout.reveal,
.drill-cutout.reveal.is-visible{
  left:-235px;
  width:1120px;
}

.tool-copy{
  width:min(440px,calc(100% - 48px));
  min-height:690px;
  margin-left:clamp(670px,70vw,1040px);
  padding-right:48px;
  padding-left:0;
}

.tool-copy h2{
  max-width:430px;
  font-size:40px;
}

.tool-copy p{
  max-width:420px;
}

.specialty{
  margin:0;
}

.section.substance{
  margin:0;
  border-top:1px solid var(--line);
}

.gallery{
  width:100%;
  max-width:none;
  grid-auto-rows:240px;
  gap:0;
  padding:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.gallery figure{
  box-shadow:none;
  border-right:1px solid rgba(255,250,243,.5);
  border-bottom:1px solid rgba(255,250,243,.5);
}

.reviews,
.partners,
.contact{
  margin-top:0;
}

@media(max-width:1180px){
  .tool-copy{
    width:390px;
    margin-left:clamp(650px,64vw,720px);
  }

  .tool-copy h2{
    font-size:36px;
  }

  .drill-cutout,
  .drill-cutout.reveal,
  .drill-cutout.reveal.is-visible{
    left:-270px;
    width:1000px;
  }
}

@media(max-width:1040px){
  .owner-section,
  .service-board{
    grid-template-columns:1fr;
  }

  .owner-section .section-media,
  .owner-section .section-copy{
    min-height:auto;
    height:auto;
  }

  .owner-section .section-media{
    height:520px;
  }

  .owner-section .section-copy{
    padding:56px 32px;
  }

  .services .section-head{
    padding:64px 0 28px;
  }

  .service-visual,
  .service-lines{
    height:auto;
    min-height:auto;
  }

  .service-visual{
    height:520px;
  }

  .service-lines{
    padding:38px 32px;
  }

  .tool-pop{
    min-height:650px;
    overflow:hidden;
  }

  .tool-copy{
    width:calc(100% - 48px);
    min-height:590px;
    margin-left:24px;
    padding-left:50%;
    padding-right:28px;
  }

  .drill-cutout,
  .drill-cutout.reveal,
  .drill-cutout.reveal.is-visible{
    left:-250px;
    width:850px;
  }
}

@media(max-width:640px){
  .owner-section .section-media{
    height:390px;
  }

  .owner-section .section-copy{
    padding:36px 16px 54px;
  }

  .owner-section .section-copy h2{
    font-size:30px;
  }

  .services .section-head{
    width:calc(100% - 32px);
    padding:56px 0 24px;
  }

  .service-visual{
    height:340px;
  }

  .service-lines{
    padding:18px 16px 36px;
  }

  .tool-pop{
    min-height:660px;
    padding:0;
  }

  .tool-copy{
    width:calc(100% - 32px);
    min-height:660px;
    margin-left:auto;
    margin-right:auto;
    padding:372px 0 52px;
  }

  .tool-copy h2{
    max-width:340px;
    font-size:29px;
  }

  .tool-copy p{
    max-width:340px;
  }

  .drill-cutout,
  .drill-cutout.reveal,
  .drill-cutout.reveal.is-visible{
    left:-170px;
    top:190px;
    width:620px;
  }

  .gallery{
    grid-template-columns:1fr;
    grid-auto-rows:280px;
  }
}

/* Project scroll fix: compact sticky reveal, no dead space before gallery */
.projects{
  width:100%;
  max-width:none;
  height:320vh;
  min-height:0;
  padding:0;
  margin:0 auto;
}

.project-pin{
  width:100%;
  overflow:hidden;
  grid-template-columns:minmax(24px,1fr) minmax(280px,360px) minmax(440px,680px) minmax(24px,1fr);
  gap:40px;
}

.project-stage{
  height:min(76svh,680px);
  min-height:0;
  background:var(--brick-dark);
}

.project-image{
  opacity:0;
  clip-path:inset(0 0 0 100%);
  transform:translateX(8%) scale(1.04);
  transform-origin:center;
  transition:
    opacity .28s ease,
    clip-path .82s cubic-bezier(.16,1,.3,1),
    transform .82s cubic-bezier(.16,1,.3,1);
}

.project-image.is-active{
  opacity:1;
  clip-path:inset(0);
  transform:translateX(0) scale(1);
}

.project-steps{
  grid-template-rows:repeat(4,1fr);
}

.project-step{
  min-height:80vh;
}

.gallery{
  margin-top:0;
}

.specialty{
  padding-top:220px;
  padding-bottom:220px;
}

.section.substance,
.gallery,
.services,
.owner-section{
  border-top:0;
}

.section.substance{
  border-bottom:0;
}

.gallery{
  border-top:0;
}

@media(max-width:1040px){
  .projects{
    height:auto;
    min-height:0;
  }

  .project-pin{
    position:relative;
    top:auto;
    grid-template-columns:1fr;
    min-height:auto;
    padding-bottom:54px;
  }

  .project-copy,
  .project-stage{
    grid-column:auto;
  }

  .project-stage{
    width:100%;
    height:520px;
  }

  .specialty{
    padding-top:170px;
    padding-bottom:170px;
  }
}

@media(max-width:640px){
  .projects{
    width:100%;
    height:auto;
    padding:0;
  }

  .project-pin{
    width:calc(100% - 32px);
    grid-template-columns:1fr;
    gap:28px;
    padding:58px 0 42px;
  }

  .project-stage{
    width:100%;
    height:390px;
  }

  .specialty{
    padding-top:142px;
    padding-bottom:142px;
  }
}

/* Cinematic pinned project showcase */
.projects{
  position:relative;
  width:100%;
  max-width:none;
  height:360vh;
  padding:0;
  margin:0;
  background:
    linear-gradient(90deg,rgba(33,31,27,.025) 1px,transparent 1px) 0 0/92px 92px,
    linear-gradient(rgba(33,31,27,.02) 1px,transparent 1px) 0 0/92px 92px,
    #f8f4ec;
  overflow:clip;
}

.projects:before{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 18% 42%,rgba(143,61,43,.14),transparent 34rem),
    linear-gradient(180deg,rgba(255,250,243,.9),rgba(232,222,210,.68));
  content:"";
}

.project-pin{
  position:sticky;
  top:0;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(24px,.45fr) minmax(500px,760px) minmax(300px,400px) minmax(24px,.45fr);
  gap:clamp(28px,5vw,76px);
  align-items:center;
  width:100%;
  height:100svh;
  min-height:720px;
  overflow:hidden;
}

.project-stage{
  grid-column:2;
  position:relative;
  width:100%;
  height:min(76svh,720px);
  min-height:560px;
  overflow:visible;
  background:transparent;
  box-shadow:none;
  isolation:isolate;
}

.project-stage:before{
  position:absolute;
  left:-8%;
  right:4%;
  bottom:6%;
  z-index:-1;
  height:34%;
  background:linear-gradient(90deg,rgba(87,37,27,.18),rgba(143,61,43,.05));
  clip-path:polygon(6% 8%,100% 0,94% 100%,0 84%);
  content:"";
}

.project-material{
  position:absolute;
  z-index:0;
  display:block;
  background:rgba(143,61,43,.16);
  pointer-events:none;
}

.project-material-a{
  left:5%;
  bottom:9%;
  width:56%;
  height:12px;
  transform:skewX(-20deg);
}

.project-material-b{
  right:10%;
  top:12%;
  width:120px;
  height:120px;
  border:1px solid rgba(143,61,43,.22);
  background:transparent;
  transform:rotate(11deg);
}

.project-image{
  position:absolute;
  inset:5% 0 auto;
  z-index:1;
  width:min(94%,720px);
  height:82%;
  max-width:none;
  object-fit:cover;
  opacity:0;
  clip-path:inset(0 0 0 100%);
  transform:translate3d(var(--scene-x,0),var(--scene-y,0),0) rotate(var(--scene-rotate,0deg)) scale(var(--scene-scale,.92));
  transform-origin:center;
  filter:drop-shadow(0 38px 48px rgba(33,31,27,.24));
  will-change:transform,opacity,clip-path;
  transition:none;
}

.project-image[data-scene="0"]{
  left:0;
}

.project-image[data-scene="1"]{
  left:8%;
  top:11%;
  height:74%;
}

.project-image[data-scene="2"]{
  left:4%;
  top:8%;
  height:80%;
}

.project-image[data-scene="3"]{
  left:12%;
  top:7%;
  height:78%;
}

.project-image.is-active{
  opacity:1;
  clip-path:inset(0);
  transform:translate3d(var(--scene-x,0),var(--scene-y,0),0) rotate(var(--scene-rotate,0deg)) scale(var(--scene-scale,1));
}

.project-copy{
  grid-column:3;
  max-width:420px;
  align-self:center;
}

.project-copy h2{
  max-width:420px;
  margin-bottom:20px;
  font-size:clamp(32px,3.4vw,46px);
}

.project-intro{
  max-width:380px;
  margin-bottom:26px;
}

.project-story{
  display:grid;
  gap:0;
  border-top:1px solid rgba(87,37,27,.18);
}

.project-panel{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:16px;
  padding:13px 0;
  border-bottom:1px solid rgba(87,37,27,.16);
  opacity:.38;
  transform:translateX(16px);
  transition:opacity .32s ease,transform .32s ease;
}

.project-panel span{
  grid-row:1 / span 2;
  color:var(--brick);
  font-size:12px;
  font-weight:900;
  letter-spacing:1px;
}

.project-panel h3{
  grid-column:2;
  margin-bottom:5px;
  font-size:19px;
}

.project-panel p{
  grid-column:2;
  margin:0;
  max-width:310px;
  font-size:13.5px;
  line-height:1.45;
}

.project-panel.is-active{
  opacity:1;
  transform:translateX(0);
}

.project-controls,
.project-dot{
  display:none;
}

.project-steps{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-rows:repeat(4,1fr);
  pointer-events:none;
}

.project-step{
  min-height:90vh;
}

@media(max-width:1040px){
  .projects{
    height:auto;
    overflow:hidden;
  }

  .project-pin{
    position:relative;
    top:auto;
    grid-template-columns:1fr;
    width:calc(100% - 48px);
    height:auto;
    min-height:auto;
    margin:0 auto;
    padding:82px 0;
  }

  .project-stage,
  .project-copy{
    grid-column:auto;
  }

  .project-stage{
    height:560px;
    min-height:0;
  }

  .project-copy{
    max-width:none;
  }

  .project-story{
    grid-template-columns:repeat(2,1fr);
    gap:0 24px;
  }

  .project-steps{
    display:none;
  }
}

@media(max-width:640px){
  .project-pin{
    width:calc(100% - 32px);
    padding:64px 0 54px;
    gap:28px;
  }

  .project-stage{
    height:390px;
  }

  .project-image,
  .project-image[data-scene]{
    left:0;
    top:7%;
    width:100%;
    height:78%;
  }

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

  .project-story{
    grid-template-columns:1fr;
  }

  .project-panel{
    grid-template-columns:38px 1fr;
    padding:15px 0;
  }
}

@media(max-width:640px){
  .projects{
    height:330vh;
    min-height:0;
    overflow:clip;
  }

  .project-pin{
    position:sticky;
    top:0;
    height:100svh;
    min-height:0;
    align-content:center;
    padding:76px 0 22px;
  }

  .project-stage{
    height:34svh;
    min-height:280px;
  }

  .project-copy{
    max-width:none;
  }

  .project-copy h2{
    margin-bottom:12px;
    font-size:27px;
  }

  .project-intro{
    display:none;
  }

  .project-story{
    max-height:300px;
    overflow:hidden;
  }

  .project-panel{
    min-height:62px;
    padding:8px 0;
  }

  .project-panel h3{
    font-size:17px;
  }

  .project-panel p{
    font-size:12.5px;
    line-height:1.35;
  }
}

/* Premium Google review flow */
.reviews{
  position:relative;
  padding:118px 0 126px;
  background:
    radial-gradient(circle at 18% 20%,rgba(66,133,244,.08),transparent 28rem),
    radial-gradient(circle at 82% 74%,rgba(251,188,5,.12),transparent 26rem),
    linear-gradient(180deg,#fff,#fffaf3);
  border-image:none;
  border-top:0;
  overflow:hidden;
}

.reviews:before{
  position:absolute;
  inset:0 0 auto;
  height:8px;
  background:linear-gradient(90deg,#4285f4 0 25%,#ea4335 25% 50%,#fbbc05 50% 75%,#34a853 75%);
  content:"";
}

.reviews:after{
  position:absolute;
  inset:8px 0 auto;
  height:1px;
  background:rgba(33,31,27,.08);
  content:"";
}

.reviews-head{
  position:relative;
  z-index:2;
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto 42px;
  grid-template-columns:auto 1fr auto;
}

.google-logo{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  font-size:34px;
  font-weight:700;
  letter-spacing:-1.4px;
}

.reviews-head h2{
  max-width:620px;
}

.rating{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 18px;
  border:1px solid rgba(251,188,5,.32);
  border-radius:999px;
  background:rgba(251,188,5,.1);
  box-shadow:0 12px 30px rgba(57,45,31,.06);
}

.review-flow{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  width:100%;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}

.review-track{
  display:flex;
  width:max-content;
  gap:18px;
  padding:4px 0;
  animation:reviewFlow 54s linear infinite;
  will-change:transform;
}

.review-track-alt{
  display:none;
}

.review-flow:hover .review-track{
  animation-play-state:paused;
}

.review-card{
  position:relative;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:15px;
  width:360px;
  min-height:168px;
  padding:20px 22px 20px 20px;
  border:1px solid rgba(33,31,27,.08);
  border-radius:0;
  background:rgba(255,255,255,.88);
  box-shadow:0 18px 44px rgba(57,45,31,.09);
  backdrop-filter:blur(14px);
}

.review-card:before{
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,#4285f4,#ea4335,#fbbc05,#34a853);
  content:"";
}

.review-card strong{
  display:block;
  margin-bottom:2px;
  color:var(--ink);
  font-size:15px;
  font-weight:850;
}

.review-card span{
  display:block;
  margin:0 0 11px;
  color:#fbbc05;
  font-size:12px;
  font-weight:800;
  letter-spacing:.4px;
}

.review-card p{
  margin:0;
  color:#4f4942;
  font-size:14px;
  line-height:1.52;
}

.avatar{
  width:52px;
  height:52px;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.8),0 12px 24px rgba(57,45,31,.12);
}

.avatar.teal{background:#8d6e63}
.avatar.blue-avatar{background:#4285f4}

@keyframes reviewFlow{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@keyframes reviewFlowReverse{
  from{transform:translateX(-50%)}
  to{transform:translateX(0)}
}

@media(max-width:1040px){
  .reviews{
    padding:92px 0 100px;
  }

  .reviews-head{
    grid-template-columns:auto 1fr;
  }

  .rating{
    grid-column:2;
    justify-self:start;
  }

  .review-card{
    width:330px;
  }
}

@media(max-width:640px){
  .reviews{
    padding:78px 0 84px;
  }

  .reviews-head{
    width:calc(100% - 32px);
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:30px;
  }

  .google-logo{
    width:auto;
    height:auto;
    font-size:31px;
  }

  .rating{
    grid-column:auto;
  }

  .review-flow{
    gap:14px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  }

  .review-track{
    gap:14px;
    animation-duration:46s;
  }

  .review-track-alt{
    animation-duration:54s;
  }

.review-card{
    width:300px;
    min-height:168px;
    padding:18px;
    grid-template-columns:46px 1fr;
  }

  .avatar{
    width:46px;
    height:46px;
  }
}

/* Project section: pinned stacked reveals, not a carousel */
.projects{
  height:430vh;
  min-height:0;
  overflow:clip;
}

.project-pin{
  position:sticky;
  top:0;
  height:100svh;
  min-height:720px;
}

.project-stage{
  overflow:hidden;
  background:#211f1b;
  box-shadow:0 30px 80px rgba(57,45,31,.16);
}

.project-stage:before{
  display:none;
}

.project-image,
.project-image[data-scene]{
  inset:0;
  left:0;
  top:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:1;
  clip-path:inset(0 100% 0 0);
  transform:translate3d(var(--scene-x,0),var(--scene-y,0),0) rotate(var(--scene-rotate,0deg)) scale(var(--scene-scale,1));
  filter:none;
}

.project-image[data-scene="0"]{
  clip-path:inset(0 100% 0 0);
}

.project-image.is-active{
  transform:translate3d(var(--scene-x,0),var(--scene-y,0),0) rotate(var(--scene-rotate,0deg)) scale(var(--scene-scale,1));
}

.project-material{
  display:none;
}

.project-copy h2{
  max-width:390px;
}

.project-panel.is-active{
  border-bottom-color:rgba(143,61,43,.42);
}

@media(max-width:1040px){
  .projects{
    height:430vh;
    overflow:clip;
  }

  .project-pin{
    position:sticky;
    top:0;
    height:100svh;
    min-height:0;
    align-content:center;
    padding:80px 0 34px;
  }

  .project-stage{
    height:44svh;
    min-height:320px;
  }
}

@media(max-width:640px){
  .projects{
    height:430vh;
  }

  .project-pin{
    position:sticky;
    top:0;
    height:100svh;
    padding:76px 0 22px;
  }

  .project-stage{
    height:34svh;
    min-height:280px;
  }
}

/* Sticky reliability pass: parent must not clip the sticky container */
.projects{
  height:calc(100svh + 330svh);
  overflow:visible;
  contain:none;
}

.project-pin{
  position:sticky;
  top:0;
  z-index:2;
  height:100svh;
  min-height:0;
  margin:0;
  transform:none;
}

.project-stage{
  overflow:hidden;
}

@media(max-width:1040px){
  .projects{
    height:calc(100svh + 330svh);
    overflow:visible;
  }

  .project-pin{
    position:sticky;
    top:0;
    height:100svh;
    min-height:0;
    margin:0 auto;
  }
}

@media(max-width:640px){
  .projects{
    height:calc(100svh + 330svh);
    overflow:visible;
  }

  .project-pin{
    position:sticky;
    top:0;
    height:100svh;
    min-height:0;
  }
}

/* Hard pinned project state controlled by scroll JS */
.projects{
  position:relative;
}

.projects .project-pin{
  position:absolute;
  top:0;
  left:0;
  right:0;
  width:100%;
}

.projects.is-pinned .project-pin{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
}

.projects.is-complete .project-pin{
  position:absolute;
  top:auto;
  bottom:0;
  left:0;
  right:0;
  width:100%;
}

@media(max-width:1040px){
  .projects .project-pin,
  .projects.is-pinned .project-pin,
  .projects.is-complete .project-pin{
    left:24px;
    right:auto;
    width:calc(100% - 48px);
  }
}

@media(max-width:640px){
  .projects .project-pin,
  .projects.is-pinned .project-pin,
  .projects.is-complete .project-pin{
    left:16px;
    right:auto;
    width:calc(100% - 32px);
  }
}

/* Rebuilt services section with construction object layer */
.services{
  position:relative;
  display:block;
  width:100%;
  max-width:none;
  padding:104px 0 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 72%,rgba(143,61,43,.13),transparent 28rem),
    linear-gradient(180deg,#fffaf3 0%,#f4eadc 100%);
}

.services:before{
  position:absolute;
  inset:0 0 auto;
  height:16px;
  background:linear-gradient(90deg,var(--brick-dark),var(--brick),#b85b39,var(--brick));
  content:"";
}

.services .section-head{
  position:relative;
  z-index:2;
  width:min(var(--max),calc(100% - 48px));
  margin:0 auto 54px;
  padding:0;
  grid-template-columns:minmax(0,470px) minmax(0,1fr);
  align-items:end;
}

.services .section-head h2{
  max-width:640px;
  font-size:clamp(38px,4.6vw,64px);
}

.services .section-head p:not(.kicker){
  max-width:520px;
  margin:0 0 8px;
}

.service-board{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,56vw) minmax(420px,1fr);
  width:100%;
  min-height:790px;
  border-top:0;
  background:#fff;
}

.service-board:before{
  position:absolute;
  inset:0 0 0 56vw;
  background:
    linear-gradient(90deg,rgba(255,250,243,.9),rgba(255,250,243,.98)),
    linear-gradient(rgba(33,31,27,.035) 1px,transparent 1px) 0 0/72px 72px,
    linear-gradient(90deg,rgba(33,31,27,.03) 1px,transparent 1px) 0 0/72px 72px;
  content:"";
}

.service-visual{
  position:relative;
  z-index:1;
  height:790px;
  min-height:790px;
  margin:0;
  overflow:hidden;
  background:#211f1b;
  box-shadow:none;
}

.service-visual:after{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(33,31,27,.12),rgba(33,31,27,0) 56%,rgba(33,31,27,.18));
  content:"";
}

.service-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.02);
}

.service-lines{
  position:relative;
  z-index:2;
  display:grid;
  align-content:center;
  min-height:790px;
  height:auto;
  padding:70px max(52px,calc((100vw - var(--max))/2)) 112px 76px;
  overflow:visible;
  border-top:0;
  background:transparent;
  box-shadow:none;
}

.service-line{
  position:relative;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:22px;
  min-height:116px;
  padding:24px 0;
  border-bottom:1px solid rgba(87,37,27,.16);
  background:transparent;
}

.service-line:first-of-type{
  border-top:1px solid rgba(87,37,27,.16);
}

.service-line span{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(143,61,43,.25);
  border-radius:50%;
  color:var(--brick);
  background:rgba(143,61,43,.07);
  font-size:12px;
  font-weight:900;
}

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

.service-line p{
  max-width:560px;
  margin:8px 0 0;
  font-size:15px;
}

.service-line:hover{
  background:transparent;
  transform:none;
}

.service-nails{
  position:absolute;
  right:max(-90px,calc((100vw - var(--max))/2 - 190px));
  bottom:-58px;
  z-index:4;
  width:min(560px,44vw);
  max-width:none;
  pointer-events:none;
  filter:drop-shadow(0 34px 32px rgba(33,31,27,.26));
  transform:rotate(-4deg);
}

@media(max-width:1040px){
  .services{
    padding-top:78px;
  }

  .services .section-head{
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:38px;
  }

  .service-board{
    grid-template-columns:1fr;
    min-height:0;
  }

  .service-board:before{
    inset:420px 0 0;
  }

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

  .service-lines{
    min-height:auto;
    padding:46px 32px 118px;
  }

  .service-nails{
    right:-110px;
    bottom:-46px;
    width:520px;
  }
}

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

  .services .section-head{
    width:calc(100% - 32px);
    margin-bottom:28px;
  }

  .services .section-head h2{
    font-size:33px;
  }

  .service-visual{
    height:330px;
    min-height:330px;
  }

  .service-lines{
    padding:30px 16px 106px;
  }

  .service-line{
    grid-template-columns:54px minmax(0,1fr);
    gap:12px;
    min-height:104px;
    padding:19px 0;
  }

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

  .service-line p{
    font-size:14px;
  }

  .service-nails{
    right:-150px;
    bottom:-36px;
    width:430px;
  }
}

/* Services refinement: no badge-number look, cleaner construction directory */
.services{
  padding-top:118px;
  background:
    linear-gradient(90deg,rgba(33,31,27,.028) 1px,transparent 1px) 0 0/86px 86px,
    linear-gradient(rgba(33,31,27,.022) 1px,transparent 1px) 0 0/86px 86px,
    linear-gradient(180deg,#fffaf3 0%,#f1e7db 100%);
}

.services:before{
  height:10px;
  background:linear-gradient(90deg,#57251b,#8f3d2b,#b45a3d,#8f3d2b,#57251b);
}

.services .section-head{
  margin-bottom:64px;
  grid-template-columns:minmax(0,620px) minmax(300px,470px);
  gap:72px;
}

.services .section-head h2{
  font-size:clamp(42px,5vw,72px);
  letter-spacing:0;
}

.service-board{
  grid-template-columns:minmax(0,50vw) minmax(0,1fr);
  min-height:820px;
  background:transparent;
}

.service-board:before{
  inset:0 0 0 50vw;
  background:
    linear-gradient(180deg,rgba(255,250,243,.95),rgba(244,234,220,.98)),
    linear-gradient(90deg,rgba(143,61,43,.11),rgba(143,61,43,0) 34%);
}

.service-visual{
  height:820px;
  min-height:820px;
}

.service-visual img{
  object-position:center center;
}

.service-lines{
  min-height:820px;
  padding:74px max(56px,calc((100vw - var(--max))/2)) 150px 78px;
}

.service-line{
  grid-template-columns:72px minmax(0,1fr);
  gap:28px;
  min-height:126px;
  padding:28px 0;
  border-bottom:1px solid rgba(87,37,27,.18);
}

.service-line span{
  display:block;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--brick);
  font-size:12px;
  font-weight:900;
  letter-spacing:1.4px;
  line-height:1.4;
}

.service-line h3{
  font-size:clamp(24px,2.4vw,34px);
  letter-spacing:0;
}

.service-line p{
  max-width:610px;
  color:#6a6258;
  font-size:15.5px;
}

.service-line:after{
  position:absolute;
  right:0;
  top:50%;
  width:42px;
  height:1px;
  background:rgba(143,61,43,.36);
  content:"";
  transform:translateY(-50%);
}

.service-nails{
  right:max(-120px,calc((100vw - var(--max))/2 - 230px));
  bottom:-76px;
  width:min(620px,48vw);
  filter:drop-shadow(0 34px 30px rgba(33,31,27,.30));
  transform:rotate(-3deg);
}

@media(max-width:1040px){
  .services{
    padding-top:88px;
  }

  .services .section-head{
    grid-template-columns:1fr;
    gap:20px;
    margin-bottom:42px;
  }

  .service-board{
    grid-template-columns:1fr;
  }

  .service-board:before{
    inset:430px 0 0;
  }

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

  .service-lines{
    min-height:auto;
    padding:48px 32px 130px;
  }

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

  .service-nails{
    right:-140px;
    bottom:-62px;
    width:540px;
  }
}

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

  .services .section-head h2{
    font-size:34px;
  }

  .service-board:before{
    inset:330px 0 0;
  }

  .service-visual{
    height:330px;
    min-height:330px;
  }

  .service-lines{
    padding:32px 16px 112px;
  }

  .service-line{
    grid-template-columns:1fr;
    gap:8px;
    min-height:auto;
    padding:22px 0;
  }

  .service-line span{
    font-size:11px;
  }

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

  .service-line:after{
    width:28px;
  }

  .service-nails{
    right:-152px;
    bottom:-42px;
    width:430px;
  }
}

/* Spacing cleanup: remove dead air between Antrieb and Leistungen */
.owner-section{
  min-height:66svh;
}

.owner-section .section-media,
.owner-section .section-copy{
  min-height:66svh;
  height:66svh;
}

.services{
  padding-top:68px;
}

.services .section-head{
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  grid-template-areas:
    "kicker intro"
    "title intro";
  gap:16px 72px;
  align-items:end;
  margin-bottom:28px;
}

.services .section-head .kicker{
  grid-area:kicker;
  margin-bottom:4px;
}

.services .section-head h2{
  grid-area:title;
  max-width:720px;
  font-size:clamp(38px,4.4vw,62px);
}

.services .section-head p:not(.kicker){
  grid-area:intro;
  max-width:430px;
  margin:0 0 10px;
}

.service-board{
  min-height:700px;
}

.service-visual{
  height:700px;
  min-height:700px;
}

.service-lines{
  min-height:700px;
  padding-top:50px;
  padding-bottom:128px;
}

@media(max-width:1040px){
  .owner-section{
    min-height:auto;
  }

  .owner-section .section-media,
  .owner-section .section-copy{
    min-height:auto;
    height:auto;
  }

  .owner-section .section-media{
    height:470px;
  }

  .services{
    padding-top:54px;
  }

  .services .section-head{
    grid-template-columns:1fr;
    grid-template-areas:"kicker" "title" "intro";
    gap:10px;
    margin-bottom:26px;
  }

  .services .section-head p:not(.kicker){
    max-width:640px;
    margin:8px 0 0;
  }

  .service-board:before{
    inset:390px 0 0;
  }

  .service-visual{
    height:390px;
    min-height:390px;
  }

  .service-lines{
    padding-top:34px;
  }
}

@media(max-width:640px){
  .owner-section .section-media{
    height:340px;
  }

  .owner-section .section-copy{
    padding-top:32px;
    padding-bottom:42px;
  }

  .services{
    padding-top:42px;
  }

  .services .section-head{
    margin-bottom:20px;
  }

  .services .section-head h2{
    font-size:31px;
  }

  .service-board:before{
    inset:300px 0 0;
  }

  .service-visual{
    height:300px;
    min-height:300px;
  }

  .service-lines{
    padding-top:24px;
  }
}

/* Large masonry cutout replacing the cordless drill in the Peskar section. */
.cement-cutout,
.cement-cutout.reveal{
  position:absolute;
  z-index:3;
  left:-130px;
  top:52%;
  width:980px;
  max-width:none;
  opacity:0;
  filter:drop-shadow(0 34px 34px rgba(33,31,27,.2));
  transform:translate3d(-110px,-50%,0) scale(.94);
  transition:opacity .7s ease,transform 1.15s cubic-bezier(.2,.78,.2,1);
}

.cement-cutout.reveal.is-visible{
  opacity:1;
  transform:translate3d(0,-50%,0) scale(1);
}

.tool-pop{
  height:760px;
  min-height:760px;
  padding:0;
}

.tool-copy{
  height:760px;
  min-height:760px;
}

@media(max-width:1180px){
  .cement-cutout,
  .cement-cutout.reveal{
    left:-170px;
    width:900px;
  }
}

@media(max-width:1040px){
  .tool-pop{
    height:650px;
    min-height:650px;
  }

  .tool-copy{
    height:650px;
    min-height:650px;
  }

  .cement-cutout,
  .cement-cutout.reveal{
    left:-205px;
    width:790px;
  }
}

@media(max-width:640px){
  .tool-pop{
    height:660px;
    min-height:660px;
  }

  .tool-copy{
    height:660px;
    min-height:660px;
  }

  .cement-cutout,
  .cement-cutout.reveal{
    left:-185px;
    top:12px;
    width:640px;
    transform:translate3d(-90px,0,0) scale(.94);
  }

  .cement-cutout.reveal.is-visible{
    transform:translate3d(0,0,0) scale(1);
  }
}

/* Final spacing override: compact Antrieb -> Leistungen transition */
.owner-section{
  min-height:66svh;
}

.owner-section .section-media,
.owner-section .section-copy{
  min-height:66svh;
  height:66svh;
}

.services{
  padding-top:68px;
}

.services .section-head{
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  grid-template-areas:
    "kicker intro"
    "title intro";
  gap:16px 72px;
  align-items:end;
  margin-bottom:28px;
}

.services .section-head .kicker{
  grid-area:kicker;
  margin-bottom:4px;
}

.services .section-head h2{
  grid-area:title;
  max-width:720px;
  font-size:clamp(38px,4.4vw,62px);
}

.services .section-head p:not(.kicker){
  grid-area:intro;
  max-width:430px;
  margin:0 0 10px;
}

.service-board{
  min-height:700px;
}

.service-visual{
  height:700px;
  min-height:700px;
}

.service-lines{
  min-height:700px;
  padding-top:50px;
  padding-bottom:128px;
}

@media(max-width:1040px){
  .owner-section{
    min-height:auto;
  }

  .owner-section .section-media,
  .owner-section .section-copy{
    min-height:auto;
    height:auto;
  }

  .owner-section .section-media{
    height:470px;
  }

  .services{
    padding-top:54px;
  }

  .services .section-head{
    grid-template-columns:1fr;
    grid-template-areas:"kicker" "title" "intro";
    gap:10px;
    margin-bottom:26px;
  }

  .services .section-head p:not(.kicker){
    max-width:640px;
    margin:8px 0 0;
  }

  .service-board:before{
    inset:390px 0 0;
  }

  .service-visual{
    height:390px;
    min-height:390px;
  }

  .service-lines{
    padding-top:34px;
  }
}

@media(max-width:640px){
  .owner-section .section-media{
    height:340px;
  }

  .owner-section .section-copy{
    padding-top:32px;
    padding-bottom:42px;
  }

  .services{
    padding-top:42px;
  }

  .services .section-head{
    margin-bottom:20px;
  }

  .services .section-head h2{
    font-size:31px;
  }

  .service-board:before{
    inset:300px 0 0;
  }

  .service-visual{
    height:300px;
    min-height:300px;
  }

  .service-lines{
    padding-top:24px;
  }
}

/* ============================================================
   BRAND TYPOGRAPHY PASS (2026-06-22)
   Inter (body) + Fraunces (display). Keeps uppercase labels in
   Inter; headings become editorial serif. Plus hero responsive
   headline (mobile clip fix) and warmer hero scrim.
   ============================================================ */
body{font-family:'Inter','Segoe UI','Helvetica Neue',Arial,sans-serif;letter-spacing:0}
h1,h2,h3{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:600;letter-spacing:-.012em}
h1{font-weight:600;line-height:1.0}
h2{font-weight:600}
h3{font-weight:600}
.brand strong{font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:0}
/* Fraunces-italic accent (warm, editorial) */
.hero h1 em,.fraunces-italic{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:500;letter-spacing:-.01em}
/* Hero headline: fluid size fixes mobile overflow/clipping */
.hero h1{font-size:clamp(2.15rem,6.2vw,3.7rem);line-height:1.03;letter-spacing:-.015em;overflow-wrap:break-word;word-break:normal;hyphens:none;max-width:14ch}
/* Warmer, brick-toned hero scrim (was neutral near-black) */
.hero:before{background:linear-gradient(90deg,rgba(48,27,18,.6),rgba(48,27,18,.24) 46%,rgba(48,27,18,.08)),linear-gradient(0deg,rgba(40,23,15,.66),rgba(40,23,15,.06) 56%,rgba(40,23,15,.3))}

@media(max-width:640px){
  .hero h1{font-size:clamp(1.95rem,7.6vw,2.5rem);max-width:none;width:100%}
  .hero h1 em{display:block}
}

/* ============================================================
   CONVERSION-FLOW PASS (2026-06-22)
   Hero (single) · Trust · Wer-sind-wir · horizontale Leistungen
   · Praxis/Arbeit zeigen · starker Abschluss-CTA
   ============================================================ */

/* --- Owner / Wer sind wir: Name-Caption auf dem Foto --- */
.owner-section .section-media{position:relative}
.owner-name{position:absolute;left:0;bottom:0;display:grid;gap:2px;margin:0;padding:20px 22px;color:#fff;font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:22px;letter-spacing:-.01em;background:linear-gradient(0deg,rgba(28,18,12,.82),rgba(28,18,12,0))}
.owner-name span{font-family:'Inter',sans-serif;font-weight:500;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:rgba(255,255,255,.82)}

/* --- Leistungen: gepinnter Horizontal-Scroll --- */
/* ============================================================
   LEISTUNGEN — Karten-Grid + CTA-Banner (2026-06-23)
   ============================================================ */
.svc{--gold:#b0895a;width:100%;max-width:none;background:#f1f0ec;color:#23211e;
  font-family:'Inter','Segoe UI',sans-serif;
  padding:clamp(56px,6.5vw,100px) max(24px,calc((100vw - 1400px)/2))}
.svc-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);
  gap:clamp(24px,4vw,70px);align-items:end;margin-bottom:clamp(38px,4.4vw,62px)}
.svc-eyebrow{margin:0 0 18px;font-size:clamp(11px,.9vw,13px);font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.svc-title{margin:0;font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:clamp(30px,4.4vw,62px);line-height:1.04;letter-spacing:-.01em;color:#23211e}
.svc-head-lead{margin:0 0 8px;color:#6a655d;font-size:clamp(15px,1.1vw,18px);line-height:1.6}

.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,28px)}
.svc-card{display:flex;flex-direction:column;background:#faf9f6;border:1px solid rgba(35,33,30,.09)}
.svc-card-photo{aspect-ratio:1/1;overflow:hidden}
.svc-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.svc-card:hover .svc-card-photo img{transform:scale(1.04)}
.svc-card-body{padding:clamp(18px,1.6vw,26px) clamp(18px,1.6vw,26px) clamp(24px,2vw,32px)}
.svc-num{display:inline-block;font-family:'Fraunces',Georgia,serif;font-size:15px;font-weight:500;letter-spacing:.06em;color:#8a8378;padding-bottom:9px;border-bottom:2px solid var(--gold)}
.svc-card h3{margin:18px 0 12px;font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(19px,1.5vw,25px);letter-spacing:0;color:#23211e;line-height:1.1}
.svc-card p{margin:0;color:#6a655d;font-size:clamp(13px,.95vw,15px);line-height:1.6}

.svc-cta{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:stretch;
  margin-top:clamp(20px,2vw,32px);background:#23211e;overflow:hidden}
.svc-cta-photo{min-height:210px}
.svc-cta-photo img{width:100%;height:100%;object-fit:cover}
.svc-cta-body{padding:clamp(30px,3.4vw,54px) clamp(28px,3.4vw,58px);color:#e7e3dc;display:flex;flex-direction:column;justify-content:center}
.svc-cta-body h3{margin:0;font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:clamp(22px,2.4vw,34px);color:#f4f1ec;line-height:1.12}
.svc-cta-rule{display:block;width:54px;height:2px;background:var(--gold);margin:18px 0 22px}
.svc-cta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(20px,3vw,48px);align-items:center}
.svc-cta-row p{margin:0;color:#a9a39a;font-size:clamp(14px,1vw,16px);line-height:1.6;max-width:62ch}
.svc-cta-link{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;
  color:var(--gold);font-size:clamp(12px,.85vw,13px);font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:gap .2s ease}
.svc-cta-link:hover{gap:18px}
.svc-cta-link span{font-size:1.35em;line-height:1}

@media(max-width:1080px){
  .svc-head{grid-template-columns:1fr;gap:18px;align-items:start}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .svc-cta{grid-template-columns:1fr}
  .svc-cta-photo{aspect-ratio:16/7;min-height:0}
}
@media(max-width:600px){
  .svc-grid{grid-template-columns:1fr}
  .svc-cta-row{grid-template-columns:1fr;align-items:start;gap:22px}
}

/* --- Abschluss-CTA-Band --- */
.cta-band{width:100%;max-width:none;margin:0;padding:0}
.cta-band-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px;width:min(var(--max),calc(100% - 48px));margin:88px auto;padding:54px 56px;border-radius:22px;background:linear-gradient(135deg,#2a2420,#241f1b 58%,#1d1916);color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.32)}
.cta-band .kicker{color:rgba(255,255,255,.78)}
.cta-band h2{color:#fff;font-size:clamp(34px,4vw,52px);margin-bottom:12px}
.cta-band-copy p{color:rgba(255,255,255,.86);max-width:46ch;margin:0}
.cta-phone{display:grid;gap:4px;padding:20px 30px;border-radius:16px;background:rgba(255,255,255,.96);color:var(--ink);text-align:center;box-shadow:0 16px 40px rgba(0,0,0,.18);transition:transform .18s ease}
.cta-phone:hover{transform:translateY(-3px)}
.cta-phone span{font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#9a6f3c}
.cta-phone strong{font-family:'Fraunces',Georgia,serif;font-size:30px;font-weight:600;letter-spacing:-.01em}

@media(max-width:1040px){
  .cta-band-inner{padding:40px 32px;margin:64px auto}
}
@media(max-width:640px){
  .owner-name{font-size:19px}
  .cta-band-inner{flex-direction:column;align-items:flex-start;text-align:left;padding:32px 24px}
  .cta-phone{width:100%}
}

/* Galerie-Überschrift (volle Breite im Grid) */
.gallery .section-head{grid-column:1/-1;display:block;margin-bottom:6px}
.gallery .section-head h2{font-size:clamp(28px,3.4vw,42px)}
@media(max-width:640px){.gallery .section-head{margin-bottom:2px}}

/* ============================================================
   HEADER / HERO — 1:1 Nachbau (2026-06-23)
   ============================================================ */
.phero{--gold:#b0895a;
  position:relative;min-height:100svh;overflow:hidden;isolation:isolate;
  color:#1f1d1a;font-family:'Inter','Segoe UI',sans-serif}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background-color:#ecebe5;
  background-image:
    linear-gradient(96deg,#ecebe5 0%,#ecebe5 25%,rgba(236,235,229,.78) 39%,rgba(236,235,229,0) 58%),
    linear-gradient(0deg,rgba(26,22,18,.52) 0%,rgba(26,22,18,.12) 24%,rgba(26,22,18,0) 42%),
    url('assets/hero-rohbau.webp');
  background-repeat:no-repeat;background-position:center,center,right center;
  background-size:cover,cover,cover}

/* TOP BAR */
.phero-bar{position:absolute;top:0;left:0;right:0;z-index:10;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(16px,2vw,34px);
  padding:clamp(18px,2.2vw,32px) max(22px,calc((100vw - 1540px)/2))}
.phero-brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:#23211e;min-width:max-content}
.phero-brand img{width:clamp(46px,3.8vw,60px);height:auto}
.phero-brand-txt{display:grid;gap:4px;line-height:1}
.phero-brand-txt strong{font-size:clamp(15px,1.45vw,21px);font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#23211e}
.phero-brand-txt small{font-size:clamp(9px,.78vw,11px);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}

.phero-nav{justify-self:center;display:flex;align-items:center;gap:clamp(8px,1.6vw,26px);
  padding:clamp(13px,1.3vw,19px) clamp(22px,2.2vw,40px);border-radius:999px;
  background:rgba(255,255,255,.82);backdrop-filter:blur(10px);box-shadow:0 14px 38px rgba(40,30,20,.1)}
.phero-nav a{padding:6px 10px;border-radius:999px;text-decoration:none;color:#3c372f;
  font-size:clamp(14px,1.05vw,17px);font-weight:600;letter-spacing:.01em;transition:color .18s,background .18s}
.phero-nav a:hover{color:var(--gold);background:rgba(176,137,90,.1)}

.phero-contact{justify-self:end;display:grid;gap:6px;text-align:right}
.phero-hours{font-size:clamp(10px,.8vw,12px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#736c60}
.phero-phone{font-size:clamp(17px,1.6vw,25px);font-weight:800;letter-spacing:.01em;color:#23211e;text-decoration:none}
.phero-phone:hover{color:var(--gold)}

.phero-burger{display:none;width:46px;height:42px;border:1px solid #c9c3b6;border-radius:14px;background:rgba(255,255,255,.7);cursor:pointer}
.phero-burger span{display:block;width:18px;height:2px;margin:5px auto;background:#3c372f;transition:transform .18s}
.menu-open .phero-burger span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-open .phero-burger span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

/* LEFT CONTENT */
.phero-content{position:absolute;z-index:5;
  left:max(22px,calc((100vw - 1540px)/2));
  top:clamp(150px,23vh,250px);width:min(56vw,780px)}
.phero-accent{display:block;width:64px;height:3px;border-radius:2px;background:var(--gold);margin-bottom:clamp(18px,2.4vh,30px)}
.phero-eyebrow{margin:0 0 clamp(20px,4.2vh,52px);font-size:clamp(11px,.92vw,14px);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#5d574d}
.phero-title{margin:0 0 clamp(26px,4.6vh,52px);text-transform:uppercase}
.phero-thin{display:block;font-weight:300;font-size:clamp(21px,2.7vw,44px);letter-spacing:.1em;color:#8c8579;margin-bottom:clamp(6px,1.1vh,16px);line-height:1}
.phero-bold{display:block;font-weight:800;font-size:clamp(42px,6.4vw,104px);letter-spacing:-.012em;color:#1b1916;line-height:.9;white-space:nowrap}
.phero-dot{color:var(--gold)}
.phero-score{font-weight:800;font-size:clamp(38px,3.9vw,58px);line-height:.9;color:#23211e;letter-spacing:-.02em}
.phero-star{color:var(--gold);font-size:.6em;vertical-align:.22em}
.phero-cap{margin:10px 0 16px;font-size:clamp(11px,.88vw,13px);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#5d574d}
.phero-google{font-weight:800;font-size:clamp(26px,2.5vw,36px);letter-spacing:-.6px;line-height:1}
.phero-stars{margin-top:8px;color:#f5b400;font-size:clamp(15px,1.4vw,20px);letter-spacing:4px}

/* LEAD über Foto */
.phero-lead{position:absolute;z-index:5;left:45%;transform:translateX(-50%);
  bottom:clamp(40px,7.5vh,92px);width:min(50ch,40vw);text-align:center;
  margin:0;color:#fff;font-size:clamp(15px,1.2vw,20px);line-height:1.62;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.phero-lead strong{font-weight:700;color:#fff}

/* GOOGLE-KARTE */
.phero-card{position:absolute;z-index:6;right:clamp(20px,2.2vw,44px);bottom:clamp(26px,4vh,54px);
  width:min(338px,82vw);padding:18px 20px;border-radius:18px;background:#fff;box-shadow:0 26px 64px rgba(30,22,14,.24)}
.phero-card-head{display:flex;align-items:center;gap:13px;padding-bottom:14px;margin-bottom:13px;border-bottom:1px solid #ededed}
.phero-gicon{width:38px;height:38px;flex:none}
.phero-card-txt{display:grid;gap:3px}
.phero-card-txt strong{font-size:15px;font-weight:700;color:#202124}
.phero-card-txt span{font-size:12.5px;color:#70757a}
.phero-card-foot{display:flex;align-items:center;gap:10px}
.phero-card-foot>strong{font-size:25px;font-weight:800;color:#202124;letter-spacing:-.02em}
.phero-card-stars{color:#fbbc05;font-size:17px;letter-spacing:2px}
.phero-card-count{margin-left:auto;font-size:13px;color:#70757a}

@media(max-width:1040px){
  .phero{min-height:auto}
  .phero-bar{grid-template-columns:auto auto;gap:14px}
  .phero-nav{position:fixed;inset:74px 16px auto;z-index:40;justify-self:auto;display:none;flex-direction:column;align-items:stretch;border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 22px 54px rgba(57,45,31,.16)}
  .phero-nav.is-open{display:flex}
  .phero-nav a{padding:12px 16px}
  .phero-contact{display:none}
  .phero-burger{display:block;justify-self:end}
  .phero-content{position:static;width:auto;padding:128px max(22px,5vw) 18px}
  .phero-lead{position:static;transform:none;left:auto;width:auto;text-align:left;color:#fff;
    margin:0;padding:26px max(22px,5vw) 30px;max-width:none}
  .phero-card{position:static;margin:0 max(22px,5vw) 40px;width:auto}
}
@media(max-width:560px){
  .phero-bold{font-size:clamp(40px,13vw,60px)}
  .phero-content{padding-top:112px}
}

/* ============================================================
   ÜBER UNS — Editorial-Redesign (2026-06-24)
   Warmer Stein-BG, großes Porträt (45/55), separates weißes Stats-Band
   ============================================================ */
.about{--line:rgba(255,255,255,.13);--bronze:#c2a079;
  width:100%;max-width:none;background:#5a5754;color:#f1eee9;
  font-family:'Inter','Segoe UI',sans-serif;overflow:hidden}
.about-inner{display:grid;grid-template-columns:minmax(0,47fr) minmax(0,53fr);
  align-items:stretch;max-width:none;margin:0;padding:0}

/* LINKS: vollflächiges Porträt (full-bleed) + Name-Overlay */
.about-media{position:relative;margin:0;min-height:580px;min-width:0;overflow:hidden}
.about-photo{height:100%;border-radius:0;overflow:hidden;will-change:clip-path}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;will-change:transform}
.about-media:after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(16,13,10,.68),rgba(16,13,10,.1) 32%,transparent 50%)}
.about-cap{position:absolute;z-index:2;left:clamp(28px,3vw,56px);bottom:clamp(28px,3vw,52px)}
.about-name{display:block;font-family:'Fraunces',Georgia,serif;font-weight:500;
  font-size:clamp(26px,2.3vw,36px);line-height:1.08;letter-spacing:.01em;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.45)}
.about-role{display:block;margin-top:10px;font-size:clamp(11px,.82vw,13px);
  font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#ecd9c2;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.about-cap:after{content:"";display:block;width:54px;height:1px;margin-top:16px;background:rgba(255,255,255,.55)}

/* RECHTS: Text, vertikal zentriert */
.about-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;
  padding:clamp(72px,8vw,124px) clamp(40px,5vw,96px) clamp(72px,8vw,124px) clamp(44px,5vw,90px)}
.about-eyebrow{position:relative;margin:0 0 clamp(22px,2.4vw,34px);padding-left:30px;
  font-size:12px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#b7b0a6}
.about-eyebrow:before{content:"";position:absolute;left:0;top:.5em;width:18px;height:1px;background:var(--bronze)}
.about-title{margin:0 0 clamp(30px,3vw,44px);max-width:700px;font-family:'Fraunces',Georgia,serif;font-weight:500;
  font-size:clamp(34px,3.8vw,56px);line-height:1.16;letter-spacing:-.012em;color:#f6f3ee;overflow-wrap:break-word}
.about-line{display:block;padding-bottom:.04em}
.about-line>span{display:inline-block;will-change:transform}
.about-text{max-width:650px;display:grid;gap:clamp(16px,1.5vw,22px)}
.about-text p{margin:0;color:#cfc9c0;font-size:clamp(15px,1.05vw,17px);line-height:1.8}

/* WERTE-GRID (4 Spalten) — dezent wie Referenzfoto */
.about-features{margin-top:clamp(38px,4vw,58px);padding-top:clamp(28px,2.8vw,40px);
  border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.about-feat{padding:0 clamp(16px,1.7vw,28px);border-left:1px solid var(--line)}
.about-feat:first-child{padding-left:0;border-left:0}
.about-feat-num{display:block;margin-bottom:14px;font-size:clamp(13px,1vw,15px);
  font-weight:500;letter-spacing:.16em;color:#9a948b}
.about-feat h3{margin:0 0 11px;font-size:clamp(11px,.82vw,13px);font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;color:#ece8e2;line-height:1.45}
.about-feat p{margin:0;font-size:clamp(12px,.86vw,13.5px);line-height:1.6;color:#a9a299}

/* ============================================================
   KENNZAHLEN — eigenes helles Band
   ============================================================ */
.stats{width:100%;max-width:none;background:#fbfaf8;color:#2b2825;
  font-family:'Inter','Segoe UI',sans-serif}
.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);
  max-width:1400px;margin:0 auto;
  padding:clamp(56px,6.5vw,104px) clamp(28px,3vw,48px)}
.stat{padding:0 clamp(20px,2.4vw,46px);border-left:1px solid rgba(43,40,37,.12);text-align:left}
.stat:first-child{padding-left:0;border-left:0}
.stat strong{display:flex;align-items:baseline;white-space:nowrap;
  font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:clamp(46px,5vw,82px);
  line-height:.95;letter-spacing:-.02em;color:#2b2825}
.stat-star{font-size:.4em;margin-left:.12em;color:#c2a079}
.stat-label{display:block;margin-top:clamp(14px,1.4vw,22px);font-size:clamp(10.5px,.8vw,12.5px);
  font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#857d72}

/* RESPONSIVE */
@media(max-width:1080px){
  .about-inner{grid-template-columns:1fr}
  .about-media{min-height:0;height:clamp(400px,66vw,540px)}
  .about-copy{padding:clamp(48px,8vw,76px) clamp(24px,6vw,40px)}
  .about-features{grid-template-columns:repeat(2,1fr);row-gap:34px}
  .about-feat{padding:0 28px}
  .about-feat:nth-child(odd){padding-left:0;border-left:0}
  .about-feat:nth-child(n+3){padding-top:30px;border-top:1px solid var(--line)}
  .stats-inner{grid-template-columns:repeat(2,1fr);row-gap:clamp(38px,5vw,50px)}
  .stat:nth-child(odd){padding-left:0;border-left:0}
  .stat:nth-child(n+3){padding-top:clamp(36px,4vw,46px)}
}
@media(max-width:560px){
  .about-features{grid-template-columns:1fr}
  .about-feat{padding:0!important;border-left:0!important}
  .about-feat+.about-feat{padding-top:26px!important;border-top:1px solid var(--line)}
  .stat strong{font-size:clamp(44px,13vw,60px)}
}

/* ============================================================
   SPEZIALITÄT — Premium-Dunkel-Redesign (2026-06-24)
   ersetzt das alte Rost+Wellen-Design; höhere Spezifität gegen Altregeln
   ============================================================ */
.specialty{--gold:#b0895a;position:relative;width:100%;max-width:none;min-height:0;margin:0;overflow:hidden;
  background:#241f1b;color:#e8e3db;font-family:'Inter','Segoe UI',sans-serif;
  padding:clamp(64px,8vw,118px) max(24px,calc((100vw - 1280px)/2))!important}
.specialty:before{content:"";position:absolute;top:-22%;right:-12%;width:52%;height:84%;z-index:0;pointer-events:none;
  background:radial-gradient(circle at 70% 30%,rgba(176,137,90,.18),transparent 60%)}
.specialty .specialty-inner{position:relative;z-index:1;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(36px,5vw,76px);
  align-items:center;width:auto;max-width:1280px;margin:0 auto;min-height:0}
.specialty .specialty-eyebrow{margin:0 0 22px;font-size:clamp(11px,.9vw,13px);font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.specialty .specialty-title{margin:0 0 26px;font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:clamp(34px,4.6vw,62px);line-height:1.06;letter-spacing:-.01em;color:#f4efe7}
.specialty .specialty-title em{font-style:italic;color:var(--gold)}
.specialty .specialty-lead{margin:0 0 30px;max-width:48ch;color:#b7b1a7;font-size:clamp(15px,1.15vw,18px);line-height:1.7}
.specialty .specialty-points{list-style:none;margin:0;padding:0;display:grid;gap:15px}
.specialty .specialty-points li{position:relative;padding-left:30px;color:#d8d2c8;font-size:clamp(14px,1vw,16px);line-height:1.5}
.specialty .specialty-points li:before{content:"";position:absolute;left:2px;top:.18em;width:13px;height:7px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.specialty .specialty-image{position:relative;height:auto;aspect-ratio:4/3;margin:0;border-radius:6px;overflow:hidden;box-shadow:0 44px 100px rgba(0,0,0,.5)}
.specialty .specialty-image img{width:100%;height:100%;object-fit:cover;border:0}
.specialty .specialty-image:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
@media(max-width:900px){
  .specialty{padding:clamp(48px,7vw,72px) max(24px,5vw)!important}
  .specialty .specialty-inner{grid-template-columns:1fr;gap:30px}
  .specialty .specialty-image{order:-1;aspect-ratio:16/10}
}

/* Fraunces gegen Browser-/Extension-Font-Overrides erzwingen (höhere Spezifität als *{...!important}). */
.about .about-title,
.about .about-name,
.stats .stat strong,
.phero .phero-score,
.specialty .specialty-title{font-family:'Fraunces',Georgia,serif!important}

/* ============================================================
   FOOTER — dunkelgrau, mehrspaltig mit Infos (2026-06-24)
   .footer-Prefix für Spezifität (überstimmt alte .footer / .footer div Regeln)
   ============================================================ */
.footer{display:block;width:100%;max-width:none;margin:0;padding:0;border-top:0;
  background:#23211e;color:#b7b1a7;font-family:'Inter','Segoe UI',sans-serif}
.footer .footer-cta{display:flex;align-items:center;justify-content:space-between;gap:clamp(24px,3vw,48px);
  flex-wrap:wrap;max-width:1400px;margin:0 auto;
  padding:clamp(44px,5vw,72px) clamp(28px,3vw,48px);border-bottom:1px solid rgba(255,255,255,.09)}
.footer .footer-cta-text{display:block}
.footer .footer-cta-eyebrow{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:#c2a079}
.footer .footer-cta h2{margin:0;font-family:'Fraunces',Georgia,serif;font-weight:500;
  font-size:clamp(26px,2.6vw,40px);line-height:1.1;letter-spacing:-.01em;color:#f3efe9}
.footer .footer-cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.footer .footer-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;
  padding:0 28px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:transparent;
  color:#f3efe9;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;transition:transform .18s,background .18s,border-color .18s,color .18s}
.footer .footer-btn:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.4)}
.footer .footer-btn.primary{background:#c2a079;border-color:#c2a079;color:#231f1b}
.footer .footer-btn.primary:hover{background:#cdae89;border-color:#cdae89}
.footer .footer-area{display:block;margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09)}
.footer .footer-area-label{display:block;margin-bottom:8px;font-size:11px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:#e7e2da}
.footer .footer-area p{margin:0;font-size:13.5px;line-height:1.7;color:#988f84}
.footer .footer-contact-name{color:#e7e2da!important;font-weight:600}
.footer .footer-inner{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.35fr;
  gap:clamp(32px,4vw,64px);max-width:1400px;margin:0 auto;
  padding:clamp(56px,6vw,92px) clamp(28px,3vw,48px) clamp(40px,3.5vw,56px)}
.footer .footer-brand{display:block;max-width:380px}
.footer .footer-logo{display:block;font-family:'Fraunces',Georgia,serif;font-weight:500;
  font-size:clamp(20px,1.6vw,25px);letter-spacing:.01em;color:#f3efe9}
.footer .footer-brand p{margin:16px 0 0;font-size:14px;line-height:1.7;color:#988f84}
.footer .footer-rating{display:flex;align-items:center;gap:10px;margin-top:24px;font-size:13px;color:#988f84}
.footer .footer-rating strong{font-family:'Fraunces',Georgia,serif;font-size:20px;color:#f3efe9}
.footer .footer-stars{color:#c2a079;letter-spacing:1px}
.footer .footer-col h3{margin:0 0 18px;font-size:12px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:#e7e2da}
.footer .footer-col a{display:block;margin-bottom:11px;font-size:14px;color:#a7a096;
  text-decoration:none;transition:color .18s}
.footer .footer-col a:hover{color:#c2a079}
.footer .footer-contact{display:block}
.footer .footer-contact address{display:grid;gap:11px;font-style:normal}
.footer .footer-contact address span,.footer .footer-contact address a{font-size:14px;color:#a7a096;text-decoration:none}
.footer .footer-contact address a:hover{color:#c2a079}
.footer .footer-hours{color:#7f786e!important;margin-top:4px}
.footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
  max-width:1400px;margin:0 auto;border-top:1px solid rgba(255,255,255,.09);
  padding:clamp(20px,2vw,26px) clamp(28px,3vw,48px) clamp(34px,3vw,46px)}
.footer .footer-bottom p{margin:0;font-size:12.5px;color:#7f786e}
.footer .footer-legal{display:flex;gap:22px}
.footer .footer-legal a{font-size:12.5px;color:#7f786e;text-decoration:none;transition:color .18s}
.footer .footer-legal a:hover{color:#c2a079}
@media(max-width:900px){
  .footer .footer-inner{grid-template-columns:1fr 1fr;gap:38px 32px}
  .footer .footer-brand{grid-column:1 / -1;max-width:none}
}
@media(max-width:560px){
  .footer .footer-inner{grid-template-columns:1fr;gap:34px}
  .footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:14px}
}

/* ============================================================
   KONTAKT — Premium-Redesign (2026-06-24)
   .contact-Prefix für Spezifität (überstimmt alte .contact Regeln)
   ============================================================ */
.contact{display:block;width:100%;max-width:none;margin:0;padding:0;background:var(--paper);border-top:1px solid var(--line)}
.contact .contact-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(44px,5vw,96px);
  align-items:center;max-width:1400px;margin:0 auto;padding:clamp(76px,7.5vw,124px) clamp(28px,3vw,48px)}
/* LINKS: Einladung + Details */
.contact .contact-copy{padding:0;border:0;background:transparent;box-shadow:none;max-width:600px}
.contact .contact-copy .kicker{margin:0 0 clamp(18px,2vw,26px);font-size:12px;font-weight:700;
  letter-spacing:.26em;text-transform:uppercase;color:#a8825a}
.contact #kontakt-title{margin:0;font-family:'Fraunces',Georgia,serif;font-weight:500;
  font-size:clamp(32px,3.4vw,50px);line-height:1.1;letter-spacing:-.015em;color:var(--ink)}
.contact .contact-lead{margin:clamp(20px,2vw,28px) 0 0;max-width:480px;
  font-size:clamp(15px,1.05vw,17px);line-height:1.75;color:var(--muted)}
.contact .contact-details{list-style:none;display:grid;gap:0;
  margin:clamp(30px,3.2vw,44px) 0 0;padding:clamp(26px,2.6vw,36px) 0 0;border-top:1px solid var(--line)}
.contact .contact-details li{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:baseline;
  padding:13px 0;border-bottom:1px solid var(--line)}
.contact .contact-label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9a8f7e}
.contact .contact-value{font-size:clamp(14.5px,1vw,16px);color:var(--text);text-decoration:none;line-height:1.5}
.contact a.contact-value{transition:color .18s}
.contact a.contact-value:hover{color:var(--brick)}
/* RECHTS: Formular-Karte */
.contact .contact-form{display:grid;gap:clamp(13px,1.3vw,17px);padding:clamp(30px,3vw,46px);
  border:1px solid var(--line);border-radius:20px;background:#fff;
  box-shadow:0 36px 80px -34px rgba(57,45,31,.3)}
.contact .contact-form-head{margin-bottom:clamp(6px,1vw,12px)}
.contact .contact-form-head h3{margin:0 0 7px;font-family:'Fraunces',Georgia,serif;font-weight:500;
  font-size:clamp(20px,1.6vw,24px);color:var(--ink)}
.contact .contact-form-head p{margin:0;font-size:13.5px;line-height:1.5;color:var(--muted)}
.contact .contact-form label{display:grid;gap:9px}
.contact .contact-form label span{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.contact .contact-form input,.contact .contact-form textarea{width:100%;border:1px solid var(--line);
  border-radius:11px;padding:14px 16px;background:#fdfbf7;color:var(--ink);font-size:15px;
  transition:border-color .18s,box-shadow .18s,background .18s}
.contact .contact-form input::placeholder,.contact .contact-form textarea::placeholder{color:#b5ac9d}
.contact .contact-form input:focus,.contact .contact-form textarea:focus{outline:none;background:#fff;
  border-color:var(--brick);box-shadow:0 0 0 3px rgba(143,61,43,.12)}
.contact .contact-form textarea{resize:vertical;min-height:132px;line-height:1.6}
.contact .contact-form button{width:100%;min-height:54px;margin-top:4px;border-radius:12px;
  font-size:12.5px;letter-spacing:1px}
.contact .contact-form button:hover{transform:translateY(-1px);background:var(--brick-dark);border-color:var(--brick-dark);color:#fff}
.contact .form-note{min-height:20px;margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--brick-dark);text-align:center}
@media(max-width:980px){
  .contact .contact-inner{grid-template-columns:1fr;gap:clamp(36px,6vw,52px);align-items:start}
  .contact .contact-copy{max-width:none}
}

/* ============================================================
   GALERIE / PROJEKTE — Bento-Grid + Werteleiste (2026-06-24)
   ============================================================ */
.gallery{display:block;width:100%;max-width:none;margin:0;padding:0;background:var(--cream)}
.gallery .gallery-inner{max-width:1400px;margin:0 auto;
  padding:clamp(76px,8vw,128px) clamp(28px,3vw,48px) clamp(48px,5vw,76px)}
.gallery .gallery-head{display:grid;grid-template-columns:1fr auto;align-items:end;
  gap:clamp(24px,3vw,48px);margin-bottom:clamp(36px,4vw,56px)}
.gallery .gallery-head .kicker{margin:0 0 clamp(16px,1.6vw,22px);font-size:12px;font-weight:700;
  letter-spacing:.26em;text-transform:uppercase;color:#a8825a}
.gallery .gallery-head h2{margin:0;font-family:'Fraunces',Georgia,serif;font-weight:500;
  font-size:clamp(30px,3.6vw,52px);line-height:1.08;letter-spacing:-.01em;color:var(--ink)}
.gallery .gallery-lead{margin:clamp(24px,2.4vw,34px) 0 0;max-width:520px;
  font-size:clamp(15px,1.05vw,17px);line-height:1.7;color:var(--muted)}
.gallery .gallery-lead::before{content:"";display:block;width:48px;height:2px;background:#a8825a;
  margin-bottom:clamp(20px,2vw,28px)}
.gallery .gallery-cta{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;
  padding:16px 30px;border:1px solid rgba(168,130,90,.55);border-radius:999px;
  color:#a8825a;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;
  transition:background .2s,color .2s,border-color .2s,gap .2s}
.gallery .gallery-cta span{font-size:1.25em;line-height:1;transition:transform .2s}
.gallery .gallery-cta:hover{background:#a8825a;border-color:#a8825a;color:#fff;gap:16px}
/* Bento-Grid */
.gallery .gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);
  grid-auto-rows:clamp(148px,16.5vw,194px);gap:clamp(12px,1.2vw,18px)}
.gallery .gp{position:relative;margin:0;overflow:hidden;border-radius:10px;background:#211f1b}
.gallery .gp-1{grid-column:span 7}
.gallery .gp-2{grid-column:span 5}
.gallery .gp-3{grid-column:span 5;grid-row:span 2}
.gallery .gp-4{grid-column:span 7}
.gallery .gp-5{grid-column:span 7}
.gallery .gp img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .7s cubic-bezier(.16,1,.3,1)}
.gallery .gp:hover img{transform:scale(1.05)}
.gallery .gp::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(12,10,8,.82),rgba(12,10,8,.16) 44%,transparent 64%)}
.gallery .gp figcaption{position:absolute;z-index:2;left:clamp(18px,1.6vw,28px);
  bottom:clamp(16px,1.5vw,24px);display:flex;flex-direction:column;gap:9px}
.gallery .gp-cat{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#d9b485}
.gallery .gp-title{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(17px,1.5vw,23px);
  line-height:1.15;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.45)}
/* Werteleiste — eigenes helles Band */
.gallery .gallery-values-band{background:#efe9dd;border-top:1px solid var(--line)}
.gallery .gallery-values{display:grid;grid-template-columns:repeat(4,1fr);
  max-width:1400px;margin:0 auto;padding:clamp(38px,4vw,60px) clamp(28px,3vw,48px)}
.gallery .gv{display:flex;align-items:flex-start;gap:16px;padding:0 clamp(16px,2vw,34px);border-left:1px solid var(--line)}
.gallery .gv:first-child{padding-left:0;border-left:0}
.gallery .gv svg{width:30px;height:30px;flex:none;color:#a8825a;margin-top:2px}
.gallery .gv strong{display:block;margin-bottom:7px;font-size:15px;font-weight:700;color:var(--ink)}
.gallery .gv span{display:block;font-size:13.5px;line-height:1.55;color:var(--muted)}
/* Scroll-Reveal: Karten standardmäßig SICHTBAR; JS "armiert" + togglet .gp-in (scroll-basiert, robust) */
.gallery .gp.gp-armed{opacity:0;transform:translateY(46px) scale(.965);clip-path:inset(0 0 100% 0)}
.gallery .gp.gp-armed.gp-in{opacity:1;transform:none;clip-path:inset(0 0 0 0);
  transition:opacity .7s ease,transform .9s cubic-bezier(.16,1,.3,1),clip-path .9s cubic-bezier(.16,1,.3,1)}
.gallery .gp.gp-armed:nth-child(2).gp-in{transition-delay:.08s}
.gallery .gp.gp-armed:nth-child(3).gp-in{transition-delay:.16s}
.gallery .gp.gp-armed:nth-child(4).gp-in{transition-delay:.24s}
.gallery .gp.gp-armed:nth-child(5).gp-in{transition-delay:.32s}
/* Responsive */
@media(max-width:900px){
  .gallery .gallery-head{grid-template-columns:1fr;align-items:start}
  .gallery .gallery-grid{grid-auto-rows:clamp(150px,34vw,210px)}
  .gallery .gp-1,.gallery .gp-2,.gallery .gp-4,.gallery .gp-5{grid-column:span 12}
  .gallery .gp-3{grid-column:span 12;grid-row:span 1}
  .gallery .gallery-values{grid-template-columns:1fr 1fr;gap:34px 0}
  .gallery .gv:nth-child(odd){padding-left:0;border-left:0}
  .gallery .gv:nth-child(n+3){padding-top:32px;border-top:1px solid var(--line)}
}
@media(max-width:540px){
  .gallery .gallery-values{grid-template-columns:1fr}
  .gallery .gv{padding-left:0!important;border-left:0!important}
  .gallery .gv+.gv{padding-top:26px;border-top:1px solid var(--line)}
}

/* ============================================================
   LEISTUNGEN — Icon-Karten + Bau-Foto-Ecke (2026-06-24)
   .svc-Prefix für Spezifität (überstimmt altes Foto-Karten-Design)
   ============================================================ */
.svc{position:relative;width:100%;max-width:none;margin:0;background:var(--cream)}
.svc .svc-bg{position:absolute;top:0;left:0;right:0;height:56%;z-index:0;overflow:hidden;pointer-events:none}
.svc .svc-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block}
.svc .svc-bg::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to bottom,rgba(15,12,9,.68) 0%,rgba(15,12,9,.52) 13%,rgba(15,12,9,.18) 30%,rgba(248,244,236,0) 48%,var(--cream) 100%)}
.svc .svc-inner{position:relative;z-index:1;max-width:1400px;margin:0 auto;
  padding:clamp(80px,8vw,132px) clamp(28px,3vw,48px)}
.svc .svc-head{display:grid;grid-template-columns:1fr;gap:clamp(16px,2vw,24px);
  align-items:start;margin-bottom:clamp(40px,4.4vw,64px)}
.svc .svc-head-left{padding:0}
.svc .svc-eyebrow{margin:0;font-size:12px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:#a8825a}
.svc .svc-eyebrow::after{content:"";display:block;width:56px;height:2px;background:#a8825a;margin-top:clamp(16px,1.6vw,22px)}
.svc .svc-title{margin:clamp(22px,2.4vw,34px) 0 0;font-family:'Fraunces',Georgia,serif;font-weight:500;
  font-size:clamp(34px,4.2vw,60px);line-height:1.04;letter-spacing:-.015em;color:#f6f3ee}
.svc .svc-title span{display:block}
.svc .svc-title .svc-title-accent{color:#a8825a}
.svc .svc-head-lead{margin:clamp(16px,1.6vw,22px) 0 0;max-width:520px;padding-top:0;
  font-size:clamp(15px,1.05vw,17px);line-height:1.7;color:#e4ded4}
/* Gestapelte Sticky-Karten (Scroll-Stack, breit/horizontal) */
.svc .svc-stack{position:relative;max-width:1080px;margin:0 auto}
.svc .stack-card{position:sticky;top:calc(104px + var(--i,0) * 26px);
  display:grid;grid-template-columns:1.3fr .82fr;align-items:stretch;
  height:clamp(400px,58vh,540px);background:#fff;border-radius:16px;overflow:hidden;
  border:1px solid rgba(33,31,27,.06);box-shadow:0 40px 90px -46px rgba(57,45,31,.45)}
.svc .stack-card + .stack-card{margin-top:clamp(52px,9vh,120px)}
.svc .stack-card-media{position:relative;overflow:hidden;background:#211f1b;min-height:200px}
.svc .stack-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.svc .stack-card-body{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,3.4vw,56px)}
.svc .svc-num{font-size:12px;font-weight:700;letter-spacing:.14em;color:#a8825a;margin-bottom:clamp(16px,1.6vw,22px)}
.svc .stack-card-body .svc-num{margin-bottom:10px}
.svc .ref-cat{display:block;margin-bottom:clamp(16px,1.6vw,22px);font-size:11px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:#8a8378}
.svc .svc-icon{display:block;color:#a8825a;margin-bottom:clamp(16px,1.6vw,22px);line-height:0}
.svc .svc-icon svg{width:42px;height:42px}
.svc .stack-card-body h3{margin:0 0 14px;font-family:'Fraunces',Georgia,serif;font-weight:500;
  font-size:clamp(24px,2.2vw,34px);line-height:1.08;color:var(--ink)}
.svc .stack-card-body p{margin:0 0 26px;max-width:440px;font-size:clamp(14px,1.05vw,16px);line-height:1.7;color:var(--muted)}
.svc .svc-more{display:inline-flex;align-items:center;gap:9px;
  font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a8825a;text-decoration:none;transition:gap .2s}
.svc .svc-more span{font-size:1.3em;line-height:1}
.svc .svc-more:hover{gap:14px}
.svc .svc-foot{display:flex;align-items:center;gap:clamp(16px,1.6vw,22px);
  margin-top:clamp(40px,4vw,60px);padding-top:clamp(32px,3vw,44px);border-top:1px solid var(--line)}
.svc .svc-foot-icon{flex:none;width:52px;height:52px;border-radius:50%;background:#23211e;display:grid;place-items:center;color:#fff}
.svc .svc-foot-icon svg{width:24px;height:24px}
.svc .svc-foot p{margin:0;max-width:600px;font-size:clamp(14px,1vw,16px);line-height:1.6;color:var(--text)}
@media(max-width:980px){
  .svc .svc-head{grid-template-columns:1fr;gap:clamp(18px,3vw,30px)}
  .svc .svc-head-lead{padding-top:0;max-width:560px}
  .svc .stack-card{grid-template-columns:1fr;height:auto;min-height:0}
  .svc .stack-card-media{min-height:200px;max-height:240px}
  .svc .stack-card + .stack-card{margin-top:clamp(36px,6vh,72px)}
}
@media(max-width:560px){
  .svc .svc-bg{display:none}
  .svc .stack-card{top:calc(72px + var(--i,0) * 18px)}
}

/* ============================================================
   SPEZIALITÄT — heller Fullwidth-Fassaden-Showcase (2026-06-24)
   großes Hintergrundbild, links weicher heller Verlauf, Text dunkel
   ============================================================ */
.spec{position:relative;width:100%;max-width:none;margin:0;overflow:hidden;
  display:grid;grid-template-columns:1.62fr 1fr;background:#f6f2ea}
.spec-left{display:flex;flex-direction:column;min-width:0}
.spec-content{flex:1;padding:clamp(60px,7vw,116px) clamp(28px,4.5vw,84px) clamp(48px,5vw,76px)}
.spec-eyebrow{margin:0;color:#b0743a;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.spec-rule{display:block;width:46px;height:2px;background:#b0743a;margin:20px 0 clamp(28px,3vw,40px)}
.spec-title{margin:0 0 clamp(22px,2.4vw,30px);font-family:'Fraunces',Georgia,serif;font-weight:500;
  font-size:clamp(32px,3.8vw,54px);line-height:1.08;letter-spacing:-.015em}
.spec-title span{display:block}
.spec-title .spec-ink{color:var(--ink)}
.spec-title .spec-accent{color:#b0743a}
.spec-lead{margin:0 0 clamp(38px,4vw,58px);max-width:540px;color:var(--text);
  font-size:clamp(15px,1.1vw,17px);line-height:1.76}
.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:clamp(38px,4vw,56px)}
.spec-feat{padding:0 clamp(14px,1.5vw,26px)}
.spec-feat:first-child{padding-left:0}
.spec-feat + .spec-feat{border-left:1px solid var(--line)}
.spec-ico{display:block;color:#b0743a;margin-bottom:clamp(16px,1.7vw,24px);line-height:0}
.spec-ico svg{width:34px;height:34px}
.spec-feat h3{margin:0 0 12px;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:800;
  letter-spacing:.045em;text-transform:uppercase;color:var(--ink);line-height:1.32}
.spec-feat p{margin:0;max-width:none;font-size:13px;line-height:1.62;color:var(--muted)}
.spec-cta{display:inline-flex;align-items:center;gap:11px;padding:17px 32px;border-radius:999px;
  background:var(--ink);color:#fff;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;transition:background .2s,gap .2s,transform .2s}
.spec-cta span{font-size:1.25em;line-height:1}
.spec-cta:hover{background:#57251b;gap:15px;transform:translateY(-2px)}
.spec-band{background:#ece5d9;border-top:1px solid rgba(33,31,27,.08)}
.spec-band-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.4vw,40px);
  padding:clamp(30px,3.2vw,44px) clamp(28px,4.5vw,84px)}
.spec-mini{display:flex;align-items:flex-start;gap:13px}
.spec-mini-ico{flex:none;color:var(--ink);line-height:0;margin-top:1px}
.spec-mini-ico svg{width:26px;height:26px}
.spec-mini h4{margin:0 0 5px;font-family:'Inter',sans-serif;font-size:11.5px;font-weight:800;
  letter-spacing:.05em;text-transform:uppercase;color:var(--ink);line-height:1.25}
.spec-mini p{margin:0;font-size:12.5px;line-height:1.55;color:var(--muted)}
.spec-media{position:relative;min-width:0}
.spec-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}
@media(max-width:980px){
  .spec{grid-template-columns:1fr}
  .spec-media{order:-1;position:relative;height:clamp(240px,40vw,360px)}
  .spec-grid{grid-template-columns:repeat(2,1fr);gap:clamp(28px,4vw,40px) 0}
  .spec-feat:nth-child(odd){padding-left:0;border-left:0}
  .spec-feat:nth-child(even){border-left:1px solid var(--line)}
  .spec-band-inner{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .spec-grid,.spec-band-inner{grid-template-columns:1fr;gap:30px}
  .spec-feat,.spec-feat:nth-child(even){padding:0;border-left:0}
}

/* ===== Werte-Sektion "Solides Handwerk" (Referenz 1:1) ===== */
.values{position:relative;width:100%;background:#fff;display:grid;
  grid-template-columns:minmax(260px,33%) 1fr;align-items:center;
  gap:clamp(24px,4vw,72px);overflow:hidden}
.values-media{align-self:stretch;min-height:clamp(540px,70vh,760px);display:flex}
.values-media img{width:100%;height:100%;object-fit:contain;object-position:left bottom}
.values-content{padding:clamp(64px,7vw,116px) clamp(28px,5vw,90px) clamp(64px,7vw,116px) 0;
  max-width:980px}
.values-eyebrow{margin:0;color:#b0743a;font-family:'Inter',sans-serif;
  font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.values-rule{display:block;width:46px;height:2px;background:#b0743a;margin:20px 0 clamp(26px,3vw,38px)}
.values-title{margin:0 0 clamp(22px,2.4vw,30px);font-family:'Fraunces',Georgia,serif;
  font-weight:500;font-size:clamp(30px,3.6vw,52px);line-height:1.12;letter-spacing:-.01em}
.values-title span{display:block}
.values-title .values-ink{color:var(--ink)}
.values-title .values-accent{color:#b0743a}
.values-lead{margin:0 0 clamp(40px,4.4vw,62px);max-width:560px;color:var(--text);
  font-family:'Inter',sans-serif;font-size:clamp(15px,1.1vw,17px);line-height:1.76}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.values-feat{padding:0 clamp(16px,1.7vw,28px)}
.values-feat:first-child{padding-left:0}
.values-feat + .values-feat{border-left:1px solid var(--line)}
.values-ico{display:block;color:#b0743a;margin-bottom:clamp(18px,1.8vw,26px);line-height:0}
.values-ico svg{width:34px;height:34px}
.values-feat h3{margin:0 0 12px;font-family:'Inter',sans-serif;font-size:14px;font-weight:800;
  letter-spacing:.045em;text-transform:uppercase;color:var(--ink);line-height:1.32}
.values-feat p{margin:0;max-width:none;font-family:'Inter',sans-serif;
  font-size:13px;line-height:1.66;color:var(--muted)}
@media(max-width:980px){
  .values{grid-template-columns:1fr;gap:0}
  .values-media{min-height:0;height:clamp(300px,42vh,400px)}
  .values-media img{object-position:center bottom}
  .values-content{padding:clamp(44px,6vw,68px) clamp(24px,5vw,48px)}
  .values-grid{grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,42px) 0}
  .values-feat{padding:0 clamp(18px,3vw,28px)}
  .values-feat:nth-child(odd){padding-left:0;border-left:0}
  .values-feat:nth-child(even){border-left:1px solid var(--line)}
}
@media(max-width:560px){
  .values-grid{grid-template-columns:1fr;gap:30px}
  .values-feat,.values-feat:nth-child(even){padding:0;border-left:0}
}

/* ============================================================
   PREMIUM-ANIMATIONEN (2026-06-24) — alle reduce-motion-sicher
   (globale @media-reduce-Regel snappt animation-duration -> Endzustand)
   ============================================================ */
/* 1) Hero-Ladesequenz + Ken-Burns */
@keyframes pheroRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes pheroDraw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes pheroKen{from{transform:scale(1.12)}to{transform:scale(1)}}
.phero::before{transform-origin:62% 50%;animation:pheroKen 16s cubic-bezier(.22,1,.36,1) both}
.phero-accent{transform-origin:left center;animation:pheroDraw 1s cubic-bezier(.16,1,.3,1) .15s both}
.phero-eyebrow{animation:pheroRise .85s cubic-bezier(.16,1,.3,1) .3s both}
.phero-title .phero-thin{animation:pheroRise .85s cubic-bezier(.16,1,.3,1) .44s both}
.phero-title .phero-bold{animation:pheroRise .9s cubic-bezier(.16,1,.3,1) .58s both}
.phero-rating{animation:pheroRise .85s cubic-bezier(.16,1,.3,1) .82s both}
.phero-lead{animation:pheroRise .9s cubic-bezier(.16,1,.3,1) .98s both}
.phero-card{animation:pheroRise .95s cubic-bezier(.16,1,.3,1) 1.12s both}

/* 2) Klinkerwand baut sich auf (JS setzt clip-path beim Scrollen; hier nur Übergang weich) */
.spec-media img{transition:clip-path .12s linear,transform .12s linear}

/* 3) Spotlight im dunklen CTA-Band (folgt dem Cursor) + magnetische Buttons */
.footer .footer-cta{position:relative;overflow:hidden}
.footer .footer-cta>*{position:relative;z-index:1}
.footer .footer-cta::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;
  transition:opacity .4s ease;
  background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),rgba(194,160,121,.22),transparent 64%)}
.footer .footer-cta.is-lit::after{opacity:1}
.footer .footer-btn,.spec-cta,.contact-form button{will-change:transform}


/* 4) Ambient-Glow-Cursor — nativer Cursor bleibt, warmer Lichtschein folgt dezent.
   Nur Desktop (pointer:fine). Bei reduce-motion folgt er ohne Verzögerung (kein Auto-Motion). */
.amb-glow{position:fixed;top:0;left:0;width:520px;height:520px;border-radius:50%;
  pointer-events:none;z-index:60;opacity:0;transform:translate(-50%,-50%);
  transition:opacity .6s ease;will-change:transform;mix-blend-mode:screen;
  background:radial-gradient(circle,
    rgba(214,158,98,.28) 0%,
    rgba(201,146,90,.16) 26%,
    rgba(190,135,82,.06) 48%,
    rgba(190,135,82,0) 70%)}
