/* ==========================================================================
   Sweet & Associates — section styling for the Kadence Blocks build
   Keyed to .sw-* classes placed on core blocks. Text stays fully editable;
   these rules supply the design.
   ========================================================================== */
:root{
	--sw-midnight:#3a2318; --sw-midnight-600:#4e3122;
	--sw-gold:#9c5a34; --sw-gold-bright:#e6b880;
	--sw-cream:#f7f0e6; --sw-cream-2:#f0e7d8; --sw-sand:#ece0cd;
	--sw-ink:#2d1e14; --sw-ink-soft:#6d5a48; --sw-line:#e6dac6;
	--sw-serif:'Fraunces',Georgia,serif; --sw-sans:'Inter',system-ui,sans-serif;
	/* Guarantee the block-editor palette presets resolve (Kadence classic theme
	   doesn't emit theme.json presets on the front end). */
	--wp--preset--color--midnight:#3a2318;
	--wp--preset--color--midnight-600:#4e3122;
	--wp--preset--color--gold:#9c5a34;
	--wp--preset--color--gold-bright:#e6b880;
	--wp--preset--color--cream:#f7f0e6;
	--wp--preset--color--cream-2:#f0e7d8;
	--wp--preset--color--sand:#ece0cd;
	--wp--preset--color--ink:#2d1e14;
	--wp--preset--color--ink-soft:#6d5a48;
	--wp--preset--color--line:#e6dac6;
	--wp--preset--color--white:#ffffff;
}
/* Palette utility classes used by the block markup */
.has-midnight-background-color{background-color:var(--wp--preset--color--midnight)!important}
.has-midnight-color{color:var(--wp--preset--color--midnight)!important}
.has-gold-background-color{background-color:var(--wp--preset--color--gold)!important}
.has-gold-color{color:var(--wp--preset--color--gold)!important}
.has-cream-background-color{background-color:var(--wp--preset--color--cream)!important}
.has-white-background-color{background-color:#fff!important}
.has-white-color{color:#fff!important}

/* Typography */
body,.entry-content,.wp-block-post-content{font-family:var(--sw-sans)}
.wp-block-heading,h1,h2,h3,h4{font-family:var(--sw-serif);font-weight:600;letter-spacing:-.01em;line-height:1.1}

/* Shared bits */
.sw-eyebrow{font-family:var(--sw-sans)!important;font-size:.78rem!important;font-weight:600!important;
	letter-spacing:.14em;text-transform:uppercase;color:var(--sw-gold)!important}
.sw-eyebrow::before{content:"";display:inline-block;width:26px;height:1.5px;background:var(--sw-gold);
	vertical-align:middle;margin-right:.6em}
.sw-muted{color:var(--sw-ink-soft)!important}

/* Buttons -> pills */
.wp-block-button__link{border-radius:999px!important;font-family:var(--sw-sans);font-weight:600;
	padding:.85em 1.6em;transition:transform .18s ease,box-shadow .18s ease}
.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 14px 26px -12px rgba(58,35,24,.5)}
.is-style-outline .wp-block-button__link{border-width:1.5px}

/* Section rhythm */
.sw-section{padding-top:clamp(58px,8vw,110px)!important;padding-bottom:clamp(58px,8vw,110px)!important}

/* ---------- HERO IMAGE + BAR ---------- */
.sw-heroimg{margin:0!important;line-height:0}
.sw-heroimg img{width:100%!important;height:clamp(300px,40vw,540px)!important;max-height:62vh!important;
	object-fit:cover;object-position:center 40%;display:block}
.sw-herobar{background:
	radial-gradient(80% 120% at 50% -20%,rgba(230,184,128,.20),transparent 60%),
	var(--sw-cream)!important;
	padding-top:clamp(38px,5vw,64px)!important;padding-bottom:clamp(46px,6vw,74px)!important;text-align:center}
.sw-herobar h1{font-size:clamp(2.3rem,5vw,3.7rem);letter-spacing:-.02em;max-width:18ch;margin-inline:auto}
.sw-herobar .sw-accent{color:var(--sw-gold)}
.sw-lead{font-size:1.14rem!important;max-width:56ch;margin-inline:auto!important}
.sw-herobar .wp-block-buttons{margin-top:6px}
.sw-hero-stats{max-width:620px;margin-inline:auto!important;margin-top:14px}
.sw-hero-stats .wp-block-column{text-align:center}
.sw-hero-stats strong{font-family:var(--sw-serif);font-size:1.7rem;color:var(--sw-midnight);display:block;line-height:1}

/* ---------- HERO ---------- */
.sw-hero{background:
	radial-gradient(120% 90% at 88% -10%,rgba(220,180,95,.22),transparent 55%),
	radial-gradient(90% 80% at -10% 10%,rgba(58,35,24,.06),transparent 50%),
	var(--sw-cream)!important}
.sw-hero h1{font-size:clamp(2.4rem,5.4vw,4rem);letter-spacing:-.02em}
.sw-hero .sw-accent{color:var(--sw-gold)}
.sw-hero-card{background:linear-gradient(160deg,#13294a,var(--sw-midnight))!important;
	border-radius:24px!important;box-shadow:0 40px 80px -32px rgba(58,35,24,.5);position:relative;overflow:hidden}
.sw-hero-card::before{content:"";position:absolute;inset:0;
	background-image:linear-gradient(rgba(220,180,95,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(220,180,95,.09) 1px,transparent 1px);
	background-size:54px 54px;-webkit-mask-image:radial-gradient(120% 90% at 80% 0%,#000,transparent 70%);mask-image:radial-gradient(120% 90% at 80% 0%,#000,transparent 70%)}
.sw-hero-card > *{position:relative}
.sw-hero-card .wp-block-heading{color:#fff;font-size:1.5rem;line-height:1.28}
.sw-hero-card .sw-accent{color:var(--sw-gold-bright)}
.sw-hero-card p{color:#aebccf}
.sw-hero-card .sw-name{color:#fff!important;font-weight:600}
.sw-hero-stats .wp-block-group{gap:4px}
.sw-hero-stats strong{font-family:var(--sw-serif);font-size:1.7rem;color:var(--sw-midnight);display:block;line-height:1}

/* Hero logo visual (transparent brown badge on a warm light panel) */
.sw-herologo{position:relative;padding:38px 34px;border-radius:26px;
	background:linear-gradient(180deg,#ffffff,#f7f3ec);border:1px solid #ece1cd;
	box-shadow:0 44px 84px -34px rgba(58,35,24,.30),inset 0 1px 0 #fff}
.sw-herologo::before{content:"";position:absolute;inset:0;border-radius:26px;pointer-events:none;
	background:radial-gradient(72% 62% at 50% 42%,rgba(220,180,95,.30),transparent 70%)}
.sw-herologo .wp-block-image{position:relative;margin:0}
.sw-herologo img{max-width:88%;height:auto;filter:drop-shadow(0 16px 26px rgba(74,47,20,.22))}
.sw-herologo-cap{position:relative;margin:16px 0 0!important;font-family:var(--sw-sans)!important;
	font-size:.86rem!important;letter-spacing:.02em;font-weight:500;color:var(--sw-ink-soft)!important}

/* Header logo sizing (badge is detailed — keep it tidy) */
.custom-logo,.site-branding img,.header-logo img{max-height:60px!important;width:auto!important}

/* ---------- TRUST STRIP ---------- */
.sw-trust{background:var(--sw-midnight)!important;padding-top:24px!important;padding-bottom:24px!important}
.sw-trust p,.sw-trust .wp-block-heading{color:#eef3fa!important;margin:0;font-size:.96rem}
.sw-trust strong{color:var(--sw-gold-bright)}

/* ---------- SERVICE / WHY / STEP CARDS ---------- */
.wp-block-column:has(> .sw-card){display:flex}
.wp-block-column > .sw-card{width:100%}
.sw-card{background:#fff!important;border:1px solid var(--sw-line)!important;border-radius:16px!important;
	padding:28px 26px!important;transition:transform .2s,box-shadow .2s,border-color .2s;height:100%}
.sw-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px -22px rgba(58,35,24,.28);border-color:#c6d2e2!important}
.sw-card .wp-block-heading{font-size:1.28rem;margin:.2em 0 .4em;color:var(--sw-midnight)}
.sw-card p,.sw-card li{color:var(--sw-ink-soft)}
.sw-card ul{margin:.6em 0 0;padding-left:1.1em}
.sw-card li{margin-bottom:.3em;font-size:.92rem}
.sw-ic{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;
	font-family:var(--sw-serif);font-weight:700;font-size:1.4rem;background:var(--sw-sand);color:var(--sw-midnight);margin-bottom:16px}
.sw-ic.dark{background:var(--sw-midnight);color:var(--sw-gold-bright)}

/* ---------- ABOUT ---------- */
.sw-portrait{aspect-ratio:4/5;border-radius:24px;background:linear-gradient(160deg,#6f4530,#3f2618);
	display:flex;align-items:center;justify-content:center;box-shadow:0 40px 80px -32px rgba(58,35,24,.45);position:relative;overflow:hidden}
.sw-portrait::before{content:"";position:absolute;inset:0;
	background-image:linear-gradient(rgba(0,0,0,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.14) 1px,transparent 1px);
	background-size:60px 60px;opacity:.5}
.sw-portrait span{position:relative;font-family:var(--sw-serif);font-size:6rem;font-weight:600;color:var(--sw-gold-bright);text-shadow:0 8px 30px rgba(0,0,0,.35)}
.sw-badge{display:inline-block;background:#fff;border:1px solid var(--sw-line);border-radius:16px;padding:14px 20px;box-shadow:0 18px 40px -18px rgba(58,35,24,.28)}
.sw-badge strong{font-family:var(--sw-serif);font-size:1.9rem;color:var(--sw-gold);display:block;line-height:1}
.sw-badge span{font-size:.78rem;color:var(--sw-ink-soft)}
.sw-pill{display:inline-block;background:var(--sw-sand);border:1px solid var(--sw-line);border-radius:999px;
	padding:.45em 1em;font-size:.85rem;font-weight:600;color:var(--sw-midnight);margin:0 6px 6px 0}

/* ---------- PROCESS ---------- */
.sw-step .sw-num{font-family:var(--sw-serif);font-size:2.6rem;font-weight:600;color:var(--sw-line);line-height:1;display:block;margin-bottom:6px}
.sw-step .wp-block-heading{font-size:1.16rem;color:var(--sw-midnight)}
.sw-step p{color:var(--sw-ink-soft);font-size:.93rem}

/* ---------- QUOTE BAND ---------- */
.sw-band{background:linear-gradient(150deg,#4a2c1e,var(--sw-midnight))!important;position:relative;overflow:hidden}
.sw-band::before{content:"";position:absolute;inset:0;
	background-image:linear-gradient(rgba(220,180,95,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(220,180,95,.06) 1px,transparent 1px);
	background-size:64px 64px;-webkit-mask-image:radial-gradient(90% 120% at 50% -10%,#000,transparent 70%);mask-image:radial-gradient(90% 120% at 50% -10%,#000,transparent 70%)}
.sw-band .wp-block-heading{position:relative;color:#fff;font-size:clamp(1.5rem,3.4vw,2.4rem);font-weight:500;line-height:1.3}
.sw-band .sw-accent{color:var(--sw-gold-bright)}

/* ---------- CTA ---------- */
.sw-cta{background:linear-gradient(135deg,var(--sw-midnight),var(--sw-midnight-600))!important;border-radius:26px!important;
	box-shadow:0 40px 80px -32px rgba(58,35,24,.5);position:relative;overflow:hidden}
.sw-cta::before{content:"";position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.07)}
.sw-cta .wp-block-heading{color:#fff;position:relative}
.sw-cta p{color:rgba(255,255,255,.9);position:relative}
.sw-cta .wp-block-buttons{position:relative}

/* ---------- CONTACT ---------- */
.sw-contactcard{background:#fff!important;border:1px solid var(--sw-line)!important;border-radius:24px!important;
	padding:clamp(26px,4vw,40px)!important;box-shadow:0 2px 8px rgba(58,35,24,.05)}
.sw-contactcard .wp-block-heading{color:var(--sw-midnight)}
.sw-ci{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--sw-line)}
.sw-ci:last-child{border-bottom:0}
.sw-ci .sw-ic{width:44px;height:44px;font-size:1.1rem;margin:0;flex:none}
.sw-ci strong{display:block;color:var(--sw-midnight)}
.sw-ci span,.sw-ci a{color:var(--sw-ink-soft);font-size:.96rem}

/* Responsive: stack Kadence/core columns gracefully is handled by core; just tighten hero card on mobile */
@media(max-width:781px){
	.sw-hero-card{margin-top:20px}
	.sw-badge{margin-top:12px}
}
