@import url("https://use.typekit.net/gri6frd.css");
/* Creative direction and design Camilla Zanon */
:root{--w-label:300;--w-nav:300;--w-cta:300;--w-body:200;--font-body:"helvetica-neue-lt-pro","Helvetica Neue",Helvetica,Arial,sans-serif}
@font-face{font-family:"bodoni-moda-variable";font-style:italic;font-weight:400 900;font-stretch:normal;font-display:swap;src:url("../fonts/beltrami-bodoni-moda-variable-italic.woff2") format("woff2")}
@font-face{font-family:"bodoni-moda-variable";font-style:normal;font-weight:400 900;font-stretch:normal;font-display:swap;src:url("../fonts/beltrami-bodoni-moda-variable-roman.woff2") format("woff2")}
@font-face{font-family:"Helvetica Neue";font-style:normal;font-weight:200;font-display:swap;src:url("../fonts/HelveticaNeue-Thin-13.ttf") format("truetype")}
@font-face{font-family:"Helvetica Neue";font-style:normal;font-weight:100;font-display:swap;src:url("../fonts/HelveticaNeue-UltraLight-06.ttf") format("truetype")}
@font-face{font-family:"Helvetica Neue";font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/HelveticaNeue-Light-08.ttf") format("truetype")}
@font-face{font-family:"Helvetica Neue";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/HelveticaNeue-01.ttf") format("truetype")}
.utility-language{display:flex;align-items:center;gap:.7rem;margin-left:1.1rem;font:400 10px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.16em;color:#2b2b28}
.utility-language span{position:relative;display:flex;align-items:center}
.utility-language span+span:before{content:"";display:inline-block;width:18px;height:1px;margin-right:.7rem;background:#b9b7b0}
.utility-language [aria-current="true"]:after{content:"";position:absolute;right:0;bottom:-6px;left:0;height:1px;background:#2b2b28}
.utility-language [aria-disabled="true"]{color:#8e8d89;opacity:.58;cursor:default}
@media(max-width:900px){.site-header>.utility-language{display:none!important}.mobile-menu .utility-language{margin:.9rem 0 0}}

/* Brand-site desktop navigation: 10px Helvetica Neue Light with underline sweep. */
@media(min-width:901px){
  .site-header{height:60px;color:#504b47}
  .desktop-nav a{position:relative;color:#504b47;font:var(--w-nav) 10px/12px "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;transition:color .4s}
  .desktop-nav a::after{content:"";position:absolute;right:.2em;bottom:-7px;left:0;height:1px;background:#2b2b28;opacity:.68;transform:scaleX(0);transform-origin:right center;transition:transform .85s cubic-bezier(.24,.43,.15,.97),opacity .7s}
  .desktop-nav a:is(:hover,:focus-visible){color:#2b2b28}
  .desktop-nav a:is(:hover,:focus-visible)::after,.desktop-nav a[aria-current="page"]::after{opacity:1;transform:scaleX(1);transform-origin:left center}
}

/* Brand-site body typography: Helvetica Neue Light, 14/28 with open tracking. */
body{font-family:var(--font-body);font-size:14px;font-weight:var(--w-body);line-height:2;letter-spacing:.05em}
html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
main :is(.hero-copy,.text-block,.section-intro,.card-copy,.material-note,.about-row,.hotels-editorial,.yacht-copy,.body-copy,.origin-copy,.closing-copy,.baby-intro-copy,.bespoke-hero-copy,.utility-intro,.utility-section) :is(p,li),
main :is(p.product-register,.product-service){font-family:var(--font-body);font-size:14px;font-weight:var(--w-body);line-height:2;letter-spacing:.05em}
main p:not(.eyebrow):not(.section-eyebrow):not(.utility-eyebrow):not(.product-collection-eyebrow):not(.product-breadcrumb):not(.product-price):not(.made-to-order):not([class*="configuration"]):not([class*="label"]):not(.custom-select>p),
main li,
main .utility-form label,
main .utility-form input,
main .utility-form textarea{font-family:var(--font-body)!important;font-size:14px!important;font-weight:var(--w-body)!important;line-height:2!important;letter-spacing:.05em!important}
main input:not([type="checkbox"]):not([type="radio"]),main textarea,main select{font-family:var(--font-body);font-weight:var(--w-body)}

/* Brand-site rectangular action: draw the complete perimeter; the label never moves. */
:is(.utility-button,.utility-form button,.product-buy-row button,.cart-checkout,.newsletter-submit){--button-ink:#2b2b28;position:relative;isolation:isolate;overflow:hidden;border:.5px solid var(--button-ink)!important;background:transparent!important;background-image:none!important;color:var(--button-ink)!important;box-shadow:none;text-shadow:none!important;cursor:pointer;transition:opacity .24s ease!important}
:is(.utility-button,.utility-form button,.product-buy-row button,.cart-checkout,.newsletter-submit)::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(var(--button-ink),var(--button-ink)) left top/0 .5px no-repeat,linear-gradient(var(--button-ink),var(--button-ink)) right top/.5px 0 no-repeat,linear-gradient(var(--button-ink),var(--button-ink)) right bottom/0 .5px no-repeat,linear-gradient(var(--button-ink),var(--button-ink)) left bottom/.5px 0 no-repeat;transition:background-size .68s cubic-bezier(.24,.43,.15,.97)}
:is(.utility-button,.utility-form button,.product-buy-row button,.cart-checkout,.newsletter-submit)::after{content:none!important}
:is(.utility-button,.utility-form button,.product-buy-row button,.cart-checkout,.newsletter-submit):is(:hover,:focus-visible){color:var(--button-ink)!important;border-color:var(--button-ink)!important;background:transparent!important;background-image:none!important;text-shadow:none!important}
:is(.utility-button,.utility-form button,.product-buy-row button,.cart-checkout,.newsletter-submit):is(:hover,:focus-visible)::before{background-size:100% .5px,.5px 100%,100% .5px,.5px 100%}
:is(.utility-button,.utility-form button,.product-buy-row button,.cart-checkout,.newsletter-submit):focus-visible{outline:1px solid var(--button-ink);outline-offset:4px}
:is(.utility-button,.utility-form button,.product-buy-row button,.cart-checkout,.newsletter-submit):active{opacity:.72}
:is(.utility-button,.utility-form button,.product-buy-row button,.cart-checkout,.newsletter-submit):disabled,
:is(.utility-button,.utility-form button,.product-buy-row button,.cart-checkout,.newsletter-submit)[aria-disabled="true"]{opacity:.38;cursor:not-allowed;pointer-events:none}
.site-footer .newsletter-submit{--button-ink:#f0efeb;border-color:#8e8d89!important}
@media(hover:none){:is(.utility-button,.utility-form button,.product-buy-row button,.cart-checkout,.newsletter-submit):hover::before{background-size:0 .5px,.5px 0,0 .5px,.5px 0}}
@media(prefers-reduced-motion:reduce){:is(.utility-button,.utility-form button,.product-buy-row button,.cart-checkout,.newsletter-submit),:is(.utility-button,.utility-form button,.product-buy-row button,.cart-checkout,.newsletter-submit)::before,:is(.utility-button,.utility-form button,.product-buy-row button,.cart-checkout,.newsletter-submit)::after{transition:none!important}}

/* Shared mobile-menu motion: preserves each route's approved open layout. */
@media(max-width:900px){
  .site-header .mobile-cart-indicator{
    display:flex;
    min-width:44px;
    height:44px;
    margin-left:auto;
    padding:0 7px;
    align-items:center;
    justify-content:center;
    color:#504b47;
    font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size:10px;
    font-weight:var(--w-nav,300);
    line-height:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    white-space:nowrap;
  }
  .site-header .mobile-cart-indicator[hidden]{display:none!important}
  .site-header .mobile-cart-indicator:active{color:#2b2927}
  .site-header .mobile-cart-indicator.has-cart-items{color:#2b2b28;font-weight:var(--w-nav,300);letter-spacing:.16em}
  .site-header .menu-toggle{
    display:flex!important;
    width:44px!important;
    min-width:44px;
    height:44px!important;
    margin-inline:-7px!important;
    padding:14px 9px!important;
    align-items:center;
    justify-content:center;
    gap:6px;
    border:0;
    background:transparent;
    -webkit-tap-highlight-color:transparent;
  }
  .site-header .menu-toggle span{
    display:block;
    width:26px;
    height:1px;
    background:var(--notte,#504b47);
    transition:transform .2s cubic-bezier(.215,.61,.355,1),background-color .12s ease!important;
  }
  .site-header .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .site-header .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .site-header .menu-toggle:active span{background:#2b2927}
  .site-header .menu-toggle:focus-visible{outline:1px solid currentColor;outline-offset:2px}

  .site-header .mobile-menu{
    display:flex!important;
    visibility:hidden;
    opacity:0;
    transform:translate3d(0,-8px,0);
    pointer-events:none;
    transition:opacity .3s cubic-bezier(.215,.61,.355,1),transform .3s cubic-bezier(.215,.61,.355,1),visibility 0s linear .3s!important;
  }
  .site-header .mobile-menu.is-open{
    visibility:visible;
    opacity:1;
    transform:translate3d(0,0,0);
    pointer-events:auto;
    transition:opacity .4s cubic-bezier(.215,.61,.355,1),transform .4s cubic-bezier(.215,.61,.355,1),visibility 0s linear 0s!important;
  }
  .site-header .mobile-menu>a{
    opacity:0;
    transform:translate3d(0,-5px,0);
    font-weight:var(--w-label,300)!important;
    transition:opacity .3s cubic-bezier(.215,.61,.355,1),transform .3s cubic-bezier(.215,.61,.355,1)!important;
  }
  .site-header .mobile-menu>a.mobile-language-link{margin-top:13px}
  .site-header .mobile-menu>a:active{color:#2b2927;transition:color .12s ease!important}
  .site-header .mobile-menu.is-open>a{opacity:1;transform:translate3d(0,0,0);transition-duration:.4s!important}
  .site-header .mobile-menu.is-open>a:nth-child(1){transition-delay:.04s!important}
  .site-header .mobile-menu.is-open>a:nth-child(2){transition-delay:.08s!important}
  .site-header .mobile-menu.is-open>a:nth-child(3){transition-delay:.12s!important}
  .site-header .mobile-menu.is-open>a:nth-child(4){transition-delay:.16s!important}
  .site-header .mobile-menu.is-open>a:nth-child(5){transition-delay:.20s!important}
  .site-header .mobile-menu.is-open>a:nth-child(6){transition-delay:.24s!important}
  .site-header .mobile-menu.is-open>a:nth-child(7){transition-delay:.28s!important}
}
@media(min-width:901px){
  .site-header .desktop-nav a[href*="beltrami-cart"].has-cart-items{color:#2b2b28!important;font-weight:var(--w-nav,300)!important;letter-spacing:.16em!important}
  .site-header .mobile-cart-indicator{display:none!important}
}
.site-header :is(.desktop-nav,.mobile-menu) a[href*="beltrami-cart"].has-cart-items,
.site-header .mobile-cart-indicator.has-cart-items{color:#2b2b28!important;font-weight:var(--w-nav,300)!important}
.site-header .cart-count{display:inline-block!important;margin-left:0;font-size:.72em!important;font-weight:inherit!important;line-height:1!important;letter-spacing:0!important;vertical-align:super;position:relative;top:-.12em}
@media(max-width:900px) and (prefers-reduced-motion:reduce){
  .site-header .menu-toggle span,
  .site-header .mobile-menu,
  .site-header .mobile-menu.is-open,
  .site-header .mobile-menu>a,
  .site-header .mobile-menu.is-open>a{transition:none!important}
  .site-header .mobile-menu>a{transform:none}
  .site-header .mobile-menu.is-open>a{opacity:1;transform:none}
}

/* Persistent, non-disruptive route from a successful product addition to cart. */
.cart-add-confirmation{
  min-height:20px;
  margin:12px 0 0;
  opacity:0;
  visibility:hidden;
  color:#504b47;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;
  font-size:10px!important;
  font-weight:var(--w-label,300)!important;
  line-height:20px!important;
  letter-spacing:1.8px!important;
  text-transform:uppercase;
  transition:opacity .4s cubic-bezier(.215,.61,.355,1),visibility 0s linear .4s;
}
.cart-add-confirmation.is-visible{opacity:1;visibility:visible;transition-delay:0s}
.cart-add-confirmation a,.cart-add-confirmation a:hover,.cart-add-confirmation a:focus-visible{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:none}
.cart-add-confirmation a:active{color:#504b47}
@media(prefers-reduced-motion:reduce){.cart-add-confirmation{transition:none!important}}

.scroll-unzoom-frame{overflow:hidden}
[data-scroll-unzoom]{--scroll-unzoom-scale:1.045;scale:var(--scroll-unzoom-scale);transform-origin:center;will-change:scale}
.beltrami-image-reveal{--beltrami-reveal-y:10px;position:relative;overflow:hidden;opacity:0;clip-path:inset(8% 0 0);transform:translate3d(0,var(--beltrami-reveal-y),0);will-change:opacity,clip-path,transform}
.beltrami-image-reveal.is-revealed{--beltrami-reveal-y:0px;opacity:1;clip-path:inset(0 0 0);transition:opacity 1.6s cubic-bezier(.215,.61,.355,1),clip-path 1.6s cubic-bezier(.215,.61,.355,1),transform 1.6s cubic-bezier(.215,.61,.355,1)}
.beltrami-image-reveal>[data-beltrami-image-drift]{--beltrami-image-y:-6px;--beltrami-image-scale:1.05;transform:translate3d(0,var(--beltrami-image-y),0);scale:var(--beltrami-image-scale);will-change:transform,scale}
.material-image-link:is(:hover,:focus-visible) img{opacity:1;transform:none!important}
@media(max-width:700px),(prefers-reduced-motion:reduce){[data-scroll-unzoom]{scale:1!important;will-change:auto}}
@media(prefers-reduced-motion:reduce){.beltrami-image-reveal,.beltrami-image-reveal.is-revealed{opacity:1;clip-path:none;transform:none;transition:none}.beltrami-image-reveal>[data-beltrami-image-drift]{transform:none!important;scale:1!important;will-change:auto}}

/* Brand-site centred introduction system. */
.brand-intro{display:flex!important;height:auto;max-width:820px!important;margin-inline:auto!important;padding:62px 24px 0!important;flex-direction:column!important;align-items:center!important;gap:0!important;text-align:center!important}
.brand-intro-mark{display:block;width:40px!important;height:26px!important;margin:0 0 34px!important;object-fit:contain;scale:1!important;transform:none!important;filter:none!important}
.brand-intro h1{position:static!important;display:block;margin:0!important;color:#504b47;font:var(--w-nav) 10px/1.9 "Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:.22em!important;text-align:center;text-transform:uppercase;white-space:normal}
.brand-intro-copy{width:100%;max-width:560px!important;margin-top:30px!important}
.brand-intro-copy p{max-width:none!important;margin:0!important;color:#504b47;font:var(--w-body) 14px/2 "helvetica-neue-lt-pro","Helvetica Neue",Helvetica,Arial,sans-serif!important;letter-spacing:.05em!important;text-align:center}
.brand-intro-copy p+p{margin-top:14px!important}
.collection-card .card-copy h3,.nightwear-product-grid .card-copy h3,.nightwear-product-grid .card-copy h3 a{font-size:clamp(20px,1.8vw,23px)!important;line-height:1.18!important}
.collection-detail-copy h1{font-size:clamp(25px,2.5vw,30px)!important;line-height:1.1!important}
:is(.section-intro,.text-block,.material-note,.collection-products-heading,.product-details,.section-heading,.origin-copy,.opening,.about-row) h2:not(.section-eyebrow){font-size:clamp(22px,2.2vw,28px)!important;line-height:1.18!important;color:#504b47!important}
.application-list h3{font-size:clamp(22px,2.2vw,28px)!important;line-height:1.18!important;color:#504b47!important}
main p.product-collection-eyebrow{margin:20px 0 10px!important;color:#2b2b28!important;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-size:10px!important;font-style:normal!important;font-weight:var(--w-nav)!important;line-height:20px!important;letter-spacing:1.8px!important;text-transform:uppercase}
.plaids .text-block h2,.baby-product-section .section-intro h2{font-size:clamp(28px,4vw,48px)!important;line-height:1.08!important}
.plaid-family-grid article h3{margin:0!important;color:#504b47!important;font:italic 300 clamp(20px,1.8vw,23px)/1.18 "bodoni-moda-variable",serif!important;letter-spacing:0!important;text-transform:none!important}
.plaid-family-grid article .product-cta{margin-top:12px!important}
.product-cta,.collection-card .cta{position:relative;display:inline-block!important;width:max-content!important;border-bottom:0!important;text-decoration:none!important;font-size:10px!important;line-height:12px!important;letter-spacing:2px!important;font-weight:var(--w-cta)!important;text-transform:uppercase!important;opacity:1!important}
.product-cta::after,.collection-card .cta::after{content:"";position:absolute;right:0;bottom:-4px;left:0;height:1px;background:currentColor;opacity:.68;transform:scaleX(0);transform-origin:right center;transition:transform .85s cubic-bezier(.24,.43,.15,.97),opacity .7s}
.product-cta:hover::after,.product-cta:focus-visible::after,.collection-card .cta:hover::after,.collection-card .cta:focus-visible::after{opacity:1;transform:scaleX(1);transform-origin:left center}
@media(prefers-reduced-motion:reduce){.product-cta::after,.collection-card .cta::after{transition:none}}
.product-gallery>.product-breadcrumb{grid-column:1/-1!important;grid-row:auto!important;margin:12px 0 0!important;position:static!important;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-size:10px!important;font-weight:var(--w-nav)!important;line-height:20px!important;letter-spacing:1.8px!important;text-transform:uppercase}
.product-gallery>.product-return-links{display:flex!important;align-items:center;gap:14px 34px!important}
.product-gallery>.product-return-links a{position:relative;width:max-content;color:inherit;text-decoration:none;opacity:.68;transition:opacity .45s ease}
.product-gallery>.product-return-links a::after{content:"";position:absolute;right:0;bottom:-3px;left:0;height:1px;background:currentColor;opacity:.68;transform:scaleX(0);transform-origin:right center;transition:transform .85s cubic-bezier(.24,.43,.15,.97),opacity .7s}
.product-gallery>.product-return-links a:hover,.product-gallery>.product-return-links a:focus-visible{opacity:1}
.product-gallery>.product-return-links a:hover::after,.product-gallery>.product-return-links a:focus-visible::after{opacity:1;transform:scaleX(1);transform-origin:left center}
@media(max-width:600px){.product-gallery>.product-return-links{align-items:flex-start;flex-direction:column;gap:8px!important}}
.section-heading>h2{padding-top:7px}
@media(max-width:600px){.brand-intro{padding:48px 6px 0!important}.brand-intro-mark{width:40px!important;margin-bottom:28px!important}.brand-intro-copy{margin-top:24px!important}.brand-intro-copy p+p{margin-top:12px!important}.collection-card .card-copy h3,.nightwear-product-grid .card-copy h3,.nightwear-product-grid .card-copy h3 a{font-size:20px!important}.collection-detail-copy h1{font-size:26px!important}:is(.section-intro,.text-block,.material-note,.collection-products-heading,.product-details,.section-heading,.origin-copy,.opening,.about-row) h2:not(.section-eyebrow),.application-list h3{font-size:23px!important}}

/* Brand-site newsletter interaction: one ruled email line and arrow submit. */
.site-footer .newsletter .brand-newsletter{display:block;width:100%;max-width:640px;margin:30px 0 0}
.site-footer .newsletter .newsletter-identity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-bottom:24px}
.site-footer .newsletter .newsletter-identity label{display:block;padding:0 0 11px;border-bottom:1px solid rgba(240,239,235,.42)}
.site-footer .newsletter .newsletter-identity input{display:block;width:100%;height:auto;padding:0!important;border:0!important;background:transparent;color:#f0efeb;font:var(--w-body) 14px/1.7 "helvetica-neue-lt-pro","Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.04em;outline:0}
.site-footer .newsletter .newsletter-identity input::placeholder{color:#f0efeb;opacity:.58}
.site-footer .newsletter .email-line{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:12px;align-items:center;width:100%;padding:0 0 11px;border-bottom:1px solid rgba(240,239,235,.42)}
.site-footer .newsletter .email-line input{display:block;width:100%;height:auto;padding:0!important;border:0!important;background:transparent;color:#f0efeb;font:var(--w-body) 14px/1.7 "helvetica-neue-lt-pro","Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.04em;outline:0}
.site-footer .newsletter .email-line input::placeholder{color:#f0efeb;opacity:.58}
.site-footer .newsletter .email-line button{position:relative;display:block;width:42px;height:32px;margin:0;padding:0;border:0;background:transparent;color:#f0efeb;cursor:pointer;transition:opacity .45s ease,transform .85s cubic-bezier(.24,.43,.15,.97)}
.site-footer .newsletter .email-line button span::before{content:"";position:absolute;top:50%;right:5px;width:20px;height:1px;background:currentColor;transform:translateY(-50%)}
.site-footer .newsletter .email-line button span::after{content:"";position:absolute;top:50%;right:1px;width:0;height:0;border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;border-left:5px solid currentColor;transform:translateY(-50%)}
.site-footer .newsletter .email-line button:hover,.site-footer .newsletter .email-line button:focus-visible{opacity:.76;transform:translateX(2px)}
.site-footer .newsletter .newsletter-consent{max-width:620px;margin:32px 0 0;color:#f0efeb;font:var(--w-body) 13px/2 "helvetica-neue-lt-pro","Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.04em}
.site-footer .newsletter .newsletter-consent a{color:#f0efeb;text-decoration-line:underline;text-decoration-thickness:.5px;text-underline-offset:4px;opacity:1;transition:opacity .45s ease}
.site-footer .newsletter .newsletter-consent a:hover,.site-footer .newsletter .newsletter-consent a:focus-visible{opacity:.7}
@media(max-width:600px){.site-footer .newsletter .brand-newsletter{margin-top:26px}.site-footer .newsletter .newsletter-identity{grid-template-columns:1fr;gap:20px;margin-bottom:20px}.site-footer .newsletter .newsletter-consent{margin-top:26px;font-size:12px}}

/* Shared footer structural baseline. Keep this global: generic page.php must not depend on a route stylesheet. */
.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}
.site-footer{width:100%;max-width:none;margin:112px 0 0;padding:80px 0 0;background:#2b2b28;color:#f0efeb;border:0}
.site-footer .footer-main{max-width:var(--max,1200px);margin:0 auto;padding-inline:24px;display:grid;grid-template-columns:.82fr 1.18fr;gap:88px}
.site-footer .newsletter{position:static;left:auto;width:auto;max-width:none;margin:0;padding:0;background:transparent;color:inherit}
.site-footer .newsletter h2{margin:0;color:#f0efeb;font:italic 300 34px/1.3 "bodoni-moda-variable","Bodoni Moda",serif;letter-spacing:.05em}
.site-footer .newsletter>p{width:auto;max-width:none;margin:18px 0 0;color:#f0efeb}
.site-footer .footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.site-footer .footer-links nav{display:flex;align-items:flex-start;flex-direction:column;gap:7px}
.site-footer .footer-links h2{margin:0 0 19px;color:#f0efeb;font:300 11px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.site-footer .footer-links a{font-size:13px;font-weight:200;line-height:1.55;letter-spacing:.035em;text-transform:none;white-space:normal;text-decoration:none}
.site-footer .footer-link-gap{display:block;height:12px}
.site-footer .footer-brand{max-width:none;margin:70px 0 0;padding:32px max(24px,calc((100vw - var(--max,1200px))/2));background:#f0efeb;color:#2b2b28;display:grid;grid-template-columns:1fr 270px 1fr;gap:40px;align-items:center;text-align:left}
.site-footer .footer-lockup{display:block;width:270px;height:92px;margin:0 auto;object-fit:contain;background:transparent;-webkit-mask:none;mask:none}
.site-footer .company-details{margin:0;color:#2b2b28;font-size:13px;font-weight:200;line-height:1.5;letter-spacing:.035em}
.site-footer .social-links{display:flex;justify-content:flex-end;gap:24px;align-items:center}
.site-footer .social-links a{color:#2b2b28;font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
@media(max-width:900px){.site-footer .footer-main{grid-template-columns:1fr;gap:64px}.site-footer .footer-links{gap:24px}.site-footer .footer-brand{grid-template-columns:1fr;text-align:center;gap:28px}.site-footer .footer-lockup{order:1;width:230px;height:78px;margin-inline:auto}.site-footer .social-links{grid-column:auto;order:2;width:100%;justify-content:center}.site-footer .company-details{order:3;text-align:center}}
@media(max-width:600px){.site-footer{margin-top:82px;padding-top:62px}.site-footer .footer-main{padding-inline:24px;gap:58px}.site-footer .footer-links{grid-template-columns:1fr;gap:40px}.site-footer .footer-links h2{margin-bottom:14px}.site-footer .footer-brand{margin-top:58px;padding:31px 24px 34px;grid-template-columns:1fr}.site-footer .footer-lockup{width:225px;height:77px}}

/* Footer colour, scale and spatial rhythm matched to the Beltrami brand site. */
.site-footer{padding-top:clamp(92px,7.5vw,148px)!important;color:#9f9e99!important}
.site-footer .footer-main{width:100%!important;max-width:1760px!important;padding-inline:clamp(24px,5.3vw,108px)!important;grid-template-columns:minmax(420px,.82fr) minmax(0,1.18fr)!important;gap:clamp(90px,9vw,184px)!important}
.site-footer .newsletter h2{color:#f0efeb!important;font-family:"bodoni-moda-variable",serif!important;font-size:clamp(40px,3.3vw,64px)!important;font-style:italic!important;font-weight:300!important;line-height:1.08!important;letter-spacing:0!important}
.site-footer .newsletter h2{font-optical-sizing:auto!important;font-variation-settings:normal!important}
.site-footer .newsletter>p{margin-top:clamp(28px,3.2vw,58px)!important;color:#9f9e99!important;font-family:var(--font-body)!important;font-size:14px!important;font-weight:var(--w-body)!important;line-height:2!important;letter-spacing:.05em!important}
.site-footer .newsletter .brand-newsletter{max-width:560px!important;margin-top:clamp(34px,3.5vw,62px)!important}
.site-footer .newsletter .newsletter-consent{max-width:580px!important;margin-top:clamp(30px,3.3vw,58px)!important;color:#9f9e99!important}
.site-footer .newsletter .newsletter-identity input,.site-footer .newsletter .email-line input{color:#d2d0cb!important;font-weight:var(--w-body)!important}
.site-footer .newsletter .newsletter-identity input::placeholder,.site-footer .newsletter .email-line input::placeholder{color:#9f9e99!important;opacity:1!important}
.site-footer .newsletter .newsletter-identity label,.site-footer .newsletter .email-line{border-bottom-color:rgba(240,239,235,.28)!important}
.site-footer .footer-links{gap:clamp(34px,4vw,72px)!important}
.site-footer .footer-links h2{color:#f0efeb!important;font-weight:var(--w-nav)!important}
.site-footer .footer-links a{color:#9f9e99!important;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-size:13px!important;font-weight:var(--w-nav)!important;line-height:26px!important;letter-spacing:.65px!important}
.site-footer .footer-links a{position:relative;display:inline-block;opacity:1!important;transition:color .45s ease!important}
.site-footer .footer-links a::after{content:"";position:absolute;right:0;bottom:1px;left:0;height:1px;background:currentColor;opacity:.68;transform:scaleX(0);transform-origin:right center;transition:transform .85s cubic-bezier(.24,.43,.15,.97),opacity .7s}
.site-footer .footer-links a:is(:hover,:focus-visible)::after{opacity:1;transform:scaleX(1);transform-origin:left center}
.site-footer .company-details,.site-footer .social-links a{color:#504b47!important;font-family:var(--font-body)!important;font-weight:var(--w-body)!important}
@media(max-width:900px){.site-footer .footer-main{grid-template-columns:1fr!important;gap:76px!important}.site-footer .newsletter .brand-newsletter{max-width:640px!important}}
@media(max-width:600px){.site-footer{padding-top:72px!important}.site-footer .footer-main{padding-inline:24px!important;gap:64px!important}.site-footer .newsletter h2{font-size:36px!important}.site-footer .newsletter>p{margin-top:24px!important}.site-footer .newsletter .brand-newsletter{margin-top:30px!important}.site-footer .newsletter .newsletter-consent{margin-top:28px!important}.site-footer .footer-links{gap:42px!important}.site-footer .footer-links a{font-size:13px!important}}

/* Final typography tokens: explicit, predictable and aligned with the brand site. */
main :is(.eyebrow,.section-eyebrow,.utility-eyebrow,.product-collection-eyebrow){
  color:#504b47!important;
  font:var(--w-nav) 10px/12px "Helvetica Neue",Helvetica,Arial,sans-serif!important;
  letter-spacing:1.8px!important;
  text-transform:uppercase!important;
}
.carousel .hero-copy h1,
.carousel .hero-copy h2,
main .home-material-note h2{
  color:#504b47!important;
  font:italic 300 clamp(23px,2.8vw,32px)/1.2 "bodoni-moda-variable",serif!important;
  letter-spacing:0!important;
}
html body main .content .home-material-note h2{
  color:#504b47!important;
  font:italic 300 clamp(26px,2.8vw,32px)/1.12 "bodoni-moda-variable",serif!important;
  letter-spacing:0!important;
}
.content>.split-block h2{
  font:italic 300 34px/1.3 "bodoni-moda-variable",serif!important;
  font-optical-sizing:auto!important;
  font-variation-settings:normal!important;
  letter-spacing:.7px!important;
}
.content>.split-block-bespoke>div,
.content>.split-block-hospitality>div{background:#2b2b28!important}
.content>.split-block-bespoke h2,
.content>.split-block-hospitality h2{color:#c0c0be!important}
.content>.split-block-bespoke>div::before,
.content>.split-block-hospitality>div::before,
.content>.split-block-bespoke p,
.content>.split-block-hospitality p,
.content>.split-block-bespoke .cta,
.content>.split-block-hospitality .cta{color:#c0c0be!important}
.content>.split-block>div::before{content:none!important;display:none!important}
.content>.split-block>div::before,
.content>.split-block .cta{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-size:10px!important;font-weight:var(--w-cta)!important;line-height:12px!important;letter-spacing:2px!important;text-transform:uppercase!important}
.category h2,
.collection-card .card-copy h3,
.nightwear-product-grid .card-copy h3,
.nightwear-product-grid .card-copy h3 a,
.collection-detail-copy h1,
:is(.section-intro,.text-block,.material-note,.collection-products-heading,.product-details,.section-heading,.origin-copy,.opening,.about-row) h2:not(.section-eyebrow),
.application-list h3,
.plaid-family-grid article h3{
  font-style:italic!important;
  font-weight:300!important;
  font-optical-sizing:auto!important;
  font-variation-settings:normal!important;
  letter-spacing:0!important;
}
.product-info h1{
  color:#504b47!important;
  font:italic 300 clamp(26px,2.8vw,32px)/1.1 "bodoni-moda-variable",serif!important;
  letter-spacing:0!important;
  font-optical-sizing:auto!important;
  font-variation-settings:normal!important;
}
.utility-hero h1,.bespoke-service-content h1{
  color:#504b47!important;
  font:italic 300 clamp(26px,2.8vw,32px)/1.12 "bodoni-moda-variable",serif!important;
  letter-spacing:0!important;
  font-optical-sizing:auto!important;
  font-variation-settings:normal!important;
}
.material-note h2{
  color:#504b47!important;
  font:italic 300 32px/1.12 "bodoni-moda-variable",serif!important;
  font-size:32px!important;
  line-height:1.12!important;
  letter-spacing:0!important;
  font-optical-sizing:auto!important;
  font-variation-settings:normal!important;
}
@media(max-width:600px){
  .carousel .hero-copy h1,.carousel .hero-copy h2{font-size:23px!important}
  main .home-material-note h2{font-size:26px!important}
  .content>.split-block h2{font-size:34px!important}
  .product-info h1,.utility-hero h1,.bespoke-service-content h1,.material-note h2{font-size:26px!important}
}

/* Exact Helvetica Neue control token from the Beltrami brand site. */
:is(.utility-button,.utility-form button,.product-buy-row button,.cart-checkout,.newsletter-submit){font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-size:9px!important;font-weight:var(--w-cta)!important;line-height:2.2!important;letter-spacing:.22em!important;text-transform:uppercase!important}

/* Every uppercase Helvetica action shares the same weight and open tracking. */
:is(.cta,.product-cta,.clear-options,.cart-empty-link){font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:var(--w-cta)!important;letter-spacing:2px!important;text-transform:uppercase!important}
html body main .material-note .cta{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-size:10px!important;font-weight:var(--w-cta)!important;line-height:12px!important;letter-spacing:2px!important;text-transform:uppercase!important}

/* Product and transactional labels use one discrete Helvetica Neue weight token. */
html body main .product-specs dt,
html body main .product-form .custom-select>p,
html body main .product-form .product-field>span,
html body main .product-form .product-personalisation>summary,
html body main .product-gallery>.product-return-links a{font-weight:var(--w-label)!important;letter-spacing:1.8px!important}

/* Brand navigation: quiet at rest, darker on hover and keyboard focus. */
.site-header :is(.desktop-nav,.mobile-menu) a{color:#8e8d89!important;transition:color .45s ease,opacity .45s ease!important}
.site-header :is(.desktop-nav,.mobile-menu) a:is(:hover,:focus-visible),
.site-header :is(.desktop-nav,.mobile-menu) a[aria-current="page"]{color:#2b2b28!important;opacity:1!important}

/* A deliberate pause between service eyebrow and display title. */
.content>.split-block .section-eyebrow{margin:0 0 18px!important}

/* Keep every recurring material title equal to the service-title token. */
html body main section.material-note > div > h2,
html body main section.home-material-note h2{font-size:32px!important;line-height:1.12!important}
@media(max-width:600px){html body main section.material-note > div > h2,html body main section.home-material-note h2{font-size:26px!important}}

/* One mobile text gutter across every route; full-bleed media remains untouched. */
@media(max-width:600px){
  main :is(.brand-intro,.section-intro,.text-block,.section-heading,.origin-copy,.opening,.body-copy,.closing-copy,.utility-intro,.utility-section,.bespoke-service-content,.hotels-editorial,.yacht-copy,.contact-copy,.product-info,.product-details,.product-return-links,.cart-summary,.cart-items-header){
    padding-inline:max(24px,env(safe-area-inset-left))!important;
  }
  main .origin-panel>.origin-copy,
  main .process>.section-heading,
  main .process>.section-heading>.body-copy,
  main .measure>.section-heading,
  main .applications>.section-heading{padding-inline:0!important}
}

/* v25 reciprocal language links */
.utility-language{margin-left:clamp(1.5rem,3vw,3.25rem)} .language-link,.footer-language-link{color:var(--ombra,#746f69);text-decoration:none;position:relative} .language-link::after,.footer-language-link::after{content:"";position:absolute;left:0;right:100%;bottom:-.28rem;border-bottom:1px solid currentColor;transition:right .3s ease} .language-link:hover::after,.footer-language-link:hover::after{right:0}
