.elementor-widget-container .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-container .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-608 .elementor-element.elementor-element-8057fd8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-html .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-html .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}@media(max-width:1024px){.elementor-widget-container .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-container .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-html .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-html .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}}@media(max-width:767px){.elementor-widget-container .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-container .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-html .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-html .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}}/* Start custom CSS for html, class: .elementor-element-298ab1b *//* ============================================================================
   ORBIT3D  •  3D PRINTING FOR ARCHITECTURE IN UAE
   Section stylesheet  —  monochrome (black & white) "drafting sheet" theme
   ----------------------------------------------------------------------------
   • Every rule is scoped under .o3d-arch and every class is prefixed o3d-
     so this file CANNOT clash with your main Elementor / theme CSS.
   • Paste this whole file into:  Elementor → Site Settings → Custom CSS
     (or Appearance → Customize → Additional CSS).
   • The matching markup lives in orbit3d-architecture-sections.html.
   • Fonts load via @import below (Space Grotesk / Inter / Space Mono).
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');

/* ----------------------------------------------------------------- TOKENS - */
.o3d-arch{
  --o3d-ink:#0a0a0a;          /* near-black text + dark sections   */
  --o3d-black:#000;           /* pure black                        */
  --o3d-paper:#ffffff;        /* paper white                       */
  --o3d-paper-2:#f6f6f4;      /* warm off-white alt background     */
  --o3d-paper-3:#efefec;      /* soft grey panel                   */
  --o3d-line:#e3e3e0;         /* hairline rules                    */
  --o3d-line-2:#c9c9c5;       /* stronger rules                    */
  --o3d-grey:#5f5f5c;         /* muted body text                   */
  --o3d-grey-2:#8c8c88;       /* captions / annotations            */

  --o3d-display:'Space Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --o3d-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --o3d-mono:'Space Mono','SFMono-Regular',Menlo,Consolas,monospace;

  --o3d-maxw:1200px;
  --o3d-gut:clamp(20px,5vw,64px);
  --o3d-radius:0px;           /* drafting sheets have square corners */

  color:var(--o3d-ink);
  background:var(--o3d-paper);
  font-family:var(--o3d-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* universal reset *inside the scope only* ---------------------------------- */
.o3d-arch *,
.o3d-arch *::before,
.o3d-arch *::after{box-sizing:border-box;}

.o3d-arch p{margin:0 0 1.1em;}
.o3d-arch p:last-child{margin-bottom:0;}
.o3d-arch ul{margin:0;padding:0;list-style:none;}
.o3d-arch img{max-width:100%;display:block;}

.o3d-arch a{color:inherit;text-decoration:none;}
.o3d-arch :focus-visible{outline:2px solid var(--o3d-ink);outline-offset:3px;}

/* in-copy contextual links — underlined, on-brand ------------------------- */
.o3d-arch .o3d-link{
  color:var(--o3d-ink);
  font-weight:600;
  text-decoration:none;
  box-shadow:inset 0 -1px 0 0 var(--o3d-ink);
  transition:box-shadow .18s ease,opacity .18s ease;
}
.o3d-arch .o3d-link:hover{box-shadow:inset 0 -3px 0 0 var(--o3d-ink);}
.o3d-arch--dark .o3d-link{color:#fff;box-shadow:inset 0 -1px 0 0 #fff;}
.o3d-arch--dark .o3d-link:hover{box-shadow:inset 0 -3px 0 0 #fff;}

/* --------------------------------------------------------------- LAYOUT --- */
.o3d-arch .o3d-section{
  position:relative;
  padding:clamp(56px,8vw,108px) var(--o3d-gut);
}
.o3d-arch .o3d-inner{max-width:var(--o3d-maxw);margin:0 auto;}

.o3d-arch .o3d-alt{background:var(--o3d-paper-2);}
.o3d-arch--dark{background:var(--o3d-ink);color:#fff;}
.o3d-arch .o3d-dark{background:var(--o3d-ink);color:#fff;}

/* faint blueprint grid — the signature backdrop ---------------------------- */
.o3d-arch .o3d-grid-bg::before{
  content:"";
  position:absolute;inset:0;
  background-image:
    linear-gradient(to right,rgba(10,10,10,.045) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(10,10,10,.045) 1px,transparent 1px);
  background-size:46px 46px;
  pointer-events:none;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 55%,transparent 100%);
          mask-image:radial-gradient(120% 90% at 50% 0%,#000 55%,transparent 100%);
}
.o3d-arch .o3d-dark.o3d-grid-bg::before,
.o3d-arch--dark.o3d-grid-bg::before{
  background-image:
    linear-gradient(to right,rgba(255,255,255,.06) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.06) 1px,transparent 1px);
}

/* ------------------------------------------------------- SECTION HEADERS -- */
.o3d-arch .o3d-eyebrow{
  font-family:var(--o3d-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--o3d-grey);
  display:inline-flex;align-items:center;gap:.6em;
  margin:0 0 18px;
}
.o3d-arch .o3d-eyebrow::before{
  content:"";width:26px;height:1px;background:currentColor;display:inline-block;
}
.o3d-arch--dark .o3d-eyebrow,
.o3d-arch .o3d-dark .o3d-eyebrow{color:#bdbdbd;}

.o3d-arch .o3d-h2{
  font-family:var(--o3d-display);
  font-weight:600;
  font-size:clamp(28px,4.4vw,46px);
  line-height:1.08;
  letter-spacing:-.015em;
  margin:0 0 18px;
}
.o3d-arch .o3d-h3{
  font-family:var(--o3d-display);
  font-weight:600;
  font-size:clamp(19px,2.2vw,22px);
  line-height:1.2;
  letter-spacing:-.01em;
  margin:0 0 10px;
}
.o3d-arch .o3d-lead{
  font-size:clamp(16px,1.7vw,18.5px);
  color:var(--o3d-grey);
  max-width:60ch;
}
.o3d-arch--dark .o3d-lead,
.o3d-arch .o3d-dark .o3d-lead{color:#b9b9b9;}

.o3d-arch .o3d-head{max-width:760px;margin-bottom:clamp(34px,5vw,56px);}

/* ----------------------------------------------------------- BREADCRUMB --- */
.o3d-arch .o3d-crumbs{
  max-width:var(--o3d-maxw);margin:0 auto;
  padding:18px var(--o3d-gut) 0;
  font-family:var(--o3d-mono);font-size:12px;letter-spacing:.04em;
  color:var(--o3d-grey-2);
  display:flex;flex-wrap:wrap;gap:.5em;align-items:center;
}
.o3d-arch .o3d-crumbs a{color:var(--o3d-grey);}
.o3d-arch .o3d-crumbs a:hover{color:var(--o3d-ink);text-decoration:underline;}
.o3d-arch .o3d-crumbs i{font-size:9px;opacity:.6;}
.o3d-arch .o3d-crumbs [aria-current]{color:var(--o3d-ink);}

/* ----------------------------------------------------------------- HERO --- */
.o3d-arch .o3d-hero{
  position:relative;
  background:var(--o3d-ink);
  color:#fff;
  padding:clamp(64px,11vw,140px) var(--o3d-gut) clamp(0px,0vw,0px);
  overflow:hidden;
}
.o3d-arch .o3d-hero__bg{
  position:absolute;inset:0;
  /* SWAP: replace the url() below with your own architecture photo if desired */
  background:url('https://orbit3d.ae/wp-content/uploads/2026/04/Architecture-3D-Printing-in-Dubai-UAE-scaled.webp') center/cover no-repeat;
  filter:grayscale(1) contrast(1.05) brightness(.42);
  opacity:.55;
}
.o3d-arch .o3d-hero__bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,10,10,.35) 0%,rgba(10,10,10,.78) 70%,var(--o3d-ink) 100%);
}
.o3d-arch .o3d-hero__grid{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:54px 54px;
}
.o3d-arch .o3d-hero__inner{position:relative;max-width:var(--o3d-maxw);margin:0 auto;}
.o3d-arch .o3d-hero__eyebrow{
  font-family:var(--o3d-mono);font-size:12px;font-weight:700;letter-spacing:.24em;
  text-transform:uppercase;color:#cfcfcf;margin:0 0 22px;
  display:inline-flex;align-items:center;gap:.7em;
}
.o3d-arch .o3d-hero__eyebrow i{font-size:13px;}
.o3d-arch .o3d-hero h1{
  font-family:var(--o3d-display);font-weight:600;
  font-size:clamp(34px,6.4vw,72px);line-height:1.02;letter-spacing:-.025em;
  margin:0 0 22px;max-width:16ch;
}
.o3d-arch .o3d-hero h1 em{font-style:normal;position:relative;white-space:nowrap;}
.o3d-arch .o3d-hero h1 em::after{
  content:"";position:absolute;left:0;right:0;bottom:.06em;height:3px;background:#fff;
}
.o3d-arch .o3d-hero__sub{
  font-size:clamp(16px,1.9vw,19px);color:#c9c9c9;max-width:56ch;margin:0 0 34px;
}
.o3d-arch .o3d-hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:clamp(44px,6vw,72px);}

/* hero stat strip ---------------------------------------------------------- */
.o3d-arch .o3d-stats{
  position:relative;
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.16);
}
.o3d-arch .o3d-stat{
  padding:26px 24px 4px 0;
  border-right:1px solid rgba(255,255,255,.12);
}
.o3d-arch .o3d-stat:last-child{border-right:0;}
.o3d-arch .o3d-stat b{
  display:block;font-family:var(--o3d-display);font-weight:600;
  font-size:clamp(26px,3.4vw,38px);line-height:1;letter-spacing:-.02em;margin-bottom:8px;
}
.o3d-arch .o3d-stat span{
  font-family:var(--o3d-mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:#9a9a9a;
}

/* ---------------------------------------------------------- BUTTONS ------- */
.o3d-arch .o3d-btn{
  --bg:var(--o3d-ink);--fg:#fff;--bd:var(--o3d-ink);
  display:inline-flex;align-items:center;gap:.65em;
  font-family:var(--o3d-mono);font-size:13px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;
  padding:15px 24px;border:1.5px solid var(--bd);background:var(--bg);color:var(--fg);
  cursor:pointer;transition:transform .15s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}
.o3d-arch .o3d-btn i{font-size:14px;}
.o3d-arch .o3d-btn:hover{transform:translateY(-2px);box-shadow:6px 6px 0 0 rgba(0,0,0,.18);}
.o3d-arch .o3d-btn--solid{--bg:#fff;--fg:#0a0a0a;--bd:#fff;}
.o3d-arch .o3d-btn--solid:hover{--bg:#0a0a0a;--fg:#fff;}
.o3d-arch .o3d-btn--ghost{--bg:transparent;--fg:#fff;--bd:rgba(255,255,255,.5);}
.o3d-arch .o3d-btn--ghost:hover{--bg:#fff;--fg:#0a0a0a;--bd:#fff;}
.o3d-arch .o3d-btn--ink{--bg:var(--o3d-ink);--fg:#fff;--bd:var(--o3d-ink);}
.o3d-arch .o3d-btn--ink:hover{--bg:#fff;--fg:#0a0a0a;}
.o3d-arch .o3d-btn--line{--bg:transparent;--fg:#0a0a0a;--bd:var(--o3d-ink);}
.o3d-arch .o3d-btn--line:hover{--bg:#0a0a0a;--fg:#fff;}

/* --------------------------------------------------------- INTRO / SPLIT -- */
.o3d-arch .o3d-split{
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:start;
}
.o3d-arch .o3d-split__aside{
  border-left:1px solid var(--o3d-line-2);padding-left:clamp(20px,3vw,32px);
}
.o3d-arch .o3d-factline{
  display:flex;gap:14px;padding:16px 0;border-bottom:1px dashed var(--o3d-line-2);
}
.o3d-arch .o3d-factline:first-child{padding-top:0;}
.o3d-arch .o3d-factline:last-child{border-bottom:0;}
.o3d-arch .o3d-factline i{
  font-size:15px;margin-top:3px;width:20px;text-align:center;flex:none;
}
.o3d-arch .o3d-factline b{font-family:var(--o3d-display);font-weight:600;display:block;font-size:15px;}
.o3d-arch .o3d-factline span{font-size:14px;color:var(--o3d-grey);}

/* ----------------------------------------------------------- CARD GRID ---- */
.o3d-arch .o3d-cards{
  display:grid;gap:1px;background:var(--o3d-line);
  border:1px solid var(--o3d-line);
}
.o3d-arch .o3d-cards--3{grid-template-columns:repeat(3,1fr);}
.o3d-arch .o3d-cards--4{grid-template-columns:repeat(4,1fr);}
.o3d-arch .o3d-cards--2{grid-template-columns:repeat(2,1fr);}

.o3d-arch .o3d-card{
  position:relative;background:var(--o3d-paper);
  padding:30px 26px;transition:background .2s ease,transform .2s ease;
}
.o3d-arch .o3d-alt .o3d-card{background:var(--o3d-paper-2);}
.o3d-arch .o3d-card:hover{background:var(--o3d-ink);}
.o3d-arch .o3d-card:hover .o3d-h3,
.o3d-arch .o3d-card:hover p,
.o3d-arch .o3d-card:hover .o3d-card__ico i,
.o3d-arch .o3d-card:hover .o3d-card__no{color:#fff;}
.o3d-arch .o3d-card:hover .o3d-card__ico{border-color:rgba(255,255,255,.4);}
.o3d-arch .o3d-card p{font-size:14.5px;color:var(--o3d-grey);margin:0;}
.o3d-arch .o3d-card__ico{
  width:46px;height:46px;border:1.5px solid var(--o3d-line-2);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
  transition:border-color .2s ease;
}
.o3d-arch .o3d-card__ico i{font-size:19px;transition:color .2s ease;}
.o3d-arch .o3d-card__no{
  position:absolute;top:18px;right:20px;font-family:var(--o3d-mono);
  font-size:11px;color:var(--o3d-grey-2);letter-spacing:.08em;transition:color .2s ease;
}

/* corner-tick detail on tech cards ---------------------------------------- */
.o3d-arch .o3d-card--tick::before,
.o3d-arch .o3d-card--tick::after{
  content:"";position:absolute;width:9px;height:9px;border:1.5px solid var(--o3d-line-2);
  transition:border-color .2s ease;
}
.o3d-arch .o3d-card--tick::before{top:14px;left:14px;border-right:0;border-bottom:0;}
.o3d-arch .o3d-card--tick::after{bottom:14px;right:14px;border-left:0;border-top:0;}
.o3d-arch .o3d-card--tick:hover::before,
.o3d-arch .o3d-card--tick:hover::after{border-color:rgba(255,255,255,.5);}
.o3d-arch .o3d-card__tag{
  display:inline-block;margin-top:16px;font-family:var(--o3d-mono);font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--o3d-grey);
  border-top:1px solid var(--o3d-line);padding-top:12px;width:100%;
}
.o3d-arch .o3d-card:hover .o3d-card__tag{color:#bdbdbd;border-color:rgba(255,255,255,.2);}

/* -------------------------------------------------------------- PROCESS --- */
.o3d-arch .o3d-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);}
.o3d-arch .o3d-step{background:var(--o3d-ink);padding:30px 26px 34px;position:relative;}
.o3d-arch .o3d-step__no{
  font-family:var(--o3d-mono);font-size:12px;font-weight:700;letter-spacing:.1em;
  color:#fff;border:1px solid rgba(255,255,255,.3);display:inline-block;
  padding:3px 9px;margin-bottom:18px;
}
.o3d-arch .o3d-step h3{color:#fff;font-family:var(--o3d-display);font-weight:600;font-size:18px;margin:0 0 8px;}
.o3d-arch .o3d-step p{color:#b4b4b4;font-size:14px;margin:0;}
.o3d-arch .o3d-step i{position:absolute;top:30px;right:26px;font-size:16px;color:#6a6a6a;}

/* ------------------------------------------------------ MATERIALS / TAGS -- */
.o3d-arch .o3d-tagrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.o3d-arch .o3d-tag{
  font-family:var(--o3d-mono);font-size:12px;letter-spacing:.04em;
  border:1px solid var(--o3d-line-2);padding:8px 14px;color:var(--o3d-ink);
  background:var(--o3d-paper);
}
.o3d-arch .o3d-alt .o3d-tag{background:#fff;}

.o3d-arch .o3d-finish{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--o3d-line);
  border:1px solid var(--o3d-line);margin-top:34px;
}
.o3d-arch .o3d-finish > div{background:var(--o3d-paper);padding:24px 22px;}
.o3d-arch .o3d-alt .o3d-finish > div{background:var(--o3d-paper-2);}
.o3d-arch .o3d-finish i{font-size:18px;margin-bottom:12px;display:block;}
.o3d-arch .o3d-finish b{font-family:var(--o3d-display);font-weight:600;display:block;margin-bottom:4px;font-size:15.5px;}
.o3d-arch .o3d-finish span{font-size:13.5px;color:var(--o3d-grey);}

/* ----------------------------------------------------------- SPEC TABLE --- */
.o3d-arch .o3d-specwrap{border:1px solid var(--o3d-line-2);overflow-x:auto;}
.o3d-arch table.o3d-spec{width:100%;border-collapse:collapse;min-width:520px;font-size:14.5px;}
.o3d-arch table.o3d-spec th,
.o3d-arch table.o3d-spec td{
  text-align:left;padding:15px 20px;border-bottom:1px solid var(--o3d-line);
  vertical-align:top;
}
.o3d-arch table.o3d-spec thead th{
  font-family:var(--o3d-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  background:var(--o3d-ink);color:#fff;border-bottom:0;
}
.o3d-arch table.o3d-spec tbody tr:last-child td{border-bottom:0;}
.o3d-arch table.o3d-spec td:first-child{font-family:var(--o3d-display);font-weight:600;}
.o3d-arch table.o3d-spec tbody tr:nth-child(even){background:var(--o3d-paper-2);}
.o3d-arch .o3d-alt table.o3d-spec tbody tr:nth-child(even){background:#fff;}
.o3d-arch .o3d-mono-cell{font-family:var(--o3d-mono);font-size:13px;}

/* --------------------------------------------------------- WHO WE SERVE --- */
.o3d-arch .o3d-serve{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--o3d-line);border:1px solid var(--o3d-line);}
.o3d-arch .o3d-serve a{
  background:var(--o3d-paper);padding:26px 24px;display:flex;gap:16px;align-items:flex-start;
  transition:background .2s ease;
}
.o3d-arch .o3d-alt .o3d-serve a{background:var(--o3d-paper-2);}
.o3d-arch .o3d-serve a:hover{background:var(--o3d-ink);}
.o3d-arch .o3d-serve a:hover b,
.o3d-arch .o3d-serve a:hover span,
.o3d-arch .o3d-serve a:hover i,
.o3d-arch .o3d-serve a:hover .o3d-serve__go{color:#fff;}
.o3d-arch .o3d-serve i{font-size:20px;flex:none;margin-top:2px;transition:color .2s ease;}
.o3d-arch .o3d-serve b{font-family:var(--o3d-display);font-weight:600;display:block;font-size:16px;margin-bottom:4px;transition:color .2s ease;}
.o3d-arch .o3d-serve span{font-size:13.5px;color:var(--o3d-grey);transition:color .2s ease;}
.o3d-arch .o3d-serve__go{display:block;margin-top:10px;font-family:var(--o3d-mono);font-size:11px;letter-spacing:.08em;color:var(--o3d-grey-2);transition:color .2s ease;}

/* ------------------------------------------------------------- GALLERY ---- */
.o3d-arch .o3d-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.o3d-arch .o3d-shot{
  position:relative;aspect-ratio:4/3;background:var(--o3d-paper-3);
  border:1px solid var(--o3d-line-2);overflow:hidden;
}
/* real project images — greyscale by default (B&W theme), colour on hover -- */
.o3d-arch .o3d-shot img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(1) contrast(1.02);
  transition:filter .4s ease,transform .5s ease;
}
.o3d-arch .o3d-shot:hover img{filter:grayscale(0) contrast(1);transform:scale(1.05);}
.o3d-arch .o3d-shot__ph{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:12px;text-align:center;padding:20px;
  background-image:
    linear-gradient(to right,rgba(10,10,10,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(10,10,10,.05) 1px,transparent 1px);
  background-size:22px 22px;
}
.o3d-arch .o3d-shot__ph i{font-size:26px;color:var(--o3d-grey-2);}
.o3d-arch .o3d-shot__ph b{font-family:var(--o3d-display);font-weight:600;font-size:15px;color:var(--o3d-ink);}
.o3d-arch .o3d-shot__ph span{font-family:var(--o3d-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--o3d-grey-2);}
.o3d-arch .o3d-shot__cap{
  position:absolute;left:0;bottom:0;right:0;z-index:2;
  font-family:var(--o3d-mono);font-size:11px;letter-spacing:.06em;
  background:var(--o3d-ink);color:#fff;padding:9px 14px;
  display:flex;justify-content:space-between;gap:10px;
}
.o3d-arch .o3d-shot__cap span:last-child{color:#9a9a9a;}

/* --------------------------------------------------------------- WHY ------ */
.o3d-arch .o3d-why{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);}
.o3d-arch .o3d-why > div{background:var(--o3d-ink);padding:30px 28px;display:flex;gap:18px;align-items:flex-start;}
.o3d-arch .o3d-why i{font-size:22px;color:#fff;flex:none;margin-top:2px;}
.o3d-arch .o3d-why b{font-family:var(--o3d-display);font-weight:600;color:#fff;display:block;font-size:17px;margin-bottom:6px;}
.o3d-arch .o3d-why p{color:#b4b4b4;font-size:14px;margin:0;}

/* ------------------------------------------------------- RELATED LINKS ---- */
.o3d-arch .o3d-related{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--o3d-line);border:1px solid var(--o3d-line);}
.o3d-arch .o3d-related a{
  background:var(--o3d-paper);padding:22px 20px;display:flex;flex-direction:column;gap:10px;
  min-height:128px;transition:background .2s ease;
}
.o3d-arch .o3d-alt .o3d-related a{background:var(--o3d-paper-2);}
.o3d-arch .o3d-related a:hover{background:var(--o3d-ink);}
.o3d-arch .o3d-related a:hover b,
.o3d-arch .o3d-related a:hover i,
.o3d-arch .o3d-related a:hover .o3d-related__go{color:#fff;}
.o3d-arch .o3d-related i{font-size:18px;transition:color .2s ease;}
.o3d-arch .o3d-related b{font-family:var(--o3d-display);font-weight:600;font-size:15px;line-height:1.25;transition:color .2s ease;margin-top:auto;}
.o3d-arch .o3d-related__go{font-family:var(--o3d-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--o3d-grey-2);transition:color .2s ease;}

/* --------------------------------------------------------------- FAQ ------ */
.o3d-arch .o3d-faq{border-top:1px solid var(--o3d-line-2);}
.o3d-arch .o3d-faq details{border-bottom:1px solid var(--o3d-line-2);}
.o3d-arch .o3d-faq summary{
  list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;
  font-family:var(--o3d-display);font-weight:600;font-size:clamp(16px,2vw,19px);
  display:block;transition:color .15s ease;
}
.o3d-arch .o3d-faq summary::-webkit-details-marker{display:none;}
.o3d-arch .o3d-faq summary::after{
  content:"\002B";position:absolute;right:6px;top:50%;transform:translateY(-50%);
  font-family:var(--o3d-mono);font-size:22px;font-weight:400;color:var(--o3d-ink);
  transition:transform .2s ease;
}
.o3d-arch .o3d-faq details[open] summary::after{content:"\2212";}
.o3d-arch .o3d-faq summary:hover{color:#000;}
.o3d-arch .o3d-faq__a{padding:0 44px 24px 0;color:var(--o3d-grey);font-size:15.5px;max-width:80ch;}

/* --------------------------------------------------------------- CTA ------ */
.o3d-arch .o3d-cta{position:relative;background:var(--o3d-ink);color:#fff;text-align:center;overflow:hidden;}
.o3d-arch .o3d-cta__inner{position:relative;max-width:860px;margin:0 auto;}
.o3d-arch .o3d-cta h2{font-family:var(--o3d-display);font-weight:600;font-size:clamp(28px,4.6vw,48px);line-height:1.06;letter-spacing:-.02em;margin:0 0 18px;}
.o3d-arch .o3d-cta p{color:#bcbcbc;font-size:clamp(16px,1.8vw,18px);max-width:54ch;margin:0 auto 32px;}
.o3d-arch .o3d-cta__btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-bottom:34px;}
.o3d-arch .o3d-cta__row{
  display:flex;flex-wrap:wrap;gap:10px 30px;justify-content:center;
  border-top:1px solid rgba(255,255,255,.16);padding-top:26px;
  font-family:var(--o3d-mono);font-size:13px;letter-spacing:.03em;
}
.o3d-arch .o3d-cta__row a{display:inline-flex;align-items:center;gap:.6em;color:#dcdcdc;}
.o3d-arch .o3d-cta__row a:hover{color:#fff;text-decoration:underline;}
.o3d-arch .o3d-cta__row i{font-size:13px;}

/* ----------------------------------------------------- REVEAL ANIMATION --- */
/* Page works fully without JS; these only enhance if the optional script runs */
.o3d-arch [data-o3d-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.o3d-arch [data-o3d-reveal].o3d-in{opacity:1;transform:none;}

/* ------------------------------------------------------------ RESPONSIVE -- */
@media (max-width:980px){
  .o3d-arch .o3d-cards--4,
  .o3d-arch .o3d-related{grid-template-columns:repeat(2,1fr);}
  .o3d-arch .o3d-cards--3,
  .o3d-arch .o3d-steps,
  .o3d-arch .o3d-serve,
  .o3d-arch .o3d-finish,
  .o3d-arch .o3d-gallery{grid-template-columns:repeat(2,1fr);}
  .o3d-arch .o3d-split{grid-template-columns:1fr;gap:36px;}
  .o3d-arch .o3d-split__aside{border-left:0;border-top:1px solid var(--o3d-line-2);padding-left:0;padding-top:26px;}
  .o3d-arch .o3d-why{grid-template-columns:1fr;}
  .o3d-arch .o3d-stats{grid-template-columns:repeat(2,1fr);}
  .o3d-arch .o3d-stat:nth-child(2){border-right:0;}
  .o3d-arch .o3d-stat{border-bottom:1px solid rgba(255,255,255,.12);}
  .o3d-arch .o3d-stat:nth-child(3),
  .o3d-arch .o3d-stat:nth-child(4){border-bottom:0;}
}
@media (max-width:600px){
  .o3d-arch .o3d-cards--2,
  .o3d-arch .o3d-cards--3,
  .o3d-arch .o3d-cards--4,
  .o3d-arch .o3d-steps,
  .o3d-arch .o3d-serve,
  .o3d-arch .o3d-finish,
  .o3d-arch .o3d-gallery,
  .o3d-arch .o3d-related{grid-template-columns:1fr;}
  .o3d-arch .o3d-stats{grid-template-columns:1fr;}
  .o3d-arch .o3d-stat{border-right:0;}
  .o3d-arch .o3d-stat:nth-child(3){border-bottom:1px solid rgba(255,255,255,.12);}
  .o3d-arch .o3d-hero__cta .o3d-btn,
  .o3d-arch .o3d-cta__btns .o3d-btn{width:100%;justify-content:center;}
}

/* --------------------------------------------------- REDUCED MOTION ------- */
@media (prefers-reduced-motion:reduce){
  .o3d-arch *{animation:none!important;transition:none!important;}
  .o3d-arch [data-o3d-reveal]{opacity:1;transform:none;}
}/* End custom CSS */