:root{--ink:#15130F;--paper:#F6F3EC;--saffron:#F0BA1F;--saffron-deep:#A97A00;--blue-deep:#2F6DB5;--wall:#EBB51F;--ink-blue:#6E9FD8;--ai-blue:#3D9BE0;--muted:#B8B2A6;--soft:#A39D91;--line:#3A362F;--field:#1E1B16;--max:1280px}
*{box-sizing:border-box}

/*
body{margin:0;background:var(--ink);color:var(--paper);font-family:'Instrument Sans',system-ui,sans-serif}
*/
body{font-family:'Instrument Sans',system-ui,sans-serif}
.ink{margin:0;background:var(--ink);color:var(--paper);font-family:'Instrument Sans',system-ui,sans-serif}
a{color:var(--paper);text-decoration:none} a:hover{color:var(--saffron)}

/* ===== Layout ===== */
.max-wrap{max-width:var(--max);margin:0 auto}

/* ===== Headings (moved from style.css, to be assimilated) ===== */
h1,h2,h3,h4,h5,h6{border:0;margin:0;padding:0}
h1,h3,h4,h5,h6{clear:both}
/*
h1,h2,h3{font-family:Impact,sans-serif;font-size:40px;line-height:1.2;font-weight:normal;text-shadow:0 1px #000,-1px 0 #000,0 -1px #000,1px 0 #000,2px 2px 4px rgba(0,0,0,.4);color:var(--saffron)}
h2{font-size:30px;margin:25px 0}
h3{font-size:25px}
h2,article h2 a{color:var(--ai-blue)}
article h2 a:hover{color:var(--saffron)}
*/
h1,h2,h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;letter-spacing:-.04em;line-height:.95;color:var(--ink);text-shadow:none}
h1{font-size:clamp(3rem,6.6vw,6rem);color:var(--saffron-deep)}
article h1{color:var(--ink);background:linear-gradient(transparent 62%,var(--saffron) 62%);display:inline;padding:0 4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
h2{font-size:clamp(1.8rem,3vw,2.4rem);margin:40px 0 16px}
h3{font-size:1.4rem;margin:28px 0 12px}
h2,article h2 a{color:var(--blue-deep)}
article h2 a{text-decoration:none}
article h2 a:hover{color:var(--saffron-deep)}
header h3{margin:5px 0;color:var(--blue-deep);letter-spacing:0;font-size:1.4rem}
h1.page-title{margin-bottom:20px}
blockquote h6{text-align:right;font-size:15px;text-shadow:1px 1px 1px rgba(0,0,0,.2)}
.whereIam h1,.whereIam h2,.whereIam .where,.whereIam .date{position:absolute;margin:0}
.whereIam .date{top:0;right:5px}
.whereIam .where{top:0;left:5px}
.whereIam h1,.whereIam h2{bottom:0;left:0;width:560px;text-align:center}
.whereIam h2 a{color:var(--saffron)}
@media (max-width:640px){.whereIam h1,.whereIam h2{width:100%}}
@media (max-width:320px){.whereIam h3{font-size:15px}}

/* ===== Content links (article, aside) ===== */
article a,aside a{color:var(--blue-deep);text-decoration:underline;text-decoration-color:var(--saffron);text-decoration-thickness:2px;text-underline-offset:3px}
article a:hover,aside a:hover{color:var(--saffron-deep)}

/* ===== Call to action ===== */
a.calltoaction{display:flex;align-items:center;gap:10px;width:fit-content;margin:20px auto;padding:16px 28px;background:var(--saffron);color:var(--ink);text-decoration:none;border-radius:999px;font-weight:600;font-size:16px;line-height:1}
a.calltoaction:hover{background:#FFD043;color:var(--ink)}

/* ===== Articles ===== */
article{max-width:960px;margin:0 auto;padding:40px 48px;font-size:20px;line-height:1.65;color:var(--ink)}
section article{display:flow-root;border-bottom:1px solid #E4DFD4}
article p{margin:0 0 1.1em}
article ul,article ol{margin:0 0 1.1em;padding-left:1.4em}
article ul li{list-style:disc}
article ol li{list-style:decimal}
article li{margin:0 0 .4em}
article li::marker{color:var(--saffron-deep)}
article img{max-width:100%;height:auto}
article.category_description{text-align:center}
article.category_description p{margin:0 auto;max-width:34rem;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:22px;line-height:1.4}
article.category-updates img.attachment-full{margin:0 auto;display:block;border-radius:12px}
@media (max-width:640px){article{padding:32px 16px}}

/* ===== Breadcrumbs (Breadcrumb Trail plugin) ===== */
.breadcrumbs{display:block;padding:14px 48px;border-top:1px solid var(--ink);font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:400;color:var(--ink)}
.breadcrumbs .trail-items{max-width:var(--max);margin:0 auto;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px 10px}
.breadcrumbs .trail-items li{display:flex;align-items:center;gap:10px;margin:0;padding:0}
.breadcrumbs .trail-items li::after{content:"\2192";padding:0;color:var(--saffron-deep)}
.breadcrumbs .trail-items li:last-of-type::after{content:none}
.breadcrumbs a{color:var(--blue-deep);text-decoration:none}
.breadcrumbs a:hover{color:var(--saffron-deep)}
@media (max-width:640px){.breadcrumbs{padding:12px 16px}}

/* ===== Hero ===== */
.hero{min-height:100vh;display:flex;flex-wrap:wrap}
.left{flex:999 1 500px;min-width:0;display:flex;flex-direction:column}
.hero header{padding:28px 48px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
header.header--wide{display:block}
header.header--wide .max-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.logo{display:flex;align-items:center;font-family:'Bricolage Grotesque',sans-serif;font-size:26px;letter-spacing:-.02em}
.logo b{font-weight:800} .dot{width:14px;height:14px;border-radius:50%;background:var(--saffron);margin-left:8px}
nav{display:flex;flex-wrap:wrap;gap:28px;font-size:15px;font-weight:500}
.copy{flex:1;padding:48px 48px 72px;display:flex;flex-direction:column;justify-content:center;gap:26px;max-width:760px}
.kicker{margin:0;font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--soft);display:flex;flex-wrap:wrap;gap:10px}
.kicker .ai{color:var(--saffron);font-weight:500}
.hero h1{color:var(--saffron);}
.tag{margin:0;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:normal;font-size:clamp(1.6rem,2.5vw,2.2rem);line-height:1.2;color:#E4DFD4;max-width:34rem}
.lede{margin:0;font-size:18px;line-height:1.55;color:var(--muted);max-width:33rem}
.ctas{display:flex;flex-wrap:wrap;gap:14px;padding-top:6px}
.btn{padding:16px 26px;border-radius:999px;font-weight:600;font-size:16px}
.btn.primary{background:var(--saffron);color:var(--ink)} .btn.primary:hover{background:#FFD043;color:var(--ink)}
.btn.ghost{border:1.5px solid #4A453C} .btn.ghost:hover{border-color:var(--saffron)}
.right{flex:1 1 420px;min-width:0;min-height:560px;background:var(--wall);overflow:hidden;display:flex}
.right img{width:100%;height:100%;min-height:560px;object-fit:cover;object-position:50% 100%;display:block}
@media (max-width:640px){header,.copy{padding-left:16px;padding-right:16px} nav{gap:18px} .right,.right img{min-height:420px}}

/* ===== Page hero (inner pages: <section class="page-hero ink"><div class="max-wrap">…) ===== */
.page-hero{padding:64px 48px 80px;border-bottom:1px solid var(--line)}
.page-hero .max-wrap{display:flex;flex-direction:column;gap:22px}
.page-hero h1{color:var(--paper);font-size:clamp(2.6rem,5vw,4.5rem)}
.page-hero .tag {max-width:50rem}
@media (max-width:640px){.page-hero{padding:40px 16px 56px}}

/* ===== Single project ===== */
.project-image{margin:0 0 1.5em}
.project-image img{display:block;width:100%;border-radius:12px}

/* ===== Contact section (sitewide, just above the footer) ===== */
.contact{background:var(--ink);border-top:1px solid var(--line);padding:96px 48px}
.contact__inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:64px;align-items:start}
.contact__kicker{margin:0 0 20px;font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--soft);display:flex;align-items:center;gap:10px}
.contact__kicker .dot{width:10px;height:10px;border-radius:50%;background:var(--saffron)}
.contact h2{margin:0 0 28px;font-size:clamp(2.4rem,4.5vw,4rem);line-height:.98;letter-spacing:-.035em}
.contact__copy{margin:0 0 16px;font-size:19px;line-height:1.6;color:#E4DFD4;max-width:34rem}
.contact__copy a{color:var(--saffron);text-decoration:underline;text-underline-offset:3px}
.contact__copy a:hover{color:#FFD043}
.contact__note{margin:28px 0 0;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:20px;line-height:1.4;color:var(--soft);max-width:30rem}
.contact__links{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}
.contact__links a{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:1.5px solid var(--line);border-radius:999px;color:var(--paper);text-decoration:none;font-weight:500;font-size:15px}
.contact__links a:hover{border-color:var(--saffron);color:var(--saffron)}

/* Form styling — targets the markup Contact Form 7 actually renders */
.contact__form .hidden-fields-container{display:none}
.contact__form form.wpcf7-form{display:flex;flex-direction:column;gap:18px}
.contact__form br{display:none}
.contact__form .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:18px}
.contact__form .row>p{display:contents}
.contact__form form.wpcf7-form>p{display:flex;flex-direction:column;gap:18px}
.contact__form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500;color:var(--muted)}
.contact__form .wpcf7-form-control-wrap{display:block}
.contact__form .wpcf7-form-control{width:100%;font:inherit;font-size:16px;color:var(--paper);background:var(--field);border:1.5px solid var(--line);border-radius:12px;padding:14px 16px}
.contact__form textarea.wpcf7-form-control{min-height:150px;resize:vertical}
.contact__form .wpcf7-form-control:focus{outline:none;border-color:var(--saffron)}
.contact__form .wpcf7-form-control.wpcf7-not-valid{border-color:#FF6B6B}
.contact__form .wpcf7-not-valid-tip{display:block;margin-top:6px;font-size:13px;font-weight:400;color:#FF6B6B}
.contact__form input.wpcf7-submit{width:auto;align-self:flex-start;margin-top:6px;font:inherit;font-weight:600;font-size:16px;background:var(--saffron);color:var(--ink);border:0;border-radius:999px;padding:16px 28px;cursor:pointer}
.contact__form input.wpcf7-submit:hover{background:#FFD043}
.contact__form .wpcf7-spinner{margin-left:10px;vertical-align:middle}
.contact__form form.wpcf7-form .wpcf7-response-output{margin:0;padding:14px 18px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;line-height:1.4}
.contact__form form.wpcf7-form.sent .wpcf7-response-output{border-color:#4CAF50;color:#9BE89B}
.contact__form form.wpcf7-form.failed .wpcf7-response-output,
.contact__form form.wpcf7-form.invalid .wpcf7-response-output,
.contact__form form.wpcf7-form.unaccepted .wpcf7-response-output,
.contact__form form.wpcf7-form.spam .wpcf7-response-output{border-color:#FF6B6B;color:#FFB3B3}

@media (max-width:640px){.contact{padding:64px 16px}}

/* ===== Color utilities (keep last so they win over single-class rules) ===== */
.saffron{color:var(--saffron)}
.saffron-deep{color:var(--saffron-deep)}
.blue-deep{color:var(--blue-deep)}
.ai-blue{color:var(--ai-blue)}
.ink-blue{color:var(--ink-blue)}
.paper{color:var(--paper)}
.muted{color:var(--muted)}
.soft{color:var(--soft)}
