/* JININOVA public-site refinement layer — 2026-09-22
   Purpose: sharpen visual hierarchy without touching product/workspace behavior. */
:root{
  --ref-ink:#102724;
  --ref-ink-soft:#1b3430;
  --ref-muted:#667671;
  --ref-line:#dbe4e0;
  --ref-paper:#f7f9f8;
  --ref-panel:#ffffff;
  --ref-accent:#c9f58a;
  --ref-green:#1b654f;
  --ref-radius:18px;
  --ref-shadow:0 22px 55px rgba(16,39,36,.075);
  --ref-section:clamp(78px,7.5vw,124px);
}
body{background:#fff;color:var(--ref-ink);text-rendering:optimizeLegibility}
:is(.hub-wrap,.section-shell){max-width:1380px}
:is(.hub-eyebrow,.eyebrow){font-weight:700;letter-spacing:.14em}
:is(.hub-section-head,.section-heading) h2,
:is(.hub-intro,.partner-intro,.identity-section,.principles-section) h2{letter-spacing:-.052em}
p{letter-spacing:-.01em}

/* Header */
.hub-header,.site-header{
  position:sticky;top:0;background:rgba(255,255,255,.92);
  border-bottom:1px solid rgba(219,228,224,.9);
  backdrop-filter:blur(18px) saturate(1.2)
}
.hub-header-inner,.header-inner{min-height:82px}
.hub-brand strong,.wordmark{font-weight:720}
.hub-nav,#main-nav{font-weight:560}
.hub-login,.workspace-entry{
  border-radius:999px!important;
  box-shadow:0 8px 22px rgba(16,39,36,.12);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease
}
.hub-login:hover,.workspace-entry:hover{transform:translateY(-1px);box-shadow:0 11px 28px rgba(16,39,36,.16)}

/* Home hero */
.hub-hero{padding-top:clamp(64px,6vw,98px);background:
  radial-gradient(circle at 82% 18%,rgba(201,245,138,.12),transparent 30%),
  linear-gradient(135deg,#0d2824 0%,#12342e 100%)}
.hub-hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:clamp(52px,6vw,92px);padding-bottom:80px}
.hub-hero h1{font-size:clamp(52px,5.4vw,82px);font-weight:560;line-height:1.04;letter-spacing:-.062em;max-width:760px}
.hub-hero-description{font-size:18px;line-height:1.8;max-width:640px;color:#dbe7e2}
.hub-button{min-height:54px;padding:15px 24px;border-radius:999px;font-size:14px;box-shadow:0 12px 26px rgba(0,0,0,.14)}
.hub-hero-figure>img{height:clamp(440px,37vw,560px);border-radius:18px;box-shadow:0 28px 70px rgba(0,0,0,.18)}
.hub-photo-caption{left:-24px;right:28px;padding:24px 28px;border-radius:14px;box-shadow:0 20px 44px rgba(0,0,0,.13)}
.hub-photo-caption strong{font-size:23px}
.hub-hero-foot{padding-block:25px}

/* Section rhythm */
.hub-section{padding-block:var(--ref-section)}
.hub-intro{padding-block:72px;grid-template-columns:.55fr 1.45fr}
.hub-intro h2{font-size:clamp(31px,3vw,44px);line-height:1.25}
.hub-section-head{margin-bottom:50px;align-items:end}
.hub-section-head h2{font-size:clamp(42px,4.3vw,64px);line-height:1.08}
.hub-section-head p:not(.hub-eyebrow){font-size:17px;line-height:1.8}

/* Core cards */
.hub-core-grid{gap:26px}
.hub-core{
  border-radius:var(--ref-radius);padding:42px;min-height:420px;
  border:1px solid var(--ref-line);background:#fff;
  box-shadow:0 1px 0 rgba(16,39,36,.02);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.hub-core:first-child{background:linear-gradient(155deg,#f0f7f3,#f8fbf9)}
.hub-core:hover{transform:translateY(-3px);box-shadow:var(--ref-shadow);border-color:#cbd9d3}
.hub-core h3{font-size:clamp(31px,2.7vw,40px);letter-spacing:-.05em}
.hub-tags li{border-radius:999px;padding:7px 12px}

/* Product portfolio */
.hub-suite{background:#f4f7f6}
.hub-products{gap:22px}
.hub-product{
  padding:32px;border-radius:16px;min-height:320px;
  box-shadow:0 1px 0 rgba(16,39,36,.02);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease
}
.hub-product:hover{transform:translateY(-3px);box-shadow:var(--ref-shadow);border-color:#cbd9d3}
.hub-product h3{font-size:26px}
.hub-product-description{font-size:15.5px;line-height:1.85}
.hub-filter button{border-radius:999px;padding-inline:18px}

/* Platform + standards */
.hub-connection{gap:clamp(54px,7vw,104px)}
.hub-connection-copy h2{font-size:clamp(42px,4.3vw,64px);line-height:1.08}
.hub-connection-board{border-radius:18px;box-shadow:var(--ref-shadow)}
.hub-board-brand{padding:32px 34px}
.hub-board-row{padding:27px 34px}
.hub-standard{padding-block:92px}
.hub-standard h2,.hub-faq h2{font-size:clamp(36px,3.5vw,52px)}
.hub-standards{gap:32px}
.hub-standards li{padding-top:24px}
.hub-faq{padding-block:92px}
.hub-faq summary{font-size:18px;padding-block:24px}

/* Contact */
.hub-contact{padding-block:84px;background:linear-gradient(135deg,#102724,#173a33)}
.hub-contact h2{font-size:clamp(40px,4.5vw,64px);line-height:1.07}
.hub-contact p:not(.hub-eyebrow){font-size:17px}

/* Partner subpages */
body[data-page="services"],body[data-page="about"],body[data-page="inquiry"]{background:#fff}
.subpage-hero,.about-hero{padding-top:clamp(72px,7vw,112px)}
.subpage-hero h1,.about-title-layout h1{font-size:clamp(54px,6vw,88px);line-height:1.02;letter-spacing:-.06em}
.subpage-hero>p:not(.eyebrow):not(.selected-service),.about-title-layout>.lead{font-size:19px;line-height:1.75}
.service-jump{margin-top:42px;gap:9px;display:flex;flex-wrap:wrap}
.service-jump a{border:1px solid var(--ref-line);border-radius:999px;padding:10px 15px;background:#fff}
.service-detail{padding-block:76px;gap:clamp(48px,7vw,100px)}
.service-detail h2{font-size:clamp(40px,4.3vw,60px)}
.service-deliverable{border-radius:18px!important;padding:34px!important;box-shadow:var(--ref-shadow);background:#fff!important}
.about-cover{height:520px;border-radius:22px;box-shadow:var(--ref-shadow)}
.identity-section,.principles-section{padding-block:var(--ref-section)}
.identity-cards{gap:24px}
.identity-cards article{padding:30px;border:1px solid var(--ref-line);border-radius:18px;background:#fff}
.approach-section{padding-block:96px;background:#f2f6f3}
.process-grid{gap:22px}
.process-grid article{padding:26px 22px 22px;border:1px solid var(--ref-line);border-radius:16px;background:#fff}
.contact-section{border-radius:24px;box-shadow:0 28px 70px rgba(16,39,36,.12)}
.inquiry-layout{gap:clamp(44px,6vw,86px)}
.intake-panel{border-radius:22px!important;box-shadow:var(--ref-shadow)}
.inquiry-next{border-radius:16px!important}

/* Motion: subtle only */
@media (prefers-reduced-motion:no-preference){
  .hub-product,.hub-core,.hub-button,.hub-login,.workspace-entry,.service-jump a{transition-duration:.2s}
}

/* Tablet */
@media(max-width:980px){
  .hub-hero-grid{grid-template-columns:1fr 1fr;gap:42px}
  .hub-hero h1{font-size:clamp(44px,6vw,62px)}
  .hub-products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hub-core{padding:32px}
  .service-detail{padding-block:62px}
}

/* Mobile */
@media(max-width:650px){
  :root{--ref-section:58px}
  .hub-wrap{width:calc(100% - 36px)}
  .hub-header,.site-header{backdrop-filter:blur(14px)}
  .hub-hero{padding-top:42px}
  .hub-hero-grid{grid-template-columns:1fr;gap:34px;padding-bottom:38px}
  .hub-hero h1{font-size:clamp(39px,11.2vw,54px);line-height:1.06}
  .hub-hero-description{font-size:15.5px;line-height:1.78}
  .hub-hero-figure>img{height:290px;border-radius:14px 14px 0 0;box-shadow:none}
  .hub-photo-caption{left:0;right:0;border-radius:0 0 14px 14px;box-shadow:none}
  .hub-photo-caption strong{font-size:19px}
  .hub-intro{padding-block:44px}
  .hub-section-head{margin-bottom:30px}
  .hub-section-head h2,.hub-connection-copy h2{font-size:34px}
  .hub-core{padding:26px;min-height:auto;border-radius:15px}
  .hub-product{padding:25px;min-height:auto;border-radius:15px}
  .hub-standard,.hub-faq{padding-block:58px}
  .hub-contact{padding-block:54px}
  .subpage-hero,.about-hero{padding-top:46px}
  .subpage-hero h1,.about-title-layout h1{font-size:clamp(42px,11vw,58px)}
  .service-detail{padding-block:48px}
  .service-deliverable{padding:25px!important;border-radius:15px!important}
  .about-cover{height:350px;border-radius:16px}
  .identity-cards article,.process-grid article{padding:24px;border-radius:15px}
  .contact-section{border-radius:18px}
}


/* Editorial imagery: use photography where it adds credibility, not decoration. */
.hub-core-media{
  margin:-10px 0 30px;
  aspect-ratio:16/8.2;
  overflow:hidden;
  border-radius:13px;
  background:#dbe2df
}
.hub-core-media img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.88) contrast(1.02)
}
.hub-core:first-child .hub-core-media img{object-position:center 44%}
.hub-core:last-child .hub-core-media img{object-position:center 40%}
.service-editorial{
  position:relative;overflow:hidden;
  max-width:1380px;margin:0 auto 24px;
  height:clamp(320px,36vw,520px);
  border-radius:22px;background:#dce3df;
  box-shadow:var(--ref-shadow)
}
.service-editorial img{width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.9) contrast(1.02)}
.service-editorial::after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(10,33,29,.62))}
.service-editorial figcaption{
  position:absolute;z-index:1;left:34px;right:34px;bottom:28px;
  display:flex;justify-content:space-between;align-items:end;gap:24px;
  color:#fff
}
.service-editorial figcaption span:first-child{font-size:11px;letter-spacing:.14em;font-weight:700}
.service-editorial figcaption strong{font-size:clamp(22px,2.4vw,34px);font-weight:560;letter-spacing:-.04em;max-width:650px;line-height:1.15}

@media(max-width:650px){
  .hub-core-media{margin:-2px 0 24px;aspect-ratio:16/9;border-radius:11px}
  .service-editorial{margin-inline:18px;height:300px;border-radius:15px}
  .service-editorial figcaption{left:20px;right:20px;bottom:19px;display:block}
  .service-editorial figcaption span:first-child{display:block;margin-bottom:8px;font-size:9px}
  .service-editorial figcaption strong{font-size:22px}
}


/* Sharp typography + Korean hospitality image tuning — 2026-09-22 */
body{font-weight:400}
.hub-brand strong,.wordmark{font-weight:600!important}
.hub-nav,#main-nav{font-weight:500}
.hub-eyebrow,.eyebrow{font-weight:600;letter-spacing:.13em}
.hub-hero h1{
  font-size:clamp(48px,4.8vw,72px);
  font-weight:500;
  line-height:1.075;
  letter-spacing:-.058em
}
.hub-photo-caption strong{font-weight:500}
.hub-button,.hub-login,.workspace-entry,.hub-text-link,.text-link,.button{font-weight:500}
.hub-intro h2,
.hub-section-head h2,
.hub-connection-copy h2,
.hub-standard h2,
.hub-faq h2,
.hub-contact h2,
.subpage-hero h1,
.about-title-layout h1,
.service-detail h2,
.identity-section h2,
.principles-section h2,
.section-heading h2{
  font-weight:500!important;
  letter-spacing:-.05em
}
.hub-section-head h2,.hub-connection-copy h2{font-size:clamp(38px,3.8vw,58px)}
.hub-core h3{font-size:clamp(29px,2.4vw,36px);font-weight:500}
.hub-product h3,.hub-board-row h3,.hub-standards h3,.process-grid h3,.identity-cards h3,.principles-list h3{font-weight:500}
.hub-product-code,.hub-product-subtitle,.hub-core-label{font-weight:550}
.hub-hero-description,.hub-section-head p:not(.hub-eyebrow),.hub-core>p,.hub-product-description,.hub-connection-copy>p:not(.hub-eyebrow),.hub-standards p,.hub-faq details p{font-weight:400}
.subpage-hero h1,.about-title-layout h1{font-size:clamp(50px,5.4vw,80px)}
.service-detail h2{font-size:clamp(36px,3.8vw,54px)}
.service-editorial figcaption span:first-child{font-weight:600}
.service-editorial figcaption strong{font-weight:500}
.hub-hero-figure>img{
  object-position:42% 50%;
  filter:saturate(.92) contrast(1.015)
}
.hub-core:first-child .hub-core-media img{object-position:58% 50%}
.hub-core:last-child .hub-core-media img{object-position:72% 50%}
.service-editorial img{object-position:58% 50%;filter:saturate(.92) contrast(1.015)}
.about-cover img{object-position:72% 50%;filter:saturate(.92) contrast(1.015)}
.hub-core-media img{filter:saturate(.92) contrast(1.015)}
@media(max-width:980px){
  .hub-hero h1{font-size:clamp(42px,5.6vw,58px)}
}
@media(max-width:650px){
  .hub-hero h1{font-size:clamp(37px,10.4vw,49px);line-height:1.1}
  .hub-section-head h2,.hub-connection-copy h2{font-size:32px}
  .subpage-hero h1,.about-title-layout h1{font-size:clamp(39px,10.2vw,54px)}
  .hub-core h3{font-size:26px}
  .hub-hero-figure>img{object-position:38% 50%}
  .hub-core:first-child .hub-core-media img{object-position:62% 50%}
  .hub-core:last-child .hub-core-media img{object-position:70% 50%}
}
