.ocp-lo{
  --bg:#f3f2f2; --ink:#201f1d; --muted:#5a5856; --line:rgba(32,31,29,.16);
  --g:#f5b731; --gi:#7d5411; --dark:#1c1b19;
  --h:"Cormorant Garamond",Georgia,serif; --b:"Lora",Georgia,serif;
  background:var(--bg); color:var(--ink); font-family:var(--b);
  font-size:17px; line-height:1.7; -webkit-font-smoothing:antialiased;
  width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
}
.ocp-lo *,.ocp-lo *::before,.ocp-lo *::after{box-sizing:border-box !important; min-width:0;}
.ocp-lo h1,.ocp-lo h2,.ocp-lo h3{font-family:var(--h) !important; font-weight:600 !important; text-transform:none !important; margin:0;}
.ocp-lo p{margin:0 0 1em;}
.ocp-lo a{color:var(--gi);}
.ocp-lo [id]{scroll-margin-top:120px;}

.ocp-lo-wrap{width:100%; max-width:1180px; margin:0 auto; padding:0 clamp(20px,4vw,60px);}
.ocp-lo-kick{font-family:var(--h) !important; font-size:13px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gi); margin:0 0 18px;}
.ocp-lo-h2{font-size:clamp(30px,4.4vw,48px) !important; line-height:1.08 !important; margin:0 0 12px !important;}
.ocp-lo-sub{max-width:44em; color:var(--muted); margin:0 0 34px;}
.ocp-lo-sect{padding:clamp(40px,5vw,76px) 0; border-top:1px solid var(--line);}

.ocp-lo-hero{
  padding:clamp(36px,6vw,84px) 0 clamp(30px,4vw,56px);
  position:relative; isolation:isolate;
  background:
    radial-gradient(120% 90% at 88% 0%, rgba(245,183,49,.22) 0%, rgba(245,183,49,.07) 42%, rgba(245,183,49,0) 72%),
    linear-gradient(180deg, #efeeec 0%, #f3f2f2 62%);
}
.ocp-lo-hero::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:linear-gradient(90deg, rgba(245,183,49,.75) 0%, rgba(32,31,29,.16) 46%, rgba(32,31,29,.06) 100%);
}

/* tinted section, same palette, applied sparingly */
.ocp-lo-tint{
  position:relative; isolation:isolate; border-top:0 !important;
  background:
    radial-gradient(90% 120% at 4% 0%, rgba(245,183,49,.16) 0%, rgba(245,183,49,.04) 46%, rgba(245,183,49,0) 74%),
    linear-gradient(180deg, #eceae7 0%, #f3f2f2 84%);
}
.ocp-lo-tint::before{
  content:""; position:absolute; left:0; right:0; top:0; height:2px;
  background:linear-gradient(90deg, rgba(245,183,49,.9) 0%, rgba(245,183,49,.28) 38%, rgba(32,31,29,.1) 100%);
}
.ocp-lo-tint .ocp-lo-steps-4 .ocp-lo-step{
  background:rgba(255,255,255,.72);
  border:1px solid var(--line); border-top:2px solid rgba(245,183,49,.85);
  border-radius:4px; padding:clamp(24px,2.6vw,34px) clamp(22px,2.4vw,32px);
  display:flex; flex-direction:column;
}
.ocp-lo-tint .ocp-lo-steps-4 .ocp-lo-stepn{
  font-size:15px; letter-spacing:.14em; color:var(--gi); margin-bottom:14px;
}
.ocp-lo-tint .ocp-lo-steps-4 .ocp-lo-step h3{margin:0 0 12px !important;}
.ocp-lo-tint .ocp-lo-steps-4 .ocp-lo-step p{font-size:16.5px; line-height:1.68; max-width:46ch;}

/* dark call to action, matching the homepage band */
.ocp-lo-cta{
  background:#1c1b19; color:#f3f2f2; border-radius:4px; overflow:hidden;
  padding:clamp(30px,4.6vw,58px) clamp(24px,4vw,56px);
  background-image:
    radial-gradient(90% 140% at 100% 0%, rgba(245,183,49,.24) 0%, rgba(245,183,49,.06) 44%, rgba(245,183,49,0) 74%),
    linear-gradient(180deg, #232120 0%, #1c1b19 70%);
  display:grid; grid-template-columns:1fr; gap:clamp(22px,3vw,44px); align-items:center;
}
@media (min-width:860px){ .ocp-lo-cta{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);} }
.ocp-lo-cta .ocp-lo-kick{color:var(--g); margin-bottom:14px;}
.ocp-lo-cta h2{color:#f3f2f2 !important; font-size:clamp(27px,3.6vw,42px) !important; line-height:1.1 !important; margin:0 0 14px !important;}
.ocp-lo-cta p{color:rgba(243,242,242,.8); margin:0; max-width:46ch;}
.ocp-lo-ctabtns{display:flex; flex-wrap:wrap; gap:12px;}
.ocp-lo-ctabtns > a{flex:1 1 auto; white-space:nowrap;}
.ocp-lo-cta .ocp-lo-book{margin-top:0;}
.ocp-lo-book-solid{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:0 28px; border:1px solid var(--g) !important; border-radius:4px;
  background:var(--g); color:#201f1d !important; text-decoration:none !important;
  font-family:var(--h); font-weight:600; font-size:16px; transition:background-color .2s ease, color .2s ease;
}
.ocp-lo-book-solid:hover{background:transparent; color:var(--g) !important;}
.ocp-lo-h1{font-size:clamp(38px,7vw,72px) !important; line-height:1.03 !important; letter-spacing:-.025em; margin:0 0 24px !important; max-width:22ch;}
.ocp-lo-lede{font-size:clamp(19px,2.3vw,24px); line-height:1.55; color:var(--muted); max-width:38em; margin:0;}
.ocp-lo-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:32px;}
.ocp-lo-btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:0 22px; border-radius:4px;
  border:1px solid var(--g); background:transparent; color:var(--gi) !important;
  font-family:var(--h); font-weight:600; font-size:16px; line-height:1.2;
  white-space:nowrap; text-decoration:none !important; transition:background-color .2s ease;
}
.ocp-lo-btn:hover{background:rgba(245,183,49,.16); color:var(--gi) !important;}
.ocp-lo-btn-2{border-color:var(--line); color:var(--ink) !important;}
.ocp-lo-btn-2:hover{background:rgba(32,31,29,.06); color:var(--ink) !important;}
@media (min-width:1000px){ .ocp-lo-actions{flex-wrap:nowrap;} }

.ocp-lo-cols{display:grid; grid-template-columns:1fr; gap:clamp(20px,3vw,44px);}
@media (min-width:900px){ .ocp-lo-cols{grid-template-columns:repeat(2,minmax(0,1fr));} }
.ocp-lo-cols p{max-width:38em;}

.ocp-lo-steps{display:grid; grid-template-columns:1fr; column-gap:clamp(26px,4vw,56px);}
@media (min-width:760px){ .ocp-lo-steps{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (min-width:700px){ .ocp-lo-steps-4{grid-template-columns:repeat(2,minmax(0,1fr)) !important;} }
.ocp-lo-steps-4{column-gap:clamp(20px,2.4vw,30px) !important; row-gap:clamp(20px,2.4vw,30px);}
.ocp-lo-step{padding:26px 0; border-top:1px solid var(--line);}
.ocp-lo-stepn{display:block; font-family:var(--h); font-size:12px; letter-spacing:.16em; color:var(--gi); margin-bottom:12px; font-variant-numeric:tabular-nums;}
.ocp-lo-step h3{font-size:clamp(20px,2.3vw,24px) !important; line-height:1.24 !important; margin:0 0 10px !important;}
.ocp-lo-step p{margin:0; font-size:16px; color:var(--muted);}

.ocp-lo-svc{display:grid; grid-template-columns:1fr; gap:18px;}
@media (min-width:760px){ .ocp-lo-svc{grid-template-columns:repeat(2,minmax(0,1fr));} }
.ocp-lo-card{border:1px solid var(--line); border-radius:4px; padding:26px 24px; display:flex; flex-direction:column; gap:12px;}
.ocp-lo-card h3{font-size:clamp(21px,2.3vw,25px) !important; line-height:1.2 !important; margin:0 !important;}
.ocp-lo-card p{font-size:15.5px; color:var(--muted); margin:0; flex:1;}
.ocp-lo-card a{align-self:flex-start; font-family:var(--h); font-weight:600; font-size:16px; text-decoration:none; border-bottom:1px solid rgba(245,183,49,.8);}

.ocp-lo-faq{border-top:1px solid var(--line);}
.ocp-lo-faq:last-of-type{border-bottom:1px solid var(--line);}
.ocp-lo-faq summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; gap:18px; padding:22px 0;
  font-family:var(--h); font-weight:600; font-size:clamp(19px,2.3vw,23px); line-height:1.3;
}
.ocp-lo-faq summary::-webkit-details-marker{display:none;}
.ocp-lo-faq summary::after{
  content:"+"; margin-left:auto; flex:0 0 auto;
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border:1px solid var(--g); border-radius:4px;
  font-family:var(--h); font-weight:600; font-size:24px; line-height:1;
  color:var(--gi); background:rgba(245,183,49,.1); transition:background-color .2s ease;
}
.ocp-lo-faq[open] summary::after{content:"\2013";}
.ocp-lo-faq summary:hover{color:var(--gi);}
.ocp-lo-faq summary:hover::after{background:rgba(245,183,49,.28);}
.ocp-lo-faq p{max-width:52em; margin:0 0 22px; color:var(--muted);}

.ocp-lo-band{background:var(--dark); color:#f3f2f2; padding:clamp(40px,6vw,80px) 0;}
.ocp-lo-band h2{color:#f3f2f2 !important;}
.ocp-lo-band .ocp-lo-kick{color:var(--g);}
.ocp-lo-band p{color:rgba(243,242,242,.8);}
.ocp-lo-bandgrid{display:grid; grid-template-columns:1fr; gap:clamp(30px,4vw,60px); align-items:start;}
@media (min-width:900px){ .ocp-lo-bandgrid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);} }
.ocp-lo-details{display:grid; gap:12px; margin-top:26px; padding-top:26px; border-top:1px solid rgba(243,242,242,.18);}
.ocp-lo-details p{margin:0; font-size:16px; color:rgba(243,242,242,.9);}
.ocp-lo-lab{display:inline-block; width:74px; font-family:var(--h); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(243,242,242,.5);}
.ocp-lo-details a{color:var(--g) !important; text-decoration:none; border-bottom:1px solid rgba(245,183,49,.5);}
.ocp-lo-book{
  display:inline-flex; align-items:center; justify-content:center; margin-top:24px;
  min-height:52px; padding:0 28px; border:1px solid var(--g) !important; border-radius:4px;
  background:transparent; color:var(--g) !important; text-decoration:none !important;
  font-family:var(--h); font-weight:600; font-size:16px; transition:background-color .2s ease;
}
.ocp-lo-book:hover{background:rgba(245,183,49,.16); color:var(--g) !important;}

.ocp-lo-form{border:1px solid rgba(243,242,242,.2); border-radius:4px; padding:clamp(22px,3vw,34px);}
.ocp-lo-form .wpcf7 br{display:none;}
.ocp-lo-form .wpcf7 p{margin:0;}
.ocp-lo-form .wpcf7-form-control-wrap{display:block; margin-bottom:16px;}
.ocp-lo-form label{display:block; font-family:var(--h); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:rgba(243,242,242,.66); margin-bottom:7px;}
.ocp-lo-form ::placeholder{color:rgba(243,242,242,.55); opacity:1; font-family:var(--b);}
.ocp-lo-form input[type=text],
.ocp-lo-form input[type=email],
.ocp-lo-form input[type=tel],
.ocp-lo-form textarea{
  width:100% !important; background:transparent !important; box-shadow:none !important;
  border:1px solid rgba(243,242,242,.26) !important; border-radius:4px !important;
  color:#f3f2f2 !important; -webkit-text-fill-color:#f3f2f2 !important;
  font-family:var(--b) !important; font-size:16px !important;
  padding:11px 13px !important; min-height:48px !important;
}
.ocp-lo-form textarea{min-height:128px !important; resize:vertical;}
.ocp-lo-form input:focus,.ocp-lo-form textarea:focus{border-color:var(--g) !important; outline:none;}
.ocp-lo-form input[type=submit],
.ocp-lo-form .wpcf7-submit{
  width:auto !important; min-width:190px; min-height:52px; padding:0 30px !important;
  background:transparent !important; border:1px solid var(--g) !important; border-radius:4px !important;
  color:var(--g) !important; font-family:var(--h) !important; font-weight:600 !important;
  font-size:16px !important; letter-spacing:.04em; cursor:pointer; transition:background-color .2s ease;
}
.ocp-lo-form input[type=submit]:hover{background:rgba(245,183,49,.16) !important;}
.ocp-lo-privacy{font-size:12.5px; line-height:1.6; color:rgba(243,242,242,.55); margin:16px 0 0;}

.ocp-lo-else{display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:8px;}
.ocp-lo-else a{font-family:var(--h); font-size:16.5px; text-decoration:none; color:rgba(32,31,29,.86) !important; border-bottom:1px solid rgba(245,183,49,.75);}
.ocp-lo-else a:hover{color:var(--gi) !important;}

.ocp-lo-logos{display:flex; flex-wrap:wrap; align-items:center; gap:clamp(20px,4vw,56px); margin-top:4px;}
.ocp-lo-logo{display:flex; align-items:center; justify-content:center; height:96px; flex:0 0 auto; text-decoration:none; border-bottom:0 !important;}
.ocp-lo-logo img{max-height:86px; max-width:210px; width:auto; height:auto; object-fit:contain; mix-blend-mode:multiply; opacity:.92; transition:opacity .2s ease;}
.ocp-lo-logo:hover img{opacity:1;}
@media (max-width:899px){ .ocp-lo-logo{height:74px;} .ocp-lo-logo img{max-height:64px; max-width:150px;} }
.ocp-lo-herogrid{display:grid; grid-template-columns:1fr; gap:clamp(24px,4vw,48px); align-items:center;}
@media (min-width:900px){ .ocp-lo-herogrid{grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr);} }
.ocp-lo-fig{margin:26px 0 0;}
.ocp-lo-herogrid .ocp-lo-fig{margin:0; justify-self:end; width:100%; max-width:320px;}
@media (max-width:899px){.ocp-lo .ocp-lo-herogrid .ocp-lo-fig{max-width:150px !important;}}

.ocp-lo-plate{display:block; width:100%; height:auto; border:6px solid #eae9e9; outline:1px solid var(--line); background:#f0efee;}
.ocp-lo-herogrid .ocp-lo-plate{filter:grayscale(1) contrast(1.04);}
.ocp-lo-landmark{margin:clamp(28px,4vw,48px) 0 0;}
.ocp-lo-sketch{padding:clamp(16px,2.5vw,30px) clamp(14px,2.5vw,34px);}
.ocp-lo-sketch img{display:block; width:100%; height:auto;}
.ocp-lo-cap{font-size:12px; color:var(--muted); margin:10px 0 0;}
@media (max-width:899px){ .ocp-lo-herogrid .ocp-lo-fig{max-width:260px; justify-self:start;} }
@media (max-width:899px){.ocp-lo .ocp-lo-herogrid .ocp-lo-fig{max-width:none !important; width:100%; justify-self:stretch; display:grid; grid-template-columns:120px minmax(0,1fr); gap:16px; align-items:center;}.ocp-lo .ocp-lo-herogrid .ocp-lo-cap{margin:0 !important; font-family:var(--h); font-size:19px !important; line-height:1.35; color:var(--ink);}}

.ocp-lo-prose{max-width:44em;}
.ocp-lo-prose p:last-child{margin-bottom:0;}
.ocp-lo-note{padding:30px 0 clamp(36px,5vw,64px); font-size:13.5px; color:var(--muted); max-width:52em;}
.ocp-lo a:focus-visible,.ocp-lo summary:focus-visible,.ocp-lo input:focus-visible,.ocp-lo textarea:focus-visible{outline:2px solid var(--g) !important; outline-offset:2px !important;}
@media (prefers-reduced-motion:reduce){ .ocp-lo *{transition-duration:.001ms !important;} }
@media (max-width:899px){ .ocp-lo-btn{width:100%;} }
.ocp-lo .ocp-lo-caselede{max-width:62ch; margin:0 0 clamp(28px,3.6vw,44px) !important; font-family:'Lora',Georgia,serif !important; font-size:17px !important; line-height:1.72 !important; color:#201f1d !important; font-style:normal !important; text-transform:none !important; letter-spacing:0 !important;}
.ocp-lo .ocp-lo-casegrid{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(24px,4vw,60px); align-items:center;}
.ocp-lo .ocp-lo-fnl{max-width:380px; width:100%; margin:0 auto;}
.ocp-lo .ocp-lo-fnl svg{display:block; width:100%; height:auto; overflow:visible;}
.ocp-lo .ocp-lo-tn{font-family:'Cormorant Garamond',Georgia,serif; font-size:13px; font-weight:600; letter-spacing:.18em;}
.ocp-lo .ocp-lo-tl{font-family:'Cormorant Garamond',Georgia,serif; font-size:22px; font-weight:600;}
.ocp-lo .ocp-lo-tls{font-size:20px;} .ocp-lo .ocp-lo-tlm{font-size:19px;}
.ocp-lo .ocp-lo-tout{font-family:'Cormorant Garamond',Georgia,serif; font-size:12px; font-weight:600; letter-spacing:.2em;}
.ocp-lo .ocp-lo-tier,.ocp-lo .ocp-lo-out{opacity:0; transform:translateY(-14px); transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1);}
.ocp-lo .ocp-lo-t2{transition-delay:.18s;} .ocp-lo .ocp-lo-t3{transition-delay:.36s;} .ocp-lo .ocp-lo-out{transition-delay:.54s;}
.ocp-lo .ocp-lo-case.is-in .ocp-lo-tier,.ocp-lo .ocp-lo-case.is-in .ocp-lo-out{opacity:1; transform:none;}
.ocp-lo .ocp-lo-dots circle{opacity:0;}
.ocp-lo .ocp-lo-case.is-play .ocp-lo-dl{animation:ocpLoL 3.6s cubic-bezier(.5,0,.8,.6) infinite;}
.ocp-lo .ocp-lo-case.is-play .ocp-lo-dc{animation:ocpLoC 3.6s cubic-bezier(.5,0,.8,.6) 1.2s infinite;}
.ocp-lo .ocp-lo-case.is-play .ocp-lo-dr{animation:ocpLoR 3.6s cubic-bezier(.5,0,.8,.6) .6s infinite;}
.ocp-lo .ocp-lo-case.is-play .ocp-lo-d2{animation-delay:1.8s;}
.ocp-lo .ocp-lo-case.is-play .ocp-lo-d3{animation-delay:2.4s;}
@keyframes ocpLoL{0%{opacity:0;transform:translate(0,0)}8%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(80px,318px)}}
@keyframes ocpLoC{0%{opacity:0;transform:translate(0,0)}8%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(0,318px)}}
@keyframes ocpLoR{0%{opacity:0;transform:translate(0,0)}8%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(-80px,318px)}}

.ocp-lo .ocp-lo-bars rect{transform-box:fill-box; transform-origin:50% 100%; transform:scaleY(.25);}
.ocp-lo .ocp-lo-case.is-in .ocp-lo-bars rect{transition:transform .7s cubic-bezier(.2,.7,.2,1); transform:none;}
.ocp-lo .ocp-lo-case.is-in .ocp-lo-b1{transition-delay:.7s !important;} .ocp-lo .ocp-lo-case.is-in .ocp-lo-b2{transition-delay:.85s !important;} .ocp-lo .ocp-lo-case.is-in .ocp-lo-b3{transition-delay:1s !important;}
.ocp-lo .ocp-lo-up{stroke-dasharray:60; stroke-dashoffset:60;}
.ocp-lo .ocp-lo-case.is-in .ocp-lo-up{transition:stroke-dashoffset .8s ease 1.15s; stroke-dashoffset:0;}
.ocp-lo .ocp-lo-case.is-play .ocp-lo-b3{animation:ocpLoBar 3.6s ease-in-out 2s infinite;}
@keyframes ocpLoBar{0%,70%,100%{transform:none}85%{transform:scaleY(1.12)}}
@media (prefers-reduced-motion:reduce){.ocp-lo .ocp-lo-bars rect,.ocp-lo .ocp-lo-up{transform:none !important; stroke-dashoffset:0 !important; animation:none !important; transition:none !important;}}
.ocp-lo .ocp-lo-funnel{list-style:none !important; margin:0 !important; padding:0 !important; display:grid; gap:14px;}
.ocp-lo .ocp-lo-fn{margin:0 !important; padding:clamp(18px,2vw,24px) clamp(18px,2.2vw,26px) !important; background:#fff; border:1px solid rgba(32,31,29,.16); border-radius:4px; display:grid; grid-template-columns:auto minmax(0,1fr); gap:18px; align-items:start; list-style:none !important; opacity:0; transform:translateX(18px); transition:opacity .55s ease, transform .55s cubic-bezier(.2,.7,.2,1);}
.ocp-lo .ocp-lo-fn::before,.ocp-lo .ocp-lo-fn::marker{content:none !important;}
.ocp-lo .ocp-lo-fn:nth-child(1){border-left:3px solid #f5b731; transition-delay:.15s;}
.ocp-lo .ocp-lo-fn:nth-child(2){border-left:3px solid #b68235; transition-delay:.33s;}
.ocp-lo .ocp-lo-fn:nth-child(3){border-left:3px solid #201f1d; transition-delay:.51s;}
.ocp-lo .ocp-lo-case.is-in .ocp-lo-fn{opacity:1; transform:none;}
.ocp-lo .ocp-lo-fnn{font-family:'Cormorant Garamond',Georgia,serif; font-size:28px; line-height:1; font-weight:400; color:#b68235; min-width:34px; padding-top:2px;}
.ocp-lo .ocp-lo-fntag{display:block; font-family:'Cormorant Garamond',Georgia,serif; font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#7d5411; margin:0 0 4px;}
.ocp-lo .ocp-lo-fn h3{font-family:'Cormorant Garamond',Georgia,serif !important; font-size:clamp(22px,2.2vw,25px) !important; font-weight:600 !important; line-height:1.2 !important; margin:0 0 6px !important; text-transform:none !important; letter-spacing:0 !important; color:#201f1d !important;}
.ocp-lo .ocp-lo-fn p{margin:0 !important; font-family:'Lora',Georgia,serif !important; font-size:16px !important; line-height:1.65 !important; color:#4a4846 !important; text-transform:none !important; letter-spacing:0 !important;}
.ocp-lo .ocp-lo-ldn{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(20px,4vw,56px); margin:0 0 clamp(28px,3.6vw,44px);}
.ocp-lo .ocp-lo-ldn p{margin:0 !important; font-family:'Lora',Georgia,serif !important; font-size:17px !important; line-height:1.72 !important; color:#201f1d !important;}
.ocp-lo .ocp-lo-gal{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,1.8vw,22px); align-items:start;}
.ocp-lo .ocp-lo-gal figure{margin:0 !important; padding:0 !important; background:none !important; border:0 !important;}
.ocp-lo .ocp-lo-gal img{display:block; width:100% !important; max-width:100% !important; height:auto !important; aspect-ratio:3/4; object-fit:cover; border:0 !important; border-radius:4px; box-shadow:none !important; background:#e6e4e2;}
.ocp-lo .ocp-lo-gal figcaption{display:block; margin:14px 0 0 !important; padding:12px 0 0 !important; border-top:2px solid #f5b731; text-align:left !important; font-style:normal !important; background:none !important;}
.ocp-lo .ocp-lo-gal figcaption strong{display:block; font-family:'Cormorant Garamond',Georgia,serif; font-size:19px; font-weight:600; line-height:1.2; color:#201f1d; margin:0 0 5px;}
.ocp-lo .ocp-lo-gal figcaption span{display:block; font-family:'Lora',Georgia,serif !important; font-size:14.5px !important; line-height:1.6 !important; color:#4a4846 !important;}
@media (max-width:900px){.ocp-lo .ocp-lo-casegrid{grid-template-columns:1fr;} .ocp-lo .ocp-lo-fnl{max-width:300px;} .ocp-lo .ocp-lo-ldn{grid-template-columns:1fr;} .ocp-lo .ocp-lo-gal{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (prefers-reduced-motion:reduce){.ocp-lo .ocp-lo-tier,.ocp-lo .ocp-lo-out,.ocp-lo .ocp-lo-fn{opacity:1 !important; transform:none !important; transition:none !important;} .ocp-lo .ocp-lo-dots{display:none;}}

.ocp-lo .ocp-lo-gk{max-width:460px; width:100%; margin:0 auto; position:relative;}
.ocp-lo .ocp-lo-gktop{display:block; width:100%; height:auto; margin:0 0 -2px;}
html body .ocp-lo .ocp-lo-gk .ocp-lo-form{margin:0 10% !important; border:0 !important; border-left:2px solid #f5b731 !important; border-right:2px solid #f5b731 !important; border-bottom:2px solid #f5b731 !important; border-radius:0 0 48% 48% / 0 0 70px 70px !important; padding:8px clamp(18px,4vw,30px) 74px !important; overflow:hidden; max-width:100% !important;
  background-color:#1c1b19; background-image:repeating-linear-gradient(45deg, rgba(245,183,49,.07) 0 1px, transparent 1px 28px), repeating-linear-gradient(-45deg, rgba(245,183,49,.07) 0 1px, transparent 1px 28px);}
html body .ocp-lo .ocp-lo-gk .wpcf7 input.wpcf7-form-control:not([type=submit]),html body .ocp-lo .ocp-lo-gk .wpcf7 textarea{display:block !important; width:100% !important; max-width:100% !important; box-sizing:border-box !important; margin:0 !important; background:#1c1b19 !important;}
html body .ocp-lo .ocp-lo-gk .wpcf7 form p:has(input[type=submit]){position:relative !important; margin:6px 0 0 !important; padding:0 !important; width:100% !important;}
html body .ocp-lo .ocp-lo-gk .wpcf7 input[type=submit],html body .ocp-lo .ocp-lo-gk .wpcf7 input.wpcf7-submit,html body .ocp-lo .ocp-lo-gk .wpcf7 input.wpcf7-submit:not([disabled]){display:block !important; float:none !important; position:static !important; box-sizing:border-box !important; width:100% !important; min-width:0 !important; max-width:100% !important; height:auto !important; min-height:52px !important; margin:0 !important; padding:14px 20px !important; line-height:1.2 !important; white-space:normal !important; font-family:"Cormorant Garamond",Georgia,serif !important; font-size:18px !important; font-weight:600 !important; letter-spacing:.02em !important; text-transform:none !important; text-align:center !important; color:#201f1d !important; background:#f5b731 !important; border:1px solid #f5b731 !important; border-radius:4px !important; box-shadow:none !important; cursor:pointer;}
html body .ocp-lo .ocp-lo-gk .wpcf7 input[type=submit]:hover{background:transparent !important; color:#f5b731 !important;}
html body .ocp-lo .ocp-lo-gk .wpcf7 .wpcf7-spinner{position:absolute !important; right:12px !important; top:50% !important; margin:-12px 0 0 !important;}
html body .ocp-lo .ocp-lo-gk .wpcf7 .wpcf7-response-output{margin:16px 0 0 !important; max-width:100% !important; box-sizing:border-box !important;}
.ocp-lo .ocp-lo-gkcap{display:block; text-align:center; font-family:'Cormorant Garamond',Georgia,serif; font-size:13px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:rgba(243,242,242,.6); margin:14px 0 0;}
@media (min-width:900px){.ocp-lo .ocp-lo-gkwrap{margin-top:-40px;}}

.ocp-lo .ocp-lo-feath{font-family:'Cormorant Garamond',Georgia,serif !important; font-size:clamp(24px,2.6vw,30px) !important; font-weight:500 !important; line-height:1.2 !important; color:#201f1d !important; margin:clamp(36px,4.4vw,56px) 0 clamp(16px,2vw,22px) !important; text-transform:none !important; letter-spacing:0 !important;}
.ocp-lo .ocp-lo-feat{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(18px,2.6vw,32px); align-items:start;}
.ocp-lo .ocp-lo-feat figure{margin:0 !important; padding:0 !important; background:none !important; border:0 !important;}
.ocp-lo .ocp-lo-feat img{display:block; width:100% !important; max-width:100% !important; height:auto !important; aspect-ratio:4/3; object-fit:cover; border:0 !important; border-radius:4px; box-shadow:none !important; background:#e6e4e2;}
.ocp-lo .ocp-lo-feat figcaption{display:block; margin:14px 0 0 !important; padding:12px 0 0 !important; border-top:2px solid #f5b731; text-align:left !important; font-style:normal !important; background:none !important;}
.ocp-lo .ocp-lo-feat figcaption strong{display:block; font-family:'Cormorant Garamond',Georgia,serif; font-size:21px; font-weight:600; line-height:1.2; color:#201f1d; margin:0 0 5px;}
.ocp-lo .ocp-lo-feat figcaption span{display:block; font-family:'Lora',Georgia,serif !important; font-size:15px !important; line-height:1.65 !important; color:#4a4846 !important;}
.ocp-lo .ocp-lo-feat figcaption a{color:#7d5411 !important; text-decoration:none !important; border-bottom:1px solid rgba(245,183,49,.75);}
.ocp-lo .ocp-lo-feat figcaption a:hover{color:#201f1d !important;}
@media (max-width:700px){.ocp-lo .ocp-lo-feat{grid-template-columns:1fr;}}
.ocp-lo .ocp-lo-feat{grid-template-columns:minmax(0,.945fr) minmax(0,1.333fr);}
.ocp-lo .ocp-lo-feat figure:first-child img{aspect-ratio:600/635; object-fit:contain;}
@media (max-width:700px){.ocp-lo .ocp-lo-feat{grid-template-columns:1fr;}}

/* Blackpool roots section */
.ocp-lo .ocp-bp-copy{max-width:720px;}
.ocp-lo .ocp-bp-copy p{text-align:justify; hyphens:auto;}
.ocp-lo .ocp-bp-links{display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; margin-top:6px;}
.ocp-lo .ocp-bp-btn{display:inline-flex; align-items:center; gap:10px; min-height:48px; padding:0 22px; border:1px solid var(--g); border-radius:4px; font-family:var(--h); font-size:18px; font-weight:600; color:var(--ink) !important; text-decoration:none !important; transition:background .2s ease;}
.ocp-lo .ocp-bp-btn:hover{background:rgba(245,183,49,.16);}
.ocp-lo .ocp-bp-links a:not(.ocp-bp-btn){color:var(--gi); border-bottom:1px solid rgba(245,183,49,.7); text-decoration:none;}
.ocp-lo .ocp-bp-scene{margin-top:clamp(28px,4vw,44px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:14px 0 0; overflow:hidden;}
.ocp-lo .ocp-bp-svg{display:block; width:100%; height:auto;}
@media (max-width:640px){.ocp-lo .ocp-bp-svg{height:240px;}}
.ocp-bp-wheel{transform-origin:820px 140px; animation:ocpBpSpin 48s linear infinite; animation-play-state:paused;}
.ocp-bp-ice1,.ocp-bp-ice2{animation:ocpBpBob 3.2s ease-in-out infinite alternate; animation-play-state:paused;}
.ocp-bp-ice2{animation-delay:-1.6s;}
.ocp-bp-gull{animation:ocpBpGull 22s linear infinite; animation-play-state:paused;}
.ocp-bp-tram{animation:ocpBpTram 30s linear infinite; animation-play-state:paused;}
.ocp-bp-b1{animation:ocpBpTw 1.8s ease-in-out infinite alternate; animation-play-state:paused;}
.ocp-bp-b2{animation:ocpBpTw 1.8s ease-in-out -.9s infinite alternate; animation-play-state:paused;}
.ocp-bp.is-play .ocp-bp-wheel,.ocp-bp.is-play .ocp-bp-ice1,.ocp-bp.is-play .ocp-bp-ice2,.ocp-bp.is-play .ocp-bp-gull,.ocp-bp.is-play .ocp-bp-tram,.ocp-bp.is-play .ocp-bp-b1,.ocp-bp.is-play .ocp-bp-b2{animation-play-state:running;}
@keyframes ocpBpSpin{to{transform:rotate(360deg);}}
@keyframes ocpBpBob{to{transform:translateY(-4px);}}
@keyframes ocpBpGull{0%{transform:translate(-40px,70px);}50%{transform:translate(550px,52px);}100%{transform:translate(1140px,74px);}}
@keyframes ocpBpTram{from{transform:translateX(1120px);}to{transform:translateX(-120px);}}
@keyframes ocpBpTw{from{opacity:1;}to{opacity:.35;}}
/* Blackpool Tower contact form */
.ocp-lo .ocp-lo-bt{max-width:460px; width:100%; margin:0 auto; position:relative;}
.ocp-lo .ocp-lo-bttop{display:block; width:100%; height:auto; margin:0 0 -1px;}
.ocp-lo .ocp-lo-btpier{display:block; width:100%; height:auto; margin:-10% 0 0; position:relative;}
html body .ocp-lo .ocp-lo-bt .ocp-lo-form{margin:0 6% !important; border:0 !important; border-radius:0 !important; padding:20px calc(6.5% + 14px) calc(10% + 22px) !important; max-width:100% !important; overflow:hidden; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='40' viewBox='0 0 26 40'%3E%3Cg fill='none' stroke='%23c0563f' stroke-width='1.6'%3E%3Cpath d='M2 0V40M24 0V40M2 0L24 40M24 0L2 40M2 40H24'/%3E%3C/g%3E%3Cg fill='%238ea2ff'%3E%3Ccircle cx='2' cy='5' r='1.7'/%3E%3Ccircle cx='2' cy='18' r='1.7'/%3E%3Ccircle cx='2' cy='31' r='1.7'/%3E%3Ccircle cx='24' cy='11' r='1.7'/%3E%3Ccircle cx='24' cy='24' r='1.7'/%3E%3Ccircle cx='24' cy='37' r='1.7'/%3E%3C/g%3E%3C/svg%3E") left top/7.4% auto repeat-y,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='40' viewBox='0 0 26 40'%3E%3Cg fill='none' stroke='%23c0563f' stroke-width='1.6'%3E%3Cpath d='M2 0V40M24 0V40M2 0L24 40M24 0L2 40M2 40H24'/%3E%3C/g%3E%3Cg fill='%238ea2ff'%3E%3Ccircle cx='2' cy='5' r='1.7'/%3E%3Ccircle cx='2' cy='18' r='1.7'/%3E%3Ccircle cx='2' cy='31' r='1.7'/%3E%3Ccircle cx='24' cy='11' r='1.7'/%3E%3Ccircle cx='24' cy='24' r='1.7'/%3E%3Ccircle cx='24' cy='37' r='1.7'/%3E%3C/g%3E%3C/svg%3E") right top/7.4% auto repeat-y,transparent !important;}
html body .ocp-lo .ocp-lo-bt .wpcf7 input.wpcf7-form-control:not([type=submit]),html body .ocp-lo .ocp-lo-bt .wpcf7 textarea{display:block !important; width:100% !important; max-width:100% !important; box-sizing:border-box !important; margin:0 !important; background:#1c1b19 !important;}
html body .ocp-lo .ocp-lo-bt .wpcf7 form p:has(input[type=submit]){position:relative !important; margin:6px 0 0 !important; padding:0 !important; width:100% !important;}
html body .ocp-lo .ocp-lo-bt .wpcf7 input[type=submit],html body .ocp-lo .ocp-lo-bt .wpcf7 input.wpcf7-submit,html body .ocp-lo .ocp-lo-bt .wpcf7 input.wpcf7-submit:not([disabled]){display:block !important; float:none !important; position:static !important; box-sizing:border-box !important; width:100% !important; min-width:0 !important; max-width:100% !important; height:auto !important; min-height:52px !important; margin:0 !important; padding:14px 20px !important; line-height:1.2 !important; white-space:normal !important; font-family:"Cormorant Garamond",Georgia,serif !important; font-size:18px !important; font-weight:600 !important; letter-spacing:.02em !important; text-transform:none !important; text-align:center !important; color:#201f1d !important; background:#f5b731 !important; border:1px solid #f5b731 !important; border-radius:4px !important; box-shadow:none !important; cursor:pointer;}
html body .ocp-lo .ocp-lo-bt .wpcf7 input[type=submit]:hover{background:transparent !important; color:#f5b731 !important;}
html body .ocp-lo .ocp-lo-bt .wpcf7 .wpcf7-spinner{display:block !important; margin:10px auto 0 !important; position:static !important;}
html body .ocp-lo .ocp-lo-bt .wpcf7 .wpcf7-response-output{margin:16px 0 0 !important; max-width:100% !important; box-sizing:border-box !important;}
.ocp-bt-la{animation:ocpBtTw 2.4s ease-in-out infinite alternate;}
.ocp-bt-lb{animation:ocpBtTw 2.4s ease-in-out -1.2s infinite alternate;}
.ocp-bt-sea{animation:ocpBtSea 6s linear infinite;}
@keyframes ocpBtTw{from{opacity:1;}to{opacity:.4;}}
@keyframes ocpBtSea{to{transform:translateX(40px);}}
@media (min-width:900px){
  .ocp-lo .ocp-lo-bandgrid:has(.ocp-lo-btwrap){grid-template-columns:minmax(0,1fr) minmax(0,440px); align-items:center; gap:clamp(40px,5vw,80px);}
  .ocp-lo .ocp-lo-bandgrid:has(.ocp-lo-btwrap) > div:first-child{max-width:560px; justify-self:end;}
  .ocp-lo .ocp-lo-bt{max-width:440px; margin:0;}
}

.ocp-bt-sp{transform-box:fill-box; transform-origin:center; opacity:0; animation:ocpBtSp 3.4s ease-in-out infinite;}
@keyframes ocpBtSp{0%,68%,100%{opacity:0; transform:scale(.3) rotate(0deg);}80%{opacity:1; transform:scale(1) rotate(45deg);}}
.ocp-bt-glow{opacity:.45; animation:ocpBtGlow 4s ease-in-out infinite alternate;}
@keyframes ocpBtGlow{to{opacity:.9;}}
.ocp-bt-lc{animation:ocpBtTw 1.6s ease-in-out -.8s infinite alternate;}
.ocp-lo-bt.is-off *{animation-play-state:paused !important;}

.ocp-lo .ocp-bl-ill{margin:0 0 clamp(22px,3vw,34px);}
.ocp-lo .ocp-bl-ill svg{display:block; width:100%; height:auto; max-width:560px;}
.ocp-bl-b{animation:ocpBlCh 1.5s ease-in-out infinite;}
.ocp-bl-b1{animation-delay:-.5s;} .ocp-bl-b2{animation-delay:-1s;}
@keyframes ocpBlCh{0%,100%{opacity:1;}50%{opacity:.25;}}
.ocp-lo .ocp-bl-ill svg.ocp-bl-tab{margin-top:10px;}
.ocp-bl-t{animation:ocpBlT 3s ease-in-out infinite;}
@keyframes ocpBlT{0%,100%{opacity:1;}45%{opacity:.35;}}
.ocp-bl-ill.is-off *{animation-play-state:paused !important;}
@media (prefers-reduced-motion:reduce){.ocp-bp *,.ocp-lo-bt *,.ocp-bl-ill *{animation:none !important;}}
/* Stuttgart section */
.ocp-lo .ocp-st-scene{margin:clamp(22px,3vw,34px) 0 clamp(26px,4vw,40px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding-top:10px; overflow:hidden;}
.ocp-lo .ocp-st-svg{display:block; width:100%; height:auto;}
@media (max-width:640px){.ocp-lo .ocp-st-svg{height:230px;}}
.ocp-lo .ocp-st-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:clamp(18px,2.6vw,30px);}
.ocp-lo .ocp-st-card{border:1px solid var(--line); border-radius:4px; padding:clamp(20px,2.6vw,30px); background:transparent;}
.ocp-lo .ocp-st-tag{font-family:var(--h); font-size:12.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gi); margin:0 0 10px;}
.ocp-lo .ocp-st-card h3{font-size:clamp(24px,2.6vw,30px) !important; line-height:1.15 !important; margin:0 0 14px !important;}
.ocp-lo .ocp-st-card h3 a{color:var(--ink) !important; text-decoration:none !important; border-bottom:1px solid rgba(245,183,49,.8);}
.ocp-lo .ocp-st-card h3 a:hover{color:var(--gi) !important;}
.ocp-lo .ocp-st-card p{font-size:16px; line-height:1.7;}
.ocp-lo .ocp-st-card ul{margin:0 0 1em !important; padding:0 0 0 1.1em !important;}
.ocp-lo .ocp-st-card li{font-size:16px; line-height:1.6; margin:0 0 .45em !important;}
.ocp-lo .ocp-st-card li::marker{color:var(--g);}
.ocp-lo .ocp-st-note{border-left:2px solid rgba(245,183,49,.8); padding-left:14px; font-style:italic; color:var(--muted); margin:0 !important;}
.ocp-lo .ocp-st-links{margin-top:clamp(22px,3vw,32px);}
.ocp-st-beacon{animation:ocpStBk 1.6s steps(2,jump-none) infinite; animation-play-state:paused;}
.ocp-st-tram{animation:ocpStTram 16s linear infinite; animation-play-state:paused;}
.ocp-st-car{animation:ocpStCar 9s linear infinite; animation-play-state:paused;}
.ocp-st-c1{animation:ocpStCl 60s linear infinite alternate; animation-play-state:paused;}
.ocp-st-c2{animation:ocpStCl 48s linear -20s infinite alternate-reverse; animation-play-state:paused;}
.ocp-st.is-play .ocp-st-beacon,.ocp-st.is-play .ocp-st-tram,.ocp-st.is-play .ocp-st-car,.ocp-st.is-play .ocp-st-cloud{animation-play-state:running;}
@keyframes ocpStBk{0%{opacity:1;}100%{opacity:.15;}}
@keyframes ocpStTram{from{transform:translateX(1110px);}to{transform:translateX(-140px);}}
@keyframes ocpStCar{from{transform:translateX(-80px);}to{transform:translateX(1110px);}}
@keyframes ocpStCl{from{transform:translateX(0);}to{transform:translateX(160px);}}
@media (prefers-reduced-motion:reduce){.ocp-st *{animation:none !important;}}
.ocp-lo .ocp-de-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:clamp(22px,4vw,56px); align-items:center;}
.ocp-lo .ocp-de-text{font-size:17px; line-height:1.75; text-align:justify; hyphens:auto; margin:0 !important;}
.ocp-lo .ocp-de-pics{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(12px,2vw,20px); max-width:560px;}
.ocp-lo .ocp-de-fig{margin:0 !important;}
.ocp-lo .ocp-de-ph{display:block; padding:7px; background:#fff; border:1px solid var(--line); border-radius:2px;}
.ocp-lo .ocp-de-ph img{display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; filter:sepia(.08) saturate(.95);}
.ocp-lo .ocp-de-fig figcaption{font-family:var(--h); font-size:12.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-top:10px;}

.ocp-lo .ocp-st-adv{list-style:none !important; margin:clamp(22px,3vw,32px) 0 0 !important; padding:0 !important; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line);}
.ocp-lo .ocp-st-adv li{margin:0 !important; padding:clamp(18px,2.4vw,26px) !important; border-right:1px solid var(--line); border-bottom:1px solid var(--line);}
.ocp-lo .ocp-st-adv li::before{display:none !important;}
.ocp-lo .ocp-st-n{display:block; font-family:var(--h); font-size:13px; font-weight:600; letter-spacing:.16em; color:var(--gi); font-variant-numeric:tabular-nums; margin-bottom:8px;}
.ocp-lo .ocp-st-adv h3{font-size:22px !important; line-height:1.2 !important; margin:0 0 8px !important;}
.ocp-lo .ocp-st-adv p{font-size:15.5px; line-height:1.65; margin:0;}
.ocp-lo .ocp-st-uk{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr)); gap:clamp(24px,4vw,56px); margin-top:clamp(30px,4vw,48px); align-items:start;}
.ocp-lo .ocp-st-uk h3{font-size:clamp(24px,2.6vw,30px) !important; line-height:1.15 !important; margin:0 0 12px !important;}
.ocp-lo .ocp-st-uk ul{margin:0 0 1em !important; padding:0 0 0 1.1em !important;}
.ocp-lo .ocp-st-uk li{margin:0 0 .45em !important; line-height:1.6;}
.ocp-lo .ocp-st-uk li::marker{color:var(--g);}
.ocp-lo .ocp-st-long{border-left:2px solid rgba(245,183,49,.8); padding-left:clamp(18px,2.4vw,28px);}
.ocp-lo .ocp-st-big{font-family:var(--h); font-weight:400; font-size:clamp(64px,8vw,96px); line-height:1; color:var(--gi); font-variant-numeric:lining-nums proportional-nums; letter-spacing:-.02em; margin:0 !important;}
.ocp-lo .ocp-st-bigl{font-family:var(--h); font-size:20px; font-weight:600; margin:6px 0 14px !important;}
.ocp-lo .ocp-st-long a{color:var(--gi); border-bottom:1px solid rgba(245,183,49,.7); text-decoration:none;}

/* Bristol animated section */
.ocp-lo .ocp-br-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(18px,3vw,28px);margin-top:8px}
.ocp-lo .ocp-br-art{border:1px solid var(--line);border-radius:4px;background:#fff;padding:clamp(10px,2vw,18px)}
.ocp-lo .ocp-br-scene{display:block;width:100%;height:auto}
.ocp-br.js .ocp-br-scene .draw{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s cubic-bezier(.6,.1,.3,1);transition-delay:var(--d,0s)}
.ocp-br.js.is-play .ocp-br-scene .draw{stroke-dashoffset:0}
.ocp-br.js .ocp-br-scene .fill,.ocp-br.js .ocp-br-scene .trees,.ocp-br.js .ocp-br-scene .hang,.ocp-br.js .ocp-br-scene .river,.ocp-br.js .ocp-br-scene .boat{opacity:0;transition:opacity .9s ease}
.ocp-br.js.is-play .ocp-br-scene .fill,.ocp-br.js.is-play .ocp-br-scene .trees{opacity:1;transition-delay:.4s}
.ocp-br.js.is-play .ocp-br-scene .hang{opacity:1;transition-delay:2.5s}
.ocp-br.js.is-play .ocp-br-scene .river,.ocp-br.js.is-play .ocp-br-scene .boat{opacity:1;transition-delay:1.2s}
.ocp-br-scene .bal{transform-box:fill-box;animation:ocpBrBal 11s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-3.7s)}
.ocp-br-scene .flow{animation:ocpBrFlow 4s linear infinite}
.ocp-br-scene .boat{transform-box:fill-box;animation:ocpBrBoat 22s ease-in-out infinite alternate}
.ocp-br.is-off .ocp-br-scene .bal,.ocp-br.is-off .ocp-br-scene .flow,.ocp-br.is-off .ocp-br-scene .boat{animation-play-state:paused}
@keyframes ocpBrBal{0%{transform:translate(0,14px)}100%{transform:translate(18px,-16px)}}
@keyframes ocpBrFlow{to{stroke-dashoffset:-80}}
@keyframes ocpBrBoat{0%{transform:translateX(-110px)}100%{transform:translateX(150px)}}
.ocp-lo .ocp-br-check{margin:0;border:1px solid var(--line);border-top:2px solid var(--g);border-radius:4px;background:#fff;padding:clamp(20px,3vw,28px);display:flex;flex-direction:column;gap:14px}
.ocp-lo .ocp-br-check figcaption{font-family:var(--h);font-size:22px;line-height:1.2;color:var(--ink)}
.ocp-lo .ocp-br-check ul{list-style:none;margin:0 !important;padding:0 !important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(18px,3vw,36px)}
.ocp-lo .ocp-br-check li{margin:0 !important;padding:11px 0 !important;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:12px;font-size:15.5px;line-height:1.5}
.ocp-lo .ocp-br-check li svg{flex:0 0 22px;width:22px;height:22px;margin-top:1px}
.ocp-lo .ocp-br-check p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.ocp-br.js .ocp-br-check li{opacity:0;transform:translateX(-8px);transition:opacity .5s ease,transform .5s ease;transition-delay:calc(1.2s + var(--i)*.45s)}
.ocp-br.js .ocp-br-check li path{stroke-dasharray:16;stroke-dashoffset:16;transition:stroke-dashoffset .45s ease;transition-delay:calc(1.45s + var(--i)*.45s)}
.ocp-br.js.is-play .ocp-br-check li{opacity:1;transform:none}
.ocp-br.js.is-play .ocp-br-check li path{stroke-dashoffset:0}
.ocp-lo .ocp-br-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:clamp(24px,4vw,40px)}
.ocp-lo .ocp-br-stats div{padding:18px clamp(12px,2vw,24px);display:flex;flex-direction:column;gap:4px;border-left:1px solid var(--line)}
.ocp-lo .ocp-br-stats div:first-child{border-left:0;padding-left:0}
.ocp-lo .ocp-br-stats b{font-family:var(--h);font-weight:400;font-size:clamp(30px,3.6vw,42px);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.ocp-lo .ocp-br-stats span{font-size:14px;line-height:1.5;color:var(--muted)}
.ocp-br.js .ocp-br-stats div{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(2.6s + var(--i)*.2s)}
.ocp-br.js.is-play .ocp-br-stats div{opacity:1;transform:none}
@media (max-width:700px){.ocp-lo .ocp-br-check ul{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.ocp-lo .ocp-br-stats{grid-template-columns:minmax(0,1fr)}.ocp-lo .ocp-br-stats div{border-left:0;border-top:1px solid var(--line);padding-left:0}.ocp-lo .ocp-br-stats div:first-child{border-top:0}}
@media (prefers-reduced-motion:reduce){.ocp-br-scene .bal,.ocp-br-scene .flow,.ocp-br-scene .boat{animation:none}.ocp-br.js .ocp-br-scene .draw{stroke-dashoffset:0;transition:none}.ocp-br.js .ocp-br-scene *,.ocp-br.js .ocp-br-check li,.ocp-br.js .ocp-br-stats div{opacity:1;transform:none;transition:none}.ocp-br.js .ocp-br-check li path{stroke-dashoffset:0}}

/* Amsterdam */
.ocp-lo .ocp-ams-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,3.6vw,44px);align-items:stretch;margin-top:8px}
.ocp-lo .ocp-ams-photo{margin:0;display:flex;flex-direction:column;gap:8px}
.ocp-lo .ocp-ams-photo img{width:100%;height:100%;max-height:560px;object-fit:cover;border:1px solid var(--line);border-radius:4px;padding:6px;background:#fff}
.ocp-lo .ocp-ams-photo figcaption{font-size:13.5px;color:var(--muted)}
.ocp-lo .ocp-ams-clients{display:flex;flex-direction:column;gap:14px}
.ocp-lo .ocp-ams-card{flex:1 1 0;border:1px solid var(--line);border-left:0;border-top:2px solid var(--g);background:#fff;border-radius:4px;padding:clamp(18px,2.6vw,26px);display:flex;flex-direction:column;justify-content:center;gap:6px;transition:transform .25s,box-shadow .25s}
.ocp-lo .ocp-ams-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px -18px rgba(32,31,29,.45)}
.ocp-lo .ocp-ams-card .k{font-family:var(--h);font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gi);margin:0}
.ocp-lo .ocp-ams-card h3{font-family:var(--h);font-weight:600;font-size:clamp(24px,2.6vw,30px);line-height:1.1;margin:0;color:var(--ink)}
.ocp-lo .ocp-ams-card h3 small{font-family:var(--b);font-weight:400;font-size:14px;color:var(--muted);margin-left:6px}
.ocp-lo .ocp-ams-card p{margin:0;font-size:15.5px;line-height:1.6}
.ocp-lo .ocp-ams-art{margin-top:clamp(22px,3.5vw,38px);border:1px solid var(--line);border-radius:4px;background:#fff;padding:clamp(8px,1.6vw,16px) clamp(8px,1.6vw,16px) 0;overflow:hidden}
.ocp-lo .ocp-ams-strip{display:block;width:100%;height:auto}
.ocp-ams-strip .win{fill:rgba(245,183,49,0);stroke:rgba(32,31,29,.5);stroke-width:1;animation:ocpAmsWin 7s ease-in-out infinite alternate;animation-delay:calc(var(--i)*.38s)}
@keyframes ocpAmsWin{0%,40%{fill:rgba(245,183,49,0)}60%,100%{fill:rgba(245,183,49,.55)}}
.ocp-ams-strip .flow{animation:ocpAmsFlow 5s linear infinite}.ocp-ams-strip .f2{animation-duration:8s;animation-direction:reverse}
@keyframes ocpAmsFlow{to{stroke-dashoffset:-96}}
.ocp-ams-strip .bike{animation:ocpAmsBike 16s linear infinite}
@keyframes ocpAmsBike{from{transform:translateX(-60px)}to{transform:translateX(910px)}}
.ocp-ams.is-off .ocp-ams-strip *{animation-play-state:paused!important}
.ocp-lo .ocp-ams-dl{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:clamp(18px,3vw,36px);align-items:center;margin-top:clamp(26px,4vw,44px)}
.ocp-lo .ocp-ams-dltxt h3{font-family:var(--h);font-weight:600;font-size:clamp(24px,2.6vw,30px);margin:0 0 10px;color:var(--ink)}
.ocp-lo .ocp-ams-dltxt p{margin:0;font-size:16px;line-height:1.7}
.ocp-lo .ocp-ams-gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ocp-lo .ocp-ams-gal img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:4px;border:1px solid var(--line)}
@media (max-width:820px){.ocp-lo .ocp-ams-grid,.ocp-lo .ocp-ams-dl{grid-template-columns:minmax(0,1fr)}.ocp-lo .ocp-ams-photo img{max-height:440px;object-position:50% 30%}}
@media (max-width:480px){.ocp-lo .ocp-ams-gal{gap:6px}}
@media (prefers-reduced-motion:reduce){.ocp-ams-strip *{animation:none!important}.ocp-ams-strip .win{fill:rgba(245,183,49,.35)}}

.ocp-lo .ocp-ams-tst{margin:clamp(22px,3.5vw,36px) 0 0;background:#fff;border:1px solid var(--line);border-radius:4px;padding:clamp(22px,3.4vw,36px);display:flex;flex-direction:column;gap:18px}
.ocp-lo .ocp-ams-tst blockquote{margin:0;padding:0 0 0 18px;border:0;border-left:2px solid rgba(245,183,49,.75);background:none;font-family:var(--b);font-style:normal;font-size:clamp(16px,1.6vw,18px);line-height:1.72;color:rgba(32,31,29,.86);quotes:none}
.ocp-lo .ocp-ams-tst blockquote p{margin:0 0 10px}.ocp-lo .ocp-ams-tst blockquote p:last-child{margin:0}
.ocp-lo .ocp-ams-tst figcaption{display:flex;align-items:center;gap:14px;margin:0;padding:0;text-align:left}
.ocp-lo .ocp-ams-tst figcaption img{width:56px;height:56px;border-radius:50%;object-fit:cover;filter:grayscale(1);flex:0 0 56px}
.ocp-lo .ocp-ams-tst figcaption b{display:block;font-family:var(--h);font-size:20px;font-weight:600;color:var(--ink);line-height:1.2}
.ocp-lo .ocp-ams-tst figcaption small{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:3px;line-height:1.45}

/* Birmingham animated section */
.ocp-lo .ocp-bh-lede{max-width:70ch;font-size:16.5px;line-height:1.7;color:var(--muted);margin:0 0 clamp(18px,3vw,26px) !important}
.ocp-lo .ocp-bh-art{border:1px solid var(--line);border-radius:4px;background:#fff;padding:clamp(8px,1.6vw,16px);overflow:hidden}
.ocp-lo .ocp-bh-scene{display:block;width:100%;height:auto}
.ocp-bh-scene .rise{transform-box:fill-box}
.ocp-bh.js .ocp-bh-scene .rise{opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.ocp-bh.js.is-play .ocp-bh-scene .rise{opacity:1;transform:none}
.ocp-bh-scene .win{opacity:0;animation:ocpBhWin 9s ease-in-out infinite;animation-delay:calc(var(--i)*-.55s)}
.ocp-bh-scene .sheen{animation:ocpBhSheen 6.5s ease-in-out infinite;animation-delay:1.6s}
.ocp-bh-scene .boat{transform-box:view-box}
.ocp-bh-scene .b1{animation:ocpBhBoat1 30s linear infinite;animation-delay:-9s}
.ocp-bh-scene .b2{animation:ocpBhBoat2 40s linear infinite;animation-delay:-22s}
.ocp-bh-scene .puff{transform-box:fill-box;transform-origin:center;animation:ocpBhPuff 3.6s ease-out infinite;animation-delay:calc(var(--i)*-1.2s)}
.ocp-bh-scene .flow{animation:ocpBhFlow 5s linear infinite}.ocp-bh-scene .f2{animation-duration:7s;animation-direction:reverse}
.ocp-bh-scene .duck{animation:ocpBhDuck 3.4s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-1.3s)}
.ocp-bh-scene .bird{animation:ocpBhBird 9s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-3s)}
.ocp-bh-scene .chip{opacity:0;transform-box:fill-box;animation:ocpBhChip 9s ease-in-out infinite;animation-delay:calc(1.5s + var(--i)*3s)}
.ocp-bh.is-off .ocp-bh-scene *{animation-play-state:paused !important}
@keyframes ocpBhWin{0%,35%{opacity:0}45%,85%{opacity:.9}95%,100%{opacity:0}}
@keyframes ocpBhSheen{0%{transform:skewX(-18deg) translateX(-40px)}55%,100%{transform:skewX(-18deg) translateX(420px)}}
@keyframes ocpBhBoat1{0%{transform:translateX(-260px)}100%{transform:translateX(960px)}}
@keyframes ocpBhBoat2{0%{transform:translateX(940px)}100%{transform:translateX(-160px)}}
@keyframes ocpBhPuff{0%{opacity:0;transform:translate(0,4px) scale(.5)}20%{opacity:1}100%{opacity:0;transform:translate(-14px,-30px) scale(1.6)}}
@keyframes ocpBhFlow{to{stroke-dashoffset:-160}}
@keyframes ocpBhDuck{0%{transform:translate(0,0)}100%{transform:translate(-10px,2px)}}
@keyframes ocpBhBird{0%{transform:translate(0,0)}100%{transform:translate(26px,-8px)}}
@keyframes ocpBhChip{0%{opacity:0;transform:translateY(20px)}5%,26%{opacity:1;transform:translateY(0)}33%,100%{opacity:0;transform:translateY(-18px)}}
.ocp-lo .ocp-bh-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:clamp(20px,3vw,32px)}
.ocp-lo .ocp-bh-stats div{padding:18px clamp(12px,2vw,24px);display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--line)}
.ocp-lo .ocp-bh-stats div:last-child{border-right:0}
.ocp-lo .ocp-bh-stats b{font-family:var(--h);font-size:clamp(28px,3.4vw,40px);line-height:1;color:var(--ink);font-weight:600}
.ocp-lo .ocp-bh-stats span{font-size:14px;line-height:1.45;color:var(--muted)}
.ocp-bh.js .ocp-bh-stats div{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(1.3s + var(--i)*.18s)}
.ocp-bh.js.is-play .ocp-bh-stats div{opacity:1;transform:none}
@media (max-width:640px){.ocp-bh-scene .chips{display:none}.ocp-lo .ocp-bh-stats{grid-template-columns:minmax(0,1fr)}.ocp-lo .ocp-bh-stats div{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:baseline;gap:12px}.ocp-lo .ocp-bh-stats div:last-child{border-bottom:0}.ocp-lo .ocp-bh-stats b{flex:0 0 92px;font-size:28px}}
@media (prefers-reduced-motion:reduce){.ocp-bh-scene *{animation:none !important}.ocp-bh.js .ocp-bh-scene .rise,.ocp-bh.js .ocp-bh-stats div{opacity:1;transform:none;transition:none}.ocp-bh-scene .win{opacity:.6}.ocp-bh-scene .chip{opacity:0}.ocp-bh-scene .b1{transform:translateX(420px)}.ocp-bh-scene .b2{transform:translateX(120px)}}

/* Birmingham train */
.ocp-bt-scene{display:block;width:100%;height:auto}
.ocp-bt-scene .train{animation:ocpBtTrain 14s ease-in-out infinite}
.ocp-bt-scene .on{opacity:0}
.ocp-bt-scene .st0 .on{opacity:1}
.ocp-bt-scene .st1 .on{animation:ocpBtS1 14s linear infinite}
.ocp-bt-scene .st2 .on{animation:ocpBtS2 14s linear infinite}
.ocp-bt-scene .st3 .on{animation:ocpBtS3 14s linear infinite}
.ocp-bt-scene .trk{stroke-dasharray:1;stroke-dashoffset:1;animation:ocpBtTrk 14s ease-in-out infinite}
.ocp-bt-scene .meet{opacity:.35;animation:ocpBtMeet 14s linear infinite}
.ocp-bt-scene .steam{animation:ocpBtSteam 2.4s ease-in-out infinite}.ocp-bt-scene .s2{animation-delay:-1.2s}
.ocp-bt.is-off .ocp-bt-scene *{animation-play-state:paused !important}
.ocp-bt.js .ocp-bh-stats div{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(.4s + var(--i)*.18s)}
.ocp-bt.js.is-play .ocp-bh-stats div{opacity:1;transform:none}
@keyframes ocpBtTrain{0%,6%{transform:translateX(0);opacity:1}26%,32%{transform:translateX(260px)}52%,58%{transform:translateX(510px)}80%,93%{transform:translateX(760px);opacity:1}97%{transform:translateX(760px);opacity:0}98%{transform:translateX(0);opacity:0}100%{transform:translateX(0);opacity:1}}
@keyframes ocpBtTrk{0%,6%{stroke-dashoffset:1}26%,32%{stroke-dashoffset:.658}52%,58%{stroke-dashoffset:.329}80%,93%{stroke-dashoffset:0;opacity:1}97%{opacity:0}98%{stroke-dashoffset:1;opacity:0}100%{opacity:1}}
@keyframes ocpBtS1{0%,25%{opacity:0}27%,95%{opacity:1}98%,100%{opacity:0}}
@keyframes ocpBtS2{0%,51%{opacity:0}53%,95%{opacity:1}98%,100%{opacity:0}}
@keyframes ocpBtS3{0%,79%{opacity:0}81%,95%{opacity:1}98%,100%{opacity:0}}
@keyframes ocpBtMeet{0%,79%{opacity:.35}83%,94%{opacity:1}98%,100%{opacity:.35}}
@keyframes ocpBtSteam{0%,100%{opacity:.2;transform:translateY(2px)}50%{opacity:1;transform:translateY(-2px)}}

@media (prefers-reduced-motion:reduce){.ocp-bt-scene *{animation:none !important}.ocp-bt-scene .on{opacity:1}.ocp-bt-scene .trk{stroke-dashoffset:0}.ocp-bt-scene .train{transform:translateX(760px)}.ocp-bt-scene .meet{opacity:1}.ocp-bt.js .ocp-bh-stats div{opacity:1;transform:none;transition:none}}

.ocp-bh-glint{animation:ocpBhGl 6s ease-in-out infinite}@keyframes ocpBhGl{0%,70%,100%{opacity:0}82%{opacity:.3}}@media (prefers-reduced-motion:reduce){.ocp-bh-glint{animation:none}}

html body .ocp-lo .ocp-lo-gk.ocp-lo-gk--bham .ocp-lo-form{border-radius:0 !important;background:radial-gradient(circle at 8.5px 8.5px, transparent 6.5px, rgba(201,151,58,.22) 7px, rgba(201,151,58,.22) 7.8px, transparent 8.3px) 0 0/17px 17px,#201f1d !important;border-bottom:4px solid #f5b731 !important;box-shadow:0 10px 0 -6px rgba(245,183,49,.45) !important}

.ocp-bt-v{display:none;width:100%;max-width:360px;height:auto;margin:0 auto}
.ocp-bt-v .vtrain{animation:ocpBtV 14s ease-in-out infinite}
.ocp-bt-v .on{opacity:0}.ocp-bt-v .st0 .on{opacity:1}
.ocp-bt-v .st1 .on{animation:ocpBtS1 14s linear infinite}.ocp-bt-v .st2 .on{animation:ocpBtS2 14s linear infinite}.ocp-bt-v .st3 .on{animation:ocpBtS3 14s linear infinite}
.ocp-bt-v .trk{stroke-dasharray:1;stroke-dashoffset:1;animation:ocpBtTrk 14s ease-in-out infinite}
.ocp-bt-v .meet{opacity:.35;animation:ocpBtMeet 14s linear infinite}
.ocp-bt-v .steam{animation:ocpBtSteam 2.4s ease-in-out infinite}.ocp-bt-v .s2{animation-delay:-1.2s}
.ocp-bt.is-off .ocp-bt-v *{animation-play-state:paused !important}
@keyframes ocpBtV{0%,6%{transform:translateY(0);opacity:1}26%,32%{transform:translateY(90px)}52%,58%{transform:translateY(180px)}80%,93%{transform:translateY(270px);opacity:1}97%{transform:translateY(270px);opacity:0}98%{transform:translateY(0);opacity:0}100%{transform:translateY(0);opacity:1}}
@media (max-width:640px){.ocp-bt .ocp-bt-scene{display:none !important}.ocp-bt .ocp-bt-v{display:block}}
@media (prefers-reduced-motion:reduce){.ocp-bt-v *{animation:none !important}.ocp-bt-v .on{opacity:1}.ocp-bt-v .trk{stroke-dashoffset:0}.ocp-bt-v .vtrain{transform:translateY(270px)}.ocp-bt-v .meet{opacity:1}}
html body .ocp-lo .ocp-bt .ocp-lo-h2,html body .ocp-lo .ocp-bh .ocp-lo-h2{letter-spacing:-.005em !important}
body:has(.ocp-lo) .page_header .header_top,body:has(.ocp-lo) .page_header .header_bottom{background-color:#fff !important}
