/* A quieter, editorial identity: warm paper by day, deep ink by night. */
:root{font-family:Calibri,Arial,Tahoma,sans-serif;color-scheme:light;--bg:#f4f1e9;--paper:#fbfaf6;--panel:#eeebe2;--ink:#172321;--muted:#65716d;--line:#dcded5;--accent:#ceef73;--accent-ink:#25321b;--deep:#172321;--header:#f4f1e9e8;--shadow:0 24px 70px #17232112;scroll-behavior:smooth;scroll-padding-top:90px}
:root[data-theme=dark]{color-scheme:dark;--bg:#101918;--paper:#172220;--panel:#1e2a27;--ink:#eff1e8;--muted:#aab5ae;--line:#33403b;--accent:#ceef73;--accent-ink:#172321;--deep:#ceef73;--header:#101918e8;--shadow:0 24px 70px #0005}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Calibri,Arial,Tahoma,sans-serif;transition:background .25s,color .25s}a{color:inherit;text-decoration:none}button{font:inherit}.topbar{height:78px;position:sticky;top:0;z-index:5;background:var(--header);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100% - 1120px)/2),5%)}.brand{display:flex;gap:10px;align-items:center}.brand-mark{width:40px;height:40px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-size:24px;font-weight:800;border-radius:3px}.brand-name{font-weight:800;font-size:15px;letter-spacing:-.3px}.brand-name small{display:block;font-weight:500;color:var(--muted);font-size:10px;margin-top:3px}.nav{display:flex;gap:34px;color:var(--muted);font-size:13px}.nav a{transition:color .2s}.nav a:hover{color:var(--ink)}.header-actions{display:flex;gap:10px;align-items:center}.theme-toggle,.menu-toggle{width:39px;height:39px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;border-radius:3px;font-size:19px}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;gap:20px;background:var(--accent);color:var(--accent-ink);padding:14px 19px;font-size:13px;font-weight:700;border-radius:3px;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button.small{padding:11px 14px;font-size:12px}.hero,.section,.contact-inner,.footer{max-width:1120px;margin-left:auto;margin-right:auto}.hero{min-height:600px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;padding:58px 0 72px}.hero-copy{position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.03em}.hero .eyebrow:before{content:"";width:8px;height:8px;background:var(--accent);display:block;border-radius:50%}h1{font-size:clamp(48px,6.4vw,78px);line-height:1.22;margin:26px 0 16px;letter-spacing:-2.5px;font-weight:800}.accent{color:#768d39}:root[data-theme=dark] .accent{color:var(--accent)}.hero-copy>p,.about p{max-width:455px;color:var(--muted);font-size:15px;line-height:2.15;margin:12px 0 26px}.hero-note{font-size:11px;color:var(--muted);margin-top:34px;display:flex;align-items:center;gap:10px}.hero-note:before{content:"";height:1px;width:28px;background:var(--accent)}.hero-art{height:425px;position:relative;display:grid;place-items:center;isolation:isolate}.hero-art:before{content:"";position:absolute;inset:45px 20px;background:var(--panel);z-index:-2;border-radius:48% 52% 50% 45%}.hero-art:after{content:"";position:absolute;inset:15px 0;border:1px solid var(--line);z-index:-1;border-radius:50%;transform:rotate(-22deg)}.orbit{position:absolute;width:320px;height:320px;border:1px solid var(--line);border-radius:50%;box-shadow:0 0 0 30px color-mix(in srgb,var(--panel) 70%,transparent)}.core{width:165px;height:165px;display:grid;place-content:center;text-align:center;background:var(--deep);color:var(--bg);border-radius:50%;font-size:65px;line-height:.9;box-shadow:0 18px 50px #1118}.core small{font-size:14px;margin-top:9px;letter-spacing:.04em}.float-card{position:absolute;background:var(--paper);border:1px solid var(--line);padding:13px 16px;border-radius:3px;box-shadow:var(--shadow);font-size:12px;font-weight:700}.one{top:65px;right:0}.two{bottom:55px;left:0}.scroll-cue{position:absolute;bottom:20px;right:0;color:var(--muted);font-size:11px}.section{padding:88px 0;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:32px}.section-heading h2,.values h2{font-size:36px;letter-spacing:-1px;margin:12px 0 0}.section-heading>p{max-width:365px;font-size:13px;line-height:2;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{position:relative;padding:23px 22px 20px;background:var(--paper);border:1px solid var(--line);min-height:218px;transition:transform .2s,border-color .2s,background .2s}.service-card:hover{transform:translateY(-4px);border-color:var(--accent);background:var(--panel)}.service-icon{display:inline-grid;place-items:center;width:43px;height:43px;background:var(--panel);color:var(--ink);font-size:23px;border-radius:3px}.number{float:left;color:var(--muted);font-size:12px;font-weight:700}.service-card h3{font-size:16px;margin:19px 0 8px}.service-card p{font-size:12px;line-height:2;color:var(--muted);margin:0;min-height:43px}.activity-code{display:block;border-top:1px solid var(--line);margin-top:13px;padding-top:10px;color:var(--muted);font-size:10px}.activity-code bdi{color:var(--ink);font-weight:700}.about,.values{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about h2{font-size:42px;line-height:1.5;letter-spacing:-1.3px;margin:14px 0}.about p{font-size:13px}.about-art{height:320px;background:var(--panel);display:grid;place-content:center;text-align:center;position:relative;color:var(--ink);font-size:50px;font-weight:800;line-height:1.15;overflow:hidden}.about-art:before,.about-art:after{content:"";position:absolute;width:230px;height:230px;border:1px solid var(--muted);border-radius:50%;opacity:.28;left:50%;top:50%;transform:translate(-50%,-50%)}.about-art:after{width:290px;height:290px}.about-art span{position:absolute;color:var(--accent-ink);background:var(--accent);border-radius:50%;font-size:10px;width:24px;height:24px;display:grid;place-items:center}.about-art span:nth-of-type(1){top:19%;right:23%}.about-art span:nth-of-type(2){bottom:18%;left:21%}.about-art span:nth-of-type(3){bottom:22%;right:24%}.values{align-items:start}.values h2{line-height:1.6;max-width:340px}.value-list article{display:flex;gap:19px;padding:17px 0;border-bottom:1px solid var(--line)}.value-list b{color:var(--muted);font-size:12px}.value-list h3{font-size:14px;margin:0 0 5px}.value-list p{font-size:11px;color:var(--muted);margin:0}.contact{background:var(--deep);color:var(--bg)}:root[data-theme=dark] .contact{color:var(--accent-ink)}.contact-inner{padding:62px 0;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.contact .eyebrow{color:var(--muted)}.contact h2{font-size:36px;line-height:1.5;margin:15px 0}.contact p{font-size:12px;color:var(--muted);line-height:2}.contact-details>div{padding:13px 0;border-bottom:1px solid color-mix(in srgb,var(--muted) 35%,transparent)}.contact-details>div>span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.contact-details a,.contact-details p{font-size:13px;margin:0}.socials{display:flex;gap:19px}.socials span{border-bottom:1px solid var(--accent);padding-bottom:3px}.contact-details small{display:block;color:var(--muted);font-size:10px;margin-top:8px}.footer{min-height:92px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}.footer .brand-name{color:var(--ink)}
@media(max-width:1180px){.hero,.section,.contact-inner,.footer{margin-left:5%;margin-right:5%}}@media(max-width:850px){.service-grid{grid-template-columns:repeat(2,1fr)}.about,.values{gap:36px}.hero{min-height:525px}.orbit{width:270px;height:270px}}@media(max-width:600px){.topbar{height:68px;padding:0 5%}.nav{display:none;position:absolute;top:67px;right:0;left:0;background:var(--paper);padding:12px 6%;border-bottom:1px solid var(--line);flex-direction:column;gap:0}.nav.is-open{display:flex}.nav a{padding:13px 0;border-bottom:1px solid var(--line)}.header-actions{gap:7px}.header-actions>.button{display:none}.menu-toggle{display:block}.hero{display:flex;flex-direction:column;align-items:stretch;padding:46px 0 48px}.hero h1{font-size:51px}.hero-copy>p{font-size:13px}.hero-note{margin-top:20px}.hero-art{height:290px}.hero-art:before{inset:25px 4px}.orbit{width:220px;height:220px;box-shadow:0 0 0 21px color-mix(in srgb,var(--panel) 70%,transparent)}.core{width:125px;height:125px;font-size:49px}.core small{font-size:11px}.float-card{font-size:10px;padding:10px 11px}.one{top:30px}.two{bottom:30px}.section{padding:59px 0}.section-heading{display:block}.section-heading h2,.values h2{font-size:29px}.section-heading>p{font-size:12px}.service-grid{grid-template-columns:1fr;gap:10px}.service-card{min-height:0;padding:18px}.service-card p{min-height:0}.about,.values{grid-template-columns:1fr;gap:24px}.about-art{height:240px;grid-row:2}.about h2,.contact h2{font-size:31px}.about p{font-size:12px}.contact-inner{grid-template-columns:1fr;gap:12px;padding:43px 0}.contact-details{margin-top:8px}.footer{padding:19px 0;display:flex;flex-wrap:wrap;gap:12px}.footer>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Give the narrow layout a little more breathing room and keep the menu's
   final row visually clean. */
@media(max-width:600px){
  body{text-align:center}
  .topbar{padding-inline:6.5%}
  .hero,.section,.contact-inner,.footer{margin-left:6.5%;margin-right:6.5%}
  .nav{position:fixed;top:68px;left:0;right:0;z-index:6;max-height:calc(100dvh - 68px);overflow-y:auto;overscroll-behavior:contain;padding-inline:6.5%;box-shadow:var(--shadow);text-align:center}
  .nav a{width:100%;text-align:center}
  .nav a:last-child{border-bottom:0}
  .hero-copy,.hero-note,.hero-actions,.eyebrow,.section-heading,.service-card,
  .about-copy,.values-head,.value-list article,.contact-inner,.contact-details,
  .contact-details>div,.footer{text-align:center}
  .about>div:last-child,.values>div:first-child{text-align:center}
  .hero-copy .eyebrow,.section-heading .eyebrow,.about-copy .eyebrow,
  .values-head .eyebrow,.contact-inner .eyebrow{justify-content:center}
  .hero-actions{justify-content:center;flex-wrap:wrap}
  .hero-note{justify-content:center}
  .section-heading>p,.hero-copy>p,.about-copy p{margin-left:auto;margin-right:auto}
  .about>div:last-child>p,.values>div:first-child>h2{margin-left:auto;margin-right:auto}
  .service-card .number{float:none;position:absolute;top:31px;left:22px}
  .contact-details .socials{justify-content:center;flex-wrap:wrap}
  .value-list article{justify-content:center;gap:12px}
  .footer{justify-content:center}
}

/* Keep the contact copy readable against both contact panel backgrounds. */
.contact{--contact-copy:#f4f1e9;--contact-secondary:#c7d1cb;color:var(--contact-copy)}
.contact .eyebrow,.contact p,.contact-details>div>span,.contact-details small{color:var(--contact-secondary)}
:root[data-theme=dark] .contact{--contact-copy:#172321;--contact-secondary:#344431;color:var(--contact-copy)}

/* White and orange brand palette, retained across both display modes. */
:root{--bg:#fff;--paper:#fff;--panel:#fff5ef;--ink:#251c18;--muted:#71625a;--line:#eddfd6;--accent:#ed793d;--accent-ink:#4b210d;--deep:#d85c20;--header:#fffffff0;--shadow:0 24px 70px #5b2c1612}
:root[data-theme=dark]{--bg:#151210;--paper:#211a17;--panel:#2a211d;--ink:#fff5ee;--muted:#b9aaa0;--line:#42342d;--accent:#ff9862;--accent-ink:#35180c;--deep:#ff9862;--header:#151210ed;--shadow:0 24px 70px #0007}
.accent{color:#c65320}
:root[data-theme=dark] .accent{color:var(--accent)}
.contact{--contact-copy:#fff;--contact-secondary:#ffe6d7;color:var(--contact-copy)}
:root[data-theme=dark] .contact{--contact-copy:#35180c;--contact-secondary:#512a19;color:var(--contact-copy)}

.socials{align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap}
.social-platform{display:inline-flex;min-width:72px;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:9px 8px;border:1px solid color-mix(in srgb,var(--contact-secondary) 55%,transparent);border-radius:4px;color:var(--contact-copy);font-size:10px;transition:transform .2s,border-color .2s}
.social-platform:hover{transform:translateY(-3px);border-color:var(--contact-copy)}
.social-platform img{display:block;width:30px;height:30px;object-fit:contain;padding:2px;border-radius:6px;background:#fff}
.socials .social-platform span{border:0;padding:0}

@keyframes core-float{
  0%,100%{transform:translateY(0);box-shadow:0 18px 50px #1118}
  50%{transform:translateY(-9px);box-shadow:0 28px 58px #1115}
}
@keyframes orbit-spin{to{transform:rotate(338deg)}}
.core{animation:core-float 4.8s ease-in-out infinite}
.orbit{animation:orbit-spin 36s linear infinite}
.satellite{position:absolute;left:50%;top:50%;z-index:2;display:grid;place-items:center;width:25px;height:25px;margin:-12.5px 0 0 -12.5px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-size:13px;box-shadow:0 4px 16px #1112;will-change:transform}
.satellite-one{animation:satellite-orbit-one 17s linear infinite}
.satellite-two{width:18px;height:18px;background:var(--accent);color:var(--accent-ink);font-size:7px;animation:satellite-orbit-two 12s linear infinite}
.satellite-three{width:14px;height:14px;border:0;background:var(--deep);color:var(--bg);font-size:9px;animation:satellite-orbit-three 21s linear infinite}
@keyframes satellite-orbit-one{from{transform:rotate(0deg) translateX(151px) rotate(0deg)}to{transform:rotate(360deg) translateX(151px) rotate(-360deg)}}
@keyframes satellite-orbit-two{from{transform:rotate(0deg) translateX(112px) rotate(0deg)}to{transform:rotate(-360deg) translateX(112px) rotate(360deg)}}
@keyframes satellite-orbit-three{from{transform:rotate(0deg) translateX(178px) rotate(0deg)}to{transform:rotate(360deg) translateX(178px) rotate(-360deg)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important}}
