.railing-page{--railing-green: #173b31;--railing-green-deep: #0e2a22;--railing-cream: #f4efe4;--railing-cream-light: #fbf8f1;--railing-gold: #c8a45f;--railing-gold-dark: #9b793c;--railing-ink: #18221e;--railing-muted: #615f58;--railing-line: rgba(23, 59, 49, .16);background:var(--railing-cream-light);color:var(--railing-ink);overflow-x:clip}.railing-page main{display:block}.railing-shell{width:min(100% - 2.5rem,1240px);margin-inline:auto}.railing-section,.railing-page .railing-project-gallery{padding-block:clamp(4.5rem,8vw,8rem);scroll-margin-top:5rem}.railing-section,.railing-page .railing-project-gallery,.railing-service-area{content-visibility:auto;contain-intrinsic-size:auto 900px}.railing-heading{max-width:780px;margin-bottom:clamp(2rem,4vw,3.5rem)}.railing-heading h2,.railing-service-area h2{margin:0;font-family:var(--font-serif, Georgia, serif);font-size:clamp(2.25rem,5vw,4.7rem);font-weight:500;line-height:.98;letter-spacing:-.035em;text-wrap:balance}.railing-heading>p:last-child{max-width:68ch;margin:1.15rem 0 0;color:var(--railing-muted);font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.7}.railing-heading--light,.railing-heading--light>p:last-child{color:#fff}.railing-eyebrow{margin:0 0 .75rem;color:var(--railing-gold-dark);font-size:.76rem;font-weight:750;letter-spacing:.16em;line-height:1.4;text-transform:uppercase}.railing-button{display:inline-flex;min-height:3.15rem;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;padding:.8rem 1.35rem;font:inherit;font-size:.92rem;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.railing-button:hover{transform:translateY(-2px)}.railing-button--gold{background:var(--railing-gold);color:#10251f}.railing-button--outline{border-color:#ffffffb8;background:#0a1c1757;color:#fff;backdrop-filter:blur(8px)}.railing-page :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #e8c87c;outline-offset:3px}.railing-hero{position:relative;isolation:isolate;display:grid;min-height:min(790px,calc(100svh - 1rem));align-items:end;background:var(--railing-green-deep);color:#fff}.railing-hero__media,.railing-hero__shade{position:absolute;inset:0}.railing-hero__media picture,.railing-hero__media img{display:block;width:100%;height:100%}.railing-hero__media img{object-fit:cover;object-position:center}.railing-hero__shade{z-index:1;background:linear-gradient(90deg,#071813eb,#071813ad 43%,#07181314 78%),linear-gradient(0deg,rgba(7,24,19,.72) 0%,transparent 42%)}.railing-hero__copy{position:relative;z-index:2;padding-block:clamp(8rem,20vh,13rem) clamp(3.25rem,8vh,6rem)}.railing-hero__copy>*{max-width:760px}.railing-hero__copy .railing-eyebrow{color:#efd28d}.railing-hero h1{margin:0;font-family:var(--font-serif, Georgia, serif);font-size:clamp(3.2rem,7.2vw,7rem);font-weight:500;line-height:.9;letter-spacing:-.045em;text-wrap:balance}.railing-hero__lead{margin:1.5rem 0 0;font-size:clamp(1.08rem,1.7vw,1.35rem);line-height:1.58}.railing-hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.75rem}.railing-hero__photo-cue{margin:1.25rem 0 0;color:#ffffffd1;font-size:.93rem;line-height:1.55}.railing-hero__caption{margin-block:0;padding-block:.9rem;color:var(--railing-muted);font-size:.88rem;line-height:1.55}.railing-quick-guide{border-block:1px solid var(--railing-line);background:var(--railing-cream)}.railing-quick-guide__inner{display:grid;gap:1.1rem;padding-block:1.25rem}.railing-trust-facts,.railing-page-nav{display:flex;flex-wrap:wrap;gap:.55rem 1.1rem;margin:0;padding:0;list-style:none}.railing-trust-facts li{position:relative;padding-left:1rem;font-size:.84rem;font-weight:700}.railing-trust-facts li:before{position:absolute;left:0;color:var(--railing-gold-dark);content:"◆";font-size:.55rem;top:.25rem}.railing-page-nav{border-top:1px solid var(--railing-line);padding-top:1rem}.railing-page-nav a,.railing-comparison__links a{color:var(--railing-green);font-size:.86rem;font-weight:720;text-underline-offset:.22rem}.railing-options{background:#fff}.railing-options__grid,.railing-styles__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.railing-options__grid article,.railing-styles__grid article{border:1px solid var(--railing-line);border-radius:1rem;background:var(--railing-cream-light);padding:clamp(1.35rem,2.5vw,2rem)}.railing-options__grid article:nth-child(2){background:var(--railing-green);color:#fff}.railing-options__grid h3,.railing-styles__grid h3,.railing-project-cards h3,.railing-accessibility h3{margin:0;font-family:var(--font-serif, Georgia, serif);font-size:clamp(1.45rem,2.2vw,2.1rem);font-weight:550;line-height:1.05}.railing-options__grid p,.railing-styles__grid p{margin:1rem 0 0;line-height:1.65}.railing-options__grid a{display:inline-block;margin-top:1rem;color:var(--railing-green);font-weight:750}.railing-page .railing-project-gallery:nth-of-type(2n){background:#fff}.railing-page .railing-before-after-gallery .stair-project-story__photos{grid-template-columns:repeat(2,minmax(0,1fr))}.railing-page .railing-before-after-gallery .stair-project-story__photos li,.railing-page .railing-before-after-gallery .stair-project-story__photos li.is-lead{grid-column:auto}.railing-page .railing-before-after-gallery .stair-project-story__photos button{min-height:0;aspect-ratio:4 / 3}.railing-process{background:#fff}.railing-process__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:1px;background:var(--railing-line);list-style:none}.railing-process__steps li{display:grid;grid-template-columns:auto 1fr;gap:1rem;background:var(--railing-cream-light);padding:clamp(1.4rem,3vw,2.2rem)}.railing-process__steps>li>span{color:var(--railing-gold-dark);font-weight:800;letter-spacing:.08em}.railing-process__steps h3{margin:0;font-family:var(--font-serif, Georgia, serif);font-size:1.45rem;font-weight:550;line-height:1.1}.railing-process__steps p{margin:.7rem 0 0;color:var(--railing-muted);line-height:1.62}.railing-safety,.railing-pricing{background:var(--railing-green-deep);color:#fff}.railing-safety__layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(2rem,7vw,7rem);align-items:start}.railing-safety__copy{border-left:1px solid rgba(255,255,255,.26);padding-left:clamp(1.25rem,3vw,2.5rem)}.railing-safety__copy p{margin:0;color:#ffffffd6;font-size:1.04rem;line-height:1.75}.railing-safety__copy p+p{margin-top:1.25rem}.railing-styles__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.railing-styles__grid article{background:#fff}.railing-pricing__tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.railing-pricing__tiers article{border:1px solid rgba(255,255,255,.22);border-radius:1rem;background:#ffffff0f;padding:clamp(1.4rem,3vw,2.25rem)}.railing-pricing__tiers h3,.railing-pricing__variables h3{margin:0;font-family:var(--font-serif, Georgia, serif);font-size:1.6rem;font-weight:550}.railing-pricing__tiers strong{display:block;margin-top:1rem;color:#efd28d;font-family:var(--font-serif, Georgia, serif);font-size:clamp(2rem,3.7vw,3.4rem);font-weight:500;line-height:1}.railing-pricing__tiers p,.railing-pricing__note{color:#fffc;line-height:1.65}.railing-pricing__variables{margin-top:2.5rem;border-top:1px solid rgba(255,255,255,.2);padding-top:2rem}.railing-pricing__variables ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 2rem;margin:1.25rem 0 0;padding-left:1.15rem;color:#ffffffd6}.railing-pricing__note{max-width:78ch;margin:2rem 0 0}.railing-comparison{background:var(--railing-cream)}.railing-comparison__layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,6rem);align-items:start}.railing-comparison__table-wrap{overflow-x:auto}.railing-comparison table{width:100%;border-collapse:collapse;background:#fff}.railing-comparison th,.railing-comparison td{border-bottom:1px solid var(--railing-line);padding:1rem;text-align:left;vertical-align:top}.railing-comparison th{background:var(--railing-green);color:#fff;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}.railing-comparison__links{display:flex;flex-wrap:wrap;gap:.9rem 1.5rem;grid-column:2}.railing-real-projects,.railing-accessibility{background:#fff}.railing-project-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.railing-project-cards article,.railing-accessibility__grid article{overflow:hidden;border:1px solid var(--railing-line);border-radius:1rem;background:var(--railing-cream-light)}.railing-project-cards__image,.railing-accessibility__image{display:block;background:#ddd8cc}.railing-project-cards picture,.railing-project-cards img,.railing-accessibility picture,.railing-accessibility img{display:block;width:100%}.railing-project-cards img{aspect-ratio:4 / 3;object-fit:cover}.railing-project-cards__copy,.railing-accessibility__grid article>div{padding:1.35rem}.railing-project-cards__copy>p:first-child,.railing-accessibility__grid article>div>p:first-child{margin:0 0 .55rem;color:var(--railing-gold-dark);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.railing-project-cards__copy h3 a,.railing-accessibility h3 a{color:inherit;text-decoration:none}.railing-project-cards__copy>p:not(:first-child),.railing-accessibility__grid article>div>p:not(:first-child){color:var(--railing-muted);line-height:1.62}.railing-project-cards__copy>a,.railing-text-link{color:var(--railing-green);font-weight:760;text-underline-offset:.2rem}.railing-text-link{display:inline-block;margin-top:1.5rem}.railing-accessibility{padding-top:0}.railing-accessibility__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.railing-accessibility img{aspect-ratio:16 / 9;object-fit:cover}.railing-faq{background:var(--railing-cream)}.railing-service-area{border-top:1px solid var(--railing-line);background:var(--railing-green);color:#fff;padding-block:2.5rem}.railing-service-area h2{font-size:clamp(1.55rem,3vw,2.5rem)}.railing-service-area p{max-width:88ch;margin:.8rem 0 0;color:#ffffffd6;line-height:1.65}.railing-contact{background:var(--railing-cream-light)}.railing-contact__layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}.railing-contact__intro h2{margin:0;font-family:var(--font-serif, Georgia, serif);font-size:clamp(2.4rem,5vw,4.6rem);font-weight:500;line-height:.98;letter-spacing:-.035em}.railing-contact__intro>p:not(.railing-eyebrow){color:var(--railing-muted);line-height:1.7}.railing-contact__actions{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1.25rem}.railing-contact__actions a{color:var(--railing-green);font-weight:760}.railing-mobile-contact{transition:opacity .18s ease,transform .18s ease}.railing-mobile-contact.is-hidden{pointer-events:none;opacity:0;transform:translateY(120%)}@media(max-width:1023px){.railing-options__grid,.railing-pricing__tiers,.railing-project-cards,.railing-styles__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.railing-safety__layout,.railing-comparison__layout,.railing-contact__layout{grid-template-columns:1fr}.railing-comparison__links{grid-column:1}}@media(max-width:767px){.railing-shell{width:min(100% - 1.25rem,1240px)}.railing-section,.railing-page .railing-project-gallery{padding-block:4.25rem}.railing-hero{min-height:760px}.railing-hero__media img{object-position:59% center}.railing-hero__shade{background:linear-gradient(0deg,#071813f5,#071813c2 54%,#07181329)}.railing-hero__copy{padding-block:13rem 2.7rem}.railing-hero h1{font-size:clamp(2.8rem,14vw,4.4rem)}.railing-hero__actions,.railing-hero__actions .railing-button{width:100%}.railing-trust-facts,.railing-page-nav{gap:.7rem 1rem}.railing-options__grid,.railing-process__steps,.railing-styles__grid,.railing-pricing__tiers,.railing-pricing__variables ul,.railing-project-cards,.railing-accessibility__grid,.railing-page .railing-before-after-gallery .stair-project-story__photos{grid-template-columns:1fr}.railing-safety__copy{border-top:1px solid rgba(255,255,255,.26);border-left:0;padding-top:1.5rem;padding-left:0}.railing-comparison table{min-width:590px}.railing-project-cards img,.railing-accessibility img{height:auto;aspect-ratio:auto;object-fit:contain}.railing-contact{padding-bottom:7rem}}@media(prefers-reduced-motion:reduce){.railing-page *,.railing-page *:before,.railing-page *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
