
/* Approved shared typography. Logo and brand signature intentionally excluded. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bk-text:'DM Sans','Segoe UI',Arial,sans-serif;--bk-heading:'Cormorant Garamond',Georgia,serif}
html[lang^="ja"]{--bk-text:'Noto Sans JP','Yu Gothic','Meiryo',sans-serif;--bk-heading:'Noto Serif JP','Yu Mincho','MS PMincho',serif}
html[lang^="ko"]{--bk-text:'Noto Sans KR','Malgun Gothic',sans-serif;--bk-heading:'Noto Serif KR','Batang',serif}
body.bk76-type-unified{font-family:var(--bk-text)!important;font-size:16px;line-height:1.65;font-weight:400}
body.bk76-type-unified :is(p,li,dd,dt,td,th,label,input,textarea,select,button,summary,a,figcaption,small):not(.brand):not(.brand *):not(svg *){font-family:var(--bk-text)!important}
body.bk76-type-unified :is(p,li,dd,td):not(.brand *){font-weight:400!important}
body.bk76-type-unified main :is(p,li,dd):not(.eyebrow):not(.kicker):not(.tag):not(.meta):not(.brand *):not(.review-stars){font-size:16px!important;line-height:1.7!important}
body.bk76-type-unified main :is(.lead,.intro-copy,.section-lead){font-size:18px!important;line-height:1.65!important}
body.bk76-type-unified :is(h1,h2,h3,h4):not(.brand *){font-family:var(--bk-heading)!important;font-weight:500!important;letter-spacing:-.015em}
body.bk76-type-unified h1{font-size:clamp(38px,4.5vw,64px)!important;line-height:1.08!important}
body.bk76-type-unified h2{font-size:clamp(30px,3vw,40px)!important;line-height:1.15!important}
body.bk76-type-unified h3{font-size:clamp(24px,2vw,28px)!important;line-height:1.2!important}
body.bk76-type-unified :is(.project-card,.portfolio-card,.realization-card,.realisation-card,.gallery-card,.offer-card) :is(h2,h3){font-size:clamp(25px,2.5vw,36px)!important}
body.bk76-type-unified :is(.eyebrow,.kicker,.tag,.meta,.section-label){font-family:var(--bk-text)!important;font-size:12px!important;font-weight:500!important;line-height:1.5!important}
body.bk76-type-unified :is(header,.site-header) :is(a,button,summary):not(.brand):not(.brand *){font-family:var(--bk-text)!important;font-size:14px!important;font-weight:500!important;line-height:1.5!important;letter-spacing:normal!important}
body.bk76-type-unified :is(header,.site-header) :is(a,button,summary) :is(span,small):not(.brand *):not(svg *){font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
body.bk76-type-unified footer{font-family:var(--bk-text)!important;font-size:14px!important;font-weight:400!important;line-height:1.75!important}
body.bk76-type-unified footer :is(p,a,small,li,span,summary):not(.brand):not(.brand *):not(svg *){font-family:var(--bk-text)!important;font-size:14px!important;font-weight:400!important;line-height:1.75!important}
body.bk76-type-unified footer :is(h2,h3):not(.custom-finale *){font-family:var(--bk-text)!important;font-size:15px!important;font-weight:600!important;line-height:1.5!important;letter-spacing:0!important;margin:0 0 14px!important}
body.bk76-type-unified footer p{margin:14px 0!important}
body.bk76-type-unified footer .bk76-appointment-note{font-size:14px!important;line-height:1.75!important;padding:2px 0 2px 16px!important;border-left:2px solid #bcc9d3!important;box-sizing:border-box}
body.bk76-type-unified footer .bk76-social-links{display:flex!important;flex-wrap:wrap;gap:10px;margin-top:18px}
body.bk76-type-unified footer .bk76-social-link{min-height:44px;box-sizing:border-box;display:inline-flex!important;align-items:center;gap:7px}
body.bk76-type-unified footer .bk76-social-link svg{width:16px;height:16px;flex:none}
body.bk76-type-unified footer .footer-bottom span{font-size:12px!important;line-height:1.65!important}
body.bk76-type-unified footer.bk76-contact-footer{display:grid!important;grid-template-columns:minmax(220px,1.25fr) minmax(180px,1fr) minmax(220px,1.15fr)!important;gap:36px!important;align-items:start!important;padding-top:40px!important;padding-bottom:30px!important}
body.bk76-type-unified footer.bk76-contact-footer>:is(.footer-offer,.slim-footer-links,.footer-bottom){grid-column:1/-1!important}
body.bk76-type-unified footer.bk76-contact-footer :is(.footer-offer,.slim-footer-links){display:flex!important;flex-wrap:wrap;gap:10px 24px!important;border-top:1px solid #d9e0e5;padding-top:20px!important}
body.bk76-type-unified footer.bk76-contact-footer .slim-footer-links details{flex-basis:100%}
body.bk76-type-unified footer.bk76-contact-footer .slim-footer-links details div{display:flex;flex-wrap:wrap;gap:10px 24px;padding:16px 0}
body.bk76-type-unified footer.bk76-contact-footer .footer-bottom{margin-top:0!important;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid #d9e0e5;padding-top:20px}
body.bk76-type-unified .google-review-qr{display:block!important;visibility:visible!important;opacity:1!important;flex-shrink:0}
body.bk76-type-unified .google-review-qr img{display:block!important;visibility:visible!important;max-width:160px;height:auto}
@media(max-width:900px){body.bk76-type-unified footer.bk76-contact-footer{grid-template-columns:1fr 1fr!important;gap:28px!important}body.bk76-type-unified footer.bk76-contact-footer>.footer-intro{grid-column:1/-1}}
@media(max-width:600px){body.bk76-type-unified footer.bk76-contact-footer{grid-template-columns:minmax(0,1fr)!important;gap:26px!important}body.bk76-type-unified footer.bk76-contact-footer>*{min-width:0;grid-column:1!important}body.bk76-type-unified footer.bk76-contact-footer :is(.footer-offer,.slim-footer-links){gap:10px 20px!important}body.bk76-type-unified footer :is(p,a,small,span){overflow-wrap:anywhere}body.bk76-type-unified footer .brand *{overflow-wrap:normal}body.bk76-type-unified .google-review-cta{flex-wrap:wrap!important}}
