/* DOC Group V10.3 — Production Polish & QA */
:root{--focus:#9b6d25;--radius:18px;--shadow-soft:0 18px 50px rgba(18,18,16,.08)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto}
a,button,input,textarea,select{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(191,146,72,.42);outline-offset:3px}
::selection{background:rgba(191,146,72,.22)}
.container{max-width:1240px}
.header{z-index:1000}
.header.is-scrolled{box-shadow:0 8px 30px rgba(18,18,16,.06)}
.nav a{white-space:nowrap}
.section-head h2,.hero h1,.page-hero h1,.partner-inner h2,.destination-copy h2{overflow-wrap:anywhere}
.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(18,18,16,.12)}
.business,.project-card,.post-card,.case-showcase-card,.related-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.business:hover,.project-card:hover,.post-card:hover,.case-showcase-card:hover,.related-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:rgba(191,146,72,.35)}
.business-bg,.project-img,.destination-media,.story-image,.case-cover,.related-thumb{background-color:#ded7cd}
.lead-form input,.lead-form textarea,.lead-form select{border-radius:10px;min-height:46px}
.lead-form textarea{min-height:130px;resize:vertical}
.footer a:hover{color:#fff}

/* Article system polish */
.article-page{background:#fbfaf7}
.article-wrap,.article-container{max-width:880px}
.article-header{padding-top:54px}
.article-header h1{max-width:900px;text-wrap:pretty}
.article-excerpt{max-width:760px}
.article-cover img{display:block;aspect-ratio:16/9;object-fit:cover;background:#e8e2d8}
.article-page,.article-wrap,.article-container{max-width:100%;overflow-x:hidden}.article-content{color:#28251f;overflow-wrap:break-word}
.article-content>p:first-of-type{font-size:1.08em;color:#423d35}
.article-content h2,.article-content h3{scroll-margin-top:120px;text-wrap:pretty;overflow-wrap:normal;word-break:normal;hyphens:none}
.article-content h2{padding-top:4px;border-top:1px solid transparent;font-size:clamp(30px,3.2vw,42px);line-height:1.16;letter-spacing:0;max-width:100%;margin-top:54px;margin-bottom:18px}
.article-content a{font-weight:650;text-decoration-thickness:1px;text-underline-offset:3px}
.article-content ul,.article-content ol{padding-left:1.35em;margin:0 0 28px}
.article-content li{margin:8px 0}
.article-content table{width:100%;border-collapse:collapse;margin:32px 0;font-size:15px;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.article-content th,.article-content td{padding:12px 14px;border:1px solid #ddd4c8;text-align:left;min-width:140px}
.article-content th{background:#f2ede5}
.article-content pre{max-width:100%;overflow:auto;padding:18px;background:#171713;color:#f4efe6;border-radius:12px}
.article-content code{overflow-wrap:anywhere}
.article-content blockquote{border-radius:0 12px 12px 0}
.answer-first,.article-toc,.authority-box,.editorial-note{border-radius:14px}
.article-toc a{line-height:1.55}
.related-card{height:100%}
.related-body h3{text-wrap:balance}

/* Forms and conversion */
input,textarea,select{font-size:16px}
.form-message[aria-live]{min-height:22px}

/* Responsive QA */
@media(max-width:1080px){.nav{gap:16px}.nav a{font-size:11px}.navwrap{height:84px}.logo img{height:54px}}
@media(max-width:980px){.header .nav.open{max-height:calc(100vh - 84px);overflow:auto;border-bottom:1px solid var(--line);box-shadow:0 18px 45px rgba(0,0,0,.08)}.header .nav a{padding:12px 6px;font-size:13px}.header .nav .partner{margin-top:6px}.section-head p{max-width:760px}.project-grid,.business-grid{gap:14px}}
@media(max-width:680px){
  .container{width:calc(100% - 28px)}
  .hero{min-height:82svh}.hero-inner{padding-top:118px}.hero h1{font-size:clamp(43px,13vw,58px);line-height:.98}.hero p{font-size:15px;line-height:1.7}.hero-actions{display:grid;grid-template-columns:1fr;align-items:stretch}.hero-actions .btn{width:100%}
  .section{padding:66px 0}.section h2{font-size:clamp(34px,10vw,43px);line-height:1.03}.section-head{margin-bottom:32px}.kicker,.eyebrow{letter-spacing:.13em}
  .business,.visual{min-height:390px}.business-content{padding:24px}.business h3{font-size:29px}
  .destination-media{min-height:360px}.destination-copy{padding:32px 22px}.destination-copy h2{font-size:40px}
  .page-hero{min-height:64svh}.page-hero-inner{padding:130px 0 48px}.page-hero h1{font-size:clamp(45px,13vw,64px);letter-spacing:-2px}.page-hero p{font-size:15px}
  .partner-section{min-height:auto}.partner-inner{padding:72px 0}.partner-inner h2{font-size:42px}.partner-meta{border-left:0;border-top:1px solid rgba(255,255,255,.25);padding:24px 0 0}
  .lead-form{padding:22px 18px}.contact-grid{gap:34px}
  .article-wrap,.article-container{width:calc(100% - 28px);max-width:100%;overflow-x:hidden}.article-page{padding-top:76px;overflow-x:hidden}.breadcrumb,.article-header,.answer-first,.article-toc,.authority-box,.editorial-note,.article-content{max-width:100%;min-width:0}.breadcrumb span,.breadcrumb a,.article-excerpt,.answer-first p,.answer-first a,.article-toc a{overflow-wrap:anywhere}.article-header{padding:34px 0 24px}.article-header h1{font-size:clamp(30px,8.8vw,38px)!important;line-height:1.1;letter-spacing:0!important;max-width:100%;overflow-wrap:anywhere;word-break:normal;text-wrap:pretty}.article-excerpt{font-size:17px}.article-content{font-size:17px;line-height:1.78}.article-content h2{font-size:27px;line-height:1.2;margin-top:42px;margin-bottom:14px}.article-content h3{font-size:22px;line-height:1.24}.article-cover{margin-bottom:28px}.article-cover img{aspect-ratio:4/3;width:100%;max-width:100%}.article-content table{font-size:14px}.article-cta{margin:52px 0;padding:24px 20px}
  .mobile-cta{padding-bottom:env(safe-area-inset-bottom)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}}
