@charset "utf-8";
:root { --site-content-width:1160px; --site-gutter:7%; --site-ink:#21162e; --site-purple:#8355ac; --site-lilac:#dfccff; --site-line:#e6dced; --site-ease:cubic-bezier(.22,.7,.25,1); }
body, th, td, input, textarea, button { font-family:"Outfit","Noto Sans KR","Apple SD Gothic Neo",sans-serif; -webkit-font-smoothing:antialiased; transform:none; }
html,body { cursor:auto; }
a,button,label { cursor:pointer; }
button { font:inherit; }
button:focus-visible,a:focus-visible { outline:2px solid #a784cb; outline-offset:5px; }
::selection { background:#ddc5f2 !important; color:#30183e !important; }
.site-eyebrow { display:block; font:500 10px/1.7 "Outfit",sans-serif; letter-spacing:.19em; }

/* Persistent, compact navigation. */
body #header { padding:20px var(--site-gutter); box-sizing:border-box; background:transparent !important; }
body #header > div { position:relative; display:flex; align-items:center; justify-content:space-between; gap:24px; box-sizing:border-box; width:100%; max-width:var(--site-content-width); margin:0 auto; padding:0 24px; height:70px; border:1px solid #ffffff20; border-radius:15px; background:#21172ce8; backdrop-filter:blur(20px); box-shadow:0 6px 30px #24142c10; }
body #header .logo { position:static; flex:0 0 auto; }
body #header #logo { width:auto !important; overflow:visible !important; }
body #header .logo #logo .logo_img { width:232px !important; height:40px !important; object-fit:contain; transform:none; filter:invert(1) !important; }
body #header .gnb { display:block !important; flex:1; min-width:0; }
body #header .gnb > ul { position:static; display:flex; justify-content:flex-end; gap:25px; align-items:center; white-space:nowrap; }
body #header .gnb li { float:none; overflow:visible; }
body #header .gnb li a { margin:0; line-height:1.5; font-size:12px; font-weight:400; color:#e1d8e9 !important; border:0; transition:color .2s; }
body #header .gnb li a:before { display:none; }
body #header .gnb li a[aria-current="location"] { color:#e8caff !important; }
body #header .gnb li a:hover { transform:none; color:#ddbbfa !important; }
body #header .gnb li a.nav-contact { display:flex; align-items:center; gap:18px; padding:10px 15px; border-radius:6px; background:#d8baf3; color:#382048 !important; font-weight:600; }
body #header .util { position:static; flex:0 0 auto; display:flex; align-items:center; width:auto; }
body #header .util a.blogBtn { width:39px; height:39px; line-height:44px; border:1px solid #ffffff29; border-radius:9px; background:transparent; }
body #header .util a.blogBtn svg { width:13px; fill:#eee3f6 !important; }
body #header .util .btn2:before { display:none; }
body #header .nav-toggle { display:none; }
body #header .gnb > ul::after, body #header .util::after { display:none; }

/* Cinematic hero, retaining the original photography. */
#sub .section1 .visual .wrap { padding:150px 9% 85px; }
#sub .section1 .titleSection { width:100%; max-width:880px; }
#sub .section1 .hero-eyebrow { display:flex; align-items:center; gap:9px; color:#d6b8ef; margin-bottom:30px; font-size:10px; }
#sub .section1 .hero-eyebrow > span { width:6px; height:6px; border-radius:50%; background:#d1abe9; box-shadow:0 0 15px #d0a4ff70; }
#sub .section1 .vtitle { font-size:clamp(40px,5.1vw,80px); line-height:1.32; letter-spacing:-.06em; font-weight:600; padding:0; margin:0 0 28px; color:#fff; }
#sub .section1 .vtitle > span { color:#d9bdf4; white-space:nowrap; }
#sub .section1 .txt { padding:0; margin:0; max-width:610px; font-size:14px !important; line-height:1.95; font-weight:400; color:#d2c7da; }
#sub .section1 .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; margin-top:34px; }
#sub .section1 .siteView { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; width:auto; max-width:none; height:53px; padding:0 22px; margin:0; line-height:1.5; background:#dfc5f5; color:#382049; border:1px solid #dfc5f5; border-radius:6px; font-size:12px; font-weight:600; transition:background .25s,transform .25s; }
#sub .section1 .siteView span { padding:0; line-height:1.5 !important; white-space:nowrap; }
#sub .section1 .siteView > span:last-child { font-size:22px; }
#sub .section1 .siteView:before,#sub .section1 .siteView span:before { display:none; }
#sub .section1 .siteView:hover { background:#f0e2fb; transform:translateY(-3px); }
#sub .section1 .hero-secondary { display:flex; align-items:center; gap:18px; color:#e5d9ed; font-size:11px; }
#sub .section1 .hero-secondary span { transition:transform .25s; }
#sub .section1 .hero-secondary:hover span { transform:translateY(4px); }
#sub .section1 .dateList { padding-top:45px; }
#sub .section1 .dateList ul { display:flex; gap:40px; margin:0; }
#sub .section1 .dateList li { width:auto; flex:0 0 auto; margin:0; float:none; padding-left:17px; border-left:1px solid #d9bef13d; }
#sub .section1 .dateList li:before { display:none; }
#sub .section1 .dateList li b { color:#b6a5c5; font-size:9px; font-weight:400; letter-spacing:.05em; }
#sub .section1 .dateList li > span { display:block; margin-top:11px; font-size:30px; font-weight:500; line-height:1.3; color:#f6edf9; }
#sub .section1 .dateList li span.partner-count { display:inline; font-size:inherit; font-weight:inherit; line-height:inherit; margin:0; }
#sub .section1 .dateList li em { font-style:normal; font-size:22px; color:#d6b7ed; }
#sub .section1 .dateList li > span.hero-stat-caption { font-size:12px; padding-top:7px; font-weight:400; }
#sub .section1 .fade { background:linear-gradient(90deg,#1c102bec 0%,#21112cce 40%,#2414324d 80%),linear-gradient(0deg,#21132dcc,transparent 60%) !important; }
#sub .section1 .bg1 { filter:saturate(.55); transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) scale(1.05); transition:transform .7s ease-out; }

/* A small shortcut rail, separate from the content. */
body .quickMenu { right:22px; top:50%; bottom:auto; margin-top:-104px; overflow:hidden; border:1px solid #dbcbe736; border-radius:13px; background:#271a32ed; backdrop-filter:blur(14px); box-shadow:0 8px 32px #20102914; }
body .quickMenu a { width:64px; height:70px; border-bottom:1px solid #ffffff1f; }
body .quickMenu a:last-child { border:0; }
body .quickMenu a.tel,body .quickMenu a.ins { padding:0; color:#e6d9f0; font-size:9px; background-color:transparent; background-size:25px; background-position:center 10px; box-shadow:none; }
body .quickMenu a.tel b { display:inline; font-weight:400; }
body .quickMenu a .tbc { padding:0 0 9px; text-align:center; vertical-align:bottom; }
body .quickMenu a.req { background:transparent; }
body .quickMenu a.req .ico,body .quickMenu a.req .line,body .quickMenu a.req:before,body .quickMenu a.req:after { display:none; }
body .quickMenu a.req em { margin:0; font-size:9px; font-weight:400; line-height:1.5; }
body .quickMenu a.req em:before { display:block; content:"↗"; margin-bottom:4px; font-size:25px; color:#d6b4ef; }
body .quickMenu a:hover { background-color:#ffffff10; }
body .topBtn.btn2 { right:34px; bottom:24px; width:42px; height:42px; line-height:42px; border:1px solid #dbcbe73d; border-radius:50%; background:#2b1c37e8; backdrop-filter:blur(14px); }
body .topBtn.btn2:before { display:none; }
body .topBtn.btn2 svg { width:14px; fill:#dec6ef !important; }
.site-progress { position:fixed; left:30px; bottom:30px; z-index:100; display:flex; align-items:center; gap:10px; padding:9px 12px; border:1px solid #dfd1e73d; border-radius:20px; background:#2b1c37cf; backdrop-filter:blur(12px); color:#bca4cb; font:400 9px/1 "Outfit",sans-serif; }
.site-progress .progress-index { color:#eee0f7; }
.site-progress i { display:block; width:50px; height:1px; background:#ffffff29; }
.site-progress i span { display:block; width:14.285%; height:1px; background:#dfbdf5; transition:width .5s; }

/* Existing editorial sections, now sharing a consistent rhythm. */
.approach-section .wrap,.ai-info-section .wrap { padding-top:140px; padding-bottom:100px; }
.approach-section .approach-content,.ai-info-section .ai-info-content { max-width:var(--site-content-width); }
.approach-section .approach-card,.ai-info-section .ai-knowledge-card { box-shadow:0 5px 22px #50336505; transition:transform .35s var(--site-ease),box-shadow .35s,border-color .35s; }
.ai-info-section .ai-knowledge-card:hover { transform:translateY(-5px); border-color:#cab0dd; box-shadow:0 16px 35px #5033650c; }
.services-section { background:#77489a; }
.services-section > .background { display:none; }
.services-section .wrap { padding:135px 7% 95px; }
.services-section .view { max-width:var(--site-content-width); margin:0 auto; }
.services-section .device > p.rale { font:400 10px/1.7 "Outfit",sans-serif; letter-spacing:.15em; color:#d9c0e8; margin-bottom:15px; }
.services-section .device h2 { font-weight:600; font-size:clamp(30px,3.6vw,49px); }
.services-section .device p.services-intro { color:#e1cde9; font-size:13px; max-width:650px; line-height:1.9; margin-top:18px; }
.service-filters { display:flex; flex-wrap:wrap; gap:9px; margin-top:30px; }
.service-filters button { display:flex; gap:11px; align-items:center; padding:10px 16px; border:1px solid #d4b9e74d; border-radius:30px; background:transparent; color:#e2cfef; font-size:11px; transition:background .2s,color .2s; }
.service-filters button span { color:#c4a0db; font-size:9px; }
.service-filters button[aria-pressed="true"] { background:#efe1fa; color:#633b7c; border-color:#efe1fa; }
.service-filters button[aria-pressed="true"] span { color:#9f7eb5; }
.services-section .services-grid { gap:22px; margin-top:27px; }
.services-section .service-card { border:1px solid #ffffff20; border-radius:13px; background:#fcf9ff; box-shadow:0 6px 20px #32164215; transition:transform .35s var(--site-ease),box-shadow .35s; }
.services-section .service-card[hidden] { display:none !important; }
.services-section .service-card:hover { transform:translateY(-7px); box-shadow:0 22px 35px #2b0c4126; }
.services-section .service-media img { transition:transform .65s var(--site-ease); }
.services-section .service-card:hover .service-media img { transform:scale(1.045); }
.services-section .service-info { text-align:left; padding:23px; }
.services-section .service-info h3 { font-weight:600; color:#422a53; font-size:17px; }
.services-section .service-info p { color:#8b7897; font-size:11px; line-height:1.9; }
.services-section .service-link { display:flex; justify-content:space-between; color:#9166ab; font-size:10px; padding-top:15px; border-top:1px solid #eadff1; }
.services-section .service-link > span { transition:transform .25s; }
.services-section .service-card:hover .service-link > span { transform:translate(3px,-3px); }
.services-section .service-consult { border:1px solid #d8bae9; border-radius:6px; padding:13px 23px; background:transparent; color:#f3e7fa; font-size:11px; font-weight:400; }
.services-section .service-consult:hover { background:#ecdaf7; color:#5d3475; }
.services-section .button-container { margin-top:35px; }

/* Dedicated advertising chapter. */
#sub .ads-section { height:100vh; min-height:610px; background:radial-gradient(ellipse at 95% 50%,#79529d55,transparent 60%),#291b37; color:#fff; }
#sub .ads-section .wrap { padding:120px 8%; }
#sub .ads-section .ads-content { display:grid; grid-template-columns:1.2fr 1fr; gap:70px; max-width:var(--site-content-width); margin:auto; padding:0; }
.ads-section .site-eyebrow { color:#b694ce; margin-bottom:22px; }
.ads-section h2 { font:600 clamp(29px,3.1vw,46px)/1.5 "Noto Sans KR",sans-serif; letter-spacing:-.05em; color:#faf1ff; }
.ads-section h2 > span { color:#d5b5ee; }
.ads-section .ads-copy > p { margin-top:24px; max-width:460px; font-size:12px; line-height:2; color:#ac95bc; }
.ads-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.ads-actions a { display:flex; gap:20px; align-items:center; padding:13px 18px; border:1px solid #a584bb66; border-radius:6px; color:#e6cefa; font-size:11px; transition:background .2s; }
.ads-actions a:first-child { background:#d8b9f0; color:#42234f; border-color:#d8b9f0; }
.ads-actions a:hover { background:#9f71c155; }
.ads-actions a:first-child:hover { background:#eee0f8; }
.ads-capabilities { display:grid; gap:12px; }
.ad-feature { padding:22px 25px; border:1px solid #a27db32b; border-radius:12px; background:#ffffff04; }
.ad-feature > span { color:#b28cc9; font-size:9px; letter-spacing:.13em; }
.ad-feature h3 { margin-top:8px; color:#ead8f4; font:500 17px/1.5 "Noto Sans KR",sans-serif; letter-spacing:-.025em; }
.ad-feature p { margin-top:6px; color:#a18aad; font-size:11px; line-height:1.8; }

/* Warm, legible inquiry form. */
#sub .request { background:radial-gradient(ellipse at 0% 100%,#66458644,transparent 65%),#261a32; }
#sub .request > .fp-tableCell > .clear,#sub .request .fp-scroller > .clear { box-sizing:border-box; padding:140px 8% 90px; }
#sub .request .titArea { width:45%; height:auto; padding:28px 40px 0 0; }
#sub .request .titArea .inner { padding:0; max-width:none; }
#sub .request .site-eyebrow { color:#b492cb; font-size:9px; margin-bottom:22px; }
#sub .request h2 { font:600 clamp(30px,3vw,46px)/1.5 "Noto Sans KR",sans-serif !important; letter-spacing:-.05em; }
#sub .request h2 span { color:#d4b5ed; }
#sub .request .titArea p { margin-top:24px; font-size:16px; line-height:1.8; }
#sub .request .titArea p span { max-width:340px; font-size:11px; line-height:1.9; color:#b3a0c0; padding-top:14px; }
#sub .request .titArea ul { margin-top:32px; }
#sub .request .titArea ul li { margin-top:16px; }
#sub .request .titArea a.tel span { font-size:23px; color:#dfc2f2; font-weight:500; }
#sub .request .titArea a.mail span { font-size:13px; color:#d5c2e2; }
#sub .request .titArea a svg { width:18px; opacity:.6; }
#sub .request .conArea { position:relative; width:55%; height:auto; padding:35px; background:#fbf8fd; border:1px solid #ffffff20; border-radius:16px; box-shadow:0 25px 70px #0c041b1a; }
#sub .request .conArea .inner { padding:0; max-width:none; }
.inquiry-heading > span { color:#a182b4; font-size:9px; letter-spacing:.18em; }
.inquiry-heading h3 { margin-top:10px; font:600 23px/1.6 "Noto Sans KR",sans-serif; color:#493353; letter-spacing:-.04em; }
.inquiry-heading p { margin-top:6px; color:#9c8ba6; font-size:11px; }
#sub .request .rform { width:100%; }
#sub .request .conArea table tr td { padding-top:24px; }
#sub .request .conArea input[type="text"],#sub .request .conArea textarea { width:100%; padding:12px 0; border-bottom:1px solid #d9cce3; font-size:14px; font-weight:400; color:#493353; border-radius:0; transition:border-color .2s,background-color .2s; }
#sub .request .conArea input[type="text"]::placeholder,#sub .request .conArea textarea::placeholder { color:#a491ae; font-size:12px; }
#sub .request .conArea input:focus,#sub .request .conArea textarea:focus { border-bottom-color:#9b70b4; background:#ad80ce06; }
#sub .request .conArea em { display:none; }
#sub .request .conArea textarea { height:80px; }
#sub .request .conArea textarea:focus,#sub .request .conArea textarea:not(:placeholder-shown) { height:100px; }
#sub .request .checkSt { margin-top:22px; }
#sub .request .checkSt label { padding-left:25px; color:#94809f; font-size:10px; }
#sub .request .checkSt label:before { width:17px; height:17px; margin-top:-9px; }
#sub .request .checkSt a { color:#94809f; font-size:10px; margin-left:6px; }
#sub .request .btnBox { margin-top:25px; }
#sub .request .btn1 { width:100%; height:50px; line-height:50px; border-radius:6px; background:#76518e; color:#fff; font-size:12px; font-weight:500; }
#sub .request .btn1:before,#sub .request .btn1:after,#sub .request .btn1 span:before { display:none; }
#sub .request .btn1:hover { background:#9064ad; }

/* A quieter signature and a complete modal. */
#sub .footer { background:#1d1428; }
#sub .footer .size { max-width:1340px; padding:140px 8% 70px; }
#sub .footer .infoArea { width:75%; }
#sub .footer .infoArea .tbc { padding:0; }
#sub .footer .infoArea h2 { font:400 clamp(29px,3vw,43px)/1.55 "Noto Sans KR",sans-serif; color:#e6d9ef; letter-spacing:-.04em; }
#sub .footer .infoArea h2 .site-eyebrow { color:#9a7eac; font-size:9px; margin-bottom:22px; }
#sub .footer .infoArea h2 b { font:500 15px/1.5 "Noto Sans KR",sans-serif; color:#c5a2e0; margin-top:22px; }
#sub .footer .infoArea .info { margin-top:34px; }
#sub .footer .infoArea .info li { font-size:11px; }
#sub .footer .infoArea .info em { color:#917b9f; font-size:10px; }
#sub .footer .infoArea .info span,#sub .footer .infoArea .info a { color:#c4b2d0; font-size:11px; }
#sub .footer .infoArea .copy { color:#7e688e; font-size:9px; margin-top:30px; }
#sub .footer .menuArea { width:25%; }
#sub .footer .menuArea a { color:#b59bc8; font-size:13px; font-weight:400; }
.popupArea > .titArea { background:#3d2852; }
.popupArea > .conArea { background:#fbf8fd; }
.popupArea .agree_txt { color:#786184; line-height:1.9; }
.popupArea .popClose { border-radius:50%; width:48px; height:48px; line-height:48px; }
.popupArea .popClose:before,.popupArea .popClose:after { width:20px; height:1px; margin-left:-10px; background:#745483; }

/* Progressive enhancement: content remains visible without scripts. */
.motion-ready .site-reveal { opacity:0; transform:translateY(24px); transition:opacity .7s var(--site-ease),transform .7s var(--site-ease); transition-delay:var(--reveal-delay,0ms); }
.motion-ready .site-reveal.is-visible { opacity:1; transform:translateY(0); }
.motion-ready .service-card.site-reveal.is-visible:hover,.motion-ready .approach-card.site-reveal.is-visible:hover { transform:translateY(-6px); }
@media (max-width:1100px) {
  body #header { padding:16px var(--site-gutter); }
  body #header .gnb > ul { gap:17px; }
  body #header .logo #logo .logo_img { width:185px !important; }
  #sub .ads-section .ads-content { gap:35px; }
  #sub .request .titArea { width:100%; float:none; padding:0 0 30px; }
  #sub .request .conArea { width:100%; float:none; }
  #sub .request .titArea p span { max-width:600px; }
  #sub .request .titArea ul { margin-top:22px; }
  #sub .footer .infoArea { width:100%; }
}
@media (max-width:1100px) {
  body #header > div { height:60px; gap:16px; padding:0 16px; border-radius:12px; }
  body #header .logo { top:10px; left:17px; }
  body #header .logo #logo .logo_img { width:190px !important; height:38px !important; }
  body #header .util { top:10px; right:12px; display:flex; gap:8px; }
  body #header .util a.blogBtn { display:none !important; }
  body #header .nav-toggle { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; width:38px; height:38px; border:1px solid #ffffff29; border-radius:8px; background:transparent; }
  body #header .nav-toggle span { width:16px; height:1px; background:#decde9; transition:transform .2s; }
  body #header .nav-toggle[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  body #header .nav-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  body #header .gnb { display:none !important; position:absolute; top:70px; left:-1px; width:calc(100% + 2px); box-sizing:border-box; padding:17px; border:1px solid #ffffff20; border-radius:13px; background:#261b33fa; box-shadow:0 15px 30px #1c102b30; text-align:left; }
  body #header .gnb.is-open { display:block !important; }
  body #header .gnb > ul { top:0; display:flex; flex-direction:column; gap:0; align-items:stretch; white-space:normal; }
  body #header .gnb li a { padding:13px 14px; font-size:13px; }
  body #header .gnb li a.nav-contact { justify-content:space-between; margin-top:7px; }
  #sub .ads-section .ads-content { grid-template-columns:1fr; gap:35px; }
}
@media (max-width:768px) {
  :root { --site-gutter:6%; }
  body #header { padding:13px var(--site-gutter); }
  #sub .section1 .visual .wrap { padding:130px 7% 100px; }
  #sub .section1 .hero-eyebrow { font-size:8px; letter-spacing:.12em; margin-bottom:24px; }
  #sub .section1 .vtitle { font-size:clamp(29px,6.9vw,48px); line-height:1.5; margin-bottom:23px; }
  #sub .section1 .txt { font-size:11px !important; max-width:340px; }
  #sub .section1 .hero-actions { gap:22px; margin-top:27px; }
  #sub .section1 .siteView { height:48px; padding:0 18px; font-size:11px; }
  #sub .section1 .hero-secondary { font-size:10px; gap:10px; }
  #sub .section1 .dateList { padding-top:34px; }
  #sub .section1 .dateList ul { gap:28px; }
  #sub .section1 .dateList li { padding-left:12px; }
  #sub .section1 .dateList li b { font-size:8px; }
  #sub .section1 .dateList li > span { font-size:25px; }
  #sub .section1 .dateList li > span.hero-stat-caption { font-size:10px; }
  #sub .section1 .fade { background:linear-gradient(90deg,#21112ce8,#21112cb3 70%,#21112b85),linear-gradient(0deg,#21112be0,transparent) !important; }
  body .quickMenu { display:flex !important; right:16px; top:auto; bottom:16px; margin:0; border-radius:11px; }
  body .quickMenu a { width:44px; height:44px; border:0; border-right:1px solid #ffffff1c; }
  body .quickMenu a.tel,body .quickMenu a.ins { font-size:0; background-position:center; background-size:23px; }
  body .quickMenu a.tel b,body .quickMenu a.req em { font-size:0; }
  body .quickMenu a.req em:before { font-size:25px; margin:0; }
  body .quickMenu a .tbc { padding:0; vertical-align:middle; }
  body .topBtn.btn2 { bottom:18px; right:164px; width:40px; height:40px; line-height:40px; }
  .site-progress { left:16px; bottom:26px; padding:0; background:transparent; backdrop-filter:none; border:0; }
  .site-progress i { width:28px; }
  .site-progress > span:last-child { display:none; }
  .approach-section .wrap,.ai-info-section .wrap,.services-section .wrap { padding:120px 6% 70px; }
  .services-section .device p.services-intro { font-size:11px; }
  .service-filters { gap:7px; margin-top:25px; }
  .service-filters button { padding:8px 13px; font-size:10px; }
  .services-section .service-info { padding:22px; }
  #sub .ads-section .wrap { padding:110px 7% 75px; }
  #sub .ads-section h2 { font-size:30px; }
  #sub .ads-section .ads-copy > p { font-size:11px; }
  #sub .request > .fp-tableCell > .clear,#sub .request .fp-scroller > .clear { padding:120px 7% 80px; }
  #sub .request h2 { font-size:33px !important; }
  #sub .request .titArea p { font-size:14px; }
  #sub .request .titArea ul li { display:block; margin:14px 0 0; }
  #sub .request .conArea { padding:27px 22px; }
  #sub .request .conArea form { padding:0; }
  .inquiry-heading h3 { font-size:20px; }
  .inquiry-heading p { font-size:10px; }
  #sub .footer .size { padding:120px 7% 100px; }
  #sub .footer .infoArea .info em { width:95px; }
  #sub .footer .infoArea .info span { width:calc(100% - 95px); overflow-wrap:anywhere; }
  #sub .footer .infoArea .copy { left:7%; bottom:78px; font-size:9px; }
  .popupArea .popClose { top:18px; right:18px; width:38px; height:38px; }
}
@media (max-width:360px) {
  #sub .section1 .vtitle { font-size:26px; }
  #sub .section1 .hero-actions { gap:16px; }
  #sub .section1 .hero-secondary { font-size:9px; }
  .service-filters button { padding:8px 10px; gap:7px; font-size:9px; }
  #sub .request .checkSt a { display:inline-block; margin-top:8px; }
}
@media (prefers-reduced-motion:reduce) {
  .motion-ready .site-reveal { opacity:1; transform:none; transition:none; }
  #sub .section1 .bg1 { transform:scale(1.05); transition:none; }
  .services-section .service-media img,.services-section .service-card,.approach-section .approach-card { transition:none; }
  .services-section .service-card:hover,.motion-ready .service-card.site-reveal.is-visible:hover { transform:none; }
}

body.rqst .quickMenu { display:none !important; }

@media (prefers-reduced-motion:reduce) {
  #sub * { animation-duration:.01ms !important; transition-duration:.01ms !important; animation-iteration-count:1 !important; }
  #sub [class*="ani-"] { opacity:1 !important; transform:none !important; }
}

/* Keep desktop navigation comfortable just above the mobile-menu breakpoint. */
@media (min-width:1101px) and (max-width:1279px) {
  body #header > div { gap:18px; padding-inline:20px; }
  body #header .logo #logo .logo_img { width:180px !important; }
}
