/* Verben Garden — visual service detail system, rebuilt from approved mockups */
.page-service-detail.visual-service-detail {
  --vg-bg:#fbf8f3;
  --vg-bg-soft:#f7f4ee;
  --vg-ink:#192D22;
  --vg-body:#5d6861;
  --vg-line:#d9d8d0;
  --vg-green:#5C6044;
  --vg-green-deep:#192D22;
  --vg-green-pale:#eef1df;
  --vg-green-pale-2:#f3f4e8;
  --vg-card:#fffdfa;
  --vg-serif:var(--serif);
  background:var(--vg-bg);
  color:var(--vg-ink);
}
.page-service-detail.visual-service-detail .site-footer { margin-top:0; }
.page-service-detail.visual-service-detail .vg-service-page { overflow:hidden; background:var(--vg-bg); }
.page-service-detail.visual-service-detail .vg-service-frame { width:min(1330px, calc(100vw - 96px)); margin-inline:auto; }
.page-service-detail.visual-service-detail .vg-service-page svg { display:block; stroke:currentColor; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.page-service-detail.visual-service-detail .vg-service-top { min-height:92px; display:flex; align-items:center; border-bottom:1px solid rgba(25,45,34,.11); background:rgba(251,248,243,.98); }
.page-service-detail.visual-service-detail .vg-service-top__inner { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.page-service-detail.visual-service-detail .vg-service-logo { width:245px; max-width:30vw; }
.page-service-detail.visual-service-detail .vg-service-logo img { width:100%; height:auto; }
.page-service-detail.visual-service-detail .vg-service-breadcrumb { display:flex; align-items:center; justify-content:flex-end; gap:14px; color:#42554a; font-size:14px; font-weight:500; }
.page-service-detail.visual-service-detail .vg-service-breadcrumb a { transition:color .2s ease; }
.page-service-detail.visual-service-detail .vg-service-breadcrumb a:hover { color:var(--vg-green); }
.page-service-detail.visual-service-detail .vg-service-breadcrumb span { opacity:.42; }
.page-service-detail.visual-service-detail .vg-service-breadcrumb strong { color:var(--vg-green); font-weight:600; }

.page-service-detail.visual-service-detail .vg-service-meta { position:relative; min-height:132px; display:flex; align-items:center; border-bottom:1px solid rgba(25,45,34,.08); }
.page-service-detail.visual-service-detail .vg-service-meta::after { content:""; position:absolute; right:-5px; top:-28px; width:360px; height:230px; opacity:.10; background:url("../img/decor/about-branch.svg") right top/contain no-repeat; pointer-events:none; }
.page-service-detail.visual-service-detail .vg-service-meta__inner { display:flex; align-items:center; gap:18px; min-height:132px; color:#42554a; }
.page-service-detail.visual-service-detail .vg-service-meta__dot { width:8px; height:8px; flex:0 0 8px; border-radius:50%; background:var(--vg-green); }
.page-service-detail.visual-service-detail .vg-service-meta__inner strong,
.page-service-detail.visual-service-detail .vg-service-meta__inner span:last-child { font-size:13px; font-weight:700; letter-spacing:.22em; }
.page-service-detail.visual-service-detail .vg-service-meta__inner i { width:1px; height:34px; margin:0 34px; background:#c9c9c0; }

.page-service-detail.visual-service-detail .vg-service-hero { position:relative; padding:54px 0 72px; }
.page-service-detail.visual-service-detail .vg-service-hero::before { content:""; position:absolute; left:4%; bottom:36px; width:115px; height:115px; opacity:.28; background-image:radial-gradient(circle,#5C6044 1.5px,transparent 1.6px); background-size:15px 15px; pointer-events:none; }
.page-service-detail.visual-service-detail .vg-service-hero::after { content:""; position:absolute; right:-45px; top:220px; width:330px; height:500px; opacity:.055; background:url("../img/decor/about-branch.svg") center/contain no-repeat; transform:rotate(-6deg); pointer-events:none; }
.page-service-detail.visual-service-detail .vg-service-hero__grid { display:grid; grid-template-columns:minmax(360px,.9fr) minmax(0,1.15fr); gap:clamp(56px,7vw,112px); align-items:center; }
.page-service-detail.visual-service-detail .vg-service-hero__media { position:relative; min-height:650px; margin:0; overflow:hidden; border-radius:20px; background:#ddd; box-shadow:0 14px 42px rgba(30,57,42,.08); }
.page-service-detail.visual-service-detail .vg-service-hero__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.page-service-detail.visual-service-detail .vg-service-hero__copy { position:relative; z-index:2; padding-right:72px; }
.page-service-detail.visual-service-detail .vg-eyebrow { display:flex; align-items:center; gap:11px; margin:0 0 24px; color:#192D22; font-size:13px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.page-service-detail.visual-service-detail .vg-eyebrow img { width:23px; height:23px; object-fit:contain; }
.page-service-detail.visual-service-detail .vg-service-hero h1,
.page-service-detail.visual-service-detail .vg-section-heading h2,
.page-service-detail.visual-service-detail .vg-needs-intro h2,
.page-service-detail.visual-service-detail .vg-process-intro h2,
.page-service-detail.visual-service-detail .vg-projects-head h2,
.page-service-detail.visual-service-detail .vg-service-cta h2 { margin:0; font-family:var(--vg-serif) !important; color:var(--vg-ink) !important; font-weight:600 !important; letter-spacing:-.025em !important; }
.page-service-detail.visual-service-detail .vg-service-hero h1 { max-width:720px; font-size:clamp(60px,5.1vw,86px) !important; line-height:.94 !important; text-wrap:balance; }
.page-service-detail.visual-service-detail .vg-title-line { display:block; width:70px; height:2px; margin:24px 0 28px; background:var(--vg-green); }
.page-service-detail.visual-service-detail .vg-service-lead { max-width:700px; margin:0; color:var(--vg-body); font-size:16px; line-height:1.72; }
.page-service-detail.visual-service-detail .vg-hero-bullets { margin:30px 0 0; padding:0; list-style:none; display:grid; gap:18px; }
.page-service-detail.visual-service-detail .vg-hero-bullets li { display:grid; grid-template-columns:43px minmax(0,1fr); gap:16px; align-items:start; }
.page-service-detail.visual-service-detail .vg-hero-bullet__icon { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#5C6044; background:#eef0df; }
.page-service-detail.visual-service-detail .vg-hero-bullet__icon svg { width:20px; height:20px; }
.page-service-detail.visual-service-detail .vg-hero-bullets strong { display:block; margin-top:1px; color:#2a4335; font-size:15px; line-height:1.3; }
.page-service-detail.visual-service-detail .vg-hero-bullets li div span { display:block; margin-top:4px; color:#69736e; font-size:13px; line-height:1.55; }
.page-service-detail.visual-service-detail .vg-service-actions { margin-top:30px; display:flex; flex-wrap:wrap; gap:16px; align-items:center; }
.page-service-detail.visual-service-detail .vg-btn { min-height:58px; padding:0 30px; display:inline-flex; align-items:center; justify-content:center; gap:12px; border-radius:999px; font-size:14px; font-weight:600; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.page-service-detail.visual-service-detail .vg-btn:hover { transform:translateY(-2px); }
.page-service-detail.visual-service-detail .vg-btn--primary { min-width:265px; color:#fff; background:linear-gradient(180deg,#5C6044,#5C6044); box-shadow:0 14px 28px rgba(92,96,68,.19); }
.page-service-detail.visual-service-detail .vg-btn--primary:hover { box-shadow:0 18px 34px rgba(92,96,68,.25); }
.page-service-detail.visual-service-detail .vg-btn--ghost { min-width:250px; color:#192D22; border:1px solid #8f9c84; background:rgba(255,255,255,.42); }
.page-service-detail.visual-service-detail .vg-btn--ghost svg { width:20px; height:20px; }

.page-service-detail.visual-service-detail .vg-service-section { position:relative; padding:74px 0; }
.page-service-detail.visual-service-detail .vg-service-section::before,
.page-service-detail.visual-service-detail .vg-service-section::after { pointer-events:none; }
.page-service-detail.visual-service-detail .vg-service-audience { border-top:1px solid rgba(25,45,34,.07); }
.page-service-detail.visual-service-detail .vg-service-audience::before { content:""; position:absolute; left:-65px; top:30px; width:270px; height:430px; opacity:.065; background:url("../img/decor/about-branch.svg") center/contain no-repeat; transform:scaleX(-1) rotate(-16deg); }
.page-service-detail.visual-service-detail .vg-service-audience::after { content:""; position:absolute; right:-25px; top:0; width:320px; height:510px; opacity:.065; background:url("../img/decor/about-branch.svg") center/contain no-repeat; transform:rotate(4deg); }
.page-service-detail.visual-service-detail .vg-section-heading { position:relative; z-index:1; max-width:810px; margin-bottom:34px; }
.page-service-detail.visual-service-detail .vg-kicker { display:flex; align-items:center; gap:11px; margin:0 0 17px; color:#192D22; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.page-service-detail.visual-service-detail .vg-kicker span { width:8px; height:8px; border-radius:50%; background:var(--vg-green); }
.page-service-detail.visual-service-detail .vg-section-heading h2,
.page-service-detail.visual-service-detail .vg-needs-intro h2,
.page-service-detail.visual-service-detail .vg-process-intro h2,
.page-service-detail.visual-service-detail .vg-projects-head h2,
.page-service-detail.visual-service-detail .vg-service-cta h2 { font-size:clamp(48px,4.25vw,68px) !important; line-height:1.0 !important; }
.page-service-detail.visual-service-detail .vg-section-heading > p:last-child { max-width:760px; margin:0; color:var(--vg-body); font-size:15px; line-height:1.7; }

.page-service-detail.visual-service-detail .vg-audience-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; max-width:970px; margin:0 auto; }
.page-service-detail.visual-service-detail .vg-audience-card { min-height:320px; display:flex; flex-direction:column; padding:30px 28px 24px; border:1px solid rgba(28,54,40,.17); border-radius:18px; background:rgba(255,253,250,.76); box-shadow:0 12px 34px rgba(31,52,42,.025); transition:transform .22s ease, background .22s ease, box-shadow .22s ease; }
.page-service-detail.visual-service-detail .vg-audience-card:hover { transform:translateY(-5px); background:#fff; box-shadow:0 18px 38px rgba(31,52,42,.06); }
.page-service-detail.visual-service-detail .vg-icon-bubble { width:70px; height:70px; display:grid; place-items:center; border-radius:50%; color:#5C6044; background:#eeefe1; }
.page-service-detail.visual-service-detail .vg-icon-bubble svg { width:34px; height:34px; }
.page-service-detail.visual-service-detail .vg-audience-card h3 { margin:22px 0 0; font-family:var(--vg-serif); color:var(--vg-ink); font-size:26px; font-weight:600; line-height:1.05; }
.page-service-detail.visual-service-detail .vg-audience-card p { margin:18px 0 0; color:#626e67; font-size:14px; line-height:1.62; }
.page-service-detail.visual-service-detail .vg-card-arrow { margin-top:auto; padding-top:26px; color:#5C6044; font-size:30px; font-family:var(--serif); line-height:1; }

.page-service-detail.visual-service-detail .vg-service-needs { padding-top:68px; border-top:1px solid rgba(25,45,34,.08); }
.page-service-detail.visual-service-detail .vg-needs-grid { display:grid; grid-template-columns:minmax(320px,400px) minmax(0,1fr); gap:0 46px; align-items:end; max-width:1120px; }
.page-service-detail.visual-service-detail .vg-needs-intro { position:relative; z-index:2; max-width:420px; padding:0 0 0; }
.page-service-detail.visual-service-detail .vg-needs-intro::before { content:""; position:absolute; left:-18px; right:72px; top:-18px; bottom:174px; border-radius:0 28px 0 0; background:var(--vg-bg); z-index:-1; }
.page-service-detail.visual-service-detail .vg-needs-intro h2 { max-width:320px; font-size:clamp(52px,4.6vw,72px) !important; line-height:.96 !important; text-wrap:balance; }
.page-service-detail.visual-service-detail .vg-needs-intro .vg-title-line { margin-bottom:26px; }
.page-service-detail.visual-service-detail .vg-needs-intro figure { position:relative; width:100%; min-height:332px; margin:18px 0 0; overflow:hidden; border-radius:20px 0 0 20px; box-shadow:0 20px 44px rgba(31,52,42,.06); }
.page-service-detail.visual-service-detail .vg-needs-intro figure img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.page-service-detail.visual-service-detail .vg-needs-card { align-self:end; min-height:0; margin:0 0 18px; padding:34px 34px 26px; border:1px solid rgba(28,54,40,.14); border-radius:18px; background:rgba(255,253,250,.90); box-shadow:0 16px 36px rgba(31,52,42,.03); }
.page-service-detail.visual-service-detail .vg-needs-card ul { margin:0; padding:0; list-style:none; display:grid; }
.page-service-detail.visual-service-detail .vg-needs-card li { min-height:56px; display:flex; align-items:center; gap:15px; border-bottom:1px dashed rgba(28,54,40,.16); color:#56645c; font-size:14px; line-height:1.45; }
.page-service-detail.visual-service-detail .vg-needs-card li span { width:30px; height:30px; display:grid; place-items:center; flex:0 0 30px; border-radius:50%; background:#eff1e2; color:#5C6044; font-weight:700; }
.page-service-detail.visual-service-detail .vg-needs-note { margin-top:22px; padding:18px 18px; display:grid; grid-template-columns:42px 1fr; gap:14px; align-items:center; border-radius:12px; background:#f0eee6; color:#5a665f; }
.page-service-detail.visual-service-detail .vg-needs-note > span { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#5C6044; background:#e6e9d3; }
.page-service-detail.visual-service-detail .vg-needs-note svg { width:20px; height:20px; }
.page-service-detail.visual-service-detail .vg-needs-note p { margin:0; font-size:12px; line-height:1.55; }

.page-service-detail.visual-service-detail .vg-service-process { padding-top:78px; border-top:1px solid rgba(25,45,34,.08); }
.page-service-detail.visual-service-detail .vg-service-process::before { content:""; position:absolute; left:-90px; top:72px; width:250px; height:390px; opacity:.055; background:url("../img/decor/about-branch.svg") center/contain no-repeat; transform:rotate(-14deg); }
.page-service-detail.visual-service-detail .vg-process-grid { display:grid; grid-template-columns:minmax(300px,390px) minmax(0,1fr); gap:50px; align-items:start; max-width:1120px; }
.page-service-detail.visual-service-detail .vg-process-intro { position:sticky; top:40px; padding-right:8px; }
.page-service-detail.visual-service-detail .vg-process-intro h2 { max-width:340px; font-size:clamp(52px,4.4vw,70px) !important; line-height:.96 !important; text-wrap:balance; }
.page-service-detail.visual-service-detail .vg-process-intro > p:last-child { max-width:350px; margin:0; color:var(--vg-body); font-size:15px; line-height:1.72; }
.page-service-detail.visual-service-detail .vg-process-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding-left:18px; }
.page-service-detail.visual-service-detail .vg-process-card { position:relative; min-height:250px; padding:34px 30px 28px 104px; border:1px solid rgba(28,54,40,.13); border-radius:18px; background:rgba(255,253,250,.76); display:flex; flex-direction:column; justify-content:flex-start; }
.page-service-detail.visual-service-detail .vg-process-card__num { position:absolute; left:-34px; top:50%; transform:translateY(-50%); width:70px; height:70px; display:grid; place-items:center; border:1px solid rgba(28,54,40,.13); border-radius:50%; background:var(--vg-bg); color:var(--vg-ink); font-family:var(--vg-serif); font-size:30px; line-height:1; }
.page-service-detail.visual-service-detail .vg-process-card .vg-icon-bubble { width:60px; height:60px; }
.page-service-detail.visual-service-detail .vg-process-card .vg-icon-bubble svg { width:27px; height:27px; }
.page-service-detail.visual-service-detail .vg-process-card h3 { margin:18px 0 0; color:#192D22; font-size:18px; font-weight:700; line-height:1.22; max-width:240px; }
.page-service-detail.visual-service-detail .vg-process-card p { margin:12px 0 0; color:#65716a; font-size:14px; line-height:1.68; max-width:300px; }

.page-service-detail.visual-service-detail .vg-service-projects { padding-top:58px; border-top:1px solid rgba(25,45,34,.08); }
.page-service-detail.visual-service-detail .vg-service-projects::after { content:""; position:absolute; right:4%; top:6px; width:205px; height:150px; opacity:.07; background:url("../img/decor/about-branch.svg") center/contain no-repeat; transform:rotate(74deg); }
.page-service-detail.visual-service-detail .vg-projects-head { max-width:510px; margin-bottom:28px; }
.page-service-detail.visual-service-detail .vg-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.page-service-detail.visual-service-detail .vg-project-card { overflow:hidden; border:1px solid rgba(28,54,40,.13); border-radius:12px; background:rgba(255,253,250,.82); }
.page-service-detail.visual-service-detail .vg-project-card img { width:100%; aspect-ratio:1.65; object-fit:cover; transition:transform .5s ease; }
.page-service-detail.visual-service-detail .vg-project-card:hover img { transform:scale(1.03); }
.page-service-detail.visual-service-detail .vg-project-card div { position:relative; min-height:112px; padding:20px 70px 18px 20px; }
.page-service-detail.visual-service-detail .vg-project-card h3 { margin:0; color:#2b4034; font-size:15px; font-weight:700; }
.page-service-detail.visual-service-detail .vg-project-card p { margin:8px 0 0; color:#68736d; font-size:12px; line-height:1.55; }
.page-service-detail.visual-service-detail .vg-project-card div > span { position:absolute; right:18px; bottom:23px; width:38px; height:38px; display:grid; place-items:center; border:1px solid #91a17b; border-radius:50%; color:#5C6044; font-size:19px; }

.page-service-detail.visual-service-detail .vg-service-faq { padding-top:88px; border-top:1px solid rgba(25,45,34,.08); }
.page-service-detail.visual-service-detail .vg-service-faq::after { content:""; position:absolute; right:-10px; top:22px; width:290px; height:230px; opacity:.06; background:url("../img/decor/about-branch.svg") center/contain no-repeat; transform:rotate(76deg); }
.page-service-detail.visual-service-detail .vg-faq-list { position:relative; z-index:1; max-width:1120px; margin:0 auto; display:grid; gap:10px; }
.page-service-detail.visual-service-detail .vg-faq-item { overflow:hidden; border:1px solid rgba(28,54,40,.15); border-radius:14px; background:rgba(255,253,250,.78); transition:background .2s ease, border-color .2s ease; }
.page-service-detail.visual-service-detail .vg-faq-item.is-open { background:linear-gradient(90deg,#eff1df,#f5f4e9); border-color:#d9dec8; }
.page-service-detail.visual-service-detail .vg-faq-trigger { width:100%; min-height:78px; padding:15px 24px; display:grid; grid-template-columns:62px minmax(0,1fr) 42px; gap:18px; align-items:center; border:0; background:transparent; cursor:pointer; text-align:left; }
.page-service-detail.visual-service-detail .vg-faq-icon { width:52px; height:52px; display:grid; place-items:center; border:1px solid rgba(28,54,40,.15); border-radius:50%; color:#5C6044; background:rgba(255,255,255,.46); }
.page-service-detail.visual-service-detail .vg-faq-icon svg { width:27px; height:27px; }
.page-service-detail.visual-service-detail .vg-faq-trigger strong { color:#273c30; font-family:var(--vg-serif); font-size:22px; font-weight:600; line-height:1.2; }
.page-service-detail.visual-service-detail .vg-faq-sign { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(28,54,40,.16); border-radius:50%; background:#fff; color:#294233; font-size:24px; line-height:1; }
.page-service-detail.visual-service-detail .vg-faq-body { padding:0 84px 18px 104px; }
.page-service-detail.visual-service-detail .vg-faq-body p { margin:0; color:#5d6861; font-size:13px; line-height:1.7; }

.page-service-detail.visual-service-detail .vg-service-cta-section { padding-top:20px; padding-bottom:72px; }
.page-service-detail.visual-service-detail .vg-service-cta { position:relative; min-height:360px; display:grid; grid-template-columns:48% 52%; overflow:hidden; border:1px solid rgba(28,54,40,.14); border-radius:14px; background:#f9f7f1; }
.page-service-detail.visual-service-detail .vg-service-cta__copy { position:relative; z-index:2; padding:46px 36px 42px 46px; background:linear-gradient(90deg,#fbf8f3 0%,#fbf8f3 82%,rgba(251,248,243,.75) 100%); }
.page-service-detail.visual-service-detail .vg-service-cta__copy h2 { max-width:520px; font-size:clamp(40px,3.7vw,58px) !important; }
.page-service-detail.visual-service-detail .vg-service-cta__copy > p:not(.vg-eyebrow) { max-width:500px; margin:0; color:#66716b; font-size:14px; line-height:1.7; }
.page-service-detail.visual-service-detail .vg-service-cta__image { position:relative; min-height:360px; }
.page-service-detail.visual-service-detail .vg-service-cta__image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.page-service-detail.visual-service-detail .vg-service-contact-card { position:absolute; z-index:4; right:46px; bottom:34px; width:260px; padding:20px 22px; border:1px solid rgba(28,54,40,.14); border-radius:16px; background:rgba(255,253,250,.95); box-shadow:0 18px 42px rgba(31,52,42,.11); backdrop-filter:blur(8px); }
.page-service-detail.visual-service-detail .vg-service-contact-card > div { display:grid; grid-template-columns:34px 1fr; gap:12px; align-items:start; }
.page-service-detail.visual-service-detail .vg-service-contact-card svg { width:24px; height:24px; color:#5C6044; }
.page-service-detail.visual-service-detail .vg-service-contact-card p { margin:0; color:#536159; font-size:11px; line-height:1.45; }
.page-service-detail.visual-service-detail .vg-service-contact-card strong,
.page-service-detail.visual-service-detail .vg-service-contact-card span { display:block; }
.page-service-detail.visual-service-detail .vg-service-contact-card strong { color:#2c4335; font-size:12px; }
.page-service-detail.visual-service-detail .vg-service-contact-card span { margin-top:3px; color:#7a827d; }
.page-service-detail.visual-service-detail .vg-service-contact-card hr { height:1px; margin:15px 0; border:0; background:rgba(28,54,40,.12); }

@media (max-width:1180px){
  .page-service-detail.visual-service-detail .vg-service-frame{width:min(1180px,calc(100vw - 64px));}
  .page-service-detail.visual-service-detail .vg-service-hero__grid{grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:52px;}
  .page-service-detail.visual-service-detail .vg-service-hero__copy{padding-right:0;}
  .page-service-detail.visual-service-detail .vg-service-hero__media{min-height:600px;}
  .page-service-detail.visual-service-detail .vg-process-grid{grid-template-columns:320px minmax(0,1fr);gap:40px;}
  .page-service-detail.visual-service-detail .vg-process-cards{padding-left:14px;}
  .page-service-detail.visual-service-detail .vg-process-card{padding-left:90px;}
}
@media (max-width:900px){
  .page-service-detail.visual-service-detail .vg-service-frame{width:min(900px,calc(100vw - 42px));}
  .page-service-detail.visual-service-detail .vg-service-top__inner{min-height:84px;}
  .page-service-detail.visual-service-detail .vg-service-logo{width:210px;max-width:50vw;}
  .page-service-detail.visual-service-detail .vg-service-breadcrumb{font-size:12px;gap:9px;}
  .page-service-detail.visual-service-detail .vg-service-meta{min-height:106px;}
  .page-service-detail.visual-service-detail .vg-service-meta__inner{min-height:106px;}
  .page-service-detail.visual-service-detail .vg-service-meta__inner i{margin:0 16px;}
  .page-service-detail.visual-service-detail .vg-service-hero__grid,
  .page-service-detail.visual-service-detail .vg-needs-grid,
  .page-service-detail.visual-service-detail .vg-process-grid{grid-template-columns:1fr;}
  .page-service-detail.visual-service-detail .vg-service-hero__media{min-height:520px;max-width:620px;}
  .page-service-detail.visual-service-detail .vg-service-hero__copy{padding-top:6px;}
  .page-service-detail.visual-service-detail .vg-audience-grid{grid-template-columns:1fr 1fr;max-width:none;}
  .page-service-detail.visual-service-detail .vg-audience-card:last-child{grid-column:1 / -1;}
  .page-service-detail.visual-service-detail .vg-needs-grid{max-width:none;}
  .page-service-detail.visual-service-detail .vg-needs-grid{gap:28px;}
  .page-service-detail.visual-service-detail .vg-needs-intro{max-width:none;}
  .page-service-detail.visual-service-detail .vg-needs-intro::before{display:none;}
  .page-service-detail.visual-service-detail .vg-needs-intro h2{max-width:680px;}
  .page-service-detail.visual-service-detail .vg-needs-intro figure{border-radius:18px;min-height:410px;}
  .page-service-detail.visual-service-detail .vg-needs-card{margin:0;border-radius:18px;min-height:0;}
  .page-service-detail.visual-service-detail .vg-process-intro{position:static;}
  .page-service-detail.visual-service-detail .vg-process-intro h2{max-width:680px;}
  .page-service-detail.visual-service-detail .vg-process-intro > p:last-child{max-width:680px;}
  .page-service-detail.visual-service-detail .vg-process-cards{padding-left:36px;}
  .page-service-detail.visual-service-detail .vg-project-grid{grid-template-columns:1fr 1fr;}
  .page-service-detail.visual-service-detail .vg-project-card:last-child{grid-column:1 / -1;}
  .page-service-detail.visual-service-detail .vg-service-cta{grid-template-columns:1fr;}
  .page-service-detail.visual-service-detail .vg-service-cta__copy{background:#fbf8f3;}
  .page-service-detail.visual-service-detail .vg-service-cta__image{min-height:330px;}
}
@media (max-width:640px){
  .page-service-detail.visual-service-detail .vg-service-frame{width:calc(100vw - 30px);}
  .page-service-detail.visual-service-detail .vg-service-top{min-height:76px;}
  .page-service-detail.visual-service-detail .vg-service-top__inner{min-height:76px;}
  .page-service-detail.visual-service-detail .vg-service-logo{width:180px;}
  .page-service-detail.visual-service-detail .vg-service-breadcrumb a:not(:last-of-type),
  .page-service-detail.visual-service-detail .vg-service-breadcrumb span:first-of-type{display:none;}
  .page-service-detail.visual-service-detail .vg-service-breadcrumb{max-width:46vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .page-service-detail.visual-service-detail .vg-service-meta{min-height:88px;}
  .page-service-detail.visual-service-detail .vg-service-meta__inner{min-height:88px;gap:11px;}
  .page-service-detail.visual-service-detail .vg-service-meta__inner i{height:24px;margin:0 8px;}
  .page-service-detail.visual-service-detail .vg-service-meta__inner strong,
  .page-service-detail.visual-service-detail .vg-service-meta__inner span:last-child{font-size:10px;letter-spacing:.14em;}
  .page-service-detail.visual-service-detail .vg-service-hero{padding:32px 0 54px;}
  .page-service-detail.visual-service-detail .vg-service-hero__grid{gap:34px;}
  .page-service-detail.visual-service-detail .vg-service-hero__media{min-height:440px;border-radius:16px;}
  .page-service-detail.visual-service-detail .vg-service-hero h1{font-size:clamp(48px,15vw,66px)!important;}
  .page-service-detail.visual-service-detail .vg-service-lead{font-size:15px;}
  .page-service-detail.visual-service-detail .vg-service-actions{display:grid;grid-template-columns:1fr;}
  .page-service-detail.visual-service-detail .vg-btn{width:100%;min-width:0;}
  .page-service-detail.visual-service-detail .vg-service-section{padding:58px 0;}
  .page-service-detail.visual-service-detail .vg-section-heading h2,
  .page-service-detail.visual-service-detail .vg-needs-intro h2,
  .page-service-detail.visual-service-detail .vg-process-intro h2,
  .page-service-detail.visual-service-detail .vg-projects-head h2,
  .page-service-detail.visual-service-detail .vg-service-cta h2{font-size:clamp(40px,12vw,55px)!important;}
  .page-service-detail.visual-service-detail .vg-audience-grid,
  .page-service-detail.visual-service-detail .vg-process-cards,
  .page-service-detail.visual-service-detail .vg-project-grid{grid-template-columns:1fr;}
  .page-service-detail.visual-service-detail .vg-audience-card:last-child,
  .page-service-detail.visual-service-detail .vg-project-card:last-child{grid-column:auto;}
  .page-service-detail.visual-service-detail .vg-audience-card{min-height:260px;}
  .page-service-detail.visual-service-detail .vg-needs-intro h2{max-width:100%;}
  .page-service-detail.visual-service-detail .vg-needs-intro figure{min-height:330px;border-radius:18px;}
  .page-service-detail.visual-service-detail .vg-needs-card{padding:28px 20px 22px;}
  .page-service-detail.visual-service-detail .vg-process-cards{padding-left:24px;}
  .page-service-detail.visual-service-detail .vg-process-card{min-height:220px;padding:28px 22px 24px 74px;}
  .page-service-detail.visual-service-detail .vg-process-card__num{left:-27px;top:30px;transform:none;width:58px;height:58px;font-size:28px;}
  .page-service-detail.visual-service-detail .vg-faq-trigger{grid-template-columns:50px minmax(0,1fr) 36px;gap:12px;padding:13px 14px;}
  .page-service-detail.visual-service-detail .vg-faq-icon{width:44px;height:44px;}
  .page-service-detail.visual-service-detail .vg-faq-trigger strong{font-size:19px;}
  .page-service-detail.visual-service-detail .vg-faq-body{padding:0 60px 16px 76px;}
  .page-service-detail.visual-service-detail .vg-service-cta__copy{padding:34px 22px 36px;}
  .page-service-detail.visual-service-detail .vg-service-cta__image{min-height:310px;}
  .page-service-detail.visual-service-detail .vg-service-contact-card{position:relative;right:auto;bottom:auto;width:calc(100% - 32px);margin:-84px 16px 22px;}
}
@media (prefers-reduced-motion:reduce){
  .page-service-detail.visual-service-detail .vg-btn,
  .page-service-detail.visual-service-detail .vg-audience-card,
  .page-service-detail.visual-service-detail .vg-project-card img{transition:none!important;}
}

/* v2 — visual-system refinement: preserve the approved composition while restoring Verben site rhythm */
.page-service-detail.visual-service-detail {
  --vg-bg: var(--ivory-50);
  --vg-bg-soft: var(--ivory-100);
  --vg-ink: var(--green-950);
  --vg-body: var(--muted);
  --vg-line: rgba(25,45,34,.14);
  --vg-green: #5C6044;
  --vg-green-deep: var(--green-900);
  --vg-card: #fbfaf6;
  --vg-serif: var(--sans);
  font-family: var(--sans);
}

/* Service pages use the same global header and corporate hero as Hakkımızda / İletişim / Hizmetler. */
.page-service-detail.visual-service-detail .site-header { display:block !important; }
.page-service-detail.visual-service-detail .garden-menu-layer { display:block !important; }
.page-service-detail.visual-service-detail .vg-service-top,
.page-service-detail.visual-service-detail .vg-service-meta { display:none !important; }
.page-service-detail.visual-service-detail .service-detail-page-hero { min-height:clamp(390px,48vh,560px); }
.page-service-detail.visual-service-detail .service-detail-page-hero .corporate-breadcrumb { max-width:min(1120px,90vw); }
.page-service-detail.visual-service-detail .service-detail-page-hero__services { color:#fff; }

/* One optical rail across the full page: every section starts and ends on the same corners. */
.page-service-detail.visual-service-detail .vg-service-frame {
  width:var(--container);
  max-width:none;
  margin-inline:auto;
}
.page-service-detail.visual-service-detail .vg-service-audience > .vg-service-frame,
.page-service-detail.visual-service-detail .vg-service-faq > .vg-service-frame { max-width:none; }
.page-service-detail.visual-service-detail .vg-audience-grid,
.page-service-detail.visual-service-detail .vg-needs-grid,
.page-service-detail.visual-service-detail .vg-faq-list { max-width:none; width:100%; margin-inline:0; }

/* Typography returns to Verben Garden's Epilogue system instead of a separate editorial serif. */
.page-service-detail.visual-service-detail .vg-service-hero h1,
.page-service-detail.visual-service-detail .vg-section-heading h2,
.page-service-detail.visual-service-detail .vg-needs-intro h2,
.page-service-detail.visual-service-detail .vg-process-intro h2,
.page-service-detail.visual-service-detail .vg-projects-head h2,
.page-service-detail.visual-service-detail .vg-service-cta h2,
.page-service-detail.visual-service-detail .vg-audience-card h3,
.page-service-detail.visual-service-detail .vg-process-card__num,
.page-service-detail.visual-service-detail .vg-faq-trigger strong {
  font-family:var(--sans) !important;
}
.page-service-detail.visual-service-detail .vg-service-hero h1 {
  max-width:690px;
  font-size:clamp(46px,4.25vw,68px) !important;
  line-height:.99 !important;
  font-weight:500 !important;
  letter-spacing:-.04em !important;
}
.page-service-detail.visual-service-detail .vg-section-heading h2,
.page-service-detail.visual-service-detail .vg-needs-intro h2,
.page-service-detail.visual-service-detail .vg-process-intro h2,
.page-service-detail.visual-service-detail .vg-projects-head h2 {
  font-size:clamp(36px,3.05vw,50px) !important;
  line-height:1.04 !important;
  font-weight:500 !important;
  letter-spacing:-.035em !important;
  text-wrap:balance;
}
.page-service-detail.visual-service-detail .vg-service-cta h2,
.page-service-detail.visual-service-detail .vg-service-cta__copy h2 {
  font-size:clamp(36px,3.05vw,50px) !important;
  line-height:1.04 !important;
  font-weight:500 !important;
  letter-spacing:-.035em !important;
}
.page-service-detail.visual-service-detail .vg-audience-card h3 {
  font-size:21px !important;
  line-height:1.18 !important;
  font-weight:600 !important;
  letter-spacing:-.025em !important;
}
.page-service-detail.visual-service-detail .vg-faq-trigger strong {
  font-size:18px;
  font-weight:600;
  letter-spacing:-.02em;
}
.page-service-detail.visual-service-detail .vg-process-card__num { font-size:27px; font-weight:500; }

/* Golden-ratio inspired rhythm: fewer arbitrary gaps, clearer 38/61/99px hierarchy. */
.page-service-detail.visual-service-detail .vg-service-hero { padding:clamp(64px,5.2vw,84px) 0 clamp(76px,6vw,98px); }
.page-service-detail.visual-service-detail .vg-service-section { padding:clamp(72px,6vw,96px) 0; }
.page-service-detail.visual-service-detail .vg-service-needs,
.page-service-detail.visual-service-detail .vg-service-projects { padding-top:clamp(72px,6vw,96px); }
.page-service-detail.visual-service-detail .vg-service-process,
.page-service-detail.visual-service-detail .vg-service-faq { padding-top:clamp(78px,6.4vw,102px); }
.page-service-detail.visual-service-detail .vg-service-cta-section { padding-top:clamp(42px,4vw,64px); padding-bottom:clamp(72px,6vw,96px); }
.page-service-detail.visual-service-detail .vg-title-line { width:61px; margin:20px 0 25px; }
.page-service-detail.visual-service-detail .vg-section-heading { max-width:900px; margin-bottom:38px; }
.page-service-detail.visual-service-detail .vg-projects-head { max-width:740px; margin-bottom:34px; }

/* First content block: strong but no longer oversized. */
.page-service-detail.visual-service-detail .vg-service-hero__grid {
  grid-template-columns:minmax(420px,.92fr) minmax(0,1.08fr);
  gap:clamp(58px,6vw,92px);
}
.page-service-detail.visual-service-detail .vg-service-hero__media { min-height:600px; border-radius:18px; }
.page-service-detail.visual-service-detail .vg-service-hero__copy { padding-right:clamp(0px,2vw,30px); }
.page-service-detail.visual-service-detail .vg-service-lead { max-width:650px; font-size:16px; line-height:1.68; }
.page-service-detail.visual-service-detail .vg-hero-bullets { gap:15px; margin-top:26px; }
.page-service-detail.visual-service-detail .vg-service-actions { margin-top:28px; }

/* Audience cards now occupy the same rail as the hero, with calmer proportions. */
.page-service-detail.visual-service-detail .vg-audience-grid { gap:22px; }
.page-service-detail.visual-service-detail .vg-audience-card {
  min-height:280px;
  padding:28px 28px 24px;
  border-radius:16px;
}
.page-service-detail.visual-service-detail .vg-icon-bubble { width:62px; height:62px; }
.page-service-detail.visual-service-detail .vg-icon-bubble svg { width:29px; height:29px; }
.page-service-detail.visual-service-detail .vg-audience-card h3 { margin-top:19px; }
.page-service-detail.visual-service-detail .vg-audience-card p { margin-top:13px; }
.page-service-detail.visual-service-detail .vg-card-arrow { padding-top:20px; font-family:var(--sans); font-size:24px; }

/* “Before the project” section: prevent the narrow four-line heading and restore a balanced 45/55 split. */
.page-service-detail.visual-service-detail .vg-needs-grid {
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:0;
  align-items:stretch;
}
.page-service-detail.visual-service-detail .vg-needs-intro { min-width:0; }
.page-service-detail.visual-service-detail .vg-needs-intro h2 { max-width:620px; }
.page-service-detail.visual-service-detail .vg-needs-intro figure { min-height:360px; margin-top:28px; border-radius:16px 0 0 16px; }
.page-service-detail.visual-service-detail .vg-needs-card {
  min-height:420px;
  margin-top:72px;
  padding:38px 38px 28px;
  border-radius:0 16px 16px 0;
}
.page-service-detail.visual-service-detail .vg-needs-card li { min-height:57px; font-size:14px; }

/* Process: retain the distinctive numbered cards, but give heading and cards a more stable ratio. */
.page-service-detail.visual-service-detail .vg-process-grid {
  grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr);
  gap:clamp(56px,5.5vw,86px);
}
.page-service-detail.visual-service-detail .vg-process-intro h2 { max-width:500px; }
.page-service-detail.visual-service-detail .vg-process-intro > p:last-child { max-width:440px; }
.page-service-detail.visual-service-detail .vg-process-cards { gap:20px 22px; padding-left:38px; }
.page-service-detail.visual-service-detail .vg-process-card {
  min-height:230px;
  padding:34px 30px 28px 88px;
  border-radius:14px;
}
.page-service-detail.visual-service-detail .vg-process-card__num { left:-38px; top:36px; width:72px; height:72px; }
.page-service-detail.visual-service-detail .vg-process-card h3 { font-size:18px; line-height:1.25; }
.page-service-detail.visual-service-detail .vg-process-card p { font-size:13px; line-height:1.62; }

/* Project and FAQ sections align exactly with the common page rail. */
.page-service-detail.visual-service-detail .vg-project-grid { gap:22px; }
.page-service-detail.visual-service-detail .vg-project-card { border-radius:14px; }
.page-service-detail.visual-service-detail .vg-project-card h3 { font-size:17px; }
.page-service-detail.visual-service-detail .vg-faq-list { gap:12px; }
.page-service-detail.visual-service-detail .vg-faq-item { border-radius:14px; }
.page-service-detail.visual-service-detail .vg-faq-trigger { min-height:74px; }

/* Closing CTA uses the same horizontal edges as every other section. */
.page-service-detail.visual-service-detail .vg-service-cta { min-height:380px; border-radius:16px; }
.page-service-detail.visual-service-detail .vg-service-cta__copy { padding:48px 46px; }

@media (max-width:1180px){
  .page-service-detail.visual-service-detail .vg-service-frame { width:var(--container); }
  .page-service-detail.visual-service-detail .vg-service-hero__grid { grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr); gap:50px; }
  .page-service-detail.visual-service-detail .vg-service-hero__media { min-height:560px; }
  .page-service-detail.visual-service-detail .vg-needs-intro h2 { max-width:500px; }
  .page-service-detail.visual-service-detail .vg-process-grid { grid-template-columns:300px minmax(0,1fr); gap:48px; }
}
@media (max-width:900px){
  .page-service-detail.visual-service-detail .vg-service-frame { width:min(100% - 42px, 820px); }
  .page-service-detail.visual-service-detail .service-detail-page-hero .corporate-breadcrumb { max-width:min(760px,90vw); }
  .page-service-detail.visual-service-detail .vg-service-hero__grid,
  .page-service-detail.visual-service-detail .vg-needs-grid,
  .page-service-detail.visual-service-detail .vg-process-grid { grid-template-columns:1fr; }
  .page-service-detail.visual-service-detail .vg-service-hero__media { min-height:500px; max-width:none; }
  .page-service-detail.visual-service-detail .vg-audience-grid { grid-template-columns:1fr 1fr; }
  .page-service-detail.visual-service-detail .vg-needs-intro h2,
  .page-service-detail.visual-service-detail .vg-process-intro h2 { max-width:680px; }
  .page-service-detail.visual-service-detail .vg-needs-intro figure { min-height:400px; border-radius:16px; }
  .page-service-detail.visual-service-detail .vg-needs-card { min-height:0; margin-top:18px; border-radius:16px; }
  .page-service-detail.visual-service-detail .vg-process-cards { padding-left:36px; margin-left:0; }
}
@media (max-width:640px){
  .page-service-detail.visual-service-detail .vg-service-frame { width:calc(100% - 30px); }
  .page-service-detail.visual-service-detail .service-detail-page-hero .corporate-breadcrumb { max-width:calc(100vw - 34px); gap:7px; }
  .page-service-detail.visual-service-detail .service-detail-page-hero .corporate-breadcrumb__current { max-width:72vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .page-service-detail.visual-service-detail .service-detail-page-hero__services,
  .page-service-detail.visual-service-detail .service-detail-page-hero__services + .corporate-breadcrumb__arrow { display:none; }
  .page-service-detail.visual-service-detail .vg-service-hero { padding:52px 0 64px; }
  .page-service-detail.visual-service-detail .vg-service-hero__media { min-height:430px; }
  .page-service-detail.visual-service-detail .vg-service-hero h1 { font-size:clamp(40px,11.5vw,52px) !important; line-height:1.02 !important; }
  .page-service-detail.visual-service-detail .vg-section-heading h2,
  .page-service-detail.visual-service-detail .vg-needs-intro h2,
  .page-service-detail.visual-service-detail .vg-process-intro h2,
  .page-service-detail.visual-service-detail .vg-projects-head h2,
  .page-service-detail.visual-service-detail .vg-service-cta h2,
  .page-service-detail.visual-service-detail .vg-service-cta__copy h2 { font-size:clamp(32px,9.8vw,42px) !important; line-height:1.05 !important; }
  .page-service-detail.visual-service-detail .vg-service-section { padding:62px 0; }
  .page-service-detail.visual-service-detail .vg-audience-grid { grid-template-columns:1fr; }
  .page-service-detail.visual-service-detail .vg-audience-card { min-height:240px; }
  .page-service-detail.visual-service-detail .vg-needs-intro figure { min-height:320px; }
  .page-service-detail.visual-service-detail .vg-needs-card { padding:24px 20px; }
  .page-service-detail.visual-service-detail .vg-process-cards { padding-left:24px; }
  .page-service-detail.visual-service-detail .vg-process-card { min-height:205px; padding:28px 20px 24px 68px; }
  .page-service-detail.visual-service-detail .vg-process-card__num { left:-27px; top:28px; width:56px; height:56px; font-size:22px; }
  .page-service-detail.visual-service-detail .vg-faq-trigger strong { font-size:17px; }
  .page-service-detail.visual-service-detail .vg-service-cta__copy { padding:34px 24px 38px; }
}

/* heading line-control refinement */
.page-service-detail.visual-service-detail .vg-process-grid { grid-template-columns:minmax(390px,.72fr) minmax(0,1.28fr); }
.page-service-detail.visual-service-detail .vg-process-intro h2 { max-width:520px; font-size:clamp(36px,2.7vw,46px) !important; }
.page-service-detail.visual-service-detail .vg-needs-intro h2 { font-size:clamp(36px,2.8vw,47px) !important; }
@media (max-width:1180px){
  .page-service-detail.visual-service-detail .vg-process-grid { grid-template-columns:340px minmax(0,1fr); }
  .page-service-detail.visual-service-detail .vg-process-intro h2 { font-size:clamp(34px,3.4vw,43px) !important; }
}
@media (max-width:900px){
  .page-service-detail.visual-service-detail .vg-process-grid { grid-template-columns:1fr; }
  .page-service-detail.visual-service-detail .vg-process-intro h2 { max-width:720px; }
}
@media (max-width:640px){
  .page-service-detail.visual-service-detail .vg-process-intro h2,
  .page-service-detail.visual-service-detail .vg-needs-intro h2 { font-size:clamp(32px,9.8vw,42px) !important; }
}


/* v3.1 — landscape consulting “before project” section refinement + cache-bust follow-up */
.page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-grid {
  grid-template-columns:minmax(340px,430px) minmax(0,1fr);
  gap:46px;
  align-items:end;
}
.page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-intro {
  max-width:430px;
}
.page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-intro h2 {
  max-width:390px;
  font-size:clamp(34px,3vw,52px) !important;
  line-height:1.02 !important;
  letter-spacing:-.035em !important;
  text-wrap:balance;
}
.page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-intro .vg-title-line {
  margin:20px 0 24px;
}
.page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-intro figure {
  width:100%;
  min-height:350px;
  margin-top:0;
  border-radius:18px 0 0 18px;
}
.page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-card {
  margin:0 0 18px;
  min-height:392px;
  padding:34px 34px 26px;
  border-radius:0 18px 18px 0;
}
.page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-card li {
  min-height:58px;
}
.page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-note p {
  font-size:13px;
}
@media (max-width:1200px){
  .page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-grid {
    grid-template-columns:minmax(320px,400px) minmax(0,1fr);
    gap:36px;
  }
  .page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-intro h2 {
    max-width:360px;
    font-size:clamp(32px,2.9vw,46px) !important;
  }
}
@media (max-width:900px){
  .page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-grid { grid-template-columns:1fr; gap:20px; }
  .page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-intro,
  .page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-intro h2 { max-width:none; }
  .page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-intro figure { border-radius:16px; min-height:380px; }
  .page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-card {
    margin:0;
    min-height:0;
    border-radius:16px;
  }
}
@media (max-width:640px){
  .page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-intro h2 {
    font-size:clamp(30px,9vw,40px) !important;
    line-height:1.06 !important;
  }
  .page-service-detail.visual-service-detail.service-landscape-consulting .vg-needs-intro figure { min-height:300px; }
}
