/*
Theme Name: DataMastery
Theme URI: https://datamastery.com.au
Author: Vinnie Kura
Author URI: https://datamastery.com.au
Description: Custom theme for DataMastery - Australia's Federal Government Data & Tech Community
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: datamastery
*/

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap');

*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'DM Sans',sans-serif;color:#1a1a2e;background:#f7f6f3;font-size:15px;line-height:1.7;}

/* NAV */
.dm-nav{background:#fff;border-bottom:0.5px solid #e2dfd9;padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between;height:64px;position:sticky;top:0;z-index:100;}
.dm-logo{font-family:'Fraunces',serif;font-size:19px;font-weight:600;color:#1a1a2e;letter-spacing:-0.3px;text-decoration:none;}
.dm-logo span{color:#1d5fa8;}
.dm-nav-links{display:flex;gap:1.8rem;list-style:none;font-size:13.5px;color:#555;}
.dm-nav-links li a{color:#555;text-decoration:none;}
.dm-nav-links li a:hover{color:#1d5fa8;}
.dm-nav-cta{background:#1a1a2e;color:#fff;border:none;padding:9px 18px;border-radius:6px;font-size:13px;font-family:'DM Sans',sans-serif;font-weight:500;cursor:pointer;text-decoration:none;}

/* HERO */
.dm-hero{background:#fff;padding:5rem 2.5rem 4.5rem;border-bottom:0.5px solid #e2dfd9;}
.dm-hero-inner{max-width:740px;}
.dm-eyebrow{font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:#1d5fa8;margin-bottom:1.2rem;}
.dm-hero h1{font-family:'Fraunces',serif;font-size:52px;font-weight:300;line-height:1.15;letter-spacing:-1.2px;color:#1a1a2e;margin-bottom:1.4rem;}
.dm-hero h1 em{font-style:italic;color:#1d5fa8;}
.dm-hero-sub{font-size:16px;color:#5a5a72;line-height:1.75;max-width:580px;margin-bottom:1.2rem;}
.dm-hero-disclaimer{font-size:12px;color:#9999aa;border-left:2px solid #e2dfd9;padding-left:10px;margin-bottom:2rem;max-width:520px;line-height:1.6;}
.dm-hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
.dm-btn-dark{background:#1a1a2e;color:#fff;border:none;padding:13px 26px;border-radius:7px;font-size:14px;font-family:'DM Sans',sans-serif;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;}
.dm-btn-blue{background:#1d5fa8;color:#fff;border:none;padding:13px 26px;border-radius:7px;font-size:14px;font-family:'DM Sans',sans-serif;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;}
.dm-btn-line{background:transparent;color:#1a1a2e;border:0.5px solid #b8b5b0;padding:13px 26px;border-radius:7px;font-size:14px;font-family:'DM Sans',sans-serif;cursor:pointer;text-decoration:none;display:inline-block;}

/* TOPIC BAR */
.dm-topicbar{background:#1a1a2e;padding:1rem 2.5rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap;}
.dm-topicbar-lbl{font-size:10.5px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:#6677aa;white-space:nowrap;}
.dm-topic{font-size:12.5px;color:#c0c8dc;display:flex;align-items:center;gap:6px;}
.dm-topic-dot{width:4px;height:4px;background:#1d5fa8;border-radius:50%;display:inline-block;}

/* SECTIONS */
.dm-section-label{font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:#1d5fa8;margin-bottom:0.7rem;}
.dm-section-title{font-family:'Fraunces',serif;font-size:34px;font-weight:300;color:#1a1a2e;line-height:1.25;letter-spacing:-0.5px;margin-bottom:0.8rem;}
.dm-section-sub{font-size:15px;color:#666;line-height:1.75;max-width:540px;margin-bottom:2.5rem;}

/* PILLARS */
.dm-pillars-wrap{padding:4.5rem 2.5rem;background:#f7f6f3;}
.dm-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.dm-pillar{background:#fff;border-radius:14px;border:0.5px solid #e2dfd9;overflow:hidden;}
.dm-pillar-top{padding:1.8rem 1.6rem 1.4rem;}
.dm-pillar-num{font-family:'Fraunces',serif;font-size:36px;font-weight:300;line-height:1;margin-bottom:1rem;}
.dm-pillar-num.blue{color:#1d5fa8;}
.dm-pillar-num.teal{color:#0f6e56;}
.dm-pillar-num.amber{color:#854f0b;}
.dm-pillar h3{font-size:17px;font-weight:500;color:#1a1a2e;margin-bottom:0.5rem;font-family:'Fraunces',serif;}
.dm-pillar p{font-size:13.5px;color:#666;line-height:1.65;}
.dm-pillar-footer{border-top:0.5px solid #f0ede8;padding:1rem 1.6rem;display:flex;align-items:center;justify-content:space-between;}
.dm-pillar-tag{font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:#888;}

/* SERVICES */
.dm-services{background:#fff;border-top:0.5px solid #e2dfd9;border-bottom:0.5px solid #e2dfd9;padding:4rem 2.5rem;}
.dm-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.5rem;}
.dm-svc{border-left:2px solid #e2dfd9;padding-left:1.4rem;}
.dm-svc.active{border-left-color:#1d5fa8;}
.dm-svc-label{font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;margin-bottom:0.5rem;}
.dm-svc-label.blue{color:#1d5fa8;}
.dm-svc-label.teal{color:#0f6e56;}
.dm-svc-label.amber{color:#854f0b;}
.dm-svc-label.coral{color:#993c1d;}
.dm-svc h3{font-family:'Fraunces',serif;font-size:20px;font-weight:400;color:#1a1a2e;margin-bottom:0.5rem;}
.dm-svc p{font-size:13.5px;color:#666;line-height:1.7;}
.dm-svc-list{list-style:none;margin-top:0.8rem;display:flex;flex-direction:column;gap:5px;}
.dm-svc-list li{font-size:13px;color:#555;display:flex;align-items:flex-start;gap:8px;}
.dm-svc-list li::before{content:'';width:5px;height:5px;background:#1d5fa8;border-radius:50%;flex-shrink:0;margin-top:8px;}

/* COMING SOON TEASER */
.dm-teaser{background:#f7f6f3;padding:4rem 2.5rem;}
.dm-teaser-inner{background:#1a1a2e;border-radius:16px;padding:3.5rem;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center;}
.dm-teaser-eyebrow{font-size:10.5px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:#4a6090;margin-bottom:0.8rem;}
.dm-teaser h2{font-family:'Fraunces',serif;font-size:30px;font-weight:300;color:#fff;line-height:1.3;letter-spacing:-0.5px;margin-bottom:0.8rem;}
.dm-teaser h2 em{font-style:italic;color:#7ab0e8;}
.dm-teaser-desc{font-size:14px;color:#7788aa;line-height:1.75;max-width:480px;}
.dm-teaser-features{display:flex;flex-direction:column;gap:10px;margin-top:1.5rem;}
.dm-teaser-feat{display:flex;align-items:center;gap:10px;font-size:13px;color:#8899bb;}
.dm-teaser-feat-dot{width:6px;height:6px;background:#1d5fa8;border-radius:50%;flex-shrink:0;display:inline-block;}
.dm-teaser-right{display:flex;flex-direction:column;align-items:center;gap:16px;min-width:220px;}
.dm-teaser-badge{background:#2a2a42;border:0.5px solid #3a3a55;border-radius:10px;padding:1.5rem;text-align:center;width:100%;}
.dm-teaser-badge-label{font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:#4a6090;margin-bottom:0.5rem;}
.dm-teaser-badge-text{font-family:'Fraunces',serif;font-size:22px;font-weight:300;color:#fff;line-height:1.3;}
.dm-teaser-badge-sub{font-size:12px;color:#566080;margin-top:0.4rem;}
.dm-teaser-notify{width:100%;background:#1d5fa8;color:#fff;border:none;padding:12px;border-radius:8px;font-size:13.5px;font-family:'DM Sans',sans-serif;font-weight:500;cursor:pointer;}
.dm-teaser-note{font-size:11.5px;color:#445060;text-align:center;}

/* BLOGS */
.dm-blogs{background:#fff;border-top:0.5px solid #e2dfd9;padding:4rem 2.5rem;}
.dm-blogs-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2rem;}
.dm-view-all{font-size:13px;color:#1d5fa8;font-weight:500;text-decoration:none;}
.dm-blog-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px;}
.dm-blog-card{background:#f7f6f3;border-radius:12px;border:0.5px solid #e2dfd9;overflow:hidden;display:flex;flex-direction:column;}
.dm-blog-card.feat{background:#fff;border:0.5px solid #b5d4f4;}
.dm-blog-accent{height:4px;}
.dm-blog-accent.blue{background:#1d5fa8;}
.dm-blog-accent.teal{background:#0f6e56;}
.dm-blog-accent.amber{background:#854f0b;}
.dm-blog-body{padding:1.2rem;flex:1;display:flex;flex-direction:column;}
.dm-blog-meta{display:flex;align-items:center;gap:8px;margin-bottom:0.6rem;}
.dm-blog-tag{font-size:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase;padding:3px 8px;border-radius:4px;}
.tag-b{background:#e6f0fb;color:#1d5fa8;}
.tag-t{background:#e1f5ee;color:#0f6e56;}
.tag-a{background:#faeeda;color:#854f0b;}
.dm-blog-date{font-size:11px;color:#aaa;}
.dm-blog-title{font-family:'Fraunces',serif;font-size:15px;font-weight:400;color:#1a1a2e;line-height:1.4;margin-bottom:0.5rem;text-decoration:none;display:block;}
.dm-blog-exc{font-size:12.5px;color:#777;line-height:1.6;flex:1;}
.dm-blog-read{margin-top:1rem;font-size:12px;color:#1d5fa8;font-weight:500;text-decoration:none;display:inline-block;}

/* CTA */
.dm-cta{background:#1a1a2e;padding:5rem 2.5rem;text-align:center;}
.dm-cta-label{font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:#4a6090;margin-bottom:1rem;}
.dm-cta h2{font-family:'Fraunces',serif;font-size:40px;font-weight:300;color:#fff;letter-spacing:-0.8px;line-height:1.2;margin-bottom:1rem;}
.dm-cta h2 em{font-style:italic;color:#7ab0e8;}
.dm-cta-sub{font-size:15px;color:#7788aa;max-width:480px;margin:0 auto 2rem;line-height:1.75;}
.dm-cta-form{display:flex;gap:10px;max-width:440px;margin:0 auto 0.8rem;}
.dm-cta-input{flex:1;background:rgba(255,255,255,0.07);border:0.5px solid rgba(255,255,255,0.18);border-radius:7px;padding:13px 16px;font-size:14px;color:#fff;font-family:'DM Sans',sans-serif;outline:none;}
.dm-cta-input::placeholder{color:#5a6a88;}
.dm-cta-btn{background:#1d5fa8;color:#fff;border:none;padding:13px 22px;border-radius:7px;font-size:14px;font-family:'DM Sans',sans-serif;font-weight:500;cursor:pointer;}
.dm-cta-note{font-size:12px;color:#445060;margin-bottom:2.5rem;}
.dm-cta-perks{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap;}
.dm-perk{display:flex;align-items:center;gap:7px;font-size:13px;color:#7788aa;}

/* FOOTER */
.dm-footer{background:#eeecea;border-top:0.5px solid #e2dfd9;padding:2.5rem 2.5rem 1.5rem;}
.dm-footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2rem;}
.dm-footer-brand{font-family:'Fraunces',serif;font-size:17px;font-weight:600;color:#1a1a2e;margin-bottom:0.5rem;}
.dm-footer-brand span{color:#1d5fa8;}
.dm-footer-desc{font-size:13px;color:#777;line-height:1.65;max-width:220px;margin-bottom:1rem;}
.dm-footer-disclaimer{font-size:11.5px;color:#aaa;line-height:1.55;max-width:220px;}
.dm-footer-col-title{font-size:10.5px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:#999;margin-bottom:0.9rem;}
.dm-footer-links{display:flex;flex-direction:column;gap:7px;list-style:none;}
.dm-footer-links li a{font-size:13.5px;color:#555;text-decoration:none;}
.dm-footer-bottom{border-top:0.5px solid #e2dfd9;padding-top:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.dm-footer-copy{font-size:12px;color:#bbb;}
.dm-linkedin-link{font-size:12px;color:#1d5fa8;text-decoration:none;}
.dm-footer-contact{font-size:12px;color:#bbb;}

/* BLOG SINGLE */
.dm-blog-single{max-width:780px;margin:3rem auto;padding:0 2rem;}
.dm-blog-single h1{font-family:'Fraunces',serif;font-size:38px;font-weight:300;color:#1a1a2e;line-height:1.25;margin-bottom:1.5rem;}
.dm-blog-single .content{font-size:16px;color:#333;line-height:1.8;}
.dm-blog-single .content p{margin-bottom:1.2rem;}
.dm-blog-single .content h2{font-family:'Fraunces',serif;font-size:26px;font-weight:400;color:#1a1a2e;margin:2rem 0 1rem;}
