/* Siteo service pages (/dental-website-design/, /logistics-website-design/). The homepage's design system
   (tokens, header, buttons, headings, steps, FAQ, contact, footer) copied from web/index.html, minus the 3D layer. */
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/home/fonts/instrument-serif.woff2) format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/home/fonts/instrument-serif-italic.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/home/fonts/inter-var.woff2) format("woff2")}
@font-face{font-family:"Serif Fallback";src:local("Times New Roman"),local("Liberation Serif"),local("Tinos"),local("serif");size-adjust:92%;ascent-override:96%}
@font-face{font-family:"Inter Fallback";src:local("Arial"),local("Liberation Sans"),local("Arimo");size-adjust:107%;ascent-override:90%}
:root{
  --bg:#07080d;--bg2:#0c0e16;--ink:#f2f3f7;--mut:#a3a9b7;--dim:#7d8394;--line:rgba(255,255,255,.1);--line2:rgba(255,255,255,.18);
  --a:#8b7bff;--b:#4fd1c5;--c:#ff8fb1;--grad:linear-gradient(100deg,#a99cff 0%,#8b7bff 30%,#4fd1c5 65%,#ff8fb1 100%);
  --serif:"Instrument Serif","Serif Fallback",Georgia,serif;--sans:Inter,"Inter Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:22px;--gut:clamp(16px,4vw,40px);--max:1240px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{font:400 17px/1.6 var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:clip;min-height:100vh}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--b);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}

/* ambient background (static: no 3D on these pages) */
.aurora{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.aurora::before{content:"";position:absolute;inset:-25%;background:radial-gradient(28% 30% at 22% 18%,rgba(139,123,255,.3),transparent 70%),radial-gradient(26% 28% at 82% 30%,rgba(79,209,197,.18),transparent 70%),radial-gradient(32% 32% at 60% 92%,rgba(255,143,177,.12),transparent 70%)}
.aurora::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(80% 60% at 50% 30%,#000,transparent);-webkit-mask-image:radial-gradient(80% 60% at 50% 30%,#000,transparent)}
.lg .aurora::before{background:radial-gradient(28% 30% at 22% 18%,rgba(139,123,255,.24),transparent 70%),radial-gradient(30% 30% at 84% 24%,rgba(255,122,89,.16),transparent 70%),radial-gradient(32% 32% at 60% 92%,rgba(79,209,197,.12),transparent 70%)}

/* header (same as the homepage) */
.top{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.top.scrolled{background:rgba(7,8,13,.82);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-color:var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;height:72px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:-.02em;text-decoration:none}
.brand img{width:34px;height:34px;filter:drop-shadow(0 0 14px rgba(139,123,255,.5))}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{font-size:14.5px;color:var(--mut);text-decoration:none;padding:8px 12px;border-radius:999px;transition:color .2s,background .2s}
.nav a:hover,.nav a[aria-current]{color:var(--ink);background:rgba(255,255,255,.06)}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:12px 22px;border-radius:999px;font-weight:600;font-size:15.5px;text-decoration:none;white-space:nowrap;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s}
.btn svg{width:16px;height:16px;flex:none;transition:transform .25s}
.btn:hover svg{transform:translate(2px,-2px)}
.btn-primary{position:relative;color:#0b0c12;background:var(--ink);isolation:isolate}
.btn-primary::before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:conic-gradient(from var(--ang,0deg),#8b7bff,#4fd1c5,#ff8fb1,#8b7bff);z-index:-1;filter:blur(10px);opacity:.75;animation:spin 6s linear infinite}
.btn-primary::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--ink);z-index:-1}
.btn-primary:hover{transform:translateY(-2px)}
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes spin{to{--ang:360deg}}
.btn-ghost{border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--ink)}
.btn-ghost:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
.top .btn{min-height:40px;padding:9px 18px;font-size:14.5px}

/* hero */
.hero{position:relative;padding:clamp(112px,14vw,150px) 0 clamp(56px,8vw,100px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,70px);align-items:center}
.crumbs{font-size:13.5px;color:var(--dim);margin-bottom:22px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--dim)}
.crumbs a{color:var(--mut);text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}
.kicker{display:block;font-family:var(--sans);font-size:clamp(12.5px,1.1vw,14px);font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.4;color:var(--b);margin-bottom:18px}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,6.2vw,88px);line-height:.98;letter-spacing:-.025em;max-width:14ch}
h1 em,h2 em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--mut);max-width:560px;margin-top:26px}
.lead strong{color:var(--ink);font-weight:600}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:36px;font-size:13.5px;color:var(--dim);letter-spacing:.02em;list-style:none}
.facts li{display:flex;align-items:center;gap:8px}
.facts li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--b);box-shadow:0 0 10px var(--b)}

/* device mock-ups (static screenshots) */
.devices{position:relative;padding-bottom:44px}
.shot{position:relative;display:block;text-decoration:none;color:inherit;border-radius:var(--r);overflow:hidden;background:#11131c;box-shadow:0 30px 60px -30px rgba(0,0,0,.8);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.shot:hover{box-shadow:0 40px 80px -30px rgba(139,123,255,.45);transform:translateY(-4px)}
.chrome{display:flex;align-items:center;gap:6px;height:34px;padding:0 14px;background:#151826;border-bottom:1px solid var(--line)}
.chrome i{width:9px;height:9px;border-radius:50%;background:#2b3043}
.chrome i:first-child{background:#ff6b6b99}.chrome i:nth-child(2){background:#ffd16699}.chrome i:nth-child(3){background:#4fd1c599}
.chrome .url{flex:1;margin-left:10px;max-width:360px;font-size:11.5px;color:var(--dim);background:#0d0f18;border-radius:7px;padding:3px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.frame{position:relative;display:block;aspect-ratio:16/10;overflow:hidden}
.frame img{width:100%;height:100%;object-fit:cover}
.frame.wide{aspect-ratio:16/9}
.phone{position:absolute;right:-10px;bottom:0;width:30%;min-width:110px;border-radius:24px;padding:6px;background:#0b0c12;border:1px solid var(--line2);box-shadow:0 30px 60px -20px rgba(0,0,0,.9);transform:rotate(4deg)}
.phone img{border-radius:18px;width:100%}
.devices figcaption{font-size:13px;color:var(--dim);margin-top:14px;max-width:min(52ch,64%)}

/* sections */
section.sec{position:relative;padding:clamp(64px,9vw,120px) 0}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--b)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(38px,5.2vw,72px);line-height:1;letter-spacing:-.02em;margin-top:18px;max-width:18ch}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,60px)}
.sec-head p{color:var(--mut);max-width:460px;font-size:17px}
.sec-head p a,.prose a{color:var(--ink)}
.js .reveal{opacity:0;transform:translateY(36px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.js .reveal.in{opacity:1;transform:none}

/* how it works (homepage steps, five of them) */
.steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.steps::before{content:"";position:absolute;left:0;right:0;top:34px;height:1px;background:var(--line)}
.steps::after{content:"";position:absolute;left:0;top:34px;height:1px;width:100%;background:var(--grad);transform-origin:left;transform:scaleX(var(--p,0));box-shadow:0 0 12px rgba(139,123,255,.8)}
.step{position:relative;padding-top:74px;list-style:none}
.step .n{position:absolute;top:12px;left:0;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--bg2);border:1px solid var(--line2);font-family:var(--serif);font-size:22px;font-style:italic;z-index:1;transition:background .4s,color .4s,box-shadow .4s}
.step.lit .n{background:var(--ink);color:var(--bg);box-shadow:0 0 30px rgba(139,123,255,.7)}
.step h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.05}
.step p{color:var(--mut);font-size:15.5px;margin-top:10px}

/* what's included */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none}
.card{position:relative;padding:26px;border-radius:var(--r);border:1px solid var(--line);background:rgba(14,16,25,.72)}
.card .ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--b)}
.card .ico svg{width:24px;height:24px}
.card h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.05;margin-top:22px}
.card p{color:var(--mut);font-size:15.5px;margin-top:10px}
.card.hl{background:linear-gradient(160deg,rgba(139,123,255,.16),rgba(14,16,25,.85) 55%);border-color:rgba(139,123,255,.35)}

/* design examples */
.examples{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px);list-style:none}
.tpl{position:relative;border-radius:calc(var(--r) + 6px);padding:10px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid var(--line)}
.tpl-body{padding:18px 12px 10px}
.tpl-title{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.tpl h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.8vw,38px);line-height:1}
.tpl .tag{margin-left:auto;font-size:12px;color:var(--mut);border:1px solid var(--line);padding:4px 10px;border-radius:999px;white-space:nowrap}
.tpl-desc{color:var(--mut);font-size:15px;margin-top:8px}
.tpl-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-weight:600;font-size:14.5px;text-decoration:none;color:var(--ink)}
.tpl-link svg{width:14px;height:14px}
.tpl-link:hover{text-decoration:underline}
.ex-note{color:var(--dim);font-size:14px;margin-top:26px;max-width:70ch}
.ex-note a{color:var(--ink)}
.feature{display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(30px,5vw,70px);align-items:center;padding:clamp(22px,4vw,48px);border-radius:32px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(237,3,44,.1),rgba(13,17,44,.75) 40%,rgba(14,16,25,.8));overflow:hidden}
.feature h3{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4.2vw,58px);line-height:1;letter-spacing:-.02em}
.feature h3 em{color:#ff7a59;font-style:italic}
.feature p{color:var(--mut);margin-top:16px;max-width:460px}
.feature ul{list-style:none;display:grid;gap:10px;margin:22px 0 8px}
.feature li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px}
.feature li::before{content:"";flex:none;width:8px;height:8px;margin-top:9px;border-radius:50%;background:#ff7a59;box-shadow:0 0 12px #ff7a59}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.duo img{border-radius:18px;border:1px solid var(--line2)}

/* faq (homepage style) */
.faq-list{max-width:900px;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}
.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-family:var(--serif);font-size:clamp(22px,2.4vw,28px);line-height:1.2}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font-family:var(--sans);font-size:22px;color:var(--dim);flex:none;transition:transform .25s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list summary h3{font:inherit}
.faq-list p{color:var(--mut);margin-top:12px;max-width:70ch;font-size:16.5px}
.faq-list a{color:var(--ink)}

/* further reading */
.reads{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none}
.read{display:flex;flex-direction:column;gap:10px;height:100%;text-decoration:none;padding:24px;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));transition:transform .25s,border-color .25s}
.read:hover{transform:translateY(-3px);border-color:rgba(139,123,255,.45)}
.read .tag{align-self:flex-start;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--b);border:1px solid rgba(79,209,197,.35);border-radius:999px;padding:3px 10px}
.read strong{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15}
.read span:last-child{color:var(--mut);font-size:15px}

/* contact (homepage style) */
.contact{text-align:center}
.contact h2{margin:18px auto 0;max-width:16ch}
.contact p{color:var(--mut);max-width:540px;margin:22px auto 0}
.founder{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 18px;max-width:640px;margin:44px auto 0;padding:18px 22px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.03);text-align:left}
.founder img{width:72px;height:72px;border-radius:50%;flex:none}
.founder p{flex:1 1 300px;margin:0;color:var(--mut);font-size:15px;line-height:1.55}
.founder p strong{color:var(--ink)}
.founder .f-links{display:flex;gap:14px;font-size:14px}.founder .f-links a{color:var(--ink)}
.mail{display:inline-block;margin-top:34px;font-family:var(--serif);font-size:clamp(28px,5.4vw,72px);line-height:1.1;text-decoration:none;background:var(--grad);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 8s linear infinite;word-break:break-word;padding:0 .1em}
.mail:hover{text-decoration:underline;text-decoration-color:var(--a);text-underline-offset:.12em;text-decoration-thickness:2px}
@keyframes sheen{to{background-position:-200% 0}}

/* footer (homepage + service links) */
footer{border-top:1px solid var(--line);padding:34px 0 40px;background:rgba(7,8,13,.7)}
footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;color:var(--mut);font-size:14.5px}
footer .brand{font-size:17px;color:var(--ink)}
footer .brand img{width:28px;height:28px}
.f-mid{display:flex;gap:10px 18px;flex-wrap:wrap;align-items:center}
.f-mid a{color:var(--ink);text-decoration:none}
.f-mid a:hover{text-decoration:underline}
.socials{display:flex;gap:10px}
.socials a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line2);color:var(--ink);transition:background .2s,transform .2s}
.socials a:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
.socials svg{width:18px;height:18px}

@media (max-width:1020px){
  .hero-grid{grid-template-columns:1fr}
  .devices{max-width:640px}
  .steps{grid-template-columns:1fr 1fr;row-gap:40px}
  .steps::before,.steps::after{display:none}
  .cards,.examples,.reads{grid-template-columns:1fr 1fr}
  .feature{grid-template-columns:1fr}
}
@media (max-width:860px){
  .nav{display:none}
  .top .btn{margin-left:auto}
}
@media (max-width:640px){
  body{font-size:16px}
  .steps,.cards,.examples,.reads{grid-template-columns:1fr}
  .phone{right:-4px;width:32%}
  .feature{border-radius:24px}
  .tpl .tag{display:none}
  footer .wrap{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
}
