:root{
  --bg:#fafaf7;
  --paper:#fff;
  --ink:#0b0b0b;
  --muted:#585853;
  --line:rgba(11,11,11,.12);
  --sage:#f1f0ea;
  --green:#0b0b0b;
  --mint:#f5f3e9;
  --sand:#f1f0ea;
  --accent:#ffd600;
  --shadow:0 22px 64px rgba(0,0,0,.12);
}
body{font-family:Inter,Arial,sans-serif;font-weight:400;line-height:1.62;letter-spacing:.002em;color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Inter,Arial,sans-serif;letter-spacing:-.018em}
h1,h2{text-transform:none;font-weight:600;line-height:1.13}
h3{font-weight:600;line-height:1.2}
h1 em,h2 em,.hero-copy h1 em,.section-heading h2 em{font-family:Inter,Arial,sans-serif;font-style:italic;font-weight:500;color:inherit;text-transform:none;letter-spacing:-.016em}
/* Light editorial copy throughout; compact supporting text remains at a readable weight. */
body:not(.admin-mode) main p{font-family:'Helvetica Neue','Segoe UI',Inter,Arial,sans-serif;font-weight:300;letter-spacing:.007em;line-height:1.68}
body:not(.admin-mode) main :is(.intro-band,.section-heading,.project-body,.tech-copy,.process-step,.detail-card,.sample-cover,.workflow-card,.system-flow,.faq,.story-card,.dark-story,.service-step,.journey-box,.solution-item,.solution-milestones,.solution-principles,.solution-next,.booking-math-card,.booking-benefits,.booking-center-head,.booking-feature-card,.booking-scale-card,.sp-card,.sp-price-grid,.sp-demo-grid,.sp-guide-grid,.sp-contact-hero-card,.sp-contact-heading,.sp-contact-aside,.sp-contact-result) p,
body:not(.admin-mode) main :is(.sample-caption,.config-help,.sp-form-note,.note,.disclaimer){font-weight:400}
h1 em,.hero-copy h1 em{background:none}
.eyebrow{color:#5e5d54;font:700 11px/1.3 Inter,Arial,sans-serif;letter-spacing:.18em}
.eyebrow:before{content:'';width:8px;height:8px;border:0;border-radius:50%;background:#ffd600;box-shadow:0 0 0 4px rgba(255,214,0,.22)}
:focus-visible{outline:3px solid #ffd600;outline-offset:3px}

/* Brand: original pagesolution P plus a dedicated hospitality wordmark. */
.site-header{height:88px;background:rgba(250,250,247,.86);border-bottom:1px solid rgba(11,11,11,.1);backdrop-filter:blur(20px) saturate(1.5)}
.brand{gap:10px;font-family:'Inter Tight',Arial,sans-serif;font-size:22px;letter-spacing:-.05em;text-transform:none;line-height:1}
.brand-icon{width:31px;height:42px;object-fit:contain;filter:drop-shadow(0 3px 2px rgba(0,0,0,.12));flex:none}
.brand-word{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.brand-word strong{font-size:23px;font-weight:900;line-height:.92;letter-spacing:-.06em}
.brand-word strong>span{font-style:italic;font-weight:800}
.brand-word i{font-style:normal;color:#d5a600;margin-left:1px}
.brand-word small{font:600 8px/1 Inter,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#77756d;margin:0}
.brand-mark{display:none}
.main-nav a{font-family:Inter,Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#4b4b47}
.main-nav a:hover,.main-nav a.active{color:#0b0b0b}
.header-cta,.btn{font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:800;letter-spacing:.035em;text-transform:uppercase;border-radius:999px;padding:14px 22px;background:#ffd600;border-color:#ffd600;color:#0b0b0b;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 9px 25px rgba(255,214,0,.2)}
.header-cta:hover,.btn:hover{background:#ffe149;border-color:#ffe149;color:#0b0b0b;transform:translateY(-2px)}
.btn-outline{background:transparent;color:#0b0b0b;border:1px solid #a5a49a;box-shadow:none}
.btn-outline:hover{background:#fff0a3;border-color:#ffd600}
.btn-light{background:#ffd600;border-color:#ffd600;color:#0b0b0b}
.menu-toggle span{background:#0b0b0b}

/* Clean editorial layout, using yellow as a measured accent. */
.hero{position:relative;background:radial-gradient(circle at 83% 27%,rgba(255,214,0,.18),transparent 27%),#fafaf7}
.hero-copy h1{font-size:clamp(47px,4.5vw,69px);margin:28px 0 25px;line-height:1.075}
.hero-copy>p{font-size:17px;color:#55554f;max-width:520px}
.hero-note{color:#62625b}
.hero-note:before{border-color:#dfba00;background:#fff3ad;color:#0b0b0b}
.hero-visual:before{background:linear-gradient(140deg,#ffe476,#ffd600 52%,#f3ae00);border-radius:34px}
.hero-photo{border-radius:24px;box-shadow:0 24px 50px rgba(0,0,0,.13)}
.hero-float{background:rgba(22,22,22,.76);color:white;border:1px solid rgba(255,255,255,.24);border-radius:18px;backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 20px 44px rgba(0,0,0,.2)}
.hero-float:after,.booking-demo:after,.sample-shell:after,.cta-section:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.19),transparent 32%,transparent 72%,rgba(255,255,255,.06))}
.hero-float span{color:#d5d4cd}
.float-icon{background:rgba(255,214,0,.2);color:#ffd600}
.intro-band{background:#141414;border-color:#141414;color:#fff}
.intro-band strong{font-family:Inter,Arial,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:-.012em}
.intro-band p{color:#c9c8c1}
.section-heading h2{max-width:820px}
.section-heading h2 em{background:none}
.project-card{border-radius:18px;border:1px solid #e9e8e1;box-shadow:0 9px 26px rgba(0,0,0,.04)}
.project-img-wrap{height:275px;background:#e9e8e1}
.project-label{background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(14px);border-radius:999px;color:#171717}
.project-body .mini{color:#77766d}
.project-body h3{font-weight:600}
.project-bottom{border-color:#e6e5dd}
.arrow-round{border-color:#e7c100;background:#ffd600}
.project-card:hover{box-shadow:0 28px 55px rgba(0,0,0,.13)}

/* Dark technology section and restrained glass surfaces. */
.tech-section{position:relative;isolation:isolate;background:radial-gradient(circle at 76% 18%,rgba(255,214,0,.21),transparent 29%),linear-gradient(135deg,#090909,#252525 78%);color:#f6f5ef}
.tech-section .eyebrow{color:#c7c5b9}
.tech-section h2,.tech-section h3{color:#fff}
.tech-section h2 em{color:#ffd600;background:none}
.tech-section p{color:#c7c6bd}
.feature-list li{border-color:rgba(255,255,255,.16);color:#e7e5dd}
.feature-list li:before{background:#ffd600;border-color:#ffd600;color:#111}
.tech-section .btn{box-shadow:0 12px 25px rgba(255,214,0,.17)}
.booking-demo{position:relative;border:1px solid rgba(255,255,255,.25);border-radius:23px;background:rgba(255,255,255,.11);backdrop-filter:blur(20px) saturate(1.7);box-shadow:inset 1px 1px 0 rgba(255,255,255,.25),0 30px 70px rgba(0,0,0,.35)}
.booking-demo-inner{border-radius:13px;border-color:rgba(255,255,255,.18);background:#fff;color:#0b0b0b}
.booking-demo-content h3{color:#0b0b0b}
.booking-demo-head{background-image:linear-gradient(0deg,rgba(0,0,0,.52),rgba(0,0,0,.08)),url('assets/allgaeu.jpg')}
.booking-demo-content .mini{color:#77705b}
.booking-row div{border-radius:8px;border-color:#e5e3d9}
.booking-row b{color:#77746b}
.booking-demo-button,.sample-book button{background:#ffd600;color:#0b0b0b;border-radius:999px}
.booking-demo-foot{color:#7a786f}
.process-step span,.workflow-card .num,.detail-card span,.system-flow .num{color:#a78800}
.cta-section{position:relative;isolation:isolate;background:radial-gradient(circle at 82% 30%,rgba(255,214,0,.24),transparent 27%),linear-gradient(115deg,#080808,#262626);color:white}
.cta-section .eyebrow{color:#d9d7cb}
.cta-section h2{color:#fff}
.footer{background:#111;color:#f4f3eb}
.footer p,.footer-links a,.footer-bottom{color:#aaa9a0}
.footer-links b{color:#f7f5ec}
.footer-links a:hover{color:#ffd600}
.footer-bottom{border-color:rgba(255,255,255,.14)}
.brand-footer .brand-word small{color:#a6a59e}
.brand-footer .brand-word i{color:#ffd600}

/* Inner pages keep the original structure, with the new visual system. */
.page-hero{background:radial-gradient(circle at 83% 25%,rgba(255,214,0,.23),transparent 30%),linear-gradient(115deg,#0b0b0b,#282828);color:#f8f7f0}
.page-hero .eyebrow{color:#ccc9bb}
.page-hero p{color:#d0cfc5}
.page-hero h1{max-width:980px}
.filter-bar button,.choice-group button{font-family:Inter,Arial,sans-serif;border-color:#dad8cc;color:#383832;border-radius:999px}
.filter-bar button.active,.choice-group button.active{background:#ffd600;border-color:#ffd600;color:#0b0b0b}
.note,.sample-caption{color:#76746e}
.detail-hero{background:#f1f0ea}
.detail-text .eyebrow{color:#5a584e}
.detail-text h1{font-size:clamp(48px,5vw,76px)}
.detail-hero img{border-radius:0 0 0 28px}
.detail-card,.workflow-card,.system-flow>div,.config-panel{border:1px solid #e6e4db;border-radius:16px;background:rgba(255,255,255,.77);box-shadow:inset 1px 1px 0 #fff,0 13px 35px rgba(0,0,0,.05)}
.detail-card h3,.workflow-card h3,.system-flow h3{color:#111}
.detail-card p,.workflow-card p,.system-flow p{color:#67665e}
.sample-shell{position:relative;border-radius:21px;background:radial-gradient(circle at 85% 3%,rgba(255,214,0,.47),transparent 35%),#e7e6df}
.sample-browser{border-radius:11px}
.sample-nav{font-family:'Inter Tight',Arial,sans-serif}
.sample-cover:after{background:linear-gradient(90deg,rgba(0,0,0,.65),transparent 80%)}
.sample-cover h3{font-family:Inter,Arial,sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:-.018em}
.sample-book span{border-radius:8px}
.config-panel h2{font-family:Inter,Arial,sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:-.018em}
.config-panel input,.config-panel select,.demo-form input,.demo-form select{border-color:#d8d6c9;border-radius:8px;background:#fff}
.config-summary span{background:#fff2a8;color:#383017;border-radius:999px}
.config-preview-wrap.style-klar .sample-shell{background:radial-gradient(circle at 80% 0,rgba(255,214,0,.43),transparent 35%),#e6e5de}
.config-preview-wrap.style-natuerlich .sample-shell{background:radial-gradient(circle at 85% 0,rgba(255,214,0,.35),transparent 35%),#ece8d9}
.config-preview-wrap.style-urban .sample-shell{background:radial-gradient(circle at 85% 0,rgba(255,214,0,.35),transparent 35%),#dedede}
.config-preview-wrap.style-urban .sample-book button{background:#262626;color:#fff}
.workflow-card strong{color:#8a7200}
.demo-result{color:#5d4e00}
.faq summary:after{color:#b29300}
.faq details{border-color:#d9d8d0}

@media(max-width:760px){
  .site-header{height:70px;background:rgba(250,250,247,.95)}
  .main-nav{top:70px;background:#fafaf7}
  .brand-icon{width:27px;height:37px}
  .brand-word strong{font-size:20px}
  .hero-copy h1{font-size:clamp(43px,10vw,69px);line-height:1.075}
  .hero-photo{border-radius:18px}
  .hero-visual:before{border-radius:24px}
  .hero-float{border-radius:14px}
  .detail-hero img{border-radius:0}
  .page-hero h1{font-size:clamp(42px,9vw,68px)}
}
@media(max-width:470px){
  .hero-copy h1{font-size:clamp(40px,10vw,50px)}
  .header-cta{min-width:43px;min-height:43px}
  .booking-demo{padding:10px}
}
@media(max-width:760px){body:not(.admin-mode) main .sp-hero p{font-weight:400}}
@media(max-width:560px){body:not(.admin-mode) main .booking-value-copy p{font-weight:400}}

/* Content architecture: one fictional project connects every explanation. */
.story-section{background:#f1f0ea}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.story-card,.dark-story{display:flex;flex-direction:column;align-items:flex-start;padding:30px;min-height:260px;border-radius:17px;transition:transform .22s,box-shadow .22s}
.story-card{background:#fff;border:1px solid #e4e2d8;box-shadow:0 12px 30px rgba(0,0,0,.045)}
.story-card:hover{transform:translateY(-4px);box-shadow:0 22px 45px rgba(0,0,0,.11)}
.story-no,.dark-story>span{font:800 11px/1 Inter,Arial,sans-serif;letter-spacing:.12em;color:#806b00}
.story-card h3,.dark-story h3{font-size:25px;margin:28px 0 11px;text-transform:uppercase}
.story-card p,.dark-story p{font-size:14px;line-height:1.6;margin:0}
.story-card b{font-size:12px;margin-top:auto;padding-top:22px}
.dark-story{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(15px)}
.dark-story>span{color:#ffdc37}
.dark-story h3{color:white}
.dark-story p{color:#c9c8be}
.service-layout{display:grid;grid-template-columns:1.03fr .97fr;gap:55px;align-items:start}
.service-visual{position:sticky;top:114px}
.service-visual .sample-shell{padding:17px}
.service-visual .sample-cover{height:305px}
.service-visual .sample-cover h3{font-size:35px}
.service-visual .sample-book{grid-template-columns:1fr 1fr auto}
.service-visual .sample-book span:nth-child(3){display:none}
.service-steps{border-top:1px solid #d8d6cc}
.service-step{display:grid;grid-template-columns:40px 1fr;gap:15px;padding:23px 0;border-bottom:1px solid #d8d6cc}
.service-step>span{font:800 11px Inter;color:#a88b00;padding-top:5px}
.service-step h3{font-size:20px;text-transform:uppercase;margin:0 0 8px}
.service-step p{font-size:13px;margin:0}
.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.journey-image{min-height:500px;position:relative;border-radius:18px;overflow:hidden;background:#ddd}
.journey-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.journey-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 65%)}
.journey-image>div{position:absolute;z-index:1;left:34px;right:34px;bottom:34px;color:white}
.journey-image span,.journey-box span{font-size:11px;letter-spacing:.13em;font-weight:800;color:#ffd600}
.journey-image h3{font-size:43px;text-transform:uppercase;margin:8px 0}
.journey-image p{color:#f2f0e8;margin:0}
.journey-side{display:grid;gap:13px}
.journey-box{background:#fff;border:1px solid #e6e4db;border-radius:16px;padding:25px 28px;display:flex;flex-direction:column;justify-content:center}
.journey-box span{color:#a88b00}
.journey-box h3{font-size:21px;text-transform:uppercase;margin:12px 0 8px}
.journey-box p{font-size:13px;margin:0}
.savings-grid{display:grid;grid-template-columns:1fr .93fr;gap:36px;align-items:start}
.savings-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#fff;border:1px solid #e4e2d8;border-radius:19px;padding:27px}
.savings-form label{font-size:12px;font-weight:800;line-height:1.35}
.savings-form input{display:block;width:100%;font-size:20px;font-weight:800;color:#0b0b0b;border:1px solid #d8d6ca;border-radius:9px;padding:11px 13px;background:#fafaf7;margin:9px 0 6px;outline-color:#ffd600}
.savings-form small{font-size:11px;font-weight:400;color:#77756d;line-height:1.4;display:block}
.savings-results{position:sticky;top:114px;padding:32px;border:1px solid rgba(255,255,255,.2);border-radius:19px;background:radial-gradient(circle at 85% 5%,rgba(255,214,0,.27),transparent 37%),linear-gradient(140deg,#101010,#2a2a2a);color:#fff;box-shadow:0 25px 60px rgba(0,0,0,.2)}
.savings-results .eyebrow{color:#d8d5c9}
.result-main{border-bottom:1px solid rgba(255,255,255,.17);padding:28px 0}
.result-main small{display:block;font-size:13px;color:#d8d5ca}
.result-main strong{display:block;font:900 clamp(43px,4vw,64px)/1 'Inter Tight',Arial,sans-serif;color:#ffd600;letter-spacing:-.045em;margin-top:9px}
.result-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.13);padding:14px 0;font-size:12px}
.result-row span{color:#c8c7bf}.result-row b{text-align:right;color:#fff}
.savings-disclaimer{font-size:11px;line-height:1.55;color:#b8b6ac;margin:22px 0 0}
.formula-card{display:flex;flex-direction:column;gap:7px;border:1px solid rgba(255,255,255,.22);border-radius:18px;background:rgba(255,255,255,.09);backdrop-filter:blur(16px);padding:25px}
.formula-card div{display:flex;justify-content:space-between;gap:15px;padding:14px 16px;border:1px solid rgba(255,255,255,.15);border-radius:10px;font-size:13px;color:#fff}
.formula-card b{color:#ffd600;text-align:right}.formula-card>span{color:#ffd600;text-align:center}
@media(max-width:1100px){.main-nav{gap:13px}.main-nav a{font-size:10px}.site-header{gap:22px}}
@media(max-width:900px){.main-nav{display:none;position:absolute;left:0;right:0;top:88px;background:#fafaf7;padding:18px 22px 25px;border-bottom:1px solid var(--line);box-shadow:0 16px 20px #00000013}.main-nav.open{display:flex;flex-direction:column;gap:20px}.menu-toggle{display:block}.site-header{justify-content:space-between}.header-cta{margin-left:auto}.service-layout,.savings-grid,.journey-grid{grid-template-columns:1fr}.service-visual,.savings-results{position:static}.story-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.main-nav{top:70px}.page-hero h1{font-size:clamp(38px,7vw,52px);overflow-wrap:anywhere}.story-grid{grid-template-columns:1fr}.story-card,.dark-story{min-height:210px}.savings-form{grid-template-columns:1fr 1fr}.journey-image{min-height:380px}}
@media(max-width:520px){.savings-form{grid-template-columns:1fr}.savings-results{padding:24px}.result-main strong{font-size:43px}.service-visual .sample-book{grid-template-columns:1fr 1fr}.service-visual .sample-book button{grid-column:1/-1}.journey-image{min-height:340px}}

/* Direct booking concept page. */
.page-hero .btn-outline{color:#fff;border-color:rgba(255,255,255,.46);background:rgba(255,255,255,.08);box-shadow:none}
.page-hero .btn-outline:hover{background:rgba(255,255,255,.18);border-color:#fff}
.solution-intro{display:grid;grid-template-columns:.91fr 1.09fr;gap:42px;align-items:start}
.solution-photo{position:sticky;top:114px;min-height:620px;border-radius:20px;overflow:hidden;background:#ddd}
.solution-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.solution-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent 65%)}
.solution-photo>div{position:absolute;z-index:1;left:34px;right:34px;bottom:34px;color:white}
.solution-photo span{font-size:11px;letter-spacing:.15em;font-weight:800;color:#ffd600}
.solution-photo h3{font-size:45px;text-transform:uppercase;margin:8px 0}
.solution-photo p{color:#f0eee6;max-width:350px;margin:0}
.solution-stack{border-top:1px solid #d8d6cc}
.solution-item{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid #d8d6cc}
.solution-item>span{font-size:12px;font-weight:800;color:#a98b00;padding-top:6px}
.solution-item h3{font-size:23px;text-transform:uppercase;margin:0 0 9px}
.solution-item p{font-size:14px;margin:0}
.solution-experience{display:grid;grid-template-columns:1.06fr .94fr;gap:40px;align-items:start}
.solution-experience .sample-shell{padding:16px}
.solution-experience .sample-cover{height:325px}
.solution-experience .sample-cover h3{font-size:34px}
.solution-experience .sample-book{grid-template-columns:1fr 1fr auto}
.solution-experience .sample-book span:nth-child(3){display:none}
.solution-milestones{border-top:1px solid rgba(255,255,255,.2)}
.solution-milestones>div{padding:18px 0 20px;border-bottom:1px solid rgba(255,255,255,.2)}
.solution-milestones span{font-size:10px;letter-spacing:.15em;font-weight:800;color:#ffd600}
.solution-milestones h3{font-size:20px;text-transform:uppercase;margin:10px 0 6px}
.solution-milestones p{font-size:13px;margin:0}
.solution-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.solution-principles>div{min-height:220px;padding:26px;border:1px solid #e4e2d9;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.045)}
.solution-principles span{font-size:11px;font-weight:800;color:#a98b00}
.solution-principles h3{font-size:19px;text-transform:uppercase;margin:24px 0 9px}
.solution-principles p{font-size:13px;margin:0}
.solution-next{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:34px;padding:22px 0;border-top:1px solid #deddd3}
.solution-next p{max-width:650px;margin:0;font-size:14px}
@media(max-width:1190px){.main-nav{display:none;position:absolute;left:0;right:0;top:88px;background:#fafaf7;padding:18px 22px 25px;border-bottom:1px solid var(--line);box-shadow:0 16px 20px #00000013}.main-nav.open{display:flex;flex-direction:column;gap:20px}.menu-toggle{display:block}.site-header{justify-content:space-between}.header-cta{margin-left:auto}}
@media(max-width:900px){.solution-intro,.solution-experience{grid-template-columns:1fr}.solution-photo{position:relative;top:auto;min-height:430px}.solution-principles{grid-template-columns:1fr 1fr}.solution-next{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.main-nav{top:70px}.solution-photo{min-height:360px}.solution-principles{grid-template-columns:1fr}}
@media(max-width:520px){.solution-experience .sample-book{grid-template-columns:1fr 1fr}.solution-experience .sample-book button{grid-column:1/-1}.solution-photo{min-height:320px}}
