/* Editable block layouts. The same stylesheet is loaded in the WordPress editor. */
.kokatsu-content-page>.breadcrumb{padding-top:30px;margin-bottom:20px}.editable-page{overflow:clip}.k-section{max-width:1280px;width:calc(100% - var(--gutter,32px)*2);margin:0 auto;padding:70px 0}.k-page-hero{width:100%;max-width:none;position:relative;background:#e9e5da;margin:0 0 20px;min-height:470px;display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch}.k-page-hero>.wp-block-image{margin:0;min-width:0;grid-column:2;grid-row:1}.k-page-hero>.wp-block-image img{width:100%;height:100%;min-height:470px;object-fit:cover}.k-page-hero>.k-hero-copy{grid-column:1;grid-row:1;padding:65px max(30px,6vw);align-self:center}.k-hero-copy h1{font-family:var(--serif,serif);font-size:clamp(32px,4.5vw,60px);line-height:1.6;letter-spacing:.09em;margin:18px 0}.k-hero-copy p{font-size:18px;line-height:2;max-width:460px}.k-eyebrow{font-size:13px!important;letter-spacing:.22em;color:#8c2526;margin-bottom:18px!important}.k-section h2{font-size:clamp(26px,3vw,40px);letter-spacing:.06em;margin-bottom:25px}.k-section h3{font-size:23px;margin-bottom:18px}.k-section p{line-height:2.1}.k-split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.k-split>.wp-block-group{min-width:0}.k-split>.wp-block-image{margin:0}.k-split>.wp-block-image img{width:100%;aspect-ratio:1.15;object-fit:cover}.k-split .k-vertical{writing-mode:vertical-rl;font-size:34px;margin:0 auto 28px;line-height:1.8}.k-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.k-card{border-top:1px solid #b3b6a7;padding:27px 0 10px}.k-card p{font-size:18px}.k-number{color:#8c2526;font-family:Georgia,serif;font-size:24px!important;line-height:1!important}.k-section .wp-block-buttons{margin-top:28px;display:flex;gap:16px;flex-wrap:wrap}.k-section .wp-block-button__link,.k-hero-copy .wp-block-button__link{display:inline-block;background:#8c2526;color:#fff;border:1px solid #8c2526;border-radius:0;padding:14px 28px;font-size:17px;letter-spacing:.07em;text-decoration:none}.k-section .wp-block-button__link:hover{background:#632122}.k-band{background:#eae6da;padding:45px;text-align:center}.k-overview{border-collapse:collapse;width:100%;overflow-x:auto}.k-overview table{width:100%;border-collapse:collapse}.k-overview td,.k-overview th{padding:19px;border:0;border-bottom:1px solid #d3d2c7;font-size:18px;text-align:left;line-height:1.9}.k-overview td:first-child{width:28%;color:#626859;background:#efede3}.k-overview td:last-child{font-weight:400}.k-facts{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #b9bcaf;padding:30px 0;gap:30px;margin-bottom:40px}.k-fact strong{font:42px Georgia,serif;color:#8c2526;display:block}.k-fact{font-size:16px!important;margin:0}.k-two-cards{grid-template-columns:1fr 1fr}.k-job-card{padding:32px;background:#ebe8de}.k-job-card .wp-block-image{margin:0 0 25px}.k-job-card .wp-block-image img{width:100%;aspect-ratio:1.5;object-fit:cover}.k-timeline{counter-reset:step}.k-step{display:grid;grid-template-columns:100px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid #d3d2c7}.k-step .k-number{margin-top:10px}.k-step h3{margin-bottom:10px;font-size:22px}.k-step p{font-size:18px;margin:0}.k-quote{border-left:2px solid #8c2526;padding-left:30px;font:25px/1.9 var(--serif,serif)}.k-policy{max-width:860px}.k-policy h2{font-size:25px;margin-top:35px}.k-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.k-link-grid p{border-bottom:1px solid #c9cbbb;padding:16px 0;margin:0}.k-link-grid a{display:block;color:#8c2526}.k-faq-item{border-bottom:1px solid #c9cbbb;padding:24px 0}.k-faq-item h3{font-size:19px}.k-faq-item p{font-size:18px;margin-bottom:0}.k-form-wrap{max-width:850px}.k-caption{font-size:14px!important;color:#69715f}.k-notice{border-left:2px solid #8c2526;padding:15px 24px;background:#efebe0;font-size:18px}.hero-background{position:absolute;inset:0;opacity:0;transition:opacity .6s;overflow:hidden;pointer-events:none}.hero-background.is-playing{opacity:1}.hero-background video{width:100%;height:100%;object-fit:cover;object-position:var(--hero-position,65%) center}.hero-background iframe{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,177.78vh);height:max(100%,56.25vw);min-height:100%;min-width:100%;border:0}.demo-image-label{position:absolute;bottom:4px;left:4%;font-size:9px;letter-spacing:.09em;color:white;opacity:.75}.kokatsu-block-editor-note{font-size:16px}.editor-styles-wrapper .k-section{width:95%}.editor-styles-wrapper .k-page-hero{width:100%}.editor-styles-wrapper .k-vertical{writing-mode:horizontal-tb}.editor-styles-wrapper .k-page-hero .block-editor-block-list__layout{width:100%}.k-section .wp-block-shortcode{font:14px monospace}
@media(max-width:900px){.k-cards{gap:20px}.k-page-hero>.k-hero-copy{padding:45px 35px}.k-page-hero{min-height:390px}.k-page-hero>.wp-block-image img{min-height:390px}.k-section{padding:50px 0}.k-cards:not(.k-two-cards){grid-template-columns:1fr}.k-card{padding:24px 0 5px}.k-split{gap:6%}}
@media(max-width:680px){.k-page-hero{display:flex;flex-direction:column-reverse;min-height:0}.k-page-hero>.wp-block-image img{height:260px;min-height:0}.k-page-hero>.k-hero-copy{padding:34px 25px 42px;align-self:stretch}.k-hero-copy h1{font-size:34px}.k-hero-copy p{font-size:12px}.k-section{padding:40px 0}.k-split,.k-cards,.k-two-cards,.k-link-grid{grid-template-columns:1fr;gap:28px}.k-section h2{font-size:27px}.k-section h3{font-size:22px}.k-section p{font-size:14px}.k-split .k-vertical{font-size:29px}.k-split>.wp-block-image img{aspect-ratio:1.3}.k-facts{gap:12px}.k-fact strong{font-size:27px}.k-fact{font-size:10px!important}.k-overview td{padding:13px 10px;font-size:12px;overflow-wrap:anywhere}.k-overview td:first-child{width:30%}.k-step{grid-template-columns:44px 1fr;gap:14px}.k-step h3{font-size:20px}.k-step p{font-size:13px}.k-job-card{padding:24px}.k-band{padding:28px 22px}.k-link-grid{gap:0}.k-faq-item h3{font-size:17px}.k-faq-item p{font-size:13px}.k-section .wp-block-buttons{gap:12px}.hero-background iframe{width:max(100%,177.78svh);height:max(100%,56.25vw)}.k-quote{font-size:21px;padding-left:20px}}
@media(prefers-reduced-motion:reduce){.hero-background{transition:none}}

/* Greeting: editorial message without a large page hero. */
.k-message-head{width:min(calc(100% - var(--gutter,32px)*2),1280px);margin:0 auto;padding:62px 0 52px;border-bottom:1px solid #b9bcaf}
.k-message-head .k-eyebrow{margin-bottom:12px!important}
.k-message-head h1{font-size:clamp(38px,5vw,66px);letter-spacing:.1em;line-height:1.45;margin:0}
.k-message-tagline{font-family:var(--serif,serif);font-size:20px;letter-spacing:.08em;margin:15px 0 0}
.k-message-body{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:clamp(45px,7vw,100px);align-items:start;padding-top:90px;padding-bottom:105px}
.k-message-body>.wp-block-image{margin:0;position:sticky;top:calc(var(--kokatsu-header-height,98px) + var(--kokatsu-admin-offset,0px) + 28px)}
.k-message-body>.wp-block-image img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center}
.k-message-copy{min-width:0}
.k-message-copy h2{font-size:clamp(27px,3vw,40px);margin:28px 0 25px}
.k-message-copy>p:not(.k-message-quote):not(.k-message-signature){font-size:18px;line-height:2.25;margin-bottom:25px}
.k-message-quote{position:relative;border-left:2px solid #8c2526;padding:26px 0 24px 36px;font:500 clamp(27px,3.2vw,43px)/1.7 var(--serif,serif);letter-spacing:.07em;margin:0 0 38px}
.k-message-quote::before{content:"“";position:absolute;top:-26px;left:17px;color:#8c25261b;font:112px/1 Georgia,serif;pointer-events:none}
.k-message-signature{text-align:right;font-size:16px!important;line-height:2;margin:42px 0 0}
.k-message-signature strong{font:500 21px/1.8 var(--serif,serif);letter-spacing:.08em}
.k-message-values{width:100%;max-width:none;padding-inline:max(var(--gutter),calc((100vw - 1280px)/2));background:#25302d;color:#f4f1e8}
.k-message-values .k-eyebrow,.k-message-values .k-number{color:#e46a63}
.k-message-values .k-card{border-color:#ffffff42}
.k-message-cta{width:min(calc(100% - var(--gutter,32px)*2),1000px);margin-block:85px;text-align:center;background:#e9e5da;padding:65px clamp(25px,6vw,75px)}
.k-message-cta .wp-block-buttons{justify-content:center}
@media(max-width:900px){.k-message-body{grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);gap:42px}.k-message-body>.wp-block-image{position:static}.k-message-copy>p:not(.k-message-quote):not(.k-message-signature){font-size:16px}}
@media(max-width:680px){.k-message-head{padding:38px 0 34px}.k-message-head h1{font-size:36px}.k-message-tagline{font-size:14px}.k-message-body{grid-template-columns:1fr;gap:32px;padding-top:48px;padding-bottom:60px}.k-message-body>.wp-block-image img{aspect-ratio:4/3}.k-message-copy h2{font-size:27px}.k-message-copy>p:not(.k-message-quote):not(.k-message-signature){font-size:14px;line-height:2.15}.k-message-quote{font-size:25px;padding:20px 0 18px 22px;margin-bottom:30px}.k-message-quote::before{left:8px;font-size:82px}.k-message-signature strong{font-size:18px}.k-message-cta{width:calc(100% - var(--gutter)*2);margin-block:55px;padding:42px 22px}}

/* Source-content layouts are shared with the block editor. */
.source-page-hero{min-height:220px;display:block;border-bottom:1px solid var(--line);background:linear-gradient(110deg,#ebe6d9,var(--paper))}.source-page-hero>.k-hero-copy{padding:55px var(--gutter);max-width:1470px;margin:auto}.source-page-hero h1{margin:0;font-size:clamp(34px,4vw,54px)}.kokatsu-source-content{max-width:1120px}.kokatsu-source-content>h2{margin-top:60px;border-left:3px solid var(--red);padding-left:20px}.kokatsu-source-content>h2:first-child{margin-top:0}.kokatsu-source-content>.wp-block-table,.kokatsu-source-content>p,.kokatsu-source-content>.wp-block-image,.kokatsu-source-content>iframe,.kokatsu-source-content>.kokatsu-source-gallery{margin-bottom:32px}.kokatsu-source-content>.wp-block-image{max-width:960px;margin-inline:auto}.kokatsu-source-content>p{line-height:2.1}.kokatsu-source-content li{margin-bottom:10px}.kokatsu-source-content a:not(.movie-button){text-underline-offset:4px}.kokatsu-source-content p>a,.kokatsu-source-content td>a,.kokatsu-source-content li>a{text-decoration:underline}.hero-long-title .hero-copy h1{font-size:clamp(30px,3.2vw,48px)}
@media(max-width:680px){.source-page-hero{min-height:160px}.source-page-hero>.k-hero-copy{padding:38px 23px}.source-page-hero h1{font-size:32px}.kokatsu-source-content>h2{margin-top:38px}.hero-long-title .hero-copy h1{font-size:clamp(28px,8vw,37px)}}

/* Complete, editable craft page. */
.k-craft-work>.wp-block-group{align-items:start}
.k-dark-section{width:100%;max-width:none;padding-inline:max(var(--gutter),calc((100vw - 1280px)/2));background:#25302d;color:#f4f1e8}
.k-dark-section .k-card{border-color:#ffffff42}
.k-dark-section .k-number,.k-dark-section .k-eyebrow{color:#e46a63}
.k-craft-projects{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:auto auto;gap:20px 60px;align-items:center}
.k-craft-projects>.wp-block-group{grid-column:1;grid-row:1}
.k-craft-projects>.wp-block-image{grid-column:2;grid-row:1/3;margin:0}
.k-craft-projects>.wp-block-image img{width:100%;min-height:390px;object-fit:cover}
.k-craft-projects>.wp-block-buttons{grid-column:1;grid-row:2;align-self:start}
.k-craft-cta{width:100%;max-width:none;padding-inline:max(var(--gutter),calc((100vw - 900px)/2));background:#8c2526;color:#fff;text-align:center}
.k-craft-cta .k-eyebrow{color:#ffd8d2}
.k-craft-cta .wp-block-buttons{justify-content:center}
.k-craft-cta .wp-block-button__link{background:#fff;border-color:#fff;color:#6b2021}
.k-craft-cta .wp-block-button__link:hover{background:#f2e9e3;color:#56191a}
@media(max-width:900px){
    .k-craft-projects{grid-template-columns:1fr;grid-template-rows:auto;gap:24px}
    .k-craft-projects>.wp-block-group,.k-craft-projects>.wp-block-image,.k-craft-projects>.wp-block-buttons{grid-column:1;grid-row:auto}
    .k-craft-projects>.wp-block-image img{min-height:300px}
}
