/* Layout matched to the user-provided photography portfolio reference. */
:root{--paper:#f5f4f1;--ink:#202020;--muted:#656565;--line:#d5d4d1;--dark:#242525;--blue:#123e64}.header.ref-header{height:62px;padding:0 5.7%;gap:22px;border-bottom:0;background:#242525}.header.ref-header:not(.on-hero){color:#fff}.header.ref-header.on-hero{background:#24252588;backdrop-filter:blur(9px)}.ref-header .brand{font-size:1.45rem;letter-spacing:.24em;font-weight:400}.ref-header .brand span{font-size:.52rem;letter-spacing:.9em;margin-top:1px}.ref-header nav{gap:25px;margin-left:auto;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;align-items:center}.ref-header nav a{padding:7px 0;white-space:nowrap}.ref-header nav a[aria-current]{border-bottom:1px solid currentColor}.search-toggle{display:flex;align-items:center;justify-content:center;padding:8px;background:none;border:0;color:inherit}.header-social{display:flex;gap:22px;align-items:center;margin-left:auto}.header-social>a{display:flex;align-items:center;justify-content:center;font-size:.65rem}.header-social svg{width:17px;height:17px}.header-social .shop-link{border:1px solid currentColor;border-radius:24px;min-width:140px;height:34px;letter-spacing:.12em;font-size:.66rem;font-weight:600;text-transform:uppercase;padding:8px 23px}.ref-hero{height:clamp(390px,26.2vw,520px);min-height:0;max-height:none}.ref-hero>img{object-position:center 40%}.ref-hero .hero-shade{background:linear-gradient(90deg,#070c14a8 0%,#070c1430 53%,#070c1408),linear-gradient(0deg,#070c1480,transparent 55%)}.ref-hero .hero-copy{left:5.7%;bottom:30px;max-width:630px}.ref-hero .eyebrow{font-size:.6rem;letter-spacing:.36em;font-weight:400}.ref-hero .hero-copy h1{font-size:clamp(2.9rem,4vw,4.5rem);line-height:.99;letter-spacing:-.028em;margin:12px 0 16px}.ref-hero .hero-copy>p:not(.eyebrow){font-size:.94rem;line-height:1.5;max-width:500px}.hero-actions{display:flex;gap:18px;margin-top:21px}.reference-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid currentColor;border-radius:3px;padding:10px 28px;text-transform:uppercase;letter-spacing:.13em;font-size:.65rem;font-weight:600;line-height:1.45;background:transparent;color:inherit;min-height:36px}.reference-button.primary{background:#fff;color:#1c1c1c;border-color:#fff}.reference-button.primary.dark{background:#252525;color:#fff;border-color:#252525}.reference-button>span{font-size:1.1rem;line-height:1}.hero-location{position:absolute;right:6%;bottom:23px;display:flex;align-items:center;gap:5px;font-size:.7rem;color:#fff}.hero-location svg{width:13px;height:13px}.portfolio-strip{padding:16px 3.9%;background:#f5f4f1}.ref-categories{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.ref-categories .category{min-height:0;aspect-ratio:1.27;grid-column:auto;border-radius:1px}.ref-categories .category>img{object-position:center}.ref-categories .category-label{left:15px;right:12px;bottom:10px}.ref-categories .category-label h2{font-family:Arial,sans-serif;text-transform:uppercase;font-size:.65rem;letter-spacing:.2em;font-weight:600;line-height:1.3;margin-bottom:5px}.ref-categories .category-label p{font-size:.71rem;line-height:1.25;max-width:160px;padding-right:10px}.card-arrow{position:absolute;right:0;bottom:0;font-size:1.3rem;line-height:1}.category-shade{background:linear-gradient(0deg,#040909ee,transparent 80%)}.favourites-band{background:#272929;color:#fff;display:grid;grid-template-columns:29% 1fr;gap:3.4%;padding:18px 5.9%;align-items:center}.favourites-copy>.eyebrow{font-size:.6rem;letter-spacing:.35em;font-weight:400}.favourites-copy h2{font-size:clamp(1.7rem,2.5vw,2.65rem);letter-spacing:-.03em;margin:5px 0 11px}.favourites-copy>p:not(.eyebrow){color:#ccc;font-size:.81rem;line-height:1.5;max-width:365px}.favourites-copy .reference-button{margin-top:12px;padding:7px 23px;min-height:32px;font-size:.59rem}.band-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.band-gallery .photo{grid-column:auto}.band-gallery .photo button img{height:auto;aspect-ratio:1.47;object-fit:cover}.band-gallery .photo:nth-child(3) button img{object-position:center 35%}.band-gallery .view-label{font-size:.6rem;right:6px;bottom:6px;padding:4px 6px}.reference-about{display:grid;grid-template-columns:33% 34.5% 32.5%;align-items:center;background:#f5f4f1;min-height:216px}.reference-portrait{height:100%;min-height:216px;max-height:300px;overflow:hidden}.reference-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 32%}.reference-about-copy{padding:24px 30px 24px 9%}.reference-about-copy .eyebrow{font-size:.54rem;letter-spacing:.3em;color:var(--blue)}.reference-about-copy h2{font-size:clamp(1.35rem,1.65vw,1.8rem);line-height:1.04;letter-spacing:-.015em;margin:8px 0 9px}.reference-about-copy>p:not(.eyebrow){font-size:.72rem;line-height:1.5;color:#666;max-width:465px}.journey-link{display:inline-block;color:var(--blue);border-bottom:1px solid currentColor;font-size:.77rem;line-height:1.5;padding:0 0 2px;margin-top:11px}.journey-link span{padding-left:10px}.reference-stats{display:grid;grid-template-columns:repeat(3,1fr);padding-right:4%}.reference-stats>div{display:flex;flex-direction:column;align-items:center;text-align:center;border-left:1px solid #d3d3d1;padding:5px 9px 10px}.reference-stats svg{width:24px;height:24px;margin-bottom:5px}.reference-stats strong{font-family:Georgia,serif;font-size:1.55rem;font-weight:400;line-height:1.5;color:#141414}.reference-stats span{font-size:.72rem;line-height:1.5;color:#656565}.reference-recent{padding-top:60px;padding-bottom:65px}.reference-recent .section-heading{border:0;padding-top:0;margin-bottom:25px}.reference-recent .section-heading h2{font-size:2rem}.reference-recent .section-heading .eyebrow{font-size:.6rem;letter-spacing:.3em;margin-bottom:8px}.reference-recent .photo figcaption{font-size:.8rem}.reference-recent .photo img{height:260px}.collection .photo button img{object-fit:contain}.enquiry-intro{max-width:700px;margin-bottom:40px;color:var(--muted)}.enquiry-intro p{margin:0 0 16px}.enquiry-intro .reference-button{margin:10px 0}.contact-page>.lead{max-width:700px;font-size:1.2rem;color:var(--muted);margin-bottom:28px}.contact-photo{margin-top:50px}.contact-photo img{width:100%;height:420px;object-fit:cover}#search-dialog{width:min(1000px,92vw);height:min(780px,90dvh);margin:auto;padding:30px;background:#f5f4f1;color:#202020;border:1px solid #ddd;overflow-y:auto}#search-dialog[open]{display:block}.search-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.search-heading h2{font-size:2.2rem}.search-heading button{background:none;border:1px solid #666;padding:8px 14px}.search-heading~label{display:block;font-size:.9rem;margin-bottom:8px}#photo-search{width:100%;padding:12px;border:1px solid #999;background:#fff;color:#222;font:inherit;font-size:1rem;border-radius:0}#search-count{font-size:.8rem;color:#656565;margin:16px 0}#search-results{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}#search-results .search-result{display:block;font-size:.8rem}#search-results img{width:100%;height:150px;object-fit:cover;margin-bottom:8px}#search-results a:hover{text-decoration:underline}.search-result span{display:block;color:#656565;font-size:.72rem}footer{padding-top:40px;padding-bottom:25px}footer .brand{font-weight:400;letter-spacing:.2em}
@media(min-width:1600px){.ref-hero .hero-copy{left:5.7%;bottom:35px}.favourites-band{padding-top:24px;padding-bottom:24px}}
@media(max-width:1150px){.header.ref-header{gap:15px}.ref-header .brand{font-size:1.1rem}.ref-header .brand span{letter-spacing:.64em}.ref-header nav{gap:18px}.header-social{gap:16px}.header-social>a:not(.shop-link){display:none}.header-social .shop-link{min-width:120px;padding:8px 15px}.ref-categories .category-label{left:11px;right:9px}.ref-categories .category-label h2{letter-spacing:.1em;font-size:.6rem}.ref-categories .category-label p{font-size:.65rem}.ref-categories .category{aspect-ratio:1}.favourites-band{grid-template-columns:30% 1fr;gap:3%}.reference-about-copy{padding:25px}.reference-about{grid-template-columns:30% 39% 31%}.reference-about-copy>p:not(.eyebrow){font-size:.77rem}.reference-stats strong{font-size:1.4rem}.reference-stats span{font-size:.68rem}}
@media(max-width:850px){.header.ref-header{height:70px}.ref-header nav{gap:12px}.ref-header nav a{font-size:.62rem}.header-social{display:none}.ref-header .brand{font-size:1rem}.ref-categories{grid-template-columns:repeat(3,1fr)}.ref-categories .category{aspect-ratio:1.5}.ref-categories .category-label h2{font-size:.75rem}.ref-categories .category-label p{font-size:.75rem}.favourites-band{grid-template-columns:1fr;padding:25px 6%;gap:22px}.favourites-copy>p:not(.eyebrow){max-width:500px;font-size:.9rem}.favourites-copy h2{font-size:2rem}.reference-about{grid-template-columns:40% 60%}.reference-about-copy{padding:30px}.reference-stats{grid-column:1/-1;padding:25px 6%;border-top:1px solid var(--line)}.reference-stats>div:first-child{border-left:0}.reference-stats span{font-size:.8rem}.reference-stats strong{font-size:1.7rem}.reference-about-copy h2{font-size:1.7rem}.reference-about-copy>p:not(.eyebrow){font-size:.84rem}}
@media(max-width:700px){.header.ref-header{padding:0 6%;height:66px}.ref-header .brand{font-size:1.1rem}.ref-header .brand span{font-size:.48rem;letter-spacing:.75em}.ref-header .menu-toggle{margin-left:auto;padding-right:0;font-size:.9rem}.ref-header nav{gap:6px;margin:0;align-items:stretch;padding:15px 6%;z-index:30;background:#242525}.ref-header nav a{font-size:.85rem;letter-spacing:.08em;padding:10px 0}.ref-header nav a[aria-current]{border-bottom:0}.search-toggle{justify-content:flex-start;padding:10px 0}.ref-hero{height:600px;min-height:0;max-height:none}.ref-hero>img{object-position:56% center}.ref-hero .hero-copy{left:6%;right:6%;bottom:75px}.ref-hero .hero-copy h1{font-size:3.25rem;line-height:1.03;margin:16px 0 22px}.ref-hero .hero-copy>.eyebrow{font-size:.56rem;letter-spacing:.24em}.ref-hero .hero-copy>p:not(.eyebrow){font-size:.95rem;max-width:340px}.desktop-break{display:none}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:25px}.reference-button{font-size:.63rem;padding:11px 19px}.hero-location{right:auto;left:6%;bottom:24px;font-size:.7rem}.portfolio-strip{padding:16px 4%}.ref-categories{grid-template-columns:repeat(2,1fr);gap:12px}.ref-categories .category,.ref-categories .category:first-child,.ref-categories .category:last-child{grid-column:auto;min-height:0!important;aspect-ratio:.95}.ref-categories .category-label{bottom:14px;left:12px;right:12px}.ref-categories .category-label h2{font-size:.61rem;letter-spacing:.1em;overflow-wrap:normal}.ref-categories .category-label p{font-size:.73rem;padding-right:8px;line-height:1.4}.ref-categories .card-arrow{font-size:1.1rem}.favourites-band{padding:32px 6%;gap:25px}.favourites-copy .eyebrow{font-size:.63rem}.favourites-copy h2{font-size:2.3rem;margin:10px 0 16px}.favourites-copy>p:not(.eyebrow){font-size:.95rem}.favourites-copy .reference-button{font-size:.7rem;padding:10px 22px;margin-top:20px}.band-gallery{grid-template-columns:repeat(2,1fr);gap:12px}.band-gallery .photo button img{height:auto;aspect-ratio:1.18}.reference-about{display:block}.reference-portrait{height:280px;min-height:0;max-height:none}.reference-portrait img{object-position:50% 25%}.reference-about-copy{padding:30px 6%;}.reference-about-copy .eyebrow{font-size:.6rem}.reference-about-copy h2{font-size:1.95rem;line-height:1.13;margin:12px 0 20px}.reference-about-copy h2 br{display:none}.reference-about-copy>p:not(.eyebrow){font-size:.95rem;line-height:1.65}.journey-link{font-size:.9rem;margin-top:18px}.reference-stats{padding:22px 4%;display:grid}.reference-stats strong{font-size:1.75rem}.reference-stats span{font-size:.75rem}.reference-recent{padding-top:42px;padding-bottom:45px}.reference-recent .section-heading{gap:0}.reference-recent .section-heading h2{font-size:2rem}.reference-recent .photo img{height:240px}.reference-recent .recent-grid{padding-bottom:20px}#search-dialog{padding:22px}#search-results{grid-template-columns:repeat(2,1fr);gap:15px}#search-results img{height:140px}.search-heading h2{font-size:1.65rem}.search-heading button{font-size:.8rem;white-space:nowrap}.contact-photo img{height:260px}}
@media(max-width:380px){.ref-categories .category{grid-column:auto!important}.ref-categories .category-label h2{font-size:.56rem}.ref-categories .category-label p{font-size:.68rem}.ref-hero .hero-copy h1{font-size:2.9rem}.ref-header .brand{font-size:1rem}.reference-button{padding:11px 16px}}
@media(min-width:851px){.reference-about{height:216px;min-height:216px}.reference-portrait{height:216px;min-height:216px;max-height:216px}.reference-about-copy{padding-top:20px;padding-bottom:20px}}
.mobile-shop{display:none}@media(max-width:700px){.ref-header nav .mobile-shop{display:block}.search-toggle{min-height:44px}.reference-button{font-size:.75rem}.favourites-copy .reference-button{font-size:.75rem}}
.header.ref-header{height:76px}.ref-header .brand{display:flex;align-items:center;flex:none;letter-spacing:normal;line-height:1}.brand-logo{display:block;width:160px;height:64px;object-fit:contain}.ref-header .brand .brand-logo{width:160px;height:64px}footer .brand-logo{width:220px;height:88px}footer .brand{display:inline-flex;align-items:center;width:fit-content}@media(max-width:700px){.header.ref-header{height:70px}.ref-header .brand .brand-logo{width:145px;height:58px}footer .brand-logo{width:200px;height:80px}}

/* Immersive editorial refinement */
body{font-family:"Helvetica Neue",Arial,Helvetica,sans-serif}
h1,h2,h3{font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif}
.header.ref-header{position:sticky;top:0;z-index:50;transition:background-color .3s ease,box-shadow .3s ease}
.header.ref-header.on-hero{position:fixed;top:0;left:0;background:#1418185c}
.header.ref-header.scrolled{background:#202222f5;box-shadow:0 8px 30px #00000024}
.ref-hero{height:clamp(620px,78svh,840px);overflow:hidden}
.ref-hero>img{object-position:center 42%;transform:scale(1.018);animation:hero-settle 1.5s cubic-bezier(.2,.7,.2,1) both}
.ref-hero .hero-shade{background:linear-gradient(90deg,#070c14c2 0%,#070c1445 54%,#070c1408),linear-gradient(0deg,#070c14a3,transparent 58%)}
.ref-hero .hero-copy{bottom:14%;max-width:690px}
.ref-hero .hero-copy h1{font-size:clamp(3.6rem,5.6vw,6.2rem)}
.ref-hero .hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.6}
.hero-location{bottom:34px}
.portfolio-strip{padding-top:24px;padding-bottom:28px}
.ref-categories{gap:14px}
.ref-categories .category{aspect-ratio:1.12;transition:transform .35s ease,box-shadow .35s ease}
.ref-categories .category:hover{transform:translateY(-4px);box-shadow:0 18px 36px #12181824}
.favourites-band{grid-template-columns:27% 1fr;gap:4%;padding-top:58px;padding-bottom:58px}
.favourites-copy h2{font-size:clamp(2.25rem,3.1vw,3.4rem);margin-top:10px;margin-bottom:18px}
.favourites-copy>p:not(.eyebrow){font-size:.93rem;line-height:1.65}
.favourites-copy .reference-button{margin-top:22px}
.band-gallery{gap:14px}
.band-gallery .photo button img{aspect-ratio:1.34}
.reference-about{grid-template-columns:36% 38% 26%;min-height:480px;height:auto}
.reference-portrait{height:480px;min-height:480px;max-height:none}
.reference-about-copy{padding:60px 11%}
.reference-about-copy h2{font-size:clamp(2rem,2.6vw,3rem);line-height:1.08;margin:13px 0 22px}
.reference-about-copy>p:not(.eyebrow){font-size:.92rem;line-height:1.65}
.journey-link{font-size:.86rem;margin-top:20px}
.reference-stats{padding-right:8%}
.reference-stats>div{padding:28px 12px}
.reference-stats strong{font-size:1.85rem}
.reference-recent{padding-top:90px;padding-bottom:90px}
.reference-recent .section-heading{margin-bottom:34px}
.reference-recent .section-heading h2{font-size:2.7rem}
.reference-recent .photo img{height:350px}
.contact-photo img{height:520px}
footer{padding-top:55px;padding-bottom:35px}
footer>p{text-align:left}
footer>div{justify-content:flex-end}
footer small{grid-column:1/-1;text-align:left}
@keyframes hero-settle{from{opacity:.75;transform:scale(1.07)}to{opacity:1;transform:scale(1.018)}}
@media(max-width:1150px){
  .ref-hero{height:clamp(600px,74svh,760px)}
  .reference-about{grid-template-columns:34% 42% 24%;min-height:430px}
  .reference-portrait{height:430px;min-height:430px}
  .reference-about-copy{padding:45px 9%}
  .reference-stats{padding-right:4%}
}

.about-mentions{margin-top:clamp(72px,9vw,140px);padding-top:48px;border-top:1px solid var(--line)}
.about-mentions h2{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.035em;margin:14px 0}
.about-mentions-intro{color:var(--muted);max-width:640px;margin-bottom:32px}
.about-mentions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.about-mentions-grid figure{margin:0}
.about-mentions-grid img{display:block;width:100%;height:clamp(260px,36vw,480px);object-fit:contain;background:var(--paper)}
.about-mentions-grid figcaption{font-size:.85rem;color:var(--muted);margin-top:12px}
@media(max-width:700px){
  .about-mentions{padding-top:36px}
  .about-mentions-grid{grid-template-columns:1fr;gap:36px}
  .about-mentions-grid img{height:auto;max-height:480px}
}
.about-signoff{margin-top:64px}
.about-signoff p{margin:0 0 14px}
.about-signoff .text-link{display:inline-block;margin-top:18px}

.header.ref-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:0}
.ref-header .brand{grid-column:2;grid-row:1;justify-self:center}
.ref-header .menu-toggle{display:inline-flex;grid-column:1;grid-row:1;justify-self:start;align-items:center;gap:10px;margin:0;padding:10px 0;color:inherit;font:inherit;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.ref-header .menu-toggle::after{content:"";width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.ref-header .menu-toggle[aria-expanded="true"]::after{transform:translateY(2px) rotate(225deg)}
.ref-header nav{display:none;position:absolute;top:100%;left:5.7%;right:auto;width:min(360px,88vw);max-height:calc(100dvh - 86px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:24px 26px;background:var(--dark);color:var(--white);box-shadow:0 12px 30px #0003;text-transform:none;letter-spacing:normal}
.ref-header nav.open{display:flex}
.ref-header nav .menu-group-title{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;opacity:.7;margin:0 0 9px}
.ref-header nav a{display:block;font-size:.9rem;letter-spacing:.01em;text-transform:none;padding:7px 0}
.ref-header nav a[aria-current]{border-bottom:0;font-weight:700}
.ref-header nav .menu-divider{height:1px;background:currentColor;opacity:.22;margin:16px 0}
.ref-header nav .search-toggle{width:100%;justify-content:flex-start;min-height:42px;font-size:.9rem;letter-spacing:.01em;cursor:pointer}
.ref-header nav .search-toggle:hover{text-decoration:underline}
.ref-header .header-social{display:none}
@media(max-width:700px){
  .ref-header .menu-toggle{margin:0;padding:10px 0;font-size:.72rem}
  .ref-header nav{left:0;right:0;width:auto;max-height:calc(100dvh - 70px);padding:20px 6%}
  .ref-header nav a{font-size:.9rem;padding:8px 0}
}
@media(max-width:380px){
  .ref-header .brand .brand-logo{width:100px;height:40px}
  .ref-header .menu-toggle{gap:6px}
}

.collection-cover{margin:0 0 56px}
.collection-cover-photo{margin:0}
.collection-cover-photo button{background:none}
.collection .collection-cover-photo button img{display:block;width:100%;height:auto;max-height:74svh;object-fit:contain}
.collection-cover-photo figcaption{margin-top:12px}
.collection-note{max-width:680px;margin:18px 0 0;color:var(--muted);font-size:1.05rem;line-height:1.6}
.collection-edit{margin-bottom:46px}
.collection-contact{margin:38px 0 60px}
.contact-guidance{max-width:700px;color:var(--muted);line-height:1.7;margin:24px 0 28px}
.contact-next{max-width:700px;color:var(--muted);font-size:.9rem;margin:20px 0 0}
@media(max-width:700px){
  .collection-cover{margin-bottom:40px}
  .collection .collection-cover-photo button img{max-height:66svh}
  .collection-note{font-size:.98rem}
}

.portfolio-strip{padding-top:100px;padding-bottom:112px}
.portfolio-intro{max-width:720px;margin-bottom:54px}
.portfolio-intro>p:last-child{color:var(--muted);line-height:1.6;margin-top:12px}
.portfolio-entries{display:grid;gap:56px}
.portfolio-entry{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,88px);color:var(--ink);text-decoration:none;min-width:0}
.portfolio-entry:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)}
.portfolio-entry:nth-child(even) .portfolio-entry-image{grid-column:2;grid-row:1}
.portfolio-entry:nth-child(even) .portfolio-entry-copy{grid-column:1;grid-row:1}
.portfolio-entry-image{overflow:hidden;background:var(--line)}
.portfolio-entry-image img{display:block;width:100%;height:clamp(290px,28vw,430px);object-fit:cover;transition:transform .45s ease}
.portfolio-entry:nth-child(2) .portfolio-entry-image img{object-position:center 54%}
.portfolio-entry:nth-child(3) .portfolio-entry-image img{object-position:center 48%}
.portfolio-entry:hover .portfolio-entry-image img{transform:scale(1.025)}
.portfolio-entry-copy{padding:20px 0;border-top:1px solid var(--line)}
.portfolio-entry-location{display:block;color:var(--muted);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}
.portfolio-entry-copy h3{font-size:clamp(2.1rem,3.4vw,3.7rem);line-height:1.08;letter-spacing:-.035em;margin:24px 0 12px}
.portfolio-entry-copy p{font-size:1rem;color:var(--muted);line-height:1.6}
.portfolio-entry-action{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid currentColor;margin-top:32px;padding-bottom:8px;font-size:.87rem}
.portfolio-entry:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
@media(max-width:850px){
  .portfolio-entry,.portfolio-entry:nth-child(even){grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px}
  .portfolio-entry-image img{height:320px}
}
@media(max-width:700px){
  .portfolio-strip{padding-top:70px;padding-bottom:78px}
  .portfolio-intro{margin-bottom:38px}
  .portfolio-intro h2{font-size:clamp(2.3rem,9vw,3.3rem)}
  .portfolio-entries{gap:48px}
  .portfolio-entry,.portfolio-entry:nth-child(even){display:flex;flex-direction:column;align-items:stretch;gap:0}
  .portfolio-entry-image img{height:auto;aspect-ratio:1.3}
  .portfolio-entry:nth-child(3) .portfolio-entry-image img{aspect-ratio:1.05}
  .portfolio-entry-copy{padding:18px 0 0;border-top:0}
  .portfolio-entry-copy h3{margin:10px 0 6px;font-size:2.3rem}
  .portfolio-entry-action{margin-top:16px}
}
@media(prefers-reduced-motion:reduce){
  .portfolio-entry-image img{transition:none}
}
@media(max-width:850px){
  .ref-hero{height:680px}
  .ref-hero .hero-copy{bottom:15%}
  .favourites-band{grid-template-columns:1fr;gap:28px;padding-top:44px;padding-bottom:44px}
  .reference-about{grid-template-columns:40% 60%;min-height:0}
  .reference-portrait{height:360px;min-height:360px}
  .reference-about-copy{padding:42px 7%}
  .reference-stats{padding:30px 6%}
  .reference-recent .photo img{height:300px}
}
@media(max-width:700px){
  .ref-hero{height:680px}
  .ref-hero>img{object-position:56% center}
  .ref-hero .hero-copy{bottom:92px}
  .ref-hero .hero-copy h1{font-size:clamp(3rem,14vw,3.65rem)}
  .portfolio-strip{padding-top:18px;padding-bottom:20px}
  .ref-categories .category{aspect-ratio:.94}
  .favourites-band{padding-top:42px;padding-bottom:42px}
  .reference-about{display:block}
  .reference-portrait{height:340px;min-height:340px}
  .reference-about-copy{padding:38px 6%}
  .reference-stats{padding:26px 4%}
  .reference-recent{padding-top:55px;padding-bottom:58px}
  .reference-recent .section-heading h2{font-size:2.15rem}
  .reference-recent .photo img{height:250px}
  .contact-photo img{height:300px}
  footer>div{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){
  .ref-hero>img{animation:none;transform:none}
  .ref-categories .category,.category>img,.photo button img,.header.ref-header{transition:none}
}

footer{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 6% 30px;text-align:center}
footer .footer-heading{color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.28em;text-align:center}
footer .footer-social{display:flex;align-items:center;justify-content:center;gap:28px}
footer .footer-social a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;font-size:.85rem}
footer .footer-social a:hover{opacity:.7}
footer .footer-social svg{width:22px;height:22px}
footer small{color:#b8c5c2;font-size:.72rem;text-align:center}

.portfolio-strip{padding:96px max(6%,calc((100vw - 1320px)/2)) 112px}
.portfolio-intro{margin-bottom:36px}
.portfolio-intro .eyebrow{color:var(--muted);margin-bottom:10px}
.portfolio-intro h2{font-size:clamp(2.5rem,3.5vw,3.8rem)}
.ref-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ref-categories .category{aspect-ratio:1.34}
.ref-categories .category-label{left:25px;right:22px;bottom:22px}
.ref-categories .category-label h2{font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:clamp(1.4rem,2vw,2rem);font-weight:400;letter-spacing:0;text-transform:none;margin:0 0 5px}
.ref-categories .category-label p{font-size:.83rem;max-width:none}
.favourites-band{grid-template-columns:27% minmax(0,1fr);padding:100px 6%;gap:5%}
.band-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.band-gallery .photo button img{aspect-ratio:.86}
.band-gallery .photo:nth-child(3) button img{object-position:center 30%}
@media(max-width:850px){
  .portfolio-strip{padding:74px 6% 82px}
  .ref-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .ref-categories .category{aspect-ratio:1.18}
  .favourites-band{grid-template-columns:1fr;padding:74px 6%;gap:28px}
}
@media(max-width:700px){
  .portfolio-strip{padding:62px 5% 70px}
  .portfolio-intro{margin-bottom:26px}
  .portfolio-intro h2{font-size:2.4rem}
  .ref-categories{gap:12px}
  .ref-categories .category{aspect-ratio:.95}
  .ref-categories .category-label{left:14px;right:12px;bottom:13px}
  .ref-categories .category-label h2{font-size:1.2rem;line-height:1.1}
  .ref-categories .category-label p{font-size:.7rem}
  .favourites-band{padding:72px 6%}
  .band-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .band-gallery .photo:first-child{grid-column:1/-1}
  .band-gallery .photo:first-child button img{aspect-ratio:1.5}
  .band-gallery .photo:not(:first-child) button img{aspect-ratio:.88}
}

.portfolio-showcase{display:grid;grid-template-columns:clamp(240px,17vw,340px) minmax(0,1fr);align-items:center;gap:clamp(28px,2.6vw,52px);padding:76px 2.5% 84px;scroll-margin-top:76px}
.portfolio-showcase .portfolio-intro{margin:0}
.portfolio-showcase .portfolio-intro .eyebrow{display:flex;align-items:center;gap:16px}
.portfolio-showcase .portfolio-intro .eyebrow::after{content:"";display:block;width:26px;border-top:1px solid var(--muted)}
.portfolio-showcase .portfolio-intro h2{font-size:clamp(2.2rem,2.7vw,3.7rem);line-height:1.05;margin-bottom:18px;text-wrap:balance}
.portfolio-showcase .portfolio-intro>p:last-child{font-size:clamp(.9rem,.95vw,1.15rem);line-height:1.6;max-width:34ch}
.portfolio-showcase-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,.8vw,16px);min-width:0}
.portfolio-showcase-card{display:block;min-width:0;color:var(--ink);text-decoration:none}
.portfolio-showcase-card img{display:block;width:100%;aspect-ratio:.95;object-fit:cover;transition:filter .3s ease}
.portfolio-showcase-card:hover img{filter:brightness(.87)}
.portfolio-showcase-card:nth-child(3) img{object-position:center 45%}
.portfolio-showcase-label{display:block;margin-top:14px;font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:clamp(.86rem,1.25vw,1.2rem);line-height:1.2;overflow-wrap:anywhere}
.portfolio-showcase-label::after{content:"";display:block;width:26px;border-top:1px solid var(--muted);margin-top:10px}
.portfolio-showcase-card:hover .portfolio-showcase-label{text-decoration:underline;text-underline-offset:4px}
.portfolio-showcase-card:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
@media(max-width:1250px){
  .portfolio-showcase{grid-template-columns:minmax(0,1fr);gap:28px;padding:68px 6% 74px}
  .portfolio-showcase .portfolio-intro{max-width:620px}
  .portfolio-showcase-gallery{gap:12px}
}
@media(max-width:900px){
  .portfolio-showcase{padding:68px 6% 74px}
  .portfolio-showcase-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 14px}
  .portfolio-showcase-label{font-size:1.05rem}
}
@media(max-width:700px){
  .portfolio-showcase{padding:56px 5% 68px;scroll-margin-top:70px}
  .portfolio-showcase .portfolio-intro h2{font-size:clamp(2.3rem,9vw,3.1rem)}
  .portfolio-showcase-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}
  .portfolio-showcase-card img{aspect-ratio:1.35}
  .portfolio-showcase-label{font-size:1.05rem;margin-top:10px}
}
@media(prefers-reduced-motion:reduce){
  .portfolio-showcase-card img{transition:none}
}

.reference-recent.recent-mosaic{width:auto;margin:0;padding:84px 2.5% 96px;scroll-margin-top:76px}
.recent-mosaic-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);grid-template-rows:clamp(220px,20vw,400px) clamp(120px,9vw,170px) clamp(220px,20vw,400px);gap:10px}
.recent-mosaic-grid .photo{position:relative;grid-column:auto;min-width:0;min-height:0;margin:0;overflow:hidden}
.recent-mosaic-grid .photo button{height:100%}
.recent-mosaic-grid .photo button img{display:block;width:100%;height:100%;object-fit:cover}
.recent-mosaic-grid .photo figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:34px 16px 12px;background:linear-gradient(transparent,rgba(0,0,0,.65));color:#fff;font-size:.78rem;line-height:1.3;opacity:0;transition:opacity .3s ease;pointer-events:none}
.recent-mosaic-grid .photo:hover figcaption,.recent-mosaic-grid .photo:focus-within figcaption{opacity:1}
.recent-mosaic-grid .photo:nth-of-type(1){grid-column:1;grid-row:1/3}
.recent-mosaic-grid .photo:nth-of-type(2){grid-column:2;grid-row:1}
.recent-mosaic-grid .photo:nth-of-type(3){grid-column:3;grid-row:1/3}
.recent-mosaic-grid .photo:nth-of-type(4){grid-column:1;grid-row:3}
.recent-mosaic-grid .photo:nth-of-type(5){grid-column:2;grid-row:3}
.recent-mosaic-grid .photo:nth-of-type(6){grid-column:3;grid-row:3}
.recent-mosaic-heading{grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.recent-mosaic-heading .eyebrow{color:var(--muted);font-size:.66rem;letter-spacing:.3em;margin:0 0 6px}
.recent-mosaic-heading h2{font-size:clamp(2rem,2.6vw,3.3rem);line-height:1.05;margin:0}
.recent-mosaic-heading .journey-link{margin-top:12px}
@media(max-width:900px){
  .reference-recent.recent-mosaic{padding:64px 5% 72px}
  .recent-mosaic-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;gap:10px}
  .recent-mosaic-heading{grid-column:1/-1;grid-row:1;padding:0 0 18px}
  .recent-mosaic-grid .photo:nth-of-type(n){grid-column:auto;grid-row:auto}
  .recent-mosaic-grid .photo button,.recent-mosaic-grid .photo button img{height:auto;aspect-ratio:1}
  .recent-mosaic-grid .photo figcaption{opacity:1;padding:24px 10px 9px;font-size:.68rem}
}
@media(max-width:700px){
  .reference-recent.recent-mosaic{padding:56px 5% 64px;scroll-margin-top:70px}
  .recent-mosaic-heading h2{font-size:2.2rem}
  .recent-mosaic-grid .view-label{display:none}
}
@media(prefers-reduced-motion:reduce){
  .recent-mosaic-grid .photo figcaption{transition:none}
}

.reference-about.about-dark{background:#272929;color:#fff}
.about-dark .reference-about-copy .eyebrow{color:#b8c5c2}
.about-dark .reference-about-copy>p:not(.eyebrow){color:#c9cbc9}
.about-dark .journey-link{color:#fff}
.about-dark .reference-stats>div{border-left-color:rgba(255,255,255,.18)}
.about-dark .reference-stats strong{color:#fff}
.about-dark .reference-stats span{color:#b8c5c2}
@media(max-width:850px){
  .about-dark .reference-stats{border-top-color:rgba(255,255,255,.18)}
}

.reference-about-copy h2{text-wrap:balance}

/* Lighter hero: shade only where text sits */
.ref-hero .hero-shade{background:linear-gradient(90deg,#070c1494 0%,#070c1452 30%,#070c1400 58%),linear-gradient(0deg,#070c1466 0%,#070c1400 30%),linear-gradient(180deg,#070c1440 0%,#070c1400 18%)}
.ref-hero h1,.ref-hero p{text-shadow:0 1px 18px rgba(7,12,20,.45)}
.header.ref-header.on-hero{background:linear-gradient(180deg,#07090c66,#07090c00);backdrop-filter:none}
@media (max-width:700px){.ref-hero .hero-shade{background:linear-gradient(0deg,#070c14b8 0%,#070c1466 45%,#070c1426 75%,#070c1440 100%)}}

.header.ref-header.on-hero.scrolled{background:rgba(24,27,27,.42);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);box-shadow:none}

/* Header over light (cream) sections: light frosted bar, black logo, dark label */
.header.ref-header.on-hero{transition:background-color .35s ease,color .35s ease,box-shadow .35s ease}
.ref-header .brand-logo{transition:filter .35s ease}
.header.ref-header.on-hero.on-light,.header.ref-header.on-hero.scrolled.on-light{background:rgba(245,244,241,.78);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);color:#202020;box-shadow:0 1px 0 rgba(32,32,32,.08)}
.header.ref-header.on-light .brand-logo{filter:brightness(0)}
.header.ref-header.on-light .menu-toggle{color:#202020}
.header.ref-header.on-light nav{color:#fff}
@media (prefers-reduced-motion:reduce){.header.ref-header.on-hero,.ref-header .brand-logo{transition:none}}
@media (min-width:701px){.ref-hero .hero-copy>p:not(.eyebrow){max-width:600px}}
