:root{--black:#141313;--charcoal:#1d1c1b;--paper:#eae4da;--gold:#b79a70;--muted:#a49d94;--line:rgba(234,228,218,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--paper);font:14px/1.65 'DM Sans',sans-serif}.topline{height:34px;background:#d8c9b4;color:#211f1c;display:flex;justify-content:center;align-items:center;gap:48px;padding:0 5vw;font-size:9px;text-transform:uppercase;letter-spacing:.18em}.header{
    height:94px;
    padding:10px 5.5vw;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--line);
    position:absolute;
    top:34px;
    left:0;
    right:0;
    z-index:1000;
}.brand img,footer img{display:block;object-fit:cover;object-position:center 44%;mix-blend-mode:screen}.brand img{width:130px;height:66px;filter:grayscale(1) brightness(3)}nav{display:flex;align-items:center;gap:35px}nav a{color:var(--paper);text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:10px;position:relative;padding:8px 0}nav a:not(.contact-link)::after{content:'';position:absolute;left:0;bottom:2px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s ease}nav a:not(.contact-link):hover::after,nav a:not(.contact-link):focus-visible::after{transform:scaleX(1);transform-origin:left}.contact-link{border:1px solid rgba(234,228,218,.45);padding:10px 14px}.contact-link:hover{background:var(--paper);color:var(--black)}.contact-link b{color:var(--gold);font-size:15px;margin-left:8px}.menu{display:none}.hero{height:calc(100vh - 34px);min-height:680px;position:relative;overflow:hidden;display:flex;align-items:center}.hero-image,.hero-grain{position:absolute;inset:0}.hero-image{background:linear-gradient(90deg,rgba(15,14,14,.83) 0%,rgba(15,14,14,.4) 53%,rgba(15,14,14,.22)),url('assets/hero\ image.png') center 34%/cover;animation:heroReveal 1.6s cubic-bezier(.2,.7,.2,1) both}.hero-grain{opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");animation:grain .18s steps(2) infinite}.hero-copy{position:relative;z-index:1;margin:70px 5.5vw 0;max-width:720px;animation:copyIn 1s .35s both}.kicker{color:var(--gold);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.2em;margin:0 0 27px}.hero .kicker{
    color:#ded4c6;
    font-size:14px;
    letter-spacing:.20em;
    font-weight:700;
}.kicker i{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--gold);margin:0 12px 2px}h1,h2,h3{font-family:Italiana,serif;font-weight:400;line-height:.98;margin:0}h1{font-size:clamp(62px,7.4vw,118px);letter-spacing:-.04em}h2{font-size:clamp(49px,5.2vw,83px);letter-spacing:-.045em}em{font-style:italic;color:var(--gold)}.hero-copy>p:not(.kicker){max-width:360px;color:#d2cbc3;font-size:16px;line-height:1.7;margin:31px 0}.button{display:inline-flex;align-items:center;gap:36px;padding:13px 16px;text-decoration:none;text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:600;transition:transform .3s ease,background .3s ease}.button:hover{transform:translateY(-4px)}.gold{background:#c1a47c;color:#161513}.button span,.line-link span{font-size:18px;transition:transform .3s ease}.button:hover span,.line-link:hover span{transform:translateX(6px)}.line-link{
    display:inline-flex;
    align-items:center;
    gap:12px;
    transition:all .35s ease;
}

.line-link:hover{
    color:var(--gold);
    letter-spacing:.18em;
}

.line-link:hover span{
    transform:translateX(8px);
}.hero-bottom{position:absolute;z-index:1;bottom:0;left:0;right:0;height:78px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw;color:#d6cec4;text-transform:uppercase;letter-spacing:.16em;font-size:9px}.hero-bottom b{font-size:15px;color:var(--gold);margin-left:12px}.statement{padding:150px 17% 155px;background:#1a1918;text-align:center}.statement h2{margin:auto;max-width:920px}.statement-text{color:#b6afa7;max-width:560px;font-size:16px;line-height:1.8;margin:37px auto 0}.gallery-section{padding:135px 5.5vw;background:#e6dfd5;color:#191817}.section-head{display:flex;justify-content:space-between;align-items:end;margin:0 5.5vw 65px}.section-head>p{max-width:280px;margin:0 0 4px;color:#625e57}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px;align-items:start}.gallery-grid figure{margin:105px 0 0;overflow:hidden}.gallery-grid .gallery-main{margin-top:0}.gallery-grid figure:nth-child(3){margin-top:185px}.gallery-grid img{display:block;width:100%;height:320px;object-fit:cover;filter:saturate(.68) contrast(1.05);transition:transform .7s cubic-bezier(.2,.6,.2,1),filter .5s ease}.gallery-grid figure:hover img{transform:scale(1.06);filter:saturate(.95) contrast(1.08)}.gallery-grid .gallery-main img{height:570px}.gallery-grid figcaption{padding:12px 0;text-transform:uppercase;letter-spacing:.13em;font-size:9px}.gallery-grid figcaption span{color:#9d7c50;margin-right:12px}.products{padding:135px 11%;display:grid;grid-template-columns:40% 60%;gap:8vw;background:var(--black)}.products-title>p:not(.kicker){color:#aaa39a;max-width:310px;margin:32px 0}.line-link{color:var(--paper);text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:10px;padding-bottom:9px;border-bottom:1px solid var(--gold);display:inline-flex;align-items:center}.line-link span{margin-left:12px}.product-list{border-top:1px solid var(--line)}.product-list article{display:grid;grid-template-columns:42px 1fr auto;align-items:baseline;gap:12px;padding:21px 0;border-bottom:1px solid var(--line);transition:padding .3s ease,color .3s ease}.product-list article:hover{padding-left:12px;color:var(--gold)}.product-list b{font-size:15px;color:var(--gold);letter-spacing:.12em;font-weight:700}.product-list h3{font-size:26px}.product-list span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.custom{min-height:620px;display:grid;grid-template-columns:1fr 1fr;background:#24211e}.custom-image{background:url('assets/vision-craft.png') center/cover;filter:grayscale(.4);transition:filter .8s ease}.custom:hover .custom-image{filter:grayscale(0)}.custom-copy{padding:120px 14%;align-self:center}.custom-copy>p:not(.kicker){color:#b7afa5;max-width:370px;font-size:16px;margin:30px 0}.custom-points{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;column-gap:42px;row-gap:0;margin-top:38px}.custom-points span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:17px 0;border-bottom:1px solid var(--line);color:#d6c5ac}.contact{text-align:center;padding:110px 7vw 30px;background:linear-gradient(135deg,#c2a178,#ab8961);color:#1a1816}.contact .kicker{color:#3b3025}.contact em{color:#6b5034}.contact-intro{max-width:390px;margin:30px auto 42px;color:#4d4032;font-size:16px}.contact-details{display:flex;justify-content:center;gap:50px}.contact-details a{text-align:left;text-decoration:none;color:inherit;font-size:18px;border-bottom:1px solid rgba(30,25,21,.4);padding-bottom:8px;transition:transform .3s ease}.contact-details a:hover{transform:translateY(-4px)}.contact-details small{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.18em;margin-bottom:4px}.contact-details b{font-size:16px;margin-left:10px}footer{background:#131212;min-height:130px;padding:37px 5.5vw;display:flex;align-items:center;justify-content:space-between;color:#a9a198;font-size:9px;text-transform:uppercase;letter-spacing:.14em;line-height:1.85}footer img{width:108px;height:54px;filter:grayscale(1) brightness(2)}footer p{margin:0}@keyframes heroReveal{from{transform:scale(1.08);filter:blur(4px)}to{transform:scale(1);filter:blur(0)}}@keyframes copyIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(1%,2%)}50%{transform:translate(-1%,1%)}75%{transform:translate(2%,-1%)}100%{transform:translate(0)}}
@media(max-width:780px){.topline{justify-content:space-between;gap:0;font-size:8px}.topline span:nth-child(2){display:none}.header{height:74px;padding:8px 6vw}.brand img{width:106px;height:52px}nav{display:none}.menu{display:flex;background:none;border:0;width:32px;height:28px;padding:0;flex-direction:column;justify-content:center;gap:7px}.menu i{height:1px;width:100%;background:var(--paper)}nav.open{display:flex;position:absolute;top:73px;left:0;right:0;padding:25px 6vw;background:#191817;flex-direction:column;align-items:flex-start;gap:19px}.hero{
    height:clamp(
        560px,
        78svh,
        680px
    );

    min-height:560px;
}.hero-image{background-position:62% center}.hero-copy{margin:45px 8vw 0}.hero-bottom{height:60px;padding:0 8vw}.hero-bottom span:nth-child(2){display:none}.statement{padding:90px 8%}.gallery-section{padding:90px 5vw}.section-head{display:block;margin:0 3vw 45px}.section-head>p{margin-top:24px}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-grid figure,.gallery-grid figure:nth-child(3){margin-top:45px}.gallery-grid .gallery-main{grid-row:span 2}.gallery-grid img{height:210px}.gallery-grid .gallery-main img{height:430px}.products{padding:90px 8%;grid-template-columns:1fr;gap:50px}.product-list article{grid-template-columns:30px 1fr}.product-list span{display:none}.product-list h3{font-size:24px}.custom{grid-template-columns:1fr}.custom-image{min-height:390px}.custom-copy{padding:90px 8%}.contact{padding:100px 6vw}.contact-details{flex-direction:column;align-items:center;gap:24px}.contact-details a{text-align:center;font-size:15px}footer{padding:35px 8%;align-items:flex-start;flex-direction:column;gap:18px}}
/* Clarity and premium motion refinements */
:root{--paper:#f3eee6;--gold:#c6a879;--muted:#c4bcb3;--line:rgba(243,238,230,.24)}
body{font-weight:500}.topline{font-weight:700;display:block;overflow:hidden;padding:0;white-space:nowrap}.ticker{height:100%;display:flex;align-items:center;overflow:hidden}.ticker-track{
    display:flex;
    align-items:center;
    width:max-content;
    animation:brandTicker 28s linear infinite;
    will-change:transform;
}.ticker-track span{padding:0 28px}.ticker-track i{font-size:10px;font-style:normal;color:#796047}@keyframes brandTicker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}.brand img,footer img{object-fit:contain!important;object-position:center!important;mix-blend-mode:normal!important;filter:brightness(0) invert(1) drop-shadow(0 1px 10px rgba(0,0,0,.45))!important}.brand img{width:145px;height:68px}.hero-grain{opacity:.13;animation:none!important}h1,h2,h3{font-weight:700;text-shadow:0 2px 18px rgba(0,0,0,.2)}.kicker,nav a,.button,.line-link,.product-list span,.hero-bottom,.gallery-grid figcaption,footer{font-weight:700}.hero-copy>p:not(.kicker),.statement-text,.products-title>p:not(.kicker),.custom-copy>p:not(.kicker),.contact-intro,.section-head>p{font-weight:600;color:#d5cec5}.statement-text{color:#d3ccc3}.product-list h3{font-weight:700}.custom-points{column-gap:70px}.custom-points span{font-weight:700;letter-spacing:.14em}
.hero-bottom a{color:inherit;text-decoration:none;transition:color .25s ease}.hero-bottom a:hover{color:var(--gold)}.hero-bottom a b{transition:transform .25s ease}.hero-bottom a:hover b{display:inline-block;transform:translateY(4px)}
.gallery-section h2,.gallery-section .kicker,.gallery-section .section-head>p{filter:none;text-shadow:none}.gallery-section h2{color:#171513}.gallery-section .kicker{color:#84663e}.gallery-section .section-head>p{color:#36312c;font-weight:700;opacity:1}
/* Navy and gold closing section */
.contact{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 5%,#203b59 0%,#12283f 35%,#091421 100%);color:#f4eee4;border-top:1px solid rgba(201,171,120,.55);border-bottom:1px solid rgba(201,171,120,.45)}.contact::before,.contact::after{content:'';position:absolute;border:1px solid rgba(202,173,122,.22);border-radius:50%;pointer-events:none}.contact::before{width:670px;height:670px;top:-410px;left:50%;transform:translateX(-50%)}.contact::after{width:940px;height:940px;bottom:-730px;left:50%;transform:translateX(-50%)}.contact>*{position:relative;z-index:1}.contact .kicker{color:#d5b581;font-weight:700}.contact h2{color:#f4eee4;text-shadow:none}.contact em{color:#d5b581}.contact-intro{color:#d2d9df;font-weight:600}.contact-details{margin:50px auto 0;max-width:800px;gap:0;border-top:1px solid rgba(209,180,128,.45);border-bottom:1px solid rgba(209,180,128,.45)}.contact-details a{width:50%;padding:21px 28px 19px;color:#f5efe5;border:0;text-align:left;transition:background .3s ease,transform .3s ease,color .3s ease}.contact-details a+ a{border-left:1px solid rgba(209,180,128,.45)}.contact-details a:hover{background:rgba(202,173,122,.12);transform:none;color:#e1bf85}.contact-details small{color:#c9a96f;font-weight:700}.contact-details b{color:#d8b77e}.contact::selection{background:#d4ae71;color:#091421}@media(max-width:780px){.contact-details{margin-top:38px}.contact-details a{width:100%;padding:18px 12px;text-align:center}.contact-details a+a{border-left:0;border-top:1px solid rgba(209,180,128,.45)}.contact::before{width:450px;height:450px;top:-265px}}
.contact{background:radial-gradient(circle at 50% -18%,#25201a 0%,#0c0b0a 43%,#020202 100%)}.contact .kicker{font-size:14px;letter-spacing:.25em;margin-bottom:34px;color:#e0bf87}
.contact{background-image:url("data:image/svg+xml,%3Csvg width='720' height='480' viewBox='0 0 720 480' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23d2ae74' stroke-width='1.35' stroke-linecap='round' opacity='.38'%3E%3Cpath d='M550 26c-86 25-109 86-72 129 43 50 147 25 171 94 25 73-66 103-117 82-58-25-82-90-42-144 28-38 74-48 119-63'/%3E%3Cpath d='M635 31l-12 49 21 9 12-49zM635 31l11-21M646 10l12 9'/%3E%3Cpath d='M84 385c24-60 84-77 127-47 49 34 36 106 99 120 65 14 114-52 93-113-17-49-74-71-116-48'/%3E%3Ccircle cx='84' cy='385' r='3' fill='%23d2ae74'/%3E%3Cpath d='M264 370c-11 18-23 34-38 48M286 369c-10 20-23 38-40 53'/%3E%3C/g%3E%3C/svg%3E"),radial-gradient(circle at 50% -18%,#25201a 0%,#0c0b0a 43%,#020202 100%);background-position:center;background-size:720px 480px,cover;background-repeat:no-repeat}.contact::before{border-color:rgba(216,183,126,.16)}.contact::after{border-color:rgba(216,183,126,.12)}
.contact-details{max-width:1040px}.contact-details a{width:33.333%;display:flex;align-items:center;gap:13px}.contact-details a+ a{border-left:1px solid rgba(209,180,128,.45)}.contact-details svg{width:21px;height:21px;flex:none;fill:none;stroke:#d8b77e;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.contact-details a span{min-width:0}.contact-details a b{margin-left:auto}@media(max-width:780px){.contact-details a{width:100%;justify-content:center}.contact-details a+ a{border-left:0}}

/* Refined vertical rhythm: retain the luxury feel without excessive empty space. */
@media(min-width:781px){
  .statement{padding:108px 17% 112px}
  .gallery-section{padding:96px 5.5vw}
  .section-head{margin-bottom:46px}
  .products{padding:96px 11%}
  .custom{min-height:540px}
  .custom-copy{padding:86px 14%}
  .contact{padding-top:88px}
}

/* Home gallery: a clean, equal-height three-card composition. */
.gallery-grid{align-items:stretch}
.gallery-grid figure,
.gallery-grid .gallery-main,
.gallery-grid figure:nth-child(3){margin-top:0}
.gallery-grid img,
.gallery-grid .gallery-main img{height:430px}

@media(max-width:780px){
  .gallery-grid img,
  .gallery-grid .gallery-main img{height:300px}
  .gallery-grid .gallery-main{grid-row:auto}
}

/* Home gallery: an editorial, framed showcase instead of a plain image grid. */
.gallery-section{
  position:relative;
  padding:108px 5.5vw 112px;
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 18%,rgba(190,151,88,.13),transparent 24%),
    linear-gradient(135deg,#181614 0%,#100f0e 100%);
  color:#f4eee4;
}
.gallery-section::before{
  content:'';
  position:absolute;
  inset:20px 5.5vw;
  border:1px solid rgba(211,176,119,.22);
  pointer-events:none;
}
.gallery-section .section-head{
  position:relative;
  z-index:1;
  max-width:1190px;
  margin:0 auto 48px;
  padding:0 26px 30px;
  border-bottom:1px solid rgba(211,176,119,.28);
}
.gallery-section h2{color:#f7f1e7!important;letter-spacing:-.045em}
.gallery-section h2 em{color:#d8b77e}
.gallery-section .kicker{color:#d7b174!important}
.gallery-section .section-head>p{max-width:335px;color:#d8d0c5!important;line-height:1.7}
.gallery-grid{
  position:relative;
  z-index:1;
  max-width:1138px;
  margin:0 auto;
  padding:14px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  background:rgba(242,234,222,.045);
  border:1px solid rgba(211,176,119,.24);
}
.gallery-grid figure,
.gallery-grid .gallery-main,
.gallery-grid figure:nth-child(3){
  position:relative;
  min-height:438px;
  margin:0;
  border:1px solid rgba(218,190,145,.22);
  background:#24201c;
}
.gallery-grid figure::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 38%,rgba(5,5,5,.12) 52%,rgba(5,5,5,.87) 100%);
}
.gallery-grid img,
.gallery-grid .gallery-main img{
  width:100%;
  height:438px;
  object-fit:cover;
  filter:saturate(.78) contrast(1.06);
  transition:transform .8s cubic-bezier(.2,.6,.2,1),filter .45s ease;
}
.gallery-grid figure:hover img{transform:scale(1.055);filter:saturate(1) contrast(1.05)}
.gallery-grid figcaption{
  position:absolute;
  z-index:1;
  right:0;
  bottom:0;
  left:0;
  padding:23px 23px 21px;
  color:#fbf7ef;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
}
.gallery-grid figcaption span{color:#d8b77e;margin-right:13px}

@media(max-width:780px){
  .gallery-section{padding:72px 5vw 76px}
  .gallery-section::before{inset:12px 4vw}
  .gallery-section .section-head{margin-bottom:30px;padding:0 14px 24px}
  .gallery-grid{grid-template-columns:1fr;padding:10px;gap:10px}
  .gallery-grid figure,
  .gallery-grid .gallery-main,
  .gallery-grid figure:nth-child(3){min-height:300px}
  .gallery-grid img,
  .gallery-grid .gallery-main img{height:300px}
}

/* A quieter transition between sections, with an unframed editorial image treatment. */
.gallery-section{
  padding-top:124px;
  padding-bottom:128px;
  background:
    radial-gradient(circle at 84% 24%,rgba(190,151,88,.10),transparent 27%),
    linear-gradient(180deg,#1a1918 0%,#141311 42%,#0e0d0c 100%);
}
.gallery-section::before{display:none}
.gallery-section .section-head{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(255px,.75fr);
  align-items:end;
  column-gap:9vw;
  margin-bottom:58px;
  padding:0 0 34px;
}
.gallery-section .section-head>div{max-width:570px}
.gallery-section .section-head>p{
  position:relative;
  max-width:345px;
  margin:0 0 6px;
  padding:3px 0 3px 25px;
  border-left:1px solid rgba(216,183,126,.68);
  font-size:15px;
  line-height:1.8;
}
.gallery-grid{
  padding:0;
  gap:20px;
  background:transparent;
  border:0;
}
.gallery-grid figure,
.gallery-grid .gallery-main,
.gallery-grid figure:nth-child(3){
  min-height:468px;
  border:0;
  background:transparent;
}
.gallery-grid img,
.gallery-grid .gallery-main img{height:468px}
.gallery-grid figcaption{
  position:relative;
  right:auto;
  bottom:auto;
  left:auto;
  padding:16px 0 0;
  color:#eee7dc;
  font-size:11px;
  line-height:1.45;
}
.gallery-grid figcaption span{color:#d8b77e}

@media(max-width:780px){
  .gallery-section{padding-top:82px;padding-bottom:86px}
  .gallery-section .section-head{display:block;margin-bottom:35px;padding-bottom:26px}
  .gallery-section .section-head>p{max-width:315px;margin-top:24px;padding-left:18px;font-size:14px}
  .gallery-grid{gap:16px}
  .gallery-grid figure,
  .gallery-grid .gallery-main,
  .gallery-grid figure:nth-child(3){min-height:320px}
  .gallery-grid img,
  .gallery-grid .gallery-main img{height:320px}
  .gallery-grid figcaption{padding:14px 0 0;font-size:10px}
}
nav a{font-size:13px;font-weight:700;letter-spacing:.14em}
.header.is-pinned{
    position:fixed;
    top:0;
    left:0;
    right:0;
    background:rgba(18,17,16,.96);
    backdrop-filter:blur(12px);
    animation:headerReveal .3s ease both;
}.brand{gap:10px}.brand-name{font-family:Italiana,serif;color:#f3eee6;font-size:20px;line-height:.9;letter-spacing:.04em;white-space:nowrap}.brand:has(.brand-name){width:245px;justify-content:flex-start}.brand:has(.brand-name) img{width:82px!important;height:82px!important}.header.is-pinned .brand-name{display:block}nav a.active:not(.contact-link)::after{transform:scaleX(1);transform-origin:left}@keyframes headerReveal{from{transform:translateY(-100%)}to{transform:translateY(0)}}.style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.style-card{

    background: #24211e;

    border: 1px solid #24211e;

    box-shadow: 0 3px 12px rgba(0,0,0,.45);

    transition: transform .3s ease, box-shadow .3s ease;



    border-radius: 24px;

    overflow: hidden;

}.style-card img{
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 18px;
}.style-card>div{padding:26px}.style-card h2{font-size:36px}.style-card p:not(.kicker){color:#c7bdb1}.style-card button{background:#d3b37c;border:0;padding:12px 14px;text-transform:uppercase;letter-spacing:.13em;font:700 10px 'DM Sans';cursor:pointer}@media(max-width:780px){.brand:has(.brand-name){width:220px}.brand:has(.brand-name) img{width:66px!important;height:66px!important}.brand-name{font-size:17px}.style-grid{grid-template-columns:1fr}}
.brand,.brand:hover,.brand:focus,.brand:active{text-decoration:none!important;border-bottom:0!important}.brand::after{display:none!important}.brand-name{font-size:27px;font-weight:700;letter-spacing:.025em;color:#f7f1e8;text-decoration:none!important;border:0!important}@media(max-width:780px){.brand-name{font-size:21px}}
.brand{
    display:flex;
    align-items:center;
    gap:12px;
    width:auto;
    height:auto;
    padding:0;
}
.brand img{
    width:180px !important;
    height:85px !important;
    object-fit:contain !important;
    filter:drop-shadow(0 3px 12px rgba(0,0,0,.45)) !important;
}.header{height:94px}footer img{width:90px;height:90px;padding:0;background:transparent;filter:drop-shadow(0 3px 10px rgba(0,0,0,.4))!important}@media(max-width:780px){.header{height:88px}.brand{width:70px;height:70px;padding:0}nav.open{top:87px}}
/* Account Icon */
.account-link{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    color:var(--paper);
    text-decoration:none;
    transition:.3s ease;
}

.account-link svg{
    width:22px;
    height:22px;
    stroke:currentColor;
    transition:.3s ease;
}

.account-link:hover{
    color:var(--gold);
    transform:translateY(-2px);
}

.account-link::after{
    display:none !important;
}
/* Shopping Cart Icon */
.cart-link{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    color:var(--paper);
    text-decoration:none;
    transition:.3s ease;
}

.cart-link svg{
    width:22px;
    height:22px;
    stroke:currentColor;
    transition:.3s ease;
}

.cart-link:hover{
    color:var(--gold);
    transform:translateY(-2px);
}

.cart-link::after{
    display:none !important;
}

.cart-link sup{
    position:absolute;
    top:4px;
    right:2px;
    min-width:17px;
    height:17px;
    border-radius:50%;
    background:var(--gold);
    color:#111;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:9px;
    font-weight:700;
    line-height:1;
}
.nav-icons{
    display:flex;
    align-items:center;
    gap:3px;
}
nav{
    margin-left:auto;
}
nav{
    margin-right:-50px;
}
/* ---------- Premium Scroll Reveal ---------- */

.reveal{
    opacity:0;
    transform:translateY(30px);
    transition:
        transform .9s cubic-bezier(.22,1,.36,1),
        opacity .9s cubic-bezier(.22,1,.36,1);
    will-change:transform,opacity;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}

.reveal.from-top{
    transform:translateY(-30px);
}

/* Larger page kicker */

.page-hero .kicker,
.inner-hero .kicker{
    font-size:15px;
}
html{
    scroll-behavior:smooth;
}
/* ==============================
   ENQUIRY CART TOAST
============================== */

.toast{
    position:fixed;
    top:95px;
    right:30px;
    background:#111;
    color:#fff;
    padding:12px 13px 12px 20px;
    border-radius:14px;
    font-size:15px;
    font-weight:500;
    box-shadow:0 12px 30px rgba(0,0,0,.18);
    transform:translateX(130%);
    transition:.35s ease;
    z-index:5000;
    display:flex;
    align-items:center;
    gap:15px;
    max-width:min(92vw,520px);
}

.toast > span{
    line-height:1.35;
}

.toast-cart-link{
    flex:none;
    color:#111;
    background:#d2ae74;
    border:1px solid #d2ae74;
    border-radius:8px;
    padding:8px 11px;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
    transition:background .2s ease,color .2s ease,transform .2s ease;
}

.toast-cart-link:hover,
.toast-cart-link:focus-visible{
    background:transparent;
    color:#f5ead8;
    transform:translateY(-1px);
}

.toast-error{
    border:1px solid rgba(215,117,99,.7);
    background:#241715;
    box-shadow:0 14px 34px rgba(0,0,0,.28), inset 3px 0 0 #dc806d;
}

.toast-error > span::first-letter{
    color:#f0aa98;
}

.toast.show{
    transform:translateX(0);
}

@media (max-width:560px){
    .toast{top:76px;right:14px;left:14px;gap:10px;font-size:13px;}
    .toast-cart-link{padding:8px 9px;font-size:10px;}
}


/* ==============================
   CART ITEM HIGHLIGHT
============================== */

.cart-highlight{
    animation:cartFlash 1s ease;
}

@keyframes cartFlash{

0%{
background:#f7e8be;
transform:scale(.98);
}

50%{
background:#fff4cf;
transform:scale(1.02);
}

100%{
background:transparent;
transform:scale(1);
}

}


/* ==============================
   CART COUNT ANIMATION
============================== */

.cart-count.bump{
    animation:bump .35s ease;
}

@keyframes bump{

0%{
transform:scale(1);
}

40%{
transform:scale(1.35);
}

100%{
transform:scale(1);
}

}
/* ==============================
   Disable reveal animation only on Gallery Page
============================== */

.gallery-page-no-animation .reveal{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
}

/* =========================================================
   DISABLE GLOBAL SCROLL-REVEAL ANIMATION
   Sections remain visible while scrolling.
========================================================= */

.reveal,
.reveal.active,
.reveal.from-top {
    opacity: 1 !important;

    transform: none !important;

    visibility: visible !important;

    transition: none !important;

    animation: none !important;
}

/* =========================================================
   MOBILE FINAL PASS
   Global responsive hardening
========================================================= */

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

input,
select,
textarea,
button {
    max-width: 100%;
}


/* ---------------------------------------------------------
   MOBILE HEADER
--------------------------------------------------------- */

@media (max-width: 780px) {

    .header {
        padding-left: 5vw;
        padding-right: 5vw;
    }

    .brand {
        flex-shrink: 0;
    }

    .brand img {
        max-width: 110px;
    }

    .menu {
        flex-shrink: 0;
        min-width: 36px;
        min-height: 36px;
        align-items: center;
        justify-content: center;
    }

    nav.open {
        max-height: calc(100vh - 74px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    nav.open a {
        width: 100%;
    }

    nav.open .nav-icons {
        width: 100%;
        justify-content: flex-start;
    }

}


/* ---------------------------------------------------------
   GENERAL PAGE HEADINGS
--------------------------------------------------------- */

@media (max-width: 560px) {

    .inner-hero,
    .page-hero {
        padding-left: 7vw;
        padding-right: 7vw;
    }

    .inner-hero h1,
    .page-hero h1 {
        font-size: clamp(
            42px,
            13vw,
            62px
        );

        line-height: .98;
        overflow-wrap: anywhere;
    }

    .inner-hero p:not(.kicker),
    .page-hero > p:not(.kicker) {
        font-size: 14px;
        line-height: 1.75;
    }

}


/* ---------------------------------------------------------
   BUTTONS / TOUCH TARGETS
--------------------------------------------------------- */

@media (max-width: 780px) {

    button,
    .button,
    .checkout-button,
    .shop-card button,
    .line-link {
        min-height: 44px;
    }

    .button,
    .checkout-button,
    .shop-card button {
        max-width: 100%;
    }

}


/* ---------------------------------------------------------
   FORMS
--------------------------------------------------------- */

@media (max-width: 700px) {

    .login-form,
    .review-form {
        grid-template-columns: 1fr;
    }

    .login-form .full,
    .review-form .full,
    .login-form button,
    .review-form button,
    .form-note,
    .review-note {
        grid-column: auto;
    }

    .login-wrap {
        width: 100%;
        padding: 24px 20px;
    }

    .login-wrap h2 {
        font-size: 40px;
    }

    .login-form input,
    .review-form input,
    .review-form textarea {
        font-size: 16px;
    }

}


/* ---------------------------------------------------------
   ACCOUNT / PROFILE
--------------------------------------------------------- */

@media (max-width: 700px) {

    .account-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .profile-card {
        width: 100%;
    }

    .profile-grid {
        grid-template-columns: 1fr !important;
    }

    .profile-grid .full {
        grid-column: auto !important;
    }

    .profile-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .profile-actions button {
        width: 100%;
    }

}


/* ---------------------------------------------------------
   SHOP / PRODUCT LIST
--------------------------------------------------------- */

@media (max-width: 560px) {

    .shop-card {
        padding: 24px 20px;
    }

    .shop-card h3 {
        font-size: 29px;
    }

    .product-list article {
        grid-template-columns: 24px minmax(0, 1fr);
        gap: 10px;
    }

    .product-list h3 {
        font-size: 21px;
        overflow-wrap: anywhere;
    }

}


/* ---------------------------------------------------------
   FOOTER
--------------------------------------------------------- */

@media (max-width: 560px) {

    footer {
        padding-left: 7%;
        padding-right: 7%;
    }

    footer img {
        max-width: 90px;
        height: auto;
    }

    footer p,
    footer span {
        max-width: 100%;
    }

}


/* ---------------------------------------------------------
   TOASTS
--------------------------------------------------------- */

@media (max-width: 560px) {

    .toast {
        left: 12px;
        right: 12px;
        width: auto;
        max-width: none;
    }

    .toast > span {
        min-width: 0;
        overflow-wrap: anywhere;
    }

}

/* =========================================================
   ACCESSIBILITY — KEYBOARD FOCUS
========================================================= */

:focus-visible {
    outline: 3px solid rgba(216, 179, 106, 0.95);
    outline-offset: 3px;
}


/* Inputs get their own focus treatment */
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(216, 179, 106, 0.55);
    outline-offset: 2px;
}


/* Don't show focus ring on mouse click */
button:focus:not(:focus-visible),
a:focus:not(:focus-visible) {
    outline: none;
}

/* =========================================================
   ACCESSIBILITY — SCREEN READER ONLY
========================================================= */

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* =========================================================
   ACCESSIBILITY — DISABLED STATES
========================================================= */

button:disabled,
.button[aria-disabled="true"],
input:disabled,
select:disabled,
textarea:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}


button:disabled:hover {
    transform: none !important;
    box-shadow: none !important;
}

button:hover,
.button:hover,
a:hover {
    transition:
        transform .25s ease,
        background-color .25s ease,
        border-color .25s ease,
        color .25s ease,
        box-shadow .25s ease;
}
