@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');
:root{--ink:#1d1d1b;--cream:#f5f1e9;--gold:#b99057;--dark:#1c1917}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Roboto,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:#c9a675;color:#17130f}.mini-nav{position:fixed;z-index:100;top:22px;left:24px;display:flex;align-items:center;gap:5px;padding:6px;background:#fffdf5e8;border:1px solid #b8ad9c72;border-radius:40px;box-shadow:0 8px 40px #0000000d;backdrop-filter:blur(18px)}.mini-nav a{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:50%;font-size:11px;font-weight:500;transition:background .25s,color .25s}.mini-nav a:hover,.mini-nav a[aria-current=page]{background:var(--ink);color:white}.mini-nav .nav-label{padding:0 9px 0 12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#6f6559}.contact-links{display:flex;flex-wrap:wrap;gap:14px}.contact-links a{display:inline-flex;align-items:center;gap:10px;transition:transform .3s,color .3s}.contact-links a:hover{transform:translateY(-3px);color:var(--gold)}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}.brand{font-weight:300;letter-spacing:.16em;text-transform:uppercase}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.28em}.logo{object-fit:contain}.services{font-weight:300;text-transform:uppercase;letter-spacing:.15em}.fade-up{opacity:0;transform:translateY(24px);animation:rise .9s ease forwards}@keyframes rise{to{opacity:1;transform:translateY(0)}}
/* variant 1 */
.v1{min-height:100svh;background:#faf9f6;overflow-x:hidden}.v1:before{content:"";position:fixed;inset:auto -18% -48% auto;width:min(70vw,800px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#d8c3a847,transparent 68%);pointer-events:none}.v1 main{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:110px 25px 70px}.v1 .centerpiece{text-align:center;width:min(100%,660px);position:relative}.v1 .logo{width:clamp(165px,27vw,250px);height:auto;display:block;margin:0 auto 29px;animation:logo-arrive 1.7s cubic-bezier(.2,.8,.2,1) both}.v1 .brand{font-size:clamp(27px,5.2vw,51px);letter-spacing:.105em;margin:0;white-space:nowrap}.v1 .sub{font-size:11px;letter-spacing:.36em;margin:17px 0 0;text-transform:uppercase;color:#77716b}.v1 .divider{height:1px;width:44px;background:#ac8c62;margin:53px auto 32px}.v1 .contact-links{justify-content:center;gap:15px 27px;font-size:12px;font-weight:300;letter-spacing:.045em}.v1 .services{margin:38px 0 0;font-size:10px;line-height:2.1;color:#7f796f}.v1 .foot{position:fixed;bottom:21px;left:0;width:100%;text-align:center;text-transform:uppercase;font-size:9px;letter-spacing:.25em;color:#a39a8f;pointer-events:none}.v1 .logo:hover{animation:tiny-wiggle .65s ease-in-out}@keyframes logo-arrive{from{opacity:0;transform:rotate(-25deg) scale(.85)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes tiny-wiggle{0%,100%{transform:rotate(0)}30%{transform:rotate(8deg)}65%{transform:rotate(-5deg)}}
/* variant 2 */
.v2{min-height:100svh;background:#211d19;color:#efe8dc;padding:100px 28px 40px}.v2 .topline{max-width:1050px;margin:0 auto 35px;display:flex;align-items:center;justify-content:space-between;gap:18px}.v2 .topline span{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#c1ac8e}.v2 .topline strong{font-size:12px;letter-spacing:.1em;font-weight:300}.tiles{max-width:1050px;margin:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(300px,36vh) minmax(300px,36vh);gap:12px}.tile{position:relative;overflow:hidden;border-radius:7px;min-width:0;background:#302923;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}.tile:hover{transform:translateY(-3px);box-shadow:0 17px 40px #0004}.tile-brand{background:#f2ede5;color:var(--ink);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px;text-align:center}.tile-brand .logo{width:clamp(115px,14vw,165px);margin-bottom:18px}.tile-brand h1{font-weight:300;font-size:clamp(22px,2.5vw,33px);letter-spacing:.145em;margin:0}.tile-brand p{font-size:11px;letter-spacing:.23em;margin-top:13px}.tile-info{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(27px,4vw,45px);background:#342b24}.tile-info .eyebrow{color:#cbb28e}.tile-info .big{font-size:clamp(23px,3.3vw,44px);font-weight:300;line-height:1.1;letter-spacing:-.03em;margin:14px 0 22px}.tile-info .contact-links{display:flex;flex-direction:column;gap:16px;font-size:13px;font-weight:300}.tile-info .services{font-size:10px;color:#c3b39f;margin-top:28px;line-height:1.8}.tile-photo img{height:100%;width:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1);filter:saturate(.8)}.tile-photo:hover img{transform:scale(1.075)}.photo-caption{position:absolute;bottom:22px;left:26px;z-index:1;text-transform:uppercase;font-size:10px;letter-spacing:.19em;text-shadow:0 2px 8px #000b}.tile-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0906038a);pointer-events:none}.v2 .bottomline{max-width:1050px;margin:24px auto 0;display:flex;justify-content:space-between;gap:12px;color:#ad9a82;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
/* variant 3 */
.v3{background:#0b0b0a;color:#f3eadc;overflow-x:hidden}.v3 .aurora{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 40% 40% at 50% 45%,#a6733426,transparent 78%),radial-gradient(ellipse 37% 45% at 90% 65%,#87633b1f,transparent 80%);animation:drift 12s ease-in-out infinite alternate}.v3 .grain{position:fixed;inset:0;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E")}.v3 .fancy-top{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:35px clamp(25px,5vw,80px)}.v3 .fancy-top .wordmark{font-weight:300;font-size:11px;letter-spacing:.25em;line-height:1.8}.v3 .fancy-top .top-right{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#bd9a6a}.v3 .hero{min-height:calc(100svh - 115px);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:36px 22px 72px;text-align:center}.v3 .orbit{position:absolute;top:48%;left:50%;border:1px solid #a2793c26;border-radius:50%;width:min(85vw,720px);aspect-ratio:1;transform:translate(-50%,-50%) rotate(-20deg);animation:orbit 30s linear infinite;pointer-events:none}.v3 .orbit:before{content:"";position:absolute;inset:12%;border:1px solid #a2793c23;border-radius:50%}.v3 .orbit:after{content:"✦";position:absolute;top:12%;left:12%;color:#bc8c4f;font-size:13px;text-shadow:0 0 18px #e0ae5b}.v3 .spiral-scene{width:min(52vw,300px);height:min(44vw,260px);min-width:170px;min-height:150px;position:relative;margin-bottom:22px}.v3 .spiral-glow{position:absolute;inset:0;background:linear-gradient(135deg,#7f4a21,#fce1a1 38%,#bd8348 55%,#ffefbb 72%,#77502d);-webkit-mask-image:url('assets/spiral-path.svg');mask-image:url('assets/spiral-path.svg');-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;filter:drop-shadow(0 0 15px #c99665);animation:spiral-reveal 2.3s cubic-bezier(.15,.7,.16,1) both,shimmer 7s ease-in-out 2.3s infinite}.v3 .spiral-halo{position:absolute;inset:-20%;background:radial-gradient(circle,#bf8a4d2c,transparent 60%);animation:pulse 5s ease-in-out infinite alternate}.v3 .hero .eyebrow{color:#b99a73;font-size:11px;letter-spacing:.4em;animation:rise 1s 1s both}.v3 .hero h1{font-weight:300;letter-spacing:.15em;font-size:clamp(42px,8vw,100px);line-height:1.07;margin:10px 0 13px;animation:rise 1s 1.15s both}.v3 .hero .subtitle{font-weight:300;text-transform:uppercase;font-size:11px;letter-spacing:.45em;color:#cab89e;animation:rise 1s 1.3s both}.v3 .hero .hero-contact{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:45px;animation:rise 1s 1.5s both}.v3 .hero-contact a{border:1px solid #a98c6766;border-radius:100px;padding:13px 18px;display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.05em;transition:background .3s,color .3s,transform .3s}.v3 .hero-contact a:hover{background:#e9d3ad;color:#19130c;transform:translateY(-4px)}.v3 .scroll{margin-top:38px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#a78e70;animation:float 3s ease-in-out infinite}.v3 .fancy-bottom{position:relative;min-height:300px;border-top:1px solid #ad895a3b;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center;padding:60px max(8%,30px);background:#191512}.v3 .fancy-bottom h2{font-size:clamp(24px,4vw,50px);font-weight:300;max-width:650px;line-height:1.2}.v3 .fancy-bottom img{height:260px;width:100%;max-width:460px;object-fit:cover;border-radius:5px;justify-self:end;filter:brightness(.85)}.particle{position:fixed;pointer-events:none;z-index:10;width:5px;height:5px;border-radius:50%;background:#e0b775;animation:spark .8s ease-out forwards}@keyframes spark{to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(0)}}@keyframes spiral-reveal{from{opacity:0;transform:scale(.45) rotate(-120deg);filter:blur(10px)}to{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}@keyframes shimmer{0%,100%{opacity:1;transform:rotate(0)}50%{opacity:.82;transform:rotate(4deg)}}@keyframes drift{to{transform:translate(6%,-4%) scale(1.1)}}@keyframes orbit{to{transform:translate(-50%,-50%) rotate(340deg)}}@keyframes pulse{to{opacity:.45;transform:scale(1.2)}}@keyframes float{50%{transform:translateY(7px)}}
/* overview */
.overview{background:#f5f1e9;min-height:100svh;padding:65px clamp(20px,5vw,90px);color:#29251f}.overview .intro{max-width:1050px;margin:0 auto 40px}.overview .intro .eyebrow{color:#9b7b51}.overview h1{font-weight:300;letter-spacing:-.06em;font-size:clamp(42px,7vw,94px);line-height:1.03;margin:22px 0}.overview .intro p{font-weight:300;font-size:16px;color:#72675a;max-width:540px;line-height:1.7}.preview-grid{max-width:1250px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.preview{border-radius:9px;overflow:hidden;display:flex;flex-direction:column;background:white;box-shadow:0 20px 60px #2d1d0c0d;transition:transform .35s}.preview:hover{transform:translateY(-7px)}.preview-art{height:300px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.preview-art img.logo{width:125px}.p-min{background:#fcfaf5}.p-min .brand{font-size:22px;margin-top:15px}.p-tiles{background:#27211c;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:15px}.p-tiles>div{border-radius:3px;overflow:hidden}.p-tiles .tiny-brand{background:#efe5d6;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#1c1b18}.p-tiles .tiny-brand .logo{width:80px}.p-tiles .tiny-contact{background:#4b3c2c;color:#dbbf94;padding:30px 8px;text-align:center;font-size:10px;line-height:2}.p-tiles img{width:100%;height:100%;object-fit:cover}.p-fancy{background:radial-gradient(circle at center,#674529 0,#13100e 65%);color:#e7c891}.p-fancy .logo{filter:invert(.75) sepia(.6) saturate(.7);animation:float 3s infinite}.p-fancy span{margin-top:16px;font-size:17px;letter-spacing:.25em;font-weight:300}.preview-detail{padding:25px}.preview-detail small{font-size:10px;letter-spacing:.22em;color:#927956;text-transform:uppercase}.preview-detail h2{font-size:24px;font-weight:300;margin:11px 0 8px}.preview-detail p{font-size:13px;line-height:1.6;color:#80766d;min-height:50px}.preview-detail b{font-weight:400;font-size:12px;letter-spacing:.08em;border-bottom:1px solid;padding-bottom:5px}.overview footer{max-width:1250px;margin:40px auto 0;color:#82776c;font-size:11px}
@media(max-width:760px){.mini-nav{top:12px;left:12px}.mini-nav .nav-label{display:none}.v1 main{padding-top:115px}.v1 .contact-links{flex-direction:column;align-items:center;gap:15px}.v1 .foot{position:static;padding-bottom:20px}.v1 .brand{font-size:clamp(23px,6vw,36px)}.v2{padding:85px 14px 25px}.v2 .topline{margin-bottom:20px}.v2 .topline strong{display:none}.tiles{grid-template-columns:1fr;grid-template-rows:270px auto 270px 270px;gap:10px}.tile-info{min-height:330px}.tile-info .big{font-size:32px}.v2 .bottomline{font-size:9px}.v3 .fancy-top{padding:76px 23px 15px}.v3 .hero{min-height:calc(100svh - 120px)}.v3 .hero h1{font-size:clamp(39px,10vw,75px)}.v3 .fancy-bottom{grid-template-columns:1fr}.v3 .fancy-bottom img{justify-self:stretch;max-width:none}.preview-grid{grid-template-columns:1fr}.preview-art{height:250px}.overview{padding-top:35px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.fade-up{opacity:1;transform:none}}

/* Refined landing page V1 and full-bleed photo edition */
.v1{background:#fff;min-height:100svh;min-height:100dvh;display:flex;flex-direction:column;overflow-x:hidden}
.v1::before{display:none}
.v1 .landing-main{position:relative;min-height:0;flex:1;display:flex;justify-content:center;align-items:center;padding:clamp(44px,9vh,105px) 22px 28px}
.v1 .centerpiece{width:min(100%,720px);display:flex;flex-direction:column;align-items:center;text-align:center;z-index:1}
.v1 .drawn-logo{display:block;width:clamp(145px,23vw,225px);height:auto;margin:0 auto 31px;overflow:visible;color:#1a1a18}
.v1 .drawn-stroke{stroke-dasharray:1000;stroke-dashoffset:1000;animation:draw-from-center 3s cubic-bezier(.42,0,.15,1) .1s forwards}
@keyframes draw-from-center{to{stroke-dashoffset:0}}
.v1 .brand{font-size:clamp(24px,4.5vw,47px);line-height:1.2;font-weight:300;letter-spacing:.12em;margin:0;white-space:normal}
.v1 .sub{margin:16px 0 0;color:#454441;font-size:clamp(11px,1.25vw,13px);letter-spacing:.29em;line-height:1.7;text-transform:uppercase;font-weight:300}
.v1 .contact-links{margin-top:clamp(52px,8vh,88px);justify-content:center;gap:18px 30px;font-size:12px;font-weight:300;letter-spacing:.035em}
.v1 .contact-links a{min-height:36px}
.v1 .foot{position:relative;bottom:auto;left:auto;width:100%;flex-shrink:0;padding:15px 20px 25px;text-align:center;color:#77716b;font-size:10px;line-height:1.8;letter-spacing:.17em;text-transform:uppercase;pointer-events:auto}
.v1-photo{background:#e8e0d5 url('assets/ring-hero.jpg') center 52% / cover no-repeat}
.v1-photo::after{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.83),rgba(255,255,255,.54) 55%,rgba(255,255,255,.2));z-index:0}
.v1-photo .landing-main,.v1-photo .foot{z-index:1}
.v1-photo .centerpiece{padding:clamp(24px,4vw,55px) clamp(14px,4vw,60px);border:1px solid rgba(255,255,255,.48);border-radius:4px;background:rgba(255,255,255,.35);box-shadow:0 16px 65px rgba(60,40,20,.07);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.v1-photo .drawn-logo{margin-bottom:25px}
.v1-photo .contact-links{margin-top:45px}
.v1-photo .foot{color:#38312c}
@media(max-width:760px){
.v1 .landing-main{padding:55px 19px 15px}
.v1 .drawn-logo{width:clamp(133px,37vw,185px);margin-bottom:27px}
.v1 .brand{font-size:clamp(23px,6.5vw,36px);letter-spacing:.09em}
.v1 .sub{font-size:11px;letter-spacing:.22em}
.v1 .contact-links{margin-top:45px;flex-direction:column;align-items:center;gap:9px}
.v1 .contact-links a{min-height:40px}
.v1 .foot{position:relative;padding:15px 13px 21px;font-size:9px;letter-spacing:.09em;line-height:2}
.v1-photo{background-position:58% center}
.v1-photo .centerpiece{padding:30px 12px}
.v1-photo::after{background:rgba(255,255,255,.57)}
}
@media(max-height:620px){.v1 .landing-main{padding-top:24px;padding-bottom:8px}.v1 .drawn-logo{width:110px;margin-bottom:15px}.v1 .contact-links{margin-top:23px}.v1 .foot{padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){.v1 .drawn-stroke{animation:none;stroke-dashoffset:0}}

@media(min-width:761px){.overview .preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:940px}}


/* November refinement: contact hierarchy, legibility and dark photographic edition */
.v1.v1-clean {background:#fff}
.v1 .centerpiece {max-width:760px}
.v1 .drawn-logo {width:clamp(150px,21vw,215px);margin-bottom:35px}
.v1 .brand {font-size:clamp(31px,4.25vw,50px);line-height:1.22;letter-spacing:.105em}
.v1 .sub {font-size:clamp(13px,1.35vw,16px);letter-spacing:.26em;margin-top:17px;line-height:1.5}
.v1 .contact-links {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;margin-top:clamp(64px,9vh,98px);font-size:clamp(15px,1.3vw,17px);line-height:1.35;letter-spacing:.018em}
.v1 .contact-links a {display:flex;min-height:34px;gap:13px;justify-content:center}
.v1 .contact-links .icon {width:21px;height:21px}
.v1 .foot {font-size:clamp(10px,1.05vw,12px);letter-spacing:.13em;line-height:1.8;padding:16px 15px 24px}
.v1-photo {color:#f4e8d6;background:#18130f url('assets/atelier-detail.jpg') center center / cover no-repeat}
.v1-photo::after {content:"";display:block;position:fixed;inset:0;z-index:0;background:linear-gradient(90deg,rgba(14,10,8,.84),rgba(16,12,9,.67) 53%,rgba(16,11,7,.47));pointer-events:none}
.v1-photo .centerpiece {background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}
.v1-photo .drawn-logo {color:#e6c498;margin-bottom:35px}
.v1-photo .sub {color:#e3c9ab}
.v1-photo .contact-links {margin-top:clamp(64px,9vh,98px)}
.v1-photo .contact-links a:hover {color:#f8d6a3}
.v1-photo .foot {color:#e5cdb0}
@media(max-width:760px) {
  .v1 .landing-main {padding:52px 18px 14px}
  .v1 .drawn-logo {width:clamp(140px,35vw,178px);margin-bottom:29px}
  .v1 .brand {font-size:clamp(26px,6.55vw,39px);letter-spacing:.075em}
  .v1 .sub {font-size:clamp(12px,3vw,15px);letter-spacing:.20em}
  .v1 .contact-links {margin-top:clamp(78px,12vh,110px);font-size:clamp(14px,3.9vw,17px);gap:12px}
  .v1 .foot {font-size:clamp(9px,2.5vw,11px);letter-spacing:.065em;padding:14px 9px 19px}
  .v1-photo {background-position:57% center}
  .v1-photo .centerpiece {padding:0}
  .v1-photo::after {background:linear-gradient(90deg,rgba(14,10,8,.84),rgba(14,10,8,.67))}
  .v1-photo .contact-links {margin-top:clamp(78px,12vh,110px)}
}
@media(max-width:360px){.v1 .brand{font-size:24px}.v1 .contact-links{font-size:14px}}
@media(max-height:680px) and (min-width:761px){.v1 .drawn-logo{width:135px;margin-bottom:17px}.v1 .contact-links,.v1-photo .contact-links{margin-top:36px}}
@media(prefers-reduced-motion:reduce){.v1 .drawn-stroke{stroke-dashoffset:0}}
