.elementor-kit-6{--e-global-color-primary:#18181A;--e-global-color-secondary:#4A4A4F;--e-global-color-text:#4A4A4F;--e-global-color-accent:#D2603A;--e-global-color-paper:#F5F2ED;--e-global-color-paper2:#EFEBE4;--e-global-color-card:#FBFAF7;--e-global-color-muted:#6F6B63;--e-global-color-green:#2F9E5F;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Instrument Serif";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;background-color:#F5F2ED;color:#18181A;font-family:"Inter", Sans-serif;font-size:15px;line-height:1.6em;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#18181A;}.elementor-kit-6 a:hover{color:#D2603A;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1040px;}.e-con{--container-max-width:1040px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================
   Gertrude Seco: site-wide styles (Elementor > Site Settings > Custom CSS)
   These only control LOOK. All words, images and links stay editable
   in the normal Elementor widgets. Class names are set in each
   element's Advanced > CSS Classes.
   ========================================================== */
:root{--paper:#f5f2ed;--paper-2:#efebe4;--card:#fbfaf7;--ink:#18181a;--ink-2:#4a4a4f;--muted:#6f6b63;--line:rgba(24,24,26,.08);--line-2:rgba(24,24,26,.14);--accent:#d2603a;--accent-soft:rgba(210,96,58,.12);--green:#2f9e5f;--serif:"Instrument Serif",Georgia,serif;--sans:"Inter",system-ui,-apple-system,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,monospace;--shadow:0 1px 2px rgba(0,0,0,.04),0 12px 30px -12px rgba(60,40,20,.18)}

/* ---------- Base ---------- */
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body a{color:inherit;text-decoration:none}
::selection{background:var(--accent-soft);color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
.elementor-widget-text-editor p{margin:0}
.elementor-widget-text-editor p+p{margin-top:.9em}
.elementor-heading-title{text-wrap:balance}
.serif{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--accent);letter-spacing:-.01em}
.soft{color:var(--muted)}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(47,158,95,.15);flex-shrink:0}
.dot.rust{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.stars{color:#e3a72f;letter-spacing:2px;font-size:12px}
.kicker,.kicker .elementor-heading-title{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);line-height:1.5}

/* Page sections: centred column with a hairline on top */
.e-con.gs-sec{width:min(1000px,100% - 40px);max-width:none;margin-inline:auto;padding:70px 0;scroll-margin-top:70px}
.e-con.gs-sec.block{border-top:1px solid var(--line)}

/* Section heading (kicker, title, intro) */
.e-con.head{align-items:center;text-align:center;margin-bottom:40px;gap:0}
.head h2.elementor-heading-title{font-size:clamp(30px,4vw,42px);letter-spacing:-.035em;line-height:1.1;font-weight:600;margin-top:10px}
.head h2 .serif{font-size:1.08em}
.head .elementor-widget-text-editor{color:var(--ink-2);max-width:500px;margin:12px auto 0}

/* ---------- Buttons ---------- */
.gs-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:11px;font-family:var(--sans);font-size:14px;font-weight:500;line-height:1;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}
.gs-btn .elementor-button:active{transform:translateY(1px)}
.gs-btn .elementor-button-content-wrapper{gap:8px;align-items:center}
.gs-btn .elementor-button-icon svg{width:14px;height:14px;transition:transform .2s}
.gs-btn .elementor-button:hover .elementor-button-icon svg{transform:translateX(3px)}
.btn-dark .elementor-button{background:var(--ink);color:#fff;box-shadow:0 6px 16px -6px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.12)}
.btn-dark .elementor-button:hover,.btn-dark .elementor-button:focus{background:#000;color:#fff}
.btn-dark .elementor-button-icon svg{fill:#fff}
.btn-light .elementor-button{background:var(--card);color:var(--ink);border:1px solid var(--line-2);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.btn-light .elementor-button:hover,.btn-light .elementor-button:focus{background:#fff;color:var(--ink)}
.btn-light .elementor-button-icon svg{fill:var(--ink)}
.e-con.cta{flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:center}
.link-arrow .elementor-button{background:none;padding:0 0 2px;border-radius:0;height:auto;color:var(--ink);font-size:14px;font-weight:500;border-bottom:1px solid var(--line-2);box-shadow:none}
.link-arrow .elementor-button:hover{background:none;color:var(--ink);border-color:var(--ink)}
.link-arrow .elementor-button-icon svg{fill:var(--ink);width:13px;height:13px}

/* ---------- Header ---------- */
.e-con.gs-nav{width:min(1000px,100% - 40px);margin-inline:auto;padding:22px 0;flex-direction:row;align-items:center;justify-content:space-between;position:relative;gap:12px}
.gs-nav .brand img{height:30px;width:auto}
.gs-menu .elementor-nav-menu--main .elementor-nav-menu{display:flex;gap:2px;padding:3px;border-radius:11px;background:rgba(251,250,247,.7);border:1px solid var(--line)}
.gs-menu .elementor-nav-menu--main .elementor-item{font-family:var(--sans);font-size:13px;font-weight:400;line-height:1.6;padding:5px 12px;border-radius:8px;color:var(--ink-2);transition:.2s}
.gs-menu .elementor-nav-menu--main .elementor-item:hover{color:var(--ink)}
.gs-menu .elementor-nav-menu--main .elementor-item.elementor-item-active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.gs-menu .elementor-nav-menu--main .elementor-item:before,.gs-menu .elementor-nav-menu--main .elementor-item:after{display:none}
.e-con.nav-right{flex-direction:row;align-items:center;gap:8px;width:auto}
.chip,.chip .elementor-heading-title{font-family:var(--sans);font-weight:400;line-height:1}
.chip .elementor-heading-title{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:9px;background:var(--card);border:1px solid var(--line);font-size:12.5px;color:var(--ink-2)}
.gs-nav .gs-btn .elementor-button{height:34px;padding:0 14px;font-size:13px;border-radius:9px}
@media (min-width:641px){.gs-nav .gs-menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}}
@media (max-width:900px){.gs-nav .chip{display:none}}
@media (max-width:640px){
  .e-con.gs-nav{flex-wrap:wrap;row-gap:12px}
  .gs-nav .brand img{height:26px}
  .gs-nav .gs-menu{order:3;width:100%}
  .gs-menu .elementor-nav-menu--main .elementor-nav-menu{width:100%;justify-content:center}
  .gs-menu .elementor-nav-menu--main .elementor-nav-menu>li{flex:1}
  .gs-menu .elementor-nav-menu--main .elementor-item{justify-content:center}
}

/* ---------- Home hero with fanned cards ---------- */
.e-con.hero{align-items:center;text-align:center;padding:40px 0 70px}
.e-con.fan{display:block;position:relative;height:250px;width:min(560px,100%);margin:0 auto 34px;padding:0}
.fan>.elementor-element{position:absolute!important;top:20px;left:50%;width:170px!important;height:210px;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:4px solid #fff;background:#fff;transition:transform .5s cubic-bezier(.2,.8,.2,1);margin:0;padding:0}
.fan img{width:100%;height:100%!important;object-fit:cover;object-position:top center;display:block;border-radius:0}
.fan .f1{transform:translateX(-50%) translateX(-200px) rotate(-14deg) translateY(30px);z-index:1}
.fan .f2{transform:translateX(-50%) translateX(-105px) rotate(-6deg) translateY(8px);z-index:2}
.fan .f4{transform:translateX(-50%) translateX(105px) rotate(6deg) translateY(8px);z-index:2}
.fan .f5{transform:translateX(-50%) translateX(200px) rotate(14deg) translateY(30px);z-index:1}
.fan .f3{transform:translateX(-50%);top:0;width:180px!important;height:230px;z-index:3;box-shadow:0 30px 50px -18px rgba(210,96,58,.45),var(--shadow);background:radial-gradient(80% 60% at 50% 35%,#f6d9c9,#ead7c8 60%,#e3d2c3)}
.fan:hover .f1{transform:translateX(-50%) translateX(-225px) rotate(-17deg) translateY(36px)}
.fan:hover .f5{transform:translateX(-50%) translateX(225px) rotate(17deg) translateY(36px)}
.f3 .elementor-widget-image{position:absolute;inset:0;width:100%!important;height:100%}
.f3 img{object-position:50% 32%}
.tag-top,.tag-bottom{position:absolute!important;left:8px;right:8px;z-index:2;display:flex;align-items:center;gap:6px;font-size:10.5px;line-height:1.4;padding:4px 8px;border-radius:7px;background:rgba(255,255,255,.9);text-align:left;width:auto!important}
.tag-top{top:8px}
.tag-bottom{bottom:8px;justify-content:space-between;padding:5px 8px}
.tag-bottom span:last-child{color:var(--muted)}
.eyebrow-pill .elementor-heading-title{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:13px;font-weight:500;line-height:1.4;color:var(--ink);padding:6px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line-2);margin-bottom:18px}
.eyebrow-pill .elementor-heading-title:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
.hero-h1 .elementor-heading-title{font-size:clamp(34px,5.2vw,58px);line-height:1.02;letter-spacing:-.045em;font-weight:600;max-width:980px;margin:0 auto;color:var(--ink)}
.hero-h1 .serif{font-size:1.1em}
.e-con.hero .sub{max-width:660px;margin:20px auto 0;color:var(--ink-2);font-size:16px}
.e-con.hero .cta{margin-top:28px}
.hero-proof{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:26px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}
.hero-proof b{font-weight:600;color:var(--ink)}
.hero-proof .sep{width:1px;height:18px;background:var(--line-2)}
@media (max-width:640px){
  .e-con.fan{height:220px}
  .fan>.elementor-element{width:130px!important;height:165px}
  .fan .f3{width:150px!important;height:195px}
  .fan .f1{transform:translateX(-50%) translateX(-120px) rotate(-12deg) translateY(28px)}
  .fan .f5{transform:translateX(-50%) translateX(120px) rotate(12deg) translateY(28px)}
  .fan .f2,.fan .f4{display:none}
  .e-con.hero .cta>.elementor-element{flex:1 1 auto}
  .e-con.hero .cta .elementor-button{width:100%}
  .hero-proof{flex-direction:column;gap:6px}
  .hero-proof .sep{display:none}
}

/* ---------- Services: "What do you need?" cards ---------- */
.e-con.needs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.e-con.need{align-items:flex-start;gap:8px;padding:26px;border-radius:20px;background:var(--card);border:1px solid var(--line);transition:transform .25s,box-shadow .25s,border-color .25s;color:var(--ink)}
.e-con.need:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-2)}
.need .ic .elementor-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:17px;margin-bottom:6px}
.need .ic .elementor-icon svg{fill:#fff;width:17px;height:17px}
.need:nth-child(2) .ic .elementor-icon{background:var(--accent)}
.need-q .elementor-heading-title{font-family:var(--serif);font-style:italic;font-weight:400;font-size:19px;color:var(--accent);line-height:1.2}
.need h3.elementor-heading-title{font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.3;color:var(--ink)}
.need .elementor-widget-text-editor{font-size:14px;color:var(--ink-2);flex:1}
.need-time .elementor-heading-title{font-family:var(--sans);font-size:12px;font-weight:500;line-height:1.5;color:var(--ink);padding:4px 10px;border-radius:999px;background:var(--paper);border:1px solid var(--line);margin-top:4px;display:inline-block}
.need-go .elementor-heading-title{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink);margin-top:10px}
@media (max-width:900px){.e-con.needs{grid-template-columns:1fr}}
@media (max-width:640px){.e-con.need{padding:22px}}

/* ---------- Row heading (title + link) ---------- */
.e-con.row-head{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.e-con.row-head>.e-con{width:auto;gap:0}
.row-head h2.elementor-heading-title{font-size:clamp(26px,3.4vw,34px);letter-spacing:-.035em;font-weight:600;line-height:1.1;margin-top:8px}
.row-head h2 .serif{font-size:1.08em}

/* ---------- Project blocks (homepage loop) ---------- */
.squares .elementor-loop-container{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.e-con.sq{gap:0;padding:0;color:var(--ink)}
.sq-frame{position:relative;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:#e9e4dc;border:1px solid var(--line);transition:transform .3s,box-shadow .3s}
.sq-frame img{width:100%;height:100%!important;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.sq:hover .sq-frame{transform:translateY(-4px);box-shadow:var(--shadow)}
.sq:hover .sq-frame img{transform:scale(1.04)}
.e-con.sq-meta{align-items:flex-start;gap:6px;padding:14px 4px 0}
.e-con.sq-pills{flex-direction:row;gap:6px;flex-wrap:wrap}
.sq-pill .elementor-heading-title{display:inline-flex;align-items:center;font-family:var(--sans);font-size:11px;font-weight:600;line-height:1.3;padding:3px 9px;border-radius:999px}
.sq-plat .elementor-heading-title{background:rgba(210,96,58,.12);color:#a8441f;border:1px solid rgba(210,96,58,.28)}
.sq-type .elementor-heading-title{background:#fff;color:var(--ink);border:1px solid var(--line-2)}
.sq-title .elementor-heading-title{font-size:17px;font-weight:600;letter-spacing:-.025em;color:var(--ink);line-height:1.2}
.sq-sub .elementor-heading-title,.sq-sub{font-family:var(--sans);font-size:13.5px;font-weight:400;color:var(--ink-2);line-height:1.5}
@media (max-width:640px){.squares .elementor-loop-container{grid-template-columns:1fr}}

/* ---------- Video reviews ---------- */
.e-con.yt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.e-con.yt-card{gap:0;border-radius:20px;overflow:hidden;background:var(--card);border:1px solid var(--line)}
.yt-card .elementor-widget-video{width:100%}
.yt-card .elementor-custom-embed-image-overlay{background-size:cover;background-position:center}
.yt-card .elementor-custom-embed-play svg{width:64px;height:64px;padding:21px 19px 21px 23px;border-radius:50%;background:#fff;fill:var(--ink);opacity:1;filter:none;box-shadow:0 12px 30px -8px rgba(0,0,0,.45);transition:transform .2s,background .2s}
.yt-card .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play svg{background:var(--accent);fill:#fff;transform:scale(1.08)}
.e-con.yt-cap{gap:14px;padding:18px 20px}
.yt-quote{font-family:var(--serif);font-size:21px;line-height:1.35;color:var(--ink);letter-spacing:-.005em}
.yt-quote mark{background:linear-gradient(transparent 55%,rgba(210,96,58,.24) 55%);color:inherit;padding:0 2px;border-radius:2px}
.yt-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line);font-size:13px}
.yt-meta b{font-size:15px;font-weight:600}
.yt-meta span:last-child{color:var(--muted);margin-left:auto}
.faq-cta{max-width:680px;margin:18px auto 0;text-align:center;font-size:14px;color:var(--ink-2)}
.faq-cta a{color:var(--accent);font-weight:500}
@media (max-width:640px){.e-con.yt-grid{grid-template-columns:1fr}.yt-quote{font-size:19px}.yt-meta span:last-child{margin-left:0;width:100%}}

/* ---------- Process steps ---------- */
.e-con.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.e-con.step{gap:0;padding:22px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.step .kicker .elementor-heading-title{color:var(--accent)}
.step h3.elementor-heading-title{font-size:16px;font-weight:600;margin-top:26px;letter-spacing:-.02em;line-height:1.3}
.step .elementor-widget-text-editor{font-size:13.5px;color:var(--ink-2);margin-top:6px}
.e-con.cta-band{flex-direction:row;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;border-radius:20px;background:var(--ink);color:#f3f1ec;flex-wrap:wrap;margin-top:22px}
.cta-band .elementor-widget-text-editor{color:#b9b5ad;font-size:13.5px}
.cta-band b{display:block;font-size:20px;font-weight:600;letter-spacing:-.02em;color:#f3f1ec}
.cta-band b .serif{color:#f1a184;font-size:1.1em}
.cta-band .btn-light .elementor-button{background:#fff;color:var(--ink);border:0}
@media (max-width:820px){.e-con.steps{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.e-con.steps{grid-template-columns:1fr}.e-con.cta-band{padding:22px}}

/* ---------- Pricing ---------- */
.e-con.typical{max-width:760px;width:100%;margin:0 auto 16px;padding:20px 22px;border-radius:18px;background:var(--paper-2);border:1px dashed var(--line-2);gap:0}
.e-con.typical-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.typical-row .elementor-widget-text-editor{padding:14px;border-radius:12px;background:var(--card);border:1px solid var(--line);line-height:1.4}
.typical-row b{display:block;font-size:14px;font-weight:600}
.typical-row span{display:block;font-size:22px;font-weight:600;letter-spacing:-.04em;margin-top:4px}
.typical-row em{font-style:normal;font-size:12.5px;color:var(--muted)}
.typical>.elementor-widget-text-editor{font-size:12.5px;color:var(--muted);margin-top:10px}
.e-con.prices{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:760px;width:100%;margin:0 auto}
.e-con.price{padding:28px;border-radius:20px;background:var(--card);border:1px solid var(--line);gap:0}
.e-con.price.dark{background:var(--ink);color:#f3f1ec;border-color:var(--ink);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.e-con.price .top{flex-direction:row;justify-content:space-between;align-items:center}
.price h3.elementor-heading-title{font-size:17px;font-weight:600;line-height:1.4;color:inherit}
.price .pill .elementor-heading-title{font-family:var(--sans);font-size:11px;font-weight:400;line-height:1.5;padding:3px 9px;border-radius:999px;background:var(--accent);color:#fff}
.price .amt .elementor-heading-title{margin:18px 0 4px;font-size:48px;font-weight:600;letter-spacing:-.05em;line-height:1;color:inherit}
.price .amt small{font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted)}
.price .d{font-size:13.5px;color:var(--muted)}
.price .elementor-widget-icon-list{margin:20px 0 24px;flex:1}
.price .elementor-icon-list-items{display:flex;flex-direction:column;gap:9px}
.price .elementor-icon-list-item{font-size:13.5px;align-items:flex-start!important}
.price .elementor-icon-list-text{color:inherit;padding-left:9px!important}
.price .elementor-icon-list-icon svg{width:13px!important;height:13px!important;fill:var(--accent)!important;margin-top:4px}
.price .gs-btn,.price .gs-btn .elementor-button{width:100%}
.price.dark .btn-light .elementor-button{background:#fff;color:var(--ink);border:0}
.assure .elementor-icon-list-items{justify-content:center;gap:26px;font-size:13px}
.assure .elementor-icon-list-item{margin:0!important;padding:0!important}
.assure .elementor-icon-list-item:after{display:none}
.assure .elementor-icon-list-text{color:var(--ink-2);padding-left:7px!important}
.assure .elementor-icon-list-icon svg{fill:var(--green)!important;width:13px!important;height:13px!important}
.assure{margin-top:22px}
@media (max-width:820px){.e-con.prices{grid-template-columns:1fr}}
@media (max-width:640px){.e-con.typical-row{grid-template-columns:1fr}}

/* ---------- Home: about intro ---------- */
.e-con.home-about{display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:center}
.e-con.ha-photo{position:relative;display:block;aspect-ratio:4/5;border-radius:22px;overflow:hidden;border:5px solid #fff;transform:rotate(-3deg);box-shadow:0 30px 60px -28px rgba(210,96,58,.5),var(--shadow);background:radial-gradient(80% 60% at 50% 35%,#f6d9c9,#ead7c8 60%,#e3d2c3);padding:0}
.ha-photo .elementor-widget-image{position:absolute!important;inset:0;width:100%!important;height:100%}
.ha-photo img{width:100%;height:100%!important;object-fit:cover;object-position:50% 32%}
.ab-chip{position:absolute!important;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:7px;font-size:12px;padding:5px 10px;border-radius:8px;background:rgba(255,255,255,.92);width:auto!important;line-height:1.4}
.e-con.ha-copy{align-items:flex-start;gap:0}
.ha-statement .elementor-heading-title{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.2vw,36px);line-height:1.2;margin-top:12px;color:var(--ink)}
.ha-statement .soft{color:var(--muted)}
.ha-text{color:var(--ink-2);font-size:15.5px;margin-top:16px;max-width:540px}
.e-con.ha-facts{flex-direction:row;gap:34px;margin:24px 0 26px;flex-wrap:wrap}
.ha-facts strong{display:block;font-size:28px;font-weight:600;letter-spacing:-.04em;line-height:1.1}
.ha-facts span{font-size:12.5px;color:var(--muted)}
@media (max-width:820px){
  .e-con.home-about{grid-template-columns:1fr;gap:30px;text-align:center}
  .e-con.ha-photo{width:240px;margin:0 auto}
  .e-con.ha-copy{align-items:center}
  .ha-text{margin-left:auto;margin-right:auto}
  .e-con.ha-facts{justify-content:center}
}

/* ---------- FAQ (Accordion widget) ---------- */
.faq{max-width:680px;width:100%;margin:0 auto}
.faq .e-n-accordion{display:flex;flex-direction:column;gap:8px}
.faq .e-n-accordion-item{border-radius:14px;background:var(--card);border:1px solid var(--line);overflow:hidden}
.faq .e-n-accordion-item-title{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;border:0;background:none;cursor:pointer;list-style:none}
.faq .e-n-accordion-item-title-text{font-family:var(--sans);font-weight:500;font-size:14.5px;color:var(--ink);line-height:1.5}
.faq .e-n-accordion-item-title-icon{width:24px;height:24px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;flex-shrink:0;transition:.2s}
.faq .e-n-accordion-item-title-icon svg{width:10px;height:10px;fill:var(--ink-2)}
.faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon{background:var(--ink);border-color:var(--ink)}
.faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg{fill:#fff}
.faq .e-n-accordion-item>.e-con{padding:0 18px 18px;border:0;color:var(--ink-2);font-size:14px}

/* ---------- Closing CTA + footer ---------- */
.e-con.closing{width:min(1000px,100% - 40px);margin:40px auto 40px;border-radius:26px;background:var(--paper-2);border:1px solid var(--line);padding:64px 24px 0;align-items:center;text-align:center;overflow:hidden;gap:0}
.closing .chip .elementor-heading-title{height:32px}
.closing h2.elementor-heading-title{font-size:clamp(32px,5vw,52px);letter-spacing:-.045em;font-weight:600;line-height:1.05;margin-top:16px;color:var(--ink)}
.closing .cta{margin-top:26px}
.closing .micro{font-size:12.5px;color:var(--muted);margin-top:12px}
.e-con.foot-row{width:100%;flex-direction:row;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:56px;padding:18px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.foot-row .elementor-widget-text-editor{font-size:12px;color:var(--muted)}
.foot-menu .elementor-nav-menu{display:flex;gap:16px;flex-wrap:wrap}
.foot-menu .elementor-item{font-family:var(--sans);font-size:12px;font-weight:400;color:var(--muted);padding:0!important;line-height:1.6}
.foot-menu .elementor-item:hover,.foot-menu .elementor-item.elementor-item-active{color:var(--ink)}
.foot-menu .elementor-item:before,.foot-menu .elementor-item:after{display:none}
.bigname .elementor-heading-title{font-family:var(--serif);font-weight:400;font-size:clamp(64px,13vw,150px);line-height:.8;letter-spacing:-.03em;color:rgba(24,24,26,.08);white-space:nowrap;margin-bottom:-10px;user-select:none}

/* Sticky "Book a call" bar on phones (shown after scrolling) */
.e-con.m-cta{display:none}
@media (max-width:640px){
  .e-con.m-cta{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:60;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 16px;border-radius:16px;background:rgba(251,250,247,.94);border:1px solid var(--line);box-shadow:0 18px 40px -16px rgba(0,0,0,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.8,.2,1);width:auto}
  .e-con.m-cta.show{transform:none}
  .m-cta b{display:block;font-size:13px;font-weight:600;line-height:1.3}
  .m-cta .elementor-widget-text-editor{font-size:11.5px;color:var(--muted);line-height:1.3}
}

/* Hide the editor-only gap Elementor adds under the header/footer */
.elementor-location-header,.elementor-location-footer{margin:0}

/* ---------- Width fixes for Elementor widget wrappers ---------- */
.elementor .e-con.hero>.sub{max-width:660px;width:100%}
.elementor .e-con.head>.elementor-widget-text-editor{max-width:500px}
.elementor .e-con.need>.elementor-widget{width:100%}
.elementor .e-con.ha-copy>.ha-text{max-width:540px}
.elementor .e-con>.faq{max-width:680px;width:100%}
.elementor .e-con>.faq-cta{max-width:680px;width:100%}
.faq .e-n-accordion-item-title-header{flex:1}


/* ---------- Inner page heading ---------- */
.e-con.page-hero{align-items:center;text-align:center;padding:50px 0 46px}
.page-hero h1.elementor-heading-title{font-size:clamp(38px,5.6vw,60px);line-height:1.04;letter-spacing:-.045em;font-weight:600;margin-top:14px;color:var(--ink)}
.page-hero h1 .serif{font-size:1.08em}
.elementor .e-con.page-hero>.sub{max-width:520px;width:100%;margin:18px auto 0;color:var(--ink-2);font-size:16px}

/* ---------- Services page ---------- */
.e-con.gs-sec.svc-wrap{padding:0 0 40px}
.e-con.svc-row{display:grid;grid-template-columns:90px 1fr 1.1fr;gap:30px;padding:40px 0;border-top:1px solid var(--line);scroll-margin-top:30px}
.num .elementor-heading-title{font-family:var(--serif);font-style:italic;font-weight:400;font-size:54px;line-height:.9;color:var(--accent)}
.e-con.svc-main{align-items:flex-start;gap:0}
.svc-main h2.elementor-heading-title{font-size:clamp(26px,3vw,34px);letter-spacing:-.035em;font-weight:600;line-height:1.1}
.lede{color:var(--ink-2);font-size:15.5px;margin-top:12px}
.for{margin-top:16px;font-size:13.5px;color:var(--muted)}
.for b{color:var(--ink);font-weight:500}
.svc-main .gs-btn{margin-top:22px}
.e-con.inc{padding:22px 24px;border-radius:18px;background:var(--card);border:1px solid var(--line);gap:0;align-self:start}
.inc .elementor-icon-list-items{display:grid!important;grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:14px}
.inc .elementor-icon-list-item{font-size:13.5px;align-items:flex-start!important;margin:0!important;padding:0!important}
.inc .elementor-icon-list-text{color:var(--ink-2);padding-left:9px!important}
.inc .elementor-icon-list-icon svg{width:13px!important;height:13px!important;fill:var(--accent)!important;margin-top:4px}
.e-con.plats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.e-con.plat{padding:28px;border-radius:20px;background:var(--card);border:1px solid var(--line);gap:0}
.tagline .elementor-heading-title{font-family:var(--sans);font-size:12px;color:var(--accent);font-weight:500}
.plat h3.elementor-heading-title{font-size:26px;letter-spacing:-.035em;font-weight:600;margin-top:6px;line-height:1.2}
.plat .elementor-widget-text-editor{color:var(--ink-2);font-size:14.5px;margin-top:10px}
.stack{display:flex;gap:6px;flex-wrap:wrap}
.stack span{font-size:13px;padding:5px 11px;border-radius:8px;background:var(--card);border:1px solid var(--line);color:var(--ink)}
.plat .stack{margin-top:16px}
@media (max-width:820px){.e-con.svc-row{grid-template-columns:60px 1fr}.e-con.svc-row>.inc{grid-column:1/-1}}
@media (max-width:640px){.e-con.svc-row{grid-template-columns:1fr;gap:14px;padding:30px 0}.num .elementor-heading-title{font-size:42px}.e-con.plats{grid-template-columns:1fr}.inc .elementor-icon-list-items{grid-template-columns:1fr}}

/* ---------- Pricing page ---------- */
.e-con.gs-sec.pr-wrap{padding:0 0 70px}
.elementor .e-con>.price-table{max-width:760px;width:100%;margin:0 auto;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--card)}
.price-table table{width:100%;border-collapse:collapse;font-size:14px;margin:0;border:0}
.price-table th,.price-table td{padding:14px 18px;text-align:left;border:0;border-bottom:1px solid var(--line);background:none!important;color:var(--ink)}
.price-table th{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.price-table td:not(:first-child),.price-table th:not(:first-child){text-align:center}
.price-table tr:last-child td{border-bottom:0}
.price-table .y{color:var(--accent);font-weight:600}
.price-table .n{color:#c3bfb6}

/* ---------- Work page: filter + project cards ---------- */
.elementor .e-con>.gs-filter{width:auto;margin:0 auto 30px}
.gs-filter .e-filter{display:inline-flex;gap:2px;padding:4px;border-radius:12px;background:var(--card);border:1px solid var(--line);flex-wrap:wrap;justify-content:center}
.gs-filter .e-filter-item{font-family:var(--sans);font-size:13px;font-weight:400;padding:6px 13px;border-radius:9px;color:var(--ink-2);background:none;border:0;line-height:1.5}
.gs-filter .e-filter-item[aria-pressed="true"]{background:var(--ink);color:#fff}
.feats .elementor-loop-container{display:flex!important;flex-direction:column;gap:22px}
.e-con.feat{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:stretch;padding:22px;border-radius:26px;background:var(--card);border:1px solid var(--line)}
.e-con.feat-mock{position:relative;display:block;border-radius:16px;overflow:hidden;background:#e9e4dc;min-height:320px;box-shadow:0 30px 60px -30px rgba(60,40,20,.35);padding:0}
.feat-mock .elementor-widget-image{position:absolute!important;inset:0;width:100%!important;height:100%}
.feat-mock img{width:100%;height:100%!important;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.feat-mock:hover img{transform:scale(1.04)}
.feat-mock-cta{position:absolute!important;left:50%;bottom:18px;z-index:2;width:auto!important;transform:translate(-50%,8px);opacity:0;transition:opacity .25s,transform .25s}
.feat-mock-cta .elementor-heading-title{font-family:var(--sans);font-size:13px;font-weight:500;padding:8px 14px;border-radius:999px;background:#fff;box-shadow:var(--shadow);white-space:nowrap;color:var(--ink)}
.feat-mock:hover .feat-mock-cta{opacity:1;transform:translate(-50%,0)}
.e-con.feat-info{align-items:flex-start;justify-content:center;gap:10px;padding:8px 10px 8px 0}
.e-con.feat-info>.elementor-widget{width:100%}
.e-con.feat-info>.e-con{width:100%}
.feat-info .kicker-row{display:flex;flex-direction:row;flex-wrap:nowrap;gap:0;overflow:hidden}
.feat-info h3.elementor-heading-title{font-size:clamp(24px,2.6vw,30px);font-weight:600;letter-spacing:-.035em;line-height:1.15;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.3em;color:var(--ink)}
.feat-sum{color:var(--ink-2);font-size:15px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.6;min-height:4.8em}
.check-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.check-list li{position:relative;padding-left:24px;font-size:14px;color:var(--ink-2);line-height:1.5}
.check-list li:before{content:"";position:absolute;left:0;top:3px;width:15px;height:15px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/contain no-repeat}
.feat-info .check-list li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feat-info .check-list{margin:4px 0 8px}
.e-con.feat-actions{flex-direction:row;gap:8px;flex-wrap:wrap}
.e-con.feat-actions>.elementor-widget{width:auto!important}
@media (max-width:900px){.e-con.feat{grid-template-columns:1fr;gap:22px;padding:16px}.e-con.feat-mock{min-height:0;aspect-ratio:4/3}.feat-mock-cta{opacity:1;transform:translate(-50%,0)}.e-con.feat-info{padding:0 6px 6px}}

/* Work page: "Your store could be next" */
.e-con.next-up{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;margin-top:22px;padding:44px;border-radius:26px;border:1px solid var(--line);background:radial-gradient(70% 90% at 100% 0%,rgba(210,96,58,.14),transparent 60%),var(--paper-2);overflow:hidden}
.e-con.next-copy{align-items:flex-start;gap:0}
.next-copy h2.elementor-heading-title{font-size:clamp(30px,3.6vw,42px);font-weight:600;letter-spacing:-.04em;line-height:1.05;margin-top:10px;color:var(--ink)}
.next-copy h2 .serif{font-size:1.08em}
.next-copy .lede{font-size:16px;margin-top:14px;max-width:440px}
.next-copy .check-list{margin:20px 0 26px}
.next-copy .check-list li{font-size:15px;color:var(--ink)}
.e-con.next-copy .cta{justify-content:flex-start}
.next-visual{position:relative;padding:20px 10px 30px}
.nv-browser{border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line-2);box-shadow:0 30px 60px -28px rgba(60,40,20,.45);transform:rotate(2deg)}
.nv-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;background:#efece6;border-bottom:1px solid var(--line)}
.nv-bar i{width:8px;height:8px;border-radius:50%;background:#d9d4cb}
.nv-bar i:first-child{background:#ec6a5e}.nv-bar i:nth-child(2){background:#f4bf4f}.nv-bar i:nth-child(3){background:#61c554}
.nv-bar span{margin:0 auto;font-size:11px;color:var(--muted);background:#fff;padding:2px 14px;border-radius:6px;border:1px dashed var(--line-2);transform:translateX(-18px);line-height:1.5}
.nv-body{padding:16px}
.nv-hero{position:relative;height:150px;border-radius:12px;padding:20px;display:flex;flex-direction:column;justify-content:center;gap:2px;background:linear-gradient(135deg,#f3d6c6,#e9c2ad 55%,#d2603a);color:#2b1a12;line-height:1.2}
.nv-hero b{font-size:22px;font-weight:600;letter-spacing:-.03em}
.nv-hero em{font-family:var(--serif);font-size:24px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.12)}
.nv-btn{align-self:flex-start;margin-top:10px;font-size:11px;font-weight:600;padding:6px 12px;border-radius:7px;background:var(--ink);color:#fff}
.nv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.nv-grid span{aspect-ratio:1;border-radius:10px;border:1.5px dashed var(--line-2);background:repeating-linear-gradient(45deg,transparent 0 8px,rgba(210,96,58,.05) 8px 16px)}
.nv-chip{position:absolute;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;padding:8px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);white-space:nowrap;line-height:1.3}
.nv-chip-a{bottom:14px;left:-6px}
.nv-chip-b{top:46px;right:-8px;color:var(--ink)}
@media (max-width:900px){.e-con.next-up{grid-template-columns:1fr;padding:30px 24px;gap:26px}}
@media (max-width:640px){.nv-chip-a{left:2px}.nv-chip-b{right:2px}.nv-hero{height:130px}}

/* ---------- About page ---------- */
.e-con.ab-hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;padding:40px 0 50px}
.e-con.ab-photo{position:relative;display:block;width:100%;aspect-ratio:4/5;border-radius:24px;overflow:hidden;border:6px solid #fff;box-shadow:0 40px 70px -30px rgba(210,96,58,.45),var(--shadow);background:radial-gradient(80% 60% at 50% 35%,#f6d9c9,#ead7c8 60%,#e3d2c3);transform:rotate(-2deg);padding:0}
.ab-photo .elementor-widget-image{position:absolute!important;inset:0;width:100%!important;height:100%}
.ab-photo img{width:100%;height:100%!important;object-fit:cover;object-position:50% 32%}
.ab-name{position:absolute!important;left:12px;right:12px;bottom:12px;z-index:2;width:auto!important;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.92);font-size:13px;line-height:1.4}
.ab-name p{display:flex;justify-content:space-between;align-items:center}
.ab-name b{font-weight:600}.ab-name span{color:var(--muted);font-size:12px}
.e-con.ab-intro{align-items:flex-start;gap:0}
.e-con.ab-intro>.elementor-widget{width:100%}
.ab-intro h1.elementor-heading-title{font-size:clamp(36px,4.8vw,54px);line-height:1.05;letter-spacing:-.045em;font-weight:600;margin-top:12px;color:var(--ink)}
.ab-intro h1 .serif{display:block;font-size:1.08em}
.ab-intro .lead{font-size:18px;line-height:1.6;color:var(--ink);margin-top:22px}
.ab-intro .ab-p{color:var(--ink-2);font-size:15.5px;line-height:1.7;margin-top:14px}
.ab-intro b{font-weight:600;color:var(--ink)}
.e-con.ab-intro .cta{justify-content:flex-start;margin-top:26px}
.e-con.gs-sec.story{padding:20px 0 0}
.e-con.story-row{display:grid;grid-template-columns:220px 1fr;gap:40px;padding:28px 0;border-top:1px solid var(--line)}
.story-row h2.elementor-heading-title{font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.4;color:var(--ink)}
.story-row h2 .kicker{display:block;margin-bottom:6px}
.story-row .elementor-widget-text-editor{font-size:17px;line-height:1.65;color:var(--ink-2);max-width:640px}
.ab-quote .elementor-heading-title{text-align:center;font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.4vw,48px);line-height:1.15;letter-spacing:-.01em;color:var(--ink)}
.e-con.gs-sec.quote-sec{padding:50px 0 70px}
.e-con.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.e-con.pr{padding:26px;border-radius:18px;background:var(--card);border:1px solid var(--line);gap:0}
.pr .n .elementor-heading-title,.ab-services .n{font-family:var(--serif);font-style:italic;font-weight:400;font-size:30px;color:var(--accent);line-height:1}
.pr h3.elementor-heading-title{font-size:18px;font-weight:600;letter-spacing:-.02em;margin-top:18px;line-height:1.3;color:var(--ink)}
.pr .elementor-widget-text-editor{font-size:14px;color:var(--ink-2);margin-top:6px}
.e-con.ab-services{gap:8px;max-width:760px;width:100%;margin:0 auto}
.e-con.ab-svc{flex-direction:row;align-items:center;gap:22px;padding:20px 24px;border-radius:16px;background:var(--card);border:1px solid var(--line);transition:.25s;color:var(--ink)}
.e-con.ab-svc:hover{box-shadow:var(--shadow);transform:translateX(4px)}
.ab-svc>.elementor-widget-text-editor{flex:1}
.ab-svc b{display:block;font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1.3}
.ab-svc .elementor-widget-text-editor span{font-size:13.5px;color:var(--muted)}
.ab-svc .arrow .elementor-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ink)}
.ab-svc .arrow .elementor-icon svg{width:14px;height:14px;fill:#fff}
.e-con.pf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.e-con.pf{align-items:center;text-align:center;gap:6px;padding:26px 18px 22px;border-radius:18px;background:var(--card);border:1px solid var(--line);transition:transform .25s,box-shadow .25s;color:var(--ink)}
.e-con.pf:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.pf-logo{width:64px!important;height:64px;display:grid;place-items:center;border-radius:16px;background:#fff;border:1px solid var(--line);margin-bottom:8px}
.pf-logo img{width:34px!important;height:34px!important;object-fit:contain}
.pf-logo.wide img{width:48px!important;height:48px!important}
.ojph{font-weight:800;font-size:10.5px;letter-spacing:-.02em;color:#0a5bd3;line-height:1}
.ojph i{font-style:normal;color:#f2a900}
.pf h3.elementor-heading-title{font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.pf-stars{color:#e3a72f;letter-spacing:3px;font-size:15px;line-height:1.4}
.pf-sub{font-size:12.5px;color:var(--muted)}
.pf-link .elementor-heading-title{margin-top:8px;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--accent)}
.toolkit{border-radius:22px;background:var(--card);border:1px solid var(--line);overflow:hidden;gap:0!important}
.e-con.tk-row{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:center;padding:22px 26px;border-top:1px solid var(--line)}
.e-con.tk-row:first-child{border-top:0}
.tk-head b{display:block;font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.4}
.tk-head span{font-size:13.5px;color:var(--muted)}
.tk-list{display:flex;flex-wrap:wrap;gap:8px}
.tk-list span{display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 9px;border-radius:11px;background:#fff;border:1px solid var(--line);font-size:14px;font-weight:500;color:var(--ink);line-height:1.4;transition:border-color .2s,transform .2s}
.tk-list span:hover{border-color:var(--line-2);transform:translateY(-1px)}
.tk-list img{width:18px;height:18px;display:block;margin:0}
.tk-list i{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-style:normal;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:-.02em;color:#fff;background:var(--c)}
@media (max-width:900px){.e-con.pf-grid{grid-template-columns:1fr 1fr}}
@media (max-width:820px){.e-con.ab-hero{grid-template-columns:1fr;gap:34px}.e-con.ab-photo{max-width:380px;margin:0 auto}.e-con.tk-row{grid-template-columns:1fr;gap:12px;padding:20px}}
@media (max-width:640px){.e-con.ab-photo{max-width:300px}.e-con.principles{grid-template-columns:1fr}.e-con.ab-svc{gap:14px;padding:16px}.ab-svc b{font-size:16px}.e-con.story-row{grid-template-columns:1fr;gap:12px}.story-row .elementor-widget-text-editor{font-size:16px}.e-con.pf{padding:20px 12px 18px}}

/* Card links keep their text colour on hover */
.e-con.ab-svc:hover,.e-con.need:hover,.e-con.pf:hover,.e-con.sq:hover,.e-con.feat-mock:hover{color:var(--ink)}
.e-con.ab-svc>.elementor-widget:first-child{flex:none;width:auto}
.e-con.ab-svc>.elementor-widget:nth-child(2){flex:1;text-align:left}

/* ---------- Book a call ---------- */
.e-con.gs-sec.bk-hero{padding-bottom:34px}
.e-con.bk{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px;align-items:start;padding:0 0 70px}
.e-con.bk-info,.e-con.bk-card{border-radius:22px;background:var(--card);border:1px solid var(--line);padding:28px}
.e-con.bk-info{position:sticky;top:20px;gap:14px}
.e-con.bk-info>.elementor-widget{width:100%}
.e-con.bk-me{flex-direction:row;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.bk-avatar{width:48px!important;height:48px;flex:none;border-radius:50%;overflow:hidden;background:radial-gradient(#f6d9c9,#e3d2c3)}
.bk-avatar img{width:48px!important;height:48px!important;object-fit:cover;object-position:50% 32%}
.bk-me b{display:block;font-weight:600;font-size:15px;line-height:1.3}
.bk-me span{font-size:12.5px;color:var(--green)}
.bk-info .check-list li{font-size:14px}
.bk-rates{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 4px}
.bk-rates>span{padding:14px;border-radius:14px;background:var(--paper);border:1px solid var(--line);line-height:1.3}
.bk-rates>span.dk{background:var(--ink);color:#fff;border-color:var(--ink)}
.bk-rates b{display:block;font-size:24px;font-weight:600;letter-spacing:-.04em}
.bk-rates small{font-size:12px;font-weight:400;opacity:.7}
.bk-rates em{font-style:normal;font-size:12px;opacity:.75}
.e-con.bk-review{gap:0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#fff}
.bk-review .elementor-custom-embed-play svg{width:48px;height:48px;padding:15px 13px 15px 17px;border-radius:50%;background:#fff;fill:var(--ink);opacity:1;filter:none}
.bk-review-quote{padding:12px 12px 0;font-family:var(--serif);font-size:18px;line-height:1.3;color:var(--ink)}
.bk-review-meta{display:flex;align-items:center;gap:8px;padding:8px 12px 10px;font-size:13px}
.bk-review-meta span:last-child{margin-left:auto;color:var(--muted);font-size:12px}
.bk-mail a{font-weight:500;color:var(--accent)}
.bk-plat{display:flex;gap:8px;flex-wrap:wrap}
.bk-plat a{display:inline-flex;align-items:center;justify-content:center;height:46px;min-width:120px;padding:0 18px;border-radius:12px;background:#fff;border:1px solid var(--line);transition:.2s}
.bk-plat a:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:var(--shadow)}
.bk-plat img{height:22px;width:auto}
.bk-card .e-n-tabs-heading{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:var(--paper);border:1px solid var(--line);margin-bottom:18px}
.bk-card .e-n-tab-title{justify-content:center;padding:11px 10px;border-radius:10px;border:0;background:none;color:var(--ink-2);font-family:var(--sans);font-size:14px;font-weight:500;line-height:1.25}
.bk-card .e-n-tab-title[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.bk-card .e-n-tab-title-text{text-align:center}
.bk-card .e-n-tabs-content>.e-con{padding:0;border:0;gap:14px}
.bk-note{font-size:14px;color:var(--ink-2);padding:14px 16px;border-radius:12px;background:var(--paper);border:1px solid var(--line)}
.bk-note b{color:var(--ink)}
.bk-embed iframe{display:block;width:100%;height:760px;border:0;border-radius:14px;background:#fff}
.gs-form .elementor-field-group{margin-bottom:14px}
.gs-form .elementor-field-label{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--ink);margin-bottom:6px}
.gs-form .elementor-field-textual,.gs-form select.elementor-field{font-family:var(--sans);font-size:14px;color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:11px;padding:11px 13px;min-height:44px;box-shadow:none}
.gs-form textarea.elementor-field-textual{min-height:96px}
.gs-form .elementor-field-textual:focus{border-color:var(--ink);outline:0;box-shadow:0 0 0 3px var(--accent-soft)}
.gs-form .elementor-select-wrapper .select-caret-down-wrapper{right:12px}
.gs-form .elementor-field-subgroup .elementor-field-option label{font-size:13.5px;color:var(--ink-2)}
.gs-form .e-form__buttons .elementor-button,.gs-form .elementor-field-type-submit .elementor-button{width:100%;height:50px;border-radius:11px;background:var(--ink);color:#fff;font-family:var(--sans);font-size:15px;font-weight:500;box-shadow:0 6px 16px -6px rgba(0,0,0,.45)}
.gs-form .elementor-button:hover{background:#000}
.gs-form .elementor-message{font-size:14px;margin-top:10px}
.gs-form .elementor-message-success{color:var(--green)}
.bk-micro{text-align:center;font-size:12.5px;color:var(--muted)}
.bk-micro a{color:var(--accent)}
@media (max-width:820px){.e-con.bk{grid-template-columns:1fr}.e-con.bk-info{position:static;order:2}}
@media (max-width:640px){.e-con.bk-info,.e-con.bk-card{padding:20px}.bk-embed iframe{height:820px}}
body.page-id-44 .e-con.m-cta{display:none}

/* ---------- Privacy & 404 ---------- */
.e-con.legal{max-width:720px;width:calc(100% - 40px);margin:0 auto 70px;padding:34px 38px;border-radius:22px;background:var(--card);border:1px solid var(--line)}
.legal .elementor-widget-text-editor{color:var(--ink-2);font-size:15px;line-height:1.7}
.legal h2{font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:26px 0 8px}
.legal h2:first-child{margin-top:0}
.legal ul{padding-left:20px;margin:8px 0}
.legal a{color:var(--accent)}
@media (max-width:640px){.e-con.legal{padding:24px 20px}}
.bk-tabs{--n-tabs-title-background-color:transparent;--n-tabs-title-background-color-hover:transparent;--n-tabs-title-background-color-active:#fff;--n-tabs-title-color-normal:var(--ink-2);--n-tabs-title-color-hover:var(--ink);--n-tabs-title-color-active:var(--ink);--n-tabs-title-padding-top:11px;--n-tabs-title-padding-bottom:11px;--n-tabs-title-gap:4px;--n-tabs-gap:0px}
.bk-tabs .e-n-tab-title{color:var(--ink-2)}
.bk-tabs .e-n-tab-title[aria-selected="true"]{color:var(--ink)}


/* ---------- Project case study (single template) ---------- */
.e-con.proj-head{align-items:center;text-align:center;padding:34px 0 30px;gap:0}
.e-con.proj-head>.elementor-widget{max-width:820px}
.back .elementor-button{display:inline-flex;align-items:center;gap:6px;height:auto;font-size:13px;color:var(--ink-2);padding:6px 12px;border-radius:9px;background:var(--card);border:1px solid var(--line);box-shadow:none}
.back .elementor-button:hover{color:var(--ink);background:var(--card)}
.back .elementor-button-icon svg{width:12px;height:12px;fill:currentColor}
.e-con.proj-kick{flex-direction:row;justify-content:center;margin-top:22px;gap:0}
.proj-head h1.elementor-heading-title{font-size:clamp(34px,5vw,56px);line-height:1.05;letter-spacing:-.045em;font-weight:600;margin:12px auto 0;color:var(--ink)}
.proj-head .sub{max-width:560px;margin:16px auto 0;color:var(--ink-2);font-size:16px}
.e-con.meta-row{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:16px;background:var(--card);margin:30px 0 18px;overflow:hidden;gap:0}
.e-con.meta-row>.e-con{padding:14px 16px;border-left:1px solid var(--line);gap:0}
.e-con.meta-row>.e-con:first-child{border-left:0}
.meta-l .elementor-heading-title{display:block;font-family:var(--sans);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.meta-v .elementor-heading-title{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--ink);line-height:1.5}
.cover img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;display:block}
.e-con.walk{margin-top:56px;scroll-margin-top:20px;gap:0}
.walk .head{margin-bottom:20px}
.walk-player{border-radius:22px;overflow:hidden;background:var(--ink);border:6px solid #fff;box-shadow:var(--shadow)}
.walk-player video{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.e-con.gs-sec.proj-story{padding:64px 0 0}
.story-row .check-list ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;max-width:680px}
.story-row .check-list li{font-size:15px}
.e-con.proj-band{margin-top:24px}
.e-con.gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.e-con.gallery>.elementor-widget{border-radius:20px;padding:24px 24px 0;background:var(--paper-2);border:1px solid var(--line);overflow:hidden}
.gallery img{width:100%;aspect-ratio:16/11.2;object-fit:cover;object-position:top;border-radius:10px 10px 0 0;border:1px solid var(--line);display:block}
.next-proj{margin-top:28px}
.next-proj .elementor-post-navigation{padding:26px 28px;border-radius:20px;background:var(--card);border:1px solid var(--line)}
.next-proj .post-navigation__prev--label,.next-proj .post-navigation__next--label{font-family:var(--sans);font-size:12px;color:var(--muted);text-transform:none}
.next-proj .post-navigation__prev--title,.next-proj .post-navigation__next--title{font-family:var(--sans);font-size:20px;font-weight:600;letter-spacing:-.03em;color:var(--ink);text-transform:none}
.next-proj .elementor-post-navigation__link a{color:var(--ink)}
.next-proj .post-navigation__arrow-wrapper{color:var(--ink);font-size:22px}
@media (max-width:820px){.e-con.meta-row{grid-template-columns:repeat(3,1fr)}.e-con.meta-row>.e-con:nth-child(4){border-left:0}.e-con.meta-row>.e-con:nth-child(n+4){border-top:1px solid var(--line)}.e-con.gallery{grid-template-columns:1fr}}
@media (max-width:640px){.e-con.meta-row{grid-template-columns:1fr 1fr}.e-con.meta-row>.e-con{border-left:0!important;border-top:1px solid var(--line)}.e-con.meta-row>.e-con:nth-child(-n+2){border-top:0}.e-con.meta-row>.e-con:nth-child(even){border-left:1px solid var(--line)!important}.story-row .check-list ul{grid-template-columns:1fr}.walk-player{border-width:4px;border-radius:16px}}
/* Phone: buttons in rows */
@media (max-width:640px){.e-con.cta>.elementor-widget-button{flex:1 1 auto}.e-con.cta .elementor-button{width:100%}}/* End custom CSS */