/* Gral product editorial, within Focus Connect's established identity. */
.gral-page{--g-line:#dcdad4;--g-soft:#f5f4f0;font-family:FocusGothic,Arial,sans-serif}.gral-page *{min-width:0}.gral-page section[id]{scroll-margin-top:112px}.gral-page p{font-size:18px;line-height:1.6;color:#53514d;margin:0 0 24px}.gral-page h1,.gral-page h2,.gral-page h3{color:#161616}.gral-page h1{font:400 clamp(50px,5.8vw,86px)/1.02 Arial,sans-serif;letter-spacing:-.065em;margin:25px 0}.gral-page h2{font:400 clamp(38px,4.5vw,66px)/1.05 Arial,sans-serif;letter-spacing:-.06em;margin:0 0 24px}.gral-page h3{font:400 clamp(25px,2.4vw,34px)/1.15 Arial,sans-serif;letter-spacing:-.045em;margin:0 0 16px}.gral-page em{font-family:Georgia,serif;color:var(--orange);font-weight:400}.gral-page a:focus-visible,.gral-page input:focus-visible,.gral-page select:focus-visible,.gral-page textarea:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.gral-page figure{margin:0}.gral-page figure img{display:block;width:100%;height:auto}.gral-page figcaption{font-size:13px;color:#666;padding:12px 0;line-height:1.4}.g-back{display:inline-block;font-size:14px;color:#666;margin-bottom:42px}.g-back:hover{color:var(--orange)}.g-hero{padding-top:36px;padding-bottom:0}.g-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:5%;align-items:center}.g-hero-grid .g-lead{font-size:20px;line-height:1.5;max-width:520px}.g-hero-image img{aspect-ratio:1.15;object-fit:cover}.g-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}.g-button{display:inline-block;background:#111;color:#fff;padding:18px 24px;font-size:16px;line-height:1.4;border:0;cursor:pointer;text-align:center}.g-button:hover{background:#c44815}.g-link{display:inline-block;color:#181818;border-bottom:1px solid var(--orange);padding-bottom:5px;font-size:16px;line-height:1.4}.g-link:hover{color:#b3410f}.g-partner-line{display:flex;gap:32px;align-items:center;border-top:1px solid var(--g-line);border-bottom:1px solid var(--g-line);padding:26px 0;margin-top:46px}.g-partner-line>img{width:135px;height:auto;max-height:62px;object-fit:contain}.g-partner-line p{font-size:16px;margin:0;flex:1}.g-partner-line strong,.g-partner-line span{display:block}.g-partner-line strong{color:#111;font-weight:400}.g-partner-line span{font-size:14px;margin-top:4px}.g-overview{padding-top:80px;padding-bottom:88px}.g-overview .eyebrow{margin-bottom:24px}.g-categories{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--g-line)}.g-categories a{font-size:20px;padding:22px 18px 22px 0;border-bottom:1px solid var(--g-line);line-height:1.4}.g-categories a:hover{color:#b3410f}.g-categories span{font-size:12px;color:#a34418;display:block;margin-bottom:10px}.g-section{padding-top:92px;padding-bottom:92px;border-top:1px solid var(--g-line)}.g-soft{background:var(--g-soft)}.g-section-heading{display:grid;grid-template-columns:1fr 2fr;gap:45px;margin-bottom:42px}.g-section-heading>.eyebrow{padding-top:8px}.g-section-heading p{max-width:770px;margin-bottom:0}.g-products{display:grid;gap:24px}.g-three{grid-template-columns:repeat(3,1fr)}.g-two{grid-template-columns:repeat(2,1fr);gap:32px}.g-product{min-width:0}.g-product>img{display:block;width:100%;height:auto;aspect-ratio:1.4;object-fit:cover}.g-three .g-product>img{aspect-ratio:1.12}.g-product-copy{padding:26px 0 0}.g-product p{font-size:17px}.g-card-links{display:flex;gap:18px 24px;align-items:center;flex-wrap:wrap}.g-source{font-size:13px;color:#666;text-decoration:underline;text-underline-offset:4px}.g-source:hover{color:var(--orange)}.gral-page .g-note{font-size:14px;line-height:1.6;color:#6a655e;margin-top:26px;margin-bottom:0}.g-inline-note{border-top:1px solid var(--g-line);margin-top:44px;padding-top:26px;display:grid;grid-template-columns:1fr 1.6fr;gap:14px 40px}.g-inline-note strong{font-size:22px;font-weight:400;line-height:1.3}.g-inline-note p{margin:0;font-size:17px}.g-inline-note>.g-link{grid-column:2;justify-self:start}.g-dark{background:#151719;color:white;border-color:#151719}.g-dark h2,.g-dark h3,.g-dark .g-link{color:#fff}.g-dark p,.g-dark .g-source,.g-dark .g-note{color:#c4c4c4}.g-split{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:center}.g-split figure img{aspect-ratio:1.1;object-fit:cover}.g-split .eyebrow{margin-bottom:24px}.g-reverse figure{order:2}.g-features{margin:0 0 28px}.g-features>div{border-top:1px solid var(--g-line);padding:16px 0;display:grid;grid-template-columns:110px 1fr;gap:16px}.g-features dt{font-size:19px}.g-features dd{margin:0;font-size:16px;line-height:1.5;color:#53514d}.g-bullets{padding-left:20px;margin:0 0 26px;color:#53514d;font-size:18px;line-height:1.65}.g-bullets li{padding-left:6px;margin-bottom:10px}.g-glass-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--g-line);border-bottom:1px solid var(--g-line)}.g-glass-grid article{padding:30px 26px 34px 0;margin-right:26px;border-right:1px solid var(--g-line);display:flex;flex-direction:column}.g-glass-grid article:last-child{border:0;margin:0;padding-right:0}.g-material{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#a34418;margin-bottom:42px}.g-glass-grid p{font-size:17px}.g-glass-grid .g-link{align-self:start;margin-top:auto}.g-glass-note{padding:26px 30px;background:var(--g-soft);margin-top:28px;border-left:3px solid var(--orange)}.g-glass-note strong{font-size:22px;font-weight:400}.g-glass-note p{font-size:17px;margin:10px 0 0}.g-service-grid,.g-request-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.g-service-grid .eyebrow,.g-request-grid .eyebrow{margin-bottom:24px}.g-service-list article{display:grid;grid-template-columns:30px 1fr;gap:20px;border-top:1px solid var(--g-line);padding:24px 0}.g-service-list article>span{color:#a34418;font-size:13px;padding-top:4px}.g-service-list h3{font-size:25px}.g-service-list p{font-size:17px;margin-bottom:12px}.g-contact{font-size:clamp(17px,2vw,23px);text-decoration:underline;text-underline-offset:6px;overflow-wrap:anywhere}.g-request{padding:32px;background:var(--g-soft)}.g-request label{display:block;font-size:16px;margin-bottom:10px}.g-request label span{color:#777;font-size:13px}.g-request select,.g-request input,.g-request textarea{font:400 16px/1.5 FocusGothic,Arial,sans-serif;display:block;width:100%;padding:13px 12px;border:1px solid #c6c2b8;background:#fff;color:#151515;border-radius:0;margin:0 0 24px}.g-request textarea{resize:vertical}.g-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.g-request .g-button{width:100%}.g-request .g-note{margin-top:15px}.gral-page .g-request-grid .g-note{max-width:440px}.gral-page+.footer .shell{align-items:center;flex-wrap:wrap;line-height:1.5}.gral-page+.footer .shell>span:last-child{font-size:11px}
/* Homepage pathways to the Gral product world. */
.gral-home-path{margin-top:25px;padding:24px;background:#f6f5f1;border-left:3px solid var(--orange)}.gral-home-path .eyebrow{display:block;margin-bottom:12px}.gral-home-path p{font-size:17px;margin:0 0 16px;line-height:1.5}.gral-home-path a,.gral-home-project a{display:inline-block;border-bottom:1px solid var(--orange);padding-bottom:5px;font-size:16px}.gral-home-project{margin-top:28px;padding-top:24px;border-top:1px solid #ddd}.gral-home-project[hidden]{display:none}.gral-home-project h4{font-size:22px;font-weight:400;letter-spacing:-.025em;margin:0 0 12px}.gral-home-project p{font-size:16px;line-height:1.5;color:#555}.gral-home-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.gral-home-gallery a{border:0;font-size:13px;line-height:1.4}.gral-home-gallery img{width:100%;height:auto;aspect-ratio:1.15;object-fit:cover;display:block;margin-bottom:8px}.gral-home-links{display:flex;flex-wrap:wrap;gap:15px 24px}
@media(max-width:1000px){.g-hero-grid{grid-template-columns:1fr;gap:32px}.g-hero-grid h1 br:last-of-type{display:none}.g-hero-grid .g-lead{max-width:700px}.g-hero-image img{aspect-ratio:1.6}.g-three{gap:18px}.g-partner-line{gap:22px;flex-wrap:wrap}.g-partner-line>.g-link{margin-left:157px}.g-section-heading{grid-template-columns:1fr;gap:22px}.g-split{gap:35px}.g-service-grid,.g-request-grid{gap:40px}.g-form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:760px){.gral-page section[id]{scroll-margin-top:104px}.g-hero{padding-top:24px}.g-back{margin-bottom:28px}.gral-page h1{font-size:clamp(43px,10.5vw,70px)}.gral-page h2{font-size:clamp(35px,9vw,52px)}.g-hero-grid .g-lead{font-size:18px}.g-hero-image img{aspect-ratio:1.25}.g-partner-line{margin-top:25px;gap:18px}.g-partner-line>img{width:95px}.g-partner-line p{flex-basis:180px}.g-partner-line>.g-link{margin-left:0}.g-overview{padding-top:56px;padding-bottom:56px}.g-categories{grid-template-columns:1fr 1fr;margin-top:24px}.g-categories a{font-size:17px;padding:17px 12px 17px 0}.g-section{padding-top:60px;padding-bottom:60px}.g-section-heading{margin-bottom:30px}.g-products,.g-split,.g-service-grid,.g-request-grid{grid-template-columns:1fr;gap:34px}.g-three .g-product>img,.g-product>img{aspect-ratio:1.35}.g-product-copy{padding-top:20px}.g-product h3{font-size:28px}.g-card-links{gap:15px 22px}.g-inline-note{grid-template-columns:1fr;gap:16px;margin-top:32px}.g-inline-note>.g-link{grid-column:1}.g-split figure img{aspect-ratio:1.35}.g-reverse figure{order:0}.g-glass-grid{grid-template-columns:1fr}.g-glass-grid article{border-right:0;border-bottom:1px solid var(--g-line);margin:0;padding:28px 0}.g-glass-grid article:last-child{padding:28px 0}.g-material{margin-bottom:22px}.g-glass-note{padding:22px}.g-service-grid,.g-request-grid{gap:30px}.g-request{padding:22px}.g-form-row{grid-template-columns:1fr}.g-actions{gap:20px}.g-request .g-button{padding:17px 12px}.gral-home-path{padding:19px}.gral-home-gallery{gap:8px}.gral-home-gallery a{font-size:12px}}
/* Allow the additional Gral entry to breathe on smaller desktop widths. */
@media(min-width:761px) and (max-width:1280px){.top .shell{flex-wrap:nowrap;min-height:88px;padding-top:0;padding-bottom:0}.top .menu{display:block}.top .nav{display:none;position:absolute;top:88px;left:0;right:0;background:#111;flex-direction:column;align-items:stretch;gap:0;padding:24px}.top .nav.open{display:flex}.top .nav a{padding:14px 0}.top .nav .nav-project{padding:14px;text-align:center;margin:8px 0}.top .nav-contact{padding:14px;text-align:center}}
/* Product galleries: native touch scrolling, complete images and quiet navigation. */
.g-gallery{width:100%;min-width:0;position:relative}.g-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;cursor:grab;background:#eae8e2;outline-offset:4px}.g-gallery-track::-webkit-scrollbar{display:none}.g-gallery-track:focus-visible{outline:2px solid var(--orange)}.g-gallery-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.g-gallery-slide{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;aspect-ratio:1.12;display:flex;align-items:center;justify-content:center}.g-two .g-gallery-slide{aspect-ratio:1.25}.g-gallery-slide img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}.g-gallery-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:13px;color:#68645e;font-size:12px;line-height:1.4}.g-gallery-dots{display:flex;gap:0;align-items:center;justify-content:center;flex-wrap:wrap}.g-gallery-dot{display:grid;place-items:center;width:25px;height:28px;border:0;background:transparent;cursor:pointer;padding:0;color:#bbb7ad}.g-gallery-dot::before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:currentColor;transition:background-color .2s,transform .2s}.g-gallery-dot[aria-current="true"]{color:var(--orange)}.g-gallery-dot[aria-current="true"]::before{transform:scale(1.4)}.g-gallery-dot:hover{color:var(--orange)}.g-gallery-dot:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}.g-gallery-count{font-variant-numeric:tabular-nums;white-space:nowrap}.g-gallery-hint{white-space:nowrap}@media(max-width:760px){.g-gallery-slide,.g-two .g-gallery-slide{aspect-ratio:1.15}.g-gallery-meta{gap:5px}.g-gallery-dot{width:24px}.g-gallery-hint{font-size:11px}}@media(prefers-reduced-motion:reduce){.g-gallery-dot::before{transition:none}}
