/* Shared scrolling and typewriter; full photographs instead of a brand mask. */
.dry-port-hero { --port-bg:#081e30; position:relative; isolation:isolate; margin-top:var(--header-h,88px); padding:28px 0 38px; }
html[data-color-mode=light] .dry-port-hero { --port-bg:#f4f7f9; }
.dry-port-hero-photo { position:absolute; z-index:-2; inset:0 0 auto; width:100%; height:480px; object-fit:cover; object-position:center 48%; mask-image:linear-gradient(#000 0%,#000 38%,transparent 100%); -webkit-mask-image:linear-gradient(#000 0%,#000 38%,transparent 100%); }
.dry-port-hero:before { content:""; position:absolute; z-index:-1; inset:0 0 auto; height:480px; background:linear-gradient(90deg,rgba(8,30,48,.88),rgba(8,30,48,.48)),linear-gradient(transparent 30%,var(--port-bg) 100%); }
html[data-color-mode=light] .dry-port-hero:before { background:linear-gradient(90deg,rgba(244,247,249,.94),rgba(244,247,249,.58)),linear-gradient(transparent 30%,var(--port-bg) 100%); }
.dry-port-hero .spark-breadcrumbs { margin-bottom:28px; }
.dry-port-hero h1 { font-size:clamp(44px,5.5vw,80px); line-height:1.06; margin:20px 0; letter-spacing:-.035em; }
.dry-port-hero .dry-port-subtitle { font-size:clamp(25px,2.6vw,38px); font-weight:500; line-height:1.3; max-width:33ch; margin:0; }
.dry-port-intro-copy { padding-top:52px; }
.dry-port-intro-copy .section-desc { max-width:72ch; margin:0; }
.dry-port-service-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding-block:10px 48px; }
.dry-port-service-nav a { display:flex; align-items:center; gap:14px; min-height:64px; padding:14px 18px; border:1px solid #aac2d544; border-radius:12px; text-decoration:none; color:inherit; font-size:17px; line-height:1.35; transition:background .2s,border-color .2s; }
.dry-port-service-number { color:#a4d363; font-size:14px; font-weight:700; }
.dry-port-service-nav a:hover { background:#86bc2520; border-color:#86bc25; }
.dry-port-service-nav a:focus-visible { outline:3px solid #86bc25; outline-offset:4px; }
html[data-color-mode=light] .dry-port-service-nav a { border-color:#12345233; }
html[data-color-mode=light] .dry-port-service-number { color:#507b22; }
.dry-port-service-cta { position:relative; padding-block:32px 72px; }
html body main .dry-port-service-cta .btn{position:relative;isolation:isolate;display:flex;justify-content:space-between;gap:28px;width:100%;max-width:100%;min-height:160px;padding:clamp(28px,4vw,64px);border:1px solid #aac2d533;border-inline-start:4px solid #82ba40;border-radius:40px 12px;background:#102b40!important;color:#f5f8fa!important;font-size:clamp(24px,2.6vw,40px);line-height:1.2;text-align:start;white-space:normal;box-shadow:0 18px 40px #081e3010}
html[data-color-mode=light] body main .dry-port-service-cta .btn{background:#fff!important;color:#123452!important;border-color:#12345226;border-inline-start-color:#82ba40}
html body main .dry-port-service-cta .btn:before{content:'';position:absolute;z-index:-1;width:360px;height:360px;inset:auto -80px auto auto;top:-150px;border:1px solid #aac2d533;border-radius:50%;background:transparent;box-shadow:0 0 0 36px #82ba4008,0 0 0 72px #82ba4006;transform:none;opacity:1;pointer-events:none}
html body main .dry-port-service-cta .btn:after{content:'→';position:static;display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border-radius:50%;background:#82ba40;color:#081e30;font-size:30px;transform:none;opacity:1;clip-path:none}
html body main .dry-port-service-cta .btn:hover{border-color:#82ba40}
html body main .dry-port-service-cta .btn:focus-visible{outline:3px solid #82ba40;outline-offset:5px}
html[dir=rtl] body main .dry-port-service-cta .btn:after{content:'←'}
@media(max-width:600px){html body main .dry-port-service-cta .btn{min-height:128px;padding:26px 22px;gap:18px;font-size:24px}html body main .dry-port-service-cta .btn:after{flex-basis:48px;width:48px;height:48px}}
.dry-port-contact-panel{position:relative;isolation:isolate;overflow:hidden;display:flex;justify-content:flex-end;align-items:center;min-height:160px;padding:clamp(28px,4vw,64px);border:1px solid #aac2d533;border-inline-start:4px solid #82ba40;border-radius:40px 12px;background:#102b40;box-shadow:0 18px 40px #081e3010}
html[data-color-mode=light] .dry-port-contact-panel{background:#fff;border-color:#12345226;border-inline-start-color:#82ba40}
.dry-port-contact-panel:before{content:'';position:absolute;z-index:-1;pointer-events:none;width:360px;height:360px;border:1px solid #aac2d533;border-radius:50%;right:-80px;top:-150px;box-shadow:0 0 0 36px #82ba4008,0 0 0 72px #82ba4006}
html body main .dry-port-service-cta .dry-port-contact-panel .btn{width:auto;max-width:360px;min-height:56px;padding:18px 26px;border:0;border-radius:12px;background:#82ba40!important;color:#081e30!important;font-size:16px;font-weight:700;line-height:1.35;justify-content:center;text-align:center;box-shadow:0 6px 18px #081e3014}
html body main .dry-port-contact-panel .btn:before,html body main .dry-port-contact-panel .btn:after{display:none!important}
@media(max-width:600px){.dry-port-contact-panel{padding:28px;min-height:128px}html body main .dry-port-service-cta .dry-port-contact-panel .btn{width:100%;max-width:none}}
.dry-port-contact-panel{justify-content:space-between;gap:40px}
html body main .dry-port-contact-panel h2{margin:0;min-width:0;flex:1;font-size:clamp(28px,2.6vw,40px);line-height:1.2;font-weight:650;letter-spacing:-.025em;color:#f5f8fa}
html body main .dry-port-service-cta .dry-port-contact-panel .btn{flex-shrink:0}
@media(max-width:1000px){.dry-port-contact-panel{flex-direction:column;align-items:flex-start;gap:26px}}
.dry-port-scroll .why-scroll-frame { scroll-margin-top:0; }
html body main .dry-port-scroll .why-scroll-item h3 { font-size:clamp(32px,3.2vw,50px); max-width:none; }
.dry-port-scroll .why-scroll-backdrop,.dry-port-scroll .why-stage-backdrop { display:none; }
.dry-port-scroll .why-scroll-photo-mask,.dry-port-scroll .why-stage-mask { mask:none; -webkit-mask:none; }
.dry-port-scroll .why-scroll-stage:after,.dry-port-scroll .why-scroll-photo:after { display:none; }
.dry-port-scroll .why-scroll-photo { aspect-ratio:3/2; background:transparent; margin:0 22px; overflow:hidden; border-radius:20px; }
.dry-port-scroll .why-scroll-image { object-fit:contain; object-position:center; width:100%; height:100%; }
.dry-port-scroll .why-stage-slide { display:flex; align-items:center; justify-content:center; padding:26px; box-sizing:border-box; }
.dry-port-scroll .why-stage-slide .why-stage-image { width:100%; height:auto; max-height:calc(100% - 52px); object-fit:contain; object-position:center; border-radius:22px; }
@media(min-width:801px) {
  .dry-port-scroll .why-scroll-layout.is-enhanced { grid-template-columns:minmax(0,.48fr) minmax(0,.52fr); }
  .dry-port-scroll .is-enhanced .why-scroll-visual { border:0; }
  .dry-port-scroll .has-fixed-image-stage .why-scroll-stage,.dry-port-scroll .is-enhanced .why-scroll-frame { background:transparent; }
  .dry-port-scroll .is-enhanced .why-scroll-flow { padding:100px clamp(24px,3vw,56px) 32px; }
  html body main .dry-port-scroll .is-enhanced .why-scroll-flow #adv-title { inset-inline:clamp(24px,3vw,56px); inset-block-start:28px; }
}
@media(max-width:800px) {
  .dry-port-hero { padding-top:24px; padding-bottom:24px; }
  .dry-port-hero .spark-breadcrumbs { margin-bottom:32px; }
  .dry-port-hero-photo,.dry-port-hero:before { height:380px; }
  .dry-port-intro-copy { padding-top:32px; }
  .dry-port-service-nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding-bottom:28px; }
  .dry-port-service-nav a { padding:12px; font-size:15px; gap:8px; }
  .dry-port-scroll .why-scroll-item { padding:28px 22px 52px; }
}
@media(prefers-reduced-motion:reduce) { .dry-port-service-nav a { transition:none; } }
