/* QUALITIA / editorial interiors. The existing TOP positioning stays untouched. */
.qs-arrow-icon { display:inline-block; width:1em; height:1em; flex:none; vertical-align:-.12em; }
.qs-page .qp-header { position: relative; padding-bottom: 54px; }
.qs-page .qp-navigation a[aria-current=page] { border-bottom:1px solid #9a9a94; padding-bottom:6px; }
.qs-page .qp-menu-toggle { display:none; }
.qs-main { padding-top:48px; }
.qs-breadcrumb { display:flex; flex-wrap:wrap; gap:13px; color:#777; font-size:10px; line-height:1.9; }
.qs-breadcrumb > :last-child { color:#333; overflow-wrap:anywhere; }
.qs-page-head { display:grid; grid-template-columns:20% 1fr; gap:0; padding:72px 0 88px; }
.qs-eyebrow { font-size:11px !important; line-height:1.8; letter-spacing:.07em; }
.qs-page-head > .qs-eyebrow { padding-top:20px; }
.qs-page-head h1 { font-family:'Cormorant Garamond',var(--japanese),serif; font-weight:400; font-size:clamp(48px,6.7vw,104px); line-height:1.15; letter-spacing:-.035em; overflow-wrap:anywhere; }
.qs-title-period { color:#969687; }
.qs-page-head--detail h1 { font-size:clamp(28px,4.2vw,66px); line-height:1.6; letter-spacing:0; }
.qs-page-head .qs-page-lead { margin-top:30px; font-size:clamp(17px,1.6vw,23px); line-height:2.05; letter-spacing:.08em; }
.qs-head-note { margin-top:24px !important; font-size:12px; line-height:2.2; color:#666; }
.qs-article-date { display:block; margin-top:24px; font-size:11px; color:#777; }
.qs-wide-image { width:100%; overflow:hidden; background:#ededeb; }
.qs-wide-image img { width:100%; height:100%; object-fit:cover; }
.qs-service-hero { aspect-ratio:2.35; }
.qs-service-hero img { object-position:center top; }
.qs-work-hero { aspect-ratio:2.15; }
.qs-section { margin-top:130px; }
.qs-split { display:grid; grid-template-columns:25.6% minmax(0,1fr); }
.qs-split > .qs-eyebrow { padding-top:8px; }
.qs-reading { max-width:720px; }
.qs-reading p { font-size:13px; line-height:2.5; letter-spacing:.05em; }
.qs-reading p + p { margin-top:24px; }
.qs-reading .qp-more { margin-top:32px; }
.qs-subhead { font-size:clamp(20px,2vw,28px) !important; line-height:1.9; margin-bottom:32px !important; }
.qs-inline-links { display:flex; flex-wrap:wrap; gap:24px 40px; align-items:baseline; }
.qs-filters { display:flex; flex-wrap:wrap; gap:20px 36px; border-bottom:1px solid #dededa; padding:0 0 22px; margin-bottom:45px; font-size:12px; }
.qs-filters a { color:#777; position:relative; padding:8px 0; }
.qs-filters a[aria-current=page] { color:#222; }
.qs-filters a[aria-current=page]::after { content:''; position:absolute; bottom:0; left:0; width:100%; height:1px; background:currentColor; }
.qs-works-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:65px 5%; }
.qs-work-card figure { position:relative; aspect-ratio:1.55; background:#e8e8e3; overflow:hidden; }
.qs-work-card img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.qs-work-card { scroll-margin-top:35px; }
.qs-work-card--web img { object-position:top; }
.qs-work-open { display:block; width:100%; height:100%; text-align:left; }
.qs-work-open:focus-visible { outline:2px solid #45493d; outline-offset:-4px; }
.qs-work-open:is(:hover,:focus-visible) img { transform:scale(1.025); }
.qs-card-arrow { position:absolute; right:18px; bottom:16px; width:33px; height:33px; border-radius:50%; display:grid; place-items:center; background:#fafafaed; font-family:Arial,sans-serif; font-size:18px; transition:transform .3s; }
.qs-work-open:is(:hover,:focus-visible) .qs-card-arrow { transform:scale(1.08); }
.qs-card-meta { display:flex; justify-content:space-between; gap:15px; margin-top:19px; align-items:baseline; }
.qs-card-meta h2 { font-size:15px; line-height:1.8; }
.qs-card-meta > span { flex-shrink:0; font-size:9px; color:#6b6b64; }
.qs-work-card p { margin-top:4px; font-size:10px; color:#777; }
.qs-list-note { padding-top:65px; display:flex; justify-content:space-between; gap:25px; }
.qs-list-note p, .qs-sample-note { color:#666; font-size:11px; }
.qs-sample-note { margin-bottom:35px !important; line-height:2; }
.qs-sample-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:50px 4%; }
.qs-sample-grid figure { aspect-ratio:4/5; }
.qs-sample-grid img { object-position:top; }
.qs-sample-grid .qs-card-meta { display:block; }
.qs-sample-full { width:min(800px,100%); margin:0 auto !important; background:#eee; }
.qs-sample-full img { width:100%; }
.qs-empty { padding:70px 0; text-align:center; color:#777; }
.qs-section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:25px; margin-bottom:35px; }
.qs-section-heading h2 { font-size:24px; }
.qs-section-heading > span { font-size:11px; color:#777; }
.qs-facts { margin:35px 0 0; font-size:12px; }
.qs-facts > div { display:grid; grid-template-columns:120px 1fr; padding:18px 0; border-top:1px solid #dededa; }
.qs-facts dt { color:#777; font-size:10px; }
.qs-facts dd { margin:0; }
.qs-project-media { margin-top:80px; }
.qs-project-media > figure + figure { margin-top:55px; }
.qs-project-media figcaption { font-size:11px; color:#666; padding-top:15px; }
.qs-film { width:100%; aspect-ratio:16/9; background:#171917; object-fit:contain; }
.qs-web-capture { background:#f0f0ec; padding:5%; }
.qs-web-capture img { width:min(100%,1040px); height:auto; margin:0 auto; box-shadow:0 10px 40px #0000000c; }
.qs-detail-links { display:flex; justify-content:space-between; gap:25px; margin-top:65px; }
.qs-service-index { display:grid; gap:95px; }
.qs-service-feature { display:grid; grid-template-columns:52% 1fr; gap:7%; align-items:center; }
.qs-service-feature figure { aspect-ratio:1.18; overflow:hidden; background:#e8e8e3; }
.qs-service-feature img { width:100%; height:100%; object-fit:cover; transition:transform .8s; }
.qs-service-feature:hover img { transform:scale(1.025); }
.qs-service-copy h2 { font-size:clamp(26px,3.3vw,46px); line-height:1.4; margin:20px 0 25px; letter-spacing:-.03em; }
.qs-service-copy h3 { font-size:16px; line-height:2; margin-bottom:15px; }
.qs-service-copy p { max-width:390px; font-size:12px; line-height:2.3; color:#666; }
.qs-service-copy .qp-more { margin-top:35px; }
.qs-service-feature:nth-child(even) { grid-template-columns:1fr 52%; }
.qs-service-feature:nth-child(even) figure { grid-column:2; grid-row:1; }
.qs-service-feature:nth-child(even) .qs-service-copy { grid-column:1; grid-row:1; }
.qs-numbered-list article { display:grid; grid-template-columns:65px 1fr; border-top:1px solid #dededa; padding:32px 0 38px; }
.qs-numbered-list article > span { font-size:11px; color:#777; padding-top:4px; }
.qs-numbered-list h3, .qs-process h3 { font-size:18px; line-height:1.9; margin-bottom:14px; }
.qs-numbered-list p, .qs-process p { font-size:12px; line-height:2.35; max-width:660px; color:#555; }
.qs-capabilities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 8%; }
.qs-capabilities article { padding-top:24px; border-top:1px solid #dededa; }
.qs-capabilities h3 { font-size:16px; line-height:1.9; margin-bottom:14px; }
.qs-capabilities p { font-size:12px; line-height:2.2; color:#555; }
.qs-process { list-style:none; margin:0; padding:0; }
.qs-process li { display:grid; grid-template-columns:65px 1fr; gap:0; padding:0 0 38px; }
.qs-process li + li { padding-top:28px; border-top:1px solid #dededa; }
.qs-process li > span { font-size:11px; padding-top:6px; color:#777; }
.qs-faq details { border-top:1px solid #dededa; }
.qs-faq details:last-child { border-bottom:1px solid #dededa; }
.qs-faq summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; padding:27px 0; font-size:13px; }
.qs-faq summary::-webkit-details-marker { display:none; }
.qs-faq summary span { font-family:Arial,sans-serif; font-size:20px; font-weight:300; }
.qs-faq details[open] summary span { transform:rotate(45deg); }
.qs-faq details p { margin-bottom:27px; padding-right:35px; font-size:12px; color:#555; line-height:2.3; }
.qs-about-intro { display:grid; grid-template-columns:56% 1fr; gap:12%; align-items:center; }
.qs-about-intro figure { aspect-ratio:1.12; overflow:hidden; }
.qs-about-intro img { width:100%; height:100%; object-fit:cover; }
.qs-art { font-size:clamp(35px,5vw,70px) !important; line-height:1.25; letter-spacing:-.025em; }
.qs-about-poem { margin-top:40px !important; font-size:15px !important; line-height:2.2; }
.qs-journal-list article { border-top:1px solid #dededa; }
.qs-journal-list article:last-child { border-bottom:1px solid #dededa; }
.qs-journal-list a { display:grid; grid-template-columns:17% 13% 1fr 28px; align-items:center; gap:4%; padding:32px 0; }
.qs-journal-list figure { aspect-ratio:1.5; overflow:hidden; background:#eeeee9; }
.qs-journal-list img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.qs-journal-list a:hover img { transform:scale(1.03); }
.qs-journal-list time { color:#777; font-size:11px; }
.qs-journal-list .qs-eyebrow { color:#777; }
.qs-journal-list h2 { font-size:17px; line-height:1.9; margin-top:10px; }
.qs-journal-arrow { font-family:Arial,sans-serif; font-size:22px; }
.qs-pagination { display:flex; flex-wrap:wrap; gap:20px; margin-top:40px; justify-content:center; }
.qs-pagination .current { border-bottom:1px solid; }
.qs-article-content { max-width:800px; margin:0 auto; font-size:14px; line-height:2.4; }
.qs-article-content img { width:100%; height:auto; }
.qs-article-content figure { margin-bottom:45px; }
.qs-article-content p { margin:24px 0; }
.qs-article-content a { text-decoration:underline; text-underline-offset:4px; }
.qs-article-content iframe { max-width:100%; }
.qs-company-table { margin:0; }
.qs-company-table > div { display:grid; grid-template-columns:22% 1fr; gap:5%; padding:27px 0; border-top:1px solid #dededa; font-size:13px; line-height:2.2; }
.qs-company-table > div:last-child { border-bottom:1px solid #dededa; }
.qs-company-table dt { font-size:12px; color:#666; }
.qs-company-table dd { margin:0; }
.qs-members { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:75px 7%; }
.qs-members figure { aspect-ratio:1.4; overflow:hidden; margin-bottom:30px; background:#eee; }
.qs-members img { width:100%; height:100%; object-fit:cover; }
.qs-members h2 { font-size:20px; line-height:1.9; margin-bottom:22px; }
.qs-members p { color:#555; font-size:12px; line-height:2.4; }
.qs-legal { max-width:780px; margin-left:25.6%; font-size:13px; line-height:2.4; }
.qs-legal section { margin-top:45px; }
.qs-legal h2 { font-size:19px; margin-bottom:20px; }
.qs-contact-form { border-top:1px solid #dededa; padding-top:55px; }
.qs-contact-aside > p { margin-top:24px; font-size:18px; line-height:2; }
.qs-contact-aside small { display:block; color:#666; font-size:10px; line-height:2.2; margin-top:30px; }
.qs-contact-aside .qs-local-note { font-size:10px; color:#777; line-height:2; margin-right:25px; }
.qs-form-wrap { max-width:810px; }
.qs-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 7%; }
.qs-field-wide { grid-column:1/-1; }
.qs-field label { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:12px; font-size:12px; }
.qs-field label span { font-size:9px; color:#777; }
.qs-field :is(input,select,textarea) { display:block; width:100%; min-height:48px; padding:12px 14px; border:1px solid #d5d5ce; border-radius:0; background:#f7f7f3; color:#222; font:inherit; font-size:13px; letter-spacing:.02em; }
.qs-field :is(input,select,textarea):focus { outline:1px solid #67675c; outline-offset:2px; }
.qs-field :is(input,textarea)::placeholder { color:#818178; font-size:12px; }
.qs-field textarea { min-height:190px; resize:vertical; }
.qs-field br, .qs-form-submit br { display:none; }
.qs-field .wpcf7-form-control-wrap { display:block; }
.qs-consent { margin-top:35px; font-size:11px; line-height:2; }
.qs-consent input { margin:0 12px 0 0; width:17px; height:17px; accent-color:#45493d; }
.qs-consent .wpcf7-list-item { margin:0; }
.qs-consent a { text-decoration:underline; text-underline-offset:4px; }
.qs-form-submit { margin-top:30px; }
.qs-form-submit input { padding:21px 35px; min-width:260px; border:1px solid #333; border-radius:0; background:#33392e; color:#fff; font:inherit; font-size:12px; cursor:pointer; transition:background .2s; }
.qs-form-submit input:hover { background:#4e5747; }
.qs-form-submit input:disabled { opacity:.45; cursor:not-allowed; }
.qs-form-wrap .wpcf7-not-valid-tip { font-size:11px; margin-top:7px; }
.qs-form-wrap .wpcf7-response-output { margin:28px 0; padding:15px; font-size:12px; }
.qs-contact-cta { display:grid; grid-template-columns:25.6% 1fr auto; gap:0; align-items:start; margin-top:155px; padding:65px 0 30px; border-top:1px solid #bfbfb6; }
.qs-contact-cta > .qs-eyebrow { padding-top:7px; }
.qs-contact-cta h2 { font-size:clamp(21px,2.1vw,30px); line-height:2; }
.qs-contact-cta p:not(.qs-eyebrow) { font-size:11px; line-height:2.2; color:#666; margin-top:22px; }
.qs-contact-link { display:block; font-size:38px; line-height:1.5; margin-top:4px; }
.qs-contact-link > span { display:inline-block; font-family:Arial,sans-serif; margin-left:24px; font-size:30px; transition:transform .3s; }
.qs-contact-link:hover > span { transform:translate(4px,-4px); }
.qs-contact-link small { display:block; font-size:10px; margin-top:12px; }
.qs-page .qp-footer { margin-top:120px; }
.qp-service-grid.qp-service-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.qp-service-grid--two .qp-service img { height:auto; aspect-ratio:1.7; }
@media(min-width:1650px) { .qs-main { max-width:1600px; } }
@media(max-width:1000px) {
  .qs-split { grid-template-columns:22% minmax(0,1fr); }
  .qs-page-head { grid-template-columns:22% 1fr; }
  .qs-contact-cta { grid-template-columns:22% 1fr; row-gap:35px; }
  .qs-contact-link { grid-column:2; }
  .qs-legal { margin-left:22%; }
  .qs-service-feature { gap:5%; }
}
@media(max-width:600px) {
  .qs-page .qp-header { padding-bottom:28px; }
  .qs-page .qp-navigation { display:none; }
  .qs-page .qp-menu-toggle { display:block; }
  .qs-page .qp-menu-toggle::before { content:''; position:absolute; inset:-6px; background:#fafafae8; z-index:-1; }
  .qs-main { padding-top:32px; }
  .qs-breadcrumb { font-size:9px; gap:10px; }
  .qs-page-head { display:block; padding:44px 0 50px; }
  .qs-page-head > .qs-eyebrow { padding:0; margin-bottom:23px; font-size:10px !important; }
  .qs-page-head h1 { font-size:clamp(40px,10vw,59px); line-height:1.25; }
  .qs-page-head--detail h1 { font-size:28px; line-height:1.6; }
  .qs-page-head .qs-page-lead { font-size:17px; margin-top:24px; }
  .qs-head-note { font-size:11px; }
  .qs-section { margin-top:75px; }
  .qs-split { display:block; }
  .qs-split > .qs-eyebrow { margin-bottom:30px; padding:0; }
  .qs-subhead { font-size:21px !important; margin-bottom:22px !important; }
  .qs-reading p { font-size:12px; line-height:2.4; }
  .qs-service-hero { aspect-ratio:1.3; }
  .qs-work-hero { aspect-ratio:1.45; }
  .qs-filters { gap:12px 24px; font-size:10px; padding-bottom:16px; margin-bottom:28px; }
  .qs-works-grid { grid-template-columns:1fr; gap:40px; }
  .qs-card-meta { margin-top:14px; }
  .qs-card-meta h2 { font-size:14px; }
  .qs-work-card p { font-size:10px; }
  .qs-sample-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 6%; }
  .qs-sample-grid .qs-card-meta h2 { font-size:12px; }
  .qs-card-arrow { width:28px; height:28px; right:12px; bottom:12px; }
  .qs-sample-note { font-size:10px; }
  .qs-list-note { display:block; padding-top:45px; }
  .qs-list-note a { margin-top:18px; }
  .qs-section-heading h2 { font-size:21px; }
  .qs-project-media { margin-top:45px; }
  .qs-facts > div { grid-template-columns:95px 1fr; }
  .qs-detail-links { margin-top:40px; }
  .qs-service-index { gap:65px; }
  .qs-service-feature, .qs-service-feature:nth-child(even) { display:block; }
  .qs-service-feature figure { aspect-ratio:1.4; }
  .qs-service-copy { padding-top:25px; }
  .qs-service-copy h2 { font-size:32px; margin:12px 0 20px; }
  .qs-service-copy h3 { font-size:15px; }
  .qs-service-copy .qp-more { margin-top:23px; }
  .qs-numbered-list article { grid-template-columns:38px 1fr; padding:24px 0 28px; }
  .qs-numbered-list h3, .qs-process h3 { font-size:16px; }
  .qs-numbered-list p, .qs-process p { font-size:11px; }
  .qs-capabilities { grid-template-columns:1fr; gap:27px; }
  .qs-capabilities article { padding-top:20px; }
  .qs-capabilities p { font-size:11px; }
  .qs-process li { grid-template-columns:38px 1fr; }
  .qs-faq summary { padding:22px 0; font-size:12px; }
  .qs-faq details p { font-size:11px; }
  .qs-about-intro { grid-template-columns:1fr; gap:32px; }
  .qs-about-intro figure { aspect-ratio:1.3; }
  .qs-about-intro > div { padding-left:15%; }
  .qs-art { font-size:45px !important; }
  .qs-about-poem { margin-top:25px !important; font-size:14px !important; }
  .qs-journal-list a { grid-template-columns:27% 1fr 16px; gap:8px 6%; padding:25px 0; }
  .qs-journal-list figure { grid-row:1/3; aspect-ratio:1; }
  .qs-journal-list time { grid-column:2; font-size:9px; }
  .qs-journal-list a > div { grid-column:2; }
  .qs-journal-list h2 { font-size:13px; margin-top:5px; }
  .qs-journal-list .qs-eyebrow { font-size:9px !important; }
  .qs-journal-arrow { grid-column:3; grid-row:1/3; font-size:19px; }
  .qs-article-content { font-size:12px; }
  .qs-company-table > div { grid-template-columns:24% 1fr; padding:22px 0; font-size:12px; }
  .qs-company-table dt { font-size:11px; }
  .qs-members { grid-template-columns:1fr; gap:50px; }
  .qs-members h2 { font-size:19px; }
  .qs-legal { margin:0; font-size:12px; }
  .qs-legal h2 { font-size:17px; }
  .qs-contact-form { padding-top:30px; }
  .qs-contact-aside > p { display:none; }
  .qs-contact-aside small { margin-top:18px; }
  .qs-contact-aside .qs-local-note { display:block; margin-top:12px; }
  .qs-form-wrap { margin-top:35px; }
  .qs-form-grid { grid-template-columns:1fr; gap:27px; }
  .qs-field :is(input,select,textarea) { font-size:16px; }
  .qs-form-submit input { width:100%; padding-inline:15px; min-width:0; }
  .qs-contact-cta { grid-template-columns:1fr; gap:25px; margin-top:85px; padding-top:38px; }
  .qs-contact-cta h2 { font-size:21px; }
  .qs-contact-link { grid-column:1; font-size:34px; margin-top:4px; }
  .qs-contact-link small { margin-top:5px; }
  .qs-page .qp-footer { margin-top:85px; }
}
@media(prefers-reduced-motion:reduce) { .qs-page *, .qs-page *::before, .qs-page *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
