/*
Theme Name: DOME TENT LAB
Description: 既存ドームテントの補修・交換・メンテナンス向けテーマ。問い合わせフォーム対応。GA4は初期状態で無効です。
Version: 1.3.11
Requires at least: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dome-tent-lab
Tags: custom-logo, custom-menu, one-column
*/

:root{--paper:#f6f3eb;--ink:#19221d;--forest:#354d3c;--sage:#e4e8dd;--line:#adb5a8;--muted:#4c5b4f;--max:1240px;--gutter:clamp(22px,5.2vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans CJK JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9b592a;outline-offset:5px}img{max-width:100%;height:auto;vertical-align:middle}button{cursor:pointer}.wrap{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}.section{padding-block:64px 76px}.section--sage{background:var(--sage)}.section-kicker{display:flex;align-items:center;gap:22px;margin:0 0 14px;font-size:14px;font-weight:700;letter-spacing:.3em;line-height:1.6}.section-kicker:after{content:"";height:1px;background:var(--line);flex:1;opacity:.85}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(25px,3vw,40px);line-height:1.6;letter-spacing:.055em;margin-bottom:28px;font-weight:700}h3{font-size:20px;line-height:1.65;letter-spacing:.035em}p{margin-bottom:1em}.visually-hidden,.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:12px 18px;background:white;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:relative;z-index:10}.header-inner{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #83907f}.brand{display:block;flex:none;text-decoration:none}.brand-crop{display:block;width:190px;height:68px;overflow:hidden;position:relative;mix-blend-mode:multiply}.brand-crop img{width:360px;max-width:none;height:272px;position:absolute;left:-93px;top:-102px}.custom-logo-link{display:block}.custom-logo{max-height:70px;width:auto;max-width:220px}.site-nav ul{display:flex;gap:clamp(22px,3vw,46px);align-items:center;list-style:none;padding:0;margin:0}.site-nav a{font-size:15px;font-weight:600;letter-spacing:.08em;text-decoration:none;display:block;padding-block:12px}.site-nav a:hover{color:var(--forest);text-decoration:underline}.menu-toggle{display:none;border:0;background:transparent;padding:12px;width:52px;height:52px}.menu-toggle span{display:block;width:29px;height:2px;background:var(--ink);margin:6px 0;transition:transform .2s,opacity .2s}.hero{position:relative;isolation:isolate;min-height:clamp(650px,61vw,850px);overflow:hidden}.hero-art{position:absolute;z-index:-1;inset:auto 0 0;width:100%;height:auto;pointer-events:none;mix-blend-mode:multiply}.hero-copy{padding-top:56px;padding-bottom:325px}.eyebrow{margin-bottom:20px;font-size:14px;font-weight:700;letter-spacing:.33em}.hero h1{font-size:clamp(36px,4.3vw,62px);font-weight:750;line-height:1.45;letter-spacing:.015em;margin-bottom:22px;max-width:1080px}.hero-copy .intro{font-size:clamp(16px,1.65vw,22px);line-height:1.9;letter-spacing:.025em;margin-bottom:28px;max-width:760px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:66px;padding:16px 34px;border:1px solid var(--forest);border-radius:4px;background:var(--forest);color:#fff;text-decoration:none;font-weight:700;font-size:19px;line-height:1.6;letter-spacing:.055em;transition:background .2s,transform .2s}.button:hover{background:#253d2e}.button .arrow{width:28px;height:18px;flex:none}.hero .button{min-width:354px}.hero-image-note{position:absolute;bottom:3px;right:var(--gutter);margin:0;font-size:10px;letter-spacing:.05em;color:#556051}.troubles{padding-top:32px}.troubles-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;list-style:none;margin:22px 0 0;padding:0}.trouble{text-align:center;padding:8px 24px 0;border-left:1px solid #c0c6b9}.trouble:first-child{border-left:0}.line-icon{display:block;width:94px;height:94px;margin:0 auto 13px;color:#1d2b23;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.trouble p{font-size:19px;font-weight:650;letter-spacing:.035em;margin:0}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:32px}.service{text-align:center;padding:0 24px;border-left:1px solid #b8c2b0}.service:first-child{border-left:0}.service h3{font-size:19px;margin-bottom:12px}.service p{font-size:16px;line-height:1.85;letter-spacing:.025em;margin:0}.services-cta{display:none}.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.work-card{margin:0;min-width:0}.work-placeholder{aspect-ratio:1.75;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#dce2d6;border-radius:5px;padding:30px}.work-placeholder .line-icon{width:78px;height:78px;margin:0 0 12px}.work-placeholder p{font-size:20px;letter-spacing:.12em;margin:0}.work-photo{width:100%;aspect-ratio:1.75;object-fit:cover;border-radius:5px}.work-card figcaption{padding:14px 0 0}.work-card h3{margin-bottom:6px}.work-card p{margin-bottom:0}.flow{padding-top:0}.flow-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;margin:28px 0 0;gap:40px}.flow-step{position:relative;text-align:center}.flow-number{position:absolute;top:12px;left:10px;font-size:30px;font-weight:700;font-family:Georgia,serif;line-height:1;color:var(--forest)}.flow-icon{display:flex;align-items:center;justify-content:center;width:108px;height:108px;border-radius:50%;background:#e5e8df;margin:0 auto 16px}.flow-icon .line-icon{width:65px;height:65px;margin:0}.flow-step:not(:last-child):after{content:"⟶";position:absolute;right:-36px;top:38px;width:35px;line-height:1;letter-spacing:3px;color:var(--forest);font-size:28px}.flow-step h3{margin:0;font-size:20px}.faq{background:#eff0e8}.faq-list{margin:0}.faq-item{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:24px 0;border-top:1px solid #aab4a5}.faq-item:last-child{border-bottom:1px solid #aab4a5}.faq-item dt,.faq-item dd{display:flex;align-items:flex-start;gap:18px;font-size:18px;line-height:1.8;margin:0}.faq-item dt{font-weight:600}.faq-item dd{border-left:1px solid #aab4a5;padding-left:26px}.qa-badge{display:flex;align-items:center;justify-content:center;flex:0 0 38px;height:38px;border-radius:50%;background:var(--forest);color:white;font-size:20px;font-family:Georgia,serif;line-height:1.3}.qa-badge--answer{background:#d4dccd;color:#2c4433}.contact-lead{font-size:20px;margin-bottom:22px}.contact-panel{background:#dce3d5;padding:32px;border-radius:6px}.contact-status{border-left:3px solid var(--forest);padding-left:14px;font-size:14px;line-height:1.8;margin:0 0 24px}.contact-status strong{display:block}.contact-preview fieldset{border:0;padding:0;margin:0;min-inline-size:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 32px}.form-field{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:center;min-width:0}.form-field--wide{grid-column:1/-1}.form-field label{font-size:15px;line-height:1.6}.form-field input,.form-field textarea{min-width:0;width:100%;border:1px solid #9ea897;border-radius:4px;background:#fbfaf5;color:var(--ink);padding:9px 12px;font-size:16px;line-height:1.6;min-height:46px;opacity:1;-webkit-text-fill-color:var(--ink)}.form-field textarea{resize:none;min-height:130px}.form-field input:disabled,.form-field textarea:disabled{cursor:not-allowed}.upload-preview{display:inline-flex;align-items:center;gap:10px;border:1px solid #758570;border-radius:4px;padding:8px 14px;width:fit-content;font-size:15px}.upload-preview .line-icon{width:22px;height:22px;margin:0}.contact-submit{display:flex;justify-content:center;margin-top:28px}.contact-submit .button{min-width:min(100%,410px);cursor:not-allowed;opacity:1;background:#52634f;border-color:#52634f;color:#fff}.contact-note{text-align:center;font-size:13px;color:#465340;margin:12px 0 0}.email-contact{margin:0 0 28px;padding:22px;background:#eff2e9;border:1px solid #a8b59f}.email-contact p{font-size:14px;margin:12px 0 0}.site-footer{padding:40px 0 36px}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:16px}.footer-inner .brand-crop{transform:scale(.83);transform-origin:center; margin-block:-6px}.footer-links{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;font-size:13px}.text-button{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:4px;padding:0;background:none;border:0}.consent-panel{position:fixed;inset:auto 20px 20px auto;max-width:470px;width:calc(100% - 40px);background:#fffef9;border:1px solid var(--line);border-radius:5px;padding:24px;box-shadow:0 6px 28px #24362725;z-index:100;line-height:1.7}.consent-panel[hidden]{display:none}.consent-panel h2{font-size:19px;margin-bottom:10px}.consent-panel p{font-size:14px}.consent-actions{display:flex;gap:12px;flex-wrap:wrap}.consent-actions button{padding:10px 16px;border:1px solid var(--forest);border-radius:3px;background:var(--forest);color:#fff;font-size:14px}.consent-actions .reject{background:transparent;color:var(--forest)}.page-main{padding-block:60px 100px;min-height:60vh}.page-main h1{font-size:clamp(28px,4vw,48px);line-height:1.5}.page-main .entry-content{max-width:840px}.entry-content:after{content:"";display:table;clear:both}.entry-content img{max-width:100%;height:auto}.entry-content iframe{max-width:100%}.entry-content .alignwide{width:100%}.entry-content .alignleft{float:left;margin:0 24px 24px 0}.entry-content .alignright{float:right;margin:0 0 24px 24px}.entry-content .aligncenter{display:block;margin-inline:auto}.wp-caption{max-width:100%}.wp-caption-text,.gallery-caption{font-size:14px}.sticky{border-top:2px solid var(--forest)}.bypostauthor{font-weight:500}.entry-list article{padding:24px 0;border-bottom:1px solid var(--line)}.navigation.pagination{margin-top:24px}.post-navigation{margin-top:32px}body.admin-bar .site-header{top:0}
@media(min-width:1500px){.hero{min-height:900px}.hero-art{max-height:920px;object-fit:cover;object-position:center bottom}.hero-copy{padding-top:64px}}
@media(max-width:1000px){.header-inner{min-height:100px}.brand-crop{width:161px;height:60px}.brand-crop img{width:306px;height:231px;left:-79px;top:-86px}.site-nav ul{gap:20px}.site-nav a{font-size:13px}.hero h1{font-size:clamp(34px,4.8vw,50px)}.hero-copy{padding-top:42px}.hero{min-height:690px}.hero-art{min-width:1120px;left:50%;width:1120px;transform:translateX(-50%);max-width:none}.hero .intro{max-width:620px}.service{padding-inline:16px}.service h3{font-size:16px}.service p{font-size:14px}.trouble{padding-inline:12px}.trouble p{font-size:16px}.flow-list{gap:24px}.flow-number{left:0}.flow-step h3{font-size:17px}.flow-step:not(:last-child):after{right:-25px;width:25px}.form-field{grid-template-columns:1fr;gap:8px}.faq-item dt,.faq-item dd{font-size:16px}}
@media(max-width:720px){:root{--gutter:24px}.section{padding-block:42px 48px}.section-kicker{font-size:12px;letter-spacing:.28em;gap:16px;margin-bottom:15px}h2{font-size:26px;line-height:1.6;letter-spacing:.025em;margin-bottom:24px}.header-inner{min-height:94px;gap:16px;flex-wrap:wrap;padding-block:14px}.brand-crop{width:158px;height:57px}.brand-crop img{width:300px;height:226.5px;left:-77px;top:-85px}.site-nav{width:100%}.site-nav ul{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding-bottom:8px}.site-nav a{font-size:14px;letter-spacing:.04em}.js .menu-toggle{display:block}.js .site-nav{display:none}.js .site-nav.is-open{display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-8px) rotate(-45deg)}.hero{min-height:0;padding-bottom:0}.hero-copy{padding-top:34px;padding-bottom:315px}.eyebrow{font-size:12px;letter-spacing:.3em;margin-bottom:16px}.hero h1{font-size:clamp(32px,6.8vw,47px);line-height:1.52;letter-spacing:.005em;margin-bottom:20px;max-width:600px}.hero h1 br{display:none}.hero h1 .headline-line{display:block}.hero-copy .intro{font-size:16px;line-height:1.9;margin-bottom:24px;max-width:100%}.hero .button{width:100%;min-width:0;font-size:17px;padding:15px 16px;min-height:62px;gap:20px}.hero-art{width:765px;min-width:765px;height:auto;left:auto;right:-3px;transform:none;bottom:0;max-width:none}.hero-image-note{font-size:9px;bottom:0;right:24px}.troubles{padding-top:34px}.troubles-grid{grid-template-columns:1fr 1fr;margin-top:0}.trouble{padding:16px 12px 20px;border-left:0}.trouble:nth-child(2n){border-left:1px solid #bec5b8}.trouble:nth-child(n+3){border-top:1px solid #bec5b8;padding-top:24px}.line-icon{width:85px;height:85px;margin-bottom:7px}.trouble p{font-size:16px}.services-grid{grid-template-columns:1fr;margin-top:0}.service{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px 22px;text-align:left;border:0;border-top:1px solid #b6c0ae;padding:20px 0}.service:first-child{border-top:0;padding-top:0}.service .line-icon{grid-row:1/3;width:74px;height:74px;align-self:center;margin:0}.service h3{font-size:18px;margin:0;align-self:end}.service p{font-size:14px;line-height:1.75;margin:0}.services-cta{display:flex;width:100%;font-size:17px;margin-top:10px;gap:18px}.works-grid{grid-template-columns:1fr;gap:20px}.work-placeholder{aspect-ratio:1.75;padding:24px}.work-placeholder p{font-size:17px}.work-placeholder .line-icon{width:64px;height:64px}.flow{padding-top:0}.flow-list{grid-template-columns:1fr 1fr;gap:30px 20px;margin-top:0}.flow-number{top:8px;left:0;font-size:27px}.flow-icon{width:92px;height:92px;margin-bottom:12px}.flow-icon .line-icon{width:57px;height:57px}.flow-step h3{font-size:16px}.flow-step:not(:last-child):after{content:none}.faq-item{grid-template-columns:1fr;gap:14px;padding:22px 0}.faq-item dt,.faq-item dd{gap:13px;font-size:16px}.faq-item dd{padding-left:0;border:0}.qa-badge{flex-basis:32px;height:32px;font-size:18px}.contact-lead{font-size:17px;margin-bottom:20px}.contact-panel{padding:22px 18px}.contact-status{font-size:13px;margin-bottom:22px}.form-grid{grid-template-columns:1fr;gap:16px}.form-field{gap:7px}.form-field label{font-size:14px}.form-field textarea{min-height:140px}.contact-submit{margin-top:24px}.contact-submit .button{width:100%;min-width:0;font-size:16px;padding-inline:14px;gap:16px;min-height:58px}.contact-note{font-size:12px;text-align:left;margin-top:13px}.email-contact{padding:18px}.email-contact .button{width:100%;font-size:16px;padding-inline:12px}.site-footer{padding:32px 0}.consent-panel{bottom:12px;right:12px;width:calc(100% - 24px);padding:20px}.footer-links{font-size:12px}}
@media(max-width:360px){:root{--gutter:18px}.hero h1{font-size:30px}.hero .button{font-size:15px;gap:15px}.service{gap:6px 14px;grid-template-columns:70px minmax(0,1fr)}.service h3{font-size:16px}.service .line-icon{width:65px;height:65px}.trouble p{font-size:14px}.flow-step h3{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.menu-toggle,.consent-panel,.footer-links,.contact-preview{display:none!important}.hero{min-height:620px}.hero-copy{padding-bottom:220px}.section{break-inside:avoid}a{text-decoration:none}.site-header{position:static}}

.hero h1 .headline-line{display:block}.service-area{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font-size:16px;letter-spacing:.05em;margin:-7px 0 30px}.service-area span{border:1px solid #a1ae98;padding:2px 12px;font-size:12px;font-weight:600;letter-spacing:.1em}.form-field select{width:100%;min-width:0;min-height:46px;border:1px solid #9ea897;border-radius:4px;background:#fbfaf5;color:var(--ink);opacity:1;padding:9px 12px;font:inherit;font-size:16px;cursor:not-allowed}@media(max-width:720px){.service-area{font-size:14px;gap:7px 14px;margin:0 0 24px}.service-area span{font-size:11px}}

.consent-panel{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}

.brand-crop{background:var(--paper)}.brand-crop img{mix-blend-mode:multiply}

/* v1.3.1: match the confirmed homepage FAQ and ABOUT US presentation. */
#faq .faq-item{display:block;padding:18px 0}#faq .faq-item dt{position:relative;align-items:center;min-height:40px;padding-right:52px;cursor:default}#faq .faq-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);width:36px;height:36px;padding:0;border:1px solid #aab4a5;border-radius:50%;background:transparent;color:var(--forest);font:inherit;font-size:22px;line-height:1;cursor:pointer}#faq.faq-enhanced .faq-item dd{display:none}#faq.faq-enhanced .faq-item.is-open dd{display:flex;border-left:0;padding:16px 48px 0 56px}@media(max-width:720px){#faq .faq-item dt{padding-right:46px}#faq.faq-enhanced .faq-item.is-open dd{padding:14px 0 0 48px}}
.about-us-details{display:grid;grid-template-columns:1fr 1fr;gap:36px;border-top:1px solid var(--line);padding-top:26px}.about-us-details>div+div{border-left:1px solid var(--line);padding-left:36px}.about-us-details h3{margin:0 0 12px;font-size:18px}.about-us-details address,.about-us-details p{font-style:normal;margin:0;font-size:16px;line-height:1.9}@media(max-width:720px){.about-us-details{grid-template-columns:1fr;gap:24px}.about-us-details>div+div{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}}
/* v1.3: approved nationwide copy, address block, and native FAQ disclosure. */
.faq-item{align-items:start}.faq-item summary{grid-column:1;display:flex;align-items:flex-start;gap:18px;margin:0;font-size:18px;line-height:1.8;font-weight:600;list-style:none;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:focus-visible{outline:3px solid #9b592a;outline-offset:5px}.faq-toggle{margin-left:auto;flex:0 0 32px;text-align:center;font-family:Arial,sans-serif;font-size:25px;font-weight:400;line-height:1.45;color:var(--forest)}.faq-item[open] .faq-toggle{font-size:0}.faq-item[open] .faq-toggle:after{content:"−";font-size:25px}.faq-answer{grid-column:2;display:flex;align-items:flex-start;gap:18px;border-left:1px solid #aab4a5;padding-left:26px;font-size:18px;line-height:1.8}.about-address{display:grid;gap:2px;margin:0 0 12px;font-style:normal;font-size:18px;line-height:1.8}.about-visit{margin:0;color:var(--muted)}
@media(min-width:721px){.hero-art{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center bottom}}
@media(max-width:720px){.faq-item{grid-template-columns:1fr;gap:14px}.faq-item summary,.faq-answer{gap:13px;font-size:16px}.faq-answer{grid-column:1;padding-left:0;border:0}.faq-toggle{flex-basis:28px;font-size:22px}.faq-item[open] .faq-toggle:after{font-size:22px}.about-address{font-size:16px}.about-visit{font-size:14px}}

@media(min-width:721px){.hero h1 .headline-line{display:inline}.hero h1 .headline-line:first-child{display:block}}

/* v1.1: live contact controls; keep original palette and layout. */
.contact-form fieldset{border:0;padding:0;margin:0;min-inline-size:0}.contact-form .contact-submit .button{cursor:pointer;background:var(--forest);border-color:var(--forest)}.contact-form .contact-submit .button:disabled{cursor:wait;opacity:.65}.contact-form select{cursor:pointer}.contact-form textarea{resize:vertical}.contact-form input[type=file]{font-size:14px;padding:10px;background:#fbfaf5}.contact-form .form-help{font-size:13px;margin:7px 0 0;line-height:1.65}.contact-form .privacy-check{display:flex;gap:12px;align-items:flex-start;margin-top:22px;font-size:14px;line-height:1.8}.contact-form .privacy-check input{width:20px;height:20px;flex:0 0 20px;margin-top:4px}.contact-result{padding:16px;border:1px solid var(--forest);border-radius:4px;margin-bottom:24px;background:#f6f3eb}.contact-result[hidden]{display:none}.contact-result.is-error{border-color:#99402f;color:#702f22}.contact-result ul{margin:8px 0 0;padding-left:22px}.contact-honeypot{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.contact-form [aria-invalid=true]{border-color:#99402f}.contact-form select:focus-visible{outline:3px solid #9b592a;outline-offset:5px}.contact-privacy{font-size:13px;line-height:1.8;margin-top:18px}.contact-form.is-sent .contact-fields{display:none}.site-footer{background:var(--paper)}.site-footer .brand-crop{background:var(--paper);mix-blend-mode:normal}.site-footer .brand-crop img{mix-blend-mode:multiply}@media print{.contact-form{display:none!important}}

/* v1.2: native articles, archives and a plain external Instagram link. */
.footer-instagram{display:inline-flex;gap:9px;align-items:center;font-size:13px;line-height:1.6;text-decoration:none}.footer-instagram:hover{text-decoration:underline}.site-nav ul{flex-wrap:wrap;justify-content:flex-end;row-gap:8px}.journal-header{margin-bottom:38px}.journal-header h1{font-size:clamp(28px,3.8vw,44px);line-height:1.55;margin:0 0 20px}.journal-description{max-width:850px;color:var(--muted)}.journal-tools{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:22px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.journal-categories{display:flex;flex:1 1 360px;gap:10px;flex-wrap:wrap}.journal-categories a{font-size:13px;border:1px solid var(--line);padding:5px 13px;border-radius:3px;text-decoration:none}.journal-categories a[aria-current=page],.journal-categories a:hover{background:var(--forest);color:white;border-color:var(--forest)}.journal-search{display:flex;flex:0 1 330px;gap:8px;max-width:100%}.journal-search input{min-width:0;width:100%;border:1px solid var(--line);background:#fffef9;border-radius:3px;padding:8px 12px}.journal-search button{border:1px solid var(--forest);background:var(--forest);color:#fff;border-radius:3px;padding:8px 17px;white-space:nowrap}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.journal-card{min-width:0;background:#fffdf7;border:1px solid #d3d8cd;border-radius:5px;overflow:hidden;display:flex;flex-direction:column}.journal-card-image{display:block;overflow:hidden}.journal-card-image img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover}.journal-card-body{padding:24px;display:flex;flex-direction:column;flex:1}.article-categories{font-size:13px;color:var(--forest);line-height:1.8;margin-bottom:13px}.article-categories a{text-decoration:none}.article-categories a:hover{text-decoration:underline}.journal-card h2{font-size:21px;line-height:1.65;margin:0 0 12px;letter-spacing:.01em;overflow-wrap:anywhere}.journal-card h2 a{text-decoration:none}.journal-card h2 a:hover{text-decoration:underline}.article-meta{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 18px}.journal-excerpt{font-size:15px;line-height:1.9;color:var(--muted);overflow-wrap:anywhere}.journal-readmore{font-size:14px;font-weight:600;margin-top:auto;padding-top:8px}.journal-empty{border:1px solid var(--line);padding:30px;background:#eff0e8}.journal-empty p{margin:0}.journal-index .pagination{margin-top:38px}.pagination .nav-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px}.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:5px 12px;border:1px solid var(--line);border-radius:3px;text-decoration:none}.pagination .current{background:var(--forest);color:#fff;border-color:var(--forest)}.article-main{max-width:1000px}.article-header{max-width:840px;margin:0 auto 32px}.article-back{font-size:14px;margin-bottom:26px}.article-header h1{font-size:clamp(28px,3.5vw,43px);line-height:1.6;letter-spacing:.02em;overflow-wrap:anywhere;margin-bottom:20px}.article-featured{margin:0 auto 38px;max-width:940px}.article-featured img{width:100%;height:auto;border-radius:5px}.article-featured figcaption{font-size:13px;color:var(--muted);margin-top:10px;text-align:center}.article-main .entry-content{margin-inline:auto}.entry-content{overflow-wrap:anywhere;font-size:17px;line-height:2}.entry-content h2{font-size:clamp(23px,2.8vw,30px);line-height:1.6;letter-spacing:.02em;margin:2.2em 0 .9em;border-bottom:1px solid var(--line);padding-bottom:.4em}.entry-content h3{font-size:22px;line-height:1.65;margin:1.9em 0 .8em}.entry-content h4{font-size:19px;margin:1.6em 0 .7em}.entry-content p,.entry-content ul,.entry-content ol,.entry-content figure{margin-bottom:1.5em}.entry-content ul,.entry-content ol{padding-left:1.5em}.entry-content li+li{margin-top:.35em}.entry-content blockquote{margin:1.8em 0;border-left:3px solid var(--forest);padding:12px 24px;background:#e9ede2}.entry-content blockquote p:last-child{margin-bottom:0}.entry-content figcaption{font-size:13px;line-height:1.7;color:var(--muted)}.entry-content .wp-block-table{max-width:100%;overflow-x:auto}.entry-content table{border-collapse:collapse;width:100%;font-size:15px}.entry-content th,.entry-content td{border:1px solid var(--line);padding:12px;text-align:left}.entry-content th{background:#e4e8dd}.entry-content pre{overflow-x:auto;max-width:100%;padding:20px;background:#e9ede2;font-size:14px;line-height:1.8}.entry-content .wp-block-button__link{background:var(--forest);border-radius:4px}.entry-content .alignfull{max-width:100%;margin-inline:0}.article-tags{max-width:840px;margin:36px auto 0;font-size:14px;padding-top:20px;border-top:1px solid var(--line)}.article-pages{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:28px 0}.article-pages a,.article-pages>span:not(:first-child){padding:5px 12px;border:1px solid var(--line)}.article-main .post-navigation{max-width:840px;margin:40px auto 0;border-block:1px solid var(--line);padding-block:24px}.post-navigation .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:24px}.post-navigation .nav-previous,.post-navigation .nav-next{min-width:0}.post-navigation .nav-next{text-align:right;grid-column:2}.post-navigation a{display:flex;flex-direction:column;gap:7px;text-decoration:none}.post-navigation .nav-subtitle{font-size:12px;color:var(--muted)}.post-navigation .nav-title{font-size:15px;font-weight:600;overflow-wrap:anywhere}.post-navigation a:hover .nav-title{text-decoration:underline}.article-list-link{text-align:center;margin-top:28px;font-size:14px}@media(max-width:1000px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.journal-grid{grid-template-columns:1fr;gap:22px}.journal-card-body{padding:22px}.journal-search{flex-basis:100%}.journal-tools{gap:18px}.journal-categories{flex-basis:100%}.journal-header{margin-bottom:28px}.article-main,.journal-index{padding-top:38px}.entry-content{font-size:16px;line-height:1.95}.entry-content h3{font-size:20px}.entry-content blockquote{padding:12px 18px}.post-navigation .nav-links{gap:16px}.site-nav ul{justify-content:flex-start}.footer-instagram{font-size:13px}}@media print{.journal-search,.journal-tools,.article-back,.post-navigation,.article-list-link,.footer-instagram{display:none!important}.journal-card{break-inside:avoid}}

.works-detail-link{margin:1rem 0 0}.works-detail-link a{color:var(--green,#2f4435);text-decoration:underline;text-underline-offset:.2em}

.window-hero-link{display:block;width:fit-content;margin-top:14px;color:var(--forest,#354d3c);font-size:clamp(14px,1.2vw,17px);font-weight:700;text-underline-offset:.28em}
.window-service-link{display:inline-block;margin-top:10px;color:var(--forest,#354d3c);font-weight:700;font-size:14px;text-underline-offset:.28em}

.dtl-photo-field{align-items:start}.dtl-photo-field>span{font-size:15px;line-height:1.6}.contact-form .dtl-photo-field .form-help{margin:0 0 10px}.dtl-photo-slot{display:grid;grid-template-columns:3.4em minmax(0,1fr) auto;gap:8px;align-items:center}.dtl-photo-slot+.dtl-photo-slot{margin-top:8px}.dtl-photo-slot input[type="file"]{min-width:0;max-width:100%;width:100%}.dtl-photo-clear{font:inherit;font-size:14px;color:inherit;text-decoration:underline;background:transparent;border:0;padding:8px 2px;cursor:pointer}.dtl-photo-clear[hidden]{display:none}@media(max-width:420px){.dtl-photo-slot{grid-template-columns:minmax(0,1fr) auto;gap:2px 8px}.dtl-photo-slot label{grid-column:1}.dtl-photo-slot input{grid-column:1/-1;grid-row:2}.dtl-photo-slot button{grid-column:2;grid-row:1}}

.dtl-copyright {
    width: 100%;
    min-width: 0;
    margin-top: 16px;
    text-align: center;
    color: inherit;
    font-family: inherit;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: .02em;
    overflow-wrap: anywhere;
}
.dtl-copyright p {
    margin: 0;
}
.dtl-copyright p + p {
    margin-top: 6px;
}

/* First consultation: content review before the existing inquiry form. */
.consult-guide { margin: 8px 0 28px; }
.consult-guide h3 { margin: 0 0 12px; font-size: clamp(21px, 2.2vw, 27px); line-height: 1.6; letter-spacing: .025em; }
.consult-guide-lead { margin: 0 0 24px; color: var(--muted); font-size: 16px; line-height: 1.9; }
.consult-guide-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding: 26px 0; margin: 0; list-style: none; background: var(--paper); border-block: 1px solid var(--line); }
.consult-guide-list li { min-width: 0; padding: 0 26px; }
.consult-guide-list li + li { border-left: 1px solid var(--line); }
.consult-guide-number { display: block; margin-bottom: 10px; color: var(--forest); font-size: 13px; font-weight: 600; letter-spacing: .12em; }
.consult-guide-list h4 { margin: 0 0 10px; font-size: 18px; line-height: 1.65; }
.consult-guide-list p { margin: 0; font-size: 15px; line-height: 1.9; color: var(--muted); overflow-wrap: anywhere; }
.consult-guide-note { margin: 18px 0 0; font-size: 14px; line-height: 1.9; color: var(--muted); }
.consult-guide-note strong { color: var(--ink); font-weight: 600; }
@media (max-width: 760px) {
    .consult-guide-list { grid-template-columns: 1fr; padding: 0 20px; }
    .consult-guide-list li { padding: 20px 0; }
    .consult-guide-list li + li { border-left: 0; border-top: 1px solid var(--line); }
    .consult-guide-number { margin-bottom: 5px; }
    .consult-guide-list h4 { margin-bottom: 7px; font-size: 17px; }
    .consult-guide-lead { font-size: 15px; }
    .consult-guide-note { font-size: 13px; }
}

/* Homepage journal updates. */
.dtl-news { padding-block: 42px 48px; scroll-margin-top: 28px; }
.dtl-news-layout { display: grid; grid-template-columns: minmax(210px, .72fr) minmax(0, 2fr); gap: 28px 56px; align-items: start; }
.dtl-news-heading { margin: 0 0 8px; color: var(--forest); font-size: clamp(24px, 2.4vw, 31px); line-height: 1.5; letter-spacing: .08em; }
.dtl-news-description { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.dtl-news-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.dtl-news-list li { border-bottom: 1px solid var(--line); }
.dtl-news-link { display: grid; grid-template-columns: minmax(0, 1fr) 24px; gap: 9px 20px; padding: 19px 0; text-decoration: none; }
.dtl-news-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.dtl-news-meta time { font-variant-numeric: tabular-nums; letter-spacing: .06em; }
.dtl-news-category { padding: 2px 10px; border: 1px solid var(--line); color: var(--forest); font-size: 11px; letter-spacing: .03em; }
.dtl-news-title { grid-column: 1; font-size: 16px; font-weight: 600; line-height: 1.8; overflow-wrap: anywhere; }
.dtl-news-arrow { grid-column: 2; grid-row: 1 / 3; align-self: center; justify-self: end; color: var(--forest); font-size: 23px; }
.dtl-news-link:hover .dtl-news-title, .dtl-news-link:focus-visible .dtl-news-title { text-decoration: underline; text-underline-offset: .25em; }
.dtl-news-all { display: flex; justify-content: flex-end; margin: 17px 0 0; }
.dtl-news-all a { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; color: var(--forest); font-size: 13px; font-weight: 600; text-decoration: none; }
.dtl-news-all a:hover { text-decoration: underline; }
.dtl-news-all span { font-size: 20px; }
@media (max-width: 760px) {
    .dtl-news { padding-block: 32px 30px; }
    .dtl-news-layout { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .dtl-news-heading { font-size: 25px; margin-bottom: 5px; }
    .dtl-news-link { gap: 10px 14px; padding-block: 18px; }
    .dtl-news-title { font-size: 15px; }
    .dtl-news-all { margin-top: 12px; }
}
