:root{--ivory:#f8f6f2;--paper:#fffefa;--linen:#eee9e2;--taupe:#a79a8c;--ink:#292723;--muted:#77716c;--line:#ddd7ce}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand{font-weight:400}h1,h2,h3{font-family:'Gilda Display',Georgia,serif;letter-spacing:-.035em;line-height:1.14}h1{font-size:clamp(3.2rem,6.7vw,7rem)}h2{font-size:clamp(2.45rem,4.2vw,4.7rem)}h3{font-size:1.6rem}em{font-weight:400;font-style:italic}p{color:var(--muted)}.sr-only{position:absolute!important;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.skip-link{position:absolute;z-index:99;top:-100px;left:20px;padding:10px;background:white}.skip-link:focus{top:10px}.site-header{height:99px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5.5vw,95px);z-index:30;position:relative;transition:background .3s,color .3s}.site-header.is-overlay{position:absolute;top:0;left:0;right:0;color:white}.site-header.is-solid{background:var(--ivory);border-bottom:1px solid var(--line)}.site-header.scrolled{position:fixed;top:0;left:0;right:0;background:rgba(248,246,242,.97);color:var(--ink);box-shadow:0 2px 20px #00000008}.brand{display:flex;flex-direction:column;align-items:center;line-height:1.15;text-align:center;font-family:'Gilda Display',Georgia,serif;white-space:nowrap}.brand strong{font-weight:400;font-size:20px;letter-spacing:.095em}.brand span{font-size:13px;margin-top:5px;letter-spacing:.11em}.menu-toggle,.instagram-icon{width:34px;height:38px;display:flex;align-items:center;justify-content:center;border:0;background:none;color:inherit;position:relative}.menu-toggle{flex-direction:column;gap:6px}.menu-toggle span:not(.sr-only){width:27px;height:1px;background:currentColor;transition:transform .3s}.menu-toggle span:nth-child(2){width:19px}.instagram-icon svg{width:23px;height:23px}.drawer-backdrop{position:fixed;inset:0;background:#10100fcc;z-index:49;opacity:0;pointer-events:none;transition:opacity .4s}.site-drawer{position:fixed;inset:0 auto 0 0;width:min(530px,100%);background:var(--ivory);z-index:50;transform:translateX(-104%);transition:transform .55s cubic-bezier(.22,1,.36,1);padding:36px clamp(27px,5vw,64px);display:flex;flex-direction:column;justify-content:space-between}.drawer-open{overflow:hidden}.drawer-open .drawer-backdrop{opacity:1;pointer-events:auto}.drawer-open .site-drawer{transform:translateX(0)}.drawer-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.3em}.drawer-close{font-size:40px;line-height:1;border:0;background:none;color:var(--ink);font-weight:200}.drawer-links{display:flex;flex-direction:column}.drawer-links a{font:normal clamp(2.9rem,5vw,5rem)/1.45 'Gilda Display',Georgia,serif;border-bottom:1px solid var(--line);transition:padding .3s,color .3s}.drawer-links a:hover{padding-left:12px;color:#a28c77}.drawer-links a span{font:11px 'DM Sans',Arial,sans-serif;vertical-align:middle;color:#aca59e;letter-spacing:.08em;margin-right:20px}.site-drawer>p{letter-spacing:.04em;font-size:13px}.eyebrow{display:block;font-size:10px;line-height:1.6;font-weight:600;letter-spacing:.26em;color:#958a7e}.section-wrap{max-width:1510px;margin:auto;padding:clamp(70px,9vw,148px) clamp(24px,6vw,100px)}.hero{min-height:760px;height:100svh;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#403831;color:white}.hero-poster,.hero-video,.hero-shade{position:absolute;inset:0;height:100%;width:100%}.hero-poster img,.hero-video{width:100%;height:100%;object-fit:cover}.hero-video{opacity:0;transition:opacity 1.2s}.hero-video.ready{opacity:1}.hero-shade{background:linear-gradient(90deg,#17130f7d,#17130f36 55%,#17130f68);z-index:1}.hero-content{position:relative;z-index:2;text-align:center;max-width:890px;padding:115px 22px 75px}.hero-content .eyebrow{color:#e8dcd0}.hero h1{font-size:clamp(3.8rem,7.4vw,8.4rem);margin:25px 0 20px;text-shadow:0 2px 30px #0004}.hero h1 em{font-size:.9em}.hero p{color:#f8f4ef;max-width:480px;margin:0 auto 28px;font-size:14px;letter-spacing:.05em}.button{display:inline-flex;align-items:center;justify-content:center;gap:45px;padding:15px 28px;min-height:52px;text-transform:uppercase;font-size:10px;letter-spacing:.19em;font-weight:600;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--ivory);color:var(--ink)}.button-light:hover{background:#e4dcd2}.button-dark{background:#9c9084;color:white;border:0}.button-dark:hover{background:#6e6258}.scroll-cue{position:absolute;z-index:2;bottom:34px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.22em;white-space:nowrap}.scroll-cue span{margin-left:10px}.about-section{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(50px,8vw,140px);align-items:center}.about-image{position:relative}.about-image img{width:100%;height:clamp(470px,54vw,730px);object-fit:cover}.about-copy h2{margin:24px 0 25px}.about-copy p{max-width:470px;margin-bottom:22px}.text-link{display:inline-flex;align-items:center;gap:42px;border-bottom:1px solid #a99e90;padding-bottom:12px;text-transform:uppercase;font-size:11px;letter-spacing:.16em;font-weight:600;margin-top:19px;transition:gap .25s,color .25s}.text-link:hover{gap:55px;color:#967d68}.selected-section{background:var(--linen)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:43px}.section-heading h2{margin:12px 0 0}.featured-grid{display:grid;grid-template-columns:1fr 1.2fr .9fr 1.05fr;gap:9px}.featured-tile{overflow:hidden;display:block;max-height:490px}.featured-tile:nth-child(2){margin-top:38px}.featured-tile:nth-child(4){margin-top:22px}.featured-tile img{width:100%;height:100%;min-height:340px;object-fit:cover;transition:transform .7s}.featured-tile:hover img,.instagram-grid a:hover img{transform:scale(1.04)}.instagram-section{display:grid;grid-template-columns:1fr 1.55fr;align-items:center;gap:clamp(45px,7vw,120px)}.instagram-copy h2{margin:18px 0}.instagram-copy p{max-width:340px}.preview-note{font-size:11px;line-height:1.5;margin-top:22px;color:#99928c}.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.instagram-grid a{aspect-ratio:1;overflow:hidden}.instagram-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.closing-cta{padding:100px 20px;text-align:center;background:linear-gradient(#eeebe6dd,#eeebe6dd),url('/assets/images/portfolio-14-large.webp') center 50%/cover}.closing-inner h2{font-size:clamp(2.4rem,4.3vw,4.9rem);margin:18px 0}.closing-inner p{margin-bottom:25px}.closing-inner .button{border:1px solid #d6ccc1}.footer{min-height:150px;padding:35px clamp(24px,6vw,100px);display:flex;justify-content:space-between;align-items:center;gap:30px}.footer nav{display:flex;gap:25px}.footer nav a,.footer small{font-size:10px;letter-spacing:.14em;text-transform:uppercase}.footer small{color:#999}.footer-brand strong{font-size:17px}.page-intro{text-align:center;padding:112px 24px 96px;background:var(--linen)}.page-intro h1{font-size:clamp(3.3rem,6vw,6.7rem);margin:20px 0}.page-intro p{max-width:540px;margin:0 auto}.portfolio-wrap{max-width:1600px;margin:auto;padding:40px clamp(16px,4vw,70px) 100px}.portfolio-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px}.filters{display:flex;gap:28px;flex-wrap:wrap}.filter{background:transparent;border:0;padding:9px 0;color:#80766c;letter-spacing:.17em;font-size:11px;text-transform:uppercase}.filter.active{color:var(--ink);border-bottom:1px solid var(--ink)}.gallery-tip{font-size:10px;letter-spacing:.12em;color:#999}.portfolio-grid{columns:4 220px;column-gap:12px}.portfolio-item{break-inside:avoid;display:block;width:100%;padding:0;border:0;margin-bottom:12px;position:relative;overflow:hidden;background:#e5e1dc;text-align:left}.portfolio-item[hidden]{display:none!important}.portfolio-item img{width:100%;height:auto;aspect-ratio:auto!important;transition:transform .55s}.portfolio-item:hover img{transform:scale(1.03)}.zoom-mark{position:absolute;right:15px;bottom:15px;color:white;text-shadow:0 1px 6px #0009;font-size:24px;opacity:0;transition:opacity .2s}.portfolio-item:hover .zoom-mark{opacity:1}.portfolio-outro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}.portfolio-outro p{max-width:460px}.portfolio-outro img{width:100%;max-height:470px;object-fit:cover}.lightbox{position:fixed;inset:0;background:#151411f5;z-index:80;color:white;display:flex;align-items:center;justify-content:center}.lightbox[hidden]{display:none}.lightbox figure{max-width:min(80vw,1200px);max-height:85vh;margin:0;text-align:center}.lightbox figure img{max-height:79vh;max-width:100%;object-fit:contain;margin:auto}.lightbox figcaption{margin-top:11px;font-size:12px;color:#ccc}.lightbox button{position:absolute;border:0;color:white;background:transparent;font-size:34px;padding:18px}.lightbox-close{right:3vw;top:18px}.lightbox-prev{left:3vw;top:48%}.lightbox-next{right:3vw;top:48%}.lightbox-count{position:absolute;bottom:20px;font-size:11px;letter-spacing:.17em}.enquire-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,8vw,140px)}.contact-side h2{margin:22px 0}.contact-side p{max-width:440px}.contact-side img{margin-top:45px;width:100%;max-height:480px;object-fit:cover}.form-panel{background:#fdfbf8;border:1px solid #eee7df;padding:clamp(24px,4vw,60px);align-self:start}.enquiry-form{margin-top:23px}.enquiry-form label{display:block;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#55504b;font-weight:600;margin-bottom:21px}.enquiry-form label span{color:#9f7461}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #cbc3b9;background:transparent;border-radius:0;padding:15px 0 12px;color:var(--ink);margin-top:4px;font-size:15px;letter-spacing:normal;text-transform:none;outline-offset:3px}.enquiry-form textarea{resize:vertical}.enquiry-form input:focus,.enquiry-form textarea:focus{border-color:var(--ink)}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#aaa39a}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.enquiry-form button{width:100%;justify-content:space-between}.form-disclaimer{font-size:12px;line-height:1.6}.form-disclaimer a{text-decoration:underline}.hidden-field{position:absolute;left:-10000px}.form-message{padding:14px;background:#f5e7e2;color:#713d31}.form-message.success{background:#e5ebe4;color:#37503d}.faq-section{padding-top:20px}.faq-section h2{margin:20px 0 48px}.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.faq-grid>div{border-top:1px solid var(--line);padding-top:22px}.faq-grid span{font-family:Georgia,serif;font-size:23px;color:#aca195}.faq-grid h3{margin:17px 0}.legal{max-width:850px;min-height:370px}.reveal{opacity:1;transform:none}.js-animations .reveal:not(.visible){opacity:0;transform:translateY(22px)}.js-animations .reveal{transition:opacity .8s,transform .8s}.js-animations .reveal.visible{opacity:1;transform:none}:focus-visible{outline:2px solid #a88969;outline-offset:5px}
@media(max-width:900px){.about-section,.enquire-layout,.portfolio-outro{gap:45px}.instagram-section{grid-template-columns:1fr 1.2fr;gap:30px}.footer{flex-wrap:wrap;justify-content:center}.featured-tile img{min-height:260px}.featured-grid{grid-template-columns:repeat(2,1fr)}.portfolio-grid{columns:3 180px}}
@media(max-width:650px){body{font-size:14px}.site-header{height:74px;padding:0 21px}.brand strong{font-size:14px}.brand span{font-size:11px}.instagram-icon svg{width:21px;height:21px}.hero{min-height:580px;height:100svh}.hero-shade{background:#17130f70}.hero-content{padding-top:100px}.hero h1{font-size:clamp(3.3rem,11vw,5.6rem)}.hero p{font-size:13px}.section-wrap{padding:75px 23px}.about-section,.instagram-section,.enquire-layout,.portfolio-outro{grid-template-columns:1fr}.about-image img{height:460px}.about-copy h2{font-size:3.4rem}.section-heading{display:block}.section-heading .text-link{margin-top:22px}.featured-grid{gap:7px}.featured-tile{max-height:310px}.featured-tile:nth-child(2),.featured-tile:nth-child(4){margin-top:0}.featured-tile img{min-height:270px}.instagram-grid{gap:5px}.instagram-copy p{max-width:none}.closing-cta{padding:75px 20px}.footer{flex-direction:column;text-align:center}.footer nav{gap:16px;flex-wrap:wrap;justify-content:center}.page-intro{padding:85px 25px 75px}.page-intro h1{font-size:3.8rem}.portfolio-toolbar{align-items:start;flex-direction:column}.filters{gap:17px}.portfolio-grid{columns:2 140px;column-gap:8px}.portfolio-item{margin-bottom:8px}.gallery-tip{display:none}.portfolio-outro img{order:-1}.form-panel{padding:27px 23px}.input-row{grid-template-columns:1fr;gap:0}.faq-grid{grid-template-columns:1fr;gap:20px}.contact-side img{height:410px}.lightbox figure{max-width:84vw}.lightbox button{font-size:27px;padding:9px}.lightbox-prev{left:0}.lightbox-next{right:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.js-animations .reveal:not(.visible){opacity:1;transform:none}}
