/* Grani Stone v7, inspired by original non-Elementor theme. Native Elementor widgets. */
.gs7-section{font-family:Inter,Arial,sans-serif;color:#f6f3ed;box-sizing:border-box}
.gs7-section .e-con-inner{max-width:1240px!important}
.gs7-kicker .elementor-heading-title{color:#c5a579!important;font:700 11px/1.5 Inter,Arial,sans-serif!important;letter-spacing:.24em!important;text-transform:uppercase}
.gs7-heading .elementor-heading-title{font-family:Manrope,Inter,Arial,sans-serif!important;letter-spacing:-.052em!important;line-height:1.12!important;font-weight:750!important;color:#f5f2eb!important}
.gs7-section:not(.gs7-hero)>.e-con-inner>.gs7-heading .elementor-heading-title{font-size:clamp(31px,3.6vw,49px)!important}
.gs7-prose{font:400 16px/1.8 Inter,Arial,sans-serif!important;color:#c8cbc5!important}
.gs7-prose p{margin:0 0 14px}.gs7-prose a{color:#d8b88a}
.gs7-button .elementor-button{padding:17px 27px!important;border:1px solid #c8ad85!important;border-radius:0!important;background:#c8ad85!important;color:#151614!important;text-transform:uppercase;letter-spacing:.08em;font-size:11px!important;font-weight:750!important;transition:background .2s,transform .2s}
.gs7-button .elementor-button:hover{background:#e4c99c!important;transform:translateY(-2px)}
.gs7-hero{position:relative;isolation:isolate;min-height:620px;justify-content:center!important;background-position:center!important;background-size:cover!important}
.gs7-hero .e-con-inner{position:relative;z-index:1}.gs7-hero .gs7-heading .elementor-heading-title{max-width:800px;font-size:clamp(42px,5.1vw,76px)!important;line-height:1.06!important}
.gs7-hero .gs7-prose{max-width:625px;font-size:18px!important;color:#eeeae2!important}
.gs7-feature{border-top:1px solid rgba(255,255,255,.08)}
.gs7-feature .e-con-inner>.e-con{align-items:center!important;gap:5%!important}
.gs7-feature-photo{overflow:hidden}.gs7-feature-photo img{display:block;width:100%!important;min-height:350px;aspect-ratio:1.18;object-fit:cover;filter:saturate(.86);transition:transform .8s}.gs7-feature-photo:hover img{transform:scale(1.035)}
.gs7-services .e-con-inner>.gs7-heading{margin-bottom:6px}
.gs7-services .e-con-inner>.e-con{gap:1.8%!important;row-gap:22px!important;flex-wrap:wrap!important}
.gs7-service-card{isolation:isolate;justify-content:flex-end!important;overflow:hidden;border:1px solid rgba(255,255,255,.16);transition:transform .25s,border-color .25s}
.gs7-service-card:hover{transform:translateY(-5px);border-color:#c8ad85}
.gs7-service-card .elementor-heading-title{color:#fff!important}.gs7-service-card .gs7-heading .elementor-heading-title{font-size:clamp(23px,2vw,30px)!important;line-height:1.17!important}
.gs7-service-card .gs7-prose{font-size:13px!important;line-height:1.62!important;color:#ede9df!important}
.gs7-value-card,.gs7-info-card{border:1px solid rgba(255,255,255,.1);padding:30px!important;min-height:190px}
.gs7-value-card .gs7-heading .elementor-heading-title,.gs7-info-card .gs7-heading .elementor-heading-title{font-size:24px!important}
.gs7-cta{min-height:350px;justify-content:center!important}.gs7-cta .gs7-heading .elementor-heading-title{max-width:790px}
.gs7-contact-form{max-width:none}.gs7-contact-form .e-con-inner{max-width:880px!important}.gs7-contact-form .gs-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:20px!important;width:100%!important}.gs7-contact-form .gs-form p{margin:0!important;min-width:0}.gs7-contact-form .gs-form p:nth-child(n+4){grid-column:1/-1}.gs7-contact-form .gs-form label{display:block!important;font-size:13px;color:#fff!important}.gs7-contact-form .gs-form input:not([type=checkbox]),.gs7-contact-form .gs-form textarea{display:block!important;width:100%!important;max-width:100%!important;margin-top:8px!important;box-sizing:border-box;border:1px solid #57605a!important;background:#151a17!important;color:white!important;border-radius:2px!important;padding:16px!important;font:400 15px Inter,Arial,sans-serif!important}.gs7-contact-form .gs-form textarea{min-height:155px}.gs7-contact-form .gs-form button{width:100%;padding:18px 26px!important;background:#c8ad85!important;color:#111!important;border:0!important;cursor:pointer;font-weight:750}
@media(max-width:900px){.gs7-service-card{width:48.8%!important}.gs7-feature-photo,.gs7-feature-copy{width:100%!important}.gs7-value-card,.gs7-info-card{width:48%!important}}
@media(max-width:600px){.gs7-hero{min-height:550px!important}.gs7-section{padding-left:18px!important;padding-right:18px!important}.gs7-service-card,.gs7-value-card,.gs7-info-card{width:100%!important}.gs7-contact-form .gs-form{grid-template-columns:1fr!important}.gs7-contact-form .gs-form p{grid-column:1/-1}.gs7-feature-photo img{min-height:220px}.gs7-hero .gs7-heading .elementor-heading-title{font-size:42px!important}}

/* Premium editorial v8: visually matches the approved dark Grani Stone concept. */
.gs7-section{--gs-accent:#c7a271;background-color:#111412;color:#f4f3ef}
.gs7-section .e-con-inner{max-width:1320px!important}
.gs7-hero{min-height:500px!important;background-position:50% 44%!important}
.gs7-hero .e-con-inner{max-width:1110px!important}
.gs7-hero .gs7-heading .elementor-heading-title{max-width:710px;font-size:clamp(40px,4.65vw,68px)!important;font-weight:800!important;letter-spacing:-.055em!important}
.gs7-hero .gs7-prose{max-width:570px!important;font-size:16px!important;line-height:1.65!important}
.gs7-services{padding-top:60px!important;padding-bottom:60px!important}
.gs7-services>.e-con-inner>.gs7-heading .elementor-heading-title{font-size:clamp(28px,3vw,43px)!important}
.gs7-service-card{min-height:220px!important;height:220px!important;justify-content:flex-end!important;position:relative!important;border-color:#3c3f3a!important;background-position:center!important;transition:transform .35s ease,border-color .35s ease,filter .35s ease}
.gs7-service-card:hover{transform:translateY(-3px)!important;border-color:#c7a271!important;filter:brightness(1.08)}
.gs7-service-card .gs7-heading{margin-bottom:0!important}
.gs7-service-card .gs7-heading .elementor-heading-title{font-size:clamp(17px,1.5vw,24px)!important;font-weight:750!important;line-height:1.18!important;max-width:90%}
.gs7-service-card .gs7-prose{display:none!important}
.gs7-service-card .gs7-kicker .elementor-heading-title{color:#d7b98e!important;font-size:10px!important}
.gs7-services .e-con-inner>.e-con{gap:1.2%!important;row-gap:15px!important}
.gs7-feature{padding-top:0!important;padding-bottom:0!important;overflow:hidden}
.gs7-feature-photo img{width:100%!important;min-height:390px!important;aspect-ratio:1.35;object-fit:cover}
.gs7-feature-copy{padding:38px!important}
.gs7-feature .gs7-heading .elementor-heading-title{font-size:clamp(29px,2.75vw,41px)!important}
.gs7-values{padding-top:58px!important;padding-bottom:58px!important}
.gs7-value-card{background:#1b1f1c!important;border:1px solid #363a35!important}
.gs7-cta{min-height:290px!important}
.gs7-cta .gs7-heading .elementor-heading-title{font-size:clamp(32px,3.6vw,50px)!important}
.gs7-contact-form{border:1px solid #3b403a}
.gs7-contact-form .gs-form input:not([type=checkbox]),.gs7-contact-form .gs-form textarea{min-height:52px;border-radius:0!important}
.gs7-contact-form .gs-form button:hover{background:#e0bb82!important}
.gs-elementor-header .elementor-button{border-radius:0!important}
.gs7-section .gs7-button .elementor-button{background:#c7a271!important}
.gs7-section .gs7-button .elementor-button:hover{background:#e0c395!important}
@media(max-width:900px){.gs7-service-card{width:48.5%!important;height:215px!important;min-height:215px!important}.gs7-hero{min-height:465px!important}}
@media(max-width:600px){.gs7-service-card{width:100%!important;height:230px!important;min-height:230px!important}.gs7-hero .gs7-heading .elementor-heading-title{font-size:39px!important}.gs7-feature-copy{padding:20px 5px!important}}

/* Studio v9: deliberate desktop/tablet/mobile design system. */
:root{--gr-bg:#101311;--gr-panel:#1a1e1b;--gr-cream:#f3f0ea;--gr-copper:#c9a47a}
body{background:#101311;color:#f3f0ea;overflow-x:hidden}
.gs7-section{background:#121613;color:#f3f0ea;padding-inline:clamp(18px,4vw,66px)!important}
.gs7-section .e-con-inner{max-width:1280px!important}
.gs7-hero{min-height:620px!important;justify-content:center!important;position:relative;background-position:center center!important}
.gs7-hero .gs7-heading .elementor-heading-title{font-family:Manrope,Inter,sans-serif!important;font-size:clamp(42px,5.2vw,78px)!important;line-height:1.04!important;letter-spacing:-.06em!important;max-width:850px;font-weight:800!important;text-wrap:balance}
.gs7-hero .gs7-prose{max-width:570px;font-size:clamp(15px,1.2vw,19px)!important;line-height:1.8!important}
.gs7-kicker .elementor-heading-title{letter-spacing:.24em!important;text-transform:uppercase;font-size:11px!important;color:#d7b284!important;font-weight:700!important}
.gs7-heading .elementor-heading-title{font-family:Manrope,Inter,sans-serif!important;letter-spacing:-.04em!important;line-height:1.13!important;font-weight:750!important;text-wrap:balance}
.gs7-prose,.gs7-prose p{font-family:Inter,Arial,sans-serif!important;line-height:1.85!important;color:#d4d8d2!important;font-size:clamp(15px,1.1vw,17px)!important}
.gs7-services{padding-top:85px!important;padding-bottom:85px!important}
.gs7-services .gs7-heading .elementor-heading-title{max-width:800px}
.gs7-services .gs7-service-card{position:relative;overflow:hidden;min-height:265px!important;height:265px!important;width:31.6%!important;padding:24px!important;justify-content:flex-end!important;border:1px solid #50534c!important;transition:transform .3s ease,filter .3s ease}
.gs7-service-card:hover{transform:translateY(-5px)!important;filter:brightness(1.12)}
.gs7-service-card .gs7-heading .elementor-heading-title{font-size:clamp(20px,1.7vw,27px)!important;max-width:96%;font-weight:750!important}
.gs7-service-card .gs7-prose{display:none!important}
.gs7-feature{padding-block:0!important;overflow:hidden}
.gs7-feature .e-con-inner{max-width:1500px!important}
.gs7-feature-photo{align-self:stretch!important}
.gs7-feature-photo img{display:block;width:100%!important;height:clamp(410px,43vw,600px)!important;object-fit:cover;object-position:center}
.gs7-feature-copy{padding:clamp(28px,5vw,80px)!important;justify-content:center!important}
.gs7-feature-copy .gs7-heading .elementor-heading-title{font-size:clamp(31px,3.2vw,52px)!important}
.gs7-feature-copy .gs7-prose{max-width:650px}
.gs7-values .gs7-value-card,.gs7-info-card{border:1px solid #424840!important;background:#202520!important;padding:25px!important}
.gs7-cta{min-height:330px!important}
.gs7-button .elementor-button{border-radius:0!important;background:#c9a47a!important;color:#101311!important;font-size:12px!important;font-weight:750!important;letter-spacing:.08em!important;padding:17px 26px!important;transition:background .2s ease,transform .2s ease}
.gs7-button .elementor-button:hover{background:#e5c294!important;transform:translateY(-2px)}
.gs7-contact-form .gs-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:920px}
.gs7-contact-form .gs-form p{margin:0!important;min-width:0}.gs7-contact-form .gs-form p:nth-child(n+5){grid-column:1/-1}
.gs7-contact-form .gs-form label{display:block!important;line-height:1.5;font-size:14px!important;color:#f2f1ed}
.gs7-contact-form .gs-form input:not([type=checkbox]),.gs7-contact-form .gs-form textarea{display:block!important;margin:9px 0 0!important;width:100%!important;max-width:none!important;padding:15px 17px!important;font:inherit!important;border-radius:0!important;border:1px solid #525951!important;background:#131814!important;color:white!important;box-sizing:border-box!important;min-height:55px!important}
.gs7-contact-form .gs-form textarea{min-height:170px!important}.gs7-contact-form .gs-form button{padding:17px 25px!important;border:0!important;border-radius:0!important;background:#c9a47a!important;color:#111!important;font-weight:800!important;cursor:pointer}
.gs-elementor-header,.gs-elementor-footer{background:#101311!important}
@media(max-width:1024px){.gs7-services .gs7-service-card{width:48.7%!important}.gs7-feature-copy{padding:32px!important}.gs7-hero{min-height:550px!important}}
@media(max-width:767px){.gs7-section{padding:48px 20px!important}.gs7-hero{min-height:510px!important;padding:72px 24px!important;background-position:60% center!important}.gs7-hero .gs7-heading .elementor-heading-title{font-size:clamp(37px,9vw,53px)!important}.gs7-hero .gs7-prose{font-size:15px!important}.gs7-services .gs7-service-card{width:100%!important;height:235px!important;min-height:235px!important;margin:0!important}.gs7-services .e-con-inner>.e-con{row-gap:14px!important}.gs7-feature .e-con-inner>.e-con,.gs7-feature .e-con{flex-wrap:wrap!important}.gs7-feature-photo,.gs7-feature-copy{width:100%!important;flex-basis:100%!important}.gs7-feature-photo img{height:290px!important;min-height:290px!important}.gs7-feature-copy{padding:24px 4px!important}.gs7-feature-copy .gs7-heading .elementor-heading-title{font-size:33px!important}.gs7-value-card,.gs7-info-card{width:100%!important}.gs7-contact-form .gs-form{grid-template-columns:1fr}.gs7-contact-form .gs-form p{grid-column:1/-1}.gs7-cta{min-height:270px!important}.gs-elementor-header .elementor-container{flex-wrap:wrap!important}}
@media(prefers-reduced-motion:reduce){.gs7-service-card,.gs7-button .elementor-button{transition:none!important;transform:none!important}}

/* V10: four-page editorial redesign */
.gs10-section{position:relative!important}.gs10-section .e-con-inner{max-width:1240px!important}
.gs10-section .gs7-prose{max-width:780px}.gs10-section .gs7-heading .elementor-heading-title{font-size:clamp(30px,3.6vw,52px)!important}
.gs10-section .gs7-service-card{height:270px!important;min-height:270px!important;border:1px solid #44483f!important}
.gs10-section .gs7-service-card .gs7-heading .elementor-heading-title{font-size:clamp(20px,1.65vw,27px)!important}
.gs10-process-card{border-top:2px solid #bca27a;padding:28px!important;min-height:240px;background:#242925!important}
.gs10-process-card .elementor-heading-title{font-size:21px!important}.gs10-process-card .gs7-prose{font-size:14px!important}
.gs10-contact-cards .gs7-info-card{min-height:220px!important}.gs10-contact-form .e-con-inner{max-width:940px!important}
.gs10-contact-form .gs-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important}
.gs10-contact-form .gs-form input:not([type=checkbox]),.gs10-contact-form .gs-form textarea{background:#111714!important;border:1px solid #515a52!important;border-radius:3px!important;color:#fff!important;padding:17px!important;width:100%!important}
.gs10-contact-form .gs-form button{background:#c8ad85!important;color:#111!important;border:0!important;padding:18px!important;font-weight:750!important}
@media(max-width:1024px){.gs10-process-card{width:48%!important}.gs10-section .gs7-service-card{width:48%!important}}
@media(max-width:767px){.gs10-section{padding:52px 18px!important}.gs10-process-card,.gs10-section .gs7-service-card,.gs10-contact-cards .gs7-info-card{width:100%!important}.gs10-section .gs7-service-card{height:240px!important;min-height:240px!important}.gs10-contact-form .gs-form{grid-template-columns:1fr!important}.gs10-contact-form .gs-form p{grid-column:1/-1!important}.gs7-hero{min-height:560px!important}.gs7-hero .elementor-heading-title{font-size:clamp(34px,9vw,50px)!important}}

/* Grani Stone v11 compact premium presentation */
.gs11-service-section .e-con-inner,.gs11-contact-details .e-con-inner{max-width:1200px}
.gs11-card{border:1px solid #414540!important;overflow:hidden;transition:transform .25s ease,border-color .25s ease;min-width:0}
.gs11-card:hover{transform:translateY(-4px);border-color:#b79a6b!important}
.gs11-card .elementor-widget-image img{height:205px!important;display:block!important;width:100%!important;object-fit:cover!important}
.gs11-card-body{min-height:175px!important}
.gs11-card h3,.gs11-card .elementor-heading-title{font-size:22px!important;line-height:1.23!important}
.gs11-card .gs7-prose{font-size:14px!important;line-height:1.55!important}
.gs11-card .gs7-kicker{font-size:10px!important}
.gs11-steps .gs7-info-card,.gs11-contact-details .gs7-info-card{border:1px solid #444942!important;min-width:0}
.gs11-form-section .gs-form{max-width:760px;margin:28px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gs11-form-section .gs-form p{margin:0!important}
.gs11-form-section .gs-form p:nth-of-type(n+4){grid-column:1/-1}
.gs11-form-section .gs-form label{display:block!important;font-size:14px!important;color:#eee!important}
.gs11-form-section .gs-form input:not([type=checkbox]),.gs11-form-section .gs-form textarea{width:100%!important;margin-top:8px!important;padding:14px!important;background:#151a17!important;border:1px solid #495049!important;color:#fff!important;border-radius:2px!important;box-sizing:border-box!important}
.gs11-form-section .gs-form button{grid-column:1/-1;background:#bda176!important;border:0!important;color:#141512!important;padding:16px 26px!important;font-weight:700!important}
@media(max-width:767px){.gs11-card{width:100%!important}.gs11-card .elementor-widget-image img{height:190px!important}.gs11-card-body{min-height:0!important}.gs11-form-section .gs-form{grid-template-columns:1fr!important}.gs11-form-section .gs-form p{grid-column:1/-1}.gs11-steps .gs7-info-card,.gs11-contact-details .gs7-info-card{width:100%!important}}
@media(min-width:768px) and (max-width:1024px){.gs11-card{width:48%!important}}

/* v12: original photographic tiles, two columns desktop & tablet */
.gs11-service-section .gs12-card-grid{display:flex!important;flex-wrap:wrap!important;gap:20px!important;align-items:stretch!important}
.gs11-service-section .gs12-photo-card{width:calc(50% - 10px)!important;flex-basis:calc(50% - 10px)!important;max-width:none!important;min-width:0!important;min-height:330px!important;overflow:hidden!important;position:relative!important;border:1px solid rgba(255,255,255,.20)!important;border-radius:3px!important;justify-content:flex-end!important;isolation:isolate;transition:transform .25s ease,border-color .25s ease!important}
.gs11-service-section .gs12-photo-card:hover{transform:translateY(-4px)!important;border-color:#c6aa80!important}
.gs11-service-section .gs12-photo-card .gs7-heading .elementor-heading-title{font:700 clamp(23px,2.2vw,33px)/1.15 Manrope,Arial,sans-serif!important;color:#fff!important;max-width:96%!important}
.gs11-service-section .gs12-photo-card .gs7-prose{max-width:480px!important;color:#f0ede7!important;font-size:14px!important;line-height:1.55!important}
.gs11-service-section .gs12-photo-card .gs7-kicker .elementor-heading-title{color:#dbbe91!important;font-size:11px!important;letter-spacing:.14em!important}
@media(max-width:767px){.gs11-service-section .gs12-card-grid{gap:14px!important}.gs11-service-section .gs12-photo-card{width:100%!important;flex-basis:100%!important;min-height:295px!important;padding:22px!important}.gs11-service-section .gs12-photo-card .gs7-heading .elementor-heading-title{font-size:24px!important}}
@media(prefers-reduced-motion:reduce){.gs11-service-section .gs12-photo-card{transition:none!important}.gs11-service-section .gs12-photo-card:hover{transform:none!important}}

/* v13: consistent bronze CTA, editorial copy and restrained About imagery */
:root{--gs13-gold:#c9a47a;--gs13-gold-hover:#e4c398}
body .elementor .elementor-button,body .elementor .gs7-button .elementor-button,body .gs11-form-section .gs-form button,body .gs13-contact-form .gs-form button,body .gs7-contact-form .gs-form button,body .gs-form button{background:#c9a47a!important;background-color:#c9a47a!important;color:#141713!important;border:1px solid #c9a47a!important;border-radius:2px!important;box-shadow:none!important;font-weight:750!important;transition:background-color .2s,border-color .2s,transform .2s}
body .elementor .elementor-button:hover,body .gs-form button:hover{background:#e4c398!important;background-color:#e4c398!important;border-color:#e4c398!important;color:#101210!important}
.gs13-about-head{min-height:0!important;padding-block:85px!important;background-image:none!important}
.gs13-about-head .gs7-heading .elementor-heading-title{font-size:clamp(34px,4vw,59px)!important;max-width:980px!important}
.gs13-about-head .gs7-prose{max-width:900px!important;font-size:18px!important}
.gs13-about-prose .e-con-inner{max-width:1080px!important}
.gs13-about-prose .gs7-prose{max-width:1000px!important;margin:0 0 10px!important}
.gs13-about-prose .gs7-prose,.gs13-about-prose .gs7-prose p{font-size:17px!important;line-height:1.86!important;color:#d7d9d3!important}
.gs13-about-prose .gs7-heading .elementor-heading-title{max-width:980px!important}
.gs13-about-values .gs7-info-card{background:#222722!important}
.gs13-home-intro .e-con-inner,.gs13-values .e-con-inner{max-width:1100px!important}
.gs13-home-intro .gs7-prose{max-width:960px!important;font-size:17px!important;line-height:1.83!important}
.gs13-contact-head{min-height:0!important}
.gs13-contact-head .gs7-heading .elementor-heading-title{font-size:clamp(37px,4vw,61px)!important}
.gs13-home-services .gs12-photo-card,.gs13-services .gs12-photo-card{border-color:rgba(221,203,167,.25)!important}
@media(max-width:767px){.gs13-about-head,.gs13-about-prose{padding:52px 20px!important}.gs13-about-prose .gs7-prose,.gs13-about-prose .gs7-prose p,.gs13-home-intro .gs7-prose{font-size:15px!important;line-height:1.75!important}.gs13-about-head .gs7-heading .elementor-heading-title{font-size:35px!important}.gs13-contact-head{padding:55px 20px!important}}
