/*
 * Inner-page layout only.
 * Navigation, buttons, tags, cards, accordion, footer, dock, type and motion
 * come directly from the homepage styles.css and script.js sources.
 */

orn-site-header,
orn-site-footer,
orn-contact-dock{display:contents}

.orn-skip-link{
  position:fixed;
  z-index:1000;
  left:20px;
  top:16px;
  padding:11px 16px;
  border-radius:999px;
  color:#fff;
  background:#050505;
  opacity:0;
  pointer-events:none;
  transform:translateY(-18px);
  transition:opacity .2s,transform .2s;
}
.orn-skip-link:focus{opacity:1;pointer-events:auto;transform:none}
.nav-links a[aria-current="page"]{opacity:.48}
@supports not selector(:focus-visible){
  body[data-page-key] :is(a,button,input,textarea,select):focus{
    outline:3px solid #3476ed;
    outline-offset:4px;
  }
}
body[data-page-key] :is(a,button,input,textarea,select):focus-visible{
  outline:3px solid #3476ed;
  outline-offset:4px;
}
body[data-page-key] button.button{border:0;cursor:pointer}
.orn-page-main{
  min-height:70vh;
  overflow:hidden;
  background:#fff;
}
.orn-page-main>.orn-section{margin-top:0!important}

/* Hero: the homepage hero component with page-specific media variants. */
.orn-page-hero{min-height:690px}
.orn-page-hero .orn-hero-grid{align-items:center;min-height:455px}
.orn-page-hero .hero-copy{padding-top:0}
.orn-page-hero .hero-copy>p{max-width:475px}
.orn-page-hero .orn-hero-actions{
  justify-content:flex-start;
  gap:16px;
  margin-top:30px;
}
.orn-page-hero .orn-hero-actions .button{flex:0 0 auto}
.orn-page-hero .neo-overview-primary,
.orn-form-submit .neo-overview-primary{
  width:max-content;
  min-width:233px;
}
.orn-page-hero .neo-overview-button-surface,
.orn-form-submit .neo-overview-button-surface{
  width:calc(100% - 12px);
  min-width:221px;
}
.orn-page-hero .neo-overview-button-label,
.orn-form-submit .neo-overview-button-label{
  left:38px;
  width:calc(100% - 76px);
  overflow:hidden;
  text-overflow:ellipsis;
}
.orn-page-hero .orn-hero-art{
  min-height:430px;
  overflow:hidden;
  border-radius:12px;
  background:#edf2f5;
}
.orn-hero-mark{
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  width:138px;
  height:138px;
  object-fit:contain;
  transform:translate(-50%,-50%);
  filter:drop-shadow(0 20px 26px rgba(28,45,58,.2));
}

.orn-product-stack{background:linear-gradient(145deg,#dff3f8,#cfddfb)!important}
.orn-product-stack img{
  position:absolute;
  z-index:2;
  width:66%;
  aspect-ratio:4/3;
  border-radius:10px;
  object-fit:cover;
  box-shadow:0 18px 35px rgba(33,47,58,.2);
}
.orn-product-stack img:nth-child(1){left:4%;top:8%;z-index:5;transform:rotate(-7deg)}
.orn-product-stack img:nth-child(2){right:3%;top:15%;z-index:4;transform:rotate(7deg)}
.orn-product-stack img:nth-child(3){left:7%;bottom:8%;z-index:3;transform:rotate(5deg)}
.orn-product-stack img:nth-child(4){right:3%;bottom:5%;z-index:2;transform:rotate(-5deg)}

.orn-product-hero-art,
.orn-industry-hero-art{background:#090909!important}
.orn-product-hero-art::before,
.orn-product-hero-art::after,
.orn-industry-hero-art::before,
.orn-industry-hero-art::after{display:none}
.orn-product-hero-art>img,
.orn-industry-hero-art>img{
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  transition:transform .68s var(--ease),filter .35s;
}
.orn-product-hero-art:hover>img,
.orn-industry-hero-art:hover>img{transform:scale(1.035);filter:saturate(1.06)}
.orn-product-art-label,
.orn-industry-hero-art>div{
  position:absolute;
  z-index:3;
  left:24px;
  right:24px;
  bottom:24px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  padding:14px 20px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:12px;
  color:#fff;
  background:rgba(10,10,10,.7);
  backdrop-filter:blur(14px);
}
.orn-product-art-label span,
.orn-industry-hero-art>div span{color:#d2d9df;font-size:13px;font-weight:600}
.orn-product-art-label strong,
.orn-industry-hero-art>div strong{font-size:24px;font-weight:600}
.orn-product-hero-art-construction,
.orn-product-hero-art-education{background:#edf2f5!important}
.orn-product-hero-art-construction .orn-product-art-label,
.orn-product-hero-art-education .orn-product-art-label{
  color:#1e1e1e;
  background:rgba(255,255,255,.82);
  border-color:rgba(255,255,255,.9);
}
.orn-product-hero-art-construction .orn-product-art-label span,
.orn-product-hero-art-education .orn-product-art-label span{color:#53606a}

/* Page sections keep the homepage shell, rhythm and typography. */
.orn-section{padding:110px 0;background:#fff}
.orn-section-soft{background:#edf2f5}
.orn-section-dark{color:#fff;background:#111}
.orn-section-dark p{color:#c5cbd0}
.orn-section-blue{color:#fff;background:#3476ed}
.orn-section-blue p{color:#eaf2ff}
.orn-section-divider{border-top:1px solid var(--neo-line)}

.orn-section-head{
  grid-template-columns:575px 575px;
  gap:50px;
  min-height:0;
  margin-bottom:50px;
}
.orn-section-head h2{margin-top:14px}
.orn-section-head .neo-intro-side{padding-top:35px}
.orn-section-head .neo-intro-side p{margin:0}
.orn-section-head-centered{display:block;text-align:center}
.orn-section-head-centered>div,
.orn-section-head-centered .neo-intro-side{margin-inline:auto;text-align:center}

/* Cards reuse .neo-feature-card; these classes only define inner-page layout. */
.orn-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.orn-card-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.orn-card-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}

.orn-module-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.orn-module-grid>*{grid-column:span 2}
.orn-module-grid>*:nth-child(1),
.orn-module-grid>*:nth-child(2){grid-column:span 3}
.neo-feature-card.orn-module{
  min-height:180px;
  padding:32px;
  border:1px solid var(--neo-line);
  background:#fff;
  transition:transform .68s var(--neo-ease),box-shadow .42s var(--neo-ease),border-color .3s;
}
.neo-feature-card.orn-module:hover{transform:translateY(-6px);border-color:transparent;box-shadow:0 20px 48px rgba(42,58,70,.12)}
.orn-module>span{display:block;margin-bottom:14px;color:#53606a;font-size:13px;font-weight:600}
.orn-module h3{margin:0 0 10px;font-size:22px;line-height:1.2}
.orn-module p{margin:0;font-size:16px;line-height:1.45}
.orn-module-blue{color:#fff!important;background:#3476ed!important;border-color:transparent!important}
.orn-module-blue>span,.orn-module-blue p{color:#eaf2ff!important}
.orn-module-dark{color:#fff!important;background:#111!important;border-color:transparent!important}
.orn-module-dark>span,.orn-module-dark p{color:#c5cbd0!important}
.neo-feature-card.orn-card{
  min-height:300px;
  padding:32px;
  border:1px solid var(--neo-line);
  background:#fff;
  transition:transform .68s var(--neo-ease),box-shadow .42s var(--neo-ease),border-color .3s;
}
.neo-feature-card.orn-card:hover,
.neo-feature-card.orn-panel:hover,
.neo-feature-card.orn-step:hover{transform:translateY(-6px);border-color:transparent;box-shadow:0 20px 48px rgba(42,58,70,.12)}
.neo-feature-card.orn-card h3{
  margin:64px 0 13px;
  text-align:left;
  font-size:28px;
  line-height:1.15;
}
.neo-feature-card.orn-card p{margin:0;font-size:16px;line-height:1.45}
.orn-card-icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:50%;
  color:#fff;
  background:#1e1e1e;
  font-size:13px;
  font-weight:600;
}
.orn-card-dark{color:#fff!important;background:#111!important;border-color:transparent!important}
.orn-card-dark p{color:#c5cbd0!important}
.orn-card-blue{color:#fff!important;background:#3476ed!important;border-color:transparent!important}
.orn-card-blue p{color:#eaf2ff!important}
.orn-card-blue .orn-card-icon{color:#1e1e1e;background:#fff}

.orn-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.neo-feature-card.orn-panel{
  min-height:480px;
  padding:48px;
  border:1px solid var(--neo-line);
  background:#fff;
  transition:transform .68s var(--neo-ease),box-shadow .42s var(--neo-ease),border-color .3s;
}
.neo-feature-card.orn-panel h2{
  margin:18px 0;
  text-align:left;
  font-size:48px;
  line-height:1.08;
}
.neo-feature-card.orn-panel p{font-size:18px;line-height:1.4}
.orn-panel-dark{color:#fff;background:#111!important;border-color:transparent!important}
.orn-panel-dark p,.orn-panel-dark .orn-list{color:#c5cbd0}
.orn-panel-dark .neo-tag{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25)}
.orn-panel-media{padding:0!important;background:#090909!important}
.orn-panel-media img{display:block;width:100%;height:100%;min-height:480px;object-fit:contain}

.orn-list{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:13px;color:#53606a}
.orn-list li{position:relative;padding-left:24px}
.orn-list li::before{content:"›";position:absolute;left:0;top:-3px;color:#3476ed;font-size:25px;line-height:1}
.orn-list-check li::before{content:"✓";top:0;font-size:15px;font-weight:700}

/* Product directory uses the homepage project card verbatim. */
.orn-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 12px}
.orn-product-card{min-width:0;background:#fff}
.orn-product-card .orn-product-media{height:auto;aspect-ratio:1.335}
.orn-product-card .orn-product-copy{align-items:flex-start;gap:20px;padding-top:12px}
.orn-product-copy>div{max-width:75%}
.orn-product-copy .orn-product-description{margin-top:8px;font-size:14px;line-height:1.4;color:#53606a}
.orn-product-copy>a{flex:0 0 auto;margin-top:0}

.orn-more-panel,
.orn-inline-cta{
  min-height:220px;
  padding:40px;
  border-radius:20px;
  background:#edf2f5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.orn-more-panel>div,
.orn-inline-cta>div{max-width:720px}
.orn-more-panel h2,
.orn-inline-cta h2{margin:18px 0 0;font-size:48px;line-height:1.08}
.orn-section-blue .orn-inline-cta{background:rgba(255,255,255,.1)}
.orn-section-blue .neo-tag{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25)}
.orn-section-dark .neo-tag{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25)}

.orn-side-title{margin-top:18px;font-size:48px;line-height:1.08}

/* Process cards reuse the homepage card surface and motion. */
.orn-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:orn-step}
.orn-steps-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.orn-steps-6{grid-template-columns:repeat(3,minmax(0,1fr))}
.neo-feature-card.orn-step{
  min-height:360px;
  padding:30px;
  border:1px solid var(--neo-line);
  background:#fff;
  counter-increment:orn-step;
  transition:transform .68s var(--neo-ease),box-shadow .42s var(--neo-ease),border-color .3s;
}
.neo-feature-card.orn-step::before{
  content:counter(orn-step,decimal-leading-zero);
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  color:#fff;
  background:#1e1e1e;
  font-size:12px;
  font-weight:600;
}
.neo-feature-card.orn-step h3{margin:150px 0 12px;text-align:left;font-size:26px;line-height:1.15}
.neo-feature-card.orn-step p{margin:0;font-size:16px;line-height:1.45}

.orn-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.neo-feature-card.orn-metric{
  min-height:220px;
  padding:28px;
  border:1px solid var(--neo-line);
  background:#fff;
  display:flex;
  flex-direction:column-reverse;
  justify-content:space-between;
}
.orn-metric strong{font-size:36px;line-height:1.05}
.orn-metric span{color:#53606a;font-size:14px}

.orn-quote blockquote{max-width:900px;margin:0;font-size:48px;line-height:1.12;letter-spacing:-.04em}
.orn-quote footer{margin-top:30px;color:#aeb8bf}

.orn-role-row{display:flex;flex-wrap:wrap;gap:14px}
.orn-role-row span{padding:12px 18px;border-radius:999px;color:#fff;background:rgba(255,255,255,.1)}

/* The visual appearance stays canonical; only the responsive width is local. */
.orn-page-main .neo-accordion{width:100%;height:auto}
.orn-page-main .neo-accordion article,
.orn-page-main .neo-accordion button{width:100%}

/* Contact and form layouts have no homepage equivalent, so only these remain local. */
.orn-contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.orn-contact-cards .orn-card{min-height:340px}
.orn-text-link{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-weight:600}
.orn-consent a.orn-text-link{margin-top:0}
.orn-text-link i{font-style:normal;transition:transform .4s var(--neo-ease)}
.orn-text-link:hover i{transform:translate(3px,-3px)}
.orn-card-dark .orn-text-link,.orn-card-blue .orn-text-link{color:#fff}

.orn-form-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:start}
.orn-form-layout>div h2{margin:18px 0;font-size:48px;line-height:1.08}
.orn-form-layout>div>p{font-size:18px;line-height:1.4}
.orn-form-panel{padding:36px;border:1px solid var(--neo-line);border-radius:20px;background:#fff}
.orn-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.orn-field{display:grid;gap:9px}
.orn-field-full{grid-column:1/-1}
.orn-field label{font-weight:600}
.orn-field input,
.orn-field textarea,
.orn-field select{
  width:100%;
  min-height:54px;
  padding:14px 16px;
  border:1px solid #d9e2e8;
  border-radius:12px;
  color:#1e1e1e;
  background:#fff;
  font:inherit;
  outline:0;
  transition:border-color .2s,box-shadow .2s;
}
.orn-field textarea{min-height:150px;resize:vertical}
.orn-field input:focus,
.orn-field textarea:focus,
.orn-field select:focus{border-color:#3476ed;box-shadow:0 0 0 4px rgba(52,118,237,.12)}
.orn-consent label{display:flex;align-items:flex-start;gap:12px;font-weight:500;line-height:1.55}
.orn-consent input[type="checkbox"]{flex:0 0 auto;width:20px;min-height:20px;margin-top:2px}
.orn-form-submit{display:flex;align-items:center;gap:20px}
.orn-form-submit>p{margin:0;font-size:14px}
.orn-mini-note{margin-top:40px;padding:22px;border-radius:18px;background:#fff;display:grid;gap:6px}
.orn-mini-note span{color:#53606a}

@media(max-width:1000px){
  .orn-section-head{grid-template-columns:1fr 1fr}
  .orn-card-grid-4,.orn-steps-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .orn-form-layout{gap:42px}
}

@media(max-width:900px){
  .orn-page-hero{min-height:auto;padding-top:132px;padding-bottom:72px}
  .orn-page-hero .orn-hero-grid{grid-template-columns:1fr;gap:48px;min-height:0}
  .orn-page-hero .hero-copy>p{max-width:560px}
  .orn-page-hero .orn-hero-art{min-height:390px}
  .orn-section{padding:90px 0}
  .orn-section-head{grid-template-columns:1fr;gap:22px}
  .orn-section-head .neo-intro-side{padding-top:0;text-align:left}
  .orn-split,.orn-form-layout{grid-template-columns:minmax(0,1fr)}
  .orn-card-grid,.orn-steps,.orn-metrics,.orn-contact-cards,.orn-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .orn-module-grid>*,
  .orn-module-grid>*:nth-child(1),
  .orn-module-grid>*:nth-child(2){grid-column:span 1}
  .orn-form-layout{gap:36px}
}

@media(max-width:600px){
  .orn-page-hero{width:calc(100% - 20px);padding:123px 11px 60px}
  .orn-page-hero .orn-hero-grid{gap:36px}
  .orn-page-hero .hero-copy h1{margin:24px 0 20px;font-size:42px;line-height:.95}
  .orn-page-hero .hero-copy>p{font-size:16px}
  .orn-page-hero .orn-hero-actions{align-items:stretch;flex-direction:column;margin-top:28px}
  .orn-page-hero .orn-hero-actions .button,
  .orn-page-hero .orn-hero-actions .neo-button{width:100%}
  .orn-page-hero .orn-hero-actions .button-light{min-height:48px}
  .orn-page-hero .orn-hero-art,
  .orn-product-hero-art>img,
  .orn-industry-hero-art>img{min-height:330px}
  .orn-section{padding:78px 0}
  .orn-section-head{margin-bottom:36px}
  .orn-section-head h2,
  .orn-side-title,
  .orn-more-panel h2,
  .orn-inline-cta h2,
  .orn-form-layout>div h2,
  .neo-feature-card.orn-panel h2{font-size:34px;line-height:1.08}
  .orn-card-grid,
  .orn-card-grid-2,
  .orn-card-grid-4,
  .orn-product-grid,
  .orn-steps,
  .orn-steps-4,
  .orn-steps-6,
  .orn-metrics,
  .orn-contact-cards,
  .orn-module-grid{grid-template-columns:1fr}
  .orn-module-grid>*,
  .orn-module-grid>*:nth-child(1),
  .orn-module-grid>*:nth-child(2){grid-column:span 1}
  .neo-feature-card.orn-card{min-height:270px;padding:28px}
  .neo-feature-card.orn-card h3{font-size:24px}
  .neo-feature-card.orn-module{padding:28px}
  .neo-feature-card.orn-panel{min-height:0;padding:30px}
  .orn-panel-media{padding:0!important}
  .orn-product-card .orn-product-copy{display:block}
  .orn-product-copy>div{max-width:none}
  .orn-product-copy>a{display:inline-block;margin-top:12px}
  .orn-more-panel,.orn-inline-cta{align-items:flex-start;flex-direction:column;padding:30px}
  .orn-quote blockquote{font-size:34px}
  .orn-form{grid-template-columns:minmax(0,1fr)}
  .orn-field-full{grid-column:auto}
  .orn-form-panel{padding:24px}
  .orn-form-submit{align-items:flex-start;flex-direction:column}
  .orn-form-submit .button,.orn-form-submit .neo-button{width:100%}
  .orn-page-main .neo-accordion button{height:auto;min-height:70px;font-size:17px}
}

@media(prefers-reduced-motion:reduce){
  .orn-product-hero-art>img,
  .orn-industry-hero-art>img{transition:none}
}
