:root{--ivory:#f7f2ea;--cream:#fcf9f2;--sand:#ece2d3;--sand-deep:#e2d6c2;--taupe:#cdbfa9;--clay:#9c7f63;--clay-deep:#7d6149;--ink:#2c2620;--ink-soft:#6a6157;--line:#2c26201f;--line-soft:#2c262012;--maxw:1280px;--pad:clamp(1.5rem, 5vw, 4rem);--serif:"Fraunces", Georgia, "Times New Roman", serif;--sans:"Mulish", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--ivory);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-weight:400;line-height:1.7}h1,h2,h3{font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);margin:0;font-weight:360;line-height:1.08}p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.eyebrow{font-family:var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--clay);font-size:.7rem;font-weight:600}.shell{max-width:var(--maxw);padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}.section{padding:clamp(4.5rem,11vw,9rem) 0}.section--sand{background:var(--sand)}.section-head{max-width:640px}.section-head h2{margin-top:1rem;font-size:clamp(2.1rem,5vw,3.4rem)}.section-head p{color:var(--ink-soft);max-width:52ch;margin-top:1.1rem;font-size:1.0625rem}.button{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--ivory);border:1px solid var(--ink);cursor:pointer;border-radius:2px;align-items:center;gap:.6rem;padding:1.05rem 2.1rem;font-size:.8rem;font-weight:600;transition:background .4s,color .4s,transform .4s;display:inline-flex}.button:hover{color:var(--ink);background:0 0;transform:translateY(-1px)}.button.ghost{color:var(--ink);background:0 0}.button.ghost:hover{background:var(--ink);color:var(--ivory)}.site-header{z-index:50;padding:1.35rem var(--pad);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);background:#f7f2eab8;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;top:0;left:0;right:0}.brand{font-family:var(--serif);letter-spacing:.02em;font-size:1.35rem;font-weight:400}.main-nav{align-items:center;gap:2rem;display:flex}.main-nav a{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-size:.74rem;font-weight:600;transition:color .3s}.main-nav a:hover{color:var(--clay)}.main-nav .nav-enquire{color:var(--ink);border-bottom:1px solid var(--clay);padding-bottom:3px}.hero{align-items:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-media{background:linear-gradient(160deg,#e7dccb 0%,#d8c7b0 45%,#c9b89f 100%);position:absolute;inset:0}.hero-media img{object-fit:cover;width:100%;height:100%;animation:20s ease-in-out infinite breathe;display:block}.hero-media:after{content:"";background:linear-gradient(#0000 40%,#2c26200d 62%,#2c26206b 100%);position:absolute;inset:0}.hero-inner{z-index:1;width:100%;max-width:var(--maxw);padding:0 var(--pad) clamp(3rem, 8vw, 6.5rem);color:var(--ivory);margin:0 auto;position:relative}.hero .eyebrow{color:#f7f2ead1}.hero h1{color:var(--ivory);max-width:16ch;margin-top:1.4rem;font-size:clamp(2.8rem,8vw,6rem);font-weight:340}.hero .lede{color:#f7f2eae6;max-width:44ch;margin-top:1.5rem;font-size:clamp(1rem,2vw,1.2rem);font-weight:300}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:2.4rem;display:flex}.hero .button{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}.hero .button:hover{color:var(--ivory);background:0 0}.statement{text-align:center}.statement p{font-family:var(--serif);letter-spacing:-.01em;max-width:22ch;margin:0 auto;font-size:clamp(1.5rem,3.6vw,2.6rem);font-weight:320;line-height:1.32}.statement .em{color:var(--clay-deep);font-style:italic}.gallery-block+.gallery-block{margin-top:clamp(4rem,9vw,7.5rem)}.gallery-grid{grid-template-columns:repeat(12,1fr);gap:clamp(.75rem,1.6vw,1.4rem);margin-top:clamp(2rem,4vw,3rem);display:grid}.shot{background:var(--cream);aspect-ratio:4/5;border:clamp(7px, .9vw, 13px) solid var(--cream);box-shadow:0 0 0 1px var(--line), 0 30px 55px -32px #2c262080;border-radius:2px;grid-column:span 6;transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s;position:relative;overflow:hidden}.shot:nth-child(3n+1){aspect-ratio:3/2;grid-column:span 7}.shot:nth-child(3n+2){aspect-ratio:4/5;grid-column:span 5}.shot:nth-child(3n+3){aspect-ratio:16/7;grid-column:span 12}.shot-img{object-fit:cover;width:100%;height:100%;animation:11s ease-in-out infinite breathe;display:block;position:absolute;inset:0}.shot:hover,.shot:focus-within{box-shadow:0 0 0 1px var(--line), 0 46px 72px -34px #2c26209e;transform:translateY(-5px)}.shot:hover .shot-img,.shot:focus-within .shot-img{animation-play-state:paused}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}.gallery-grid .shot:nth-child(3n+2){margin-top:clamp(24px,5vw,64px)}.work-cta{text-align:center;margin-top:clamp(2.5rem,6vw,4rem)}.range-list{flex-wrap:wrap;gap:.65rem .8rem;margin:clamp(2rem,4vw,2.75rem) 0 0;padding:0;list-style:none;display:flex}.range-list li{font-family:var(--sans);letter-spacing:.03em;color:var(--ink-soft);border:1px solid var(--line);background:var(--cream);border-radius:999px;padding:.5rem 1.05rem;font-size:.82rem;font-weight:500}.range-note{color:var(--ink-soft);margin-top:1.6rem;font-size:.92rem;font-style:italic}.about-grid{grid-template-columns:.85fr 1fr;align-items:center;gap:clamp(2rem,6vw,5rem);display:grid}.about-portrait{aspect-ratio:4/5;background:var(--cream);border:clamp(8px, 1vw, 14px) solid var(--cream);box-shadow:0 0 0 1px var(--line), 0 30px 55px -32px #2c262080;border-radius:2px;position:relative;overflow:hidden}.about-portrait img{object-fit:cover;width:100%;height:100%;animation:16s ease-in-out infinite breathe;display:block;position:absolute;inset:0}.about-copy h2{margin-bottom:1.5rem;font-size:clamp(2rem,4.4vw,3rem)}.about-copy p{color:var(--ink-soft);max-width:50ch;margin-bottom:1.1rem;font-size:1.075rem}.about-sign{font-family:var(--serif);color:var(--clay-deep);margin-top:1.6rem;font-size:1.5rem;font-style:italic}.enquire{background:var(--ink);color:var(--ivory)}.enquire .eyebrow{color:var(--taupe)}.enquire h2{color:var(--ivory);margin-top:1rem;font-size:clamp(2.1rem,5vw,3.4rem)}.enquire .lede{color:#f7f2eabd;max-width:48ch;margin-top:1.1rem;font-weight:300}.enquiry-form{grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.8rem;display:grid}.enquiry-form label{letter-spacing:.16em;text-transform:uppercase;color:#f7f2eab3;gap:.55rem;font-size:.72rem;font-weight:600;display:grid}.enquiry-form .full{grid-column:1/-1}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-family:var(--sans);color:var(--ivory);text-transform:none;letter-spacing:0;background:#f7f2ea0f;border:1px solid #f7f2ea2e;border-radius:2px;width:100%;padding:.95rem 1rem;font-size:1rem;font-weight:400}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#f7f2ea66}.enquiry-form select option{color:var(--ink)}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:var(--taupe);background:#f7f2ea1a;outline:none}.enquiry-form textarea{resize:vertical;min-height:130px}.enquiry-form .button{background:var(--ivory);color:var(--ink);border-color:var(--ivory);justify-self:start}.enquiry-form .button:hover{color:var(--ivory);background:0 0}.form-hint{color:#f7f2ea80;grid-column:1/-1;font-size:.85rem}.site-footer{background:var(--cream);border-top:1px solid var(--line-soft);padding:clamp(3rem,6vw,4.5rem) 0 2.5rem}.footer-top{flex-wrap:wrap;justify-content:space-between;gap:2rem;display:flex}.footer-brand{font-family:var(--serif);font-size:1.6rem}.footer-links{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);flex-wrap:wrap;gap:1.5rem;font-size:.74rem;font-weight:600;display:flex}.footer-links a:hover{color:var(--clay)}.footer-base{border-top:1px solid var(--line-soft);color:var(--ink-soft);margin-top:2.5rem;padding-top:1.5rem;font-size:.8rem}.reveal{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(26px)}.reveal.in-view{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.shot-img,.hero-media img,.about-portrait img{animation:none}.shot:hover,.shot:focus-within{transform:none}}@media (width<=860px){.about-grid,.enquiry-form{grid-template-columns:1fr}.shot,.shot:nth-child(3n+1),.shot:nth-child(3n+2),.shot:nth-child(3n+3){aspect-ratio:4/5;grid-column:span 12;margin-top:0}}@media (width<=620px){.main-nav{display:none}}
