/* Motion remains progressive: the complete page works before JavaScript. */
.reading-progress{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#806546,#edcf9a);transform:scaleX(var(--read-progress,0));transform-origin:left;z-index:50;pointer-events:none}
.hero-line{display:block}.hero{isolation:isolate}.hero:before{content:"";position:absolute;inset:-30%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 65% 35%,#c6a97a14,transparent 35%),radial-gradient(ellipse at 40% 80%,#21574b20,transparent 40%);animation:light-drift 16s ease-in-out infinite alternate}
.hero-art{translate:0 calc(var(--hero-shift,0)*1px);will-change:translate}.orb{animation:orb-breathe 9s ease-in-out infinite alternate}.arch{animation:arch-drift 18s ease-in-out infinite alternate}
.hero-line{animation:hero-type 1s cubic-bezier(.19,1,.22,1) both}.hero-line:nth-child(2){animation-delay:.14s}.hero-line:nth-child(3){animation-delay:.28s}.hero-copy>.eyebrow{animation:hero-soft .8s ease both}.hero-copy>.intro{animation:hero-soft 1.1s .4s both}.hero-copy>.button{animation:hero-soft 1s .6s both}.hero-copy>.phone{animation:hero-soft 1s .7s both}
.styles{position:relative;isolation:isolate;overflow:hidden}.styles:before{content:"";position:absolute;inset:-20%;background:radial-gradient(ellipse at 10% 40%,#bd8d4530,transparent 45%),radial-gradient(ellipse at 90% 70%,#2d685725,transparent 40%);z-index:-1;animation:light-drift 20s ease-in-out infinite alternate;pointer-events:none}
.motion-ready [data-reveal]{transition:opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready [data-reveal]:not(.is-visible){opacity:.12;transform:translateY(35px)}.motion-ready .portrait[data-reveal]:not(.is-visible){transform:translateY(45px) rotate(1.5deg) scale(.97)}.motion-ready .steps article[data-reveal]:not(.is-visible){transform:translateX(30px)}.motion-ready [data-reveal].is-visible{opacity:1;transform:none}
.button,.nav-call,.mobile-bar a{position:relative;transition:transform .22s,background .3s,box-shadow .3s;isolation:isolate}.gold{overflow:hidden}.gold:after{content:"";position:absolute;inset:-100% -30%;background:linear-gradient(110deg,transparent 40%,#fff5 50%,transparent 60%);translate:-100% 0;animation:gold-sweep 8s 2s ease-in-out infinite;pointer-events:none}.button:active,.mobile-bar a:active{transform:scale(.96);box-shadow:0 0 24px #c6a97a30}.button:hover{box-shadow:0 5px 28px #c6a97a20}.nav-call:hover{color:#e5c99d}
.portrait-open{display:block;padding:0;border:0;background:transparent;position:relative;width:100%;cursor:zoom-in;color:var(--paper);overflow:hidden}.portrait-photo{display:block;width:100%;transition:transform .6s cubic-bezier(.2,.7,.3,1),filter .6s}.portrait-open:hover .portrait-photo{transform:scale(1.045);filter:brightness(1.1)}.portrait-open:active .portrait-photo{transform:scale(1.025)}.portrait-open:focus-visible{outline:2px solid #f1d29e;outline-offset:4px}.expand-mark{position:absolute;bottom:12px;right:12px;background:#111a;width:30px;height:30px;display:grid;place-items:center;border:1px solid #c6a97a66;border-radius:50%;font-size:17px;pointer-events:none}.portrait figcaption{font-size:12px;color:#e4d1ac}.gallery-hint{font-size:12px;color:#bdb8ae;margin:0 0 20px}.gallery-hint span{display:none}.gallery-controls{display:none}
.portrait-dialog{padding:20px;background:#161614;color:var(--paper);border:1px solid #c6a97a77;width:min(440px,92vw);max-height:94dvh;overflow:auto;box-shadow:0 30px 100px #0009}.portrait-dialog::backdrop{background:#080807dc;backdrop-filter:blur(12px)}.portrait-dialog[open]{animation:dialog-in .35s cubic-bezier(.2,.8,.2,1)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.dialog-top h2{font-size:16px;letter-spacing:-.5px}.portrait-dialog button,.gallery-controls button{border:1px solid #c6a97a55;background:transparent;color:#e9d3ae;min-width:44px;min-height:44px;cursor:pointer;font-size:17px;transition:background .2s,transform .2s}.portrait-dialog button:active,.gallery-controls button:active{background:#c6a97a22;transform:scale(.95)}.dialog-close{padding:5px 12px;font-size:13px!important}.dialog-photo{width:100%;aspect-ratio:4/5;max-height:62dvh;background-image:url('style-concepts.jpg');background-repeat:no-repeat;background-size:600% 400%;background-position:0% 0%}.dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.dialog-bottom>div{text-align:center}.dialog-bottom p{margin:0;font-size:13px;color:#edcf9a}.dialog-count{font-size:11px;color:#aaa69e;letter-spacing:2px}.dialog-note{font-size:11px;text-align:center;color:#aaa69e;margin:12px 0 0}.portrait-dialog button:focus-visible,.gallery-controls button:focus-visible{outline:2px solid #eac88f;outline-offset:3px}body.has-portrait-dialog{overflow:hidden}
@keyframes hero-type{from{opacity:0;transform:translateY(32px);filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes hero-soft{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}@keyframes light-drift{from{transform:translate(-3%,-2%) rotate(-3deg)}to{transform:translate(5%,4%) rotate(6deg)}}@keyframes orb-breathe{from{transform:scale(.93);filter:brightness(.85)}to{transform:scale(1.05);filter:brightness(1.1)}}@keyframes arch-drift{from{transform:rotate(11deg)}to{transform:rotate(19deg)}}@keyframes gold-sweep{0%,75%{translate:-100% 0}100%{translate:100% 0}}@keyframes dialog-in{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@keyframes image-turn{from{opacity:.45;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.dialog-photo.is-changing{animation:image-turn .3s ease}
@media(max-width:800px){.styles{padding-left:0;padding-right:0}.styles>.section-heading,.styles>.caption,.styles>.gallery-hint{margin-left:7%;margin-right:7%}.portrait-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:7vw;padding:8px 7vw 18px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#b29568 #292723;outline-offset:-2px}.portrait-grid>.portrait{flex:0 0 min(74vw,340px);scroll-snap-align:start}.portrait-grid>.portrait .portrait-photo{aspect-ratio:4/5}.portrait-grid>.portrait[data-reveal]{transition:opacity .6s,transform .75s}.gallery-hint span{display:inline}.gallery-controls:not([hidden]){display:flex;align-items:center;justify-content:end;gap:18px;padding:0 7vw 18px}.gallery-count{font-size:11px;letter-spacing:2px;color:var(--gold);min-width:60px;text-align:center}.portrait-grid>.portrait:not(.is-visible){opacity:1!important;transform:none!important}.hero:before{animation-duration:12s}.hero-art{will-change:auto}.mobile-bar{box-shadow:0 -12px 35px #0004}.mobile-bar a{overflow:hidden}.mobile-bar a:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff35 50%,transparent 70%);translate:-100% 0;animation:gold-sweep 7s 3s ease-in-out infinite}.dialog-photo{max-height:none}.portrait-dialog{max-height:92dvh}.dialog-photo{aspect-ratio:4/5}.contact{overflow:hidden}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-art{translate:none}.motion-ready [data-reveal]:not(.is-visible){opacity:1!important;transform:none!important}.reading-progress{display:none}}

.hero-fashion{width:57%;overflow:visible;opacity:1;background:radial-gradient(ellipse at 50% 40%,#936b3944,transparent 62%);pointer-events:none}.fashion-halo{position:absolute;inset:8% -20% 5% -15%;background:conic-gradient(from 30deg,transparent,#b7975433,transparent 35%,#d0ab6a20,transparent 75%);filter:blur(35px);animation:halo-turn 25s linear infinite}.fashion-frame{position:absolute;width:65%;aspect-ratio:4/5;top:70px;right:15%;border:1px solid #d8b77699;transform:rotate(-5deg);box-shadow:0 25px 90px #0008,0 0 55px #c79a4925;overflow:hidden;background:#161511;animation:frame-float 9s ease-in-out infinite alternate}.fashion-shot{position:absolute;inset:0;background-image:url('style-concepts.jpg');background-size:600% 400%;opacity:0;transform:scale(1.04);animation:fashion-cross 18s ease-in-out infinite}.shot-one{background-position:0% 0%;opacity:1}.shot-two{background-position:20% 0%;animation-delay:6s}.shot-three{background-position:60% 33.333333%;animation-delay:12s}.fashion-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#111110dd,transparent 40%),linear-gradient(90deg,#11111022,transparent 45%);pointer-events:none}.fashion-sheen{position:absolute;inset:-70%;background:linear-gradient(115deg,transparent 42%,#e9d2a13b 49%,transparent 55%);translate:-40% 0;animation:frame-sheen 8s ease-in-out infinite;z-index:2}.fashion-mini{position:absolute;width:27%;aspect-ratio:4/5;background-image:url('style-concepts.jpg');background-size:600% 400%;border:1px solid #c6a97a66;box-shadow:0 20px 50px #0009}.mini-one{background-position:0% 33.333333%;top:130px;right:-1%;transform:rotate(12deg);animation:mini-drift 11s ease-in-out infinite alternate}.mini-two{background-position:80% 66.666667%;top:390px;right:65%;transform:rotate(-13deg);opacity:.8;animation:mini-drift 13s ease-in-out infinite alternate-reverse}.fashion-ring{position:absolute;border:1px solid #d4ad6d66;border-radius:50%;width:85%;aspect-ratio:1;top:55px;right:3%;transform:rotateX(35deg) rotate(-20deg);animation:ring-orbit 20s linear infinite}.ring-two{width:105%;top:160px;right:-7%;opacity:.4;animation-direction:reverse}.fashion-type{position:absolute;top:510px;left:12%;z-index:3;font:100px/.8 Georgia,serif;letter-spacing:10px;color:#e9d7ae;text-shadow:0 10px 30px #0008;animation:type-float 10s ease-in-out infinite alternate}.fashion-type i{font-size:12px;letter-spacing:7px;font-style:normal}.fashion-dust{position:absolute;inset:0}.fashion-dust i{position:absolute;width:3px;height:3px;border-radius:50%;background:#e9c88c;box-shadow:0 0 12px #e9c88c;opacity:.35;animation:dust-rise calc(7s + var(--n)*.7s) calc(var(--n)*-.8s) ease-in-out infinite alternate}.fashion-rule{position:absolute;bottom:150px;right:6%;width:65%;height:1px;background:linear-gradient(90deg,transparent,#d7b676,transparent);transform:rotate(-25deg)}.hero-media-note{position:absolute;right:9%;bottom:94px;font-size:11px;letter-spacing:1px;color:#d8c4a1;z-index:4}.motion-toggle{position:absolute;right:7%;top:22px;z-index:6;border:1px solid #b59b6e66;background:#111110a8;color:#decead;font:11px Arial,"Malgun Gothic",sans-serif;padding:10px 14px;min-height:40px;cursor:pointer}.motion-toggle:focus-visible{outline:2px solid #e9c88c;outline-offset:3px}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .hero-art{translate:none}.dialog-photo{max-height:none}
@keyframes fashion-cross{0%,27%{opacity:1;transform:scale(1.02) translateY(0)}33%,94%{opacity:0;transform:scale(1.09) translateY(-1%)}100%{opacity:1;transform:scale(1.02) translateY(0)}}@keyframes frame-float{from{transform:rotate(-5deg) translateY(0)}to{transform:rotate(-2deg) translateY(-14px)}}@keyframes frame-sheen{0%,55%{translate:-50% 0}100%{translate:50% 0}}@keyframes mini-drift{from{translate:0 0}to{translate:8px -22px}}@keyframes halo-turn{to{transform:rotate(360deg)}}@keyframes ring-orbit{from{transform:rotateX(35deg) rotate(-20deg)}to{transform:rotateX(35deg) rotate(340deg)}}@keyframes type-float{to{translate:12px -8px}}@keyframes dust-rise{from{translate:0 15px;opacity:.15}to{translate:12px -35px;opacity:.65}}
@media(max-width:800px){.hero{min-height:900px;padding-top:250px}.hero-copy{z-index:4}.hero-fashion{width:100%;height:600px;right:0;top:0;opacity:1;background:radial-gradient(ellipse at 75% 35%,#9a703e55,transparent 65%)}.hero-fashion:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#111110 0%,#111110cc 25%,transparent 65%),linear-gradient(90deg,#11111088,transparent 80%);z-index:3}.fashion-frame{width:58%;top:40px;right:10%;transform:rotate(-5deg)}.fashion-mini{width:25%}.mini-one{top:110px;right:-7%}.mini-two{top:220px;right:70%}.fashion-type{top:300px;left:43%;font-size:70px;z-index:3;opacity:.6}.fashion-type i{font-size:7px;letter-spacing:3px}.fashion-ring{top:25px;right:-10%;width:95%}.ring-two{top:100px;right:0;width:110%}.hero-copy>.eyebrow{margin-bottom:20px}.hero-copy h1{position:relative}.hero-media-note{right:7%;top:408px;bottom:auto;writing-mode:vertical-rl;font-size:10px;letter-spacing:1px;color:#bba584}.motion-toggle{top:16px;right:6%;font-size:10px;min-height:36px;padding:8px 10px}.fashion-dust{z-index:4}.hero-bottom{bottom:25px}.hero-copy .intro{max-width:90%}}
@media(max-width:500px){.hero{padding-top:242px;min-height:900px}.hero-fashion{height:580px}.fashion-frame{width:62%;right:7%;top:50px}.fashion-type{top:300px;font-size:62px}.mini-two{top:210px}.hero-copy h1{font-size:36px}.hero-copy>.eyebrow{font-size:9px;letter-spacing:2px}.hero-media-note{top:440px}.hero-copy .intro{font-size:12px}.fashion-ring{border-color:#d4ad6d55}}
@media(prefers-reduced-motion:reduce){.fashion-shot{opacity:0!important;transform:none!important}.fashion-shot.shot-one{opacity:1!important}.fashion-frame{transform:rotate(-3deg)}.fashion-dust{display:none}}
