/* EDG Mirror & Remodel — Professional presentation layer v11
   Purpose: a restrained luxury system for mirror, glass and remodeling work.
   This file intentionally sits after site.css so the stable CMS layout stays intact. */

:root{
  --edg-gold:#c99a45;
  --edg-gold-dark:#9b6923;
  --edg-champagne:#ecd7ad;
  --edg-cream:#f7f2ea;
  --edg-paper:#fffdf9;
  --edg-charcoal:#171411;
  --edg-silver:#d9d4cd;
  --edg-line:rgba(49,39,27,.12);
  --edg-line-dark:rgba(255,255,255,.12);
  --edg-shadow:0 24px 80px rgba(42,30,18,.10);
  --edg-shadow-strong:0 30px 90px rgba(30,21,13,.17);
  --edg-ease:cubic-bezier(.22,1,.36,1);
}

html{scroll-padding-top:98px}
body{
  background:
    radial-gradient(circle at 8% 14%,rgba(201,154,69,.065),transparent 27rem),
    radial-gradient(circle at 90% 40%,rgba(160,151,140,.07),transparent 32rem),
    var(--ivory,#f5f0e9);
  font-weight:500;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.2),transparent 38%);
  opacity:.25;
}

/* Header */
.site-header{
  border-color:rgba(66,49,29,.09);
  background:rgba(252,249,244,.91);
  box-shadow:0 1px 0 rgba(255,255,255,.82);
}
.site-header.is-scrolled{background:rgba(255,253,249,.97);box-shadow:0 16px 45px rgba(40,28,16,.09)}
.site-scroll-progress{position:absolute;inset:auto 0 -1px;height:2px;overflow:hidden;background:transparent}
.site-scroll-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--edg-gold-dark),#edc979,var(--edg-gold));box-shadow:0 0 14px rgba(201,154,69,.45)}
.header-inner{min-height:88px;gap:30px}
.brand{min-width:270px}
.brand-mark{width:56px;height:56px;border-radius:16px;border-color:rgba(168,117,37,.28);background:linear-gradient(145deg,#f6eee4,#e7dac9);box-shadow:0 10px 30px rgba(50,34,18,.10),inset 0 0 0 4px rgba(255,255,255,.45)}
.brand-copy strong{font-size:1.08rem;letter-spacing:.018em}
.brand-copy small{color:#7b7065;font-size:.64rem;letter-spacing:.14em}
.main-nav{gap:24px}
.main-nav>a{padding:14px 0;color:#4d463e;font-size:.76rem;letter-spacing:.055em;text-transform:uppercase}
.main-nav>a::after{bottom:7px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--edg-gold-dark),var(--edg-gold))}
.main-nav>a.is-active{color:#1c1814}
.main-nav>a.is-active::after{right:0}
.language-switch{background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.header-cta{min-height:48px;padding-inline:20px}

/* Typography and controls */
h1,h2,h3{font-weight:500;text-wrap:balance}
h1{letter-spacing:-.045em}
h2{letter-spacing:-.04em}
p{text-wrap:pretty}
.eyebrow{gap:12px;color:#815f2c;font-size:.66rem;letter-spacing:.21em}
.eyebrow::after{content:"";width:28px;height:1px;background:linear-gradient(90deg,rgba(201,154,69,.7),transparent)}
.eyebrow span{font-size:.62rem}
.eyebrow-light::after{background:linear-gradient(90deg,rgba(236,215,173,.75),transparent)}
.btn{position:relative;overflow:hidden;isolation:isolate;min-height:52px;padding:13px 23px;border-radius:12px;letter-spacing:.075em}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;transform:translateX(-112%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.25),transparent);transition:transform .65s var(--edg-ease)}
.btn:hover::before{transform:translateX(112%)}
.btn-primary{background:linear-gradient(135deg,#d5aa57 0%,#b67c28 58%,#9e681f 100%);box-shadow:0 15px 34px rgba(155,105,35,.25),inset 0 1px 0 rgba(255,255,255,.28)}
.btn-primary:hover{box-shadow:0 19px 44px rgba(155,105,35,.32)}
.btn-outline{border-color:rgba(80,60,37,.19);background:rgba(255,255,255,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.text-link{position:relative;width:max-content;padding-bottom:5px;color:#433a31;letter-spacing:.08em}
.text-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;transform:scaleX(.28);transform-origin:left;background:linear-gradient(90deg,var(--edg-gold-dark),var(--edg-gold));transition:transform .35s var(--edg-ease)}
.text-link:hover::after{transform:scaleX(1)}

/* Pointer-following sheen for premium cards */
[data-luxury-card]{--glow-x:50%;--glow-y:50%;position:relative;isolation:isolate}
[data-luxury-card]::after{content:"";position:absolute;inset:0;z-index:7;border-radius:inherit;background:radial-gradient(360px circle at var(--glow-x) var(--glow-y),rgba(255,255,255,.16),transparent 48%);opacity:0;pointer-events:none;transition:opacity .3s ease}
[data-luxury-card]:hover::after{opacity:1}

/* Homepage hero */
.hero-slider{min-height:max(720px,calc(100svh - 88px));background:#0d0b09}
.hero-slide__inner{min-height:max(720px,calc(100svh - 88px));padding-top:72px;padding-bottom:142px}
.hero-slide__media img,.hero-slide__media video{filter:saturate(.88) contrast(1.03)}
.hero-slide__overlay{background:linear-gradient(90deg,rgba(8,6,5,calc(var(--hero-overlay) + .23)) 0%,rgba(8,6,5,var(--hero-overlay)) 45%,rgba(8,6,5,.12) 78%,rgba(8,6,5,.34) 100%),linear-gradient(180deg,rgba(7,5,4,.12),transparent 48%,rgba(7,5,4,.63))}
.hero-slide__lines i:first-child{left:calc((100% - min(calc(100% - 40px),var(--container,1240px)))/2);background:linear-gradient(transparent,rgba(255,255,255,.18),transparent)}
.hero-slide__content{position:relative;max-width:760px;padding-left:34px;border-left:1px solid rgba(231,192,116,.44)}
.hero-slide__monogram{position:absolute;left:22px;top:-86px;color:rgba(255,255,255,.055);font-family:var(--serif);font-size:clamp(6rem,12vw,10rem);line-height:1;letter-spacing:-.08em;pointer-events:none}
.hero-slide__eyebrow{position:relative;z-index:1;margin-bottom:20px;color:#efcf91;font-size:.68rem}
.hero-slide h1,.hero-slide h2{position:relative;z-index:1;max-width:780px;font-size:clamp(3.65rem,6.1vw,6.15rem);line-height:.92;letter-spacing:-.052em}
.hero-slide__lead{position:relative;z-index:1;max-width:590px;margin-top:24px;color:rgba(255,248,236,.83);font-size:clamp(.98rem,1.35vw,1.13rem);line-height:1.72}
.hero-slide__actions{position:relative;z-index:1;margin-top:31px}
.hero-slide__signature{min-width:285px;border-color:rgba(236,215,173,.27);border-radius:18px;background:linear-gradient(145deg,rgba(18,14,10,.48),rgba(18,14,10,.22));box-shadow:0 20px 50px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.09)}
.hero-slide__signature>span{font-size:2.15rem}
.hero-slider__footer{bottom:17px;min-height:74px;padding:12px 15px 12px 22px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(15,12,9,.40);box-shadow:0 20px 50px rgba(0,0,0,.18);backdrop-filter:blur(17px)}
.hero-trust{gap:24px}
.hero-trust span{font-size:.61rem;letter-spacing:.095em}
.hero-controls>button{width:39px;height:39px;background:rgba(255,255,255,.055)}
.hero-progress{left:18px;right:18px;bottom:-1px;height:1px}
.hero-scroll{padding-right:8px}
.signature-strip{background:rgba(255,252,247,.88);backdrop-filter:blur(8px)}
.signature-set{padding-block:16px}
.signature-set span{font-size:1rem;color:#3d352d}

/* Sections */
.section{padding:clamp(90px,9vw,132px) 0}
.section-heading{grid-template-columns:minmax(0,1.35fr) minmax(280px,.48fr);gap:70px;margin-bottom:48px}
.section-heading h2{max-width:790px;font-size:clamp(2.7rem,4.5vw,4.45rem);line-height:.98}
.section-side{padding-left:23px;border-left:1px solid var(--edg-line)}
.section-side p{font-size:.96rem;line-height:1.75}
.section-index{color:#8f6b35}
.services-section{background:linear-gradient(180deg,rgba(255,253,249,.72),rgba(245,240,233,.82))}
.card-grid{gap:22px}
.card{border-color:rgba(72,54,32,.09);border-radius:22px;background:rgba(255,253,249,.88);box-shadow:0 18px 60px rgba(42,30,17,.055),inset 0 1px 0 rgba(255,255,255,.85);backdrop-filter:blur(8px)}
.card:hover{transform:translateY(-8px);box-shadow:var(--edg-shadow)}
.card-image{aspect-ratio:1.32;background:#ded6cc}
.card-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(15,11,8,.18));pointer-events:none}
.card-image img{filter:saturate(.92)}
.card-number{z-index:2;border:1px solid rgba(255,255,255,.18);background:rgba(16,13,10,.5);font-size:.6rem;letter-spacing:.13em}
.card-arrow{z-index:2;width:44px;height:44px;border:1px solid rgba(255,255,255,.6);background:rgba(255,253,249,.94);box-shadow:0 12px 30px rgba(0,0,0,.16)}
.card-body{gap:13px;padding:25px 25px 27px}
.card-body h2,.card-body h3{font-size:1.78rem;line-height:1.05}
.card-body p{font-size:.93rem;line-height:1.72}
.listing-card .card-body .eyebrow{margin-bottom:-2px;font-size:.59rem}

/* About / process */
.section-muted{background:linear-gradient(135deg,#ebe2d6 0%,#f5eee5 50%,#ede4d8 100%)}
.about-section{overflow:hidden}
.about-section::before{content:"EDG";position:absolute;right:-1vw;top:4%;color:rgba(92,68,37,.035);font-family:var(--serif);font-size:clamp(12rem,28vw,30rem);line-height:1;pointer-events:none}
.feature-wrap{min-height:620px;padding:24px}
.feature-frame{border-color:rgba(133,91,32,.27);border-radius:44% 44% 26px 26px}
.feature-image{height:572px;border-radius:42% 42% 22px 22px;filter:saturate(.88);box-shadow:var(--edg-shadow-strong)}
.feature-badge{right:-7px;top:62px;width:122px;height:122px;border:1px solid rgba(235,201,135,.25);background:radial-gradient(circle at 38% 30%,#30271e,#15110e 68%)}
.feature-caption{left:1px;bottom:1px;border:1px solid rgba(91,66,34,.1);background:rgba(249,245,239,.93);box-shadow:0 12px 35px rgba(55,39,22,.09)}
.split-copy h2{max-width:650px;font-size:clamp(2.7rem,4.2vw,4.25rem);line-height:.98}
.split-copy>.rich-text{max-width:650px;font-size:1rem;line-height:1.82}
.process-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:34px 0 30px;border-block:1px solid rgba(60,45,28,.14)}
.process-rail span{position:relative;display:grid;align-content:start;gap:4px;padding:20px 18px!important;border:0!important;border-right:1px solid rgba(60,45,28,.12)!important;font-size:.78rem!important;line-height:1.45}
.process-rail span:first-child{padding-left:0!important}
.process-rail span:last-child{border-right:0!important;padding-right:0!important}
.process-rail b{font-size:1.5rem!important;line-height:1;color:#ae792e!important}
.process-rail i{font-style:normal;color:#3c342c;font-size:.6rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}

/* Portfolio */
.projects-section{background:#f8f4ee}
.project-grid{gap:16px;grid-auto-rows:154px}
.project-card{border-radius:20px;box-shadow:0 16px 44px rgba(34,24,14,.08)}
.project-card::before{content:"";position:absolute;inset:0;z-index:2;border:1px solid rgba(255,255,255,.22);border-radius:inherit;pointer-events:none}
.project-card img{filter:saturate(.9) contrast(1.02)}
.project-overlay{z-index:3;padding:74px 24px 22px;background:linear-gradient(transparent,rgba(9,7,5,.86))}
.project-overlay small{color:#edcc8c;font-size:.59rem;letter-spacing:.16em}
.project-overlay strong{font-size:1.76rem}
.project-overlay b{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;font-size:1rem;transition:transform .3s var(--edg-ease),background .3s ease}
.project-card:hover .project-overlay b{transform:rotate(10deg);background:#c8953e}
.project-card em{z-index:4;padding:7px 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(12,9,7,.32);backdrop-filter:blur(8px)}
.project-footer{padding-top:4px;border-top:1px solid var(--edg-line)}

/* Testimonials and FAQ */
.testimonials-section{background:radial-gradient(circle at 82% 8%,rgba(199,148,58,.16),transparent 28rem),linear-gradient(135deg,#1a1612,#100d0b)}
.testimonial-heading h2{max-width:760px;font-size:clamp(2.7rem,4.4vw,4.3rem)}
.testimonial-track blockquote{min-height:320px;border-color:rgba(255,255,255,.1);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.testimonial-track blockquote>p{font-size:1.18rem;line-height:1.62}
.testimonial-track footer>span{background:linear-gradient(135deg,#dfb65f,#a96f25)}
.faq-section{background:rgba(255,253,249,.64)}
.faq-intro h2{font-size:clamp(2.6rem,4vw,4rem);line-height:1}
.faq-list details{border-color:rgba(49,39,27,.13)}
.faq-list summary{padding:23px 0}
.faq-list summary>b{font-size:1.27rem;line-height:1.22}
.faq-list details[open] summary>b{color:#7e5823}
.faq-answer{max-width:760px;line-height:1.78}

/* CTA */
.cta-section{padding-bottom:clamp(80px,9vw,125px)}
.cta-box{grid-template-columns:auto minmax(0,1fr) auto;gap:38px;padding:clamp(36px,4.5vw,58px);border:1px solid rgba(235,199,130,.15);border-radius:24px;background:radial-gradient(circle at 10% 30%,rgba(215,161,65,.16),transparent 17rem),linear-gradient(135deg,#211b15,#100d0b 72%);box-shadow:var(--edg-shadow-strong)}
.cta-box::before{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.06);border-radius:17px;pointer-events:none}
.cta-art{width:122px;height:122px;border-radius:26px}
.cta-copy h2{font-size:clamp(2.35rem,3.8vw,3.75rem);line-height:.98}
.cta-assurances{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:21px}
.cta-assurances span{position:relative;padding-left:14px;color:#bcb2a7;font-size:.64rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.cta-assurances span::before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;background:#d4a653;transform:translateY(-50%)}

/* Inner-page hero */
.page-hero{isolation:isolate;min-height:0;padding:clamp(70px,7vw,100px) 0;border-bottom:1px solid rgba(80,59,34,.09);background:linear-gradient(135deg,#eee5d9 0%,#f9f5ef 58%,#ebe0d2 100%)}
.page-hero::before{display:none}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 49.95%,rgba(95,69,35,.055) 50%,transparent 50.05%);background-size:180px 100%;mask-image:linear-gradient(90deg,transparent,black 25%,black 75%,transparent)}
.page-hero__inner{max-width:900px}
.page-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:28px;color:#81776d;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.page-breadcrumb a{transition:color .2s ease}.page-breadcrumb a:hover{color:#8b6024}.page-breadcrumb span{color:#b7aa9b}.page-breadcrumb b{max-width:430px;overflow:hidden;color:#4e463d;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.page-hero .eyebrow{margin-bottom:13px}
.page-hero h1{max-width:840px;font-size:clamp(3rem,5.4vw,5.25rem);line-height:.94}
.page-hero p:last-of-type{max-width:650px;margin-top:19px;font-size:1rem;line-height:1.76}
.page-hero__art{position:absolute;right:clamp(20px,7vw,110px);top:50%;width:min(29vw,370px);aspect-ratio:1;transform:translateY(-50%);opacity:.46;pointer-events:none}
.page-hero__art::before,.page-hero__art::after{content:"";position:absolute;inset:10%;border:1px solid rgba(142,97,36,.13);border-radius:42% 42% 18% 18%;transform:rotate(4deg)}
.page-hero__art::after{inset:19%;transform:rotate(-7deg)}
.page-hero__art i{position:absolute;background:linear-gradient(90deg,transparent,rgba(154,106,39,.22),transparent)}
.page-hero__art i:nth-child(1){left:0;right:0;top:50%;height:1px}.page-hero__art i:nth-child(2){top:0;bottom:0;left:50%;width:1px}
.page-hero__art span{position:absolute;inset:0;display:grid;place-items:center;color:rgba(104,75,37,.08);font-family:var(--serif);font-size:clamp(5rem,11vw,10rem);letter-spacing:-.08em}
.page-hero__rule{display:flex;align-items:center;gap:12px;width:min(420px,100%);margin-top:29px;color:#8a7c6c;font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.page-hero__rule i{flex:1;height:1px;background:linear-gradient(90deg,rgba(147,99,35,.35),transparent)}

/* Listings */
.listing-section{padding-top:clamp(72px,7vw,100px)}
.listing-grid{gap:24px}
.listing-card{border-radius:20px}
.listing-card .card-image{aspect-ratio:1.34}
.listing-card .card-body{min-height:230px}
.listing-card .card-body .text-link{margin-top:auto}
.project-listing .listing-card .card-image{aspect-ratio:1.42}

/* Detail and editorial content */
.detail-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(70px,7vw,102px) 0;border-bottom:1px solid rgba(76,56,32,.09);background:linear-gradient(135deg,#ece3d8,#f8f4ee)}
.detail-hero__art{position:absolute;left:-3vw;bottom:-11vw;z-index:-1;color:rgba(93,66,31,.04);font-family:var(--serif);font-size:clamp(13rem,29vw,31rem);line-height:1}.detail-hero__art i{display:none}
.detail-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:clamp(46px,6vw,82px)}
.detail-copy h1{font-size:clamp(3rem,5.2vw,5.3rem);line-height:.94}
.detail-copy>p:not(.eyebrow){max-width:610px;margin:22px 0 26px;font-size:1rem;line-height:1.76}
.detail-meta{display:flex;flex-wrap:wrap;gap:9px;margin:-5px 0 26px}
.detail-meta span{padding:8px 11px;border:1px solid rgba(96,68,32,.13);border-radius:999px;background:rgba(255,255,255,.44);color:#746858;font-size:.6rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.detail-visual{padding:14px}
.detail-visual::before{border-color:rgba(137,94,35,.24);border-radius:28px}
.detail-visual img{aspect-ratio:1.25;border-radius:20px;filter:saturate(.9);box-shadow:var(--edg-shadow-strong)}
.detail-visual__label{position:absolute;right:0;bottom:0;z-index:3;max-width:75%;padding:10px 15px;border:1px solid rgba(83,59,29,.12);background:rgba(255,253,249,.94);color:#775b35;font-size:.58rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;box-shadow:0 12px 35px rgba(43,30,16,.12)}
.content-section{background:rgba(255,253,249,.46)}
.content-layout{gap:clamp(48px,6vw,78px)}
.rich-text{max-width:790px;color:#504840;font-size:1rem;line-height:1.82}
.rich-text h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.03}.rich-text h3{font-size:clamp(1.55rem,2.4vw,2.15rem)}
.rich-text p:first-of-type{font-size:1.08rem}
.rich-text blockquote{border-left-width:2px;border-radius:0 16px 16px 0;background:linear-gradient(90deg,#f0e7db,#f8f3ed);font-size:1.3rem;line-height:1.55}
.content-feature-wrap{margin:0 0 38px}.content-feature-wrap figcaption{margin-top:9px;color:#85796c;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}
.content-feature{margin-bottom:0;border-radius:18px;filter:saturate(.9);box-shadow:var(--edg-shadow)}
.project-gallery{gap:15px}.project-gallery figure{overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 14px 40px rgba(39,28,16,.07)}.project-gallery img{border-radius:0}.project-gallery figcaption{padding:11px 13px}
.contact-card{top:118px;overflow:hidden;padding:30px;border:1px solid rgba(86,63,34,.11);border-radius:20px;background:linear-gradient(145deg,rgba(255,253,249,.96),rgba(240,232,222,.92));box-shadow:var(--edg-shadow)}
.contact-card__seal{position:absolute;right:-18px;top:-22px;color:rgba(120,85,40,.06);font-family:var(--serif);font-size:6.6rem;letter-spacing:-.08em}
.contact-card h2{font-size:2rem;line-height:1.04}.contact-card>p:not(.eyebrow){line-height:1.7}

/* Contact */
.contact-section{background:linear-gradient(180deg,rgba(255,253,249,.64),rgba(245,240,233,.9))}
.contact-layout{grid-template-columns:minmax(0,.78fr) minmax(0,1.15fr);gap:28px;align-items:stretch}
.contact-layout--single{grid-template-columns:minmax(0,900px);justify-content:center}
.contact-layout--single .contact-info,.contact-layout--single .quote-form{width:100%}
.form-grid--single{grid-template-columns:1fr}
.contact-info,.quote-form{border:1px solid rgba(79,58,32,.10);border-radius:22px;background:rgba(255,253,249,.90);box-shadow:var(--edg-shadow)}
.contact-info{padding:clamp(30px,4vw,48px);color:#29231e}
.contact-info h2{color:#211c17;font-size:clamp(2.3rem,3.5vw,3.25rem);line-height:1}
.contact-info>p:not(.eyebrow){color:#74695f;line-height:1.75}
.contact-assurances{display:grid;gap:8px;margin:27px 0;padding:18px 0;border-block:1px solid var(--edg-line)}
.contact-assurances span{position:relative;padding-left:18px;color:#62584e;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.contact-assurances span::before{content:"✓";position:absolute;left:0;color:#a8752c}
.contact-info dl{margin-top:24px}
.contact-info dt,.contact-info dd{border-top-color:rgba(79,58,32,.12)}
.contact-info dt{color:#9f6d25}
.contact-info dd,.contact-info dd a{color:#403830}
.contact-info dd a{transition:color .2s ease}
.contact-info dd a:hover{color:#9b6c27}
.quote-form{padding:clamp(30px,4vw,48px);gap:17px}
.form-heading{display:grid;gap:8px;margin-bottom:4px;padding-bottom:24px;border-bottom:1px solid var(--edg-line)}
.form-heading>span{color:#9b6c27;font-size:.61rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.form-heading h2{font-size:clamp(2rem,3.2vw,2.85rem);line-height:1}.form-heading p{max-width:620px;margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}
.quote-form label{color:#554b42;font-size:.68rem;letter-spacing:.04em}
.quote-form input,.quote-form textarea,.quote-form select{border-color:rgba(69,52,32,.13);border-radius:11px;background:rgba(250,247,242,.78);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{outline:none;border-color:rgba(174,119,35,.65);background:#fff;box-shadow:0 0 0 4px rgba(201,154,69,.11)}
.quote-form .btn{min-width:220px}

/* Footer */
.site-footer{padding-top:54px;background:radial-gradient(circle at 12% 12%,rgba(202,153,67,.12),transparent 25rem),linear-gradient(135deg,#17130f,#0e0c0a)}
.footer-topline{padding-bottom:27px;color:#dfbf80;font-size:clamp(.95rem,1.6vw,1.22rem);letter-spacing:.025em}
.footer-grid{grid-template-columns:1.35fr .5fr .75fr;gap:65px;padding:49px 0}
.footer-brand img{width:116px;height:116px;border:1px solid rgba(232,197,129,.22);border-radius:22px;box-shadow:0 18px 45px rgba(0,0,0,.22)}
.footer-brand h2{font-size:2.05rem}.footer-brand p{line-height:1.7}
.footer-column nav a{transition:color .2s ease,padding-left .2s ease}.footer-column nav a:hover{padding-left:4px;color:#fff}
.footer-social{display:flex!important;flex-wrap:wrap;gap:7px;margin-top:12px}
.footer-social a{display:inline-flex!important;align-items:center;gap:6px;padding:7px 10px!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:999px;color:#c9c0b6!important;font-size:.6rem!important;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.footer-social a:hover{border-color:rgba(220,177,91,.45)!important;color:#fff!important}
.footer-bottom{padding-top:20px}
.floating-action{border:1px solid rgba(235,201,134,.16);background:rgba(20,16,12,.94);backdrop-filter:blur(14px)}

/* Reveal refinements */
.js.motion-ready .reveal{transform:translateY(30px);filter:blur(3px);transition:opacity .78s var(--edg-ease),transform .78s var(--edg-ease),filter .78s var(--edg-ease);transition-delay:var(--reveal-delay,0ms)}
.js.motion-ready .reveal.is-visible{filter:none}

/* Tablet */
@media(max-width:1100px){
  .brand{min-width:220px}.main-nav{gap:16px}.main-nav>a{font-size:.69rem}.header-cta{display:none}
  .hero-slide h1,.hero-slide h2{font-size:clamp(3.4rem,7.2vw,5.6rem)}
  .hero-slider__footer{grid-template-columns:1fr auto}.hero-scroll{display:none}
  .process-rail{grid-template-columns:1fr}.process-rail span{grid-template-columns:42px 80px 1fr;align-items:center;padding:14px 0!important;border-right:0!important;border-bottom:1px solid rgba(60,45,28,.12)!important}.process-rail span:last-child{border-bottom:0!important}.process-rail b{font-size:1.25rem!important}
  .page-hero__art{right:-2vw;opacity:.34}
  .footer-grid{gap:38px}
}

/* Mobile navigation and stacked layouts */
@media(max-width:860px){
  html{scroll-padding-top:78px}
  .header-inner{min-height:76px}.brand{max-width:calc(100% - 58px)}.brand-mark{width:48px;height:48px}.brand-copy strong{font-size:.9rem}
  .main-nav{inset-block-start:100%;border-top:1px solid rgba(61,45,26,.08);background:rgba(252,249,244,.985)}
  .main-nav.is-open{max-height:calc(100dvh - 76px);padding:16px 24px 30px}
  .main-nav>a{font-size:1.26rem;text-transform:none;letter-spacing:-.01em}
  .main-nav>a.is-active{color:#996820}
  .hero-slider,.hero-slide__inner{min-height:max(680px,calc(100svh - 76px))}
  .hero-slide__inner{align-items:flex-end;padding-top:92px;padding-bottom:132px}
  .hero-slide__content{max-width:680px;padding-left:24px}
  .hero-slide__monogram{left:16px;top:-67px;font-size:7rem}
  .hero-slide h1,.hero-slide h2{font-size:clamp(3rem,9vw,4.7rem)}
  .hero-slide__signature{display:none}
  .hero-slider__footer{bottom:12px;width:min(calc(100% - 28px),var(--container));padding:10px 13px;border-radius:15px}
  .hero-trust{display:none}
  .section-heading{grid-template-columns:1fr;gap:22px}.section-side{max-width:650px;padding-left:17px}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split{gap:48px}.feature-wrap{max-width:620px}
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:270px}.project-card,.project-card--1,.project-card--2,.project-card--3,.project-card--4,.project-card--5,.project-card--6{grid-column:span 1;grid-row:span 1}
  .faq-layout{gap:40px}
  .cta-box{grid-template-columns:1fr}.cta-art{display:none}.cta-box>.btn{justify-self:start}
  .page-hero{padding:58px 0 66px}.page-hero__art{right:-11vw;width:46vw}.page-hero h1{font-size:clamp(2.7rem,8vw,4.25rem)}
  .detail-grid,.content-layout,.contact-layout{grid-template-columns:1fr}.detail-visual{max-width:720px}.contact-card{position:relative;top:auto}.contact-layout{gap:22px}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
}

@media(max-width:620px){
  body::before{display:none}
  .container{width:min(calc(100% - 28px),var(--container))}
  .header-inner{min-height:70px}.brand-mark{width:44px;height:44px;border-radius:13px}.brand-copy strong{font-size:.78rem}.brand-copy small{display:none}.menu-toggle{width:42px;height:42px}
  .main-nav.is-open{max-height:calc(100dvh - 70px)}
  .hero-slider,.hero-slide__inner{min-height:max(630px,calc(100svh - 70px))}
  .hero-slide__inner{padding-top:88px;padding-bottom:128px}
  .hero-slide__content{padding-left:18px}
  .hero-slide__monogram{top:-53px;font-size:5.9rem}
  .hero-slide h1,.hero-slide h2{font-size:clamp(2.7rem,12vw,3.65rem);line-height:.95}
  .hero-slide__lead{font-size:.92rem;line-height:1.62}
  .hero-slide__actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:24px}.hero-slide__actions .btn{width:100%;min-height:49px}
  .hero-slider__footer{bottom:8px;padding:8px 10px}.hero-controls{justify-self:start}.hero-progress{left:10px;right:10px}
  .section{padding:68px 0}.section-heading{margin-bottom:31px}.section-heading h2,.split-copy h2,.testimonial-heading h2,.faq-intro h2{font-size:clamp(2.15rem,9.8vw,3.05rem)}
  .card-grid{grid-template-columns:1fr;gap:17px}.card{border-radius:18px}.card-body{padding:21px}.card-body h2,.card-body h3{font-size:1.52rem}.listing-card .card-body{min-height:0}
  .feature-wrap{min-height:0;padding:11px}.feature-image{height:auto;aspect-ratio:4/5;border-radius:39% 39% 17px 17px}.feature-frame{border-radius:41% 41% 20px 20px}.feature-badge{right:-2px;top:38px;width:95px;height:95px}.feature-caption{max-width:88%;font-size:.53rem}
  .process-rail span{grid-template-columns:34px 66px 1fr;font-size:.73rem!important}.process-rail i{font-size:.54rem}
  .project-grid{grid-template-columns:1fr;grid-auto-rows:auto}.project-card,.project-card--1,.project-card--2,.project-card--3,.project-card--4,.project-card--5,.project-card--6{aspect-ratio:4/3}.project-overlay{padding:56px 18px 17px}.project-overlay strong{font-size:1.35rem}
  .testimonial-track blockquote{min-height:0;padding:23px 20px}.testimonial-track blockquote>p{font-size:1.02rem}
  .faq-list summary{grid-template-columns:34px minmax(0,1fr) 20px}.faq-list summary>b{font-size:1.08rem}.faq-answer{padding-left:42px}
  .cta-box{padding:29px 20px;border-radius:20px}.cta-copy h2{font-size:clamp(2rem,9vw,2.75rem)}.cta-assurances{display:grid;gap:8px}.cta-box>.btn{width:100%}
  .page-hero{padding:44px 0 50px}.page-breadcrumb{margin-bottom:20px}.page-breadcrumb b{max-width:235px}.page-hero__art{right:-22vw;width:68vw;opacity:.25}.page-hero h1{font-size:clamp(2.35rem,10.7vw,3.25rem)}.page-hero p:last-of-type{font-size:.92rem;line-height:1.62}.page-hero__rule{margin-top:22px}
  .detail-hero{padding:45px 0 52px}.detail-copy h1{font-size:clamp(2.35rem,10.5vw,3.35rem)}.detail-copy>p:not(.eyebrow){font-size:.94rem}.detail-visual{padding:8px}.detail-visual__label{max-width:88%;font-size:.5rem}.detail-meta{margin-bottom:21px}
  .content-section{padding-top:59px}.content-layout{gap:28px}.rich-text{font-size:.96rem}.rich-text p:first-of-type{font-size:1rem}.rich-text blockquote{padding:18px 20px;font-size:1.13rem}
  .contact-card,.contact-info,.quote-form{padding:23px 19px;border-radius:18px}.contact-info h2{font-size:2rem}.form-heading h2{font-size:2rem}.form-grid{grid-template-columns:1fr}.quote-form .btn{width:100%;min-width:0}
  .footer-grid{grid-template-columns:1fr;gap:29px}.footer-brand{align-items:flex-start;flex-direction:column}.footer-brand img{width:88px;height:88px}.footer-social{gap:6px}.footer-bottom{grid-template-columns:1fr;text-align:center}.footer-bottom>a{text-align:center}
  [data-luxury-card]::after{display:none}
}

@media(max-width:390px){
  .container{width:min(calc(100% - 22px),var(--container))}
  .hero-slide h1,.hero-slide h2{font-size:clamp(2.45rem,11.8vw,3rem)}
  .page-breadcrumb b{max-width:190px}
  .process-rail span{grid-template-columns:31px 1fr}.process-rail span i{grid-column:2}.process-rail span:not(i){font-size:.7rem!important}
}

@media(hover:none){[data-luxury-card]::after{display:none}}
@media(prefers-reduced-motion:reduce){.site-scroll-progress i{transition:none}.btn::before{display:none}}


/* EDG Remodel v12 — refined inner-page hero redesign */
.page-hero,
.detail-hero{
  isolation:isolate;
  overflow:hidden;
}

.page-hero{
  padding:clamp(48px,5vw,68px) 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(201,154,69,.16), transparent 18rem),
    radial-gradient(circle at 92% 12%, rgba(167,157,145,.16), transparent 20rem),
    linear-gradient(135deg,#efe7dc 0%,#f8f4ee 55%,#ece2d5 100%);
  border-bottom:1px solid rgba(87,63,33,.08);
}
.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent 0 11%, rgba(129,95,47,.05) 11% 11.1%, transparent 11.1% 100%),
    linear-gradient(180deg, rgba(255,255,255,.45), transparent 36%);
}
.page-hero__inner{
  position:relative;
  z-index:1;
  max-width:none;
  padding:clamp(24px,3vw,38px) clamp(22px,3.4vw,40px);
  padding-right:min(32vw,330px);
  border:1px solid rgba(88,64,33,.10);
  border-radius:28px;
  background:linear-gradient(145deg, rgba(255,255,255,.84), rgba(250,245,238,.94));
  box-shadow:0 18px 60px rgba(45,32,17,.08), inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter:blur(8px);
}
.page-breadcrumb{
  width:max-content;
  max-width:100%;
  margin-bottom:18px;
  padding:9px 14px;
  border:1px solid rgba(96,69,34,.11);
  border-radius:999px;
  background:rgba(255,255,255,.52);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
.page-breadcrumb b{
  max-width:clamp(160px,36vw,420px);
}
.page-hero .eyebrow{
  margin-bottom:10px;
}
.page-hero h1{
  max-width:12ch;
  font-size:clamp(2.7rem,4.8vw,4.85rem);
  line-height:.96;
}
.page-hero p:last-of-type{
  max-width:58ch;
  margin-top:15px;
  color:#5d544c;
  font-size:clamp(.96rem,1.1vw,1.04rem);
  line-height:1.74;
}
.page-hero__rule{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:auto;
  min-height:38px;
  margin-top:22px;
  padding:9px 14px;
  border:1px solid rgba(96,69,34,.10);
  border-radius:999px;
  background:rgba(255,255,255,.56);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
  color:#7c715f;
  font-size:.59rem;
  letter-spacing:.12em;
}
.page-hero__rule i{
  flex:0 0 18px;
  width:18px;
  height:1px;
  background:linear-gradient(90deg,var(--edg-gold-dark),var(--edg-gold));
}
.page-hero__art{
  right:clamp(18px,4vw,54px);
  top:50%;
  width:min(22vw,245px);
  min-width:165px;
  aspect-ratio:1;
  transform:translateY(-50%);
  opacity:1;
}
.page-hero__art::before,
.page-hero__art::after{
  inset:auto;
  position:absolute;
  content:"";
  border-radius:30px;
}
.page-hero__art::before{
  inset:0;
  border:1px solid rgba(146,103,41,.18);
  background:linear-gradient(145deg, rgba(255,255,255,.45), rgba(235,225,211,.68));
  box-shadow:0 18px 45px rgba(54,38,20,.08), inset 0 1px 0 rgba(255,255,255,.8);
}
.page-hero__art::after{
  inset:14px;
  border:1px solid rgba(146,103,41,.18);
  background:radial-gradient(circle at 32% 22%, rgba(255,255,255,.9), rgba(240,231,219,.55) 46%, rgba(224,214,201,.18) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.page-hero__art i{
  z-index:2;
  opacity:.45;
  background:linear-gradient(90deg, transparent, rgba(166,117,44,.22), transparent);
}
.page-hero__art span{
  z-index:3;
  color:rgba(108,79,39,.16);
  font-size:clamp(3.2rem,6.7vw,5.35rem);
  letter-spacing:-.085em;
}
.page-hero--listing .page-hero__art span{content:"EDG";}

.detail-hero{
  padding:clamp(54px,5.5vw,78px) 0;
  background:
    radial-gradient(circle at 85% 15%, rgba(201,154,69,.10), transparent 18rem),
    linear-gradient(135deg,#efe7dc,#f8f4ee 58%,#ede3d6);
}
.detail-hero__art{
  display:none;
}
.detail-copy{
  padding:clamp(22px,2.8vw,34px);
  border:1px solid rgba(89,66,34,.10);
  border-radius:28px;
  background:linear-gradient(145deg, rgba(255,255,255,.82), rgba(249,244,237,.94));
  box-shadow:0 18px 60px rgba(45,32,17,.08), inset 0 1px 0 rgba(255,255,255,.76);
}
.detail-copy .page-breadcrumb{
  margin-bottom:18px;
}
.detail-copy h1{
  max-width:12ch;
  font-size:clamp(2.7rem,4.6vw,4.9rem);
  line-height:.96;
}
.detail-copy>p:not(.eyebrow){
  max-width:54ch;
  margin:18px 0 24px;
  color:#5d544c;
}
.detail-meta{
  gap:10px;
  margin:-2px 0 24px;
}
.detail-meta span{
  padding:8px 12px;
  border-color:rgba(96,68,32,.11);
  background:rgba(255,255,255,.56);
}
.detail-visual{
  padding:14px;
  border-radius:30px;
  background:linear-gradient(145deg, rgba(255,255,255,.60), rgba(234,224,211,.60));
  box-shadow:0 20px 60px rgba(45,32,17,.08);
}
.detail-visual::before{
  inset:0;
  border-color:rgba(137,94,35,.16);
  border-radius:30px;
}
.detail-visual img{
  border-radius:22px;
}
.detail-visual__label{
  right:14px;
  bottom:14px;
  border-radius:999px;
}

@media (max-width: 980px){
  .page-hero__inner{
    padding-right:clamp(20px,3vw,28px);
  }
  .page-hero__art{
    position:relative;
    right:auto;
    top:auto;
    transform:none;
    width:150px;
    min-width:150px;
    margin:20px 0 0 auto;
  }
  .detail-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 620px){
  .page-hero{
    padding:32px 0 38px;
  }
  .page-hero__inner{
    padding:18px 16px;
    border-radius:22px;
  }
  .page-breadcrumb{
    margin-bottom:14px;
    padding:8px 11px;
    gap:6px;
    font-size:.58rem;
  }
  .page-hero .eyebrow{
    margin-bottom:8px;
  }
  .page-hero h1{
    max-width:none;
    font-size:clamp(2.1rem,10.3vw,3.25rem);
  }
  .page-hero p:last-of-type{
    margin-top:12px;
    font-size:.93rem;
    line-height:1.62;
  }
  .page-hero__rule{
    min-height:34px;
    margin-top:18px;
    padding:8px 12px;
    font-size:.55rem;
  }
  .page-hero__art{
    display:none;
  }
  .detail-hero{
    padding:38px 0 44px;
  }
  .detail-copy{
    padding:18px 16px;
    border-radius:22px;
  }
  .detail-copy h1{
    max-width:none;
    font-size:clamp(2.1rem,10vw,3.2rem);
  }
  .detail-copy>p:not(.eyebrow){
    margin:14px 0 20px;
    font-size:.94rem;
    line-height:1.62;
  }
  .detail-visual{
    padding:10px;
    border-radius:24px;
  }
  .detail-visual::before,
  .detail-visual img{
    border-radius:18px;
  }
  .detail-visual__label{
    right:10px;
    bottom:10px;
    max-width:calc(100% - 20px);
    padding:9px 12px;
    font-size:.54rem;
  }
}


/* EDG Remodel v13 — gold service ticker */
.signature-strip{
  border-block-color:rgba(102,65,16,.28);
  background:
    linear-gradient(90deg,rgba(255,255,255,.10),transparent 18%,transparent 82%,rgba(255,255,255,.10)),
    linear-gradient(135deg,#d3a34d 0%,#bd812b 48%,#9f681f 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.27),inset 0 -1px 0 rgba(96,59,14,.22);
  backdrop-filter:none;
}
.signature-set span{
  color:#fffaf1;
  text-shadow:0 1px 0 rgba(78,47,9,.20);
}
.signature-set i{
  color:#fff4d9;
  filter:drop-shadow(0 1px 0 rgba(79,46,8,.22));
}


/* EDG Remodel v13.1 — continuous gold ticker loop */
.signature-strip{
  overflow:hidden;
}
.signature-track{
  display:flex;
  width:max-content;
  min-width:100%;
  align-items:center;
  animation:edgTicker 26s linear infinite;
  will-change:transform;
}
.signature-set{
  flex:0 0 auto;
  align-items:center;
}
.signature-set:last-child i:last-child{
  display:none;
}
@keyframes edgTicker{
  from{transform:translateX(0)}
  to{transform:translateX(-25%)}
}
@media (max-width: 620px){
  .signature-track{animation-duration:22s}
}
@media (prefers-reduced-motion: reduce){
  .signature-track{animation:none}
}


/* EDG Remodel v14 — premium desktop header redesign */
.site-header{
  border-bottom:1px solid rgba(82,60,31,.10);
  background:linear-gradient(180deg, rgba(252,249,244,.97), rgba(248,244,238,.95));
  box-shadow:0 1px 0 rgba(255,255,255,.9);
}
.site-header.is-scrolled{
  background:rgba(255,252,247,.96);
  box-shadow:0 16px 44px rgba(33,24,15,.09);
}

@media (min-width: 861px){
  .header-inner{
    min-height:96px;
    gap:24px;
  }
  .brand{
    gap:16px;
    min-width:320px;
    max-width:380px;
  }
  .brand-mark{
    flex:0 0 64px;
    width:64px;
    height:64px;
    border-radius:20px;
    border:1px solid rgba(177,128,49,.28);
    background:linear-gradient(145deg,#faf4eb,#e9dccb);
    box-shadow:0 16px 34px rgba(59,40,18,.08), inset 0 1px 0 rgba(255,255,255,.9), inset 0 0 0 4px rgba(255,255,255,.72);
  }
  .brand-mark img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:inherit;
  }
  .brand-copy{
    display:grid;
    gap:4px;
    min-width:0;
  }
  .brand-copy strong{
    color:#1f1913;
    font-size:clamp(1.18rem,1.25vw,1.34rem);
    line-height:1.06;
    letter-spacing:-.02em;
  }
  .brand-copy small{
    color:#817567;
    font-size:.69rem;
    line-height:1.35;
    letter-spacing:.18em;
  }

  .main-nav{
    margin-left:auto;
    align-items:center;
    gap:4px;
    padding:8px 12px 8px 16px;
    border:1px solid rgba(86,62,32,.09);
    border-radius:20px;
    background:linear-gradient(145deg, rgba(255,255,255,.7), rgba(249,245,239,.92));
    box-shadow:0 12px 34px rgba(44,31,17,.05), inset 0 1px 0 rgba(255,255,255,.85);
    backdrop-filter:blur(10px);
  }
  .main-nav>a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 14px;
    border-radius:12px;
    color:#4f463d;
    font-size:.79rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
    transition:background .25s ease, color .25s ease, box-shadow .25s ease, transform .25s ease;
  }
  .main-nav>a::after{
    left:12px;
    right:12px;
    bottom:7px;
    height:2px;
    opacity:0;
    transform:scaleX(.4);
    transform-origin:center;
    transition:transform .25s ease, opacity .25s ease;
  }
  .main-nav>a:hover{
    color:#1f1812;
    background:rgba(255,255,255,.58);
  }
  .main-nav>a:hover::after,
  .main-nav>a.is-active::after{
    opacity:1;
    transform:scaleX(1);
  }
  .main-nav>a.is-active{
    color:#1d1711;
    background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(246,240,231,.88));
    box-shadow:inset 0 0 0 1px rgba(120,88,42,.06);
  }
  .language-switch{
    margin-left:8px;
    padding:4px 6px;
    border:1px solid rgba(87,63,33,.10);
    border-radius:16px;
    background:rgba(255,255,255,.82);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.86);
  }
  .language-switch a{
    min-width:40px;
    min-height:34px;
    border-radius:10px;
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.08em;
  }
  .language-switch a.is-active{
    background:linear-gradient(135deg, rgba(211,163,77,.18), rgba(189,129,43,.14));
    color:#7d551d;
  }
  .header-cta{
    min-height:56px;
    padding-inline:28px;
    border-radius:16px;
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.1em;
    box-shadow:0 18px 40px rgba(162,109,31,.18), inset 0 1px 0 rgba(255,255,255,.28);
  }
}

@media (min-width: 861px) and (max-width: 1180px){
  .header-inner{gap:18px}
  .brand{min-width:270px;max-width:320px}
  .brand-copy strong{font-size:1.05rem}
  .brand-copy small{font-size:.62rem;letter-spacing:.14em}
  .main-nav{padding:8px 10px 8px 12px}
  .main-nav>a{padding:0 11px;font-size:.72rem;letter-spacing:.08em}
  .language-switch a{min-width:36px}
  .header-cta{padding-inline:21px;font-size:.74rem}
}


/* EDG Remodel v14.2 — selected works cleaner layout */
.projects-section{
  background:linear-gradient(180deg, rgba(248,244,238,.95), rgba(244,238,230,.92));
}
.projects-section .section-heading{
  margin-bottom:34px;
}
.projects-section .project-grid{
  grid-template-columns:repeat(3, minmax(0,1fr));
  grid-auto-rows:auto;
  gap:22px;
  align-items:stretch;
}
.projects-section .project-card,
.projects-section .project-card--1,
.projects-section .project-card--2,
.projects-section .project-card--3,
.projects-section .project-card--4,
.projects-section .project-card--5,
.projects-section .project-card--6{
  grid-column:span 1;
  grid-row:span 1;
  min-height:0;
  aspect-ratio:1.12;
  border:1px solid rgba(88,63,31,.10);
  border-radius:24px;
  background:#fffdf9;
  box-shadow:0 18px 42px rgba(39,28,16,.07), inset 0 1px 0 rgba(255,255,255,.85);
}
.projects-section .project-card--1{
  grid-column:span 2;
  aspect-ratio:1.9;
}
.projects-section .project-card img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.projects-section .project-overlay{
  padding:70px 24px 22px;
  background:linear-gradient(180deg, rgba(8,6,5,0) 18%, rgba(8,6,5,.22) 48%, rgba(8,6,5,.82) 100%);
}
.projects-section .project-overlay small{
  color:#f0d8aa;
  font-size:.58rem;
  letter-spacing:.18em;
}
.projects-section .project-overlay strong{
  font-size:clamp(1.24rem,1.9vw,1.7rem);
  line-height:1.06;
}
.projects-section .project-card--1 .project-overlay strong{
  font-size:clamp(1.7rem,2.7vw,2.35rem);
}
.projects-section .project-overlay b{
  width:44px;
  height:44px;
  border-color:rgba(255,255,255,.36);
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(8px);
}
.projects-section .project-card em{
  left:16px;
  top:16px;
  padding:8px 10px;
  background:rgba(14,11,8,.44);
  border:1px solid rgba(255,255,255,.22);
}
.projects-section .project-footer{
  margin-top:28px;
  padding-top:22px;
}

@media (max-width: 980px){
  .projects-section .project-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:18px;
  }
  .projects-section .project-card--1{
    grid-column:1 / -1;
    aspect-ratio:1.7;
  }
}

@media (max-width: 620px){
  .projects-section .section-heading{
    margin-bottom:24px;
  }
  .projects-section .project-grid{
    grid-template-columns:1fr;
    gap:15px;
  }
  .projects-section .project-card,
  .projects-section .project-card--1,
  .projects-section .project-card--2,
  .projects-section .project-card--3,
  .projects-section .project-card--4,
  .projects-section .project-card--5,
  .projects-section .project-card--6{
    grid-column:span 1;
    aspect-ratio:4/3;
    border-radius:20px;
  }
  .projects-section .project-overlay{
    padding:54px 18px 18px;
  }
  .projects-section .project-card--1 .project-overlay strong,
  .projects-section .project-overlay strong{
    font-size:1.34rem;
  }
}


/* EDG Remodel v15 — restore original homepage hero and organize selected work */
.hero-slider{
  min-height:max(660px,calc(100svh - 96px));
  background:#15110e;
}
.hero-slide__inner{
  min-height:max(660px,calc(100svh - 96px));
  align-items:center;
  padding-top:70px;
  padding-bottom:150px;
}
.hero-slide__media img,
.hero-slide__media video{
  filter:none;
}
.hero-slide__overlay{
  background:
    linear-gradient(90deg,rgba(10,8,6,calc(var(--hero-overlay) + .18)) 0%,rgba(10,8,6,var(--hero-overlay)) 42%,rgba(10,8,6,.16) 78%,rgba(10,8,6,.30) 100%),
    linear-gradient(180deg,rgba(9,7,5,.12),rgba(9,7,5,.05) 60%,rgba(9,7,5,.48));
}
.hero-slide--center .hero-slide__overlay{
  background:linear-gradient(90deg,rgba(10,8,6,.4),rgba(10,8,6,var(--hero-overlay)),rgba(10,8,6,.4));
}
.hero-slide--right .hero-slide__overlay{
  background:linear-gradient(270deg,rgba(10,8,6,calc(var(--hero-overlay) + .18)),rgba(10,8,6,var(--hero-overlay)) 42%,rgba(10,8,6,.18) 80%);
}
.hero-slide__lines i:first-child{
  left:7.2%;
  background:rgba(255,255,255,.12);
}
.hero-slide__content{
  max-width:820px;
  padding-left:0;
  border-left:0;
}
.hero-slide__monogram{display:none!important}
.hero-slide__eyebrow{
  margin-bottom:22px;
  color:#e6c788;
  font-size:.72rem;
}
.hero-slide h1,
.hero-slide h2{
  max-width:900px;
  font-size:clamp(3rem,7vw,6.9rem);
  line-height:1.05;
  letter-spacing:-.035em;
}
.hero-slide__lead{
  max-width:650px;
  margin-top:25px;
  font-size:clamp(1.02rem,1.55vw,1.22rem);
  line-height:1.72;
}
.hero-slide__actions{margin-top:34px}
.hero-slide__signature{
  min-width:270px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:0;
  background:rgba(12,9,7,.22);
  box-shadow:none;
  backdrop-filter:blur(13px);
}
.hero-slide__signature>span{font-size:2.5rem}
.hero-slider__footer{
  bottom:0;
  min-height:94px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.hero-trust{gap:20px}
.hero-trust span{font-size:.67rem;letter-spacing:.06em}
.hero-controls>button{width:42px;height:42px;background:rgba(11,9,7,.18)}
.hero-progress{left:0;right:0;bottom:0}
.hero-scroll{padding-right:0}

.projects-section{
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 12%,rgba(201,154,69,.09),transparent 23rem),
    linear-gradient(180deg,rgba(255,253,249,.76),rgba(244,238,230,.92));
}
.projects-section .section-heading{
  align-items:end;
  margin-bottom:38px;
  padding-bottom:26px;
  border-bottom:1px solid rgba(75,55,31,.11);
}
.projects-section .section-heading h2{
  max-width:720px;
}
.projects-section .section-side{
  max-width:430px;
  justify-self:end;
}
.project-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:250px;
  gap:20px;
}
.project-card,
.project-card--1,
.project-card--2,
.project-card--3,
.project-card--4,
.project-card--5,
.project-card--6{
  grid-column:span 4;
  grid-row:span 1;
  min-height:250px;
  border-radius:22px;
  box-shadow:0 18px 48px rgba(39,28,16,.09);
}
.project-card:first-child{
  grid-column:span 8;
  grid-row:span 2;
  min-height:520px;
}
.project-card:nth-child(2),
.project-card:nth-child(3){
  grid-column:span 4;
  grid-row:span 1;
}
.project-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  border:1px solid rgba(255,255,255,.16);
  border-radius:inherit;
  pointer-events:none;
}
.project-card img{
  filter:saturate(.92) contrast(1.02);
}
.project-overlay{
  z-index:3;
  padding:68px 22px 20px;
  background:linear-gradient(180deg,transparent 0%,rgba(10,8,6,.18) 35%,rgba(10,8,6,.86) 100%);
}
.project-card:first-child .project-overlay{
  padding:100px 30px 28px;
}
.project-overlay small{
  color:#edc97f;
  font-size:.61rem;
  letter-spacing:.14em;
}
.project-overlay strong{
  max-width:18ch;
  font-size:clamp(1.35rem,2.2vw,2rem);
  line-height:1.04;
}
.project-card:first-child .project-overlay strong{
  font-size:clamp(2rem,3.2vw,3.2rem);
}
.project-overlay b{
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}
.project-card em{
  z-index:4;
  left:18px;
  top:18px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(10,8,6,.34);
  backdrop-filter:blur(8px);
}
.project-footer{
  margin-top:30px;
  padding-top:24px;
  border-top:1px solid rgba(75,55,31,.11);
}

@media(max-width:980px){
  .hero-slider,
  .hero-slide__inner{min-height:760px}
  .hero-slide__inner{padding-top:90px;padding-bottom:155px}
  .hero-slide h1,
  .hero-slide h2{font-size:clamp(3rem,10vw,5.5rem)}
  .hero-slide__signature{display:none}
  .hero-slider__footer{grid-template-columns:1fr auto;bottom:18px}
  .hero-trust{display:none}

  .project-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:auto;
  }
  .project-card,
  .project-card--1,
  .project-card--2,
  .project-card--3,
  .project-card--4,
  .project-card--5,
  .project-card--6{
    grid-column:span 1;
    grid-row:span 1;
    min-height:0;
    aspect-ratio:4/3;
  }
  .project-card:first-child{
    grid-column:1/-1;
    grid-row:span 1;
    min-height:0;
    aspect-ratio:16/9;
  }
}

@media(max-width:620px){
  .hero-slider,
  .hero-slide__inner{min-height:max(620px,calc(100svh - 70px))}
  .hero-slide__inner{
    align-items:flex-end;
    padding-top:82px;
    padding-bottom:138px;
  }
  .hero-slide__content{
    width:100%;
    max-width:100%;
    text-align:left!important;
  }
  .hero-slide h1,
  .hero-slide h2{
    font-size:clamp(2.55rem,13vw,4.1rem);
    line-height:1.01;
  }
  .hero-slide__lead{font-size:.96rem;line-height:1.58}
  .hero-slide__actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:24px;
  }
  .hero-slide__actions .btn{width:100%}
  .hero-slider__footer{bottom:8px;grid-template-columns:1fr}
  .hero-controls{justify-self:start}
  .hero-progress{bottom:-8px;width:100vw;left:calc((100vw - 100%)/-2)}

  .projects-section .section-heading{
    margin-bottom:26px;
    padding-bottom:20px;
  }
  .projects-section .section-side{
    justify-self:start;
  }
  .project-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .project-card,
  .project-card:first-child,
  .project-card--1,
  .project-card--2,
  .project-card--3,
  .project-card--4,
  .project-card--5,
  .project-card--6{
    grid-column:1;
    aspect-ratio:4/3;
    border-radius:18px;
  }
  .project-card:first-child .project-overlay,
  .project-overlay{padding:58px 18px 17px}
  .project-card:first-child .project-overlay strong,
  .project-overlay strong{font-size:1.45rem}
  .project-footer{
    align-items:flex-start;
    flex-direction:column;
    gap:18px;
  }
}


/* EDG Remodel v15.4 — restrained intro-inspired page transition */
.page-transition{
  position:fixed;
  inset:0;
  z-index:2147482000;
  display:grid;
  place-items:center;
  overflow:hidden;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  background:#0d0b09;
  transition:visibility 0s linear .68s,opacity .18s ease .48s;
}
.page-transition__panel{
  position:absolute;
  inset-block:0;
  width:50.1%;
  z-index:1;
  background:linear-gradient(145deg,#18130e,#0c0a08 58%,#17110a);
  box-shadow:inset 0 0 90px rgba(0,0,0,.36);
  transition:transform .48s cubic-bezier(.76,0,.24,1);
  will-change:transform;
}
.page-transition__panel--left{
  left:0;
  border-right:1px solid rgba(223,174,78,.08);
  transform:translate3d(-102%,0,0);
}
.page-transition__panel--right{
  right:0;
  border-left:1px solid rgba(223,174,78,.08);
  transform:translate3d(102%,0,0);
}
.page-transition__light{
  position:absolute;
  inset:-30%;
  z-index:2;
  opacity:0;
  background:
    radial-gradient(circle at 50% 48%,rgba(245,207,129,.18),transparent 18%),
    radial-gradient(circle at 50% 54%,rgba(172,104,20,.12),transparent 38%);
  transform:scale(.96);
  transition:opacity .24s ease .18s,transform .5s ease .08s;
}
.page-transition__content{
  position:relative;
  z-index:3;
  display:grid;
  justify-items:center;
  width:min(48vw,220px);
  opacity:0;
  transform:translateY(8px) scale(.92);
  transition:opacity .24s ease .2s,transform .42s cubic-bezier(.22,1,.36,1) .14s;
}
.page-transition__logo{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.55)) drop-shadow(0 0 18px rgba(223,167,67,.16));
}
.page-transition__line{
  display:block;
  width:min(150px,62%);
  height:1px;
  margin-top:-12px;
  overflow:hidden;
  background:rgba(255,255,255,.11);
}
.page-transition__line::after{
  content:"";
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,#946020,#e4b65b,#fff1c4,#a36a24);
  box-shadow:0 0 12px rgba(231,183,91,.34);
  transition:transform .38s ease .2s;
}
.page-transition.is-active{
  visibility:visible;
  opacity:1;
  transition:opacity .1s ease;
}
.page-transition.is-active .page-transition__panel--left,
.page-transition.is-active .page-transition__panel--right{
  transform:translate3d(0,0,0);
}
.page-transition.is-active .page-transition__light{
  opacity:1;
  transform:scale(1);
}
.page-transition.is-active .page-transition__content{
  opacity:1;
  transform:none;
}
.page-transition.is-active .page-transition__line::after{
  transform:scaleX(1);
}
body.page-is-leaving{
  cursor:progress;
}
body.page-is-leaving > :not(.page-transition){
  transition:opacity .26s ease,transform .26s ease;
  opacity:.94;
  transform:scale(.997);
}
@media (max-width:620px){
  .page-transition__content{width:min(54vw,180px)}
  .page-transition__line{margin-top:-9px}
}
@media (prefers-reduced-motion:reduce){
  .page-transition{display:none!important}
}


/* EDG Remodel v15.4 — clean, non-wrapping desktop header */
@media (min-width:861px){
  .site-header .container{
    width:min(calc(100% - 48px),1560px);
  }
  .header-inner{
    min-height:90px;
    gap:clamp(18px,1.8vw,32px);
  }
  .brand{
    flex:0 0 auto;
    min-width:0;
    max-width:none;
    gap:14px;
    white-space:nowrap;
  }
  .brand-mark{
    flex:0 0 58px;
    width:58px;
    height:58px;
    border-radius:17px;
  }
  .brand-copy{
    min-width:0;
    gap:3px;
  }
  .brand-copy strong,
  .brand-copy small{
    overflow-wrap:normal;
    word-break:normal;
    white-space:nowrap;
  }
  .brand-copy strong{
    font-size:1.12rem;
    line-height:1.08;
    letter-spacing:-.012em;
  }
  .brand-copy small{
    font-size:.64rem;
    line-height:1.25;
    letter-spacing:.16em;
  }

  .main-nav{
    flex:1 1 auto;
    min-width:0;
    margin-left:auto;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    justify-content:center;
    gap:clamp(15px,1.45vw,28px);
  }
  .main-nav>a{
    flex:0 0 auto;
    min-height:0;
    padding:12px 0;
    border-radius:0;
    background:transparent!important;
    box-shadow:none!important;
    color:#4d463e;
    font-size:.75rem;
    font-weight:800;
    line-height:1;
    letter-spacing:.075em;
    text-transform:uppercase;
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:normal;
  }
  .main-nav>a::after{
    left:0;
    right:100%;
    bottom:5px;
    height:2px;
    opacity:1;
    transform:none;
    background:linear-gradient(90deg,var(--edg-gold-dark),var(--edg-gold));
    transition:right .25s ease;
  }
  .main-nav>a:hover,
  .main-nav>a.is-active{
    color:#1d1711;
    background:transparent!important;
  }
  .main-nav>a:hover::after,
  .main-nav>a.is-active::after{
    right:0;
    transform:none;
  }
  .language-switch{
    flex:0 0 auto;
    min-width:108px;
    min-height:44px;
    margin-left:4px;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(255,255,255,.64);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
  }
  .language-switch a{
    display:grid;
    place-items:center;
    min-width:36px;
    min-height:32px;
    padding:0;
    border-radius:999px;
    font-size:.69rem;
    white-space:nowrap;
  }
  .language-switch a.is-active{
    background:rgba(201,154,69,.16);
    color:#7c551d;
  }
  .header-cta{
    flex:0 0 auto;
    min-height:52px;
    padding-inline:24px;
    border-radius:14px;
    font-size:.76rem;
    letter-spacing:.08em;
    white-space:nowrap;
  }
}

@media (min-width:861px) and (max-width:1320px){
  .site-header .container{width:min(calc(100% - 28px),1320px)}
  .header-inner{gap:16px}
  .brand{gap:11px}
  .brand-mark{flex-basis:52px;width:52px;height:52px;border-radius:15px}
  .brand-copy strong{font-size:.98rem}
  .brand-copy small{display:none}
  .main-nav{gap:13px}
  .main-nav>a{font-size:.67rem;letter-spacing:.055em}
  .language-switch{min-width:96px;margin-left:0}
  .language-switch a{min-width:32px}
  .header-cta{min-height:48px;padding-inline:18px;font-size:.69rem}
}

@media (min-width:861px) and (max-width:1100px){
  .brand-copy strong{font-size:.92rem}
  .main-nav{gap:11px}
  .main-nav>a{font-size:.64rem}
  .language-switch{min-width:90px}
}


/* EDG Remodel v16 — floating-header, full-canvas homepage hero */
.home-page{
  --home-header-top:22px;
}
.home-page .site-header{
  position:absolute;
  top:var(--home-header-top);
  left:0;
  right:0;
  z-index:90;
  border:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.home-page .site-header .site-scroll-progress{display:none}
.home-page .site-header .container{
  width:min(calc(100% - 56px),1420px);
}
.home-page .header-inner{
  min-height:92px;
  padding:10px 16px 10px 22px;
  border:1px solid rgba(255,255,255,.68);
  border-radius:999px;
  background:rgba(249,246,240,.94);
  box-shadow:
    0 18px 48px rgba(18,13,9,.22),
    0 0 0 1px rgba(169,125,54,.18),
    inset 0 1px 0 rgba(255,255,255,.96);
  backdrop-filter:blur(18px) saturate(1.08);
}
.home-page .site-header.is-scrolled{
  position:fixed;
  top:12px;
  background:transparent;
  box-shadow:none;
}
.home-page .site-header.is-scrolled .header-inner{
  min-height:78px;
  box-shadow:
    0 15px 42px rgba(18,13,9,.18),
    0 0 0 1px rgba(169,125,54,.14),
    inset 0 1px 0 rgba(255,255,255,.95);
}
.home-page .brand{
  flex:0 0 auto;
  min-width:290px;
}
.home-page .brand-mark{
  flex:0 0 66px;
  width:66px;
  height:66px;
  border-radius:50%;
  border:1px solid rgba(151,105,42,.22);
  background:#eee6da;
  box-shadow:0 9px 24px rgba(45,31,16,.12),inset 0 0 0 4px rgba(255,255,255,.55);
}
.home-page .brand-copy strong{
  color:#24201b;
  font-size:1.16rem;
  letter-spacing:-.018em;
}
.home-page .brand-copy small{
  color:#807468;
  font-size:.62rem;
  letter-spacing:.15em;
}
.home-page .main-nav{
  gap:clamp(18px,1.55vw,31px);
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.home-page .main-nav>a{
  padding:13px 0;
  color:#4c4f52;
  font-family:var(--sans);
  font-size:.78rem;
  font-weight:650;
  letter-spacing:0;
  text-transform:none;
  white-space:nowrap;
}
.home-page .main-nav>a::after{
  bottom:6px;
  height:2px;
  background:linear-gradient(90deg,#a96f25,#d6aa58);
}
.home-page .language-switch{
  min-width:104px;
  min-height:48px;
  margin-left:6px;
  padding:5px;
  border:1px solid rgba(60,49,38,.08);
  background:rgba(255,255,255,.76);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
}
.home-page .language-switch a{
  min-width:39px;
  min-height:36px;
}
.home-page .language-switch a.is-active{
  background:#4b5960;
  color:#fff;
}
.home-page .header-cta{
  min-height:54px;
  padding-inline:25px;
  border-radius:999px;
  background:#fff;
  color:#30373b;
  box-shadow:0 10px 28px rgba(41,31,20,.09),inset 0 0 0 1px rgba(67,54,39,.06);
}
.home-page .header-cta:hover{
  color:#fff;
  background:linear-gradient(135deg,#d5aa57,#ad7426);
}

.home-page .hero-slider,
.home-page .hero-slide__inner{
  min-height:100svh;
}
.home-page .hero-slider{
  overflow:hidden;
  background:#17130f;
}
.home-page .hero-slide__media img,
.home-page .hero-slide__media video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.home-page .hero-slide__overlay{
  background:
    linear-gradient(90deg,rgba(12,10,8,calc(var(--hero-overlay) + .12)) 0%,rgba(12,10,8,var(--hero-overlay)) 36%,rgba(12,10,8,.22) 63%,rgba(12,10,8,.08) 100%),
    linear-gradient(180deg,rgba(8,7,6,.12),transparent 48%,rgba(8,7,6,.34));
}
.home-page .hero-slide--center .hero-slide__overlay{
  background:linear-gradient(90deg,rgba(9,8,7,.35),rgba(9,8,7,var(--hero-overlay)),rgba(9,8,7,.35));
}
.home-page .hero-slide--right .hero-slide__overlay{
  background:linear-gradient(270deg,rgba(12,10,8,calc(var(--hero-overlay) + .12)),rgba(12,10,8,var(--hero-overlay)) 38%,rgba(12,10,8,.12) 100%);
}
.home-page .hero-slide__lines,
.home-page .hero-slide__signature,
.home-page .hero-trust,
.home-page .hero-scroll,
.home-page .hero-count,
.home-page .hero-progress{
  display:none!important;
}
.home-page .hero-slide__inner{
  align-items:center;
  padding-top:clamp(150px,14vh,190px);
  padding-bottom:130px;
}
.home-page .hero-slide__content{
  width:min(650px,58vw);
  max-width:650px;
  padding:0;
  border:0;
  text-align:left!important;
}
.home-page .hero-slide--center .hero-slide__content{
  margin-inline:auto;
  text-align:center!important;
}
.home-page .hero-slide--right .hero-slide__content{
  margin-left:auto;
  text-align:right!important;
}
.home-page .hero-slide__eyebrow{
  gap:0;
  margin-bottom:22px;
  color:#fff;
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.18em;
}
.home-page .hero-slide__eyebrow span{display:none}
.home-page .hero-slide h1,
.home-page .hero-slide h2{
  max-width:10.5ch;
  color:#fff;
  font-family:var(--sans);
  font-size:clamp(3.6rem,6vw,6.7rem);
  font-weight:800;
  line-height:.93;
  letter-spacing:-.055em;
  text-shadow:0 12px 38px rgba(0,0,0,.18);
}
.home-page .hero-slide--center h1,
.home-page .hero-slide--center h2{margin-inline:auto}
.home-page .hero-slide--right h1,
.home-page .hero-slide--right h2{margin-left:auto}
.home-page .hero-slide__lead{
  max-width:570px;
  margin-top:25px;
  color:rgba(255,255,255,.90);
  font-size:clamp(1rem,1.35vw,1.22rem);
  line-height:1.65;
  text-shadow:0 8px 28px rgba(0,0,0,.22);
}
.home-page .hero-slide--center .hero-slide__lead{margin-inline:auto}
.home-page .hero-slide--right .hero-slide__lead{margin-left:auto}
.home-page .hero-slide__actions{
  gap:12px;
  margin-top:31px;
}
.home-page .hero-slide__actions .btn{
  min-height:54px;
  padding-inline:24px;
  border-radius:999px;
}
.home-page .hero-slide__actions .btn-primary{
  background:#4c5960;
  box-shadow:0 14px 32px rgba(20,27,31,.24);
}
.home-page .hero-slide__actions .btn-primary:hover{background:#354148}
.home-page .hero-slide__actions .btn-ghost{
  border-color:rgba(255,255,255,.58);
  background:rgba(255,255,255,.09);
}
.home-page .hero-slider__footer{
  left:50%;
  right:auto;
  bottom:28px;
  display:block;
  width:auto;
  min-height:0;
  padding:0;
  transform:translateX(-50%);
}
.home-page .hero-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:0;
}
.home-page .hero-controls>button{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border:1px solid rgba(54,49,43,.09);
  border-radius:50%;
  background:rgba(255,253,248,.96);
  color:#3e474c;
  font-size:1.2rem;
  box-shadow:0 12px 32px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(12px);
}
.home-page .hero-controls>button:hover{
  transform:translateY(-2px);
  background:#fff;
}
.home-page .hero-dots{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:56px;
  padding:0 6px;
}
.home-page .hero-dots button{
  width:9px;
  height:9px;
  border-radius:999px;
  background:rgba(255,255,255,.38);
  transition:width .25s ease,background .25s ease;
}
.home-page .hero-dots button.is-active{
  width:30px;
  background:#4c5960;
}

.home-page .announcement-bar + .site-header{
  top:58px;
}

@media (min-width:861px) and (max-width:1250px){
  .home-page .site-header .container{width:min(calc(100% - 30px),1220px)}
  .home-page .header-inner{padding-inline:17px 13px;gap:16px}
  .home-page .brand{min-width:240px;gap:11px}
  .home-page .brand-mark{flex-basis:56px;width:56px;height:56px}
  .home-page .brand-copy strong{font-size:1rem}
  .home-page .brand-copy small{display:none}
  .home-page .main-nav{gap:15px}
  .home-page .main-nav>a{font-size:.7rem}
  .home-page .header-cta{min-height:48px;padding-inline:18px;font-size:.68rem}
}

@media (max-width:860px){
  .home-page{--home-header-top:12px}
  .home-page .site-header .container{width:min(calc(100% - 24px),760px)}
  .home-page .header-inner{
    min-height:72px;
    padding:8px 10px 8px 12px;
    border-radius:24px;
  }
  .home-page .site-header.is-scrolled{top:8px}
  .home-page .brand{min-width:0;max-width:calc(100% - 56px)}
  .home-page .brand-mark{flex-basis:50px;width:50px;height:50px}
  .home-page .brand-copy strong{font-size:.86rem}
  .home-page .brand-copy small{display:none}
  .home-page .menu-toggle{
    flex:0 0 46px;
    display:block;
    background:rgba(255,255,255,.80);
  }
  .home-page .main-nav{
    left:0;
    right:0;
    top:calc(100% + 10px);
    inset-block-start:auto;
    overflow:hidden;
    border:1px solid rgba(72,54,34,.10);
    border-radius:22px;
    background:rgba(251,248,243,.985);
    box-shadow:0 20px 50px rgba(31,22,13,.18);
    backdrop-filter:blur(18px);
  }
  .home-page .main-nav.is-open{
    max-height:calc(100dvh - 110px);
    padding:14px 18px 22px;
  }
  .home-page .main-nav>a{
    padding:13px 0;
    color:#312b25;
    font-size:1.08rem;
    text-transform:none;
  }
  .home-page .language-switch{margin-top:12px}
  .home-page .hero-slider,
  .home-page .hero-slide__inner{min-height:100svh}
  .home-page .hero-slide__inner{
    align-items:flex-end;
    padding-top:128px;
    padding-bottom:128px;
  }
  .home-page .hero-slide__content{
    width:100%;
    max-width:680px;
  }
  .home-page .hero-slide h1,
  .home-page .hero-slide h2{
    max-width:12ch;
    font-size:clamp(2.8rem,12vw,5rem);
  }
  .home-page .hero-slide__lead{max-width:560px}
  .home-page .hero-slider__footer{bottom:18px}
  .home-page .hero-controls>button{width:50px;height:50px}
  .home-page .hero-dots{min-height:50px}
}

@media (max-width:620px){
  .home-page .site-header .container{width:calc(100% - 18px)}
  .home-page .header-inner{min-height:66px;padding:7px 8px 7px 10px;border-radius:21px}
  .home-page .brand-mark{flex-basis:46px;width:46px;height:46px}
  .home-page .brand-copy strong{max-width:calc(100vw - 135px);font-size:.8rem}
  .home-page .hero-slide__inner{padding-top:112px;padding-bottom:112px}
  .home-page .hero-slide h1,
  .home-page .hero-slide h2{font-size:clamp(2.45rem,12.5vw,3.8rem)}
  .home-page .hero-slide__eyebrow{margin-bottom:14px;font-size:.62rem}
  .home-page .hero-slide__lead{margin-top:17px;font-size:.94rem}
  .home-page .hero-slide__actions{display:flex;flex-wrap:wrap;margin-top:23px}
  .home-page .hero-slide__actions .btn{width:auto;min-height:48px;padding-inline:17px;font-size:.66rem}
  .home-page .hero-slider__footer{bottom:14px}
  .home-page .hero-controls{gap:10px}
  .home-page .hero-controls>button{width:46px;height:46px}
  .home-page .hero-dots{gap:7px;min-height:46px}
  .home-page .hero-dots button{width:7px;height:7px}
  .home-page .hero-dots button.is-active{width:24px}
}

/* EDG Remodel v16.1 — balanced floating-header typography */
@media (min-width:1261px){
  .home-page .header-inner{
    display:grid;
    grid-template-columns:minmax(300px,1fr) auto minmax(220px,.62fr);
    align-items:center;
    column-gap:clamp(24px,2.6vw,48px);
    min-height:98px;
    padding:11px 20px 11px 24px;
  }
  .home-page .brand{
    justify-self:start;
    min-width:0;
    gap:15px;
  }
  .home-page .brand-mark{
    flex-basis:68px;
    width:68px;
    height:68px;
  }
  .home-page .brand-copy{
    gap:5px;
    line-height:1.12;
  }
  .home-page .brand-copy strong{
    font-size:clamp(1.24rem,1.25vw,1.42rem);
    font-weight:650;
    letter-spacing:-.018em;
  }
  .home-page .brand-copy small{
    margin-top:0;
    font-size:.68rem;
    font-weight:600;
    line-height:1.35;
    letter-spacing:.16em;
  }
  .home-page .main-nav{
    justify-self:center;
    gap:clamp(22px,1.65vw,32px);
    margin-left:0;
  }
  .home-page .main-nav>a{
    padding:15px 0;
    font-size:.86rem;
    font-weight:650;
    line-height:1;
    letter-spacing:.005em;
  }
  .home-page .main-nav>a::after{
    bottom:7px;
  }
  .home-page .language-switch{
    min-width:116px;
    min-height:52px;
    margin-left:8px;
    padding:5px 6px;
  }
  .home-page .language-switch a{
    min-width:43px;
    min-height:40px;
    font-size:.78rem;
  }
  .home-page .header-cta{
    justify-self:end;
    min-width:205px;
    min-height:58px;
    padding-inline:28px;
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.095em;
  }
}

@media (min-width:861px) and (max-width:1260px){
  .home-page .header-inner{
    min-height:86px;
    padding:9px 14px 9px 18px;
    gap:16px;
  }
  .home-page .brand{
    min-width:235px;
    gap:12px;
  }
  .home-page .brand-mark{
    flex-basis:58px;
    width:58px;
    height:58px;
  }
  .home-page .brand-copy strong{
    font-size:1.02rem;
    line-height:1.08;
  }
  .home-page .brand-copy small{
    display:block;
    max-width:180px;
    font-size:.57rem;
    line-height:1.3;
    letter-spacing:.12em;
  }
  .home-page .main-nav{
    gap:clamp(11px,1.25vw,18px);
  }
  .home-page .main-nav>a{
    font-size:.73rem;
    font-weight:650;
  }
  .home-page .language-switch{
    min-width:94px;
    min-height:44px;
    margin-left:2px;
  }
  .home-page .language-switch a{
    min-width:35px;
    min-height:32px;
    font-size:.68rem;
  }
  .home-page .header-cta{
    min-height:50px;
    padding-inline:19px;
    font-size:.69rem;
  }
}

/* ========================================================================== 
   EDG Remodel v17 — refined header and hero composition
   Keeps the existing dynamic banner/admin structure while replacing the
   oversized pill header and unbalanced hero typography with a calmer,
   architectural layout.
   ========================================================================== */
.home-page{
  --home-header-top:20px;
  --home-header-bg:rgba(20,18,16,.91);
  --home-header-border:rgba(255,255,255,.14);
  --home-header-text:#f8f3ea;
  --home-header-muted:rgba(248,243,234,.58);
  --home-gold:#d8b26b;
}
.home-page .site-header{
  top:var(--home-header-top);
  background:transparent;
  box-shadow:none;
}
.home-page .site-header .container{
  width:min(calc(100% - 44px),1400px);
}
.home-page .header-inner{
  display:grid;
  grid-template-columns:minmax(255px,.9fr) auto auto;
  align-items:center;
  gap:clamp(22px,2.5vw,44px);
  min-height:80px;
  padding:10px 12px 10px 15px;
  border:1px solid var(--home-header-border);
  border-radius:20px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.045),transparent 48%),
    var(--home-header-bg);
  box-shadow:0 18px 52px rgba(8,6,4,.28),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(20px) saturate(1.08);
}
.home-page .site-header.is-scrolled{
  top:10px;
  background:transparent;
  box-shadow:none;
}
.home-page .site-header.is-scrolled .header-inner{
  min-height:70px;
  background:rgba(18,16,14,.96);
  box-shadow:0 16px 42px rgba(8,6,4,.25),inset 0 1px 0 rgba(255,255,255,.07);
}
.home-page .site-header .site-scroll-progress{display:none}
.home-page .brand{
  justify-self:start;
  min-width:0;
  gap:13px;
}
.home-page .brand-mark{
  flex:0 0 56px;
  width:56px;
  height:56px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(216,178,107,.44);
  border-radius:14px;
  background:#eee5d8;
  box-shadow:0 8px 24px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.55);
}
.home-page .brand-mark img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.035);
}
.home-page .brand-copy{
  min-width:0;
  gap:4px;
  line-height:1;
}
.home-page .brand-copy strong{
  color:var(--home-header-text);
  font-family:var(--serif);
  font-size:1.18rem;
  font-weight:600;
  line-height:1;
  letter-spacing:.008em;
  white-space:nowrap;
}
.home-page .brand-copy small{
  margin-top:0;
  color:var(--home-header-muted);
  font-family:var(--sans);
  font-size:.55rem;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.19em;
  text-transform:uppercase;
  white-space:nowrap;
}
.home-page .main-nav{
  justify-self:center;
  gap:clamp(18px,1.65vw,29px);
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.home-page .main-nav>a{
  padding:17px 0 15px;
  color:rgba(248,243,234,.68);
  font-family:var(--sans);
  font-size:.68rem;
  font-weight:750;
  line-height:1;
  letter-spacing:.095em;
  text-transform:uppercase;
  white-space:nowrap;
}
.home-page .main-nav>a::after{
  right:50%;
  bottom:7px;
  left:50%;
  height:1px;
  background:linear-gradient(90deg,#c58e37,var(--home-gold));
}
.home-page .main-nav>a:hover,
.home-page .main-nav>a.is-active{color:#fffaf2}
.home-page .main-nav>a:hover::after,
.home-page .main-nav>a.is-active::after{right:0;left:0}
.home-page .language-switch{
  min-width:91px;
  min-height:42px;
  margin-left:1px;
  padding:4px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.home-page .language-switch a{
  min-width:35px;
  min-height:32px;
  border-radius:9px;
  color:rgba(248,243,234,.55);
  font-size:.66rem;
  font-weight:800;
}
.home-page .language-switch span{color:rgba(255,255,255,.22)}
.home-page .language-switch a.is-active{
  background:#f2ece3;
  color:#201c18;
  box-shadow:0 5px 14px rgba(0,0,0,.17);
}
.home-page .header-cta{
  justify-self:end;
  min-width:176px;
  min-height:48px;
  padding-inline:21px;
  border:1px solid rgba(255,255,255,.68);
  border-radius:12px;
  background:#f4efe7;
  color:#201c18;
  font-family:var(--sans);
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  box-shadow:none;
}
.home-page .header-cta:hover{
  border-color:var(--home-gold);
  background:var(--home-gold);
  color:#17130f;
  transform:translateY(-1px);
}
.home-page .header-cta span{font-size:.88rem}

.home-page .hero-slider,
.home-page .hero-slide__inner{
  min-height:max(760px,100svh);
}
.home-page .hero-slider{
  overflow:hidden;
  background:#15110e;
}
.home-page .hero-slide__media img,
.home-page .hero-slide__media video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9) contrast(1.035);
  transform:scale(1.002);
}
.home-page .hero-slide__overlay{
  background:
    linear-gradient(90deg,rgba(10,8,6,calc(var(--hero-overlay) + .16)) 0%,rgba(10,8,6,var(--hero-overlay)) 35%,rgba(10,8,6,.26) 61%,rgba(10,8,6,.08) 100%),
    linear-gradient(180deg,rgba(7,5,4,.22) 0%,transparent 47%,rgba(7,5,4,.48) 100%);
}
.home-page .hero-slide--center .hero-slide__overlay{
  background:
    linear-gradient(90deg,rgba(8,6,5,.32),rgba(8,6,5,var(--hero-overlay)) 50%,rgba(8,6,5,.32)),
    linear-gradient(180deg,rgba(7,5,4,.16),transparent 46%,rgba(7,5,4,.46));
}
.home-page .hero-slide--right .hero-slide__overlay{
  background:
    linear-gradient(270deg,rgba(10,8,6,calc(var(--hero-overlay) + .16)) 0%,rgba(10,8,6,var(--hero-overlay)) 35%,rgba(10,8,6,.22) 66%,rgba(10,8,6,.06) 100%),
    linear-gradient(180deg,rgba(7,5,4,.20),transparent 47%,rgba(7,5,4,.48));
}
.home-page .hero-slide__lines,
.home-page .hero-slide__signature,
.home-page .hero-trust,
.home-page .hero-scroll,
.home-page .hero-count,
.home-page .hero-progress{display:none!important}
.home-page .hero-slide__inner{
  display:flex;
  align-items:center;
  padding-top:clamp(150px,16vh,190px);
  padding-bottom:clamp(105px,12vh,145px);
}
.home-page .hero-slide__content{
  width:min(690px,56vw);
  max-width:690px;
  margin-left:clamp(0px,1.7vw,24px);
  padding:0;
  border:0;
  text-align:left!important;
}
.home-page .hero-slide--center .hero-slide__content{
  margin-inline:auto;
  text-align:center!important;
}
.home-page .hero-slide--right .hero-slide__content{
  margin-right:clamp(0px,1.7vw,24px);
  margin-left:auto;
  text-align:right!important;
}
.home-page .hero-slide__eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 19px;
  color:#e2bf7d;
  font-family:var(--sans);
  font-size:.66rem;
  font-weight:800;
  line-height:1.4;
  letter-spacing:.21em;
  text-transform:uppercase;
  text-shadow:0 5px 18px rgba(0,0,0,.22);
}
.home-page .hero-slide__eyebrow span{
  display:block;
  flex:0 0 30px;
  width:30px;
  height:1px;
  background:linear-gradient(90deg,var(--home-gold),rgba(216,178,107,.15));
}
.home-page .hero-slide--center .hero-slide__eyebrow{justify-content:center}
.home-page .hero-slide--right .hero-slide__eyebrow{justify-content:flex-end}
.home-page .hero-slide--right .hero-slide__eyebrow span{order:2;transform:scaleX(-1)}
.home-page .hero-slide h1,
.home-page .hero-slide h2{
  max-width:min(6.6em,100%);
  margin:0;
  color:#fffaf2;
  font-family:var(--serif);
  font-size:clamp(4.15rem,6.1vw,6.65rem);
  font-weight:600;
  line-height:.88;
  letter-spacing:-.042em;
  text-wrap:balance;
  text-shadow:0 14px 38px rgba(0,0,0,.24);
}
.home-page .hero-slide--center h1,
.home-page .hero-slide--center h2{margin-inline:auto}
.home-page .hero-slide--right h1,
.home-page .hero-slide--right h2{margin-left:auto}
.home-page .hero-slide__lead{
  max-width:535px;
  margin:24px 0 0;
  color:rgba(255,250,242,.78);
  font-family:var(--sans);
  font-size:clamp(.98rem,1.12vw,1.12rem);
  font-weight:450;
  line-height:1.7;
  letter-spacing:-.01em;
  text-shadow:0 7px 22px rgba(0,0,0,.24);
}
.home-page .hero-slide--center .hero-slide__lead{margin-inline:auto}
.home-page .hero-slide--right .hero-slide__lead{margin-left:auto}
.home-page .hero-slide__actions{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  margin-top:29px;
}
.home-page .hero-slide--center .hero-slide__actions{justify-content:center}
.home-page .hero-slide--right .hero-slide__actions{justify-content:flex-end}
.home-page .hero-slide__actions .btn{
  min-height:50px;
  padding-inline:22px;
  border-radius:12px;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.095em;
  text-transform:uppercase;
}
.home-page .hero-slide__actions .btn-primary{
  border-color:#f4efe7;
  background:#f4efe7;
  color:#201c18;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}
.home-page .hero-slide__actions .btn-primary:hover{
  border-color:var(--home-gold);
  background:var(--home-gold);
  color:#18130e;
}
.home-page .hero-slide__actions .btn-ghost{
  border-color:rgba(255,255,255,.32);
  background:rgba(15,12,9,.18);
  color:#fffaf2;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
}
.home-page .hero-slide__actions .btn-ghost:hover{
  border-color:rgba(255,255,255,.72);
  background:rgba(255,255,255,.10);
}
.home-page .hero-slider__footer{
  left:50%;
  right:auto;
  bottom:24px;
  display:block;
  width:auto;
  min-height:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  transform:translateX(-50%);
  backdrop-filter:none;
}
.home-page .hero-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:6px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:15px;
  background:rgba(15,12,9,.54);
  box-shadow:0 14px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(14px);
}
.home-page .hero-controls>button{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:0;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  color:#fff8ee;
  font-size:.95rem;
  box-shadow:none;
}
.home-page .hero-controls>button:hover{
  background:rgba(255,255,255,.15);
  transform:none;
}
.home-page .hero-dots{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:0 8px;
}
.home-page .hero-dots button{
  width:6px;
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.28);
  transition:width .25s ease,background .25s ease;
}
.home-page .hero-dots button.is-active{
  width:21px;
  background:var(--home-gold);
}
.home-page .announcement-bar + .site-header{top:58px}

@media (min-width:861px) and (max-width:1260px){
  .home-page .site-header .container{width:min(calc(100% - 28px),1230px)}
  .home-page .header-inner{
    grid-template-columns:minmax(210px,.8fr) auto auto;
    gap:15px;
    min-height:74px;
    padding:8px 10px 8px 12px;
  }
  .home-page .brand{gap:10px}
  .home-page .brand-mark{flex-basis:51px;width:51px;height:51px;border-radius:12px}
  .home-page .brand-copy strong{font-size:1rem}
  .home-page .brand-copy small{display:none}
  .home-page .main-nav{gap:clamp(11px,1.15vw,17px)}
  .home-page .main-nav>a{font-size:.61rem;letter-spacing:.07em}
  .home-page .language-switch{min-width:79px;min-height:38px}
  .home-page .language-switch a{min-width:29px;min-height:28px;font-size:.59rem}
  .home-page .header-cta{min-width:145px;min-height:43px;padding-inline:15px;font-size:.59rem}
  .home-page .hero-slide__content{width:min(625px,59vw)}
  .home-page .hero-slide h1,
  .home-page .hero-slide h2{font-size:clamp(3.65rem,6.4vw,5.65rem)}
}

@media (max-width:860px){
  .home-page{--home-header-top:10px}
  .home-page .site-header .container{width:calc(100% - 20px)}
  .home-page .header-inner{
    display:flex;
    min-height:64px;
    padding:7px 8px 7px 10px;
    border-radius:16px;
    background:rgba(18,16,14,.94);
  }
  .home-page .site-header.is-scrolled{top:7px}
  .home-page .site-header.is-scrolled .header-inner{min-height:60px}
  .home-page .brand{max-width:calc(100% - 54px);gap:9px}
  .home-page .brand-mark{flex-basis:44px;width:44px;height:44px;border-radius:11px}
  .home-page .brand-copy strong{
    max-width:calc(100vw - 126px);
    overflow:hidden;
    font-size:.91rem;
    text-overflow:ellipsis;
  }
  .home-page .brand-copy small{display:none}
  .home-page .menu-toggle{
    flex:0 0 44px;
    display:block;
    margin-left:auto;
    border:1px solid rgba(255,255,255,.10);
    border-radius:11px;
    background:rgba(255,255,255,.06);
    color:#fff;
  }
  .home-page .menu-toggle span{background:#f8f2e8}
  .home-page .main-nav{
    left:0;
    right:0;
    top:calc(100% + 8px);
    inset-block-start:auto;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    border-radius:16px;
    background:rgba(18,16,14,.985);
    box-shadow:0 20px 48px rgba(0,0,0,.30);
    backdrop-filter:blur(18px);
  }
  .home-page .main-nav.is-open{max-height:calc(100dvh - 92px);padding:14px 17px 20px}
  .home-page .main-nav>a{
    padding:13px 0;
    color:rgba(255,250,242,.76);
    font-size:.78rem;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .home-page .main-nav>a::after{bottom:7px}
  .home-page .language-switch{margin:12px 0 0}
  .home-page .mobile-nav-contact{color:rgba(255,255,255,.62)}
  .home-page .header-cta{display:none}
  .home-page .hero-slider,
  .home-page .hero-slide__inner{min-height:max(690px,100svh)}
  .home-page .hero-slide__inner{
    align-items:flex-end;
    padding-top:112px;
    padding-bottom:102px;
  }
  .home-page .hero-slide__content{
    width:100%;
    max-width:680px;
    margin:0;
  }
  .home-page .hero-slide--right .hero-slide__content{margin:0 0 0 auto}
  .home-page .hero-slide h1,
  .home-page .hero-slide h2{
    max-width:11ch;
    font-size:clamp(3.05rem,10.5vw,4.9rem);
    line-height:.9;
  }
  .home-page .hero-slide__lead{max-width:540px;font-size:.98rem;line-height:1.62}
  .home-page .hero-slider__footer{bottom:15px}
}

@media (max-width:620px){
  .home-page .site-header .container{width:calc(100% - 14px)}
  .home-page .header-inner{min-height:60px;padding:6px 7px 6px 8px;border-radius:14px}
  .home-page .brand-mark{flex-basis:42px;width:42px;height:42px;border-radius:10px}
  .home-page .brand-copy strong{max-width:calc(100vw - 118px);font-size:.82rem}
  .home-page .menu-toggle{flex-basis:42px;width:42px;height:42px}
  .home-page .hero-slide__media img,
  .home-page .hero-slide__media video{object-position:center}
  .home-page .hero-slide__overlay{
    background:
      linear-gradient(180deg,rgba(8,6,5,.24) 0%,rgba(8,6,5,.16) 30%,rgba(8,6,5,.70) 72%,rgba(8,6,5,.90) 100%),
      linear-gradient(90deg,rgba(8,6,5,.24),rgba(8,6,5,.08));
  }
  .home-page .hero-slide__inner{padding-top:98px;padding-bottom:96px}
  .home-page .hero-slide__eyebrow{gap:9px;margin-bottom:14px;font-size:.56rem;letter-spacing:.17em}
  .home-page .hero-slide__eyebrow span{flex-basis:22px;width:22px}
  .home-page .hero-slide h1,
  .home-page .hero-slide h2{font-size:clamp(2.78rem,13.2vw,3.9rem);line-height:.89}
  .home-page .hero-slide__lead{margin-top:17px;font-size:.91rem;line-height:1.58}
  .home-page .hero-slide__actions{display:grid;grid-template-columns:1fr;margin-top:22px}
  .home-page .hero-slide__actions .btn{width:100%;min-height:47px;padding-inline:16px;font-size:.62rem}
  .home-page .hero-controls{gap:5px;padding:5px;border-radius:13px}
  .home-page .hero-controls>button{width:35px;height:35px;border-radius:9px}
  .home-page .hero-dots{min-height:35px;padding-inline:6px}
}

/* EDG Remodel v18 — compact, balanced Selected Work section */
.home-page .projects-section{
  padding:clamp(74px,7vw,104px) 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 10%,rgba(192,143,62,.075),transparent 25rem),
    linear-gradient(180deg,#f7f3ed 0%,#f1ebe3 100%);
}
.home-page .projects-section .section-heading{
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  align-items:end;
  gap:clamp(34px,5vw,68px);
  max-width:1160px;
  margin-bottom:30px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(65,49,31,.12);
}
.home-page .projects-section .section-heading>div:first-child{
  max-width:650px;
}
.home-page .projects-section .section-heading .eyebrow{
  margin-bottom:12px;
  font-size:.62rem;
  letter-spacing:.19em;
}
.home-page .projects-section .section-heading h2{
  max-width:620px;
  font-size:clamp(2.35rem,3.65vw,3.75rem);
  line-height:.96;
  letter-spacing:-.04em;
}
.home-page .projects-section .section-side{
  width:100%;
  max-width:360px;
  justify-self:end;
  gap:9px;
  padding-left:19px;
}
.home-page .projects-section .section-side p{
  max-width:34ch;
  font-size:.9rem;
  line-height:1.65;
}
.home-page .projects-section .section-index{
  font-size:.61rem;
  letter-spacing:.14em;
}
.home-page .projects-section .project-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:auto;
  gap:18px;
  max-width:1160px;
}
.home-page .projects-section .project-card,
.home-page .projects-section .project-card:first-child,
.home-page .projects-section .project-card--1,
.home-page .projects-section .project-card--2,
.home-page .projects-section .project-card--3,
.home-page .projects-section .project-card--4,
.home-page .projects-section .project-card--5,
.home-page .projects-section .project-card--6{
  grid-column:span 1;
  grid-row:span 1;
  min-width:0;
  min-height:0;
  aspect-ratio:4/3;
  overflow:hidden;
  border:1px solid rgba(65,48,28,.08);
  border-radius:17px;
  background:#d9d1c7;
  box-shadow:0 13px 34px rgba(39,28,16,.075);
  transition:transform .38s var(--edg-ease),box-shadow .38s var(--edg-ease),border-color .38s ease;
}
.home-page .projects-section .project-card:hover{
  transform:translateY(-5px);
  border-color:rgba(178,126,45,.18);
  box-shadow:0 20px 46px rgba(39,28,16,.13);
}
.home-page .projects-section .project-card::before{
  z-index:2;
  inset:0;
  border:1px solid rgba(255,255,255,.13);
  border-radius:inherit;
}
.home-page .projects-section .project-card::after{
  display:none;
}
.home-page .projects-section .project-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.91) contrast(1.015);
  transform:scale(1.001);
  transition:transform .75s var(--edg-ease),filter .45s ease;
}
.home-page .projects-section .project-card:hover img{
  filter:saturate(.98) contrast(1.025);
  transform:scale(1.045);
}
.home-page .projects-section .project-overlay,
.home-page .projects-section .project-card:first-child .project-overlay{
  z-index:3;
  display:grid;
  grid-template-columns:minmax(0,1fr) 36px;
  align-content:end;
  align-items:end;
  gap:6px 14px;
  padding:64px 17px 16px;
  background:linear-gradient(180deg,transparent 25%,rgba(10,8,6,.13) 50%,rgba(10,8,6,.82) 100%);
}
.home-page .projects-section .project-overlay small{
  grid-column:1;
  display:block;
  overflow:hidden;
  color:#e8c77f;
  font-size:.56rem;
  font-weight:750;
  line-height:1.3;
  letter-spacing:.12em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.home-page .projects-section .project-overlay strong,
.home-page .projects-section .project-card:first-child .project-overlay strong{
  grid-column:1;
  max-width:21ch;
  overflow:hidden;
  color:#fffaf3;
  font-family:var(--serif);
  font-size:clamp(1.22rem,1.65vw,1.58rem);
  font-weight:600;
  line-height:1.04;
  letter-spacing:-.025em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-page .projects-section .project-overlay b{
  grid-column:2;
  grid-row:1/3;
  align-self:end;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.30);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:.8rem;
  backdrop-filter:blur(8px);
  transition:background .28s ease,transform .28s ease;
}
.home-page .projects-section .project-card:hover .project-overlay b{
  background:rgba(255,255,255,.18);
  transform:rotate(8deg);
}
.home-page .projects-section .project-card em{
  z-index:4;
  left:14px;
  top:14px;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  background:rgba(12,9,7,.34);
  color:rgba(255,255,255,.88);
  font-size:.54rem;
  font-style:normal;
  font-weight:800;
  letter-spacing:.12em;
  backdrop-filter:blur(8px);
}
.home-page .projects-section .project-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  max-width:1160px;
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid rgba(65,49,31,.11);
}
.home-page .projects-section .project-footer>span{
  color:#766c61;
  font-size:.79rem;
  letter-spacing:.015em;
}
.home-page .projects-section .project-footer .btn{
  min-height:45px;
  padding:10px 17px;
  border-radius:11px;
  font-size:.62rem;
}

@media (max-width:920px){
  .home-page .projects-section .section-heading{
    grid-template-columns:1fr;
    align-items:start;
    gap:20px;
  }
  .home-page .projects-section .section-side{
    max-width:620px;
    justify-self:start;
  }
  .home-page .projects-section .section-side p{max-width:58ch}
  .home-page .projects-section .project-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
}

@media (max-width:620px){
  .home-page .projects-section{
    padding:62px 0 66px;
  }
  .home-page .projects-section .section-heading{
    gap:16px;
    margin-bottom:22px;
    padding-bottom:18px;
  }
  .home-page .projects-section .section-heading h2{
    max-width:11ch;
    font-size:clamp(2.15rem,10.5vw,3rem);
    line-height:.96;
  }
  .home-page .projects-section .section-side{
    gap:7px;
    padding-left:14px;
  }
  .home-page .projects-section .section-side p{
    font-size:.84rem;
    line-height:1.58;
  }
  .home-page .projects-section .project-grid{
    grid-template-columns:1fr;
    gap:13px;
  }
  .home-page .projects-section .project-card,
  .home-page .projects-section .project-card:first-child,
  .home-page .projects-section .project-card--1,
  .home-page .projects-section .project-card--2,
  .home-page .projects-section .project-card--3,
  .home-page .projects-section .project-card--4,
  .home-page .projects-section .project-card--5,
  .home-page .projects-section .project-card--6{
    aspect-ratio:1.42;
    border-radius:15px;
  }
  .home-page .projects-section .project-overlay,
  .home-page .projects-section .project-card:first-child .project-overlay{
    grid-template-columns:minmax(0,1fr) 34px;
    padding:52px 15px 14px;
  }
  .home-page .projects-section .project-overlay strong,
  .home-page .projects-section .project-card:first-child .project-overlay strong{
    font-size:1.27rem;
  }
  .home-page .projects-section .project-overlay b{
    width:34px;
    height:34px;
  }
  .home-page .projects-section .project-card em{
    left:12px;
    top:12px;
  }
  .home-page .projects-section .project-footer{
    align-items:flex-start;
    flex-direction:column;
    gap:14px;
    margin-top:20px;
    padding-top:17px;
  }
  .home-page .projects-section .project-footer .btn{
    width:100%;
  }
}

/* ========================================================================== 
   EDG Remodel v19 — light homepage header + soft section colour transitions
   ========================================================================== */
.home-page{
  --home-header-bg:rgba(248,245,238,.965);
  --home-header-border:rgba(88,64,34,.15);
  --home-header-text:#211b15;
  --home-header-muted:#786f65;
  --home-gold:#b78538;
}
.home-page .header-inner{
  border-color:var(--home-header-border);
  background:
    linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.24) 48%,rgba(232,223,210,.18)),
    var(--home-header-bg);
  box-shadow:
    0 18px 50px rgba(45,32,18,.15),
    0 0 0 1px rgba(255,255,255,.68),
    inset 0 1px 0 rgba(255,255,255,.96);
  backdrop-filter:blur(20px) saturate(1.08);
}
.home-page .site-header.is-scrolled .header-inner{
  border-color:rgba(88,64,34,.13);
  background:rgba(250,247,241,.975);
  box-shadow:
    0 15px 40px rgba(45,32,18,.13),
    0 0 0 1px rgba(255,255,255,.72),
    inset 0 1px 0 rgba(255,255,255,.98);
}
.home-page .brand-mark{
  border-color:rgba(170,121,45,.28);
  background:linear-gradient(145deg,#fbf6ee,#e9dece);
  box-shadow:0 8px 23px rgba(53,37,18,.12),inset 0 0 0 1px rgba(255,255,255,.72);
}
.home-page .brand-copy strong{color:var(--home-header-text)}
.home-page .brand-copy small{color:var(--home-header-muted)}
.home-page .main-nav>a{color:#655d54}
.home-page .main-nav>a::after{background:linear-gradient(90deg,#a96f23,#c89a4e)}
.home-page .main-nav>a:hover,
.home-page .main-nav>a.is-active{color:#211b15}
.home-page .language-switch{
  border-color:rgba(82,60,32,.11);
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 5px 15px rgba(55,39,20,.04);
}
.home-page .language-switch a{color:#8a8177}
.home-page .language-switch span{color:#b2a99f}
.home-page .language-switch a.is-active{
  background:linear-gradient(145deg,#2d2925,#4a4540);
  color:#fffaf2;
  box-shadow:0 6px 15px rgba(37,29,21,.18);
}
.home-page .header-cta{
  border-color:rgba(82,60,32,.15);
  background:linear-gradient(145deg,#fffdf9,#eee7dc);
  color:#211b15;
  box-shadow:0 9px 24px rgba(55,39,20,.09),inset 0 1px 0 rgba(255,255,255,.96);
}
.home-page .header-cta:hover{
  border-color:#b78538;
  background:linear-gradient(135deg,#c99b50,#ad772e);
  color:#fffaf2;
  box-shadow:0 13px 30px rgba(151,99,31,.20);
}

/* The transition is built into each section background, so scrolling reveals
   a gradual colour blend instead of a hard horizontal cut. */
.home-page .home-sections{
  overflow:clip;
  background:#f7f3ed;
}
.home-page .home-section{
  isolation:isolate;
  margin-top:-1px;
}
.home-page .signature-strip{
  border-color:rgba(255,255,255,.09);
  background:linear-gradient(180deg,#15110e 0%,#1d1814 100%);
  color:#f1e8dc;
}
.home-page .signature-strip .signature-set span{color:#f1e8dc}
.home-page .signature-strip .signature-set i{color:#d2a75c}
.home-page .about-section{
  background:linear-gradient(180deg,#1d1814 0,#81776c 34px,#d7cec4 68px,#eee7de 104px,#eee7de 100%);
  padding-top:calc(clamp(88px,10vw,150px) + 28px);
}
.home-page .services-section{
  background:linear-gradient(180deg,#eee7de 0,#f4efe8 48px,#fbf9f5 102px,#f8f4ee 100%);
}
.home-page .projects-section{
  background:
    radial-gradient(circle at 86% 13%,rgba(192,143,62,.075),transparent 25rem),
    linear-gradient(180deg,#f8f4ee 0,#f5f0e9 48px,#f1ebe3 112px,#f1ebe3 100%);
}
.home-page .testimonials-section{
  background:
    radial-gradient(circle at 82% 13%,rgba(199,148,58,.16),transparent 28rem),
    linear-gradient(180deg,#f1ebe3 0,#8c8175 36px,#3a332c 72px,#171411 112px,#100d0b 100%);
  padding-top:calc(clamp(88px,10vw,150px) + 34px);
}
.home-page .faq-section{
  background:linear-gradient(180deg,#100d0b 0,#696057 34px,#d8d0c7 72px,#f5f0e9 112px,#fbf9f5 100%);
  padding-top:calc(clamp(88px,10vw,150px) + 28px);
}
.home-page .cta-section{
  background:linear-gradient(180deg,#fbf9f5 0,#f5f0e9 70px,var(--ivory) 150px,var(--ivory) 100%);
}

@media (max-width:860px){
  .home-page .header-inner{
    border-color:rgba(88,64,34,.14);
    background:rgba(249,246,240,.975);
    box-shadow:0 12px 34px rgba(38,27,15,.16),inset 0 1px 0 rgba(255,255,255,.96);
  }
  .home-page .site-header.is-scrolled .header-inner{background:rgba(251,248,243,.985)}
  .home-page .menu-toggle{
    border-color:rgba(75,55,31,.13);
    background:rgba(255,255,255,.72);
    color:#211b15;
  }
  .home-page .menu-toggle span{background:#2d2721}
  .home-page .main-nav{
    border-color:rgba(82,60,32,.12);
    background:rgba(250,247,241,.99);
    box-shadow:0 20px 48px rgba(43,30,16,.18);
  }
  .home-page .main-nav>a{color:#655d54}
  .home-page .main-nav>a:hover,
  .home-page .main-nav>a.is-active{color:#211b15}
  .home-page .mobile-nav-contact{color:#776e64}
  .home-page .about-section{
    background:linear-gradient(180deg,#1d1814 0,#958b80 26px,#ddd4ca 54px,#eee7de 80px,#eee7de 100%);
    padding-top:calc(68px + 22px);
  }
  .home-page .services-section{background:linear-gradient(180deg,#eee7de 0,#f5f0e9 42px,#fbf9f5 82px,#f8f4ee 100%)}
  .home-page .projects-section{
    background:
      radial-gradient(circle at 86% 10%,rgba(192,143,62,.065),transparent 20rem),
      linear-gradient(180deg,#f8f4ee 0,#f5f0e9 40px,#f1ebe3 84px,#f1ebe3 100%);
  }
  .home-page .testimonials-section{
    background:
      radial-gradient(circle at 82% 8%,rgba(199,148,58,.14),transparent 22rem),
      linear-gradient(180deg,#f1ebe3 0,#786f65 28px,#302a25 58px,#171411 88px,#100d0b 100%);
    padding-top:calc(68px + 24px);
  }
  .home-page .faq-section{
    background:linear-gradient(180deg,#100d0b 0,#6d645b 28px,#d6cec5 58px,#f5f0e9 88px,#fbf9f5 100%);
    padding-top:calc(68px + 22px);
  }
}

@media (prefers-reduced-motion:no-preference){
  .home-page .site-header .header-inner,
  .home-page .main-nav>a,
  .home-page .language-switch,
  .home-page .header-cta{
    transition:background .38s ease,border-color .38s ease,color .3s ease,box-shadow .38s ease,transform .3s ease;
  }
}

/* ========================================================================== 
   EDG Remodel v20 — reference-inspired floating header and cinematic hero
   Uses the existing CMS banner media; no fixed presentation image is added.
   ========================================================================== */
.home-page{
  --edg-header-cream:#f4f0e8;
  --edg-header-cream-strong:#fbf8f2;
  --edg-header-ink:#28231e;
  --edg-header-muted:#786e63;
  --edg-header-gold:#b88639;
  --edg-hero-control:#f8f5ef;
}

/* The homepage header floats inside the hero, like the supplied reference. */
.home-page .site-header{
  position:fixed;
  inset:0 0 auto;
  z-index:90;
  padding-top:24px;
  border:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  pointer-events:none;
  transition:padding .35s var(--edg-ease),transform .35s var(--edg-ease);
}
.home-page .site-header.is-scrolled{
  padding-top:10px;
  border:0;
  background:transparent;
  box-shadow:none;
}
.home-page .site-header .header-inner{
  width:min(calc(100% - 40px),1420px);
  min-height:126px;
  margin-inline:auto;
  padding:12px 20px 12px 28px;
  gap:clamp(22px,2.2vw,44px);
  border:1px solid rgba(175,132,63,.31);
  border-radius:999px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,255,255,.16) 58%,rgba(222,210,191,.18)),
    rgba(244,240,232,.965);
  box-shadow:
    0 20px 52px rgba(23,18,13,.20),
    0 0 26px rgba(205,164,90,.16),
    inset 0 1px 0 rgba(255,255,255,.98);
  backdrop-filter:blur(20px) saturate(1.08);
  pointer-events:auto;
  transition:min-height .35s var(--edg-ease),padding .35s var(--edg-ease),background .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.home-page .site-header.is-scrolled .header-inner{
  min-height:88px;
  padding:8px 16px 8px 20px;
  border-color:rgba(117,84,41,.20);
  background:rgba(248,245,239,.975);
  box-shadow:0 16px 40px rgba(28,21,14,.17),inset 0 1px 0 rgba(255,255,255,.98);
}

.home-page .brand{
  flex:0 1 auto;
  min-width:340px;
  gap:18px;
}
.home-page .brand-mark{
  flex:0 0 92px;
  width:92px;
  height:92px;
  border:1px solid rgba(175,126,48,.34);
  border-radius:29px;
  background:linear-gradient(145deg,#fffaf3,#e8dccb);
  box-shadow:0 11px 27px rgba(47,33,18,.14),inset 0 0 0 4px rgba(255,255,255,.58);
  transition:flex-basis .35s var(--edg-ease),width .35s var(--edg-ease),height .35s var(--edg-ease),border-radius .35s var(--edg-ease);
}
.home-page .brand-mark img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
}
.home-page .brand-copy{
  gap:4px;
  min-width:0;
}
.home-page .brand-copy strong{
  color:var(--edg-header-ink);
  font-size:clamp(1.28rem,1.45vw,1.58rem);
  line-height:1.02;
  letter-spacing:-.025em;
  white-space:nowrap;
}
.home-page .brand-copy small{
  margin-top:3px;
  color:var(--edg-header-muted);
  font-size:.71rem;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.17em;
  white-space:nowrap;
}
.home-page .site-header.is-scrolled .brand-mark{
  flex-basis:66px;
  width:66px;
  height:66px;
  border-radius:20px;
}
.home-page .site-header.is-scrolled .brand-copy strong{font-size:1.17rem}
.home-page .site-header.is-scrolled .brand-copy small{font-size:.61rem}

.home-page .main-nav{
  flex:1 1 auto;
  justify-content:center;
  gap:clamp(16px,1.55vw,29px);
  margin-left:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.home-page .main-nav>a{
  min-height:auto;
  padding:15px 0 13px;
  border-radius:0;
  background:transparent;
  color:#5b544c;
  font-size:clamp(.78rem,.76vw,.9rem);
  font-weight:650;
  letter-spacing:.01em;
  text-transform:none;
  white-space:nowrap;
}
.home-page .main-nav>a:hover,
.home-page .main-nav>a.is-active{
  background:transparent;
  color:#211c17;
  box-shadow:none;
}
.home-page .main-nav>a::after{
  left:0;
  right:100%;
  bottom:7px;
  height:2px;
  opacity:1;
  transform:none;
  background:linear-gradient(90deg,#a97224,#d0a254);
  transition:right .27s ease;
}
.home-page .main-nav>a:hover::after,
.home-page .main-nav>a.is-active::after{right:0}

.home-page .language-switch{
  flex:0 0 auto;
  gap:3px;
  margin-left:4px;
  padding:5px;
  border:1px solid rgba(74,56,37,.09);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96);
}
.home-page .language-switch span{display:none}
.home-page .language-switch a{
  display:grid;
  place-items:center;
  min-width:44px;
  min-height:40px;
  padding:0 10px;
  border-radius:999px;
  color:#6f675f;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.035em;
}
.home-page .language-switch a.is-active{
  background:#4a555a;
  color:#fff;
  box-shadow:0 7px 17px rgba(41,49,52,.18);
}
.home-page .header-cta{
  flex:0 0 auto;
  min-height:58px;
  padding:13px 27px;
  border:1px solid rgba(55,44,31,.08);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#29231d;
  font-size:.77rem;
  font-weight:800;
  letter-spacing:.085em;
  box-shadow:0 10px 25px rgba(41,30,18,.09),inset 0 1px 0 rgba(255,255,255,.98);
  white-space:nowrap;
}
.home-page .header-cta:hover{
  border-color:#b88639;
  background:#282520;
  color:#fffaf1;
  box-shadow:0 13px 30px rgba(26,20,14,.20);
}
.home-page .site-header.is-scrolled .header-cta{min-height:50px;padding-inline:23px}

/* Hero proportions and text placement mirror the reference layout. */
.home-page .hero-slider,
.home-page .hero-slide__inner{
  min-height:100svh;
}
.home-page .hero-slider{
  background:#17130f;
}
.home-page .hero-slide__media img,
.home-page .hero-slide__media video{
  filter:saturate(.88) contrast(1.025) brightness(.92);
  transform:scale(1.025);
}
.home-page .hero-slide.is-active .hero-slide__media img,
.home-page .hero-slide.is-active .hero-slide__media video{transform:scale(1)}
.home-page .hero-slide__overlay{
  background:
    linear-gradient(90deg,rgba(18,15,12,.73) 0%,rgba(18,15,12,.58) 34%,rgba(18,15,12,.25) 58%,rgba(18,15,12,.06) 78%,rgba(18,15,12,.16) 100%),
    linear-gradient(180deg,rgba(12,10,8,.20),transparent 48%,rgba(12,10,8,.30));
}
.home-page .hero-slide--center .hero-slide__overlay{
  background:linear-gradient(90deg,rgba(15,12,10,.42),rgba(15,12,10,.53),rgba(15,12,10,.42));
}
.home-page .hero-slide--right .hero-slide__overlay{
  background:linear-gradient(270deg,rgba(16,13,10,.72),rgba(16,13,10,.56) 42%,rgba(16,13,10,.10) 80%);
}
.home-page .hero-slide__lines,
.home-page .hero-slide__signature{display:none}
.home-page .hero-slide__inner{
  width:min(calc(100% - 40px),1420px);
  align-items:center;
  justify-content:flex-start;
  padding-top:178px;
  padding-bottom:125px;
}
.home-page .hero-slide__content{
  width:min(100%,690px);
  max-width:690px;
  padding:0;
  border:0;
  text-align:left;
}
.home-page .hero-slide--center .hero-slide__content{
  justify-items:center;
  text-align:center;
}
.home-page .hero-slide--right .hero-slide__content{text-align:right}
.home-page .hero-slide__eyebrow{
  gap:0;
  margin:0 0 24px;
  color:#fffaf1;
  font-family:var(--sans);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  text-shadow:0 5px 18px rgba(0,0,0,.22);
}
.home-page .hero-slide__eyebrow span{display:none}
.home-page .hero-slide h1,
.home-page .hero-slide h2{
  max-width:720px;
  color:#fff;
  font-family:var(--sans);
  font-size:clamp(3.75rem,5.45vw,6.15rem);
  font-weight:800;
  line-height:.92;
  letter-spacing:-.055em;
  text-transform:uppercase;
  text-shadow:0 9px 32px rgba(0,0,0,.26);
}
.home-page .hero-slide__lead{
  max-width:560px;
  margin-top:27px;
  color:rgba(255,255,255,.88);
  font-size:clamp(1.08rem,1.45vw,1.42rem);
  font-weight:450;
  line-height:1.55;
  text-shadow:0 5px 19px rgba(0,0,0,.24);
}
.home-page .hero-slide__actions{
  margin-top:34px;
  gap:14px;
}
.home-page .hero-slide__actions .btn-primary{
  min-height:56px;
  padding:13px 25px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  background:#46535a;
  color:#fff;
  font-size:.78rem;
  letter-spacing:.055em;
  box-shadow:0 14px 32px rgba(10,15,18,.25);
}
.home-page .hero-slide__actions .btn-primary:hover{
  background:#b88436;
  box-shadow:0 17px 36px rgba(103,68,21,.30);
}
.home-page .hero-slide__actions .btn-ghost{display:none}

/* Only the centered, round slider controls remain at the foot of the hero. */
.home-page .hero-slider__footer{
  left:50%;
  bottom:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(calc(100% - 40px),1420px);
  min-height:58px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:translateX(-50%);
  backdrop-filter:none;
  pointer-events:none;
}
.home-page .hero-trust,
.home-page .hero-scroll{display:none}
.home-page .hero-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  pointer-events:auto;
}
.home-page .hero-controls>button{
  width:56px;
  height:56px;
  border:1px solid rgba(63,54,44,.08);
  border-radius:50%;
  background:var(--edg-hero-control);
  color:#405056;
  font-size:1.18rem;
  box-shadow:0 11px 27px rgba(20,16,12,.18),inset 0 1px 0 rgba(255,255,255,.96);
}
.home-page .hero-controls>button:hover{
  border-color:#c59a52;
  background:#fff;
  color:#9b6722;
}
.home-page .hero-dots{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:56px;
  padding:0 4px;
}
.home-page .hero-dots button{
  width:8px;
  height:8px;
  border-radius:999px;
  background:rgba(231,229,224,.44);
  transition:width .25s ease,background .25s ease;
}
.home-page .hero-dots button.is-active{
  width:29px;
  background:#596970;
}
.home-page .hero-count,
.home-page .hero-progress{display:none}

@media (min-width:861px) and (max-width:1320px){
  .home-page .site-header .header-inner{
    width:calc(100% - 28px);
    min-height:104px;
    padding:10px 15px 10px 20px;
    gap:17px;
  }
  .home-page .brand{min-width:255px;gap:13px}
  .home-page .brand-mark{flex-basis:72px;width:72px;height:72px;border-radius:23px}
  .home-page .brand-copy strong{font-size:1.08rem}
  .home-page .brand-copy small{font-size:.6rem;letter-spacing:.12em}
  .home-page .main-nav{gap:14px}
  .home-page .main-nav>a{font-size:.72rem}
  .home-page .language-switch a{min-width:37px;min-height:36px;padding-inline:8px;font-size:.68rem}
  .home-page .header-cta{min-height:51px;padding-inline:19px;font-size:.68rem}
  .home-page .hero-slide__inner{width:calc(100% - 56px);padding-top:158px}
}

@media (max-width:860px){
  .home-page .site-header,
  .home-page .site-header.is-scrolled{
    padding-top:10px;
  }
  .home-page .site-header .header-inner,
  .home-page .site-header.is-scrolled .header-inner{
    width:calc(100% - 18px);
    min-height:74px;
    padding:8px 9px 8px 12px;
    gap:10px;
    border-radius:27px;
  }
  .home-page .brand{
    min-width:0;
    max-width:calc(100% - 58px);
    gap:11px;
  }
  .home-page .brand-mark,
  .home-page .site-header.is-scrolled .brand-mark{
    flex-basis:54px;
    width:54px;
    height:54px;
    border-radius:18px;
  }
  .home-page .brand-copy strong,
  .home-page .site-header.is-scrolled .brand-copy strong{
    overflow:hidden;
    max-width:calc(100vw - 145px);
    font-size:.94rem;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .home-page .brand-copy small{display:none}
  .home-page .menu-toggle{
    flex:0 0 48px;
    display:block;
    width:48px;
    height:48px;
    margin-left:auto;
    border-color:rgba(67,52,35,.11);
    background:rgba(255,255,255,.82);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
  }
  .home-page .main-nav{
    position:absolute;
    left:9px;
    right:9px;
    top:calc(100% + 9px);
    display:grid;
    justify-content:stretch;
    gap:0;
    max-height:0;
    margin:0;
    padding:0 18px;
    overflow:hidden;
    border:1px solid rgba(80,59,34,.10);
    border-radius:24px;
    background:rgba(249,246,240,.99);
    box-shadow:0 22px 55px rgba(31,22,13,.20);
    backdrop-filter:blur(20px);
  }
  .home-page .main-nav.is-open{
    max-height:calc(100dvh - 106px);
    padding:15px 18px 22px;
    overflow:auto;
  }
  .home-page .main-nav>a{
    justify-content:flex-start;
    min-height:48px;
    padding:12px 3px;
    border-bottom:1px solid rgba(69,51,31,.07);
    color:#37312b;
    font-size:1rem;
    font-weight:650;
  }
  .home-page .main-nav>a::after{display:none}
  .home-page .language-switch{
    justify-self:start;
    margin:14px 0 0;
  }
  .home-page .header-cta{display:none}
  .home-page .hero-slide__inner{
    width:calc(100% - 32px);
    align-items:flex-end;
    padding-top:120px;
    padding-bottom:118px;
  }
  .home-page .hero-slide__content{max-width:620px}
  .home-page .hero-slide h1,
  .home-page .hero-slide h2{
    max-width:11ch;
    font-size:clamp(3rem,12vw,4.9rem);
    line-height:.93;
  }
  .home-page .hero-slide__lead{
    max-width:500px;
    margin-top:20px;
    font-size:1rem;
  }
  .home-page .hero-slide__actions{margin-top:25px}
  .home-page .hero-slider__footer{bottom:17px;width:calc(100% - 24px)}
  .home-page .hero-controls>button{width:50px;height:50px}
  .home-page .hero-dots{min-height:50px}
}

@media (max-width:520px){
  .home-page .header-inner{border-radius:23px}
  .home-page .brand-mark,
  .home-page .site-header.is-scrolled .brand-mark{
    flex-basis:48px;
    width:48px;
    height:48px;
    border-radius:16px;
  }
  .home-page .brand-copy strong,
  .home-page .site-header.is-scrolled .brand-copy strong{
    max-width:calc(100vw - 132px);
    font-size:.83rem;
  }
  .home-page .menu-toggle{flex-basis:44px;width:44px;height:44px}
  .home-page .hero-slide__inner{padding-bottom:104px}
  .home-page .hero-slide__eyebrow{margin-bottom:16px;font-size:.62rem}
  .home-page .hero-slide h1,
  .home-page .hero-slide h2{font-size:clamp(2.55rem,12.2vw,3.65rem)}
  .home-page .hero-slide__lead{font-size:.93rem;line-height:1.5}
  .home-page .hero-slide__actions .btn-primary{min-height:50px;padding-inline:19px;font-size:.67rem}
  .home-page .hero-controls{gap:10px}
  .home-page .hero-controls>button{width:46px;height:46px}
  .home-page .hero-dots{gap:7px;min-height:46px}
  .home-page .hero-dots button{width:7px;height:7px}
  .home-page .hero-dots button.is-active{width:24px}
}

@media (max-width:860px) and (orientation:landscape) and (max-height:620px){
  .home-page .hero-slider,
  .home-page .hero-slide__inner{min-height:620px}
  .home-page .hero-slide__inner{align-items:center;padding-top:108px;padding-bottom:88px}
  .home-page .hero-slide h1,
  .home-page .hero-slide h2{font-size:clamp(2.55rem,7vw,4rem)}
}

/* v20.1 — remove legacy control tray; keep only the reference-style circles. */
.home-page .hero-controls{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}


/* ========================================================================== 
   EDG Remodel v21 — larger header typography and dedicated FAQ navigation
   ========================================================================== */
@media (min-width:1321px){
  .home-page .site-header .header-inner{
    width:min(calc(100% - 36px),1580px);
    min-height:132px;
    padding:14px 24px 14px 30px;
    gap:clamp(24px,1.7vw,34px);
  }
  .home-page .brand{min-width:365px;gap:20px}
  .home-page .brand-mark{flex-basis:96px;width:96px;height:96px;border-radius:30px}
  .home-page .brand-copy strong{font-size:clamp(1.48rem,1.52vw,1.78rem);line-height:1}
  .home-page .brand-copy small{font-size:.80rem;line-height:1.35;letter-spacing:.16em}
  .home-page .main-nav{gap:clamp(17px,1.25vw,24px)}
  .home-page .main-nav>a{font-size:clamp(.88rem,.84vw,1rem);font-weight:700}
  .home-page .language-switch a{min-width:48px;min-height:44px;font-size:.84rem}
  .home-page .header-cta{min-height:62px;padding-inline:30px;font-size:.86rem}
  .home-page .hero-slide__inner,
  .home-page .hero-slider__footer{width:min(calc(100% - 44px),1580px)}
}

@media (min-width:861px) and (max-width:1320px){
  .home-page .brand-copy strong{font-size:1.18rem}
  .home-page .brand-copy small{font-size:.66rem}
  .home-page .main-nav{gap:12px}
  .home-page .main-nav>a{font-size:.79rem;font-weight:700}
  .home-page .language-switch a{font-size:.73rem}
  .home-page .header-cta{font-size:.74rem}
}

.home-page .hero-slide__actions .btn-hero-faq{
  display:inline-flex;
  min-height:56px;
  padding:13px 24px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:999px;
  background:rgba(248,244,237,.13);
  color:#fff;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.055em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 14px 30px rgba(10,8,6,.14);
  backdrop-filter:blur(10px);
}
.home-page .hero-slide__actions .btn-hero-faq:hover{
  border-color:#fff;
  background:#f7f2e9;
  color:#27211b;
  box-shadow:0 16px 34px rgba(12,9,7,.22);
}

/* FAQ now lives on its own page; the final homepage transition flows directly
   from the dark testimonial section into the closing call-to-action. */
.home-page .cta-section{
  padding-top:calc(clamp(70px,8vw,112px) + 34px);
  background:linear-gradient(180deg,#100d0b 0,#625a52 34px,#d2c9bf 76px,#f5f0e9 122px,var(--ivory) 190px,var(--ivory) 100%);
}

.faq-page .site-header{background:rgba(250,247,242,.96)}
.page-hero--faq{padding-bottom:clamp(82px,8vw,116px)}
.page-hero--faq .page-hero__art span{font-size:clamp(8rem,16vw,15rem)}
.faq-directory-section{
  background:
    radial-gradient(circle at 88% 8%,rgba(194,143,56,.10),transparent 27rem),
    linear-gradient(180deg,#f8f4ee,#fffdf9 36%,#f5efe7 100%);
}
.faq-page-layout{
  display:grid;
  grid-template-columns:minmax(260px,.68fr) minmax(0,1.45fr);
  gap:clamp(52px,7vw,100px);
  align-items:start;
}
.faq-page-intro{
  position:sticky;
  top:132px;
  padding:30px 0 0 28px;
  border-left:1px solid rgba(133,91,32,.25);
}
.faq-page-index{
  display:inline-flex;
  margin-bottom:22px;
  color:#a16d27;
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.faq-page-intro h2{font-size:clamp(2.25rem,3.4vw,3.75rem);line-height:.98}
.faq-page-intro p{max-width:410px;margin:21px 0 27px;color:#756b61;font-size:.96rem;line-height:1.78}
.faq-list--page{border-top:1px solid rgba(49,39,27,.15)}
.faq-list--page details{background:rgba(255,255,255,.28)}
.faq-list--page details[open]{padding-inline:20px;background:rgba(255,253,249,.72);box-shadow:0 18px 45px rgba(45,31,17,.07)}
.faq-list--page summary{padding:27px 0}
.faq-list--page summary>b{font-size:clamp(1.18rem,1.55vw,1.48rem)}
.faq-list--page .faq-answer{padding-bottom:27px;color:#62594f}
.faq-empty{padding:36px;border:1px solid rgba(96,68,32,.13);border-radius:22px;background:rgba(255,255,255,.54)}
.faq-empty strong{font-family:var(--serif);font-size:1.65rem}
.faq-empty p{margin:9px 0 0;color:var(--muted)}

@media (max-width:860px){
  .home-page .hero-slide__actions .btn-hero-faq{min-height:52px}
  .home-page .cta-section{
    padding-top:calc(68px + 26px);
    background:linear-gradient(180deg,#100d0b 0,#6b6259 28px,#d2cac1 62px,#f5f0e9 100px,var(--ivory) 150px,var(--ivory) 100%);
  }
  .faq-page-layout{grid-template-columns:1fr;gap:42px}
  .faq-page-intro{position:static;padding:0 0 0 22px}
}

@media (max-width:620px){
  .home-page .hero-slide__actions .btn-hero-faq{width:100%;min-height:50px;padding-inline:18px;font-size:.67rem}
  .faq-page-intro h2{font-size:2.35rem}
  .faq-list--page details[open]{padding-inline:13px}
  .faq-list--page summary{padding:22px 0}
  .faq-list--page .faq-answer{padding-left:47px}
}

/* ========================================================================== 
   EDG Remodel v22 — centered hero frame, complete logo and contact dock
   ========================================================================== */

/* Display the supplied logo without cropping any part of its gold frame. */
.home-page .brand-mark img{
  object-fit:contain;
  padding:3px;
  background:#f2ede5;
}
.home-page .site-header.is-scrolled .brand-mark img{padding:2px}

/* The banner now sits inside a refined centered frame instead of filling the
   complete browser canvas. Existing CMS images and videos still fill it. */
.home-page .hero-slider{
  width:min(calc(100% - 44px),1680px);
  min-height:clamp(680px,calc(100svh - 40px),920px);
  margin:16px auto 34px;
  overflow:hidden;
  border:1px solid rgba(210,175,112,.34);
  border-radius:38px;
  box-shadow:
    0 30px 75px rgba(24,18,12,.25),
    0 0 34px rgba(202,157,78,.10),
    inset 0 1px 0 rgba(255,255,255,.18);
}
.home-page .hero-slider__slides,
.home-page .hero-slide,
.home-page .hero-slide__media,
.home-page .hero-slide__media picture{
  border-radius:inherit;
}
.home-page .hero-slide__inner{
  width:min(calc(100% - 70px),1510px);
  min-height:clamp(680px,calc(100svh - 40px),920px);
  padding-top:174px;
  padding-bottom:118px;
}
.home-page .hero-slider__footer{
  width:min(calc(100% - 70px),1510px);
  bottom:22px;
}
.home-page .signature-strip{
  margin-top:0;
}

/* Panel-managed floating phone / SMS icon buttons. */
.floating-contact{
  position:fixed;
  right:22px;
  bottom:max(22px,env(safe-area-inset-bottom));
  z-index:82;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.floating-contact--left{
  right:auto;
  left:22px;
}
.floating-contact__button{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  box-shadow:0 14px 32px rgba(20,15,10,.24),inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(14px) saturate(1.08);
  transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.floating-contact__button svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.floating-contact__button--call{
  background:rgba(63,76,82,.96);
  color:#fff;
}
.floating-contact__button--sms{
  border-color:rgba(151,105,39,.26);
  background:rgba(250,246,239,.97);
  color:#82591f;
}
.floating-contact__button:hover{
  transform:translateY(-3px) scale(1.04);
  box-shadow:0 18px 38px rgba(20,15,10,.30),inset 0 1px 0 rgba(255,255,255,.22);
}
.floating-contact__button--call:hover{
  border-color:rgba(210,164,88,.50);
  background:#b68234;
  color:#fff;
}
.floating-contact__button--sms:hover{
  border-color:#b68234;
  background:#f1e2ca;
  color:#5e3e16;
}
.floating-contact__button:focus-visible{
  outline:3px solid rgba(196,145,61,.38);
  outline-offset:3px;
}

@media (max-width:860px){
  .floating-contact{
    right:12px;
    bottom:max(12px,env(safe-area-inset-bottom));
    gap:8px;
  }
  .floating-contact--left{right:auto;left:12px}
  .floating-contact__button{
    width:50px;
    height:50px;
  }
  .floating-contact__button svg{width:21px;height:21px}
}

@media (max-width:540px){
  .floating-contact__button{
    width:48px;
    height:48px;
  }
  .floating-contact__button svg{width:20px;height:20px}
}

@media (prefers-reduced-motion:reduce){
  .floating-contact__button{transition:none}
}

/* Keep the narrow area around the centered hero in the site's dark premium tone. */
body.home-page{background:#17130f}

/* ========================================================================== 
   EDG Remodel v23 — shorter, reference-proportioned centered hero
   The banner remains CMS-driven while no longer expanding with tall screens.
   ========================================================================== */
@media (min-width:1321px){
  .home-page .hero-slider{
    height:clamp(660px,42vw,760px);
    min-height:0;
    margin:16px auto 34px;
  }
  .home-page .hero-slide__inner{
    height:100%;
    min-height:0;
    padding-top:164px;
    padding-bottom:98px;
  }
  .home-page .hero-slider__footer{bottom:20px}
}

@media (min-width:861px) and (max-width:1320px){
  .home-page .hero-slider{
    height:clamp(590px,55vw,700px);
    min-height:0;
  }
  .home-page .hero-slide__inner{
    height:100%;
    min-height:0;
    padding-top:142px;
    padding-bottom:90px;
  }
  .home-page .hero-slider__footer{bottom:17px}
}

@media (max-width:860px){
  .home-page .hero-slider{
    height:clamp(560px,145vw,640px);
    min-height:0;
  }
  .home-page .hero-slide__inner{
    height:100%;
    min-height:0;
    padding-top:106px;
    padding-bottom:94px;
  }
}

@media (max-width:540px){
  .home-page .hero-slider{
    height:clamp(540px,150vw,610px);
    min-height:0;
  }
  .home-page .hero-slide__inner{
    height:100%;
    min-height:0;
    padding-top:98px;
    padding-bottom:88px;
  }
}

@media (max-width:860px) and (orientation:landscape) and (max-height:620px){
  .home-page .hero-slider{
    height:540px;
    min-height:0;
  }
  .home-page .hero-slide__inner{
    height:100%;
    min-height:0;
    padding-top:104px;
    padding-bottom:78px;
  }
}

/* ========================================================================== 
   EDG Remodel v25 — full-viewport first-screen banner
   The hero now matches the supplied reference: the first screen is the banner,
   while the floating cream header remains layered over the banner media.
   ========================================================================== */
body.home-page{
  background:#11100e;
}

.home-page .hero-slider{
  width:100%;
  height:100svh;
  min-height:620px;
  max-height:none;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:hidden;
  background:#11100e;
}

.home-page .hero-slider__slides,
.home-page .hero-slide,
.home-page .hero-slide__media,
.home-page .hero-slide__media picture{
  border-radius:0;
}

.home-page .hero-slide__media img,
.home-page .hero-slide__media video{
  width:100%;
  height:100%;
  object-fit:cover;
}

.home-page .hero-slide__inner{
  width:min(calc(100% - 44px),1580px);
  height:100%;
  min-height:0;
  padding-top:clamp(168px,19vh,220px);
  padding-bottom:clamp(100px,13vh,140px);
}

.home-page .hero-slider__footer{
  width:min(calc(100% - 44px),1580px);
  bottom:clamp(20px,3vh,30px);
}

/* The next homepage section starts only after the complete first-screen hero. */
.home-page .signature-strip{
  margin-top:0;
}

@media (min-width:1321px){
  .home-page .hero-slider{
    width:100%;
    height:100svh;
    min-height:620px;
    margin:0;
  }
  .home-page .hero-slide__inner{
    height:100%;
    min-height:0;
    padding-top:clamp(176px,19vh,228px);
    padding-bottom:clamp(104px,13vh,142px);
  }
  .home-page .hero-slider__footer{bottom:clamp(20px,3vh,30px)}
}

@media (min-width:861px) and (max-width:1320px){
  .home-page .hero-slider{
    width:100%;
    height:100svh;
    min-height:600px;
    margin:0;
  }
  .home-page .hero-slide__inner{
    height:100%;
    min-height:0;
    padding-top:clamp(142px,18vh,184px);
    padding-bottom:96px;
  }
  .home-page .hero-slider__footer{bottom:18px}
}

@media (max-width:860px){
  .home-page .hero-slider{
    width:100%;
    height:100svh;
    min-height:600px;
    margin:0;
    border-radius:0;
  }
  .home-page .hero-slide__inner{
    width:calc(100% - 32px);
    height:100%;
    min-height:0;
    padding-top:112px;
    padding-bottom:104px;
  }
  .home-page .hero-slider__footer{
    width:calc(100% - 24px);
    bottom:14px;
  }
}

@media (max-width:540px){
  .home-page .hero-slider{
    width:100%;
    height:100svh;
    min-height:580px;
    margin:0;
  }
  .home-page .hero-slide__inner{
    height:100%;
    min-height:0;
    padding-top:96px;
    padding-bottom:94px;
  }
}

@media (max-width:860px) and (orientation:landscape) and (max-height:620px){
  .home-page .hero-slider{
    width:100%;
    height:100svh;
    min-height:520px;
    margin:0;
  }
  .home-page .hero-slide__inner{
    height:100%;
    min-height:0;
    align-items:center;
    padding-top:104px;
    padding-bottom:72px;
  }
}

/* ========================================================================== 
   EDG Remodel v26 — inset first-screen hero and supplied transparent logo
   The hero remains prominent, but no longer touches every browser edge.
   ========================================================================== */

/* Keep the complete supplied EDG artwork visible instead of cropping it. */
.brand-mark img,
.home-page .brand-mark img{
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
}

.home-page .brand-mark{
  flex:0 0 88px;
  width:88px;
  height:80px;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.home-page .site-header.is-scrolled .brand-mark{
  flex-basis:68px;
  width:68px;
  height:62px;
}

/* Large inset banner: edge breathing room, controlled height and rounded frame. */
.home-page .hero-slider{
  width:min(calc(100% - clamp(32px,4vw,72px)),1780px);
  height:clamp(620px,calc(100svh - 48px),860px);
  min-height:0;
  max-height:860px;
  margin:14px auto 34px;
  overflow:hidden;
  border:1px solid rgba(216,178,108,.30);
  border-radius:32px;
  background:#11100e;
  box-shadow:
    0 28px 70px rgba(12,9,6,.28),
    0 0 30px rgba(202,157,78,.08),
    inset 0 1px 0 rgba(255,255,255,.12);
}
.home-page .hero-slider__slides,
.home-page .hero-slide,
.home-page .hero-slide__media,
.home-page .hero-slide__media picture{
  border-radius:inherit;
}
.home-page .hero-slide__inner{
  width:min(calc(100% - 72px),1580px);
  height:100%;
  min-height:0;
  padding-top:clamp(160px,18vh,205px);
  padding-bottom:100px;
}
.home-page .hero-slider__footer{
  width:auto;
  bottom:20px;
}
.home-page .signature-strip{margin-top:0}

@media (min-width:861px) and (max-width:1320px){
  .home-page .brand-mark{
    flex-basis:72px;
    width:72px;
    height:66px;
  }
  .home-page .site-header.is-scrolled .brand-mark{
    flex-basis:62px;
    width:62px;
    height:56px;
  }
  .home-page .hero-slider{
    width:calc(100% - 28px);
    height:clamp(590px,calc(100svh - 38px),760px);
    max-height:760px;
    margin:12px auto 28px;
    border-radius:28px;
  }
  .home-page .hero-slide__inner{
    width:calc(100% - 54px);
    height:100%;
    min-height:0;
    padding-top:clamp(136px,17vh,174px);
    padding-bottom:90px;
  }
  .home-page .hero-slider__footer{bottom:17px}
}

@media (max-width:860px){
  .home-page .brand-mark,
  .home-page .site-header.is-scrolled .brand-mark{
    flex:0 0 58px;
    width:58px;
    height:54px;
  }
  .home-page .hero-slider{
    width:calc(100% - 18px);
    height:clamp(560px,calc(100svh - 24px),680px);
    min-height:0;
    max-height:680px;
    margin:8px auto 22px;
    border-radius:23px;
  }
  .home-page .hero-slide__inner{
    width:calc(100% - 32px);
    height:100%;
    min-height:0;
    padding-top:106px;
    padding-bottom:92px;
  }
  .home-page .hero-slider__footer{
    width:auto;
    bottom:13px;
  }
}

@media (max-width:540px){
  .home-page .brand-mark,
  .home-page .site-header.is-scrolled .brand-mark{
    flex-basis:52px;
    width:52px;
    height:48px;
  }
  .home-page .hero-slider{
    width:calc(100% - 14px);
    height:clamp(535px,calc(100svh - 18px),630px);
    max-height:630px;
    margin:6px auto 18px;
    border-radius:20px;
  }
  .home-page .hero-slide__inner{
    width:calc(100% - 26px);
    padding-top:96px;
    padding-bottom:86px;
  }
}

@media (max-width:860px) and (orientation:landscape) and (max-height:620px){
  .home-page .hero-slider{
    width:calc(100% - 18px);
    height:calc(100svh - 16px);
    min-height:500px;
    max-height:none;
    margin:8px auto 18px;
  }
  .home-page .hero-slide__inner{
    height:100%;
    min-height:0;
    align-items:center;
    padding-top:94px;
    padding-bottom:68px;
  }
}

/* ==========================================================================
   EDG Remodel v27 — full-panel pointer glow on closing CTA
   The base CTA decoration previously shared the same ::after pseudo-element
   with the pointer sheen, leaving the interactive glow constrained to 500px.
   This explicit reset makes the effect cover every dark pixel of the panel.
   ========================================================================== */
.home-page .cta-box[data-luxury-card]::after{
  inset:0;
  width:auto;
  height:auto;
  border-radius:inherit;
  background:radial-gradient(420px circle at var(--glow-x) var(--glow-y),rgba(244,211,146,.20) 0,rgba(255,255,255,.10) 22%,rgba(215,160,67,.055) 43%,transparent 68%);
  opacity:0;
  z-index:7;
  pointer-events:none;
  transition:opacity .22s ease;
}
.home-page .cta-box[data-luxury-card]:hover::after{opacity:1}


/* ========================================================================== 
   EDG Remodel v28 — fully covered banner media with a slightly shorter hero
   The CMS banner fills every pixel of the hero frame while the first-screen
   composition is reduced just enough to feel balanced beneath the header.
   ========================================================================== */
.home-page .hero-slider{
  width:min(calc(100% - clamp(28px,3vw,52px)),1780px);
  height:clamp(590px,calc(100svh - 105px),760px);
  min-height:0;
  max-height:760px;
  margin:12px auto 28px;
  border-radius:30px;
}
.home-page .hero-slider__slides,
.home-page .hero-slide,
.home-page .hero-slide__media,
.home-page .hero-slide__media picture{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  overflow:hidden;
  border-radius:inherit;
}
.home-page .hero-slide__media picture{
  display:block;
}
.home-page .hero-slide__media img,
.home-page .hero-slide__media video{
  position:absolute;
  inset:0;
  display:block;
  width:100%!important;
  height:100%!important;
  min-width:100%;
  min-height:100%;
  object-fit:cover!important;
  object-position:center center;
}
.home-page .hero-slide__inner{
  width:min(calc(100% - 70px),1540px);
  height:100%;
  min-height:0;
  padding-top:clamp(145px,16vh,178px);
  padding-bottom:82px;
}
.home-page .hero-slide__content{
  width:min(100%,650px);
  max-width:650px;
}
.home-page .hero-slide h1,
.home-page .hero-slide h2{
  font-size:clamp(3.55rem,5.35vw,5.7rem);
  line-height:.91;
}
.home-page .hero-slide__lead{
  max-width:510px;
  margin-top:20px;
  font-size:clamp(.95rem,1.02vw,1.07rem);
}
.home-page .hero-slide__actions{
  margin-top:24px;
}
.home-page .hero-slide__actions .btn{
  min-height:48px;
  padding-inline:20px;
}
.home-page .hero-slider__footer{
  bottom:16px;
}

@media (min-width:861px) and (max-width:1320px){
  .home-page .hero-slider{
    width:calc(100% - 26px);
    height:clamp(540px,calc(100svh - 90px),690px);
    max-height:690px;
    margin:10px auto 24px;
    border-radius:27px;
  }
  .home-page .hero-slide__inner{
    width:calc(100% - 50px);
    padding-top:clamp(130px,15vh,158px);
    padding-bottom:76px;
  }
  .home-page .hero-slide h1,
  .home-page .hero-slide h2{
    font-size:clamp(3.25rem,6.2vw,5rem);
  }
}

@media (max-width:860px){
  .home-page .hero-slider{
    width:calc(100% - 16px);
    height:clamp(500px,calc(100svh - 78px),610px);
    min-height:0;
    max-height:610px;
    margin:7px auto 20px;
    border-radius:22px;
  }
  .home-page .hero-slide__inner{
    width:calc(100% - 30px);
    height:100%;
    min-height:0;
    padding-top:100px;
    padding-bottom:78px;
  }
  .home-page .hero-slide h1,
  .home-page .hero-slide h2{
    font-size:clamp(2.7rem,12vw,3.65rem);
    line-height:.94;
  }
  .home-page .hero-slide__lead{
    margin-top:16px;
    font-size:.92rem;
  }
  .home-page .hero-slide__actions{
    margin-top:20px;
  }
  .home-page .hero-slider__footer{
    bottom:11px;
  }
}

@media (max-width:540px){
  .home-page .hero-slider{
    width:calc(100% - 12px);
    height:clamp(480px,calc(100svh - 68px),580px);
    max-height:580px;
    margin:6px auto 18px;
    border-radius:19px;
  }
  .home-page .hero-slide__inner{
    width:calc(100% - 24px);
    padding-top:92px;
    padding-bottom:72px;
  }
  .home-page .hero-slide h1,
  .home-page .hero-slide h2{
    font-size:clamp(2.45rem,11.5vw,3.25rem);
  }
  .home-page .hero-slide__actions .btn{
    min-height:45px;
    padding-inline:16px;
  }
}

@media (max-width:860px) and (orientation:landscape) and (max-height:620px){
  .home-page .hero-slider{
    width:calc(100% - 16px);
    height:calc(100svh - 18px);
    min-height:460px;
    max-height:none;
    margin:7px auto 16px;
  }
  .home-page .hero-slide__inner{
    align-items:center;
    padding-top:90px;
    padding-bottom:60px;
  }
}

/* ========================================================================== 
   EDG Remodel v29 — Seramik Tasarım reference-style first-screen banner
   Full-bleed CMS media, centered floating capsule header and compact hero copy.
   ========================================================================== */

/* The first viewport is the banner itself; no outer frame, margin or radius. */
.home-page .hero-slider{
  width:100%;
  height:100svh;
  min-height:680px;
  max-height:none;
  margin:0;
  border:0;
  border-radius:0;
  background:#11100e;
  box-shadow:none;
}
.home-page .hero-slider__slides,
.home-page .hero-slide,
.home-page .hero-slide__media,
.home-page .hero-slide__media picture{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  overflow:hidden;
  border-radius:0;
}
.home-page .hero-slide__media picture{display:block}
.home-page .hero-slide__media img,
.home-page .hero-slide__media video{
  position:absolute;
  inset:0;
  display:block;
  width:100%!important;
  height:100%!important;
  min-width:100%;
  min-height:100%;
  object-fit:cover!important;
  object-position:center center;
}

/* Reference-sized floating navigation capsule. */
@media (min-width:1321px){
  .home-page .site-header{padding-top:20px}
  .home-page .site-header .header-inner{
    width:min(calc(100% - 40px),1420px);
    min-height:132px;
    padding:12px 20px 12px 28px;
    gap:clamp(20px,1.6vw,31px);
  }
  .home-page .brand{min-width:330px;gap:18px}
  .home-page .brand-mark{
    flex:0 0 94px;
    width:94px;
    height:94px;
  }
  .home-page .brand-copy strong{font-size:clamp(1.34rem,1.42vw,1.66rem)}
  .home-page .brand-copy small{font-size:.74rem}
  .home-page .main-nav{gap:clamp(16px,1.15vw,23px)}
  .home-page .main-nav>a{font-size:clamp(.82rem,.78vw,.92rem)}
  .home-page .language-switch a{min-width:45px;min-height:42px;font-size:.79rem}
  .home-page .header-cta{min-height:58px;padding-inline:27px;font-size:.80rem}
}

/* Text starts on the same visual grid as the floating header. */
.home-page .hero-slide__inner{
  width:min(calc(100% - 40px),1420px);
  height:100%;
  min-height:0;
  align-items:center;
  padding-top:166px;
  padding-bottom:92px;
}
.home-page .hero-slide__content{
  width:min(100%,620px);
  max-width:620px;
}
.home-page .hero-slide__eyebrow{
  margin-bottom:20px;
  font-size:.72rem;
  letter-spacing:.20em;
}
.home-page .hero-slide h1,
.home-page .hero-slide h2{
  max-width:680px;
  font-size:clamp(3.35rem,5vw,5.55rem);
  line-height:.93;
  letter-spacing:-.048em;
}
.home-page .hero-slide__lead{
  max-width:540px;
  margin-top:22px;
  font-size:clamp(1rem,1.12vw,1.18rem);
  line-height:1.55;
}
.home-page .hero-slide__actions{
  gap:12px;
  margin-top:27px;
}
.home-page .hero-slide__actions .btn{
  min-height:52px;
  padding:12px 22px;
  font-size:.72rem;
}
.home-page .hero-slider__footer{
  width:min(calc(100% - 40px),1420px);
  bottom:22px;
}
.home-page .signature-strip{margin-top:0}

@media (min-width:861px) and (max-width:1320px){
  .home-page .site-header{padding-top:16px}
  .home-page .site-header .header-inner{
    width:calc(100% - 28px);
    min-height:106px;
    padding:10px 15px 10px 20px;
  }
  .home-page .hero-slider{
    width:100%;
    height:100svh;
    min-height:620px;
    max-height:none;
    margin:0;
    border-radius:0;
  }
  .home-page .hero-slide__inner{
    width:calc(100% - 56px);
    height:100%;
    padding-top:145px;
    padding-bottom:82px;
  }
  .home-page .hero-slide h1,
  .home-page .hero-slide h2{font-size:clamp(3.15rem,6.25vw,5rem)}
  .home-page .hero-slider__footer{width:calc(100% - 28px);bottom:18px}
}

@media (max-width:860px){
  .home-page .hero-slider{
    width:100%;
    height:100svh;
    min-height:580px;
    max-height:none;
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .home-page .hero-slide__inner{
    width:calc(100% - 32px);
    height:100%;
    min-height:0;
    align-items:flex-end;
    padding-top:112px;
    padding-bottom:100px;
  }
  .home-page .hero-slide__content{width:100%;max-width:560px}
  .home-page .hero-slide h1,
  .home-page .hero-slide h2{
    max-width:11ch;
    font-size:clamp(2.65rem,11.5vw,4rem);
    line-height:.94;
  }
  .home-page .hero-slide__lead{max-width:470px;margin-top:17px;font-size:.94rem}
  .home-page .hero-slide__actions{margin-top:21px}
  .home-page .hero-slider__footer{width:calc(100% - 24px);bottom:13px}
}

@media (max-width:540px){
  .home-page .hero-slider{
    width:100%;
    height:100svh;
    min-height:560px;
    max-height:none;
    margin:0;
    border-radius:0;
  }
  .home-page .hero-slide__inner{
    width:calc(100% - 26px);
    padding-top:98px;
    padding-bottom:90px;
  }
  .home-page .hero-slide h1,
  .home-page .hero-slide h2{font-size:clamp(2.4rem,11.2vw,3.35rem)}
  .home-page .hero-slide__actions .btn{min-height:47px;padding-inline:17px}
}

@media (max-width:860px) and (orientation:landscape) and (max-height:620px){
  .home-page .hero-slider{
    width:100%;
    height:100svh;
    min-height:500px;
    max-height:none;
    margin:0;
  }
  .home-page .hero-slide__inner{
    height:100%;
    align-items:center;
    padding-top:102px;
    padding-bottom:68px;
  }
}

/* ========================================================================== 
   EDG Remodel v30 — compact capsule header with proportionally larger type
   ========================================================================== */

@media (min-width:1321px){
  .home-page .site-header{padding-top:15px}
  .home-page .site-header .header-inner{
    min-height:106px;
    padding:7px 18px 7px 23px;
    gap:clamp(18px,1.35vw,27px);
  }
  .home-page .brand{
    min-width:370px;
    gap:16px;
  }
  .home-page .brand-mark{
    flex-basis:80px;
    width:80px;
    height:80px;
    border-radius:24px;
  }
  .home-page .brand-copy{gap:5px}
  .home-page .brand-copy strong{
    font-size:clamp(1.58rem,1.55vw,1.84rem);
    line-height:1.02;
  }
  .home-page .brand-copy small{
    margin-top:2px;
    font-size:.82rem;
    line-height:1.25;
    letter-spacing:.15em;
  }
  .home-page .main-nav{
    gap:clamp(17px,1.14vw,23px);
  }
  .home-page .main-nav>a{
    padding:14px 0 12px;
    font-size:clamp(.94rem,.88vw,1.04rem);
    font-weight:700;
  }
  .home-page .language-switch{padding:4px}
  .home-page .language-switch a{
    min-width:47px;
    min-height:42px;
    padding-inline:10px;
    font-size:.89rem;
  }
  .home-page .header-cta{
    min-height:54px;
    padding:11px 25px;
    font-size:.89rem;
    letter-spacing:.075em;
  }
  .home-page .site-header.is-scrolled{padding-top:8px}
  .home-page .site-header.is-scrolled .header-inner{
    min-height:78px;
    padding:6px 14px 6px 18px;
  }
  .home-page .site-header.is-scrolled .brand-mark{
    flex-basis:60px;
    width:60px;
    height:60px;
    border-radius:18px;
  }
  .home-page .site-header.is-scrolled .brand-copy strong{font-size:1.28rem}
  .home-page .site-header.is-scrolled .brand-copy small{font-size:.68rem}
  .home-page .site-header.is-scrolled .header-cta{min-height:46px;padding-inline:21px}
}

@media (min-width:861px) and (max-width:1320px){
  .home-page .site-header{padding-top:12px}
  .home-page .site-header .header-inner{
    min-height:90px;
    padding:6px 13px 6px 17px;
    gap:clamp(12px,1.25vw,18px);
  }
  .home-page .brand{
    min-width:270px;
    gap:13px;
  }
  .home-page .brand-mark{
    flex-basis:68px;
    width:68px;
    height:68px;
    border-radius:20px;
  }
  .home-page .brand-copy strong{font-size:clamp(1.14rem,1.55vw,1.38rem)}
  .home-page .brand-copy small{font-size:.67rem;letter-spacing:.13em}
  .home-page .main-nav{gap:clamp(10px,1.02vw,15px)}
  .home-page .main-nav>a{font-size:clamp(.78rem,.88vw,.88rem);font-weight:700}
  .home-page .language-switch a{min-width:39px;min-height:36px;font-size:.76rem}
  .home-page .header-cta{min-height:47px;padding-inline:18px;font-size:.75rem}
}


/* ========================================================================== 
   EDG Remodel v31 — mobile language selector beside the hamburger
   ========================================================================== */
.language-switch--mobile{display:none}

@media (max-width:860px){
  .site-header .header-inner{
    gap:7px;
  }
  .site-header .brand{
    flex:1 1 auto;
    min-width:0;
    max-width:calc(100% - 140px);
  }
  .site-header .brand-copy{
    min-width:0;
  }
  .site-header .brand-copy strong{
    max-width:100%;
  }
  .site-header .language-switch--desktop{
    display:none!important;
  }
  .site-header .language-switch--mobile{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:2px;
    width:auto;
    min-width:76px;
    min-height:46px;
    margin:0 1px 0 auto;
    padding:3px;
    border:1px solid rgba(67,52,35,.11);
    border-radius:999px;
    background:rgba(255,255,255,.86);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 7px 18px rgba(34,25,17,.08);
  }
  .site-header .language-switch--mobile span{
    display:none;
  }
  .site-header .language-switch--mobile a{
    display:grid;
    place-items:center;
    min-width:34px;
    min-height:38px;
    padding:0 6px;
    border-radius:999px;
    color:#7f766d;
    font-size:.68rem;
    font-weight:850;
    letter-spacing:.04em;
    line-height:1;
  }
  .site-header .language-switch--mobile a.is-active{
    background:#46545a;
    color:#fff;
    box-shadow:0 5px 12px rgba(49,62,68,.22);
  }
  .site-header .menu-toggle{
    margin-left:0;
  }

  .home-page .brand{
    max-width:calc(100% - 140px);
  }
  .home-page .language-switch--mobile{
    margin:0 1px 0 auto;
    padding:3px;
  }
  .home-page .language-switch--mobile a{
    min-width:34px;
    min-height:38px;
    padding-inline:6px;
    font-size:.68rem;
  }
}

@media (max-width:520px){
  .site-header .header-inner,
  .home-page .site-header .header-inner{
    gap:6px;
  }
  .site-header .brand,
  .home-page .brand{
    max-width:calc(100% - 126px);
    gap:8px;
  }
  .site-header .language-switch--mobile,
  .home-page .language-switch--mobile{
    min-width:68px;
    min-height:42px;
    padding:3px;
  }
  .site-header .language-switch--mobile a,
  .home-page .language-switch--mobile a{
    min-width:30px;
    min-height:34px;
    padding-inline:4px;
    font-size:.62rem;
  }
}

/* EDG Remodel v14 — compact service detail layout: image left, content right */
@media (min-width: 981px){
  .detail-hero{
    padding:clamp(42px,4.2vw,64px) 0;
  }
  .detail-grid{
    grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr);
    grid-template-areas:"visual copy";
    align-items:center;
    gap:clamp(30px,4.2vw,58px);
  }
  .detail-copy{
    grid-area:copy;
    width:100%;
    max-width:650px;
    justify-self:end;
  }
  .detail-visual{
    grid-area:visual;
    width:100%;
    max-width:590px;
    justify-self:start;
    padding:12px;
  }
  .detail-visual img{
    width:100%;
    max-height:500px;
    aspect-ratio:4 / 3;
    object-fit:cover;
    object-position:center;
  }
}

@media (max-width: 980px){
  .detail-grid{
    grid-template-areas:"visual" "copy";
    gap:26px;
  }
  .detail-visual{
    grid-area:visual;
    width:100%;
    max-width:680px;
    margin-inline:auto;
  }
  .detail-copy{
    grid-area:copy;
    width:100%;
  }
  .detail-visual img{
    aspect-ratio:4 / 3;
    max-height:520px;
    object-fit:cover;
  }
}

/* EDG Remodel v14.2 — interaction and footer refinements */
.signature-strip:hover .signature-track,
.signature-strip:focus-within .signature-track{
  animation-play-state:paused;
}

.footer-hours{
  display:grid;
  gap:5px;
  margin-top:2px;
}
.footer-hours small{
  display:block;
  margin:0;
  color:#bfb6ab;
  line-height:1.55;
}

/* The same subtle pointer light now follows the mouse on every dark surface. */
.dark-pointer-sheen{
  --dark-glow-x:50%;
  --dark-glow-y:50%;
  isolation:isolate;
}
.dark-pointer-sheen--positioned{
  position:relative;
}
.dark-pointer-sheen__layer{
  position:absolute;
  inset:0;
  z-index:30;
  display:block;
  border-radius:inherit;
  background:
    radial-gradient(420px circle at var(--dark-glow-x) var(--dark-glow-y),rgba(255,255,255,.17),rgba(217,170,87,.075) 28%,transparent 60%);
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease;
}
.dark-pointer-sheen:hover > .dark-pointer-sheen__layer{
  opacity:1;
}

.floating-contact__button--call svg{
  overflow:visible;
}

@media (hover:none), (pointer:coarse), (prefers-reduced-motion:reduce){
  .dark-pointer-sheen__layer{display:none}
}


/* EDG Remodel v14.3 — compact inner-page header and remove decorative artwork */
.page-hero{
  padding:clamp(32px,3.2vw,48px) 0;
}
.page-hero__inner{
  max-width:1320px;
  padding:clamp(20px,2.3vw,30px) clamp(20px,2.8vw,36px);
  padding-right:clamp(20px,2.8vw,36px);
  border-radius:24px;
}
.page-hero__art{
  display:none!important;
}
.page-breadcrumb{
  margin-bottom:14px;
}
.page-hero .eyebrow{
  margin-bottom:8px;
}
.page-hero h1{
  max-width:14ch;
  font-size:clamp(2.45rem,4vw,4.15rem);
  line-height:.98;
}
.page-hero p:last-of-type{
  margin-top:12px;
  line-height:1.65;
}
.page-hero__rule{
  margin-top:18px;
}

@media (max-width:620px){
  .page-hero{
    padding:24px 0 30px;
  }
  .page-hero__inner{
    padding:16px;
    border-radius:20px;
  }
  .page-breadcrumb{
    margin-bottom:12px;
  }
  .page-hero h1{
    font-size:clamp(2rem,9.8vw,3rem);
  }
  .page-hero p:last-of-type{
    margin-top:10px;
  }
  .page-hero__rule{
    margin-top:15px;
  }
}


/* EDG Remodel v14.4 — compact page headers on every navigation page + panel images */
.page-hero.page-hero--content,
.page-hero.page-hero--listing,
.page-hero.page-hero--faq,
.page-hero.page-hero--contact{
  min-height:0;
  padding:clamp(24px,2.5vw,36px) 0!important;
  border-bottom:1px solid rgba(80,59,34,.08);
  background:linear-gradient(135deg,#f0e8de 0%,#faf7f2 56%,#eee4d7 100%)!important;
}
.page-hero::before,
.page-hero::after,
.page-hero__art{
  display:none!important;
  content:none!important;
}
.page-hero.page-hero--content .page-hero__inner,
.page-hero.page-hero--listing .page-hero__inner,
.page-hero.page-hero--faq .page-hero__inner,
.page-hero.page-hero--contact .page-hero__inner{
  position:relative;
  max-width:var(--container);
  min-height:0;
  padding:clamp(18px,2vw,26px) clamp(18px,2.5vw,32px);
  border-radius:22px;
}
.page-hero--has-media .page-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,38%);
  align-items:stretch;
  gap:clamp(20px,3vw,42px);
}
.page-hero__content{
  min-width:0;
  align-self:center;
}
.page-hero .page-breadcrumb{
  margin-bottom:12px;
  padding:8px 12px;
}
.page-hero .eyebrow{
  margin-bottom:7px;
}
.page-hero h1{
  max-width:15ch;
  font-size:clamp(2.25rem,3.5vw,3.65rem);
  line-height:.98;
}
.page-hero p:last-of-type{
  max-width:62ch;
  margin-top:10px;
  font-size:clamp(.92rem,1vw,1rem);
  line-height:1.62;
}
.page-hero__rule{
  min-height:34px;
  margin-top:14px;
  padding:7px 12px;
}
.page-hero__media{
  position:relative;
  overflow:hidden;
  min-height:190px;
  max-height:270px;
  margin:0;
  border:1px solid rgba(106,76,38,.12);
  border-radius:18px;
  background:#e7ddd0;
  box-shadow:0 14px 34px rgba(44,31,18,.10);
}
.page-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 48%,rgba(38,27,18,.08));
}
.page-hero__media img{
  display:block;
  width:100%;
  height:100%;
  min-height:190px;
  object-fit:cover;
  object-position:center;
}

@media (max-width:820px){
  .page-hero--has-media .page-hero__inner{
    grid-template-columns:1fr;
    gap:16px;
  }
  .page-hero__media{
    min-height:170px;
    max-height:210px;
  }
  .page-hero__media img{
    min-height:170px;
  }
}

@media (max-width:620px){
  .page-hero.page-hero--content,
  .page-hero.page-hero--listing,
  .page-hero.page-hero--faq,
  .page-hero.page-hero--contact{
    padding:18px 0 24px!important;
  }
  .page-hero.page-hero--content .page-hero__inner,
  .page-hero.page-hero--listing .page-hero__inner,
  .page-hero.page-hero--faq .page-hero__inner,
  .page-hero.page-hero--contact .page-hero__inner{
    padding:15px;
    border-radius:18px;
  }
  .page-hero h1{
    max-width:none;
    font-size:clamp(1.95rem,9.5vw,2.8rem);
  }
  .page-hero__media,
  .page-hero__media img{
    min-height:150px;
  }
  .page-hero__media{
    max-height:185px;
    border-radius:15px;
  }
}

/* vNext — Page header images behind the text for all subpages */
.page-hero--has-media .page-hero__inner{
  position:relative;
  display:block;
  overflow:hidden;
  isolation:isolate;
  min-height:clamp(260px,24vw,340px);
}

.page-hero--has-media .page-hero__media{
  position:absolute;
  inset:0;
  z-index:0;
  height:100%;
  min-height:100%;
  max-height:none;
  border:0;
  border-radius:inherit;
  box-shadow:none;
  background:#d9c8b1;
}

.page-hero--has-media .page-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(247,241,233,.96) 0%, rgba(247,241,233,.93) 28%, rgba(247,241,233,.76) 48%, rgba(247,241,233,.36) 68%, rgba(247,241,233,.12) 100%),
    linear-gradient(180deg, rgba(27,18,10,.04) 0%, rgba(27,18,10,.10) 100%);
}

.page-hero--has-media .page-hero__media img{
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:cover;
  object-position:center;
}

.page-hero--has-media .page-hero__content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:clamp(220px,22vw,300px);
  max-width:min(700px,56%);
  padding-right:clamp(12px,2.5vw,36px);
}

.page-hero--has-media .page-breadcrumb,
.page-hero--has-media .page-hero__rule{
  backdrop-filter:blur(3px);
  background:rgba(255,250,244,.55);
}

.page-hero--has-media h1,
.page-hero--has-media p,
.page-hero--has-media .eyebrow,
.page-hero--has-media .page-breadcrumb,
.page-hero--has-media .page-hero__rule{
  position:relative;
  z-index:2;
}

@media (max-width: 980px){
  .page-hero--has-media .page-hero__content{
    max-width:min(660px,62%);
  }
}

@media (max-width: 820px){
  .page-hero--has-media .page-hero__inner{
    min-height:clamp(240px,45vw,310px);
  }
  .page-hero--has-media .page-hero__content{
    max-width:min(92%, 620px);
    min-height:clamp(210px,41vw,280px);
  }
  .page-hero--has-media .page-hero__media::after{
    background:
      linear-gradient(180deg, rgba(247,241,233,.88) 0%, rgba(247,241,233,.76) 38%, rgba(247,241,233,.52) 72%, rgba(247,241,233,.30) 100%),
      linear-gradient(180deg, rgba(27,18,10,.04) 0%, rgba(27,18,10,.10) 100%);
  }
}

@media (max-width: 620px){
  .page-hero--has-media .page-hero__inner{
    min-height:240px;
  }
  .page-hero--has-media .page-hero__content{
    max-width:100%;
    min-height:210px;
    padding-right:0;
  }
  .page-hero--has-media .page-breadcrumb,
  .page-hero--has-media .page-hero__rule{
    background:rgba(255,250,244,.62);
  }
}

/* ========================================================================== 
   About page refinement + homepage estimate button restoration
   ========================================================================== */

/* Keep the full EDG watermark visible inside the About sidebar card. */
.about-page-section .contact-card__seal{
  right:12px;
  top:-14px;
  white-space:nowrap;
  font-size:6.25rem;
  letter-spacing:-.065em;
  transform:none;
}

/* Give the About page a richer, more intentional editorial layout. */
.about-page-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 16%,rgba(207,166,91,.14),transparent 24rem),
    radial-gradient(circle at 92% 78%,rgba(72,58,43,.06),transparent 26rem),
    linear-gradient(180deg,rgba(255,253,249,.78),rgba(243,236,227,.82));
}
.about-page-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.34;
  background-image:linear-gradient(rgba(108,79,42,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(108,79,42,.045) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent);
}
.about-page-layout{
  position:relative;
  z-index:1;
  grid-template-columns:minmax(0,1fr) minmax(310px,.38fr);
  gap:clamp(34px,5vw,72px);
  align-items:start;
}
.about-page-copy{
  position:relative;
  max-width:none;
  padding:clamp(30px,4.2vw,58px);
  border:1px solid rgba(93,68,39,.10);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,254,251,.96),rgba(248,242,234,.91));
  box-shadow:0 30px 80px rgba(49,35,20,.09),inset 0 1px 0 rgba(255,255,255,.9);
}
.about-page-copy::before{
  content:"";
  position:absolute;
  left:clamp(30px,4.2vw,58px);
  right:clamp(30px,4.2vw,58px);
  top:0;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#b77d29,#dfbd73 44%,transparent 88%);
}
.about-page-copy h2{
  position:relative;
  margin-top:1.8em;
  padding-left:22px;
  font-size:clamp(2rem,3vw,3rem);
  line-height:1.04;
}
.about-page-copy h2:first-child{margin-top:0}
.about-page-copy h2::before{
  content:"";
  position:absolute;
  left:0;
  top:.18em;
  width:5px;
  height:.78em;
  border-radius:999px;
  background:linear-gradient(180deg,#d7ad5d,#9c6721);
  box-shadow:0 7px 18px rgba(164,108,34,.22);
}
.about-page-copy p{
  max-width:72ch;
  color:#62584f;
}
.about-page-copy p:first-of-type{
  color:#463d35;
  font-size:clamp(1.04rem,1.25vw,1.17rem);
  line-height:1.82;
}

/* Existing ordered process lists become premium numbered cards. */
.about-page-copy ol{
  counter-reset:about-step;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
  margin:30px 0 8px;
  padding:0;
  list-style:none;
}
.about-page-copy ol li{
  counter-increment:about-step;
  position:relative;
  min-height:86px;
  padding:22px 18px 20px 66px;
  border:1px solid rgba(91,66,37,.10);
  border-radius:17px;
  background:rgba(255,255,255,.62);
  color:#40372f;
  box-shadow:0 13px 35px rgba(46,32,18,.055);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.about-page-copy ol li::before{
  content:counter(about-step,decimal-leading-zero);
  position:absolute;
  left:17px;
  top:18px;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:linear-gradient(145deg,#dbb567,#ad7426);
  color:#fffaf1;
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.05em;
  box-shadow:0 10px 22px rgba(164,108,34,.22);
}
.about-page-copy ol li:hover{
  transform:translateY(-3px);
  border-color:rgba(183,125,41,.28);
  box-shadow:0 18px 42px rgba(46,32,18,.09);
}

/* Unordered lists also gain a structured mirror-service card treatment. */
.about-page-copy ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:28px 0 8px;
  padding:0;
  list-style:none;
}
.about-page-copy ul li{
  position:relative;
  padding:16px 17px 16px 43px;
  border:1px solid rgba(91,66,37,.09);
  border-radius:15px;
  background:rgba(255,255,255,.58);
}
.about-page-copy ul li::before{
  content:"✦";
  position:absolute;
  left:17px;
  top:15px;
  color:#b77d29;
  font-size:.82rem;
}

.about-page-card{
  top:96px;
  padding:clamp(30px,3vw,38px);
  border-color:rgba(151,105,43,.18);
  border-radius:26px;
  background:
    radial-gradient(circle at 100% 0,rgba(215,175,99,.18),transparent 13rem),
    linear-gradient(145deg,rgba(255,253,249,.98),rgba(238,228,216,.94));
  box-shadow:0 28px 70px rgba(45,31,18,.12),inset 0 1px 0 rgba(255,255,255,.92);
}
.about-page-card::after{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  bottom:18px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(173,116,38,.42),transparent);
}
.about-page-card h2{
  max-width:9ch;
  font-size:clamp(2.05rem,2.8vw,2.7rem);
}
.about-page-card .btn{
  width:100%;
  margin-top:12px;
}

/* Homepage header estimate button back to the gold brand treatment. */
.home-page .header-cta,
.home-page .site-header.is-scrolled .header-cta{
  border-color:rgba(166,109,30,.22);
  background:linear-gradient(135deg,#dfb75f 0%,#c98b2f 58%,#ac6f1e 100%);
  color:#fffdf7;
  box-shadow:0 14px 32px rgba(160,104,28,.25),inset 0 1px 0 rgba(255,255,255,.30);
}
.home-page .header-cta:hover,
.home-page .site-header.is-scrolled .header-cta:hover{
  border-color:#9d651b;
  background:linear-gradient(135deg,#c98b2f,#9e651b);
  color:#fff;
  box-shadow:0 18px 38px rgba(141,88,21,.31);
}

@media (max-width:980px){
  .about-page-layout{grid-template-columns:1fr}
  .about-page-card{position:relative;top:auto;max-width:680px}
}
@media (max-width:680px){
  .about-page-copy{padding:26px 20px;border-radius:21px}
  .about-page-copy::before{left:20px;right:20px}
  .about-page-copy ol,
  .about-page-copy ul{grid-template-columns:1fr}
  .about-page-copy ol li{min-height:78px}
  .about-page-section .contact-card__seal{right:8px;font-size:5.7rem}
}


/* Public review submission area */
.testimonial-submit{display:grid;grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr);gap:clamp(30px,5vw,76px);align-items:start;margin-top:clamp(42px,6vw,78px);padding-top:clamp(38px,5vw,62px);border-top:1px solid rgba(255,255,255,.12)}
.testimonial-submit__intro{position:sticky;top:120px}
.testimonial-submit__intro h3{max-width:520px;margin:13px 0 18px;color:#fff;font-family:var(--serif);font-size:clamp(2.25rem,3.8vw,4rem);font-weight:500;line-height:1.02;letter-spacing:-.045em}
.testimonial-submit__intro>p:last-of-type{max-width:540px;color:rgba(255,255,255,.68);font-size:1.02rem;line-height:1.75}
.testimonial-submit__trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.testimonial-submit__trust span{padding:9px 13px;border:1px solid rgba(218,175,91,.24);border-radius:999px;background:rgba(218,175,91,.08);color:#e7c779;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.review-form{position:relative;padding:clamp(24px,3vw,38px);border:1px solid rgba(255,255,255,.12);border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.035));box-shadow:0 24px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(18px)}
.review-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.review-form label,.review-rating{min-width:0}
.review-form label>span,.review-rating legend{display:block;margin-bottom:9px;color:rgba(255,255,255,.82);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.review-form input[type="text"],.review-form input[type="email"],.review-form textarea{width:100%;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.075);color:#fff;outline:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.review-form input[type="text"],.review-form input[type="email"]{height:52px;padding:0 15px}
.review-form textarea{min-height:142px;padding:14px 15px;resize:vertical;line-height:1.6}
.review-form input::placeholder,.review-form textarea::placeholder{color:rgba(255,255,255,.38)}
.review-form input:focus,.review-form textarea:focus{border-color:rgba(218,175,91,.75);background:rgba(255,255,255,.10);box-shadow:0 0 0 4px rgba(218,175,91,.10)}
.review-form__message{grid-column:1/-1}
.review-rating{margin:0;padding:0;border:0}
.review-stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:5px;min-height:52px;align-items:center;padding:0 14px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.075)}
.review-stars input{position:absolute;opacity:0;pointer-events:none}
.review-stars label{margin:0!important;color:rgba(255,255,255,.24);font-size:1.75rem;line-height:1;cursor:pointer;transition:color .18s ease,transform .18s ease}
.review-stars label:hover,.review-stars label:hover~label,.review-stars input:checked~label{color:#e4b953;transform:translateY(-1px)}
.review-stars input:focus-visible+label{outline:2px solid #e4b953;outline-offset:3px;border-radius:4px}
.review-consent{display:flex!important;align-items:flex-start;gap:11px;margin-top:18px;color:rgba(255,255,255,.65);font-size:.82rem;line-height:1.55;text-transform:none!important;letter-spacing:0!important}
.review-consent input{width:18px;height:18px;margin-top:2px;accent-color:#d6a640;flex:0 0 auto}
.review-consent span{margin:0!important;color:inherit!important;font-size:inherit!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important}
.review-form__footer{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:22px;padding-top:21px;border-top:1px solid rgba(255,255,255,.10)}
.review-form__footer small{max-width:380px;color:rgba(255,255,255,.48);font-size:.73rem;line-height:1.55}
.review-form__footer .btn{flex:0 0 auto;min-width:180px}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media(max-width:980px){.testimonial-submit{grid-template-columns:1fr}.testimonial-submit__intro{position:static}.testimonial-submit__intro h3{max-width:700px}.testimonial-submit__intro>p:last-of-type{max-width:720px}}
@media(max-width:620px){.testimonial-submit{margin-top:34px;padding-top:32px}.review-form{padding:20px;border-radius:19px}.review-form__grid{grid-template-columns:1fr;gap:16px}.review-form__message{grid-column:auto}.review-form__footer{align-items:stretch;flex-direction:column}.review-form__footer .btn{width:100%}.testimonial-submit__trust{align-items:flex-start;flex-direction:column}.testimonial-submit__intro h3{font-size:clamp(2rem,10vw,2.8rem)}}
