/* ===============================
   PTLINK FONT SYSTEM (FINAL)
   Single Source of Truth
=============================== */
/* Pretendard Variable is loaded from HTML <head> via pretendardvariable.css */
:root {
  --ptlk-font:
    "Pretendard", sans-serif;
}
html,
body,
button,
input,
textarea,
select {
  font-family: var(--ptlk-font);
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}
/* ===============================
   Pretendard Variable (Unified)
   =============================== */
/*----------------------------------------------------------------------------------------------------------------------
Project:	    Preus
Version:        1.0.0

Default Color   #000;
Background Color  #fff;

Body copy:		'Poppins', sans-serif; 16px;
Headers:		'Poppins', sans-serif;

----------------------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------------------------
[Table of contents]

A. Basic Styling
  -- Styling

B. Helpers
  -- animations
  -- align
  -- borders
  -- colors
  -- column-count
  -- background
  -- height
  -- margin
  -- list
  -- no-gutters
  -- opacity
  -- overflow
  -- padding
  -- position
  -- shadow
  -- typography
  -- title
  -- transitions
  -- utilities
  -- video-bg
  -- width
  -- z-index

C. Components
  -- block
  -- blockquote
  -- blog
  -- box
  -- buttons
  -- card
  -- circle
  -- description-list
  -- forms
  -- footer
  -- gallery
  -- hr
  -- inputs
  -- item
  -- list
  -- loading-screen
  -- map
  -- member
  -- hero
  -- navbar
  -- page
  -- partners

D. Plugins Styles
  -- Magnific Popup
  -- Owl Carousel

E. Template Specific Elements
  -- Other

----------------------------------------------------------------------------------------------------------------------*/
/***********************************************************************************************************************

/* =========================
   PTLINK FONT: Pretendard (Global)
========================= */
:root {
  --ptlk-font:
    "Pretendard", sans-serif;
}
html,
body {
  font-family: var(--ptlk-font);
}
button,
input,
textarea,
select {
  font-family: inherit;
}
A. Basic Styling ***********************************************************************************************************************/ /*-------------------------------------------
  -- Styling - Colors, Font Size, Font Family
-------------------------------------------*/ /* =========================
   PTLINK FONT:
font-size: 1rem;
    margin: 0;
    padding: 0;
}

html {
    font-size: 90%;
}

@media (min-width: 36rem) and (max-width: 47.9375rem) {
    html {
        font-size: 85%;
    }
}

@media (min-width: 48rem) and (max-width: 61.9375rem) {
    html {
        font-size: 90%;
    }
}

@media (min-width: 62rem) and (max-width: 74.9375rem) {
    html {
        font-size: 95%;
    }
}

@media (min-width: 75rem) {
    html {
        font-size: 100%;
    }
}

h1, .ts-h1 {
    font-size: 2.5rem;
    font-weight: 600;
    margin-bottom: .5rem;
}

@media (min-width: 48rem) {
    h1, .ts-h1 {
        font-size: 3rem;
    }
}

@media (min-width: 75rem) {
    h1, .ts-h1 {
        font-size: 4.5rem;
    }
}

@media (min-width: 62rem) {
    h1, .ts-h1 {
        margin-bottom: 1rem;
    }
}

h2, .ts-h2 {
    font-size: 1.625rem;
    font-weight: 300;
}

@media (min-width: 48rem) {
    h2, .ts-h2 {
        font-size: 1.875rem;
    }
}

@media (min-width: 75rem) {
    h2, .ts-h2 {
        font-size: 2.25rem;
    }
}

h3, .ts-h3 {
    font-size: 1.5rem;
    margin-bottom: 1.5625rem;
}

@media (min-width: 36rem) {
    h3, .ts-h3 {
        font-size: 1.375rem;
    }
}

@media (min-width: 75rem) {
    h3, .ts-h3 {
        font-size: 1.875rem;
    }
}

h4, .ts-h4 {
    font-size: 1.25rem;
    margin-bottom: 1.875rem;
    font-weight: 300;
}

@media (min-width: 48rem) {
    h4, .ts-h4 {
        font-size: 1.5rem;
    }
}

h5, .ts-h5 {
    font-size: 1.125rem;
}

@media (min-width: 36rem) {
    h5, .ts-h5 {
        font-size: 1.25rem;
    }
}

h6, .ts-h6 {
    font-size: 1rem;
}

/***********************************************************************************************************************
B. Helpers
***********************************************************************************************************************/ /*-------------------------------------------
  -- Animations
-------------------------------------------*/ [data-animate] {
  opacity: 0;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-timing-function: cubic-bezier(0.67, 0.01, 0.08, 0.99);
  animation-timing-function: cubic-bezier(0.67, 0.01, 0.08, 0.99);
}
/* Fade In Up */
/* Fade In Down */
/* Fade In Left */
/* Fade In Right */
/* Zoom In */
/* Zoom Out In */
/* Zoom In Short */
/* Reveal */
[data-animate="ts-reveal"] {
  opacity: 1;
}
[data-animate="ts-reveal"].animated .wrapper span {
  -webkit-transform: translateY(0%);
  transform: translateY(0%);
}
[data-animate="ts-reveal"] .wrapper {
  display: inline-block;
  margin-bottom: -1rem;
  overflow: hidden;
}
[data-animate="ts-reveal"] .wrapper span {
  display: inline-block;
  transition: -webkit-transform 0.8s cubic-bezier(0.67, 0.01, 0.08, 0.99);
  transition: transform 0.8s cubic-bezier(0.67, 0.01, 0.08, 0.99);
  transition:
    transform 0.8s cubic-bezier(0.67, 0.01, 0.08, 0.99),
    -webkit-transform 0.8s cubic-bezier(0.67, 0.01, 0.08, 0.99);
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}
/* -- Align */
/*-------------------------------------------
  -- Borders
-------------------------------------------*/
:root {
  /* Border radius */
  /* Border bottom */
}
/*-------------------------------------------
  -- Background
-------------------------------------------*/
.ts-background {
  bottom: 0;
  left: 0;
  height: 100%;
  overflow: hidden;
  position: absolute;
  width: 100%;
  z-index: -2;
}
.ts-background .ts-background {
  height: 100%;
  width: 100%;
}
.ts-background-repeat {
  background-repeat: repeat !important;
  background-size: inherit !important;
}
.ts-background-repeat .ts-background-image {
  background-repeat: repeat;
  background-size: inherit;
}
.ts-background-is-dark .form-control {
  box-shadow: 0 0 0 0.125rem rgba(255, 255, 255, 0.2);
}
.ts-background-is-dark .form-control:focus {
  box-shadow: 0 0 0 0.125rem rgba(255, 255, 255, 0.4);
}
.ts-video-bg {
  height: 100%;
}
.ts-video-bg .fluid-width-video-wrapper {
  height: 100%;
}
.ts-bg-black {
  background-color: #000;
}
/*-------------------------------------------
  -- Height
-------------------------------------------*/
.ts-height--100vh {
  height: 100vh;
}
/*-------------------------------------------
  -- Margin
-------------------------------------------*/
.text-white .list.list-dashed li h4:before {
  background-color: #fff;
}
/*-------------------------------------------
  -- No Gutters - Removes padding from col*
-------------------------------------------*/
.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.no-gutters > .col,
.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}
/*-------------------------------------------
  -- Opacity
-------------------------------------------*/
.ts-opacity__80 {
  opacity: 0.8;
}
/*-------------------------------------------
  -- Overflow
-------------------------------------------*/
/*-------------------------------------------
  -- Padding
-------------------------------------------*/
/*-------------------------------------------
  -- Position
-------------------------------------------*/
/* Top */
/* Right */
/* Bottom */
/* Left */
/*-------------------------------------------
  -- Shadow
-------------------------------------------*/
:root {
  /* Box shadow */
}
/*-------------------------------------------
  -- Typography
-------------------------------------------*/
a {
  color: #000;
  transition: 0.3s ease;
}
a:hover {
  color: #000;
  text-decoration: none;
}
a.ts-link {
  font-weight: 600;
  text-decoration: underline;
  text-transform: uppercase;
}
p {
  line-height: 1.6875rem;
  margin-bottom: 1.875rem;
  opacity: 0.5;
}
.ts-text-muted---white {
  color: rgba(255, 255, 255, 0.6) !important;
}
.ts-text-muted---white a {
  color: rgba(255, 255, 255, 0.6) !important;
}
.ts-text-muted---white a:hover {
  color: #fff !important;
}
.text-white a:not(.btn) {
  color: #fff;
}
.ts-text-black a:not(.btn) {
  color: #000 !important;
}
/*-------------------------------------------
  -- Title
-------------------------------------------*/
.ts-title {
}
@media (max-width: 35.9375rem) {
  .ts-title {
    margin-bottom: 2rem;
  }
}
@media (min-width: 36rem) and(max-width: 61.9375rem) {
  .ts-title {
    margin-bottom: 2.25rem;
  }
}
@media (min-width: 62rem) {
  .ts-title {
    margin-bottom: 2.5rem;
  }
}
.ts-title h5 {
  font-weight: normal;
  opacity: 0.5;
}
:root {
  /* Transition */
  /*--tr-cubic: .5s cubic-bezier(.03,.18,.05,1.01);*/
}
/*-------------------------------------------
  -- Utilities
-------------------------------------------*/
/* Social Icons */
/* Overlay */
/* Flip x */
/* Flip Y */
.ts-video-bg {
  height: 100%;
}
.ts-video-bg .fluid-width-video-wrapper {
  height: 100%;
}
.ts-video-bg iframe {
  border: 0;
  height: 100%;
  width: 100%;
}
/*-------------------------------------------
  -- Width
-------------------------------------------*/
/*-------------------------------------------
  -- Z-index
-------------------------------------------*/
/***********************************************************************************************************************
C. Components
***********************************************************************************************************************/
/*-------------------------------------------
  -- Block
-------------------------------------------*/
.ts-block {
  padding-bottom: 4rem;
  padding-top: 4rem;
  position: relative;
}
@media (min-width: 62rem) and(max-width: 74.9375rem) {
  .ts-block {
    padding-bottom: 8rem;
    padding-top: 8rem;
  }
}
@media (min-width: 75rem) {
  .ts-block {
    padding-bottom: 9rem;
    padding-top: 9rem;
  }
}
section {
  position: relative;
}
/*-------------------------------------------
  -- Blockquote
-------------------------------------------*/
blockquote h2 {
  margin-bottom: 2rem;
}
.ts-blog-thumb .ts-blog-image:hover .ts-background-image {
  opacity: 0.5;
}
.ts-blog-thumb .ts-blog-image .ts-background-image {
  transition: 0.3s ease;
}
/*-------------------------------------------
  -- Box
-------------------------------------------*/
/*-------------------------------------------
  -- Buttons
-------------------------------------------*/
.btn {
  border-width: 0.125rem;
  box-shadow: none;
  font-weight: 600;
  font-size: 0.875rem;
  padding: 1.2rem 2.5rem;
  position: relative;
  outline: none !important;
  text-decoration: underline;
  text-transform: uppercase;
}
.btn:hover {
  text-decoration: underline;
}
.btn:hover .fa-arrow-right {
  -webkit-transform: translateX(0.5rem);
  transform: translateX(0.5rem);
}
.btn.btn-sm {
  padding: 0.75rem 1.5rem;
}
.btn.ts-btn-arrow:after {
  content: "";
  font-family: "Pretendard", sans-serif;
  font-weight: 700;
  font-size: 0.625rem;
  margin-left: 0.75rem;
  position: relative;
  top: -0.0625rem;
  vertical-align: middle;
}
.btn span {
  transition: 0.3s ease;
}
.btn .status {
  bottom: 0;
  height: 1.375rem;
  left: 0;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  width: 1.5rem;
}
.btn .status .spinner {
  left: 0.3125rem;
  transition: 0.3s ease;
  top: 0.1875rem;
  position: absolute;
  opacity: 0;
}
.btn .status .status-icon {
  border-radius: 50%;
  left: 0;
  opacity: 0;
  font-size: 0.625rem;
  padding: 0.25rem 0.4375rem;
  position: relative;
  transition: 0.3s ease;
  z-index: 1;
  -webkit-transform: scale(0);
  transform: scale(0);
}
.btn .status .status-icon.valid {
  background-color: green;
}
.btn .status .status-icon.invalid {
  background-color: red;
}
.btn.processing span {
  opacity: 0.2;
}
.btn.processing .spinner {
  opacity: 1;
}
.btn.done .ts-spinner {
  opacity: 0;
}
.btn.done .status-icon {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}
.btn-primary {
  background-color: #000;
  border-color: #000;
  color: #fff;
}
.btn-primary:hover {
  background-color: #000;
  border-color: #000;
  box-shadow: none;
}
.btn-primary:focus {
  background-color: #000;
  border-color: #000;
  box-shadow: none;
}
.btn-primary:active {
  background-color: #000;
  border-color: #000;
  box-shadow: none;
}
.btn-sm {
  font-size: 0.8125rem;
  padding: 0.375rem 1rem;
}
[class*="btn-outline-"] {
  box-shadow: none;
}
/*
  &:hover {
    color: var(--color-white);
    &:before {
      animation: ts-link-arrow-effect-animation-in;
      animation-fill-mode: forwards;
      animation-duration: .4s;
      animation-timing-function: cubic-bezier(.6,.01,0,1);
    }
    span {
      transform: translateX(0%);
    }
  }
  */
/*-------------------------------------------
  -- Card
-------------------------------------------*/
.card {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border: none;
  box-shadow: 0.125rem 0.1875rem 0.9375rem rgba(0, 0, 0, 0.15);
  overflow: hidden;
}
.card-columns .card {
  margin-bottom: 1.25rem;
}
.ts-cards-same-height > div[class*="col-"] {
  display: flex;
}
.ts-cards-same-height > div[class*="col-"] .card {
  width: 100%;
}
/*-------------------------------------------
  -- Circle
-------------------------------------------*/
[class*="ts-circle"] {
  position: relative;
}
/* --Description */
/*-------------------------------------------
  -- Forms
-------------------------------------------*/
form label,
.ts-form label {
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
}
.form-control {
  height: auto;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
#ts-footer #ts-footer-main {
  border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.3);
  padding-bottom: 6rem;
  padding-top: 6rem;
}
@media (min-width: 48rem) {
  #ts-footer #ts-footer-main {
    padding-bottom: 8rem;
    padding-top: 8rem;
  }
}
#ts-footer nav .nav-link {
  text-decoration: underline;
  padding-left: 0;
}
#ts-footer nav .nav-link:first-child {
  padding-top: 0;
}
.ts-gallery.no-gutters .ts-gallery__item {
  margin-bottom: 0;
}
.ts-gallery__item {
  border-radius: 0;
  display: flex;
  margin-bottom: 2rem;
  justify-content: flex-end;
  position: relative;
  padding: 2rem;
  overflow: hidden;
  width: 100.1%;
}
@media (min-width: 36rem) {
  .ts-gallery__item {
    padding: 2rem;
  }
}
.ts-gallery__item.ts-gallery__item--big {
  height: 40rem;
}
.ts-gallery__item .ts-gallery__item-description {
  margin-bottom: 0;
  color: #fff;
  z-index: 1;
}
.ts-gallery__item.ts-floated-description {
  background-color: #000;
}
.ts-gallery__item.ts-floated-description .ts-background {
  opacity: 0.6;
}
.ts-gallery__item:hover .ts-background {
  -webkit-transform: scale(1.1) rotate(0.01deg);
  transform: scale(1.1) rotate(0.01deg);
}
.ts-gallery__item.ts-half {
}
@media (min-width: 36rem) {
  .ts-gallery__item.ts-half {
    height: calc(12.5rem - 1rem);
  }
}
.ts-gallery__item h3 {
  font-weight: 400;
  font-size: 2rem;
  /*text-decoration: underline;*/
}
@media (min-width: 36rem) {
  .ts-gallery__item h3 {
    font-size: 2.625rem;
  }
}
.ts-gallery__item .ts-background {
  -webkit-transform: scale(1) rotate(0.01deg);
  transform: scale(1) rotate(0.01deg);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: 0.8s ease;
  z-index: 0;
}
/*-------------------------------------------
  -- HR
-------------------------------------------*/
/*-------------------------------------------
  -- Inputs
-------------------------------------------*/
/*-------------------------------------------
  -- List
-------------------------------------------*/
/*-------------------------------------------
  -- Loading Screen
-------------------------------------------*/
body.has-loading-screen:before {
  background-color: #000;
  content: "";
  height: 100%;
  right: 0;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 9999;
  opacity: 1;
  pointer-events: none;
  transition: opacity 0.6s ease, visibility 0s linear 0.6s;
  visibility: visible;
}
body.has-loading-screen:after {
  content: url("../../assets/img/loading.svg");
  height: 2.5rem;
  width: 2.5rem;
  position: fixed;
  margin: auto;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
  transition: 1.5s ease;
  top: 0;
  z-index: 10000;
}
body.has-loading-screen .ts-page-wrapper {
  visibility: hidden;
}
body.has-loading-screen #main-navigation,
body.has-loading-screen #brand-navigation {
  display: none;
}
body.has-loading-screen.loading-done:before {
  opacity: 0;
  visibility: hidden;
}
body.has-loading-screen.loading-done:after {
  -webkit-transform: scale(0);
  transform: scale(0);
  opacity: 0;
}
body.has-loading-screen.loading-done .ts-page-wrapper {
  visibility: visible;
}
body.has-loading-screen.loading-done #main-navigation,
body.has-loading-screen.loading-done #brand-navigation {
  display: block;
}
/*-------------------------------------------
  -- Map
-------------------------------------------*/
.map a[href^="http://maps.google.com/maps"] {
  display: none !important;
}
.map a[href^="https://maps.google.com/maps"] {
  display: none !important;
}
/*-------------------------------------------
  -- Hero
-------------------------------------------*/
#ts-hero {
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}
#ts-hero .ts-background-image {
  background-position: top center;
}
/*-------------------------------------------
  -- Navbar
-------------------------------------------*/
#main-navigation .navbar {
  /*align-items: flex-start;*/
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #1f1f1f;
  border-right: 0.0625rem solid rgba(255, 255, 255, 0.2);
  font-size: 1.5rem;
  font-weight: 600;
  padding: 0;
  transition: 0.5s cubic-bezier(0.77, 0, 0.18, 1);
  overflow-x: hidden;
  overflow-y: auto;
  padding-top: 2rem;
}
#main-navigation .navbar.navbar-light {
  background-color: #fff;
  border-right: 0.0625rem solid rgba(0, 0, 0, 0.2);
}
#main-navigation
  .navbar.navbar-light
  .navbar-nav
  > .nav-item
  > .nav-link::after {
  background-color: #000;
}
#main-navigation .navbar.navbar-light .nav-link {
  color: #000;
}
#main-navigation .navbar-nav {
  padding: 3.5rem 2.125rem;
  width: 100%;
}
#main-navigation .navbar-nav > .nav-item > .nav-link:after {
  background-color: #fff;
  content: "";
  height: 0.125rem;
  left: 0;
  bottom: 0.25rem;
  position: absolute;
  width: 0;
  opacity: 0.2;
  transition: 0.5s cubic-bezier(0.77, 0, 0.18, 1);
}
#main-navigation .navbar-nav > .nav-item > .nav-link.active:after {
  width: 100%;
  opacity: 1;
}
#main-navigation
  .navbar-nav
  > .nav-item
  > .nav-link[aria-expanded="true"]:not(.active) {
  opacity: 0.6;
}
#main-navigation .navbar-nav > .nav-item .nav {
  font-size: 75%;
  padding: 0.5rem 0;
}
#main-navigation .nav-item:focus-within .nav-link {
  opacity: 0.6;
}
#main-navigation .nav-item:focus-within .nav-link:hover {
  opacity: 1;
}
#main-navigation .nav-link {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  white-space: nowrap;
  color: #fff;
  position: relative;
  opacity: 0.3;
}
#main-navigation .nav-link:hover {
  opacity: 0.6;
  transition-delay: 0s;
  padding-left: 0.25rem;
}
#main-navigation .nav-link.active,
#main-navigation .nav-link.active:focus-within {
  opacity: 1;
}
#main-navigation .nav-link[data-toggle="collapse"]:before {
  content: "▾";
  position: absolute;
  right: 0;
  font-size: 0.875rem;
  top: 0;
  height: 1rem;
  bottom: 0;
  margin: auto;
  transition: 0.8s ease;
  opacity: 0;
}
#main-navigation
  .nav-link[data-toggle="collapse"][aria-expanded="true"]:before {
  content: "▴";
}
#main-navigation .nav-link span {
  transition: 0.5s cubic-bezier(0.77, 0, 0.18, 1);
}
#main-navigation .nav-link .ts-hidden {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateX(0.375rem);
  transform: translateX(0.375rem);
  visibility: hidden;
  width: 100%;
}
#brand-navigation .container {
  display: flex;
  align-items: center;
  position: relative;
}
#brand-navigation .navbar-toggler {
  border-radius: 0;
  color: #fff;
  border: none;
  padding: 1rem;
  outline: none !important;
  transition: 0.3s ease;
  z-index: 1;
}
#brand-navigation .ts-content {
  left: 0;
  width: 100%;
}
.navbar-brand {
  margin-right: 0;
}
body.nav-hovered .ts-content {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
body.nav-hovered #main-navigation .navbar {
  width: 100%;
}
body.nav-hovered #main-navigation .navbar .ts-hidden {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  visibility: visible;
}
body.nav-hovered
  #main-navigation
  .navbar
  .nav-link[data-toggle="collapse"]:before {
  opacity: 1;
}
body.nav-hovered #main-navigation .navbar-toggler {
  left: auto;
  right: 0;
}
/*-------------------------------------------
  -- Page
-------------------------------------------*/
.ts-page-wrapper {
  overflow: hidden;
}
.ts-content {
}
@media (max-width: 35.9375rem) {
  .ts-content {
    margin-top: 0rem;
  }
}
/*-------------------------------------------
  -- Partners
-------------------------------------------*/
/*-------------------------------------------
  -- Progress
-------------------------------------------*/
/*-------------------------------------------
  -- Promo Numbers
-------------------------------------------*/
.text-white .ts-promo-number figure {
  border-bottom: 0.25rem solid #fff;
}
/*-------------------------------------------
  -- Slider
-------------------------------------------*/
.ts-slider .ts-slide .ts-background img,
.ts-slider .ts-slide .ts-background-image img {
  display: none !important;
}
/***********************************************************************************************************************
D. Plugins Styles
***********************************************************************************************************************/
/*-------------------------------------------
  -- Magnific Popup
-------------------------------------------*/
/* overlay at start */
/* overlay animate in */
/* overlay animate out */
/* content at start */
/* content animate it */
/* content animate out */
/*-------------------------------------------
  -- Owl Carousel
-------------------------------------------*/
/***********************************************************************************************************************
E. Template Specific Elements
***********************************************************************************************************************/
/*-------------------------------------------
  -- Other
-------------------------------------------*/
/* 여기부터 AI가 만드는 추가되는 코드 */
/* 기존 메뉴바 관련 스타일 (변경 없음) */
.navbar {
  /* 반응형: 화면이 작을 땐 100%, 큰 화면에선 최대 1200px */
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
}
.navbar-dark .navbar-nav .nav-link {
  color: white;
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
  color: #1e73ff;
}
.navbar-dark .navbar-brand {
  color: white;
}
.custom-navbar {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  background: linear-gradient(
    15deg,
    rgba(0, 0, 0, 0.8) 0%,
    rgba(0, 0, 0, 0.8) 100%
  );
  border-radius: 0 0 20px 20px;
  padding: 7px 13px 7px 7px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.05) inset;
  transition: background-color 0.3s ease;
}
.custom-navbar:hover {
  background: black;
}
.navbar-nav .dropdown-menu {
  display: block;
  visibility: hidden;
  opacity: 0;
  max-height: 0;
  overflow: visible;
  /* ::before가 보이도록 */
  background-color: white;
  transition:
    visibility 0s,
    opacity 0.2s linear,
    max-height 0.2s ease-in-out;
  transition-delay: 0s, 0s, 0s;
  position: relative;
  /* 가상 요소 기준 */
  border: 1px solid black;
  border-top: none;
  /* 상단 라인은 ::before로 대체 */
  border-radius: 0;
  /* 각진 사각형으로 변경 */
}
.navbar-nav .dropdown:hover .dropdown-menu {
  visibility: visible;
  opacity: 1;
  max-height: 500px;
  transition-delay: 0s, 0s, 0s;
}
/* 상단 라인 애니메이션을 위한 ::before 가상 요소 */
.navbar-nav .dropdown-menu::before {
  content: "";
  position: absolute;
  top: -5px;
  /* 메뉴 상단 외부에 위치 */
  left: 0;
  right: 0;
  height: 5px;
  /* 라인 두께 */
  background: #1e73ff;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.5s ease;
}
/* 드롭다운 메뉴 호버 시 상단 라인이 중앙에서 양쪽 끝으로 확장 */
.navbar-nav .dropdown:hover .dropdown-menu::before {
  transform: scaleX(1);
}
.navbar-nav .dropdown-menu .dropdown-item {
  color: black;
}
.navbar-nav .dropdown-menu .dropdown-item:hover,
.navbar-nav .dropdown-menu .dropdown-item:focus {
  background-color: #1e73ff !important;
}
/* 페이지 전체에 적용할 오버레이 */
.page-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  pointer-events: none;
  z-index: 1020;
  /* 메뉴바(1030)보다 낮은 z-index */
  transition: background 0.3s ease;
}
/* 메뉴바에 마우스가 올라가 있을 때, 오버레이 효과 적용 */
.custom-navbar:hover ~ .page-overlay {
  background: rgba(0, 0, 0, 0.5);
}
/* 여기부터 AI가 만드는 추가되는 코드(마우스 커서 따라다.) */
/* -------------------------------------------

cursor

------------------------------------------- */
/* 기존 세로 스크롤바 스타일: 색상, 너비 등 */
/* 여기서부터 “가로 스크롤바”만 제거 */
/* 글자 애니메이션 효과 */
/* gallery 안에서만 background/position 리셋 */
.ts-gallery__item .ts-background,
.ts-gallery__item .ts-img-into-bg {
  position: static;
  /* 아이템 흐름 안에 두고 */
  background: none;
  /* background-image 가 없다면 투명 */
  width: 100%;
  height: auto;
  overflow: visible;
}
/* 숨겨진 <img> 노출 */
.ts-gallery__item .ts-img-into-bg img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
/* 아이템 높이는 이미지에 맡김 */
.ts-gallery__item {
  display: block;
  height: auto;
  padding: 0;
  /* 원하면 여백만 조절 */
}
/* =========================
   Accessibility / SEO
========================= */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* Premium CTA Box Base */
/* 흰색 페이드 레이어 */
/* 텍스트 */
/* 라이트 스윕(은은한 포인트) */
/* Hover 효과 */
/* Focus 접근성 */
/* Mobile */
/* Hero CTA Button - Premium Fade + Gradient Line + Ripple */
/* 텍스트는 레이어 위로 */
/* 1) 흰색 페이드 배경 레이어 */
/* 2) 미세한 그라데이션 라인(프리미엄 테두리 느낌)
   - 평소엔 거의 안 보이고, hover에서만 은은하게 살아납니다. */
/* Hover */
/* 흰 배경 페이드 인 */
/* 배경이 흰색으로 바뀔 때 글자도 검은색으로 */
/* Primary (문의 버튼 살짝 강조) */
/* 3) Soft Ripple (클릭 터치감)
   - pseudo-element로 생성, 클릭 시 애니메이션 */
/* =========================
   PTLINK Paper Section (V2)
   - 두 번째 이미지 느낌(문서형 + 청록 박스)
   - 상단/하단 가운데 정렬
   - 모바일 대응
========================= */
/* 상단 헤더 박스: 가운데 정렬 */
/* 본문 */
/* 3열 그리드 */
/* 청록 박스 */
/* 숫자 3박스 */
/* 차별화 4박스 */
/* 하단 한 줄: 가운데 정렬 */
/* 반응형 */
/* 갤러리 캡션/태그(링크 밖) - 레이아웃 안 깨짐 */
/* ===== 포트폴리오 상단 라운딩 태그 1줄 정렬 ===== */
/* =====================================================
   1. 라운드 박스 사이 구분점(·, •) 완전 제거
===================================================== */
.pf-tags li::before,
.pf-tags li::after,
.pf-tags a::before,
.pf-tags a::after,
.pf-tags span::before,
.pf-tags span::after,
.hero-internal-links a + a::before {
  content: none !important;
  display: none !important;
}
/* =====================================================
   2. 라운드 박스(태그) 스타일 – 작게, 어둡게, 1줄
===================================================== */
/* =========================
   pf-tags: 불릿(점) 원천 제거 + 1줄 정렬 유지
========================= */
.pf-tags {
  list-style: none !important;
  /* ✅ 기본 불릿 제거 */
  padding-left: 0 !important;
  /* ✅ 기본 들여쓰기 제거 */
  margin: 10px 0 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}
.pf-tags li {
  list-style: none !important;
  /* ✅ 브라우저/리셋 충돌 대비(이중 안전장치) */
  margin: 0 !important;
  font-size: 0.72rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.22);
  padding: 6px 14px;
  border-radius: 999px;
  white-space: nowrap;
}
/* 혹시 어딘가에서 marker를 건드렸다면 이것도 차단 */
.pf-tags li::marker {
  content: "" !important;
}
/* =====================================================
   3. 제목(상단 문장) – 조금 더 밝게 + 중앙정렬
===================================================== */
/* =========================
   pf-meta 제목: 밝게 + 중앙정렬
========================= */
.pf-meta {
  text-align: center;
}
.pf-cap {
  text-align: center;
  color: rgba(255, 255, 255, 0.88);
  /* ✅ 조금 더 밝게 */
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55);
  margin-top: 10px;
}
.pf-cap .pf-sub {
  color: rgba(255, 255, 255, 0.65);
  font-weight: 400;
}
/* 라벨(제목+태그) 영역과 다음 섹션 사이 간격 확보 */
.pf-meta {
  padding-bottom: 5px;
  /* 내부 아래 여백 */
  margin-bottom: 5px;
  /* 다음 요소와 거리 */
}
/* 태그(라운딩 박스) 자체 아래 여백 */
.pf-tags {
  margin-bottom: 10px !important;
}
/* =========================
   포트폴리오 '자세히 보기' 버튼
========================= */
/* ===== 태그 기본 (글자 더 작게) ===== */
.pf-tags li {
  font-size: 0.68rem;
  /* 기존보다 더 작게 */
  font-weight: 500;
  color: rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.22);
  padding: 5px 12px;
  border-radius: 999px;
  white-space: nowrap;
}
/* ===== '자세히 보기' 전용 ===== */
.pf-tags li.pf-more {
  padding: 0;
  /* a 태그에 맡김 */
  background: transparent;
  border: none;
}
.pf-tags li.pf-more a {
  display: inline-block;
  font-size: 0.66rem;
  /* 태그보다 더 작게 */
  font-weight: 600;
  color: rgba(255, 255, 255, 0.65);
  text-decoration: none;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px dashed rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.02);
  transition: all 0.25s ease;
}
.pf-tags li.pf-more a:hover {
  color: rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.45);
}
.ptlk-trust {
  max-width: 980px;
  margin: 0 auto;
}
.ptlk-trust__desc {
  margin: 0 auto 10px;
  line-height: 1.7;
  opacity: 0.9;
}
/* 인증 로고 박스 */
.ptlk-trust__logo-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: #000;
  padding: 18px 22px;
  border-radius: 16px;
  margin: 10px auto 0;
}
/* 로고 이미지 공통 */
.ptlk-trust__logo-wrap img {
  width: 150px;
  height: auto;
  background: transparent;
}
/* =========================
   TRUST LOGO WRAP (Smaller)
========================= */
.ptlk-trust__logo-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px 14px;
  /* 간격도 함께 소폭 축소 */
  margin: 12px auto 0;
  max-width: 880px;
  /* ✅ 여기 수정 */
  padding: 6px 8px;
  /* 상하 3px, 좌우 8px */
}
.ptlk-trust__logo-wrap img {
  display: block;
  height: auto;
  max-width: 150px;
  /* ▼ 기존 180px → 150px */
  width: clamp(105px, 18vw, 150px);
  object-fit: contain;
}
/* 태블릿 */
@media (max-width: 991.98px) {
  .ptlk-trust__logo-wrap {
    gap: 10px 12px;
    max-width: 680px;
  }
}
/* 모바일 */
@media (max-width: 575.98px) {
  .ptlk-trust__logo-wrap {
    gap: 8px 10px;
  }
  .ptlk-trust__logo-wrap img {
    width: calc(50% - 10px);
    /* 2열 유지 */
    max-width: 140px;
  }
}
/* 소형 모바일 */
@media (max-width: 380px) {
  .ptlk-trust__logo-wrap img {
    max-width: 130px;
  }
}
/* =====================================================================
   PTLINK OVERRIDES (merged from overrides.css)
   - Keep this block at the END of style.css so it can override earlier rules
   ===================================================================== */
/*
  overrides.css
  This external stylesheet consolidates styles previously written inline within the HTML.
  Moving styles to an external file helps search engines reach the main content faster,
  improving load performance and crawl budget as recommended by SEO best practices【776764114552513†L89-L100】.
*/
/* Review section styling */
/* Review section (id updated to match index.html) */
#ptlk-reviews {
  background-color: #111;
  color: #ffffff;
  padding: 2rem 1rem;
  position: relative;
  overflow: hidden;
}
#ptlk-reviews .review-container {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: 1rem;
}
#ptlk-reviews .review-card {
  background-color: #222;
  color: #ffffff;
  border-radius: 8px;
  padding: 1rem;
  min-width: 280px;
  max-width: 320px;
  flex: 0 0 auto;
  scroll-snap-align: start;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
#ptlk-reviews .review-profile {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
}
#ptlk-reviews .review-profile img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  margin-right: 0.5rem;
}
#ptlk-reviews .review-name {
  font-weight: 700;
  margin-right: 0.5rem;
}
#ptlk-reviews .review-title {
  font-size: 0.875rem;
  color: #cccccc;
}
#ptlk-reviews .review-rating {
  color: #d1d5db;
  margin-bottom: 0.5rem;
}
#ptlk-reviews .review-body {
  font-size: 0.95rem;
  line-height: 1.4;
  margin-bottom: 0.5rem;
}
#ptlk-reviews .review-date {
  font-size: 0.75rem;
  color: #aaaaaa;
}
/* Fading gradients at edges of review list */
#ptlk-reviews .fade-gradient {
  position: absolute;
  top: 0;
  width: 60px;
  height: 100%;
  pointer-events: none;
}
#ptlk-reviews .fade-gradient.left {
  left: 0;
  background: linear-gradient(to right, #111 0%, rgba(17, 17, 17, 0) 100%);
}
#ptlk-reviews .fade-gradient.right {
  right: 0;
  background: linear-gradient(to left, #111 0%, rgba(17, 17, 17, 0) 100%);
}
/* Note text below reviews */
#ptlk-reviews .review-note {
  color: #cccccc;
  font-size: 0.85rem;
  margin-top: 0.5rem;
}
/* Responsive adjustments */
@media (max-width: 768px) {
  #ptlk-reviews .review-card {
    min-width: 80%;
  }
}
/* Kakao chat icon sizing */
/* Remove underline and shadow effects from org chart items */
/* Custom hero left alignment (User request: reposition hero content left on desktop) */
@media (min-width: 992px) {
  /* Align the hero block (#ts-hero > .container) to the left side of the viewport while leaving some breathing room */
  #ts-hero .container {
    margin-left: clamp(64px, 8vw, 240px);
    margin-right: auto;
    text-align: left;
    align-items: flex-start;
  }
  /* Ensure the hero title, subcopy and services align left within the shifted container */
  #ts-hero .hero-title,
  #ts-hero .hero-subcopy,
  #ts-hero .hero-services {
    text-align: left;
    align-self: flex-start;
  }
}
/* =========================
   PTLINK HERO FIX (subcopy alignment + mobile sizing)
========================= */
/* Always keep hero content left-aligned across ALL breakpoints */
#ts-hero .container {
  text-align: left !important;
  align-items: flex-start !important;
}
/* Keep hero text blocks left-aligned */
#ts-hero .hero-title,
#ts-hero .hero-subcopy {
  text-align: left !important;
  align-self: flex-start !important;
}
/* Tablet/mobile: keep same left gutter (avoid accidental centering) */
@media (max-width: 991.98px) {
  #ts-hero .container {
    margin-left: clamp(20px, 6vw, 48px) !important;
    margin-right: auto !important;
  }
}
/* =========================
   PTLINK HERO SIZE OVERRIDE v3
   - Tablet < 992: slightly smaller
   - Mobile < 576: even smaller
   - Works even if #ts-hero is missing
========================= */
/* Always left align (fallback without #ts-hero) */
/* Tablet & below: make subcopy smaller (than desktop) */
@media (max-width: 991.98px) {
  #ts-hero .hero-subcopy,
  #ts-hero .hero-subcopy b,
  .hero-subcopy,
  .hero-subcopy b {
    font-size: clamp(13px, 2.2vw, 16px) !important;
    line-height: 1.6 !important;
  }
}
/* Mobile: make it smaller than tablet */
@media (max-width: 575.98px) {
  #ts-hero .hero-subcopy,
  #ts-hero .hero-subcopy b,
  .hero-subcopy,
  .hero-subcopy b {
    font-size: clamp(12px, 3vw, 14px) !important;
    line-height: 1.6 !important;
  }
}
/* =====================================================
   PTLINK: WORK hover (CLS-safe) + Custom Cursor (GPU)
   - No width/height/margin changes on hover (transform/opacity only)
   - Cursor uses translate3d (compositor) for smoothness
===================================================== */
/* --- WORK image hover --- */
#works .ts-gallery__item {
  position: relative;
  overflow: hidden;
  /* prevents scaled image bleeding */
  transform: translateZ(0);
  /* promote layer */
}
#works .ts-gallery__item .ts-img-into-bg > img,
#works .ts-gallery__item img {
  transform: translateZ(0);
  will-change: transform, filter;
  transition:
    transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1),
    filter 0.28s cubic-bezier(0.2, 0.8, 0.2, 1),
    opacity 0.28s ease;
}
#works .ts-gallery__item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    600px 280px at 50% 50%,
    rgba(71, 254, 254, 0.1),
    transparent 60%
  );
  opacity: 0;
  transition: opacity 0.28s ease;
  pointer-events: none;
}
#works .ts-gallery__item:hover::after,
#works .ts-gallery__item:focus-within::after {
  opacity: 1;
}
#works .ts-gallery__item:hover img,
#works .ts-gallery__item:focus-within img {
  transform: scale(1.04);
}
/* Keep meta area stable: do NOT change padding/margins on hover */
#works .pf-meta,
#works .pf-cap,
#works .pf-tags {
  transition: color 0.2s ease;
}
#works .pf-more a {
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease;
}
#works .pf-more a:hover {
  transform: translateY(-1px);
}
/* transform only */
/* --- Custom cursor (CLS 0 + GPU friendly) --- */
/* Container is fixed-size; only opacity/transform of pseudo element changes */
.custom-cursor {
  position: fixed;
  left: 0;
  top: 0;
  width: 160px;
  /* fixed box => no layout shift */
  height: 160px;
  pointer-events: none;
  z-index: 9999;
  transform: translate3d(50vw, 50vh, 0);
  will-change: transform;
  display: grid;
  place-items: center;
  mix-blend-mode: normal;
  opacity: 1;
}
.custom-cursor::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  transform: scale(0.1);
  /* idle = dot */
  opacity: 0.28;
  transition:
    transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1),
    opacity 0.18s ease,
    background-color 0.18s ease,
    backdrop-filter 0.18s ease;
  will-change: transform, opacity;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
}
.custom-cursor__text {
  position: relative;
  z-index: 1;
  font-family: var(--ptlk-font, "Pretendard", sans-serif);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.96);
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
  user-select: none;
  white-space: nowrap;
}
.custom-cursor.is-active::before {
  transform: scale(1);
  opacity: 0.95;
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.custom-cursor.is-active .custom-cursor__text {
  opacity: 1;
  transform: translateY(-2px);
}
/* Hide cursor on touch / smaller screens */
@media (hover: none), (pointer: coarse), (max-width: 1200px) {
  .custom-cursor {
    position: fixed;
    left: 0;
    top: 0;
    width: 160px;
    /* fixed box => no layout shift */
    height: 160px;
    pointer-events: none;
    z-index: 9999;
    transform: translate3d(50vw, 50vh, 0);
    will-change: transform;
    display: grid;
    place-items: center;
    mix-blend-mode: normal;
    opacity: 1;
  }
}
/* Accessibility: if user prefers reduced motion */
@media (prefers-reduced-motion: reduce) {
  #works .ts-gallery__item img {
    transition: none !important;
  }
  #works .ts-gallery__item::after {
    transition: none !important;
  }
  .custom-cursor::before,
  .custom-cursor__text {
    position: relative;
    z-index: 1;
    font-family: var(--ptlk-font, "Pretendard", sans-serif);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.96);
    opacity: 0;
    transform: translateY(6px);
    transition:
      opacity 0.18s ease,
      transform 0.18s ease;
    user-select: none;
    white-space: nowrap;
  }
}
/* PTLINK: CLS-safe guardrails (WORK)
   Prevent hover rules from changing layout metrics inside #works.
*/
#works .ts-gallery__item:hover,
#works .ts-gallery__item:focus-within {
  padding: 0 !important;
  margin: 0 !important;
  border-width: inherit !important;
}
#works .ts-gallery__item:hover img,
#works .ts-gallery__item:focus-within img {
  transform: scale(1.05);
}
/* =====================================================
   PTLINK: WORK hover override (scale only, CLS-safe)
   - Enforce no color/filter changes
===================================================== */
#works .ts-gallery__item img {
  filter: none !important;
  opacity: 1 !important;
  transform: translateZ(0) scale(1) !important;
  transition: transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  /* ← 여기로 이동 */
}
#works .ts-gallery__item:hover img,
#works .ts-gallery__item:focus-within img {
  filter: none !important;
  opacity: 1 !important;
  transform: translateZ(0) scale(1.05) !important;
}
/* Disable any hover overlays that might look like color change */
#works .ts-gallery__item::after {
  opacity: 0 !important;
}
/* =========================================
   PTLK ASK OVERRIDE (CLEAN v2)
   - Card/Button: square
   - Icon: top-left, icon box transparent
   - Icon content: 70% and forced white
   - Text group: pinned to bottom
========================================= */
/* =========================
   Icon container (TRANSPARENT)
========================= */
/* Inner svg/img size 70% */
/* Force INLINE SVG to white */
/* If SVG uses currentColor */
/* IMG-based SVG / raster → white */
/* EN weight */
/* Text spacing */
/* ================================
   REMOVE ALL CARD OVERLAYS / BORDERS
================================ */
/* ================================
   Section background: TRANSPARENT
================================ */
section.ptlk-ask.ptlk-ask--v2.ts-bg-black {
  background: transparent !important;
  background-color: transparent !important;
}
/* =========================================
   ✅ BUTTON HOVER (ONLY THIS ADDED)
========================================= */
/* =====================================================
   PTLINK PATCH: cotact-info background repeat-x
   - Override inline #cotact-info{background:#fff !important;}
   - Use higher specificity + !important so it wins
===================================================== */
html body #cotact-info {
  background-image: url("https://www.ptlink.co.kr/assets/img/bg-black.jpg") !important;
  background-repeat: repeat-x !important;
  /* horizontal only */
  background-position: top left !important;
  background-size: auto !important;
}
/* =====================================================
   PTLINK PATCH v2: #cotact-info bottom bg (repeat-x only)
   - Eliminates white gap by overlapping next section
   - Vertical flip applied
   - Keeps existing section-start background intact
===================================================== */
#cotact-info {
  position: relative;
  overflow: visible;
  /* allow overlap */
}
/* pull next section up to remove white gap */
#cotact-info + section {
  margin-top: 0px;
}
#cotact-info::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -100px;
  /* extend into next section */
  height: 220px;
  background-image: url("https://www.ptlink.co.kr/assets/img/bg-black.jpg");
  background-repeat: repeat-x;
  background-position: bottom left;
  background-size: auto;
  transform: scaleY(-1);
  transform-origin: center;
  pointer-events: none;
  z-index: 2;
}
/* keep content above decoration */
#cotact-info > * {
  position: relative;
  z-index: 3;
}
/* =====================================================
   PTLINK PATCH v3: #cotact-info spacing fix
   - Add extra spacing so content does not overlap top/bottom decorations
   - Based on existing decoration height (220px) + buffer (100px)
===================================================== */
#cotact-info {
  padding-top: calc(4rem+ 100px);
  /* existing ts-block padding + buffer */
  padding-bottom: calc(4rem+ 100px);
}
@media (min-width: 62rem) and(max-width: 74.9375rem) {
  #cotact-info {
    padding-top: calc(8rem+ 100px);
    padding-bottom: calc(8rem+ 100px);
  }
}
@media (min-width: 75rem) {
  #cotact-info {
    padding-top: calc(9rem+ 100px);
    padding-bottom: calc(9rem+ 100px);
  }
}
/* =====================================================
   PTLINK PATCH: ASK v2 button size 50% + left align
   - ASK 카드 내 CTA 버튼 크기 축소 + 왼쪽 정렬
===================================================== */
/* 모바일 화면 대응 */
/* =====================================================
   IMAGE SLIDER: 좌우 화살표 버튼
===================================================== */
/* 화살표 아이콘 공통 스타일 */
/* 이전(왼쪽) 버튼 위치 */
/* 이전 화살표 방향 */
/* 다음(오른쪽) 버튼 위치 */
/* 다음 화살표 방향 */
/* =====================================================
   IMAGE SLIDER: 하단 네비게이션 pill
===================================================== */
/* 슬라이드 이동 점(dot) */
/* 활성화된 슬라이드 표시 */
.ptlk-image-slider--center .ptlk-slider-dot.is-active {
  width: 44px;
  /* 활성 상태에서 막대 형태로 확장 */
  background: rgba(255, 255, 255, 0.92);
  /* 더 선명한 흰색 */
}
/* =====================================================
   Mobile: 슬라이더 UI 축소
===================================================== */
/* ===============================
   PTLINK IMAGE SLIDER (Preview Mode)
   - current slide centered via viewport padding
   - prev/next previews visible
=============================== */
/* arrows */
/* bottom nav pill */
.ptlk-image-slider--preview .ptlk-slider-dot.is-active {
  width: 44px;
  background: rgba(255, 255, 255, 0.92);
}
/* ===============================
   PTLINK IMAGE SLIDER (Center Loop)
   - smooth slide (no teleport on wrap)
   - centered with prev/next preview
=============================== */
/* arrows */
/* bottom nav pill */
.ptlk-image-slider--centerloop .ptlk-slider-dot.is-active {
  width: 44px;
  background: rgba(255, 255, 255, 0.92);
}
/* ===============================
   PTLINK IMAGE SLIDER (ScrollSnap)
   - smooth left/right movement
   - previews visible
   - no "teleport" (native smooth scroll)
=============================== */
/* arrows */
/* bottom nav pill */
.ptlk-image-slider--snap .ptlk-slider-dot.is-active {
  width: 44px;
  background: rgba(255, 255, 255, 0.92);
}
/* ===============================
   REMOVE HEADER DIVIDER (WHAT WE DO)
   =============================== */
.ptlk-work-head {
  border-bottom: 0 !important;
}
.ptlk-work-head::before,
.ptlk-work-head::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  height: 0 !important;
  background: none !important;
}
/* ==============================\n   PTLINK SECTION TITLES – H2 2x\n   ============================== */
.ptlk-section-title {
  font-size: clamp(3.2rem, 6vw, 4.5rem) !important;
  /* ~2x default h2 */
  font-weight: 700 !important;
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin: 0 0 1.3rem 0;
}
/* ==============================
   PTLINK SECTION TITLES – H2 2x
   ============================== */
.ptlk-section-title {
  font-size: clamp(3.2rem, 6vw, 4.5rem) !important;
  /* ~2x default h2 */
  font-weight: 700 !important;
  letter-spacing: -0.03em;
  line-height: 1.15;
  margin: 0 0 1.3rem 0;
  text-align: center;
}
/* ==============================
   PTLINK TEXT EMPHASIS (30% UP)
   ask / work / clients
   ============================== */
.askv2-kr,
.ptlk-work-desc,
.text-white.ptlk-clients-desc,
.ptlk-clients-foot {
  font-size: 1.2em !important;
  color: rgba(220, 220, 220, 0.95) !important;
}
/* ===============================
   PTLINK DESKTOP DIVIDERS
   - Desktop only
   - Affects only rows with .ptlk-divider-row
=============================== */
@media (min-width: 992px) {
  .ptlk-divider-row {
    position: relative;
    margin-top: 26px;
    margin-bottom: 26px;
  }
  .ptlk-divider-row::before,
  .ptlk-divider-row::after {
    content: "";
    position: absolute;
    left: 15px;
    right: 15px;
    height: 1px;
    background: rgba(255, 255, 255, 0.22);
    pointer-events: none;
    z-index: 5;
  }
  .ptlk-divider-row::before {
    top: -28px;
  }
  .ptlk-divider-row::after {
    bottom: -28px;
  }
  .ptlk-divider-row > [class*="col-"] {
    position: relative;
  }
  .ptlk-divider-row > [class*="col-"]:not(:first-child)::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    bottom: 18px;
    width: 1px;
    background: rgba(255, 255, 255, 0.22);
    pointer-events: none;
    z-index: 5;
  }
}
/* ===============================
   PTLINK DESKTOP DIVIDERS (FIX v2)
   - Restore horizontal line width (auto)
   - Keep consistent 1px thickness
=============================== */
@media (min-width: 992px) {
  /* Horizontal lines */
  .ptlk-divider-row::before,
  .ptlk-divider-row::after {
    height: 1px !important;
    width: auto !important;
    transform: translateZ(0);
    box-sizing: border-box;
  }
  /* Vertical separators */
  .ptlk-divider-row > [class*="col-"]:not(:first-child)::before {
    width: 1px !important;
    height: auto !important;
    transform: translateZ(0);
    box-sizing: border-box;
  }
}
/* =====================================
   TEXT COLOR OVERRIDE v3 (SOFT GREY)
   Normal text: softer grey
   Bold text: pure white
===================================== */
/* Base body text – softer grey (matches reference screenshot) */
body,
p,
li,
span,
dd,
dt,
.keyfacts-bullets,
.ptlk-sec__text,
.ptlk-sec__list,
.ptlk-intro__lead,
.ptlk-intro__cardText,
.ptlk-intro__bullets {
  color: rgba(255, 255, 255, 0.68) !important;
  opacity: 1 !important;
}
/* Eyebrow / meta / labels – slightly dimmer */
/* Links follow body tone */
a {
  color: rgba(255, 255, 255, 0.68) !important;
}
a:hover {
  color: rgba(255, 255, 255, 0.85) !important;
}
/* Bold / emphasis stays pure white */
b,
strong,
.ptlk-sec__lead b,
.ptlk-intro__lead b,
.keyfacts-title,
.keyfacts-btn,
.stat-num,
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #ffffff !important;
  font-weight: 700 !important;
}
/* =====================================
   EXCEPTIONS: WHITE CARDS MUST USE DARK TEXT
   (prevents light-grey/white text on white background)
===================================== */
.ptlk-cardrail__card,
.ptlk-cardrail__card * {
  color: #111 !important;
}
/* Card-specific typography */
.ptlk-cardrail__title {
  color: #111 !important;
}
.ptlk-cardrail__desc {
  color: rgba(0, 0, 0, 0.72) !important;
}
/* If bold exists inside cards, keep it dark (NOT white) */
.ptlk-cardrail__card b,
.ptlk-cardrail__card strong {
  color: #111 !important;
}
/* =====================================
   FIX: HERO TITLE OPACITY OVERRIDE
   Only titles – no transparency
===================================== */
#ts-hero h1,
#ts-hero h2,
#ts-hero .ts-h1,
#ts-hero .ts-h2,
#ts-hero .hero-title,
#ts-hero .hero-title * {
  opacity: 1 !important;
  color: #ffffff !important;
}
/* ===============================
   CONTACT 배경 제거 (cotact-info)
=============================== */
#cotact-info {
  background: transparent !important;
}
#cotact-info::before,
#cotact-info::after {
  display: none !important;
}
/* ===============================
   CONTACT 배경 '위쪽'까지 완전 제거 (강제)
   - 기존 style.css에 있는 `html body #cotact-info{ background-image: url(bg-black.jpg) !important; }`
     같은 고특이도 규칙을 덮어씁니다.
=============================== */
html body #cotact-info {
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
}
/* 테마가 섹션 안에 ts-background 레이어를 꽂는 경우까지 차단 */
#cotact-info .ts-background,
#cotact-info [data-bg-image] {
  background-image: none !important;
}
#cotact-info .ts-background {
  display: none !important;
}
/* ===============================
   CONTACT 섹션 배경을 흰색으로 변경
=============================== */
html body #cotact-info {
  background: #ffffff !important;
  background-image: none !important;
  background-color: #ffffff !important;
}
/* 텍스트/링크도 흰배경에 맞게 검정 계열로 */
#cotact-info,
#cotact-info h2,
#cotact-info h3,
#cotact-info p,
#cotact-info label,
#cotact-info a,
#cotact-info span {
  color: #111 !important;
}
/* ===============================
   PTLINK INLINE <style> MERGE
   Source: index2_audit_final_showcase_fix_v2_clean_important_all_styles_in_head.html
   Merged: 2026-02-10 01:19:06
   NOTE: Order preserved from HTML (<head>) to keep cascade behavior.
================================ */
/* ---- Inline Style Block 01 ---- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.ptlk-edit-media__frame {
  background: transparent;
  border: 0;
  box-shadow: none;
}
.ptlk-edit-point {
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 10px;
  padding: 0;
  overflow: visible;
}
.ptlk-edit-point::before {
  display: none;
}
.ptlk-edit-media__video {
  outline: 0;
  border: 0;
  box-shadow: none;
}
.ptlk-edit-point__icon {
  width: auto;
  height: auto;
  border: 0;
  background: transparent;
  border-radius: 10px;
  margin-bottom: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 993px) {
  .ptlk-edit-layout {
    grid-template-columns: 1.25fr 0.75fr;
    gap: clamp(12px, 2vw, 28px);
    overflow: visible;
  }
  .ptlk-edit-media {
    position: relative;
    z-index: 1;
    transform: translate(80px, 20px) scale(0.95);
    transform-origin: center left;
  }
  .ptlk-edit-points {
    position: relative;
    z-index: 10;
    margin-left: clamp(-18px, -2vw, -28px);
  }
}
@media (max-width: 992px) {
  .ptlk-edit-media {
    transform: none;
  }
  .ptlk-edit-points {
    margin-left: 0;
  }
}
/* ---- Inline Style Block 02 (id: ptlk-compare-right-media-clean-v2) ---- */
.ptlk-compare-info {
  background: transparent;
  border: none;
  box-shadow: none;
}
.ptlk-compare-info__media {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin: 0 0 14px;
}
.ptlk-compare-info__media img {
  width: 100%;
  height: auto;
  display: block;
  background: transparent;
  border: none;
  outline: none;
  box-shadow: none;
  border-radius: 0;
}
/* ---- Inline Style Block 03 ---- */
.dropdown-menu .dropdown-item {
  font-weight: 500;
}
/* ---- Inline Style Block 04 ---- */
#ts-hero .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
  gap: 16px;
  padding-top: 72px;
}
@media (max-width: 576px) {
  #ts-hero .container {
    padding-top: 86px;
  }
}
/* ---- Inline Style Block 05 ---- */
#ts-hero .hero-seq {
  opacity: 1;
  transform: translateY(14px);
  animation: none;
  will-change: transform, opacity;
}
#ts-hero .hero-seq-1 {
  animation-delay: 0.02s;
}
#ts-hero .hero-seq-2 {
  animation-delay: 0.14s;
}
#ts-hero .hero-seq-3 {
  animation-delay: 0.26s;
}
#ts-hero .hero-seq-4 {
  animation-delay: 0.38s;
}
#ts-hero .hero-seq-5 {
  animation-delay: 0.5s;
}
@media (prefers-reduced-motion: reduce) {
  #ts-hero .hero-seq {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}
/* ---- Inline Style Block 06 ---- */
#ts-hero {
  position: relative;
  overflow: hidden;
}
.ptlk-keyfacts .container {
  max-width: 1160px;
}
/* ---- Inline Style Block 07 ---- */
.ptlk-sec-bg .pf-meta {
  border-radius: 16px;
  padding: 16px 16px 12px;
  margin-top: 10px;
  background: rgba(10, 12, 18, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.ptlk-sec-bg .pf-cap {
  color: rgba(255, 255, 255, 0.96);
}
.ptlk-sec-bg .pf-sub {
  color: rgba(255, 255, 255, 0.72);
}
.ptlk-sec-bg .pf-tags li {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
}
.ptlk-sec-bg .pf-more a {
  color: rgba(120, 190, 255, 0.95);
  border-bottom: 1px solid rgba(120, 190, 255, 0.35);
  text-decoration: none;
}
/* ---- Inline Style Block 08 ---- */
.ptlk-clients-svc__list li {
  color: rgba(255, 255, 255, 0.96) !important;
  text-align: center;
}
/* ---- Inline Style Block 09 ---- */
@media (max-width: 768px) {
  .ptlk-clients-svc__list--cols2,
  .ptlk-clients-svc__list--cols3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ptlk-clients-svc__list li {
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: keep-all;
    line-height: 1.25;
    font-size: 12.5px;
    padding: 9px 10px;
  }
}
/* ---- Inline Style Block 10 ---- */
.ptlk-work-sec {
  position: relative;
  background: #000;
  overflow: hidden;
}
.ptlk-work-sec::before {
  content: "";
  position: absolute;
  inset: -2px;
  background:
    radial-gradient(
      1200px 520px at 15% 8%,
      rgba(70, 120, 255, 0.22),
      transparent 55%
    ),
    radial-gradient(
      980px 520px at 85% 35%,
      rgba(0, 220, 255, 0.14),
      transparent 52%
    );
  pointer-events: none;
  filter: saturate(1.05);
}
.ptlk-work-sec > * {
  position: relative;
  z-index: 1;
}
.ptlk-wide {
  width: 100%;
  padding-left: clamp(16px, 3vw, 56px);
  padding-right: clamp(16px, 3vw, 56px);
}
.ptlk-work-eyebrow {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}
.ptlk-work-desc {
  margin: 0;
  font-size: 20px;
  line-height: 1.9;
  color: rgba(255, 255, 255, 0.9);
  max-width: 78ch;
}
.ptlk-work-desc b {
  font-weight: 700;
  color: rgba(255, 255, 255, 0.98);
}
/* ---- Inline Style Block 11 ---- */
section.ptlk-work-sec.ptlk-work-sec--stack {
  background: transparent;
}
section.ptlk-work-sec.ptlk-work-sec--stack::before {
  display: none;
}
.ptlk-work-head {
  max-width: 1080px;
  margin: 0 auto 24px;
  text-align: center;
}
.ptlk-work-head .ptlk-work-desc {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}
/* ---- Inline Style Block 12 ---- */
.ptlk-diff {
  max-width: 1400px;
  margin: 22px auto 0;
  padding-top: 18px;
}
@media (max-width: 992px) {
  .ptlk-diff {
    margin-top: 18px;
  }
}
/* ---- Inline Style Block 13 ---- */
#ts-hero .hero-seq {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
/* ---- Inline Style Block 14 (id: ptlk-jan15-fixes) ---- */
.ptlk-clients-svc__cardTitle {
  margin-top: 0;
}
.ptlk-clients-svc__card {
  padding-top: 0;
}
/* ---- Inline Style Block 15 (id: ptlk-ask-v2) ---- */
.ptlk-ask--v2 .row {
  margin-left: -10px;
  margin-right: -10px;
}
.ptlk-ask--v2 [class*="col-"] {
  padding-left: 10px;
  padding-right: 10px;
}
/* ---- Inline Style Block 16 ---- */
#ts-hero {
  height: calc(100vh - 80px);
  min-height: unset !important;
  padding-bottom: 0 !important;
}
#ts-hero::after {
  display: none !important;
}
/* ---- Inline Style Block 17 (id: ptlk-hero-fix-v5) ---- */
#ts-hero {
  position: relative !important;
  width: 100% !important;
  height: 100svh !important;
  min-height: 100svh !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #000 !important;
  overflow: hidden !important;
}
#ts-hero .ts-background,
#ts-hero .ts-video-bg,
#ts-hero .vide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 0 !important;
  overflow: hidden !important;
  background: #000 !important;
}
#ts-hero video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  transform: none !important;
  z-index: 0 !important;
}
#ts-hero .container,
#ts-hero .container-fluid,
#ts-hero .hero-content,
#ts-hero header {
  position: relative !important;
  z-index: 2 !important;
}
#ts-hero .hero-bottom-tag,
.hero-bottom-tag {
  display: none !important;
}
#ts-hero::before,
#ts-hero::after {
  content: none !important;
  display: none !important;
}
@media (max-width: 768px) {
  #ts-hero {
    background-image: none !important;
    background-color: #000 !important;
    background-size: cover !important;
    background-position: 50% 50% !important;
    background-repeat: no-repeat !important;
  }
  #ts-hero video {
    display: none !important;
  }
}
/* ---- Inline Style Block 18 ---- */
body.ptlk-hero-anim #ts-hero .hero-seq {
  opacity: 0;
  transform: translateY(14px);
  animation: ptlkHeroSeqIn 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
  will-change: transform, opacity;
}
body.ptlk-hero-anim #ts-hero .hero-seq-1 {
  animation-delay: 0.12s;
}
body.ptlk-hero-anim #ts-hero .hero-seq-2 {
  animation-delay: 0.22s;
}
body.ptlk-hero-anim #ts-hero .hero-seq-3 {
  animation-delay: 0.32s;
}
body.ptlk-hero-anim #ts-hero .hero-seq-4 {
  animation-delay: 0.42s;
}
body.ptlk-hero-anim #ts-hero .hero-seq-5 {
  animation-delay: 0.5s;
}
/* ---- Inline Style Block 19 (id: ptlk-subcopy-mobile-fit-v2) ---- */
@media (max-width: 480px) {
  #ts-hero .hero-subcopy,
  #ts-hero .hero-subcopy b {
    font-size: clamp(13px, 3.9vw, 17px) !important;
    line-height: 1.6 !important;
  }
}
/* ---- Inline Style Block 20 (id: ptlk-subcopy-align-fix) ---- */
#ts-hero .hero-subcopy {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* ---- Inline Style Block 21 (id: ptlk-subcopy-final-fix) ---- */
#ts-hero .hero-subcopy,
#ts-hero .hero-subcopy b {
  text-align: left !important;
}
@media (max-width: 430px) {
  #ts-hero .hero-subcopy,
  #ts-hero .hero-subcopy b {
    font-size: clamp(13px, 3.6vw, 16px) !important;
    line-height: 1.6 !important;
  }
}
/* ---- Inline Style Block 22 ---- */
.ptlk-a11y-text {
  margin: 0;
  line-height: 1.8;
}
/* ---- Inline Style Block 23 (id: ptlk-cls-stability) ---- */
body.ptlk-no-motion
  *:not(#ptlkFloatPill):not(#ptlkFloatPill *):not(#works):not(#works *):not(
    .ptlk-work-sec
  ):not(.ptlk-work-sec *),
body.ptlk-no-motion
  *:not(#ptlkFloatPill):not(#ptlkFloatPill *):not(#works):not(#works *)::before,
body.ptlk-no-motion
  *:not(#ptlkFloatPill):not(#ptlkFloatPill *):not(#works):not(#works *)::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
#ts-hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}
@media (max-width: 768px) {
  #ts-hero {
    min-height: auto !important;
    height: auto !important;
  }
}
.ts-img-into-bg > img,
.ts-img-into-bg img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  position: static !important;
}
[data-animate],
[data-animate] * {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
/* ---- Inline Style Block 24 (id: ptlk-critical-css) ---- */
html,
body {
  margin: 0;
  padding: 0;
}
body {
  overflow-x: hidden !important;
}
body {
  background: #000;
  color: #fff;
}
.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}
[class*="col-"] {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}
.navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}
/* ---- Inline Style Block 25 (id: ptlk-nav-icons-style) ---- */
.navbar .ptlk-navlink-ico {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.navbar .ptlk-nav-ico {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  flex: 0 0 34px;
}
.navbar .ptlk-nav-ico svg {
  width: 18px;
  height: 18px;
  display: block;
}
.dropdown-menu.ptlk-dd .ptlk-dd-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
}
.dropdown-menu.ptlk-dd .ptlk-dd-ico {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.06);
  flex: 0 0 28px;
}
.dropdown-menu.ptlk-dd .ptlk-dd-ico svg {
  width: 16px;
  height: 16px;
  display: block;
}
.ptlk-nav-label,
.ptlk-dd-label {
  line-height: 1.2;
}
.dropdown-menu.ptlk-dd {
  padding: 10px 8px;
  border-radius: 12px;
}
.navbar .dropdown-menu.ptlk-dd {
  background: rgba(12, 13, 16, 0.98);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.55);
  border-radius: 16px;
  padding: 14px 12px;
  min-width: 260px;
}
.navbar .dropdown-menu.ptlk-dd {
  padding-bottom: 18px !important;
}
@media (min-width: 992px) {
  .navbar .dropdown-menu.ptlk-dd {
    max-height: min(70vh, 560px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
}
.navbar .dropdown-menu.ptlk-dd .dropdown-item {
  color: rgba(255, 255, 255, 0.92);
  background: transparent;
  border-radius: 14px;
  margin: 4px 0;
}
.navbar .dropdown-menu.ptlk-dd .dropdown-item:focus,
.navbar .dropdown-menu.ptlk-dd .dropdown-item:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}
.navbar .dropdown-menu.ptlk-dd .ptlk-dd-ico {
  width: 36px;
  height: 36px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
  flex: 0 0 36px;
}
.navbar .dropdown-menu.ptlk-dd .ptlk-dd-ico img {
  width: 70%;
  height: 70%;
  display: block;
  filter: brightness(0) invert(1) opacity(0.9);
}
.navbar .dropdown-menu.ptlk-dd .dropdown-item {
  border-bottom: 1px solid rgba(200, 200, 200, 0.35) !important;
}
.navbar .dropdown-menu.ptlk-dd .dropdown-item:last-child {
  border-bottom: none !important;
}
@media (min-width: 992px) {
  .navbar .dropdown-menu.ptlk-dd {
    margin-top: 0 !important;
    border-top: 4px solid #1e73ff !important;
  }
  .navbar .dropdown-menu.ptlk-dd::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -10px;
    height: 10px;
    background: transparent;
    pointer-events: auto;
  }
}
/* ---- Inline Style Block 26 (id: ptlk-navicons-style) ---- */
.navbar .ptlk-navlink-ico {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.navbar .ptlk-nav-ico {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  flex: 0 0 34px;
}
.navbar .ptlk-nav-ico img {
  width: 80%;
  height: 80%;
  object-fit: contain;
  display: block;
  filter: brightness(0) invert(1) opacity(0.85);
}
.dropdown-menu.ptlk-dd .ptlk-dd-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
}
.dropdown-menu.ptlk-dd .ptlk-dd-ico {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(0, 0, 0, 0.2);
  flex: 0 0 28px;
}
.dropdown-menu.ptlk-dd .ptlk-dd-ico img {
  width: 80%;
  height: 80%;
  object-fit: contain;
  display: block;
  filter: brightness(0) invert(1) opacity(0.85);
}
.ptlk-nav-label,
.ptlk-dd-label {
  line-height: 1.2;
}
.ptlk-nav-label {
  white-space: nowrap;
}
.navbar .ptlk-nav-ico {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.navbar .dropdown-menu.ptlk-dd .ptlk-dd-ico {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.navbar .dropdown-menu.ptlk-dd {
  background: #000 !important;
}
/* ---- Inline Style Block 27 (id: ptlk-works-lightbox) ---- */
.ptlk-lb {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 99999;
}
.ptlk-lb.is-open {
  display: block;
}
.ptlk-lb__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.82);
}
.ptlk-lb__stage {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.ptlk-lb__imgwrap {
  position: relative;
  max-width: min(1200px, 92vw);
  max-height: min(760px, 86vh);
}
.ptlk-lb__img {
  display: block;
  max-width: 100%;
  max-height: 86vh;
  border-radius: 14px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.55);
}
.ptlk-lb__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  cursor: pointer;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}
.ptlk-lb__btn:hover {
  background: rgba(255, 255, 255, 0.1);
}
.ptlk-lb__prev {
  left: -18px;
}
.ptlk-lb__next {
  right: -18px;
}
@media (max-width: 768px) {
  .ptlk-lb__prev {
    left: -10px;
  }
  .ptlk-lb__next {
    right: -10px;
  }
  .ptlk-lb__btn {
    width: 46px;
    height: 46px;
  }
}
.ptlk-lb__close {
  position: absolute;
  top: 18px;
  right: 18px;
  transform: none;
  width: 46px;
  height: 46px;
}
.ptlk-lb__icon {
  width: 14px;
  height: 14px;
  border-right: 2px solid rgba(255, 255, 255, 0.9);
  border-bottom: 2px solid rgba(255, 255, 255, 0.9);
  display: inline-block;
}
.ptlk-lb__chevL {
  transform: rotate(135deg);
}
.ptlk-lb__chevR {
  transform: rotate(-45deg);
}
.ptlk-lb__x {
  position: relative;
  width: 16px;
  height: 16px;
}
.ptlk-lb__x:before,
.ptlk-lb__x:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 2px;
  background: rgba(255, 255, 255, 0.92);
  transform-origin: center center;
}
.ptlk-lb__x:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.ptlk-lb__x:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
/* ---- Inline Style Block 28 (id: ptlk-contact-white) ---- */
#cotact-info,
#ts-footer-main {
  background: #fff !important;
  color: #111 !important;
}
#cotact-info h1,
#cotact-info h2,
#cotact-info h3,
#cotact-info h4,
#cotact-info h5,
#cotact-info h6,
#ts-footer-main h1,
#ts-footer-main h2,
#ts-footer-main h3,
#ts-footer-main h4,
#ts-footer-main h5,
#ts-footer-main h6 {
  color: #111 !important;
}
#cotact-info p,
#cotact-info li,
#cotact-info span,
#cotact-info a,
#ts-footer-main p,
#ts-footer-main li,
#ts-footer-main span,
#ts-footer-main a {
  color: #333 !important;
}
#cotact-info a:hover,
#ts-footer-main a:hover {
  color: #000 !important;
}
/* ---- Inline Style Block 29 ---- */
#ts-footer-main {
  background-color: #000;
  color: rgba(255, 255, 255, 0.92);
}
#ts-footer-main h2 {
  color: #fff;
}
#ts-footer-main p,
#ts-footer-main strong,
#ts-footer-main address,
#ts-footer-main span {
  color: rgba(255, 255, 255, 0.9);
}
#ts-footer-main a {
  color: #fff;
  text-decoration: none;
}
#ts-footer-main a:hover {
  color: #1e73ff;
  text-decoration: underline;
}
#ts-footer-main .nav-link {
  color: rgba(255, 255, 255, 0.85);
}
#ts-footer-main .nav-link:hover {
  color: #fff;
}
/* ---- Inline Style Block 30 ---- */
section#ts-footer-main {
  background: #000 !important;
  color: rgba(255, 255, 255, 0.95) !important;
}
section#ts-footer-main * {
  color: rgba(255, 255, 255, 0.9) !important;
}
section#ts-footer-main a {
  color: #ffffff !important;
}
section#ts-footer-main a:hover {
  color: #1e73ff !important;
}
/* ---- Inline Style Block 31 (id: ptlk-navbar-fullwidth) ---- */
.custom-navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: auto;
  max-width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 10px !important;
  transform: none !important;
}
.custom-navbar .ptlk-nav-container {
  max-width: none !important;
  width: 100%;
  padding-left: clamp(16px, 3vw, 56px);
  padding-right: clamp(16px, 3vw, 56px);
}
.custom-navbar .ptlk-nav-container {
  padding-left: -36px !important;
  padding-right: 24px !important;
}
@media (max-width: 575.98px) {
  .custom-navbar .ptlk-nav-container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}
.custom-navbar .navbar-nav .nav-item {
  position: relative;
}
.custom-navbar .navbar-nav .dropdown-menu {
  left: auto;
  right: 0;
}
html {
  scrollbar-gutter: stable;
}

html,
body {
  background: #000;
}

@media (min-width: 992px) {
  .custom-navbar .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
    justify-content: flex-end;
  }
  .custom-navbar .navbar-nav {
    align-items: center;
  }
}
@media (max-width: 991.98px) {
  .custom-navbar .navbar-collapse {
    width: 100%;
    padding-top: 8px;
  }
  .custom-navbar .navbar-nav {
    width: 100%;
  }
  .custom-navbar .navbar-nav .nav-link {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }
}
html,
body {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
header,
.header,
.ts-header,
.ts-page-wrapper,
.ts-content-wrapper {
  max-width: none;
}
.custom-navbar {
  width: 100% !important;
  left: 0;
  right: 0;
  margin: 0 !important;
  border-radius: 0 !important;
}
.custom-navbar .container,
.custom-navbar .container-fluid {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.custom-navbar .navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}
.custom-navbar .navbar-brand {
  margin-right: 18px;
}
.custom-navbar .navbar-nav {
  margin-left: auto;
}
@media (max-width: 992px) {
  .custom-navbar .navbar {
    padding-left: 14px;
    padding-right: 14px;
  }
}
.ptlk-reviews-scroller {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.ptlk-reviews-scroller::-webkit-scrollbar {
  display: none;
}
/* ---- Inline Style Block 32 ---- */
html,
body {
  width: 100% !important;
  height: auto !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
.ts-page-wrapper {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
.ts-page-wrapper,
.ts-page-wrapper * {
  overscroll-behavior: auto !important;
}
/* ---- Inline Style Block 33 (id: ptlk-nav-gutter-fix) ---- */
.custom-navbar {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.custom-navbar .container-fluid.ptlk-nav-container {
  padding-left: clamp(16px, 2.2vw, 28px) !important;
  padding-right: clamp(16px, 2.2vw, 28px) !important;
}
@media (min-width: 992px) {
  .custom-navbar .navbar-nav {
    margin-left: auto !important;
  }
}
.custom-navbar .navbar-nav .dropdown-menu {
  right: 0 !important;
  left: auto !important;
}
/* ---- Inline Style Block 34 (id: ptlk-mobile-nav-fix) ---- */
@media (max-width: 991.98px) {
  .ptlk-nav-container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .ptlk-dd-ico,
  .ptlk-nav-ico {
    display: none !important;
  }
  .dropdown-menu.ptlk-dd {
    width: 100%;
    max-width: none;
  }
}
@media (min-width: 992px) {
  .ptlk-nav-container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
.custom-navbar {
  z-index: 9999 !important;
}
/* ---- Inline Style Block 35 (id: ptlk-nav-square-fix) ---- */
header,
nav,
.navbar,
.navbar *,
.dropdown-menu,
.dropdown-menu *,
.navbar-collapse,
.navbar-collapse *,
.navbar-toggler,
.navbar-toggler * {
  border-radius: 0 !important;
}
/* ---- Inline Style Block 36 (id: ptlk-nav-square) ---- */
.custom-navbar,
.custom-navbar * {
  border-radius: 0 !important;
}
.custom-navbar .dropdown-menu,
.custom-navbar .dropdown-menu * {
  border-radius: 0 !important;
}
.custom-navbar .ptlk-dd-ico,
.custom-navbar .ptlk-dd-ico img,
.custom-navbar .ptlk-nav-ico,
.custom-navbar .ptlk-nav-ico img {
  border-radius: 0 !important;
}
.custom-navbar .navbar-toggler,
.custom-navbar .navbar-toggler-icon {
  border-radius: 0 !important;
  box-shadow: none !important;
}
.custom-navbar .ptlk-nav-label,
.custom-navbar .nav-link,
.custom-navbar .dropdown-item {
  border-radius: 0 !important;
}
/* ---- Inline Style Block 37 (id: ptlk-nav-icon-rounding) ---- */
.custom-navbar .ptlk-nav-ico {
  border-radius: 0 !important;
}
.custom-navbar .ptlk-dd-ico {
  border-radius: 0 !important;
}
.custom-navbar .ptlk-nav-ico img,
.custom-navbar .ptlk-dd-ico img {
  border-radius: inherit !important;
}
/* ---- Inline Style Block 38 (id: ptlk-nav-square-cta-override) ---- */
.custom-navbar .ptlk-nav-cta-btn,
.custom-navbar .nav-contact-btn {
  border-radius: 0 !important;
}
/* ---- Inline Style Block 39 (id: ptlk-header-bottom-line-fix) ---- */
.custom-navbar {
  border-bottom: 1px solid rgba(255, 255, 255, 0.85) !important;
}
/* ---- Inline Style Block 40 (id: ptlk-ask-square-fix) ---- */
.ptlk-ask .btn {
  border-radius: 6px !important;
}
/* ---- Inline Style Block 41 (id: ptlk-opaque-dark-overrides) ---- */
.ptlk-card,
.ptlk-mini,
.ptlk-stat,
.ptlk-step,
.ptlk-proof-card,
.keyfacts-media,
.ptlk-intro__panel,
.ptlk-intro__card,
.ptlk-sec__card,
.ask-card,
.ask-card__img,
.pf-meta,
.ptlk-sec-bg .intro-box,
.ptlk-sec-bg .intro-wrap,
.ptlk-sec-bg .intro-card {
  background: #0b0f1a;
  border-color: #1f2937;
  box-shadow: none;
  opacity: 1;
}
.ptlk-sec-bg .ts-opacity__5,
.ptlk-sec-bg .ts-opacity__10,
.ptlk-sec-bg .ts-opacity__20,
.ptlk-sec-bg .ts-opacity__30,
.ptlk-sec-bg .ts-opacity__40,
.ptlk-sec-bg .ts-opacity__50,
.ptlk-sec-bg .ts-opacity__60,
.ptlk-sec-bg .ts-opacity__70,
.ptlk-sec-bg .ts-opacity__80,
.ptlk-sec-bg .ts-opacity__90 {
  opacity: 1;
}
/* ---- Inline Style Block 42 (id: ptlk-work-showcase) ---- */
.ptlk-work-showcase {
  max-width: 980px;
  margin: 28px auto 0;
  text-align: center;
}
.ptlk-ws__stage {
  width: 100%;
  aspect-ratio: 16/ 9;
  border-radius: 22px;
  background: rgba(10, 12, 18, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.38);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.ptlk-ws__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 1;
  transform: translateZ(0);
  transition: opacity 0.28s ease;
  background: transparent;
}
.ptlk-ws__img.is-fading {
  opacity: 0;
}
.ptlk-ws__controls {
  display: inline-flex;
  gap: 6px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  margin: 16px auto 0;
  flex-wrap: wrap;
  justify-content: center;
}
.ptlk-ws__tab {
  appearance: none;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.78);
  font-weight: 700;
  letter-spacing: -0.02em;
  font-size: 14px;
  line-height: 1;
  padding: 10px 14px;
  border-radius: 999px;
  cursor: pointer;
  transition:
    background 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease;
  white-space: nowrap;
}
.ptlk-ws__tab:hover {
  color: rgba(255, 255, 255, 0.92);
}
.ptlk-ws__tab.is-active {
  background: rgba(255, 255, 255, 0.92);
  color: #0b0d12;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
}
.ptlk-ws__desc {
  margin: 14px auto 0;
  max-width: 70ch;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.85;
  font-size: 20px;
}
@media (max-width: 576px) {
  .ptlk-ws__tab {
    font-size: 13px;
    padding: 9px 12px;
  }
  .ptlk-ws__desc {
    font-size: 14px;
  }
}
/* ---- Inline Style Block 43 (id: ptlk-work-showcase-fix) ---- */
[data-ptlk-work-showcase] .ptlk-ws__tab {
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  border: 1px solid transparent !important;
}
[data-ptlk-work-showcase] .ptlk-ws__tab:hover {
  border-color: rgba(255, 255, 255, 0.78) !important;
}
[data-ptlk-work-showcase] .ptlk-ws__tab:focus,
[data-ptlk-work-showcase] .ptlk-ws__tab:focus-visible,
[data-ptlk-work-showcase] .ptlk-ws__tab:active {
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  border-color: transparent !important;
}
/* ---- Inline Style Block 44 (id: ptlk-floating-pill) ---- */
.ptlk-float-pill {
  position: fixed;
  left: 50%;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%) scaleX(1);
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 10px 10px 10px 16px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 14px 44px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  max-width: 155px;
  width: auto;
  overflow: hidden;
  cursor: pointer;
  user-select: none;
  transition:
    max-width 760ms cubic-bezier(0.12, 0.95, 0.22, 1),
    760ms cubic-bezier(0.12, 0.95, 0.22, 1),
    background-color 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;
  will-change: max-width, transform;
}
.ptlk-float-pill:hover {
  transform: translateX(-50%) scaleX(1);
}
.ptlk-float-pill:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.85);
  outline-offset: 0;
}
.ptlk-float-pill.is-open {
  max-width: 1220px;
  background: rgba(0, 0, 0, 0.7);
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 18px 58px rgba(0, 0, 0, 0.52);
  animation: ptlkPillOpen 760ms cubic-bezier(0.12, 0.95, 0.22, 1) both;
}
.ptlk-float-pill__text {
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.92);
  font-weight: 700;
  letter-spacing: -0.02em;
  font-size: 20px;
  line-height: 1;
  max-width: 180px;
  opacity: 1;
  transform: translateX(0);
  transition:
    max-width 360ms cubic-bezier(0.16, 0.84, 0.22, 1),
    opacity 220ms ease,
    transform 360ms cubic-bezier(0.16, 0.84, 0.22, 1);
}
.ptlk-float-pill.is-open .ptlk-float-pill__text {
  max-width: 0;
  opacity: 0;
  transform: translateX(-10px);
  pointer-events: none;
}
.ptlk-float-pill__extra {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  flex: 0 0 auto;
  color: rgba(255, 255, 255, 0.78);
  font-weight: 600;
  font-size: 14px;
  opacity: 0;
  transform: translateX(18px);
  transition:
    max-width 760ms cubic-bezier(0.12, 0.95, 0.22, 1),
    760ms cubic-bezier(0.12, 0.95, 0.22, 1),
    opacity 0.3s ease,
    0.52s cubic-bezier(0.16, 0.84, 0.22, 1);
  pointer-events: none;
}
.ptlk-float-pill.is-open .ptlk-float-pill__extra {
  max-width: 1080px;
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}
.ptlk-float-pill__meta {
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.82);
}
.ptlk-float-pill__sep {
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.35);
}
.ptlk-float-pill__btn {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.26);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.92) !important;
  text-decoration: none;
  padding: 7px 12px;
  border-radius: 999px;
  line-height: 1;
  font-weight: 700;
  font-size: 13px;
  transform: none !important;
  transition:
    background-color 0.22s ease,
    border-color 0.22s ease,
    transform 0.22s ease,
    color 0.22s ease;
}
.ptlk-float-pill__btn:hover,
.ptlk-float-pill__btn:focus,
.ptlk-float-pill__btn:focus-visible,
.ptlk-float-pill__btn:hover:visited {
  background: #1e73ff !important;
  border-color: #1e73ff !important;
  color: #ffffff !important;
  transform: none !important;
  text-decoration: none !important;
}
.ptlk-float-pill__btn:active {
  transform: translateY(0);
}
.ptlk-float-pill__icon {
  flex: 0 0 auto;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: #1e73ff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28);
}
.ptlk-float-pill__icon svg {
  width: 18px;
  height: 18px;
  display: block;
}
@media (max-width: 576px) {
  .ptlk-float-pill {
    height: 48px;
    padding: 9px 9px 9px 14px;
    max-width: 139px;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  }
  .ptlk-float-pill.is-open {
    max-width: calc(100vw - 24px);
  }
  .ptlk-float-pill__icon {
    width: 34px;
    height: 34px;
  }
  .ptlk-float-pill__text {
    font-size: 14px;
  }
  .ptlk-float-pill__extra {
    font-size: 13px;
    gap: 8px;
  }
  .ptlk-float-pill__btn {
    padding: 6px 10px;
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ptlk-float-pill,
  .ptlk-float-pill__extra,
  .ptlk-float-pill__btn {
    transition: none !important;
  }
  .ptlk-float-pill:hover {
    transform: translateX(-50%);
  }
  .ptlk-float-pill__btn:hover {
    transform: none;
  }
}
/* ---- Inline Style Block 45 (id: ptlk-nav-cta-style) ---- */
.custom-navbar .navbar-nav {
  align-items: center;
}
.custom-navbar .navbar-nav .ptlk-nav-cta {
  display: flex;
  align-items: center;
  margin-left: 12px;
}
.custom-navbar .navbar-nav .ptlk-nav-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  background: #ffffff;
  color: #000000 !important;
  font-weight: 700;
  letter-spacing: -0.02em;
  border: 1px solid rgba(255, 255, 255, 0.92);
  text-decoration: none !important;
  line-height: 1.1;
  transition:
    background 0.18s ease,
    color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}
.custom-navbar .navbar-nav .ptlk-nav-cta-btn:hover,
.custom-navbar .navbar-nav .ptlk-nav-cta-btn:focus-visible {
  background: #1e73ff;
  color: #ffffff !important;
  border-color: #1e73ff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
  transform: translateY(-1px);
}
.custom-navbar .navbar-nav .ptlk-nav-cta-btn:active {
  transform: translateY(0);
}
@media (max-width: 991.98px) {
  .custom-navbar .navbar-nav {
    align-items: stretch;
  }
  .custom-navbar .navbar-nav .ptlk-nav-cta {
    margin: 10px 0 0;
  }
  .custom-navbar .navbar-nav .ptlk-nav-cta-btn {
    width: 100%;
  }
}
/* ---- Inline Style Block 46 (id: ptlk-nav-contact-rounded-fix) ---- */
.nav-contact-btn,
.navbar .nav-contact-btn,
.navbar-nav .nav-contact-btn,
a.nav-contact-btn {
  border-radius: 9999px !important;
  overflow: hidden;
}
/* ---- Inline Style Block 47 (id: ptlk-nav-cta-pill-fix) ---- */
.custom-navbar .navbar-nav .ptlk-nav-cta-btn,
.custom-navbar .navbar-nav .ptlk-nav-cta-btn.btn,
.custom-navbar .navbar-nav .ptlk-nav-cta-btn.nav-link,
.custom-navbar .navbar-nav .ptlk-nav-cta a.ptlk-nav-cta-btn {
  border-radius: 9999px !important;
  overflow: hidden;
}
/* ---- Inline Style Block 49 (id: ptlk-compare-arrow-center-v2) ---- */
.ptlk-compare__knob {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ptlk-compare__arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
.ptlk-compare__arrow--l,
.ptlk-compare__arrow--r {
  margin: 0 !important;
}
/* ---- Inline Style Block 50 (id: ptlk-compare-left-init) ---- */
.ptlk-compare {
  --ptlk-compare-pos: 6%;
}
.ptlk-compare__hint {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 7;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(20, 22, 28, 0.92);
  color: rgba(255, 255, 255, 0.92);
  font-size: 12px;
  line-height: 1.25;
  letter-spacing: -0.02em;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  pointer-events: none;
  opacity: 1;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}
.ptlk-compare__hint::after {
  content: "";
  position: absolute;
  left: -6px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 6px solid rgba(20, 22, 28, 0.92);
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.05));
}
.ptlk-compare__hint.is-hidden {
  opacity: 0;
  transform: translateY(-50%) translateX(-6px);
}
/* ---- Inline Style Block 51 (id: ptlk-compare-hint-responsive) ---- */
.ptlk-compare__hint {
  left: 20%;
}
@media (min-width: 768px) {
  .ptlk-compare__hint {
    left: 15%;
  }
}
@media (min-width: 1200px) {
  .ptlk-compare__hint {
    left: 10%;
  }
}
/* ---- Inline Style Block 52 (id: ptlk-compare-frame-80) ---- */
.ptlk-compare {
  width: 70% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.ptlk-compare__overlay,
.ptlk-compare__img {
  width: 100% !important;
  height: 100% !important;
}
@media (max-width: 576px) {
  .ptlk-compare {
    width: 94% !important;
  }
}
/* ---- Inline Style Block 53 (id: ptlk-remove-diff-lines) ---- */
.ptlk-diff {
  border: 0 !important;
}
.ptlk-diff .ptlk-divider-row {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  background-image: none !important;
}
.ptlk-diff .ptlk-divider-row::before,
.ptlk-diff .ptlk-divider-row::after {
  content: none !important;
  display: none !important;
}
.ptlk-diff .ts-feature {
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  background-image: none !important;
}
.ptlk-diff .ts-feature::before,
.ptlk-diff .ts-feature::after {
  content: none !important;
  display: none !important;
}
.ptlk-diff center {
  border: 0 !important;
}
/* ---- Inline Style Block 54 (id: ptlk-edit-layout-style) ---- */
.ptlk-edit-layout {
  max-width: 1800px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  gap: clamp(18px, 2.6vw, 36px);
  align-items: center;
}
.ptlk-edit-media__frame {
  border-radius: 20px;
  overflow: hidden;
  background: rgba(10, 12, 18, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.38);
}
.ptlk-edit-media__video {
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 16/ 9;
  object-fit: cover;
  background: rgba(0, 0, 0, 0.35);
}
.ptlk-edit-points {
  display: grid;
  gap: 14px;
}
.ptlk-edit-point {
  position: relative;
  border-radius: 20px;
  padding: 20px 20px 18px;
  background: rgba(10, 12, 18, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.34);
  overflow: hidden;
}
.ptlk-edit-point::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      620px 280px at 10% 0%,
      rgba(120, 180, 255, 0.12),
      transparent 58%
    ),
    radial-gradient(
      520px 260px at 100% 40%,
      rgba(0, 220, 255, 0.08),
      transparent 60%
    );
  pointer-events: none;
  opacity: 0.85;
}
.ptlk-edit-point > * {
  position: relative;
  z-index: 1;
}
.ptlk-edit-point__icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(0, 0, 0, 0.32);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  color: rgba(255, 255, 255, 0.92);
}
.ptlk-edit-point__title {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.96);
}
.ptlk-edit-point__text {
  margin: 0;
  font-size: 19px;
  line-height: 1.85;
  color: rgba(255, 255, 255, 0.84);
}
@media (max-width: 992px) {
  .ptlk-edit-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 576px) {
  .ptlk-edit-point {
    padding: 18px 18px 16px;
  }
  .ptlk-edit-point__title {
    font-size: 17px;
  }
  .ptlk-edit-point__text {
    font-size: 14px;
  }
}
/* ---- Inline Style Block 55 (id: ptlk-features-fixedimg-css) ---- */
#features {
  overflow: visible;
}
#features .container {
  position: relative;
  overflow: visible;
}
#features .ptlk-features-fixedimg {
  position: absolute;
  top: 70px;
  right: -140px;
  width: clamp(320px, 30vw, 620px);
  aspect-ratio: 1/ 1;
  pointer-events: none;
  z-index: 1;
}
#features .ptlk-features-fixedimg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
#features .ptlk-diff {
  position: relative;
  z-index: 2;
}
@media (max-width: 992px) {
  #features .ptlk-features-fixedimg {
    display: none !important;
  }
}
/* ---- Inline Style Block 56 ---- */
@media (min-width: 992px) {
  #features .ptlk-features-fixedimg {
    top: -130px !important;
    right: -190px !important;
  }
}
/* ---- Inline Style Block 57 ---- */
@media (min-width: 992px) {
  .ptlk-work-sec--stack[aria-label="피티링크에게 의뢰하세요."] {
    position: relative !important;
    overflow: visible !important;
  }
  .ptlk-work-sec--stack[aria-label="피티링크에게 의뢰하세요."]
    .ptlk-ribbon-fixedimg {
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    z-index: 0 !important;
    overflow: visible !important;
  }
  .ptlk-work-sec--stack[aria-label="피티링크에게 의뢰하세요."]
    .ptlk-ribbon-fixedimg
    img {
    position: absolute !important;
    top: 360px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 1600px !important;
    max-width: none !important;
    height: auto !important;
    opacity: 1 !important;
    display: block !important;
  }
  .ptlk-work-sec--stack[aria-label="피티링크에게 의뢰하세요."] > * {
    position: relative;
    z-index: 2;
  }
}
@media (max-width: 991.98px) {
  .ptlk-work-sec--stack[aria-label="피티링크에게 의뢰하세요."]
    .ptlk-ribbon-fixedimg {
    display: none !important;
  }
}
/* ---- Inline Style Block 58 ---- */
@media (min-width: 992px) {
  #features {
    overflow: visible !important;
  }
  #features > .container {
    position: relative !important;
    overflow: visible !important;
  }
  #features .ptlk-handshake-fixedimg {
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    z-index: 5 !important;
  }
  #features .ptlk-handshake-fixedimg img {
    position: absolute !important;
    top: 1320px !important;
    right: 170px !important;
    width: 150px !important;
    max-width: none !important;
    height: auto !important;
    display: block !important;
    transform: translateX(350px) !important;
  }
  #features > .container > * {
    position: relative;
    z-index: 2;
  }
}
@media (max-width: 991.98px) {
  #features .ptlk-handshake-fixedimg {
    display: none !important;
  }
}
/* ---- Inline Style Block 59 (id: ptlk-features-panel-style) ---- */
#features {
  position: relative;
  background-color: #000000;
}
#features .ptlk-features-panel {
  max-width: 1400px;
  margin: 0 auto;
  margin-top: 24px;
  padding: clamp(22px, 2.8vw, 44px) 16px;
  border-radius: 10px;
  border: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
#features .ptlk-wide {
  padding-left: 0;
  padding-right: 0;
}
#features .ptlk-features-fixedimg,
#features .ptlk-handshake-fixedimg {
  z-index: 1;
}
#features .ptlk-features-panel > * {
  position: relative;
  z-index: 2;
}
@media (max-width: 576px) {
  #features .ptlk-features-panel {
    padding: 22px 16px;
    border-radius: 10px;
  }
}
#features .ptlk-features-panel > .container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
#features .ptlk-features-panel > .container > .row {
  margin-left: 0;
  margin-right: 0;
}
#features .ptlk-features-panel > .container > .row > [class*="col-"] {
  padding-left: 12px;
  padding-right: 12px;
}
/* ---- Inline Style Block 60 (id: ptlk-features-line-kill) ---- */
#features .ptlk-features-panel hr,
#features .ptlk-features-panel .row,
#features .ptlk-features-panel .col,
#features .ptlk-features-panel [class*="line"],
#features .ptlk-features-panel [class*="divider"] {
  border: none;
}
#features .ptlk-features-panel .row::before,
#features .ptlk-features-panel .row::after,
#features .ptlk-features-panel .col::before,
#features .ptlk-features-panel .col::after {
  border: none;
  background: none;
  content: none;
}
/* ---- Inline Style Block 62 (id: ptlk-features-h4-chip-patch) ---- */
:root {
  --ptlk-feature-chip-w: 400px;
}
#features .ts-feature h4 {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: min(var(--ptlk-feature-chip-w), 100%) !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  min-height: 52px;
  padding: 10px 14px;
  margin: 14px auto 10px;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: keep-all;
  line-height: 1.15;
  letter-spacing: -0.02em;
  background: #000;
  border: none !important;
  border-radius: 6px;
  box-shadow: none !important;
}
@media (max-width: 576px) {
  :root {
    --ptlk-feature-chip-w: min(270px, 92vw);
  }
  #features .ts-feature h4 {
    font-size: 16px;
  }
}
/* ---- Inline Style Block 63 (id: ptlk-compare-right-image-size-v1) ---- */
.ptlk-compare-info__thumb,
.ptlk-compare-info__media {
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.ptlk-compare-info__thumb img,
.ptlk-compare-info__media img,
.ptlk-compare-info img.ptlk-compare-info__img,
.ptlk-compare-info img {
  width: 33.333% !important;
  max-width: none !important;
  height: auto !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  display: block;
}
.ptlk-compare-info {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 12px;
}
/* ---- Inline Style Block 64 (id: ptlk-compare-right-center-v1) ---- */
.ptlk-compare-info {
  align-items: center !important;
  text-align: center !important;
}
.ptlk-compare-info img {
  margin-left: auto !important;
  margin-right: auto !important;
}
.ptlk-compare-info__title,
.ptlk-compare-info__desc {
  text-align: center !important;
}
/* ---- Inline Style Block 65 (id: ptlk-trust-logo-width-fix-v2) ---- */
.ts-title.ptlk-trust {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: clamp(16px, 2.2vw, 28px) !important;
  padding-right: clamp(16px, 2.2vw, 28px) !important;
}
.ptlk-trust__logo-wrap.ptlk-orglike-box {
  max-width: 1100px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
    padding: 8px 12px !important;
  min-height: 85px !important;
}
.ptlk-trust__logo-wrap.ptlk-orglike-box img {
  display: block;
  height: auto;
}
/* ---- Inline Style Block 66 (id: ptlk-work-showcase-width-fix) ---- */
.ptlk-work-showcase {
  max-width: 1100px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* ---- Inline Style Block 67 (id: ptlk-fa-icons) ---- */
.navbar .ptlk-dd-ico i,
.navbar .ptlk-nav-ico i {
  font-size: 16px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.9);
}
/* ---- Inline Style Block 68 (id: ptlk-font-icon-stability) ---- */
i.fa,
i.fas,
i.far,
i.fab,
i.fa-solid,
i.fa-regular,
i.fa-brands,
[class^="fa-"],
[class*=" fa-"] {
  display: inline-block;
  line-height: 1 !important;
  width: 1.25em;
  text-align: center;
  vertical-align: -0.125em;
  font-style: normal;
}
.custom-navbar .nav-link,
.custom-navbar .dropdown-item {
  line-height: 1.2 !important;
}
.custom-navbar .ptlk-navlink-ico {
  gap: 10px;
}
/* ---- Inline Style Block 69 (id: ptlk-faq-single-fixes) ---- */
/* FAQ: single-source fixes to avoid conflicting styles */
.ptlk-faq .panel-desc {
  color: #333 !important;
}
/* Ensure active tab stays readable even if other CSS loads later */
.ptlk-faq .tab-btn[aria-selected="true"],
.ptlk-faq .tab-btn[aria-selected="true"] * {
  color: #000 !important;
}
/* ---- Inline Style Block 70 (id: ptlk-ws-stage-fix) ---- */
/* === PTLINK WORK SHOWCASE: stack 2 imgs; show one at a time === */
.ptlk-ws__stage {
  position: relative;
  overflow: hidden;
}
/* Both layers should overlap (current + next) */
.ptlk-ws__stage img,
.ptlk-ws__img,
[data-ptlk-ws-img-next] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  /* 필요 시 contain */
  object-position: 50% 50%;
}
/* Visibility is controlled by JS with .is-show */
.ptlk-ws__img,
[data-ptlk-ws-img-next] {
  opacity: 0;
  transition: opacity 0.25s ease;
}
.ptlk-ws__img.is-show,
[data-ptlk-ws-img-next].is-show {
  opacity: 1;
}
/* Next layer should never capture clicks */
[data-ptlk-ws-img-next] {
  pointer-events: none;
}
/* ---- Inline Style Block 71 (id: ptlk-hero-typo-static-css) ---- */
.ts-video-bg {
  position: relative;
}
.ts-video-bg .ptlk-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.ts-video-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.1);
  z-index: 1;
  pointer-events: none;
}
.ts-video-bg .ptlk-hero-typo {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: clamp(10px, 2.2vw, 18px);
  padding: 0 clamp(16px, 4vw, 64px);
  color: #fff;
  pointer-events: none;
}
.ts-video-bg .ptlk-hero-typo__brand {
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  font-size: clamp(40px, 6.2vw, 86px);
  color: rgba(255, 255, 255, 0.98);
  text-shadow: 0 16px 50px rgba(0, 0, 0, 0.55);
}
.ts-video-bg .ptlk-hero-typo__lines {
  display: grid;
  gap: clamp(6px, 1.2vw, 10px);
}
.ts-video-bg .ptlk-hero-typo__line {
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.08;
  font-size: clamp(30px, 4.8vw, 68px);
  color: rgba(255, 255, 255, 0.92);
}
.ts-video-bg .ptlk-hero-typo__thin {
  font-weight: 600;
  opacity: 0.97;
}
/* ---- Inline Style Block 72 (id: ptlk-hero-layer-fix) ---- */
#ts-hero {
  position: relative;
  background: #000;
  overflow: hidden;
}
#ts-hero > .ts-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #000;
  z-index: 0;
}
#ts-hero > .ts-background .ts-video-bg,
#ts-hero > .ts-background video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
#ts-hero .container {
  position: relative;
  z-index: 2;
}
#ts-hero .hero-bottom-tag {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1;
}
/* ---- Inline Style Block 73 ---- */
/* ---- Inline Style Block 74 ---- */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* ---- Inline Style Block 75 (id: ptlk-compare-split-layout-v1) ---- */
.ptlk-compare-split {
  display: grid;
  grid-template-columns: 65% 35%;
  gap: 22px;
  align-items: center;
  width: 100%;
  max-width: 1400px;
  margin: 22px auto 0;
}
.ptlk-compare-split__left .ptlk-compare {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.ptlk-compare-info {
  padding: 28px 24px;
  border-radius: 18px;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.ptlk-compare-info__title {
  margin: 0 0 10px;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.96);
}
.ptlk-compare-info__desc {
  margin: 0;
  font-size: 20px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.82);
}
@media (max-width: 992px) {
  .ptlk-compare-split {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}
.ptlk-compare-split {
  align-items: end;
}
.ptlk-compare-split__right {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 14px;
  min-height: 100%;
}
.ptlk-compare-info__media {
  width: 100%;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.3);
}
.ptlk-compare-info__media svg {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 992px) {
  .ptlk-compare-split__right {
    justify-content: flex-start;
  }
}
/* ---- Inline Style Block 76 ---- */
.ptlk-compare {
  position: relative;
  max-width: 1400px;
  margin: 22px auto 0;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: #000;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.38);
  user-select: none;
  touch-action: none;
  aspect-ratio: 16/ 9;
}
@media (max-width: 576px) {
  .ptlk-compare {
    aspect-ratio: 4/ 3;
  }
}
.ptlk-compare__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  display: block;
  transform: translateZ(0);
  backface-visibility: hidden;
}
.ptlk-compare__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transform: translateZ(0);
  clip-path: inset(0 calc(100% - var(--ptlk-compare-pos, 50%)) 0 0);
  will-change: clip-path;
}
.ptlk-compare__handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--ptlk-compare-pos, 50%);
  width: 1px;
  transform: translateX(-0.5px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: ew-resize;
  outline: none;
}
.ptlk-compare__line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
}
.ptlk-compare__knob {
  position: relative;
  width: 120px;
  height: 56px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.42);
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition:
    transform 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease;
}
.ptlk-compare__handle:hover .ptlk-compare__knob,
.ptlk-compare__handle:focus-visible .ptlk-compare__knob {
  transform: scale(1.06);
  border-color: rgba(255, 255, 255, 0.42);
  background: rgba(0, 0, 0, 0.52);
}
.ptlk-compare__arrow {
  font-size: 14px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.92);
  font-weight: 700;
  letter-spacing: -0.02em;
  user-select: none;
}
.ptlk-compare__arrow--l {
  margin-right: 8px;
}
.ptlk-compare__arrow--r {
  margin-left: 8px;
}
@media (prefers-reduced-motion: reduce) {
  .ptlk-compare__knob {
    transition: none !important;
  }
}
/* ---- Inline Style Block 77 ---- */
.ptlk-cardrail {
  max-width: 1400px;
  margin: 22px auto 0;
}
.ptlk-cardrail__viewport {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: none;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 8px 10px 10px;
  border-radius: 22px;
}
.ptlk-cardrail__viewport::-webkit-scrollbar {
  display: none;
}
.ptlk-cardrail__viewport {
  cursor: grab;
}
.ptlk-cardrail__viewport.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}
.ptlk-cardrail__track {
  display: flex;
  flex-wrap: nowrap;
  gap: 18px;
  align-items: stretch;
  padding-right: 10px;
}
.ptlk-cardrail__card {
  scroll-snap-align: none;
  flex: 0 0 clamp(230px, 34vw, 420px);
  background: #ffffff;
  color: #111;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 24px;
  padding: 26px 26px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  text-decoration: none;
  user-select: none;
  transform: translate3d(0, 0, 0) scale(1);
  transform-origin: center center;
  backface-visibility: hidden;
  will-change: transform;
  transition:
    transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 520ms cubic-bezier(0.22, 1, 0.36, 1),
    border-color 520ms cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition-delay: 0ms;
}
@media (hover: hover) and(pointer:fine) {
  .ptlk-cardrail__card:hover {
    transform: translate3d(0, 0, 0) scale(1.045) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.1) !important;
    border-color: rgba(0, 0, 0, 0.16) !important;
    transition-delay: 60ms !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ptlk-cardrail__card {
    transition: none;
  }
  .ptlk-cardrail__card:hover {
    transform: none !important;
  }
}
.ptlk-cardrail__icon {
  width: 24px !important;
  height: 24px !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 10px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
.ptlk-cardrail__icon svg {
  width: 24px !important;
  height: 24px !important;
}
.ptlk-cardrail__title {
  margin: 0;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.2;
  font-size: 28px;
  min-height: 2.4em;
}
.ptlk-cardrail__desc {
  margin: 0;
  line-height: 1.75;
  font-size: 20px;
  color: rgba(0, 0, 0, 0.72);
  min-height: 7em;
}
.ptlk-cardrail__nav {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 14px;
}
.ptlk-cardrail__btn {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    background 0.15s ease,
    0.15s ease,
    border-color 0.15s ease;
}
.ptlk-cardrail__btn:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.22);
  transform: translateY(-1px);
}
.ptlk-cardrail__btn:active {
  transform: translateY(0);
}
.ptlk-cardrail__btn svg {
  width: 18px;
  height: 18px;
}
.ptlk-cardrail__viewport.is-dragging {
  cursor: grabbing;
}
.ptlk-cardrail__viewport {
  cursor: grab;
}
@media (max-width: 992px) {
  .ptlk-cardrail__title {
    font-size: 24px;
    min-height: 2.4em;
  }
  .ptlk-cardrail__card {
    padding: 22px 22px 18px;
  }
  .ptlk-cardrail__desc {
    min-height: 6.4em;
  }
}
@media (max-width: 576px) {
  .ptlk-cardrail__track {
    display: flex;
    flex-wrap: nowrap;
    gap: 18px;
    align-items: stretch;
    padding-right: 10px;
  }
  .ptlk-cardrail__card {
    flex-basis: 86vw;
  }
  .ptlk-cardrail__title {
    font-size: 22px;
    min-height: 2.2em;
  }
  .ptlk-cardrail__desc {
    min-height: 5.6em;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ptlk-cardrail__cta,
  .ptlk-cardrail__btn {
    transition: none !important;
  }
}
/* ---- Inline Style Block 78 ---- */
.ptlk-clients .ptlk-clients-svc {
  margin: 18px auto 18px;
  max-width: 1160px;
}
.ptlk-clients-svc__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.ptlk-clients-svc__list {
  width: 100%;
}
.ptlk-clients-svc__cardTitle {
  width: 100%;
}
.ptlk-clients-svc__list--cols2,
.ptlk-clients-svc__list--cols3 {
  justify-content: center;
}
@media (max-width: 860px) {
  .ptlk-clients-svc__grid {
    grid-template-columns: 1fr;
  }
  .ptlk-clients-svc__card {
    min-height: 0;
  }
}
.ptlk-clients-svc__card {
  border-radius: 18px;
  padding: 22px 20px 18px;
  background: rgba(10, 12, 18, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.34);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  position: relative;
  overflow: hidden;
  min-height: 180px;
  display: flex;
  flex-direction: column;
}
.ptlk-clients-svc__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      680px 280px at 10% 0%,
      rgba(120, 180, 255, 0.14),
      transparent 55%
    ),
    radial-gradient(
      520px 260px at 100% 40%,
      rgba(0, 220, 255, 0.1),
      transparent 60%
    );
  pointer-events: none;
  opacity: 0.9;
}
.ptlk-clients-svc__cardTitle {
  position: relative;
  z-index: 1;
  margin: 0 0 12px;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-size: 17px;
  color: rgba(255, 255, 255, 0.96);
}
.ptlk-clients-svc__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px 12px;
  justify-items: stretch;
  align-content: center;
}
.ptlk-clients-svc__list--cols3 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.ptlk-clients-svc__list li {
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  width: 100%;
  white-space: normal;
}
.ptlk-clients-svc__list li {
  font-size: 13px;
  padding: 9px 10px;
  white-space: normal;
  text-wrap: balance;
}
@media (max-width: 576px) {
  .ptlk-clients-svc__grid {
    grid-template-columns: 1fr;
  }
  .ptlk-clients-svc__card {
    min-height: unset;
  }
}
/* ---- Inline Style Block 79 ---- */
.ptlk-clients {
  padding: 70px 0;
}
.ptlk-clients-head {
  margin-bottom: 18px;
}
.ptlk-clients-desc {
  opacity: 0.72;
  margin-bottom: 0;
}
.ptlk-client-grid {
  list-style: none;
  padding: 0;
  margin: 28px 0 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 576px) {
  .ptlk-client-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}
.ptlk-client-item {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: hidden;
  border-radius: 0;
  height: 120px;
}
@media (max-width: 576px) {
  .ptlk-client-item {
    height: 96px;
  }
}
.ptlk-client-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  filter: grayscale(100%);
  opacity: 0.88;
  transform: scale(1.02);
  transition:
    opacity 0.25s ease,
    filter 0.25s ease,
    0.25s ease;
}
.ptlk-client-item:hover img {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.06);
}
.ptlk-clients-foot {
  opacity: 0.7;
  margin-top: 18px;
}
/* ---- Inline Style Block 80 ---- */
#ptlk-reviews {
  padding: 10px 0 30px;
}
#ptlk-reviews .ptlk-reviews-wrap {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}
.ptlk-reviews-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin: 12px 0 12px;
  flex-wrap: wrap;
}
.ptlk-reviews-head .ptlk-reviews-sub {
  color: rgba(255, 255, 255, 0.75);
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
}
.ptlk-reviews-controls {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-left: auto;
}
.ptlk-reviews-btn {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-weight: 700;
  padding: 10px 12px;
  border-radius: 12px;
  cursor: pointer;
  line-height: 1;
  transition:
    0.15s ease,
    background 0.15s ease,
    border-color 0.15s ease;
}
.ptlk-reviews-btn:active {
  transform: translateY(1px);
}
.ptlk-reviews-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.26);
}
.ptlk-reviews-btn[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
}
.ptlk-reviews-scroller {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding: 10px 2px 12px;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 2px;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  cursor: grab;
}
.ptlk-reviews-scroller::-webkit-scrollbar {
  height: 10px;
}
.ptlk-reviews-scroller::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.16);
  border-radius: 999px;
}
.ptlk-review-card {
  scroll-snap-align: none;
  flex: 0 0 min(520px, 88%);
  background: #2b2f34;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 20px 20px 18px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  position: relative;
}
.ptlk-review-quote {
  font-size: 2.2rem;
  color: rgba(206, 212, 220, 0.5);
  position: absolute;
  top: 14px;
  right: 18px;
  pointer-events: none;
}
.ptlk-review-profile {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}
.ptlk-review-avatar {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
}
.ptlk-review-meta {
  display: grid;
  gap: 2px;
}
.ptlk-review-name {
  font-weight: 700;
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.2;
}
.ptlk-review-title {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.95rem;
  line-height: 1.2;
}
.ptlk-review-rating {
  color: #d1d5db;
  font-size: 1.1rem;
  margin: 6px 0 6px;
}
.ptlk-review-body {
  color: #f2f4fa;
  font-size: 1.02rem;
  line-height: 1.7;
}
.ptlk-review-date {
  display: inline-block;
  margin-top: 10px;
  color: rgba(220, 230, 245, 0.65);
  font-size: 0.92rem;
}
.ptlk-reviews-more {
  margin-top: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  overflow: hidden;
}
.ptlk-reviews-more > summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
  padding: 14px 16px;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.ptlk-reviews-more > summary::-webkit-details-marker {
  display: none;
}
.ptlk-reviews-more > summary .ptlk-more-hint {
  color: rgba(255, 255, 255, 0.7);
  font-weight: 700;
  font-size: 13px;
}
.ptlk-reviews-more[open] > summary {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.03);
}
.ptlk-reviews-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 14px;
}
.ptlk-reviews-list .ptlk-review-card {
  flex: initial;
  scroll-snap-align: unset;
}
@media (max-width: 1100px) {
  .ptlk-reviews-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .ptlk-reviews-list {
    grid-template-columns: 1fr;
  }
  .ptlk-review-card {
    padding: 18px 16px 16px;
  }
}
.ptlk-reviews-scroller .ptlk-review-card {
  scroll-snap-align: center;
  scroll-snap-stop: always;
  opacity: 0.68;
  filter: grayscale(16%);
  transform: none;
  transition:
    0.35s ease,
    opacity 0.35s ease,
    filter 0.35s ease;
  will-change: opacity, filter;
}
.ptlk-reviews-scroller .ptlk-review-card.is-active {
  opacity: 1;
  filter: none;
  transform: none;
}
.ptlk-reviews-scroller {
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scroll-padding-inline: 50%;
  position: relative;
}
.ptlk-reviews-scroller.is-dragging {
  cursor: grabbing;
  user-select: none;
  scroll-snap-type: none;
  scroll-behavior: auto;
}
.ptlk-reviews-scroller::before,
.ptlk-reviews-scroller::after {
  content: "";
  flex: 0 0 calc((100% - var(--rev-card-w, 320px)) / 2);
}
/* ---- Inline Style Block 81 ---- */
.ptlk-faq {
  background: #000;
  padding: 70px 0;
  font-family: "Pretendard", sans-serif;
}
.ptlk-faq .faq-wrap {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}
.ptlk-faq .faq-head {
  color: #fff;
  margin-bottom: 18px;
}
.ptlk-faq .faq-head .eyebrow {
  opacity: 0.85;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin: 0 0 8px;
  font-size: 0.95rem;
}
.ptlk-faq .faq-head h2 {
  margin: 0 0 10px;
  font-size: 2.1rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.ptlk-faq .faq-head p {
  margin: 0;
  opacity: 0.78;
  line-height: 1.7;
  font-size: 1.02rem;
  max-width: 860px;
  font-weight: 400;
}
.ptlk-faq .faq-card {
  background: #000;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 16px 50px rgba(0, 0, 0, 0.35);
}
.ptlk-faq .faq-grid {
  display: grid;
  grid-template-columns: 320px 1fr;
  min-height: 520px;
}
.ptlk-faq .faq-tabs {
  padding: 22px 16px;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  background: #000;
}
.ptlk-faq .tab-btn {
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.72);
  padding: 13px 12px;
  border-radius: 14px;
  font-weight: 600;
  font-size: 1.02rem;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: all 0.18s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.ptlk-faq .tab-btn:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}
.ptlk-faq .tab-btn[aria-selected="true"] {
  background: #fff !important;
  color: #000 !important;
  border: 2px solid #000 !important;
  box-shadow: none !important;
}
.ptlk-faq .tab-pill {
  font-size: 0.82rem;
  opacity: 0.85;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  font-weight: 500;
}
.ptlk-faq .faq-panel {
  padding: 26px 26px 22px;
  background: #000;
}
.ptlk-faq .panel-intro {
  background: #fff;
  color: #111;
  border-radius: 16px;
  padding: 18px 18px;
  margin: 0 0 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}
.ptlk-faq .panel-intro .panel-title {
  margin: 0 0 6px;
  font-size: 1.28rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #111;
}
.ptlk-faq .panel-intro .panel-desc {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.7;
  color: #333;
  font-weight: 400;
}
.ptlk-faq .faq-list {
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}
.ptlk-faq details {
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  padding: 10px 0;
}
.ptlk-faq summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 0;
  color: #fff;
  font-weight: 600;
  font-size: 1.03rem;
  outline: none;
}
.ptlk-faq summary::-webkit-details-marker {
  display: none;
}
.ptlk-faq .chev {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.18);
  transition:
    0.18s ease,
    background-color 0.18s ease;
  margin-top: 2px;
}
.ptlk-faq .chev::before {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid rgba(255, 255, 255, 0.8);
  border-bottom: 2px solid rgba(255, 255, 255, 0.8);
  transform: rotate(45deg);
  margin-top: -2px;
  transition: 0.18s ease;
}
.ptlk-faq details[open] .chev {
  background: rgba(255, 255, 255, 0.06);
  transform: rotate(180deg);
}
.ptlk-faq .answer {
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.8;
  padding: 0 0 16px;
  font-size: 0.98rem;
  font-weight: 400;
}
.ptlk-faq .answer p {
  margin: 0;
}
.ptlk-faq .answer strong {
  color: #fff;
  font-weight: 600;
}
.ptlk-faq .faq-foot {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.7;
  font-size: 0.98rem;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  align-items: center;
  justify-content: space-between;
  font-weight: 400;
}
.ptlk-faq .faq-foot .cta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  font-weight: 400;
}
.ptlk-faq .faq-foot strong {
  font-weight: 600;
  color: #fff;
}
.ptlk-faq .faq-foot a {
  color: #1e73ff;
  text-decoration: none;
  font-weight: 600;
}
.ptlk-faq .faq-foot a:hover {
  text-decoration: underline;
}
.ptlk-faq .faq-wrap {
  width: min(1180px, calc(100% - 24px));
}
.ptlk-faq .faq-grid {
  grid-template-columns: 1fr;
  min-height: auto;
}
.ptlk-faq .faq-tabs {
  border-right: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: #000;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  overflow: visible;
  padding: 12px 16px;
  position: sticky;
  top: 0;
  z-index: 2;
  -webkit-mask-image: none;
  mask-image: none;
  scroll-snap-type: none;
  scroll-padding-left: 0;
  scroll-padding-right: 0;
}
.ptlk-faq .faq-tabs::after {
  content: none;
}
.ptlk-faq .tab-btn {
  width: auto;
  flex: 1 1 auto;
  white-space: nowrap;
  min-height: 44px;
  padding: 10px 12px;
  font-size: 1rem;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
}
.ptlk-faq .tab-btn[aria-selected="true"] {
  background: #fff !important;
  color: #000 !important;
  border: 2px solid #000 !important;
  box-shadow: none !important;
}
.ptlk-faq .tab-pill {
  display: none;
}
.ptlk-faq .faq-panel {
  padding: 20px 16px;
}
.ptlk-faq .panel-intro {
  padding: 14px 14px;
  border-radius: 14px;
  margin: 0 0 14px;
}
.ptlk-faq .panel-intro .panel-title {
  font-size: 1.16rem;
}
.ptlk-faq .panel-intro .panel-desc {
  font-size: 0.95rem;
}
.ptlk-faq summary {
  padding: 12px 0;
  font-size: 1rem;
  gap: 10px;
}
.ptlk-faq .answer {
  font-size: 0.95rem;
  padding: 0 0 14px;
}
.ptlk-faq .faq-foot {
  font-size: 0.95rem;
  gap: 8px 14px;
}
.ptlk-faq .tab-btn {
  justify-content: center;
  text-align: center;
}
@media (max-width: 480px) {
  .ptlk-faq {
    padding: 48px 0;
  }
  .ptlk-faq .faq-head h2 {
    font-size: 1.65rem;
    letter-spacing: -0.01em;
  }
  .ptlk-faq .faq-head p {
    font-size: 0.95rem;
    line-height: 1.65;
  }
  .ptlk-faq .faq-tabs {
    padding: 10px 12px;
    gap: 8px;
  }
  .ptlk-faq .tab-btn {
    flex: 1 1 calc(50% - 8px);
    font-size: 0.92rem;
    padding: 9px 11px;
    min-height: 42px;
  }
  .ptlk-faq .chev {
    width: 20px;
    height: 20px;
  }
}
/* FIX: active tab on light bg -> black text */
.ptlk-faq .tab-btn[aria-selected="true"],
.ptlk-faq .tab-btn[aria-selected="true"] * {
  color: #000 !important;
}
/* ---- Inline Style Block 82 ---- */
.policy-links {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
/* ---- Inline Style Block 83 ---- */
.gray-small {
  color: #888 !important;
  font-size: 0.5em;
  letter-spacing: 0.01em;
}
.link-btn {
  cursor: pointer;
  transition: color 0.15s;
}
.link-btn:hover {
  color: #333 !important;
  text-decoration: underline;
}
/* ---- Inline Style Block 84 ---- */
/* scoped styles only: removed accidental global body/h2 overrides */
.content-box {
  display: none;
  padding: 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  margin-top: 10px;
  font-size: 20px;
}
.link-btn {
  cursor: pointer;
  color: #1e73ff;
  text-decoration: underline;
  font-size: 16px;
}
/* ---- Inline Style Block 85 ---- */
#ptlk-footer {
  background: #000000;
  color: #fff;
  padding: 32px 0 16px 0;
  font-family: "Pretendard", sans-serif;
  font-size: 20px;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}
#ptlk-footer .ptlkf-sitemap-container {
  display: flex;
  justify-content: center;
  gap: 32px;
  max-width: 1100px;
  margin: 0 auto;
  flex-wrap: wrap;
  padding: 0 16px;
  background: transparent;
}
#ptlk-footer .ptlkf-sitemap-column {
  min-width: 120px;
  flex: 1 1 140px;
  margin-bottom: 24px;
}
#ptlk-footer .ptlkf-sitemap-title {
  font-weight: bold;
  margin-bottom: 12px;
  font-size: 1rem;
  letter-spacing: 1px;
}
#ptlk-footer .ptlkf-sitemap-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
#ptlk-footer .ptlkf-sitemap-links li {
  margin-bottom: 8px;
}
#ptlk-footer .ptlkf-sitemap-links li a {
  color: #d6d6d6;
  text-decoration: none;
  transition: color 0.2s;
  font-size: 0.98rem;
}
#ptlk-footer .ptlkf-sitemap-links li a:hover {
  color: #fff;
  text-decoration: underline;
}
@media (max-width: 700px) {
  #ptlk-footer .ptlkf-sitemap-container {
    flex-direction: column;
    gap: 0;
    align-items: stretch;
    max-width: 100%;
    padding: 0;
    margin: 0;
  }
  #ptlk-footer .ptlkf-sitemap-column {
    width: 100%;
    min-width: 0;
    flex: none;
    margin-bottom: 32px;
    border-bottom: 1px solid #353535;
    padding: 0 0 12px 0;
  }
  #ptlk-footer .ptlkf-sitemap-title {
    font-size: 1.15rem;
    margin-bottom: 10px;
  }
  #ptlk-footer .ptlkf-sitemap-links li a {
    font-size: 1.05rem;
  }
}
.ptlk-clients-svc__card {
  background: #07080c !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.62) !important;
}
.ptlk-orglike-box {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  padding: 18px 16px;
  background: rgba(10, 12, 18, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.ptlk-orglike-box::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      600px 280px at 10% 0%,
      rgba(120, 180, 255, 0.14),
      transparent 55%
    ),
    radial-gradient(
      520px 260px at 100% 30%,
      rgba(0, 220, 255, 0.1),
      transparent 60%
    );
  pointer-events: none;
  opacity: 0.9;
}
.ptlk-orglike-box > * {
  position: relative;
  z-index: 1;
}
.ptlk-trust__logo-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 16px;
  align-items: center;
  justify-content: center;
}
.ptlk-trust__logo-wrap img {
  max-width: 180px;
  height: auto;
  display: block;
  filter: none;
}
@media (max-width: 576px) {
  .ptlk-trust__logo-wrap {
    gap: 10px 12px;
    padding: 14px 12px;
  }
  .ptlk-trust__logo-wrap img {
    width: 140px;
  }
}
/* ---- Inline Style Block 86 (id: ptlk-footer-about-font) ---- */
#ts-footer-main {
  font-size: 16px !important;
  line-height: 1.65;
}
#ts-footer-main h2 {
  font-size: 20px !important;
}
#ts-footer-main address a {
  font-size: 18px !important;
}
#ts-footer-main nav a {
  font-size: 17px !important;
}
/* ---- Inline Style Block 87 ---- */
#works,
section#works,
.ts-block#works {
  background: #05060b !important;
  color: #ffffff !important;
}
#works .ts-gallery,
#works .ts-gallery__item,
#works .ts-gallery__item-inner,
#works figure,
#works img {
  background: #0b0f1a !important;
  border-color: #1f2937 !important;
}
#works * {
  opacity: 1 !important;
}
#works .overlay,
#works .ts-gallery__item::before,
#works .ts-gallery__item::after {
  background: transparent !important;
  opacity: 0 !important;
}
/* ---- Inline Style Block 88 ---- */
#works,
section#works,
.ts-block#works {
  background: #000000 !important;
  color: #ffffff !important;
}
#works .ts-gallery,
#works .ts-gallery__item,
#works .ts-gallery__item-inner,
#works figure,
#works img {
  background: #000000 !important;
  border-color: #111111 !important;
}
#works * {
  opacity: 1 !important;
  filter: none !important;
  background-image: none !important;
}
#works .overlay,
#works .ts-gallery__item::before,
#works .ts-gallery__item::after {
  display: none !important;
}
/* ---- Inline Style Block 89 ---- */
#works .section-title,
#works .ts-title,
#works .work-title,
#works .ts-block-title,
#works .portfolio-title,
#works h2,
#works h3 {
  background: #000000 !important;
  color: #ffffff !important;
}
#works .work-caption,
#works .ts-gallery__caption,
#works .ts-gallery__item-caption,
#works .ts-gallery__meta {
  background: #000000 !important;
  color: #ffffff !important;
}
#works [style*="gradient"],
#works [class*="gradient"] {
  background: #000000 !important;
  background-image: none !important;
}
/* ---- Inline Style Block 90 ---- */
#works .pf-meta {
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  padding-bottom: 10px !important;
}
#works .pf-cap {
  color: #ffffff !important;
  text-shadow: none !important;
}
#works .pf-cap .pf-sub {
  color: #cfcfcf !important;
}
#works .pf-tags li {
  background: transparent !important;
  border: 1px solid #333333 !important;
  color: #d6d6d6 !important;
}
#works .pf-tags li.pf-more a {
  background: transparent !important;
  border: 1px dashed #444444 !important;
  color: #e6e6e6 !important;
}
@keyframes ptlkHeroSeqIn {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ---- PTLINK: remove icon outlines + left-align (requested) ---- */
.ptlk-edit-point__icon {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ptlk-cardrail__card {
  align-items: flex-start;
}

/* =========================
   MOVED INLINE <style> BLOCKS FROM HTML
   ========================= */
/* ---- MOVED FROM HTML STYLE TAG: ptlk-spacer-css ---- */
/* Replace excessive <br> stacks with consistent spacing blocks */
.ptlk-spacer {
  display: block;
  width: 100%;
}
.ptlk-spacer--sm {
  height: 1rem;
} /* ~20px */
.ptlk-spacer--md {
  height: 5rem;
} /* ~40px */
.ptlk-spacer--lg {
  height: 8rem;
} /* ~64px */
@media (max-width: 768px) {
  .ptlk-spacer--sm {
    height: 2rem;
  }
  .ptlk-spacer--md {
    height: 4rem;
  }
  .ptlk-spacer--lg {
    height: 6rem;
  }
}

/* ---- MOVED FROM HTML STYLE TAG: ptlk-semantic-css ---- */
/* Semantic helpers (no layout change) */
.ptlk-hgroup {
  display: block;
}
.pf-item {
  display: block;
}

/* ---- MOVED FROM HTML STYLE TAG: ptlk-hero-media-opt-css ---- */
/* HERO: prevent mobile video fetch & improve LCP/CLS */
#ts-hero .ts-video-bg {
  position: relative;
  overflow: hidden;
}
#ts-hero .ptlk-hero-video,
#ts-hero .ptlk-hero-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Default: desktop shows video, hides poster */
#ts-hero .ptlk-hero-poster {
  display: none;
}
/* Mobile: hide video, show poster (no JS needed) */
@media (max-width: 768px) {
  #ts-hero .ptlk-hero-video {
    display: none !important;
  }
  #ts-hero .ptlk-hero-poster {
    display: block;
  }
}

/* ---- MOVED FROM HTML STYLE TAG: ptlk-form-status-css ---- */
.form-contact-status {
  margin-top: 12px;
  font-size: 0.95rem;
}
.form-contact-status.is-error {
  color: #ff4d4d;
  font-weight: 600;
}
.form-contact-status.is-success {
  color: #1e73ff;
  font-weight: 600;
}

/* ---- MOVED FROM HTML STYLE TAG: no-id ---- */
/* === FIX: center align card icons === */
.ptlk-cardrail__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.ptlk-cardrail__icon svg {
  display: block;
  margin: 0 auto;
}

/* ---- MOVED FROM HTML STYLE TAG: no-id ---- */
/* === FIX: keep features icons/text centered (override bootstrap text-sm-left) === */
#features .ts-feature .text-center {
  text-align: center !important;
}
#features .ts-feature img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  #features,
  #features .ptlk-work-head,
  #features .ptlk-hgroup,
  #features .ptlk-work-desc,
  #features .ts-feature,
  #features .ts-feature .text-center,
  #features h1,
  #features h2,
  #features h3,
  #features h4,
  #features h5,
  #features h6,
  #features p,
  #features li,
  #features a,
  #features span {
    text-align: center !important;
  }
}
@media (max-width: 991.98px) {
  #features .ptlk-features-panel > .container > .row {
    display: flex;
    flex-wrap: wrap;
    margin-left: 0;
    margin-right: 0;
  }
  #features .ptlk-features-panel > .container > .row > [class*="col-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0;
    padding-right: 0;
  }
  #features .ts-feature,
  #features .ts-feature .text-center,
  #features .ts-feature h4,
  #features .ts-feature p {
    text-align: center !important;
  }
  #features .ts-feature h4 {
    width: min(270px, 92vw) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow-wrap: anywhere;
    word-break: keep-all;
  }
  #features .ts-feature p {
    overflow-wrap: anywhere;
    word-break: keep-all;
  }
}

/* ---- MOVED FROM HTML STYLE TAG: ptlk-edit-point-transparent ---- */
/* PTLINK: make edit-point boxes fully transparent (background + border) */
.ptlk-edit-point {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  border: 1px solid transparent !important;
}
/* If the border is applied on inner wrappers, neutralize those too */
.ptlk-edit-point__icon,
.ptlk-edit-point__title,
.ptlk-edit-point__text {
  background: transparent !important;
}

/* ---- MOVED FROM HTML STYLE TAG: no-id ---- */
/* === FORCE TRANSPARENT: video + icon cards all borders/backgrounds === */
.ptlk-edit-point,
.ptlk-edit-point * {
  border-color: transparent !important;
  outline-color: transparent !important;
}
.ptlk-edit-point {
  background: transparent !important;
  box-shadow: none !important;
}
.ptlk-edit-point .ptlk-edit-icon,
.ptlk-edit-point .ptlk-edit-icon svg {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  stroke: currentColor !important;
}
.ptlk-edit-point svg * {
  stroke-opacity: 1;
}
/* video/laptop frame */
.ptlk-edit-visual,
.ptlk-edit-visual * {
  border-color: transparent !important;
  outline-color: transparent !important;
  box-shadow: none !important;
}
.ptlk-edit-visual {
  background: transparent !important;
}

/* ---- MOVED FROM HTML STYLE TAG: no-id ---- */
/* === HARD REMOVE VIDEO FRAME OUTLINE === */
.ptlk-edit-visual,
.ptlk-edit-visual .ptlk-edit-video,
.ptlk-edit-visual img,
.ptlk-edit-visual video,
.ptlk-edit-visual iframe,
.ptlk-edit-visual .mockup,
.ptlk-edit-visual .device,
.ptlk-edit-visual .laptop,
.ptlk-edit-visual .frame {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* === FINAL KILL: any media/video frame outlines === */
.ptlk-edit-media__frame,
.ptlk-edit-media__frame::before,
.ptlk-edit-media__frame::after,
.ptlk-edit-media__video,
.ptlk-edit-media__video::before,
.ptlk-edit-media__video::after,
.ptlk-edit-media__video img,
.ptlk-edit-media__video video,
.ptlk-edit-media__video iframe,
.ptlk-edit-media__frame img {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* =========================================
   PTLINK PATCH: Card hover micro-animation (restore)
   - subtle scale on hover/focus, GPU-friendly
========================================= */
.ptlk-cardrail__card {
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
  will-change: transform;
  transform: translateZ(0);
}
.ptlk-cardrail__card:hover,
.ptlk-cardrail__card:focus-within {
  transform: translateZ(0) scale(1.03);
}

/* If cards are using a generic .ptlk-card class somewhere, apply too */
.ptlk-card {
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
  will-change: transform;
  transform: translateZ(0);
}
.ptlk-card:hover,
.ptlk-card:focus-within {
  transform: translateZ(0) scale(1.03);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .ptlk-cardrail__card,
  .ptlk-card {
    transition: none !important;
  }
}

/* === FIX: panel title text color on white background === */
.panel-title {
  color: #000 !important;
}

/* =========================================================
   PTLINK CLS HOTFIX (Gallery + Scrollbar stability)
   - Reserve space for gallery cards and meta area
   - Prevent viewport width shift from scrollbar toggles
========================================================= */

/* Prevent layout shift when scrollbars appear/disappear (e.g., popup/overlay toggles) */
html {
  scrollbar-gutter: stable;
}
/* Fallback for browsers without scrollbar-gutter */
@supports not (scrollbar-gutter: stable) {
  html {
    overflow-y: scroll;
  }
}

/* WORKS gallery: reserve consistent image area so lazy-load/decoding doesn't move layout */
#works .ts-gallery__item {
  /* keep existing look; just guarantee a stable minimum height for the image-card area */
  min-height: clamp(220px, 26vw, 440px);
}

/* The background figure is positioned absolutely by template; ensure it fully fills the card */
#works .ts-gallery__item .ts-img-into-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* Ensure img always fills without affecting layout */
#works .ts-gallery__item .ts-img-into-bg > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Reserve room for text meta (font swap / line wrapping can shift nearby cards) */
#works .pf-meta {
  min-height: 110px;
}

/* CLS/Overflow hotfix v2: prevent horizontal drift (left black space) */
html,
body {
  overflow-x: hidden;
  width: 100%;
}

/* Ensure media never overflows viewport */
img,
video,
svg,
canvas {
  max-width: 100%;
}

/* ===============================
   PTLINK WORK SECTIONS → BLACK BG
=============================== */
.ptlk-work-sec.ptlk-work-sec--stack {
  background-color: #000 !important;
  color: #fff;
}

.ptlk-work-sec.ptlk-work-sec--stack .ptlk-section-title {
  color: #fff !important;
}

/* ===============================
   TRUST + CLIENTS SECTIONS → BLACK BG
=============================== */

/* Trust logo/title block */
.ptlk-trust,
.ptlk-trust.text-center,
.ptlk-orglike-box {
  background-color: #000 !important;
  color: #fff !important;
}

/* Clients section */
#clients.ts-block.ptlk-clients {
  background-color: #000 !important;
  color: #fff !important;
}

#clients.ts-block.ptlk-clients .ptlk-section-title,
#clients.ts-block.ptlk-clients h2,
#clients.ts-block.ptlk-clients p {
  color: #fff !important;
}

/* ===============================
   GLOBAL DEFAULT BACKGROUND → BLACK
=============================== */

/* 전체 페이지 기본 배경 */
html,
body {
  background-color: #000 !important;
  color: #fff;
}

/* 모든 섹션 기본 배경도 검정 */
section,
.ts-block {
  background-color: #000 !important;
}

/* ===============================
   EXCEPTION: CONTACT INFO ONLY WHITE
=============================== */

#cotact-info.ts-block {
  background-color: #fff !important;
  color: #000 !important;
}

#cotact-info.ts-block h2,
#cotact-info.ts-block p,
#cotact-info.ts-block a {
  color: #000 !important;
}

/* 특정 section만 흰색 박스로 만들기 */
.ptlk-white-section {
  background-color: #fff !important;
  color: #000 !important;
  padding: 28px;
  border-radius: 16px;
}

/* section 안의 텍스트도 검정으로 */
.ptlk-white-section h2,
.ptlk-white-section a,
.ptlk-white-section p,
.ptlk-white-section span {
  color: #000 !important;
}

/* === PTLINK CLS FIX: cardrail viewport stability === */
/* Prevent late scrollbar appearance from shifting layout (desktop) */
.ptlk-cardrail__viewport {
  scrollbar-gutter: stable both-edges;
  min-height: 320px; /* reserves vertical space while fonts settle */
}
.ptlk-cardrail__card {
  min-height: 280px;
}
/* Contain paint/layout inside the carousel block to reduce knock-on effects */
.ptlk-work-sec.ptlk-work-sec--stack .ptlk-cardrail {
  contain: layout paint;
}

/* extracted from index2.html inline styles */

.ptlk-trust__logos img {
  height: auto;
}

.ptlk-divider {
  border-bottom: 1px solid grey;
  width: 100%;
}

.ptlk-link-lg {
  font-size: 23px;
}

.ptlk-link-xl {
  font-size: 26px;
}

.ptlk-cert-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  text-align: center;
}

.ptlk-cert-logo {
  width: 150px;
}

.ptlk-cert-caption {
  text-align: center;
  margin-top: 14px;
}

/* PTLINK Works unified behavior (aligned to index2) */
section#works.ptlk-works-unified .ts-gallery__item {
  display: block;
  position: relative;
  overflow: hidden;
}

section#works.ptlk-works-unified .ts-gallery__item .ts-img-into-bg,
section#works.ptlk-works-unified .ts-gallery__item .ts-background {
  aspect-ratio: 4 / 3;
  margin: 0;
}

section#works.ptlk-works-unified .ts-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease, filter 0.45s ease;
  will-change: transform;
}

section#works.ptlk-works-unified .ts-gallery__item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.16);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

section#works.ptlk-works-unified .ts-gallery__item:hover::after,
section#works.ptlk-works-unified .ts-gallery__item:focus-within::after {
  opacity: 1;
}

section#works.ptlk-works-unified .ts-gallery__item:hover img,
section#works.ptlk-works-unified .ts-gallery__item:focus-within img {
  transform: scale(1.04);
}

/* PTLINK Works no-crop override */
section#works.ptlk-works-unified .ts-gallery__item .ts-img-into-bg,
section#works.ptlk-works-unified .ts-gallery__item .ts-background {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0b0b0b;
}

section#works.ptlk-works-unified .ts-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}

section#works.ptlk-works-unified .ts-gallery__item:hover img,
section#works.ptlk-works-unified .ts-gallery__item:focus-within img {
  transform: none;
}

/* PTLINK Works no-letterbox override */
section#works.ptlk-works-unified .ts-gallery__item .ts-img-into-bg,
section#works.ptlk-works-unified .ts-gallery__item .ts-background {
  aspect-ratio: auto !important;
  height: auto !important;
  min-height: 0 !important;
  background: transparent !important;
  display: block !important;
}

section#works.ptlk-works-unified .ts-gallery__item img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* PTLINK Works no-letterbox mobile fix v2 */
section#works.ptlk-works-unified .ts-gallery__item {
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

section#works.ptlk-works-unified .ts-gallery__item .ts-img-into-bg,
section#works.ptlk-works-unified .ts-gallery__item .ts-background {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  aspect-ratio: auto !important;
  display: block !important;
  background: transparent !important;
}

section#works.ptlk-works-unified .ts-gallery__item .ts-img-into-bg > img,
section#works.ptlk-works-unified .ts-gallery__item img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

section#works.ptlk-works-unified .ts-gallery__item:hover img,
section#works.ptlk-works-unified .ts-gallery__item:focus-within img {
  transform: none !important;
}


/* PTLINK Global Custom Cursor (user unified style) */
.custom-cursor {
  position: fixed;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: transform 0.05s ease-out, width 0.2s ease-out, height 0.2s ease-out, background-color 0.2s ease-out;
  z-index: 9999;
  background-color: #fff;
  mix-blend-mode: difference;
  display: block;
  color: transparent;
  overflow: hidden;
}

.custom-cursor .custom-cursor__text {
  display: block;
  opacity: 0;
  transition: opacity 0.2s ease-out;
  white-space: nowrap;
}

.custom-cursor.active {
  width: 150px;
  height: 150px;
  background-color: rgba(0, 0, 0, 0.3);
  mix-blend-mode: normal;
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 30px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(5px);
}

.custom-cursor.active .custom-cursor__text {
  opacity: 1;
}

@media screen and (max-width: 1200px) {
  .custom-cursor {
    display: none;
  }
}


/* PTLINK Global Works Lightbox (index2 unified) */
.ptlk-lb {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 99999;
}
.ptlk-lb.is-open {
  display: block;
}
.ptlk-lb__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.82);
}
.ptlk-lb__stage {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.ptlk-lb__imgwrap {
  position: relative;
  max-width: min(1200px, 92vw);
  max-height: min(760px, 86vh);
}
.ptlk-lb__img {
  display: block;
  max-width: 100%;
  max-height: 86vh;
  border-radius: 14px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.55);
}
.ptlk-lb__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  cursor: pointer;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}
.ptlk-lb__btn:hover {
  background: rgba(255, 255, 255, 0.1);
}
.ptlk-lb__prev {
  left: -18px;
}
.ptlk-lb__next {
  right: -18px;
}
@media (max-width: 768px) {
  .ptlk-lb__prev {
    left: -10px;
  }
  .ptlk-lb__next {
    right: -10px;
  }
  .ptlk-lb__btn {
    width: 46px;
    height: 46px;
  }
}
.ptlk-lb__close {
  position: absolute;
  top: 18px;
  right: 18px;
  transform: none;
  width: 46px;
  height: 46px;
}
.ptlk-lb__icon {
  width: 14px;
  height: 14px;
  border-right: 2px solid rgba(255, 255, 255, 0.9);
  border-bottom: 2px solid rgba(255, 255, 255, 0.9);
  display: inline-block;
}
.ptlk-lb__chevL {
  transform: rotate(135deg);
}
.ptlk-lb__chevR {
  transform: rotate(-45deg);
}
.ptlk-lb__x {
  position: relative;
  width: 16px;
  height: 16px;
}
.ptlk-lb__x:before,
.ptlk-lb__x:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 2px;
  background: rgba(255, 255, 255, 0.92);
  transform-origin: center center;
}
.ptlk-lb__x:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.ptlk-lb__x:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}


/* PTLINK CLS Hotfix: #works gallery stable layout */
#works .ts-gallery > li,
#works .ts-gallery > ul > li,
#works li.col-md-6.col-lg-6,
#works li[class*="col-"] {
  min-height: 1px;
}

#works .ts-gallery__item,
#works a.ts-gallery__item,
#works a.card.ts-gallery__item.popup-image {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  margin: 0 !important;
  contain: layout paint;
  transform: translateZ(0);
}

#works .ts-gallery__item .ts-img-into-bg,
#works .ts-gallery__item .ts-background,
#works .ts-gallery__item figure {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  display: block !important;
}

#works .ts-gallery__item .ts-img-into-bg > img,
#works .ts-gallery__item img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

#works .ts-gallery__item:hover,
#works .ts-gallery__item:focus-within {
  margin: 0 !important;
  padding: 0 !important;
  border-width: 0 !important;
}

#works .ts-gallery__item:hover img,
#works .ts-gallery__item:focus-within img {
  transform: scale(1.03) !important;
}

/* Prevent enter/scroll animations from changing document flow in #works */
#works [data-animate],
#works .animate,
#works .ts-fadeInUp,
#works .ts-fadeInLeft,
#works .ts-fadeInRight {
  opacity: 1 !important;
  animation: none !important;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
}


/* PTLINK CLS Hotfix v2: remove forced blank space in #works */
#works .ts-gallery__item,
#works a.ts-gallery__item,
#works a.card.ts-gallery__item.popup-image {
  aspect-ratio: auto !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  contain: none !important;
}

#works .ts-gallery__item .ts-img-into-bg,
#works .ts-gallery__item .ts-background,
#works .ts-gallery__item figure {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  aspect-ratio: auto !important;
}

#works .ts-gallery__item .ts-img-into-bg > img,
#works .ts-gallery__item img {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

#works .ts-gallery > li,
#works li.col-md-6.col-lg-6,
#works li[class*="col-"] {
  min-height: 0 !important;
  height: auto !important;
}






/* index2 contact submit button override */
#cotact-info #form-contact-submit {
  color: #ffffff !important;
}
#cotact-info #form-contact-submit:hover,
#cotact-info #form-contact-submit:focus,
#cotact-info #form-contact-submit:focus-visible {
  background-color: #1e73ff !important;
  border-color: #1e73ff !important;
  color: #ffffff !important;
}

/* index2 contact submit button strict override */
#cotact-info #form-contact-submit,
#cotact-info #form-contact-submit.btn,
#cotact-info button#form-contact-submit {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}
#cotact-info #form-contact-submit:hover,
#cotact-info #form-contact-submit:focus,
#cotact-info #form-contact-submit:focus-visible,
#cotact-info #form-contact-submit:active {
  background-color: #1e73ff !important;
  border-color: #1e73ff !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

#cotact-info #form-contact-submit:disabled,
#cotact-info #form-contact-submit[aria-disabled="true"],
#cotact-info #form-contact-submit.btn.disabled {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-decoration: none !important;
}

#cotact-info #form-contact-submit span,
#cotact-info #form-contact-submit .status,
#cotact-info #form-contact-submit .status * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.nav-hovered .page-overlay {
  background: rgba(0, 0, 0, 0.5);
}

/* Mobile/touch nav fix: open submenu by tap only, no hover gap */
@media (max-width: 991.98px), (hover: none), (pointer: coarse) {
  /* hidden by default on mobile to prevent reserved blank space */
  .custom-navbar .navbar-nav .dropdown-menu,
  .navbar .dropdown-menu.ptlk-dd,
  .navbar-nav .dropdown-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  /* disable hover-open behavior on touch/mobile */
  .navbar-nav .dropdown:hover .dropdown-menu,
  .navbar-nav .dropdown:hover .dropdown-menu::before,
  .custom-navbar:hover ~ .page-overlay {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-height: 0 !important;
    pointer-events: none !important;
    transform: none !important;
  }

  /* show only when JS toggles .show */
  .navbar .nav-item.dropdown.show > .dropdown-menu,
  .navbar .dropdown-menu.show {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: 500px !important;
    transform: none !important;
    pointer-events: auto !important;
    overflow: visible !important;
  }
}





/* ---- ptlk-global-link-underline-off ---- */
a,
a:hover,
a:focus,
a:active,
a:visited,
.btn,
.btn:hover,
.btn:focus,
.btn:active,
.btn:visited {
  text-decoration: none !important;
}

/* PTLINK WORKS: final hover zoom override */
section#works.ptlk-works-unified .ts-gallery__item,
section#works.ptlk-works-unified a.ts-gallery__item,
section#works.ptlk-works-unified .ts-gallery__item .ts-img-into-bg,
section#works.ptlk-works-unified .ts-gallery__item .ts-background,
section#works.ptlk-works-unified .ts-gallery__item figure {
  overflow: hidden !important;
}

section#works.ptlk-works-unified .ts-gallery__item img {
  transform: translateZ(0) scale(1) !important;
  transform-origin: center center !important;
  transition: transform 0.45s ease !important;
  backface-visibility: hidden !important;
}

section#works.ptlk-works-unified .ts-gallery__item:hover img,
section#works.ptlk-works-unified .ts-gallery__item:focus-within img,
section#works.ptlk-works-unified .ts-gallery__item:focus-visible img {
  transform: translateZ(0) scale(1.05) !important;
}

@media (prefers-reduced-motion: reduce) {
  section#works.ptlk-works-unified .ts-gallery__item img {
    transition: none !important;
  }
}

/* Floating pill open-state hard override */
#ptlkFloatPill.is-open > .ptlk-float-pill__text,
#ptlkFloatPill[aria-expanded="true"] > .ptlk-float-pill__text {
  display: none !important;
  max-width: 0 !important;
  width: 0 !important;
  opacity: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Floating pill open-state typography tweak */
#ptlkFloatPill.is-open .ptlk-float-pill__meta,
#ptlkFloatPill[aria-expanded="true"] .ptlk-float-pill__meta {
  font-size: 16px !important;
}

#ptlkFloatPill.is-open .ptlk-float-pill__btn,
#ptlkFloatPill[aria-expanded="true"] .ptlk-float-pill__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 17px !important;
  line-height: 1.05 !important;
  padding: 6px 17px !important;
  min-height: 31px !important;
  white-space: nowrap !important;
}

/* Top nav menu: gray -> white on hover */
.custom-navbar .navbar-nav .nav-link:hover,
.custom-navbar .navbar-nav .nav-link:focus,
.custom-navbar .navbar-nav .nav-link:focus-visible,
.custom-navbar .navbar-nav .dropdown:hover > .nav-link,
.custom-navbar .navbar-nav .dropdown:focus-within > .nav-link,
.custom-navbar .navbar-nav .nav-link:hover .ptlk-nav-label,
.custom-navbar .navbar-nav .nav-link:focus .ptlk-nav-label,
.custom-navbar .navbar-nav .nav-link:focus-visible .ptlk-nav-label {
  color: #ffffff !important;
}

/* Dropdown menu: gray -> white on hover */
.custom-navbar .dropdown-menu .dropdown-item:hover,
.custom-navbar .dropdown-menu .dropdown-item:focus,
.custom-navbar .dropdown-menu .dropdown-item:focus-visible,
.custom-navbar .dropdown-menu .dropdown-item:hover .ptlk-dd-label,
.custom-navbar .dropdown-menu .dropdown-item:focus .ptlk-dd-label,
.custom-navbar .dropdown-menu .dropdown-item:focus-visible .ptlk-dd-label {
  color: #ffffff !important;
}

/* PTLINK mobile final override: keep hero responsive + dark background */
@media (max-width: 991.98px) {
  html,
  body,
  .ts-page-wrapper,
  .page-content,
  .ts-content,
  #ts-content,
  #ts-hero,
  #ts-hero.ts-block {
    background-color: #000 !important;
  }

  #ts-hero,
  #ts-hero.ts-block {
    min-height: auto !important;
    height: auto !important;
    padding-top: 84px !important;
    padding-bottom: 20px !important;
    margin-bottom: 0 !important;
  }

  #ts-hero .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Keep generic hero containers neutral on mobile */
  #ts-hero .container.ptlk-hero-typo {
    padding-top: 0 !important;
  }
}

/* Mobile hero overflow fix for main/service pages only */
@media (max-width: 991.98px) {
  body.ptlk-mobile-hero-fix #ts-hero,
  body.ptlk-mobile-hero-fix #ts-hero.ts-block {
    height: 340px !important;
    min-height: 340px !important;
    max-height: 340px !important;
    overflow: hidden !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body.ptlk-mobile-hero-fix #ts-hero .ts-video-bg .ptlk-hero-typo {
    justify-content: flex-start !important;
    padding-top: calc(104px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 0 !important;
  }
}

/* PTLINK mobile hero nav wrap fix */
@media (max-width: 991.98px) {
  #ts-hero .ptlk-hero-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    gap: 8px !important;
  }

  #ts-hero .ptlk-hero-nav .btn {
    flex: 1 1 calc(50% - 8px) !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: keep-all;
    text-align: center !important;
  }
}

@media (max-width: 575.98px) {
  #ts-hero .ptlk-hero-nav .btn {
    flex-basis: 100% !important;
  }
}

/* PTLINK tablet hero nav wrap fix */
@media (max-width: 1199.98px) {
  #ts-hero .ptlk-hero-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    gap: 10px !important;
  }

  #ts-hero .ptlk-hero-nav .btn {
    flex: 1 1 calc(50% - 10px) !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

/* PTLINK mobile topbar single-row fix */
@media (max-width: 767.98px) {
  .custom-navbar .navbar {
    flex-wrap: nowrap !important;
    align-items: center !important;
  }

  .custom-navbar .navbar-brand {
    margin-right: 8px !important;
    min-width: 0 !important;
    flex: 0 1 auto !important;
  }

  .custom-navbar .navbar-brand .ptlk-logo-img {
    width: clamp(180px, 56vw, 240px) !important;
    height: auto !important;
    max-width: 100% !important;
  }

  .custom-navbar .navbar-toggler {
    margin-left: auto !important;
    flex: 0 0 auto !important;
    padding: 0.35rem 0.5rem !important;
  }
}

/* Works lightbox mobile UX:
   hide X close button on phones; tapping outside still closes */
@media (max-width: 991.98px) {
  #ptlkWorksLightbox .ptlk-lb__close {
    display: none !important;
  }
}

/* PTLINK: service dropdown 2x5 layout */
.navbar .dropdown-menu.ptlk-dd.ptlk-dd-services {
  width: min(92vw, 560px);
  min-width: 440px;
  max-height: none !important;
  overflow-y: visible !important;
}

.navbar .dropdown-menu.ptlk-dd.ptlk-dd-services .ptlk-dd-services-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 12px;
}

.navbar .dropdown-menu.ptlk-dd.ptlk-dd-services .ptlk-dd-item {
  margin: 0 !important;
  border-bottom: 1px solid rgba(200, 200, 200, 0.35) !important;
}

@media (max-width: 991.98px), (hover: none), (pointer: coarse) {
  .navbar .dropdown-menu.ptlk-dd.ptlk-dd-services {
    min-width: 0;
    width: 100%;
  }

  .navbar .dropdown-menu.ptlk-dd.ptlk-dd-services .ptlk-dd-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 10px;
  }

  .navbar .dropdown-menu.ptlk-dd.ptlk-dd-services .ptlk-dd-item {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* PTLINK: split header logo, menu, inquiry, and add-in CTA */
.custom-navbar {
  height: 72px !important;
  min-height: 72px !important;
  padding: 0 !important;
  background: rgba(0, 0, 0, 0.82) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.32) !important;
  box-shadow: none !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.custom-navbar:hover {
  background: rgba(0, 0, 0, 0.9) !important;
}

.custom-navbar .container-fluid.ptlk-nav-container {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
}

.custom-navbar .ptlk-nav-logo {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 184px !important;
  width: 184px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 18px 0 24px !important;
  background: transparent !important;
  border-right: 0 !important;
}

.custom-navbar .navbar-brand .ptlk-logo-img {
  display: block !important;
  width: 137px !important;
  height: 34px !important;
  max-width: 137px !important;
  object-fit: contain !important;
}

.custom-navbar .ptlk-navbar-layout {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 100% !important;
  align-items: stretch !important;
}

.custom-navbar .ptlk-nav-menu {
  display: flex !important;
  align-items: stretch !important;
  flex: 0 0 auto !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 54px 0 12px !important;
  gap: 28px !important;
  background: transparent !important;
  border-right: 0 !important;
}

.custom-navbar .ptlk-nav-menu .nav-item {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
}

.custom-navbar .ptlk-nav-menu .nav-link {
  display: inline-flex !important;
  align-items: center !important;
  height: 100% !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, 0.62) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.custom-navbar .ptlk-nav-menu .dropdown-toggle::after {
  margin-left: 13px !important;
  color: currentColor !important;
}

.custom-navbar .ptlk-nav-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 0 auto !important;
  height: 100% !important;
  margin-left: auto !important;
  background: transparent !important;
}

.custom-navbar .ptlk-nav-inquiry {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  padding: 0 24px !important;
  background: transparent !important;
}

.custom-navbar .ptlk-inquiry-img {
  display: block !important;
  width: 157px !important;
  height: 34px !important;
  object-fit: contain !important;
}

.custom-navbar .ptlk-mobile-inquiry {
  display: none !important;
}

.custom-navbar .ptlk-nav-cta-btn--mobile {
  display: none !important;
}

#ptlk-global-header .custom-navbar .ptlk-nav-actions [data-ptlk-launch-hidden="true"] {
  display: none !important;
}

.custom-navbar .ptlk-nav-cta-btn,
.custom-navbar .ptlk-nav-actions .ptlk-nav-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 256px !important;
  height: 42px !important;
  margin: 0 30px 0 22px !important;
  padding: 0 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.92) !important;
  border-radius: 9999px !important;
  background: #ffffff !important;
  color: #151515 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  transform: none !important;
}

.custom-navbar .ptlk-nav-actions .ptlk-nav-cta-btn:hover,
.custom-navbar .ptlk-nav-actions .ptlk-nav-cta-btn:focus-visible {
  background: #1e73ff !important;
  color: #ffffff !important;
  border-color: #1e73ff !important;
  box-shadow: none !important;
  transform: none !important;
}

.custom-navbar .ptlk-nav-actions .ptlk-nav-cta-btn--mobile {
  display: none !important;
}

@media (min-width: 992px) {
  .custom-navbar .ptlk-navbar-layout {
    display: flex !important;
  }

  .custom-navbar .navbar-nav .dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
  }
}

@media (max-width: 1399.98px) and (min-width: 992px) {
  .custom-navbar .ptlk-nav-logo {
    flex-basis: 176px !important;
    width: 176px !important;
    padding-left: 20px !important;
    padding-right: 14px !important;
  }

  .custom-navbar .ptlk-nav-menu {
    padding-left: 10px !important;
    padding-right: 34px !important;
    gap: 20px !important;
  }

  .custom-navbar .ptlk-nav-menu .nav-link {
    font-size: 15px !important;
  }

  .custom-navbar .ptlk-nav-cta-btn,
  .custom-navbar .ptlk-nav-actions .ptlk-nav-cta-btn {
    min-width: 224px !important;
    margin-right: 20px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    font-size: 15px !important;
  }
}

@media (max-width: 1199.98px) and (min-width: 992px) {
  .custom-navbar .ptlk-nav-inquiry {
    display: none !important;
  }
}

@media (max-width: 991.98px) {
  .custom-navbar {
    height: auto !important;
    min-height: 64px !important;
  }

  .custom-navbar .container-fluid.ptlk-nav-container {
    position: relative !important;
    min-height: 64px !important;
    padding: 0 14px !important;
    flex-wrap: wrap !important;
    background: transparent !important;
  }

  .custom-navbar .ptlk-nav-logo {
    flex: 0 0 auto !important;
    width: auto !important;
    height: 64px !important;
    padding: 0 !important;
    margin-right: 12px !important;
    background: transparent !important;
    border-right: 0 !important;
  }

  .custom-navbar .ptlk-mobile-inquiry {
    display: flex !important;
    align-items: center !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin-left: clamp(8px, 7vw, 44px) !important;
    margin-right: 58px !important;
  }

  .custom-navbar .ptlk-mobile-inquiry .ptlk-inquiry-img {
    width: clamp(110px, 34vw, 157px) !important;
    height: auto !important;
    max-height: 34px !important;
  }

  .navbar.navbar-expand-lg.custom-navbar .navbar-toggler,
  .custom-navbar .navbar-toggler {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: fixed !important;
    top: 11px !important;
    right: 14px !important;
    z-index: 10002 !important;
    width: 42px !important;
    height: 42px !important;
    margin-left: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  .navbar.navbar-expand-lg.custom-navbar .navbar-toggler:focus,
  .navbar.navbar-expand-lg.custom-navbar .navbar-toggler:focus-visible,
  .custom-navbar .navbar-toggler:focus,
  .custom-navbar .navbar-toggler:focus-visible {
    outline: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  .custom-navbar .navbar-toggler-icon {
    position: relative !important;
    display: block !important;
    width: 24px !important;
    height: 2px !important;
    background: #ffffff !important;
    background-image: none !important;
  }

  .custom-navbar .navbar-toggler-icon::before,
  .custom-navbar .navbar-toggler-icon::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    width: 24px !important;
    height: 2px !important;
    background: #ffffff !important;
  }

  .custom-navbar .navbar-toggler-icon::before {
    top: -7px !important;
  }

  .custom-navbar .navbar-toggler-icon::after {
    top: 7px !important;
  }

  .custom-navbar .ptlk-navbar-layout {
    width: 100% !important;
    flex-basis: 100% !important;
    height: auto !important;
    padding: 8px 0 14px !important;
    background: transparent !important;
  }

  .custom-navbar .ptlk-nav-menu {
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    gap: 0 !important;
    background: transparent !important;
    border-right: 0 !important;
  }

  .custom-navbar .ptlk-nav-menu .nav-item,
  .custom-navbar .ptlk-nav-menu .nav-link {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
  }

  .custom-navbar .ptlk-nav-menu .nav-item.dropdown {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .custom-navbar .ptlk-nav-menu .nav-link {
    justify-content: space-between !important;
    padding: 12px 14px !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: rgba(255, 255, 255, 0.62) !important;
  }

  .custom-navbar .ptlk-nav-menu .nav-link:focus,
  .custom-navbar .ptlk-nav-menu .nav-link:focus-visible {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  .custom-navbar .ptlk-nav-menu .dropdown-toggle::after {
    margin-left: 12px !important;
  }

  .custom-navbar .ptlk-nav-menu .dropdown-menu,
  .custom-navbar .navbar-nav .dropdown-menu,
  .navbar .dropdown-menu.ptlk-dd {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 10px 0 10px !important;
    padding: 18px 18px !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: none !important;
  }

  .custom-navbar .ptlk-nav-menu .dropdown-menu::before,
  .navbar .dropdown-menu.ptlk-dd::before {
    display: none !important;
  }

  .custom-navbar .ptlk-nav-menu .dropdown-menu.ptlk-dd-services .ptlk-dd-services-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 16px !important;
  }

  .custom-navbar .ptlk-nav-menu .dropdown-menu .dropdown-item {
    display: flex !important;
    width: 100% !important;
    min-height: 58px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 14px !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(200, 200, 200, 0.32) !important;
    color: rgba(255, 255, 255, 0.62) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
  }

  .custom-navbar .ptlk-nav-menu .dropdown-menu .dropdown-item:last-child {
    border-bottom: 1px solid rgba(200, 200, 200, 0.32) !important;
  }

  .custom-navbar .ptlk-nav-menu .dropdown-menu .ptlk-dd-label {
    line-height: 1.2 !important;
  }

  .custom-navbar .ptlk-nav-actions {
    width: 100% !important;
    height: auto !important;
    margin-left: 0 !important;
    padding-top: 12px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    background: transparent !important;
  }

  .custom-navbar .ptlk-nav-inquiry {
    display: none !important;
  }

  .custom-navbar .ptlk-nav-cta-btn,
  .custom-navbar .ptlk-nav-actions .ptlk-nav-cta-btn {
    width: 100% !important;
    min-width: 0 !important;
    height: 60px !important;
    margin: 0 !important;
    font-size: 22px !important;
  }

  .custom-navbar .ptlk-nav-actions .ptlk-nav-cta-btn--desktop {
    display: none !important;
  }

  .custom-navbar .ptlk-nav-actions .ptlk-nav-cta-btn--mobile {
    display: inline-flex !important;
  }
}
