/* 예조 4차: shared navigation, search, and mobile inquiry layout. */
:root{--yejo-header-height:76px;--yejo-text:#273443;--yejo-accent:#795421}
html{scroll-padding-top:calc(var(--yejo-header-height) + 20px)}
body{font-size:1rem}
button,input,select,textarea{font:inherit}
button,a,input,summary{-webkit-tap-highlight-color:transparent}
button,a,summary{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #ab741e;outline-offset:4px}
input[type=search]{font-size:1rem!important}
[hidden]{display:none!important}
.nav .navin{min-height:76px;gap:20px;padding:10px 24px}
.nav .brand{flex:0 1 225px;min-width:0}
.nav .brand img{width:225px;max-width:100%;max-height:56px;object-fit:contain}
.nav{z-index:1100}
.nav .menu{align-items:center;font-family:'Noto Sans KR','Malgun Gothic',sans-serif;font-size:1rem;gap:28px}
.nav .menu a{min-height:44px;display:inline-flex;align-items:center}
.nav .submenu a{display:flex;font-size:.9375rem;line-height:1.5}
.nav .menu a[aria-current=page]{color:var(--yejo-accent);text-decoration:underline;text-underline-offset:8px}
.nav .mobile-panel{top:var(--yejo-header-height);max-height:calc(100dvh - var(--yejo-header-height));padding-bottom:max(24px,env(safe-area-inset-bottom))}
.nav .mobile-panel a,.nav .mobile-panel summary{font-size:1rem;min-height:44px}
.skip-link{position:fixed;top:8px;left:12px;z-index:12000;padding:10px 18px;background:#102033;color:#fff;border-radius:8px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.home-page .hero{min-height:0;padding:140px 24px 64px}
.home-page .hero h1{font-size:clamp(2.25rem,5.4vw,4.5rem);letter-spacing:-.055em;line-height:1.3;margin-bottom:14px;word-break:keep-all;overflow-wrap:anywhere}
.home-page .hero p{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;font-size:clamp(1rem,1.7vw,1.375rem);line-height:1.8;max-width:720px}
.home-page .btns{margin-top:26px;gap:12px}
.home-page .btn{min-height:50px;align-items:center;font-size:1rem;padding:12px 24px}
.home-page .home-search{margin-top:26px;max-width:780px}
.home-page .home-search form{border-radius:14px;position:relative}
.home-page .home-search input{font-size:1rem;padding:13px 14px;line-height:1.5}
.home-page .home-search button{min-width:68px;border-radius:10px;background:#795421;font-size:1rem}
.home-page .home-popular{display:flex;flex-wrap:wrap;gap:8px}
.home-page .home-popular a{font-size:.875rem;min-height:40px;display:inline-flex;align-items:center;padding:7px 13px}
.home-page #service{padding:64px 24px;background:#fff}
.home-page #service .head{text-align:left;margin-bottom:28px}
.home-page #service .title{font-size:clamp(1.875rem,3vw,2.625rem);letter-spacing:-.04em}
.home-page #service .desc{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;font-size:1rem;margin:12px 0 0}
.home-page #service .list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.home-page #service .item{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px;min-width:0;padding:24px;border-radius:16px;border:1px solid #dac9ab;background:#fffdf8;box-shadow:none}
.home-page #service .item strong{font-size:1.1875rem;line-height:1.5;letter-spacing:-.025em;word-break:keep-all}
.home-page #service .item .service-description{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;font-size:.9375rem;line-height:1.75;color:#635c53;word-break:keep-all}
.home-page #service .item .service-more{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;font-size:.875rem;color:var(--yejo-accent);padding-top:8px;margin-top:auto}
.home-page #service .item:hover{border-color:#967340;background:#faf5eb;transform:translateY(-3px)}
.home-page #service .item:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr auto;align-items:center;background:#102033;color:#fff;border-color:#102033}
.home-page #service .item:last-child strong{color:#fff}
.home-page #service .item:last-child .service-description{color:#e0e4e8}
.home-page #service .item:last-child .service-more{color:#e4c180;padding-top:0}
.home-page .event-gallery{padding:64px 24px}
.home-page .event-gallery-head{margin-bottom:28px}
.home-page .event-gallery .desc{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;font-size:1rem;line-height:1.8}
.home-page .event-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.home-page .event-card{min-width:0;font:inherit}
.home-page .event-card-image{aspect-ratio:4/3;min-height:0;height:auto}
.home-page .event-card-image img{width:100%;height:100%;object-fit:cover}
.home-page .event-card-title{font-size:1rem;line-height:1.5}
.home-page .event-card-desc{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;font-size:.875rem;line-height:1.65}
.event-gallery-actions{text-align:center;margin-top:26px}
.event-gallery-toggle{min-height:48px;border:1px solid #927044;border-radius:10px;background:#fffdf8;color:#493621;padding:12px 24px;font-size:1rem;font-weight:700;cursor:pointer}
.event-gallery-toggle:hover{background:#eee2cd}
.home-page .fade{opacity:1;transform:none}
.home-page #projects{padding:64px 24px}
.suggestions{max-height:min(420px,55dvh);overflow-y:auto!important;overscroll-behavior:contain}
.suggestions a{min-height:52px;font-size:1rem;line-height:1.5}
.suggestions a.is-active,.suggestions a:focus-visible{background:#f4ead8;outline-offset:-3px}
.suggestions small{font-size:.8125rem}
.catalog-toolbar{top:var(--yejo-header-height)}
.catalog-toolbar .catalog-search input{font-size:1rem!important}
.catalog-toolbar .yejo-service-links a{font-size:.875rem;min-height:40px}
.filter-chips .chip{font-size:.875rem;min-height:44px}
.catalog-card .catalog-body h2{line-height:1.5;word-break:keep-all}
.catalog-card .catalog-actions a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:.9375rem}
.search-page .head{margin-bottom:24px}
.search-page .section-title{font-size:clamp(1.875rem,4vw,3rem);line-height:1.35;letter-spacing:-.04em}
.search-box-large{margin-bottom:24px;border-radius:14px}
.search-box-large button{min-width:70px;min-height:48px;background:#795421;color:#fff;font-size:1rem}
.search-summary{font-size:1rem;line-height:1.7;overflow-wrap:anywhere}
.search-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.search-results .result-card{padding:0;border:1px solid #d6c5a8;border-radius:16px;overflow:hidden;box-shadow:none;min-width:0}
.result-card .result-link{display:flex;flex-direction:column;height:100%;color:inherit}
.result-card .result-link:hover{background:#fbf6eb}
.result-image{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff;border-bottom:1px solid #e5d8c2}
.result-body{padding:22px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.result-card .result-body small{font-size:.8125rem;color:#735221;line-height:1.6}
.result-card .result-body h2{font-size:1.25rem;line-height:1.5;margin:8px 0;word-break:keep-all}
.result-card .result-body p{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;font-size:.9375rem;line-height:1.8;word-break:keep-all}
.result-card .result-body .go{font-size:.9375rem;color:#735221;margin-top:auto;padding-top:16px}
.search-results .search-empty{grid-column:1/-1;border:1px solid #dac9ab;background:#fff;padding:32px;border-radius:16px;line-height:1.9}
.search-empty h2{font-size:1.25rem;color:#102033;margin-bottom:10px}
.search-empty p{font-size:1rem;color:#635c53}
.search-empty a{display:inline-flex;align-items:center;min-height:44px;color:#795421;text-decoration:underline;text-underline-offset:4px;margin:12px 18px 0 0}
.search-empty .chat-link{background:#fee500;border-radius:8px;color:#191919;text-decoration:none;padding:10px 16px}
.contact .inquiry-card-top>div{min-width:0}
.contact .inquiry-card p{font-size:1rem}
.contact .inquiry-card .kakao-icon svg{width:30px;height:30px}
.yejo-contact-dock{position:fixed;right:20px;bottom:20px;z-index:1001;display:flex;gap:8px;font-family:'Noto Sans KR','Malgun Gothic',sans-serif}
.yejo-contact-dock a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:10px 18px;border-radius:12px;font-size:.9375rem;font-weight:700;line-height:1.4;box-shadow:0 6px 24px rgba(16,32,51,.18)}
.yejo-contact-dock .dock-phone{background:#694a31;color:#fff}
.yejo-contact-dock .dock-kakao{background:#fee500;color:#191919}
.yejo-contact-dock svg{width:28px;height:28px;flex:none}
.yejo-contact-dock .dock-phone>span{font-size:1.25rem}
.yejo-contact-dock a:hover{filter:brightness(.96)}
body .yejo-to-top{right:20px;bottom:90px;width:52px;height:52px}
body .yejo-to-top .label{font-size:.75rem}
.event-modal-main img{touch-action:pan-y}
.event-modal-count{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;text-align:center;color:#fff;font-size:.875rem;padding:10px}
@media(max-width:1050px){
 .nav .menu{display:none!important}
 .nav .mobile-nav{display:block!important}
 .home-page #service .list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page #service .item:last-child{grid-template-columns:1fr}
 .home-page .event-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 :root{--yejo-header-height:72px}
 body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
 .nav .navin{min-height:72px;padding:8px 16px}
 .nav .brand{flex-basis:190px}
 .nav .mobile-panel{padding-bottom:calc(94px + env(safe-area-inset-bottom))}
 .home-page .hero{padding:110px 18px 40px}
 .home-page .hero h1{font-size:clamp(1.875rem,7.7vw,3rem);letter-spacing:-.045em;line-height:1.4}
 .home-page .hero p{font-size:1rem;line-height:1.85}
 .home-page .btns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}
 .home-page .btns .btn{min-width:0;padding:12px 8px;font-size:.875rem}
 .home-page .home-search{margin-top:20px}
 .home-page .home-search input{padding:12px 8px}
 .home-page .home-search button{padding:0 15px}
 .home-page #service,.home-page .event-gallery,.home-page #projects{padding:44px 18px}
 .home-page #service .head{margin-bottom:22px}
 .home-page #service .list{gap:10px}
 .home-page #service .item{padding:18px 14px;gap:8px;border-radius:12px}
 .home-page #service .item strong{font-size:1rem;line-height:1.6}
 .home-page #service .item .service-description{font-size:.875rem;line-height:1.7}
 .home-page #service .item .service-more{font-size:.875rem}
 .home-page .event-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .home-page .event-card-title{font-size:.9375rem;line-height:1.5}
 .home-page .event-card-desc{font-size:.875rem}
 .catalog-toolbar{position:relative;top:auto}
 .catalog-toolbar .yejo-service-links{flex-wrap:wrap;overflow:visible}
 .catalog-toolbar .yejo-service-shortcuts strong{font-size:.875rem}
 .catalog-toolbar .yejo-service-links a{font-size:.875rem;min-height:40px;padding:8px 12px}
 .search-page{padding:104px 18px 44px}
 .search-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .result-body{padding:15px}
 .result-card .result-body h2{font-size:1.125rem}
 .result-card .result-body p{font-size:.875rem}
 .search-results .search-empty{padding:24px}
 .yejo-contact-dock{right:0;left:0;bottom:0;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,253,248,.97);border-top:1px solid #d6c5a8;box-shadow:0 -3px 18px rgba(16,32,51,.08)}
 .yejo-contact-dock a{flex:1;min-width:0;min-height:50px;padding:10px 8px;border-radius:10px;font-size:.875rem;box-shadow:none}
 body .yejo-to-top{right:16px;bottom:calc(88px + env(safe-area-inset-bottom));width:48px;height:48px}
}
@media(max-width:400px){
 .search-results{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
