/* Knowledge Centre: South Coast construction field notes. */
:root { --kc-ink:#080d10; --kc-panel:#10191e; --kc-panel-soft:#141f24; --kc-chalk:#f0f1e9; --kc-muted:#a1aaa8; --kc-blue:#61d0e8; --kc-line:rgba(211,231,231,.16); --kc-copper:#e39c72; }
.kc-page { position:relative; isolation:isolate; overflow:hidden; background:var(--kc-ink); color:var(--kc-chalk); min-height:55vh; padding-top:6rem; }
.kc-page:before { position:absolute; z-index:-1; inset:0 0 auto; height:54rem; content:""; pointer-events:none; opacity:.24; background-image:linear-gradient(rgba(97,208,232,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(97,208,232,.09) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom,#000,transparent 86%); }
.kc-wrap { width:min(100% - 2rem,76rem); margin-inline:auto; }
.kc-hero { position:relative; border-bottom:1px solid var(--kc-line); padding:5.5rem 0 4.25rem; background:linear-gradient(112deg,rgba(18,35,42,.95),rgba(8,13,16,.92) 68%); }
.kc-hero:after { position:absolute; content:""; width:28rem; height:1px; right:7%; bottom:0; background:linear-gradient(90deg,transparent,var(--kc-blue),transparent); opacity:.7; }
.kc-hero-layout { display:grid; grid-template-columns:minmax(0,1fr) 20rem; gap:4rem; align-items:center; }
.kc-hero-copy { max-width:54rem; }
.kc-eyebrow,.kc-card-category,.kc-topic-label { color:var(--kc-blue); font:600 .7rem/1.4 'Oswald',system-ui,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.kc-eyebrow { display:flex; align-items:center; gap:.8rem; }
.kc-eyebrow:before { width:1.6rem; height:2px; background:var(--kc-copper); content:""; }
.kc-hero h1,.kc-article-header h1,.kc-empty h1 { font:500 clamp(3rem,7.2vw,6.3rem)/.98 'Oswald',system-ui,sans-serif; letter-spacing:-.025em; text-transform:uppercase; margin:1.25rem 0; max-width:13ch; }
.kc-intro { max-width:42rem; color:#c6cfcd; font-size:clamp(1.05rem,2vw,1.2rem); line-height:1.8; margin:1.35rem 0 1.65rem; }
.kc-text-link,.kc-card-link { color:var(--kc-blue); text-decoration:none; font-size:.9rem; }
.kc-text-link { display:inline-flex; align-items:center; gap:.5rem; }
.kc-text-link span,.kc-card-link span,.kc-button span { transition:transform .2s ease; }
.kc-text-link:hover span,.kc-card-link:hover span,.kc-button:hover span { transform:translateX(4px); }
.kc-text-link:hover,.kc-card-link:hover { color:#fff; }
.kc-field-stamp { position:relative; display:flex; flex-direction:column; align-items:flex-start; padding:1.7rem 1.6rem 1.45rem; border:1px solid rgba(97,208,232,.35); background:rgba(8,13,16,.54); box-shadow:9px 9px 0 rgba(97,208,232,.06); transform:rotate(1deg); }
.kc-field-stamp:before,.kc-field-stamp:after { position:absolute; width:1.1rem; height:1.1rem; content:""; border-color:var(--kc-copper); border-style:solid; }
.kc-field-stamp:before { top:-1px; left:-1px; border-width:2px 0 0 2px; }
.kc-field-stamp:after { right:-1px; bottom:-1px; border-width:0 2px 2px 0; }
.kc-stamp-mark { display:grid; width:2.25rem; height:2.25rem; place-items:center; border:1px solid var(--kc-copper); border-radius:50%; color:var(--kc-copper); font:500 .8rem 'Oswald',sans-serif; }
.kc-stamp-kicker { margin-top:1.2rem; color:var(--kc-blue); font:600 .62rem 'Oswald',sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.kc-field-stamp strong { margin:.6rem 0 1.1rem; font:500 1.7rem/1.18 'Oswald',sans-serif; text-transform:uppercase; }
.kc-stamp-rule { width:100%; height:1px; background:var(--kc-line); }
.kc-stamp-foot { margin-top:.75rem; color:#7d8b8a; font:600 .55rem 'Oswald',sans-serif; letter-spacing:.12em; }
.kc-section { padding-top:4.2rem; padding-bottom:5.8rem; }
.kc-section-head { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1.5rem; }
.kc-section-head h2,.kc-contact h2,.kc-article-nav h2,.kc-article-cta h2 { font:500 clamp(1.7rem,3vw,2.5rem)/1.15 'Oswald',system-ui,sans-serif; text-transform:uppercase; margin:.5rem 0 0; }
.kc-section-head .kc-eyebrow { margin:0; }
.kc-count { display:flex; align-items:baseline; gap:.45rem; color:#aab3b1; font:500 .78rem 'Oswald',sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.kc-count-number { color:var(--kc-copper); font-size:1.4rem; }
.kc-topics { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; border-block:1px solid var(--kc-line); padding:1rem 0; margin:1.3rem 0 2rem; }
.kc-topic-label { margin-right:.45rem; }
.kc-topic { color:#c6cfcd; border:1px solid #344249; padding:.48rem .85rem; border-radius:2px; text-decoration:none; font-size:.78rem; transition:color .15s,border-color .15s,background .15s; }
.kc-topic:hover,.kc-topic-active { color:var(--kc-ink); border-color:var(--kc-blue); background:var(--kc-blue); }
.kc-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:1.2rem; }
.kc-card { position:relative; grid-column:span 4; min-width:0; overflow:hidden; border:1px solid var(--kc-line); background:linear-gradient(145deg,#111a1e,#0c1215); transition:border-color .2s,transform .2s; }
.kc-card:hover { border-color:rgba(97,208,232,.7); transform:translateY(-3px); }
.kc-card-featured { grid-column:1/-1; display:grid; grid-template-columns:1.16fr 1fr; min-height:26rem; }
.kc-card-image { position:relative; display:block; width:100%; min-width:0; box-sizing:border-box; overflow:hidden; min-height:13rem; background:#182329; aspect-ratio:16/9; }
.kc-card-featured .kc-card-image { height:100%; min-height:26rem; aspect-ratio:auto; }
.kc-card-image:after { position:absolute; inset:35% 0 0; content:""; pointer-events:none; background:linear-gradient(transparent,rgba(0,0,0,.65)); }
.kc-card-image img { display:block; width:100%; max-width:100%; height:100%; object-fit:cover; filter:saturate(.76); transition:transform .55s ease,filter .35s ease; }
.kc-card:hover .kc-card-image img { transform:scale(1.035); filter:saturate(1); }
.kc-image-caption { position:absolute; z-index:1; left:1.15rem; bottom:1rem; color:#fff; font:600 .6rem 'Oswald',sans-serif; letter-spacing:.14em; }
.kc-card-copy { display:flex; flex-direction:column; align-items:flex-start; padding:1.35rem 1.45rem 1.5rem; }
.kc-card-featured .kc-card-copy { justify-content:center; padding:clamp(2rem,5vw,4.5rem); }
.kc-card-category { font-size:.64rem; margin:0 0 .8rem; }
.kc-card h3 { font:500 1.28rem/1.28 'Oswald',system-ui,sans-serif; text-transform:uppercase; margin:0 0 .7rem; }
.kc-card-featured h3 { max-width:14ch; font-size:clamp(2rem,4.2vw,3.6rem); line-height:1.08; }
.kc-card h3 a { color:var(--kc-chalk); text-decoration:none; }
.kc-card h3 a:hover { color:var(--kc-blue); }
.kc-card-summary { color:var(--kc-muted); font-size:.88rem; line-height:1.8; margin:0 0 1.2rem; max-width:38rem; }
.kc-card-featured .kc-card-summary { font-size:1rem; }
.kc-card-link { display:inline-flex; gap:.5rem; align-items:center; margin-top:auto; padding-top:.7rem; font:600 .72rem 'Oswald',sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.kc-contact { position:relative; border-top:1px solid var(--kc-line); background:linear-gradient(105deg,#111c20,#0b1114); padding:3.5rem 0; }
.kc-starting-points { padding-top:1.25rem; padding-bottom:4.5rem; }
.kc-starting-points > .kc-eyebrow { margin-bottom:.6rem; }
.kc-starting-points > h2 { max-width:18ch; margin:0 0 1.4rem; font:500 clamp(1.8rem,3vw,2.5rem)/1.15 'Oswald',system-ui,sans-serif; text-transform:uppercase; }
.kc-answer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.kc-answer-grid article { border:1px solid var(--kc-line); border-top:2px solid var(--kc-copper); background:linear-gradient(145deg,#111a1e,#0c1215); padding:1.15rem; }
.kc-answer-grid h3 { margin:0 0 .55rem; color:var(--kc-chalk); font:500 1.05rem/1.35 'Oswald',system-ui,sans-serif; text-transform:uppercase; }
.kc-answer-grid p { margin:0; color:var(--kc-muted); font-size:.86rem; line-height:1.75; }
.kc-contact-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.kc-contact h2 { max-width:30rem; }
.kc-contact p:not(.kc-eyebrow),.kc-article-cta p { color:var(--kc-muted); font-size:.9rem; margin:.75rem 0 0; }
.kc-button { display:inline-flex; gap:.75rem; align-items:center; justify-content:center; background:var(--kc-blue); color:#071014; padding:.95rem 1.2rem; text-decoration:none; font-size:.82rem; font-weight:700; transition:background .15s; }
.kc-button:hover { background:#fff; }
.kc-empty { padding:5rem 0; }
.kc-empty h3 { font:500 1.6rem 'Oswald',system-ui,sans-serif; text-transform:uppercase; }
.kc-empty p { color:var(--kc-muted); margin:.8rem 0 1.4rem; }
.kc-article-wrap { max-width:70rem; padding-top:2rem; padding-bottom:5rem; }
.kc-breadcrumb { display:flex; flex-wrap:wrap; gap:.6rem; color:#798482; font-size:.75rem; margin:0 0 2.4rem; }
.kc-breadcrumb a { color:#b0bbb9; text-decoration:none; }
.kc-breadcrumb a:hover { color:var(--kc-blue); }
.kc-breadcrumb [aria-current] { color:#d9ded8; }
.kc-draft { background:#f2c14e; color:#151515; display:inline-block; padding:.45rem .7rem; margin:0 0 .5rem; font:600 .72rem 'Oswald',sans-serif; letter-spacing:.08em; }
.kc-draft-note { color:#e6c879; font-size:.82rem; margin:0 0 1.25rem; }
.kc-article { max-width:54rem; margin:auto; }
.kc-article-header { position:relative; padding:2.2rem 0 2rem; }
.kc-article-header:after { display:block; width:5rem; height:2px; margin-top:1.7rem; background:var(--kc-copper); content:""; }
.kc-article-header h1 { max-width:16ch; font-size:clamp(2.7rem,6vw,5.3rem); }
.kc-article-deck { color:#c6cfcd; font-size:clamp(1.08rem,2vw,1.25rem); line-height:1.8; max-width:43rem; }
.kc-byline { margin:1.25rem 0 0; color:#96a19f; font-size:.75rem; }
.kc-feature-image { position:relative; box-sizing:border-box; width:min(43rem,100%); margin:1rem auto 2.5rem; background:#141e22; border:1px solid var(--kc-line); }
.kc-feature-image img { display:block; width:100%; max-height:42rem; object-fit:cover; }
.kc-article-lead { color:#e3e6df; font-size:1.22rem; line-height:1.8; border-left:2px solid var(--kc-copper); padding:.35rem 0 .35rem 1.35rem; margin:2rem 0 2.5rem; }
.kc-quick-answer { border:1px solid rgba(97,208,232,.38); border-left:3px solid var(--kc-blue); background:linear-gradient(110deg,rgba(23,47,55,.8),rgba(16,25,30,.82)); padding:1.15rem 1.35rem; margin:1.3rem 0 2rem; }
.kc-quick-answer .kc-eyebrow { margin:0 0 .45rem; font-size:.64rem; }
.kc-quick-answer p:last-child { color:#edf3ef; font-size:1.04rem; line-height:1.75; margin:0; }
.kc-author-note { border-top:1px solid var(--kc-line); border-bottom:1px solid var(--kc-line); padding:1rem 0; margin:1.5rem 0 2rem; color:var(--kc-muted); font-size:.84rem; line-height:1.75; }
.kc-author-note strong { display:block; color:var(--kc-chalk); font:500 1rem 'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.04em; margin-bottom:.3rem; }
.kc-author-note p { margin:0; }
.kc-author-note a { color:var(--kc-blue); }
.kc-prose { max-width:43rem; color:#c3ccca; font-size:1rem; line-height:1.95; }
.kc-prose section { margin:2.8rem 0; }
.kc-prose h2 { color:var(--kc-chalk); font:500 1.75rem/1.3 'Oswald',system-ui,sans-serif; text-transform:uppercase; margin:0 0 .9rem; }
.kc-prose p { margin:0 0 1rem; }
.kc-prose a { color:var(--kc-blue); text-underline-offset:3px; }
.kc-note { border:1px solid var(--kc-line); border-left:2px solid var(--kc-copper); padding:1.2rem 1.3rem; margin:2.5rem 0; font-size:.88rem; background:rgba(20,31,36,.65); }
.kc-note strong { color:var(--kc-chalk); font:500 1rem 'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.04em; }
.kc-note p { margin:.55rem 0 0; }
.kc-article-nav { border-top:1px solid var(--kc-line); padding-top:2rem; margin-top:3rem; }
.kc-article-nav h2 { font:500 clamp(1.7rem,3vw,2.5rem)/1.15 'Oswald',system-ui,sans-serif; text-transform:uppercase; margin:.5rem 0 0; }
.kc-article-nav-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1rem; }
.kc-article-nav-list a { display:grid; gap:.4rem; padding:1rem; background:var(--kc-panel); border:1px solid var(--kc-line); text-decoration:none; transition:border-color .2s; }
.kc-article-nav-list a:hover { border-color:var(--kc-blue); }
.kc-article-nav-list span { color:#899492; font-size:.72rem; }
.kc-article-nav-list span:first-child { color:var(--kc-blue); text-transform:uppercase; letter-spacing:.1em; }
.kc-article-nav-list strong { color:var(--kc-chalk); font:500 1.1rem/1.3 'Oswald',system-ui,sans-serif; text-transform:uppercase; }
.kc-article-cta { border-top:1px solid var(--kc-line); margin-top:3rem; padding-top:2rem; }
.kc-article-cta .kc-button { margin-top:1.2rem; }
.kc-share { border-top:1px solid var(--kc-line); margin-top:2.4rem; padding-top:1.5rem; }
.kc-share h2 { font:500 1.3rem/1.2 'Oswald',system-ui,sans-serif; text-transform:uppercase; margin:0 0 1rem; }
.kc-share-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
.kc-share-actions a,.kc-share-actions button { display:inline-flex; align-items:center; border:1px solid #3b4a50; background:var(--kc-panel); color:#ddd; padding:.65rem .9rem; font:600 .75rem/1.2 system-ui,sans-serif; text-decoration:none; cursor:pointer; }
.kc-share-actions a:hover,.kc-share-actions button:hover { border-color:var(--kc-blue); color:var(--kc-blue); }
.kc-copy-status { display:block; min-height:1.2em; color:var(--kc-blue); font-size:.75rem; margin-top:.7rem; }
.kc-prose ul,.kc-prose ol { color:#c7cfcd; line-height:1.8; padding-left:1.5rem; margin:1rem 0 1.3rem; }
.kc-prose li { padding-left:.2rem; margin:.35rem 0; }
.kc-page a:focus-visible,.kc-page button:focus-visible { outline:2px solid var(--kc-copper); outline-offset:4px; }
@media(max-width:850px) { .kc-hero-layout { grid-template-columns:minmax(0,1fr) 16rem; gap:2rem; } .kc-card { grid-column:span 6; } .kc-card-featured { grid-column:1/-1; } }
@media(max-width:850px) { .kc-answer-grid { grid-template-columns:1fr; } }
@media(max-width:640px) { .kc-page { padding-top:4rem; } .kc-hero { padding:3.7rem 0 3rem; } .kc-hero-layout { grid-template-columns:1fr; gap:2rem; } .kc-field-stamp { width:min(100%,22rem); } .kc-grid { grid-template-columns:1fr; } .kc-card,.kc-card-featured { grid-column:1/-1; display:flex; flex-direction:column; } .kc-card-featured .kc-card-image { height:auto; min-height:0; aspect-ratio:16/10; } .kc-card-copy,.kc-card-featured .kc-card-copy { padding:1.25rem; } .kc-card-featured h3 { font-size:2rem; } .kc-section { padding-top:3rem; padding-bottom:3.7rem; } .kc-starting-points { padding-top:.25rem; padding-bottom:3.5rem; } .kc-contact-inner { align-items:flex-start; flex-direction:column; gap:1.25rem; } .kc-article-wrap { padding-top:1.25rem; padding-bottom:3.5rem; } .kc-article-header { padding-top:1rem; } .kc-article-header h1 { font-size:2.7rem; } .kc-article-nav-list { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .kc-page *, .kc-page *::before, .kc-page *::after { scroll-behavior:auto!important; transition:none!important; } }
