/*
Theme Name: ADD eSIM — Distribution Network
Theme URI: https://addes.im/
Author: ADD eSIM
Description: A premium black, white, architectural grey and restrained orange cinematic eSIM WordPress theme for the ADD eSIM embedded-connectivity B2B distribution network. Includes eight dedicated editable industry landing pages, an industry hub, partner enquiry form, homepage copy, blog and responsive layouts. Version 2.4 rebuilds the industry pages with image-led premium layouts, smaller cards and reduced padding.
Version: 2.5.0
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: addesim
Tags: custom-logo, custom-menu, featured-images, blog, one-column, two-columns, accessibility-ready, custom-colors
*/
:root {
      --ink: #0b0b0d;
      --ink2: #18181a;
      --paper: #f1f0ee;
      --white: #fafaf9;
      --mute: #8e8e92;
      --steel: #c6c6c9;
      --line: #d4d4d5;
      --accent: #FB6C04;
      --accent-dark: #BB500B;
      --font: 'Inter Display', 'Inter', 'Helvetica Neue', Arial, sans-serif;
    }
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font); -webkit-font-smoothing: antialiased; }
    a { color: inherit; text-decoration: none; }
    button, input, select, textarea { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    ::selection { background: var(--accent); color: var(--ink); }
    :focus-visible { outline: 2px solid var(--accent-dark); outline-offset: 4px; }
    .wrap { width: min(100% - 112px, 1520px); margin-inline: auto; }
    .mono { font-size: 11px; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; }
    .thin-line { height: 1px; background: currentColor; opacity: .18; }
    .header { height: 86px; position: relative; z-index: 10; background: var(--ink); color: var(--white); border-bottom: 1px solid #323236; }
    .nav { height: 100%; display:flex; align-items:center; justify-content: space-between; gap: 42px; }
    .logo { display: flex; align-items: baseline; gap: 8px; white-space: nowrap; letter-spacing: -.095em; line-height: .9; }
    .logo strong { font-size: 37px; font-weight: 850; }
    .logo span { font-size: 25px; font-weight: 350; letter-spacing: -.08em; }
    .logo i { display: inline-block; height: 6px; width: 6px; align-self:center; border-radius: 100%; background: var(--accent); margin: 0 0 0 3px; }
    .nav-links { display: flex; align-items: center; gap: clamp(22px, 2.8vw, 48px); margin-left:auto; }
    .nav-links a { color: #c9c9ce; font-size: 13px; font-weight: 500; transition: color .2s; }
    .nav-links a:hover { color: #fff; }
    .top-cta { display: flex; align-items:center; justify-content: space-between; min-width: 184px; padding: 13px 17px; background:var(--accent); color:var(--ink); font-size: 12px; font-weight: 740; transition: background .2s, transform .2s; }
    .top-cta:hover, .button-accent:hover { background: #DC5522; transform: translateY(-2px); }
    .top-cta b { font-size: 20px; font-weight: 400; }
    .menu-toggle { display:none; color:white; background:none; border:1px solid #45454b; height:40px; width:40px; cursor:pointer; }
    /* HERO */
    .hero { background: var(--ink); color: var(--white); min-height: 770px; overflow:hidden; position:relative; }
    .hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent 49.94%,#fff1 50%,transparent 50.06%),linear-gradient(0deg,transparent 49.94%,#fff1 50%,transparent 50.06%); background-size: 134px 134px; opacity:.14; pointer-events:none; }
    .hero .wrap { position:relative; z-index:1; }
    .hero-top { display:flex; align-items:center; justify-content:space-between; padding: 33px 0 28px; border-bottom:1px solid #353539; color:#a9a9ad; }
    .hero-top .id { display:flex; gap: 16px; align-items:center; }
    .signal { width: 8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px rgba(241,107,50,.14); }
    .hero-grid { display:grid; grid-template-columns: 1.06fr .94fr; gap: 8%; padding: 90px 0 83px; align-items: center; }
    .hero h1 { margin:0; font-size: clamp(65px, 6.25vw, 112px); font-weight: 750; letter-spacing: -.085em; line-height: .97; max-width:900px; }
    .hero h1 .last { color:var(--accent); white-space:nowrap; }
    .hero h1 .dot { font-weight: 700; color:#76767b; }
    .hero-description { max-width:475px; margin:38px 0 30px; color:#b6b6ba; font-size: clamp(17px, 1.35vw, 20px); line-height:1.65; letter-spacing:-.018em; }
    .hero-actions { display:flex; align-items:center; gap:17px; flex-wrap:wrap; }
    .button-accent, .button-outline { display:inline-flex; align-items:center; justify-content:space-between; gap: 35px; min-height:52px; padding:14px 19px; font-weight:740; font-size:13px; transition: background .2s, transform .2s, border-color .2s; }
    .button-accent { background:var(--accent); color: var(--ink); }
    .button-outline { color:var(--white); border:1px solid #65656a; }
    .button-outline:hover { border-color:var(--white); transform:translateY(-2px); }
    .button-accent .arrow, .button-outline .arrow { font-size:21px; font-weight:400; line-height:1; }
    .hero-side { align-self:stretch; display:flex; flex-direction:column; justify-content:center; max-width:610px; }
    .system-label { display:flex; justify-content:space-between; color:#8c8c90; border-bottom:1px solid #39393d; padding:0 0 16px; }
    .system-board { padding:32px 2px 6px; position:relative; }
    .system-board svg { width:100%; display:block; overflow:visible; }
    .svg-label { font-family:var(--font); letter-spacing:.02em; }
    .system-bottom { padding:21px 0 0; border-top:1px solid #39393d; display:flex; justify-content:space-between; color:#afb0b3; gap:20px; line-height:1.65; }
    .system-bottom strong { color:#FF995E; font-weight:600; }
    .hero-bottom { border-top:1px solid #353539; padding: 22px 0; display:flex; justify-content:space-between; align-items:center; color:#a0a0a5; gap:20px; }
    .hero-bottom .mono { color:#85858a; }
    .hero-bottom strong { font-size:14px; color:#e6e6e7; font-weight:500; }
    .scroll-mark { font-size:23px; color:var(--accent); }
    /* DECLARATION */
    .statement { padding: 130px 0 135px; border-bottom:1px solid var(--line); }
    .section-meta { display:flex; align-items:center; justify-content:space-between; color:#69696e; margin-bottom:58px; gap:20px; }
    .section-meta .num { color:var(--accent-dark); }
    .statement h2 { font-size:clamp(45px, 6.4vw, 105px); line-height:1.03; letter-spacing:-.076em; margin:0; font-weight:750; }
    .statement h2 span { color:#9b9b9f; }
    .statement-foot { display:flex; align-items:start; justify-content:space-between; gap:50px; margin-top:50px; }
    .statement-foot .rule { height:2px; background:var(--ink); width: 32%; margin-top:13px; }
    .statement-foot p { margin:0; width:56%; max-width:600px; font-size:20px; line-height:1.6; letter-spacing:-.02em; }
    /* MODEL */
    .models { padding:112px 0 138px; background:var(--white); }
    .sec-head { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:54px; }
    .sec-head h2 { font-size:clamp(49px, 6vw, 91px); line-height:1; letter-spacing:-.075em; margin:0; font-weight:740; }
    .sec-head p { max-width:320px; font-size:15px; line-height:1.65; color:#606064; margin:0; }
    .model-rows { border-top:1px solid #b3b3b6; }
    .model-row { display:grid; grid-template-columns: 80px minmax(220px,.82fr) 1fr 55px; align-items:center; gap:40px; padding:36px 0; border-bottom:1px solid #c2c2c5; transition: background .25s; }
    .model-row:hover { background:#f0efed; }
    .model-index { font-size:12px; align-self:start; padding-top:11px; color:#727278; }
    .model-name { font-size:clamp(46px, 5.2vw, 75px); letter-spacing:-.07em; line-height:1; font-weight:700; }
    .model-name em { font-style:normal; color:#96969a; }
    .model-description { font-size:19px; max-width:520px; line-height:1.52; letter-spacing:-.025em; }
    .model-example { font-size:12px; line-height:1.6; color:#78787d; margin-top:13px; max-width:520px; }
    .model-arrow { font-size:36px; font-weight:300; color:#616166; text-align:right; }
    /* INDUSTRIES */
    .industries { background:var(--ink); color:var(--white); padding:125px 0; overflow:hidden; }
    .industries .section-meta { color:#9a9aa0; }
    .industries-grid { display:grid; grid-template-columns: 1fr 1fr; gap:80px; margin-top:80px; }
    .industries h2 { margin:0; font-weight:720; letter-spacing:-.075em; font-size:clamp(60px, 7vw, 111px); line-height:.98; }
    .industries h2 span { color:var(--accent); }
    .industries-intro { margin:35px 0 0; color:#b4b4b8; max-width:390px; font-size:18px; line-height:1.55; }
    .industry-list { border-top:1px solid #46464b; }
    .industry-item { display:grid; grid-template-columns:34px 1fr 20px; gap:14px; padding:12px 0; border-bottom:1px solid #46464b; align-items:center; cursor:pointer; color:#dedee1; transition:padding .2s, color .2s; }
    .industry-item:hover, .industry-item.active { color:#FF995E; padding-left:12px; }
    .industry-item .mono { color:#85858b; }
    .industry-item .industry-name { font-size:18px; letter-spacing:-.03em; font-weight:500; }
    .industry-item .arr { font-size:21px; }
    .usecase { margin-top:27px; padding:19px 0 0; display:flex; align-items:start; gap:20px; justify-content:space-between; }
    .usecase .mono { color:#FF995E; flex:0 0 110px; }
    .usecase p { margin:0; font-size:15px; line-height:1.65; color:#c6c6c9; }
    /* STRIP */
    .banner { background:#222226; color:#f9f9fa; padding:25px 0; overflow:hidden; border-left: 5px solid var(--accent); }
    .banner .wrap { display:flex; align-items:center; justify-content:space-between; gap:25px; }
    .banner p { margin:0; font-size:clamp(18px,2.1vw,31px); font-weight:700; letter-spacing:-.055em; }
    .banner .mono { white-space:nowrap; color:#FFAB82; }
    /* HOW */
    .how { padding:140px 0 135px; background:var(--paper); }
    .steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); margin-top:65px; }
    .step { min-height:370px; padding:31px 44px 26px 0; border-right:1px solid #c9c9cc; display:flex; flex-direction:column; }
    .step:not(:first-child) { padding-left:35px; }
    .step:last-child { border:none; }
    .step-number { font-size:13px; font-family:ui-monospace,monospace; color:#74747a; }
    .step-visual { font-size:62px; font-weight:300; margin-top:auto; line-height:1; padding-bottom:25px; }
    .step h3 { font-size:28px; font-weight:670; margin:0 0 12px; letter-spacing:-.05em; }
    .step p { max-width:310px; font-size:15px; line-height:1.65; color:#626267; margin:0; }
    .how-note { margin-top:30px; color:#77777b; font-size:12px; line-height:1.5; }
    /* FOR PROVIDERS */
    .provider { background: #e1e0df; padding:110px 0 116px; }
    .provider-grid { display:grid; grid-template-columns:1.07fr .93fr; gap:9%; align-items:end; }
    .provider h2 { font-size:clamp(50px,6vw,96px); letter-spacing:-.075em; font-weight:730; line-height:1.01; margin:18px 0 0; }
    .provider h2 .muted { color:#858589; }
    .provider-copy p { font-size:19px; line-height:1.65; max-width:490px; margin:0 0 37px; }
    .provider .button-outline { color:var(--ink); border-color:#89898e; }
    .provider .button-outline:hover { border-color:var(--ink); }
    /* CONTACT */
    .contact { background:var(--ink); color:var(--white); padding:125px 0 140px; }
    .contact-grid { display:grid; grid-template-columns:.97fr 1.03fr; gap:10%; }
    .contact h2 { font-size:clamp(65px,7.2vw,118px); font-weight:720; letter-spacing:-.086em; line-height:.94; margin:16px 0 30px; }
    .contact h2 span { color:var(--accent); }
    .contact-lede { font-size:18px; line-height:1.65; color:#b4b4b8; max-width:410px; }
    .contact-mini { border-top:1px solid #414146; margin-top:100px; padding-top:24px; display:flex; gap:15px; align-items:center; color:#b4b4b9; }
    .contact-form { border-top:1px solid #53535a; padding-top:30px; }
    .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
    .field { display:flex; flex-direction:column; gap:11px; margin-bottom:23px; }
    .field label { font-size:10px; text-transform:uppercase; font-family:ui-monospace,monospace; letter-spacing:.13em; color:#b4b4b9; }
    .field input, .field select, .field textarea { border-radius:0; border:1px solid #414146; background:#18181b; color:#fff; outline:none; padding:15px 14px; width:100%; min-height:51px; font-size:14px; }
    .field textarea { resize:vertical; min-height:105px; }
    .field select { color:#e9e9eb; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c6cabe' stroke-width='1.8'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-position:right 12px center; background-repeat:no-repeat; }
    .field input:focus, .field select:focus, .field textarea:focus { border-color:var(--accent); }
    .form-action { display:flex; align-items:center; gap:23px; }
    .form-action button { border:0; cursor:pointer; min-width:200px; }
    .form-action small { color:#a1a1a7; font-size:12px; line-height:1.5; }
    .status { margin-top:18px; font-size:13px; color:var(--accent); line-height:1.5; min-height:23px; }
    /* FOOTER */
    .footer { background:#09090b; color:#d4d7d0; border-top:1px solid #35353a; padding:55px 0 27px; }
    .footer-grid { display:flex; justify-content:space-between; align-items:start; gap:60px; padding-bottom:85px; }
    .footer p { color:#96969b; max-width:260px; line-height:1.65; font-size:13px; margin:20px 0 0; }
    .footer-links { display:flex; gap:75px; }
    .footer-links h4 { text-transform:uppercase; font:600 10px ui-monospace,monospace; letter-spacing:.15em; color:#7d7d84; margin:0 0 22px; }
    .footer-links a { display:block; font-size:13px; color:#d7d7da; padding:0 0 14px; }
    .footer-links a:hover { color:var(--accent); }
    .footer-bottom { border-top:1px solid #343438; padding-top:25px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#808086; }
    .footer-bottom .mono { font-size:10px; }
    @media (max-width:1100px) {
      .wrap { width:min(100% - 70px, 1520px); }
      .hero-grid { grid-template-columns:1fr 1fr; gap:4%; }
      .hero h1 { font-size:clamp(58px,6.5vw,92px); }
      .nav-links { gap:18px; }
      .model-row { gap:20px; grid-template-columns:42px  .8fr 1fr 30px; }
    }
    @media (max-width:780px) {
      .wrap { width:calc(100% - 38px); }
      .header { height:73px; }
      .logo strong { font-size:31px; }.logo span { font-size:21px; }
      .nav { gap:15px; }
      .menu-toggle { display:grid; place-items:center; margin-left:auto; }
      .nav-links { display:none; position:absolute; top:73px; left:0; right:0; background:var(--ink); border-bottom:1px solid #39393d; padding:24px 19px; z-index:15; flex-direction:column; align-items:start; gap:20px; }
      .nav-links.open { display:flex; }
      .top-cta { min-width:auto; font-size:11px; padding:11px; }
      .top-cta b { margin-left:9px; }
      .hero { min-height:0; }
      .hero-top .right { display:none; }
      .hero-grid { grid-template-columns:1fr; gap:60px; padding:70px 0 55px; }
      .hero h1 { font-size:clamp(55px, 10vw, 95px); }
      .hero-side { max-width:620px; }
      .hero-description { margin:28px 0; }
      .hero-bottom .right { display:none; }
      .statement { padding:85px 0 95px; }
      .statement-foot p { width:75%; font-size:17px; }
      .models { padding:88px 0 100px; }
      .sec-head { display:block; }.sec-head p { margin-top:24px; }
      .model-row { grid-template-columns:36px 1fr 24px; gap:10px; padding:27px 0; }
      .model-name { font-size:clamp(43px,8vw,60px); }
      .model-description, .model-example { grid-column:2; font-size:17px; }
      .model-index { grid-row:1; }
      .model-arrow { grid-column:3; grid-row:1; }
      .industries { padding:90px 0; }
      .industries-grid { grid-template-columns:1fr; gap:55px; margin-top:46px; }
      .industries h2 { font-size:clamp(60px,11vw,105px); }
      .banner .mono { display:none; }
      .how { padding:90px 0; }
      .steps { grid-template-columns:1fr; }
      .step, .step:not(:first-child) { padding:28px 0; border-right:0; border-bottom:1px solid var(--line); min-height:0; }
      .step-visual { margin-top:30px; font-size:44px; }
      .provider { padding:90px 0; }
      .provider-grid { grid-template-columns:1fr; gap:45px; }
      .contact { padding:90px 0; }
      .contact-grid { grid-template-columns:1fr; gap:55px; }
      .contact-mini { margin-top:30px; }
      .footer-grid { display:block; padding-bottom:35px; }
      .footer-links { gap:45px; margin-top:65px; }
    }
    @media(max-width:480px) {
      .hero h1 { font-size:clamp(52px,11.15vw,74px); }
      .hero h1 .last { white-space:normal; }
      .hero-top { padding:25px 0; }
      .hero-grid { padding:60px 0 50px; }
      .hero-description { font-size:17px; }
      .hero-actions { align-items:stretch; }
      .hero-actions a { flex:1; justify-content:center; gap:12px; }
      .system-board { padding:20px 0; }
      .system-bottom { font-size:10px; }
      .statement h2 { font-size:clamp(46px,11vw,69px); }
      .statement-foot { display:block; }.statement-foot .rule { margin-bottom:25px; }.statement-foot p { width:100%; }
      .sec-head h2 { font-size:clamp(52px,11vw,74px); }
      .industry-item .industry-name { font-size:18px; }
      .industry-list { margin-top:0; }
      .usecase { display:block; }.usecase p { margin-top:12px; }
      .form-grid { grid-template-columns:1fr; gap:0; }
      .form-action { display:block; }.form-action small { display:block; margin-top:15px; }
      .footer-links { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
      .footer-bottom { align-items:start; flex-direction:column; }
      .top-cta { min-width:0; }.top-cta .txt { max-width:65px; line-height:1.1; }
    }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *:before, *:after { transition:none !important; animation:none !important; } }

/* WordPress system and content templates */
:root { --accent-light: #FFAF76; }
.nav-links .menu-items { display:flex; align-items:center; gap:clamp(22px,2.8vw,48px); padding:0; margin:0; list-style:none; }
.nav-links li { list-style:none; }
.nav-links .current-menu-item > a { color:#fff; }
.logo .custom-logo-link { display:block; }
.logo img.custom-logo { max-height:44px; width:auto; max-width:190px; object-fit:contain; }
.wp-page { background:var(--paper); min-height:65vh; padding:100px 0 120px; }
.wp-page.dark { background:var(--ink); color:var(--white); }
.wp-page .content-column { max-width:850px; }
.wp-page h1 { font-size:clamp(54px,7vw,104px); font-weight:740; letter-spacing:-.08em; line-height:1; margin:15px 0 45px; overflow-wrap:anywhere; }
.wp-page h2 { font-size:clamp(30px,3.6vw,52px); letter-spacing:-.06em; margin:48px 0 22px; line-height:1.12; }
.wp-page h3 { font-size:clamp(24px,2.8vw,34px); letter-spacing:-.045em; margin:32px 0 16px; }
.wp-page p, .wp-page li { font-size:18px; line-height:1.75; }
.wp-page a:not(.button-accent):not(.button-outline) { text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:3px; }
.wp-page img { max-width:100%; height:auto; }
.wp-page blockquote { border-left:4px solid var(--accent); margin:35px 0; padding:5px 20px; background:#e8e7e5; }
.wp-page .wp-block-image img { max-width:100%; height:auto; }
.archive-top { border-bottom:1px solid var(--line); padding-bottom:40px; margin-bottom:35px; }
.post-card { padding:30px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr auto; gap:25px; }
.post-card h2 { font-size:clamp(30px,3vw,46px); margin:8px 0 12px; }
.post-card .excerpt { max-width:780px; color:#5e5e63; }
.post-card .excerpt p { font-size:16px; line-height:1.65; }
.post-meta { color:#77777b; font-size:11px; font-family:ui-monospace,monospace; letter-spacing:.09em; text-transform:uppercase; }
.pagination { display:flex; gap:18px; align-items:center; margin-top:45px; }
.pagination a, .pagination .current { padding:10px 14px; border:1px solid var(--line); text-decoration:none!important; }
.pagination .current { background:var(--ink); color:white; }
.search-form { display:flex; max-width:520px; gap:8px; margin-top:25px; }
.search-form label { flex:1; }
.search-form input { border:1px solid var(--line); background:white; padding:14px; width:100%; }
.search-form button { border:0; padding:13px 18px; background:var(--accent); color:var(--ink); font-weight:700; cursor:pointer; }
.footer .menu-items { padding:0; margin:0; list-style:none; }
.footer .menu-items li { list-style:none; }
.footer .menu-items li a { display:block; font-size:13px; padding:0 0 14px; }
.footer-legal { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.footer-legal a { color:#b4b4b8; font-size:11px; }
.footer-legal a:hover { color:var(--accent-light); }
.contact-form .consent { display:flex; align-items:flex-start; gap:11px; color:#b4b4b9; line-height:1.55; font-size:13px; margin:5px 0 24px; }
.contact-form .consent input { width:16px; height:16px; margin:2px 0 0; accent-color:var(--accent); flex:0 0 auto; }
.contact-form .consent a { text-decoration:underline; }
.honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; opacity:0!important; left:-10000px!important; }
.contact-form .message { margin-top:20px; padding:14px 15px; font-size:14px; line-height:1.55; border:1px solid #626268; }
.contact-form .message.success { border-color:#65946e; color:#ddf4df; }
.contact-form .message.error { border-color:var(--accent); color:#ffbda0; }
.contact-form .field .required { color:#ffab82; }
.industry-item { text-align:left; border-left:0; border-right:0; border-top:0; background:transparent; width:100%; font:inherit; cursor:pointer; }
.industry-item:focus-visible { outline-offset:0; }
.industry-item .arr { text-align:right; }
@media (max-width:780px) {
  .nav-links .menu-items { flex-direction:column; align-items:flex-start; gap:20px; }
  .nav-links { margin-left:0; }
  .wp-page { padding:68px 0 85px; }
  .footer-legal { margin-top:12px; }
}
@media (max-width:480px) {
  .top-cta .txt { max-width:none; }
  .hero h1 { overflow-wrap:normal; }
  .contact-form .consent { font-size:12px; }
  .model-row { grid-template-columns:30px minmax(0,1fr) 24px; }
}

.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); position:absolute!important; height:1px; width:1px; overflow:hidden; white-space:nowrap; }
.screen-reader-text:focus { clip:auto; clip-path:none; height:auto; width:auto; top:10px; left:10px; z-index:10000; padding:10px; background:var(--white); color:var(--ink); }

@media(max-width:780px){.post-card{grid-template-columns:1fr;}.post-card img{max-width:100%;height:auto;}}
