@font-face { font-family: "TGNS Alexa"; src: url("fonts/alexa.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Barcelona"; src: url("fonts/barcelona.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Bayview"; src: url("fonts/bayview.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Amsterdam"; src: url("fonts/amsterdam.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Florence"; src: url("fonts/florence.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Greenworld"; src: url("fonts/greenworld.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Lazy Sunday"; src: url("fonts/lazy_sunday.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS New Cursive"; src: url("fonts/new_cursive.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Notting Hill"; src: url("fonts/notting_hill.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Olivia"; src: url("fonts/olivia.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Vintage"; src: url("fonts/vintage.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Venetian"; src: url("fonts/venetian.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Weekender"; src: url("fonts/weekender.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Amanda"; src: url("fonts/amanda.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Austin"; src: url("fonts/austin.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Beachfront"; src: url("fonts/beachfront.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Chelsea"; src: url("fonts/chelsea.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Freehand"; src: url("fonts/freehand.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Free Spirit"; src: url("fonts/free_spirit.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Love Note"; src: url("fonts/love_note.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Manchester"; src: url("fonts/manchester.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Neon Script"; src: url("fonts/neon_script.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Northshore"; src: url("fonts/northshore.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Photogenic"; src: url("fonts/photogenic.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Royalty"; src: url("fonts/royalty.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Rocket"; src: url("fonts/rocket.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Signature"; src: url("fonts/signature.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Souvenir"; src: url("fonts/souvenir.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Wild Script"; src: url("fonts/wild_script.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Avante"; src: url("fonts/avante.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Buttercup"; src: url("fonts/buttercup.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "TGNS Classic Type"; src: url("fonts/classic_type.woff2") format("woff2"); font-display: swap; }

.tgns {
  --blue: #3657f5;
  --blue-dark: #233bc4;
  --pink: #f43bd4;
  --ink: #25252b;
  --muted: #686873;
  --line: #e5e5eb;
  --soft: #f5f5f7;
  color: var(--ink);
  background: #fff;
  font-family: "Century Gothic", "Avenir Next", "Segoe UI", Arial, sans-serif;
  overflow: visible;
}
.tgns *, .tgns *::before, .tgns *::after { box-sizing: border-box; }
.tgns button, .tgns input, .tgns textarea, .tgns select { font: inherit; }
.tgns a { color: inherit; text-decoration: none; }
.tgns [hidden] { display: none !important; }
.tgns-shell { width: min(1280px, calc(100% - 48px)); margin-inline: auto; }
.tgns-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.tgns-kicker { margin: 0 0 16px; color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.tgns-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 13px 24px; border: 1px solid transparent; border-radius: 999px; font-weight: 800; transition: transform .2s ease, box-shadow .2s ease; }
.tgns-button:hover { transform: translateY(-2px); }
.tgns-button-hot { color: #fff; background: var(--pink); box-shadow: 0 15px 32px rgba(244,59,212,.24); }
.tgns-button-line { color: #fff; border-color: rgba(255,255,255,.72); }

.tgns-hero { position: relative; min-height: 650px; color: #fff; background: linear-gradient(128deg, #2537bd 0%, #3657f5 56%, #6a3fd2 100%); }
.tgns-hero::before { content: ""; position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(90deg, #000, transparent 75%); }
.tgns-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(48px,7vw,110px); align-items: center; min-height: 650px; padding-block: 80px; }
.tgns-hero .tgns-kicker { color: #fff; }
.tgns-hero h1 { max-width: 720px; margin: 0 0 25px; font-size: clamp(48px,6.2vw,84px); font-weight: 500; line-height: .99; letter-spacing: -.055em; }
.tgns-hero-copy > p:not(.tgns-kicker) { max-width: 680px; margin: 0; font-size: 18px; line-height: 1.75; }
.tgns-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.tgns-hero-copy ul { display: flex; flex-wrap: wrap; gap: 22px; padding: 0; margin: 30px 0 0; list-style: none; font-size: 13px; font-weight: 700; }
.tgns-hero-copy li::before { content: "✓"; margin-right: 8px; color: #ff8de8; }
.tgns-hero-art { position: relative; display: grid; place-items: center; min-height: 410px; padding: 42px; overflow: hidden; border: 1px solid rgba(255,255,255,.24); border-radius: 24px; background: linear-gradient(150deg,rgba(10,10,22,.7),rgba(43,25,69,.56)); box-shadow: 0 40px 100px rgba(13,20,83,.32); }
.tgns-hero-art::before, .tgns-hero-art::after { content: ""; position: absolute; width: 240px; height: 240px; border-radius: 50%; filter: blur(65px); }
.tgns-hero-art::before { left: -70px; bottom: -80px; background: rgba(244,59,212,.42); }
.tgns-hero-art::after { right: -90px; top: -75px; background: rgba(69,226,220,.3); }
.tgns-neon-word { position: relative; z-index: 1; font-family: "Trebuchet MS", Arial, sans-serif; font-size: clamp(62px,8vw,112px); font-weight: 700; letter-spacing: -.07em; color: transparent; -webkit-text-stroke: 4px #ff75e0; text-shadow: 0 0 4px #fff,0 0 15px #ff75e0,0 0 32px #ff49d0,0 0 70px rgba(255,73,208,.86); transform: rotate(-5deg); }
.tgns-hero-art i { position: absolute; width: 55%; height: 2px; bottom: 115px; background: #45e2dc; box-shadow: 0 0 8px #45e2dc,0 0 26px #45e2dc; transform: rotate(7deg); }
.tgns-hero-art b { position: absolute; z-index: 1; bottom: 50px; font-size: 11px; letter-spacing: .22em; }

.tgns-studio, .tgns-included, .tgns-gallery, .tgns-process, .tgns-faq { padding: 96px max(24px, calc((100vw - 1280px)/2)); }
.tgns-studio { background: #f7f7f9; }
.tgns-section-head { max-width: 860px; margin: 0 auto 46px; text-align: center; }
.tgns-section-head h2, .tgns-faq h2, .tgns-review h2 { margin: 0 0 18px; font-size: clamp(34px,4.8vw,58px); font-weight: 500; line-height: 1.05; letter-spacing: -.045em; }
.tgns-section-head > p:last-child { max-width: 720px; margin: 0 auto; color: var(--muted); font-size: 17px; line-height: 1.75; }
.tgns-workspace { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(390px,.85fr); align-items: start; gap: 25px; width: min(1420px,100%); margin: 0 auto; }
.tgns-preview { position: sticky; top: 28px; padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: 0 22px 64px rgba(24,24,34,.09); }
.tgns-canvas { position: relative; overflow: hidden; border-radius: 12px; background: #181820; }
.tgns-canvas canvas { display: block; width: 100%; height: auto; aspect-ratio: 14/9; }
.tgns-canvas > span { position: absolute; left: 15px; top: 15px; padding: 7px 10px; border-radius: 999px; color: #fff; background: rgba(0,0,0,.52); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.tgns-preview-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding-top: 14px; }
.tgns-preview-tools fieldset { display: flex; gap: 7px; padding: 0; margin: 0 5px 0 0; border: 0; }
.tgns-preview-tools [data-scene] { width: 30px; height: 30px; padding: 0; border: 2px solid #fff; outline: 1px solid #bbb; border-radius: 50%; cursor: pointer; }
.tgns-preview-tools [data-scene][aria-pressed="true"] { outline: 3px solid var(--blue); }
.tgns-preview-tools [data-scene="dark"] { background: #24232b; }
.tgns-preview-tools [data-scene="light"] { background: #eae6df; }
.tgns-preview-tools [data-scene="brick"] { background: #7f493e; }
.tgns-preview-tools [data-scene="concrete"] { background: #85888d; }
.tgns-preview-tools > button, .tgns-tool-upload, .tgns-small-button { min-height: 34px; padding: 7px 11px; border: 1px solid #d4d4db; border-radius: 999px; color: #38383f; background: #fff; font-size: 12px; font-weight: 700; cursor: pointer; }
.tgns-tool-upload input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.tgns-size-line { display: flex; justify-content: space-between; gap: 20px; padding-top: 15px; margin-top: 13px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.tgns-size-line strong { color: var(--ink); }
.tgns-file-status { min-height: 0; margin: 9px 0 0; color: var(--muted); font-size: 12px; }

.tgns-controls { display: grid; gap: 14px; }
.tgns-block { min-width: 0; padding: 24px; margin: 0; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.tgns-block > legend { padding: 0 9px; color: var(--ink); font-size: 17px; font-weight: 800; }
.tgns-block > legend span { margin-right: 9px; color: var(--blue); font-size: 12px; letter-spacing: .1em; }
.tgns-segment { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 5px 0 18px; }
.tgns-segment label { position: relative; }
.tgns-segment input { position: absolute; opacity: 0; }
.tgns-segment span { display: flex; min-height: 43px; align-items: center; justify-content: center; padding: 10px; border: 1px solid #d8d8de; border-radius: 9px; font-size: 13px; font-weight: 700; cursor: pointer; }
.tgns-segment input:checked + span { color: #fff; border-color: var(--blue); background: var(--blue); }
.tgns-field { display: block; margin: 14px 0; color: #34343a; font-size: 13px; font-weight: 700; }
.tgns-field input:not([type="range"]):not([type="color"]), .tgns-field textarea, .tgns-field select { display: block; width: 100%; min-height: 44px; padding: 10px 12px; margin-top: 7px; border: 1px solid #d4d4dc; border-radius: 8px; color: var(--ink); background: #fff; }
.tgns-field textarea { min-height: 92px; resize: vertical; line-height: 1.5; }
.tgns-field small, .tgns-block > small, [data-logo-fields] > small { display: block; margin-top: 7px; color: var(--muted); font-weight: 400; line-height: 1.55; }
.tgns-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tgns-font-picker { margin: 18px 0 20px; }
.tgns-font-label { display: block; margin-bottom: 10px; }
.tgns-font-label strong { display: block; color: #303037; font-size: 14px; letter-spacing: .035em; text-transform: uppercase; }
.tgns-font-label small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.tgns-font-current { display: flex; width: min(220px,100%); min-height: 47px; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 14px 7px 17px; border: 1px solid #ced0d8; border-radius: 7px; color: #202027; background: #fff; font-size: 24px; line-height: 1; cursor: pointer; box-shadow: 0 2px 8px rgba(30,31,42,.05); }
.tgns-font-current i { flex: 0 0 9px; width: 9px; height: 9px; border-top: 2px solid currentColor; border-left: 2px solid currentColor; transform: translateY(2px) rotate(45deg); transition: transform .18s ease; }
.tgns-font-current[aria-expanded="false"] i { transform: translateY(-2px) rotate(225deg); }
.tgns-font-current[aria-expanded="false"] + .tgns-font-grid { display: none; }
.tgns-font-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; margin-top: 9px; }
.tgns-font-card { position: relative; display: grid; min-width: 0; min-height: 53px; place-items: center; padding: 7px 5px; overflow: hidden; border: 1px solid #dedfe5; border-radius: 7px; color: #25252b; background: #fff; font-size: 16px; line-height: 1; cursor: pointer; transition: color .15s ease, border-color .15s ease, background-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.tgns-font-card > span { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tgns-font-card:hover { z-index: 1; border-color: #9aa6f8; box-shadow: 0 5px 14px rgba(54,87,245,.12); transform: translateY(-1px); }
.tgns-font-card.active, .tgns-font-card[aria-checked="true"] { color: #fff; border-color: var(--blue); background: linear-gradient(135deg,#5367ff,var(--blue)); box-shadow: 0 7px 17px rgba(54,87,245,.22); }
.tgns-font-card:focus-visible, .tgns-font-current:focus-visible { outline: 3px solid rgba(54,87,245,.28); outline-offset: 2px; }
.tgns-font-card b { position: absolute; top: 3px; right: 3px; padding: 2px 3px; border-radius: 2px; color: #fff; background: #5b63ff; font-family: Arial,sans-serif; font-size: 6px; font-style: normal; font-weight: 800; line-height: 1; letter-spacing: 0; }
.tgns-font-card.active b { color: var(--blue); background: #fff; }
.tgns-field input[type="range"] { width: 100%; margin: 15px 0 4px; accent-color: var(--blue); }
.tgns-field output { display: block; color: var(--muted); font-size: 12px; font-weight: 400; }
.tgns-upload { padding: 20px; border: 1px dashed #bdbdc7; border-radius: 10px; background: var(--soft); text-align: center; cursor: pointer; }
.tgns-upload input { margin-inline: auto; }
.tgns-colour { display: grid; grid-template-columns: 54px 1fr; gap: 12px; align-items: center; margin-top: 8px; }
.tgns-colour input { width: 54px; height: 42px; padding: 2px; border: 1px solid #d4d4dc; border-radius: 8px; background: #fff; cursor: pointer; }
.tgns-colour output { color: var(--muted); font-size: 12px; }
.tgns-swatches { display: flex; flex-wrap: wrap; gap: 9px; margin: 12px 0 18px; }
.tgns-swatches button { width: 31px; height: 31px; padding: 0; border: 3px solid #fff; border-radius: 50%; outline: 1px solid #cfcfd6; background: var(--tgns-swatch); box-shadow: 0 0 9px color-mix(in srgb, var(--tgns-swatch) 60%, transparent); cursor: pointer; }
.tgns-swatches button[aria-pressed="true"] { outline: 3px solid var(--blue); }
.tgns-size-presets { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; margin: 10px 0 16px; }
.tgns-size-presets button { padding: 11px 5px; border: 1px solid #d8d8df; border-radius: 9px; background: #fff; color: var(--ink); font-size: 12px; font-weight: 800; cursor: pointer; }
.tgns-size-presets button span { color: var(--muted); font-size: 9px; font-weight: 500; }
.tgns-size-presets button.active { color: #fff; border-color: var(--blue); background: var(--blue); }
.tgns-size-presets button.active span { color: rgba(255,255,255,.82); }
.tgns-callout { padding: 13px 15px; margin: 14px 0 0; border-left: 3px solid var(--pink); color: #54545e; background: #fff3fc; font-size: 12px; line-height: 1.6; }
.tgns-submit { display: flex; width: 100%; min-height: 54px; align-items: center; justify-content: space-between; padding: 14px 20px; border: 0; border-radius: 999px; color: #fff; background: var(--pink); font-weight: 800; cursor: pointer; box-shadow: 0 13px 30px rgba(244,59,212,.2); }
.tgns-submit:disabled { opacity: .55; cursor: wait; }
.tgns-fine { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; text-align: center; }
.tgns-error { padding: 11px 13px; margin: 0; border-radius: 8px; color: #a52727; background: #fff0f0; font-size: 12px; line-height: 1.5; }

.tgns-review { display: grid; grid-template-columns: .9fr 1.1fr; gap: 62px; width: min(1180px, calc(100% - 48px)); padding: 82px 0; margin: 0 auto; scroll-margin-top: 30px; }
.tgns-review-copy > p { color: var(--muted); line-height: 1.7; }
.tgns-review dl { display: grid; gap: 8px; margin: 28px 0; }
.tgns-review dl div { display: grid; grid-template-columns: 145px 1fr; gap: 15px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.tgns-review dt { color: var(--muted); font-size: 12px; }
.tgns-review dd { margin: 0; font-size: 13px; font-weight: 700; white-space: pre-line; }
.tgns-quote { padding: 28px; border: 1px solid var(--line); border-radius: 15px; box-shadow: 0 20px 60px rgba(24,24,34,.08); }
.tgns-consent { display: flex; gap: 9px; align-items: flex-start; margin: 16px 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.tgns-consent input { margin-top: 3px; }
.tgns-consent a { text-decoration: underline; }
.tgns-hp { position: absolute !important; left: -9999px !important; }
.tgns-success { grid-column: 1 / -1; padding: 48px; border-radius: 16px; background: #edfff2; text-align: center; }
.tgns-success h3 { margin: 0 0 12px; font-size: 35px; }
.tgns-success a { display: inline-block; margin-top: 15px; font-weight: 800; border-bottom: 1px solid; }

.tgns-included { background: #fff; }
.tgns-card-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 17px; width: min(1280px,100%); margin-inline: auto; }
.tgns-card-grid article { min-height: 230px; padding: 26px; border: 1px solid var(--line); border-radius: 13px; }
.tgns-card-grid span, .tgns-process li > b { color: var(--blue); font-size: 12px; letter-spacing: .12em; }
.tgns-card-grid h3 { margin: 48px 0 12px; font-size: 21px; font-weight: 600; }
.tgns-card-grid p, .tgns-process li p { margin: 0; color: var(--muted); line-height: 1.65; }

.tgns-gallery { background: #15151b; color: #fff; }
.tgns-gallery .tgns-kicker { color: #ff70dd; }
.tgns-gallery .tgns-section-head > p:last-child { color: #bcbcc7; }
.tgns-gallery-grid { display: grid; grid-template-columns: repeat(12,1fr); grid-auto-rows: 210px; gap: 14px; width: min(1280px,100%); margin-inline: auto; }
.tgns-gallery-grid button { grid-column: span 4; padding: 0; overflow: hidden; border: 0; border-radius: 12px; background: #252530; cursor: zoom-in; }
.tgns-gallery-grid button:nth-child(4n+1) { grid-column: span 7; }
.tgns-gallery-grid button:nth-child(4n+2) { grid-column: span 5; }
.tgns-gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.tgns-gallery-grid button:hover img { transform: scale(1.035); }
.tgns-gallery-empty { text-align: center; color: #aaa; }
.tgns-lightbox { position: fixed; z-index: 999999; inset: 0; display: grid; place-items: center; padding: 40px; background: rgba(0,0,0,.9); }
.tgns-lightbox img { max-width: min(1200px,92vw); max-height: 88vh; border-radius: 10px; }
.tgns-lightbox button { position: absolute; right: 20px; top: 15px; border: 0; color: #fff; background: none; font-size: 43px; cursor: pointer; }

.tgns-process { background: var(--soft); }
.tgns-process ol { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; width: min(1280px,100%); padding: 0; margin: 0 auto; list-style: none; }
.tgns-process li { min-height: 230px; padding: 27px; border-radius: 13px; background: #fff; }
.tgns-process h3 { margin: 50px 0 12px; font-size: 22px; font-weight: 600; }
.tgns-faq { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; align-items: start; width: min(1280px,100%); margin-inline: auto; }
.tgns-faq > div:last-child { border-top: 1px solid var(--line); }
.tgns-faq details { padding: 20px 0; border-bottom: 1px solid var(--line); }
.tgns-faq summary { position: relative; padding-right: 35px; font-weight: 800; cursor: pointer; list-style: none; }
.tgns-faq summary::after { content: "+"; position: absolute; right: 2px; top: -4px; color: var(--blue); font-size: 24px; font-weight: 400; }
.tgns-faq details[open] summary::after { content: "−"; }
.tgns-faq details p { max-width: 760px; margin: 14px 0 0; color: var(--muted); line-height: 1.7; }

@keyframes tgns-pulse { 0%,100% { opacity: .72; } 50% { opacity: 1; } }
@media (max-width: 1050px) {
  .tgns-hero-grid, .tgns-workspace, .tgns-review, .tgns-faq { grid-template-columns: 1fr; }
  .tgns-hero-grid { gap: 45px; }
  .tgns-preview { position: relative; top: auto; }
  .tgns-card-grid, .tgns-process ol { grid-template-columns: repeat(2,1fr); }
  .tgns-faq { gap: 35px; }
}
@media (max-width: 680px) {
  .tgns-shell { width: min(100% - 28px,1280px); }
  .tgns-hero, .tgns-hero-grid { min-height: auto; }
  .tgns-hero-grid { padding-block: 62px; }
  .tgns-hero-art { min-height: 300px; padding: 25px; }
  .tgns-neon-word { font-size: 60px; -webkit-text-stroke-width: 3px; }
  .tgns-studio, .tgns-included, .tgns-gallery, .tgns-process, .tgns-faq { padding: 68px 14px; }
  .tgns-section-head { margin-bottom: 34px; }
  .tgns-preview, .tgns-block, .tgns-quote { padding: 14px; }
  .tgns-two, .tgns-card-grid, .tgns-process ol { grid-template-columns: 1fr; }
  .tgns-font-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
  .tgns-font-card { min-height: 51px; font-size: 14px; }
  .tgns-size-presets { grid-template-columns: repeat(2,1fr); }
  .tgns-size-line { flex-direction: column; gap: 5px; }
  .tgns-review { width: min(100% - 28px,1180px); padding: 60px 0; gap: 30px; }
  .tgns-review dl div { grid-template-columns: 110px 1fr; }
  .tgns-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 240px; }
  .tgns-gallery-grid button, .tgns-gallery-grid button:nth-child(n) { grid-column: auto; }
  .tgns-card-grid article, .tgns-process li { min-height: 190px; }
}
@media (max-width: 380px) {
  .tgns-font-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .tgns *, .tgns *::before, .tgns *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
