/*! 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}
.grow{flex-grow:1}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
}
:root{--cream:#f6f0e6;--paper:#fffdf9;--espresso:#2d211c;--terracotta:#b7654a;--terracotta-dark:#9f523b;--sage:#8d9b7a;--sage-dark:#667357;--parchment:#e8ddcd;--line:#2d211c2b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--espresso);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}
a{color:inherit;text-decoration:none}
button{font:inherit}
.site-header{z-index:20;justify-content:space-between;align-items:center;width:min(100% - 7rem,1400px);height:96px;margin:0 auto;display:flex;position:relative}
.wordmark{letter-spacing:-.06em;font-family:Georgia,Times New Roman,serif;font-size:2.25rem}
.wordmark-large{font-size:3rem;font-weight:600}
.header-logo{display:block;width:clamp(230px,22vw,340px);flex:0 0 auto}
.header-logo img{display:block;width:100%;height:auto}
.nav{align-items:center;gap:2.5rem;font-size:.95rem;display:flex}
.nav>a:not(.nav-cta){position:relative}
.nav>a:not(.nav-cta):after{content:"";background:var(--terracotta);height:1px;transition:right .2s;position:absolute;bottom:-.4rem;left:0;right:100%}
.nav>a:hover:after{right:0}
.nav-cta{background:var(--terracotta);color:#fff;border-radius:4px;margin-left:.75rem;padding:1rem 1.35rem;transition:transform .2s,background .2s}
.nav-cta:hover{background:var(--terracotta-dark);transform:translateY(-2px)}
.menu-button{display:none}
.hero{grid-template-columns:.92fr 1.08fr;align-items:center;gap:3.5rem;width:min(100% - 7rem,1400px);min-height:calc(100vh - 96px);margin:0 auto;padding:3.5rem 0 5.5rem;display:grid}
.eyebrow{color:var(--terracotta);letter-spacing:.16em;text-transform:uppercase;margin:0 0 1.5rem;font-size:.75rem;font-weight:700}
.hero h1{letter-spacing:-.055em;max-width:690px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.6rem,5.7vw,6.1rem);font-weight:400;line-height:.98}
.hero-intro{max-width:580px;margin:2rem 0 0;font-size:1.16rem;line-height:1.65}
.hero-actions{flex-wrap:wrap;gap:1.25rem;margin-top:2.25rem;display:flex}
.button{border-radius:4px;justify-content:center;align-items:center;gap:1.3rem;min-height:58px;padding:0 1.55rem;font-weight:600;transition:transform .2s,color .2s,background .2s;display:inline-flex}
.button:hover{transform:translateY(-2px)}
.button.primary{background:var(--terracotta);color:#fff}
.button.primary:hover{background:var(--terracotta-dark)}
.button.secondary{border:1px solid var(--sage-dark);color:var(--sage-dark)}
.button.secondary:hover{background:#8d9b7a1a}
.hero-art{isolation:isolate;height:650px;position:relative}
.shape{z-index:-1;position:absolute}
.shape-sage{background:var(--sage);opacity:.86;border-radius:46% 54% 62% 38%/52% 43% 57% 48%;width:390px;height:410px;top:5%;left:2%}
.shape-line{border:2px solid #b7654a9e;border-radius:50%;width:450px;height:450px;top:0;right:1%}
.site-card{background:var(--paper);border-radius:13px;padding:1rem;position:absolute;box-shadow:0 22px 55px #2d211c29}
.card-back{width:72%;top:9%;right:0;transform:rotate(1.5deg)}
.card-front{width:81%;bottom:2%;left:4%;transform:rotate(-1.2deg)}
.mini-nav{justify-content:space-between;align-items:center;height:50px;padding:0 .6rem;display:flex}
.mini-nav strong{font:400 1.2rem/1 Georgia,serif}
.mini-nav span{text-transform:uppercase;letter-spacing:.08em;font-size:.43rem}
.mini-photo{background-image:linear-gradient(90deg,#f6f0e6ed 0%,#f6f0e69e 45%,#f6f0e60d 76%),url(/assets/mapnora-hero-still-life.png);background-position:50%;background-size:cover;align-items:center;min-height:270px;padding:2.5rem;display:flex;position:relative;overflow:hidden}
.photo-one{background-position:58%}
.photo-two{background-position:50%}
.mini-photo>span,.mini-photo>div{z-index:2;font:400 1.8rem/1 Georgia,serif;position:relative}
.mini-photo small{width:180px;margin-top:1rem;font:400 .55rem/1.5 Inter,sans-serif;display:block}
.mini-features{grid-template-columns:repeat(3,1fr);padding:1rem 0 .2rem;display:grid}
.mini-features span{text-align:center;color:#5d594d;border-right:1px solid var(--line);font-size:.48rem}
.mini-features span:last-child{border:0}
.trust-strip{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);width:min(100% - 7rem,1400px);margin:-1rem auto 0;padding:2rem 0 3.75rem;display:grid}
.trust-strip div{border-right:1px solid var(--line);align-items:center;gap:1rem;padding:0 2.5rem;display:flex}
.trust-strip div:first-child{padding-left:0}
.trust-strip div:last-child{border:0}
.trust-strip i{color:var(--sage-dark);font:400 2.1rem Georgia,serif}
.trust-strip span{font-size:.95rem;line-height:1.5}
.statement{text-align:center;width:min(100% - 7rem,1100px);margin:0 auto;padding:9rem 0}
.statement h2,.section-heading h2,.process-intro h2,.about-section h2,.contact-section h2{letter-spacing:-.045em;margin:0;font:400 clamp(2.7rem,4.5vw,5rem)/1.03 Georgia,serif}
.statement>p:last-child{max-width:680px;margin:2rem auto 0;font-size:1.1rem;line-height:1.8}
.work-section,.services-section,.process-section,.about-section{padding:8rem max(3.5rem,50vw - 700px)}
.work-section{background:var(--paper)}
.section-heading{grid-template-columns:1.35fr .65fr;align-items:end;gap:7rem;margin-bottom:5rem;display:grid}
.section-heading>p{margin:0;font-size:1.05rem;line-height:1.75}
.featured-project{grid-template-columns:1.15fr .85fr;align-items:center;gap:5rem;display:grid}
.website-collage{background:var(--sage);min-height:590px;padding:3rem;position:relative;overflow:hidden}
.website-collage:before{content:"";border:1px solid #ffffff7a;border-radius:50%;width:310px;height:310px;position:absolute;top:-110px;left:-95px}
.collage-browser{background:#fff;border:1px solid #2d211c1a;position:absolute;overflow:hidden;box-shadow:0 22px 52px #2d211c40}
.collage-browser img{object-fit:cover;object-position:top;width:100%;height:calc(100% - 28px);display:block}
.collage-browser .browser-bar{height:28px}
.collage-main{z-index:2;width:57%;height:76%;top:7%;left:22%}
.collage-left{z-index:3;width:41%;height:57%;bottom:4%;left:4%;transform:rotate(-3deg)}
.collage-right{z-index:4;width:42%;height:55%;bottom:3%;right:3%;transform:rotate(3deg)}
.project-button{margin-top:2rem}
.project-visual{background:var(--sage);border-radius:1px;padding:5rem 4rem}
.project-browser{background:#fff;transform:rotate(-2deg);box-shadow:0 25px 60px #2d211c3d}
.browser-bar{align-items:center;gap:6px;height:34px;padding:0 12px;display:flex}
.browser-bar span{background:#d5d1cc;border-radius:50%;width:7px;height:7px}
.vending-page{color:#fff;background:#141414;flex-direction:column;justify-content:center;min-height:360px;padding:3rem;display:flex;position:relative;overflow:hidden}
.vending-page:after{content:"";background:#c23f2f;border-radius:50%;width:230px;height:230px;position:absolute;bottom:-55px;right:-55px}
.vending-page b{color:#e64e3b;letter-spacing:.08em}
.vending-page p{z-index:1;margin:1.6rem 0;font:400 3.3rem/1 Georgia,serif;position:relative}
.vending-page span{color:#bbb;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}
.project-number{color:var(--terracotta);text-transform:uppercase;letter-spacing:.14em;font-size:.75rem}
.project-copy h3{margin:1.3rem 0;font:400 3rem/1.05 Georgia,serif}
.project-copy>p{line-height:1.8}
.project-copy ul{border-top:1px solid var(--line);margin:2rem 0 0;padding:0;list-style:none}
.project-copy li{border-bottom:1px solid var(--line);padding:.9rem 0}
.services-section{background:var(--cream)}
.service-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}
.service-grid article{border-right:1px solid var(--line);min-height:310px;padding:2.5rem 2rem 2rem}
.service-grid article:first-child{padding-left:0}
.service-grid article:last-child{border:0}
.service-grid span{color:var(--terracotta);font-size:.75rem}
.service-grid h3{margin:4.5rem 0 1rem;font:400 1.7rem Georgia,serif}
.service-grid p{color:#5c5049;line-height:1.75}
.process-section{background:var(--sage-dark);color:#fbf8f1;grid-template-columns:.8fr 1.2fr;gap:8rem;display:grid}
.process-section .eyebrow{color:#f0c5b7}
.process-intro{align-self:start;position:sticky;top:4rem}
.process-list{margin:0;padding:0;list-style:none}
.process-list li{border-top:1px solid #ffffff47;grid-template-columns:70px 1fr;gap:1.5rem;padding:2rem 0;display:grid}
.process-list li:last-child{border-bottom:1px solid #ffffff47}
.process-list span{color:#f0c5b7;font-size:.75rem}
.process-list h3{margin:0 0 .7rem;font:400 2rem Georgia,serif}
.process-list p{color:#ffffffc7;margin:0;line-height:1.7}
.about-section{grid-template-columns:.75fr 1.25fr;align-items:center;gap:8rem;display:grid}
.about-mark{aspect-ratio:1;background:var(--parchment);width:100%;max-width:420px;color:var(--terracotta);border-radius:50% 50% 45% 55%;place-items:center;font:400 10rem Georgia,serif;display:grid}
.about-section>div:last-child>p:not(.eyebrow){max-width:700px;font-size:1.08rem;line-height:1.8}
.contact-section{background:var(--terracotta);color:#fff;text-align:center;padding:9rem 2rem}
.contact-section .eyebrow{color:#f6d5c9}
.contact-section h2{max-width:950px;margin:0 auto}
.contact-section>p:not(.eyebrow){max-width:650px;margin:2rem auto;line-height:1.7}
.button.light{background:var(--cream);color:var(--espresso);margin-top:1rem}
footer{grid-template-columns:1fr 1fr auto;align-items:center;gap:2rem;padding:4rem max(3.5rem,50vw - 700px);display:grid}
footer p{color:#665a53}
footer div{gap:1.5rem;display:flex}
footer small{border-top:1px solid var(--line);color:#756960;grid-column:1/-1;padding-top:2rem}
.projects-hero{width:min(100% - 7rem,1180px);margin:0 auto;padding:7rem 0 8rem}
.projects-hero h1{letter-spacing:-.06em;max-width:980px;margin:0;font:400 clamp(3.7rem,7vw,7rem)/.96 Georgia,serif}
.projects-hero>p:last-child{max-width:670px;margin:2.3rem 0 0 auto;font-size:1.15rem;line-height:1.75}
.projects-list{background:var(--paper);padding:1rem max(3.5rem,50vw - 700px) 9rem}
.project-case{border-bottom:1px solid var(--line);grid-template-columns:1.18fr .82fr;align-items:center;gap:6rem;padding:8rem 0;display:grid}
.project-case:nth-child(2n) .case-screen{order:2}
.project-case:nth-child(2n) .case-copy{order:1}
.case-screen{border:1px solid var(--line);background:#fff;height:620px;display:block;position:relative;overflow:hidden;box-shadow:0 25px 65px #2d211c29}
.case-screen img{object-fit:cover;object-position:top;width:100%;height:calc(100% - 36px);transition:transform .5s;display:block}
.case-screen:hover img{transform:scale(1.015)}
.screen-link{color:#fff;background:var(--espresso);padding:.8rem 1rem;font-size:.82rem;position:absolute;bottom:1rem;right:1rem}
.case-copy h2{letter-spacing:-.045em;margin:1.2rem 0 1.7rem;font:400 clamp(2.7rem,4vw,4.5rem)/1 Georgia,serif}
.case-copy>p:not(.project-number){font-size:1.05rem;line-height:1.8}
.case-copy ul{border-top:1px solid var(--line);margin:2rem 0;padding:0;list-style:none}
.case-copy li{border-bottom:1px solid var(--line);padding:.9rem 0}
.text-link{color:var(--terracotta-dark);align-items:center;gap:.75rem;font-weight:700;display:inline-flex}
.projects-contact{padding-top:8rem;padding-bottom:8rem}
@media (width<=1050px){.site-header,.hero,.trust-strip{width:min(100% - 3rem,1400px)}
.hero{grid-template-columns:1fr;padding-top:5rem}
.hero-copy{text-align:center}
.hero h1,.hero-intro{margin-left:auto;margin-right:auto}
.hero-actions{justify-content:center}
.hero-art{width:min(100%,760px);margin:0 auto}
.featured-project,.section-heading,.process-section,.about-section{grid-template-columns:1fr;gap:4rem}
.project-case{grid-template-columns:1fr;gap:3rem}
.project-case:nth-child(2n) .case-screen,.project-case:nth-child(2n) .case-copy{order:initial}
.service-grid{grid-template-columns:repeat(2,1fr)}
.service-grid article:nth-child(2){border-right:0}
.process-intro{position:static}
}
@media (width<=760px){.site-header{height:78px}
.wordmark{font-size:1.9rem}
.wordmark-large{font-size:2.35rem}
.header-logo{width:210px}
.projects-nav{gap:1rem;font-size:.8rem;display:flex}
.projects-nav a:not(.nav-cta){display:none}
.projects-nav .nav-cta{padding:.75rem 1rem}
.menu-button{background:0 0;border:0;flex-direction:column;gap:6px;padding:10px;display:flex}
.menu-button span{background:var(--espresso);width:25px;height:1px}
.nav{background:var(--paper);flex-direction:column;align-items:stretch;padding:2rem;display:none;position:absolute;top:72px;left:0;right:0;box-shadow:0 20px 40px #2d211c1f}
.nav.open{display:flex}
.nav-cta{text-align:center;margin-left:0}
.hero{min-height:auto;padding:4rem 0}
.hero h1{font-size:clamp(3rem,13vw,4.4rem)}
.hero-art{height:430px}
.card-back{width:78%}
.card-front{width:90%;left:0}
.mini-photo{min-height:180px;padding:1.5rem}
.mini-photo>span,.mini-photo>div{font-size:1.25rem}
.trust-strip{grid-template-columns:1fr}
.trust-strip div{border-right:0;border-bottom:1px solid var(--line);padding:1.5rem 0}
.statement{width:calc(100% - 3rem);padding:6rem 0}
.work-section,.services-section,.process-section,.about-section{padding:6rem 1.5rem}
.project-visual{padding:3rem 1.2rem}
.website-collage{min-height:410px;padding:1rem}
.collage-main{width:64%;height:70%;left:18%}
.collage-left,.collage-right{width:47%;height:52%}
.vending-page{min-height:270px;padding:1.8rem}
.vending-page p{font-size:2.2rem}
.service-grid{grid-template-columns:1fr}
.service-grid article{border-right:0;border-bottom:1px solid var(--line);padding-left:0}
.about-mark{max-width:270px}
footer{grid-template-columns:1fr;padding:3rem 1.5rem}
footer div{flex-wrap:wrap}
.projects-hero{width:calc(100% - 3rem);padding:5rem 0}
.projects-hero h1{font-size:clamp(3.1rem,14vw,4.6rem)}
.projects-list{padding:0 1.5rem 6rem}
.project-case{padding:5rem 0}
.case-screen{height:470px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,:before,:after{transition-duration:.01ms!important}
}
.project-accordion{border-top:1px solid var(--line);margin:2rem 0}
.project-accordion details{border-bottom:1px solid var(--line)}
.project-accordion summary{cursor:pointer;list-style:none;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;font-weight:500;display:flex}
.project-accordion summary::-webkit-details-marker{display:none}
.project-accordion summary:focus-visible{outline:2px solid var(--terracotta);outline-offset:4px}
.accordion-icon{flex:0 0 auto;width:1.1rem;height:1.1rem;position:relative}
.accordion-icon:before,.accordion-icon:after{content:"";background:var(--terracotta-dark);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:transform .2s ease}
.accordion-icon:before{width:100%;height:2px}
.accordion-icon:after{width:2px;height:100%}
.project-accordion details[open] .accordion-icon:after{transform:translate(-50%,-50%) rotate(90deg)}
.project-accordion details>p{color:#5c5049;margin:0;padding:0 2.25rem 1.25rem 0;font-size:.96rem;line-height:1.7}
