@font-face{font-family:Nunito;src:url('/media/nunito.woff2') format('woff2');font-weight:400 900;font-display:swap}
:root{--cream:#FBF8F4;--stone:#E9E5DF;--lilac:#D9CFE3;--ink:#3B3633;--muted:#665d57;--line:#d7cec4;--head:Nunito,'Trebuchet MS',system-ui,sans-serif;color:var(--ink);background:var(--cream);font-family:system-ui,sans-serif;line-height:1.55}
*{box-sizing:border-box}body{margin:0}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}p{margin:0 0 1rem}h1,h2,h3{font-family:var(--head);line-height:1.02;margin:0 0 .85rem;font-weight:900;letter-spacing:-.045em}h1{font-size:clamp(3rem,7vw,6.25rem)}h2{font-size:clamp(2.4rem,4.5vw,4rem)}h3{font-size:1.55rem}small{font-weight:400}button:disabled{opacity:.6;cursor:wait}:focus-visible{outline:3px solid #76588b;outline-offset:4px}input,select,textarea{min-width:0;width:100%;border:1px solid #a59a93;border-radius:11px;padding:.7rem .8rem;color:var(--ink);background:#fffdf9}label{display:block;font-size:.875rem;font-weight:700}label input,label select,label textarea{display:block;margin-top:.35rem}fieldset{border:0;padding:0;margin:1.1rem 0}legend{font-weight:700;font-size:.875rem}summary{cursor:pointer;font-weight:750}details{border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}
.wrap{width:min(1180px,calc(100% - 88px));margin-inline:auto}.skip{position:absolute;left:1rem;top:-100px;background:white;padding:1rem;z-index:3}.skip:focus{top:1rem}header{border-bottom:1px solid #eae3db}.header{min-height:88px;display:flex;gap:26px;align-items:center;justify-content:space-between}.brand{width:235px}.header nav,.footer nav{display:flex;gap:30px;align-items:center}.header nav a,.footer a{text-decoration:none;font-size:.88rem;font-weight:650}.header nav a:hover,.header nav [aria-current]{text-decoration:underline;text-underline-offset:6px}.quote-link{min-height:44px;display:flex;align-items:center;gap:.55rem;text-decoration:none;border:1px solid var(--line);border-radius:99px;padding:.48rem .9rem;font-size:.85rem;font-weight:800;white-space:nowrap}.quote-link b{display:grid;place-items:center;background:var(--lilac);border-radius:99px;min-width:23px;padding:0 4px;font-size:.74rem}
.hero{min-height:560px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:25px;padding-block:35px 43px}.hero h1{font-size:clamp(4.5rem,9vw,8.8rem);line-height:1;letter-spacing:-.075em;margin:1.45rem 0 1.65rem}.hero em{font-style:normal;color:#695774}.hero-copy>p:not(.eyebrow){font-size:1.13rem;max-width:390px;color:var(--muted);margin-bottom:1.65rem}.eyebrow{display:flex;align-items:center;gap:.55rem;font-size:.68rem;font-weight:850;letter-spacing:.15em;line-height:1.35}.eyebrow span{height:7px;width:7px;background:#8d769c;border-radius:50%}.hero-stage{position:relative;isolation:isolate;aspect-ratio:1.1;display:grid;place-items:center}.hero-stage [data-hero]{width:90%}.sparkle{position:absolute;color:#796586;line-height:1}.sparkle.a{top:16%;right:14%;font-size:2.35rem}.sparkle.b{bottom:20%;left:12%;font-size:1.45rem}.actions{display:flex;flex-wrap:wrap;gap:.7rem}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.65rem 1.15rem;border-radius:99px;border:1px solid transparent;font-size:.88rem;font-weight:780;text-decoration:none;white-space:nowrap}.primary{background:var(--ink);color:var(--cream)}.primary:hover{background:#554b46}.secondary{border-color:#a59990;background:transparent}.secondary:hover,.quote-link:hover{background:var(--lilac)}.text-link{font-weight:800;font-size:.86rem;text-underline-offset:4px}.service{background:var(--stone)}.strip{display:flex;justify-content:space-evenly;gap:.8rem;text-align:center;align-items:center;min-height:64px;font-size:.81rem;font-weight:700}
.section{padding-block:65px}.page{min-height:55vh}.intro{max-width:730px;margin-bottom:1.75rem}.intro>p:not(.eyebrow),.detail p,.quote-layout>div>p:not(.eyebrow){color:var(--muted);max-width:56ch}.section-head,.closing{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.3rem}.section-head h2,.closing h2{margin-bottom:0}.closing p{margin-top:1rem}.grid,.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{display:block;border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;background:#fffaf6;transition:transform 210ms ease}.card-image{display:grid;place-items:center;position:relative;isolation:isolate;background:var(--cream);aspect-ratio:1.27;overflow:hidden}.card-image img{width:74%;transition:transform 210ms ease}.card-copy{padding:1.15rem}.card-copy p:last-child{margin-bottom:0;color:var(--muted);font-size:.88rem}.card h3 span{float:right;font-size:1rem}.card:focus-visible{transform:translateY(-4px)}.card:focus-visible img{transform:scale(1.04)}@media(hover:hover) and (pointer:fine){.card:hover{transform:translateY(-4px)}.card:hover img{transform:scale(1.04)}}
.process{background:var(--stone)}.steps{list-style:none;padding:0;margin:1.8rem 0}.steps li{border-radius:18px;border:1px solid #d1c6bd;padding:1.25rem;background:var(--cream)}.steps b{display:inline-grid;place-items:center;background:var(--lilac);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;font-size:.8rem}.steps p{margin:0;color:var(--muted)}.breadcrumb{display:flex;gap:.65rem;flex-wrap:wrap;font-size:.8rem;color:var(--muted);padding-top:1.2rem}.breadcrumb+.section{padding-top:2.4rem}.filters{display:flex;flex-wrap:wrap;gap:.8rem;align-items:end;padding:1rem;border-radius:16px;background:var(--stone);margin-bottom:1.2rem}.filters label{min-width:130px}.filters a{align-self:center;font-size:.9rem}.pill,.notice{display:inline-block;border-radius:12px;padding:.45rem .75rem;background:#eae0f0;font-size:.8rem;font-weight:700}.detail,.quote-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,6vw,75px);align-items:start}.detail h1,.quote-layout h1{font-size:clamp(2.8rem,5.5vw,5.2rem)}.detail-image{border-radius:28px;aspect-ratio:1}.detail-image img{width:93%}.detail form>label{max-width:230px}.sizes{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.45rem}.sizes label{width:70px}.sizes input{padding:.55rem .3rem}.contact-logo{width:175px;margin-bottom:1.4rem}.quote-form,.staff-row{background:var(--lilac);border-radius:25px;padding:clamp(1rem,3vw,2rem)}.quote-form h2{font-size:2rem}.fields{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:.85rem}.quote-form textarea{resize:vertical}.fine{font-size:.78rem;margin-top:.8rem}.quote-items{list-style:none;padding:0}.quote-items li{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.35rem .65rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.quote-items strong{grid-column:1/-1}.quote-items input{width:78px}.quote-items button{background:none;border:0;text-decoration:underline;min-height:44px}.staff-row{margin-bottom:1rem}.staff-row form{display:grid;gap:.5rem}.staff-row form .button{justify-self:start}.photo-placeholder{font-size:.86rem;color:var(--muted)}[role=status]{margin:.7rem 0 0}
footer{background:var(--ink);color:var(--cream);padding:2.5rem 0 1.5rem}.footer{display:flex;gap:2rem;align-items:center;justify-content:space-between}.footer img{width:150px}.footer p{font-size:.85rem;margin:0}.footer nav{flex-wrap:wrap;gap:1rem}footer .fine{margin-top:1.4rem;color:#eee4da}.revealed{animation:arrive 450ms ease both}@keyframes arrive{from{opacity:.55;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-width:860px){.wrap{width:calc(100% - 46px)}.header{flex-wrap:wrap;gap:.4rem 1rem;padding-block:.7rem}.header nav{order:3;width:100%;justify-content:center;gap:1.5rem}.header nav a{padding:.45rem 0}.hero{min-height:420px}.hero h1{font-size:clamp(4rem,11vw,6rem)}.footer{flex-wrap:wrap}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}.brand{width:165px}.quote-link{font-size:.75rem;padding:.4rem .65rem}.hero,.detail,.quote-layout{grid-template-columns:1fr;gap:1.1rem}.hero{padding-block:2.6rem 1.25rem}.hero h1{font-size:clamp(4rem,16vw,6rem)}.hero-stage{max-width:420px;width:100%;margin:auto}.section{padding-block:2.5rem}.strip{font-size:.68rem;gap:.35rem}.grid,.steps{grid-template-columns:1fr}.section-head,.closing{align-items:start;flex-direction:column}.detail-image{max-width:430px}.footer{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.card,.card img,[data-hero]{transform:none!important;translate:none!important}}

.hoodie-turntable{
  position:relative;
  touch-action:pan-y;
  cursor:grab;
  user-select:none;
}
.hoodie-turntable.is-grabbed{cursor:grabbing}
.hoodie-frames{aspect-ratio:1;position:relative;overflow:hidden;pointer-events:none}
.hoodie-frames img{position:absolute;inset:0;max-width:none;width:400%;height:200%;transform:translate(var(--frame-x,0%),var(--frame-y,0%))}
.is-turned .hoodie-cords,.is-turned .hoodie-pocket,.hoodie-pocket[hidden]{display:none}
.hoodie-turntable.pointer-focused{outline:none}
.hoodie-cords{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.cord-lift{visibility:hidden}
.is-lifted .cord-lift{visibility:visible}
.cord-thread,.cord-handle{fill:none;stroke-linecap:round}
.cord-cast-shadow{filter:drop-shadow(3px 4px 3px rgba(55,35,53,.32))}
.cord-thread{stroke:url(#hoodie-cord-weave);stroke-width:12}
.cord-handle{stroke:transparent;stroke-width:34;pointer-events:stroke;cursor:grab;touch-action:none}
.cord-handle:focus{outline:none}
.cord-handle:focus-visible{stroke:#76588b;stroke-width:17;stroke-dasharray:2 5;outline:none}
.pointer-focused .cord-handle:focus-visible{stroke:transparent;stroke-width:34;stroke-dasharray:none}
.is-grabbed .cord-handle{cursor:grabbing}
.hoodie-pocket{position:absolute;inset:0;clip-path:polygon(42% 0,100% 0,100% 100%,78% 100%);pointer-events:none}
.hoodie-pocket.is-free{clip-path:none}
.pocket-phone{position:absolute;top:65%;left:57%;width:7.9%;padding:0;border:0;border-radius:12%;background:transparent;transform:translate(var(--phone-slide,0%),var(--phone-lift,0%)) rotate(48deg);transition:transform 150ms ease-out;cursor:grab;pointer-events:auto;touch-action:none}
.pocket-phone img{width:100%;pointer-events:none}
.pocket-phone:focus-visible{outline-offset:2px}
.pointer-focused .pocket-phone:focus-visible{outline:none}
.is-grabbed .pocket-phone{cursor:grabbing;transition:none}
.hoodie-hint{
  margin:0 auto;
  max-width:42ch;
  color:var(--muted);
  text-align:center;
  font-size:.875rem;
}
[data-hero-preview]{opacity:var(--hoodie-opacity,1)}
[data-hero-preview]:has(:focus-visible):not(:has(.pointer-focused)){opacity:1}
.hero{
  position:relative;
  isolation:isolate;
}
.hero::before{
  content:'';
  position:absolute;
  inset:1.25rem -1rem;
  z-index:-1;
  border-radius:32px;
  background:linear-gradient(125deg,#faf3ec 12%,#f1e8f6 74%,#e9ddf1);
}
.hero-clouds{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:-1;
  pointer-events:none;
  fill:#fffaf8;
}
.hero-clouds .cloud-lilac{fill:#d9c9e7}
.cloud-section{position:relative;isolation:isolate}
.page-cloud{
  position:absolute;
  z-index:-1;
  width:clamp(52px,8vw,108px);
  height:auto;
  pointer-events:none;
  fill:#e8dbee;
  opacity:calc(.65 * var(--page-cloud-fade,1));
}
.page-cloud-top{top:1rem;right:.25rem}
.page-cloud-bottom{bottom:1rem;left:.25rem;width:clamp(42px,6vw,82px)}
.page-cloud-left-upper{top:23%}
.page-cloud-right-upper{top:41%}
.page-cloud-left-lower{top:59%}
.page-cloud-right-lower{top:77%}
.page-cloud:is(.page-cloud-left-upper,.page-cloud-left-lower,.page-cloud-right-upper,.page-cloud-right-lower){
  width:clamp(24px,calc((100vw - 1180px) / 2 - 12px),74px);
}
.page-cloud:is(.page-cloud-left-upper,.page-cloud-left-lower){left:0;translate:-108% 0}
.page-cloud:is(.page-cloud-right-upper,.page-cloud-right-lower){right:0;translate:108% 0}
.process .page-cloud{translate:none}
@media(max-width:860px){
  .page-cloud:is(.page-cloud-left-upper,.page-cloud-left-lower,.page-cloud-right-upper,.page-cloud-right-lower){
    translate:none;
    opacity:calc(.4 * var(--page-cloud-fade,1));
  }
}
.process .page-cloud{fill:#f7f0f9}
.contact-details{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.contact-details h2{font-size:1.5rem}
.contact-details address{font-style:normal;margin-bottom:.75rem}
.contact-details ul{list-style:none;padding:0;margin:0;display:grid;gap:.3rem}
.floating-contact{
  position:fixed;
  right:max(1rem,env(safe-area-inset-right));
  bottom:max(1rem,env(safe-area-inset-bottom));
  z-index:8;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.floating-contact a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:.5rem .9rem;
  border:1px solid var(--line);
  border-radius:99px;
  background:var(--cream);
  color:var(--ink);
  font-size:.875rem;
  font-weight:750;
  text-decoration:none;
}
.floating-contact a:last-child{background:#245442;color:#fff;border-color:#245442}
.floating-contact a:hover{text-decoration:underline}
body:has(.floating-contact) footer{padding-bottom:5rem}
.header > a:first-child{position:relative;z-index:1}
.brand{
  --brand-zoom:1.55;
  transform-origin:left center;
  transition:transform 180ms ease;
  pointer-events:none;
}
.header > a:first-child:focus-visible .brand{transform:scale(var(--brand-zoom))}
@media(hover:hover){
  .header > a:first-child:hover .brand{transform:scale(var(--brand-zoom))}
}
@media(max-width:1100px){
  .brand{--brand-zoom:1.25}
}
@media(prefers-reduced-motion:reduce){
  .brand{transition:none}
}
.detail [hidden]{display:none}
.card-colours{font-size:.82rem;color:var(--muted);margin-bottom:.55rem}
html{scroll-padding-top:100px}
header{position:sticky;top:0;z-index:10;background:var(--cream)}
.skip{z-index:20}
.steps article{border:1px solid var(--line);border-radius:18px;padding:1.25rem;background:var(--cream)}
@media(max-width:860px){html{scroll-padding-top:132px}.header nav{gap:clamp(.45rem,2.1vw,1.5rem)}.header nav a{font-size:clamp(.7rem,2vw,.88rem)}}
@media(max-width:380px){.header nav{flex-wrap:wrap;row-gap:0}}
.product-size-guide summary{margin-bottom:.8rem}
.size-table{max-width:100%;overflow-x:auto}
.size-table table{width:100%;border-collapse:collapse;font-size:.88rem}
.size-table caption{text-align:left;color:var(--muted);font-size:.79rem;margin-bottom:.45rem}
.size-table th,.size-table td{text-align:left;padding:.53rem .65rem;border-bottom:1px solid var(--line)}
.size-table thead{background:#eee7f0}
.size-table tbody tr:nth-child(even){background:#f5f0ec}
.size-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;margin:1.1rem 0 1.8rem}
.size-chart-grid section{border:1px solid var(--line);border-radius:18px;padding:1rem}
@media(max-width:650px){.size-chart-grid{grid-template-columns:1fr}}

.card{
  position:relative;
  isolation:isolate;
  padding:16px;
  border:0;
  background:transparent;
  overflow:visible;
}
.card .card-image{border-radius:13px}
.cloud-outline{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
  pointer-events:none;
  overflow:visible;
  fill:none;
  stroke:#d9cec3;
  stroke-width:2;
  filter:drop-shadow(0 4px 0 #e9e0d6);
}
.card:is(:hover,:focus-visible) .cloud-outline{
  stroke:#b6a596;
  filter:drop-shadow(0 7px 0 #e9e0d6);
}

.home-uses{padding-top:0}
.home-uses-panel{
  padding:clamp(1.45rem,4vw,3.5rem);
  border-radius:28px;
  background:#46384d;
  color:var(--cream);
}
.home-uses-panel .eyebrow span{background:#e4cdee}
.home-uses-panel > p:not(.eyebrow){max-width:52ch;color:#eee1f1}
.home-use-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.85rem;
  margin:1.55rem 0 1.15rem;
}
.home-use-grid article{
  padding:1.1rem;
  border:1px solid #796581;
  border-radius:16px;
  background:#514258;
}
.home-use-grid h3{font-size:1.3rem;letter-spacing:-.025em}
.home-use-grid p{margin:0;font-size:.92rem;color:#eee1f1}
.home-uses-panel a:focus-visible,.site-footer a:focus-visible{outline-color:#e4cdee}

.home-fit,.home-faq{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(1.5rem,6vw,5rem);
}
.home-fit{align-items:center}
.home-fit-copy > p:not(.eyebrow),.home-faq > div:first-of-type > p:not(.eyebrow){
  max-width:46ch;
  color:var(--muted);
}
.home-fit-note{
  display:grid;
  grid-template-columns:minmax(85px,.7fr) minmax(0,1fr);
  align-items:center;
  gap:1rem;
  padding:clamp(1.1rem,3vw,2rem);
  border-radius:24px;
  background:#eee5f2;
}
.home-fit-diagram{width:100%;color:#695774}
.home-fit-note .eyebrow{color:#695774;margin-bottom:.5rem}
.home-fit-note strong{font:850 1.4rem/1.12 var(--head);display:block}
.home-fit-note p:last-child{margin:.55rem 0 0;color:var(--muted);font-size:.88rem}
.home-faq{padding-top:1rem}
.home-faq-list{border-bottom:1px solid var(--line)}
.home-faq-list details{margin:0;padding:0}
.home-faq-list summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:52px;
  padding:.75rem .2rem;
}
.home-faq-list summary::-webkit-details-marker{display:none}
.home-faq-list summary::after{
  content:'+';
  flex:0 0 1.75rem;
  display:grid;
  place-items:center;
  aspect-ratio:1;
  border-radius:50%;
  background:var(--lilac);
  font-weight:800;
}
.home-faq-list details[open] summary::after{content:'−'}
.home-faq-list details p{margin:0;padding:0 .2rem .95rem;color:var(--muted)}

.site-footer{padding-top:clamp(2.4rem,5vw,4rem)}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .82fr 1fr 1.13fr;
  gap:clamp(1.3rem,3vw,2.7rem);
}
.footer-grid > *{min-width:0}
.footer-brand img{width:155px;margin-bottom:.8rem}
.footer-brand p{max-width:28ch;margin:0;color:#eee4da;font-size:.9rem}
.site-footer h2{margin:0 0 .6rem;font-size:1.15rem;letter-spacing:-.015em}
.site-footer ul{display:grid;gap:.12rem;list-style:none;margin:0;padding:0}
.site-footer li a{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-height:36px;
  font-size:.87rem;
  text-decoration:none;
  overflow-wrap:anywhere;
}
.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:.55rem 1rem;
  margin-top:1.85rem;
  padding-top:1rem;
  border-top:1px solid #6e635f;
  color:#eee4da;
}
.footer-bottom a{padding:.4rem 0;font-size:.84rem;text-underline-offset:4px}

@media(max-width:860px){
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .home-fit,.home-faq,.home-use-grid{grid-template-columns:1fr}
  .home-faq{gap:.7rem}
  .site-footer li a{min-height:44px}
  .footer-brand,.footer-contact{grid-column:1/-1}
}
