.brand-icon img{width:100%;height:100%;border-radius:inherit}
.service-grid .service-card:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
.service-grid .service-card:last-child:nth-child(odd) .service-photo{height:100%;min-height:300px}
.service-grid .service-card:last-child:nth-child(odd) .service-copy{display:flex;flex-direction:column;align-items:start;justify-content:center;padding:50px}
.service-grid .service-card:last-child:nth-child(odd) .service-copy p{min-height:0}
@media(max-width:600px){
  .service-grid .service-card:last-child:nth-child(odd){grid-column:auto;display:block}
  .service-grid .service-card:last-child:nth-child(odd) .service-photo{height:240px;min-height:0}
  .service-grid .service-card:last-child:nth-child(odd) .service-copy{display:block;padding:25px}
}
.portfolio-feature{background:#eaf3ff}
.page-portfolio-waterside-wedding .inner-hero.dark{min-height:600px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(10,21,48,.95),rgba(10,21,48,.62) 55%,rgba(10,21,48,.12)),url("photos/wedding-ceremony.jpg") center/cover}
.portfolio-feature-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:80px;align-items:center}
.portfolio-feature-photo{height:540px;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}
.portfolio-feature-photo img{width:100%;height:100%;object-fit:cover}
.portfolio-feature-copy h2{font-size:clamp(50px,4.7vw,74px);margin:23px 0}
.portfolio-feature-copy p{font-size:17px;line-height:1.85;color:var(--muted);margin-bottom:30px}
.portfolio-overview{background:#fff}
.portfolio-card{display:grid;grid-template-columns:1.2fr .8fr;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,transform .2s}
.portfolio-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.portfolio-card>div:first-child{height:490px}
.portfolio-card img{height:100%;width:100%;object-fit:cover}
.portfolio-card>div:last-child{display:flex;flex-direction:column;align-items:start;justify-content:center;padding:55px}
.portfolio-card h3{font:500 clamp(42px,4vw,63px)/1.04 Georgia,serif;letter-spacing:-.045em;margin:17px 0}
.portfolio-card p{color:var(--muted);line-height:1.8}
.portfolio-mosaic{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:280px 280px;gap:20px}
.portfolio-mosaic>div{overflow:hidden;border-radius:var(--radius)}
.portfolio-mosaic>.mosaic-lead{grid-row:1/3}
.portfolio-mosaic img{width:100%;height:100%;object-fit:cover}
.video-feature{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:60px}
.video-feature h2{font-size:clamp(44px,4vw,68px);margin:22px 0}
.video-feature p{color:var(--muted);font-size:16px;line-height:1.85}
.video-feature video{display:block;width:100%;max-height:600px;object-fit:contain;background:var(--navy);border-radius:var(--radius);box-shadow:var(--shadow)}
.portfolio-detail-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:23px}
.portfolio-detail-row img{height:260px;width:100%;object-fit:cover;border-radius:20px}
@media(max-width:820px){.portfolio-feature-grid,.portfolio-card,.video-feature{grid-template-columns:1fr;gap:30px}.portfolio-feature-photo{height:400px}.portfolio-card>div:first-child{height:380px}.portfolio-card>div:last-child{padding:30px}.portfolio-mosaic{grid-template-rows:240px 240px}}
@media(max-width:600px){.page-portfolio-waterside-wedding .inner-hero.dark{min-height:580px;background-position:58% center}.portfolio-feature-photo{height:300px}.portfolio-feature-copy h2{font-size:48px}.portfolio-feature-copy p{font-size:15px}.portfolio-card>div:first-child{height:290px}.portfolio-card h3{font-size:43px}.portfolio-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 180px;gap:9px}.portfolio-mosaic>.mosaic-lead{grid-column:1/3;grid-row:auto}.portfolio-detail-row img{height:180px}}
.team-feature{background:#fff}
.team-feature-grid,.team-story-grid,.about-team-inner{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(35px,6vw,100px)}
.team-feature-copy h2,.team-story-copy h2,.about-team-inner h2{font-size:clamp(48px,5vw,76px);margin:20px 0 24px}
.team-feature-copy p,.team-story-copy p,.about-team-inner p{font-size:17px;line-height:1.85;color:var(--muted);max-width:550px;margin-bottom:30px}
.team-feature-photos{display:grid;grid-template-columns:1fr .72fr;align-items:end;gap:16px;min-width:0}
.team-feature-photos>div{height:475px;overflow:hidden;border-radius:30px;box-shadow:var(--shadow)}
.team-feature-photos>div:last-child{height:350px;transform:translateY(34px)}
.team-feature-photos img,.team-story-photo img,.team-gallery img,.about-team-inner img{height:100%;width:100%;object-fit:cover}
.team-story-grid{grid-template-columns:1.07fr .93fr}
.team-story-photo{height:620px;overflow:hidden;border-radius:32px;box-shadow:var(--shadow)}
.team-story-photo img{object-position:center 42%}
.team-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;margin-top:42px}
.team-gallery figure{margin:0;overflow:hidden;border-radius:28px;background:#fff;border:1px solid var(--line)}
.team-gallery img{height:440px}
.team-gallery figure:last-child img{object-position:center 42%}
.team-gallery figcaption{padding:16px 22px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.about-team-tease{background:#eaf3ff}
.about-team-inner>div:first-child{height:490px;overflow:hidden;border-radius:30px;box-shadow:var(--shadow)}
@media(max-width:820px){.team-feature-grid,.team-story-grid,.about-team-inner{grid-template-columns:1fr;gap:36px}.team-feature-photos{max-width:650px}.team-story-photo{height:500px}.team-gallery img{height:350px}.about-team-inner>div:first-child{height:410px}}
@media(max-width:600px){.team-feature-copy h2,.team-story-copy h2,.about-team-inner h2{font-size:clamp(43px,11vw,56px)}.team-feature-copy p,.team-story-copy p,.about-team-inner p{font-size:15px}.team-feature-photos{gap:9px}.team-feature-photos>div{height:330px;border-radius:20px}.team-feature-photos>div:last-child{height:245px;transform:translateY(15px)}.team-story-photo{height:380px;border-radius:22px}.team-gallery{grid-template-columns:1fr;gap:14px;margin-top:30px}.team-gallery img{height:300px}.team-gallery figure:last-child img{height:360px}.about-team-inner>div:first-child{height:330px}}
.production-evidence{background:#eaf3ff}
.production-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px}
.production-detail{min-width:0;margin:0;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(10,21,48,.05)}
.production-detail img{width:100%;height:315px;object-fit:cover}
.production-detail:nth-child(5) img{object-position:center 45%}
.production-detail figcaption{padding:15px 18px;color:var(--navy);font-size:12px;font-weight:750;line-height:1.45;min-height:65px}
@media(max-width:1000px){.production-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.production-detail-grid{gap:10px;margin-top:26px}.production-detail{border-radius:16px}.production-detail img{height:215px}.production-detail figcaption{padding:11px 12px;font-size:11px;min-height:68px}}
.breadcrumbs{background:#fff;border-bottom:1px solid var(--line)}
.breadcrumbs ol{display:flex;align-items:center;gap:9px;list-style:none;margin:0 auto;padding-block:12px;color:#68758b;font-size:11px;font-weight:700;letter-spacing:.025em;white-space:nowrap;overflow-x:auto}
.breadcrumbs li+li:before{content:"/";margin-right:9px;color:#a5b1c3}
.breadcrumbs a:hover{color:var(--blue)}
.breadcrumbs [aria-current="page"]{color:var(--navy)}
.service-photo,.detail-photo{position:relative}
.concept-label{position:absolute;left:17px;bottom:17px;z-index:1;background:rgba(10,21,48,.92);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:7px 11px;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;line-height:1.2}
.concept-note{margin:18px 0 22px!important;padding:12px 15px;border-left:3px solid var(--blue);background:#eaf3ff;border-radius:0 10px 10px 0;font-size:13px!important;line-height:1.5!important}
.faq-section{background:#fff}
.faq-list{border-top:1px solid var(--line);max-width:960px}
.faq-list details{border-bottom:1px solid var(--line);padding:0 3px}
.faq-list summary{cursor:pointer;list-style:none;position:relative;padding:24px 38px 24px 0;color:var(--navy);font-size:18px;font-weight:750;line-height:1.4}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:3px;top:18px;color:var(--blue);font-size:28px;font-weight:400}
.faq-list details[open] summary:after{content:"−"}
.faq-list p{margin:0 0 24px;max-width:760px;color:var(--muted);font-size:15px;line-height:1.8}
@media(max-width:600px){.faq-list summary{font-size:16px;padding-block:20px}.faq-list p{font-size:14px}}
