/* Recovered CSS from the published Tenere Carezze site.
   It contains some older/overridden rules from previous site versions.
   The final .atelier-* rules are the current design. */

/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme {
  :root,:host {
  --font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --spacing:.25rem;
  --default-font-family:var(--font-sans);
  --default-mono-font-family:var(--font-mono)
}

}
@layer base {
  *,:after,:before,::backdrop {
  box-sizing:border-box;
  border:0 solid;
  margin:0;
  padding:0
}
::file-selector-button {
  box-sizing:border-box;
  border:0 solid;
  margin:0;
  padding:0
}
html,:host {
  -webkit-text-size-adjust:100%;
  tab-size:4;
  line-height:1.5;
  font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  font-feature-settings:var(--default-font-feature-settings,normal);
  font-variation-settings:var(--default-font-variation-settings,normal);
  -webkit-tap-highlight-color:transparent
}
hr {
  height:0;
  color:inherit;
  border-top-width:1px
}
abbr:where([title]) {
  -webkit-text-decoration:underline dotted;
  text-decoration:underline dotted
}
h1,h2,h3,h4,h5,h6 {
  font-size:inherit;
  font-weight:inherit
}
a {
  color:inherit;
  -webkit-text-decoration:inherit;
  -webkit-text-decoration:inherit;
  -webkit-text-decoration:inherit;
  -webkit-text-decoration:inherit;
  text-decoration:inherit
}
b,strong {
  font-weight:bolder
}
code,kbd,samp,pre {
  font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
  font-feature-settings:var(--default-mono-font-feature-settings,normal);
  font-variation-settings:var(--default-mono-font-variation-settings,normal);
  font-size:1em
}
small {
  font-size:80%
}
sub,sup {
  vertical-align:baseline;
  font-size:75%;
  line-height:0;
  position:relative
}
sub {
  bottom:-.25em
}
sup {
  top:-.5em
}
table {
  text-indent:0;
  border-color:inherit;
  border-collapse:collapse
}
:-moz-focusring {
  outline:auto
}
progress {
  vertical-align:baseline
}
summary {
  display:list-item
}
ol,ul,menu {
  list-style:none
}
img,svg,video,canvas,audio,iframe,embed,object {
  vertical-align:middle;
  display:block
}
img,video {
  max-width:100%;
  height:auto
}
button,input,select,optgroup,textarea {
  font:inherit;
  font-feature-settings:inherit;
  font-variation-settings:inherit;
  letter-spacing:inherit;
  color:inherit;
  opacity:1;
  background-color:#0000;
  border-radius:0
}
::file-selector-button {
  font:inherit;
  font-feature-settings:inherit;
  font-variation-settings:inherit;
  letter-spacing:inherit;
  color:inherit;
  opacity:1;
  background-color:#0000;
  border-radius:0
}
:where(select:is([multiple],[size])) optgroup {
  font-weight:bolder
}
:where(select:is([multiple],[size])) optgroup option {
  padding-inline-start:20px
}
::file-selector-button {
  margin-inline-end:4px
}
::placeholder {
  opacity:1
}
@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
  ::placeholder {
  color:currentColor
}
@supports (color:color-mix(in lab, red, red)) {
  ::placeholder {
  color:color-mix(in oklab, currentcolor 50%, transparent)
}

}

}
textarea {
  resize:vertical
}
::-webkit-search-decoration {
  -webkit-appearance:none
}
::-webkit-date-and-time-value {
  min-height:1lh;
  text-align:inherit
}
::-webkit-datetime-edit {
  display:inline-flex
}
::-webkit-datetime-edit-fields-wrapper {
  padding:0
}
::-webkit-datetime-edit {
  padding-block:0
}
::-webkit-datetime-edit-year-field {
  padding-block:0
}
::-webkit-datetime-edit-month-field {
  padding-block:0
}
::-webkit-datetime-edit-day-field {
  padding-block:0
}
::-webkit-datetime-edit-hour-field {
  padding-block:0
}
::-webkit-datetime-edit-minute-field {
  padding-block:0
}
::-webkit-datetime-edit-second-field {
  padding-block:0
}
::-webkit-datetime-edit-millisecond-field {
  padding-block:0
}
::-webkit-datetime-edit-meridiem-field {
  padding-block:0
}
::-webkit-calendar-picker-indicator {
  line-height:1
}
:-moz-ui-invalid {
  box-shadow:none
}
button,input:where([type=button],[type=reset],[type=submit]) {
  appearance:button
}
::file-selector-button {
  appearance:button
}
::-webkit-inner-spin-button {
  height:auto
}
::-webkit-outer-spin-button {
  height:auto
}
[hidden]:where(:not([hidden=until-found])) {
  display:none!important
}

}
@layer components;
  @layer utilities {
  .visible {
  visibility:visible
}
.relative {
  position:relative
}
.start {
  inset-inline-start:var(--spacing)
}
.table {
  display:table
}
.antialiased {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale
}

}
:root {
  --ink:#292620;
  --paper:#f7f4ee;
  --cream:#ebe3d3;
  --pink:#f0c8c2;
  --red:#bd5c4c;
  --sage:#afbdac;
  --line:#2926202e;
  --serif:Georgia,"Times New Roman",serif
}
* {
  box-sizing:border-box
}
body {
  background:var(--paper);
  color:var(--ink);
  margin:0;
  font-family:Arial,Helvetica,sans-serif
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit
}
.site-header {
  border-bottom:1px solid var(--line);
  z-index:10;
  justify-content:space-between;
  align-items:center;
  height:92px;
  padding:0 5.6vw;
  display:flex;
  position:absolute;
  top:0;
  left:0;
  right:0
}
.brand {
  font-family:var(--serif);
  letter-spacing:-.5px;
  align-items:center;
  gap:11px;
  font-size:18px;
  line-height:.76;
  display:flex
}
.brand em {
  font-weight:400
}
.brand-mark {
  width:35px;
  height:35px;
  font:13px var(--serif);
  letter-spacing:-1px;
  border:1px solid;
  border-radius:50%;
  place-items:center;
  display:grid
}
.site-header nav {
  letter-spacing:.06em;
  text-transform:uppercase;
  align-items:center;
  gap:31px;
  font-size:11px;
  display:flex
}
.site-header nav>a:not(.nav-contact) {
  position:relative
}
.site-header nav>a:not(.nav-contact):after {
  content:"";
  background:currentColor;
  width:0;
  height:1px;
  transition:all .25s;
  position:absolute;
  bottom:-6px;
  left:0
}
.site-header nav>a:not(.nav-contact):hover:after {
  width:100%
}
.nav-contact {
  border:1px solid var(--ink);
  border-radius:100px;
  padding:13px 16px
}
.menu-toggle {
  text-transform:uppercase;
  letter-spacing:.08em;
  background:0 0;
  border:0;
  font-size:11px;
  display:none
}
.hero {
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:30px;
  min-height:760px;
  padding:185px 5.6vw 75px;
  display:grid;
  position:relative;
  overflow:hidden
}
.eyebrow {
  letter-spacing:.15em;
  text-transform:uppercase;
  margin:0 0 21px;
  font-size:10px;
  font-weight:700
}
.hero h1,.section-head h2,.story h2,.promise h2,.consultation h2,.visit h2 {
  font:clamp(50px,6vw,88px)/.9 var(--serif);
  letter-spacing:-.065em;
  margin:0
}
.hero h1 i,.section-head h2 i,.promise h2 i,.consultation h2 i {
  font-weight:400
}
.hero-text {
  max-width:430px;
  margin:29px 0;
  font-size:16px;
  line-height:1.65
}
.hero-actions {
  align-items:center;
  gap:27px;
  display:flex
}
.button {
  letter-spacing:.04em;
  text-transform:uppercase;
  border:1px solid #0000;
  border-radius:100px;
  justify-content:center;
  align-items:center;
  gap:25px;
  padding:17px 21px;
  font-size:11px;
  transition:transform .2s,background .2s;
  display:inline-flex
}
.button:hover {
  transform:translateY(-2px)
}
.button-dark {
  background:var(--ink);
  color:#fff
}
.button-dark span,.button-light span {
  font-size:16px
}
.text-link {
  text-transform:uppercase;
  letter-spacing:.05em;
  border-bottom:1px solid;
  padding-bottom:5px;
  font-size:11px
}
.text-link span {
  margin-left:8px;
  font-size:15px
}
.hero-art {
  isolation:isolate;
  background:#d5dfd1;
  border-radius:230px 230px 20px 20px;
  height:505px;
  position:relative;
  overflow:hidden
}
.hero-art:after {
  content:"";
  z-index:-1;
  background:#b3c2ad;
  border-radius:50%;
  width:490px;
  height:210px;
  position:absolute;
  bottom:-126px;
  left:-25px
}
.sun {
  background:#f4c562;
  border-radius:50%;
  width:95px;
  height:95px;
  position:absolute;
  top:62px;
  right:61px
}
.cloud {
  background:#fbf9f3;
  border-radius:100px;
  width:140px;
  height:46px;
  position:absolute
}
.cloud:before,.cloud:after {
  content:"";
  background:inherit;
  border-radius:50%;
  position:absolute
}
.cloud:before {
  width:58px;
  height:58px;
  bottom:4px;
  left:18px
}
.cloud:after {
  width:72px;
  height:72px;
  bottom:1px;
  right:15px
}
.cloud-one {
  opacity:.9;
  top:131px;
  left:46px;
  transform:scale(.6)
}
.cloud-two {
  top:192px;
  right:-4px;
  transform:scale(.42)
}
.mobile {
  background:#f6f1e7;
  border-radius:80px 80px 28px 28px;
  width:155px;
  height:222px;
  position:absolute;
  top:195px;
  left:50%;
  transform:translate(-50%);
  box-shadow:0 20px 30px #3950362b
}
.mobile:before {
  content:"";
  border:2px solid #d6a390;
  border-bottom:0;
  border-radius:50% 50% 44% 44%;
  height:100px;
  position:absolute;
  top:53px;
  left:16px;
  right:16px
}
.mobile:after {
  content:"♡";
  font:48px var(--serif);
  color:#d68f80;
  position:absolute;
  top:64px;
  left:51px
}
.hero-card {
  text-align:center;
  background:#f9f6ef;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  display:flex;
  position:absolute;
  box-shadow:0 8px 20px #3d45331a
}
.hero-card small {
  letter-spacing:.14em;
  font-size:8px;
  line-height:1.5
}
.card-one {
  border-radius:100px;
  width:108px;
  height:108px;
  bottom:47px;
  left:55px;
  transform:rotate(-8deg)
}
.card-one span {
  font:24px var(--serif);
  margin-bottom:4px
}
.card-two {
  background:#f0c8c2;
  border-radius:5px;
  width:111px;
  height:95px;
  bottom:76px;
  right:30px;
  transform:rotate(8deg)
}
.art-note {
  font:16px/1.1 var(--serif);
  position:absolute;
  top:265px;
  left:42px;
  transform:rotate(-7deg)
}
.art-note b {
  font-size:22px
}
.hero-scroll {
  letter-spacing:.14em;
  font-size:9px;
  position:absolute;
  bottom:26px;
  left:5.6vw
}
.hero-scroll span {
  margin-left:10px;
  font-size:17px
}
.intro-band {
  background:var(--pink);
  min-height:414px;
  padding:65px 14vw;
  position:relative;
  overflow:hidden
}
.intro-band p {
  letter-spacing:.13em;
  text-transform:uppercase;
  font-size:11px
}
.intro-band h2 {
  font:clamp(48px,5.5vw,78px)/.91 var(--serif);
  letter-spacing:-.06em;
  margin:51px 0 0
}
.intro-stamp {
  border:1px solid var(--ink);
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.13em;
  border-radius:50%;
  place-content:center;
  width:154px;
  height:154px;
  font-size:9px;
  line-height:1.55;
  display:grid;
  position:absolute;
  top:98px;
  right:13vw;
  transform:rotate(13deg)
}
.intro-stamp span {
  font:41px var(--serif);
  letter-spacing:-3px
}
.section-pad {
  padding:135px 5.6vw
}
.section-head {
  grid-template-columns:1fr 1.35fr .75fr;
  align-items:end;
  gap:30px;
  margin-bottom:58px;
  display:grid
}
.section-head h2 {
  font-size:clamp(44px,5vw,68px)
}
.section-head>p:last-child {
  margin:0 0 4px;
  font-size:14px;
  line-height:1.55
}
.category-grid {
  background:var(--line);
  border:1px solid var(--line);
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  display:grid
}
.category-card {
  background:var(--paper);
  flex-direction:column;
  min-height:415px;
  padding:22px 22px 27px;
  display:flex
}
.category-card:nth-child(4),.category-card:nth-child(5) {
  grid-column:span 1
}
.card-art {
  background:#d9e0d3;
  height:178px;
  margin-bottom:22px;
  position:relative;
  overflow:hidden
}
.card-art>span {
  font:17px var(--serif);
  z-index:2;
  position:absolute;
  top:13px;
  left:14px
}
.art-shape {
  background:#fbf8f1;
  border-radius:50%;
  width:138px;
  height:138px;
  position:absolute;
  bottom:-25px;
  right:25%;
  box-shadow:inset 0 0 0 8px #ffffff40
}
.art-shape:after {
  content:"♡";
  font:62px var(--serif);
  color:#cf8e81;
  position:absolute;
  top:27px;
  left:40px
}
.category-2 .art-shape {
  background:#e9f0e5;
  border-radius:55% 55% 15px 15px;
  width:118px;
  height:142px;
  right:32%
}
.category-3 .art-shape {
  background:#fbf6eb;
  border-radius:8px;
  width:122px;
  height:122px;
  transform:rotate(18deg)
}
.category-4 .art-shape {
  background:#f9f4e9;
  border-radius:100px 100px 16px 16px;
  width:160px;
  height:95px;
  right:20%
}
.category-5 .art-shape {
  background:#e7af9f;
  border-radius:65px 65px 25px 25px;
  width:120px;
  height:150px;
  right:30%
}
.category-tag {
  letter-spacing:.13em;
  text-transform:uppercase;
  margin:0 0 10px;
  font-size:9px
}
.category-card h3 {
  font:27px/.95 var(--serif);
  letter-spacing:-.045em;
  margin:0 0 13px
}
.category-card>p:not(.category-tag) {
  margin:0;
  font-size:12px;
  line-height:1.55
}
.category-card a {
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-top:auto;
  padding-top:21px;
  font-size:10px
}
.category-card a span {
  margin-left:6px;
  font-size:17px
}
.story {
  background:#d4dfd1;
  grid-template-columns:1fr 1fr;
  min-height:670px;
  display:grid
}
.story-visual {
  background:#b3c1aa;
  margin:55px;
  position:relative;
  overflow:hidden
}
.story-visual:before {
  content:"";
  background:#e6e0ce;
  border-radius:50%;
  width:470px;
  height:470px;
  position:absolute;
  bottom:-260px;
  left:-70px
}
.story-visual:after {
  content:"";
  background:#f5eee4;
  border-radius:48% 52% 43% 57%;
  width:300px;
  height:300px;
  position:absolute;
  top:80px;
  right:-120px
}
.ribbon {
  width:100px;
  height:100px;
  font:47px var(--serif);
  z-index:2;
  background:#f0c8c2;
  border-radius:50%;
  place-content:center;
  display:grid;
  position:absolute;
  top:50px;
  left:63px
}
.story-visual>p {
  z-index:3;
  font:28px/.95 var(--serif);
  position:absolute;
  bottom:98px;
  right:35px;
  transform:rotate(-9deg)
}
.story-years {
  z-index:3;
  font:135px/.7 var(--serif);
  letter-spacing:-12px;
  color:var(--ink);
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%)
}
.story-years span {
  letter-spacing:0;
  text-transform:uppercase;
  margin-left:8px;
  font:16px Arial
}
.story-years em {
  font:50px var(--serif);
  letter-spacing:0;
  vertical-align:top
}
.story-copy {
  padding:125px 8vw 90px 3.5vw
}
.story-copy h2 {
  margin-bottom:32px;
  font-size:clamp(43px,4.3vw,64px)
}
.story-copy>p:not(.eyebrow):not(.signature) {
  max-width:460px;
  font-size:14px;
  line-height:1.66
}
.signature {
  font:24px/1.05 var(--serif);
  margin:30px 0
}
.button-outline {
  border-color:var(--ink)
}
.promise {
  color:#f7f4ee;
  background:#2c302b
}
.promise-grid {
  grid-template-columns:1.3fr .7fr;
  gap:9vw;
  display:grid
}
.promise h2 {
  font-size:clamp(45px,5vw,71px)
}
.promise-list>div {
  border-top:1px solid #ffffff4d;
  gap:19px;
  padding:18px 0;
  display:flex
}
.promise-list>div:last-child {
  border-bottom:1px solid #ffffff4d
}
.promise-list span {
  opacity:.7;
  font:10px Arial
}
.promise-list p {
  margin:0;
  font-size:13px;
  line-height:1.55
}
.promise-list b {
  font:23px var(--serif);
  letter-spacing:-.035em;
  margin-bottom:4px;
  display:block
}
.consultation {
  background:#f0c8c2;
  grid-template-columns:.85fr 1.15fr;
  gap:10vw;
  padding:125px 5.6vw;
  display:grid
}
.consultation h2 {
  margin-bottom:25px;
  font-size:clamp(57px,6vw,80px)
}
.consultation-intro>p:not(.eyebrow) {
  max-width:330px;
  font-size:14px;
  line-height:1.6
}
.consultation-detail {
  font:22px/1.1 var(--serif);
  max-width:260px;
  margin-top:47px
}
.consultation-detail span {
  font:26px Arial
}
.wizard {
  background:#f9f6f0;
  align-self:start;
  min-height:420px;
  padding:44px min(5vw,65px)
}
.wizard-top {
  letter-spacing:.12em;
  align-items:center;
  gap:17px;
  font-size:10px;
  display:flex
}
.progress {
  background:#d0c8bc;
  flex:1;
  height:1px
}
.progress i {
  background:var(--ink);
  height:100%;
  transition:width .25s;
  display:block
}
.wizard h3 {
  font:42px/.98 var(--serif);
  letter-spacing:-.05em;
  max-width:520px;
  margin:47px 0 29px
}
.options {
  grid-template-columns:1fr 1fr;
  gap:9px;
  display:grid
}
.options button {
  text-align:left;
  background:#fff;
  border:1px solid #ded8cd;
  justify-content:space-between;
  align-items:center;
  padding:16px 17px;
  font-size:12px;
  transition:all .2s;
  display:flex
}
.options button:hover {
  background:var(--ink);
  color:#fff;
  border-color:var(--ink)
}
.options button span {
  font-size:18px
}
.wizard-success {
  max-width:500px
}
.success-star {
  font-size:29px
}
.wizard-success h3 {
  margin:17px 0
}
.wizard-success>p:not(.eyebrow) {
  margin-bottom:27px;
  font-size:14px;
  line-height:1.55
}
.wizard-restart {
  text-transform:uppercase;
  letter-spacing:.1em;
  margin:24px 0 0;
  font-size:10px;
  text-decoration:underline;
  display:block
}
.visit {
  justify-content:space-between;
  gap:80px;
  padding:93px 5.6vw;
  display:flex
}
.visit h2 {
  font-size:clamp(38px,4vw,59px)
}
.visit-details {
  align-content:end;
  gap:23px;
  width:400px;
  display:grid
}
.visit-details a {
  border-top:1px solid var(--line);
  padding-top:15px;
  font-size:12px;
  line-height:1.5
}
.visit-details b {
  font:18px var(--serif);
  letter-spacing:-.03em
}
.visit-details span {
  float:right;
  font-size:16px
}
footer {
  background:var(--ink);
  color:#f8f4ea;
  padding:60px 5.6vw 22px
}
.footer-main {
  grid-template-columns:1fr 1fr auto;
  align-items:center;
  gap:30px;
  display:grid
}
.footer-brand {
  font-size:24px
}
.footer-brand .brand-mark {
  width:45px;
  height:45px;
  font-size:15px
}
.footer-main>p {
  font:14px/1.5 var(--serif);
  margin:0
}
.button-light {
  color:var(--ink);
  background:#f8f4ea
}
.footer-bottom {
  letter-spacing:.1em;
  text-transform:uppercase;
  border-top:1px solid #ffffff40;
  justify-content:space-between;
  margin-top:55px;
  padding-top:16px;
  font-size:9px;
  display:flex
}
@media (width<=850px) {
  .site-header {
  height:75px;
  padding:0 6vw
}
.site-header nav {
  background:var(--paper);
  border-bottom:1px solid var(--line);
  align-items:flex-start;
  gap:21px;
  padding:22px 6vw;
  display:none;
  position:absolute;
  top:74px;
  left:0;
  right:0
}
.site-header nav.nav-open {
  flex-direction:column;
  display:flex
}
.menu-toggle {
  display:block
}
.hero {
  min-height:auto;
  padding:130px 6vw 65px;
  display:block
}
.hero-copy {
  z-index:2;
  position:relative
}
.hero h1 {
  font-size:clamp(54px,13vw,84px)
}
.hero-text {
  font-size:14px
}
.hero-art {
  height:450px;
  margin:56px 0 0
}
.hero-scroll {
  display:none
}
.intro-band {
  min-height:330px;
  padding:57px 8vw
}
.intro-band h2 {
  margin-top:38px
}
.intro-stamp {
  width:115px;
  height:115px;
  font-size:7px;
  top:auto;
  bottom:26px;
  right:7vw
}
.intro-stamp span {
  font-size:31px
}
.section-pad {
  padding:86px 6vw
}
.section-head {
  display:block
}
.section-head h2 {
  margin:0 0 22px
}
.section-head>p:last-child {
  max-width:410px
}
.category-grid {
  grid-template-columns:1fr 1fr
}
.category-card {
  min-height:370px
}
.card-art {
  height:146px
}
.story {
  display:block
}
.story-visual {
  height:430px;
  margin:0
}
.story-copy {
  padding:80px 8vw
}
.promise-grid,.consultation {
  grid-template-columns:1fr;
  gap:50px
}
.promise h2 {
  margin-bottom:45px
}
.consultation {
  padding:85px 6vw
}
.visit {
  padding:75px 6vw;
  display:block
}
.visit-details {
  width:auto;
  margin-top:48px
}
.footer-main {
  grid-template-columns:1fr;
  align-items:start
}
.footer-main .button {
  justify-self:start
}
.footer-bottom {
  margin-top:40px
}

}
@media (width<=520px) {
  .brand {
  font-size:16px
}
.brand-mark {
  width:30px;
  height:30px
}
.hero-actions {
  flex-direction:column;
  align-items:flex-start;
  gap:20px
}
.hero-art {
  border-radius:180px 180px 14px 14px;
  height:380px
}
.sun {
  width:72px;
  height:72px;
  top:47px;
  right:44px
}
.mobile {
  top:160px;
  transform:translate(-50%)scale(.8)
}
.card-one {
  bottom:24px;
  left:20px
}
.card-two {
  bottom:43px;
  right:11px;
  transform:scale(.8)rotate(8deg)
}
.art-note {
  top:215px;
  left:28px
}
.section-head h2 br {
  display:none
}
.category-grid {
  grid-template-columns:1fr
}
.category-card {
  min-height:355px
}
.card-art {
  height:154px
}
.story-copy h2 br {
  display:none
}
.story-years {
  font-size:105px
}
.story-visual>p {
  font-size:23px
}
.story-copy {
  padding:70px 7vw
}
.promise h2 br {
  display:none
}
.wizard {
  min-height:440px;
  padding:33px 22px
}
.wizard h3 {
  margin-top:38px;
  font-size:36px
}
.options {
  grid-template-columns:1fr
}
.visit h2 br {
  display:none
}
.footer-main>p {
  font-size:13px
}

}
.brand {
  width:175px;
  height:70px;
  overflow:hidden
}
.brand-logo {
  width:235px;
  max-width:none;
  height:auto;
  display:block;
  transform:translate(-32px,9px)
}
.footer-brand {
  width:220px;
  height:94px
}
.footer-brand .brand-logo {
  width:300px;
  transform:translate(-40px,10px)
}
@media (width<=520px) {
  .brand {
  width:143px;
  height:58px
}
.brand-logo {
  width:193px;
  transform:translate(-27px,10px)
}
.footer-brand {
  width:195px;
  height:82px
}
.footer-brand .brand-logo {
  width:263px;
  transform:translate(-35px,10px)
}

}
:root {
  --paper:#f2dfc4;
  --cream:#dfbd91;
  --pink:#c9826d;
  --sage:#b8c1a4;
  --red:#a55240;
  --ink:#30261f;
  --line:#462e1f38;
  --serif:var(--font-geist-sans),Arial,sans-serif
}
body {
  background:var(--paper);
  font-family:var(--font-geist-sans),Arial,sans-serif
}
.site-header {
  background:#f2dfc4;
  height:108px;
  padding:0 5.6vw;
  position:relative
}
.site-header .brand {
  width:205px;
  height:98px;
  overflow:visible
}
.site-header .brand-logo {
  object-fit:contain;
  width:205px;
  max-width:none;
  height:98px;
  transform:none
}
.hero {
  background:radial-gradient(circle at 84% 30%,#f7ead5 0 12%,#0000 38%),#ecd5b5;
  min-height:680px;
  padding-top:145px
}
.hero h1,.section-head h2,.story h2,.promise h2,.consultation h2,.visit h2,.intro-band h2 {
  font-family:var(--font-geist-sans),Arial,sans-serif;
  letter-spacing:-.065em;
  font-style:normal;
  font-weight:680;
  line-height:.96
}
.hero h1 i,.section-head h2 i,.promise h2 i,.consultation h2 i {
  color:#925340;
  font-style:normal
}
.hero-text {
  font-size:15px;
  line-height:1.72
}
.hero-art {
  background:#c58c73;
  border-radius:18px;
  box-shadow:18px 18px #91543924
}
.hero-art:after {
  background:#a96d56
}
.sun {
  background:#eac165
}
.cloud {
  background:#f7ead5
}
.hero-card,.art-note {
  display:none
}
.mobile {
  background:#f5e6cf;
  box-shadow:0 18px 36px #532b1a38
}
.mobile:before {
  border-color:#9b543f
}
.mobile:after {
  color:#9b543f
}
.intro-band {
  color:#30261f;
  background:#c9826d;
  min-height:360px;
  padding:75px 14vw
}
.intro-band h2 {
  margin-top:38px
}
.categories {
  background:#e4c49d
}
.category-grid {
  background:#5937233d;
  border-color:#5937233d
}
.category-card {
  background:#f3e1c8
}
.card-art {
  background:#cfab84
}
.category-2 .card-art {
  background:#d4a08a
}
.category-3 .card-art {
  background:#bb9b86
}
.category-4 .card-art {
  background:#a9b6a3
}
.category-5 .card-art {
  background:#d1ac71
}
.story {
  background:#b6c0a5
}
.story-visual {
  background:#a1ad92
}
.promise {
  background:#3b2e27
}
.consultation {
  background:#d4a184
}
.wizard {
  background:#f6e8d4
}
.visit {
  background:#e7cba8
}
.site-header .nav-contact {
  background:#f7ead5;
  border-color:#7d4939
}
.footer-main {
  grid-template-columns:1fr 1fr auto
}
.footer-brand {
  width:250px;
  height:118px;
  overflow:visible
}
.footer-brand .brand-logo {
  object-fit:contain;
  width:250px;
  height:118px;
  transform:none
}
.footer-main,.footer-bottom,footer {
  background:#3b2e27
}
.footer-main {
  margin:-60px -5.6vw 0;
  padding:60px 5.6vw 0
}
.footer-bottom {
  margin-left:-5.6vw;
  margin-right:-5.6vw;
  padding-left:5.6vw;
  padding-right:5.6vw
}
.intro-stamp {
  display:none
}
@media (width<=850px) {
  .site-header {
  height:82px
}
.site-header .brand,.site-header .brand-logo {
  width:160px;
  height:78px
}
.hero {
  padding-top:120px
}

}
@media (width<=520px) {
  .site-header .brand,.site-header .brand-logo {
  width:135px;
  height:68px
}
.footer-brand,.footer-brand .brand-logo {
  width:195px;
  height:92px
}

}
:root {
  --paper:#e9dcc7;
  --ink:#31251f;
  --brown:#382922;
  --clay:#9d5b48;
  --line:#31251f3d
}
body {
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-geist-sans),Arial,sans-serif
}
.site-header {
  display:none
}
.atelier-site {
  overflow:hidden
}
.atelier-hero {
  color:#f8f0e5;
  background:#4b3930;
  min-height:100svh;
  position:relative
}
.hero-media {
  background:radial-gradient(circle at 72% 22%,#e1c0924d,#0000 25%),linear-gradient(115deg,#30221cc7,#30221c3d),linear-gradient(135deg,#60483b,#a1654d);
  position:absolute;
  inset:0;
  overflow:hidden
}
.hero-media:before {
  content:"";
  border:1px solid #fff8eb33;
  border-radius:50% 50% 4% 4%/28% 28% 4% 4%;
  position:absolute;
  inset:10%;
  transform:rotate(-12deg)
}
.hero-media:after {
  content:"";
  mix-blend-mode:screen;
  background:repeating-linear-gradient(100deg,#ffffff05 0 1px,#0000 1px 7px);
  position:absolute;
  inset:0
}
.hero-media span {
  letter-spacing:.15em;
  text-transform:uppercase;
  opacity:.65;
  font-size:9px;
  position:absolute;
  bottom:4vh;
  right:5.5vw
}
.atelier-header {
  z-index:3;
  border-bottom:1px solid #fff8eb40;
  justify-content:space-between;
  align-items:center;
  height:112px;
  padding:0 5.5vw;
  display:flex;
  position:absolute;
  top:0;
  left:0;
  right:0
}
.atelier-brand {
  width:194px;
  height:90px;
  display:block
}
.atelier-brand img,.footer-logo img {
  object-fit:contain;
  width:100%;
  height:100%
}
.atelier-header nav {
  letter-spacing:.12em;
  text-transform:uppercase;
  gap:30px;
  font-size:10px;
  display:flex
}
.atelier-header nav a {
  opacity:.88
}
.atelier-header nav a:hover {
  opacity:1
}
.atelier-menu {
  color:inherit;
  text-transform:uppercase;
  letter-spacing:.12em;
  background:0 0;
  border:0;
  font-size:10px;
  display:none
}
.hero-copy {
  z-index:2;
  max-width:1100px;
  position:absolute;
  bottom:7vh;
  left:5.5vw;
  right:5.5vw
}
.hero-copy>p {
  letter-spacing:.16em;
  margin:0 0 17px;
  font-size:10px;
  font-weight:600
}
.hero-copy h1 {
  letter-spacing:-.075em;
  max-width:1000px;
  margin:0;
  font-size:clamp(52px,6.1vw,104px);
  font-weight:650;
  line-height:.89
}
.hero-copy h1 em {
  color:#e4c290;
  font-style:normal
}
.hero-bottom {
  justify-content:space-between;
  align-items:end;
  gap:32px;
  max-width:670px;
  margin-top:42px;
  font-size:13px;
  line-height:1.55;
  display:flex
}
.hero-bottom>span {
  max-width:330px
}
.hero-bottom a {
  text-transform:uppercase;
  letter-spacing:.08em;
  white-space:nowrap;
  border-bottom:1px solid;
  padding-bottom:8px;
  font-size:10px
}
.hero-bottom b {
  margin-left:7px;
  font-size:18px
}
.page-section {
  padding:140px 5.5vw
}
.section-label {
  letter-spacing:.15em;
  text-transform:uppercase;
  margin:0 0 24px;
  font-size:10px;
  font-weight:650
}
.atelier-intro {
  background:var(--paper)
}
.intro-grid {
  grid-template-columns:1.2fr .8fr;
  align-items:end;
  gap:9vw;
  display:grid
}
.intro-grid h2,.collections h2,.making h2,.story-note h2,.consultation-block h2,.contact-strip h2 {
  letter-spacing:-.075em;
  margin:0;
  font-size:clamp(45px,5.2vw,78px);
  font-weight:650;
  line-height:.92
}
.intro-grid h2 em,.collections h2 em,.making h2 em,.consultation-block h2 em {
  color:var(--clay);
  font-style:normal
}
.intro-copy {
  max-width:400px
}
.intro-copy p,.making-copy>p:not(.section-label),.story-note-copy>p:not(.quote),.consultation-copy>p:not(.section-label) {
  margin:0 0 20px;
  font-size:15px;
  line-height:1.7
}
.line-link {
  text-transform:uppercase;
  letter-spacing:.12em;
  border-bottom:1px solid;
  gap:20px;
  margin-top:16px;
  padding-bottom:6px;
  font-size:10px;
  display:inline-flex
}
.atelier-details {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  grid-template-columns:repeat(4,1fr);
  margin-top:110px;
  display:grid
}
.atelier-details span {
  text-transform:uppercase;
  letter-spacing:.12em;
  padding:17px 0;
  font-size:10px
}
.atelier-details span+span {
  border-left:1px solid var(--line);
  padding-left:18px
}
.collections {
  background:var(--paper);
  padding-top:40px
}
.collections-head {
  border-bottom:1px solid var(--line);
  justify-content:space-between;
  align-items:end;
  gap:10vw;
  padding:90px 0 65px;
  display:flex
}
.collections-head>p {
  max-width:315px;
  font-size:14px;
  line-height:1.6
}
.collection-row {
  border-bottom:1px solid var(--line);
  grid-template-columns:80px 1.05fr .85fr 35px;
  align-items:center;
  gap:25px;
  padding:31px 0;
  display:grid
}
.collection-row>span {
  letter-spacing:.13em;
  font-size:10px
}
.collection-row h3 {
  letter-spacing:-.05em;
  margin:0;
  font-size:clamp(23px,2.3vw,36px);
  font-weight:520
}
.collection-row p {
  max-width:290px;
  margin:0;
  font-size:13px;
  line-height:1.5
}
.collection-row a {
  font-size:25px;
  transition:transform .25s
}
.collection-row:hover a {
  transform:translate(5px,-5px)
}
.making {
  background:var(--brown);
  color:#f8f0e5;
  grid-template-columns:1fr 1fr;
  min-height:670px;
  display:grid
}
.making-visual {
  background:linear-gradient(140deg,#86513f,#c18465);
  place-content:center;
  display:grid;
  position:relative;
  overflow:hidden
}
.making-visual:before,.making-visual:after {
  content:"";
  border:1px solid #fff3de52;
  border-radius:50%;
  position:absolute
}
.making-visual:before {
  width:620px;
  height:620px
}
.making-visual:after {
  width:390px;
  height:390px
}
.making-visual span {
  letter-spacing:-.15em;
  z-index:1;
  color:#f5e2c8;
  font-size:clamp(110px,14vw,220px);
  font-weight:650;
  position:relative
}
.making-visual p {
  z-index:1;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:10px;
  line-height:1.5;
  position:absolute;
  bottom:11%;
  left:11%
}
.making-copy {
  align-self:center;
  padding:100px 10vw
}
.making-copy>p:not(.section-label) {
  max-width:400px;
  margin-top:30px
}
.story-note {
  background:var(--paper);
  grid-template-columns:1fr 1fr;
  gap:10vw;
  display:grid
}
.story-note-copy {
  align-self:end;
  max-width:470px
}
.quote {
  letter-spacing:-.05em;
  margin:55px 0 0;
  font-size:clamp(24px,2.5vw,38px);
  line-height:1.05
}
.consultation-block {
  background:var(--paper);
  border-top:1px solid var(--line);
  grid-template-columns:.85fr 1.15fr;
  gap:10vw;
  padding:135px 5.5vw;
  display:grid
}
.consultation-copy>p:not(.section-label) {
  max-width:330px;
  margin-top:27px
}
.atelier-wizard {
  border:1px solid var(--line);
  background:#fffaf252;
  padding:42px
}
.wizard-count {
  letter-spacing:.13em;
  font-size:10px
}
.atelier-wizard h3 {
  letter-spacing:-.05em;
  margin:50px 0 30px;
  font-size:clamp(29px,3vw,45px);
  line-height:1.02
}
.wizard-options {
  grid-template-columns:1fr 1fr;
  gap:8px;
  display:grid
}
.wizard-options button {
  text-align:left;
  border:1px solid var(--line);
  color:inherit;
  background:0 0;
  justify-content:space-between;
  align-items:center;
  padding:17px;
  font-size:12px;
  transition:all .2s;
  display:flex
}
.wizard-options button:hover {
  background:var(--brown);
  color:#f8f0e5
}
.wizard-options span {
  font-size:17px
}
.wizard-done p {
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:10px
}
.wizard-done a {
  background:var(--brown);
  color:#fff8ec;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-top:10px;
  padding:15px 18px;
  font-size:10px;
  display:inline-flex
}
.wizard-done button {
  text-transform:uppercase;
  letter-spacing:.1em;
  background:0 0;
  border:0;
  margin-top:20px;
  padding:0;
  font-size:9px;
  text-decoration:underline;
  display:block
}
.contact-strip {
  background:var(--paper);
  border-top:1px solid var(--line);
  justify-content:space-between;
  align-items:end;
  gap:10vw;
  padding-top:80px;
  padding-bottom:80px;
  display:flex
}
.contact-strip h2 {
  font-size:clamp(32px,3.5vw,52px)
}
.contact-links {
  gap:17px;
  min-width:315px;
  display:grid
}
.contact-links a {
  border-bottom:1px solid var(--line);
  padding-bottom:15px;
  font-size:16px
}
.contact-links span {
  float:right
}
footer {
  background:var(--brown);
  color:#f8f0e5;
  grid-template-columns:1fr 1fr auto;
  align-items:center;
  gap:45px;
  min-height:310px;
  padding:60px 5.5vw 25px;
  display:grid
}
.footer-logo {
  width:240px;
  height:120px;
  display:block
}
.footer-logo img {
  filter:none
}
.footer-logo+p {
  font-size:14px;
  line-height:1.6
}
.footer-logo~span {
  letter-spacing:.12em;
  text-transform:uppercase;
  align-self:end;
  font-size:9px
}
.reveal {
  opacity:0;
  transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);
  transform:translateY(28px)
}
.reveal.is-visible {
  opacity:1;
  transform:none
}
.collection-row:nth-child(2) {
  transition-delay:60ms
}
.collection-row:nth-child(3) {
  transition-delay:.12s
}
.collection-row:nth-child(4) {
  transition-delay:.18s
}
.collection-row:nth-child(5) {
  transition-delay:.24s
}
@media (width<=850px) {
  .atelier-header nav {
  display:none
}
.atelier-header nav.open {
  background:#4b3930;
  flex-direction:column;
  padding:25px 5.5vw;
  display:flex;
  position:absolute;
  top:112px;
  left:0;
  right:0
}
.atelier-menu {
  display:block
}
.intro-grid,.story-note,.consultation-block,.making {
  grid-template-columns:1fr
}
.making-visual {
  min-height:420px
}
.making-copy {
  padding:80px 7vw
}
.collection-row {
  grid-template-columns:45px 1fr 28px
}
.collection-row p {
  display:none
}
.collections-head,.contact-strip {
  display:block
}
.collections-head>p {
  margin-top:24px
}
.contact-links {
  margin-top:45px
}
.atelier-details {
  grid-template-columns:1fr 1fr
}
.atelier-details span:nth-child(3) {
  border-left:0
}
.story-note-copy {
  margin-top:45px
}
footer {
  grid-template-columns:1fr;
  gap:15px
}
.footer-logo~span {
  align-self:auto
}
.footer-logo {
  width:205px
}

}
@media (width<=520px) {
  .atelier-header {
  height:86px
}
.atelier-brand {
  width:145px;
  height:70px
}
.atelier-header nav.open {
  top:86px
}
.hero-copy {
  bottom:5vh
}
.hero-copy h1 {
  font-size:clamp(46px,13vw,65px)
}
.hero-bottom {
  margin-top:30px;
  display:block
}
.hero-bottom a {
  margin-top:24px;
  display:inline-block
}
.page-section {
  padding:88px 6vw
}
.intro-grid h2,.collections h2,.making h2,.story-note h2,.consultation-block h2 {
  font-size:45px
}
.atelier-details {
  margin-top:65px
}
.atelier-details span {
  padding:14px 0;
  font-size:9px
}
.collections {
  padding-top:0
}
.collection-row {
  padding:23px 0
}
.making-visual {
  min-height:340px
}
.making-copy {
  padding:75px 7vw
}
.consultation-block {
  padding:85px 6vw
}
.atelier-wizard {
  margin-top:10px;
  padding:26px 20px
}
.wizard-options {
  grid-template-columns:1fr
}
.contact-strip {
  padding-top:70px;
  padding-bottom:70px
}
.contact-links {
  min-width:0
}
footer {
  min-height:260px;
  padding:45px 6vw 25px
}
.footer-logo {
  width:180px;
  height:90px
}

}
@media (prefers-reduced-motion:reduce) {
  *,:before,:after {
  transition-duration:.01ms!important;
  animation-duration:.01ms!important
}
.reveal {
  opacity:1;
  transform:none
}

}
.atelier-intro {
  padding-bottom:22px
}
.atelier-details {
  margin-top:72px
}
.collections {
  padding-top:0
}
.collections-head {
  padding-top:24px
}
@media (width<=520px) {
  .atelier-intro {
  padding-bottom:46px
}
.atelier-details {
  margin-top:52px
}

}
.atelier-discoveries {
  border-top:1px solid var(--line);
  grid-template-columns:repeat(4,1fr);
  margin-top:72px;
  display:grid
}
.atelier-mark {
  grid-template-columns:48px 1fr;
  align-items:start;
  gap:13px;
  min-height:170px;
  padding:25px 22px 23px 0;
  display:grid
}
.atelier-mark+.atelier-mark {
  border-left:1px solid var(--line);
  padding-left:22px
}
.atelier-mark h3 {
  letter-spacing:.1em;
  text-transform:uppercase;
  margin:4px 0 9px;
  font-size:11px
}
.atelier-mark p {
  max-width:175px;
  margin:0;
  font-size:12px;
  line-height:1.48
}
.atelier-icon {
  border:1px solid var(--clay);
  width:43px;
  height:43px;
  color:var(--clay);
  border-radius:50%;
  place-items:center;
  display:grid;
  position:relative
}
.atelier-icon i {
  width:21px;
  height:21px;
  display:block;
  position:relative
}
.atelier-icon.stitch i:before,.atelier-icon.stitch i:after {
  content:"";
  background:currentColor;
  border-radius:2px;
  width:1px;
  height:25px;
  position:absolute;
  left:9px;
  transform:rotate(42deg)
}
.atelier-icon.stitch i:before {
  top:-4px
}
.atelier-icon.stitch i:after {
  opacity:.65;
  height:13px;
  top:0;
  left:3px
}
.atelier-icon.measure i {
  border:1px solid
}
.atelier-icon.measure i:before,.atelier-icon.measure i:after {
  content:"";
  border-top:1px solid;
  width:5px;
  position:absolute;
  top:5px
}
.atelier-icon.measure i:before {
  left:3px
}
.atelier-icon.measure i:after {
  top:13px;
  right:3px
}
.atelier-icon.calendar i {
  border:1px solid;
  border-radius:2px
}
.atelier-icon.calendar i:before {
  content:"";
  border-top:1px solid;
  position:absolute;
  top:5px;
  left:0;
  right:0
}
.atelier-icon.calendar i:after {
  content:"30";
  text-align:center;
  letter-spacing:0;
  font-size:7px;
  position:absolute;
  inset:7px 0 0
}
.atelier-icon.since i:before {
  content:"01";
  text-align:center;
  letter-spacing:-.08em;
  font-size:12px;
  font-weight:650;
  position:absolute;
  inset:3px 0 0
}
.atelier-discoveries.is-visible .atelier-mark {
  animation:.6s cubic-bezier(.22,1,.36,1) both mark-in
}
.atelier-discoveries.is-visible .atelier-mark:nth-child(2) {
  animation-delay:70ms
}
.atelier-discoveries.is-visible .atelier-mark:nth-child(3) {
  animation-delay:.14s
}
.atelier-discoveries.is-visible .atelier-mark:nth-child(4) {
  animation-delay:.21s
}
@keyframes mark-in {
  0% {
  opacity:0;
  transform:translateY(16px)
}
to {
  opacity:1;
  transform:none
}

}
.collection-gallery {
  border:1px solid var(--line);
  grid-template-columns:repeat(3,1fr);
  align-items:start;
  margin-top:8px;
  display:grid
}
.collection-card {
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff9ef1f;
  flex-direction:column;
  min-height:570px;
  padding:32px;
  display:flex
}
.collection-card:nth-child(3n) {
  border-right:0
}
.collection-card:nth-child(2) {
  background:#f4e8d4;
  margin-top:-12px;
  box-shadow:0 12px #4e37291f
}
.collection-card:nth-child(4),.collection-card:nth-child(5) {
  border-bottom:0
}
.collection-media {
  background:linear-gradient(130deg,#caaa82,#b98d73);
  place-items:center;
  height:262px;
  display:grid;
  position:relative;
  overflow:hidden
}
.collection-card:nth-child(2) .collection-media {
  background:linear-gradient(130deg,#c78876,#d7a089)
}
.collection-card:nth-child(3) .collection-media {
  background:linear-gradient(130deg,#ae8e7b,#c6a48b)
}
.collection-card:nth-child(4) .collection-media {
  background:linear-gradient(130deg,#a7b09d,#bdc3af)
}
.collection-card:nth-child(5) .collection-media {
  background:linear-gradient(130deg,#d0aa6e,#d7bc83)
}
.collection-media>span {
  z-index:2;
  font-size:13px;
  position:absolute;
  top:20px;
  left:20px
}
.photo-placeholder {
  background:#fbf5ea;
  border-radius:82px 82px 0 0;
  align-self:end;
  width:158px;
  height:175px;
  position:relative;
  box-shadow:0 -11px #ffffff30
}
.photo-placeholder:before {
  content:"";
  opacity:.78;
  border:2px solid #d18d7e;
  border-radius:50% 50% 49% 49%;
  width:72px;
  height:72px;
  position:absolute;
  top:43px;
  left:43px
}
.photo-placeholder:after {
  content:"";
  opacity:.78;
  border:2px solid #d18d7e;
  border-bottom:0;
  border-radius:70px 70px 0 0;
  width:112px;
  height:83px;
  position:absolute;
  bottom:0;
  left:23px
}
.photo-placeholder i {
  background:#d18d7e;
  border-radius:50%;
  width:18px;
  height:18px;
  position:absolute;
  top:72px;
  left:70px;
  box-shadow:-25px 3px 0 -4px #d18d7e,25px 3px 0 -4px #d18d7e
}
.media-curtain {
  background:var(--paper);
  position:absolute;
  inset:0;
  transform:translateY(0)
}
.collection-gallery.is-visible .media-curtain {
  animation:.85s cubic-bezier(.76,0,.24,1) forwards open-media
}
.collection-gallery.is-visible .collection-card:nth-child(2) .media-curtain {
  animation-delay:80ms
}
.collection-gallery.is-visible .collection-card:nth-child(3) .media-curtain {
  animation-delay:.16s
}
.collection-gallery.is-visible .collection-card:nth-child(4) .media-curtain {
  animation-delay:.23s
}
.collection-gallery.is-visible .collection-card:nth-child(5) .media-curtain {
  animation-delay:.3s
}
@keyframes open-media {
  to {
  transform:translateY(-102%)
}

}
.collection-tag {
  text-transform:uppercase;
  letter-spacing:.13em;
  margin:29px 0 16px!important;
  font-size:10px!important
}
.collection-card h3 {
  letter-spacing:-.065em;
  margin:0 0 19px;
  font-size:clamp(27px,2.25vw,40px);
  font-weight:540;
  line-height:.98
}
.collection-card>p:not(.collection-tag) {
  max-width:430px;
  margin:0;
  font-size:14px;
  line-height:1.55
}
.collection-card a {
  text-transform:uppercase;
  letter-spacing:.11em;
  margin-top:auto;
  padding-top:42px;
  font-size:10px
}
.collection-card a span {
  vertical-align:-2px;
  margin-left:11px;
  font-size:21px
}
.collection-card:hover .photo-placeholder {
  transition:transform .35s;
  transform:translateY(-7px)
}
.collection-card:hover a span {
  transition:transform .25s;
  display:inline-block;
  transform:translate(5px)
}
.making-visual {
  overflow:hidden
}
.moving-thread {
  pointer-events:none;
  position:absolute;
  inset:0
}
.moving-thread i {
  border:1px solid #fff3de57;
  border-radius:50%;
  width:70%;
  height:54%;
  position:absolute;
  top:46%;
  left:-27%;
  transform:rotate(-18deg)
}
.moving-thread i:nth-child(2) {
  width:49%;
  height:43%;
  top:8%;
  left:39%;
  transform:rotate(38deg)
}
.moving-thread i:nth-child(3) {
  width:25%;
  height:19%;
  top:65%;
  left:57%;
  transform:rotate(-31deg)
}
.moving-thread i:nth-child(4) {
  background:#f5e2c8;
  border:0;
  border-radius:50%;
  width:14px;
  height:14px;
  top:51%;
  left:64%
}
.making-visual.is-visible .moving-thread {
  animation:1.5s cubic-bezier(.22,1,.36,1) both thread-drift
}
@keyframes thread-drift {
  0% {
  opacity:0;
  transform:translate(-10%)rotate(-3deg)
}
to {
  opacity:1;
  transform:none
}

}
.story-note-copy {
  position:relative
}
.story-line {
  color:var(--clay);
  text-transform:uppercase;
  letter-spacing:.14em;
  align-items:center;
  gap:12px;
  margin-top:55px;
  font-size:10px;
  display:flex
}
.story-line i {
  background:var(--clay);
  transform-origin:0;
  flex:1;
  height:1px
}
.story-note-copy.is-visible .story-line i {
  animation:.9s cubic-bezier(.76,0,.24,1) .25s both line-grow
}
@keyframes line-grow {
  0% {
  transform:scaleX(0)
}
to {
  transform:scaleX(1)
}

}
@media (width<=900px) {
  .atelier-discoveries {
  grid-template-columns:repeat(2,1fr)
}
.atelier-mark:nth-child(3) {
  border-left:0
}
.atelier-mark:nth-child(n+3) {
  border-top:1px solid var(--line)
}
.collection-gallery {
  grid-template-columns:repeat(2,1fr)
}
.collection-card:nth-child(2) {
  margin-top:0
}
.collection-card:nth-child(2n) {
  border-right:0
}
.collection-card:nth-child(3) {
  border-right:1px solid var(--line)
}
.collection-card:nth-child(n+4) {
  border-bottom:0
}
.collection-card:nth-child(5) {
  border-right:0
}

}
@media (width<=520px) {
  .atelier-discoveries {
  margin-top:52px
}
.atelier-mark {
  grid-template-columns:40px 1fr;
  gap:10px;
  min-height:145px;
  padding:19px 12px 19px 0
}
.atelier-mark+.atelier-mark {
  padding-left:12px
}
.atelier-icon {
  width:34px;
  height:34px
}
.atelier-mark h3 {
  margin:2px 0 7px;
  font-size:9px
}
.atelier-mark p {
  font-size:10px;
  line-height:1.4
}
.collection-gallery {
  grid-template-columns:1fr;
  margin-top:0
}
.collection-card,.collection-card:nth-child(2) {
  border-right:0;
  border-bottom:1px solid var(--line);
  min-height:480px;
  box-shadow:none;
  padding:24px
}
.collection-card:last-child {
  border-bottom:0
}
.collection-media {
  height:230px
}
.collection-card h3 {
  font-size:34px
}
.collection-card:nth-child(3),.collection-card:nth-child(5) {
  border-right:0
}

}
@media (prefers-reduced-motion:reduce) {
  .atelier-discoveries.is-visible .atelier-mark,.collection-gallery.is-visible .media-curtain,.making-visual.is-visible .moving-thread,.story-note-copy.is-visible .story-line i {
  animation:none
}
.media-curtain {
  display:none
}

}
.photo-placeholder:before {
  content:"♡";
  text-align:center;
  color:#d18d7e;
  opacity:.92;
  border:0;
  font-family:Georgia,serif;
  font-size:72px;
  line-height:1;
  inset:42px 0 0
}
.photo-placeholder:after {
  border:0;
  border-top:1px solid #d18d7e8c;
  border-radius:0;
  width:104px;
  height:0;
  bottom:0;
  left:27px
}
.photo-placeholder i {
  display:none
}
html {
  scroll-behavior:smooth
}
body {
  font-family:var(--font-dm-sans),Arial,sans-serif;
  letter-spacing:-.012em
}
.hero-media {
  transform:translate3d(0,var(--hero-parallax,0px),0) scale(var(--hero-zoom,1));
  will-change:transform
}
.hero-copy {
  transform:translate3d(0,var(--hero-copy-shift,0px),0);
  will-change:transform
}
.atelier-header {
  transition:background-color .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s
}
.atelier-header:hover {
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  background:#37292238
}
.reveal {
  transition-duration:.9s;
  transition-timing-function:cubic-bezier(.16,1,.3,1)
}
.collections-head h2,.intro-grid h2,.making h2,.story-note h2,.consultation-block h2 {
  letter-spacing:-.065em;
  font-weight:600
}
.intro-copy p,.making-copy>p:not(.section-label),.story-note-copy>p:not(.quote),.consultation-copy>p:not(.section-label),.collection-card>p:not(.collection-tag) {
  font-weight:420;
  line-height:1.68
}
.story-note {
  grid-template-columns:.9fr 1.1fr;
  align-items:start;
  gap:8vw
}
.story-note-copy {
  align-self:start;
  max-width:560px;
  padding-top:39px
}
.story-timeline {
  grid-column:1/-1;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
  margin-top:80px;
  padding-top:44px;
  display:grid;
  position:relative
}
.timeline-journey {
  background:#9d5b483d;
  height:2px;
  position:absolute;
  top:0;
  left:0;
  right:0;
  overflow:hidden
}
.timeline-journey i {
  background:var(--clay);
  transform-origin:0;
  width:100%;
  height:100%;
  display:block;
  transform:scaleX(0)
}
.story-timeline.is-visible .timeline-journey i {
  animation:1.5s cubic-bezier(.76,0,.24,1) .15s forwards timeline-draw
}
.timeline-stop {
  grid-template-columns:58px 1fr;
  gap:18px;
  padding-top:2px;
  display:grid;
  position:relative
}
.timeline-dot {
  border:1px solid var(--clay);
  background:var(--paper);
  width:58px;
  height:58px;
  color:var(--clay);
  letter-spacing:.04em;
  z-index:1;
  border-radius:50%;
  place-items:center;
  font-size:10px;
  font-weight:650;
  display:grid;
  position:relative
}
.timeline-stop p {
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--clay);
  margin:4px 0 10px;
  font-size:10px
}
.timeline-stop h3 {
  letter-spacing:-.055em;
  margin:0 0 10px;
  font-size:clamp(20px,2vw,29px);
  font-weight:590;
  line-height:1
}
.timeline-stop>div:last-child>span {
  max-width:255px;
  font-size:13px;
  line-height:1.5;
  display:block
}
.story-timeline.is-visible .timeline-stop {
  animation:.65s cubic-bezier(.16,1,.3,1) both stop-rise
}
.story-timeline.is-visible .timeline-middle {
  animation-delay:.38s
}
.story-timeline.is-visible .timeline-end {
  animation-delay:.64s
}
.story-timeline.is-visible .timeline-dot {
  animation:.5s cubic-bezier(.34,1.56,.64,1) both dot-open
}
.story-timeline.is-visible .timeline-middle .timeline-dot {
  animation-delay:.38s
}
.story-timeline.is-visible .timeline-end .timeline-dot {
  animation-delay:.64s
}
@keyframes timeline-draw {
  to {
  transform:scaleX(1)
}

}
@keyframes stop-rise {
  0% {
  opacity:0;
  transform:translateY(28px)
}
to {
  opacity:1;
  transform:none
}

}
@keyframes dot-open {
  0% {
  opacity:0;
  transform:scale(.15)
}
to {
  opacity:1;
  transform:scale(1)
}

}
.collection-card {
  transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s cubic-bezier(.16,1,.3,1)
}
.collection-card:hover {
  transform:translateY(-10px);
  box-shadow:0 16px 30px #31251f1f
}
.making-visual.is-visible .moving-thread {
  animation-duration:2s
}
.atelier-discoveries.is-visible .atelier-icon {
  animation:.65s cubic-bezier(.34,1.56,.64,1) both icon-pulse
}
.atelier-discoveries.is-visible .atelier-mark:nth-child(2) .atelier-icon {
  animation-delay:.12s
}
.atelier-discoveries.is-visible .atelier-mark:nth-child(3) .atelier-icon {
  animation-delay:.24s
}
.atelier-discoveries.is-visible .atelier-mark:nth-child(4) .atelier-icon {
  animation-delay:.36s
}
@keyframes icon-pulse {
  0% {
  opacity:0;
  transform:scale(.5)
}
to {
  opacity:1;
  transform:scale(1)
}

}
@media (width<=850px) {
  .story-timeline {
  grid-template-columns:1fr;
  gap:24px;
  margin-top:55px;
  padding:0 0 0 30px
}
.timeline-journey {
  width:2px;
  height:auto;
  inset:0 auto 0 0
}
.timeline-journey i {
  transform-origin:top;
  width:100%;
  height:100%;
  transform:scaleY(0)
}
.story-timeline.is-visible .timeline-journey i {
  animation-name:timeline-draw-y
}
.timeline-stop {
  grid-template-columns:52px 1fr
}
.timeline-dot {
  width:52px;
  height:52px;
  font-size:9px
}

}
@keyframes timeline-draw-y {
  to {
  transform:scaleY(1)
}

}
@media (prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}
.hero-media,.hero-copy {
  transform:none!important
}
.story-timeline.is-visible .timeline-journey i,.story-timeline.is-visible .timeline-stop,.story-timeline.is-visible .timeline-dot,.atelier-discoveries.is-visible .atelier-icon {
  animation:none
}

}
.testimonials {
  border-top:1px solid var(--line);
  background:#fff9ef1f;
  padding-top:110px;
  padding-bottom:110px
}
.testimonials-head {
  justify-content:space-between;
  align-items:end;
  gap:9vw;
  margin-bottom:52px;
  display:flex
}
.testimonials-head h2 {
  letter-spacing:-.07em;
  margin:0;
  font-size:clamp(43px,5vw,72px);
  font-weight:600;
  line-height:.92
}
.testimonials-head h2 em {
  color:var(--clay);
  font-style:normal
}
.testimonials-head>p {
  max-width:310px;
  margin:0;
  font-size:14px;
  line-height:1.6
}
.review-rail {
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  scrollbar-color:var(--clay) transparent;
  align-items:flex-start;
  gap:16px;
  margin:0 -5.5vw;
  padding:2px 5.5vw 18px;
  scroll-padding-left:5.5vw;
  display:flex;
  overflow-x:auto
}
.review-rail::-webkit-scrollbar {
  height:5px
}
.review-rail::-webkit-scrollbar-thumb {
  background:var(--clay);
  border-radius:20px
}
.review-card {
  scroll-snap-align:start;
  border:1px solid var(--line);
  background:#fffbf361;
  flex-direction:column;
  flex:0 0 clamp(275px,29vw,350px);
  padding:24px;
  transition:transform .45s cubic-bezier(.16,1,.3,1),background .3s;
  display:flex
}
.review-card:hover {
  background:#fffbf3a3;
  transform:translateY(-7px)
}
.review-card-top {
  border-bottom:1px solid var(--line);
  text-transform:uppercase;
  letter-spacing:.12em;
  justify-content:flex-start;
  padding-bottom:14px;
  font-size:9px;
  display:flex
}
.review-stars {
  color:#b77b28;
  letter-spacing:.11em;
  margin-top:20px;
  font-size:14px
}
.review-card blockquote {
  letter-spacing:-.018em;
  margin:18px 0 20px;
  font-size:15px;
  font-weight:430;
  line-height:1.5
}
.review-card footer {
  border-top:1px solid var(--line);
  color:inherit;
  background:0 0;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  min-height:0;
  margin-top:0;
  padding-top:14px;
  display:flex
}
.review-card footer strong {
  font-size:12px
}
.review-card footer span {
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#31251f9e;
  font-size:9px
}
.review-rail.is-visible .review-card {
  animation:.65s cubic-bezier(.16,1,.3,1) both review-arrive
}
.review-rail.is-visible .review-card:nth-child(2) {
  animation-delay:80ms
}
.review-rail.is-visible .review-card:nth-child(3) {
  animation-delay:.16s
}
.review-rail.is-visible .review-card:nth-child(4) {
  animation-delay:.24s
}
.review-rail.is-visible .review-card:nth-child(5) {
  animation-delay:.32s
}
.review-rail.is-visible .review-card:nth-child(6) {
  animation-delay:.4s
}
@keyframes review-arrive {
  0% {
  opacity:0;
  transform:translateY(24px)
}
to {
  opacity:1;
  transform:none
}

}
@media (width<=850px) {
  .testimonials-head {
  display:block
}
.testimonials-head>p {
  margin-top:23px
}
.review-rail {
  margin:0 -6vw;
  padding-left:6vw;
  padding-right:6vw;
  scroll-padding-left:6vw
}
.review-card {
  flex-basis:min(68vw,330px)
}

}
@media (width<=520px) {
  .testimonials {
  padding-top:80px;
  padding-bottom:80px
}
.review-rail {
  gap:12px;
  padding-bottom:14px
}
.review-card {
  flex-basis:82vw;
  padding:20px
}
.review-card blockquote {
  margin:16px 0 18px;
  font-size:14px;
  line-height:1.48
}
.review-stars {
  margin-top:17px
}
.review-card-top {
  font-size:8px
}
.review-card footer strong {
  font-size:12px
}

}
@media (prefers-reduced-motion:reduce) {
  .review-rail {
  scroll-behavior:auto
}
.review-rail.is-visible .review-card {
  animation:none
}
.review-card {
  transition:none
}

}
.story-note {
  gap:52px 8vw;
  padding-top:108px;
  padding-bottom:100px
}
.story-timeline {
  margin-top:0
}
.contact-strip {
  grid-template-columns:minmax(0,1fr) minmax(280px,.62fr);
  align-items:end;
  gap:38px 10vw;
  display:grid
}
.contact-map {
  border:1px solid var(--line);
  background:#fffbf34d;
  grid-column:1/-1;
  height:340px;
  overflow:hidden
}
.contact-map iframe {
  filter:sepia(.18)saturate(.78)contrast(.92);
  border:0;
  width:100%;
  height:100%;
  display:block
}
.link-arrow,.down-mark {
  color:currentColor;
  vertical-align:0;
  flex:0 0 12px;
  width:12px;
  height:12px;
  margin-left:11px;
  display:inline-block;
  position:relative;
  font-size:0!important
}
.link-arrow:before {
  content:"";
  background:currentColor;
  border-radius:50%;
  width:5px;
  height:5px;
  position:absolute;
  top:3px;
  left:3px
}
.link-arrow:after {
  display:none
}
.down-mark:before {
  content:"";
  border:1px solid;
  border-radius:50%;
  width:7px;
  height:7px;
  position:absolute;
  top:2px;
  left:2px
}
.down-mark:after {
  display:none
}
@media (width<=850px) {
  .story-note {
  grid-template-columns:minmax(0,1fr);
  gap:34px
}
.story-note-copy {
  align-self:start;
  max-width:660px;
  margin-top:0;
  padding-top:0
}
.story-note-title,.story-note-copy,.story-timeline {
  grid-column:1
}
.contact-strip {
  display:block
}
.contact-map {
  height:300px;
  margin-top:38px
}

}
@media (width<=520px) {
  .atelier-intro.page-section {
  padding-top:64px;
  padding-bottom:28px
}
.atelier-discoveries {
  margin-top:30px
}
.atelier-mark {
  min-height:118px;
  padding-top:15px;
  padding-bottom:15px
}
.collections.page-section {
  padding-top:0
}
.collections-head {
  padding:30px 0 38px
}
.atelier-hero {
  min-height:100svh
}
.hero-media,.hero-copy {
  transform:none!important
}
.hero-media>span {
  display:none
}
.hero-copy {
  left:6vw;
  right:6vw;
  bottom:max(28px, env(safe-area-inset-bottom));
  max-width:none
}
.hero-copy>p {
  letter-spacing:.13em;
  margin-bottom:13px;
  font-size:9px
}
.hero-copy h1 {
  letter-spacing:-.078em;
  max-width:360px;
  font-size:clamp(43px,11.8vw,51px);
  line-height:.91
}
.hero-bottom {
  justify-content:start;
  align-items:start;
  gap:20px;
  max-width:none;
  margin-top:24px;
  grid-template-columns:1fr!important;
  display:grid!important
}
.hero-bottom>span {
  max-width:none;
  font-size:13px;
  line-height:1.45
}
.hero-bottom a {
  align-items:center;
  width:max-content;
  padding-bottom:6px;
  line-height:1.25;
  margin-top:0!important;
  display:inline-flex!important
}
.story-note {
  gap:28px;
  padding-top:76px;
  padding-bottom:76px
}
.story-note h2 {
  max-width:340px;
  font-size:clamp(48px,13.4vw,56px);
  line-height:.9
}
.story-note-copy>p:not(.quote) {
  font-size:16px;
  line-height:1.62
}
.story-timeline {
  margin-top:38px
}
.contact-map {
  height:260px;
  margin-top:30px
}

}
.atelier-mark {
  display:block
}
.collection-card:nth-child(2) {
  box-shadow:none;
  margin-top:0
}
.hero-accent {
  word-spacing:0
}
.story-note {
  row-gap:34px;
  padding-top:78px;
  padding-bottom:64px
}
.review-card {
  height:auto;
  min-height:0
}
.review-card footer {
  margin-top:0
}
.review-card blockquote {
  height:238px;
  overflow:hidden
}
@media (width<=520px) {
  .review-card {
  height:auto
}
.review-card blockquote {
  height:280px
}

}
.hero-media {
  isolation:isolate;
  background:#4b3930;
  transform:none!important
}
.hero-media>picture,.hero-media>picture>img,.hero-media>img {
  z-index:0;
  object-fit:cover;
  object-position:center 49%;
  width:100%;
  height:100%;
  transform:translate3d(0, var(--hero-parallax,0px), 0) scale(calc(var(--hero-zoom,1) + .28));
  will-change:transform;
  position:absolute;
  inset:0
}
.hero-photo-shade {
  z-index:1;
  background:linear-gradient(90deg,#31221bc2 0%,#31221b8f 45%,#31221b2e 100%);
  position:absolute;
  inset:0
}
.hero-media:before {
  z-index:2
}
.hero-media:after {
  z-index:3;
  pointer-events:none
}
.hero-media>span {
  z-index:4
}
@media (width>=901px) {
  .collection-gallery {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.collection-card {
  min-height:520px
}
.collection-card:nth-child(2n) {
  border-right:0
}
.collection-card:nth-child(3n) {
  border-right:1px solid var(--line)
}
.collection-card:nth-child(n+3) {
  border-bottom:0
}

}
.collection-media {
  background:#b9967c;
  height:clamp(290px,28.5vw,390px)
}
.collection-media>img {
  object-fit:cover;
  filter:saturate(.93)contrast(.97);
  width:100%;
  height:100%;
  transition:transform .7s cubic-bezier(.16,1,.3,1),filter .45s;
  position:absolute;
  inset:0
}
.collection-media:after {
  content:"";
  pointer-events:none;
  z-index:1;
  background:linear-gradient(#30201714,#0000 42%,#30201729);
  position:absolute;
  inset:0
}
.collection-media>span {
  z-index:2;
  color:#fff8ec;
  text-shadow:0 1px 10px #3020175c
}
.media-curtain {
  z-index:3
}
.collection-card:hover .collection-media>img {
  filter:saturate()contrast();
  transform:scale(1.035)
}
.collection-card:nth-child(2) .collection-media {
  background:#76665b;
  height:clamp(290px,28.5vw,390px)
}
.collection-card:nth-child(2) .collection-media>img {
  object-fit:cover;
  object-position:center top;
  filter:saturate(.98)contrast(1.03)
}
.making-visual {
  isolation:isolate;
  background:#553b31
}
.making-photo {
  z-index:0;
  object-fit:cover;
  object-position:center 46%;
  filter:saturate(.78)contrast(.98);
  width:100%;
  height:100%;
  transform:translate3d(0, var(--making-photo-shift,0px), 0) scale(var(--making-photo-scale,1.045));
  will-change:transform;
  position:absolute;
  inset:0
}
.making-photo-shade {
  z-index:1;
  background:linear-gradient(140deg,#301f198c,#301f1929);
  position:absolute;
  inset:0
}
.making-visual:before,.making-visual:after,.moving-thread {
  z-index:2
}
.moving-thread {
  transform:translate3d(0, var(--making-thread-shift,0px), 0);
  will-change:transform
}
.making-visual>span,.making-visual>p {
  z-index:3
}
@media (width<=520px) {
  .collection-media {
  height:238px
}
.hero-media>img {
  object-fit:cover;
  object-position:center 48%;
  width:100%;
  height:100%;
  transform:scale(1.025)
}
.hero-media:after {
  opacity:.28
}
.hero-photo-shade {
  background:linear-gradient(#31221b2e,#31221bb8)
}
.making-photo {
  object-position:center 50%
}

}
@media (prefers-reduced-motion:reduce) {
  .making-photo,.moving-thread {
  transform:none
}

}
.atelier-header nav {
  letter-spacing:.09em;
  gap:12px;
  margin-left:auto;
  font-size:12px
}
.atelier-header nav a,.header-actions a {
  min-height:44px;
  color:inherit;
  opacity:1;
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
  background:#3729223d;
  border:1px solid #fff8eb6b;
  border-radius:999px;
  justify-content:center;
  align-items:center;
  padding:0 16px;
  font-size:12px;
  font-weight:650;
  transition:background-color .25s,border-color .25s,transform .25s;
  display:inline-flex
}
.atelier-header nav a:hover,.header-actions a:hover {
  background:#fff8eb29;
  border-color:#fff8ebb8;
  transform:translateY(-1px)
}
.atelier-header {
  gap:18px
}
.header-actions {
  flex:none;
  gap:10px;
  display:flex
}
.header-actions .header-action-call {
  color:var(--brown);
  background:#f8f0e5;
  border-color:#f8f0e5
}
.hero-bottom a,.line-link,.collection-card a,.wizard-done a {
  border:1px solid var(--brown);
  background:var(--brown);
  color:#fff8ec;
  letter-spacing:.09em;
  text-transform:uppercase;
  border-radius:999px;
  justify-content:center;
  align-items:center;
  width:max-content;
  min-width:164px;
  min-height:48px;
  padding:0 20px;
  font-size:12px;
  font-weight:650;
  line-height:1.2;
  transition:transform .25s,background-color .25s;
  display:inline-flex
}
.hero-bottom a {
  color:var(--brown);
  background:#f8f0e5;
  border-color:#f8f0e5;
  padding-bottom:0
}
.line-link {
  border-bottom:1px solid var(--brown);
  gap:8px
}
.collection-card a {
  margin-top:34px;
  padding-top:0
}
.hero-bottom a:hover,.line-link:hover,.collection-card a:hover,.wizard-done a:hover {
  transform:translateY(-2px)
}
.wizard-options button {
  background:#fffbf35c;
  border-color:#31251f57;
  min-height:56px;
  padding:17px 20px;
  font-size:15px;
  font-weight:550
}
@media (width<=1180px) {
  .atelier-header nav {
  display:none
}

}
@media (width<=520px) {
  .atelier-header {
  gap:8px;
  padding-left:4vw;
  padding-right:4vw
}
.atelier-brand {
  width:110px;
  height:64px
}
.header-actions {
  gap:6px;
  margin-left:auto
}
.header-actions a {
  letter-spacing:.07em;
  min-height:42px;
  padding:0 11px;
  font-size:10px
}
.hero-bottom a,.line-link,.collection-card a,.wizard-done a {
  min-height:50px;
  padding-left:20px;
  padding-right:20px;
  font-size:12px
}
.collection-card:nth-child(2) .collection-media {
  aspect-ratio:1320/1540;
  height:auto
}
.collection-card:nth-child(2) .collection-media>img,.collection-card:nth-child(2):hover .collection-media>img {
  object-fit:contain;
  object-position:center;
  transform:none
}

}
@media (width<=360px) {
  .atelier-brand {
  width:92px
}
.header-actions a {
  padding-left:8px;
  padding-right:8px;
  font-size:9px
}

}

/* --- Aggiunte di manutenzione ---
   Link di salto per la navigazione da tastiera, fallback dei contenuti
   "reveal" quando JavaScript non è disponibile, e stato di focus visibile
   per link e bottoni. */
.skip-link {
  position:absolute;
  top:-48px;
  left:12px;
  z-index:1000;
  background:#2c2019;
  color:#f8f0e5;
  padding:12px 18px;
  border-radius:8px;
  font-size:13px;
  letter-spacing:.04em;
  text-decoration:none;
  transition:top .2s ease
}
.skip-link:focus {
  top:12px
}
a:focus-visible,button:focus-visible {
  outline:2px solid #c9826d;
  outline-offset:3px
}
