:root {
  color-scheme: light;
  --paper: #f3eee6;
  --wine: #642a38;
  --rose: #d9bdb2;
  --olive: #74775b;
  --ink: #292521;
  --muted: #625c53;
  --line: #cfc6b9;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --rail: 164px;
  --gutter: clamp(28px, 6.1vw, 104px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 28px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 14px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
::selection { background: var(--wine); color: var(--paper); }
a { color: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--wine); outline-offset: 4px; }
button, input, select, textarea { font: inherit; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 20; padding: 10px 14px; background: var(--wine); color: var(--paper); transform: translateY(-160%); }
.skip-link:focus { transform: none; }

.rail { position: fixed; z-index: 5; inset: 0 auto 0 0; width: var(--rail); padding: 34px 24px 25px; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid rgba(71, 58, 47, .16); background: var(--paper); }
.wordmark { display: flex; flex-direction: column; color: var(--wine); text-decoration: none; font: 500 31px/.82 var(--serif); letter-spacing: -.045em; }
.wordmark span { margin-top: 9px; color: var(--muted); font: 500 7px/1.5 var(--sans); letter-spacing: .17em; }
.rail-nav { display: flex; flex-direction: column; gap: 23px; margin-top: -62px; }
.rail-nav a { display: flex; gap: 9px; align-items: baseline; color: var(--ink); text-decoration: none; font-size: 10px; letter-spacing: .035em; text-transform: uppercase; transition: color .2s ease; }
.rail-nav a span { color: var(--olive); font-size: 9px; }
.rail-nav a:hover, .rail-contact:hover { color: var(--wine); }
.rail-bottom { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.availability { color: var(--muted); font-size: 8px; line-height: 1.4; letter-spacing: .075em; text-transform: uppercase; }
.availability i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--olive); vertical-align: 1px; }
.rail-contact { display: flex; width: 100%; justify-content: space-between; padding: 8px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; font: 500 15px var(--serif); }
.rail-edition { color: var(--muted); font-size: 8px; line-height: 1.75; }
.mobile-head { display: none; }
main { margin-left: var(--rail); }
.hero { position: relative; min-height: min(800px, 100svh); min-height: max(690px, 100svh); padding: 0 var(--gutter) 34px; display: grid; grid-template-columns: 1fr .88fr; grid-template-rows: 1fr auto; column-gap: 3.5vw; align-items: center; overflow: hidden; border-bottom: 1px solid var(--line); }
.hero-copy { position: relative; z-index: 1; padding-top: 24px; }
.hero-meta { display: flex; flex-direction: column; gap: 4px; margin-bottom: 47px; color: var(--muted); font-size: 9px; letter-spacing: .13em; line-height: 1.65; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 24px; color: var(--wine); font: 400 clamp(72px, 9.1vw, 148px)/.77 var(--serif); letter-spacing: -.055em; }
h1 em, h2 em, h3 em { font-weight: 400; }
.hero-summary { display: grid; grid-template-columns: minmax(180px, 300px) auto; gap: 26px; align-items: end; max-width: 535px; }
.hero-summary p { max-width: 30ch; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.text-link { display: inline-flex; align-items: center; gap: 18px; padding-bottom: 4px; border-bottom: 1px solid var(--wine); color: var(--wine); text-decoration: none; font-size: 10px; font-weight: 500; letter-spacing: .04em; white-space: nowrap; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translate(3px, -2px); }
.hero-art { position: relative; width: min(100%, 560px); height: clamp(410px, 59vw, 665px); justify-self: end; align-self: center; isolation: isolate; overflow: hidden; background: #e5d7c8; }
.art-wash { position: absolute; inset: 0; background: linear-gradient(122deg, #eee4d7 2%, #d8c4ae 58%, #beaa91 100%); }
.art-surface { position: absolute; inset: 57% -10% -8%; transform: rotate(-9deg); background: #d5c2ad; box-shadow: 0 -12px 36px rgba(86, 65, 49, .08); }
.art-sheet { position: absolute; top: 11%; left: 43%; width: 46%; height: 61%; background: linear-gradient(110deg, #fffaf0, #e9ddca); clip-path: polygon(0 0, 80% 3%, 100% 100%, 15% 88%); box-shadow: -12px 18px 30px rgba(54, 39, 27, .14); }
.sheet-back { top: 17%; left: 24%; width: 45%; height: 50%; transform: rotate(-13deg); background: linear-gradient(110deg, #e8ddce, #f6eee2); }
.sheet-front { transform: rotate(4deg); }
.art-ring { position: absolute; z-index: 2; top: 31%; left: 27%; width: 34%; aspect-ratio: 1; border: clamp(20px, 3.3vw, 46px) solid #642a38; border-radius: 50%; background: transparent; box-shadow: inset 0 0 24px rgba(42, 16, 22, .25), 16px 20px 35px rgba(41, 28, 25, .17); }
.art-ring::after { position: absolute; content: ""; inset: -1px; border-radius: inherit; border: 1px solid rgba(255,255,255,.34); }
.art-orb { position: absolute; z-index: 3; top: 41%; left: 58%; width: 31%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 34% 27%, #e9d5ca, #d9bdb2 58%, #b99184); box-shadow: 17px 29px 34px rgba(63, 40, 30, .2); }
.art-disc { position: absolute; z-index: 1; top: 10%; left: 72%; width: 27%; height: 42%; border-radius: 50%; transform: rotate(18deg); background: linear-gradient(110deg, rgba(116,119,91,.32), rgba(94,104,69,.85) 65%, rgba(59,65,45,.78)); box-shadow: 15px 21px 30px rgba(48, 46, 33, .22); }
.art-stem { position: absolute; z-index: 4; left: 66%; top: 1%; width: 38%; height: 48%; overflow: visible; filter: drop-shadow(2px 4px 2px rgba(41, 34, 23, .18)); }
.art-stem path { fill: none; stroke: #676949; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.art-stem path:not(:first-child) { fill: #858667; stroke-width: 1.5; }
.art-index, .art-caption { position: absolute; z-index: 5; color: var(--wine); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.art-index { top: 20px; right: 18px; display: flex; gap: 10px; }
.art-caption { bottom: 20px; left: 20px; }
.hero-foot { grid-column: 1 / -1; display: flex; justify-content: space-between; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
.hero-foot > span:nth-child(2) { color: var(--wine); }

.section-block { padding: clamp(94px, 12vw, 176px) var(--gutter); }
.section-heading { display: grid; grid-template-columns: 1fr 1.1fr .82fr; gap: 4vw; align-items: end; margin-bottom: 76px; }
.section-index { color: var(--wine); font-size: 9px; letter-spacing: .15em; line-height: 1.5; text-transform: uppercase; }
h2 { margin-bottom: 0; color: var(--wine); font: 400 clamp(54px, 7vw, 103px)/.84 var(--serif); letter-spacing: -.045em; }
.section-heading > p, .approach-lead > p, .notes-head > p { max-width: 31ch; margin: 0 0 4px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.project { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(205px, .75fr); gap: clamp(28px, 5vw, 76px); align-items: end; margin-top: 52px; }
.project-meridian { grid-template-columns: minmax(205px, .75fr) minmax(0, 1.5fr); margin-top: 90px; }
.project-meridian .project-image { order: 2; }
.project-meridian .project-info { order: 1; }
.project-image { position: relative; display: block; min-height: 430px; height: clamp(420px, 57vw, 690px); overflow: hidden; text-decoration: none; }
.flora-image { background: radial-gradient(ellipse at 23% 22%, #eddab3 0 10%, transparent 10.5%), linear-gradient(125deg, #ded1b9, #b7a189 57%, #7b6f56); }
.flora-image::before { position: absolute; content: ""; inset: 58% -10% -20%; transform: rotate(-11deg); background: #d8cbbb; }
.flora-image::after { position: absolute; content: ""; inset: 0; background: linear-gradient(115deg, rgba(255,249,230,.24), transparent 45%, rgba(36,27,22,.18)); }
.flora-sun { position: absolute; top: 10%; left: 12%; width: 29%; aspect-ratio: 1; border-radius: 50%; background: #ede0c7; }
.flora-vase { position: absolute; z-index: 1; bottom: 10%; width: 24%; height: 44%; background: linear-gradient(90deg,#9a4f47,#d0896d 52%,#88453e); border-radius: 43% 43% 20% 20% / 22% 22% 14% 14%; box-shadow: 19px 30px 28px rgba(48,39,30,.24); }
.vase-one { left: 38%; transform: rotate(-3deg); }
.vase-two { left: 60%; bottom: 5%; width: 17%; height: 34%; background: linear-gradient(90deg,#737455,#a3a074 55%,#646449); transform: rotate(4deg); }
.flora-stem { position: absolute; z-index: 2; bottom: 47%; left: 47%; width: 2px; height: 37%; background: #575a3f; transform-origin: bottom; transform: rotate(-19deg); }
.flora-stem::before, .flora-stem::after { position: absolute; content: ""; width: 55px; height: 23px; border-radius: 90% 0 90% 0; background: #74775b; }
.flora-stem::before { top: 16%; left: 3px; transform: rotate(-27deg); }
.flora-stem::after { top: 43%; right: 0; transform: rotate(19deg); }
.stem-two { left: 67%; height: 35%; transform: rotate(15deg); }
.stem-two::before { top: 28%; }
.image-folio { position: absolute; z-index: 4; top: 20px; left: 22px; color: #f7eee0; font-size: 8px; letter-spacing: .17em; }
.image-title { position: absolute; z-index: 4; top: 40%; left: 12%; color: #642a38; font: 400 clamp(48px, 7vw, 92px)/.72 var(--serif); letter-spacing: -.05em; }
.image-title em { margin-left: 36px; }
.image-arrow { position: absolute; z-index: 4; right: 22px; bottom: 20px; display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.7); color: #fffaf1; transition: background .2s ease, color .2s ease; }
.project-image:hover .image-arrow { background: var(--paper); color: var(--wine); }
.project-info { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; padding-bottom: 9px; }
.project-type { color: var(--olive); font-size: 8px; letter-spacing: .12em; line-height: 1.6; text-transform: uppercase; }
.project-info h3 { margin: 7px 0 0; color: var(--wine); font: 400 45px/1 var(--serif); }
.project-info p { max-width: 33ch; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.9; }
.work-end { display: flex; justify-content: space-between; align-items: center; margin-top: 92px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; }

.approach { display: grid; grid-template-columns: .88fr 1.12fr; gap: 12vw; background: #ebe5db; }
.approach-lead h2 { margin: 45px 0 28px; }
.approach-lead > p { max-width: 35ch; }
.approach-detail { padding-top: 9px; }
.approach-note { max-width: 42ch; margin: 0 0 57px; color: var(--wine); font: 400 23px/1.42 var(--serif); }
.process-list { margin: 0; padding: 0; list-style: none; }
.process-list li { display: grid; grid-template-columns: 45px 1fr; gap: 18px; padding: 21px 0 20px; border-top: 1px solid #c9beb0; }
.process-list li > span { color: var(--olive); font-size: 9px; letter-spacing: .1em; }
.process-list h3 { margin: -5px 0 4px; color: var(--ink); font: 500 20px var(--serif); }
.process-list p { max-width: 44ch; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.8; }

.notes-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 70px; }
.notes-head h2 { margin-top: 42px; }
.notes-head > p { max-width: 22ch; margin-bottom: 3px; }
.note-feature { display: grid; grid-template-columns: 1.18fr .82fr; gap: clamp(40px, 9vw, 138px); align-items: center; }
.note-art { position: relative; height: clamp(360px, 43vw, 555px); overflow: hidden; background: #e1d4c4; }
.note-art::before { position: absolute; content: ""; inset: 53% -10% -22%; background: #c8b59d; transform: rotate(-9deg); }
.note-circle { position: absolute; top: 9%; left: 14%; width: 45%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 34% 27%, #ead6c8, #d9bdb2 62%, #af887a); box-shadow: 19px 28px 34px rgba(64,45,35,.16); }
.note-paper { position: absolute; top: 24%; right: 13%; width: 44%; height: 65%; transform: rotate(12deg); background: linear-gradient(125deg,#fff9ed,#e8dccd); box-shadow: -14px 17px 31px rgba(45,35,25,.16); }
.note-plant { position: absolute; z-index: 2; top: 6%; right: 11%; width: 3px; height: 55%; transform: rotate(23deg); transform-origin: bottom; background: #62654a; }
.note-plant::before,.note-plant::after { position: absolute; content: ""; width: 70px; height: 26px; border-radius: 90% 0; background: #74775b; }
.note-plant::before { top: 19%; left: 2px; transform: rotate(-31deg); }
.note-plant::after { top: 40%; right: 0; transform: rotate(16deg); }
.note-fig { position: absolute; z-index: 3; bottom: 17px; left: 19px; color: var(--wine); font-size: 8px; letter-spacing: .14em; }
.note-copy { max-width: 355px; }
.note-date { color: var(--olive); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.note-copy h3 { margin: 35px 0 24px; color: var(--wine); font: 400 clamp(51px, 6vw, 80px)/.86 var(--serif); letter-spacing: -.045em; }
.note-copy p { margin-bottom: 28px; color: var(--muted); font-size: 11px; line-height: 2; }
.notes-foot { display: flex; justify-content: space-between; margin-top: 57px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; }

.studio { display: grid; grid-template-columns: .92fr 1fr; gap: 6vw 12vw; background: var(--wine); color: var(--paper); }
.studio-heading .section-index { color: #e4beb2; }
.studio-heading h2 { margin-top: 47px; color: var(--paper); }
.studio-copy { max-width: 470px; padding-top: 7px; }
.studio-copy p { color: #eee2d8; font-size: 11px; line-height: 2; }
.studio-copy .studio-lead { margin-bottom: 24px; color: var(--paper); font: 400 27px/1.24 var(--serif); }
.studio-copy .text-link { margin-top: 11px; border-color: #dcc2b7; color: #f3eee6; }
.capabilities { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px 42px; padding-top: 18px; border-top: 1px solid rgba(243,238,230,.35); }
.capabilities span { color: #f0e3d9; font: 400 20px var(--serif); }

.enquire { display: grid; grid-template-columns: .82fr 1.18fr; gap: 12vw; }
.enquire-intro h2 { margin: 42px 0 27px; font-size: clamp(51px, 6.1vw, 88px); }
.enquire-intro > p { max-width: 33ch; color: var(--muted); font-size: 11px; line-height: 1.9; }
.email-link { display: inline-flex; gap: 16px; align-items: center; margin-top: 17px; color: var(--wine); text-decoration: none; font: 500 19px var(--serif); }
.email-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.enquiry-form { display: flex; flex-direction: column; gap: 25px; padding-top: 8px; }
.form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.enquiry-form label { display: flex; flex-direction: column; gap: 8px; color: var(--ink); font-size: 9px; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; }
.enquiry-form input, .enquiry-form select, .enquiry-form textarea { width: 100%; border: 0; border-bottom: 1px solid #9e9589; border-radius: 0; padding: 10px 0 12px; background: transparent; color: var(--ink); font: 400 11px/1.65 var(--sans); letter-spacing: 0; text-transform: none; }
.enquiry-form input::placeholder, .enquiry-form textarea::placeholder { color: #696158; opacity: 1; }
.enquiry-form select { color: #696158; }
.enquiry-form textarea { resize: vertical; min-height: 95px; }
.enquiry-form input:focus, .enquiry-form select:focus, .enquiry-form textarea:focus { border-bottom-color: var(--wine); outline: none; }
.submit-button { display: flex; justify-content: space-between; align-items: center; align-self: flex-start; gap: 45px; min-width: 225px; padding: 14px 18px; border: 0; background: var(--wine); color: var(--paper); cursor: pointer; font-size: 10px; transition: background .2s ease, transform .2s ease; }
.submit-button:hover { transform: translateY(-2px); background: #4b1f2a; }
.form-note { max-width: 48ch; margin: -14px 0 0; color: var(--muted); font-size: 9px; line-height: 1.75; }
.site-footer { display: grid; grid-template-columns: 1fr 1.3fr 1fr auto; align-items: center; gap: 18px; margin: 0 var(--gutter); padding: 21px 0 26px; border-top: 1px solid var(--line); color: var(--muted); font-size: 8px; letter-spacing: .04em; }
.site-footer a { color: var(--wine); text-decoration: none; }
.site-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-wordmark { font: 500 25px var(--serif); letter-spacing: -.05em; }

@media (min-width: 1700px) { :root { --rail: 190px; --gutter: 110px; } .hero { min-height: 900px; } }
@media (max-width: 1120px) {
  :root { --rail: 142px; --gutter: clamp(28px, 4.5vw, 64px); }
  .hero { grid-template-columns: 1fr .83fr; column-gap: 2vw; min-height: max(660px, 100svh); }
  h1 { font-size: clamp(68px, 8.7vw, 104px); }
  .hero-art { height: clamp(400px, 55vw, 570px); }
  .section-heading { grid-template-columns: .68fr 1fr .75fr; gap: 2vw; }
  .approach { gap: 7vw; }
  .enquire { gap: 7vw; }
}
@media (max-width: 760px) {
  :root { --rail: 0px; --gutter: 25px; }
  html { scroll-padding-top: 72px; }
  .rail { display: none; }
  .mobile-head { position: sticky; z-index: 10; top: 0; display: grid; grid-template-columns: 1fr auto auto; gap: 14px; align-items: center; min-height: 64px; padding: 0 23px; border-bottom: 1px solid rgba(71,58,47,.16); background: var(--paper); }
  .mobile-wordmark { color: var(--wine); text-decoration: none; font: 500 27px/.9 var(--serif); letter-spacing: -.05em; }
  .mobile-tag { color: var(--muted); font-size: 7px; letter-spacing: .1em; text-transform: uppercase; }
  .menu-toggle { display: flex; width: 35px; height: 35px; flex-direction: column; justify-content: center; gap: 5px; padding: 7px; border: 0; background: transparent; cursor: pointer; }
  .menu-toggle span { display: block; width: 19px; height: 1px; background: var(--wine); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3px) rotate(-45deg); }
  .mobile-nav { position: absolute; top: 63px; inset-inline: 0; padding: 16px 25px 24px; border-bottom: 1px solid var(--line); background: var(--paper); }
  .mobile-nav:not([hidden]) { display: flex; flex-direction: column; }
  .mobile-nav a { display: flex; gap: 14px; padding: 11px 0; border-bottom: 1px solid rgba(71,58,47,.13); color: var(--ink); text-decoration: none; font-size: 11px; text-transform: uppercase; }
  .mobile-nav a span { color: var(--olive); font-size: 9px; }
  main { margin-left: 0; }
  .hero { min-height: auto; padding-top: 44px; grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: 32px; }
  .hero-copy { padding-top: 0; }
  .hero-meta { flex-direction: row; justify-content: space-between; gap: 16px; margin-bottom: 37px; font-size: 7px; }
  h1 { margin-bottom: 24px; font-size: clamp(76px, 19vw, 132px); }
  .hero-summary { grid-template-columns: 1fr; gap: 16px; align-items: start; }
  .hero-summary p { font-size: 12px; }
  .hero-art { width: 100%; height: min(112vw, 535px); min-height: 355px; justify-self: stretch; }
  .hero-foot { grid-row: 3; gap: 10px; font-size: 7px; letter-spacing: .07em; }
  .hero-foot > span:nth-child(2) { display: none; }
  .section-block { padding-top: 96px; padding-bottom: 96px; }
  .section-heading { display: grid; grid-template-columns: 1fr; gap: 23px; margin-bottom: 40px; }
  .section-heading h2 { font-size: clamp(60px, 15vw, 86px); }
  .section-heading > p { max-width: 36ch; }
  .project, .project-meridian { grid-template-columns: 1fr; gap: 24px; margin-top: 42px; }
  .project-meridian .project-image, .project-meridian .project-info { order: initial; }
  .project-image { min-height: 0; height: min(112vw, 550px); }
  .project-info { display: grid; grid-template-columns: 1fr auto; gap: 14px 18px; align-items: end; }
  .project-info > p { grid-column: 1 / -1; max-width: 48ch; }
  .project-info .text-link { grid-column: 1 / -1; justify-self: start; }
  .project-info h3 { font-size: 39px; }
  .work-end { align-items: flex-start; flex-direction: column; gap: 12px; margin-top: 46px; }
  .approach { grid-template-columns: 1fr; gap: 54px; }
  .approach-lead h2 { margin: 32px 0 23px; font-size: clamp(62px, 15vw, 91px); }
  .approach-note { margin-bottom: 35px; font-size: 22px; }
  .notes-head { align-items: flex-start; flex-direction: column; gap: 20px; margin-bottom: 38px; }
  .notes-head h2 { margin-top: 32px; font-size: clamp(61px, 15vw, 88px); }
  .note-feature { grid-template-columns: 1fr; gap: 30px; }
  .note-art { height: min(96vw, 470px); }
  .note-copy { max-width: 460px; }
  .note-copy h3 { margin: 21px 0 18px; }
  .notes-foot { align-items: flex-start; flex-direction: column; gap: 12px; margin-top: 36px; }
  .studio { grid-template-columns: 1fr; gap: 39px; }
  .studio-heading h2 { margin-top: 32px; font-size: clamp(68px, 17vw, 100px); }
  .studio-copy .studio-lead { font-size: 25px; }
  .capabilities { gap: 8px 24px; }
  .capabilities span { font-size: 17px; }
  .enquire { grid-template-columns: 1fr; gap: 47px; }
  .enquire-intro h2 { margin: 32px 0 23px; font-size: clamp(58px, 14vw, 84px); }
  .form-pair { grid-template-columns: 1fr; gap: 22px; }
  .site-footer { grid-template-columns: 1fr auto; gap: 12px; padding: 20px 0 24px; }
  .site-footer > span { grid-column: 1; grid-row: 2; }
  .site-footer > a:nth-of-type(2) { grid-column: 1; grid-row: 3; }
  .site-footer > a:last-child { grid-column: 2; grid-row: 2 / 4; align-self: end; text-align: right; }
}
@media (max-width: 380px) {
  :root { --gutter: 19px; }
  .mobile-head { padding-inline: 18px; }
  .mobile-tag { max-width: 90px; text-align: right; line-height: 1.4; }
  .hero-meta { font-size: 6px; letter-spacing: .08em; }
  h1 { font-size: 19vw; }
  .project-info { grid-template-columns: 1fr; }
  .project-info > p, .project-info .text-link { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
