/* hono lab Landing Page 1.3 — 専用ページ内のみスタイル適用 */
:root { --hl-black:#101010; --hl-text:#585858; --hl-yellow:#e5bd00; --hl-field:#fff; --hl-panel:#efefef; }
html { scroll-behavior:smooth; }
body.hl-landing-page { margin:0; background:#fff; color:var(--hl-black); }
.hl-page, .hl-modal { font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif; -webkit-font-smoothing:antialiased; }
.hl-page *, .hl-modal * { box-sizing:border-box; }
.hl-page p, .hl-page h1, .hl-page h2 { margin:0; }
.hl-page a { color:inherit; }
.hl-header { padding:clamp(25px,3.6vw,54px) clamp(28px,4.3vw,64px) 0; }
.hl-logo { display:inline-block; width:clamp(105px,12vw,160px); line-height:0; }
.hl-logo img { display:block; width:100%; height:auto; }
.hl-main { width:min(1040px,75.5%); margin-left:clamp(24px,11.4vw,190px); }
.hl-hero { padding-top:clamp(52px,5vw,85px); }
.hl-eyebrow, .hl-section-label { font-family:Arial,Helvetica,sans-serif; font-weight:400; color:#767676; letter-spacing:.025em; }
.hl-eyebrow { font-size:clamp(10px,.83vw,12px); margin-bottom:17px !important; }
.hl-accent { color:var(--hl-yellow); }
.hl-hero h1 { font-size:clamp(33px,4.12vw,61px); line-height:1.65; font-weight:800; letter-spacing:.018em; margin-bottom:18px; }
.hl-copy, .hl-contact-copy { max-width:680px; font-size:clamp(12px,1.06vw,16px); line-height:1.98; letter-spacing:.015em; color:var(--hl-text); font-weight:500; }
.hl-copy p + p { margin-top:21px; }
.hl-works { margin-top:clamp(55px,6.5vw,105px); }
.hl-section-label { font-size:clamp(11px,.87vw,13px); line-height:1.6; margin-bottom:18px !important; }
.hl-works-image { width:100%; height:auto; display:block; }
.hl-contact { margin-top:clamp(64px,7.1vw,115px); }
.hl-contact h2 { font-size:clamp(22px,2.42vw,36px); font-weight:800; line-height:1.8; letter-spacing:.01em; margin:0 0 24px; }
.hl-contact-copy p + p { margin-top:21px; }
.hl-contact-copy .hl-trust { margin-top:24px; font-weight:700; color:#555; }
.hl-form { margin-top:clamp(36px,4.5vw,70px); padding:clamp(24px,3.1vw,45px) clamp(22px,4vw,60px) 22px; background:var(--hl-panel); border-radius:3px; }
.hl-field { margin-bottom:22px; }
.hl-field label { display:flex; align-items:center; font-size:clamp(13px,1.05vw,16px); font-weight:700; color:#202020; margin-bottom:8px; }
.hl-required { background:var(--hl-yellow); color:#fff; border-radius:12px; font-size:10px; line-height:1.35; padding:1px 9px; margin-right:7px; font-weight:600; }
.hl-field input, .hl-field textarea { display:block; width:100%; background:#fff; border:1px solid #e2e2e2; border-radius:4px; padding:12px 13px; font:inherit; font-size:16px; color:#222; box-shadow:none; }
.hl-field input { height:46px; }
.hl-field textarea { min-height:150px; resize:vertical; }
.hl-field input:focus, .hl-field textarea:focus { border-color:#a58b17; outline:2px solid rgba(229,189,0,.3); outline-offset:1px; }
.hl-privacy { text-align:center; font-size:12px; color:#555; margin:8px 0 20px; }
.hl-privacy label { display:inline-flex; align-items:center; gap:7px; cursor:pointer; }
.hl-privacy input { width:16px; height:16px; accent-color:#222; }
.hl-privacy a { text-decoration:underline; text-underline-offset:2px; }
.hl-button, .hl-send { display:flex; justify-content:center; align-items:center; gap:12px; background:#080808; color:#fff; border:0; border-radius:999px; min-height:45px; padding:10px 35px; font-family:inherit; font-size:14px; font-weight:700; cursor:pointer; transition:transform .2s,background .2s; }
.hl-button { width:min(100%,320px); margin:0 auto; }
.hl-button:hover, .hl-send:hover { background:#343434; transform:translateY(-1px); }
.hl-button:focus-visible, .hl-send:focus-visible, .hl-back:focus-visible { outline:3px solid var(--hl-yellow); outline-offset:3px; }
.hl-honeypot { position:absolute!important; left:-99999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.hl-alert { margin-top:20px; border-left:4px solid #444; padding:14px 18px; font-size:14px; line-height:1.7; background:#f4f4f4; }
.hl-alert-success { border-color:#448c6c; }
.hl-alert-error { border-color:#c15454; }
.hl-footer { padding:clamp(58px,7vw,100px) 20px 42px; text-align:center; }
.hl-footer-logo { display:inline-block; width:clamp(110px,11vw,150px); line-height:0; }
.hl-footer-logo img { display:block; width:100%; height:auto; }
.hl-footer-links { margin-top:27px; display:flex; gap:18px; justify-content:center; flex-wrap:wrap; font-size:11px; color:#888; }
.hl-footer-links a { text-decoration:underline; text-underline-offset:2px; }
.hl-modal[hidden] { display:none!important; }
.hl-modal { position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; padding:20px; }
.hl-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.62); }
.hl-modal-dialog { position:relative; background:#fff; border-radius:6px; width:min(100%,620px); max-height:min(90vh,820px); overflow:auto; padding:clamp(22px,4vw,42px); box-shadow:0 10px 40px rgba(0,0,0,.18); }
.hl-modal-dialog h2 { margin:0 0 20px; font-size:23px; }
.hl-modal-dialog dl { margin:0; }
.hl-modal-dialog dt { font-size:12px; font-weight:700; color:#777; margin:17px 0 5px; }
.hl-modal-dialog dd { font-size:15px; margin:0; line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; }
.hl-modal-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:30px; }
.hl-back { background:#eee; border:0; border-radius:999px; padding:12px 24px; cursor:pointer; font-weight:700; }
@media (min-width:1500px) { .hl-main { margin-left:max(calc((100% - 1200px)/2),190px); } }
@media (max-width:767px) {
  .hl-header { padding:24px 22px 0; }
  .hl-logo { width:112px; }
  .hl-main { width:auto; margin:0 22px; }
  .hl-hero { padding-top:67px; }
  .hl-eyebrow { font-size:10px; margin-bottom:13px!important; }
  .hl-hero h1 { font-size:clamp(29px,7.8vw,40px); line-height:1.65; margin-bottom:24px; }
  .hl-copy, .hl-contact-copy { max-width:680px; font-size:13px; line-height:2; }
  .hl-copy p + p { margin-top:21px; }
  .hl-desktop-only { display:none; }
  .hl-works { margin-top:64px; }
  .hl-section-label { font-size:11px; margin-bottom:12px!important; }
  .hl-contact { margin-top:75px; }
  .hl-contact h2 { font-size:clamp(22px,5.6vw,29px); line-height:1.65; margin-bottom:24px; }
  .hl-contact-copy p + p { margin-top:20px; }
  .hl-form { margin-top:38px; padding:25px 18px 23px; }
  .hl-field { margin-bottom:20px; }
  .hl-field input { height:46px; }
  .hl-field textarea { min-height:140px; }
  .hl-button { font-size:13px; padding:10px 18px; }
  .hl-footer { padding-top:65px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .hl-button,.hl-send { transition:none; } }

/* v1.1 — Lightning等のテーマが付加する見出し罫線・疑似要素を無効化。
   hono lab LPの中だけに適用し、既存サイトには影響させません。 */
body.hl-landing-page .hl-page .hl-works h2.hl-section-label,
body.hl-landing-page .hl-page .hl-contact h2,
body.hl-landing-page .hl-page .hl-section-label {
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  text-decoration: none !important;
}
body.hl-landing-page .hl-page .hl-works h2.hl-section-label::before,
body.hl-landing-page .hl-page .hl-works h2.hl-section-label::after,
body.hl-landing-page .hl-page .hl-contact h2::before,
body.hl-landing-page .hl-page .hl-contact h2::after,
body.hl-landing-page .hl-page .hl-section-label::before,
body.hl-landing-page .hl-page .hl-section-label::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
}
/* テーマがsection自体に装飾を設定する場合にも備える */
body.hl-landing-page .hl-page .hl-works,
body.hl-landing-page .hl-page .hl-contact {
  border: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}
@media (max-width:767px) {
  body.hl-landing-page .hl-page .hl-contact-copy .hl-trust {
    font-size: 12.5px;
    line-height: 1.95;
    overflow-wrap: anywhere;
  }
}

/* v1.9.1 — 作品1〜40を同一サイズの3列グリッドで表示。
   画像の元ファイルと管理画面の登録内容は変更しない。 */
.hl-page .hl-works-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  width:100%;
}
.hl-page .hl-work-grid-tile {
  display:block;
  position:relative;
  aspect-ratio:4 / 3;
  min-width:0;
  overflow:hidden;
  background:#eee;
}
.hl-page .hl-work-grid-tile img {
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  transform:scale(1);
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
  will-change:transform;
}
@media (hover:hover) and (pointer:fine) {
  .hl-page .hl-work-grid-tile:hover img { transform:scale(1.35); }
}
@media (max-width:767px) {
  .hl-page .hl-works-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  /* v2.0.2: SPの2列グリッドで最後が1点余る場合だけ非表示。PC表示・登録データは変更しない。 */
  .hl-page .hl-works-grid > .hl-work-grid-tile:last-child:nth-child(odd) { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .hl-page .hl-work-grid-tile img { transition:none; }
}

/* v1.9.2 — 制作風景のフル幅動画。動画未登録時はDOMごと非表示。 */
.hl-page .hl-video-band {
  position:relative;
  width:100%;
  height:clamp(180px,17vw,260px);
  margin-top:clamp(45px,5vw,80px);
  overflow:hidden;
  background:#e5e5e5;
}
.hl-page .hl-video-band-player {
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
}
@media (max-width:767px) {
  .hl-page .hl-video-band { height:160px; margin-top:48px; }
}

/* v1.9.3 — プライバシーポリシー専用テンプレート。Lightning標準の帯・罫線を表示しない。 */
body.hl-privacy-page .hl-page { background:#fff; min-height:100vh; }
body.hl-privacy-page .hl-policy-main {
  width:min(820px, calc(100% - 44px));
  margin:0 auto;
  padding:clamp(65px,8vw,120px) 0 0;
}
body.hl-privacy-page .hl-policy-heading { margin:0 0 clamp(42px,5vw,70px); }
body.hl-privacy-page .hl-policy-heading .hl-eyebrow { margin:0 0 20px !important; }
body.hl-privacy-page .hl-policy-heading h1 {
  margin:0 !important; padding:0 !important; border:0 !important;
  box-shadow:none !important; background:none !important;
  font-size:clamp(29px,3.6vw,47px); font-weight:800; line-height:1.5;
  letter-spacing:.02em; color:#111;
}
body.hl-privacy-page .hl-policy-heading h1::before,
body.hl-privacy-page .hl-policy-heading h1::after { display:none !important; content:none !important; }
body.hl-privacy-page .hl-policy-content { font-size:14px; line-height:2.05; color:#505050; overflow-wrap:anywhere; }
body.hl-privacy-page .hl-policy-content > *:first-child { margin-top:0 !important; }
body.hl-privacy-page .hl-policy-content p { margin:0 0 1.6em !important; color:inherit; }
body.hl-privacy-page .hl-policy-content h2,
body.hl-privacy-page .hl-policy-content h3,
body.hl-privacy-page .hl-policy-content h4 {
  color:#171717 !important; font-weight:750; line-height:1.65;
  background:none !important; background-image:none !important;
  border:0 !important; box-shadow:none !important;
  padding:0 !important; text-decoration:none !important;
}
body.hl-privacy-page .hl-policy-content h2 { font-size:clamp(18px,2vw,23px); margin:3em 0 1em !important; }
body.hl-privacy-page .hl-policy-content h3 { font-size:clamp(15px,1.6vw,18px); margin:2em 0 .8em !important; }
body.hl-privacy-page .hl-policy-content h4 { font-size:15px; margin:1.7em 0 .7em !important; }
body.hl-privacy-page .hl-policy-content h2::before,
body.hl-privacy-page .hl-policy-content h2::after,
body.hl-privacy-page .hl-policy-content h3::before,
body.hl-privacy-page .hl-policy-content h3::after,
body.hl-privacy-page .hl-policy-content h4::before,
body.hl-privacy-page .hl-policy-content h4::after { display:none !important; content:none !important; }
body.hl-privacy-page .hl-policy-content ul,
body.hl-privacy-page .hl-policy-content ol { margin:0 0 1.6em; padding-left:1.5em; }
body.hl-privacy-page .hl-policy-content li { margin-bottom:.45em; }
body.hl-privacy-page .hl-policy-content a { color:#444; text-decoration:underline; text-underline-offset:3px; }
body.hl-privacy-page .hl-policy-content a:hover { color:#000; }
body.hl-privacy-page .hl-policy-content .wp-block-separator { border-color:#e9e9e9; }
body.hl-privacy-page .hl-policy-back {
  display:inline-flex; align-items:center; gap:9px; margin-top:60px;
  font-size:13px; text-decoration:none; border-bottom:1px solid #aaa;
  padding-bottom:5px; color:#333;
}
body.hl-privacy-page .hl-policy-back:hover { border-color:#111; }
body.hl-privacy-page .hl-footer { padding-top:100px; }
@media (max-width:767px) {
  body.hl-privacy-page .hl-policy-main { padding-top:60px; }
  body.hl-privacy-page .hl-policy-content { font-size:13px; line-height:2; }
  body.hl-privacy-page .hl-policy-heading { margin-bottom:40px; }
  body.hl-privacy-page .hl-policy-back { margin-top:40px; }
}

/* v1.9.5 — Aboutページ：トップページと統一した白背景・タイポグラフィ。 */
body.hl-about-page .hl-about-main { width:min(1040px, calc(100% - 56px)); margin:0 auto; }
body.hl-about-page .hl-about-content { color:#555; font-size:clamp(13px,1.08vw,15px); line-height:2.08; letter-spacing:.012em; }
body.hl-about-page .hl-about-content .wp-block-group { max-width:none; }
body.hl-about-page .hl-about-content .hl-about-hero,
body.hl-about-page .hl-about-content .hl-about-section { margin:0; padding:0; }
body.hl-about-page .hl-about-hero { padding-top:clamp(80px,10vw,160px) !important; max-width:740px; }
body.hl-about-page .hl-about-content .hl-about-kicker { font:400 12px/1.5 Arial,sans-serif; letter-spacing:.09em; color:#777; margin:0 0 24px !important; }
body.hl-about-page .hl-about-kicker::first-letter { color:#e5bd00; }
body.hl-about-page .hl-about-content h1,
body.hl-about-page .hl-about-content h2,
body.hl-about-page .hl-about-content h3 { color:#111; padding:0 !important; border:0 !important; background:none !important; box-shadow:none !important; letter-spacing:.02em; }
body.hl-about-page .hl-about-content h1::before,body.hl-about-page .hl-about-content h1::after,
body.hl-about-page .hl-about-content h2::before,body.hl-about-page .hl-about-content h2::after,
body.hl-about-page .hl-about-content h3::before,body.hl-about-page .hl-about-content h3::after { display:none !important; content:none !important; }
body.hl-about-page .hl-about-content h1 { font-size:clamp(36px,5vw,66px); line-height:1.5; font-weight:800; white-space:pre-line; margin:0 0 40px !important; }
body.hl-about-page .hl-about-content h2 { font-size:clamp(25px,3vw,41px); line-height:1.65; font-weight:800; white-space:pre-line; margin:0 0 28px !important; }
body.hl-about-page .hl-about-content h3 { font-size:clamp(17px,1.65vw,22px); line-height:1.55; font-weight:750; margin:0 0 8px !important; }
body.hl-about-page .hl-about-content p { margin:0 0 20px !important; }
body.hl-about-page .hl-about-hero .hl-about-lead { color:#111; font-weight:700; margin-bottom:26px !important; }
body.hl-about-page .hl-about-section { margin-top:clamp(100px,13vw,200px) !important; }
body.hl-about-page .hl-about-philosophy { max-width:750px; }
body.hl-about-page .hl-about-profile-grid { display:grid; grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr); gap:clamp(35px,6vw,90px); align-items:start; }
body.hl-about-page .hl-about-portrait { margin:0 !important; width:100%; }
body.hl-about-page .hl-about-portrait img { display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; object-position:center 25%; filter:grayscale(1); }
body.hl-about-page .hl-about-profile-text h2 { font-size:clamp(28px,3.1vw,42px); margin-bottom:0 !important; }
body.hl-about-page .hl-about-profile-text .hl-about-roman { font:400 13px/1.5 Arial,sans-serif; letter-spacing:.08em; margin:3px 0 15px !important; color:#777; }
body.hl-about-page .hl-about-profile-text .hl-about-role { color:#111; font-weight:600; font-size:13px; margin-bottom:28px !important; }
body.hl-about-page .hl-about-career-row { display:grid; grid-template-columns:160px minmax(0,1fr); gap:25px; padding:25px 0 !important; border-top:1px solid #e5e5e5; }
body.hl-about-page .hl-about-career-row:last-child { border-bottom:1px solid #e5e5e5; }
body.hl-about-page .hl-about-year { font:700 15px/1.8 Arial,sans-serif; color:#a88d14; margin:0 !important; }
body.hl-about-page .hl-about-career-detail p { margin-bottom:0 !important; }
body.hl-about-page .hl-about-services { max-width:860px; }
body.hl-about-page .hl-about-service { display:grid; grid-template-columns:80px minmax(0,1fr); gap:25px; padding:25px 0 !important; border-top:1px solid #e5e5e5; }
body.hl-about-page .hl-about-service:last-child { border-bottom:1px solid #e5e5e5; }
body.hl-about-page .hl-about-service-number { font:400 15px/1.8 Arial,sans-serif; color:#b8a135; margin:0 !important; }
body.hl-about-page .hl-about-service-detail p { margin-bottom:0 !important; }
body.hl-about-page .hl-about-cta { padding:clamp(55px,7vw,100px) 0 0 !important; border-top:1px solid #e5e5e5; max-width:850px; }
body.hl-about-page .hl-about-cta-link { margin:35px 0 0 !important; }
body.hl-about-page .hl-about-cta-link a { display:inline-flex; gap:25px; align-items:center; justify-content:center; min-width:245px; padding:12px 26px; border-radius:99px; background:#101010; color:#fff; font-weight:700; font-size:13px; text-decoration:none; }
body.hl-about-page .hl-about-cta-link a:hover { background:#333; }
body.hl-about-page .hl-footer { padding-top:clamp(100px,12vw,180px); }
@media (max-width:767px) {
 body.hl-about-page .hl-about-main { width:auto; margin:0 22px; }
 body.hl-about-page .hl-about-hero { padding-top:70px !important; }
 body.hl-about-page .hl-about-content h1 { font-size:clamp(30px,8vw,43px); }
 body.hl-about-page .hl-about-profile-grid { grid-template-columns:1fr; gap:35px; }
 body.hl-about-page .hl-about-portrait { max-width:340px; }
 body.hl-about-page .hl-about-career-row { grid-template-columns:1fr; gap:7px; }
 body.hl-about-page .hl-about-service { grid-template-columns:40px minmax(0,1fr); gap:14px; }
 body.hl-about-page .hl-about-content { font-size:13px; }
}

/* Aboutページへの軽いヘッダーナビ。公開前は非表示。 */
body.hl-landing-page .hl-header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
body.hl-landing-page .hl-top-nav { font:500 12px/1.5 Arial,sans-serif; padding-top:10px; }
body.hl-landing-page .hl-top-nav a { color:#555; text-decoration:none; border-bottom:1px solid #aaa; padding-bottom:4px; }
body.hl-landing-page .hl-top-nav a:hover { color:#111; border-color:#111; }


/* v1.9.6 — About：トップページのContact Usと同じ、左寄せのシンプルな文字組み */
body.hl-about-page .hl-about-main { width:min(1040px,75.5%); margin-left:clamp(24px,11.4vw,190px); margin-right:0; }
body.hl-about-page .hl-about-simple { max-width:580px !important; padding-top:clamp(55px,7.5vw,120px) !important; }
body.hl-about-page .hl-about-content .hl-about-simple .hl-about-kicker { margin:0 0 22px !important; font:400 clamp(11px,.87vw,13px)/1.6 Arial,Helvetica,sans-serif; letter-spacing:.025em; color:#767676; }
body.hl-about-page .hl-about-content .hl-about-simple h1 { font-size:clamp(27px,3vw,43px); line-height:1.72; letter-spacing:.015em; font-weight:800; margin:0 0 26px !important; white-space:pre-line; }
body.hl-about-page .hl-about-content .hl-about-simple p:not(.hl-about-kicker) { color:#585858; font-size:clamp(12px,1.06vw,16px); line-height:1.98; font-weight:500; letter-spacing:.015em; margin:0 0 22px !important; }
body.hl-about-page .hl-about-content .hl-about-simple p.hl-about-closing { color:#292929; font-weight:800; margin-top:28px !important; margin-bottom:12px !important; }
body.hl-about-page .hl-about-content .hl-about-simple p.hl-about-contact-link { margin-top:36px !important; }
/* v2.0.1: About CTA — match the homepage black pill button.
   CSS-only upgrade also works for existing published Gutenberg content. */
body.hl-about-page .hl-about-content .hl-about-simple .hl-about-contact-link a {
 display:inline-flex !important; align-items:center; justify-content:center; gap:12px;
 min-width:260px; min-height:48px; padding:12px 28px;
 box-sizing:border-box; border-radius:999px;
 background:#080808; color:#fff !important;
 font-family:inherit; font-size:14px; font-weight:700;
 line-height:1.5; text-decoration:none !important; box-shadow:none;
 transition:background .2s, transform .2s;
}
body.hl-about-page .hl-about-content .hl-about-simple .hl-about-contact-link a:hover {
 background:#343434; color:#fff !important; transform:translateY(-1px);
}
body.hl-about-page .hl-about-content .hl-about-simple .hl-about-contact-link a:focus-visible {
 outline:3px solid var(--hl-yellow); outline-offset:3px;
}
body.hl-about-page .hl-footer { padding-top:clamp(90px,11vw,150px); }
@media (min-width:1500px) { body.hl-about-page .hl-about-main { margin-left:max(calc((100% - 1200px)/2),190px); } }
@media (max-width:767px) {
 body.hl-about-page .hl-about-main { width:auto; margin:0 22px; }
 body.hl-about-page .hl-about-simple { max-width:100% !important; padding-top:65px !important; }
 body.hl-about-page .hl-about-content .hl-about-simple h1 { font-size:clamp(26px,6.5vw,34px); line-height:1.65; }
 body.hl-about-page .hl-about-content .hl-about-simple p:not(.hl-about-kicker) { font-size:13px; line-height:2; }
}

/* v1.9.9: dedicated thank-you page; no form is rendered. */
body.hl-thanks-page .hl-page { min-height:100vh; display:flex; flex-direction:column; background:#fff; }
body.hl-thanks-page .hl-thanks-main { flex:1; width:min(1040px,75.5%); margin-left:clamp(24px,11.4vw,190px); margin-right:0; display:flex; align-items:center; }
body.hl-thanks-page .hl-thanks-content { padding:clamp(90px,12vw,175px) 0; max-width:680px; }
body.hl-thanks-page .hl-thanks-kicker { margin:0 0 25px; font:400 12px/1.5 Arial,Helvetica,sans-serif; letter-spacing:.03em; color:#777; }
body.hl-thanks-page .hl-thanks-check { display:flex; justify-content:center; align-items:center; width:44px; height:44px; border:2px solid #e5bd00; color:#111; border-radius:50%; font-size:22px; font-weight:700; margin-bottom:28px; }
body.hl-thanks-page .hl-thanks-content h1 { font-size:clamp(31px,3.4vw,51px); font-weight:800; line-height:1.55; letter-spacing:.02em; margin:0 0 28px; color:#111; }
body.hl-thanks-page .hl-thanks-copy { font-size:clamp(13px,1.05vw,16px); color:#595959; line-height:2; margin:0 0 42px; }
body.hl-thanks-page .hl-thanks-back { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; min-width:245px; border-radius:99px; padding:15px 30px; background:#111; color:#fff; font-size:13px; font-weight:700; text-decoration:none; }
body.hl-thanks-page .hl-thanks-back:hover { background:#333; color:#fff; }
body.hl-thanks-page .hl-footer { padding-top:45px; }
@media(min-width:1500px) { body.hl-thanks-page .hl-thanks-main { margin-left:max(calc((100% - 1200px)/2),190px); } }
@media(max-width:767px) {
 body.hl-thanks-page .hl-thanks-main { width:auto; margin:0 22px; }
 body.hl-thanks-page .hl-thanks-content { padding:85px 0 110px; }
 body.hl-thanks-page .hl-thanks-content h1 { font-size:clamp(28px,7.5vw,36px); }
 body.hl-thanks-page .hl-thanks-copy { font-size:13px; }
}

/* v2.0.0 — Partner LP */
body.hl-partner-page .hl-page {background:#fff;color:#111;}
body.hl-partner-page .hl-partner-container {width:min(1120px,calc(100% - 96px));margin:0 auto;}
body.hl-partner-page .hl-partner-hero {position:relative;min-height:680px;display:flex;align-items:center;padding:95px 0 125px;overflow:hidden;}
body.hl-partner-page .hl-partner-eyebrow,body.hl-partner-page .hl-partner-section-label {font:500 12px/1.5 Arial,sans-serif;letter-spacing:.075em;color:#777;margin:0 0 32px;}
body.hl-partner-page .hl-partner-dot {display:inline-block;width:9px;height:9px;border-radius:50%;background:#e4ba00;margin-right:12px;}
body.hl-partner-page .hl-partner-hero h1 {font-size:clamp(38px,5.5vw,76px);line-height:1.42;letter-spacing:-.025em;font-weight:800;margin:0 0 38px;}
body.hl-partner-page .hl-partner-hero h1 em {font-style:normal;position:relative;z-index:0;}
body.hl-partner-page .hl-partner-hero h1 em:after {content:'';position:absolute;z-index:-1;left:0;right:0;bottom:3px;height:13px;background:#f1d94b;}
body.hl-partner-page .hl-partner-lead {font-size:clamp(19px,2.1vw,27px);line-height:1.75;font-weight:700;margin:0 0 24px;}
body.hl-partner-page .hl-partner-hero-desc {font-size:15px;color:#555;line-height:2.05;margin:0 0 37px;}
body.hl-partner-page .hl-partner-button {display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:#111;color:#fff!important;border-radius:999px;padding:19px 30px;font-size:14px;font-weight:700;text-decoration:none;min-width:290px;transition:background .2s,transform .2s;}
body.hl-partner-page .hl-partner-button:hover {background:#393939;transform:translateY(-2px);}
body.hl-partner-page .hl-partner-hero-index {position:absolute;bottom:30px;right:6%;font:12px Arial,sans-serif;color:#aaa;letter-spacing:.1em;}
body.hl-partner-page .hl-partner-section {padding:125px 0;}
body.hl-partner-page .hl-partner-section h2,body.hl-partner-page .hl-partner-final h2 {font-size:clamp(30px,3.65vw,50px);line-height:1.55;letter-spacing:-.015em;font-weight:800;margin:0 0 45px;}
body.hl-partner-page .hl-partner-problems {background:#f6f6f5;}
body.hl-partner-page .hl-partner-problem-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
body.hl-partner-page .hl-partner-problem {padding:33px 24px;background:#fff;min-height:220px;}
body.hl-partner-page .hl-partner-problem>span,body.hl-partner-page .hl-partner-services-grid span,body.hl-partner-page .hl-partner-steps span {display:block;color:#a98900;font:600 12px Arial,sans-serif;letter-spacing:.04em;margin-bottom:25px;}
body.hl-partner-page .hl-partner-problem h3,body.hl-partner-page .hl-partner-services-grid h3,body.hl-partner-page .hl-partner-steps h3 {font-size:19px;font-weight:800;margin:0 0 14px;line-height:1.5;}
body.hl-partner-page .hl-partner-problem p,body.hl-partner-page .hl-partner-services-grid p,body.hl-partner-page .hl-partner-steps p {font-size:14px;line-height:1.95;color:#666;margin:0;}
body.hl-partner-page .hl-partner-section-copy {max-width:760px;font-size:17px;line-height:2.1;color:#555;margin:0 0 65px;}
body.hl-partner-page .hl-partner-strengths {display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ddd;border-bottom:1px solid #ddd;}
body.hl-partner-page .hl-partner-strengths div {padding:34px 22px;border-right:1px solid #ddd;}
body.hl-partner-page .hl-partner-strengths div:first-child {padding-left:0;}
body.hl-partner-page .hl-partner-strengths div:last-child {border-right:0;}
body.hl-partner-page .hl-partner-strengths b {display:block;font-size:clamp(21px,2.2vw,29px);margin-bottom:10px;}
body.hl-partner-page .hl-partner-strengths span {font-size:13px;color:#666;}
body.hl-partner-page .hl-partner-services {background:#fafaf9;}
body.hl-partner-page .hl-partner-services-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:0 55px;}
body.hl-partner-page .hl-partner-services-grid>div {border-top:1px solid #d7d7d7;padding:28px 0 48px;}
body.hl-partner-page .hl-partner-steps {display:grid;grid-template-columns:repeat(3,1fr);gap:45px;}
body.hl-partner-page .hl-partner-steps>div {border-top:2px solid #111;padding-top:28px;}
body.hl-partner-page .hl-partner-process-note {margin:55px 0 0;font-size:13px;line-height:1.9;color:#777;}
body.hl-partner-page .hl-partner-final {background:#f3d73d;padding:120px 0 130px;}
body.hl-partner-page .hl-partner-final .hl-partner-section-label {color:#534a20;}
body.hl-partner-page .hl-partner-final h2 {margin-bottom:25px;}
body.hl-partner-page .hl-partner-final p:not(.hl-partner-section-label) {font-size:16px;line-height:2;margin-bottom:38px;}
@media(max-width:767px){
body.hl-partner-page .hl-partner-container {width:calc(100% - 44px);}
body.hl-partner-page .hl-partner-hero {min-height:0;padding:85px 0 105px;}
body.hl-partner-page .hl-partner-hero h1 {font-size:clamp(30px,8.4vw,43px);line-height:1.5;margin-bottom:30px;}
body.hl-partner-page .hl-partner-hero h1 em:after {height:7px;}
body.hl-partner-page .hl-partner-lead {font-size:18px;}
body.hl-partner-page .hl-partner-hero-desc {font-size:13px;}
body.hl-partner-page .hl-partner-section {padding:85px 0;}
body.hl-partner-page .hl-partner-section h2,body.hl-partner-page .hl-partner-final h2 {font-size:30px;}
body.hl-partner-page .hl-partner-problem-grid,body.hl-partner-page .hl-partner-steps {grid-template-columns:1fr;gap:15px;}
body.hl-partner-page .hl-partner-problem {min-height:0;}
body.hl-partner-page .hl-partner-strengths {grid-template-columns:1fr;}
body.hl-partner-page .hl-partner-strengths div {padding:24px 0;border-right:0;border-bottom:1px solid #ddd;}
body.hl-partner-page .hl-partner-strengths div:last-child {border-bottom:0;}
body.hl-partner-page .hl-partner-services-grid {grid-template-columns:1fr;}
body.hl-partner-page .hl-partner-steps {gap:32px;}
body.hl-partner-page .hl-partner-section-copy {font-size:14px;}
body.hl-partner-page .hl-partner-final {padding:85px 0 100px;}
body.hl-partner-page .hl-partner-final p:not(.hl-partner-section-label) {font-size:14px;}
body.hl-partner-page .hl-partner-button {min-width:0;width:100%;gap:8px;padding:17px 22px;font-size:13px;}
}

@media (max-width:767px) { body.hl-about-page .hl-about-content .hl-about-simple .hl-about-contact-link a { min-width:0; width:min(100%,320px); font-size:13px; } }

/* v2.0.3 — Corporate partner LP. Scoped: does not affect homepage, About or Thanks. */
body.hl-partner-page .hl-biz { --biz-yellow:#e9bd16; --biz-ink:#111; --biz-soft:#f8e8a9; color:var(--biz-ink); overflow:hidden; }
body.hl-partner-page .hl-biz .hl-header { max-width:1600px; margin:auto; }
body.hl-partner-page .hl-biz-wrap { width:min(1180px,calc(100% - 112px)); margin:0 auto; }
body.hl-partner-page .hl-biz-hero { background:#fff; min-height:690px; position:relative; padding:105px 0 110px; }
body.hl-partner-page .hl-biz-hero-inner { position:relative; z-index:1; }
body.hl-partner-page .hl-biz-kicker { font:500 11px/1.5 Arial,sans-serif; color:#989898; letter-spacing:.04em; margin:0 0 27px; }
body.hl-partner-page .hl-biz-kicker span { color:#c99f00; }
body.hl-partner-page .hl-biz-hero h1 { position:relative; z-index:2; width:max-content; max-width:100%; font-size:clamp(39px,4.55vw,68px); font-weight:800; letter-spacing:.015em; line-height:1.52; margin:0 0 38px; }
body.hl-partner-page .hl-biz-hero-line { position:relative; white-space:nowrap; }
body.hl-partner-page .hl-biz-hero-line:before { content:''; position:absolute; height:9px; left:0; right:0; bottom:0.05em; background:var(--biz-yellow); z-index:-1; }
body.hl-partner-page .hl-biz-hero-arrow { position:absolute; top:8px; right:-4%; width:min(69%,790px); height:auto; color:var(--biz-yellow); pointer-events:none; z-index:1; }
body.hl-partner-page .hl-biz-hero-copy { font-size:15px; font-weight:500; line-height:2.1; letter-spacing:.025em; color:#696969; margin:0 0 57px; }
body.hl-partner-page .hl-biz-cta { display:inline-flex; align-items:center; justify-content:center; gap:22px; background:var(--biz-yellow); color:#fff!important; border-radius:100px; text-decoration:none; font-size:13px; font-weight:700; padding:14px 28px; min-height:48px; transition:background .2s,transform .2s; }
body.hl-partner-page .hl-biz-cta:hover { background:#c9a20d; transform:translateY(-2px); }
body.hl-partner-page .hl-biz-cta:focus-visible { outline:3px solid #111; outline-offset:4px; }
body.hl-partner-page .hl-biz-media-band { position:relative; width:100%; height:clamp(140px,16vw,250px); overflow:hidden; background:#e3e1da; border-bottom:12px solid var(--biz-yellow); }
body.hl-partner-page .hl-biz-media-band video, body.hl-partner-page .hl-biz-media-band img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 52%; }
body.hl-partner-page .hl-biz-media-empty { background:linear-gradient(110deg,#dadad4 0%,#f0ede2 46%,#d2d2ca 100%); }
body.hl-partner-page .hl-biz-media-placeholder { position:absolute; inset:0; display:grid; place-items:center; font:600 11px Arial,sans-serif; letter-spacing:.24em; color:#9d9d95; }
body.hl-partner-page .hl-biz-yellow { background:#e9bd16; }
body.hl-partner-page .hl-biz-section { position:relative; isolation:isolate; min-height:465px; padding:85px 0; overflow:hidden; background:linear-gradient(106deg,#e9b912 4%,#f6e5a8 100%); }
body.hl-partner-page .hl-biz-section.hl-biz-second { background:linear-gradient(108deg,#f7e9b7 0%,#edc12e 100%); }
body.hl-partner-page .hl-biz-section.hl-biz-fourth { background:linear-gradient(108deg,#fff9e8 0%,#f1d36a 100%); }
body.hl-partner-page .hl-biz-grid { position:relative; display:grid; grid-template-columns:38% 62%; gap:0; align-items:center; min-height:290px; z-index:1; }
body.hl-partner-page .hl-biz-grid-reverse { grid-template-columns:56% 44%; }
body.hl-partner-page .hl-biz-index { position:relative; z-index:2; }
body.hl-partner-page .hl-biz-number { display:block; font:700 clamp(66px,7vw,112px)/.94 Arial,Helvetica,sans-serif; color:#fff; letter-spacing:-.055em; }
body.hl-partner-page .hl-biz-small { display:block; color:#f5f1e4; font:500 10px/1.5 Arial,sans-serif; letter-spacing:.04em; margin:4px 0 7px; }
body.hl-partner-page .hl-biz-small i { color:#cda300; font-style:normal; }
body.hl-partner-page .hl-biz-en { font:800 clamp(38px,4.1vw,64px)/1.16 Arial,Helvetica,sans-serif; letter-spacing:-.04em; color:#111; margin:0; }
body.hl-partner-page .hl-biz-content { position:relative; z-index:2; padding:0 0 0 18px; }
body.hl-partner-page .hl-biz-grid-reverse .hl-biz-content { padding:0 35px 0 0; }
body.hl-partner-page .hl-biz-grid-reverse .hl-biz-index { padding-left:35px; }
body.hl-partner-page .hl-biz-content h2 { font-size:clamp(25px,2.6vw,39px); line-height:1.55; letter-spacing:.01em; font-weight:800; margin:0 0 28px; }
body.hl-partner-page .hl-biz-content p { font-size:clamp(13px,1.08vw,16px); line-height:1.98; font-weight:500; letter-spacing:.015em; margin:0; }
body.hl-partner-page .hl-biz-content p + p { margin-top:22px; }
body.hl-partner-page .hl-biz-shape { position:absolute; pointer-events:none; z-index:0; }
body.hl-partner-page .hl-biz-bars { right:-5%; top:0; width:130px; height:180px; transform:skewX(-13deg); }
body.hl-partner-page .hl-biz-bars span { position:absolute; width:45px; height:150px; right:0; top:0; background:#e7b700; }
body.hl-partner-page .hl-biz-bars span + span { right:60px; top:65px; background:#fff; }
body.hl-partner-page .hl-biz-ring { left:-15%; top:-90px; width:235px; height:235px; border:44px solid #fff; border-radius:50%; opacity:.94; }
body.hl-partner-page .hl-biz-ring:after { content:''; position:absolute; left:45%; top:15%; width:50%; height:65%; background:#f5e6b4; border-radius:50%; }
body.hl-partner-page .hl-biz-dots { left:-7%; bottom:-55px; width:112px; height:90px; background-image:radial-gradient(#d3a400 2px,transparent 2.5px); background-size:18px 18px; }
body.hl-partner-page .hl-biz-circle { right:-11%; top:-72px; width:190px; height:190px; border-radius:50%; background:#fff; }
body.hl-partner-page .hl-biz-circle span { position:absolute; width:32px; height:32px; left:-14px; bottom:35px; border-radius:50%; background:#e6b500; }
body.hl-partner-page .hl-biz-services { margin:18px 0 0; padding:0; max-width:700px; }
body.hl-partner-page .hl-biz-services>div { padding:12px 0 10px; border-top:1px solid rgba(70,70,70,.4); }
body.hl-partner-page .hl-biz-services dt { font:600 13px/1.45 Arial,sans-serif; letter-spacing:.055em; }
body.hl-partner-page .hl-biz-services dd { margin:4px 0 0; font-size:13px; line-height:1.7; }
body.hl-partner-page .hl-biz-fourth { padding-bottom:130px; }
body.hl-partner-page .hl-biz-works-corner { position:absolute; width:370px; height:370px; background:linear-gradient(135deg,#fff 0 45%,#e4b50c 45% 56%,#f0f0ef 56%); left:-210px; bottom:-205px; transform:rotate(0deg); pointer-events:none; }
body.hl-partner-page .hl-biz-contact { padding:120px 0 110px; background:#fff; }
body.hl-partner-page .hl-biz-contact-grid { display:grid; grid-template-columns:46% 54%; gap:45px; align-items:start; }
body.hl-partner-page .hl-biz-contact-intro h2 { font-size:clamp(28px,3vw,43px); font-weight:800; line-height:1.65; margin:0 0 24px; }
body.hl-partner-page .hl-biz-contact-intro>p:not(.hl-biz-kicker) { color:#666; font-size:14px; line-height:2.05; margin:0; }
body.hl-partner-page .hl-biz-trust { display:flex; flex-wrap:wrap; gap:20px; border-top:1px solid #e4e4e4; padding-top:20px; margin-top:50px; color:#555; font-size:12px; }
body.hl-partner-page .hl-biz-trust span:before { content:'✓'; margin-right:8px; font-weight:700; }
body.hl-partner-page .hl-biz-contact-fields .hl-form { margin:0; background:transparent; padding:0; }
body.hl-partner-page .hl-biz-contact-fields .hl-field { margin-bottom:22px; }
body.hl-partner-page .hl-biz-contact-fields .hl-field label { font-size:13px; }
body.hl-partner-page .hl-biz-contact-fields .hl-field input,body.hl-partner-page .hl-biz-contact-fields .hl-field textarea { background:#fff; border:0; border-bottom:1px solid #bbb; border-radius:0; padding:13px 8px; }
body.hl-partner-page .hl-biz-contact-fields .hl-field textarea { min-height:155px; }
body.hl-partner-page .hl-biz-contact-fields .hl-required { background:#111; border-radius:8px; font-size:9px; }
body.hl-partner-page .hl-biz-contact-fields .hl-button { width:min(100%,290px); margin:22px auto 0; }
body.hl-partner-page .hl-biz .hl-footer { border-top:1px solid #eee; padding-top:75px; }
@media(prefers-reduced-motion:reduce) { body.hl-partner-page .hl-biz { scroll-behavior:auto; } }
@media(max-width:900px){
  body.hl-partner-page .hl-biz-wrap { width:calc(100% - 60px); }
  body.hl-partner-page .hl-biz-hero { min-height:560px; padding:95px 0 90px; }
  body.hl-partner-page .hl-biz-hero-arrow { width:60%; top:25px; right:-10%; }
  body.hl-partner-page .hl-biz-grid { grid-template-columns:39% 61%; }
  body.hl-partner-page .hl-biz-grid-reverse { grid-template-columns:54% 46%; }
  body.hl-partner-page .hl-biz-section { min-height:0; padding:70px 0; }
  body.hl-partner-page .hl-biz-contact-grid { gap:25px; }
}
@media(max-width:600px){
  body.hl-partner-page .hl-biz-wrap { width:calc(100% - 44px); }
  body.hl-partner-page .hl-biz-hero { min-height:0; padding:90px 0 80px; }
  body.hl-partner-page .hl-biz-hero h1 { font-size:clamp(27px,7.2vw,40px); line-height:1.65; margin-bottom:25px; }
  body.hl-partner-page .hl-biz-hero-line:before { height:6px; }
  body.hl-partner-page .hl-biz-hero-arrow { width:73%; right:-16%; top:38px; opacity:.85; }
  body.hl-partner-page .hl-biz-hero-copy { font-size:12px; line-height:2; margin-bottom:35px; }
  body.hl-partner-page .hl-biz-cta { font-size:12px; padding:14px 18px; }
  body.hl-partner-page .hl-biz-media-band { height:130px; border-bottom-width:7px; }
  body.hl-partner-page .hl-biz-section { padding:56px 0; }
  body.hl-partner-page .hl-biz-grid,body.hl-partner-page .hl-biz-grid-reverse { display:flex; flex-direction:column; align-items:stretch; gap:24px; min-height:0; }
  body.hl-partner-page .hl-biz-grid-reverse .hl-biz-index { order:0; padding:0; }
  body.hl-partner-page .hl-biz-grid-reverse .hl-biz-content { order:1; padding:0; }
  body.hl-partner-page .hl-biz-content { padding:0; }
  body.hl-partner-page .hl-biz-number { font-size:62px; }
  body.hl-partner-page .hl-biz-en { font-size:36px; }
  body.hl-partner-page .hl-biz-content h2 { font-size:24px; margin-bottom:18px; }
  body.hl-partner-page .hl-biz-content p { font-size:12px; line-height:1.9; }
  body.hl-partner-page .hl-biz-content p br { display:none; }
  body.hl-partner-page .hl-biz-bars { opacity:.45; top:-60px; }
  body.hl-partner-page .hl-biz-ring { opacity:.3; left:auto;right:-28%; }
  body.hl-partner-page .hl-biz-dots { left:auto;right:-5%;bottom:0; }
  body.hl-partner-page .hl-biz-circle { width:110px;height:110px;right:-12%; }
  body.hl-partner-page .hl-biz-services dt { font-size:12px; }
  body.hl-partner-page .hl-biz-services dd { font-size:12px; }
  body.hl-partner-page .hl-biz-contact { padding:75px 0; }
  body.hl-partner-page .hl-biz-contact-grid { display:block; }
  body.hl-partner-page .hl-biz-contact-intro h2 { font-size:27px; }
  body.hl-partner-page .hl-biz-contact-intro>p:not(.hl-biz-kicker) { font-size:12px; }
  body.hl-partner-page .hl-biz-trust { margin-top:25px; margin-bottom:45px; }
  body.hl-partner-page .hl-biz-contact-fields .hl-form { padding:0; }
  body.hl-partner-page .hl-biz-fourth { padding-bottom:95px; }
}

/* v2.0.4 — Visual fidelity corrections based on supplied design artwork.
   All selectors are restricted to the business partner LP. */
body.hl-partner-page .hl-biz { --biz-yellow:#e4b61f; --biz-soft:#f8ecc9; }
body.hl-partner-page .hl-biz-yellow { background:#fff; }
body.hl-partner-page .hl-biz-hero { min-height:795px; padding-top:115px; padding-bottom:140px; }
body.hl-partner-page .hl-biz-hero-arrow { width:min(64%,760px); top:-1px; right:-3%; }
body.hl-partner-page .hl-biz-media-band { height:clamp(175px,21.5vw,330px); border-bottom:26px solid var(--biz-yellow); background:#f5f5f3; }
body.hl-partner-page .hl-biz-media-band.hl-biz-media-empty { background:#f9f9f8; }
body.hl-partner-page .hl-biz-media-placeholder { display:none; }
body.hl-partner-page .hl-biz-media-slot-2,body.hl-partner-page .hl-biz-media-slot-3 { margin-top:26px; }
body.hl-partner-page .hl-biz-media-slot-3 { height:clamp(145px,17vw,255px); border-bottom-width:45px; }
body.hl-partner-page .hl-biz-section { min-height:490px; padding:88px 0; }
body.hl-partner-page .hl-biz-first { margin-bottom:26px; background:linear-gradient(103deg,#e4b61f 0%,#e8c454 48%,#f8ecc9 100%); }
body.hl-partner-page .hl-biz-section.hl-biz-second { background:linear-gradient(105deg,#f9edca 0%,#f3dc91 50%,#e4b61f 100%); }
body.hl-partner-page .hl-biz-section.hl-biz-third { min-height:560px; background:linear-gradient(103deg,#e4b61f 0%,#e8c454 48%,#f8ecc9 100%); }
body.hl-partner-page .hl-biz-section.hl-biz-fourth { min-height:555px; background:linear-gradient(106deg,#faf0d5 0%,#f3d989 55%,#e4b61f 100%); }
body.hl-partner-page .hl-biz-grid { grid-template-columns:34% 66%; }
body.hl-partner-page .hl-biz-grid-reverse { grid-template-columns:52% 48%; }
body.hl-partner-page .hl-biz-content { padding-left:0; }
body.hl-partner-page .hl-biz-grid-reverse .hl-biz-content { padding-left:38px; padding-right:0; }
body.hl-partner-page .hl-biz-grid-reverse .hl-biz-index { padding-left:24px; }
body.hl-partner-page .hl-biz-en { font-size:clamp(39px,4.05vw,62px); }
body.hl-partner-page .hl-biz-content h2 { font-size:clamp(26px,2.5vw,38px); margin-bottom:30px; border:0!important; padding:0!important; box-shadow:none!important; background:none!important; }
body.hl-partner-page .hl-biz-content h2:before,body.hl-partner-page .hl-biz-content h2:after,body.hl-partner-page .hl-biz-contact h2:before,body.hl-partner-page .hl-biz-contact h2:after { content:none!important; display:none!important; }
body.hl-partner-page .hl-biz-content p { line-height:1.9; }
body.hl-partner-page .hl-biz-bars { top:8px; right:0; width:140px; height:165px; }
body.hl-partner-page .hl-biz-bars span { width:47px; height:160px; }
body.hl-partner-page .hl-biz-bars span + span { right:66px; top:55px; }
body.hl-partner-page .hl-biz-ring { left:-11%; top:20px; width:210px; height:210px; border-width:35px; }
body.hl-partner-page .hl-biz-dots { left:-8%; bottom:6px; }
body.hl-partner-page .hl-biz-circle { top:0; right:-5%; }
body.hl-partner-page .hl-biz-services>div { border-top:1px solid rgba(40,40,40,.33); }
body.hl-partner-page .hl-biz-fourth { padding-bottom:145px; }
body.hl-partner-page .hl-biz-works-corner { width:550px; height:370px; left:-5px; bottom:-1px; background:linear-gradient(43deg,#f4f4f4 0 41%,#e4b61f 41% 49%,transparent 49%); }
body.hl-partner-page .hl-biz-contact { padding:135px 0 125px; }
body.hl-partner-page .hl-biz-contact-fields .hl-field input,body.hl-partner-page .hl-biz-contact-fields .hl-field textarea { background:transparent; }
@media (min-width:768px) {
  body.hl-partner-page .hl-biz-media-slot-3.hl-biz-media-set:has(img) img { width:25%; display:inline-block; object-fit:cover; }
}
@media (max-width:1100px) and (min-width:768px) {
  body.hl-partner-page .hl-biz-hero { min-height:690px; }
  body.hl-partner-page .hl-biz-section { min-height:440px; }
  body.hl-partner-page .hl-biz-section.hl-biz-third { min-height:490px; }
  body.hl-partner-page .hl-biz-section.hl-biz-fourth { min-height:490px; }
}
@media (max-width:767px) {
  body.hl-partner-page .hl-biz-hero { min-height:0; padding:95px 0 105px; }
  body.hl-partner-page .hl-biz-hero-arrow { width:70%; right:-20%; top:35px; }
  body.hl-partner-page .hl-biz-media-band { height:145px; border-bottom-width:13px; }
  body.hl-partner-page .hl-biz-media-slot-2,body.hl-partner-page .hl-biz-media-slot-3 { margin-top:16px; }
  body.hl-partner-page .hl-biz-media-slot-3 { height:115px; border-bottom-width:16px; }
  body.hl-partner-page .hl-biz-section,body.hl-partner-page .hl-biz-section.hl-biz-third,body.hl-partner-page .hl-biz-section.hl-biz-fourth { min-height:0; padding:65px 0; }
  body.hl-partner-page .hl-biz-first { margin-bottom:16px; }
  body.hl-partner-page .hl-biz-grid,body.hl-partner-page .hl-biz-grid-reverse { display:flex; flex-direction:column; gap:28px; }
  body.hl-partner-page .hl-biz-grid-reverse .hl-biz-content { padding:0; }
  body.hl-partner-page .hl-biz-grid-reverse .hl-biz-index { padding:0; }
  body.hl-partner-page .hl-biz-en { font-size:36px; }
  body.hl-partner-page .hl-biz-content h2 { font-size:24px; }
  body.hl-partner-page .hl-biz-ring { left:auto;right:-33%;top:0; }
  body.hl-partner-page .hl-biz-dots { left:auto;right:-5%;bottom:10px; }
  body.hl-partner-page .hl-biz-works-corner { width:330px; height:210px; left:-8px; }
  body.hl-partner-page .hl-biz-fourth { padding-bottom:95px!important; }
  body.hl-partner-page .hl-biz-contact { padding:75px 0; }
}

/* Third media strip: four equal image crops as in the supplied composition. */
body.hl-partner-page .hl-biz-media-slot-3 .hl-biz-tiled-images { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; height:100%; gap:8px; background:#e4b61f; }
body.hl-partner-page .hl-biz-media-slot-3 .hl-biz-tiled-images img { display:block; width:100%!important; height:100%; object-fit:cover; }
body.hl-partner-page .hl-biz-works-corner { width:480px; height:290px; bottom:-65px; }
@media(max-width:767px) { body.hl-partner-page .hl-biz-works-corner { width:260px; height:150px; bottom:-25px; } }

/* v2.1.11: Give the note profile its own recognizable footer link. */
.hl-footer-links .hl-note-link { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:7px 11px; margin:-8px -3px; background:#f4f4f4; border:1px solid #dedede; border-radius:999px; color:#161616; font-weight:700; font-size:12px; line-height:1; text-decoration:none; white-space:nowrap; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.hl-footer-links .hl-note-link:hover { background:#f6d344; border-color:#e8b90d; transform:translateY(-2px); }
.hl-footer-links .hl-note-link:focus-visible { outline:2px solid #e8b90d; outline-offset:3px; }
.hl-footer-links .hl-note-icon { display:block; width:19px; height:19px; flex:none; }
.hl-footer-links .hl-note-external { font-size:13px; font-weight:400; }
@media(max-width:700px) { .hl-footer-links .hl-note-link { margin:0; } }
@media(prefers-reduced-motion:reduce) { .hl-footer-links .hl-note-link { transition:none; } }


/* v2.1.13 — About: display the supplied smile image unchanged. */
body.hl-about-page .hl-about-main { position:relative; }
body.hl-about-page .hl-about-content { position:relative; z-index:1; }
body.hl-about-page .hl-about-smile {
  position:absolute; top:clamp(145px,14vw,220px); right:0;
  width:clamp(260px,27vw,365px); pointer-events:none;
}
body.hl-about-page .hl-about-smile img { display:block; width:100%; height:auto; }
@media (min-width:1181px) {
  body.hl-about-page .hl-about-content .hl-about-simple { max-width:min(580px,56%) !important; }
}
@media (max-width:1180px) {
  body.hl-about-page .hl-about-smile { position:relative; top:auto; right:auto; margin:58px auto 0; width:clamp(220px,33vw,290px); }
}
@media (max-width:767px) {
  body.hl-about-page .hl-about-smile { width:185px; margin:58px auto 0; }
}

/* v2.1.14 — Keep the About smile beside the introduction on smartphones.
   Desktop and tablet layouts are unchanged. */
@media (max-width:767px) {
  body.hl-about-page .hl-about-main { position:relative; }
  body.hl-about-page .hl-about-smile {
    position:absolute;
    top:90px;
    right:0;
    width:clamp(94px,25vw,125px);
    margin:0;
    pointer-events:none;
  }
}
@media (max-width:360px) {
  body.hl-about-page .hl-about-smile {
    top:58px;
    width:90px;
  }
}
