:root{color-scheme:dark;--background:#080808;--white:#fff;--line:#ffffff35}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--white);font-family:'DM Sans',Arial,sans-serif}a{color:#fff;text-decoration:none}.topbar{position:absolute;z-index:2;top:0;left:0;width:100%;height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff30}.brand{font-size:13px;font-weight:600;letter-spacing:.06em}nav{display:flex;gap:32px}nav a,footer>a:last-child{font-size:11px;color:#fff}.hero{position:relative;height:min(88vh,920px);min-height:570px;overflow:hidden;background:#111}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:center 50%}.hero-shade{background:linear-gradient(0deg,#000a 0%,transparent 48%),linear-gradient(90deg,#0005,transparent 65%)}.hero-copy{position:absolute;left:8vw;bottom:8vh;color:#fff}.hero-copy p{margin:0 0 18px;font-size:10px;letter-spacing:.2em}.hero-copy h1{margin:0;font-size:clamp(58px,10vw,132px);font-weight:500;line-height:.95;letter-spacing:-.07em}.hero-link{display:grid;place-items:center;width:43px;height:43px;margin-top:28px;border:1px solid #ffffffa0;border-radius:50%;color:#fff;font-size:21px;transition:background .2s}.hero-link:hover{background:#ffffff28}.gallery-section{padding:68px 5vw 90px}.gallery-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px}.gallery-heading h2{margin:0;font-size:13px;font-weight:500;letter-spacing:.06em;color:#fff}.gallery-heading span{font-size:10px;color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.photo-card{display:block;position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;border:0;padding:0;background:#141414;cursor:zoom-in}.photo-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease,opacity .3s}.photo-card:hover img{transform:scale(1.035);opacity:.86}footer{min-height:82px;padding:20px 5vw;border-top:1px solid #ffffff24;display:flex;justify-content:space-between;align-items:center}.lightbox{position:fixed;inset:0;z-index:5;display:none;align-items:center;justify-content:center;padding:54px 72px;background:#050505f7}.lightbox.open{display:flex}.lightbox img{max-width:100%;max-height:calc(100vh - 108px);object-fit:contain}.lightbox-close,.lightbox-arrow{position:absolute;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;background:#1118;color:#fff;font:24px Arial;cursor:pointer}.lightbox-close{top:20px;right:24px}.lightbox-arrow{top:50%;transform:translateY(-50%)}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.1em;color:#fff}@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.topbar{height:64px;padding:0 6vw}nav{gap:22px}.hero{height:78vh;min-height:540px}.hero-copy{left:7vw;bottom:7vh}.gallery-section{padding:48px 4vw 65px}.gallery-heading{margin-bottom:15px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.photo-card{aspect-ratio:3/4}footer{padding:18px 5vw}.lightbox{padding:55px 16px}.lightbox img{max-width:100%;max-height:78vh}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{top:12px;right:12px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* 360-degree rotating portrait gallery */
.gallery-heading span{display:flex;gap:5px;align-items:center;letter-spacing:.08em;text-transform:uppercase}
.gallery-heading span b{color:#c5a574;font-weight:600}
.gallery-stage{height:clamp(430px,54vw,610px);position:relative;display:flex;align-items:center;justify-content:center;perspective:1800px;perspective-origin:50% 45%;overflow:hidden;background:radial-gradient(ellipse at center,#171717 0%,#080808 68%)}
.gallery-window{width:100%;height:100%;position:relative;overflow:visible;touch-action:pan-y;cursor:grab;transform-style:preserve-3d}
.gallery-window.dragging{cursor:grabbing}
.gallery-ring{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.72,.2,1);will-change:transform}
.gallery-ring.dragging{transition:none}
.gallery-ring .photo-card{position:absolute;left:50%;top:50%;display:block;width:clamp(220px,25vw,300px);min-width:0;aspect-ratio:4/5;height:auto;margin:0;padding:0;border:1px solid #ffffff24;border-radius:3px;overflow:hidden;background:#141414;backface-visibility:hidden;transform-style:preserve-3d;box-shadow:0 22px 60px #0009;}
.gallery-ring .photo-card img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.gallery-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:46px;height:46px;display:grid;place-items:center;border:1px solid #ffffff66;border-radius:50%;background:#111b;color:#fff;font-size:20px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.gallery-arrow:hover{background:#c5a574;border-color:#c5a574;color:#080808}
.gallery-prev{left:3vw}.gallery-next{right:3vw}
@media(max-width:640px){.gallery-heading span{font-size:8px}.gallery-stage{height:440px;perspective:1250px;perspective-origin:50% 44%}.gallery-ring .photo-card{width:min(62vw,260px)}.gallery-prev{left:3vw}.gallery-next{right:3vw}.gallery-arrow{width:39px;height:39px;background:#080b}}
@media(prefers-reduced-motion:reduce){.gallery-ring{transition:none}}

/* Keep the portrait carousel as the first and largest thing on the page */
.hero{height:clamp(180px,23vh,250px);min-height:180px;background:#111}
.hero-image{object-position:center 46%;filter:brightness(.58)}
.hero-shade{background:linear-gradient(90deg,#0008,transparent 75%),linear-gradient(0deg,#0009,transparent 65%)}
.hero-copy{left:6vw;bottom:22px}
.hero-copy p{margin-bottom:10px;font-size:9px}
.hero-copy h1{font-size:clamp(40px,6vw,72px)}
.hero-link{position:absolute;left:calc(100% + 28px);bottom:0;width:38px;height:38px;margin:0}
.gallery-section{padding:28px 3vw 48px}
.gallery-heading{margin:0 auto 12px;max-width:1400px}
.gallery-heading h2{font-size:16px;font-weight:600;letter-spacing:.01em}
.gallery-stage{height:clamp(460px,56vh,600px)}
.gallery-ring .photo-card{width:clamp(270px,30vw,380px)}
@media(max-width:640px){.hero{height:190px;min-height:170px}.hero-copy{left:6vw;bottom:19px}.hero-copy h1{font-size:48px}.hero-link{left:calc(100% + 18px);width:34px;height:34px}.gallery-section{padding:20px 3vw 38px}.gallery-heading{align-items:flex-start;gap:10px}.gallery-heading span{max-width:58%;line-height:1.7;flex-wrap:wrap}.gallery-stage{height:430px;perspective:1250px}.gallery-ring .photo-card{width:min(70vw,300px)}}

/* Keep the carousel at its original size and gently scale up only the centered photo */
.gallery-ring .photo-card{width:clamp(220px,25vw,300px);scale:1;transition:scale .55s ease,border-color .55s ease,box-shadow .55s ease}
.gallery-ring .photo-card.is-focused{scale:1.14;border-color:#ffffffa8;box-shadow:0 28px 74px #000d,0 0 26px #ffffff12}
@media(max-width:640px){.gallery-ring .photo-card{width:min(62vw,260px)}.gallery-ring .photo-card.is-focused{scale:1.12}}
.lightbox.open{background:#050505fa}
.lightbox.open img{max-width:92vw;max-height:88vh;object-fit:contain}
.lightbox-close{z-index:6;background:#111;border-color:#ffffffb8}

.contact-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1fr);gap:10vw;padding:100px max(8vw,calc((100vw - 1200px)/2));background:#101010;border-top:1px solid #ffffff1a}
.contact-copy{align-self:center}.contact-kicker{font-size:10px;letter-spacing:.2em;color:#c5a574}.contact-copy h2{margin:24px 0;font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.06em;font-weight:500}.contact-copy>p:not(.contact-kicker){max-width:360px;color:#b8b8b8;font-size:14px;line-height:1.8}.contact-copy>a{display:inline-block;margin-top:24px;color:#c5a574;font-size:10px;letter-spacing:.12em}
.contact-form{display:flex;flex-direction:column;gap:8px}.contact-form label{margin-top:15px;color:#aaa;font-size:9px;letter-spacing:.16em}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:13px 0;border:0;border-bottom:1px solid #ffffff40;border-radius:0;outline:0;background:transparent;color:#fff;font:14px 'DM Sans',Arial,sans-serif}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#c5a574}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#777}.contact-form select option{background:#111;color:#fff}.contact-form textarea{resize:vertical}.contact-form button{justify-self:start;align-self:flex-start;margin-top:22px;padding:14px 20px;border:0;border-radius:999px;background:#c5a574;color:#080808;font-size:10px;font-weight:700;letter-spacing:.12em;cursor:pointer}.contact-form button span{margin-left:18px;font-size:15px}.contact-status{min-height:20px;margin:4px 0 0;color:#c5a574;font-size:12px}
@media(max-width:700px){.contact-section{grid-template-columns:1fr;gap:34px;padding:68px 7vw}.contact-copy h2{font-size:52px}.contact-copy>a{font-size:9px}}

/* Put the portrait wheel right under the brand header */
.topbar{position:sticky;top:0;z-index:8;height:76px;background:#080808f5;backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:11px;letter-spacing:0}
.brand-monogram{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#c5a574;color:#080808;font-size:10px;font-weight:700;letter-spacing:-.04em}
.brand-copy{display:grid;gap:3px}
.brand-copy strong{font-size:13px;letter-spacing:.14em;color:#fff}
.brand-copy small{font-size:8px;font-weight:700;letter-spacing:.25em;color:#c5a574}
.gallery-section{padding-top:20px}
@media(max-width:640px){.topbar{height:66px}.brand-monogram{width:34px;height:34px}.brand-copy strong{font-size:11px}.gallery-section{padding-top:14px}}

.contact-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.contact-form button:disabled{opacity:.65;cursor:wait}

/* Three neighboring frames stay together instead of spreading around the 3D ring */
.gallery-stage{perspective:none;--gallery-offset:clamp(180px,23vw,300px)}
.gallery-window{perspective:none;overflow:hidden;cursor:grab}
.gallery-ring{transform:none!important;transform-style:flat}
.gallery-ring .photo-card{left:50%;top:50%;width:clamp(220px,25vw,300px);visibility:hidden;opacity:0;z-index:0;pointer-events:none;transform:translate(-50%,-50%) scale(.76);transition:transform .65s cubic-bezier(.2,.72,.2,1),opacity .5s ease,filter .5s ease,box-shadow .5s ease}
.gallery-ring .photo-card.is-focused{visibility:visible;opacity:1;z-index:3;pointer-events:auto;scale:1;transform:translate(-50%,-50%) scale(1.14);filter:none}
.gallery-ring .photo-card.is-previous,.gallery-ring .photo-card.is-next{visibility:visible;opacity:.9;z-index:2;pointer-events:auto;scale:1;filter:grayscale(1) brightness(.8)}
.gallery-ring .photo-card.is-previous{transform:translate(calc(-50% - var(--gallery-offset)),-50%) scale(.88) rotateY(12deg)}
.gallery-ring .photo-card.is-next{transform:translate(calc(-50% + var(--gallery-offset)),-50%) scale(.88) rotateY(-12deg)}
.gallery-ring.dragging .photo-card{transition:none}
@media(max-width:640px){.gallery-stage{--gallery-offset:min(67vw,260px);perspective:none}.gallery-ring .photo-card{width:min(62vw,260px)}.gallery-ring .photo-card.is-focused{transform:translate(-50%,-50%) scale(1.12)}.gallery-ring .photo-card.is-previous{transform:translate(calc(-50% - var(--gallery-offset)),-50%) scale(.82) rotateY(8deg)}.gallery-ring .photo-card.is-next{transform:translate(calc(-50% + var(--gallery-offset)),-50%) scale(.82) rotateY(-8deg)}}


/* Quiet, responsive AdSense placement below the gallery */
.ad-section[hidden]{display:none}.ad-section:not([hidden]){width:min(970px,92vw);margin:8px auto 54px;padding:16px 0;border-block:1px solid #ffffff18}.ad-section>p{margin:0 0 10px;text-align:center;color:#777;font-size:8px;letter-spacing:.18em}.ad-section .adsbygoogle{display:block;width:100%;max-width:100%}


/* Social links in the footer */
.footer-social{display:flex;align-items:center;gap:20px}.footer-social a{font-size:10px;letter-spacing:.08em;color:#aaa;transition:color .2s}.footer-social a:hover{color:#c5a574}footer>a:last-child{white-space:nowrap}@media(max-width:640px){footer{gap:14px;flex-wrap:wrap}.footer-social{order:3;width:100%;gap:18px}}


/* Compact social links in the header */
.topbar nav .nav-social{font-size:10px;color:#aaa;letter-spacing:.06em;transition:color .2s}.topbar nav .nav-social:hover{color:#c5a574}.nav-social-short{display:none}@media(max-width:640px){.topbar nav{gap:12px}.topbar nav a{font-size:9px}.nav-social-full{display:none}.nav-social-short{display:inline}}
