.project-page__preview-banner{background-color:#854d0e;color:#fef9c3;text-align:center;padding:.5rem 1rem;font-size:.875rem}.project-page__preview-banner a{color:#fef9c3;text-decoration:underline}.portfolio-page{max-width:1200px;margin:0 auto;padding:3rem 1.5rem 5rem}.portfolio-hero{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:3rem}.portfolio-hero__title{font-family:var(--font-playfair);font-size:clamp(3rem,8vw,5.5rem);font-weight:400;letter-spacing:-.01em;line-height:1.1;color:#f5f0e8;margin-bottom:1.25rem}.portfolio-hero__subtitle{font-size:1.25rem;color:rgba(240,236,227,.55);line-height:1.6;margin-top:1rem}.featured-project{display:grid;grid-template-columns:1fr;background-color:var(--grey);border-radius:.5rem;overflow:hidden;text-decoration:none;margin-bottom:2.5rem;transition:transform .2s ease,box-shadow .2s ease}@media(min-width:768px){.featured-project{grid-template-columns:1fr 1fr;min-height:22rem}}.featured-project:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.4)}.featured-project__image-wrapper{position:relative;min-height:16rem}@media(min-width:768px){.featured-project__image-wrapper{min-height:unset}}.featured-project__image{object-fit:cover}.featured-project__content{padding:2rem;display:flex;flex-direction:column;gap:.5rem;color:#fff}.featured-project__eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(240,236,227,.55)}.featured-project__category{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#c9a96e}.featured-project__title{font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:700;line-height:1.3;letter-spacing:-.01em;margin-top:.25rem}.featured-project__description{font-size:.925rem;line-height:1.65;color:rgba(240,236,227,.55);display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.featured-project__meta{font-size:.75rem;color:rgba(240,236,227,.55);margin-top:auto;padding-top:.75rem}.featured-project__cta{font-size:.85rem;font-weight:600;color:#c9a96e;margin-top:auto;padding-top:.75rem}.project-grid{display:grid;grid-template-columns:1fr;grid-gap:1.25rem;gap:1.25rem}@media(min-width:640px){.project-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.project-grid{grid-template-columns:repeat(3,1fr)}}.project-card{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;border-radius:.5rem;text-decoration:none}.project-card__image-bg{position:absolute;inset:0}.project-card__image{object-fit:cover;transition:transform .4s ease}.project-card:hover .project-card__image{transform:scale(1.05)}.project-card__overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.85) 0,transparent 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;transform:translateY(100%);transition:transform .35s ease}.project-card:hover .project-card__overlay{transform:translateY(0)}.project-card__category{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#c9a96e;margin-bottom:.4rem}.project-card__title{font-size:1.1rem;font-weight:700;color:#fff;line-height:1.3;margin-bottom:.6rem}.project-card__cta{font-size:.8rem;font-weight:600;color:rgba(240,236,227,.55)}.project-page{width:100%}.project-page__inner{max-width:1200px;margin:0 auto;padding:3rem 1.5rem 6rem}.project-page__back{display:inline-block;font-size:.875rem;color:rgba(240,236,227,.55);text-decoration:none;margin-bottom:2.5rem;transition:color .15s ease}.project-page__back:hover{color:#fff}.project-page__hero{margin-bottom:4rem}.project-page__category{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#c9a96e;margin-bottom:.75rem}.project-page__title{font-size:clamp(2rem,5vw,3rem);font-weight:700;letter-spacing:-.02em;color:#fff;line-height:1.2;margin:0 0 1.25rem}.project-page__summary{font-size:1.2rem;color:rgba(240,236,227,.55);line-height:1.65;max-width:720px;margin:0 0 2.5rem}.project-page__hero-image-wrapper{position:relative;width:100%;aspect-ratio:16/7;overflow:hidden;border-radius:.5rem}.project-page__hero-image-wrapper img{object-fit:cover;width:100%;height:100%}.project-page__content{display:grid;grid-template-columns:1fr;grid-gap:3rem;gap:3rem;align-items:start}@media(min-width:1024px){.project-page__content{grid-template-columns:300px 1fr;gap:4rem}.project-page__sidebar{position:-webkit-sticky;position:sticky;top:2rem}}.project-page__sidebar-heading{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(240,236,227,.55);margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--grey-hover)}.project-page__details{display:grid;grid-template-columns:1fr;margin:0 0 2rem}.project-page__details dt{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(240,236,227,.4);margin:0;padding-top:1rem}.project-page__details dd{font-size:.95rem;color:#fff;margin:.25rem 0 0;padding-bottom:1rem;border-bottom:1px solid var(--grey-hover)}.project-page__details dd a{color:#c9a96e;text-decoration:none;word-break:break-all;transition:color .15s ease}.project-page__details dd a:hover{color:#3d9e9e}.project-page__details dd:last-child{border-bottom:none}.project-page__cta{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1.25rem;border:1px solid #c9a96e;color:#c9a96e;font-size:.875rem;font-weight:600;text-decoration:none;border-radius:.375rem;transition:background-color .15s ease,color .15s ease}.project-page__cta:hover{background-color:#c9a96e;color:#fff}.project-page__body{min-width:0}.project-section{margin-bottom:3rem}.project-section:last-child{margin-bottom:0}.project-section__heading{display:flex;align-items:baseline;gap:.75rem;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--grey-hover)}.project-section__number{font-size:.8rem;font-weight:700;color:#c9a96e;letter-spacing:.05em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.project-section__title{font-size:1.3rem;font-weight:700;color:#fff;letter-spacing:-.01em}.project-section__content{font-size:1.0625rem;line-height:1.75;color:rgba(240,236,227,.72)}.project-section__content>*+*{margin-top:1.5rem}.project-section__content h2{font-size:1.625rem;font-weight:700;color:#fff;letter-spacing:-.01em;margin-top:2.5rem;margin-bottom:.75rem}.project-section__content h3{font-size:1.25rem;font-weight:700;color:#fff;margin-top:2rem;margin-bottom:.5rem}.project-section__content h4{font-size:1.0625rem;font-weight:700;color:#e5e7eb;margin-top:1.75rem;margin-bottom:.5rem}.project-section__content p{margin-top:1.25rem}.project-section__content a{color:#c9a96e;text-decoration:underline;text-underline-offset:3px}.project-section__content a:hover{color:#3d9e9e}.project-section__content strong{color:#fff;font-weight:700}.project-section__content em{font-style:italic}.project-section__content ol,.project-section__content ul{padding-left:1.5rem;margin-top:1.25rem}.project-section__content ol li,.project-section__content ul li{margin-top:.4rem}.project-section__content ol li p,.project-section__content ul li p{margin-top:0}.project-section__content ul{list-style:disc}.project-section__content ol{list-style:decimal}.project-section__content blockquote{margin:1.75rem 0;padding:1rem 1.5rem;border-left:4px solid #c9a96e;background-color:var(--grey);color:rgba(240,236,227,.55);font-style:italic;border-radius:0 .375rem .375rem 0}.project-section__content blockquote p{margin-top:0}.project-section__content code:not(pre code){background-color:var(--grey-hover);color:#c9a96e;padding:.15em .4em;border-radius:.25rem;font-size:.875em;font-family:monospace}.project-section__content hr{border:none;border-top:1px solid var(--grey-hover);margin:2.5rem 0}.project-section__content img{height:auto;border-radius:.5rem;box-shadow:0 4px 24px rgba(0,0,0,.4);border:1px solid var(--grey-hover)}.project-section__content figure,.project-section__content img{display:block;max-width:100%;margin:1.5rem auto}.project-section__content figure img{margin:0 auto}.project-section__content figure figcaption{text-align:center;font-size:.8125rem;font-style:italic;color:rgba(240,236,227,.6);padding:.5rem 0}.project-section__content .table-wrapper{width:100%;overflow-x:auto;margin:1.5rem 0}.project-section__content table{width:100%;border-collapse:collapse;font-size:.9rem;margin:0}.project-section__content table tbody tr:first-child td,.project-section__content table tbody tr:first-child th,.project-section__content table thead tr td,.project-section__content table thead tr th{background-color:#3f3f46;font-weight:700;color:#fff}.project-section__content table th{color:#fff;padding:.5rem .75rem;border:1px solid var(--grey-hover);text-align:left;font-weight:600;background-color:#3f3f46}.project-section__content table tbody tr{border-bottom:1px solid var(--grey-hover)}.project-section__content table tbody tr td{color:rgba(240,236,227,.72);padding:.5rem .75rem;border:1px solid var(--grey-hover);vertical-align:top}.project-section__content table tbody tr td p{margin-top:0}.project-section__content .callout{display:flex;gap:.875rem;padding:1rem 1.25rem;border-radius:.375rem;border-left:4px solid;margin:1.5rem 0}.project-section__content .callout__icon{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;line-height:1;margin-top:.125rem}.project-section__content .callout__body{flex:1 1;min-width:0}.project-section__content .callout__body>*+*{margin-top:.75rem}.project-section__content .callout__body>:first-child{margin-top:0}.project-section__content .callout__title{font-weight:700;font-size:.9375rem;margin-top:0!important}.project-section__content .callout--info{background-color:rgba(59,130,246,.08);border-color:#3b82f6}.project-section__content .callout--info .callout__icon{background-color:#3b82f6;color:#fff}.project-section__content .callout--info .callout__title{color:#93c5fd}.project-section__content .callout--tip{background-color:rgba(34,197,94,.08);border-color:#22c55e}.project-section__content .callout--tip .callout__icon{background-color:#22c55e;color:#fff}.project-section__content .callout--tip .callout__title{color:#86efac}.project-section__content .callout--warning{background-color:rgba(201,169,110,.08);border-color:#c9a96e}.project-section__content .callout--warning .callout__icon{background-color:#c9a96e;color:#1a1a1a}.project-section__content .callout--warning .callout__title{color:#c9a96e}.project-section__content .callout--danger{background-color:rgba(239,68,68,.08);border-color:#ef4444}.project-section__content .callout--danger .callout__icon{background-color:#ef4444;color:#fff}.project-section__content .callout--danger .callout__title{color:#fca5a5}.project-section__content .callout--question{background-color:rgba(61,158,158,.08);border-color:#3d9e9e}.project-section__content .callout--question .callout__icon{background-color:#3d9e9e;color:#fff}.project-section__content .callout--question .callout__title{color:#7dd3d0}.project-section__content .callout--note{background-color:rgba(139,92,246,.08);border-color:#8b5cf6}.project-section__content .callout--note .callout__icon{background-color:#8b5cf6;color:#fff}.project-section__content .callout--note .callout__title{color:#c4b5fd}.project-section__content .footnote-ref{font-size:.7em;vertical-align:super;line-height:1;color:#c9a96e;text-decoration:none;font-weight:600;padding:0 .1em;transition:color .15s ease}.project-section__content .footnote-ref:hover{color:#3d9e9e}.project-section__content .footnotes{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--grey-hover)}.project-section__content .footnotes h2{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(240,236,227,.55);margin-top:0;margin-bottom:1rem}.project-section__content .footnotes ol{padding-left:1.5rem;margin-top:0}.project-section__content .footnotes ol li{font-size:.8125rem;color:rgba(240,236,227,.55);line-height:1.65;margin-top:.5rem}.project-section__content .footnotes ol li a:not(.footnote-back){color:#c9a96e;text-decoration:underline;text-underline-offset:3px}.project-section__content .footnotes ol li a:not(.footnote-back):hover{color:#3d9e9e}.project-section__content .footnotes .footnote-back{font-size:.85em;color:rgba(240,236,227,.4);text-decoration:none;margin-left:.35em;transition:color .15s ease}.project-section__content .footnotes .footnote-back:hover{color:#fff}.project-gallery{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--grey-hover)}.project-gallery__heading{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(240,236,227,.55);margin:0 0 1.5rem}.project-gallery__grid{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem}@media(min-width:640px){.project-gallery__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.project-gallery__grid{grid-template-columns:repeat(3,1fr)}}.project-gallery__item{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:.375rem;border:none;padding:0;cursor:pointer}.project-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.project-gallery__item:hover img{transform:scale(1.04)}