@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Montserrat:wght@400;500;600;700&family=Caveat:wght@500&display=swap');
:root{--navy:#123c52;--teal:#60a6ad;--cream:#f7f1e7;--sand:#dfc49a}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--navy);font-family:Montserrat,Arial,sans-serif}.site{max-width:760px;margin:auto;min-height:100vh}.brand{text-align:center;padding:30px 15px 13px}.brand-icon{font-size:49px;line-height:1;color:#168b9d;font-weight:bold}.brand-icon span{font-size:25px}.brand-name{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:clamp(32px,6.8vw,49px);line-height:.77;letter-spacing:-.7px;margin-top:7px}.brand-sub{display:flex;align-items:center;justify-content:center;gap:8px;color:#168b9d;letter-spacing:7px;font-weight:700;font-size:14px;margin-top:10px}.brand-sub span{width:40px;border-top:1px solid #168b9d}.hero{height:clamp(180px,34vw,290px);position:relative;overflow:hidden}.hero img{height:100%;width:100%;object-fit:cover;display:block}.hero-script{position:absolute;right:8%;top:12%;font-family:Caveat,cursive;font-size:clamp(20px,5vw,35px);line-height:.95;transform:rotate(-11deg);text-align:center;color:#123c52;text-shadow:0 1px 3px #fff8}.intro{text-align:center;padding:20px 28px 13px}.intro h1{font:600 clamp(28px,5.2vw,43px)/1.12 'Cormorant Garamond',Georgia,serif;margin:0 0 12px}.intro p{font-size:clamp(15px,2.7vw,20px);line-height:1.5;max-width:590px;margin:0 auto}.actions{display:grid;gap:11px;padding:15px 24px}.action{display:grid;grid-template-columns:36px 1fr 24px;align-items:center;min-height:66px;padding:9px 19px;border-radius:60px;text-decoration:none;font:700 clamp(15px,3.5vw,23px)/1.1 'Cormorant Garamond',Georgia,serif;letter-spacing:.2px;text-align:center;transition:transform .2s,filter .2s}.action:hover{transform:translateY(-2px);filter:brightness(1.05)}.action:focus-visible{outline:3px solid #147c8b;outline-offset:4px}.primary{background:var(--navy);color:white;border:4px solid #39312e}.secondary{background:var(--teal);color:white;border:3px solid #83b7b9}.sand{background:var(--sand);color:var(--navy);border:3px solid #e6cca5}.action-icon{font:36px Georgia,serif;font-weight:normal}.arrow{font:25px Arial,sans-serif}.travel-types{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:15px 16px 13px;text-align:center}.travel-types>div{display:flex;flex-direction:column;align-items:center;gap:6px}.type-icon{font:45px Georgia,serif;line-height:1;height:49px}.type-icon.sun{color:#e2bd85}.travel-types b{font-size:clamp(9px,1.8vw,12px);line-height:1.25}footer{background:linear-gradient(10deg,#65aab0 0%,#a4cfd0 52%,#f7f1e7 53%);padding:20px 20px 14px;text-align:center;min-height:100px}.flight{font-size:40px;letter-spacing:7px;margin-bottom:9px}footer small{font-size:10px;color:#234f5e}@media(min-width:800px){body{padding:25px 0}.site{box-shadow:0 15px 65px #123c5220;border-radius:18px;overflow:hidden}}@media(max-width:400px){.actions{padding:12px 15px}.action{padding:8px 12px;grid-template-columns:29px 1fr 20px;min-height:61px}.action-icon{font-size:27px}.travel-types{padding-left:8px;padding-right:8px}.type-icon{font-size:34px;height:38px}.intro{padding-left:16px;padding-right:16px}}

/* Brand geometry, accurate icon art and responsive footer */
.site{position:relative;background:var(--cream)}
.brand{position:relative;isolation:isolate;padding-top:45px}
.brand:before{content:"";position:absolute;inset:0 0 auto;height:86px;background:linear-gradient(100deg,#5aa7b1,#b2d8d7);clip-path:polygon(0 0,100% 0,100% 10%,0 100%);z-index:-1}
.brand-icon{height:65px;display:flex;align-items:center;justify-content:center}
.brand-icon svg{width:65px;height:59px}
.hero{height:clamp(200px,33vw,260px)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,241,231,.94) 0%,rgba(247,241,231,.8) 27%,transparent 60%);pointer-events:none}
.hero-script{left:5%;right:auto;top:20%;text-align:left;z-index:1;transform:rotate(-8deg);font-size:clamp(25px,5vw,43px);text-shadow:none;line-height:.95}
.action-icon,.type-icon{display:flex;align-items:center;justify-content:center}
.action-icon svg{width:31px;height:31px;stroke-width:2.1}
.type-icon svg{width:100%;height:100%;max-width:60px;stroke-width:2.2}
.travel-types{padding-top:20px;padding-bottom:8px}
footer{position:relative;min-height:150px;background:linear-gradient(115deg,#5ba5ad,#a9d3d5);clip-path:polygon(0 22%,100% 62%,100% 100%,0 100%);padding:35px 16px 17px;display:flex;flex-direction:column;align-items:center;justify-content:end}
.flight-path{width:min(90%,600px);height:70px;display:block;margin:0 auto 2px}
.footer-tagline{font-size:clamp(13px,2.1vw,18px);font-weight:600;color:#123c52;text-align:center;line-height:1.4}
.footer-tagline span{padding:0 5px}
@media(max-width:500px){.brand{padding-top:38px}.hero{height:220px}.hero-script{top:25%;font-size:28px}.travel-types{gap:2px;padding:16px 6px 4px}.type-icon{height:41px}.type-icon svg{max-width:42px}.travel-types b{font-size:9px}footer{min-height:132px;clip-path:polygon(0 17%,100% 44%,100% 100%,0 100%);padding:30px 8px 13px}.flight-path{height:55px}.footer-tagline{font-size:13px}}

/* Story lettering sits at the top-left of the page, not across the beach. */
.brand{position:relative;min-height:215px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:18px}
.brand .hero-script{position:absolute;left:5%;right:auto;top:35%;font-family:'Caveat','Segoe Print',cursive;font-size:clamp(23px,3.7vw,38px);line-height:.98;text-align:left;transform:rotate(-8deg);color:#123c52;z-index:2;text-shadow:none}
@media(max-width:600px){.brand{min-height:185px;padding-top:24px}.brand .hero-script{top:58%;left:4%;font-size:clamp(17px,4.1vw,24px);max-width:34%}.brand-name{font-size:clamp(29px,7vw,42px)} }

/* October 9 final revisions: story on clouds, floating plane and no tagline */
.brand{min-height:0;display:block;padding:43px 15px 14px}
.brand .hero-script{display:none}
.brand-icon svg{width:78px;height:72px}
.hero{position:relative;height:clamp(240px,39vw,310px)}
.hero img{object-position:center 36%}
.hero:after{background:linear-gradient(90deg,rgba(247,241,231,.66),rgba(247,241,231,.38) 34%,transparent 66%)}
.hero .hero-script{display:block;position:absolute;top:9%;left:5%;right:auto;z-index:3;color:#123c52;font-family:'Caveat','Segoe Print',cursive;font-size:clamp(27px,5.3vw,45px);line-height:.94;transform:rotate(-9deg);text-align:left;text-shadow:0 1px 3px rgba(255,255,255,.35)}
.travel-types{padding-bottom:10px}
footer{height:112px;min-height:112px;overflow:visible;clip-path:none;background:linear-gradient(110deg,#5da5ae,#c3e0e0);padding:0;display:block;position:relative;isolation:isolate}
footer:before{content:'';position:absolute;left:0;right:0;top:-1px;height:74px;background:var(--cream);clip-path:polygon(0 0,100% 0,100% 100%,0 1%);z-index:0}
.flight-path{position:absolute;z-index:2;width:65%;max-width:470px;height:125px;left:6%;top:-60px;overflow:visible;margin:0}
.footer-tagline{display:none}
@media(max-width:500px){.brand{padding-top:32px}.brand-icon svg{width:66px;height:63px}.hero{height:240px}.hero .hero-script{font-size:30px;top:8%;left:4%}footer{height:78px;min-height:78px}footer:before{height:55px}.flight-path{height:95px;top:-45px;width:80%;left:3%}}

.brand{padding:18px 12px 8px;min-height:0;text-align:center}
.actual-logo{display:block;width:min(60%,320px);height:auto;margin:0 auto;object-fit:contain}
@media(max-width:500px){.brand{padding:10px 10px 4px}.actual-logo{width:min(66%,260px)}}

/* Footer artwork is one continuous SVG, so the plane cannot be cut off by a clipped footer. */
.travel-footer{display:block;position:relative;height:150px;min-height:150px;padding:0;background:transparent;clip-path:none;overflow:visible;isolation:auto}
.travel-footer:before{content:none}
.footer-art{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;z-index:2}
@media(max-width:500px){.travel-footer{height:112px;min-height:112px}.footer-art{height:112px}}

/* Irregular torn-paper edges, matching the original Canva treatment */
.brand:before{height:96px;clip-path:polygon(0 0,100% 0,100% 15%,97% 18%,94% 17%,91% 21%,87% 20%,84% 25%,80% 24%,77% 29%,73% 27%,69% 34%,65% 32%,61% 39%,57% 37%,53% 45%,49% 44%,45% 51%,41% 49%,37% 58%,33% 57%,29% 65%,25% 64%,21% 73%,17% 72%,13% 81%,9% 79%,5% 90%,0 100%)}
.hero{isolation:isolate}
.hero img{clip-path:polygon(0 0,7% 1%,14% 0,22% 2%,31% 0,39% 1%,48% 0,57% 2%,67% 0,76% 1%,85% 0,93% 2%,100% 0,100% 94%,95% 95%,89% 93%,83% 96%,77% 94%,70% 97%,63% 95%,56% 98%,49% 96%,42% 99%,35% 96%,28% 98%,20% 96%,13% 98%,6% 96%,0 98%)}
.hero:after{clip-path:polygon(0 0,100% 0,100% 94%,95% 95%,89% 93%,83% 96%,77% 94%,70% 97%,63% 95%,56% 98%,49% 96%,42% 99%,35% 96%,28% 98%,20% 96%,13% 98%,6% 96%,0 98%)}

/* Stronger hand-torn edges; teal header now starts on the RIGHT. */
.brand:before{height:105px;background:linear-gradient(260deg,#5aa7b1,#b2d8d7);clip-path:polygon(0 0,100% 0,100% 100%,97% 94%,94% 97%,91% 88%,88% 92%,85% 83%,82% 86%,79% 76%,76% 80%,73% 70%,70% 73%,67% 64%,64% 67%,61% 58%,58% 61%,55% 52%,52% 55%,49% 46%,46% 50%,43% 41%,40% 45%,37% 36%,34% 40%,31% 31%,28% 34%,25% 26%,22% 29%,19% 20%,16% 24%,13% 15%,10% 18%,7% 10%,4% 13%,0 5%)}
.hero img{clip-path:polygon(0 1%,4% 0,8% 2%,12% 0,16% 2%,20% 0,24% 3%,28% 1%,32% 3%,36% 0,40% 2%,44% 0,48% 3%,52% 1%,56% 3%,60% 0,64% 2%,68% 0,72% 3%,76% 1%,80% 3%,84% 0,88% 2%,92% 0,96% 2%,100% 0,100% 96%,96% 93%,92% 97%,88% 94%,84% 98%,80% 95%,76% 99%,72% 95%,68% 98%,64% 94%,60% 98%,56% 95%,52% 99%,48% 95%,44% 98%,40% 94%,36% 98%,32% 95%,28% 99%,24% 95%,20% 98%,16% 94%,12% 98%,8% 95%,4% 99%,0 96%)}
.hero:after{clip-path:polygon(0 1%,4% 0,8% 2%,12% 0,16% 2%,20% 0,24% 3%,28% 1%,32% 3%,36% 0,40% 2%,44% 0,48% 3%,52% 1%,56% 3%,60% 0,64% 2%,68% 0,72% 3%,76% 1%,80% 3%,84% 0,88% 2%,92% 0,96% 2%,100% 0,100% 96%,96% 93%,92% 97%,88% 94%,84% 98%,80% 95%,76% 99%,72% 95%,68% 98%,64% 94%,60% 98%,56% 95%,52% 99%,48% 95%,44% 98%,40% 94%,36% 98%,32% 95%,28% 99%,24% 95%,20% 98%,16% 94%,12% 98%,8% 95%,4% 99%,0 96%)}

/* Restore clean straight edges throughout the site. */
.brand:before{clip-path:polygon(0 0,100% 0,100% 100%,0 0);height:95px}
.hero img,.hero:after{clip-path:none}
