/*
 * Lopburi Hosting 0.5
 * Transitional visual refresh: native WordPress content + premium editorial layout.
 * No page-builder dependency.
 */
:root{
	--lp-red:#d61523;
	--lp-red-dark:#a40f19;
	--lp-yellow:#f8da02;
	--lp-ink:#1e211f;
	--lp-ink-2:#303630;
	--lp-muted:#697066;
	--lp-line:#dfe3da;
	--lp-surface:#f4f5ef;
	--lp-surface-2:#faf9f6;
	--lp-dark:#242b25;
	--lp-radius:8px;
	--lp-shadow:0 24px 60px rgba(24,31,25,.10);
	--lp-shadow-strong:0 34px 90px rgba(24,31,25,.16);
}

/* ---------- shell / navigation ---------- */
.lp-premium{
	background:#fff;
	color:var(--lp-ink);
}
.lp-premium .lbh-container{max-width:1240px}
.lp-premium .lp-utility{
	background:var(--lp-dark);
	color:#dfe4dc;
	border-bottom:1px solid rgba(255,255,255,.08);
}
.lp-premium .lp-utility a{color:#fff;opacity:.82}
.lp-premium .lp-utility a:hover{opacity:1}
.lp-premium .lbh-site-header{
	background:rgba(255,255,255,.92);
	border-bottom:1px solid rgba(218,223,214,.92);
	backdrop-filter:blur(18px) saturate(150%);
}
.lp-premium .lbh-header-inner{min-height:82px}
.lp-premium .custom-logo{max-height:48px}
.lp-premium .lp-nav>a,
.lp-premium .lp-nav summary{
	position:relative;
	font-weight:600;
	letter-spacing:-.01em;
}
.lp-premium .lp-nav>a:after,
.lp-premium .lp-nav summary:after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-11px;
	height:2px;
	background:var(--lp-red);
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .2s ease;
}
.lp-premium .lp-nav>a:hover:after,
.lp-premium .lp-nav details:hover>summary:after{transform:scaleX(1)}
.lp-premium .lbh-button{
	border-radius:6px;
	font-weight:700;
	letter-spacing:-.01em;
}
.lp-premium .lbh-button--small{padding:11px 17px}

/* ---------- type / section rhythm ---------- */
.lp-premium h1,
.lp-premium h2,
.lp-premium h3{
	text-wrap:balance;
	letter-spacing:-.035em;
}
.lp-premium p{line-height:1.78}
.lp-premium .lbh-eyebrow{
	font-size:11px;
	font-weight:700;
	letter-spacing:.13em;
	text-transform:uppercase;
}
.lp-premium .lbh-section{padding:112px 0}
.lp-premium .lbh-section--muted{background:#f5f6f1}
.lp-premium .lp-section-head{
	display:grid;
	grid-template-columns:minmax(0,1.2fr) minmax(260px,.55fr);
	align-items:end;
	gap:64px;
	margin-bottom:48px;
	padding-bottom:26px;
	border-bottom:1px solid var(--lp-line);
}
.lp-premium .lp-section-head>p{max-width:380px;color:var(--lp-muted)}

/* ---------- home hero ---------- */
.lp-home-hero{
	padding:88px 0 100px;
	background:
		linear-gradient(90deg,rgba(255,255,255,.70),rgba(255,255,255,0)),
		#f2f3ed;
}
.lp-home-hero:before{
	background-size:56px 56px;
	opacity:.7;
}
.lp-home-hero:after{
	width:420px;
	height:420px;
	right:-215px;
	top:-250px;
	background:var(--lp-red);
}
.lp-hero-grid{
	display:grid;
	grid-template-columns:minmax(0,1.02fr) minmax(450px,.98fr);
	gap:72px;
	align-items:center;
}
.lp-hero-copy{padding:22px 0 12px}
.lp-hero-copy:before{
	width:54px;
	height:4px;
	margin-bottom:30px;
}
.lp-hero-copy h1{
	max-width:730px;
	font-size:clamp(3.1rem,5.4vw,5.7rem);
	line-height:1.03;
	letter-spacing:-.065em;
}
.lp-hero-copy .lbh-lead{
	max-width:620px;
	font-size:clamp(1.03rem,1.45vw,1.22rem);
	color:#535b52;
}
.lp-hero-copy .lbh-actions{display:flex;align-items:center;gap:30px;margin-top:34px}
.lp-hero-notes{
	display:flex;
	gap:28px;
	margin-top:42px;
	padding-top:18px;
	border-top:1px solid rgba(54,62,54,.16);
	color:#697066;
	font-size:12px;
}
.lp-hero-notes span:before{
	content:"";
	display:inline-block;
	width:6px;
	height:6px;
	margin-right:8px;
	border-radius:50%;
	background:var(--lp-red);
	vertical-align:1px;
}
.lp-showcase{position:relative;min-height:550px}
.lp-hero-photo-frame{
	inset:12px 22px 44px 54px;
	border-radius:10px;
	box-shadow:var(--lp-shadow-strong);
	transform:rotate(.8deg);
}
.lp-home-hero-media,
.lp-home-hero-media img{border-radius:10px}
.lp-photo-index{
	left:22px;
	bottom:20px;
	padding:8px 10px;
	background:rgba(27,32,28,.74);
	border-radius:4px;
	backdrop-filter:blur(6px);
}
.lp-floating{
	border:1px solid rgba(33,39,34,.08);
	border-radius:8px;
	background:rgba(255,255,255,.96);
}
.lp-showcase--photo .lp-floating--domain{left:-10px;bottom:28px}
.lp-showcase--photo .lp-floating--care{right:-10px;top:48px}
.lp-showcase--photo .lp-orbit{opacity:.8}

/* ---------- capability + domain ---------- */
.lp-capability-band{background:#222922}
.lp-capability-band>.lbh-container{max-width:1240px}
.lp-capability-band span{
	min-height:76px;
	padding:0 28px;
	font-size:10px;
	letter-spacing:.15em;
}
.lp-capability-band b{font-size:11px}
.lp-domain-strip{padding-bottom:56px}
.lp-domain-strip>.lbh-container{
	transform:translateY(20px);
	grid-template-columns:300px minmax(0,1fr);
	gap:36px;
	padding:26px 30px;
	border-radius:8px;
	box-shadow:0 18px 48px rgba(29,34,29,.08);
}
.lp-domain-entry{
	min-height:58px;
	border-color:#d8ddd4;
	border-radius:6px;
}
.lp-domain-entry strong{border-radius:5px}

/* ---------- services / bento ---------- */
.lp-cards--services{gap:20px}
.lp-card{
	border-color:#dde2d9;
	border-radius:8px;
	box-shadow:0 1px 0 rgba(29,35,29,.02);
}
.lp-cards--services .lp-card{
	min-height:344px;
	padding:36px 34px;
}
.lp-card:hover{
	transform:translateY(-5px);
	box-shadow:0 22px 56px rgba(31,39,31,.10);
}
.lp-card-icon{
	border-radius:6px;
	background:#f9eeeb;
}
.lp-cards--services .lp-card:nth-child(1){
	background:#fff7f3;
	border-color:#ecdcd5;
}
.lp-cards--services .lp-card:nth-child(2){background:#f7f8f4}
.lp-cards--services .lp-card:nth-child(6){
	min-height:226px;
	border-radius:8px;
	background:#242b25;
}
.lp-card-link{border-top-color:#e4e8e1}

/* ---------- website journey / optional image ---------- */
.lp-spotlight{
	padding:108px 0;
	background:#232a24;
}
.lp-spotlight:after{
	width:500px;
	height:500px;
	border-width:86px;
	op:auto;
	right:-265px;
	bottom:-295px;
	opacity:.72;
}
.lp-spotlight__grid{
	display:grid;
	grid-template-columns:minmax(0,.9fr) minmax(0,1.05fr);
	gap:72px;
	align-items:center;
}
.lp-spotlight--with-media .lp-spotlight__grid{
	grid-template-columns:minmax(260px,.75fr) minmax(300px,.9fr) minmax(320px,.95fr);
	gap:34px;
}
.lp-spotlight__copy h2{font-size:clamp(2.25rem,3.4vw,3.7rem)}
.lp-spotlight__copy p{color:#cbd1c8}
.lp-spotlight__media{
	position:relative;
	min-height:490px;
}
.lp-spotlight__image{
	position:absolute;
	inset:0;
	border-radius:8px;
	box-shadow:0 28px 70px rgba(0,0,0,.26);
}
.lp-spotlight__image:after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,transparent 58%,rgba(15,19,16,.38));
	pointer-events:none;
}
.lp-spotlight__media>span{
	position:absolute;
	left:16px;
	bottom:16px;
	z-index:2;
	padding:9px 11px;
	border-radius:4px;
	background:#fff;
	color:#242b25;
	font:700 9px/1.2 system-ui,sans-serif;
	letter-spacing:.13em;
}
.lp-step-stack>a{
	padding:24px 25px;
	border-radius:7px;
	background:rgba(255,255,255,.035);
}
.lp-step-stack h3{font-size:22px}

/* ---------- public sector ---------- */
.lp-public-section{background:#fff}
.lp-public-copy{align-self:start;position:sticky;top:145px}
.lp-public-panel{
	border:1px solid var(--lp-line);
	border-radius:9px;
	background:#fff;
	overflow:hidden;
	box-shadow:0 18px 48px rgba(28,35,29,.06);
}
.lp-public-media{position:relative;height:290px;background:#e9ece6}
.lp-public-image{height:100%;border-radius:0}
.lp-public-media>span{
	position:absolute;
	left:18px;
	bottom:18px;
	padding:8px 10px;
	border-radius:4px;
	background:var(--lp-red);
	color:#fff;
	font:700 9px/1 system-ui,sans-serif;
	letter-spacing:.12em;
}
.lp-public-list{border-top:0!important}
.lp-public-list>a{
	min-height:76px;
	padding:20px 24px;
	border-bottom:1px solid #e8ebe5;
}
.lp-public-list>a:last-child{border-bottom:0;background:#f6f7f2}
.lp-public-list>a:hover{padding-inline:30px}

/* ---------- help ---------- */
.lp-help-banner{
	padding:86px 0;
	background:#f1f3ec;
}
.lp-help-grid{
	display:grid;
	grid-template-columns:minmax(0,.95fr) minmax(0,.8fr) minmax(220px,.55fr);
	gap:42px;
	align-items:center;
}
.lp-help-grid--no-media{
	grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);
}
.lp-help-copy h2{max-width:620px}
.lp-help-media{position:relative;height:240px}
.lp-help-image{height:100%;border-radius:8px;box-shadow:0 18px 42px rgba(33,40,33,.10)}
.lp-help-media>span{
	position:absolute;
	right:12px;
	bottom:12px;
	padding:7px 9px;
	border-radius:4px;
	background:#252c26;
	color:#fff;
	font:700 8px/1 system-ui,sans-serif;
	letter-spacing:.12em;
}
.lp-help-actions{align-content:center}
.lp-help-actions>a:not(.lbh-button){font-weight:700;text-underline-offset:5px}

/* ---------- internal hero ---------- */
.lp-page-hero,
.lp-premium .lbh-page-hero,
.lbh-entry-hero{
	background:#f2f3ed;
}
.lp-page-hero:before,
.lp-premium .lbh-page-hero:before,
.lbh-entry-hero:before{background-size:56px 56px}
.lp-page-hero:after,
.lp-premium .lbh-page-hero:after,
.lbh-entry-hero:after{
	width:360px;
	height:360px;
	right:-190px;
	top:-220px;
}
.lp-page-hero{padding:64px 0 88px}
.lp-page-hero__grid,
.lp-premium .lbh-page-hero__grid,
.lbh-entry-hero__grid{
	gap:76px;
	align-items:center;
}
.lp-page-hero__copy h1,
.lp-premium .lbh-page-hero h1,
.lbh-entry-hero__copy h1{
	font-size:clamp(2.8rem,4.7vw,5rem);
	line-height:1.03;
	letter-spacing:-.055em;
}
.lp-page-hero__media-wrap,
.lbh-page-hero-media-wrap{min-height:420px}
.lp-page-hero__media,
.lbh-page-hero-media{height:420px;border-radius:9px;transform:rotate(.6deg);box-shadow:var(--lp-shadow-strong)}
.lp-page-hero__media-wrap:before,
.lbh-page-hero-media-wrap:before{
	left:-15px;
	bottom:-15px;
	width:42%;
	height:46%;
	border-radius:4px;
}
.lp-page-hero__media-tag,
.lbh-page-hero-media-wrap>span{border-radius:4px}

/* ---------- native section image story ---------- */
.lp-media-story{
	padding:86px 0;
	background:#242b25;
	color:#fff;
	overflow:hidden;
}
.lp-media-story__head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:30px;
	margin-bottom:26px;
	padding-bottom:18px;
	border-bottom:1px solid rgba(255,255,255,.13);
}
.lp-media-story__head .lbh-eyebrow{margin:0;color:#fff}
.lp-media-story__head>span{
	color:#9ea69b;
	font:700 9px/1.3 system-ui,sans-serif;
	letter-spacing:.14em;
}
.lp-media-story__grid{
	display:grid;
	grid-template-columns:repeat(12,minmax(0,1fr));
	gap:18px;
}
.lp-media-story__item{
	position:relative;
	grid-column:span 4;
	min-height:420px;
	overflow:hidden;
	border-radius:8px;
	background:#303832;
}
.lp-media-story__grid--1 .lp-media-story__item{grid-column:2/span 10;min-height:520px}
.lp-media-story__grid--2 .lp-media-story__item{grid-column:span 6;min-height:470px}
.lp-media-story__grid--3 .lp-media-story__item:nth-child(1){grid-column:span 6;min-height:500px}
.lp-media-story__grid--3 .lp-media-story__item:nth-child(2),
.lp-media-story__grid--3 .lp-media-story__item:nth-child(3){grid-column:span 3;min-height:500px}
.lp-media-story__media{position:absolute;inset:0}
.lp-media-story__media:after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,transparent 62%,rgba(13,17,14,.38));
	pointer-events:none;
}
.lp-media-story__index{
	position:absolute;
	left:14px;
	bottom:14px;
	z-index:2;
	display:grid;
	place-items:center;
	width:40px;
	height:40px;
	border-radius:50%;
	background:#fff;
	color:#252c26;
	font:700 10px/1 system-ui,sans-serif;
}

/* ---------- detailed service cards ---------- */
.lp-premium .lbh-goal-grid>a,
.lp-premium .lbh-three-columns>article,
.lp-premium .lbh-selector-panel,
.lp-premium .lbh-recommended-plan,
.lp-premium .lp-package,
.lp-premium .lp-manual-group,
.lp-premium .lbh-contact-summary{
	border-radius:8px;
}
.lp-premium .lbh-goal-grid>a,
.lp-premium .lbh-three-columns>article,
.lp-premium .lp-package{
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.lp-premium .lbh-goal-grid>a:hover,
.lp-premium .lbh-three-columns>article:hover,
.lp-premium .lp-package:hover{
	transform:translateY(-4px);
	border-color:#cbd2c7;
	box-shadow:0 20px 46px rgba(30,38,31,.08);
}
.lp-premium .lbh-recommended-plan{
	box-shadow:0 24px 66px rgba(29,36,30,.10);
}
.lp-premium .lbh-comparison{
	border-radius:8px;
	overflow:hidden;
	box-shadow:0 12px 34px rgba(28,34,28,.05);
}
.lp-premium .lbh-dark-feature{background:#242b25}
.lp-premium .lbh-final-cta{
	background:#d61523;
	position:relative;
	overflow:hidden;
}
.lp-premium .lbh-final-cta:after{
	content:"";
	position:absolute;
	right:-90px;
	top:-110px;
	width:260px;
	height:260px;
	border:44px solid rgba(255,255,255,.12);
	border-radius:50%;
}
.lp-premium .lbh-final-cta>.lbh-container{position:relative;z-index:1}

/* ---------- CTA + footer ---------- */
.lp-cta{
	padding:96px 0;
	background:#fff6f2;
}
.lp-cta>.lbh-container{
	padding-top:8px;
	padding-bottom:8px;
}
.lp-premium .lbh-site-footer{
	padding-top:64px;
	background:#fff;
	border-top:1px solid var(--lp-line);
}
.lp-footer-intro{
	padding-bottom:34px;
	margin-bottom:42px;
}
.lp-footer-intro p{max-width:440px;color:#687067;text-align:right}
.lp-footer-columns{gap:46px}
.lp-footer-columns h2{
	font-size:13px;
	letter-spacing:.02em;
}
.lp-footer-columns li{margin-bottom:12px}
.lp-parent{
	border-radius:7px;
	background:#f3f4ef;
}

/* ---------- media plumbing ---------- */
.lbh-editable-page-media{
	margin:0;
	overflow:hidden;
	background:#e5e8e1;
}
.lbh-editable-page-media img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

/* ---------- responsive ---------- */
@media(max-width:1160px){
	.lp-hero-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.88fr);gap:44px}
	.lp-spotlight--with-media .lp-spotlight__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}
	.lp-spotlight--with-media .lp-spotlight__media{grid-row:1/3;grid-column:2}
	.lp-spotlight--with-media .lp-step-stack{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}
	.lp-spotlight--with-media .lp-step-stack>a{align-items:flex-start}
	.lp-help-grid{grid-template-columns:1fr 1fr}
	.lp-help-media{grid-row:1/3;grid-column:2}
	.lp-help-actions{grid-column:1}
}

@media(max-width:900px){
	.lp-premium .lbh-section{padding:78px 0}
	.lp-hero-grid{grid-template-columns:1fr 1fr;gap:26px}
	.lp-showcase{min-height:430px}
	.lp-cards--services .lp-card:nth-child(n){grid-column:span 6}
	.lp-cards--services .lp-card:nth-child(6){grid-column:1/-1}
	.lp-spotlight__grid,
	.lp-spotlight--with-media .lp-spotlight__grid{grid-template-columns:1fr 1fr;gap:30px}
	.lp-spotlight--with-media .lp-spotlight__media{grid-row:auto;grid-column:auto;min-height:390px}
	.lp-spotlight--with-media .lp-step-stack{grid-column:1/-1;grid-template-columns:1fr}
	.lp-public-copy{position:static}
	.lp-help-grid,.lp-help-grid--no-media{grid-template-columns:1fr 1fr}
	.lp-help-media{grid-row:auto;grid-column:auto}
	.lp-help-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}
	.lp-media-story__grid--3 .lp-media-story__item:nth-child(1){grid-column:1/-1;min-height:430px}
	.lp-media-story__grid--3 .lp-media-story__item:nth-child(2),
	.lp-media-story__grid--3 .lp-media-story__item:nth-child(3){grid-column:span 6;min-height:360px}
	.lp-page-hero__media-wrap,.lbh-page-hero-media-wrap{min-height:330px}
	.lp-page-hero__media,.lbh-page-hero-media{height:330px}
}

@media(max-width:650px){
	.lp-premium .lbh-section{padding:62px 0}
	.lp-premium .lp-section-head{grid-template-columns:1fr;gap:18px;margin-bottom:30px;padding-bottom:20px}
	.lp-home-hero{padding:48px 0 58px}
	.lp-hero-grid{grid-template-columns:1fr;gap:34px}
	.lp-hero-copy h1{font-size:clamp(2.7rem,13.2vw,4rem)}
	.lp-hero-copy .lbh-actions{align-items:flex-start;flex-direction:column;gap:18px}
	.lp-hero-notes{flex-direction:column;gap:10px;margin-top:30px}
	.lp-showcase{min-height:400px}
	.lp-hero-photo-frame{inset:18px 12px 42px 22px}
	.lp-showcase--photo .lp-floating--domain{left:0;bottom:18px}
	.lp-showcase--photo .lp-floating--care{right:0;top:2px}
	.lp-capability-band>.lbh-container{grid-template-columns:1fr 1fr}
	.lp-capability-band span{min-height:58px;padding:0 14px;border-bottom:1px solid #454e45}
	.lp-domain-strip>.lbh-container{grid-template-columns:1fr;gap:14px;padding:20px 18px}
	.lp-cards--services .lp-card:nth-child(n){grid-column:1/-1;min-height:250px}
	.lp-cards--services .lp-card:nth-child(6){display:block;min-height:260px}
	.lp-cards--services .lp-card:nth-child(6) .lp-card-icon{margin-bottom:24px}
	.lp-cards--services .lp-card:nth-child(6) p{margin:12px 0 24px}
	.lp-spotlight{padding:68px 0}
	.lp-spotlight__grid,
	.lp-spotlight--with-media .lp-spotlight__grid{grid-template-columns:1fr}
	.lp-spotlight--with-media .lp-spotlight__media{min-height:340px}
	.lp-public-panel{border-radius:7px}
	.lp-public-media{height:230px}
	.lp-help-grid,.lp-help-grid--no-media{grid-template-columns:1fr}
	.lp-help-media{height:220px}
	.lp-help-actions{grid-column:auto;display:grid;justify-content:start}
	.lp-page-hero,.lp-premium .lbh-page-hero,.lbh-entry-hero{padding:42px 0 58px}
	.lp-page-hero__media-wrap,.lbh-page-hero-media-wrap{min-height:280px}
	.lp-page-hero__media,.lbh-page-hero-media{height:280px}
	.lp-media-story{padding:58px 0}
	.lp-media-story__head{align-items:flex-start;flex-direction:column;gap:10px}
	.lp-media-story__grid,.lp-media-story__grid--1,.lp-media-story__grid--2,.lp-media-story__grid--3{grid-template-columns:1fr}
	.lp-media-story__grid .lp-media-story__item,
	.lp-media-story__grid--1 .lp-media-story__item,
	.lp-media-story__grid--2 .lp-media-story__item,
	.lp-media-story__grid--3 .lp-media-story__item:nth-child(n){grid-column:1;min-height:300px}
	.lp-cta{padding:66px 0}
	.lp-footer-intro p{text-align:left}
}

@media(prefers-reduced-motion:reduce){
	.lp-premium *{scroll-behavior:auto}
	.lp-card,
	.lp-public-list>a,
	.lp-premium .lbh-button,
	.lp-premium .lbh-goal-grid>a,
	.lp-premium .lbh-three-columns>article,
	.lp-premium .lp-package{transition:none!important}
}
