@font-face{font-family:Klapt;src:url('/restaura-assets-2026/Klapt-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Poppins;src:url('/restaura-assets-2026/Poppins-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('/restaura-assets-2026/Poppins-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}

:root{
  --ink:#101820;--orange:#ff4000;--paper:#f7f7ff;--muted:#5c646b;--line:#dfe2e6;
  --font:'Poppins',Arial,sans-serif;--title:'Klapt','Arial Black',Arial,sans-serif;
  --gutter:clamp(1.4rem,5.7vw,6rem);--radius:12px;
  --shadow:0 24px 64px -18px #10182035,0 4px 14px #10182008;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:8rem}
body{margin:0;color:var(--ink);background:#fff;font:400 1rem/1.75 var(--font)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
::selection{background:var(--orange);color:var(--ink)}
.wrap{max-width:1480px;padding-inline:var(--gutter);margin-inline:auto}
.section{padding-block:7rem}
p{margin:0 0 1rem}
h2{font:700 clamp(2.4rem,3.6vw,3.6rem)/1.1 var(--title);letter-spacing:-.025em;margin:0}
h2 em{font-style:normal;color:#bf350b}
.skip{position:fixed;top:-6rem;left:1rem;background:var(--ink);color:white;padding:1rem;z-index:100}
.skip:focus{top:1rem}
.eyebrow{font-size:.72rem;line-height:1.7;text-transform:uppercase;letter-spacing:.16em;font-weight:600;display:flex;align-items:center;gap:.8rem;margin:0 0 1.5rem}
.eyebrow:before{content:'';width:23px;height:3px;background:var(--orange);flex-shrink:0}
.eyebrow.light{color:#eef0f4}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.05rem 1.5rem;font-size:.875rem;font-weight:600;min-height:56px;border:1px solid transparent;border-radius:7px;transition:background .2s,transform .2s,box-shadow .2s}
.button:hover{transform:translateY(-3px)}
.button span{font-size:1.4rem;line-height:1}
.button-orange{background:linear-gradient(120deg,#ff612d,var(--orange));color:var(--ink);box-shadow:0 8px 28px #ff400036,inset 0 1px 0 #ffffff45}
.button-orange:hover{background:#ff6a39;box-shadow:0 12px 34px #ff40004f}
.text-link{font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;gap:1.5rem;padding:.6rem 0;border-bottom:1px solid #10182055}
.text-link>span{font-size:1.25rem;color:#bf350b;transition:transform .2s}
.text-link:hover>span{transform:translate(3px,-2px)}
.text-link.light{border-color:#ffffff5c}
.text-link.light>span{color:#ff8056}

/* Floating navigation: a distinct surface over the architecture. */
.header{position:fixed;top:20px;left:32px;right:32px;max-width:1316px;margin-inline:auto;z-index:30;display:flex;align-items:center;gap:2rem;padding:15px 18px 15px 26px;background:#ffffffed;border:1px solid #ffffffde;border-radius:10px;box-shadow:0 16px 48px #00000029,inset 0 1px 0 #fff;backdrop-filter:blur(20px);transition:background .3s,box-shadow .3s}
.header.is-scrolled{background:#fffffff5;box-shadow:0 8px 30px #10182029}
.brand{flex-shrink:0}
.brand img{width:177px;height:auto}
.nav{display:flex;justify-content:center;align-items:center;gap:1.45rem;margin-left:auto}
.nav a{font-size:.8rem;font-weight:600;position:relative;padding:.7rem 0;white-space:nowrap}
.nav a:after{content:'';height:2px;position:absolute;left:0;right:100%;bottom:2px;background:var(--orange);transition:right .2s}
.nav a:hover:after{right:0}
.nav .nav-portal{display:flex;align-items:center;gap:.45rem;background:#ff400010;border:1px solid #ff40001c;border-radius:6px;padding:.65rem .8rem}
.nav-portal>span{width:6px;height:6px;border-radius:50%;background:#c93505;box-shadow:0 0 0 4px #ff400013}
.header-cta{font-size:.8rem;font-weight:600;white-space:nowrap;background:var(--ink);color:white;border-radius:6px;padding:.78rem 1rem;box-shadow:0 7px 18px #10182024;transition:background .2s}
.header-cta:hover{background:#2c3843}
.header-cta span{color:#ff784e;margin-left:.8rem;font-size:1.15rem}
.menu-toggle{display:none}

/* Real footage, a controlled orange light, and an independent glass callout. */
.hero{position:relative;min-height:820px;height:92svh;max-height:1050px;isolation:isolate;background:var(--ink);color:white;overflow:hidden}
.hero-image,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:67% 45%;z-index:-3}
.hero-video{z-index:-2;opacity:0;transition:opacity 1.2s;object-position:center}
.hero-video.is-playing{opacity:1}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0a1118f0 0%,#0a1118c7 33%,#0a111862 60%,#0a111817 100%),linear-gradient(0deg,#101820 0%,#10182020 40%,#10182020 70%,#1018207a 100%)}
.hero:after{content:'';position:absolute;width:700px;height:700px;left:-460px;bottom:-480px;border-radius:50%;background:#ff4000;filter:blur(140px);opacity:.37;z-index:-1;pointer-events:none}
.hero-copy{padding-top:clamp(12rem,22vh,16rem);padding-bottom:15rem;width:100%;position:relative;z-index:1}
.hero .eyebrow{margin-bottom:1.8rem;color:#fff;letter-spacing:.18em}
.hero h1{font:700 clamp(3.7rem,6.8vw,6.5rem)/1.02 var(--title);letter-spacing:-.035em;margin:0 0 1.7rem;max-width:1050px;text-shadow:0 8px 35px #0003}
.hero h1>span{color:var(--orange)}
.hero-description{max-width:550px;color:#e0e3e7;font-size:1rem;line-height:1.9;margin-bottom:2.1rem}
.hero-actions{display:flex;align-items:center;gap:2.3rem}
.hero-portal{position:absolute;right:max(var(--gutter),calc((100vw - 1480px)/2 + var(--gutter)));bottom:175px;width:323px;padding:1.4rem;border:1px solid #ffffff30;border-top-color:#ffffff5e;border-radius:12px;background:linear-gradient(140deg,#ffffff16,#101820ab);backdrop-filter:blur(20px);box-shadow:0 20px 70px #0007,inset 0 1px 0 #ffffff10;transition:transform .3s,border-color .3s}
.hero-portal:hover{transform:translateY(-6px);border-color:#ff784e99}
.hero-portal,.hero-bottom{z-index:2}
.hero-portal-top{display:flex;align-items:center;gap:.65rem}
.hero-portal-top img{width:38px;height:38px}
.hero-portal-top>span{font-size:.63rem;letter-spacing:.1em;font-weight:600}
.hero-portal-top small{display:block;letter-spacing:0;font-size:.62rem;color:#d1d7db;font-weight:400;margin-top:.2rem}
.hero-portal-top b{font-size:1.3rem;color:#ff784e;margin-left:auto}
.hero-portal>strong{display:block;font:700 1.7rem/1.16 var(--title);letter-spacing:-.02em;margin:1.2rem 0}
.hero-portal-bottom{display:flex;gap:.9rem;padding-top:.9rem;border-top:1px solid #ffffff26;font-size:.65rem;color:#dbe0e5}
.hero-portal-bottom>span{display:flex;gap:.35rem;align-items:center}
.hero-portal-bottom>span:before{content:'';width:4px;height:4px;background:var(--orange);border-radius:50%}
.hero-bottom{position:absolute;bottom:90px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.7rem;letter-spacing:.05em;color:#c8d0d6}
.hero-bottom>span{display:flex;align-items:center;gap:.7rem}
.hero-bottom>span:before{content:'';width:6px;height:6px;border:1px solid #ff825c;border-radius:50%}
.video-control{display:flex;align-items:center;gap:.8rem;border:0;background:transparent;color:#e4e8ec;padding:.15rem 0;font-size:.7rem;min-height:44px}
.video-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #ffffff70;border-radius:50%;font-size:.9rem}

/* Evidence panel bridges the first screen and the institutional story. */
.proof{position:relative;margin-top:-57px;z-index:2}
.numbers{display:grid;grid-template-columns:1fr 1.35fr 1.2fr;gap:0;position:relative;background:linear-gradient(135deg,#fff,#f7f7ff);border:1px solid white;border-radius:10px;padding:2rem 0;box-shadow:0 26px 60px -25px #10182050,0 2px 8px #10182007;overflow:hidden}
.numbers:before{content:'';position:absolute;top:0;left:0;bottom:0;width:5px;background:var(--orange)}
.numbers>div{padding:.4rem 2.5rem}
.numbers>div+div{border-left:1px solid #10182017}
.numbers strong{display:block;font:700 clamp(2.8rem,4vw,4.2rem)/1 var(--title);letter-spacing:-.035em}
.numbers strong span{color:#c3370d}
.numbers>div:nth-child(2) strong span{font-size:.52em;letter-spacing:-.02em}
.numbers p{font-size:.76rem;line-height:1.6;color:var(--muted);margin:.65rem 0 0}
.numbers-source{text-align:right;font-size:.62rem;letter-spacing:.035em;color:#69737b;margin:.9rem 0 0}
.intro{padding-block:5.2rem 6.2rem}
.intro-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:6rem;align-items:center}
.intro h2{font-size:clamp(2.5rem,3.4vw,3.4rem)}
.intro-description p{font-size:.94rem;line-height:1.95;color:var(--muted)}
.intro-description .text-link{margin-top:.3rem}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:4rem;margin-bottom:3rem}
.section-heading>p{max-width:355px;color:var(--muted);font-size:.9rem;line-height:1.85;margin:0}
.section-heading h2{max-width:730px}

/* Portfolio: photography-led, grounded raised surfaces, no borrowed stock. */
.works{background:linear-gradient(150deg,#f7f7ff,#eceef3);border-top:1px solid #e9ebef;position:relative}
.works-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.7rem}
.work-card{grid-column:span 7;position:relative;background:var(--ink);border:1px solid #ffffff9c;border-radius:12px;padding:0;text-align:left;color:white;min-width:0;overflow:hidden;box-shadow:var(--shadow);isolation:isolate;transition:transform .35s,box-shadow .35s}
.work-card:nth-child(2),.work-card:nth-child(3){grid-column:span 5}
.work-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -15px #10182055}
.work-image{position:relative;height:375px;overflow:hidden}
.work-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c151cef 0%,#0c151c7d 22%,transparent 60%);pointer-events:none}
.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.work-card:hover img{transform:scale(1.04)}
.work-card:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.image-tag{position:absolute;top:1.35rem;left:1.35rem;background:#101820a3;border:1px solid #ffffff42;backdrop-filter:blur(12px);color:white;padding:.38rem .75rem;border-radius:5px;font-size:.66rem;font-weight:600;line-height:1.5;z-index:1}
.work-open{position:absolute;bottom:1.65rem;right:1.6rem;width:43px;height:43px;border:1px solid #ffffff66;border-radius:50%;background:#ffffff14;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;font-size:1.45rem;transition:background .2s;z-index:2}
.work-card:hover .work-open{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.work-caption{position:absolute;bottom:1.6rem;left:1.6rem;right:5rem;display:flex;flex-direction:column;gap:.4rem;z-index:1}
.work-caption h3{font:700 1.8rem/1.12 var(--title);letter-spacing:-.018em;margin:0}
.work-caption>span{font-size:.73rem;color:#d0d6db}
.works-end{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:2.5rem}
.works-end p{margin:0;color:var(--muted);font-size:.87rem}

/* Branded material texture and layered solution cards. */
.solutions{background:radial-gradient(ellipse at 0% 20%,#ff40000d,transparent 60%),linear-gradient(#101820df,#101820ed),url('/restaura-assets-2026/concreto.webp') center/cover;color:var(--paper);border-top:4px solid var(--orange);position:relative;box-shadow:inset 0 12px 35px #0004}
.solutions-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:5rem;align-items:center}
.solutions-intro h2{font-size:clamp(2.7rem,3.9vw,4rem);margin-bottom:1.6rem}
.solutions h2 em{color:var(--orange)}
.solutions-intro>p:not(.eyebrow){max-width:470px;font-size:.9rem;color:#bfc7cf;line-height:1.9;margin-bottom:1.5rem}
.service-assurance{display:flex;align-items:center;gap:1rem;margin-top:2.5rem}
.service-assurance>span{width:40px;height:40px;border-radius:50%;background:#ff400014;border:1px solid #ff400054;color:#ff825c;display:grid;place-items:center}
.service-assurance p{font-size:.75rem;color:#bfc7cf;margin:0;line-height:1.7}
.service-assurance strong{color:#f7f7ff;font-weight:600}
.service-list{display:flex;flex-direction:column;gap:.85rem}
.service-list details{border:1px solid #ffffff12;border-radius:9px;background:linear-gradient(135deg,#ffffff0b,#ffffff03);box-shadow:0 10px 24px #0002;transition:background .3s,box-shadow .3s}
.service-list details[open]{background:linear-gradient(130deg,#35404bdd,#202c37ef);border-color:#ffffff36;box-shadow:0 18px 40px #0004,inset 3px 0 0 var(--orange)}
.service-list summary{list-style:none;display:flex;gap:1rem;align-items:center;padding:1.5rem;cursor:pointer}
.service-list summary::-webkit-details-marker{display:none}
.service-number{font:700 1rem/1 var(--title);color:#9eabb5;letter-spacing:.03em;width:26px;flex-shrink:0}
.service-list h3{margin:0;font:700 1.5rem/1.2 var(--title)}
.service-toggle{margin-left:auto;width:22px;height:22px;position:relative;flex-shrink:0}
.service-toggle:before,.service-toggle:after{content:'';position:absolute;background:#cad2d9;width:14px;height:1px;left:4px;top:11px}
.service-toggle:after{transform:rotate(90deg);transition:transform .2s}
.service-list details[open] .service-toggle:after{transform:rotate(0)}
.service-list details[open] .service-number{color:#ff825c}
.service-body{padding:0 1.8rem 1.7rem 4.1rem;color:#ced5da}
.service-body p{font-size:.85rem;line-height:1.85}
.service-body>span{font-size:.66rem;color:#ff9674;letter-spacing:.02em}

.method{background:#fff}
.method-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;padding:0;list-style:none;margin:3rem 0 0}
.method-steps li{position:relative;padding:1.7rem;border:1px solid #e8eaef;border-radius:10px;background:linear-gradient(145deg,#fff,#f7f7ff);box-shadow:0 14px 40px -18px #10182032;transition:transform .3s,box-shadow .3s}
.method-steps li:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.method-steps li:after{content:'↗';position:absolute;right:1.6rem;top:1.5rem;font-size:1.1rem;color:#87909a}
.step-number{font:700 2.25rem/1 var(--title);color:#c23810;display:flex;align-items:center;width:57px;height:57px;border-radius:9px;background:#ff40000b;margin:0 0 1.7rem}
.method-steps h3{font:700 1.6rem/1.1 var(--title);margin:0 0 .8rem}
.method-steps p{color:var(--muted);font-size:.82rem;line-height:1.9;margin:0}

/* Portal showcase: product depth without fabricated dashboard metrics. */
.portal{background:radial-gradient(ellipse at 100% 45%,#ff400028 0,transparent 55%),linear-gradient(115deg,#101820,#15222e);color:#f7f7ff;position:relative;overflow:hidden}
.portal:before{content:'';position:absolute;top:-400px;right:-350px;width:1100px;height:1100px;border:1px solid #ff400028;border-radius:50%;box-shadow:0 0 0 90px #ff400005,0 0 0 180px #ff400004;pointer-events:none}
.portal .wrap{position:relative;z-index:1}
.portal-top{display:flex;justify-content:space-between;align-items:flex-end;gap:5rem}
.portal-top h2{font-size:clamp(2.8rem,4vw,4rem);line-height:1.07}
.portal-top h2>span{color:var(--orange)}
.portal-intro{max-width:445px}
.portal-intro p{color:#c5cdd2;font-size:.88rem;line-height:1.9;margin-bottom:1.6rem}
.portal-experience{display:grid;grid-template-columns:.9fr 1.65fr;gap:3rem;margin-top:3.5rem;align-items:center}
.portal-options{display:flex;flex-direction:column;gap:.65rem}
.portal-options button{display:flex;gap:.85rem;text-align:left;align-items:flex-start;position:relative;background:#ffffff04;border:1px solid #ffffff0d;border-radius:8px;color:white;padding:1.15rem;transition:background .2s,box-shadow .2s}
.portal-options button[aria-selected=true]{background:linear-gradient(115deg,#ff400023,#ffffff09);border-color:#ff754952;box-shadow:0 10px 30px #0003,inset 3px 0 0 var(--orange)}
.portal-options button>span{font-size:.65rem;color:#aab5bc;padding-top:4px}
.portal-options strong{display:block;font-size:.84rem;font-weight:600}
.portal-options p{font-size:.71rem;color:#b6c1c9;margin:.35rem 0 0;line-height:1.6}
.portal-options b{font-size:1.2rem;font-weight:400;opacity:0;margin-left:auto}
.portal-options button[aria-selected=true] b{opacity:1;color:#ff8056}
.portal-view{min-width:0;background:#23313d;border:1px solid #ffffff40;border-top-color:#ffffff66;border-radius:11px;overflow:hidden;box-shadow:0 32px 70px #0006,0 0 55px #ff40000b;transform:perspective(1800px) rotateY(-3deg);transform-origin:left center}
.portal-window-bar{display:flex;justify-content:space-between;align-items:center;font-size:.67rem;letter-spacing:.04em;padding:.95rem 1.2rem;color:#d6dde2}
.portal-window-bar>span:first-child{display:flex;align-items:center;gap:.6rem}
.portal-window-bar>span:first-child:before{content:'';width:6px;height:6px;background:var(--orange);border-radius:50%}
.demo-label{font-size:.62rem;padding:.2rem .6rem;background:#fff1;border-radius:20px}
.portal-screen{padding:0 .45rem;background:#23313d;aspect-ratio:1.64;display:flex;align-items:center;justify-content:center}
.portal-screen img{width:100%;height:100%;object-fit:contain;background:#eef3f4;border-radius:4px}
.portal-caption{font-size:.65rem;line-height:1.7;color:#c3cdd4;padding:.8rem 1.15rem 1rem;margin:0}
.portal-access{display:flex;align-items:center;gap:1.5rem;border:1px solid #ffffff1c;background:#ffffff05;border-radius:8px;margin-top:3rem;padding:1.25rem 1.5rem}
.portal-access strong{font-size:.85rem;white-space:nowrap}
.portal-access p{font-size:.76rem;color:#c5cdd2;margin:0}
.portal-access a{margin-left:auto;font-size:.8rem;white-space:nowrap;display:flex;gap:1.1rem;align-items:center}
.portal-access a span{font-size:1.3rem;color:#ff8056}

.about{background:linear-gradient(135deg,#fff,#f7f7ff)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-visual{position:relative;height:620px}
.about-visual:before{content:'';position:absolute;left:-18px;top:35px;width:85%;height:440px;border:1px solid #ff400040;border-radius:12px}
.about-fleet{position:relative;width:88%;height:410px;object-fit:cover;object-position:45%;border-radius:10px;box-shadow:var(--shadow)}
.about-team{position:absolute;width:71%;height:265px;right:0;bottom:25px;object-fit:cover;border:7px solid white;border-radius:12px;box-shadow:0 24px 45px #10182030}
.about-stamp{background:linear-gradient(120deg,#ff612d,#ff4000);padding:1.25rem 1.5rem;position:absolute;top:320px;left:5%;display:flex;flex-direction:column;border-radius:7px;box-shadow:0 12px 28px #8b22003d;z-index:1}
.about-stamp strong{font:700 1.6rem/1.2 var(--title)}
.about-stamp span{font-size:.75rem;margin-top:.25rem}
.about-copy{min-width:0}
.about-copy h2{margin-bottom:1.8rem;font-size:clamp(2.3rem,3.2vw,3.3rem)}
.about-copy>p:not(.eyebrow){font-size:.88rem;color:var(--muted);line-height:1.9}
.technical-leads{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.technical-leads strong{display:block;font-weight:600;font-size:.83rem;margin-bottom:.5rem}
.technical-leads span{font-size:.73rem;line-height:1.85;color:var(--muted);display:block}
.quality-band{display:flex;justify-content:space-between;gap:2rem;margin-top:4rem;padding:1.65rem 2rem;border:1px solid #e1e4e8;border-radius:9px;background:white;box-shadow:0 12px 40px -22px #10182030;font:700 clamp(1.1rem,1.65vw,1.6rem)/1.3 var(--title)}
.quality-band span{display:flex;align-items:center;gap:1rem}
.quality-band span:before{content:'✓';width:27px;height:27px;border-radius:50%;background:#ff400010;display:grid;place-items:center;font:600 .8rem var(--font);color:#b5320c;flex-shrink:0}

/* Real, attributed review excerpts; the dated score is not a live widget. */
.reviews{background:white;border-top:1px solid #e7e9ee}
.reviews-heading{display:grid;grid-template-columns:1fr 290px;gap:3rem;align-items:center;margin-bottom:2.5rem}
.reviews-intro h2{font-size:clamp(2.35rem,3.5vw,3.6rem);max-width:850px}
.reviews-intro>p:last-child{font-size:1rem;color:var(--muted);max-width:590px;line-height:1.9;margin:1.5rem 0 0}
.google-rating{display:block;padding:1.5rem 1.7rem;background:linear-gradient(135deg,#fff,var(--paper));border:1px solid #e5e7ec;border-radius:12px;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
.google-rating:hover{transform:translateY(-4px);box-shadow:0 25px 50px -15px #10182045}
.rating-source{display:flex;align-items:center;gap:.35rem;font-size:.875rem;color:var(--muted)}
.rating-source strong{font-weight:600;color:var(--ink)}
.rating-source>span{margin-left:auto;color:#bf350b;font-size:1.3rem}
.rating-score{display:flex;align-items:center;gap:1rem;margin:.8rem 0}
.rating-score>strong{font:700 4rem/1 var(--title);letter-spacing:-.04em}
.rating-score>span{display:flex;flex-direction:column;font-size:.875rem;color:var(--muted)}
.review-stars{color:#b53a0f;font-size:1.1rem;letter-spacing:.05em;line-height:1.5}
.rating-date{display:block;color:var(--muted);font-size:.75rem;border-top:1px solid var(--line);padding-top:.8rem}
.review-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.review-quote{margin:0;display:flex;flex-direction:column;padding:1.7rem;background:linear-gradient(145deg,#f7f7ff,#fff);border:1px solid #e7e9ef;border-radius:11px;box-shadow:0 15px 35px -20px #10182040}
.quote-mark{font:700 3.5rem/.9 var(--title);color:#c23810;height:40px;display:block}
.review-quote blockquote{font-size:1rem;font-weight:600;line-height:1.75;margin:.4rem 0 1.7rem;flex:1}
.review-quote figcaption{display:flex;align-items:center;gap:.8rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.review-avatar{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;background:#1018200a;border:1px solid #10182009;border-radius:50%;font-size:.75rem;color:#46535f;font-weight:600}
.review-quote figcaption>span:last-child{display:flex;flex-direction:column;gap:.3rem}
.review-quote figcaption strong{font-size:.875rem;line-height:1.5;font-weight:600}
.review-quote figcaption>span>span{font-size:.75rem;line-height:1.5;color:var(--muted)}
.reviews-source{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin:1.3rem 0 3.5rem}
.reviews-source>p{font-size:.75rem;color:var(--muted);margin:0;line-height:1.7}
.reviews-source .text-link{font-size:.875rem;white-space:nowrap}
.review-invitation{display:grid;grid-template-columns:1fr 230px;gap:4rem;align-items:center;background:radial-gradient(ellipse at 80% 120%,#ff400025,transparent 70%),linear-gradient(130deg,#1b2935,#101820);border:1px solid #263746;border-radius:14px;padding:3rem 3.5rem;box-shadow:0 24px 55px -20px #10182060;color:white;scroll-margin-top:1rem}
.review-invitation h3{font:700 clamp(2rem,2.8vw,2.8rem)/1.12 var(--title);letter-spacing:-.025em;margin:0 0 1.3rem}
.review-invitation h3>span{color:var(--orange)}
.review-invitation-copy>p:not(.eyebrow){font-size:1rem;line-height:1.85;color:#ccd4db;max-width:610px;margin-bottom:1.5rem}
.review-invitation .eyebrow{font-size:.75rem}
.review-invitation .review-account-note{font-size:.75rem!important;line-height:1.6!important;margin:1rem 0 0!important;color:#b7c2ca!important}
.review-invitation .button{font-size:.875rem}
.review-qr{text-align:center}
.review-qr>a{display:block;padding:10px;background:white;border:1px solid white;border-radius:11px;box-shadow:0 12px 35px #0004;max-width:230px;margin-inline:auto}
.review-qr img{display:block;width:100%;height:auto;border-radius:3px}
.review-qr p{font-size:.75rem;color:#cad3db;line-height:1.75;margin:1rem 0 0}

.contact{background:radial-gradient(ellipse at 0% 100%,#ff400018,transparent 55%),linear-gradient(#101820dc,#101820f0),url('/restaura-assets-2026/concreto.webp') center/cover;color:white;position:relative;border-top:1px solid #ffffff1a}
.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:5rem;align-items:center}
.contact-copy h2{font-size:clamp(3rem,4.4vw,4.5rem);line-height:1.05;margin-bottom:1.8rem}
.contact-copy h2>span{color:var(--orange)}
.contact-copy>p:not(.eyebrow){font-size:.9rem;color:#c5cdd2;max-width:450px;line-height:1.9}
.contact-phone{font:700 2rem/1.3 var(--title);display:flex;align-items:center;gap:2rem;margin:2rem 0 .5rem}
.contact-phone>span{color:#ff784e}
.contact-email{display:inline-block;border-bottom:1px solid #73808a;font-size:.875rem;padding-bottom:.2rem}
.contact-region{font-size:.75rem!important;margin-top:1.8rem}
.contact-form{background:linear-gradient(135deg,#fff,#f7f7ff);color:var(--ink);padding:2.3rem;border:1px solid white;border-radius:12px;box-shadow:0 30px 80px #0006,inset 0 4px 0 var(--orange)}
.form-heading{display:flex;gap:1rem;align-items:center;margin-bottom:2rem}
.form-step{display:grid;place-items:center;width:44px;height:44px;background:#ff400010;color:#b83209;border:1px solid #ff400025;border-radius:9px;font-size:1.5rem;flex-shrink:0}
.form-title{font:700 1.45rem/1.2 var(--title);margin:0 0 .25rem}
.form-subtitle{font-size:.7rem;color:var(--muted);margin:0}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-form label{display:block;font-size:.72rem;font-weight:600;margin-bottom:1rem}
.contact-form input,.contact-form textarea,.contact-form select{border:1px solid #dfe2e8;box-shadow:inset 0 2px 3px #10182003;background:#fff;width:100%;display:block;margin-top:.5rem;padding:.8rem .7rem;font-size:.8rem;color:var(--ink);border-radius:6px;min-height:48px;font-weight:400}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#69747d}
.contact-form textarea{resize:vertical;min-height:100px;max-height:300px}
.contact-form .button{width:100%;margin-top:.5rem}
.optional{font-weight:400;font-size:.68rem;color:var(--muted)}
.form-explanation{font-size:.65rem;line-height:1.8;color:var(--muted);margin:1rem 0 0}
.form-status{margin-top:1rem;font-size:.8rem;line-height:1.75;color:#32474c}
.form-status:empty{display:none}
.form-status a{text-decoration:underline;font-weight:600}
.site-footer{padding-block:3rem 1.5rem;background:#f7f7ff}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-bottom:2.8rem}
.footer-top>a:first-child{flex-shrink:0}
.footer-top img{width:190px;height:auto}
.footer-top p{font-size:.83rem;line-height:1.75;color:var(--muted);margin:0}
.footer-top .text-link{font-size:.78rem}
.footer-bottom{border-top:1px solid var(--line);padding-top:1.3rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;font-size:.67rem;color:var(--muted)}
.footer-bottom p{margin:0}
.footer-bottom a{color:var(--ink)}

.project-dialog{border:1px solid white;border-radius:14px;padding:0;background:white;color:var(--ink);width:min(860px,calc(100% - 2rem));max-height:calc(100svh - 3rem);overflow:auto;box-shadow:0 30px 100px #0007}
.project-dialog::backdrop{background:#071016d6;backdrop-filter:blur(7px)}
.project-dialog>img{width:100%;height:min(350px,38svh);object-fit:cover}
.dialog-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border:0;border-radius:50%;background:white;color:var(--ink);font-size:2rem;line-height:1;display:flex;align-items:center;justify-content:center;z-index:1;box-shadow:0 3px 20px #0002}
.project-content{padding:2.2rem}
.project-content .eyebrow{margin-bottom:1rem}
.project-content h2{font-size:2.3rem;margin-bottom:.6rem}
.project-content>p:not(.eyebrow){color:var(--muted);font-size:.875rem}
.project-detail{display:flex;justify-content:space-between;align-items:center;padding-block:1.1rem;border-block:1px solid var(--line);margin-block:1.5rem 2rem;gap:1.5rem}
.project-detail span{font-size:.8rem;color:var(--muted)}
.project-detail strong{font:700 1.8rem/1.1 var(--title)}
.will-reveal{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.3,1)}
.will-reveal:not(.in-view){opacity:0;transform:translateY(22px)}

@media(min-width:1600px){.hero-copy{padding-top:clamp(15rem,25vh,19rem)}.hero-portal{bottom:185px}.work-image{height:400px}}
@media(max-width:1200px){
  .header{left:24px;right:24px;gap:1.3rem;padding:14px 16px 14px 20px}
  .brand img{width:155px}.nav{gap:1.2rem}.nav a,.header-cta{font-size:.73rem}
  .hero-portal{width:285px;padding:1.15rem;bottom:148px}.hero-portal>strong{font-size:1.5rem}
  .hero-description{max-width:500px}.hero-actions{gap:1.6rem}
  .solutions-grid,.about-grid,.contact-grid{gap:3.5rem}.intro-grid{gap:4rem}
  .numbers>div{padding-inline:2rem}.work-image{height:330px}
  .portal-experience{gap:2rem}.portal-top{gap:3rem}.portal-intro{max-width:370px}
  .portal-options button{padding:1rem .85rem}.portal-options strong{font-size:.77rem}
  .portal-options p{font-size:.67rem}.portal-options b{display:none}
  .about-visual{height:570px}.about-fleet{height:390px}.about-team{height:230px}.about-stamp{top:310px;padding:1.1rem}
  .contact-form{padding:1.8rem}.form-row{grid-template-columns:1fr;gap:0}
  .method-steps{gap:1rem}.method-steps li{padding:1.4rem}.method-steps p{font-size:.77rem}
}
@media(max-width:1050px){
  .header{gap:1rem}.brand img{width:145px}.nav{gap:.9rem}.nav .nav-portal{padding:.6rem}
  .header-cta{padding:.7rem .8rem}.header-cta span{margin-left:.4rem}
  .hero{min-height:780px}.hero-portal{display:none}.hero-copy{padding-top:13rem}
  .hero-description{max-width:540px}.hero h1{font-size:5rem}
  .numbers>div{padding-inline:1.5rem}.numbers strong{font-size:3rem}
  .numbers p{font-size:.7rem}.section-heading{gap:2rem}.section-heading>p{max-width:300px}
  .solutions-grid{gap:3rem}.solutions-intro h2{font-size:3rem}.service-list h3{font-size:1.3rem}
  .service-list summary{padding:1.3rem}.service-body{padding-left:3.9rem}
  .portal-top h2{font-size:3rem}.portal-options button{gap:.65rem}
  .about-grid{gap:2.5rem}.about-copy h2{font-size:2.6rem}.technical-leads{grid-template-columns:1fr;gap:1rem}
  .about-stamp strong{font-size:1.35rem}.about-stamp span{font-size:.65rem}
  .footer-top .text-link{font-size:.72rem}
}
@media(max-width:850px){
  .reviews-heading{grid-template-columns:1fr;gap:2rem}.google-rating{max-width:310px;width:100%}
  .review-quotes{grid-template-columns:1fr;gap:1rem}.review-quote{padding:1.5rem}.review-quote blockquote{margin-bottom:1.3rem}
  .reviews-source{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:2.5rem}
  .review-invitation{padding:2rem;gap:2rem;grid-template-columns:1fr 180px}.review-qr>a{max-width:180px}
  .section{padding-block:5rem}.header{top:14px;left:18px;right:18px;padding:14px 18px;border-radius:9px}
  .brand img{width:160px}.header-cta{margin-left:auto;font-size:.73rem}
  .menu-toggle{display:flex;flex-direction:column;gap:7px;width:42px;height:42px;align-items:center;justify-content:center;background:#10182007;border:1px solid #10182010;border-radius:6px}
  .menu-toggle span{display:block;width:22px;height:2px;background:var(--ink);transition:transform .2s}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .nav{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fffffff7;backdrop-filter:blur(20px);padding:1rem 1.5rem 1.5rem;border:1px solid white;border-radius:9px;align-items:stretch;gap:.35rem;box-shadow:0 20px 40px #10182035}
  .nav.is-open{display:flex;flex-direction:column}.nav a{font-size:.95rem;padding:.8rem}.nav .nav-portal{padding:.8rem}
  .hero{min-height:760px;height:90svh}.hero-copy{padding-top:13rem;padding-bottom:12rem}
  .hero h1{font-size:clamp(3.7rem,9vw,4.7rem)}.hero-image{object-position:62% center}
  .hero-shade{background:linear-gradient(90deg,#0a1118ef,#0a111884 70%,#0a111860),linear-gradient(0deg,#101820,transparent 60%)}
  .numbers{grid-template-columns:1fr 1.3fr 1.1fr;padding:1.7rem 0}.numbers>div{padding-inline:1.1rem}
  .numbers strong{font-size:2.8rem}.numbers>div:last-child strong{font-size:2.5rem}
  .intro{padding-block:3.5rem 4rem}.intro-grid{grid-template-columns:1fr;gap:1.8rem}.intro h2{font-size:3rem}
  .intro-description{max-width:630px}.intro-description p{font-size:.9rem}
  .section-heading h2{font-size:2.8rem}.section-heading>p{max-width:280px;font-size:.84rem}
  .works-grid{gap:1.25rem}.work-card,.work-card:nth-child(2),.work-card:nth-child(3){grid-column:span 6}
  .work-image{height:330px}.work-caption{left:1.25rem;bottom:1.5rem;right:4.5rem}
  .work-caption h3{font-size:1.55rem}.work-caption>span{font-size:.65rem}.work-open{right:1rem;bottom:1.5rem;width:37px;height:37px}
  .solutions-grid{grid-template-columns:1fr;gap:3rem}.solutions-intro>p:not(.eyebrow){max-width:600px}
  .service-assurance{margin-top:1.7rem}.service-list h3{font-size:1.5rem}.service-list summary{padding:1.5rem}
  .service-body{padding-left:4.1rem}.method-steps{grid-template-columns:1fr 1fr;gap:1.25rem}
  .method-steps li{padding:1.8rem}.method-steps p{font-size:.85rem}.step-number{margin-bottom:1.25rem}
  .portal-top{flex-direction:column;align-items:flex-start;gap:1.8rem}.portal-intro{max-width:620px}
  .portal-experience{grid-template-columns:1fr;gap:2rem}.portal-options{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
  .portal-options button{padding:1.25rem;gap:.85rem}.portal-options strong{font-size:.83rem}.portal-options p{font-size:.72rem}
  .portal-view{transform:none}.portal-access{gap:1rem;align-items:flex-start}.portal-access p{font-size:.73rem}
  .about-grid{grid-template-columns:1fr;gap:2.2rem}.about-visual{max-width:620px;width:100%;height:590px;margin-inline:auto}
  .about-fleet{height:420px}.about-team{height:250px}.about-stamp{top:335px;padding:1.3rem 1.5rem}
  .about-stamp strong{font-size:1.6rem}.about-stamp span{font-size:.75rem}
  .about-copy h2{font-size:3rem}.technical-leads{grid-template-columns:1fr 1fr}
  .quality-band{padding:1.5rem;gap:1rem;margin-top:2.7rem}.quality-band span{gap:.6rem;font-size:1.15rem}
  .contact-grid{grid-template-columns:1fr;gap:3rem}.contact-copy h2{font-size:3.7rem}
  .contact-form{max-width:720px;width:100%;padding:2.5rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem}
  .footer-top{flex-wrap:wrap}.footer-bottom{flex-wrap:wrap;gap:.9rem}
}
@media(max-width:600px){
  .reviews-intro h2{font-size:clamp(2.1rem,8.3vw,2.8rem)}.reviews-intro>p:last-child{font-size:1rem}
  .review-invitation{grid-template-columns:1fr;padding:1.5rem;gap:1.5rem}.review-invitation h3{font-size:2rem}
  .review-invitation .button{font-size:.875rem;gap:1rem;text-align:left}.review-qr{max-width:200px;margin-inline:auto}
  .review-quote figcaption strong{font-size:.875rem}
  :root{--gutter:1.4rem}html{scroll-padding-top:6.5rem}.section{padding-block:4rem}
  .header{top:12px;left:12px;right:12px;padding:12px 14px}.brand img{width:150px}.header-cta{display:none}.menu-toggle{margin-left:auto}
  .hero{height:auto;min-height:735px}.hero-copy{padding-top:11rem;padding-bottom:11.5rem}
  .hero .eyebrow{font-size:.65rem;letter-spacing:.12em;gap:.65rem;margin-bottom:1.5rem}
  .hero h1{font-size:clamp(2.65rem,10.8vw,3.8rem);line-height:1.08;letter-spacing:-.027em;margin-bottom:1.6rem}
  .hero-description{font-size:.87rem;max-width:365px;line-height:1.85;margin-bottom:1.8rem}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.button{padding:1rem 1.3rem;font-size:.8rem;min-height:54px}
  .hero-actions .text-link{font-size:.78rem}.hero-bottom{font-size:.61rem;bottom:75px;gap:.5rem}.hero-bottom>span{gap:.5rem}
  .hero-bottom .video-label{display:none}.video-icon{width:32px;height:32px}.hero:after{opacity:.22}
  .proof{margin-top:-45px}.numbers{grid-template-columns:1fr 1.22fr;gap:0;padding:1.5rem 0 0;border-radius:9px}
  .numbers>div{padding:.2rem 1.2rem 1.3rem}.numbers strong{font-size:2.8rem}.numbers p{font-size:.65rem;line-height:1.7}
  .numbers>div:nth-child(2) strong{white-space:nowrap;font-size:2.4rem}.numbers>div:nth-child(2) strong span{display:block;font-size:.48em;margin-top:.25rem}
  .numbers>div:last-child{grid-column:1/-1;padding:1.1rem 1.2rem;border-left:0;border-top:1px solid #10182014;display:flex;gap:1rem;align-items:center;background:#10182003}
  .numbers>div:last-child strong{font-size:2rem;flex-shrink:0}.numbers>div:last-child p{margin:0;max-width:170px;font-size:.65rem}
  .numbers-source{font-size:.58rem;margin-top:.7rem}
  .intro{padding-block:3.2rem 3.7rem}.eyebrow{font-size:.64rem;letter-spacing:.12em;margin-bottom:1.2rem}
  h2,.intro h2,.section-heading h2{font-size:clamp(2.2rem,8.8vw,3rem)}
  .intro-grid{gap:1.7rem}.intro-description p{font-size:.85rem}.text-link{font-size:.8rem}
  .section-heading{flex-direction:column;align-items:flex-start;gap:1.5rem;margin-bottom:2rem}.section-heading>p{max-width:440px;font-size:.85rem}
  .works-grid{grid-template-columns:1fr;gap:1.4rem}.work-card,.work-card:nth-child(2),.work-card:nth-child(3){grid-column:auto}
  .work-image{height:325px}.image-tag{top:1.1rem;left:1.1rem;font-size:.63rem}.work-caption h3{font-size:1.7rem}
  .works-end{flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:2rem}.works-end p{font-size:.8rem}
  .solutions-intro h2{font-size:2.8rem}.solutions-intro>p:not(.eyebrow){font-size:.85rem}.service-list{gap:.7rem}
  .service-list summary{padding:1.2rem 1.1rem;gap:.6rem}.service-list h3{font-size:1.26rem}.service-number{font-size:.85rem;width:22px}
  .service-body{padding:0 1.2rem 1.4rem 2.85rem}.service-body p{font-size:.8rem}.service-body>span{font-size:.62rem}
  .method-steps{gap:1rem;margin-top:2rem}.method-steps li{padding:1.3rem}.method-steps li:after{right:1.1rem;top:1.1rem}
  .step-number{font-size:1.8rem;width:44px;height:44px;margin-bottom:1.1rem}.method-steps h3{font-size:1.4rem}.method-steps p{font-size:.75rem;line-height:1.85}
  .portal-top h2{font-size:clamp(2.15rem,9vw,3rem)}.portal-intro p{font-size:.85rem}
  .portal-experience{margin-top:2.5rem;gap:1.5rem}.portal-options{gap:.65rem}.portal-options button{gap:.6rem;padding:1rem .75rem}
  .portal-options button>span{font-size:.6rem}.portal-options strong{font-size:.75rem;line-height:1.45}.portal-options p{font-size:.65rem}
  .portal-window-bar{padding:.75rem .8rem;font-size:.6rem}.demo-label{font-size:.56rem}.portal-caption{font-size:.6rem;padding:.8rem;line-height:1.75}
  .portal-access{flex-wrap:wrap;gap:.6rem;padding:1.1rem 1.2rem;margin-top:2rem}.portal-access p{width:100%;order:2;line-height:1.8}.portal-access a{margin-left:auto}
  .about-grid{gap:2rem}.about-visual{height:435px}.about-visual:before{height:320px;left:-10px;top:20px}
  .about-fleet{height:290px;width:94%;object-position:center}.about-team{height:195px;width:77%;bottom:0;border-width:5px}
  .about-stamp{top:227px;left:3%;padding:1rem 1.15rem}.about-stamp strong{font-size:1.25rem}.about-stamp span{font-size:.62rem}
  .about-copy h2{font-size:clamp(2.15rem,8.5vw,2.8rem)}.about-copy>p:not(.eyebrow){font-size:.85rem}.technical-leads{gap:1.2rem}
  .technical-leads strong{font-size:.77rem}.technical-leads span{font-size:.68rem}.quality-band{display:none}
  .contact-copy h2{font-size:clamp(2.8rem,10vw,3.5rem)}.contact-copy>p:not(.eyebrow){font-size:.85rem}.contact-phone{font-size:1.8rem}
  .contact-form{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:0}.form-heading{gap:.75rem;margin-bottom:1.7rem}
  .form-title{font-size:1.3rem}.form-subtitle{font-size:.62rem}.form-step{width:36px;height:36px;font-size:1.2rem}
  .contact-form label{font-size:.72rem}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px}
  .form-explanation{font-size:.64rem}.site-footer{padding-block:2.5rem 1.5rem}
  .footer-top{flex-direction:column;align-items:flex-start;gap:1.5rem;padding-bottom:2rem}.footer-top img{width:175px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:.75rem;font-size:.63rem}
  .project-content{padding:1.5rem}.project-content h2{font-size:1.8rem}.project-content>p:not(.eyebrow){font-size:.82rem}
  .project-detail{flex-direction:column;align-items:flex-start;gap:.6rem}.project-dialog>img{height:220px}
}
@media(max-width:370px){
  .hero h1{font-size:2.5rem}.hero .eyebrow{font-size:.59rem}.hero-description{font-size:.83rem}
  .numbers>div{padding-inline:1rem}.numbers strong{font-size:2.5rem}.numbers>div:last-child strong{font-size:1.8rem}
  .method-steps{grid-template-columns:1fr}.method-steps li{padding:1.5rem}.method-steps p{font-size:.82rem}
  .portal-options{grid-template-columns:1fr}.portal-options strong{font-size:.8rem}.portal-options p{font-size:.72rem}
  .technical-leads{grid-template-columns:1fr}.about-visual{height:405px}.about-team{height:175px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}
  .will-reveal:not(.in-view){opacity:1;transform:none}
}
