/* =============================================================
   Naru Landing — brand overrides on top of agency theme
   Loaded AFTER style.css. Retunes accent + adds text logo.
   ============================================================= */

:root{
  --theme:  #D94E26;   /* Naru clay (was #FF6A3A) */
  --action: #D94E26;
  --naru-pine: #2F5A3A;
  --naru-clay: #D94E26;
  --naru-clay-ink: #8A2E14;
}

/* accent recolors that the template hard-codes to the orange */
::selection{ background: var(--naru-clay); color:#fff; }

a.rr-btn-underline::after,
.text-underline{ text-decoration-color: var(--naru-clay); }

/* Emphasized headline words — pine instead of faded black */
.hero-area-3 .section-title .text-underline,
.approach-area .section-title span{
  color: var(--naru-pine) !important;
}
.dark .hero-area-3 .section-title .text-underline,
.dark .approach-area .section-title span{
  color: var(--naru-pine) !important;
}

.section-subtitle{ color: var(--naru-clay) !important; }

/* buttons that use the theme accent */
.rr-btn-group .c{ background: var(--naru-clay) !important; color:#fff !important; }
.rr-btn-group:hover .b{ color: var(--naru-clay) !important; }

/* ---- Naru wordmark logo (SVG from brand assets) ---- */
.naru-logo-img{
  display:block;
  height:32px;
  width:auto;
  max-width:100%;
}
.header__logo .naru-logo-img,
.offset-logo .naru-logo-img{
  height:28px;
}
.footer-logo .naru-logo-img{
  height:36px;
}
.naru-lead-logo .naru-logo-img{
  height:30px;
}
@media only screen and (max-width:767px){
  .header__logo .naru-logo-img,
  .offset-logo .naru-logo-img{ height:24px; }
}

/* keep the throwable client capsules on-brand-neutral */
.client-capsule-wrapper .client-box:not(.partner-name) img,
.clients-wrapper .client-box:not(.partner-name) img{ filter:grayscale(1); opacity:.7; transition:.3s ease; }
.clients-wrapper .client-box:not(.partner-name):hover img,
.client-capsule-wrapper .client-box:not(.partner-name):hover img{ filter:grayscale(0); opacity:1; }

/* ---- Partner names (text pills in swiper / capsules) ---- */
.clients-wrapper .swiper-slide,
.client-area-3 .swiper-slide,
.client-area-page-about .swiper-slide{
  background: none !important;
  padding-left: 5px;
  padding-right: 5px;
  min-height: 80px;
  height: auto !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.clients-wrapper .client-slider-active .swiper-slide,
.client-area-3 .clients-wrapper .client-slider-active .swiper-slide,
.client-area-page-about .clients-wrapper .client-slider-active .swiper-slide{
  min-height: 80px;
}
.client-box.partner-name{
  width: auto !important;
  min-width: 120px;
  max-width: 260px;
  height: auto !important;
  min-height: 52px;
  padding: 10px 5px !important;
  background: none !important;
  background-color: transparent !important;
  border: 2px solid #555555 !important;
  border-radius: 999px !important;
  filter: none !important;
  opacity: 1 !important;
  transition: border-color .25s ease, color .25s ease;
  box-shadow: none !important;
}
.client-box.partner-name:hover{
  border-color: #333333 !important;
  box-shadow: none !important;
}
.client-box.partner-name .partner-label{
  font-family:"Sequel Sans Roman Body","Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #555555;
  text-align: center;
  white-space: normal;
  word-break: keep-all;
  padding-left: 20px;
  padding-right: 20px;
}
.client-box.partner-name:hover .partner-label{ color: #333333; }
.client-area-service-page .client-box.partner-name,
.client-area-3 .client-box.partner-name,
.client-area-page-about .client-box.partner-name{
  background: none !important;
  background-color: transparent !important;
  border: 2px solid #555555 !important;
}
@media only screen and (max-width:767px){
  .client-box.partner-name{ min-width: 100px; max-width: 200px; padding: 8px 5px !important; }
  .client-box.partner-name .partner-label{ font-size: 12px; padding-left: 16px; padding-right: 16px; }
}

/* legal / privacy page */
.naru-legal{ max-width: 760px; margin: 0 auto; padding-bottom: 80px; }
.naru-legal h2{ margin-top: 2rem; margin-bottom: .75rem; font-size: 1.25rem; }
.naru-legal p, .naru-legal li{ color: rgba(17,17,17,.78); line-height: 1.75; }
.naru-office-list span{ color: rgba(17,17,17,.72); line-height: 1.6; display: inline-block; max-width: 280px; }
.contact-offices .text{ color: rgba(17,17,17,.78); line-height: 1.65; margin-bottom: 0; }
.contact-offices{ margin-top: 2rem; }
#response-message{ margin-top:16px; font-size:14px; line-height:1.5; display:none; }
#response-message.success{ color: var(--naru-pine, #2F5A3A); }
#response-message.error{ color: #b42318; }

/* small helper so a work tag reads as a sector chip */
.work-box .meta .tag{ color: var(--naru-clay); }

/* ---- EN / KR language toggle ---- */
.lang-toggle{
  display:inline-flex; align-items:center; gap:2px;
  border:1px solid rgba(17,17,17,.14); border-radius:999px;
  padding:3px; background:rgba(17,17,17,.03); margin-right:16px; flex:none;
}
.lang-btn{
  border:0; background:transparent; font:inherit; cursor:pointer;
  font-size:12px; font-weight:700; letter-spacing:.04em; line-height:1;
  color:var(--primary); padding:5px 11px; border-radius:999px;
  transition:background .25s ease, color .25s ease;
}
.lang-btn.active{ background:var(--naru-clay); color:#fff; }
.lang-btn:not(.active):hover{ color:var(--naru-clay); }
.header__button-wrap{ display:inline-flex; align-items:center; }
/* offcanvas variant — space it away from the mobile menu list above it */
.side-info .lang-toggle{ margin:26px 0 24px; }
.side-info .mobile-menu,
.side-info .mean-container{ margin-bottom:10px; }

/* ---- Switch main menu to the mobile / off-canvas menu below 1400px ---- */
@media (min-width:1400px){
  .header-area-2 .header__navicon{ display:none; }
  .side-info .mobile-menu.d-xl-none{ display:none !important; }
}
@media (max-width:1399px){
  .header-area-2 .header__nav{ display:none; }
  .header-area-2 .header__navicon{ display:block; }
  .side-info .mobile-menu.d-xl-none{ display:block !important; }
}

/* ---- Hero: more breathing room under the (absolute) header ---- */
.hero-area-3-inner{ padding-top:160px; }
@media only screen and (max-width:1399px){ .hero-area-3-inner{ padding-top:140px; } }
@media only screen and (max-width:991px){ .hero-area-3-inner{ padding-top:120px; } }

/* ---- Service cards: smaller titles so each stays tidy + equal card heights ---- */
.services-wrapper-3 .service-box .title{ font-size:22px; line-height:1.2; }
@media only screen and (max-width:1919px){
  .services-wrapper-3 .service-box .title{ font-size:20px; }
}
/* reserve a consistent two-line title block so descriptions line up */
.services-wrapper-3 .service-box .content .title{ min-height:2.4em; margin-bottom:0; }

/* ---- Service card icon placeholders (replaces image thumbs) ---- */
.service-box .thumb.service-icon{
  display:flex; align-items:center; justify-content:center;
  aspect-ratio:10/10; width:100%;
  background:rgba(217,78,38,.06);
  border:1px solid rgba(217,78,38,.16);
  border-radius:50px;
  transition:background .3s ease, border-color .3s ease;
}
.service-box .thumb.service-icon a{
  display:flex; align-items:center; justify-content:center; width:100%; height:100%;
}
.service-box .thumb.service-icon i{
  font-size:28px; color:var(--naru-clay); line-height:1;
  transition:transform .3s ease, color .3s ease;
}
.service-box:hover .thumb.service-icon{
  background:var(--naru-clay); border-color:var(--naru-clay);
}
.service-box:hover .thumb.service-icon i{ color:#fff; transform:translateY(-4px); }
@media only screen and (max-width:767px){
  .service-box .thumb.service-icon i{ font-size:24px; }
}

/* ---- Services page (services-wrapper-4): tone down the huge display titles ---- */
.services-wrapper-4 .service-box .title{ font-size:72px; }
@media only screen and (max-width:1919px){ .services-wrapper-4 .service-box .title{ font-size:58px; } }
@media only screen and (max-width:1399px){ .services-wrapper-4 .service-box .title{ font-size:46px; } }
@media only screen and (max-width:1199px){ .services-wrapper-4 .service-box .title{ font-size:40px; } }
@media only screen and (max-width:991px){ .services-wrapper-4 .service-box .title{ font-size:34px; } }
@media only screen and (max-width:767px){ .services-wrapper-4 .service-box .title{ font-size:30px; } }

/* ---- Services page: mobile spacing after capabilities headline ---- */
@media only screen and (max-width:991px){
  .service-area-service-page .section-header{ margin-bottom:36px; }
}

/* ---- About page: mobile padding after Discovery Call CTA ---- */
@media only screen and (max-width:991px){
  .media-area-page-about .btn-wrapper{ margin-bottom:48px; padding-bottom:12px; }
  .media-area-page-about-inner{ padding-bottom:24px; }
}

/* ---- Sticky header with frosted-glass blur ---- */
.header-area-2 .header-main.header-sticky.sticky,
.header-area-2 .header-main.header-sticky.transformed{
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  background-color: rgba(252, 251, 248, 0.82) !important;
  border-bottom: 1px solid rgba(227, 220, 209, 0.55);
  box-shadow: 0 4px 24px rgba(17, 17, 17, 0.04);
}
.header-area-2 .header-main.header-sticky.sticky .header-area-2__inner,
.header-area-2 .header-main.header-sticky.transformed .header-area-2__inner{
  height: 70px;
}
@media only screen and (max-width:1199px){
  .header-area-2 .header-main.header-sticky.sticky .header-area-2__inner,
  .header-area-2 .header-main.header-sticky.transformed .header-area-2__inner{
    height: 64px;
  }
}

/* founder bio block on the About page (sits in the title column, dark section) */
.founder-bio{ max-width:805px; margin-top:26px; }
.info-area-page-about .founder-bio .text{ margin-bottom:18px; color:rgba(255,255,255,.72); }
.founder-bio .text:last-child{ margin-bottom:0; }

/* =============================================================
   Insight detail (article) page
   ============================================================= */
.article-head-inner{ max-width:900px; }
.article-back{ display:inline-block; margin-bottom:26px; font-size:15px; }
.article-head-inner .section-subtitle{ display:block; margin-bottom:14px; }
.article-title{
  font-size:clamp(34px, 5vw, 66px);
  font-weight:310; line-height:1.05; letter-spacing:-0.04em;
  max-width:900px;
}
.article-meta{ margin-top:22px; font-size:16px; color:var(--text-2, #6b6b6b); }

.article-area{ padding-top:40px; }
.article-cover{ border-radius:24px; overflow:hidden; margin-bottom:48px; }
.article-cover img{ width:100%; height:auto; display:block; }

.article-body{ max-width:760px; margin:0 auto; }
.article-body p{ font-size:19px; line-height:1.75; margin:0 0 26px; color:var(--primary); }
.article-body h2{
  font-family:"Sequel Sans Roman Body","Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  font-size:30px; font-weight:310; letter-spacing:-0.03em; line-height:1.2;
  margin:44px 0 18px; color:var(--primary);
}
.article-body h3{ font-size:23px; font-weight:400; margin:34px 0 14px; color:var(--primary); }
.article-body ul,.article-body ol{ margin:0 0 26px; padding-left:1.3em; }
.article-body li{ font-size:19px; line-height:1.7; margin:6px 0; color:var(--primary); }
.article-body a{ color:var(--naru-clay); text-decoration:underline; text-underline-offset:3px; }
.article-body img{ width:100%; height:auto; border-radius:16px; margin:24px 0; }
.article-body blockquote{
  margin:30px 0; padding:6px 0 6px 24px; border-left:3px solid var(--naru-clay);
  font-size:22px; line-height:1.5; color:var(--primary);
}

.article-cta{
  max-width:760px; margin:64px auto 0; padding-top:40px;
  border-top:1px solid var(--border, #e3dcd1); text-align:center;
}
.article-cta .title{ font-size:34px; font-weight:310; letter-spacing:-0.03em; margin-bottom:26px; }

@media only screen and (max-width:767px){
  .article-body p, .article-body li{ font-size:17px; }
  .article-cover{ border-radius:16px; margin-bottom:32px; }
}

/* Korean typography — IBM Plex Sans KR (KR locale only) */
@font-face {
  font-family: "IBM Plex Sans KR";
  src: url("../fonts/IBMPlexSansKR-ExtraLight.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans KR";
  src: url("../fonts/IBMPlexSansKR-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Korean typography tuning (applied when KR is active) */
body.lang-kr{
  font-family:"IBM Plex Sans KR", sans-serif;
  font-weight:200;
  word-break:keep-all;
}

/* Headings — SemiBold */
body.lang-kr h1,
body.lang-kr h2,
body.lang-kr h3,
body.lang-kr h4,
body.lang-kr h5,
body.lang-kr h6,
body.lang-kr .section-title,
body.lang-kr .page-title,
body.lang-kr .article-title,
body.lang-kr .naru-lead-title,
body.lang-kr .title,
body.lang-kr .about-text,
body.lang-kr .info-text,
body.lang-kr .section-subtitle,
body.lang-kr .article-body h2,
body.lang-kr .article-body h3,
body.lang-kr .article-cta .title,
body.lang-kr .naru-lead-success h2,
body.lang-kr .offset-widget-box .title,
body.lang-kr .main-menu .mega-menu .title,
body.lang-kr .blog-title,
body.lang-kr .meta .title,
body.lang-kr .rr-btn .text-one,
body.lang-kr .rr-btn .text-two,
body.lang-kr .rr-btn-group .b,
body.lang-kr .lang-btn,
body.lang-kr .naru-lead-field label,
body.lang-kr .naru-lead-link,
body.lang-kr .naru-lead-footer a,
body.lang-kr .naru-legal h2{
  font-family:"IBM Plex Sans KR", sans-serif !important;
  font-weight:600 !important;
  font-variation-settings:normal;
}

/* Inherit heading weight inside title blocks */
body.lang-kr h1 *,
body.lang-kr h2 *,
body.lang-kr h3 *,
body.lang-kr h4 *,
body.lang-kr h5 *,
body.lang-kr h6 *,
body.lang-kr .section-title *,
body.lang-kr .page-title *,
body.lang-kr .article-title *,
body.lang-kr .title *,
body.lang-kr .about-text *,
body.lang-kr .info-text *{
  font-family:inherit !important;
  font-weight:inherit !important;
}

/* Body copy — ExtraLight */
body.lang-kr p,
body.lang-kr .text,
body.lang-kr li,
body.lang-kr label:not(.naru-lead-field label),
body.lang-kr input,
body.lang-kr textarea,
body.lang-kr select,
body.lang-kr .article-body p,
body.lang-kr .article-body li,
body.lang-kr .article-body blockquote,
body.lang-kr .article-meta,
body.lang-kr .founder-bio .text,
body.lang-kr .naru-lead-desc,
body.lang-kr .naru-lead-points li,
body.lang-kr .naru-lead-legal,
body.lang-kr .naru-lead-success p,
body.lang-kr .client-box.partner-name .partner-label,
body.lang-kr .contact-offices .text,
body.lang-kr .naru-office-list span,
body.lang-kr .naru-legal p,
body.lang-kr .naru-legal li,
body.lang-kr .subscription-text .text,
body.lang-kr .copyright-text .text,
body.lang-kr .article-back{
  font-family:"IBM Plex Sans KR", sans-serif !important;
  font-weight:200 !important;
  font-variation-settings:normal;
}

/* =============================================================
   Newsletter / lead magnet landing page
   ============================================================= */
.naru-lead-body{ background:#FCFBF8; }
.naru-lead-page{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.naru-lead-visual{
  background:#555555;
  min-height:100vh;
  position:sticky;
  top:0;
  height:100vh;
  overflow:hidden;
}
.naru-lead-visual-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.naru-lead-panel{
  display:flex; flex-direction:column;
  min-height:100vh;
  padding:32px 48px 24px;
  max-width:640px;
}
.naru-lead-header{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; margin-bottom:48px;
}
.naru-lead-logo{ text-decoration:none; }
.naru-lead-main{ flex:1; }
.naru-lead-title{
  font-family:"Sequel Sans Roman Body","Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  font-size:clamp(32px,4vw,48px);
  font-weight:310; line-height:1.08; letter-spacing:-0.03em;
  margin:0 0 18px; color:var(--primary);
}
.naru-lead-desc{
  font-size:18px; line-height:1.65; color:rgba(17,17,17,.72);
  margin:0 0 24px; max-width:520px;
}
.naru-lead-points{
  margin:0 0 32px; padding:0; list-style:none;
}
.naru-lead-points li{
  position:relative; padding-left:22px; margin:0 0 10px;
  font-size:16px; line-height:1.5; color:rgba(17,17,17,.78);
}
.naru-lead-points li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:8px; height:8px; border-radius:50%; background:var(--naru-clay);
}
.naru-lead-form{ max-width:420px; }
.naru-lead-field{ margin-bottom:16px; }
.naru-lead-field label{
  display:block; font-size:13px; font-weight:600;
  margin-bottom:6px; color:var(--primary);
}
.naru-lead-field .optional{ font-weight:400; color:rgba(17,17,17,.45); }
.naru-lead-field input{
  width:100%; border:1px solid rgba(17,17,17,.14);
  border-radius:12px; padding:12px 14px; font:inherit;
  background:#fff; color:var(--primary);
}
.naru-lead-field input:focus{
  outline:none; border-color:var(--naru-clay);
  box-shadow:0 0 0 3px rgba(217,78,38,.12);
}
.naru-lead-submit{ margin-top:8px; }
.naru-honeypot{
  position:absolute; left:-9999px; width:1px; height:1px;
  opacity:0; pointer-events:none;
}
.lead-form-message,
.subscribe-message{
  margin-top:12px; font-size:14px; line-height:1.5; display:none;
}
.lead-form-message.pending,
.lead-form-message.success,
.lead-form-message.error,
.subscribe-message.pending,
.subscribe-message.success,
.subscribe-message.error{ display:block; }
.lead-form-message.success,
.subscribe-message.success{ color:var(--naru-pine); }
.lead-form-message.error,
.subscribe-message.error{ color:#b42318; }
.lead-form-message.pending,
.subscribe-message.pending{ color:rgba(17,17,17,.55); }
.naru-lead-success h2{
  font-size:28px; font-weight:310; letter-spacing:-0.02em;
  margin:0 0 12px;
}
.naru-lead-success p{ color:rgba(17,17,17,.72); margin:0 0 24px; }
.naru-lead-success-actions{
  display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px;
  margin-bottom:8px;
}
.naru-lead-link{
  font-size:15px; font-weight:600; color:var(--naru-clay);
  text-decoration:underline; text-underline-offset:3px;
}
.naru-lead-legal{
  margin-top:28px; font-size:13px; line-height:1.55;
  color:rgba(17,17,17,.55); max-width:420px;
}
.naru-lead-legal a{ color:var(--naru-clay); }
.naru-lead-footer{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; margin-top:48px; padding-top:20px;
  border-top:1px solid rgba(17,17,17,.08);
  font-size:13px; color:rgba(17,17,17,.45);
}
.naru-lead-footer a{ color:var(--primary); font-weight:600; }

@media only screen and (max-width:991px){
  .naru-lead-page{ grid-template-columns:1fr; }
  .naru-lead-visual{
    position:relative; height:220px; min-height:220px;
  }
  .naru-lead-panel{ padding:28px 24px 20px; max-width:none; }
  .naru-lead-header{ margin-bottom:28px; }
}
