/*
Theme Name: T&S ISSUE Child
Template: issue_tcd106
Version: 1.0.0
Description: T&S corporate site using ISSUE v1.15 with preserved company content and site functions.
*/
/* Keep ISSUE geometry and typography. Only branding and missing-media treatment. */
#header_logo img { width:40px; height:40px; object-fit:contain; }
#header_logo .logo_image.type2 { filter:invert(1); }
#header_slider .ts-issue-empty-media { background:#252525; }
.ts-issue-review-note { padding:35px 40px; background:#fff; color:#333; line-height:1.9; font-size:14px; }
.ts-issue-review-note strong { display:block; margin-bottom:8px; font-size:16px; }
.ts-issue-review-note a { text-decoration:underline; }
#drawer_menu_button:focus-visible, #drawer_menu_close_button:focus-visible { outline:3px solid #fff; outline-offset:-6px; }
@media(max-width:650px) {
  #header_logo img { width:30px; height:30px; }
  .ts-issue-review-note { padding:25px; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:0.01ms !important; animation-delay:0ms !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
  #header_slider_content .catch .item { opacity:1 !important; filter:none !important; transform:none !important; }
  #header_slider_content .desc { opacity:1 !important; }
  #header_slider .item-inner { transform:none !important; }
}

/* ISSUE extensions: corporate data and the original form, with parent spacing. */
.cb_design_header .sub_title { line-height:1.7; }
.ts-copy p,.ts-message-copy p { margin:0 0 1.5em; }
.ts-representative { margin-top:50px !important; text-align:right; }
.ts-editorial-photo { display:block; width:100%; max-width:100%; height:auto; margin:0 auto 50px; object-fit:cover; }
.ts-service-list .content { min-height:155px; height:auto; padding:32px 40px; }
.ts-service-list .title { margin:10px 0 0 !important; font-size:20px !important; }
.ts-service-en { margin:0 !important; font-family:Arial,sans-serif; font-size:13px; line-height:1.6; letter-spacing:.08em; }
.ts-service-list p { line-height:1.6; }
.ts-service-list .category { min-width:90px; }
.ts-service-detail { padding:0 0 70px; margin-bottom:70px; border-bottom:1px solid #ddd; scroll-margin-top:100px; }
.ts-service-detail:last-child { margin-bottom:0; }
.ts-service-detail h2 { margin:20px 0 35px; }
.ts-empty { padding:70px 0; text-align:center; }
.ts-pagination { margin-top:65px; text-align:center; }
.ts-pagination .page-numbers { display:inline-block; padding:12px; }
.company-table { margin:50px 0 0; }
.company-table__row { display:grid; grid-template-columns:180px 1fr; gap:30px; padding:28px 0; border-bottom:1px solid #ddd; line-height:1.9; }
.company-table__label { font-weight:600; }
.company-table__value { margin:0; }
.philosophy { margin-bottom:100px; }
.philosophy__header h2 { margin-top:25px; }
.contact-form { margin:40px auto 0; }
.contact-form__row { display:grid; grid-template-columns:220px 1fr; gap:30px; padding:25px 0; border-bottom:1px solid #ddd; }
.contact-form__row label { font-weight:600; }
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea { width:100%; min-width:0; border:1px solid #ccc; border-radius:0; padding:13px; font:inherit; line-height:1.6; background:#fafafa; color:#111; }
.contact-form__required { display:inline-block; margin-left:8px; font-size:11px; font-weight:400; }
.contact-form__row--checkbox { display:block; padding:35px 0; text-align:center; }
.contact-form__row--checkbox label { display:flex; justify-content:center; gap:12px; align-items:baseline; }
.contact-form__row--checkbox input { flex-shrink:0; }
.contact-form__submit { display:block; margin:50px auto 0; min-width:280px; padding:20px 30px; background:#000; color:#fff; border:0; border-radius:50px; font:inherit; cursor:pointer; transition:background .3s; }
.contact-form__submit:hover { background:#555; }
.contact-form__honeypot { position:absolute !important; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-notice { padding:25px; border:1px solid #222; }
.form-notice--error { border-color:#a32929; color:#8b1717; }
.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible { outline:2px solid #111; outline-offset:3px; }
.ts-skip-link { position:fixed; top:8px; left:8px; z-index:100000; padding:15px 20px; background:#fff; color:#111; transform:translateY(-200%); }
.ts-skip-link:focus { transform:translateY(0); }
#footer_logo img { width:40px; height:40px; object-fit:contain; filter:invert(1); }
#drawer_menu a[aria-current=page] .title { text-decoration:underline; text-underline-offset:7px; }
img[src*="/img/no_image"] { visibility:hidden; }
.blog_list .image_wrap { background:#eee; }
#contact .content .desc,.ts-contact-banner .content .desc { justify-content:center; text-align:center; }
@media(max-width:1100px) {
 .ts-service-list,.ts-work-list { width:calc(100% - 80px); }
}
@media(max-width:800px) {
 .ts-service-list,.ts-work-list { width:100%; }
 .ts-service-list .content { padding:25px; min-height:145px; }
 .company-table__row { grid-template-columns:120px 1fr; gap:20px; padding:22px 0; }
 .contact-form__row { grid-template-columns:1fr; gap:12px; }
 .philosophy { margin-bottom:65px; }
}
@media(max-width:650px) {
 .ts-service-list .item,.ts-work-list .item { width:100%; margin:0 0 25px; }
 .ts-service-list .content { min-height:115px; }
 .company-table__row { display:block; }
 .company-table__label { margin-bottom:10px; }
 .contact-form__submit { min-width:0; width:100%; }
 .ts-service-detail { padding-bottom:45px; margin-bottom:45px; }
}
@media(prefers-reduced-motion:reduce) {
 .inview,.inview .item,.blog_list .item,#archive_blog .blog_list .item { opacity:1 !important; transform:none !important; }
 .scroll_content { height:auto !important; }
 .scroll_content_inner { position:relative !important; height:auto !important; overflow:visible; }
 .scroll_content_section,.scroll_content_section:not(.active) { position:relative; min-height:60svh; height:auto; padding:100px 30px; opacity:1; pointer-events:auto; }
 .scroll_content_section .content { opacity:1 !important; }
 .scroll_content_nav,.scroll_content_spacer { display:none; }
}
/* Use the parent's two-column archive proportions, not its offset carousel track. */
#content_builder .ts-service-list,#content_builder .ts-work-list { width:960px; max-width:calc(100% - 80px); margin:0 auto; flex-wrap:wrap; }
#content_builder .ts-service-list .item,#content_builder .ts-work-list .item { width:calc(50% - 20px); margin:0 40px 40px 0; }
#content_builder .ts-service-list .item:nth-child(2n),#content_builder .ts-work-list .item:nth-child(2n) { margin-right:0; }
.ts-service-list a,.ts-work-list a { color:inherit; text-decoration:none; border-bottom:0; }
@media(max-width:650px) {
 #content_builder .ts-service-list,#content_builder .ts-work-list { max-width:calc(100% - 40px); }
 #content_builder .ts-service-list .item,#content_builder .ts-work-list .item { width:100%; margin:0 0 25px; }
}
@media(max-width:650px) {
 #index_header_bg_video,.alt_image img { object-position:66% center; }
}
@media(prefers-reduced-motion:reduce) {
 #index_header_bg_video { display:none !important; }
 #header_slider .alt_image { display:block !important; }
}

/* Requested page structure and explicit contact action. */
#contact.cb_free_space { padding:0; }
#contact.cb_free_space > .post_content { width:100%; max-width:none; margin:0; }
.ts-contact-banner .link_button { margin-top:30px; }
.ts-contact-banner .ts-contact-button { background:#000; color:#fff; border:1px solid #000; text-decoration:none; }
.ts-contact-banner .ts-contact-button:hover { background:#222; color:#fff; }
#service .scroll_content_section .headline { font-size:clamp(32px,5vw,70px); overflow-wrap:normal; }
@media(max-width:650px) { #service .scroll_content_section .headline { font-size:32px; } }

/* Text wordmark; the original symbol remains the browser site icon. */
#header_logo .ts-wordmark,#footer_logo .ts-wordmark { font-family:Arial,"Helvetica Neue",sans-serif; font-weight:700; letter-spacing:.025em; font-size:30px; line-height:1; white-space:nowrap; }
@media(max-width:650px) { #header_logo .ts-wordmark { font-size:24px; } }

/* Keep service actions readable against the four photographic backgrounds. */
#service .link_button .design_button { background:rgba(255,255,255,.8); color:#000; border-color:rgba(255,255,255,.8); }
#service .link_button .design_button:hover,#service .link_button .design_button:focus-visible { background:#fff; color:#000; border-color:#fff; }

#service .link_button .design_button { color:#000 !important; }

/* Editorial serif wordmark with a lighter, more refined silhouette. */
#header_logo .ts-wordmark,#footer_logo .ts-wordmark {
 font-family:"Bodoni MT","Didot","Times New Roman","Yu Mincho",serif;
 font-weight:400;
 letter-spacing:.045em;
 font-size:34px;
}
@media(max-width:650px) { #header_logo .ts-wordmark { font-size:28px; } }

/* Journal typography: quiet rules and a restrained green accent. */
.single-post #main_col .post_content h2 {
 background:transparent; color:#111; border:0; border-bottom:1px solid #d6d8d4;
 border-left:3px solid #123c32; padding:10px 0 16px 20px;
 margin:64px 0 28px; font-size:clamp(22px,2.2vw,28px); line-height:1.6; box-shadow:none;
}
.single-post #main_col .post_content h3 {
 background:transparent; color:#111; border:0; padding:0 0 12px;
 margin:44px 0 22px; font-size:clamp(19px,1.8vw,23px); line-height:1.6;
 border-bottom:1px solid #d6d8d4; box-shadow:none;
}
.single-post #main_col .post_content h4 {
 background:transparent; color:#123c32; border:0; padding:0;
 margin:32px 0 16px; font-size:18px; line-height:1.7; font-weight:700; box-shadow:none;
}
.ts-journal-sidebar section { margin-bottom:48px; }
.ts-journal-sidebar .ts-sidebar-heading { font-size:16px; letter-spacing:.08em; line-height:1.6; padding:0 0 16px; margin:0 0 20px; border-bottom:1px solid #111; }
.ts-sidebar-heading span { display:block; font-size:12px; letter-spacing:.04em; font-weight:400; margin-top:5px; color:#666; }
.ts-sidebar-search form { display:flex; border:1px solid #ccc; }
.ts-sidebar-search input[type=search] { width:100%; min-width:0; border:0; border-radius:0; background:#fff; padding:14px 12px; font:inherit; font-size:14px; }
.ts-sidebar-search button { flex-shrink:0; border:0; border-radius:0; padding:0 16px; background:#111; color:#fff; font:inherit; font-size:13px; cursor:pointer; }
.ts-sidebar-recent ul { list-style:none; padding:0; margin:0; }
.ts-sidebar-recent li { border-bottom:1px solid #ddd; }
.ts-sidebar-recent a { display:block; padding:18px 0; color:#111; font-size:14px; line-height:1.8; }
.ts-sidebar-recent a:hover { color:#123c32; }
.ts-sidebar-recent time { display:block; font-size:11px; color:#777; letter-spacing:.06em; margin-bottom:7px; }
@media(max-width:650px) { .single-post #main_col .post_content h2 { margin-top:44px; padding-left:14px; } }

.ts-sidebar-recent a { display:flex; align-items:flex-start; gap:14px; }
.ts-recent-thumb { display:block; flex:0 0 84px; overflow:hidden; }
.ts-recent-thumb img { display:block; width:84px; height:64px; object-fit:cover; }
.ts-recent-text { display:block; min-width:0; }
