/*
Theme Name: Structured Collaboration
Theme URI: https://structuredcollaboration.com
Author: Alex McDonnell
Description: Website for Structured Collaboration, the method developed by Alex McDonnell while at Expertivity. A block theme from the same family as the alexmcdonnell.com theme, with its own accent colour, header and menu.
Version: 1.0.3
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: structured-collaboration
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.am-main .wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }
.wp-block-heading { margin-top: 0; }
section[id] { scroll-margin-top: 20px; }

/* ---------- Labels, lead text and accents ---------- */
.is-style-label {
	margin: 0 0 22px !important;
	font-size: 0.71rem;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: 0.19em;
	text-transform: uppercase;
	color: var(--wp--preset--color--label);
}
.is-layout-constrained > .is-style-label { margin-left: auto !important; margin-right: auto !important; }
.am-dark .is-style-label { color: var(--wp--preset--color--label-light); }
.is-style-lead {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.47;
}
.am-dark .is-style-lead { color: #d4d6d3; }
.am-principle .is-style-lead { color: #dde7e8; }

/* ---------- Header and navigation ---------- */
.am-header { padding-top: 0; padding-bottom: 0; }
.am-nav { min-height: 92px; border-bottom: 1px solid rgba(32, 30, 29, 0.2); gap: 24px; }
.am-brand { gap: 3px; }
.am-brand p { margin: 0; }
.am-brand-name { font-size: 0.9rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1.2; }
.am-brand-name a { text-decoration: none; }
.am-brand-tag { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #7a7169; line-height: 1.2; text-wrap: balance; }
.am-brand-tag span { white-space: nowrap; }
.am-menu { font-size: 0.76rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.am-menu .wp-block-navigation__container { gap: 22px !important; }
.am-menu a { text-decoration: none; }
.am-menu a:hover { color: var(--wp--preset--color--wine); }
.am-menu .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--paper) !important;
	border: 1px solid #d9cec0 !important;
	box-shadow: 0 14px 30px rgba(32, 30, 29, 0.12);
	padding: 8px 0;
	min-width: 230px !important;
}
.am-menu .wp-block-navigation__submenu-container a { padding: 10px 18px !important; }
.am-menu .am-nav-cta > a.wp-block-navigation-item__content { background: var(--wp--preset--color--wine); color: #fff !important; padding: 11px 18px; line-height: 1; }
.am-menu .am-nav-cta > a:hover { background: var(--wp--preset--color--ink); text-decoration: none; }
.am-brand { flex-shrink: 0; }
.am-menu { min-width: 0; }
.am-menu .wp-block-navigation__container { flex-wrap: wrap; justify-content: flex-end; row-gap: 10px !important; }
@media (max-width: 1200px) {
	.am-menu .wp-block-navigation__container { gap: 14px !important; }
	.am-menu .wp-block-navigation-item__content { letter-spacing: .02em !important; font-size: 11px !important; }
	.am-menu .am-nav-cta > a.wp-block-navigation-item__content { padding: 9px 10px; }
}

/* ---------- Intro (page opening) ---------- */
.am-intro { padding-top: 110px; padding-bottom: 110px; }
.am-intro h1 { margin: 0; }
.am-intro .is-style-lead { margin-top: 0; }
.am-intro .wp-block-buttons { margin-top: 34px; }

/* ---------- Sections ---------- */
.am-section { padding-top: 115px; padding-bottom: 115px; }
.am-split { gap: 90px !important; }
.am-monogram { font-family: var(--wp--preset--font-family--serif); line-height: 0.75; margin: 0; font-size: clamp(6rem, 13vw, 13rem); color: #d3d9d6; }
.am-statement {
	margin: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2rem, 3.7vw, 3.9rem);
	line-height: 1.17;
	letter-spacing: -0.03em;
}

/* Numbered rows (dark sections only) */
.am-rows { margin-top: 75px !important; border-top: 1px solid #5a5551; }
.am-row { margin: 0 !important; padding: 30px 0; border-bottom: 1px solid #5a5551; gap: 30px !important; }
.am-row-num { color: var(--wp--preset--color--label-light); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.15em; margin: 0; }
.am-row-title.wp-block-heading {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 1rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; line-height: 1.4; margin: 0;
}
.am-row p:not(.am-row-num) { color: #c8c1bb; margin: 0; }

/* Principle (accent band) */
.am-principle { padding-top: 130px; padding-bottom: 130px; }
.am-principle-quote {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2.4rem, 4.6vw, 4.8rem);
	line-height: 1.05;
	letter-spacing: -0.04em;
	margin: 0;
}
.am-short-rule.wp-block-separator { width: 80px; margin: 40px 0 30px !important; border: 0; border-top: 1px solid var(--wp--preset--color--label-light); opacity: 1; }
.am-principle .am-short-rule + p { color: #c9d6d8; }

/* Steps strip (light sections) */
.am-steps { margin-top: 75px !important; gap: 0 !important; border-top: 1px solid #d9cec0; border-bottom: 1px solid #d9cec0; }
.am-step { box-sizing: border-box; padding: 35px 26px 42px; border-right: 1px solid #d9cec0; min-height: 230px; }
.am-step:last-child { border-right: 0; }
.am-step-label { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wp--preset--color--wine); margin: 0 0 55px !important; }
.am-step h3 { margin-bottom: 14px; }
.am-after-steps { margin-top: 40px !important; }

/* Panels */
.am-panel { padding: 52px; border: 1px solid #d9cec0; box-shadow: 20px 20px 0 var(--wp--preset--color--stone); }
.am-panel h3 { margin-bottom: 20px; }
.am-panels { margin-top: 70px !important; gap: 60px !important; }
.am-dash-list { list-style: none; padding: 0; margin: 0; }
.am-dash-list li { display: grid; grid-template-columns: 32px 1fr; gap: 12px; padding: 14px 0; border-top: 1px solid #d9cec0; }
.am-dash-list li::before { content: "—"; color: var(--wp--preset--color--wine); }
.am-numbered { counter-reset: amn; }
.am-numbered li::before { counter-increment: amn; content: counter(amn, decimal-leading-zero); font-weight: 700; }

/* Contact */
.am-cta { padding-top: 100px; padding-bottom: 100px; }
.am-cta-buttons { justify-content: flex-end; }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--ink);
	border: 1px solid #81776d;
	padding: 19px 25px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: #fff; border-color: var(--wp--preset--color--ink); }
.am-dark .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.6); }
.am-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-light > .wp-block-button__link { background: var(--wp--preset--color--stone); border-color: var(--wp--preset--color--stone); color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-light > .wp-block-button__link:hover { background: #fff; border-color: #fff; }
.am-textlink a { font-weight: 800; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; color: var(--wp--preset--color--wine); }
.am-dark .am-textlink a { color: var(--wp--preset--color--label-light); }
.am-textlink a:hover { text-decoration: underline; }

/* ---------- Footer ---------- */
.am-footer { padding-top: 38px; padding-bottom: 38px; font-size: 0.8rem; }
.am-footer p { margin: 0; }
.am-footer a { color: #fff; }
.am-footer .am-small { margin-top: 14px; font-size: 0.72rem; opacity: .85; }

/* ---------- Posts and archives ---------- */
.am-page { padding-top: 80px; padding-bottom: 100px; }
.am-page-title { margin-bottom: 40px; }

/* ---------- Responsive ---------- */
@media (max-width: 940px) {
	.am-split { gap: 45px !important; }
	.am-steps:has(> .am-step:nth-child(4)) { flex-wrap: wrap !important; }
	.am-steps:has(> .am-step:nth-child(4)) > .am-step { flex-basis: 50% !important; border-bottom: 1px solid #d9cec0; }
	.am-steps:has(> .am-step:nth-child(4)) > .am-step:nth-child(2n) { border-right: 0; }
	.am-step { padding: 30px 20px 36px; }
	.am-cta-buttons { justify-content: flex-start; }
}
@media (max-width: 781px) {
	.am-section, .am-intro { padding-top: 80px; padding-bottom: 80px; }
	.am-principle { padding-top: 90px; padding-bottom: 90px; }
	.am-intro h1 { font-size: clamp(2.4rem, 10vw, 3.6rem); }
	.am-row { gap: 10px !important; padding: 24px 0; }
	.am-steps > .am-step { flex-basis: 100% !important; border-right: 0; border-bottom: 1px solid #d9cec0; min-height: 0; }
	.am-steps > .am-step:last-child { border-bottom: 0; }
	.am-step-label { margin-bottom: 24px !important; }
	.am-panel { padding: 30px; box-shadow: 10px 10px 0 var(--wp--preset--color--stone); }
	.am-footer .wp-block-group { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Structured Collaboration Canvas graphic */
.sc-canvas-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:40px}
.sc-canvas{min-width:980px;border:2px solid var(--wp--preset--color--wine,#1E4B55);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.35;color:#201E1D}
.sc-canvas *{box-sizing:border-box}
.sc-cv-title{background:var(--wp--preset--color--wine,#1E4B55);color:#fff;text-align:center;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:13px;padding:12px}
.sc-cv-body{display:grid;grid-template-columns:1fr 250px}
.sc-cv-main{border-right:2px solid var(--wp--preset--color--wine,#1E4B55)}
.sc-cv-meta{display:grid;grid-template-columns:1.2fr 1.2fr 1.6fr .8fr .8fr;border-bottom:1px solid #d9cec0}
.sc-cv-meta div,.sc-cv-vm div{padding:7px 10px;border-right:1px solid #d9cec0;font-weight:700;color:#4a4540}
.sc-cv-meta div:last-child,.sc-cv-vm div:last-child{border-right:0}
.sc-cv-vm{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #d9cec0;background:#F7F3EC}
.sc-cv-note{background:#FBEAEA;color:#8a1f1f;font-weight:700;text-align:center;padding:6px 10px;border-bottom:1px solid #d9cec0}
.sc-cv-grid{display:grid;grid-template-columns:1fr 1fr 1.9fr 1fr 1fr 1fr}
.sc-cv-col{border-right:1px solid #d9cec0;display:flex;flex-direction:column}
.sc-cv-col:last-child{border-right:0}
.sc-cv-h{font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:11px;text-align:center;padding:8px 6px;border-bottom:1px solid #d9cec0}
.sc-cv-q{padding:8px 10px;height:112px;border-bottom:1px solid #d9cec0;font-size:11.5px;color:#3d3935}
.sc-cv-sub{height:112px;display:grid;grid-template-columns:.8fr .8fr .9fr 2.2fr;border-bottom:1px solid #d9cec0}
.sc-cv-sub span{padding:6px;border-right:1px solid #d9cec0;font-size:10.5px;font-weight:700;text-align:center;color:#3d3935}
.sc-cv-sub span:last-child{border-right:0;text-align:left;font-weight:400}
.sc-cv-rows{flex:1;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 27px,#e8e0d4 27px,#e8e0d4 28px);min-height:196px}
.c-dep{background:#F3ECDF}.c-in{background:#E7F1F5}.c-task{background:#EAF3DE}.c-del{background:#E7F1F5}.c-cust{background:#FBF4D2}.c-proc{background:#FBF4D2}
.sc-cv-lot .sc-cv-h{background:#E3E9EA}
.sc-cv-lotgrid{display:grid;grid-template-columns:34px 1fr 74px;font-size:11px}
.sc-cv-lotgrid span{padding:6px;border-bottom:1px solid #d9cec0;border-right:1px solid #d9cec0;min-height:28px}
.sc-cv-lotgrid span:nth-child(3n){border-right:0}
.sc-cv-lotgrid .hd{font-weight:800;background:#F7F3EC;text-align:center}
.sc-cv-foot{text-align:center;font-size:11px;color:#706A64;padding:8px;border-top:1px solid #d9cec0}
