/*
 * Standalone front-end override stylesheet for the lawyer site redesign.
 * Loaded after the theme's default style.css so template recompilation
 * does not wipe the new visual layer.
 */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{box-sizing:border-box}
:root{
    --bg:#f5efe4;
    --bg-soft:#fbf8f2;
    --paper:#fffdfa;
    --paper-strong:#ffffff;
    --line:#d9cfbf;
    --line-soft:rgba(181,162,134,.34);
    --text:#1f2430;
    --text-soft:#626876;
    --text-faint:#8c8476;
    --primary:#1c3559;
    --primary-deep:#132740;
    --accent:#a78048;
    --accent-soft:#ecdfcb;
    --shadow:0 20px 48px rgba(27,31,38,.08);
    --radius-xl:34px;
    --radius-lg:26px;
    --radius-md:20px;
    --radius-sm:14px;
}
body{
    min-height:100vh;
    color:var(--text);
    font-size:16px;
    font-family:"Avenir Next","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
    line-height:1.75;
    background:
        radial-gradient(circle at top left, rgba(167,128,72,.12), transparent 28%),
        linear-gradient(180deg, #f8f3eb 0%, #f4eee4 42%, #f8f5ef 100%);
}
h1,h2,h3,h4,h5,h6{
    margin:0;
    color:var(--primary-deep);
    font-family:Georgia,"Times New Roman","Noto Serif SC","Songti SC",serif;
    font-weight:700;
    line-height:1.2;
}
a{color:var(--primary);text-decoration:none;transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease,box-shadow .2s ease}
a:hover{color:#0f5786;text-decoration:none}
img{max-width:100%;height:auto;border:0;display:block}
ul,ol{list-style:none}
input,textarea,button{
    font-size:16px;
    font-family:"Avenir Next","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
    outline:0;
}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:#ebe3d5}
::-webkit-scrollbar-thumb{background:#847865;border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:#645b4f}

.wrap{
    width:min(1240px,calc(100% - 48px));
    margin:0 auto;
}
.wrapper{background:transparent;position:relative}
.wrap::after,.pages::after,.cmtsitem::after,.cmtscon::after{content:"";display:block;clear:both}
.content,.content.wide{width:100%}
.sidebar,.banner,.sidebox{display:none}
.main{padding:38px 0 64px}
.main.fixed{padding-top:126px}
.home-main{padding-top:42px}
.mask{margin-bottom:0}
.block{
    margin-bottom:24px;
    padding:34px;
    border:1px solid var(--line-soft);
    border-radius:var(--radius-lg);
    background:rgba(255,253,249,.92);
    box-shadow:var(--shadow);
}

.header{
    position:sticky;
    top:0;
    z-index:100;
    border-bottom:1px solid rgba(181,162,134,.28);
    background:rgba(251,247,239,.88)!important;
    box-shadow:none;
    backdrop-filter:blur(18px);
}
.header.fixed{position:fixed;top:0;left:0;right:0}
.header .wrap{width:min(1280px,calc(100% - 36px))}
.nav-shell{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    min-height:92px;
}
.brand{
    display:flex;
    align-items:center;
    gap:18px;
    min-width:0;
}
.logo{
    width:58px;
    height:58px;
    flex:0 0 58px;
    margin-left:0;
    border-radius:18px;
    background:linear-gradient(145deg,#fff8ec,#efe1ca);
    box-shadow:0 12px 28px rgba(28,53,89,.08);
    overflow:hidden;
}
.logo a{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px;
}
.name{
    height:auto;
    float:none;
    font-size:32px;
    line-height:1;
}
.name a{padding-left:0;color:var(--primary-deep);line-height:1}
.subname{
    float:none;
    margin-top:8px;
    font-size:12px;
    color:var(--text-faint);
    letter-spacing:.22em;
    text-transform:uppercase;
}
.head{
    padding-left:0;
    display:flex;
    align-items:center;
    gap:18px;
    position:relative;
}
.menu-wrap{
    display:flex;
    align-items:center;
    gap:16px;
}
.menu{
    float:none;
    display:flex;
    align-items:center;
    line-height:normal;
}
.menu ul{
    padding-right:0;
    display:flex;
    align-items:center;
    gap:8px;
}
.menu li{
    float:none;
    margin:0;
    position:relative;
}
.menu li::before,.menu li:hover::before,.menu li.on::before{display:none!important}
.menu li a{
    display:block;
    padding:12px 16px;
    font-size:16px;
    color:var(--text);
    border-radius:999px;
    box-shadow:none!important;
}
.menu li:hover>a,.menu li.on>a{
    color:var(--primary-deep);
    background:rgba(28,53,89,.08);
    box-shadow:none!important;
}
.menu li.subcate>a::after{
    content:"\e69b";
    margin-left:6px;
    font-size:13px;
    font-family:iconfont;
    position:static;
}
.menu li .subnav{
    min-width:210px;
    padding:10px;
    line-height:normal;
    border:1px solid rgba(181,162,134,.42);
    border-radius:18px;
    background:rgba(255,252,247,.98);
    box-shadow:var(--shadow);
    position:absolute;
    top:56px;
    left:0;
    display:none;
}
.menu li .subnav::before,.menu li .subnav::after,.menu li .subnav a::after{display:none}
.menu li .subnav a{
    padding:10px 14px;
    border-radius:12px;
    white-space:nowrap;
}
.menu li.subcate:hover .subnav{display:block}
.menu li .subnav a:hover,.menu li .subnav a.on{background:rgba(28,53,89,.08)}
.menu li.subcate .arrow{display:none}
.menuico{
    width:44px;
    height:44px;
    border:1px solid rgba(181,162,134,.48);
    border-radius:14px;
    cursor:pointer;
    position:relative;
    z-index:10;
    top:0;
    display:none;
}
.menuico span{
    width:20px;
    height:2px;
    background:var(--primary);
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    transition:transform .2s ease,opacity .2s ease;
}
.menuico span:first-child{margin-top:-6px}
.menuico span:last-child{margin-top:6px}
.menuico.on span:first-child{transform:translate(-50%,-50%) rotate(45deg);margin-top:0}
.menuico.on span:nth-child(2){opacity:0}
.menuico.on span:last-child{transform:translate(-50%,-50%) rotate(-45deg);margin-top:0}
.header-cta,.btn-primary,.btn-secondary,.backlist,.goback,.cmtsubmit button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 22px;
    border-radius:999px;
    border:1px solid transparent;
    font-weight:600;
    letter-spacing:.02em;
}
.header-cta,.btn-primary,.contact-dock-toggle{
    color:#fff!important;
    background:linear-gradient(135deg,var(--primary),#35557d)!important;
    box-shadow:0 16px 30px rgba(28,53,89,.18);
}
.header-cta:hover,.btn-primary:hover,.contact-dock-toggle:hover{color:#fff!important;background:linear-gradient(135deg,#163357,#294d77)!important;transform:translateY(-1px)}
.btn-secondary,.backlist,.goback{
    color:var(--primary)!important;
    border-color:rgba(28,53,89,.16)!important;
    background:rgba(255,255,255,.72)!important;
}
.btn-secondary:hover,.backlist:hover,.goback:hover{
    color:var(--primary-deep)!important;
    border-color:rgba(28,53,89,.32)!important;
    background:#fff!important;
}

.schico{position:relative}
.schico>a{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(181,162,134,.48);
    border-radius:18px;
}
.schico>a::after,.schfixed button::after,.sch-m button::after{content:"\e6e1";font-size:24px;color:var(--primary);font-family:iconfont}
.schfixed{
    width:260px;
    padding:12px;
    border:1px solid rgba(181,162,134,.45);
    border-radius:18px;
    background:#fffdfa;
    box-shadow:var(--shadow);
    position:absolute;
    top:58px;
    right:0;
    display:none;
}
.schfixed.on{display:block}
.schfixed *{box-sizing:border-box}
.schfixed form{
    width:100%;
    margin:0;
    position:relative;
}
.schfixed input,.sch-m input,.errschtxt,.cmtarea textarea,.cmtform input{
    width:100%;
    border:1px solid rgba(181,162,134,.48)!important;
    border-radius:16px;
    background:#fff;
    color:var(--text);
}
.schfixed input{
    display:block;
    max-width:100%!important;
    height:46px;
    padding:0 52px 0 16px;
}
.schfixed button{
    width:38px;
    height:38px;
    border:0;
    background:transparent!important;
    position:absolute;
    top:4px;
    right:4px;
    cursor:pointer;
}
.sch-m{display:none}
.fademask.on{position:fixed;inset:0;background:rgba(20,26,34,.38);z-index:70}

.hero-kicker,.section-kicker,.card-eyebrow{
    display:inline-block;
    margin-bottom:18px;
    font-size:12px;
    color:var(--accent)!important;
    letter-spacing:.26em;
    text-transform:uppercase;
}
.hero-kicker{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    margin-bottom:20px;
    padding:0 16px 0 42px;
    border:1px solid rgba(167,128,72,.18);
    border-radius:999px;
    background:rgba(255,255,255,.72);
    position:relative;
}
.hero-kicker::before{
    content:"";
    width:12px;
    height:12px;
    border-radius:50%;
    background:linear-gradient(135deg,#c39a63,#a78048);
    box-shadow:0 0 0 6px rgba(167,128,72,.12);
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
}
.home-hero{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) 360px;
    align-items:stretch;
    gap:32px;
    margin-bottom:28px;
    padding:42px;
    border:1px solid var(--line-soft);
    border-radius:40px;
    background:linear-gradient(145deg,rgba(255,253,248,.96),rgba(246,239,229,.92));
    box-shadow:var(--shadow);
    overflow:hidden;
    position:relative;
}
.hero-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    position:relative;
    z-index:1;
}
.hero-copy::after{
    content:"";
    width:168px;
    height:168px;
    background:url(images/legal-watermark-court.svg) no-repeat center center/contain;
    opacity:.14;
    position:absolute;
    top:4px;
    right:8px;
    pointer-events:none;
    z-index:0;
}
.hero-copy>*{
    position:relative;
    z-index:1;
}
.hero-copy h1{
    max-width:760px;
    margin:0;
    font-size:56px;
    line-height:1.08;
    letter-spacing:-.02em;
}
.hero-copy p{
    max-width:700px;
    margin-top:20px;
    font-size:18px;
    color:var(--text-soft);
}
.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:28px;
}
.hero-points{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:24px;
}
.hero-digest-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:auto;
    padding-top:32px;
}
.hero-points span,.post-label{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 14px;
    font-size:13px;
    color:var(--primary)!important;
    border:1px solid rgba(28,53,89,.1)!important;
    border-radius:999px;
    background:rgba(255,255,255,.7);
}
.hero-portrait-card{
    display:grid;
    gap:18px;
    align-content:start;
    grid-template-rows:minmax(0,1fr) auto;
    height:100%;
    position:relative;
    z-index:1;
}
.hero-portrait-frame{
    min-height:100%;
    padding:14px;
    border:1px solid rgba(181,162,134,.42);
    border-radius:32px;
    background:linear-gradient(180deg,#fffdfa,#f6ecdd);
    box-shadow:var(--shadow);
}
.hero-portrait-frame img{
    width:100%;
    height:100%;
    min-height:400px;
    object-fit:cover;
    border-radius:24px;
}
.hero-portrait-note{
    padding:24px;
    border:1px solid rgba(181,162,134,.42);
    border-radius:24px;
    background:rgba(255,255,255,.72);
}
.hero-portrait-note h3{
    margin-bottom:10px;
    font-size:28px;
}
.hero-portrait-note p{color:var(--text-soft)}

.home-section{margin-bottom:28px}
.section-heading{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-bottom:22px;
}
.section-heading h2{
    font-size:40px;
    letter-spacing:-.02em;
}
.section-heading p{
    max-width:820px;
    color:var(--text-soft);
}
.practice-grid,.pillars-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}
.pillars-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.practice-card,.pillar-card{
    min-height:220px;
    padding:28px;
    border:1px solid var(--line-soft);
    border-radius:28px;
    background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(247,241,233,.86));
    box-shadow:var(--shadow);
}
.practice-card h3,.pillar-card h3{
    margin-bottom:14px;
    font-size:28px;
}
.practice-card p,.pillar-card p{color:var(--text-soft)}

.journey-list{display:grid;gap:16px}
.journey-item{
    display:grid;
    grid-template-columns:86px minmax(0,1fr);
    gap:20px;
    padding:24px 28px;
    border:1px solid var(--line-soft);
    border-radius:24px;
    background:rgba(255,253,248,.88);
    box-shadow:var(--shadow);
}
.journey-item strong{
    width:86px;
    height:86px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:22px;
    background:rgba(167,128,72,.1);
    color:var(--accent);
    font-size:28px;
}
.journey-item h3{
    margin-bottom:8px;
    font-size:26px;
}
.journey-item p{color:var(--text-soft)}

.archive-hero{
    background:
        linear-gradient(135deg,rgba(28,53,89,.98),rgba(53,85,125,.94)),
        radial-gradient(circle at top right,rgba(167,128,72,.24),transparent 30%);
}
.archive-hero h1,.archive-hero .section-kicker,.archive-hero p{color:#fff!important}
.archive-hero p{max-width:820px;color:rgba(255,255,255,.76)!important}

.digest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.digest-panel,.archive-list,.related-shell{
    padding:28px;
    border:1px solid var(--line-soft);
    border-radius:28px;
    background:rgba(255,253,249,.92);
    box-shadow:var(--shadow);
}
.digest-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:20px;
}
.hero-digest-grid .digest-panel{
    padding:22px;
    border-radius:24px;
}
.hero-digest-grid .digest-head h3{
    font-size:20px;
}
.hero-digest-grid .digest-more{
    display:none;
}
.digest-kicker{
    display:block;
    margin-bottom:8px;
    font-size:11px;
    color:var(--accent);
    letter-spacing:.26em;
    text-transform:uppercase;
}
.digest-head h3{
    font-size:22px;
    font-family:"Avenir Next","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
    font-weight:600;
    line-height:1.45;
}
.digest-more{
    flex:0 0 auto;
    padding:8px 14px;
    color:var(--primary);
    font-size:13px;
    border:1px solid rgba(28,53,89,.12);
    border-radius:999px;
    background:rgba(255,255,255,.72);
}
.digest-list,.related-list{display:grid;gap:0}
.digest-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:14px 0;
    border-top:1px solid rgba(181,162,134,.22);
}
.digest-item:first-child{
    padding-top:0;
    border-top:0;
}
.digest-empty{
    color:var(--text-faint);
    font-size:14px;
}

.consult-section{
    margin-bottom:30px;
}
.consult-card{
    width:100%;
    max-width:none;
    margin:0;
    padding:30px;
    border:1px solid rgba(181,162,134,.34);
    border-radius:30px;
    background:
        linear-gradient(140deg, rgba(255,253,249,.96), rgba(246,238,227,.9)),
        radial-gradient(circle at top right, rgba(167,128,72,.12), transparent 28%);
    box-shadow:var(--shadow);
}
.consult-form{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    width:100%;
    margin:0;
    justify-items:stretch;
}
.consult-form > *{min-width:0}
.consult-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    width:100%;
    margin:0;
}
.consult-field{
    display:grid;
    flex:1 1 0;
    gap:10px;
    width:100%;
    min-width:0;
    justify-items:stretch;
}
.consult-field-full{
    grid-column:1 / -1;
}
.consult-field label{
    display:block;
    width:auto!important;
    float:none!important;
    font-size:14px;
    color:var(--text-soft);
}
.consult-field input,.consult-field textarea{
    width:100%!important;
    max-width:100%!important;
    display:block!important;
    float:none;
    margin:0;
    box-sizing:border-box!important;
    padding:15px 16px;
    border:1px solid rgba(181,162,134,.44);
    border-radius:18px;
    background:#fffdfa;
    color:var(--text);
}
.consult-field textarea{
    min-height:150px;
    resize:vertical;
}
.consult-honeypot{
    display:none!important;
}
.consult-actions{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
}
.consult-submit{
    border:0;
    cursor:pointer;
}
.consult-submit[disabled]{
    opacity:.72;
    cursor:wait;
}
.consult-feedback{
    grid-column:1 / -1;
    min-height:24px;
    font-size:14px;
    color:var(--text-faint);
}
.consult-feedback.is-success{color:#2b6c46}
.consult-feedback.is-error{color:#b03b2e}

.entry-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:16px 0;
    border-bottom:1px solid rgba(181,162,134,.24);
}
.entry-row:last-child{border-bottom:0}
.entry-row.is-top{
    padding-top:0;
}
.entry-row-main{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}
.entry-row-badge{
    flex:0 0 auto;
    padding:5px 12px;
    border-radius:999px;
    background:rgba(167,128,72,.12);
    color:var(--accent);
    font-size:12px;
}
.entry-row-title,.digest-title{
    min-width:0;
    display:block;
    color:var(--primary-deep)!important;
    font-size:17px;
    font-family:"Avenir Next","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
    font-weight:400;
    line-height:1.7;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.entry-row-title:hover,.digest-title:hover{color:#0f5786!important}
.entry-row-date,.digest-date{
    flex:0 0 auto;
    color:var(--text-faint);
    font-size:14px;
    white-space:nowrap;
}

.detail-shell{padding:38px}
.detail-header{
    margin-bottom:30px;
    padding-bottom:24px;
    border-bottom:1px solid rgba(181,162,134,.34);
}
.detail-header h1{
    margin-top:14px;
    font-size:52px;
    line-height:1.12;
}
.detail-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}
.detail-meta span{
    padding:8px 14px;
    border-radius:999px;
    background:rgba(28,53,89,.06);
    color:var(--text-faint);
    font-size:14px;
}
.detail-layout{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) 300px;
    gap:28px;
}
.detail-side{
    display:grid;
    align-content:start;
    gap:18px;
}
.detail-card{
    padding:24px;
    border-radius:24px;
    background:linear-gradient(180deg,rgba(28,53,89,.98),rgba(19,39,64,.96));
    color:rgba(255,255,255,.8);
    box-shadow:0 18px 30px rgba(19,39,64,.16);
}
.detail-card h3{
    margin-bottom:12px;
    color:#fff!important;
    font-size:28px;
}
.detail-card p{margin-bottom:18px}
.detail-card .btn-secondary{
    width:100%;
    color:#fff!important;
    border-color:rgba(255,255,255,.22)!important;
    background:rgba(255,255,255,.08)!important;
}
.detail-card .btn-secondary:hover{background:rgba(255,255,255,.16)!important}
.detail-card-plain{
    color:var(--text-soft);
    border:1px solid var(--line-soft);
    background:rgba(255,253,249,.92);
    box-shadow:none;
}
.detail-card-plain .card-eyebrow,.detail-card-plain h3{color:var(--primary-deep)!important}
.detail-card-plain ul{display:grid;gap:10px}
.detail-card-plain li{
    padding:12px 14px;
    border-radius:14px;
    background:rgba(28,53,89,.05);
}
.detail-post-wide .single{max-width:100%}

.single{
    padding:0;
    font-size:17px;
    line-height:2;
    color:var(--text)!important;
    border-top:0;
}
.single p{margin-bottom:1.2em}
.single p img{margin:12px auto}
.single h1,.single h2,.single h3,.single h4,.single h5,.single h6{
    margin:1.8em 0 .8em;
    padding-bottom:.5em;
    border-bottom:1px solid rgba(181,162,134,.4)!important;
}
.single h1::after,.single h2::after,.single h3::after,.single h4::after,.single h5::after,.single h6::after{display:none}
.single h1{font-size:34px}
.single h2{font-size:30px}
.single h3{font-size:26px}
.single h4{font-size:22px}
.single h5{font-size:19px}
.single h6{font-size:17px}
.single ul,.single ol{margin:1em 0 1em 1.4em;list-style:disc}
.single ol{list-style:decimal}
.single blockquote{
    margin:1.4em 0;
    padding:18px 22px;
    border-left:4px solid var(--accent);
    border-radius:0 18px 18px 0;
    background:rgba(167,128,72,.08);
    color:var(--text-soft);
}
.single table{
    width:100%;
    margin:1.4em 0;
    border-collapse:collapse;
}
.single table th,.single table td{
    padding:12px 14px;
    border:1px solid rgba(181,162,134,.4);
}
.single table th{background:rgba(28,53,89,.05)}
.single pre{
    margin:1.4em 0;
    padding:18px;
    border-radius:20px;
    background:#1c2430;
    color:#f5f7fb;
    overflow:auto;
}
.single code{
    padding:.15em .4em;
    border-radius:8px;
    background:rgba(28,53,89,.08);
}
.single pre code{padding:0;background:transparent}
.tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    margin-top:30px;
    color:var(--text-faint)!important;
}
.tags a{
    margin:0;
    padding:6px 14px;
    border:1px solid rgba(181,162,134,.48)!important;
    border-radius:999px;
    background:#fff!important;
}

.pages{
    display:grid;
    gap:12px;
    margin-top:30px;
    padding-top:24px;
    border-top:1px solid rgba(181,162,134,.34);
}
.pages p{
    height:auto;
    padding:14px 18px;
    border-radius:18px;
    background:rgba(28,53,89,.05);
    color:var(--text-soft)!important;
    white-space:normal;
}
.pages span{color:var(--text-faint)!important}

.posttitle{
    margin-bottom:18px;
    padding-bottom:14px;
    border-bottom:1px solid rgba(181,162,134,.3);
    background:transparent;
    line-height:normal;
}
.posttitle h4{font-size:22px}

.cmts.block,.cmt.block{background:rgba(255,253,249,.92)}
.cmtsitem{
    padding:18px 0;
    border-bottom:1px solid rgba(181,162,134,.24);
}
.cmtsitem:last-child{border-bottom:0}
.cmtsitem .avatar{
    width:52px;
    height:52px;
    float:left;
    margin-right:14px;
}
.cmtsitem .avatar img{
    width:52px;
    height:52px;
    border-radius:16px;
}
.cmtscon{margin-left:66px}
.cmtscon>.cmtsitem{
    margin-top:16px;
    padding-left:18px;
    border-left:2px solid rgba(181,162,134,.34);
}
.cmtshead{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
}
.cmtsname,.cmtsname a{color:var(--primary-deep)!important;font-weight:600}
.cmtsdate,.cmtsreplydate{font-size:13px;color:var(--text-faint)!important}
.cmtsbody,.cmtsreplycon{margin-top:10px;color:var(--text-soft)!important;line-height:1.9}
.cmtsreply{
    margin-top:14px;
    padding:14px 0 0 18px;
    border-left:2px solid rgba(181,162,134,.34);
}
.cmtsfoot{margin-top:10px}
.cmtsfoot .reply{color:var(--primary)!important}
.cmtsfoot .reply::before{display:none!important}

.comment{
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:18px;
}
.cmtimg{width:auto;float:none;text-align:left}
.cmtimg img{
    width:52px;
    height:52px;
    border-radius:16px;
}
.cmtimg p{
    margin-top:8px;
    height:auto;
    text-align:center;
    font-size:12px;
    color:var(--text-faint);
}
.cmtarea{padding-left:0}
.cmtarea textarea{
    min-height:180px;
    margin:0;
    padding:18px;
    line-height:1.9;
    resize:vertical;
}
.cmtform{
    width:auto;
    float:none;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:14px;
    padding:0;
    border-bottom:0;
}
.cmtform p{width:100%;float:none;padding:0}
.cmtform input{
    width:100%;
    height:48px;
    padding:0 14px;
}
.cmtform label{
    display:block;
    margin-top:8px;
    padding:0;
    font-size:13px;
    color:var(--text-faint);
}
.cmtform img.imgcode{
    margin-top:10px;
    margin-left:0;
    border-radius:12px;
    border:1px solid rgba(181,162,134,.4);
}
.cmtsubmit{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
    margin-top:16px;
}
.cmtsubmit button{
    height:auto;
    margin:0;
    border:0!important;
    cursor:pointer;
}
.cmtsubmit button::before{display:none!important}
.cmtsubmit span{font-size:14px;color:var(--text-faint)}
#cancel-reply{
    min-height:auto;
    height:auto;
    margin-left:12px;
    padding:6px 12px;
    line-height:1.4;
    color:var(--primary);
    border:1px solid rgba(28,53,89,.16);
    border-radius:999px;
    background:#fff;
}
#cancel-reply::before{display:none!important}

.pagebar,.cmtpagebar{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    margin-top:10px;
    padding:18px 20px;
    border:1px solid var(--line-soft);
    border-radius:20px;
    background:rgba(255,253,249,.9);
    box-shadow:var(--shadow);
}
.pagebar .now-page,.cmtpagebar .now-page{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    min-height:42px;
    padding:0 14px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--primary),#35557d)!important;
    color:#fff!important;
}
.pagebar a,.cmtpagebar a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    min-height:42px;
    padding:0 14px;
    border:1px solid rgba(181,162,134,.4)!important;
    border-radius:999px;
    background:#fff!important;
    color:var(--text-soft)!important;
}
.pagebar a:hover,.cmtpagebar a:hover{color:var(--primary)!important;border-color:rgba(28,53,89,.28)!important}

.sitemap{
    margin-bottom:18px;
    font-size:13px;
    color:var(--text-faint);
}
.sitemap a{color:var(--text-faint)!important}
.sitemap a:hover{color:var(--primary)!important}

.footer{
    padding:20px 0 24px;
    border-top:1px solid rgba(181,162,134,.26);
    background:rgba(246,239,229,.72);
}
.footer-bar{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:8px 18px;
    text-align:center;
    font-size:14px;
}
.footer-copy{
    color:var(--text-soft)!important;
}

.contact-dock{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:120;
}
.contact-dock-panel{
    width:340px;
    display:grid;
    gap:18px;
    padding:24px;
    border:1px solid rgba(181,162,134,.32);
    border-radius:28px;
    background:rgba(255,253,249,.96);
    box-shadow:0 24px 50px rgba(19,39,64,.16);
    position:absolute;
    right:0;
    bottom:76px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(14px) scale(.97);
    transition:opacity .24s ease,transform .24s ease,visibility .24s ease;
}
.contact-dock.is-open .contact-dock-panel{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
}
.contact-dock-close{
    width:34px;
    height:34px;
    border:0;
    border-radius:50%;
    background:rgba(28,53,89,.08);
    cursor:pointer;
    position:absolute;
    top:14px;
    right:14px;
}
.contact-dock-close::before,.contact-dock-close::after{
    content:"";
    width:16px;
    height:2px;
    background:var(--primary);
    position:absolute;
    left:9px;
    top:16px;
}
.contact-dock-close::before{transform:rotate(45deg)}
.contact-dock-close::after{transform:rotate(-45deg)}
.contact-dock-copy h3{
    margin-bottom:10px;
    font-size:28px;
}
.contact-dock-copy p{
    margin-bottom:14px;
    color:var(--text-soft);
}
.contact-dock-meta{
    display:grid;
    gap:8px;
}
.contact-dock-meta span{
    padding:8px 12px;
    border-radius:12px;
    background:rgba(28,53,89,.05);
    color:var(--text-soft);
    font-size:14px;
}
.contact-dock-qr{
    padding:12px;
    border:1px solid rgba(181,162,134,.34);
    border-radius:18px;
    background:#fff;
}
.contact-dock-qr img{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:12px;
}
.contact-dock-empty{
    display:flex;
    align-items:center;
    justify-content:center;
    aspect-ratio:1/1;
    border-radius:12px;
    background:rgba(28,53,89,.05);
    color:var(--text-faint);
    text-align:center;
    padding:20px;
}
.contact-dock-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:58px;
    height:58px;
    min-height:0;
    padding:0;
    border:0;
    border-radius:20px;
    cursor:pointer;
    font-weight:600;
    position:relative;
    z-index:2;
}
.contact-dock-toggle::before{
    content:"";
    width:22px;
    height:18px;
    border:2px solid rgba(255,255,255,.96);
    border-radius:12px;
    position:relative;
    display:block;
}
.contact-dock-toggle::after{
    content:"";
    width:8px;
    height:8px;
    border-left:2px solid rgba(255,255,255,.96);
    border-bottom:2px solid rgba(255,255,255,.96);
    position:absolute;
    right:16px;
    bottom:14px;
    transform:rotate(-35deg);
}
.contact-dock-toggle-text{display:none}

.errorpage{
    padding:72px 32px;
    text-align:center;
    box-shadow:var(--shadow);
    background:rgba(255,253,249,.92);
}
.errorpage h3{
    font-size:120px;
    color:var(--primary-deep)!important;
    text-shadow:none;
}
.errorpage h4{
    margin-bottom:16px;
    font-size:36px;
}
.errorpage p{
    margin-bottom:24px;
    color:var(--text-soft);
}
.errorsearch{
    width:auto;
    display:flex;
    gap:12px;
    max-width:560px;
    margin:0 auto 20px;
}
.errschtxt{
    width:100%;
    height:52px;
    padding:0 16px;
}
.errschbtn{
    min-width:126px;
    height:52px;
    border:1px solid transparent;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg,var(--primary),#35557d);
    cursor:pointer;
}

@media screen and (max-width:1180px){
    .hero-copy h1{font-size:46px}
    .home-hero{grid-template-columns:1fr}
    .hero-portrait-card{grid-template-columns:1fr 1fr;align-items:start}
    .hero-digest-grid{grid-template-columns:1fr}
    .detail-header h1{font-size:44px}
    .detail-layout{grid-template-columns:minmax(0,1fr)}
    .detail-side{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media screen and (max-width:1080px){
    .main.fixed{padding-top:112px}
    .nav-shell{
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
        min-height:0;
        padding:14px 0;
    }
    .head{
        width:100%;
        flex-direction:column;
        align-items:stretch;
        gap:0;
    }
    .menuico{
        display:block;
        position:absolute;
        right:0;
        top:-54px;
    }
    .menu-wrap{
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }
    .menu{
        width:100%;
        display:none;
    }
    .menu.on{
        width:100%;
        margin:0;
        padding:10px;
        border:1px solid rgba(181,162,134,.34);
        border-radius:22px;
        background:#fffdfa;
        box-shadow:var(--shadow);
    }
    .menu ul{
        width:100%;
        flex-direction:column;
        align-items:stretch;
        gap:4px;
    }
    .menu li{width:100%}
    .menu li a{padding:12px 16px}
    .menu li .subnav{
        position:static;
        min-width:0;
        margin-top:6px;
        display:none;
        box-shadow:none;
    }
    .menu li.subcate .arrow{
        width:44px;
        height:44px;
        display:block;
        position:absolute;
        right:0;
        top:0;
        cursor:pointer;
    }
    .menu li.subcate .arrow::before{
        content:"\e69b";
        font-size:18px;
        color:var(--text-soft);
        font-family:iconfont;
        position:absolute;
        left:50%;
        top:50%;
        transform:translate(-50%,-50%);
    }
    .menu li.subcate.slidedown .subnav{display:block}
    .menu li.subcate.slidedown .arrow::before{content:"\e6a4"}
    .header-cta{display:none}
    .schico{display:none}
    .sch-m{display:none!important}
    .practice-grid,.pillars-grid,.digest-grid{grid-template-columns:1fr}
    .consult-row{
        flex-direction:column;
        gap:18px;
    }
    .hero-digest-grid{grid-template-columns:1fr}
    .journey-item{
        grid-template-columns:72px minmax(0,1fr);
        padding:22px;
    }
    .journey-item strong{
        width:72px;
        height:72px;
        font-size:24px;
        border-radius:20px;
    }
    .entry-row{align-items:flex-start}
}

@media screen and (max-width:760px){
    .wrap{width:calc(100% - 24px);padding:0}
    .main{padding:24px 0 42px}
    .main.fixed{padding-top:108px}
    .block,.archive-list,.digest-panel,.related-shell,.archive-hero,.detail-shell{padding:22px}
    .name{font-size:24px}
    .subname{font-size:11px;letter-spacing:.14em}
    .home-hero{
        gap:20px;
        padding:24px;
    }
    .hero-portrait-card{
        order:-1;
        grid-template-columns:1fr;
        grid-template-rows:auto auto;
        height:auto;
    }
    .hero-portrait-note{order:-1}
    .hero-kicker{
        padding:0 14px 0 38px;
        font-size:11px;
        letter-spacing:.2em;
    }
    .hero-kicker::before{
        width:10px;
        height:10px;
        left:14px;
    }
    .hero-copy::after{
        width:120px;
        height:120px;
        top:6px;
        right:0;
        opacity:.12;
    }
    .hero-copy h1{
        font-size:28px;
        line-height:1.14;
    }
    .hero-copy p,.section-heading p{font-size:15px}
    .hero-actions,.hero-points,.cmtsubmit{
        flex-direction:column;
        align-items:stretch;
    }
    .btn-primary,.btn-secondary,.backlist,.goback,.cmtsubmit button{width:100%}
    .hero-portrait-card{grid-template-columns:1fr}
    .hero-portrait-frame{min-height:320px}
    .hero-portrait-frame img{min-height:290px}
    .section-heading h2{font-size:30px}
    .practice-card h3,.pillar-card h3,.journey-item h3,.digest-head h3,.detail-card h3{font-size:24px}
    .hero-digest-grid{
        margin-top:24px;
    }
    .entry-row{
        flex-direction:column;
        gap:6px;
    }
    .digest-item{
        grid-template-columns:1fr;
        gap:4px;
    }
    .entry-row-title,.digest-title{font-size:18px}
    .detail-header h1{font-size:32px}
    .detail-side{grid-template-columns:1fr}
    .single{font-size:16px;line-height:1.9}
    .single h1{font-size:28px}
    .single h2{font-size:25px}
    .single h3{font-size:22px}
    .comment{grid-template-columns:1fr}
    .cmtimg{display:none}
    .cmtform{grid-template-columns:1fr}
    .consult-card{
        padding:22px 18px;
    }
    .consult-section,
    .consult-card,
    .consult-row,.consult-form{
        width:100%;
    }
    .consult-field,
    .consult-field-full,
    .consult-field input,
    .consult-field textarea{
        width:100%!important;
        margin-left:auto;
        margin-right:auto;
    }
    .contact-dock{
        right:12px;
        bottom:12px;
    }
    .contact-dock-panel{
        width:min(320px,calc(100vw - 24px));
        right:0;
        bottom:64px;
    }
    .contact-dock-toggle{
        min-height:48px;
        padding:0 18px;
    }
    .footer{
        padding:18px 0 22px;
    }
    .footer-bar{
        flex-direction:column;
        gap:6px;
    }
    .errorpage{padding:52px 16px}
    .errorpage h3{font-size:82px}
    .errorpage h4{font-size:28px}
    .errorsearch{flex-direction:column}
    .errschbtn{width:100%}
}
