/**
 * Theme Name: Poulmi Astra Child
 * Template: astra
 * Version: 1.0.8
 * Description: Custom, editable header for Poulmi Astrology.
 */

:root {
	--poulmi-orange: #ff7010;
	--poulmi-ink: #333333;
	--poulmi-header-bg: #fffdfb;
	--poulmi-gradient: linear-gradient(90deg, #ff7010 0%, #ff7010 100%);
}

.poulmi-site-header {
	position: relative;
	z-index: 100;
	background: var(--poulmi-header-bg);
	border-bottom: 1px solid rgba(55, 43, 34, 0.08);
	box-shadow: 0 3px 8px rgba(37, 27, 20, 0.06);
}

.poulmi-header-inner {
	width: min(100% - 48px, 1100px);
	min-height: 82px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 36px;
}

.poulmi-brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 170px;
	line-height: 0;
}

.poulmi-brand img {
	display: block;
	width: 128px;
	max-height: 68px;
	object-fit: contain;
}

.poulmi-primary-nav { margin-left: auto; }
.poulmi-primary-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 34px;
}
.poulmi-primary-nav a {
	position: relative;
	display: block;
	padding: 31px 0 27px;
	color: var(--poulmi-ink);
	font-size: 14px;
	font-weight: 600;
	line-height: 24px;
	text-decoration: none;
	transition: color .2s ease;
}
.poulmi-primary-nav a:hover,
.poulmi-primary-nav .current-menu-item > a,
.poulmi-primary-nav .current_page_item > a { color: var(--poulmi-orange); }
.poulmi-primary-nav .current-menu-item > a::after,
.poulmi-primary-nav .current_page_item > a::after {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	bottom: 20px;
	height: 2px;
	border-radius: 2px;
	background: var(--poulmi-orange);
}

.poulmi-cta {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 38px;
	padding: 9px 22px;
	border-radius: 13px;
	background: var(--poulmi-orange);
	box-shadow: 0 6px 12px rgba(237, 118, 0, 0.20);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 20px;
	text-decoration: none;
	white-space: nowrap;
	transition: transform .2s ease, background .2s ease;
}
.poulmi-cta:hover { color: #fff; background: #d96800; transform: translateY(-1px); }
.poulmi-cta svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.9; }

.poulmi-menu-toggle {
	display: none;
	margin-left: auto;
	padding: 8px;
	border: 0;
	background: transparent;
	color: var(--poulmi-ink);
	cursor: pointer;
}
.poulmi-menu-toggle span { display: block; width: 25px; height: 2px; margin: 5px 0; background: currentColor; }

@media (max-width: 900px) {
	.poulmi-header-inner { width: min(100% - 32px, 1100px); gap: 16px; }
	.poulmi-brand { flex-basis: auto; }
	.poulmi-primary-nav { display: none; }
	.poulmi-menu-toggle { display: block; }
	.poulmi-site-header.is-menu-open .poulmi-primary-nav {
	position: absolute;
	top: 100%; left: 0; right: 0;
	display: block;
	padding: 10px 24px 18px;
	background: var(--poulmi-header-bg);
	border-bottom: 1px solid rgba(55, 43, 34, .08);
	box-shadow: 0 8px 12px rgba(37, 27, 20, .08);
	margin: 0;
	}
	.poulmi-site-header.is-menu-open .poulmi-primary-nav ul { display: block; }
	.poulmi-site-header.is-menu-open .poulmi-primary-nav a { padding: 10px 0; }
	.poulmi-site-header.is-menu-open .poulmi-primary-nav .current-menu-item > a::after,
	.poulmi-site-header.is-menu-open .poulmi-primary-nav .current_page_item > a::after { display: none; }
}

@media (max-width: 560px) {
	.poulmi-header-inner { min-height: 70px; }
	.poulmi-brand img { width: 108px; max-height: 58px; }
	.poulmi-cta { padding: 8px 12px; font-size: 12px; }
	.poulmi-cta svg { display: none; }
}

.poulmi-section-wrap { width:100%; max-width:none; margin:0 auto; padding-left:clamp(24px,8vw,150px); padding-right:clamp(24px,8vw,150px); }
.poulmi-eyebrow { margin:0 0 14px; color:var(--poulmi-orange); font-size:12px; font-weight:800; letter-spacing:.13em; }
.poulmi-intro, .poulmi-services, .poulmi-houses, .poulmi-science, .poulmi-journey, .poulmi-booking { padding:112px 0; }
.poulmi-intro { background:#fffdf9; }
.poulmi-intro-grid { display:grid; grid-template-columns:.8fr 1.25fr 1fr; gap:42px; align-items:start; }
.poulmi-about-grid { display:grid; grid-template-columns:.86fr 1fr; gap:clamp(42px,7vw,110px); align-items:center; }.poulmi-about-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border:5px solid #fff;border-radius:30px;box-shadow:0 18px 35px rgba(78,53,31,.14)}.poulmi-about-content h2{margin:0;color:#111727;font:700 clamp(42px,4.2vw,63px)/1.05 Georgia,serif;letter-spacing:-.05em}.poulmi-about-content h2 em{color:var(--poulmi-orange);font-style:normal}.poulmi-about-content>p:not(.poulmi-eyebrow){color:#5e6673;font-size:18px;line-height:1.75}.poulmi-about-content>a{display:inline-block;margin-top:18px;color:#ba5702;font-weight:800}.poulmi-about-stats{display:flex;gap:15px;margin-top:27px}.poulmi-about-stats span{flex:1;padding:15px;border-radius:12px;background:#fff;box-shadow:0 5px 14px rgba(54,41,29,.08);color:#71727a;font-size:13px}.poulmi-about-stats b{display:block;color:#202534;font-size:19px}
.poulmi-intro h2,.poulmi-services h2,.poulmi-houses h2,.poulmi-science h2,.poulmi-journey h2,.poulmi-booking h2,.poulmi-page-hero h1 { margin:0; color:#111727; font:700 clamp(38px,4vw,59px)/1.04 Georgia,'Times New Roman',serif; letter-spacing:-.05em; }
.poulmi-intro h2 em,.poulmi-services h2 em,.poulmi-houses h2 em,.poulmi-science h2 em,.poulmi-journey h2 em,.poulmi-booking h2 em,.poulmi-page-hero em { color:var(--poulmi-orange); font-style:normal; }
.poulmi-intro-copy p,.poulmi-section-lead,.poulmi-science-grid>div>p,.poulmi-journey-grid>div>p { color:#656b75; font-size:17px; line-height:1.75; }
.poulmi-intro-copy a,.poulmi-text-link { display:inline-block; margin-top:15px; color:#b95600; font-weight:800; }
.poulmi-intro-copy a span,.poulmi-text-link span,.poulmi-service-card a span { margin-left:8px; font-size:20px; }
.poulmi-services { background:#fbf8f4; }
.poulmi-services h2,.poulmi-booking h2 { max-width:700px; }
.poulmi-section-lead { max-width:700px; margin:20px 0 45px; }
.poulmi-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.poulmi-service-card { position:relative; min-height:390px; padding:33px; border:1px solid #ece5dc; border-radius:20px; background:#fff; }
.poulmi-service-card-featured { grid-column:span 2; min-height:520px; }
.poulmi-service-icon { display:inline-grid; width:58px; height:58px; place-items:center; border:1px solid #f5dec2; border-radius:17px; color:#b95a06; background:#fff8ef; font-size:31px; }
.poulmi-service-card h3 { display:inline-block; margin:0 0 0 17px; color:#1c1c1c; font:700 clamp(27px,2.5vw,40px)/1 Georgia,serif; letter-spacing:-.035em; vertical-align:middle; }
.poulmi-service-card>p { margin:14px 0 27px 76px; color:#7c7772; font-size:17px; }
.poulmi-service-card ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 24px; margin:0; padding:0; list-style:none; color:#756f6b; font-size:16px; line-height:1.4; }
.poulmi-service-card li::before { content:'✓'; margin-right:12px; color:#ed7600; font-weight:800; }
.poulmi-service-card a { position:absolute; bottom:28px; color:#b95702; font-size:17px; font-weight:800; }
.poulmi-houses { background:#141b2a; color:#fff; }
.poulmi-houses h2 { color:#fff; max-width:650px; }
.poulmi-houses h2 em { color:#f5a343; }
.poulmi-houses-heading { display:flex; gap:70px; align-items:end; margin-bottom:45px; }
.poulmi-houses-heading>p { max-width:390px; margin:0 0 4px; color:#c3c7cf; line-height:1.7; }
.poulmi-house-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.poulmi-house { min-height:224px; padding:25px; border:1px solid rgba(255,255,255,.14); border-radius:16px; background:rgba(255,255,255,.035); }
.poulmi-house span { color:#f6a448; font:700 32px Georgia,serif; }.poulmi-house h3 { margin:11px 0 10px; color:#fff; font:700 23px Georgia,serif; }.poulmi-house p { margin:0; color:#d1d3d7; font-size:14px; line-height:1.58; }.poulmi-house small { display:block; margin-top:15px; color:#f0a14a; font-size:12px; }
.poulmi-science { background:#fffdf9; }.poulmi-science-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start; }.poulmi-science-grid h2 { margin-bottom:22px; }.poulmi-science-points { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#eadfd1; border:1px solid #eadfd1; }.poulmi-science-points>div { min-height:175px; padding:25px; background:#fff; }.poulmi-science-points b { color:#d76d0c; font:700 14px Arial,sans-serif; }.poulmi-science-points h3 { margin:11px 0 8px; color:#1c2130; font:700 21px Georgia,serif; }.poulmi-science-points p { margin:0; color:#77716b; font-size:14px; line-height:1.5; }
.poulmi-journey { background:#f5eee5; }.poulmi-journey-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:30px; }.poulmi-quote { display:flex; flex-direction:column; justify-content:center; padding:46px; border-radius:18px; background:#c95f08; color:#fff; font:700 33px/1.22 Georgia,serif; letter-spacing:-.035em; }.poulmi-quote span { margin-top:24px; font:500 13px Arial,sans-serif; letter-spacing:.04em; }.poulmi-training { grid-column:span 2; padding:34px; border-radius:18px; background:#fffdf9; }.poulmi-training h3 { margin:0 0 18px; color:#171c29; font:700 26px Georgia,serif; }.poulmi-training ul { display:grid; grid-template-columns:repeat(2,1fr); gap:12px 28px; margin:0; padding:0; list-style:none; color:#6f6b67; }.poulmi-training li::before { content:'✦'; margin-right:10px; color:#e97911; }
.poulmi-booking { background:#fffdf9; text-align:center; }.poulmi-booking h2,.poulmi-booking .poulmi-section-lead { margin-left:auto; margin-right:auto; }.poulmi-package-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:45px; text-align:left; }.poulmi-package-grid article { position:relative; padding:33px; border:1px solid #e9e0d7; border-radius:18px; background:#fff; }.poulmi-package-grid h3 { margin:0; color:#171c29; font:700 28px Georgia,serif; }.poulmi-package-grid p { color:#77716c; }.poulmi-package-grid ul { min-height:87px; padding-left:18px; color:#69645f; line-height:1.7; }.poulmi-package-grid strong { display:block; margin:23px 0 17px; color:#c85f08; font:700 32px Georgia,serif; }.poulmi-package-grid a { display:block; padding:13px; border-radius:9px; background:#171c29; color:#fff; text-align:center; font-weight:800; }.poulmi-package-featured { transform:translateY(-12px); border-color:#e47610!important; box-shadow:0 18px 32px rgba(102,58,23,.14); }.poulmi-package-featured>span { position:absolute; top:-13px; right:21px; padding:5px 10px; border-radius:99px; background:#eb7504; color:#fff; font-size:11px; font-weight:800; }.poulmi-note { margin:33px auto 0; color:#79716b; font-size:14px; }
.poulmi-page-main { width:100%; margin:0!important; }
.poulmi-page-hero { padding:120px 0 105px; background:linear-gradient(100deg,#fff5e9,#fffdf9 57%,#f4e6d0); text-align:center; }
.poulmi-page-hero h1 { max-width:750px; margin:auto; }.poulmi-page-hero p { max-width:650px; margin:24px auto 0; color:#696d76; font-size:18px; line-height:1.7; }.poulmi-service-disclaimer { margin:35px 0 0; color:#77716b; font-size:13px; line-height:1.7; }
.poulmi-booking-form { max-width:760px; margin:55px auto 0; padding:42px; border-radius:18px; background:#f5eee5; }.poulmi-booking-form h3 { margin:0; color:#171c29; font:700 29px Georgia,serif; }.poulmi-booking-form>p { color:#69645e; line-height:1.7; }
.poulmi-service-tabs{display:flex;justify-content:center;gap:44px;padding:20px 25px;border-bottom:1px solid #ece8e3;background:#fff;overflow-x:auto;white-space:nowrap}.poulmi-service-tabs a{color:#3e4654;font-size:15px;font-weight:800}.poulmi-service-tabs a:hover,.poulmi-service-tabs .is-active{color:#ed7600}.poulmi-detail-intro{padding:72px 25px 66px;text-align:center;background:#fffdf9}.poulmi-detail-intro h1{margin:0;color:#121827;font:700 clamp(42px,4.2vw,64px)/1.06 Georgia,serif;letter-spacing:-.045em}.poulmi-detail-intro h1 span{font-size:.82em}.poulmi-detail-intro>p:last-child{max-width:630px;margin:25px auto 0;color:#626a76;font-size:18px;line-height:1.7}.poulmi-detailed-houses{padding:20px 0 95px;background:#fffdf9}.poulmi-detail-wrap{width:min(100% - 48px,1080px);margin:auto}.poulmi-detailed-houses .poulmi-detail-wrap{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.poulmi-detail-house{position:relative;min-height:325px;padding:36px;border:1px solid #ece6df;border-radius:22px;background:#fff}.poulmi-house-number{display:grid;width:56px;height:56px;place-items:center;border-radius:13px;background:#fff0dc;color:#ef7504;font-size:24px;font-weight:800}.poulmi-detail-house h2{margin:23px 0 9px;color:#111827;font-size:28px;line-height:1.08}.poulmi-detail-house>b{color:#858a92;font-size:12px;letter-spacing:.04em}.poulmi-detail-house p{margin:19px 0;color:#626a75;font-size:16px;line-height:1.65}.poulmi-detail-house small{display:block;color:#616771;font-size:13px;font-weight:700;line-height:1.5}.poulmi-detail-house a{position:absolute;bottom:28px;color:#d56605;font-size:16px;font-weight:800}.poulmi-detail-house a span{margin-left:8px;font-size:25px;vertical-align:-2px}.poulmi-detail-category{padding:85px 0;background:#f7f2ec}.poulmi-detail-category:nth-of-type(even){background:#fffdf9}.poulmi-detail-category h2{margin:0;color:#121827;font:700 clamp(35px,3vw,49px) Georgia,serif}.poulmi-detail-category-lead{max-width:690px;color:#626a75;font-size:17px;line-height:1.7}.poulmi-detail-offerings{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:30px 0;color:#e67308;font-size:19px;font-weight:800}.poulmi-detail-offerings span{margin-left:10px;color:#555d69;font-size:16px;font-weight:500}@media(max-width:700px){.poulmi-service-tabs{justify-content:flex-start;gap:28px}.poulmi-detail-intro{padding:55px 20px}.poulmi-detailed-houses .poulmi-detail-wrap,.poulmi-detail-offerings{grid-template-columns:1fr}.poulmi-detail-house{min-height:365px;padding:30px}.poulmi-detail-category{padding:65px 0}}
.home .poulmi-houses{display:none}.poulmi-service-tabs{-ms-overflow-style:none;scrollbar-width:none}.poulmi-service-tabs::-webkit-scrollbar{display:none}html,body{overflow-x:hidden}@media(max-width:800px){.poulmi-about-grid{grid-template-columns:1fr;gap:32px}.poulmi-about-photo{max-width:480px;margin:auto}.poulmi-about-content{text-align:left}.poulmi-about-stats{flex-direction:column}}
.poulmi-detail-wrap{width:100%;max-width:none;padding-left:clamp(24px,8vw,150px);padding-right:clamp(24px,8vw,150px)}.poulmi-detail-house{position:relative;display:flex;flex-direction:column}.poulmi-detail-house a{position:static;margin-top:22px}.poulmi-service-source-note{max-width:780px;margin:0 0 20px;color:#5e6671;font-size:16px;line-height:1.75}
.poulmi-service-source-note{max-width:780px;margin:0 0 20px;color:#5e6671;font-size:16px;line-height:1.75}
@media(max-width:800px){.poulmi-intro,.poulmi-services,.poulmi-houses,.poulmi-science,.poulmi-journey,.poulmi-booking{padding:76px 0}.poulmi-intro-grid,.poulmi-science-grid,.poulmi-journey-grid{grid-template-columns:1fr;gap:26px}.poulmi-houses-heading{display:block}.poulmi-houses-heading>p{margin-top:20px}.poulmi-service-grid,.poulmi-house-grid,.poulmi-package-grid{grid-template-columns:1fr}.poulmi-service-card-featured{grid-column:auto}.poulmi-training{grid-column:auto}.poulmi-service-card ul,.poulmi-training ul{grid-template-columns:1fr}.poulmi-service-card{min-height:0;padding-bottom:76px}.poulmi-science-points{grid-template-columns:1fr}.poulmi-package-featured{transform:none}.poulmi-section-wrap{width:min(100% - 38px,1180px)}}

/* Astra normally adds a site-content margin; the home hero must start directly below the header. */
.home .site-content { margin: 0 !important; }
.home .site-content > .ast-container { width: 100% !important; max-width: none !important; padding: 0 !important; }
#primary.poulmi-home-main { width: 100vw; min-height: 0; margin: 0 0 0 calc(50% - 50vw) !important; }
.poulmi-home-main + * { display: none; }
.poulmi-hero {
	position: relative;
	overflow: hidden;
	min-height: calc(100vh - 82px);
	display: flex;
	align-items: center;
	background: #fffefa;
	isolation: isolate;
}
.poulmi-hero::after {
	position: absolute;
	z-index: -1;
	inset: 0;
	content: '';
	background: linear-gradient(90deg, #fffefa 0%, rgba(255,254,250,.98) 36%, rgba(255,254,250,.70) 56%, rgba(255,254,250,.13) 78%, rgba(255,254,250,.06) 100%);
}
.poulmi-hero-art {
	position: absolute;
	z-index: -2;
	inset: 0 -7% 0 34%;
	background: url('assets/hero_bg.png') center right / cover no-repeat;
	filter: saturate(.9);
}
.poulmi-hero-inner {
	width: min(100% - 48px, 1100px);
	margin: 0 auto;
	padding: 76px 0 82px;
}
.poulmi-hero-copy { width: min(100%, 570px); }
.poulmi-hero h1 {
	margin: 0;
	color: #10172a;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(52px, 5.1vw, 82px);
	font-weight: 700;
	letter-spacing: -.028em;
	line-height: 1.06;
}
.poulmi-hero h1 span { color: var(--poulmi-orange); }
.poulmi-hero p {
	max-width: 535px;
	margin: 37px 0 0;
	color: #566071;
	font-size: clamp(18px, 1.45vw, 23px);
	font-weight: 500;
	line-height: 1.63;
}
.poulmi-hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 48px; }
.poulmi-hero-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 59px;
	padding: 15px 31px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, color .2s ease, background .2s ease;
}
.poulmi-hero-button:hover { transform: translateY(-2px); }
.poulmi-hero-button-primary { background: #ff7308; box-shadow: 0 12px 22px rgba(255,115,8,.25); color: #fff; }
.poulmi-hero-button-primary:hover { background: #e96500; color: #fff; box-shadow: 0 14px 25px rgba(255,115,8,.31); }
.poulmi-hero-button-primary span { margin-left: 15px; font-size: 27px; font-weight: 400; line-height: .5; }
.poulmi-hero-button-secondary { border-color: rgba(38,51,70,.16); background: rgba(255,255,255,.78); box-shadow: 0 4px 10px rgba(38,51,70,.05); color: #3c4656; }
.poulmi-hero-button-secondary:hover { color: var(--poulmi-orange); background: #fff; box-shadow: 0 8px 18px rgba(38,51,70,.10); }

@media (max-width: 800px) {
	.poulmi-hero { min-height: calc(100vh - 70px); align-items: flex-start; }
	.poulmi-hero-art { inset: 0 -48% 0 0; background-position: 72% center; opacity: .78; }
	.poulmi-hero::after { background: linear-gradient(90deg, rgba(255,254,250,.96) 0%, rgba(255,254,250,.83) 48%, rgba(255,254,250,.43) 100%); }
	.poulmi-hero-inner { width: min(100% - 44px, 600px); padding: 68px 0 80px; }
	.poulmi-hero-copy { width: 100%; }
	.poulmi-hero h1 { font-size: clamp(46px, 12vw, 68px); }
}
@media (max-width: 560px) {
	.poulmi-hero-inner { width: min(100% - 40px, 500px); padding: 53px 0 65px; }
	.poulmi-hero-art { inset: 0 -94% 0 -12%; background-position: 70% center; opacity: .74; }
	.poulmi-hero::after { background: linear-gradient(90deg, rgba(255,254,250,.99) 0%, rgba(255,254,250,.90) 48%, rgba(255,254,250,.50) 100%); }
	.poulmi-hero h1 { font-size: clamp(45px, 14vw, 64px); line-height: 1.02; }
	.poulmi-hero p { margin-top: 33px; font-size: 18px; line-height: 1.62; }
	.poulmi-hero-actions { margin-top: 44px; display: grid; }
	.poulmi-hero-button { min-height: 60px; font-size: 17px; }
}

/* Full-width site canvas. Content stays readable through responsive inner padding. */
.site-content { width: 100%; margin: 0 !important; padding: 0 !important; }
.site-content > .ast-container { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
#primary.poulmi-page-main { width: 100% !important; max-width: none !important; margin: 0 !important; }
.poulmi-wide-wrap,
.poulmi-detail-wrap { width: 100%; max-width: none; margin: 0; padding-left: clamp(24px, 7vw, 140px); padding-right: clamp(24px, 7vw, 140px); }

/* Complete service detail layout. */
.poulmi-detailed-houses { width: 100%; padding: 35px 0 105px; }
.poulmi-detailed-houses .poulmi-detail-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.poulmi-detail-house { display: flex; min-height: 430px; flex-direction: column; padding: 38px; }
.poulmi-detail-house p { font-size: 16px; line-height: 1.72; }
.poulmi-detail-house small { margin-top: 2px; }
.poulmi-detail-house a { position: static !important; margin-top: auto !important; padding-top: 24px; }
.poulmi-complete-service { width: 100%; padding: 105px 0; background: #f7f2ec; }
.poulmi-complete-service:nth-of-type(even) { background: #fffdf9; }
.poulmi-category-header { max-width: 900px; margin-bottom: 46px; }
.poulmi-category-header h2 { margin: 0; color: #111827; font: 700 clamp(38px, 3.4vw, 58px)/1.04 Georgia, serif; letter-spacing: -.045em; }
.poulmi-category-header > p:last-child { margin: 22px 0 0; color: #606875; font-size: 18px; line-height: 1.75; }
.poulmi-subservice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.poulmi-subservice-card { display: flex; min-height: 310px; flex-direction: column; padding: 34px; border: 1px solid #e7ded4; border-radius: 20px; background: #fff; box-shadow: 0 8px 22px rgba(43, 33, 24, .045); }
.poulmi-subservice-number { color: #e86f05; font-size: 13px; font-weight: 900; letter-spacing: .12em; }
.poulmi-subservice-card h3 { margin: 15px 0 13px; color: #141a29; font: 700 27px/1.15 Georgia, serif; }
.poulmi-subservice-card p { margin: 0; color: #626a76; font-size: 16px; line-height: 1.7; }
.poulmi-subservice-card ul { display: grid; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; color: #626873; }
.poulmi-subservice-card li::before { content: '✓'; margin-right: 10px; color: #ed7600; font-weight: 900; }
.poulmi-subservice-card a { margin-top: auto; padding-top: 24px; color: #c95e03; font-weight: 800; }
.poulmi-medical-note { width: 100%; padding: 42px 0; background: #141b2a; color: #fff; }
.poulmi-medical-note .poulmi-detail-wrap { display: flex; gap: 28px; align-items: baseline; }
.poulmi-medical-note b { flex: 0 0 auto; color: #f5a343; }
.poulmi-medical-note p { max-width: 950px; margin: 0; color: #d3d6dc; line-height: 1.65; }

/* About page. */
.poulmi-about-hero { width: 100%; padding: 95px 0; background: linear-gradient(115deg, #fffaf2, #fff 67%); }
.poulmi-about-hero .poulmi-wide-wrap { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(42px, 7vw, 110px); align-items: center; }
.poulmi-about-portrait img { display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover; border: 6px solid #fff; border-radius: 30px; box-shadow: 0 22px 45px rgba(72, 49, 29, .15); }
.poulmi-about-story h1 { margin: 0; color: #111827; font: 700 clamp(44px, 4vw, 68px)/1.04 Georgia, serif; letter-spacing: -.055em; }
.poulmi-about-story h1 em,
.poulmi-about-copy-grid h2 em,
.poulmi-certifications h2 em,
.poulmi-about-cta h2 em { color: #ed7600; font-style: normal; }
.poulmi-about-story > p:not(.poulmi-eyebrow) { color: #606875; font-size: 18px; line-height: 1.75; }
.poulmi-about-badges { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 30px; }
.poulmi-about-badges span { padding: 19px; border: 1px solid #eee5da; border-radius: 14px; background: #fff; color: #747781; box-shadow: 0 5px 16px rgba(50, 38, 27, .06); }
.poulmi-about-badges b { display: block; margin-bottom: 2px; color: #161c2a; font-size: 19px; }
.poulmi-about-journey { width: 100%; padding: 105px 0; background: #f6f0e8; }
.poulmi-about-copy-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; }
.poulmi-about-copy-grid h2,
.poulmi-certifications h2,
.poulmi-about-cta h2 { margin: 0; color: #111827; font: 700 clamp(38px, 3.4vw, 58px)/1.05 Georgia, serif; letter-spacing: -.045em; }
.poulmi-about-copy-grid > div:last-child p { color: #606875; font-size: 17px; line-height: 1.8; }
.poulmi-about-belief { width: 100%; padding: 75px 0; background: #c96008; }
.poulmi-about-belief blockquote { max-width: 1000px; margin: 0 auto; padding: 0; border: 0; color: #fff; font: 700 clamp(31px, 3vw, 50px)/1.25 Georgia, serif; text-align: center; }
.poulmi-about-belief cite { display: block; margin-top: 22px; color: #ffe5cf; font: 600 14px Arial, sans-serif; }
.poulmi-certifications { width: 100%; padding: 105px 0; background: #fffdf9; }
.poulmi-certifications header { max-width: 760px; margin-bottom: 45px; }
.poulmi-certifications header > p:last-child { color: #606875; font-size: 17px; line-height: 1.7; }
.poulmi-cert-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.poulmi-cert-grid article { padding: 29px; border: 1px solid #e9e1d8; border-radius: 17px; background: #fff; }
.poulmi-cert-grid h3 { margin: 0 0 12px; color: #161c2a; font: 700 22px/1.2 Georgia, serif; }
.poulmi-cert-grid p { margin: 0; color: #686c75; line-height: 1.65; }
.poulmi-about-cta { width: 100%; padding: 95px 0; background: #f5ede3; text-align: center; }
.poulmi-about-cta p { max-width: 720px; margin: 22px auto 30px; color: #626975; font-size: 18px; line-height: 1.7; }

/* Custom footer. */
.poulmi-footer { width: 100%; background: #101623; color: #d1d5dc; }
.poulmi-footer-main { display: grid; grid-template-columns: 1.5fr .7fr .9fr .9fr; gap: 55px; padding: 75px clamp(24px, 7vw, 140px) 60px; }
.poulmi-footer-brand img { width: 145px; filter: brightness(0) invert(1); opacity: .95; }
.poulmi-footer-brand p { max-width: 390px; color: #aeb4bf; line-height: 1.7; }
.poulmi-footer h3 { margin: 5px 0 20px; color: #fff; font: 700 20px Georgia, serif; }
.poulmi-footer a { display: block; margin: 10px 0; color: #cdd1d8; }
.poulmi-footer a:hover { color: #f59a3f; }
.poulmi-footer-brand > a { color: #f59a3f; font-weight: 800; }
.poulmi-footer-button { width: fit-content; padding: 11px 17px; border-radius: 9px; background: #ed7600; color: #fff !important; font-weight: 800; }
.poulmi-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 22px clamp(24px, 7vw, 140px); border-top: 1px solid rgba(255,255,255,.1); color: #8e96a4; font-size: 13px; }

@media (max-width: 900px) {
	.poulmi-detailed-houses .poulmi-detail-wrap,
	.poulmi-subservice-grid,
	.poulmi-about-hero .poulmi-wide-wrap,
	.poulmi-about-copy-grid { grid-template-columns: 1fr; }
	.poulmi-detail-house { min-height: 0; }
	.poulmi-about-portrait { max-width: 620px; margin: auto; }
	.poulmi-cert-grid { grid-template-columns: repeat(2, 1fr); }
	.poulmi-footer-main { grid-template-columns: 1.3fr 1fr; }
}
@media (max-width: 600px) {
	.poulmi-complete-service,
	.poulmi-about-hero,
	.poulmi-about-journey,
	.poulmi-certifications,
	.poulmi-about-cta { padding: 70px 0; }
	.poulmi-detail-house,
	.poulmi-subservice-card { padding: 27px; }
	.poulmi-subservice-grid,
	.poulmi-cert-grid,
	.poulmi-about-badges,
	.poulmi-footer-main { grid-template-columns: 1fr; }
	.poulmi-medical-note .poulmi-detail-wrap,
	.poulmi-footer-bottom { flex-direction: column; }
	.poulmi-footer-main { gap: 34px; padding-top: 55px; }
}

/* Contact strip, conversion forms and homepage finishing sections. */
html { scroll-behavior: smooth; }
#about, #services, #testimonials, #contact, #book, #poulmi-form { scroll-margin-top: 110px; }
.poulmi-topbar {
	display: flex;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	gap: clamp(24px, 4vw, 60px);
	padding: 7px clamp(20px, 5vw, 90px);
	border-bottom: 1px solid #f1dfca;
	background: #fff7ed;
	color: #303849;
	font-size: 14px;
	font-weight: 700;
}
.poulmi-topbar a,
.poulmi-topbar > span { display: inline-flex; align-items: center; gap: 8px; color: #303849; white-space: nowrap; }
.poulmi-topbar a::first-letter,
.poulmi-topbar > span::first-letter { color: #ed7600; }

/* The expertise cards form a clean three-column system on desktop. */
.poulmi-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.poulmi-service-card,
.poulmi-service-card-featured {
	display: flex;
	min-height: 580px;
	flex-direction: column;
	grid-column: auto;
}
.poulmi-service-card-featured { min-height: 680px; }
.poulmi-service-card h3 { display: block; margin: 20px 0 0; font-size: clamp(26px, 2vw, 34px); }
.poulmi-service-card > p { margin: 14px 0 25px; }
.poulmi-service-card ul { grid-template-columns: 1fr; }
.poulmi-service-card a { position: static; margin-top: auto; padding-top: 28px; }

.poulmi-form-section { width: 100%; padding: 105px 0; background: #f8f3ed; }
.poulmi-form-shell {
	display: grid;
	width: 100%;
	grid-template-columns: .78fr 1.22fr;
	gap: clamp(38px, 7vw, 105px);
	align-items: start;
	padding: 0 clamp(24px, 8vw, 150px);
}
.poulmi-form-intro { position: sticky; top: 140px; }
.poulmi-form-intro h2 {
	margin: 0 0 20px;
	color: #111827;
	font: 700 clamp(38px, 3.8vw, 58px)/1.05 Georgia, serif;
	letter-spacing: -.045em;
}
.poulmi-form-intro > p:not(.poulmi-eyebrow),
.poulmi-form-intro li { color: #626a76; font-size: 16px; line-height: 1.72; }
.poulmi-form-intro ul { margin: 27px 0 0; padding-left: 20px; }
.poulmi-form-intro li { margin: 9px 0; }
.poulmi-lead-form-wrap {
	padding: clamp(28px, 4vw, 52px);
	border: 1px solid #eadfd3;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(61, 43, 27, .08);
}
.poulmi-lead-form { display: grid; gap: 20px; }
.poulmi-lead-form label { display: grid; gap: 8px; color: #313847; font-size: 14px; font-weight: 800; }
.poulmi-lead-form input:not([type="checkbox"]),
.poulmi-lead-form select,
.poulmi-lead-form textarea {
	width: 100%;
	min-height: 52px;
	padding: 13px 15px;
	border: 1px solid #ddd7d0;
	border-radius: 10px;
	background: #fffdfa;
	color: #252b38;
	font: 500 16px/1.45 Arial, sans-serif;
	box-shadow: none;
}
.poulmi-lead-form textarea { min-height: 125px; resize: vertical; }
.poulmi-lead-form input:focus,
.poulmi-lead-form select:focus,
.poulmi-lead-form textarea:focus { border-color: #ed7600; outline: 3px solid rgba(237, 118, 0, .12); }
.poulmi-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.poulmi-lead-form .poulmi-checkbox { display: flex; gap: 11px; align-items: flex-start; color: #606773; font-weight: 600; line-height: 1.55; }
.poulmi-checkbox input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; accent-color: #ed7600; }
.poulmi-lead-form button {
	min-height: 56px;
	padding: 14px 24px;
	border: 0;
	border-radius: 11px;
	background: #ed7600;
	color: #fff;
	font-size: 16px;
	font-weight: 900;
	cursor: pointer;
	box-shadow: 0 12px 24px rgba(222, 103, 0, .2);
}
.poulmi-lead-form button:hover { background: #cb6104; }
.poulmi-form-success { margin-bottom: 24px; padding: 15px 17px; border: 1px solid #a7d7b2; border-radius: 10px; background: #effaf1; color: #216d33; font-weight: 800; }
.poulmi-contact-details { display: grid; gap: 13px; margin-top: 32px; }
.poulmi-contact-details a,
.poulmi-contact-details span { display: block; padding: 17px 19px; border: 1px solid #e8dfd4; border-radius: 13px; background: #fff; color: #59616e; line-height: 1.55; }
.poulmi-contact-details b { display: block; margin-bottom: 3px; color: #1b2230; }

.poulmi-testimonials { width: 100%; padding: 105px 0; background: #141b2a; color: #fff; }
.poulmi-testimonials h2 {
	max-width: 880px;
	margin: 0 0 45px;
	color: #fff;
	font: 700 clamp(38px, 4vw, 59px)/1.04 Georgia, serif;
	letter-spacing: -.05em;
}
.poulmi-testimonials h2 em { color: #f5a343; font-style: normal; }
.poulmi-testimonial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.poulmi-testimonial-grid blockquote {
	margin: 0;
	padding: 34px;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 18px;
	background: rgba(255,255,255,.055);
	color: #f2f3f5;
	font: 500 18px/1.72 Arial, sans-serif;
}
.poulmi-testimonial-grid blockquote::before { display: block; margin-bottom: 12px; content: '“'; color: #f59a3f; font: 700 50px/.65 Georgia, serif; }
.poulmi-testimonial-grid cite { display: block; margin-top: 22px; color: #f5a343; font-size: 13px; font-style: normal; font-weight: 800; }
.poulmi-home-contact { width: 100%; padding: 82px 0; background: #f4e9dc; }
.poulmi-home-contact .poulmi-section-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.poulmi-home-contact h2 { margin: 0; color: #111827; font: 700 clamp(34px, 3.5vw, 52px)/1.06 Georgia, serif; letter-spacing: -.04em; }
.poulmi-home-contact p:not(.poulmi-eyebrow) { max-width: 650px; color: #626a76; font-size: 17px; line-height: 1.7; }
.poulmi-home-contact-actions { display: grid; justify-items: start; gap: 10px; }
.poulmi-home-contact-actions > a:not(.poulmi-hero-button) { color: #303849; font-size: 17px; font-weight: 800; }
.poulmi-home-contact-actions .poulmi-hero-button { margin-top: 8px; }

.poulmi-whatsapp {
	position: fixed;
	z-index: 9999;
	right: 24px;
	bottom: 24px;
	display: grid !important;
	width: 60px;
	height: 60px;
	margin: 0 !important;
	place-items: center;
	border: 3px solid #fff;
	border-radius: 50%;
	background: #21c963;
	box-shadow: 0 10px 28px rgba(18, 93, 48, .3);
}
.poulmi-whatsapp svg { width: 31px; height: 31px; fill: #fff; }
.poulmi-whatsapp span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.poulmi-whatsapp:hover { background: #16aa50; transform: translateY(-2px); }

@media (max-width: 900px) {
	.poulmi-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.poulmi-service-card,
	.poulmi-service-card-featured { min-height: 600px; }
	.poulmi-testimonial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
	.poulmi-topbar { min-height: 36px; gap: 18px; padding: 6px 16px; font-size: 12px; }
	.poulmi-topbar > span:last-child { display: none; }
	.poulmi-service-grid,
	.poulmi-testimonial-grid,
	.poulmi-form-shell,
	.poulmi-home-contact .poulmi-section-wrap { grid-template-columns: 1fr; }
	.poulmi-service-card,
	.poulmi-service-card-featured { min-height: 0; padding-bottom: 33px; }
	.poulmi-form-section,
	.poulmi-testimonials { padding: 76px 0; }
	.poulmi-form-shell { gap: 32px; }
	.poulmi-form-intro { position: static; }
	.poulmi-home-contact { padding: 68px 0; }
}
@media (max-width: 560px) {
	.poulmi-topbar { justify-content: space-between; gap: 10px; font-size: 11px; }
	.poulmi-topbar a:nth-child(2) span { max-width: 145px; overflow: hidden; text-overflow: ellipsis; }
	.poulmi-form-row { grid-template-columns: 1fr; }
	.poulmi-lead-form-wrap { padding: 25px 20px; border-radius: 18px; }
	.poulmi-whatsapp { right: 16px; bottom: 16px; width: 54px; height: 54px; }
	.poulmi-whatsapp svg { width: 28px; height: 28px; }
}

/* Local Lucide icon system. */
.poulmi-lucide {
	display: inline-block;
	width: 1.15em;
	height: 1.15em;
	flex: 0 0 auto;
	vertical-align: -.18em;
}
.poulmi-topbar .poulmi-lucide { width: 18px; height: 18px; color: #ed7600; }
.poulmi-eyebrow:has(.poulmi-lucide) { display: flex; align-items: center; gap: 7px; }
.poulmi-eyebrow .poulmi-lucide { width: 17px; height: 17px; stroke-width: 2.3; }
.poulmi-service-icon .poulmi-lucide { width: 29px; height: 29px; stroke-width: 1.8; }
.poulmi-home-contact-actions > a:not(.poulmi-hero-button),
.poulmi-footer-button,
.poulmi-footer-contact { display: inline-flex !important; align-items: center; gap: 9px; }
.poulmi-home-contact-actions .poulmi-lucide,
.poulmi-footer-contact .poulmi-lucide { width: 19px; height: 19px; color: #ed7600; }
.poulmi-footer-button .poulmi-lucide { width: 17px; height: 17px; }
.poulmi-contact-details > a,
.poulmi-contact-details > span {
	display: flex;
	gap: 13px;
	align-items: flex-start;
	padding: 17px 19px;
	border: 1px solid #e8dfd4;
	border-radius: 13px;
	background: #fff;
	color: #59616e;
	line-height: 1.55;
}
.poulmi-contact-details > a > span,
.poulmi-contact-details > span > span { display: block; padding: 0; border: 0; background: transparent; }
.poulmi-contact-details .poulmi-lucide { width: 21px; height: 21px; margin-top: 3px; color: #ed7600; }

/* Use a clean Lucide-style check stroke instead of a text glyph. */
.poulmi-service-card li,
.poulmi-subservice-card li,
.poulmi-training li { position: relative; padding-left: 27px; }
.poulmi-service-card li::before,
.poulmi-subservice-card li::before,
.poulmi-training li::before {
	position: absolute;
	top: .35em;
	left: 2px;
	width: 12px;
	height: 7px;
	margin: 0;
	border-bottom: 2px solid #ed7600;
	border-left: 2px solid #ed7600;
	content: '';
	transform: rotate(-45deg);
}

/* Typography matched to the approved reference: Outfit + Playfair Display. */
body,
button,
input,
select,
textarea { font-family: 'Outfit', Arial, sans-serif; }
#page h1,
#page h2,
#page h3,
#page h4,
.poulmi-footer h3 { font-family: 'Playfair Display', Georgia, serif !important; }

/* Reference-matched orange-to-gold highlight, with the same bold Playfair feel. */
.poulmi-hero h1 { font-weight: 700; letter-spacing: -.028em; line-height: 1.06; }
.poulmi-hero h1 span,
.poulmi-intro h2 em,
.poulmi-services h2 em,
.poulmi-houses h2 em,
.poulmi-science h2 em,
.poulmi-journey h2 em,
.poulmi-booking h2 em,
.poulmi-page-hero em,
.poulmi-about-content h2 em,
.poulmi-about-story h1 em,
.poulmi-about-copy-grid h2 em,
.poulmi-certifications h2 em,
.poulmi-about-cta h2 em {
	display: inline;
	line-height: inherit;
	overflow: visible;
	background: var(--poulmi-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
}

/* Reference-style appointment pill and understated Lucide card watermarks. */
.poulmi-cta {
	min-height: 56px;
	padding: 13px 28px;
	border-radius: 999px;
	background: #ff7010;
	box-shadow: 0 10px 20px rgba(255, 112, 16, .24);
	font-family: 'Outfit', Arial, sans-serif;
	font-size: 16px;
	font-weight: 600;
}
.poulmi-cta:hover { background: #e85f00; }
.poulmi-cta .poulmi-lucide { width: 21px; height: 21px; stroke-width: 2.2; }
.poulmi-service-card { overflow: hidden; }
.poulmi-service-card > :not(.poulmi-service-watermark) { position: relative; z-index: 1; }
.poulmi-service-watermark {
	position: absolute;
	top: 20px;
	right: 24px;
	z-index: 0;
	width: 142px;
	height: 142px;
	color: #111827;
	opacity: .045;
	pointer-events: none;
}
.poulmi-service-watermark .poulmi-lucide { width: 100%; height: 100%; stroke-width: 1.5; }

/* Arush reference: Lucide service symbols inside warm circular badges. */
.poulmi-service-icon {
	width: 56px;
	height: 56px;
	border: 0;
	border-radius: 50%;
	background: #ffedd5;
	color: #ff7010;
	margin-bottom: 24px;
}
.poulmi-service-icon .poulmi-lucide { width: 28px; height: 28px; stroke-width: 2.15; }
.poulmi-service-watermark { color: #111827; opacity: .03; }
.poulmi-service-card-featured { border-color: #fed7aa; }

/* Booking packages: every bullet and its wrapped line share one text edge. */
.poulmi-package-grid ul {
	margin: 24px 0 0;
	padding-left: 1.35rem;
	list-style-position: outside;
}
.poulmi-package-grid li { padding-left: .3rem; }
.poulmi-package-grid strong,
.poulmi-package-featured > span { color: #ff7010; }
.poulmi-package-featured > span { background: #ff7010; color: #fff; }

/* Keep body copy from visually sticking to a heading across every page. */
#page .poulmi-page-main h1 + p,
#page .poulmi-page-main h2 + p { margin-top: 26px; }
#page .poulmi-page-main h3 + p { margin-top: 13px; }
@media (max-width: 560px) {
	#page .poulmi-page-main h1 + p,
	#page .poulmi-page-main h2 + p { margin-top: 20px; }
}
@media (max-width: 560px) {
	.poulmi-cta { min-height: 48px; padding: 11px 18px; font-size: 14px; }
	.poulmi-cta .poulmi-lucide { display: block; width: 18px; height: 18px; }
	.poulmi-service-watermark { width: 104px; height: 104px; right: 16px; top: 16px; }
}
