/* ITSJUSTHEWY / MONUMENTAL: confident, architectural, responsive. No stock photographs. */
:root{--paper:#f5f2eb;--warm:#ebe6da;--white:#fffdf9;--ink:#191b18;--muted:#646760;--line:#cbc9bf;--orange:#fa633a;--blue:#3152d8;--forest:#243b37;--gutter:clamp(20px,4.7vw,94px);--max:1740px;--ease:cubic-bezier(.22,1,.36,1);--sans:'Manrope','Arial',sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased}body.menu-open,body.lightbox-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:var(--orange);color:var(--ink)}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}.skip-link{position:fixed;top:-80px;left:15px;background:var(--ink);color:white;z-index:300;padding:12px 18px}.skip-link:focus{top:12px}.scroll-progress{position:fixed;z-index:110;top:0;left:0;width:100%;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;pointer-events:none}
.kicker,.tiny{font-family:var(--sans);font-size:.67rem;font-weight:800;letter-spacing:.14em;line-height:1.65;text-transform:uppercase}.tiny{font-size:.59rem;color:var(--muted)}.kicker--inverse,.inverse-text{color:#f9f6ef}.asterisk{color:var(--orange);font-size:1.15em}.font-serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.06em}.orange,.period,.brand-dot{color:var(--orange)}.period{display:inline-block}.color-type{color:var(--orange)}
/* sticky, calm navigation. CTA remains clear at every width */
.site-header{height:89px;position:sticky;top:0;z-index:90;background:rgba(245,242,235,.96);border-bottom:1px solid rgba(25,27,24,.16);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--gutter);max-width:none}.brand{display:flex;flex-direction:column;gap:3px;line-height:1}.brand strong{font:800 clamp(1.15rem,1.5vw,1.57rem)/1 var(--sans);letter-spacing:-.065em}.brand small{font:800 .47rem/1.4 var(--sans);letter-spacing:.16em;color:var(--muted)}.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.75vw,47px);margin-left:auto;margin-right:clamp(12px,2vw,35px)}.desktop-nav a{position:relative;font:700 .77rem var(--sans);letter-spacing:-.01em;min-height:44px;display:flex;align-items:center}.desktop-nav a::after{content:'';position:absolute;bottom:9px;left:0;width:100%;height:1.5px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.desktop-nav a:hover::after,.desktop-nav a[aria-current=page]::after{transform:scaleX(1)}.header-cta{font:800 .65rem var(--sans);letter-spacing:.1em;border:1.5px solid var(--ink);padding:14px 17px;min-height:45px;display:inline-flex;align-items:center;gap:18px;transition:background .2s,color .2s}.header-cta:hover{background:var(--ink);color:var(--paper)}.header-cta span{font-size:1.1rem}.menu-toggle{display:none;border:0;background:none;flex-direction:column;justify-content:center;gap:6px;width:46px;height:46px;padding:10px}.menu-toggle span{width:100%;height:2px;background:var(--ink);transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{display:none}
/* Shared navigation elements */
.pill-link{display:inline-flex;align-items:center;justify-content:space-between;gap:clamp(25px,4vw,70px);border:1.5px solid var(--ink);padding:18px 21px;min-height:61px;font:800 .69rem/1.2 var(--sans);letter-spacing:.09em;white-space:nowrap;transition:background .28s,color .28s,transform .28s}.pill-link span{font-size:1.25rem}.pill-link:hover{background:var(--ink);color:white;transform:translateY(-3px)}.pill-link--dark{background:var(--ink);color:white}.pill-link--dark:hover{background:var(--orange);color:var(--ink);border-color:var(--orange)}.pill-link--light{border-color:currentColor;color:inherit}.pill-link--light:hover{background:var(--white);color:var(--blue);border-color:var(--white)}.text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:2px solid var(--ink);padding:14px 0;font:800 .68rem var(--sans);letter-spacing:.09em;min-height:45px;transition:gap .2s}.text-link:hover{gap:45px}.section-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:25px;border-bottom:1px solid var(--line)}
/* Empty but designed photo frames. When an actual image is added, it replaces this abstract architecture-inspired graphics. */
.photo-frame{position:relative;isolation:isolate;overflow:hidden;background:#dbd6c9;width:100%;min-height:140px}.photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:5;transition:transform .9s var(--ease)}a:hover .photo-frame.has-photo img{transform:scale(1.04)}.placeholder-art{position:absolute;inset:0;overflow:hidden;background:#d5cabb}.placeholder-art:before{content:'';position:absolute;z-index:1;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent calc(25% - 1px),#ffffff18 25%);pointer-events:none}.placeholder-shape{position:absolute;width:62%;height:105%;bottom:-12%;left:18%;border-radius:47% 47% 0 0;background:linear-gradient(130deg,#d29f83,#ad694c);box-shadow:inset 13px 0 0 #ffffff40,23px 22px 0 #3c2a2040}.placeholder-shape:before{content:'';position:absolute;top:22%;bottom:0;left:19%;width:62%;border-radius:46% 46% 0 0;background:#b37053}.placeholder-shape:after{content:'';position:absolute;top:32%;bottom:0;left:37%;width:26%;background:#513e37a8}.placeholder-grid{position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,#00000025,transparent 35%);pointer-events:none}.photo-frame--blue .placeholder-art{background:#a8bdd1}.photo-frame--blue .placeholder-shape{background:#3d5e9b;left:35%;bottom:-23%;transform:rotate(-10deg)}.photo-frame--blue .placeholder-shape:before{background:#244780}.photo-frame--blue .placeholder-shape:after{background:#172d5b}.photo-frame--sand .placeholder-art{background:#dfc9a6}.photo-frame--sand .placeholder-shape{background:#e9e2d5;width:82%;left:9%;border-radius:0;transform:skew(-11deg);box-shadow:15px 0 0 #bd9477}.photo-frame--sand .placeholder-shape:before{background:#cdb49c;border-radius:0}.photo-frame--sand .placeholder-shape:after{background:#69533d}.photo-frame--apricot .placeholder-art{background:#f38d62}.photo-frame--apricot .placeholder-shape{background:#f6d0b6;width:45%;left:28%;border-radius:48% 48% 0 0}.photo-frame--apricot .placeholder-shape:before{background:#d78762}.photo-frame--stone .placeholder-art{background:#a6aba3}.photo-frame--stone .placeholder-shape{background:#585f5b;transform:rotate(9deg);left:26%}.photo-frame--stone .placeholder-shape:before{background:#939d99}.photo-frame--stone .placeholder-shape:after{background:#273533}.photo-label{position:absolute;left:20px;bottom:17px;right:20px;z-index:3;display:flex;justify-content:space-between;gap:12px;color:var(--white);font:800 .57rem/1.5 var(--sans);letter-spacing:.11em;text-transform:uppercase;text-shadow:0 1px 4px #0006}.photo-frame.has-photo .placeholder-art,.photo-frame.has-photo .photo-label{display:none}
/* Home, first fold */
.hero{padding-top:30px;padding-bottom:24px}.hero__topline,.hero__bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.hero__stage{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);min-height:clamp(520px,48vw,760px);margin-top:24px;position:relative}.hero__copy{display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding-top:clamp(27px,5vw,88px);padding-bottom:clamp(28px,4vw,60px);position:relative;z-index:2}.hero__title{font:800 clamp(5rem,10.8vw,12rem)/.88 var(--sans);letter-spacing:-.095em;margin:0;margin-left:-.065em;position:relative;white-space:nowrap}.hero__title .title-outline{-webkit-text-stroke:2px var(--ink);color:transparent}.hero__title .accent-word{color:var(--orange)}.hero__copy-bottom{display:flex;align-items:end;gap:35px;justify-content:space-between;padding-right:clamp(22px,6vw,100px)}.hero__copy-bottom p{font-size:clamp(.82rem,1vw,1rem);line-height:1.7;margin:0;max-width:260px}.hero__visual{position:relative;min-height:550px}.hero__visual .photo-frame{height:100%;min-height:550px}.hero__visual .photo-label{bottom:26px;left:26px;right:26px}.hero__frame-mark{position:absolute;top:22px;right:24px;z-index:10;color:white;font:800 .65rem var(--sans)}.hero__bottom{padding-top:16px;font:800 .57rem var(--sans);letter-spacing:.13em}.hero__copy-bottom .pill-link{background:var(--ink);color:white}.hero__copy-bottom .pill-link:hover{background:var(--orange);color:var(--ink)}
/* High-contrast manifesto */
.statement{background:var(--ink);color:#f5f2eb;padding:clamp(90px,11vw,180px) 0 clamp(65px,8vw,130px);margin-top:35px}.statement__title{font:800 clamp(4.9rem,11vw,13rem)/.94 var(--sans);letter-spacing:-.085em;margin:clamp(45px,7vw,110px) 0 70px}.statement__indent{margin-left:clamp(0px,14vw,260px)}.statement__foot{border-top:1px solid #ffffff5a;padding-top:25px;display:flex;justify-content:space-between;align-items:end}.statement__foot p{max-width:460px;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.8;margin:0;color:#d8d6ce}.statement__icon{font-size:4rem;color:var(--orange)}
/* Featured image groups */
.work{padding-top:clamp(100px,11vw,190px);padding-bottom:clamp(36px,4.5vw,64px)}.work__heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:65px 0 80px}.big-heading{font:800 clamp(4.4rem,8.5vw,10rem)/.97 var(--sans);letter-spacing:-.082em;margin:0}.big-heading .font-serif{font-size:.82em}.section-description{max-width:325px;line-height:1.8;font-size:1rem;color:var(--muted);margin:0 0 12px}.work__gallery{display:grid;grid-template-columns:1.05fr .62fr .72fr;gap:clamp(13px,2vw,34px);align-items:start}.work__feature{min-width:0;display:block}.work__feature--one .photo-frame{aspect-ratio:3.3/4.1}.work__feature--two{margin-top:clamp(75px,14vw,210px)}.work__feature--two .photo-frame{aspect-ratio:3/3.5}.work__feature--three{margin-top:clamp(16px,5vw,95px)}.work__feature--three .photo-frame{aspect-ratio:3/4.3}.work__meta{padding:15px 0;font:800 .58rem/1.5 var(--sans);letter-spacing:.11em;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.work__footer{border-top:1px solid var(--line);margin-top:75px;padding-top:25px;display:flex;align-items:end;justify-content:space-between;gap:25px}.work__footer p{font-family:Georgia,serif;font-size:clamp(1.25rem,2vw,1.9rem);line-height:1.4;margin:0}
/* Confident burst of life */
.colour-slab{background:var(--orange);min-height:740px}.colour-slab__inner{position:relative;padding-top:clamp(55px,7vw,110px);padding-bottom:clamp(80px,7vw,120px)}.colour-slab__title{font:800 clamp(6rem,13vw,15rem)/.86 var(--sans);letter-spacing:-.097em;margin:clamp(75px,9vw,145px) 0 0}.colour-slab__title>span:not(.color-dot){margin-left:clamp(0px,13vw,250px);color:var(--paper)}.color-dot{color:var(--blue)}.colour-slab__corner{display:flex;justify-content:flex-end;align-items:end;gap:23px;margin-top:65px}.colour-slab__corner p{max-width:210px;font-size:.98rem;line-height:1.7;margin:0}.spin-icon{font-size:5rem;line-height:1}
/* Home photographer */
.manifesto{padding-top:clamp(100px,12vw,200px);padding-bottom:clamp(105px,12vw,200px);display:grid;grid-template-columns:.95fr 1fr;gap:clamp(55px,8vw,150px);align-items:center}.manifesto__photo{max-width:650px}.manifesto__photo .photo-frame{aspect-ratio:4/5.1}.manifesto__copy h2{font:800 clamp(3.2rem,5.7vw,7rem)/.99 var(--sans);letter-spacing:-.075em;margin:50px 0}.manifesto__copy h2 em{font-family:Georgia,serif;font-weight:400}.manifesto__copy p{color:var(--muted);max-width:370px;line-height:1.85;font-size:1rem;margin:0 0 42px}
/* Footer CTA */
.outro-band{background:var(--blue);color:var(--white)}.outro-band__inside{padding-top:clamp(75px,9vw,165px);padding-bottom:clamp(58px,6vw,120px)}.outro-band__heading{font:800 clamp(4.5rem,10.5vw,12.7rem)/.92 var(--sans);letter-spacing:-.093em;margin:65px 0 80px}.outro-band__heading em{font-family:Georgia,serif;letter-spacing:-.085em;font-weight:400}.outline-word{-webkit-text-stroke:1.7px #fff; color:transparent}.outro-band__bottom{display:flex;align-items:end;justify-content:space-between;gap:30px;border-top:1px solid #fff8;padding-top:35px}.outro-band__bottom p{font-size:clamp(.95rem,1.1vw,1.15rem);line-height:1.8;max-width:290px}.circle-link{display:grid;place-items:center;border:2px solid white;border-radius:50%;width:83px;height:83px;font-size:2.5rem;transition:background .2s,color .2s,transform .3s}.circle-link:hover{background:#fff;color:var(--blue);transform:rotate(45deg)}
.site-footer{padding-top:40px;padding-bottom:40px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.footer-brand a{font:800 clamp(1.7rem,3vw,3rem)/1 var(--sans);letter-spacing:-.075em}.footer-brand a span{color:var(--orange)}.footer-brand small{display:block;font:800 .55rem var(--sans);letter-spacing:.1em;margin-top:9px;color:var(--muted)}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:13px 24px;font:700 .78rem var(--sans)}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.footer-end{grid-column:1/-1;display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:25px;font:800 .57rem var(--sans);letter-spacing:.1em;color:var(--muted)}
/* Interior page mastheads */
.page-hero{padding-top:clamp(65px,7vw,125px);padding-bottom:clamp(75px,9vw,160px)}.page-hero__top{display:flex;justify-content:space-between;align-items:center;gap:20px}.page-hero__title{font:800 clamp(6.4rem,12vw,14rem)/.89 var(--sans);letter-spacing:-.09em;margin:clamp(65px,7vw,110px) 0 clamp(55px,6vw,105px)}.page-hero__title .font-serif{font-size:.82em}.page-hero__sub{border-top:1px solid var(--line);padding-top:25px;display:flex;align-items:start;justify-content:space-between;gap:32px}.page-hero__sub>span{font:800 .65rem var(--sans);letter-spacing:.12em}.page-hero__sub p{max-width:450px;color:var(--muted);line-height:1.7;margin:0}.page-hero--about .page-hero__title{font-size:clamp(5.8rem,11.2vw,13.5rem)}
.page-hero--about{padding-bottom:clamp(56px,7vw,110px)}
.page-hero--about .page-hero__sub p{max-width:min(48ch,100%)}
.page-hero--contact{padding-bottom:clamp(56px,7vw,96px)}
.page-hero--contact .page-hero__sub{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  gap:clamp(36px,5.5vw,88px);
  align-items:start;
  justify-content:start;
}
.page-hero--contact .page-hero__sub>span{flex:none}
.page-hero--contact .page-hero__sub p{
  max-width:min(46rem,100%);
  width:100%;
  justify-self:stretch;
  font-size:clamp(1rem,1.2vw,1.14rem);
  line-height:1.75;
}
.inline-text-link{text-decoration:underline;text-underline-offset:3px}
.inline-text-link:hover{color:var(--orange)}
@media(max-width:850px){
  .page-hero--contact .page-hero__sub{grid-template-columns:1fr;gap:18px}
  .page-hero--contact .page-hero__sub p{max-width:40rem}
}
.page-hero--portfolio{padding-top:clamp(48px,5.5vw,96px);padding-bottom:clamp(12px,2vw,24px)}
.page-hero--portfolio .page-hero__title{margin:clamp(36px,4.5vw,72px) 0 clamp(16px,2.2vw,28px)}
.portfolio-layout .gallery-filters{padding-top:clamp(14px,2vw,22px);padding-bottom:clamp(18px,2.5vw,28px)}
.portfolio-layout .portfolio-grid{padding-top:clamp(4px,1vw,10px)}
@media(max-width:600px){
  .page-hero--portfolio{padding-top:48px;padding-bottom:12px}
  .page-hero--portfolio .page-hero__title{margin:48px 0 18px}
}
/* About */
.about-collage{display:grid;grid-template-columns:1.2fr .65fr;gap:clamp(20px,5vw,90px);padding-bottom:clamp(95px,13vw,220px)}.about-collage__main>.photo-frame{aspect-ratio:5/5.2}.about-collage__side{padding-top:clamp(40px,8vw,140px)}.about-collage__side>.photo-frame{aspect-ratio:4/4.3;margin-top:30px}.about-collage__side p{line-height:1.95;font-size:clamp(.93rem,1.1vw,1.05rem);max-width:360px;margin-top:25px;color:var(--muted)}.approach{background:var(--forest);color:white;padding:clamp(90px,11vw,170px) 0}.approach .section-row{border-color:#ffffff55}.approach__heading{font:800 clamp(4rem,9vw,10rem)/.94 var(--sans);letter-spacing:-.08em;margin:75px 0 100px}.approach__heading em{font-family:Georgia,serif;font-weight:400}.approach__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(25px,4vw,65px)}.approach__grid article{border-top:1px solid #ffffff75;padding-top:26px}.approach__grid article>span{font:800 .67rem var(--sans);color:#cecfc8}.approach__grid h3{font:800 clamp(2.4rem,4vw,5rem) var(--sans);letter-spacing:-.08em;margin:35px 0 20px}.approach__grid p{max-width:260px;line-height:1.9;color:#d8e0db}.about-finish{padding-top:clamp(100px,12vw,170px);padding-bottom:clamp(100px,12vw,170px)}.about-finish h2{margin:50px 0}
/* Portfolio gallery populated via JS */
.portfolio-layout{padding-bottom:clamp(90px,13vw,200px)}.gallery-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:22px 0 38px;border-top:1px solid var(--line)}.gallery-filter{border:1px solid var(--ink);font:800 .67rem var(--sans);padding:12px 19px;min-height:44px;background:transparent;transition:background .2s,color .2s}.gallery-filter:hover,.gallery-filter.is-active{background:var(--ink);color:white}.gallery-count{margin-left:auto;font:800 .65rem var(--sans);letter-spacing:.12em}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(35px,5vw,80px) clamp(14px,2vw,36px);align-items:start;padding-top:15px}.gallery-card{min-width:0;display:block;width:100%;text-align:left;background:transparent;padding:0;border:0;color:inherit}.gallery-card:nth-child(3n + 2){margin-top:clamp(60px,9vw,155px)}.gallery-card:nth-child(3n + 3){margin-top:clamp(20px,4vw,70px)}.gallery-card__frame{width:100%}.gallery-card--tall .gallery-card__frame{aspect-ratio:3/4.35}.gallery-card--wide .gallery-card__frame{aspect-ratio:4/3}.gallery-card--square .gallery-card__frame{aspect-ratio:1}.gallery-card__meta{display:flex;justify-content:space-between;gap:12px;padding-top:14px;font:800 .59rem/1.7 var(--sans);letter-spacing:.09em;text-transform:uppercase}.gallery-card:nth-child(4n+2) .placeholder-art{background:#d3bea8}.gallery-card:nth-child(4n+2) .placeholder-shape{background:#3152d8}.gallery-card:nth-child(4n+3) .placeholder-art{background:#f38d62}.gallery-card:nth-child(4n+3) .placeholder-shape{background:#ead9be}.gallery-card:nth-child(4n+4) .placeholder-art{background:#9cb4b8}.gallery-card:nth-child(4n+4) .placeholder-shape{background:#33575c}.gallery-footer{border-top:1px solid var(--line);margin-top:75px;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:24px}.gallery-footer span{font:800 .65rem var(--sans);letter-spacing:.13em}
/* Contact */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(55px,10vw,160px);padding-bottom:clamp(90px,12vw,180px)}.contact-grid__left h2{font:800 clamp(3.3rem,5vw,7rem)/1.01 var(--sans);letter-spacing:-.077em;margin:45px 0}.contact-grid__left h2 em{font-family:Georgia,serif;font-weight:400}.contact-grid__left p{line-height:1.8;color:var(--muted);max-width:330px}.social-link{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:2px solid var(--ink);max-width:390px;font:800 clamp(.95rem,1.5vw,1.4rem) var(--sans);padding:20px 0;margin:45px 0 65px}.social-link span{font-size:1.8rem}.contact-grid__left>.photo-frame{max-width:420px;aspect-ratio:4/3}.contact-form{border-top:2px solid var(--ink)}.honeypot{position:absolute;left:-9999px}.form-row{margin-top:35px}.form-row label{font:800 .72rem var(--sans);letter-spacing:.08em;display:block;margin-bottom:13px}.form-row label span{color:var(--orange)}.form-row input,.form-row select,.form-row textarea{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:19px 0;width:100%;font-size:1rem;color:var(--ink)}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-bottom:2px solid var(--blue)}.form-row input::placeholder,.form-row textarea::placeholder{color:#888c85}.form-row textarea{min-height:155px;resize:vertical}.form-note{font-size:.78rem;color:var(--muted);line-height:1.7;margin:28px 0}.submit-button{background:var(--ink);color:#fff;border:1px solid var(--ink);display:flex;justify-content:space-between;gap:45px;width:100%;padding:22px 26px;min-height:68px;font:800 .73rem var(--sans);letter-spacing:.12em;transition:background .2s,color .2s}.submit-button:hover{background:var(--orange);color:var(--ink)}.submit-button span{font-size:1.3rem}.form-preview-notice{background:#e2ded3;border-left:3px solid var(--orange);padding:15px;margin-top:20px;line-height:1.6}
/* Lightbox (visible only with actual photo content) */
.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#141719f5;color:white;padding:65px 80px 35px}.lightbox__image{max-width:100%;max-height:calc(100dvh - 170px);object-fit:contain}.lightbox__toolbar{display:flex;justify-content:space-between;align-items:center;max-width:1100px;width:100%;gap:15px;padding-top:20px;font:800 .72rem var(--sans);letter-spacing:.1em}.lightbox__close,.lightbox__nav{position:absolute;background:transparent;border:1px solid #ffffff99;color:white;width:48px;height:48px;font-size:1.7rem}.lightbox__close{top:20px;right:20px}.lightbox__nav--prev{top:50%;left:20px}.lightbox__nav--next{top:50%;right:20px}.lightbox button:hover{background:#ffffff26}
/* reveal motion is progressive enhancement; reduced motion is respected */
.js-ready .reveal{opacity:0;transform:translate3d(0,40px,0);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--delay,0ms)}.js-ready .reveal.is-visible{opacity:1;transform:none}
@media(max-width:1250px){.hero__title{font-size:clamp(5rem,11vw,10rem)}.hero__copy-bottom{display:block}.hero__copy-bottom .pill-link{margin-top:28px}.hero__stage{grid-template-columns:1.05fr .95fr}.hero__visual,.hero__visual .photo-frame{min-height:500px}.hero__topline .tiny{display:none}.work__heading{align-items:start}.work__heading .section-description{max-width:230px}.color-slab{min-height:auto}}
@media(max-width:850px){:root{--gutter:clamp(20px,5vw,42px)}.site-header{height:75px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex}.mobile-menu{position:fixed;display:flex;flex-direction:column;top:75px;left:0;right:0;bottom:0;z-index:80;background:var(--paper);padding:50px var(--gutter);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .28s,transform .28s,visibility .28s}.mobile-menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-menu a:not(.mobile-ig){border-bottom:1px solid var(--line);padding:16px 0;font:800 clamp(2.7rem,8vw,5rem) var(--sans);letter-spacing:-.08em;display:flex;justify-content:space-between}.mobile-menu a span{font:800 .78rem var(--sans);letter-spacing:0}.mobile-menu .mobile-ig{margin-top:38px;font:800 .75rem var(--sans)}.hero__stage{grid-template-columns:1fr;gap:25px}.hero__copy{padding-top:35px;padding-bottom:12px}.hero__title{font-size:clamp(5.8rem,15vw,11rem)}.hero__copy-bottom{display:flex;margin-top:48px;padding-right:0;align-items:center}.hero__visual{min-height:55vw;height:55vw}.hero__visual .photo-frame{min-height:0;height:100%}.hero__bottom{margin-top:15px}.statement__title{font-size:clamp(5.3rem,13vw,9rem)}.work__heading{display:block;margin:55px 0}.section-description{margin-top:30px;max-width:540px!important}.work__gallery{grid-template-columns:1.15fr .8fr;gap:20px}.work__feature--three{grid-column:2;grid-row:2;margin-top:-20px}.work__feature--two{margin-top:85px}.work__feature--three .photo-frame{aspect-ratio:4/3}.colour-slab__title{font-size:clamp(6rem,14vw,10rem)}.colour-slab{min-height:600px}.manifesto{gap:45px}.manifesto__copy h2{font-size:clamp(3rem,5.5vw,5rem)}.page-hero__title{font-size:clamp(6rem,13vw,10rem)}.about-collage{gap:32px}.about-collage__side{padding-top:60px}.contact-grid{gap:45px}}
@media(max-width:600px){:root{--gutter:20px}.site-header{height:69px}.brand strong{font-size:1.33rem}.brand small{font-size:.4rem}.mobile-menu{top:69px}.hero{padding-top:17px}.hero__topline .kicker{font-size:.55rem}.hero__stage{margin-top:18px}.hero__title{font-size:clamp(4.35rem,16.8vw,7rem)}.hero__copy{padding-top:20px}.hero__copy-bottom{align-items:stretch;gap:15px;flex-direction:column;margin-top:35px}.hero__copy-bottom p{font-size:.85rem}.hero__copy-bottom .pill-link{margin-top:5px;width:max-content}.hero__visual{min-height:430px;height:117vw;max-height:650px}.hero__bottom{font-size:.48rem;gap:15px}.hero__bottom span:last-child{white-space:nowrap}.statement{margin-top:24px;padding:93px 0}.statement__title{font-size:clamp(3.85rem,15vw,6.5rem);margin:60px 0}.statement__indent{margin-left:7vw}.statement__foot{align-items:start}.statement__foot p{font-size:.89rem;max-width:245px}.statement__icon{font-size:2.1rem}.work{padding-top:95px;padding-bottom:48px}.section-row .tiny{display:none}.big-heading{font-size:clamp(3.7rem,13vw,6rem)}.work__heading{margin:45px 0 55px}.work__gallery{grid-template-columns:1fr 1fr;gap:14px}.work__feature--one{grid-column:1/3;width:83%}.work__feature--two{margin-top:15px}.work__feature--three{margin-top:90px;grid-column:2;grid-row:2}.work__feature--two .photo-frame{aspect-ratio:3/4}.work__feature--three .photo-frame{aspect-ratio:3/4}.work__meta{font-size:.45rem;line-height:1.7}.work__meta span:last-child{display:none}.work__footer{display:block;margin-top:55px}.work__footer .text-link{margin-top:15px}.colour-slab{min-height:490px}.colour-slab__inner{padding-top:75px;padding-bottom:65px}.colour-slab__title{font-size:clamp(4.5rem,17vw,7.5rem);margin-top:68px}.colour-slab__title>span:not(.color-dot){margin-left:10vw}.colour-slab__corner{margin-top:40px}.colour-slab__corner p{font-size:.79rem}.spin-icon{font-size:3.3rem}.manifesto{grid-template-columns:1fr;gap:60px;padding-top:110px;padding-bottom:110px}.manifesto__photo{width:85%}.manifesto__copy h2{font-size:clamp(3.5rem,12.8vw,6rem);margin:45px 0}.manifesto__copy p{margin-bottom:35px}.outro-band__inside{padding-top:95px;padding-bottom:68px}.outro-band__heading{font-size:clamp(3.65rem,15vw,7rem);margin:75px 0 60px;overflow-wrap:break-word}.outro-band__bottom p{font-size:.89rem}.circle-link{width:70px;height:70px;flex:0 0 70px}.site-footer{grid-template-columns:1fr;gap:30px}.footer-links{justify-content:flex-start;gap:15px 25px}.footer-end{display:block;line-height:2.2}.footer-end>span{display:block}.page-hero{padding-top:65px;padding-bottom:80px}.page-hero__top .tiny{display:none}.page-hero__title,.page-hero--about .page-hero__title{font-size:clamp(4.1rem,15vw,7rem);margin:75px 0 65px}.page-hero__sub{display:block}.page-hero__sub p{margin-top:20px;max-width:330px}.about-collage{grid-template-columns:1fr;gap:50px}.about-collage__side{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:end}.about-collage__side .kicker{grid-column:1/-1}.about-collage__side>.photo-frame{margin:0}.about-collage__side p{font-size:.83rem;margin:0}.approach{padding-top:98px;padding-bottom:98px}.approach__heading{font-size:clamp(3.4rem,12vw,5rem);margin:70px 0}.approach__grid{grid-template-columns:1fr;gap:35px}.approach__grid h3{font-size:3.6rem;margin:20px 0 6px}.approach__grid p{margin:0}.about-finish{padding-top:100px;padding-bottom:100px}.portfolio-grid{grid-template-columns:1fr 1fr;gap:45px 12px}.gallery-card:nth-child(3n + 2),.gallery-card:nth-child(3n + 3){margin-top:0}.gallery-card:nth-child(even){margin-top:45px}.gallery-filters{gap:9px;padding-bottom:30px}.gallery-filter{font-size:.57rem;padding:10px 12px;min-height:41px}.gallery-count{display:none}.gallery-card__meta{font-size:.49rem;display:block}.gallery-card__meta span+span:before{content:' / '}.gallery-footer{display:block}.gallery-footer .text-link{margin-top:15px}.contact-grid{grid-template-columns:1fr;padding-bottom:95px}.contact-grid__left h2{font-size:clamp(3.8rem,13vw,5rem)}.contact-grid__left>.photo-frame{display:none}.contact-grid__form{margin-top:30px}.lightbox{padding:75px 20px 90px}.lightbox__nav{top:auto;bottom:20px}.lightbox__nav--prev{left:25%}.lightbox__nav--next{right:25%}.lightbox__toolbar{padding:15px 0}}
@media(max-width:360px){.hero__title{font-size:17vw}.colour-slab__title{font-size:16.5vw}.page-hero__title,.page-hero--about .page-hero__title{font-size:14.5vw}.outro-band__heading{font-size:14.2vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js-ready .reveal{opacity:1;transform:none}}

@supports not (-webkit-text-stroke:1px #000){.hero__title .title-outline{color:var(--ink)}.outline-word{color:#fff}}

/* Search-ready content retains the monumental visual hierarchy */
.discover{padding-top:clamp(36px,4.5vw,72px);padding-bottom:clamp(100px,12vw,175px)}
.discover__heading{font:800 clamp(3.5rem,8vw,9rem)/.98 var(--sans);letter-spacing:-.075em;margin:65px 0 28px}
.discover__lead{font-size:clamp(1rem,1.35vw,1.3rem);line-height:1.75;max-width:850px}
.discover__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(25px,6vw,95px);margin-top:clamp(60px,7vw,100px)}
.discover__cards article{border-top:3px solid var(--ink);padding-top:27px}.discover__cards h3{font:800 clamp(2rem,3.4vw,4rem)/1.07 var(--sans);letter-spacing:-.055em;margin:48px 0 25px}.discover__cards p{line-height:1.7;max-width:540px}.discover__cards article:nth-child(2){border-top-color:var(--orange)}
.portfolio-context{padding-top:10px;padding-bottom:44px}.portfolio-context p{max-width:750px;line-height:1.7;font-size:1.04rem}.portfolio-context__links{display:flex;flex-wrap:wrap;gap:18px 40px;font-weight:700;text-decoration:underline;text-underline-offset:4px;margin-top:28px}
.portfolio-crawl{padding-bottom:28px}.portfolio-crawl ul{max-width:920px;margin:0;padding-left:1.1em;color:var(--muted);font-size:.92rem;line-height:1.65}.portfolio-crawl li{margin:0 0 .55em}
.information-hero{padding-bottom:40px}.information-title{font-size:clamp(4.5rem,11vw,11rem)!important}.information-body{padding-top:25px;padding-bottom:clamp(90px,11vw,180px)}.information-intro{max-width:960px}.information-intro h2{font:800 clamp(2.5rem,6vw,5.7rem)/1.08 var(--sans);letter-spacing:-.065em;margin:32px 0}.information-intro p,.legal-copy p{font-size:clamp(1rem,1.45vw,1.25rem);line-height:1.75}.information-intro .pill-link{margin-top:32px}.information-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,55px);margin-top:clamp(85px,11vw,150px)}.info-tile{padding-top:25px;border-top:2px solid var(--ink)}.info-tile>span{font-weight:800;color:var(--orange)}.info-tile h3{font:800 clamp(1.6rem,2.5vw,2.6rem)/1.07 var(--sans);letter-spacing:-.05em}.info-tile p{line-height:1.7}.faq-block{max-width:1000px;margin-top:110px}.faq-block h2{font:800 clamp(2.5rem,5vw,5rem)/1.03 var(--sans);letter-spacing:-.05em}.faq-block details{border-top:1px solid var(--line);padding:24px 0}.faq-block details:last-child{border-bottom:1px solid var(--line)}.faq-block summary{font-size:clamp(1.1rem,1.7vw,1.4rem);font-weight:700;cursor:pointer}.faq-block details p{max-width:740px;line-height:1.7}.information-callout{border-top:2px solid var(--orange);margin-top:95px;padding-top:30px}.information-callout p{font-size:clamp(1.8rem,3vw,3rem);max-width:830px;line-height:1.25}.legal-copy{max-width:1150px}.legal-copy h2{font:800 clamp(1.6rem,2.8vw,2.4rem)/1.14 var(--sans);letter-spacing:-.045em;margin-top:55px}.legal-copy a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.legal-notice{background:var(--warm);border-left:4px solid var(--orange);padding:24px;font-size:1rem!important}.legal-footnote{margin-top:75px;font-size:.87rem!important;color:var(--muted)}.contact-holding h2{font:800 clamp(2.8rem,4.5vw,5.4rem)/1 var(--sans);letter-spacing:-.07em}.contact-holding>p{line-height:1.75;max-width:520px}.contact-privacy-small{font-size:.85rem;color:var(--muted);margin-top:30px}.contact-privacy-small a{text-decoration:underline;text-underline-offset:3px}.footer-links a{min-height:24px}
@media(max-width:680px){.discover__cards,.information-tiles{grid-template-columns:1fr}.discover__heading{font-size:clamp(3.5rem,13vw,5rem)}.information-title{font-size:clamp(3.6rem,12vw,6rem)!important}.information-tiles{margin-top:75px}.faq-block{margin-top:70px}.discover__cards h3{margin-top:30px}}

/* V4 / QUIETLY MONUMENTAL — LOUI'S REVIEW */
.ui-arrow{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.13em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10}
a:has(>.ui-arrow),.pill-link,.text-link,.header-cta{align-items:center}
.text-link>.ui-arrow,.pill-link>.ui-arrow,.header-cta .ui-arrow{transition:transform .35s var(--ease)}
a:hover>.ui-arrow,.pill-link:hover>.ui-arrow,.header-cta:hover .ui-arrow{transform:translate(3px,-3px)}
.opening{padding-top:0}
.opening__eyebrow{display:flex;justify-content:space-between;gap:14px;align-items:center;min-height:50px;font:800 .61rem var(--sans);letter-spacing:.16em;color:var(--muted)}
.opening__media{position:relative;width:100%;height:min(76svh,940px);min-height:560px;isolation:isolate;background:#343634}
.opening__media .placeholder-art{background:linear-gradient(115deg,#343d3b 0%,#737770 37%,#b2a28b 70%,#766556 100%)}
.opening__media .placeholder-art::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),#ffffff13 calc(20% - 1px) 20%),linear-gradient(15deg,#171e1ca6,transparent 75%);z-index:4}
.opening__arch{position:absolute;bottom:-9%;height:102%;width:26%;background:linear-gradient(100deg,#aa9780,#534e46 50%,#918579);border-radius:49% 49% 0 0;box-shadow:inset 24px 0 0 #d3c6b051, inset -21px 0 0 #141b1f53}
.opening__arch::before{content:'';position:absolute;inset:19% 23% 0;background:#292e2c;border-radius:49% 49% 0 0;box-shadow:inset 18px 0 34px #000a}
.opening__arch--one{left:12%;transform:scale(1.3);transform-origin:bottom}
.opening__arch--two{left:43%;transform:scale(.9);transform-origin:bottom;filter:brightness(1.3)}
.opening__arch--three{left:73%;transform:scale(1.15);transform-origin:bottom;filter:brightness(.75)}
.opening__image-shade{position:absolute;inset:0;z-index:6;background:linear-gradient(0deg,rgba(10,12,13,.68) 0%,rgba(10,12,13,.05) 72%);pointer-events:none}
.opening__overlay{position:absolute;z-index:8;left:var(--gutter);right:var(--gutter);bottom:clamp(24px,4vw,64px);color:#fffdf9;pointer-events:none}
.opening__frame-label,.opening__overlay-bottom,.opening__credit{font:800 .61rem/1.5 var(--sans);letter-spacing:.16em}
/* V8.5.6 — hero title ~75% of prior size after removing frame-label */
.opening__overlay h1{font:800 clamp(3.3rem,8.25vw,9.75rem)/.91 var(--sans);letter-spacing:-.095em;text-transform:uppercase;margin:clamp(12px,1.5vw,28px) 0 clamp(28px,3vw,55px);max-width:1500px;text-shadow:0 2px 15px #0004}
.opening__overlay h1 em{font:400 .81em/.96 Georgia,serif;letter-spacing:-.075em;text-transform:none}
.opening__frame-label{display:none}
/* V8.5.1 — unified hero control rail: credit + progress line + counter/arrows share one centre line */
.opening__overlay-bottom{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px);min-height:48px;border-top:0;padding-top:0}
.opening__credit{flex:0 0 auto;white-space:nowrap}
.opening__rail{flex:1 1 auto;min-width:1.5rem;height:1px;background:#ffffffa3;align-self:center}
/* V8.5.6 — vertically centre the People/Places grouping without inflating gap to 001 */
.opening__after{display:grid;grid-template-columns:1fr 1.2fr auto;gap:clamp(30px,5vw,110px);align-items:center;min-height:clamp(150px,18vw,230px);padding-top:clamp(36px,4.5vw,64px);padding-bottom:clamp(36px,4.5vw,64px)}
.opening__after>span{padding-top:0}.opening__after p{max-width:520px;margin:0;font:400 clamp(1.35rem,2.3vw,2.25rem)/1.33 Georgia,serif;letter-spacing:-.028em}
.opening__after .text-link{white-space:nowrap;align-self:center}
.statement--v4{padding:clamp(95px,10vw,175px) 0; margin:0}
.statement__grid{display:grid;grid-template-columns:1fr .82fr;gap:clamp(50px,7vw,125px);align-items:center}
.statement--v4 .statement__title{font-size:clamp(5rem,9vw,10.7rem);line-height:.94;margin:clamp(45px,7vw,120px) 0 clamp(65px,7vw,110px);white-space:nowrap}
.statement--v4 .statement__foot{align-items:start;gap:20px}
.statement__rule{background:var(--orange);height:12px;width:12px;flex:0 0 12px;border-radius:50%;margin-top:9px}
.statement--v4 .statement__foot p{margin-left:auto;max-width:410px}
.statement__photography .photo-frame{aspect-ratio:4/5.2;min-height:500px;background:#343434}
.statement__photography .placeholder-art{background:radial-gradient(ellipse at 62% 9%,#9b9b9b 0%,#494949 36%,#151515 90%)}
.statement__photography .placeholder-art:before{background:repeating-linear-gradient(90deg,#fff1 0 1px,transparent 1px 21%)}
.monochrome-columns{position:absolute;bottom:-12%;left:20%;width:59%;height:99%;border-radius:49% 49% 0 0;background:linear-gradient(100deg,#bfbfbf 0%,#414141 20%,#dedede 33%,#484848 76%,#a2a2a2 100%);box-shadow:29px 2px 0 #191919}
.monochrome-columns:before{content:'';position:absolute;inset:23% 24% 0;background:#151515;border-radius:49% 49% 0 0;box-shadow:inset 9px 0 0 #6a6a6a}
.statement__under-image{font:700 .58rem var(--sans);letter-spacing:.18em;display:block;text-align:right;margin-top:17px;color:#a8a7a4}
.work--v4{padding-top:clamp(110px,12vw,200px);padding-bottom:clamp(36px,4vw,56px)}
.work--v4 .work__heading{margin:clamp(60px,7vw,110px) 0 clamp(65px,7vw,105px)}
.work--v4 .work__gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(25px,4vw,75px) clamp(15px,2vw,38px);align-items:start}
.work--v4 .work__feature{margin:0;grid-row:auto;grid-column:auto;width:100%}
.work--v4 .work__feature--one{grid-column:span 7}
.work--v4 .work__feature--two{grid-column:span 5;margin-top:0}
.work--v4 .work__feature--three,.work--v4 .work__feature--four,.work--v4 .work__feature--five{grid-column:span 4}
/* Shared top baseline with 03–05 (stagger removed). Frame ratios keep 01–02 near-equal height. */
.work--v4 .work__feature--one .photo-frame{aspect-ratio:1.21}
.work--v4 .work__feature--two .photo-frame{aspect-ratio:.84}
.work--v4 .work__feature--three .photo-frame{aspect-ratio:.84}
.work--v4 .work__feature--four .photo-frame{aspect-ratio:.84}
.work--v4 .work__feature--five .photo-frame{aspect-ratio:.84}
.work--v4 .work__meta{font-size:.61rem;line-height:1.6}
.work--v4 .work__footer{
  margin-top:clamp(48px,5.5vw,78px);
  padding-top:clamp(18px,2.2vw,28px);
  align-items:baseline;
  gap:clamp(28px,5vw,72px);
}
.work--v4 .work__footer p{
  max-width:min(22ch,100%);
  font-size:clamp(1.4rem,2.55vw,2.2rem);
  line-height:1.22;
  letter-spacing:-.028em;
  color:var(--ink);
}
@media(max-width:650px){
  .work__footer-br{display:none}
  .work--v4 .work__footer p{max-width:28ch;font-size:clamp(1.35rem,6.2vw,1.85rem);line-height:1.28}
}
/* V8.5.6 — tighten gap between work footer and The Photographer */
.manifesto--v4{border-top:1px solid var(--line);padding-top:clamp(24px,3vw,44px);padding-bottom:clamp(28px,3.5vw,48px)}
.manifesto__polaroid .polaroid__caption{display:none}
.manifesto--v4 .manifesto__photo .photo-frame{aspect-ratio:4/4.8}
.manifesto--v4 .manifesto__copy h2{font-size:clamp(5.5rem,9vw,11.3rem);line-height:.92}
.print-teaser{background:var(--warm);overflow:hidden}
.print-teaser__inner{min-height:710px;display:grid;grid-template-columns:1fr .84fr;gap:clamp(45px,9vw,170px);align-items:center;padding-block:clamp(85px,9vw,140px)}
.print-teaser__copy h2{font:800 clamp(3.9rem,7vw,9rem)/.99 var(--sans);letter-spacing:-.08em;margin:44px 0}
.print-teaser__copy h2 em{font:400 .83em Georgia,serif;letter-spacing:-.075em}
.print-teaser__copy p{max-width:440px;line-height:1.8;margin:0 0 40px}
.print-teaser__display{text-align:center;align-self:center;transform:rotate(4deg)}
.print-teaser__mat{aspect-ratio:4/5.1;padding:12%;background:#faf8f3;box-shadow:5px 20px 45px #25251e45;border:12px solid #222724;max-height:575px;max-width:430px;margin:auto}
.print-teaser__art{width:100%;height:100%;background:radial-gradient(ellipse at 45% 50%,#a5c0cc 0 23%,#566a75 24% 33%,#263745 34% 38%,#cbd1c6 40% 47%,#5b605b 48% 68%,#373e36 69%)}
.print-teaser__display>span{font:800 .55rem var(--sans);letter-spacing:.16em;display:block;margin-top:26px}
/* PRINTS — deliberately no shop checkout or invented prices */
.shop-opening{padding-top:clamp(55px,6vw,100px);padding-bottom:clamp(55px,6vw,100px)}
.shop-opening__head{display:flex;justify-content:space-between;gap:20px}
.shop-opening__title{font:800 clamp(5.4rem,11vw,13rem)/.91 var(--sans);letter-spacing:-.085em;margin:clamp(75px,8vw,130px) 0 55px}
.shop-opening__title em{font:400 .81em Georgia,serif;letter-spacing:-.076em}
.shop-opening__foot{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);padding-top:28px;gap:25px}
.shop-opening__foot p{font:400 clamp(1.25rem,2vw,1.9rem)/1.45 Georgia,serif;max-width:650px;margin:0}
.shop-hero-photo{height:clamp(300px,54vw,690px);margin:0;background:#bcc1be}.shop-hero-photo .placeholder-shape{width:78%;left:11%;border-radius:0;transform:skew(-12deg)}
.shop-collection{padding-top:clamp(110px,13vw,190px);padding-bottom:clamp(95px,11vw,160px)}
.shop-collection__intro{display:flex;align-items:end;justify-content:space-between;gap:60px;margin:clamp(50px,8vw,110px) 0 clamp(55px,7vw,100px)}
.shop-collection__intro h2{font:800 clamp(4rem,7.5vw,9rem)/.93 var(--sans);letter-spacing:-.08em;margin:0}
.shop-collection__intro h2 em{font:400 .83em Georgia,serif}
.shop-collection__intro p{max-width:370px;color:var(--muted);line-height:1.8;margin:0}
.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(75px,9vw,150px) clamp(20px,5vw,95px)}
.print-card{min-width:0}.print-card:nth-child(even){margin-top:95px}
.print-card__art{background:#e5dfd2;padding:clamp(20px,4vw,60px);aspect-ratio:1.09;display:grid;place-items:center}
.print-card:nth-child(2) .print-card__art{background:#cbd4d4}
.print-card:nth-child(3) .print-card__art{background:#d9d5cd}
.print-card:nth-child(4) .print-card__art{background:#f4d2bb}
.print-card__mount{height:100%;width:75%;background:#fcfaf6;padding:8%;box-shadow:8px 14px 22px #0002}
.print-card__mount .photo-frame{height:100%;min-height:0}
.print-card__meta{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:14px;margin-top:25px;font:800 .56rem var(--sans);letter-spacing:.12em;color:var(--muted)}
.print-card h3{font:800 clamp(1.3rem,2.3vw,2.7rem)/1.09 var(--sans);letter-spacing:-.04em;margin:23px 0 8px}
.print-card p{color:var(--muted);font:700 .68rem var(--sans);letter-spacing:.1em;margin:0}
.shop-information{background:var(--ink);color:var(--paper)}
.shop-information__inside{padding-top:clamp(100px,11vw,175px);padding-bottom:clamp(100px,11vw,180px)}
.shop-information h2{font:800 clamp(4.2rem,9vw,11rem)/.94 var(--sans);letter-spacing:-.079em;margin:60px 0 100px}
.shop-information h2 em{font:400 .8em Georgia,serif}
.shop-information__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(25px,4vw,65px)}
.shop-information__grid>div{border-top:1px solid #fff6;padding-top:22px}
.shop-information__grid h3{font:800 clamp(1.2rem,1.55vw,1.7rem) var(--sans);letter-spacing:-.035em}
.shop-information__grid p{line-height:1.8;color:#ddd9d3}
.shop-information__grid .pill-link{margin-top:25px;background:#f5f2eb;color:var(--ink)}
.shop-finish{padding-top:clamp(95px,11vw,170px);padding-bottom:clamp(105px,12vw,200px)}
.shop-finish h2{font:800 clamp(4rem,9vw,11rem)/.98 var(--sans);letter-spacing:-.083em;margin:45px 0 55px}
.shop-finish h2 em{font:400 .82em Georgia,serif}
/* adapt all compositions without horizontal overflow */
@media(max-width:1100px){
 .opening__media{min-height:500px;height:66svh}
 .opening__after{grid-template-columns:1fr 1.5fr;gap:15px 35px}
 .opening__after .text-link{grid-column:2;justify-self:start}
 .statement__grid{gap:45px}.statement--v4 .statement__title{font-size:clamp(4.7rem,8.7vw,9rem)}
 .work--v4 .work__feature--two{margin-top:0}
}
@media(max-width:850px){
 .opening__eyebrow{min-height:40px;font-size:.52rem}
 .opening__media{height:60svh;min-height:420px}
 .opening__overlay h1{font-size:clamp(3.15rem,8.25vw,5.85rem)}
 .opening__after{padding-block:clamp(28px,4vw,48px);min-height:0}
 .statement__grid{grid-template-columns:1fr 1fr;gap:32px}
 .statement--v4 .statement__title{font-size:clamp(3.85rem,9vw,6.5rem)}
 .statement__photography .photo-frame{min-height:0}
 .print-teaser__inner{min-height:550px;gap:30px}
 .shop-information__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
 .site-header{gap:8px}.brand strong{font-size:1.36rem}
 .opening__eyebrow{min-height:41px;font-size:.49rem;letter-spacing:.085em}
 .opening__eyebrow span:last-child{display:none}
 .opening__media{height:54svh;min-height:350px;max-height:540px}
 .opening__overlay{bottom:22px;left:20px;right:20px}
 .opening__overlay h1{font-size:clamp(2.15rem,7.75vw,3.75rem);margin:18px 0 28px;letter-spacing:-.078em}
 .opening__frame-label,.opening__overlay-bottom,.opening__credit{font-size:.49rem;letter-spacing:.08em}
 .opening__credit{max-width:42vw;overflow:hidden;text-overflow:ellipsis}
 .opening__arch--one{left:5%}.opening__arch--two{left:45%}.opening__arch--three{left:78%}
 .opening__after{display:block;padding-block:clamp(28px,6vw,48px);min-height:0}
 .opening__after p{font-size:1.55rem;margin:28px 0 30px;max-width:450px}
 .opening__after .text-link{display:inline-flex}
 .statement--v4{padding:90px 0 95px}
 .statement__grid{grid-template-columns:1fr;gap:65px}
 .statement--v4 .statement__title{font-size:clamp(4.6rem,15vw,7rem);margin:57px 0 50px}
 .statement--v4 .statement__foot{display:flex}
 .statement--v4 .statement__foot p{font-size:1rem}
 .statement__photography{width:min(85%,490px);margin-left:auto}
 .statement__photography .photo-frame{aspect-ratio:4/4.3}
 .work--v4{padding-block:110px 48px}
 .work--v4 .work__heading{margin:55px 0 60px}
 .work--v4 .work__gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:39px 13px}
 .work--v4 .work__feature{grid-column:span 1;margin:0;transform:none;width:100%}
 .work--v4 .work__feature--one{grid-column:span 2}
 .work--v4 .work__feature--one .photo-frame{aspect-ratio:1.24}
 .work--v4 .work__feature--two .photo-frame,.work--v4 .work__feature--three .photo-frame,.work--v4 .work__feature--four .photo-frame,.work--v4 .work__feature--five .photo-frame{aspect-ratio:.83}
 .work--v4 .work__meta{display:block;font-size:.5rem}
 .work--v4 .work__meta span:last-child{display:none}
 .work--v4 .work__footer{margin-top:48px}
 .manifesto--v4{padding-block:28px 32px;gap:50px}
 .manifesto--v4 .manifesto__photo{width:100%;max-width:490px}
 .manifesto--v4 .manifesto__copy h2{font-size:clamp(5.2rem,17vw,8.5rem)}
 .print-teaser__inner{grid-template-columns:1fr;gap:70px;padding-block:100px}
 .print-teaser__copy h2{font-size:clamp(3.8rem,12vw,6rem)}
 .print-teaser__display{width:70%;margin:auto}.print-teaser__mat{max-height:410px}
 .shop-opening{padding-top:55px}.shop-opening__head span:last-child{display:none}
 .shop-opening__title{font-size:clamp(4.45rem,13.5vw,7.3rem);margin:75px 0 48px}
 .shop-opening__foot{display:block}.shop-opening__foot p{margin:0 0 20px;font-size:1.4rem}
 .shop-hero-photo{height:390px}
 .shop-collection__intro{display:block}.shop-collection__intro h2{font-size:clamp(3.8rem,12vw,6.5rem);margin-bottom:25px}
 .shop-grid{grid-template-columns:1fr;gap:75px}.print-card:nth-child(even){margin-top:0}
 .print-card__art{aspect-ratio:1.2;padding:35px}.print-card__mount{width:70%}
 .shop-information h2{font-size:clamp(4rem,11vw,7rem);margin:50px 0 60px}
 .shop-information__grid{grid-template-columns:1fr;gap:40px}
 .shop-finish h2{font-size:clamp(4.1rem,12.5vw,7rem)}
}
@media(max-width:375px){
 .opening__overlay h1{font-size:7.5vw}
 .statement--v4 .statement__title{font-size:14vw}
 .shop-opening__title{font-size:12.8vw}
 .shop-collection__intro h2{font-size:11.8vw}
 .print-card__art{padding:22px}
}


/* V5 — full-bleed, accessible four-frame hero carousel */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.opening__carousel{overflow:hidden;isolation:isolate}
.opening__carousel .opening__slide{position:absolute;inset:0;margin:0;width:100%;height:100%;opacity:0;visibility:hidden;z-index:1;transition:opacity 1100ms ease,visibility 1100ms ease;pointer-events:none}
.opening__carousel .opening__slide.is-active{opacity:1;visibility:visible;z-index:2}
.opening__carousel .opening__slide>.placeholder-art{position:absolute;inset:0;width:100%;height:100%}
.opening__carousel .opening__slide>img,.opening__carousel .opening__slide>picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.opening__carousel .opening__slide>picture>img{height:100%;width:100%;object-fit:cover}
.opening__carousel .opening__slide-note{position:absolute;top:24px;right:var(--gutter);z-index:4;color:#fff8;font:700 .55rem var(--sans);letter-spacing:.18em;pointer-events:none}
.opening__carousel .opening__slide.has-photo .opening__slide-note{display:none}
.opening__carousel .opening__overlay{z-index:7}
.opening__carousel .opening__image-shade{z-index:6}
.opening__carousel .opening__overlay-bottom{padding-right:0}
.opening__controls{position:static;display:flex;align-items:center;gap:14px;margin:0;color:white;pointer-events:auto;flex:0 0 auto}
.opening__counter{font:800 .63rem/1 var(--sans);letter-spacing:.13em;white-space:nowrap;margin:0;display:flex;align-items:center;text-shadow:0 1px 10px #000a;line-height:1}
.opening__arrows{display:flex;align-items:center;gap:9px}
.opening__arrow{box-sizing:border-box;width:48px;height:48px;flex:0 0 48px;padding:0;border:1px solid #ffffffb8;border-radius:50%;background:rgba(17,22,21,.33);color:#fff;display:grid;place-items:center;backdrop-filter:blur(7px);transition:background .22s,border-color .22s}
.opening__arrow svg{height:20px;width:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.opening__arrow:hover{background:rgba(255,255,255,.20);border-color:#fff}
.opening__arrow:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
/* Separate architectural placeholder compositions for each frame. */
.opening__slide--facade .placeholder-art{background:linear-gradient(125deg,#e6c8a8,#93877b 54%,#514e4f)!important}
.opening__slide--facade .placeholder-art::before{content:'';position:absolute;inset:-25% 14% -25% 25%;background:repeating-linear-gradient(90deg,transparent 0 15%,#292b3033 15.5% 18%,#eee6d630 18% 19%);transform:skewY(-7deg) rotate(-4deg);box-shadow:80px 0 110px #25211e60;z-index:2}
.opening__facade{position:absolute;left:27%;bottom:-22%;height:150%;width:41%;border-left:clamp(25px,7vw,150px) solid #6f665d;border-right:clamp(25px,7vw,150px) solid #cec0ab;border-top:clamp(25px,5vw,75px) solid #b3a48f;transform:skewX(13deg) rotate(-8deg);box-shadow:15px 12px 70px #25211e50}
.opening__slide--geometry .placeholder-art{background:linear-gradient(125deg,#8ca9b4 0%,#31567c 47%,#1b2838 100%)!important}
.opening__slide--geometry .placeholder-art::before{content:'';position:absolute;top:-25%;left:33%;width:45%;height:160%;border:clamp(30px,8vw,120px) solid #d9c3ae;border-bottom:none;transform:rotate(18deg);box-shadow:20px 15px 70px #070f2633;z-index:2}
.opening__geometry{position:absolute;right:-9%;top:-30%;width:57%;aspect-ratio:1;transform:rotate(-25deg);border-radius:50%;border:clamp(40px,9vw,160px) solid #203349;box-shadow:-55px 30px 100px #fff3}
.opening__slide--columns .placeholder-art{background:linear-gradient(115deg,#6c4639,#cb9879 46%,#e2c9ae 79%,#947566)!important}
.opening__slide--columns .placeholder-art::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 7%,#ffffff21 7% 8%,transparent 8% 20%),linear-gradient(0deg,#381e2655,transparent 75%);z-index:3}
.opening__columns{position:absolute;inset:-17% 13% -20%;transform:skew(-10deg) rotate(5deg);background:repeating-linear-gradient(90deg,#7b594a 0 14%,#b58d77 15% 26%,#ead4b4 28% 34%,#54463e 37% 40%);box-shadow:-50px 0 100px #341e286b}
/* Native Netlify inquiry form */
.contact-form__heading{font:800 clamp(3.5rem,5.6vw,7.2rem)/.98 var(--sans);letter-spacing:-.077em;margin:35px 0 20px}
.contact-form__heading em{font:400 .86em Georgia,serif;letter-spacing:-.055em}
.contact-form__intro{max-width:460px;color:var(--muted);font:400 1.05rem/1.7 var(--body);margin:0 0 30px}
.form-consent{display:flex;align-items:start;gap:14px;margin-top:33px;color:var(--ink);font:.87rem/1.55 var(--body);cursor:pointer}
.form-consent input{width:21px;height:21px;flex:0 0 21px;accent-color:var(--ink);margin:1px 0 0}
.form-consent a{text-decoration:underline;text-underline-offset:3px;font-weight:700}
.form-consent a:hover{color:var(--blue)}
.form-row--turnstile{margin-top:28px;min-height:65px}
.form-preview-notice[data-state="error"]{color:#8a1f11}
.form-preview-notice[data-state="ok"]{color:var(--muted)}
.form-preview-notice[hidden]{display:none}
.submit-button .ui-arrow{font-size:1.5rem}
@media(max-width:650px){
 .opening__overlay-bottom{min-height:42px;gap:12px}
 .opening__controls{gap:10px}
 .opening__counter{display:none}
 .opening__arrow{height:42px;width:42px;flex-basis:42px}
 .opening__arrow svg{height:18px;width:18px}
 .opening__carousel .opening__overlay-bottom{padding-right:0}
 .opening__slide-note{display:none}
 .contact-form__heading{font-size:clamp(3.6rem,12.5vw,6rem);margin-top:30px}
}
@media(prefers-reduced-motion:reduce){
 .opening__carousel .opening__slide{transition:none}
 .opening__arrow{transition:none}
}

/* V6 — every numbered JPEG fills its design frame, regardless of original aspect ratio.
   A 1560×1420 photo in a 1440×1320 frame is centred and cropped, never stretched. */
.photo-frame>img,.photo-frame>picture,.photo-frame>picture>img,.print-teaser__art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;}
.photo-frame>picture>img{display:block;}
.photo-frame.has-photo>img,.photo-frame.has-photo>picture{z-index:5;}
/* Individual focal points can be set via JS content.js (position: '60% 35%'). */
.print-teaser__art.photo-frame{position:relative;width:100%;height:100%;min-height:0;}
.print-teaser__art.photo-frame img{width:100%;height:100%;object-fit:cover;}

/* V7 — Clear pricing, art-directed editorial layouts. */
.pricing-teaser{background:var(--warm);border-top:1px solid var(--line)}
.pricing-teaser__layout{display:grid;grid-template-columns:1.1fr .75fr;gap:clamp(35px,9vw,170px);align-items:center;padding-block:clamp(95px,10vw,170px)}
.pricing-teaser h2{font:800 clamp(3.8rem,7.1vw,9rem)/.94 var(--sans);letter-spacing:-.084em;margin:38px 0}
.pricing-teaser h2 em{font:400 .92em Georgia,serif;letter-spacing:-.065em}
.pricing-teaser__detail{border-top:2px solid var(--ink);padding-top:26px}
.pricing-teaser__number{display:block;font:800 clamp(3.2rem,5.4vw,6.6rem)/1 var(--sans);letter-spacing:-.07em}
.pricing-teaser__number small{font:800 .62rem var(--sans);letter-spacing:.1em;vertical-align:middle}
.pricing-teaser__detail p{line-height:1.7;font-size:1.08rem;max-width:460px;margin:30px 0 35px}
.pricing-intro{padding-top:clamp(28px,3.5vw,56px);padding-bottom:clamp(12px,1.8vw,24px)}
.pricing-intro__eyebrow{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}
.pricing-intro__title{font:800 clamp(3rem,6.2vw,6.2rem)/.9 var(--sans);letter-spacing:-.087em;margin:clamp(14px,1.8vw,24px) 0 clamp(12px,1.5vw,18px)}
.pricing-intro__title em{font:400 .9em/.95 Georgia,serif;letter-spacing:-.075em}
.pricing-intro__dot{color:var(--orange)}
.pricing-intro__lead{font:400 clamp(1rem,1.4vw,1.2rem)/1.55 Georgia,serif;max-width:560px;margin:0;color:var(--muted);border-top:1px solid var(--ink);padding-top:14px}
.pricing-intro__bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;border-top:1px solid var(--ink);padding-top:25px}
.pricing-intro__bottom p{font:400 clamp(1.4rem,2.4vw,2.7rem)/1.3 Georgia,serif;max-width:780px;margin:0}
.pricing-intro__side{font:800 .64rem/1.65 var(--sans);letter-spacing:.1em;max-width:280px;text-align:right}
.pricing-packages,.pricing-estimator{padding-bottom:clamp(100px,12vw,200px);padding-top:0}
.pricing-section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;border-top:1px solid var(--line);padding-top:22px}
.pricing-section-title h2{font:800 clamp(4rem,7vw,9rem)/.91 var(--sans);letter-spacing:-.078em;margin:16px 0 28px}
.pricing-section-title h2 em{font:400 .95em Georgia,serif}
.pricing-draft{font:.88rem/1.6 var(--body);color:var(--muted);width:100%;max-width:none;box-sizing:border-box;border-left:3px solid var(--orange);padding:12px 18px;margin:0 0 22px;background:#fff9ee}
.pricing-faq__lead{max-width:540px;margin:0 0 clamp(36px,5vw,56px);font-size:1.02rem;line-height:1.7;color:var(--muted)}
/* Legacy estimator grid retired in V8.3 — see .pricing-calc / .pricing-calc__layout below */
.pricing-calc{display:block;width:100%;min-width:0}
.pricing-calc__controls{display:flex;flex-direction:column;gap:8px;min-width:0}
.pricing-field{border:0;border-top:1px solid var(--ink);margin:0;padding:26px 0 22px;min-width:0}
.pricing-field legend{font:800 clamp(1.05rem,1.8vw,1.35rem)/1.3 var(--sans);letter-spacing:-.03em;padding:0;margin:0 0 8px}
.pricing-field__hint{font-size:.88rem;line-height:1.55;color:var(--muted);margin:0 0 16px;max-width:560px}
.pricing-stepper{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:14px;align-items:center}
.pricing-stepper__btn{width:48px;height:48px;border:1.5px solid var(--ink);background:transparent;font:800 1.35rem/1 var(--sans);color:var(--ink);transition:background .2s,color .2s}
.pricing-stepper__btn:hover{background:var(--ink);color:var(--paper)}
.pricing-stepper__btn:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.pricing-stepper__value{display:flex;flex-direction:column;gap:10px;min-width:0}
.pricing-stepper__value input[type=range]{width:100%;accent-color:var(--orange);height:28px;cursor:pointer}
.pricing-stepper__value input[type=range]:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.pricing-stepper__readout{font:800 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase}
.pricing-calc__estimate{background:var(--ink);color:var(--white);padding:clamp(28px,3.5vw,44px);position:sticky;top:110px;border:1px solid var(--ink)}
.pricing-calc__eyebrow{font:800 .58rem var(--sans);letter-spacing:.14em;color:var(--orange);margin:0 0 18px}
.pricing-calc__total-label{font:800 .62rem var(--sans);letter-spacing:.12em;margin:0 0 10px;text-transform:uppercase;opacity:.75}
.pricing-calc__total{font:800 clamp(3.2rem,5.5vw,5.6rem)/.95 var(--sans);letter-spacing:-.07em;margin:0;color:var(--white)}
.pricing-calc__currency{font-size:.88rem;opacity:.7;margin:10px 0 28px}
.pricing-calc__lines{list-style:none;padding:0;margin:0 0 28px;border-top:1px solid #ffffff35}
.pricing-calc__lines li{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px solid #ffffff28;font-size:.9rem;line-height:1.45}
.pricing-calc__lines li span{opacity:.78;max-width:55%}
.pricing-calc__lines li strong{font:700 .9rem/1.35 var(--sans);text-align:right}
.pricing-calc__footnote{font-size:.8rem;line-height:1.6;opacity:.65;margin:0 0 28px}
.pricing-calc__cta{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid currentColor;padding:16px 18px;font:800 .61rem var(--sans);letter-spacing:.09em;text-decoration:none;transition:background .25s ease,color .25s ease,border-color .25s ease}
.pricing-calc__cta:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.pricing-calc__cta:focus-visible{outline:3px solid #9bb0ff;outline-offset:4px}
.pricing-included{margin-top:clamp(50px,7vw,90px);padding-top:28px;border-top:1px solid var(--line);max-width:860px}
.pricing-included h3{font:800 clamp(1.8rem,3vw,3rem)/1.05 var(--sans);letter-spacing:-.05em;margin:0 0 22px}
.pricing-included ul{margin:0 0 22px;padding-left:1.15em;line-height:1.7;color:var(--muted)}
.pricing-included p{line-height:1.7;color:var(--muted);margin:0 0 18px}
@media(max-width:900px){.pricing-calc{grid-template-columns:1fr}.pricing-calc__estimate{position:static}}
.pricing-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px);align-items:stretch}
.pricing-card{border:1px solid var(--ink);background:#fdfbf7;display:flex;flex-direction:column;min-width:0}
.pricing-card--featured{background:var(--ink);color:var(--white)}
.pricing-card__top{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid currentColor;padding:21px 24px;font:800 .6rem/1.5 var(--sans);letter-spacing:.10em}
.pricing-card__main{padding:clamp(26px,3.8vw,60px) clamp(22px,2.4vw,38px) 28px;flex:1}
.pricing-card__main h3{font:800 clamp(2.4rem,3.6vw,4.7rem)/.98 var(--sans);letter-spacing:-.065em;margin:0 0 30px}
.pricing-card__main h3 em{font:400 1.03em Georgia,serif;letter-spacing:-.07em}
.pricing-card__main p{min-height:94px;line-height:1.65;max-width:350px;color:inherit;opacity:.84}
.pricing-card__amount{font:800 clamp(2.6rem,4vw,5.2rem)/1 var(--sans);letter-spacing:-.07em;margin-top:30px;white-space:nowrap}
.pricing-card__amount span{font:800 .64rem var(--sans);letter-spacing:.04em}
.pricing-card__bottom{padding:24px clamp(22px,2.4vw,38px) 32px;border-top:1px solid currentColor}
.pricing-card__bottom h4{font:800 .61rem var(--sans);letter-spacing:.11em;margin:0 0 22px}
.pricing-card__bottom ul{list-style:none;padding:0;margin:0 0 35px}
.pricing-card__bottom li{border-bottom:1px solid #89898950;padding:12px 0;font-size:.91rem;line-height:1.5}
.pricing-card__cta{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid currentColor;padding:16px;font:800 .61rem var(--sans);letter-spacing:.09em;text-decoration:none;transition:background .25s ease,color .25s ease}
.pricing-card__cta:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.pricing-card__cta span{font-size:1.3rem}
.pricing-addons{background:var(--ink);color:var(--white)}
.pricing-addons__inside{padding-block:clamp(90px,10vw,180px)}
.pricing-addons__intro{display:grid;grid-template-columns:1.4fr .6fr;gap:50px;align-items:end}
.pricing-addons__intro h2{font:800 clamp(3.5rem,7vw,9.5rem)/.96 var(--sans);letter-spacing:-.079em;margin:45px 0 25px}
.pricing-addons__intro h2 em{font:400 .88em Georgia,serif;letter-spacing:-.06em}
.pricing-addons__intro p{max-width:480px;line-height:1.7;font-size:1.04rem;opacity:.75}
.pricing-addons__list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:clamp(65px,9vw,140px)}
.pricing-addons__list>div,.pricing-addon-card{border-top:2px solid #fff6;padding-top:23px;display:flex;flex-direction:column;gap:0;min-height:0}
.pricing-addons__list span{font:800 .65rem var(--sans);color:var(--orange);display:block;margin-bottom:14px}
.pricing-addons__list strong{font:800 clamp(1.3rem,2.1vw,2.6rem)/1.1 var(--sans);letter-spacing:-.04em;margin-bottom:12px}
.pricing-addons__list p{font-size:.93rem;line-height:1.75;color:#e0dfd8;max-width:410px;margin:0}
.pricing-addon-card__rule{border:0;border-top:1px solid #ffffff40;width:100%;margin:22px 0 26px}
.pricing-addon-card__visual{margin:0;height:clamp(260px,30vw,340px);min-height:clamp(260px,30vw,340px);display:flex;align-items:center;justify-content:center}
.pricing-addon-card__visual .print-example{width:100%;height:100%;margin:0;display:flex;align-items:center;justify-content:center}
.pricing-addon-card__visual .print-example figcaption{display:none}
.pricing-addon-card__note{font-size:.78rem!important;line-height:1.55!important;opacity:.65;margin-top:14px;max-width:410px}
.about-collage--v856{padding-bottom:clamp(48px,6vw,88px)}
.about-collage--v856 .about-collage__side p+p{margin-top:1.15rem}
/* V8.6.1 — About columns: copy + small photo left, large photo right; heading flush with large image top */
.about-collage--reversed{grid-template-columns:.65fr 1.2fr;align-items:start}
.about-collage--reversed .about-collage__side{padding-top:0;display:flex;flex-direction:column;gap:0}
.about-collage--reversed .about-collage__side .kicker{margin-bottom:clamp(18px,2.5vw,28px)}
.about-collage--reversed .about-collage__side p{margin-top:0;max-width:420px}
.about-collage--reversed .about-collage__side p+p{margin-top:1.15rem}
.about-collage--reversed .about-collage__side>.photo-frame{margin-top:clamp(28px,4vw,48px);aspect-ratio:4/4.3;max-width:min(100%,340px)}
.about-collage--reversed .about-collage__main{padding-top:0}
.about-collage--reversed .about-collage__main>.photo-frame{aspect-ratio:5/5.2}
@media(max-width:600px){
  .about-collage--reversed{grid-template-columns:1fr}
  .about-collage--reversed .about-collage__side>.photo-frame{max-width:100%}
}
.pricing-faq{padding-block:clamp(72px,9vw,150px);border-top:1px solid var(--line)}
.pricing-faq h2{font:800 clamp(3.4rem,6.7vw,9rem)/.97 var(--sans);letter-spacing:-.075em;margin:35px 0 75px}
.pricing-faq h2 em{font:400 .88em Georgia,serif;letter-spacing:-.06em}
.pricing-faq__items{max-width:none;margin-left:0;width:100%}
.pricing-faq details{border-top:1px solid var(--ink);padding:30px 0}
.pricing-faq details:last-child{border-bottom:1px solid var(--ink)}
.pricing-faq summary{font:700 clamp(1.15rem,2vw,1.65rem)/1.45 var(--sans);cursor:pointer;display:flex;justify-content:space-between;gap:24px;list-style:none}
.pricing-faq summary::-webkit-details-marker{display:none}
.pricing-faq summary span{font-size:1.9rem;line-height:1;transition:transform .2s ease}
.pricing-faq details[open] summary span{transform:rotate(45deg)}
.pricing-faq details p{max-width:750px;line-height:1.75;color:var(--muted)}
.pricing-closer{background:var(--blue);color:var(--white)}
.pricing-closer__inner{padding-block:clamp(80px,10vw,165px)}
.pricing-closer h2{font:800 clamp(3.8rem,9vw,12rem)/.94 var(--sans);letter-spacing:-.078em;margin:38px 0}
.pricing-closer h2 em{font:400 .84em Georgia,serif}
.pricing-closer p{font-size:1.13rem;line-height:1.6;margin-bottom:32px}
@media(max-width:1100px){.pricing-cards{grid-template-columns:1fr 1fr}.pricing-card:last-child{grid-column:span 2}.pricing-card:last-child .pricing-card__main p{min-height:0}.pricing-card__main h3{font-size:clamp(2.8rem,5vw,5.1rem)}}
@media(max-width:740px){.pricing-teaser__layout,.pricing-addons__intro,.pricing-addons__list{grid-template-columns:1fr}.pricing-teaser__layout{gap:25px}.pricing-intro__bottom{display:block}.pricing-intro__side{display:block;margin-top:22px;text-align:left}.pricing-section-title{display:block}.pricing-cards{grid-template-columns:1fr}.pricing-card:last-child{grid-column:auto}.pricing-card__main p{min-height:0}.pricing-intro__title{font-size:clamp(2.8rem,11vw,4.6rem)}.pricing-addons__intro h2{font-size:clamp(3.3rem,11vw,6rem)}.pricing-closer h2{font-size:clamp(3.2rem,11vw,6rem)}.pricing-addons__list{gap:32px}}
@media(max-width:380px){.pricing-teaser h2{font-size:3.25rem}.pricing-intro__title{font-size:11vw}.pricing-card__amount{font-size:2.9rem}}

/* V8 additions */
.form-optional{font-weight:600;letter-spacing:.04em;color:var(--muted);text-transform:none}
.pricing-drone{padding-block:clamp(70px,9vw,120px) clamp(48px,6vw,88px);border-top:1px solid var(--line)}
.pricing-drone h2{font:800 clamp(3.2rem,6.5vw,8.5rem)/.97 var(--sans);letter-spacing:-.075em;margin:35px 0 28px}
.pricing-drone h2 em{font:400 .88em Georgia,serif;letter-spacing:-.06em}
.pricing-drone p{max-width:760px;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.75;color:var(--muted);margin:0}
.print-example{margin:0}
.print-example__frame{aspect-ratio:3/4;background:#2a2c2a}
.print-example figcaption{margin-top:12px;font:800 .58rem var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:.75}
/* 01 Prints — clean edge-to-edge photographic print */
.print-example--prints .print-example__frame{border:1px solid #ffffff22}
/* 02 Frames — photorealistic wall-hung moulding with physical thickness */
.print-example--frames{display:flex;flex-direction:column;align-items:center}
.print-example__frame-stage{
  width:100%;
  max-width:320px;
  margin-inline:auto;
  padding:4% 3% 8%;
  filter:drop-shadow(0 22px 28px rgba(0,0,0,.42)) drop-shadow(0 4px 8px rgba(0,0,0,.28));
}
.print-example__moulding{
  position:relative;
  background:
    linear-gradient(145deg,#4a4036 0%,#2a241c 16%,#5a4e42 34%,#1a1612 55%,#3a3228 76%,#12100c 100%);
  padding:7px;
  border-radius:1px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 3px rgba(0,0,0,.55),
    inset 1px 0 2px rgba(255,255,255,.08),
    inset -1px 0 3px rgba(0,0,0,.4),
    0 1px 0 rgba(255,255,255,.05);
}
.print-example__moulding::before{
  content:"";
  position:absolute;
  inset:3px;
  border:1px solid rgba(255,255,255,.07);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.45);
  pointer-events:none;
  border-radius:0;
}
.print-example__moulding::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.08) 0,transparent 8%,transparent 92%,rgba(0,0,0,.25) 100%),
    linear-gradient(180deg,rgba(255,255,255,.1) 0,transparent 12%,transparent 88%,rgba(0,0,0,.35) 100%);
  border-radius:inherit;
}
.print-example__depth{
  background:linear-gradient(180deg,#1c1814,#0a0908);
  padding:3px;
  box-shadow:inset 0 0 10px rgba(0,0,0,.7);
}
.print-example--frames .print-example__mat{
  background:
    linear-gradient(180deg,#f7f2e8 0%,#efe8db 55%,#e6ddcf 100%);
  padding:9% 8% 10%;
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.12),
    inset 0 2px 6px rgba(0,0,0,.08);
}
.print-example--frames .print-example__frame{
  aspect-ratio:3/4;
  box-shadow:
    0 1px 2px rgba(0,0,0,.35),
    inset 0 0 0 1px rgba(0,0,0,.2);
}
.print-example--frames .print-example__frame img{
  filter:contrast(1.03) saturate(.96);
}
/* 03 Instant-style prints — Fujifilm Instax Mini outer proportion ~54×86 mm (0.628) */
.print-example--polaroid{display:flex;flex-direction:column;align-items:center;width:100%;height:100%}
.print-example__polaroid-stack{
  position:relative;
  width:100%;
  height:100%;
  max-width:380px;
  margin-inline:auto;
}
.print-example--polaroid .print-example__polaroid-shell{
  position:absolute;
  /* Outer shell uses Instax Mini aspect (54/86 ≈ 0.628) */
  width:auto;
  height:78%;
  aspect-ratio:54/86;
  background:
    linear-gradient(168deg,#fffcf6 0%,#f7f1e6 52%,#ebe2d4 100%);
  /* Thin side/top borders; classic deeper bottom border */
  padding:3.2% 3.2% 14%;
  box-shadow:
    0 16px 28px rgba(0,0,0,.32),
    0 2px 5px rgba(0,0,0,.16),
    0 0 0 1px rgba(0,0,0,.08);
  border-radius:1px;
}
.print-example--polaroid .print-example__polaroid-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.1;
  mix-blend-mode:multiply;
  background:
    repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.03) 2px 3px);
  border-radius:inherit;
}
.print-example__polaroid-shell--1{left:6%;top:12%;transform:rotate(-7deg);z-index:1}
.print-example__polaroid-shell--2{left:28%;top:4%;transform:rotate(2.5deg);z-index:3}
.print-example__polaroid-shell--3{left:50%;top:14%;transform:rotate(9deg);z-index:2}
.print-example--polaroid .print-example__frame{aspect-ratio:1/1;width:100%;background:#2a2c2a;border-radius:0}
.print-example--polaroid figcaption{text-align:center;max-width:16rem;margin-top:18px}
@media(max-width:740px){
  .print-examples{grid-template-columns:1fr;max-width:420px}
  .print-example__frame-stage{max-width:280px}
  .print-example__polaroid-stack{max-width:340px}
  .print-example--polaroid .print-example__polaroid-shell{height:72%}
}
.opening__carousel{touch-action:pan-y}

/* ===== V8.2 refinements ===== */

/* Hide crawlable portfolio index from visual visitors (SEO/a11y retained) */
.portfolio-crawl.sr-only,
.portfolio-crawl.sr-only ul,
.portfolio-crawl.sr-only li{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Orientation-aware portfolio frames — adapt to the photograph */
.portfolio-grid--orient{align-items:start}
.gallery-card--orient .gallery-card__frame{aspect-ratio:var(--ar,1 / 1);background:#d8d2c4}
.gallery-card--orient.gallery-card--wide .gallery-card__frame,
.gallery-card--orient.gallery-card--tall .gallery-card__frame,
.gallery-card--orient.gallery-card--square .gallery-card__frame{aspect-ratio:var(--ar,1 / 1)}
.gallery-card--orient .gallery-card__frame img{object-fit:cover}
.gallery-card.is-filtered-out{display:none!important}
.gallery-card.is-entering{will-change:opacity,transform;pointer-events:none}
.gallery-card.is-repositioning{will-change:transform}
.gallery-exit-overlay{position:fixed;inset:0;z-index:40;pointer-events:none;overflow:visible}
.gallery-exit-clone{display:block!important;margin:0!important}
.gallery-subfilters{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 28px;margin-top:-18px}
.gallery-subfilter{border:1px solid var(--line);background:transparent;font:700 .62rem var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;min-height:40px;color:var(--muted);transition:background .2s,color .2s,border-color .2s}
.gallery-subfilter:hover,.gallery-subfilter.is-active{border-color:var(--ink);color:var(--ink);background:#fff}
.gallery-subfilter:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  .gallery-card.is-entering,.gallery-card.is-repositioning,.gallery-exit-clone{transition:none!important}
}

/* Organic editorial photo board — orientation-consistent rows (V8.5.1)
   Desktop: ~2 landscapes / ~3 portraits per row. No dense packing (avoids mixed rows). */
.portfolio-grid--board{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-flow:row;
  align-items:start;
  gap:clamp(18px,2.2vw,32px) clamp(12px,1.5vw,22px);
  padding-top:clamp(8px,1.2vw,16px);
}
.portfolio-grid--board .gallery-card{
  margin-top:0!important;
  min-width:0;
  width:100%;
}
.portfolio-grid--board .gallery-card--board-land{grid-column:span 3}
.portfolio-grid--board .gallery-card--board-land-feature{grid-column:span 6}
.portfolio-grid--board .gallery-card--board-port{grid-column:span 2}
.portfolio-grid--board .gallery-card--board-square{grid-column:span 2}
/* Incomplete port remainders must not share a row with the next landscape group.
   Set the full grid-column shorthand so start:1 does not fight `span N` rules. */
.portfolio-grid--board .gallery-card--board-row-start.gallery-card--board-land:not(.gallery-card--board-land-feature){grid-column:1 / span 3}
.portfolio-grid--board .gallery-card--board-row-start.gallery-card--board-land-feature{grid-column:1 / span 6}
.portfolio-grid--board .gallery-card--board-row-start.gallery-card--board-port,
.portfolio-grid--board .gallery-card--board-row-start.gallery-card--board-square{grid-column:1 / span 2}
.portfolio-grid--board .gallery-card--orient .gallery-card__frame{
  aspect-ratio:var(--ar,1 / 1);
  min-height:0;
}
.portfolio-grid--board .gallery-card--orient .gallery-card__frame img{
  object-fit:cover;
}
.portfolio-grid--board .gallery-card__meta{padding-top:12px}
@media(max-width:1100px){
  .portfolio-grid--board{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,26px) clamp(10px,1.4vw,18px)}
  .portfolio-grid--board .gallery-card--board-land,
  .portfolio-grid--board .gallery-card--board-land-feature{grid-column:span 4}
  .portfolio-grid--board .gallery-card--board-port{grid-column:span 2}
  .portfolio-grid--board .gallery-card--board-square{grid-column:span 2}
}
@media(max-width:700px){
  .portfolio-grid--board{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}
  .portfolio-grid--board .gallery-card--board-land,
  .portfolio-grid--board .gallery-card--board-land-feature{grid-column:span 2}
  .portfolio-grid--board .gallery-card--board-port{grid-column:span 1}
  .portfolio-grid--board .gallery-card--board-square{grid-column:span 1}
}
@media(max-width:420px){
  .portfolio-grid--board{grid-template-columns:1fr;gap:26px}
  .portfolio-grid--board .gallery-card--board-land,
  .portfolio-grid--board .gallery-card--board-land-feature,
  .portfolio-grid--board .gallery-card--board-port,
  .portfolio-grid--board .gallery-card--board-square{grid-column:span 1}
}

/* Package selection + customise panel
   NOTE: .pricing-calc must NOT be a 2-col grid — only .pricing-calc__layout is.
   V8.2 left .pricing-calc as a legacy 2-col grid with a single child, compressing the UI left. */
.pricing-cards--selectable{margin-bottom:clamp(28px,4vw,48px)}
.pricing-card.is-selected{outline:3px solid var(--orange);outline-offset:4px}
.pricing-card__cta{width:100%;cursor:pointer;background:transparent;color:inherit;font:inherit}
.pricing-card--featured .pricing-card__cta{color:inherit}
.pricing-card.is-selected .pricing-card__cta{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.pricing-calc{display:block;width:100%;max-width:100%;min-width:0}
.pricing-customise{display:block;width:100%;max-width:min(1280px,100%);margin-inline:auto;overflow:hidden;transition:height .45s cubic-bezier(.22,.61,.36,1),opacity .35s ease;border-top:1px solid var(--line);padding-top:clamp(28px,4vw,48px);margin-top:clamp(10px,2vw,24px);box-sizing:border-box}
.pricing-customise[hidden]{display:none}
.pricing-customise.is-open{opacity:1}
.pricing-customise__head{margin-bottom:clamp(22px,3vw,36px);scroll-margin-top:calc(89px + 16px)}
.pricing-customise__head h3{font:800 clamp(2rem,4vw,3.6rem)/1.05 var(--sans);letter-spacing:-.05em;margin:0 0 12px}
.pricing-customise__hint{color:var(--muted);max-width:720px;line-height:1.65;margin:0}
[data-customise-first-control]{scroll-margin-top:calc(89px + 16px)}
@media(max-width:850px){
  .pricing-customise__head,[data-customise-first-control]{scroll-margin-top:calc(75px + 14px)}
}
@media(max-width:600px){
  .pricing-customise__head,[data-customise-first-control]{scroll-margin-top:calc(69px + 12px)}
}
.pricing-calc__layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(28px,3.5vw,48px);align-items:start;width:100%;min-width:0}
.pricing-calc__controls{display:flex;flex-direction:column;gap:8px;min-width:0;width:100%}
.pricing-calc__estimate{min-width:0;width:100%;background:var(--ink);color:var(--white);padding:clamp(28px,3.5vw,44px);position:sticky;top:110px;border:1px solid var(--ink)}
.pricing-upgrade{margin:0 0 22px;padding:16px 18px;border:1px solid #ffffff55;background:#ffffff12}
.pricing-upgrade p{margin:0 0 10px;font-size:.9rem;line-height:1.55}
.pricing-upgrade__detail{opacity:.75;font-size:.82rem!important}
.pricing-upgrade__btn{margin-top:8px;border:1px solid currentColor;background:transparent;color:inherit;font:800 .6rem var(--sans);letter-spacing:.1em;padding:12px 14px;cursor:pointer;min-height:44px}
.pricing-upgrade__btn:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.pricing-upgrade__btn:focus-visible{outline:3px solid #9bb0ff;outline-offset:3px}
@media(max-width:1100px){
  /* Controls before estimate so package-select scroll can expose heading + first slider */
  .pricing-calc__layout{grid-template-columns:1fr;gap:28px}
  .pricing-calc__estimate{position:static}
}
@media(max-width:900px){
  .pricing-calc{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .pricing-customise{transition:none}
}

/* V8.6.0 — location search (Places) inside customise panel */
.pricing-location{display:flex;flex-direction:column;gap:12px;min-width:0}
.pricing-location__search{position:relative;min-width:0;width:100%}
.pricing-location__input{
  width:100%;min-height:48px;box-sizing:border-box;
  border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);
  font:500 1rem/1.4 var(--sans);padding:12px 14px;
}
.pricing-location__input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.pricing-location__suggestions{
  list-style:none;margin:0;padding:0;position:absolute;left:0;right:0;top:calc(100% + 4px);
  z-index:40;background:var(--paper);border:1.5px solid var(--ink);max-height:260px;overflow:auto;
  box-shadow:0 12px 28px #00000022;
}
.pricing-location__suggestion{
  margin:0;padding:12px 14px;font:500 .92rem/1.4 var(--sans);cursor:pointer;border-bottom:1px solid #00000014;
}
.pricing-location__suggestion:last-child{border-bottom:0}
.pricing-location__suggestion:hover,
.pricing-location__suggestion.is-active{background:var(--ink);color:var(--paper)}
.pricing-location__selected{margin:0;font:700 .95rem/1.45 var(--sans);color:var(--ink)}
.pricing-location__status{margin:0;font-size:.88rem;line-height:1.55;color:var(--muted);min-height:1.4em}
.pricing-location__actions{display:flex;flex-wrap:wrap;gap:10px}
.pricing-location__btn{
  border:1px solid var(--ink);background:transparent;color:var(--ink);
  font:800 .58rem var(--sans);letter-spacing:.1em;text-transform:uppercase;
  padding:12px 14px;min-height:44px;cursor:pointer;
}
.pricing-location__btn:hover{background:var(--ink);color:var(--paper)}
.pricing-location__btn:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.pricing-location__attribution{margin:0;font-size:.72rem;line-height:1.5;color:var(--muted)}
.pricing-location__attribution a{color:inherit;text-decoration:underline}
@media(max-width:430px){
  .pricing-location__btn{flex:1 1 auto}
  .pricing-location__suggestions{max-height:220px}
  .pricing-calc__estimate{padding:22px 16px;box-sizing:border-box}
  .pricing-customise{padding-top:22px;max-width:100%;overflow-x:clip}
  .pricing-calc,.pricing-calc__layout,.pricing-calc__controls,.pricing-calc__estimate{max-width:100%;box-sizing:border-box}
  .pricing-field{padding:18px 0 16px}
  .pricing-calc__total{font-size:clamp(2.4rem,14vw,3.2rem)}
  .pricing-location__input{font-size:16px} /* avoid iOS zoom + accidental overflow */
  .wrap{max-width:100%;box-sizing:border-box}
}

/* Homepage — single photographer Polaroid (About coffee-table removed in V8.5) */
.polaroid{position:relative;z-index:2;margin:0;background:
  linear-gradient(168deg,#fbf8f1 0%,#f4efe6 52%,#ebe3d6 100%);
  padding:1.55% 1.55% 7.2%;
  border-radius:1px;
  box-shadow:
    0 1px 0 #ffffffb8 inset,
    0 18px 42px #00000068,
    0 3px 8px #00000038;
  transform-origin:center center;
  isolation:isolate}
.polaroid::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.14;mix-blend-mode:multiply;background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  border-radius:inherit}
.polaroid__print{position:relative;aspect-ratio:var(--polaroid-ar, 3 / 3.85);width:100%;min-height:0;background:#1a1814;overflow:hidden;box-shadow:inset 0 0 0 1px #00000022}
.polaroid__print.photo-frame{min-height:0}
.polaroid__print img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.polaroid__print::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:6;background:
  linear-gradient(122deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.04) 14%,transparent 34%),
  linear-gradient(0deg,rgba(0,0,0,.1) 0%,transparent 22%);
  mix-blend-mode:soft-light}
.polaroid__caption{display:block;margin-top:5px;font:600 .68rem/1.25 Georgia,serif;color:#5a4a3a;text-align:center;letter-spacing:.02em}
.manifesto--v4 .manifesto__photo{max-width:520px}
.manifesto__polaroid{position:relative;width:min(100%,440px);transform:rotate(-2.8deg);--polaroid-ar:4 / 5.05}
.manifesto__polaroid .polaroid__print{aspect-ratio:var(--polaroid-ar)}
.manifesto__polaroid .polaroid__caption{margin-top:8px}
@media(max-width:600px){
  .manifesto__polaroid{width:88%;max-width:360px;transform:rotate(-2deg)}
}


/* V8.5.5 — Legal page readability */
.legal-copy{max-width:42rem}
.legal-copy h2{font:800 clamp(1.35rem,2.2vw,1.85rem)/1.25 var(--sans);letter-spacing:-.04em;margin:2.4rem 0 .85rem;color:var(--ink)}
.legal-copy h2:first-of-type{margin-top:1.6rem}
.legal-copy p{margin:0 0 1.05rem;max-width:42rem;color:var(--ink);opacity:.92}
.legal-copy .legal-notice{margin:0 0 1.6rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line);font-size:clamp(1.02rem,1.4vw,1.18rem);line-height:1.7;color:var(--muted)}
.legal-copy .legal-footnote{margin-top:2.4rem;padding-top:1.1rem;border-top:1px solid var(--line);font:700 .72rem/1.5 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.legal-copy a{text-decoration:underline;text-underline-offset:3px}
