/* ==========================================================================
   İstanbul Ajans — Iconique (CMSMasters) light / home-two design language
   Every value below is measured from the reference, not approximated:
   - typography & palette : theme default-vars.css + main-kits.json
   - section rhythm/grid  : live post-46261.css + computed styles @1440
   ========================================================================== */
:root{
  /* palette */
  --c-primary:#000000;
  --c-secondary:#272626;
  --c-text:#686868;
  --c-accent:#999999;
  --c-tertiary:#F81E00;
  --c-bg:#FFFFFF;
  --c-alternate:#F7F8F2;
  --c-bd:#E1E1E1;
  --c-heading:var(--c-secondary);
  --c-link:var(--c-primary);
  --c-hover:var(--c-tertiary);

  /* type families — Libre Caslon Text is the display voice. A didone (Bodoni)
     was tried first and failed the legibility test: 2px hairlines at 76px
     disappeared over the hero photo. Caslon keeps the editorial register with
     ~5px stems and a 0.53 x-height, so masthead and titles stay readable. */
  --ff-serif:"Libre Caslon Text",Georgia,"Times New Roman",serif;
  --ff-sans:"Public Sans","Helvetica Neue",Arial,sans-serif;

  /* measured type scale */
  --t-h1:76px;  --t-h2:60px;  --t-h3:44px;
  --t-cardtitle:32px;   /* Libre Caslon Text — card & post titles */
  --t-quote:48px;       /* Libre Caslon Text — testimonial */
  --t-body:17px;        /* Public Sans 300 */
  --t-meta:13px;        /* Public Sans 400 uppercase, ls 1px */
  --t-tag:14px;         /* Public Sans 400 uppercase, tertiary */
  --t-btn:13px;         /* Public Sans 600 uppercase, ls 1px */
  --t-counter:44px;     /* Public Sans 400 uppercase, ls -1px */
  --t-h5:18px;

  /* layout — measured: 1440 viewport → 1360 content, 40px gutter */
  --content:1360px;
  --gutter:40px;
  --sec-mb:150px;
  --sec-mb-sm:120px;
  --sec-mb-inner:120px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--c-bg);color:var(--c-text);
  font-family:var(--ff-sans);font-weight:300;font-size:var(--t-body);line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--c-primary);color:#fff}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-link);text-decoration:none;transition:color .3s ease-in-out}
a:hover{color:var(--c-hover)}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:400;color:var(--c-heading)}
p{margin:0 0 1em}
button{font-family:inherit}

/* ---------- type ---------- */
.t-h1{font-family:var(--ff-serif);font-size:var(--t-h1);line-height:1.12;letter-spacing:-.5px;text-transform:uppercase;color:var(--c-heading)}
.t-h2{font-family:var(--ff-serif);font-size:var(--t-h2);line-height:1.14;letter-spacing:-.5px;text-transform:uppercase;color:var(--c-heading)}
/* the theme alternates three heading voices — big serif, medium sans, small sans label */
.t-h2sans{font-family:var(--ff-sans);font-size:var(--t-h3);font-weight:400;line-height:1.2;letter-spacing:-1px;text-transform:uppercase;color:var(--c-heading)}
.t-label{font-family:var(--ff-sans);font-size:var(--t-h5);font-weight:500;line-height:1.45;letter-spacing:.5px;text-transform:uppercase;color:var(--c-heading)}
.t-h3{font-family:var(--ff-sans);font-size:var(--t-h3);font-weight:400;line-height:1.2;letter-spacing:-1px;text-transform:uppercase;color:var(--c-heading)}
/* card / post / event titles: serif, roman — no italics anywhere */
.t-card{font-family:var(--ff-serif);font-weight:400;font-size:var(--t-cardtitle);line-height:1.26;letter-spacing:-.2px;text-transform:none;color:var(--c-heading)}
.t-quote{font-family:var(--ff-serif);font-weight:400;font-size:var(--t-quote);line-height:1.24;letter-spacing:-.5px;color:var(--c-heading)}
.t-meta{font-family:var(--ff-sans);font-size:var(--t-meta);font-weight:400;line-height:1.6;letter-spacing:1px;text-transform:uppercase;color:var(--c-heading)}
.t-tag{font-family:var(--ff-sans);font-size:var(--t-tag);font-weight:400;line-height:1.6;letter-spacing:.5px;text-transform:uppercase;color:var(--c-tertiary)}

/* ---------- containers ---------- */
.e-con{position:relative;width:100%;margin-bottom:var(--sec-mb)}
.e-con--padded{padding-left:var(--gutter);padding-right:var(--gutter)}
.e-con-inner{width:100%;max-width:var(--content);margin:0 auto}
.e-con--narrow .e-con-inner{max-width:800px}
.e-con--flush{margin-bottom:0}

/* ---------- buttons (measured: 13px/600/uppercase/ls1, radius 0, invert on hover) ---------- */
.cmsmasters-theme-button{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  padding:13px 40px;border:1px solid var(--c-primary);border-radius:0;background:transparent;
  font-family:var(--ff-sans);font-weight:600;font-size:var(--t-btn);letter-spacing:1px;line-height:1.8;
  text-transform:uppercase;color:var(--c-primary);overflow:hidden;z-index:0;cursor:pointer;
  transition:color .3s ease-in-out;
}
.cmsmasters-theme-button::before,.cmsmasters-theme-button::after{content:"";position:absolute;inset:0;z-index:-1;transition:opacity .3s ease-in-out}
.cmsmasters-theme-button::before{background:var(--c-bg);opacity:1}
.cmsmasters-theme-button::after{background:var(--c-primary);opacity:0}
.cmsmasters-theme-button:hover{color:var(--c-bg)}
.cmsmasters-theme-button:hover::before{opacity:0}
.cmsmasters-theme-button:hover::after{opacity:1}
.cmsmasters-theme-button--onimg{border-color:var(--c-primary)}
.cmsmasters-theme-button--wa{border-color:#1FA855;color:#1FA855}
.cmsmasters-theme-button--wa::after{background:#1FA855}
.cmsmasters-theme-button--wa:hover{color:#fff}
/* the bracket text link — used inside cards and beside section titles */
.cmsmasters-bracket-link{display:inline-block;font-family:var(--ff-sans);font-weight:600;font-size:var(--t-btn);letter-spacing:1px;line-height:1.8;text-transform:uppercase;color:var(--c-primary)}
.cmsmasters-bracket-link:hover{color:var(--c-tertiary)}

/* ==========================================================================
   HEADER — Elementor theme-builder template (demo post #180)
   measured: bg var(--e-global-color-background), padding 15px 50px, row h=80,
   nav dropdown width 250px, arrow 9px, burger icon 40px.
   The demo's search widget is deliberately not shipped: the client asked for
   the trigger to go, so the header is logo + nav + burger only.
   ========================================================================== */
.cmsmasters_header{position:sticky;top:0;z-index:60;background:var(--c-bg);border-bottom:1px solid var(--c-bd)}
/* the generic .e-con section rhythm must not leak into the header */
.cmsmasters_header .e-con{margin-bottom:0}
.cmsmasters-header-bar{padding:15px 50px}
.cmsmasters-header-bar__row{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:none}
.cmsmasters-header-bar__logo{flex:none}
.elementor-widget-cmsmasters-site-logo__link{display:inline-block}
.cmsmasters-logo-wordmark{font-family:var(--ff-serif);font-size:23px;line-height:1;letter-spacing:.5px;text-transform:uppercase;color:var(--c-heading);white-space:nowrap;transition:color .3s ease-in-out}
.cmsmasters-logo-wordmark b{font-weight:400;color:var(--c-tertiary)}
/* NB-LOGO — gerçek marka dosyası (Joomla yedeğinden), yazı wordmarkın yerini alır */
.nb-logo{display:block;width:auto;height:34px}
.nb-logo--footer{height:58px}
.cmsmasters-header-bar__logo:hover .cmsmasters-logo-wordmark{color:var(--c-tertiary)}

/* nav — real widget class chain from the theme */
.elementor-widget-cmsmasters-nav-menu__main{display:flex;align-items:center}
.elementor-widget-cmsmasters-nav-menu__container-inner{display:flex;align-items:center;gap:25px;list-style:none;margin:0;padding:0}
.elementor-widget-cmsmasters-nav-menu__main>.elementor-widget-cmsmasters-nav-menu__container-inner>.menu-item{position:relative}
.elementor-widget-cmsmasters-nav-menu__dropdown-item{display:inline-flex;align-items:center;gap:6px;padding:15px 0;position:relative;
  font-family:var(--ff-sans);font-size:12px;font-weight:500;letter-spacing:.8px;text-transform:uppercase;color:var(--c-heading)}
.elementor-widget-cmsmasters-nav-menu__item-text{display:inline}
.elementor-widget-cmsmasters-nav-menu__arrow{display:inline-flex;font-size:9px;line-height:1;color:var(--c-accent);transition:transform .3s ease-in-out}
.elementor-widget-cmsmasters-nav-menu__dropdown-item::after{content:"";position:absolute;left:0;bottom:8px;height:1px;width:0;background:var(--c-tertiary);transition:width .3s ease-in-out}
.elementor-widget-cmsmasters-nav-menu__main>.elementor-widget-cmsmasters-nav-menu__container-inner>.menu-item:hover .elementor-widget-cmsmasters-nav-menu__dropdown-item::after,
.menu-item--current>.elementor-widget-cmsmasters-nav-menu__dropdown-item::after{width:calc(100% - 18px)}
.menu-item--current>.elementor-widget-cmsmasters-nav-menu__dropdown-item{color:var(--c-tertiary)}
.menu-item:hover>.elementor-widget-cmsmasters-nav-menu__dropdown-item{color:var(--c-tertiary)}
.menu-item:hover>.elementor-widget-cmsmasters-nav-menu__dropdown-item .elementor-widget-cmsmasters-nav-menu__arrow{transform:rotate(180deg)}
/* dropdown panel — measured width 250px */
.cmsmasters-nav-dropdown{position:absolute;top:100%;left:-18px;width:250px;padding:14px 0;background:var(--c-bg);
  border:1px solid var(--c-bd);border-top:2px solid var(--c-primary);opacity:0;visibility:hidden;transform:translateY(10px);
  transition:.28s ease-in-out;z-index:70;box-shadow:0 18px 40px rgba(0,0,0,.07)}
/* the shared __container-inner class is horizontal in the main bar — stack it here */
.cmsmasters-nav-dropdown>.elementor-widget-cmsmasters-nav-menu__container-inner{flex-direction:column;align-items:stretch;gap:0}
.menu-item:hover>.cmsmasters-nav-dropdown,.menu-item:focus-within>.cmsmasters-nav-dropdown{opacity:1;visibility:visible;transform:none}
.cmsmasters-nav-dropdown a{display:block;padding:9px 18px;font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--c-heading)}
.cmsmasters-nav-dropdown a:hover{color:var(--c-tertiary);background:var(--c-alternate)}

/* header tools: burger */
.cmsmasters-header-bar__tools{display:flex;align-items:center;gap:26px;flex:none}
.elementor-widget-cmsmasters-nav-menu__toggle{display:none;width:40px;height:40px;align-items:center;justify-content:center;border:0;background:none;cursor:pointer;padding:0;color:var(--c-heading)}
.elementor-widget-cmsmasters-nav-menu__toggle svg{width:26px;height:26px;fill:currentColor}
.elementor-widget-cmsmasters-nav-menu__toggle:hover{color:var(--c-tertiary)}
.cmsmasters-toggle-icon-active{display:none}
.cmsmasters-is-open .cmsmasters-toggle-icon{display:none}
.cmsmasters-is-open .cmsmasters-toggle-icon-active{display:block}

/* ---- inner-page header variant (demo template #162) -------------------
   theme class cmsmasters-header-position-absolute-yes: transparent, over the
   first section, white wordmark/nav/burger. The demo places it absolute, so it
   scrolls away with the hero — on a phone that leaves an unlabelled floating
   burger and no header at all. Ours is fixed and turns into the same solid bar
   the static pages use as soon as the hero is past. */
.cmsmasters_header.cmsmasters-header-position-absolute-yes{position:fixed;top:0;left:0;right:0;z-index:99;
  background:transparent;border-bottom:1px solid transparent;
  transition:background .3s ease-in-out,border-color .3s ease-in-out}
.cmsmasters-header-position-absolute-yes .cmsmasters-header-bar{padding:25px 40px;transition:padding .3s ease-in-out}
.cmsmasters-header-position-absolute-yes .cmsmasters-logo-wordmark{color:#fff}
.cmsmasters-header-position-absolute-yes .cmsmasters-header-bar__logo:hover .cmsmasters-logo-wordmark{color:var(--c-tertiary)}
.cmsmasters-header-position-absolute-yes .elementor-widget-cmsmasters-nav-menu__dropdown-item{color:#fff}
.cmsmasters-header-position-absolute-yes .elementor-widget-cmsmasters-nav-menu__dropdown-item::after{background:#fff}
.cmsmasters-header-position-absolute-yes .menu-item:hover>.elementor-widget-cmsmasters-nav-menu__dropdown-item,
.cmsmasters-header-position-absolute-yes .menu-item--current>.elementor-widget-cmsmasters-nav-menu__dropdown-item{color:var(--c-tertiary)}
.cmsmasters-header-position-absolute-yes .menu-item:hover>.elementor-widget-cmsmasters-nav-menu__dropdown-item::after,
.cmsmasters-header-position-absolute-yes .menu-item--current>.elementor-widget-cmsmasters-nav-menu__dropdown-item::after{background:var(--c-tertiary)}
.cmsmasters-header-position-absolute-yes .elementor-widget-cmsmasters-nav-menu__toggle{color:#fff}
.cmsmasters-header-position-absolute-yes .elementor-widget-cmsmasters-nav-menu__toggle:hover{color:var(--c-tertiary)}

/* scrolled: solid bar, dark ink — identical to the static pages */
.cmsmasters-header-position-absolute-yes.cmsmasters-header--scrolled{background:var(--c-bg);border-bottom-color:var(--c-bd)}
.cmsmasters-header-position-absolute-yes.cmsmasters-header--scrolled .cmsmasters-header-bar{padding-top:15px;padding-bottom:15px}
.cmsmasters-header-position-absolute-yes.cmsmasters-header--scrolled .cmsmasters-logo-wordmark{color:var(--c-heading)}
.cmsmasters-header-position-absolute-yes.cmsmasters-header--scrolled .elementor-widget-cmsmasters-nav-menu__dropdown-item{color:var(--c-heading)}
.cmsmasters-header-position-absolute-yes.cmsmasters-header--scrolled .elementor-widget-cmsmasters-nav-menu__dropdown-item::after{background:var(--c-tertiary)}
.cmsmasters-header-position-absolute-yes.cmsmasters-header--scrolled .elementor-widget-cmsmasters-nav-menu__toggle{color:var(--c-heading)}
.cmsmasters-header-position-absolute-yes.cmsmasters-header--scrolled .elementor-widget-cmsmasters-nav-menu__toggle:hover{color:var(--c-tertiary)}

/* off-canvas menu (theme: .cmsmasters-nav-menu__dropdown).
   Hidden with visibility, not display: a display flip cannot animate, so the
   slide-in would jump; visibility:hidden also drops the links out of tab order. */
.elementor-widget-cmsmasters-nav-menu__dropdown{position:fixed;inset:0;z-index:100;background:var(--c-bg);
  padding:100px 30px 40px;overflow:auto;transform:translateX(100%);visibility:hidden;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s linear .45s}
.elementor-widget-cmsmasters-nav-menu__dropdown.cmsmasters-show{visibility:visible;transform:none;
  transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.elementor-widget-cmsmasters-nav-menu__dropdown .elementor-widget-cmsmasters-nav-menu__container-inner{flex-direction:column;align-items:flex-start;gap:0}
.elementor-widget-cmsmasters-nav-menu__dropdown .elementor-widget-cmsmasters-nav-menu__dropdown-item{
  font-family:var(--ff-serif);font-size:26px;letter-spacing:-.2px;padding:15px 0;width:100%;border-bottom:1px solid var(--c-bd)}
.elementor-widget-cmsmasters-nav-menu__dropdown .elementor-widget-cmsmasters-nav-menu__dropdown-item::after{display:none}
.cmsmasters-drawer-close{position:absolute;top:24px;right:24px;width:44px;height:44px;border:1px solid var(--c-bd);background:none;cursor:pointer;color:var(--c-heading)}
.cmsmasters-drawer-foot{margin-top:34px;display:flex;flex-direction:column;gap:12px}
.cmsmasters-drawer-foot a{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--c-heading)}


/* ==========================================================================
   1 — HERO  (measured: content h≈774, 80px divider brackets, light image)
   ========================================================================== */
.hero{position:relative;min-height:calc(100vh - 90px);max-height:880px;display:flex;align-items:center;justify-content:center;text-align:center;padding:110px var(--gutter);margin-bottom:var(--sec-mb);background:var(--c-alternate);overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,22,22,.40) 0%,rgba(24,22,22,.30) 45%,rgba(24,22,22,.52) 100%)}
/* the four 80px corner brackets that define this hero */
.hero__mark{position:absolute;width:80px;height:80px;z-index:2;pointer-events:none}
.hero__mark::before,.hero__mark::after{content:"";position:absolute;background:rgba(255,255,255,.85)}
.hero__mark::before{width:100%;height:1px}
.hero__mark::after{width:1px;height:100%}
.hero__mark--tl{top:40px;left:40px}
.hero__mark--tr{top:40px;right:40px}
.hero__mark--tr::before{right:0}.hero__mark--tr::after{right:0}
.hero__mark--bl{bottom:40px;left:40px}
.hero__mark--bl::before{bottom:0}
.hero__mark--br{bottom:40px;right:40px}
.hero__mark--br::before{bottom:0;right:0}.hero__mark--br::after{right:0}
.hero__inner{position:relative;z-index:2;width:100%;max-width:var(--content);display:flex;flex-direction:column;align-items:center;gap:26px}
/* soft veil so the white type keeps >=4.5:1 wherever the photo falls bright */
.hero__inner::before{content:"";position:absolute;inset:-70px -60px;z-index:-1;background:radial-gradient(ellipse 62% 58% at 50% 50%,rgba(24,22,22,.46) 0%,rgba(24,22,22,.26) 48%,rgba(24,22,22,0) 78%)}
.hero__eyebrow{font-family:var(--ff-sans);font-size:var(--t-tag);font-weight:400;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.85)}
.hero__title{color:#fff;max-width:1000px}
.hero__cities{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;margin-top:8px}
.hero__cities li{position:relative;padding:0 26px;font-family:var(--ff-sans);font-size:var(--t-tag);font-weight:400;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.86)}
.hero__cities li+li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:12px;background:rgba(255,255,255,.45)}
.hero__cta{margin-top:14px}

/* ==========================================================================
   2 — MANIFESTO (boxed 800px, H2 60px uppercase, centered)
   ========================================================================== */
.manifesto{padding-top:20px}
.manifesto .e-con-inner{display:flex;flex-direction:column;align-items:center;gap:34px;text-align:center}
.manifesto .t-h2sans{font-size:clamp(26px,3.3vw,44px)}

/* ==========================================================================
   section title block
   ========================================================================== */
.sec-head{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;margin-bottom:56px}
.sec-head--left{align-items:flex-start;text-align:left}
.sec-head__row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;width:100%;margin-bottom:56px}
.sec-head__sub{font-size:var(--t-body);max-width:520px;margin:0}

/* ==========================================================================
   3 — CATEGORIES (measured grid 4×325px gap 20; italic serif title ABOVE image)
   ========================================================================== */
.cats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.featured-box .t-card{margin-bottom:22px;text-align:center}
.featured-box{display:block;text-align:center}
.featured-box__media{position:relative;overflow:hidden;aspect-ratio:8/10;background:var(--c-alternate)}
.featured-box__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.featured-box:hover .featured-box__media img{transform:scale(1.05)}
.featured-box__body{padding:24px 0 0;display:flex;flex-direction:column;gap:10px;align-items:center}
.featured-box__desc{font-size:var(--t-body);line-height:1.6;color:var(--c-text);max-width:260px}

/* ==========================================================================
   4 — SERVICES MARQUEE (replaces the brand-logo strip)
   ========================================================================== */
.marquee{position:relative;overflow:hidden;border-top:1px solid var(--c-bd);border-bottom:1px solid var(--c-bd);padding:22px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee__track{display:flex;width:max-content;animation:marquee 46s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee__item{display:inline-flex;align-items:center;gap:24px;padding:0 24px;white-space:nowrap;font-family:var(--ff-serif);font-size:24px;letter-spacing:0;color:var(--c-heading)}
.marquee__item::after{content:"";width:4px;height:4px;background:var(--c-tertiary);border-radius:50%;flex:none}

/* ==========================================================================
   5 — ROSTER (B/W portraits, red tag, small uppercase name below, text tabs)
   ========================================================================== */
.roster__tabs{display:flex;justify-content:center;gap:10px 22px;flex-wrap:wrap;margin-bottom:34px}
.roster__tab{padding:14px 6px;border:0;background:none;cursor:pointer;font-family:var(--ff-sans);font-size:var(--t-meta);font-weight:400;letter-spacing:1px;text-transform:uppercase;color:var(--c-accent);position:relative;transition:color .3s ease-in-out}
.roster__tab::after{content:"";position:absolute;left:6px;right:6px;bottom:6px;height:1px;background:var(--c-primary);transform:scaleX(0);transition:transform .3s ease-in-out}
.roster__tab:hover{color:var(--c-heading)}
.roster__tab.cmsmasters-active{color:var(--c-primary)}
.roster__tab.cmsmasters-active::after{transform:scaleX(1)}
.roster__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.talent{text-align:center}
.talent[hidden]{display:none}
.talent__media{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--c-alternate)}
.talent__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .6s ease-in-out,transform .9s cubic-bezier(.2,.8,.2,1)}
.talent:hover .talent__media img{filter:grayscale(0);transform:scale(1.04)}
.talent__specs{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:22px;background:rgba(0,0,0,.72);opacity:0;transition:opacity .45s ease-in-out}
.talent:hover .talent__specs,.talent:focus-within .talent__specs{opacity:1}
.talent__specs div{display:flex;justify-content:space-between;gap:14px;font-family:var(--ff-sans);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#fff}
.talent__specs div span:first-child{color:rgba(255,255,255,.55)}
.talent__body{padding:20px 0 0}
.talent__name{font-family:var(--ff-sans);font-size:var(--t-h5);font-weight:500;letter-spacing:.5px;line-height:1.45;text-transform:uppercase;color:var(--c-heading)}
.talent__role{margin-top:5px;font-size:var(--t-tag);font-weight:400;letter-spacing:.5px;text-transform:uppercase;color:var(--c-tertiary)}

/* ==========================================================================
   6 — WORK (LATEST WORK: 4-up portraits, category + italic serif title below)
   ========================================================================== */
/* a section that also carries .e-con--padded must not zero the horizontal gutter in
   its own padding shorthand: .e-con-inner only centres above 1360px, so below that
   width the section padding is the ONLY gutter and content sits flush to the edge */
.work{background:var(--c-alternate);padding:80px var(--gutter);margin-bottom:var(--sec-mb-sm)}
.work__head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:56px}
.work__scroller{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin}
.work__scroller::-webkit-scrollbar{height:1px}
.work__scroller::-webkit-scrollbar-thumb{background:var(--c-primary)}
.work__item{flex:0 0 calc(25% - 15px);scroll-snap-align:start}
.work__media{aspect-ratio:8/10;overflow:hidden;background:var(--c-bg)}
.work__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.work__item:hover .work__media img{transform:scale(1.05)}
.work__meta{padding:22px 0 0}
.work__title{margin-top:9px}
.slider-nav{display:flex;gap:8px}
.slider-nav button{width:44px;height:44px;border:1px solid var(--c-primary);background:transparent;cursor:pointer;font-size:13px;color:var(--c-primary);transition:all .3s ease-in-out;border-radius:0}
.slider-nav button:hover{background:var(--c-primary);color:#fff}

/* ==========================================================================
   7 — PROCESS (reference's events block = list rows, not cards)
   ========================================================================== */
.rows{display:flex;flex-direction:column}
.row{display:grid;grid-template-columns:88px 1fr auto;gap:34px;align-items:center;padding:38px 0;border-top:1px solid var(--c-bd)}
/* the home process rows carry a portrait thumbnail; the other lists do not */
.row--thumb{grid-template-columns:88px 120px 1fr auto}
.row:last-child{border-bottom:1px solid var(--c-bd)}
.row__badge{display:flex;flex-direction:column;align-items:center;gap:2px}
.row__badge em{font-style:normal;font-family:var(--ff-sans);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--c-tertiary)}
.row__badge b{font-family:var(--ff-serif);font-size:34px;font-weight:400;line-height:1;color:var(--c-heading)}
.row__thumb{width:120px;aspect-ratio:8/10;overflow:hidden;background:var(--c-alternate)}
.row__thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s ease-in-out}
.row:hover .row__thumb img{filter:grayscale(0)}
.row__body{display:flex;flex-direction:column;gap:9px;min-width:0}
.row__desc{margin:0;font-size:var(--t-body);color:var(--c-text);max-width:620px}
.row__meta{font-family:var(--ff-sans);font-size:var(--t-meta);letter-spacing:1px;text-transform:uppercase;color:var(--c-accent)}

/* ==========================================================================
   8/9 — SPLIT PANELS (100vh; one light, one dark; "+" bullets)
   ========================================================================== */
.split{display:flex;min-height:calc(100vh - 90px)}
.split--rev{flex-direction:row-reverse}
.split__media{flex:1 1 50%;background-size:cover;background-position:center top;min-height:460px}
.split__body{flex:1 1 50%;display:flex;align-items:center;justify-content:center;padding:90px clamp(34px,5vw,80px);background:var(--c-bg)}
.split__body--dark{background:var(--c-primary)}
.split__inner{display:flex;flex-direction:column;gap:26px;max-width:460px;width:100%}
.split__body--dark .t-h2,.split__body--dark .t-h2sans,.split__body--dark .t-h3{color:#fff}
.split__body--dark p{color:rgba(255,255,255,.62)}
.split__body--dark .cmsmasters-theme-button{border-color:#fff;color:#fff}
.split__body--dark .cmsmasters-theme-button::before{background:transparent}
.split__body--dark .cmsmasters-theme-button::after{background:#fff}
.split__body--dark .cmsmasters-theme-button:hover{color:var(--c-primary)}
.split__list li{display:flex;align-items:baseline;gap:14px;padding:9px 0;font-family:var(--ff-sans);font-size:var(--t-tag);letter-spacing:.5px;text-transform:uppercase;color:var(--c-heading)}
.split__body--dark .split__list li{color:rgba(255,255,255,.78)}
.split__list li::before{content:"+";color:var(--c-tertiary);font-size:14px;line-height:1;flex:none}

/* ==========================================================================
   10 — TESTIMONIALS (48px italic serif, avatar above, square nav)
   ========================================================================== */
.reviews{background:var(--c-alternate);padding:120px var(--gutter);margin-bottom:var(--sec-mb-sm)}
.reviews__stage{display:flex;flex-direction:column;align-items:center;gap:30px;text-align:center;max-width:840px;margin:0 auto}
.reviews__slide{display:none;flex-direction:column;align-items:center;gap:30px;width:100%}
.reviews__slide.cmsmasters-show{display:flex;animation:fade .6s ease-in-out}
@keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.reviews__avatar{width:78px;height:78px;border-radius:50%;object-fit:cover;filter:grayscale(1)}
.reviews__author{display:flex;flex-direction:column;gap:5px}
.reviews__name{font-family:var(--ff-sans);font-size:var(--t-h5,18px);font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--c-heading)}
.reviews__co{font-size:15px;color:var(--c-text)}
.reviews__nav{display:flex;justify-content:center;gap:8px;margin-top:44px}

/* ==========================================================================
   11 — COUNTERS (measured: Public Sans 44px, no boxes, 4 across)
   ========================================================================== */
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.elementor-counter{text-align:center}
.elementor-counter-number-wrapper{font-family:var(--ff-sans);font-weight:400;font-size:var(--t-counter);line-height:1.2;letter-spacing:-1px;text-transform:uppercase;color:var(--c-primary)}
.elementor-counter-title{margin-top:8px;font-size:15px;font-weight:300;color:var(--c-text);line-height:1.6}

/* ==========================================================================
   12 — CTA CARDS (image + italic serif title below, no overlay)
   ========================================================================== */
.ctas__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.cta__media{aspect-ratio:14/10;overflow:hidden;background:var(--c-alternate)}
.cta__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.cta:hover .cta__media img{transform:scale(1.05)}
.cta__body{padding:26px 0 0;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.cta__desc{margin:0;font-size:var(--t-body);color:var(--c-text)}

/* ==========================================================================
   13 — INSTAGRAM STRIP (dark band, square tiles)
   ========================================================================== */
.insta{background:var(--c-primary);padding:70px 0 var(--sec-mb)}
.insta__head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}
.insta__head h2{color:#fff;font-size:var(--t-h3)}
/* six tiles divide evenly at every breakpoint (6 / 3 / 2) so no row is left
   half-empty, and the strip stays one row on desktop */
.insta__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.insta__cell{display:block;aspect-ratio:1;overflow:hidden}
.insta__cell img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s ease-in-out,transform .8s ease-in-out}
.insta__cell:hover img{filter:grayscale(0);transform:scale(1.06)}

/* ==========================================================================
   14 — CALLBACK (inline field + button on one row, like the mailchimp block)
   ========================================================================== */
.callback .e-con-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.callback__lead{margin:0}
.cmsmasters-form{display:flex;flex-direction:column;gap:20px}
.cmsmasters-form__group{display:flex;flex-direction:column;gap:7px}
.cmsmasters-form__label{font-family:var(--ff-sans);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--c-accent)}
.cmsmasters-form input,.cmsmasters-form select,.cmsmasters-form textarea{
  width:100%;padding:16px 0;background:transparent;border:0;border-bottom:1px solid var(--c-bd);border-radius:0;
  color:var(--c-heading);font-family:var(--ff-sans);font-size:var(--t-body);font-weight:300;
  transition:border-color .3s ease-in-out;-webkit-appearance:none;appearance:none;
}
.cmsmasters-form select option{color:#000}
.cmsmasters-form input::placeholder,.cmsmasters-form textarea::placeholder{color:var(--c-accent)}
.cmsmasters-form input:focus,.cmsmasters-form select:focus,.cmsmasters-form textarea:focus{outline:none;border-bottom-color:var(--c-primary)}
.cmsmasters-form .cmsmasters-theme-button{align-self:flex-start;margin-top:12px}
.cmsmasters-form__note{font-size:13px;color:var(--c-accent);margin:0}
.cmsmasters-form__ok{display:none;padding:20px;border:1px solid var(--c-tertiary);color:var(--c-heading);font-size:15px}
.cmsmasters-form__ok.cmsmasters-show{display:block}
.callback__info{display:flex;flex-direction:column;gap:12px;margin-top:34px}
.callback__info a,.callback__info span{font-family:var(--ff-sans);font-size:var(--t-meta);letter-spacing:1px;text-transform:uppercase;color:var(--c-heading)}
.callback__info a:hover{color:var(--c-tertiary)}

/* ==========================================================================
   FOOTER — Elementor theme-builder template (demo post #158)
   measured: section bg var(--e-global-color-primary) = #000, padding
   30px 30px 50px; row1 = 6-image gallery (h 213);
   row2 = logo + 590px info block (heading / icon-list / social 20px gap 20);
   row3 = nav menu + copyright at rgba(255,255,255,.6); scroll-top 44x52
   bg #272626, icon 14px pad 15px, hover bg tertiary.
   ========================================================================== */
.cmsmasters-footer{background:var(--c-primary);color:rgba(255,255,255,.62);padding:30px 30px 50px}
.cmsmasters-footer__inner{max-width:var(--content);margin:0 auto;display:flex;flex-direction:column;gap:60px}
/* row 1 — gallery strip */
.cmsmasters-footer-top{display:flex;flex-direction:column;gap:22px}
.elementor-widget-cmsmasters-button__button{display:inline-flex;align-items:center;gap:10px;padding:0;background:transparent;border:0;cursor:pointer;
  font-family:var(--ff-sans);font-size:var(--t-h5);font-weight:500;letter-spacing:.5px;line-height:1.45;text-transform:uppercase;color:#fff}
.elementor-widget-cmsmasters-button__button svg{width:20px;height:20px;fill:currentColor}
.elementor-widget-cmsmasters-button__button:hover{color:var(--c-tertiary)}
.elementor-widget-cmsmasters-gallery__container{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.e-gallery-item{display:block;aspect-ratio:1;overflow:hidden;background:#111}
.e-gallery-image{display:block;width:100%;height:100%;background-size:cover;background-position:center;filter:grayscale(1);transition:filter .5s ease-in-out,transform .8s ease-in-out}
.e-gallery-item:hover .e-gallery-image{filter:grayscale(0);transform:scale(1.06)}
/* row 2 — logo + info */
.cmsmasters-footer-mid{display:flex;align-items:flex-start;justify-content:space-between;gap:50px;flex-wrap:wrap}
.cmsmasters-footer-logo .cmsmasters-logo-wordmark{color:#fff;font-size:26px}
.cmsmasters-footer-info{width:590px;max-width:100%;display:flex;flex-direction:column;gap:18px}
.cmsmasters-footer-info .elementor-heading-title{margin:0;font-size:var(--t-body);line-height:1.65;color:#fff;font-weight:300}
.cmsmasters-footer-info .elementor-heading-title b{font-weight:500;display:block;margin-bottom:4px}
.cmsmasters-widget-icon-list-items{display:flex;flex-direction:column;gap:8px}
.cmsmasters-widget-icon-list-item-text a{font-size:var(--t-body);color:rgba(255,255,255,.62);letter-spacing:.2px}
.cmsmasters-widget-icon-list-item-text a:hover{color:var(--c-tertiary)}
.elementor-social-icons-wrapper{display:flex;gap:20px;margin-top:6px}
.elementor-social-icons-wrapper .elementor-icon{display:inline-flex;color:#fff}
.elementor-social-icons-wrapper .elementor-icon svg{width:20px;height:20px;fill:currentColor}
.elementor-social-icons-wrapper .elementor-icon:hover{color:var(--c-tertiary)}
/* row 3 — menu + copyright */
.cmsmasters-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.12);padding-top:26px}
.cmsmasters-footer-nav .elementor-widget-cmsmasters-nav-menu__container-inner{gap:24px;flex-wrap:wrap}
.cmsmasters-footer-nav .elementor-widget-cmsmasters-nav-menu__dropdown-item{padding:0;font-size:var(--t-meta);letter-spacing:1px;color:#fff}
.cmsmasters-footer-nav .elementor-widget-cmsmasters-nav-menu__dropdown-item::after{display:none}
.cmsmasters-footer-nav .elementor-widget-cmsmasters-nav-menu__dropdown-item:hover{color:var(--c-tertiary)}
.cmsmasters-footer-copyright{display:flex;gap:8px;flex-wrap:wrap;font-size:14px;color:rgba(255,255,255,.6)}
.cmsmasters-footer-copyright a{color:rgba(255,255,255,.6)}
.cmsmasters-footer-copyright a:hover{color:var(--c-tertiary)}
/* scroll to top — measured: icon 14px, padding 15px, bg secondary, hover tertiary */
.cmsmasters-scroll-top{position:fixed;right:20px;bottom:20px;z-index:65;width:44px;height:44px;border:0;background:var(--c-secondary);
  color:#fff;cursor:pointer;opacity:0;pointer-events:none;transition:.3s;border-radius:0;display:flex;align-items:center;justify-content:center}
.cmsmasters-scroll-top svg{width:14px;height:14px;fill:currentColor}
.cmsmasters-scroll-top.cmsmasters-show{opacity:1;pointer-events:auto}
.cmsmasters-scroll-top:hover{background:var(--c-tertiary);color:#fff}
.cmsmasters-wa-float{position:fixed;left:20px;bottom:20px;z-index:65;display:inline-flex;align-items:center;gap:9px;padding:13px 20px;background:#1FA855;color:#fff;font-family:var(--ff-sans);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:opacity .3s ease-in-out,transform .3s ease-in-out}
.cmsmasters-wa-float:hover{background:#17843f;color:#fff}
.cmsmasters-wa-float.cmsmasters-hide{opacity:0;pointer-events:none;transform:translateY(14px)}
.cmsmasters-wa-float .wa-mark{display:none}

/* ---------- reveal (one-shot, safe without JS) ---------- */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .85s ease-in-out,transform .85s ease-in-out}
[data-reveal].is-in{opacity:1;transform:none}
.no-js [data-reveal],@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important}}

/* ==========================================================================
   RESPONSIVE — theme breakpoints 1024 / 767
   ========================================================================== */
@media (max-width:1360px){
  :root{--t-h1:60px;--t-h2:48px;--t-h3:36px;--t-cardtitle:28px;--t-quote:36px;--sec-mb:110px;--sec-mb-sm:90px}
}
@media (max-width:1024px){
  :root{--gutter:26px;--t-h1:52px;--t-h2:42px;--t-h3:32px;--t-cardtitle:26px;--t-quote:30px;--sec-mb:90px;--sec-mb-sm:76px}
  .elementor-widget-cmsmasters-nav-menu__container-inner{gap:16px}
  .cmsmasters-header-bar{padding:15px 26px}
  .cats__grid,.roster__grid{grid-template-columns:repeat(2,1fr)}
  .stats__grid{grid-template-columns:repeat(2,1fr);gap:50px 30px}
  .ctas__grid{grid-template-columns:1fr;gap:56px}
  .work__item{flex:0 0 calc(50% - 10px)}
  .split{flex-direction:column;min-height:0}
  .split--rev{flex-direction:column}
  .split__media{min-height:60vh;flex:0 0 60vh}
  .callback .e-con-inner{grid-template-columns:1fr;gap:56px}
  .cmsmasters-footer-info{width:100%}
  .insta__grid{grid-template-columns:repeat(3,1fr)}
  .row,.row--thumb{grid-template-columns:70px 1fr;gap:22px 24px}
  .row__thumb{display:none}
  .row__cta{grid-column:1 / -1}
}
/* eight top-level items need ~1180px; below that the theme's burger takes over */
@media (max-width:1320px){
  .cmsmasters-header-bar{padding:15px 30px}
  .cmsmasters-header-position-absolute-yes .cmsmasters-header-bar{padding:25px 30px}
  .elementor-widget-cmsmasters-nav-menu__container-inner{gap:18px}
  .cmsmasters-header-bar__row{gap:20px}
  .cmsmasters-header-bar__tools{gap:18px}
}
@media (max-width:1180px){
  .cmsmasters-header-bar__nav{display:none}
  .elementor-widget-cmsmasters-nav-menu__toggle{display:flex}
}
@media (max-width:767px){
  :root{--t-h1:42px;--t-h2:34px;--t-h3:27px;--t-cardtitle:23px;--t-quote:25px;--t-counter:36px;--gutter:20px;--sec-mb:70px;--sec-mb-sm:60px;--t-body:16px}
  .cmsmasters-logo-wordmark{font-size:19px}
  .cats__grid,.roster__grid{grid-template-columns:1fr}
  .work__item{flex:0 0 78%}
  .hero{min-height:78vh;padding:80px 20px}
  .hero__mark{width:44px;height:44px}
  .hero__mark--tl,.hero__mark--bl{left:20px}.hero__mark--tr,.hero__mark--br{right:20px}
  .hero__mark--tl,.hero__mark--tr{top:20px}.hero__mark--bl,.hero__mark--br{bottom:20px}
  .hero__cities li{padding:0 14px}
  .marquee__item{font-size:19px}
  /* 2 columns at phone width: 172px tiles instead of 110px, and 6 divides evenly */
  .insta__grid{grid-template-columns:repeat(2,1fr);gap:8px}
  /* was 30+34/50+34 double padding + 60px gaps → 920px tall. One gutter, tightened rhythm. */
  .cmsmasters-footer{padding:0}
  .cmsmasters-footer__inner{flex-direction:column;text-align:center;gap:32px;padding:44px var(--gutter) 46px}
  .cmsmasters-footer-top{gap:14px;align-items:center}
  /* align-items:center makes the grid's cross-size intrinsic — 1fr columns have none, so pin the width.
     110px cap: at 517 the 1fr tiles grew to 155px and the strip alone was 316px tall. */
  .cmsmasters-footer-top .elementor-widget-cmsmasters-gallery__container{width:100%;
    grid-template-columns:repeat(3,minmax(0,110px));justify-content:center}
  .cmsmasters-footer-mid{flex-direction:column;align-items:center;gap:16px}
  .cmsmasters-footer-info{gap:14px}
  .cmsmasters-footer-info .elementor-heading-title{line-height:1.5}
  .cmsmasters-wa-float{padding:0;width:48px;height:48px;border-radius:50%;justify-content:center}
  .cmsmasters-wa-float .wa-label{display:none}
  .cmsmasters-wa-float .wa-mark{display:block;font-weight:600;font-size:13px}
  .split__body{padding:64px 22px}
  .row,.row--thumb{grid-template-columns:1fr;gap:16px}
  .row__badge{flex-direction:row;gap:10px;align-items:baseline}
  /* footer links were 19-21px tall — impossible to hit reliably on a phone */
  .cmsmasters-footer-bottom{flex-direction:column;align-items:center;gap:14px;padding-top:22px}
  .cmsmasters-footer-nav .elementor-widget-cmsmasters-nav-menu__container-inner{gap:2px 22px;justify-content:center}
  .cmsmasters-footer-nav a{display:inline-block;padding:12px 0;min-height:44px}
  /* 20px glyph spacing preserved (10+10 padding) while the hit area grows to 40x44.
     Scoped: .author-box on post pages reuses the same wrapper class. */
  .cmsmasters-footer .elementor-social-icons-wrapper{gap:0;justify-content:center;margin-top:2px}
  .cmsmasters-footer .elementor-social-icons-wrapper .elementor-icon{padding:12px 10px}
}

/* ==========================================================================
   INNER PAGE HEAD — measured from the demo's inner pages (post-45243 models,
   post-44666 services-page, post-37139 contacts). Full-bleed black section,
   featured image cover + flat 0.3 overlay, column flex gap 40, align-items
   flex-start, padding 340/290, margin-bottom 120. Contacts uses the
   min-height:900 / justify-content:center variant with an absolutely placed
   270px info column and a small outline button.
   ========================================================================== */
.cmsmasters-heading{position:relative;overflow:hidden;background:var(--c-primary);padding:340px var(--gutter) 290px;margin-bottom:var(--sec-mb-inner)}
.cmsmasters-heading__media{position:absolute;inset:0}
.cmsmasters-heading__media img{width:100%;height:100%;object-fit:cover}
.cmsmasters-heading__media::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.3)}
.cmsmasters-heading__inner{position:relative;z-index:2;width:100%;max-width:var(--content);margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:40px}
.cmsmasters-heading__col{display:flex;flex-direction:column;align-items:flex-start;gap:40px;max-width:590px}
.cmsmasters-heading .t-h1{color:#fff;font-size:var(--t-h1);margin:0}
.cmsmasters-heading__lead{margin:0;max-width:590px;font-size:21px;line-height:1.35;color:#fff}
.cmsmasters-heading--tall{display:flex;align-items:center;padding-top:0;padding-bottom:0;min-height:900px}
.cmsmasters-heading__aside{position:absolute;right:70px;bottom:70px;width:270px;z-index:3}
.cmsmasters-heading__aside p{margin:0 0 20px;font-size:17px;line-height:1.45;color:rgba(255,255,255,.72)}
.cmsmasters-heading .cmsmasters-button-link{display:inline-block;padding:13px 40px;border:1px solid #f7f8f2;border-radius:0;background:transparent;color:#f7f8f2;font-family:var(--ff-sans);font-size:13px;font-weight:600;line-height:1.75;letter-spacing:1px;text-transform:uppercase;text-decoration:none;transition:background .25s ease,color .25s ease}
.cmsmasters-heading .cmsmasters-button-link:hover{background:#f7f8f2;color:var(--c-primary)}
/* /blog-page/ variant: padding 200/200, centred title, breadcrumb row below */
.cmsmasters-heading--short{padding:200px var(--gutter)}
.cmsmasters-heading--short .cmsmasters-heading__inner{gap:20px}
.cmsmasters-heading--center .cmsmasters-heading__inner{align-items:center}
.cmsmasters-heading--center .cmsmasters-heading__col{align-items:center;gap:20px}
.cmsmasters-heading--center .cmsmasters-heading__lead{text-align:center}
.cmsmasters-heading__crumb{display:flex;justify-content:center}
.cmsmasters-widget-breadcrumbs__content{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--ff-sans);font-size:15px;color:rgba(255,255,255,.6)}
.cmsmasters-widget-breadcrumbs__content a{color:rgba(255,255,255,.6);text-decoration:none}
.cmsmasters-widget-breadcrumbs__content a:hover{color:#fff}
.cmsmasters-widget-breadcrumbs__sep{color:rgba(255,255,255,.35)}
.cmsmasters-widget-breadcrumbs__content > span:last-child{color:#fff}

/* ---------- service-detail split hero (demo: photo | black panel) ---------- */
.dhero{display:flex;min-height:420px}
.dhero__media{flex:1 1 50%;min-height:340px;background-size:cover;background-position:center top}
.dhero__panel{flex:1 1 50%;background:var(--c-primary);display:flex;align-items:center;justify-content:center;padding:70px clamp(30px,5vw,70px)}
.dhero__inner{display:flex;flex-direction:column;gap:20px;align-items:center;text-align:center;max-width:380px}
.dhero__inner .t-h1{color:#fff;font-size:clamp(30px,3.4vw,46px)}
.dhero__inner p{color:rgba(255,255,255,.66);margin:0;font-size:16px}
.dhero .cmsmasters-theme-button{border-color:#fff;color:#fff;margin-top:8px}
.dhero .cmsmasters-theme-button::before{background:transparent;opacity:1}
.dhero .cmsmasters-theme-button::after{background:#fff}
.dhero .cmsmasters-theme-button:hover{color:var(--c-primary)}
@media (max-width:1024px){.dhero{flex-direction:column}.dhero__media{min-height:46vh;flex:0 0 46vh}}

/* ---------- about + sidebar two column ---------- */
.side-aside{position:sticky;top:110px;display:flex;flex-direction:column;gap:22px}

/* ---------- portrait card grid (services / roster) ---------- */
.pcard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.pcard-grid--4{grid-template-columns:repeat(4,1fr);gap:20px}
.pcard{display:flex;flex-direction:column;gap:0}
.pcard__media{aspect-ratio:8/10;overflow:hidden;background:var(--c-alternate);margin-bottom:8%}
.pcard__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.pcard:hover .pcard__media img{transform:scale(1.05)}
.pcard__body{padding:22px 0 0;display:flex;flex-direction:column;gap:9px}
.pcard__label{font-family:var(--ff-sans);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--c-accent)}
.pcard__desc{margin:0;font-size:15px;line-height:1.65;color:var(--c-text)}
@media (max-width:1024px){.pcard-grid{grid-template-columns:repeat(2,1fr);gap:30px 20px}.pcard-grid--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){.pcard-grid,.pcard-grid--4{grid-template-columns:1fr}}

/* ---------- roster: B/W portraits, name below (demo MODELS page) ---------- */
.talent__name{margin-top:18px}
.talent__role{margin-top:4px}

/* ---------- gallery 4-up ---------- */
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.gal-grid figure{margin:0;aspect-ratio:1;overflow:hidden;background:var(--c-alternate)}
.gal-grid img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.gal-grid figure:hover img{transform:scale(1.05)}
@media (max-width:767px){.gal-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- testimonial cards (demo SUCCESS STORIES) ---------- */
.tcard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.tcard{padding:34px 28px;background:var(--c-alternate);display:flex;flex-direction:column;gap:22px}
.tcard blockquote{margin:0;font-size:15px;line-height:1.7;color:var(--c-heading);font-weight:400}
.tcard__who{display:flex;align-items:center;gap:14px;margin-top:auto}
.tcard__who img{width:44px;height:44px;border-radius:50%;object-fit:cover;filter:grayscale(1)}
.tcard__who strong{display:block;font-family:var(--ff-sans);font-size:var(--t-meta);font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--c-heading)}
.tcard__who span{font-size:13px;color:var(--c-text)}
@media (max-width:1024px){.tcard-grid{grid-template-columns:1fr}}

/* ---------- locations (demo CONTACTS "ALL LOCATIONS") ---------- */
.loc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--c-bd);border:1px solid var(--c-bd)}
.loc{background:var(--c-bg);padding:34px 30px;display:flex;flex-direction:column;gap:16px}
.loc h3{font-family:var(--ff-serif);font-size:var(--t-cardtitle);line-height:1.22;letter-spacing:-.2px;color:var(--c-heading)}
.loc dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}
.loc dt{font-family:var(--ff-sans);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--c-accent);margin-bottom:6px}
.loc dd{margin:0;font-size:15px;color:var(--c-heading);line-height:1.6}
.loc .cmsmasters-theme-button{align-self:flex-start;margin-top:6px;padding:12px 26px}
@media (max-width:767px){.loc-grid{grid-template-columns:1fr}.loc dl{grid-template-columns:1fr}}

/* ---------- consultation split ------------------------------------------
   measured on the demo's /services/model-management/: 1280 inner, 755px
   #F7F8F2 panel (padding 20px 100px, gap 40, content 555) beside a 525px
   photo that stretches to the panel height. Fields are Forminator rows:
   two col-6 (293px, 15px gutter) per line, col-12 for the textarea. */
.consult{padding:0 var(--gutter);margin-bottom:var(--sec-mb)}
.consult__inner{display:grid;grid-template-columns:755fr 525fr;max-width:1280px;margin:0 auto;align-items:stretch}
.consult__panel{background:var(--c-alternate);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:40px;padding:20px 100px}
.consult__panel > *{width:100%;max-width:555px}
.consult__panel .t-h2{text-align:left;margin:0}
.consult__lead{margin:0;color:var(--c-text)}
.consult__media{background-size:cover;background-position:center;min-height:605px}
.forminator-row{display:flex;flex-wrap:wrap;margin:0 -15px}
.consult .cmsmasters-form{gap:0}
.consult .cmsmasters-form .cmsmasters-theme-button{margin-top:0}
.forminator-row + .forminator-row{margin-top:20px}
.forminator-row-last{margin-top:40px}
.forminator-col{padding:0 15px;min-width:0}
.forminator-col-6{width:50%}
.forminator-col-12{width:100%}
.forminator-field{display:flex;flex-direction:column}
.cmsmasters-hidden-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.forminator-field input,.forminator-field select,.forminator-field textarea{width:100%;padding:16px 0;border:0;border-bottom:1px solid var(--c-bd);border-radius:0;background:transparent;font-family:var(--ff-sans);font-size:17px;line-height:1.4;color:var(--c-heading)}
.forminator-field textarea{min-height:96px;resize:vertical}
.forminator-field input::placeholder,.forminator-field textarea::placeholder{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--c-accent)}
.forminator-field select{appearance:none;-webkit-appearance:none;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--c-accent);cursor:pointer}
.forminator-field select option{font-size:15px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--c-heading)}
.forminator-field select.filled{font-size:17px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--c-heading)}
.forminator-field input:focus,.forminator-field select:focus,.forminator-field textarea:focus{outline:none;border-bottom-color:var(--c-primary)}
.forminator-field .cmsmasters-theme-button{border:1px solid var(--c-primary)}
@media (max-width:1024px){
  .consult__inner{grid-template-columns:1fr}
  .consult__panel{padding:70px 60px}
  .consult__media{min-height:420px;order:-1}
}
@media (max-width:767px){
  .consult__panel{padding:50px 30px;gap:30px}
  .forminator-col-6{width:100%}
  .forminator-row + .forminator-row{margin-top:0}
}


/* ==========================================================================
   BLOG — listing measured on /light/blog-page/, single post on
   /light/why-professional-portfolios-matter-for-commercial-models/.
   Listing: 1280 grid, 3 columns of 400px, row gap 60 / column gap 40;
   card = 3:2 image, meta row, Bodoni Moda 32px title, 17px excerpt.
   Post: #F7F8F2 head with centred 76px uppercase serif title, 1280x720
   cover, 800px body column, tags, author box, comments.
   ========================================================================== */
.cmsmasters-blog{max-width:1280px;margin:0 auto}
.cmsmasters-blog__posts{display:grid;grid-template-columns:repeat(3,1fr);gap:60px 40px}
.cmsmasters-blog__post-inner{display:flex;flex-direction:column}
.cmsmasters-widget-image__wrap{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--c-alternate)}
.cmsmasters-widget-image__wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease-in-out}
.cmsmasters-blog__post:hover .cmsmasters-widget-image__wrap img{transform:scale(1.04)}
.cmsmasters-meta-data{display:flex;align-items:center;gap:12px;margin-top:15px;font-family:var(--ff-sans);font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--c-accent)}
.cmsmasters-meta-data .term{color:var(--c-tertiary);text-decoration:none}
.cmsmasters-meta-data .term:hover{color:var(--c-heading)}
.cmsmasters-blog__post .entry-title{margin:12px 0 0;font-family:var(--ff-serif);font-weight:400;font-size:var(--t-cardtitle);line-height:1.22;letter-spacing:-.2px;color:var(--c-heading)}
.cmsmasters-blog__post .entry-title a{color:inherit;text-decoration:none}
.cmsmasters-blog__post .entry-title a:hover{color:var(--c-tertiary)}
.cmsmasters-blog__post .entry-content{margin-top:12px}
.cmsmasters-blog__post .entry-content p{margin:0;font-size:var(--t-body);line-height:1.65;color:var(--c-text)}
.blog-filter{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin-bottom:50px;font-family:var(--ff-sans);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase}
.blog-filter a{color:var(--c-accent);text-decoration:none;padding:14px 2px;border-bottom:1px solid transparent}
.blog-filter a:hover,.blog-filter a.current{color:var(--c-heading);border-bottom-color:var(--c-tertiary)}

/* ---------- single post ---------- */
.post-head{background:var(--c-alternate);padding:150px var(--gutter) 0;margin-bottom:0}
.post-head__inner{max-width:1280px;margin:0 auto;text-align:center}
.post-head .cat-chip{font-family:var(--ff-sans);font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--c-heading)}
.post-head .entry-title{margin:22px auto 0;max-width:1280px;font-family:var(--ff-serif);font-weight:400;font-size:var(--t-h1);line-height:1.1;letter-spacing:-.5px;text-transform:uppercase;color:var(--c-heading)}
.post-head .entry-content{margin:26px auto 0;max-width:800px;font-size:21px;line-height:1.5;color:var(--c-text)}
.post-author-line{display:flex;align-items:center;justify-content:center;gap:14px;margin:30px 0 0;font-family:var(--ff-sans);font-size:14px;color:var(--c-text)}
.post-author-line .cat-chip a{color:inherit;text-decoration:none}
.avatar-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--c-primary);color:#fff;font-family:var(--ff-serif);font-size:14px;letter-spacing:.5px;flex:none}
.avatar-mark b{font-weight:400;color:var(--c-tertiary)}
.avatar-mark--lg{width:200px;height:200px;border-radius:0;font-size:64px;letter-spacing:-3px}
.post-cover{width:min(1280px,100% - 2*var(--gutter));margin:0 auto}
.post-cover img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.post-body{width:min(800px,100% - 2*var(--gutter));margin:0 auto;padding-top:70px;position:relative}
/* left-gutter share rail, as the demo's post template renders it */
.elementor-widget-cmsmasters-share-buttons__wrapper{display:flex;flex-direction:row;gap:0}
.cmsmasters-share-buttons__item{padding:3.5px}
.elementor-widget-cmsmasters-share-buttons__item-inner{display:block;width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer}
.elementor-widget-cmsmasters-share-buttons__btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--c-primary);color:#fff;transition:background .25s ease-in-out}
.elementor-widget-cmsmasters-share-buttons__btn:hover{background:var(--c-tertiary)}
.elementor-widget-cmsmasters-share-buttons__item-inner[data-copied] .elementor-widget-cmsmasters-share-buttons__btn{background:var(--c-tertiary)}
.elementor-widget-cmsmasters-share-buttons__btn svg{width:16px;height:16px;fill:currentColor}
.post-content > .elementor-widget-cmsmasters-share-buttons{margin-bottom:30px}
@media (min-width:1024px){
  /* the demo's rail top is flush with the first body line, i.e. below .post-body's 70px pad */
  .post-content > .elementor-widget-cmsmasters-share-buttons{position:absolute;top:70px;margin-bottom:0;
    left:calc(-1 * clamp(66px,(100vw - 800px)/4,182px))}
  .elementor-widget-cmsmasters-share-buttons__wrapper{flex-direction:column}
}
.post-body p{margin:0 0 24px;font-size:17px;line-height:1.75;color:var(--c-text)}
.post-body h2{margin:40px 0 20px;font-family:var(--ff-serif);font-weight:400;font-size:32px;line-height:1.22;letter-spacing:-.2px;color:var(--c-heading)}
.post-body > .post-content > h2:first-child,.post-body h2.first{margin-top:0}
.post-body ul,.post-body ol{margin:0 0 24px;padding-left:22px}
.post-body ul{list-style:disc}
.post-body ol{list-style:decimal}
.post-body li{margin-bottom:10px;font-size:17px;line-height:1.7;color:var(--c-text)}
.post-body li::marker{color:var(--c-tertiary)}
.post-body blockquote{margin:36px 0;padding-left:26px;border-left:2px solid var(--c-tertiary)}
.post-body blockquote p{margin:0;font-family:var(--ff-serif);font-size:24px;line-height:1.45;color:var(--c-heading)}
/* inline photography, as the demo's own articles interleave it */
.post-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:36px 0}
.post-pair img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1)}
.post-figure{float:right;width:344px;margin:6px 0 24px 32px}
.post-figure img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;filter:grayscale(1)}
.post-figure figcaption{margin-top:12px;font-family:var(--ff-sans);font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--c-accent)}
.post-body::after{content:"";display:block;clear:both}
.post-tags{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:54px;font-family:var(--ff-sans);font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--c-heading)}
.post-tags .term{color:var(--c-text);text-decoration:none}
.post-tags .term:hover{color:var(--c-tertiary)}
.author-box{background:var(--c-alternate);margin-top:70px;padding:50px}
.author-box__inner{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start}
.author-box h4{margin:0 0 16px;font-family:var(--ff-serif);font-weight:400;font-size:32px;line-height:1.2;letter-spacing:-.2px;color:var(--c-heading)}
.author-box p{margin:0 0 22px;font-size:17px;line-height:1.7;color:var(--c-text)}
.author-box .elementor-social-icons-wrapper{display:flex;gap:14px}
.author-box .elementor-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--c-primary);color:#fff;text-decoration:none;transition:background .25s ease-in-out}
.author-box .elementor-icon:hover{background:var(--c-tertiary)}
.author-box .elementor-icon svg{width:16px;height:16px;fill:currentColor}
/* previous / next — widget cmsmasters-post-navigation */
.post-nav{max-width:800px;margin:0 auto}
.elementor-widget-cmsmasters-post-navigation__wrap{display:flex;align-items:stretch}
.elementor-widget-cmsmasters-post-navigation__prev,
.elementor-widget-cmsmasters-post-navigation__next{flex:1 1 50%;min-width:0}
.elementor-widget-cmsmasters-post-navigation__link a{display:flex;align-items:center;gap:20px;
  padding:20px 24px;text-decoration:none;color:inherit}
.elementor-widget-cmsmasters-post-navigation__next a{flex-direction:row-reverse;text-align:right}
.elementor-widget-cmsmasters-post-navigation__link img{width:140px;height:140px;object-fit:cover;flex:none;
  filter:grayscale(1);transition:filter .5s ease-in-out}
.elementor-widget-cmsmasters-post-navigation__link:hover img{filter:grayscale(0)}
.elementor-widget-cmsmasters-post-navigation__link-prev,
.elementor-widget-cmsmasters-post-navigation__link-next{min-width:0}
.elementor-widget-cmsmasters-post-navigation__prev-label,
.elementor-widget-cmsmasters-post-navigation__next-label{display:block;font-family:var(--ff-sans);
  font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--c-accent)}
.elementor-widget-cmsmasters-post-navigation__prev-title,
.elementor-widget-cmsmasters-post-navigation__next-title{display:block;margin-top:8px;font-family:var(--ff-serif);
  font-size:20px;line-height:1.3;color:var(--c-heading);transition:color .25s ease-in-out}
.elementor-widget-cmsmasters-post-navigation__link:hover .elementor-widget-cmsmasters-post-navigation__prev-title,
.elementor-widget-cmsmasters-post-navigation__link:hover .elementor-widget-cmsmasters-post-navigation__next-title{color:var(--c-tertiary)}
.elementor-widget-cmsmasters-post-navigation__separator-wrapper{display:flex;align-items:center;flex:none}
.elementor-widget-cmsmasters-post-navigation__separator{width:1px;height:140px;background:var(--c-bd)}
@media (max-width:767px){
  .elementor-widget-cmsmasters-post-navigation__wrap{flex-direction:column}
  .elementor-widget-cmsmasters-post-navigation__link img{width:92px;height:92px}
  .elementor-widget-cmsmasters-post-navigation__next a{text-align:left;flex-direction:row}
  .elementor-widget-cmsmasters-post-navigation__separator-wrapper{padding:0 24px}
  .elementor-widget-cmsmasters-post-navigation__separator{width:100%;max-width:260px;height:1px}
}

@media (max-width:1024px){
  .cmsmasters-blog__posts{grid-template-columns:repeat(2,1fr);gap:44px 30px}
  .author-box__inner{grid-template-columns:140px minmax(0,1fr);gap:26px}
  .avatar-mark--lg{width:140px;height:140px;font-size:46px}
  .post-figure{width:300px;margin:4px 0 22px 26px}
}
@media (max-width:767px){
  .cmsmasters-blog__posts{grid-template-columns:1fr;gap:44px}
  .post-head{padding-top:120px}
  .post-head .entry-content{font-size:19px}
  .post-pair{gap:14px;margin:28px 0}
  .post-figure{float:none;width:100%;margin:28px 0}
  .author-box{padding:30px 24px}
  .author-box__inner{grid-template-columns:1fr}
  .avatar-mark--lg{width:120px;height:120px;font-size:40px}
}

/* ---------- article / content blocks ---------- */
.prose{max-width:760px}
.prose p{margin:0 0 1.15em}
.prose h2,.prose h3{margin:1.9em 0 .55em}
.prose h2{font-family:var(--ff-serif);font-size:clamp(28px,3.2vw,42px);line-height:1.14;letter-spacing:-.5px;text-transform:uppercase;color:var(--c-heading)}
.prose h3{font-family:var(--ff-serif);font-size:clamp(21px,2.2vw,28px);line-height:1.28;letter-spacing:-.2px;color:var(--c-heading)}
.prose ul li{position:relative;padding-left:24px;margin-bottom:10px}
.prose ul li::before{content:"";position:absolute;left:0;top:.72em;width:12px;height:1px;background:var(--c-tertiary)}
.prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.two-col--side{grid-template-columns:minmax(0,1fr) 320px;gap:80px}
@media (max-width:1024px){.two-col,.two-col--side{grid-template-columns:1fr;gap:44px}}

/* numbered checklist */
.checklist li{display:grid;grid-template-columns:34px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--c-bd);align-items:start}
.checklist li:first-child{border-top:1px solid var(--c-bd)}
.checklist b{font-family:var(--ff-sans);font-size:var(--t-meta);font-weight:600;letter-spacing:1px;color:var(--c-tertiary)}
.checklist strong{display:block;font-weight:500;color:var(--c-heading);margin-bottom:4px;font-size:16px}
.checklist p{margin:0;font-size:15px;line-height:1.65;color:var(--c-text)}

/* FAQ */
.cmsmasters-faq details{border-bottom:1px solid var(--c-bd);padding:0}
.cmsmasters-faq details:first-child{border-top:1px solid var(--c-bd)}
.cmsmasters-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-family:var(--ff-sans);font-size:17px;font-weight:500;color:var(--c-heading);transition:color .3s ease-in-out}
.cmsmasters-faq summary::-webkit-details-marker{display:none}
.cmsmasters-faq summary:hover{color:var(--c-tertiary)}
.cmsmasters-faq summary::after{content:"+";font-family:var(--ff-serif);font-size:22px;line-height:1;color:var(--c-accent);transition:transform .3s ease-in-out;flex:none}
.cmsmasters-faq details[open] summary::after{content:"\2013"}
.cmsmasters-faq__body{padding:0 0 24px;max-width:720px;color:var(--c-text);font-size:16px;line-height:1.7}

/* spec strip — quick facts under a page head */
.spec{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--c-bd);border:1px solid var(--c-bd)}
.spec div{background:var(--c-bg);padding:26px 22px}
.spec dt{font-family:var(--ff-sans);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--c-accent);margin-bottom:8px}
.spec dd{margin:0;font-family:var(--ff-serif);font-size:24px;letter-spacing:-.2px;color:var(--c-heading)}
@media (max-width:1024px){.spec{grid-template-columns:repeat(2,1fr)}}
/* four stacked 118px rows read as dead space on a phone; 2x2 keeps the strip compact */
@media (max-width:767px){.spec{grid-template-columns:repeat(2,1fr)}.spec div{padding:18px 16px}.spec dd{font-size:20px}}

/* service index (all services, grouped) */
.svc-group{margin-bottom:56px}
.svc-group h3{margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--c-bd)}
.svc-index{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--c-bd);border:1px solid var(--c-bd)}
.svc-index a{background:var(--c-bg);padding:16px 18px;font-size:15px;color:var(--c-heading);display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;transition:background .25s ease-in-out,color .25s ease-in-out}
.svc-index a::after{content:"\2192";font-size:13px;color:var(--c-accent);transition:transform .25s ease-in-out}
.svc-index a:hover{background:var(--c-alternate);color:var(--c-tertiary)}
.svc-index a:hover::after{transform:translateX(3px)}
@media (max-width:1024px){.svc-index{grid-template-columns:repeat(2,1fr)}}
/* 154px cells wrap every label onto three lines; a phone gets one column */
@media (max-width:767px){.svc-index{grid-template-columns:1fr}.svc-index a{padding:15px 18px}}

/* sidebar service list */
.side-card{border:1px solid var(--c-bd);padding:30px 26px;margin-bottom:26px}
.side-card h4{margin-bottom:18px;font-family:var(--ff-sans);font-size:var(--t-meta);font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--c-heading)}
.side-list a{display:block;padding:11px 0;border-bottom:1px solid var(--c-bd);font-size:15px;color:var(--c-text)}
/* no :last-child exception — this list is split with CSS columns, so the global
   last item sits in only one column and dropping its rule looks like a missing line */
.side-list a:hover{color:var(--c-tertiary)}
.side-list a.is-current{color:var(--c-heading);font-weight:500}
.side-cta{background:var(--c-primary);color:#fff;padding:32px 26px}
.side-cta h4{color:#fff}
.side-cta p{font-size:15px;color:rgba(255,255,255,.62);margin:0 0 20px}
.side-cta .cmsmasters-theme-button{border-color:#fff;color:#fff;width:100%;margin-bottom:10px}
.side-cta .cmsmasters-theme-button::before{background:transparent;opacity:1}
.side-cta .cmsmasters-theme-button::after{background:#fff}
.side-cta .cmsmasters-theme-button:hover{color:var(--c-primary)}
.side-cta .cmsmasters-theme-button--wa{border-color:#1FA855;color:#5fd28a}
.side-cta .cmsmasters-theme-button--wa::after{background:#1FA855}
.side-cta .cmsmasters-theme-button--wa:hover{color:#fff}

/* related cards */
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rel-card{display:flex;flex-direction:column;gap:8px;padding:26px;border:1px solid var(--c-bd);transition:border-color .3s ease-in-out,background .3s ease-in-out}
.rel-card:hover{border-color:var(--c-primary);background:var(--c-alternate)}
.rel-card span{font-family:var(--ff-sans);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--c-tertiary)}
.rel-card strong{font-family:var(--ff-serif);font-size:21px;font-weight:400;letter-spacing:0;color:var(--c-heading)}
.rel-card p{margin:0;font-size:14px;line-height:1.6;color:var(--c-text)}
@media (max-width:1024px){.rel-grid{grid-template-columns:1fr}}

/* closing CTA band */
.cta-band{background:var(--c-primary);color:#fff;text-align:center;padding:110px var(--gutter)}
.cta-band .t-h2{color:#fff;max-width:820px;margin:0 auto}
.cta-band p{color:rgba(255,255,255,.6);max-width:560px;margin:22px auto 34px}
.cta-band__row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta-band .cmsmasters-theme-button{border-color:#fff;color:#fff}
.cta-band .cmsmasters-theme-button::before{background:transparent;opacity:1}
.cta-band .cmsmasters-theme-button::after{background:#fff}
.cta-band .cmsmasters-theme-button:hover{color:var(--c-primary)}
.cta-band .cmsmasters-theme-button--wa{border-color:#1FA855;color:#5fd28a}
.cta-band .cmsmasters-theme-button--wa::after{background:#1FA855}
.cta-band .cmsmasters-theme-button--wa:hover{color:#fff}

/* page hero for inner pages that want an image band */
.pagehero{position:relative;min-height:440px;display:flex;align-items:flex-end;overflow:hidden;background:var(--c-alternate)}
.pagehero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pagehero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,22,22,.18) 0%,rgba(24,22,22,.72) 100%)}
.pagehero__inner{position:relative;z-index:2;max-width:var(--content);margin:0 auto;padding:90px var(--gutter) 60px;width:100%}
.pagehero h1{color:#fff;font-size:clamp(34px,4.6vw,58px)}
.pagehero p{color:rgba(255,255,255,.72);max-width:600px;margin:16px 0 0}

/* section utility */
.sec{padding:var(--sec-mb) 0}
.sec--tight{padding:var(--sec-mb-sm) 0}
.sec:last-of-type{padding-bottom:var(--sec-mb)}
.divider{height:1px;background:var(--c-bd);max-width:var(--content);margin:0 auto}
@media (max-width:1024px){.sec{padding:var(--sec-mb-sm) 0}}

/* heading band responsive metrics — declared last on purpose: same specificity as
   the base .cmsmasters-heading rule, so source order decides */
@media (max-width:1024px){
  .cmsmasters-heading{padding:300px 30px 240px;margin-bottom:100px}
  .cmsmasters-heading__inner,.cmsmasters-heading__col{gap:30px}
  .cmsmasters-heading--tall{min-height:700px;flex-direction:column;align-items:flex-start}
  .cmsmasters-heading__aside{right:0;bottom:50px}
}
@media (max-width:767px){
  .cmsmasters-heading{padding:180px 20px 80px;margin-bottom:80px}
  .cmsmasters-heading__inner{gap:20px;justify-content:center;align-items:flex-start}
  /* flex items size to max-content, which pushed the title 34px past the gutter */
  .cmsmasters-heading__col{gap:20px;width:100%;max-width:100%}
  /* the demo's titles are short English phrases; "REFERANSLARIMIZ" is one 15-char
     word and cannot shrink below its own width, so the band drops a step */
  .cmsmasters-heading .t-h1{font-size:36px}
  .cmsmasters-heading__lead{max-width:100%}
  .cmsmasters-heading--tall{min-height:0;padding-top:140px;padding-bottom:120px;flex-direction:column;align-items:flex-start}
  .cmsmasters-heading__aside{position:static;width:100%;max-width:590px;margin-top:20px}
}

/* --- WhatsApp float (reworked: real glyph, AA contrast, safe-area) --- */
.cmsmasters-wa-float{position:fixed;left:24px;bottom:24px;z-index:65;display:inline-flex;align-items:center;gap:10px;
  padding:0 20px 0 16px;min-height:50px;border-radius:999px;background:#0E7A3C;color:#fff;
  font-family:var(--ff-sans);font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;text-decoration:none;
  box-shadow:0 10px 30px rgba(0,0,0,.28),0 2px 6px rgba(0,0,0,.18);
  transition:background .25s ease-in-out,box-shadow .25s ease-in-out,transform .25s ease-in-out,opacity .3s ease-in-out}
.cmsmasters-wa-float:hover{background:#0A5F2E;color:#fff;transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.32)}
.cmsmasters-wa-float:focus-visible{outline:2px solid var(--c-heading);outline-offset:3px}
.cmsmasters-wa-float .wa-icon{width:22px;height:22px;flex:none;fill:currentColor}
.cmsmasters-wa-float.cmsmasters-hide{opacity:0;pointer-events:none;transform:translateY(14px)}
body.cmsmasters-is-open .cmsmasters-wa-float{opacity:0;pointer-events:none}
@media (max-width:767px){
  .cmsmasters-wa-float{left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:56px;height:56px;min-height:0;padding:0;border-radius:50%;justify-content:center}
  .cmsmasters-wa-float .wa-label{display:none}
  .cmsmasters-wa-float .wa-icon{width:27px;height:27px}
}

/* IA-POSTGAP — the author line and the cover image used to touch */
.post-head{padding-bottom:70px}
@media (max-width:767px){.post-head{padding-bottom:44px}}

/* IA-STORY — photo column beside the corporate story block */
.story{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:70px;align-items:center}
.story .prose{max-width:none}
.story__media{margin:0}
.story__media img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
@media (max-width:1024px){
  .story{grid-template-columns:1fr;gap:36px}
  .story__media img{aspect-ratio:16/10}
}

/* IA-CONTACT — WhatsApp / Ara tags next to the phone numbers */
.ia-contact-tag{margin-left:10px;font-family:var(--ff-sans);font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--c-accent)}
.ia-stats .spec{margin:0}

/* IA-FOOTER-STATS — compact visitor counter inside the footer */
.cmsmasters-footer-stats{margin:6px 0 0;font-family:var(--ff-sans);font-size:10px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:rgba(255,255,255,.34)}

/* IA-FLOATS — two fixed actions: WhatsApp + call */
.ia-floats{position:fixed;left:24px;bottom:24px;z-index:65;display:flex;flex-direction:column;gap:10px;align-items:stretch;
  transition:opacity .3s ease-in-out,transform .3s ease-in-out}
.ia-floats.cmsmasters-hide{opacity:0;pointer-events:none;transform:translateY(14px)}
.ia-floats .cmsmasters-wa-float,.ia-floats .cmsmasters-call-float{position:static;left:auto;bottom:auto;display:inline-flex;align-items:center;gap:10px;
  min-height:50px;padding:0 20px 0 16px;border-radius:999px;text-decoration:none;
  font-family:var(--ff-sans);font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.28),0 2px 6px rgba(0,0,0,.18);
  transition:background .25s ease-in-out,transform .25s ease-in-out,box-shadow .25s ease-in-out}
.ia-floats .cmsmasters-wa-float{background:#0E7A3C}
.ia-floats .cmsmasters-wa-float:hover{background:#0A5F2E;transform:translateY(-2px)}
.ia-floats .cmsmasters-call-float{background:#141414}
.ia-floats .cmsmasters-call-float:hover{background:var(--c-tertiary);transform:translateY(-2px)}
.ia-floats .wa-icon,.ia-floats .call-icon{width:22px;height:22px;flex:none;fill:currentColor}
.ia-floats .cmsmasters-wa-float:focus-visible,.ia-floats .cmsmasters-call-float:focus-visible{outline:2px solid #fff;outline-offset:3px}
body.cmsmasters-is-open .ia-floats{opacity:0;pointer-events:none}
@media (max-width:767px){
  .ia-floats{left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:8px}
  .ia-floats .cmsmasters-wa-float,.ia-floats .cmsmasters-call-float{width:52px;height:52px;min-height:0;padding:0;border-radius:50%;justify-content:center}
  .ia-floats .ia-float-label{display:none}
  .ia-floats .wa-icon,.ia-floats .call-icon{width:25px;height:25px}
}

/* IA-CALLBACK — the section is a two-column split: info left, form right.
   The old rule targeted `.callback .e-con-inner` which never matched. */
.callback{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.callback .forminator-row{margin:0 -15px}
@media (max-width:1024px){
  .callback{grid-template-columns:1fr;gap:44px}
}

/* IA-CATS-LINKS — keyword quick links under the services grid */
.cats__links{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 26px;margin:38px 0 0}
.cats__links span{font-family:var(--ff-sans);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--c-accent)}
.cats__links a{color:var(--c-heading)}
.cats__links a:hover{color:var(--c-tertiary)}
@media (max-width:767px){.cats__links{gap:4px 18px;margin-top:26px}}
