*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.shell{margin-left:auto;margin-right:auto;max-width:1240px;padding-left:1.25rem;padding-right:1.25rem}@media (min-width:1024px){.shell{padding-left:3rem;padding-right:3rem}}.eyebrow{display:inline-flex;align-items:center;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;--tw-text-opacity:1;color:rgb(107 98 85/var(--tw-text-opacity,1))}.photo-frame{border:1px solid rgba(29,25,18,.1);box-shadow:0 24px 48px -32px rgba(29,25,18,.35);background-color:#fffdf8;position:relative;overflow:hidden}.photo-frame>img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;border-radius:.125rem;--tw-bg-opacity:1;background-color:rgb(224 122 63/var(--tw-bg-opacity,1));padding:1rem 2rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity:1;color:rgb(255 253 248/var(--tw-text-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:hover{--tw-bg-opacity:1;background-color:rgb(192 95 44/var(--tw-bg-opacity,1))}.btn-outline{display:inline-flex;align-items:center;border-radius:.125rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(29 25 18/var(--tw-border-opacity,1));padding:1rem 2rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem;font-weight:700;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-outline:hover{--tw-bg-opacity:1;background-color:rgb(29 25 18/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(251 246 236/var(--tw-text-opacity,1))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-left-\[7px\]{left:-7px}.-left-\[9999px\]{left:-9999px}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-4{top:1rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.-ml-0\.5{margin-left:-.125rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[3\/2\]{aspect-ratio:3/2}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[5\/4\]{aspect-ratio:5/4}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.h-10{height:2.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[60vh\]{height:60vh}.h-\[70vh\]{height:70vh}.h-full{height:100%}.min-h-\[220px\]{min-height:220px}.min-h-\[260px\]{min-height:260px}.min-h-\[360px\]{min-height:360px}.min-h-\[400px\]{min-height:400px}.min-h-\[420px\]{min-height:420px}.min-h-\[440px\]{min-height:440px}.min-h-\[80vh\]{min-height:80vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-16{width:4rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[45\%\]{width:45%}.w-\[55\%\]{width:55%}.w-\[70\%\]{width:70%}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[40ch\]{max-width:40ch}.max-w-\[42ch\]{max-width:42ch}.max-w-\[46ch\]{max-width:46ch}.max-w-\[48ch\]{max-width:48ch}.max-w-\[52ch\]{max-width:52ch}.max-w-\[56ch\]{max-width:56ch}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-x-0\.5{--tw-translate-x:0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-ew-resize{cursor:ew-resize}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-y{resize:vertical}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-20{gap:5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-16{-moz-column-gap:4rem;column-gap:4rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-10{row-gap:2.5rem}.gap-y-12{row-gap:3rem}.gap-y-3{row-gap:.75rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-black\/5>:not([hidden])~:not([hidden]){border-color:rgba(0,0,0,.05)}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-black\/10{border-color:rgba(0,0,0,.1)}.border-black\/15{border-color:rgba(0,0,0,.15)}.border-black\/5{border-color:rgba(0,0,0,.05)}.border-ink{--tw-border-opacity:1;border-color:rgb(29 25 18/var(--tw-border-opacity,1))}.border-orange{--tw-border-opacity:1;border-color:rgb(224 122 63/var(--tw-border-opacity,1))}.border-orange-deep{--tw-border-opacity:1;border-color:rgb(192 95 44/var(--tw-border-opacity,1))}.border-paper\/40{border-color:rgba(255,253,248,.4)}.border-transparent{border-color:transparent}.bg-cream-2{--tw-bg-opacity:1;background-color:rgb(243 234 218/var(--tw-bg-opacity,1))}.bg-cream\/90{background-color:hsla(40,65%,95%,.9)}.bg-cream\/95{background-color:hsla(40,65%,95%,.95)}.bg-ink{--tw-bg-opacity:1;background-color:rgb(29 25 18/var(--tw-bg-opacity,1))}.bg-ink\/20{background-color:rgba(29,25,18,.2)}.bg-ink\/80{background-color:rgba(29,25,18,.8)}.bg-olive{--tw-bg-opacity:1;background-color:rgb(166 180 154/var(--tw-bg-opacity,1))}.bg-olive-deep{--tw-bg-opacity:1;background-color:rgb(95 110 86/var(--tw-bg-opacity,1))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(224 122 63/var(--tw-bg-opacity,1))}.bg-orange-deep{--tw-bg-opacity:1;background-color:rgb(192 95 44/var(--tw-bg-opacity,1))}.bg-orange\/10{background-color:rgba(224,122,63,.1)}.bg-paper{--tw-bg-opacity:1;background-color:rgb(255 253 248/var(--tw-bg-opacity,1))}.bg-paper\/90{background-color:rgba(255,253,248,.9)}.bg-pink{--tw-bg-opacity:1;background-color:rgb(246 193 196/var(--tw-bg-opacity,1))}.bg-pink-deep{--tw-bg-opacity:1;background-color:rgb(233 160 164/var(--tw-bg-opacity,1))}.bg-tan{--tw-bg-opacity:1;background-color:rgb(232 215 195/var(--tw-bg-opacity,1))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-ink\/85{--tw-gradient-from:rgba(29,25,18,.85) var(--tw-gradient-from-position);--tw-gradient-to:rgba(29,25,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-ink\/90{--tw-gradient-from:rgba(29,25,18,.9) var(--tw-gradient-from-position);--tw-gradient-to:rgba(29,25,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-ink\/30{--tw-gradient-to:rgba(29,25,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(29,25,18,.3) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-ink\/40{--tw-gradient-to:rgba(29,25,18,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(29,25,18,.4) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-ink\/20{--tw-gradient-to:rgba(29,25,18,.2) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-10{padding:2.5rem}.p-8{padding:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-12{padding-bottom:3rem}.pb-14{padding-bottom:3.5rem}.pb-16{padding-bottom:4rem}.pl-8{padding-left:2rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-hand{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.font-sans{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.font-serif{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[0\.5rem\]{font-size:.5rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.7rem\]{font-size:.7rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[1\.05\]{line-height:1.05}.leading-\[1\.1\]{line-height:1.1}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-eyebrow{letter-spacing:.16em}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-ink{--tw-text-opacity:1;color:rgb(29 25 18/var(--tw-text-opacity,1))}.text-ink-soft{--tw-text-opacity:1;color:rgb(107 98 85/var(--tw-text-opacity,1))}.text-ink-soft\/40{color:rgba(107,98,85,.4)}.text-ink\/40{color:rgba(29,25,18,.4)}.text-olive-deep{--tw-text-opacity:1;color:rgb(95 110 86/var(--tw-text-opacity,1))}.text-orange{--tw-text-opacity:1;color:rgb(224 122 63/var(--tw-text-opacity,1))}.text-orange-deep{--tw-text-opacity:1;color:rgb(192 95 44/var(--tw-text-opacity,1))}.text-paper{--tw-text-opacity:1;color:rgb(255 253 248/var(--tw-text-opacity,1))}.text-paper\/60{color:rgba(255,253,248,.6)}.text-paper\/70{color:rgba(255,253,248,.7)}.text-paper\/80{color:rgba(255,253,248,.8)}.text-pink{--tw-text-opacity:1;color:rgb(246 193 196/var(--tw-text-opacity,1))}.text-pink-deep{--tw-text-opacity:1;color:rgb(233 160 164/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.grayscale-\[20\%\]{--tw-grayscale:grayscale(20%)}.grayscale-\[20\%\],.grayscale-\[30\%\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale-\[30\%\]{--tw-grayscale:grayscale(30%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}:root{--line:rgba(29,25,18,.14)}html{scroll-behavior:smooth}body{background-color:#fbf6ec;color:#1d1912;-webkit-font-smoothing:antialiased}.skip-link{position:absolute;left:-9999px;z-index:999;padding:.75rem 1.25rem;background:#1d1912;color:#fffdf8;font-family:Inter,sans-serif;font-weight:700}.skip-link:focus{left:1rem;top:1rem}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid #c05f2c;outline-offset:2px}.textured:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='2' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");opacity:.12;mix-blend-mode:overlay;pointer-events:none}.polaroid{position:relative;background:#fffdf8;padding:.7rem .7rem 0;border:1px solid rgba(29,25,18,.08);box-shadow:0 14px 30px -18px rgba(29,25,18,.5);transform:rotate(var(--r,0deg));transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease;will-change:transform}.polaroid .frame{aspect-ratio:1/1;overflow:hidden;background:#e8d7c3;position:relative}.polaroid .frame img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:sepia(.16) saturate(1.05) contrast(1.02) brightness(1.02)}.polaroid figcaption{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.4rem;line-height:1.05;color:#6b6255;text-align:center;padding:.5rem .4rem .85rem}.polaroid:focus-within,.polaroid:hover{transform:rotate(0deg) translateY(-8px) scale(1.02);box-shadow:0 26px 46px -22px rgba(29,25,18,.55);z-index:20}.tape{position:absolute;width:78px;height:24px;top:-11px;left:50%;transform:translateX(-50%) rotate(-4deg);background:rgba(246,193,196,.55);box-shadow:0 2px 6px rgba(29,25,18,.08);pointer-events:none}.tape:after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,hsla(0,0%,100%,.28) 0 6px,transparent 6px 12px)}.tape--olive{background:hsla(92,15%,65%,.55);transform:translateX(-50%) rotate(5deg)}.tape--tan{background:hsla(32,45%,84%,.72);transform:translateX(-50%) rotate(-2deg)}.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee__track{display:inline-flex;gap:4rem;white-space:nowrap;animation:pp-marquee 34s linear infinite}.marquee:hover .marquee__track{animation-play-state:paused}@keyframes pp-marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.stagger>*{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.stagger.is-visible>*{opacity:1;transform:translateY(0)}.pp-page{animation:pp-fade-up .5s cubic-bezier(.2,.7,.2,1) backwards}@keyframes pp-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.prose-editorial{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.125rem;line-height:1.75rem;line-height:1.625;--tw-text-opacity:1;color:rgb(29 25 18/var(--tw-text-opacity,1))}.prose-editorial p{margin-bottom:1.5rem}.prose-editorial h2{margin-top:3rem;margin-bottom:1rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.5rem;line-height:2rem;font-weight:700;--tw-text-opacity:1;color:rgb(29 25 18/var(--tw-text-opacity,1))}@media (min-width:1024px){.prose-editorial h2{font-size:1.875rem;line-height:2.25rem}}.prose-editorial h3{margin-top:2rem;margin-bottom:.75rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.25rem;line-height:1.75rem;font-weight:700;--tw-text-opacity:1;color:rgb(29 25 18/var(--tw-text-opacity,1))}.prose-editorial blockquote{margin-top:2rem;margin-bottom:2rem;border-left-width:2px;--tw-border-opacity:1;border-color:rgb(224 122 63/var(--tw-border-opacity,1));padding-left:1.5rem;font-style:italic;--tw-text-opacity:1;color:rgb(107 98 85/var(--tw-text-opacity,1))}.prose-editorial a{--tw-text-opacity:1;color:rgb(192 95 44/var(--tw-text-opacity,1));text-decoration-line:underline;text-underline-offset:2px}.prose-editorial ul{margin-bottom:1.5rem;list-style-type:disc}.prose-editorial ul>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.prose-editorial ul{padding-left:1.5rem}.prose-editorial ol{margin-bottom:1.5rem;list-style-type:decimal}.prose-editorial ol>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.prose-editorial ol{padding-left:1.5rem}.prose-editorial img{margin-top:2rem;margin-bottom:2rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.polaroid,.reveal,.stagger>*{transition:none}.marquee__track,.pp-page{animation:none}.reveal,.stagger>*{opacity:1;transform:none}}.hover\:gap-3:hover{gap:.75rem}.hover\:border-ink:hover{--tw-border-opacity:1;border-color:rgb(29 25 18/var(--tw-border-opacity,1))}.hover\:border-ink\/30:hover{border-color:rgba(29,25,18,.3)}.hover\:bg-cream-2:hover{--tw-bg-opacity:1;background-color:rgb(243 234 218/var(--tw-bg-opacity,1))}.hover\:bg-ink:hover{--tw-bg-opacity:1;background-color:rgb(29 25 18/var(--tw-bg-opacity,1))}.hover\:bg-orange-deep:hover{--tw-bg-opacity:1;background-color:rgb(192 95 44/var(--tw-bg-opacity,1))}.hover\:bg-paper:hover{--tw-bg-opacity:1;background-color:rgb(255 253 248/var(--tw-bg-opacity,1))}.hover\:text-ink:hover{--tw-text-opacity:1;color:rgb(29 25 18/var(--tw-text-opacity,1))}.hover\:text-orange-deep:hover{--tw-text-opacity:1;color:rgb(192 95 44/var(--tw-text-opacity,1))}.hover\:text-paper:hover{--tw-text-opacity:1;color:rgb(255 253 248/var(--tw-text-opacity,1))}.hover\:text-pink:hover{--tw-text-opacity:1;color:rgb(246 193 196/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-orange:focus{--tw-border-opacity:1;border-color:rgb(224 122 63/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-orange:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(224 122 63/var(--tw-ring-opacity,1))}.group:hover .group-hover\:-translate-y-1{--tw-translate-y:-0.25rem}.group:hover .group-hover\:-translate-y-1,.group:hover .group-hover\:translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.group:hover .group-hover\:scale-110,.group:hover .group-hover\:scale-\[1\.03\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-\[1\.03\]{--tw-scale-x:1.03;--tw-scale-y:1.03}.group:hover .group-hover\:scale-\[1\.04\]{--tw-scale-x:1.04;--tw-scale-y:1.04;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-ink\/10{background-color:rgba(29,25,18,.1)}.group:hover .group-hover\:text-orange-deep{--tw-text-opacity:1;color:rgb(192 95 44/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:mt-10{margin-top:2.5rem}.sm\:mt-6{margin-top:1.5rem}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:w-\[210px\]{width:210px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-10{gap:2.5rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:border-r{border-right-width:1px}}@media (min-width:1024px){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:aspect-\[4\/3\]{aspect-ratio:4/3}.lg\:min-h-\[380px\]{min-height:380px}.lg\:min-h-full{min-height:100%}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[0\.9fr_1\.1fr\]{grid-template-columns:.9fr 1.1fr}.lg\:flex-row{flex-direction:row}.lg\:items-end{align-items:flex-end}.lg\:gap-16{gap:4rem}.lg\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.lg\:p-12{padding:3rem}.lg\:p-14{padding:3.5rem}.lg\:p-16{padding:4rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:py-28{padding-top:7rem;padding-bottom:7rem}.lg\:py-32{padding-top:8rem;padding-bottom:8rem}.lg\:py-48{padding-top:12rem;padding-bottom:12rem}.lg\:pb-20{padding-bottom:5rem}.lg\:pb-24{padding-bottom:6rem}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}}
/* Professional typography override: upright, non-decorative body text */
.font-serif.italic,.font-serif,.prose-editorial{font-style:normal}
.polaroid figcaption{font-size:1rem}
/* California scroll scene (page-work.php): sticky planning-wall map + polaroid category cards */
section[id]{scroll-margin-top:96px}
.pp-map-track{position:relative;height:620vh}
.pp-map-scene{position:sticky;top:84px;height:calc(100vh - 84px);overflow:hidden}
.pp-map-head{position:absolute;left:5vw;top:9%;max-width:27%;z-index:30}
.pp-map-board{position:absolute;inset:0;z-index:10}
.pp-map-wrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(43vw,520px);z-index:10;will-change:transform}
.pp-map-wrap>.tape{top:-11px;left:22%}
.pp-map-tape2{left:auto;right:14%}
.pp-map-svg{width:100%;height:auto;display:block;filter:drop-shadow(0 26px 40px rgba(29,25,18,.18))}
.pp-map-state{fill:#fffdf8;stroke:#1d1912;stroke-width:1.6;stroke-linejoin:round}
.pp-map-label{font-size:13px;font-weight:700;letter-spacing:.35em;fill:#6b6255;opacity:.55}
.pp-map-dot{fill:#6b6255;opacity:.5}
.pp-la-dot{fill:#c05f2c}
.pp-la-pulse{fill:none;stroke:#c05f2c;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:pp-map-pulse 2.4s ease-out infinite}
.pp-la-label{font-size:10px;font-weight:700;letter-spacing:.14em;fill:#1d1912}
.pp-map-ghost{fill:none;stroke:#c05f2c;stroke-width:1.4;opacity:.3}
.pp-map-inner{fill:none;stroke:rgba(29,25,18,.09);stroke-width:9}
.pp-map-contour{fill:none;stroke:rgba(29,25,18,.18);stroke-width:1;stroke-dasharray:2 3}
.pp-map-contour--soft{stroke:rgba(29,25,18,.1)}
.pp-map-wave{fill:none;stroke:rgba(29,25,18,.2);stroke-width:1;stroke-dasharray:1.5 6;stroke-linecap:round}
.pp-ocean-label{font-size:9px;font-weight:700;letter-spacing:.42em;fill:#6b6255;opacity:.35}
.pp-compass circle{fill:none;stroke:rgba(29,25,18,.45);stroke-width:1}
.pp-compass path{fill:#1d1912;opacity:.7}
.pp-compass text{font-size:7px;font-weight:800;fill:#6b6255}
.pp-scale rect.pp-scale-a{fill:#1d1912;opacity:.75}
.pp-scale rect.pp-scale-b{fill:none;stroke:#1d1912;stroke-width:.8;opacity:.75}
.pp-scale text{font-size:6.5px;font-weight:700;letter-spacing:.08em;fill:#6b6255}
.pp-map-scribble{font-size:9px;font-style:italic;font-weight:600;fill:#6b6255;opacity:.85}
.pp-map-minor{font-size:7.5px;font-weight:700;letter-spacing:.1em;fill:#6b6255}
.pp-map-away{opacity:.75}
.pp-route{fill:none;stroke:#c05f2c;stroke-width:1.8;stroke-dasharray:5 6;stroke-linecap:round;opacity:.9}
.pp-map-track:not(.pp-map-live) .pp-route-mask{stroke-dashoffset:0}
.pp-map-track:not(.pp-map-live) .pp-drone{display:none}
.pp-drone line{stroke:#1d1912;stroke-width:1.4;stroke-linecap:round}
.pp-drone-body{fill:#1d1912}
.pp-drone-rotor{fill:none;stroke:#1d1912;stroke-width:1.1}
.pp-map-note{margin-top:.9rem;text-align:center;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#6b6255}
@keyframes pp-map-pulse{0%{transform:scale(.55);opacity:.9}70%{opacity:0}100%{transform:scale(1.7);opacity:0}}
.pp-map-card{position:absolute;z-index:20;display:block;will-change:transform,opacity;background:none;border:0;padding:0;margin:0;text-align:inherit;font:inherit;color:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
.pp-map-card:focus-visible{outline:2px solid #c05f2c;outline-offset:4px}
.pp-map-card .polaroid{width:100%}
.pp-map-live .pp-map-card{opacity:0;visibility:hidden}
.pp-map-num{position:absolute;top:.5rem;left:.5rem;z-index:5;background:#fffdf8;padding:.15rem .5rem;font-size:.6rem;font-weight:800;letter-spacing:.14em}
.pp-map-play{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;pointer-events:none}
.pp-map-play svg{width:2.6rem;height:2.6rem;color:#fffdf8;background:rgba(29,25,18,.55);border-radius:9999px;padding:.6rem}
.pp-map-meta{display:block;margin-top:2px;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#6b6255}
.pp-map-hint{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:.5rem;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#6b6255}
/* Static fallback: tablets/phones, reduced motion, or JS off */
@media (max-width:1023px){
	.pp-map-track{height:auto}
	.pp-map-scene{position:static;height:auto;padding:4rem 0 3rem}
	.pp-map-head{position:static;max-width:36rem;margin:0 5vw 2.5rem}
	.pp-map-board{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;padding:0 5vw}
	.pp-map-wrap{position:static;transform:none;width:min(92%,420px);grid-column:1/-1;margin:0 auto 1.5rem}
	.pp-map-card{position:static!important;width:auto!important;opacity:1!important;transform:none!important}
	.pp-map-hint{display:none}
}
@media (max-width:1023px){
	.pp-route-mask{stroke-dashoffset:0!important}
	.pp-drone{display:none}
}
@media (prefers-reduced-motion:reduce){
	.pp-map-track{height:auto}
	.pp-map-scene{position:static;height:auto;padding:4rem 0 3rem}
	.pp-map-card{opacity:1!important;transform:none!important}
	.pp-la-pulse{animation:none}
	.pp-route-mask{stroke-dashoffset:0!important}
	.pp-drone{display:none}
}
.pp-map-static .pp-route-mask{stroke-dashoffset:0!important}
.pp-map-static .pp-drone{display:none}
.pp-map-static{height:auto!important}
/* Category environment: a polaroid grows into a full-screen room (clip-path FLIP) */
.pp-cat-env{position:fixed;inset:0;z-index:120;background:#fbf6ec;overflow-y:auto;overscroll-behavior:contain}
.pp-cat-env[hidden]{display:none}
.pp-env-anim{transition:clip-path .9s cubic-bezier(.22,.85,.18,1)}
.pp-env-inner{padding-top:4rem;padding-bottom:4rem;opacity:0;transform:translateY(26px);transition:opacity .5s ease .45s,transform .65s cubic-bezier(.2,.7,.2,1) .45s}
.pp-cat-env.pp-env-open .pp-env-inner{opacity:1;transform:none}
.pp-env-head{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:2.25rem}
.pp-env-close{flex-shrink:0;width:3rem;height:3rem;border-radius:9999px;border:1px solid #1d1912;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s ease,color .25s ease;color:#1d1912}
.pp-env-close:hover,.pp-env-close:focus-visible{background:#1d1912;color:#fffdf8}
.pp-env-close svg{width:1.2rem;height:1.2rem}
.pp-env-video{margin-bottom:1.75rem}
body.pp-env-lock{overflow:hidden}
@media (prefers-reduced-motion:reduce){
	.pp-env-anim{transition:none}
	.pp-env-inner{transition:none;opacity:1;transform:none}
}
.pp-map-static .pp-map-scene{position:static;height:auto;padding:4rem 0 3rem}
.pp-map-static .pp-map-head{position:static;max-width:36rem;margin:0 5vw 2.5rem}
.pp-map-static .pp-map-board{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;padding:0 5vw}
.pp-map-static .pp-map-wrap{position:static;transform:none!important;width:min(92%,420px);grid-column:1/-1;margin:0 auto 1.5rem}
.pp-map-static .pp-map-card{position:static!important;width:auto!important;opacity:1!important;transform:none!important}
.pp-map-static .pp-map-hint{display:none}
/* Partner brand logos: uniform white cards so mixed logos read as one strip */
.pp-brand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 2.5rem;align-items:center}
@media (min-width:768px){.pp-brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1280px){.pp-brand-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
.pp-brand-card{background:transparent;border:0;box-shadow:none;height:5.5rem;display:flex;align-items:center;justify-content:center;padding:0 .75rem}
.pp-brand-card img{max-height:3.4rem;max-width:100%;width:auto;object-fit:contain;filter:none;opacity:1}
.pp-brand-card:hover img,.pp-brand-card:focus-within img{filter:grayscale(0);opacity:1}
/* Portfolio category galleries: show 4, "See all" reveals the rest */
.pp-cat-grid .pp-more{display:none}
.pp-cat-grid.pp-expanded .pp-more{display:block}
/* Hero image collage: artistic overlap on desktop; clean side-by-side cards that always show on tablet/mobile */
.pp-hero-media{width:100%;max-width:440px;margin-left:auto;margin-right:auto}
@media (max-width:1023px){
	.pp-hero-media{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:center}
	.pp-hero-media>.photo-frame{position:relative;inset:auto;top:auto;right:auto;bottom:auto;left:auto;width:100%}
}

/* =========================================================================
   Reference layout — three full-width bars: white header, a warm "grey" band
   (theme cream-2) behind the centered menu+content, white footer with a
   divider line. Logo top-left, dark vertical menu LEFT, contained image RIGHT.
   Hand-written; re-append after any Tailwind rebuild.
   ========================================================================= */
body{ background-color:rgb(255 253 248); }

/* Header bar (white) */
.pp-headbar{ background:rgb(255 253 248); }
.pp-head{ max-width:1160px; margin:0 auto; padding:2.75rem 1.5rem 1.5rem; display:flex; align-items:center; }
.pp-head-logo{ display:inline-block; }
.pp-head-logo-img{ height:3.4rem; width:auto; display:block; }
.pp-nav-toggle{ display:none; margin-left:auto; background:transparent; border:0; color:rgb(29 25 18); cursor:pointer; }

/* Content band — soft cream-white so it blends with the white header/footer */
.pp-bodybar{ background:rgb(248 243 234); }
.pp-body{ max-width:1160px; margin:0 auto; padding:2.75rem 1.5rem 3rem; display:flex; gap:2.75rem; align-items:flex-start; }
.pp-nav-col{ flex:0 0 240px; }
.pp-content-col{ flex:1 1 auto; min-width:0; }

.pp-nav-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0; }
.pp-nav-list li{ margin:0; }
.pp-nav-link{ display:inline-block; white-space:nowrap; font-family:Inter,"Helvetica Neue",Helvetica,Arial,sans-serif; font-size:1rem; font-weight:300; letter-spacing:normal; line-height:2.25rem; text-transform:uppercase; color:rgb(0 0 0); text-decoration:none; transition:color .2s; }
.pp-nav-link:hover,.pp-nav-link:focus{ color:rgb(192 95 44); }
.pp-nav-link[aria-current="page"],.current-menu-item>.pp-nav-link,.current_page_item>.pp-nav-link{ opacity:.4; }

/* Footer: divider line, white copyright strip, then a grey (cream-2) base band */
.pp-footbar{ background:rgb(255 253 248); border-top:2px solid rgba(29,25,18,.22); }
.pp-foot{ max-width:1160px; margin:0 auto; padding:1rem 1.5rem; }
.pp-foot p{ text-align:left; font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:.72rem; font-weight:400; letter-spacing:.02em; text-transform:none; color:rgb(122 114 102); margin:0; }
.pp-footbase{ background:rgb(248 243 234); min-height:96px; }

/* Home hero: a contained rectangle in the right column (never full-bleed) */
.pp-splash{ width:100%; aspect-ratio:4/3; overflow:hidden; background:rgb(232 222 205); }
.pp-splash-img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Desktop: menu always visible + the compact frame on EVERY page — logo, menu
   and copyright shifted right and sharing one left edge, content filling the
   right column edge-to-edge. (Home adds vertical centering + 100vh below.) */
@media(min-width:768px){
  .pp-nav-col{ display:block !important; flex-basis:280px; padding-left:5rem; }
  .pp-head{ padding-left:6.5rem; }
  .pp-foot{ padding-left:6.5rem; }
  .pp-body{ gap:0.25rem; padding-top:1.75rem; }
  .pp-content-col > .shell,
  .pp-content-col > section > .shell{ max-width:none; padding-left:0; padding-right:0; }
}

/* Mobile: logo + hamburger row, menu drops down, columns stack */
@media(max-width:767px){
  .pp-nav-toggle{ display:inline-flex; }
  .pp-body{ flex-direction:column; gap:1.25rem; }
  .pp-nav-col{ flex:none; width:100%; }
  .pp-nav-col.hidden{ display:none; }
  .pp-nav-list{ gap:0; }
  .pp-nav-link{ display:block; padding:.7rem 0; border-top:1px solid rgba(29,25,18,.08); }
  .pp-splash{ aspect-ratio:3/4; }
}

/* Category gallery ------------------------------------------------------- */
.pp-gallery-films{ display:flex; flex-direction:column; gap:1.5rem; margin-bottom:1.25rem; }
/* To-and-fro editorial rhythm: two images side by side, then every 3rd image
   spans the full width (like the video), repeating. The frame's absolute-filled
   <img> needs the cell to have a height, so each cell gets an aspect-ratio. */
/* Masonry — every photo keeps its OWN natural ratio (portrait shots stay
   portrait, landscape stay landscape) for diversity, laid out in a consistent
   2-column rhythm with equal gaps. photo-frame's absolute >img is overridden to
   flow inline so each cell takes the image's true height (no cropping). */
/* Photo layout differs per category (diversity). Nothing is ever cropped or
   stretched — every image keeps its natural aspect ratio.
   DEFAULT (--single): one photo per row at full width, a clean vertical scroll.
   SHOWCASE (--collage): justified rows — initJustifiedGallery() scales each row
   to fill the width so images sit at varied sizes side by side, like the
   reference. Before/without JS it falls back to natural-ratio masonry. */
.pp-gallery{ display:block; }
.pp-gallery-item{ position:relative; display:block; margin:0 0 1rem; padding:0; cursor:pointer; overflow:hidden; width:100%; }
/* position:static / object-fit:initial override the compiled .photo-frame>img
   (absolute + cover) so single-column images show at their natural height. */
.pp-gallery-item img{ position:static; inset:auto; display:block; width:100%; height:auto; object-fit:initial; }
.pp-gallery-item:focus-visible{ outline:2px solid rgb(192 95 44); outline-offset:2px; }

.pp-gallery--collage{ column-count:2; column-gap:.6rem; }
.pp-gallery--collage .pp-gallery-item{ margin:0 0 .6rem; break-inside:avoid; -webkit-column-break-inside:avoid; }
.pp-gallery--collage.is-justified{ display:flex; flex-wrap:wrap; gap:.6rem; column-count:auto; align-items:flex-start; }
.pp-gallery--collage.is-justified .pp-gallery-item{ margin:0; width:auto; }
.pp-gallery--collage.is-justified .pp-gallery-item img{ height:100%; object-fit:cover; }
@media(max-width:767px){ .pp-gallery--collage{ column-count:1; } }

/* Feature rhythm (Travel & Hospitality): a full-width image, then a pair side
   by side, repeating (1 + 2 + 1 + 2 …). Natural ratios — nothing cropped. */
.pp-gallery--feature{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; align-items:start; }
.pp-gallery--feature .pp-gallery-item{ margin:0; }
.pp-gallery--feature .pp-gallery-item:nth-child(3n+1){ grid-column:1 / -1; }
@media(max-width:767px){
  .pp-gallery--feature{ grid-template-columns:1fr; }
  .pp-gallery--feature .pp-gallery-item:nth-child(3n+1){ grid-column:auto; }
}

/* Contact: form sits up near the top of its pane, not vertically centered. */
.pp-contact-form{ display:flex; align-items:flex-start; padding:1rem 0 3rem; }
@media(min-width:1024px){ .pp-contact-form{ padding:1.5rem 0 4rem; } }

/* =========================================================================
   Theme toggle — a thin-lined sun / moon in the header's top-right. The two
   icons share one svg and morph into each other (rotate + fade) on switch.
   ========================================================================= */
.pp-theme-toggle{ margin-left:auto; width:2.6rem; height:2.6rem; display:inline-flex; align-items:center; justify-content:center; background:transparent; border:0; cursor:pointer; color:rgb(29 25 18); opacity:.72; transition:opacity .2s ease,color .3s ease; }
.pp-theme-toggle:hover,.pp-theme-toggle:focus-visible{ opacity:1; }
.pp-theme-toggle:focus-visible{ outline:2px solid rgb(192 95 44); outline-offset:3px; border-radius:.4rem; }
.pp-tt-icon{ width:1.5rem; height:1.5rem; overflow:visible; }
.pp-tt-sun,.pp-tt-moon{ transform-origin:12px 12px; transition:opacity .45s ease, transform .45s cubic-bezier(.2,.7,.2,1); }
.pp-tt-moon{ opacity:0; transform:rotate(90deg) scale(.55); }
html.pp-dark .pp-tt-sun{ opacity:0; transform:rotate(-90deg) scale(.55); }
html.pp-dark .pp-tt-moon{ opacity:1; transform:rotate(0deg) scale(1); }
/* mobile: hamburger keeps the right edge, toggle sits just before it */
@media(max-width:767px){ .pp-theme-toggle{ margin-left:auto; } .pp-nav-toggle{ margin-left:.25rem; } }
@media (prefers-reduced-motion: reduce){ .pp-tt-sun,.pp-tt-moon{ transition:none; } }

/* =========================================================================
   DARK THEME — black + pink. Charcoal-plum blacks for depth, warm off-white
   text, and soft rose-pink accents where the light theme uses orange.
   Applied via html.pp-dark (persisted in localStorage['pp-theme']).
   ========================================================================= */
html.pp-dark body{ background:#141016; color:#f3eaf0; }
html.pp-dark .pp-headbar,
html.pp-dark .pp-footbar{ background:#141016; }
html.pp-dark .pp-bodybar,
html.pp-dark .pp-footbase{ background:#1a141c; }
html.pp-dark .pp-theme-toggle{ color:#f0dce8; }
/* logo: invert lightness but keep the pink hues */
html.pp-dark .pp-head-logo-img{ filter:invert(1) hue-rotate(180deg); }
/* menu + footer */
html.pp-dark .pp-nav-link{ color:#f3eaf0; }
html.pp-dark .pp-nav-link:hover{ color:#e8a3c7; }
html.pp-dark .pp-nav-link[aria-current="page"]{ opacity:.42; }
html.pp-dark .pp-foot,
html.pp-dark .pp-foot p{ color:#b6a5b1; }
html.pp-dark .pp-nav-toggle{ color:#f3eaf0; }
/* headings, blurbs, generic text utilities */
html.pp-dark .pp-cat-title,
html.pp-dark .pp-about-name,
html.pp-dark .pp-about-fact-label{ color:#f3eaf0; }
html.pp-dark .pp-cat-blurb,
html.pp-dark .pp-about-fact-body{ color:#b6a5b1; }
html.pp-dark .pp-about-tag{ color:#cfb3c4; }
html.pp-dark .pp-about-bio p{ color:#ded0d9; }
html.pp-dark .pp-about-eyebrow,
html.pp-dark .pp-press-eyebrow,
html.pp-dark .eyebrow{ color:#e8a3c7; }
html.pp-dark .text-ink{ color:#f3eaf0; }
html.pp-dark .text-ink-soft{ color:#b6a5b1; }
html.pp-dark .text-orange-deep{ color:#e8a3c7; }
/* photo frames & films */
html.pp-dark .photo-frame{ background:#221a26; border-color:rgba(232,163,199,.16); box-shadow:0 24px 48px -32px rgba(0,0,0,.85); }
html.pp-dark .pp-cat-film{ border-color:rgba(232,163,199,.16); }
/* press / brand cards */
html.pp-dark .pp-press-intro{ color:#b6a5b1; }
html.pp-dark .pp-press-card2-media{ background:#221a26; border-color:rgba(232,163,199,.16); }
html.pp-dark .pp-press-card2-title{ color:#ded0d9; }
html.pp-dark .pp-press-card2-media img{ filter:invert(1) hue-rotate(180deg); }
/* video tiles */
html.pp-dark .pp-vtile:hover .pp-vtile-play{ background:#cb7ba6; }
/* lightbox: dark viewer with light-pink controls */
html.pp-dark .pp-lightbox{ background:rgba(20,16,22,.98); }
html.pp-dark .pp-lightbox:fullscreen{ background:#141016; }
html.pp-dark .pp-lightbox-close,
html.pp-dark .pp-lightbox-nav,
html.pp-dark .pp-lightbox-tool{ color:#f0dce8; }
html.pp-dark .pp-lightbox-tool:hover{ background:rgba(232,163,199,.12); }
html.pp-dark .pp-lightbox-img{ box-shadow:0 30px 80px -30px rgba(0,0,0,.9); }
/* forms (contact) */
html.pp-dark .pp-contact-form input,
html.pp-dark .pp-contact-form select,
html.pp-dark .pp-contact-form textarea{ background:#221a26; color:#f3eaf0; border-color:rgba(232,163,199,.2); }
html.pp-dark .pp-contact-form input::placeholder,
html.pp-dark .pp-contact-form textarea::placeholder{ color:#8d7d88; }
html.pp-dark .pp-contact-form label{ color:#b6a5b1; }
html.pp-dark .btn-primary{ background:#cb7ba6; border-color:#cb7ba6; color:#16111a; }
html.pp-dark .btn-primary:hover{ background:#e8a3c7; border-color:#e8a3c7; }
/* focus rings go pink in dark */
html.pp-dark .pp-gallery-item:focus-visible,
html.pp-dark .pp-theme-toggle:focus-visible{ outline-color:#e8a3c7; }

/* --- Theme-aware home hero: bright portrait (light) x stage shot (dark),
       stacked in the splash and cross-faded with the theme switch. --- */
.pp-splash{ position:relative; }
.pp-splash-img--dark{ position:absolute; inset:0; opacity:0; }
.pp-splash-img--light,
.pp-splash-img--dark{ transition:opacity .7s ease; }
html.pp-dark .pp-splash-img--light{ opacity:0; }
html.pp-dark .pp-splash-img--dark{ opacity:1; }

/* --- Smooth theme switch: colors/surfaces FADE between light and dark
       instead of snapping. Placed last so it wins at equal specificity. --- */
body,.pp-headbar,.pp-bodybar,.pp-footbar,.pp-footbase,
.pp-nav-link,.pp-foot,.pp-foot p,.pp-nav-toggle,
.pp-cat-title,.pp-cat-blurb,
.pp-about-name,.pp-about-tag,.pp-about-bio p,.pp-about-fact-label,.pp-about-fact-body,
.pp-about-eyebrow,.pp-press-eyebrow,.eyebrow,.pp-press-intro,
.text-ink,.text-ink-soft,.text-orange-deep,
.photo-frame,.pp-cat-film,
.pp-press-card2-media,.pp-press-card2-title,.pp-press-card2-media img,
.pp-head-logo-img,.btn-primary,
.pp-contact-form input,.pp-contact-form select,.pp-contact-form textarea,.pp-contact-form label,
.pp-lightbox,.pp-lightbox-close,.pp-lightbox-nav,.pp-lightbox-tool{
	transition:background-color .6s ease, color .6s ease, border-color .6s ease, filter .6s ease, box-shadow .6s ease;
}
/* re-assert richer transitions the grouped rule above would otherwise flatten */
.pp-theme-toggle{ transition:opacity .2s ease, color .6s ease; }
.pp-lightbox-close,.pp-lightbox-nav,.pp-lightbox-tool{ transition:opacity .2s ease, background-color .6s ease, color .6s ease; }
.pp-lightbox-img{ transition:opacity .2s ease, box-shadow .6s ease; }
@media (prefers-reduced-motion: reduce){
  .pp-splash-img--light,.pp-splash-img--dark{ transition:none; }
}

/* Press wall ------------------------------------------------------------- */
.pp-press-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(29,25,18,.08); border:1px solid rgba(29,25,18,.08); }
@media(min-width:768px){ .pp-press-grid{ grid-template-columns:repeat(3,1fr); } }
.pp-press-card{ background:rgb(255 253 248); display:flex; align-items:center; justify-content:center; padding:2.25rem 1.25rem; min-height:140px; }
.pp-press-card img{ max-height:64px; max-width:74%; width:auto; height:auto; object-fit:contain; filter:none; opacity:1; }
.pp-press-card:hover img{ filter:grayscale(0); opacity:1; }

/* Lightbox --------------------------------------------------------------- */
/* Lightbox — light viewer matching the reference: image centered, a top-left
   toolbar (fullscreen / download / share / like), close top-right, side arrows. */
.pp-lightbox{ position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; background:rgba(249,245,238,.98); padding:4.75rem 1rem 3.5rem; }
.pp-lightbox[hidden]{ display:none; }
.pp-lightbox:fullscreen{ background:rgb(249 245 238); }
.pp-lightbox-img{ max-width:92vw; max-height:84vh; width:auto; height:auto; object-fit:contain; box-shadow:0 30px 80px -30px rgba(29,25,18,.45); user-select:none; transition:opacity .2s ease; }
.pp-lightbox-img.is-swapping{ opacity:0; }
/* Open / close the whole viewer with a slow, smooth zoom + fade. The backdrop
   scales subtly (the image rides along); the per-image crossfade is separate. */
.pp-lightbox:not([hidden]):not(.pp-lb-closing){ animation:pp-lb-in .34s cubic-bezier(.2,.7,.2,1) both; }
.pp-lightbox.pp-lb-closing{ animation:pp-lb-out .28s ease both; }
@keyframes pp-lb-in{ from{ opacity:0; transform:scale(.975); } to{ opacity:1; transform:scale(1); } }
@keyframes pp-lb-out{ from{ opacity:1; transform:scale(1); } to{ opacity:0; transform:scale(.99); } }
@media (prefers-reduced-motion: reduce){
  .pp-lightbox-img{ transition:none; }
  .pp-lightbox:not([hidden]):not(.pp-lb-closing),.pp-lightbox.pp-lb-closing{ animation:none; }
}
.pp-lightbox-close,.pp-lightbox-nav,.pp-lightbox-tool{ background:transparent; border:0; color:rgb(29 25 18); cursor:pointer; display:flex; align-items:center; justify-content:center; opacity:.7; transition:opacity .2s,background .2s,color .2s; }
.pp-lightbox-close,.pp-lightbox-nav{ position:absolute; }
.pp-lightbox-close:hover,.pp-lightbox-nav:hover,.pp-lightbox-tool:hover{ opacity:1; }
.pp-lightbox-close{ top:1rem; right:1rem; width:2.75rem; height:2.75rem; }
.pp-lightbox-close svg{ width:1.6rem; height:1.6rem; }
.pp-lightbox-nav{ top:50%; transform:translateY(-50%); width:3rem; height:3rem; }
.pp-lightbox-nav svg{ width:2.25rem; height:2.25rem; }
.pp-lightbox-prev{ left:.5rem; }
.pp-lightbox-next{ right:.5rem; }
@media(min-width:768px){ .pp-lightbox-prev{ left:1.5rem; } .pp-lightbox-next{ right:1.5rem; } }
.pp-lightbox-bar{ position:absolute; top:1rem; left:1rem; display:flex; gap:.1rem; }
.pp-lightbox-tool{ width:2.6rem; height:2.6rem; border-radius:.5rem; text-decoration:none; }
.pp-lightbox-tool:hover{ background:rgba(29,25,18,.07); }
.pp-lightbox-tool svg{ width:1.35rem; height:1.35rem; }
.pp-lightbox-like.is-liked{ color:#e0245e; opacity:1; }
.pp-lightbox-like.is-liked svg{ fill:currentColor; }

/* Video gallery (Drone/FPV): main player + clip tiles. Tiles reuse the
   justified collage grid; each shows a play button + hover cue and, when
   clicked, loads into #pp-main-player (initVideoGallery in main.js). */
.pp-main-player{ width:100%; aspect-ratio:16/9; object-fit:contain; background:#000; }
.pp-vtile{ cursor:pointer; }
.pp-vtile-play{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:3.25rem; height:3.25rem; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(20,17,12,.5); color:#fff; pointer-events:none; z-index:1; transition:transform .25s ease,background .25s ease; }
.pp-vtile-play svg{ width:1.35rem; height:1.35rem; margin-left:2px; }
.pp-vtile::after{ content:""; position:absolute; inset:0; background:rgba(20,17,12,.14); opacity:0; transition:opacity .25s ease; }
.pp-vtile:hover::after{ opacity:1; }
.pp-vtile:hover .pp-vtile-play{ transform:translate(-50%,-50%) scale(1.12); background:rgb(192 95 44); }
body.pp-lb-lock{ overflow:hidden; }

/* Home fits in ONE viewport (no scroll) — reference behaviour. Desktop only;
   inner gallery pages still scroll. Body is a DEFINITE-height flex column
   (height, not min-height) with overflow hidden, so the image is forced to
   shrink/cover into the leftover space instead of growing the page. */
@media(min-width:768px){
  body.pp-home{ height:100dvh; overflow:hidden; display:flex; flex-direction:column; }
  body.admin-bar.pp-home{ height:calc(100dvh - 32px); }
  body.pp-home .pp-headbar,
  body.pp-home .pp-footbar,
  body.pp-home .pp-footbase{ flex:0 0 auto; }
  body.pp-home .pp-footbase{ height:44px; }
  body.pp-home .pp-bodybar{ flex:1 1 auto; min-height:0; display:flex; overflow:hidden; }
  body.pp-home .pp-body{ flex:1 1 auto; min-height:0; align-items:stretch; padding-top:0; padding-bottom:0; }
  body.pp-home .pp-nav-col{ display:flex !important; flex-direction:column; justify-content:center; }
  body.pp-home .pp-content-col{ display:flex; min-height:0; min-width:0; overflow:hidden; }
  body.pp-home .pp-splash{ flex:1 1 auto; aspect-ratio:auto; height:auto; min-height:0; }
  body.pp-home .pp-splash-img{ width:100%; height:100%; object-fit:cover; }
}

/* =========================================================================
   About + Press section templates (reference-matched), inside the frame.
   ========================================================================= */
.pp-about{ padding:2.25rem 0 3rem; }
.pp-about-eyebrow,.pp-press-eyebrow{ display:block; font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgb(192 95 44); margin-bottom:1.25rem; }
.pp-about-portrait{ width:100%; max-width:620px; aspect-ratio:4/3; overflow:hidden; margin-bottom:2.25rem; }
.pp-about-portrait-img{ width:100%; height:100%; object-fit:cover; display:block; }
.pp-about-cols{ display:grid; grid-template-columns:1fr; gap:2.25rem; max-width:620px; }
@media(min-width:768px){ .pp-about-cols{ grid-template-columns:1.35fr 1fr; gap:2.5rem; } }
.pp-about-name{ font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-weight:700; font-size:1.05rem; letter-spacing:.05em; text-transform:uppercase; color:rgb(29 25 18); margin:0 0 .35rem; }
.pp-about-tag{ font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-style:italic; font-size:.95rem; color:rgb(107 98 85); margin:0 0 1.25rem; }
.pp-about-bio p{ font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:.95rem; line-height:1.75; color:rgb(60 54 45); margin:0 0 1rem; }
.pp-about-fact{ margin-bottom:1.5rem; }
.pp-about-fact-label{ font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-weight:700; font-size:.8rem; letter-spacing:.07em; text-transform:uppercase; color:rgb(29 25 18); margin:0 0 .4rem; }
.pp-about-fact-body{ font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:.9rem; line-height:1.65; color:rgb(90 82 72); margin:0; }

.pp-press{ padding:2.25rem 0 3rem; }
.pp-press-intro{ font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:.95rem; color:rgb(107 98 85); max-width:52ch; margin:0 0 2rem; }
.pp-press-cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem 1.75rem; }
@media(min-width:768px){ .pp-press-cards{ grid-template-columns:repeat(3,1fr); gap:2.5rem 1.75rem; } }
.pp-press-card2{ margin:0; }
.pp-press-card2-media{ width:100%; aspect-ratio:4/3; background:rgb(255 253 248); border:1px solid rgba(29,25,18,.1); display:flex; align-items:center; justify-content:center; padding:1.75rem; overflow:hidden; }
.pp-press-card2-media img{ max-width:80%; max-height:80%; width:auto; height:auto; object-fit:contain; filter:none; opacity:1; }
.pp-press-card2:hover .pp-press-card2-media img{ filter:grayscale(0); opacity:1; }
.pp-press-card2-title{ font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:.85rem; font-weight:500; letter-spacing:.02em; color:rgb(192 95 44); margin-top:.85rem; }

/* Compact category intro (small label + short blurb; media leads the column) */
.pp-cat-intro{ padding:.15rem 0 1.15rem; }
.pp-cat-title{ font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:1.05rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:rgb(29 25 18); margin:0; }
.pp-cat-blurb{ font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:.9rem; line-height:1.65; color:rgb(107 98 85); max-width:58ch; margin:.55rem 0 0; }

/* Categories (every page except Home): the menu sits at the TOP, tight under the
   logo, and the logo is nudged right so the two share one left edge — a compact
   top-left stack (the marked layout). Home keeps its vertically-centred menu. */
@media(min-width:768px){
  /* The menu column is a FIXED-height band (~one viewport, like Home), so tall
     content can never push it. The menu is vertically centred exactly like Home.
     The content column flows independently and simply extends the SAME cream
     band (.pp-bodybar) downward — one continuous colour, no visible seam. */
  /* Fallback band height ≈ home's (viewport − header − footer). JS below refines
     it to the EXACT measured value so the menu never shifts between pages. */
  body:not(.pp-home) .pp-body{ padding-top:0; align-items:flex-start; min-height:calc(100vh - 13.6rem); }
  body:not(.pp-home) .pp-nav-col{ display:flex !important; flex-direction:column; justify-content:center; align-self:flex-start; height:calc(100vh - 13.6rem); }
  body:not(.pp-home) .pp-head{ padding-left:7.5rem; }
  body.admin-bar:not(.pp-home) .pp-body{ min-height:calc(100vh - 13.6rem - 32px); }
  body.admin-bar:not(.pp-home) .pp-nav-col{ height:calc(100vh - 13.6rem - 32px); }
}

/* Category film: silent autoplay loop, no player chrome */
.pp-cat-film{ width:100%; aspect-ratio:16/9; object-fit:cover; display:block; border:1px solid rgba(29,25,18,.1); background:#000; }

/* Page transition: on navigate the content, the left menu, and the logo all
   fade out together, then fade back in on arrival. The menu/logo fade is pure
   opacity (no movement) so the fixed frame never shifts position. */
body.pp-leaving .pp-page,
body.pp-leaving .pp-nav-col,
body.pp-leaving .pp-head-logo{ opacity:0; transition:opacity .22s ease; }
.pp-nav-col,
.pp-head-logo{ animation:pp-fade-in .5s ease backwards; }
@keyframes pp-fade-in{ from{ opacity:0; } to{ opacity:1; } }
@media (prefers-reduced-motion: reduce){
  .pp-nav-col, .pp-head-logo{ animation:none; }
  body.pp-leaving .pp-page,
  body.pp-leaving .pp-nav-col,
  body.pp-leaving .pp-head-logo{ transition:none; }
}
