:root{--paper:#fffaf3;--paper2:#fff0dc;--ink:#392f35;--muted:#6b5c62;--line:#ead7cc;--accent:#ad3155;--accent-dark:#85223e;--sun:#f5c552;--peach:#f8d6c8;--lavender:#e8dff0;--white:#fff;--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Helvetica Neue',Arial,sans-serif;line-height:1.58;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p,figure,blockquote{margin-top:0}h1,h2,h3{font-family:'Helvetica Neue',Arial,sans-serif;line-height:1.08;letter-spacing:-.055em}h1{font-size:clamp(3.6rem,6.5vw,7.1rem);font-weight:600}h2{font-size:clamp(2.6rem,4.2vw,4.6rem);font-weight:600}h3{font-size:1.4rem;font-weight:600;letter-spacing:-.04em}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}.shell{width:min(100% - 80px,1440px);margin-inline:auto}.skip{position:absolute;left:12px;top:-80px;z-index:30;background:var(--ink);color:#fff;padding:12px}.skip:focus{top:8px}:focus-visible{outline:3px solid #d29a71;outline-offset:4px}.site-header{height:90px;border-bottom:1px solid var(--line);position:relative;z-index:20;background:var(--paper)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;flex-direction:column;line-height:1;min-width:165px}.brand-name{font-family:'Helvetica Neue',Arial,sans-serif;font-size:1.52rem;letter-spacing:-.085em;font-weight:800}.brand-sub{font-size:.53rem;font-weight:700;letter-spacing:.19em;margin-top:8px;color:var(--accent)}.nav{display:flex;align-items:center;gap:clamp(18px,2vw,38px)}.nav>a:not(.nav-quote){font-size:.86rem;font-weight:600;white-space:nowrap;transition:color .2s}.nav>a:not(.nav-quote):hover,.nav>a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:8px}.nav-quote,.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;font-size:.85rem;font-weight:700;line-height:1.3;padding:16px 20px;border:1px solid var(--ink);border-radius:0;transition:background .2s,color .2s,transform .2s}.nav-quote{background:var(--accent);border-color:var(--accent);color:#fff;margin-left:8px}.nav-quote:hover,.button-dark:hover{background:var(--accent-dark);transform:translateY(-2px)}.menu-toggle{display:none}.hero{padding:38px 0 68px}.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;min-height:630px;gap:50px;align-items:stretch}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:36px 0}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-weight:700;font-size:.68rem;color:var(--accent);margin:0 0 30px}.hero h1{margin:0 0 32px}.dot{color:var(--accent)}.lead{max-width:520px;font-size:1.08rem;color:#5e554e;line-height:1.68;margin-bottom:34px}.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.button-dark{background:var(--accent);border-color:var(--accent);color:white}.button-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button-light:hover{background:white;transform:translateY(-2px)}.text-link,.under-link{font-size:.85rem;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:7px;display:inline-flex;gap:25px;align-items:center}.text-link:hover,.under-link:hover{color:var(--accent)}.hero-visual{position:relative;min-height:560px}.photo{position:relative;overflow:hidden;background:#e5d6c9;color:var(--accent-dark);margin:0;min-height:260px}.photo img{width:100%;height:100%;object-fit:cover}.hero-photo{height:100%;min-height:560px}.photo:not(:has(img)){display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:repeating-linear-gradient(135deg,#e6d7cb 0,#e6d7cb 2px,#f0e7dc 2px,#f0e7dc 12px)}.photo-fallback-mark{font-size:clamp(5rem,14vw,12rem);font-family:Georgia,serif;line-height:1;color:#aa7364;opacity:.8}.photo-fallback-text{max-width:200px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-top:20px}.hero-tag{position:absolute;bottom:0;left:0;right:0;background:var(--accent);color:white;padding:17px 24px;display:flex;align-items:center;justify-content:space-between;font-size:.7rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.hero-tag span:last-child{font-size:1.4rem}.section{padding:110px 0}.intro{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:1fr 1.65fr;gap:70px}.intro h2{margin-bottom:34px}.intro p:not(.eyebrow){font-size:1.12rem;max-width:710px;color:#5e554e;line-height:1.75}.intro .under-link{margin-top:20px}.services{background:var(--paper2)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.section-head h2{margin:0}.section-head>p{max-width:330px;color:var(--muted);margin:0}.section-head>.under-link{margin-bottom:8px;white-space:nowrap}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bba89a}.service{padding:26px 28px 14px 0;border-right:1px solid #d0bfb1;min-height:255px}.service:not(:first-child){padding-left:28px}.service:last-child{border-right:0}.service-number{display:block;color:var(--accent);font-size:.75rem;font-weight:700;margin-bottom:52px}.service h3{margin-bottom:18px}.service p{font-size:.91rem;color:var(--muted);line-height:1.65}.work-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.work-item{position:relative;min-width:0}.work-item-large{grid-row:span 2}.work-item .photo{height:280px}.work-item-large .photo{height:100%;min-height:578px}.work-item figcaption,.gallery-grid figcaption{position:absolute;left:0;bottom:0;background:rgba(30,49,37,.92);color:white;padding:15px 20px;font-size:.8rem;font-weight:700;min-width:55%}.work-arrow{position:absolute;right:15px;top:15px;background:var(--paper);height:42px;width:42px;display:grid;place-items:center}.process{background:var(--paper2)}.process-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:120px 1fr;gap:25px;border-bottom:1px solid var(--line);padding:28px 0}.process-list li>span{font-size:.8rem;color:var(--accent);font-weight:700}.process-list h3{margin-bottom:8px}.process-list p{margin:0;color:var(--muted)}.teaser-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center}.teaser-photo{height:550px}.atelier-teaser h2{margin-bottom:30px}.atelier-teaser p:not(.eyebrow){font-size:1.05rem;color:var(--muted);max-width:500px;line-height:1.7}.atelier-teaser .under-link{margin-top:20px}.closing{background:var(--accent);color:white;padding:82px 0}.closing-inner{display:flex;align-items:end;justify-content:space-between;gap:30px}.closing .eyebrow{color:#f2d2c1}.closing h2{margin:0}.site-footer{background:#292522;color:#e9eee8;padding:75px 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1.2fr 1fr;gap:45px}.footer-brand{font-family:'Helvetica Neue',Arial,sans-serif;letter-spacing:-.09em;font-weight:800;font-size:2.1rem}.site-footer p,.site-footer address{color:#d5c6bc;font-size:.88rem;font-style:normal;line-height:1.8}.site-footer a:not(.button){display:block;margin-bottom:10px;font-size:.88rem}.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}.footer-label{color:#fff!important;text-transform:uppercase;font-size:.7rem!important;letter-spacing:.18em;font-weight:700;margin:0 0 20px}.footer-action p{font-family:Georgia,serif;font-size:1.5rem;color:#fff}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #65574f;margin-top:66px;padding:22px 0;color:#c4b3a8;font-size:.72rem}.page-intro{padding:95px 0 100px;border-bottom:1px solid var(--line)}.page-intro h1{max-width:1000px;margin:0}.page-lead{color:var(--muted);font-size:1.15rem;line-height:1.75;max-width:660px;margin:35px 0 0}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.editorial-grid.reverse>div{order:2}.editorial-grid.reverse .photo{order:1}.editorial-grid h2{margin-bottom:30px}.editorial-grid p:not(.eyebrow){font-size:1.05rem;color:var(--muted);line-height:1.75;max-width:580px}.editorial-grid .photo{height:520px}.tint{background:var(--paper2)}.service-grid.three{grid-template-columns:repeat(3,1fr)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-grid .photo{height:350px}.gallery-grid .gallery-a,.gallery-grid .gallery-d{grid-column:span 2}.gallery-grid .gallery-a{height:450px}.statement{max-width:950px}.statement blockquote{font-family:Georgia,serif;font-style:italic;font-size:clamp(2rem,3.4vw,3.6rem);line-height:1.3;letter-spacing:-.035em;margin:0 0 25px}.statement>p:last-child{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact-main p{color:var(--muted);max-width:450px;font-size:1.06rem}.contact-main .button{margin-top:25px}.contact-details>div{padding:0 0 30px;margin-bottom:30px;border-bottom:1px solid var(--line)}.contact-details .eyebrow{display:block;margin-bottom:12px}.contact-details a:not(.under-link),.contact-details address{font-size:1.35rem;font-style:normal;line-height:1.5}.contact-details .under-link{margin-top:20px}.small-note{font-size:.82rem!important;color:var(--muted)!important}.quote-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:10%}.quote-aside h2{font-size:clamp(2rem,3vw,3.2rem)}.quote-aside p:not(.eyebrow){color:var(--muted)}.aside-contact{border-top:1px solid var(--line);margin-top:55px;padding-top:20px;display:flex;flex-direction:column}.aside-contact span{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);font-weight:700}.aside-contact a{font-size:1.35rem;font-weight:700;margin-top:8px}.quote-form{background:#fff;padding:40px;box-shadow:0 15px 55px rgba(30,42,33,.05)}.preview-alert{background:#f4e9e2;border-left:3px solid var(--accent);padding:15px 18px;margin-bottom:32px;display:flex;flex-direction:column;font-size:.85rem}.preview-alert a{text-decoration:underline}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column}.field-wide{grid-column:span 2}.field label{font-size:.8rem;font-weight:700;margin-bottom:8px}.field label span{color:var(--accent)}.field small{font-weight:400;color:var(--muted);margin-left:4px}.field input,.field select,.field textarea{width:100%;border:1px solid #bbaea5;border-radius:0;background:#fff;color:var(--ink);padding:13px 14px;min-height:49px}.field textarea{resize:vertical}.field [aria-invalid=true]{border-color:#aa352b;box-shadow:0 0 0 1px #aa352b}.field-error{color:#a33126;font-size:.75rem;margin-top:5px;min-height:0}.required-note{font-size:.75rem;color:var(--muted);margin:20px 0}.form-status{font-size:.85rem;color:#a33126;margin-top:15px;min-height:1.5em}
@media(max-width:1100px){.shell{width:min(100% - 48px,1440px)}.nav{gap:15px}.nav>a:not(.nav-quote){font-size:.78rem}.nav-quote{gap:10px;padding:13px}.hero-grid{gap:25px}.hero h1{font-size:clamp(3.3rem,6vw,5.5rem)}.service-grid{grid-template-columns:repeat(2,1fr)}.service:nth-child(2){border-right:0}.service:nth-child(-n+2){border-bottom:1px solid var(--line)}.service:nth-child(3){padding-left:0}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.shell{width:min(100% - 36px,1440px)}.site-header{height:74px}.brand-name{font-size:1.35rem}.menu-toggle{display:flex;background:transparent;border:0;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:7px}.menu-toggle span{height:2px;width:23px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:20px 18px 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;box-shadow:0 15px 20px #29252118}.nav.open{display:flex}.nav>a:not(.nav-quote){padding:14px 4px;border-bottom:1px solid var(--line);font-size:1rem}.nav-quote{margin:22px 0 0;justify-content:space-between;padding:17px}.hero{padding:20px 0 50px}.hero-grid{display:flex;flex-direction:column;gap:25px}.hero-copy{padding:34px 0 0}.hero h1{font-size:clamp(3.1rem,11.5vw,5rem);margin-bottom:25px}.hero-visual,.hero-photo{min-height:420px;height:420px}.lead{font-size:1rem}.actions{gap:20px}.section{padding:72px 0}.intro-grid,.editorial-grid,.contact-grid,.quote-grid,.teaser-grid{display:block}.intro-grid>.eyebrow{margin-bottom:24px}.intro h2{font-size:clamp(2.3rem,8vw,3.4rem)}.section-head{display:block;margin-bottom:35px}.section-head>.under-link,.section-head>p{margin-top:25px;display:inline-flex}.service{min-height:230px}.service-number{margin-bottom:35px}.work-grid{display:block}.work-item{display:block;margin-bottom:16px}.work-item .photo,.work-item-large .photo{height:320px;min-height:320px}.work-item-large .photo{height:450px}.process-list li{grid-template-columns:54px 1fr}.teaser-photo{height:380px;margin-bottom:45px}.closing-inner{display:block}.closing .button{margin-top:35px}.page-intro{padding:68px 0}.page-intro h1{font-size:clamp(3rem,10vw,5rem)}.editorial-grid .photo{height:380px;margin-top:35px}.editorial-grid.reverse>div,.editorial-grid.reverse .photo{order:initial}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .photo,.gallery-grid .gallery-a{height:300px}.contact-details{margin-top:55px}.quote-form{padding:25px;margin-top:40px}}
@media(max-width:540px){.shell{width:min(100% - 30px,1440px)}.hero h1{font-size:clamp(2.8rem,12vw,4.2rem)}.hero-visual,.hero-photo{min-height:330px;height:330px}.section{padding:62px 0}.service-grid,.service-grid.three{display:block}.service,.service:not(:first-child),.service:nth-child(3){padding:23px 0;border-right:0;border-bottom:1px solid var(--line);min-height:auto}.service-number{margin-bottom:28px}.service p{margin-bottom:10px}.work-item .photo,.work-item-large .photo{height:320px;min-height:320px}.gallery-grid{display:block}.gallery-grid .photo,.gallery-grid .gallery-a{height:330px;margin-bottom:16px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:span 2}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:6px}.form-grid{display:block}.field{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* A warmer, more expressive direction: fabric, thread and sunlight. */
.site-header{border-bottom:0;box-shadow:0 3px 18px rgba(57,47,53,.045)}
.brand-name,.footer-brand{letter-spacing:-.065em}
.nav-quote,.button{border-radius:999px;padding:17px 23px}
.nav-quote{background:var(--accent);border-color:var(--accent)}
.button-dark{background:var(--accent);border-color:var(--accent)}
.nav-quote:hover,.button-dark:hover{background:var(--accent-dark)}
.eyebrow{color:var(--accent)}
.hero{background:#fff4e6;padding-top:62px;padding-bottom:85px}
.hero h1{font-size:clamp(3.7rem,6.1vw,7rem);letter-spacing:-.06em}
.hero h1 em,.section-head h2 em,.intro h2 em,.atelier-teaser h2 em,.editorial-grid h2 em,.page-intro h1 em{color:var(--accent)}
.hero-photo{position:relative;z-index:1;border-radius:160px 30px 30px 30px}
.hero-tag{z-index:2;left:22px;right:auto;bottom:22px;border-radius:999px;background:#fffaf3;color:var(--ink);padding:11px 18px;gap:24px;box-shadow:0 5px 20px rgba(57,47,53,.08)}
.hero-tag span:last-child{color:var(--accent)}
.photo{border-radius:26px}
.photo:not(:has(img)){background:var(--peach);isolation:isolate}
.photo:not(:has(img))::before{content:"";position:absolute;width:65%;aspect-ratio:1;border:3px dashed rgba(173,49,85,.55);border-radius:48% 52% 63% 37%;transform:rotate(-23deg);z-index:0}
.photo:not(:has(img))::after{content:"";position:absolute;width:23%;aspect-ratio:1;background:var(--sun);border-radius:50%;right:5%;bottom:7%;z-index:0}
.photo-fallback-mark{color:var(--accent);font-size:clamp(4.5rem,10vw,8rem)}
.photo-fallback-text{background:rgba(255,250,243,.9);border-radius:999px;padding:9px 14px;max-width:none;font-size:.63rem;letter-spacing:.07em}
.intro{border:0}
.services{background:var(--paper2)}
.service-grid,.service-grid.three{display:grid;gap:18px;border:0}
.service{border:0!important;padding:30px!important;min-height:270px;border-radius:25px;background:#fffaf4;box-shadow:0 8px 28px rgba(110,70,70,.045)}
.service:not(:first-child),.service:nth-child(3){padding:30px!important}
.service:nth-child(4n+2){background:#f8ddcf}
.service:nth-child(4n+3){background:#ebe1f0}
.service:nth-child(4n+4){background:#fff5cc}
.service-number{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--sun);color:var(--ink);margin-bottom:42px}
.service h3{font-size:1.5rem}
.work-item .photo,.gallery-grid .photo{border-radius:28px}
.work-item figcaption,.gallery-grid figcaption{background:#fffaf3;color:var(--ink);border-radius:0 20px 0 0}
.work-arrow{border-radius:50%;background:var(--sun);color:var(--ink)}
.process{background:#fffaf3}
.process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border:0}
.process-list li{display:block;border:0;background:#f9ede5;border-radius:25px;padding:32px;min-height:235px}
.process-list li:nth-child(2){background:#fff1c9}
.process-list li:nth-child(3){background:#ece2f0}
.process-list li>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fffaf3;color:var(--accent);margin-bottom:44px}
.teaser-photo{border-radius:30px 145px 30px 30px}
.atelier-teaser{background:#fff5e8}
.closing{background:var(--sun);color:var(--ink)}
.closing .eyebrow{color:var(--accent-dark)}
.closing .button-light{background:var(--accent);border-color:var(--accent);color:#fff}
.closing .button-light:hover{background:var(--accent-dark)}
.site-footer{background:#403239}
.page-intro{background:#fff1dd;border:0}
.quote-form{border-radius:28px;box-shadow:0 16px 42px rgba(87,53,59,.07)}
.field input,.field select,.field textarea{border-radius:12px}
.preview-alert{border-radius:12px;background:#fff1dd}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.hero{padding-top:28px;padding-bottom:55px}.hero h1{font-size:clamp(3.3rem,11vw,5rem)}.hero-photo{border-radius:100px 24px 24px 24px}.process-list{grid-template-columns:1fr}.process-list li{min-height:0}.process-list li>span{margin-bottom:20px}.teaser-photo{border-radius:24px 100px 24px 24px}}
@media(max-width:540px){.hero h1{font-size:clamp(3.1rem,11.4vw,4.3rem)}.service-grid,.service-grid.three{display:grid;grid-template-columns:1fr}.service,.service:not(:first-child),.service:nth-child(3){padding:28px!important;min-height:0}.service-number{margin-bottom:30px}.hero-tag{left:12px;bottom:12px;font-size:.58rem}.quote-form{padding:23px}}

.photo-fallback-mark,.photo-fallback-text{position:relative;z-index:1}
.format-note{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:start;margin-top:48px;padding:38px 42px;border-radius:25px;background:#fff0dc}
.format-note .eyebrow{margin-bottom:16px}
.format-note h3{font-size:clamp(1.8rem,2.5vw,2.6rem);margin-bottom:0}
.format-note>p{color:var(--muted);font-size:1rem;line-height:1.75;margin:0}
@media(max-width:760px){.format-note{display:block;padding:28px;margin-top:32px}.format-note h3{margin-bottom:22px}}
.photo-garment img{object-fit:contain;background:#f4eee8}
.photo-workshop img{object-position:53% 42%}
.photo-hero img{object-position:45% center}
.photo-detail img{object-position:center 56%}
.laser-feature{height:430px;margin-top:22px}
.atelier-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.atelier-machine{height:440px}
@media(max-width:760px){.laser-feature{height:300px}.atelier-proof-grid{display:block}.atelier-machine{height:300px;margin-top:34px}}

/* Brighter thread colours and quieter invitations to continue browsing. */
:root{--sun:#ffd04e;--peach:#ffd5bf;--lavender:#e5d7f3;--orange:#ed764c}
.footer-grid{grid-template-columns:1.2fr .8fr 1.2fr}
.brand-sub{color:#bc4a2e;font-size:.62rem}
.hero{background:#fff0d9}

.hero-tag{background:var(--sun);box-shadow:0 8px 25px rgba(101,62,24,.12)}
.section-head .eyebrow::before{content:"";display:inline-block;width:9px;height:9px;margin-right:11px;border-radius:50%;background:var(--orange)}
.service:nth-child(4n+1){background:#fffaf1}
.service:nth-child(4n+2){background:#ffd7c3}
.service:nth-child(4n+3){background:#e8dcf4}
.service:nth-child(4n+4){background:#fff0a9}
.service-number{background:var(--orange);color:#2c2228}
.service:nth-child(3) .service-number{background:var(--accent);color:#fff}
.work{background:#fffdf8}
.work-item:nth-child(2) .photo{border-radius:100px 28px 28px 28px}
.work-item:nth-child(3) .photo{border-radius:28px 28px 100px 28px}
.work-arrow{background:var(--sun)}
.process-list li:first-child{background:#ffe3d3}
.process-list li:nth-child(2){background:#fff0ad}
.process-list li:nth-child(3){background:#e8dcf4}
.atelier-teaser{background:#fff1e2}
.closing{background:var(--sun)}
.next-step{padding:54px 0;background:#ffe7cc}
.next-step-inner{display:flex;justify-content:space-between;align-items:end;gap:30px}
.next-step .eyebrow{margin-bottom:17px}
.next-step h2{font-size:clamp(2rem,3.1vw,3.2rem);margin:0}
.next-step .under-link{white-space:nowrap;margin-bottom:7px}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}.next-step{padding:42px 0}.next-step-inner{display:block}.next-step .under-link{margin-top:26px}}
@media(max-width:540px){.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:auto}}

/* Photo-led layout and the contact map. */
.hero h1{font-size:clamp(3.2rem,4.9vw,5.8rem);line-height:1.04}
.hero h1 em{text-decoration:none}
.work-grid{grid-template-columns:1.15fr .85fr;align-items:stretch}
.work-item-large{grid-row:auto}
.work-item .photo,.work-item-large .photo{height:520px;min-height:520px}
.narrow-copy{max-width:850px}
.narrow-copy h2{max-width:650px;margin-bottom:30px}
.narrow-copy p:not(.eyebrow){color:var(--muted);font-size:1.08rem;line-height:1.75;max-width:800px}
.section-tail-link{margin-top:36px}
.map-section{background:#fff4e8;padding-top:80px}
.map-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}
.map-top h2{margin:0}
.map-top .eyebrow{margin-bottom:15px}
.map-top .under-link{white-space:nowrap;margin-bottom:8px}
.map-frame{height:460px;background:#f6e3cf;border-radius:28px;overflow:hidden}
.map-frame iframe{width:100%;height:100%;border:0;display:block}
.map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px}
.map-pin{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:var(--sun);color:var(--ink);font-size:2.8rem;line-height:1;margin-bottom:18px}
.map-placeholder p{font-family:Georgia,serif;font-size:2rem;line-height:1.2;margin:0 0 20px}
.map-placeholder small{color:var(--muted);margin-top:15px;max-width:270px}
@media(max-width:760px){.hero h1{font-size:clamp(3rem,9vw,4.6rem)}.work-grid{display:block}.work-item .photo,.work-item-large .photo{height:340px;min-height:340px}.map-top{display:block}.map-top .under-link{margin-top:24px}.map-frame{height:390px}}
@media(max-width:540px){.hero h1{font-size:clamp(2.8rem,10.5vw,3.8rem)}.work-item .photo,.work-item-large .photo{height:310px;min-height:310px}.map-frame{height:360px}}

/* Distinct page colours give the inner pages rhythm without repeating their copy. */
.page-intro{padding:48px 0 54px}
.page-intro h1{font-size:clamp(3.4rem,5.1vw,5.8rem);max-width:1050px;margin:0}
.page-intro .eyebrow{margin-bottom:25px}
.page-intro .page-lead{margin-top:28px;max-width:620px}
.page-intro-savoir{background:#ffe4d3}
.page-intro-realisations{background:#eee2f5}
.page-intro-atelier{background:#fff0b8}
.page-intro-contact{background:#ffdecf}
.page-intro-devis{background:#eae0f3}
.page-intro-savoir+.section .editorial-grid .photo{border-radius:95px 27px 27px 27px}
.page-intro-atelier+.section .editorial-grid .photo{border-radius:27px 95px 27px 27px}
.gallery-grid .gallery-a{border-radius:105px 28px 28px 28px}
.gallery-grid .gallery-d{border-radius:28px 28px 105px 28px}
.map-frame{background:#f6e3cf}
@media(max-width:760px){.page-intro{padding:46px 0 51px}.page-intro h1{font-size:clamp(3.1rem,9vw,5rem)}}
@media(max-width:540px){.page-intro h1{font-size:clamp(2.8rem,10.5vw,3.9rem)}.page-intro .page-lead{font-size:1rem}}

/* The full navigation needs more room than a portrait tablet provides. */
@media(max-width:1020px){
  .site-header{height:74px}
  .menu-toggle{display:flex;background:transparent;border:0;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:7px;flex:none}
  .menu-toggle span{height:2px;width:23px;background:var(--ink);transition:transform .2s}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .nav{display:none;position:absolute;top:74px;left:0;right:0;z-index:21;background:var(--paper);padding:18px max(24px,calc((100vw - 940px)/2)) 28px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;box-shadow:0 15px 20px #29252118;max-height:calc(100dvh - 74px);overflow-y:auto;overscroll-behavior:contain}
  .nav.open{display:flex}
  .nav>a:not(.nav-quote){padding:13px 4px;border-bottom:1px solid var(--line);font-size:1rem;min-height:48px}
  .nav-quote{margin:18px 0 0;justify-content:space-between;padding:16px 20px;min-height:48px}
  .quote-grid{grid-template-columns:1fr;gap:0}
  .quote-aside{max-width:660px}
  .quote-form{width:100%;max-width:760px;margin-top:36px}
}
@media(max-width:760px){
  .text-link,.under-link{min-height:44px;align-items:center;padding-block:8px}
  .site-footer a:not(.button){padding-block:5px}
  .contact-details a:not(.under-link),.contact-details address{overflow-wrap:anywhere}
  .service-grid.three{grid-template-columns:1fr}
  .service-grid.three .service{min-height:0}
  .service-grid.three .service-number{margin-bottom:20px}
}
@media(max-width:540px){
  .page-intro-devis{padding-block:34px 38px}
  .page-intro-devis+.section{padding-top:42px}
  .quote-aside h2{font-size:2rem}
  .quote-form{margin-top:24px}
  .gallery-grid .photo-garment{height:260px}
}
