@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600&family=Caveat:wght@400;500&display=swap');
:root{--paper:#eaf5fb;--navy:#111b37;--orange:#b64723;--blue:#7ea6bc;--line:#9db5c8;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:radial-gradient(ellipse at 20% 20%,#f4fbfd90,transparent 50%),var(--paper);color:var(--navy);font-family:var(--serif);font-size:19px;line-height:1.35}body:before{content:'';position:fixed;inset:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.25' d='M0 0h180v180H0z'/%3E%3C/svg%3E");opacity:.055;pointer-events:none;z-index:10}.wrap{width:min(1220px,88%);margin-inline:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--orange);outline-offset:6px}.skip{position:fixed;left:15px;top:-100px;z-index:30;background:var(--navy);color:white;padding:12px}.skip:focus{top:15px}.header{display:flex;align-items:center;gap:65px;padding:29px 0 27px}.brand{font-size:34px;font-weight:700;letter-spacing:4px;white-space:nowrap}.header nav{display:flex;gap:32px;align-items:center;font-size:18px;font-weight:600}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;left:0;bottom:-5px;height:1px;width:0;background:var(--orange);transition:width .2s}.header nav a:hover:after{width:100%}.micro{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:2.5px;line-height:1.9}.header-note{margin-left:auto;padding:7px 0 7px 30px;border-left:2px solid var(--orange);font-size:9px;white-space:nowrap}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center;padding-top:30px;padding-bottom:37px}.eyebrow{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:2.4px;display:flex;align-items:center;gap:19px;color:var(--orange);line-height:1.5}.eyebrow>span:first-child{display:block;background:var(--orange);width:38px;height:2px;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:clamp(95px,11.1vw,165px);line-height:.78;letter-spacing:-6px;font-weight:600;margin-top:32px;margin-bottom:25px}h2{font-size:clamp(35px,4.4vw,58px);font-weight:600;letter-spacing:-1.8px;line-height:1}h3{font-size:32px;letter-spacing:-1px;font-weight:600;line-height:1.05}.hero-sub{font-size:29px;line-height:1.2;letter-spacing:-.8px;margin:0 0 15px}.hero-copy>p{font-size:22px;line-height:1.3;max-width:535px}.button{display:inline-flex;align-items:center;gap:34px;background:var(--orange);padding:13px 26px;color:#fff7e7;font-weight:600;font-size:21px;border:1px solid #9f3d1d;box-shadow:inset 0 0 12px #e8926038;transition:transform .2s,background .2s;position:relative}.button:hover{transform:translateY(-3px);background:#9d381b}.button span{font-family:var(--sans);font-weight:400;font-size:24px;line-height:1}.hero .button{margin-top:25px}.portrait-area{position:relative;padding:8px 45px 41px 18px;max-width:530px;width:100%;justify-self:end}.stamp{padding:19px 19px 0;background:#fdfcf9;position:relative;filter:drop-shadow(0 5px 8px #477c9330);transform:rotate(1deg);transition:transform .55s;--cut:radial-gradient(circle at 6px 6px,transparent 6px,#000 6.5px);mask:var(--cut) -6px -6px/24px 24px,linear-gradient(#000 0 0) center/calc(100% - 12px) calc(100% - 12px) no-repeat;mask-composite:add}.portrait-area:hover .stamp{transform:rotate(-1deg) translateY(-5px)}.portrait{position:relative;overflow:hidden;background:#7ca1b4}.portrait img{display:block;width:100%;height:auto;image-rendering:pixelated}.lantern-glow{position:absolute;right:1%;bottom:0;width:25%;height:27%;border-radius:50%;background:radial-gradient(ellipse,#ffb94150,transparent 65%);mix-blend-mode:screen;animation:glow 3.5s ease-in-out infinite;pointer-events:none}@keyframes glow{50%{opacity:.3;transform:scale(.88)}}.stamp-caption{text-align:center;padding:17px 0 19px;font-size:10px;letter-spacing:4px}.portrait-side{position:absolute;right:0;top:35px;writing-mode:vertical-rl;color:var(--orange);border-left:1px solid var(--orange);padding-left:14px;font-size:9px;line-height:1.8}.palette{display:flex;justify-content:center;gap:12px;margin-top:22px}.palette i{width:21px;height:21px;background:#7ba3b6}.palette i:nth-child(2){background:#a8adaf}.palette i:nth-child(3){background:#d3c5b6}.palette i:nth-child(4){background:#d48a39}.palette i:nth-child(5){background:#ae4b36}.palette i:nth-child(6){background:var(--navy)}.handwritten{position:absolute;right:-38px;bottom:14px;font-family:Caveat,cursive;font-size:26px;line-height:.85;transform:rotate(-15deg);border-bottom:1px solid var(--navy);padding-bottom:13px}.hero-rule{display:flex;gap:25px;align-items:center}.hero-rule .micro{font-size:8px;letter-spacing:2.6px;white-space:nowrap}.rule{height:1px;background:var(--line);flex:1}.wander{position:relative;overflow:hidden;padding-top:10px}.wander-inner{position:relative;display:flex;align-items:center;justify-content:center;height:190px}.wander-word{font-size:clamp(80px,13.7vw,195px);letter-spacing:-8px;font-weight:600;color:#cce3f0;white-space:nowrap;line-height:1}.wander-aside{position:absolute;left:-18px;top:43px;border-left:1px solid var(--orange);padding:7px 14px;font-size:9px;color:#526f8c;letter-spacing:2px;background:#eaf5fb70}.birds{position:absolute;right:-23px;font-size:70px;transform:rotate(-35deg);color:#86b3cf}.foothills{position:absolute;bottom:0;height:48px;width:100%;fill:#b2d3e8;display:block}.section{padding-top:31px;padding-bottom:13px}.section-top{display:flex;align-items:center;gap:18px;margin-bottom:24px}.section-top .eyebrow{font-size:9px;letter-spacing:2px;white-space:nowrap}.aside-note{color:#526b88;font-size:8px;white-space:nowrap}.about-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:35px;align-items:center}.about-grid p{padding-left:30px;border-left:1px solid #afc5d3;font-size:20px;line-height:1.3}.about-grid h2{font-size:49px}.create{padding-top:35px}.create>h2{margin-bottom:24px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{position:relative}.card+.card{border-left:1px solid #afc5d3;padding-left:25px}.art-button{display:block;border:0;padding:0;width:100%;background:none;position:relative;overflow:hidden;text-align:left}.category-art{display:block;aspect-ratio:1.4;background-image:url('assets/categories.png');background-size:300% 100%;background-position:left center;transition:transform .45s}.art-visual{background-position:center}.art-handmade{background-position:right}.art-button:hover .category-art{transform:scale(1.045)}.card-number{position:absolute;left:0;top:0;z-index:2;background:var(--paper);padding:0 12px 6px 0;color:var(--orange);font-size:35px;line-height:1.15}.card-number:after{content:'';display:block;width:30px;height:1px;background:var(--orange);margin-top:2px}.art-hover{position:absolute;bottom:0;left:0;right:0;padding:14px;background:#111b37df;color:white;font:9px var(--sans);letter-spacing:2px;transform:translateY(100%);transition:transform .25s}.art-button:hover .art-hover,.art-button:focus-visible .art-hover{transform:translateY(0)}.card h3{margin-top:13px;margin-bottom:6px}.card p{font-size:20px;line-height:1.25;min-height:52px;max-width:330px}.text-link{display:inline-flex;gap:24px;align-items:center;border:0;border-bottom:1px solid var(--orange);padding:5px 0;margin-top:10px;background:transparent;font-size:19px}.text-link:hover{color:var(--orange)}.text-link span{font:17px var(--sans)}.journey{padding-top:34px;padding-bottom:35px}.journey-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:25px}.journey-grid h2{font-size:40px}.journey-grid article{display:flex;gap:13px;border-left:1px solid #afc5d3;padding-left:20px}.journey-grid h3{font-size:21px;letter-spacing:-.4px;margin-bottom:8px}.journey-grid p{font-size:17px;line-height:1.3}.journey-icon{color:var(--orange);font-size:35px;line-height:1}.contact{background:#cfe5f3 url('assets/landscape.png') center 58%/cover no-repeat;min-height:290px;position:relative}.contact-inner{padding-top:38px;padding-bottom:70px;position:relative}.contact h2{font-size:49px}.contact p{margin-top:8px;margin-bottom:17px;font-size:21px;max-width:560px}.contact .button{font-size:19px;padding:10px 21px}.contact-note{position:absolute;right:0;top:38px;padding-left:16px;border-left:1px solid var(--orange);font-size:9px}footer{display:flex;justify-content:space-between;align-items:center;padding-top:18px;padding-bottom:18px;gap:20px}footer .micro{font-size:8px;letter-spacing:2px}footer a:hover{color:var(--orange)}.mobile-only{display:none}dialog{width:min(730px,92vw);max-height:85svh;border:1px solid #8da8b8;background:var(--paper);color:var(--navy);padding:28px 35px;box-shadow:0 25px 100px #0d24375c}dialog::backdrop{background:#102b405c;backdrop-filter:blur(6px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-top .micro{color:var(--orange)}.close-dialog{border:1px solid #abc0cf;background:none;width:39px;height:39px;font:20px var(--sans)}.close-dialog:hover{background:#d7e9f3}dialog h2{font-size:49px}#dialog-intro{margin-top:13px;margin-bottom:22px;font-size:21px}.work-item{display:block;border-top:1px solid #b2c6d2;padding:19px 0}.work-item:hover h3{color:var(--orange)}.work-item .micro{font-size:9px;color:var(--orange)}.work-item h3{font-size:28px;margin:6px 0}.work-item p{font-size:19px}.work-item .visit{display:block;margin-top:9px;font:12px var(--sans);color:#536d85}.dialog-footer{border-top:1px solid #b2c6d2;padding-top:18px;font-size:18px;font-style:italic}.reveal{opacity:1}.js-motion .reveal.pending{opacity:0;transform:translateY(18px)}.js-motion .reveal{transition:opacity .7s,transform .7s}body.modal-open{overflow:hidden}@media(min-width:1500px){.hero{padding-top:45px}}@media(max-width:1100px){.header{gap:35px}.header nav{gap:22px}.header-note{display:none}.header nav{margin-left:auto}.hero{gap:20px}.hero-sub{font-size:25px}.hero-copy>p{font-size:20px}.handwritten{right:-28px;font-size:23px}.stamp-caption{letter-spacing:2px}.portrait-area{padding-left:0}.about-grid{gap:22px}.about-grid p{padding-left:20px;font-size:19px}.journey-grid{grid-template-columns:1fr 1fr}.journey-grid article:nth-child(3){border-left:0;padding-left:0}.card h3{font-size:27px}.aside-note{display:none}.wander-inner{height:150px}}@media(max-width:720px){.wrap{width:88%}.header{padding:23px 0;flex-wrap:wrap;gap:16px}.brand{font-size:29px}.header nav{gap:19px;font-size:16px;margin:0;justify-content:space-between;width:100%;border-top:1px solid #b8cddc;padding-top:13px}.hero{grid-template-columns:1fr;padding-top:22px;gap:30px;padding-bottom:25px}.eyebrow{font-size:9px;letter-spacing:1.7px;gap:13px}h1{font-size:clamp(95px,22vw,150px);letter-spacing:-4px;margin-top:30px;margin-bottom:24px}.hero-sub{font-size:28px}.hero-copy>p{font-size:21px;max-width:100%}.hero .button{margin-top:20px}.portrait-area{width:87%;justify-self:center;max-width:420px;padding:10px 27px 32px 0}.portrait-side{right:-3px;font-size:8px;top:26px;padding-left:8px}.stamp{padding:17px 17px 0}.stamp-caption{font-size:9px;padding:14px 0 17px}.handwritten{font-size:23px;right:-34px;bottom:7px}.palette{gap:10px;margin-top:17px}.palette i{width:18px;height:18px}.hero-rule .micro{font-size:7px;letter-spacing:1.4px;white-space:normal}.hero-rule{gap:12px}.wander-inner{height:110px}.wander-word{font-size:14vw;letter-spacing:-3px}.wander-aside{display:none}.foothills{height:30px}.birds{font-size:40px;right:-15px}.section{padding-top:29px}.section-top{gap:12px;margin-bottom:19px}.section-top .eyebrow{font-size:8px;letter-spacing:1.6px;gap:10px}.eyebrow>span:first-child{width:23px}.about-grid{grid-template-columns:1fr;gap:18px}.about-grid h2{font-size:44px}.about-grid h2 br{display:none}.about-grid p{border-left:0;padding:0;font-size:21px}.create>h2{font-size:43px;max-width:320px}.cards{grid-template-columns:1fr;gap:31px}.card+.card{border:0;padding:0}.card h3{font-size:33px}.card p{font-size:21px;min-height:0;max-width:none}.category-art{aspect-ratio:1.5}.text-link{margin-top:6px}.journey-grid{grid-template-columns:1fr;gap:23px}.journey-grid h2{font-size:43px}.journey-grid h2 br{display:none}.journey-grid article,.journey-grid article:nth-child(3){border-left:1px solid #afc5d3;padding-left:17px;gap:17px}.journey-grid h3{font-size:25px}.journey-grid p{font-size:20px}.journey-icon{width:30px;flex-shrink:0}.contact{min-height:330px;background-size:auto 260px;background-position:68% bottom;background-color:#dcedf7}.contact-inner{padding-top:25px;padding-bottom:150px}.contact h2{font-size:39px}.contact p{font-size:20px;max-width:270px}.contact-note{display:none}footer{flex-direction:column;align-items:flex-start;gap:10px}footer .micro{font-size:8px;letter-spacing:1.5px}dialog{padding:22px}dialog h2{font-size:39px}.dialog-top .micro{font-size:8px}.art-hover{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal.pending{opacity:1;transform:none}}
/* Equal content columns, with dividers placed inside the gaps. */
@media(min-width:721px){
 .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;align-items:stretch}
 .card{min-width:0;display:grid;grid-template-rows:auto 2.1em 1fr auto;align-items:start}
 .card+.card{border-left:0;padding-left:0}
 .card+.card:before{content:'';position:absolute;left:-25px;top:0;bottom:0;width:1px;background:#afc5d3}
 .card h3{margin:13px 0 6px;align-self:start}
 .card p{margin-top:17px;min-height:0;max-width:none}
 .card .text-link{justify-self:start;align-self:end;margin-top:15px}
}
@media(min-width:721px) and (max-width:1100px){
 .cards{gap:32px}
 .card+.card:before{left:-16px}
 .card{grid-template-rows:auto 3.2em 1fr auto}
}
@media(min-width:721px){
 .card{display:flex;flex-direction:column;align-items:stretch}
 .card h3{min-height:2.1em}
 .card p{flex:1;margin-top:0}
 .card .text-link{align-self:flex-start}
}
