/*
 * ADD eSIM / Premium Edition 2.0
 * A visual refinement of the original working WordPress theme.
 * Preserves sections, wording, form handling, Customizer options and content structure.
 * 90% architectural neutrals, 10% signature orange.
 */
:root {
  --ink: #0c0c0e;
  --ink2: #151518;
  --paper: #f0f0ee;
  --white: #f9f9f7;
  --mute: #87878d;
  --steel: #c4c4c7;
  --line: #d9d9d8;
  --accent-dark: #bb500b;
  --type-display: 'Inter Display', 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --type-body: 'Inter', 'Helvetica Neue', Arial, sans-serif;
}
html { scroll-padding-top: 90px; }
body { font-family:var(--type-body); font-feature-settings:'ss01' on,'cv11' on; }
a, button, input, select, textarea { -webkit-tap-highlight-color:transparent; }
.wrap { width:min(100% - 112px, 1480px); }
.mono { font-size:10px; letter-spacing:.17em; font-weight:650; }

/* Header: precise, anchored, minimal. */
.header {
  height:84px;
  position:sticky;
  top:0;
  z-index:90;
  background:#0c0c0e;
  border-bottom:1px solid #28282c;
  box-shadow:0 12px 30px rgba(0,0,0,.09);
}
body.admin-bar .header { top:32px; }
.nav { gap:40px; }
.logo { gap:8px; letter-spacing:-.085em; align-items:baseline; }
.logo strong { font-family:var(--type-display); font-size:36px; font-weight:840; }
.logo span { font-size:23px; font-weight:310; }
.logo i { width:5px; height:5px; border-radius:0; transform:rotate(45deg); margin-left:4px; }
.nav-links .menu-items { gap:clamp(19px,2.35vw,38px); }
.nav-links a { font-size:12px; color:#bdbdc3; letter-spacing:.01em; }
.nav-links a:hover,.nav-links .current-menu-item>a { color:#fff; }
.top-cta {
  min-width:194px;
  min-height:46px;
  padding:11px 16px 11px 19px;
  background:var(--accent);
  color:#111;
  font-size:11px;
  letter-spacing:.005em;
  font-weight:750;
  position:relative;
  box-shadow:none;
}
.top-cta:before { content:""; position:absolute; inset:4px; border:1px solid rgba(0,0,0,.12); pointer-events:none; }
.top-cta:hover,.button-accent:hover { background:var(--accent); filter:brightness(1.08); transform:translateY(-2px); }
.top-cta b { font-size:18px; }

/* Hero: bold editorial statement + architectural signal schematic. */
.hero { min-height:0; background:#0b0b0d; isolation:isolate; }
.hero:before {
  inset:0;
  opacity:1;
  background:
    linear-gradient(90deg,transparent 0%,transparent 49.97%,rgba(255,255,255,.02) 50%,transparent 50.03%),
    radial-gradient(ellipse at 81% 42%,rgba(210,210,218,.075),transparent 39%),
    linear-gradient(90deg,transparent 0%,transparent 85%,rgba(255,255,255,.017) 100%);
  background-size:100% 100%;
}
.hero-top { padding:25px 0 23px; border-color:#303034; color:#99999e; }
.hero-top .id { gap:13px; }
.signal { width:6px; height:6px; border-radius:0; transform:rotate(45deg); box-shadow:0 0 0 4px rgba(251,108,4,.08); flex:none; }
.hero-grid {
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:clamp(38px,4.8vw,85px);
  padding:clamp(76px,7.5vw,128px) 0 clamp(75px,7.5vw,119px);
  align-items:center;
}
.hero h1 {
  font-family:var(--type-display);
  font-size:clamp(58px,5.72vw,101px);
  font-weight:790;
  letter-spacing:-.068em;
  word-spacing:.13em;
  line-height:.98;
  max-width:900px;
  text-wrap:balance;
}
.hero h1 .dot { color:#6e6e73; }
.hero h1 .last {
  color:#e5e5e6;
  white-space:nowrap;
  position:relative;
  letter-spacing:-.075em;
  font-weight:740;
}
.hero h1 .last:after {
  content:""; position:absolute;
  left:0; bottom:-11px; width:clamp(48px,6.3vw,98px); height:4px;
  background:var(--accent);
}
.hero-description {
  max-width:490px;
  margin:44px 0 33px;
  color:#c2c2c6;
  font-size:clamp(16px,1.3vw,19px);
  line-height:1.72;
  font-weight:390;
  letter-spacing:-.018em;
}
.hero-actions { gap:12px; }
.button-accent,.button-outline {
  min-height:54px; padding:15px 19px;
  font-size:12px; font-weight:720;
  gap:35px;
  letter-spacing:.005em;
  border-radius:0;
  transition:transform .22s ease, background .22s ease, border-color .22s ease, filter .22s ease;
}
.button-accent { color:#101012; }
.button-outline { border-color:#5b5b61; color:#ededf0; }
.button-outline:hover { border-color:#f4f4f6; background:rgba(255,255,255,.055); }
.button-accent .arrow,.button-outline .arrow { font-size:19px; }
.hero-side { max-width:none; min-width:0; }
.system-label { padding:0 0 18px; color:#a2a2a7; border-color:#39393e; }
.system-board {
  padding:24px 6px 12px;
  background:linear-gradient(180deg,rgba(255,255,255,.019),transparent 56%);
  border-left:1px solid rgba(255,255,255,.04);
  border-right:1px solid rgba(255,255,255,.04);
}
.system-board svg { max-height:515px; }
.system-bottom { padding-top:20px; border-color:#3b3b40; line-height:1.74; color:#b7b7bc; }
.system-bottom strong { color:var(--accent); }
.hero-bottom { padding:21px 0 23px; border-color:#36363a; }
.hero-bottom .mono { color:#949499; }
.hero-bottom strong { color:#ebebed; font-size:13px; letter-spacing:.02em; }
.scroll-mark { font-size:19px; }

/* Editorial manifesto: calm white space, a strong typographic event. */
.statement { padding:clamp(105px,10.7vw,170px) 0 clamp(106px,10.7vw,164px); background:#eeeeed; border-bottom:1px solid #dededd; }
.section-meta { margin-bottom:clamp(50px,5vw,83px); font-size:10px; letter-spacing:.17em; color:#68686e; }
.section-meta .num { color:var(--accent-dark); }
.statement h2 {
  font-family:var(--type-display);
  font-size:clamp(57px,7.25vw,124px);
  line-height:1.015;
  font-weight:760;
  letter-spacing:-.067em;
  word-spacing:.035em;
  max-width:1400px;
}
.statement h2 span { color:#9b9ba0; }
.statement-foot { margin-top:70px; align-items:center; gap:10%; }
.statement-foot .rule { width:36%; height:1px; background:#9e9ea2; position:relative; }
.statement-foot .rule:before { content:""; position:absolute; left:0; top:-1px; width:45px; height:3px; background:var(--accent); }
.statement-foot p { width:54%; max-width:600px; font-size:clamp(18px,1.6vw,23px); line-height:1.65; color:#3c3c40; font-weight:410; }

/* Three commercial routes: large, elegant editorial rows, not cards. */
.models { padding:clamp(110px,10.5vw,164px) 0 clamp(120px,11vw,175px); background:#fcfcfb; }
.sec-head { margin-bottom:clamp(50px,5vw,75px); gap:65px; }
.sec-head h2 { font-family:var(--type-display); font-size:clamp(57px,6.4vw,103px); letter-spacing:-.065em; line-height:.99; font-weight:760; }
.sec-head p { max-width:390px; color:#58585e; font-size:16px; line-height:1.75; }
.model-rows { border-top:1px solid #a9a9ac; }
.model-row {
  grid-template-columns:66px minmax(190px,.84fr) minmax(250px,1fr) 44px;
  gap:clamp(16px,3.3vw,54px); padding:clamp(32px,3.4vw,51px) 6px;
  border-color:#d0d0d1;
  position:relative;
  transition:padding .3s ease, background .3s ease;
}
.model-row:before { content:""; position:absolute; height:0; width:3px; top:0; left:0; background:var(--accent); transition:height .25s ease; }
.model-row:hover { background:#f5f5f3; padding-left:19px; }
.model-row:hover:before { height:100%; }
.model-name { font-family:var(--type-display); font-size:clamp(54px,5.6vw,88px); font-weight:725; letter-spacing:-.065em; }
.model-name span { color:#a6a6ab; }
.model-index { font-size:11px; color:#828288; padding-top:12px; }
.model-description { font-size:clamp(17px,1.48vw,20px); line-height:1.58; max-width:455px; color:#313136; }
.model-example { margin-top:17px; color:#87878c; font-size:10px; letter-spacing:.14em; }
.model-arrow { font-size:29px; color:#88888e; transition:transform .25s ease, color .25s ease; }
.model-row:hover .model-arrow { color:var(--accent-dark); transform:translate(3px,-3px); }

/* Industry picker: refined data-led, interactive, high contrast. */
.industries { background:#101013; padding:clamp(105px,10.2vw,164px) 0; }
.industries-grid { gap:clamp(50px,8vw,142px); margin-top:clamp(58px,6.2vw,97px); grid-template-columns:.94fr 1.06fr; }
.industries h2 { font-family:var(--type-display); font-size:clamp(70px,7.5vw,124px); letter-spacing:-.067em;
  word-spacing:.035em; line-height:.99; font-weight:760; }
.industries h2 span { color:#919198; }
.industries-intro { margin-top:39px; max-width:430px; line-height:1.72; font-size:17px; color:#bcbcc1; }
.industry-list { border-color:#48484e; }
.industry-item {
  padding:14px 16px 14px 2px;
  grid-template-columns:48px 1fr 28px;
  gap:16px;
  border-color:#3c3c41;
  position:relative;
  min-height:58px;
  transition:background .2s ease,padding .2s ease,color .2s ease;
}
.industry-item:before { content:""; position:absolute; height:0; width:3px; left:0; top:0; background:var(--accent); transition:height .2s ease; }
.industry-item:hover,.industry-item.active { color:#f6f6f7; padding-left:18px; background:#19191d; }
.industry-item:hover:before,.industry-item.active:before { height:100%; }
.industry-item .mono { color:#85858d; font-size:10px; }
.industry-item .industry-name { font-size:clamp(17px,1.45vw,20px); letter-spacing:-.035em; font-weight:480; }
.industry-item .arr { color:#838389; font-size:20px; }
.industry-item.active .arr { color:var(--accent); }
.usecase { background:#1b1b1f; border:1px solid #34343a; padding:18px 20px; margin-top:20px; gap:18px; }
.usecase .mono { color:var(--accent); flex:0 0 105px; font-size:10px; padding-top:3px; }
.usecase p { font-size:14px; line-height:1.75; color:#d3d3d7; }

/* Full-width editorial interlude, still restrained. */
.banner { background:#222226; border-left:0; border-top:1px solid #3e3e42; border-bottom:1px solid #3e3e42; padding:33px 0; }
.banner .wrap { position:relative; }
.banner .wrap:before { content:""; width:5px; height:100%; position:absolute; left:-27px; top:0; background:var(--accent); }
.banner p { font-size:clamp(20px,2.05vw,32px); line-height:1.23; font-weight:660; letter-spacing:-.052em; }
.banner .mono { color:#b8b8bf; font-size:10px; }

/* How it works: typographic, almost architectural indexing. */
.how { padding:clamp(120px,11.2vw,178px) 0 clamp(125px,11vw,175px); background:#eeeeed; }
.how .steps { margin-top:74px; border-top:1px solid #9f9fa3; }
.step { padding:35px 43px 23px 0; min-height:405px; border-color:#cdcdcd; position:relative; }
.step:not(:first-child) { padding-left:40px; }
.step-number { font-size:10px; letter-spacing:.16em; font-weight:650; color:#6c6c73; }
.step-visual { color:#c0c0c2; font-family:var(--type-display); font-size:82px; font-weight:220; padding-bottom:32px; }
.step:nth-child(2) .step-visual { color:#ababaf; }
.step h3 { max-width:270px; font-size:clamp(26px,2.4vw,34px); line-height:1.18; font-weight:640; letter-spacing:-.052em; margin-bottom:18px; }
.step p { font-size:15px; line-height:1.7; color:#66666c; max-width:325px; }
.how-note { margin-top:38px; color:#77777e; max-width:850px; line-height:1.7; }

/* Provider promise: tactile grey, wide rather than boxed. */
.provider { background:#dededb; padding:clamp(110px,10.4vw,168px) 0 clamp(120px,10.8vw,176px); }
.provider-grid { grid-template-columns:1.08fr .92fr; gap:8%; align-items:end; }
.provider h2 { font-family:var(--type-display); font-size:clamp(63px,6.9vw,112px); line-height:.99; letter-spacing:-.068em; font-weight:755; }
.provider h2 .muted { color:#85858b; }
.provider-copy { padding-bottom:8px; }
.provider-copy p { font-size:clamp(18px,1.6vw,23px); max-width:525px; color:#3b3b41; line-height:1.67; }
.provider .button-outline { border-color:#77777c; color:#141417; }
.provider .button-outline:hover { background:rgba(0,0,0,.055); border-color:#151518; }

/* Conversion section: editorial left column, polished unboxed form. */
.contact { background:#0d0d10; padding:clamp(105px,11vw,176px) 0 clamp(114px,11vw,177px); }
.contact-grid { grid-template-columns:.87fr 1.13fr; gap:clamp(62px,9vw,145px); }
.contact h2 { font-family:var(--type-display); font-size:clamp(76px,8.2vw,135px); letter-spacing:-.075em; line-height:.94; font-weight:760; margin:26px 0 36px; }
.contact h2 span { color:#ededed; }
.contact h2 span:after { content:""; display:inline-block; height:.11em; width:.39em; margin:0 0 .035em .06em; background:var(--accent); }
.contact-lede { color:#c3c3c8; font-size:clamp(17px,1.4vw,20px); line-height:1.72; max-width:450px; }
.contact-mini { margin-top:110px; border-color:#444449; }
.contact-form { border-top:1px solid #67676e; padding-top:43px; }
.form-grid { gap:23px; }
.field { gap:11px; margin-bottom:28px; }
.field label { color:#a7a7ad; letter-spacing:.15em; font-size:10px; }
.field input,.field select,.field textarea {
  min-height:53px;
  padding:15px 1px 13px;
  background:transparent;
  border:0;
  border-bottom:1px solid #5e5e64;
  color:#f5f5f6;
  border-radius:0;
  font-size:15px;
  transition:border-color .18s ease,background .18s ease;
}
.field input::placeholder,.field textarea::placeholder { color:#74747c; opacity:1; }
.field input:hover,.field select:hover,.field textarea:hover { border-bottom-color:#aaaab0; }
.field input:focus,.field select:focus,.field textarea:focus { border-bottom-color:var(--accent); box-shadow:0 2px 0 -1px var(--accent); }
.field select { padding-right:27px; background-position:right 2px center; }
.field select option { color:#19191c; background:#f6f6f6; }
.field textarea { min-height:110px; }
.contact-form .consent { margin-top:9px; line-height:1.65; color:#c0c0c6; }
.contact-form .consent input { accent-color:var(--accent); }
.form-action { gap:24px; align-items:center; }
.form-action button { min-height:56px; }
.form-action small { max-width:230px; color:#89898e; }

/* Finish: dark, understated, deliberate navigation hierarchy. */
.footer { background:#09090b; padding:75px 0 30px; border-color:#313136; }
.footer-grid { padding-bottom:110px; }
.footer .logo strong { font-size:33px; }
.footer .logo span { font-size:21px; }
.footer p { margin-top:23px; max-width:280px; color:#a4a4aa; font-size:14px; line-height:1.8; }
.footer-links { gap:clamp(55px,6vw,105px); }
.footer-links h4 { margin-bottom:25px; font-size:10px; letter-spacing:.16em; }
.footer-links a { color:#d1d1d6; padding-bottom:16px; font-size:13px; }
.footer-bottom { border-color:#29292f; padding-top:25px; }
.footer-bottom .mono { font-size:10px; }

/* Standard WP pages maintain the same brand grammar. */
.wp-page { background:#f2f2f0; }
.wp-page h1,.wp-page h2,.wp-page h3 { font-family:var(--type-display); }
.wp-page h1 { letter-spacing:-.065em; }
.post-card { border-color:#d6d6d7; }

/* Small editorial motion only where it helps; reduced motion is respected. */
@media (min-width:781px) {
  .hero-side { animation:addesim-reveal .8s ease-out both; }
  .hero-grid > div:first-child { animation:addesim-reveal .7s ease-out both; }
  @keyframes addesim-reveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
}
@media (prefers-reduced-motion:reduce) { .hero-side,.hero-grid>div:first-child { animation:none!important; } }

/* Tablet and mobile: intentional hierarchy, not a shrunk desktop. */
@media (max-width:1250px) {
  .wrap { width:calc(100% - 78px); }
  .hero-grid { gap:4%; }
  .hero h1 { font-size:clamp(56px,6vw,84px); }
  .model-row { gap:25px; grid-template-columns:42px minmax(180px,.74fr) 1fr 30px; }
}
@media (max-width:1020px) {
  .hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,.92fr); }
  .hero h1 { font-size:clamp(52px,6.2vw,70px); }
  .statement h2 { font-size:clamp(53px,7.1vw,81px); }
  .industries-grid { gap:48px; }
  .industries h2 { font-size:clamp(64px,7vw,92px); }
}
@media (max-width:780px) {
  html { scroll-padding-top:73px; }
  body.admin-bar .header { top:46px; }
  .wrap { width:calc(100% - 44px); }
  .header { height:73px; }
  .nav { gap:17px; }
  .logo strong { font-size:31px; }
  .logo span { font-size:20px; }
  .nav-links { top:73px; padding:28px 22px 34px; background:#111114; box-shadow:0 24px 30px #0006; }
  .nav-links .menu-items { gap:26px; }
  .nav-links a { font-size:16px; }
  .top-cta { min-width:auto; min-height:42px; padding:11px 13px; font-size:11px; }
  .top-cta:before { inset:3px; }
  .hero-grid { grid-template-columns:1fr; gap:75px; padding:82px 0 78px; }
  .hero h1 { font-size:clamp(58px,10.7vw,96px); max-width:none; }
  .hero h1 .last { white-space:normal; }
  .hero-description { max-width:585px; margin-top:42px; }
  .hero-side { max-width:620px; }
  .system-board { padding:22px 0; }
  .hero-bottom { gap:18px; }
  .statement,.models,.industries,.how,.provider,.contact { padding-top:104px; padding-bottom:108px; }
  .statement h2 { font-size:clamp(55px,9.1vw,87px); }
  .statement-foot { gap:35px; }
  .statement-foot p { width:70%; font-size:18px; }
  .sec-head h2 { font-size:clamp(59px,9.1vw,89px); }
  .sec-head p { margin-top:27px; max-width:530px; }
  .model-row { grid-template-columns:42px minmax(0,1fr) 30px; gap:13px; padding:30px 0; }
  .model-row:hover { padding-left:14px; }
  .model-name { font-size:clamp(56px,8vw,76px); }
  .model-description,.model-example { grid-column:2; }
  .model-description { font-size:18px; }
  .model-index { grid-row:1; }
  .model-arrow { grid-column:3; grid-row:1; }
  .industries-grid { grid-template-columns:1fr; gap:55px; margin-top:57px; }
  .industries h2 { font-size:clamp(72px,11vw,109px); }
  .industry-item { min-height:64px; }
  .usecase { padding:24px; }
  .banner .wrap:before { left:-19px; }
  .steps { margin-top:57px; grid-template-columns:1fr; }
  .step,.step:not(:first-child) { padding:34px 0; min-height:0; border-right:0; border-bottom:1px solid #d0d0d2; }
  .step-visual { margin:30px 0 5px; font-size:57px; }
  .step h3 { max-width:none; }
  .provider-grid { grid-template-columns:1fr; gap:38px; }
  .provider h2 { font-size:clamp(67px,10vw,100px); }
  .contact-grid { grid-template-columns:1fr; gap:62px; }
  .contact h2 { font-size:clamp(76px,11vw,116px); }
  .contact-mini { margin-top:40px; }
  .footer { padding-top:65px; }
  .footer-grid { padding-bottom:54px; }
  .footer-links { margin-top:55px; }
}
@media (max-width:480px) {
  .wrap { width:calc(100% - 36px); }
  .hero-top { padding:23px 0; }
  .hero-grid { padding:70px 0 73px; gap:62px; }
  .hero h1 { font-size:clamp(49px,10.2vw,69px); line-height:.98; letter-spacing:-.07em; }
  .hero h1 .last:after { height:3px; bottom:-8px; }
  .hero-description { font-size:17px; margin:39px 0 28px; }
  .hero-actions { gap:9px; }
  .hero-actions a { flex:1 1 0; min-width:0; padding:13px 12px; gap:9px; font-size:11px; }
  .system-label { font-size:9px; }
  .system-bottom { font-size:9px; }
  .hero-bottom { align-items:center; }
  .hero-bottom>.mono { max-width:125px; line-height:1.55; }
  .hero-bottom strong { font-size:12px; text-align:right; }
  .scroll-mark { display:none; }
  .section-meta { margin-bottom:48px; align-items:flex-start; }
  .section-meta>span:last-child { max-width:148px; text-align:right; font-size:9px; line-height:1.6; }
  .statement,.models,.industries,.how,.provider,.contact { padding-top:92px; padding-bottom:95px; }
  .statement h2 { font-size:clamp(39px,9.6vw,59px); letter-spacing:-.076em; }
  .statement-foot { margin-top:50px; display:block; }
  .statement-foot .rule { width:44%; margin-bottom:33px; }
  .statement-foot p { width:100%; font-size:17px; }
  .sec-head h2 { font-size:clamp(52px,10.3vw,75px); }
  .model-row { grid-template-columns:29px minmax(0,1fr) 23px; gap:8px; padding:28px 0; }
  .model-name { font-size:clamp(48px,10vw,68px); }
  .model-description { font-size:16px; }
  .model-example { font-size:9px; }
  .industries h2 { font-size:clamp(61px,11.6vw,84px); }
  .industries-intro { font-size:16px; }
  .industry-item { grid-template-columns:31px 1fr 21px; gap:9px; padding-right:5px; }
  .industry-item:hover,.industry-item.active { padding-left:9px; }
  .industry-item .industry-name { font-size:18px; }
  .usecase { display:block; padding:19px 18px; }
  .usecase p { margin-top:11px; font-size:14px; }
  .banner { padding:27px 0; }
  .banner .wrap:before { left:-13px; width:3px; }
  .banner p { font-size:21px; }
  .step h3 { font-size:27px; }
  .provider h2 { font-size:clamp(49px,10.5vw,73px); }
  .provider-copy p { font-size:18px; }
  .contact h2 { font-size:clamp(69px,14vw,96px); }
  .form-grid { grid-template-columns:1fr; gap:0; }
  .field { margin-bottom:25px; }
  .form-action { display:block; }
  .form-action button { width:100%; justify-content:space-between; }
  .form-action small { display:block; max-width:none; margin-top:17px; }
  .footer-links { gap:40px 25px; }
  .footer-bottom { gap:20px; }
  .top-cta .txt { max-width:74px; line-height:1.16; }
}
@media (max-width:365px) {
  .hero h1 { font-size:47px; }
  .top-cta { padding:8px 10px; }
  .menu-toggle { width:35px; }
}
