:root{
    --navy-950:#071422;
    --navy-900:#0B1E33;
    --navy-800:#123153;
    --ocean-600:#1C5580;
    --ocean-500:#2C6FA0;
    --brass-500:#C6963C;
    --brass-400:#DCB463;
    --paper-50:#F6F3EC;
    --paper-100:#EFEADF;
    --ink-900:#101820;
    --ink-600:#4A5A66;
    --mist-200:#DCE3E8;
    --line:rgba(255,255,255,0.14);
    --shadow-soft:0 20px 60px -25px rgba(7,20,34,0.45);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper-50);
    color:var(--ink-900);
    font-family:'Public Sans',sans-serif;
    font-weight:400;
    line-height:1.6;
    overflow-x:hidden;
  }
  h1,h2,h3,h4{
    font-family:'Fraunces',serif;
    margin:0;
    color:var(--navy-900);
    letter-spacing:-0.01em;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .eyebrow{
    font-family:'IBM Plex Mono',monospace;
    font-size:0.72rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--brass-500);
    display:flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:"";
    width:22px;height:1px;background:var(--brass-500);
    display:inline-block;
    transform-origin:left center;
    animation:drawLine .7s .15s cubic-bezier(.3,.7,.2,1) both;
  }
  .eyebrow .caret{
    display:inline-block;width:7px;height:13px;background:var(--brass-500);
    margin-left:2px;animation:caretBlink 1s steps(1) infinite;
  }
  @keyframes drawLine{from{transform:scaleX(0);}to{transform:scaleX(1);}}
  @keyframes caretBlink{0%,49%{opacity:1;}50%,100%{opacity:0;}}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
  @media(max-width:640px){.wrap{padding:0 20px;}}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
  }

  /* ---------- NAV ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:22px 0;
    transition:all .4s ease;
    background:transparent;
  }
  header.scrolled{
    padding:12px 0;
    background:rgba(7,20,34,0.86);
    backdrop-filter:blur(14px);
    box-shadow:0 10px 30px -20px rgba(0,0,0,0.6);
  }
  nav.wrap{display:flex;align-items:center;justify-content:space-between;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,0.3);}
  .brand-text{display:flex;flex-direction:column;line-height:1.15;}
  .brand-text strong{font-family:'Fraunces',serif;font-size:0.95rem;color:#fff;letter-spacing:0.03em;}
  .brand-text span{font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.12em;color:var(--brass-400);text-transform:uppercase;}
  .navlinks{display:flex;gap:34px;align-items:center;}
  .navlinks a{
    font-size:0.85rem;color:rgba(255,255,255,0.85);position:relative;padding:6px 0;
    transition:color .25s ease;
  }
  .navlinks a::after{
    content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--brass-400);
    transition:width .3s ease;
  }
  .navlinks a:hover{color:#fff;}
  .navlinks a:hover::after{width:100%;}
  .nav-cta{
    border:1px solid var(--brass-400); color:#fff !important; padding:9px 20px !important;
    border-radius:999px; font-family:'IBM Plex Mono',monospace; font-size:0.72rem !important;
    letter-spacing:0.08em; text-transform:uppercase;
  }
  .nav-cta::after{display:none;}
  .nav-cta:hover{background:var(--brass-400);color:var(--navy-950) !important;}
  .menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.4rem;cursor:pointer;}
  @media(max-width:880px){
    .navlinks{position:fixed;inset:0 0 0 auto;width:78%;max-width:320px;background:var(--navy-950);
      flex-direction:column;justify-content:center;align-items:flex-start;padding:40px;gap:26px;
      transform:translateX(100%);transition:transform .4s ease;}
    .navlinks.open{transform:translateX(0);}
    .menu-toggle{display:block;}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:100vh;
    background:radial-gradient(ellipse at 20% 0%, #14314f 0%, var(--navy-950) 55%);
    color:#fff;
    display:flex;align-items:center;
    padding:150px 0 100px;
    overflow:hidden;
  }
  .hero-grid{
    position:absolute;inset:0;
    background-image:linear-gradient(rgba(255,255,255,0.045) 1px,transparent 1px),
                      linear-gradient(90deg,rgba(255,255,255,0.045) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,0.9),transparent 85%);
  }
  .route-svg{position:absolute;right:-6%;top:8%;width:64%;max-width:760px;opacity:0.9;transition:transform .5s cubic-bezier(.2,.7,.2,1);z-index:1;}
  @media(max-width:980px){.route-svg{opacity:0.35;right:-20%;}}

  /* ---------- hero cargo scene (animated bg) ---------- */
  .hero-scene{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
  @media(max-width:760px){.hero-scene{opacity:0.55;}}
  .hero-photo{
    position:absolute;inset:0;z-index:0;
    background-image:url('gallery/full/BG1.jpeg');
    background-size:cover;background-position:center;
    animation:kenBurns 26s ease-in-out infinite alternate;
    filter:saturate(0.9) brightness(0.85);
  }
  @keyframes kenBurns{
    0%{transform:scale(1) translate(0,0);}
    100%{transform:scale(1.14) translate(-2%,-2%);}
  }
  @media(prefers-reduced-motion: reduce){.hero-photo{animation:none;}}
  .hero::before{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(100deg, var(--navy-950) 0%, rgba(7,20,34,0.86) 32%, rgba(7,20,34,0.32) 58%, transparent 82%);
  }
  .trail{stroke-dasharray:130 420;animation:trailFlow 3.4s linear infinite;}
  .t2{animation-delay:.55s;}
  .t3{animation-delay:1.1s;}
  .t4{animation-delay:1.65s;}
  @keyframes trailFlow{
    0%{stroke-dashoffset:420;opacity:0;}
    12%{opacity:.55;}
    88%{opacity:.55;}
    100%{stroke-dashoffset:0;opacity:0;}
  }
  .route-path{
    fill:none;stroke:var(--brass-400);stroke-width:1.4;stroke-dasharray:6 8;opacity:0.75;
  }
  .route-path.solid{stroke:rgba(255,255,255,0.28);stroke-dasharray:none;stroke-width:1;}
  .route-dot{fill:var(--brass-400);}
  .route-ship{
    offset-path: path("M40,210 C160,60 320,300 480,120 C560,32 620,140 660,70");
    animation:sail 9s linear infinite;
  }
  @keyframes sail{ from{offset-distance:0%;} to{offset-distance:100%;} }
  .pulse{animation:pulse 2.4s ease-in-out infinite;}
  @keyframes pulse{
    0%,100%{opacity:1; r:4;}
    50%{opacity:0.35; r:7;}
  }

  .hero-inner{position:relative;z-index:2;max-width:640px;}
  .hero .eyebrow{color:var(--brass-400);}
  .hero h1{
    font-size:clamp(2.6rem,5.6vw,4.2rem);
    font-weight:600;
    color:#fff;
    margin:22px 0 6px;
    line-height:1.04;
    perspective:800px;
  }
  .hero h1 .w{
    display:inline-block;
    opacity:0;
    filter:blur(6px);
    transform:translateY(48px) rotateX(35deg);
    animation:wordUp .95s cubic-bezier(.16,.84,.24,1) forwards;
    animation-delay:calc(var(--i, 0) * 90ms + 200ms);
    transform-origin:bottom center;
  }
  @keyframes wordUp{
    to{opacity:1;filter:blur(0);transform:translateY(0) rotateX(0);}
  }
  .hero h1 em{
    font-style:italic;font-weight:400;
    background:linear-gradient(100deg, var(--brass-500) 0%, #fff 32%, var(--brass-400) 55%, var(--brass-500) 100%);
    background-size:250% auto;
    -webkit-background-clip:text;background-clip:text;color:transparent;
    animation:wordUp .95s cubic-bezier(.16,.84,.24,1) forwards,
              shimmer 5s linear infinite 1.3s;
    animation-delay:calc(var(--i, 0) * 90ms + 200ms), 1.3s;
  }
  @keyframes shimmer{
    0%{background-position:0% 50%;}
    100%{background-position:250% 50%;}
  }
  .hero .lede{
    font-size:1.02rem;color:rgba(255,255,255,0.72);max-width:480px;margin:20px 0 34px;
    font-weight:300;
    opacity:0;
    animation:fadeUp .8s ease forwards;
    animation-delay:1.05s;
  }
  @keyframes fadeUp{
    from{opacity:0;transform:translateY(16px);}
    to{opacity:1;transform:translateY(0);}
  }
  .hero .btn-row{opacity:0;animation:fadeUp .8s ease forwards;animation-delay:1.25s;}
  .hero-meta{opacity:0;animation:fadeUp .9s ease forwards;animation-delay:1.4s;}
  .hero-meta div strong{
    display:block;font-family:'Fraunces',serif;font-size:1.6rem;color:#fff;
  }
  .hero-meta div{position:relative;}
  .hero-meta div::after{
    content:"";position:absolute;left:0;bottom:-27px;height:1px;width:0;background:var(--brass-400);
    animation:drawLine .8s cubic-bezier(.3,.7,.2,1) forwards;
    animation-delay:calc(1.7s + var(--mi,0) * 120ms);
  }
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:15px 30px;border-radius:2px;
    font-family:'IBM Plex Mono',monospace;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;
    background:var(--brass-500);color:var(--navy-950);
    border:1px solid var(--brass-500);
    transition:transform .3s ease, box-shadow .3s ease, background .3s ease;
  }
  .btn:hover{transform:translateY(-3px);box-shadow:0 16px 30px -12px rgba(198,150,60,0.55);}
  .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,0.4);}
  .btn.ghost:hover{background:rgba(255,255,255,0.08);border-color:#fff;}
  .btn-row{display:flex;gap:16px;flex-wrap:wrap;}

  .hero-meta{
    position:relative;z-index:2;
    display:flex;gap:40px;margin-top:64px;flex-wrap:wrap;
    border-top:1px solid var(--line);padding-top:26px;max-width:640px;
  }
  .hero-meta div strong{display:block;font-family:'Fraunces',serif;font-size:1.6rem;color:#fff;}
  .hero-meta div span{font-size:0.74rem;color:rgba(255,255,255,0.55);text-transform:uppercase;letter-spacing:0.06em;}

  /* ---------- reveal ---------- */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease, transform .8s ease;}
  .reveal.is-visible{opacity:1;transform:translateY(0);}
  .reveal-stagger > *{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
  .reveal-stagger.is-visible > *{opacity:1;transform:translateY(0);}
  .reveal-stagger.is-visible > *:nth-child(1){transition-delay:.05s;}
  .reveal-stagger.is-visible > *:nth-child(2){transition-delay:.15s;}
  .reveal-stagger.is-visible > *:nth-child(3){transition-delay:.25s;}
  .reveal-stagger.is-visible > *:nth-child(4){transition-delay:.35s;}
  .reveal-stagger.is-visible > *:nth-child(5){transition-delay:.45s;}

  /* ---------- MARQUEE / MEMBERSHIP ---------- */
  .strip{
    background:var(--navy-900);padding:26px 0;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  }
  .strip .wrap{display:flex;align-items:center;gap:28px;}
  .strip .eyebrow{color:rgba(255,255,255,0.55);white-space:nowrap;}
  .strip .eyebrow::before{background:rgba(255,255,255,0.35);}
  .marquee-track{display:flex;gap:64px;align-items:center;animation:marquee 22s linear infinite;}
  .marquee-outer{overflow:hidden;flex:1;mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);}
  .marquee-track img{height:44px;width:auto;filter:grayscale(1) brightness(2.4);opacity:0.85;}
  @keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ---------- SECTION SHELL ---------- */
  section{padding:110px 0;}
  .section-head{max-width:640px;margin-bottom:56px;}
  .section-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:500;margin-top:14px;}
  .section-head p{color:var(--ink-600);margin-top:16px;font-size:1rem;}

  /* ---------- SERVICES ---------- */
  .services{background:var(--paper-50);}
  .service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--mist-200);border:1px solid var(--mist-200);}
  @media(max-width:980px){.service-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:600px){.service-grid{grid-template-columns:1fr;}}
  .service-card{
    background:var(--paper-50);padding:38px 30px;position:relative;overflow:hidden;
    transition:background .35s ease;
  }
  .service-card:hover{background:#fff;}
  .service-card::before{
    content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--brass-500);transition:width .4s ease;
  }
  .service-card:hover::before{width:100%;}
  .service-icon{width:44px;height:44px;margin-bottom:22px;}
  .service-card h3{font-size:1.15rem;font-weight:600;margin-bottom:12px;}
  .service-card p{font-size:0.88rem;color:var(--ink-600);margin:0 0 18px;}
  .service-card a{
    font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.06em;text-transform:uppercase;
    color:var(--ocean-600);display:inline-flex;align-items:center;gap:6px;
  }
  .service-card a span{transition:transform .3s ease;}
  .service-card a:hover span{transform:translateX(4px);}

  /* ---------- QUOTE ---------- */
  .quote-section{
    background:var(--navy-950);color:#fff;position:relative;
  }
  .quote-mark{font-family:'Fraunces',serif;font-size:6rem;color:var(--brass-500);opacity:0.6;line-height:0.6;}
  .quote-section blockquote{
    font-family:'Fraunces',serif;font-size:clamp(1.6rem,3.4vw,2.5rem);font-weight:400;font-style:italic;
    max-width:760px;color:#fff;margin:12px 0 44px;line-height:1.3;
  }
  .quote-section blockquote strong{color:var(--brass-400);font-weight:600;font-style:normal;}
  .team-row{display:flex;gap:20px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none;}
  .team-row::-webkit-scrollbar{display:none;}
  .team-card{flex:0 0 auto;width:150px;text-align:left;}
  .team-card .ph{
    width:150px;height:190px;border-radius:4px;overflow:hidden;position:relative;
    filter:grayscale(0.5) contrast(1.02);
  }
  .team-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease, filter .5s ease;}
  .team-card:hover img{transform:scale(1.06);filter:none;}
  .team-card .name{font-size:0.82rem;margin-top:12px;color:#fff;}
  .team-card .role{font-family:'IBM Plex Mono',monospace;font-size:0.62rem;color:var(--brass-400);text-transform:uppercase;letter-spacing:0.05em;margin-top:3px;}

  /* ---------- ABOUT ---------- */
  .about{background:var(--paper-100);}
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;}
  @media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:40px;}}
  .about-copy p{color:var(--ink-600);margin-bottom:18px;}
  .about-photos{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;}
  .about-photos img{border-radius:4px;object-fit:cover;height:100%;box-shadow:var(--shadow-soft);}
  .about-photos .tall{grid-row:span 2;height:100%;aspect-ratio:3/4;}
  .about-photos .short{aspect-ratio:4/3;}
  .pillars{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:48px;}
  @media(max-width:600px){.pillars{grid-template-columns:1fr;}}
  .pillar{border-left:2px solid var(--brass-500);padding-left:20px;}
  .pillar h4{font-size:1.05rem;font-weight:600;margin-bottom:10px;}
  .pillar p{font-size:0.88rem;color:var(--ink-600);}

  /* ---------- PROJECT CARGO ---------- */
  .project{background:var(--navy-900);color:#fff;}
  .project-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
  @media(max-width:900px){.project-grid{grid-template-columns:1fr;gap:36px;}}
  .project h2{color:#fff;}
  .project p{color:rgba(255,255,255,0.68);margin:20px 0 30px;}
  .project-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .project-photos img{border-radius:4px;height:100%;object-fit:cover;}
  .project-photos img:first-child{grid-row:span 2;aspect-ratio:3/4;}
  .project-photos img:last-child{aspect-ratio:16/10;}

  /* ---------- CTA BANNER ---------- */
  .cta-banner{
    background:linear-gradient(120deg,var(--brass-500),#B4842E);
    color:var(--navy-950);text-align:center;padding:90px 0;
  }
  .cta-banner h2{color:var(--navy-950);font-size:clamp(1.8rem,4vw,2.6rem);}
  .cta-banner p{max-width:520px;margin:16px auto 32px;color:rgba(7,20,34,0.75);}
  .cta-banner .btn{background:var(--navy-950);color:#fff;border-color:var(--navy-950);}
  .cta-banner .btn:hover{box-shadow:0 16px 30px -12px rgba(7,20,34,0.5);}

  /* ---------- CONTACT ---------- */
  .contact{background:var(--paper-50);}
  .offices{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--mist-200);border:1px solid var(--mist-200);margin-bottom:60px;}
  @media(max-width:860px){.offices{grid-template-columns:1fr;}}
  .office{background:#fff;padding:32px 28px;}
  .office .tag{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;color:var(--brass-500);text-transform:uppercase;letter-spacing:0.1em;}
  .office h3{margin:12px 0 14px;font-size:1.2rem;}
  .office address{font-style:normal;color:var(--ink-600);font-size:0.88rem;margin-bottom:14px;}
  .office .line{font-size:0.85rem;color:var(--ink-900);margin:4px 0;}
  .office .line b{color:var(--ink-600);font-weight:500;margin-right:6px;}

  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;}
  @media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:44px;}}
  .form-field{margin-bottom:20px;}
  .form-field label{display:block;font-family:'IBM Plex Mono',monospace;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-600);margin-bottom:8px;}
  .form-field input, .form-field textarea{
    width:100%;border:none;border-bottom:1.5px solid var(--mist-200);background:transparent;
    padding:10px 2px;font-family:'Public Sans',sans-serif;font-size:0.95rem;color:var(--ink-900);
    transition:border-color .3s ease;
  }
  .form-field input:focus, .form-field textarea:focus{outline:none;border-color:var(--brass-500);}
  .form-field textarea{resize:vertical;min-height:100px;}
  .map-frame{
    border-radius:4px;overflow:hidden;position:relative;height:100%;min-height:340px;
    background:var(--navy-900);
  }
  .map-frame svg{width:100%;height:100%;}

  /* ---------- GALLERY ---------- */
  .gallery{background:var(--paper-100);}
  .g-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
  .g-tab{
    font-family:'IBM Plex Mono',monospace;font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;
    padding:9px 18px;border-radius:999px;border:1px solid var(--mist-200);background:#fff;color:var(--ink-600);
    cursor:pointer;transition:all .25s ease;
  }
  .g-tab:hover{border-color:var(--brass-500);color:var(--navy-900);}
  .g-tab.active{background:var(--navy-900);border-color:var(--navy-900);color:#fff;}
  .g-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;
  }
  .g-item{
    position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:4px;
    background:var(--mist-200);opacity:0;transform:translateY(16px) scale(0.97);
  }
  .g-grid.g-visible .g-item{
    animation:gpop .6s cubic-bezier(.2,.8,.2,1) forwards;
    animation-delay:calc(var(--gi, 0) * 35ms);
  }
  @keyframes gpop{to{opacity:1;transform:translateY(0) scale(1);}}
  .g-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .4s ease;filter:grayscale(0.15) contrast(1.02);}
  .g-item::after{
    content:"↗";position:absolute;right:10px;top:10px;width:26px;height:26px;border-radius:50%;
    background:rgba(7,20,34,0.55);color:#fff;display:flex;align-items:center;justify-content:center;
    font-size:0.85rem;opacity:0;transform:translateY(-6px);transition:all .3s ease;
  }
  .g-item:hover img{transform:scale(1.08);filter:none;}
  .g-item:hover::after{opacity:1;transform:translateY(0);}
  .g-item.g-hidden{display:none;}
  .g-count{font-family:'IBM Plex Mono',monospace;font-size:0.72rem;color:var(--ink-600);margin-top:26px;text-align:center;}

  footer{background:var(--navy-950);color:rgba(255,255,255,0.6);padding:50px 0 30px;}
  .footer-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:24px;}
  .footer-top .brand-text strong{color:#fff;}
  footer .flinks{display:flex;gap:26px;font-size:0.82rem;flex-wrap:wrap;}
  footer .flinks a:hover{color:var(--brass-400);}
  .foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:0.76rem;}

/* ---------- SERVICE DETAIL PAGE ---------- */
.page-hero{
  position:relative;min-height:46vh;display:flex;align-items:flex-end;
  background:radial-gradient(ellipse at 20% 0%, #14314f 0%, var(--navy-950) 55%);
  color:#fff;padding:150px 0 60px;overflow:hidden;
}
.page-hero .hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.045) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,rgba(0,0,0,0.9),transparent 85%);}
.page-hero-inner{position:relative;z-index:2;}
.breadcrumb{font-family:'IBM Plex Mono',monospace;font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;color:rgba(255,255,255,0.55);margin-bottom:18px;}
.breadcrumb a{color:rgba(255,255,255,0.75);}
.breadcrumb a:hover{color:var(--brass-400);}
.page-hero h1{font-size:clamp(2.2rem,4.6vw,3.4rem);font-weight:600;color:#fff;margin-top:14px;max-width:760px;}

.service-detail{background:var(--paper-50);}
.sd-lede{font-size:1.05rem;color:var(--ink-600);max-width:720px;margin-bottom:50px;}
.sd-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
@media(max-width:900px){.sd-grid{grid-template-columns:1fr;gap:34px;}}
.sd-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.sd-photos img{border-radius:4px;object-fit:cover;box-shadow:var(--shadow-soft);width:100%;height:100%;}
.sd-photos .tall{grid-column:span 2;aspect-ratio:16/9;}
.sd-photos .short{aspect-ratio:4/3.4;}
.sd-copy h3{font-size:1.4rem;font-weight:600;margin-bottom:16px;}
.sd-copy p{color:var(--ink-600);margin-bottom:16px;}
.sd-list{list-style:none;padding:0;margin:26px 0 34px;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;}
@media(max-width:560px){.sd-list{grid-template-columns:1fr;}}
.sd-list li{
  font-size:0.9rem;color:var(--ink-900);padding-left:22px;position:relative;
}
.sd-list li::before{
  content:"";position:absolute;left:0;top:8px;width:10px;height:1.5px;background:var(--brass-500);
}

.other-services{background:var(--navy-900);color:#fff;padding:70px 0;}
.other-services .eyebrow{color:var(--brass-400);margin-bottom:24px;}
.os-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,0.1);}
@media(max-width:760px){.os-grid{grid-template-columns:1fr;}}
.os-card{
  background:var(--navy-950);padding:26px 24px;transition:background .3s ease;
}
.os-card:hover{background:#0e2438;}
.os-card .tag{font-family:'IBM Plex Mono',monospace;font-size:0.65rem;color:var(--brass-400);text-transform:uppercase;letter-spacing:0.08em;}
.os-card h4{font-family:'Fraunces',serif;font-size:1.1rem;font-weight:600;color:#fff;margin:10px 0 12px;}
.os-card span{font-size:0.78rem;color:rgba(255,255,255,0.5);display:inline-flex;align-items:center;gap:6px;}
