/* Lopburi Hosting 0.7 — controllable design system + richer visual language */

/* ---------- global system ---------- */
body.lp-premium{background:var(--lbh-page-bg,#fff);color:var(--lbh-ink)}
.lp-premium .lbh-section{padding:var(--lbh-section-space,104px) 0;position:relative}
.lp-premium .lbh-section--muted{background:var(--lbh-soft)}
.lp-premium .lbh-site-header{background:color-mix(in srgb,var(--lbh-page-bg) 90%,transparent);border-color:color-mix(in srgb,var(--lbh-line) 85%,transparent)}
.lp-premium .lbh-button{border-radius:calc(var(--lbh-radius) * .55)}
.lp-premium .lbh-eyebrow{font-weight:800;letter-spacing:.12em}
.lp-premium h1,.lp-premium h2,.lp-premium h3{font-family:var(--lbh-font-heading);text-wrap:balance}
.lp-premium p{font-family:var(--lbh-font-body)}

/* ---------- layered page backgrounds ---------- */
.lp-page-hero,.lp-premium .lbh-page-hero,.lp-home-hero{position:relative;overflow:hidden;background:var(--lbh-hero-bg)}
.lp-page-hero:before,.lp-premium .lbh-page-hero:before,.lp-home-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 10%,color-mix(in srgb,var(--lbh-red) 12%,transparent),transparent 30%),radial-gradient(circle at 7% 88%,rgba(255,255,255,.85),transparent 28%)}
.lp-page-hero:after,.lp-premium .lbh-page-hero:after,.lp-home-hero:after{content:"";position:absolute;right:-110px;top:-110px;width:360px;height:360px;border:1px solid color-mix(in srgb,var(--lbh-red) 16%,transparent);border-radius:50%;box-shadow:0 0 0 60px color-mix(in srgb,var(--lbh-red) 3%,transparent),0 0 0 120px color-mix(in srgb,var(--lbh-red) 2%,transparent);pointer-events:none}
.lp-page-hero>.lbh-container,.lp-home-hero>.lbh-container,.lp-premium .lbh-page-hero>.lbh-container{position:relative;z-index:2}

/* ---------- page-specific visual modes ---------- */
.lbh-visual-technical main{background-image:linear-gradient(color-mix(in srgb,var(--lbh-line) 30%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--lbh-line) 30%,transparent) 1px,transparent 1px);background-size:48px 48px;background-position:center top}
.lbh-visual-editorial .lp-page-hero h1,.lbh-visual-editorial .lbh-page-hero h1{font-size:clamp(3.2rem,6.8vw,7.4rem);line-height:.98;letter-spacing:-.055em}
.lbh-visual-brand .lp-card:nth-child(3n+1):before,.lbh-visual-brand .lp-package:nth-child(3n+1):before{content:"";position:absolute;width:120px;height:120px;right:-55px;top:-55px;border-radius:50%;background:color-mix(in srgb,var(--lbh-red) 8%,transparent);pointer-events:none}
.lbh-visual-clean .lp-page-hero:after,.lbh-visual-clean .lp-home-hero:after,.lbh-visual-clean main:before{display:none}

/* ---------- cards: less template-like ---------- */
.lp-card,.lp-package,.lbh-goal-grid>a,.lbh-three-columns>article,.lbh-contact-summary,.lp-manual-group{position:relative;overflow:hidden;border-radius:var(--lbh-radius)!important;background:var(--lbh-surface,#fff);border:1px solid var(--lbh-line)}
.lbh-card-style-elevated .lp-card,.lbh-card-style-elevated .lp-package,.lbh-card-style-elevated .lbh-goal-grid>a,.lbh-card-style-elevated .lbh-three-columns>article{box-shadow:0 18px 55px rgba(24,35,27,.07)}
.lbh-card-style-outline .lp-card,.lbh-card-style-outline .lp-package,.lbh-card-style-outline .lbh-goal-grid>a,.lbh-card-style-outline .lbh-three-columns>article{box-shadow:none;border-width:1.5px}
.lbh-card-style-soft .lp-card,.lbh-card-style-soft .lp-package,.lbh-card-style-soft .lbh-goal-grid>a,.lbh-card-style-soft .lbh-three-columns>article{box-shadow:none;background:color-mix(in srgb,var(--lbh-soft) 78%,#fff)}
.lp-card:after,.lp-package:after,.lbh-goal-grid>a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--lbh-red);transition:width .25s ease}
.lp-card:hover:after,.lp-package:hover:after,.lbh-goal-grid>a:hover:after{width:100%}
.lp-card-icon{border-radius:calc(var(--lbh-radius) * .65)!important;background:color-mix(in srgb,var(--lbh-red) 9%,#fff)!important;color:var(--lbh-red)!important}

/* ---------- images: editorial framing ---------- */
.lbh-editable-page-media{border-radius:var(--lbh-radius);background:color-mix(in srgb,var(--lbh-soft) 85%,#fff)}
.lp-page-hero__media-wrap,.lbh-page-hero-media-wrap,.lp-hero-photo-frame{border-radius:calc(var(--lbh-radius) * 1.25)!important;box-shadow:0 30px 80px rgba(17,28,20,.16);transform:rotate(.4deg)}
.lp-page-hero__media-wrap:before,.lbh-page-hero-media-wrap:before,.lp-hero-photo-frame:before{content:"";position:absolute;inset:-11px 16px 16px -11px;border:1px solid color-mix(in srgb,var(--lbh-red) 22%,var(--lbh-line));border-radius:inherit;z-index:-1}
.lp-media-story{background:var(--lbh-dark-bg);color:#fff;padding:clamp(72px,8vw,120px) 0;position:relative;overflow:hidden}
.lp-media-story:before{content:"";position:absolute;left:-170px;bottom:-220px;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.lp-media-story__head{position:relative;z-index:2}.lp-media-story__head>span{color:rgba(255,255,255,.48)}
.lp-media-story__grid{position:relative;z-index:2;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px}
.lp-media-story__item{border-radius:var(--lbh-radius);box-shadow:0 24px 60px rgba(0,0,0,.19);border:1px solid rgba(255,255,255,.1)}
.lp-media-story__grid--4 .lp-media-story__item:nth-child(1),.lp-media-story__grid--4 .lp-media-story__item:nth-child(4){grid-column:span 7;min-height:460px}.lp-media-story__grid--4 .lp-media-story__item:nth-child(2),.lp-media-story__grid--4 .lp-media-story__item:nth-child(3){grid-column:span 5;min-height:460px}
.lp-media-story__grid--5 .lp-media-story__item:nth-child(1){grid-column:span 7;min-height:520px}.lp-media-story__grid--5 .lp-media-story__item:nth-child(2){grid-column:span 5;min-height:520px}.lp-media-story__grid--5 .lp-media-story__item:nth-child(n+3){grid-column:span 4;min-height:330px}

/* ---------- product assessment ---------- */
.lbh-assessment-section{background:var(--lbh-dark-bg)!important}
.lbh-assessment-section:before{background:radial-gradient(circle at 12% 20%,color-mix(in srgb,var(--lbh-red) 25%,transparent),transparent 34%),linear-gradient(120deg,transparent 47%,rgba(255,255,255,.025) 47%,rgba(255,255,255,.025) 48%,transparent 48%)}
.lbh-assessment-card{border-radius:calc(var(--lbh-radius) * 1.45)!important;box-shadow:0 35px 90px rgba(0,0,0,.28)}
.lbh-assessment-option{border-radius:calc(var(--lbh-radius) * .75)!important}

/* ---------- CTA can use selected page image ---------- */
.lp-cta,.lbh-final-cta{position:relative;overflow:hidden;background:var(--lbh-warm)}
.lp-cta>.lbh-container,.lbh-final-cta>.lbh-container{position:relative;z-index:3}
.lp-cta__background,.lbh-final-cta__background{position:absolute!important;inset:0!important;border-radius:0!important;margin:0!important;z-index:0}
.lp-cta__background:after,.lbh-final-cta__background:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--lbh-dark-bg) 94%,transparent) 0%,color-mix(in srgb,var(--lbh-dark-bg) 75%,transparent) 48%,color-mix(in srgb,var(--lbh-dark-bg) 45%,transparent) 100%)}
.lp-cta:has(.lp-cta__background),.lbh-final-cta:has(.lbh-final-cta__background){color:#fff;background:var(--lbh-dark-bg)}
.lp-cta:has(.lp-cta__background) .lbh-eyebrow,.lbh-final-cta:has(.lbh-final-cta__background) .lbh-eyebrow{color:#fff}
.lp-cta:has(.lp-cta__background) p,.lbh-final-cta:has(.lbh-final-cta__background) p{color:rgba(255,255,255,.78)}

/* ---------- new homepage infrastructure canvas ---------- */
.lp-v07-infrastructure{padding:var(--lbh-section-space) 0;background:var(--lbh-dark-bg);color:#fff;position:relative;overflow:hidden}
.lp-v07-infrastructure:after{content:"INFRASTRUCTURE";position:absolute;right:-20px;bottom:-35px;font:800 clamp(4rem,11vw,10rem)/1 var(--lbh-font-heading);letter-spacing:-.05em;color:rgba(255,255,255,.025);white-space:nowrap}
.lp-v07-infrastructure__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,100px);align-items:center}
.lp-v07-infrastructure__copy h2{font-size:clamp(2.4rem,4.4vw,5.1rem);line-height:1.03;color:#fff;margin-bottom:22px}.lp-v07-infrastructure__copy>p:not(.lbh-eyebrow){color:rgba(255,255,255,.68);max-width:610px;font-size:1.05rem}
.lp-v07-infrastructure__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:36px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13)}.lp-v07-infrastructure__stats>div{padding:20px;background:var(--lbh-dark-bg)}.lp-v07-infrastructure__stats strong{display:block;font-size:1.05rem}.lp-v07-infrastructure__stats small{color:rgba(255,255,255,.5)}
.lp-v07-infrastructure__visual{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;min-height:520px}.lp-v07-infrastructure__media{position:relative;min-height:520px;border-radius:var(--lbh-radius);overflow:hidden}.lp-v07-infrastructure__media--secondary{min-height:360px;align-self:end}.lp-v07-infrastructure__media>span{position:absolute;z-index:2;left:16px;bottom:16px;padding:8px 10px;border-radius:999px;background:rgba(10,15,11,.72);backdrop-filter:blur(10px);font-size:.67rem;letter-spacing:.1em}.lp-v07-infrastructure__media .lbh-editable-page-media{position:absolute;inset:0;border-radius:0}
.lp-v07-infrastructure__placeholder{display:grid;place-items:center;min-height:520px;border:1px solid rgba(255,255,255,.12);border-radius:var(--lbh-radius);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));color:rgba(255,255,255,.5);text-align:center;padding:40px}

/* ---------- contact = lead hub ---------- */
.lbh-lead-context-section{padding:28px 0;background:var(--lbh-red);color:#fff}
.lbh-lead-context{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.lbh-lead-context .lbh-eyebrow{color:#fff;margin-bottom:6px}.lbh-lead-context h2{font-size:clamp(1.6rem,2.3vw,2.7rem);margin-bottom:8px}.lbh-lead-context p{margin:0;color:rgba(255,255,255,.78)}.lbh-lead-context dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.lbh-lead-context dl>div{padding:14px 16px;border:1px solid rgba(255,255,255,.22);border-radius:calc(var(--lbh-radius)*.65);background:rgba(255,255,255,.08)}.lbh-lead-context dt{font-size:.72rem;color:rgba(255,255,255,.65)}.lbh-lead-context dd{margin:2px 0 0;font-weight:700}
.lbh-contact-main{background:linear-gradient(180deg,var(--lbh-page-bg),var(--lbh-soft))}.lbh-contact-layout{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(44px,7vw,100px);align-items:start}.lbh-contact-journey{position:sticky;top:125px}.lbh-contact-journey h2{font-size:clamp(2rem,3.4vw,3.8rem)}
.lbh-contact-side-media{position:relative;margin-top:32px;min-height:300px;border-radius:var(--lbh-radius);overflow:hidden}.lbh-contact-side-media .lbh-editable-page-media{position:absolute;inset:0;border-radius:0}.lbh-contact-side-media>span{position:absolute;left:14px;bottom:14px;z-index:2;padding:7px 10px;background:rgba(16,22,17,.78);color:#fff;font-size:.65rem;letter-spacing:.1em}
.lbh-native-contact-form{padding:clamp(25px,4vw,48px);border:1px solid var(--lbh-line);border-radius:calc(var(--lbh-radius)*1.25);background:var(--lbh-surface);box-shadow:0 28px 80px rgba(23,32,25,.08)}
.lbh-form-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid var(--lbh-line)}.lbh-form-head h2{font-size:clamp(1.8rem,2.8vw,3rem);margin:0}.lbh-form-head>span{padding:7px 10px;border-radius:999px;background:var(--lbh-soft);font-size:.72rem;color:var(--lbh-gray);white-space:nowrap}
.lbh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lbh-field{display:grid;gap:8px;margin-bottom:18px}.lbh-field>span{font-size:.8rem;font-weight:700;color:var(--lbh-ink)}.lbh-field input,.lbh-field select,.lbh-field textarea{width:100%;border:1px solid var(--lbh-line);border-radius:calc(var(--lbh-radius)*.58);background:var(--lbh-page-bg);color:var(--lbh-ink);padding:14px 15px;outline:none;transition:border .15s,box-shadow .15s}.lbh-field input:focus,.lbh-field select:focus,.lbh-field textarea:focus{border-color:var(--lbh-red);box-shadow:0 0 0 3px color-mix(in srgb,var(--lbh-red) 10%,transparent)}.lbh-field textarea{resize:vertical;min-height:160px}.lbh-form-submit{display:flex;align-items:center;gap:22px;margin-top:6px}.lbh-form-submit p{max-width:430px;margin:0;color:var(--lbh-gray);font-size:.75rem;line-height:1.55}.lbh-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.lbh-form-status{margin-bottom:18px;padding:16px 18px;border-radius:calc(var(--lbh-radius)*.7);border:1px solid var(--lbh-line);background:var(--lbh-surface)}.lbh-form-status p{margin:4px 0 0}.lbh-form-status--success{border-color:#a9d6b3;background:#f0faf2}.lbh-form-status--warning{border-color:#e7c887;background:#fff9ea}
.lbh-contact-image-cta{position:relative;min-height:520px;display:grid;align-items:end;overflow:hidden;color:#fff}.lbh-contact-image-cta__media{position:absolute;inset:0;border-radius:0}.lbh-contact-image-cta__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,15,11,.08),rgba(10,15,11,.82))}.lbh-contact-image-cta>.lbh-container{position:relative;z-index:2;padding-bottom:65px}.lbh-contact-image-cta p{font-size:.75rem;letter-spacing:.13em}.lbh-contact-image-cta h2{max-width:850px;font-size:clamp(2.2rem,4.8vw,5rem);margin:0}

/* ---------- footer ---------- */
.lp-premium .lbh-site-footer{background:var(--lbh-footer-bg)!important;color:#fff;border-top:0}.lp-premium .lbh-site-footer a,.lp-premium .lbh-site-footer p{color:rgba(255,255,255,.62)}.lp-premium .lbh-site-footer h2,.lp-premium .lbh-site-footer strong{color:#fff}.lp-premium .lp-parent{background:rgba(255,255,255,.08);color:rgba(255,255,255,.74)}

@media(max-width:980px){.lp-v07-infrastructure__grid,.lbh-lead-context{grid-template-columns:1fr}.lp-v07-infrastructure__visual{min-height:430px}.lp-v07-infrastructure__media{min-height:430px}.lbh-contact-journey{position:relative;top:auto}.lbh-contact-layout{grid-template-columns:1fr}.lbh-lead-context dl{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.lp-premium .lbh-section{padding:calc(var(--lbh-section-space)*.62) 0}.lp-media-story__grid--4 .lp-media-story__item:nth-child(n),.lp-media-story__grid--5 .lp-media-story__item:nth-child(n){grid-column:1;min-height:300px}.lp-v07-infrastructure__visual{grid-template-columns:1fr;min-height:0}.lp-v07-infrastructure__media,.lp-v07-infrastructure__media--secondary{min-height:300px}.lp-v07-infrastructure__stats{grid-template-columns:1fr}.lbh-lead-context dl,.lbh-form-grid{grid-template-columns:1fr}.lbh-form-head,.lbh-form-submit{align-items:flex-start;flex-direction:column}.lbh-contact-image-cta{min-height:420px}}
@media(prefers-reduced-motion:reduce){.lp-card:after,.lp-package:after,.lbh-goal-grid>a:after{transition:none}}
