/* King Georges SARL — single-page site. Tokens mirror kingeorges-design-system/tokens.css. */
:root{
  --kg-orange-500:#FF5100; --kg-orange-400:#FF7A3D; --kg-yellow:#FFDD00;
  --kg-navy:#2B2E37; --kg-charcoal:#32373c; --kg-ink:#1E1810; --kg-slate:#575250;
  --kg-paper:#F8F5F4; --kg-mist:#F6F7F8; --kg-white:#FFFFFF; --kg-line:#E6E1DE;
  --font-display:'Staatliches',Impact,'Arial Narrow',sans-serif;
  --font-heading:'Open Sans',system-ui,sans-serif;
  --font-body:'Work Sans',system-ui,sans-serif;
  --font-button:'Montserrat',system-ui,sans-serif;
  --max:1180px; --gutter:clamp(16px,4vw,40px); --radius:0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--kg-slate);background:var(--kg-white)}
img{max-width:100%;display:block}
a{color:var(--kg-orange-500);text-decoration:none}a:hover{color:var(--kg-ink)}
h1,h2,h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;line-height:.92;letter-spacing:.01em;color:var(--kg-ink);margin:0 0 .35em}
h1{font-size:clamp(2.6rem,7vw,4.7rem)}h2{font-size:clamp(2.1rem,4.6vw,3.6rem)}h3{font-size:clamp(1.5rem,2.6vw,2.2rem)}
h4{font-family:var(--font-heading);font-weight:700;font-size:1.2rem;color:var(--kg-ink);margin:0 0 .4em;line-height:1.3}
p{margin:0 0 1em}
.wrap{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
.section{padding:clamp(56px,8vw,104px) 0;scroll-margin-top:84px}
.section--paper{background:var(--kg-paper)}.section--mist{background:var(--kg-mist)}.section--navy{background:var(--kg-navy);color:#d9dbe0}
.section--navy h2,.section--navy h3,.section--navy h4{color:#fff}
.eyebrow{font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--kg-orange-500);margin:0 0 12px}
.divider{width:50px;height:3px;background:var(--kg-orange-500);margin:14px 0 26px}
.center{text-align:center}.center .divider{margin-inline:auto}
.lead{font-size:1.1rem;max-width:62ch}
.skip{position:absolute;left:-9999px;top:8px;background:var(--kg-ink);color:#fff;padding:10px 14px;z-index:100}.skip:focus{left:8px}

/* buttons */
.btn{display:inline-block;font-family:var(--font-button);font-weight:800;font-size:.75rem;letter-spacing:2px;text-transform:uppercase;line-height:1;padding:17px 30px;border:2px solid var(--kg-orange-400);background:var(--kg-orange-400);color:#fff;border-radius:var(--radius);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--kg-orange-500);border-color:var(--kg-orange-500);color:#fff}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}.btn--ghost:hover{background:#fff;color:var(--kg-ink);border-color:#fff}
.btn--dark{background:var(--kg-navy);border-color:var(--kg-navy)}.btn--dark:hover{background:var(--kg-ink);border-color:var(--kg-ink)}
.btn:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--kg-yellow);outline-offset:2px}

/* header */
.topbar{background:var(--kg-orange-400);color:#fff;font-size:.82rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding:7px 0;flex-wrap:wrap}
.topbar a{color:#fff}.topbar a:hover{color:var(--kg-ink)}
.topbar svg{width:13px;height:13px;vertical-align:-2px;margin-right:6px}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--kg-line)}
.header .wrap{display:flex;align-items:center;gap:24px;min-height:74px}
.brand img{height:52px;width:auto}
.nav{display:flex;gap:26px;margin-left:auto;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}
.nav a{color:var(--kg-ink);font-weight:500;font-size:.95rem;white-space:nowrap;padding:8px 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--kg-orange-500);border-color:var(--kg-orange-500)}
.header .btn{padding:13px 20px;font-size:.68rem}
@media (max-width:820px){.header .btn{display:none}.nav{gap:18px}}
@media (max-width:480px){.header .wrap{min-height:62px;gap:14px}.brand img{height:42px}.nav{gap:14px}.nav a{font-size:.86rem}}

/* hero */
.hero{position:relative;color:#fff;min-height:min(84vh,760px);display:flex;align-items:center;background:var(--kg-navy)}
.hero picture,.hero .bg{position:absolute;inset:0}
.hero .bg img{width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(43,46,55,.92) 0%,rgba(43,46,55,.72) 55%,rgba(43,46,55,.35) 100%)}
.hero .wrap{position:relative;z-index:1;padding:clamp(72px,12vw,140px) var(--gutter)}
.hero .eyebrow{color:var(--kg-yellow)}
.hero h1{color:#fff;max-width:14ch}
.hero .lead{color:#eef0f3;font-size:clamp(1.05rem,1.6vw,1.25rem);margin-bottom:34px}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap}
.hero .proof{display:flex;gap:34px;margin-top:56px;flex-wrap:wrap}
.hero .proof strong{display:block;font-family:var(--font-display);font-size:2.2rem;line-height:1;color:var(--kg-yellow)}
.hero .proof span{font-size:.82rem;color:#c9ccd3}

/* services */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{background:#fff;border:1px solid var(--kg-line);display:flex;flex-direction:column}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.card .body{padding:26px 26px 30px;flex:1}
.card h3{font-size:1.65rem;margin-bottom:.4em}
.card p{margin:0 0 .6em;font-size:.97rem}.card p:last-child{margin:0}
.card .num{font-family:var(--font-display);color:var(--kg-orange-500);font-size:1.1rem;letter-spacing:.06em;display:block;margin-bottom:6px}
@media (max-width:900px){.grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.grid-3{grid-template-columns:1fr}}

/* logo wall */
.logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.logos li{background:#fff;border:1px solid var(--kg-line);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:18px}
.logos img{max-height:100%;width:auto;filter:grayscale(1);opacity:.78;transition:filter .25s,opacity .25s}
.logos li:hover img{filter:none;opacity:1}
@media (max-width:1000px){.logos{grid-template-columns:repeat(4,1fr)}}
@media (max-width:600px){.logos{grid-template-columns:repeat(3,1fr);gap:10px}.logos li{padding:12px}}

/* about */
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,80px);align-items:center}
.about .pic{position:relative}
.about .pic img{width:100%;aspect-ratio:5/4;object-fit:cover}
.about .stamp{position:absolute;right:-14px;bottom:28px;background:var(--kg-orange-500);color:#fff;font-family:var(--font-display);font-size:1.3rem;letter-spacing:.04em;padding:14px 18px;transform:rotate(-3deg)}
@media (max-width:820px){.about{grid-template-columns:1fr}.about .stamp{right:8px}}

/* why us */
.why{display:grid;grid-template-columns:.9fr 1.6fr;gap:clamp(32px,6vw,80px);align-items:start}
.why .intro{position:sticky;top:100px}
.why .intro p{color:#c9ccd3}
.boxes{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.box{background:rgba(255,255,255,.05);border-top:3px solid var(--kg-orange-400);padding:26px 24px}
.box svg{width:34px;height:34px;color:var(--kg-orange-400);margin-bottom:14px}
.box p{margin:0;font-size:.95rem;color:#c9ccd3}
@media (max-width:820px){.why{grid-template-columns:1fr}.why .intro{position:static}}
@media (max-width:560px){.boxes{grid-template-columns:1fr}}

/* testimonials */
.rating{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding:28px 32px;background:#fff;border:1px solid var(--kg-line);margin-bottom:34px}
.rating .score{font-family:var(--font-display);font-size:4rem;line-height:1;color:var(--kg-ink)}
.rating .stars{color:var(--kg-orange-500);letter-spacing:2px;font-size:1.25rem;margin-bottom:4px}
.rating p{margin:0}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.quote{background:#fff;border:1px solid var(--kg-line);padding:30px;margin:0;position:relative}
.quote::before{content:"“";position:absolute;top:8px;right:22px;font-family:var(--font-display);font-size:5rem;line-height:1;color:var(--kg-orange-400);opacity:.35}
.quote blockquote{margin:0 0 20px;font-size:1.02rem;color:var(--kg-ink)}
.quote figcaption{display:flex;align-items:center;gap:14px}
.quote figcaption img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.quote figcaption b{display:block;color:var(--kg-ink)}.quote figcaption span{font-size:.85rem}
@media (max-width:700px){.quotes,.rating{grid-template-columns:1fr}}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery a{display:block;overflow:hidden;background:var(--kg-paper)}
.gallery img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .5s}
.gallery a:hover img{transform:scale(1.04)}
@media (max-width:820px){.gallery{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.gallery{grid-template-columns:repeat(2,1fr);gap:10px}}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(32px,6vw,72px);align-items:start}
.details{list-style:none;margin:0 0 26px;padding:0}
.details li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid rgba(255,255,255,.14)}
.details li:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.details svg{width:20px;height:20px;flex:none;color:var(--kg-orange-400);margin-top:3px}
.details small{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#9ea3ad}
.details a,.details strong{color:#fff;font-weight:600;font-size:1.05rem}
.map{aspect-ratio:16/10;width:100%;border:0;filter:grayscale(.2)}
.form{background:#fff;color:var(--kg-ink);padding:clamp(22px,3vw,36px)}
.form h3{margin-bottom:6px}
.form .hint{font-size:.9rem;margin-bottom:22px}
.f{margin-bottom:18px}
.f label{display:block;font-weight:600;font-size:.86rem;margin-bottom:6px}
.f label span{font-weight:400;color:#8a8580}
.f input,.f textarea{width:100%;padding:13px 14px;border:1px solid #cfc9c5;border-radius:var(--radius);font:inherit;color:var(--kg-ink);background:#fff}
.f input:focus,.f textarea:focus{border-color:var(--kg-orange-400);outline:3px solid rgba(255,122,61,.25);outline-offset:0}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form .btn{width:100%}.form .btn[disabled]{opacity:.6;cursor:wait}
.msg{margin-top:14px;padding:12px 14px;display:none;font-size:.95rem}
.msg.ok{display:block;background:#e9f7ef;color:#1e5b36}.msg.err{display:block;background:#fdecea;color:#8a1f11}
.form .fine{font-size:.76rem;color:#8a8580;margin:12px 0 0;text-align:center}
@media (max-width:860px){.contact{grid-template-columns:1fr}}

/* footer */
.footer{background:#1b1e25;color:#b8bcc6;padding:52px 0 26px;font-size:.9rem}
.footer .top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12)}
.footer img{height:56px;width:auto;margin-bottom:12px}
.footer h4{color:#fff;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer a{color:#b8bcc6}.footer a:hover{color:var(--kg-orange-400)}
.footer .bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:20px;font-size:.8rem;color:#7d828d}
@media (max-width:760px){.footer .top{grid-template-columns:1fr}}

/* whatsapp float */
.wa{position:fixed;right:20px;bottom:20px;z-index:60;width:54px;height:54px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.wa svg{width:28px;height:28px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
